@lesliechan721/aw-plugin-core 0.1.0-beta.2 → 0.1.0-beta.20

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 (43) hide show
  1. package/dist/aw-capabilities.d.ts +27 -0
  2. package/dist/aw-capabilities.js +107 -0
  3. package/dist/aw-capabilities.js.map +1 -0
  4. package/dist/catalog-workspace-resolution.d.ts +3 -0
  5. package/dist/catalog-workspace-resolution.js +34 -0
  6. package/dist/catalog-workspace-resolution.js.map +1 -0
  7. package/dist/generated/plugin-manifest-v3.d.ts +675 -0
  8. package/dist/generated/{plugin-manifest-v1.js → plugin-manifest-v3.js} +1 -1
  9. package/dist/generated/plugin-manifest-v3.js.map +1 -0
  10. package/dist/index.d.ts +2 -2
  11. package/dist/index.js +1 -1
  12. package/dist/index.js.map +1 -1
  13. package/dist/manifest-contract.d.ts +3 -6
  14. package/dist/manifest-contract.js +209 -406
  15. package/dist/manifest-contract.js.map +1 -1
  16. package/dist/manifest-type-contract.d.ts +2 -2
  17. package/dist/manifest.d.ts +10 -8
  18. package/dist/manifest.js +11 -7
  19. package/dist/manifest.js.map +1 -1
  20. package/dist/plugin-authoring-capabilities.d.ts +21 -0
  21. package/dist/plugin-authoring-capabilities.js +187 -0
  22. package/dist/plugin-authoring-capabilities.js.map +1 -0
  23. package/dist/plugin-config.d.ts +13 -0
  24. package/dist/plugin-config.js +645 -0
  25. package/dist/plugin-config.js.map +1 -0
  26. package/dist/plugin-requirements.d.ts +34 -0
  27. package/dist/plugin-requirements.js +249 -0
  28. package/dist/plugin-requirements.js.map +1 -0
  29. package/dist/plugin-script-contract.d.ts +10 -12
  30. package/dist/plugin-script-contract.js +34 -64
  31. package/dist/plugin-script-contract.js.map +1 -1
  32. package/dist/types.d.ts +142 -62
  33. package/dist/workspace.d.ts +54 -29
  34. package/dist/workspace.js +497 -269
  35. package/dist/workspace.js.map +1 -1
  36. package/package.json +8 -4
  37. package/schemas/plugin-manifest-v3.json +590 -0
  38. package/dist/generated/plugin-manifest-v1.d.ts +0 -368
  39. package/dist/generated/plugin-manifest-v1.js.map +0 -1
  40. package/dist/plugin-release.d.ts +0 -30
  41. package/dist/plugin-release.js +0 -187
  42. package/dist/plugin-release.js.map +0 -1
  43. package/schemas/plugin-manifest-v1.json +0 -329
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-config.js","sourceRoot":"","sources":["../src/plugin-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { type AwCapabilityId } from './aw-capabilities.js';
2
+ import type { NormalizedPluginManifest, PluginManifestSource } from './types.js';
3
+ export interface PluginRequirementObservation {
4
+ code: 'aw-command-detected' | 'aw-command-unmapped' | 'aw-command-dynamic';
5
+ blocking: false;
6
+ path: string;
7
+ provenance: 'shell-fence' | 'manifest-executable';
8
+ command?: string;
9
+ capability?: AwCapabilityId;
10
+ message: string;
11
+ }
12
+ export interface PluginRequirementsResolution {
13
+ schemaVersion: 1;
14
+ declared: AwCapabilityId[];
15
+ derived: AwCapabilityId[];
16
+ detected: AwCapabilityId[];
17
+ effective: AwCapabilityId[];
18
+ capabilitySetDigest: string;
19
+ unsupportedByCurrentAw: AwCapabilityId[];
20
+ observations: PluginRequirementObservation[];
21
+ }
22
+ export declare function deriveAwCapabilitiesFromManifest(manifest: PluginManifestSource | NormalizedPluginManifest): AwCapabilityId[];
23
+ export declare function scanPluginAwCliRequirements(options: {
24
+ pluginRoot: string;
25
+ manifest: PluginManifestSource | NormalizedPluginManifest;
26
+ }): Promise<{
27
+ detected: AwCapabilityId[];
28
+ observations: PluginRequirementObservation[];
29
+ }>;
30
+ export declare function resolvePluginRequirements(options: {
31
+ pluginRoot: string;
32
+ manifest: PluginManifestSource | NormalizedPluginManifest;
33
+ implementedCapabilities: readonly string[];
34
+ }): Promise<PluginRequirementsResolution>;
@@ -0,0 +1,249 @@
1
+ import path from 'node:path';
2
+ import fs from 'fs-extra';
3
+ import { computeAwCapabilitySetDigest, normalizeAwCapabilities, } from './aw-capabilities.js';
4
+ import { resolvePlatformHookDefinitions } from './hooks-contract.js';
5
+ import { resolveSupportedPlatforms } from './platform-support.js';
6
+ function hasRuntimeImports(manifest) {
7
+ return (manifest.buildConfig?.runtimeExports?.length ?? 0) > 0
8
+ || (manifest.buildConfig?.buildImports?.length ?? 0) > 0
9
+ || (manifest.buildConfig?.skillRuntimeFiles ?? []).some((entry) => entry.import !== undefined)
10
+ || (manifest.artifacts?.targets ?? []).some((target) => (target.runtimeImports?.length ?? 0) > 0);
11
+ }
12
+ export function deriveAwCapabilitiesFromManifest(manifest) {
13
+ const capabilities = [];
14
+ if (manifest.schemaVersion === 3)
15
+ capabilities.push('aw.plugin-manifest.v3');
16
+ if (manifest.skills)
17
+ capabilities.push('aw.plugin-skills.v1');
18
+ if (manifest.buildConfig)
19
+ capabilities.push('aw.plugin-build-config.v1');
20
+ if (manifest.config)
21
+ capabilities.push('aw.plugin-config.v2');
22
+ if (manifest.scripts?.preApply)
23
+ capabilities.push('aw.plugin-pre-apply.v1');
24
+ if ((manifest.artifacts?.targets?.length ?? 0) > 0)
25
+ capabilities.push('aw.dynamic-artifacts.v2');
26
+ if (manifest.distributions?.agentSkills)
27
+ capabilities.push('aw.portable-skills.v1');
28
+ if (hasRuntimeImports(manifest))
29
+ capabilities.push('aw.runtime-imports.v1');
30
+ return normalizeAwCapabilities(capabilities);
31
+ }
32
+ const COMMAND_CAPABILITIES = {
33
+ 'self describe': 'aw.self-check.v1',
34
+ 'self check': 'aw.self-check.v1',
35
+ 'skill validate': 'aw.skill-validation.v1',
36
+ 'skill eval': 'aw.skill-eval.v2',
37
+ 'plugin capabilities': 'aw.plugin-authoring.v1',
38
+ 'plugin init': 'aw.plugin-authoring.v1',
39
+ 'plugin add-skill': 'aw.plugin-authoring.v1',
40
+ 'plugin remove': 'aw.plugin-authoring.v1',
41
+ 'plugin validate': 'aw.plugin-authoring.v1',
42
+ 'plugin test': 'aw.plugin-authoring.v1',
43
+ 'plugin build': 'aw.plugin-authoring.v1',
44
+ 'plugin status': 'aw.plugin-authoring.v1',
45
+ 'plugin requirements': 'aw.plugin-authoring.v1',
46
+ 'catalog init': 'aw.catalog-authoring.v1',
47
+ 'catalog status': 'aw.catalog-authoring.v1',
48
+ 'catalog version': 'aw.catalog-authoring.v1',
49
+ 'catalog build': 'aw.catalog-authoring.v1',
50
+ 'catalog validate': 'aw.catalog-authoring.v1',
51
+ 'catalog publish': 'aw.catalog-publication.v1',
52
+ 'review inspect': 'aw.review-inspection.v1',
53
+ 'review publish': 'aw.review-publication.v1',
54
+ 'review digest': 'aw.review-publication.v1',
55
+ 'review verify': 'aw.review-publication.v1',
56
+ 'review list': 'aw.review-publication.v1',
57
+ 'review show': 'aw.review-publication.v1',
58
+ };
59
+ const CONFIG_CAPABILITY = 'aw.plugin-config.v2';
60
+ const CATALOG_SOURCE_CAPABILITY = 'aw.catalog-source.v2';
61
+ const CATALOG_DEV_SOURCE_CAPABILITY = 'aw.catalog-dev-source.v1';
62
+ function commandCapabilities(group, command, tail) {
63
+ if (command === undefined)
64
+ return [];
65
+ if (group === 'config')
66
+ return [CONFIG_CAPABILITY];
67
+ if (group === 'catalog' && command === 'source')
68
+ return [CATALOG_SOURCE_CAPABILITY];
69
+ if (group === 'catalog' && command === 'dev')
70
+ return [CATALOG_DEV_SOURCE_CAPABILITY];
71
+ if (group === 'catalog' && command === 'status' && /(?:^|\s)--preflight(?:\s|$)/u.test(tail)) {
72
+ return [];
73
+ }
74
+ const capability = COMMAND_CAPABILITIES[`${group} ${command}`];
75
+ return capability ? [capability] : [];
76
+ }
77
+ const AW_COMMAND_AT_START = /^aw[ \t]+([a-z][a-z0-9-]*)(?:[ \t]+([a-z][a-z0-9-]*))?(.*)$/u;
78
+ const AW_SHELL_SEGMENT = /(?:^|&&|\|\||[;|&])\s*((?:\$\s+)?aw(?:[ \t]+.*?))(?=\s*(?:&&|\|\||[;|&]|$))/gu;
79
+ const SHELL_FENCE_LANGUAGES = new Set(['bash', 'sh', 'shell', 'zsh']);
80
+ function scanAwCommand(value) {
81
+ const command = value.trim().replace(/^\$\s+/u, '');
82
+ const match = AW_COMMAND_AT_START.exec(command);
83
+ if (!match)
84
+ return { command };
85
+ return {
86
+ command,
87
+ literal: {
88
+ group: match[1],
89
+ ...(match[2] === undefined ? {} : { command: match[2] }),
90
+ tail: match[3] ?? '',
91
+ },
92
+ };
93
+ }
94
+ function shellFenceCommands(content) {
95
+ const commands = [];
96
+ let fence = null;
97
+ for (const line of content.split(/\r?\n/u)) {
98
+ const fenceMatch = /^\s{0,3}(`{3,}|~{3,})\s*([A-Za-z0-9_-]+)?\s*$/u.exec(line);
99
+ if (fenceMatch) {
100
+ const delimiter = fenceMatch[1];
101
+ if (fence === null) {
102
+ fence = {
103
+ marker: delimiter[0],
104
+ length: delimiter.length,
105
+ shell: SHELL_FENCE_LANGUAGES.has(fenceMatch[2] ?? ''),
106
+ };
107
+ continue;
108
+ }
109
+ if (delimiter[0] === fence.marker && delimiter.length >= fence.length) {
110
+ fence = null;
111
+ continue;
112
+ }
113
+ }
114
+ if (!fence?.shell)
115
+ continue;
116
+ for (const match of line.matchAll(AW_SHELL_SEGMENT)) {
117
+ commands.push(scanAwCommand(match[1] ?? ''));
118
+ }
119
+ }
120
+ return commands;
121
+ }
122
+ function skillCollectionRoot(pluginRoot, value) {
123
+ const root = path.resolve(pluginRoot, value);
124
+ const relative = path.relative(pluginRoot, root);
125
+ return relative === '' || relative === '..' || relative.startsWith(`..${path.sep}`) || path.isAbsolute(relative)
126
+ ? null
127
+ : root;
128
+ }
129
+ async function actualSkillMainFiles(pluginRoot, value) {
130
+ const collectionRoot = skillCollectionRoot(pluginRoot, value);
131
+ if (!collectionRoot)
132
+ return [];
133
+ const entries = await fs.readdir(collectionRoot, { withFileTypes: true }).catch(() => []);
134
+ const files = [];
135
+ for (const entry of entries) {
136
+ if (!entry.isDirectory() || entry.isSymbolicLink())
137
+ continue;
138
+ const skillMain = path.join(collectionRoot, entry.name, 'SKILL.md');
139
+ const stat = await fs.lstat(skillMain).catch(() => null);
140
+ if (stat?.isFile() && !stat.isSymbolicLink())
141
+ files.push(skillMain);
142
+ }
143
+ return files.sort((left, right) => left < right ? -1 : left > right ? 1 : 0);
144
+ }
145
+ function manifestExecutableCommands(manifest) {
146
+ const commands = new Set();
147
+ for (const platform of resolveSupportedPlatforms(manifest)) {
148
+ for (const hook of resolvePlatformHookDefinitions(manifest, platform)) {
149
+ const command = hook.command.trim();
150
+ if (/^(?:\$\s+)?aw(?:\s|$)/u.test(command))
151
+ commands.add(command);
152
+ }
153
+ }
154
+ return [...commands].sort().map(scanAwCommand);
155
+ }
156
+ export async function scanPluginAwCliRequirements(options) {
157
+ const observations = [];
158
+ const observationKeys = new Set();
159
+ const detected = [];
160
+ const observe = (observation) => {
161
+ const key = JSON.stringify([
162
+ observation.code,
163
+ observation.path,
164
+ observation.provenance,
165
+ observation.command,
166
+ observation.capability,
167
+ ]);
168
+ if (observationKeys.has(key))
169
+ return;
170
+ observationKeys.add(key);
171
+ observations.push(observation);
172
+ };
173
+ const record = (observationPath, provenance, scanned) => {
174
+ if (!scanned.literal) {
175
+ observe({
176
+ code: 'aw-command-dynamic',
177
+ blocking: false,
178
+ path: observationPath,
179
+ provenance,
180
+ command: scanned.command,
181
+ message: `AW CLI command cannot be mapped statically: ${scanned.command}.`,
182
+ });
183
+ return;
184
+ }
185
+ const command = [scanned.literal.group, scanned.literal.command].filter(Boolean).join(' ');
186
+ const capabilities = commandCapabilities(scanned.literal.group, scanned.literal.command, scanned.literal.tail);
187
+ if (capabilities.length === 0) {
188
+ observe({
189
+ code: 'aw-command-unmapped',
190
+ blocking: false,
191
+ path: observationPath,
192
+ provenance,
193
+ command: `aw ${command}`,
194
+ message: `AW CLI command has no capability mapping: aw ${command}.`,
195
+ });
196
+ return;
197
+ }
198
+ for (const capability of capabilities) {
199
+ detected.push(capability);
200
+ observe({
201
+ code: 'aw-command-detected',
202
+ blocking: false,
203
+ path: observationPath,
204
+ provenance,
205
+ command: `aw ${command}`,
206
+ capability,
207
+ message: `Detected AW CLI command capability ${capability}: aw ${command}.`,
208
+ });
209
+ }
210
+ };
211
+ for (const scanned of manifestExecutableCommands(options.manifest)) {
212
+ record('.agents-plugin/plugin.json', 'manifest-executable', scanned);
213
+ }
214
+ const skillCollections = new Set([
215
+ options.manifest.skills,
216
+ options.manifest.distributions?.agentSkills?.skills,
217
+ ].filter((value) => value !== undefined));
218
+ const skillFiles = (await Promise.all([...skillCollections].map((value) => actualSkillMainFiles(options.pluginRoot, value)))).flat();
219
+ for (const file of [...new Set(skillFiles)].sort()) {
220
+ const relativePath = path.relative(options.pluginRoot, file).split(path.sep).join('/');
221
+ for (const scanned of shellFenceCommands(await fs.readFile(file, 'utf8'))) {
222
+ record(relativePath, 'shell-fence', scanned);
223
+ }
224
+ }
225
+ observations.sort((left, right) => {
226
+ const leftKey = JSON.stringify([left.path, left.code, left.command, left.capability, left.provenance]);
227
+ const rightKey = JSON.stringify([right.path, right.code, right.command, right.capability, right.provenance]);
228
+ return leftKey < rightKey ? -1 : leftKey > rightKey ? 1 : 0;
229
+ });
230
+ return { detected: normalizeAwCapabilities(detected), observations };
231
+ }
232
+ export async function resolvePluginRequirements(options) {
233
+ const declared = normalizeAwCapabilities(options.manifest.requires?.aw.capabilities ?? [], 'requires.aw.capabilities');
234
+ const derived = deriveAwCapabilitiesFromManifest(options.manifest);
235
+ const scan = await scanPluginAwCliRequirements(options);
236
+ const effective = normalizeAwCapabilities([...declared, ...derived]);
237
+ const implemented = new Set(normalizeAwCapabilities(options.implementedCapabilities));
238
+ return {
239
+ schemaVersion: 1,
240
+ declared,
241
+ derived,
242
+ detected: scan.detected,
243
+ effective,
244
+ capabilitySetDigest: computeAwCapabilitySetDigest(effective),
245
+ unsupportedByCurrentAw: effective.filter((capability) => !implemented.has(capability)),
246
+ observations: scan.observations,
247
+ };
248
+ }
249
+ //# sourceMappingURL=plugin-requirements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-requirements.js","sourceRoot":"","sources":["../src/plugin-requirements.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,18 @@
1
- import type { PluginLifecycleRuntimeOs, PluginLifecycleScriptEntry, PluginLifecycleScriptRunner, PluginLifecycleScriptSelector } from './types.js';
2
- export declare const PLUGIN_LIFECYCLE_EVENTS: readonly ["install", "upgrade", "uninstall"];
3
- export declare const PLUGIN_LIFECYCLE_OS_SELECTORS: readonly ["default", "unix", "windows", "linux", "darwin", "win32"];
4
- export declare const PLUGIN_SCRIPT_RUNNERS: readonly ["node", "sh", "bash", "pwsh", "powershell", "cmd", "auto"];
5
- export declare const PLUGIN_AUTO_RUNNER_EXTENSIONS: readonly [".js", ".mjs", ".cjs", ".sh", ".ps1", ".cmd", ".bat"];
6
- export declare const PLUGIN_SCRIPT_TIMEOUT_DEFAULT_MS = 30000;
1
+ export declare const PLUGIN_SCRIPT_TIMEOUT_DEFAULT_MS = 300000;
7
2
  export declare const PLUGIN_SCRIPT_TIMEOUT_MIN_MS = 1000;
8
- export declare const PLUGIN_SCRIPT_TIMEOUT_MAX_MS = 300000;
9
- export declare function isPluginLifecycleOsSelector(value: string): boolean;
10
- export declare function isPluginScriptRunner(value: string): value is PluginLifecycleScriptRunner;
11
- export declare function getLifecycleSelectorOrder(os: PluginLifecycleRuntimeOs): readonly string[];
12
- export declare function resolveLifecycleScriptForOs(selector: PluginLifecycleScriptSelector, os: PluginLifecycleRuntimeOs): PluginLifecycleScriptEntry | undefined;
13
- export declare function inferLifecycleScriptRunnerFromPath(scriptPath: string): Exclude<PluginLifecycleScriptRunner, 'auto'> | undefined;
3
+ export declare const PLUGIN_SCRIPT_TIMEOUT_MAX_MS = 1800000;
4
+ export declare function matchesPluginTestEntryGlob(filePath: string, glob: string): boolean;
14
5
  export interface ImportSpecifierReference {
15
6
  specifier: string;
16
7
  kind: 'import' | 'export' | 'require' | 'require-resolve' | 'dynamic-import';
17
8
  dynamic?: true;
18
9
  }
10
+ interface JavaScriptToken {
11
+ kind: 'identifier' | 'string' | 'dynamic-template' | 'punctuation' | 'literal';
12
+ value: string;
13
+ canStartRegexAfter?: boolean;
14
+ }
15
+ export declare function tokenizeJavaScriptImports(source: string): JavaScriptToken[];
19
16
  export declare function scanJavaScriptImportSpecifiers(source: string): ImportSpecifierReference[];
20
17
  export interface NodeImportContractScanOptions {
21
18
  files: Record<string, string>;
@@ -31,3 +28,4 @@ export interface NodeImportContractScanResult {
31
28
  errors: string[];
32
29
  }
33
30
  export declare function scanNodeImportContract(options: NodeImportContractScanOptions): NodeImportContractScanResult;
31
+ export {};
@@ -1,74 +1,44 @@
1
1
  import { builtinModules } from 'node:module';
2
2
  import path from 'node:path';
3
- export const PLUGIN_LIFECYCLE_EVENTS = ['install', 'upgrade', 'uninstall'];
4
- export const PLUGIN_LIFECYCLE_OS_SELECTORS = [
5
- 'default',
6
- 'unix',
7
- 'windows',
8
- 'linux',
9
- 'darwin',
10
- 'win32',
11
- ];
12
- export const PLUGIN_SCRIPT_RUNNERS = [
13
- 'node',
14
- 'sh',
15
- 'bash',
16
- 'pwsh',
17
- 'powershell',
18
- 'cmd',
19
- 'auto',
20
- ];
21
- export const PLUGIN_AUTO_RUNNER_EXTENSIONS = [
22
- '.js',
23
- '.mjs',
24
- '.cjs',
25
- '.sh',
26
- '.ps1',
27
- '.cmd',
28
- '.bat',
29
- ];
30
- export const PLUGIN_SCRIPT_TIMEOUT_DEFAULT_MS = 30_000;
3
+ export const PLUGIN_SCRIPT_TIMEOUT_DEFAULT_MS = 300_000;
31
4
  export const PLUGIN_SCRIPT_TIMEOUT_MIN_MS = 1_000;
32
- export const PLUGIN_SCRIPT_TIMEOUT_MAX_MS = 300_000;
33
- export function isPluginLifecycleOsSelector(value) {
34
- return PLUGIN_LIFECYCLE_OS_SELECTORS.includes(value);
35
- }
36
- export function isPluginScriptRunner(value) {
37
- return PLUGIN_SCRIPT_RUNNERS.includes(value);
5
+ export const PLUGIN_SCRIPT_TIMEOUT_MAX_MS = 1_800_000;
6
+ function normalizePluginTestEntryPath(value) {
7
+ const withoutDotSlash = value.startsWith('./') ? value.slice(2) : value;
8
+ return withoutDotSlash.split(path.sep).join('/');
38
9
  }
39
- export function getLifecycleSelectorOrder(os) {
40
- if (os === 'linux') {
41
- return ['linux', 'unix', 'default'];
42
- }
43
- if (os === 'darwin') {
44
- return ['darwin', 'unix', 'default'];
45
- }
46
- return ['win32', 'windows', 'default'];
10
+ function escapePluginTestGlobSegment(value) {
11
+ return value.replace(/[|\\{}()[\]^$+?.]/g, '\\$&');
47
12
  }
48
- export function resolveLifecycleScriptForOs(selector, os) {
49
- for (const key of getLifecycleSelectorOrder(os)) {
50
- const entry = selector[key];
51
- if (entry) {
52
- return entry;
13
+ function compilePluginTestEntryGlob(glob) {
14
+ const normalized = normalizePluginTestEntryPath(glob);
15
+ let output = '^';
16
+ for (let index = 0; index < normalized.length; index += 1) {
17
+ const char = normalized[index];
18
+ const next = normalized[index + 1];
19
+ if (char === '*' && next === '*') {
20
+ const after = normalized[index + 2];
21
+ if (after === '/') {
22
+ output += '(?:.*\\/)?';
23
+ index += 2;
24
+ }
25
+ else {
26
+ output += '.*';
27
+ index += 1;
28
+ }
29
+ }
30
+ else if (char === '*') {
31
+ output += '[^/]*';
32
+ }
33
+ else {
34
+ output += escapePluginTestGlobSegment(char ?? '');
53
35
  }
54
36
  }
55
- return undefined;
37
+ output += '$';
38
+ return new RegExp(output);
56
39
  }
57
- export function inferLifecycleScriptRunnerFromPath(scriptPath) {
58
- const extension = path.posix.extname(scriptPath).toLowerCase();
59
- if (extension === '.js' || extension === '.mjs' || extension === '.cjs') {
60
- return 'node';
61
- }
62
- if (extension === '.sh') {
63
- return 'sh';
64
- }
65
- if (extension === '.ps1') {
66
- return 'powershell';
67
- }
68
- if (extension === '.cmd' || extension === '.bat') {
69
- return 'cmd';
70
- }
71
- return undefined;
40
+ export function matchesPluginTestEntryGlob(filePath, glob) {
41
+ return compilePluginTestEntryGlob(glob).test(normalizePluginTestEntryPath(filePath));
72
42
  }
73
43
  const REGEX_AFTER_CONTROL_HEADER = new Set([
74
44
  'catch',
@@ -127,7 +97,7 @@ function decodeJavaScriptEscape(source, index) {
127
97
  }
128
98
  return { value: escaped ?? '', next: Math.min(index + 1, source.length) };
129
99
  }
130
- function tokenizeJavaScriptImports(source) {
100
+ export function tokenizeJavaScriptImports(source) {
131
101
  const tokens = [];
132
102
  let index = 0;
133
103
  let previousToken;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-script-contract.js","sourceRoot":"","sources":["../src/plugin-script-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,IAAI,MAAM,WAAW,CAAC;AAS7B,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAU,CAAC;AACpF,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,SAAS;IACT,MAAM;IACN,SAAS;IACT,OAAO;IACP,QAAQ;IACR,OAAO;CACC,CAAC;AACX,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,MAAM;IACN,IAAI;IACJ,MAAM;IACN,MAAM;IACN,YAAY;IACZ,KAAK;IACL,MAAM;CACE,CAAC;AAEX,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;CACE,CAAC;AAEX,MAAM,CAAC,MAAM,gCAAgC,GAAG,MAAM,CAAC;AACvD,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,CAAC;AAClD,MAAM,CAAC,MAAM,4BAA4B,GAAG,OAAO,CAAC;AAEpD,MAAM,UAAU,2BAA2B,CAAC,KAAa;IACvD,OAAQ,6BAAmD,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,OAAQ,qBAA2C,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,EAA4B;IACpE,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,QAAuC,EACvC,EAA4B;IAE5B,KAAK,MAAM,GAAG,IAAI,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAA0C,CAAC,CAAC;QACnE,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,UAAkB;IAElB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/D,IAAI,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACxE,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACzB,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAcD,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC;IACzC,OAAO;IACP,KAAK;IACL,IAAI;IACJ,QAAQ;IACR,OAAO;IACP,MAAM;CACP,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;AAExD,SAAS,2BAA2B,CAAC,KAAyB;IAC5D,OAAO,KAAK,KAAK,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAyB;IAC3D,OAAO,KAAK,KAAK,SAAS,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAc,EAAE,KAAa;IAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,MAAM,GAA2B;QACrC,CAAC,EAAE,IAAI;QACP,CAAC,EAAE,IAAI;QACP,CAAC,EAAE,IAAI;QACP,CAAC,EAAE,IAAI;QACP,CAAC,EAAE,IAAI;QACP,CAAC,EAAE,IAAI;QACP,GAAG,EAAE,IAAI;KACV,CAAC;IACF,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;IAC5D,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;IACjF,CAAC;IACD,IAAI,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;QACrE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAE,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;IACtD,CAAC;IACD,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC/C,IAAI,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;QACpF,CAAC;IACH,CAAC;IACD,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;QACpB,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC7C,MAAM,GAAG,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YAC/D,IAAI,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;YACpF,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC/C,IAAI,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;YACpF,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAc;IAC/C,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,aAA0C,CAAC;IAE/C,MAAM,IAAI,GAAG,CAAC,KAAsB,EAAQ,EAAE;QAC5C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,aAAa,GAAG,KAAK,CAAC;IACxB,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAQ,EAAE;QAC/C,KAAK,IAAI,CAAC,CAAC;QACX,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,OAAO,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAE,CAAC;YAC/B,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;gBACtB,KAAK,IAAI,CAAC,CAAC;gBACX,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;gBAChC,OAAO;YACT,CAAC;YACD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,MAAM,OAAO,GAAG,sBAAsB,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC1D,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;gBACvB,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;gBACrB,SAAS;YACX,CAAC;YACD,KAAK,IAAI,OAAO,CAAC;YACjB,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,GAAY,EAAE;QACzC,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QAChC,IAAI,aAAa,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACnD,OAAO,aAAa,CAAC,kBAAkB,CAAC;QAC1C,CAAC;QACD,IAAI,aAAa,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACxC,OAAO,IAAI,GAAG,CAAC;gBACb,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK;gBAClE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO;aAC7C,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,aAAa,CAAC,IAAI,KAAK,aAAa;eACtC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;iBAC/F,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,GAAS,EAAE;QAClC,KAAK,IAAI,CAAC,CAAC;QACX,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,OAAO,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAE,CAAC;YAC/B,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC3C,SAAS;YACX,CAAC;YACD,IAAI,OAAO,KAAK,GAAG;gBAAE,gBAAgB,GAAG,IAAI,CAAC;YAC7C,IAAI,OAAO,KAAK,GAAG;gBAAE,gBAAgB,GAAG,KAAK,CAAC;YAC9C,KAAK,IAAI,CAAC,CAAC;YACX,IAAI,OAAO,KAAK,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACzC,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBAAE,KAAK,IAAI,CAAC,CAAC;gBACzD,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YACD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI;gBAAE,OAAO;QACnD,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,2BAAoC,EAAQ,EAAE;QAC9D,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,MAAM,eAAe,GAAc,EAAE,CAAC;QACtC,MAAM,iBAAiB,GAAc,EAAE,CAAC;QACxC,OAAO,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC/B,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxB,KAAK,IAAI,CAAC,CAAC;gBACX,SAAS;YACX,CAAC;YACD,IAAI,OAAO,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACpC,KAAK,IAAI,CAAC,CAAC;gBACX,OAAO,KAAK,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI;oBAAE,KAAK,IAAI,CAAC,CAAC;gBAC7F,SAAS;YACX,CAAC;YACD,IAAI,OAAO,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACpC,KAAK,IAAI,CAAC,CAAC;gBACX,OAAO,KAAK,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;oBAAE,KAAK,IAAI,CAAC,CAAC;gBAClG,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC3C,SAAS;YACX,CAAC;YACD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;gBACxC,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBAC1B,SAAS;YACX,CAAC;YACD,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;gBACpB,KAAK,IAAI,CAAC,CAAC;gBACX,IAAI,KAAK,GAAG,EAAE,CAAC;gBACf,IAAI,OAAO,GAAG,KAAK,CAAC;gBACpB,OAAO,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC7B,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;wBAC3B,MAAM,OAAO,GAAG,sBAAsB,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;wBAC1D,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;wBACvB,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;oBACvB,CAAC;yBAAM,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;wBACjC,KAAK,IAAI,CAAC,CAAC;wBACX,IAAI,CAAC,OAAO,EAAE,CAAC;4BACb,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;wBAClC,CAAC;wBACD,MAAM;oBACR,CAAC;yBAAM,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;wBAC9D,IAAI,CAAC,OAAO,EAAE,CAAC;4BACb,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;4BACtD,OAAO,GAAG,IAAI,CAAC;wBACjB,CAAC;wBACD,KAAK,IAAI,CAAC,CAAC;wBACX,MAAM,aAAa,GAAG,aAAa,CAAC;wBACpC,aAAa,GAAG,SAAS,CAAC;wBAC1B,QAAQ,CAAC,IAAI,CAAC,CAAC;wBACf,aAAa,GAAG,aAAa,CAAC;oBAChC,CAAC;yBAAM,CAAC;wBACN,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;wBACvB,KAAK,IAAI,CAAC,CAAC;oBACb,CAAC;gBACH,CAAC;gBACD,SAAS;YACX,CAAC;YACD,IAAI,OAAO,KAAK,GAAG,IAAI,oBAAoB,EAAE,EAAE,CAAC;gBAC9C,gBAAgB,EAAE,CAAC;gBACnB,SAAS;YACX,CAAC;YACD,IAAI,2BAA2B,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzC,MAAM,KAAK,GAAG,KAAK,CAAC;gBACpB,KAAK,IAAI,CAAC,CAAC;gBACX,OAAO,0BAA0B,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAAE,KAAK,IAAI,CAAC,CAAC;gBAC7D,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;gBAChE,SAAS;YACX,CAAC;YACD,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,KAAK,IAAI,CAAC,CAAC;gBACX,OAAO,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBAAE,KAAK,IAAI,CAAC,CAAC;gBAC9D,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC3C,SAAS;YACX,CAAC;YACD,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;gBACpB,MAAM,OAAO,GAAG,CAAC,aAAa;uBACzB,CAAC,aAAa,CAAC,IAAI,KAAK,YAAY;2BAClC,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;uBACjE,CAAC,aAAa,CAAC,IAAI,KAAK,aAAa;2BACnC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC3D,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC9B,UAAU,IAAI,CAAC,CAAC;gBAChB,KAAK,IAAI,CAAC,CAAC;gBACX,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC9C,SAAS;YACX,CAAC;YACD,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;gBACpB,IAAI,2BAA2B,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;oBACpD,KAAK,IAAI,CAAC,CAAC;oBACX,OAAO;gBACT,CAAC;gBACD,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;gBACzC,KAAK,IAAI,CAAC,CAAC;gBACX,IAAI,CAAC;oBACH,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,OAAO;oBACd,kBAAkB,EAAE,eAAe,CAAC,GAAG,EAAE,IAAI,KAAK;iBACnD,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;gBACpB,iBAAiB,CAAC,IAAI,CACpB,aAAa,EAAE,IAAI,KAAK,YAAY;uBACjC,0BAA0B,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CACvD,CAAC;gBACF,KAAK,IAAI,CAAC,CAAC;gBACX,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC9C,SAAS;YACX,CAAC;YACD,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;gBACpB,KAAK,IAAI,CAAC,CAAC;gBACX,IAAI,CAAC;oBACH,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,OAAO;oBACd,kBAAkB,EAAE,iBAAiB,CAAC,GAAG,EAAE,IAAI,KAAK;iBACrD,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,IAAI,CAAC,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,GAAG,CAAC,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC7D,KAAK,IAAI,CAAC,CAAC;gBACX,IAAI,CAAC;oBACH,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG,OAAO,GAAG,OAAO,EAAE;oBAC7B,kBAAkB,EAAE,KAAK;iBAC1B,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,KAAK,IAAI,CAAC,CAAC;YACX,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAChD,CAAC;IACH,CAAC,CAAC;IAEF,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,MAAc;IAC3D,MAAM,UAAU,GAA+B,EAAE,CAAC;IAClD,MAAM,MAAM,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,CACpB,aAAqB,EACoC,EAAE;QAC3D,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;QAC5C,IACE,SAAS,EAAE,IAAI,KAAK,QAAQ;eACzB,CAAC,SAAS,EAAE,KAAK,KAAK,GAAG,IAAI,SAAS,EAAE,KAAK,KAAK,GAAG,CAAC,EACzD,CAAC;YACD,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;QACxC,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC,CAAC;IACF,IAAI,aAA8C,CAAC;IACnD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,KAAK,KAAK,GAAG;YAAE,aAAa,GAAG,SAAS,CAAC;QACnD,IAAI,aAAa,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC3E,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YACpC,IAAI,SAAS,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACjC,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;YACvE,CAAC;YACD,aAAa,GAAG,SAAS,CAAC;YAC1B,SAAS;QACX,CAAC;QACD,IACE,KAAK,CAAC,IAAI,KAAK,YAAY;eACxB,KAAK,CAAC,KAAK,KAAK,QAAQ;eACxB,QAAQ,EAAE,KAAK,KAAK,GAAG;eACvB,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,GAAG;eAChC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,YAAY;eACxC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,SAAS;eACtC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,GAAG,EACnC,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YAClE,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,QAAQ,EAAE,KAAK,KAAK,GAAG;YAAE,SAAS;QACrE,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,GAAG,EAAE,CAAC;YAClE,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YAClE,SAAS;QACX,CAAC;QACD,IACE,KAAK,CAAC,KAAK,KAAK,SAAS;eACtB,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,GAAG;eAChC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,YAAY;eACxC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,SAAS;eACtC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,GAAG,EACnC,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;YAC1E,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ;YAAE,SAAS;QACnE,aAAa,GAAG,SAAS,CAAC;QAC1B,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,GAAG,EAAE,CAAC;YACjE,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;YACzE,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrE,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YACzE,SAAS;QACX,CAAC;QACD,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC;IAC9B,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAiBD,SAAS,uBAAuB,CAAC,KAAa;IAC5C,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACxE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,mBAAmB,CAAC,SAAiB;IAC5C,OAAO,SAAS,KAAK,GAAG,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAC9G,CAAC;AAED,SAAS,eAAe,CAAC,SAAiB;IACxC,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACzG,CAAC;AAED,SAAS,sBAAsB,CAAC,SAAiB;IAC/C,OAAO,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC;WACxC,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACvG,CAAC;AAED,SAAS,cAAc,CAAC,SAAiB;IACvC,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3C,OAAO,GAAG,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC;IAClC,CAAC;IAED,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;AAC9C,CAAC;AAED,MAAM,6BAA6B,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACvE,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAEvD,SAAS,yBAAyB,CAAC,IAAY;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IACzD,OAAO,6BAA6B,CAAC,GAAG,CAAC,SAAS,CAAC;WAC9C,2BAA2B,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY;IACxC,OAAO,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AACjF,CAAC;AAQD,SAAS,mBAAmB,CAC1B,QAAgB,EAChB,SAAiB,EACjB,SAA8B,EAC9B,KAAuC,EACvC,UAA4C;IAE5C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IAChG,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,iBAAiB,CAAC;IAC9E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAClE,CAAC;IAED,MAAM,aAAa,GAAG,CAAC,MAAc,EAAsB,EAAE,CAAC,CAC5D,CAAC,MAAM,EAAE,GAAG,MAAM,KAAK,EAAE,GAAG,MAAM,OAAO,EAAE,GAAG,MAAM,OAAO,CAAC;SACzD,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CACjD,CAAC;IACF,MAAM,cAAc,GAAG,CAAC,SAAiB,EAAsB,EAAE,CAAC,CAChE,CAAC,UAAU,EAAE,YAAY,EAAE,YAAY,CAAC;SACrC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;SACvD,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CACjD,CAAC;IACF,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM,kBAAkB,GAAG,CAAC,SAAiB,EAA0B,EAAE;QACvE,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACnE,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,IAAI,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;YACnC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACtC,MAAM,iBAAiB,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;YACjD,IAAI,WAAoB,CAAC;YACzB,IAAI,CAAC;gBACH,WAAW,GAAG,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAC5F,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;oBACL,KAAK,EAAE,sCAAsC,eAAe,oBAAoB,SAAS,SAAS,QAAQ,IAAI;iBAC/G,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBAClF,OAAO;oBACL,KAAK,EAAE,sCAAsC,eAAe,oBAAoB,SAAS,SAAS,QAAQ,IAAI;iBAC/G,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC;gBAC9D,MAAM,IAAI,GAAI,WAAuC,CAAC,IAAI,CAAC;gBAC3D,IACE,OAAO,IAAI,KAAK,QAAQ;uBACrB,IAAI,CAAC,MAAM,KAAK,CAAC;uBACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;uBACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;uBACnB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;uBAC3B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;uBAC3B,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,EAC1C,CAAC;oBACD,OAAO;wBACL,KAAK,EAAE,qCAAqC,eAAe,oBAAoB,SAAS,SAAS,QAAQ,IAAI;qBAC9G,CAAC;gBACJ,CAAC;gBACD,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAClD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;gBAC9D,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC7F,OAAO;wBACL,KAAK,EAAE,0BAA0B,IAAI,SAAS,eAAe,4BAA4B;qBAC1F,CAAC;gBACJ,CAAC;gBAED,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;gBAC3C,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;gBAC7C,CAAC;gBACD,MAAM,SAAS,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;gBAC7C,IAAI,SAAS,EAAE,CAAC;oBACd,OAAO;wBACL,IAAI,EAAE,SAAS;wBACf,eAAe;qBAChB,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QAC5C,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;IAC9C,CAAC,CAAC;IAEF,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,OAAsC;IAEtC,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAC9B,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAC/F,CAAC;IACF,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;QACxB,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QACrB,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAC;KAC1D,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,SAAS;QACX,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,gCAAgC,IAAI,IAAI,CAAC,CAAC;YACtD,SAAS;QACX,CAAC;QACD,IAAI,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,gCAAgC,IAAI,IAAI,CAAC,CAAC;YACtD,SAAS;QACX,CAAC;QAED,KAAK,MAAM,SAAS,IAAI,8BAA8B,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;YAChC,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;gBACtB,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,KAAK,iBAAiB;oBAC/C,CAAC,CAAC,iBAAiB;oBACnB,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;gBACpE,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,kBAAkB,IAAI,qBAAqB,CAAC,CAAC;gBACxE,SAAS;YACX,CAAC;YACD,IAAI,sBAAsB,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtC,SAAS;YACX,CAAC;YAED,IAAI,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;gBACnC,MAAM,UAAU,GAAG,mBAAmB,CACpC,IAAI,EACJ,SAAS,EACT,SAAS,EACT,KAAK,EACL,SAAS,CAAC,IAAI,CACf,CAAC;gBACF,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;oBACrB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBAC9B,SAAS;gBACX,CAAC;gBACD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC;gBACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,CAAC,IAAI,CAAC,sCAAsC,SAAS,WAAW,IAAI,IAAI,CAAC,CAAC;oBAChF,SAAS;gBACX,CAAC;gBACD,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACvF,MAAM,CAAC,IAAI,CAAC,oBAAoB,SAAS,WAAW,IAAI,4BAA4B,CAAC,CAAC;oBACtF,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACzC,MAAM,CAAC,IAAI,CACT,oCAAoC,QAAQ,oBAAoB,SAAS,SAAS,IAAI,IAAI,CAC3F,CAAC;oBACF,SAAS;gBACX,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,CAAC;gBAClD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACrB,SAAS;YACX,CAAC;YAED,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,iCAAiC,SAAS,WAAW,IAAI,IAAI,CAAC,CAAC;gBAC3E,SAAS;YACX,CAAC;YAED,MAAM,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;YAC9C,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAChC,IAAI,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBAClC,SAAS;YACX,CAAC;YACD,IAAI,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;oBAClC,MAAM,CAAC,IAAI,CAAC,mBAAmB,SAAS,WAAW,IAAI,0BAA0B,WAAW,IAAI,CAAC,CAAC;gBACpG,CAAC;gBACD,SAAS;YACX,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,mBAAmB,SAAS,WAAW,IAAI,oCAAoC,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE;QAC1B,cAAc,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,IAAI,EAAE;QAC1C,MAAM;KACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"plugin-script-contract.js","sourceRoot":"","sources":["../src/plugin-script-contract.ts"],"names":[],"mappings":"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"}