hikoutei 0.5.19 → 0.5.21

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 (116) hide show
  1. package/README.md +17 -0
  2. package/dist/adapter/persistence/contracts/scalar.d.ts +34 -0
  3. package/dist/adapter/persistence/contracts/scalar.d.ts.map +1 -1
  4. package/dist/adapter/persistence/contracts/scalar.js +6 -1
  5. package/dist/adapter/persistence/contracts/scalar.js.map +1 -1
  6. package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.d.ts +19 -20
  7. package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.d.ts.map +1 -1
  8. package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.js +117 -67
  9. package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.js.map +1 -1
  10. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedRuntime.d.ts +31 -0
  11. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedRuntime.d.ts.map +1 -0
  12. package/dist/adapter/persistence/providers/mikro-orm/engine/{MikroOrmMappedTypedSheets.js → MikroOrmMappedRuntime.js} +10 -31
  13. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedRuntime.js.map +1 -0
  14. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarEntityRuntime.js.map +1 -1
  15. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarRuntime.js.map +1 -1
  16. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarStorage.d.ts +12 -0
  17. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarStorage.d.ts.map +1 -0
  18. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarStorage.js +20 -0
  19. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarStorage.js.map +1 -0
  20. package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.d.ts +2 -7
  21. package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.d.ts.map +1 -1
  22. package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.js +5 -11
  23. package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.js.map +1 -1
  24. package/dist/api/Hikoutei.d.ts.map +1 -1
  25. package/dist/api/Hikoutei.js +3 -4
  26. package/dist/api/Hikoutei.js.map +1 -1
  27. package/dist/api/errors.d.ts +2 -0
  28. package/dist/api/errors.d.ts.map +1 -1
  29. package/dist/api/errors.js +2 -0
  30. package/dist/api/errors.js.map +1 -1
  31. package/dist/api/internalEntityManager.d.ts.map +1 -1
  32. package/dist/api/internalEntityManager.js +31 -9
  33. package/dist/api/internalEntityManager.js.map +1 -1
  34. package/dist/application/orm/mapping/contracts.d.ts +8 -3
  35. package/dist/application/orm/mapping/contracts.d.ts.map +1 -1
  36. package/dist/application/orm/mapping/values.d.ts +2 -0
  37. package/dist/application/orm/mapping/values.d.ts.map +1 -1
  38. package/dist/application/orm/mapping/values.js +10 -3
  39. package/dist/application/orm/mapping/values.js.map +1 -1
  40. package/dist/application/orm/persistence/flush/flushCoordinator.d.ts +2 -2
  41. package/dist/application/orm/persistence/flush/flushCoordinator.d.ts.map +1 -1
  42. package/dist/application/orm/persistence/flush/flushCoordinator.js +9 -16
  43. package/dist/application/orm/persistence/flush/flushCoordinator.js.map +1 -1
  44. package/dist/application/orm/persistence/lifecycle/entityLifecycle.d.ts.map +1 -1
  45. package/dist/application/orm/persistence/lifecycle/entityLifecycle.js +26 -13
  46. package/dist/application/orm/persistence/lifecycle/entityLifecycle.js.map +1 -1
  47. package/dist/application/orm/persistence/projection/projectionEffects.d.ts +2 -2
  48. package/dist/application/orm/persistence/projection/projectionEffects.d.ts.map +1 -1
  49. package/dist/application/orm/persistence/projection/projectionEffects.js +6 -6
  50. package/dist/application/orm/persistence/projection/projectionEffects.js.map +1 -1
  51. package/dist/application/orm/persistence/scalar/unitOfWork.d.ts +21 -2
  52. package/dist/application/orm/persistence/scalar/unitOfWork.d.ts.map +1 -1
  53. package/dist/application/orm/persistence/scalar/unitOfWork.js +107 -8
  54. package/dist/application/orm/persistence/scalar/unitOfWork.js.map +1 -1
  55. package/dist/application/orm/persistence/support/contracts.d.ts +6 -6
  56. package/dist/application/orm/persistence/support/contracts.d.ts.map +1 -1
  57. package/dist/application/orm/persistence/support/contracts.js +0 -2
  58. package/dist/application/orm/persistence/support/contracts.js.map +1 -1
  59. package/dist/application/orm/persistence/support/helpers.d.ts +3 -3
  60. package/dist/application/orm/persistence/support/helpers.d.ts.map +1 -1
  61. package/dist/application/orm/persistence/support/helpers.js +12 -9
  62. package/dist/application/orm/persistence/support/helpers.js.map +1 -1
  63. package/dist/application/orm/persistence/support/timing.d.ts +2 -2
  64. package/dist/application/orm/persistence/support/timing.d.ts.map +1 -1
  65. package/dist/application/orm/persistence/support/timing.js +4 -4
  66. package/dist/application/orm/persistence/support/timing.js.map +1 -1
  67. package/dist/application/sync/service/SyncServiceBootstrap.d.ts.map +1 -1
  68. package/dist/application/sync/service/SyncServiceBootstrap.js +3 -3
  69. package/dist/application/sync/service/SyncServiceBootstrap.js.map +1 -1
  70. package/dist/cli/args.d.ts.map +1 -1
  71. package/dist/cli/args.js +16 -0
  72. package/dist/cli/args.js.map +1 -1
  73. package/dist/cli/keyProvision.d.ts +38 -0
  74. package/dist/cli/keyProvision.d.ts.map +1 -1
  75. package/dist/cli/keyProvision.js +86 -13
  76. package/dist/cli/keyProvision.js.map +1 -1
  77. package/dist/cli/saVerify.d.ts +37 -0
  78. package/dist/cli/saVerify.d.ts.map +1 -1
  79. package/dist/cli/saVerify.js +46 -0
  80. package/dist/cli/saVerify.js.map +1 -1
  81. package/dist/cli/setup.d.ts +23 -2
  82. package/dist/cli/setup.d.ts.map +1 -1
  83. package/dist/cli/setup.js +40 -4
  84. package/dist/cli/setup.js.map +1 -1
  85. package/dist/cli/setupFlow.d.ts +8 -0
  86. package/dist/cli/setupFlow.d.ts.map +1 -1
  87. package/dist/cli/setupFlow.js +206 -49
  88. package/dist/cli/setupFlow.js.map +1 -1
  89. package/dist/cli/setupProgress.d.ts +385 -0
  90. package/dist/cli/setupProgress.d.ts.map +1 -0
  91. package/dist/cli/setupProgress.js +1009 -0
  92. package/dist/cli/setupProgress.js.map +1 -0
  93. package/package.json +1 -1
  94. package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.d.ts +0 -55
  95. package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.d.ts.map +0 -1
  96. package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.js +0 -120
  97. package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.js.map +0 -1
  98. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.d.ts +0 -56
  99. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.d.ts.map +0 -1
  100. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.js.map +0 -1
  101. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.d.ts +0 -38
  102. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.d.ts.map +0 -1
  103. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.js +0 -57
  104. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.js.map +0 -1
  105. package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmFlushChanges.d.ts +0 -19
  106. package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmFlushChanges.d.ts.map +0 -1
  107. package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmFlushChanges.js +0 -67
  108. package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmFlushChanges.js.map +0 -1
  109. package/dist/application/orm/api/TypedSheetsOrm.d.ts +0 -71
  110. package/dist/application/orm/api/TypedSheetsOrm.d.ts.map +0 -1
  111. package/dist/application/orm/api/TypedSheetsOrm.js +0 -116
  112. package/dist/application/orm/api/TypedSheetsOrm.js.map +0 -1
  113. package/dist/application/orm/api/contracts.d.ts +0 -118
  114. package/dist/application/orm/api/contracts.d.ts.map +0 -1
  115. package/dist/application/orm/api/contracts.js +0 -21
  116. package/dist/application/orm/api/contracts.js.map +0 -1
@@ -1,116 +0,0 @@
1
- /**
2
- * Public entity-manager facade owned by typed-sheets.
3
- *
4
- * The facade keeps the application workflow stable while a replaceable
5
- * execution engine handles SQLite-specific persistence details underneath.
6
- */
7
- /**
8
- * Root object for typed-sheets entity lifecycle operations.
9
- *
10
- * Its `em` property exposes our manager rather than an engine-specific one,
11
- * so application code cannot bypass the canonical and outbox flush plan.
12
- */
13
- export class TypedSheetsOrm {
14
- engine;
15
- flushCoordinator;
16
- /** Root entity manager; call `fork()` before request or job-local work. */
17
- em;
18
- constructor(engine, flushCoordinator) {
19
- this.engine = engine;
20
- this.flushCoordinator = flushCoordinator;
21
- this.em = this.createEntityManager(engine.fork());
22
- }
23
- /** Closes resources owned by the underlying SQLite execution engine. */
24
- async close(force = false) {
25
- await this.engine.close(force);
26
- }
27
- createEntityManager(entityManager) {
28
- return new TypedSheetsEntityManager(entityManager, this.flushCoordinator);
29
- }
30
- }
31
- /** Creates our public entity facade around a replaceable SQLite execution engine. */
32
- export function createTypedSheetsOrm(engine, options) {
33
- return new TypedSheetsOrm(engine, options.flushCoordinator);
34
- }
35
- /**
36
- * Entity-manager facade with the familiar entity lifecycle method names.
37
- *
38
- * The current public subset intentionally focuses on lifecycle-safe reads and
39
- * `persist` / `remove` / `flush` operations while mapping metadata is built.
40
- */
41
- export class TypedSheetsEntityManager {
42
- entityManager;
43
- flushCoordinator;
44
- constructor(entityManager, flushCoordinator) {
45
- this.entityManager = entityManager;
46
- this.flushCoordinator = flushCoordinator;
47
- this.entityManager.onFlush(async (context) => this.flushCoordinator.onFlush(context));
48
- }
49
- /** Creates an isolated manager with its own identity map. */
50
- fork(options) {
51
- return new TypedSheetsEntityManager(this.entityManager.fork(options), this.flushCoordinator);
52
- }
53
- /** Creates a managed entity instance without writing it until `flush()`. */
54
- create(entityName, data) {
55
- return this.entityManager.create(entityName, data);
56
- }
57
- /** Reads all entities matching one initial equality filter from SQLite. */
58
- async find(entityName, where, options) {
59
- return this.entityManager.find(entityName, where, options);
60
- }
61
- /** Reads one entity or returns null when no entity matches the filter. */
62
- async findOne(entityName, where, options) {
63
- return this.entityManager.findOne(entityName, where, options);
64
- }
65
- /** Marks one entity or iterable of entities for insertion or update at the next flush. */
66
- persist(entity) {
67
- this.entityManager.persist(entity);
68
- return this;
69
- }
70
- /** Marks one entity or iterable of entities for removal at the next flush. */
71
- remove(entity) {
72
- this.entityManager.remove(entity);
73
- return this;
74
- }
75
- /**
76
- * Persists all pending entity changes with their typed-sheets sync plan.
77
- *
78
- * An existing transaction is reused. Otherwise this method opens a SQLite
79
- * transaction itself so entity rows and outbox work commit or roll back
80
- * together.
81
- */
82
- async flush() {
83
- if (this.entityManager.isInTransaction()) {
84
- await this.entityManager.flush();
85
- return;
86
- }
87
- await this.entityManager.begin();
88
- try {
89
- await this.entityManager.flush();
90
- await this.entityManager.commit();
91
- }
92
- catch (error) {
93
- if (this.entityManager.isInTransaction()) {
94
- await this.entityManager.rollback();
95
- }
96
- throw error;
97
- }
98
- }
99
- /**
100
- * Runs entity work in one transaction and flushes it automatically on success.
101
- *
102
- * The callback receives another typed-sheets manager, so its flush still
103
- * coordinates canonical and Sheets outbox work.
104
- */
105
- async transactional(operation) {
106
- return this.entityManager.transactional(async (transactionalEntityManager) => {
107
- const manager = new TypedSheetsEntityManager(transactionalEntityManager, this.flushCoordinator);
108
- return operation(manager);
109
- });
110
- }
111
- /** Detaches every managed entity from this request or job-local manager. */
112
- clear() {
113
- this.entityManager.clear();
114
- }
115
- }
116
- //# sourceMappingURL=TypedSheetsOrm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TypedSheetsOrm.js","sourceRoot":"","sources":["../../../../src/application/orm/api/TypedSheetsOrm.ts"],"names":[],"mappings":"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"}
@@ -1,118 +0,0 @@
1
- /**
2
- * Public lifecycle contracts for the typed-sheets ORM facade.
3
- *
4
- * They intentionally describe our entity lifecycle rather than any concrete
5
- * ORM implementation, so a SQLite execution adapter can change without
6
- * changing the application's `em.persist()` / `em.flush()` workflow.
7
- */
8
- import { type Presence } from "../../../shared/state/index.js";
9
- import type { SqlExecutor } from "../../../adapter/persistence/contracts/sql.js";
10
- /** Constructor accepted by the initial entity-style public API. */
11
- export interface TypedSheetsEntityClass<Entity extends object> {
12
- new (...arguments_: never[]): Entity;
13
- }
14
- /** Stable entity reference accepted by our EntityManager facade. */
15
- export type TypedSheetsEntityReference<Entity extends object> = string | TypedSheetsEntityClass<Entity>;
16
- /** Values used when creating one entity through `em.create()`. */
17
- export type TypedSheetsEntityData<Entity extends object> = Readonly<Partial<Entity>>;
18
- /** Equality filter accepted by the initial `find()` and `findOne()` surface. */
19
- export type TypedSheetsEntityFilter<Entity extends object> = Readonly<Partial<Entity>>;
20
- /** Read options intentionally supported by the initial public entity API. */
21
- export interface TypedSheetsFindOptions {
22
- readonly limit?: number;
23
- readonly offset?: number;
24
- }
25
- /** Entity-manager fork behavior supported without leaking the underlying ORM. */
26
- export interface TypedSheetsForkOptions {
27
- /** Starts the fork with an empty identity map when the execution engine supports it. */
28
- readonly clear?: boolean;
29
- }
30
- /** Callback invoked by one entity execution engine immediately before it writes. */
31
- export type TypedSheetsEntityFlushListener = (context: TypedSheetsFlushContext) => Promise<void>;
32
- /**
33
- * Replaceable internal execution engine for the typed-sheets EntityManager.
34
- *
35
- * This is the only extension point an ORM-specific integration must implement.
36
- * It deliberately uses typed-sheets lifecycle types, never MikroORM types.
37
- */
38
- export interface TypedSheetsEntityEngine {
39
- /** Opens an isolated manager for one request, job, or unit of work. */
40
- fork(): TypedSheetsEntityEngineManager;
41
- /** Releases resources owned by the underlying SQLite execution engine. */
42
- close(force?: boolean): Promise<void>;
43
- }
44
- /** Internal manager operations required to implement the public entity lifecycle. */
45
- export interface TypedSheetsEntityEngineManager {
46
- fork(options?: TypedSheetsForkOptions): TypedSheetsEntityEngineManager;
47
- create<Entity extends object>(entityName: TypedSheetsEntityReference<Entity>, data: TypedSheetsEntityData<Entity>): Entity;
48
- find<Entity extends object>(entityName: TypedSheetsEntityReference<Entity>, where: TypedSheetsEntityFilter<Entity>, options?: TypedSheetsFindOptions): Promise<readonly Entity[]>;
49
- findOne<Entity extends object>(entityName: TypedSheetsEntityReference<Entity>, where: TypedSheetsEntityFilter<Entity>, options?: TypedSheetsFindOptions): Promise<Entity | null>;
50
- persist<Entity extends object>(entity: Entity | Iterable<Entity>): void;
51
- remove<Entity extends object>(entity: Entity | Iterable<Entity>): void;
52
- flush(): Promise<void>;
53
- transactional<Result>(operation: (entityManager: TypedSheetsEntityEngineManager) => Promise<Result>): Promise<Result>;
54
- clear(): void;
55
- isInTransaction(): boolean;
56
- begin(): Promise<void>;
57
- commit(): Promise<void>;
58
- rollback(): Promise<void>;
59
- /** Registers the typed-sheets plan to run in the engine's active flush transaction. */
60
- onFlush(listener: TypedSheetsEntityFlushListener): void;
61
- }
62
- /** Runtime values for durable entity changes observed during one flush. */
63
- export declare const TYPED_SHEETS_ENTITY_CHANGE_KINDS: {
64
- readonly CREATE: "create";
65
- readonly UPDATE: "update";
66
- readonly DELETE: "delete";
67
- };
68
- /** Closed set of entity lifecycle changes handled by the typed-sheets ORM. */
69
- export type TypedSheetsEntityChangeKind = (typeof TYPED_SHEETS_ENTITY_CHANGE_KINDS)[keyof typeof TYPED_SHEETS_ENTITY_CHANGE_KINDS];
70
- /** Values captured from one MikroORM changeset before it reaches persistence. */
71
- export type TypedSheetsEntityChangePayload = Readonly<Record<string, unknown>>;
72
- /** Shared data carried by every normalized entity lifecycle change. */
73
- export interface TypedSheetsEntityChangeBase {
74
- readonly entityName: string;
75
- readonly entity: object;
76
- readonly primaryKey: Presence<string>;
77
- /** Changed scalar values for updates and persisted values for inserts. */
78
- readonly payload: TypedSheetsEntityChangePayload;
79
- }
80
- /** Entity was newly managed and will be inserted during the current flush. */
81
- export interface TypedSheetsCreatedEntityChange extends TypedSheetsEntityChangeBase {
82
- readonly kind: typeof TYPED_SHEETS_ENTITY_CHANGE_KINDS.CREATE;
83
- }
84
- /** Existing entity fields changed during the current flush. */
85
- export interface TypedSheetsUpdatedEntityChange extends TypedSheetsEntityChangeBase {
86
- readonly kind: typeof TYPED_SHEETS_ENTITY_CHANGE_KINDS.UPDATE;
87
- }
88
- /** Existing entity was marked for removal during the current flush. */
89
- export interface TypedSheetsDeletedEntityChange extends TypedSheetsEntityChangeBase {
90
- readonly kind: typeof TYPED_SHEETS_ENTITY_CHANGE_KINDS.DELETE;
91
- }
92
- /**
93
- * One normalized entity change collected from a single `flush()` operation.
94
- *
95
- * The discriminant keeps lifecycle branching explicit for coordinators while
96
- * the adapter-specific changeset shape remains outside the public contract.
97
- */
98
- export type TypedSheetsEntityChange = TypedSheetsCreatedEntityChange | TypedSheetsUpdatedEntityChange | TypedSheetsDeletedEntityChange;
99
- /** Context available to the typed-sheets sync planner during an entity flush. */
100
- export interface TypedSheetsFlushContext {
101
- /** All entity changes in the current Unit of Work. */
102
- readonly changes: readonly TypedSheetsEntityChange[];
103
- /** SQL executor bound to the same transaction as the entity writes. */
104
- readonly sql: SqlExecutor;
105
- }
106
- /**
107
- * Converts durable entity changes into typed-sheets canonical and outbox work.
108
- *
109
- * The coordinator runs before entity rows are flushed, but within the same
110
- * SQLite transaction. Throwing aborts both the entity write and every
111
- * typed-sheets write scheduled through `context.sql`.
112
- */
113
- export interface TypedSheetsFlushCoordinator {
114
- onFlush(context: TypedSheetsFlushContext): Promise<void>;
115
- }
116
- /** Converts a database-generated primary-key value into the public presence contract. */
117
- export declare function primaryKeyPresence(primaryKey: string | null): Presence<string>;
118
- //# sourceMappingURL=contracts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../../src/application/orm/api/contracts.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Public lifecycle contracts for the typed-sheets ORM facade.
3
- *
4
- * They intentionally describe our entity lifecycle rather than any concrete
5
- * ORM implementation, so a SQLite execution adapter can change without
6
- * changing the application's `em.persist()` / `em.flush()` workflow.
7
- */
8
- import { PRESENCE_KINDS, } from "../../../shared/state/index.js";
9
- /** Runtime values for durable entity changes observed during one flush. */
10
- export const TYPED_SHEETS_ENTITY_CHANGE_KINDS = {
11
- CREATE: "create",
12
- UPDATE: "update",
13
- DELETE: "delete",
14
- };
15
- /** Converts a database-generated primary-key value into the public presence contract. */
16
- export function primaryKeyPresence(primaryKey) {
17
- return primaryKey === null
18
- ? { kind: PRESENCE_KINDS.ABSENT }
19
- : { kind: PRESENCE_KINDS.PRESENT, value: primaryKey };
20
- }
21
- //# sourceMappingURL=contracts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../../src/application/orm/api/contracts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,cAAc,GAEf,MAAM,gCAAgC,CAAC;AAiFxC,2EAA2E;AAC3E,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;CACR,CAAC;AA+DX,yFAAyF;AACzF,MAAM,UAAU,kBAAkB,CAAC,UAAyB;IAC1D,OAAO,UAAU,KAAK,IAAI;QACxB,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE;QACjC,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAC1D,CAAC"}