@babelize/cli 1.2.1 → 1.3.0

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.
package/README.md CHANGED
@@ -10,7 +10,17 @@ npm install -g @babelize/cli
10
10
 
11
11
  ## Quick start
12
12
 
13
- Translate the repo you're in with your own LLM key (no account needed) or a Babelize API key. Locale files and i18n code are written into your working tree for review with `git diff`:
13
+ In your project's folder:
14
+
15
+ ```bash
16
+ npx @babelize/cli
17
+ ```
18
+
19
+ It checks git, finds your framework, signs you in through the browser if needed, asks which languages you want (and remembers them), then writes locale files and i18n code for review with `git diff`. Run it again after changes: only new or changed text is translated. (The interactive command menu is now `babelize shell`.)
20
+
21
+ ### With your own LLM key, or in CI
22
+
23
+ Translate the repo you're in with your own LLM key (no account needed) or a Babelize API key:
14
24
 
15
25
  ```bash
16
26
  export ANTHROPIC_API_KEY=sk-ant-... # or OPENAI_API_KEY, GEMINI_API_KEY, GROQ_API_KEY, OPENROUTER_API_KEY
@@ -49,7 +59,9 @@ babelize run start
49
59
 
50
60
  | Command | Description |
51
61
  |---------|-------------|
52
- | `translate --to <locales>` | Translate this repo locally with your own LLM key or `BABELIZE_API_KEY` (writes to the working tree) |
62
+ | *(no command)* / `start` | Translate the project in this folder, step by step (git, sign-in, languages) |
63
+ | `translate --to <locales>` | Translate this repo locally: signed in, your own LLM key, or `BABELIZE_API_KEY` (writes to the working tree) |
64
+ | `shell` | The interactive command menu |
53
65
  | `init` | Initialize a new Babelize project |
54
66
  | `auth login` / `signup` / `logout` / `whoami` | Authentication management |
55
67
  | `auth reset-password` | Send a password reset email |
package/dist/client.d.ts CHANGED
@@ -3,6 +3,12 @@ export { setGlobalOptions, isJsonMode } from './global-options.js';
3
3
  export declare function resetClient(): void;
4
4
  export declare const CLI_VERSION: string;
5
5
  export declare function getBaseUrl(): string;
6
+ /**
7
+ * Swap the stored refresh token for a new access token and store it. Null when
8
+ * there is nothing to refresh or the server refused (signed out elsewhere,
9
+ * refresh token expired). Never exits: callers decide what a failure means.
10
+ */
11
+ export declare function refreshSessionToken(): Promise<string | null>;
6
12
  export declare function getClient(): AxiosInstance;
7
13
  export interface DescribedError {
8
14
  message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAkC,MAAM,OAAO,CAAC;AAO7E,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACnE,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAED,eAAO,MAAM,WAAW,QAAc,CAAC;AAKvC,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAsGD,wBAAgB,SAAS,IAAI,aAAa,CAMzC;AA0BD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CA6C/D;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAIpD;AAED,uFAAuF;AACvF,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAkC,MAAM,OAAO,CAAC;AAO7E,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACnE,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAED,eAAO,MAAM,WAAW,QAAc,CAAC;AAKvC,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AASD;;;;GAIG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAuBlE;AAgFD,wBAAgB,SAAS,IAAI,aAAa,CAMzC;AA0BD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CA6C/D;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAIpD;AAED,uFAAuF;AACvF,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C"}
package/dist/client.js CHANGED
@@ -22,7 +22,12 @@ function getToken() {
22
22
  const creds = config.getCredentials();
23
23
  return creds?.accessToken ?? null;
24
24
  }
25
- async function refreshAccessToken() {
25
+ /**
26
+ * Swap the stored refresh token for a new access token and store it. Null when
27
+ * there is nothing to refresh or the server refused (signed out elsewhere,
28
+ * refresh token expired). Never exits: callers decide what a failure means.
29
+ */
30
+ export async function refreshSessionToken() {
26
31
  const creds = config.getCredentials();
27
32
  if (!creds?.refreshToken)
28
33
  return null;
@@ -35,20 +40,33 @@ async function refreshAccessToken() {
35
40
  },
36
41
  });
37
42
  const newToken = refreshRes.data?.access_token ?? refreshRes.data?.session?.access_token;
38
- if (newToken) {
39
- config.setCredentials({ ...creds, accessToken: newToken });
40
- return newToken;
41
- }
42
- return null;
43
+ // Supabase rotates refresh tokens and the backend sends the new one as a
44
+ // cookie, not in the body: keep it, or the next refresh fails.
45
+ const cookies = [].concat(refreshRes.headers?.['set-cookie'] ?? []);
46
+ const fromCookie = cookies.map((c) => /^babelize_refresh_token=([^;]+)/.exec(c)?.[1]).find(Boolean);
47
+ const newRefresh = refreshRes.data?.refresh_token ?? refreshRes.data?.session?.refresh_token ?? (fromCookie ? decodeURIComponent(fromCookie) : undefined);
48
+ if (!newToken)
49
+ return null;
50
+ config.setCredentials({ ...creds, accessToken: newToken, ...(newRefresh ? { refreshToken: newRefresh } : {}) });
51
+ return newToken;
43
52
  }
44
53
  catch {
45
- config.clearCredentials();
46
- console.error(chalk.red('\n⚠ Session expired.'));
47
- console.error(chalk.dim(' Run: babelize auth login'));
48
- console.error(chalk.dim(' Then retry your previous command.'));
49
- process.exit(ExitCode.AUTH);
54
+ return null;
50
55
  }
51
56
  }
57
+ async function refreshAccessToken() {
58
+ const creds = config.getCredentials();
59
+ if (!creds?.refreshToken)
60
+ return null;
61
+ const newToken = await refreshSessionToken();
62
+ if (newToken)
63
+ return newToken;
64
+ config.clearCredentials();
65
+ console.error(chalk.red('\n⚠ Session expired.'));
66
+ console.error(chalk.dim(' Run: babelize auth login'));
67
+ console.error(chalk.dim(' Then retry your previous command.'));
68
+ process.exit(ExitCode.AUTH);
69
+ }
52
70
  function createAxiosInstance() {
53
71
  const instance = axios.create({
54
72
  baseURL: getBaseUrl(),
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -156,7 +156,7 @@ export function registerAuthCommands(program) {
156
156
  process.exit(ExitCode.AUTH);
157
157
  }
158
158
  config.setCredentials({ accessToken, refreshToken, userId, email: userEmail });
159
- s.stop(chalk.hex('#22c55e')(`${sym.check} Logged in as ${chalk.bold(userEmail)}`));
159
+ s.stop(chalk.hex('#00bd7d')(`${sym.check} Logged in as ${chalk.bold(userEmail)}`));
160
160
  if (isJsonMode()) {
161
161
  printJson({ email: userEmail, userId, loggedIn: true });
162
162
  }
@@ -214,7 +214,7 @@ export function registerAuthCommands(program) {
214
214
  try {
215
215
  const client = getClient();
216
216
  await client.post('/auth/signup', { email, password, display_name: displayName });
217
- s.stop(chalk.hex('#22c55e')(`${sym.check} Account created!`));
217
+ s.stop(chalk.hex('#00bd7d')(`${sym.check} Account created!`));
218
218
  clack.log.info(`Confirm your email, then run: ${chalk.cyan('babelize auth login')}`);
219
219
  if (isJsonMode())
220
220
  printJson({ email, created: true });
@@ -244,7 +244,7 @@ export function registerAuthCommands(program) {
244
244
  }
245
245
  finally {
246
246
  config.clearCredentials();
247
- s.stop(chalk.hex('#22c55e')(`${sym.check} Logged out successfully.`));
247
+ s.stop(chalk.hex('#00bd7d')(`${sym.check} Logged out successfully.`));
248
248
  }
249
249
  });
250
250
  auth
@@ -303,7 +303,7 @@ export function registerAuthCommands(program) {
303
303
  try {
304
304
  const client = getClient();
305
305
  await client.post('/auth/reset-password', { email });
306
- s.stop(chalk.hex('#22c55e')(`${sym.check} Reset email sent. Check your inbox.`));
306
+ s.stop(chalk.hex('#00bd7d')(`${sym.check} Reset email sent. Check your inbox.`));
307
307
  }
308
308
  catch (err) {
309
309
  s.stop();
@@ -391,7 +391,7 @@ export function registerAuthCommands(program) {
391
391
  try {
392
392
  const client = getClient();
393
393
  await client.delete(`/auth/provider-tokens/${provider}`);
394
- s.stop(chalk.hex('#22c55e')(`${sym.check} ${provider} token deleted.`));
394
+ s.stop(chalk.hex('#00bd7d')(`${sym.check} ${provider} token deleted.`));
395
395
  }
396
396
  catch (err) {
397
397
  s.stop();
@@ -0,0 +1,29 @@
1
+ import { Command } from 'commander';
2
+ /** Written before the first commit when a project has no .gitignore, so it never commits secrets or dependencies. */
3
+ export declare const DEFAULT_GITIGNORE = "# Added by Babelize before the first commit\nnode_modules/\n.env\n.env.*\n!.env.example\ndist/\nbuild/\n.next/\nout/\ncoverage/\n.DS_Store\n__pycache__/\n*.pyc\n.venv/\nvenv/\n";
4
+ /** Offered first in the language picker; any supported code can be added. */
5
+ export declare const POPULAR_LANGUAGES: string[];
6
+ export declare function languageName(code: string): string;
7
+ /**
8
+ * Babelize writes into the working tree; git is what makes that reviewable and
9
+ * undoable. Returns true when the run should go ahead despite uncommitted
10
+ * changes (the person chose to, or git couldn't record a first commit).
11
+ */
12
+ export declare function ensureGit(cwd: string): Promise<boolean>;
13
+ interface SavedSettings {
14
+ sourceLocale?: string;
15
+ targetLocales?: string[];
16
+ }
17
+ export declare function readSettings(cwd: string): Promise<Record<string, unknown> & SavedSettings>;
18
+ /** Remember the languages for next time, keeping anything else in the file (e.g. a cloud projectId). */
19
+ export declare function saveSettings(cwd: string, settings: Required<SavedSettings>): Promise<void>;
20
+ export interface StartOptions {
21
+ to?: string;
22
+ from?: string;
23
+ force?: boolean;
24
+ yes?: boolean;
25
+ }
26
+ export declare function runStart(opts?: StartOptions): Promise<void>;
27
+ export declare function registerStartCommand(program: Command): void;
28
+ export {};
29
+ //# sourceMappingURL=start.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwCpC,qHAAqH;AACrH,eAAO,MAAM,iBAAiB,qLAe7B,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,iBAAiB,UAA+G,CAAC;AAM9I,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMjD;AAkBD;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAoD7D;AAID,UAAU,aAAa;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,aAAa,CAAC,CAOhG;AAED,wGAAwG;AACxG,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAIhG;AAqID,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAsB,QAAQ,CAAC,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiFrE;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0B3D"}
@@ -0,0 +1,356 @@
1
+ import { execFile } from 'node:child_process';
2
+ import { promisify } from 'node:util';
3
+ import { access, mkdir, readFile, writeFile } from 'node:fs/promises';
4
+ import * as path from 'node:path';
5
+ import chalk from 'chalk';
6
+ import * as clack from '../tui/clack.js';
7
+ import { detectI18n, detectStack, HostedTranslationProvider, isHostedResolution, isSupported, LocalTranslateError, localRepoFiles, parseLocales, resolveProvider, runLocalTranslate, SUPPORTED_SUMMARY, } from '@babelize/engine';
8
+ import { config, DEFAULT_API_URL } from '../config.js';
9
+ import { getBaseUrl, getClient } from '../client.js';
10
+ import { globalOptions, isAssumeYes, isNonInteractive } from '../global-options.js';
11
+ import { ExitCode } from '../exit-codes.js';
12
+ import { brand, muted, warning, error as errorColor, sym } from '../tui/theme.js';
13
+ import { renderSimpleHelp } from '../tui/help.js';
14
+ import { createProgress, renderReport } from './translate.js';
15
+ import { sessionEmail, sessionToken, sessionTranslator } from '../session-translator.js';
16
+ /**
17
+ * `babelize start` — and bare `babelize` in a terminal: translate the project
18
+ * in this folder in one go. Checks git, finds the framework, signs in if
19
+ * needed, asks for languages (remembered in .babelize/config.json), then
20
+ * translates locally and writes the result for review with `git diff`.
21
+ */
22
+ const run = promisify(execFile);
23
+ /** Written before the first commit when a project has no .gitignore, so it never commits secrets or dependencies. */
24
+ export const DEFAULT_GITIGNORE = `# Added by Babelize before the first commit
25
+ node_modules/
26
+ .env
27
+ .env.*
28
+ !.env.example
29
+ dist/
30
+ build/
31
+ .next/
32
+ out/
33
+ coverage/
34
+ .DS_Store
35
+ __pycache__/
36
+ *.pyc
37
+ .venv/
38
+ venv/
39
+ `;
40
+ /** Offered first in the language picker; any supported code can be added. */
41
+ export const POPULAR_LANGUAGES = ['es', 'fr', 'de', 'pt-BR', 'it', 'ja', 'ko', 'zh-CN', 'hi', 'ar', 'ru', 'nl', 'tr', 'pl', 'id', 'vi', 'sv'];
42
+ const OTHER = '__other__';
43
+ const CONFIG_FILE = path.join('.babelize', 'config.json');
44
+ const displayNames = new Intl.DisplayNames(['en'], { type: 'language' });
45
+ export function languageName(code) {
46
+ try {
47
+ return displayNames.of(code) ?? code;
48
+ }
49
+ catch {
50
+ return code;
51
+ }
52
+ }
53
+ function stop(message, code) {
54
+ clack.cancel(message);
55
+ process.exit(code);
56
+ }
57
+ function cancelled(value) {
58
+ if (clack.isCancel(value))
59
+ stop('Cancelled. Nothing was changed.', ExitCode.CANCEL);
60
+ }
61
+ // --- git -------------------------------------------------------------------
62
+ async function git(cwd, ...args) {
63
+ const { stdout } = await run('git', args, { cwd });
64
+ return stdout.trim();
65
+ }
66
+ /**
67
+ * Babelize writes into the working tree; git is what makes that reviewable and
68
+ * undoable. Returns true when the run should go ahead despite uncommitted
69
+ * changes (the person chose to, or git couldn't record a first commit).
70
+ */
71
+ export async function ensureGit(cwd) {
72
+ try {
73
+ await git(cwd, 'rev-parse', '--is-inside-work-tree');
74
+ }
75
+ catch (err) {
76
+ if (err.code === 'ENOENT') {
77
+ stop('Babelize needs git to keep its changes reviewable. Install git (https://git-scm.com), then run this again.', ExitCode.CONFIG);
78
+ }
79
+ clack.log.warn(`This folder isn't a git repository yet. ${muted('Git lets you see and undo every change Babelize makes.')}`);
80
+ // Never set up git (and commit everything) without a person saying so: not with --yes, not in CI.
81
+ if (isNonInteractive()) {
82
+ stop('Run `git init` and commit your files, then run Babelize again. (It only sets up git when you\'re there to say yes.)', ExitCode.USAGE);
83
+ }
84
+ const setUp = await clack.confirm({ message: 'Set up git here? (git init, then a first commit of your current files)', initialValue: true });
85
+ cancelled(setUp);
86
+ if (!setUp)
87
+ stop('Run `git init` and commit your files, then run Babelize again.', ExitCode.USAGE);
88
+ await git(cwd, 'init');
89
+ try {
90
+ await access(path.join(cwd, '.gitignore')).catch(async () => {
91
+ await writeFile(path.join(cwd, '.gitignore'), DEFAULT_GITIGNORE);
92
+ clack.log.step(muted('Added a .gitignore so dependencies, build output and .env files stay out of git.'));
93
+ });
94
+ await git(cwd, 'add', '-A');
95
+ await git(cwd, 'commit', '-m', 'Before Babelize', '--no-verify');
96
+ clack.log.success('Set up git and saved your current files as a first commit.');
97
+ return false;
98
+ }
99
+ catch {
100
+ clack.log.warn(`Set up git, but couldn't make the first commit ${muted('(git needs your name and email: git config --global user.name "…" and user.email "…")')}. ` +
101
+ 'Continuing: Babelize\'s files will show up as new in `git status`.');
102
+ return true;
103
+ }
104
+ }
105
+ const status = await git(cwd, 'status', '--porcelain');
106
+ if (!status)
107
+ return false;
108
+ const count = status.split('\n').length;
109
+ clack.log.warn(`You have ${count} uncommitted change${count === 1 ? '' : 's'}. ${muted("Babelize's edits would mix with yours, which makes them harder to review or undo.")}`);
110
+ const choice = await clack.select({
111
+ message: 'What would you like to do?',
112
+ flag: '--force',
113
+ options: [
114
+ { value: 'stop', label: 'Stop, so I can commit first', hint: 'recommended' },
115
+ { value: 'continue', label: 'Continue anyway' },
116
+ ],
117
+ initialValue: 'stop',
118
+ });
119
+ cancelled(choice);
120
+ if (choice === 'stop')
121
+ stop('Commit or stash your changes, then run Babelize again.', ExitCode.USAGE);
122
+ return true;
123
+ }
124
+ export async function readSettings(cwd) {
125
+ try {
126
+ const parsed = JSON.parse(await readFile(path.join(cwd, CONFIG_FILE), 'utf8'));
127
+ return parsed && typeof parsed === 'object' && !Array.isArray(parsed) ? parsed : {};
128
+ }
129
+ catch {
130
+ return {};
131
+ }
132
+ }
133
+ /** Remember the languages for next time, keeping anything else in the file (e.g. a cloud projectId). */
134
+ export async function saveSettings(cwd, settings) {
135
+ const current = await readSettings(cwd);
136
+ await mkdir(path.join(cwd, '.babelize'), { recursive: true });
137
+ await writeFile(path.join(cwd, CONFIG_FILE), `${JSON.stringify({ ...current, ...settings }, null, 2)}\n`);
138
+ }
139
+ async function signIn() {
140
+ // First run on this machine: Babelize Cloud (self-hosting is `babelize auth login --api-url`).
141
+ if (!globalOptions.apiUrl && !process.env.BABELIZE_API_URL && !config.hasStoredApiUrl())
142
+ config.setApiUrl(DEFAULT_API_URL);
143
+ const apiUrl = getBaseUrl();
144
+ const method = await clack.select({
145
+ message: 'Sign in to Babelize to translate (uses your plan\'s credits)',
146
+ flag: '--token or BABELIZE_TOKEN',
147
+ options: [
148
+ { value: 'github', label: 'GitHub' },
149
+ { value: 'google', label: 'Google' },
150
+ { value: 'email', label: 'Email and password' },
151
+ ],
152
+ });
153
+ cancelled(method);
154
+ if (method === 'github' || method === 'google') {
155
+ clack.log.step(muted('Opening your browser to sign in…'));
156
+ try {
157
+ const { performOAuthFlow } = await import('../oauth.js');
158
+ const result = await performOAuthFlow(apiUrl, method);
159
+ config.setCredentials({ accessToken: result.accessToken, refreshToken: result.refreshToken, userId: result.userId, email: result.email });
160
+ clack.log.success(`Signed in as ${chalk.bold(result.email)}`);
161
+ return;
162
+ }
163
+ catch (err) {
164
+ stop(`Sign-in didn't finish: ${err.message}. Try again, or run \`babelize auth login\`.`, ExitCode.AUTH);
165
+ }
166
+ }
167
+ const email = await clack.text({ message: 'Email', validate: (v) => (v?.includes('@') ? undefined : 'Enter a valid email') });
168
+ cancelled(email);
169
+ const password = await clack.password({ message: 'Password', validate: (v) => (v ? undefined : 'Enter your password') });
170
+ cancelled(password);
171
+ try {
172
+ const res = await getClient().post('/auth/login', { email, password });
173
+ const data = res.data?.data || res.data;
174
+ const accessToken = data?.session?.access_token ?? data?.access_token;
175
+ if (!accessToken)
176
+ stop('Sign-in failed: unexpected response from the server.', ExitCode.AUTH);
177
+ config.setCredentials({
178
+ accessToken,
179
+ refreshToken: data?.session?.refresh_token ?? data?.refresh_token,
180
+ userId: data?.user?.id ?? data?.id,
181
+ email: data?.user?.email ?? String(email),
182
+ });
183
+ clack.log.success(`Signed in as ${chalk.bold(data?.user?.email ?? String(email))}`);
184
+ }
185
+ catch (err) {
186
+ const status = err.response?.status;
187
+ stop(status === 401 || status === 400 ? 'Wrong email or password.' : `Sign-in failed: ${err.message}`, ExitCode.AUTH);
188
+ }
189
+ }
190
+ /** Your own LLM key if one is set, else Babelize with your API key or signed-in session (signing in when needed). */
191
+ async function pickTranslator() {
192
+ const resolution = resolveProvider({});
193
+ if (resolution.ok && !isHostedResolution(resolution.value)) {
194
+ const p = resolution.value;
195
+ return { kind: 'byok', provider: p, label: `your ${p.envVar} (${p.provider} · ${p.model})`, billing: `billed to your ${p.provider} key` };
196
+ }
197
+ if (resolution.ok && isHostedResolution(resolution.value)) {
198
+ return {
199
+ kind: 'hosted',
200
+ hosted: new HostedTranslationProvider({ apiKey: resolution.value.apiKey, apiUrl: getBaseUrl() }),
201
+ label: 'Babelize (BABELIZE_API_KEY)',
202
+ billing: 'uses your Babelize credits',
203
+ };
204
+ }
205
+ if (!sessionToken())
206
+ await signIn();
207
+ const token = sessionToken();
208
+ if (!token)
209
+ stop('Not signed in. Run `babelize auth login`, then try again.', ExitCode.AUTH);
210
+ const who = sessionEmail();
211
+ return { kind: 'hosted', hosted: sessionTranslator(token), label: `Babelize${who ? ` (signed in as ${who})` : ''}`, billing: 'uses your Babelize credits' };
212
+ }
213
+ // --- languages ---------------------------------------------------------------
214
+ async function pickLanguages(source, existing, saved) {
215
+ const names = (codes) => codes.map(languageName).join(', ');
216
+ if (saved && saved.length > 0) {
217
+ const again = await clack.select({
218
+ message: `Translate into ${names(saved)} again?`,
219
+ flag: '--to',
220
+ options: [
221
+ { value: 'same', label: `Yes, ${names(saved)}` },
222
+ { value: 'change', label: 'Change languages' },
223
+ ],
224
+ });
225
+ cancelled(again);
226
+ if (again === 'same')
227
+ return saved;
228
+ }
229
+ const preselected = (saved?.length ? saved : existing).filter((c) => c !== source && isSupported(c));
230
+ const choices = [...new Set([...preselected, ...POPULAR_LANGUAGES])].filter((c) => c !== source && isSupported(c));
231
+ const picked = await clack.multiselect({
232
+ message: 'Which languages? (space to select, enter to continue)',
233
+ flag: '--to',
234
+ options: [
235
+ ...choices.map((c) => ({ value: c, label: languageName(c), hint: existing.includes(c) ? `${c} · already in your project` : c })),
236
+ { value: OTHER, label: 'Another language…', hint: 'type its code' },
237
+ ],
238
+ initialValues: preselected,
239
+ required: true,
240
+ });
241
+ cancelled(picked);
242
+ const list = picked.filter((c) => c !== OTHER);
243
+ if (picked.includes(OTHER)) {
244
+ const more = await clack.text({
245
+ message: 'Language codes, comma-separated',
246
+ placeholder: 'sv, pt-PT, zh-TW',
247
+ validate: (v) => {
248
+ const codes = parseLocales(v, source);
249
+ if (codes.length === 0)
250
+ return 'Enter at least one code';
251
+ const bad = codes.filter((c) => !isSupported(c));
252
+ return bad.length ? `Not supported: ${bad.join(', ')}` : undefined;
253
+ },
254
+ });
255
+ cancelled(more);
256
+ list.push(...parseLocales(String(more), source));
257
+ }
258
+ const unique = [...new Set(list)];
259
+ if (unique.length === 0)
260
+ stop('No languages picked. Nothing was changed.', ExitCode.CANCEL);
261
+ return unique;
262
+ }
263
+ export async function runStart(opts = {}) {
264
+ const cwd = process.cwd();
265
+ clack.intro(`${brand('Babelize')} ${muted('· translate this project')}`);
266
+ const force = opts.force === true || (await ensureGit(cwd));
267
+ const files = await localRepoFiles(cwd);
268
+ const stack = await detectStack(files);
269
+ if (!stack.supported) {
270
+ stop(`${stack.message ?? "Couldn't find an app Babelize can translate in this folder."}\nBabelize works with ${SUPPORTED_SUMMARY}. Run it from your project's folder.`, ExitCode.CONFIG);
271
+ }
272
+ const i18n = await detectI18n(files, stack.framework);
273
+ const saved = await readSettings(cwd);
274
+ const source = (opts.from ?? saved.sourceLocale ?? i18n.sourceLanguage.code ?? 'en').trim();
275
+ clack.log.info(`Found a ${chalk.bold(stack.name)} app${i18n.library ? ` using ${i18n.library.name}` : ''} ${muted(`· written in ${languageName(source)}`)}`);
276
+ const translator = await pickTranslator();
277
+ const targets = opts.to
278
+ ? parseLocales(opts.to, source)
279
+ : await pickLanguages(source, i18n.locales, saved.targetLocales?.filter((c) => typeof c === 'string'));
280
+ const unsupported = targets.filter((c) => !isSupported(c));
281
+ if (unsupported.length)
282
+ stop(`Not supported: ${unsupported.join(', ')}. Use codes like fr, de, ja, pt-BR.`, ExitCode.USAGE);
283
+ // Saved once the run is done (or declined): writing it now would leave an
284
+ // uncommitted file behind and trip the clean-tree check.
285
+ const remember = () => saveSettings(cwd, { sourceLocale: source, targetLocales: targets });
286
+ if (!opts.yes && !isAssumeYes()) {
287
+ const ok = await clack.confirm({
288
+ message: `Translate into ${targets.map(languageName).join(', ')} with ${translator.label}? (${translator.billing})`,
289
+ initialValue: true,
290
+ });
291
+ if (clack.isCancel(ok) || !ok) {
292
+ await remember();
293
+ stop('Cancelled. Your language choice is saved for next time.', ExitCode.CANCEL);
294
+ }
295
+ }
296
+ const progress = createProgress();
297
+ progress.start('Getting your project ready…');
298
+ let report;
299
+ try {
300
+ report = await runLocalTranslate({
301
+ projectDir: cwd,
302
+ sourceLocale: source,
303
+ targetLocales: targets,
304
+ dryRun: false,
305
+ force,
306
+ ...(translator.kind === 'byok'
307
+ ? { byok: { provider: translator.provider.provider, apiKey: translator.provider.apiKey, model: translator.provider.model } }
308
+ : {}),
309
+ }, {
310
+ ...(translator.kind === 'hosted' ? { hosted: translator.hosted } : {}),
311
+ onProgress: (message, phase, status) => {
312
+ if (!status || status === 'running')
313
+ progress.message(message, phase);
314
+ },
315
+ });
316
+ }
317
+ catch (err) {
318
+ progress.stop(errorColor('Translation did not finish. Nothing in your project was changed.'));
319
+ if (err instanceof LocalTranslateError) {
320
+ const code = err.code === 'hosted_auth' ? ExitCode.AUTH : err.code === 'hosted_credits' ? ExitCode.API_ERROR : ExitCode.INTERNAL;
321
+ stop(err.message, code);
322
+ }
323
+ stop(`Unexpected error: ${err.message}`, ExitCode.INTERNAL);
324
+ }
325
+ await remember();
326
+ const partial = report.translationFailures.length > 0;
327
+ progress.stop(partial ? warning(`${sym.warn} Done, with some strings left to retry.`) : `${sym.check} Translated in ${(report.durationMs / 1000).toFixed(1)}s.`);
328
+ console.log(renderReport(report, globalOptions.verbose === true));
329
+ clack.outro(report.applied
330
+ ? `Next time, just run ${brand('npx @babelize/cli')} again: only new or changed text is translated.\n ${muted('Want a pull request instead? Connect the repo at app.babelize.co, or run `babelize run start`.')}`
331
+ : 'Everything is already translated.');
332
+ if (partial)
333
+ process.exit(ExitCode.API_ERROR);
334
+ }
335
+ export function registerStartCommand(program) {
336
+ const cmd = program
337
+ .command('start')
338
+ .description('Translate the project in this folder, step by step (what bare `babelize` runs)')
339
+ .option('-t, --to <locales>', 'Languages to translate into, e.g. fr,de,ja (skips the picker)')
340
+ .option('-f, --from <locale>', 'Language your app is written in (default: detected)')
341
+ .option('--force', 'Run even with uncommitted changes')
342
+ .action(async (opts) => {
343
+ if (isNonInteractive() && !opts.to) {
344
+ console.error(`${errorColor(sym.cross)} babelize start needs --to <locales> when it can't ask (non-interactive). Example: babelize start --to fr,de --yes`);
345
+ process.exit(ExitCode.USAGE);
346
+ }
347
+ await runStart({ ...opts, yes: isAssumeYes() });
348
+ });
349
+ cmd.helpInformation = () => renderSimpleHelp('start', 'Translate the project in this folder: checks git, finds the framework, signs you in if needed, asks which languages, then writes translated files for review with `git diff`. Bare `babelize` runs this.', [
350
+ { name: '-t, --to <locales>', desc: 'Languages, e.g. fr,de,ja (skips the picker)' },
351
+ { name: '-f, --from <locale>', desc: 'Language your app is written in (default: detected)' },
352
+ { name: '--force', desc: 'Run even with uncommitted changes' },
353
+ { name: '-y, --yes', desc: 'Skip the final confirmation' },
354
+ ]);
355
+ }
356
+ //# sourceMappingURL=start.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAC;AACzC,OAAO,EACL,UAAU,EACV,WAAW,EACX,yBAAyB,EACzB,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,iBAAiB,GAGlB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAEzF;;;;;GAKG;AAEH,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAEhC,qHAAqH;AACrH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;CAehC,CAAC;AAEF,6EAA6E;AAC7E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE9I,MAAM,KAAK,GAAG,WAAW,CAAC;AAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;AAE1D,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;AACzE,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,IAAI,CAAC,OAAe,EAAE,IAAY;IACzC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,IAAI,CAAC,iCAAiC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;AACtF,CAAC;AAED,8EAA8E;AAE9E,KAAK,UAAU,GAAG,CAAC,GAAW,EAAE,GAAG,IAAc;IAC/C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACnD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAAW;IACzC,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,uBAAuB,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrD,IAAI,CAAC,4GAA4G,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtI,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,2CAA2C,KAAK,CAAC,wDAAwD,CAAC,EAAE,CAAC,CAAC;QAC7H,kGAAkG;QAClG,IAAI,gBAAgB,EAAE,EAAE,CAAC;YACvB,IAAI,CAAC,qHAAqH,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9I,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,wEAAwE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7I,SAAS,CAAC,KAAK,CAAC,CAAC;QACjB,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,gEAAgE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACnG,MAAM,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;gBAC1D,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,iBAAiB,CAAC,CAAC;gBACjE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,kFAAkF,CAAC,CAAC,CAAC;YAC5G,CAAC,CAAC,CAAC;YACH,MAAM,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC5B,MAAM,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,aAAa,CAAC,CAAC;YACjE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,4DAA4D,CAAC,CAAC;YAChF,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,CAAC,GAAG,CAAC,IAAI,CACZ,kDAAkD,KAAK,CAAC,uFAAuF,CAAC,IAAI;gBAClJ,oEAAoE,CACvE,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IACvD,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IACxC,KAAK,CAAC,GAAG,CAAC,IAAI,CACZ,YAAY,KAAK,sBAAsB,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,CAAC,mFAAmF,CAAC,EAAE,CAC/J,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC;QAChC,OAAO,EAAE,4BAA4B;QACrC,IAAI,EAAE,SAAS;QACf,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,6BAA6B,EAAE,IAAI,EAAE,aAAa,EAAE;YAC5E,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE;SAChD;QACD,YAAY,EAAE,MAAM;KACrB,CAAC,CAAC;IACH,SAAS,CAAC,MAAM,CAAC,CAAC;IAClB,IAAI,MAAM,KAAK,MAAM;QAAE,IAAI,CAAC,wDAAwD,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtG,OAAO,IAAI,CAAC;AACd,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAW;IAC5C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,CAAY,CAAC;QAC1F,OAAO,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,MAAkC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,wGAAwG;AACxG,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAW,EAAE,QAAiC;IAC/E,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5G,CAAC;AAQD,KAAK,UAAU,MAAM;IACnB,+FAA+F;IAC/F,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;QAAE,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAC3H,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC;QAChC,OAAO,EAAE,8DAA8D;QACvE,IAAI,EAAE,2BAA2B;QACjC,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;YACpC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;YACpC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE;SAChD;KACF,CAAC,CAAC;IACH,SAAS,CAAC,MAAM,CAAC,CAAC;IAElB,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/C,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC;YACH,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACtD,MAAM,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC1I,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,0BAA2B,GAAa,CAAC,OAAO,8CAA8C,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtH,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;IACvI,SAAS,CAAC,KAAK,CAAC,CAAC;IACjB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAClI,SAAS,CAAC,QAAQ,CAAC,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC;QACxC,MAAM,WAAW,GAAG,IAAI,EAAE,OAAO,EAAE,YAAY,IAAI,IAAI,EAAE,YAAY,CAAC;QACtE,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,sDAAsD,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9F,MAAM,CAAC,cAAc,CAAC;YACpB,WAAW;YACX,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,IAAI,IAAI,EAAE,aAAa;YACjE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE;YAClC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;SAC1C,CAAC,CAAC;QACH,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IACtF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,GAAI,GAA0C,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC5E,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,mBAAoB,GAAa,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnI,CAAC;AACH,CAAC;AAED,qHAAqH;AACrH,KAAK,UAAU,cAAc;IAC3B,MAAM,UAAU,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,UAAU,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3D,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC;QAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,QAAQ,MAAM,EAAE,CAAC;IAC5I,CAAC;IACD,IAAI,UAAU,CAAC,EAAE,IAAI,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1D,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,IAAI,yBAAyB,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC;YAChG,KAAK,EAAE,6BAA6B;YACpC,OAAO,EAAE,4BAA4B;SACtC,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,YAAY,EAAE;QAAE,MAAM,MAAM,EAAE,CAAC;IACpC,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAC7B,IAAI,CAAC,KAAK;QAAE,IAAI,CAAC,2DAA2D,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7F,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;IAC3B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,kBAAkB,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC;AAC9J,CAAC;AAED,gFAAgF;AAEhF,KAAK,UAAU,aAAa,CAAC,MAAc,EAAE,QAAkB,EAAE,KAA2B;IAC1F,MAAM,KAAK,GAAG,CAAC,KAAe,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtE,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC;YAC/B,OAAO,EAAE,kBAAkB,KAAK,CAAC,KAAK,CAAC,SAAS;YAChD,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE;gBAChD,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,kBAAkB,EAAE;aAC/C;SACF,CAAC,CAAC;QACH,SAAS,CAAC,KAAK,CAAC,CAAC;QACjB,IAAI,KAAK,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;IACrC,CAAC;IAED,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACrG,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACnH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAAS;QAC7C,OAAO,EAAE,uDAAuD;QAChE,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAChI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,eAAe,EAAE;SACpE;QACD,aAAa,EAAE,WAAW;QAC1B,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IACH,SAAS,CAAC,MAAM,CAAC,CAAC;IAClB,MAAM,IAAI,GAAI,MAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;IAC7D,IAAK,MAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC;YAC5B,OAAO,EAAE,iCAAiC;YAC1C,WAAW,EAAE,kBAAkB;YAC/B,QAAQ,EAAE,CAAC,CAAU,EAAE,EAAE;gBACvB,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBACtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,yBAAyB,CAAC;gBACzD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjD,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACrE,CAAC;SACF,CAAC,CAAC;QACH,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAClC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,IAAI,CAAC,2CAA2C,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5F,OAAO,MAAM,CAAC;AAChB,CAAC;AAWD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAqB,EAAE;IACpD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;IAEzE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAE5D,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,IAAI,6DAA6D,yBAAyB,iBAAiB,sCAAsC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3L,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5F,KAAK,CAAC,GAAG,CAAC,IAAI,CACZ,WAAW,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,gBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAC7I,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAC;IAE1C,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE;QACrB,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC;QAC/B,CAAC,CAAC,MAAM,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;IACzG,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,IAAI,WAAW,CAAC,MAAM;QAAE,IAAI,CAAC,kBAAkB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,qCAAqC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5H,0EAA0E;IAC1E,yDAAyD;IACzD,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC;IAE3F,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QAChC,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC;YAC7B,OAAO,EAAE,kBAAkB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,KAAK,MAAM,UAAU,CAAC,OAAO,GAAG;YACnH,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YAC9B,MAAM,QAAQ,EAAE,CAAC;YACjB,IAAI,CAAC,yDAAyD,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;IAClC,QAAQ,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC9C,IAAI,MAA4B,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,iBAAiB,CAC9B;YACE,UAAU,EAAE,GAAG;YACf,YAAY,EAAE,MAAM;YACpB,aAAa,EAAE,OAAO;YACtB,MAAM,EAAE,KAAK;YACb,KAAK;YACL,GAAG,CAAC,UAAU,CAAC,IAAI,KAAK,MAAM;gBAC5B,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE;gBAC5H,CAAC,CAAC,EAAE,CAAC;SACR,EACD;YACE,GAAG,CAAC,UAAU,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,UAAU,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBACrC,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,SAAS;oBAAE,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACxE,CAAC;SACF,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,kEAAkE,CAAC,CAAC,CAAC;QAC9F,IAAI,GAAG,YAAY,mBAAmB,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACjI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,qBAAsB,GAAa,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,QAAQ,EAAE,CAAC;IACjB,MAAM,OAAO,GAAG,MAAM,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC;IACtD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,IAAI,yCAAyC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,kBAAkB,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACjK,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC;IAClE,KAAK,CAAC,KAAK,CACT,MAAM,CAAC,OAAO;QACZ,CAAC,CAAC,uBAAuB,KAAK,CAAC,mBAAmB,CAAC,uDAAuD,KAAK,CAAC,gGAAgG,CAAC,EAAE;QACnN,CAAC,CAAC,mCAAmC,CACxC,CAAC;IACF,IAAI,OAAO;QAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,MAAM,GAAG,GAAG,OAAO;SAChB,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,gFAAgF,CAAC;SAC7F,MAAM,CAAC,oBAAoB,EAAE,+DAA+D,CAAC;SAC7F,MAAM,CAAC,qBAAqB,EAAE,qDAAqD,CAAC;SACpF,MAAM,CAAC,SAAS,EAAE,mCAAmC,CAAC;SACtD,MAAM,CAAC,KAAK,EAAE,IAAkB,EAAE,EAAE;QACnC,IAAI,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACnC,OAAO,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,oHAAoH,CAAC,CAAC;YAC5J,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM,QAAQ,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEL,GAAG,CAAC,eAAe,GAAG,GAAG,EAAE,CACzB,gBAAgB,CACd,OAAO,EACP,0MAA0M,EAC1M;QACE,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,6CAA6C,EAAE;QACnF,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,qDAAqD,EAAE;QAC5F,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,mCAAmC,EAAE;QAC9D,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,6BAA6B,EAAE;KAC3D,CACF,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"translate.d.ts","sourceRoot":"","sources":["../../src/commands/translate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,OAAO,EAeL,KAAK,oBAAoB,EAC1B,MAAM,kBAAkB,CAAC;AAgB1B;;;;GAIG;AACH,eAAO,MAAM,eAAe,WAAW,CAAC;AAExC,eAAO,MAAM,cAAc,yKACoH,CAAC;AAoChJ,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,8EAA8E;AAC9E,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,UAAqB,GAAG,QAAQ,CAqBtE;AAYD,wBAAgB,YAAY,CAAC,MAAM,EAAE,oBAAoB,EAAE,OAAO,UAAQ,GAAG,MAAM,CAiKlF;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+L/D"}
1
+ {"version":3,"file":"translate.d.ts","sourceRoot":"","sources":["../../src/commands/translate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,OAAO,EAeL,KAAK,oBAAoB,EAC1B,MAAM,kBAAkB,CAAC;AAgB1B;;;;GAIG;AACH,eAAO,MAAM,eAAe,WAAW,CAAC;AAExC,eAAO,MAAM,cAAc,yKACoH,CAAC;AAoChJ,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,8EAA8E;AAC9E,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,UAAqB,GAAG,QAAQ,CAqBtE;AAYD,wBAAgB,YAAY,CAAC,MAAM,EAAE,oBAAoB,EAAE,OAAO,UAAQ,GAAG,MAAM,CAiKlF;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+M/D"}