@parhelia/core 0.1.12710 → 0.1.12730

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 (36) hide show
  1. package/dist/editor/ai/AgentTerminal.js +13 -7
  2. package/dist/editor/ai/AgentTerminal.js.map +1 -1
  3. package/dist/editor/ai/ToolCallDisplay.js +15 -11
  4. package/dist/editor/ai/ToolCallDisplay.js.map +1 -1
  5. package/dist/editor/client/EditorShell.js +70 -35
  6. package/dist/editor/client/EditorShell.js.map +1 -1
  7. package/dist/editor/client/editContext.d.ts +2 -3
  8. package/dist/editor/client/editContext.js.map +1 -1
  9. package/dist/editor/client/operations.js +0 -24
  10. package/dist/editor/client/operations.js.map +1 -1
  11. package/dist/editor/itemContextMenu.d.ts +13 -0
  12. package/dist/editor/itemContextMenu.js +80 -0
  13. package/dist/editor/itemContextMenu.js.map +1 -0
  14. package/dist/editor/media-selector/MediaFolderBrowser.js +96 -19
  15. package/dist/editor/media-selector/MediaFolderBrowser.js.map +1 -1
  16. package/dist/editor/media-selector/Thumbnails.d.ts +2 -1
  17. package/dist/editor/media-selector/Thumbnails.js +61 -4
  18. package/dist/editor/media-selector/Thumbnails.js.map +1 -1
  19. package/dist/editor/media-selector/TreeSelector.js +7 -5
  20. package/dist/editor/media-selector/TreeSelector.js.map +1 -1
  21. package/dist/editor/menubar/toolbar-sections/ViewportControls.js +3 -2
  22. package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
  23. package/dist/editor/page-viewer/PageViewer.js +3 -3
  24. package/dist/editor/page-viewer/PageViewer.js.map +1 -1
  25. package/dist/editor/settings/panels/CreateJavaScriptToolDialog.js +3 -2
  26. package/dist/editor/settings/panels/CreateJavaScriptToolDialog.js.map +1 -1
  27. package/dist/editor/version-diff/versionDiffTargets.js +37 -12
  28. package/dist/editor/version-diff/versionDiffTargets.js.map +1 -1
  29. package/dist/revision.d.ts +2 -2
  30. package/dist/revision.js +2 -2
  31. package/dist/setup/wizard/steps/ImportModelDialog.js +3 -2
  32. package/dist/setup/wizard/steps/ImportModelDialog.js.map +1 -1
  33. package/dist/splash-screen/ParheliaAssistantChat.js +9 -6
  34. package/dist/splash-screen/ParheliaAssistantChat.js.map +1 -1
  35. package/dist/types.d.ts +1 -1
  36. package/package.json +1 -1
@@ -355,9 +355,8 @@ export type EditContextType = {
355
355
  setComponentNavigatorOpenForSlot: (slotId: string | null, value: boolean | ((prev: boolean) => boolean)) => void;
356
356
  showAgentsPanel: boolean;
357
357
  setShowAgentsPanel: React.Dispatch<React.SetStateAction<boolean>>;
358
- /** When true the editor form (right panel) is hidden. Persisted in user preferences. */
359
- editorFormHidden: boolean;
360
- setEditorFormHidden: (value: boolean) => void;
358
+ isEditorFormHiddenForSlot: (slotId: string | null) => boolean;
359
+ setEditorFormHiddenForSlot: (slotId: string | null, value: boolean) => void;
361
360
  /** Whether the user has seen the one-time hint that explains how to re-open the form. */
362
361
  editorFormHintSeen: boolean;
363
362
  markEditorFormHintSeen: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"editContext.js","sourceRoot":"","sources":["../../../src/editor/client/editContext.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,KAAK,EAAE,EAGZ,UAAU,EACV,SAAS,EACT,MAAM,GACP,MAAM,OAAO,CAAC;AA8mBf,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAA8B,SAAS,CAAC,CAAC;AAChF,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC,QAAQ,CAAC;AAExD,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAE5D,MAAM,UAAU,iBAAiB;IAC/B,MAAM,YAAY,GAAG,cAAc,EAAE,CAAC;IACtC,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IAExC,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,OAAO,GAAG,YAAY,CAAC;IACpC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,OAAO,UAAU,CAAC;AACpB,CAAC;AAyCD,MAAM,iBAAiB,GAAG,KAAK,CAAC,aAAa,CAE3C,SAAS,CAAC,CAAC;AAEb,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,yBAAyB,GAAG,iBAAiB,CAAC,QAAQ,CAAC;AAEpE,mDAAmD;AACnD,MAAM,UAAU,uBAAuB;IACrC,MAAM,YAAY,GAAG,oBAAoB,EAAE,CAAC;IAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IAExC,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,OAAO,GAAG,YAAY,CAAC;IACpC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,OAAO,UAAU,CAAC;AACpB,CAAC;AASD,MAAM,iBAAiB,GAAG,KAAK,CAAC,aAAa,CAE3C,SAAS,CAAC,CAAC;AAEb,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,yBAAyB,GAAG,iBAAiB,CAAC,QAAQ,CAAC"}
1
+ {"version":3,"file":"editContext.js","sourceRoot":"","sources":["../../../src/editor/client/editContext.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,KAAK,EAAE,EAGZ,UAAU,EACV,SAAS,EACT,MAAM,GACP,MAAM,OAAO,CAAC;AA6mBf,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAA8B,SAAS,CAAC,CAAC;AAChF,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC,QAAQ,CAAC;AAExD,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAE5D,MAAM,UAAU,iBAAiB;IAC/B,MAAM,YAAY,GAAG,cAAc,EAAE,CAAC;IACtC,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IAExC,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,OAAO,GAAG,YAAY,CAAC;IACpC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,OAAO,UAAU,CAAC;AACpB,CAAC;AAyCD,MAAM,iBAAiB,GAAG,KAAK,CAAC,aAAa,CAE3C,SAAS,CAAC,CAAC;AAEb,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,yBAAyB,GAAG,iBAAiB,CAAC,QAAQ,CAAC;AAEpE,mDAAmD;AACnD,MAAM,UAAU,uBAAuB;IACrC,MAAM,YAAY,GAAG,oBAAoB,EAAE,CAAC;IAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IAExC,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,OAAO,GAAG,YAAY,CAAC;IACpC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,OAAO,UAAU,CAAC;AACpB,CAAC;AASD,MAAM,iBAAiB,GAAG,KAAK,CAAC,aAAa,CAE3C,SAAS,CAAC,CAAC;AAEb,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,yBAAyB,GAAG,iBAAiB,CAAC,QAAQ,CAAC"}
@@ -174,23 +174,7 @@ export function getOperationsContext(state, ui) {
174
174
  }
175
175
  };
176
176
  const ensureLock = useCallback(async (field) => {
177
- console.log("[ensureLock] Called with field:", {
178
- fieldId: field?.fieldId,
179
- itemId: field?.item?.id,
180
- language: field?.item?.language,
181
- version: field?.item?.version,
182
- currentLockedField: stateRef.current.lockedField
183
- ? {
184
- fieldId: stateRef.current.lockedField.fieldId,
185
- itemId: stateRef.current.lockedField.item.id,
186
- language: stateRef.current.lockedField.item.language,
187
- version: stateRef.current.lockedField.item.version,
188
- }
189
- : null,
190
- timestamp: new Date().toISOString(),
191
- });
192
177
  if (!field || !field.item) {
193
- console.log("[ensureLock] Early return: field or field.item is missing");
194
178
  return false;
195
179
  }
196
180
  const isAlreadyLocked = stateRef.current.lockedField?.fieldId === field.fieldId &&
@@ -198,15 +182,9 @@ export function getOperationsContext(state, ui) {
198
182
  stateRef.current.lockedField?.item.language === field.item.language &&
199
183
  stateRef.current.lockedField?.item.version === field.item.version;
200
184
  if (isAlreadyLocked) {
201
- console.log("[ensureLock] Field is already locked, returning true without lockField call");
202
185
  return true;
203
186
  }
204
- console.log("[ensureLock] Field is NOT locked, calling lockField service");
205
187
  const result = await lockField(field.item, field.fieldId, stateRef.current.sessionId);
206
- console.log("[ensureLock] lockField service returned:", {
207
- resultType: result.type,
208
- success: result.type === "success" ? result.data?.success : undefined,
209
- });
210
188
  if (result.type == "error") {
211
189
  console.log("error locking field", result);
212
190
  }
@@ -214,10 +192,8 @@ export function getOperationsContext(state, ui) {
214
192
  return false;
215
193
  if (result.type == "success" && result.data.success) {
216
194
  stateRef.current.setLockedField(field);
217
- console.log("[ensureLock] Successfully locked field, returning true");
218
195
  return true;
219
196
  }
220
- console.log("[ensureLock] Failed to lock field, returning false");
221
197
  return false;
222
198
  }, [ui]);
223
199
  const lockItemsAndRefresh = useCallback(async (items) => {
@@ -1 +1 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../src/editor/client/operations.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../src/editor/client/operations.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,YAAY,CAAC;AA0B9B,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,sBAAsB,EAEtB,SAAS,EACT,SAAS,EACT,WAAW,EACX,oBAAoB,EACpB,mBAAmB,GAEpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,EACZ,WAAW,EAEX,OAAO,EACP,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EACL,gCAAgC,EAChC,4BAA4B,GAC7B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAElC,oFAAoF;AACpF,MAAM,mCAAmC,GAAG,KAAK,CAAC;AAElD,wEAAwE;AACxE,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAwB,CAAC;AAElE,sFAAsF;AACtF,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAyB,CAAC;AAE/D;;;GAGG;AACH,SAAS,wBAAwB,CAAC,SAAwB;IACxD,MAAM,kBAAkB,GAAG;QACzB,aAAa;QACb,cAAc;QACd,YAAY;QACZ,YAAY;QACZ,aAAa;QACb,cAAc;KACf,CAAC;IACF,OAAO,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,qCAAqC,CACnD,aAA4B,EAC5B,IAAuB;IAEvB,MAAM,OAAO,GAAG,IAAI,EAAE,IAAI,IAAI,SAAS,CAAC;IACxC,MAAM,eAAe,GAAG,GAAG,aAAa,CAAC,MAAM,IAAI,aAAa,CAAC,gBAAgB,IAAI,aAAa,CAAC,eAAe,IAAI,aAAa,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC;IACzJ,MAAM,OAAO,GAAG,GAAG,aAAa,CAAC,MAAM,IAAI,aAAa,CAAC,gBAAgB,IAAI,aAAa,CAAC,eAAe,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;IAEtI,iCAAiC;IACjC,qBAAqB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAC9C,yBAAyB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,KAyBC,EACD,EAIC;IAED,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GACrD,QAAQ,EAAiB,CAAC;IAC5B,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,GAAG,QAAQ,CAEpE,EAAE,CAAC,CAAC;IAEN,MAAM,MAAM,GAAG,MAAM,CAA4B,SAAS,CAAC,CAAC;IAE5D,MAAM,OAAO,GAAG,MAAM,CAAU,KAAK,CAAC,CAAC;IAEvC,wFAAwF;IACxF,0FAA0F;IAC1F,MAAM,iBAAiB,GAAG,MAAM,CAAc,IAAI,GAAG,EAAE,CAAC,CAAC;IACzD,MAAM,iBAAiB,GAAG,MAAM,CAAc,IAAI,GAAG,EAAE,CAAC,CAAC;IAEzD,wGAAwG;IACxG,+FAA+F;IAC/F,MAAM,eAAe,GAAG,MAAM,CAAwB,IAAI,GAAG,EAAE,CAAC,CAAC;IAEjE,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,yFAAyF;IACzF,qFAAqF;IACrF,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;IACzB,oFAAoF;IACpF,6EAA6E;IAC7E,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAClC,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAElC,wDAAwD;IACxD,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC;IAEzD,kFAAkF;IAClF,MAAM,oCAAoC,GAAG,oBAAoB,CAC/D,2BAA2B,EAC3B,GAAG,CACJ,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAC3B,KAAK,EACH,EAAiB,EACjB,UAA8B;QAC5B,OAAO,EAAE,WAAW;KACrB,EACuB,EAAE;QAC1B,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAChC,0BAA0B,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1E,iCAAiC;QACjC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9B,qDAAqD;QACrD,kEAAkE;QAClE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAqB,CAAC;QAChD,wBAAwB,CAAC,UAAU,CAAC,CAAC;QAErC,6EAA6E;QAC7E,2EAA2E;QAC3E,0CAA0C;QAC1C,IAAI,UAAU,CAAC,eAAe,KAAK,WAAW,EAAE,CAAC;YAC/C,0BAA0B,CAAC,CAAC,GAAG,EAAE,EAAE,CACjC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAC5D,CAAC;QACJ,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,mBAAmB,GAAG,WAAW,CACrC,CAAC,EAAE,YAAY,EAA8B,EAAE,EAAE;QAC/C,MAAM,EAAE,GAAG;YACT,IAAI,EAAE,sBAAsB;YAC5B,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU;YAChD,kBAAkB,EAAE,YAAY;YAChC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC9B,EAAE,EAAE,IAAI,EAAE;YACV,KAAK,EAAE,sBAAsB;SACE,CAAC;QAElC,SAAS,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC,EACD,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,MAAM,YAAY,GAAG,WAAW,CAC9B,KAAK,EACH,eAAuB,EACvB,cAAsB,EACtB,KAAa,EACb,QAAwB,EACxB,EAAE;QACF,MAAM,gBAAgB,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACxD,IACE,CAAC,gBAAgB;YACjB,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC;YAClC,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,EACxC,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,eAAe;QACf,iDAAiD;QACjD,YAAY;QACZ,IAAI;QAEJ,MAAM,EAAE,GAA0B;YAChC,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,CAAC;YACrC,mBAAmB;YACnB,QAAQ;YACR,sBAAsB;YACtB,sCAAsC;YACtC,oCAAoC;YACpC,QAAQ;YACR,iBAAiB;YACjB,cAAc;YACd,gBAAgB,EAAE,KAAK;YACvB,eAAe,EAAE,gBAAgB;YACjC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC9B,EAAE,EAAE,IAAI,EAAE;YACV,KAAK,EAAE,eAAe;SACvB,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,MAA+B,CAAC;IACzC,CAAC,EACD,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,MAAM,yBAAyB,GAAG,WAAW,CAC3C,KAAK,EACH,WAAmB,EACnB,UAAyC,EAC1B,EAAE;QACjB,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC;QACzD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,MAAM,EAAE,GAAuC;YAC7C,IAAI,EAAE,6BAA6B;YACnC,WAAW;YACX,UAAU;YACV,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC9B,EAAE,EAAE,IAAI,EAAE;YACV,KAAK,EAAE,6BAA6B;SACrC,CAAC;QAEF,MAAM,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;IAChD,CAAC,EACD,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,MAAM,YAAY,GAAG,CACnB,MAAgC,EAChC,OAA2B,EAC3B,EAAE;QACF,IACE,iBAAiB,CACf,MAAkC,EAClC,EAAE,EACF,QAAQ,CAAC,OAAO,CACjB,EACD,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;YAC5C,CAAC,CAAC,MAAM,CAAC,IAAI;YACb,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAElB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,IACE,UAAU;gBACV,CAAC,UAAU,CAAC,IAAI,KAAK,gBAAgB;oBACnC,UAAU,CAAC,IAAI,KAAK,eAAe;oBACnC,UAAU,CAAC,IAAI,KAAK,gBAAgB;oBACpC,UAAU,CAAC,IAAI,KAAK,sBAAsB,CAAC,EAC7C,CAAC;gBACD,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;oBACrB,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;oBAClD,QAAQ,CAAC,OAAO,CAAC,wBAAwB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBAE5D,0EAA0E;oBAC1E,IAAI,UAAU,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;wBACxC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACxC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,EAAE,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC;QAED,yCAAyC;QACzC,iFAAiF;QACjF,gFAAgF;QAChF,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YAClD,QAAQ,CAAC,OAAO,CAAC,cAAc,CAC7B,OAAO,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,oBAAoB,CACrE,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAC5B,KAAK,EAAE,KAAsB,EAAoB,EAAE;QACjD,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,eAAe,GACnB,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,KAAK,KAAK,CAAC,OAAO;YACvD,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE;YACvD,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,IAAI,CAAC,QAAQ;YACnE,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;QAEpE,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,SAAS,CAC5B,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,OAAO,EACb,QAAQ,CAAC,OAAO,CAAC,SAAS,CAC3B,CAAC;QAEF,IAAI,MAAM,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,iBAAiB,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QAClE,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACpD,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,EACD,CAAC,EAAE,CAAC,CACL,CAAC;IAEF,MAAM,mBAAmB,GAAG,WAAW,CAAC,KAAK,EAAE,KAAuB,EAAE,EAAE;QACxE,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,IAAI,CAAC,EAAE,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;YACzC,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;;YAAM,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,qBAAqB,GAAG,WAAW,CAAC,KAAK,EAAE,KAAuB,EAAE,EAAE;QAC1E,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,IAAI,CAAC,EAAE,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;YACzC,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;;YAAM,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,gCAAgC,GAAG,WAAW,CAClD,KAAK,EAAE,IAAoB,EAAE,SAAiB,EAAE,EAAE;QAChD,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QACjE,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC3B,MAAM,YAAY,GAAG;oBACnB,OAAO,EAAE,yBAAyB;oBAClC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO;iBAC7B,CAAC;gBACF,EAAE,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAClC,CAAC;YACD,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,EACD,CAAC,EAAE,CAAC,CACL,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAC5B,KAAK,EAAE,IAAoB,EAAE,OAAe,EAAE,EAAE;QAC9C,MAAM,SAAS,CAAC;YACd,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,QAAQ,EACN,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,IAAI,iBAAiB,CAAC,IAAI,CAAC;YACnE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC9B,EAAE,EAAE,IAAI,EAAE;YACV,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC;YAC7B,OAAO;YACP,KAAK,EAAE,aAAa;SACE,CAAC,CAAC;QAE1B,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC7C,qDAAqD;QACrD,mFAAmF;QACnF,6DAA6D;QAC7D,MAAM,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;QAChD,MAAM,oBAAoB,GAAqB,CAAC,IAAI,CAAC,CAAC;QACtD,IACE,iBAAiB;YACjB,iBAAiB,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE;YAChC,iBAAiB,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAC5C,CAAC;YACD,oBAAoB,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAC1D,CAAC;QAED,sFAAsF;QACtF,MAAM,eAAe,CAAC,YAAY,CAAC,oBAAoB,EAAE;YACvD,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;QAEH,wEAAwE;QACxE,6DAA6D;QAC7D,IACE,iBAAiB;YACjB,iBAAiB,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE;YAChC,iBAAiB,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAC5C,CAAC;YACD,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAChE,CAAC;IACH,CAAC,EACD,CAAC,eAAe,EAAE,SAAS,CAAC,CAC7B,CAAC;IAEF,MAAM,aAAa,GAAG,MAAM,CAA8B,SAAS,CAAC,CAAC;IAErE,MAAM,SAAS,GAAG,WAAW,CAC3B,KAAK,EAAE,EACL,KAAK,EACL,KAAK,EACL,QAAQ,EACR,OAAO,GAAG,WAAW,GAMtB,EAAiB,EAAE;QAClB,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,aAAa,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACrE,4DAA4D;YAC5D,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAElG,uEAAuE;YACvE,MAAM,eAAe,GAAG,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAChE,IAAI,eAAe,EAAE,CAAC;gBACpB,IAAI,CAAC;oBACH,MAAM,eAAe,CAAC;gBACxB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,uDAAuD;oBACvD,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;gBAC9D,CAAC;gBAED,qEAAqE;gBACrE,IAAI,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,eAAe,EAAE,CAAC;oBAChE,yBAAyB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;YAED,MAAM,EAAE,GAAG,MAAM,yBAAyB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACjE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI;gBAC3B,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI;gBAC3B,eAAe,EAAE,eAAe;gBAChC,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,cAAc;gBAC/C,iBAAiB,EAAE,QAAQ,CAAC,OAAO,CAAC,iBAAiB;aACtD,CAAC,CAAC;YAEH,IAAI,EAAE,EAAE,CAAC;gBACP,oCAAoC;gBACpC,MAAM,WAAW,GAAG,oCAAoC,CAAC,EAAE,CAAE;qBAC1D,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;oBACf,mEAAmE;oBACnE,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;wBAC7C,MAAM,WAAW,GAAG,MAAM,CAAC,IAAqB,CAAC;wBACjD,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CACrD,CAAC,IAAmB,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,CACpD,CAAC;wBACF,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;oBACjE,CAAC;yBAAM,IACL,MAAM,CAAC,IAAI,KAAK,OAAO;wBACvB,MAAM,CAAC,IAAI,KAAK,cAAc,EAC9B,CAAC;wBACD,kDAAkD;wBAClD,EAAE,CAAC,cAAc,CAAC;4BAChB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,2BAA2B;4BACtD,OAAO,EAAE,MAAM,CAAC,OAAO;yBACxB,CAAC,CAAC;oBACL,CAAC;oBACD,OAAO,MAAM,CAAC;gBAChB,CAAC,CAAC;qBACD,OAAO,CAAC,GAAG,EAAE;oBACZ,0CAA0C;oBAC1C,yBAAyB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAC3C,0DAA0D;oBAC1D,MAAM,eAAe,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,IAAI,SAAS,EAAE,CAAC;oBACrJ,qBAAqB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gBAChD,CAAC,CAAC,CAAC;gBAEL,yBAAyB,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;gBACrD,MAAM,WAAW,CAAC;YACpB,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,gBAAgB,CACzD,KAAK,EACL,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI;YACvB,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,SAAS;SACnB,EACD,IAAI,EACJ,KAAK,EACL,QAAQ,CACT,CAAC;QAEF,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;YAC5B,OAAO,kBAAkB,CAAC;gBACxB,KAAK;gBACL,KAAK;gBACL,QAAQ;gBACR,OAAO;gBACP,YAAY;aACb,CAAC,CAAC;QACL,CAAC;QACD,MAAM,UAAU,GACd,aAAa,CAAC,OAAO,EAAE,OAAO,KAAK,KAAK,CAAC,OAAO;YAChD,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,KAAK,CAAC,IAAI,EAAE,EAAE;YAClD,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,KAAK,KAAK,CAAC,IAAI,EAAE,QAAQ;YAC9D,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,KAAK,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC;QAC/D,IAAI,UAAU,EAAE,CAAC;YACf,yBAAyB,CAAC,KAAK,EAAE,CAAC;QACpC,CAAC;QACD,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;QAC9B,qEAAqE;QACrE,OAAO,yBAAyB,CAAC;YAC/B,KAAK;YACL,KAAK;YACL,QAAQ;YACR,OAAO;YACP,YAAY;SACb,CAAC,CAAC;IACL,CAAC,EACD,CAAC,eAAe,EAAE,yBAAyB,CAAC,CAC7C,CAAC;IAEF,MAAM,kBAAkB,GAAG,WAAW,CACpC,KAAK,EAAE,EACL,KAAK,EACL,KAAK,EACL,QAAQ,EACR,OAAO,GAAG,WAAW,EACrB,YAAY,GAOb,EAAiB,EAAE;QAClB,MAAM,GAAG,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;QACtD,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO;QAE9B,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAEnD,mEAAmE;QACnE,qEAAqE;QACrE,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO,CAAC,IAAI,CACV,iEAAiE,EACjE,KAAK,CAAC,OAAO,CACd,CAAC;YACF,eAAe,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAEhD,iDAAiD;YACjD,2DAA2D;YAC3D,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CACV,8EAA8E,CAC/E,CAAC;gBACF,eAAe,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBACvC,OAAO;YACT,CAAC;YAED,yEAAyE;YACzE,yEAAyE;YACzE,6CAA6C;YAC7C,eAAe,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kDAAkD;YAClD,kFAAkF;YAClF,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;YACjE,eAAe,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,EACD,CAAC,eAAe,EAAE,SAAS,CAAC,CAC7B,CAAC;IAEF,MAAM,yBAAyB,GAAG,oBAAoB,CACpD,KAAK,EAAE,EACL,KAAK,EACL,KAAK,EACL,QAAQ,EACR,OAAO,EACP,YAAY,GAOb,EAAE,EAAE;QACH,qEAAqE;QACrE,qEAAqE;QACrE,0DAA0D;QAC1D,OAAO,kBAAkB,CAAC;YACxB,KAAK;YACL,KAAK;YACL,QAAQ;YACR,OAAO;YACP,YAAY;SACb,CAAC,CAAC;IACL,CAAC,EACD,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,0BAA0B,GAAG,CAAC,EAC7D,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB,CAAC;IAEF,kEAAkE;IAElE,KAAK,UAAU,SAAS,CACtB,KAAsB,EACtB,QAAmC,EACnC,KAAyB;QAEzB,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,qFAAqF;QACrF,wDAAwD;QACxD,IAAI,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC;gBACxC,EAAE,EAAE,KAAK,CAAC,OAAO;gBACjB,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,CAAC;aACX,CAAC,CAAC;YACH,IAAI,SAAS,EAAE,CAAC;gBACd,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,6BAA6B,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;QAED,IAAI,EAAE,GAAG,MAAM,CAAC,OAA6B,CAAC;QAE9C,IACE,CAAC,EAAE;YACH,EAAE,CAAC,MAAM;YACT,EAAE,CAAC,IAAI,KAAK,YAAY;YACxB,CAAC,EAAE,CAAC,MAAM;YACV,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE;YACrB,EAAE,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;YAC5B,EAAE,CAAC,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;YACtC,EAAE,CAAC,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EACpC,CAAC;YACD,iFAAiF;YACjF,0EAA0E;YAC1E,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;YACnC,MAAM,gBAAgB,GACpB,IAAI,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;gBACrC,IAAI,EAAE,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC;YAEtC,MAAM,kBAAkB,GACtB,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YAEpE,EAAE,GAAG;gBACH,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,SAAS,EAAE,SAAS,CAAC,IAAI;gBACzB,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBAC9B,EAAE,EAAE,IAAI,EAAE;gBACV,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC,IAAI;gBAC1B,KAAK,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC,OAAO;gBACpC,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,kBAAkB;gBAC5B,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO;aACxC,CAAC;QACJ,CAAC;QAED,EAAE,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACnC,EAAE,CAAC,KAAK,GAAG,QAAQ,IAAI,KAAK,CAAC;QAC7B,kDAAkD;QAClD,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;YACnC,EAAE,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QAC7C,CAAC;QAED,MAAM,2BAA2B,GAC/B,IAAI,CAAC,6BAA6B;YAClC,EAAE,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;QAE/D,IAAI,2BAA2B;YAC7B,EAAE,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;QAE9D,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;QAEpB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,oBAAoB,GAAG,WAAW,CACtC,KAAK,EAAE,GAAoB,EAAoB,EAAE;QAC/C,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,QAAQ,CAAC,OAAO,CAAC,SAAS,EAC1B,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACrB,CAAC;QAEF,oEAAoE;QACpE,sEAAsE;QAEtE,YAAY,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QAE/C,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;gBACrB,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACvC,CAAC;YAED,0EAA0E;YAC1E,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CACrC,CAAC,CAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,WAAW,CACxD,CAAC;YACF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,4EAA4E;gBAC5E,0BAA0B,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;gBACjE,qFAAqF;gBACrF,OAAO,IAAI,CAAC;YACd,CAAC;YAED,6EAA6E;YAC7E,qEAAqE;YACrE,yEAAyE;YACzE,iDAAiD;YACjD,8CAA8C;YAC9C,mFAAmF;YACnF,2EAA2E;YAC3E,kEAAkE;YAClE,MAAM,mBAAmB,GAAG,IAAI,CAAC,CAAC,4BAA4B;YAE9D,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI;iBAC/B,GAAG,CAAC,CAAC,CAAgB,EAAE,EAAE;gBACxB,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY;oBACzB,OAAO;wBACL,GAAI,CAAwB,CAAC,QAAQ;wBACrC,EAAE,EAAG,CAAwB,CAAC,MAAM;qBACrC,CAAC;gBACJ,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe;oBAC5B,OAAO;wBACL,EAAE,EAAG,CAA2B,CAAC,WAAW;wBAC5C,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ;wBAC7B,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO;qBAC5B,CAAC;gBACJ,OAAO,SAAS,CAAC;YACnB,CAAC,CAAC;iBACD,IAAI,EAAE;iBACN,MAAM,CACL,CAAC,CAA6B,EAAuB,EAAE,CAAC,CAAC,IAAI,IAAI,CAClE,CAAC;YAEJ,MAAM,eAAe,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;YAEnD,sFAAsF;YACtF,sFAAsF;YACtF,4EAA4E;YAC5E,2FAA2F;YAE3F,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YACxE,qFAAqF;YACrF,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,CAC/B,QAAQ,CAAC,OAAO,CAAC,WAAW,EAC5B,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CACnC,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,EACD,CAAC,EAAE,EAAE,eAAe,CAAC,CACtB,CAAC;IAEF,MAAM,cAAc,GAAG,WAAW,CAChC,KAAK,EAAE,YAAsB,EAAoB,EAAE;QACjD,IAAI,CAAC,YAAY,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAEvC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YACnC,OAAO,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;gBAChD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,OAAO,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAC;QACpC,CAAC;QAED,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC;YACH,wEAAwE;YACxE,MAAM,SAAS,GAAoB,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;gBACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;gBACpE,IAAI,KAAK;oBAAE,OAAO,KAAK,CAAC;gBAExB,8CAA8C;gBAC9C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAS,CAAC;YACvD,CAAC,CAAC,CAAC;YAEH,8DAA8D;YAC9D,MAAM,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC7C,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI;oBAAE,OAAO,CAAC,CAAC;gBACjC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACjE,CAAC,CAAC,CAAC;YAEH,OAAO,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;QAC1B,CAAC;IACH,CAAC,EACD,CAAC,oBAAoB,CAAC,CACvB,CAAC;IAEF,MAAM,IAAI,GAAG,WAAW,CACtB,KAAK,EAAE,WAAoB,EAAoB,EAAE;QAC/C,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YACnC,OAAO,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;gBAChD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,OAAO,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAC;QACpC,CAAC;QACD,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAEvB,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC;YACtD,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC;YAC3D,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC;YAEjD,IAAI,GAAoB,CAAC;YAEzB,gFAAgF;YAChF,mFAAmF;YACnF,yDAAyD;YACzD,IAAI,WAAW,IAAI,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC9D,WAAW,GAAG,SAAS,CAAC;YAC1B,CAAC;YAED,qFAAqF;YACrF,0FAA0F;YAC1F,uEAAuE;YACvE,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAChD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,IAAI,CAAC,CAAC,OAAO,CACzC,CAAC;gBACF,IAAI,QAAQ,EAAE,CAAC;oBACb,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACnB,CAAC;qBAAM,CAAC;oBACN,gFAAgF;oBAChF,0EAA0E;oBAC1E,GAAG,GAAG;wBACJ,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAA8B;qBACjE,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,kFAAkF;gBAClF,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW;qBAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;oBACZ,IAAI,CAAC,CAAC,CAAC,OAAO;wBAAE,OAAO,KAAK,CAAC;oBAC7B,IAAI,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBAAE,OAAO,KAAK,CAAC;oBAEtD,qCAAqC;oBACrC,IACE,eAAe;wBACf,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,OAAO,CAAC,SAAS,EAC1C,CAAC;wBACD,OAAO,KAAK,CAAC;oBACf,CAAC;oBAED,2FAA2F;oBAC3F,IAAI,WAAW,KAAK,cAAc,IAAI,WAAW,EAAE,CAAC;wBAClD,IACE,CAAC,CAAC,CAAC,QAAQ;4BACX,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE;4BAChC,CAAC,CAAC,QAAQ,CAAC,QAAQ,KAAK,WAAW,CAAC,QAAQ,EAC5C,CAAC;4BACD,OAAO,KAAK,CAAC;wBACf,CAAC;oBACH,CAAC;oBAED,0FAA0F;oBAC1F,IAAI,WAAW,KAAK,iBAAiB,IAAI,WAAW,EAAE,CAAC;wBACrD,IACE,CAAC,CAAC,CAAC,QAAQ;4BACX,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE;4BAChC,CAAC,CAAC,QAAQ,CAAC,QAAQ,KAAK,WAAW,CAAC,QAAQ;4BAC5C,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,WAAW,CAAC,OAAO,EAC1C,CAAC;4BACD,OAAO,KAAK,CAAC;wBACf,CAAC;oBACH,CAAC;oBAED,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACjB,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;gBAChB,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;gBACxB,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;gBACxB,OAAO,KAAK,CAAC;YACf,CAAC;YAED,qFAAqF;YACrF,IAAK,OAA6B,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACtD,OAAO,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;YACzC,CAAC;YAED,oEAAoE;YACpE,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,KAAK,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;YACxE,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,SAAS,GAAG,MAAM,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;oBACvD,EAAE,CAAC,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC;wBACxC,MAAM,EAAE,4CAA4C;wBACpD,OAAO,EAAE,KAAK,CAAC,aAAa,CAC1B,KAAK,EACL,EAAE,SAAS,EAAE,WAAW,EAAE,EAC1B,KAAK,CAAC,aAAa,CACjB,GAAG,EACH,IAAI,EACJ,0CAA0C,OAAO,CAAC,IAAI,EAAE,IAAI,IAAI,cAAc,wDAAwD,CACvI,EACD,KAAK,CAAC,aAAa,CAAC,2BAA2B,EAAE;4BAC/C,KAAK,EAAE,OAAO,CAAC,KAAK;4BACpB,WAAW,EAAE,OAAO,CAAC,WAAW;yBACjC,CAAC,CACH;wBACD,WAAW,EAAE,MAAM;wBACnB,WAAW,EAAE,QAAQ;wBACrB,UAAU,EAAE,KAAK;wBACjB,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;wBAC3B,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;qBAC7B,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;oBACxB,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YAED,yEAAyE;YACzE,gFAAgF;YAChF,IAAI,OAAO,IAAI,wBAAwB,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpE,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;oBACtC,MAAM,iBAAiB,GACrB,OAAO,CAAC,IAAI,KAAK,aAAa;wBAC5B,CAAC,CAAC,aAAa;wBACf,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,cAAc;4BAC/B,CAAC,CAAC,cAAc;4BAChB,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY;gCAC7B,CAAC,CAAC,YAAY;gCACd,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY;oCAC7B,CAAC,CAAC,YAAY;oCACd,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,aAAa;wCAC9B,CAAC,CAAC,aAAa;wCACjB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;oBAEzB,EAAE,CAAC,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC;wBACxC,MAAM,EAAE,QAAQ,iBAAiB,GAAG;wBACpC,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,2BAA2B,EAAE;4BACxD,KAAK,EAAE,OAAO,CAAC,KAAK;4BACpB,WAAW,EAAE,OAAO,CAAC,WAAW;yBACjC,CAAC;wBACF,WAAW,EAAE,MAAM;wBACnB,WAAW,EAAE,QAAQ;wBACrB,UAAU,EAAE,KAAK;wBACjB,MAAM,EAAE,KAAK,IAAI,EAAE;4BACjB,2DAA2D;4BAC3D,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAC7C,QAAQ,CAAC,OAAO,CAAC,SAAS,EAC1B,OAAQ,CAAC,EAAE,EACX,MAAM,CACP,CAAC;4BAEF,IACE,YAAY,CAAC,IAAI,KAAK,SAAS;gCAC/B,YAAY,CAAC,IAAI,EAAE,kBAAkB,EACrC,CAAC;gCACD,6CAA6C;gCAC7C,MAAM,MAAM,GAAG,YAAY,CAAC,IAAK,CAAC;gCAClC,EAAE,CAAC,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC;oCACxC,MAAM,EAAE,kDAAkD;oCAC1D,OAAO,EAAE,KAAK,CAAC,aAAa,CAC1B,6BAA6B,EAC7B;wCACE,MAAM;qCACP,CACF;oCACD,WAAW,EAAE,aAAa;oCAC1B,WAAW,EAAE,QAAQ;oCACrB,UAAU,EAAE,KAAK;oCACjB,MAAM,EAAE,KAAK,IAAI,EAAE;wCACjB,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;wCAC/C,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;wCACxB,OAAO,CAAC,MAAM,CAAC,CAAC;oCAClB,CAAC;oCACD,MAAM,EAAE,GAAG,EAAE;wCACX,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;wCACxB,OAAO,CAAC,KAAK,CAAC,CAAC;oCACjB,CAAC;iCACF,CAAC,CAAC;4BACL,CAAC;iCAAM,CAAC;gCACN,yCAAyC;gCACzC,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;gCAC/C,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;gCACxB,OAAO,CAAC,MAAM,CAAC,CAAC;4BAClB,CAAC;wBACH,CAAC;wBACD,MAAM,EAAE,GAAG,EAAE;4BACX,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;4BACxB,OAAO,CAAC,KAAK,CAAC,CAAC;wBACjB,CAAC;qBACF,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;YAED,iEAAiE;YACjE,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAC7C,QAAQ,CAAC,OAAO,CAAC,SAAS,EAC1B,OAAQ,CAAC,EAAE,EACX,MAAM,CACP,CAAC;YAEF,IACE,YAAY,CAAC,IAAI,KAAK,SAAS;gBAC/B,YAAY,CAAC,IAAI,EAAE,kBAAkB,EACrC,CAAC;gBACD,6CAA6C;gBAC7C,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;oBACtC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAK,CAAC;oBAClC,EAAE,CAAC,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC;wBACxC,MAAM,EAAE,kDAAkD;wBAC1D,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,6BAA6B,EAAE;4BAC1D,MAAM;yBACP,CAAC;wBACF,WAAW,EAAE,aAAa;wBAC1B,WAAW,EAAE,QAAQ;wBACrB,UAAU,EAAE,KAAK;wBACjB,MAAM,EAAE,KAAK,IAAI,EAAE;4BACjB,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;4BAC/C,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;4BACxB,OAAO,CAAC,MAAM,CAAC,CAAC;wBAClB,CAAC;wBACD,MAAM,EAAE,GAAG,EAAE;4BACX,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;4BACxB,OAAO,CAAC,KAAK,CAAC,CAAC;wBACjB,CAAC;qBACF,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;YAED,sEAAsE;YACtE,IACE,OAAO;gBACP,OAAO,CAAC,QAAQ;gBAChB,WAAW;gBACX,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE;oBACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,KAAK,WAAW,CAAC,QAAQ;oBAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,KAAK,WAAW,CAAC,OAAO,CAAC,EACnD,CAAC;gBACD,4EAA4E;gBAC5E,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;oBACtC,EAAE,CAAC,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC;wBACxC,MAAM,EAAE,kCAAkC;wBAC1C,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,wBAAwB,EAAE;4BACrD,cAAc,EAAE,OAAO,CAAC,KAAK;4BAC7B,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE;4BAC3B,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;yBACxC,CAAC;wBACF,WAAW,EAAE,iBAAiB;wBAC9B,WAAW,EAAE,aAAa;wBAC1B,UAAU,EAAE,IAAI;wBAChB,MAAM,EAAE,KAAK,IAAI,EAAE;4BACjB,2DAA2D;4BAC3D,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;4BAClD,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;4BACxB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,oDAAoD;wBACtE,CAAC;wBACD,MAAM,EAAE,KAAK,IAAI,EAAE;4BACjB,oCAAoC;4BACpC,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;4BAC/C,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;4BACxB,OAAO,CAAC,MAAM,CAAC,CAAC;wBAClB,CAAC;qBACF,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;YAED,oEAAoE;YACpE,OAAO,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACzC,CAAC;gBAAS,CAAC;YACT,wBAAwB;YACxB,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,EACD,CAAC,EAAE,EAAE,oBAAoB,CAAC,CAC3B,CAAC;IAEF,MAAM,oBAAoB,GAAG,WAAW,CACtC,KAAK,EAAE,EAAiB,EAAoB,EAAE;QAC5C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QACpE,yFAAyF;QACzF,qFAAqF;QAErF,YAAY,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QAE/C,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAErC,wEAAwE;YACxE,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CACrC,CAAC,CAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,WAAW,CACxD,CAAC;YACF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,4EAA4E;gBAC5E,0BAA0B,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;gBACjE,qFAAqF;gBACrF,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI;iBAC/B,GAAG,CAAC,CAAC,CAAgB,EAAE,EAAE;gBACxB,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY;oBACzB,OAAO;wBACL,GAAI,CAAwB,CAAC,QAAQ;wBACrC,EAAE,EAAG,CAAwB,CAAC,MAAM;qBACrC,CAAC;gBACJ,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe;oBAC5B,OAAO;wBACL,EAAE,EAAG,CAA2B,CAAC,WAAW;wBAC5C,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ;wBAC7B,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO;qBAC5B,CAAC;gBACJ,OAAO,SAAS,CAAC;YACnB,CAAC,CAAC;iBACD,MAAM,CACL,CAAC,CAA6B,EAAuB,EAAE,CAAC,CAAC,IAAI,IAAI,CAClE,CAAC;YAEJ,MAAM,eAAe,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;YACnD,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YACxE,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,CAC/B,QAAQ,CAAC,OAAO,CAAC,WAAW,EAC5B,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CACnC,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,EACD,CAAC,EAAE,EAAE,eAAe,CAAC,CACtB,CAAC;IAEF,MAAM,IAAI,GAAG,WAAW,CACtB,KAAK,EAAE,WAAoB,EAAoB,EAAE;QAC/C,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YACnC,OAAO,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;gBAChD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,OAAO,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAC;QACpC,CAAC;QACD,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAEvB,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC;YACtD,IAAI,CAAC,WAAW;gBAAE,OAAO,KAAK,CAAC;YAE/B,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC;YAC3D,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC;YAEjD,IAAI,EAA6B,CAAC;YAElC,IAAI,WAAW,IAAI,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC9D,WAAW,GAAG,SAAS,CAAC;YAC1B,CAAC;YAED,qFAAqF;YACrF,0FAA0F;YAC1F,uEAAuE;YACvE,IAAI,WAAW,EAAE,CAAC;gBAChB,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CACpC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,IAAI,CAAC,CAAC,OAAO,CACzC,CAAC;gBACF,IAAI,CAAC,EAAE,EAAE,CAAC;oBACR,EAAE,GAAG;wBACH,EAAE,EAAE,WAAW;wBACf,IAAI,EAAE,SAAS;qBACY,CAAC;gBAChC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,kFAAkF;gBAClF,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC1D,IAAI,CAAC,CAAC,CAAC,OAAO;wBAAE,OAAO,KAAK,CAAC;oBAC7B,IAAI,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBAAE,OAAO,KAAK,CAAC;oBAEtD,qCAAqC;oBACrC,IAAI,eAAe,IAAI,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;wBAClE,OAAO,KAAK,CAAC;oBACf,CAAC;oBAED,2FAA2F;oBAC3F,IAAI,WAAW,KAAK,cAAc,IAAI,WAAW,EAAE,CAAC;wBAClD,IACE,CAAC,CAAC,CAAC,QAAQ;4BACX,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE;4BAChC,CAAC,CAAC,QAAQ,CAAC,QAAQ,KAAK,WAAW,CAAC,QAAQ,EAC5C,CAAC;4BACD,OAAO,KAAK,CAAC;wBACf,CAAC;oBACH,CAAC;oBAED,0FAA0F;oBAC1F,IAAI,WAAW,KAAK,iBAAiB,IAAI,WAAW,EAAE,CAAC;wBACrD,IACE,CAAC,CAAC,CAAC,QAAQ;4BACX,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE;4BAChC,CAAC,CAAC,QAAQ,CAAC,QAAQ,KAAK,WAAW,CAAC,QAAQ;4BAC5C,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,WAAW,CAAC,OAAO,EAC1C,CAAC;4BACD,OAAO,KAAK,CAAC;wBACf,CAAC;oBACH,CAAC;oBAED,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,EAAE;gBAAE,OAAO,KAAK,CAAC;YAEtB,qFAAqF;YACrF,IAAK,EAAwB,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACjD,OAAO,MAAM,oBAAoB,CAAC,EAAE,CAAC,CAAC;YACxC,CAAC;YAED,oEAAoE;YACpE,MAAM,cAAc,GAAG,EAAE,CAAC,SAAS,KAAK,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;YACnE,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,SAAS,GAAG,MAAM,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;oBACvD,EAAE,CAAC,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC;wBACxC,MAAM,EAAE,kCAAkC;wBAC1C,OAAO,EAAE,0CAA0C,EAAE,CAAC,IAAI,EAAE,IAAI,IAAI,cAAc,qCAAqC;wBACvH,WAAW,EAAE,MAAM;wBACnB,WAAW,EAAE,QAAQ;wBACrB,UAAU,EAAE,KAAK;wBACjB,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;wBAC3B,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;qBAC7B,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;oBACxB,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YAED,yEAAyE;YACzE,IAAI,wBAAwB,CAAC,EAAE,CAAC,EAAE,CAAC;gBACjC,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;oBACtC,MAAM,iBAAiB,GACrB,EAAE,CAAC,IAAI,KAAK,aAAa;wBACvB,CAAC,CAAC,aAAa;wBACf,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,cAAc;4BAC1B,CAAC,CAAC,cAAc;4BAChB,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,YAAY;gCACxB,CAAC,CAAC,YAAY;gCACd,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,YAAY;oCACxB,CAAC,CAAC,YAAY;oCACd,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,aAAa;wCACzB,CAAC,CAAC,aAAa;wCACjB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;oBAEpB,EAAE,CAAC,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC;wBACxC,MAAM,EAAE,QAAQ,iBAAiB,GAAG;wBACpC,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,2BAA2B,EAAE;4BACxD,KAAK,EAAE,EAAE,CAAC,KAAK;4BACf,WAAW,EAAE,EAAE,CAAC,WAAW;yBAC5B,CAAC;wBACF,WAAW,EAAE,MAAM;wBACnB,WAAW,EAAE,QAAQ;wBACrB,UAAU,EAAE,KAAK;wBACjB,MAAM,EAAE,KAAK,IAAI,EAAE;4BACjB,2DAA2D;4BAC3D,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAC7C,QAAQ,CAAC,OAAO,CAAC,SAAS,EAC1B,EAAE,CAAC,EAAE,EACL,MAAM,CACP,CAAC;4BAEF,IACE,YAAY,CAAC,IAAI,KAAK,SAAS;gCAC/B,YAAY,CAAC,IAAI,EAAE,kBAAkB,EACrC,CAAC;gCACD,6CAA6C;gCAC7C,MAAM,MAAM,GAAG,YAAY,CAAC,IAAK,CAAC;gCAClC,EAAE,CAAC,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC;oCACxC,MAAM,EAAE,kDAAkD;oCAC1D,OAAO,EAAE,KAAK,CAAC,aAAa,CAC1B,6BAA6B,EAC7B;wCACE,MAAM;qCACP,CACF;oCACD,WAAW,EAAE,aAAa;oCAC1B,WAAW,EAAE,QAAQ;oCACrB,UAAU,EAAE,KAAK;oCACjB,MAAM,EAAE,KAAK,IAAI,EAAE;wCACjB,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,EAAE,CAAC,CAAC;wCAC/C,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;wCACxB,OAAO,CAAC,OAAO,CAAC,CAAC;oCACnB,CAAC;oCACD,MAAM,EAAE,GAAG,EAAE;wCACX,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;wCACxB,OAAO,CAAC,KAAK,CAAC,CAAC;oCACjB,CAAC;iCACF,CAAC,CAAC;4BACL,CAAC;iCAAM,CAAC;gCACN,yCAAyC;gCACzC,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,EAAE,CAAC,CAAC;gCAC/C,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;gCACxB,OAAO,CAAC,OAAO,CAAC,CAAC;4BACnB,CAAC;wBACH,CAAC;wBACD,MAAM,EAAE,GAAG,EAAE;4BACX,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;4BACxB,OAAO,CAAC,KAAK,CAAC,CAAC;wBACjB,CAAC;qBACF,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;YAED,iEAAiE;YACjE,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAC7C,QAAQ,CAAC,OAAO,CAAC,SAAS,EAC1B,EAAE,CAAC,EAAE,EACL,MAAM,CACP,CAAC;YAEF,IACE,YAAY,CAAC,IAAI,KAAK,SAAS;gBAC/B,YAAY,CAAC,IAAI,EAAE,kBAAkB,EACrC,CAAC;gBACD,6CAA6C;gBAC7C,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;oBACtC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAK,CAAC;oBAClC,EAAE,CAAC,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC;wBACxC,MAAM,EAAE,kDAAkD;wBAC1D,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,6BAA6B,EAAE;4BAC1D,MAAM;yBACP,CAAC;wBACF,WAAW,EAAE,aAAa;wBAC1B,WAAW,EAAE,QAAQ;wBACrB,UAAU,EAAE,KAAK;wBACjB,MAAM,EAAE,KAAK,IAAI,EAAE;4BACjB,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,EAAE,CAAC,CAAC;4BAC/C,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;4BACxB,OAAO,CAAC,OAAO,CAAC,CAAC;wBACnB,CAAC;wBACD,MAAM,EAAE,GAAG,EAAE;4BACX,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;4BACxB,OAAO,CAAC,KAAK,CAAC,CAAC;wBACjB,CAAC;qBACF,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;YAED,OAAO,MAAM,oBAAoB,CAAC,EAAE,CAAC,CAAC;QACxC,CAAC;gBAAS,CAAC;YACT,wBAAwB;YACxB,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;QAC1B,CAAC;IACH,CAAC,EACD,CAAC,EAAE,EAAE,eAAe,EAAE,oBAAoB,CAAC,CAC5C,CAAC;IAEF,MAAM,WAAW,GAAG,WAAW,CAC7B,KAAK,EACH,KAAuB,EACvB,OAAqD,EACrD,EAAE;QACF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE/B,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9D,mDAAmD;QACnD,IAAI,UAAU,GAAwB,EAAE,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAChD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC7C,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;YAC3B,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACzD,qDAAqD;QACvD,CAAC;QAED,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CACnC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CACzC,CAAC;QAEF,kEAAkE;QAClE,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAI7B,CAAC,OAAO,EAAE,EAAE;YACb,MAAM,cAAc,GAAG,sBAAsB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAC1D,MAAM,oBAAoB,GAAG,sBAAsB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAEhE,MAAM,aAAa,GAAG,CACpB,eAAK,SAAS,EAAC,gBAAgB,aAC5B,mCAAmC,CAAC,CAAC,CAAC,CACrC,cAAK,SAAS,EAAC,mDAAmD,YAChE,iBAAO,SAAS,EAAC,uCAAuC,aACtD,gBACE,IAAI,EAAC,UAAU,EACf,EAAE,EAAE,oBAAoB,iBACZ,6BAA6B,EACzC,cAAc,EAAE,OAAO,EAAE,UAAU,IAAI,KAAK,EAC5C,SAAS,EAAC,wCAAwC,GAClD,EACF,gBAAM,SAAS,EAAC,WAAW,aACzB,eAAM,SAAS,EAAC,wCAAwC,wDAEjD,EACP,eAAM,SAAS,EAAC,4BAA4B,8GAGrC,IACF,IACD,GACJ,CACP,CAAC,CAAC,CAAC,IAAI,EAER,iBAAO,SAAS,EAAC,wCAAwC,aACvD,gBACE,IAAI,EAAC,UAAU,EACf,EAAE,EAAE,cAAc,iBACN,6BAA6B,EACzC,cAAc,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI,EACxC,SAAS,EAAC,iCAAiC,GAC3C,EACF,eAAM,SAAS,EAAC,SAAS,0DAElB,IACD,IACJ,CACP,CAAC;YAEF,MAAM,aAAa,GAAG,GAAG,EAAE;gBACzB,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CACtC,cAAc,CACY,CAAC;gBAC7B,OAAO,QAAQ,EAAE,OAAO,IAAI,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC;YACvD,CAAC,CAAC;YAEF,MAAM,aAAa,GAAG,GAAG,EAAE;gBACzB,IAAI,CAAC,mCAAmC;oBAAE,OAAO,KAAK,CAAC;gBACvD,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CACtC,oBAAoB,CACM,CAAC;gBAC7B,OAAO,QAAQ,EAAE,OAAO,IAAI,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC;YAC3D,CAAC,CAAC;YAEF,IAAI,aAAa,EAAE,CAAC;gBAClB,EAAE,CAAC,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC;oBACxC,MAAM,EAAE,8BAA8B;oBACtC,OAAO,EAAE,CACP,eAAK,SAAS,EAAC,WAAW,aACxB,6GAGI,EACJ,KAAC,kBAAkB,IAAC,UAAU,EAAE,UAAU,GAAI,EAC9C,YAAG,SAAS,EAAC,oCAAoC,wGAG7C,EACH,aAAa,IACV,CACP;oBACD,WAAW,EAAE,eAAe;oBAC5B,WAAW,EAAE,QAAQ;oBACrB,MAAM,EAAE,GAAG,EAAE,CACX,OAAO,CAAC;wBACN,SAAS,EAAE,IAAI;wBACf,UAAU,EAAE,aAAa,EAAE;wBAC3B,UAAU,EAAE,aAAa,EAAE;qBAC5B,CAAC;oBACJ,MAAM,EAAE,GAAG,EAAE,CACX,OAAO,CAAC;wBACN,SAAS,EAAE,KAAK;wBAChB,UAAU,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI;wBACpC,UAAU,EAAE,mCAAmC;4BAC7C,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC;4BAChC,CAAC,CAAC,KAAK;qBACV,CAAC;oBACJ,UAAU,EAAE,KAAK;iBAClB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,0CAA0C;gBAC1C,EAAE,CAAC,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC;oBACxC,MAAM,EAAE,cAAc;oBACtB,OAAO,EAAE,CACP,0BACE,2DACkC,GAAG,EACnC,eAAM,SAAS,EAAC,eAAe,YAAE,SAAS,GAAQ,SAChD,EACH,aAAa,IACV,CACP;oBACD,WAAW,EAAE,QAAQ;oBACrB,WAAW,EAAE,QAAQ;oBACrB,MAAM,EAAE,GAAG,EAAE,CACX,OAAO,CAAC;wBACN,SAAS,EAAE,IAAI;wBACf,UAAU,EAAE,aAAa,EAAE;wBAC3B,UAAU,EAAE,aAAa,EAAE;qBAC5B,CAAC;oBACJ,MAAM,EAAE,GAAG,EAAE,CACX,OAAO,CAAC;wBACN,SAAS,EAAE,KAAK;wBAChB,UAAU,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI;wBACpC,UAAU,EAAE,mCAAmC;4BAC7C,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC;4BAChC,CAAC,CAAC,KAAK;qBACV,CAAC;oBACJ,UAAU,EAAE,KAAK;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,SAAS;YAAE,OAAO;QAE9B,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC;QACvC,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC;QAC1C,MAAM,EAAE,GAAyB;YAC/B,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC;YACnC,QAAQ,EACN,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU;gBACtC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;YAC9B,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC9B,EAAE,EAAE,IAAI,EAAE;YACV,KAAK,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,IAAI,SAAS,EAAE;YACnE,OAAO,EAAE,YAAY;YACrB,UAAU,EAAE,eAAe;SAC5B,CAAC;QAEF,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;QACvC,eAAe,CAAC,cAAc,CAC5B,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACxB,IAAI,EAAE,CAAC,CAAC,UAAU;YAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACrB,CAAC,CAAC,CACJ,CAAC;QACF,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC,EACD,CAAC,eAAe,EAAE,SAAS,EAAE,EAAE,CAAC,CACjC,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAC3B,KAAK,EAAE,KAAuB,EAAE,MAAsB,EAAE,KAAa,EAAE,EAAE;QACvE,+DAA+D;QAC/D,MAAM,EAAE,GAAG;YACT,IAAI,EAAE,YAAqB;YAC3B,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,cAAc,EAAE,MAAM,CAAC,EAAE;YACzB,WAAW,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YAC3C,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC;YACnC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC9B,EAAE,EAAE,IAAI,EAAE;YACV,KAAK,EAAE,UAAU,KAAK,CAAC,MAAM,aAAa;SAC3C,CAAC;QAEF,MAAM,SAAS,CAAC,EAAS,CAAC,CAAC;IAC7B,CAAC,EACD,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAC5B,KAAK,EAAE,MAAsB,EAAE,UAAkB,EAAE,IAAY,EAAE,EAAE;QACjE,MAAM,EAAE,GAAwB;YAC9B,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,UAAU,EAAE,UAAU;YACtB,IAAI,EAAE,IAAI;YACV,QAAQ,EACN,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,IAAI,iBAAiB,CAAC,MAAM,CAAC;YACrE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC9B,EAAE,EAAE,IAAI,EAAE;YACV,KAAK,EAAE,UAAU,IAAI,EAAE;YACvB,OAAO,EAAE,IAAI;SACd,CAAC;QAEF,MAAM,MAAM,GAAG,CAAC,MAAM,SAAS,CAAC,EAAE,CAAC,CAAwB,CAAC;QAC5D,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YACrC,OAAO;QACT,CAAC;QACD,eAAe,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACvC,OAAO;YACL,EAAE,EAAE,MAAM,CAAC,aAAa;YACxB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,CAAC;SACO,CAAC;IACtB,CAAC,EACD,CAAC,eAAe,EAAE,SAAS,CAAC,CAC7B,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAC/B,KAAK,EAAE,IAAoB,EAAE,EAAE;QAC7B,MAAM,EAAE,GAAwB;YAC9B,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC;YAC7B,QAAQ,EACN,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,IAAI,iBAAiB,CAAC,IAAI,CAAC;YACnE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC9B,EAAE,EAAE,IAAI,EAAE;YACV,KAAK,EAAE,kBAAkB,IAAI,CAAC,EAAE,EAAE;YAClC,OAAO,EAAE,IAAI;SACd,CAAC;QAEF,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC,EACD,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAC/B,KAAK,EAAE,IAAoB,EAAE,EAAE;QAC7B,MAAM,EAAE,GAA2B;YACjC,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EACN,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,IAAI,iBAAiB,CAAC,IAAI,CAAC;YACnE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC9B,EAAE,EAAE,IAAI,EAAE;YACV,KAAK,EAAE,kBAAkB,IAAI,CAAC,OAAO,SAAS,IAAI,CAAC,EAAE,EAAE;YACvD,OAAO,EAAE,IAAI;SACd,CAAC;QAEF,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC,EACD,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAC3B,KAAK,EAAE,KAAuB,EAAE,MAAsB,EAAE,KAAa,EAAE,EAAE;QACvE,+DAA+D;QAC/D,MAAM,EAAE,GAAG;YACT,IAAI,EAAE,YAAqB;YAC3B,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,cAAc,EAAE,MAAM,CAAC,EAAE;YACzB,WAAW,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YAC3C,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC;YACnC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC9B,EAAE,EAAE,IAAI,EAAE;YACV,KAAK,EAAE,WAAW,KAAK,CAAC,MAAM,aAAa;SAC5C,CAAC;QAEF,IAAI,UAAU,GAAG,CAAC,MAAM,SAAS,CAAC,EAAS,CAAC,CAAQ,CAAC;QACrD,IACE,gCAAgC,CAAC,UAAqC,CAAC,EACvE,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,4BAA4B,CACjD,UAAU,CAAC,EAAE,EACb,OAAO,CACR,CAAC;gBACF,UAAU,GAAG,EAAE,GAAG,UAAU,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC9C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAED,4DAA4D;QAC5D,IAAI,UAAU,EAAE,cAAc,EAAE,CAAC;YAC/B,OAAO,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,CAAC;gBACpD,EAAE;gBACF,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,OAAO,EAAE,CAAC;aACX,CAAC,CAAqB,CAAC;QAC1B,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,EACD,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAC5B,KAAK,EAAE,KAAuB,EAAE,MAAsB,EAAE,KAAa,EAAE,EAAE;QACvE,MAAM,EAAE,GAAG;YACT,IAAI,EAAE,aAAsB;YAC5B,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,cAAc,EAAE,MAAM,CAAC,EAAE;YACzB,WAAW,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YAC3C,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC;YACnC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC9B,EAAE,EAAE,IAAI,EAAE;YACV,KAAK,EAAE,WAAW,KAAK,CAAC,MAAM,aAAa;SACd,CAAC;QAEhC,IAAI,WAAW,GAAG,CAAC,MAAM,SAAS,CAAC,EAAS,CAAC,CAAQ,CAAC;QACtD,IACE,gCAAgC,CAAC,WAAsC,CAAC,EACxE,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,4BAA4B,CACjD,WAAW,CAAC,EAAE,EACd,OAAO,CACR,CAAC;gBACF,WAAW,GAAG,EAAE,GAAG,WAAW,EAAE,GAAG,QAAQ,EAAE,CAAC;YAChD,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,EAAE,CAAC,cAAc,CAAC;oBAChB,OAAO,EAAE,cAAc;oBACvB,OAAO,EAAE,CAAC,EAAE,OAAO,IAAI,qBAAqB;iBAC7C,CAAC,CAAC;gBACH,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAED,IAAI,WAAW,EAAE,YAAY,EAAE,CAAC;YAC9B,EAAE,CAAC,cAAc,CAAC;gBAChB,OAAO,EAAE,cAAc;gBACvB,OAAO,EAAE,WAAW,CAAC,YAAY;aAClC,CAAC,CAAC;YACH,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,WAAW,EAAE,cAAc,EAAE,CAAC;YAChC,OAAO,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,CAAC;gBACrD,EAAE;gBACF,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,OAAO,EAAE,CAAC;aACX,CAAC,CAAqB,CAAC;QAC1B,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,EACD,CAAC,SAAS,EAAE,EAAE,CAAC,CAChB,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAC/B,KAAK,EAAE,IAAoB,EAAE,MAAsB,EAAE,IAAY,EAAE,EAAE;QACnE,+DAA+D;QAC/D,wEAAwE;QACxE,MAAM,EAAE,GAAG;YACT,IAAI,EAAE,YAAqB;YAC3B,aAAa,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,cAAc,EAAE,MAAM,CAAC,EAAE;YACzB,WAAW,EAAE,SAAS,EAAE,6CAA6C;YACrE,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC;YACnC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC9B,EAAE,EAAE,IAAI,EAAE;YACV,KAAK,EAAE,qBAAqB;YAC5B,IAAI,EAAE,6CAA6C;SACpD,CAAC;QAEF,IAAI,UAAU,GAAG,CAAC,MAAM,SAAS,CAAC,EAAS,CAAC,CAAQ,CAAC;QACrD,IACE,gCAAgC,CAAC,UAAqC,CAAC,EACvE,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,4BAA4B,CACjD,UAAU,CAAC,EAAE,EACb,OAAO,CACR,CAAC;gBACF,UAAU,GAAG,EAAE,GAAG,UAAU,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC9C,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,EAAE,CAAC,cAAc,CAAC;oBAChB,OAAO,EAAE,kBAAkB;oBAC3B,OAAO,EAAE,CAAC,EAAE,OAAO,IAAI,qBAAqB;iBAC7C,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;QACH,CAAC;QAED,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;YAC5B,EAAE,CAAC,cAAc,CAAC;gBAChB,OAAO,EAAE,kBAAkB;gBAC3B,OAAO,EAAE,UAAU,CAAC,YAAY;aACjC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,eAAe,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAEvC,2DAA2D;QAC3D,IAAI,UAAU,EAAE,cAAc,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,OAAO;gBACL,EAAE,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;gBAChC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,OAAO,EAAE,CAAC;aACO,CAAC;QACtB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,EACD,CAAC,SAAS,EAAE,eAAe,EAAE,EAAE,CAAC,CACjC,CAAC;IAEF,MAAM,WAAW,GAAG,WAAW,CAC7B,KAAK,EAAE,SAA+B,EAAE,EAAE;QACxC,MAAM,MAAM,GAAG,CAAC,MAAM,SAAS,CAAC,SAAS,EAAE;YACzC,OAAO,EAAE,WAAW;SACrB,CAAC,CAAyB,CAAC;QAC5B,OAAO,MAAM,CAAC;IAChB,CAAC,EACD,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,gEAAgE;QAChE,6DAA6D;QAC7D,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IAC7B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,yDAAyD;IACzD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;IACnC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;IAEnC,MAAM,GAAG,GAAG,OAAO,CACjB,GAAG,EAAE,CAAC,CAAC;QACL,YAAY;QACZ,UAAU;QACV,SAAS,EAAE,mBAAmB;QAC9B,WAAW,EAAE,qBAAqB;QAClC,sBAAsB,EAAE,gCAAgC;QACxD,SAAS;QACT,yBAAyB;QACzB,IAAI;QACJ,cAAc;QACd,IAAI;QACJ,oBAAoB,EAAE,SAAS;QAC/B,UAAU;QACV,WAAW;QACX,UAAU;QACV,aAAa;QACb,aAAa;QACb,WAAW;QACX,mBAAmB;QACnB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,SAAS;QACT,SAAS;QACT,UAAU;QACV,aAAa;QACb,WAAW;KACZ,CAAC,EACF;QACE,YAAY;QACZ,UAAU;QACV,mBAAmB;QACnB,qBAAqB;QACrB,gCAAgC;QAChC,SAAS;QACT,yBAAyB;QACzB,IAAI;QACJ,cAAc;QACd,IAAI;QACJ,SAAS;QACT,UAAU;QACV,WAAW;QACX,UAAU;QACV,aAAa;QACb,aAAa;QACb,WAAW;QACX,mBAAmB;QAEnB,SAAS;QACT,IAAI;QACJ,IAAI;QACJ,SAAS;QACT,UAAU;QACV,aAAa;QACb,WAAW;KACZ,CACF,CAAC;IAEF,oEAAoE;IACpE,iFAAiF;IACjF,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,yBAAyB,CAAC,KAAK,EAAE,CAAC;IACpC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,uDAAuD;IACvD,yEAAyE;IACzE,MAAM,qBAAqB,GAAG,WAAW,CAAC,CAAC,WAAmB,EAAE,EAAE;QAChE,0BAA0B,CAAC,CAAC,GAAG,EAAE,EAAE,CACjC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CACnD,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC;QACL,GAAG;QACH,OAAO,EAAE;YACP,qBAAqB;YACrB,uBAAuB;YACvB,qBAAqB;SACtB;QACD,OAAO;KACR,CAAC,EACF;QACE,uBAAuB;QACvB,qBAAqB;QACrB,qBAAqB;QACrB,GAAG;QACH,OAAO;KACR,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,KAAsB,EACtB,QAAmC,EACnC,KAAyB,EACzB,KASC;IAED,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7D,IAAI,CAAC,IAAI;QAAE,OAAO;IAElB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAChC,CAAC,CAAoC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,OAAO,CACjE,CAAC;IACF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CACT,oDAAoD,EACpD,KAAK,CAAC,OAAO,CACd,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IACzD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO;IAEjC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAChB,OAAO;IACT,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAExB,gEAAgE;IAChE,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,SAAS,EAAE,CAAC;IAEnI,iEAAiE;IACjE,MAAM,WAAW,GAAG,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxD,IAAI,WAAW,EAAE,CAAC;QAChB,wDAAwD;QACxD,WAAW,CAAC,QAAQ,GAAG,MAAM,IAAI,EAAE,CAAC;QACpC,WAAW,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC/C,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,SAAS,CAAC;QACtD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,mBAAmB,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CACrD,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;QAC3C,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ;QACvD,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE;QACvB,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CACjC,CAAC;IAEF,8EAA8E;IAC9E,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CACvC,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;QAC3C,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ;QACvD,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO;QACrD,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE;QACvB,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;QAC9B,IAAI,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,SAAS,CAAC;QAC/C,IAAI,CAAC,MAAM,KAAK,SAAS,CAC5B,CAAC;IAEF,IAAI,QAAQ,EAAE,CAAC;QACb,kCAAkC;QAClC,QAAQ,CAAC,QAAQ,GAAG,MAAM,IAAI,EAAE,CAAC;QACjC,QAAQ,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC5C,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,SAAS,CAAC;QACnD,MAAM,kBAAkB,GAAG,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;QACrD,KAAK,CAAC,cAAc,GAAG,kBAAkB,CAAC;QAC1C,6DAA6D;QAC7D,KAAK,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;QAC5C,OAAO,QAAQ,CAAC;IAClB,CAAC;SAAM,CAAC;QACN,8CAA8C;QAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC;QAC1C,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC;YAAE,OAAO;QAElD,MAAM,OAAO,GAAkB;YAC7B,EAAE,EAAE,IAAI,EAAE;YACV,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE;YAC1C,gBAAgB,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ;YACtD,eAAe,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;YACpD,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,EAAE;YAClC,QAAQ,EAAE,MAAM,IAAI,EAAE;YACtB,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,SAAS;YACrC,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,SAAS;YACxC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACjC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACjC,IAAI,EAAE,YAAY;SACnB,CAAC;QAEF,kDAAkD;QAClD,qBAAqB,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE7C,MAAM,kBAAkB,GAAG,CAAC,GAAG,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC9D,KAAK,CAAC,cAAc,GAAG,kBAAkB,CAAC;QAC1C,KAAK,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;QAC5C,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { MouseEvent as ReactMouseEvent } from "react";
2
+ import type { EditContextType } from "./client/editContext";
3
+ import type { ItemCommand } from "./commands/itemCommands";
4
+ import type { ItemDescriptor } from "./pageModel";
5
+ export declare function showItemContextMenu({ editContext, event, itemIds, language, version, openInNewSlotItem, commandCallback, }: {
6
+ editContext: EditContextType | undefined;
7
+ event: ReactMouseEvent | MouseEvent;
8
+ itemIds: string[];
9
+ language: string;
10
+ version?: number;
11
+ openInNewSlotItem?: ItemDescriptor;
12
+ commandCallback?: (command: ItemCommand, result: unknown) => void;
13
+ }): Promise<void>;
@@ -0,0 +1,80 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { SquarePlus } from "lucide-react";
3
+ import { Spinner } from "./ui/Spinner";
4
+ export async function showItemContextMenu({ editContext, event, itemIds, language, version = 0, openInNewSlotItem, commandCallback, }) {
5
+ if (!editContext || itemIds.length === 0)
6
+ return;
7
+ event.preventDefault();
8
+ event.stopPropagation();
9
+ const { clientX, clientY, shiftKey, altKey, ctrlKey } = event;
10
+ const syntheticEvent = new MouseEvent("contextmenu", {
11
+ bubbles: true,
12
+ cancelable: true,
13
+ view: window,
14
+ clientX,
15
+ clientY,
16
+ shiftKey,
17
+ altKey,
18
+ ctrlKey,
19
+ });
20
+ let loadingShown = false;
21
+ const loadingTimer = setTimeout(() => {
22
+ loadingShown = true;
23
+ editContext.showContextMenu(syntheticEvent, [
24
+ {
25
+ id: "loading",
26
+ label: "Loading…",
27
+ disabled: true,
28
+ icon: _jsx(Spinner, { size: "sm", className: "mr-2" }),
29
+ },
30
+ ]);
31
+ }, 100);
32
+ const items = await editContext.itemsRepository.getItems(itemIds.map((id) => ({ id, language, version })));
33
+ clearTimeout(loadingTimer);
34
+ const openInNewSlotMenuItems = openInNewSlotItem && !editContext.isMobile
35
+ ? [
36
+ {
37
+ id: "open-in-new-slot",
38
+ label: "Open in new slot",
39
+ icon: _jsx(SquarePlus, { className: "h-4 w-4" }),
40
+ command: async () => {
41
+ await editContext.loadItem(openInNewSlotItem, {
42
+ openInNewSlot: true,
43
+ });
44
+ },
45
+ },
46
+ { id: "sep-open-in-new-slot", separator: true },
47
+ ]
48
+ : [];
49
+ if (!items || items.length === 0) {
50
+ const menuItems = [
51
+ ...openInNewSlotMenuItems,
52
+ { id: "empty", label: "No actions available", disabled: true },
53
+ ];
54
+ if (loadingShown)
55
+ editContext.updateContextMenu(menuItems);
56
+ else
57
+ editContext.showContextMenu(syntheticEvent, menuItems);
58
+ return;
59
+ }
60
+ const menuItems = await editContext.configuration.editor.contentTree.contextMenu.factory({
61
+ items,
62
+ editContext,
63
+ commandCallback,
64
+ });
65
+ if (!menuItems || menuItems.length === 0) {
66
+ const emptyMenuItems = [
67
+ ...openInNewSlotMenuItems,
68
+ { id: "empty", label: "No actions available", disabled: true },
69
+ ];
70
+ if (loadingShown)
71
+ editContext.updateContextMenu(emptyMenuItems);
72
+ return;
73
+ }
74
+ const finalMenuItems = [...openInNewSlotMenuItems, ...menuItems];
75
+ if (loadingShown)
76
+ editContext.updateContextMenu(finalMenuItems);
77
+ else
78
+ editContext.showContextMenu(syntheticEvent, finalMenuItems);
79
+ }
80
+ //# sourceMappingURL=itemContextMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"itemContextMenu.js","sourceRoot":"","sources":["../../src/editor/itemContextMenu.tsx"],"names":[],"mappings":"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"}
@@ -10,27 +10,30 @@ import { FilterInput } from "../../components/FilterInput";
10
10
  import { executeSearch } from "../services/searchService";
11
11
  import { useDebouncedCallback } from "use-debounce";
12
12
  import { Spinner } from "../ui/Spinner";
13
+ import { showItemContextMenu } from "../itemContextMenu";
13
14
  // Memoized thumbnail item component to prevent unnecessary re-renders
14
- const ThumbnailItem = memo(({ thumbnail, isSelected, onClick, viewMode, }) => {
15
+ const ThumbnailItem = memo(({ thumbnail, isSelected, onClick, onContextMenu, viewMode, }) => {
15
16
  const hasImage = !!thumbnail.thumbUrl;
16
17
  const iconSrc = thumbnail.largeIcon || thumbnail.icon;
17
18
  if (viewMode === "list") {
18
19
  return (_jsxs("div", { className: cn(isSelected
19
20
  ? "border-blue-300 bg-blue-100"
20
- : "bg-white hover:bg-gray-50", "flex cursor-pointer items-center gap-3 rounded-lg border p-3 transition-colors duration-200"), onClick: onClick, children: [_jsx("div", { className: "flex h-16 w-16 flex-shrink-0 items-center justify-center rounded-md bg-gray-50", children: hasImage ? (_jsx("img", { src: thumbnail.thumbUrl, alt: thumbnail.name, className: "max-h-full max-w-full object-contain" })) : iconSrc ? (_jsx("img", { src: iconSrc, alt: thumbnail.name, className: "object-contain opacity-80", style: { width: "32px", height: "32px" } })) : (_jsx(FileIcon, { className: "h-8 w-8 text-gray-400" })) }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "text-dark truncate text-xs font-medium", children: thumbnail.name }), _jsx("div", { className: "mt-1 text-xs text-gray-500", children: "Media File" })] })] }));
21
+ : "bg-white hover:bg-gray-50", "flex cursor-pointer items-center gap-3 rounded-lg border p-3 transition-colors duration-200"), onClick: onClick, onContextMenu: onContextMenu, children: [_jsx("div", { className: "flex h-16 w-16 flex-shrink-0 items-center justify-center rounded-md bg-gray-50", children: hasImage ? (_jsx("img", { src: thumbnail.thumbUrl, alt: thumbnail.name, className: "max-h-full max-w-full object-contain" })) : iconSrc ? (_jsx("img", { src: iconSrc, alt: thumbnail.name, className: "object-contain opacity-80", style: { width: "32px", height: "32px" } })) : (_jsx(FileIcon, { className: "h-8 w-8 text-gray-400" })) }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "text-dark truncate text-xs font-medium", children: thumbnail.name }), _jsx("div", { className: "mt-1 text-xs text-gray-500", children: "Media File" })] })] }));
21
22
  }
22
23
  const isLarge = viewMode === "large-grid";
23
24
  const gridSrc = isLarge ? thumbnail.previewUrl : thumbnail.thumbUrl;
24
25
  return (_jsxs("div", { className: cn(isSelected
25
26
  ? "shadow-lg ring-2 ring-blue-500"
26
- : "shadow-sm hover:shadow-md", "cursor-pointer overflow-hidden rounded-lg bg-white transition-all duration-200 hover:scale-105"), onClick: onClick, children: [_jsx("div", { className: "flex aspect-square items-center justify-center bg-gray-50", children: gridSrc ? (_jsx("img", { src: gridSrc, alt: thumbnail.name, className: "max-h-full max-w-full object-contain" })) : iconSrc ? (_jsx("img", { src: iconSrc, alt: thumbnail.name, className: "object-contain opacity-80", style: { width: "32px", height: "32px" } })) : (_jsx(FileIcon, { className: cn("text-gray-400", isLarge ? "h-20 w-20" : "h-12 w-12") })) }), _jsx("div", { className: isLarge ? "p-3" : "p-2", children: _jsx("div", { className: cn("line-clamp-2 break-all text-gray-700", isLarge ? "text-sm font-medium" : "text-xs font-medium"), children: thumbnail.name }) })] }));
27
+ : "shadow-sm hover:shadow-md", "cursor-pointer overflow-hidden rounded-lg bg-white transition-all duration-200 hover:scale-105"), onClick: onClick, onContextMenu: onContextMenu, children: [_jsx("div", { className: "flex aspect-square items-center justify-center bg-gray-50", children: gridSrc ? (_jsx("img", { src: gridSrc, alt: thumbnail.name, className: "max-h-full max-w-full object-contain" })) : iconSrc ? (_jsx("img", { src: iconSrc, alt: thumbnail.name, className: "object-contain opacity-80", style: { width: "32px", height: "32px" } })) : (_jsx(FileIcon, { className: cn("text-gray-400", isLarge ? "h-20 w-20" : "h-12 w-12") })) }), _jsx("div", { className: isLarge ? "p-3" : "p-2", children: _jsx("div", { className: cn("line-clamp-2 break-all text-gray-700", isLarge ? "text-sm font-medium" : "text-xs font-medium"), children: thumbnail.name }) })] }));
27
28
  });
28
29
  ThumbnailItem.displayName = "ThumbnailItem";
29
30
  export function MediaFolderBrowser({ folderId, language = "en", onMediaSelected, }) {
30
31
  const [viewMode, setViewMode] = useState("grid");
31
32
  const [images, setImages] = useState([]);
32
33
  const [selectedImage, setSelectedImage] = useState();
34
+ const [selectedImageIds, setSelectedImageIds] = useState([]);
33
35
  const selectedImageRef = useRef(selectedImage);
36
+ const lastSelectedImageId = useRef(undefined);
34
37
  const [loading, setLoading] = useState(false);
35
38
  const [uploading, setUploading] = useState(false);
36
39
  const [searchQuery, setSearchQuery] = useState("");
@@ -40,6 +43,10 @@ export function MediaFolderBrowser({ folderId, language = "en", onMediaSelected,
40
43
  // Keep ref in sync with state
41
44
  useEffect(() => {
42
45
  selectedImageRef.current = selectedImage;
46
+ if (!selectedImage)
47
+ return;
48
+ setSelectedImageIds((ids) => (ids.length === 0 ? [selectedImage.id] : ids));
49
+ lastSelectedImageId.current ??= selectedImage.id;
43
50
  }, [selectedImage]);
44
51
  useEffect(() => {
45
52
  loadMediaFiles();
@@ -110,15 +117,45 @@ export function MediaFolderBrowser({ folderId, language = "en", onMediaSelected,
110
117
  setSearchResults([]);
111
118
  }
112
119
  }, [searchQuery]);
113
- const handleClick = useCallback(async (thumbnail, ev) => {
114
- // Set selected image immediately and update ref - set synchronously for immediate visual feedback
120
+ const displayImages = useMemo(() => {
121
+ return searchQuery.trim() ? searchResults : images;
122
+ }, [searchQuery, searchResults, images]);
123
+ const updateSelection = useCallback((thumbnail, ev) => {
115
124
  selectedImageRef.current = thumbnail;
116
125
  setSelectedImage(thumbnail);
126
+ if (ev.shiftKey && lastSelectedImageId.current) {
127
+ const lastIndex = displayImages.findIndex((x) => x.id === lastSelectedImageId.current);
128
+ const currentIndex = displayImages.findIndex((x) => x.id === thumbnail.id);
129
+ if (lastIndex !== -1 && currentIndex !== -1) {
130
+ const start = Math.min(lastIndex, currentIndex);
131
+ const end = Math.max(lastIndex, currentIndex);
132
+ setSelectedImageIds(displayImages.slice(start, end + 1).map((x) => x.id));
133
+ return;
134
+ }
135
+ }
136
+ if (ev.ctrlKey || ev.metaKey) {
137
+ setSelectedImageIds((ids) => {
138
+ const nextIds = ids.includes(thumbnail.id)
139
+ ? ids.filter((id) => id !== thumbnail.id)
140
+ : [...ids, thumbnail.id];
141
+ return nextIds.length > 0 ? nextIds : [thumbnail.id];
142
+ });
143
+ lastSelectedImageId.current = thumbnail.id;
144
+ return;
145
+ }
146
+ setSelectedImageIds([thumbnail.id]);
147
+ lastSelectedImageId.current = thumbnail.id;
148
+ }, [displayImages]);
149
+ const handleClick = useCallback(async (thumbnail, ev) => {
150
+ updateSelection(thumbnail, ev);
151
+ if (ev.shiftKey || ev.ctrlKey || ev.metaKey)
152
+ return;
117
153
  // Open the media item in the slot next to the active one (or create new if no next slot exists)
118
154
  if (editContext) {
119
155
  // Check if thumbnail has language/version (from ItemTreeNodeData) or use defaults
120
- const itemLanguage = thumbnail.language || language;
121
- const itemVersion = thumbnail.version ?? 0;
156
+ const contextMenuThumbnail = thumbnail;
157
+ const itemLanguage = contextMenuThumbnail.language || language;
158
+ const itemVersion = contextMenuThumbnail.version ?? 0;
122
159
  const slots = editContext.editorSlots;
123
160
  const activeSlotId = editContext.activeSlotId;
124
161
  // If the user clicked inside a non-active slot, `activeSlotId` may still point
@@ -132,7 +169,7 @@ export function MediaFolderBrowser({ folderId, language = "en", onMediaSelected,
132
169
  editContext.setActiveSlot(hostSlotId);
133
170
  }
134
171
  // Check if item is already open in any slot - if so, switch to that slot instead of opening a new one
135
- const existingSlot = slots.find(s => s.itemDescriptor.id === thumbnail.id &&
172
+ const existingSlot = slots.find((s) => s.itemDescriptor.id === thumbnail.id &&
136
173
  s.itemDescriptor.language === itemLanguage &&
137
174
  s.itemDescriptor.version === itemVersion);
138
175
  if (existingSlot) {
@@ -173,7 +210,34 @@ export function MediaFolderBrowser({ folderId, language = "en", onMediaSelected,
173
210
  selectedImageRef.current = thumbnail;
174
211
  }
175
212
  }
176
- }, [editContext, language]);
213
+ }, [editContext, language, updateSelection]);
214
+ const handleContextMenu = useCallback((thumbnail, ev) => {
215
+ const itemIds = selectedImageIds.includes(thumbnail.id)
216
+ ? selectedImageIds
217
+ : [thumbnail.id];
218
+ if (!selectedImageIds.includes(thumbnail.id)) {
219
+ selectedImageRef.current = thumbnail;
220
+ setSelectedImage(thumbnail);
221
+ setSelectedImageIds([thumbnail.id]);
222
+ lastSelectedImageId.current = thumbnail.id;
223
+ }
224
+ const contextMenuThumbnail = thumbnail;
225
+ const itemLanguage = contextMenuThumbnail.language || language;
226
+ const itemVersion = contextMenuThumbnail.version ?? 0;
227
+ void showItemContextMenu({
228
+ editContext,
229
+ event: ev,
230
+ itemIds,
231
+ language: itemLanguage,
232
+ version: itemVersion,
233
+ openInNewSlotItem: {
234
+ id: thumbnail.id,
235
+ language: itemLanguage,
236
+ version: itemVersion,
237
+ database: "master",
238
+ },
239
+ });
240
+ }, [editContext, language, selectedImageIds]);
177
241
  const handleUpload = async () => {
178
242
  if (!folderId)
179
243
  return;
@@ -216,9 +280,6 @@ export function MediaFolderBrowser({ folderId, language = "en", onMediaSelected,
216
280
  setUploading(false);
217
281
  }
218
282
  };
219
- const displayImages = useMemo(() => {
220
- return searchQuery.trim() ? searchResults : images;
221
- }, [searchQuery, searchResults, images]);
222
283
  // Create stable click handlers map to prevent ThumbnailItem re-renders
223
284
  const clickHandlers = useMemo(() => {
224
285
  const handlers = new Map();
@@ -227,19 +288,26 @@ export function MediaFolderBrowser({ folderId, language = "en", onMediaSelected,
227
288
  });
228
289
  return handlers;
229
290
  }, [displayImages, handleClick]);
291
+ const contextMenuHandlers = useMemo(() => {
292
+ const handlers = new Map();
293
+ displayImages.forEach((t) => {
294
+ handlers.set(t.id, (ev) => handleContextMenu(t, ev));
295
+ });
296
+ return handlers;
297
+ }, [displayImages, handleContextMenu]);
230
298
  const GridView = useMemo(() => {
231
299
  return (_jsx("div", { className: "grid gap-3 p-4", style: {
232
300
  gridTemplateColumns: "repeat(auto-fill, minmax(160px, 1fr))",
233
- }, children: displayImages.map((t) => (_jsx(ThumbnailItem, { thumbnail: t, isSelected: selectedImage?.id === t.id, onClick: clickHandlers.get(t.id) || (() => undefined), viewMode: "grid" }, t.id))) }));
234
- }, [displayImages, selectedImage, clickHandlers]);
301
+ }, children: displayImages.map((t) => (_jsx(ThumbnailItem, { thumbnail: t, isSelected: selectedImageIds.includes(t.id), onClick: clickHandlers.get(t.id) || (() => undefined), onContextMenu: contextMenuHandlers.get(t.id) || (() => undefined), viewMode: "grid" }, t.id))) }));
302
+ }, [displayImages, selectedImageIds, clickHandlers, contextMenuHandlers]);
235
303
  const LargeGridView = useMemo(() => {
236
304
  return (_jsx("div", { className: "grid gap-4 p-4", style: {
237
305
  gridTemplateColumns: "repeat(auto-fill, minmax(240px, 1fr))",
238
- }, children: displayImages.map((t) => (_jsx(ThumbnailItem, { thumbnail: t, isSelected: selectedImage?.id === t.id, onClick: clickHandlers.get(t.id) || (() => undefined), viewMode: "large-grid" }, t.id))) }));
239
- }, [displayImages, selectedImage, clickHandlers]);
306
+ }, children: displayImages.map((t) => (_jsx(ThumbnailItem, { thumbnail: t, isSelected: selectedImageIds.includes(t.id), onClick: clickHandlers.get(t.id) || (() => undefined), onContextMenu: contextMenuHandlers.get(t.id) || (() => undefined), viewMode: "large-grid" }, t.id))) }));
307
+ }, [displayImages, selectedImageIds, clickHandlers, contextMenuHandlers]);
240
308
  const ListView = useMemo(() => {
241
- return (_jsx("div", { className: "flex flex-col gap-1 p-2", children: displayImages.map((t) => (_jsx(ThumbnailItem, { thumbnail: t, isSelected: selectedImage?.id === t.id, onClick: clickHandlers.get(t.id) || (() => undefined), viewMode: "list" }, t.id))) }));
242
- }, [displayImages, selectedImage, clickHandlers]);
309
+ return (_jsx("div", { className: "flex flex-col gap-1 p-2", children: displayImages.map((t) => (_jsx(ThumbnailItem, { thumbnail: t, isSelected: selectedImageIds.includes(t.id), onClick: clickHandlers.get(t.id) || (() => undefined), onContextMenu: contextMenuHandlers.get(t.id) || (() => undefined), viewMode: "list" }, t.id))) }));
310
+ }, [displayImages, selectedImageIds, clickHandlers, contextMenuHandlers]);
243
311
  const renderContent = useMemo(() => {
244
312
  const isDisplayingSearch = searchQuery.trim();
245
313
  const currentLoading = isDisplayingSearch ? searching : loading;
@@ -261,7 +329,16 @@ export function MediaFolderBrowser({ folderId, language = "en", onMediaSelected,
261
329
  default:
262
330
  return GridView;
263
331
  }
264
- }, [viewMode, displayImages, searchQuery, searching, loading, GridView, LargeGridView, ListView]);
332
+ }, [
333
+ viewMode,
334
+ displayImages,
335
+ searchQuery,
336
+ searching,
337
+ loading,
338
+ GridView,
339
+ LargeGridView,
340
+ ListView,
341
+ ]);
265
342
  return (_jsxs("div", { className: "relative flex h-full flex-col", children: [uploading && (_jsxs("div", { className: "absolute inset-0 z-10 flex items-center justify-center gap-2 bg-white/50 backdrop-blur-[1px]", children: [_jsx(Spinner, { size: "3xl" }), _jsx("span", { className: "text-sm font-medium text-gray-500", children: "Uploading media..." })] })), _jsxs("div", { className: "flex items-center justify-between border-b bg-gray-50 px-4 py-2", children: [_jsxs("div", { className: "text-xs font-medium text-gray-700", children: [searchQuery.trim() ? searchResults.length : images.length, " media file", (searchQuery.trim() ? searchResults.length : images.length) !== 1
266
343
  ? "s"
267
344
  : "", searchQuery.trim() && " found"] }), _jsxs("div", { className: "flex gap-1", children: [_jsx(Button, { size: "sm", variant: viewMode === "grid" ? "outline" : "default", onClick: () => setViewMode("grid"), title: "Grid View", className: "p-1", children: _jsx(Grid3X3, { className: "h-4 w-4" }) }), _jsx(Button, { size: "sm", variant: viewMode === "large-grid" ? "outline" : "default", onClick: () => setViewMode("large-grid"), title: "Large Grid View", className: "p-1", children: _jsx(Square, { className: "h-4 w-4" }) }), _jsx(Button, { size: "sm", variant: viewMode === "list" ? "outline" : "default", onClick: () => setViewMode("list"), title: "List View", className: "p-1", children: _jsx(List, { className: "h-4 w-4" }) }), _jsx(Button, { size: "sm", onClick: handleUpload, disabled: uploading || !folderId, title: "Upload Files", className: "ml-2 p-1", children: _jsx(Upload, { className: "h-4 w-4" }) }), _jsx(Button, { size: "sm", onClick: loadMediaFiles, title: "Refresh", className: "ml-1 p-1", children: _jsx(RefreshCw, { className: "h-4 w-4" }) })] })] }), _jsx("div", { className: "border-b bg-white px-4 py-2", children: _jsx(FilterInput, { value: searchQuery, onChange: setSearchQuery, placeholder: "Search media files...", loading: searching, onClear: () => setSearchQuery("") }) }), _jsx("div", { className: "min-h-0 flex-1 overflow-x-hidden overflow-y-auto", style: {