aontu 0.1.1 → 0.3.0

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/lib/val.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  /* Copyright (c) 2021 Richard Rodger, MIT License */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.PrefVal = exports.RefVal = exports.DisjunctVal = exports.ConjunctVal = exports.MapVal = exports.IntegerVal = exports.BooleanVal = exports.StringVal = exports.NumberVal = exports.ScalarTypeVal = exports.Nil = exports.TOP = exports.Val = exports.Integer = exports.DONE = void 0;
4
+ exports.PrefVal = exports.RefVal = exports.DisjunctVal = exports.ConjunctVal = exports.ListVal = exports.MapVal = exports.IntegerVal = exports.BooleanVal = exports.StringVal = exports.NumberVal = exports.ScalarTypeVal = exports.Nil = exports.TOP = exports.Val = exports.Integer = exports.DONE = void 0;
5
5
  // TODO: infinite recursion protection
6
6
  // NOTES
7
7
  // - Vals are immutable
@@ -33,20 +33,6 @@ const TOP = {
33
33
  url: '',
34
34
  unify(peer, _ctx) {
35
35
  return peer;
36
- /*
37
- if (peer instanceof DisjunctVal) {
38
- return peer.unify(this, ctx)
39
- }
40
- else if (peer instanceof ConjunctVal) {
41
- return peer.unify(this, ctx)
42
- }
43
- else if (peer instanceof RefVal) {
44
- return peer.unify(this, ctx)
45
- }
46
- else {
47
- return peer
48
- }
49
- */
50
36
  },
51
37
  get canon() { return 'top'; },
52
38
  get site() { return new lang_1.Site(this); },
@@ -173,6 +159,7 @@ class ScalarVal extends Val {
173
159
  this.done = DONE;
174
160
  }
175
161
  unify(peer, ctx) {
162
+ // Exactly equal scalars are handled in op/unite
176
163
  if (peer instanceof ScalarTypeVal) {
177
164
  return peer.unify(this, ctx);
178
165
  }
@@ -375,6 +362,87 @@ class MapVal extends Val {
375
362
  }
376
363
  exports.MapVal = MapVal;
377
364
  MapVal.SPREAD = Symbol('spread');
365
+ class ListVal extends Val {
366
+ constructor(peg, ctx) {
367
+ super(peg, ctx);
368
+ this.spread = {
369
+ cj: undefined,
370
+ };
371
+ let spread = this.peg[ListVal.SPREAD];
372
+ delete this.peg[ListVal.SPREAD];
373
+ if (spread) {
374
+ if ('&' === spread.o) {
375
+ // TODO: handle existing spread!
376
+ this.spread.cj =
377
+ new ConjunctVal(Array.isArray(spread.v) ? spread.v : [spread.v], ctx);
378
+ }
379
+ }
380
+ }
381
+ // NOTE: order of keys is not preserved!
382
+ // not possible in any case - consider {a,b} unify {b,a}
383
+ unify(peer, ctx) {
384
+ let done = true;
385
+ let out = TOP === peer ? this : new ListVal([], ctx);
386
+ out.spread.cj = this.spread.cj;
387
+ if (peer instanceof ListVal) {
388
+ out.spread.cj = null == out.spread.cj ? peer.spread.cj : (null == peer.spread.cj ? out.spread.cj : (out.spread.cj = new ConjunctVal([out.spread.cj, peer.spread.cj], ctx)));
389
+ }
390
+ out.done = this.done + 1;
391
+ if (this.spread.cj) {
392
+ out.spread.cj =
393
+ DONE !== this.spread.cj.done ? (0, op_1.unite)(ctx, this.spread.cj) :
394
+ this.spread.cj;
395
+ }
396
+ let spread_cj = out.spread.cj || TOP;
397
+ // Always unify children first
398
+ for (let key in this.peg) {
399
+ out.peg[key] =
400
+ (0, op_1.unite)(ctx.descend(key), this.peg[key], spread_cj);
401
+ done = (done && DONE === out.peg[key].done);
402
+ }
403
+ if (peer instanceof ListVal) {
404
+ let upeer = (0, op_1.unite)(ctx, peer);
405
+ for (let peerkey in upeer.peg) {
406
+ let peerchild = upeer.peg[peerkey];
407
+ let child = out.peg[peerkey];
408
+ let oval = out.peg[peerkey] =
409
+ undefined === child ? peerchild :
410
+ child instanceof Nil ? child :
411
+ peerchild instanceof Nil ? peerchild :
412
+ (0, op_1.unite)(ctx.descend(peerkey), child, peerchild);
413
+ if (this.spread.cj) {
414
+ out.peg[peerkey] = (0, op_1.unite)(ctx, out.peg[peerkey], spread_cj);
415
+ }
416
+ done = (done && DONE === oval.done);
417
+ }
418
+ }
419
+ else if (TOP !== peer) {
420
+ return Nil.make(ctx, 'map', this, peer);
421
+ }
422
+ out.done = done ? DONE : out.done;
423
+ return out;
424
+ }
425
+ get canon() {
426
+ let keys = Object.keys(this.peg);
427
+ return '[' +
428
+ (this.spread.cj ? '&:' + this.spread.cj.canon +
429
+ (0 < keys.length ? ',' : '') : '') +
430
+ keys
431
+ // NOTE: handle array non-index key vals
432
+ // .map(k => [JSON.stringify(k) + ':' + this.peg[k].canon]).join(',') +
433
+ .map(k => [this.peg[k].canon]).join(',') +
434
+ ']';
435
+ }
436
+ gen(ctx) {
437
+ let out = this.peg.map((v) => v.gen(ctx));
438
+ // for (let p in this.peg) {
439
+ // out[p] = this.peg[p].gen(ctx)
440
+ // }
441
+ return out;
442
+ }
443
+ }
444
+ exports.ListVal = ListVal;
445
+ ListVal.SPREAD = Symbol('spread');
378
446
  // TODO: move main logic to op/conjunct
379
447
  class ConjunctVal extends Val {
380
448
  constructor(peg, ctx) {
@@ -546,18 +614,11 @@ class DisjunctVal extends Val {
546
614
  }
547
615
  exports.DisjunctVal = DisjunctVal;
548
616
  class RefVal extends Val {
549
- // constructor(peg: string | string[], ctx?: Context) {
550
- // super(peg, ctx)
551
- // this.parts = 'string' === typeof peg ? peg.split(this.sep) : peg
552
- // this.parts = this.parts.filter(p => '' != p)
553
- // // this.absolute = peg.startsWith(this.sep)
554
- // }
555
617
  constructor(peg, abs) {
556
618
  super('');
557
- this.sep = '.'; // was '/'
619
+ this.sep = '.';
558
620
  this.absolute = true === abs;
559
621
  this.parts = [];
560
- // console.log('RV', peg)
561
622
  for (let part of peg) {
562
623
  this.append(part);
563
624
  }
@@ -577,7 +638,6 @@ class RefVal extends Val {
577
638
  }
578
639
  }
579
640
  this.peg = (this.absolute ? this.sep : '') + this.parts.join(this.sep);
580
- // console.log('APPEND 1', this.parts)
581
641
  }
582
642
  unify(peer, ctx) {
583
643
  let resolved = null == ctx ? this : ctx.find(this);
@@ -585,11 +645,9 @@ class RefVal extends Val {
585
645
  resolved = null == resolved && 999 < this.done ?
586
646
  Nil.make(ctx, 'no-path', this, peer) : (resolved || this);
587
647
  let out;
588
- // console.log('RV', this.id, this.done, this.canon, peer.canon, !!resolved, resolved instanceof RefVal, resolved && resolved.canon)
589
648
  if (resolved instanceof RefVal) {
590
649
  if (TOP === peer) {
591
650
  out = this;
592
- //out = new RefVal(this.peg, ctx)
593
651
  }
594
652
  else if (peer instanceof Nil) {
595
653
  out = Nil.make(ctx, 'ref[' + this.peg + ']', this, peer);
@@ -601,8 +659,6 @@ class RefVal extends Val {
601
659
  }
602
660
  }
603
661
  else {
604
- //console.log('RVr', resolved.canon, peer.canon)
605
- //out = resolved.unify(peer, ctx)
606
662
  out = (0, op_1.unite)(ctx, resolved, peer);
607
663
  }
608
664
  out.done = DONE === out.done ? DONE : this.done + 1;
@@ -622,30 +678,17 @@ class PrefVal extends Val {
622
678
  this.pref = pref || peg;
623
679
  }
624
680
  // PrefVal unify always returns a PrefVal
625
- // PrevVals can only be removed by becoming Nil in a Disjunct
681
+ // PrefVals can only be removed by becoming Nil in a Disjunct
626
682
  unify(peer, ctx) {
627
683
  let done = true;
628
- //let peer_peg = peer instanceof PrefVal ? peer.peg : peer
629
- //let peer_pref = peer instanceof PrefVal ? peer.pref : peer
630
684
  let out;
631
- /*
632
- = new PrefVal(
633
- this.peg.unify(peer_peg, ctx),
634
- this.pref.unify(peer_pref, ctx),
635
- ctx
636
- )
637
- */
638
685
  if (peer instanceof PrefVal) {
639
- out = new PrefVal(
640
- //this.peg.unify(peer.peg, ctx),
641
- //this.pref.unify(peer.pref, ctx),
642
- (0, op_1.unite)(ctx, this.peg, peer.peg), (0, op_1.unite)(ctx, this.pref, peer.pref), ctx);
686
+ out = new PrefVal((0, op_1.unite)(ctx, this.peg, peer.peg, 'Pref000'), (0, op_1.unite)(ctx, this.pref, peer.pref, 'Pref010'), ctx);
643
687
  }
644
688
  else {
645
689
  out = new PrefVal(
646
- //this.peg.unify(peer, ctx),
647
- //this.pref.unify(peer, ctx),
648
- (0, op_1.unite)(ctx, this.peg, peer), (0, op_1.unite)(ctx, this.pref, peer), ctx);
690
+ // TODO: find a better way to drop Nil non-errors
691
+ (0, op_1.unite)(ctx === null || ctx === void 0 ? void 0 : ctx.clone({ err: [] }), this.peg, peer, 'Pref020'), (0, op_1.unite)(ctx === null || ctx === void 0 ? void 0 : ctx.clone({ err: [] }), this.pref, peer, 'Pref030'), ctx);
649
692
  }
650
693
  done = done && DONE === out.peg.done &&
651
694
  (null != out.pref ? DONE === out.pref.done : true);
@@ -1 +1 @@
1
- {"version":3,"file":"val.js","sourceRoot":"","sources":["../../lib/val.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAEpD,sCAAsC;AAGtC,QAAQ;AACR,uBAAuB;AACvB,sEAAsE;AACtE,sCAAsC;AAItC;;;;;;;;EAQE;AAGF,mCAEgB;AAGhB,iCAEe;AAGf,gCAEgB;AAKhB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAA;AAg3Bb,oBAAI;AA52BN,yBAAyB;AACzB,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,CAAC;IACL,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,EAAE;IACR,GAAG,EAAE,CAAC,CAAC;IACP,GAAG,EAAE,CAAC,CAAC;IACP,GAAG,EAAE,EAAE;IAEP,KAAK,CAAC,IAAS,EAAE,IAAa;QAC5B,OAAO,IAAI,CAAA;QAEX;;;;;;;;;;;;;UAaE;IACJ,CAAC;IAED,IAAI,KAAK,KAAK,OAAO,KAAK,CAAA,CAAC,CAAC;IAE5B,IAAI,IAAI,KAAK,OAAO,IAAI,WAAI,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC;IAEpC,IAAI,CAAC,IAAS;QACZ,OAAO,GAAG,KAAK,IAAI,CAAA;IACrB,CAAC;IAED,GAAG,EAAE,CAAC,IAAc,EAAE,EAAE;QACtB,OAAO,SAAS,CAAA;IAClB,CAAC;CAEF,CAAA;AAq0BC,kBAAG;AAj0BL,MAAe,GAAG;IAiBhB,YAAY,GAAS,EAAE,GAAa;QAfpC,SAAI,GAAW,CAAC,CAAA;QAEhB,QAAG,GAAW,CAAC,CAAC,CAAA;QAChB,QAAG,GAAW,CAAC,CAAC,CAAA;QAChB,QAAG,GAAW,EAAE,CAAA;QAYd,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;QACnC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC1E,CAAC;IAED,IAAI,CAAC,IAAS;QACZ,OAAO,IAAI,KAAK,IAAI,CAAA;IACtB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,WAAI,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;CAOF;AA4xBC,kBAAG;AAxxBL,MAAM,GAAI,SAAQ,GAAG;IA8CnB,YAAY,GAAS,EAAE,GAAa;QAClC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QA9ClB,QAAG,GAAG,IAAI,CAAA;QA+CR,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QAEd,qCAAqC;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,KAAU,EAAE,IAAa;QAC7B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,KAAK;QACP,OAAO,KAAK,CAAA;IACd,CAAC;IAED,GAAG,CAAC,IAAc;QAChB,OAAO,SAAS,CAAA;IAClB,CAAC;;AA0tBD,kBAAG;AApxBH,sDAAsD;AAC/C,QAAI,GAAG,CAAC,GAAa,EAAE,GAAS,EAAE,EAAQ,EAAE,EAAQ,EAAE,EAAE;IAC7D,IAAI,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAE3B,uDAAuD;IAEvD,sEAAsE;IACtE,IAAI,IAAI,IAAI,EAAE,EAAE;QACd,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAA;QAChB,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAA;QAChB,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAA;QAEhB,GAAG,CAAC,OAAO,GAAG,EAAE,CAAA;QAEhB,IAAI,IAAI,IAAI,EAAE,EAAE;YACd,GAAG,CAAC,SAAS,GAAG,EAAE,CAAA;YAElB,IAAI,WAAW,GACb,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,CACtB,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC;gBAClB,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,CACzC,CAAA;YAEH,IAAI,WAAW,EAAE;gBACf,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAA;gBAChB,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAA;gBAChB,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAA;gBAChB,GAAG,CAAC,OAAO,GAAG,EAAE,CAAA;gBAChB,GAAG,CAAC,SAAS,GAAG,EAAE,CAAA;aACnB;SACF;KACF;IAED,IAAI,GAAG,EAAE;QACP,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;KAClB;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAwBH,qDAAqD;AACrD,MAAM,OAAO;CAAI;AAktBf,0BAAO;AAvsBT,MAAM,aAAc,SAAQ,GAAG;IAC7B,YAAY,GAAsB,EAAE,GAAa;QAC/C,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,IAAS,EAAE,GAAY;QAC3B,IAAI,IAAI,YAAY,SAAS,EAAE;YAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,EAAE;gBAC1B,OAAO,IAAI,CAAA;aACZ;iBACI,IAAI,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,OAAO,KAAK,IAAI,CAAC,IAAI,EAAE;gBACrD,OAAO,IAAI,CAAA;aACZ;YACD,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;SACpD;aACI;YACH,IAAI,IAAI,YAAY,aAAa,EAAE;gBACjC,IAAI,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,OAAO,KAAK,IAAI,CAAC,GAAG,EAAE;oBAC/C,OAAO,IAAI,CAAA;iBACZ;qBACI,IAAI,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,OAAO,KAAK,IAAI,CAAC,GAAG,EAAE;oBACpD,OAAO,IAAI,CAAA;iBACZ;aACF;YACD,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;SAChD;IACH,CAAC;IAED,IAAI,KAAK;QACP,IAAI,IAAI,GAAI,IAAI,CAAC,GAAW,CAAA;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;IAChC,CAAC;IAED,IAAI,CAAC,IAAS;QACZ,OAAO,IAAI,YAAY,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACjF,CAAC;IAED,GAAG,CAAC,IAAc;QAChB,OAAO,SAAS,CAAA;IAClB,CAAC;CAEF;AAiqBC,sCAAa;AA9pBf,MAAM,SAAa,SAAQ,GAAG;IAE5B,YAAY,GAAM,EAAE,IAAuB,EAAE,GAAa;QACxD,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IACD,KAAK,CAAC,IAAS,EAAE,GAAY;QAC3B,IAAI,IAAI,YAAY,aAAa,EAAE;YACjC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;SAC7B;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAC5C,CAAC;IACD,IAAI,KAAK;QACP,OAAQ,IAAI,CAAC,GAAW,CAAC,QAAQ,EAAE,CAAA;IACrC,CAAC;IACD,IAAI,CAAC,IAAS;QACZ,OAAO,IAAI,YAAY,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC7E,CAAC;IAED,GAAG,CAAC,IAAc;QAChB,OAAO,IAAI,CAAC,GAAG,CAAA;IACjB,CAAC;CACF;AAGD,MAAM,SAAU,SAAQ,SAAiB;IACvC,YAAY,GAAW,EAAE,GAAa;QACpC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;IACzB,CAAC;IACD,KAAK,CAAC,IAAS,EAAE,GAAY;QAC3B,IAAI,IAAI,YAAY,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YACtD,OAAO,IAAI,CAAA;SACZ;aACI;YACH,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;SAC9B;IACH,CAAC;CACF;AAynBC,8BAAS;AAtnBX,MAAM,UAAW,SAAQ,SAAiB;IACxC,YAAY,GAAW,EAAE,GAAa;QACpC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YAC1B,iBAAiB;YACjB,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA;SAC/B;QACD,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;IAC1B,CAAC;IACD,KAAK,CAAC,IAAS,EAAE,GAAY;QAC3B,IAAI,IAAI,YAAY,aAAa,IAAI,IAAI,CAAC,GAAG,KAAK,MAAM,EAAE;YACxD,OAAO,IAAI,CAAA;SACZ;aACI,IAAI,IAAI,YAAY,SAAS;YAChC,IAAI,CAAC,IAAI,KAAK,MAAM;YACpB,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE;YACvB,OAAO,IAAI,CAAA;SACZ;aACI;YACH,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;SAC9B;IACH,CAAC;CACF;AAomBC,gCAAU;AAjmBZ,MAAM,SAAU,SAAQ,SAAiB;IACvC,YAAY,GAAW,EAAE,GAAa;QACpC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;IACzB,CAAC;IACD,KAAK,CAAC,IAAS,EAAE,GAAY;QAC3B,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC/B,CAAC;IACD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACjC,CAAC;CAEF;AAolBC,8BAAS;AAjlBX,MAAM,UAAW,SAAQ,SAAkB;IACzC,YAAY,GAAY,EAAE,GAAa;QACrC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;IAC1B,CAAC;IACD,KAAK,CAAC,IAAS,EAAE,GAAY;QAC3B,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC/B,CAAC;;AA4kBD,gCAAU;AA1kBH,eAAI,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,IAAI,eAAO,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;AAC9D,gBAAK,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE,IAAI,eAAO,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;AAOzE,MAAM,MAAO,SAAQ,GAAG;IAOtB,YAAY,GAAW,EAAE,GAAa;QACpC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QALjB,WAAM,GAAG;YACP,EAAE,EAAG,SAA6B;SACnC,CAAA;QAKC,IAAI,MAAM,GAAI,IAAI,CAAC,GAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC7C,OAAQ,IAAI,CAAC,GAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,MAAM,EAAE;YACV,IAAI,GAAG,KAAK,MAAM,CAAC,CAAC,EAAE;gBACpB,gCAAgC;gBAChC,IAAI,CAAC,MAAM,CAAC,EAAE;oBACZ,IAAI,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;aACxE;SACF;IACH,CAAC;IAED,wCAAwC;IACxC,wDAAwD;IACxD,KAAK,CAAC,IAAS,EAAE,GAAY;QAC3B,IAAI,IAAI,GAAY,IAAI,CAAA;QACxB,IAAI,GAAG,GAAW,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QAE3D,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA;QAE9B,IAAI,IAAI,YAAY,MAAM,EAAE;YAC1B,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CACvD,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CACvC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CACtE,CACF,CAAA;SACF;QAGD,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;QAExB,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;YAClB,iBAAiB;YACjB,mEAAmE;YACnE,oBAAoB;YACpB,GAAG,CAAC,MAAM,CAAC,EAAE;gBACX,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,UAAK,EAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;oBACzD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA;SAEnB;QAGD,eAAe;QACf,oCAAoC;QACpC,gDAAgD;QAChD,4CAA4C;QAC5C,iCAAiC;QACjC,+DAA+D;QAE/D,IAAI,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,GAAG,CAAA;QAEpC,8BAA8B;QAC9B,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE;YACxB,4EAA4E;YAC5E,YAAY;YAEZ,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;gBACV,IAAA,UAAK,EAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAA;YAEnD,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAA;YAE3C,4BAA4B;YAC5B,qBAAqB;YACrB,GAAG;SACJ;QAED,eAAe;QACf,oCAAoC;QACpC,gDAAgD;QAChD,4CAA4C;QAC5C,2BAA2B;QAC3B,2BAA2B;QAC3B,0BAA0B;QAC1B,IAAI;QAEJ,IAAI,IAAI,YAAY,MAAM,EAAE;YAC1B,sDAAsD;YACtD,IAAI,KAAK,GAAY,IAAA,UAAK,EAAC,GAAG,EAAE,IAAI,CAAY,CAAA;YAEhD,eAAe;YACf,oCAAoC;YACpC,gDAAgD;YAChD,yEAAyE;YAEzE,KAAK,IAAI,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE;gBAC7B,IAAI,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBAClC,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBAE5B,IAAI,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;oBACzB,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;wBAC/B,KAAK,YAAY,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;4BAC5B,SAAS,YAAY,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gCACpC,8CAA8C;gCAC9C,IAAA,UAAK,EAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;gBAErD,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;oBAClB,2DAA2D;oBAC3D,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,IAAA,UAAK,EAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAA;iBAC3D;gBAED,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAA;gBAEnC,IAAI,IAAI,YAAY,GAAG,EAAE;oBACvB,qBAAqB;iBACtB;aAEF;YAED,eAAe;YACf,oCAAoC;YACpC,gDAAgD;YAChD,yEAAyE;YAEzE,mCAAmC;YAEnC,gHAAgH;YAEhH,eAAe;YACf,oCAAoC;YACpC,8CAA8C;YAC9C,4CAA4C;YAC5C,2BAA2B;YAC3B,2BAA2B;YAC3B,0BAA0B;YAC1B,IAAI;SAGL;aACI,IAAI,GAAG,KAAK,IAAI,EAAE;YACrB,mCAAmC;YAEnC,4CAA4C;YAE5C,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;SACxC;QAED,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAA;QACjC,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,IAAI,KAAK;QACP,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAChC,OAAO,GAAG;YACR,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK;gBAC3C,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpC,IAAI;iBACD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YACpE,GAAG,CAAA;IACP,CAAC;IAED,GAAG,CAAC,GAAa;QACf,IAAI,GAAG,GAAQ,EAAE,CAAA;QACjB,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE;YACtB,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;SAC9B;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;;AA8ZD,wBAAM;AAnkBC,aAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;AAyKlC,uCAAuC;AACvC,MAAM,WAAY,SAAQ,GAAG;IAC3B,YAAY,GAAU,EAAE,GAAa;QACnC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACjB,CAAC;IAED,kBAAkB;IAClB,MAAM,CAAC,IAAS;QACd,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,IAAS,EAAE,GAAY;QAC3B,IAAI,IAAI,GAAG,IAAI,CAAA;QAEf,2CAA2C;QAC3C,IAAI,KAAK,GAAU,EAAE,CAAA;QAErB,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;YAC3C,4CAA4C;YAC5C,KAAK,CAAC,EAAE,CAAC,GAAG,IAAA,UAAK,EAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;YAC1C,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAA;YACtC,4EAA4E;YAE5E,IAAI,KAAK,CAAC,EAAE,CAAC,YAAY,GAAG,EAAE;gBAC5B,OAAO,GAAG,CAAC,IAAI,CACb,GAAG,EACH,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,EACnD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EACZ,IAAI,CACL,CAAA;aACF;SACF;QAED,gDAAgD;QAGhD,wDAAwD;QACxD,uBAAuB;QAEvB,yDAAyD;QACzD,8CAA8C;QAC9C,IAAI,OAAO,GAAU,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAEvD,IAAI,EAAE,GAAG,CAAC,CAAA;QACV,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;YACxC,0DAA0D;YAE1D,IAAI,OAAO,CAAC,EAAE,CAAC,YAAY,WAAW,EAAE;gBACtC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;gBACzC,EAAE,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAA;gBAC5B,IAAI,GAAG,KAAK,CAAA;aACb;iBACI;gBACH,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC7C,mCAAmC;oBACnC,IAAA,UAAK,EAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;gBACpC,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAA;gBAExC,gBAAgB;gBAChB,IAAI,OAAO,CAAC,EAAE,CAAC,YAAY,GAAG,EAAE;oBAC9B,OAAO,OAAO,CAAC,EAAE,CAAC,CAAA;oBAElB;;;;;;;sBAOE;iBACH;aACF;SACF;QAED,2DAA2D;QAE3D,IAAI,GAAQ,CAAA;QAEZ,cAAc;QAEd,IAAI,CAAC,KAAK,OAAO,CAAC,MAAM,EAAE;YACxB,qCAAqC;YAErC,6BAA6B;YAC7B,GAAG,GAAG,GAAG,CAAA;YACT,YAAY;SACb;QAED,iEAAiE;aAC5D,IAAI,CAAC,KAAK,OAAO,CAAC,MAAM,EAAE;YAC7B,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YAChB,YAAY;SACb;aACI;YACH,GAAG,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;YACnC,YAAY;SACb;QAED,qCAAqC;QAErC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;QAEtC,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,0EAA0E;IAC1E,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACpD,CAAC;IAED,GAAG,CAAC,GAAa;QACf,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;YAEvB,mDAAmD;YACnD,gCAAgC;YAChC,IAAI,CAAC,GAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YAGxB,IAAI,GAAG,GAAG,SAAS,CAAA;YACnB,IAAI,SAAS,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,EAAE;gBAC1C,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;aACjB;YACD,OAAO,GAAG,CAAA;SACX;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;CACF;AA2RC,kCAAW;AAvRb,uCAAuC;AACvC,MAAM,WAAY,SAAQ,GAAG;IAC3B,6EAA6E;IAC7E,YAAY,GAAU,EAAE,GAAa,EAAE,MAAe;QACpD,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACjB,CAAC;IAED,kBAAkB;IAClB,MAAM,CAAC,IAAS;QACd,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,IAAS,EAAE,GAAY;QAC3B,IAAI,IAAI,GAAG,IAAI,CAAA;QAEf,IAAI,IAAI,GAAU,EAAE,CAAA;QAEpB,6CAA6C;QAE7C,mDAAmD;QACnD,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;YAC3C,0CAA0C;YAC1C,IAAI,CAAC,EAAE,CAAC,GAAG,IAAA,UAAK,EAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;YACzC,0EAA0E;YAE1E,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAA;SACtC;QAED,8CAA8C;QAE9C,mCAAmC;QACnC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE;YACnB,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;gBACvC,IAAI,IAAI,CAAC,EAAE,CAAC,YAAY,WAAW,EAAE;oBACnC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;iBACpC;aACF;YAED,8CAA8C;YAE9C,0BAA0B;YAC1B,IAAI,MAAM,GAAG,IAAI,GAAG,EAAE,CAAA;YACtB,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;gBACvC,KAAK,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;oBAC5C,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE;wBAC3B,IAAI,CAAC,EAAE,CAAC,GAAG,MAAM,CAAA;qBAClB;iBACF;aACF;YAED,8CAA8C;YAE9C,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAA;SAC7C;QAED,IAAI,GAAQ,CAAA;QAEZ,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;YACpB,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;SACd;aACI,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;YACzB,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;SACtC;aACI;YACH,GAAG,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;SACjC;QAED,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;QAEtC,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACpD,CAAC;IACD,GAAG,CAAC,GAAa;QACf,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;YAEvB,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,YAAY,OAAO,CAAC,CAAA;YAE5D,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;YAE1C,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YAEjB,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;gBAC3C,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;aAC9B;YAED,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;SACpB;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;CACF;AA2LC,kCAAW;AAvLb,MAAM,MAAO,SAAQ,GAAG;IAKtB,uDAAuD;IACvD,oBAAoB;IACpB,qEAAqE;IACrE,iDAAiD;IACjD,gDAAgD;IAChD,IAAI;IAGJ,YAAY,GAAU,EAAE,GAAa;QACnC,KAAK,CAAC,EAAE,CAAC,CAAA;QAXX,QAAG,GAAG,GAAG,CAAA,CAAC,UAAU;QAYlB,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,GAAG,CAAA;QAC5B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;QAEf,yBAAyB;QAEzB,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE;YACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;SAClB;IACH,CAAC;IAGD,MAAM,CAAC,IAAS;QACd,+BAA+B;QAE/B,IAAI,QAAQ,KAAK,OAAO,IAAI,EAAE;YAC5B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SACtB;aAEI,IAAI,IAAI,YAAY,SAAS,EAAE;YAClC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SAC1B;aAEI,IAAI,IAAI,YAAY,MAAM,EAAE;YAC/B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;YAE9B,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;aACrB;SACF;QAED,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAEtE,sCAAsC;IACxC,CAAC;IAED,KAAK,CAAC,IAAS,EAAE,GAAY;QAC3B,IAAI,QAAQ,GAAoB,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEnE,4CAA4C;QAC5C,QAAQ,GAAG,IAAI,IAAI,QAAQ,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAA;QAC3D,IAAI,GAAQ,CAAA;QAEZ,oIAAoI;QAEpI,IAAI,QAAQ,YAAY,MAAM,EAAE;YAC9B,IAAI,GAAG,KAAK,IAAI,EAAE;gBAChB,GAAG,GAAG,IAAI,CAAA;gBACV,iCAAiC;aAClC;iBACI,IAAI,IAAI,YAAY,GAAG,EAAE;gBAC5B,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;aACzD;iBACI;gBACH,oCAAoC;gBACpC,IAAI,CAAC,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;gBACrD,GAAG,GAAG,IAAI,WAAW,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;aACzC;SACF;aACI;YACH,gDAAgD;YAEhD,iCAAiC;YACjC,GAAG,GAAG,IAAA,UAAK,EAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;SACjC;QAED,GAAG,CAAC,IAAI,GAAG,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;QAEnD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,GAAG,CAAA;IACjB,CAAC;IAED,GAAG,CAAC,IAAc;QAChB,OAAO,SAAS,CAAA;IAClB,CAAC;CACF;AA2FC,wBAAM;AAvFR,MAAM,OAAQ,SAAQ,GAAG;IAEvB,YAAY,GAAQ,EAAE,IAAU,EAAE,GAAa;QAC7C,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,GAAG,CAAA;IACzB,CAAC;IAED,yCAAyC;IACzC,6DAA6D;IAC7D,KAAK,CAAC,IAAS,EAAE,GAAY;QAC3B,IAAI,IAAI,GAAG,IAAI,CAAA;QAEf,0DAA0D;QAC1D,4DAA4D;QAE5D,IAAI,GAAQ,CAAA;QACZ;;;;;;UAME;QAEF,IAAI,IAAI,YAAY,OAAO,EAAE;YAC3B,GAAG,GAAG,IAAI,OAAO;YACf,gCAAgC;YAChC,kCAAkC;YAClC,IAAA,UAAK,EAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAC9B,IAAA,UAAK,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAChC,GAAG,CACJ,CAAA;SACF;aACI;YACH,GAAG,GAAG,IAAI,OAAO;YACf,4BAA4B;YAC5B,6BAA6B;YAC7B,IAAA,UAAK,EAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAC1B,IAAA,UAAK,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAC3B,GAAG,CACJ,CAAA;SACF;QAGD,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI;YAClC,CAAC,IAAI,IAAK,GAAe,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAM,GAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAE9E,IAAI,GAAG,CAAC,GAAG,YAAY,GAAG,EAAE;YAC1B,GAAG,GAAI,GAAe,CAAC,IAAI,CAAA;SAC5B;aACI,IAAK,GAAe,CAAC,IAAI,YAAY,GAAG,EAAE;YAC7C,GAAG,GAAG,GAAG,CAAC,GAAG,CAAA;SACd;QAED,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;QAEtC,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA;IAC1E,CAAC;IAED,GAAG,CAAC,GAAa;QACf,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrC,SAAS,CAAA;QAEb,OAAO,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACrD,CAAC;CACF;AAkBC,0BAAO"}
1
+ {"version":3,"file":"val.js","sourceRoot":"","sources":["../../lib/val.ts"],"names":[],"mappings":"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"}