@enbox/agent 0.7.7 → 0.7.8
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/dist/browser.mjs +9 -9
- package/dist/browser.mjs.map +4 -4
- package/dist/esm/dwn-api.js +3 -2
- package/dist/esm/dwn-api.js.map +1 -1
- package/dist/esm/enbox-connect-protocol.js +5 -5
- package/dist/esm/enbox-connect-protocol.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/permissions-api.js +7 -34
- package/dist/esm/permissions-api.js.map +1 -1
- package/dist/esm/sync-closure-resolver.js +229 -110
- package/dist/esm/sync-closure-resolver.js.map +1 -1
- package/dist/esm/sync-closure-types.js +24 -7
- package/dist/esm/sync-closure-types.js.map +1 -1
- package/dist/esm/sync-engine-level.js +1961 -764
- package/dist/esm/sync-engine-level.js.map +1 -1
- package/dist/esm/sync-link-id.js +4 -13
- package/dist/esm/sync-link-id.js.map +1 -1
- package/dist/esm/sync-link-reconciler.js +26 -8
- package/dist/esm/sync-link-reconciler.js.map +1 -1
- package/dist/esm/sync-messages.js +218 -154
- package/dist/esm/sync-messages.js.map +1 -1
- package/dist/esm/sync-permission-grants.js +208 -0
- package/dist/esm/sync-permission-grants.js.map +1 -0
- package/dist/esm/sync-replication-ledger.js +23 -40
- package/dist/esm/sync-replication-ledger.js.map +1 -1
- package/dist/esm/sync-scope-acceptance.js +126 -0
- package/dist/esm/sync-scope-acceptance.js.map +1 -0
- package/dist/esm/sync-topological-sort.js +57 -15
- package/dist/esm/sync-topological-sort.js.map +1 -1
- package/dist/esm/types/sync.js +130 -22
- package/dist/esm/types/sync.js.map +1 -1
- package/dist/types/dwn-api.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/permissions-api.d.ts +1 -2
- package/dist/types/permissions-api.d.ts.map +1 -1
- package/dist/types/sync-closure-resolver.d.ts.map +1 -1
- package/dist/types/sync-closure-types.d.ts +14 -3
- package/dist/types/sync-closure-types.d.ts.map +1 -1
- package/dist/types/sync-engine-level.d.ts +127 -25
- package/dist/types/sync-engine-level.d.ts.map +1 -1
- package/dist/types/sync-link-id.d.ts +3 -9
- package/dist/types/sync-link-id.d.ts.map +1 -1
- package/dist/types/sync-link-reconciler.d.ts +12 -2
- package/dist/types/sync-link-reconciler.d.ts.map +1 -1
- package/dist/types/sync-messages.d.ts +16 -13
- package/dist/types/sync-messages.d.ts.map +1 -1
- package/dist/types/sync-permission-grants.d.ts +52 -0
- package/dist/types/sync-permission-grants.d.ts.map +1 -0
- package/dist/types/sync-replication-ledger.d.ts +5 -13
- package/dist/types/sync-replication-ledger.d.ts.map +1 -1
- package/dist/types/sync-scope-acceptance.d.ts +28 -0
- package/dist/types/sync-scope-acceptance.d.ts.map +1 -0
- package/dist/types/sync-topological-sort.d.ts +2 -1
- package/dist/types/sync-topological-sort.d.ts.map +1 -1
- package/dist/types/types/permissions.d.ts +2 -0
- package/dist/types/types/permissions.d.ts.map +1 -1
- package/dist/types/types/sync.d.ts +137 -75
- package/dist/types/types/sync.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/dwn-api.ts +3 -2
- package/src/enbox-connect-protocol.ts +5 -5
- package/src/index.ts +10 -1
- package/src/permissions-api.ts +11 -42
- package/src/sync-closure-resolver.ts +306 -126
- package/src/sync-closure-types.ts +38 -9
- package/src/sync-engine-level.ts +2560 -797
- package/src/sync-link-id.ts +9 -14
- package/src/sync-link-reconciler.ts +43 -10
- package/src/sync-messages.ts +263 -159
- package/src/sync-permission-grants.ts +297 -0
- package/src/sync-replication-ledger.ts +55 -50
- package/src/sync-scope-acceptance.ts +186 -0
- package/src/sync-topological-sort.ts +89 -21
- package/src/types/permissions.ts +2 -0
- package/src/types/sync.ts +235 -62
|
@@ -7,9 +7,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
import {
|
|
10
|
+
import { classifySyncMessageScope } from './sync-scope-acceptance.js';
|
|
11
|
+
import { getInvokedPermissionGrantIds } from './sync-permission-grants.js';
|
|
11
12
|
import { isMultiPartyContext } from './protocol-utils.js';
|
|
13
|
+
import { protocolsForSyncScope } from './types/sync.js';
|
|
12
14
|
import { ClosureFailureCode, createClosureContext } from './sync-closure-types.js';
|
|
15
|
+
import { Message, PermissionScopeMatcher, PermissionsProtocol } from '@enbox/dwn-sdk-js';
|
|
13
16
|
// ---------------------------------------------------------------------------
|
|
14
17
|
// Dependency extraction helpers (one per dependency class)
|
|
15
18
|
// ---------------------------------------------------------------------------
|
|
@@ -43,106 +46,130 @@ function extractProtocolDeps(message) {
|
|
|
43
46
|
* - initialWrite (for non-initial writes)
|
|
44
47
|
* - parentId chain
|
|
45
48
|
*/
|
|
46
|
-
function extractAncestryDeps(message) {
|
|
49
|
+
function extractAncestryDeps(message, protocolDef) {
|
|
47
50
|
const desc = message.descriptor;
|
|
48
|
-
const edges = [];
|
|
49
51
|
// Only Records interface messages have ancestry dependencies.
|
|
50
52
|
if (desc.interface !== 'Records') {
|
|
51
53
|
return [];
|
|
52
54
|
}
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
55
|
+
const context = createAncestryContext(message, desc, protocolDef);
|
|
56
|
+
return [
|
|
57
|
+
createParentRecordDependency(context),
|
|
58
|
+
createContextRootDependency(context),
|
|
59
|
+
createInitialWriteDependency(context),
|
|
60
|
+
].filter((edge) => edge !== undefined);
|
|
61
|
+
}
|
|
62
|
+
function expectedProtocol(protocol) {
|
|
63
|
+
return protocol === undefined ? {} : { expectedProtocol: protocol };
|
|
64
|
+
}
|
|
65
|
+
function createAncestryContext(message, descriptor, protocolDef) {
|
|
66
|
+
const rootRefProtocol = getRootRefProtocol(descriptor, protocolDef);
|
|
67
|
+
return {
|
|
68
|
+
descriptor,
|
|
69
|
+
recordId: message.recordId,
|
|
70
|
+
protocol: descriptor.protocol,
|
|
71
|
+
parentId: descriptor.parentId,
|
|
72
|
+
contextId: message.contextId,
|
|
73
|
+
rootRefProtocol,
|
|
74
|
+
parentResolvedByCrossProtocolRef: rootRefProtocol !== undefined && isDirectChildOfRootRef(descriptor),
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
function createParentRecordDependency(context) {
|
|
78
|
+
if (!context.parentId || context.parentResolvedByCrossProtocolRef) {
|
|
79
|
+
return undefined;
|
|
63
80
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
const
|
|
69
|
-
if (
|
|
70
|
-
|
|
71
|
-
edges.push({
|
|
72
|
-
dependencyClass: 2,
|
|
73
|
-
label: 'contextRoot',
|
|
74
|
-
identifier: contextRootId,
|
|
75
|
-
identifierType: 'recordId',
|
|
76
|
-
});
|
|
81
|
+
return Object.assign({ dependencyClass: 2, label: 'parentRecord', identifier: context.parentId, identifierType: 'recordId' }, expectedProtocol(context.protocol));
|
|
82
|
+
}
|
|
83
|
+
function createContextRootDependency(context) {
|
|
84
|
+
var _a;
|
|
85
|
+
const contextRootId = getContextRootId(context);
|
|
86
|
+
if (!contextRootId || contextRootIsCrossProtocolParent(context, contextRootId)) {
|
|
87
|
+
return undefined;
|
|
77
88
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
const dateCreated = desc.dateCreated;
|
|
84
|
-
const messageTimestamp = desc.messageTimestamp;
|
|
85
|
-
if (dateCreated && messageTimestamp && dateCreated !== messageTimestamp) {
|
|
86
|
-
// Non-initial write — needs the initialWrite.
|
|
87
|
-
edges.push({
|
|
88
|
-
dependencyClass: 2,
|
|
89
|
-
label: 'initialWrite',
|
|
90
|
-
identifier: recordId,
|
|
91
|
-
identifierType: 'recordId',
|
|
92
|
-
});
|
|
93
|
-
}
|
|
89
|
+
return Object.assign({ dependencyClass: 2, label: 'contextRoot', identifier: contextRootId, identifierType: 'recordId' }, expectedProtocol((_a = context.rootRefProtocol) !== null && _a !== void 0 ? _a : context.protocol));
|
|
90
|
+
}
|
|
91
|
+
function getContextRootId(context) {
|
|
92
|
+
if (!context.contextId || !context.recordId || context.contextId === context.recordId) {
|
|
93
|
+
return undefined;
|
|
94
94
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
95
|
+
return context.contextId.split('/')[0];
|
|
96
|
+
}
|
|
97
|
+
function contextRootIsCrossProtocolParent(context, contextRootId) {
|
|
98
|
+
return context.parentResolvedByCrossProtocolRef && contextRootId === context.parentId;
|
|
99
|
+
}
|
|
100
|
+
function createInitialWriteDependency(context) {
|
|
101
|
+
if (!context.recordId) {
|
|
102
|
+
return undefined;
|
|
103
|
+
}
|
|
104
|
+
if (isNonInitialWrite(context.descriptor)) {
|
|
105
|
+
return Object.assign({ dependencyClass: 2, label: 'initialWrite', identifier: context.recordId, identifierType: 'recordId' }, expectedProtocol(context.protocol));
|
|
106
|
+
}
|
|
107
|
+
if (context.descriptor.method === 'Delete') {
|
|
108
|
+
return {
|
|
98
109
|
dependencyClass: 2,
|
|
99
110
|
label: 'initialWrite',
|
|
100
|
-
identifier: recordId,
|
|
111
|
+
identifier: context.recordId,
|
|
101
112
|
identifierType: 'recordId',
|
|
102
|
-
}
|
|
113
|
+
};
|
|
103
114
|
}
|
|
104
|
-
return
|
|
115
|
+
return undefined;
|
|
116
|
+
}
|
|
117
|
+
function isNonInitialWrite(descriptor) {
|
|
118
|
+
if (descriptor.method !== 'Write') {
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
121
|
+
const dateCreated = descriptor.dateCreated;
|
|
122
|
+
const messageTimestamp = descriptor.messageTimestamp;
|
|
123
|
+
return dateCreated !== undefined &&
|
|
124
|
+
messageTimestamp !== undefined &&
|
|
125
|
+
dateCreated !== messageTimestamp;
|
|
126
|
+
}
|
|
127
|
+
function isDirectChildOfRootRef(descriptor) {
|
|
128
|
+
const protocolPath = descriptor.protocolPath;
|
|
129
|
+
return (protocolPath === null || protocolPath === void 0 ? void 0 : protocolPath.split('/').length) === 2;
|
|
130
|
+
}
|
|
131
|
+
function getRootRefProtocol(descriptor, protocolDef) {
|
|
132
|
+
var _a, _b;
|
|
133
|
+
const protocolPath = descriptor.protocolPath;
|
|
134
|
+
if (!protocolPath) {
|
|
135
|
+
return undefined;
|
|
136
|
+
}
|
|
137
|
+
const pathSegments = protocolPath.split('/');
|
|
138
|
+
const rootRuleSet = (_a = protocolDef === null || protocolDef === void 0 ? void 0 : protocolDef.structure) === null || _a === void 0 ? void 0 : _a[pathSegments[0]];
|
|
139
|
+
if (typeof (rootRuleSet === null || rootRuleSet === void 0 ? void 0 : rootRuleSet.$ref) !== 'string') {
|
|
140
|
+
return undefined;
|
|
141
|
+
}
|
|
142
|
+
const colonIdx = rootRuleSet.$ref.indexOf(':');
|
|
143
|
+
if (colonIdx <= 0) {
|
|
144
|
+
return undefined;
|
|
145
|
+
}
|
|
146
|
+
const alias = rootRuleSet.$ref.substring(0, colonIdx);
|
|
147
|
+
const referencedProtocol = (_b = protocolDef === null || protocolDef === void 0 ? void 0 : protocolDef.uses) === null || _b === void 0 ? void 0 : _b[alias];
|
|
148
|
+
return typeof referencedProtocol === 'string' ? referencedProtocol : undefined;
|
|
105
149
|
}
|
|
106
150
|
/**
|
|
107
151
|
* Class 3: Authorization closure.
|
|
108
|
-
* If the message
|
|
152
|
+
* If the message invokes permission grant IDs, each grant record must be present.
|
|
109
153
|
*/
|
|
110
154
|
function extractAuthorizationDeps(message) {
|
|
111
|
-
var _a;
|
|
112
155
|
const edges = [];
|
|
113
|
-
const
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
});
|
|
131
|
-
// Also require the grant's revocation state to be resolvable.
|
|
132
|
-
// The revocation is a child record at protocolPath 'grant/revocation'
|
|
133
|
-
// with parentId === grantId. We add it as a separate edge so the
|
|
134
|
-
// resolver can check for its presence (or confirmed absence).
|
|
135
|
-
edges.push({
|
|
136
|
-
dependencyClass: 3,
|
|
137
|
-
label: 'grantRevocation',
|
|
138
|
-
identifier: decoded.permissionGrantId,
|
|
139
|
-
identifierType: 'grantId',
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
catch (_b) {
|
|
144
|
-
// If we can't decode, skip — authorization will fail at apply time.
|
|
145
|
-
}
|
|
156
|
+
for (const permissionGrantId of getInvokedPermissionGrantIds(message)) {
|
|
157
|
+
edges.push({
|
|
158
|
+
dependencyClass: 3,
|
|
159
|
+
label: 'permissionGrant',
|
|
160
|
+
identifier: permissionGrantId,
|
|
161
|
+
identifierType: 'grantId',
|
|
162
|
+
});
|
|
163
|
+
// Also require the grant's revocation state to be resolvable.
|
|
164
|
+
// The revocation is a child record at protocolPath 'grant/revocation'
|
|
165
|
+
// with parentId === grantId. We add it as a separate edge so the
|
|
166
|
+
// resolver can check for its presence (or confirmed absence).
|
|
167
|
+
edges.push({
|
|
168
|
+
dependencyClass: 3,
|
|
169
|
+
label: 'grantRevocation',
|
|
170
|
+
identifier: permissionGrantId,
|
|
171
|
+
identifierType: 'grantId',
|
|
172
|
+
});
|
|
146
173
|
}
|
|
147
174
|
return edges;
|
|
148
175
|
}
|
|
@@ -171,11 +198,18 @@ function getRuleSetAtProtocolPath(structure, protocolPath) {
|
|
|
171
198
|
if (!Object.hasOwn(currentLevel, segment)) {
|
|
172
199
|
return undefined;
|
|
173
200
|
}
|
|
174
|
-
|
|
201
|
+
const next = currentLevel[segment];
|
|
202
|
+
if (!isProtocolRuleSet(next)) {
|
|
203
|
+
return undefined;
|
|
204
|
+
}
|
|
205
|
+
current = next;
|
|
175
206
|
currentLevel = current;
|
|
176
207
|
}
|
|
177
208
|
return current;
|
|
178
209
|
}
|
|
210
|
+
function isProtocolRuleSet(value) {
|
|
211
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
212
|
+
}
|
|
179
213
|
/**
|
|
180
214
|
* Extract protocol-definition-aware dependencies for classes 4, 5, and 6.
|
|
181
215
|
* Called during BFS traversal after the ProtocolDefinition has been fetched
|
|
@@ -326,6 +360,7 @@ function extractProtocolAwareDeps(message, protocolDef, isDelegateSession) {
|
|
|
326
360
|
label: 'crossProtocolParent',
|
|
327
361
|
identifier: `${referencedProtocol}|${parentId}`,
|
|
328
362
|
identifierType: 'recordId',
|
|
363
|
+
expectedProtocol: referencedProtocol,
|
|
329
364
|
});
|
|
330
365
|
}
|
|
331
366
|
}
|
|
@@ -398,6 +433,7 @@ function extractProtocolAwareDeps(message, protocolDef, isDelegateSession) {
|
|
|
398
433
|
label: 'crossProtocolRoleRecord',
|
|
399
434
|
identifier: `${roleProtocol}|${roleProtocolPath}|${messageAuthor}|${contextPrefix}`,
|
|
400
435
|
identifierType: 'filter',
|
|
436
|
+
expectedProtocol: roleProtocol,
|
|
401
437
|
filter: roleFilter,
|
|
402
438
|
});
|
|
403
439
|
}
|
|
@@ -461,35 +497,36 @@ export function evaluateClosure(message, messageStore, scope, context) {
|
|
|
461
497
|
const batchSize = queue.length;
|
|
462
498
|
for (let i = 0; i < batchSize; i++) {
|
|
463
499
|
const current = queue.shift();
|
|
464
|
-
//
|
|
465
|
-
//
|
|
466
|
-
//
|
|
467
|
-
const
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
...extractAuthorizationDeps(current),
|
|
471
|
-
];
|
|
472
|
-
const resolveResult = yield resolveEdges(staticEdges, allEdges, messageStore, context, visited, queue, rootCid, currentDepth);
|
|
473
|
-
if (resolveResult) {
|
|
474
|
-
return resolveResult;
|
|
500
|
+
// Resolve protocol metadata first. This populates the protocol
|
|
501
|
+
// cache when a ProtocolsConfigure dependency is resolved, which is
|
|
502
|
+
// needed to distinguish normal parent records from $ref parents.
|
|
503
|
+
const protocolResult = yield resolveEdges(extractProtocolDeps(current), allEdges, messageStore, scope, context, visited, queue, rootCid, currentDepth);
|
|
504
|
+
if (protocolResult) {
|
|
505
|
+
return protocolResult;
|
|
475
506
|
} // Early failure.
|
|
476
|
-
// Phase 2: Extract protocol-definition-aware edges (classes 4-6).
|
|
477
|
-
// Runs AFTER static resolution so the ProtocolDefinition is in the cache.
|
|
478
507
|
const currentDesc = current.descriptor;
|
|
479
508
|
const currentProtocol = currentDesc.protocol;
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
509
|
+
const cachedProtocolMsg = currentProtocol ? context.protocolCache.get(currentProtocol) : undefined;
|
|
510
|
+
const protocolDef = (_a = cachedProtocolMsg === null || cachedProtocolMsg === void 0 ? void 0 : cachedProtocolMsg.descriptor) === null || _a === void 0 ? void 0 : _a.definition;
|
|
511
|
+
const structuralEdges = [
|
|
512
|
+
...extractAncestryDeps(current, protocolDef),
|
|
513
|
+
...extractAuthorizationDeps(current),
|
|
514
|
+
];
|
|
515
|
+
const structuralResult = yield resolveEdges(structuralEdges, allEdges, messageStore, scope, context, visited, queue, rootCid, currentDepth);
|
|
516
|
+
if (structuralResult) {
|
|
517
|
+
return structuralResult;
|
|
518
|
+
} // Early failure.
|
|
519
|
+
// Resolve protocol-definition-aware edges after static dependencies so
|
|
520
|
+
// the ProtocolDefinition is in the cache.
|
|
521
|
+
if (protocolDef) {
|
|
522
|
+
const protoAwareEdges = extractProtocolAwareDeps(current, protocolDef, context.isDelegateSession);
|
|
523
|
+
const protoResult = yield resolveEdges(protoAwareEdges, allEdges, messageStore, scope, context, visited, queue, rootCid, currentDepth);
|
|
524
|
+
if (protoResult) {
|
|
525
|
+
return protoResult;
|
|
489
526
|
}
|
|
490
527
|
}
|
|
491
|
-
//
|
|
492
|
-
//
|
|
528
|
+
// Validate grant temporal ordering after all dependency edges resolve.
|
|
529
|
+
// If this message uses a grant, verify
|
|
493
530
|
// that the grant is temporally valid at the message's commit point:
|
|
494
531
|
// - grant.dateGranted <= message.messageTimestamp < grant.dateExpires
|
|
495
532
|
// - no revocation exists with revocation.messageTimestamp <= message.messageTimestamp
|
|
@@ -623,14 +660,14 @@ function validateGrantTemporal(message, allEdges, context, rootCid, currentDepth
|
|
|
623
660
|
* Resolve a list of dependency edges. Returns a ClosureResult on failure,
|
|
624
661
|
* or null if all edges were resolved successfully.
|
|
625
662
|
*/
|
|
626
|
-
function resolveEdges(edges, allEdges, messageStore, context, visited, queue, rootCid, currentDepth) {
|
|
663
|
+
function resolveEdges(edges, allEdges, messageStore, scope, context, visited, queue, rootCid, currentDepth) {
|
|
627
664
|
return __awaiter(this, void 0, void 0, function* () {
|
|
628
665
|
for (const edge of edges) {
|
|
629
666
|
allEdges.push(edge);
|
|
630
667
|
// Include label in dep key to distinguish edges with the same identifier
|
|
631
668
|
// but different semantics (e.g., permissionGrant vs grantRevocation both
|
|
632
669
|
// use identifierType:'grantId' with the same grantId).
|
|
633
|
-
const depKey =
|
|
670
|
+
const depKey = dependencyCacheKey(edge, scope);
|
|
634
671
|
if (context.satisfiedDeps.has(depKey)) {
|
|
635
672
|
continue;
|
|
636
673
|
}
|
|
@@ -662,6 +699,19 @@ function resolveEdges(edges, allEdges, messageStore, context, visited, queue, ro
|
|
|
662
699
|
depth: currentDepth,
|
|
663
700
|
};
|
|
664
701
|
}
|
|
702
|
+
if (!isResolvedDependencyAllowed(edge, resolved, scope)) {
|
|
703
|
+
return {
|
|
704
|
+
complete: false,
|
|
705
|
+
rootMessageCid: rootCid,
|
|
706
|
+
edges: allEdges,
|
|
707
|
+
failure: {
|
|
708
|
+
code: ClosureFailureCode.DependencyForbidden,
|
|
709
|
+
edge,
|
|
710
|
+
detail: `dependency '${edge.label}' (${edge.identifier}) is outside the current sync scope`,
|
|
711
|
+
},
|
|
712
|
+
depth: currentDepth,
|
|
713
|
+
};
|
|
714
|
+
}
|
|
665
715
|
context.satisfiedDeps.add(depKey);
|
|
666
716
|
// Add resolved record to the BFS queue for transitive dependency evaluation,
|
|
667
717
|
// but skip leaf dependency types that don't have their own closure requirements:
|
|
@@ -682,6 +732,75 @@ function resolveEdges(edges, allEdges, messageStore, context, visited, queue, ro
|
|
|
682
732
|
return null; // All edges resolved successfully.
|
|
683
733
|
});
|
|
684
734
|
}
|
|
735
|
+
function dependencyCacheKey(edge, scope) {
|
|
736
|
+
const expectedProtocolSegment = edge.expectedProtocol === undefined
|
|
737
|
+
? ''
|
|
738
|
+
: `expectedProtocol:${edge.expectedProtocol}:`;
|
|
739
|
+
return `${scopeCacheKey(scope)}:${expectedProtocolSegment}${edge.label}:${edge.identifierType}:${edge.identifier}`;
|
|
740
|
+
}
|
|
741
|
+
function scopeCacheKey(scope) {
|
|
742
|
+
if (scope.kind === 'full') {
|
|
743
|
+
return 'full';
|
|
744
|
+
}
|
|
745
|
+
if (scope.kind === 'protocolSet') {
|
|
746
|
+
return `protocolSet:${scope.protocols.join('\u001f')}`;
|
|
747
|
+
}
|
|
748
|
+
return `recordsProjection:${scope.scopes.map(scopeEntry => JSON.stringify(scopeEntry)).join('\u001f')}`;
|
|
749
|
+
}
|
|
750
|
+
function isResolvedDependencyAllowed(edge, resolved, scope) {
|
|
751
|
+
if (isSyntheticDependency(resolved)) {
|
|
752
|
+
return true;
|
|
753
|
+
}
|
|
754
|
+
// Protocol metadata is re-derived from an accepted primary and is safe to
|
|
755
|
+
// use as closure metadata even when it is not itself a primary in the scope.
|
|
756
|
+
if (edge.identifierType === 'protocol') {
|
|
757
|
+
return true;
|
|
758
|
+
}
|
|
759
|
+
if (edge.expectedProtocol !== undefined) {
|
|
760
|
+
return getMessageProtocol(resolved) === edge.expectedProtocol;
|
|
761
|
+
}
|
|
762
|
+
if (edge.label === 'contextKeyRecord') {
|
|
763
|
+
return isContextKeyDependencyAllowed(edge, resolved, scope);
|
|
764
|
+
}
|
|
765
|
+
return classifySyncMessageScope({ message: resolved, scope }) === 'in-scope';
|
|
766
|
+
}
|
|
767
|
+
function isSyntheticDependency(message) {
|
|
768
|
+
return message.descriptor.interface === 'Synthetic';
|
|
769
|
+
}
|
|
770
|
+
function getMessageProtocol(message) {
|
|
771
|
+
const descriptor = message.descriptor;
|
|
772
|
+
return typeof descriptor.protocol === 'string' ? descriptor.protocol : undefined;
|
|
773
|
+
}
|
|
774
|
+
function isContextKeyDependencyAllowed(edge, message, scope) {
|
|
775
|
+
if (scope.kind === 'full') {
|
|
776
|
+
return true;
|
|
777
|
+
}
|
|
778
|
+
const separatorIdx = edge.identifier.indexOf('|');
|
|
779
|
+
if (separatorIdx <= 0) {
|
|
780
|
+
return false;
|
|
781
|
+
}
|
|
782
|
+
const sourceProtocol = edge.identifier.substring(0, separatorIdx);
|
|
783
|
+
const rootContextId = edge.identifier.substring(separatorIdx + 1);
|
|
784
|
+
const descriptor = message.descriptor;
|
|
785
|
+
const tags = descriptor.tags;
|
|
786
|
+
const isContextKeyRecord = descriptor.interface === 'Records' &&
|
|
787
|
+
descriptor.method === 'Write' &&
|
|
788
|
+
descriptor.protocol === 'https://identity.foundation/protocols/key-delivery' &&
|
|
789
|
+
descriptor.protocolPath === 'contextKey' &&
|
|
790
|
+
(tags === null || tags === void 0 ? void 0 : tags.protocol) === sourceProtocol &&
|
|
791
|
+
(tags === null || tags === void 0 ? void 0 : tags.contextId) === rootContextId;
|
|
792
|
+
if (!isContextKeyRecord) {
|
|
793
|
+
return false;
|
|
794
|
+
}
|
|
795
|
+
if (scope.kind === 'recordsProjection') {
|
|
796
|
+
return scope.scopes.some(scopeEntry => PermissionScopeMatcher.matches(scopeEntry, {
|
|
797
|
+
protocol: sourceProtocol,
|
|
798
|
+
contextId: rootContextId,
|
|
799
|
+
}));
|
|
800
|
+
}
|
|
801
|
+
const coveredProtocols = protocolsForSyncScope(scope);
|
|
802
|
+
return (coveredProtocols === null || coveredProtocols === void 0 ? void 0 : coveredProtocols.includes(sourceProtocol)) === true;
|
|
803
|
+
}
|
|
685
804
|
/**
|
|
686
805
|
* Resolve a dependency edge by querying the local MessageStore.
|
|
687
806
|
* Returns the resolved message or null if not found.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-closure-resolver.js","sourceRoot":"","sources":["../../src/sync-closure-resolver.ts"],"names":[],"mappings":";;;;;;;;;AAQA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAEjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEnF,8EAA8E;AAC9E,2DAA2D;AAC3D,8EAA8E;AAE9E;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,OAAuB;IAClD,MAAM,IAAI,GAAG,OAAO,CAAC,UAAqC,CAAC;IAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAA8B,CAAC;IACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IAE7B,wEAAwE;IACxE,sEAAsE;IACtE,yEAAyE;IACzE,mEAAmE;IACnE,IAAI,QAAQ,KAAK,mBAAmB,CAAC,GAAG,EAAE,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IAExD,OAAO,CAAC;YACN,eAAe,EAAG,CAAC;YACnB,KAAK,EAAa,oBAAoB;YACtC,UAAU,EAAQ,QAAQ;YAC1B,cAAc,EAAI,UAAU;SAC7B,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,OAAuB;IAClD,MAAM,IAAI,GAAG,OAAO,CAAC,UAAqC,CAAC;IAC3D,MAAM,KAAK,GAA4B,EAAE,CAAC;IAE1C,8DAA8D;IAC9D,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IAEhD,MAAM,QAAQ,GAAI,OAAe,CAAC,QAA8B,CAAC;IAEjE,2DAA2D;IAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAA8B,CAAC;IACrD,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CAAC;YACT,eAAe,EAAG,CAAC;YACnB,KAAK,EAAa,cAAc;YAChC,UAAU,EAAQ,QAAQ;YAC1B,cAAc,EAAI,UAAU;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,yEAAyE;IACzE,2EAA2E;IAC3E,6EAA6E;IAC7E,yCAAyC;IACzC,MAAM,SAAS,GAAI,OAAe,CAAC,SAA+B,CAAC;IACnE,IAAI,SAAS,IAAI,QAAQ,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QACpD,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC;YACT,eAAe,EAAG,CAAC;YACnB,KAAK,EAAa,aAAa;YAC/B,UAAU,EAAQ,aAAa;YAC/B,cAAc,EAAI,UAAU;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,wEAAwE;IACxE,+EAA+E;IAC/E,mFAAmF;IACnF,uEAAuE;IACvE,IAAI,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAiC,CAAC;QAC3D,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAsC,CAAC;QACrE,IAAI,WAAW,IAAI,gBAAgB,IAAI,WAAW,KAAK,gBAAgB,EAAE,CAAC;YACxE,8CAA8C;YAC9C,KAAK,CAAC,IAAI,CAAC;gBACT,eAAe,EAAG,CAAC;gBACnB,KAAK,EAAa,cAAc;gBAChC,UAAU,EAAQ,QAAQ;gBAC1B,cAAc,EAAI,UAAU;aAC7B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,sFAAsF;IACtF,IAAI,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC;YACT,eAAe,EAAG,CAAC;YACnB,KAAK,EAAa,cAAc;YAChC,UAAU,EAAQ,QAAQ;YAC1B,cAAc,EAAI,UAAU;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,wBAAwB,CAAC,OAAuB;;IACvD,MAAM,KAAK,GAA4B,EAAE,CAAC;IAC1C,MAAM,IAAI,GAAI,OAAe,CAAC,aAAa,CAAC;IAC5C,IAAI,CAAC,IAAI,EAAE,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IAEzB,4EAA4E;IAC5E,sFAAsF;IACtF,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,SAAS,0CAAE,OAAO,CAAC;IACxC,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,qCAAqC;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CACxB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CACpD,CAAC;YACF,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBAC9B,KAAK,CAAC,IAAI,CAAC;oBACT,eAAe,EAAG,CAAC;oBACnB,KAAK,EAAa,iBAAiB;oBACnC,UAAU,EAAQ,OAAO,CAAC,iBAAiB;oBAC3C,cAAc,EAAI,SAAS;iBAC5B,CAAC,CAAC;gBACH,8DAA8D;gBAC9D,sEAAsE;gBACtE,iEAAiE;gBACjE,8DAA8D;gBAC9D,KAAK,CAAC,IAAI,CAAC;oBACT,eAAe,EAAG,CAAC;oBACnB,KAAK,EAAa,iBAAiB;oBACnC,UAAU,EAAQ,OAAO,CAAC,iBAAiB;oBAC3C,cAAc,EAAI,SAAS;iBAC5B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,WAAM,CAAC;YACP,oEAAoE;QACtE,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,oEAAoE;AACpE,EAAE;AACF,2EAA2E;AAC3E,2EAA2E;AAC3E,qCAAqC;AACrC,8EAA8E;AAE9E;;;;;;GAMG;AACH,SAAS,wBAAwB,CAC/B,SAA0C,EAC1C,YAAoB;IAEpB,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY,EAAE,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;IAEtD,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,YAAY,GAAwB,SAAS,CAAC;IAClD,IAAI,OAAY,CAAC;IAEjB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC;YAAC,OAAO,SAAS,CAAC;QAAC,CAAC;QAChE,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QAChC,YAAY,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,wBAAwB,CAC/B,OAAuB,EACvB,WAAgB,EAChB,iBAA2B;;IAE3B,MAAM,IAAI,GAAG,OAAO,CAAC,UAAqC,CAAC;IAC3D,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IAEhD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAkC,CAAC;IAC7D,IAAI,CAAC,YAAY,EAAE,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IAEjC,MAAM,KAAK,GAA4B,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,wBAAwB,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAE/E,6CAA6C;IAC7C,yEAAyE;IACzE,yEAAyE;IACzE,6EAA6E;IAC7E,4EAA4E;IAC5E,yEAAyE;IACzE,0EAA0E;IAC1E,mDAAmD;IACnD,EAAE;IACF,4EAA4E;IAC5E,6EAA6E;IAC7E,0DAA0D;IAE1D,qDAAqD;IACrD,4BAA4B;IAC5B,EAAE;IACF,kFAAkF;IAClF,8DAA8D;IAC9D,EAAE;IACF,8EAA8E;IAC9E,mFAAmF;IACnF,mFAAmF;IACnF,gFAAgF;IAChF,kDAAkD;IAClD,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,0CAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,CAAC,CAAC;QACrD,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,kBAAkB,MAAK,IAAI,EAAE,CAAC;YACzC,uFAAuF;YACvF,KAAK,CAAC,IAAI,CAAC;gBACT,eAAe,EAAG,CAAC;gBACnB,KAAK,EAAa,uBAAuB;gBACzC,UAAU,EAAQ,IAAI,CAAC,QAAkB;gBACzC,cAAc,EAAI,UAAU;aAC7B,CAAC,CAAC;YAEH,mEAAmE;YACnE,iDAAiD;YACjD,MAAM,SAAS,GAAI,OAAe,CAAC,SAA+B,CAAC;YACnE,IAAI,YAAY,GAAG,KAAK,CAAC;YACzB,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,gBAAgB,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpD,YAAY,GAAG,mBAAmB,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;YACpE,CAAC;YAED,qDAAqD;YACrD,EAAE;YACF,oEAAoE;YACpE,4DAA4D;YAC5D,EAAE;YACF,6BAA6B;YAC7B,yDAAyD;YACzD,oEAAoE;YACpE,gDAAgD;YAChD,oEAAoE;YACpE,4DAA4D;YAC5D,gEAAgE;YAChE,sEAAsE;YACtE,qEAAqE;YACrE,MAAM,mBAAmB,GAAG,iBAAiB,IAAI,CAAC,YAAY,CAAC;YAC/D,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACzB,MAAM,mBAAmB,GAAG,oDAAoD,CAAC;gBACjF,KAAK,CAAC,IAAI,CAAC;oBACT,eAAe,EAAG,CAAC;oBACnB,KAAK,EAAa,qBAAqB;oBACvC,UAAU,EAAQ,mBAAmB;oBACrC,cAAc,EAAI,UAAU;iBAC7B,CAAC,CAAC;YACL,CAAC;YAED,6DAA6D;YAC7D,0EAA0E;YAC1E,yEAAyE;YACzE,uEAAuE;YACvE,yEAAyE;YACzE,EAAE;YACF,wEAAwE;YACxE,yDAAyD;YACzD,EAAE;YACF,iEAAiE;YACjE,oEAAoE;YACpE,2BAA2B;YAC3B,IAAI,YAAY,IAAI,SAAS,EAAE,CAAC;gBAC9B,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9C,iEAAiE;gBACjE,+DAA+D;gBAC/D,KAAK,CAAC,IAAI,CAAC;oBACT,eAAe,EAAG,CAAC;oBACnB,KAAK,EAAa,kBAAkB;oBACpC,UAAU,EAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,aAAa,EAAE;oBACrD,cAAc,EAAI,YAAY;iBAC/B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,uEAAuE;IACvE,EAAE;IACF,2FAA2F;IAC3F,+FAA+F;IAC/F,oFAAoF;IACpF,8FAA8F;IAC9F,+FAA+F;IAC/F,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,0CAAG,YAAY,CAAC,CAAC;IAC3D,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,CAAC;YAClC,MAAM,kBAAkB,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,KAAK,CAAC,CAAC;YAC5C,IAAI,kBAAkB,EAAE,CAAC;gBACvB,mDAAmD;gBACnD,KAAK,CAAC,IAAI,CAAC;oBACT,eAAe,EAAG,CAAC;oBACnB,KAAK,EAAa,qBAAqB;oBACvC,UAAU,EAAQ,kBAAkB;oBACpC,cAAc,EAAI,UAAU;iBAC7B,CAAC,CAAC;gBAEH,0DAA0D;gBAC1D,6EAA6E;gBAC7E,2EAA2E;gBAC3E,qEAAqE;gBACrE,qEAAqE;gBACrE,mDAAmD;gBACnD,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAA8B,CAAC;gBACrD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;oBAC1C,KAAK,CAAC,IAAI,CAAC;wBACT,eAAe,EAAG,CAAC;wBACnB,KAAK,EAAa,qBAAqB;wBACvC,UAAU,EAAQ,GAAG,kBAAkB,IAAI,QAAQ,EAAE;wBACrD,cAAc,EAAI,UAAU;qBAC7B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,wEAAwE;IACxE,sEAAsE;IACtE,gFAAgF;IAChF,MAAM,IAAI,GAAI,OAAe,CAAC,aAAa,CAAC;IAC5C,IAAI,IAAI,KAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,CAAA,EAAE,CAAC;QAC9B,gEAAgE;QAChE,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,SAAS,0CAAE,OAAO,CAAC;QACxC,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CACxB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CACpD,CAAC;gBACF,MAAM,YAAY,GAAG,OAAO,CAAC,YAAkC,CAAC;gBAChE,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChC,4CAA4C;oBAC5C,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAC/C,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;oBAC1D,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACjD,IAAI,YAAY,EAAE,CAAC;wBACjB,6EAA6E;wBAC7E,KAAK,CAAC,IAAI,CAAC;4BACT,eAAe,EAAG,CAAC;4BACnB,KAAK,EAAa,yBAAyB;4BAC3C,UAAU,EAAQ,YAAY;4BAC9B,cAAc,EAAI,UAAU;yBAC7B,CAAC,CAAC;wBAEH,qDAAqD;wBACrD,qEAAqE;wBACrE,qEAAqE;wBACrE,MAAM,gBAAgB,GAAG,YAAY,CAAC,SAAS,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;wBAClE,+DAA+D;wBAC/D,8DAA8D;wBAC9D,4DAA4D;wBAC5D,uBAAuB;wBACvB,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;wBACjD,MAAM,gBAAgB,GAAI,OAAe,CAAC,SAA+B,CAAC;wBAE1E,IAAI,aAAa,EAAE,CAAC;4BAClB,sCAAsC;4BACtC,MAAM,UAAU,GAA4B;gCAC1C,SAAS,EAAW,SAAS;gCAC7B,MAAM,EAAc,OAAO;gCAC3B,QAAQ,EAAY,YAAY;gCAChC,YAAY,EAAQ,gBAAgB;gCACpC,SAAS,EAAW,aAAa;gCACjC,iBAAiB,EAAG,IAAI;6BACzB,CAAC;4BAEF,oEAAoE;4BACpE,oEAAoE;4BACpE,kEAAkE;4BAClE,IAAI,gBAAgB,EAAE,CAAC;gCACrB,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gCAC7D,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;oCACtB,MAAM,eAAe,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oCACpD,MAAM,aAAa,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oCACxE,IAAI,aAAa,EAAE,CAAC;wCAClB,UAAU,CAAC,SAAS,GAAG,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,GAAG,QAAQ,EAAE,CAAC;oCAC9E,CAAC;gCACH,CAAC;4BACH,CAAC;4BAED,6DAA6D;4BAC7D,iEAAiE;4BACjE,MAAM,aAAa,GAAG,UAAU,CAAC,SAAS;gCACxC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;4BACxD,KAAK,CAAC,IAAI,CAAC;gCACT,eAAe,EAAG,CAAC;gCACnB,KAAK,EAAa,yBAAyB;gCAC3C,UAAU,EAAQ,GAAG,YAAY,IAAI,gBAAgB,IAAI,aAAa,IAAI,aAAa,EAAE;gCACzF,cAAc,EAAI,QAAQ;gCAC1B,MAAM,EAAY,UAAU;6BAC7B,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,WAAM,CAAC;gBACP,wCAAwC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,UAAgB,eAAe,CACnC,OAAuB,EACvB,YAA0B,EAC1B,KAAgB,EAChB,OAAiC;;;QAEjC,0DAA0D;QAC1D,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1C,OAAO;gBACL,QAAQ,EAAS,IAAI;gBACrB,cAAc,EAAG,GAAG;gBACpB,KAAK,EAAY,EAAE;gBACnB,KAAK,EAAY,CAAC;aACnB,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAA4B,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,kEAAkE;QAClE,MAAM,KAAK,GAAqB,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAErB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,YAAY,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrC,OAAO;oBACL,QAAQ,EAAS,KAAK;oBACtB,cAAc,EAAG,OAAO;oBACxB,KAAK,EAAY,QAAQ;oBACzB,OAAO,EAAU;wBACf,IAAI,EAAK,kBAAkB,CAAC,aAAa;wBACzC,IAAI,EAAK,EAAE,eAAe,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,cAAc,EAAE,YAAY,EAAE;wBAC/G,MAAM,EAAG,2CAA2C,OAAO,CAAC,QAAQ,EAAE;qBACvE;oBACD,KAAK,EAAE,YAAY;iBACpB,CAAC;YACJ,CAAC;YAED,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;YAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;gBAE/B,sEAAsE;gBACtE,qEAAqE;gBACrE,+CAA+C;gBAC/C,MAAM,WAAW,GAAG;oBAClB,GAAG,mBAAmB,CAAC,OAAO,CAAC;oBAC/B,GAAG,mBAAmB,CAAC,OAAO,CAAC;oBAC/B,GAAG,wBAAwB,CAAC,OAAO,CAAC;iBACrC,CAAC;gBAEF,MAAM,aAAa,GAAG,MAAM,YAAY,CACtC,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CACpF,CAAC;gBACF,IAAI,aAAa,EAAE,CAAC;oBAAC,OAAO,aAAa,CAAC;gBAAC,CAAC,CAAC,iBAAiB;gBAE9D,kEAAkE;gBAClE,0EAA0E;gBAC1E,MAAM,WAAW,GAAG,OAAO,CAAC,UAAqC,CAAC;gBAClE,MAAM,eAAe,GAAG,WAAW,CAAC,QAA8B,CAAC;gBACnE,IAAI,eAAe,EAAE,CAAC;oBACpB,MAAM,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;oBACrE,MAAM,WAAW,GAAG,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,UAAU,0CAAE,UAAU,CAAC;oBAC9D,IAAI,WAAW,EAAE,CAAC;wBAChB,MAAM,eAAe,GAAG,wBAAwB,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;wBAClG,MAAM,WAAW,GAAG,MAAM,YAAY,CACpC,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CACxF,CAAC;wBACF,IAAI,WAAW,EAAE,CAAC;4BAAC,OAAO,WAAW,CAAC;wBAAC,CAAC;oBAC1C,CAAC;gBACH,CAAC;gBAED,kEAAkE;gBAClE,qEAAqE;gBACrE,oEAAoE;gBACpE,wEAAwE;gBACxE,wFAAwF;gBACxF,oEAAoE;gBACpE,+CAA+C;gBAC/C,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;oBACvB,MAAM,gBAAgB,GAAG,qBAAqB,CAC5C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,CAClD,CAAC;oBACF,IAAI,gBAAgB,EAAE,CAAC;wBAAC,OAAO,gBAAgB,CAAC;oBAAC,CAAC;gBACpD,CAAC;YACH,CAAC;YAED,YAAY,EAAE,CAAC;QACjB,CAAC;QAED,OAAO;YACL,QAAQ,EAAS,IAAI;YACrB,cAAc,EAAG,OAAO;YACxB,KAAK,EAAY,QAAQ;YACzB,KAAK,EAAY,YAAY;SAC9B,CAAC;IACJ,CAAC;CAAA;AAED;;GAEG;AACH,MAAM,UAAgB,oBAAoB,CACxC,QAA0B,EAC1B,YAA0B,EAC1B,KAAgB,EAChB,SAAiB,EACjB,QAAiB;;QAEjB,MAAM,OAAO,GAAG,oBAAoB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAoB,EAAE,CAAC;QAEpC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CAAA;AAED,8EAA8E;AAC9E,mCAAmC;AACnC,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,SAAS,qBAAqB,CAC5B,OAAuB,EACvB,QAAiC,EACjC,OAAiC,EACjC,OAAe,EACf,YAAoB;;IAEpB,gDAAgD;IAChD,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,iBAAiB,CAAC,CAAC;IACpE,IAAI,CAAC,SAAS,EAAE,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC,CAAC,iBAAiB;IAElD,MAAM,gBAAgB,GAAI,OAAO,CAAC,UAAkB,CAAC,gBAA0B,CAAC;IAChF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAEvC,oDAAoD;IACpD,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACjE,IAAI,CAAC,WAAW,EAAE,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC,CAAC,qDAAqD;IAExF,iCAAiC;IACjC,4EAA4E;IAC5E,MAAM,WAAW,GAAI,WAAW,CAAC,UAAkB,CAAC,WAAiC,CAAC;IACtF,+DAA+D;IAC/D,IAAI,WAA+B,CAAC;IACpC,MAAM,WAAW,GAAI,WAAmB,CAAC,WAAiC,CAAC;IAC3E,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YACtF,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;QACtC,CAAC;QAAC,QAAQ,yBAAyB,IAA3B,CAAC,CAAC,yBAAyB,CAAC,CAAC;IACvC,CAAC;IAED,+BAA+B;IAC/B,IAAI,WAAW,IAAI,gBAAgB,GAAG,WAAW,EAAE,CAAC;QAClD,OAAO;YACL,QAAQ,EAAS,KAAK;YACtB,cAAc,EAAG,OAAO;YACxB,KAAK,EAAY,QAAQ;YACzB,OAAO,EAAU;gBACf,IAAI,EAAK,kBAAkB,CAAC,iBAAiB;gBAC7C,IAAI,EAAK,SAAS;gBAClB,MAAM,EAAG,UAAU,SAAS,CAAC,UAAU,4CAA4C,gBAAgB,kBAAkB,WAAW,GAAG;aACpI;YACD,KAAK,EAAE,YAAY;SACpB,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,IAAI,WAAW,IAAI,gBAAgB,IAAI,WAAW,EAAE,CAAC;QACnD,OAAO;YACL,QAAQ,EAAS,KAAK;YACtB,cAAc,EAAG,OAAO;YACxB,KAAK,EAAY,QAAQ;YACzB,OAAO,EAAU;gBACf,IAAI,EAAK,kBAAkB,CAAC,YAAY;gBACxC,IAAI,EAAK,SAAS;gBAClB,MAAM,EAAG,UAAU,SAAS,CAAC,UAAU,gBAAgB,WAAW,0BAA0B,gBAAgB,EAAE;aAC/G;YACD,KAAK,EAAE,YAAY;SACpB,CAAC;IACJ,CAAC;IAED,uDAAuD;IACvD,MAAM,kBAAkB,GAAG,cAAc,SAAS,CAAC,UAAU,EAAE,CAAC;IAChE,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACpE,IAAI,gBAAgB,IAAK,gBAAgB,CAAC,UAAkB,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;QACvF,MAAM,mBAAmB,GAAI,gBAAgB,CAAC,UAAkB,CAAC,gBAA0B,CAAC;QAC5F,IAAI,mBAAmB,IAAI,mBAAmB,IAAI,gBAAgB,EAAE,CAAC;YACnE,OAAO;gBACL,QAAQ,EAAS,KAAK;gBACtB,cAAc,EAAG,OAAO;gBACxB,KAAK,EAAY,QAAQ;gBACzB,OAAO,EAAU;oBACf,IAAI,EAAK,kBAAkB,CAAC,sBAAsB;oBAClD,IAAI,EAAK,MAAA,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,iBAAiB,CAAC,mCAAI,SAAS;oBACvE,MAAM,EAAG,UAAU,SAAS,CAAC,UAAU,oBAAoB,mBAAmB,8BAA8B,gBAAgB,EAAE;iBAC/H;gBACD,KAAK,EAAE,YAAY;aACpB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC,CAAC,6BAA6B;AAC5C,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;GAGG;AACH,SAAe,YAAY,CACzB,KAA8B,EAC9B,QAAiC,EACjC,YAA0B,EAC1B,OAAiC,EACjC,OAAoB,EACpB,KAAuB,EACvB,OAAe,EACf,YAAoB;;QAEpB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEpB,yEAAyE;YACzE,yEAAyE;YACzE,uDAAuD;YACvD,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACzE,IAAI,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAAC,SAAS;YAAC,CAAC;YACpD,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpC,OAAO;oBACL,QAAQ,EAAS,KAAK;oBACtB,cAAc,EAAG,OAAO;oBACxB,KAAK,EAAY,QAAQ;oBACzB,OAAO,EAAU;wBACf,IAAI,EAAK,oBAAoB,CAAC,IAAI,CAAC;wBACnC,IAAI;wBACJ,MAAM,EAAG,eAAe,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,UAAU,cAAc;qBACtE;oBACD,KAAK,EAAE,YAAY;iBACpB,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;YACtE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAChC,OAAO;oBACL,QAAQ,EAAS,KAAK;oBACtB,cAAc,EAAG,OAAO;oBACxB,KAAK,EAAY,QAAQ;oBACzB,OAAO,EAAU;wBACf,IAAI,EAAK,oBAAoB,CAAC,IAAI,CAAC;wBACnC,IAAI;wBACJ,MAAM,EAAG,eAAe,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,UAAU,qBAAqB;qBAC7E;oBACD,KAAK,EAAE,YAAY;iBACpB,CAAC;YACJ,CAAC;YAED,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAElC,6EAA6E;YAC7E,iFAAiF;YACjF,qDAAqD;YACrD,wEAAwE;YACxE,gFAAgF;YAChF,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,KAAK,SAAS;gBACjC,IAAI,CAAC,cAAc,KAAK,QAAQ;gBAChC,IAAI,CAAC,KAAK,KAAK,kBAAkB,CAAC;YACpD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACnD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC9B,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBACzB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,CAAC,mCAAmC;IAClD,CAAC;CAAA;AAED;;;GAGG;AACH,SAAe,iBAAiB,CAC9B,IAA2B,EAC3B,YAA0B,EAC1B,OAAiC;;;QAEjC,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5B,KAAK,UAAU,CAAC,CAAC,CAAC;gBAClB,qBAAqB;gBACnB,IAAI,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC/C,OAAO,MAAA,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,mCAAI,IAAI,CAAC;gBAC5D,CAAC;gBACD,gCAAgC;gBAChC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;wBAChE,SAAS,EAAW,WAAW;wBAC/B,MAAM,EAAc,WAAW;wBAC/B,QAAQ,EAAY,IAAI,CAAC,UAAU;wBACnC,iBAAiB,EAAG,IAAI;qBACzB,CAAC,CAAC,CAAC;gBACJ,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACvD,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBAClD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,IAAI,IAAI,CAAC,KAAK,KAAK,cAAc,EAAE,CAAC;oBACpC,kEAAkE;oBAClE,gEAAgE;oBAChE,qEAAqE;oBACnE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;4BAC3E,OAAO,EAAE,IAAI,CAAC,UAAU;yBACzB,CAAC,CAAC,CAAC;oBACJ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;oBAAC,CAAC;oBAElD,4DAA4D;oBAC5D,+DAA+D;oBAC/D,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;4BAC5E,SAAS,EAAW,SAAS;4BAC7B,MAAM,EAAc,OAAO;4BAC3B,QAAQ,EAAY,IAAI,CAAC,UAAU;4BACnC,iBAAiB,EAAG,KAAK;yBAC1B,CAAC,CAAC,CAAC;oBACJ,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACtD,CAAC;gBAED,mEAAmE;gBACnE,uDAAuD;gBACvD,IAAI,IAAI,CAAC,KAAK,KAAK,qBAAqB,EAAE,CAAC;oBACzC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAC7C,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;wBAChB,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;wBAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;wBAC3D,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gCAC5E,SAAS,EAAW,SAAS;gCAC7B,MAAM,EAAc,OAAO;gCAC3B,QAAQ,EAAY,WAAW;gCAC/B,QAAQ,EAAY,WAAW;gCAC/B,iBAAiB,EAAG,IAAI;6BACzB,CAAC,CAAC,CAAC;wBACJ,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACtD,CAAC;gBACH,CAAC;gBAED,gFAAgF;gBAChF,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;wBAChE,SAAS,EAAW,SAAS;wBAC7B,QAAQ,EAAY,IAAI,CAAC,UAAU;wBACnC,iBAAiB,EAAG,IAAI;qBACzB,CAAC,CAAC,CAAC;gBACJ,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAClD,CAAC;YAED,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,IAAI,IAAI,CAAC,KAAK,KAAK,iBAAiB,EAAE,CAAC;oBACvC,oEAAoE;oBACpE,sEAAsE;oBACtE,gEAAgE;oBAChE,oEAAoE;oBAClE,MAAM,QAAQ,GAAG,cAAc,IAAI,CAAC,UAAU,EAAE,CAAC;oBACjD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACrC,OAAO,MAAA,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,mCAAI,IAAI,CAAC;oBAClD,CAAC;oBACD,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;4BAC7E,SAAS,EAAW,SAAS;4BAC7B,MAAM,EAAc,OAAO;4BAC3B,QAAQ,EAAY,6CAA6C;4BACjE,QAAQ,EAAY,IAAI,CAAC,UAAU;4BACnC,YAAY,EAAQ,kBAAkB;4BACtC,iBAAiB,EAAG,IAAI;yBACzB,CAAC,CAAC,CAAC;oBACJ,yEAAyE;oBACzE,+DAA+D;oBAC/D,uEAAuE;oBACvE,6DAA6D;oBAC7D,gFAAgF;oBAChF,gFAAgF;oBAChF,8BAA8B;oBAC9B,IAAI,gBAA4C,CAAC;oBACjD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;wBAC9B,MAAM,KAAK,GAAI,GAAG,CAAC,UAAkB,CAAC,gBAA0B,CAAC;wBACjE,IAAI,CAAC,gBAAgB,IAAI,KAAK,GAAI,gBAAgB,CAAC,UAAkB,CAAC,gBAAgB,EAAE,CAAC;4BACvF,gBAAgB,GAAG,GAAG,CAAC;wBACzB,CAAC;oBACH,CAAC;oBAED,MAAM,oBAAoB,GAAG,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,EAAS,CAAC;oBACvG,MAAM,MAAM,GAAG,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,oBAAoB,CAAC;oBACxD,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;oBACzC,OAAO,MAAM,CAAC;gBAChB,CAAC;gBAED,uBAAuB;gBACvB,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC5C,OAAO,MAAA,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,mCAAI,IAAI,CAAC;gBACzD,CAAC;gBACD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;wBAChE,SAAS,EAAW,SAAS;wBAC7B,MAAM,EAAc,OAAO;wBAC3B,QAAQ,EAAY,6CAA6C;wBACjE,YAAY,EAAQ,OAAO;wBAC3B,QAAQ,EAAY,IAAI,CAAC,UAAU;wBACnC,iBAAiB,EAAG,IAAI;qBACzB,CAAC,CAAC,CAAC;gBACJ,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACvD,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBAC/C,OAAO,KAAK,CAAC;YACf,CAAC;YAED,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,qEAAqE;gBACrE,uEAAuE;gBACvE,uDAAuD;gBACvD,IAAI,IAAI,CAAC,KAAK,KAAK,kBAAkB,EAAE,CAAC;oBACtC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAClD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;wBACrB,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;wBAClE,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;wBAClE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gCAC7E,SAAS,EAAS,SAAS;gCAC3B,MAAM,EAAY,OAAO;gCACzB,QAAQ,EAAU,oDAAoD;gCACtE,YAAY,EAAM,YAAY;gCAC9B,cAAc,EAAI,cAAc;gCAChC,eAAe,EAAG,aAAa;6BACzB,CAAC,CAAC,CAAC;wBACX,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;wBAAC,CAAC;wBACtD,uEAAuE;wBACvE,yEAAyE;wBACzE,oEAAoE;wBACpE,wDAAwD;wBACxD,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;gBACD,OAAO,MAAA,MAAM,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,mCAAI,IAAI,CAAC;YAC5E,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,sEAAsE;gBACtE,oEAAoE;gBACpE,2DAA2D;gBAC3D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBAAC,OAAO,IAAI,CAAC;gBAAC,CAAC;gBAClC,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,MAAM,YAAY,CAAC,KAAK,CAC1D,OAAO,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,MAAa,CAAC,CACxC,CAAC;gBACF,OAAO,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5D,CAAC;YAED;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;CAAA;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,IAA2B;IACvD,QAAQ,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7B,KAAK,CAAC,CAAC,CAAC,OAAO,kBAAkB,CAAC,uBAAuB,CAAC;QAC1D,KAAK,CAAC;YACJ,IAAI,IAAI,CAAC,KAAK,KAAK,cAAc,EAAE,CAAC;gBAAC,OAAO,kBAAkB,CAAC,mBAAmB,CAAC;YAAC,CAAC;YACrF,IAAI,IAAI,CAAC,KAAK,KAAK,cAAc,EAAE,CAAC;gBAAC,OAAO,kBAAkB,CAAC,kBAAkB,CAAC;YAAC,CAAC;YACpF,IAAI,IAAI,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;gBAAC,OAAO,kBAAkB,CAAC,mBAAmB,CAAC;YAAC,CAAC;YACpF,OAAO,kBAAkB,CAAC,kBAAkB,CAAC;QAC/C,KAAK,CAAC;YACJ,IAAI,IAAI,CAAC,KAAK,KAAK,iBAAiB,EAAE,CAAC;gBAAC,OAAO,kBAAkB,CAAC,YAAY,CAAC;YAAC,CAAC;YACjF,OAAO,kBAAkB,CAAC,sBAAsB,CAAC;QACnD,KAAK,CAAC;YACJ,IAAI,IAAI,CAAC,KAAK,KAAK,mBAAmB,EAAE,CAAC;gBAAC,OAAO,kBAAkB,CAAC,sBAAsB,CAAC;YAAC,CAAC;YAC7F,OAAO,kBAAkB,CAAC,sBAAsB,CAAC;QACnD,KAAK,CAAC,CAAC,CAAC,OAAO,kBAAkB,CAAC,2BAA2B,CAAC;QAC9D,KAAK,CAAC,CAAC,CAAC,OAAO,kBAAkB,CAAC,6BAA6B,CAAC;QAChE,OAAO,CAAC,CAAC,OAAO,kBAAkB,CAAC,mBAAmB,CAAC;IACzD,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"sync-closure-resolver.js","sourceRoot":"","sources":["../../src/sync-closure-resolver.ts"],"names":[],"mappings":";;;;;;;;;AAQA,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAEzF,8EAA8E;AAC9E,2DAA2D;AAC3D,8EAA8E;AAE9E;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,OAAuB;IAClD,MAAM,IAAI,GAAG,OAAO,CAAC,UAAqC,CAAC;IAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAA8B,CAAC;IACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IAE7B,wEAAwE;IACxE,sEAAsE;IACtE,yEAAyE;IACzE,mEAAmE;IACnE,IAAI,QAAQ,KAAK,mBAAmB,CAAC,GAAG,EAAE,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IAExD,OAAO,CAAC;YACN,eAAe,EAAG,CAAC;YACnB,KAAK,EAAa,oBAAoB;YACtC,UAAU,EAAQ,QAAQ;YAC1B,cAAc,EAAI,UAAU;SAC7B,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,OAAuB,EAAE,WAAgC;IACpF,MAAM,IAAI,GAAG,OAAO,CAAC,UAAqC,CAAC;IAE3D,8DAA8D;IAC9D,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IAEhD,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IAClE,OAAO;QACL,4BAA4B,CAAC,OAAO,CAAC;QACrC,2BAA2B,CAAC,OAAO,CAAC;QACpC,4BAA4B,CAAC,OAAO,CAAC;KACtC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAiC,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,gBAAgB,CAAC,QAA4B;IACpD,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC;AACtE,CAAC;AAYD,SAAS,qBAAqB,CAC5B,OAAuB,EACvB,UAAmC,EACnC,WAA2C;IAE3C,MAAM,eAAe,GAAG,kBAAkB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAEpE,OAAO;QACL,UAAU;QACV,QAAQ,EAA4B,OAAe,CAAC,QAA8B;QAClF,QAAQ,EAA2B,UAAU,CAAC,QAA8B;QAC5E,QAAQ,EAA2B,UAAU,CAAC,QAA8B;QAC5E,SAAS,EAA2B,OAAe,CAAC,SAA+B;QACnF,eAAe;QACf,gCAAgC,EAAG,eAAe,KAAK,SAAS,IAAI,sBAAsB,CAAC,UAAU,CAAC;KACvG,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CAAC,OAAwB;IAC5D,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,gCAAgC,EAAE,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;IAExF,uBACE,eAAe,EAAG,CAAC,EACnB,KAAK,EAAa,cAAc,EAChC,UAAU,EAAQ,OAAO,CAAC,QAAQ,EAClC,cAAc,EAAI,UAAU,IACzB,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,EACrC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,OAAwB;;IAC3D,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,aAAa,IAAI,gCAAgC,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC;QAC/E,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,uBACE,eAAe,EAAG,CAAC,EACnB,KAAK,EAAa,aAAa,EAC/B,UAAU,EAAQ,aAAa,EAC/B,cAAc,EAAI,UAAU,IACzB,gBAAgB,CAAC,MAAA,OAAO,CAAC,eAAe,mCAAI,OAAO,CAAC,QAAQ,CAAC,EAChE;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAwB;IAChD,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,gCAAgC,CAAC,OAAwB,EAAE,aAAqB;IACvF,OAAO,OAAO,CAAC,gCAAgC,IAAI,aAAa,KAAK,OAAO,CAAC,QAAQ,CAAC;AACxF,CAAC;AAED,SAAS,4BAA4B,CAAC,OAAwB;IAC5D,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;IAE5C,IAAI,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,uBACE,eAAe,EAAG,CAAC,EACnB,KAAK,EAAa,cAAc,EAChC,UAAU,EAAQ,OAAO,CAAC,QAAQ,EAClC,cAAc,EAAI,UAAU,IACzB,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,EACrC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC3C,OAAO;YACL,eAAe,EAAG,CAAC;YACnB,KAAK,EAAa,cAAc;YAChC,UAAU,EAAQ,OAAO,CAAC,QAAQ;YAClC,cAAc,EAAI,UAAU;SAC7B,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAmC;IAC5D,IAAI,UAAU,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;IAEpD,MAAM,WAAW,GAAG,UAAU,CAAC,WAAiC,CAAC;IACjE,MAAM,gBAAgB,GAAG,UAAU,CAAC,gBAAsC,CAAC;IAC3E,OAAO,WAAW,KAAK,SAAS;QAC9B,gBAAgB,KAAK,SAAS;QAC9B,WAAW,KAAK,gBAAgB,CAAC;AACrC,CAAC;AAED,SAAS,sBAAsB,CAAC,UAAmC;IACjE,MAAM,YAAY,GAAG,UAAU,CAAC,YAAkC,CAAC;IACnE,OAAO,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,CAAC,GAAG,EAAE,MAAM,MAAK,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,kBAAkB,CACzB,UAAmC,EACnC,WAA2C;;IAE3C,MAAM,YAAY,GAAG,UAAU,CAAC,YAAkC,CAAC;IACnE,IAAI,CAAC,YAAY,EAAE,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;IAExC,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,0CAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,IAAI,OAAO,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,CAAA,KAAK,QAAQ,EAAE,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;IAEhE,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;IAExC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACtD,MAAM,kBAAkB,GAAG,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,0CAAG,KAAK,CAAC,CAAC;IACtD,OAAO,OAAO,kBAAkB,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;AACjF,CAAC;AAED;;;GAGG;AACH,SAAS,wBAAwB,CAAC,OAAuB;IACvD,MAAM,KAAK,GAA4B,EAAE,CAAC;IAC1C,KAAK,MAAM,iBAAiB,IAAI,4BAA4B,CAAC,OAAO,CAAC,EAAE,CAAC;QACtE,KAAK,CAAC,IAAI,CAAC;YACT,eAAe,EAAG,CAAC;YACnB,KAAK,EAAa,iBAAiB;YACnC,UAAU,EAAQ,iBAAiB;YACnC,cAAc,EAAI,SAAS;SAC5B,CAAC,CAAC;QACH,8DAA8D;QAC9D,sEAAsE;QACtE,iEAAiE;QACjE,8DAA8D;QAC9D,KAAK,CAAC,IAAI,CAAC;YACT,eAAe,EAAG,CAAC;YACnB,KAAK,EAAa,iBAAiB;YACnC,UAAU,EAAQ,iBAAiB;YACnC,cAAc,EAAI,SAAS;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,oEAAoE;AACpE,EAAE;AACF,2EAA2E;AAC3E,2EAA2E;AAC3E,qCAAqC;AACrC,8EAA8E;AAE9E;;;;;;GAMG;AACH,SAAS,wBAAwB,CAC/B,SAAsD,EACtD,YAAoB;IAEpB,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY,EAAE,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;IAEtD,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,YAAY,GAA4B,SAAS,CAAC;IACtD,IAAI,OAAoC,CAAC;IAEzC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC;YAAC,OAAO,SAAS,CAAC;QAAC,CAAC;QAChE,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YAAC,OAAO,SAAS,CAAC;QAAC,CAAC;QACnD,OAAO,GAAG,IAAI,CAAC;QACf,YAAY,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,wBAAwB,CAC/B,OAAuB,EACvB,WAA+B,EAC/B,iBAA2B;;IAE3B,MAAM,IAAI,GAAG,OAAO,CAAC,UAAqC,CAAC;IAC3D,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IAEhD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAkC,CAAC;IAC7D,IAAI,CAAC,YAAY,EAAE,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IAEjC,MAAM,KAAK,GAA4B,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,wBAAwB,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAE/E,6CAA6C;IAC7C,yEAAyE;IACzE,yEAAyE;IACzE,6EAA6E;IAC7E,4EAA4E;IAC5E,yEAAyE;IACzE,0EAA0E;IAC1E,mDAAmD;IACnD,EAAE;IACF,4EAA4E;IAC5E,6EAA6E;IAC7E,0DAA0D;IAE1D,qDAAqD;IACrD,4BAA4B;IAC5B,EAAE;IACF,kFAAkF;IAClF,8DAA8D;IAC9D,EAAE;IACF,8EAA8E;IAC9E,mFAAmF;IACnF,mFAAmF;IACnF,gFAAgF;IAChF,kDAAkD;IAClD,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,0CAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,CAAC,CAAC;QACrD,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,kBAAkB,MAAK,IAAI,EAAE,CAAC;YACzC,uFAAuF;YACvF,KAAK,CAAC,IAAI,CAAC;gBACT,eAAe,EAAG,CAAC;gBACnB,KAAK,EAAa,uBAAuB;gBACzC,UAAU,EAAQ,IAAI,CAAC,QAAkB;gBACzC,cAAc,EAAI,UAAU;aAC7B,CAAC,CAAC;YAEH,mEAAmE;YACnE,iDAAiD;YACjD,MAAM,SAAS,GAAI,OAAe,CAAC,SAA+B,CAAC;YACnE,IAAI,YAAY,GAAG,KAAK,CAAC;YACzB,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,gBAAgB,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpD,YAAY,GAAG,mBAAmB,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;YACpE,CAAC;YAED,qDAAqD;YACrD,EAAE;YACF,oEAAoE;YACpE,4DAA4D;YAC5D,EAAE;YACF,6BAA6B;YAC7B,yDAAyD;YACzD,oEAAoE;YACpE,gDAAgD;YAChD,oEAAoE;YACpE,4DAA4D;YAC5D,gEAAgE;YAChE,sEAAsE;YACtE,qEAAqE;YACrE,MAAM,mBAAmB,GAAG,iBAAiB,IAAI,CAAC,YAAY,CAAC;YAC/D,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACzB,MAAM,mBAAmB,GAAG,oDAAoD,CAAC;gBACjF,KAAK,CAAC,IAAI,CAAC;oBACT,eAAe,EAAG,CAAC;oBACnB,KAAK,EAAa,qBAAqB;oBACvC,UAAU,EAAQ,mBAAmB;oBACrC,cAAc,EAAI,UAAU;iBAC7B,CAAC,CAAC;YACL,CAAC;YAED,6DAA6D;YAC7D,0EAA0E;YAC1E,yEAAyE;YACzE,uEAAuE;YACvE,yEAAyE;YACzE,EAAE;YACF,wEAAwE;YACxE,yDAAyD;YACzD,EAAE;YACF,iEAAiE;YACjE,oEAAoE;YACpE,2BAA2B;YAC3B,IAAI,YAAY,IAAI,SAAS,EAAE,CAAC;gBAC9B,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9C,iEAAiE;gBACjE,+DAA+D;gBAC/D,KAAK,CAAC,IAAI,CAAC;oBACT,eAAe,EAAG,CAAC;oBACnB,KAAK,EAAa,kBAAkB;oBACpC,UAAU,EAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,aAAa,EAAE;oBACrD,cAAc,EAAI,YAAY;iBAC/B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,uEAAuE;IACvE,EAAE;IACF,2FAA2F;IAC3F,+FAA+F;IAC/F,oFAAoF;IACpF,8FAA8F;IAC9F,+FAA+F;IAC/F,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,0CAAG,YAAY,CAAC,CAAC;IAC3D,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,CAAC;YAClC,MAAM,kBAAkB,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,KAAK,CAAC,CAAC;YAC5C,IAAI,kBAAkB,EAAE,CAAC;gBACvB,mDAAmD;gBACnD,KAAK,CAAC,IAAI,CAAC;oBACT,eAAe,EAAG,CAAC;oBACnB,KAAK,EAAa,qBAAqB;oBACvC,UAAU,EAAQ,kBAAkB;oBACpC,cAAc,EAAI,UAAU;iBAC7B,CAAC,CAAC;gBAEH,0DAA0D;gBAC1D,6EAA6E;gBAC7E,2EAA2E;gBAC3E,qEAAqE;gBACrE,qEAAqE;gBACrE,mDAAmD;gBACnD,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAA8B,CAAC;gBACrD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;oBAC1C,KAAK,CAAC,IAAI,CAAC;wBACT,eAAe,EAAI,CAAC;wBACpB,KAAK,EAAc,qBAAqB;wBACxC,UAAU,EAAS,GAAG,kBAAkB,IAAI,QAAQ,EAAE;wBACtD,cAAc,EAAK,UAAU;wBAC7B,gBAAgB,EAAG,kBAAkB;qBACtC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,wEAAwE;IACxE,sEAAsE;IACtE,gFAAgF;IAChF,MAAM,IAAI,GAAI,OAAe,CAAC,aAAa,CAAC;IAC5C,IAAI,IAAI,KAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,CAAA,EAAE,CAAC;QAC9B,gEAAgE;QAChE,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,SAAS,0CAAE,OAAO,CAAC;QACxC,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CACxB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CACpD,CAAC;gBACF,MAAM,YAAY,GAAG,OAAO,CAAC,YAAkC,CAAC;gBAChE,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChC,4CAA4C;oBAC5C,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAC/C,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;oBAC1D,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACjD,IAAI,YAAY,EAAE,CAAC;wBACjB,6EAA6E;wBAC7E,KAAK,CAAC,IAAI,CAAC;4BACT,eAAe,EAAG,CAAC;4BACnB,KAAK,EAAa,yBAAyB;4BAC3C,UAAU,EAAQ,YAAY;4BAC9B,cAAc,EAAI,UAAU;yBAC7B,CAAC,CAAC;wBAEH,qDAAqD;wBACrD,qEAAqE;wBACrE,qEAAqE;wBACrE,MAAM,gBAAgB,GAAG,YAAY,CAAC,SAAS,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;wBAClE,+DAA+D;wBAC/D,8DAA8D;wBAC9D,4DAA4D;wBAC5D,uBAAuB;wBACvB,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;wBACjD,MAAM,gBAAgB,GAAI,OAAe,CAAC,SAA+B,CAAC;wBAE1E,IAAI,aAAa,EAAE,CAAC;4BAClB,sCAAsC;4BACtC,MAAM,UAAU,GAA4B;gCAC1C,SAAS,EAAW,SAAS;gCAC7B,MAAM,EAAc,OAAO;gCAC3B,QAAQ,EAAY,YAAY;gCAChC,YAAY,EAAQ,gBAAgB;gCACpC,SAAS,EAAW,aAAa;gCACjC,iBAAiB,EAAG,IAAI;6BACzB,CAAC;4BAEF,oEAAoE;4BACpE,oEAAoE;4BACpE,kEAAkE;4BAClE,IAAI,gBAAgB,EAAE,CAAC;gCACrB,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gCAC7D,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;oCACtB,MAAM,eAAe,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oCACpD,MAAM,aAAa,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oCACxE,IAAI,aAAa,EAAE,CAAC;wCAClB,UAAU,CAAC,SAAS,GAAG,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,GAAG,QAAQ,EAAE,CAAC;oCAC9E,CAAC;gCACH,CAAC;4BACH,CAAC;4BAED,6DAA6D;4BAC7D,iEAAiE;4BACjE,MAAM,aAAa,GAAG,UAAU,CAAC,SAAS;gCACxC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;4BACxD,KAAK,CAAC,IAAI,CAAC;gCACT,eAAe,EAAI,CAAC;gCACpB,KAAK,EAAc,yBAAyB;gCAC5C,UAAU,EAAS,GAAG,YAAY,IAAI,gBAAgB,IAAI,aAAa,IAAI,aAAa,EAAE;gCAC1F,cAAc,EAAK,QAAQ;gCAC3B,gBAAgB,EAAG,YAAY;gCAC/B,MAAM,EAAa,UAAU;6BAC9B,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,WAAM,CAAC;gBACP,wCAAwC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,UAAgB,eAAe,CACnC,OAAuB,EACvB,YAA0B,EAC1B,KAAgB,EAChB,OAAiC;;;QAEjC,0DAA0D;QAC1D,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1C,OAAO;gBACL,QAAQ,EAAS,IAAI;gBACrB,cAAc,EAAG,GAAG;gBACpB,KAAK,EAAY,EAAE;gBACnB,KAAK,EAAY,CAAC;aACnB,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAA4B,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,kEAAkE;QAClE,MAAM,KAAK,GAAqB,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAErB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,YAAY,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrC,OAAO;oBACL,QAAQ,EAAS,KAAK;oBACtB,cAAc,EAAG,OAAO;oBACxB,KAAK,EAAY,QAAQ;oBACzB,OAAO,EAAU;wBACf,IAAI,EAAK,kBAAkB,CAAC,aAAa;wBACzC,IAAI,EAAK,EAAE,eAAe,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,cAAc,EAAE,YAAY,EAAE;wBAC/G,MAAM,EAAG,2CAA2C,OAAO,CAAC,QAAQ,EAAE;qBACvE;oBACD,KAAK,EAAE,YAAY;iBACpB,CAAC;YACJ,CAAC;YAED,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;YAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;gBAE/B,+DAA+D;gBAC/D,mEAAmE;gBACnE,iEAAiE;gBACjE,MAAM,cAAc,GAAG,MAAM,YAAY,CACvC,mBAAmB,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAC5G,CAAC;gBACF,IAAI,cAAc,EAAE,CAAC;oBAAC,OAAO,cAAc,CAAC;gBAAC,CAAC,CAAC,iBAAiB;gBAEhE,MAAM,WAAW,GAAG,OAAO,CAAC,UAAqC,CAAC;gBAClE,MAAM,eAAe,GAAG,WAAW,CAAC,QAA8B,CAAC;gBACnE,MAAM,iBAAiB,GAAG,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACnG,MAAM,WAAW,GAAG,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,UAAU,0CAAE,UAA4C,CAAC;gBAEhG,MAAM,eAAe,GAAG;oBACtB,GAAG,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC;oBAC5C,GAAG,wBAAwB,CAAC,OAAO,CAAC;iBACrC,CAAC;gBAEF,MAAM,gBAAgB,GAAG,MAAM,YAAY,CACzC,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAC/F,CAAC;gBACF,IAAI,gBAAgB,EAAE,CAAC;oBAAC,OAAO,gBAAgB,CAAC;gBAAC,CAAC,CAAC,iBAAiB;gBAEpE,uEAAuE;gBACvE,0CAA0C;gBAC1C,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,eAAe,GAAG,wBAAwB,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;oBAClG,MAAM,WAAW,GAAG,MAAM,YAAY,CACpC,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAC/F,CAAC;oBACF,IAAI,WAAW,EAAE,CAAC;wBAAC,OAAO,WAAW,CAAC;oBAAC,CAAC;gBAC1C,CAAC;gBAED,uEAAuE;gBACvE,uCAAuC;gBACvC,oEAAoE;gBACpE,wEAAwE;gBACxE,wFAAwF;gBACxF,oEAAoE;gBACpE,+CAA+C;gBAC/C,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;oBACvB,MAAM,gBAAgB,GAAG,qBAAqB,CAC5C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,CAClD,CAAC;oBACF,IAAI,gBAAgB,EAAE,CAAC;wBAAC,OAAO,gBAAgB,CAAC;oBAAC,CAAC;gBACpD,CAAC;YACH,CAAC;YAED,YAAY,EAAE,CAAC;QACjB,CAAC;QAED,OAAO;YACL,QAAQ,EAAS,IAAI;YACrB,cAAc,EAAG,OAAO;YACxB,KAAK,EAAY,QAAQ;YACzB,KAAK,EAAY,YAAY;SAC9B,CAAC;IACJ,CAAC;CAAA;AAED;;GAEG;AACH,MAAM,UAAgB,oBAAoB,CACxC,QAA0B,EAC1B,YAA0B,EAC1B,KAAgB,EAChB,SAAiB,EACjB,QAAiB;;QAEjB,MAAM,OAAO,GAAG,oBAAoB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAoB,EAAE,CAAC;QAEpC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CAAA;AAED,8EAA8E;AAC9E,mCAAmC;AACnC,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,SAAS,qBAAqB,CAC5B,OAAuB,EACvB,QAAiC,EACjC,OAAiC,EACjC,OAAe,EACf,YAAoB;;IAEpB,gDAAgD;IAChD,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,iBAAiB,CAAC,CAAC;IACpE,IAAI,CAAC,SAAS,EAAE,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC,CAAC,iBAAiB;IAElD,MAAM,gBAAgB,GAAI,OAAO,CAAC,UAAkB,CAAC,gBAA0B,CAAC;IAChF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAEvC,oDAAoD;IACpD,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACjE,IAAI,CAAC,WAAW,EAAE,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC,CAAC,qDAAqD;IAExF,iCAAiC;IACjC,4EAA4E;IAC5E,MAAM,WAAW,GAAI,WAAW,CAAC,UAAkB,CAAC,WAAiC,CAAC;IACtF,+DAA+D;IAC/D,IAAI,WAA+B,CAAC;IACpC,MAAM,WAAW,GAAI,WAAmB,CAAC,WAAiC,CAAC;IAC3E,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YACtF,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;QACtC,CAAC;QAAC,QAAQ,yBAAyB,IAA3B,CAAC,CAAC,yBAAyB,CAAC,CAAC;IACvC,CAAC;IAED,+BAA+B;IAC/B,IAAI,WAAW,IAAI,gBAAgB,GAAG,WAAW,EAAE,CAAC;QAClD,OAAO;YACL,QAAQ,EAAS,KAAK;YACtB,cAAc,EAAG,OAAO;YACxB,KAAK,EAAY,QAAQ;YACzB,OAAO,EAAU;gBACf,IAAI,EAAK,kBAAkB,CAAC,iBAAiB;gBAC7C,IAAI,EAAK,SAAS;gBAClB,MAAM,EAAG,UAAU,SAAS,CAAC,UAAU,4CAA4C,gBAAgB,kBAAkB,WAAW,GAAG;aACpI;YACD,KAAK,EAAE,YAAY;SACpB,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,IAAI,WAAW,IAAI,gBAAgB,IAAI,WAAW,EAAE,CAAC;QACnD,OAAO;YACL,QAAQ,EAAS,KAAK;YACtB,cAAc,EAAG,OAAO;YACxB,KAAK,EAAY,QAAQ;YACzB,OAAO,EAAU;gBACf,IAAI,EAAK,kBAAkB,CAAC,YAAY;gBACxC,IAAI,EAAK,SAAS;gBAClB,MAAM,EAAG,UAAU,SAAS,CAAC,UAAU,gBAAgB,WAAW,0BAA0B,gBAAgB,EAAE;aAC/G;YACD,KAAK,EAAE,YAAY;SACpB,CAAC;IACJ,CAAC;IAED,uDAAuD;IACvD,MAAM,kBAAkB,GAAG,cAAc,SAAS,CAAC,UAAU,EAAE,CAAC;IAChE,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACpE,IAAI,gBAAgB,IAAK,gBAAgB,CAAC,UAAkB,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;QACvF,MAAM,mBAAmB,GAAI,gBAAgB,CAAC,UAAkB,CAAC,gBAA0B,CAAC;QAC5F,IAAI,mBAAmB,IAAI,mBAAmB,IAAI,gBAAgB,EAAE,CAAC;YACnE,OAAO;gBACL,QAAQ,EAAS,KAAK;gBACtB,cAAc,EAAG,OAAO;gBACxB,KAAK,EAAY,QAAQ;gBACzB,OAAO,EAAU;oBACf,IAAI,EAAK,kBAAkB,CAAC,sBAAsB;oBAClD,IAAI,EAAK,MAAA,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,iBAAiB,CAAC,mCAAI,SAAS;oBACvE,MAAM,EAAG,UAAU,SAAS,CAAC,UAAU,oBAAoB,mBAAmB,8BAA8B,gBAAgB,EAAE;iBAC/H;gBACD,KAAK,EAAE,YAAY;aACpB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC,CAAC,6BAA6B;AAC5C,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;GAGG;AACH,SAAe,YAAY,CACzB,KAA8B,EAC9B,QAAiC,EACjC,YAA0B,EAC1B,KAAgB,EAChB,OAAiC,EACjC,OAAoB,EACpB,KAAuB,EACvB,OAAe,EACf,YAAoB;;QAEpB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEpB,yEAAyE;YACzE,yEAAyE;YACzE,uDAAuD;YACvD,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC/C,IAAI,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAAC,SAAS;YAAC,CAAC;YACpD,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpC,OAAO;oBACL,QAAQ,EAAS,KAAK;oBACtB,cAAc,EAAG,OAAO;oBACxB,KAAK,EAAY,QAAQ;oBACzB,OAAO,EAAU;wBACf,IAAI,EAAK,oBAAoB,CAAC,IAAI,CAAC;wBACnC,IAAI;wBACJ,MAAM,EAAG,eAAe,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,UAAU,cAAc;qBACtE;oBACD,KAAK,EAAE,YAAY;iBACpB,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;YACtE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAChC,OAAO;oBACL,QAAQ,EAAS,KAAK;oBACtB,cAAc,EAAG,OAAO;oBACxB,KAAK,EAAY,QAAQ;oBACzB,OAAO,EAAU;wBACf,IAAI,EAAK,oBAAoB,CAAC,IAAI,CAAC;wBACnC,IAAI;wBACJ,MAAM,EAAG,eAAe,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,UAAU,qBAAqB;qBAC7E;oBACD,KAAK,EAAE,YAAY;iBACpB,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,2BAA2B,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;gBACxD,OAAO;oBACL,QAAQ,EAAS,KAAK;oBACtB,cAAc,EAAG,OAAO;oBACxB,KAAK,EAAY,QAAQ;oBACzB,OAAO,EAAU;wBACf,IAAI,EAAK,kBAAkB,CAAC,mBAAmB;wBAC/C,IAAI;wBACJ,MAAM,EAAG,eAAe,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,UAAU,qCAAqC;qBAC7F;oBACD,KAAK,EAAE,YAAY;iBACpB,CAAC;YACJ,CAAC;YAED,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAElC,6EAA6E;YAC7E,iFAAiF;YACjF,qDAAqD;YACrD,wEAAwE;YACxE,gFAAgF;YAChF,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,KAAK,SAAS;gBACjC,IAAI,CAAC,cAAc,KAAK,QAAQ;gBAChC,IAAI,CAAC,KAAK,KAAK,kBAAkB,CAAC;YACpD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACnD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC9B,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBACzB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,CAAC,mCAAmC;IAClD,CAAC;CAAA;AAED,SAAS,kBAAkB,CAAC,IAA2B,EAAE,KAAgB;IACvE,MAAM,uBAAuB,GAAG,IAAI,CAAC,gBAAgB,KAAK,SAAS;QACjE,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,oBAAoB,IAAI,CAAC,gBAAgB,GAAG,CAAC;IACjD,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,uBAAuB,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;AACrH,CAAC;AAED,SAAS,aAAa,CAAC,KAAgB;IACrC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACjC,OAAO,eAAe,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;IACzD,CAAC;IAED,OAAO,qBAAqB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC1G,CAAC;AAED,SAAS,2BAA2B,CAClC,IAA2B,EAC3B,QAAwB,EACxB,KAAgB;IAEhB,IAAI,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0EAA0E;IAC1E,6EAA6E;IAC7E,IAAI,IAAI,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,kBAAkB,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,gBAAgB,CAAC;IAChE,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,KAAK,kBAAkB,EAAE,CAAC;QACtC,OAAO,6BAA6B,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,wBAAwB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,KAAK,UAAU,CAAC;AAC/E,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAuB;IACpD,OAAQ,OAAO,CAAC,UAAsC,CAAC,SAAS,KAAK,WAAW,CAAC;AACnF,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAuB;IACjD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAqC,CAAC;IACjE,OAAO,OAAO,UAAU,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACnF,CAAC;AAED,SAAS,6BAA6B,CACpC,IAA2B,EAC3B,OAAuB,EACvB,KAAgB;IAEhB,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAE3C,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClD,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;IAExC,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IAClE,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAqC,CAAC;IACjE,MAAM,IAAI,GAAG,UAAU,CAAC,IAA2C,CAAC;IAEpE,MAAM,kBAAkB,GAAG,UAAU,CAAC,SAAS,KAAK,SAAS;QAC3D,UAAU,CAAC,MAAM,KAAK,OAAO;QAC7B,UAAU,CAAC,QAAQ,KAAK,oDAAoD;QAC5E,UAAU,CAAC,YAAY,KAAK,YAAY;QACxC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,MAAK,cAAc;QACjC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,MAAK,aAAa,CAAC;IACpC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,sBAAsB,CAAC,OAAO,CAAC,UAAU,EAAE;YAChF,QAAQ,EAAI,cAAc;YAC1B,SAAS,EAAG,aAAa;SAC1B,CAAC,CAAC,CAAC;IACN,CAAC;IAED,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACtD,OAAO,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,QAAQ,CAAC,cAAc,CAAC,MAAK,IAAI,CAAC;AAC7D,CAAC;AAED;;;GAGG;AACH,SAAe,iBAAiB,CAC9B,IAA2B,EAC3B,YAA0B,EAC1B,OAAiC;;;QAEjC,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5B,KAAK,UAAU,CAAC,CAAC,CAAC;gBAClB,qBAAqB;gBACnB,IAAI,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC/C,OAAO,MAAA,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,mCAAI,IAAI,CAAC;gBAC5D,CAAC;gBACD,gCAAgC;gBAChC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;wBAChE,SAAS,EAAW,WAAW;wBAC/B,MAAM,EAAc,WAAW;wBAC/B,QAAQ,EAAY,IAAI,CAAC,UAAU;wBACnC,iBAAiB,EAAG,IAAI;qBACzB,CAAC,CAAC,CAAC;gBACJ,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACvD,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBAClD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,IAAI,IAAI,CAAC,KAAK,KAAK,cAAc,EAAE,CAAC;oBACpC,kEAAkE;oBAClE,gEAAgE;oBAChE,qEAAqE;oBACnE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;4BAC3E,OAAO,EAAE,IAAI,CAAC,UAAU;yBACzB,CAAC,CAAC,CAAC;oBACJ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;oBAAC,CAAC;oBAElD,4DAA4D;oBAC5D,+DAA+D;oBAC/D,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;4BAC5E,SAAS,EAAW,SAAS;4BAC7B,MAAM,EAAc,OAAO;4BAC3B,QAAQ,EAAY,IAAI,CAAC,UAAU;4BACnC,iBAAiB,EAAG,KAAK;yBAC1B,CAAC,CAAC,CAAC;oBACJ,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACtD,CAAC;gBAED,mEAAmE;gBACnE,uDAAuD;gBACvD,IAAI,IAAI,CAAC,KAAK,KAAK,qBAAqB,EAAE,CAAC;oBACzC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAC7C,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;wBAChB,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;wBAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;wBAC3D,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gCAC5E,SAAS,EAAW,SAAS;gCAC7B,MAAM,EAAc,OAAO;gCAC3B,QAAQ,EAAY,WAAW;gCAC/B,QAAQ,EAAY,WAAW;gCAC/B,iBAAiB,EAAG,IAAI;6BACzB,CAAC,CAAC,CAAC;wBACJ,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACtD,CAAC;gBACH,CAAC;gBAED,gFAAgF;gBAChF,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;wBAChE,SAAS,EAAW,SAAS;wBAC7B,QAAQ,EAAY,IAAI,CAAC,UAAU;wBACnC,iBAAiB,EAAG,IAAI;qBACzB,CAAC,CAAC,CAAC;gBACJ,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAClD,CAAC;YAED,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,IAAI,IAAI,CAAC,KAAK,KAAK,iBAAiB,EAAE,CAAC;oBACvC,oEAAoE;oBACpE,sEAAsE;oBACtE,gEAAgE;oBAChE,oEAAoE;oBAClE,MAAM,QAAQ,GAAG,cAAc,IAAI,CAAC,UAAU,EAAE,CAAC;oBACjD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACrC,OAAO,MAAA,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,mCAAI,IAAI,CAAC;oBAClD,CAAC;oBACD,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;4BAC7E,SAAS,EAAW,SAAS;4BAC7B,MAAM,EAAc,OAAO;4BAC3B,QAAQ,EAAY,6CAA6C;4BACjE,QAAQ,EAAY,IAAI,CAAC,UAAU;4BACnC,YAAY,EAAQ,kBAAkB;4BACtC,iBAAiB,EAAG,IAAI;yBACzB,CAAC,CAAC,CAAC;oBACJ,yEAAyE;oBACzE,+DAA+D;oBAC/D,uEAAuE;oBACvE,6DAA6D;oBAC7D,gFAAgF;oBAChF,gFAAgF;oBAChF,8BAA8B;oBAC9B,IAAI,gBAA4C,CAAC;oBACjD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;wBAC9B,MAAM,KAAK,GAAI,GAAG,CAAC,UAAkB,CAAC,gBAA0B,CAAC;wBACjE,IAAI,CAAC,gBAAgB,IAAI,KAAK,GAAI,gBAAgB,CAAC,UAAkB,CAAC,gBAAgB,EAAE,CAAC;4BACvF,gBAAgB,GAAG,GAAG,CAAC;wBACzB,CAAC;oBACH,CAAC;oBAED,MAAM,oBAAoB,GAAG,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,EAAS,CAAC;oBACvG,MAAM,MAAM,GAAG,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,oBAAoB,CAAC;oBACxD,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;oBACzC,OAAO,MAAM,CAAC;gBAChB,CAAC;gBAED,uBAAuB;gBACvB,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC5C,OAAO,MAAA,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,mCAAI,IAAI,CAAC;gBACzD,CAAC;gBACD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;wBAChE,SAAS,EAAW,SAAS;wBAC7B,MAAM,EAAc,OAAO;wBAC3B,QAAQ,EAAY,6CAA6C;wBACjE,YAAY,EAAQ,OAAO;wBAC3B,QAAQ,EAAY,IAAI,CAAC,UAAU;wBACnC,iBAAiB,EAAG,IAAI;qBACzB,CAAC,CAAC,CAAC;gBACJ,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACvD,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBAC/C,OAAO,KAAK,CAAC;YACf,CAAC;YAED,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,qEAAqE;gBACrE,uEAAuE;gBACvE,uDAAuD;gBACvD,IAAI,IAAI,CAAC,KAAK,KAAK,kBAAkB,EAAE,CAAC;oBACtC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAClD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;wBACrB,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;wBAClE,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;wBAClE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gCAC7E,SAAS,EAAS,SAAS;gCAC3B,MAAM,EAAY,OAAO;gCACzB,QAAQ,EAAU,oDAAoD;gCACtE,YAAY,EAAM,YAAY;gCAC9B,cAAc,EAAI,cAAc;gCAChC,eAAe,EAAG,aAAa;6BACzB,CAAC,CAAC,CAAC;wBACX,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;wBAAC,CAAC;wBACtD,uEAAuE;wBACvE,yEAAyE;wBACzE,oEAAoE;wBACpE,wDAAwD;wBACxD,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;gBACD,OAAO,MAAA,MAAM,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,mCAAI,IAAI,CAAC;YAC5E,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,sEAAsE;gBACtE,oEAAoE;gBACpE,2DAA2D;gBAC3D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBAAC,OAAO,IAAI,CAAC;gBAAC,CAAC;gBAClC,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,MAAM,YAAY,CAAC,KAAK,CAC1D,OAAO,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,MAAa,CAAC,CACxC,CAAC;gBACF,OAAO,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5D,CAAC;YAED;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;CAAA;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,IAA2B;IACvD,QAAQ,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7B,KAAK,CAAC,CAAC,CAAC,OAAO,kBAAkB,CAAC,uBAAuB,CAAC;QAC1D,KAAK,CAAC;YACJ,IAAI,IAAI,CAAC,KAAK,KAAK,cAAc,EAAE,CAAC;gBAAC,OAAO,kBAAkB,CAAC,mBAAmB,CAAC;YAAC,CAAC;YACrF,IAAI,IAAI,CAAC,KAAK,KAAK,cAAc,EAAE,CAAC;gBAAC,OAAO,kBAAkB,CAAC,kBAAkB,CAAC;YAAC,CAAC;YACpF,IAAI,IAAI,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;gBAAC,OAAO,kBAAkB,CAAC,mBAAmB,CAAC;YAAC,CAAC;YACpF,OAAO,kBAAkB,CAAC,kBAAkB,CAAC;QAC/C,KAAK,CAAC;YACJ,IAAI,IAAI,CAAC,KAAK,KAAK,iBAAiB,EAAE,CAAC;gBAAC,OAAO,kBAAkB,CAAC,YAAY,CAAC;YAAC,CAAC;YACjF,OAAO,kBAAkB,CAAC,sBAAsB,CAAC;QACnD,KAAK,CAAC;YACJ,IAAI,IAAI,CAAC,KAAK,KAAK,mBAAmB,EAAE,CAAC;gBAAC,OAAO,kBAAkB,CAAC,sBAAsB,CAAC;YAAC,CAAC;YAC7F,OAAO,kBAAkB,CAAC,sBAAsB,CAAC;QACnD,KAAK,CAAC,CAAC,CAAC,OAAO,kBAAkB,CAAC,2BAA2B,CAAC;QAC9D,KAAK,CAAC,CAAC,CAAC,OAAO,kBAAkB,CAAC,6BAA6B,CAAC;QAChE,OAAO,CAAC,CAAC,OAAO,kBAAkB,CAAC,mBAAmB,CAAC;IACzD,CAAC;AACH,CAAC"}
|
|
@@ -15,7 +15,7 @@ export var ClosureFailureCode;
|
|
|
15
15
|
ClosureFailureCode["ParentChainMissing"] = "ClosureParentChainMissing";
|
|
16
16
|
/** Class 2: A context ancestor record is missing. */
|
|
17
17
|
ClosureFailureCode["ContextChainMissing"] = "ClosureContextChainMissing";
|
|
18
|
-
/** Class 3: A permission grant referenced by
|
|
18
|
+
/** Class 3: A permission grant referenced by a grant invocation is missing. */
|
|
19
19
|
ClosureFailureCode["GrantMissing"] = "ClosureGrantMissing";
|
|
20
20
|
/** Class 3: The grant exists but is not yet active at the message's timestamp. */
|
|
21
21
|
ClosureFailureCode["GrantNotYetActive"] = "ClosureGrantNotYetActive";
|
|
@@ -34,6 +34,16 @@ export var ClosureFailureCode;
|
|
|
34
34
|
/** Traversal depth exceeded the configured maximum (default 32). */
|
|
35
35
|
ClosureFailureCode["DepthExceeded"] = "ClosureDepthExceeded";
|
|
36
36
|
})(ClosureFailureCode || (ClosureFailureCode = {}));
|
|
37
|
+
const TERMINAL_CLOSURE_FAILURE_CODES = new Set([
|
|
38
|
+
ClosureFailureCode.DependencyForbidden,
|
|
39
|
+
ClosureFailureCode.GrantExpired,
|
|
40
|
+
ClosureFailureCode.GrantNotYetActive,
|
|
41
|
+
ClosureFailureCode.GrantRevocationMissing,
|
|
42
|
+
]);
|
|
43
|
+
/** Returns true when repair cannot make the closure failure complete. */
|
|
44
|
+
export function isTerminalClosureFailureCode(failureCode) {
|
|
45
|
+
return TERMINAL_CLOSURE_FAILURE_CODES.has(failureCode);
|
|
46
|
+
}
|
|
37
47
|
/**
|
|
38
48
|
* Create a fresh evaluation context for a batch of closure evaluations.
|
|
39
49
|
*/
|
|
@@ -78,19 +88,19 @@ export function invalidateClosureCache(context, message) {
|
|
|
78
88
|
if (protocolPath === 'grant' && recordId) {
|
|
79
89
|
// Grant write → invalidate the grant cache and dep keys.
|
|
80
90
|
context.grantCache.delete(recordId);
|
|
81
|
-
context.satisfiedDeps
|
|
82
|
-
context.missingDeps
|
|
91
|
+
deleteDependencyCacheEntries(context.satisfiedDeps, `permissionGrant:grantId:${recordId}`);
|
|
92
|
+
deleteDependencyCacheEntries(context.missingDeps, `permissionGrant:grantId:${recordId}`);
|
|
83
93
|
}
|
|
84
94
|
if (protocolPath === 'grant/revocation') {
|
|
85
95
|
// Revocation write → invalidate revocation cache and both dep keys.
|
|
86
96
|
const parentId = desc.parentId;
|
|
87
97
|
if (parentId) {
|
|
88
98
|
context.grantCache.delete(`revocation:${parentId}`);
|
|
89
|
-
context.satisfiedDeps
|
|
90
|
-
context.missingDeps
|
|
99
|
+
deleteDependencyCacheEntries(context.satisfiedDeps, `grantRevocation:grantId:${parentId}`);
|
|
100
|
+
deleteDependencyCacheEntries(context.missingDeps, `grantRevocation:grantId:${parentId}`);
|
|
91
101
|
// Also invalidate the grant itself since its revocation state changed.
|
|
92
|
-
context.satisfiedDeps
|
|
93
|
-
context.missingDeps
|
|
102
|
+
deleteDependencyCacheEntries(context.satisfiedDeps, `permissionGrant:grantId:${parentId}`);
|
|
103
|
+
deleteDependencyCacheEntries(context.missingDeps, `permissionGrant:grantId:${parentId}`);
|
|
94
104
|
}
|
|
95
105
|
}
|
|
96
106
|
}
|
|
@@ -187,4 +197,11 @@ export function invalidateClosureCache(context, message) {
|
|
|
187
197
|
}
|
|
188
198
|
}
|
|
189
199
|
}
|
|
200
|
+
function deleteDependencyCacheEntries(cache, dependencyKeySuffix) {
|
|
201
|
+
for (const key of cache) {
|
|
202
|
+
if (key.endsWith(dependencyKeySuffix)) {
|
|
203
|
+
cache.delete(key);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
190
207
|
//# sourceMappingURL=sync-closure-types.js.map
|