@parhelia/core 0.1.11008 → 0.1.11014

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 (40) hide show
  1. package/README.md +34 -34
  2. package/dist/components/ui/PlaceholderInput.d.ts +3 -1
  3. package/dist/components/ui/PlaceholderInput.js +11 -6
  4. package/dist/components/ui/PlaceholderInput.js.map +1 -1
  5. package/dist/components/ui/PlaceholderItemSelector.js +4 -4
  6. package/dist/components/ui/PlaceholderItemSelector.js.map +1 -1
  7. package/dist/editor/PictureEditor.d.ts +2 -1
  8. package/dist/editor/PictureEditor.js +5 -1
  9. package/dist/editor/PictureEditor.js.map +1 -1
  10. package/dist/editor/ai/AgentDocumentList.js +1 -1
  11. package/dist/editor/ai/AgentDocumentList.js.map +1 -1
  12. package/dist/editor/ai/AgentTerminal.js +44 -18
  13. package/dist/editor/ai/AgentTerminal.js.map +1 -1
  14. package/dist/editor/ai/ToolCallDisplay.d.ts +3 -0
  15. package/dist/editor/ai/ToolCallDisplay.js +18 -10
  16. package/dist/editor/ai/ToolCallDisplay.js.map +1 -1
  17. package/dist/editor/ai/types.d.ts +3 -0
  18. package/dist/editor/control-center/ControlCenterMenu.js +8 -1
  19. package/dist/editor/control-center/ControlCenterMenu.js.map +1 -1
  20. package/dist/editor/control-center/IndexOverview.js +214 -130
  21. package/dist/editor/control-center/IndexOverview.js.map +1 -1
  22. package/dist/editor/control-center/Setup.js +38 -5
  23. package/dist/editor/control-center/Setup.js.map +1 -1
  24. package/dist/editor/control-center/Status.js +8 -1
  25. package/dist/editor/control-center/Status.js.map +1 -1
  26. package/dist/editor/control-center/setup-steps/SetupOverview.d.ts +1 -1
  27. package/dist/editor/control-center/setup-steps/SetupOverview.js +1 -1
  28. package/dist/editor/media-selector/TreeSelector.js +1 -1
  29. package/dist/editor/media-selector/TreeSelector.js.map +1 -1
  30. package/dist/editor/page-editor-chrome/PictureEditorOverlay.js +10 -1
  31. package/dist/editor/page-editor-chrome/PictureEditorOverlay.js.map +1 -1
  32. package/dist/editor/services/indexService.d.ts +1 -0
  33. package/dist/editor/services/indexService.js +3 -0
  34. package/dist/editor/services/indexService.js.map +1 -1
  35. package/dist/revision.d.ts +2 -2
  36. package/dist/revision.js +2 -2
  37. package/dist/splash-screen/ParheliaAssistantChat.js +1 -1
  38. package/dist/splash-screen/ParheliaAssistantChat.js.map +1 -1
  39. package/dist/types.d.ts +1 -0
  40. package/package.json +1 -1
@@ -1,10 +1,10 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useCallback, useEffect, useState } from "react";
3
3
  import { RefreshCw, ExternalLink, Database, Clock, CheckCircle, AlertCircle, Trash2, ChevronDown, Settings, } from "lucide-react";
4
4
  import { Button } from "../../components/ui/button";
5
5
  import { cn } from "../../lib/utils";
6
6
  import { formatDateOnly, formatDateTime } from "../utils";
7
- import { getCombinedIndexStatus, cleanupBatches, populateCentroids, processCompletedBatches, collectAndUpload, submitStaged, startDirectGeneration, } from "../services/indexService";
7
+ import { getCombinedIndexStatus, cleanupBatches, populateCentroids, processCompletedBatches, collectAndUpload, submitStaged, startDirectGeneration, discardStaged, } from "../services/indexService";
8
8
  import { useEditContext } from "../client/editContext";
9
9
  export function IndexOverview() {
10
10
  const [indexStatus, setIndexStatus] = useState(null);
@@ -21,6 +21,7 @@ export function IndexOverview() {
21
21
  const [isCollecting, setIsCollecting] = useState(false);
22
22
  const [isSubmitting, setIsSubmitting] = useState(false);
23
23
  const [isStartingDirect, setIsStartingDirect] = useState(false);
24
+ const [isDiscarding, setIsDiscarding] = useState(false);
24
25
  const [showAdvanced, setShowAdvanced] = useState(false);
25
26
  const fetchStatus = async () => {
26
27
  try {
@@ -84,6 +85,23 @@ export function IndexOverview() {
84
85
  setIsStartingDirect(false);
85
86
  }
86
87
  };
88
+ const handleDiscard = async () => {
89
+ if (!confirm("Are you sure you want to discard the current rebuild? This will delete all staged files and cannot be undone.")) {
90
+ return;
91
+ }
92
+ try {
93
+ setIsDiscarding(true);
94
+ setError(null);
95
+ await discardStaged();
96
+ await fetchStatus();
97
+ }
98
+ catch (err) {
99
+ setError(err instanceof Error ? err.message : "Failed to discard staged files");
100
+ }
101
+ finally {
102
+ setIsDiscarding(false);
103
+ }
104
+ };
87
105
  const handleCleanup = async () => {
88
106
  try {
89
107
  setIsCleaning(true);
@@ -126,20 +144,31 @@ export function IndexOverview() {
126
144
  setIsFinalizing(false);
127
145
  }
128
146
  };
129
- // Determine if any operation is active that needs faster polling
130
- const isActiveOperation = isCollecting ||
131
- collectionStatus?.isCollecting ||
132
- isSubmitting ||
133
- importStatus?.isImporting ||
134
- centroidsStatus?.isPopulating ||
135
- indexStatus?.rebuilding;
147
+ // Fetch initial status on mount
136
148
  useEffect(() => {
137
149
  fetchStatus();
138
- // Poll more frequently (3s) during active operations, otherwise every 60s
139
- const pollInterval = isActiveOperation ? 3000 : 60000;
140
- const interval = setInterval(fetchStatus, pollInterval);
150
+ }, []);
151
+ // Poll for status updates every 2 seconds while collecting
152
+ useEffect(() => {
153
+ const isCollectingNow = isCollecting || collectionStatus?.isCollecting;
154
+ if (!isCollectingNow)
155
+ return;
156
+ const pollStatus = async () => {
157
+ try {
158
+ const combined = await getCombinedIndexStatus();
159
+ setIndexStatus(combined?.indexStatus || null);
160
+ setStaging(combined?.stagingStatus || null);
161
+ setImportStatus(combined?.importStatus || null);
162
+ setCentroidsStatus(combined?.centroidsStatus || null);
163
+ setCollectionStatus(combined?.collectionStatus || null);
164
+ }
165
+ catch {
166
+ // Silently fail during polling - don't overwrite existing error state
167
+ }
168
+ };
169
+ const interval = setInterval(pollStatus, 2000);
141
170
  return () => clearInterval(interval);
142
- }, [isActiveOperation]);
171
+ }, [isCollecting, collectionStatus?.isCollecting]);
143
172
  const getBatchStatusIcon = (status) => {
144
173
  switch (status?.toLowerCase()) {
145
174
  case "completed":
@@ -170,7 +199,76 @@ export function IndexOverview() {
170
199
  editContext?.updateUrl({ view: "control-center", ccpanel: "setup" });
171
200
  editContext?.switchView("control-center");
172
201
  }, [editContext]);
173
- const getIndexStatusInfo = (isCollecting, isSubmitting, indexStatus, importStatus, centroidsStatus, collectionStatus) => {
202
+ // Subscribe to websocket rebuild status updates
203
+ useEffect(() => {
204
+ if (!editContext?.addSocketMessageListener)
205
+ return;
206
+ const unsubscribe = editContext.addSocketMessageListener((message) => {
207
+ if (message.type === "index-rebuild-status") {
208
+ const payload = message.payload;
209
+ if (!payload)
210
+ return;
211
+ // Update collection status
212
+ if (payload.Phase === "collection") {
213
+ setCollectionStatus((prev) => ({
214
+ isCollecting: payload.IsActive === true,
215
+ status: payload.Status || "",
216
+ startedAt: payload.IsActive
217
+ ? new Date().toISOString()
218
+ : prev?.startedAt,
219
+ itemsProcessed: payload.ItemsProcessed ?? 0,
220
+ languageVersionsProcessed: payload.LanguageVersionsProcessed ?? 0,
221
+ batchesUploaded: payload.BatchesUploaded ?? 0,
222
+ }));
223
+ }
224
+ // Update import status
225
+ if (payload.Phase === "import") {
226
+ setImportStatus((prev) => ({
227
+ isImporting: payload.IsActive === true,
228
+ status: payload.Status || "",
229
+ startedAt: payload.IsActive
230
+ ? new Date().toISOString()
231
+ : prev?.startedAt,
232
+ successCount: payload.SuccessCount ?? 0,
233
+ errorCount: payload.ErrorCount ?? 0,
234
+ recentErrors: payload.RecentErrors || [],
235
+ }));
236
+ }
237
+ // Update centroids status
238
+ if (payload.Phase === "centroids") {
239
+ setCentroidsStatus((prev) => ({
240
+ isPopulating: payload.IsActive === true,
241
+ status: payload.Status || "",
242
+ startedAt: payload.IsActive
243
+ ? new Date().toISOString()
244
+ : prev?.startedAt,
245
+ }));
246
+ }
247
+ }
248
+ });
249
+ return unsubscribe;
250
+ }, [editContext]);
251
+ // Returns index health status only (Ready or configuration errors)
252
+ const getIndexStatus = (indexStatus) => {
253
+ if (indexStatus?.messages != null &&
254
+ indexStatus.messages.length > 0 &&
255
+ indexStatus.messages[0]?.message) {
256
+ return {
257
+ statusLabel: indexStatus.messages[0].message,
258
+ statusClass: "text-red-600",
259
+ hasSettingsIssue: true,
260
+ };
261
+ }
262
+ else {
263
+ return {
264
+ statusLabel: "Ready",
265
+ statusClass: "text-green-600",
266
+ hasSettingsIssue: false,
267
+ };
268
+ }
269
+ };
270
+ // Returns rebuild progress status (or null if no rebuild operation active)
271
+ const getRebuildStatus = (isCollecting, isSubmitting, indexStatus, importStatus, centroidsStatus, collectionStatus) => {
174
272
  const batches = indexStatus?.batches || [];
175
273
  const inProgress = batches.some((b) => {
176
274
  const s = (b.status || "").toLowerCase();
@@ -182,33 +280,35 @@ export function IndexOverview() {
182
280
  // Build a detailed status label from the backend status
183
281
  let statusLabel = collectionStatus?.status || "Collecting items";
184
282
  const details = [];
185
- if (collectionStatus?.itemsProcessed && collectionStatus.itemsProcessed > 0) {
283
+ if (collectionStatus?.itemsProcessed &&
284
+ collectionStatus.itemsProcessed > 0) {
186
285
  details.push(`${collectionStatus.itemsProcessed.toLocaleString()} items`);
187
286
  }
188
- if (collectionStatus?.languageVersionsProcessed && collectionStatus.languageVersionsProcessed > 0) {
287
+ if (collectionStatus?.languageVersionsProcessed &&
288
+ collectionStatus.languageVersionsProcessed > 0) {
189
289
  details.push(`${collectionStatus.languageVersionsProcessed.toLocaleString()} versions`);
190
290
  }
191
- if (collectionStatus?.batchesUploaded && collectionStatus.batchesUploaded > 0) {
291
+ if (collectionStatus?.batchesUploaded &&
292
+ collectionStatus.batchesUploaded > 0) {
192
293
  details.push(`${collectionStatus.batchesUploaded} batches uploaded`);
193
294
  }
194
- if (details.length > 0 && !statusLabel.includes("items")) {
195
- statusLabel = `${statusLabel} (${details.join(", ")})`;
196
- }
197
295
  return {
198
296
  statusLabel,
199
297
  statusClass: "text-indigo-600",
200
- hasSettingsIssue: false,
201
298
  errorCount: undefined,
202
299
  recentErrors: undefined,
300
+ showSpinner: true,
301
+ progressDetails: details.length > 0 ? details : undefined,
203
302
  };
204
303
  }
205
304
  else if (isSubmitting || inProgress) {
206
305
  return {
207
306
  statusLabel: "Generating Embeddings",
208
307
  statusClass: "text-blue-600",
209
- hasSettingsIssue: false,
210
308
  errorCount: undefined,
211
309
  recentErrors: undefined,
310
+ showSpinner: false,
311
+ progressDetails: undefined,
212
312
  };
213
313
  }
214
314
  else if (importStatus?.isImporting) {
@@ -216,132 +316,116 @@ export function IndexOverview() {
216
316
  return {
217
317
  statusLabel: importStatus.status || "Importing embeddings",
218
318
  statusClass: hasErrors ? "text-orange-600" : "text-purple-600",
219
- hasSettingsIssue: false,
220
319
  errorCount: importStatus.errorCount,
221
320
  recentErrors: importStatus.recentErrors,
321
+ showSpinner: false,
322
+ progressDetails: undefined,
222
323
  };
223
324
  }
224
325
  else if (centroidsStatus?.isPopulating) {
225
326
  return {
226
327
  statusLabel: centroidsStatus.status || "Populating centroids",
227
328
  statusClass: "text-pink-600",
228
- hasSettingsIssue: false,
229
329
  errorCount: undefined,
230
330
  recentErrors: undefined,
331
+ showSpinner: false,
332
+ progressDetails: undefined,
231
333
  };
232
334
  }
233
335
  else if (indexStatus?.rebuilding) {
234
336
  return {
235
337
  statusLabel: "Rebuilding",
236
338
  statusClass: "text-orange-600",
237
- hasSettingsIssue: false,
238
- errorCount: undefined,
239
- recentErrors: undefined,
240
- };
241
- }
242
- else if (indexStatus?.messages != null &&
243
- indexStatus.messages.length > 0 &&
244
- indexStatus.messages[0]?.message) {
245
- return {
246
- statusLabel: indexStatus.messages[0].message,
247
- statusClass: "text-red-600",
248
- hasSettingsIssue: true,
249
- errorCount: undefined,
250
- recentErrors: undefined,
251
- };
252
- }
253
- else {
254
- return {
255
- statusLabel: "Ready",
256
- statusClass: "text-green-600",
257
- hasSettingsIssue: false,
258
339
  errorCount: undefined,
259
340
  recentErrors: undefined,
341
+ showSpinner: false,
342
+ progressDetails: undefined,
260
343
  };
261
344
  }
345
+ return null;
262
346
  };
263
- return (_jsx("div", { className: "flex h-full items-stretch", children: _jsxs("div", { className: "flex min-w-96 flex-col gap-4 p-4", children: [_jsxs("div", { className: "flex items-center justify-between gap-4 border-b border-gray-200 pb-2", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Database, { className: "h-5 w-5", strokeWidth: 1 }), _jsx("span", { className: "font-semibold", children: "Search Index" })] }), _jsx("div", { className: "flex items-center gap-2", children: (() => {
264
- const stagedCount = staging?.fileCount ?? 0;
265
- const batches = indexStatus?.batches || [];
266
- const completedCount = batches.filter((b) => (b.status || "").toLowerCase() === "completed").length;
267
- const inProgressCount = batches.filter((b) => {
268
- const s = (b.status || "").toLowerCase();
269
- return (s === "submitted" || s === "processing" || s === "queued");
270
- }).length;
271
- if (isCollecting ||
272
- collectionStatus?.isCollecting ||
273
- isSubmitting ||
274
- inProgressCount > 0 ||
275
- indexStatus?.rebuilding ||
276
- importStatus?.isImporting ||
277
- centroidsStatus?.isPopulating) {
278
- return null;
279
- }
280
- else if (stagedCount > 0) {
281
- const batchCost = staging?.estimatedBatchCost ?? staging?.estimatedCost ?? 0;
282
- const directCost = staging?.estimatedDirectCost ?? 0;
283
- return (_jsxs("div", { className: "flex items-center gap-2", children: [_jsxs("button", { onClick: handleSubmitStaged, disabled: isSubmitting || stagedCount === 0, className: cn("flex items-center gap-2 rounded px-3 py-1.5 text-sm font-medium transition-colors", {
284
- "bg-amber-600 text-white hover:bg-amber-700": !isSubmitting && stagedCount > 0,
285
- "cursor-not-allowed bg-gray-300 text-gray-500": isSubmitting || stagedCount === 0,
286
- }), children: [_jsx(CheckCircle, { className: "h-4 w-4", strokeWidth: 1 }), isSubmitting
287
- ? "Submitting..."
288
- : `Batch (~$${batchCost.toFixed(2)})`] }), _jsxs("button", { onClick: handleStartDirect, disabled: isStartingDirect || stagedCount === 0, className: cn("flex items-center gap-2 rounded px-3 py-1.5 text-sm font-medium transition-colors", {
289
- "bg-rose-600 text-white hover:bg-rose-700": !isStartingDirect && stagedCount > 0,
290
- "cursor-not-allowed bg-gray-300 text-gray-500": isStartingDirect || stagedCount === 0,
291
- }), children: [_jsx(CheckCircle, { className: "h-4 w-4", strokeWidth: 1 }), isStartingDirect
292
- ? "Starting..."
293
- : `Direct (~$${directCost.toFixed(2)})`] })] }));
294
- }
295
- else if (completedCount > 0) {
296
- return (_jsxs("button", { onClick: handleFinalize, disabled: isFinalizing, className: cn("flex items-center gap-2 rounded px-3 py-1.5 text-sm font-medium transition-colors", {
297
- "bg-green-600 text-white hover:bg-green-700": !isFinalizing,
298
- "cursor-not-allowed bg-gray-300 text-gray-500": isFinalizing,
299
- }), children: [_jsx(CheckCircle, { className: "h-4 w-4", strokeWidth: 1 }), isFinalizing ? "Importing..." : "Import embeddings"] }));
300
- }
301
- const collectingNow = isCollecting || collectionStatus?.isCollecting;
302
- return (_jsxs("button", { onClick: handleCollectAndUpload, disabled: collectingNow, className: cn("flex items-center gap-2 rounded px-3 py-1.5 text-sm font-medium transition-colors", {
303
- "bg-indigo-600 text-white hover:bg-indigo-700": !collectingNow,
304
- "cursor-not-allowed bg-gray-300 text-gray-500": collectingNow,
305
- }), children: [_jsx(RefreshCw, { className: "h-4 w-4", strokeWidth: 1 }), collectingNow ? "Collecting..." : "Rebuild Index"] }));
306
- })() })] }), error && (_jsx("div", { className: "rounded border border-red-200 bg-red-50 p-3 text-sm text-red-700", children: error })), isLoading && !indexStatus ? (_jsx("div", { className: "flex items-center justify-center py-8", children: _jsx(RefreshCw, { className: "h-6 w-6 animate-spin text-gray-400", strokeWidth: 1 }) })) : indexStatus ? (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "rounded bg-gray-50 p-3", children: [_jsx("div", { className: "text-sm text-gray-600", children: "Indexed Items" }), _jsx("div", { className: "text-2xl font-semibold", children: indexStatus.numberOfIndexedItems?.toLocaleString() ?? "0" })] }), _jsxs("div", { className: "rounded bg-gray-50 p-3", children: [_jsx("div", { className: "text-sm text-gray-600", children: "Status" }), (() => {
307
- const { statusLabel, statusClass, hasSettingsIssue, errorCount, recentErrors, } = getIndexStatusInfo(isCollecting, isSubmitting, indexStatus, importStatus, centroidsStatus, collectionStatus);
308
- return (_jsxs("div", { className: "space-y-1", children: [_jsxs("div", { className: cn("flex items-center gap-2 text-sm font-medium", statusClass), children: [statusLabel, hasSettingsIssue && (_jsxs(Button, { size: "sm", variant: "outline", onClick: goToSettings, children: [_jsx(ExternalLink, { className: "h-4 w-4", strokeWidth: 1 }), "Settings"] }))] }), errorCount !== undefined && errorCount > 0 && (_jsxs("div", { className: "text-xs text-orange-600", children: [errorCount, " error", errorCount !== 1 ? "s" : "", recentErrors && recentErrors.length > 0 && (_jsxs("details", { className: "mt-1", children: [_jsx("summary", { className: "cursor-pointer hover:underline", children: "Show recent errors" }), _jsx("ul", { className: "mt-1 list-disc pl-5 space-y-0.5", children: recentErrors.map((error, idx) => (_jsx("li", { className: "text-xs", children: error }, idx))) })] }))] }))] }));
309
- })()] })] }), (() => {
310
- const stagedCount = staging?.fileCount ?? 0;
311
- const batches = indexStatus?.batches || [];
312
- const completedCount = batches.filter((b) => (b.status || "").toLowerCase() === "completed").length;
313
- const inProgressCount = batches.filter((b) => {
314
- const s = (b.status || "").toLowerCase();
315
- return (s === "submitted" || s === "processing" || s === "queued");
316
- }).length;
317
- // Check if an operation is in progress (same logic as header buttons)
318
- const operationInProgress = isCollecting ||
319
- collectionStatus?.isCollecting ||
320
- isSubmitting ||
321
- isStartingDirect ||
322
- inProgressCount > 0 ||
323
- indexStatus?.rebuilding ||
324
- importStatus?.isImporting ||
325
- centroidsStatus?.isPopulating;
326
- // Show staging section if there are staged files
327
- if (stagedCount > 0) {
328
- return (_jsxs("div", { className: "rounded bg-gray-50 p-3", children: [_jsxs("div", { className: "flex items-center justify-between text-sm text-gray-600", children: [_jsx("span", { children: "Staged Files" }), _jsx("span", { children: stagedCount })] }), _jsxs("div", { className: "mt-1 flex items-center justify-between text-sm text-gray-600", children: [_jsx("span", { children: "Estimated Input Tokens" }), _jsx("span", { children: (staging?.estimatedInputTokens ?? 0).toLocaleString() })] }), _jsxs("div", { className: "mt-1 flex items-center justify-between text-sm text-gray-600", children: [_jsx("span", { children: "Estimated Batch Cost" }), _jsxs("span", { children: ["~$", (staging?.estimatedBatchCost ??
329
- staging?.estimatedCost ??
330
- 0).toFixed(2)] })] }), _jsxs("div", { className: "mt-1 flex items-center justify-between text-sm text-gray-600", children: [_jsx("span", { children: "Estimated Direct Cost" }), _jsxs("span", { children: ["~$", (staging?.estimatedDirectCost ?? 0).toFixed(2)] })] }), !operationInProgress && (_jsxs("div", { className: "mt-2 text-xs text-gray-700", children: ["Next step:", " ", _jsx("span", { className: "font-medium", children: "Choose: Batch or Direct generation" })] }))] }));
331
- }
332
- // Show next step info even when no staged files (but not "Rebuild Index")
333
- const nextStep = operationInProgress
334
- ? ""
335
- : inProgressCount > 0
336
- ? "Generating Embeddings"
337
- : completedCount > 0
338
- ? "Import embeddings"
339
- : ""; // Don't show "Rebuild Index" as next step
340
- if (nextStep) {
341
- return (_jsx("div", { className: "rounded bg-gray-50 p-3", children: _jsxs("div", { className: "text-xs text-gray-700", children: ["Next step: ", _jsx("span", { className: "font-medium", children: nextStep })] }) }));
342
- }
343
- return null;
344
- })(), indexStatus.batches && indexStatus.batches.length > 0 && (_jsxs("div", { children: [_jsx("h3", { className: "mb-2 text-sm font-medium text-gray-700", children: "Recent Batches" }), _jsx("div", { className: "space-y-2 overflow-y-auto", children: indexStatus.batches.map((batch) => (_jsxs("div", { className: "rounded bg-gray-50 p-2 text-sm", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-2", children: [getBatchStatusIcon(batch.status), _jsx("span", { className: `rounded px-2 py-0.5 text-xs font-medium ${getBatchStatusLabelStyles(batch.status)}`, children: batch.status ?? "Unknown" }), _jsx("span", { className: "font-mono text-xs", children: batch.id?.slice(-8) ?? "Unknown" })] }), _jsxs("div", { className: "text-right", children: [_jsxs("div", { className: "text-gray-600", children: [batch.numberOfItems ?? 0, " items"] }), _jsx("div", { className: "text-xs text-gray-500", children: batch.created
347
+ return (_jsx("div", { className: "flex h-full items-stretch select-text", children: _jsxs("div", { className: "flex min-w-96 flex-col gap-4 p-4", children: [_jsxs("div", { className: "flex items-center gap-2 border-b border-gray-200 pb-2", children: [_jsx(Database, { className: "h-5 w-5", strokeWidth: 1 }), _jsx("span", { className: "font-semibold", children: "Search Index" })] }), error && (_jsx("div", { className: "rounded border border-red-200 bg-red-50 p-3 text-sm text-red-700", children: error })), isLoading && !indexStatus ? (_jsx("div", { className: "flex items-center justify-center py-8", children: _jsx(RefreshCw, { className: "h-6 w-6 animate-spin text-gray-400", strokeWidth: 1 }) })) : indexStatus ? (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "rounded bg-gray-50 p-3", children: [_jsx("div", { className: "text-sm text-gray-600", children: "Indexed Items" }), _jsx("div", { className: "text-2xl font-semibold", children: indexStatus.numberOfIndexedItems?.toLocaleString() ?? "0" })] }), _jsxs("div", { className: "rounded bg-gray-50 p-3", children: [_jsx("div", { className: "text-sm text-gray-600", children: "Status" }), (() => {
348
+ const { statusLabel, statusClass, hasSettingsIssue } = getIndexStatus(indexStatus);
349
+ return (_jsx("div", { className: "space-y-1", children: _jsxs("div", { className: cn("flex items-center gap-2 text-sm font-medium", statusClass), children: [statusLabel, hasSettingsIssue && (_jsxs(Button, { size: "sm", variant: "outline", onClick: goToSettings, children: [_jsx(ExternalLink, { className: "h-4 w-4", strokeWidth: 1 }), "Settings"] }))] }) }));
350
+ })()] })] }), _jsxs("div", { className: "rounded-lg border border-gray-200 bg-white p-4", children: [_jsx("h3", { className: "mb-3 text-sm font-semibold text-gray-700", children: "Rebuild Index" }), _jsx("div", { className: "space-y-3", children: (() => {
351
+ // Get rebuild status
352
+ const rebuildStatus = getRebuildStatus(isCollecting, isSubmitting, indexStatus, importStatus, centroidsStatus, collectionStatus);
353
+ const stagedCount = staging?.fileCount ?? 0;
354
+ const batches = indexStatus?.batches || [];
355
+ const completedCount = batches.filter((b) => (b.status || "").toLowerCase() === "completed").length;
356
+ const inProgressCount = batches.filter((b) => {
357
+ const s = (b.status || "").toLowerCase();
358
+ return (s === "submitted" || s === "processing" || s === "queued");
359
+ }).length;
360
+ // Check if an operation is in progress
361
+ const operationInProgress = isCollecting ||
362
+ collectionStatus?.isCollecting ||
363
+ isSubmitting ||
364
+ isStartingDirect ||
365
+ isDiscarding ||
366
+ inProgressCount > 0 ||
367
+ indexStatus?.rebuilding ||
368
+ importStatus?.isImporting ||
369
+ centroidsStatus?.isPopulating;
370
+ // Rebuild status display
371
+ const rebuildStatusDisplay = rebuildStatus ? (_jsx("div", { className: "rounded bg-gray-50 p-3", children: _jsxs("div", { className: "space-y-1", children: [_jsxs("div", { className: cn("flex items-center gap-2 text-sm font-medium", rebuildStatus.statusClass), children: [rebuildStatus.showSpinner && (_jsx(RefreshCw, { className: "h-4 w-4 animate-spin", strokeWidth: 1 })), rebuildStatus.statusLabel] }), rebuildStatus.progressDetails &&
372
+ rebuildStatus.progressDetails.length > 0 && (_jsx("div", { className: "text-xs text-gray-600", children: rebuildStatus.progressDetails.join(" ") })), rebuildStatus.errorCount !== undefined &&
373
+ rebuildStatus.errorCount > 0 && (_jsxs("div", { className: "text-xs text-orange-600", children: [rebuildStatus.errorCount, " error", rebuildStatus.errorCount !== 1 ? "s" : "", rebuildStatus.recentErrors &&
374
+ rebuildStatus.recentErrors.length > 0 && (_jsxs("details", { className: "mt-1", children: [_jsx("summary", { className: "cursor-pointer hover:underline", children: "Show recent errors" }), _jsx("ul", { className: "mt-1 list-disc space-y-0.5 pl-5", children: rebuildStatus.recentErrors.map((error, idx) => (_jsx("li", { className: "text-xs", children: error }, idx))) })] }))] }))] }) })) : null;
375
+ // Action buttons
376
+ const actionButtons = (() => {
377
+ if (isCollecting ||
378
+ collectionStatus?.isCollecting ||
379
+ isSubmitting ||
380
+ isStartingDirect ||
381
+ isDiscarding ||
382
+ inProgressCount > 0 ||
383
+ indexStatus?.rebuilding ||
384
+ importStatus?.isImporting ||
385
+ centroidsStatus?.isPopulating) {
386
+ return null;
387
+ }
388
+ else if (stagedCount > 0) {
389
+ const batchCost = staging?.estimatedBatchCost ??
390
+ staging?.estimatedCost ??
391
+ 0;
392
+ const directCost = staging?.estimatedDirectCost ?? 0;
393
+ return (_jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsxs("button", { onClick: handleSubmitStaged, disabled: isSubmitting || stagedCount === 0, className: cn("flex items-center gap-2 rounded px-3 py-1.5 text-sm font-medium transition-colors", {
394
+ "cursor-pointer bg-amber-600 text-white hover:bg-amber-700": !isSubmitting && stagedCount > 0,
395
+ "cursor-not-allowed bg-gray-300 text-gray-500": isSubmitting || stagedCount === 0,
396
+ }), children: [_jsx(CheckCircle, { className: "h-4 w-4", strokeWidth: 1 }), isSubmitting
397
+ ? "Submitting..."
398
+ : `Batch (~$${batchCost.toFixed(2)})`] }), _jsxs("button", { onClick: handleStartDirect, disabled: isStartingDirect || stagedCount === 0, className: cn("flex items-center gap-2 rounded px-3 py-1.5 text-sm font-medium transition-colors", {
399
+ "cursor-pointer bg-rose-600 text-white hover:bg-rose-700": !isStartingDirect && stagedCount > 0,
400
+ "cursor-not-allowed bg-gray-300 text-gray-500": isStartingDirect || stagedCount === 0,
401
+ }), children: [_jsx(CheckCircle, { className: "h-4 w-4", strokeWidth: 1 }), isStartingDirect
402
+ ? "Starting..."
403
+ : `Direct (~$${directCost.toFixed(2)})`] }), _jsxs("button", { onClick: handleDiscard, disabled: isDiscarding || stagedCount === 0, className: cn("flex items-center gap-2 rounded px-3 py-1.5 text-sm font-medium transition-colors", {
404
+ "cursor-pointer bg-gray-600 text-white hover:bg-gray-700": !isDiscarding && stagedCount > 0,
405
+ "cursor-not-allowed bg-gray-300 text-gray-500": isDiscarding || stagedCount === 0,
406
+ }), children: [_jsx(Trash2, { className: "h-4 w-4", strokeWidth: 1 }), isDiscarding ? "Discarding..." : "Discard"] })] }));
407
+ }
408
+ else if (completedCount > 0) {
409
+ return (_jsxs("button", { onClick: handleFinalize, disabled: isFinalizing, className: cn("flex items-center gap-2 rounded px-3 py-1.5 text-sm font-medium transition-colors", {
410
+ "cursor-pointer bg-green-600 text-white hover:bg-green-700": !isFinalizing,
411
+ "cursor-not-allowed bg-gray-300 text-gray-500": isFinalizing,
412
+ }), children: [_jsx(CheckCircle, { className: "h-4 w-4", strokeWidth: 1 }), isFinalizing ? "Importing..." : "Import embeddings"] }));
413
+ }
414
+ const collectingNow = isCollecting || collectionStatus?.isCollecting;
415
+ return (_jsxs("button", { onClick: handleCollectAndUpload, disabled: collectingNow, className: cn("flex items-center gap-2 rounded px-3 py-1.5 text-sm font-medium transition-colors", {
416
+ "cursor-pointer bg-indigo-600 text-white hover:bg-indigo-700": !collectingNow,
417
+ "cursor-not-allowed bg-gray-300 text-gray-500": collectingNow,
418
+ }), children: [_jsx(RefreshCw, { className: "h-4 w-4", strokeWidth: 1 }), collectingNow ? "Collecting..." : "Rebuild Index"] }));
419
+ })();
420
+ // Staging stats
421
+ const stagingStats = stagedCount > 0 ? (_jsxs("div", { className: "rounded bg-gray-50 p-3", children: [_jsxs("div", { className: "flex items-center justify-between text-sm text-gray-600", children: [_jsx("span", { children: "Staged Files" }), _jsx("span", { children: stagedCount })] }), staging?.itemsProcessed !== undefined &&
422
+ staging.itemsProcessed > 0 && (_jsxs("div", { className: "mt-1 flex items-center justify-between text-sm text-gray-600", children: [_jsx("span", { children: "Items" }), _jsx("span", { children: staging.itemsProcessed.toLocaleString() })] })), _jsxs("div", { className: "mt-1 flex items-center justify-between text-sm text-gray-600", children: [_jsx("span", { children: "Estimated Input Tokens" }), _jsx("span", { children: (staging?.estimatedInputTokens ?? 0).toLocaleString() })] }), _jsxs("div", { className: "mt-1 flex items-center justify-between text-sm text-gray-600", children: [_jsx("span", { children: "Estimated Batch Cost" }), _jsxs("span", { children: ["~$", (staging?.estimatedBatchCost ??
423
+ staging?.estimatedCost ??
424
+ 0).toFixed(2)] })] }), _jsxs("div", { className: "mt-1 flex items-center justify-between text-sm text-gray-600", children: [_jsx("span", { children: "Estimated Direct Cost" }), _jsxs("span", { children: ["~$", (staging?.estimatedDirectCost ?? 0).toFixed(2)] })] })] })) : null;
425
+ // Next step info
426
+ const nextStepInfo = !operationInProgress ? (stagedCount > 0 ? (_jsxs("div", { className: "text-xs text-gray-700", children: ["Next step:", " ", _jsx("span", { className: "font-medium", children: "Choose: Batch or Direct generation" })] })) : inProgressCount > 0 ? (_jsxs("div", { className: "text-xs text-gray-700", children: ["Next step:", " ", _jsx("span", { className: "font-medium", children: "Generating Embeddings" })] })) : completedCount > 0 ? (_jsxs("div", { className: "text-xs text-gray-700", children: ["Next step:", " ", _jsx("span", { className: "font-medium", children: "Import embeddings" })] })) : null) : null;
427
+ return (_jsxs(_Fragment, { children: [rebuildStatusDisplay, actionButtons && (_jsx("div", { className: "flex flex-wrap items-center gap-2", children: actionButtons })), stagingStats, nextStepInfo && (_jsx("div", { className: "text-xs text-gray-700", children: nextStepInfo }))] }));
428
+ })() })] }), indexStatus.batches && indexStatus.batches.length > 0 && (_jsxs("div", { children: [_jsx("h3", { className: "mb-2 text-sm font-medium text-gray-700", children: "Recent Batches" }), _jsx("div", { className: "space-y-2 overflow-y-auto", children: indexStatus.batches.map((batch) => (_jsxs("div", { className: "rounded bg-gray-50 p-2 text-sm", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-2", children: [getBatchStatusIcon(batch.status), _jsx("span", { className: `rounded px-2 py-0.5 text-xs font-medium ${getBatchStatusLabelStyles(batch.status)}`, children: batch.status ?? "Unknown" }), _jsx("span", { className: "font-mono text-xs", children: batch.id?.slice(-8) ?? "Unknown" })] }), _jsxs("div", { className: "text-right", children: [_jsxs("div", { className: "text-gray-600", children: [batch.numberOfItems ?? 0, " items"] }), _jsx("div", { className: "text-xs text-gray-500", children: batch.created
345
429
  ? formatDateOnly(new Date(batch.created))
346
430
  : "Unknown" })] })] }), ((batch.firstErrors && batch.firstErrors.length > 0) ||
347
431
  batch.errorMessage) && (_jsx("div", { className: "mt-1 text-xs text-red-600", children: (() => {
@@ -359,13 +443,13 @@ export function IndexOverview() {
359
443
  : "";
360
444
  return `${messages.join(" · ")}${suffix}`;
361
445
  })() }))] }, batch.id))) })] })), indexStatus.latestEmbeddedItems &&
362
- indexStatus.latestEmbeddedItems.length > 0 && (_jsxs("div", { children: [_jsx("h3", { className: "mb-2 text-sm font-medium text-gray-700", children: "Latest Embeddings Generated" }), _jsx("div", { className: "max-h-72 space-y-1 overflow-y-auto", children: indexStatus.latestEmbeddedItems.slice(0, 50).map((it) => (_jsxs("div", { className: "flex items-center justify-between rounded bg-gray-50 p-2 text-sm", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("div", { className: "truncate font-medium", children: it.name || it.itemId.slice(-8) }), it.path && (_jsx("div", { className: "truncate text-xs text-gray-500", children: it.path }))] }), _jsx("div", { className: "ml-2 shrink-0 text-xs text-gray-500", children: formatDateTime(new Date(it.created)) })] }, it.itemId + it.created))) })] })), _jsxs("div", { className: "border-t border-gray-200 pt-4", children: [_jsxs("button", { onClick: () => setShowAdvanced(!showAdvanced), className: "flex w-full items-center justify-between text-sm text-gray-600 hover:text-gray-900", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Settings, { className: "h-4 w-4", strokeWidth: 1 }), _jsx("span", { className: "font-medium", children: "Advanced Settings" })] }), _jsx(ChevronDown, { className: cn("h-4 w-4 transition-transform duration-200", showAdvanced ? "rotate-180" : ""), strokeWidth: 1 })] }), _jsx("div", { className: cn("grid overflow-hidden transition-[grid-template-rows] duration-200", showAdvanced ? "grid-rows-[1fr]" : "grid-rows-[0fr]"), children: _jsx("div", { className: "min-h-0 overflow-hidden", children: _jsxs("div", { className: "mt-4 space-y-4", children: [_jsxs("div", { className: "rounded-lg border border-gray-200 bg-gray-50 p-4", children: [_jsx("h4", { className: "mb-2 text-sm font-medium text-gray-700", children: "Centroids Configuration" }), _jsx("p", { className: "mb-3 text-xs text-gray-500", children: "Centroids improve search performance by clustering embeddings. Higher values (e.g., 1024) provide better accuracy for large indexes. Only needed after importing new embeddings." }), _jsxs("div", { className: "flex items-center gap-3", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("label", { htmlFor: "kCentroids", className: "text-sm text-gray-600", children: "K Centroids:" }), _jsx("input", { id: "kCentroids", type: "number", min: 1, value: kCentroids, onChange: (e) => setKCentroids(parseInt(e.target.value) || 1024), className: "w-24 rounded border border-gray-300 px-2 py-1.5 text-sm focus:border-purple-500 focus:outline-none focus:ring-1 focus:ring-purple-500" })] }), _jsxs("button", { onClick: handlePopulateCentroids, disabled: centroidsStatus?.isPopulating || isPopulating, className: cn("flex items-center gap-2 rounded px-3 py-1.5 text-sm font-medium transition-colors", {
363
- "bg-purple-500 text-white hover:bg-purple-600": !centroidsStatus?.isPopulating && !isPopulating,
446
+ indexStatus.latestEmbeddedItems.length > 0 && (_jsxs("div", { children: [_jsx("h3", { className: "mb-2 text-sm font-medium text-gray-700", children: "Latest Embeddings Generated" }), _jsx("div", { className: "max-h-72 space-y-1 overflow-y-auto", children: indexStatus.latestEmbeddedItems.slice(0, 50).map((it) => (_jsxs("div", { className: "flex items-center justify-between rounded bg-gray-50 p-2 text-sm", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("div", { className: "truncate font-medium", children: it.name || it.itemId.slice(-8) }), it.path && (_jsx("div", { className: "truncate text-xs text-gray-500", children: it.path }))] }), _jsx("div", { className: "ml-2 shrink-0 text-xs text-gray-500", children: formatDateTime(new Date(it.created)) })] }, it.itemId + it.created))) })] })), _jsxs("div", { className: "border-t border-gray-200 pt-4", children: [_jsxs("button", { onClick: () => setShowAdvanced(!showAdvanced), className: "flex w-full items-center justify-between text-sm text-gray-600 hover:text-gray-900", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Settings, { className: "h-4 w-4", strokeWidth: 1 }), _jsx("span", { className: "font-medium", children: "Advanced Settings" })] }), _jsx(ChevronDown, { className: cn("h-4 w-4 transition-transform duration-200", showAdvanced ? "rotate-180" : ""), strokeWidth: 1 })] }), _jsx("div", { className: cn("grid overflow-hidden transition-[grid-template-rows] duration-200", showAdvanced ? "grid-rows-[1fr]" : "grid-rows-[0fr]"), children: _jsx("div", { className: "min-h-0 overflow-hidden", children: _jsxs("div", { className: "mt-4 space-y-4", children: [_jsxs("div", { className: "rounded-lg border border-gray-200 bg-gray-50 p-4", children: [_jsx("h4", { className: "mb-2 text-sm font-medium text-gray-700", children: "Centroids Configuration" }), _jsx("p", { className: "mb-3 text-xs text-gray-500", children: "Centroids improve search performance by clustering embeddings. Higher values (e.g., 1024) provide better accuracy for large indexes. Only needed after importing new embeddings." }), _jsxs("div", { className: "flex items-center gap-3", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("label", { htmlFor: "kCentroids", className: "text-sm text-gray-600", children: "K Centroids:" }), _jsx("input", { id: "kCentroids", type: "number", min: 1, value: kCentroids, onChange: (e) => setKCentroids(parseInt(e.target.value) || 1024), className: "w-24 rounded border border-gray-300 px-2 py-1.5 text-sm focus:border-purple-500 focus:ring-1 focus:ring-purple-500 focus:outline-none" })] }), _jsxs("button", { onClick: handlePopulateCentroids, disabled: centroidsStatus?.isPopulating || isPopulating, className: cn("flex items-center gap-2 rounded px-3 py-1.5 text-sm font-medium transition-colors", {
447
+ "cursor-pointer bg-purple-500 text-white hover:bg-purple-600": !centroidsStatus?.isPopulating && !isPopulating,
364
448
  "cursor-not-allowed bg-gray-300 text-gray-500": centroidsStatus?.isPopulating || isPopulating,
365
449
  }), children: [_jsx(Database, { className: "h-4 w-4", strokeWidth: 1 }), centroidsStatus?.isPopulating || isPopulating
366
450
  ? centroidsStatus?.status || "Populating..."
367
451
  : "Populate Centroids"] })] })] }), _jsxs("div", { className: "rounded-lg border border-gray-200 bg-gray-50 p-4", children: [_jsx("h4", { className: "mb-2 text-sm font-medium text-gray-700", children: "Maintenance" }), _jsx("p", { className: "mb-3 text-xs text-gray-500", children: "Clean up completed batch files from storage. This removes temporary files used during embedding generation." }), _jsxs("button", { onClick: handleCleanup, disabled: isCleaning, className: cn("flex items-center gap-2 rounded px-3 py-1.5 text-sm font-medium transition-colors", {
368
- "bg-gray-200 text-gray-700 hover:bg-gray-300": !isCleaning,
452
+ "cursor-pointer bg-gray-200 text-gray-700 hover:bg-gray-300": !isCleaning,
369
453
  "cursor-not-allowed bg-gray-300 text-gray-500": isCleaning,
370
454
  }), children: [_jsx(Trash2, { className: "h-4 w-4", strokeWidth: 1 }), isCleaning ? "Cleaning..." : "Cleanup Batches"] })] })] }) }) })] })] })) : null] }) }));
371
455
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IndexOverview.js","sourceRoot":"","sources":["../../../src/editor/control-center/IndexOverview.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IndexOverview.js","sourceRoot":"","sources":["../../../src/editor/control-center/IndexOverview.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EACL,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,KAAK,EACL,WAAW,EACX,WAAW,EACX,MAAM,EACN,WAAW,EACX,QAAQ,GACT,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAQ1D,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,YAAY,EACZ,qBAAqB,EACrB,aAAa,GACd,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,UAAU,aAAa;IAC3B,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAC;IACzE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAS,IAAI,CAAC,CAAC;IAC3D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACxD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAuB,IAAI,CAAC,CAAC;IACnE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAsB,IAAI,CAAC,CAAC;IAC5E,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GACzC,QAAQ,CAAyB,IAAI,CAAC,CAAC;IACzC,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAC3C,QAAQ,CAA0B,IAAI,CAAC,CAAC;IAC1C,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExD,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;QAC7B,IAAI,CAAC;YACH,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,MAAM,QAAQ,GAAG,MAAM,sBAAsB,EAAE,CAAC;YAChD,cAAc,CAAC,QAAQ,EAAE,WAAW,IAAI,IAAI,CAAC,CAAC;YAC9C,UAAU,CAAE,QAAQ,EAAE,aAAsC,IAAI,IAAI,CAAC,CAAC;YACtE,eAAe,CAAE,QAAQ,EAAE,YAAoC,IAAI,IAAI,CAAC,CAAC;YACzE,kBAAkB,CACf,QAAQ,EAAE,eAA0C,IAAI,IAAI,CAC9D,CAAC;YACF,mBAAmB,CAChB,QAAQ,EAAE,gBAA4C,IAAI,IAAI,CAChE,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CACN,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CACpE,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,sBAAsB,GAAG,KAAK,IAAI,EAAE;QACxC,IAAI,CAAC;YACH,eAAe,CAAC,IAAI,CAAC,CAAC;YACtB,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,MAAM,gBAAgB,EAAE,CAAC;YACzB,MAAM,WAAW,EAAE,CAAC;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CACN,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CACpE,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,eAAe,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,KAAK,IAAI,EAAE;QACpC,IAAI,CAAC;YACH,eAAe,CAAC,IAAI,CAAC,CAAC;YACtB,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,MAAM,YAAY,EAAE,CAAC;YACrB,MAAM,WAAW,EAAE,CAAC;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CACN,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B,CACrE,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,eAAe,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;QACnC,IAAI,CAAC;YACH,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,MAAM,qBAAqB,EAAE,CAAC;YAC9B,MAAM,WAAW,EAAE,CAAC;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CACN,GAAG,YAAY,KAAK;gBAClB,CAAC,CAAC,GAAG,CAAC,OAAO;gBACb,CAAC,CAAC,mCAAmC,CACxC,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;QAC/B,IACE,CAAC,OAAO,CACN,+GAA+G,CAChH,EACD,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,eAAe,CAAC,IAAI,CAAC,CAAC;YACtB,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,MAAM,aAAa,EAAE,CAAC;YACtB,MAAM,WAAW,EAAE,CAAC;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CACN,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,gCAAgC,CACtE,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,eAAe,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;QAC/B,IAAI,CAAC;YACH,aAAa,CAAC,IAAI,CAAC,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,MAAM,cAAc,EAAE,CAAC;YACvB,MAAM,WAAW,EAAE,CAAC;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CACN,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,2BAA2B,CACjE,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAAG,KAAK,IAAI,EAAE;QACzC,IAAI,CAAC;YACH,eAAe,CAAC,IAAI,CAAC,CAAC;YACtB,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,MAAM,iBAAiB,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC;YAC5C,MAAM,WAAW,EAAE,CAAC;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CACN,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CACpE,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,eAAe,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;QAChC,IAAI,CAAC;YACH,eAAe,CAAC,IAAI,CAAC,CAAC;YACtB,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,MAAM,uBAAuB,EAAE,CAAC;YAChC,MAAM,WAAW,EAAE,CAAC;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CACN,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,4BAA4B,CAClE,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,eAAe,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC;IAEF,gCAAgC;IAChC,SAAS,CAAC,GAAG,EAAE;QACb,WAAW,EAAE,CAAC;IAChB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,2DAA2D;IAC3D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,eAAe,GAAG,YAAY,IAAI,gBAAgB,EAAE,YAAY,CAAC;QACvE,IAAI,CAAC,eAAe;YAAE,OAAO;QAE7B,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;YAC5B,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,sBAAsB,EAAE,CAAC;gBAChD,cAAc,CAAC,QAAQ,EAAE,WAAW,IAAI,IAAI,CAAC,CAAC;gBAC9C,UAAU,CAAE,QAAQ,EAAE,aAAsC,IAAI,IAAI,CAAC,CAAC;gBACtE,eAAe,CACZ,QAAQ,EAAE,YAAoC,IAAI,IAAI,CACxD,CAAC;gBACF,kBAAkB,CACf,QAAQ,EAAE,eAA0C,IAAI,IAAI,CAC9D,CAAC;gBACF,mBAAmB,CAChB,QAAQ,EAAE,gBAA4C,IAAI,IAAI,CAChE,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,sEAAsE;YACxE,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAE/C,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,YAAY,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC;IAEnD,MAAM,kBAAkB,GAAG,CAAC,MAAe,EAAE,EAAE;QAC7C,QAAQ,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC;YAC9B,KAAK,WAAW;gBACd,OAAO,CACL,KAAC,WAAW,IAAC,SAAS,EAAC,wBAAwB,EAAC,WAAW,EAAE,CAAC,GAAI,CACnE,CAAC;YACJ,KAAK,QAAQ;gBACX,OAAO,KAAC,WAAW,IAAC,SAAS,EAAC,sBAAsB,EAAC,WAAW,EAAE,CAAC,GAAI,CAAC;YAC1E,KAAK,YAAY;gBACf,OAAO,KAAC,KAAK,IAAC,SAAS,EAAC,uBAAuB,EAAC,WAAW,EAAE,CAAC,GAAI,CAAC;YACrE;gBACE,OAAO,CACL,KAAC,WAAW,IAAC,SAAS,EAAC,yBAAyB,EAAC,WAAW,EAAE,CAAC,GAAI,CACpE,CAAC;QACN,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,yBAAyB,GAAG,CAAC,MAAe,EAAE,EAAE;QACpD,QAAQ,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC;YAC9B,KAAK,WAAW;gBACd,OAAO,6BAA6B,CAAC;YACvC,KAAK,QAAQ;gBACX,OAAO,yBAAyB,CAAC;YACnC,KAAK,YAAY;gBACf,OAAO,2BAA2B,CAAC;YACrC;gBACE,OAAO,+BAA+B,CAAC;QAC3C,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QACpC,uEAAuE;QACvE,WAAW,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QACrE,WAAW,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC5C,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,gDAAgD;IAChD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,WAAW,EAAE,wBAAwB;YAAE,OAAO;QAEnD,MAAM,WAAW,GAAG,WAAW,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,EAAE;YACnE,IAAI,OAAO,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;gBAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;gBAChC,IAAI,CAAC,OAAO;oBAAE,OAAO;gBAErB,2BAA2B;gBAC3B,IAAI,OAAO,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;oBACnC,mBAAmB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBAC7B,YAAY,EAAE,OAAO,CAAC,QAAQ,KAAK,IAAI;wBACvC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;wBAC5B,SAAS,EAAE,OAAO,CAAC,QAAQ;4BACzB,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;4BAC1B,CAAC,CAAC,IAAI,EAAE,SAAS;wBACnB,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,CAAC;wBAC3C,yBAAyB,EAAE,OAAO,CAAC,yBAAyB,IAAI,CAAC;wBACjE,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,CAAC;qBAC9C,CAAC,CAAC,CAAC;gBACN,CAAC;gBAED,uBAAuB;gBACvB,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC/B,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBACzB,WAAW,EAAE,OAAO,CAAC,QAAQ,KAAK,IAAI;wBACtC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;wBAC5B,SAAS,EAAE,OAAO,CAAC,QAAQ;4BACzB,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;4BAC1B,CAAC,CAAC,IAAI,EAAE,SAAS;wBACnB,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,CAAC;wBACvC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,CAAC;wBACnC,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,EAAE;qBACzC,CAAC,CAAC,CAAC;gBACN,CAAC;gBAED,0BAA0B;gBAC1B,IAAI,OAAO,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;oBAClC,kBAAkB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBAC5B,YAAY,EAAE,OAAO,CAAC,QAAQ,KAAK,IAAI;wBACvC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;wBAC5B,SAAS,EAAE,OAAO,CAAC,QAAQ;4BACzB,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;4BAC1B,CAAC,CAAC,IAAI,EAAE,SAAS;qBACpB,CAAC,CAAC,CAAC;gBACN,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,WAAW,CAAC;IACrB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,mEAAmE;IACnE,MAAM,cAAc,GAAG,CAAC,WAA+B,EAAE,EAAE;QACzD,IACE,WAAW,EAAE,QAAQ,IAAI,IAAI;YAC7B,WAAW,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAC/B,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAChC,CAAC;YACD,OAAO;gBACL,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO;gBAC5C,WAAW,EAAE,cAAc;gBAC3B,gBAAgB,EAAE,IAAI;aACvB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,WAAW,EAAE,OAAO;gBACpB,WAAW,EAAE,gBAAgB;gBAC7B,gBAAgB,EAAE,KAAK;aACxB,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;IAEF,2EAA2E;IAC3E,MAAM,gBAAgB,GAAG,CACvB,YAAqB,EACrB,YAAqB,EACrB,WAA+B,EAC/B,YAAiC,EACjC,eAAuC,EACvC,gBAAyC,EACzC,EAAE;QACF,MAAM,OAAO,GAAG,WAAW,EAAE,OAAO,IAAI,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACpC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YACzC,OAAO,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,YAAY,IAAI,CAAC,KAAK,QAAQ,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,gFAAgF;QAChF,MAAM,kBAAkB,GAAG,gBAAgB,EAAE,YAAY,IAAI,YAAY,CAAC;QAE1E,IAAI,kBAAkB,EAAE,CAAC;YACvB,wDAAwD;YACxD,IAAI,WAAW,GAAG,gBAAgB,EAAE,MAAM,IAAI,kBAAkB,CAAC;YACjE,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,IACE,gBAAgB,EAAE,cAAc;gBAChC,gBAAgB,CAAC,cAAc,GAAG,CAAC,EACnC,CAAC;gBACD,OAAO,CAAC,IAAI,CACV,GAAG,gBAAgB,CAAC,cAAc,CAAC,cAAc,EAAE,QAAQ,CAC5D,CAAC;YACJ,CAAC;YACD,IACE,gBAAgB,EAAE,yBAAyB;gBAC3C,gBAAgB,CAAC,yBAAyB,GAAG,CAAC,EAC9C,CAAC;gBACD,OAAO,CAAC,IAAI,CACV,GAAG,gBAAgB,CAAC,yBAAyB,CAAC,cAAc,EAAE,WAAW,CAC1E,CAAC;YACJ,CAAC;YACD,IACE,gBAAgB,EAAE,eAAe;gBACjC,gBAAgB,CAAC,eAAe,GAAG,CAAC,EACpC,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,eAAe,mBAAmB,CAAC,CAAC;YACvE,CAAC;YAED,OAAO;gBACL,WAAW;gBACX,WAAW,EAAE,iBAAiB;gBAC9B,UAAU,EAAE,SAAS;gBACrB,YAAY,EAAE,SAAS;gBACvB,WAAW,EAAE,IAAI;gBACjB,eAAe,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;aAC1D,CAAC;QACJ,CAAC;aAAM,IAAI,YAAY,IAAI,UAAU,EAAE,CAAC;YACtC,OAAO;gBACL,WAAW,EAAE,uBAAuB;gBACpC,WAAW,EAAE,eAAe;gBAC5B,UAAU,EAAE,SAAS;gBACrB,YAAY,EAAE,SAAS;gBACvB,WAAW,EAAE,KAAK;gBAClB,eAAe,EAAE,SAAS;aAC3B,CAAC;QACJ,CAAC;aAAM,IAAI,YAAY,EAAE,WAAW,EAAE,CAAC;YACrC,MAAM,SAAS,GAAG,CAAC,YAAY,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACrD,OAAO;gBACL,WAAW,EAAE,YAAY,CAAC,MAAM,IAAI,sBAAsB;gBAC1D,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB;gBAC9D,UAAU,EAAE,YAAY,CAAC,UAAU;gBACnC,YAAY,EAAE,YAAY,CAAC,YAAY;gBACvC,WAAW,EAAE,KAAK;gBAClB,eAAe,EAAE,SAAS;aAC3B,CAAC;QACJ,CAAC;aAAM,IAAI,eAAe,EAAE,YAAY,EAAE,CAAC;YACzC,OAAO;gBACL,WAAW,EAAE,eAAe,CAAC,MAAM,IAAI,sBAAsB;gBAC7D,WAAW,EAAE,eAAe;gBAC5B,UAAU,EAAE,SAAS;gBACrB,YAAY,EAAE,SAAS;gBACvB,WAAW,EAAE,KAAK;gBAClB,eAAe,EAAE,SAAS;aAC3B,CAAC;QACJ,CAAC;aAAM,IAAI,WAAW,EAAE,UAAU,EAAE,CAAC;YACnC,OAAO;gBACL,WAAW,EAAE,YAAY;gBACzB,WAAW,EAAE,iBAAiB;gBAC9B,UAAU,EAAE,SAAS;gBACrB,YAAY,EAAE,SAAS;gBACvB,WAAW,EAAE,KAAK;gBAClB,eAAe,EAAE,SAAS;aAC3B,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,OAAO,CACL,cAAK,SAAS,EAAC,uCAAuC,YACpD,eAAK,SAAS,EAAC,kCAAkC,aAC/C,eAAK,SAAS,EAAC,uDAAuD,aACpE,KAAC,QAAQ,IAAC,SAAS,EAAC,SAAS,EAAC,WAAW,EAAE,CAAC,GAAI,EAChD,eAAM,SAAS,EAAC,eAAe,6BAAoB,IAC/C,EAEL,KAAK,IAAI,CACR,cAAK,SAAS,EAAC,kEAAkE,YAC9E,KAAK,GACF,CACP,EAEA,SAAS,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAC3B,cAAK,SAAS,EAAC,uCAAuC,YACpD,KAAC,SAAS,IACR,SAAS,EAAC,oCAAoC,EAC9C,WAAW,EAAE,CAAC,GACd,GACE,CACP,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAChB,eAAK,SAAS,EAAC,WAAW,aACxB,eAAK,SAAS,EAAC,wBAAwB,aACrC,eAAK,SAAS,EAAC,wBAAwB,aACrC,cAAK,SAAS,EAAC,uBAAuB,8BAAoB,EAC1D,cAAK,SAAS,EAAC,wBAAwB,YACpC,WAAW,CAAC,oBAAoB,EAAE,cAAc,EAAE,IAAI,GAAG,GACtD,IACF,EACN,eAAK,SAAS,EAAC,wBAAwB,aACrC,cAAK,SAAS,EAAC,uBAAuB,uBAAa,EAClD,CAAC,GAAG,EAAE;4CACL,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAClD,cAAc,CAAC,WAAW,CAAC,CAAC;4CAC9B,OAAO,CACL,cAAK,SAAS,EAAC,WAAW,YACxB,eACE,SAAS,EAAE,EAAE,CACX,6CAA6C,EAC7C,WAAW,CACZ,aAEA,WAAW,EACX,gBAAgB,IAAI,CACnB,MAAC,MAAM,IACL,IAAI,EAAC,IAAI,EACT,OAAO,EAAC,SAAS,EACjB,OAAO,EAAE,YAAY,aAErB,KAAC,YAAY,IAAC,SAAS,EAAC,SAAS,EAAC,WAAW,EAAE,CAAC,GAAI,gBAE7C,CACV,IACG,GACF,CACP,CAAC;wCACJ,CAAC,CAAC,EAAE,IACA,IACF,EAGN,eAAK,SAAS,EAAC,gDAAgD,aAC7D,aAAI,SAAS,EAAC,0CAA0C,8BAEnD,EACL,cAAK,SAAS,EAAC,WAAW,YACvB,CAAC,GAAG,EAAE;wCACL,qBAAqB;wCACrB,MAAM,aAAa,GAAG,gBAAgB,CACpC,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,eAAe,EACf,gBAAgB,CACjB,CAAC;wCAEF,MAAM,WAAW,GAAG,OAAO,EAAE,SAAS,IAAI,CAAC,CAAC;wCAC5C,MAAM,OAAO,GAAG,WAAW,EAAE,OAAO,IAAI,EAAE,CAAC;wCAC3C,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CACnC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,WAAW,CACtD,CAAC,MAAM,CAAC;wCACT,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;4CAC3C,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;4CACzC,OAAO,CACL,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,YAAY,IAAI,CAAC,KAAK,QAAQ,CAC1D,CAAC;wCACJ,CAAC,CAAC,CAAC,MAAM,CAAC;wCAEV,uCAAuC;wCACvC,MAAM,mBAAmB,GACvB,YAAY;4CACZ,gBAAgB,EAAE,YAAY;4CAC9B,YAAY;4CACZ,gBAAgB;4CAChB,YAAY;4CACZ,eAAe,GAAG,CAAC;4CACnB,WAAW,EAAE,UAAU;4CACvB,YAAY,EAAE,WAAW;4CACzB,eAAe,EAAE,YAAY,CAAC;wCAEhC,yBAAyB;wCACzB,MAAM,oBAAoB,GAAG,aAAa,CAAC,CAAC,CAAC,CAC3C,cAAK,SAAS,EAAC,wBAAwB,YACrC,eAAK,SAAS,EAAC,WAAW,aACxB,eACE,SAAS,EAAE,EAAE,CACX,6CAA6C,EAC7C,aAAa,CAAC,WAAW,CAC1B,aAEA,aAAa,CAAC,WAAW,IAAI,CAC5B,KAAC,SAAS,IACR,SAAS,EAAC,sBAAsB,EAChC,WAAW,EAAE,CAAC,GACd,CACH,EACA,aAAa,CAAC,WAAW,IACtB,EACL,aAAa,CAAC,eAAe;wDAC5B,aAAa,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,CAC1C,cAAK,SAAS,EAAC,uBAAuB,YACnC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,GACtC,CACP,EACF,aAAa,CAAC,UAAU,KAAK,SAAS;wDACrC,aAAa,CAAC,UAAU,GAAG,CAAC,IAAI,CAC9B,eAAK,SAAS,EAAC,yBAAyB,aACrC,aAAa,CAAC,UAAU,YACxB,aAAa,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EACzC,aAAa,CAAC,YAAY;gEACzB,aAAa,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CACvC,mBAAS,SAAS,EAAC,MAAM,aACvB,kBAAS,SAAS,EAAC,gCAAgC,mCAEzC,EACV,aAAI,SAAS,EAAC,iCAAiC,YAC5C,aAAa,CAAC,YAAY,CAAC,GAAG,CAC7B,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CACd,aAAc,SAAS,EAAC,SAAS,YAC9B,KAAK,IADC,GAAG,CAEP,CACN,CACF,GACE,IACG,CACX,IACC,CACP,IACC,GACF,CACP,CAAC,CAAC,CAAC,IAAI,CAAC;wCAET,iBAAiB;wCACjB,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE;4CAC1B,IACE,YAAY;gDACZ,gBAAgB,EAAE,YAAY;gDAC9B,YAAY;gDACZ,gBAAgB;gDAChB,YAAY;gDACZ,eAAe,GAAG,CAAC;gDACnB,WAAW,EAAE,UAAU;gDACvB,YAAY,EAAE,WAAW;gDACzB,eAAe,EAAE,YAAY,EAC7B,CAAC;gDACD,OAAO,IAAI,CAAC;4CACd,CAAC;iDAAM,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gDAC3B,MAAM,SAAS,GACb,OAAO,EAAE,kBAAkB;oDAC3B,OAAO,EAAE,aAAa;oDACtB,CAAC,CAAC;gDACJ,MAAM,UAAU,GAAG,OAAO,EAAE,mBAAmB,IAAI,CAAC,CAAC;gDACrD,OAAO,CACL,eAAK,SAAS,EAAC,mCAAmC,aAChD,kBACE,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,YAAY,IAAI,WAAW,KAAK,CAAC,EAC3C,SAAS,EAAE,EAAE,CACX,mFAAmF,EACnF;gEACE,2DAA2D,EACzD,CAAC,YAAY,IAAI,WAAW,GAAG,CAAC;gEAClC,8CAA8C,EAC5C,YAAY,IAAI,WAAW,KAAK,CAAC;6DACpC,CACF,aAED,KAAC,WAAW,IAAC,SAAS,EAAC,SAAS,EAAC,WAAW,EAAE,CAAC,GAAI,EAClD,YAAY;oEACX,CAAC,CAAC,eAAe;oEACjB,CAAC,CAAC,YAAY,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAChC,EACT,kBACE,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,gBAAgB,IAAI,WAAW,KAAK,CAAC,EAC/C,SAAS,EAAE,EAAE,CACX,mFAAmF,EACnF;gEACE,yDAAyD,EACvD,CAAC,gBAAgB,IAAI,WAAW,GAAG,CAAC;gEACtC,8CAA8C,EAC5C,gBAAgB,IAAI,WAAW,KAAK,CAAC;6DACxC,CACF,aAED,KAAC,WAAW,IAAC,SAAS,EAAC,SAAS,EAAC,WAAW,EAAE,CAAC,GAAI,EAClD,gBAAgB;oEACf,CAAC,CAAC,aAAa;oEACf,CAAC,CAAC,aAAa,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAClC,EACT,kBACE,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,YAAY,IAAI,WAAW,KAAK,CAAC,EAC3C,SAAS,EAAE,EAAE,CACX,mFAAmF,EACnF;gEACE,yDAAyD,EACvD,CAAC,YAAY,IAAI,WAAW,GAAG,CAAC;gEAClC,8CAA8C,EAC5C,YAAY,IAAI,WAAW,KAAK,CAAC;6DACpC,CACF,aAED,KAAC,MAAM,IAAC,SAAS,EAAC,SAAS,EAAC,WAAW,EAAE,CAAC,GAAI,EAC7C,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,IACpC,IACL,CACP,CAAC;4CACJ,CAAC;iDAAM,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;gDAC9B,OAAO,CACL,kBACE,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,EAAE,CACX,mFAAmF,EACnF;wDACE,2DAA2D,EACzD,CAAC,YAAY;wDACf,8CAA8C,EAC5C,YAAY;qDACf,CACF,aAED,KAAC,WAAW,IAAC,SAAS,EAAC,SAAS,EAAC,WAAW,EAAE,CAAC,GAAI,EAClD,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,mBAAmB,IAC7C,CACV,CAAC;4CACJ,CAAC;4CACD,MAAM,aAAa,GACjB,YAAY,IAAI,gBAAgB,EAAE,YAAY,CAAC;4CACjD,OAAO,CACL,kBACE,OAAO,EAAE,sBAAsB,EAC/B,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,EAAE,CACX,mFAAmF,EACnF;oDACE,6DAA6D,EAC3D,CAAC,aAAa;oDAChB,8CAA8C,EAC5C,aAAa;iDAChB,CACF,aAED,KAAC,SAAS,IAAC,SAAS,EAAC,SAAS,EAAC,WAAW,EAAE,CAAC,GAAI,EAChD,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,IAC3C,CACV,CAAC;wCACJ,CAAC,CAAC,EAAE,CAAC;wCAEL,gBAAgB;wCAChB,MAAM,YAAY,GAChB,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAChB,eAAK,SAAS,EAAC,wBAAwB,aACrC,eAAK,SAAS,EAAC,yDAAyD,aACtE,0CAAyB,EACzB,yBAAO,WAAW,GAAQ,IACtB,EACL,OAAO,EAAE,cAAc,KAAK,SAAS;oDACpC,OAAO,CAAC,cAAc,GAAG,CAAC,IAAI,CAC5B,eAAK,SAAS,EAAC,8DAA8D,aAC3E,mCAAkB,EAClB,yBACG,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,GACnC,IACH,CACP,EACH,eAAK,SAAS,EAAC,8DAA8D,aAC3E,oDAAmC,EACnC,yBACG,CACC,OAAO,EAAE,oBAAoB,IAAI,CAAC,CACnC,CAAC,cAAc,EAAE,GACb,IACH,EACN,eAAK,SAAS,EAAC,8DAA8D,aAC3E,kDAAiC,EACjC,iCAEG,CACC,OAAO,EAAE,kBAAkB;oEAC3B,OAAO,EAAE,aAAa;oEACtB,CAAC,CACF,CAAC,OAAO,CAAC,CAAC,CAAC,IACP,IACH,EACN,eAAK,SAAS,EAAC,8DAA8D,aAC3E,mDAAkC,EAClC,iCACK,CAAC,OAAO,EAAE,mBAAmB,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAC5C,IACH,IACF,CACP,CAAC,CAAC,CAAC,IAAI,CAAC;wCAEX,iBAAiB;wCACjB,MAAM,YAAY,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAC1C,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAChB,eAAK,SAAS,EAAC,uBAAuB,2BACzB,GAAG,EACd,eAAM,SAAS,EAAC,aAAa,mDAEtB,IACH,CACP,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,CACxB,eAAK,SAAS,EAAC,uBAAuB,2BACzB,GAAG,EACd,eAAM,SAAS,EAAC,aAAa,sCAEtB,IACH,CACP,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,CACvB,eAAK,SAAS,EAAC,uBAAuB,2BACzB,GAAG,EACd,eAAM,SAAS,EAAC,aAAa,kCAAyB,IAClD,CACP,CAAC,CAAC,CAAC,IAAI,CACT,CAAC,CAAC,CAAC,IAAI,CAAC;wCAET,OAAO,CACL,8BACG,oBAAoB,EACpB,aAAa,IAAI,CAChB,cAAK,SAAS,EAAC,mCAAmC,YAC/C,aAAa,GACV,CACP,EACA,YAAY,EACZ,YAAY,IAAI,CACf,cAAK,SAAS,EAAC,uBAAuB,YACnC,YAAY,GACT,CACP,IACA,CACJ,CAAC;oCACJ,CAAC,CAAC,EAAE,GACA,IACF,EAEL,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CACxD,0BACE,aAAI,SAAS,EAAC,wCAAwC,+BAEjD,EACL,cAAK,SAAS,EAAC,2BAA2B,YACvC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAClC,eAEE,SAAS,EAAC,gCAAgC,aAE1C,eAAK,SAAS,EAAC,mCAAmC,aAChD,eAAK,SAAS,EAAC,yBAAyB,aACrC,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,EACjC,eACE,SAAS,EAAE,2CAA2C,yBAAyB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,YAE9F,KAAK,CAAC,MAAM,IAAI,SAAS,GACrB,EACP,eAAM,SAAS,EAAC,mBAAmB,YAChC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,GAC5B,IACH,EACN,eAAK,SAAS,EAAC,YAAY,aACzB,eAAK,SAAS,EAAC,eAAe,aAC3B,KAAK,CAAC,aAAa,IAAI,CAAC,cACrB,EACN,cAAK,SAAS,EAAC,uBAAuB,YACnC,KAAK,CAAC,OAAO;oEACZ,CAAC,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oEACzC,CAAC,CAAC,SAAS,GACT,IACF,IACF,EACL,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;gDACnD,KAAK,CAAC,YAAY,CAAC,IAAI,CACvB,cAAK,SAAS,EAAC,2BAA2B,YACvC,CAAC,GAAG,EAAE;oDACL,MAAM,QAAQ,GACZ,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;wDAC/C,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;wDAC/B,CAAC,CAAC,KAAK,CAAC,YAAY;4DAClB,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;4DACtB,CAAC,CAAC,EAAE,CAAC;oDACX,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;oDACnC,MAAM,UAAU,GACd,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC;wDACtC,CAAC,CAAC,KAAK,CAAC,UAAU;wDAClB,CAAC,CAAC,UAAU,CAAC;oDACjB,MAAM,MAAM,GACV,UAAU,GAAG,UAAU;wDACrB,CAAC,CAAC,MAAM,UAAU,GAAG,UAAU,QAAQ;wDACvC,CAAC,CAAC,EAAE,CAAC;oDACT,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC;gDAC5C,CAAC,CAAC,EAAE,GACA,CACP,KAhDI,KAAK,CAAC,EAAE,CAiDT,CACP,CAAC,GACE,IACF,CACP,EAEA,WAAW,CAAC,mBAAmB;4BAC9B,WAAW,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,IAAI,CAC5C,0BACE,aAAI,SAAS,EAAC,wCAAwC,4CAEjD,EACL,cAAK,SAAS,EAAC,oCAAoC,YAChD,WAAW,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CACxD,eAEE,SAAS,EAAC,kEAAkE,aAE5E,eAAK,SAAS,EAAC,SAAS,aACtB,cAAK,SAAS,EAAC,sBAAsB,YAClC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAC3B,EACL,EAAE,CAAC,IAAI,IAAI,CACV,cAAK,SAAS,EAAC,gCAAgC,YAC5C,EAAE,CAAC,IAAI,GACJ,CACP,IACG,EACN,cAAK,SAAS,EAAC,qCAAqC,YACjD,cAAc,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,GACjC,KAfD,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,OAAO,CAgBvB,CACP,CAAC,GACE,IACF,CACP,EAGH,eAAK,SAAS,EAAC,+BAA+B,aAC5C,kBACE,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC,YAAY,CAAC,EAC7C,SAAS,EAAC,oFAAoF,aAE9F,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,QAAQ,IAAC,SAAS,EAAC,SAAS,EAAC,WAAW,EAAE,CAAC,GAAI,EAChD,eAAM,SAAS,EAAC,aAAa,kCAAyB,IAClD,EACN,KAAC,WAAW,IACV,SAAS,EAAE,EAAE,CACX,2CAA2C,EAC3C,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CACjC,EACD,WAAW,EAAE,CAAC,GACd,IACK,EAET,cACE,SAAS,EAAE,EAAE,CACX,mEAAmE,EACnE,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CACrD,YAED,cAAK,SAAS,EAAC,yBAAyB,YACtC,eAAK,SAAS,EAAC,gBAAgB,aAE7B,eAAK,SAAS,EAAC,kDAAkD,aAC/D,aAAI,SAAS,EAAC,wCAAwC,wCAEjD,EACL,YAAG,SAAS,EAAC,4BAA4B,iMAKrC,EACJ,eAAK,SAAS,EAAC,yBAAyB,aACtC,eAAK,SAAS,EAAC,yBAAyB,aACtC,gBACE,OAAO,EAAC,YAAY,EACpB,SAAS,EAAC,uBAAuB,6BAG3B,EACR,gBACE,EAAE,EAAC,YAAY,EACf,IAAI,EAAC,QAAQ,EACb,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CACd,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,EAEjD,SAAS,EAAC,uIAAuI,GACjJ,IACE,EACN,kBACE,OAAO,EAAE,uBAAuB,EAChC,QAAQ,EACN,eAAe,EAAE,YAAY,IAAI,YAAY,EAE/C,SAAS,EAAE,EAAE,CACX,mFAAmF,EACnF;wEACE,6DAA6D,EAC3D,CAAC,eAAe,EAAE,YAAY,IAAI,CAAC,YAAY;wEACjD,8CAA8C,EAC5C,eAAe,EAAE,YAAY,IAAI,YAAY;qEAChD,CACF,aAED,KAAC,QAAQ,IAAC,SAAS,EAAC,SAAS,EAAC,WAAW,EAAE,CAAC,GAAI,EAC/C,eAAe,EAAE,YAAY,IAAI,YAAY;4EAC5C,CAAC,CAAC,eAAe,EAAE,MAAM,IAAI,eAAe;4EAC5C,CAAC,CAAC,oBAAoB,IACjB,IACL,IACF,EAGN,eAAK,SAAS,EAAC,kDAAkD,aAC/D,aAAI,SAAS,EAAC,wCAAwC,4BAEjD,EACL,YAAG,SAAS,EAAC,4BAA4B,4HAIrC,EACJ,kBACE,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,EAAE,CACX,mFAAmF,EACnF;gEACE,4DAA4D,EAC1D,CAAC,UAAU;gEACb,8CAA8C,EAC5C,UAAU;6DACb,CACF,aAED,KAAC,MAAM,IAAC,SAAS,EAAC,SAAS,EAAC,WAAW,EAAE,CAAC,GAAI,EAC7C,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB,IACxC,IACL,IACF,GACF,GACF,IACF,IACF,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,GACF,CACP,CAAC;AACJ,CAAC"}