pm-github 2026.10.15 → 2026.10.19
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/CHANGELOG.md +25 -0
- package/README.md +295 -28
- package/dist/closeout.d.ts +27 -5
- package/dist/closeout.d.ts.map +1 -1
- package/dist/closeout.js +134 -24
- package/dist/closeout.js.map +1 -1
- package/dist/import-fidelity.d.ts +42 -0
- package/dist/import-fidelity.d.ts.map +1 -0
- package/dist/import-fidelity.js +235 -0
- package/dist/import-fidelity.js.map +1 -0
- package/dist/index.d.ts +145 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +150 -51
- package/dist/index.js.map +1 -1
- package/manifest.json +1 -1
- package/package.json +4 -4
package/dist/closeout.js
CHANGED
|
@@ -30,6 +30,15 @@ function repeated(options, key) {
|
|
|
30
30
|
throw new Error(`--${key} requires a value.`);
|
|
31
31
|
return [...new Set(values.map(value => value.trim()))];
|
|
32
32
|
}
|
|
33
|
+
/** Parse one literal context per line, preserving spaces and ignoring blank lines. */
|
|
34
|
+
function requiredContexts(value) {
|
|
35
|
+
if (value === undefined)
|
|
36
|
+
return [];
|
|
37
|
+
const values = Array.isArray(value) ? value : [value];
|
|
38
|
+
if (values.some(entry => typeof entry !== "string"))
|
|
39
|
+
throw new Error("--required-checks requires newline-separated context names.");
|
|
40
|
+
return values.flatMap(entry => entry.split("\n")).map(line => line.trim()).filter(Boolean);
|
|
41
|
+
}
|
|
33
42
|
/** Read one payload with the shared authenticated retry/redirect transport. */
|
|
34
43
|
async function payload(api, endpoint) {
|
|
35
44
|
return JSON.parse((await api.get(`${api.base}${endpoint}`)).body);
|
|
@@ -125,6 +134,7 @@ async function requirements(api, repo, branch) {
|
|
|
125
134
|
}
|
|
126
135
|
for (const value of rules ?? []) {
|
|
127
136
|
const rule = record(value);
|
|
137
|
+
text(rule.type);
|
|
128
138
|
if (rule.type !== "required_status_checks")
|
|
129
139
|
continue;
|
|
130
140
|
const parameters = record(rule.parameters);
|
|
@@ -138,14 +148,23 @@ async function requirements(api, repo, branch) {
|
|
|
138
148
|
checks.push({ name: text(check.context), app: typeof app === "number" ? app : null });
|
|
139
149
|
}
|
|
140
150
|
}
|
|
141
|
-
return { checks, fallback:
|
|
151
|
+
return { checks, fallback: checks.length === 0, unavailable: classic === null || rules === null };
|
|
142
152
|
}
|
|
143
|
-
/** Verify
|
|
144
|
-
export async function checkCloseoutHead(api, repo, pr) {
|
|
145
|
-
const result = { pr: pr.number, rule: "unavailable", reason: "Head check evidence unavailable or incomplete.", passed: [], ok: false };
|
|
153
|
+
/** Verify metadata-backed or caller-declared requirements before considering observed head runs. */
|
|
154
|
+
export async function checkCloseoutHead(api, repo, pr, declared = []) {
|
|
155
|
+
const result = { pr: pr.number, code: "head_evidence_unavailable", rule: "unavailable", reason: "Head check evidence unavailable or incomplete.", passed: [], ok: false };
|
|
146
156
|
try {
|
|
147
157
|
const policy = await requirements(api, repo, pr.base.ref);
|
|
148
|
-
|
|
158
|
+
if (policy.unavailable) {
|
|
159
|
+
if (declared.length === 0) {
|
|
160
|
+
result.code = "required_checks_unverified";
|
|
161
|
+
result.reason = "Required-check metadata unavailable; declare --required-checks to verify the required contexts.";
|
|
162
|
+
return result;
|
|
163
|
+
}
|
|
164
|
+
policy.checks.push(...declared.map(name => ({ name, app: null })));
|
|
165
|
+
policy.fallback = false;
|
|
166
|
+
}
|
|
167
|
+
result.rule = policy.unavailable ? "declared" : policy.fallback ? "fallback" : "required";
|
|
149
168
|
const runs = (await pages(api, `/repos/${repo}/commits/${pr.head.sha}/check-runs?filter=latest&per_page=100`, true)).map(value => {
|
|
150
169
|
const run = record(value);
|
|
151
170
|
const app = record(run.app);
|
|
@@ -161,6 +180,7 @@ export async function checkCloseoutHead(api, repo, pr) {
|
|
|
161
180
|
if (!statuses.has(context))
|
|
162
181
|
statuses.set(context, { context, state: text(status.state) });
|
|
163
182
|
}
|
|
183
|
+
result.code = "head_checks_failed";
|
|
164
184
|
for (const check of policy.checks) {
|
|
165
185
|
const matching = runs.filter(run => run.name === check.name && (check.app === null || run.app.id === check.app));
|
|
166
186
|
const legacy = statuses.get(check.name);
|
|
@@ -174,7 +194,8 @@ export async function checkCloseoutHead(api, repo, pr) {
|
|
|
174
194
|
}
|
|
175
195
|
}
|
|
176
196
|
if (!policy.fallback) {
|
|
177
|
-
result.reason = "
|
|
197
|
+
result.reason = policy.unavailable ? "Caller-declared checks concluded success; repository required-check metadata was unavailable."
|
|
198
|
+
: "Required head checks concluded success (branch-protection and ruleset rule).";
|
|
178
199
|
}
|
|
179
200
|
else {
|
|
180
201
|
if (runs.length === 0) {
|
|
@@ -186,13 +207,15 @@ export async function checkCloseoutHead(api, repo, pr) {
|
|
|
186
207
|
result.reason = "Fallback rule: every head run must be completed with success, neutral or skipped, and head statuses must succeed.";
|
|
187
208
|
return result;
|
|
188
209
|
}
|
|
189
|
-
result.reason = "Fallback rule:
|
|
210
|
+
result.reason = "Fallback rule: protection metadata is readable with no required contexts; every head run completed with success, neutral or skipped; head statuses succeeded.";
|
|
190
211
|
}
|
|
191
212
|
result.passed = [...new Set([...runs.filter(run => run.status === "completed" && run.conclusion === "success").map(run => run.name),
|
|
192
213
|
...[...statuses.values()].filter(status => status.state === "success").map(status => status.context)])].sort();
|
|
214
|
+
result.code = "head_checks_passed";
|
|
193
215
|
result.ok = true;
|
|
194
216
|
}
|
|
195
217
|
catch {
|
|
218
|
+
result.code = "head_evidence_unavailable";
|
|
196
219
|
// Never echo an API body, exception payload, PR body or comment into the report.
|
|
197
220
|
}
|
|
198
221
|
return result;
|
|
@@ -201,6 +224,17 @@ export async function checkCloseoutHead(api, repo, pr) {
|
|
|
201
224
|
const TERMINAL_STATUSES = ["closed", "canceled"];
|
|
202
225
|
/** GitHub-style closing keywords that declare delivery of the link they directly precede. */
|
|
203
226
|
const CLOSING_KEYWORDS = new Set(["close", "closes", "closed", "fix", "fixes", "fixed", "resolve", "resolves", "resolved", "deliver", "delivers", "delivered"]);
|
|
227
|
+
/**
|
|
228
|
+
* Preserve the original non-Unicode regex case rules for declaration lookup.
|
|
229
|
+
* @param id - Literal item ID or declaration token.
|
|
230
|
+
* @returns Its case-insensitive key without expanding characters or ASCII lookalikes.
|
|
231
|
+
*/
|
|
232
|
+
function declarationKey(id) {
|
|
233
|
+
return id.replace(/[\s\S]/g, character => {
|
|
234
|
+
const upper = character.toUpperCase();
|
|
235
|
+
return upper.length !== 1 || (character.charCodeAt(0) >= 128 && upper.charCodeAt(0) < 128) ? character : upper;
|
|
236
|
+
});
|
|
237
|
+
}
|
|
204
238
|
/**
|
|
205
239
|
* Whether a closing keyword directly precedes a link, given the line text before the link.
|
|
206
240
|
*
|
|
@@ -304,12 +338,15 @@ function usage(parse) {
|
|
|
304
338
|
/**
|
|
305
339
|
* Describe the verified check evidence for a passed gate without overstating it.
|
|
306
340
|
*
|
|
307
|
-
* The required rule
|
|
308
|
-
*
|
|
341
|
+
* The required rule reports required-check success; the declared rule reports caller-declared success
|
|
342
|
+
* and unavailable repository metadata. Both list every successful head check (optional ones included).
|
|
343
|
+
* The fallback rule (fully readable metadata with no required contexts)
|
|
309
344
|
* may pass on neutral or skipped runs alone, so it states that policy and lists successful checks only when any exist.
|
|
310
345
|
*/
|
|
311
346
|
export function checkEvidence(gate) {
|
|
312
347
|
// gate.passed holds every successful head check, optional ones included, so it is never labelled as the required set.
|
|
348
|
+
if (gate.rule === "declared")
|
|
349
|
+
return `caller-declared checks concluded success; repository required-check metadata was unavailable; successful head checks: ${gate.passed.join(", ")}`;
|
|
313
350
|
if (gate.rule === "required")
|
|
314
351
|
return `required checks satisfied; successful head checks: ${gate.passed.join(", ")}`;
|
|
315
352
|
const successes = gate.passed.length > 0 ? `successful checks: ${gate.passed.join(", ")}` : "no check reported success";
|
|
@@ -327,6 +364,7 @@ export async function runCloseout(pmRoot, repo, options, api) {
|
|
|
327
364
|
const since = options.since === undefined ? undefined : usage(() => isoDate(text(options.since)));
|
|
328
365
|
if ((numbers.length === 0) === (since === undefined))
|
|
329
366
|
throw new CloseoutUsageError("Select either repeatable --pr <n> or --since <ISO date>.");
|
|
367
|
+
const declared = usage(() => requiredContexts(options["required-checks"] ?? options.requiredChecks));
|
|
330
368
|
const skip = new Set(usage(() => repeated(options, "skip")));
|
|
331
369
|
const apply = options.apply === true && options["dry-run"] !== true && options.dryRun !== true;
|
|
332
370
|
if (since !== undefined) {
|
|
@@ -353,40 +391,87 @@ export async function runCloseout(pmRoot, repo, options, api) {
|
|
|
353
391
|
activeChildren.set(parent, (activeChildren.get(parent) ?? 0) + 1);
|
|
354
392
|
}
|
|
355
393
|
const selected = new Set();
|
|
394
|
+
const candidates = new Map();
|
|
356
395
|
const plan = [];
|
|
357
396
|
const checks = [];
|
|
358
397
|
const closures = [];
|
|
359
398
|
for (const number of [...new Set(numbers)].sort((a, b) => a - b)) {
|
|
360
399
|
const pr = pullRequest(await payload(api, `/repos/${repo}/pulls/${number}`), repo, number);
|
|
361
|
-
let gate = { pr: number, rule: "unavailable", ok: false, passed: [], reason: "Pull request is not merged or merge evidence is incomplete." };
|
|
400
|
+
let gate = { pr: number, code: "incomplete_merge", rule: "unavailable", ok: false, passed: [], reason: "Pull request is not merged or merge evidence is incomplete." };
|
|
362
401
|
if (mergeEvidence(pr))
|
|
363
|
-
gate = await checkCloseoutHead(api, repo, pr);
|
|
402
|
+
gate = await checkCloseoutHead(api, repo, pr, declared);
|
|
364
403
|
checks.push(gate);
|
|
365
|
-
|
|
404
|
+
const refs = extractCloseoutItems(pr.body ?? "");
|
|
405
|
+
// Scan declarations once per PR, retaining case-insensitive IDs and optional punctuation.
|
|
406
|
+
const declarations = new Set();
|
|
407
|
+
for (const match of (pr.body ?? "").matchAll(/^(?:[-*][ \t]+)?([a-z]+|pm-github:)[ \t]+(\S+)[ \t]*$/gim)) {
|
|
408
|
+
const keyword = match[1].toLowerCase();
|
|
409
|
+
if (!CLOSING_KEYWORDS.has(keyword) && keyword !== "pm-github:")
|
|
410
|
+
continue;
|
|
411
|
+
const id = declarationKey(match[2]);
|
|
412
|
+
declarations.add(id);
|
|
413
|
+
if (/[.!]$/.test(id))
|
|
414
|
+
declarations.add(id.slice(0, -1));
|
|
415
|
+
}
|
|
416
|
+
for (const item of items.values()) {
|
|
417
|
+
// Only canonical delivery metadata or a whole-line trailer/closing declaration is authoritative.
|
|
418
|
+
const linked = [item.github_pr, item.pr_url, item.pull_request_url].includes(pr.html_url);
|
|
419
|
+
if (linked || declarations.has(declarationKey(item.id))) {
|
|
420
|
+
const ref = refs.find(ref => ref.item === item.id && ref.repo.toLowerCase() === repo.toLowerCase());
|
|
421
|
+
if (ref)
|
|
422
|
+
ref.declared = true;
|
|
423
|
+
else
|
|
424
|
+
refs.push({ item: item.id, repo, declared: true });
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
for (const ref of refs) {
|
|
428
|
+
if (ref.declared && pr.merged && ref.repo.toLowerCase() === repo.toLowerCase()) {
|
|
429
|
+
const choices = candidates.get(ref.item) ?? new Set();
|
|
430
|
+
choices.add(number);
|
|
431
|
+
candidates.set(ref.item, choices);
|
|
432
|
+
}
|
|
366
433
|
let reason;
|
|
367
|
-
|
|
434
|
+
let code;
|
|
435
|
+
if (ref.repo.toLowerCase() !== repo.toLowerCase()) {
|
|
436
|
+
code = "other_repository";
|
|
368
437
|
reason = "Link points to another repository.";
|
|
369
|
-
|
|
438
|
+
}
|
|
439
|
+
else if (!items.has(ref.item)) {
|
|
440
|
+
code = "unknown_item";
|
|
370
441
|
reason = "Item does not exist in the tracker.";
|
|
371
|
-
|
|
442
|
+
}
|
|
443
|
+
else if (skip.has(ref.item)) {
|
|
444
|
+
code = "explicit_skip";
|
|
372
445
|
reason = "Explicitly excluded by --skip.";
|
|
373
|
-
|
|
446
|
+
}
|
|
447
|
+
else if (TERMINAL_STATUSES.includes(items.get(ref.item).status)) {
|
|
448
|
+
code = "already_terminal";
|
|
374
449
|
reason = "Item is already closed or canceled.";
|
|
375
|
-
|
|
450
|
+
}
|
|
451
|
+
else if (!gate.ok) {
|
|
452
|
+
code = gate.code;
|
|
376
453
|
reason = gate.reason;
|
|
377
|
-
|
|
454
|
+
}
|
|
455
|
+
else if (items.get(ref.item).type === "Epic") {
|
|
456
|
+
code = "epic";
|
|
378
457
|
reason = "Epics close when their children are done, not by a pull request.";
|
|
379
|
-
|
|
458
|
+
}
|
|
459
|
+
else if (activeChildren.has(ref.item)) {
|
|
460
|
+
code = "active_children";
|
|
380
461
|
reason = `Item has ${activeChildren.get(ref.item)} non-terminal child item(s).`;
|
|
381
|
-
else if (items.get(ref.item).status !== "in_progress" && !ref.declared) {
|
|
382
|
-
reason = `Item is ${items.get(ref.item).status}, not in progress; a mention is not delivery. Prefix its link with Closes, Fixes, Resolves or Delivers to close it.`;
|
|
383
462
|
}
|
|
384
|
-
else if (
|
|
463
|
+
else if (!ref.declared) {
|
|
464
|
+
code = "not_delivery";
|
|
465
|
+
reason = "A mention is not delivery, regardless of item status. Declare Closes, Fixes, Resolves or Delivers, link the item to this PR, or use a pm-github trailer.";
|
|
466
|
+
}
|
|
467
|
+
else if (selected.has(ref.item)) {
|
|
468
|
+
code = "duplicate_selection";
|
|
385
469
|
reason = "Item already selected by another pull request.";
|
|
470
|
+
}
|
|
386
471
|
else {
|
|
387
472
|
reason = gate.reason;
|
|
388
473
|
selected.add(ref.item);
|
|
389
|
-
const row = { item: ref.item, pr: number, action: "close", reason };
|
|
474
|
+
const row = { item: ref.item, pr: number, action: "close", code: gate.code, reason };
|
|
390
475
|
const criteria = items.get(ref.item).acceptance_criteria;
|
|
391
476
|
closures.push({ row, reason: closeReason(pr, gate.passed), at: pr.merged_at,
|
|
392
477
|
resolution: `Delivered by ${pr.html_url} (merge ${pr.merge_commit_sha.slice(0, 12)}, head ${pr.head.sha.slice(0, 12)})`,
|
|
@@ -397,13 +482,24 @@ export async function runCloseout(pmRoot, repo, options, api) {
|
|
|
397
482
|
plan.push(row);
|
|
398
483
|
continue;
|
|
399
484
|
}
|
|
400
|
-
plan.push({ item: ref.item, pr: number, action: "skip", reason });
|
|
485
|
+
plan.push({ item: ref.item, pr: number, action: "skip", code, reason });
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
// Resolve attribution across the complete selection before the first SDK write.
|
|
489
|
+
for (const row of plan) {
|
|
490
|
+
const claimants = candidates.get(row.item);
|
|
491
|
+
if (claimants && claimants.size > 1 && claimants.has(row.pr) && !["already_terminal", "other_repository", "unknown_item", "explicit_skip"].includes(row.code)) {
|
|
492
|
+
row.action = "skip";
|
|
493
|
+
row.code = "ambiguous_delivery";
|
|
494
|
+
row.reason = "Multiple merged PRs explicitly claim delivery; select the intended PR before closing.";
|
|
401
495
|
}
|
|
402
496
|
}
|
|
403
497
|
let closed = 0;
|
|
404
498
|
let failed = 0;
|
|
405
499
|
if (apply) {
|
|
406
500
|
for (const entry of closures) {
|
|
501
|
+
if (entry.row.action !== "close")
|
|
502
|
+
continue;
|
|
407
503
|
try {
|
|
408
504
|
await close(entry.row.item, entry.reason, { author: "pm-github", completedAt: entry.at,
|
|
409
505
|
resolution: entry.resolution, expectedResult: entry.expectedResult, actualResult: entry.actualResult,
|
|
@@ -413,10 +509,24 @@ export async function runCloseout(pmRoot, repo, options, api) {
|
|
|
413
509
|
catch (error) {
|
|
414
510
|
failed++;
|
|
415
511
|
entry.row.action = "skip";
|
|
512
|
+
entry.row.code = "close_failed";
|
|
416
513
|
entry.row.reason = closeoutFailureReason(error);
|
|
417
514
|
}
|
|
418
515
|
}
|
|
419
516
|
}
|
|
420
517
|
return { command: "github closeout", repo, dry_run: !apply, plan, checks, closed, failed };
|
|
421
518
|
}
|
|
519
|
+
/** Keep actionable decisions and their checks while counting routine skips by stable code. */
|
|
520
|
+
export function compactCloseoutReport(report) {
|
|
521
|
+
const skipped = {};
|
|
522
|
+
const plan = report.plan.flatMap(row => {
|
|
523
|
+
if (["already_terminal", "other_repository", "duplicate_selection", "explicit_skip"].includes(row.code)) {
|
|
524
|
+
skipped[row.code] = (skipped[row.code] ?? 0) + 1;
|
|
525
|
+
return [];
|
|
526
|
+
}
|
|
527
|
+
return [{ ...row, action: row.action === "close" ? "close" : "refuse" }];
|
|
528
|
+
});
|
|
529
|
+
const prs = new Set(plan.map(row => row.pr));
|
|
530
|
+
return { ...report, plan, skipped, checks: report.checks.filter(gate => prs.has(gate.pr)) };
|
|
531
|
+
}
|
|
422
532
|
//# sourceMappingURL=closeout.js.map
|
package/dist/closeout.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"closeout.js","sourceRoot":"","sources":["../closeout.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"closeout.js","sourceRoot":"","sources":["../closeout.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { type GhIssue, type PmItem } from "./index.ts";
|
|
2
|
+
/** One locally available release tag and its actual Git date. */
|
|
3
|
+
export interface ImportRelease {
|
|
4
|
+
tag: string;
|
|
5
|
+
date: string;
|
|
6
|
+
}
|
|
7
|
+
/** Auditable desired source metadata, persisted beside the native lifecycle. */
|
|
8
|
+
export interface ImportFidelity {
|
|
9
|
+
github_url: string;
|
|
10
|
+
github_number: number;
|
|
11
|
+
github_state: string;
|
|
12
|
+
github_state_reason: string;
|
|
13
|
+
github_created_at: string;
|
|
14
|
+
github_updated_at: string;
|
|
15
|
+
github_closed_at: string;
|
|
16
|
+
github_close_reason: string;
|
|
17
|
+
github_release: string;
|
|
18
|
+
}
|
|
19
|
+
/** Identity decision recorded before any import writes. */
|
|
20
|
+
export interface ImportMatch {
|
|
21
|
+
item?: PmItem;
|
|
22
|
+
linkOnly: boolean;
|
|
23
|
+
via: string;
|
|
24
|
+
}
|
|
25
|
+
/** Match GitHub locators or provider back-links before creation, refusing multiple owners. */
|
|
26
|
+
export declare function matchImportedIssue(items: readonly PmItem[], issue: GhIssue, tagged?: PmItem): ImportMatch;
|
|
27
|
+
/** Read calendar release tags from the selected tracker checkout, including annotated tag dates. */
|
|
28
|
+
export declare function readImportReleases(pmRoot: string): ImportRelease[];
|
|
29
|
+
/** Fetch every timeline page; only closure-specific events may supply resolution evidence. */
|
|
30
|
+
export declare function fetchImportTimeline(issue: GhIssue, repo: string, token?: string): Promise<unknown[]>;
|
|
31
|
+
/** Accept only GitHub PR/commit evidence tied to the latest closure, excluding pre-reopen events. */
|
|
32
|
+
export declare function importCloseReason(issue: GhIssue, events: readonly unknown[]): string;
|
|
33
|
+
/** Validate source lifetimes and assign the earliest release tag at or after the closure. */
|
|
34
|
+
export declare function buildImportFidelity(issue: GhIssue, releases: readonly ImportRelease[], timeline: readonly unknown[]): ImportFidelity;
|
|
35
|
+
/**
|
|
36
|
+
* Finalize source metadata through public SDK lock, serialization and append-only history primitives.
|
|
37
|
+
* High-level create/update reserve native timestamps. This import adapter appends a real
|
|
38
|
+
* before/after event instead of editing past history; retrying identical metadata is a no-op.
|
|
39
|
+
* Cross-provider owners retain their creation/completion dates, content and release.
|
|
40
|
+
*/
|
|
41
|
+
export declare function persistImportFidelity(pmRoot: string, id: string, fidelity: ImportFidelity, linkOnly: boolean): Promise<void>;
|
|
42
|
+
//# sourceMappingURL=import-fidelity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-fidelity.d.ts","sourceRoot":"","sources":["../import-fidelity.ts"],"names":[],"mappings":"AAMA,OAAO,EAAwE,KAAK,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAuB7H,iEAAiE;AACjE,MAAM,WAAW,aAAa;IAAG,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAC5D,gFAAgF;AAChF,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;CACxB;AACD,2DAA2D;AAC3D,MAAM,WAAW,WAAW;IAAG,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE;AA8B9E,8FAA8F;AAC9F,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAWzG;AAED,oGAAoG;AACpG,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,EAAE,CAOlE;AAaD,8FAA8F;AAC9F,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CA+B1G;AAED,qGAAqG;AACrG,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,CA0BpF;AAED,6FAA6F;AAC7F,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,aAAa,EAAE,EAAE,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,cAAc,CAgBpI;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA8ClI"}
|