@thegraid/hexlib 1.1.6 → 1.1.9

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/shapes.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { C, className } from "@thegraid/common-lib";
2
- import { CenterText } from "@thegraid/easeljs-lib";
2
+ import { afterUpdate, CenterText } from "@thegraid/easeljs-lib";
3
3
  import { Container, Graphics, Shape } from "@thegraid/easeljs-module";
4
4
  import { H } from "./hex-intfs";
5
5
  import { TP } from "./table-params";
@@ -21,6 +21,11 @@ export class C1 {
21
21
  * - }
22
22
  * - }
23
23
  */
24
+ // The "origin story" was to create new Shapes without subclassing.
25
+ // Just make a new PaintableShape with its CGF
26
+ // can even compose by passing/invoking the CGF of other Shapes.
27
+ // the tricky bit for that is finding the 'inherited' CGF;
28
+ // maybe a known static; or constructor arg: either a CGF or a PS instance.
24
29
  export class PaintableShape extends Shape {
25
30
  _cgf;
26
31
  colorn;
@@ -66,36 +71,136 @@ export class PaintableShape extends Shape {
66
71
  }
67
72
  return this.graphics;
68
73
  }
74
+ // easeljs does: BitMap, Sprite (Frame?), Text, Filter, BitmapCache, BlurFilter
75
+ // easeljs does Container as union of bounds provided by children.
76
+ /**
77
+ * Paintable shape can & should calculate its Bounds.
78
+ *
79
+ * Subclasses should override to calculate their bounds.
80
+ * @param x
81
+ * * undefined -> calculate bounds,
82
+ * * null -> remove bounds,
83
+ * * number -> set to {x, y, width, height}
84
+ * @param y
85
+ * @param width
86
+ * @param height
87
+ */
88
+ setBounds(x, y, width, height) {
89
+ if (x === undefined) {
90
+ const cached = this.cacheID; // undefined | number >= 1
91
+ this.uncache();
92
+ // setBounds(null, 0, 0, 0); // not nec'sary/useful
93
+ const { x, y, w, h } = this.calcBounds();
94
+ super.setBounds(x, y, w, h);
95
+ if (cached)
96
+ this.cache(x, y, w, h); // recache if previously cached
97
+ }
98
+ else {
99
+ super.setBounds(x, y, width, height);
100
+ }
101
+ }
102
+ /** subclass to override to compute actual bounds of their Shape. */
103
+ calcBounds() {
104
+ return { x: 0, y: 0, w: 5, h: 5 };
105
+ }
106
+ /** ensure PaintableShape is cached; expect setBounds() already done. */
107
+ setCacheID() {
108
+ if (this.cacheID)
109
+ return; // also: if already cached, get/setBounds is useless
110
+ let b = this.getBounds();
111
+ if (!b) {
112
+ const { x, y, w, h } = this.calcBounds();
113
+ b = { x, y, width: w, height: h };
114
+ }
115
+ this.cache(b.x, b.y, b.width, b.height);
116
+ }
117
+ }
118
+ /** an n-sided Polygon, tilted */
119
+ export class PolyShape extends PaintableShape {
120
+ rad = TP.hexRad;
121
+ nsides = 4;
122
+ pSize = 0;
123
+ tilt = 0;
124
+ fillc = C.grey;
125
+ strokec = C.black;
126
+ /**
127
+ * pscgf() invokes drawPoly(0,0,...);
128
+ *
129
+ * To adjust (x,y): supply g0 = new Graphics().mt(x,y)
130
+ * @param params \{ rad, nsides, pSize, tilt, fillc, strokec }
131
+ * @param g0 Graphics base
132
+ */
133
+ constructor({ rad, nsides, pSize, tilt, fillc, strokec }, g0) {
134
+ super((fillc, g) => this.pscgf(fillc, g ?? g0), fillc, g0);
135
+ this.nsides = nsides ?? 4;
136
+ this.rad = rad ?? TP.hexRad;
137
+ this.pSize = pSize ?? 0;
138
+ this.tilt = tilt ?? 0;
139
+ this.fillc = fillc ?? C.grey;
140
+ this.strokec = strokec ?? C.black;
141
+ this._cgf = this.pscgf;
142
+ this.paint(fillc);
143
+ }
144
+ /** set fillc and strokec, invoke drawPoly(0, 0, ...) */
145
+ pscgf(fillc, g = this.g0) {
146
+ ((this.fillc = fillc) ? g.f(fillc) : g.ef());
147
+ (this.strokec ? g.s(this.strokec) : g.es());
148
+ g.dp(0, 0, this.rad, this.nsides, this.pSize, this.tilt * H.degToRadians);
149
+ return g;
150
+ }
151
+ setBounds(x, y, width, height) {
152
+ if (x === undefined) {
153
+ // overestimate: without nsides & tilt
154
+ this.setBounds(-this.rad, -this.rad, 2 * this.rad, 2 * this.rad);
155
+ }
156
+ else {
157
+ super.setBounds(x, y, width, height);
158
+ }
159
+ }
69
160
  }
70
161
  /**
71
- * The colored PaintableShape that fills a Hex.
162
+ * A colored PaintableShape that fills a Hex.
163
+ *
72
164
  * @param radius in call to drawPolyStar()
73
165
  */
74
166
  export class HexShape extends PaintableShape {
75
167
  radius;
76
168
  tilt;
169
+ /**
170
+ *
171
+ * @param radius [TP.hexRad] radius of hexagon
172
+ * @param tilt [EwTopo ? 30 : 0] tilt to align EW as vertical
173
+ */
77
174
  constructor(radius = TP.hexRad, tilt = TP.useEwTopo ? 30 : 0) {
78
175
  super((fillc) => this.hscgf(fillc));
79
176
  this.radius = radius;
80
177
  this.tilt = tilt;
81
- this.setHexBounds(); // Assert radius & tilt are readonly, so bounds never changes!
178
+ this.setBounds(undefined, 0, 0, 0); // ASSERT: radius & tilt are readonly, so bounds never changes!
82
179
  }
180
+ /**
181
+ * @deprecated use setBounds(undefined, 0, 0, 0)
182
+ * @param r [this.radius]
183
+ * @param tilt [this.tilt]
184
+ */
83
185
  setHexBounds(r = this.radius, tilt = this.tilt) {
84
186
  const b = H.hexBounds(r, tilt);
85
187
  this.setBounds(b.x, b.y, b.width, b.height);
86
188
  }
87
- setCacheID() {
88
- const b = this.getBounds(); // Bounds are set
89
- this.cache(b.x, b.y, b.width, b.height);
90
- }
91
189
  /**
92
190
  * Draw a Hexagon 1/60th inside the given radius.
93
- * overrides should include call to setHexBounds(radius, angle)
94
- * or in other way setBounds().
95
191
  */
96
192
  hscgf(color, g0 = this.graphics) {
97
193
  return g0.f(color).dp(0, 0, Math.floor(this.radius * 59 / 60), 6, 0, this.tilt); // 30 or 0
98
194
  }
195
+ setBounds(x, y, width, height) {
196
+ if (x === undefined) {
197
+ const b = H.hexBounds(this.radius, this.tilt);
198
+ this.setBounds(b.x, b.y, b.width, b.height);
199
+ }
200
+ else {
201
+ super.setBounds(x, y, width, height);
202
+ }
203
+ }
99
204
  }
100
205
  export class EllipseShape extends PaintableShape {
101
206
  fillc;
@@ -120,9 +225,17 @@ export class EllipseShape extends PaintableShape {
120
225
  cscgf(fillc, g = this.g0) {
121
226
  ((this.fillc = fillc) ? g.f(fillc) : g.ef());
122
227
  (this.strokec ? g.s(this.strokec) : g.es());
123
- g.de(-this.radx, -this.rady, 2 * this.radx, 2 * this.rady); // easlejs can determine Bounds of Ellipse
228
+ g.de(-this.radx, -this.rady, 2 * this.radx, 2 * this.rady);
124
229
  return g;
125
230
  }
231
+ setBounds(x, y, width, height) {
232
+ if (x === undefined) {
233
+ this.setBounds(-this.radx, -this.rady, 2 * this.radx, 2 * this.rady);
234
+ }
235
+ else {
236
+ super.setBounds(x, y, width, height);
237
+ }
238
+ }
126
239
  }
127
240
  /**
128
241
  * Circle centered on (0,0)
@@ -134,79 +247,80 @@ export class CircleShape extends EllipseShape {
134
247
  super(fillc, rad, rad, strokec, g0);
135
248
  }
136
249
  }
137
- export class PolyShape extends PaintableShape {
138
- nsides;
139
- tilt;
140
- fillc;
141
- rad;
142
- strokec;
143
- constructor(nsides = 4, tilt = 0, fillc = C.white, rad = TP.hexRad / 2, strokec = C.black, g0) {
144
- super((fillc) => this.pscgf(fillc), fillc, g0);
145
- this.nsides = nsides;
146
- this.tilt = tilt;
147
- this.fillc = fillc;
148
- this.rad = rad;
149
- this.strokec = strokec;
150
- this._cgf = this.pscgf;
151
- this.paint(fillc);
152
- }
153
- pscgf(fillc, g = this.g0) {
154
- ((this.fillc = fillc) ? g.f(fillc) : g.ef());
155
- (this.strokec ? g.s(this.strokec) : g.es());
156
- g.dp(0, 0, this.rad, this.nsides, 0, this.tilt * H.degToRadians);
157
- return g;
158
- }
159
- }
160
250
  /** a Rectangular Shape, maybe with rounded corners */
161
251
  export class RectShape extends PaintableShape {
162
252
  fillc;
163
253
  strokec;
164
- static rectWHXY(w, h, x = -w / 2, y = -h / 2, g0 = new Graphics()) {
165
- return g0.dr(x, y, w, h);
166
- }
167
- static rectWHXYr(w, h, x = -w / 2, y = -h / 2, r = 0, g0 = new Graphics()) {
168
- return g0.rr(x, y, w, h, r);
169
- }
254
+ // static rectWHXY(w: number, h: number, x = -w / 2, y = -h / 2, g0 = new Graphics()) {
255
+ // return g0.dr(x, y, w, h)
256
+ // }
257
+ // static rectWHXYr(w: number, h: number, x = -w / 2, y = -h / 2, r = 0, g0 = new Graphics()) {
258
+ // return g0.rr(x, y, w, h, r);
259
+ // }
260
+ // /**
261
+ // * paint a background RectShape for given Text.
262
+ // * @param txt Text
263
+ // * @param b border size around text [txt.getMeasuredLineHeight * .1]
264
+ // * @param g0 append to Graphics [new Graphics()]
265
+ // * @returns
266
+ // */
267
+ // static rectText(txt: Text, b?: number, g0 = new Graphics()) {
268
+ // const fs = txt.getMeasuredLineHeight();
269
+ // if (b === undefined) b = fs * .1;
270
+ // const { x, y, width, height } = txt.getBounds();
271
+ // return RectShape.rectWHXY(width + 2 * b, height + 2 * b, x - b, y - b, g0);
272
+ // }
273
+ // compare to Bounds;
274
+ // this._bounds: Rectangle === { x, y, width, height }
275
+ // this._rectangle: Rectangle === { x, y, width, height }
276
+ _rect;
277
+ _cRad = 0;
170
278
  /**
171
- * paint a background RectShape for given Text.
172
- * @param txt Text
173
- * @param b border size around text [txt.getMeasuredLineHeight * .1]
174
- * @param g0 append to Graphics [new Graphics()]
175
- * @returns
279
+ * Paint a rectangle (possibly with rounded corners) with fillc and stroke.
280
+ * @param rect \{ x=0, y=0, w=hexRad, h=hexRad, r=0 } origin, extent and corner radius of Rectangle
281
+ * @param fillc [C.white] color to fill the rectangle, '' for no fill
282
+ * @param strokec [C.black] stroke color, '' for no stroke
283
+ * @param g0 [new Graphics()] Graphics to clone and extend during paint()
176
284
  */
177
- static rectText(txt, b, g0 = new Graphics()) {
178
- const fs = txt.getMeasuredLineHeight();
179
- if (b === undefined)
180
- b = fs * .1;
181
- const { x, y, width, height } = txt.getBounds();
182
- return RectShape.rectWHXY(width + 2 * b, height + 2 * b, x - b, y - b, g0);
183
- }
184
- rect;
185
- rc = 0;
186
- constructor({ x = 0, y = 0, w = TP.hexRad / 2, h = TP.hexRad / 2, r = 0 }, fillc = C.white, strokec = C.black, g0) {
285
+ constructor({ x = 0, y = 0, w = TP.hexRad, h = TP.hexRad, r = 0 }, fillc = C.white, strokec = C.black, g0) {
187
286
  super((fillc) => this.rscgf(fillc), fillc, g0);
188
287
  this.fillc = fillc;
189
288
  this.strokec = strokec;
190
289
  this._cgf = this.rscgf;
191
- this.rect = { x, y, w, h };
290
+ this._cRad = r;
291
+ this._rect = { x, y, w, h };
192
292
  this.setBounds(x, y, w, h);
193
- this.rc = r;
194
293
  this.paint(fillc, true); // this.graphics = rscgf(...)
195
294
  }
295
+ /** update any of {x, y, w, h, r} for future paint() or setBounds(...) */
296
+ setRectRad({ x = this._rect.x, y = this._rect.y, w = this._rect.w, h = this._rect.h, r = this._cRad }) {
297
+ this._cRad = r ?? this._cRad;
298
+ this._rect = { x, y, w, h };
299
+ }
300
+ setBounds(x, y, width, height) {
301
+ if (x === undefined) {
302
+ const b = this._rect;
303
+ this.setBounds(b.x, b.y, b.w, b.h);
304
+ }
305
+ else {
306
+ super.setBounds(x, y, width, height); // can be different from _rect
307
+ }
308
+ }
196
309
  rscgf(fillc, g = this.g0) {
197
- const { x, y, w, h } = this.rect, r = TP.hexRad / 2;
310
+ const { x, y, w, h } = this._rect;
198
311
  (fillc ? g.f(fillc) : g.ef());
199
312
  (this.strokec ? g.s(this.strokec) : g.es());
200
- if (this.rc === 0) {
201
- g.dr(x ?? 0, y ?? 0, w ?? r, h ?? r);
313
+ if (this._cRad === 0) {
314
+ g.dr(x, y, w, h);
202
315
  }
203
316
  else {
204
- g.rr(x ?? 0, y ?? 0, w ?? r, h ?? r, this.rc);
317
+ g.rr(x, y, w, h, this._cRad);
318
+ // note: there is also a drawRoundRectComplex(x,y,w,h,rTL,rTR,rBR,rBL)
205
319
  }
206
320
  return g;
207
321
  }
208
322
  }
209
- /** from hextowns, with translucent center. */
323
+ /** from hextowns, with translucent center circle. */
210
324
  export class TileShape extends HexShape {
211
325
  static fillColor = C1.lightgrey_8; // 'rgba(200,200,200,.8)'
212
326
  constructor(radius, tilt) {
@@ -226,10 +340,9 @@ export class TileShape extends HexShape {
226
340
  return g;
227
341
  }
228
342
  bgColor = C.nameToRgbaString(C.WHITE, .8);
229
- /** colored HexShape filled with very-lightgrey disk: */
343
+ /** colored HexShape filled with very-lightgrey disk: interpose on cgf with replaceDisk */
230
344
  tscgf(colorn, g0 = this.cgfGraphics?.clone() ?? new Graphics(), super_cgf = (color) => new Graphics()) {
231
- // HexShape.cgf(rgba(C.WHITE, .8))
232
- const g = this.graphics = super_cgf.call(this, this.bgColor); // paint HexShape(White)
345
+ const g = this.graphics = super_cgf.call(this, this.bgColor); // HexShape.cgf(rgba(C.White, .8))
233
346
  const fillColor = C.nameToRgbaString(colorn, .8);
234
347
  this.replaceDisk(fillColor, this.radius * H.sqrt3_2 * (55 / 60));
235
348
  return this.graphics = g;
@@ -248,40 +361,102 @@ export class LegalMark extends Shape {
248
361
  parent.addChild(this);
249
362
  }
250
363
  }
251
- /** Show text in a colored Rectangle. */
252
- export class UtilButton extends Container {
253
- fontSize;
254
- textColor;
255
- blocked = false;
256
- shape;
364
+ // TODO: Mixin base class PaintableShape? and override everything except setBounds()?
365
+ /** A Text label above a colored RectShape.
366
+ *
367
+ * Configure the border width [.3] and corner radius [0].
368
+ */
369
+ export class TextInRect extends Container {
370
+ /** draws a RectShape around label_text, with border, no strokec */
371
+ rectShape = new RectShape({ x: 0, y: 0, w: 8, h: 8, r: 0 }, C.WHITE, '');
372
+ /** Text object to be displayed above an RectShape of color */
257
373
  label;
374
+ _border;
375
+ /** extend RectShape around Text bounds; fraction of line height. */
376
+ get border() { return this._border; }
377
+ set border(b) { this._border = b; }
378
+ _corner;
379
+ /** corner radius; fraction of line height. */
380
+ get corner() { return this._corner; }
381
+ set corner(rc) {
382
+ this._corner = rc;
383
+ const r = rc * this.label.getMeasuredLineHeight();
384
+ this.rectShape.setRectRad({ r });
385
+ }
386
+ /** the string inside the Text label. */
258
387
  get label_text() { return this.label.text; }
259
- set label_text(t) {
260
- this.label.text = t;
388
+ set label_text(txt) {
389
+ this.label.text = txt;
390
+ this.setBounds(undefined, 0, 0, 0);
261
391
  this.paint(undefined, true);
262
392
  }
263
393
  /**
264
- * Create Container with CenterText above a RectShape.
394
+ * Create Container with Text above a RectShape.
265
395
  * @param color of background RectShape.
266
396
  * @param text label
267
- * @param fontSize
268
- * @param textColor
269
- * @param cgf
397
+ * @param border [.3] extend RectShape around Text; fraction of fontSize
398
+ * @param corner [0] corner radius as fraction of fontSize
399
+ * @param cgf [new Graphics()]
270
400
  */
271
- constructor(color, text, fontSize = TP.hexRad / 2, textColor = C.black, cgf) {
401
+ constructor(color, label, border = .3, corner = 0, cgf) {
272
402
  super();
273
- this.fontSize = fontSize;
274
- this.textColor = textColor;
275
- this.label = new CenterText(text, fontSize, textColor);
276
- this.shape = new PaintableShape(cgf ?? ((c) => this.ubcsf(c)));
277
- this.shape.paint(color);
278
- this.addChild(this.shape, this.label);
403
+ this.label = label;
404
+ this.border = border;
405
+ this.corner = corner; // _rShape._cRad = corner
406
+ this.setBounds(undefined, 0, 0, 0); // calc (Text + border) -> rectShape -> this
407
+ this.rectShape.paint(color); // set initial color, Graphics
408
+ this.addChild(this.rectShape, this.label);
409
+ }
410
+ /** TextInRect.paint(color) paints new color for the backing RectShape. */
411
+ paint(color = this.rectShape.colorn, force = false) {
412
+ this.rectShape.rscgf;
413
+ return this.rectShape.paint(color, force);
414
+ }
415
+ // override here if you don't like (label.bounds + border)
416
+ calcBounds() {
417
+ const tb = this.label.getBounds(), db = this.label.getMeasuredLineHeight() * this._border;
418
+ const b = { x: tb.x - db, y: tb.y - db, w: tb.width + 2 * db, h: tb.height + 2 * db };
419
+ return b;
420
+ }
421
+ setCacheID() {
422
+ this.rectShape.setCacheID.call(this); //invoke from a PaintableShape
279
423
  }
280
- ubcsf(color, g = new Graphics()) {
281
- return RectShape.rectText(this.label, this.fontSize * .3, g.f(color));
424
+ // Bounds = (label:Text + border) -> rectShape._rect [& cRad] -> this._bounds
425
+ // Copied from/to PaintableShape.setBounds()
426
+ setBounds(x, y, width, height) {
427
+ if (x === undefined) {
428
+ const { x, y, w, h } = this.calcBounds(), cached = this.cacheID;
429
+ this.rectShape.setRectRad({ x, y, w, h });
430
+ this.rectShape.setBounds(x, y, w, h); // setBounds to _rect
431
+ this.uncache();
432
+ super.setBounds(x, y, w, h);
433
+ if (cached)
434
+ this.cache(x, y, w, h); // recache if previously cached
435
+ }
436
+ else {
437
+ super.setBounds(x, y, width, height);
438
+ }
282
439
  }
283
- paint(color = this.shape.colorn, force = false) {
284
- return this.shape.paint(color, force);
440
+ }
441
+ // From ankh, 'done' button to move to next phase or action.
442
+ /** Construct a CenterText for a TextInRect. */
443
+ export class UtilButton extends TextInRect {
444
+ fontSize;
445
+ textColor;
446
+ /**
447
+ * Create Container with CenterText above a RectShape.
448
+ * @param color of background RectShape.
449
+ * @param text label
450
+ * @param fontSize [TP.hexRad/2]
451
+ * @param textColor [C.black]
452
+ * @param border [.3]
453
+ * @param cgf [trcsf]
454
+ */
455
+ constructor(color, text, fontSize = TP.hexRad / 2, textColor = C.black, border = .3, cgf) {
456
+ const label = new CenterText(text, fontSize, textColor);
457
+ super(color, label, border, 0, cgf);
458
+ this.fontSize = fontSize;
459
+ this.textColor = textColor;
285
460
  }
286
461
  /**
287
462
  * Repaint the stage with button visible or not.
@@ -289,31 +464,16 @@ export class UtilButton extends Container {
289
464
  * Allow Chrome to finish stage.update before proceeding with afterUpdate().
290
465
  *
291
466
  * Other code can watch this.blocked; then call updateWait(false) to reset.
292
- * @param hide true to hide and disable this UtilButton
293
- * @param afterUpdate callback ('drawend') when stage.update is done [none]
294
- * @param scope thisArg for afterUpdate [this TurnButton]
295
- * @deprecated use easeljs-lib afterUpdate(container, function)
467
+ * @param after callback on('drawend') when stage.update is done [none]
468
+ * @param scope thisArg for after [this UtilButton]
469
+ * @param hide [false] true to hide and disable this UtilButton
470
+ * @deprecated use easeljs-lib.afterUpdate(cont, after, scope) directly
296
471
  */
297
- updateWait(hide, afterUpdate, scope = this) {
298
- this.blocked = hide;
472
+ updateWait(after, scope = this, hide = false) {
299
473
  this.visible = this.mouseEnabled = !hide;
300
474
  // using @thegraid/easeljs-module@^1.1.8: on(once=true) will now 'just work'
301
- afterUpdate && this.stage.on('drawend', afterUpdate, scope, true);
302
- this.stage.update();
303
- }
304
- }
305
- export class EdgeShape extends Shape {
306
- color;
307
- hex;
308
- dir;
309
- constructor(color, hex, dir, parent) {
310
- super();
311
- this.color = color;
312
- this.hex = hex;
313
- this.dir = dir;
314
- this.reset();
315
- parent.addChild(this);
475
+ // using @thegraid/common-lib@^1.3.12: afterUpdate will always update
476
+ afterUpdate(this, after, scope);
316
477
  }
317
- reset(color = this.color) { this.graphics.c().ss(12, 'round', 'round').s(color); }
318
478
  }
319
479
  //# sourceMappingURL=shapes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shapes.js","sourceRoot":"","sources":["../src/shapes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shapes.js","sourceRoot":"","sources":["../src/shapes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAW,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAiB,QAAQ,EAAa,KAAK,EAAQ,MAAM,0BAA0B,CAAC;AAEtG,OAAO,EAAE,CAAC,EAAU,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAEpC,MAAM,OAAO,EAAE;IACb,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC;IACrB,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC;IACrB,MAAM,CAAC,UAAU,GAAG,kBAAkB,CAAA,CAAC,+CAA+C;IACtF,MAAM,CAAC,WAAW,GAAG,qBAAqB,CAAA,CAAC,+CAA+C;;AAoB5F;;;;;;;;;;;GAWG;AACH,mEAAmE;AACnE,8CAA8C;AAC9C,gEAAgE;AAChE,0DAA0D;AAC1D,2EAA2E;AAC3E,MAAM,OAAO,cAAe,SAAQ,KAAK;IAepB;IAAkB;IAdrC,oFAAoF;IACpF,GAAG,CAAY;IACf,mEAAmE;IACnE,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,IAAI,QAAQ,EAAE,CAAC,CAAC,qCAAqC;IACnF,CAAC;IACD,qGAAqG;IACrG,WAAW,CAAW,CAAC,0CAA0C;IACjE;;;;;OAKG;IACH,YAAmB,IAAS,EAAS,SAAiB,CAAC,CAAC,KAAK,EAAE,EAAa;QAC1E,KAAK,EAAE,CAAC;QADS,SAAI,GAAJ,IAAI,CAAK;QAAS,WAAM,GAAN,MAAM,CAAkB;QAE3D,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB;IACrD,CAAC;IACD,qFAAqF;IACrF,kBAAkB,GAAG,IAAI,CAAC,CAAM,2BAA2B;IAC3D,IAAI,GAAG,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/B,4DAA4D;IAC5D,IAAI,GAAG,CAAC,GAAQ;QACd,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SAC/B;IACH,CAAC;IACD,gCAAgC;IAChC,KAAK,CAAC,SAAiB,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK;QAC/C,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE;YACzE,uCAAuC;YACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,CAAE,6BAA6B;YACvD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,wBAAwB;YAC3F,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,OAAO;gBAAE,IAAI,CAAC,WAAW,EAAE,CAAC;SACjE;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IACD,+EAA+E;IAC/E,kEAAkE;IAClE;;;;;;;;;;;OAWG;IACM,SAAS,CAAC,CAA4B,EAAE,CAAS,EAAE,KAAa,EAAE,MAAc;QACvF,IAAI,CAAC,KAAK,SAAS,EAAE;YACnB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,0BAA0B;YACvD,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,qDAAqD;YACrD,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;YACxC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5B,IAAI,MAAM;gBAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,+BAA+B;SACpE;aAAM;YACL,KAAK,CAAC,SAAS,CAAC,CAAkB,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;SACvD;IACH,CAAC;IAED,oEAAoE;IACpE,UAAU;QACR,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;IACnC,CAAC;IAED,wEAAwE;IACxE,UAAU;QACR,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,CAAE,oDAAoD;QAC/E,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,EAAqD,CAAA;QAC3E,IAAI,CAAC,CAAC,EAAE;YACN,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACzC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAA;SAClC;QACD,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;CAEF;AAED,iCAAiC;AACjC,MAAM,OAAO,SAAU,SAAQ,cAAc;IACpC,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC;IAChB,MAAM,GAAG,CAAC,CAAC;IACX,KAAK,GAAG,CAAC,CAAC;IACV,IAAI,GAAG,CAAC,CAAC;IACT,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC;IACf,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC;IAEzB;;;;;;OAMG;IACH,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAC6C,EAAE,EAAa;QAChH,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAE3D,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,wDAAwD;IACxD,KAAK,CAAC,KAAa,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;QAC9B,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7C,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC;QAC1E,OAAO,CAAC,CAAC;IACX,CAAC;IAEQ,SAAS,CAAC,CAA4B,EAAE,CAAS,EAAE,KAAa,EAAE,MAAc;QACvF,IAAI,CAAC,KAAK,SAAS,EAAE;YACnB,sCAAsC;YACtC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;SACjE;aAAM;YACL,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;SACrC;IACH,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,QAAS,SAAQ,cAAc;IAO/B;IACA;IAPX;;;;OAIG;IACH,YACW,SAAS,EAAE,CAAC,MAAM,EAClB,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAErC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAH3B,WAAM,GAAN,MAAM,CAAY;QAClB,SAAI,GAAJ,IAAI,CAAwB;QAGrC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,+DAA+D;IACrG,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI;QAC5C,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAa,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ;QACrC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU;IAC7F,CAAC;IAEQ,SAAS,CAAC,CAA4B,EAAE,CAAS,EAAE,KAAa,EAAE,MAAc;QACvF,IAAI,CAAC,KAAK,SAAS,EAAE;YACnB,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;YAC7C,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;SAC7C;aAAM;YACL,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;SACrC;IACH,CAAC;CAEF;AAID,MAAM,OAAO,YAAa,SAAQ,cAAc;IAO3B;IAAwB;IAA6B;IAA6B;IANrG;;;;;OAKG;IACH,YAAmB,QAAQ,CAAC,CAAC,KAAK,EAAS,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,EAAS,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,EAAS,UAAU,CAAC,CAAC,KAAK,EAAE,EAAa;QACnI,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QADhC,UAAK,GAAL,KAAK,CAAU;QAAS,SAAI,GAAJ,IAAI,CAAgB;QAAS,SAAI,GAAJ,IAAI,CAAgB;QAAS,YAAO,GAAP,OAAO,CAAU;QAEpH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,qCAAqC;QAC7D,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,KAAa,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;QAC9B,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7C,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,OAAO,CAAC,CAAC;IACX,CAAC;IAEQ,SAAS,CAAC,CAA4B,EAAE,CAAS,EAAE,KAAa,EAAE,MAAc;QACvF,IAAI,CAAC,KAAK,SAAS,EAAE;YACnB,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;SACrE;aAAM;YACL,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;SACrC;IACH,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,WAAY,SAAQ,YAAY;IAC3C,YAAY,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,EAAa;QAChF,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IACtC,CAAC;CACF;AAGD,sDAAsD;AACtD,MAAM,OAAO,SAAU,SAAQ,cAAc;IAsClC;IACA;IAtCT,uFAAuF;IACvF,6BAA6B;IAC7B,IAAI;IAEJ,+FAA+F;IAC/F,iCAAiC;IACjC,IAAI;IAEJ,MAAM;IACN,kDAAkD;IAClD,qBAAqB;IACrB,uEAAuE;IACvE,mDAAmD;IACnD,cAAc;IACd,MAAM;IACN,gEAAgE;IAChE,4CAA4C;IAC5C,sCAAsC;IACtC,qDAAqD;IACrD,gFAAgF;IAChF,IAAI;IAEJ,qBAAqB;IACrB,sDAAsD;IACtD,yDAAyD;IACzD,KAAK,CAAO;IACZ,KAAK,GAAG,CAAC,CAAC;IAEV;;;;;;OAMG;IACH,YACE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAiE,EAC7G,QAAQ,CAAC,CAAC,KAAK,EACf,UAAU,CAAC,CAAC,KAAK,EACxB,EAAa;QAEb,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAe,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAJlD,UAAK,GAAL,KAAK,CAAU;QACf,YAAO,GAAP,OAAO,CAAU;QAIxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,6BAA6B;IACxD,CAAC;IAED,yEAAyE;IACzE,UAAU,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,EAAiC;QAClI,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAA;QAC5B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;IAC7B,CAAC;IAEQ,SAAS,CAAC,CAA4B,EAAE,CAAS,EAAE,KAAa,EAAE,MAAc;QACvF,IAAI,CAAC,KAAK,SAAS,EAAE;YACnB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YACrB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;SACnC;aAAM;YACL,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA,CAAC,8BAA8B;SACpE;IACH,CAAC;IAED,KAAK,CAAC,KAAa,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;QAC9B,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAClC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE;YACpB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAClB;aAAM;YACL,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7B,sEAAsE;SACvE;QACD,OAAO,CAAC,CAAC;IACX,CAAC;CACF;AAGD,qDAAqD;AACrD,MAAM,OAAO,SAAU,SAAQ,QAAQ;IACrC,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC,CAAA,yBAAyB;IAE3D,YAAY,MAAe,EAAE,IAAa;QACxC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,0BAA0B;QAC/C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;IACxB,CAAC;IAED,WAAW,CAAC,MAAc,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM;QAC1C,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,UAAU,EAAE,CAAC;;YAChC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAe,iCAAiC;QACxE,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACxB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAO,iBAAiB;QACtD,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,iCAAiC;QACtE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAQ,6BAA6B;QAClE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAK,uBAAuB;QAC5D,OAAO,CAAC,CAAC;IACX,CAAC;IAEQ,OAAO,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACnD,0FAA0F;IAC1F,KAAK,CAAC,MAAc,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,IAAI,QAAQ,EAAE,EAAE,YAAY,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,QAAQ,EAAE;QACnH,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,kCAAkC;QAChG,MAAM,SAAS,GAAG,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;IAC3B,CAAC;;AAGH,MAAM,OAAO,SAAU,SAAQ,KAAK;IAClC,IAAI,CAAQ;IACZ,QAAQ,CAAC,GAAU;QACjB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC;QACpD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,qEAAqE;QAClG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;CACF;AAED,qFAAqF;AACrF;;;GAGG;AACH,MAAM,OAAO,UAAW,SAAQ,SAAS;IACvC,mEAAmE;IACnE,SAAS,GAAc,IAAI,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACpF,8DAA8D;IAC9D,KAAK,CAAO;IAEZ,OAAO,CAAS;IAChB,oEAAoE;IACpE,IAAI,MAAM,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACrC,IAAI,MAAM,CAAC,CAAS,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;IAE3C,OAAO,CAAS;IAChB,8CAA8C;IAC9C,IAAI,MAAM,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACrC,IAAI,MAAM,CAAC,EAAU;QACnB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC;QAClD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IAClC,CAAC;IACD,wCAAwC;IACxC,IAAI,UAAU,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5C,IAAI,UAAU,CAAC,GAAuB;QACpC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAa,CAAC;QAChC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAClC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;;OAOG;IACH,YAAY,KAAa,EAAE,KAAW,EAAE,MAAM,GAAG,EAAE,EAAE,MAAM,GAAG,CAAC,EAAE,GAAS;QACxE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAe,yBAAyB;QAC7D,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,4CAA4C;QAChF,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAQ,8BAA8B;QAClE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,0EAA0E;IAC1E,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK;QAChD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACrB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,0DAA0D;IAC1D,UAAU;QACR,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC1F,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC;QACtF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,UAAU;QACR,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,8BAA8B;IACtE,CAAC;IAED,6EAA6E;IAC7E,4CAA4C;IACnC,SAAS,CAAC,CAA4B,EAAE,CAAS,EAAE,KAAa,EAAE,MAAc;QACvF,IAAI,CAAC,KAAK,SAAS,EAAE;YACnB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAChE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,qBAAqB;YAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5B,IAAI,MAAM;gBAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,+BAA+B;SACpE;aAAM;YACL,KAAK,CAAC,SAAS,CAAC,CAAkB,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;SACvD;IACH,CAAC;CACF;AAED,4DAA4D;AAC5D,+CAA+C;AAC/C,MAAM,OAAO,UAAW,SAAQ,UAAU;IAWQ;IAAiC;IATjF;;;;;;;;OAQG;IACH,YAAY,KAAa,EAAE,IAAY,EAAS,WAAW,EAAE,CAAC,MAAM,GAAG,CAAC,EAAS,YAAY,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,EAAE,GAAS;QAC1H,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACxD,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;QAFW,aAAQ,GAAR,QAAQ,CAAgB;QAAS,cAAS,GAAT,SAAS,CAAU;IAGpG,CAAC;IAED;;;;;;;;;;OAUG;IACH,UAAU,CAAC,KAAkB,EAAE,QAAa,IAAI,EAAE,IAAI,GAAG,KAAK;QAC5D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAA;QACxC,4EAA4E;QAC5E,qEAAqE;QACrE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;IACjC,CAAC;CACF"}
@@ -15,28 +15,33 @@ export type PlayerColorRecord<T> = Record<PlayerColor, T>;
15
15
  /** @return \{ pc0: arg0 as T, pc1: arg1 as T, ...}: PlayerColorRecord\<T> */
16
16
  export declare function playerColorRecord<T>(...args: T[]): PlayerColorRecord<T>;
17
17
  export declare function playerColorRecordF<T>(f: (sc: PlayerColor) => T): PlayerColorRecord<T>;
18
- /** OR: import { Params } from "@angular/router"; */
18
+ /** 'Object' OR: import { Params } from "@angular/router"; */
19
19
  declare type Params = Record<string, any>;
20
20
  export declare class TP {
21
+ /** compose a URL of form wss://host.domain:port/path.
22
+ *
23
+ * @param scheme ['wss']
24
+ * @param host [TP.ghost]
25
+ * @param domain [TP.gdomain]
26
+ * @param port [TP.gport]
27
+ * @param path [''] supply your own '/' and any query part
28
+ */
21
29
  static buildURL(scheme?: string, host?: string, domain?: string, port?: number, path?: string): string;
30
+ /** return OwnPropertyNames that are NOT also in Object (ie: length, name, prototype) */
22
31
  static staticFields(over?: Params): string[];
23
- /** called by framework before TP is used; put your overrides here.
24
- * @param qParams source of the new values (TP-local)
25
- * @param force true to apply exact value, if new key or new type.
26
- * @param over the target in which to set the values from qParams (TPLib)
27
- */
28
- static setParams(qParams?: Params, force?: boolean, over?: Params): void;
29
32
  /**
30
- * After pushing all values from local subclass of TP into base TP,
31
- * delete them, so there is only the one copy in original base class: TP (from hexlib)
32
- * Local references should still get/set values in the base object.
33
+ * If local field is present in tplib, set local value in tplib, and delete it from local.
34
+ *
35
+ * So hexlib methods will see and use the value as TP.field
33
36
  *
34
- * This way, tsc still sees local TP for type safety,
35
- * but there is a single object for updates using Chooser.
37
+ * If tplib value is a number and local value is a string, try coerce using parseInt()
36
38
  *
37
- * @param local the locally created subclass of TP with static fields
39
+ * @param local source of the new values (typically TP-local or {...})
40
+ * @param force [false] if true, do not attempt to coerce value with parseInt().
41
+ * @param tplib [TP-lib] the target in which to set the values from local.
42
+ * @return local with tplib values removed
38
43
  */
39
- static eraseLocal(local: Params): void;
44
+ static setParams(local?: Params, force?: boolean, tplib?: Params): Params;
40
45
  /** the current map from PlayerColor to colorn */
41
46
  static colorScheme: PlayerColorRecord<string>;
42
47
  static useEwTopo: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"table-params.d.ts","sourceRoot":"","sources":["../src/table-params.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,eAAe,qBAAsB,CAAA;AAC3C,eAAO,MAAM,YAAY,eAA2B,CAAC;AACrD;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AAGzD,eAAO,MAAM,YAAY,WAAkB,CAAA;AAC3C,eAAO,MAAM,YAAY,WAAkB,CAAA;AAE3C,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,CAAgE;AAE3H,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;AACzD,6EAA6E;AAC7E,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,wBAIhD;AACD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,CAAC,wBAE9D;AAKD,oDAAoD;AACpD,OAAO,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE1C,qBAAa,EAAE;IACb,MAAM,CAAC,QAAQ,CAAC,MAAM,SAAQ,EAAE,IAAI,SAAW,EAAE,MAAM,SAAa,EAAE,IAAI,SAAW,EAAE,IAAI,SAAK,GAAG,MAAM;IAGzG,MAAM,CAAC,YAAY,CAAC,IAAI,SAAiB;IAKzC;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,OAAO,GAAE,MAAW,EAAE,KAAK,UAAQ,EAAE,IAAI,SAAiB;IAa3E;;;;;;;;;OASG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM;IAM/B,iDAAiD;IACjD,MAAM,CAAC,WAAW,4BAAwC;IAC1D,MAAM,CAAC,SAAS,UAAQ;IACxB,MAAM,CAAC,UAAU,SAAK;IACtB,MAAM,CAAC,WAAW,UAAQ;IAC1B,MAAM,CAAC,YAAY,SAAM;IACzB,MAAM,CAAC,GAAG,SAAK;IAEf,MAAM,CAAC,UAAU,SAAK;IACtB,MAAM,CAAC,UAAU,SAAK;IACtB,MAAM,CAAC,OAAO,EAAC,MAAM,CAAK;IAC1B,MAAM,CAAC,OAAO,EAAC,MAAM,CAAM;IAC3B,MAAM,CAAC,MAAM,SAAK;IAClB,MAAM,CAAC,MAAM,SAAK;IAElB,MAAM,CAAC,eAAe,EAAE,MAAM,EAAE,CAAM;IACtC,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAGvC,MAAM,CAAC,SAAS,EAAG,MAAM,CAAM;IAC/B,MAAM,CAAC,UAAU,EAAE,MAAM,CAAM;IAC/B,MAAM,CAAC,SAAS,EAAG,MAAM,CAAM;IAE/B,MAAM,CAAC,OAAO,EAAE,MAAM,CAA6B;IACnD,MAAM,CAAC,MAAM;;;;;MAA2C;IAExD,MAAM,CAAC,KAAK,EAAE,MAAM,CAAU;IAC9B,MAAM,CAAC,OAAO,EAAE,MAAM,CAAiB;IACvC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAO;IAC3B,MAAM,CAAC,UAAU,EAAE,MAAM,CAAiB;IAC1C,MAAM,CAAC,YAAY,EAAE,MAAM,CAAiB;IAE5C,MAAM,CAAC,OAAO,EAAE,MAAM,CAAM;IAC5B,MAAM,CAAC,YAAY,EAAE,MAAM,CAAM;IAEjC,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAQ;IAEzC,MAAM,CAAC,MAAM,SAAM;IACnB,MAAM,CAAC,SAAS,SAAM;IACtB,MAAM,CAAC,QAAQ,SAAM;IAGrB,MAAM,CAAC,OAAO,SAAK;IACnB,MAAM,CAAC,UAAU,SAAK;CACvB"}
1
+ {"version":3,"file":"table-params.d.ts","sourceRoot":"","sources":["../src/table-params.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,eAAe,qBAAsB,CAAA;AAC3C,eAAO,MAAM,YAAY,eAA2B,CAAC;AACrD;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AAGzD,eAAO,MAAM,YAAY,WAAkB,CAAA;AAC3C,eAAO,MAAM,YAAY,WAAkB,CAAA;AAE3C,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,CAAgE;AAE3H,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;AACzD,6EAA6E;AAC7E,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,wBAIhD;AACD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,CAAC,wBAE9D;AAED,6DAA6D;AAC7D,OAAO,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE1C,qBAAa,EAAE;IACb;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAM,SAAQ,EAAE,IAAI,SAAW,EAAE,MAAM,SAAa,EAAE,IAAI,SAAW,EAAE,IAAI,SAAK,GAAG,MAAM;IAGzG,wFAAwF;IACxF,MAAM,CAAC,YAAY,CAAC,IAAI,SAAiB;IAKzC;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,GAAE,MAAW,EAAE,KAAK,UAAQ,EAAE,KAAK,SAAiB;IAc1E,iDAAiD;IACjD,MAAM,CAAC,WAAW,4BAAwC;IAC1D,MAAM,CAAC,SAAS,UAAQ;IACxB,MAAM,CAAC,UAAU,SAAK;IACtB,MAAM,CAAC,WAAW,UAAQ;IAC1B,MAAM,CAAC,YAAY,SAAM;IACzB,MAAM,CAAC,GAAG,SAAK;IAEf,MAAM,CAAC,UAAU,SAAK;IACtB,MAAM,CAAC,UAAU,SAAK;IACtB,MAAM,CAAC,OAAO,EAAC,MAAM,CAAK;IAC1B,MAAM,CAAC,OAAO,EAAC,MAAM,CAAM;IAC3B,MAAM,CAAC,MAAM,SAAK;IAClB,MAAM,CAAC,MAAM,SAAK;IAElB,MAAM,CAAC,eAAe,EAAE,MAAM,EAAE,CAAM;IACtC,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAGvC,MAAM,CAAC,SAAS,EAAG,MAAM,CAAM;IAC/B,MAAM,CAAC,UAAU,EAAE,MAAM,CAAM;IAC/B,MAAM,CAAC,SAAS,EAAG,MAAM,CAAM;IAE/B,MAAM,CAAC,OAAO,EAAE,MAAM,CAA6B;IACnD,MAAM,CAAC,MAAM;;;;;MAA2C;IAExD,MAAM,CAAC,KAAK,EAAE,MAAM,CAAU;IAC9B,MAAM,CAAC,OAAO,EAAE,MAAM,CAAiB;IACvC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAO;IAC3B,MAAM,CAAC,UAAU,EAAE,MAAM,CAAiB;IAC1C,MAAM,CAAC,YAAY,EAAE,MAAM,CAAiB;IAE5C,MAAM,CAAC,OAAO,EAAE,MAAM,CAAM;IAC5B,MAAM,CAAC,YAAY,EAAE,MAAM,CAAM;IAEjC,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAQ;IAEzC,MAAM,CAAC,MAAM,SAAM;IACnB,MAAM,CAAC,SAAS,SAAM;IACtB,MAAM,CAAC,QAAQ,SAAM;IAGrB,MAAM,CAAC,OAAO,SAAK;IACnB,MAAM,CAAC,UAAU,SAAK;CACvB"}