denchclaw 2.5.6 → 2.5.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/apps/web/.next/standalone/apps/web/.next/BUILD_ID +1 -1
  2. package/apps/web/.next/standalone/apps/web/.next/app-build-manifest.json +226 -226
  3. package/apps/web/.next/standalone/apps/web/.next/app-path-routes-manifest.json +35 -35
  4. package/apps/web/.next/standalone/apps/web/.next/build-manifest.json +5 -5
  5. package/apps/web/.next/standalone/apps/web/.next/cache/config.json +3 -3
  6. package/apps/web/.next/standalone/apps/web/.next/prerender-manifest.json +3 -3
  7. package/apps/web/.next/standalone/apps/web/.next/react-loadable-manifest.json +3 -3
  8. package/apps/web/.next/standalone/apps/web/.next/required-server-files.json +1 -1
  9. package/apps/web/.next/standalone/apps/web/.next/routes-manifest.json +1 -1
  10. package/apps/web/.next/standalone/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  11. package/apps/web/.next/standalone/apps/web/.next/server/app/api/apps/cron/route_client-reference-manifest.js +1 -1
  12. package/apps/web/.next/standalone/apps/web/.next/server/app/api/apps/proxy/route_client-reference-manifest.js +1 -1
  13. package/apps/web/.next/standalone/apps/web/.next/server/app/api/apps/route_client-reference-manifest.js +1 -1
  14. package/apps/web/.next/standalone/apps/web/.next/server/app/api/apps/serve/[...path]/route_client-reference-manifest.js +1 -1
  15. package/apps/web/.next/standalone/apps/web/.next/server/app/api/apps/store/route_client-reference-manifest.js +1 -1
  16. package/apps/web/.next/standalone/apps/web/.next/server/app/api/apps/webhooks/[...path]/route_client-reference-manifest.js +1 -1
  17. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/active/route_client-reference-manifest.js +1 -1
  18. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/route.js +1 -1
  19. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/route_client-reference-manifest.js +1 -1
  20. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/runs/route_client-reference-manifest.js +1 -1
  21. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/stop/route.js +1 -1
  22. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/stop/route_client-reference-manifest.js +1 -1
  23. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/stream/route_client-reference-manifest.js +1 -1
  24. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/subagents/route_client-reference-manifest.js +1 -1
  25. package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/callback/route_client-reference-manifest.js +1 -1
  26. package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/connect/route_client-reference-manifest.js +1 -1
  27. package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/connections/route_client-reference-manifest.js +1 -1
  28. package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/disconnect/route_client-reference-manifest.js +1 -1
  29. package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/status/route_client-reference-manifest.js +1 -1
  30. package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/toolkits/route_client-reference-manifest.js +1 -1
  31. package/apps/web/.next/standalone/apps/web/.next/server/app/api/cron/jobs/[jobId]/runs/route_client-reference-manifest.js +1 -1
  32. package/apps/web/.next/standalone/apps/web/.next/server/app/api/cron/jobs/route_client-reference-manifest.js +1 -1
  33. package/apps/web/.next/standalone/apps/web/.next/server/app/api/cron/runs/[sessionId]/route_client-reference-manifest.js +1 -1
  34. package/apps/web/.next/standalone/apps/web/.next/server/app/api/cron/runs/search-transcript/route_client-reference-manifest.js +1 -1
  35. package/apps/web/.next/standalone/apps/web/.next/server/app/api/feedback/route.js +1 -1
  36. package/apps/web/.next/standalone/apps/web/.next/server/app/api/feedback/route_client-reference-manifest.js +1 -1
  37. package/apps/web/.next/standalone/apps/web/.next/server/app/api/gateway/channels/route_client-reference-manifest.js +1 -1
  38. package/apps/web/.next/standalone/apps/web/.next/server/app/api/gateway/chat/route_client-reference-manifest.js +1 -1
  39. package/apps/web/.next/standalone/apps/web/.next/server/app/api/gateway/chat/stream/route_client-reference-manifest.js +1 -1
  40. package/apps/web/.next/standalone/apps/web/.next/server/app/api/gateway/sessions/[id]/route_client-reference-manifest.js +1 -1
  41. package/apps/web/.next/standalone/apps/web/.next/server/app/api/gateway/sessions/route_client-reference-manifest.js +1 -1
  42. package/apps/web/.next/standalone/apps/web/.next/server/app/api/integrations/[id]/toggle/route_client-reference-manifest.js +1 -1
  43. package/apps/web/.next/standalone/apps/web/.next/server/app/api/integrations/repair/route_client-reference-manifest.js +1 -1
  44. package/apps/web/.next/standalone/apps/web/.next/server/app/api/integrations/route_client-reference-manifest.js +1 -1
  45. package/apps/web/.next/standalone/apps/web/.next/server/app/api/memories/route_client-reference-manifest.js +1 -1
  46. package/apps/web/.next/standalone/apps/web/.next/server/app/api/profiles/route_client-reference-manifest.js +1 -1
  47. package/apps/web/.next/standalone/apps/web/.next/server/app/api/profiles/switch/route_client-reference-manifest.js +1 -1
  48. package/apps/web/.next/standalone/apps/web/.next/server/app/api/sessions/[sessionId]/route_client-reference-manifest.js +1 -1
  49. package/apps/web/.next/standalone/apps/web/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
  50. package/apps/web/.next/standalone/apps/web/.next/server/app/api/settings/cloud/route_client-reference-manifest.js +1 -1
  51. package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/[slug]/content/route_client-reference-manifest.js +1 -1
  52. package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/[slug]/route_client-reference-manifest.js +1 -1
  53. package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/browse/route_client-reference-manifest.js +1 -1
  54. package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/install/route_client-reference-manifest.js +1 -1
  55. package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  56. package/apps/web/.next/standalone/apps/web/.next/server/app/api/terminal/port/route_client-reference-manifest.js +1 -1
  57. package/apps/web/.next/standalone/apps/web/.next/server/app/api/voice/speech/route_client-reference-manifest.js +1 -1
  58. package/apps/web/.next/standalone/apps/web/.next/server/app/api/voice/transcribe/route_client-reference-manifest.js +1 -1
  59. package/apps/web/.next/standalone/apps/web/.next/server/app/api/voice/voices/route_client-reference-manifest.js +1 -1
  60. package/apps/web/.next/standalone/apps/web/.next/server/app/api/web-sessions/[id]/messages/route_client-reference-manifest.js +1 -1
  61. package/apps/web/.next/standalone/apps/web/.next/server/app/api/web-sessions/[id]/route_client-reference-manifest.js +1 -1
  62. package/apps/web/.next/standalone/apps/web/.next/server/app/api/web-sessions/route.js +1 -1
  63. package/apps/web/.next/standalone/apps/web/.next/server/app/api/web-sessions/route_client-reference-manifest.js +1 -1
  64. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/assets/[...path]/route_client-reference-manifest.js +1 -1
  65. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/browse/route_client-reference-manifest.js +1 -1
  66. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/browse-file/route_client-reference-manifest.js +1 -1
  67. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/context/route_client-reference-manifest.js +1 -1
  68. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/copy/route_client-reference-manifest.js +1 -1
  69. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/db/introspect/route_client-reference-manifest.js +1 -1
  70. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/db/query/route_client-reference-manifest.js +1 -1
  71. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/delete/route.js +1 -1
  72. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/delete/route_client-reference-manifest.js +1 -1
  73. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/execute/route_client-reference-manifest.js +1 -1
  74. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/file/route_client-reference-manifest.js +1 -1
  75. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/init/route.js +1 -1
  76. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/init/route_client-reference-manifest.js +1 -1
  77. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/link-preview/route_client-reference-manifest.js +1 -1
  78. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/list/route_client-reference-manifest.js +1 -1
  79. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/mkdir/route_client-reference-manifest.js +1 -1
  80. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/move/route_client-reference-manifest.js +1 -1
  81. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/actions/route_client-reference-manifest.js +1 -1
  82. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/actions/runs/route_client-reference-manifest.js +1 -1
  83. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/display-field/route_client-reference-manifest.js +1 -1
  84. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/[id]/content/route_client-reference-manifest.js +1 -1
  85. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/[id]/route_client-reference-manifest.js +1 -1
  86. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/bulk-delete/route_client-reference-manifest.js +1 -1
  87. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/options/route_client-reference-manifest.js +1 -1
  88. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/route.js +1 -1
  89. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/route_client-reference-manifest.js +1 -1
  90. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/fields/[fieldId]/enum-rename/route_client-reference-manifest.js +1 -1
  91. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/fields/[fieldId]/route_client-reference-manifest.js +1 -1
  92. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/fields/reorder/route_client-reference-manifest.js +1 -1
  93. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/fields/route_client-reference-manifest.js +1 -1
  94. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/route_client-reference-manifest.js +1 -1
  95. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/views/route_client-reference-manifest.js +1 -1
  96. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/open-file/route_client-reference-manifest.js +1 -1
  97. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/path-info/route_client-reference-manifest.js +1 -1
  98. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/query/route_client-reference-manifest.js +1 -1
  99. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/raw-file/route_client-reference-manifest.js +1 -1
  100. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/rename/route_client-reference-manifest.js +1 -1
  101. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/reports/execute/route.js +1 -1
  102. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/reports/execute/route_client-reference-manifest.js +1 -1
  103. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/search-index/route.js +1 -1
  104. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/search-index/route_client-reference-manifest.js +1 -1
  105. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/suggest-files/route.js +1 -1
  106. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/suggest-files/route_client-reference-manifest.js +1 -1
  107. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/switch/route.js +1 -1
  108. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/switch/route_client-reference-manifest.js +1 -1
  109. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/thumbnail/route_client-reference-manifest.js +1 -1
  110. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/tree/route_client-reference-manifest.js +1 -1
  111. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/upload/route.js +1 -1
  112. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/upload/route_client-reference-manifest.js +1 -1
  113. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/virtual-file/route_client-reference-manifest.js +1 -1
  114. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/watch/route_client-reference-manifest.js +1 -1
  115. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/write-binary/route_client-reference-manifest.js +1 -1
  116. package/apps/web/.next/standalone/apps/web/.next/server/app/page.js +72 -77
  117. package/apps/web/.next/standalone/apps/web/.next/server/app/page_client-reference-manifest.js +1 -1
  118. package/apps/web/.next/standalone/apps/web/.next/server/app/workspace/page_client-reference-manifest.js +1 -1
  119. package/apps/web/.next/standalone/apps/web/.next/server/app-paths-manifest.json +35 -35
  120. package/apps/web/.next/standalone/apps/web/.next/server/chunks/6787.js +1 -1
  121. package/apps/web/.next/standalone/apps/web/.next/server/functions-config-manifest.json +10 -10
  122. package/apps/web/.next/standalone/apps/web/.next/server/middleware-build-manifest.js +1 -1
  123. package/apps/web/.next/standalone/apps/web/.next/server/middleware-react-loadable-manifest.js +1 -1
  124. package/apps/web/.next/standalone/apps/web/.next/server/pages/500.html +1 -1
  125. package/apps/web/.next/standalone/apps/web/.next/server/server-reference-manifest.json +1 -1
  126. package/apps/web/.next/standalone/apps/web/.next/static/chunks/1867.98d21807170adea7.js +1 -0
  127. package/apps/web/.next/{static/chunks/4995.ed294cb937a9ed32.js → standalone/apps/web/.next/static/chunks/4995.d34e4e0278ae7980.js} +1 -1
  128. package/apps/web/.next/standalone/apps/web/.next/static/chunks/5510-bf7c5c422646f52d.js +135 -0
  129. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/{layout-8408cc1d18057a51.js → layout-f178882f0e137350.js} +1 -1
  130. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/page-85db60f07f76e848.js +1 -0
  131. package/apps/web/.next/standalone/apps/web/.next/static/chunks/{webpack-d4501ef5cbbcf069.js → webpack-0b001a8fbc1a4220.js} +1 -1
  132. package/apps/web/.next/standalone/apps/web/.next/static/css/ba9b100717ee32d9.css +1 -0
  133. package/apps/web/.next/standalone/apps/web/package.json +1 -0
  134. package/apps/web/.next/standalone/apps/web/server.js +1 -1
  135. package/apps/web/.next/standalone/extensions/posthog-analytics/lib/build-env.js +1 -1
  136. package/apps/web/.next/standalone/package.json +1 -1
  137. package/apps/web/.next/static/chunks/1867.98d21807170adea7.js +1 -0
  138. package/apps/web/.next/{standalone/apps/web/.next/static/chunks/4995.ed294cb937a9ed32.js → static/chunks/4995.d34e4e0278ae7980.js} +1 -1
  139. package/apps/web/.next/static/chunks/5510-bf7c5c422646f52d.js +135 -0
  140. package/apps/web/.next/static/chunks/app/{layout-8408cc1d18057a51.js → layout-f178882f0e137350.js} +1 -1
  141. package/apps/web/.next/static/chunks/app/page-85db60f07f76e848.js +1 -0
  142. package/apps/web/.next/static/chunks/{webpack-d4501ef5cbbcf069.js → webpack-0b001a8fbc1a4220.js} +1 -1
  143. package/apps/web/.next/static/css/ba9b100717ee32d9.css +1 -0
  144. package/dist/entry.js +1 -1
  145. package/dist/{program-CtW4fcfa.js → program-Cv3zi02z.js} +164 -46
  146. package/dist/{run-main-CPnN1zoG.js → run-main-Dtg21-XR.js} +6 -2
  147. package/extensions/posthog-analytics/lib/build-env.js +1 -1
  148. package/package.json +1 -1
  149. package/apps/web/.next/standalone/apps/web/.next/static/chunks/1867.2a8d5e3394a146ae.js +0 -1
  150. package/apps/web/.next/standalone/apps/web/.next/static/chunks/9702-d646bcd7cb8fe6bf.js +0 -135
  151. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/page-db7996f5e8a55762.js +0 -1
  152. package/apps/web/.next/standalone/apps/web/.next/static/css/74b1299abb24af0e.css +0 -1
  153. package/apps/web/.next/static/chunks/1867.2a8d5e3394a146ae.js +0 -1
  154. package/apps/web/.next/static/chunks/9702-d646bcd7cb8fe6bf.js +0 -135
  155. package/apps/web/.next/static/chunks/app/page-db7996f5e8a55762.js +0 -1
  156. package/apps/web/.next/static/css/74b1299abb24af0e.css +0 -1
  157. /package/apps/web/.next/standalone/apps/web/.next/static/{30FSrPBqZ8S8tR6zw_U3U → nvU6LVl8akW-X-67Ehk_S}/_buildManifest.js +0 -0
  158. /package/apps/web/.next/standalone/apps/web/.next/static/{30FSrPBqZ8S8tR6zw_U3U → nvU6LVl8akW-X-67Ehk_S}/_ssgManifest.js +0 -0
  159. /package/apps/web/.next/static/{30FSrPBqZ8S8tR6zw_U3U → nvU6LVl8akW-X-67Ehk_S}/_buildManifest.js +0 -0
  160. /package/apps/web/.next/static/{30FSrPBqZ8S8tR6zw_U3U → nvU6LVl8akW-X-67Ehk_S}/_ssgManifest.js +0 -0
@@ -2,7 +2,7 @@ import { a as markNoticeShown, i as getOrCreateAnonymousId, o as readTelemetryCo
2
2
  import { d as hasFlag, g as resolveRequiredHomeDir, h as expandHomePrefix, i as isDaemonlessMode, m as applyCliProfileEnv, o as visibleWidth, p as hasRootVersionAlias, r as DENCHCLAW_DEFAULT_GATEWAY_PORT, s as defaultRuntime, t as isTruthyEnvValue, u as getPrimaryCommand } from "./entry.js";
3
3
  import { a as hasEmittedCliBanner, i as formatCliBannerLine, n as resolveCliName, o as isRich, s as theme, t as replaceCliName } from "./cli-name-Sz-5E3q2.js";
4
4
  import { t as VERSION } from "./version-DfFmvCFM.js";
5
- import { execFileSync, spawn } from "node:child_process";
5
+ import { execFileSync, execSync, spawn } from "node:child_process";
6
6
  import process$1 from "node:process";
7
7
  import fs, { copyFileSync, cpSync, existsSync, lstatSync, mkdirSync, openSync, readFileSync, readdirSync, readlinkSync, realpathSync, renameSync, rmSync, writeFileSync } from "node:fs";
8
8
  import os from "node:os";
@@ -17,6 +17,7 @@ import { createConnection } from "node:net";
17
17
  //#region src/infra/ports-lsof.ts
18
18
  const LSOF_CANDIDATES = process.platform === "darwin" ? ["/usr/sbin/lsof", "/usr/bin/lsof"] : ["/usr/bin/lsof", "/usr/sbin/lsof"];
19
19
  function resolveLsofCommandSync() {
20
+ if (process.platform === "win32") throw new Error("lsof is not available on Windows; use netstat-based port listing instead");
20
21
  for (const candidate of LSOF_CANDIDATES) try {
21
22
  fs.accessSync(candidate, fs.constants.X_OK);
22
23
  return candidate;
@@ -68,6 +69,7 @@ const CONFIG_DIR = resolveConfigDir();
68
69
 
69
70
  //#endregion
70
71
  //#region src/cli/ports.ts
72
+ const IS_WINDOWS$2 = process.platform === "win32";
71
73
  function parseLsofOutput(output) {
72
74
  const lines = output.split(/\r?\n/).filter(Boolean);
73
75
  const results = [];
@@ -79,7 +81,34 @@ function parseLsofOutput(output) {
79
81
  if (current.pid) results.push(current);
80
82
  return results;
81
83
  }
82
- function listPortListeners(port) {
84
+ function parseNetstatOutput(output, port) {
85
+ const seen = /* @__PURE__ */ new Set();
86
+ const results = [];
87
+ for (const line of output.split(/\r?\n/)) {
88
+ const trimmed = line.trim();
89
+ if (!trimmed.includes("LISTENING")) continue;
90
+ const columns = trimmed.split(/\s+/);
91
+ const localAddr = columns[1];
92
+ if (!localAddr) continue;
93
+ if (Number.parseInt(localAddr.slice(localAddr.lastIndexOf(":") + 1), 10) !== port) continue;
94
+ const pid = Number.parseInt(columns[columns.length - 1], 10);
95
+ if (!Number.isFinite(pid) || pid <= 0 || seen.has(pid)) continue;
96
+ seen.add(pid);
97
+ results.push({ pid });
98
+ }
99
+ return results;
100
+ }
101
+ function listPortListenersWindows(port) {
102
+ try {
103
+ return parseNetstatOutput(execSync(`netstat -ano -p TCP`, {
104
+ encoding: "utf-8",
105
+ windowsHide: true
106
+ }), port);
107
+ } catch {
108
+ return [];
109
+ }
110
+ }
111
+ function listPortListenersUnix(port) {
83
112
  try {
84
113
  return parseLsofOutput(execFileSync(resolveLsofCommandSync(), [
85
114
  "-nP",
@@ -94,6 +123,9 @@ function listPortListeners(port) {
94
123
  throw err instanceof Error ? err : new Error(String(err));
95
124
  }
96
125
  }
126
+ function listPortListeners(port) {
127
+ return IS_WINDOWS$2 ? listPortListenersWindows(port) : listPortListenersUnix(port);
128
+ }
97
129
 
98
130
  //#endregion
99
131
  //#region src/terminal/links.ts
@@ -535,12 +567,12 @@ function writeJsonFile(filePath, value) {
535
567
  ensureParentDir(filePath);
536
568
  writeFileSync(filePath, `${JSON.stringify(value, null, 2)}\n`, "utf-8");
537
569
  }
538
- function resolveCommandForPlatform$1(command) {
539
- if (process$1.platform !== "win32") return command;
540
- if (path.extname(command)) return command;
541
- const normalized = path.basename(command).toLowerCase();
542
- if (normalized === "npm" || normalized === "pnpm" || normalized === "npx" || normalized === "yarn") return `${command}.cmd`;
543
- return command;
570
+ const IS_WINDOWS$1 = process$1.platform === "win32";
571
+ function platformSpawnOptions$1() {
572
+ return {
573
+ shell: IS_WINDOWS$1,
574
+ windowsHide: IS_WINDOWS$1
575
+ };
544
576
  }
545
577
  function isProcessAlive(pid) {
546
578
  try {
@@ -551,6 +583,24 @@ function isProcessAlive(pid) {
551
583
  }
552
584
  }
553
585
  async function terminatePidWithEscalation(pid) {
586
+ if (IS_WINDOWS$1) {
587
+ try {
588
+ execSync(`taskkill /pid ${pid} /f /t`, {
589
+ stdio: "ignore",
590
+ windowsHide: true
591
+ });
592
+ } catch (error) {
593
+ if (error.code === "ESRCH") return;
594
+ try {
595
+ process$1.kill(pid);
596
+ } catch {}
597
+ }
598
+ for (let i = 0; i < 8; i += 1) {
599
+ if (!isProcessAlive(pid)) return;
600
+ await sleep$1(100);
601
+ }
602
+ return;
603
+ }
554
604
  try {
555
605
  process$1.kill(pid, "SIGTERM");
556
606
  } catch (error) {
@@ -723,6 +773,7 @@ function evaluateMajorVersionTransition(params) {
723
773
  };
724
774
  }
725
775
  function resolveProcessCwd(pid) {
776
+ if (IS_WINDOWS$1) return;
726
777
  try {
727
778
  const output = execFileSync(resolveLsofCommandSync(), [
728
779
  "-nP",
@@ -1080,6 +1131,7 @@ function startManagedWebRuntime(params) {
1080
1131
  const child = spawn(process$1.execPath, [runtimeServerPath], {
1081
1132
  cwd: path.dirname(runtimeServerPath),
1082
1133
  detached: true,
1134
+ windowsHide: true,
1083
1135
  stdio: [
1084
1136
  "ignore",
1085
1137
  outFd,
@@ -1189,7 +1241,7 @@ function resolveOpenClawCommandOrThrow() {
1189
1241
  }
1190
1242
  async function runOpenClawCommand(params) {
1191
1243
  return await new Promise((resolve, reject) => {
1192
- const child = spawn(resolveCommandForPlatform$1(params.openclawCommand), params.args, {
1244
+ const child = spawn(params.openclawCommand, params.args, {
1193
1245
  stdio: [
1194
1246
  "ignore",
1195
1247
  "pipe",
@@ -1198,7 +1250,8 @@ async function runOpenClawCommand(params) {
1198
1250
  env: params.env ? {
1199
1251
  ...process$1.env,
1200
1252
  ...params.env
1201
- } : process$1.env
1253
+ } : process$1.env,
1254
+ ...platformSpawnOptions$1()
1202
1255
  });
1203
1256
  let stdout = "";
1204
1257
  let stderr = "";
@@ -1570,12 +1623,12 @@ const BOOTSTRAP_DEVICE_PAIRING_REQUIRED_SCOPES = [
1570
1623
  "operator.write",
1571
1624
  "operator.pairing"
1572
1625
  ];
1573
- function resolveCommandForPlatform(command) {
1574
- if (process$1.platform !== "win32") return command;
1575
- if (path.extname(command)) return command;
1576
- const normalized = path.basename(command).toLowerCase();
1577
- if (normalized === "npm" || normalized === "pnpm" || normalized === "npx" || normalized === "yarn") return `${command}.cmd`;
1578
- return command;
1626
+ const IS_WINDOWS = process$1.platform === "win32";
1627
+ function platformSpawnOptions() {
1628
+ return {
1629
+ shell: IS_WINDOWS,
1630
+ windowsHide: IS_WINDOWS
1631
+ };
1579
1632
  }
1580
1633
  async function runCommandWithTimeout(argv, options) {
1581
1634
  const [command, ...args] = argv;
@@ -1590,10 +1643,11 @@ async function runCommandWithTimeout(argv, options) {
1590
1643
  "pipe"
1591
1644
  ];
1592
1645
  return await new Promise((resolve, reject) => {
1593
- const child = spawn(resolveCommandForPlatform(command), args, {
1646
+ const child = spawn(command, args, {
1594
1647
  cwd: options.cwd,
1595
1648
  env: options.env ?? process$1.env,
1596
- stdio
1649
+ stdio,
1650
+ ...platformSpawnOptions()
1597
1651
  });
1598
1652
  let stdout = "";
1599
1653
  let stderr = "";
@@ -2161,11 +2215,14 @@ async function runOpenClawWithProgress(params) {
2161
2215
  const s = spinner();
2162
2216
  s.start(params.startMessage);
2163
2217
  const result = await new Promise((resolve, reject) => {
2164
- const child = spawn(resolveCommandForPlatform(params.openclawCommand), params.args, { stdio: [
2165
- "ignore",
2166
- "pipe",
2167
- "pipe"
2168
- ] });
2218
+ const child = spawn(params.openclawCommand, params.args, {
2219
+ stdio: [
2220
+ "ignore",
2221
+ "pipe",
2222
+ "pipe"
2223
+ ],
2224
+ ...platformSpawnOptions()
2225
+ });
2169
2226
  let stdout = "";
2170
2227
  let stderr = "";
2171
2228
  let settled = false;
@@ -2534,6 +2591,17 @@ function isProjectLocalOpenClawPath(commandPath) {
2534
2591
  if (!commandPath) return false;
2535
2592
  return commandPath.replaceAll("\\", "/").includes("/node_modules/.bin/openclaw");
2536
2593
  }
2594
+ function resolveUserPrefixBinDir(prefixDir) {
2595
+ return IS_WINDOWS ? prefixDir : path.join(prefixDir, "bin");
2596
+ }
2597
+ function resolveOpenClawCommandInDir(binDir) {
2598
+ return (IS_WINDOWS ? [path.join(binDir, "openclaw.cmd"), path.join(binDir, "openclaw.exe")] : [path.join(binDir, "openclaw")]).find((c) => existsSync(c));
2599
+ }
2600
+ function extractNpmErrorHint(stderr) {
2601
+ const lower = stderr.toLowerCase();
2602
+ if (lower.includes("eacces") || lower.includes("eperm") || lower.includes("permission denied")) return IS_WINDOWS ? "Permission denied. Try running your terminal as Administrator." : "Permission denied. Try: sudo npm install -g openclaw";
2603
+ if (lower.includes("enotfound") || lower.includes("enetunreach") || lower.includes("etimedout")) return "Network error. Check your internet connection and retry.";
2604
+ }
2537
2605
  async function ensureOpenClawCliAvailable(params) {
2538
2606
  const cached = readOpenClawCliCheckCache(params.stateDir);
2539
2607
  if (cached) {
@@ -2565,6 +2633,7 @@ async function ensureOpenClawCliAvailable(params) {
2565
2633
  progress.completeStage(globalBefore.installed ? `found ${globalBefore.version ?? "installed"}` : "missing");
2566
2634
  let installed = false;
2567
2635
  let installedAt;
2636
+ let fallbackBinDir;
2568
2637
  progress.startStage("Ensuring openclaw@latest is installed globally");
2569
2638
  if (!globalBefore.installed) {
2570
2639
  const install = await runCommandWithTimeout([
@@ -2580,44 +2649,81 @@ async function ensureOpenClawCliAvailable(params) {
2580
2649
  }
2581
2650
  }).catch(() => null);
2582
2651
  if (!install || install.code !== 0) {
2583
- progress.fail("OpenClaw global install failed.");
2584
- return {
2585
- available: false,
2586
- installed: false,
2587
- version: void 0,
2588
- command: "openclaw"
2589
- };
2652
+ const globalError = install?.stderr ?? "";
2653
+ progress.output("Global install failed; trying user-prefix fallback...");
2654
+ const userPrefix = path.join(params.stateDir, "npm-global");
2655
+ mkdirSync(userPrefix, { recursive: true });
2656
+ const fallbackInstall = await runCommandWithTimeout([
2657
+ "npm",
2658
+ "install",
2659
+ "--global",
2660
+ "--prefix",
2661
+ userPrefix,
2662
+ "openclaw@latest"
2663
+ ], {
2664
+ timeoutMs: 10 * 6e4,
2665
+ env: cleanNpmGlobalEnv(),
2666
+ onOutputLine: (line) => {
2667
+ progress.output(`npm install (prefix): ${line}`);
2668
+ }
2669
+ }).catch(() => null);
2670
+ if (!fallbackInstall || fallbackInstall.code !== 0) {
2671
+ const fallbackError = fallbackInstall?.stderr ?? "";
2672
+ const combinedStderr = globalError || fallbackError;
2673
+ const errorLines = [
2674
+ "npm install -g openclaw@latest failed.",
2675
+ extractNpmErrorHint(combinedStderr),
2676
+ combinedStderr ? `npm output: ${firstNonEmptyLine$1(combinedStderr) ?? combinedStderr.slice(0, 200).trim()}` : void 0
2677
+ ].filter(Boolean).join("\n");
2678
+ progress.fail("OpenClaw install failed (global and user-prefix).");
2679
+ return {
2680
+ available: false,
2681
+ installed: false,
2682
+ version: void 0,
2683
+ command: "openclaw",
2684
+ error: errorLines
2685
+ };
2686
+ }
2687
+ fallbackBinDir = resolveUserPrefixBinDir(userPrefix);
2688
+ const currentPath = process$1.env.PATH ?? "";
2689
+ if (!currentPath.split(path.delimiter).includes(fallbackBinDir)) process$1.env.PATH = `${fallbackBinDir}${path.delimiter}${currentPath}`;
2690
+ installed = true;
2691
+ installedAt = Date.now();
2692
+ progress.completeStage("installed openclaw@latest (user-prefix fallback)");
2693
+ } else {
2694
+ installed = true;
2695
+ installedAt = Date.now();
2696
+ progress.completeStage("installed openclaw@latest");
2590
2697
  }
2591
- installed = true;
2592
- installedAt = Date.now();
2593
- progress.completeStage("installed openclaw@latest");
2594
2698
  } else progress.completeStage("already installed; skipping install");
2595
2699
  progress.startStage("Resolving global and shell OpenClaw paths");
2596
2700
  const [globalBinDir, shellCommandPath] = await Promise.all([resolveNpmGlobalBinDir((line) => {
2597
2701
  progress.output(`npm prefix: ${line}`);
2598
2702
  }), resolveShellOpenClawPath((line) => {
2599
- progress.output(`${process$1.platform === "win32" ? "where" : "which"}: ${line}`);
2703
+ progress.output(`${IS_WINDOWS ? "where" : "which"}: ${line}`);
2600
2704
  })]);
2601
2705
  progress.completeStage("path discovery complete");
2602
2706
  const globalAfter = installed ? {
2603
2707
  installed: true,
2604
2708
  version: globalBefore.version
2605
2709
  } : globalBefore;
2606
- const command = resolveGlobalOpenClawCommand(globalBinDir) ?? "openclaw";
2710
+ const fallbackCommand = fallbackBinDir ? resolveOpenClawCommandInDir(fallbackBinDir) : void 0;
2711
+ const command = resolveGlobalOpenClawCommand(globalBinDir) ?? fallbackCommand ?? "openclaw";
2607
2712
  progress.startStage("Verifying OpenClaw CLI responsiveness");
2608
2713
  const check = await runOpenClaw(command, ["--version"], 4e3, "capture", void 0, (line) => {
2609
2714
  progress.output(`openclaw --version: ${line}`);
2610
2715
  }).catch(() => null);
2611
2716
  progress.completeStage(check?.code === 0 ? "OpenClaw responded" : "OpenClaw version probe failed");
2612
2717
  const version = normalizeVersionOutput(check?.stdout || check?.stderr || globalAfter.version);
2613
- const available = Boolean(globalAfter.installed && check && check.code === 0);
2718
+ const available = Boolean((globalAfter.installed || fallbackCommand) && check && check.code === 0);
2719
+ const effectiveBinDir = globalBinDir ?? fallbackBinDir;
2614
2720
  progress.startStage("Caching OpenClaw check result");
2615
2721
  if (available) {
2616
2722
  writeOpenClawCliCheckCache(params.stateDir, {
2617
2723
  available,
2618
2724
  command,
2619
2725
  version,
2620
- globalBinDir,
2726
+ globalBinDir: effectiveBinDir,
2621
2727
  shellCommandPath,
2622
2728
  installedAt
2623
2729
  });
@@ -2629,7 +2735,7 @@ async function ensureOpenClawCliAvailable(params) {
2629
2735
  installedAt,
2630
2736
  version,
2631
2737
  command,
2632
- globalBinDir,
2738
+ globalBinDir: effectiveBinDir,
2633
2739
  shellCommandPath
2634
2740
  };
2635
2741
  }
@@ -2667,7 +2773,7 @@ function readLogTail(logPath, maxLines = 16) {
2667
2773
  }
2668
2774
  }
2669
2775
  function resolveLatestRuntimeLogPath() {
2670
- const runtimeLogDir = "/tmp/openclaw";
2776
+ const runtimeLogDir = path.join(os.tmpdir(), "openclaw");
2671
2777
  if (!existsSync(runtimeLogDir)) return;
2672
2778
  try {
2673
2779
  const files = readdirSync(runtimeLogDir).filter((name) => /^openclaw-.*\.log$/u.test(name)).toSorted((a, b) => b.localeCompare(a));
@@ -3397,9 +3503,10 @@ async function bootstrapCommand(opts, runtime = defaultRuntime) {
3397
3503
  });
3398
3504
  if (!installResult.available) throw new Error([
3399
3505
  "OpenClaw CLI is required but unavailable.",
3400
- "Install it with: npm install -g openclaw",
3401
- installResult.globalBinDir ? `Expected global binary directory: ${installResult.globalBinDir}` : ""
3402
- ].filter((line) => line.length > 0).join("\n"));
3506
+ installResult.error,
3507
+ !installResult.error ? IS_WINDOWS ? "Try running your terminal as Administrator and run: npm install -g openclaw" : "Try: sudo npm install -g openclaw" : void 0,
3508
+ installResult.globalBinDir ? `Expected global binary directory: ${installResult.globalBinDir}` : void 0
3509
+ ].filter((line) => typeof line === "string" && line.length > 0).join("\n"));
3403
3510
  const openclawCommand = installResult.command;
3404
3511
  if (await shouldRunUpdate({
3405
3512
  opts,
@@ -3516,7 +3623,7 @@ async function bootstrapCommand(opts, runtime = defaultRuntime) {
3516
3623
  onboardArgv.push("--skip-search");
3517
3624
  onboardArgv.push("--skip-skills");
3518
3625
  }
3519
- onboardArgv.push("--accept-risk", "--skip-ui");
3626
+ onboardArgv.push("--accept-risk", "--skip-ui", "--skip-channels");
3520
3627
  if (daemonless) onboardArgv.push("--skip-health");
3521
3628
  if (nonInteractive) await runOpenClawOrThrow({
3522
3629
  openclawCommand,
@@ -3692,7 +3799,8 @@ async function bootstrapCommand(opts, runtime = defaultRuntime) {
3692
3799
  runtime.log(theme.muted(`Bootstrap now uses the global binary (${openclawCommand}) to avoid repo-local drift.`));
3693
3800
  } else if (!installResult.shellCommandPath && installResult.globalBinDir) {
3694
3801
  runtime.log(theme.warn("Global OpenClaw was installed, but `openclaw` is not on shell PATH."));
3695
- runtime.log(theme.muted(`Add this to your shell profile, then open a new terminal: export PATH="${installResult.globalBinDir}:$PATH"`));
3802
+ const pathHint = IS_WINDOWS ? `To add to PATH, run in PowerShell: $env:Path = "${installResult.globalBinDir};$env:Path"` : `Add this to your shell profile, then open a new terminal: export PATH="${installResult.globalBinDir}:$PATH"`;
3803
+ runtime.log(theme.muted(pathHint));
3696
3804
  }
3697
3805
  runtime.log(theme.muted(`Workspace seed: ${describeWorkspaceSeedResult(workspaceSeed)}`));
3698
3806
  if (gatewayAutoFix?.attempted) {
@@ -4017,7 +4125,13 @@ async function openUrl(url) {
4017
4125
  ] : ["xdg-open", url];
4018
4126
  if (!cmd) return false;
4019
4127
  return new Promise((resolve) => {
4020
- const child = spawn(cmd, args, { stdio: "ignore" });
4128
+ const child = spawn(cmd, args, {
4129
+ stdio: "ignore",
4130
+ ...process$1.platform === "win32" ? {
4131
+ shell: true,
4132
+ windowsHide: true
4133
+ } : {}
4134
+ });
4021
4135
  const timer = setTimeout(() => {
4022
4136
  child.kill();
4023
4137
  resolve(false);
@@ -4052,7 +4166,11 @@ async function runOpenClawUpdateWithProgress(openclawCommand) {
4052
4166
  "pipe",
4053
4167
  "pipe"
4054
4168
  ],
4055
- env: process$1.env
4169
+ env: process$1.env,
4170
+ ...process$1.platform === "win32" ? {
4171
+ shell: true,
4172
+ windowsHide: true
4173
+ } : {}
4056
4174
  });
4057
4175
  let stdout = "";
4058
4176
  let stderr = "";
@@ -191,7 +191,11 @@ async function delegateToGlobalOpenClaw(argv) {
191
191
  ...process$1.env,
192
192
  DENCHCLAW_DELEGATED: "1",
193
193
  OPENCLAW_DELEGATED: "1"
194
- }
194
+ },
195
+ ...process$1.platform === "win32" ? {
196
+ shell: true,
197
+ windowsHide: true
198
+ } : {}
195
199
  });
196
200
  child.once("error", (error) => {
197
201
  if (error?.code === "ENOENT") {
@@ -220,7 +224,7 @@ async function runCli(argv = process$1.argv) {
220
224
  process$1.exitCode = await delegateToGlobalOpenClaw(parseArgv);
221
225
  return;
222
226
  }
223
- const { buildProgram } = await import("./program-CtW4fcfa.js");
227
+ const { buildProgram } = await import("./program-Cv3zi02z.js");
224
228
  await buildProgram().parseAsync(parseArgv);
225
229
  }
226
230
 
@@ -1,3 +1,3 @@
1
1
  export const POSTHOG_KEY = "phc_Nt8s1Ny8062TY9aKT8LWiB4nBuoHNYQXRU9MypWfQCW";
2
- export const DENCHCLAW_VERSION = "2.5.6";
2
+ export const DENCHCLAW_VERSION = "2.5.8";
3
3
  export const OPENCLAW_VERSION = "";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "denchclaw",
3
- "version": "2.5.6",
3
+ "version": "2.5.8",
4
4
  "description": "Fully Managed OpenClaw Framework for managing your CRM, Sales Automation and Outreach agents. The only local productivity tool you need.",
5
5
  "keywords": [],
6
6
  "homepage": "https://github.com/DenchHQ/DenchClaw#readme",
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[13,1867,3694,3743,4114],{14114:(e,n,a)=>{a.r(n),a.d(n,{default:()=>t});let t=[Object.freeze(JSON.parse('{"displayName":"RegExp","fileTypes":["re"],"name":"regexp","patterns":[{"include":"#regexp-expression"}],"repository":{"codetags":{"captures":{"1":{"name":"keyword.codetag.notation.python"}},"match":"\\\\b(NOTE|XXX|HACK|FIXME|BUG|TODO)\\\\b"},"fregexp-base-expression":{"patterns":[{"include":"#fregexp-quantifier"},{"include":"#fstring-formatting-braces"},{"match":"\\\\{.*?}"},{"include":"#regexp-base-common"}]},"fregexp-quantifier":{"match":"\\\\{\\\\{(\\\\d+|\\\\d+,(\\\\d+)?|,\\\\d+)}}","name":"keyword.operator.quantifier.regexp"},"fstring-formatting-braces":{"patterns":[{"captures":{"1":{"name":"constant.character.format.placeholder.other.python"},"2":{"name":"invalid.illegal.brace.python"},"3":{"name":"constant.character.format.placeholder.other.python"}},"match":"(\\\\{)(\\\\s*?)(})"},{"match":"(\\\\{\\\\{|}})","name":"constant.character.escape.python"}]},"regexp-backreference":{"captures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.begin.regexp"},"2":{"name":"entity.name.tag.named.backreference.regexp"},"3":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.end.regexp"}},"match":"(\\\\()(\\\\?P=\\\\w+(?:\\\\s+\\\\p{alnum}+)?)(\\\\))","name":"meta.backreference.named.regexp"},"regexp-backreference-number":{"captures":{"1":{"name":"entity.name.tag.backreference.regexp"}},"match":"(\\\\\\\\[1-9]\\\\d?)","name":"meta.backreference.regexp"},"regexp-base-common":{"patterns":[{"match":"\\\\.","name":"support.other.match.any.regexp"},{"match":"\\\\^","name":"support.other.match.begin.regexp"},{"match":"\\\\$","name":"support.other.match.end.regexp"},{"match":"[*+?]\\\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\|","name":"keyword.operator.disjunction.regexp"},{"include":"#regexp-escape-sequence"}]},"regexp-base-expression":{"patterns":[{"include":"#regexp-quantifier"},{"include":"#regexp-base-common"}]},"regexp-character-set":{"patterns":[{"match":"\\\\[\\\\^?](?!.*?])"},{"begin":"(\\\\[)(\\\\^)?(])?","beginCaptures":{"1":{"name":"punctuation.character.set.begin.regexp constant.other.set.regexp"},"2":{"name":"keyword.operator.negation.regexp"},"3":{"name":"constant.character.set.regexp"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.character.set.end.regexp constant.other.set.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.character.set.regexp","patterns":[{"include":"#regexp-charecter-set-escapes"},{"match":"\\\\N","name":"constant.character.set.regexp"}]}]},"regexp-charecter-set-escapes":{"patterns":[{"match":"\\\\\\\\[\\\\\\\\abfnrtv]","name":"constant.character.escape.regexp"},{"include":"#regexp-escape-special"},{"match":"\\\\\\\\([0-7]{1,3})","name":"constant.character.escape.regexp"},{"include":"#regexp-escape-character"},{"include":"#regexp-escape-unicode"},{"include":"#regexp-escape-catchall"}]},"regexp-comments":{"begin":"\\\\(\\\\?#","beginCaptures":{"0":{"name":"punctuation.comment.begin.regexp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.comment.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"comment.regexp","patterns":[{"include":"#codetags"}]},"regexp-conditional":{"begin":"(\\\\()\\\\?\\\\((\\\\w+(?:\\\\s+\\\\p{alnum}+)?|\\\\d+)\\\\)","beginCaptures":{"0":{"name":"keyword.operator.conditional.regexp"},"1":{"name":"punctuation.parenthesis.conditional.begin.regexp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#regexp-expression"}]},"regexp-escape-catchall":{"match":"\\\\\\\\(.|\\\\n)","name":"constant.character.escape.regexp"},"regexp-escape-character":{"match":"\\\\\\\\(x\\\\h{2}|0[0-7]{1,2}|[0-7]{3})","name":"constant.character.escape.regexp"},"regexp-escape-sequence":{"patterns":[{"include":"#regexp-escape-special"},{"include":"#regexp-escape-character"},{"include":"#regexp-escape-unicode"},{"include":"#regexp-backreference-number"},{"include":"#regexp-escape-catchall"}]},"regexp-escape-special":{"match":"\\\\\\\\([ABDSWZbdsw])","name":"support.other.escape.special.regexp"},"regexp-escape-unicode":{"match":"\\\\\\\\(u\\\\h{4}|U\\\\h{8})","name":"constant.character.unicode.regexp"},"regexp-expression":{"patterns":[{"include":"#regexp-base-expression"},{"include":"#regexp-character-set"},{"include":"#regexp-comments"},{"include":"#regexp-flags"},{"include":"#regexp-named-group"},{"include":"#regexp-backreference"},{"include":"#regexp-lookahead"},{"include":"#regexp-lookahead-negative"},{"include":"#regexp-lookbehind"},{"include":"#regexp-lookbehind-negative"},{"include":"#regexp-conditional"},{"include":"#regexp-parentheses-non-capturing"},{"include":"#regexp-parentheses"}]},"regexp-flags":{"match":"\\\\(\\\\?[Laimsux]+\\\\)","name":"storage.modifier.flag.regexp"},"regexp-lookahead":{"begin":"(\\\\()\\\\?=","beginCaptures":{"0":{"name":"keyword.operator.lookahead.regexp"},"1":{"name":"punctuation.parenthesis.lookahead.begin.regexp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#regexp-expression"}]},"regexp-lookahead-negative":{"begin":"(\\\\()\\\\?!","beginCaptures":{"0":{"name":"keyword.operator.lookahead.negative.regexp"},"1":{"name":"punctuation.parenthesis.lookahead.begin.regexp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#regexp-expression"}]},"regexp-lookbehind":{"begin":"(\\\\()\\\\?<=","beginCaptures":{"0":{"name":"keyword.operator.lookbehind.regexp"},"1":{"name":"punctuation.parenthesis.lookbehind.begin.regexp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#regexp-expression"}]},"regexp-lookbehind-negative":{"begin":"(\\\\()\\\\?<!","beginCaptures":{"0":{"name":"keyword.operator.lookbehind.negative.regexp"},"1":{"name":"punctuation.parenthesis.lookbehind.begin.regexp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#regexp-expression"}]},"regexp-named-group":{"begin":"(\\\\()(\\\\?P<\\\\w+(?:\\\\s+\\\\p{alnum}+)?>)","beginCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{"name":"entity.name.tag.named.group.regexp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.named.regexp","patterns":[{"include":"#regexp-expression"}]},"regexp-parentheses":{"begin":"\\\\(","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#regexp-expression"}]},"regexp-parentheses-non-capturing":{"begin":"\\\\(\\\\?:","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#regexp-expression"}]},"regexp-quantifier":{"match":"\\\\{(\\\\d+|\\\\d+,(\\\\d+)?|,\\\\d+)}","name":"keyword.operator.quantifier.regexp"}},"scopeName":"source.regexp.python","aliases":["regex"]}'))]},53743:(e,n,a)=>{a.r(n),a.d(n,{default:()=>t});let t=[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":"#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"}]},"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"}'))]},80013:(e,n,a)=>{a.r(n),a.d(n,{default:()=>i});var t=a(20934);let r=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"]}')),i=[...t.default,r]},84113:(e,n,a)=>{a.r(n),a.d(n,{default:()=>s});var t=a(28574),r=a(7451),i=a(14852),o=a(53743),p=a(89293);let c=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":"([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[: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}][^←-⇿\\\\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":"([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[: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}][^←-⇿\\\\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+(?:[_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[: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}][^←-⇿\\\\P{So}]]*(\\\\.))?([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[: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}][^←-⇿\\\\P{So}]]*)(\\\\{(?:[^{}]|\\\\{(?:[^{}]|\\\\{[^{}]*})*})*})?|\\\\s*)(?=\\\\()"}]},"keyword":{"patterns":[{"match":"\\\\b(?<![.:_])(?:function|mutable\\\\s+struct|struct|macro|quote|abstract\\\\s+type|primitive\\\\s+type|module|baremodule|where)\\\\b","name":"keyword.other.julia"},{"match":"\\\\b(?<![:_])(?:if|else|elseif|for|while|begin|let|do|try|catch|finally|return|break|continue)\\\\b","name":"keyword.control.julia"},{"match":"\\\\b(?<![:_])end\\\\b","name":"keyword.control.end.julia"},{"match":"\\\\b(?<![:_])(?:global|local|const)\\\\b","name":"keyword.storage.modifier.julia"},{"match":"\\\\b(?<![:_])export\\\\b","name":"keyword.control.export.julia"},{"match":"^public\\\\b","name":"keyword.control.public.julia"},{"match":"\\\\b(?<![:_])import\\\\b","name":"keyword.control.import.julia"},{"match":"\\\\b(?<![:_])using\\\\b","name":"keyword.control.using.julia"},{"match":"(?<=\\\\S\\\\s+)\\\\b(as)\\\\b(?=\\\\s+\\\\S)","name":"keyword.control.as.julia"},{"match":"@(\\\\.|[_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[: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}][^←-⇿\\\\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":"((?<![!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[: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}][^←-⇿\\\\P{So}]])\\\\b(?:0[Xx]\\\\h(?:_?\\\\h)*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:[0-9](?:_?[0-9])*\\\\.?(?!\\\\.)[0-9_]*|\\\\.[0-9](?:_?[0-9])*)(?:[Eef][-+]?[0-9](?:_?[0-9])*)?(?:(?:im|Inf(?:16|32|64)?|NaN(?:16|32|64)?|π|pi|ℯ)\\\\b)?|[0-9]+|Inf(?:16|32|64)?\\\\b|NaN(?:16|32|64)?\\\\b|π\\\\b|pi\\\\b|ℯ\\\\b))(\'*)"},{"match":"\\\\b(?:ARGS|C_NULL|DEPOT_PATH|ENDIAN_BOM|ENV|LOAD_PATH|PROGRAM_FILE|stdin|stdout|stderr|VERSION|devnull)\\\\b","name":"constant.global.julia"},{"match":"\\\\b(?:true|false|nothing|missing)\\\\b","name":"constant.language.julia"}]},"operator":{"patterns":[{"match":"\\\\.?(?:<--\x3e|->|--\x3e|<--|[←→↔↚-↞↠↢↣↤↦↩-↬↮↶↷↺-↽⇀⇁⇄⇆⇇⇉⇋-⇐⇒⇔⇚-⇝⇠⇢⇴⇶-⇿⟵⟶⟷⟹-⟿⤀-⤇⤌-⤑⤔-⤘⤝-⤠⥄-⥈⥊⥋⥎⥐⥒⥓⥖⥗⥚⥛⥞⥟⥢⥤⥦-⥭⥰⥷⥺⧴⬰-⭄⭇-⭌←→]|=>)","name":"keyword.operator.arrow.julia"},{"match":":=|\\\\+=|-=|\\\\*=|//=|/=|\\\\.//=|\\\\./=|\\\\.\\\\*=|\\\\\\\\=|\\\\.\\\\\\\\=|\\\\^=|\\\\.\\\\^=|%=|\\\\.%=|\xf7=|\\\\.\xf7=|\\\\|=|&=|\\\\.&=|⊻=|\\\\.⊻=|\\\\$=|<<=|>>=|>>>=|=(?!=)","name":"keyword.operator.update.julia"},{"match":"<<|>>>?|\\\\.>>>?|\\\\.<<","name":"keyword.operator.shift.julia"},{"captures":{"1":{"name":"keyword.operator.relation.types.julia"},"2":{"name":"support.type.julia"},"3":{"name":"keyword.operator.transpose.julia"}},"match":"\\\\s*([:<>]:)\\\\s*((?:Union)?\\\\([^)]*\\\\)|[$_∇[:alpha:]][!.′⁺-ₜ[:word:]]*(?:\\\\{(?:[^{}]|\\\\{(?:[^{}]|\\\\{[^{}]*})*})*}|\\".+?(?<!\\\\\\\\)\\")?)(?:\\\\.\\\\.\\\\.)?(\\\\.?\'*)"},{"match":"(\\\\.?((?<!<)<=|(?<!>)>=|[<>≤≥]|===?|≡|!=|≠|!==|[∈-∍∝∥∦∷∺∻∽∾≁-≎≐-≓≖-≟≢≣≦-⊋⊏-⊒⊜⊢⊣⊩⊬⊮⊰-⊷⋍⋐⋑⋕-⋭⋲-⋿⟂⟈⟉⟒⦷⧀⧁⧡⧣⧤⧥⩦⩧⩪-⩳⩵-⫙⫪⫫⫷-⫺]|<:|>:))","name":"keyword.operator.relation.julia"},{"match":"(?<=\\\\s)\\\\?(?=\\\\s)","name":"keyword.operator.ternary.julia"},{"match":"(?<=\\\\s):(?=\\\\s)","name":"keyword.operator.ternary.julia"},{"match":"\\\\|\\\\||&&|(?<![!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[: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}][^←-⇿\\\\P{So}]])!","name":"keyword.operator.boolean.julia"},{"match":"(?<=[]!)}′⁺-ₜ∇[:word:]]):","name":"keyword.operator.range.julia"},{"match":"\\\\|>","name":"keyword.operator.applies.julia"},{"match":"\\\\||\\\\.\\\\||&|\\\\.&|[~\xac]|\\\\.~|⊻|\\\\.⊻","name":"keyword.operator.bitwise.julia"},{"match":"\\\\.?(?:\\\\+\\\\+|--|[-*+|\xa6\xb1−∓∔∨∪∸≏⊎⊔⊕⊖⊞⊟⊻⊽⋎⋓⟇⧺⧻⨈⨢-⨮⨹⨺⩁⩂⩅⩊⩌⩏⩐⩒⩔⩖⩗⩛⩝⩡⩢⩣]|//?|[%\\\\&\\\\\\\\^\xb1\xb7\xd7\xf7·⅋↑↓⇵∓∗-∜∤∧∩≀⊍⊓⊗-⊛⊠⊡⊼⋄-⋇⋉-⋌⋏⋒⌿▷⟑⟕⟖⟗⟰⟱⤈-⤋⤒⤓⥉⥌⥍⥏⥑⥔⥕⥘⥙⥜⥝⥠⥡⥣⥥⥮⥯⦸⦼⦾⦿⧶⧷⨇⨝⨟⨰-⨸⨻⨼⨽⩀⩃⩄⩋⩍⩎⩑⩓⩕⩘⩚⩜⩞⩟⩠⫛↑↓])","name":"keyword.operator.arithmetic.julia"},{"match":"∘","name":"keyword.operator.compose.julia"},{"match":"::|(?<=\\\\s)isa(?=\\\\s)","name":"keyword.operator.isa.julia"},{"match":"(?<=\\\\s)in(?=\\\\s)","name":"keyword.operator.relation.in.julia"},{"match":"\\\\.(?=[@_\\\\p{L}])|\\\\.\\\\.+|[…⁝⋮-⋱]","name":"keyword.operator.dots.julia"},{"match":"\\\\$(?=.+)","name":"keyword.operator.interpolation.julia"},{"captures":{"2":{"name":"keyword.operator.transposed-variable.julia"}},"match":"([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[: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}][^←-⇿\\\\P{So}]]*)((\'|(\\\\.\'))*\\\\.?\')"},{"captures":{"1":{"name":"bracket.end.julia"},"2":{"name":"keyword.operator.transposed-matrix.julia"}},"match":"(])((?:\\\\.??\')*\\\\.?\')"},{"captures":{"1":{"name":"bracket.end.julia"},"2":{"name":"keyword.operator.transposed-parens.julia"}},"match":"(\\\\))((?:\\\\.??\')*\\\\.?\')"}]},"parentheses":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.bracket.julia"}},"end":"(\\\\))(\\\\.?\'*)","endCaptures":{"1":{"name":"meta.bracket.julia"},"2":{"name":"keyword.operator.transpose.julia"}},"patterns":[{"include":"#self_no_for_block"}]}]},"punctuation":{"patterns":[{"match":",","name":"punctuation.separator.comma.julia"},{"match":";","name":"punctuation.separator.semicolon.julia"}]},"self_no_for_block":{"patterns":[{"include":"#operator"},{"include":"#array"},{"include":"#string"},{"include":"#parentheses"},{"include":"#bracket"},{"include":"#function_decl"},{"include":"#function_call"},{"include":"#keyword"},{"include":"#number"},{"include":"#comment"},{"include":"#type_decl"},{"include":"#symbol"},{"include":"#punctuation"}]},"string":{"patterns":[{"begin":"(@doc)\\\\s((?:doc)?\\"\\"\\")|(doc\\"\\"\\")","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"end":"(\\"\\"\\") ?(->)?","endCaptures":{"1":{"name":"punctuation.definition.string.end.julia"},"2":{"name":"keyword.operator.arrow.julia"}},"name":"string.docstring.julia","patterns":[{"include":"#string_escaped_char"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"(i?cxx)(\\"\\"\\")","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"contentName":"meta.embedded.inline.cpp","end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}},"name":"embed.cxx.julia","patterns":[{"include":"source.cpp#root_context"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"(py)(\\"\\"\\")","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"contentName":"meta.embedded.inline.python","end":"([\\\\s\\\\w]*)(\\"\\"\\")","endCaptures":{"2":{"name":"punctuation.definition.string.end.julia"}},"name":"embed.python.julia","patterns":[{"include":"source.python"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"(js)(\\"\\"\\")","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"contentName":"meta.embedded.inline.javascript","end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}},"name":"embed.js.julia","patterns":[{"include":"source.js"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"(R)(\\"\\"\\")","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"contentName":"meta.embedded.inline.r","end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}},"name":"embed.R.julia","patterns":[{"include":"source.r"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"(raw)(\\"\\"\\")","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}},"name":"string.quoted.other.julia","patterns":[{"include":"#string_escaped_char"}]},{"begin":"(raw)(\\")","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}},"name":"string.quoted.other.julia","patterns":[{"include":"#string_escaped_char"}]},{"begin":"(sql)(\\"\\"\\")","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"contentName":"meta.embedded.inline.sql","end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}},"name":"embed.sql.julia","patterns":[{"include":"source.sql"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"var\\"\\"\\"","end":"\\"\\"\\"","name":"constant.other.symbol.julia","patterns":[{"include":"#string_escaped_char"}]},{"begin":"var\\"","end":"\\"","name":"constant.other.symbol.julia","patterns":[{"include":"#string_escaped_char"}]},{"begin":"^\\\\s?(doc)?(\\"\\"\\")\\\\s?$","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"end":"(\\"\\"\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.julia"}},"name":"string.docstring.julia","patterns":[{"include":"#string_escaped_char"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"}},"end":"\'(?!\')","endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}},"name":"string.quoted.single.julia","patterns":[{"include":"#string_escaped_char"}]},{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.multiline.begin.julia"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.multiline.end.julia"}},"name":"string.quoted.triple.double.julia","patterns":[{"include":"#string_escaped_char"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"\\"(?!\\"\\")","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}},"name":"string.quoted.double.julia","patterns":[{"include":"#string_escaped_char"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"r\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.regexp.begin.julia"}},"end":"(\\"\\"\\")([imsx]{0,4})?","endCaptures":{"1":{"name":"punctuation.definition.string.regexp.end.julia"},"2":{"name":"keyword.other.option-toggle.regexp.julia"}},"name":"string.regexp.julia","patterns":[{"include":"#string_escaped_char"}]},{"begin":"r\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.regexp.begin.julia"}},"end":"(\\")([imsx]{0,4})?","endCaptures":{"1":{"name":"punctuation.definition.string.regexp.end.julia"},"2":{"name":"keyword.other.option-toggle.regexp.julia"}},"name":"string.regexp.julia","patterns":[{"include":"#string_escaped_char"}]},{"begin":"(?<!\\")([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[: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}][^←-⇿\\\\P{So}]]*)\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"end":"(\\"\\"\\")([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[: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}][^←-⇿\\\\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":"(?<!\\")([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[: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}][^←-⇿\\\\P{So}]]*)\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"end":"(?<![^\\\\\\\\]\\\\\\\\)(\\")([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[: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}][^←-⇿\\\\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":"(?<!`)([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[: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}][^←-⇿\\\\P{So}]]*)?```","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"end":"(```)([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[: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}][^←-⇿\\\\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":"(?<!`)([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[: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}][^←-⇿\\\\P{So}]]*)?`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"end":"(?<![^\\\\\\\\]\\\\\\\\)(`)([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[: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}][^←-⇿\\\\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":"\\\\$[_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}[^←-⇿\\\\P{So}][^$\\\\P{Sc}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[: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}][^←-⇿\\\\P{So}][^$\\\\P{Sc}]]*","name":"variable.interpolation.julia"},{"begin":"\\\\$(\\\\()","beginCaptures":{"1":{"name":"meta.bracket.julia"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.bracket.julia"}},"name":"variable.interpolation.julia","patterns":[{"include":"#self_no_for_block"}]}]},"string_escaped_char":{"patterns":[{"match":"\\\\\\\\(\\\\\\\\|[0-3]\\\\d{0,2}|[4-7]\\\\d?|x\\\\h{0,2}|u\\\\h{0,4}|U\\\\h{0,8}|.)","name":"constant.character.escape.julia"}]},"symbol":{"patterns":[{"match":"(?<![]!)}′⁺-ₜ∇[:word:]]):[_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[: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}][^←-⇿\\\\P{So}]]*(?![!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[: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}][^←-⇿\\\\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+([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[: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}][^←-⇿\\\\P{So}]]*)(\\\\s*(<:)\\\\s*[_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[: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}][^←-⇿\\\\P{So}]]*(?:\\\\{.*})?)?","name":"meta.type.julia"}]}},"scopeName":"source.julia","embeddedLangs":["cpp","python","javascript","r","sql"],"aliases":["jl"]}')),s=[...t.default,...r.default,...i.default,...o.default,...p.default,c]}}]);