@spine-event-engine/storage-postgres 2.0.0-snapshot.24 → 2.0.0-snapshot.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -14
- package/REFERENCE.md +40 -22
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/postgres/agent-history.d.ts +60 -18
- package/dist/postgres/agent-history.d.ts.map +1 -1
- package/dist/postgres/agent-history.js +114 -37
- package/dist/postgres/agent-history.js.map +1 -1
- package/dist/postgres/column-mapping.d.ts.map +1 -1
- package/dist/postgres/column-mapping.js +6 -3
- package/dist/postgres/column-mapping.js.map +1 -1
- package/dist/postgres/entity-commit.d.ts +83 -14
- package/dist/postgres/entity-commit.d.ts.map +1 -1
- package/dist/postgres/entity-commit.js +383 -61
- package/dist/postgres/entity-commit.js.map +1 -1
- package/dist/postgres/entity-history.d.ts +4 -2
- package/dist/postgres/entity-history.d.ts.map +1 -1
- package/dist/postgres/entity-history.js +105 -32
- package/dist/postgres/entity-history.js.map +1 -1
- package/dist/postgres/id-column.d.ts.map +1 -1
- package/dist/postgres/id-column.js +6 -3
- package/dist/postgres/id-column.js.map +1 -1
- package/dist/postgres/record-storage.d.ts +146 -11
- package/dist/postgres/record-storage.d.ts.map +1 -1
- package/dist/postgres/record-storage.js +200 -27
- package/dist/postgres/record-storage.js.map +1 -1
- package/dist/postgres/storage-factory.d.ts +265 -22
- package/dist/postgres/storage-factory.d.ts.map +1 -1
- package/dist/postgres/storage-factory.js +784 -124
- package/dist/postgres/storage-factory.js.map +1 -1
- package/dist/postgres/table-initializer.d.ts +7 -4
- package/dist/postgres/table-initializer.d.ts.map +1 -1
- package/dist/postgres/table-initializer.js +21 -15
- package/dist/postgres/table-initializer.js.map +1 -1
- package/dist/postgres/table-resolver.d.ts +15 -1
- package/dist/postgres/table-resolver.d.ts.map +1 -1
- package/dist/postgres/table-resolver.js +36 -7
- package/dist/postgres/table-resolver.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/dist/postgres/agent-execution.d.ts +0 -285
- package/dist/postgres/agent-execution.d.ts.map +0 -1
- package/dist/postgres/agent-execution.js +0 -648
- package/dist/postgres/agent-execution.js.map +0 -1
|
@@ -1,285 +0,0 @@
|
|
|
1
|
-
import { type Message } from "@bufbuild/protobuf";
|
|
2
|
-
import type { Timestamp } from "@bufbuild/protobuf/wkt";
|
|
3
|
-
import type { CommandId } from "@spine-event-engine/proto";
|
|
4
|
-
import { type AgentAcceptedInvocation, type AgentExecutionHead, type AgentExecutionRecord, type AgentInvocationKey } from "@spine-event-engine/proto/generated/spine/server/agent/execution_record_pb.js";
|
|
5
|
-
import type { AgentHistoryRecord } from "@spine-event-engine/proto/generated/spine/server/agent/history_record_pb.js";
|
|
6
|
-
import type { EntityRecord } from "@spine-event-engine/proto/generated/spine/server/entity/entity_pb.js";
|
|
7
|
-
import { type AgentExecutionStorage, type AgentExecutionCapacity, type AgentExecutionStorageInput, type AgentExecutionClaim, type AgentExecutionUpdate, type AgentExecutionComplete, type AgentPendingRead, type AgentPendingPage } from "@spine-event-engine/storage/provider";
|
|
8
|
-
import { PostgresRecordStorage } from "./record-storage.js";
|
|
9
|
-
import { PostgresEntityCommitStorage } from "./entity-commit.js";
|
|
10
|
-
/**
|
|
11
|
-
* Persists accepted Agent work, exclusive claims and deterministic evidence.
|
|
12
|
-
*
|
|
13
|
-
* @typeParam I Typed Agent identifier.
|
|
14
|
-
* @typeParam S Generated Agent state.
|
|
15
|
-
*/
|
|
16
|
-
export declare class PostgresAgentExecution<I, S extends Message> implements AgentExecutionStorage<I, S> {
|
|
17
|
-
#private;
|
|
18
|
-
private readonly input;
|
|
19
|
-
private readonly invocation;
|
|
20
|
-
private readonly head;
|
|
21
|
-
private readonly history;
|
|
22
|
-
private readonly current;
|
|
23
|
-
private readonly commits;
|
|
24
|
-
/**
|
|
25
|
-
* PostgreSQL has no tighter fixed row limit in this provider contract.
|
|
26
|
-
*/
|
|
27
|
-
readonly capacity: AgentExecutionCapacity;
|
|
28
|
-
/**
|
|
29
|
-
* Binds prepared record families to one Agent repository and tenant boundary.
|
|
30
|
-
*
|
|
31
|
-
* @param input Agent repository and current Entity layout.
|
|
32
|
-
* @param invocation Mutable invocation records.
|
|
33
|
-
* @param head Per-instance claim and current preference records.
|
|
34
|
-
* @param history Immutable Agent conversation, System and domain entries.
|
|
35
|
-
* @param current Existing Entity current records used for no-op version checks.
|
|
36
|
-
* @param commits Opens the existing conditional Entity commit coordinator.
|
|
37
|
-
*/
|
|
38
|
-
constructor(input: AgentExecutionStorageInput<I, S>, invocation: PostgresRecordStorage<string, AgentExecutionRecord>, head: PostgresRecordStorage<string, AgentExecutionHead>, history: PostgresRecordStorage<string, AgentHistoryRecord>, current: PostgresRecordStorage<I, EntityRecord>, commits: () => PostgresEntityCommitStorage<I, S>);
|
|
39
|
-
/**
|
|
40
|
-
* Persists original accepted work idempotently under its per-instance lock.
|
|
41
|
-
*
|
|
42
|
-
* @param accepted Complete source signal and selected bindings.
|
|
43
|
-
* @returns Detached stored invocation.
|
|
44
|
-
*/
|
|
45
|
-
admit(accepted: AgentAcceptedInvocation): Promise<AgentExecutionRecord>;
|
|
46
|
-
/**
|
|
47
|
-
* Reads a bounded indexed page of eligible accepted or interrupted work.
|
|
48
|
-
*
|
|
49
|
-
* @param request Complete continuation and page count.
|
|
50
|
-
* @returns Detached records and continuation state.
|
|
51
|
-
*/
|
|
52
|
-
pending(request: AgentPendingRead): Promise<AgentPendingPage>;
|
|
53
|
-
/**
|
|
54
|
-
* Builds one binary-collated native pending-head query.
|
|
55
|
-
*
|
|
56
|
-
* @param request Bounded pending-page request.
|
|
57
|
-
* @param asOf Fixed provider-time eligibility cutoff.
|
|
58
|
-
* @param table Resolved head table in the current schema.
|
|
59
|
-
* @returns Native SQL and exact bound values.
|
|
60
|
-
*/
|
|
61
|
-
private pendingQuery;
|
|
62
|
-
/**
|
|
63
|
-
* Reads one complete persisted invocation.
|
|
64
|
-
*
|
|
65
|
-
* @param key Original source and Agent instance identity.
|
|
66
|
-
* @returns Detached record if present.
|
|
67
|
-
*/
|
|
68
|
-
read(key: AgentInvocationKey): Promise<AgentExecutionRecord | undefined>;
|
|
69
|
-
/**
|
|
70
|
-
* Acquires only earliest unresolved same-instance work under a fresh transaction clock.
|
|
71
|
-
*
|
|
72
|
-
* @param key Original source and Agent instance identity.
|
|
73
|
-
* @param token New exclusive token.
|
|
74
|
-
* @param expiresAt Requested future expiry.
|
|
75
|
-
* @returns Claimed record and current preferences, when eligible.
|
|
76
|
-
*/
|
|
77
|
-
claim(key: AgentInvocationKey, token: string, expiresAt: Timestamp): Promise<AgentExecutionClaim | undefined>;
|
|
78
|
-
/**
|
|
79
|
-
* Checks the locked instance and persists one exclusive lease.
|
|
80
|
-
*
|
|
81
|
-
* @param client Native client in the current transaction.
|
|
82
|
-
* @param rows Tenant record executors.
|
|
83
|
-
* @param key Original Agent invocation identity.
|
|
84
|
-
* @param token New exclusive token.
|
|
85
|
-
* @param expiresAt Requested future lease expiry.
|
|
86
|
-
* @returns Claimed record and preferences when eligible.
|
|
87
|
-
*/
|
|
88
|
-
private claimLocked;
|
|
89
|
-
/**
|
|
90
|
-
* Checks the current head and earliest same-instance source.
|
|
91
|
-
*
|
|
92
|
-
* @param client Native client in the current transaction.
|
|
93
|
-
* @param rows Tenant record executors.
|
|
94
|
-
* @param head Per-instance pending and lease record.
|
|
95
|
-
* @param key Original Agent invocation identity.
|
|
96
|
-
* @param now Fresh time read under the per-instance lock.
|
|
97
|
-
* @returns Whether this invocation may receive the next lease.
|
|
98
|
-
*/
|
|
99
|
-
private eligibleClaim;
|
|
100
|
-
/**
|
|
101
|
-
* Updates one still-current lease under the per-instance transaction lock.
|
|
102
|
-
*
|
|
103
|
-
* @param key Original source and Agent instance identity.
|
|
104
|
-
* @param token Current exclusive token.
|
|
105
|
-
* @param expiresAt Requested later expiry.
|
|
106
|
-
* @returns Whether renewal succeeded.
|
|
107
|
-
*/
|
|
108
|
-
renew(key: AgentInvocationKey, token: string, expiresAt: Timestamp): Promise<boolean>;
|
|
109
|
-
/**
|
|
110
|
-
* Persists one execution update and its immutable history rows in the same transaction.
|
|
111
|
-
*
|
|
112
|
-
* @param input Exact read image, next execution record and history entries.
|
|
113
|
-
* @returns Completion after fenced evidence is persisted.
|
|
114
|
-
*/
|
|
115
|
-
update(input: AgentExecutionUpdate): Promise<void>;
|
|
116
|
-
/**
|
|
117
|
-
* Commits Entity state, history, preferences and outgoing obligations together.
|
|
118
|
-
*
|
|
119
|
-
* @param input Complete conditional transition.
|
|
120
|
-
* @returns Completion after conditional Entity and evidence commit.
|
|
121
|
-
*/
|
|
122
|
-
complete(input: AgentExecutionComplete<I, S>): Promise<void>;
|
|
123
|
-
/**
|
|
124
|
-
* Applies every conditional completion row on one transaction client.
|
|
125
|
-
*
|
|
126
|
-
* @param client Native database client in the current transaction.
|
|
127
|
-
* @param input Requested fenced execution change.
|
|
128
|
-
* @param prepared Prepared Entity state and Version write.
|
|
129
|
-
* @param rows Provider record handles bound to the tenant.
|
|
130
|
-
* @returns Completion after Entity and execution evidence commit.
|
|
131
|
-
*/
|
|
132
|
-
private completeLocked;
|
|
133
|
-
/**
|
|
134
|
-
* Validates one Version increment or no-op and a nonterminal prior phase.
|
|
135
|
-
*
|
|
136
|
-
* @param input Requested fenced execution change.
|
|
137
|
-
* @param prior Previously persisted execution record.
|
|
138
|
-
* @returns Expected initial Entity Version.
|
|
139
|
-
*/
|
|
140
|
-
private validateCompletion;
|
|
141
|
-
/**
|
|
142
|
-
* Marks original outgoing IDs accepted by normal delivery.
|
|
143
|
-
*
|
|
144
|
-
* @param key Original source and Agent instance identity.
|
|
145
|
-
* @param token Current exclusive token.
|
|
146
|
-
* @param expectedRecordBytes Exact previous record bytes.
|
|
147
|
-
* @param signals Original accepted output IDs.
|
|
148
|
-
* @returns Completion after original output IDs are marked delivered.
|
|
149
|
-
*/
|
|
150
|
-
markDelivered(key: AgentInvocationKey, token: string, expectedRecordBytes: Uint8Array, signals: readonly CommandId[]): Promise<void>;
|
|
151
|
-
/**
|
|
152
|
-
* Marks original output IDs while the per-instance native lock is held.
|
|
153
|
-
*
|
|
154
|
-
* @param client Native client in the current transaction.
|
|
155
|
-
* @param rows Tenant record executors.
|
|
156
|
-
* @param key Original Agent invocation identity.
|
|
157
|
-
* @param token Current exclusive claim token.
|
|
158
|
-
* @param expectedRecordBytes Exact prior execution record bytes.
|
|
159
|
-
* @param signals Original accepted output IDs.
|
|
160
|
-
* @returns Completion after persisted output status is updated.
|
|
161
|
-
*/
|
|
162
|
-
private deliverLocked;
|
|
163
|
-
/**
|
|
164
|
-
* Closes all provider record handles without deleting persisted work.
|
|
165
|
-
*/
|
|
166
|
-
close(): void;
|
|
167
|
-
/**
|
|
168
|
-
* Rejects calls after handle closure.
|
|
169
|
-
*/
|
|
170
|
-
private requireOpen;
|
|
171
|
-
/**
|
|
172
|
-
* Prepares three existing record families and required native indexes once.
|
|
173
|
-
*
|
|
174
|
-
* @returns Completion after provider capabilities are checked.
|
|
175
|
-
*/
|
|
176
|
-
private ready;
|
|
177
|
-
/**
|
|
178
|
-
* Ensures full scoped order and expiry indexes before accepted work.
|
|
179
|
-
*
|
|
180
|
-
* @returns Completion after native tables and indexes are prepared.
|
|
181
|
-
*/
|
|
182
|
-
private initialize;
|
|
183
|
-
/**
|
|
184
|
-
* Acquires a transaction-scoped lock even when the head row is absent.
|
|
185
|
-
*
|
|
186
|
-
* @param client Native database client in the current transaction.
|
|
187
|
-
* @param key Original Agent invocation identity.
|
|
188
|
-
* @param rows Provider record handles bound to the tenant.
|
|
189
|
-
* @returns Completion after locking the per-instance head.
|
|
190
|
-
*/
|
|
191
|
-
private lockHead;
|
|
192
|
-
/**
|
|
193
|
-
* Reads one head and rejects a physical digest collision.
|
|
194
|
-
*
|
|
195
|
-
* @param client Native database client in the current transaction.
|
|
196
|
-
* @param key Original Agent invocation identity.
|
|
197
|
-
* @param rows Provider record handles bound to the tenant.
|
|
198
|
-
* @returns Per-instance head when present.
|
|
199
|
-
*/
|
|
200
|
-
private currentHead;
|
|
201
|
-
/**
|
|
202
|
-
* Reads one invocation and rejects a physical digest collision.
|
|
203
|
-
*
|
|
204
|
-
* @param client Native database client in the current transaction.
|
|
205
|
-
* @param key Original Agent invocation identity.
|
|
206
|
-
* @param rows Provider record handles bound to the tenant.
|
|
207
|
-
* @returns Stored invocation when present.
|
|
208
|
-
*/
|
|
209
|
-
private existing;
|
|
210
|
-
/**
|
|
211
|
-
* Checks fresh Time, exact token and complete previous record bytes.
|
|
212
|
-
*
|
|
213
|
-
* @param checkNext Whether to validate the proposed next record.
|
|
214
|
-
* @param client Native database client in the current transaction.
|
|
215
|
-
* @param input Requested fenced execution change.
|
|
216
|
-
* @param rows Provider record handles bound to the tenant.
|
|
217
|
-
* @returns Current fenced record and head.
|
|
218
|
-
*/
|
|
219
|
-
private expected;
|
|
220
|
-
/**
|
|
221
|
-
* Reads claimed rows under the already acquired per-instance lock.
|
|
222
|
-
*
|
|
223
|
-
* @param client Native database client in the current transaction.
|
|
224
|
-
* @param key Original Agent invocation identity.
|
|
225
|
-
* @param rows Provider record handles bound to the tenant.
|
|
226
|
-
* @param token Exclusive claim token.
|
|
227
|
-
* @returns Current record and head if the token remains valid.
|
|
228
|
-
*/
|
|
229
|
-
private claimed;
|
|
230
|
-
/**
|
|
231
|
-
* Checks no earlier unresolved signal in the same full Agent scope.
|
|
232
|
-
*
|
|
233
|
-
* @param client Native database client in the current transaction.
|
|
234
|
-
* @param key Original Agent invocation identity.
|
|
235
|
-
* @param rows Provider record handles bound to the tenant.
|
|
236
|
-
* @returns Whether this invocation is earliest unresolved work.
|
|
237
|
-
*/
|
|
238
|
-
private earliest;
|
|
239
|
-
/**
|
|
240
|
-
* Adds an earlier accepted source without resetting an existing eligibility.
|
|
241
|
-
*
|
|
242
|
-
* @param head Per-instance pending and lease record.
|
|
243
|
-
* @param record Persisted Agent execution record.
|
|
244
|
-
*/
|
|
245
|
-
private offerCandidate;
|
|
246
|
-
/**
|
|
247
|
-
* Updates the head to one bounded native successor before terminal publication.
|
|
248
|
-
*
|
|
249
|
-
* @param client Native database client in the current transaction.
|
|
250
|
-
* @param head Per-instance pending and lease record.
|
|
251
|
-
* @param key Original Agent invocation identity.
|
|
252
|
-
* @param order Original Inbox order.
|
|
253
|
-
* @param rows Provider record handles bound to the tenant.
|
|
254
|
-
* @returns Completion after updating the next pending head.
|
|
255
|
-
*/
|
|
256
|
-
private advanceCandidate;
|
|
257
|
-
/**
|
|
258
|
-
* Reads at most two rows per unresolved status in original Inbox order.
|
|
259
|
-
*
|
|
260
|
-
* @param client Native database client in the current transaction.
|
|
261
|
-
* @param exclude Invocation omitted while selecting the successor.
|
|
262
|
-
* @param key Original Agent invocation identity.
|
|
263
|
-
* @param rows Provider record handles bound to the tenant.
|
|
264
|
-
* @returns Earliest unresolved invocation when present.
|
|
265
|
-
*/
|
|
266
|
-
private successor;
|
|
267
|
-
/**
|
|
268
|
-
* Builds the bounded native query for one unresolved invocation status.
|
|
269
|
-
*
|
|
270
|
-
* @param table Resolved invocation table in the current schema.
|
|
271
|
-
* @returns Complete indexed successor query.
|
|
272
|
-
*/
|
|
273
|
-
private successorSql;
|
|
274
|
-
/**
|
|
275
|
-
* Validates current Version and applies optional Entity rows in this transaction.
|
|
276
|
-
*
|
|
277
|
-
* @param client Native database client in the current transaction.
|
|
278
|
-
* @param expectedVersion Expected current Entity Version.
|
|
279
|
-
* @param input Requested fenced execution change.
|
|
280
|
-
* @param prepared Prepared Entity state and Version write.
|
|
281
|
-
* @returns Completion after conditional Entity state and Version write.
|
|
282
|
-
*/
|
|
283
|
-
private completeEntity;
|
|
284
|
-
}
|
|
285
|
-
//# sourceMappingURL=agent-execution.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-execution.d.ts","sourceRoot":"","sources":["../../src/postgres/agent-execution.ts"],"names":[],"mappings":"AAcA,OAAO,EAAoB,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAIL,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACxB,MAAM,+EAA+E,CAAC;AACvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6EAA6E,CAAC;AACtH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sEAAsE,CAAC;AACzG,OAAO,EAKL,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACtB,MAAM,sCAAsC,CAAC;AAI9C,OAAO,EAAE,qBAAqB,EAA+B,MAAM,qBAAqB,CAAC;AACzF,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAWjE;;;;;GAKG;AACH,qBAAa,sBAAsB,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,CAAE,YAAW,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC;;IAqB5F,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IArB1B;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAqB;IAE9D;;;;;;;;;OASG;gBAEgB,KAAK,EAAE,0BAA0B,CAAC,CAAC,EAAE,CAAC,CAAC,EACvC,UAAU,EAAE,qBAAqB,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAC/D,IAAI,EAAE,qBAAqB,CAAC,MAAM,EAAE,kBAAkB,CAAC,EACvD,OAAO,EAAE,qBAAqB,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAC1D,OAAO,EAAE,qBAAqB,CAAC,CAAC,EAAE,YAAY,CAAC,EAC/C,OAAO,EAAE,MAAM,2BAA2B,CAAC,CAAC,EAAE,CAAC,CAAC;IAGnE;;;;;OAKG;IACG,KAAK,CAAC,QAAQ,EAAE,uBAAuB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA0B7E;;;;;OAKG;IACG,OAAO,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA4BnE;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY;IAoBpB;;;;;OAKG;IACG,IAAI,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IAU9E;;;;;;;OAOG;IACG,KAAK,CACT,GAAG,EAAE,kBAAkB,EACvB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAU3C;;;;;;;;;OASG;YACW,WAAW;IA+BzB;;;;;;;;;OASG;YACW,aAAa;IAoB3B;;;;;;;OAOG;IACG,KAAK,CAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAoB3F;;;;;OAKG;IACG,MAAM,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBxD;;;;;OAKG;IACG,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBlE;;;;;;;;OAQG;YACW,cAAc;IA6B5B;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IA+B1B;;;;;;;;OAQG;IACG,aAAa,CACjB,GAAG,EAAE,kBAAkB,EACvB,KAAK,EAAE,MAAM,EACb,mBAAmB,EAAE,UAAU,EAC/B,OAAO,EAAE,SAAS,SAAS,EAAE,GAC5B,OAAO,CAAC,IAAI,CAAC;IAShB;;;;;;;;;;OAUG;YACW,aAAa;IAiC3B;;OAEG;IACH,KAAK,IAAI,IAAI;IASb;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;;;OAIG;IACH,OAAO,CAAC,KAAK;IASb;;;;OAIG;YACW,UAAU;IAsBxB;;;;;;;OAOG;YACW,QAAQ;IAatB;;;;;;;OAOG;YACW,WAAW;IAsBzB;;;;;;;OAOG;YACW,QAAQ;IAkBtB;;;;;;;;OAQG;YACW,QAAQ;IAoBtB;;;;;;;;OAQG;YACW,OAAO;IAoBrB;;;;;;;OAOG;YACW,QAAQ;IAatB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAItB;;;;;;;;;OASG;YACW,gBAAgB;IAW9B;;;;;;;;OAQG;YACW,SAAS;IAmCvB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAQpB;;;;;;;;OAQG;YACW,cAAc;CAkB7B"}
|