@omujs/omu 0.2.0 → 0.3.4

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 (73) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/built/dts/client.d.ts +4 -4
  3. package/built/dts/client.d.ts.map +1 -1
  4. package/built/dts/event-emitter.d.ts +3 -3
  5. package/built/dts/event-emitter.d.ts.map +1 -1
  6. package/built/dts/extension/registry/registry-extension.d.ts.map +1 -1
  7. package/built/dts/extension/signal/signal.d.ts +2 -1
  8. package/built/dts/extension/signal/signal.d.ts.map +1 -1
  9. package/built/dts/extension/table/packets.d.ts +8 -0
  10. package/built/dts/extension/table/packets.d.ts.map +1 -1
  11. package/built/dts/extension/table/table-extension.d.ts.map +1 -1
  12. package/built/dts/extension/table/table.d.ts +9 -5
  13. package/built/dts/extension/table/table.d.ts.map +1 -1
  14. package/built/dts/network/network.d.ts +4 -4
  15. package/built/dts/network/network.d.ts.map +1 -1
  16. package/built/dts/omu.d.ts +1 -1
  17. package/built/dts/omu.d.ts.map +1 -1
  18. package/built/esm/event-emitter.js.map +1 -1
  19. package/built/esm/extension/dashboard/dashboard-extension.js +1 -1
  20. package/built/esm/extension/dashboard/dashboard-extension.js.map +1 -1
  21. package/built/esm/extension/logger/logger-extension.js +1 -1
  22. package/built/esm/extension/logger/logger-extension.js.map +1 -1
  23. package/built/esm/extension/registry/registry-extension.js +2 -1
  24. package/built/esm/extension/registry/registry-extension.js.map +1 -1
  25. package/built/esm/extension/signal/signal-extension.js +1 -1
  26. package/built/esm/extension/signal/signal-extension.js.map +1 -1
  27. package/built/esm/extension/signal/signal.js +2 -2
  28. package/built/esm/extension/signal/signal.js.map +1 -1
  29. package/built/esm/extension/table/packets.js +32 -8
  30. package/built/esm/extension/table/packets.js.map +1 -1
  31. package/built/esm/extension/table/table-extension.js +19 -3
  32. package/built/esm/extension/table/table-extension.js.map +1 -1
  33. package/built/esm/extension/table/table.js.map +1 -1
  34. package/built/esm/network/network.js.map +1 -1
  35. package/built/esm/omu.js +1 -1
  36. package/built/esm/omu.js.map +1 -1
  37. package/package.json +46 -47
  38. package/src/client.ts +4 -4
  39. package/src/event-emitter.ts +4 -4
  40. package/src/extension/dashboard/dashboard-extension.ts +1 -1
  41. package/src/extension/logger/logger-extension.ts +1 -1
  42. package/src/extension/registry/registry-extension.ts +4 -3
  43. package/src/extension/signal/signal-extension.ts +1 -1
  44. package/src/extension/signal/signal.ts +28 -24
  45. package/src/extension/table/packets.ts +41 -25
  46. package/src/extension/table/table-extension.ts +42 -15
  47. package/src/extension/table/table.ts +8 -7
  48. package/src/network/network.ts +5 -5
  49. package/src/omu.ts +1 -1
  50. package/built/dts/client/client.d.ts +0 -47
  51. package/built/dts/client/client.d.ts.map +0 -1
  52. package/built/dts/client/index.d.ts +0 -2
  53. package/built/dts/client/index.d.ts.map +0 -1
  54. package/built/dts/client/omu.d.ts +0 -53
  55. package/built/dts/client/omu.d.ts.map +0 -1
  56. package/built/dts/client/omuclient.d.ts +0 -50
  57. package/built/dts/client/omuclient.d.ts.map +0 -1
  58. package/built/dts/client/token.d.ts +0 -14
  59. package/built/dts/client/token.d.ts.map +0 -1
  60. package/built/dts/extension/server/packets.d.ts +0 -8
  61. package/built/dts/extension/server/packets.d.ts.map +0 -1
  62. package/built/esm/client/client.js +0 -2
  63. package/built/esm/client/client.js.map +0 -1
  64. package/built/esm/client/index.js +0 -2
  65. package/built/esm/client/index.js.map +0 -1
  66. package/built/esm/client/omu.js +0 -96
  67. package/built/esm/client/omu.js.map +0 -1
  68. package/built/esm/client/omuclient.js +0 -96
  69. package/built/esm/client/omuclient.js.map +0 -1
  70. package/built/esm/client/token.js +0 -21
  71. package/built/esm/client/token.js.map +0 -1
  72. package/built/esm/extension/server/packets.js +0 -25
  73. package/built/esm/extension/server/packets.js.map +0 -1
@@ -15,6 +15,7 @@ import {
15
15
  SetConfigPacket,
16
16
  SetPermissionPacket,
17
17
  TableFetchPacket,
18
+ TableFetchRangePacket,
18
19
  TableItemsPacket,
19
20
  TableKeysPacket,
20
21
  TablePacket,
@@ -88,6 +89,15 @@ const TABLE_FETCH_ENDPOINT = EndpointType.createSerialized<TableFetchPacket, Tab
88
89
  permissionId: TABLE_PERMISSION_ID,
89
90
  },
90
91
  );
92
+ const TABLE_FETCH_RANGE_ENDPOINT = EndpointType.createSerialized<
93
+ TableFetchRangePacket,
94
+ TableItemsPacket
95
+ >(TABLE_EXTENSION_TYPE, {
96
+ name: 'fetch_range',
97
+ requestSerializer: TableFetchRangePacket,
98
+ responseSerializer: TableItemsPacket,
99
+ permissionId: TABLE_PERMISSION_ID,
100
+ });
91
101
  const TABLE_FETCH_ALL_ENDPOINT = EndpointType.createSerialized<TablePacket, TableItemsPacket>(
92
102
  TABLE_EXTENSION_TYPE,
93
103
  {
@@ -189,11 +199,11 @@ class TableImpl<T> implements Table<T> {
189
199
  this.keyFunction = tableType.keyFunction;
190
200
  this.cache = new Map();
191
201
  this.event = {
192
- add: new EventEmitter<(items: Map<string, T>) => void>(),
193
- update: new EventEmitter<(items: Map<string, T>) => void>(),
194
- remove: new EventEmitter<(items: Map<string, T>) => void>(),
195
- clear: new EventEmitter<() => void>(),
196
- cacheUpdate: new EventEmitter<(items: Map<string, T>) => void>(),
202
+ add: new EventEmitter<[Map<string, T>]>(),
203
+ update: new EventEmitter<[Map<string, T>]>(),
204
+ remove: new EventEmitter<[Map<string, T>]>(),
205
+ clear: new EventEmitter<[]>(),
206
+ cacheUpdate: new EventEmitter<[Map<string, T>]>(),
197
207
  };
198
208
  this.promiseMap = new Map();
199
209
  this.proxies = [];
@@ -278,7 +288,7 @@ class TableImpl<T> implements Table<T> {
278
288
 
279
289
  public listen(listener?: (items: Map<string, T>) => void): Unlisten {
280
290
  if (!this.listening) {
281
- this.client.whenReady(() => {
291
+ this.client.onReady(() => {
282
292
  this.client.send(TABLE_LISTEN_PACKET, this.id);
283
293
  });
284
294
  this.listening = true;
@@ -292,7 +302,7 @@ class TableImpl<T> implements Table<T> {
292
302
  public proxy(callback: (item: T) => T | undefined): Unlisten {
293
303
  if (this.proxies.length === 0) {
294
304
  let cancel = (): void => {};
295
- cancel = this.client.whenReady(() => {
305
+ cancel = this.client.onReady(() => {
296
306
  if (this.proxies.length === 0) {
297
307
  cancel();
298
308
  return;
@@ -419,6 +429,23 @@ class TableImpl<T> implements Table<T> {
419
429
  return items;
420
430
  }
421
431
 
432
+ public async fetchRange({
433
+ start,
434
+ end,
435
+ }: {
436
+ start: string;
437
+ end: string;
438
+ }): Promise<Map<string, T>> {
439
+ const res = await this.client.endpoints.call(TABLE_FETCH_RANGE_ENDPOINT, {
440
+ id: this.id,
441
+ start,
442
+ end,
443
+ });
444
+ const items = this.deserializeItems(res.items);
445
+ this.updateCache(items);
446
+ return items;
447
+ }
448
+
422
449
  public async fetchAll(): Promise<Map<string, T>> {
423
450
  const res = await this.client.endpoints.call(TABLE_FETCH_ALL_ENDPOINT, {
424
451
  id: this.id,
@@ -438,15 +465,15 @@ class TableImpl<T> implements Table<T> {
438
465
  let items: Map<string, T> = await this.fetchItems(
439
466
  backward
440
467
  ? {
441
- before: 0,
442
- after: this.cacheSize ?? 100,
443
- cursor,
444
- }
468
+ before: 0,
469
+ after: this.cacheSize ?? 100,
470
+ cursor,
471
+ }
445
472
  : {
446
- before: this.cacheSize ?? 100,
447
- after: 0,
448
- cursor,
449
- },
473
+ before: this.cacheSize ?? 100,
474
+ after: 0,
475
+ cursor,
476
+ },
450
477
  );
451
478
  yield* items.values();
452
479
  while (items.size > 0) {
@@ -29,6 +29,7 @@ export interface Table<T> {
29
29
  after?: number;
30
30
  cursor?: string;
31
31
  }): Promise<Map<string, T>>;
32
+ fetchRange({ start, end }: { start: string; end: string }): Promise<Map<string, T>>;
32
33
  fetchAll(): Promise<Map<string, T>>;
33
34
  iterate({ backward, cursor }: { backward?: boolean; cursor?: string }): AsyncIterable<T>;
34
35
  size(): Promise<number>;
@@ -42,12 +43,12 @@ export interface Table<T> {
42
43
  }
43
44
 
44
45
  export type TableEvents<T> = {
45
- add: EventEmitter<(items: Map<string, T>) => void>;
46
- update: EventEmitter<(items: Map<string, T>) => void>;
47
- remove: EventEmitter<(items: Map<string, T>) => void>;
48
- clear: EventEmitter<() => void>;
49
- cacheUpdate: EventEmitter<(items: Map<string, T>) => void>;
50
- }
46
+ add: EventEmitter<[Map<string, T>]>;
47
+ update: EventEmitter<[Map<string, T>]>;
48
+ remove: EventEmitter<[Map<string, T>]>;
49
+ clear: EventEmitter<[]>;
50
+ cacheUpdate: EventEmitter<[Map<string, T>]>;
51
+ };
51
52
 
52
53
  export type TablePermissions = {
53
54
  all?: Identifier;
@@ -63,7 +64,7 @@ export class TableType<T> {
63
64
  public serializer: Serializable<T, Uint8Array>,
64
65
  public keyFunction: (item: T) => string,
65
66
  public permissions?: TablePermissions,
66
- ) { }
67
+ ) {}
67
68
 
68
69
  public static createModel<T extends Keyable & Model<D>, D = unknown>(
69
70
  identifier: Identifier | ExtensionType,
@@ -20,7 +20,7 @@ import type { Packet, PacketType } from './packet/packet.js';
20
20
 
21
21
  type PacketHandler<T> = {
22
22
  readonly type: PacketType<T>;
23
- event: EventEmitter<(packet: T) => void>;
23
+ event: EventEmitter<[T]>;
24
24
  };
25
25
 
26
26
  export enum NetworkStatus {
@@ -35,10 +35,10 @@ export enum NetworkStatus {
35
35
  export class Network {
36
36
  public status: NetworkStatus = NetworkStatus.DISCONNECTED;
37
37
  public readonly event = {
38
- connected: new EventEmitter<() => void>(),
39
- disconnected: new EventEmitter<() => void>(),
40
- packet: new EventEmitter<(packet: Packet) => void>(),
41
- status: new EventEmitter<(status: NetworkStatus) => void>(),
38
+ connected: new EventEmitter<[]>(),
39
+ disconnected: new EventEmitter<[]>(),
40
+ packet: new EventEmitter<[Packet]>(),
41
+ status: new EventEmitter<[NetworkStatus]>(),
42
42
  };
43
43
  private readonly tasks: Array<() => Promise<void> | void> = [];
44
44
  private readonly packetMapper = new PacketMapper();
package/src/omu.ts CHANGED
@@ -114,7 +114,7 @@ export class Omu implements Client {
114
114
  this.event.stopped.emit();
115
115
  }
116
116
 
117
- public whenReady(callback: () => void): Unlisten {
117
+ public onReady(callback: () => void): Unlisten {
118
118
  if (this.ready) {
119
119
  callback();
120
120
  }
@@ -1,47 +0,0 @@
1
- import type { App } from './app.js';
2
- import type { EventEmitter, Unlisten } from './event-emitter.js';
3
- import type { AssetExtension } from './extension/asset/index.js';
4
- import type { DashboardExtension } from './extension/dashboard/index.js';
5
- import type { EndpointExtension } from './extension/endpoint/index.js';
6
- import type { I18nExtension } from './extension/i18n/index.js';
7
- import type { ExtensionRegistry } from './extension/index.js';
8
- import type { LoggerExtension } from './extension/logger/logger-extension.js';
9
- import type { PermissionExtension } from './extension/permission/index.js';
10
- import type { PluginExtension } from './extension/plugin/index.js';
11
- import type { RegistryExtension } from './extension/registry/index.js';
12
- import type { ServerExtension } from './extension/server/index.js';
13
- import type { SignalExtension } from './extension/signal/index.js';
14
- import type { TableExtension } from './extension/table/index.js';
15
- import type { Network } from './network/index.js';
16
- import type { PacketType } from './network/packet/packet.js';
17
- import type { TokenProvider } from './client/token.js';
18
- export type ClientEvents = {
19
- started: EventEmitter<() => void>;
20
- stopped: EventEmitter<() => void>;
21
- ready: EventEmitter<() => void>;
22
- };
23
- export interface Omu {
24
- readonly ready: boolean;
25
- readonly running: boolean;
26
- readonly app: App;
27
- readonly token: TokenProvider;
28
- readonly network: Network;
29
- readonly extensions: ExtensionRegistry;
30
- readonly endpoints: EndpointExtension;
31
- readonly permissions: PermissionExtension;
32
- readonly plugins: PluginExtension;
33
- readonly dashboard: DashboardExtension;
34
- readonly tables: TableExtension;
35
- readonly registry: RegistryExtension;
36
- readonly signal: SignalExtension;
37
- readonly assets: AssetExtension;
38
- readonly i18n: I18nExtension;
39
- readonly server: ServerExtension;
40
- readonly logger: LoggerExtension;
41
- start(): void;
42
- stop(): void;
43
- send<T>(type: PacketType<T>, data: T): void;
44
- event: ClientEvents;
45
- whenReady(callback: () => void): Unlisten;
46
- }
47
- //# sourceMappingURL=client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/client/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,MAAM,YAAY,GAAG;IACvB,OAAO,EAAE,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC;IAClC,OAAO,EAAE,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC;IAClC,KAAK,EAAE,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,WAAW,GAAG;IAChB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IAEjC,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,IAAI,CAAC;IACb,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAE5C,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,QAAQ,CAAC;CAC7C"}
@@ -1,2 +0,0 @@
1
- export type { Omu as Client } from '../client.ts';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,GAAG,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC"}
@@ -1,53 +0,0 @@
1
- import type { App } from '../app.js';
2
- import type { Unlisten } from '../event-emitter.js';
3
- import { type AssetExtension } from '../extension/asset/index.js';
4
- import { type DashboardExtension } from '../extension/dashboard/index.js';
5
- import { type EndpointExtension } from '../extension/endpoint/index.js';
6
- import { type I18nExtension } from '../extension/i18n/index.js';
7
- import { ExtensionRegistry } from '../extension/index.js';
8
- import { type LoggerExtension } from '../extension/logger/index.js';
9
- import { type PermissionExtension } from '../extension/permission/index.js';
10
- import { type PluginExtension } from '../extension/plugin/index.js';
11
- import { type RegistryExtension } from '../extension/registry/index.js';
12
- import { type ServerExtension } from '../extension/server/index.js';
13
- import { type SignalExtension } from '../extension/signal/index.js';
14
- import { type TableExtension } from '../extension/table/index.js';
15
- import type { Address, Connection } from '../network/index.js';
16
- import { Network } from '../network/index.js';
17
- import type { PacketType } from '../network/packet/packet.js';
18
- import type { Omu, ClientEvents } from '../client.ts';
19
- import { type TokenProvider } from '../token.ts';
20
- export declare class OmuClient implements Omu {
21
- readonly app: App;
22
- ready: boolean;
23
- running: boolean;
24
- readonly event: ClientEvents;
25
- readonly token: TokenProvider;
26
- readonly address: Address;
27
- readonly network: Network;
28
- readonly endpoints: EndpointExtension;
29
- readonly permissions: PermissionExtension;
30
- readonly plugins: PluginExtension;
31
- readonly dashboard: DashboardExtension;
32
- readonly extensions: ExtensionRegistry;
33
- readonly tables: TableExtension;
34
- readonly registry: RegistryExtension;
35
- readonly signal: SignalExtension;
36
- readonly assets: AssetExtension;
37
- readonly i18n: I18nExtension;
38
- readonly server: ServerExtension;
39
- readonly logger: LoggerExtension;
40
- constructor(
41
- app: App,
42
- options?: {
43
- address?: Address;
44
- token?: TokenProvider;
45
- connection?: Connection;
46
- },
47
- );
48
- send<T>(packetType: PacketType<T>, data: T): void;
49
- start(): void;
50
- stop(): void;
51
- whenReady(callback: () => void): Unlisten;
52
- }
53
- //# sourceMappingURL=omu.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"omu.d.ts","sourceRoot":"","sources":["../../../src/client/omu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAA4B,KAAK,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACpG,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACjG,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC3F,OAAO,EAEH,KAAK,mBAAmB,EAC3B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC3F,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACjG,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC3F,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC3F,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAG9D,OAAO,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAEtE,qBAAa,SAAU,YAAW,GAAG;aAyBb,GAAG,EAAE,GAAG;IAxBrB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAI1B;IACF,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;gBAGb,GAAG,EAAE,GAAG,EACxB,OAAO,CAAC,EAAE;QACN,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,KAAK,CAAC,EAAE,aAAa,CAAC;QACtB,UAAU,CAAC,EAAE,UAAU,CAAC;KAC3B;IAqCE,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI;IAOjD,KAAK,IAAI,IAAI;IASb,IAAI,IAAI,IAAI;IAKZ,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,QAAQ;CAMnD"}
@@ -1,50 +0,0 @@
1
- import type { App } from '../app.js';
2
- import type { Unlisten } from '../event-emitter.js';
3
- import { type AssetExtension } from '../extension/asset/index.js';
4
- import { type DashboardExtension } from '../extension/dashboard/index.js';
5
- import { type EndpointExtension } from '../extension/endpoint/index.js';
6
- import { type I18nExtension } from '../extension/i18n/index.js';
7
- import { ExtensionRegistry } from '../extension/index.js';
8
- import { type LoggerExtension } from '../extension/logger/index.js';
9
- import { type PermissionExtension } from '../extension/permission/index.js';
10
- import { type PluginExtension } from '../extension/plugin/index.js';
11
- import { type RegistryExtension } from '../extension/registry/index.js';
12
- import { type ServerExtension } from '../extension/server/index.js';
13
- import { type SignalExtension } from '../extension/signal/index.js';
14
- import { type TableExtension } from '../extension/table/index.js';
15
- import type { Address, Connection } from '../network/index.js';
16
- import { Network } from '../network/index.js';
17
- import type { PacketType } from '../network/packet/packet.js';
18
- import type { Client, ClientEvents } from './client.js';
19
- import { type TokenProvider } from './token.js';
20
- export declare class OmuClient implements Client {
21
- readonly app: App;
22
- ready: boolean;
23
- running: boolean;
24
- readonly event: ClientEvents;
25
- readonly token: TokenProvider;
26
- readonly address: Address;
27
- readonly network: Network;
28
- readonly endpoints: EndpointExtension;
29
- readonly permissions: PermissionExtension;
30
- readonly plugins: PluginExtension;
31
- readonly dashboard: DashboardExtension;
32
- readonly extensions: ExtensionRegistry;
33
- readonly tables: TableExtension;
34
- readonly registry: RegistryExtension;
35
- readonly signal: SignalExtension;
36
- readonly assets: AssetExtension;
37
- readonly i18n: I18nExtension;
38
- readonly server: ServerExtension;
39
- readonly logger: LoggerExtension;
40
- constructor(app: App, options: {
41
- address?: Address;
42
- token?: TokenProvider;
43
- connection?: Connection;
44
- });
45
- send<T>(packetType: PacketType<T>, data: T): void;
46
- start(): void;
47
- stop(): void;
48
- whenReady(callback: () => void): Unlisten;
49
- }
50
- //# sourceMappingURL=omuclient.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"omuclient.d.ts","sourceRoot":"","sources":["../../../src/client/omuclient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAA4B,KAAK,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACpG,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACjG,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC3F,OAAO,EAEH,KAAK,mBAAmB,EAC3B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC3F,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACjG,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC3F,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC3F,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAG9D,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAEtE,qBAAa,SAAU,YAAW,MAAM;aAyBhB,GAAG,EAAE,GAAG;IAxBrB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAI1B;IACF,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;gBAGb,GAAG,EAAE,GAAG,EACxB,OAAO,EAAE;QACL,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,KAAK,CAAC,EAAE,aAAa,CAAC;QACtB,UAAU,CAAC,EAAE,UAAU,CAAC;KAC3B;IAqCE,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI;IAOjD,KAAK,IAAI,IAAI;IASb,IAAI,IAAI,IAAI;IAKZ,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,QAAQ;CAMnD"}
@@ -1,14 +0,0 @@
1
- import type { Address } from './address.js';
2
- import type { App } from './index.js';
3
- export interface TokenProvider {
4
- get(serverAddress: Address, app: App): Promise<string | undefined>;
5
- set(serverAddress: Address, app: App, token: string): Promise<void>;
6
- }
7
- export declare class BrowserTokenProvider implements TokenProvider {
8
- private readonly key;
9
- constructor(key: string);
10
- private getKey;
11
- set(serverAddress: Address, app: App, token: string): Promise<void>;
12
- get(serverAddress: Address, app: App): Promise<string | undefined>;
13
- }
14
- //# sourceMappingURL=token.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../src/client/token.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,WAAW,aAAa;IAC1B,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACnE,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvE;AAED,qBAAa,oBAAqB,YAAW,aAAa;IAC1C,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,MAAM;IAExC,OAAO,CAAC,MAAM;IAID,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnE,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAKlF"}
@@ -1,8 +0,0 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- export declare class ConsolePacket {
3
- lines: string[];
4
- constructor(lines: string[]);
5
- static serialize(item: ConsolePacket): Uint8Array;
6
- static deserialize(item: Buffer): ConsolePacket;
7
- }
8
- //# sourceMappingURL=packets.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"packets.d.ts","sourceRoot":"","sources":["../../../../src/extension/server/packets.ts"],"names":[],"mappings":";AAEA,qBAAa,aAAa;IACH,KAAK,EAAE,MAAM,EAAE;gBAAf,KAAK,EAAE,MAAM,EAAE;IAElC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,UAAU;IASjD,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;CASlD"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/client/client.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":""}
@@ -1,96 +0,0 @@
1
- import { EventEmitter } from '../event-emitter.js';
2
- import { ASSET_EXTENSION_TYPE } from '../extension/asset/index.js';
3
- import { DASHBOARD_EXTENSION_TYPE } from '../extension/dashboard/index.js';
4
- import { ENDPOINT_EXTENSION_TYPE } from '../extension/endpoint/index.js';
5
- import { I18N_EXTENSION_TYPE } from '../extension/i18n/index.js';
6
- import { ExtensionRegistry } from '../extension/index.js';
7
- import { LOGGER_EXTENSION_TYPE } from '../extension/logger/index.js';
8
- import { PERMISSION_EXTENSION_TYPE, } from '../extension/permission/index.js';
9
- import { PLUGIN_EXTENSION_TYPE } from '../extension/plugin/index.js';
10
- import { REGISTRY_EXTENSION_TYPE } from '../extension/registry/index.js';
11
- import { SERVER_EXTENSION_TYPE } from '../extension/server/index.js';
12
- import { SIGNAL_EXTENSION_TYPE } from '../extension/signal/index.js';
13
- import { TABLE_EXTENSION_TYPE } from '../extension/table/index.js';
14
- import { Network } from '../network/index.js';
15
- import { WebsocketConnection } from '../network/websocket-connection.js';
16
- import { BrowserTokenProvider } from './token.js';
17
- export class OmuClient {
18
- app;
19
- ready;
20
- running;
21
- event = {
22
- started: new EventEmitter(),
23
- stopped: new EventEmitter(),
24
- ready: new EventEmitter(),
25
- };
26
- token;
27
- address;
28
- network;
29
- endpoints;
30
- permissions;
31
- plugins;
32
- dashboard;
33
- extensions;
34
- tables;
35
- registry;
36
- signal;
37
- assets;
38
- i18n;
39
- server;
40
- logger;
41
- constructor(app, options) {
42
- this.app = app;
43
- this.ready = false;
44
- this.running = false;
45
- this.token = options?.token ?? new BrowserTokenProvider('omu-token');
46
- this.address = options?.address ?? {
47
- host: '127.0.0.1',
48
- port: 26423,
49
- secure: false,
50
- };
51
- this.network = new Network(this, this.address, this.token, options?.connection ?? new WebsocketConnection(this.address));
52
- this.extensions = new ExtensionRegistry(this);
53
- this.endpoints = this.extensions.register(ENDPOINT_EXTENSION_TYPE);
54
- this.permissions = this.extensions.register(PERMISSION_EXTENSION_TYPE);
55
- this.plugins = this.extensions.register(PLUGIN_EXTENSION_TYPE);
56
- this.tables = this.extensions.register(TABLE_EXTENSION_TYPE);
57
- this.dashboard = this.extensions.register(DASHBOARD_EXTENSION_TYPE);
58
- this.registry = this.extensions.register(REGISTRY_EXTENSION_TYPE);
59
- this.signal = this.extensions.register(SIGNAL_EXTENSION_TYPE);
60
- this.assets = this.extensions.register(ASSET_EXTENSION_TYPE);
61
- this.i18n = this.extensions.register(I18N_EXTENSION_TYPE);
62
- this.server = this.extensions.register(SERVER_EXTENSION_TYPE);
63
- this.logger = this.extensions.register(LOGGER_EXTENSION_TYPE);
64
- this.event.ready.listen(() => {
65
- this.ready = true;
66
- });
67
- this.network.event.disconnected.listen(() => {
68
- this.ready = false;
69
- });
70
- }
71
- send(packetType, data) {
72
- this.network.send({
73
- type: packetType,
74
- data,
75
- });
76
- }
77
- start() {
78
- if (this.running) {
79
- throw new Error('Client already running');
80
- }
81
- this.running = true;
82
- this.network.connect();
83
- this.event.started.emit();
84
- }
85
- stop() {
86
- this.running = false;
87
- this.event.stopped.emit();
88
- }
89
- whenReady(callback) {
90
- if (this.ready) {
91
- callback();
92
- }
93
- return this.event.ready.listen(callback);
94
- }
95
- }
96
- //# sourceMappingURL=omu.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"omu.js","sourceRoot":"","sources":["../../../src/client/omu.ts"],"names":[],"mappings":"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"}
@@ -1,96 +0,0 @@
1
- import { EventEmitter } from '../event-emitter.js';
2
- import { ASSET_EXTENSION_TYPE } from '../extension/asset/index.js';
3
- import { DASHBOARD_EXTENSION_TYPE } from '../extension/dashboard/index.js';
4
- import { ENDPOINT_EXTENSION_TYPE } from '../extension/endpoint/index.js';
5
- import { I18N_EXTENSION_TYPE } from '../extension/i18n/index.js';
6
- import { ExtensionRegistry } from '../extension/index.js';
7
- import { LOGGER_EXTENSION_TYPE } from '../extension/logger/index.js';
8
- import { PERMISSION_EXTENSION_TYPE, } from '../extension/permission/index.js';
9
- import { PLUGIN_EXTENSION_TYPE } from '../extension/plugin/index.js';
10
- import { REGISTRY_EXTENSION_TYPE } from '../extension/registry/index.js';
11
- import { SERVER_EXTENSION_TYPE } from '../extension/server/index.js';
12
- import { SIGNAL_EXTENSION_TYPE } from '../extension/signal/index.js';
13
- import { TABLE_EXTENSION_TYPE } from '../extension/table/index.js';
14
- import { Network } from '../network/index.js';
15
- import { WebsocketConnection } from '../network/websocket-connection.js';
16
- import { BrowserTokenProvider } from './token.js';
17
- export class OmuClient {
18
- app;
19
- ready;
20
- running;
21
- event = {
22
- started: new EventEmitter(),
23
- stopped: new EventEmitter(),
24
- ready: new EventEmitter(),
25
- };
26
- token;
27
- address;
28
- network;
29
- endpoints;
30
- permissions;
31
- plugins;
32
- dashboard;
33
- extensions;
34
- tables;
35
- registry;
36
- signal;
37
- assets;
38
- i18n;
39
- server;
40
- logger;
41
- constructor(app, options) {
42
- this.app = app;
43
- this.ready = false;
44
- this.running = false;
45
- this.token = options.token ?? new BrowserTokenProvider('omu-token');
46
- this.address = options.address ?? {
47
- host: '127.0.0.1',
48
- port: 26423,
49
- secure: false,
50
- };
51
- this.network = new Network(this, this.address, this.token, options.connection ?? new WebsocketConnection(this.address));
52
- this.extensions = new ExtensionRegistry(this);
53
- this.endpoints = this.extensions.register(ENDPOINT_EXTENSION_TYPE);
54
- this.permissions = this.extensions.register(PERMISSION_EXTENSION_TYPE);
55
- this.plugins = this.extensions.register(PLUGIN_EXTENSION_TYPE);
56
- this.tables = this.extensions.register(TABLE_EXTENSION_TYPE);
57
- this.dashboard = this.extensions.register(DASHBOARD_EXTENSION_TYPE);
58
- this.registry = this.extensions.register(REGISTRY_EXTENSION_TYPE);
59
- this.signal = this.extensions.register(SIGNAL_EXTENSION_TYPE);
60
- this.assets = this.extensions.register(ASSET_EXTENSION_TYPE);
61
- this.i18n = this.extensions.register(I18N_EXTENSION_TYPE);
62
- this.server = this.extensions.register(SERVER_EXTENSION_TYPE);
63
- this.logger = this.extensions.register(LOGGER_EXTENSION_TYPE);
64
- this.event.ready.listen(() => {
65
- this.ready = true;
66
- });
67
- this.network.event.disconnected.listen(() => {
68
- this.ready = false;
69
- });
70
- }
71
- send(packetType, data) {
72
- this.network.send({
73
- type: packetType,
74
- data,
75
- });
76
- }
77
- start() {
78
- if (this.running) {
79
- throw new Error('Client already running');
80
- }
81
- this.running = true;
82
- this.network.connect();
83
- this.event.started.emit();
84
- }
85
- stop() {
86
- this.running = false;
87
- this.event.stopped.emit();
88
- }
89
- whenReady(callback) {
90
- if (this.ready) {
91
- callback();
92
- }
93
- return this.event.ready.listen(callback);
94
- }
95
- }
96
- //# sourceMappingURL=omuclient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"omuclient.js","sourceRoot":"","sources":["../../../src/client/omuclient.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- export class BrowserTokenProvider {
2
- key;
3
- constructor(key) {
4
- this.key = key;
5
- }
6
- getKey(serverAddress, app) {
7
- return JSON.stringify([serverAddress.host, serverAddress.port, app.key()]);
8
- }
9
- async set(serverAddress, app, token) {
10
- const tokens = JSON.parse(localStorage.getItem(this.key) || '{}');
11
- const key = this.getKey(serverAddress, app);
12
- tokens[key] = token;
13
- localStorage.setItem(this.key, JSON.stringify(tokens));
14
- }
15
- async get(serverAddress, app) {
16
- const tokens = JSON.parse(localStorage.getItem(this.key) || '{}');
17
- const key = this.getKey(serverAddress, app);
18
- return Promise.resolve(tokens[key] || null);
19
- }
20
- }
21
- //# sourceMappingURL=token.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/client/token.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,oBAAoB;IACA;IAA7B,YAA6B,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;IAAG,CAAC;IAEpC,MAAM,CAAC,aAAsB,EAAE,GAAQ;QAC3C,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC/E,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,aAAsB,EAAE,GAAQ,EAAE,KAAa;QAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACpB,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,aAAsB,EAAE,GAAQ;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAC5C,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC;IAChD,CAAC;CACJ"}