@sekiui/cli 0.0.71

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 (73) hide show
  1. package/dist/commands/add.d.ts +7 -0
  2. package/dist/commands/add.d.ts.map +1 -0
  3. package/dist/commands/add.js +111 -0
  4. package/dist/commands/add.js.map +1 -0
  5. package/dist/commands/init.d.ts +2 -0
  6. package/dist/commands/init.d.ts.map +1 -0
  7. package/dist/commands/init.js +241 -0
  8. package/dist/commands/init.js.map +1 -0
  9. package/dist/components/registry.d.ts +12 -0
  10. package/dist/components/registry.d.ts.map +1 -0
  11. package/dist/components/registry.js +593 -0
  12. package/dist/components/registry.js.map +1 -0
  13. package/dist/frameworks/angular.d.ts +4 -0
  14. package/dist/frameworks/angular.d.ts.map +1 -0
  15. package/dist/frameworks/angular.js +60 -0
  16. package/dist/frameworks/angular.js.map +1 -0
  17. package/dist/frameworks/detect.d.ts +4 -0
  18. package/dist/frameworks/detect.d.ts.map +1 -0
  19. package/dist/frameworks/detect.js +72 -0
  20. package/dist/frameworks/detect.js.map +1 -0
  21. package/dist/frameworks/react.d.ts +5 -0
  22. package/dist/frameworks/react.d.ts.map +1 -0
  23. package/dist/frameworks/react.js +52 -0
  24. package/dist/frameworks/react.js.map +1 -0
  25. package/dist/frameworks/vanilla.d.ts +3 -0
  26. package/dist/frameworks/vanilla.d.ts.map +1 -0
  27. package/dist/frameworks/vanilla.js +49 -0
  28. package/dist/frameworks/vanilla.js.map +1 -0
  29. package/dist/frameworks/vue.d.ts +4 -0
  30. package/dist/frameworks/vue.d.ts.map +1 -0
  31. package/dist/frameworks/vue.js +63 -0
  32. package/dist/frameworks/vue.js.map +1 -0
  33. package/dist/index.d.ts +3 -0
  34. package/dist/index.d.ts.map +1 -0
  35. package/dist/index.js +31 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/themes/index.d.ts +13 -0
  38. package/dist/themes/index.d.ts.map +1 -0
  39. package/dist/themes/index.js +33 -0
  40. package/dist/themes/index.js.map +1 -0
  41. package/dist/themes/presets/blue.d.ts +3 -0
  42. package/dist/themes/presets/blue.d.ts.map +1 -0
  43. package/dist/themes/presets/blue.js +49 -0
  44. package/dist/themes/presets/blue.js.map +1 -0
  45. package/dist/themes/presets/neutral.d.ts +3 -0
  46. package/dist/themes/presets/neutral.d.ts.map +1 -0
  47. package/dist/themes/presets/neutral.js +49 -0
  48. package/dist/themes/presets/neutral.js.map +1 -0
  49. package/dist/themes/presets/rose.d.ts +3 -0
  50. package/dist/themes/presets/rose.d.ts.map +1 -0
  51. package/dist/themes/presets/rose.js +49 -0
  52. package/dist/themes/presets/rose.js.map +1 -0
  53. package/dist/themes/presets/slate.d.ts +3 -0
  54. package/dist/themes/presets/slate.d.ts.map +1 -0
  55. package/dist/themes/presets/slate.js +49 -0
  56. package/dist/themes/presets/slate.js.map +1 -0
  57. package/dist/themes/presets/violet.d.ts +3 -0
  58. package/dist/themes/presets/violet.d.ts.map +1 -0
  59. package/dist/themes/presets/violet.js +49 -0
  60. package/dist/themes/presets/violet.js.map +1 -0
  61. package/dist/themes/presets/zinc.d.ts +3 -0
  62. package/dist/themes/presets/zinc.d.ts.map +1 -0
  63. package/dist/themes/presets/zinc.js +49 -0
  64. package/dist/themes/presets/zinc.js.map +1 -0
  65. package/dist/themes/types.d.ts +8 -0
  66. package/dist/themes/types.d.ts.map +1 -0
  67. package/dist/themes/types.js +30 -0
  68. package/dist/themes/types.js.map +1 -0
  69. package/dist/utils/css.d.ts +4 -0
  70. package/dist/utils/css.d.ts.map +1 -0
  71. package/dist/utils/css.js +45 -0
  72. package/dist/utils/css.js.map +1 -0
  73. package/package.json +40 -0
@@ -0,0 +1,7 @@
1
+ import type { Framework } from '../frameworks/detect';
2
+ export interface AddOptions {
3
+ output?: string;
4
+ framework?: Framework;
5
+ }
6
+ export declare function runAdd(componentName: string, options?: AddOptions, cwd?: string): Promise<void>;
7
+ //# sourceMappingURL=add.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,wBAAsB,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,EAAE,GAAG,GAAE,MAAsB,iBAgDxG"}
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.runAdd = runAdd;
40
+ const p = __importStar(require("@clack/prompts"));
41
+ const fs = __importStar(require("fs-extra"));
42
+ const path = __importStar(require("path"));
43
+ const picocolors_1 = __importDefault(require("picocolors"));
44
+ const detect_1 = require("../frameworks/detect");
45
+ const registry_1 = require("../components/registry");
46
+ async function runAdd(componentName, options = {}, cwd = process.cwd()) {
47
+ const component = (0, registry_1.getComponent)(componentName);
48
+ if (!component) {
49
+ const available = (0, registry_1.listComponents)();
50
+ p.log.error(`Unknown component: ${picocolors_1.default.red(componentName)}\n\nAvailable components:\n ${available.join(', ')}`);
51
+ process.exit(1);
52
+ }
53
+ // Resolve framework
54
+ let framework = options.framework ?? 'vanilla';
55
+ if (!options.framework) {
56
+ const detected = await (0, detect_1.detectFramework)(cwd);
57
+ if (detected) {
58
+ framework = detected;
59
+ }
60
+ else {
61
+ const fw = await p.select({
62
+ message: 'Select your framework:',
63
+ options: [
64
+ { value: 'react', label: 'React' },
65
+ { value: 'vue', label: 'Vue' },
66
+ { value: 'angular', label: 'Angular' },
67
+ { value: 'vanilla', label: 'Vanilla HTML' },
68
+ ],
69
+ });
70
+ if (p.isCancel(fw)) {
71
+ p.cancel('Cancelled.');
72
+ process.exit(0);
73
+ }
74
+ framework = fw;
75
+ }
76
+ }
77
+ const output = buildOutput(component.name, component.tag, component.cssTokens, component.usageByFramework[framework], framework);
78
+ if (options.output) {
79
+ const outPath = path.resolve(cwd, options.output);
80
+ await fs.ensureFile(outPath);
81
+ await fs.writeFile(outPath, output);
82
+ p.log.success(`Wrote snippet to ${options.output}`);
83
+ }
84
+ else {
85
+ console.log(output);
86
+ }
87
+ }
88
+ function buildOutput(name, tag, cssTokens, usage, framework) {
89
+ const fw = (0, detect_1.frameworkLabel)(framework);
90
+ const separator = '─'.repeat(60);
91
+ const cssOverride = `${tag} {\n${cssTokens.map(t => ` ${t}: /* your value */;`).join('\n')}\n}`;
92
+ return [
93
+ '',
94
+ picocolors_1.default.bold(picocolors_1.default.cyan(`◆ ${name} component`)) + picocolors_1.default.dim(` (${tag})`),
95
+ picocolors_1.default.dim(` Framework: ${fw}`),
96
+ '',
97
+ picocolors_1.default.bold('1. Import'),
98
+ picocolors_1.default.dim(separator),
99
+ usage.split('\n\n')[0],
100
+ '',
101
+ picocolors_1.default.bold('2. CSS tokens you can override'),
102
+ picocolors_1.default.dim(separator),
103
+ cssOverride,
104
+ '',
105
+ picocolors_1.default.bold('3. Usage example'),
106
+ picocolors_1.default.dim(separator),
107
+ usage.split('\n\n').slice(1).join('\n\n'),
108
+ '',
109
+ ].join('\n');
110
+ }
111
+ //# sourceMappingURL=add.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function runInit(cwd?: string): Promise<void>;
2
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAqBA,wBAAsB,OAAO,CAAC,GAAG,GAAE,MAAsB,iBA0HxD"}
@@ -0,0 +1,241 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.runInit = runInit;
40
+ const p = __importStar(require("@clack/prompts"));
41
+ const fs = __importStar(require("fs-extra"));
42
+ const path = __importStar(require("path"));
43
+ const picocolors_1 = __importDefault(require("picocolors"));
44
+ const detect_1 = require("../frameworks/detect");
45
+ const react_1 = require("../frameworks/react");
46
+ const vue_1 = require("../frameworks/vue");
47
+ const angular_1 = require("../frameworks/angular");
48
+ const vanilla_1 = require("../frameworks/vanilla");
49
+ const index_1 = require("../themes/index");
50
+ const css_1 = require("../utils/css");
51
+ const RADIUS_LABELS = {
52
+ none: 'None — sharp corners',
53
+ default: 'Default — subtle rounding (0.375rem)',
54
+ rounded: 'Rounded — soft corners (0.5rem)',
55
+ pill: 'Pill — fully rounded buttons',
56
+ };
57
+ async function runInit(cwd = process.cwd()) {
58
+ p.intro(picocolors_1.default.bgCyan(picocolors_1.default.black(' sekiui init ')));
59
+ // 1. Framework detection
60
+ const detected = await (0, detect_1.detectFramework)(cwd);
61
+ let framework;
62
+ if (detected) {
63
+ const confirm = await p.confirm({
64
+ message: `Detected ${picocolors_1.default.cyan((0, detect_1.frameworkLabel)(detected))} project. Use this framework?`,
65
+ initialValue: true,
66
+ });
67
+ if (p.isCancel(confirm)) {
68
+ p.cancel('Setup cancelled.');
69
+ process.exit(0);
70
+ }
71
+ if (confirm) {
72
+ framework = detected;
73
+ }
74
+ else {
75
+ framework = await promptFramework();
76
+ }
77
+ }
78
+ else {
79
+ framework = await promptFramework();
80
+ }
81
+ // 2. Theme preset
82
+ const themeKey = await p.select({
83
+ message: 'Choose a color theme:',
84
+ options: Object.keys(index_1.THEME_PRESETS).map(key => ({
85
+ value: key,
86
+ label: index_1.THEME_PRESETS[key].name,
87
+ })),
88
+ initialValue: 'neutral',
89
+ });
90
+ if (p.isCancel(themeKey)) {
91
+ p.cancel('Setup cancelled.');
92
+ process.exit(0);
93
+ }
94
+ // 3. Border radius
95
+ const radius = await p.select({
96
+ message: 'Choose a border radius style:',
97
+ options: Object.keys(RADIUS_LABELS).map(r => ({
98
+ value: r,
99
+ label: RADIUS_LABELS[r],
100
+ })),
101
+ initialValue: 'default',
102
+ });
103
+ if (p.isCancel(radius)) {
104
+ p.cancel('Setup cancelled.');
105
+ process.exit(0);
106
+ }
107
+ // 4. CSS file path
108
+ const defaultCssPath = framework === 'vanilla' ? 'index.css' : 'src/index.css';
109
+ const cssPath = await p.text({
110
+ message: 'Global CSS file path:',
111
+ placeholder: defaultCssPath,
112
+ defaultValue: defaultCssPath,
113
+ });
114
+ if (p.isCancel(cssPath)) {
115
+ p.cancel('Setup cancelled.');
116
+ process.exit(0);
117
+ }
118
+ // Execute setup
119
+ const spinner = p.spinner();
120
+ spinner.start('Setting up SekiUI...');
121
+ const steps = [];
122
+ try {
123
+ // Step 1: Install @sekiui/elements
124
+ const pkgPath = path.join(cwd, 'package.json');
125
+ if (await fs.pathExists(pkgPath)) {
126
+ const pkg = await fs.readJson(pkgPath);
127
+ const allDeps = { ...pkg.dependencies, ...pkg.devDependencies };
128
+ if (!allDeps['@sekiui/elements']) {
129
+ steps.push('Run: npm install @sekiui/elements');
130
+ }
131
+ }
132
+ // Step 2: Inject CSS tokens
133
+ const cssFilePath = path.join(cwd, cssPath);
134
+ const tokenBlock = (0, css_1.generateCssTokenBlock)(index_1.THEME_PRESETS[themeKey], radius);
135
+ if (await fs.pathExists(cssFilePath)) {
136
+ const existing = await fs.readFile(cssFilePath, 'utf-8');
137
+ await fs.writeFile(cssFilePath, (0, css_1.injectCssTokens)(existing, tokenBlock));
138
+ }
139
+ else {
140
+ await fs.ensureFile(cssFilePath);
141
+ await fs.writeFile(cssFilePath, tokenBlock);
142
+ }
143
+ steps.push(`Wrote CSS tokens → ${cssPath}`);
144
+ // Step 3: Framework wiring
145
+ await applyFrameworkWiring(framework, cwd, steps);
146
+ // Step 4: Sample component
147
+ await writeSampleComponent(framework, cwd, steps);
148
+ spinner.stop('Setup complete!');
149
+ }
150
+ catch (err) {
151
+ spinner.stop('Setup failed.');
152
+ p.log.error(`Error: ${err.message}`);
153
+ process.exit(1);
154
+ }
155
+ // Summary
156
+ p.log.success('SekiUI is ready!');
157
+ p.note(steps.join('\n'), 'What was done');
158
+ if (steps.some(s => s.startsWith('Run:'))) {
159
+ p.log.warn('Install @sekiui/elements first:\n npm install @sekiui/elements');
160
+ }
161
+ p.outro(`${picocolors_1.default.green('Done!')} Start building with ${picocolors_1.default.cyan('seki-button')}, ${picocolors_1.default.cyan('seki-input')}, and ${picocolors_1.default.cyan('67')} more components.`);
162
+ }
163
+ async function promptFramework() {
164
+ const fw = await p.select({
165
+ message: 'Select your framework:',
166
+ options: [
167
+ { value: 'react', label: 'React' },
168
+ { value: 'vue', label: 'Vue' },
169
+ { value: 'angular', label: 'Angular' },
170
+ { value: 'vanilla', label: 'Vanilla HTML' },
171
+ ],
172
+ });
173
+ if (p.isCancel(fw)) {
174
+ p.cancel('Setup cancelled.');
175
+ process.exit(0);
176
+ }
177
+ return fw;
178
+ }
179
+ async function applyFrameworkWiring(fw, cwd, steps) {
180
+ if (fw === 'react') {
181
+ const candidates = ['src/main.tsx', 'src/main.ts', 'src/index.tsx', 'src/index.ts'];
182
+ for (const candidate of candidates) {
183
+ const fullPath = path.join(cwd, candidate);
184
+ if (await fs.pathExists(fullPath)) {
185
+ const content = await fs.readFile(fullPath, 'utf-8');
186
+ await fs.writeFile(fullPath, (0, react_1.getReactMainPatch)(content));
187
+ steps.push(`Patched ${candidate} with defineCustomElements()`);
188
+ return;
189
+ }
190
+ }
191
+ steps.push('Could not find src/main.tsx — add defineCustomElements() manually');
192
+ }
193
+ if (fw === 'vue') {
194
+ const candidates = ['src/main.ts', 'src/main.js'];
195
+ for (const candidate of candidates) {
196
+ const fullPath = path.join(cwd, candidate);
197
+ if (await fs.pathExists(fullPath)) {
198
+ const content = await fs.readFile(fullPath, 'utf-8');
199
+ await fs.writeFile(fullPath, (0, vue_1.getVueMainPatch)(content));
200
+ steps.push(`Patched ${candidate} with defineCustomElements()`);
201
+ return;
202
+ }
203
+ }
204
+ steps.push('Could not find src/main.ts — add defineCustomElements() manually');
205
+ }
206
+ if (fw === 'angular') {
207
+ const candidates = ['src/app/app.module.ts', 'src/app.module.ts'];
208
+ for (const candidate of candidates) {
209
+ const fullPath = path.join(cwd, candidate);
210
+ if (await fs.pathExists(fullPath)) {
211
+ const content = await fs.readFile(fullPath, 'utf-8');
212
+ await fs.writeFile(fullPath, (0, angular_1.getAngularModulePatch)(content));
213
+ steps.push(`Patched ${candidate} with CUSTOM_ELEMENTS_SCHEMA`);
214
+ return;
215
+ }
216
+ }
217
+ steps.push('Could not find app.module.ts — add CUSTOM_ELEMENTS_SCHEMA manually');
218
+ }
219
+ if (fw === 'vanilla') {
220
+ steps.push(`Add to your HTML <head>:\n <script type="module" src="https://unpkg.com/@sekiui/elements@latest/dist/sekiui/sekiui.esm.js"></script>`);
221
+ }
222
+ }
223
+ async function writeSampleComponent(fw, cwd, steps) {
224
+ const fileMap = {
225
+ react: 'src/components/SekiExample.tsx',
226
+ vue: 'src/components/SekiExample.vue',
227
+ angular: 'src/components/SekiExample.html',
228
+ vanilla: 'seki-example.html',
229
+ };
230
+ const contentMap = {
231
+ react: (0, react_1.getReactSampleComponent)(),
232
+ vue: (0, vue_1.getVueSampleComponent)(),
233
+ angular: (0, angular_1.getAngularSampleComponent)(),
234
+ vanilla: (0, vanilla_1.getVanillaSampleHtml)(),
235
+ };
236
+ const filePath = path.join(cwd, fileMap[fw]);
237
+ await fs.ensureFile(filePath);
238
+ await fs.writeFile(filePath, contentMap[fw]);
239
+ steps.push(`Created sample → ${fileMap[fw]}`);
240
+ }
241
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { Framework } from '../frameworks/detect';
2
+ export interface ComponentEntry {
3
+ name: string;
4
+ tag: string;
5
+ description: string;
6
+ cssTokens: string[];
7
+ usageByFramework: Record<Framework, string>;
8
+ }
9
+ export declare const COMPONENT_REGISTRY: Record<string, ComponentEntry>;
10
+ export declare function getComponent(name: string): ComponentEntry | undefined;
11
+ export declare function listComponents(): string[];
12
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/components/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;CAC7C;AASD,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAsmB7D,CAAC;AAEF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAErE;AAED,wBAAgB,cAAc,IAAI,MAAM,EAAE,CAEzC"}