@thegraid/hexlib 1.3.9 → 1.3.10

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.
package/dist/table.js CHANGED
@@ -8,66 +8,12 @@ import { PlayerPanel } from "./player-panel";
8
8
  import { HexShape } from "./shapes";
9
9
  import { playerColor0, playerColor1, TP } from "./table-params";
10
10
  import { Tile } from "./tile";
11
+ import { AliasLoader } from "./image-loader";
12
+ import { TextLog } from "./text-log";
11
13
  /** to own file... */
12
14
  class TablePlanner {
13
15
  constructor(gamePlay) { }
14
16
  }
15
- class TextLog extends NamedContainer {
16
- size;
17
- lead;
18
- /**
19
- *
20
- * @param Aname
21
- * @param nlines
22
- * @param size fontSize [TP.hexRad/2]
23
- * @param lead between lines [3]
24
- */
25
- constructor(Aname, nlines = 6, size = TP.hexRad / 2, lead = 3) {
26
- super(Aname);
27
- this.size = size;
28
- this.lead = lead;
29
- this.lines = new Array(nlines);
30
- for (let ndx = 0; ndx < nlines; ndx++)
31
- this.lines[ndx] = this.newText(`//0:`);
32
- this.addChild(...this.lines);
33
- }
34
- lines;
35
- lastLine = '';
36
- nReps = 0;
37
- height(nLines = this.lines.length) {
38
- return (this.size + this.lead) * nLines;
39
- }
40
- clear() {
41
- this.lines.forEach(tline => tline.text = '');
42
- this.stage?.update();
43
- }
44
- newText(line = '') {
45
- const text = new Text(line, F.fontSpec(this.size));
46
- text.textAlign = 'left';
47
- text.mouseEnabled = false;
48
- return text;
49
- }
50
- spaceLines(cy = 0, lead = this.lead) {
51
- this.lines.forEach(tline => (tline.y = cy, cy += tline.getMeasuredLineHeight() + lead));
52
- }
53
- /** convert line to single-line; inc count if same line; insert & scroll up */
54
- log(line, from = '', toConsole = true) {
55
- line = line.replace(/\n/g, '-');
56
- toConsole && console.log(stime(`${from}:`), line);
57
- if (line === this.lastLine) {
58
- this.lines[this.lines.length - 1].text = `[${++this.nReps}] ${line}`;
59
- }
60
- else {
61
- this.removeChild(this.lines.shift()); // assert is not undefined
62
- this.lines.push(this.addChild(this.newText(line)));
63
- this.spaceLines();
64
- this.lastLine = line;
65
- this.nReps = 0;
66
- }
67
- this.stage?.update();
68
- return line;
69
- }
70
- }
71
17
  /** layout display components, setup callbacks to GamePlay.
72
18
  *
73
19
  * uses a HexMap\<IHex2\>
@@ -549,7 +495,8 @@ export class Table extends Dispatcher {
549
495
  const gpix = gap < 1 ? gap * dxdc : gap;
550
496
  const dx = (panelw - xn - (colN - 1) * gpix) / 2, dy = row0 * dydr; // allocate any extra space (wide-xn) to either side
551
497
  for (let col = 0; col < colN; col++) {
552
- const hex = this.newHex2(.01, col, `C${col}`, hexC); // child of map.mapCont.hexCont
498
+ // make hex at row=0, then offset by row0 !? legacy from hextowns half-offset?
499
+ const hex = this.newHex2(0, col, `C${col}`, hexC); // child of map.mapCont.hexCont
553
500
  rv.push(hex);
554
501
  hex.cont.x += (dx - x0 + col * gpix);
555
502
  hex.cont.y += (dy - y0);
@@ -559,7 +506,7 @@ export class Table extends Dispatcher {
559
506
  return rv;
560
507
  }
561
508
  /**
562
- * A newHex2 with the 'Recycle' image on top. [legacy from hextowns]
509
+ * newHex2(row, col, name, claz) with the ${name} image on top. [legacy from hextowns]
563
510
  *
564
511
  * Typically: invoke from layoutTable() or layoutTable2()
565
512
  * @param row [TP.nHexes + 3.2] below the centerline
@@ -569,8 +516,7 @@ export class Table extends Dispatcher {
569
516
  * @returns
570
517
  */
571
518
  makeRecycleHex(row = TP.nHexes + 3.2, col = 0, name = 'Recycle', claz = RecycleHex) {
572
- const image = new Tile(name).addImageBitmap(name); // ignore Tile, get image.
573
- image.y = 0; // recenter (undo text offset)
519
+ const image = AliasLoader.loader.getBitmap(name);
574
520
  const rHex = this.newHex2(row, col, name, claz);
575
521
  this.setToRowCol(rHex.cont, row, col);
576
522
  rHex.rcText.visible = rHex.distText.visible = false;
@@ -657,32 +603,46 @@ export class Table extends Dispatcher {
657
603
  chooser?.setValue(group_name, chooser.items[0], undefined);
658
604
  }
659
605
  doneButton;
660
- doneClicked = (evt) => {
606
+ doneClicked(evt, data) {
661
607
  if (this.doneButton)
662
608
  this.doneButton.visible = false;
663
- this.gamePlay.phaseDone(); // <--- main doneButton does not supply 'panel'
664
- };
609
+ this.gamePlay.phaseDone(data); // <--- main doneButton does not supply 'panel'
610
+ }
665
611
  /**
666
- * add DoneButton to the given panel/Container.
612
+ * Add a [singleton] DoneButton to the given panel/Container.
613
+ * - Single instance: change text, color and even location
614
+ * - still invokes the same onClick callback
615
+ *
616
+ * Modal button to end current phase and proceed to the next.
617
+ *
618
+ * cont._doneListener: S.click invokes this.doneClicked(evt, data);
619
+ * - you can add & manage additional listeners
620
+ * - addDoneButton() to *same* cont removes previous _doneListener.
667
621
  *
668
622
  * May be contained or placed with ActionSelection buttons [ankh].
669
623
  *
670
- * textColor is BLACK or WHITE to contrast with paint(color)
671
- * @param cont [scaleCont] a Container to hold the DoneButton
624
+ * UtilButton: textColor is BLACK or WHITE to contrast with button.paint(color)
625
+ *
626
+ * @param cont [scaleCont] a Container to hold the DoneButton (& _doneListener)
672
627
  * @param cx [0] offset in Container (to 'center', 'left', 'right' per align)
673
628
  * @param cy [0] offset in Container (to top of text box)
674
629
  * @param align ['center'] 'left' or 'right' for textAlign
630
+ * @param data included in callback to doneClicked(evt, data)
675
631
  * @returns this.doneButton
676
632
  */
677
- addDoneButton(cont = this.scaleCont, cx = 0, cy = 0, align = 'center') {
678
- const doneButton = this.doneButton = new UtilButton('Done', { bgColor: 'lightgreen', fontSize: this.sr(30) });
633
+ addDoneButton(cont = this.scaleCont, cx = 0, cy = 0, align = 'center', data) {
634
+ // Store the 'on' listener on the parent container:
635
+ const parent = cont;
636
+ const doneButton = new UtilButton('Done', { bgColor: 'lightgreen', fontSize: this.sr(30) });
637
+ parent._doneButton?.removeEventListener(S.click, parent._doneListener);
638
+ parent._doneButton = this.doneButton = doneButton;
639
+ parent._doneListener = doneButton.on(S.click, (evt, data) => this.doneClicked(evt, data), this, false, data);
679
640
  doneButton.disp.textAlign = align; // Note: baseline is still 'middle'
680
641
  const { x, y, width: w, height: h } = doneButton.getBounds();
681
642
  doneButton.name = 'doneButton';
682
643
  doneButton.x = cx - 0; // XY is the top-right corner, align extends to left
683
644
  doneButton.y = cy - y; // XY is the top-right corner, align extends to left
684
- doneButton.on(S.click, (evt) => this.doneClicked(evt), this);
685
- cont.addChild(doneButton);
645
+ parent.addChild(doneButton);
686
646
  return doneButton;
687
647
  }
688
648
  /** show player player score on table */
@@ -799,8 +759,7 @@ export class Table extends Dispatcher {
799
759
  // press SHIFT to capture [recycle] opponent's Criminals or Tiles
800
760
  const reason = tile.cantBeMovedBy(this.gamePlay.curPlayer, ctx);
801
761
  if (reason) {
802
- console.log(stime(this, `.dragStart: ${reason}: ${tile},`), 'ctx=', { ...ctx });
803
- // this.logText(`${reason}: ${tile}`, 'Table.dragStart');
762
+ this.explainReason(tile, ctx, reason);
804
763
  this.stopDragging();
805
764
  }
806
765
  else {
@@ -814,6 +773,16 @@ export class Table extends Dispatcher {
814
773
  }
815
774
  }
816
775
  }
776
+ /**
777
+ * explain reason why dragStart cantBeMovedBy(curPlayer, ctx)
778
+ * @param tile
779
+ * @param ctx
780
+ * @param reason as returned from cantBeMovedBy()
781
+ */
782
+ explainReason(tile, ctx, reason) {
783
+ console.log(stime(this, `.dragStart: ${reason}: ${tile},`), 'ctx=', { ...ctx });
784
+ // this.logText(`${reason}: ${tile}`, 'Table.dragStart');
785
+ }
817
786
  /** invoked during dragStart(tile, ctx)
818
787
  *
819
788
  * set hex.isLegal = v ==> hex.legalMark.visible = v
package/dist/table.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,CAAC,EAAe,CAAC,EAAE,CAAC,EAAE,KAAK,EAAY,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,WAAW,EAA2B,UAAU,EAAE,OAAO,EAA2B,SAAS,EAAE,cAAc,EAAe,QAAQ,EAAa,SAAS,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnO,OAAO,EAAE,SAAS,EAAiB,QAAQ,EAAE,KAAK,EAAS,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAClG,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAiB,MAAM,aAAa,CAAC;AAGvD,OAAO,EAAmC,UAAU,EAAE,MAAM,OAAO,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAS9B,qBAAqB;AACrB,MAAM,YAAY;IAChB,YAAY,QAAkB,IAAI,CAAC;CACpC;AAgBD,MAAM,OAAQ,SAAQ,cAAc;IAQY;IAA6B;IAP3E;;;;;;OAMG;IACH,YAAY,KAAa,EAAE,MAAM,GAAG,CAAC,EAAS,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,EAAS,OAAO,CAAC;QACjF,KAAK,CAAC,KAAK,CAAC,CAAC;QAD+B,SAAI,GAAJ,IAAI,CAAgB;QAAS,SAAI,GAAJ,IAAI,CAAI;QAEjF,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAO,MAAM,CAAC,CAAC;QACrC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,EAAE,GAAG,EAAE;YAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC7E,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAS;IACd,QAAQ,GAAG,EAAE,CAAC;IACd,KAAK,GAAG,CAAC,CAAC;IAEV,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM;QAC/B,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IAC1C,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IACvB,CAAC;IAEO,OAAO,CAAC,IAAI,GAAG,EAAE;QACvB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI;QACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,KAAK,CAAC,qBAAqB,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;IACzF,CAAC;IAED,8EAA8E;IAC9E,GAAG,CAAC,IAAY,EAAE,IAAI,GAAG,EAAE,EAAE,SAAS,GAAG,IAAI;QAC3C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAClD,IAAI,IAAI,KAAK,IAAI,CAAC,QAAQ,EAAE;YAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;SACtE;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAU,CAAC,CAAC,CAAC,0BAA0B;YACxE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;SAChB;QACD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,KAAM,SAAQ,UAAU;IACnC,MAAM,CAAC,KAAK,CAAO;IACnB,MAAM,CAAC,UAAU,CAAC,GAAkB;QAClC,OAAQ,GAAG,CAAC,KAAoB,CAAC,KAAK,CAAA;IACxC,CAAC;IAED,QAAQ,CAAW;IACnB,KAAK,CAAQ;IACb,MAAM,CAAO;IACb,MAAM,CAAc,CAAC,uBAAuB;IAE5C,SAAS,CAAa;IACtB,MAAM,CAAW,CAAC,eAAe;IACjC,wCAAwC;IACxC,UAAU,GAAG,KAAK,CAAC;IACnB,sBAAsB;IACtB,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,EAAE,CAAA,CAAC,CAAC,CAAC,kBAAkB;IAE3D,QAAQ,GAAc,IAAI,cAAc,CAAC,UAAU,CAAC,CAAC;IACrD,SAAS,GAAU,IAAI,KAAK,EAAE,CAAC;IAC/B,SAAS,GAAU,IAAI,KAAK,EAAE,CAAC;IAC/B,SAAS,GAAU,IAAI,KAAK,EAAE,CAAC;IAC/B,QAAQ,GAAS,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,uBAAuB;IAChF,QAAQ,GAAS,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,0BAA0B;IACnF,OAAO,GAAS,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IAC9D,OAAO,GAAU,IAAI,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAE3I,OAAO,CAAS;IAChB;;;yEAGqE;IACrE,IAAI,CAAqB;IAEhB,WAAW,GAAG,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC;IACrD,YAAY,KAAY;QACtB,KAAK,EAAE,CAAC;QACR,6DAA6D;QAC7D,KAAK,CAAC,KAAK,GAAI,KAAoB,CAAC,KAAK,GAAG,IAAI,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA,CAAC,yBAAyB;QAC/D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,yCAAyC;QACpF,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACvB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrC,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,EAAE,CAAC;SACjB;IACH,CAAC;IACD,uDAAuD;IACvD,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;IAChD,8CAA8C;IAC9C,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;IAElD,kFAAkF;IAClF,OAAO,CAAC,IAAY,EAAE,IAAI,GAAG,EAAE,EAAE,SAAS,GAAG,IAAI;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,wBAAwB;QACzH,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAChD,yCAAyC;QACzC,wGAAwG;QACxG,mDAAmD;IACrD,CAAC;IAED,YAAY,CAAC,IAAY;QACvB,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAA;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC1E,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAA;QACrF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,mBAAmB,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QAC5D,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC,mBAAmB;IACrE,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,gBAAgB,CAAC,GAAS,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE;QACtG,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,0BAA0B;QACvD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAClC,MAAM,UAAU,GAAG,IAAI,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,aAAa;QAC9F,MAAM,GAAG,GAAG,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC/C,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC3D,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;QAC/B,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACzB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QAChC,IAAI,CAAC,WAAW;YAAE,OAAM;QAExB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;QACvE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QACnF,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACnF,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAA;QAClE,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAA;QAClE,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;QAAC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAA;QACrD,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC9B,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC9B,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC9B,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9D,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9D,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QAChE,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAA;QAC/D,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC;QAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACjG,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QACzB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA,CAAC,8BAA8B;QACtE,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAA;QACnD,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,WAAW,CAAC,GAAY,EAAE,KAAK,GAAG,OAAO;QACvC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,IAAI,2CAA2C,CAAA;QACtE,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAA;QAC1B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAA;QAClD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;IACtB,CAAC;IACD,kBAAkB,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,QAAQ;QACvD,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;QACvB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACtB,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAE,2BAA2B;QAC3C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI;QACpC,YAAY;QACZ,CAAC,MAAqB,EAAE,GAAc,EAAE,EAAE,GAAG,CAAC;QAC9C,YAAY;QACZ,CAAC,MAAqB,EAAE,GAAc,EAAE,EAAE;YACxC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAE,sBAAsB;YACpE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;YAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,6BAA6B;YAC1D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACtB,IAAI,CAAC,GAAG;gBAAE,OAAO;YACjB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,0CAA0C;YAC5D,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAC/C,CAAC,CAAC,CAAA;QACJ,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,iBAAiB;QACpE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,SAAS,GAAG,KAAK,CAAC;IAClB,SAAS,GAAG,KAAK,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,MAAe,CAAC,IAAI,CAAC,SAAS;QACvC,IAAI,IAAI,CAAC,SAAS,EAAE;YAAE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YAAC,OAAM;SAAE,CAAC,yCAAyC;QAChG,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACrB,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;QACjD,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAA,CAAe,mCAAmC;QACvE,OAAO;IACT,CAAC;IAED,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;IAC3B;;;;;;OAMG;IACH,YAAY,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,UAAU,KAAK,CAAC,CAAC,EAAE,UAAmB;QAChE,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,sCAAsC;QAC1G,MAAM,KAAK,GAAG,EAAE,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3H,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAE,0BAA0B;QAClD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAED,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE;QAC9C,IAAI,KAAK,GAAG,IAAI,CAAA;QAChB,mBAAmB;QACnB,IAAI,UAAU,GAAG,CAAC,EAAU,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,IAAY,EAAE,GAAG,GAAG,IAAI,EAAE,EAAE;YAC1F,IAAI,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAA;YACnD,IAAI,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;YACrD,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;YAC7C,GAAG,CAAC,CAAC,GAAG,CAAE,GAAG,GAAG,CAAC,CAAA;YACjB,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAA;YACxB,GAAG,CAAC,YAAY,GAAG,KAAK,CAAA;YACxB,IAAI,CAAC,CAAC,GAAG,EAAE,CAAA;YACX,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;YAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;YAClB,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;YACnE,OAAO,IAAI,CAAA;QACb,CAAC,CAAA;QACD,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;QACrD,IAAI,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;QACxE,IAAI,EAAE,GAAG,sBAAsB,CAAA;QAC/B,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;QAC1C,IAAI,EAAE,GAAG,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;QACzC,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QACzD,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAAC,EAAE,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAA;QAC9D,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAAC,EAAE,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAA;QAC9D,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACnB,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACnB,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACnB,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACnB,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACnB,OAAO,MAAM,CAAA;IACf,CAAC;IAED,6EAA6E;IAC7E,QAAQ,GAAY,EAAE,CAAC;IACvB;;;;;;;OAOG;IACH,OAAO,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,IAAY,EAAE,OAA2B,IAAI,CAAC,IAAI;QAC1E,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAClD,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,2EAA2E;IAC3E,QAAQ,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,IAAY,EAAE,OAA2B,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC;QACnF,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,qBAAqB;QACrE,IAAI,GAAG,IAAI,CAAC,EAAE;YACZ,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SACvD;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,qFAAqF;QACrF,uCAAuC;QACvC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,kBAAkB;QAC7E,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEjC,+BAA+B;QAC/B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,oBAAoB;QACnE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,CAAA;QAClG,2EAA2E;QAC3E,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,mCAAmC;QACnC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;IACtD,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,QAAkB;QAC5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAuB,CAAC;QAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAE7B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAc,iDAAiD;QAC1F,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;QACnE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,kBAAkB;QAC1E,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;QACpD,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,iCAAiC;QAErE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,uCAAuC;QAC5D,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA,CAAC,yBAAyB;QAErD,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtF,CAAC;IAED,aAAa,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,mCAAmC;QAE7F,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;IAED,sCAAsC;IACtC,IAAI,CAAC,MAAc,EAAE,IAAY,EAAE,GAAW;QAC5C,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QACjD,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,YAAY;QACV,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACtF,OAAO;IACT,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,OAA8D,EAAE,EAAU,EAAE,EAAU,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC;QAC7G,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACvD,+EAA+E;QAC/E,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,CAAE,0EAA0E;QAC5G,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC;QAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC;QAC/B,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAC;QAClH,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAA;QACnB,OAAO,GAAG,CAAC;IACb,CAAC;IACD;;;;OAIG;IACH,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC;QACvB,MAAM,QAAQ,GAAG,CAAC,GAAa,EAAE,EAAE;YACjC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;YACxB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAe,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAA;YACvE,OAAO,GAAG,CAAC;QACb,CAAC,CAAA;QACD,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAClF,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAA;QAClC,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,mDAAmD;QAC1F,+CAA+C;QAC/C,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;IAED,4EAA4E;IAC5E,IAAI,WAAW,KAAK,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC1D,sDAAsD;IACtD,IAAI,UAAU,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC;IAEhC;;;;;;;;OAQG;IACH,YAAY;QACV,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACzC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACjE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QACxE,gDAAgD;QAChD,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACrC,MAAM,IAAI,GAA8C;YACpD,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAClD,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;SACrD,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IACD;;;;OAIG;IACH,cAAc,CAAC,EAAU;QACvB,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,MAAc,EAAE,QAAQ,GAAG,EAAE,CAAC,UAAU,EAAE,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE;QAChF,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3C,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED;;;;;;;;;;OAUG;IACH,eAAe,CACb,KAAY,EACZ,MAAc,EACd,IAAY,EACZ,IAAY,EACZ,GAAW,EACX,GAAW,EACX,GAAG,GAAG,CAAC,CAAC;QACN,OAAO,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;IACxF,CAAC;IAEM,eAAe,GAAkB,EAAE,CAAC;IAC7C,gDAAgD;IAChD,aAAa;QACX,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,0BAA0B;QAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YAC7C,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACnE,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC5E,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;YACpD,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,IAAe,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO;QAClF,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,uCAAuC;QACxF,wCAAwC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QACnC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACvC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACvC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,yDAAyD;IACzD,WAAW,CAAC,MAAwB,EAAE,GAAU;QAC9C,IAAI,MAAM,EAAE,OAAO;YAAE,MAAM,CAAC,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC;QACzD,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5B,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IAC3B,CAAC;IACD;;;;;;;;;;;;;;;;OAgBG;IACH,YAAY,CAAC,KAAgB,EAAE,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,CAAC,EAAE,OAA2B,IAAI,CAAC,IAAI,EAAE,IAAsC;QAC/H,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAA;QACpD,MAAM,EAAE,GAAG,EAAa,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5C,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,+BAA+B;QACpF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QAC5C,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB;QACzF,MAAM,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QACxC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,oDAAoD;QACxH,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE;YACnC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,+BAA+B;YACpF,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;YACrC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YACxB,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;YACvB,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;SAC5B;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;;;;;;OASG;IACH,cAAc,CAAC,GAAG,GAAG,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,EAAE,IAAI,GAAG,UAAU;QAChF,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,0BAA0B;QAC7E,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAc,8BAA8B;QAExD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;QACpD,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,MAAiB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;QACrD,GAAG,CAAC,IAAI,GAAI,GAAmB,CAAC,KAAK,GAAG,UAAU,CAAC;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC1C,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAAC,EAAE,CAAC,MAAM,CAAC;QAChF,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAAC,EAAE,CAAC,MAAM,CAAC;QAC/F,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAAC,EAAE,CAAC,MAAM,CAAC;QACxE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAe,EAAE,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA,CAAC,CAAC,CAAA;QAChG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAe,EAAE,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA,CAAC,CAAC,CAAA;QAC5F,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAe,EAAE,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA,CAAC,CAAC,CAAA;QAE5F,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QACpB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;QACpB,GAAG,CAAC,SAAS,EAAE,CAAC;QAChB,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,+BAA+B;IAC/B,aAAa,CAAC,MAAiB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC;QAC3C,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAA;QACrD,GAAG,CAAC,IAAI,GAAI,GAAmB,CAAC,KAAK,GAAG,OAAO,CAAC;QAChD,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAAC,EAAE,CAAC,GAAG,CAAA;QAClF,GAAG,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QAAC,EAAE,CAAC,OAAO,CAAA;QACzF,GAAG,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QAAC,EAAE,CAAC,UAAU,CAAA;QAC1F,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QACpB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;QACpB,GAAG,CAAC,SAAS,EAAE,CAAA;QACf,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,QAAQ,GAAW,uBAAuB,CAAA;IAC1C,QAAQ,GAAkB,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;IACjD,iDAAiD;IACjD,cAAc,CAAC,MAAiB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QACzD,GAAG,CAAC,IAAI,GAAI,GAAmB,CAAC,KAAK,GAAG,QAAQ,CAAC;QACjD,GAAG,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;QAC5F,GAAG,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;QACrG,GAAG,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAAC,EAAE,CAAC,YAAY,CAAA;QAEvJ,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAe,EAAE,EAAE;YACjD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC/C,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,OAAc,CAAC;gBAC5D,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAA;gBACvC,+BAA+B;gBAC/B,gDAAgD;aACjD;YACD,gFAAgF;QAClF,CAAC,CAAA;QACA,IAAI,CAAC,KAAK,CAAC,MAA4B,EAAE,aAAa,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE;YACxF,MAAM,IAAI,GAAG,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,OAAc,CAAC;YAC5D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QACpB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACrB,GAAG,CAAC,SAAS,EAAE,CAAA;QACf,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,gBAAgB,CAAC,UAAU,GAAG,EAAE,CAAC,YAAY;QAC1C,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAsB,CAAC,SAAS,GAAG,UAAU,CAAC;QACnF,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,IAAI,EAAE,OAAO,CAAC;QAC3E,OAAO,EAAE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;IAED,UAAU,CAAa;IACvB,WAAW,GAAG,CAAC,GAAS,EAAE,EAAE;QAC1B,IAAI,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAG,+CAA+C;IAC9E,CAAC,CAAA;IAED;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,OAAkB,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ;QAC9E,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9G,UAAU,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,mCAAmC;QACtE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,UAAU,CAAC,SAAS,EAAE,CAAA;QAC5D,UAAU,CAAC,IAAI,GAAG,YAAY,CAAC;QAC/B,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAK,oDAAoD;QAC/E,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAK,oDAAoD;QAC/E,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,wCAAwC;IACxC,cAAc,CAAC,IAAY,EAAE,KAAK,GAAG,CAAC,EAAE,IAAa;IACrD,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,QAAkB;QAC1B,0EAA0E;QAC1E,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC3B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,kCAAkC;QAClC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,IAAU;QACrB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,2BAA2B;IACnE,CAAC;IAED,WAAW,CAAC,OAAsB,EAAE,SAAS,GAAG,IAAI;QAClD,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,WAAW,CAAc;IACzB,yFAAyF;IACzF,QAAQ,CAAC,IAAmB,EAAE,IAAe;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,2CAA2C;QAC/E,IAAI,CAAC,SAAS,CAAC,IAAY,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;OAQG;IACH,SAAS,CAAC,IAAU,EAAE,IAAe,EAAE,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QACjE,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3B,IAAI,IAAI,EAAE,KAAK,EAAE;YACf,IAAI,GAAG,EAAE,IAAI,EAAE;gBACb,+CAA+C;gBAC/C,mDAAmD;gBACnD,6DAA6D;gBAC7D,4DAA4D;gBAC5D,4CAA4C;gBAC5C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,iDAAiD,CAAC,EAAE,GAAG,CAAC,CAAC;gBAClF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB;gBACvD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAU,qDAAqD;gBACvF,OAAO;aACR;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC;YACtC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAY,CAAC,CAAE,+CAA+C;YAClF,iDAAiD;YACjD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC1C,GAAG,GAAG;gBACJ,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,IAAI,CAAC,OAAO;gBACvB,SAAS,EAAE,KAAK,EAAE,QAAQ;gBAC1B,QAAQ,EAAE,KAAK,EAAE,OAAO;gBACxB,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,CAAC;gBACT,SAAS;gBACT,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS;aACxC,CAAA;YACD,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,8CAA8C;gBAC/E,OAAO;aACR;YACD,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAK,kDAAkD;YACjF,IAAI,CAAC,GAAG,CAAC,IAAI;gBAAE,OAAO,CAAS,6BAA6B;SAC7D;QACD,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAQ,2BAA2B;IAC9D,CAAC;IAED,uDAAuD;IACvD,UAAU,CAAC,GAAsB,EAAE,GAAgB;QACjD,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAA;QAC/C,GAAG,CAAC,QAAQ,GAAG,WAAW,EAAE,OAAO,CAAC;QACpC,qEAAqE;QACrE,MAAM,QAAQ,GAAG,WAAW,EAAE,QAAQ,CAAC;QACvC,IAAI,QAAQ,KAAK,GAAG,CAAC,SAAS,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,EAAE;YAChE,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC;YACzB,oCAAoC;YACpC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,gCAAgC;SAC1E;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,IAAU,EAAE,GAAgB;QACpC,iEAAiE;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAChE,IAAI,MAAM,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,MAAM,KAAK,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;YAChF,yDAAyD;YACzD,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;aAAM;YACL,+DAA+D;YAC/D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,4BAA4B;YACjD,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAE,gBAAgB;YAC9D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,sCAAsC;YAC9D,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACrB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;gBACpB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;aACzB;SACF;IACH,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,IAAU,EAAE,GAAgB;QACzC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,eAAe,GAAG,CAAC,GAAU,EAAE,EAAE;YACrC,IAAI,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;gBACpD,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,gCAAgC;gBACpD,MAAM,IAAI,CAAC,CAAC;aACb;QACH,CAAC,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC,CAAW,0CAA0C;QAChG,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,wEAAwE;IACxE,SAAS,CAAC,IAAsB,EAAE,QAA6B,EAAE,GAAgB;QAC/E,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,kEAAkE;IAClE,QAAQ,CAAC,IAAmB,EAAE,IAAe,EAAE,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QACzE,IAAI,CAAE,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE;YAAE,QAAQ,CAAC;SAAE;QAC3C,MAAM,IAAI,GAAG,IAAY,CAAC;QAC1B,+EAA+E;QAC/E,IAAI,CAAC,SAAS,CAAC,GAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,kCAAkC;QAClF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,8BAA8B;QACpD,4CAA4C;QAC5C,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,oBAAoB;IACzD,CAAC;IAED,wEAAwE;IACxE,gBAAgB,CAAC,IAAU,EAAE,KAAU;QACrC,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,oCAAoC;QACvD,MAAM,MAAM,GAAG,KAAc,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAc,CAAC,CAAC,mBAAmB;QACtF,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAY,CAAC,CAAC,CAAC,sEAAsE;QACrH,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAM,wBAAwB;QACvE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAa,mDAAmD;IACpG,CAAC;IAED,2CAA2C;IAC3C,IAAc,UAAU,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1E;;;;OAIG;IACH,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO;QACtD,0EAA0E;QAC1E,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,SAAS;gBAAE,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC;YACtD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,6CAA6C;SACvE;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,IAAI;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,OAAuB,EAAE,KAAS,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QAC7E,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,+CAA+C;YAC/C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA,CAAC,qBAAqB;SACpE;aAAM,IAAI,OAAO,EAAE;YAClB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;SACjC;IACH,CAAC;IAED,aAAa,CAAC,OAAsB,EAAE,KAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QAC3D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA;QACvD,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAA;IAC1D,CAAC;IACD,iFAAiF;IACjF,cAAc,CAAC,MAAe,IAAI;QAChC,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAA,CAAC,iCAAiC;QACzE,IAAI,GAAG;YAAE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QACrC,IAAI,CAAC,iBAAiB,EAAE,CAAA;IAC1B,CAAC;IAED,aAAa,CAAc;IAC3B,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa;YACvB,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC1D,CAAC;IACD;;;;;;OAMG;IACH,WAAW,CAAC,IAAW;IACvB,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,IAAU,EAAE,IAAW;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA,CAAC,uCAAuC;IAC7F,CAAC;IAED,+BAA+B;IAC/B,OAAO,GAAW,GAAG,CAAC;IACtB,8CAA8C;IAC9C,OAAO,CAAC,IAAe,EAAE,KAAK,GAAG,IAAI,CAAC,OAAO;QAC3C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACpC,CAAC;IACD,WAAW,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAE5E,SAAS,CAAqB;IACvC;;OAEG;IACH,aAAa;QACX,uCAAuC;QACvC,MAAM,MAAM,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACpE,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE;YACzB,4DAA4D;YAC5D,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,mCAAmC;YAC1G,4EAA4E;SAC7E;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,6CAA6C;IAC7C,QAAQ;QACN,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC7D,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC/D,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAEzD,wBAAwB;QACxB,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAEtF,CAAC;IAED,+DAA+D;IAC/D,aAAa,CAAC,MAAiB,EAAE,MAAY,EAAE,OAAO,GAAG,EAAE,CAAC,OAAO;QACjE,mEAAmE;QACnE,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAA4B,CAAC;QAC7E,MAAM,CAAC,KAAK,GAAG,gBAAgB,CAAC;QAChC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,GAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAC,CAAA;IAClD,KAAK,GAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACnE;;;;;;;;;;OAUG;IACH,eAAe,CAAC,MAA0B,EAAE,GAAG,KAAa;QAC1D,qCAAqC;QACrC,MAAM,QAAQ,GAAG,CAAC,IAAU,EAAE,EAAE;YAC9B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;YAC3B,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAA;YACjB,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAA;QACnB,CAAC,CAAA;QACD,sDAAsD;QACtD,MAAM,UAAU,GAAG,CAAC,IAAU,EAAE,EAAE;YAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YACjC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAA;QACrB,CAAC,CAAA;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACjB,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;SAClC;QACD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7D,IAAI,IAAI,CAAC,GAAG;gBACV,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAA;QACF,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;YAAE,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAEhE,CAAC;IACD,kEAAkE;IAClE,UAAU,CAAC,EAAE,GAAG,GAAG,EAAE,KAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QAC1C,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAClD,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,+BAA+B;QACjD,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5B,OAAO,GAAG,CAAC;IACb,CAAC;IACD,YAAY,CAAC,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QACxC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAClE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,+BAA+B;QACjD,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACxC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACxC,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC;QAC3B,OAAO,GAAG,CAAC;IACb,CAAC;IAED,mEAAmE;IACnE,IAAI,CAAC,CAAC,GAAG,GAAG;QACV,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC/E,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IACvB,CAAC;IAED,GAAG,CAAC,EAAM;QACR,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IACvB,CAAC;IACD;;;;;;OAMG;IACH,aAAa;QACX,4BAA4B;QAC5B,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9D,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;QACpE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAC1E,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAC3E,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1E,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAC3E,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;QACvE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;IAC1E,CAAC;CACF"}
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,13 @@ export declare class TextLog extends Container {
4
4
  Aname: string;
5
5
  size: number;
6
6
  lead: number;
7
+ /**
8
+ *
9
+ * @param Aname
10
+ * @param nlines
11
+ * @param size fontSize [TP.hexRad/2]
12
+ * @param lead between lines [3]
13
+ */
7
14
  constructor(Aname: string, nlines?: number, size?: number, lead?: number);
8
15
  lines: Text[];
9
16
  lastLine: string;
@@ -12,6 +19,7 @@ export declare class TextLog extends Container {
12
19
  clear(): void;
13
20
  private newText;
14
21
  private spaceLines;
22
+ /** convert line to single-line; inc count if same line; insert & scroll up */
15
23
  log(line: string, from?: string, toConsole?: boolean): string;
16
24
  }
17
25
  //# sourceMappingURL=text-log.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-log.d.ts","sourceRoot":"","sources":["../src/text-log.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAG3D,qBAAa,OAAQ,SAAQ,SAAS;IACjB,KAAK,EAAE,MAAM;IAAqB,IAAI,EAAE,MAAM;IAAc,IAAI;gBAAhE,KAAK,EAAE,MAAM,EAAE,MAAM,SAAI,EAAS,IAAI,GAAE,MAAW,EAAS,IAAI,SAAI;IAOvF,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,QAAQ,SAAM;IACd,KAAK,SAAK;IAEV,MAAM,CAAC,CAAC,SAAoB;IAI5B,KAAK;IAKL,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,UAAU;IAIlB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAK,EAAE,SAAS,UAAO;CAe9C"}
1
+ {"version":3,"file":"text-log.d.ts","sourceRoot":"","sources":["../src/text-log.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAI3D,qBAAa,OAAQ,SAAQ,SAAS;IAQjB,KAAK,EAAE,MAAM;IAAqB,IAAI;IAAyB,IAAI;IAPtF;;;;;;OAMG;gBACgB,KAAK,EAAE,MAAM,EAAE,MAAM,SAAI,EAAS,IAAI,SAAgB,EAAS,IAAI,SAAI;IAO1F,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,QAAQ,SAAM;IACd,KAAK,SAAK;IAEV,MAAM,CAAC,CAAC,SAAoB;IAI5B,KAAK;IAKL,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,UAAU;IAIlB,8EAA8E;IAC9E,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAK,EAAE,SAAS,UAAO;CAe9C"}
package/dist/text-log.js CHANGED
@@ -1,11 +1,19 @@
1
1
  import { stime } from '@thegraid/common-lib';
2
2
  import { Container, Text } from '@thegraid/easeljs-module';
3
3
  import { F } from '@thegraid/common-lib';
4
+ import { TP } from './table-params';
4
5
  export class TextLog extends Container {
5
6
  Aname;
6
7
  size;
7
8
  lead;
8
- constructor(Aname, nlines = 6, size = 30, lead = 3) {
9
+ /**
10
+ *
11
+ * @param Aname
12
+ * @param nlines
13
+ * @param size fontSize [TP.hexRad/2]
14
+ * @param lead between lines [3]
15
+ */
16
+ constructor(Aname, nlines = 6, size = TP.hexRad / 2, lead = 3) {
9
17
  super();
10
18
  this.Aname = Aname;
11
19
  this.size = size;
@@ -34,6 +42,7 @@ export class TextLog extends Container {
34
42
  spaceLines(cy = 0, lead = this.lead) {
35
43
  this.lines.forEach(tline => (tline.y = cy, cy += tline.getMeasuredLineHeight() + lead));
36
44
  }
45
+ /** convert line to single-line; inc count if same line; insert & scroll up */
37
46
  log(line, from = '', toConsole = true) {
38
47
  line = line.replace(/\n/g, '-');
39
48
  toConsole && console.log(stime(`${from}:`), line);
@@ -1 +1 @@
1
- {"version":3,"file":"text-log.js","sourceRoot":"","sources":["../src/text-log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text-log.js","sourceRoot":"","sources":["../src/text-log.ts"],"names":[],"mappings":"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"}
package/dist/tile.d.ts CHANGED
@@ -11,11 +11,11 @@ import { TileSource } from "./tile-source";
11
11
  export declare function rightClickable(dobj: DisplayObject, onRightClick: (evt: MouseEvent) => void): void;
12
12
  /** Someday refactor: all the cardboard bits (Tiles, Meeples & Coins) */
13
13
  declare class Tile0 extends NamedContainer {
14
+ player?: Player | undefined;
14
15
  /** Easy access to single/current GamePlay. */
15
16
  static gamePlay: GamePlay;
16
- constructor(Aname: string);
17
+ constructor(Aname: string, player?: Player | undefined);
17
18
  gamePlay: GamePlay;
18
- player?: Player;
19
19
  /**
20
20
  * @return [false] override to return true if this to be placed on hex.meep
21
21
  */
@@ -23,7 +23,7 @@ declare class Tile0 extends NamedContainer {
23
23
  get pColor(): string | undefined;
24
24
  get recycleVerb(): string;
25
25
  get radius(): number;
26
- /** set in constructor, can override baseShape!: Paintable; */
26
+ /** set in constructorCode using makeShape(); can override if baseShape?:; */
27
27
  baseShape: Paintable;
28
28
  /**
29
29
  * this.addChildAt(new Bitmap(loader.getImage(name)), at);
@@ -31,14 +31,16 @@ declare class Tile0 extends NamedContainer {
31
31
  * image is scaled to fit given size.
32
32
  * centered above Tile.textSize
33
33
  * @param name from AliasLoader.loader.imap.keys();
34
- * @param at [numChildern - 1]
34
+ * @param at [numChildren - 1]
35
35
  * @param size [TP.hexRad] bitmap.scale = size / max(img.width, img.height)
36
36
  * @return new Bitmap() containing the named image (no image if name was not loaded)
37
37
  */
38
38
  addImageBitmap(name: string, at?: number, size?: number): import("@thegraid/easeljs-module").Bitmap;
39
- /** Default is TileShape; a HexShape with translucent disk.
39
+ /** Default is TileShape; a HexShape with translucent disk [hextowns].
40
+ *
40
41
  * add more graphics with paint(colorn)
41
- * also: addImageBitmap() to add child image from AliasLoader
42
+ *
43
+ * see also: addImageBitmap() to add child image from AliasLoader
42
44
  */
43
45
  makeShape(): Paintable;
44
46
  /** paint with PlayerColor; updateCache()
@@ -81,19 +83,36 @@ export declare class Tile extends Tile0 implements Dragable {
81
83
  }, hex: IHex2, player?: Player, n?: number): TS;
82
84
  /** When Tile is associated with a TileSource; availUnit() sets this field. */
83
85
  source: TileSource<Tile>;
86
+ /** Build the Tile [baseShape, image?, nameText] and reCache the graphics. */
84
87
  constructor(
85
88
  /** typically: className-serial; may be supplied as 'name' or undefined */
86
89
  Aname: string,
87
90
  /** the owning Player. */
88
91
  player?: Player);
92
+ /** invoked by constructor; set name & Aname if undefined
93
+ *
94
+ * typical stack:
95
+ * - makeShape()->baseShape
96
+ * - addImageBitmap()->image,
97
+ * - addTextChild()->nameText
98
+ */
99
+ tileConstructor(): void;
100
+ static paintInConstructor: boolean;
89
101
  nameText: Text;
90
- /** update nameText; replace(/-/g, '\n'); adjust y for nlines */
91
- setNameText(name: string): void;
102
+ /**
103
+ * change this.nameText; replace(/-/g, '\n'); adjust y for nlines
104
+ *
105
+ * retains fontSize & visibilty; updateCache()
106
+ *
107
+ * @param name [Aname] unadulterated name
108
+ * @param y0 [radius/2] place name in bottom half of Tile; a little lower if multi-line.
109
+ */
110
+ setNameText(name?: string, y0?: number): void;
92
111
  /** location at start-of-game & after-Recycle; Meeple & Civic; Policy: sendHome -> sendToBag */
93
112
  homeHex?: Hex1;
94
113
  /** location at start-of-drag */
95
114
  fromHex: IHex2;
96
- /** override hook to deselect/stopDragging a Tile. */
115
+ /** @returns [true] override can return false to deselect/stopDragging this Tile. */
97
116
  isDragable(ctx?: DragContext): boolean;
98
117
  _hex: Hex1 | undefined;
99
118
  /** the map Hex on which this Tile sits. */
@@ -117,7 +136,7 @@ export declare class Tile extends Tile0 implements Dragable {
117
136
  *
118
137
  * from Ankh: text = Aname.replace(/-/g, '\n'); [Andro-sphinx, Cat-Mum]
119
138
  */
120
- addTextChild(y0?: number, text?: string, size?: number, vis?: boolean): CenterText;
139
+ addTextChild(y0?: number, text?: string, size?: number, vis?: boolean, color?: string): CenterText;
121
140
  textVis(vis?: boolean): void;
122
141
  /**
123
142
  * Install onRightClick(evt) handler on this Tile.
@@ -199,7 +218,7 @@ export declare class Tile extends Tile0 implements Dragable {
199
218
  * When this Tile starts a drag,
200
219
  * run setLegal() on all Hex of given Table to identify legal targets.
201
220
  *
202
- * All Hex is table.newHexes and table.hexMap.hexAry.
221
+ * setLegal(hex) on: table.newHexes and table.hexMap.hexAry.
203
222
  * - does not include table.recycleHex, so that may need special treatment.
204
223
  *
205
224
  * @param table acces to newHexes and hexMap
@@ -208,10 +227,14 @@ export declare class Tile extends Tile0 implements Dragable {
208
227
  */
209
228
  markLegal(table: Table, setLegal?: (hex: IHex2) => void, ctx?: DragContext): void;
210
229
  /**
211
- * Override in AuctionTile, Civic, Meeple/Leader
230
+ * Indicates if toHex is marked/legal as ctx.targetHex when dragging a tile.
231
+ *
232
+ * Override for each flavor of Tile or Meeple as approriate.
233
+ *
234
+ * Note: tile.fromHex becomes ctx.targetHex in Tile.dragFunc0; without isLegalTarget.
212
235
  * @param toHex a potential targetHex (table.hexUnderObj(dragObj.xy))
213
236
  */
214
- isLegalTarget(toHex: Hex1, ctx?: DragContext): boolean;
237
+ isLegalTarget(toHex: Hex1, ctx: DragContext): boolean;
215
238
  isLegalRecycle(ctx: DragContext): boolean;
216
239
  /** Called by table.dragStart() if there are no legal targets for this Tile.
217
240
  *
@@ -1 +1 @@
1
- {"version":3,"file":"tile.d.ts","sourceRoot":"","sources":["../src/tile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tile.d.ts","sourceRoot":"","sources":["../src/tile.ts"],"names":[],"mappings":"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"}