@zeeshan60/event-processor 1.0.144 → 1.0.145

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 (77) hide show
  1. package/dist/AttachmentProcessEvents.d.ts +2 -0
  2. package/dist/AttachmentProcessEvents.d.ts.map +1 -1
  3. package/dist/AttachmentProcessEvents.js +2 -0
  4. package/dist/AttachmentProcessEvents.js.map +1 -1
  5. package/dist/ExpenseEventHandler.d.ts +2 -1
  6. package/dist/ExpenseEventHandler.d.ts.map +1 -1
  7. package/dist/ExpenseEventHandler.js +103 -15
  8. package/dist/ExpenseEventHandler.js.map +1 -1
  9. package/dist/ExpenseEvents.d.ts +6 -0
  10. package/dist/ExpenseEvents.d.ts.map +1 -1
  11. package/dist/ExpenseEvents.js +3 -0
  12. package/dist/ExpenseEvents.js.map +1 -1
  13. package/dist/TransactionEventHandler.d.ts +2 -0
  14. package/dist/TransactionEventHandler.d.ts.map +1 -1
  15. package/dist/TransactionEventHandler.js +91 -3
  16. package/dist/TransactionEventHandler.js.map +1 -1
  17. package/dist/TransactionEvents.d.ts +6 -0
  18. package/dist/TransactionEvents.d.ts.map +1 -1
  19. package/dist/TransactionEvents.js +3 -0
  20. package/dist/TransactionEvents.js.map +1 -1
  21. package/dist/__tests__/test-helpers/IMMetadataStore.d.ts +9 -0
  22. package/dist/__tests__/test-helpers/IMMetadataStore.d.ts.map +1 -0
  23. package/dist/__tests__/test-helpers/IMMetadataStore.js +17 -0
  24. package/dist/__tests__/test-helpers/IMMetadataStore.js.map +1 -0
  25. package/dist/__tests__/test-helpers/IMRecurringExpenseEventStore.d.ts +12 -0
  26. package/dist/__tests__/test-helpers/IMRecurringExpenseEventStore.d.ts.map +1 -0
  27. package/dist/__tests__/test-helpers/IMRecurringExpenseEventStore.js +28 -0
  28. package/dist/__tests__/test-helpers/IMRecurringExpenseEventStore.js.map +1 -0
  29. package/dist/__tests__/test-helpers/IMRecurringExpenseModelStore.d.ts +19 -0
  30. package/dist/__tests__/test-helpers/IMRecurringExpenseModelStore.d.ts.map +1 -0
  31. package/dist/__tests__/test-helpers/IMRecurringExpenseModelStore.js +57 -0
  32. package/dist/__tests__/test-helpers/IMRecurringExpenseModelStore.js.map +1 -0
  33. package/dist/__tests__/test-helpers/IMRecurringGroupTransactionEventStore.d.ts +12 -0
  34. package/dist/__tests__/test-helpers/IMRecurringGroupTransactionEventStore.d.ts.map +1 -0
  35. package/dist/__tests__/test-helpers/IMRecurringGroupTransactionEventStore.js +28 -0
  36. package/dist/__tests__/test-helpers/IMRecurringGroupTransactionEventStore.js.map +1 -0
  37. package/dist/__tests__/test-helpers/IMRecurringGroupTransactionModelStore.d.ts +19 -0
  38. package/dist/__tests__/test-helpers/IMRecurringGroupTransactionModelStore.d.ts.map +1 -0
  39. package/dist/__tests__/test-helpers/IMRecurringGroupTransactionModelStore.js +57 -0
  40. package/dist/__tests__/test-helpers/IMRecurringGroupTransactionModelStore.js.map +1 -0
  41. package/dist/__tests__/test-helpers/IMRecurringTransactionEventStore.d.ts +12 -0
  42. package/dist/__tests__/test-helpers/IMRecurringTransactionEventStore.d.ts.map +1 -0
  43. package/dist/__tests__/test-helpers/IMRecurringTransactionEventStore.js +28 -0
  44. package/dist/__tests__/test-helpers/IMRecurringTransactionEventStore.js.map +1 -0
  45. package/dist/__tests__/test-helpers/IMRecurringTransactionModelStore.d.ts +19 -0
  46. package/dist/__tests__/test-helpers/IMRecurringTransactionModelStore.d.ts.map +1 -0
  47. package/dist/__tests__/test-helpers/IMRecurringTransactionModelStore.js +59 -0
  48. package/dist/__tests__/test-helpers/IMRecurringTransactionModelStore.js.map +1 -0
  49. package/dist/client/controllers/ExpenseController.d.ts +4 -0
  50. package/dist/client/controllers/ExpenseController.d.ts.map +1 -1
  51. package/dist/client/controllers/ExpenseController.js +63 -1
  52. package/dist/client/controllers/ExpenseController.js.map +1 -1
  53. package/dist/client/controllers/ExportsController.d.ts.map +1 -1
  54. package/dist/client/controllers/ExportsController.js +26 -10
  55. package/dist/client/controllers/ExportsController.js.map +1 -1
  56. package/dist/client/controllers/GroupController.d.ts.map +1 -1
  57. package/dist/client/controllers/GroupController.js +4 -0
  58. package/dist/client/controllers/GroupController.js.map +1 -1
  59. package/dist/client/controllers/SuggestionController.js +1 -1
  60. package/dist/client/controllers/SuggestionController.js.map +1 -1
  61. package/dist/client/controllers/TransactionController.d.ts +4 -0
  62. package/dist/client/controllers/TransactionController.d.ts.map +1 -1
  63. package/dist/client/controllers/TransactionController.js +117 -15
  64. package/dist/client/controllers/TransactionController.js.map +1 -1
  65. package/dist/common/DomainEvents.d.ts +2 -0
  66. package/dist/common/DomainEvents.d.ts.map +1 -1
  67. package/dist/common/EventTypes.d.ts +1 -0
  68. package/dist/common/EventTypes.d.ts.map +1 -1
  69. package/dist/common/EventTypes.js +1 -0
  70. package/dist/common/EventTypes.js.map +1 -1
  71. package/dist/contracts/expenses/index.d.ts +2 -0
  72. package/dist/contracts/expenses/index.d.ts.map +1 -1
  73. package/dist/contracts/expenses/index.js.map +1 -1
  74. package/dist/contracts/transactions/index.d.ts +6 -0
  75. package/dist/contracts/transactions/index.d.ts.map +1 -1
  76. package/dist/contracts/transactions/index.js.map +1 -1
  77. package/package.json +1 -1
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IMRecurringGroupTransactionModelStore = void 0;
4
+ class IMRecurringGroupTransactionModelStore {
5
+ constructor() {
6
+ this.models = new Map();
7
+ }
8
+ async getByStreamId(streamId) {
9
+ return this.models.get(streamId);
10
+ }
11
+ async getByStreamIdWhereDeletedIsFalse(streamId) {
12
+ const model = this.models.get(streamId);
13
+ if (!model || model.deleted)
14
+ return undefined;
15
+ return model;
16
+ }
17
+ async getLatestByUpdatedAt() {
18
+ const models = Array.from(this.models.values());
19
+ if (models.length === 0)
20
+ return undefined;
21
+ return models.reduce((latest, current) => current.updatedAt > latest.updatedAt ? current : latest);
22
+ }
23
+ async save(model) {
24
+ this.models.set(model.streamId, model);
25
+ }
26
+ async saveAll(models) {
27
+ for (const model of models) {
28
+ await this.save(model);
29
+ }
30
+ }
31
+ async getByUserId(userId) {
32
+ return Array.from(this.models.values()).filter((m) => m.userId === userId);
33
+ }
34
+ async findAllByUserIdWhereDeletedIsFalse(userId) {
35
+ return Array.from(this.models.values()).filter((m) => m.userId === userId && !m.deleted);
36
+ }
37
+ async findAllByUserIdAndGroupIdWhereDeletedIsFalse(userId, groupId) {
38
+ return Array.from(this.models.values()).filter((m) => m.userId === userId && m.groupId === groupId && !m.deleted);
39
+ }
40
+ async findAllByStatusWhereDeletedIsFalse(userId, status) {
41
+ return Array.from(this.models.values()).filter((m) => m.userId === userId && m.status === status && !m.deleted);
42
+ }
43
+ async findAllActiveRecurringGroupTransactions() {
44
+ return Array.from(this.models.values()).filter((m) => m.status === "active" && !m.deleted);
45
+ }
46
+ getAll() {
47
+ return Array.from(this.models.values());
48
+ }
49
+ getAllWhereDeletedIsFalse() {
50
+ return Array.from(this.models.values()).filter((m) => !m.deleted);
51
+ }
52
+ clear() {
53
+ this.models.clear();
54
+ }
55
+ }
56
+ exports.IMRecurringGroupTransactionModelStore = IMRecurringGroupTransactionModelStore;
57
+ //# sourceMappingURL=IMRecurringGroupTransactionModelStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMRecurringGroupTransactionModelStore.js","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/IMRecurringGroupTransactionModelStore.ts"],"names":[],"mappings":";;;AAGA,MAAa,qCAAqC;IAAlD;QAGU,WAAM,GAAgD,IAAI,GAAG,EAAE,CAAC;IA0F1E,CAAC;IAxFC,KAAK,CAAC,aAAa,CACjB,QAAgB;QAEhB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,gCAAgC,CACpC,QAAgB;QAEhB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAC9C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,oBAAoB;QAGxB,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAChD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC1C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CACvC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CACxD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAqC;QAC9C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAwC;QACpD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CACf,MAAc;QAEd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAC3B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kCAAkC,CACtC,MAAc;QAEd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,OAAO,CACzC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,4CAA4C,CAChD,MAAc,EACd,OAAe;QAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAC5C,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAC7D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kCAAkC,CACtC,MAAc,EACd,MAAc;QAEd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,OAAO,CAChE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,uCAAuC;QAG3C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,OAAO,CAC3C,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,yBAAyB;QACvB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACpE,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CACF;AA7FD,sFA6FC"}
@@ -0,0 +1,12 @@
1
+ import { RecurringTransactionEventStore } from "../../stores/RecurringTransactionEventStore";
2
+ import { RecurringTransactionEvent } from "../../common/DomainEvents";
3
+ export declare class IMRecurringTransactionEventStore implements RecurringTransactionEventStore {
4
+ private events;
5
+ addEvent(event: RecurringTransactionEvent): Promise<void>;
6
+ addEvents(events: RecurringTransactionEvent[]): Promise<void>;
7
+ getAllEventsByStreamId(streamId: string): Promise<RecurringTransactionEvent[]>;
8
+ deleteEventsByStreamId(streamId: string): Promise<void>;
9
+ getAll(): RecurringTransactionEvent[];
10
+ clear(): void;
11
+ }
12
+ //# sourceMappingURL=IMRecurringTransactionEventStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMRecurringTransactionEventStore.d.ts","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/IMRecurringTransactionEventStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,6CAA6C,CAAC;AAC7F,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,qBAAa,gCACX,YAAW,8BAA8B;IAEzC,OAAO,CAAC,MAAM,CAAmC;IAE3C,QAAQ,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD,SAAS,CAAC,MAAM,EAAE,yBAAyB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,sBAAsB,CAC1B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,yBAAyB,EAAE,CAAC;IAIjC,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,MAAM,IAAI,yBAAyB,EAAE;IAIrC,KAAK,IAAI,IAAI;CAGd"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IMRecurringTransactionEventStore = void 0;
4
+ class IMRecurringTransactionEventStore {
5
+ constructor() {
6
+ this.events = [];
7
+ }
8
+ async addEvent(event) {
9
+ this.events.push(event);
10
+ }
11
+ async addEvents(events) {
12
+ this.events.push(...events);
13
+ }
14
+ async getAllEventsByStreamId(streamId) {
15
+ return this.events.filter((e) => e.streamId === streamId);
16
+ }
17
+ async deleteEventsByStreamId(streamId) {
18
+ this.events = this.events.filter((e) => e.streamId !== streamId);
19
+ }
20
+ getAll() {
21
+ return this.events;
22
+ }
23
+ clear() {
24
+ this.events = [];
25
+ }
26
+ }
27
+ exports.IMRecurringTransactionEventStore = IMRecurringTransactionEventStore;
28
+ //# sourceMappingURL=IMRecurringTransactionEventStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMRecurringTransactionEventStore.js","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/IMRecurringTransactionEventStore.ts"],"names":[],"mappings":";;;AAGA,MAAa,gCAAgC;IAA7C;QAGU,WAAM,GAAgC,EAAE,CAAC;IA2BnD,CAAC;IAzBC,KAAK,CAAC,QAAQ,CAAC,KAAgC;QAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAmC;QACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,QAAgB;QAEhB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,QAAgB;QAC3C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;IACnE,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;CACF;AA9BD,4EA8BC"}
@@ -0,0 +1,19 @@
1
+ import { RecurringTransactionModelStore } from "../../stores/RecurringTransactionModelStore";
2
+ import { RecurringTransactionModel } from "../../RecurringTransactionEvents";
3
+ export declare class IMRecurringTransactionModelStore implements RecurringTransactionModelStore {
4
+ private models;
5
+ getByStreamId(streamId: string): Promise<RecurringTransactionModel | undefined>;
6
+ getByStreamIdWhereDeletedIsFalse(streamId: string): Promise<RecurringTransactionModel | undefined>;
7
+ getLatestByUpdatedAt(): Promise<RecurringTransactionModel | undefined>;
8
+ save(model: RecurringTransactionModel): Promise<void>;
9
+ saveAll(models: RecurringTransactionModel[]): Promise<void>;
10
+ getByUserId(userId: string): Promise<RecurringTransactionModel[]>;
11
+ findAllByUserIdWhereDeletedIsFalse(userId: string): Promise<RecurringTransactionModel[]>;
12
+ findAllByUserIdAndRecipientUserIdWhereDeletedIsFalse(userId: string, recipientUserId: string): Promise<RecurringTransactionModel[]>;
13
+ findAllByStatusWhereDeletedIsFalse(userId: string, status: string): Promise<RecurringTransactionModel[]>;
14
+ findAllActiveRecurringTransactions(): Promise<RecurringTransactionModel[]>;
15
+ getAll(): RecurringTransactionModel[];
16
+ getAllWhereDeletedIsFalse(): RecurringTransactionModel[];
17
+ clear(): void;
18
+ }
19
+ //# sourceMappingURL=IMRecurringTransactionModelStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMRecurringTransactionModelStore.d.ts","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/IMRecurringTransactionModelStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,6CAA6C,CAAC;AAC7F,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,qBAAa,gCACX,YAAW,8BAA8B;IAEzC,OAAO,CAAC,MAAM,CAAqD;IAE7D,aAAa,CACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC;IAI3C,gCAAgC,CACpC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC;IAM3C,oBAAoB,IAAI,OAAO,CACnC,yBAAyB,GAAG,SAAS,CACtC;IAQK,IAAI,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,OAAO,CAAC,MAAM,EAAE,yBAAyB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3D,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;IAMjE,kCAAkC,CACtC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,yBAAyB,EAAE,CAAC;IAMjC,oDAAoD,CACxD,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,yBAAyB,EAAE,CAAC;IASjC,kCAAkC,CACtC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,yBAAyB,EAAE,CAAC;IAMjC,kCAAkC,IAAI,OAAO,CACjD,yBAAyB,EAAE,CAC5B;IAMD,MAAM,IAAI,yBAAyB,EAAE;IAIrC,yBAAyB,IAAI,yBAAyB,EAAE;IAIxD,KAAK,IAAI,IAAI;CAGd"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IMRecurringTransactionModelStore = void 0;
4
+ class IMRecurringTransactionModelStore {
5
+ constructor() {
6
+ this.models = new Map();
7
+ }
8
+ async getByStreamId(streamId) {
9
+ return this.models.get(streamId);
10
+ }
11
+ async getByStreamIdWhereDeletedIsFalse(streamId) {
12
+ const model = this.models.get(streamId);
13
+ if (!model || model.deleted)
14
+ return undefined;
15
+ return model;
16
+ }
17
+ async getLatestByUpdatedAt() {
18
+ const models = Array.from(this.models.values());
19
+ if (models.length === 0)
20
+ return undefined;
21
+ return models.reduce((latest, current) => current.updatedAt > latest.updatedAt ? current : latest);
22
+ }
23
+ async save(model) {
24
+ this.models.set(model.streamId, model);
25
+ }
26
+ async saveAll(models) {
27
+ for (const model of models) {
28
+ await this.save(model);
29
+ }
30
+ }
31
+ async getByUserId(userId) {
32
+ return Array.from(this.models.values()).filter((m) => m.userId === userId);
33
+ }
34
+ async findAllByUserIdWhereDeletedIsFalse(userId) {
35
+ return Array.from(this.models.values()).filter((m) => m.userId === userId && !m.deleted);
36
+ }
37
+ async findAllByUserIdAndRecipientUserIdWhereDeletedIsFalse(userId, recipientUserId) {
38
+ return Array.from(this.models.values()).filter((m) => m.userId === userId &&
39
+ m.recipientUserId === recipientUserId &&
40
+ !m.deleted);
41
+ }
42
+ async findAllByStatusWhereDeletedIsFalse(userId, status) {
43
+ return Array.from(this.models.values()).filter((m) => m.userId === userId && m.status === status && !m.deleted);
44
+ }
45
+ async findAllActiveRecurringTransactions() {
46
+ return Array.from(this.models.values()).filter((m) => m.status === "active" && !m.deleted);
47
+ }
48
+ getAll() {
49
+ return Array.from(this.models.values());
50
+ }
51
+ getAllWhereDeletedIsFalse() {
52
+ return Array.from(this.models.values()).filter((m) => !m.deleted);
53
+ }
54
+ clear() {
55
+ this.models.clear();
56
+ }
57
+ }
58
+ exports.IMRecurringTransactionModelStore = IMRecurringTransactionModelStore;
59
+ //# sourceMappingURL=IMRecurringTransactionModelStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMRecurringTransactionModelStore.js","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/IMRecurringTransactionModelStore.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,10 @@ export declare class ExpenseController {
26
26
  bulkCreate(userId: string, requests: ExpenseCreateRequest[]): Promise<BulkExpenseCreateResponse>;
27
27
  updateExpense(userId: string, streamId: string, request: ExpenseUpdateRequest): Promise<void>;
28
28
  deleteExpense(userId: string, streamId: string): Promise<void>;
29
+ bulkDeleteExpenses(userId: string, streamIds: string[]): Promise<{
30
+ successCount: number;
31
+ failedCount: number;
32
+ }>;
29
33
  getExpense(userId: string, streamId: string): Promise<ExpenseResponse>;
30
34
  getExpensesByAccountAndMonth(userId: string, accountId: string, timeZone: string, month?: string, search?: string, sortByAmountAscending?: boolean, filters?: ExpenseFilterType[], category?: string): Promise<ExpensesByMonthResponse>;
31
35
  getExpensesByAccountMonthAndDay(userId: string, accountId: string, timeZone: string, month?: string, search?: string, sortByAmountAscending?: boolean, filters?: ExpenseFilterType[], category?: string): Promise<ExpensesByMonthAndDayResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"ExpenseController.d.ts","sourceRoot":"","sources":["../../../src/client/controllers/ExpenseController.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,sBAAsB,EAItB,UAAU,EAEX,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EACvB,6BAA6B,EAK7B,iBAAiB,EAEjB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EAEzB,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,0BAA0B,CAAC;AAUlC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAS5D,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;gBAE5B,GAAG,EAAE,iBAAiB;IAIlC,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,KAAK,UAAU,GAErB;IAED,OAAO,KAAK,mBAAmB,GAE9B;IAED,OAAO,KAAK,cAAc,GAEzB;IAED,OAAO,KAAK,wBAAwB,GAEnC;IAED,OAAO,KAAK,gBAAgB,GAE3B;IAED,OAAO,KAAK,aAAa,GAExB;IAED,OAAO,KAAK,aAAa,GAExB;IAED,OAAO,KAAK,eAAe,GAE1B;IAED,OAAO,KAAK,kBAAkB,GAE7B;IAED,OAAO,KAAK,WAAW,GAEtB;IAED,OAAO,KAAK,2BAA2B,GAEtC;IAED,OAAO,KAAK,6BAA6B,GAExC;YAEa,qBAAqB;IAkDnC,OAAO,KAAK,YAAY,GAEvB;YAEa,gBAAgB;IAU9B,OAAO,CAAC,qBAAqB;YAaf,eAAe;IAwDvB,aAAa,CACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC;IA6EZ,UAAU,CACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,oBAAoB,EAAE,GAC/B,OAAO,CAAC,yBAAyB,CAAC;IA6F/B,aAAa,CACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC;IAyDV,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4B9D,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAkCtE,4BAA4B,CAChC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,qBAAqB,CAAC,EAAE,OAAO,EAC/B,OAAO,CAAC,EAAE,iBAAiB,EAAE,EAC7B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,uBAAuB,CAAC;IAiJ7B,+BAA+B,CACnC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,qBAAqB,CAAC,EAAE,OAAO,EAC/B,OAAO,CAAC,EAAE,iBAAiB,EAAE,EAC7B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,6BAA6B,CAAC;IA2InC,aAAa,CACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,oBAAoB,CAAC;IAgI1B,mBAAmB,CACvB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,wBAAwB,CAAC;IA8B9B,sBAAsB,CAC1B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,2BAA2B,CAAC;YAiEzB,gBAAgB;IA+E9B,OAAO,CAAC,oBAAoB;IAwB5B,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,0BAA0B;IA8ClC,OAAO,CAAC,qBAAqB;IAwF7B,OAAO,CAAC,kCAAkC;IAa1C,OAAO,CAAC,eAAe;YAwBT,iBAAiB;IA2HzB,yBAAyB,CAC7B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAClD,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAuC1B,kBAAkB,CACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IA8BV,oBAAoB,CACxB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC;IAWxC,4BAA4B,CAChC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAapC;;;;OAIG;IACG,uBAAuB,CAC3B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAuBhB;;;;OAIG;IACG,sBAAsB,CAC1B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;CA4BjB"}
1
+ {"version":3,"file":"ExpenseController.d.ts","sourceRoot":"","sources":["../../../src/client/controllers/ExpenseController.ts"],"names":[],"mappings":"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"}
@@ -204,6 +204,7 @@ class ExpenseController {
204
204
  streamId,
205
205
  version: 1,
206
206
  systemGenerated: false,
207
+ bulkOperationId: request.bulkOperationId,
207
208
  });
208
209
  await this.expenseEventHandler.handleEvent(event);
209
210
  this.logger.log("[ExpenseController.createExpense] Expense created", {
@@ -226,6 +227,8 @@ class ExpenseController {
226
227
  if (uniqueTags.length > 0) {
227
228
  await this.ensureTagsExist(userId, uniqueTags);
228
229
  }
230
+ const bulkOperationId = (0, uuid_1.v4)();
231
+ const accountCounts = new Map();
229
232
  const events = [];
230
233
  for (let i = 0; i < requests.length; i++) {
231
234
  const request = requests[i];
@@ -262,9 +265,11 @@ class ExpenseController {
262
265
  streamId,
263
266
  version: 1,
264
267
  systemGenerated: false,
268
+ bulkOperationId,
265
269
  });
266
270
  events.push(event);
267
271
  expenseIds.push(expenseId);
272
+ accountCounts.set(request.accountId, (accountCounts.get(request.accountId) ?? 0) + 1);
268
273
  }
269
274
  catch (err) {
270
275
  errors.push({
@@ -274,7 +279,15 @@ class ExpenseController {
274
279
  }
275
280
  }
276
281
  if (events.length > 0) {
277
- await this.expenseEventHandler.bulkCreateEvents(events);
282
+ await this.expenseEventHandler.bulkHandleClientEvents(events);
283
+ }
284
+ for (const [accountId, count] of accountCounts) {
285
+ try {
286
+ await this.expenseEventHandler.createBulkOperationSummary(userId, accountId, count, "created", bulkOperationId);
287
+ }
288
+ catch (err) {
289
+ this.logger.log("[ExpenseController.bulkCreate] Failed to create bulk summary", { accountId, error: err });
290
+ }
278
291
  }
279
292
  const response = {
280
293
  expenseIds,
@@ -328,6 +341,7 @@ class ExpenseController {
328
341
  streamId: expenseModel.streamId,
329
342
  version: expenseModel.version + 1,
330
343
  systemGenerated: false,
344
+ bulkOperationId: request.bulkOperationId,
331
345
  });
332
346
  await this.expenseEventHandler.handleEvent(event);
333
347
  this.logger.log("[ExpenseController.updateExpense] Expense updated", {
@@ -357,6 +371,54 @@ class ExpenseController {
357
371
  request: { userId, streamId },
358
372
  });
359
373
  }
374
+ async bulkDeleteExpenses(userId, streamIds) {
375
+ const bulkOperationId = (0, uuid_1.v4)();
376
+ const accountCounts = new Map();
377
+ const events = [];
378
+ let failedCount = 0;
379
+ for (const streamId of streamIds) {
380
+ try {
381
+ const expenseModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(streamId);
382
+ if (!expenseModel) {
383
+ failedCount++;
384
+ continue;
385
+ }
386
+ if (expenseModel.userId !== userId) {
387
+ failedCount++;
388
+ continue;
389
+ }
390
+ const event = new ExpenseEvents_1.ExpenseDeleted({
391
+ eventId: (0, uuid_1.v4)(),
392
+ userId,
393
+ streamId: expenseModel.streamId,
394
+ version: expenseModel.version + 1,
395
+ createdAt: Date.now(),
396
+ createdBy: userId,
397
+ systemGenerated: false,
398
+ bulkOperationId,
399
+ });
400
+ events.push(event);
401
+ accountCounts.set(expenseModel.accountId, (accountCounts.get(expenseModel.accountId) ?? 0) + 1);
402
+ }
403
+ catch (err) {
404
+ this.logger.log("[ExpenseController.bulkDeleteExpenses] Failed to build delete event", { streamId, error: err });
405
+ failedCount++;
406
+ }
407
+ }
408
+ if (events.length > 0) {
409
+ await this.expenseEventHandler.bulkHandleClientEvents(events);
410
+ }
411
+ for (const [accountId, count] of accountCounts) {
412
+ try {
413
+ await this.expenseEventHandler.createBulkOperationSummary(userId, accountId, count, "deleted", bulkOperationId);
414
+ }
415
+ catch (err) {
416
+ this.logger.log("[ExpenseController.bulkDeleteExpenses] Failed to create bulk summary", { accountId, error: err });
417
+ }
418
+ }
419
+ this.logger.log("[ExpenseController.bulkDeleteExpenses] Bulk delete completed", { userId, total: streamIds.length, successCount: events.length, failedCount });
420
+ return { successCount: events.length, failedCount };
421
+ }
360
422
  async getExpense(userId, streamId) {
361
423
  const expenseModel = await this.modelStore.getByStreamId(streamId);
362
424
  if (!expenseModel) {
@@ -1 +1 @@
1
- {"version":3,"file":"ExpenseController.js","sourceRoot":"","sources":["../../../src/client/controllers/ExpenseController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExpenseController.js","sourceRoot":"","sources":["../../../src/client/controllers/ExpenseController.ts"],"names":[],"mappings":";;;AAAA,uDAK6B;AAC7B,2EAOuC;AACvC,uDAmBkC;AAQlC,+CAA8E;AAC9E,+CAA6C;AAE7C,+BAAoC;AACpC,yDAAsD;AACtD,2DAA6E;AAC7E,2DAAwD;AACxD,uDAAqD;AACrD,mDAAgD;AAChD,2EAAwE;AAExE,MAAa,iBAAiB;IAG5B,YAAY,GAAsB;QAChC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,IAAY,MAAM;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;IAC9B,CAAC;IAED,IAAY,UAAU;QACpB,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,iBAAiB,CAAC;IACrD,CAAC;IAED,IAAY,mBAAmB;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC;IAC3C,CAAC;IAED,IAAY,cAAc;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,cAAc,CAAC;IAClD,CAAC;IAED,IAAY,wBAAwB;QAClC,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,wBAAwB,CAAC;IAC5D,CAAC;IAED,IAAY,gBAAgB;QAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,gBAAgB,CAAC;IACpD,CAAC;IAED,IAAY,aAAa;QACvB,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,aAAa,CAAC;IACjD,CAAC;IAED,IAAY,aAAa;QACvB,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,aAAa,CAAC;IACjD,CAAC;IAED,IAAY,eAAe;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;IACvC,CAAC;IAED,IAAY,kBAAkB;QAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,kBAAkB,CAAC;IACtD,CAAC;IAED,IAAY,WAAW;QACrB,OAAO,IAAI,yBAAW,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAClE,CAAC;IAED,IAAY,2BAA2B;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,2BAA2B,CAAC;IAC/D,CAAC;IAED,IAAY,6BAA6B;QACvC,OAAO,IAAI,CAAC,GAAG,CAAC,gCAAgC,EAAE,CAAC;IACrD,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,QAAwB,EACxB,MAAc;QAEd,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QAErC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;oBAC/B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAChB,CAAC;YACH,CAAC;YACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GACjB,MAAM,IAAI,CAAC,kBAAkB,CAAC,gCAAgC,CAAC,MAAM,CAAC,CAAC;QACzE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnE,MAAM,UAAU,GAAuB,CAAC,GAAG,aAAa,CAAC;aACtD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK;gBAAE,OAAO,SAAS,CAAC;YAC7B,OAAO;gBACL,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B,CAAC;QACJ,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAyB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;QAEzD,OAAO;YACL,UAAU;YACV,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;YACf,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC;SAC5B,CAAC;IACJ,CAAC;IAED,IAAY,YAAY;QACtB,OAAO,IAAI,2BAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjD,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,MAAc;QAC3C,MAAM,IAAI,GACR,MAAM,IAAI,CAAC,aAAa,CAAC,gCAAgC,CAAC,MAAM,CAAC,CAAC;QACpE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC9C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,qBAAqB,CAC3B,QAA8B,EAC9B,WAAgC;QAEhC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC7B,IAAI;YACJ,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,wBAAiB;SAChE,CAAC,CAAC,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,MAAc,EACd,QAA8B;QAE9B,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAChB,MAAM,IAAI,CAAC,aAAa,CAAC,gCAAgC,CAAC,MAAM,CAAC,CAAC;QACpE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAC9B,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAC9C,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAE3E,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CACrC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CACpD,CAAC;QAEF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAG,iBAAU,CAAC,MAAM,CACvC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAChD,CAAC;QAEF,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;YACtC,MAAM,KAAK,GACT,eAAe,CAAC,MAAM,GAAG,CAAC;gBACxB,CAAC,CAAC,eAAe,CAAC,KAAK,EAAG;gBAC1B,CAAC,CAAC,iBAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,iBAAU,CAAC,MAAM,CAAC,CAAC,CAAC;YAEhE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;YAEpC,MAAM,KAAK,GAAG,IAAI,sBAAU,CAAC;gBAC3B,OAAO,EAAE,IAAA,SAAM,GAAE;gBACjB,MAAM;gBACN,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;gBACpB,KAAK;gBACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,SAAS,EAAE,MAAM;gBACjB,QAAQ,EAAE,IAAA,SAAM,GAAE;gBAClB,OAAO,EAAE,CAAC;gBACV,eAAe,EAAE,KAAK;aACvB,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAE9C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sCAAsC,EAAE;gBACtD,OAAO;gBACP,KAAK;aACN,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,MAAc,EACd,OAA6B;QAE7B,MAAM,OAAO,GACX,MAAM,IAAI,CAAC,wBAAwB,CAAC,yCAAyC,CAC3E,MAAM,EACN,OAAO,CAAC,SAAS,CAClB,CAAC;QACJ,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAA,SAAM,GAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAA,SAAM,GAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC;QAEpE,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAEjD,IAAI,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAEtC,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAClD,MAAM,0BAA0B,GAAG,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC;YACrE,MAAM,wBAAwB,GAC5B,MAAM,0BAA0B,CAAC,sBAAsB,CAAC,MAAM,EAAE;gBAC9D,WAAW,EAAE,OAAO,CAAC,KAAK;gBAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,SAAS;gBAC7C,QAAQ,EAAE,OAAO,CAAC,gBAAgB,CAAC,QAAQ;gBAC3C,SAAS,EAAE,eAAe;aAC3B,CAAC,CAAC;YACL,WAAW,GAAG,wBAAwB,CAAC,QAAQ,CAAC;YAEhD,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,wFAAwF,EACxF;gBACE,WAAW;gBACX,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE;aAClD,CACF,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,8BAAc,CAAC;YAC/B,OAAO,EAAE,IAAA,SAAM,GAAE;YACjB,MAAM;YACN,SAAS;YACT,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE;YAC3B,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE;YACxC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,eAAe;YACf,WAAW;YACX,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,SAAS;YACT,SAAS,EAAE,MAAM;YACjB,QAAQ;YACR,OAAO,EAAE,CAAC;YACV,eAAe,EAAE,KAAK;YACtB,eAAe,EAAE,OAAO,CAAC,eAAe;SACzC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAElD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mDAAmD,EAAE;YACnE,OAAO,EAAE,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE;YAC/B,QAAQ,EAAE,EAAE,SAAS,EAAE;SACxB,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,UAAU,CACd,MAAc,EACd,QAAgC;QAEhC,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,MAAM,MAAM,GAAuC,EAAE,CAAC;QAEtD,MAAM,gBAAgB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAmB,CAAC;QAC9C,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,CAAC;YACzC,MAAM,OAAO,GACX,MAAM,IAAI,CAAC,wBAAwB,CAAC,yCAAyC,CAC3E,MAAM,EACN,SAAS,CACV,CAAC;YACJ,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACzC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,eAAe,GAAG,IAAA,SAAM,GAAE,CAAC;QACjC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;QAChD,MAAM,MAAM,GAAqB,EAAE,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAE5B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvC,MAAM,CAAC,IAAI,CAAC;oBACV,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,6BAA6B,OAAO,CAAC,SAAS,EAAE;iBACxD,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAA,SAAM,GAAE,CAAC;gBAChD,MAAM,QAAQ,GAAG,IAAA,SAAM,GAAE,CAAC;gBAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7B,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC;gBAEpE,MAAM,KAAK,GAAG,IAAI,8BAAc,CAAC;oBAC/B,OAAO,EAAE,IAAA,SAAM,GAAE;oBACjB,MAAM;oBACN,SAAS;oBACT,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE;oBAC3B,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE;oBACxC,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,eAAe,EAAE,OAAO,CAAC,eAAe;oBACxC,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,aAAa,EAAE,OAAO,CAAC,aAAa;oBACpC,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,eAAe;oBACf,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,eAAe,EAAE,OAAO,CAAC,eAAe;oBACxC,SAAS;oBACT,SAAS,EAAE,MAAM;oBACjB,QAAQ;oBACR,OAAO,EAAE,CAAC;oBACV,eAAe,EAAE,KAAK;oBACtB,eAAe;iBAChB,CAAC,CAAC;gBAEH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnB,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC3B,aAAa,CAAC,GAAG,CACf,OAAO,CAAC,SAAS,EACjB,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAChD,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC;oBACV,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAChE,CAAC;QAED,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,aAAa,EAAE,CAAC;YAC/C,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,mBAAmB,CAAC,0BAA0B,CACvD,MAAM,EACN,SAAS,EACT,KAAK,EACL,SAAS,EACT,eAAe,CAChB,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,8DAA8D,EAC9D,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,CAC1B,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAA8B;YAC1C,UAAU;YACV,YAAY,EAAE,UAAU,CAAC,MAAM;YAC/B,WAAW,EAAE,MAAM,CAAC,MAAM;YAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;SAC/C,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sDAAsD,EAAE;YACtE,MAAM;YACN,cAAc,EAAE,QAAQ,CAAC,MAAM;YAC/B,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,WAAW,EAAE,QAAQ,CAAC,WAAW;SAClC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,MAAc,EACd,QAAgB,EAChB,OAA6B;QAE7B,MAAM,YAAY,GAChB,MAAM,IAAI,CAAC,UAAU,CAAC,gCAAgC,CAAC,QAAQ,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,YAAY,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,OAAO,GACX,MAAM,IAAI,CAAC,wBAAwB,CAAC,yCAAyC,CAC3E,MAAM,EACN,OAAO,CAAC,SAAS,CAClB,CAAC;QACJ,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC;QAEpE,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAEjD,IAAI,WAA+B,CAAC;QACpC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,YAAY,CAAC,WAAW,CAAC;QAChE,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,8BAAc,CAAC;YAC/B,OAAO,EAAE,IAAA,SAAM,GAAE;YACjB,MAAM;YACN,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE;YAC3B,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE;YACxC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,eAAe;YACf,WAAW;YACX,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,SAAS;YACT,SAAS,EAAE,MAAM;YACjB,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,OAAO,EAAE,YAAY,CAAC,OAAO,GAAG,CAAC;YACjC,eAAe,EAAE,KAAK;YACtB,eAAe,EAAE,OAAO,CAAC,eAAe;SACzC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAElD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mDAAmD,EAAE;YACnE,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE;SAC1C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,QAAgB;QAClD,MAAM,YAAY,GAChB,MAAM,IAAI,CAAC,UAAU,CAAC,gCAAgC,CAAC,QAAQ,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,YAAY,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,8BAAc,CAAC;YAC/B,OAAO,EAAE,IAAA,SAAM,GAAE;YACjB,MAAM;YACN,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,OAAO,EAAE,YAAY,CAAC,OAAO,GAAG,CAAC;YACjC,SAAS;YACT,SAAS,EAAE,MAAM;YACjB,eAAe,EAAE,KAAK;SACvB,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAElD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mDAAmD,EAAE;YACnE,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,MAAc,EACd,SAAmB;QAEnB,MAAM,eAAe,GAAG,IAAA,SAAM,GAAE,CAAC;QACjC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;QAChD,MAAM,MAAM,GAAqB,EAAE,CAAC;QACpC,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,YAAY,GAChB,MAAM,IAAI,CAAC,UAAU,CAAC,gCAAgC,CAAC,QAAQ,CAAC,CAAC;gBACnE,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,WAAW,EAAE,CAAC;oBACd,SAAS;gBACX,CAAC;gBACD,IAAI,YAAY,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBACnC,WAAW,EAAE,CAAC;oBACd,SAAS;gBACX,CAAC;gBAED,MAAM,KAAK,GAAG,IAAI,8BAAc,CAAC;oBAC/B,OAAO,EAAE,IAAA,SAAM,GAAE;oBACjB,MAAM;oBACN,QAAQ,EAAE,YAAY,CAAC,QAAQ;oBAC/B,OAAO,EAAE,YAAY,CAAC,OAAO,GAAG,CAAC;oBACjC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,SAAS,EAAE,MAAM;oBACjB,eAAe,EAAE,KAAK;oBACtB,eAAe;iBAChB,CAAC,CAAC;gBAEH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnB,aAAa,CAAC,GAAG,CACf,YAAY,CAAC,SAAS,EACtB,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CACrD,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,qEAAqE,EACrE,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,CACzB,CAAC;gBACF,WAAW,EAAE,CAAC;YAChB,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAChE,CAAC;QAED,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,aAAa,EAAE,CAAC;YAC/C,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,mBAAmB,CAAC,0BAA0B,CACvD,MAAM,EACN,SAAS,EACT,KAAK,EACL,SAAS,EACT,eAAe,CAChB,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,sEAAsE,EACtE,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,CAC1B,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,8DAA8D,EAC9D,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAC9E,CAAC;QAEF,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,QAAgB;QAC/C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,YAAY,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,IAAI,GACR,MAAM,IAAI,CAAC,cAAc,CAAC,gCAAgC,CAAC,MAAM,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,IAAI,EAAE,QAAQ,IAAI,KAAK,CAAC;QAC3C,MAAM,aAAa,GACjB,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;QAC7D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACrE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAExD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAC3C,YAAY,EACZ,MAAM,EACN,UAAU,EACV,aAAa,EACb,WAAW,EACX,WAAW,CACZ,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kDAAkD,EAAE;YAClE,aAAa,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;YACnC,QAAQ;SACT,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,4BAA4B,CAChC,MAAc,EACd,SAAiB,EACjB,QAAgB,EAChB,KAAc,EACd,MAAe,EACf,qBAA+B,EAC/B,OAA6B,EAC7B,QAAiB;QAEjB,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC;YACH,IAAI,IAAI,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,QAAQ,GACZ,MAAM,IAAI,CAAC,UAAU,CAAC,mCAAmC,CAAC,SAAS,CAAC,CAAC;QAEvE,IAAI,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QAE/D,IAAI,QAAQ,EAAE,CAAC;YACb,YAAY,GAAG,YAAY,CAAC,MAAM,CAChC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,eAAe,CAAC,KAAK,QAAQ,CACpD,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GACR,MAAM,IAAI,CAAC,cAAc,CAAC,gCAAgC,CAAC,MAAM,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,IAAI,EAAE,QAAQ,IAAI,KAAK,CAAC;QAC3C,MAAM,aAAa,GACjB,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;QAC7D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACrE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAExD,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,IAAA,gDAAiC,EAAC,YAAY,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAC9D,IAAI,CAAC,iBAAiB,CACpB,CAAC,EACD,MAAM,EACN,UAAU,EACV,aAAa,EACb,WAAW,EACX,WAAW,CACZ,CACF,CACF,CAAC;QAEF,MAAM,oBAAoB,GACxB,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAC3B,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC1B,yDAAyD;gBACzD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE;oBAC9B,IAAI,MAAM,KAAK,4BAAiB,CAAC,MAAM,EAAE,CAAC;wBACxC,OAAO,CAAC,CAAC,eAAe,KAAK,0BAAe,CAAC,MAAM,CAAC;oBACtD,CAAC;oBACD,IAAI,MAAM,KAAK,4BAAiB,CAAC,OAAO,EAAE,CAAC;wBACzC,OAAO,CAAC,CAAC,eAAe,KAAK,0BAAe,CAAC,OAAO,CAAC;oBACvD,CAAC;oBACD,IAAI,MAAM,KAAK,4BAAiB,CAAC,SAAS,EAAE,CAAC;wBAC3C,OAAO,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC;oBACrC,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;YACJ,CAAC,CAAC,cAAc,CAAC;QAErB,MAAM,gBAAgB,GAAG,IAAA,wBAAW,EAAC;YACnC,KAAK,EAAE,oBAAoB;YAC3B,IAAI,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC;YAChC,MAAM,EAAE,MAAM,IAAI,EAAE;SACrB,CAAC,CAAC;QAEH,IAAI,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAC5C,gBAAgB,EAChB,QAAQ,EACR,UAAU,CACX,CAAC;QAEF,IAAI,kBAAkB,GAAG,YAAY,CAAC;QAEtC,IAAI,KAAK,EAAE,CAAC;YACV,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;YACxE,kBAAkB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;gBACnD,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAClC,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,EAC/C,QAAQ,CACT,CAAC;gBACF,OAAO,UAAU,KAAK,KAAK,CAAC;YAC9B,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,QAAQ,GACZ,qBAAqB,KAAK,SAAS;YACjC,CAAC,CAAC,mBAAQ,CAAC,wBAAwB,CAC/B,cAAc,EACd,qBAAqB,CACtB;YACH,CAAC,CAAC,cAAc,CAAC;QAErB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;QAExE,+EAA+E;QAC/E,8DAA8D;QAC9D,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,GAAG,CACzC,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CACjC,IAAI,CAAC,iBAAiB,CACpB,CAAC,EACD,MAAM,EACN,UAAU,EACV,aAAa,EACb,WAAW,EACX,WAAW,CACZ,CACF,CACF,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;QAEnE,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CACvD,YAAY,EACZ,MAAM,CACP,CAAC;QAEF,MAAM,QAAQ,GAAG;YACf,QAAQ;YACR,OAAO;YACP,MAAM;YACN,gBAAgB;SACjB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,0FAA0F,EAC1F;YACE,aAAa,EAAE;gBACb,MAAM;gBACN,SAAS;gBACT,QAAQ;gBACR,KAAK;gBACL,MAAM;gBACN,qBAAqB;gBACrB,OAAO;gBACP,QAAQ;aACT;YACD,QAAQ;SACT,CACF,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,+BAA+B,CACnC,MAAc,EACd,SAAiB,EACjB,QAAgB,EAChB,KAAc,EACd,MAAe,EACf,qBAA+B,EAC/B,OAA6B,EAC7B,QAAiB;QAEjB,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC;YACH,IAAI,IAAI,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,QAAQ,GACZ,MAAM,IAAI,CAAC,UAAU,CAAC,mCAAmC,CAAC,SAAS,CAAC,CAAC;QAEvE,IAAI,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QAE/D,IAAI,QAAQ,EAAE,CAAC;YACb,YAAY,GAAG,YAAY,CAAC,MAAM,CAChC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,eAAe,CAAC,KAAK,QAAQ,CACpD,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GACR,MAAM,IAAI,CAAC,cAAc,CAAC,gCAAgC,CAAC,MAAM,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,IAAI,EAAE,QAAQ,IAAI,KAAK,CAAC;QAC3C,MAAM,aAAa,GACjB,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;QAC7D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACrE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAExD,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,IAAA,gDAAiC,EAAC,YAAY,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAC9D,IAAI,CAAC,iBAAiB,CACpB,CAAC,EACD,MAAM,EACN,UAAU,EACV,aAAa,EACb,WAAW,EACX,WAAW,CACZ,CACF,CACF,CAAC;QAEF,MAAM,oBAAoB,GACxB,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAC3B,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC1B,yDAAyD;gBACzD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE;oBAC9B,IAAI,MAAM,KAAK,4BAAiB,CAAC,MAAM,EAAE,CAAC;wBACxC,OAAO,CAAC,CAAC,eAAe,KAAK,0BAAe,CAAC,MAAM,CAAC;oBACtD,CAAC;oBACD,IAAI,MAAM,KAAK,4BAAiB,CAAC,OAAO,EAAE,CAAC;wBACzC,OAAO,CAAC,CAAC,eAAe,KAAK,0BAAe,CAAC,OAAO,CAAC;oBACvD,CAAC;oBACD,IAAI,MAAM,KAAK,4BAAiB,CAAC,SAAS,EAAE,CAAC;wBAC3C,OAAO,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC;oBACrC,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;YACJ,CAAC,CAAC,cAAc,CAAC;QAErB,MAAM,gBAAgB,GAAG,IAAA,wBAAW,EAAC;YACnC,KAAK,EAAE,oBAAoB;YAC3B,IAAI,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC;YAChC,MAAM,EAAE,MAAM,IAAI,EAAE;SACrB,CAAC,CAAC;QAEH,IAAI,oBAAoB,GAAG,IAAI,CAAC,0BAA0B,CACxD,gBAAgB,EAChB,QAAQ,EACR,UAAU,CACX,CAAC;QAEF,IAAI,kBAAkB,GAAG,YAAY,CAAC;QAEtC,IAAI,KAAK,EAAE,CAAC;YACV,oBAAoB,GAAG,oBAAoB,CAAC,MAAM,CAChD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAChC,CAAC;YACF,kBAAkB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;gBACnD,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAClC,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,EAC/C,QAAQ,CACT,CAAC;gBACF,OAAO,UAAU,KAAK,KAAK,CAAC;YAC9B,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,QAAQ,GACZ,qBAAqB,KAAK,SAAS;YACjC,CAAC,CAAC,IAAI,CAAC,kCAAkC,CACrC,oBAAoB,EACpB,qBAAqB,CACtB;YACH,CAAC,CAAC,oBAAoB,CAAC;QAE3B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;QAExE,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,GAAG,CACzC,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CACjC,IAAI,CAAC,iBAAiB,CACpB,CAAC,EACD,MAAM,EACN,UAAU,EACV,aAAa,EACb,WAAW,EACX,WAAW,CACZ,CACF,CACF,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;QAEnE,MAAM,QAAQ,GAAG;YACf,QAAQ;YACR,OAAO;YACP,MAAM;SACP,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,kGAAkG,EAClG;YACE,aAAa,EAAE;gBACb,MAAM;gBACN,SAAS;gBACT,QAAQ;gBACR,KAAK;gBACL,MAAM;gBACN,qBAAqB;gBACrB,OAAO;gBACP,QAAQ;aACT;YACD,QAAQ;SACT,CACF,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,MAAc,EACd,OAA4B;QAE5B,MAAM,IAAI,GACR,MAAM,IAAI,CAAC,cAAc,CAAC,gCAAgC,CAAC,MAAM,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,IAAI,EAAE,QAAQ,IAAI,KAAK,CAAC;QAC3C,MAAM,aAAa,GACjB,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;QAC7D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACrE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAExD,MAAM,kBAAkB,GACtB,MAAM,IAAI,CAAC,wBAAwB,CAAC,gCAAgC,CAClE,MAAM,CACP,CAAC;QACJ,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAClC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAC3C,CAAC;QAEF,IAAI,iBAAuC,CAAC;QAC5C,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CACnD,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,CAC7B,CAAC;YACF,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnC,OAAO;oBACL,QAAQ,EAAE,EAAE;oBACZ,UAAU,EAAE,CAAC;oBACb,MAAM,EAAE;wBACN,QAAQ,EAAE,UAAU;wBACpB,WAAW,EAAE,CAAC;wBACd,YAAY,EAAE,CAAC;wBACf,OAAO,EAAE,CAAC;qBACX;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACrD,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnC,OAAO;oBACL,QAAQ,EAAE,EAAE;oBACZ,UAAU,EAAE,CAAC;oBACb,MAAM,EAAE;wBACN,QAAQ,EAAE,UAAU;wBACpB,WAAW,EAAE,CAAC;wBACd,YAAY,EAAE,CAAC;wBACf,OAAO,EAAE,CAAC;qBACX;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ;YAC/B,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;YACtC,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM;YAC3B,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;YACpC,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa;YACzC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE;YAC3C,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW;YACrC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE;YACzC,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa;YACzC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE;YAC3C,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW;YACrC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE;YACzC,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,EAAE;YAChE,UAAU,EAAE,iBAAiB;YAC7B,QAAQ;YACR,MAAM;YACN,aAAa;YACb,WAAW;YACX,aAAa;YACb,WAAW;YACX,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CACnC,IAAA,gDAAiC,EAAC,aAAa,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAC/D,IAAI,CAAC,iBAAiB,CACpB,CAAC,EACD,MAAM,EACN,UAAU,EACV,aAAa,EACb,WAAW,EACX,WAAW,CACZ,CACF,CACF,CAAC;QAEF,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC;QAEtC,IAAI,iBAAiB,GAAG,WAAW,CAAC;QACpC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvD,iBAAiB,GAAG,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YACrD,iBAAiB,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAE7D,MAAM,QAAQ,GAAyB;YACrC,QAAQ,EAAE,iBAAiB;YAC3B,UAAU;YACV,MAAM;SACP,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,8DAA8D,EAC9D;YACE,aAAa,EAAE,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE;YACrC,UAAU;YACV,aAAa,EAAE,iBAAiB,CAAC,MAAM;SACxC,CACF,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,MAAc,EACd,SAAiB,EACjB,QAAgB,EAChB,KAAc;QAEd,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAC9D,MAAM,EACN,SAAS,EACT,QAAQ,EACR,KAAK,CACN,CAAC;QAEF,MAAM,UAAU,GACd,MAAM,IAAI,CAAC,kBAAkB,CAAC,gCAAgC,CAAC,MAAM,CAAC,CAAC;QAEzE,MAAM,QAAQ,GAAG,2CAAoB,CAAC,SAAS,CAC7C,gBAAgB,EAChB,UAAU,CACX,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,2EAA2E,EAC3E;YACE,aAAa,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE;YACrD,qBAAqB,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM;YAC9C,sBAAsB,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM;YAChD,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,YAAY,EAAE,QAAQ,CAAC,YAAY;SACpC,CACF,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,MAAc,EACd,OAAmC;QAEnC,MAAM,IAAI,GACR,MAAM,IAAI,CAAC,cAAc,CAAC,gCAAgC,CAAC,MAAM,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,IAAI,EAAE,QAAQ,IAAI,KAAK,CAAC;QAC3C,MAAM,aAAa,GACjB,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;QAC7D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACrE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAExD,IAAI,aAAa,GACf,MAAM,IAAI,CAAC,UAAU,CAAC,yCAAyC,CAC7D,MAAM,EACN,OAAO,CAAC,SAAS,CAClB,CAAC;QAEJ,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ;gBAC/B,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;gBACtC,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM;gBAC3B,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;gBACpC,CAAC,CAAC,SAAS,CAAC;YAEd,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC/C,IAAI,QAAQ,IAAI,OAAO,CAAC,eAAe,GAAG,QAAQ,EAAE,CAAC;oBACnD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IAAI,MAAM,IAAI,OAAO,CAAC,eAAe,GAAG,MAAM,EAAE,CAAC;oBAC/C,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,IAAA,gDAAiC,EAAC,aAAa,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAC/D,IAAI,CAAC,iBAAiB,CACpB,CAAC,EACD,MAAM,EACN,UAAU,EACV,aAAa,EACb,WAAW,EACX,WAAW,CACZ,CACF,CACF,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAE1D,MAAM,QAAQ,GAAgC;YAC5C,QAAQ;YACR,MAAM;SACP,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,6EAA6E,EAC7E;YACE,aAAa,EAAE,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE;YACrC,UAAU,EAAE,QAAQ,CAAC,MAAM;SAC5B,CACF,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,QAAwB,EACxB,MAAc;QAEd,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,EAAE;aACV,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GACR,MAAM,IAAI,CAAC,cAAc,CAAC,gCAAgC,CAAC,MAAM,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,IAAI,EAAE,QAAQ,IAAI,KAAK,CAAC;QAC3C,MAAM,aAAa,GACjB,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;QAE7D,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;QAEnD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC7D,MAAM,YAAY,GAChB,OAAO,CAAC,eAAe,KAAK,0BAAe,CAAC,MAAM;gBAChD,CAAC,CAAC,OAAO,CAAC,MAAM;gBAChB,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YACtB,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,YAAY,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;QAClD,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7D,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;gBAClB,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,IAAI,eAAe,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,EAAE;aACV,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAU,EAAE,CAAC;QACxB,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAE7B,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5D,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CACpD,OAAO,EACP,QAAQ,EACR,UAAU,EACV,aAAa,CACd,CAAC;YAEF,KAAK,CAAC,IAAI,CAAC;gBACT,MAAM,EAAE;oBACN,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;oBACzB,QAAQ,EAAE,QAAQ;oBAClB,MAAM,EAAE,OAAO,GAAG,CAAC;iBACpB;gBACD,eAAe,EAAE;oBACf,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC;oBACxC,QAAQ,EAAE,UAAU;oBACpB,MAAM,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC;iBACnC;aACF,CAAC,CAAC;YAEH,oBAAoB,IAAI,eAAe,CAAC,MAAM,CAAC;QACjD,CAAC;QAED,OAAO;YACL,IAAI,EAAE;gBACJ,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC;gBACtC,QAAQ,EAAE,UAAU;gBACpB,MAAM,EAAE,oBAAoB,GAAG,CAAC;aACjC;YACD,KAAK;SACN,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAC1B,QAA2B,EAC3B,QAAgB,EAChB,UAAkB;QAElB,MAAM,OAAO,GAAG,IAAI,GAAG,EAA6B,CAAC;QAErD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC5B,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;aACjC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;aACnE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9B,IAAI;YACJ,YAAY;YACZ,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,UAAU,CAAC;SACvD,CAAC,CAAC,CAAC;IACR,CAAC;IAEO,YAAY,CAAC,UAAkB,EAAE,QAAgB;QACvD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YACxC,IAAI,EAAE,SAAS;YACf,QAAQ;SACT,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YACzC,KAAK,EAAE,SAAS;YAChB,QAAQ;SACT,CAAC,CAAC;QACH,OAAO,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,mBAAmB,CAAC,CAAC,WAAW,EAAE,CAAC;IACrE,CAAC;IAEO,UAAU,CAAC,UAAkB,EAAE,QAAgB;QACrD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YACxC,IAAI,EAAE,SAAS;YACf,QAAQ;SACT,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YACzC,KAAK,EAAE,SAAS;YAChB,QAAQ;SACT,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YACvC,GAAG,EAAE,SAAS;YACd,QAAQ;SACT,CAAC,CAAC;QACH,OAAO,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC;IACzE,CAAC;IAEO,0BAA0B,CAChC,QAA2B,EAC3B,QAAgB,EAChB,UAAkB;QAElB,MAAM,cAAc,GAAG,IAAI,GAAG,EAA0C,CAAC;QAEzE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAEvD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YAC1C,CAAC;YACD,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;YAE/C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1B,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC3B,CAAC;YACD,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;aACxC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;aACnE,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE;YAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;iBACtC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;iBACnE,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpC,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,eAAe;gBAC7B,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,UAAU,CAAC;gBACzD,YAAY,EAAE,IAAI,CAAC,qBAAqB,CACtC,eAAe,EACf,UAAU,CACX;aACF,CAAC,CAAC,CAAC;YAEN,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YAC5D,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,IAAI;gBACJ,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,UAAU,CAAC;aAC1D,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,qBAAqB,CAC3B,QAA2B,EAC3B,UAAkB;QAElB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,EAAE;aACV,CAAC;QACJ,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAG7B,CAAC;QAEJ,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;YACjD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI;gBACzD,QAAQ,EAAE,CAAC;gBACX,SAAS,EAAE,CAAC;aACb,CAAC;YAEF,MAAM,cAAc,GAClB,OAAO,CAAC,eAAe,KAAK,0BAAe,CAAC,MAAM;gBAChD,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM;gBACvB,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;YAC7B,MAAM,eAAe,GACnB,OAAO,CAAC,eAAe,KAAK,0BAAe,CAAC,MAAM;gBAChD,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM;gBACtC,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC;YAE5C,gBAAgB,CAAC,GAAG,CAAC,gBAAgB,EAAE;gBACrC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GAAG,cAAc;gBAC5C,SAAS,EAAE,QAAQ,CAAC,SAAS,GAAG,eAAe;aAChD,CAAC,CAAC;QACL,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,GAAG,EAG5B,CAAC;QACJ,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7D,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC3B,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,IAAI,eAAe,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,EAAE;aACV,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAGL,EAAE,CAAC;QACT,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAE7B,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5D,KAAK,CAAC,IAAI,CAAC;gBACT,MAAM,EAAE;oBACN,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;oBAClC,QAAQ,EAAE,QAAQ;oBAClB,MAAM,EAAE,OAAO,CAAC,QAAQ,GAAG,CAAC;iBAC7B;gBACD,eAAe,EAAE;oBACf,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC;oBACnC,QAAQ,EAAE,UAAU;oBACpB,MAAM,EAAE,OAAO,CAAC,SAAS,GAAG,CAAC;iBAC9B;aACF,CAAC,CAAC;YAEH,oBAAoB,IAAI,OAAO,CAAC,SAAS,CAAC;QAC5C,CAAC;QAED,OAAO;YACL,IAAI,EAAE;gBACJ,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC;gBACtC,QAAQ,EAAE,UAAU;gBACpB,MAAM,EAAE,oBAAoB,GAAG,CAAC;aACjC;YACD,KAAK;SACN,CAAC;IACJ,CAAC;IAEO,kCAAkC,CACxC,MAA0C,EAC1C,SAAkB;QAElB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC5B,GAAG,KAAK;YACR,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC7B,GAAG,GAAG;gBACN,YAAY,EAAE,mBAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC;aACjE,CAAC,CAAC;SACJ,CAAC,CAAC,CAAC;IACN,CAAC;IAEO,eAAe,CACrB,QAA2B,EAC3B,QAAgB;QAEhB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC;YACpD,IAAI,OAAO,CAAC,eAAe,KAAK,0BAAe,CAAC,MAAM,EAAE,CAAC;gBACvD,WAAW,IAAI,MAAM,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,YAAY,IAAI,MAAM,CAAC;YACzB,CAAC;QACH,CAAC;QAED,OAAO;YACL,QAAQ;YACR,WAAW;YACX,YAAY;YACZ,OAAO,EAAE,WAAW,GAAG,YAAY;SACpC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,YAA0B,EAC1B,MAAc,EACd,UAAkB,EAClB,KAA6B,EAC7B,WAA0D,EAC1D,WAAgC;QAEhC,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CACpD,YAAY,CAAC,MAAM,EACnB,YAAY,CAAC,QAAQ,EACrB,UAAU,EACV,KAAK,CACN,CAAC;QAEF,MAAM,MAAM,GAAqB;YAC/B,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,QAAQ,EAAE,YAAY,CAAC,QAAQ;SAChC,CAAC;QAEF,MAAM,qBAAqB,GAAqB;YAC9C,MAAM,EAAE,eAAe,CAAC,MAAM;YAC9B,QAAQ,EAAE,eAAe,CAAC,QAAQ;SACnC,CAAC;QAEF,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CACjD,YAAY,CAAC,SAAS,EACtB,MAAM,EACN,WAAW,CACZ,CAAC;QACF,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS;YAC1C,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAC3B,YAAY,CAAC,SAAS,EACtB,MAAM,EACN,WAAW,CACZ;YACH,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,gBAAgB,GACpB,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACzC,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CACjD,KAAK,CAAC,SAAS,EACf,MAAM,EACN,WAAW,CACZ,CAAC;YACF,MAAM,OAAO,GAAyB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBACjE,OAAO;oBACL,GAAG,MAAM;oBACT,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE;iBAClD,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,OAAO;gBACL,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,aAAa,EAAE,aAAa,CAAC,IAAI;gBACjC,cAAc,EAAE,aAAa,CAAC,KAAK;gBACnC,OAAO;aACR,CAAC;QACJ,CAAC,CAAC,CAAC;QAEL,IAAI,SAA8B,CAAC;QACnC,IAAI,gBAES,CAAC;QAEd,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,GAAG;qBACpC,cAAc,EAAE;qBAChB,0BAA0B,CAAC,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;gBAEtE,IAAI,gBAAgB,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;oBAClD,SAAS,GAAG,IAAI,CAAC;oBACjB,gBAAgB,GAAG;wBACjB,SAAS,EAAE,gBAAgB,CAAC,SAAS;wBACrC,QAAQ,EAAE,gBAAgB,CAAC,QAAQ;qBACpC,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,yEAAyE,EACzE;oBACE,WAAW,EAAE,YAAY,CAAC,WAAW;oBACrC,KAAK;iBACN,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,IAAI,0BAAe,CAAC;YACzB,aAAa,EAAE,YAAY,CAAC,QAAQ;YACpC,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,WAAW,EAAE,YAAY,CAAC,WAAW;YACrC,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,aAAa,EAAE,YAAY,CAAC,aAAa;YACzC,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC;YAChE,eAAe,EAAE,YAAY,CAAC,eAAe;YAC7C,IAAI,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE;YAC1D,SAAS,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;YACzD,SAAS,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;YACzD,SAAS,EAAE;gBACT,IAAI,EAAE,aAAa,CAAC,IAAI;gBACxB,EAAE,EAAE,YAAY,CAAC,SAAS;aAC3B;YACD,SAAS,EAAE,aAAa;gBACtB,CAAC,CAAC;oBACE,IAAI,EAAE,aAAa,CAAC,IAAI;oBACxB,EAAE,EAAE,YAAY,CAAC,SAAU;iBAC5B;gBACH,CAAC,CAAC,SAAS;YACb,MAAM;YACN,qBAAqB;YACrB,OAAO,EAAE,gBAAgB;YACzB,OAAO,EAAE,YAAY,CAAC,OAAO;YAC7B,WAAW,EAAE,YAAY,CAAC,WAAW;YACrC,SAAS;YACT,gBAAgB;YAChB,eAAe,EAAE,YAAY,CAAC,eAAe;YAC7C,MAAM,EAAE,YAAY,CAAC,MAAM;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,gCAAgC;IAEhC,KAAK,CAAC,yBAAyB,CAC7B,MAAc,EACd,MAAmD;QAEnD,MAAM,OAAO,GACX,MAAM,IAAI,CAAC,wBAAwB,CAAC,yCAAyC,CAC3E,MAAM,EACN,MAAM,CAAC,SAAS,CACjB,CAAC;QACJ,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,QAAQ,GAAG,IAAA,SAAM,GAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,MAAM,KAAK,GAAG,IAAI,kDAAwB,CAAC;YACzC,OAAO,EAAE,IAAA,SAAM,GAAE;YACjB,MAAM;YACN,UAAU,EAAE,wCAAc,CAAC,eAAe;YAC1C,QAAQ,EAAE,MAAM,CAAC,SAAS;YAC1B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,SAAS;YACT,SAAS,EAAE,MAAM;YACjB,QAAQ;YACR,OAAO,EAAE,CAAC;YACV,eAAe,EAAE,KAAK;SACvB,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,6BAA6B,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE5D,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,0EAA0E,EAC1E;YACE,OAAO,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;YAC9B,QAAQ,EAAE,EAAE,QAAQ,EAAE;SACvB,CACF,CAAC;QAEF,OAAO,EAAE,QAAQ,EAAE,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,MAAc,EACd,QAAgB,EAChB,YAAoB,EACpB,UAAsB,EACtB,QAAgB;QAEhB,MAAM,aAAa,GACjB,MAAM,IAAI,CAAC,2BAA2B,EAAE,gCAAgC,CACtE,QAAQ,CACT,CAAC;QAEJ,MAAM,KAAK,GAAG,IAAI,mDAAyB,CAAC;YAC1C,OAAO,EAAE,IAAA,SAAM,GAAE;YACjB,MAAM;YACN,UAAU,EAAE,aAAa,EAAE,UAAU,IAAI,UAAU;YACnD,QAAQ,EAAE,aAAa,EAAE,QAAQ,IAAI,QAAQ;YAC7C,YAAY;YACZ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,SAAS,EAAE,MAAM;YACjB,QAAQ,EAAE,aAAa,EAAE,QAAQ,IAAI,QAAQ;YAC7C,OAAO,EAAE,CAAC,aAAa,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC;YAC1C,eAAe,EAAE,KAAK;SACvB,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,6BAA6B,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE5D,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,0EAA0E,EAC1E;YACE,QAAQ;YACR,YAAY;SACb,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,MAAc,EACd,QAAgB;QAEhB,MAAM,KAAK,GACT,MAAM,IAAI,CAAC,2BAA2B,EAAE,gCAAgC,CACtE,QAAQ,CACT,CAAC;QACJ,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACrC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,4BAA4B,CAChC,MAAc;QAEd,MAAM,YAAY,GAChB,CAAC,MAAM,IAAI,CAAC,2BAA2B,EAAE,gCAAgC,CACvE,MAAM,CACP,CAAC,IAAI,EAAE,CAAC;QAEX,OAAO,YAAY,CAAC,MAAM,CACxB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,MAAM,KAAK,iDAAuB,CAAC,SAAS;YAC9C,CAAC,CAAC,MAAM,KAAK,iDAAuB,CAAC,MAAM,CAC9C,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,uBAAuB,CAC3B,MAAc,EACd,QAAgB;QAEhB,MAAM,aAAa,GACjB,MAAM,IAAI,CAAC,2BAA2B,EAAE,gCAAgC,CACtE,QAAQ,CACT,CAAC;QAEJ,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,gCAAgC,QAAQ,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,aAAa,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,8CAA8C,QAAQ,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,4DAA4D;QAC5D,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,sFAAsF,EACtF,EAAE,MAAM,EAAE,QAAQ,EAAE,CACrB,CAAC;QAEF,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,sBAAsB,CAC1B,MAAc,EACd,QAAgB;QAEhB,MAAM,aAAa,GACjB,MAAM,IAAI,CAAC,2BAA2B,EAAE,gCAAgC,CACtE,QAAQ,CACT,CAAC;QAEJ,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,gCAAgC,QAAQ,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,aAAa,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,8CAA8C,QAAQ,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,aAAa,CAAC,MAAM,KAAK,iDAAuB,CAAC,MAAM,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,8CAA8C,QAAQ,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,4DAA4D;QAC5D,kFAAkF;QAClF,yCAAyC;QACzC,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,oFAAoF,EACpF,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE,CAC1D,CAAC;QAEF,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;CACF;AAlsDD,8CAksDC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExportsController.d.ts","sourceRoot":"","sources":["../../../src/client/controllers/ExportsController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;;GAIG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;gBAE5B,GAAG,EAAE,iBAAiB;IAIlC,OAAO,KAAK,MAAM,GAEjB;IAED;;;;;;OAMG;IACG,oBAAoB,CACxB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,eAAe,GAC1B,OAAO,CAAC,eAAe,EAAE,CAAC;IAiB7B;;;;;;OAMG;IACG,8BAA8B,CAClC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,eAAe,GAC1B,OAAO,CAAC,WAAW,EAAE,CAAC;IAkBzB;;;;;;OAMG;IACG,6BAA6B,CACjC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,eAAe,GAC1B,OAAO,CAAC,wBAAwB,EAAE,CAAC;CAiBvC"}
1
+ {"version":3,"file":"ExportsController.d.ts","sourceRoot":"","sources":["../../../src/client/controllers/ExportsController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAIlE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;;GAIG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;gBAE5B,GAAG,EAAE,iBAAiB;IAIlC,OAAO,KAAK,MAAM,GAEjB;IAED;;;;;;OAMG;IACG,oBAAoB,CACxB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,eAAe,GAC1B,OAAO,CAAC,eAAe,EAAE,CAAC;IAiB7B;;;;;;OAMG;IACG,8BAA8B,CAClC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,eAAe,GAC1B,OAAO,CAAC,WAAW,EAAE,CAAC;IAoBzB;;;;;;OAMG;IACG,6BAA6B,CACjC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,eAAe,GAC1B,OAAO,CAAC,wBAAwB,EAAE,CAAC;CAoDvC"}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ExportsController = void 0;
4
+ const GroupUtil_1 = require("../../utils/GroupUtil");
5
+ const UserNameUtil_1 = require("../../utils/UserNameUtil");
4
6
  /**
5
7
  * Controller for exporting transaction data
6
8
  * Provides functions to retrieve expenses, friend transactions, and group transactions
@@ -47,11 +49,13 @@ class ExportsController {
47
49
  dateRange,
48
50
  friendId,
49
51
  });
50
- // TODO: Implement friend transaction retrieval for export
51
- // 1. Query transactions from transactionModelStore by friendId and date range
52
- // 2. Convert to Transaction response format
53
- // 3. Return sorted by transaction date
54
- return [];
52
+ const transactionController = this.sdk.getTransactionController();
53
+ const result = await transactionController.queryTransactions(userId, {
54
+ friendIds: [friendId],
55
+ dateFrom: dateRange ? new Date(dateRange.from).toISOString() : undefined,
56
+ dateTo: dateRange ? new Date(dateRange.to).toISOString() : undefined,
57
+ });
58
+ return result.transactions;
55
59
  }
56
60
  /**
57
61
  * Get group transactions for export within a date range
@@ -66,11 +70,23 @@ class ExportsController {
66
70
  dateRange,
67
71
  groupId,
68
72
  });
69
- // TODO: Implement group transaction retrieval for export
70
- // 1. Query group transactions from groupTransactionModelStore by groupId and date range
71
- // 2. Convert to GroupTransactionResponse format
72
- // 3. Return sorted by transaction date
73
- return [];
73
+ const { groupTransactionModelStore, userModelStore, currencyStore, friendModelStore, } = this.sdk.getStoreConfig();
74
+ const transactions = await groupTransactionModelStore.findByUserIdAndGroupIdWhereDeletedIsFalse(userId, groupId);
75
+ const filtered = dateRange
76
+ ? transactions.filter((t) => t.transactionDate >= dateRange.from &&
77
+ t.transactionDate <= dateRange.to)
78
+ : transactions;
79
+ const user = await userModelStore.getByStreamIdWhereDeletedIsFalse(userId);
80
+ const toCurrency = user?.currency ?? "USD";
81
+ const rates = (await currencyStore.getCurrencyRates())?.rates ?? {};
82
+ const nameInfoMap = await new UserNameUtil_1.UserNameUtil(friendModelStore).buildUserNameMap(userId);
83
+ const memberNameMap = new Map();
84
+ for (const [memberId, info] of nameInfoMap) {
85
+ memberNameMap.set(memberId, info.name);
86
+ }
87
+ return filtered
88
+ .sort((a, b) => b.transactionDate - a.transactionDate || b.createdAt - a.createdAt)
89
+ .map((t) => (0, GroupUtil_1.toGroupTransactionResponse)(t, toCurrency, rates, memberNameMap));
74
90
  }
75
91
  }
76
92
  exports.ExportsController = ExportsController;
@@ -1 +1 @@
1
- {"version":3,"file":"ExportsController.js","sourceRoot":"","sources":["../../../src/client/controllers/ExportsController.ts"],"names":[],"mappings":";;;AAaA;;;;GAIG;AACH,MAAa,iBAAiB;IAG5B,YAAY,GAAsB;QAChC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,IAAY,MAAM;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,oBAAoB,CACxB,MAAc,EACd,SAAiB,EACjB,SAA2B;QAE3B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iDAAiD,EAAE;YACjE,MAAM;YACN,SAAS;YACT,SAAS;SACV,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,sBAAsB,CAAC,MAAM,EAAE;YACpE,SAAS;YACT,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;YACxE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;SACrE,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,8BAA8B,CAClC,MAAc,EACd,QAAgB,EAChB,SAA2B;QAE3B,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,2DAA2D,EAC3D;YACE,MAAM;YACN,SAAS;YACT,QAAQ;SACT,CACF,CAAC;QAEF,0DAA0D;QAC1D,8EAA8E;QAC9E,4CAA4C;QAC5C,uCAAuC;QAEvC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,6BAA6B,CACjC,MAAc,EACd,OAAe,EACf,SAA2B;QAE3B,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,0DAA0D,EAC1D;YACE,MAAM;YACN,SAAS;YACT,OAAO;SACR,CACF,CAAC;QAEF,yDAAyD;QACzD,wFAAwF;QACxF,gDAAgD;QAChD,uCAAuC;QAEvC,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAhGD,8CAgGC"}
1
+ {"version":3,"file":"ExportsController.js","sourceRoot":"","sources":["../../../src/client/controllers/ExportsController.ts"],"names":[],"mappings":"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"}