@kodycodes/cli 1.16.4 → 1.17.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 +10 -5
- package/dist/auth.d.ts +14 -0
- package/dist/auth.js +95 -22
- package/dist/auth.js.map +1 -1
- package/dist/cli.js +52 -3
- package/dist/cli.js.map +1 -1
- package/dist/discover-login-identity.d.ts +18 -0
- package/dist/discover-login-identity.js +77 -0
- package/dist/discover-login-identity.js.map +1 -0
- package/dist/help.js +18 -4
- package/dist/help.js.map +1 -1
- package/dist/login-callback-assets.d.ts +9 -0
- package/dist/login-callback-assets.js +10 -0
- package/dist/login-callback-assets.js.map +1 -0
- package/dist/login-callback-page.d.ts +21 -0
- package/dist/login-callback-page.js +362 -0
- package/dist/login-callback-page.js.map +1 -0
- package/dist/setup-git.d.ts +127 -6
- package/dist/setup-git.js +349 -17
- package/dist/setup-git.js.map +1 -1
- package/package.json +1 -1
package/dist/setup-git.d.ts
CHANGED
|
@@ -78,24 +78,57 @@ export declare function installGitCredentialConfig(input: {
|
|
|
78
78
|
};
|
|
79
79
|
/** Refresh git HTTPS tokens this long before `expiresAt` (or when past it). */
|
|
80
80
|
export declare const gitApiTokenRefreshSkewMs: number;
|
|
81
|
+
/**
|
|
82
|
+
* First published CLI line that includes `git-credential` / `auth setup-git`.
|
|
83
|
+
* Global installs older than this must not be preferred as the helper binary.
|
|
84
|
+
*/
|
|
85
|
+
export declare const gitCredentialMinCliVersion = "1.16.0";
|
|
86
|
+
/**
|
|
87
|
+
* Fallback exact pin for local `0.0.0-semantically-released` builds. Published
|
|
88
|
+
* tarballs always carry a real x.y.z from semantic-release.
|
|
89
|
+
*/
|
|
90
|
+
export declare const gitCredentialHelperPinFallbackVersion = "1.16.0";
|
|
81
91
|
export declare function readCliPackageVersion(): string;
|
|
82
92
|
/**
|
|
83
93
|
* True when the CLI entry lives under npm's ephemeral `npx` cache
|
|
84
94
|
* (`~/.npm/_npx/…`). Those paths break after `npm cache clean`.
|
|
85
95
|
*/
|
|
86
96
|
export declare function isEphemeralNpxEntryPath(entryPath: string): boolean;
|
|
97
|
+
export type CliSemver = {
|
|
98
|
+
major: number;
|
|
99
|
+
minor: number;
|
|
100
|
+
patch: number;
|
|
101
|
+
};
|
|
102
|
+
/** Parse a leading `x.y.z` from a CLI version string (ignores prerelease tags). */
|
|
103
|
+
export declare function parseCliSemver(version: string): CliSemver | null;
|
|
104
|
+
export declare function compareCliSemver(a: CliSemver, b: CliSemver): number;
|
|
105
|
+
export declare function cliVersionGte(version: string, minimum: string): boolean;
|
|
106
|
+
export declare function cliVersionGt(version: string, other: string): boolean;
|
|
107
|
+
/** True when this CLI version knows the `git-credential` command. */
|
|
108
|
+
export declare function cliVersionSupportsGitCredential(version: string): boolean;
|
|
87
109
|
/**
|
|
88
|
-
*
|
|
89
|
-
*
|
|
110
|
+
* Exact version for `npx -y @kodycodes/cli@<x.y.z>`. Major-only ranges are
|
|
111
|
+
* unsafe: npx can reuse a stale cache (e.g. 1.1.0 for `@1`). Local
|
|
112
|
+
* `0.0.0-semantically-released` builds fall back to
|
|
113
|
+
* {@link gitCredentialHelperPinFallbackVersion}.
|
|
90
114
|
*/
|
|
115
|
+
export declare function cliExactVersionForNpx(packageVersion: string): string;
|
|
116
|
+
/** @deprecated Use {@link cliExactVersionForNpx}. Kept for one release as alias. */
|
|
91
117
|
export declare function cliMajorVersionForNpx(packageVersion: string): string;
|
|
92
118
|
/** Whether a stored API token should be reminted for git HTTPS. */
|
|
93
119
|
export declare function apiTokenNeedsRefresh(stored: Pick<StoredApiToken, 'expiresAt'> | null | undefined, nowMs?: number, skewMs?: number): boolean;
|
|
120
|
+
export type KodyVersionReader = (binPath: string) => string | null;
|
|
94
121
|
/**
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
|
|
98
|
-
|
|
122
|
+
* Read `kody --version` (or `node entry --version`) stdout. Returns null on
|
|
123
|
+
* failure so callers can skip preferring an unverifiable binary.
|
|
124
|
+
*/
|
|
125
|
+
export declare function readVersionFromKodyBinary(binPath: string, args?: ReadonlyArray<string>): string | null;
|
|
126
|
+
/**
|
|
127
|
+
* Helper argv for git config. Prefer a global `kody` only when its version
|
|
128
|
+
* supports `git-credential`; else a non-npx entry path; else
|
|
129
|
+
* `npx -y @kodycodes/cli@<exact>` so npx cannot reuse a stale major-range
|
|
130
|
+
* cache. Re-running `auth setup-git` (and every CLI command via pin refresh)
|
|
131
|
+
* rewrites ephemeral / major-range / outdated pins.
|
|
99
132
|
*/
|
|
100
133
|
export declare function gitCredentialHelperCommand(input?: {
|
|
101
134
|
execPath?: string;
|
|
@@ -103,7 +136,51 @@ export declare function gitCredentialHelperCommand(input?: {
|
|
|
103
136
|
env?: NodeJS.ProcessEnv;
|
|
104
137
|
which?: typeof whichOnPath;
|
|
105
138
|
packageVersion?: string;
|
|
139
|
+
readKodyVersion?: KodyVersionReader;
|
|
106
140
|
}): string;
|
|
141
|
+
/** Detect major-only npx pins (`@1`, `@2`) that can resolve to a stale cache. */
|
|
142
|
+
export declare function isMajorOnlyNpxHelper(helper: string): boolean;
|
|
143
|
+
/** Exact `@kodycodes/cli@x.y.z` pin from a helper command, if present. */
|
|
144
|
+
export declare function exactNpxHelperVersion(helper: string): string | null;
|
|
145
|
+
/**
|
|
146
|
+
* True when an installed helper should be rewritten: ephemeral npx path,
|
|
147
|
+
* major-only pin, exact pin older than the running CLI, or a binary that
|
|
148
|
+
* does not support `git-credential`.
|
|
149
|
+
*/
|
|
150
|
+
export declare function gitCredentialHelperNeedsRepair(input: {
|
|
151
|
+
helper: string | null | undefined;
|
|
152
|
+
packageVersion?: string;
|
|
153
|
+
readKodyVersion?: KodyVersionReader;
|
|
154
|
+
}): boolean;
|
|
155
|
+
export type GitConfigGetRunner = (args: ReadonlyArray<string>) => {
|
|
156
|
+
status: number;
|
|
157
|
+
stdout: string;
|
|
158
|
+
stderr: string;
|
|
159
|
+
};
|
|
160
|
+
export declare function defaultGitConfigGetRunner(args: ReadonlyArray<string>): {
|
|
161
|
+
status: number;
|
|
162
|
+
stdout: string;
|
|
163
|
+
stderr: string;
|
|
164
|
+
};
|
|
165
|
+
/**
|
|
166
|
+
* Best-effort: if a Kody HTTPS credential helper is installed but stale,
|
|
167
|
+
* rewrite it to {@link gitCredentialHelperCommand}. Silent — safe to call
|
|
168
|
+
* from every CLI entry including `git-credential` (must not touch stdout).
|
|
169
|
+
* Returns whether a rewrite ran.
|
|
170
|
+
*/
|
|
171
|
+
export declare function refreshGitCredentialHelperPinIfNeeded(input?: {
|
|
172
|
+
mcpUrl?: string;
|
|
173
|
+
global?: boolean;
|
|
174
|
+
packageVersion?: string;
|
|
175
|
+
helperCommand?: string;
|
|
176
|
+
runGitGet?: GitConfigGetRunner;
|
|
177
|
+
runGit?: GitConfigRunner;
|
|
178
|
+
readKodyVersion?: KodyVersionReader;
|
|
179
|
+
which?: typeof whichOnPath;
|
|
180
|
+
execPath?: string;
|
|
181
|
+
entryPath?: string;
|
|
182
|
+
env?: NodeJS.ProcessEnv;
|
|
183
|
+
}): boolean;
|
|
107
184
|
export type AuthSetupGitResult = {
|
|
108
185
|
host: string;
|
|
109
186
|
helperCommand: string;
|
|
@@ -137,4 +214,48 @@ export declare function authSetupGit(input: {
|
|
|
137
214
|
runGit?: GitConfigRunner;
|
|
138
215
|
helperCommand?: string;
|
|
139
216
|
}): Promise<AuthSetupGitResult>;
|
|
217
|
+
/** Git config scopes `setup-git` may write (never `--system`). */
|
|
218
|
+
export declare const setupGitConfigScopes: readonly ["--global", "--local"];
|
|
219
|
+
export type GitConfigScope = (typeof setupGitConfigScopes)[number];
|
|
220
|
+
export type RemovedGitConfigEntry = {
|
|
221
|
+
scope: GitConfigScope;
|
|
222
|
+
key: string;
|
|
223
|
+
value: string;
|
|
224
|
+
};
|
|
225
|
+
export type AuthRemoveGitResult = {
|
|
226
|
+
host: string;
|
|
227
|
+
removedHelpers: Array<RemovedGitConfigEntry>;
|
|
228
|
+
removedPathKeys: Array<Omit<RemovedGitConfigEntry, 'value'> & {
|
|
229
|
+
value?: string;
|
|
230
|
+
}>;
|
|
231
|
+
tokenId: string | null;
|
|
232
|
+
/** Server-side revoke via DELETE /v1/tokens/current (`token:delete`). */
|
|
233
|
+
tokenRevoked: 'yes' | 'no' | 'already' | 'skipped' | 'failed';
|
|
234
|
+
tokenRevokeError?: string;
|
|
235
|
+
tokenDeletedLocally: boolean;
|
|
236
|
+
};
|
|
237
|
+
/**
|
|
238
|
+
* True when a URL-scoped helper value was installed by Kody setup-git /
|
|
239
|
+
* pin refresh (exact npx pin, major-only `@1`, ephemeral `_npx`, or a
|
|
240
|
+
* `kody git-credential` invocation).
|
|
241
|
+
*/
|
|
242
|
+
export declare function isKodyGitCredentialHelperValue(value: string): boolean;
|
|
243
|
+
/**
|
|
244
|
+
* Inverse of {@link authSetupGit}: remove URL-scoped Kody credential helper
|
|
245
|
+
* entries for the MCP host (global + local), revoke the stored API token
|
|
246
|
+
* server-side, and delete it from the keychain/file store. Leaves `kody login`
|
|
247
|
+
* OAuth sessions alone. Idempotent when nothing is configured.
|
|
248
|
+
*/
|
|
249
|
+
export declare function authRemoveGit(input: {
|
|
250
|
+
apiUrl?: string;
|
|
251
|
+
mcpUrl?: string;
|
|
252
|
+
fetchFn?: typeof fetch;
|
|
253
|
+
backend?: SecretBackend;
|
|
254
|
+
resolution?: StoreResolution;
|
|
255
|
+
runGitGet?: GitConfigGetRunner;
|
|
256
|
+
/** Used for `--unset-all` (status/stderr only). */
|
|
257
|
+
runGit?: GitConfigRunner;
|
|
258
|
+
}): Promise<AuthRemoveGitResult>;
|
|
259
|
+
/** Human-readable lines for `kody auth remove-git` (always prints something). */
|
|
260
|
+
export declare function formatAuthRemoveGitReport(result: AuthRemoveGitResult): string;
|
|
140
261
|
export { cliTokenLifetimeAliases };
|
package/dist/setup-git.js
CHANGED
|
@@ -2,8 +2,8 @@ import { spawnSync } from 'node:child_process';
|
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
3
|
import { apiTokenEnvVar, cliName, defaultApiUrl, defaultMcpUrl, } from './defaults.js';
|
|
4
4
|
import { authBootstrapWithScopes, cliTokenLifetimeAliases, resolveCliTokenLifetime, } from './auth-bootstrap.js';
|
|
5
|
-
import { loadStoredApiToken, } from './api-token-store.js';
|
|
6
|
-
import { OpenApiError, openApiGet } from './open-api-client.js';
|
|
5
|
+
import { deleteStoredApiToken, loadStoredApiToken, } from './api-token-store.js';
|
|
6
|
+
import { OpenApiError, openApiGet, openApiRequest } from './open-api-client.js';
|
|
7
7
|
import { which as whichOnPath } from './which.js';
|
|
8
8
|
/** Scopes setup-git always requires for clone/fetch (+ push). */
|
|
9
9
|
export const setupGitRequiredScopes = ['package:read', 'package:write'];
|
|
@@ -144,14 +144,24 @@ export function installGitCredentialConfig(input) {
|
|
|
144
144
|
}
|
|
145
145
|
/** Refresh git HTTPS tokens this long before `expiresAt` (or when past it). */
|
|
146
146
|
export const gitApiTokenRefreshSkewMs = 60 * 60 * 1000;
|
|
147
|
+
/**
|
|
148
|
+
* First published CLI line that includes `git-credential` / `auth setup-git`.
|
|
149
|
+
* Global installs older than this must not be preferred as the helper binary.
|
|
150
|
+
*/
|
|
151
|
+
export const gitCredentialMinCliVersion = '1.16.0';
|
|
152
|
+
/**
|
|
153
|
+
* Fallback exact pin for local `0.0.0-semantically-released` builds. Published
|
|
154
|
+
* tarballs always carry a real x.y.z from semantic-release.
|
|
155
|
+
*/
|
|
156
|
+
export const gitCredentialHelperPinFallbackVersion = gitCredentialMinCliVersion;
|
|
147
157
|
const requireFromSetupGit = createRequire(import.meta.url);
|
|
148
158
|
export function readCliPackageVersion() {
|
|
149
159
|
try {
|
|
150
160
|
const pkg = requireFromSetupGit('../package.json');
|
|
151
|
-
return typeof pkg.version === 'string' ? pkg.version :
|
|
161
|
+
return typeof pkg.version === 'string' ? pkg.version : gitCredentialHelperPinFallbackVersion;
|
|
152
162
|
}
|
|
153
163
|
catch {
|
|
154
|
-
return
|
|
164
|
+
return gitCredentialHelperPinFallbackVersion;
|
|
155
165
|
}
|
|
156
166
|
}
|
|
157
167
|
/**
|
|
@@ -164,15 +174,60 @@ export function isEphemeralNpxEntryPath(entryPath) {
|
|
|
164
174
|
normalized.includes('/npm/_npx/') ||
|
|
165
175
|
/\/_npx\//.test(normalized));
|
|
166
176
|
}
|
|
177
|
+
/** Parse a leading `x.y.z` from a CLI version string (ignores prerelease tags). */
|
|
178
|
+
export function parseCliSemver(version) {
|
|
179
|
+
const match = /^(\d+)\.(\d+)\.(\d+)/.exec(version.trim());
|
|
180
|
+
if (!match)
|
|
181
|
+
return null;
|
|
182
|
+
return {
|
|
183
|
+
major: Number(match[1]),
|
|
184
|
+
minor: Number(match[2]),
|
|
185
|
+
patch: Number(match[3]),
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
export function compareCliSemver(a, b) {
|
|
189
|
+
if (a.major !== b.major)
|
|
190
|
+
return a.major < b.major ? -1 : 1;
|
|
191
|
+
if (a.minor !== b.minor)
|
|
192
|
+
return a.minor < b.minor ? -1 : 1;
|
|
193
|
+
if (a.patch !== b.patch)
|
|
194
|
+
return a.patch < b.patch ? -1 : 1;
|
|
195
|
+
return 0;
|
|
196
|
+
}
|
|
197
|
+
export function cliVersionGte(version, minimum) {
|
|
198
|
+
const left = parseCliSemver(version);
|
|
199
|
+
const right = parseCliSemver(minimum);
|
|
200
|
+
if (!left || !right)
|
|
201
|
+
return false;
|
|
202
|
+
return compareCliSemver(left, right) >= 0;
|
|
203
|
+
}
|
|
204
|
+
export function cliVersionGt(version, other) {
|
|
205
|
+
const left = parseCliSemver(version);
|
|
206
|
+
const right = parseCliSemver(other);
|
|
207
|
+
if (!left || !right)
|
|
208
|
+
return false;
|
|
209
|
+
return compareCliSemver(left, right) > 0;
|
|
210
|
+
}
|
|
211
|
+
/** True when this CLI version knows the `git-credential` command. */
|
|
212
|
+
export function cliVersionSupportsGitCredential(version) {
|
|
213
|
+
return cliVersionGte(version, gitCredentialMinCliVersion);
|
|
214
|
+
}
|
|
167
215
|
/**
|
|
168
|
-
*
|
|
169
|
-
*
|
|
216
|
+
* Exact version for `npx -y @kodycodes/cli@<x.y.z>`. Major-only ranges are
|
|
217
|
+
* unsafe: npx can reuse a stale cache (e.g. 1.1.0 for `@1`). Local
|
|
218
|
+
* `0.0.0-semantically-released` builds fall back to
|
|
219
|
+
* {@link gitCredentialHelperPinFallbackVersion}.
|
|
170
220
|
*/
|
|
221
|
+
export function cliExactVersionForNpx(packageVersion) {
|
|
222
|
+
const parsed = parseCliSemver(packageVersion);
|
|
223
|
+
if (parsed && parsed.major >= 1) {
|
|
224
|
+
return `${parsed.major}.${parsed.minor}.${parsed.patch}`;
|
|
225
|
+
}
|
|
226
|
+
return gitCredentialHelperPinFallbackVersion;
|
|
227
|
+
}
|
|
228
|
+
/** @deprecated Use {@link cliExactVersionForNpx}. Kept for one release as alias. */
|
|
171
229
|
export function cliMajorVersionForNpx(packageVersion) {
|
|
172
|
-
|
|
173
|
-
if (Number.isFinite(major) && major >= 1)
|
|
174
|
-
return String(major);
|
|
175
|
-
return '1';
|
|
230
|
+
return cliExactVersionForNpx(packageVersion);
|
|
176
231
|
}
|
|
177
232
|
/** Whether a stored API token should be reminted for git HTTPS. */
|
|
178
233
|
export function apiTokenNeedsRefresh(stored, nowMs = Date.now(), skewMs = gitApiTokenRefreshSkewMs) {
|
|
@@ -186,31 +241,162 @@ export function apiTokenNeedsRefresh(stored, nowMs = Date.now(), skewMs = gitApi
|
|
|
186
241
|
return expiresMs - nowMs <= skewMs;
|
|
187
242
|
}
|
|
188
243
|
/**
|
|
189
|
-
*
|
|
190
|
-
*
|
|
191
|
-
|
|
192
|
-
|
|
244
|
+
* Read `kody --version` (or `node entry --version`) stdout. Returns null on
|
|
245
|
+
* failure so callers can skip preferring an unverifiable binary.
|
|
246
|
+
*/
|
|
247
|
+
export function readVersionFromKodyBinary(binPath, args = ['--version']) {
|
|
248
|
+
const result = spawnSync(binPath, [...args], {
|
|
249
|
+
encoding: 'utf8',
|
|
250
|
+
env: process.env,
|
|
251
|
+
timeout: 8_000,
|
|
252
|
+
});
|
|
253
|
+
if (result.error || (result.status ?? 1) !== 0)
|
|
254
|
+
return null;
|
|
255
|
+
const text = `${result.stdout || ''}\n${result.stderr || ''}`;
|
|
256
|
+
const match = /(\d+\.\d+\.\d+)/.exec(text);
|
|
257
|
+
return match?.[1] ?? null;
|
|
258
|
+
}
|
|
259
|
+
function defaultReadGlobalKodyVersion(binPath) {
|
|
260
|
+
return readVersionFromKodyBinary(binPath);
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Helper argv for git config. Prefer a global `kody` only when its version
|
|
264
|
+
* supports `git-credential`; else a non-npx entry path; else
|
|
265
|
+
* `npx -y @kodycodes/cli@<exact>` so npx cannot reuse a stale major-range
|
|
266
|
+
* cache. Re-running `auth setup-git` (and every CLI command via pin refresh)
|
|
267
|
+
* rewrites ephemeral / major-range / outdated pins.
|
|
193
268
|
*/
|
|
194
269
|
export function gitCredentialHelperCommand(input) {
|
|
195
270
|
const env = input?.env ?? process.env;
|
|
196
271
|
const whichFn = input?.which ?? whichOnPath;
|
|
197
272
|
const entryPath = input?.entryPath ?? process.argv[1];
|
|
273
|
+
const readVersion = input?.readKodyVersion ?? defaultReadGlobalKodyVersion;
|
|
198
274
|
const globalKody = whichFn('kody', env);
|
|
199
275
|
if (globalKody && !isEphemeralNpxEntryPath(globalKody)) {
|
|
200
|
-
|
|
276
|
+
const globalVersion = readVersion(globalKody);
|
|
277
|
+
if (globalVersion && cliVersionSupportsGitCredential(globalVersion)) {
|
|
278
|
+
return `!${shellQuote(globalKody)} git-credential`;
|
|
279
|
+
}
|
|
201
280
|
}
|
|
202
281
|
if (entryPath && entryPath.length > 0 && !isEphemeralNpxEntryPath(entryPath)) {
|
|
203
282
|
const execPath = input?.execPath ?? process.execPath;
|
|
204
283
|
return `!${shellQuote(execPath)} ${shellQuote(entryPath)} git-credential`;
|
|
205
284
|
}
|
|
206
|
-
const
|
|
207
|
-
return `!npx -y ${cliName}@${
|
|
285
|
+
const exact = cliExactVersionForNpx(input?.packageVersion ?? readCliPackageVersion());
|
|
286
|
+
return `!npx -y ${cliName}@${exact} git-credential`;
|
|
208
287
|
}
|
|
209
288
|
function shellQuote(value) {
|
|
210
289
|
if (/^[A-Za-z0-9_./:@+=,-]+$/.test(value))
|
|
211
290
|
return value;
|
|
212
291
|
return `'${value.replace(/'/g, `'\\''`)}'`;
|
|
213
292
|
}
|
|
293
|
+
/** Detect major-only npx pins (`@1`, `@2`) that can resolve to a stale cache. */
|
|
294
|
+
export function isMajorOnlyNpxHelper(helper) {
|
|
295
|
+
return /@kodycodes\/cli@\d+(?![\.\d])/.test(helper);
|
|
296
|
+
}
|
|
297
|
+
/** Exact `@kodycodes/cli@x.y.z` pin from a helper command, if present. */
|
|
298
|
+
export function exactNpxHelperVersion(helper) {
|
|
299
|
+
const match = /@kodycodes\/cli@(\d+\.\d+\.\d+)/.exec(helper);
|
|
300
|
+
return match?.[1] ?? null;
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* True when an installed helper should be rewritten: ephemeral npx path,
|
|
304
|
+
* major-only pin, exact pin older than the running CLI, or a binary that
|
|
305
|
+
* does not support `git-credential`.
|
|
306
|
+
*/
|
|
307
|
+
export function gitCredentialHelperNeedsRepair(input) {
|
|
308
|
+
const helper = input.helper?.trim();
|
|
309
|
+
if (!helper)
|
|
310
|
+
return false;
|
|
311
|
+
if (isEphemeralNpxEntryPath(helper))
|
|
312
|
+
return true;
|
|
313
|
+
if (isMajorOnlyNpxHelper(helper))
|
|
314
|
+
return true;
|
|
315
|
+
const pinned = exactNpxHelperVersion(helper);
|
|
316
|
+
if (pinned) {
|
|
317
|
+
if (!cliVersionSupportsGitCredential(pinned))
|
|
318
|
+
return true;
|
|
319
|
+
const current = cliExactVersionForNpx(input.packageVersion ?? readCliPackageVersion());
|
|
320
|
+
return cliVersionGt(current, pinned);
|
|
321
|
+
}
|
|
322
|
+
// `!/path/to/kody git-credential` or `!node /path/to/bin.js git-credential`
|
|
323
|
+
const readVersion = input.readKodyVersion ?? defaultReadGlobalKodyVersion;
|
|
324
|
+
const bang = helper.startsWith('!') ? helper.slice(1).trim() : helper.trim();
|
|
325
|
+
const parts = bang.split(/\s+/).filter(Boolean);
|
|
326
|
+
if (parts.length >= 2 && parts[parts.length - 1] === 'git-credential') {
|
|
327
|
+
const invocation = parts.slice(0, -1);
|
|
328
|
+
if (invocation.length === 1) {
|
|
329
|
+
const version = readVersion(invocation[0]);
|
|
330
|
+
if (version && !cliVersionSupportsGitCredential(version))
|
|
331
|
+
return true;
|
|
332
|
+
}
|
|
333
|
+
else if (invocation.length >= 2) {
|
|
334
|
+
const version = readVersionFromKodyBinary(invocation[0], [
|
|
335
|
+
...invocation.slice(1),
|
|
336
|
+
'--version',
|
|
337
|
+
]);
|
|
338
|
+
if (version && !cliVersionSupportsGitCredential(version))
|
|
339
|
+
return true;
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
return false;
|
|
343
|
+
}
|
|
344
|
+
export function defaultGitConfigGetRunner(args) {
|
|
345
|
+
const result = spawnSync('git', [...args], {
|
|
346
|
+
encoding: 'utf8',
|
|
347
|
+
env: process.env,
|
|
348
|
+
});
|
|
349
|
+
if (result.error) {
|
|
350
|
+
return { status: 1, stdout: '', stderr: result.error.message };
|
|
351
|
+
}
|
|
352
|
+
return {
|
|
353
|
+
status: result.status ?? 1,
|
|
354
|
+
stdout: (result.stdout || '').trim(),
|
|
355
|
+
stderr: (result.stderr || '').trim(),
|
|
356
|
+
};
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* Best-effort: if a Kody HTTPS credential helper is installed but stale,
|
|
360
|
+
* rewrite it to {@link gitCredentialHelperCommand}. Silent — safe to call
|
|
361
|
+
* from every CLI entry including `git-credential` (must not touch stdout).
|
|
362
|
+
* Returns whether a rewrite ran.
|
|
363
|
+
*/
|
|
364
|
+
export function refreshGitCredentialHelperPinIfNeeded(input) {
|
|
365
|
+
const mcpUrl = input?.mcpUrl || defaultMcpUrl;
|
|
366
|
+
const host = gitCredentialHostFromMcpUrl(mcpUrl);
|
|
367
|
+
const scope = input?.global === false ? '--local' : '--global';
|
|
368
|
+
const runGet = input?.runGitGet ?? defaultGitConfigGetRunner;
|
|
369
|
+
const helperKey = `credential.https://${host}.helper`;
|
|
370
|
+
const got = runGet(['config', scope, '--get', helperKey]);
|
|
371
|
+
if (got.status !== 0 || !got.stdout)
|
|
372
|
+
return false;
|
|
373
|
+
const packageVersion = input?.packageVersion ?? readCliPackageVersion();
|
|
374
|
+
if (!gitCredentialHelperNeedsRepair({
|
|
375
|
+
helper: got.stdout,
|
|
376
|
+
packageVersion,
|
|
377
|
+
readKodyVersion: input?.readKodyVersion,
|
|
378
|
+
})) {
|
|
379
|
+
return false;
|
|
380
|
+
}
|
|
381
|
+
const helperCommand = input?.helperCommand ??
|
|
382
|
+
gitCredentialHelperCommand({
|
|
383
|
+
packageVersion,
|
|
384
|
+
which: input?.which,
|
|
385
|
+
execPath: input?.execPath,
|
|
386
|
+
entryPath: input?.entryPath,
|
|
387
|
+
env: input?.env,
|
|
388
|
+
readKodyVersion: input?.readKodyVersion,
|
|
389
|
+
});
|
|
390
|
+
if (helperCommand === got.stdout)
|
|
391
|
+
return false;
|
|
392
|
+
installGitCredentialConfig({
|
|
393
|
+
host,
|
|
394
|
+
helperCommand,
|
|
395
|
+
global: input?.global,
|
|
396
|
+
runGit: input?.runGit,
|
|
397
|
+
});
|
|
398
|
+
return true;
|
|
399
|
+
}
|
|
214
400
|
export async function authSetupGit(input) {
|
|
215
401
|
const apiUrl = input.apiUrl || defaultApiUrl;
|
|
216
402
|
const mcpUrl = input.mcpUrl || defaultMcpUrl;
|
|
@@ -321,5 +507,151 @@ export async function authSetupGit(input) {
|
|
|
321
507
|
expiresAt: finalMetadata.expiresAt,
|
|
322
508
|
};
|
|
323
509
|
}
|
|
510
|
+
/** Git config scopes `setup-git` may write (never `--system`). */
|
|
511
|
+
export const setupGitConfigScopes = ['--global', '--local'];
|
|
512
|
+
/**
|
|
513
|
+
* True when a URL-scoped helper value was installed by Kody setup-git /
|
|
514
|
+
* pin refresh (exact npx pin, major-only `@1`, ephemeral `_npx`, or a
|
|
515
|
+
* `kody git-credential` invocation).
|
|
516
|
+
*/
|
|
517
|
+
export function isKodyGitCredentialHelperValue(value) {
|
|
518
|
+
const v = value.trim();
|
|
519
|
+
if (!v)
|
|
520
|
+
return false;
|
|
521
|
+
if (v.includes('@kodycodes/cli'))
|
|
522
|
+
return true;
|
|
523
|
+
if (isEphemeralNpxEntryPath(v))
|
|
524
|
+
return true;
|
|
525
|
+
if (/\bgit-credential\b/.test(v) && /(^|[\/\s!])kody(\s|$)/.test(v))
|
|
526
|
+
return true;
|
|
527
|
+
if (/\bgit-credential\b/.test(v) && /kody/i.test(v))
|
|
528
|
+
return true;
|
|
529
|
+
return false;
|
|
530
|
+
}
|
|
531
|
+
/**
|
|
532
|
+
* Inverse of {@link authSetupGit}: remove URL-scoped Kody credential helper
|
|
533
|
+
* entries for the MCP host (global + local), revoke the stored API token
|
|
534
|
+
* server-side, and delete it from the keychain/file store. Leaves `kody login`
|
|
535
|
+
* OAuth sessions alone. Idempotent when nothing is configured.
|
|
536
|
+
*/
|
|
537
|
+
export async function authRemoveGit(input) {
|
|
538
|
+
const apiUrl = input.apiUrl || defaultApiUrl;
|
|
539
|
+
const mcpUrl = input.mcpUrl || defaultMcpUrl;
|
|
540
|
+
const host = gitCredentialHostFromMcpUrl(mcpUrl);
|
|
541
|
+
const runGet = input.runGitGet ?? defaultGitConfigGetRunner;
|
|
542
|
+
const runGit = input.runGit ?? defaultGitConfigRunner;
|
|
543
|
+
const helperKey = `credential.https://${host}.helper`;
|
|
544
|
+
const pathKey = `credential.https://${host}.useHttpPath`;
|
|
545
|
+
const removedHelpers = [];
|
|
546
|
+
const removedPathKeys = [];
|
|
547
|
+
for (const scope of setupGitConfigScopes) {
|
|
548
|
+
// URL-scoped keys for this host are owned by setup-git (exact pin,
|
|
549
|
+
// major-only @1, ephemeral _npx, global kody, …). Clear them all.
|
|
550
|
+
const helpers = runGet(['config', scope, '--get-all', helperKey]);
|
|
551
|
+
if (helpers.status === 0 && helpers.stdout.trim()) {
|
|
552
|
+
const values = helpers.stdout
|
|
553
|
+
.split(/\r?\n/)
|
|
554
|
+
.map((line) => line.trim())
|
|
555
|
+
.filter(Boolean);
|
|
556
|
+
const unset = runGit(['config', scope, '--unset-all', helperKey]);
|
|
557
|
+
if (unset.status === 0) {
|
|
558
|
+
for (const value of values) {
|
|
559
|
+
removedHelpers.push({ scope, key: helperKey, value });
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
const pathGot = runGet(['config', scope, '--get-all', pathKey]);
|
|
564
|
+
if (pathGot.status === 0 && pathGot.stdout.trim()) {
|
|
565
|
+
const unset = runGit(['config', scope, '--unset-all', pathKey]);
|
|
566
|
+
if (unset.status === 0) {
|
|
567
|
+
removedPathKeys.push({
|
|
568
|
+
scope,
|
|
569
|
+
key: pathKey,
|
|
570
|
+
value: pathGot.stdout.trim().split(/\r?\n/)[0],
|
|
571
|
+
});
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
}
|
|
575
|
+
const stored = loadStoredApiToken(apiUrl, input.backend, input.resolution);
|
|
576
|
+
let tokenRevoked = 'skipped';
|
|
577
|
+
let tokenRevokeError;
|
|
578
|
+
let tokenId = stored?.tokenId ?? null;
|
|
579
|
+
if (stored?.token) {
|
|
580
|
+
try {
|
|
581
|
+
await openApiRequest({
|
|
582
|
+
token: stored.token,
|
|
583
|
+
apiUrl,
|
|
584
|
+
method: 'DELETE',
|
|
585
|
+
path: 'v1/tokens/current',
|
|
586
|
+
fetchFn: input.fetchFn,
|
|
587
|
+
});
|
|
588
|
+
tokenRevoked = 'yes';
|
|
589
|
+
}
|
|
590
|
+
catch (error) {
|
|
591
|
+
if (error instanceof OpenApiError && (error.status === 401 || error.status === 404)) {
|
|
592
|
+
tokenRevoked = 'already';
|
|
593
|
+
}
|
|
594
|
+
else {
|
|
595
|
+
tokenRevoked = 'failed';
|
|
596
|
+
tokenRevokeError =
|
|
597
|
+
error instanceof Error ? error.message : String(error);
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
const deleted = deleteStoredApiToken(apiUrl, input.backend, input.resolution);
|
|
602
|
+
return {
|
|
603
|
+
host,
|
|
604
|
+
removedHelpers,
|
|
605
|
+
removedPathKeys,
|
|
606
|
+
tokenId,
|
|
607
|
+
tokenRevoked,
|
|
608
|
+
...(tokenRevokeError ? { tokenRevokeError } : {}),
|
|
609
|
+
tokenDeletedLocally: deleted.deleted,
|
|
610
|
+
};
|
|
611
|
+
}
|
|
612
|
+
/** Human-readable lines for `kody auth remove-git` (always prints something). */
|
|
613
|
+
export function formatAuthRemoveGitReport(result) {
|
|
614
|
+
const lines = [];
|
|
615
|
+
const removedAnything = result.removedHelpers.length > 0 ||
|
|
616
|
+
result.removedPathKeys.length > 0 ||
|
|
617
|
+
result.tokenDeletedLocally ||
|
|
618
|
+
result.tokenRevoked === 'yes' ||
|
|
619
|
+
result.tokenRevoked === 'already';
|
|
620
|
+
if (!removedAnything) {
|
|
621
|
+
return [
|
|
622
|
+
`No Kody Git HTTPS credential helper or stored API token found for https://${result.host}/.`,
|
|
623
|
+
'Nothing to remove. (kody login sessions were not touched.)',
|
|
624
|
+
'',
|
|
625
|
+
].join('\n');
|
|
626
|
+
}
|
|
627
|
+
lines.push(`Removed Kody Git HTTPS setup for https://${result.host}/`);
|
|
628
|
+
for (const entry of result.removedHelpers) {
|
|
629
|
+
lines.push(` ${entry.scope} ${entry.key}: ${entry.value}`);
|
|
630
|
+
}
|
|
631
|
+
for (const entry of result.removedPathKeys) {
|
|
632
|
+
lines.push(` ${entry.scope} ${entry.key}${entry.value ? `: ${entry.value}` : ''}`);
|
|
633
|
+
}
|
|
634
|
+
if (result.tokenRevoked === 'yes') {
|
|
635
|
+
lines.push(`Revoked API token${result.tokenId ? ` ${result.tokenId}` : ''} on the server (token:delete).`);
|
|
636
|
+
}
|
|
637
|
+
else if (result.tokenRevoked === 'already') {
|
|
638
|
+
lines.push(`API token${result.tokenId ? ` ${result.tokenId}` : ''} already revoked or expired on the server.`);
|
|
639
|
+
}
|
|
640
|
+
else if (result.tokenRevoked === 'failed') {
|
|
641
|
+
lines.push(`Could not revoke API token on the server${result.tokenRevokeError ? `: ${result.tokenRevokeError}` : '.'}`);
|
|
642
|
+
}
|
|
643
|
+
else if (result.tokenRevoked === 'skipped') {
|
|
644
|
+
lines.push('No stored API token to revoke.');
|
|
645
|
+
}
|
|
646
|
+
if (result.tokenDeletedLocally) {
|
|
647
|
+
lines.push('Deleted stored API token from the OS keychain (and file fallback).');
|
|
648
|
+
}
|
|
649
|
+
else if (result.tokenRevoked !== 'skipped') {
|
|
650
|
+
lines.push('Stored API token was already absent from the local store.');
|
|
651
|
+
}
|
|
652
|
+
lines.push('Left kody login sessions alone.');
|
|
653
|
+
lines.push('');
|
|
654
|
+
return lines.join('\n');
|
|
655
|
+
}
|
|
324
656
|
export { cliTokenLifetimeAliases };
|
|
325
657
|
//# sourceMappingURL=setup-git.js.map
|
package/dist/setup-git.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-git.js","sourceRoot":"","sources":["../src/setup-git.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setup-git.js","sourceRoot":"","sources":["../src/setup-git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EACN,cAAc,EACd,OAAO,EACP,aAAa,EACb,aAAa,GACb,MAAM,eAAe,CAAA;AACtB,OAAO,EACN,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,GAEvB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACN,oBAAoB,EACpB,kBAAkB,GAElB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE/E,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,YAAY,CAAA;AAEjD,iEAAiE;AACjE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,cAAc,EAAE,eAAe,CAAU,CAAA;AAEhF;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA0B;IAC3D,aAAa;IACb,UAAU;IACV,YAAY;IACZ,YAAY;IACZ,kBAAkB;IAClB,iBAAiB;IACjB,aAAa;IACb,UAAU;IACV,aAAa;IACb,aAAa;IACb,UAAU;IACV,iBAAiB;IACjB,cAAc;IACd,eAAe;IACf,YAAY;IACZ,cAAc;CACd,CAAA;AASD;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,SAAiB,aAAa;IACzE,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAA;AAC5B,CAAC;AAED,MAAM,UAAU,qBAAqB,CACpC,MAAgD,EAChD,WAAkC,sBAAsB;IAExD,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IACzB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAA;IAC5B,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;AAClD,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,oBAAoB,CACnC,OAA8B,qBAAqB;IAEnD,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IACrB,KAAK,MAAM,QAAQ,IAAI,sBAAsB,EAAE,CAAC;QAC/C,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAChD,CAAC;IACD,OAAO,GAAG,CAAA;AACX,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,KAI/C;IACA,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,aAAa,CAAA;IAC5C,MAAM,OAAO,GAAG,CAAC,MAAM,UAAU,CAAC;QACjC,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM;QACN,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,KAAK,CAAC,OAAO;KACtB,CAAC,CAA4B,CAAA;IAE9B,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,CAAA;IACzC,MAAM,UAAU,GACf,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAA;IAE3E,OAAO;QACN,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC;QAC5B,UAAU;QACV,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;YACpC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;YAC9E,CAAC,CAAC,EAAE;QACL,SAAS,EAAE,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;KAC7E,CAAA;AACF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,QAA8B;IACvE,IAAI,QAAQ,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CACd,uNAAuN,CACvN,CAAA;IACF,CAAC;AACF,CAAC;AAWD;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAKnC;IACA,MAAM,QAAQ,GACb,KAAK,CAAC,QAAQ;QACd,uBAAuB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;IAE9C,IACC,KAAK,CAAC,MAAM;QACZ,KAAK,CAAC,QAAQ;QACd,KAAK,CAAC,QAAQ,CAAC,UAAU,KAAK,MAAM;QACpC,qBAAqB,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC5C,CAAC,KAAK,CAAC,cAAc,EACpB,CAAC;QACF,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAA;IAC3E,CAAC;IAED,wEAAwE;IACxE,wEAAwE;IACxE,MAAM,MAAM,GAAG,oBAAoB,CAClC,KAAK,CAAC,cAAc;QACnB,KAAK,CAAC,QAAQ,EAAE,MAAM;QACtB,KAAK,CAAC,MAAM,EAAE,MAAM;QACpB,qBAAqB,CACtB,CAAA;IAED,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM;QAC3B,CAAC,CAAC,0BAA0B;QAC5B,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,KAAK,MAAM;YACtC,CAAC,CAAC,gEAAgE;YAClE,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAC/C,CAAC,CAAC,4DAA4D;gBAC9D,CAAC,CAAC,2CAA2C,CAAA;IAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;AACpD,CAAC;AAOD,MAAM,UAAU,sBAAsB,CAAC,IAA2B;IAIjE,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;QAC1C,QAAQ,EAAE,MAAM;QAChB,GAAG,EAAE,OAAO,CAAC,GAAG;KAChB,CAAC,CAAA;IACF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;IACnD,CAAC;IACD,OAAO;QACN,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC;QAC1B,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;KACpC,CAAA;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAK1C;IACA,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,sBAAsB,CAAA;IACrD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAA;IAC7D,MAAM,SAAS,GAAG,sBAAsB,KAAK,CAAC,IAAI,SAAS,CAAA;IAC3D,MAAM,OAAO,GAAG,sBAAsB,KAAK,CAAC,IAAI,cAAc,CAAA;IAE9D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI;QAC1B,CAAC,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC;QAChC,CAAC,OAAO,EAAE,MAAM,CAAC;KACR,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;QACpD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACd,cAAc,KAAK,IAAI,GAAG,UAAU,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAClG,CAAA;QACF,CAAC;IACF,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,CAAA;AACvE,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAEtD;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,QAAQ,CAAA;AAElD;;;GAGG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,0BAA0B,CAAA;AAE/E,MAAM,mBAAmB,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAE1D,MAAM,UAAU,qBAAqB;IACpC,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,mBAAmB,CAAC,iBAAiB,CAAyB,CAAA;QAC1E,OAAO,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,qCAAqC,CAAA;IAC7F,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,qCAAqC,CAAA;IAC7C,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAAiB;IACxD,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAChD,OAAO,CACN,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC;QAClC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC;QACjC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAC3B,CAAA;AACF,CAAC;AAID,mFAAmF;AACnF,MAAM,UAAU,cAAc,CAAC,OAAe;IAC7C,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;IACzD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IACvB,OAAO;QACN,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACvB,CAAA;AACF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,CAAY,EAAE,CAAY;IAC1D,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1D,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1D,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1D,OAAO,CAAC,CAAA;AACT,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,OAAe;IAC7D,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IACpC,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IACrC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAA;IACjC,OAAO,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;AAC1C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,KAAa;IAC1D,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IACpC,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAA;IACnC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAA;IACjC,OAAO,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;AACzC,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,+BAA+B,CAAC,OAAe;IAC9D,OAAO,aAAa,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAA;AAC1D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,cAAsB;IAC3D,MAAM,MAAM,GAAG,cAAc,CAAC,cAAc,CAAC,CAAA;IAC7C,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;QACjC,OAAO,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE,CAAA;IACzD,CAAC;IACD,OAAO,qCAAqC,CAAA;AAC7C,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,qBAAqB,CAAC,cAAsB;IAC3D,OAAO,qBAAqB,CAAC,cAAc,CAAC,CAAA;AAC7C,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,oBAAoB,CACnC,MAA4D,EAC5D,QAAgB,IAAI,CAAC,GAAG,EAAE,EAC1B,SAAiB,wBAAwB;IAEzC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IACxB,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,KAAK,EAAE;QAAE,OAAO,KAAK,CAAA;IACrE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAC9C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAA;IAC5C,OAAO,SAAS,GAAG,KAAK,IAAI,MAAM,CAAA;AACnC,CAAC;AAID;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACxC,OAAe,EACf,OAA8B,CAAC,WAAW,CAAC;IAE3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;QAC5C,QAAQ,EAAE,MAAM;QAChB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,OAAO,EAAE,KAAK;KACd,CAAC,CAAA;IACF,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAC3D,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,KAAK,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,CAAA;IAC7D,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1C,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;AAC1B,CAAC;AAED,SAAS,4BAA4B,CAAC,OAAe;IACpD,OAAO,yBAAyB,CAAC,OAAO,CAAC,CAAA;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAO1C;IACA,MAAM,GAAG,GAAG,KAAK,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,CAAA;IACrC,MAAM,OAAO,GAAG,KAAK,EAAE,KAAK,IAAI,WAAW,CAAA;IAC3C,MAAM,SAAS,GAAG,KAAK,EAAE,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACrD,MAAM,WAAW,GAAG,KAAK,EAAE,eAAe,IAAI,4BAA4B,CAAA;IAC1E,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACvC,IAAI,UAAU,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,EAAE,CAAC;QACxD,MAAM,aAAa,GAAG,WAAW,CAAC,UAAU,CAAC,CAAA;QAC7C,IAAI,aAAa,IAAI,+BAA+B,CAAC,aAAa,CAAC,EAAE,CAAC;YACrE,OAAO,IAAI,UAAU,CAAC,UAAU,CAAC,iBAAiB,CAAA;QACnD,CAAC;IACF,CAAC;IACD,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9E,MAAM,QAAQ,GAAG,KAAK,EAAE,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAA;QACpD,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,iBAAiB,CAAA;IAC1E,CAAC;IACD,MAAM,KAAK,GAAG,qBAAqB,CAClC,KAAK,EAAE,cAAc,IAAI,qBAAqB,EAAE,CAChD,CAAA;IACD,OAAO,WAAW,OAAO,IAAI,KAAK,iBAAiB,CAAA;AACpD,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAChC,IAAI,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACvD,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAA;AAC3C,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,oBAAoB,CAAC,MAAc;IAClD,OAAO,+BAA+B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AACpD,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,qBAAqB,CAAC,MAAc;IACnD,MAAM,KAAK,GAAG,iCAAiC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC5D,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAAC,KAI9C;IACA,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,CAAA;IACnC,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IACzB,IAAI,uBAAuB,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAA;IAChD,IAAI,oBAAoB,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAA;IAE7C,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAA;IAC5C,IAAI,MAAM,EAAE,CAAC;QACZ,IAAI,CAAC,+BAA+B,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAA;QACzD,MAAM,OAAO,GAAG,qBAAqB,CACpC,KAAK,CAAC,cAAc,IAAI,qBAAqB,EAAE,CAC/C,CAAA;QACD,OAAO,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACrC,CAAC;IAED,4EAA4E;IAC5E,MAAM,WAAW,GAAG,KAAK,CAAC,eAAe,IAAI,4BAA4B,CAAA;IACzE,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;IAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC/C,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,gBAAgB,EAAE,CAAC;QACvE,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACrC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,CAAA;YAC3C,IAAI,OAAO,IAAI,CAAC,+BAA+B,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAA;QACtE,CAAC;aAAM,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC,CAAE,EAAE;gBACzD,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtB,WAAW;aACX,CAAC,CAAA;YACF,IAAI,OAAO,IAAI,CAAC,+BAA+B,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAA;QACtE,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAA;AACb,CAAC;AAQD,MAAM,UAAU,yBAAyB,CAAC,IAA2B;IAKpE,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;QAC1C,QAAQ,EAAE,MAAM;QAChB,GAAG,EAAE,OAAO,CAAC,GAAG;KAChB,CAAC,CAAA;IACF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;IAC/D,CAAC;IACD,OAAO;QACN,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC;QAC1B,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QACpC,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;KACpC,CAAA;AACF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qCAAqC,CAAC,KAYrD;IACA,MAAM,MAAM,GAAG,KAAK,EAAE,MAAM,IAAI,aAAa,CAAA;IAC7C,MAAM,IAAI,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAA;IAChD,MAAM,KAAK,GAAG,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAA;IAC9D,MAAM,MAAM,GAAG,KAAK,EAAE,SAAS,IAAI,yBAAyB,CAAA;IAC5D,MAAM,SAAS,GAAG,sBAAsB,IAAI,SAAS,CAAA;IACrD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAA;IACzD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IAEjD,MAAM,cAAc,GAAG,KAAK,EAAE,cAAc,IAAI,qBAAqB,EAAE,CAAA;IACvE,IACC,CAAC,8BAA8B,CAAC;QAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,cAAc;QACd,eAAe,EAAE,KAAK,EAAE,eAAe;KACvC,CAAC,EACD,CAAC;QACF,OAAO,KAAK,CAAA;IACb,CAAC;IAED,MAAM,aAAa,GAClB,KAAK,EAAE,aAAa;QACpB,0BAA0B,CAAC;YAC1B,cAAc;YACd,KAAK,EAAE,KAAK,EAAE,KAAK;YACnB,QAAQ,EAAE,KAAK,EAAE,QAAQ;YACzB,SAAS,EAAE,KAAK,EAAE,SAAS;YAC3B,GAAG,EAAE,KAAK,EAAE,GAAG;YACf,eAAe,EAAE,KAAK,EAAE,eAAe;SACvC,CAAC,CAAA;IACH,IAAI,aAAa,KAAK,GAAG,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IAE9C,0BAA0B,CAAC;QAC1B,IAAI;QACJ,aAAa;QACb,MAAM,EAAE,KAAK,EAAE,MAAM;QACrB,MAAM,EAAE,KAAK,EAAE,MAAM;KACrB,CAAC,CAAA;IACF,OAAO,IAAI,CAAA;AACZ,CAAC;AAcD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAqBlC;IACA,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,aAAa,CAAA;IAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,aAAa,CAAA;IAC5C,MAAM,IAAI,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAA;IAEhD,MAAM,cAAc,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;IAClF,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,IAAI,cAAc,EAAE,KAAK,CAAA;IACvD,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,KAAK,IAAI,CAAA;IACtD,IAAI,CAAC,UAAU,IAAI,CAAC,eAAe,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACd,2GAA2G,cAAc,oBAAoB,CAC7I,CAAA;IACF,CAAC;IAED,IAAI,aAAa,GAAgC,IAAI,CAAA;IACrD,IAAI,UAAU,EAAE,CAAC;QAChB,IAAI,CAAC;YACJ,aAAa,GAAG,MAAM,yBAAyB,CAAC;gBAC/C,KAAK,EAAE,UAAU;gBACjB,MAAM;gBACN,OAAO,EAAE,KAAK,CAAC,OAAO;aACtB,CAAC,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC3D,MAAM,IAAI,KAAK,CACd,sCAAsC,MAAM,iEAAiE,cAAc,GAAG,CAC9H,CAAA;YACF,CAAC;YACD,MAAM,KAAK,CAAA;QACZ,CAAC;QACD,iFAAiF;QACjF,yBAAyB,CAAC,aAAa,CAAC,CAAA;IACzC,CAAC;IAED,IAAI,cAAc,GAAgC,IAAI,CAAA;IACtD,IAAI,cAAc,EAAE,CAAC;QACpB,IAAI,aAAa,IAAI,cAAc,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAC1D,cAAc,GAAG,aAAa,CAAA;QAC/B,CAAC;aAAM,CAAC;YACP,IAAI,CAAC;gBACJ,cAAc,GAAG,MAAM,yBAAyB,CAAC;oBAChD,KAAK,EAAE,cAAc,CAAC,KAAK;oBAC3B,MAAM;oBACN,OAAO,EAAE,KAAK,CAAC,OAAO;iBACtB,CAAC,CAAA;YACH,CAAC;YAAC,MAAM,CAAC;gBACR,cAAc,GAAG,IAAI,CAAA;YACtB,CAAC;QACF,CAAC;IACF,CAAC;IAED,MAAM,QAAQ,GAAG,mBAAmB,CAAC;QACpC,MAAM,EAAE,cAAc;QACtB,QAAQ,EAAE,cAAc;QACxB,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACxB,CAAC,CAAA;IAEF,IAAI,MAAsB,CAAA;IAC1B,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,WAAmB,CAAA;IACvB,IAAI,WAA+B,CAAA;IAEnC,IAAI,aAAmC,CAAA;IAEvC,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;QACxB,WAAW,GAAG,UAAU,CAAA;QACxB,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAA;IAClC,CAAC;SAAM,CAAC;QACP,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC;YAC5C,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM;YACN,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,UAAU,EAAE,KAAK,CAAC,UAAU;SAC5B,CAAC,CAAA;QACF,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QACtB,MAAM,GAAG,IAAI,CAAA;QACb,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;QAChC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;QAEhC,oEAAoE;QACpE,MAAM,KAAK,GAAG,MAAM,yBAAyB,CAAC;YAC7C,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM;YACN,OAAO,EAAE,KAAK,CAAC,OAAO;SACtB,CAAC,CAAA;QACF,yBAAyB,CAAC,KAAK,CAAC,CAAA;QAChC,IAAI,KAAK,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CACd,gBAAgB,MAAM,CAAC,OAAO,oBAAoB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,wDAAwD,CAC1I,CAAA;QACF,CAAC;QACD,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CACd,gBAAgB,MAAM,CAAC,OAAO,iFAAiF,CAC/G,CAAA;QACF,CAAC;QACD,aAAa,GAAG,KAAK,CAAA;IACtB,CAAC;IAED,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,IAAI,0BAA0B,EAAE,CAAA;IACzE,0BAA0B,CAAC;QAC1B,IAAI;QACJ,aAAa;QACb,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,KAAK,CAAC,MAAM;KACpB,CAAC,CAAA;IAEF,OAAO;QACN,IAAI;QACJ,aAAa;QACb,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,aAAa,CAAC,MAAM;QAC5B,UAAU,EAAE,MAAM;QAClB,MAAM;QACN,WAAW;QACX,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,SAAS,EAAE,aAAa,CAAC,SAAS;KAClC,CAAA;AACF,CAAC;AAED,kEAAkE;AAClE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,UAAU,EAAE,SAAS,CAAU,CAAA;AAqBpE;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAAC,KAAa;IAC3D,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IACtB,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA;IACpB,IAAI,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAAE,OAAO,IAAI,CAAA;IAC7C,IAAI,uBAAuB,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IAC3C,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IAChF,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IAChE,OAAO,KAAK,CAAA;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KASnC;IACA,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,aAAa,CAAA;IAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,aAAa,CAAA;IAC5C,MAAM,IAAI,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAA;IAChD,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,IAAI,yBAAyB,CAAA;IAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,sBAAsB,CAAA;IAErD,MAAM,SAAS,GAAG,sBAAsB,IAAI,SAAS,CAAA;IACrD,MAAM,OAAO,GAAG,sBAAsB,IAAI,cAAc,CAAA;IACxD,MAAM,cAAc,GAAiC,EAAE,CAAA;IACvD,MAAM,eAAe,GAA2C,EAAE,CAAA;IAElE,KAAK,MAAM,KAAK,IAAI,oBAAoB,EAAE,CAAC;QAC1C,mEAAmE;QACnE,kEAAkE;QAClE,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAA;QACjE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM;iBAC3B,KAAK,CAAC,OAAO,CAAC;iBACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;iBAC1B,MAAM,CAAC,OAAO,CAAC,CAAA;YACjB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,CAAA;YACjE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC5B,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;gBACtD,CAAC;YACF,CAAC;QACF,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAA;QAC/D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAAA;YAC/D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,eAAe,CAAC,IAAI,CAAC;oBACpB,KAAK;oBACL,GAAG,EAAE,OAAO;oBACZ,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;iBAC9C,CAAC,CAAA;YACH,CAAC;QACF,CAAC;IACF,CAAC;IAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;IAC1E,IAAI,YAAY,GAAwC,SAAS,CAAA;IACjE,IAAI,gBAAoC,CAAA;IACxC,IAAI,OAAO,GAAkB,MAAM,EAAE,OAAO,IAAI,IAAI,CAAA;IAEpD,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC;YACJ,MAAM,cAAc,CAAC;gBACpB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,MAAM;gBACN,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE,KAAK,CAAC,OAAO;aACtB,CAAC,CAAA;YACF,YAAY,GAAG,KAAK,CAAA;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,KAAK,YAAY,YAAY,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC;gBACrF,YAAY,GAAG,SAAS,CAAA;YACzB,CAAC;iBAAM,CAAC;gBACP,YAAY,GAAG,QAAQ,CAAA;gBACvB,gBAAgB;oBACf,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACxD,CAAC;QACF,CAAC;IACF,CAAC;IAED,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;IAE7E,OAAO;QACN,IAAI;QACJ,cAAc;QACd,eAAe;QACf,OAAO;QACP,YAAY;QACZ,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,mBAAmB,EAAE,OAAO,CAAC,OAAO;KACpC,CAAA;AACF,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,yBAAyB,CAAC,MAA2B;IACpE,MAAM,KAAK,GAAkB,EAAE,CAAA;IAC/B,MAAM,eAAe,GACpB,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;QAChC,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;QACjC,MAAM,CAAC,mBAAmB;QAC1B,MAAM,CAAC,YAAY,KAAK,KAAK;QAC7B,MAAM,CAAC,YAAY,KAAK,SAAS,CAAA;IAElC,IAAI,CAAC,eAAe,EAAE,CAAC;QACtB,OAAO;YACN,6EAA6E,MAAM,CAAC,IAAI,IAAI;YAC5F,4DAA4D;YAC5D,EAAE;SACF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACb,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,4CAA4C,MAAM,CAAC,IAAI,GAAG,CAAC,CAAA;IACtE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAA;IAC5D,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACpF,CAAC;IAED,IAAI,MAAM,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CACT,oBAAoB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,gCAAgC,CAC9F,CAAA;IACF,CAAC;SAAM,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QAC9C,KAAK,CAAC,IAAI,CACT,YAAY,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,4CAA4C,CAClG,CAAA;IACF,CAAC;SAAM,IAAI,MAAM,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC7C,KAAK,CAAC,IAAI,CACT,2CAA2C,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAC3G,CAAA;IACF,CAAC;SAAM,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;IAC7C,CAAC;IAED,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAA;IACjF,CAAC;SAAM,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAA;IACxE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAA;IAC7C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACxB,CAAC;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAA"}
|