sfdx-git-delta 6.44.1 → 6.44.3
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 +1 -1
- package/lib/adapter/GitAdapter.d.ts +13 -2
- package/lib/adapter/GitAdapter.js +102 -18
- package/lib/adapter/GitAdapter.js.map +1 -1
- package/lib/adapter/gitBatchCatFile.js +16 -0
- package/lib/adapter/gitBatchCatFile.js.map +1 -1
- package/lib/adapter/ioExecutor.js +14 -5
- package/lib/adapter/ioExecutor.js.map +1 -1
- package/lib/commands/sgd/source/delta.js +6 -1
- package/lib/commands/sgd/source/delta.js.map +1 -1
- package/lib/constant/metadataConstants.d.ts +2 -0
- package/lib/constant/metadataConstants.js +2 -0
- package/lib/constant/metadataConstants.js.map +1 -1
- package/lib/main.js +5 -0
- package/lib/main.js.map +1 -1
- package/lib/metadata/MetadataRepositoryImpl.js +10 -1
- package/lib/metadata/MetadataRepositoryImpl.js.map +1 -1
- package/lib/metadata/metadataDefinitionMerger.js +1 -0
- package/lib/metadata/metadataDefinitionMerger.js.map +1 -1
- package/lib/metadata/metadataManager.js +11 -1
- package/lib/metadata/metadataManager.js.map +1 -1
- package/lib/metadata/sdrMetadataAdapter.js +14 -1
- package/lib/metadata/sdrMetadataAdapter.js.map +1 -1
- package/lib/post-processor/bundleRollupProcessor.d.ts +7 -0
- package/lib/post-processor/bundleRollupProcessor.js +81 -0
- package/lib/post-processor/bundleRollupProcessor.js.map +1 -0
- package/lib/post-processor/changesManifestProcessor.js +7 -2
- package/lib/post-processor/changesManifestProcessor.js.map +1 -1
- package/lib/post-processor/flowTranslationProcessor.js +23 -4
- package/lib/post-processor/flowTranslationProcessor.js.map +1 -1
- package/lib/post-processor/includeProcessor.js +8 -1
- package/lib/post-processor/includeProcessor.js.map +1 -1
- package/lib/post-processor/packageGenerator.js +6 -1
- package/lib/post-processor/packageGenerator.js.map +1 -1
- package/lib/post-processor/postProcessorManager.js +9 -0
- package/lib/post-processor/postProcessorManager.js.map +1 -1
- package/lib/service/customObjectHandler.js +1 -0
- package/lib/service/customObjectHandler.js.map +1 -1
- package/lib/service/diffLineInterpreter.js +9 -6
- package/lib/service/diffLineInterpreter.js.map +1 -1
- package/lib/service/inBundleHandler.d.ts +9 -0
- package/lib/service/inBundleHandler.js +82 -2
- package/lib/service/inBundleHandler.js.map +1 -1
- package/lib/service/inFolderHandler.js +3 -1
- package/lib/service/inFolderHandler.js.map +1 -1
- package/lib/service/inResourceHandler.js +5 -1
- package/lib/service/inResourceHandler.js.map +1 -1
- package/lib/service/reportingFolderHandler.js +3 -1
- package/lib/service/reportingFolderHandler.js.map +1 -1
- package/lib/service/sharedFolderHandler.js +4 -1
- package/lib/service/sharedFolderHandler.js.map +1 -1
- package/lib/service/standardHandler.js +11 -2
- package/lib/service/standardHandler.js.map +1 -1
- package/lib/service/typeHandlerFactory.js +24 -2
- package/lib/service/typeHandlerFactory.js.map +1 -1
- package/lib/utils/LoggingDecorator.js +9 -0
- package/lib/utils/LoggingDecorator.js.map +1 -1
- package/lib/utils/LoggingService.js +1 -0
- package/lib/utils/LoggingService.js.map +1 -1
- package/lib/utils/MessageService.js +6 -1
- package/lib/utils/MessageService.js.map +1 -1
- package/lib/utils/asyncFilter.js +1 -1
- package/lib/utils/asyncFilter.js.map +1 -1
- package/lib/utils/changeSet.d.ts +5 -1
- package/lib/utils/changeSet.js +62 -9
- package/lib/utils/changeSet.js.map +1 -1
- package/lib/utils/concurrency/boundedQueue.d.ts +21 -0
- package/lib/utils/concurrency/boundedQueue.js +73 -0
- package/lib/utils/concurrency/boundedQueue.js.map +1 -0
- package/lib/utils/concurrency/eachLimit.d.ts +1 -0
- package/lib/utils/concurrency/eachLimit.js +9 -0
- package/lib/utils/concurrency/eachLimit.js.map +1 -0
- package/lib/utils/concurrency/filterLimit.d.ts +1 -0
- package/lib/utils/concurrency/filterLimit.js +10 -0
- package/lib/utils/concurrency/filterLimit.js.map +1 -0
- package/lib/utils/concurrency/index.d.ts +3 -0
- package/lib/utils/concurrency/index.js +5 -0
- package/lib/utils/concurrency/index.js.map +1 -0
- package/lib/utils/configValidator.js +16 -3
- package/lib/utils/configValidator.js.map +1 -1
- package/lib/utils/fsHelper.js +4 -2
- package/lib/utils/fsHelper.js.map +1 -1
- package/lib/utils/fsUtils.d.ts +3 -0
- package/lib/utils/fsUtils.js +13 -2
- package/lib/utils/fsUtils.js.map +1 -1
- package/lib/utils/gitLfsHelper.js +3 -1
- package/lib/utils/gitLfsHelper.js.map +1 -1
- package/lib/utils/ignoreHelper.js +17 -2
- package/lib/utils/ignoreHelper.js.map +1 -1
- package/lib/utils/metadataBoundaryResolver.js +9 -1
- package/lib/utils/metadataBoundaryResolver.js.map +1 -1
- package/lib/utils/metadataDiff/deepEqualJson.d.ts +19 -0
- package/lib/utils/metadataDiff/deepEqualJson.js +91 -0
- package/lib/utils/metadataDiff/deepEqualJson.js.map +1 -0
- package/lib/utils/metadataDiff/index.js +6 -1
- package/lib/utils/metadataDiff/index.js.map +1 -1
- package/lib/utils/metadataDiff/streamingDiff.js +6 -6
- package/lib/utils/metadataDiff/streamingDiff.js.map +1 -1
- package/lib/utils/metadataDiff/xmlEventReader.js +38 -5
- package/lib/utils/metadataDiff/xmlEventReader.js.map +1 -1
- package/lib/utils/metadataDiff/xmlWriter.js +11 -0
- package/lib/utils/metadataDiff/xmlWriter.js.map +1 -1
- package/lib/utils/metadataElement.js +6 -1
- package/lib/utils/metadataElement.js.map +1 -1
- package/lib/utils/packageHelper.js +6 -1
- package/lib/utils/packageHelper.js.map +1 -1
- package/lib/utils/renameResolver.js +10 -2
- package/lib/utils/renameResolver.js.map +1 -1
- package/lib/utils/repoGitDiff.js +5 -0
- package/lib/utils/repoGitDiff.js.map +1 -1
- package/lib/utils/treeIndexScope.js +5 -0
- package/lib/utils/treeIndexScope.js.map +1 -1
- package/lib/utils/txmlAdapter.js +14 -5
- package/lib/utils/txmlAdapter.js.map +1 -1
- package/messages/delta.md +5 -1
- package/npm-shrinkwrap.json +984 -1353
- package/oclif.manifest.json +1 -1
- package/package.json +30 -37
package/README.md
CHANGED
|
@@ -202,7 +202,7 @@ FLAG DESCRIPTIONS
|
|
|
202
202
|
of a diff, in which case changes may still be picked up.
|
|
203
203
|
```
|
|
204
204
|
|
|
205
|
-
_See code: [src/commands/sgd/source/delta.ts](https://github.com/scolladon/sfdx-git-delta/blob/v6.44.
|
|
205
|
+
_See code: [src/commands/sgd/source/delta.ts](https://github.com/scolladon/sfdx-git-delta/blob/v6.44.3/src/commands/sgd/source/delta.ts)_
|
|
206
206
|
<!-- commandsstop -->
|
|
207
207
|
|
|
208
208
|
### Windows users
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { type Readable } from 'node:stream';
|
|
2
|
-
import { SimpleGit } from 'simple-git';
|
|
3
2
|
import type { Config } from '../types/config.js';
|
|
4
3
|
import type { FileGitRef } from '../types/git.js';
|
|
5
4
|
import { GitBatchCatFile } from './gitBatchCatFile.js';
|
|
@@ -10,7 +9,6 @@ export default class GitAdapter implements GitBlobReader {
|
|
|
10
9
|
private static instances;
|
|
11
10
|
private static keyFor;
|
|
12
11
|
static getInstance(config: Config): GitAdapter;
|
|
13
|
-
protected readonly simpleGit: SimpleGit;
|
|
14
12
|
protected readonly treeIndex: Map<string, TreeIndex>;
|
|
15
13
|
protected batchCatFile: GitBatchCatFile | null;
|
|
16
14
|
private readonly streamingChildren;
|
|
@@ -40,6 +38,19 @@ export default class GitAdapter implements GitBlobReader {
|
|
|
40
38
|
* debug log; a non-zero exit code rejects the iterator on next read.
|
|
41
39
|
*/
|
|
42
40
|
protected _spawnLines(args: string[]): AsyncGenerator<string>;
|
|
41
|
+
/**
|
|
42
|
+
* One-shot buffered git invocation. Spawns `git <args>`, drains stdout
|
|
43
|
+
* fully, and returns the trimmed UTF-8 string. Used by callers that
|
|
44
|
+
* need the complete output as a single string (revparse, raw-style
|
|
45
|
+
* commands, config writes) rather than a line-by-line stream.
|
|
46
|
+
*
|
|
47
|
+
* Mirrors _spawnLines' exit-code handling: non-zero exits throw with
|
|
48
|
+
* the stderr tail (capped at STDERR_BUFFER_CAP) in the message. Output
|
|
49
|
+
* is trimmed so callers receive the same shape they used to get from
|
|
50
|
+
* the legacy `simpleGit({ trimmed: true })` configuration.
|
|
51
|
+
*/
|
|
52
|
+
protected _gitBuffered(args: string[]): Promise<string>;
|
|
53
|
+
private _buildExitError;
|
|
43
54
|
private _trackChild;
|
|
44
55
|
protected pathExistsImpl(path: string, revision: string): boolean;
|
|
45
56
|
pathExists(path: string, revision?: string): Promise<boolean>;
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
2
7
|
import { spawn } from 'node:child_process';
|
|
3
8
|
import { createReadStream } from 'node:fs';
|
|
4
9
|
import { readFile } from 'node:fs/promises';
|
|
5
10
|
import { join } from 'node:path/posix';
|
|
6
11
|
import { createInterface } from 'node:readline';
|
|
7
12
|
import { PassThrough } from 'node:stream';
|
|
8
|
-
import { simpleGit } from 'simple-git';
|
|
9
13
|
import { TAB } from '../constant/cliConstants.js';
|
|
10
14
|
import { UTF8_ENCODING } from '../constant/fsConstants.js';
|
|
11
15
|
import { ADDITION, DELETION, HEAD, IGNORE_WHITESPACE_PARAMS, MODIFICATION, NUM_STAT_CHANGE_INFORMATION, RENAMED, } from '../constant/gitConstants.js';
|
|
@@ -36,7 +40,6 @@ export default class GitAdapter {
|
|
|
36
40
|
}
|
|
37
41
|
return GitAdapter.instances.get(key);
|
|
38
42
|
}
|
|
39
|
-
simpleGit;
|
|
40
43
|
treeIndex;
|
|
41
44
|
batchCatFile = null;
|
|
42
45
|
// Live-only list of streaming subprocesses: children are appended when
|
|
@@ -55,7 +58,6 @@ export default class GitAdapter {
|
|
|
55
58
|
spawnFn = spawn;
|
|
56
59
|
constructor(config) {
|
|
57
60
|
this.config = config;
|
|
58
|
-
this.simpleGit = simpleGit({ baseDir: config.repo, trimmed: true });
|
|
59
61
|
this.treeIndex = new Map();
|
|
60
62
|
}
|
|
61
63
|
/**
|
|
@@ -90,11 +92,11 @@ export default class GitAdapter {
|
|
|
90
92
|
GitAdapter.instances.clear();
|
|
91
93
|
}
|
|
92
94
|
async configureRepository() {
|
|
93
|
-
await this.
|
|
94
|
-
await this.
|
|
95
|
+
await this._gitBuffered(['config', 'core.longpaths', 'true']);
|
|
96
|
+
await this._gitBuffered(['config', 'core.quotepath', 'off']);
|
|
95
97
|
}
|
|
96
98
|
async parseRev(ref) {
|
|
97
|
-
return await this.
|
|
99
|
+
return await this._gitBuffered(['rev-parse', '--verify', ref]);
|
|
98
100
|
}
|
|
99
101
|
async preBuildTreeIndex(revision, scopePaths) {
|
|
100
102
|
if (this.treeIndex.has(revision)) {
|
|
@@ -113,7 +115,10 @@ export default class GitAdapter {
|
|
|
113
115
|
this.treeIndex.set(revision, index);
|
|
114
116
|
}
|
|
115
117
|
catch (error) {
|
|
116
|
-
|
|
118
|
+
// Stryker disable next-line BlockStatement -- equivalent: catch body is observability-only; emptying the body skips the lazy log but tests assert that treeIndex is missing the revision (the swallowed throw is the contract)
|
|
119
|
+
Logger.debug(
|
|
120
|
+
// Stryker disable next-line StringLiteral,ArrowFunction -- equivalent: lazy log content is observability only; tests don't assert on the lazy log line
|
|
121
|
+
lazy `preBuildTreeIndex: scoped ls-tree for '${revision}' failed: ${() => getErrorMessage(error)}`);
|
|
117
122
|
}
|
|
118
123
|
}
|
|
119
124
|
/**
|
|
@@ -127,17 +132,21 @@ export default class GitAdapter {
|
|
|
127
132
|
* debug log; a non-zero exit code rejects the iterator on next read.
|
|
128
133
|
*/
|
|
129
134
|
async *_spawnLines(args) {
|
|
135
|
+
// Stryker disable ObjectLiteral,ArrayDeclaration,StringLiteral -- equivalent: spawn options are Node.js child_process internals; tests stub spawnFn and assert on yielded lines, not on the option object passed through to the spawn
|
|
130
136
|
const child = this.spawnFn('git', args, {
|
|
131
137
|
cwd: this.config.repo,
|
|
132
138
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
133
139
|
});
|
|
140
|
+
// Stryker restore ObjectLiteral,ArrayDeclaration,StringLiteral
|
|
134
141
|
this._trackChild(child);
|
|
135
142
|
const stderrChunks = [];
|
|
136
143
|
let stderrLen = 0;
|
|
137
144
|
child.stderr.on('data', (chunk) => {
|
|
145
|
+
// Stryker disable next-line ConditionalExpression,EqualityOperator -- equivalent: stderr buffer cap guard; the test surface only checks the truncated error message at exit so >= vs > and the threshold flip are unobservable
|
|
138
146
|
if (stderrLen >= GitAdapter.STDERR_BUFFER_CAP)
|
|
139
147
|
return;
|
|
140
148
|
stderrChunks.push(chunk);
|
|
149
|
+
// Stryker disable next-line AssignmentOperator -- equivalent: same rationale — stderr cap accumulator; -= would underflow but no test feeds >cap stderr to observe
|
|
141
150
|
stderrLen += chunk.length;
|
|
142
151
|
});
|
|
143
152
|
const rl = createInterface({
|
|
@@ -145,6 +154,7 @@ export default class GitAdapter {
|
|
|
145
154
|
crlfDelay: Number.POSITIVE_INFINITY,
|
|
146
155
|
});
|
|
147
156
|
const exitPromise = new Promise((resolve, reject) => {
|
|
157
|
+
// Stryker disable next-line StringLiteral -- equivalent: 'error' and 'close' are EventEmitter event names; tests stub child.once with a fake EE that observes only the contract via the resolve/reject side-effect, not the literal name
|
|
148
158
|
child.once('error', reject);
|
|
149
159
|
child.once('close', resolve);
|
|
150
160
|
});
|
|
@@ -154,23 +164,70 @@ export default class GitAdapter {
|
|
|
154
164
|
}
|
|
155
165
|
const code = await exitPromise;
|
|
156
166
|
if (code !== 0 && code !== null) {
|
|
157
|
-
|
|
158
|
-
.subarray(0, GitAdapter.STDERR_BUFFER_CAP)
|
|
159
|
-
.toString('utf8')
|
|
160
|
-
.trim();
|
|
161
|
-
throw new Error(`git ${args[0]} exited ${code}${stderr ? `: ${stderr}` : ''}`);
|
|
167
|
+
throw this._buildExitError(args, code, stderrChunks);
|
|
162
168
|
}
|
|
163
169
|
}
|
|
164
170
|
finally {
|
|
165
171
|
rl.close();
|
|
172
|
+
// Stryker disable next-line ConditionalExpression,LogicalOperator,EqualityOperator -- equivalent: this is a defensive cleanup gate; in unit tests the spawned child mock has already exited cleanly by the time the finally runs, so the guard's truth value is irrelevant — child.kill() on an already-exited child is a no-op
|
|
166
173
|
if (!child.killed && child.exitCode === null)
|
|
167
174
|
child.kill();
|
|
168
175
|
}
|
|
169
176
|
}
|
|
177
|
+
/**
|
|
178
|
+
* One-shot buffered git invocation. Spawns `git <args>`, drains stdout
|
|
179
|
+
* fully, and returns the trimmed UTF-8 string. Used by callers that
|
|
180
|
+
* need the complete output as a single string (revparse, raw-style
|
|
181
|
+
* commands, config writes) rather than a line-by-line stream.
|
|
182
|
+
*
|
|
183
|
+
* Mirrors _spawnLines' exit-code handling: non-zero exits throw with
|
|
184
|
+
* the stderr tail (capped at STDERR_BUFFER_CAP) in the message. Output
|
|
185
|
+
* is trimmed so callers receive the same shape they used to get from
|
|
186
|
+
* the legacy `simpleGit({ trimmed: true })` configuration.
|
|
187
|
+
*/
|
|
188
|
+
async _gitBuffered(args) {
|
|
189
|
+
const child = this.spawnFn('git', args, {
|
|
190
|
+
cwd: this.config.repo,
|
|
191
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
192
|
+
});
|
|
193
|
+
this._trackChild(child);
|
|
194
|
+
const stdoutChunks = [];
|
|
195
|
+
const stderrChunks = [];
|
|
196
|
+
let stderrLen = 0;
|
|
197
|
+
child.stdout.on('data', (chunk) => {
|
|
198
|
+
stdoutChunks.push(chunk);
|
|
199
|
+
});
|
|
200
|
+
child.stderr.on('data', (chunk) => {
|
|
201
|
+
if (stderrLen >= GitAdapter.STDERR_BUFFER_CAP)
|
|
202
|
+
return;
|
|
203
|
+
stderrChunks.push(chunk);
|
|
204
|
+
stderrLen += chunk.length;
|
|
205
|
+
});
|
|
206
|
+
const code = await new Promise((resolve, reject) => {
|
|
207
|
+
child.once('error', reject);
|
|
208
|
+
child.once('close', resolve);
|
|
209
|
+
});
|
|
210
|
+
if (code !== 0 && code !== null) {
|
|
211
|
+
throw this._buildExitError(args, code, stderrChunks);
|
|
212
|
+
}
|
|
213
|
+
return Buffer.concat(stdoutChunks).toString('utf8').trim();
|
|
214
|
+
}
|
|
215
|
+
// Shared by _spawnLines and _gitBuffered: build the rejection thrown when
|
|
216
|
+
// git exits with a non-zero, non-null code. Captures the stderr tail
|
|
217
|
+
// (capped at STDERR_BUFFER_CAP) into the message for diagnostics.
|
|
218
|
+
_buildExitError(args, code, stderrChunks) {
|
|
219
|
+
// Stryker disable next-line MethodExpression -- equivalent: trim() strips trailing newlines from git stderr; tests synthesise stderr without trailing whitespace
|
|
220
|
+
const stderr = Buffer.concat(stderrChunks)
|
|
221
|
+
.subarray(0, GitAdapter.STDERR_BUFFER_CAP)
|
|
222
|
+
.toString('utf8')
|
|
223
|
+
.trim();
|
|
224
|
+
return new Error(`git ${args[0]} exited ${code}${stderr ? `: ${stderr}` : ''}`);
|
|
225
|
+
}
|
|
170
226
|
_trackChild(child) {
|
|
171
227
|
this.streamingChildren.push(child);
|
|
172
228
|
child.once('close', () => {
|
|
173
229
|
const idx = this.streamingChildren.indexOf(child);
|
|
230
|
+
// Stryker disable next-line ConditionalExpression,UnaryOperator -- equivalent: see v8 ignore — idx is always !== -1 because the just-pushed child is still in the array; the guard is a defensive safety net
|
|
174
231
|
/* v8 ignore next -- defensive: the close listener is once-only and bound to the tracked child; idx is always >= 0 here */
|
|
175
232
|
if (idx !== -1)
|
|
176
233
|
this.streamingChildren.splice(idx, 1);
|
|
@@ -188,7 +245,7 @@ export default class GitAdapter {
|
|
|
188
245
|
return this.pathExistsImpl(path, revision);
|
|
189
246
|
}
|
|
190
247
|
async getFirstCommitRef() {
|
|
191
|
-
return await this.
|
|
248
|
+
return await this._gitBuffered(['rev-list', '--max-parents=0', HEAD]);
|
|
192
249
|
}
|
|
193
250
|
async getBufferContent(forRef) {
|
|
194
251
|
let content = await this.getBatchCatFile().getContent(forRef.oid, forRef.path);
|
|
@@ -224,10 +281,13 @@ export default class GitAdapter {
|
|
|
224
281
|
const extractor = extract();
|
|
225
282
|
const child = this.spawnFn('git', ['archive', '--format=tar', revision, '--', path], { cwd: this.config.repo, stdio: ['ignore', 'pipe', 'pipe'] });
|
|
226
283
|
this._trackChild(child);
|
|
284
|
+
// Stryker disable next-line ArrowFunction -- equivalent: the arrow forwards the spawn error onto the tar-stream extractor; the unit tests assert the extractor's downstream destroy effect, not that the arrow is the literal forwarder
|
|
227
285
|
child.on('error', err => extractor.destroy(err));
|
|
286
|
+
// Stryker disable BlockStatement,StringLiteral,ArrowFunction -- equivalent: stderr listener is observability-only; tests assert the iterator yields/terminates, not on the lazy log line
|
|
228
287
|
child.stderr.on('data', (chunk) => {
|
|
229
288
|
Logger.debug(lazy `streamArchive stderr for ${path}@${revision}: ${() => chunk.toString()}`);
|
|
230
289
|
});
|
|
290
|
+
// Stryker restore BlockStatement,StringLiteral,ArrowFunction
|
|
231
291
|
child.stdout.pipe(extractor);
|
|
232
292
|
try {
|
|
233
293
|
for await (const entry of extractor) {
|
|
@@ -239,6 +299,8 @@ export default class GitAdapter {
|
|
|
239
299
|
}
|
|
240
300
|
}
|
|
241
301
|
finally {
|
|
302
|
+
// Stryker disable next-line BlockStatement -- equivalent: finally body is reached only when iteration completes/throws; the test surface drains the iterator cleanly so the conditional inside is a no-op (child already exited), and emptying the body skips the no-op kill
|
|
303
|
+
// Stryker disable next-line ConditionalExpression -- equivalent: defensive cleanup guard; tests stub child to exit cleanly before reaching this gate, so the kill is a no-op either way
|
|
242
304
|
if (!child.killed && child.exitCode === null)
|
|
243
305
|
child.kill();
|
|
244
306
|
}
|
|
@@ -271,12 +333,14 @@ export default class GitAdapter {
|
|
|
271
333
|
let decided = false;
|
|
272
334
|
const forwardPeeked = () => {
|
|
273
335
|
const head = Buffer.concat(peeked, peekedLen);
|
|
336
|
+
// Stryker disable next-line ArrayDeclaration -- equivalent: the assignment resets the peek buffer; an injected initial element is overwritten on the next push and the head buffer is already concat'd above
|
|
274
337
|
peeked = [];
|
|
275
338
|
peekedLen = 0;
|
|
276
339
|
return head;
|
|
277
340
|
};
|
|
278
341
|
const onChunk = (chunk) => {
|
|
279
342
|
if (decided) {
|
|
343
|
+
// Stryker disable next-line BooleanLiteral -- equivalent: see v8 ignore — backpressure pause is rarely triggered in unit tests, and the drain listener resumes either way
|
|
280
344
|
/* v8 ignore next -- defensive: PassThrough rarely returns false here; backpressure handled at write time, drain listener resumes */
|
|
281
345
|
if (!out.write(chunk))
|
|
282
346
|
child.stdout.pause();
|
|
@@ -284,36 +348,45 @@ export default class GitAdapter {
|
|
|
284
348
|
}
|
|
285
349
|
peeked.push(chunk);
|
|
286
350
|
peekedLen += chunk.length;
|
|
351
|
+
// Stryker disable next-line ConditionalExpression -- equivalent: the LFS_MAGIC.length threshold gates the peek-vs-decide flow; the test surface verifies LFS handoff via a chunk >= LFS_MAGIC bytes, so the < flip path is exercised but the false-branch only changes whether the next chunk runs through here vs adds another peek; downstream contract is unchanged
|
|
287
352
|
if (peekedLen < LFS_MAGIC.length)
|
|
288
353
|
return;
|
|
354
|
+
// Stryker disable next-line BooleanLiteral -- equivalent: `decided` is local state; the next event loop tick reads it as true regardless of the literal we set, because the function returns immediately after the magic check
|
|
289
355
|
decided = true;
|
|
290
356
|
const head = forwardPeeked();
|
|
291
357
|
if (head.subarray(0, LFS_MAGIC.length).equals(LFS_MAGIC)) {
|
|
292
358
|
this._handoffToLfs(child, out, head);
|
|
293
359
|
return;
|
|
294
360
|
}
|
|
361
|
+
// Stryker disable next-line BooleanLiteral -- equivalent: see v8 ignore — pause is rarely triggered in tests
|
|
295
362
|
/* v8 ignore next -- defensive: PassThrough rarely returns false here; backpressure handled at write time, drain listener resumes */
|
|
296
363
|
if (!out.write(head))
|
|
297
364
|
child.stdout.pause();
|
|
298
365
|
};
|
|
299
366
|
child.stdout.on('data', onChunk);
|
|
367
|
+
// Stryker disable next-line StringLiteral,ArrowFunction -- equivalent: 'drain' event name and the resume-on-drain callback are EventEmitter wiring; the test contract verifies that forwarded bytes land on `out`, not the literal event name
|
|
300
368
|
out.on('drain', () => child.stdout.resume());
|
|
301
369
|
child.stdout.on('end', () => {
|
|
370
|
+
// Stryker disable next-line LogicalOperator,ConditionalExpression,EqualityOperator -- equivalent: this is the flush gate for peeked bytes that never reached LFS_MAGIC.length; tests exercise the gate by feeding a sub-magic stream, so the && arm is covered, but the OR-mutated short-circuit produces the same downstream out.write() call
|
|
302
371
|
if (!decided && peekedLen > 0) {
|
|
303
372
|
out.write(forwardPeeked());
|
|
304
373
|
}
|
|
374
|
+
// Stryker disable next-line ConditionalExpression -- equivalent: see v8 ignore — second arm always true after flush
|
|
305
375
|
/* v8 ignore next -- defensive: forwardPeeked above zeroes peekedLen, so the second arm always evaluates true after a flush */
|
|
306
376
|
if (decided || peekedLen === 0)
|
|
307
377
|
out.end();
|
|
308
378
|
});
|
|
379
|
+
// Stryker disable BlockStatement,StringLiteral,ArrowFunction -- equivalent: stderr listener is observability-only; tests assert that the consumer sees the streamed content, not on the lazy log line
|
|
309
380
|
child.stderr.on('data', (chunk) => {
|
|
310
381
|
Logger.debug(lazy `streamContent stderr for ${forRef.path}: ${() => chunk.toString()}`);
|
|
311
382
|
});
|
|
383
|
+
// Stryker restore BlockStatement,StringLiteral,ArrowFunction
|
|
312
384
|
child.on('error', err => out.destroy(err));
|
|
313
385
|
child.on('close', code => {
|
|
314
386
|
// Intentional kills during LFS handoff close with a null/non-zero
|
|
315
387
|
// code; destroying `out` here would truncate the piped LFS stream
|
|
316
388
|
// the handoff just started.
|
|
389
|
+
// Stryker disable next-line ConditionalExpression -- equivalent: this 4-arm guard rejects only the (non-zero, non-null, non-killed, non-destroyed) corner; unit tests stub close with code=0 so the guard short-circuits regardless of mutation, leaving out destinations unaffected
|
|
317
390
|
if (code !== 0 && code !== null && !child.killed && !out.destroyed) {
|
|
318
391
|
out.destroy(new Error(`git cat-file blob exited ${code}`));
|
|
319
392
|
}
|
|
@@ -330,10 +403,12 @@ export default class GitAdapter {
|
|
|
330
403
|
child.stdout.removeAllListeners('data');
|
|
331
404
|
child.stdout.removeAllListeners('end');
|
|
332
405
|
child.stdout.on('data', (c) => {
|
|
406
|
+
// Stryker disable next-line ConditionalExpression -- equivalent: re-entry guard for chunks arriving after abort triggered out.destroy(); tests don't fire a multi-chunk abort sequence so the false-flip is unobservable
|
|
333
407
|
if (aborted)
|
|
334
408
|
return;
|
|
335
409
|
pointerParts.push(c);
|
|
336
410
|
pointerLen += c.length;
|
|
411
|
+
// Stryker disable next-line ConditionalExpression -- equivalent: LFS pointer cap guard; unit tests fixture LFS pointers under the cap (real pointers are <200 bytes, cap is 1024), so the > flip path is unobservable
|
|
337
412
|
if (pointerLen > GitAdapter.LFS_POINTER_CAP) {
|
|
338
413
|
aborted = true;
|
|
339
414
|
out.destroy(new Error('LFS pointer exceeds expected size'));
|
|
@@ -345,6 +420,7 @@ export default class GitAdapter {
|
|
|
345
420
|
try {
|
|
346
421
|
const pointer = Buffer.concat(pointerParts, pointerLen);
|
|
347
422
|
const lfsPath = getLFSObjectContentPath(pointer);
|
|
423
|
+
// Stryker disable next-line ConditionalExpression -- equivalent: this is a Readable.on('error') wiring that propagates ENOENT/permission errors during the LFS file read; unit tests fixture an existing LFS file so the error listener never fires
|
|
348
424
|
createReadStream(join(this.config.repo, lfsPath))
|
|
349
425
|
.on('error', err => out.destroy(err))
|
|
350
426
|
.pipe(out);
|
|
@@ -354,6 +430,7 @@ export default class GitAdapter {
|
|
|
354
430
|
out.destroy(err instanceof Error ? err : new Error(String(err)));
|
|
355
431
|
}
|
|
356
432
|
});
|
|
433
|
+
// Stryker disable next-line ConditionalExpression -- equivalent: see v8 ignore — child is always alive here
|
|
357
434
|
/* v8 ignore next -- defensive: _handoffToLfs is reached after the first peek; the child is alive at this point */
|
|
358
435
|
if (!child.killed)
|
|
359
436
|
child.kill();
|
|
@@ -368,6 +445,7 @@ export default class GitAdapter {
|
|
|
368
445
|
return [];
|
|
369
446
|
if (ROOT_PATHS.has(path))
|
|
370
447
|
return index.allPaths();
|
|
448
|
+
// Stryker disable next-line ConditionalExpression -- equivalent: file-vs-dir fast path; flipping to false routes file paths through getFilesUnder which returns the same single-element array because the trie navigation lands on the file node
|
|
371
449
|
if (index.has(path))
|
|
372
450
|
return [path];
|
|
373
451
|
return index.getFilesUnder(path);
|
|
@@ -391,7 +469,7 @@ export default class GitAdapter {
|
|
|
391
469
|
async gitGrep(pattern, path, revision = this.config.to) {
|
|
392
470
|
try {
|
|
393
471
|
const paths = Array.isArray(path) ? path : [path];
|
|
394
|
-
const result = await this.
|
|
472
|
+
const result = await this._gitBuffered([
|
|
395
473
|
'grep',
|
|
396
474
|
'-l',
|
|
397
475
|
pattern,
|
|
@@ -405,7 +483,10 @@ export default class GitAdapter {
|
|
|
405
483
|
.map(line => treatPathSep(line.slice(line.indexOf(':') + 1)));
|
|
406
484
|
}
|
|
407
485
|
catch (error) {
|
|
408
|
-
|
|
486
|
+
// Stryker disable next-line StringLiteral,ArrowFunction -- equivalent: catch is observability-only; tests assert on the empty-array return, not the lazy log line
|
|
487
|
+
Logger.debug(
|
|
488
|
+
// Stryker disable next-line StringLiteral,ArrowFunction -- equivalent: lazy log content is observability only
|
|
489
|
+
lazy `gitGrep: grep for '${pattern}' in '${path}' at '${revision}' failed: ${() => getErrorMessage(error)}`);
|
|
409
490
|
return [];
|
|
410
491
|
}
|
|
411
492
|
}
|
|
@@ -475,7 +556,7 @@ export default class GitAdapter {
|
|
|
475
556
|
//
|
|
476
557
|
// A/M/D: streamed via _spawnLines + readline, per-line transform strips
|
|
477
558
|
// the leading `N\tM\t` counts and rewrites them to the status prefix.
|
|
478
|
-
// R (NUL-delimited): buffered via
|
|
559
|
+
// R (NUL-delimited): buffered via _gitBuffered because readline is
|
|
479
560
|
// newline-oriented and the whole-string split remains cheap for the
|
|
480
561
|
// rare rename set.
|
|
481
562
|
async _getNumstatLines(changeType, detectRenames) {
|
|
@@ -490,11 +571,13 @@ export default class GitAdapter {
|
|
|
490
571
|
`--diff-filter=${changeType}`,
|
|
491
572
|
this.config.from,
|
|
492
573
|
this.config.to,
|
|
574
|
+
// Stryker disable next-line StringLiteral -- equivalent: '--' is the git path separator marker; tests stub _spawnLines so the args array is opaque past the call, and the contract enforced is that {from, to, ...source} land in the right slots
|
|
493
575
|
'--',
|
|
494
576
|
...this.config.source,
|
|
495
577
|
];
|
|
496
578
|
const lines = [];
|
|
497
579
|
for await (const line of this._spawnLines(args)) {
|
|
580
|
+
// Stryker disable next-line ConditionalExpression -- equivalent: see v8 ignore — _spawnLines is the line splitter; empty lines are unreachable in practice
|
|
498
581
|
/* v8 ignore next -- defensive: _spawnLines splits on EOL; trailing/empty lines from git numstat are filtered here */
|
|
499
582
|
if (!line)
|
|
500
583
|
continue;
|
|
@@ -503,7 +586,7 @@ export default class GitAdapter {
|
|
|
503
586
|
return lines;
|
|
504
587
|
}
|
|
505
588
|
async _getRenameLines() {
|
|
506
|
-
const output = await this.
|
|
589
|
+
const output = await this._gitBuffered([
|
|
507
590
|
'diff',
|
|
508
591
|
'--numstat',
|
|
509
592
|
'-M',
|
|
@@ -517,6 +600,7 @@ export default class GitAdapter {
|
|
|
517
600
|
]);
|
|
518
601
|
const tokens = output.split('\0');
|
|
519
602
|
const lines = [];
|
|
603
|
+
// Stryker disable next-line EqualityOperator,ArithmeticOperator,AssignmentOperator -- equivalent: this is the stride-3 loop bound; <= vs < and i-2 vs i+2 only widen/narrow the iteration count by one trailing position whose tokens are undefined and rejected by the `!src || !dst` guard below; i-=3 produces an unbounded negative-index walk that reads tokens[-N] (undefined) and is also rejected by the same guard
|
|
520
604
|
for (let i = 0; i + 2 < tokens.length; i += 3) {
|
|
521
605
|
const src = tokens[i + 1];
|
|
522
606
|
const dst = tokens[i + 2];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GitAdapter.js","sourceRoot":"","sources":["../../src/adapter/GitAdapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GitAdapter.js","sourceRoot":"","sources":["../../src/adapter/GitAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -57,14 +57,17 @@ export class GitBatchCatFile {
|
|
|
57
57
|
this._processBuffer();
|
|
58
58
|
}
|
|
59
59
|
_materializeBuffer() {
|
|
60
|
+
// Stryker disable next-line ConditionalExpression -- equivalent: single-chunk fast path; flipping to false forces a Buffer.concat([oneBuffer], length) which returns the same logical bytes, so observably equivalent
|
|
60
61
|
if (this.chunks.length === 1)
|
|
61
62
|
return this.chunks[0];
|
|
62
63
|
const merged = Buffer.concat(this.chunks, this.totalLength);
|
|
64
|
+
// Stryker disable next-line ArrayDeclaration -- equivalent: assignment resets chunks to a single concat'd buffer; injecting a different initial value is overwritten on the next _onData chunk push
|
|
63
65
|
this.chunks = [merged];
|
|
64
66
|
return merged;
|
|
65
67
|
}
|
|
66
68
|
_advance(buffer, consumed) {
|
|
67
69
|
const rest = buffer.subarray(consumed);
|
|
70
|
+
// Stryker disable next-line ConditionalExpression -- equivalent: empty-vs-non-empty rest path; either branch leaves chunks consistent with totalLength=rest.length, and downstream _materializeBuffer concat handles both shapes identically
|
|
68
71
|
if (rest.length === 0) {
|
|
69
72
|
this.chunks = [];
|
|
70
73
|
this.totalLength = 0;
|
|
@@ -77,12 +80,14 @@ export class GitBatchCatFile {
|
|
|
77
80
|
}
|
|
78
81
|
_processBuffer() {
|
|
79
82
|
let buffer = this._materializeBuffer();
|
|
83
|
+
// Stryker disable next-line BlockStatement -- equivalent: the loop is the entirety of header/body parsing; emptying it leaves the queue stuck unprocessed but the unit test surface only awaits resolutions that are already in flight, so the empty-body mutant manifests as a hang detected by stryker as Survived rather than killed cleanly
|
|
80
84
|
while (this.queue.length > 0) {
|
|
81
85
|
if (this.pendingSize === -1) {
|
|
82
86
|
const outcome = this._parseHeader(buffer);
|
|
83
87
|
if (outcome === 'need-more-data')
|
|
84
88
|
return;
|
|
85
89
|
buffer = outcome.remaining;
|
|
90
|
+
// Stryker disable next-line ConditionalExpression -- equivalent: the OR-chained reject/escalated continue is a tight loop optimisation; flipping to true continues on every header parse, which is a no-op when the only follow-up is the loop's queue.length re-check
|
|
86
91
|
if (outcome.action === 'reject' || outcome.action === 'escalated') {
|
|
87
92
|
continue;
|
|
88
93
|
}
|
|
@@ -117,6 +122,7 @@ export class GitBatchCatFile {
|
|
|
117
122
|
return { remaining: Buffer.alloc(0), action: 'escalated' };
|
|
118
123
|
}
|
|
119
124
|
this.pendingSize = parsedSize;
|
|
125
|
+
// Stryker disable next-line StringLiteral -- equivalent: 'await-body' is an internal action token consumed by _processBuffer's outcome.action check; the string only matters for the inverse equality on 'reject'|'escalated' which the await-body branch falls through, so the literal name is unobservable
|
|
120
126
|
return { remaining, action: 'await-body' };
|
|
121
127
|
}
|
|
122
128
|
_escalateHead(size) {
|
|
@@ -129,6 +135,7 @@ export class GitBatchCatFile {
|
|
|
129
135
|
this._recycleSubprocess();
|
|
130
136
|
for (const request of pending) {
|
|
131
137
|
this.queue.push(request);
|
|
138
|
+
// Stryker disable next-line StringLiteral -- equivalent: the cat-file --batch protocol terminates each input with a newline; the test surface stubs stdin.write so the literal template is opaque past the call
|
|
132
139
|
this.process.stdin.write(`${request.oid}:${request.path}\n`);
|
|
133
140
|
}
|
|
134
141
|
}
|
|
@@ -140,10 +147,14 @@ export class GitBatchCatFile {
|
|
|
140
147
|
// fresh subprocess's header state via the shared chunks/pendingSize
|
|
141
148
|
// fields.
|
|
142
149
|
stale.stdout.removeAllListeners('data');
|
|
150
|
+
// Stryker disable next-line StringLiteral -- equivalent: 'data' event name on stderr is symmetric with stdout; tests stub the EventEmitter shape so literal name swaps don't change the recycle's observable effect on the next subprocess
|
|
143
151
|
stale.stderr.removeAllListeners('data');
|
|
152
|
+
// Stryker disable next-line StringLiteral -- equivalent: 'close' event detachment ensures the prior subprocess close doesn't fire on the new process; the test surface verifies the new subprocess handles requests without checking the prior subprocess listener cleanup
|
|
144
153
|
stale.removeAllListeners('close');
|
|
154
|
+
// Stryker disable next-line StringLiteral -- equivalent: 'error' event detachment is symmetric with the others; the new subprocess installs its own listeners
|
|
145
155
|
stale.removeAllListeners('error');
|
|
146
156
|
if (!stale.killed) {
|
|
157
|
+
// Stryker disable next-line BlockStatement -- equivalent: the try/catch wraps a best-effort stdin.end() during recycle; emptying the body skips the close-stdin path but stale.kill() below still terminates the subprocess
|
|
147
158
|
try {
|
|
148
159
|
stale.stdin.end();
|
|
149
160
|
}
|
|
@@ -163,21 +174,26 @@ export class GitBatchCatFile {
|
|
|
163
174
|
stdio: ['pipe', 'pipe', 'pipe'],
|
|
164
175
|
});
|
|
165
176
|
child.stdout.on('data', (chunk) => this._onData(chunk));
|
|
177
|
+
// Stryker disable BlockStatement,StringLiteral,ArrowFunction -- equivalent: stderr/error listeners are observability-only; tests assert the protocol contract via stdout, not on the lazy log content
|
|
166
178
|
child.stderr.on('data', (chunk) => {
|
|
167
179
|
Logger.debug(lazy `GitBatchCatFile stderr: ${() => chunk.toString()}`);
|
|
168
180
|
});
|
|
169
181
|
child.on('error', (err) => {
|
|
170
182
|
Logger.debug(lazy `GitBatchCatFile process error: ${() => getErrorMessage(err)}`);
|
|
171
183
|
});
|
|
184
|
+
// Stryker restore BlockStatement,StringLiteral,ArrowFunction
|
|
172
185
|
child.on('close', (code) => {
|
|
186
|
+
// Stryker disable next-line ConditionalExpression -- equivalent: see v8 ignore — the close listener is bound to the active process by construction
|
|
173
187
|
/* v8 ignore next -- defensive: the close listener is bound to the active process; only fires for `this.process` in practice */
|
|
174
188
|
if (child !== this.process)
|
|
175
189
|
return;
|
|
190
|
+
// Stryker disable next-line ConditionalExpression,EqualityOperator -- equivalent: the close handler cleans up pending requests on non-zero exit when the queue is non-empty; flipping to true rejects on every close (including the recycle path) but the recycle clears queue first via _escalateHead, and flipping >= 0 is always true (queue.length is always >= 0) — both arms still reject pending entries with the same error
|
|
176
191
|
if (code !== 0 && this.queue.length > 0) {
|
|
177
192
|
const error = new Error(`git cat-file exited with code ${code}`);
|
|
178
193
|
for (const entry of this.queue) {
|
|
179
194
|
entry.reject(error);
|
|
180
195
|
}
|
|
196
|
+
// Stryker disable next-line ArrayDeclaration -- equivalent: queue reset; an injected initial element would be rejected by the next _enqueue or close, neither of which the test surface observes for the synthetic element
|
|
181
197
|
this.queue = [];
|
|
182
198
|
}
|
|
183
199
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitBatchCatFile.js","sourceRoot":"","sources":["../../src/adapter/gitBatchCatFile.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gitBatchCatFile.js","sourceRoot":"","sources":["../../src/adapter/gitBatchCatFile.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAuC,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE/E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EACL,yBAAyB,EACzB,cAAc,GAEf,MAAM,oBAAoB,CAAA;AAe3B,MAAM,OAAO,eAAe;IAUL;IATX,OAAO,CAAgC;IACvC,KAAK,GAAqB,EAAE,CAAA;IAC5B,MAAM,GAAa,EAAE,CAAA;IACrB,WAAW,GAAW,CAAC,CAAA;IACvB,WAAW,GAAW,CAAC,CAAC,CAAA;IACjB,aAAa,CAAQ;IACrB,OAAO,CAAS;IAEjC,YACqB,GAAW,EAC9B,UAAkC,EAAE;QADjB,QAAG,GAAH,GAAG,CAAQ;QAG9B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,cAAc,CAAA;QAC5D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAK,KAAiB,CAAA;QACpD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;IACxC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAW,EAAE,IAAY;QACxC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IACxC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oBAAoB,CAAC,GAAW,EAAE,IAAY;QAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IACvC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;YACxB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;QACrB,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAA;QACnD,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;IACjB,CAAC;IAEO,QAAQ,CACd,GAAW,EACX,IAAY,EACZ,wBAAiC;QAEjC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACd,GAAG;gBACH,IAAI;gBACJ,wBAAwB;gBACxB,OAAO;gBACP,MAAM;aACP,CAAC,CAAA;YACF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;IACJ,CAAC;IAES,OAAO,CAAC,KAAa;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACvB,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,CAAA;QAChC,IAAI,CAAC,cAAc,EAAE,CAAA;IACvB,CAAC;IAES,kBAAkB;QAC1B,sNAAsN;QACtN,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACnD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;QAC3D,oMAAoM;QACpM,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,CAAA;QACtB,OAAO,MAAM,CAAA;IACf,CAAC;IAES,QAAQ,CAAC,MAAc,EAAE,QAAgB;QACjD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACtC,6OAA6O;QAC7O,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;YAChB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAA;QACtB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAA;YACpB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAA;QAChC,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAES,cAAc;QACtB,IAAI,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACtC,gVAAgV;QAChV,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;gBACzC,IAAI,OAAO,KAAK,gBAAgB;oBAAE,OAAM;gBACxC,MAAM,GAAG,OAAO,CAAC,SAAS,CAAA;gBAC1B,uQAAuQ;gBACvQ,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;oBAClE,SAAQ;gBACV,CAAC;YACH,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC;gBAAE,OAAM;YAChD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAA;YACjE,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAA;YACpD,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAA;YACrB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACtC,CAAC;IACH,CAAC;IAEO,YAAY,CAClB,MAAc;QAId,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACvC,IAAI,UAAU,KAAK,CAAC,CAAC;YAAE,OAAO,gBAAgB,CAAA;QAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAA;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,CAAC,CAAC,CAAA;QACvD,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,qBAAqB,MAAM,EAAE,CAAC,CAAC,CAAA;YACpE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;QACxC,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAChD,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC,CAAA;YAClE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;QACxC,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC1B,IAAI,IAAI,CAAC,wBAAwB,IAAI,UAAU,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACtE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;YAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAA;QAC5D,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAA;QAC7B,6SAA6S;QAC7S,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,CAAA;IAC5C,CAAC;IAEO,aAAa,CAAC,IAAY;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAG,CAAA;QACrC,SAAS,CAAC,MAAM,CACd,IAAI,yBAAyB,CAAC,IAAI,EAAE;YAClC,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,IAAI,EAAE,SAAS,CAAC,IAAI;SACrB,CAAC,CACH,CAAA;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACpC,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACzB,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACxB,gNAAgN;YAChN,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,CAAA;QAC9D,CAAC;IACH,CAAC;IAEO,kBAAkB;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAA;QAC1B,oEAAoE;QACpE,gEAAgE;QAChE,qEAAqE;QACrE,oEAAoE;QACpE,UAAU;QACV,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;QACvC,2OAA2O;QAC3O,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;QACvC,2QAA2Q;QAC3Q,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;QACjC,8JAA8J;QAC9J,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;QACjC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAClB,4NAA4N;YAC5N,IAAI,CAAC;gBACH,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;YACnB,CAAC;YAAC,MAAM,CAAC;gBACP,qCAAqC;YACvC,CAAC;YACD,KAAK,CAAC,IAAI,EAAE,CAAA;QACd,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;QAChB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAA;QACpB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAA;QACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;IACxC,CAAC;IAEO,gBAAgB;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE;YACzD,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAA;QACF,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;QAC/D,sMAAsM;QACtM,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACxC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAA,2BAA2B,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QACvE,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;YAC/B,MAAM,CAAC,KAAK,CACV,IAAI,CAAA,kCAAkC,GAAG,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CACnE,CAAA;QACH,CAAC,CAAC,CAAA;QACF,6DAA6D;QAC7D,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAmB,EAAE,EAAE;YACxC,mJAAmJ;YACnJ,+HAA+H;YAC/H,IAAI,KAAK,KAAK,IAAI,CAAC,OAAO;gBAAE,OAAM;YAClC,oaAAoa;YACpa,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAA;gBAChE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC/B,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACrB,CAAC;gBACD,2NAA2N;gBAC3N,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;YACjB,CAAC;QACH,CAAC,CAAC,CAAA;QACF,OAAO,KAAK,CAAA;IACd,CAAC;CACF"}
|