@activeledger/activeprotocol 2.15.7 → 4.3.3

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 (49) hide show
  1. package/es/protocol/interfaces/vm.interface.d.ts +6 -4
  2. package/es/protocol/interfaces/vm.interface.d.ts.map +1 -1
  3. package/es/protocol/permissionsChecker.d.ts +5 -3
  4. package/es/protocol/permissionsChecker.d.ts.map +1 -1
  5. package/es/protocol/permissionsChecker.js +149 -120
  6. package/es/protocol/permissionsChecker.js.map +1 -1
  7. package/es/protocol/process.d.ts +10 -9
  8. package/es/protocol/process.d.ts.map +1 -1
  9. package/es/protocol/process.js +276 -214
  10. package/es/protocol/process.js.map +1 -1
  11. package/es/protocol/shared.d.ts +6 -2
  12. package/es/protocol/shared.d.ts.map +1 -1
  13. package/es/protocol/shared.js +41 -29
  14. package/es/protocol/shared.js.map +1 -1
  15. package/es/protocol/streamUpdater.d.ts +1 -6
  16. package/es/protocol/streamUpdater.d.ts.map +1 -1
  17. package/es/protocol/streamUpdater.js +80 -109
  18. package/es/protocol/streamUpdater.js.map +1 -1
  19. package/es/protocol/vm.d.ts +12 -5
  20. package/es/protocol/vm.d.ts.map +1 -1
  21. package/es/protocol/vm.js +212 -137
  22. package/es/protocol/vm.js.map +1 -1
  23. package/es/protocol/vmscript.js +23 -10
  24. package/es/protocol/vmscript.js.map +1 -1
  25. package/lib/protocol/interfaces/vm.interface.d.ts +6 -4
  26. package/lib/protocol/interfaces/vm.interface.d.ts.map +1 -1
  27. package/lib/protocol/permissionsChecker.d.ts +5 -3
  28. package/lib/protocol/permissionsChecker.d.ts.map +1 -1
  29. package/lib/protocol/permissionsChecker.js +149 -120
  30. package/lib/protocol/permissionsChecker.js.map +1 -1
  31. package/lib/protocol/process.d.ts +10 -9
  32. package/lib/protocol/process.d.ts.map +1 -1
  33. package/lib/protocol/process.js +276 -240
  34. package/lib/protocol/process.js.map +1 -1
  35. package/lib/protocol/shared.d.ts +6 -2
  36. package/lib/protocol/shared.d.ts.map +1 -1
  37. package/lib/protocol/shared.js +41 -29
  38. package/lib/protocol/shared.js.map +1 -1
  39. package/lib/protocol/streamUpdater.d.ts +1 -6
  40. package/lib/protocol/streamUpdater.d.ts.map +1 -1
  41. package/lib/protocol/streamUpdater.js +80 -109
  42. package/lib/protocol/streamUpdater.js.map +1 -1
  43. package/lib/protocol/vm.d.ts +12 -5
  44. package/lib/protocol/vm.d.ts.map +1 -1
  45. package/lib/protocol/vm.js +211 -136
  46. package/lib/protocol/vm.js.map +1 -1
  47. package/lib/protocol/vmscript.js +23 -9
  48. package/lib/protocol/vmscript.js.map +1 -1
  49. package/package.json +9 -9
@@ -1,6 +1,19 @@
1
- import { ActiveOptions } from "@activeledger/activeoptions";
2
1
  import { ActiveLogger } from "@activeledger/activelogger";
3
2
  export class StreamUpdater {
3
+ entry;
4
+ virtualMachine;
5
+ reference;
6
+ nodeResponse;
7
+ db;
8
+ dbev;
9
+ emitter;
10
+ shared;
11
+ contractId;
12
+ docs;
13
+ streams;
14
+ collisions;
15
+ refStreams;
16
+ earlyCommit;
4
17
  constructor(entry, virtualMachine, reference, nodeResponse, db, dbev, emitter, shared, contractId) {
5
18
  this.entry = entry;
6
19
  this.virtualMachine = virtualMachine;
@@ -12,51 +25,46 @@ export class StreamUpdater {
12
25
  this.shared = shared;
13
26
  this.contractId = contractId;
14
27
  this.collisions = [];
15
- this.skip = [];
16
- this.nhkpCheck = ActiveOptions.get("security", {})
17
- .hardenedKeys;
18
28
  this.refStreams = {
19
29
  new: [],
20
30
  updated: [],
21
31
  };
22
32
  this.streams = this.virtualMachine.getActivityStreamsFromVM(this.entry.$umid);
23
- this.inputs = this.virtualMachine.getInputs(this.entry.$umid);
24
33
  }
25
- updateStreams(earlyCommit) {
34
+ async updateStreams(earlyCommit) {
26
35
  if (earlyCommit)
27
36
  this.earlyCommit = earlyCommit;
28
- this.streams.length ? this.processStreams() : this.processNoStreams();
37
+ this.streams.length
38
+ ? await this.processStreams()
39
+ : await this.processNoStreams();
29
40
  }
30
41
  async processNoStreams() {
31
42
  if (!this.entry.$territoriality) {
32
43
  this.entry.$territoriality = this.reference;
33
44
  }
45
+ this.nodeResponse.return = this.virtualMachine.getReturnContractData(this.entry.$umid);
46
+ this.emitter.emit("commited");
34
47
  try {
35
48
  this.nodeResponse.post = await this.virtualMachine.postProcess(this.entry.$territoriality === this.reference, this.entry.$territoriality, this.entry.$umid);
36
49
  this.nodeResponse.incomms = this.virtualMachine.getInternodeCommsFromVM(this.entry.$umid);
37
- this.nodeResponse.return = this.virtualMachine.getReturnContractData(this.entry.$umid);
38
50
  this.entry = this.shared.clearAllComms(this.virtualMachine, this.nodeResponse.incomms);
39
- if (this.earlyCommit)
40
- this.earlyCommit();
41
- this.emitter.emit("commited");
51
+ this.earlyCommit?.();
42
52
  }
43
53
  catch (error) {
44
- if (this.earlyCommit)
45
- this.earlyCommit();
54
+ this.earlyCommit?.();
46
55
  this.emitter.emit("commited");
47
56
  }
48
57
  }
49
- processStreams() {
58
+ async processStreams() {
50
59
  this.docs = [];
51
60
  this.buildReferenceStreams();
52
- if (this.inputs && this.inputs.length)
53
- this.handleInputs();
54
61
  this.docs.push({
55
62
  _id: this.entry.$umid + ":umid",
56
63
  umid: this.compactTxEntry(),
57
64
  streams: this.refStreams,
65
+ events: this.virtualMachine.getEvents(this.entry.$umid),
58
66
  });
59
- this.detectCollisions();
67
+ await this.detectCollisions();
60
68
  }
61
69
  compactTxEntry() {
62
70
  return {
@@ -66,38 +74,10 @@ export class StreamUpdater {
66
74
  $revs: this.entry.$revs,
67
75
  $selfsign: this.entry.$selfsign ? this.entry.$selfsign : false,
68
76
  $datetime: this.entry.$datetime,
77
+ $origin: this.entry.$origin,
78
+ $remoteAddr: this.entry.$remoteAddr,
69
79
  };
70
80
  }
71
- handleInputs() {
72
- const notInSkip = (index) => this.skip.indexOf(this.inputs[index].meta._id) === -1;
73
- let i = this.inputs.length;
74
- while (i--) {
75
- if (notInSkip(i) &&
76
- this.inputs[i].meta.txs &&
77
- this.inputs[i].meta.txs.length) {
78
- this.inputs[i].meta.txs.push(this.entry.$umid);
79
- if (this.inputs[i].state._id && this.nhkpCheck) {
80
- this.handleNHPK(this.inputs[i]);
81
- }
82
- this.docs.push(this.inputs[i].meta);
83
- }
84
- }
85
- }
86
- handleNHPK(input) {
87
- const inputLabel = this.shared.getLabelIOMap(true, input.state._id);
88
- const nhpk = this.entry.$tx.$i[inputLabel].$nhpk;
89
- const txSigAuthKeys = Object.keys(this.entry.$sigs[input.state._id]);
90
- const authorities = input.meta.authorities;
91
- const keys = Object.keys(authorities);
92
- let i = keys.length;
93
- while (i--) {
94
- const authority = authorities[keys[i]];
95
- const txSigAuthKey = txSigAuthKeys.indexOf(authority.hash);
96
- if (txSigAuthKey === -1) {
97
- authority.public = nhpk[txSigAuthKeys[txSigAuthKey]];
98
- }
99
- }
100
- }
101
81
  handleContractDataStream(contractData) {
102
82
  const [contract, suffix] = contractData._id.split(":");
103
83
  if (contract.length < 64) {
@@ -106,14 +86,13 @@ export class StreamUpdater {
106
86
  this.docs.push(contractData);
107
87
  }
108
88
  buildReferenceStreams() {
109
- var _a;
110
89
  let i = this.streams.length;
111
90
  while (i--) {
112
- if (((_a = this.streams[i]._id) === null || _a === void 0 ? void 0 : _a.indexOf(":data")) > -1) {
91
+ if (this.streams[i]._id?.indexOf(":data") > -1) {
113
92
  this.handleContractDataStream(this.streams[i]);
114
93
  continue;
115
94
  }
116
- if (!this.streams[i].meta._rev) {
95
+ if (this.streams[i].meta && !this.streams[i].meta._rev) {
117
96
  if (!this.streams[i].meta._id) {
118
97
  this.streams[i].state._id = this.entry.$umid + i;
119
98
  this.streams[i].meta._id = this.streams[i].state._id + ":stream";
@@ -121,7 +100,6 @@ export class StreamUpdater {
121
100
  this.streams[i].state._id + ":volatile";
122
101
  }
123
102
  this.streams[i].meta.txs = [this.entry.$umid];
124
- this.streams[i].meta.$constructor = true;
125
103
  delete this.streams[i].state._rev;
126
104
  delete this.streams[i].meta._rev;
127
105
  delete this.streams[i].volatile._rev;
@@ -134,96 +112,89 @@ export class StreamUpdater {
134
112
  });
135
113
  }
136
114
  else {
137
- if (this.streams[i].meta.txs && this.streams[i].meta.txs.length) {
138
- this.streams[i].meta.txs.push(this.entry.$umid);
139
- this.skip.push(this.streams[i].meta._id);
140
- }
141
- if (this.streams[i].state._id && this.nhkpCheck) {
142
- let nhpk = this.entry.$tx.$i[this.shared.getLabelIOMap(true, this.streams[i].state._id)].$nhpk;
143
- let txSigAuthsKeys = Object.keys(this.entry.$sigs[this.streams[i].state._id]);
144
- this.streams[i].meta.authorities.forEach((authority) => {
145
- const txSigAuthKey = txSigAuthsKeys.indexOf(authority.hash);
146
- if (txSigAuthKey !== -1) {
147
- authority.public = nhpk[txSigAuthsKeys[txSigAuthKey]];
148
- }
149
- });
150
- }
151
115
  this.refStreams.updated.push({
152
116
  id: this.shared.filterPrefix(this.streams[i].state._id),
153
- name: this.streams[i].meta.name,
154
117
  });
155
118
  }
156
119
  if (this.streams[i].state._id)
157
120
  this.docs.push(this.streams[i].state);
158
- if (this.streams[i].meta._id)
121
+ if (this.streams[i].meta?._id) {
159
122
  this.docs.push(this.streams[i].meta);
160
- if (this.streams[i].volatile && this.streams[i].volatile._id)
123
+ }
124
+ if (this.streams[i].volatile?._id)
161
125
  this.docs.push(this.streams[i].volatile);
162
126
  }
163
127
  }
164
128
  async append() {
165
- let continueProcessing = true, emit = true;
166
129
  try {
167
- await Promise.all([
168
- this.db.bulkDocs(this.docs),
169
- this.dbev.post({
170
- _id: `umid:${new Date(this.entry.$datetime).getTime()},${this.entry.$umid}`,
171
- }),
172
- ]);
130
+ const bulkWriteResult = await this.db.bulkDocs(this.docs);
131
+ if (!bulkWriteResult) {
132
+ throw new Error("Bulk Doc Insert Failed");
133
+ }
134
+ await this.dbev.post({
135
+ _id: `umid:${new Date(this.entry.$datetime).getTime()},${this.entry.$umid}`,
136
+ });
173
137
  }
174
138
  catch (error) {
175
- continueProcessing = emit = false;
176
139
  ActiveLogger.debug(error, "Datastore Failure");
177
- this.shared.raiseLedgerError(1510, new Error("Failed to save"));
140
+ this.shared.raiseLedgerError(1510, new Error("Failed to save streams"));
141
+ return;
178
142
  }
179
- if (continueProcessing) {
180
- this.nodeResponse.datetime = new Date();
181
- if (!this.entry.$territoriality) {
182
- this.entry.$territoriality = this.reference;
183
- }
184
- if (this.reference === this.entry.$origin) {
185
- this.entry.$streams = this.refStreams;
186
- }
187
- this.nodeResponse.streams = this.refStreams;
188
- try {
189
- const post = await this.virtualMachine.postProcess(this.entry.$territoriality === this.reference, this.entry.$territoriality, this.entry.$umid);
190
- this.nodeResponse.post = post;
191
- this.nodeResponse.incomms = this.virtualMachine.getInternodeCommsFromVM(this.entry.$umid);
192
- this.nodeResponse.return = this.virtualMachine.getReturnContractData(this.entry.$umid);
193
- this.entry = this.shared.clearAllComms(this.virtualMachine, this.nodeResponse.incomms);
194
- }
195
- catch (error) {
196
- continueProcessing = false;
197
- }
143
+ this.nodeResponse.datetime = new Date();
144
+ if (!this.entry.$territoriality) {
145
+ this.entry.$territoriality = this.reference;
198
146
  }
199
- this.emitter.emit("broadcast");
200
- if (this.earlyCommit)
201
- this.earlyCommit();
202
- if (emit) {
203
- this.emitter.emit("commited");
147
+ if (this.reference === this.entry.$origin) {
148
+ this.entry.$streams = this.refStreams;
149
+ }
150
+ this.nodeResponse.streams = this.refStreams;
151
+ this.nodeResponse.return = this.virtualMachine.getReturnContractData(this.entry.$umid);
152
+ if (this.virtualMachine.getNewContractData(this.entry.$umid)) {
153
+ this.emitter.emit("contractData", {
154
+ contract: this.contractId,
155
+ data: null,
156
+ });
204
157
  }
158
+ try {
159
+ this.nodeResponse.post = await this.virtualMachine.postProcess(this.entry.$territoriality === this.reference, this.entry.$territoriality, this.entry.$umid);
160
+ this.nodeResponse.incomms = this.virtualMachine.getInternodeCommsFromVM(this.entry.$umid);
161
+ this.entry = this.shared.clearAllComms(this.virtualMachine, this.nodeResponse.incomms);
162
+ }
163
+ catch (error) {
164
+ ActiveLogger.error(error, "Post-processing failed");
165
+ }
166
+ if (!this.nodeResponse.leader) {
167
+ this.emitter.emit("broadcast");
168
+ }
169
+ this.earlyCommit?.();
170
+ this.emitter.emit("commited");
205
171
  }
206
172
  async detectCollisions() {
207
173
  if (this.collisions.length) {
208
174
  ActiveLogger.info("Deterministic streams to be checked");
209
- let streamColCheck = [];
175
+ const existenceChecks = [];
210
176
  let i = this.collisions.length;
211
177
  while (i--) {
212
178
  const streamId = this.collisions[i];
213
- streamColCheck.push(this.db.get(streamId));
179
+ existenceChecks.push(this.db.exists(streamId));
214
180
  }
215
181
  try {
216
- const streams = await Promise.all(streamColCheck);
217
- ActiveLogger.debug(streams, "Deterministic Stream Name Exists");
218
- this.nodeResponse.commit = false;
219
- this.shared.raiseLedgerError(1530, new Error("Deterministic Stream Name Exists"));
182
+ const existingStreams = await Promise.all(existenceChecks);
183
+ if (existingStreams.some(exists => exists)) {
184
+ ActiveLogger.debug(this.collisions, "Deterministic Stream Name Exists");
185
+ this.nodeResponse.commit = false;
186
+ this.shared.raiseLedgerError(1530, new Error("Deterministic Stream Name Exists"), false, 0, true);
187
+ }
188
+ else {
189
+ await this.append();
190
+ }
220
191
  }
221
192
  catch (error) {
222
- this.append();
193
+ await this.append();
223
194
  }
224
195
  }
225
196
  else {
226
- this.append();
197
+ await this.append();
227
198
  }
228
199
  }
229
200
  }
@@ -1 +1 @@
1
- {"version":3,"file":"streamUpdater.js","sourceRoot":"","sources":["../../src/protocol/streamUpdater.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streamUpdater.js","sourceRoot":"","sources":["../../src/protocol/streamUpdater.ts"],"names":[],"mappings":"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"}
@@ -9,29 +9,36 @@ export declare class VirtualMachine extends events.EventEmitter implements IVirt
9
9
  private secured;
10
10
  private db;
11
11
  private dbev;
12
- private virtual;
12
+ private smartContracts;
13
+ private contracts;
13
14
  private virtualInstance;
14
15
  private contractReferences;
15
- private event;
16
+ private events;
16
17
  private emitter;
17
18
  private maxTimeout;
18
19
  private scriptFinishedExec;
20
+ private timeoutTimers;
19
21
  constructor(selfHost: string, secured: ActiveCrypto.Secured, db: ActiveDSConnect, dbev: ActiveDSConnect);
20
- initialiseVirtualMachine(extraBuiltins?: string[], extraExternals?: string[], extraMocks?: string[]): void;
22
+ initialiseVirtualMachine(): void;
23
+ private getContract;
21
24
  getActivityStreamsFromVM(umid: string): ActiveDefinitions.LedgerStream[];
25
+ getNewContractData(umid: string): boolean;
22
26
  destroy(umid: string): void;
23
27
  getInternodeCommsFromVM(umid: string): any;
24
28
  clearingInternodeCommsFromVM(umid: string): boolean;
25
29
  getReturnContractData(umid: string): unknown;
26
30
  getThrowsFromVM(umid: string): string[];
31
+ getEvents(umid: string): any[];
27
32
  getInputs(umid: string): ActiveDefinitions.LedgerStream[];
28
33
  initialise(payload: IVMDataPayload, contractName: string): Promise<void>;
29
34
  private setPhase;
30
35
  read(umid: string, readMethod: string): Promise<unknown>;
31
36
  verify(sigless: boolean, umid: string): Promise<boolean>;
32
- vote(nodes: ActiveDefinitions.INodes, umid: string): Promise<boolean>;
37
+ vote(nodes: ActiveDefinitions.INodes, umid: string): Promise<boolean | {
38
+ leader: boolean;
39
+ }>;
33
40
  commit(nodes: ActiveDefinitions.INodes, possibleTerritoriality: boolean | undefined, umid: string): Promise<boolean>;
34
- reconcile(nodes: ActiveDefinitions.INodes, umid: string): Promise<boolean>;
41
+ reconcile(nodes: ActiveDefinitions.INodes, umid: string): Promise<any>;
35
42
  postProcess(territoriality: boolean, who: string, umid: string): Promise<any>;
36
43
  private incMarshel;
37
44
  private listenForVolatile;
@@ -1 +1 @@
1
- {"version":3,"file":"vm.d.ts","sourceRoot":"","sources":["../../src/protocol/vm.ts"],"names":[],"mappings":";AAuBA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAiB,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAIpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAK1D,OAAO,EACL,cAAc,EAEd,eAAe,EAChB,MAAM,2BAA2B,CAAC;AASnC,qBAAa,cACX,SAAQ,MAAM,CAAC,YACf,YAAW,eAAe;IAyExB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,IAAI;IArEd,OAAO,CAAC,OAAO,CAAS;IAQxB,OAAO,CAAC,eAAe,CAAM;IAQ7B,OAAO,CAAC,kBAAkB,CAAwB;IAQlD,OAAO,CAAC,KAAK,CAAc;IAQ3B,OAAO,CAAC,OAAO,CAAe;IAQ9B,OAAO,CAAC,UAAU,CAAO;IAQzB,OAAO,CAAC,kBAAkB,CAAkB;gBAkBlC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,YAAY,CAAC,OAAO,EAC7B,EAAE,EAAE,eAAe,EACnB,IAAI,EAAE,eAAe;IAiBxB,wBAAwB,CAC7B,aAAa,CAAC,EAAE,MAAM,EAAE,EACxB,cAAc,CAAC,EAAE,MAAM,EAAE,EACzB,UAAU,CAAC,EAAE,MAAM,EAAE,GACpB,IAAI;IA4EA,wBAAwB,CAC7B,IAAI,EAAE,MAAM,GACX,iBAAiB,CAAC,YAAY,EAAE;IAoC5B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAc3B,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG;IAS1C,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IASnD,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAS5C,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IASvC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAAC,YAAY,EAAE;IASzD,UAAU,CACf,OAAO,EAAE,cAAc,EACvB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IA+DhB,OAAO,CAAC,QAAQ;IAYT,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAwCxD,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAyCxD,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA6CrE,MAAM,CACX,KAAK,EAAE,iBAAiB,CAAC,MAAM,EAC/B,sBAAsB,qBAAiB,EACvC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC;IA+CZ,SAAS,CACd,KAAK,EAAE,iBAAiB,CAAC,MAAM,EAC/B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC;IAiDZ,WAAW,CAChB,cAAc,EAAE,OAAO,EACvB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,GAAG,CAAC;IAuDf,OAAO,CAAC,UAAU;IA+BlB,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,eAAe;YA4BT,cAAc;YAmFd,WAAW;CAmB1B"}
1
+ {"version":3,"file":"vm.d.ts","sourceRoot":"","sources":["../../src/protocol/vm.ts"],"names":[],"mappings":";AAuBA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAiB,eAAe,EAAe,MAAM,6BAA6B,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAIpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAK1D,OAAO,EACL,cAAc,EAEd,eAAe,EAChB,MAAM,2BAA2B,CAAC;AAUnC,qBAAa,cACX,SAAQ,MAAM,CAAC,YACf,YAAW,eAAe;IAgGxB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,IAAI;IA5Fd,OAAO,CAAC,cAAc,CAA+B;IAOrD,OAAO,CAAC,SAAS,CAAmC;IAgBpD,OAAO,CAAC,eAAe,CAAM;IAQ7B,OAAO,CAAC,kBAAkB,CAAwB;IAQlD,OAAO,CAAC,MAAM,CAAuC;IAQrD,OAAO,CAAC,OAAO,CAAe;IAQ9B,OAAO,CAAC,UAAU,CAAO;IAQzB,OAAO,CAAC,kBAAkB,CAAmC;IAQ7D,OAAO,CAAC,aAAa,CAA0C;gBAkBrD,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,YAAY,CAAC,OAAO,EAC7B,EAAE,EAAE,eAAe,EACnB,IAAI,EAAE,eAAe;IAiBxB,wBAAwB,IAAI,IAAI;IAavC,OAAO,CAAC,WAAW;IAaZ,wBAAwB,CAC7B,IAAI,EAAE,MAAM,GACX,iBAAiB,CAAC,YAAY,EAAE;IA6E5B,kBAAkB,CACvB,IAAI,EAAE,MAAM,GACX,OAAO;IAaH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAgC3B,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG;IAS1C,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IASnD,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAU5C,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAYvC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,EAAE;IAS9B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAAC,YAAY,EAAE;IASzD,UAAU,CACf,OAAO,EAAE,cAAc,EACvB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IA+EhB,OAAO,CAAC,QAAQ;IAWH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAyC9D,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAyCxD,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IA6C3F,MAAM,CACX,KAAK,EAAE,iBAAiB,CAAC,MAAM,EAC/B,sBAAsB,qBAAiB,EACvC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC;IA+CZ,SAAS,CACd,KAAK,EAAE,iBAAiB,CAAC,MAAM,EAC/B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,GAAG,CAAC;IAoDR,WAAW,CAChB,cAAc,EAAE,OAAO,EACvB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,GAAG,CAAC;IAyDf,OAAO,CAAC,UAAU;IAiClB,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,YAAY;IAgCpB,OAAO,CAAC,eAAe;YAgCT,cAAc;YAmFd,WAAW;CAmB1B"}