@kwonye/mcpx 0.1.68 → 0.1.74

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 (144) hide show
  1. package/dist/adapters/claude-desktop.d.ts +1 -0
  2. package/dist/adapters/claude-desktop.d.ts.map +1 -0
  3. package/dist/adapters/claude.d.ts +1 -0
  4. package/dist/adapters/claude.d.ts.map +1 -0
  5. package/dist/adapters/cline.d.ts +1 -0
  6. package/dist/adapters/cline.d.ts.map +1 -0
  7. package/dist/adapters/codex.d.ts +1 -0
  8. package/dist/adapters/codex.d.ts.map +1 -0
  9. package/dist/adapters/cursor.d.ts +1 -0
  10. package/dist/adapters/cursor.d.ts.map +1 -0
  11. package/dist/adapters/index.d.ts +1 -0
  12. package/dist/adapters/index.d.ts.map +1 -0
  13. package/dist/adapters/kiro.d.ts +1 -0
  14. package/dist/adapters/kiro.d.ts.map +1 -0
  15. package/dist/adapters/opencode.d.ts +1 -0
  16. package/dist/adapters/opencode.d.ts.map +1 -0
  17. package/dist/adapters/qwen.d.ts +1 -0
  18. package/dist/adapters/qwen.d.ts.map +1 -0
  19. package/dist/adapters/utils/index.d.ts +1 -0
  20. package/dist/adapters/utils/index.d.ts.map +1 -0
  21. package/dist/adapters/vscode.d.ts +1 -0
  22. package/dist/adapters/vscode.d.ts.map +1 -0
  23. package/dist/cli-33pamqwn.js +3292 -0
  24. package/dist/cli-ezvj44tr.js +3292 -0
  25. package/dist/cli-q8de7zb0.js +12 -0
  26. package/dist/cli.d.ts +1 -0
  27. package/dist/cli.d.ts.map +1 -0
  28. package/dist/cli.js +1880 -1131
  29. package/dist/compat/claude.d.ts +1 -0
  30. package/dist/compat/claude.d.ts.map +1 -0
  31. package/dist/compat/codex.d.ts +1 -0
  32. package/dist/compat/codex.d.ts.map +1 -0
  33. package/dist/compat/index.d.ts +1 -0
  34. package/dist/compat/index.d.ts.map +1 -0
  35. package/dist/compat/qwen.d.ts +1 -0
  36. package/dist/compat/qwen.d.ts.map +1 -0
  37. package/dist/compat/unsupported.d.ts +1 -0
  38. package/dist/compat/unsupported.d.ts.map +1 -0
  39. package/dist/compat/vscode.d.ts +1 -0
  40. package/dist/compat/vscode.d.ts.map +1 -0
  41. package/dist/core/auth-probe.d.ts +1 -0
  42. package/dist/core/auth-probe.d.ts.map +1 -0
  43. package/dist/core/config.d.ts +1 -0
  44. package/dist/core/config.d.ts.map +1 -0
  45. package/dist/core/daemon.d.ts +1 -0
  46. package/dist/core/daemon.d.ts.map +1 -0
  47. package/dist/core/index.d.ts +1 -0
  48. package/dist/core/index.d.ts.map +1 -0
  49. package/dist/core/index.js +81 -24
  50. package/dist/core/managed-index.d.ts +1 -0
  51. package/dist/core/managed-index.d.ts.map +1 -0
  52. package/dist/core/paths.d.ts +2 -0
  53. package/dist/core/paths.d.ts.map +1 -0
  54. package/dist/core/registry.d.ts +1 -0
  55. package/dist/core/registry.d.ts.map +1 -0
  56. package/dist/core/secrets.d.ts +1 -0
  57. package/dist/core/secrets.d.ts.map +1 -0
  58. package/dist/core/server-auth.d.ts +1 -0
  59. package/dist/core/server-auth.d.ts.map +1 -0
  60. package/dist/core/status.d.ts +1 -0
  61. package/dist/core/status.d.ts.map +1 -0
  62. package/dist/core/sync.d.ts +1 -0
  63. package/dist/core/sync.d.ts.map +1 -0
  64. package/dist/core/update-manager.d.ts +1 -0
  65. package/dist/core/update-manager.d.ts.map +1 -0
  66. package/dist/core/update.d.ts +1 -0
  67. package/dist/core/update.d.ts.map +1 -0
  68. package/dist/gateway/server.d.ts +1 -0
  69. package/dist/gateway/server.d.ts.map +1 -0
  70. package/dist/types.d.ts +1 -0
  71. package/dist/types.d.ts.map +1 -0
  72. package/dist/types.js +8 -10
  73. package/dist/util/fs.d.ts +1 -0
  74. package/dist/util/fs.d.ts.map +1 -0
  75. package/dist/version.d.ts +2 -1
  76. package/dist/version.d.ts.map +1 -0
  77. package/package.json +10 -11
  78. package/dist/adapters/claude-desktop.js +0 -118
  79. package/dist/adapters/claude-desktop.js.map +0 -1
  80. package/dist/adapters/claude.js +0 -131
  81. package/dist/adapters/claude.js.map +0 -1
  82. package/dist/adapters/cline.js +0 -135
  83. package/dist/adapters/cline.js.map +0 -1
  84. package/dist/adapters/codex.js +0 -125
  85. package/dist/adapters/codex.js.map +0 -1
  86. package/dist/adapters/cursor.js +0 -125
  87. package/dist/adapters/cursor.js.map +0 -1
  88. package/dist/adapters/index.js +0 -23
  89. package/dist/adapters/index.js.map +0 -1
  90. package/dist/adapters/kiro.js +0 -120
  91. package/dist/adapters/kiro.js.map +0 -1
  92. package/dist/adapters/opencode.js +0 -122
  93. package/dist/adapters/opencode.js.map +0 -1
  94. package/dist/adapters/qwen.js +0 -117
  95. package/dist/adapters/qwen.js.map +0 -1
  96. package/dist/adapters/utils/index.js +0 -144
  97. package/dist/adapters/utils/index.js.map +0 -1
  98. package/dist/adapters/vscode.js +0 -125
  99. package/dist/adapters/vscode.js.map +0 -1
  100. package/dist/cli.js.map +0 -1
  101. package/dist/compat/claude.js +0 -252
  102. package/dist/compat/claude.js.map +0 -1
  103. package/dist/compat/codex.js +0 -179
  104. package/dist/compat/codex.js.map +0 -1
  105. package/dist/compat/index.js +0 -108
  106. package/dist/compat/index.js.map +0 -1
  107. package/dist/compat/qwen.js +0 -316
  108. package/dist/compat/qwen.js.map +0 -1
  109. package/dist/compat/unsupported.js +0 -47
  110. package/dist/compat/unsupported.js.map +0 -1
  111. package/dist/compat/vscode.js +0 -164
  112. package/dist/compat/vscode.js.map +0 -1
  113. package/dist/core/auth-probe.js +0 -54
  114. package/dist/core/auth-probe.js.map +0 -1
  115. package/dist/core/config.js +0 -76
  116. package/dist/core/config.js.map +0 -1
  117. package/dist/core/daemon.js +0 -176
  118. package/dist/core/daemon.js.map +0 -1
  119. package/dist/core/index.js.map +0 -1
  120. package/dist/core/managed-index.js +0 -22
  121. package/dist/core/managed-index.js.map +0 -1
  122. package/dist/core/paths.js +0 -55
  123. package/dist/core/paths.js.map +0 -1
  124. package/dist/core/registry.js +0 -51
  125. package/dist/core/registry.js.map +0 -1
  126. package/dist/core/secrets.js +0 -108
  127. package/dist/core/secrets.js.map +0 -1
  128. package/dist/core/server-auth.js +0 -112
  129. package/dist/core/server-auth.js.map +0 -1
  130. package/dist/core/status.js +0 -65
  131. package/dist/core/status.js.map +0 -1
  132. package/dist/core/sync.js +0 -128
  133. package/dist/core/sync.js.map +0 -1
  134. package/dist/core/update-manager.js +0 -170
  135. package/dist/core/update-manager.js.map +0 -1
  136. package/dist/core/update.js +0 -111
  137. package/dist/core/update.js.map +0 -1
  138. package/dist/gateway/server.js +0 -995
  139. package/dist/gateway/server.js.map +0 -1
  140. package/dist/types.js.map +0 -1
  141. package/dist/util/fs.js +0 -34
  142. package/dist/util/fs.js.map +0 -1
  143. package/dist/version.js +0 -2
  144. package/dist/version.js.map +0 -1
@@ -1,170 +0,0 @@
1
- import fs from "node:fs";
2
- import path from "node:path";
3
- import { execSync, spawn } from "node:child_process";
4
- import { getUpdatesDir, getUpdateLockPath, ensureDir } from "./paths.js";
5
- import { checkForUpdates, stageUpdate, clearStagedUpdate, getStagedUpdate, removeOldVersions } from "./update.js";
6
- function acquireLock() {
7
- const lockPath = getUpdateLockPath();
8
- try {
9
- ensureDir(path.dirname(lockPath));
10
- fs.writeFileSync(lockPath, `${process.pid}\n`, { flag: "wx" });
11
- return true;
12
- }
13
- catch {
14
- return false;
15
- }
16
- }
17
- function releaseLock() {
18
- const lockPath = getUpdateLockPath();
19
- try {
20
- fs.unlinkSync(lockPath);
21
- }
22
- catch {
23
- // Ignore cleanup failures
24
- }
25
- }
26
- function isUpdateInProgress() {
27
- const lockPath = getUpdateLockPath();
28
- if (!fs.existsSync(lockPath)) {
29
- return false;
30
- }
31
- try {
32
- const raw = fs.readFileSync(lockPath, "utf8").trim();
33
- const pid = Number(raw);
34
- if (!Number.isFinite(pid) || pid <= 0) {
35
- fs.unlinkSync(lockPath);
36
- return false;
37
- }
38
- process.kill(pid, 0);
39
- return true;
40
- }
41
- catch {
42
- fs.unlinkSync(lockPath);
43
- return false;
44
- }
45
- }
46
- async function downloadAndStageUpdate() {
47
- const updateStatus = await checkForUpdates();
48
- if (!updateStatus.latestVersion || !updateStatus.updateAvailable) {
49
- return { success: false, error: "No update available" };
50
- }
51
- const targetVersion = updateStatus.latestVersion;
52
- const updatesDir = getUpdatesDir();
53
- const versionDir = path.join(updatesDir, `v${targetVersion}`);
54
- if (fs.existsSync(versionDir)) {
55
- const existingStaged = getStagedUpdate();
56
- if (existingStaged?.version === targetVersion) {
57
- return { success: false, error: `Version ${targetVersion} already staged` };
58
- }
59
- }
60
- try {
61
- ensureDir(versionDir);
62
- execSync(`npm pack @kwonye/mcpx@${targetVersion} --json`, {
63
- cwd: versionDir,
64
- stdio: ["pipe", "pipe", "pipe"]
65
- });
66
- const tarballPath = path.join(versionDir, `kwonye-mcpx-${targetVersion}.tgz`);
67
- if (!fs.existsSync(tarballPath)) {
68
- throw new Error("Downloaded tarball not found");
69
- }
70
- execSync(`tar -xzf ${tarballPath} --strip-components=1`, {
71
- cwd: versionDir,
72
- stdio: ["pipe", "pipe", "pipe"]
73
- });
74
- execSync("npm install --production --ignore-scripts", {
75
- cwd: versionDir,
76
- stdio: ["pipe", "pipe", "pipe"]
77
- });
78
- const cliPath = path.join(versionDir, "dist", "cli.js");
79
- if (!fs.existsSync(cliPath)) {
80
- throw new Error("CLI entry point not found in downloaded package");
81
- }
82
- stageUpdate(targetVersion, cliPath);
83
- removeOldVersions(2);
84
- return { success: true, version: targetVersion };
85
- }
86
- catch (error) {
87
- try {
88
- fs.rmSync(versionDir, { recursive: true, force: true });
89
- }
90
- catch {
91
- // Ignore cleanup failures
92
- }
93
- return {
94
- success: false,
95
- error: error instanceof Error ? error.message : String(error)
96
- };
97
- }
98
- }
99
- export function startBackgroundUpdateCheck() {
100
- if (isUpdateInProgress()) {
101
- return;
102
- }
103
- if (!acquireLock()) {
104
- return;
105
- }
106
- const child = spawn(process.execPath, [
107
- process.argv[1] ?? "",
108
- "update",
109
- "--background"
110
- ], {
111
- detached: true,
112
- stdio: ["ignore", "ignore", "ignore"],
113
- env: {
114
- ...process.env,
115
- MCPX_UPDATE_CHILD: "1"
116
- }
117
- });
118
- child.unref();
119
- setTimeout(() => {
120
- releaseLock();
121
- }, 60000);
122
- }
123
- export async function runBackgroundUpdate() {
124
- try {
125
- const result = await downloadAndStageUpdate();
126
- if (result.success && result.version) {
127
- console.error(`[update-manager] Update staged: v${result.version}. Will activate on next run.`);
128
- }
129
- else if (result.error && result.error !== "No update available") {
130
- console.error(`[update-manager] Update check failed: ${result.error}`);
131
- }
132
- }
133
- catch (error) {
134
- console.error(`[update-manager] Background update failed: ${error instanceof Error ? error.message : String(error)}`);
135
- }
136
- finally {
137
- releaseLock();
138
- }
139
- }
140
- export async function performUpdate() {
141
- if (isUpdateInProgress()) {
142
- return { success: false, message: "Another update is already in progress." };
143
- }
144
- const result = await downloadAndStageUpdate();
145
- if (result.success && result.version) {
146
- return {
147
- success: true,
148
- message: `Update to v${result.version} ready! Will activate on next run.`
149
- };
150
- }
151
- if (result.error === "No update available") {
152
- return { success: true, message: "Already on latest version." };
153
- }
154
- return {
155
- success: false,
156
- message: result.error ?? "Update failed"
157
- };
158
- }
159
- export function performRollback() {
160
- const currentStaged = getStagedUpdate();
161
- if (!currentStaged) {
162
- return { success: false, message: "No staged update to roll back." };
163
- }
164
- clearStagedUpdate();
165
- return {
166
- success: true,
167
- message: `Rolled back from v${currentStaged.version}. Using installed version.`
168
- };
169
- }
170
- //# sourceMappingURL=update-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-manager.js","sourceRoot":"","sources":["../../src/core/update-manager.ts"],"names":[],"mappings":"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"}
@@ -1,111 +0,0 @@
1
- import fs from "node:fs";
2
- import path from "node:path";
3
- import { execFileSync } from "node:child_process";
4
- import { APP_VERSION } from "../version.js";
5
- import { getUpdatesDir, getStagedVersionPath, ensureDir } from "./paths.js";
6
- export function compareVersions(a, b) {
7
- const partsA = a.split(".").map(Number);
8
- const partsB = b.split(".").map(Number);
9
- for (let i = 0; i < 3; i += 1) {
10
- const numA = partsA[i] ?? 0;
11
- const numB = partsB[i] ?? 0;
12
- if (numA > numB)
13
- return 1;
14
- if (numA < numB)
15
- return -1;
16
- }
17
- return 0;
18
- }
19
- export async function checkForUpdates() {
20
- try {
21
- const output = execFileSync("npm", ["view", "@kwonye/mcpx", "version"], {
22
- encoding: "utf8",
23
- stdio: ["pipe", "pipe", "pipe"]
24
- }).trim();
25
- const latestVersion = output;
26
- const updateAvailable = compareVersions(latestVersion, APP_VERSION) > 0;
27
- return {
28
- currentVersion: APP_VERSION,
29
- latestVersion,
30
- updateAvailable
31
- };
32
- }
33
- catch (error) {
34
- return {
35
- currentVersion: APP_VERSION,
36
- latestVersion: null,
37
- updateAvailable: false,
38
- error: error instanceof Error ? error.message : String(error)
39
- };
40
- }
41
- }
42
- export function getStagedUpdate() {
43
- const stagedPath = getStagedVersionPath();
44
- if (!fs.existsSync(stagedPath)) {
45
- return null;
46
- }
47
- try {
48
- const raw = fs.readFileSync(stagedPath, "utf8");
49
- const info = JSON.parse(raw);
50
- if (!info.version || !info.cliPath) {
51
- return null;
52
- }
53
- const absoluteCliPath = path.isAbsolute(info.cliPath)
54
- ? info.cliPath
55
- : path.join(getUpdatesDir(), info.cliPath);
56
- if (!fs.existsSync(absoluteCliPath)) {
57
- return null;
58
- }
59
- return {
60
- ...info,
61
- cliPath: absoluteCliPath
62
- };
63
- }
64
- catch {
65
- return null;
66
- }
67
- }
68
- export function stageUpdate(version, cliPath) {
69
- const updatesDir = getUpdatesDir();
70
- ensureDir(updatesDir);
71
- const stagedInfo = {
72
- version,
73
- cliPath: path.isAbsolute(cliPath) ? path.relative(updatesDir, cliPath) : cliPath,
74
- stagedAt: new Date().toISOString()
75
- };
76
- fs.writeFileSync(getStagedVersionPath(), JSON.stringify(stagedInfo, null, 2), "utf8");
77
- }
78
- export function clearStagedUpdate() {
79
- const stagedPath = getStagedVersionPath();
80
- if (fs.existsSync(stagedPath)) {
81
- fs.unlinkSync(stagedPath);
82
- }
83
- }
84
- export function getStagedCliPath() {
85
- const staged = getStagedUpdate();
86
- return staged?.cliPath ?? null;
87
- }
88
- export function removeOldVersions(keepCount = 2) {
89
- const updatesDir = getUpdatesDir();
90
- if (!fs.existsSync(updatesDir)) {
91
- return;
92
- }
93
- const entries = fs.readdirSync(updatesDir, { withFileTypes: true });
94
- const versionDirs = entries
95
- .filter((entry) => entry.isDirectory() && entry.name.startsWith("v"))
96
- .map((entry) => entry.name)
97
- .sort((a, b) => compareVersions(b.slice(1), a.slice(1)));
98
- if (versionDirs.length <= keepCount) {
99
- return;
100
- }
101
- for (const oldVersion of versionDirs.slice(keepCount)) {
102
- const oldPath = path.join(updatesDir, oldVersion);
103
- try {
104
- fs.rmSync(oldPath, { recursive: true, force: true });
105
- }
106
- catch {
107
- // Ignore cleanup failures
108
- }
109
- }
110
- }
111
- //# sourceMappingURL=update.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/core/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAe5E,MAAM,UAAU,eAAe,CAAC,CAAS,EAAE,CAAS;IAClD,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAExC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,IAAI,GAAG,IAAI;YAAE,OAAO,CAAC,CAAC;QAC1B,IAAI,IAAI,GAAG,IAAI;YAAE,OAAO,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE;YACtE,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEV,MAAM,aAAa,GAAG,MAAM,CAAC;QAC7B,MAAM,eAAe,GAAG,eAAe,CAAC,aAAa,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;QAExE,OAAO;YACL,cAAc,EAAE,WAAW;YAC3B,aAAa;YACb,eAAe;SAChB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,cAAc,EAAE,WAAW;YAC3B,aAAa,EAAE,IAAI;YACnB,eAAe,EAAE,KAAK;YACtB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,UAAU,GAAG,oBAAoB,EAAE,CAAC;IAC1C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAqB,CAAC;QAEjD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;YACnD,CAAC,CAAC,IAAI,CAAC,OAAO;YACd,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAE7C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,GAAG,IAAI;YACP,OAAO,EAAE,eAAe;SACzB,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAe,EAAE,OAAe;IAC1D,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,SAAS,CAAC,UAAU,CAAC,CAAC;IAEtB,MAAM,UAAU,GAAqB;QACnC,OAAO;QACP,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;QAChF,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACnC,CAAC;IAEF,EAAE,CAAC,aAAa,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,MAAM,UAAU,GAAG,oBAAoB,EAAE,CAAC;IAC1C,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,OAAO,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAAS,GAAG,CAAC;IAC7C,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,OAAO;SACxB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SACpE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;SAC1B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3D,IAAI,WAAW,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;QACpC,OAAO;IACT,CAAC;IAED,KAAK,MAAM,UAAU,IAAI,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC;YACH,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,0BAA0B;QAC5B,CAAC;IACH,CAAC;AACH,CAAC"}