advisers-core 0.0.1 → 0.0.2
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/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/ledger.d.ts +8 -4
- package/dist/ledger.d.ts.map +1 -1
- package/dist/ledger.js +14 -9
- package/dist/ledger.js.map +1 -1
- package/dist/ports.d.ts +32 -0
- package/dist/ports.d.ts.map +1 -0
- package/dist/ports.js +10 -0
- package/dist/ports.js.map +1 -0
- package/dist/runtime.d.ts +2 -0
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +2 -1
- package/dist/runtime.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA"}
|
package/dist/ledger.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { HostPorts } from './ports.ts';
|
|
1
2
|
import type { Commitment, CommitmentEvidence, Fact, Id, Matter, PreferenceKind, PreferenceScope, UserPreference } from './types.ts';
|
|
2
3
|
export interface MatterInput {
|
|
3
4
|
title: string;
|
|
@@ -42,10 +43,13 @@ export interface CommitmentInput {
|
|
|
42
43
|
* Production storage will be SQLite + FTS5, with this interface.
|
|
43
44
|
*/
|
|
44
45
|
export declare class Ledger {
|
|
45
|
-
private
|
|
46
|
-
private
|
|
47
|
-
private
|
|
48
|
-
private
|
|
46
|
+
private readonly clock;
|
|
47
|
+
private readonly ids;
|
|
48
|
+
private readonly matters;
|
|
49
|
+
private readonly facts;
|
|
50
|
+
private readonly commitments;
|
|
51
|
+
private readonly preferences;
|
|
52
|
+
constructor(ports?: HostPorts);
|
|
49
53
|
addMatter(input: MatterInput): Matter;
|
|
50
54
|
getMatter(id: Id): Matter | undefined;
|
|
51
55
|
listMatters(status?: Matter['status']): Matter[];
|
package/dist/ledger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ledger.d.ts","sourceRoot":"","sources":["../src/ledger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,kBAAkB,EAClB,IAAI,EACJ,EAAE,EACF,MAAM,EACN,cAAc,EACd,eAAe,EACf,cAAc,EACf,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"ledger.d.ts","sourceRoot":"","sources":["../src/ledger.ts"],"names":[],"mappings":"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"}
|
package/dist/ledger.js
CHANGED
|
@@ -1,18 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
const nextId = (prefix) => `${prefix}_${Date.now().toString(36)}_${++seq}`;
|
|
1
|
+
import { systemPorts } from "./ports.js";
|
|
3
2
|
/**
|
|
4
3
|
* In-memory ledger used by the skeleton and tests.
|
|
5
4
|
* Production storage will be SQLite + FTS5, with this interface.
|
|
6
5
|
*/
|
|
7
6
|
export class Ledger {
|
|
7
|
+
clock;
|
|
8
|
+
ids;
|
|
8
9
|
matters = new Map();
|
|
9
10
|
facts = new Map();
|
|
10
11
|
commitments = new Map();
|
|
11
12
|
preferences = new Map();
|
|
13
|
+
constructor(ports = systemPorts()) {
|
|
14
|
+
this.clock = ports.clock;
|
|
15
|
+
this.ids = ports.ids;
|
|
16
|
+
}
|
|
12
17
|
addMatter(input) {
|
|
13
|
-
const now =
|
|
18
|
+
const now = this.clock.now();
|
|
14
19
|
const matter = {
|
|
15
|
-
id:
|
|
20
|
+
id: this.ids.next('matter'),
|
|
16
21
|
title: input.title,
|
|
17
22
|
status: 'active',
|
|
18
23
|
domain: input.domain ?? 'general',
|
|
@@ -41,12 +46,12 @@ export class Ledger {
|
|
|
41
46
|
if (existing)
|
|
42
47
|
return existing;
|
|
43
48
|
const fact = {
|
|
44
|
-
id:
|
|
49
|
+
id: this.ids.next('fact'),
|
|
45
50
|
matterId: input.matterId,
|
|
46
51
|
subject: input.subject,
|
|
47
52
|
predicate: input.predicate,
|
|
48
53
|
object: input.object,
|
|
49
|
-
recordedAt:
|
|
54
|
+
recordedAt: this.clock.now(),
|
|
50
55
|
authority: input.authority ?? 'user',
|
|
51
56
|
confidence: input.confidence ?? 0.9,
|
|
52
57
|
source: input.source,
|
|
@@ -60,7 +65,7 @@ export class Ledger {
|
|
|
60
65
|
}
|
|
61
66
|
addPreference(input) {
|
|
62
67
|
const pref = {
|
|
63
|
-
id:
|
|
68
|
+
id: this.ids.next('pref'),
|
|
64
69
|
kind: input.kind,
|
|
65
70
|
statement: input.statement,
|
|
66
71
|
scope: input.scope ?? { level: 'global' },
|
|
@@ -68,7 +73,7 @@ export class Ledger {
|
|
|
68
73
|
evidence: [],
|
|
69
74
|
confidence: input.confidence ?? 0.9,
|
|
70
75
|
status: input.status ?? 'confirmed',
|
|
71
|
-
validFrom:
|
|
76
|
+
validFrom: this.clock.now(),
|
|
72
77
|
expiresAt: input.expiresAt,
|
|
73
78
|
priority: input.priority ?? (input.kind === 'taboo' ? 'hard' : 'soft'),
|
|
74
79
|
};
|
|
@@ -93,7 +98,7 @@ export class Ledger {
|
|
|
93
98
|
throw new Error('a commitment requires at least one evidence item');
|
|
94
99
|
}
|
|
95
100
|
const commitment = {
|
|
96
|
-
id:
|
|
101
|
+
id: this.ids.next('cm'),
|
|
97
102
|
matterId: input.matterId,
|
|
98
103
|
debtor: input.debtor,
|
|
99
104
|
creditor: input.creditor,
|
package/dist/ledger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ledger.js","sourceRoot":"","sources":["../src/ledger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ledger.js","sourceRoot":"","sources":["../src/ledger.ts"],"names":[],"mappings":"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"}
|
package/dist/ports.d.ts
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { Id, IsoDate } from './types.ts';
|
|
2
|
+
/** Injectable time source; tests can freeze it. */
|
|
3
|
+
export interface Clock {
|
|
4
|
+
now(): IsoDate;
|
|
5
|
+
}
|
|
6
|
+
/** Injectable id source; tests can make ids deterministic. */
|
|
7
|
+
export interface Ids {
|
|
8
|
+
next(prefix: string): Id;
|
|
9
|
+
}
|
|
10
|
+
/** Persistence port. The in-memory skeleton ignores it. */
|
|
11
|
+
export interface Store {
|
|
12
|
+
load(): unknown | undefined;
|
|
13
|
+
save(snapshot: unknown): void;
|
|
14
|
+
}
|
|
15
|
+
/** Optional model port. Without it, a host can print the focus frame instead. */
|
|
16
|
+
export interface ModelPort {
|
|
17
|
+
complete(input: {
|
|
18
|
+
prompt: string;
|
|
19
|
+
}): AsyncIterable<string>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* The only host boundary of the core. The cordis-only and DSH distributions
|
|
23
|
+
* provide their own implementations; core never imports either host.
|
|
24
|
+
*/
|
|
25
|
+
export interface HostPorts {
|
|
26
|
+
clock: Clock;
|
|
27
|
+
ids: Ids;
|
|
28
|
+
store?: Store;
|
|
29
|
+
model?: ModelPort;
|
|
30
|
+
}
|
|
31
|
+
export declare function systemPorts(): HostPorts;
|
|
32
|
+
//# sourceMappingURL=ports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../src/ports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAE7C,mDAAmD;AACnD,MAAM,WAAW,KAAK;IACpB,GAAG,IAAI,OAAO,CAAA;CACf;AAED,8DAA8D;AAC9D,MAAM,WAAW,GAAG;IAClB,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,EAAE,CAAA;CACzB;AAED,2DAA2D;AAC3D,MAAM,WAAW,KAAK;IACpB,IAAI,IAAI,OAAO,GAAG,SAAS,CAAA;IAC3B,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAA;CAC9B;AAED,iFAAiF;AACjF,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;CAC3D;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ,GAAG,EAAE,GAAG,CAAA;IACR,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB;AAED,wBAAgB,WAAW,IAAI,SAAS,CAQvC"}
|
package/dist/ports.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ports.js","sourceRoot":"","sources":["../src/ports.ts"],"names":[],"mappings":"AAkCA,MAAM,UAAU,WAAW;IACzB,IAAI,GAAG,GAAG,CAAC,CAAA;IACX,OAAO;QACL,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;QAC9C,GAAG,EAAE;YACH,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE;SAClE;KACF,CAAA;AACH,CAAC"}
|
package/dist/runtime.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { Ledger } from './ledger.ts';
|
|
2
|
+
import type { HostPorts } from './ports.ts';
|
|
2
3
|
import type { InboundEvent, LinkHost, LinkProvider, OutboundMessage, DeliveryResult } from './link.ts';
|
|
3
4
|
import type { TurnContext } from './types.ts';
|
|
4
5
|
export interface AdvisersOptions {
|
|
5
6
|
budget?: number;
|
|
7
|
+
ports?: HostPorts;
|
|
6
8
|
}
|
|
7
9
|
/**
|
|
8
10
|
* Headless runtime. The CLI, the DSH bundle, and every link are adapters.
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AACtG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AACtG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB;AAED;;;GAGG;AACH,qBAAa,eAAgB,YAAW,QAAQ;IAC9C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IACxD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA4B;IAC/D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;gBAEnB,OAAO,GAAE,eAAoB;IAKzC,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAKhC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1B,gBAAgB,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAIvF;;;OAGG;IACG,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,WAAW;IA2BzC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CAK9E;AAED,wBAAgB,cAAc,CAAC,OAAO,GAAE,eAAoB,GAAG,eAAe,CAE7E"}
|
package/dist/runtime.js
CHANGED
|
@@ -5,12 +5,13 @@ import { Ledger } from "./ledger.js";
|
|
|
5
5
|
* Today the ledger and the reply are in-memory stubs; the interfaces are the point.
|
|
6
6
|
*/
|
|
7
7
|
export class AdvisersRuntime {
|
|
8
|
-
ledger
|
|
8
|
+
ledger;
|
|
9
9
|
links = new Map();
|
|
10
10
|
conversationMatter = new Map();
|
|
11
11
|
budget;
|
|
12
12
|
constructor(options = {}) {
|
|
13
13
|
this.budget = options.budget ?? 1200;
|
|
14
|
+
this.ledger = new Ledger(options.ports);
|
|
14
15
|
}
|
|
15
16
|
registerLink(link) {
|
|
16
17
|
if (this.links.has(link.id))
|
package/dist/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAUpC;;;GAGG;AACH,MAAM,OAAO,eAAe;IACjB,MAAM,CAAQ;IACN,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAA;IACvC,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC9C,MAAM,CAAQ;IAE/B,YAAY,UAA2B,EAAE;QACvC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAA;QACpC,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACzC,CAAC;IAED,YAAY,CAAC,IAAkB;QAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;QACnF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IAC/B,CAAC;IAED,KAAK,CAAC,UAAU;QACd,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAAE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAChE,CAAC;IAED,KAAK,CAAC,SAAS;QACb,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAAE,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;IAC3D,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAA8C;QACnE,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,SAAS,EAAE,CAAA;IACjD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,KAAmB;QAC9B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC;IAED,aAAa,CAAC,KAAmB;QAC/B,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,cAAc,EAAE,CAAA;QACrD,IAAI,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;gBACnC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,gBAAgB,KAAK,CAAC,cAAc,EAAE;gBACzE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;aACnC,CAAC,CAAA;YACF,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAA;YACpB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;QAC5C,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QAC9C,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAA;QAE/D,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACnB,OAAO,EAAE,MAAM;gBACf,SAAS,EAAE,MAAM;gBACjB,MAAM,EAAE,KAAK,CAAC,IAAI;gBAClB,QAAQ;gBACR,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE;aACpD,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,eAAe,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;IAC9E,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,OAAwB;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACnC,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,MAAM,EAAE,EAAE,CAAA;QACjE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3B,CAAC;CACF;AAED,MAAM,UAAU,cAAc,CAAC,UAA2B,EAAE;IAC1D,OAAO,IAAI,eAAe,CAAC,OAAO,CAAC,CAAA;AACrC,CAAC"}
|