@calltelemetry/ct-lab-mcp 0.8.65 → 0.8.67

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 (83) hide show
  1. package/README.md +8 -7
  2. package/dist/src/crd/reconciler.d.ts.map +1 -1
  3. package/dist/src/crd/reconciler.js +4 -1
  4. package/dist/src/crd/reconciler.js.map +1 -1
  5. package/dist/src/credentials/resolver.d.ts.map +1 -1
  6. package/dist/src/credentials/resolver.js +14 -16
  7. package/dist/src/credentials/resolver.js.map +1 -1
  8. package/dist/src/credentials/types.d.ts +2 -1
  9. package/dist/src/credentials/types.d.ts.map +1 -1
  10. package/dist/src/hypervisors/clone-size.d.ts +5 -0
  11. package/dist/src/hypervisors/clone-size.d.ts.map +1 -0
  12. package/dist/src/hypervisors/clone-size.js +27 -0
  13. package/dist/src/hypervisors/clone-size.js.map +1 -0
  14. package/dist/src/hypervisors/esxi/client.d.ts +1 -0
  15. package/dist/src/hypervisors/esxi/client.d.ts.map +1 -1
  16. package/dist/src/hypervisors/esxi/client.js +33 -6
  17. package/dist/src/hypervisors/esxi/client.js.map +1 -1
  18. package/dist/src/hypervisors/esxi/mock.d.ts.map +1 -1
  19. package/dist/src/hypervisors/esxi/mock.js +2 -0
  20. package/dist/src/hypervisors/esxi/mock.js.map +1 -1
  21. package/dist/src/hypervisors/manager.d.ts +6 -1
  22. package/dist/src/hypervisors/manager.d.ts.map +1 -1
  23. package/dist/src/hypervisors/manager.js +30 -9
  24. package/dist/src/hypervisors/manager.js.map +1 -1
  25. package/dist/src/hypervisors/proxmox/client.d.ts.map +1 -1
  26. package/dist/src/hypervisors/proxmox/client.js +29 -28
  27. package/dist/src/hypervisors/proxmox/client.js.map +1 -1
  28. package/dist/src/hypervisors/types.d.ts +3 -0
  29. package/dist/src/hypervisors/types.d.ts.map +1 -1
  30. package/dist/src/proxmox/mock.d.ts.map +1 -1
  31. package/dist/src/proxmox/mock.js +8 -1
  32. package/dist/src/proxmox/mock.js.map +1 -1
  33. package/dist/src/server.js +3 -3
  34. package/dist/src/server.js.map +1 -1
  35. package/dist/src/slot/manager.d.ts +22 -3
  36. package/dist/src/slot/manager.d.ts.map +1 -1
  37. package/dist/src/slot/manager.js +275 -258
  38. package/dist/src/slot/manager.js.map +1 -1
  39. package/dist/src/slot/types.d.ts +17 -0
  40. package/dist/src/slot/types.d.ts.map +1 -1
  41. package/dist/src/slot/types.js +1 -1
  42. package/dist/src/slot/types.js.map +1 -1
  43. package/dist/src/tools/claimed-import-qcow.d.ts +2 -2
  44. package/dist/src/tools/cube-provision.d.ts.map +1 -1
  45. package/dist/src/tools/cube-provision.js +47 -47
  46. package/dist/src/tools/cube-provision.js.map +1 -1
  47. package/dist/src/tools/find-slot.d.ts +12 -0
  48. package/dist/src/tools/find-slot.d.ts.map +1 -1
  49. package/dist/src/tools/find-slot.js +6 -0
  50. package/dist/src/tools/find-slot.js.map +1 -1
  51. package/dist/src/tools/host-migrate-vm.d.ts +1 -1
  52. package/dist/src/tools/host-migrate-vm.js +1 -1
  53. package/dist/src/tools/import-qcow.d.ts +9 -9
  54. package/dist/src/tools/import-qcow.d.ts.map +1 -1
  55. package/dist/src/tools/import-qcow.js +7 -7
  56. package/dist/src/tools/import-qcow.js.map +1 -1
  57. package/dist/src/tools/index.js +2 -2
  58. package/dist/src/tools/index.js.map +1 -1
  59. package/dist/src/tools/legacy-clone-plan.d.ts +27 -0
  60. package/dist/src/tools/legacy-clone-plan.d.ts.map +1 -0
  61. package/dist/src/tools/legacy-clone-plan.js +62 -0
  62. package/dist/src/tools/legacy-clone-plan.js.map +1 -0
  63. package/dist/src/tools/list-hosts.d.ts +1 -1
  64. package/dist/src/tools/list-hosts.js +1 -1
  65. package/dist/src/tools/provision-tools.d.ts +8 -8
  66. package/dist/src/tools/provision-tools.d.ts.map +1 -1
  67. package/dist/src/tools/provision-tools.js +47 -82
  68. package/dist/src/tools/provision-tools.js.map +1 -1
  69. package/dist/src/tools/quick-provision.d.ts +2 -2
  70. package/dist/src/tools/sandbox-tools.d.ts +6 -6
  71. package/dist/src/tools/sandbox-tools.d.ts.map +1 -1
  72. package/dist/src/tools/sandbox-tools.js +3 -3
  73. package/dist/src/tools/sandbox-tools.js.map +1 -1
  74. package/dist/src/tools/slot-tools.d.ts +20 -8
  75. package/dist/src/tools/slot-tools.d.ts.map +1 -1
  76. package/dist/src/tools/slot-tools.js +4 -0
  77. package/dist/src/tools/slot-tools.js.map +1 -1
  78. package/dist/src/types/proxmox.d.ts +1 -0
  79. package/dist/src/types/proxmox.d.ts.map +1 -1
  80. package/dist/src/utils/formatters.d.ts.map +1 -1
  81. package/dist/src/utils/formatters.js +19 -20
  82. package/dist/src/utils/formatters.js.map +1 -1
  83. package/package.json +1 -1
@@ -6,6 +6,7 @@
6
6
  * with mandatory write memory & reboot cycle), and XCC / WSAPI integration on Cisco
7
7
  * Cat8000v CUBE routers for reliable UAT testing.
8
8
  */
9
+ import { planLegacyClone } from "./legacy-clone-plan.js";
9
10
  import { z } from "zod";
10
11
  import { ProxmoxErrorCode, createToolErrorResult, createToolSuccessResult } from "../types/mcp.js";
11
12
  // ============================================================================
@@ -211,46 +212,57 @@ export async function handleProvisionCube(args, context) {
211
212
  const requestedVlan = args.vlan || 125;
212
213
  const linearIssue = (args.linearIssue || args.issue);
213
214
  const purpose = (args.purpose || "cucm-xcc");
214
- // 1. Host Ranking & Placement
215
- let selectedHostName = requestedHost;
216
- if (selectedHostName === "auto" || !selectedHostName) {
217
- const rankedHosts = await hypervisorManager.rankHostsForProvisioning();
218
- const validCandidates = rankedHosts.filter(h => h.availableSlots > 0);
219
- if (validCandidates.length === 0) {
220
- return createToolErrorResult(ProxmoxErrorCode.CAPACITY_EXCEEDED, "No hypervisor hosts have available 8GB slot capacity for a new CUBE router.");
221
- }
222
- // If VLAN 125 is requested (telephony network), prefer proxmox-lab or esxi-intel
223
- if (requestedVlan === 125) {
224
- const vlan125Host = validCandidates.find(h => h.hostName === "proxmox-lab" || h.hostName.startsWith("esxi"));
225
- selectedHostName = vlan125Host ? vlan125Host.hostName : validCandidates[0].hostName;
226
- }
227
- else {
228
- selectedHostName = validCandidates[0].hostName;
229
- }
215
+ const profile = args.profile || "minimal";
216
+ let memoryMb = args.memoryMb;
217
+ let cpuCores = args.cpuCores;
218
+ if (!memoryMb) {
219
+ memoryMb = profile === "minimal" ? 4096 : profile === "performance" ? 16384 : 8192;
230
220
  }
231
- const driver = hypervisorManager.getDriver(selectedHostName);
232
- if (!driver) {
233
- return createToolErrorResult(ProxmoxErrorCode.HOST_NOT_FOUND, `Hypervisor host '${selectedHostName}' not found.`);
221
+ if (!cpuCores) {
222
+ cpuCores = profile === "minimal" ? 2 : profile === "performance" ? 8 : 4;
234
223
  }
224
+ // Qualify each actual source footprint before topology preference.
225
+ let clonePlan = await planLegacyClone(context, {
226
+ host: requestedHost === "auto" ? undefined : requestedHost,
227
+ source: args.templateVmid,
228
+ sourceChooser: (vms) => vms.find((vm) => /cube/i.test(vm.name) || vm.id === "200")
229
+ ?? vms.find((vm) => vm.id === "102" || vm.id === "100"),
230
+ memoryMb, cpuCores, hypervisorType: "proxmox",
231
+ preferredHost: requestedVlan === 125 ? "proxmox-lab" : "proxmox-mini",
232
+ });
233
+ let selectedHostName = clonePlan.host;
234
+ let driver = clonePlan.driver;
235
235
  // 2. Slot Capacity Reservation
236
236
  let slotClaimResult;
237
237
  if (context.slotManager) {
238
238
  try {
239
239
  slotClaimResult = await context.slotManager.claimSlot({
240
- host: selectedHostName,
240
+ host: requestedHost === "auto" ? "auto" : selectedHostName,
241
+ hostDiskGb: Object.fromEntries(clonePlan.alternatives.map((plan) => [plan.host, plan.diskGb])),
242
+ preferredHost: requestedVlan === 125 ? "proxmox-lab" : "proxmox-mini",
241
243
  linearIssue: linearIssue || "CUBE-PROVISION",
242
244
  workloadType: "cube",
243
245
  ttlMinutes: 60,
246
+ slotSizeMb: memoryMb,
247
+ diskGb: clonePlan.diskGb,
248
+ cpuCores,
244
249
  label: `CUBE Router Slot (${purpose})`,
245
250
  tags: ["role=cube", "model=Cat8000v", `purpose=${purpose}`]
246
251
  });
252
+ clonePlan = { ...clonePlan.alternatives.find((plan) => plan.host === slotClaimResult.hostId), alternatives: clonePlan.alternatives };
253
+ selectedHostName = clonePlan.host;
254
+ driver = clonePlan.driver;
247
255
  }
248
256
  catch (slotErr) {
249
257
  if (slotErr.code === "CAPACITY_EXCEEDED" || slotErr.message?.includes("capacity")) {
250
- return createToolErrorResult(ProxmoxErrorCode.CAPACITY_EXCEEDED, `Cannot provision CUBE on '${selectedHostName}': Host slot capacity limit exceeded (2 on proxmox-lab, 4 on proxmox-mini).`);
258
+ return createToolErrorResult(ProxmoxErrorCode.CAPACITY_EXCEEDED, `Cannot provision CUBE on '${selectedHostName}': ${slotErr.message}`);
251
259
  }
260
+ throw slotErr;
252
261
  }
253
262
  }
263
+ else {
264
+ return createToolErrorResult(ProxmoxErrorCode.CAPACITY_EXCEEDED, "Slot resource admission is not initialized.");
265
+ }
254
266
  // 3. Dynamic VMID Allocation & Structured Naming Convention
255
267
  let targetVmid = args.vmid;
256
268
  if (!targetVmid) {
@@ -276,15 +288,6 @@ export async function handleProvisionCube(args, context) {
276
288
  const hostAlias = selectedHostName === "proxmox-lab" ? "PMX" : selectedHostName === "proxmox-mini" ? "MINI" : "ESX";
277
289
  const cleanPurpose = (linearIssue || purpose || "UAT").replace(/[^a-zA-Z0-9]/g, "").toUpperCase();
278
290
  const vmName = args.name || `CUBE-8000V-${hostAlias}-${cleanPurpose}-${targetVmid}`;
279
- const profile = args.profile || "minimal";
280
- let memoryMb = args.memoryMb;
281
- let cpuCores = args.cpuCores;
282
- if (!memoryMb) {
283
- memoryMb = profile === "minimal" ? 4096 : profile === "performance" ? 16384 : 8192;
284
- }
285
- if (!cpuCores) {
286
- cpuCores = profile === "minimal" ? 2 : profile === "performance" ? 8 : 4;
287
- }
288
291
  const vlan = requestedVlan;
289
292
  const ipAddress = args.ipAddress || "192.168.125.60/24";
290
293
  const gatewayIp = args.gatewayIp || "192.168.125.1";
@@ -296,23 +299,14 @@ export async function handleProvisionCube(args, context) {
296
299
  // 4. Clone/allocate VM on hypervisor
297
300
  let provisionResult;
298
301
  if (driver.hypervisorType === "proxmox") {
299
- let templateId = args.templateVmid;
300
- if (!templateId) {
301
- try {
302
- const vms = await driver.listVms();
303
- const candidate = vms.find(v => v.name.toLowerCase().includes("cube") ||
304
- v.id === "200" ||
305
- v.id === "102" ||
306
- v.id === "100");
307
- templateId = candidate ? Number(candidate.id) : 200;
308
- }
309
- catch {
310
- templateId = 200;
311
- }
312
- }
302
+ await context.slotManager.assertProvisionResources(selectedHostName, {
303
+ memoryMb, cpuCores, diskGb: clonePlan.diskGb, claimId: slotClaimResult.claimId,
304
+ linearIssue: linearIssue || "CUBE-PROVISION",
305
+ });
313
306
  try {
314
307
  provisionResult = await driver.cloneVm({
315
- sourceVmIdOrName: templateId,
308
+ sourceVmIdOrName: clonePlan.source,
309
+ diskGb: clonePlan.diskGb,
316
310
  newVmName: vmName,
317
311
  newVmId: targetVmid,
318
312
  vlan,
@@ -323,9 +317,14 @@ export async function handleProvisionCube(args, context) {
323
317
  }
324
318
  catch (cloneErr) {
325
319
  if (cloneErr.message?.includes("Linked clone feature is not supported") || cloneErr.message?.includes("linked clone")) {
326
- // Retry with full clone for LVM storage pools
320
+ // Recheck the retained reservation before the full-clone retry.
321
+ await context.slotManager.assertProvisionResources(selectedHostName, {
322
+ memoryMb, cpuCores, diskGb: clonePlan.diskGb, claimId: slotClaimResult.claimId,
323
+ linearIssue: linearIssue || "CUBE-PROVISION",
324
+ });
327
325
  provisionResult = await driver.cloneVm({
328
- sourceVmIdOrName: templateId,
326
+ sourceVmIdOrName: clonePlan.source,
327
+ diskGb: clonePlan.diskGb,
329
328
  newVmName: vmName,
330
329
  newVmId: targetVmid,
331
330
  vlan,
@@ -339,6 +338,7 @@ export async function handleProvisionCube(args, context) {
339
338
  }
340
339
  }
341
340
  }
341
+ await context.slotManager.attachVm(slotClaimResult.claimId, provisionResult.vmId, provisionResult.name);
342
342
  // 5. Register in SlotManager CUBE Catalog
343
343
  if (context.slotManager) {
344
344
  const cleanIp = ipAddress.split("/")[0];
@@ -1 +1 @@
1
- {"version":3,"file":"cube-provision.js","sourceRoot":"","sources":["../../../src/tools/cube-provision.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cube-provision.js","sourceRoot":"","sources":["../../../src/tools/cube-provision.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAkB,gBAAgB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAGnH,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CAAC,6JAA6J,CAAC;IAC1K,UAAU,EAAE,CAAC;SACV,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;SACzB,QAAQ,EAAE;SACV,QAAQ,CAAC,yBAAyB,CAAC;IACtC,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,QAAQ,CAAC,sFAAsF,CAAC;IACnG,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,+FAA+F,CAAC;IAC5G,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,6EAA6E,CAAC;IAC1F,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,8DAA8D,CAAC;IAC3E,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,OAAO,CAAC,GAAG,CAAC;SACZ,QAAQ,CAAC,oDAAoD,CAAC;IACjE,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,qGAAqG,CAAC;IAClH,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,8CAA8C,CAAC;IAC3D,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,oFAAoF,CAAC;IACjG,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,uHAAuH,CAAC;IACpI,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0EAA0E,CAAC;IACvF,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,QAAQ,CAAC,kEAAkE,CAAC;IAC/E,kBAAkB,EAAE,CAAC;SAClB,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,2HAA2H,CAAC;IACxI,wBAAwB,EAAE,CAAC;SACxB,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,sHAAsH,CAAC;IACnI,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,uCAAuC,CAAC;SAChD,QAAQ,CAAC,kCAAkC,CAAC;IAC/C,OAAO,EAAE,CAAC;SACP,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;SAC5C,QAAQ,EAAE;SACV,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,CAAC,2JAA2J,CAAC;IACxK,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,QAAQ,CAAC,+DAA+D,CAAC;IAC5E,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,QAAQ,CAAC,gEAAgE,CAAC;IAC7E,YAAY,EAAE,CAAC;SACZ,IAAI,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;SACjE,QAAQ,EAAE;SACV,OAAO,CAAC,WAAW,CAAC;SACpB,QAAQ,CAAC,wPAAwP,CAAC;IACrQ,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,4FAA4F,CAAC;IACzG,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,+CAA+C,CAAC;IAC5D,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,mFAAmF,CAAC;IAChG,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,GAAG,CAAC;SACZ,QAAQ,CAAC,4EAA4E,CAAC;IACzF,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,UAAU,CAAC;SACnB,QAAQ,CAAC,+CAA+C,CAAC;IAC5D,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,CAAC,yCAAyC,CAAC;IACtD,aAAa,EAAE,CAAC;SACb,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,yGAAyG,CAAC;IACtH,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,uFAAuF,CAAC;CACrG,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,qNAAqN;IAClO,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,gHAAgH;aAC9H;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,0DAA0D;aACxE;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,uCAAuC;aACrD;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,sDAAsD;aACpE;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,0BAA0B;aACxC;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kCAAkC;aAChD;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,4DAA4D;aAC1E;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,yCAAyC;aACvD;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,mDAAmD;aACjE;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,4CAA4C;aAC1D;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,iFAAiF;aAC/F;YACD,wBAAwB,EAAE;gBACxB,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,qFAAqF;aACnG;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAE1E,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAA6B,EAC7B,OAAoB;IAEpB,IAAI,CAAC;QACH,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACpD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,qBAAqB,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,wCAAwC,CAAC,CAAC;QAC9G,CAAC;QAED,MAAM,aAAa,GAAI,IAAI,CAAC,IAAe,IAAI,MAAM,CAAC;QACtD,MAAM,aAAa,GAAI,IAAI,CAAC,IAAe,IAAI,GAAG,CAAC;QACnD,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAuB,CAAC;QAC3E,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,UAAU,CAAW,CAAC;QAEvD,MAAM,OAAO,GAAI,IAAI,CAAC,OAAkD,IAAI,SAAS,CAAC;QACtF,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAkB,CAAC;QACvC,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAkB,CAAC;QACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACrF,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,CAAC;QAGD,mEAAmE;QACnE,IAAI,SAAS,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE;YAC7C,IAAI,EAAE,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa;YAC1D,MAAM,EAAE,IAAI,CAAC,YAAkC;YAC/C,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC;mBAC7E,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,KAAK,IAAI,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC;YACzD,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS;YAC7C,aAAa,EAAE,aAAa,KAAK,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc;SACtE,CAAC,CAAC;QACH,IAAI,gBAAgB,GAAG,SAAS,CAAC,IAAI,CAAC;QACtC,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QAE9B,+BAA+B;QAC/B,IAAI,eAAoB,CAAC;QACzB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,eAAe,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC;oBACpD,IAAI,EAAE,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB;oBAC1D,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC9F,aAAa,EAAE,aAAa,KAAK,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc;oBACrE,WAAW,EAAE,WAAW,IAAI,gBAAgB;oBAC5C,YAAY,EAAE,MAAM;oBACpB,UAAU,EAAE,EAAE;oBACd,UAAU,EAAE,QAAQ;oBACpB,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,QAAQ;oBACR,KAAK,EAAE,qBAAqB,OAAO,GAAG;oBACtC,IAAI,EAAE,CAAC,WAAW,EAAE,gBAAgB,EAAE,WAAW,OAAO,EAAE,CAAC;iBAC5D,CAAC,CAAC;gBACH,SAAS,GAAG,EAAE,GAAG,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,MAAM,CAAE,EAAE,YAAY,EAAE,SAAS,CAAC,YAAY,EAAE,CAAC;gBACtI,gBAAgB,GAAG,SAAS,CAAC,IAAI,CAAC;gBAClC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;YAC5B,CAAC;YAAC,OAAO,OAAY,EAAE,CAAC;gBACtB,IAAI,OAAO,CAAC,IAAI,KAAK,mBAAmB,IAAI,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;oBAClF,OAAO,qBAAqB,CAC1B,gBAAgB,CAAC,iBAAiB,EAClC,6BAA6B,gBAAgB,MAAM,OAAO,CAAC,OAAO,EAAE,CACrE,CAAC;gBACJ,CAAC;gBACD,MAAM,OAAO,CAAC;YAChB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,qBAAqB,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,6CAA6C,CAAC,CAAC;QAClH,CAAC;QAED,4DAA4D;QAC5D,IAAI,UAAU,GAAG,IAAI,CAAC,IAAc,CAAC;QACrC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjF,IAAI,SAAS,GAAG,GAAG,CAAC;gBACpB,OAAO,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBAChC,SAAS,EAAE,CAAC;gBACd,CAAC;gBACD,IAAI,SAAS,GAAG,GAAG,EAAE,CAAC;oBACpB,OAAO,qBAAqB,CAC1B,gBAAgB,CAAC,iBAAiB,EAClC,6BAA6B,gBAAgB,+CAA+C,CAC7F,CAAC;gBACJ,CAAC;gBACD,UAAU,GAAG,SAAS,CAAC;YACzB,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,IAAI,GAAG,EAAE,IAAI,KAAK,gBAAgB,CAAC,iBAAiB,EAAE,CAAC;oBACrD,MAAM,GAAG,CAAC;gBACZ,CAAC;gBACD,UAAU,GAAG,GAAG,CAAC;YACnB,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,gBAAgB,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,KAAK,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QACpH,MAAM,YAAY,GAAG,CAAC,WAAW,IAAI,OAAO,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAClG,MAAM,MAAM,GAAI,IAAI,CAAC,IAAe,IAAI,cAAc,SAAS,IAAI,YAAY,IAAI,UAAU,EAAE,CAAC;QAEhG,MAAM,IAAI,GAAG,aAAa,CAAC;QAC3B,MAAM,SAAS,GAAI,IAAI,CAAC,SAAoB,IAAI,mBAAmB,CAAC;QACpE,MAAM,SAAS,GAAI,IAAI,CAAC,SAAoB,IAAI,eAAe,CAAC;QAChE,MAAM,WAAW,GAAI,IAAI,CAAC,WAAsB,IAAI,iBAAiB,CAAC;QACtE,MAAM,MAAM,GAAI,IAAI,CAAC,MAAiB,IAAI,gBAAgB,CAAC;QAC3D,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,KAAK,KAAK,CAAC;QAC7D,MAAM,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,KAAK,KAAK,CAAC;QACzE,MAAM,YAAY,GAAI,IAAI,CAAC,YAAuB,IAAI,uCAAuC,CAAC;QAE9F,qCAAqC;QACrC,IAAI,eAAoB,CAAC;QACzB,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,OAAO,CAAC,WAAW,CAAC,wBAAwB,CAAC,gBAAgB,EAAE;gBACnE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO;gBAC9E,WAAW,EAAE,WAAW,IAAI,gBAAgB;aAC7C,CAAC,CAAC;YACH,IAAI,CAAC;gBACH,eAAe,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;oBACrC,gBAAgB,EAAE,SAAS,CAAC,MAAM;oBAClC,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,SAAS,EAAE,MAAM;oBACjB,OAAO,EAAE,UAAU;oBACnB,IAAI;oBACJ,WAAW,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI;oBACnC,QAAQ;oBACR,SAAS,EAAE,IAAI,CAAC,SAAS,KAAK,IAAI;iBACnC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,QAAa,EAAE,CAAC;gBACvB,IAAI,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,uCAAuC,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;oBACtH,gEAAgE;oBAChE,MAAM,OAAO,CAAC,WAAW,CAAC,wBAAwB,CAAC,gBAAgB,EAAE;wBACnE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO;wBAC9E,WAAW,EAAE,WAAW,IAAI,gBAAgB;qBAC7C,CAAC,CAAC;oBACH,eAAe,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;wBACrC,gBAAgB,EAAE,SAAS,CAAC,MAAM;wBACpC,MAAM,EAAE,SAAS,CAAC,MAAM;wBACtB,SAAS,EAAE,MAAM;wBACjB,OAAO,EAAE,UAAU;wBACnB,IAAI;wBACJ,WAAW,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI;wBACnC,QAAQ;wBACR,SAAS,EAAE,IAAI;qBAChB,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,MAAM,QAAQ,CAAC;gBACjB,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;QAExG,0CAA0C;QAC1C,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;YAChE,OAAO,CAAC,WAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE;gBAC7C,MAAM;gBACN,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,gBAAgB;gBAC1B,UAAU,EAAE,MAAM,CAAC,cAAc;gBACjC,IAAI,EAAE,UAAU;gBAChB,SAAS,EAAE,OAAO;gBAClB,KAAK,EAAE,UAAU;gBACjB,MAAM,EAAE,SAAS;gBACjB,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW;gBACjD,OAAO,EAAE,eAAe,EAAE,OAAO,IAAI,IAAI;gBACzC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;gBAC9D,eAAe,EAAE,EAAE;gBACnB,WAAW,EAAE,WAAW,IAAI,IAAI;gBAChC,SAAS,EAAE,UAAU;gBACrB,YAAY;aACb,CAAC,CAAC;QACL,CAAC;QAED,0CAA0C;QAC1C,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,2DAA2D,MAAM,MAAM,CAAC,CAAC;QACpF,KAAK,CAAC,IAAI,CAAC,oBAAoB,gBAAgB,gCAAgC,UAAU,oBAAoB,IAAI,MAAM,CAAC,CAAC;QACzH,MAAM,YAAY,GAAI,IAAI,CAAC,YAAuB,IAAI,WAAW,CAAC;QAClE,MAAM,cAAc,GAAI,IAAI,CAAC,cAAyB,IAAI,CAAC,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACpH,MAAM,cAAc,GAAI,IAAI,CAAC,cAAyB,IAAI,IAAI,CAAC;QAC/D,MAAM,eAAe,GAAI,IAAI,CAAC,eAA0B,IAAI,CAAC,YAAY,KAAK,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACzJ,MAAM,cAAc,GAAI,IAAI,CAAC,cAAyB,IAAI,GAAG,CAAC;QAC9D,MAAM,KAAK,GAAI,IAAI,CAAC,KAAgB,IAAI,UAAU,CAAC;QACnD,MAAM,SAAS,GAAI,IAAI,CAAC,SAAoB,IAAI,SAAS,CAAC;QAE1D,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAC7D,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QACtE,KAAK,CAAC,IAAI,CAAC,qBAAqB,MAAM,MAAM,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,kBAAkB,UAAU,MAAM,CAAC,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,6BAA6B,gBAAgB,MAAM,CAAC,CAAC;QAChE,KAAK,CAAC,IAAI,CAAC,2BAA2B,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACxE,KAAK,CAAC,IAAI,CAAC,4BAA4B,OAAO,CAAC,WAAW,EAAE,OAAO,QAAQ,GAAG,IAAI,YAAY,QAAQ,WAAW,CAAC,CAAC;QACnH,KAAK,CAAC,IAAI,CAAC,+BAA+B,QAAQ,GAAG,IAAI,sBAAsB,QAAQ,QAAQ,CAAC,CAAC;QACjG,IAAI,eAAe,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,2BAA2B,eAAe,CAAC,OAAO,MAAM,CAAC,CAAC;QACvE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,6BAA6B,SAAS,MAAM,CAAC,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,6BAA6B,SAAS,MAAM,CAAC,CAAC;QACzD,IAAI,YAAY,KAAK,WAAW,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,8BAA8B,WAAW,MAAM,CAAC,CAAC;YAC5D,KAAK,CAAC,IAAI,CAAC,yBAAyB,MAAM,MAAM,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,8BAA8B,cAAc,IAAI,cAAc,MAAM,CAAC,CAAC;YACjF,KAAK,CAAC,IAAI,CAAC,8BAA8B,eAAe,MAAM,CAAC,CAAC;QAClE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QAEtE,IAAI,wBAAwB,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;YAClF,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAC;YACjD,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YACvD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;QAED,IAAI,kBAAkB,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YACvD,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YAChD,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,yDAAyD,YAAY,KAAK,CAAC,CAAC;QACvF,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,eAAe,OAAO,gBAAgB,CAAC,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,4BAA4B,SAAS,EAAE,CAAC,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;YAC9D,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;YAC9D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;YAC1E,KAAK,CAAC,IAAI,CAAC,2BAA2B,cAAc,EAAE,CAAC,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,eAAe,SAAS,EAAE,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;YACrE,KAAK,CAAC,IAAI,CAAC,wBAAwB,eAAe,EAAE,CAAC,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,wBAAwB,cAAc,IAAI,cAAc,EAAE,CAAC,CAAC;YACvE,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,eAAe,SAAS,EAAE,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,YAAY,KAAK,cAAc,EAAE,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;YAC/E,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;YAC9D,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;YAC9D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;YACxE,KAAK,CAAC,IAAI,CAAC,2BAA2B,cAAc,EAAE,CAAC,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,eAAe,SAAS,EAAE,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;YACjF,KAAK,CAAC,IAAI,CAAC,wBAAwB,eAAe,EAAE,CAAC,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,wBAAwB,cAAc,IAAI,cAAc,EAAE,CAAC,CAAC;YACvE,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,eAAe,SAAS,EAAE,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,qBAAqB;YACrB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,IAAI,UAAU,WAAW,WAAW,CAAC;YACrE,KAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;YAClE,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YAC7D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,wBAAwB,eAAe,EAAE,CAAC,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,wBAAwB,MAAM,OAAO,CAAC,CAAC;YAClD,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,2BAA2B,cAAc,EAAE,CAAC,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAC;YAC5F,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC9B,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAElB,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC/C,MAAM,SAAS,GAAI,IAAI,CAAC,aAAwB,IAAI,cAAc,UAAU,EAAE,CAAC;YAC/E,KAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YACjE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,uCAAuC,OAAO,WAAW,CAAC,CAAC;YACtE,KAAK,CAAC,IAAI,CAAC,2HAA2H,CAAC,CAAC;YACxI,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,iBAAiB,SAAS,SAAS,CAAC,CAAC;YAChD,KAAK,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;YAC/E,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,4BAA4B,OAAO,gBAAgB,CAAC,CAAC;YAChE,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YACnD,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QACrE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,yCAAyC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC1F,KAAK,CAAC,IAAI,CAAC,iBAAiB,OAAO,8BAA8B,CAAC,CAAC;QACnE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,iBAAiB,OAAO,4BAA4B,CAAC,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,IAAI,YAAY,KAAK,WAAW,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;YAChF,KAAK,CAAC,IAAI,CAAC,iBAAiB,OAAO,qCAAqC,CAAC,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,iBAAiB,OAAO,sCAAsC,CAAC,CAAC;QAC7E,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEpB,OAAO,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,qBAAqB,CAC1B,gBAAgB,CAAC,kBAAkB,EACnC,0BAA0B,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAC3D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,gBAAgB,CAAC;SACzB,QAAQ,CAAC,uFAAuF,CAAC;IACpG,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,qBAAqB,CAAC;IAClC,YAAY,EAAE,CAAC;SACZ,IAAI,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;SACjE,QAAQ,EAAE;SACV,OAAO,CAAC,WAAW,CAAC;SACpB,QAAQ,CAAC,yFAAyF,CAAC;IACtG,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,iIAAiI,CAAC;IAC9I,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,gBAAgB,CAAC;SACzB,QAAQ,CAAC,4EAA4E,CAAC;IACzF,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,4FAA4F,CAAC;IACzG,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,+CAA+C,CAAC;IAC5D,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,mFAAmF,CAAC;IAChG,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,GAAG,CAAC;SACZ,QAAQ,CAAC,4EAA4E,CAAC;IACzF,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,UAAU,CAAC;SACnB,QAAQ,CAAC,+CAA+C,CAAC;IAC5D,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,CAAC,yCAAyC,CAAC;IACtD,kBAAkB,EAAE,CAAC;SAClB,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,sHAAsH,CAAC;IACnI,YAAY,EAAE,CAAC;SACZ,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SACpB,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,wCAAwC,CAAC;IACrD,aAAa,EAAE,CAAC;SACb,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,yGAAyG,CAAC;IACtH,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,uFAAuF,CAAC;CACrG,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,oLAAoL;IACjM,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kEAAkE;aAChF;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qFAAqF;aACnG;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,mDAAmD;aACjE;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qDAAqD;aACnE;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,4CAA4C;aAC1D;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,iFAAiF;aAC/F;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAExE,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAA6B,EAC7B,OAAoB;IAEpB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAI,gBAAgB,CAAW,CAAC;QAC/E,IAAI,QAAQ,GAAG,SAAS,CAAC;QAEzB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1D,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC3B,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAI,IAAI,CAAC,YAAuB,IAAI,WAAW,CAAC;QAClE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAqB,CAAC;QAC/C,IAAI,YAAY,KAAK,WAAW,IAAI,CAAC,WAAW,EAAE,CAAC;YACjD,OAAO,qBAAqB,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,mEAAmE,CAAC,CAAC;QACvI,CAAC;QAED,MAAM,MAAM,GAAI,IAAI,CAAC,MAAiB,IAAI,gBAAgB,CAAC;QAC3D,MAAM,cAAc,GAAI,IAAI,CAAC,cAAyB,IAAI,CAAC,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACpH,MAAM,cAAc,GAAI,IAAI,CAAC,cAAyB,IAAI,IAAI,CAAC;QAC/D,MAAM,eAAe,GAAI,IAAI,CAAC,eAA0B,IAAI,CAAC,YAAY,KAAK,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACzJ,MAAM,cAAc,GAAI,IAAI,CAAC,cAAyB,IAAI,GAAG,CAAC;QAC9D,MAAM,KAAK,GAAI,IAAI,CAAC,KAAgB,IAAI,UAAU,CAAC;QACnD,MAAM,SAAS,GAAI,IAAI,CAAC,SAAoB,IAAI,SAAS,CAAC;QAC1D,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,KAAK,KAAK,CAAC;QAC7D,MAAM,YAAY,GAAI,IAAI,CAAC,YAAuB,IAAI,KAAK,CAAC;QAE5D,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,4CAA4C,QAAQ,MAAM,CAAC,CAAC;QACvE,KAAK,CAAC,IAAI,CAAC,6BAA6B,YAAY,CAAC,WAAW,EAAE,6BAA6B,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAEjI,IAAI,kBAAkB,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YACrD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,8CAA8C,YAAY,KAAK,CAAC,CAAC;QAC5E,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrB,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;YAC9D,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;YAC9D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;YAC1E,KAAK,CAAC,IAAI,CAAC,2BAA2B,cAAc,EAAE,CAAC,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,eAAe,SAAS,EAAE,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;YACrE,KAAK,CAAC,IAAI,CAAC,wBAAwB,eAAe,EAAE,CAAC,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,wBAAwB,cAAc,IAAI,cAAc,EAAE,CAAC,CAAC;YACvE,KAAK,CAAC,IAAI,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAC;YACjD,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,eAAe,SAAS,EAAE,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,YAAY,KAAK,cAAc,EAAE,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;YAC9D,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;YAC9D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;YACxE,KAAK,CAAC,IAAI,CAAC,2BAA2B,cAAc,EAAE,CAAC,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,eAAe,SAAS,EAAE,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;YACjF,KAAK,CAAC,IAAI,CAAC,wBAAwB,eAAe,EAAE,CAAC,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,wBAAwB,cAAc,IAAI,cAAc,EAAE,CAAC,CAAC;YACvE,KAAK,CAAC,IAAI,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAC;YACjD,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,eAAe,SAAS,EAAE,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,qBAAqB;YACrB,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YAC7D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,wBAAwB,eAAe,EAAE,CAAC,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,wBAAwB,MAAM,OAAO,CAAC,CAAC;YAClD,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAC;YACjD,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,2BAA2B,cAAc,EAAE,CAAC,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAC;YACjD,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,uBAAuB,WAAW,WAAW,CAAC,CAAC;YAC1D,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC9B,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEpB,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAChD,MAAM,SAAS,GAAI,IAAI,CAAC,aAAwB,IAAI,cAAc,UAAU,EAAE,CAAC;YAC/E,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,uCAAuC,QAAQ,WAAW,CAAC,CAAC;YACvE,KAAK,CAAC,IAAI,CAAC,2HAA2H,CAAC,CAAC;YACxI,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,iBAAiB,SAAS,SAAS,CAAC,CAAC;YAChD,KAAK,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;YAC/E,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,4BAA4B,QAAQ,gBAAgB,CAAC,CAAC;YACjE,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YACnD,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,iBAAiB,QAAQ,SAAS,CAAC,CAAC;QAC/C,IAAI,YAAY,KAAK,WAAW,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,iBAAiB,QAAQ,qCAAqC,CAAC,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,iBAAiB,QAAQ,sCAAsC,CAAC,CAAC;QAC9E,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEpB,OAAO,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,qBAAqB,CAC1B,gBAAgB,CAAC,kBAAkB,EACnC,0BAA0B,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAC3D,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -12,6 +12,9 @@ export declare const FindSlotInputShape: {
12
12
  host: z.ZodOptional<z.ZodString>;
13
13
  hypervisorType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["proxmox", "esxi", "any"]>>>;
14
14
  requiredMemoryGb: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
15
+ storage: z.ZodOptional<z.ZodString>;
16
+ cpuCores: z.ZodOptional<z.ZodNumber>;
17
+ diskGb: z.ZodOptional<z.ZodNumber>;
15
18
  workloadType: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["uat", "perf", "soak", "dev", "regression", "reproduction", "demo"]>, z.ZodString]>>;
16
19
  autoClaim: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
17
20
  purgeIfFull: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
@@ -31,6 +34,9 @@ export declare const FindSlotInputSchema: z.ZodObject<{
31
34
  host: z.ZodOptional<z.ZodString>;
32
35
  hypervisorType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["proxmox", "esxi", "any"]>>>;
33
36
  requiredMemoryGb: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
37
+ storage: z.ZodOptional<z.ZodString>;
38
+ cpuCores: z.ZodOptional<z.ZodNumber>;
39
+ diskGb: z.ZodOptional<z.ZodNumber>;
34
40
  workloadType: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["uat", "perf", "soak", "dev", "regression", "reproduction", "demo"]>, z.ZodString]>>;
35
41
  autoClaim: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
36
42
  purgeIfFull: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
@@ -52,6 +58,7 @@ export declare const FindSlotInputSchema: z.ZodObject<{
52
58
  purgeIfFull: boolean;
53
59
  requiredMemoryGb: number;
54
60
  autoClaim: boolean;
61
+ storage?: string | undefined;
55
62
  tag?: string | undefined;
56
63
  host?: string | undefined;
57
64
  targetVersion?: string | undefined;
@@ -59,11 +66,14 @@ export declare const FindSlotInputSchema: z.ZodObject<{
59
66
  label?: string | undefined;
60
67
  linearIssue?: string | undefined;
61
68
  branch?: string | undefined;
69
+ cpuCores?: number | undefined;
70
+ diskGb?: number | undefined;
62
71
  requester?: string | undefined;
63
72
  allowEsxiSlots?: boolean | undefined;
64
73
  excludeHosts?: string[] | undefined;
65
74
  minFreeDiskGb?: number | undefined;
66
75
  }, {
76
+ storage?: string | undefined;
67
77
  hypervisorType?: "proxmox" | "esxi" | "any" | undefined;
68
78
  durationMinutes?: number | undefined;
69
79
  tag?: string | undefined;
@@ -74,6 +84,8 @@ export declare const FindSlotInputSchema: z.ZodObject<{
74
84
  linearIssue?: string | undefined;
75
85
  branch?: string | undefined;
76
86
  format?: "table" | "json" | undefined;
87
+ cpuCores?: number | undefined;
88
+ diskGb?: number | undefined;
77
89
  requester?: string | undefined;
78
90
  purgeIfFull?: boolean | undefined;
79
91
  allowEsxiSlots?: boolean | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"find-slot.d.ts","sourceRoot":"","sources":["../../../src/tools/find-slot.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAA2C,MAAM,iBAAiB,CAAC;AAE1F,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;CAiF9B,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA+B,CAAC;AAChE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEnE,wBAAsB,cAAc,CAClC,OAAO,EAAE,gBAAgB,YAAK,EAC9B,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,CA2DzB"}
1
+ {"version":3,"file":"find-slot.d.ts","sourceRoot":"","sources":["../../../src/tools/find-slot.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAA2C,MAAM,iBAAiB,CAAC;AAE1F,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;CAoF9B,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA+B,CAAC;AAChE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEnE,wBAAsB,cAAc,CAClC,OAAO,EAAE,gBAAgB,YAAK,EAC9B,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,CA8DzB"}
@@ -24,6 +24,9 @@ export const FindSlotInputShape = {
24
24
  .optional()
25
25
  .default(8)
26
26
  .describe("Required RAM in GB per appliance (default 8GB)."),
27
+ storage: z.string().min(1).optional().describe("Exact VM-image storage pool to qualify."),
28
+ cpuCores: z.number().int().positive().optional().describe("Required vCPU count."),
29
+ diskGb: z.number().positive().finite().optional().describe("Required free disk in GB for the requested guest (default 10)."),
27
30
  workloadType: z
28
31
  .enum(["uat", "perf", "soak", "dev", "regression", "reproduction", "demo"])
29
32
  .or(z.string())
@@ -102,11 +105,14 @@ export async function handleFindSlot(rawArgs = {}, context) {
102
105
  hypervisorType: args.hypervisorType,
103
106
  workloadType: args.workloadType,
104
107
  requiredMemoryGb: args.requiredMemoryGb,
108
+ cpuCores: args.cpuCores,
109
+ storage: args.storage,
105
110
  autoClaim: args.autoClaim,
106
111
  purgeIfFull: args.purgeIfFull,
107
112
  allowEsxiSlots: args.allowEsxiSlots,
108
113
  excludeHosts: args.excludeHosts,
109
114
  minFreeDiskGb: args.minFreeDiskGb,
115
+ diskGb: args.diskGb,
110
116
  tag: args.tag,
111
117
  linearIssue: args.linearIssue,
112
118
  requester: args.requester,
@@ -1 +1 @@
1
- {"version":3,"file":"find-slot.js","sourceRoot":"","sources":["../../../src/tools/find-slot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"find-slot.js","sourceRoot":"","sources":["../../../src/tools/find-slot.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Canonical Proxmox cross-node cold VM migration MCP facade.
3
3
  * Wraps canonical `lab-inventory host migrate-vm` with dry-run planning,
4
- * cold-state assertions, dynamic slot quota pre-checks, and ADR 0506 journal state machine.
4
+ * cold-state assertions, physical resource pre-checks, and ADR 0506 journal state machine.
5
5
  */
6
6
  import { z } from "zod";
7
7
  import { CallToolResult } from "../types/mcp.js";
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Canonical Proxmox cross-node cold VM migration MCP facade.
3
3
  * Wraps canonical `lab-inventory host migrate-vm` with dry-run planning,
4
- * cold-state assertions, dynamic slot quota pre-checks, and ADR 0506 journal state machine.
4
+ * cold-state assertions, physical resource pre-checks, and ADR 0506 journal state machine.
5
5
  */
6
6
  import { z } from "zod";
7
7
  import { ProxmoxErrorCode, createToolErrorResult } from "../types/mcp.js";
@@ -18,7 +18,7 @@ import { CallToolResult } from "../types/mcp.js";
18
18
  import { ToolContext } from "./list-hosts.js";
19
19
  /**
20
20
  * Published appliance image, the same shape the canonical CLI accepts:
21
- * https://<spaces-host>/ovas/ct-<version>.qcow2
21
+ * https://<spaces-host>/ovas/ct-<version>[-rc<N>].qcow2
22
22
  */
23
23
  export declare const IMPORT_QCOW_PUBLISHED_URL_PATTERN: RegExp;
24
24
  /**
@@ -41,7 +41,7 @@ export declare const IMPORT_QCOW_SHA256_PATTERN: RegExp;
41
41
  export declare const IMPORT_QCOW_OS_VERSION_PATTERN: RegExp;
42
42
  /**
43
43
  * The release version the image carries, from its identity URL: the candidate
44
- * path version, or the version in ovas/ct-<version>.qcow2.
44
+ * path version, or the version in ovas/ct-<version>[-rc<N>].qcow2.
45
45
  */
46
46
  export declare function importQcowVersionFromUrl(imageUrl: string): string;
47
47
  /** DNS-safe lowercase prefix; the canonical CLI appends the VMID. */
@@ -114,8 +114,8 @@ export declare const ImportQcowInputObjectSchema: z.ZodObject<{
114
114
  memoryMb?: number | undefined;
115
115
  vmid?: number | undefined;
116
116
  network?: string | undefined;
117
- ttlHours?: number | undefined;
118
117
  diskGb?: number | undefined;
118
+ ttlHours?: number | undefined;
119
119
  workspaceRoot?: string | undefined;
120
120
  importStorage?: string | undefined;
121
121
  confirmAssetId?: string | undefined;
@@ -138,9 +138,9 @@ export declare const ImportQcowInputObjectSchema: z.ZodObject<{
138
138
  memoryMb?: number | undefined;
139
139
  vmid?: number | undefined;
140
140
  network?: string | undefined;
141
+ diskGb?: number | undefined;
141
142
  purpose?: string | undefined;
142
143
  ttlHours?: number | undefined;
143
- diskGb?: number | undefined;
144
144
  workspaceRoot?: string | undefined;
145
145
  importStorage?: string | undefined;
146
146
  apply?: boolean | undefined;
@@ -193,8 +193,8 @@ export declare const ImportQcowInputSchema: z.ZodEffects<z.ZodObject<{
193
193
  memoryMb?: number | undefined;
194
194
  vmid?: number | undefined;
195
195
  network?: string | undefined;
196
- ttlHours?: number | undefined;
197
196
  diskGb?: number | undefined;
197
+ ttlHours?: number | undefined;
198
198
  workspaceRoot?: string | undefined;
199
199
  importStorage?: string | undefined;
200
200
  confirmAssetId?: string | undefined;
@@ -217,9 +217,9 @@ export declare const ImportQcowInputSchema: z.ZodEffects<z.ZodObject<{
217
217
  memoryMb?: number | undefined;
218
218
  vmid?: number | undefined;
219
219
  network?: string | undefined;
220
+ diskGb?: number | undefined;
220
221
  purpose?: string | undefined;
221
222
  ttlHours?: number | undefined;
222
- diskGb?: number | undefined;
223
223
  workspaceRoot?: string | undefined;
224
224
  importStorage?: string | undefined;
225
225
  apply?: boolean | undefined;
@@ -245,8 +245,8 @@ export declare const ImportQcowInputSchema: z.ZodEffects<z.ZodObject<{
245
245
  memoryMb?: number | undefined;
246
246
  vmid?: number | undefined;
247
247
  network?: string | undefined;
248
- ttlHours?: number | undefined;
249
248
  diskGb?: number | undefined;
249
+ ttlHours?: number | undefined;
250
250
  workspaceRoot?: string | undefined;
251
251
  importStorage?: string | undefined;
252
252
  confirmAssetId?: string | undefined;
@@ -269,9 +269,9 @@ export declare const ImportQcowInputSchema: z.ZodEffects<z.ZodObject<{
269
269
  memoryMb?: number | undefined;
270
270
  vmid?: number | undefined;
271
271
  network?: string | undefined;
272
+ diskGb?: number | undefined;
272
273
  purpose?: string | undefined;
273
274
  ttlHours?: number | undefined;
274
- diskGb?: number | undefined;
275
275
  workspaceRoot?: string | undefined;
276
276
  importStorage?: string | undefined;
277
277
  apply?: boolean | undefined;
@@ -287,5 +287,5 @@ export type ImportQcowInput = z.infer<typeof ImportQcowInputSchema>;
287
287
  export type ImportQcowRawInput = z.input<typeof ImportQcowInputSchema>;
288
288
  export declare function buildImportQcowArgs(value: ImportQcowInput, env?: NodeJS.ProcessEnv): string[];
289
289
  export declare function handleProxmoxImportQcow(rawArgs: ImportQcowRawInput | undefined, context: ToolContext): Promise<CallToolResult>;
290
- export declare const IMPORT_QCOW_TOOL_DESCRIPTION = "Plan or apply an appliance QCOW2 import as a disposable Proxmox lab guest through canonical lab-inventory vm provision --source published-qcow (leased, journaled, credential-recoverable). The guest boots awaiting credential enrollment: continue with vm_repair, then finalize, then uat_access. osVersion (the AlmaLinux 9 minor inside the image, e.g. 9.8) is required. imageUrl is exactly one of two identity URLs on DigitalOcean Spaces (no query string, no presigned URL): a published image, https://calltelemetry-releases-nyc3.nyc3.digitaloceanspaces.com/ovas/ct-<version>.qcow2, or a private CI candidate for an unpublished RC (stored in a separate private bucket, never the public release bucket), https://calltelemetry-ci-candidates-nyc3.nyc3.digitaloceanspaces.com/candidates/<version>/<run_id>/ct-<version>.qcow2. Candidates are private and digest-bound; the public publish gate is unchanged. The lab operator supplies any download credential to the canonical CLI through its own environment, never through this tool. Dry-run is default; apply requires the reviewed asset, vm prefix, VMID, and image SHA-256 confirmations. VMID 182 is reserved. The canonical CLI owns digest verification, import, evidence capture, and teardown.";
290
+ export declare const IMPORT_QCOW_TOOL_DESCRIPTION = "Plan or apply an appliance QCOW2 import as a disposable Proxmox lab guest through canonical lab-inventory vm provision --source published-qcow (leased, journaled, credential-recoverable). The guest boots awaiting credential enrollment: continue with vm_repair, then finalize, then uat_access. osVersion (the AlmaLinux 9 minor inside the image, e.g. 9.8) is required. imageUrl is exactly one of two identity URLs on DigitalOcean Spaces (no query string, no presigned URL): a published image (a release candidate promoted to the public bucket keeps its -rc<N> suffix), https://calltelemetry-releases-nyc3.nyc3.digitaloceanspaces.com/ovas/ct-<version>[-rc<N>].qcow2, or a private CI candidate for an unpublished RC (stored in a separate private bucket, never the public release bucket), https://calltelemetry-ci-candidates-nyc3.nyc3.digitaloceanspaces.com/candidates/<version>/<run_id>/ct-<version>.qcow2. Candidates are private and digest-bound; the public publish gate is unchanged. The lab operator supplies any download credential to the canonical CLI through its own environment, never through this tool. Dry-run is default; apply requires the reviewed asset, vm prefix, VMID, and image SHA-256 confirmations. VMID 182 is reserved. The canonical CLI owns digest verification, import, evidence capture, and teardown.";
291
291
  //# sourceMappingURL=import-qcow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"import-qcow.d.ts","sourceRoot":"","sources":["../../../src/tools/import-qcow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,cAAc,EAGf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAmB9C;;;GAGG;AACH,eAAO,MAAM,iCAAiC,QAE7C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iCAAiC,QAG7C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,QAEzC,CAAC;AAEF,eAAO,MAAM,6BAA6B,QAIgC,CAAC;AAE3E,eAAO,MAAM,0BAA0B,QAAmB,CAAC;AAE3D,mCAAmC;AACnC,eAAO,MAAM,8BAA8B,QAAgB,CAAC;AAE5D;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMjE;AAED,qEAAqE;AACrE,eAAO,MAAM,6BAA6B,QAA2C,CAAC;AAEtF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;CAkFvB,CAAC;AAKX,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA0C,CAAC;AAEnF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEvE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,EAAE,CAwD1G;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,kBAAkB,GAAG,SAAS,EACvC,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,CAuDzB;AAED,eAAO,MAAM,4BAA4B,stCAC4qC,CAAC"}
1
+ {"version":3,"file":"import-qcow.d.ts","sourceRoot":"","sources":["../../../src/tools/import-qcow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,cAAc,EAGf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAmB9C;;;GAGG;AACH,eAAO,MAAM,iCAAiC,QAE7C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iCAAiC,QAG7C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,QAEzC,CAAC;AAEF,eAAO,MAAM,6BAA6B,QAIgC,CAAC;AAE3E,eAAO,MAAM,0BAA0B,QAAmB,CAAC;AAE3D,mCAAmC;AACnC,eAAO,MAAM,8BAA8B,QAAgB,CAAC;AAE5D;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMjE;AAED,qEAAqE;AACrE,eAAO,MAAM,6BAA6B,QAA2C,CAAC;AAEtF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;CAkFvB,CAAC;AAKX,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA0C,CAAC;AAEnF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEvE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,EAAE,CAwD1G;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,kBAAkB,GAAG,SAAS,EACvC,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,CAuDzB;AAED,eAAO,MAAM,4BAA4B,0yCACgwC,CAAC"}
@@ -32,9 +32,9 @@ const IMPORT_QCOW_HOST_SOURCE = "calltelemetry-releases-nyc3\\.nyc3\\.digitaloce
32
32
  const IMPORT_QCOW_CANDIDATE_HOST_SOURCE = "calltelemetry-ci-candidates-nyc3\\.nyc3\\.digitaloceanspaces\\.com";
33
33
  /**
34
34
  * Published appliance image, the same shape the canonical CLI accepts:
35
- * https://<spaces-host>/ovas/ct-<version>.qcow2
35
+ * https://<spaces-host>/ovas/ct-<version>[-rc<N>].qcow2
36
36
  */
37
- export const IMPORT_QCOW_PUBLISHED_URL_PATTERN = new RegExp(`^https://${IMPORT_QCOW_HOST_SOURCE}/ovas/ct-[0-9]+(?:\\.[0-9]+)+\\.qcow2$`);
37
+ export const IMPORT_QCOW_PUBLISHED_URL_PATTERN = new RegExp(`^https://${IMPORT_QCOW_HOST_SOURCE}/ovas/ct-[0-9]+(?:\\.[0-9]+)+(?:-rc[0-9]+)?\\.qcow2$`);
38
38
  /**
39
39
  * Private CI candidate for an unpublished RC that has not passed the public
40
40
  * publish gate (ADR 0727):
@@ -50,7 +50,7 @@ export const IMPORT_QCOW_CANDIDATE_URL_PATTERN = new RegExp(`^https://${IMPORT_Q
50
50
  * reviewed request rather than an allowlist edit.
51
51
  */
52
52
  export const IMPORT_QCOW_IMAGE_URL_PATTERN = new RegExp(`(?:${IMPORT_QCOW_PUBLISHED_URL_PATTERN.source})|(?:${IMPORT_QCOW_CANDIDATE_URL_PATTERN.source})`);
53
- export const IMPORT_QCOW_IMAGE_URL_MESSAGE = "must be https://calltelemetry-releases-nyc3.nyc3.digitaloceanspaces.com/ovas/ct-<version>.qcow2 " +
53
+ export const IMPORT_QCOW_IMAGE_URL_MESSAGE = "must be https://calltelemetry-releases-nyc3.nyc3.digitaloceanspaces.com/ovas/ct-<version>[-rc<N>].qcow2 " +
54
54
  "(published) or https://calltelemetry-ci-candidates-nyc3.nyc3.digitaloceanspaces.com/candidates/<version>/<run_id>/ct-<version>.qcow2 " +
55
55
  "(private CI candidate; <version> has four numeric parts with optional -rc<N> and must match in both positions; " +
56
56
  "<run_id> is 6-20 digits); no query string, fragment, userinfo, or port";
@@ -59,13 +59,13 @@ export const IMPORT_QCOW_SHA256_PATTERN = /^[a-f0-9]{64}$/;
59
59
  export const IMPORT_QCOW_OS_VERSION_PATTERN = /^9\.[0-9]+$/;
60
60
  /**
61
61
  * The release version the image carries, from its identity URL: the candidate
62
- * path version, or the version in ovas/ct-<version>.qcow2.
62
+ * path version, or the version in ovas/ct-<version>[-rc<N>].qcow2.
63
63
  */
64
64
  export function importQcowVersionFromUrl(imageUrl) {
65
65
  const candidate = IMPORT_QCOW_CANDIDATE_URL_PATTERN.exec(imageUrl);
66
66
  if (candidate?.groups?.version)
67
67
  return candidate.groups.version;
68
- const published = /\/ovas\/ct-([0-9]+(?:\.[0-9]+)+)\.qcow2$/.exec(imageUrl);
68
+ const published = /\/ovas\/ct-([0-9]+(?:\.[0-9]+)+(?:-rc[0-9]+)?)\.qcow2$/.exec(imageUrl);
69
69
  if (published)
70
70
  return published[1];
71
71
  throw new Error("image URL does not carry a release version");
@@ -92,7 +92,7 @@ export const ImportQcowInputShape = {
92
92
  .string()
93
93
  .trim()
94
94
  .regex(IMPORT_QCOW_IMAGE_URL_PATTERN, IMPORT_QCOW_IMAGE_URL_MESSAGE)
95
- .describe("Identity URL of the appliance QCOW2 object in DigitalOcean Spaces: either a published image (/ovas/ct-<version>.qcow2) or a private CI candidate (/candidates/<version>/<run_id>/ct-<version>.qcow2). No query string or presigned URL; the operator supplies any download credential to the canonical CLI through its own environment. Only the host-and-path shape is allowlisted; the digest is bound per request."),
95
+ .describe("Identity URL of the appliance QCOW2 object in DigitalOcean Spaces: either a published image (/ovas/ct-<version>[-rc<N>].qcow2) or a private CI candidate (/candidates/<version>/<run_id>/ct-<version>.qcow2). No query string or presigned URL; the operator supplies any download credential to the canonical CLI through its own environment. Only the host-and-path shape is allowlisted; the digest is bound per request."),
96
96
  imageSha256: z
97
97
  .string()
98
98
  .trim()
@@ -277,5 +277,5 @@ export async function handleProxmoxImportQcow(rawArgs, context) {
277
277
  // success.
278
278
  args.apply ? 3_600_000 : 120_000);
279
279
  }
280
- export const IMPORT_QCOW_TOOL_DESCRIPTION = "Plan or apply an appliance QCOW2 import as a disposable Proxmox lab guest through canonical lab-inventory vm provision --source published-qcow (leased, journaled, credential-recoverable). The guest boots awaiting credential enrollment: continue with vm_repair, then finalize, then uat_access. osVersion (the AlmaLinux 9 minor inside the image, e.g. 9.8) is required. imageUrl is exactly one of two identity URLs on DigitalOcean Spaces (no query string, no presigned URL): a published image, https://calltelemetry-releases-nyc3.nyc3.digitaloceanspaces.com/ovas/ct-<version>.qcow2, or a private CI candidate for an unpublished RC (stored in a separate private bucket, never the public release bucket), https://calltelemetry-ci-candidates-nyc3.nyc3.digitaloceanspaces.com/candidates/<version>/<run_id>/ct-<version>.qcow2. Candidates are private and digest-bound; the public publish gate is unchanged. The lab operator supplies any download credential to the canonical CLI through its own environment, never through this tool. Dry-run is default; apply requires the reviewed asset, vm prefix, VMID, and image SHA-256 confirmations. VMID 182 is reserved. The canonical CLI owns digest verification, import, evidence capture, and teardown.";
280
+ export const IMPORT_QCOW_TOOL_DESCRIPTION = "Plan or apply an appliance QCOW2 import as a disposable Proxmox lab guest through canonical lab-inventory vm provision --source published-qcow (leased, journaled, credential-recoverable). The guest boots awaiting credential enrollment: continue with vm_repair, then finalize, then uat_access. osVersion (the AlmaLinux 9 minor inside the image, e.g. 9.8) is required. imageUrl is exactly one of two identity URLs on DigitalOcean Spaces (no query string, no presigned URL): a published image (a release candidate promoted to the public bucket keeps its -rc<N> suffix), https://calltelemetry-releases-nyc3.nyc3.digitaloceanspaces.com/ovas/ct-<version>[-rc<N>].qcow2, or a private CI candidate for an unpublished RC (stored in a separate private bucket, never the public release bucket), https://calltelemetry-ci-candidates-nyc3.nyc3.digitaloceanspaces.com/candidates/<version>/<run_id>/ct-<version>.qcow2. Candidates are private and digest-bound; the public publish gate is unchanged. The lab operator supplies any download credential to the canonical CLI through its own environment, never through this tool. Dry-run is default; apply requires the reviewed asset, vm prefix, VMID, and image SHA-256 confirmations. VMID 182 is reserved. The canonical CLI owns digest verification, import, evidence capture, and teardown.";
281
281
  //# sourceMappingURL=import-qcow.js.map