@happyvertical/smrt-ingestion 0.0.0-stage → 0.55.5
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/AGENTS.md +33 -0
- package/CLAUDE.md +1 -0
- package/EXTRACTION.md +120 -0
- package/LICENSE +7 -0
- package/README.md +147 -2
- package/dist/__smrt-register__.d.ts +2 -0
- package/dist/__smrt-register__.d.ts.map +1 -0
- package/dist/chunks/extraction-providers-C66ADDVe.js +433 -0
- package/dist/chunks/extraction-providers-C66ADDVe.js.map +1 -0
- package/dist/dto.d.ts +53 -0
- package/dist/dto.d.ts.map +1 -0
- package/dist/dto.js +0 -0
- package/dist/execution-contracts.d.ts +128 -0
- package/dist/execution-contracts.d.ts.map +1 -0
- package/dist/execution-dto.d.ts +70 -0
- package/dist/execution-dto.d.ts.map +1 -0
- package/dist/execution.d.ts +56 -0
- package/dist/execution.d.ts.map +1 -0
- package/dist/execution.js +7615 -0
- package/dist/execution.js.map +1 -0
- package/dist/extraction-providers.d.ts +35 -0
- package/dist/extraction-providers.d.ts.map +1 -0
- package/dist/extraction-types.d.ts +94 -0
- package/dist/extraction-types.d.ts.map +1 -0
- package/dist/extraction-worker.d.ts +2 -0
- package/dist/extraction-worker.d.ts.map +1 -0
- package/dist/extraction-worker.js +81 -0
- package/dist/extraction-worker.js.map +1 -0
- package/dist/extraction.d.ts +49 -0
- package/dist/extraction.d.ts.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/manifest.json +4091 -0
- package/dist/models.d.ts +186 -0
- package/dist/models.d.ts.map +1 -0
- package/dist/models.js +923 -0
- package/dist/models.js.map +1 -0
- package/dist/policy.d.ts +46 -0
- package/dist/policy.d.ts.map +1 -0
- package/dist/server.d.ts +168 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +1758 -0
- package/dist/server.js.map +1 -0
- package/dist/smrt-knowledge.json +1605 -0
- package/dist/sources/common.d.ts +32 -0
- package/dist/sources/common.d.ts.map +1 -0
- package/dist/sources/email.d.ts +40 -0
- package/dist/sources/email.d.ts.map +1 -0
- package/dist/sources/http.d.ts +30 -0
- package/dist/sources/http.d.ts.map +1 -0
- package/dist/sources/index.d.ts +8 -0
- package/dist/sources/index.d.ts.map +1 -0
- package/dist/sources/watch-folder.d.ts +27 -0
- package/dist/sources/watch-folder.d.ts.map +1 -0
- package/package.json +80 -3
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import type { PrincipalRun } from '@happyvertical/smrt-agents';
|
|
2
|
+
import type { CapabilityDeclaration } from '@happyvertical/smrt-types';
|
|
3
|
+
import type { DatabaseInterface } from '@happyvertical/sql';
|
|
4
|
+
import type { ExecutionCeiling, IntakeValues } from './execution-dto.js';
|
|
5
|
+
import type { IntakePolicy, IntakePolicyLayer } from './policy.js';
|
|
6
|
+
import type { IngestionScope } from './server.js';
|
|
7
|
+
export type * from './execution-dto.js';
|
|
8
|
+
export interface HandlerContext {
|
|
9
|
+
db: DatabaseInterface;
|
|
10
|
+
scope: Readonly<IngestionScope>;
|
|
11
|
+
itemId: string;
|
|
12
|
+
principal?: PrincipalRun;
|
|
13
|
+
policy: Readonly<IntakePolicy>;
|
|
14
|
+
/** Must check current tenant/confidential ownership and optionally CAS revision. */
|
|
15
|
+
assertTarget(model: string, id: string, revision?: string): Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
export interface HandlerPreview {
|
|
18
|
+
display: IntakeValues;
|
|
19
|
+
normalizedArgs: IntakeValues;
|
|
20
|
+
targetPreconditions: Array<{
|
|
21
|
+
model: string;
|
|
22
|
+
id: string;
|
|
23
|
+
revision: string;
|
|
24
|
+
}>;
|
|
25
|
+
}
|
|
26
|
+
interface HandlerBase {
|
|
27
|
+
id: string;
|
|
28
|
+
version: string;
|
|
29
|
+
description: string;
|
|
30
|
+
argsSchema: IntakeValues;
|
|
31
|
+
resultSchema: IntakeValues;
|
|
32
|
+
/** Schema-allowlisted record-ID fields, never arbitrary expression values. */
|
|
33
|
+
resultModels: Record<string, string>;
|
|
34
|
+
preview(args: IntakeValues, context: HandlerContext): Promise<HandlerPreview>;
|
|
35
|
+
validate(args: IntakeValues, context: HandlerContext): Promise<{
|
|
36
|
+
ok: boolean;
|
|
37
|
+
}>;
|
|
38
|
+
}
|
|
39
|
+
export interface OperationHandler extends HandlerBase {
|
|
40
|
+
operation: {
|
|
41
|
+
model: string;
|
|
42
|
+
action: string;
|
|
43
|
+
version: string;
|
|
44
|
+
};
|
|
45
|
+
/** Explicit application adapter declaration; checked against registered model. */
|
|
46
|
+
capability: CapabilityDeclaration;
|
|
47
|
+
execution: {
|
|
48
|
+
kind: 'database';
|
|
49
|
+
apply(args: IntakeValues, context: HandlerContext): Promise<IntakeValues>;
|
|
50
|
+
} | {
|
|
51
|
+
kind: 'external';
|
|
52
|
+
submit(args: IntakeValues, context: HandlerContext, idempotencyKey: string): Promise<IntakeValues>;
|
|
53
|
+
reconcile(context: HandlerContext, idempotencyKey: string): Promise<{
|
|
54
|
+
kind: 'succeeded';
|
|
55
|
+
result: IntakeValues;
|
|
56
|
+
} | {
|
|
57
|
+
kind: 'not_applied';
|
|
58
|
+
} | {
|
|
59
|
+
kind: 'unknown';
|
|
60
|
+
}>;
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
export interface PlanHandler extends HandlerBase {
|
|
64
|
+
operation: {
|
|
65
|
+
playbookKey: string;
|
|
66
|
+
definitionHash: string;
|
|
67
|
+
};
|
|
68
|
+
expand(args: IntakeValues, definition: unknown): Promise<Array<{
|
|
69
|
+
stepIndex: number;
|
|
70
|
+
handlerId: string;
|
|
71
|
+
handlerVersion: string;
|
|
72
|
+
args: IntakeValues;
|
|
73
|
+
resultBindings: Record<string, {
|
|
74
|
+
stepIndex: number;
|
|
75
|
+
resultField: string;
|
|
76
|
+
expectedModel: string;
|
|
77
|
+
}>;
|
|
78
|
+
}>>;
|
|
79
|
+
}
|
|
80
|
+
export type IntakeHandler = OperationHandler | PlanHandler;
|
|
81
|
+
export interface ExecutionAccessInput {
|
|
82
|
+
db: DatabaseInterface;
|
|
83
|
+
scope: Readonly<IngestionScope>;
|
|
84
|
+
itemId: string;
|
|
85
|
+
capturedCeiling: Readonly<ExecutionCeiling>;
|
|
86
|
+
operation: 'preview' | 'review' | 'execute' | 'read' | 'reconcile';
|
|
87
|
+
handlerId: string;
|
|
88
|
+
}
|
|
89
|
+
/** Every callback is server configuration. It must never be deserialized from input. */
|
|
90
|
+
export interface IntakeExecutionOptions {
|
|
91
|
+
handlers: readonly IntakeHandler[];
|
|
92
|
+
/** Resolve current policy and grants using this exact executor. */
|
|
93
|
+
authorize(input: ExecutionAccessInput): Promise<{
|
|
94
|
+
allowed: boolean;
|
|
95
|
+
reviewer: boolean;
|
|
96
|
+
principalId: string;
|
|
97
|
+
permissions: string[];
|
|
98
|
+
policy: [
|
|
99
|
+
IntakePolicyLayer,
|
|
100
|
+
IntakePolicyLayer,
|
|
101
|
+
IntakePolicyLayer,
|
|
102
|
+
...IntakePolicyLayer[]
|
|
103
|
+
];
|
|
104
|
+
/** Host serializes/revalidates grant changes within this mutation boundary. */
|
|
105
|
+
mutationBoundary: 'serialized';
|
|
106
|
+
}>;
|
|
107
|
+
evaluateAutomatic?(input: {
|
|
108
|
+
bindingHash: string;
|
|
109
|
+
handlerId: string;
|
|
110
|
+
context: HandlerContext;
|
|
111
|
+
}): Promise<{
|
|
112
|
+
eligible: boolean;
|
|
113
|
+
evaluationVersion: string;
|
|
114
|
+
certainty: number;
|
|
115
|
+
}>;
|
|
116
|
+
/** Lock/serialize target ownership and revision checks with writers on this executor. */
|
|
117
|
+
assertTarget(input: {
|
|
118
|
+
db: DatabaseInterface;
|
|
119
|
+
scope: Readonly<IngestionScope>;
|
|
120
|
+
itemId: string;
|
|
121
|
+
model: string;
|
|
122
|
+
id: string;
|
|
123
|
+
revision?: string;
|
|
124
|
+
}): Promise<{
|
|
125
|
+
revision: string;
|
|
126
|
+
}>;
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=execution-contracts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-contracts.d.ts","sourceRoot":"","sources":["../src/execution-contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/** Browser-safe execution messages. Authority and handler callbacks live on the server. */
|
|
2
|
+
export type IntakeValues = Record<string, unknown>;
|
|
3
|
+
/** Captured by the authenticated source host, not by extracted content. */
|
|
4
|
+
export interface ExecutionCeiling {
|
|
5
|
+
principalId: string;
|
|
6
|
+
permissions: string[];
|
|
7
|
+
handlers: string[];
|
|
8
|
+
operations: string[];
|
|
9
|
+
}
|
|
10
|
+
export interface ResultReference {
|
|
11
|
+
actionId: string;
|
|
12
|
+
proposalRevision: number;
|
|
13
|
+
resultField: string;
|
|
14
|
+
expectedModel: string;
|
|
15
|
+
}
|
|
16
|
+
export interface PreviewProposalInput {
|
|
17
|
+
itemId: string;
|
|
18
|
+
actionId: string;
|
|
19
|
+
attemptId: string;
|
|
20
|
+
expectedRevision: number;
|
|
21
|
+
requestId: string;
|
|
22
|
+
handlerId: string;
|
|
23
|
+
handlerVersion: string;
|
|
24
|
+
args: IntakeValues;
|
|
25
|
+
dependencies?: Record<string, ResultReference>;
|
|
26
|
+
}
|
|
27
|
+
export interface ProposalReview {
|
|
28
|
+
actionId: string;
|
|
29
|
+
proposalId: string;
|
|
30
|
+
revision: number;
|
|
31
|
+
reviewVersion: number;
|
|
32
|
+
bindingHash: string;
|
|
33
|
+
display: IntakeValues;
|
|
34
|
+
state: string;
|
|
35
|
+
}
|
|
36
|
+
export interface ReviewInput {
|
|
37
|
+
actionId: string;
|
|
38
|
+
expectedRevision: number;
|
|
39
|
+
expectedReviewVersion: number;
|
|
40
|
+
bindingHash: string;
|
|
41
|
+
requestId: string;
|
|
42
|
+
decision: 'approve' | 'reject' | 'defer' | 'correct';
|
|
43
|
+
reason?: string;
|
|
44
|
+
correctedArgs?: IntakeValues;
|
|
45
|
+
}
|
|
46
|
+
export interface ActionResult {
|
|
47
|
+
state: 'succeeded' | 'failed' | 'outcome_unknown' | 'executing' | 'waiting_review';
|
|
48
|
+
actionId: string;
|
|
49
|
+
result?: IntakeValues;
|
|
50
|
+
resultDigest?: string;
|
|
51
|
+
tombstone?: boolean;
|
|
52
|
+
}
|
|
53
|
+
export interface PreviewPlanInput {
|
|
54
|
+
itemId: string;
|
|
55
|
+
attemptId: string;
|
|
56
|
+
planKey: string;
|
|
57
|
+
expectedRevision: number;
|
|
58
|
+
requestId: string;
|
|
59
|
+
handlerId: string;
|
|
60
|
+
handlerVersion: string;
|
|
61
|
+
args: IntakeValues;
|
|
62
|
+
}
|
|
63
|
+
export interface PlanReview {
|
|
64
|
+
id: string;
|
|
65
|
+
key: string;
|
|
66
|
+
revision: number;
|
|
67
|
+
digest: string;
|
|
68
|
+
steps: ProposalReview[];
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=execution-dto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-dto.d.ts","sourceRoot":"","sources":["../src/execution-dto.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACnD,2EAA2E;AAC3E,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AACD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AACD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,YAAY,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAChD;AACD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AACD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B;AACD,MAAM,WAAW,YAAY;IAC3B,KAAK,EACD,WAAW,GACX,QAAQ,GACR,iBAAiB,GACjB,WAAW,GACX,gBAAgB,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,YAAY,CAAC;CACpB;AACD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { JobExecutionContext } from '@happyvertical/smrt-jobs';
|
|
2
|
+
import type { ActionResult, IntakeExecutionOptions, PlanReview, PreviewPlanInput, PreviewProposalInput, ProposalReview, ReviewInput } from './execution-contracts.js';
|
|
3
|
+
import type { IngestionOptions } from './server.js';
|
|
4
|
+
export type * from './execution-contracts.js';
|
|
5
|
+
export type { IntakePolicy, IntakePolicyLayer } from './policy.js';
|
|
6
|
+
export { resolveIntakePolicy } from './policy.js';
|
|
7
|
+
export declare function intakeBindingDigest(value: unknown): string;
|
|
8
|
+
/** Server-only authoritative review/apply. Construct only from authenticated host options. */
|
|
9
|
+
export declare class IntakeExecutionService {
|
|
10
|
+
private readonly options;
|
|
11
|
+
private readonly retentionIntents;
|
|
12
|
+
private readonly db;
|
|
13
|
+
private readonly config;
|
|
14
|
+
private readonly scope;
|
|
15
|
+
private readonly ajv;
|
|
16
|
+
constructor(options: IngestionOptions, config: IntakeExecutionOptions);
|
|
17
|
+
private now;
|
|
18
|
+
private tx;
|
|
19
|
+
private restoreRetention;
|
|
20
|
+
private redactExecution;
|
|
21
|
+
private narrowRetention;
|
|
22
|
+
private rows;
|
|
23
|
+
private insert;
|
|
24
|
+
private item;
|
|
25
|
+
private ceiling;
|
|
26
|
+
private handler;
|
|
27
|
+
private operation;
|
|
28
|
+
private validate;
|
|
29
|
+
private access;
|
|
30
|
+
private principal;
|
|
31
|
+
private bound;
|
|
32
|
+
private review;
|
|
33
|
+
getAction(actionId: string): Promise<ProposalReview>;
|
|
34
|
+
private buildBinding;
|
|
35
|
+
private publish;
|
|
36
|
+
previewProposal(input: PreviewProposalInput): Promise<ProposalReview>;
|
|
37
|
+
submitDecision(input: ReviewInput): Promise<ProposalReview>;
|
|
38
|
+
private verifyEvidence;
|
|
39
|
+
private approved;
|
|
40
|
+
private arguments;
|
|
41
|
+
private retained;
|
|
42
|
+
private successful;
|
|
43
|
+
private finish;
|
|
44
|
+
applyAction(actionId: string): Promise<ActionResult>;
|
|
45
|
+
reconcileAction(actionId: string): Promise<ActionResult>;
|
|
46
|
+
/** Machine authorization is separate provenance, never a fabricated human decision. */
|
|
47
|
+
authorizeAutomatic(actionId: string): Promise<ProposalReview>;
|
|
48
|
+
previewPlan(input: PreviewPlanInput): Promise<PlanReview>;
|
|
49
|
+
applyPlan(planId: string): Promise<ActionResult[]>;
|
|
50
|
+
}
|
|
51
|
+
/** A jobs answer only wakes execution; the ledger's authoritative decision still gates apply. */
|
|
52
|
+
export declare function continueIntakeReview(service: {
|
|
53
|
+
getAction(id: string): Promise<ProposalReview>;
|
|
54
|
+
applyAction(id: string): Promise<ActionResult>;
|
|
55
|
+
}, actionId: string, task: NonNullable<JobExecutionContext['task']>): Promise<ActionResult>;
|
|
56
|
+
//# sourceMappingURL=execution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../src/execution.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAIpE,OAAO,KAAK,EACV,YAAY,EAIZ,sBAAsB,EAItB,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EAEd,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,mBAAmB,0BAA0B,CAAC;AAC9C,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AA8BlD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE1D;AAyCD,8FAA8F;AAC9F,qBAAa,sBAAsB;IAa/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZ1B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAE7B;IACJ,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAoB;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;IAChD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAIjB;gBAEgB,OAAO,EAAE,gBAAgB,EAC1C,MAAM,EAAE,sBAAsB;IAkBhC,OAAO,CAAC,GAAG;YAGG,EAAE;YAiCF,gBAAgB;YAqBhB,eAAe;YAmBf,eAAe;YAsBf,IAAI;YAeJ,MAAM;YA0BN,IAAI;IAiClB,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,SAAS;IAuBjB,OAAO,CAAC,QAAQ;YAcF,MAAM;YAkFN,SAAS;YAsCT,KAAK;IA4BnB,OAAO,CAAC,MAAM;IAaR,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;YAiC5C,YAAY;YA8JZ,OAAO;IA6Ff,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC;IASrE,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC;YAqGnD,cAAc;YA4Cd,QAAQ;YA6KR,SAAS;IA8EvB,OAAO,CAAC,QAAQ;YAMF,UAAU;YA6DV,MAAM;IA6Dd,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAgRpD,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA2F9D,uFAAuF;IACjF,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IA0E7D,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IAmQzD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CAsCzD;AAED,iGAAiG;AACjG,wBAAsB,oBAAoB,CACxC,OAAO,EAAE;IACP,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/C,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAChD,EACD,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,WAAW,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAC7C,OAAO,CAAC,YAAY,CAAC,CA6BvB"}
|