@homebridge-plugins/homebridge-eufy-security 5.0.0-beta.2 → 5.0.0-beta.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/config.schema.json +24 -0
  2. package/dist/account/temporary-authentication.js +3 -1
  3. package/dist/account/temporary-authentication.js.map +1 -1
  4. package/dist/configuration.js +36 -2
  5. package/dist/configuration.js.map +1 -1
  6. package/dist/device/member-evidence.js +10 -3
  7. package/dist/device/member-evidence.js.map +1 -1
  8. package/dist/diagnostics.js +678 -83
  9. package/dist/diagnostics.js.map +1 -1
  10. package/dist/homekit/adapters/camera-streaming.js +54 -26
  11. package/dist/homekit/adapters/camera-streaming.js.map +1 -1
  12. package/dist/homekit/adapters/lock.js +45 -16
  13. package/dist/homekit/adapters/lock.js.map +1 -1
  14. package/dist/homekit/adapters/motion.js +1 -1
  15. package/dist/homekit/adapters/motion.js.map +1 -1
  16. package/dist/homekit/adapters/package-sensor.js +63 -0
  17. package/dist/homekit/adapters/package-sensor.js.map +1 -0
  18. package/dist/homekit/adapters/registry.js +2 -0
  19. package/dist/homekit/adapters/registry.js.map +1 -1
  20. package/dist/homekit/adapters/security-system.js +101 -45
  21. package/dist/homekit/adapters/security-system.js.map +1 -1
  22. package/dist/homekit/coverage-matrix.js +1 -3
  23. package/dist/homekit/coverage-matrix.js.map +1 -1
  24. package/dist/homekit/reconciler.js +17 -4
  25. package/dist/homekit/reconciler.js.map +1 -1
  26. package/dist/media/last-successful-image.js +5 -3
  27. package/dist/media/last-successful-image.js.map +1 -1
  28. package/dist/media/live-stream.js +109 -59
  29. package/dist/media/live-stream.js.map +1 -1
  30. package/dist/media/recording.js +7 -5
  31. package/dist/media/recording.js.map +1 -1
  32. package/dist/media/snapshot.js +13 -6
  33. package/dist/media/snapshot.js.map +1 -1
  34. package/dist/media/station-live-sessions.js +47 -43
  35. package/dist/media/station-live-sessions.js.map +1 -1
  36. package/dist/platform.js +25 -5
  37. package/dist/platform.js.map +1 -1
  38. package/dist/runtime/channel.js +6 -2
  39. package/dist/runtime/channel.js.map +1 -1
  40. package/dist/runtime/owner.js +3 -0
  41. package/dist/runtime/owner.js.map +1 -1
  42. package/dist/runtime/sdk-client.js +7 -4
  43. package/dist/runtime/sdk-client.js.map +1 -1
  44. package/dist/ui/dashboard.js +32 -14
  45. package/dist/ui/dashboard.js.map +1 -1
  46. package/dist/ui/server.js +27 -4
  47. package/dist/ui/server.js.map +1 -1
  48. package/homebridge-ui/public/app.css +353 -88
  49. package/homebridge-ui/public/i18n/en.json +110 -78
  50. package/homebridge-ui/public/i18n/fr.json +110 -78
  51. package/homebridge-ui/public/index.html +95 -106
  52. package/homebridge-ui/public/js/app.js +328 -345
  53. package/homebridge-ui/public/js/dashboard.js +139 -10
  54. package/homebridge-ui/public/js/profile-wizard.js +17 -54
  55. package/i18n/runtime/en.json +7 -3
  56. package/package.json +6 -6
@@ -41,7 +41,10 @@ function deviceClassOf(codec) {
41
41
  * A preference nothing reads is worse than an absent one: it invites a choice, records it, and changes nothing.
42
42
  * Audio and snapshot mode both reach a camera's stream and nowhere else, so both require the camera capability —
43
43
  * an `audio` capability alone is a speaker, which a station has for its siren and chimes and which no stream
44
- * setting governs.
44
+ * setting governs. The guard-mode map is offered wherever the security-system adapter will attach, which is a
45
+ * station and a camera that stands alone as its own, and nowhere else. Turning the security system off is offered
46
+ * only on that camera, where it shares the accessory: a station is the security system, so `represented` already
47
+ * governs it.
45
48
  */
46
49
  function projectDevice(manifest, representationEnabled) {
47
50
  const admission = describeHomeKitRepresentation(manifest);
@@ -54,6 +57,12 @@ function projectDevice(manifest, representationEnabled) {
54
57
  if (streams) {
55
58
  preferences.push('snapshotMode');
56
59
  }
60
+ if (streams && admission.services.includes('arming.security-system')) {
61
+ preferences.push('securitySystem');
62
+ }
63
+ if (admission.services.includes('arming.security-system')) {
64
+ preferences.push('armingModes');
65
+ }
57
66
  return {
58
67
  serial: manifest.sn,
59
68
  name: manifest.name,
@@ -108,6 +117,9 @@ function stateOf(evidence) {
108
117
  if (evidence.state === 'owner-conflict') {
109
118
  return 'owner-conflict';
110
119
  }
120
+ if (evidence.state === 'failed') {
121
+ return 'failed';
122
+ }
111
123
  if (evidence.state === 'degraded' && evidence.status === 'transport-degraded') {
112
124
  return 'degraded';
113
125
  }
@@ -116,18 +128,6 @@ function stateOf(evidence) {
116
128
  }
117
129
  return 'incomplete';
118
130
  }
119
- /**
120
- * Projects one persisted runtime snapshot without opening an Eufy connection.
121
- *
122
- * The devices only ever come from a published inventory, which is the allowlisted read model and the one
123
- * thing a stale or degraded runtime retains. The runtime's state is the live one whenever a runtime is there
124
- * to state it, and the file's own state and freshness alone when none is.
125
- *
126
- * An inventory committed for an account no runtime has started is shown as `restart-required`. That is the state
127
- * after an interactive authentication, which discovers the account's devices and commits them with the
128
- * generation, and on a first setup: the devices are known, and nothing about them is live until Homebridge
129
- * restarts. Whenever the published record names the account that is active, none of this applies.
130
- */
131
131
  /**
132
132
  * What the running build is, where it is not the one this process loaded.
133
133
  *
@@ -141,6 +141,21 @@ function superseded(live) {
141
141
  }
142
142
  return { runningVersion: live.version, restartable: live.restartable === true };
143
143
  }
144
+ /**
145
+ * Projects one persisted runtime snapshot without opening an Eufy connection.
146
+ *
147
+ * The devices only ever come from a published inventory, which is the allowlisted read model and the one
148
+ * thing a stale or degraded runtime retains. The runtime's state is the live one whenever a runtime is there
149
+ * to state it, and the file's own state and freshness alone when none is.
150
+ *
151
+ * A published `authentication-required` or `failed` never ages into `stale`. The runtime stops publishing once it
152
+ * reaches either state, and the state stays true until the account is authenticated again or Homebridge restarts.
153
+ *
154
+ * An inventory committed for an account no runtime has started is shown as `restart-required`. That is the state
155
+ * after an interactive authentication, which discovers the account's devices and commits them with the
156
+ * generation, and on a first setup: the devices are known, and nothing about them is live until Homebridge
157
+ * restarts. Whenever the published record names the account that is active, none of this applies.
158
+ */
144
159
  export async function readDashboard(tracker, now = Date.now, representationPreferences = {}, channel, accounts) {
145
160
  const record = await tracker.read();
146
161
  const project = (snapshot) => snapshot?.devices.map((manifest) => projectDevice(manifest, representationPreferences[manifest.sn])) ?? [];
@@ -171,9 +186,12 @@ export async function readDashboard(tracker, now = Date.now, representationPrefe
171
186
  devices: devices.map((device) => observed(device, observations)),
172
187
  warmUpCandidates,
173
188
  ...superseded(live),
189
+ ...(live.status.conditions === undefined ? {} : { conditions: live.status.conditions }),
174
190
  };
175
191
  }
176
- if (!Number.isFinite(updatedAt) || age < -5_000 || age > DASHBOARD_FRESH_THRESHOLD_MS) {
192
+ if (record.state !== 'authentication-required' &&
193
+ record.state !== 'failed' &&
194
+ (!Number.isFinite(updatedAt) || age < -5_000 || age > DASHBOARD_FRESH_THRESHOLD_MS)) {
177
195
  return { state: 'stale', updatedAt: record.updatedAt, devices, warmUpCandidates };
178
196
  }
179
197
  return { state: stateOf(record), updatedAt: record.updatedAt, devices, warmUpCandidates };
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/ui/dashboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/ui/dashboard.ts"],"names":[],"mappings":"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"}
package/dist/ui/server.js CHANGED
@@ -102,6 +102,22 @@ function parseRepresentationPreferences(value) {
102
102
  }
103
103
  return { ...preferences };
104
104
  }
105
+ /** The most devices a reporter may name, and the longest a serial may be, before the session refuses it. */
106
+ const MOST_AFFECTED_DEVICES = 64;
107
+ const LONGEST_SERIAL = 64;
108
+ /**
109
+ * Whether a submitted affected-devices field is the word for all of them or a bounded list of serials.
110
+ *
111
+ * The value is persisted with the session, so its size is constrained here rather than at the point that writes
112
+ * it: an unbounded list arrives as supplied and is written as supplied.
113
+ */
114
+ function isAffectedDevices(value) {
115
+ if (value === 'all')
116
+ return true;
117
+ return (Array.isArray(value) &&
118
+ value.length <= MOST_AFFECTED_DEVICES &&
119
+ value.every((serial) => typeof serial === 'string' && serial.length > 0 && serial.length <= LONGEST_SERIAL));
120
+ }
105
121
  export function parseDiagnosticsAuthorization(value) {
106
122
  if (typeof value !== 'object' || value === null || Array.isArray(value)) {
107
123
  throw new RequestError('Invalid diagnostics request', { status: 400 });
@@ -109,12 +125,18 @@ export function parseDiagnosticsAuthorization(value) {
109
125
  const payload = value;
110
126
  const fields = Object.keys(payload).sort().join(',');
111
127
  const reproductionMode = fields === 'profile' ? 'now' : payload.reproductionMode;
112
- if ((fields !== 'profile' && fields !== 'profile,reproductionMode') ||
128
+ const naming = fields === 'affectedDevices,profile,reproductionMode';
129
+ if ((fields !== 'profile' && fields !== 'profile,reproductionMode' && !naming) ||
113
130
  !isDiagnosticsProfile(payload.profile) ||
114
- !isDiagnosticsReproductionMode(reproductionMode)) {
131
+ !isDiagnosticsReproductionMode(reproductionMode) ||
132
+ (naming && !isAffectedDevices(payload.affectedDevices))) {
115
133
  throw new RequestError('Invalid diagnostics request', { status: 400 });
116
134
  }
117
- return { profile: payload.profile, reproductionMode };
135
+ return {
136
+ profile: payload.profile,
137
+ reproductionMode,
138
+ ...(naming ? { affectedDevices: payload.affectedDevices } : {}),
139
+ };
118
140
  }
119
141
  /**
120
142
  * Validates a browser-submitted request for one device's retained image.
@@ -200,7 +222,7 @@ export class EufyAuthenticationUiServer extends HomebridgePluginUiServer {
200
222
  this.onRequest('/diagnostics/status', () => this.diagnostics.status());
201
223
  this.onRequest('/diagnostics/authorize', async (payload) => {
202
224
  const authorization = parseDiagnosticsAuthorization(payload);
203
- const status = await this.diagnostics.authorize(authorization.profile, authorization.reproductionMode);
225
+ const status = await this.diagnostics.authorize(authorization.profile, authorization.reproductionMode, authorization.affectedDevices);
204
226
  if (status.supportCaseId) {
205
227
  void this.runtimeChannel.notifyAuthorization(status.supportCaseId);
206
228
  }
@@ -208,6 +230,7 @@ export class EufyAuthenticationUiServer extends HomebridgePluginUiServer {
208
230
  });
209
231
  this.onRequest('/diagnostics/reproduction/start', () => this.diagnostics.startReproduction());
210
232
  this.onRequest('/diagnostics/reproduction/end', () => this.diagnostics.endReproduction());
233
+ this.onRequest('/diagnostics/cancel', () => this.diagnostics.cancel());
211
234
  this.onRequest('/diagnostics/ui-event', (payload) => this.diagnostics.recordUiEvent(parseDiagnosticsUiEvent(payload)));
212
235
  this.onRequest('/diagnostics/archive/review', () => this.diagnostics.reviewSupportArchive());
213
236
  this.onRequest('/diagnostics/archive/export', async (payload) => {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/ui/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EACL,mCAAmC,EACnC,uBAAuB,GAIxB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,6BAA6B,EAC7B,oBAAoB,GAIrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EACL,oBAAoB,GAKrB,MAAM,6BAA6B,CAAC;AAErC,MAAM,8BAA8B,GAAG,CAAC,GAAG,MAAM,CAAC;AAClD,MAAM,iCAAiC,GAAG,MAAM,CAAC;AAOjD,2FAA2F;AAC3F,MAAM,UAAU,yCAAyC,CACvD,MAA2B,EAC3B,KAA6B;IAE7B,IAAI,QAAsC,CAAC;IAC3C,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,QAAQ,KAAK,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC;IACF,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAChC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,cAAc,CAAC,KAAc,EAAE,aAAqB;IAC3D,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5G,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,YAAY,CAAC,gCAAgC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,OAAO,GAAG,KAAgC,CAAC;IACjD,IACE,OAAO,OAAO,CAAC,aAAa,KAAK,QAAQ;QACzC,OAAO,CAAC,aAAa,KAAK,IAAI;QAC9B,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,EACpC,CAAC;QACD,MAAM,IAAI,YAAY,CAAC,gCAAgC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,aAAwC,CAAC;IACnE,MAAM,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9E,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;IACpE,MAAM,iBAAiB,GAAG,cAAc,CAAC,SAAS,CAAC,iBAAiB,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;IACnF,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACjF,MAAM,IAAI,YAAY,CAAC,gCAAgC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,CAAC;QACH,OAAO;YACL,aAAa,EAAE,WAAW,CAAC;gBACzB,GAAG,SAAS;gBACZ,QAAQ,EAAE,OAAO;gBACjB,QAAQ;gBACR,OAAO;gBACP,iBAAiB;aAClB,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,YAAY,CAAC,gCAAgC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAc,EAAE,GAAsB;IAC9E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,YAAY,CAAC,qCAAqC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,MAAM,GAAG,cAAc,CAAE,KAAiC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;IACpF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,YAAY,CAAC,qCAAqC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,8BAA8B,CAAC,KAAc;IACpD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,YAAY,CAAC,2BAA2B,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,WAAW,GAAI,KAAiC,CAAC,yBAAyB,CAAC;IACjF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IACE,OAAO,WAAW,KAAK,QAAQ;QAC/B,WAAW,KAAK,IAAI;QACpB,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAC9B,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,OAAO,WAAW,KAAK,SAAS,CAC1G,EACD,CAAC;QACD,MAAM,IAAI,YAAY,CAAC,2BAA2B,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,EAAE,GAAI,WAAuC,EAAE,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,KAAc;IAI1D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,YAAY,CAAC,6BAA6B,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,OAAO,GAAG,KAAgC,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,gBAAgB,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACjF,IACE,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,0BAA0B,CAAC;QAC/D,CAAC,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC;QACtC,CAAC,6BAA6B,CAAC,gBAAgB,CAAC,EAChD,CAAC;QACD,MAAM,IAAI,YAAY,CAAC,6BAA6B,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC;AACxD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,YAAY,CAAC,8BAA8B,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,OAAO,GAAG,KAAgC,CAAC;IACjD,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnD,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAC1F,MAAM,IAAI,YAAY,CAAC,8BAA8B,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,YAAY,CAAC,iCAAiC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,QAAQ,GAAG,cAAc,CAAE,KAAiC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACjF,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,YAAY,CAAC,iCAAiC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,YAAY,CAAC,8BAA8B,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,OAAO,GAAG,KAAgC,CAAC;IACjD,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvF,MAAM,IAAI,YAAY,CAAC,8BAA8B,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,CAAC;AACvB,CAAC;AAED,6EAA6E;AAC7E,MAAM,CAAC,MAAM,mCAAmC,GAAyC,CAAC,OAAO,EAAE,EAAE,CACnG,mCAAmC,CACjC,IAAI,QAAQ,CAAC;IACX,KAAK,EAAE,OAAO,CAAC,OAAO;IACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;IAC1B,WAAW,EAAE,OAAO,CAAC,OAAO;IAC5B,UAAU,EAAE,OAAO,CAAC,iBAAiB;IACrC,KAAK,EAAE,OAAO,CAAC,YAAY;IAC3B,SAAS,EAAE,OAAO,CAAC,SAAS;IAC5B,YAAY,EAAE,KAAK;IACnB,mBAAmB,EAAE,KAAK;CAC3B,CAAC,CACH,CAAC;AAEJ,2FAA2F;AAC3F,MAAM,OAAO,0BAA2B,SAAQ,wBAAwB;IAenD,aAAa;IAdxB,cAAc,CAA2B;IAChC,SAAS,CAAmB;IAC5B,WAAW,CAA4B;IACvC,cAAc,CAAiB;IAC/B,cAAc,CAGP;IACP,MAAM,CAAgC;IACtC,WAAW,CAAoB;IACxC,YAAY,GAAG,KAAK,CAAC;IACrB,cAAc,GAAG,CAAC,CAAC;IAE3B,YACmB,aAAa,GAAyC,mCAAmC;QAE1G,KAAK,EAAE,CAAC;6BAFS,aAAa;QAG9B,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC5D,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,GAAG,IAAI,6BAA6B,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,CAClG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CACzB,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,cAAc,GAAG,IAAI,oBAAoB,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,WAAW,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAE/C,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,CACvC,aAAa,CACX,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,GAAG,EACR,8BAA8B,CAAC,OAAO,CAAC,EACvC,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,WAAW,CACjB,CACF,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,CAAC;QAC9E,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE,CAC1C,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,uBAAuB,CAAC,OAAO,CAAC,CAAC,CACpF,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,SAAS,CAAC,wBAAwB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACzD,MAAM,aAAa,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC;YAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;YACvG,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBACzB,KAAK,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACrE,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,iCAAiC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC9F,IAAI,CAAC,SAAS,CAAC,+BAA+B,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC;QAC1F,IAAI,CAAC,SAAS,CAAC,uBAAuB,EAAE,CAAC,OAAO,EAAE,EAAE,CAClD,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CACjE,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,6BAA6B,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAC7F,IAAI,CAAC,SAAS,CAAC,6BAA6B,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC9D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1F,OAAO,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,OAAgB;QAChD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC;YACnC,IAAI,UAAU,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;gBACvC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;YAC9B,CAAC;YACD,IAAI,CAAC,cAAc,GAAG,IAAI,uBAAuB,CAC/C,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,aAAa,EAClB;gBACE,aAAa,EAAE,8BAA8B;gBAC7C,gBAAgB,EAAE,iCAAiC;aACpD,EACD,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,cAAc,CACpB,CAAC;YACF,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5E,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,OAAgB;QACtC,OAAO,CACL,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,yBAAyB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAChF,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CACtC,CAAC;IACJ,CAAC;IAEO,iBAAiB,CAAC,OAAgB;QACxC,OAAO,CACL,IAAI,CAAC,cAAc,EAAE,eAAe,CAAC,yBAAyB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAChF,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CACtC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC/B,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,OAAO,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IACzD,CAAC;IAEO,sBAAsB;QAC5B,yCAAyC,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACvF,CAAC;CACF"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/ui/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EACL,mCAAmC,EACnC,uBAAuB,GAIxB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,6BAA6B,EAC7B,oBAAoB,GAKrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EACL,oBAAoB,GAKrB,MAAM,6BAA6B,CAAC;AAErC,MAAM,8BAA8B,GAAG,CAAC,GAAG,MAAM,CAAC;AAClD,MAAM,iCAAiC,GAAG,MAAM,CAAC;AAOjD,2FAA2F;AAC3F,MAAM,UAAU,yCAAyC,CACvD,MAA2B,EAC3B,KAA6B;IAE7B,IAAI,QAAsC,CAAC;IAC3C,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,QAAQ,KAAK,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC;IACF,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAChC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,cAAc,CAAC,KAAc,EAAE,aAAqB;IAC3D,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5G,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,YAAY,CAAC,gCAAgC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,OAAO,GAAG,KAAgC,CAAC;IACjD,IACE,OAAO,OAAO,CAAC,aAAa,KAAK,QAAQ;QACzC,OAAO,CAAC,aAAa,KAAK,IAAI;QAC9B,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,EACpC,CAAC;QACD,MAAM,IAAI,YAAY,CAAC,gCAAgC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,aAAwC,CAAC;IACnE,MAAM,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9E,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;IACpE,MAAM,iBAAiB,GAAG,cAAc,CAAC,SAAS,CAAC,iBAAiB,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;IACnF,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACjF,MAAM,IAAI,YAAY,CAAC,gCAAgC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,CAAC;QACH,OAAO;YACL,aAAa,EAAE,WAAW,CAAC;gBACzB,GAAG,SAAS;gBACZ,QAAQ,EAAE,OAAO;gBACjB,QAAQ;gBACR,OAAO;gBACP,iBAAiB;aAClB,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,YAAY,CAAC,gCAAgC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAc,EAAE,GAAsB;IAC9E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,YAAY,CAAC,qCAAqC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,MAAM,GAAG,cAAc,CAAE,KAAiC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;IACpF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,YAAY,CAAC,qCAAqC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,8BAA8B,CAAC,KAAc;IACpD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,YAAY,CAAC,2BAA2B,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,WAAW,GAAI,KAAiC,CAAC,yBAAyB,CAAC;IACjF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IACE,OAAO,WAAW,KAAK,QAAQ;QAC/B,WAAW,KAAK,IAAI;QACpB,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAC9B,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,OAAO,WAAW,KAAK,SAAS,CAC1G,EACD,CAAC;QACD,MAAM,IAAI,YAAY,CAAC,2BAA2B,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,EAAE,GAAI,WAAuC,EAAE,CAAC;AACzD,CAAC;AAED,4GAA4G;AAC5G,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACjC,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,KAAK,CAAC,MAAM,IAAI,qBAAqB;QACrC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,IAAI,cAAc,CAAC,CAC5G,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,KAAc;IAK1D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,YAAY,CAAC,6BAA6B,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,OAAO,GAAG,KAAgC,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,gBAAgB,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACjF,MAAM,MAAM,GAAG,MAAM,KAAK,0CAA0C,CAAC;IACrE,IACE,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,0BAA0B,IAAI,CAAC,MAAM,CAAC;QAC1E,CAAC,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC;QACtC,CAAC,6BAA6B,CAAC,gBAAgB,CAAC;QAChD,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,EACvD,CAAC;QACD,MAAM,IAAI,YAAY,CAAC,6BAA6B,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,gBAAgB;QAChB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAkC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,YAAY,CAAC,8BAA8B,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,OAAO,GAAG,KAAgC,CAAC;IACjD,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnD,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAC1F,MAAM,IAAI,YAAY,CAAC,8BAA8B,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,YAAY,CAAC,iCAAiC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,QAAQ,GAAG,cAAc,CAAE,KAAiC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACjF,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,YAAY,CAAC,iCAAiC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,YAAY,CAAC,8BAA8B,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,OAAO,GAAG,KAAgC,CAAC;IACjD,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvF,MAAM,IAAI,YAAY,CAAC,8BAA8B,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,CAAC;AACvB,CAAC;AAED,6EAA6E;AAC7E,MAAM,CAAC,MAAM,mCAAmC,GAAyC,CAAC,OAAO,EAAE,EAAE,CACnG,mCAAmC,CACjC,IAAI,QAAQ,CAAC;IACX,KAAK,EAAE,OAAO,CAAC,OAAO;IACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;IAC1B,WAAW,EAAE,OAAO,CAAC,OAAO;IAC5B,UAAU,EAAE,OAAO,CAAC,iBAAiB;IACrC,KAAK,EAAE,OAAO,CAAC,YAAY;IAC3B,SAAS,EAAE,OAAO,CAAC,SAAS;IAC5B,YAAY,EAAE,KAAK;IACnB,mBAAmB,EAAE,KAAK;CAC3B,CAAC,CACH,CAAC;AAEJ,2FAA2F;AAC3F,MAAM,OAAO,0BAA2B,SAAQ,wBAAwB;IAenD,aAAa;IAdxB,cAAc,CAA2B;IAChC,SAAS,CAAmB;IAC5B,WAAW,CAA4B;IACvC,cAAc,CAAiB;IAC/B,cAAc,CAGP;IACP,MAAM,CAAgC;IACtC,WAAW,CAAoB;IACxC,YAAY,GAAG,KAAK,CAAC;IACrB,cAAc,GAAG,CAAC,CAAC;IAE3B,YACmB,aAAa,GAAyC,mCAAmC;QAE1G,KAAK,EAAE,CAAC;6BAFS,aAAa;QAG9B,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC5D,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,GAAG,IAAI,6BAA6B,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,CAClG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CACzB,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,cAAc,GAAG,IAAI,oBAAoB,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,WAAW,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAE/C,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,CACvC,aAAa,CACX,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,GAAG,EACR,8BAA8B,CAAC,OAAO,CAAC,EACvC,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,WAAW,CACjB,CACF,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,CAAC;QAC9E,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE,CAC1C,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,uBAAuB,CAAC,OAAO,CAAC,CAAC,CACpF,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,SAAS,CAAC,wBAAwB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACzD,MAAM,aAAa,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC;YAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAC7C,aAAa,CAAC,OAAO,EACrB,aAAa,CAAC,gBAAgB,EAC9B,aAAa,CAAC,eAAe,CAC9B,CAAC;YACF,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBACzB,KAAK,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACrE,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,iCAAiC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC9F,IAAI,CAAC,SAAS,CAAC,+BAA+B,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC;QAC1F,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,SAAS,CAAC,uBAAuB,EAAE,CAAC,OAAO,EAAE,EAAE,CAClD,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CACjE,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,6BAA6B,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAC7F,IAAI,CAAC,SAAS,CAAC,6BAA6B,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC9D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1F,OAAO,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,OAAgB;QAChD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC;YACnC,IAAI,UAAU,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;gBACvC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;YAC9B,CAAC;YACD,IAAI,CAAC,cAAc,GAAG,IAAI,uBAAuB,CAC/C,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,aAAa,EAClB;gBACE,aAAa,EAAE,8BAA8B;gBAC7C,gBAAgB,EAAE,iCAAiC;aACpD,EACD,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,cAAc,CACpB,CAAC;YACF,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5E,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,OAAgB;QACtC,OAAO,CACL,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,yBAAyB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAChF,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CACtC,CAAC;IACJ,CAAC;IAEO,iBAAiB,CAAC,OAAgB;QACxC,OAAO,CACL,IAAI,CAAC,cAAc,EAAE,eAAe,CAAC,yBAAyB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAChF,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CACtC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC/B,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,OAAO,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IACzD,CAAC;IAEO,sBAAsB;QAC5B,yCAAyC,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACvF,CAAC;CACF"}