on-zero 0.6.13 → 0.6.15

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.
Files changed (93) hide show
  1. package/dist/cjs/createSchemaFromDrizzle.cjs +4 -4
  2. package/dist/cjs/createSchemaFromDrizzle.native.js +4 -4
  3. package/dist/cjs/createSchemaFromDrizzle.native.js.map +1 -1
  4. package/dist/cjs/createZeroDirectServer.cjs +279 -0
  5. package/dist/cjs/createZeroDirectServer.native.js +292 -0
  6. package/dist/cjs/createZeroDirectServer.native.js.map +1 -0
  7. package/dist/cjs/createZeroSQLiteServer.cjs +8 -277
  8. package/dist/cjs/createZeroSQLiteServer.native.js +8 -390
  9. package/dist/cjs/createZeroSQLiteServer.native.js.map +1 -1
  10. package/dist/cjs/createZeroSQLiteServer.test.cjs +30 -3
  11. package/dist/cjs/createZeroSQLiteServer.test.native.js +31 -3
  12. package/dist/cjs/createZeroSQLiteServer.test.native.js.map +1 -1
  13. package/dist/cjs/createZeroServerCore.cjs +20 -205
  14. package/dist/cjs/createZeroServerCore.native.js +19 -213
  15. package/dist/cjs/createZeroServerCore.native.js.map +1 -1
  16. package/dist/cjs/generate.cjs +10 -3
  17. package/dist/cjs/generate.native.js +10 -3
  18. package/dist/cjs/generate.native.js.map +1 -1
  19. package/dist/cjs/generate.test.cjs +39 -0
  20. package/dist/cjs/generate.test.native.js +39 -0
  21. package/dist/cjs/generate.test.native.js.map +1 -1
  22. package/dist/cjs/sqliteRuntime.cjs +318 -0
  23. package/dist/cjs/sqliteRuntime.native.js +438 -0
  24. package/dist/cjs/sqliteRuntime.native.js.map +1 -0
  25. package/dist/cjs/syncHost.cjs +16 -9
  26. package/dist/cjs/syncHost.native.js +21 -12
  27. package/dist/cjs/syncHost.native.js.map +1 -1
  28. package/dist/cjs/syncHost.test.cjs +13 -2
  29. package/dist/cjs/syncHost.test.native.js +14 -2
  30. package/dist/cjs/syncHost.test.native.js.map +1 -1
  31. package/dist/esm/createSchemaFromDrizzle.mjs +2 -2
  32. package/dist/esm/createSchemaFromDrizzle.native.js +2 -2
  33. package/dist/esm/createZeroDirectServer.mjs +251 -0
  34. package/dist/esm/createZeroDirectServer.mjs.map +1 -0
  35. package/dist/esm/createZeroDirectServer.native.js +261 -0
  36. package/dist/esm/createZeroDirectServer.native.js.map +1 -0
  37. package/dist/esm/createZeroSQLiteServer.mjs +3 -272
  38. package/dist/esm/createZeroSQLiteServer.mjs.map +1 -1
  39. package/dist/esm/createZeroSQLiteServer.native.js +3 -385
  40. package/dist/esm/createZeroSQLiteServer.native.js.map +1 -1
  41. package/dist/esm/createZeroSQLiteServer.test.mjs +30 -3
  42. package/dist/esm/createZeroSQLiteServer.test.mjs.map +1 -1
  43. package/dist/esm/createZeroSQLiteServer.test.native.js +31 -3
  44. package/dist/esm/createZeroSQLiteServer.test.native.js.map +1 -1
  45. package/dist/esm/createZeroServerCore.mjs +18 -202
  46. package/dist/esm/createZeroServerCore.mjs.map +1 -1
  47. package/dist/esm/createZeroServerCore.native.js +18 -211
  48. package/dist/esm/createZeroServerCore.native.js.map +1 -1
  49. package/dist/esm/generate.mjs +10 -3
  50. package/dist/esm/generate.mjs.map +1 -1
  51. package/dist/esm/generate.native.js +10 -3
  52. package/dist/esm/generate.native.js.map +1 -1
  53. package/dist/esm/generate.test.mjs +39 -1
  54. package/dist/esm/generate.test.mjs.map +1 -1
  55. package/dist/esm/generate.test.native.js +39 -1
  56. package/dist/esm/generate.test.native.js.map +1 -1
  57. package/dist/esm/sqliteRuntime.mjs +289 -0
  58. package/dist/esm/sqliteRuntime.mjs.map +1 -0
  59. package/dist/esm/sqliteRuntime.native.js +406 -0
  60. package/dist/esm/sqliteRuntime.native.js.map +1 -0
  61. package/dist/esm/syncHost.mjs +14 -7
  62. package/dist/esm/syncHost.mjs.map +1 -1
  63. package/dist/esm/syncHost.native.js +19 -10
  64. package/dist/esm/syncHost.native.js.map +1 -1
  65. package/dist/esm/syncHost.test.mjs +13 -2
  66. package/dist/esm/syncHost.test.mjs.map +1 -1
  67. package/dist/esm/syncHost.test.native.js +14 -2
  68. package/dist/esm/syncHost.test.native.js.map +1 -1
  69. package/package.json +5 -6
  70. package/src/createSchemaFromDrizzle.ts +2 -2
  71. package/src/createZeroDirectServer.ts +427 -0
  72. package/src/createZeroSQLiteServer.test.ts +20 -5
  73. package/src/createZeroSQLiteServer.ts +14 -481
  74. package/src/createZeroServerCore.ts +32 -337
  75. package/src/generate.test.ts +57 -1
  76. package/src/generate.ts +23 -3
  77. package/src/sqliteRuntime.ts +512 -0
  78. package/src/syncHost.test.ts +10 -3
  79. package/src/syncHost.ts +49 -12
  80. package/test-fixtures/server-return-types.ts +8 -1
  81. package/types/createSchemaFromDrizzle.d.ts +2 -2
  82. package/types/createSchemaFromDrizzle.d.ts.map +1 -1
  83. package/types/createZeroDirectServer.d.ts +80 -0
  84. package/types/createZeroDirectServer.d.ts.map +1 -0
  85. package/types/createZeroSQLiteServer.d.ts +5 -30
  86. package/types/createZeroSQLiteServer.d.ts.map +1 -1
  87. package/types/createZeroServerCore.d.ts +30 -87
  88. package/types/createZeroServerCore.d.ts.map +1 -1
  89. package/types/generate.d.ts.map +1 -1
  90. package/types/sqliteRuntime.d.ts +71 -0
  91. package/types/sqliteRuntime.d.ts.map +1 -0
  92. package/types/syncHost.d.ts +10 -19
  93. package/types/syncHost.d.ts.map +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["mustGetQuery","createPermissions","createMutators","getScopedAuthData","isInZeroMutation","mutatorContext","runWithAuthScope","runWithQueryContext","getMutationsPermissions","setCustomQueries","getZQL","setEnvironment","setSchema","setEvaluatingPermission","setRunner","resolveServerQuery","param","authData","name","args","queries","permissions","validateQuery","startsWith","table","slice","length","objOrId","permission","Error","where","eb","buildPermissionQuery","one","queryName","params","query","fn","ctx","createAsyncTaskCollector","committed","attempt","completedAttempt","current","queue","Proxy","deleteProperty","_target","property","Reflect","get","target","value","bind","getOwnPropertyDescriptor","has","ownKeys","set","lifecycle","beginAttempt","completeAttempt","rollbackAttempt","commitTransaction","push","rollbackTransaction","createZeroDirectServerRuntime","createDatabase","createServerActions","defaultAllowAdminRole","defaultMutateAuthData","models","mutations","mutationValidators","schema","validateMutation","environment","adminRoleMode","runTransaction","database","query2","tx","transaction","dummyTransactionInput","err","console","error","runMutate","modelName","mutatorName","mutatorArg","options","scoped","tasks","mutators","asyncTasks","can","modelMutators","mutator","createDatabaseWithLifecycle","resolvedAuth","promise","Promise","all","map","task","awaitEffects","catch","mutate","_","_2","arg","cb","run","queryObj","server","createZeroDirectServer","callback","input","hooks","result","clientGroupID","clientID","mutationID","upstreamSchema"],"sources":["../../src/createZeroDirectServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import { createBuilder } from "@rocicorp/zero";
2
- import { asQueryInternals } from "@rocicorp/zero/bindings";
3
1
  import { createZeroServerCore } from "./createZeroServerCore.mjs";
2
+ import { createSQLiteDatabase, defaultLedgerTables, encodeSQLiteValue, persistAlreadyProcessedMutationResults } from "./sqliteRuntime.mjs";
3
+ export * from "./sqliteRuntime.mjs";
4
4
  function createZeroSQLiteServer({
5
5
  encodeValue = encodeSQLiteValue,
6
6
  ledgerTables = defaultLedgerTables,
@@ -20,274 +20,5 @@ function createZeroSQLiteServer({
20
20
  persistAlreadyProcessed: args => persistAlreadyProcessedMutationResults(databaseOptions, args)
21
21
  });
22
22
  }
23
- function createSQLiteDatabase(options) {
24
- return {
25
- async transaction(callback, input) {
26
- let committedLedgers = /* @__PURE__ */new Set();
27
- const value = await options.transactionProvider(async executor => {
28
- const attemptLedgers = /* @__PURE__ */new Set();
29
- const ensureLedger = async upstreamSchema => {
30
- const tables = options.ledgerTables(upstreamSchema);
31
- const key = ledgerKey(tables);
32
- if (options.initializedLedgers.has(key) || attemptLedgers.has(key)) {
33
- return;
34
- }
35
- await createLedgerTables(executor, tables);
36
- attemptLedgers.add(key);
37
- };
38
- const transaction = createZeroSQLiteTransaction(options, executor, input);
39
- const result = await callback(transaction, createLedgerHooks(options, executor, ensureLedger, input));
40
- committedLedgers = attemptLedgers;
41
- return result;
42
- });
43
- for (const key of committedLedgers) options.initializedLedgers.add(key);
44
- return value;
45
- }
46
- };
47
- }
48
- function createZeroSQLiteTransaction(options, executor, input) {
49
- const transactionOptions = {
50
- encodeValue: options.encodeValue ?? encodeSQLiteValue,
51
- schema: options.schema
52
- };
53
- const clientID = input?.clientID ?? "";
54
- const mutationID = input?.mutationID ?? 0;
55
- const mutate = new Proxy({}, {
56
- get(_target, tableKey) {
57
- const tableName = String(tableKey);
58
- if (!options.schema.tables[tableName]) {
59
- throw new Error(`unknown SQLite mutation table ${tableName}`);
60
- }
61
- return new Proxy({}, {
62
- get(_innerTarget, kindKey) {
63
- const kind = String(kindKey);
64
- if (!isCrudKind(kind)) return;
65
- return value => executeCrud(transactionOptions, executor, tableName, kind, value);
66
- }
67
- });
68
- }
69
- });
70
- const runQuery = (ast, format, queryName) => Promise.resolve(executor.queryAst(ast, format, queryName));
71
- const dbTransaction = {
72
- wrappedTransaction: executor,
73
- query: (sql, args) => executor.query(sql, args),
74
- runQuery
75
- };
76
- return {
77
- clientID,
78
- dbTransaction,
79
- location: "server",
80
- mutate,
81
- mutationID,
82
- query: transactionOptions.schema.enableLegacyQueries ? createLegacyQueryBuilder(transactionOptions.schema, query => {
83
- const internals = asQueryInternals(query);
84
- return runQuery(internals.ast, internals.format, internals.customQueryID?.name);
85
- }) : void 0,
86
- reason: "authoritative",
87
- async run(query) {
88
- const internals = asQueryInternals(query);
89
- return runQuery(internals.ast, internals.format, internals.customQueryID?.name);
90
- }
91
- };
92
- }
93
- function isCrudKind(value) {
94
- return value === "delete" || value === "insert" || value === "update" || value === "upsert";
95
- }
96
- async function executeCrud(options, executor, tableName, kind, raw) {
97
- if (!raw || typeof raw !== "object" || Array.isArray(raw)) {
98
- throw new Error(`${tableName}.${kind} expects an object`);
99
- }
100
- const table = options.schema.tables[tableName];
101
- const values = Object.fromEntries(Object.entries(raw).filter(([, value]) => value !== void 0));
102
- for (const columnName of Object.keys(values)) {
103
- if (!table.columns[columnName]) {
104
- throw new Error(`unknown SQLite column ${tableName}.${columnName}`);
105
- }
106
- }
107
- const primaryValues = table.primaryKey.map(columnName => {
108
- if (!(columnName in values)) {
109
- throw new Error(`${tableName}.${kind} is missing primary key ${columnName}`);
110
- }
111
- return encodeColumn(options, tableName, columnName, values[columnName]);
112
- });
113
- const primaryWhere = table.primaryKey.map(columnName => `${quoteSQLiteIdentifier(serverColumn(table, columnName))} = ?`).join(" AND ");
114
- const serverTableName = quoteSQLiteIdentifier(table.serverName ?? table.name);
115
- if (kind === "delete") {
116
- await executor.exec(`DELETE FROM ${serverTableName} WHERE ${primaryWhere}`, primaryValues);
117
- return;
118
- }
119
- const columnNames = Object.keys(values);
120
- if (columnNames.length === 0) {
121
- throw new Error(`${tableName}.${kind} has no values`);
122
- }
123
- const serverColumns = columnNames.map(columnName => quoteSQLiteIdentifier(serverColumn(table, columnName)));
124
- const params = columnNames.map(columnName => encodeColumn(options, tableName, columnName, values[columnName]));
125
- const insert = `INSERT INTO ${serverTableName} (${serverColumns.join(", ")}) VALUES (${columnNames.map(() => "?").join(", ")})`;
126
- if (kind === "insert") {
127
- await executor.exec(insert, params);
128
- return;
129
- }
130
- if (kind === "upsert") {
131
- const mutableColumns2 = columnNames.filter(columnName => !table.primaryKey.includes(columnName));
132
- const conflictColumns = table.primaryKey.map(columnName => quoteSQLiteIdentifier(serverColumn(table, columnName))).join(", ");
133
- const conflictAction = mutableColumns2.length === 0 ? "DO NOTHING" : `DO UPDATE SET ${mutableColumns2.map(columnName => {
134
- const column = quoteSQLiteIdentifier(serverColumn(table, columnName));
135
- return `${column} = excluded.${column}`;
136
- }).join(", ")}`;
137
- await executor.exec(`${insert} ON CONFLICT (${conflictColumns}) ${conflictAction}`, params);
138
- return;
139
- }
140
- const mutableColumns = columnNames.filter(columnName => !table.primaryKey.includes(columnName));
141
- if (mutableColumns.length === 0) return;
142
- await executor.exec(`UPDATE ${serverTableName} SET ${mutableColumns.map(columnName => `${quoteSQLiteIdentifier(serverColumn(table, columnName))} = ?`).join(", ")} WHERE ${primaryWhere}`, [...mutableColumns.map(columnName => encodeColumn(options, tableName, columnName, values[columnName])), ...primaryValues]);
143
- }
144
- function serverColumn(table, columnName) {
145
- const column = table.columns[columnName];
146
- if (!column) throw new Error(`unknown SQLite column ${table.name}.${columnName}`);
147
- return column.serverName ?? columnName;
148
- }
149
- function encodeColumn(options, tableName, columnName, value) {
150
- return options.encodeValue(value, {
151
- column: options.schema.tables[tableName].columns[columnName],
152
- columnName,
153
- tableName
154
- });
155
- }
156
- function createLegacyQueryBuilder(schema, run) {
157
- const builder = createBuilder(schema);
158
- return new Proxy(builder, {
159
- get(target, property) {
160
- return makeRunnableQuery(Reflect.get(target, property, target), run);
161
- }
162
- });
163
- }
164
- function makeRunnableQuery(query, run) {
165
- if (!isQueryBuilder(query)) return query;
166
- return new Proxy(query, {
167
- get(target, property) {
168
- if (property === "run") return () => run(target);
169
- if (property === "materialize" || property === "preload") {
170
- return () => {
171
- throw new Error(`${String(property)}() is not supported in server transactions`);
172
- };
173
- }
174
- const value = Reflect.get(target, property, target);
175
- if (typeof value !== "function") return value;
176
- return (...args) => makeRunnableQuery(Reflect.apply(value, target, args), run);
177
- }
178
- });
179
- }
180
- function isQueryBuilder(value) {
181
- if (!value || typeof value !== "object") return false;
182
- try {
183
- asQueryInternals(value);
184
- return true;
185
- } catch {
186
- return false;
187
- }
188
- }
189
- function createLedgerHooks(options, executor, ensureLedger, input) {
190
- const upstreamSchema = input?.upstreamSchema ?? "";
191
- const clientGroupID = input?.clientGroupID ?? "";
192
- const clientID = input?.clientID ?? "";
193
- const tables = options.ledgerTables(upstreamSchema);
194
- const clientsTable = quoteSQLiteIdentifier(tables.clients);
195
- const mutationsTable = quoteSQLiteIdentifier(tables.mutations);
196
- return {
197
- async updateClientMutationID() {
198
- await ensureLedger(upstreamSchema);
199
- const rows = await executor.query(`INSERT INTO ${clientsTable}
200
- (clientGroupID, clientID, lastMutationID)
201
- VALUES (?, ?, 1)
202
- ON CONFLICT (clientGroupID, clientID)
203
- DO UPDATE SET lastMutationID = lastMutationID + 1
204
- RETURNING lastMutationID`, [clientGroupID, clientID]);
205
- const lastMutationID = rows[0]?.lastMutationID;
206
- if (typeof lastMutationID !== "number" && typeof lastMutationID !== "bigint") {
207
- throw new Error("SQLite mutation ledger returned no lastMutationID");
208
- }
209
- return {
210
- lastMutationID
211
- };
212
- },
213
- async writeMutationResult(result) {
214
- await ensureLedger(upstreamSchema);
215
- await executor.exec(`INSERT INTO ${mutationsTable}
216
- (clientGroupID, clientID, mutationID, result)
217
- VALUES (?, ?, ?, ?)`, [clientGroupID, result.id.clientID, result.id.id, JSON.stringify(result.result)]);
218
- },
219
- async deleteMutationResults(args) {
220
- await ensureLedger(upstreamSchema);
221
- if ("type" in args && args.type === "bulk") {
222
- if (args.clientIDs.length === 0) return;
223
- await executor.exec(`DELETE FROM ${mutationsTable}
224
- WHERE clientGroupID = ?
225
- AND clientID IN (${args.clientIDs.map(() => "?").join(", ")})`, [args.clientGroupID, ...args.clientIDs]);
226
- return;
227
- }
228
- await executor.exec(`DELETE FROM ${mutationsTable}
229
- WHERE clientGroupID = ?
230
- AND clientID = ?
231
- AND mutationID <= ?`, [args.clientGroupID, args.clientID, args.upToMutationID]);
232
- }
233
- };
234
- }
235
- async function persistAlreadyProcessedMutationResults(options, {
236
- clientGroupID,
237
- mutations,
238
- upstreamSchema
239
- }) {
240
- const tables = options.ledgerTables(upstreamSchema);
241
- const table = quoteSQLiteIdentifier(tables.mutations);
242
- const key = ledgerKey(tables);
243
- await options.transactionProvider(async executor => {
244
- if (!options.initializedLedgers.has(key)) {
245
- await createLedgerTables(executor, tables);
246
- }
247
- for (const mutation of mutations) {
248
- await executor.exec(`INSERT INTO ${table}
249
- (clientGroupID, clientID, mutationID, result)
250
- VALUES (?, ?, ?, ?)
251
- ON CONFLICT (clientGroupID, clientID, mutationID) DO NOTHING`, [clientGroupID, mutation.id.clientID, mutation.id.id, JSON.stringify(mutation.result)]);
252
- }
253
- });
254
- options.initializedLedgers.add(key);
255
- }
256
- async function createLedgerTables(executor, tables) {
257
- await executor.exec(`CREATE TABLE IF NOT EXISTS ${quoteSQLiteIdentifier(tables.clients)} (
258
- clientGroupID TEXT NOT NULL,
259
- clientID TEXT NOT NULL,
260
- lastMutationID INTEGER NOT NULL,
261
- PRIMARY KEY (clientGroupID, clientID)
262
- )`);
263
- await executor.exec(`CREATE TABLE IF NOT EXISTS ${quoteSQLiteIdentifier(tables.mutations)} (
264
- clientGroupID TEXT NOT NULL,
265
- clientID TEXT NOT NULL,
266
- mutationID INTEGER NOT NULL,
267
- result TEXT NOT NULL,
268
- PRIMARY KEY (clientGroupID, clientID, mutationID)
269
- )`);
270
- }
271
- function ledgerKey(tables) {
272
- return `${tables.clients}\0${tables.mutations}`;
273
- }
274
- function defaultLedgerTables(upstreamSchema) {
275
- const prefix = upstreamSchema ? `${upstreamSchema}_` : "";
276
- return {
277
- clients: `${prefix}clients`,
278
- mutations: `${prefix}mutations`
279
- };
280
- }
281
- function encodeSQLiteValue(value, {
282
- column
283
- }) {
284
- if (value === null) return null;
285
- if (column.type === "boolean") return value ? 1 : 0;
286
- if (column.type === "json") return JSON.stringify(value);
287
- return value;
288
- }
289
- function quoteSQLiteIdentifier(value) {
290
- return `"${value.replaceAll('"', '""')}"`;
291
- }
292
- export { createZeroSQLiteServer, createZeroSQLiteTransaction };
23
+ export { createZeroSQLiteServer };
293
24
  //# sourceMappingURL=createZeroSQLiteServer.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["createBuilder","asQueryInternals","createZeroServerCore","createZeroSQLiteServer","encodeValue","encodeSQLiteValue","ledgerTables","defaultLedgerTables","transactionProvider","options","databaseOptions","initializedLedgers","Set","schema","createDatabase","createSQLiteDatabase","persistAlreadyProcessed","args","persistAlreadyProcessedMutationResults","transaction","callback","input","committedLedgers","value","executor","attemptLedgers","ensureLedger","upstreamSchema","tables","key","ledgerKey","has","createLedgerTables","add","createZeroSQLiteTransaction","result","createLedgerHooks","transactionOptions","clientID","mutationID","mutate","Proxy","get","_target","tableKey","tableName","String","Error","_innerTarget","kindKey","kind","isCrudKind","executeCrud","runQuery","ast","format","queryName","Promise","resolve","queryAst","dbTransaction","wrappedTransaction","query","sql","location","enableLegacyQueries","createLegacyQueryBuilder","internals","customQueryID","name","reason","run","raw","Array","isArray","table","values","Object","fromEntries","entries","filter","columnName","keys","columns","primaryValues","primaryKey","map","encodeColumn","primaryWhere","quoteSQLiteIdentifier","serverColumn","join","serverTableName","serverName","exec","columnNames","length","serverColumns","params","insert","mutableColumns2","includes","conflictColumns","conflictAction","column","mutableColumns","builder","target","property","makeRunnableQuery","Reflect","isQueryBuilder","apply","clientGroupID","clientsTable","clients","mutationsTable","mutations","updateClientMutationID","rows","lastMutationID","writeMutationResult","id","JSON","stringify","deleteMutationResults","type","clientIDs","upToMutationID","mutation","prefix","replaceAll"],"sources":["../../src/createZeroSQLiteServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createZeroServerCore","createSQLiteDatabase","defaultLedgerTables","encodeSQLiteValue","persistAlreadyProcessedMutationResults","createZeroSQLiteServer","encodeValue","ledgerTables","transactionProvider","options","databaseOptions","initializedLedgers","Set","schema","createDatabase","persistAlreadyProcessed","args"],"sources":["../../src/createZeroSQLiteServer.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,oBAAA,QAA4B;AACrC,SACEC,oBAAA,EACAC,mBAAA,EACAC,iBAAA,EACAC,sCAAA,QAIK;AA8CP,cAAc;AA9BP,SAASC,uBAId;EACAC,WAAA,GAAcH,iBAAA;EACdI,YAAA,GAAeL,mBAAA;EACfM,mBAAA;EACA,GAAGC;AACL,GAIE;EACA,MAAMC,eAAA,GAAkB;IACtBJ,WAAA;IACAK,kBAAA,EAAoB,mBAAIC,GAAA,CAAY;IACpCL,YAAA;IACAM,MAAA,EAAQJ,OAAA,CAAQI,MAAA;IAChBL;EACF;EAEA,OAAOR,oBAAA,CAAqB;IAC1B,GAAGS,OAAA;IACHK,cAAA,EAAgBA,CAAA,KAAMb,oBAAA,CAAqBS,eAAe;IAC1DK,uBAAA,EAA0BC,IAAA,IACxBZ,sCAAA,CAAuCM,eAAA,EAAiBM,IAAI;EAChE,CAAC;AACH","ignoreList":[]}