@harperfast/harper 5.2.0 → 5.2.1

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 (241) hide show
  1. package/bin/copyDb.ts +21 -4
  2. package/bin/harper.ts +20 -51
  3. package/bin/help.ts +216 -0
  4. package/components/Application.ts +236 -46
  5. package/components/ApplicationScope.ts +26 -0
  6. package/components/EntryHandler.ts +410 -105
  7. package/components/RuntimeModuleTracker.ts +189 -0
  8. package/components/Scope.ts +68 -24
  9. package/components/componentLoader.ts +70 -16
  10. package/components/deployLifecycle.ts +119 -33
  11. package/components/mcp/tools/operations.ts +6 -0
  12. package/components/operations.js +4 -6
  13. package/config/configUtils.ts +12 -9
  14. package/config-root.schema.json +10 -0
  15. package/dataLayer/harperBridge/ResourceBridge.ts +26 -5
  16. package/dataLayer/hdbInfoController.ts +8 -0
  17. package/dataLayer/schemaDescribe.ts +2 -1
  18. package/dist/bin/copyDb.js +13 -2
  19. package/dist/bin/copyDb.js.map +1 -1
  20. package/dist/bin/harper.d.ts +6 -0
  21. package/dist/bin/harper.js +18 -50
  22. package/dist/bin/harper.js.map +1 -1
  23. package/dist/bin/help.d.ts +8 -0
  24. package/dist/bin/help.js +192 -0
  25. package/dist/bin/help.js.map +1 -0
  26. package/dist/components/Application.d.ts +16 -1
  27. package/dist/components/Application.js +210 -38
  28. package/dist/components/Application.js.map +1 -1
  29. package/dist/components/ApplicationScope.d.ts +7 -0
  30. package/dist/components/ApplicationScope.js +22 -0
  31. package/dist/components/ApplicationScope.js.map +1 -1
  32. package/dist/components/EntryHandler.d.ts +4 -4
  33. package/dist/components/EntryHandler.js +386 -95
  34. package/dist/components/EntryHandler.js.map +1 -1
  35. package/dist/components/RuntimeModuleTracker.d.ts +11 -0
  36. package/dist/components/RuntimeModuleTracker.js +189 -0
  37. package/dist/components/RuntimeModuleTracker.js.map +1 -0
  38. package/dist/components/Scope.d.ts +1 -0
  39. package/dist/components/Scope.js +69 -22
  40. package/dist/components/Scope.js.map +1 -1
  41. package/dist/components/componentLoader.js +69 -10
  42. package/dist/components/componentLoader.js.map +1 -1
  43. package/dist/components/deployLifecycle.d.ts +6 -2
  44. package/dist/components/deployLifecycle.js +109 -31
  45. package/dist/components/deployLifecycle.js.map +1 -1
  46. package/dist/components/mcp/tools/operations.js +6 -0
  47. package/dist/components/mcp/tools/operations.js.map +1 -1
  48. package/dist/components/operations.js +4 -6
  49. package/dist/components/operations.js.map +1 -1
  50. package/dist/config/configUtils.js +13 -9
  51. package/dist/config/configUtils.js.map +1 -1
  52. package/dist/dataLayer/harperBridge/ResourceBridge.js +12 -5
  53. package/dist/dataLayer/harperBridge/ResourceBridge.js.map +1 -1
  54. package/dist/dataLayer/hdbInfoController.js +4 -0
  55. package/dist/dataLayer/hdbInfoController.js.map +1 -1
  56. package/dist/dataLayer/schemaDescribe.js +2 -1
  57. package/dist/dataLayer/schemaDescribe.js.map +1 -1
  58. package/dist/resources/DatabaseTransaction.d.ts +55 -0
  59. package/dist/resources/DatabaseTransaction.js +282 -103
  60. package/dist/resources/DatabaseTransaction.js.map +1 -1
  61. package/dist/resources/ResourceInterface.d.ts +8 -2
  62. package/dist/resources/ResourceInterface.js.map +1 -1
  63. package/dist/resources/Resources.js +22 -4
  64. package/dist/resources/Resources.js.map +1 -1
  65. package/dist/resources/Table.d.ts +6 -5
  66. package/dist/resources/Table.js +92 -15
  67. package/dist/resources/Table.js.map +1 -1
  68. package/dist/resources/analytics/write.js +6 -6
  69. package/dist/resources/analytics/write.js.map +1 -1
  70. package/dist/resources/blob.d.ts +0 -1
  71. package/dist/resources/blob.js +15 -7
  72. package/dist/resources/blob.js.map +1 -1
  73. package/dist/resources/databases.d.ts +22 -5
  74. package/dist/resources/databases.js +118 -9
  75. package/dist/resources/databases.js.map +1 -1
  76. package/dist/resources/jsResource.d.ts +4 -26
  77. package/dist/resources/jsResource.js +5 -59
  78. package/dist/resources/jsResource.js.map +1 -1
  79. package/dist/resources/models/Models.d.ts +11 -1
  80. package/dist/resources/models/Models.js +10 -1
  81. package/dist/resources/models/Models.js.map +1 -1
  82. package/dist/resources/models/backendRegistry.d.ts +9 -0
  83. package/dist/resources/models/backendRegistry.js +10 -0
  84. package/dist/resources/models/backendRegistry.js.map +1 -1
  85. package/dist/resources/models/openaiStream.d.ts +16 -1
  86. package/dist/resources/models/openaiStream.js +113 -21
  87. package/dist/resources/models/openaiStream.js.map +1 -1
  88. package/dist/resources/models/v1/chatCompletions.d.ts +54 -0
  89. package/dist/resources/models/v1/chatCompletions.js +115 -0
  90. package/dist/resources/models/v1/chatCompletions.js.map +1 -0
  91. package/dist/resources/models/v1/embeddings.d.ts +11 -0
  92. package/dist/resources/models/v1/embeddings.js +71 -0
  93. package/dist/resources/models/v1/embeddings.js.map +1 -0
  94. package/dist/resources/models/v1/errors.d.ts +54 -0
  95. package/dist/resources/models/v1/errors.js +130 -0
  96. package/dist/resources/models/v1/errors.js.map +1 -0
  97. package/dist/resources/models/v1/index.d.ts +36 -0
  98. package/dist/resources/models/v1/index.js +75 -0
  99. package/dist/resources/models/v1/index.js.map +1 -0
  100. package/dist/resources/models/v1/models.d.ts +26 -0
  101. package/dist/resources/models/v1/models.js +44 -0
  102. package/dist/resources/models/v1/models.js.map +1 -0
  103. package/dist/resources/models/v1/translation.d.ts +133 -0
  104. package/dist/resources/models/v1/translation.js +298 -0
  105. package/dist/resources/models/v1/translation.js.map +1 -0
  106. package/dist/resources/roles.d.ts +1 -1
  107. package/dist/resources/roles.js +54 -7
  108. package/dist/resources/roles.js.map +1 -1
  109. package/dist/security/jsLoader.js +84 -33
  110. package/dist/security/jsLoader.js.map +1 -1
  111. package/dist/security/role.js +4 -0
  112. package/dist/security/role.js.map +1 -1
  113. package/dist/security/superUserGuard.d.ts +7 -0
  114. package/dist/security/superUserGuard.js +23 -0
  115. package/dist/security/superUserGuard.js.map +1 -0
  116. package/dist/security/tokenAuthentication.d.ts +0 -1
  117. package/dist/security/tokenAuthentication.js +6 -2
  118. package/dist/security/tokenAuthentication.js.map +1 -1
  119. package/dist/security/user.d.ts +6 -1
  120. package/dist/security/user.js +23 -1
  121. package/dist/security/user.js.map +1 -1
  122. package/dist/server/http.d.ts +23 -2
  123. package/dist/server/http.js +99 -12
  124. package/dist/server/http.js.map +1 -1
  125. package/dist/server/operationsServer.d.ts +0 -2
  126. package/dist/server/operationsServer.js.map +1 -1
  127. package/dist/server/serverHelpers/multipartParser.js +9 -0
  128. package/dist/server/serverHelpers/multipartParser.js.map +1 -1
  129. package/dist/server/serverHelpers/operationAuthorizationState.d.ts +2 -0
  130. package/dist/server/serverHelpers/operationAuthorizationState.js +13 -0
  131. package/dist/server/serverHelpers/operationAuthorizationState.js.map +1 -0
  132. package/dist/server/serverHelpers/registeredOperations.d.ts +3 -2
  133. package/dist/server/serverHelpers/registeredOperations.js +14 -13
  134. package/dist/server/serverHelpers/registeredOperations.js.map +1 -1
  135. package/dist/server/serverHelpers/serverHandlers.js +19 -3
  136. package/dist/server/serverHelpers/serverHandlers.js.map +1 -1
  137. package/dist/server/serverHelpers/serverUtilities.d.ts +1 -1
  138. package/dist/server/serverHelpers/serverUtilities.js +10 -7
  139. package/dist/server/serverHelpers/serverUtilities.js.map +1 -1
  140. package/dist/server/static.js +57 -18
  141. package/dist/server/static.js.map +1 -1
  142. package/dist/server/storageReclamation.d.ts +17 -0
  143. package/dist/server/storageReclamation.js +90 -6
  144. package/dist/server/storageReclamation.js.map +1 -1
  145. package/dist/server/threads/socketRouter.js +20 -0
  146. package/dist/server/threads/socketRouter.js.map +1 -1
  147. package/dist/server/threads/threadServer.js +12 -0
  148. package/dist/server/threads/threadServer.js.map +1 -1
  149. package/dist/sqlEngine/diff/differential.js +7 -3
  150. package/dist/sqlEngine/diff/differential.js.map +1 -1
  151. package/dist/sqlTranslator/index.js +6 -1
  152. package/dist/sqlTranslator/index.js.map +1 -1
  153. package/dist/upgrade/upgradePrompt.d.ts +2 -2
  154. package/dist/upgrade/upgradePrompt.js +22 -3
  155. package/dist/upgrade/upgradePrompt.js.map +1 -1
  156. package/dist/utility/errors/commonErrors.d.ts +1 -0
  157. package/dist/utility/errors/commonErrors.js +1 -0
  158. package/dist/utility/errors/commonErrors.js.map +1 -1
  159. package/dist/utility/hdbTerms.d.ts +2 -0
  160. package/dist/utility/hdbTerms.js +2 -0
  161. package/dist/utility/hdbTerms.js.map +1 -1
  162. package/dist/utility/install/installer.js +32 -0
  163. package/dist/utility/install/installer.js.map +1 -1
  164. package/dist/utility/logging/harper_logger.d.ts +7 -0
  165. package/dist/utility/logging/harper_logger.js +57 -24
  166. package/dist/utility/logging/harper_logger.js.map +1 -1
  167. package/npm-shrinkwrap.json +197 -193
  168. package/package.json +9 -7
  169. package/resources/DatabaseTransaction.ts +310 -101
  170. package/resources/ResourceInterface.ts +8 -2
  171. package/resources/Resources.ts +22 -4
  172. package/resources/Table.ts +321 -243
  173. package/resources/analytics/write.ts +22 -20
  174. package/resources/blob.ts +15 -8
  175. package/resources/databases.ts +123 -12
  176. package/resources/jsResource.ts +5 -62
  177. package/resources/models/Models.ts +14 -1
  178. package/resources/models/backendRegistry.ts +10 -0
  179. package/resources/models/openaiStream.ts +131 -19
  180. package/resources/models/v1/chatCompletions.ts +128 -0
  181. package/resources/models/v1/embeddings.ts +70 -0
  182. package/resources/models/v1/errors.ts +141 -0
  183. package/resources/models/v1/index.ts +72 -0
  184. package/resources/models/v1/models.ts +53 -0
  185. package/resources/models/v1/translation.ts +362 -0
  186. package/resources/roles.ts +67 -7
  187. package/security/jsLoader.ts +84 -30
  188. package/security/role.ts +7 -0
  189. package/security/superUserGuard.ts +20 -0
  190. package/security/tokenAuthentication.ts +6 -3
  191. package/security/user.ts +26 -1
  192. package/server/DESIGN.md +45 -34
  193. package/server/http.ts +100 -13
  194. package/server/operationsServer.ts +0 -2
  195. package/server/serverHelpers/multipartParser.ts +9 -0
  196. package/server/serverHelpers/operationAuthorizationState.ts +11 -0
  197. package/server/serverHelpers/registeredOperations.ts +19 -15
  198. package/server/serverHelpers/serverHandlers.js +20 -3
  199. package/server/serverHelpers/serverUtilities.ts +10 -7
  200. package/server/static.ts +75 -20
  201. package/server/storageReclamation.ts +104 -8
  202. package/server/threads/socketRouter.ts +20 -0
  203. package/server/threads/threadServer.js +11 -0
  204. package/sqlTranslator/index.ts +6 -1
  205. package/static/defaultConfig.yaml +2 -0
  206. package/studio/web/assets/{Chat-DoVWScmq.js → Chat-aApwhRmz.js} +2 -2
  207. package/studio/web/assets/{Chat-DoVWScmq.js.map → Chat-aApwhRmz.js.map} +1 -1
  208. package/studio/web/assets/{FloatingChat-UZ2NsUOZ.js → FloatingChat-sC0H91n9.js} +4 -4
  209. package/studio/web/assets/{FloatingChat-UZ2NsUOZ.js.map → FloatingChat-sC0H91n9.js.map} +1 -1
  210. package/studio/web/assets/{apiToken-BUI_04o7.js → apiToken-DZ8JhHOI.js} +2 -2
  211. package/studio/web/assets/{apiToken-BUI_04o7.js.map → apiToken-DZ8JhHOI.js.map} +1 -1
  212. package/studio/web/assets/{applications-D03NA7wW.js → applications-9SEVLIO5.js} +2 -2
  213. package/studio/web/assets/{applications-D03NA7wW.js.map → applications-9SEVLIO5.js.map} +1 -1
  214. package/studio/web/assets/{index-Bh_CNAHr.js → index-Dy3uDGXb.js} +6 -6
  215. package/studio/web/assets/{index-Bh_CNAHr.js.map → index-Dy3uDGXb.js.map} +1 -1
  216. package/studio/web/assets/{index.lazy-Dx3MpyDC.js → index.lazy-CN1zq4I4.js} +4 -4
  217. package/studio/web/assets/{index.lazy-Dx3MpyDC.js.map → index.lazy-CN1zq4I4.js.map} +1 -1
  218. package/studio/web/assets/{notifications-0edoFTsb.js → notifications-BFAF07xr.js} +2 -2
  219. package/studio/web/assets/{notifications-0edoFTsb.js.map → notifications-BFAF07xr.js.map} +1 -1
  220. package/studio/web/assets/{notifications-CwKhipK7.js → notifications-CKlYVvVN.js} +2 -2
  221. package/studio/web/assets/{notifications-CwKhipK7.js.map → notifications-CKlYVvVN.js.map} +1 -1
  222. package/studio/web/assets/{profile-DUfEPQtx.js → profile-A1zhEdFG.js} +2 -2
  223. package/studio/web/assets/{profile-DUfEPQtx.js.map → profile-A1zhEdFG.js.map} +1 -1
  224. package/studio/web/assets/{setComponentFile-DMPo4UjC.js → setComponentFile-SEtBt_GV.js} +2 -2
  225. package/studio/web/assets/{setComponentFile-DMPo4UjC.js.map → setComponentFile-SEtBt_GV.js.map} +1 -1
  226. package/studio/web/assets/{setup-B56Oz1_u.js → setup-BisINqdH.js} +2 -2
  227. package/studio/web/assets/{setup-B56Oz1_u.js.map → setup-BisINqdH.js.map} +1 -1
  228. package/studio/web/assets/{status-BAod7p3o.js → status-BuQoCc7l.js} +2 -2
  229. package/studio/web/assets/{status-BAod7p3o.js.map → status-BuQoCc7l.js.map} +1 -1
  230. package/studio/web/assets/{swagger-ui-react-lQrBxfwM.js → swagger-ui-react-CAi_s1PC.js} +2 -2
  231. package/studio/web/assets/{swagger-ui-react-lQrBxfwM.js.map → swagger-ui-react-CAi_s1PC.js.map} +1 -1
  232. package/studio/web/assets/{tsMode-CrHCRjTK.js → tsMode-DT74tlkM.js} +2 -2
  233. package/studio/web/assets/{tsMode-CrHCRjTK.js.map → tsMode-DT74tlkM.js.map} +1 -1
  234. package/studio/web/assets/{useEntityRestURL-DoaBMEvU.js → useEntityRestURL-CGRGc1n7.js} +2 -2
  235. package/studio/web/assets/{useEntityRestURL-DoaBMEvU.js.map → useEntityRestURL-CGRGc1n7.js.map} +1 -1
  236. package/studio/web/index.html +1 -1
  237. package/upgrade/upgradePrompt.ts +22 -3
  238. package/utility/errors/commonErrors.ts +2 -0
  239. package/utility/hdbTerms.ts +2 -0
  240. package/utility/install/installer.ts +37 -0
  241. package/utility/logging/harper_logger.ts +57 -26
@@ -9,25 +9,39 @@
9
9
  //
10
10
  // This module solves that by broadcasting a structured "deploy:start" /
11
11
  // "deploy:end" signal to every Harper thread. Each thread's deploy emitter
12
- // fires locally so Scopes (and any plugin subscribers) can react: Scopes close
13
- // their EntryHandlers on start, recreate them on end. The result is that
12
+ // fires locally so Scopes (and any plugin subscribers) can react: Scopes pause
13
+ // their EntryHandlers on start and resume them on end. The result is that
14
14
  // during a deploy, no watcher fires events for the deployed component, and
15
- // after the deploy the recreated watcher emits one fresh add per current file
16
- // collapsed by the existing restart debounce into a single restart.
15
+ // after the deploy the watcher compares the new tree with its retained snapshot
16
+ // and emits the same logical add/change/unlink events consumers saw before #1806.
17
17
  //
18
- // State sharing across threads is intentionally narrow: the local Set of
19
- // in-flight component names is rebuilt from the broadcast stream. Plugins that
20
- // need to gate their own work on deploy progress import `deployLifecycle` and
21
- // listen to the events directly.
18
+ // State sharing across threads is intentionally narrow: local deployment-owner
19
+ // records are rebuilt from the broadcast stream and reclaimed when their owner
20
+ // thread exits. Plugins that need to gate their own work on deploy progress
21
+ // import `deployLifecycle` and listen to the events directly.
22
22
 
23
23
  import { EventEmitter } from 'node:events';
24
- import { isMainThread } from 'node:worker_threads';
25
- import { broadcast, broadcastWithAcknowledgement, onMessageByType } from '../server/threads/manageThreads.js';
24
+ import { randomUUID } from 'node:crypto';
25
+ import { setTimeout as delay } from 'node:timers/promises';
26
+ import { isMainThread, threadId } from 'node:worker_threads';
27
+ import {
28
+ broadcast,
29
+ broadcastWithAcknowledgement,
30
+ isThreadRunning,
31
+ onMessageByType,
32
+ onThreadExit,
33
+ } from '../server/threads/manageThreads.js';
34
+ import harperLogger from '../utility/logging/harper_logger.ts';
26
35
 
27
36
  const DEPLOY_LIFECYCLE_MSG = 'harper:deploy:lifecycle';
28
37
 
29
38
  export type DeployPhase = 'start' | 'end';
30
- export type DeployLifecycleEvent = { name: string; phase: DeployPhase };
39
+ export type DeployLifecycleEvent = {
40
+ name: string;
41
+ phase: DeployPhase;
42
+ deploymentId?: string;
43
+ ownerThreadId?: number;
44
+ };
31
45
 
32
46
  type DeployLifecycleEventsMap = {
33
47
  'deploy:start': [componentName: string];
@@ -35,44 +49,109 @@ type DeployLifecycleEventsMap = {
35
49
  };
36
50
 
37
51
  class DeployLifecycle extends EventEmitter<DeployLifecycleEventsMap> {
38
- // Ref-counts in-flight deploys per component. Concurrent deploys of the
39
- // same name (rare, but possible if an operator queues two before the first
40
- // resolves) overlap: 0→1 fires deploy:start, 1→0 fires deploy:end. Any
41
- // intermediate increment/decrement is silent so watchers aren't toggled
42
- // out from under an active deploy by a peer ending early.
43
- #inFlight = new Map<string, number>();
52
+ #deployments = new Map<string, { name: string; ownerThreadId: number }>();
53
+ #byComponent = new Map<string, Set<string>>();
54
+ #deadOwners = new Set<number>();
55
+ #legacyDeployments = new Map<string, string[]>();
56
+ #legacySequence = 0;
44
57
 
45
58
  isDeployInFlight(componentName: string): boolean {
46
- return (this.#inFlight.get(componentName) ?? 0) > 0;
59
+ return (this.#byComponent.get(componentName)?.size ?? 0) > 0;
47
60
  }
48
61
 
49
62
  // Process a deploy lifecycle event in-process. Called both from the
50
63
  // broadcast receiver (for events originating on another thread) and from
51
64
  // the broadcaster (so the originating thread also reacts locally).
52
65
  _handle(event: DeployLifecycleEvent): void {
53
- const current = this.#inFlight.get(event.name) ?? 0;
66
+ const ownerThreadId = event.ownerThreadId ?? threadId;
67
+ let deploymentId = event.deploymentId;
54
68
  if (event.phase === 'start') {
55
- this.#inFlight.set(event.name, current + 1);
56
- if (current === 0) this.emit('deploy:start', event.name);
57
- } else {
58
- const next = Math.max(0, current - 1);
59
- if (next === 0) {
60
- this.#inFlight.delete(event.name);
61
- if (current > 0) this.emit('deploy:end', event.name);
62
- } else {
63
- this.#inFlight.set(event.name, next);
69
+ if (this.#deadOwners.has(ownerThreadId)) return;
70
+ if (!deploymentId) {
71
+ deploymentId = `legacy:${threadId}:${++this.#legacySequence}`;
72
+ const legacy = this.#legacyDeployments.get(event.name) ?? [];
73
+ legacy.push(deploymentId);
74
+ this.#legacyDeployments.set(event.name, legacy);
75
+ }
76
+ if (this.#deployments.has(deploymentId)) return;
77
+ const active = this.#byComponent.get(event.name) ?? new Set<string>();
78
+ this.#deployments.set(deploymentId, { name: event.name, ownerThreadId });
79
+ this.#byComponent.set(event.name, active);
80
+ active.add(deploymentId);
81
+ if (active.size === 1) this.#emitSafely('deploy:start', event.name);
82
+ return;
83
+ }
84
+ if (!deploymentId) deploymentId = this.#legacyDeployments.get(event.name)?.pop();
85
+ if (deploymentId) this.#removeDeployment(deploymentId);
86
+ }
87
+
88
+ _reclaimOwner(ownerThreadId: number): void {
89
+ this.#deadOwners.add(ownerThreadId);
90
+ for (const [deploymentId, deployment] of this.#deployments) {
91
+ if (deployment.ownerThreadId === ownerThreadId) this.#removeDeployment(deploymentId);
92
+ }
93
+ }
94
+
95
+ async _reclaimOwnerAfterTermination(
96
+ ownerThreadId: number,
97
+ waitForTermination: (ownerThreadId: number) => Promise<void> = waitForOwnerTermination
98
+ ): Promise<void> {
99
+ if (ownerThreadId === 0 || ownerThreadId === threadId) return;
100
+ this.#deadOwners.add(ownerThreadId);
101
+ await waitForTermination(ownerThreadId);
102
+ this._reclaimOwner(ownerThreadId);
103
+ }
104
+
105
+ #removeDeployment(deploymentId: string): void {
106
+ const deployment = this.#deployments.get(deploymentId);
107
+ if (!deployment) return;
108
+ this.#deployments.delete(deploymentId);
109
+ const active = this.#byComponent.get(deployment.name);
110
+ if (!active) return;
111
+ active.delete(deploymentId);
112
+ if (active.size === 0) {
113
+ this.#byComponent.delete(deployment.name);
114
+ this.#emitSafely('deploy:end', deployment.name);
115
+ }
116
+ }
117
+
118
+ #emitSafely(event: 'deploy:start' | 'deploy:end', componentName: string): void {
119
+ for (const listener of this.rawListeners(event)) {
120
+ try {
121
+ listener.call(this, componentName);
122
+ } catch (error) {
123
+ harperLogger.error(`Listener for ${event} threw for ${componentName}:`, error);
64
124
  }
65
125
  }
66
126
  }
67
127
 
68
128
  // Test-only: clear in-flight state without firing events.
69
129
  _clearForTests(): void {
70
- this.#inFlight.clear();
130
+ this.#deployments.clear();
131
+ this.#byComponent.clear();
132
+ this.#deadOwners.clear();
133
+ this.#legacyDeployments.clear();
134
+ this.#legacySequence = 0;
71
135
  }
72
136
  }
73
137
 
74
138
  export const deployLifecycle = new DeployLifecycle();
75
139
 
140
+ async function waitForOwnerTermination(ownerThreadId: number): Promise<void> {
141
+ let timeoutReported = false;
142
+ for (;;) {
143
+ try {
144
+ if (!(await isThreadRunning(ownerThreadId))) return;
145
+ } catch (error) {
146
+ if (!timeoutReported) {
147
+ timeoutReported = true;
148
+ harperLogger.warn(`Retrying liveness check for exited thread ${ownerThreadId}:`, error);
149
+ }
150
+ }
151
+ await delay(25, undefined, { ref: false });
152
+ }
153
+ }
154
+
76
155
  let receiverInstalled = false;
77
156
  function ensureReceiver() {
78
157
  if (receiverInstalled) return;
@@ -88,6 +167,11 @@ function ensureReceiver() {
88
167
  // suppress only the main thread's watchers and the worker watchers would keep
89
168
  // firing restart storms (harper#488).
90
169
  ensureReceiver();
170
+ onThreadExit((deadThreadId: number) => {
171
+ void deployLifecycle
172
+ ._reclaimOwnerAfterTermination(deadThreadId)
173
+ .catch((error) => harperLogger.error(`Could not reclaim deployments from thread ${deadThreadId}:`, error));
174
+ });
91
175
 
92
176
  /**
93
177
  * Announce the start of a deploy for `componentName`. Awaits acknowledgement
@@ -98,9 +182,10 @@ ensureReceiver();
98
182
  * component compose correctly (each call must be paired with exactly one
99
183
  * broadcastDeployEnd).
100
184
  */
101
- export async function broadcastDeployStart(componentName: string): Promise<void> {
185
+ export async function broadcastDeployStart(componentName: string): Promise<string> {
102
186
  ensureReceiver();
103
- const event: DeployLifecycleEvent = { name: componentName, phase: 'start' };
187
+ const deploymentId = randomUUID();
188
+ const event: DeployLifecycleEvent = { name: componentName, phase: 'start', deploymentId, ownerThreadId: threadId };
104
189
  deployLifecycle._handle(event); // local thread first
105
190
  let timer: ReturnType<typeof setTimeout> | undefined;
106
191
  try {
@@ -125,6 +210,7 @@ export async function broadcastDeployStart(componentName: string): Promise<void>
125
210
  } finally {
126
211
  if (timer) clearTimeout(timer);
127
212
  }
213
+ return deploymentId;
128
214
  }
129
215
 
130
216
  /**
@@ -135,9 +221,9 @@ export async function broadcastDeployStart(componentName: string): Promise<void>
135
221
  * Must be called exactly once per matching broadcastDeployStart, even if the
136
222
  * deploy errored — typically from a `finally` block.
137
223
  */
138
- export function broadcastDeployEnd(componentName: string): void {
224
+ export function broadcastDeployEnd(componentName: string, deploymentId: string): void {
139
225
  ensureReceiver();
140
- const event: DeployLifecycleEvent = { name: componentName, phase: 'end' };
226
+ const event: DeployLifecycleEvent = { name: componentName, phase: 'end', deploymentId, ownerThreadId: threadId };
141
227
  deployLifecycle._handle(event);
142
228
  try {
143
229
  void broadcast({ type: DEPLOY_LIFECYCLE_MSG, event }, false);
@@ -303,6 +303,12 @@ export function makeOperationToolHandler(operationName: string) {
303
303
  operation: operationName,
304
304
  hdb_user: context.user,
305
305
  };
306
+ // Authorization bypass is internal dispatch state, never client-supplied tool
307
+ // arguments — mirrors handlePostRequest's stripping in serverHandlers.js. Without
308
+ // this, a caller-supplied `bypass_auth`/`bypassAuth` argument would reach handlers
309
+ // (e.g. createTokens) that trust it directly from the body.
310
+ delete body.bypass_auth;
311
+ delete body.bypassAuth;
306
312
  if (STREAMING_OPERATIONS.has(operationName)) {
307
313
  // Reject before the handler runs at all — see STREAMING_OPERATIONS' comment for why
308
314
  // destroying an already-returned stream isn't sufficient cleanup for these producers.
@@ -646,12 +646,10 @@ async function deployComponent(req) {
646
646
  // deploy checks its own local isNewComponent, since directory state (and therefore
647
647
  // whether the component was already active) can differ per node.
648
648
  //
649
- // An existing, already-active component being redeployed does NOT force a restart
650
- // here: some updates (e.g. static files only) may not need one at all, and when one
651
- // genuinely is needed, that component's already-running file watcher (Scope/
652
- // EntryHandler, see deployLifecycle.ts) independently detects the post-deploy file
653
- // changes and requests the restart itself.
654
- if (application.isNewComponent) {
649
+ // An existing component's watched files are handled by Scope/EntryHandler. Package
650
+ // metadata is deliberately outside most plugin globs, so compare it across the atomic
651
+ // swap as well: a dependency or module-entry change also invalidates loaded code.
652
+ if (application.isNewComponent || application.packageMetadataChanged) {
655
653
  const { requestRestart } = require('./requestRestart.ts');
656
654
  requestRestart();
657
655
  }
@@ -7,7 +7,6 @@ import YAML from 'yaml';
7
7
  import path from 'path';
8
8
  import { threadId } from 'node:worker_threads';
9
9
  import { randomBytes } from 'node:crypto';
10
- import { performance } from 'node:perf_hooks';
11
10
  import isNumber from 'is-number';
12
11
  import propertiesReaderModule from 'properties-reader';
13
12
  import _ from 'lodash';
@@ -87,10 +86,15 @@ export function getConfigPath(param: string) {
87
86
  // Every worker thread runs its own RootConfigWatcher (chokidar), so a write on one thread
88
87
  // routinely races a hot-reload read on another; Windows Defender / AV real-time scanning can
89
88
  // hold a similar transient handle. Retry with exponential backoff to ride out the race -
90
- // callers are synchronous, so the wait is a synchronous busy-loop rather than a real sleep.
91
- const RENAME_RETRY_MAX_ATTEMPTS = 8;
89
+ // callers are synchronous, so the wait is a synchronous sleep rather than an async one.
90
+ // The budget must outlast a single AV real-time scan pass (seconds, not hundreds of ms):
91
+ // the previous ~910ms budget was exhausted twice in a row by the same test on a CI runner
92
+ // (harper#2036), so the worst case is now ~3.6s.
93
+ const RENAME_RETRY_MAX_ATTEMPTS = 12;
92
94
  const RENAME_RETRY_INITIAL_DELAY_MS = 10;
93
- const RENAME_RETRY_MAX_DELAY_MS = 200;
95
+ const RENAME_RETRY_MAX_DELAY_MS = 500;
96
+ // Never notified; exists only so Atomics.wait can time out (a synchronous, CPU-idle sleep).
97
+ const renameRetrySleepBuffer = new Int32Array(new SharedArrayBuffer(4));
94
98
 
95
99
  function atomicWriteFile(
96
100
  filePath,
@@ -112,11 +116,10 @@ function atomicWriteFile(
112
116
  } catch (err) {
113
117
  if (retries > 0 && (err.code === 'EPERM' || err.code === 'EACCES')) {
114
118
  retries--;
115
- // Sleep synchronously (all call sites are sync) to allow the reader to close the
116
- // file. Uses performance.now() rather than Date.now(): the latter tracks wall-clock
117
- // time and can jump backward (NTP sync), which would turn this into an unbounded spin.
118
- const start = performance.now();
119
- while (performance.now() - start < delayMs) {}
119
+ // Sleep synchronously (all call sites are sync) to allow the holder to close the
120
+ // file. Atomics.wait yields the thread to the OS instead of spinning the CPU,
121
+ // which is what makes a multi-second worst-case budget affordable.
122
+ if (delayMs > 0) Atomics.wait(renameRetrySleepBuffer, 0, 0, delayMs);
120
123
  delayMs = Math.min(delayMs * 2, maxDelayMs);
121
124
  continue;
122
125
  }
@@ -470,6 +470,16 @@
470
470
  ],
471
471
  "description": "Enable/Configure compression (LZ4). Default: true"
472
472
  },
473
+ "rocks": {
474
+ "type": "object",
475
+ "additionalProperties": true,
476
+ "properties": {
477
+ "compression": {
478
+ "type": ["string", "null"],
479
+ "description": "RocksDB block and blob compression codec for every column family. Default: null (derive from storage.compression)."
480
+ }
481
+ }
482
+ },
473
483
  "compactOnStart": { "type": "boolean", "description": "Compact non-system databases on start. Default: false" },
474
484
  "compactOnStartKeepBackup": {
475
485
  "type": "boolean",
@@ -492,12 +492,25 @@ export class ResourceBridge extends BridgeMethods {
492
492
  : typeof deleteObj.timestamp === 'string'
493
493
  ? Number.parseInt(deleteObj.timestamp)
494
494
  : deleteObj.timestamp;
495
+ const databaseName = deleteObj.database || deleteObj.schema || DEFAULT_DATABASE;
495
496
  const table = getTable(deleteObj);
497
+ // A nonexistent table must not fall through to the no-table branch below — on RocksDB that
498
+ // widens a table-scoped request (e.g. a typo) into a whole-database log purge (#2049).
499
+ // Presence check, not truthiness: a table named "0" addressed numerically is still table-scoped.
500
+ if (deleteObj.table != null && !table)
501
+ throw handleHDBError(
502
+ new Error(),
503
+ HDB_ERROR_MSGS.TABLE_NOT_FOUND(databaseName, deleteObj.table),
504
+ 404,
505
+ undefined,
506
+ undefined,
507
+ true
508
+ );
496
509
  if (!table) {
497
510
  // no table, check if any of the tables are RocksDB
498
511
  // since all tables share the same transaction log store, we break after the first
499
512
  // RocksDB table is found
500
- const tables = getDatabases()[deleteObj.database];
513
+ const tables = getDatabases()[databaseName];
501
514
  if (tables) {
502
515
  for (const table of Object.values(tables)) {
503
516
  if (table.primaryStore instanceof RocksDatabase) {
@@ -509,9 +522,16 @@ export class ResourceBridge extends BridgeMethods {
509
522
  }
510
523
  }
511
524
  } else if (table.primaryStore instanceof RocksDatabase) {
512
- const deleted = table.primaryStore.purgeLogs({ before, includeEntryCounts: true });
513
- totalResults.log_files_deleted += deleted.length;
514
- totalResults.entries_deleted += deleted.reduce((acc, file) => acc + file.entries, 0);
525
+ // All tables in a RocksDB database share one transaction log with no per-table purge
526
+ // granularity; honoring `table` here would silently purge every sibling table's log (#2049).
527
+ throw handleHDBError(
528
+ new Error(),
529
+ `Table-level transaction log deletion is not supported for RocksDB tables because all tables in a database share one transaction log; to delete the transaction logs for the entire '${databaseName}' database, use delete_transaction_logs_before with only 'database' and 'timestamp'`,
530
+ 400,
531
+ undefined,
532
+ undefined,
533
+ true
534
+ );
515
535
  } else {
516
536
  totalResults.entries_deleted += await table.deleteHistory(before, deleteObj.cleanup_deleted_records);
517
537
  }
@@ -698,7 +718,8 @@ function getTable(operationObject: { database?: string; schema?: string; table?:
698
718
  const databaseName = operationObject.database || operationObject.schema || DEFAULT_DATABASE;
699
719
  const tables = getDatabases()[databaseName];
700
720
  if (!tables) throw handleHDBError(new Error(), HDB_ERROR_MSGS.SCHEMA_NOT_FOUND(databaseName), 404);
701
- return operationObject.table ? tables[operationObject.table] : undefined;
721
+ // Presence check, not truthiness, so a table named "0" resolves when addressed numerically.
722
+ return operationObject.table != null ? tables[operationObject.table] : undefined;
702
723
  }
703
724
 
704
725
  /**
@@ -183,15 +183,23 @@ export async function getVersionUpdateInfo() {
183
183
  `You have installed a version lower than the version that your data was created on or was upgraded to. This may cause issues and is currently not supported.${os.EOL}${hdbTerms.SUPPORT_HELP_MSG}`
184
184
  )
185
185
  );
186
+ log.error(
187
+ `This instance's data was last run on version ${dataVersion}, which is newer than this installed version ${upgradeVersion}. Downgrading across major versions is not supported.`
188
+ );
186
189
  throw new Error('Trying to downgrade major HDB versions is not supported.');
187
190
  }
188
191
  if (!hdbUtils.isCompatibleDataVersion(dataVersion.toString(), upgradeVersion.toString(), true)) {
189
192
  console.log(chalk.yellow(`This instance's data was last run on version ${dataVersion}`));
193
+ log.warn(
194
+ `This instance's data was last run on version ${dataVersion}, which is newer than this installed version ${upgradeVersion}. Confirmation is required before running the older version against this data.`
195
+ );
190
196
 
191
197
  if (await forceDowngradePrompt(new UpgradeObject(dataVersion, upgradeVersion))) {
192
198
  await insertHdbUpgradeInfo(upgradeVersion.toString());
199
+ log.notify(`Downgrade confirmed; data version recorded as ${upgradeVersion}.`);
193
200
  } else {
194
201
  console.log('Cancelled downgrade, closing Harper');
202
+ log.notify('Cancelled downgrade, closing Harper');
195
203
  process.exit(0);
196
204
  }
197
205
  }
@@ -12,6 +12,7 @@ import * as envMngr from '../utility/environment/environmentManager.ts';
12
12
  envMngr.initSync();
13
13
  import { getDatabases } from '../resources/databases.ts';
14
14
  import * as fs from 'fs-extra';
15
+ import { isOperationAuthorizationBypassed } from '../server/serverHelpers/operationAuthorizationState.ts';
15
16
 
16
17
  /**
17
18
  * This method is exposed to the API and internally for system operations. If the op is being made internally, the `opObj`
@@ -22,7 +23,7 @@ import * as fs from 'fs-extra';
22
23
  export async function describeAll(opObj: any = {}) {
23
24
  try {
24
25
  const sysCall = hdbUtils.isEmptyOrZeroLength(opObj);
25
- const bypassAuth = !!opObj.bypass_auth;
26
+ const bypassAuth = isOperationAuthorizationBypassed();
26
27
  let rolePerms;
27
28
  let isSu;
28
29
  if (!sysCall && !bypassAuth) {
@@ -338,6 +338,10 @@ function shapeForStructure(value) {
338
338
  }
339
339
  function openRocksDb(path, options = {}) {
340
340
  options.disableWAL ??= false;
341
+ // Migration creates a complete replacement database, so use the deployment codec for the files
342
+ // it writes; runtime opens additionally reconcile pre-existing sibling column families.
343
+ const legacyOptions = options;
344
+ legacyOptions.compression = (0, databases_ts_1.getRocksCompression)() ?? (0, databases_ts_1.toRocksCompression)(legacyOptions.compression);
341
345
  if (!(0, node_fs_1.existsSync)(path)) {
342
346
  (0, node_fs_1.mkdirSync)(path, { recursive: true });
343
347
  }
@@ -523,6 +527,13 @@ async function migrateDatabaseToRocks(sourceRootStore, databaseName, targetPath)
523
527
  async function copyDbToRocks(sourceRootStore, sourceDatabase, targetPath) {
524
528
  console.log(`Migrating database ${sourceDatabase} to RocksDB at ${targetPath}`);
525
529
  const sourceDbisDb = sourceRootStore.dbisDb;
530
+ // Runtime Harper stores disable RocksDB's native WAL for data/index column families and recover
531
+ // them from rocksdb-js transaction logs. This copier does not write those transaction logs, so
532
+ // only use the same fast write path for migrateOnStart's disposable staging directory: after an
533
+ // interruption it is deleted and recopied from LMDB. Direct copyDbToRocks callers retain WAL.
534
+ const disableDataWAL = targetPath.endsWith(hdbTerms_ts_1.MIGRATING_DIR_SUFFIX);
535
+ // Keep native WAL for the root/log-owner and __dbis__ handles, matching Harper's runtime policy.
536
+ // Their migration writes are metadata-sized; the 600 GB bulk is in the data/index handles below.
526
537
  const targetRootStore = openRocksDb(targetPath, { disableWAL: false });
527
538
  // Every handle opened on targetPath. All must be closed before returning so the caller can
528
539
  // atomically rename a staging directory into place — rocksdb-js registers descriptors by
@@ -596,11 +607,11 @@ async function copyDbToRocks(sourceRootStore, sourceDatabase, targetPath) {
596
607
  let observerEncoder;
597
608
  let canonicalStructures;
598
609
  if (!isPrimary) {
599
- targetDbi = openRocksDb(targetPath, { dupSort: true, name: key });
610
+ targetDbi = openRocksDb(targetPath, { disableWAL: disableDataWAL, dupSort: true, name: key });
600
611
  targetHandles.push(targetDbi);
601
612
  }
602
613
  else {
603
- targetDbi = openRocksDb(targetPath, { name: key });
614
+ targetDbi = openRocksDb(targetPath, { disableWAL: disableDataWAL, name: key });
604
615
  targetHandles.push(targetDbi);
605
616
  // Patch the existing encoder (encoder is a getter-only property on RocksDatabase, cannot be replaced)
606
617
  // to install RecordEncoder's encode method so metadata headers (timestamps, HAS_BLOBS flag) are written
@@ -1 +1 @@
1
- {"version":3,"file":"copyDb.js","sourceRoot":"","sources":["../../bin/copyDb.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,wCAuGC;AAiBD,wBAiJC;AAWD,8CAoBC;AAiBD,wCA2EC;AA0BD,wDAsBC;AAWD,wDA6BC;AAED,sCAiYC;AA93BD,4DAAgG;AAChG,+BAAsC;AACtC,+BAA4B;AAC5B,uCAAwC;AACxC,qCAAgD;AAChD,+CAA0C;AAC1C,wFAAmE;AACnE,wGAA6E;AAC7E,uEAAiE;AACjE,uDAAgF;AAChF,wDAAiG;AACjG,8DAAiE;AACjE,sEAAgE;AAChE,6DAA6D;AAC7D,+EAAiE;AACjE,uDAAkF;AAClF,wEAAkE;AAClE,kDAK8B;AAC9B,oEAMuC;AAEhC,KAAK,UAAU,cAAc;IACnC,SAAS,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAExC,iCAAiC;IACjC,MAAM,QAAQ,GAAG,IAAA,2BAAG,EAAC,2BAAa,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAA,2BAAY,GAAE,CAAC;IAEjC,IAAA,kCAAiB,EAAC,2BAAa,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC,CAAC,iHAAiH;IAEjL,IAAI,CAAC;QACJ,KAAK,MAAM,YAAY,IAAI,SAAS,EAAE,CAAC;YACtC,IAAI,YAAY,KAAK,QAAQ;gBAAE,SAAS;YACxC,IAAI,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,SAAS,CAAC,sBAAsB;YACpE,IAAI,MAAM,CAAC;YACX,KAAK,MAAM,SAAS,IAAI,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;gBACjD,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC;gBAC9D,MAAM;YACP,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,YAAY,CAAC,CAAC;gBAClE,SAAS;YACV,CAAC;YAED,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,GAAG,MAAM,CAAC,CAAC;YACnE,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,QAAQ,EAAE,gCAAkB,EAAE,YAAY,GAAG,WAAW,CAAC,CAAC;YAChF,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC;gBACJ,WAAW,GAAG,MAAM,qBAAqB,CAAC,YAAY,CAAC,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,4CAA4C,EAAE,WAAW,CAAC,CAAC;YAClG,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,SAAS,CAAC,KAAK,CAAC,yCAAyC,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;gBAChF,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;YAC/E,CAAC;YACD,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE;gBAC7B,MAAM;gBACN,QAAQ;gBACR,UAAU;gBACV,WAAW;aACX,CAAC,CAAC;YAEH,MAAM,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAErC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;YAC1D,IAAI,CAAC;gBACJ,MAAM,IAAA,eAAI,EAAC,MAAM,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YACvE,CAAC;YACD,gDAAgD;YAChD,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACjE,MAAM,IAAA,eAAI,EAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,MAAM,IAAA,iBAAM,EAAC,IAAA,WAAI,EAAC,QAAQ,EAAE,gCAAkB,EAAE,GAAG,YAAY,gBAAgB,CAAC,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,CAAC;YACJ,IAAA,6BAAc,GAAE,CAAC;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,SAAS,CAAC,KAAK,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAC;YAC/D,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,CAAC;YACJ,IAAA,6BAAc,GAAE,CAAC;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,SAAS,CAAC,KAAK,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAC;YAC/D,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,+BAA+B;QACjD,CAAC;IACF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,SAAS,CAAC,KAAK,CAAC,mDAAmD,EAAE,GAAG,CAAC,CAAC;QAC1E,OAAO,CAAC,KAAK,CAAC,mDAAmD,EAAE,GAAG,CAAC,CAAC;QAExE,IAAA,kCAAiB,EAAC,2BAAa,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;QAE/D,KAAK,MAAM,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC;YACzD,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YACvE,IAAI,CAAC;gBACJ,MAAM,IAAA,eAAI,EAAC,UAAU,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC;QACF,CAAC;QACD,IAAA,6BAAc,GAAE,CAAC;QAEjB,MAAM,GAAG,CAAC;IACX,CAAC;IAED,mBAAmB;IACnB,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC;QAC7D,MAAM,kBAAkB,GAAG,MAAM,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,EAAE,2CAA2C,EAAE,kBAAkB,CAAC,CAAC;QAE7F,IAAI,WAAW,KAAK,kBAAkB,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,iFAAiF,EAAE,4CAA4C,WAAW,kBAAkB,kBAAkB,kEAAkE,UAAU,EAAE,CAAC;YAC5Q,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;QAED,IAAI,IAAA,2BAAG,EAAC,2BAAa,CAAC,gCAAgC,CAAC,KAAK,IAAI;YAAE,SAAS;QAC3E,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;QAC3C,MAAM,IAAA,iBAAM,EAAC,UAAU,CAAC,CAAC;IAC1B,CAAC;AACF,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,QAAgB;IACpD,MAAM,UAAU,GAAG,MAAM,IAAA,kCAAc,EAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAChC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC;IACzC,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED,+FAA+F;AAC/F,SAAS,IAAI;IACZ,4DAA4D;AAC7D,CAAC;AAEM,KAAK,UAAU,MAAM,CAAC,cAAsB,EAAE,kBAA0B;IAC9E,OAAO,CAAC,GAAG,CAAC,oBAAoB,cAAc,OAAO,kBAAkB,EAAE,CAAC,CAAC;IAC3E,MAAM,QAAQ,GAAG,IAAA,2BAAY,GAAE,CAAC,cAAc,CAAC,CAAC;IAChD,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,cAAc,EAAE,CAAC,CAAC;IAC/E,IAAI,SAAS,CAAC;IACd,KAAK,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;QAClC,sCAAsC;QACtC,KAAK,CAAC,YAAY,CAAC,GAAG,GAAG,IAAI,CAAC;QAC9B,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC;QACjC,KAAK,MAAM,aAAa,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAC3C,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;YACjB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACtB,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC;YAC5B,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC;QAChC,CAAC;QACD,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,cAAc,EAAE,CAAC,CAAC;IAC/F,yCAAyC;IACzC,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC;IACtC,MAAM,gBAAgB,GAAG,SAAS,CAAC,UAAU,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAA,WAAI,EAAC,IAAI,kCAAqB,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACtE,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,6BAAkB,EAAE,CAAC,CAAC;IACpE,IAAI,OAAO,CAAC;IACZ,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,kGAAkG;IAClG,MAAM,WAAW,GAAG,YAAY,CAAC,kBAAkB,EAAE,CAAC;IACtD,IAAI,CAAC;QACJ,KAAK,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;YAChF,MAAM,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC;YACzC,IAAI,mBAAmB,EAAE,cAAc,CAAC;YACxC,IAAI,SAAS,EAAE,CAAC;gBACf,mBAAmB,GAAG,SAAS,CAAC,WAAW,CAAC;gBAC5C,cAAc,GAAG,IAAA,oCAAqB,GAAE,CAAC;gBACzC,IAAI,cAAc;oBAAE,SAAS,CAAC,WAAW,GAAG,cAAc,CAAC;;oBACtD,OAAO,SAAS,CAAC,WAAW,CAAC;gBAClC,IAAI,mBAAmB,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,CAAC;oBAC5F,gHAAgH;oBAChH,mBAAmB,GAAG,IAAI,CAAC;oBAC3B,cAAc,GAAG,IAAI,CAAC;gBACvB,CAAC;YACF,CAAC;YACD,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACjC,IAAI,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC;gBAAE,SAAS;YAChD,MAAM,OAAO,GAAG,IAAI,gCAAa,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACzD,kEAAkE;YAClE,wBAAwB;YACxB,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC5B,OAAO,CAAC,WAAW,GAAG,mBAAmB,CAAC;YAC1C,iCAAiC;YACjC,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACjD,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;YACzB,SAAS,CAAC,aAAa,GAAG,KAAK,CAAC;YAChC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC9B,OAAO,CAAC,WAAW,GAAG,cAAc,CAAC;YACrC,MAAM,SAAS,GAAI,SAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACzD,SAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;YAC9E,MAAM,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,gBAAgB,EAAE,CAAC;YACtB,MAAM,gBAAgB,GAAG,SAAS,CAAC,MAAM,CAAC,2BAAgB,EAAE,mCAAmB,CAAC,CAAC;YACjF,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,cAAc,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;YAC/E,OAAO,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QACjE,CAAC;QAED,KAAK,UAAU,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW;YAClE,IAAI,aAAa,GAAG,CAAC,CAAC;YACtB,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,IAAI,aAAa,GAAG,CAAC,CAAC;YACtB,IAAI,OAAO,GAAG,QAAQ,CAAC;YACvB,IAAI,KAAK,GAAG,IAAI,CAAC;YACjB,OAAO,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC;oBACJ,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;wBAC7D,IAAI,CAAC;4BACJ,KAAK,GAAG,GAAG,CAAC;4BACZ,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;4BACpE,+GAA+G;4BAC/G,IAAI,KAAK,EAAE,MAAM,GAAG,EAAE,IAAI,SAAS,EAAE,CAAC;gCACrC,aAAa,EAAE,CAAC;gCAChB,SAAS;4BACV,CAAC;4BACD,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;4BACrE,aAAa,EAAE,CAAC;4BAChB,IAAI,WAAW,CAAC,SAAS;gCAAE,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,6CAA6C;4BACnG,WAAW,IAAI,CAAC,GAAG,EAAE,MAAM,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;4BAClD,IAAI,iBAAiB,EAAE,GAAG,IAAI,EAAE,CAAC;gCAChC,MAAM,OAAO,CAAC;gCACd,OAAO,CAAC,GAAG,CACV,QAAQ,EACR,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,OAAO,CACP,CAAC;gCACF,iBAAiB,GAAG,CAAC,CAAC;4BACvB,CAAC;wBACF,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BAChB,OAAO,CAAC,KAAK,CACZ,sBAAsB,EACtB,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EACxC,MAAM,EACN,cAAc,EACd,IAAI,EACJ,kBAAkB,EAClB,KAAK,CACL,CAAC;wBACH,CAAC;oBACF,CAAC;oBACD,OAAO,CAAC,GAAG,CACV,wBAAwB,EACxB,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,OAAO,CACP,CAAC;oBACF,OAAO;gBACR,CAAC;gBAAC,MAAM,CAAC;oBACR,kCAAkC;oBAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAC/B,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;4BACnB,OAAO,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;wBACpG,CAAC;wBACD,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;oBAClC,CAAC;yBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ;wBAAE,KAAK,EAAE,CAAC;;wBACzC,OAAO,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;gBACvG,CAAC;YACF,CAAC;QACF,CAAC;QAED,MAAM,OAAO,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,cAAc,GAAG,MAAM,GAAG,kBAAkB,CAAC,CAAC;IAChF,CAAC;YAAS,CAAC;QACV,WAAW,CAAC,IAAI,EAAE,CAAC;QACnB,SAAS,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;AACF,CAAC;AAED,+FAA+F;AAC/F,kGAAkG;AAClG,oGAAoG;AACpG,iGAAiG;AACjG,gGAAgG;AAChG,sGAAsG;AACtG,qGAAqG;AACrG,qGAAqG;AACrG,yFAAyF;AACzF,SAAgB,iBAAiB,CAAC,KAAU;IAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC9D,IACC,KAAK;QACL,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,CAAC,KAAK,YAAY,cAAI,CAAC;QACxB,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC;QACxB,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;QAC1B,CAAC,CAAC,KAAK,YAAY,WAAW,CAAC;QAC/B,CAAC,CAAC,KAAK,YAAY,iBAAiB,CAAC;QACrC,CAAC,CAAC,KAAK,YAAY,GAAG,CAAC;QACvB,CAAC,CAAC,KAAK,YAAY,GAAG,CAAC,EACtB,CAAC;QACF,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,+FAA+F;QAC/F,gFAAgF;QAChF,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,OAAO,GAAG,CAAC;IACZ,CAAC;IACD,OAAO,CAAC,CAAC;AACV,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,UAAwD,EAAE;IAC5F,OAAO,CAAC,UAAU,KAAK,KAAK,CAAC;IAC7B,IAAI,CAAC,IAAA,oBAAU,EAAC,IAAI,CAAC,EAAE,CAAC;QACvB,IAAA,mBAAS,EAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,EAAE,CAAC;IACP,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,EAAE,GAAG,IAAK,oCAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IACzD,CAAC;SAAM,CAAC;QACP,EAAE,GAAG,0BAAa,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvC,IAAI,EAAE,CAAC,OAAO;YAAE,EAAE,CAAC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAChD,CAAC;IACD,OAAO,EAAE,CAAC;AACX,CAAC;AAEM,KAAK,UAAU,cAAc;IACnC,SAAS,CAAC,MAAM,CAAC,4CAA4C,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAE1D,MAAM,QAAQ,GAAG,IAAA,2BAAG,EAAC,2BAAa,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAA,2BAAY,GAAE,CAAC;IAEjC,IAAI,CAAC;QACJ,IAAI,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,+DAA+D;QAC/D,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpE,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YAC1C,IAAI,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,SAAS;YAC7C,IAAI,SAAS,CAAC;YACd,KAAK,MAAM,SAAS,IAAI,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;gBACjD,MAAM,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC;gBACjD,KAAK,CAAC,YAAY,CAAC,GAAG,GAAG,IAAI,CAAC;gBAC9B,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC;gBACjC,KAAK,MAAM,aAAa,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;oBAC3C,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;oBACjB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;gBACrB,CAAC;gBACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oBACtB,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC;oBAC5B,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC;gBAChC,CAAC;gBACD,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC;YAC1C,CAAC;YACD,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,YAAY,CAAC,CAAC;gBAClE,SAAS;YACV,CAAC;YACD,IAAI,SAAS,YAAY,0BAAa,EAAE,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,8BAA8B,CAAC,CAAC;gBACtE,SAAS;YACV,CAAC;YAED,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,QAAQ,EAAE,gCAAkB,EAAE,YAAY,CAAC,CAAC;YACpE,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC;YAChC,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,GAAG,MAAM,CAAC,CAAC;YAEnE,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,yBAAyB,EAAE,UAAU,CAAC,CAAC;YAE9E,MAAM,sBAAsB,CAAC,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;YAElE,iCAAiC;YACjC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;YAC/D,IAAI,CAAC;gBACJ,MAAM,IAAA,eAAI,EAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YACzE,CAAC;YACD,uBAAuB;YACvB,IAAI,CAAC;gBACJ,MAAM,IAAA,iBAAM,EAAC,QAAQ,GAAG,OAAO,CAAC,CAAC;YAClC,CAAC;YAAC,MAAM,CAAC;gBACR,0BAA0B;YAC3B,CAAC;QACF,CAAC;QAED,qEAAqE;QACrE,IAAA,kCAAiB,EAAC,2BAAa,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;QAE/D,IAAI,CAAC;YACJ,IAAA,6BAAc,GAAE,CAAC;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,SAAS,CAAC,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC;YAClE,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC;QACjE,CAAC;IACF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,SAAS,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC;QACjD,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC;QAC/C,MAAM,GAAG,CAAC;IACX,CAAC;AACF,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,MAAM;IAC3B,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,KAAK,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QAClD,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,SAAS;QACtC,OAAO,EAAE,CAAC;QACV,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI;YAAE,WAAW,EAAE,CAAC;IACpE,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AACjC,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,sBAAsB,CAAC,YAAoB;IAC1D,MAAM,SAAS,GAAG,0BAAa,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,0BAAa,CAAC,IAAI,CAAC,YAAY,EAAE;QAC/C,IAAI,EAAE,6BAAkB;QACxB,mBAAmB,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;KAC7C,CAAC,CAAC;IACH,MAAM,MAAM,GAA6D,EAAE,CAAC;IAC5E,IAAI,CAAC;QACJ,KAAK,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7D,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,SAAS,EAAE,YAAY;gBAAE,SAAS;YAClE,MAAM,MAAM,GAAG,0BAAa,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YAChF,IAAI,CAAC;gBACJ,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC;oBAAS,CAAC;gBACV,MAAM,CAAC,KAAK,EAAE,CAAC;YAChB,CAAC;QACF,CAAC;IACF,CAAC;YAAS,CAAC;QACV,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,SAAS,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,sBAAsB,CAAC,eAAe,EAAE,YAAoB,EAAE,UAAkB;IACrG,MAAM,WAAW,GAAG,UAAU,GAAG,kCAAoB,CAAC;IACtD,MAAM,IAAA,iBAAM,EAAC,WAAW,CAAC,CAAC;IAC1B,IAAI,CAAC;QACJ,MAAM,aAAa,CAAC,eAAe,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC;YACJ,MAAM,IAAA,iBAAM,EAAC,WAAW,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACR,oEAAoE;QACrE,CAAC;QACD,MAAM,KAAK,CAAC;IACb,CAAC;IACD,2FAA2F;IAC3F,8FAA8F;IAC9F,6FAA6F;IAC7F,kBAAkB;IAClB,MAAM,IAAA,iBAAM,EAAC,UAAU,CAAC,CAAC;IACzB,8FAA8F;IAC9F,yEAAyE;IACzE,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;QACnC,IAAI,CAAC;YACJ,MAAM,IAAA,iBAAM,EAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YACtC,MAAM;QACP,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;gBAAE,MAAM,KAAK,CAAC;YAChH,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAC1D,CAAC;IACF,CAAC;AACF,CAAC;AAEM,KAAK,UAAU,aAAa,CAAC,eAAe,EAAE,cAAsB,EAAE,UAAkB;IAC9F,OAAO,CAAC,GAAG,CAAC,sBAAsB,cAAc,kBAAkB,UAAU,EAAE,CAAC,CAAC;IAChF,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC;IAE5C,MAAM,eAAe,GAAG,WAAW,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IACvE,2FAA2F;IAC3F,yFAAyF;IACzF,4FAA4F;IAC5F,wEAAwE;IACxE,MAAM,aAAa,GAAoB,CAAC,eAAe,CAAC,CAAC;IACzD,iFAAiF;IACjF,8EAA8E;IAC9E,mFAAmF;IACnF,kFAAkF;IAClF,iFAAiF;IACjF,2EAA2E;IAC3E,+EAA+E;IAC/E,iCAAiC;IACjC,MAAM,YAAY,GAAG,WAAW,CAAC,UAAU,EAAE;QAC5C,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE,6BAAkB;QACxB,mBAAmB,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;KAC7C,CAAC,CAAC;IACH,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAEjC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAChD,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,SAAiB,EAAE,WAA2B,EAAE,EAAE;QACpF,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC,cAAc,CAAC,CAAC;QACrD,IAAI,MAAM,EAAE,CAAC;YACZ,MAAM,YAAY,GAAG,IAAA,eAAQ,EAAC,MAAM,CAAC,CAAC;YACtC,eAAe,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,SAAS,CAAC,EAAE,YAAY,CAAC,CAAC;YACnE,qEAAqE;YACrE,0EAA0E;YAC1E,WAAW,EAAE,OAAO,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QACpD,CAAC;IACF,CAAC,CAAC;IAEF,cAAc,CAAC,YAAY,EAAE,6BAAkB,EAAE,YAAY,CAAC,CAAC;IAE/D,IAAI,OAAO,CAAC;IACZ,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,kFAAkF;IAClF,4FAA4F;IAC5F,4FAA4F;IAC5F,yFAAyF;IACzF,6FAA6F;IAC7F,iEAAiE;IACjE,MAAM,gBAAgB,GAAG,IAAA,wCAA8B,GAAE,CAAC;IAC1D,8FAA8F;IAC9F,gFAAgF;IAChF,IAAI,WAAW,CAAC;IAChB,IAAI,CAAC;QACJ,WAAW,GAAG,YAAY,CAAC,kBAAkB,EAAE,CAAC;QAChD,KAAK,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;YAChF,MAAM,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC;YACzC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACjC,IAAI,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC;gBAAE,SAAS;YAEhD,oEAAoE;YACpE,8EAA8E;YAC9E,kFAAkF;YAClF,oFAAoF;YACpF,kFAAkF;YAClF,MAAM,OAAO,GAAG,IAAI,gCAAa,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACzD,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;YAC5C,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACvD,0FAA0F;YAC1F,0FAA0F;YAC1F,8FAA8F;YAC9F,iFAAiF;YACjF,IAAI,SAAS,IAAI,SAAS,CAAC,OAAO;gBAAE,SAAS,CAAC,OAAO,CAAC,SAAS,GAAG,eAAe,CAAC;YAElF,IAAI,SAAS,CAAC;YACd,6FAA6F;YAC7F,4FAA4F;YAC5F,4FAA4F;YAC5F,wEAAwE;YACxE,IAAI,eAAoB,CAAC;YACzB,IAAI,mBAAwB,CAAC;YAC7B,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChB,SAAS,GAAG,WAAW,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;gBAClE,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACP,SAAS,GAAG,WAAW,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;gBACnD,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC9B,sGAAsG;gBACtG,wGAAwG;gBACxG,MAAM,eAAe,GAAG,SAAS,CAAC,OAAc,CAAC;gBACjD,eAAe,CAAC,SAAS,GAAG,IAAI,CAAC;gBACjC,eAAe,CAAC,SAAS,GAAG,eAAe,CAAC;gBAC5C,MAAM,WAAW,GAAG,IAAI,gCAAa,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAQ,CAAC;gBAC5D,6EAA6E;gBAC7E,8EAA8E;gBAC9E,6EAA6E;gBAC7E,iFAAiF;gBACjF,2EAA2E;gBAC3E,WAAW,CAAC,IAAI,GAAG,GAAG,CAAC;gBACvB,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC;gBAC7B,WAAW,CAAC,SAAS,GAAG,eAAe,CAAC;gBACxC,eAAe,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;gBAC5C,eAAe,CAAC,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC;gBAC1D,yEAAyE;gBACzE,gFAAgF;gBAChF,mFAAmF;gBACnF,wFAAwF;gBACxF,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;gBACtC,eAAe,CAAC,cAAc,GAAG,kBAAkB,CAAC;gBACpD,WAAW,CAAC,cAAc,GAAG,kBAAkB,CAAC;gBAEhD,uFAAuF;gBACvF,0FAA0F;gBAC1F,qFAAqF;gBACrF,kDAAkD;gBAClD,eAAe,GAAG,IAAI,gCAAa,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,CAAQ,CAAC;gBAC1E,eAAe,CAAC,IAAI,GAAG,GAAG,CAAC;gBAC3B,eAAe,CAAC,SAAS,GAAG,IAAI,CAAC;gBACjC,eAAe,CAAC,SAAS,GAAG,eAAe,CAAC;gBAC5C,eAAe,CAAC,cAAc,GAAG,CAAC,UAAe,EAAE,EAAE;oBACpD,mBAAmB,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;oBAClF,OAAO,IAAI,CAAC;gBACb,CAAC,CAAC;YACH,CAAC;YAED,cAAc,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAE/B,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;YACpE,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;YACnG,IAAI,MAAM,EAAE,cAAc,KAAK,SAAS,EAAE,CAAC;gBAC1C,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;gBACnD,iFAAiF;gBACjF,kFAAkF;gBAClF,gFAAgF;gBAChF,6EAA6E;gBAC7E,2EAA2E;gBAC3E,kFAAkF;gBAClF,MAAM,cAAc,CAAC,OAAO,CAAC;gBAC7B,MAAM,OAAO,CAAC;gBACd,MAAM,SAAS,GAAG,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;gBAC9D,MAAM,gBAAgB,GAAG,SAAS,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACpG,IAAI,gBAAgB,KAAK,cAAc,CAAC,OAAO,EAAE,CAAC;oBACjD,MAAM,IAAI,KAAK,CACd,gBAAgB,cAAc,iBAAiB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,eAAe;wBAC/F,6CAA6C,cAAc,CAAC,OAAO,eAAe,gBAAgB,MAAM;wBACxG,4CAA4C,CAC7C,CAAC;gBACH,CAAC;gBACD,wFAAwF;gBACxF,sFAAsF;gBACtF,mFAAmF;gBACnF,qFAAqF;gBACrF,mFAAmF;gBACnF,iFAAiF;gBACjF,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;gBACvE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3B,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,IAAI,OAAO,GAAG,CAAC,CAAC;gBAChB,KAAK,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC7D,IAAI,OAAO,SAAS,KAAK,QAAQ;wBAAE,SAAS;oBAC5C,IAAI,eAAe,CAAC,GAAG,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBAAE,SAAS;oBACzG,OAAO,EAAE,CAAC;oBACV,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI;wBAAE,UAAU,EAAE,CAAC;gBACnE,CAAC;gBACD,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;oBACpB,MAAM,IAAI,KAAK,CACd,gBAAgB,cAAc,IAAI,GAAG,SAAS,UAAU,OAAO,OAAO,+BAA+B;wBACpG,0EAA0E,CAC3E,CAAC;gBACH,CAAC;YACF,CAAC;YAED,6FAA6F;YAC7F,+FAA+F;YAC/F,8FAA8F;YAC9F,6FAA6F;YAC7F,2FAA2F;YAC3F,8FAA8F;YAC9F,0FAA0F;YAC1F,IAAI,SAAS,IAAI,mBAAmB,EAAE,MAAM,EAAE,CAAC;gBAC9C,eAAe,CAAC,eAAe,CAC9B,CAAC,GAAG,EAAE,EAAE;oBACP,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,EAAE,mBAAmB,CAAC,CAAC;gBACnE,CAAC,EACD,EAAE,WAAW,EAAE,IAAI,EAAE,CACrB,CAAC;YACH,CAAC;QACF,CAAC;QAED,yFAAyF;QACzF,yGAAyG;QACzG,uFAAuF;QAEvF,MAAM,OAAO,CAAC;QAEd,2FAA2F;QAC3F,yFAAyF;QACzF,wFAAwF;QACxF,oFAAoF;QACpF,oEAAoE;QACpE,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,YAAY,gBAAgB,CAAC,MAAM,+BAA+B,cAAc,EAAE,CAAC,CAAC;YAChG,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;YAC3D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;YAC9D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,mFAAmF;gBACnF,+EAA+E;gBAC/E,kFAAkF;gBAClF,MAAM,IAAI,KAAK,CACd,gBAAgB,cAAc,YAAY,MAAM,CAAC,MAAM,wBAAwB;oBAC9E,MAAM;yBACJ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;yBACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAA2B,CAAC,MAAM,EAAE,OAAO,IAAI,MAAM,CAAE,CAA2B,CAAC,MAAM,CAAC,CAAC;yBACvG,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;YACH,CAAC;QACF,CAAC;QAED,mFAAmF;QACnF,yEAAyE;QACzE,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACrD,MAAM,cAAc,GAAG,eAAe,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC,mBAAmB,CAAC,CAAC;QACpF,IAAI,cAAc,EAAE,CAAC;YACpB,eAAe,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAA,eAAQ,EAAC,cAAc,CAAC,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,cAAc,GAAG,aAAa,CAAC,CAAC;IACpE,CAAC;YAAS,CAAC;QACV,IAAA,sCAA4B,GAAE,CAAC;QAC/B,kFAAkF;QAClF,qFAAqF;QACrF,oFAAoF;QACpF,6BAA6B;QAC7B,KAAK,MAAM,MAAM,IAAI,gBAAgB;YAAE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC9D,WAAW,EAAE,IAAI,EAAE,CAAC;QACpB,yFAAyF;QACzF,mFAAmF;QACnF,KAAK,MAAM,MAAM,IAAI,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC;gBACJ,MAAM,CAAC,KAAK,EAAE,CAAC;YAChB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;YAC9D,CAAC;QACF,CAAC;IACF,CAAC;IAED,KAAK,UAAU,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,eAAgB;QAC3F,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,cAAc,CAAC;QACnB,sFAAsF;QACtF,qFAAqF;QACrF,MAAM,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC;QACzB,IAAI,OAAO,GAAG,WAAW,CAAC;QAC1B,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,OAAO,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC;gBACJ,IAAI,SAAS,EAAE,CAAC;oBACf,KAAK,MAAM,EACV,GAAG,EACH,KAAK,EACL,OAAO,EACP,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,gBAAgB,EAC7B,aAAa,EAAE,kBAAkB,GACjC,IAAI,SAAS,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;wBACjE,IAAI,CAAC;4BACJ,KAAK,GAAG,GAAG,CAAC;4BACZ,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gCAC7B,aAAa,EAAE,CAAC;gCAChB,SAAS;4BACV,CAAC;4BACD,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gCACnB,aAAa,EAAE,CAAC;gCAChB,SAAS;4BACV,CAAC;4BACD,oEAAoE;4BACpE,oEAAoE;4BACpE,MAAM,UAAU,GAAG,+BAAY,CAAC;4BAChC,IAAI,OAAO,EAAE,CAAC;gCACb,IAAA,kCAAe,EACd,OAAO,EACP,kBAAkB,IAAI,UAAU,EAAE,CAAC,2BAAQ,CAAC,IAAI,CAAC,EACjD,cAAc,IAAI,UAAU,EAAE,SAAS,IAAI,CAAC,CAAC,EAC7C,WAAW,IAAI,UAAU,EAAE,MAAM,IAAI,CAAC,CAAC,EACvC,gBAAgB,IAAI,UAAU,EAAE,WAAW,IAAI,CAAC,CAChD,CAAC;4BACH,CAAC;iCAAM,CAAC;gCACP,8EAA8E;gCAC9E,+EAA+E;gCAC/E,6EAA6E;gCAC7E,6EAA6E;gCAC7E,8EAA8E;gCAC9E,IAAA,oCAAiB,GAAE,CAAC;gCACpB,eAAe,CAAC,GAAG,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;4BAC1E,CAAC;4BACD,OAAO,GAAG,IAAA,iCAAuB,EAChC,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,EACxC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAC7C,eAAe,CACf,CAAC;4BACF,0EAA0E;4BAC1E,wDAAwD;4BACxD,IAAI,OAAO;gCAAE,cAAc,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;4BAC1D,+EAA+E;4BAC/E,gFAAgF;4BAChF,kFAAkF;4BAClF,mFAAmF;4BACnF,qFAAqF;4BACrF,kFAAkF;4BAClF,yFAAyF;4BACzF,IAAI,eAAe,EAAE,CAAC;gCACrB,IAAI,CAAC;oCACJ,eAAe,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;gCAClD,CAAC;gCAAC,MAAM,CAAC,CAAA,CAAC;4BACX,CAAC;4BACD,aAAa,EAAE,CAAC;4BAChB,IAAI,WAAW,CAAC,SAAS;gCAAE,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC;4BACrD,IAAI,iBAAiB,EAAE,GAAG,IAAI,EAAE,CAAC;gCAChC,MAAM,OAAO,CAAC;gCACd,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,EAAE,kBAAkB,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;gCAC5F,iBAAiB,GAAG,CAAC,CAAC;4BACvB,CAAC;wBACF,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BAChB,OAAO,CAAC,KAAK,CACZ,wBAAwB,EACxB,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EACxC,MAAM,EACN,cAAc,EACd,KAAK,CACL,CAAC;wBACH,CAAC;oBACF,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,KAAK,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,SAAS,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;wBACzE,IAAI,CAAC;4BACJ,KAAK,GAAG,GAAG,CAAC;4BACZ,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gCAC7B,SAAS;4BACV,CAAC;4BACD,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;4BACpC,aAAa,EAAE,CAAC;4BAChB,IAAI,WAAW,CAAC,SAAS;gCAAE,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC;4BACrD,IAAI,iBAAiB,EAAE,GAAG,IAAI,EAAE,CAAC;gCAChC,MAAM,OAAO,CAAC;gCACd,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;gCACxD,iBAAiB,GAAG,CAAC,CAAC;4BACvB,CAAC;wBACF,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BAChB,OAAO,CAAC,KAAK,CACZ,8BAA8B,EAC9B,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EACxC,MAAM,EACN,cAAc,EACd,KAAK,CACL,CAAC;wBACH,CAAC;oBACF,CAAC;gBACF,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,aAAa,EAAE,kBAAkB,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;gBAC5G,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC;YAC5C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,KAAK,CACZ,2BAA2B,cAAc,aAAa,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,OAAO,iBAAiB,EAClH,GAAG,CACH,CAAC;gBACF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC/B,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;wBACnB,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;wBAClE,OAAO;oBACR,CAAC;oBACD,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;gBAClC,CAAC;qBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ;oBAAE,KAAK,EAAE,CAAC;qBACzC,CAAC;oBACL,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;oBAChE,OAAO;gBACR,CAAC;YACF,CAAC;QACF,CAAC;QACD,kFAAkF;QAClF,4EAA4E;QAC5E,MAAM,IAAI,KAAK,CACd,gBAAgB,cAAc,aAAa,WAAW,8BAA8B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAC3G,CAAC;IACH,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"copyDb.js","sourceRoot":"","sources":["../../bin/copyDb.ts"],"names":[],"mappings":"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"}
@@ -6,5 +6,11 @@
6
6
  * is still debuggable. Mirrors the clean `error: <message>` output of a forwarded operation.
7
7
  */
8
8
  export declare function formatCliError(error: any): string;
9
+ /**
10
+ * Whether a `-h`/`--help` anywhere in `argv` should print the top-level help. Returns false for the
11
+ * subcommands that own their own `--help` — mcp and agent/chat parse `process.argv.slice(3)`
12
+ * themselves downstream — so `harper mcp --help` reaches the mcp handler instead of this help.
13
+ */
14
+ export declare function wantsTopLevelHelp(argv: readonly string[], service: string | undefined): boolean;
9
15
  declare function harper(): Promise<any>;
10
16
  export { harper };