@dr2rai/raid-canvas 0.2.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,7 +10,7 @@
10
10
  */
11
11
  import React from 'react';
12
12
  import { Graph } from '@antv/x6';
13
- import type { AimOntologyKind, RaidNodeData, RaidEdgeData } from './types.js';
13
+ import type { AimOntologyKind, AimRoutingMode, RaidNodeData, RaidEdgeData } from './types.js';
14
14
  export interface RaidCanvasProps {
15
15
  /** The raw SVG string carrying aim-* ontological attributes (preferred) */
16
16
  svg?: string;
@@ -18,6 +18,8 @@ export interface RaidCanvasProps {
18
18
  svgContent?: string;
19
19
  /** Whether the canvas allows dragging and editing, or behaves as a pan/zoom viewer */
20
20
  readOnly?: boolean;
21
+ /** Default routing mode for edges ('manhattan', 'normal', 'smooth'). Default: 'manhattan' */
22
+ defaultRouting?: AimRoutingMode;
21
23
  /** Optional CSS class name for the outer wrapper */
22
24
  className?: string;
23
25
  /** Optional inline styles for outer wrapper */
@@ -39,6 +41,8 @@ export interface RaidCanvasProps {
39
41
  x: number;
40
42
  y: number;
41
43
  }) => void;
44
+ /** Callback fired when the active routing mode changes (e.g. hydrated from SVG or switched by user) */
45
+ onRoutingModeChange?: (mode: AimRoutingMode) => void;
42
46
  /** Whether to render built-in navigation controls (Zoom In/Out, Fit, Center, Reset). Default: true */
43
47
  showToolbar?: boolean;
44
48
  }
@@ -51,8 +55,12 @@ export interface RaidCanvasHandle {
51
55
  addNode: (kind: AimOntologyKind, x?: number, y?: number, customData?: Partial<RaidNodeData>) => string;
52
56
  /** Update properties of an existing node (label, stereotype, dimensions, etc.) */
53
57
  updateNode: (id: string, updates: Partial<RaidNodeData>) => void;
54
- /** Update properties of an existing edge (kind, label, stereotype) */
58
+ /** Update properties of an existing edge (kind, label, stereotype, routing, ports) */
55
59
  updateEdge: (id: string, updates: Partial<RaidEdgeData>) => void;
60
+ /** Set routing mode across the canvas or for new edges */
61
+ setRoutingMode: (mode: AimRoutingMode, applyToAllEdges?: boolean) => void;
62
+ /** Get the current active canvas routing mode */
63
+ getRoutingMode: () => AimRoutingMode;
56
64
  /** Delete currently selected cell(s) */
57
65
  deleteSelection: () => void;
58
66
  /** Clear all cells on the canvas */
@@ -1 +1 @@
1
- {"version":3,"file":"RaidCanvas.d.ts","sourceRoot":"","sources":["../src/RaidCanvas.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAMN,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,KAAK,EAAS,MAAM,UAAU,CAAC;AAexC,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE9E,MAAM,WAAW,eAAe;IAC9B,2EAA2E;IAC3E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sFAAsF;IACtF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,+EAA+E;IAC/E,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,oFAAoF;IACpF,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,eAAe,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5F,0DAA0D;IAC1D,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACpD,+DAA+D;IAC/D,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACjF,sGAAsG;IACtG,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC;IAC7B,iCAAiC;IACjC,MAAM,EAAE,MAAM,MAAM,CAAC;IACrB,mDAAmD;IACnD,OAAO,EAAE,CACP,IAAI,EAAE,eAAe,EACrB,CAAC,CAAC,EAAE,MAAM,EACV,CAAC,CAAC,EAAE,MAAM,EACV,UAAU,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,KAC/B,MAAM,CAAC;IACZ,kFAAkF;IAClF,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IACjE,sEAAsE;IACtE,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IACjE,wCAAwC;IACxC,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,oCAAoC;IACpC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,4BAA4B;IAC5B,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,yCAAyC;IACzC,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,cAAc;IACd,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,eAAe;IACf,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,0FA0vBtB,CAAC"}
1
+ {"version":3,"file":"RaidCanvas.d.ts","sourceRoot":"","sources":["../src/RaidCanvas.tsx"],"names":[],"mappings":"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"}
@@ -12,13 +12,13 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
12
  import React, { useEffect, useRef, useState, useCallback, useImperativeHandle, } from 'react';
13
13
  import { Graph, Shape } from '@antv/x6';
14
14
  import { RaiBridge } from './RaiBridge.js';
15
- import { registerAimShapes, configureAimGraph, createAimNode, CascaisPalette, getDefaultNodeBounds, getDefaultNodeName, } from './X6Shapes.js';
15
+ import { registerAimShapes, configureAimGraph, createAimNode, applyEdgeRouting, CascaisPalette, getDefaultNodeBounds, getDefaultNodeName, } from './X6Shapes.js';
16
16
  import { validateSemanticConnection, getSemanticEdgeKind, getSemanticEdgeStereotype, } from './semanticRules.js';
17
17
  /**
18
18
  * Declarative drop-in React component for rendering and interacting with
19
19
  * AOAIM diagrams conforming to the ontological aim-* SVG contract.
20
20
  */
21
- export const RaidCanvas = React.forwardRef(function RaidCanvas({ svg, svgContent, readOnly = false, className, style, onChange, onSave, onSelect, onSelectionChange, onDropStencil, showToolbar = true, }, ref) {
21
+ export const RaidCanvas = React.forwardRef(function RaidCanvas({ svg, svgContent, readOnly = false, defaultRouting = 'manhattan', className, style, onChange, onSave, onSelect, onSelectionChange, onDropStencil, onRoutingModeChange, showToolbar = true, }, ref) {
22
22
  const containerRef = useRef(null);
23
23
  const graphRef = useRef(null);
24
24
  const bridgeRef = useRef(new RaiBridge());
@@ -26,6 +26,8 @@ export const RaidCanvas = React.forwardRef(function RaidCanvas({ svg, svgContent
26
26
  const isHydratingRef = useRef(false);
27
27
  const debounceTimerRef = useRef(null);
28
28
  const selectedCellIdRef = useRef(null);
29
+ const clearEdgeToolsRef = useRef(null);
30
+ const routingModeRef = useRef(defaultRouting);
29
31
  const [zoomLevel, setZoomLevel] = useState(100);
30
32
  const [isDragOver, setIsDragOver] = useState(false);
31
33
  // Unify svg vs svgContent props
@@ -41,6 +43,8 @@ export const RaidCanvas = React.forwardRef(function RaidCanvas({ svg, svgContent
41
43
  onSelectionChangeRef.current = onSelectionChange;
42
44
  const onDropStencilRef = useRef(onDropStencil);
43
45
  onDropStencilRef.current = onDropStencil;
46
+ const onRoutingModeChangeRef = useRef(onRoutingModeChange);
47
+ onRoutingModeChangeRef.current = onRoutingModeChange;
44
48
  const svgPropRef = useRef(activeSvg);
45
49
  svgPropRef.current = activeSvg;
46
50
  // Helper: Debounced Serialization and notification
@@ -54,7 +58,7 @@ export const RaidCanvas = React.forwardRef(function RaidCanvas({ svg, svgContent
54
58
  if (!graphRef.current)
55
59
  return;
56
60
  const currentBaseSvg = svgPropRef.current;
57
- const updatedSvg = bridgeRef.current.serializeToSvg(graphRef.current, currentBaseSvg);
61
+ const updatedSvg = bridgeRef.current.serializeToSvg(graphRef.current, currentBaseSvg, { routingMode: routingModeRef.current });
58
62
  lastSerializedSvgRef.current = updatedSvg;
59
63
  onChangeRef.current?.(updatedSvg);
60
64
  onSaveRef.current?.(updatedSvg);
@@ -106,7 +110,7 @@ export const RaidCanvas = React.forwardRef(function RaidCanvas({ svg, svgContent
106
110
  getSvg: () => {
107
111
  if (!graphRef.current)
108
112
  return svgPropRef.current;
109
- return bridgeRef.current.serializeToSvg(graphRef.current, svgPropRef.current);
113
+ return bridgeRef.current.serializeToSvg(graphRef.current, svgPropRef.current, { routingMode: routingModeRef.current });
110
114
  },
111
115
  addNode: (kind, x, y, customData) => {
112
116
  const graph = graphRef.current;
@@ -184,8 +188,37 @@ export const RaidCanvas = React.forwardRef(function RaidCanvas({ svg, svgContent
184
188
  if (!edge || !edge.isEdge())
185
189
  return;
186
190
  const currentData = (edge.getData() ?? {});
187
- const nextData = { ...currentData, ...updates };
188
- edge.setData(nextData);
191
+ const mutableData = { ...currentData, ...updates };
192
+ if (updates.routing !== undefined) {
193
+ applyEdgeRouting(edge, updates.routing);
194
+ }
195
+ if (updates.sourcePort !== undefined) {
196
+ const currentSource = edge.getSource();
197
+ if (currentSource.cell) {
198
+ if (updates.sourcePort === '' || updates.sourcePort === 'auto') {
199
+ edge.setSource({ cell: currentSource.cell });
200
+ delete mutableData.sourcePort;
201
+ }
202
+ else {
203
+ edge.setSource({ cell: currentSource.cell, port: updates.sourcePort });
204
+ mutableData.sourcePort = updates.sourcePort;
205
+ }
206
+ }
207
+ }
208
+ if (updates.targetPort !== undefined) {
209
+ const currentTarget = edge.getTarget();
210
+ if (currentTarget.cell) {
211
+ if (updates.targetPort === '' || updates.targetPort === 'auto') {
212
+ edge.setTarget({ cell: currentTarget.cell });
213
+ delete mutableData.targetPort;
214
+ }
215
+ else {
216
+ edge.setTarget({ cell: currentTarget.cell, port: updates.targetPort });
217
+ mutableData.targetPort = updates.targetPort;
218
+ }
219
+ }
220
+ }
221
+ edge.setData(mutableData);
189
222
  if (updates.label !== undefined || updates.stereotype !== undefined) {
190
223
  const text = updates.label ?? updates.stereotype ?? '';
191
224
  edge.setLabels(text
@@ -205,6 +238,22 @@ export const RaidCanvas = React.forwardRef(function RaidCanvas({ svg, svgContent
205
238
  }
206
239
  triggerDebouncedChange();
207
240
  },
241
+ setRoutingMode: (mode, applyToAll = true) => {
242
+ routingModeRef.current = mode;
243
+ if (graphRef.current) {
244
+ graphRef.current._aimRoutingMode = mode;
245
+ }
246
+ onRoutingModeChangeRef.current?.(mode);
247
+ if (applyToAll && graphRef.current) {
248
+ for (const edge of graphRef.current.getEdges()) {
249
+ applyEdgeRouting(edge, mode);
250
+ const currentData = (edge.getData() ?? {});
251
+ edge.setData({ ...currentData, routing: mode });
252
+ }
253
+ triggerDebouncedChange();
254
+ }
255
+ },
256
+ getRoutingMode: () => routingModeRef.current,
208
257
  deleteSelection: () => {
209
258
  const graph = graphRef.current;
210
259
  if (!graph || readOnly)
@@ -212,6 +261,7 @@ export const RaidCanvas = React.forwardRef(function RaidCanvas({ svg, svgContent
212
261
  if (selectedCellIdRef.current) {
213
262
  const cell = graph.getCellById(selectedCellIdRef.current);
214
263
  if (cell) {
264
+ clearEdgeToolsRef.current?.();
215
265
  graph.removeCell(cell);
216
266
  selectedCellIdRef.current = null;
217
267
  onSelectRef.current?.(null);
@@ -330,49 +380,119 @@ export const RaidCanvas = React.forwardRef(function RaidCanvas({ svg, svgContent
330
380
  return validateSemanticConnection(sourceKind, targetKind);
331
381
  },
332
382
  createEdge() {
333
- return new Shape.Edge({
383
+ const edge = new Shape.Edge({
334
384
  shape: 'aim-edge',
335
385
  });
386
+ applyEdgeRouting(edge, routingModeRef.current);
387
+ return edge;
336
388
  },
337
389
  },
338
390
  });
339
391
  configureAimGraph(graph);
340
392
  graphRef.current = graph;
341
- // Handle new edge connections with automatic semantic wiring
342
- graph.on('edge:connected', ({ edge, isNew }) => {
343
- if (!isNew)
393
+ let activeToolEdge = null;
394
+ const clearEdgeTools = () => {
395
+ if (activeToolEdge) {
396
+ try {
397
+ activeToolEdge.removeTools();
398
+ }
399
+ catch {
400
+ // Ignore if cell was already removed
401
+ }
402
+ activeToolEdge = null;
403
+ }
404
+ };
405
+ clearEdgeToolsRef.current = clearEdgeTools;
406
+ const setEdgeTools = (edge) => {
407
+ clearEdgeTools();
408
+ if (readOnly)
344
409
  return;
410
+ activeToolEdge = edge;
411
+ try {
412
+ edge.addTools([
413
+ {
414
+ name: 'source-arrowhead',
415
+ args: {
416
+ attrs: {
417
+ fill: CascaisPalette.NetGold,
418
+ stroke: '#FFFFFF',
419
+ strokeWidth: 2,
420
+ cursor: 'grab',
421
+ },
422
+ },
423
+ },
424
+ {
425
+ name: 'target-arrowhead',
426
+ args: {
427
+ attrs: {
428
+ fill: CascaisPalette.NetGold,
429
+ stroke: '#FFFFFF',
430
+ strokeWidth: 2,
431
+ cursor: 'grab',
432
+ },
433
+ },
434
+ },
435
+ {
436
+ name: 'vertices',
437
+ args: {
438
+ attrs: {
439
+ fill: CascaisPalette.WarmGraphite,
440
+ stroke: '#FFFFFF',
441
+ strokeWidth: 1.5,
442
+ },
443
+ },
444
+ },
445
+ ]);
446
+ }
447
+ catch {
448
+ // Fallback if tools fail to attach
449
+ }
450
+ };
451
+ // Handle edge connections and re-connections with automatic semantic wiring
452
+ graph.on('edge:connected', ({ edge, isNew }) => {
345
453
  const sourceCell = edge.getSourceCell();
346
454
  const targetCell = edge.getTargetCell();
347
455
  if (sourceCell?.isNode() && targetCell?.isNode()) {
348
456
  const sourceKind = (sourceCell.getData()?.kind ?? 'act');
349
457
  const targetKind = (targetCell.getData()?.kind ?? 'act');
350
458
  const edgeKind = getSemanticEdgeKind(sourceKind, targetKind);
351
- const stereotype = getSemanticEdgeStereotype(sourceKind, targetKind);
459
+ const currentData = (edge.getData() ?? {});
460
+ const stereotype = currentData.stereotype ?? getSemanticEdgeStereotype(sourceKind, targetKind);
352
461
  edge.setData({
462
+ ...currentData,
353
463
  id: edge.id,
354
464
  kind: edgeKind,
355
465
  sourceId: sourceCell.id,
356
466
  targetId: targetCell.id,
357
467
  sourcePort: edge.getSourcePortId(),
358
468
  targetPort: edge.getTargetPortId(),
359
- label: stereotype,
469
+ label: currentData.label ?? stereotype,
360
470
  stereotype,
361
- bendPoints: [],
471
+ routing: currentData.routing ?? routingModeRef.current,
472
+ bendPoints: currentData.bendPoints ?? [],
362
473
  });
363
- if (stereotype) {
364
- edge.setLabels([
365
- {
366
- attrs: {
367
- text: {
368
- text: stereotype,
369
- fill: CascaisPalette.TextSecondary,
370
- fontSize: 11,
474
+ if (isNew) {
475
+ applyEdgeRouting(edge, routingModeRef.current);
476
+ if (stereotype) {
477
+ edge.setLabels([
478
+ {
479
+ attrs: {
480
+ text: {
481
+ text: stereotype,
482
+ fill: CascaisPalette.TextSecondary,
483
+ fontSize: 11,
484
+ },
371
485
  },
486
+ position: 0.5,
372
487
  },
373
- position: 0.5,
374
- },
375
- ]);
488
+ ]);
489
+ }
490
+ }
491
+ else {
492
+ // Re-anchored: if edge was selected, re-attach tools
493
+ if (selectedCellIdRef.current === edge.id) {
494
+ setEdgeTools(edge);
495
+ }
376
496
  }
377
497
  }
378
498
  triggerDebouncedChange();
@@ -381,8 +501,15 @@ export const RaidCanvas = React.forwardRef(function RaidCanvas({ svg, svgContent
381
501
  graph.on('node:change:position', triggerDebouncedChange);
382
502
  graph.on('node:change:size', triggerDebouncedChange);
383
503
  graph.on('edge:change:vertices', triggerDebouncedChange);
504
+ graph.on('edge:change:source', triggerDebouncedChange);
505
+ graph.on('edge:change:target', triggerDebouncedChange);
384
506
  graph.on('cell:added', triggerDebouncedChange);
385
- graph.on('cell:removed', triggerDebouncedChange);
507
+ graph.on('cell:removed', ({ cell }) => {
508
+ if (cell === activeToolEdge) {
509
+ activeToolEdge = null;
510
+ }
511
+ triggerDebouncedChange();
512
+ });
386
513
  // Zoom listener to keep toolbar indicator accurate
387
514
  graph.on('scale', () => {
388
515
  setZoomLevel(Math.round(graph.zoom() * 100));
@@ -392,6 +519,7 @@ export const RaidCanvas = React.forwardRef(function RaidCanvas({ svg, svgContent
392
519
  const id = String(cell.id);
393
520
  selectedCellIdRef.current = id;
394
521
  if (cell.isNode()) {
522
+ clearEdgeTools();
395
523
  const data = (cell.getData() ?? {});
396
524
  const kind = (data.kind ?? 'act');
397
525
  const label = data.displayName ??
@@ -401,6 +529,7 @@ export const RaidCanvas = React.forwardRef(function RaidCanvas({ svg, svgContent
401
529
  onSelectRef.current?.({ id, kind, label });
402
530
  }
403
531
  else if (cell.isEdge()) {
532
+ setEdgeTools(cell);
404
533
  const data = (cell.getData() ?? {});
405
534
  const label = data.label ??
406
535
  cell.getLabels()?.[0]?.attrs?.['text']?.['text'] ??
@@ -410,6 +539,7 @@ export const RaidCanvas = React.forwardRef(function RaidCanvas({ svg, svgContent
410
539
  onSelectionChangeRef.current?.([id]);
411
540
  });
412
541
  graph.on('blank:click', () => {
542
+ clearEdgeTools();
413
543
  selectedCellIdRef.current = null;
414
544
  onSelectRef.current?.(null);
415
545
  onSelectionChangeRef.current?.([]);
@@ -429,6 +559,7 @@ export const RaidCanvas = React.forwardRef(function RaidCanvas({ svg, svgContent
429
559
  const cell = graphRef.current.getCellById(selectedCellIdRef.current);
430
560
  if (cell) {
431
561
  e.preventDefault();
562
+ clearEdgeTools();
432
563
  graphRef.current.removeCell(cell);
433
564
  selectedCellIdRef.current = null;
434
565
  onSelectRef.current?.(null);
@@ -453,8 +584,13 @@ export const RaidCanvas = React.forwardRef(function RaidCanvas({ svg, svgContent
453
584
  if (svgPropRef.current) {
454
585
  isHydratingRef.current = true;
455
586
  try {
456
- bridgeRef.current.hydrateFromSvg(svgPropRef.current, graph);
587
+ const metamodel = bridgeRef.current.hydrateFromSvg(svgPropRef.current, graph, { inferPorts: false });
457
588
  lastSerializedSvgRef.current = svgPropRef.current;
589
+ if (metamodel.routing) {
590
+ routingModeRef.current = metamodel.routing;
591
+ graph._aimRoutingMode = metamodel.routing;
592
+ onRoutingModeChangeRef.current?.(metamodel.routing);
593
+ }
458
594
  graph.centerContent();
459
595
  }
460
596
  catch (err) {
@@ -471,6 +607,7 @@ export const RaidCanvas = React.forwardRef(function RaidCanvas({ svg, svgContent
471
607
  }
472
608
  window.removeEventListener('keydown', handleKeyDown);
473
609
  resizeObserver.disconnect();
610
+ clearEdgeToolsRef.current = null;
474
611
  graph.dispose();
475
612
  graphRef.current = null;
476
613
  };
@@ -488,8 +625,13 @@ export const RaidCanvas = React.forwardRef(function RaidCanvas({ svg, svgContent
488
625
  }
489
626
  isHydratingRef.current = true;
490
627
  try {
491
- bridgeRef.current.hydrateFromSvg(activeSvg, graph);
628
+ const metamodel = bridgeRef.current.hydrateFromSvg(activeSvg, graph, { inferPorts: false });
492
629
  lastSerializedSvgRef.current = activeSvg;
630
+ if (metamodel.routing) {
631
+ routingModeRef.current = metamodel.routing;
632
+ graph._aimRoutingMode = metamodel.routing;
633
+ onRoutingModeChangeRef.current?.(metamodel.routing);
634
+ }
493
635
  graph.centerContent();
494
636
  }
495
637
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"RaidCanvas.js","sourceRoot":"","sources":["../src/RaidCanvas.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RaidCanvas.js","sourceRoot":"","sources":["../src/RaidCanvas.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,EACZ,SAAS,EACT,MAAM,EACN,QAAQ,EACR,WAAW,EACX,mBAAmB,GACpB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,KAAK,EAAE,KAAK,EAAQ,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAoE5B;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CACxC,SAAS,UAAU,CACjB,EACE,GAAG,EACH,UAAU,EACV,QAAQ,GAAG,KAAK,EAChB,cAAc,GAAG,WAAW,EAC5B,SAAS,EACT,KAAK,EACL,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,WAAW,GAAG,IAAI,GACnB,EACD,GAAG;IAEH,MAAM,YAAY,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,MAAM,CAAe,IAAI,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,MAAM,CAAY,IAAI,SAAS,EAAE,CAAC,CAAC;IACrD,MAAM,oBAAoB,GAAG,MAAM,CAAS,EAAE,CAAC,CAAC;IAChD,MAAM,cAAc,GAAG,MAAM,CAAU,KAAK,CAAC,CAAC;IAC9C,MAAM,gBAAgB,GAAG,MAAM,CAAuC,IAAI,CAAC,CAAC;IAC5E,MAAM,iBAAiB,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IACtD,MAAM,iBAAiB,GAAG,MAAM,CAAsB,IAAI,CAAC,CAAC;IAC5D,MAAM,cAAc,GAAG,MAAM,CAAiB,cAAc,CAAC,CAAC;IAE9D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAS,GAAG,CAAC,CAAC;IACxD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAE7D,gCAAgC;IAChC,MAAM,SAAS,GAAG,UAAU,IAAI,GAAG,IAAI,EAAE,CAAC;IAE1C,yDAAyD;IACzD,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrC,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC;IAE/B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC;IAE3B,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrC,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC;IAE/B,MAAM,oBAAoB,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACvD,oBAAoB,CAAC,OAAO,GAAG,iBAAiB,CAAC;IAEjD,MAAM,gBAAgB,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IAC/C,gBAAgB,CAAC,OAAO,GAAG,aAAa,CAAC;IAEzC,MAAM,sBAAsB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC3D,sBAAsB,CAAC,OAAO,GAAG,mBAAmB,CAAC;IAErD,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IACrC,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;IAE/B,mDAAmD;IACnD,MAAM,sBAAsB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9C,IAAI,cAAc,CAAC,OAAO;YAAE,OAAO;QAEnC,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC7B,YAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;QAED,gBAAgB,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YACzC,IAAI,CAAC,QAAQ,CAAC,OAAO;gBAAE,OAAO;YAC9B,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC;YAC1C,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,cAAc,CACjD,QAAQ,CAAC,OAAO,EAChB,cAAc,EACd,EAAE,WAAW,EAAE,cAAc,CAAC,OAAO,EAAE,CACxC,CAAC;YACF,oBAAoB,CAAC,OAAO,GAAG,UAAU,CAAC;YAE1C,WAAW,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC;YAClC,SAAS,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,6EAA6E;IAC7E,kBAAkB;IAClB,6EAA6E;IAC7E,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACjB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QAChD,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,KAAK,CAAC,aAAa,EAAE,CAAC;IACxB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAClC,KAAK,CAAC,aAAa,EAAE,CAAC;QACtB,YAAY,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,6EAA6E;IAC7E,4BAA4B;IAC5B,6EAA6E;IAC7E,mBAAmB,CACjB,GAAG,EACH,GAAG,EAAE,CAAC,CAAC;QACL,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO;QAChC,MAAM,EAAE,GAAG,EAAE;YACX,IAAI,CAAC,QAAQ,CAAC,OAAO;gBAAE,OAAO,UAAU,CAAC,OAAO,CAAC;YACjD,OAAO,SAAS,CAAC,OAAO,CAAC,cAAc,CACrC,QAAQ,CAAC,OAAO,EAChB,UAAU,CAAC,OAAO,EAClB,EAAE,WAAW,EAAE,cAAc,CAAC,OAAO,EAAE,CACxC,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE;YAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;YAC/B,IAAI,CAAC,KAAK;gBAAE,OAAO,EAAE,CAAC;YAEtB,MAAM,aAAa,GAAG,oBAAoB,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC;YACrE,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAExE,MAAM,QAAQ,GAAiB;gBAC7B,EAAE;gBACF,IAAI;gBACJ,WAAW,EAAE,UAAU,EAAE,WAAW,IAAI,WAAW;gBACnD,GAAG,CAAC,UAAU,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtF,GAAG,CAAC,UAAU,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtF,GAAG,CAAC,UAAU,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7E,MAAM,EAAE;oBACN,GAAG,aAAa;oBAChB,GAAG,CAAC,UAAU,EAAE,MAAM,IAAI,EAAE,CAAC;iBAC9B;aACF,CAAC;YAEF,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;YACzC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAExB,iBAAiB,CAAC,OAAO,GAAG,EAAE,CAAC;YAC/B,WAAW,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;YACjE,oBAAoB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACrC,sBAAsB,EAAE,CAAC;YAEzB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,UAAU,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;YAC/B,IAAI,CAAC,KAAK;gBAAE,OAAO;YACnB,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAAE,OAAO;YAEpC,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAiB,CAAC;YAC3D,MAAM,QAAQ,GAAiB;gBAC7B,GAAG,WAAW;gBACd,GAAG,OAAO;gBACV,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE;gBACtC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,IAAI,KAAK;gBAC/C,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,IAAI,EAAE;gBACjE,MAAM,EAAE;oBACN,GAAG,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;oBACjE,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;iBAC1B;aACF,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAEvB,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;YACzC,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;YACvC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,KAAK,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;YAE7E,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC5B,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;gBAC9C,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;oBACtC,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxE,CAAC;gBACD,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBACnC,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;YAC9C,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACrD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5D,CAAC;YAED,sBAAsB,EAAE,CAAC;QAC3B,CAAC;QACD,UAAU,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;YAC/B,IAAI,CAAC,KAAK;gBAAE,OAAO;YACnB,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAAE,OAAO;YAEpC,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAiB,CAAC;YAC3D,MAAM,WAAW,GAA4B,EAAE,GAAG,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC;YAE5E,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAClC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAC1C,CAAC;YAED,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBACrC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAuB,CAAC;gBAC5D,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC;oBACvB,IAAI,OAAO,CAAC,UAAU,KAAK,EAAE,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;wBAC/D,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;wBAC7C,OAAO,WAAW,CAAC,UAAU,CAAC;oBAChC,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;wBACvE,WAAW,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;oBAC9C,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBACrC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAuB,CAAC;gBAC5D,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC;oBACvB,IAAI,OAAO,CAAC,UAAU,KAAK,EAAE,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;wBAC/D,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;wBAC7C,OAAO,WAAW,CAAC,UAAU,CAAC;oBAChC,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;wBACvE,WAAW,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;oBAC9C,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,WAAsC,CAAC,CAAC;YAErD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBACpE,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;gBACvD,IAAI,CAAC,SAAS,CACZ,IAAI;oBACF,CAAC,CAAC;wBACE;4BACE,KAAK,EAAE;gCACL,IAAI,EAAE;oCACJ,IAAI;oCACJ,IAAI,EAAE,cAAc,CAAC,aAAa;oCAClC,QAAQ,EAAE,EAAE;iCACb;6BACF;4BACD,QAAQ,EAAE,GAAG;yBACd;qBACF;oBACH,CAAC,CAAC,EAAE,CACP,CAAC;YACJ,CAAC;YAED,sBAAsB,EAAE,CAAC;QAC3B,CAAC;QACD,cAAc,EAAE,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,EAAE,EAAE;YAC1C,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC;YAC9B,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACpB,QAAQ,CAAC,OAA2D,CAAC,eAAe,GAAG,IAAI,CAAC;YAC/F,CAAC;YACD,sBAAsB,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,UAAU,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACnC,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;oBAC/C,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBAC7B,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAiB,CAAC;oBAC3D,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,CAAC;gBACD,sBAAsB,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,cAAc,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,OAAO;QAC5C,eAAe,EAAE,GAAG,EAAE;YACpB,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;YAC/B,IAAI,CAAC,KAAK,IAAI,QAAQ;gBAAE,OAAO;YAC/B,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBAC1D,IAAI,IAAI,EAAE,CAAC;oBACT,iBAAiB,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC9B,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBACvB,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;oBACjC,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;oBAC5B,oBAAoB,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;oBACnC,sBAAsB,EAAE,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,EAAE,GAAG,EAAE;YACV,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;YAC/B,IAAI,CAAC,KAAK,IAAI,QAAQ;gBAAE,OAAO;YAC/B,KAAK,CAAC,UAAU,EAAE,CAAC;YACnB,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;YACjC,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;YAC5B,oBAAoB,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;YACnC,sBAAsB,EAAE,CAAC;QAC3B,CAAC;QACD,MAAM,EAAE,YAAY;QACpB,SAAS,EAAE,kBAAkB;QAC7B,SAAS,EAAE,eAAe;QAC1B,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,aAAa;KACvB,CAAC,EACF;QACE,YAAY;QACZ,kBAAkB;QAClB,eAAe;QACf,YAAY;QACZ,aAAa;QACb,QAAQ;QACR,sBAAsB;KACvB,CACF,CAAC;IAEF,6EAA6E;IAC7E,mCAAmC;IACnC,6EAA6E;IAC7E,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,YAAY,CAAC,OAAO;YAAE,OAAO;QAElC,iBAAiB,EAAE,CAAC;QAEpB,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC;QACvC,MAAM,YAAY,GAAG,SAAS,CAAC,WAAW,IAAI,GAAG,CAAC;QAClD,MAAM,aAAa,GAAG,SAAS,CAAC,YAAY,IAAI,GAAG,CAAC;QAEpD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;YACtB,SAAS;YACT,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,aAAa;YACrB,UAAU,EAAE,KAAK;YACjB,IAAI,EAAE;gBACJ,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE;oBACJ,KAAK,EAAE,cAAc,CAAC,UAAU;oBAChC,SAAS,EAAE,CAAC;iBACb;aACF;YACD,YAAY,EAAE;gBACZ,eAAe,EAAE;oBACf,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE;wBACJ,OAAO,EAAE,CAAC;wBACV,KAAK,EAAE;4BACL,MAAM,EAAE,cAAc,CAAC,aAAa;4BACpC,WAAW,EAAE,CAAC;yBACf;qBACF;iBACF;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE;wBACJ,OAAO,EAAE,CAAC;wBACV,KAAK,EAAE;4BACL,MAAM,EAAE,cAAc,CAAC,aAAa;4BACpC,WAAW,EAAE,CAAC;4BACd,IAAI,EAAE,cAAc,CAAC,aAAa;yBACnC;qBACF;iBACF;aACF;YACD,WAAW,EAAE;gBACX,WAAW,EAAE,CAAC,QAAQ;gBACtB,WAAW,EAAE,CAAC,QAAQ;gBACtB,gBAAgB,EAAE,CAAC,QAAQ;gBAC3B,gBAAgB,EAAE,CAAC,QAAQ;gBAC3B,aAAa,EAAE,CAAC,QAAQ;gBACxB,aAAa,EAAE,CAAC,QAAQ;gBACxB,eAAe,EAAE,CAAC,QAAQ;aAC3B;YACD,OAAO,EAAE;gBACP,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,QAAQ;oBAClB,CAAC,CAAC,CAAC,eAAe,EAAE,gBAAgB,CAAC;oBACrC,CAAC,CAAC,CAAC,gBAAgB,EAAE,YAAY,CAAC;aACrC;YACD,UAAU,EAAE;gBACV,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;aAC5B;YACD,UAAU,EAAE;gBACV,MAAM,EAAE,WAAW;gBACnB,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnD,UAAU,EAAE,KAAK;gBACjB,SAAS,EAAE,KAAK;gBAChB,SAAS,EAAE,IAAI;gBACf,SAAS,EAAE,IAAI;gBACf,SAAS,EAAE,KAAK;gBAChB,SAAS,EAAE,IAAI;gBACf,kBAAkB,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE;oBAC3C,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU;wBAAE,OAAO,KAAK,CAAC;oBAC7C,IAAI,UAAU,KAAK,UAAU;wBAAE,OAAO,KAAK,CAAC;oBAC5C,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;wBAAE,OAAO,KAAK,CAAC;oBAE/D,MAAM,UAAU,GAAG,CAChB,UAAU,CAAC,OAAO,EAA4B,EAAE,IAAI,IAAI,KAAK,CAC5C,CAAC;oBACrB,MAAM,UAAU,GAAG,CAChB,UAAU,CAAC,OAAO,EAA4B,EAAE,IAAI,IAAI,KAAK,CAC5C,CAAC;oBAErB,OAAO,0BAA0B,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBAC5D,CAAC;gBACD,UAAU;oBACR,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC;wBAC1B,KAAK,EAAE,UAAU;qBAClB,CAAC,CAAC;oBACH,gBAAgB,CAAC,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;oBAC/C,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC,CAAC;QAEH,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACzB,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;QAEzB,IAAI,cAAc,GAAgB,IAAI,CAAC;QAEvC,MAAM,cAAc,GAAG,GAAG,EAAE;YAC1B,IAAI,cAAc,EAAE,CAAC;gBACnB,IAAI,CAAC;oBACH,cAAc,CAAC,WAAW,EAAE,CAAC;gBAC/B,CAAC;gBAAC,MAAM,CAAC;oBACP,qCAAqC;gBACvC,CAAC;gBACD,cAAc,GAAG,IAAI,CAAC;YACxB,CAAC;QACH,CAAC,CAAC;QACF,iBAAiB,CAAC,OAAO,GAAG,cAAc,CAAC;QAE3C,MAAM,YAAY,GAAG,CAAC,IAAU,EAAE,EAAE;YAClC,cAAc,EAAE,CAAC;YACjB,IAAI,QAAQ;gBAAE,OAAO;YACrB,cAAc,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC;oBACZ;wBACE,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE;4BACJ,KAAK,EAAE;gCACL,IAAI,EAAE,cAAc,CAAC,OAAO;gCAC5B,MAAM,EAAE,SAAS;gCACjB,WAAW,EAAE,CAAC;gCACd,MAAM,EAAE,MAAM;6BACf;yBACF;qBACF;oBACD;wBACE,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE;4BACJ,KAAK,EAAE;gCACL,IAAI,EAAE,cAAc,CAAC,OAAO;gCAC5B,MAAM,EAAE,SAAS;gCACjB,WAAW,EAAE,CAAC;gCACd,MAAM,EAAE,MAAM;6BACf;yBACF;qBACF;oBACD;wBACE,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE;4BACJ,KAAK,EAAE;gCACL,IAAI,EAAE,cAAc,CAAC,YAAY;gCACjC,MAAM,EAAE,SAAS;gCACjB,WAAW,EAAE,GAAG;6BACjB;yBACF;qBACF;iBACF,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,mCAAmC;YACrC,CAAC;QACH,CAAC,CAAC;QAEF,4EAA4E;QAC5E,KAAK,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;YAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACxC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACxC,IAAI,UAAU,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC;gBACjD,MAAM,UAAU,GAAG,CAChB,UAAU,CAAC,OAAO,EAA4B,EAAE,IAAI,IAAI,KAAK,CAC5C,CAAC;gBACrB,MAAM,UAAU,GAAG,CAChB,UAAU,CAAC,OAAO,EAA4B,EAAE,IAAI,IAAI,KAAK,CAC5C,CAAC;gBAErB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBAC7D,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAA0B,CAAC;gBACpE,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,IAAI,yBAAyB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBAE/F,IAAI,CAAC,OAAO,CAAC;oBACX,GAAG,WAAW;oBACd,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,UAAU,CAAC,EAAE;oBACvB,QAAQ,EAAE,UAAU,CAAC,EAAE;oBACvB,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE;oBAClC,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE;oBAClC,KAAK,EAAE,WAAW,CAAC,KAAK,IAAI,UAAU;oBACtC,UAAU;oBACV,OAAO,EAAE,WAAW,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO;oBACtD,UAAU,EAAE,WAAW,CAAC,UAAU,IAAI,EAAE;iBACzC,CAAC,CAAC;gBAEH,IAAI,KAAK,EAAE,CAAC;oBACV,gBAAgB,CAAC,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;oBAC/C,IAAI,UAAU,EAAE,CAAC;wBACf,IAAI,CAAC,SAAS,CAAC;4BACb;gCACE,KAAK,EAAE;oCACL,IAAI,EAAE;wCACJ,IAAI,EAAE,UAAU;wCAChB,IAAI,EAAE,cAAc,CAAC,aAAa;wCAClC,QAAQ,EAAE,EAAE;qCACb;iCACF;gCACD,QAAQ,EAAE,GAAG;6BACd;yBACF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,qDAAqD;oBACrD,IAAI,iBAAiB,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;wBAC1C,YAAY,CAAC,IAAI,CAAC,CAAC;oBACrB,CAAC;gBACH,CAAC;YACH,CAAC;YACD,sBAAsB,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,uBAAuB;QACvB,KAAK,CAAC,EAAE,CAAC,sBAAsB,EAAE,sBAAsB,CAAC,CAAC;QACzD,KAAK,CAAC,EAAE,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,CAAC;QACrD,KAAK,CAAC,EAAE,CAAC,sBAAsB,EAAE,sBAAsB,CAAC,CAAC;QACzD,KAAK,CAAC,EAAE,CAAC,oBAAoB,EAAE,sBAAsB,CAAC,CAAC;QACvD,KAAK,CAAC,EAAE,CAAC,oBAAoB,EAAE,sBAAsB,CAAC,CAAC;QACvD,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC;QAC/C,KAAK,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YACpC,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;gBAC5B,cAAc,GAAG,IAAI,CAAC;YACxB,CAAC;YACD,sBAAsB,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,mDAAmD;QACnD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACrB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,sBAAsB;QACtB,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YAClC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3B,iBAAiB,CAAC,OAAO,GAAG,EAAE,CAAC;YAE/B,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;gBAClB,cAAc,EAAE,CAAC;gBACjB,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAA0B,CAAC;gBAC7D,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,CAAoB,CAAC;gBACrD,MAAM,KAAK,GACT,IAAI,CAAC,WAAW;oBACf,IAAI,CAAC,aAAa,CAAC,YAAY,CAAY;oBAC3C,IAAI,CAAC,aAAa,CAAC,YAAY,CAAY;oBAC5C,EAAE,CAAC;gBACL,WAAW,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7C,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;gBACzB,YAAY,CAAC,IAAI,CAAC,CAAC;gBACnB,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAA0B,CAAC;gBAC7D,MAAM,KAAK,GACT,IAAI,CAAC,KAAK;oBACT,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAY;oBAC5D,EAAE,CAAC;gBACL,WAAW,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACpD,CAAC;YAED,oBAAoB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;YAC3B,cAAc,EAAE,CAAC;YACjB,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;YACjC,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;YAC5B,oBAAoB,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,iCAAiC;QACjC,MAAM,aAAa,GAAG,CAAC,CAAgB,EAAE,EAAE;YACzC,IAAI,QAAQ;gBAAE,OAAO;YACrB,MAAM,SAAS,GAAG,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YACxE,IACE,SAAS,KAAK,OAAO;gBACrB,SAAS,KAAK,UAAU;gBACvB,QAAQ,CAAC,aAA6B,EAAE,iBAAiB,EAC1D,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;gBAChD,IAAI,iBAAiB,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;oBAClD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;oBACrE,IAAI,IAAI,EAAE,CAAC;wBACT,CAAC,CAAC,cAAc,EAAE,CAAC;wBACnB,cAAc,EAAE,CAAC;wBACjB,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;wBAClC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;wBACjC,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;wBAC5B,oBAAoB,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;wBACnC,sBAAsB,EAAE,CAAC;oBAC3B,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAElD,yCAAyC;QACzC,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE;YACpD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC;gBAC5C,IAAI,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;oBAChD,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAElC,oBAAoB;QACpB,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;gBACrG,oBAAoB,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;gBAClD,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;oBACtB,cAAc,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;oBAC1C,KAAyD,CAAC,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC;oBAC/F,sBAAsB,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACtD,CAAC;gBACD,KAAK,CAAC,aAAa,EAAE,CAAC;YACxB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;YACpD,CAAC;oBAAS,CAAC;gBACT,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC;YACjC,CAAC;QACH,CAAC;QAED,UAAU;QACV,OAAO,GAAG,EAAE;YACV,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;gBAC7B,YAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACzC,CAAC;YACD,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YACrD,cAAc,CAAC,UAAU,EAAE,CAAC;YAC5B,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;YACjC,KAAK,CAAC,OAAO,EAAE,CAAC;YAChB,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAEvC,6EAA6E;IAC7E,mCAAmC;IACnC,6EAA6E;IAC7E,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS;YAAE,OAAO;QAEjC,8DAA8D;QAC9D,IAAI,SAAS,KAAK,oBAAoB,CAAC,OAAO,EAAE,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5F,oBAAoB,CAAC,OAAO,GAAG,SAAS,CAAC;YACzC,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;gBACtB,cAAc,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;gBAC1C,KAAyD,CAAC,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC;gBAC/F,sBAAsB,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACtD,CAAC;YACD,KAAK,CAAC,aAAa,EAAE,CAAC;QACxB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAC;QACvD,CAAC;gBAAS,CAAC;YACT,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC;QACjC,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,6EAA6E;IAC7E,0CAA0C;IAC1C,6EAA6E;IAC7E,MAAM,cAAc,GAAG,CAAC,CAAkB,EAAE,EAAE;QAC5C,IAAI,QAAQ;YAAE,OAAO;QACrB,MAAM,UAAU,GACd,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YACvD,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,UAAU,EAAE,CAAC;YACf,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,YAAY,CAAC,UAAU,GAAG,MAAM,CAAC;YACnC,IAAI,CAAC,UAAU;gBAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,CAAkB,EAAE,EAAE;QAC7C,IAAI,QAAQ;YAAE,OAAO;QACrB,IAAI,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAqB,CAAC;YAAE,OAAO;QAC9D,aAAa,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,CAAkB,EAAE,EAAE;QACxC,IAAI,QAAQ;YAAE,OAAO;QACrB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,aAAa,CAAC,KAAK,CAAC,CAAC;QAErB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,wBAAwB,CAAC;YAC5D,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAoB,CAAC;QAE3D,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO;YAAE,OAAO;QAEhE,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;QACtC,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;QAErC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAEjE,MAAM,aAAa,GAAG,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG;YACb,GAAG,aAAa;YAChB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC;YACnD,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;SACrD,CAAC;QAEF,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAExE,MAAM,QAAQ,GAAiB;YAC7B,EAAE;YACF,IAAI;YACJ,WAAW,EAAE,WAAW;YACxB,MAAM;SACP,CAAC;QAEF,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACzC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAExB,iBAAiB,CAAC,OAAO,GAAG,EAAE,CAAC;QAC/B,WAAW,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QACxD,oBAAoB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrC,gBAAgB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/D,sBAAsB,EAAE,CAAC;IAC3B,CAAC,CAAC;IAEF,OAAO,CACL,eACE,SAAS,EAAE,uBAAuB,SAAS,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAC1D,UAAU,EAAE,cAAc,EAC1B,WAAW,EAAE,eAAe,EAC5B,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,GAAG;YACd,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU;YAC9D,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,cAAc,cAAc,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,MAAM;YAC3E,aAAa,EAAE,CAAC,CAAC;YACjB,UAAU,EAAE,+CAA+C;YAC3D,GAAG,KAAK;SACT,aAGD,cACE,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE;oBACL,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,MAAM;oBACd,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,CAAC;iBACT,GACD,EAGD,UAAU,IAAI,CACb,cACE,KAAK,EAAE;oBACL,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,EAAE;oBACP,IAAI,EAAE,KAAK;oBACX,SAAS,EAAE,kBAAkB;oBAC7B,MAAM,EAAE,EAAE;oBACV,OAAO,EAAE,UAAU;oBACnB,UAAU,EAAE,SAAS;oBACrB,KAAK,EAAE,SAAS;oBAChB,YAAY,EAAE,EAAE;oBAChB,QAAQ,EAAE,EAAE;oBACZ,UAAU,EAAE,GAAG;oBACf,SAAS,EAAE,oCAAoC;oBAC/C,aAAa,EAAE,MAAM;iBACtB,+CAGG,CACP,EAGA,WAAW,IAAI,CACd,eACE,SAAS,EAAC,qBAAqB,EAC/B,KAAK,EAAE;oBACL,QAAQ,EAAE,UAAU;oBACpB,MAAM,EAAE,EAAE;oBACV,IAAI,EAAE,EAAE;oBACR,MAAM,EAAE,EAAE;oBACV,OAAO,EAAE,aAAa;oBACtB,UAAU,EAAE,QAAQ;oBACpB,GAAG,EAAE,CAAC;oBACN,OAAO,EAAE,SAAS;oBAClB,UAAU,EAAE,2BAA2B;oBACvC,cAAc,EAAE,WAAW;oBAC3B,MAAM,EAAE,aAAa,cAAc,CAAC,cAAc,EAAE;oBACpD,YAAY,EAAE,CAAC;oBACf,SAAS,EAAE,gCAAgC;oBAC3C,UAAU,EAAE,8BAA8B;oBAC1C,UAAU,EAAE,MAAM;iBACnB,aAED,iBACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,SAAS,gBACJ,SAAS,EACpB,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,eAAe,uBAGf,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,UAAU,gBACL,UAAU,EACrB,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,eAAe,uBAGf,EACT,gBACE,KAAK,EAAE;4BACL,OAAO,EAAE,OAAO;4BAChB,QAAQ,EAAE,EAAE;4BACZ,UAAU,EAAE,GAAG;4BACf,KAAK,EAAE,cAAc,CAAC,aAAa;4BACnC,QAAQ,EAAE,EAAE;4BACZ,SAAS,EAAE,QAAQ;yBACpB,aAEA,SAAS,SACL,EACP,cACE,KAAK,EAAE;4BACL,KAAK,EAAE,CAAC;4BACR,MAAM,EAAE,EAAE;4BACV,UAAU,EAAE,cAAc,CAAC,UAAU;4BACrC,MAAM,EAAE,OAAO;yBAChB,GACD,EACF,iBACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,gBAAgB,gBACX,gBAAgB,EAC3B,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE,eAAe,uBAGf,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,gBAAgB,gBACX,gBAAgB,EAC3B,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,eAAe,6BAGf,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,mBAAmB,gBACd,YAAY,EACvB,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,eAAe,uBAGf,IACL,CACP,IACG,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,eAAe,GAAwB;IAC3C,OAAO,EAAE,aAAa;IACtB,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,QAAQ;IACxB,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,aAAa;IACzB,YAAY,EAAE,CAAC;IACf,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,EAAE;IACZ,KAAK,EAAE,cAAc,CAAC,YAAY;IAClC,UAAU,EAAE,6BAA6B;CAC1C,CAAC"}
@@ -9,7 +9,7 @@
9
9
  * - Cascais Heraldry design tokens.
10
10
  */
11
11
  import { Graph, Node, Edge } from '@antv/x6';
12
- import type { AimOntologyKind, RaidNodeData, RaidEdgeData, Bounds } from './types.js';
12
+ import type { AimOntologyKind, AimRoutingMode, RaidNodeData, RaidEdgeData, Bounds } from './types.js';
13
13
  /**
14
14
  * Cascais Heraldry color palette constants.
15
15
  */
@@ -26,6 +26,13 @@ export declare const CascaisPalette: {
26
26
  readonly TextPrimary: '#111827';
27
27
  readonly TextSecondary: '#4B5563';
28
28
  };
29
+ /**
30
+ * Formats and wraps node label text for AOAIM entities.
31
+ * Automatically wraps on whitespace when exceeding target length,
32
+ * and treats `<wbr>` / `<wbr/>` tags and hyphens as soft word-break opportunities
33
+ * within long unbroken words or strings.
34
+ */
35
+ export declare function wrapAimText(rawText: string, maxLineLength?: number): string;
29
36
  /**
30
37
  * Port configuration generating 4 orthogonal snap anchors.
31
38
  */
@@ -127,6 +134,13 @@ export declare function configureAimGraph(graph: Graph): void;
127
134
  * Factory creating an AntV X6 Node model from a RaidNodeData specification.
128
135
  */
129
136
  export declare function createAimNode(data: RaidNodeData): Node.Metadata;
137
+ /**
138
+ * Configures the router and connector for an X6 Edge based on AimRoutingMode.
139
+ * - 'manhattan': Obstacle-avoiding 90° orthogonal router with rounded corners (radius: 8).
140
+ * - 'normal': Direct straight line point-to-point connection.
141
+ * - 'smooth': Curved cubic bezier spline between ports.
142
+ */
143
+ export declare function applyEdgeRouting(edge: Edge, routing?: AimRoutingMode): void;
130
144
  /**
131
145
  * Factory creating an AntV X6 Edge model from a RaidEdgeData specification.
132
146
  */
@@ -1 +1 @@
1
- {"version":3,"file":"X6Shapes.d.ts","sourceRoot":"","sources":["../src/X6Shapes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,KAAK,EAAS,IAAI,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,KAAK,EACV,eAAe,EAEf,YAAY,EACZ,YAAY,EAEZ,MAAM,EACP,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,eAAO,MAAM,cAAc;aACzB,OAAO,EAAE,SAAS;aAClB,aAAa,EAAE,SAAS;aACxB,YAAY,EAAE,SAAS;aACvB,aAAa,EAAE,SAAS;aACxB,UAAU,EAAE,SAAS;aACrB,cAAc,EAAE,SAAS;aACzB,UAAU,EAAE,SAAS;aACrB,WAAW,EAAE,SAAS;aACtB,UAAU,EAAE,SAAS;aACrB,WAAW,EAAE,SAAS;aACtB,aAAa,EAAE,SAAS;CAChB,CAAC;AAEX;;GAEG;AACH,wBAAgB,qBAAqB;;QAuB/B,GAAG;YACD,QAAQ;YACR,MAAM;;;;YACN,KAAK;;oBAhBP,CAAC;oBACD,MAAM;oBACN,MAAM;oBACN,IAAI;oBACJ,WAAW;oBACX,KAAK;wBACH,UAAU;;;;;QAYZ,KAAK;YACH,QAAQ;YACR,MAAM;;;;YACN,KAAK;;;;;;;;;;;;;QAEP,MAAM;YACJ,QAAQ;YACR,MAAM;;;;YACN,KAAK;;;;;;;;;;;;;QAEP,IAAI;YACF,QAAQ;YACR,MAAM;;;;YACN,KAAK;;;;;;;;;;;;;;;;;;EAUZ;AAOD;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAiPxC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAqBpD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC,QAAQ,CAiF/D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC,QAAQ,CAoC/D;AAiFD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,eAAe,GAAG,MAAM,EAC9B,CAAC,GAAE,MAAY,EACf,CAAC,GAAE,MAAY,GACd,MAAM,CAeR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,GAAG,MAAM,CAezE"}
1
+ {"version":3,"file":"X6Shapes.d.ts","sourceRoot":"","sources":["../src/X6Shapes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,KAAK,EAAS,IAAI,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,KAAK,EACV,eAAe,EAEf,cAAc,EACd,YAAY,EACZ,YAAY,EAEZ,MAAM,EACP,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,eAAO,MAAM,cAAc;aACzB,OAAO,EAAE,SAAS;aAClB,aAAa,EAAE,SAAS;aACxB,YAAY,EAAE,SAAS;aACvB,aAAa,EAAE,SAAS;aACxB,UAAU,EAAE,SAAS;aACrB,cAAc,EAAE,SAAS;aACzB,UAAU,EAAE,SAAS;aACrB,WAAW,EAAE,SAAS;aACtB,UAAU,EAAE,SAAS;aACrB,WAAW,EAAE,SAAS;aACtB,aAAa,EAAE,SAAS;CAChB,CAAC;AAEX;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,GAAE,MAAW,GAAG,MAAM,CA4D/E;AAED;;GAEG;AACH,wBAAgB,qBAAqB;;QAuB/B,GAAG;YACD,QAAQ;YACR,MAAM;;;;YACN,KAAK;;oBAhBP,CAAC;oBACD,MAAM;oBACN,MAAM;oBACN,IAAI;oBACJ,WAAW;oBACX,KAAK;wBACH,UAAU;;;;;QAYZ,KAAK;YACH,QAAQ;YACR,MAAM;;;;YACN,KAAK;;;;;;;;;;;;;QAEP,MAAM;YACJ,QAAQ;YACR,MAAM;;;;YACN,KAAK;;;;;;;;;;;;;QAEP,IAAI;YACF,QAAQ;YACR,MAAM;;;;YACN,KAAK;;;;;;;;;;;;;;;;;;EAUZ;AAOD;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAiSxC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAqBpD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC,QAAQ,CA8F/D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,GAAE,cAA4B,GAAG,IAAI,CAoBxF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC,QAAQ,CA4D/D;AAiFD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,eAAe,GAAG,MAAM,EAC9B,CAAC,GAAE,MAAY,EACf,CAAC,GAAE,MAAY,GACd,MAAM,CAeR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,GAAG,MAAM,CAezE"}