@yuneta/gobj-js 7.13.7 → 7.16.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.
@@ -21,12 +21,12 @@
21
21
  };
22
22
  function n(e) {
23
23
  return function(e, r) {
24
- var o, i, l, s, _, a, u, c, f, g = 1, d = e.length, b = "";
25
- for (i = 0; i < d; i++) if ("string" == typeof e[i]) b += e[i];
26
- else if ("object" == typeof e[i]) {
27
- if ((s = e[i]).keys) for (o = r[g], l = 0; l < s.keys.length; l++) {
28
- if (null == o) throw new Error(n("[sprintf] Cannot access property \"%s\" of undefined value \"%s\"", s.keys[l], s.keys[l - 1]));
29
- o = o[s.keys[l]];
24
+ var o, l, i, s, _, a, u, c, f, g = 1, d = e.length, b = "";
25
+ for (l = 0; l < d; l++) if ("string" == typeof e[l]) b += e[l];
26
+ else if ("object" == typeof e[l]) {
27
+ if ((s = e[l]).keys) for (o = r[g], i = 0; i < s.keys.length; i++) {
28
+ if (null == o) throw new Error(n("[sprintf] Cannot access property \"%s\" of undefined value \"%s\"", s.keys[i], s.keys[i - 1]));
29
+ o = o[s.keys[i]];
30
30
  }
31
31
  else o = s.param_no ? r[s.param_no] : r[g++];
32
32
  if (t.not_type.test(s.type) && t.not_primitive.test(s.type) && o instanceof Function && (o = o()), t.numeric_arg.test(s.type) && "number" != typeof o && isNaN(o)) throw new TypeError(n("[sprintf] expecting number but found %T", o));
@@ -81,14 +81,14 @@
81
81
  return b;
82
82
  }(function(e) {
83
83
  if (r[e]) return r[e];
84
- let n, o = e, i = [], l = 0;
84
+ let n, o = e, l = [], i = 0;
85
85
  for (; o;) {
86
- if (null !== (n = t.text.exec(o))) i.push(n[0]);
87
- else if (null !== (n = t.modulo.exec(o))) i.push("%");
86
+ if (null !== (n = t.text.exec(o))) l.push(n[0]);
87
+ else if (null !== (n = t.modulo.exec(o))) l.push("%");
88
88
  else {
89
89
  if (null === (n = t.placeholder.exec(o))) throw new SyntaxError("[sprintf] unexpected placeholder");
90
90
  if (n[2]) {
91
- l |= 1;
91
+ i |= 1;
92
92
  var s = [], _ = n[2], a = [];
93
93
  if (null === (a = t.key.exec(_))) throw new SyntaxError("[sprintf] failed to parse named argument key");
94
94
  for (s.push(a[1]); "" !== (_ = _.substring(a[0].length));) if (null !== (a = t.key_access.exec(_))) s.push(a[1]);
@@ -97,9 +97,9 @@
97
97
  s.push(a[1]);
98
98
  }
99
99
  n[2] = s;
100
- } else l |= 2;
101
- if (3 === l) throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");
102
- i.push({
100
+ } else i |= 2;
101
+ if (3 === i) throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");
102
+ l.push({
103
103
  placeholder: n[0],
104
104
  param_no: n[1],
105
105
  keys: n[2],
@@ -113,7 +113,7 @@
113
113
  }
114
114
  o = o.substring(n[0].length);
115
115
  }
116
- return r[e] = i;
116
+ return r[e] = l;
117
117
  }(e), arguments);
118
118
  }
119
119
  var r = Object.create(null);
@@ -125,7 +125,7 @@
125
125
  data: o || []
126
126
  };
127
127
  }
128
- function i(e, t, n, r, o) {
128
+ function l(e, t, n, r, o) {
129
129
  return {
130
130
  result: t,
131
131
  comment: n || {},
@@ -133,7 +133,7 @@
133
133
  data: o || []
134
134
  };
135
135
  }
136
- var l = "7.0.0a", s = null, _ = null, a = null, u = null, c = null, f = null, g = [], d = Object.create(null), b = {}, p = null, m = null, E = 0, T = Object.freeze({
136
+ var i = "7.0.0a", s = null, _ = null, a = null, u = null, c = null, f = null, g = [], d = Object.create(null), b = {}, p = null, m = null, E = 0, T = Object.freeze({
137
137
  DTP_STRING: 1,
138
138
  DTP_BOOLEAN: 2,
139
139
  DTP_INTEGER: 3,
@@ -169,12 +169,12 @@
169
169
  });
170
170
  h.SDF_RD, h.SDF_WR, h.SDF_STATS, h.SDF_PERSIST, h.SDF_VOLATIL, h.SDF_RSTATS, h.SDF_PSTATS, h.SDF_WR, h.SDF_PERSIST;
171
171
  var y = class {
172
- constructor(e, t, n = 0, r = null, o = "", i = null, l = null, s = 0, _ = null, a = null, u = null) {
173
- this.type = e, this.name = t, this.alias = i, this.flag = n, this.default_value = r, this.header = l, this.fillspace = s, this.description = o, this.json_fn = _, this.schema = a, this.authpth = u;
172
+ constructor(e, t, n = 0, r = null, o = "", l = null, i = null, s = 0, _ = null, a = null, u = null) {
173
+ this.type = e, this.name = t, this.alias = l, this.flag = n, this.default_value = r, this.header = i, this.fillspace = s, this.description = o, this.json_fn = _, this.schema = a, this.authpth = u;
174
174
  }
175
- }, v = () => new y(0, null), j = (e, t, n, r, o) => new y(e, t, n, r, o), S = class {
176
- constructor(e, t, n, r, o, i, l, s, _) {
177
- this.gclass_name = e, this.dl_states = [], this.dl_events = [], this.gmt = t, this.lmt = n, this.attrs_table = r, this.priv = o, this.authz_table = i, this.command_table = l, this.s_user_trace_level = s, this.gclass_flag = Number(_) || 0, this.instances = 0, this.trace_level = 0, this.no_trace_level = 0, this.jn_trace_filter = null, this.fsm_checked = !1;
175
+ }, j = () => new y(0, null), v = (e, t, n, r, o) => new y(e, t, n, r, o), S = class {
176
+ constructor(e, t, n, r, o, l, i, s, _) {
177
+ this.gclass_name = e, this.dl_states = [], this.dl_events = [], this.gmt = t, this.lmt = n, this.attrs_table = r, this.priv = o, this.authz_table = l, this.command_table = i, this.s_user_trace_level = s, this.gclass_flag = Number(_) || 0, this.instances = 0, this.trace_level = 0, this.no_trace_level = 0, this.jn_trace_filter = null, this.fsm_checked = !1;
178
178
  }
179
179
  }, O = class {
180
180
  constructor(e, t, n, r, o) {
@@ -186,7 +186,7 @@
186
186
  gcflag_ignore_unknown_attrs: 4,
187
187
  gcflag_required_start_to_play: 8,
188
188
  gcflag_singleton: 16
189
- }), R = Object.freeze({
189
+ }), w = Object.freeze({
190
190
  gobj_flag_yuno: 1,
191
191
  gobj_flag_default_service: 2,
192
192
  gobj_flag_service: 4,
@@ -194,7 +194,7 @@
194
194
  gobj_flag_pure_child: 16,
195
195
  gobj_flag_autostart: 32,
196
196
  gobj_flag_autoplay: 64
197
- }), w = Object.freeze({
197
+ }), R = Object.freeze({
198
198
  obflag_destroying: 1,
199
199
  obflag_destroyed: 2,
200
200
  obflag_created: 4
@@ -343,10 +343,10 @@
343
343
  if (!p || !p.jn_attrs) return 0;
344
344
  let e = 0;
345
345
  if (ot(p, "tracing")) {
346
- const t = Number(it(p, "tracing")) || 0;
346
+ const t = Number(lt(p, "tracing")) || 0;
347
347
  t >= 1 && (e |= P.TRACE_MACHINE), t >= 2 && (e |= P.TRACE_EV_KW);
348
348
  }
349
- return ot(p, "trace_timer") && it(p, "trace_timer") && (e |= P.TRACE_TIMER), ot(p, "trace_creation") && it(p, "trace_creation") && (e |= P.TRACE_CREATE_DELETE), ot(p, "trace_start_stop") && it(p, "trace_start_stop") && (e |= P.TRACE_START_STOP), e;
349
+ return ot(p, "trace_timer") && lt(p, "trace_timer") && (e |= P.TRACE_TIMER), ot(p, "trace_creation") && lt(p, "trace_creation") && (e |= P.TRACE_CREATE_DELETE), ot(p, "trace_start_stop") && lt(p, "trace_start_stop") && (e |= P.TRACE_START_STOP), e;
350
350
  }
351
351
  function Y(e) {
352
352
  return (W(e) | x()) & P.TRACE_CREATE_DELETE;
@@ -469,7 +469,7 @@
469
469
  break;
470
470
  case T.DTP_POINTER: o = r;
471
471
  }
472
- return void 0 === o && Ht(`${Ve(e)}: attr undefined: ${n.name}`), t[n.name] = o, pn(e.priv) && e.priv.hasOwnProperty(n.name) && (e.priv[n.name] = o), e.obflag & w.obflag_created && !(e.obflag & w.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, n.name), 0;
472
+ return void 0 === o && Ht(`${Ve(e)}: attr undefined: ${n.name}`), t[n.name] = o, pn(e.priv) && e.priv.hasOwnProperty(n.name) && (e.priv[n.name] = o), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, n.name), 0;
473
473
  }
474
474
  function X(e) {
475
475
  return e.jn_attrs;
@@ -486,11 +486,11 @@
486
486
  }
487
487
  return n && Ht(`${e.gclass_name}: GClass Attribute NOT FOUND: ${t}`), null;
488
488
  }
489
- function te(e, t, n, r, o, i, l, s, _, a, u) {
489
+ function te(e, t, n, r, o, l, i, s, _, a, u) {
490
490
  if (Sn(e)) return Ht("gclass_name EMPTY"), null;
491
491
  if (e.includes("`") || e.includes("^") || e.includes(".")) return Ht(`GClass name CANNOT have '.' or '^' or '\`' char: ${e}`), null;
492
492
  if (ce(e)) return Ht(`GClass ALREADY exists: ${e}`), null;
493
- let c = new S(e, r, o, i, l, s, _, a, u);
493
+ let c = new S(e, r, o, l, i, s, _, a, u);
494
494
  (function(e, t) {
495
495
  e && e instanceof S ? t ? d[t] ? Ht(`gclass ALREADY REGISTERED: ${t}`) : d[t] = e : Ht("gclass_name undefined") : Ht("gclass undefined");
496
496
  })(c, e);
@@ -498,11 +498,11 @@
498
498
  for (let e = 0; e < f; e++) {
499
499
  let t = n[e][0], r = n[e][1];
500
500
  if (Sn(t)) continue;
501
- if (ie(c, t) < 0) return ne(c), null;
501
+ if (le(c, t) < 0) return ne(c), null;
502
502
  const o = r.length;
503
503
  for (let e = 0; e < o; e++) {
504
- let n = r[e][0], o = r[e][1], i = r[e][2];
505
- Sn(n) || le(c, t, n, o, i);
504
+ let n = r[e][0], o = r[e][1], l = r[e][2];
505
+ Sn(n) || ie(c, t, n, o, l);
506
506
  }
507
507
  }
508
508
  for (let e = 0; e < t.length; e++) {
@@ -544,14 +544,14 @@
544
544
  }
545
545
  return null;
546
546
  }
547
- function ie(e, t) {
547
+ function le(e, t) {
548
548
  return e instanceof S ? re(e, t) ? (Ht(`state already exists: ${t}`), -1) : (e.dl_states.push(new I(t)), 0) : (Ht("Cannot add state, typeof not GClass"), -1);
549
549
  }
550
- function le(e, t, n, r, o) {
550
+ function ie(e, t, n, r, o) {
551
551
  if (!(e instanceof S)) return Ht("Cannot add state, typeof not GClass"), -1;
552
552
  if (Sn(t)) return Ht("state_name EMPTY"), -1;
553
- let i = re(e, t);
554
- return i ? oe(i, n) ? (Ht(`event already exists: gclass ${e.gclass_name}, state ${t}, event ${n}`), -1) : (i.dl_actions.push(new k(n, r, o)), 0) : (Ht(`state not found: ${t}`), -1);
553
+ let l = re(e, t);
554
+ return l ? oe(l, n) ? (Ht(`event already exists: gclass ${e.gclass_name}, state ${t}, event ${n}`), -1) : (l.dl_actions.push(new k(n, r, o)), 0) : (Ht(`state not found: ${t}`), -1);
555
555
  }
556
556
  function se(e, t, n) {
557
557
  Sn(t) || e.push(new $(t, n));
@@ -600,7 +600,7 @@
600
600
  return n || (t && Ht(`gclass not found: ${e}`), null);
601
601
  }
602
602
  function fe() {
603
- return !m || m.obflag & w.obflag_destroyed ? null : m;
603
+ return !m || m.obflag & R.obflag_destroyed ? null : m;
604
604
  }
605
605
  function ge(e, t) {
606
606
  e = e.toLowerCase();
@@ -624,48 +624,48 @@
624
624
  let r = t;
625
625
  (function(e, t, n, r, o) {
626
626
  if (!e || !t) return Ht("hsdata or kw NULL"), -1;
627
- let i = 0;
628
- for (const [l, s] of Object.entries(t)) {
629
- const t = ee(o.gclass, l, !1);
630
- t ? (-1 === n || t.flag & n) && (t.flag & h.SDF_DEPRECATED && zt(`${Ve(o)}: Deprecated attribute used in gobj creation: ${l}`), i += Q(o, e, t, s)) : r && (r(o, l), i--);
627
+ let l = 0;
628
+ for (const [i, s] of Object.entries(t)) {
629
+ const t = ee(o.gclass, i, !1);
630
+ t ? (-1 === n || t.flag & n) && (t.flag & h.SDF_DEPRECATED && zt(`${Ve(o)}: Deprecated attribute used in gobj creation: ${i}`), l += Q(o, e, t, s)) : r && (r(o, i), l--);
631
631
  }
632
- return i;
632
+ return l;
633
633
  })(X(e), r, -1, e.gclass.gclass_flag & N.gcflag_ignore_unknown_attrs ? 0 : me, e) < 0 && (Ht(`${Ve(e)} json2data() FAILED`), Zt(r));
634
634
  }
635
- function Te(e, t, r, o, i) {
636
- if (i & R.gobj_flag_yuno) {
635
+ function Te(e, t, r, o, l) {
636
+ if (l & w.gobj_flag_yuno) {
637
637
  if (p) return Ht("__yuno__ already created"), null;
638
- i |= R.gobj_flag_service;
638
+ l |= w.gobj_flag_service;
639
639
  } else {
640
640
  if (!o) return Ht("gobj NEEDS a parent!"), null;
641
641
  if (!("string" == typeof o || o instanceof O)) return Ht(`BAD TYPE of parent: ${o}`), null;
642
642
  if (En(o) && !(o = ge(o))) return zt(`parent service not found: ${o}`), null;
643
643
  }
644
- if (i & R.gobj_flag_service && ge(e, !1)) return Ht(`service ALREADY registered: ${t}^${e}`), null;
645
- if (i & R.gobj_flag_default_service) {
644
+ if (l & w.gobj_flag_service && ge(e, !1)) return Ht(`service ALREADY registered: ${t}^${e}`), null;
645
+ if (l & w.gobj_flag_default_service) {
646
646
  if (m) return Ht(`default service ALREADY registered: ${t}^${e}`), null;
647
- i |= R.gobj_flag_service;
647
+ l |= w.gobj_flag_service;
648
648
  }
649
649
  if (Sn(t)) return Ht("gclass_name must be a string"), null;
650
- let l = ce(t, !1);
651
- if (!l) return Ht(`GClass not registered: ${t}^${e}`), null;
650
+ let i = ce(t, !1);
651
+ if (!i) return Ht(`GClass not registered: ${t}^${e}`), null;
652
652
  if (!En(e)) return Ht(`gobj_name must be a string: ${t}`), null;
653
653
  if (!Sn(e)) {
654
654
  if (e.includes("`")) return Ht(`gobj_name cannot contain char ': ${t}^${e}`), null;
655
655
  if (e.includes("^")) return Ht(`gobj_name cannot contain char ^: ${t}^${e}`), null;
656
656
  }
657
- let _ = new O(e, l, r, o, i);
658
- _.jn_attrs = H(_, l.attrs_table);
657
+ let _ = new O(e, i, r, o, l);
658
+ _.jn_attrs = H(_, i.attrs_table);
659
659
  for (const [e, t] of Object.entries(_.jn_attrs)) e in _.priv && (_.priv[e] = t);
660
660
  let a = Y(_);
661
- return a && L(n("💙💙⏩ creating: %s^%s", l.gclass_name, e)), _.gobj_flag & R.gobj_flag_service && de(_), _.gobj_flag & R.gobj_flag_yuno && (p = _), _.gobj_flag & R.gobj_flag_default_service && (m = _), _.gobj_flag & R.gobj_flag_yuno || be(o, _), _.obflag |= w.obflag_created, _.gclass.instances++, Ee(_, r), _.gobj_flag & R.gobj_flag_service && s && s(_, null), _.gclass.gmt.mt_create2 ? _.gclass.gmt.mt_create2(_, r) : _.gclass.gmt.mt_create && _.gclass.gmt.mt_create(_), o && o.gclass.gmt.mt_child_added && (a && L(n("👦👦🔵 child_added(%s): %s", Me(o), Ve(_))), o.gclass.gmt.mt_child_added(o, _)), a && L(n("💙💙⏪ created: %s", Me(_))), _;
661
+ return a && L(n("💙💙⏩ creating: %s^%s", i.gclass_name, e)), _.gobj_flag & w.gobj_flag_service && de(_), _.gobj_flag & w.gobj_flag_yuno && (p = _), _.gobj_flag & w.gobj_flag_default_service && (m = _), _.gobj_flag & w.gobj_flag_yuno || be(o, _), _.obflag |= R.obflag_created, _.gclass.instances++, Ee(_, r), _.gobj_flag & w.gobj_flag_service && s && s(_, null), _.gclass.gmt.mt_create2 ? _.gclass.gmt.mt_create2(_, r) : _.gclass.gmt.mt_create && _.gclass.gmt.mt_create(_), o && o.gclass.gmt.mt_child_added && (a && L(n("👦👦🔵 child_added(%s): %s", Me(o), Ve(_))), o.gclass.gmt.mt_child_added(o, _)), a && L(n("💙💙⏪ created: %s", Me(_))), _;
662
662
  }
663
663
  function he(e, t, n, r) {
664
- return Te(e, t, n, r, R.gobj_flag_pure_child);
664
+ return Te(e, t, n, r, w.gobj_flag_pure_child);
665
665
  }
666
666
  function ye(e) {
667
667
  if (Ye(e)) return void Ht("gobj NULL or DESTROYED");
668
- e.__refs__ > 0 && Ht(`${Ve(e)}: gobj DESTROYING with references: ${e.__refs__}`), e.playing && (Ht(`Destroying a PLAYING gobj: ${Me(e)}`), De(e)), e.running && (Ht(`Destroying a RUNNING gobj: ${Me(e)}`), Oe(e)), e.obflag |= w.obflag_destroying, function(e) {
668
+ e.__refs__ > 0 && Ht(`${Ve(e)}: gobj DESTROYING with references: ${e.__refs__}`), e.playing && (Ht(`Destroying a PLAYING gobj: ${Me(e)}`), De(e)), e.running && (Ht(`Destroying a RUNNING gobj: ${Me(e)}`), Oe(e)), e.obflag |= R.obflag_destroying, function(e) {
669
669
  if (0 === ht.length) return;
670
670
  for (let t of ht) t.src === e && (t.src = null);
671
671
  ht = ht.filter((t) => t.dst !== e);
@@ -673,7 +673,7 @@
673
673
  let t = Y(e);
674
674
  t && L(n("💔💔⏩ destroying: %s", Me(e)));
675
675
  let r = We(e);
676
- r && r.gclass.gmt.mt_child_removed && (t && L(n("👦👦🔴 child_removed(%s): %s", Me(r), Ve(e))), r.gclass.gmt.mt_child_removed(r, e)), e.gobj_flag & R.gobj_flag_service && function(e) {
676
+ r && r.gclass.gmt.mt_child_removed && (t && L(n("👦👦🔴 child_removed(%s): %s", Me(r), Ve(e))), r.gclass.gmt.mt_child_removed(r, e)), e.gobj_flag & w.gobj_flag_service && function(e) {
677
677
  let t = Fe(e);
678
678
  t = t.toLowerCase(), b[t] ? delete b[t] : Ht(`"service NOT found in register": ${t}`);
679
679
  }(e), kt(e, e.dl_subscriptions, !0), kt(e, e.dl_subscribings, !0), r && (pe(r, e), Ke(e) && (Be(r) !== e || Ye(r) || Je(r, null))), function(e) {
@@ -682,9 +682,9 @@
682
682
  let n = t[e];
683
683
  Ye(n) || ye(n);
684
684
  }
685
- }(e), e.obflag & w.obflag_created && e.gclass.gmt.mt_destroy && e.gclass.gmt.mt_destroy(e), t && L(n("💔💔⏪ destroyed: %s", Me(e))), e.obflag |= w.obflag_destroyed, e.obflag & w.obflag_created && e.gclass.instances--;
685
+ }(e), e.obflag & R.obflag_created && e.gclass.gmt.mt_destroy && e.gclass.gmt.mt_destroy(e), t && L(n("💔💔⏪ destroyed: %s", Me(e))), e.obflag |= R.obflag_destroyed, e.obflag & R.obflag_created && e.gclass.instances--;
686
686
  }
687
- function ve(e) {
687
+ function je(e) {
688
688
  if (Ye(e)) return Ht("gobj NULL or DESTROYED"), -1;
689
689
  if (e.running) return Ht(`${Ve(e)}: GObj ALREADY RUNNING`), -1;
690
690
  if (e.disabled) return Ht(`${Ve(e)}: GObj DISABLED`), -1;
@@ -692,11 +692,11 @@
692
692
  let t = 0;
693
693
  return e.gclass.gmt.mt_start && (t = e.gclass.gmt.mt_start(e)), t;
694
694
  }
695
- function je(e, t, n) {
696
- return e.gclass.gclass_flag & N.gcflag_manual_start || Ye(e) || Ae(e) || ke(e) || ve(e), 0;
695
+ function ve(e, t, n) {
696
+ return e.gclass.gclass_flag & N.gcflag_manual_start || Ye(e) || Ae(e) || ke(e) || je(e), 0;
697
697
  }
698
698
  function Se(e, t, n) {
699
- return e.gclass.gclass_flag & N.gcflag_manual_start || ke(e) ? 1 : (Ae(e) || ve(e), 0);
699
+ return e.gclass.gclass_flag & N.gcflag_manual_start || ke(e) ? 1 : (Ae(e) || je(e), 0);
700
700
  }
701
701
  function Oe(e) {
702
702
  if (Ye(e)) return Ht("gobj NULL or DESTROYED"), -1;
@@ -708,16 +708,16 @@
708
708
  function Ne(e, t, n) {
709
709
  return Ae(e) && Oe(e), 0;
710
710
  }
711
- function Re(e) {
711
+ function we(e) {
712
712
  return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : He(e, A.WALK_FIRST2LAST, Ne, 0, 0);
713
713
  }
714
- function we(e) {
714
+ function Re(e) {
715
715
  if (Ye(e)) return Ht(`gobj NULL or DESTROYED: ${Ve(e)}`), -1;
716
716
  if (e.playing) return Ht(`${Ve(e)}: GObj ALREADY PLAYING`), -1;
717
717
  if (e.disabled) return Ht(`${Ve(e)}: GObj DISABLED`), -1;
718
718
  if (!Ae(e)) {
719
719
  if (e.gclass.gclass_flag & N.gcflag_required_start_to_play) return Ht(`${Ve(e)}: Cannot play, start not done`), -1;
720
- zt(`${Ve(e)}: GObj playing without previous start`), ve(e);
720
+ zt(`${Ve(e)}: GObj playing without previous start`), je(e);
721
721
  }
722
722
  B(e) && L(n("⏯ ⏯ play: %s", Me(e))), e.playing = !0;
723
723
  let t = 0;
@@ -733,13 +733,13 @@
733
733
  return !!Ye(e) || e.disabled;
734
734
  }
735
735
  function Ie(e) {
736
- return !!(e && e.gobj_flag & R.gobj_flag_service);
736
+ return !!(e && e.gobj_flag & w.gobj_flag_service);
737
737
  }
738
738
  function $e(e) {
739
739
  return !Ye(e) && e.playing;
740
740
  }
741
741
  function Ce() {
742
- return !p || p.obflag & w.obflag_destroyed ? null : p;
742
+ return !p || p.obflag & R.obflag_destroyed ? null : p;
743
743
  }
744
744
  function Le() {
745
745
  let e = Ce();
@@ -754,41 +754,41 @@
754
754
  return e ? at(e, "yuno_id") : "";
755
755
  }
756
756
  function Fe(e) {
757
- return jn(e) ? e.gobj_name : (Ht("gobj bad type"), null);
757
+ return vn(e) ? e.gobj_name : (Ht("gobj bad type"), null);
758
758
  }
759
759
  function Ge(e) {
760
- return jn(e) ? e.gclass.gclass_name : (Ht("gobj NULL of bad type"), null);
760
+ return vn(e) ? e.gclass.gclass_name : (Ht("gobj NULL of bad type"), null);
761
761
  }
762
762
  function Ve(e) {
763
- return jn(e) ? e.gclass.gclass_name + "^" + Fe(e) : (Ht("gobj bad type"), null);
763
+ return vn(e) ? e.gclass.gclass_name + "^" + Fe(e) : (Ht("gobj bad type"), null);
764
764
  }
765
765
  function Me(e) {
766
- if (!jn(e)) return Ht("gobj NULL of bad type"), null;
766
+ if (!vn(e)) return Ht("gobj NULL of bad type"), null;
767
767
  let t = Ve(e), n = We(e);
768
768
  for (; n;) t = Ve(n) + "`" + t, n = We(n);
769
769
  return t;
770
770
  }
771
771
  function We(e) {
772
- return jn(e) ? e.parent : (Ht("gobj NULL of bad type"), null);
772
+ return vn(e) ? e.parent : (Ht("gobj NULL of bad type"), null);
773
773
  }
774
774
  function Ke(e) {
775
- return jn(e) ? !!(e.gobj_flag & R.gobj_flag_volatil) : (Ht("gobj NULL of bad type"), null);
775
+ return vn(e) ? !!(e.gobj_flag & w.gobj_flag_volatil) : (Ht("gobj NULL of bad type"), null);
776
776
  }
777
777
  function xe(e) {
778
- return jn(e) ? !!(e.gobj_flag & R.gobj_flag_pure_child) : (Ht("gobj NULL of bad type"), null);
778
+ return vn(e) ? !!(e.gobj_flag & w.gobj_flag_pure_child) : (Ht("gobj NULL of bad type"), null);
779
779
  }
780
780
  function Ye(e) {
781
- return !jn(e) || !!(e.obflag & (w.obflag_destroyed | w.obflag_destroying));
781
+ return !vn(e) || !!(e.obflag & (R.obflag_destroyed | R.obflag_destroying));
782
782
  }
783
783
  function Be(e) {
784
- return jn(e) ? e.bottom_gobj : (Ht("gobj NULL of bad type"), null);
784
+ return vn(e) ? e.bottom_gobj : (Ht("gobj NULL of bad type"), null);
785
785
  }
786
786
  function Je(e, t) {
787
- if (!jn(e)) return Ht("gobj NULL of bad type"), null;
787
+ if (!vn(e)) return Ht("gobj NULL of bad type"), null;
788
788
  e.bottom_gobj && zt(`${Ve(e)}: bottom_gobj already set`), e.bottom_gobj = t;
789
789
  }
790
790
  function qe(e, t, n) {
791
- return jn(e) ? t ? ee(e.gclass, t, n) : e.gclass.attrs_table : (Ht("gobj NULL of bad type"), null);
791
+ return vn(e) ? t ? ee(e.gclass, t, n) : e.gclass.attrs_table : (Ht("gobj NULL of bad type"), null);
792
792
  }
793
793
  function He(e, t, n, r, o) {
794
794
  return Ye(e) ? (Ht("gobj NULL, destroying, or bad type"), 0) : Xe(e.dl_children, t, n, r, o);
@@ -800,54 +800,54 @@
800
800
  return "number" == typeof e && isFinite(e) ? e : (null == e || Ht(`walk callback must return a NUMBER (-1 stop, 0 descend, >0 skip children), got ${typeof e}: taken as 0`), 0);
801
801
  }
802
802
  function Xe(e, t, n, r, o) {
803
- let i, l = [...e];
804
- if (t & A.WALK_LAST2FIRST) for (let e = l.length; e > 0; e--) {
805
- i = l[e - 1];
806
- let t = Qe(n(i, r, o));
803
+ let l, i = [...e];
804
+ if (t & A.WALK_LAST2FIRST) for (let e = i.length; e > 0; e--) {
805
+ l = i[e - 1];
806
+ let t = Qe(n(l, r, o));
807
807
  if (t < 0) return t;
808
808
  }
809
- else for (let e = 0; e < l.length; e++) {
810
- i = l[e];
811
- let t = Qe(n(i, r, o));
809
+ else for (let e = 0; e < i.length; e++) {
810
+ l = i[e];
811
+ let t = Qe(n(l, r, o));
812
812
  if (t < 0) return t;
813
813
  }
814
814
  return 0;
815
815
  }
816
816
  function Ze(e, t, n, r, o) {
817
- let i, l = Xe(e, t, n, r, o);
818
- if (l < 0) return l;
817
+ let l, i = Xe(e, t, n, r, o);
818
+ if (i < 0) return i;
819
819
  if (t & A.WALK_LAST2FIRST) {
820
- for (let s = e.length; s > 0; s--) if (i = e[s - 1], l = Ze([...i.dl_children], t, n, r, o), l < 0) return l;
821
- } else for (let s = 0; s < e.length; s++) if (i = e[s], l = Ze([...i.dl_children], t, n, r, o), l < 0) return l;
822
- return l;
820
+ for (let s = e.length; s > 0; s--) if (l = e[s - 1], i = Ze([...l.dl_children], t, n, r, o), i < 0) return i;
821
+ } else for (let s = 0; s < e.length; s++) if (l = e[s], i = Ze([...l.dl_children], t, n, r, o), i < 0) return i;
822
+ return i;
823
823
  }
824
824
  function et(e, t, n, r, o) {
825
825
  if (t & A.WALK_BYLEVEL) return Ze(e, t, n, r, o);
826
- let i, l;
826
+ let l, i;
827
827
  if (t & A.WALK_BOTTOM2TOP) for (let s = e.length; s > 0; s--) {
828
- if (l = e[s - 1], i = et([...l.dl_children], t, n, r, o), i < 0) return i;
829
- if (i = Qe(n(l, r, o)), i < 0) return i;
828
+ if (i = e[s - 1], l = et([...i.dl_children], t, n, r, o), l < 0) return l;
829
+ if (l = Qe(n(i, r, o)), l < 0) return l;
830
830
  }
831
831
  else for (let s = 0; s < e.length; s++) {
832
- if (l = e[s], i = Qe(n(l, r, o)), i < 0) return i;
833
- if (0 === i && (i = et([...l.dl_children], t, n, r, o), i < 0)) return i;
832
+ if (i = e[s], l = Qe(n(i, r, o)), l < 0) return l;
833
+ if (0 === l && (l = et([...i.dl_children], t, n, r, o), l < 0)) return l;
834
834
  }
835
835
  return 0;
836
836
  }
837
837
  function tt(e, t) {
838
- if (!jn(e)) return Ht("gobj NULL of bad type"), !1;
838
+ if (!vn(e)) return Ht("gobj NULL of bad type"), !1;
839
839
  let n = t.__gclass_name__, r = t.__gobj_name__, o = t.__prefix_gobj_name__;
840
840
  t.__disabled__;
841
- let i = t.__state__;
841
+ let l = t.__state__;
842
842
  if (n && n !== Ge(e)) return !1;
843
843
  if (r && r !== Fe(e)) return !1;
844
844
  if (o) {
845
845
  let t = o.length;
846
846
  if (o !== Fe(e).substring(0, t)) return !1;
847
847
  }
848
- if (i && i !== pt(e)) return !1;
849
- let l = e.jn_attrs;
850
- for (const n of Object.keys(t)) if ("__gclass_name__" !== n && "__gobj_name__" !== n && "__prefix_gobj_name__" !== n && "__disabled__" !== n && "__state__" !== n && ot(e, n) && l[n] !== t[n]) return !1;
848
+ if (l && l !== pt(e)) return !1;
849
+ let i = e.jn_attrs;
850
+ for (const n of Object.keys(t)) if ("__gclass_name__" !== n && "__gobj_name__" !== n && "__prefix_gobj_name__" !== n && "__disabled__" !== n && "__state__" !== n && ot(e, n) && i[n] !== t[n]) return !1;
851
851
  return !0;
852
852
  }
853
853
  function nt(e, t) {
@@ -875,13 +875,13 @@
875
875
  if (1 === n.length) return e;
876
876
  let r = n[1].split("^"), o = {};
877
877
  1 === r.length ? o.__gobj_name__ = r : (o.__gclass_name__ = r[0], o.__gobj_name__ = r[1]);
878
- let i = nt(e, o);
879
- return i ? (n.splice(0, 1), n = n.join("`"), rt(i, n)) : null;
878
+ let l = nt(e, o);
879
+ return l ? (n.splice(0, 1), n = n.join("`"), rt(l, n)) : null;
880
880
  }
881
881
  function ot(e, t) {
882
882
  return !Sn(t) && !!ee(e.gclass, t, !1);
883
883
  }
884
- function it(e, t, n) {
884
+ function lt(e, t, n) {
885
885
  let r = e.jn_attrs;
886
886
  if (t in r && r.hasOwnProperty(t)) {
887
887
  let n = r[t];
@@ -889,60 +889,60 @@
889
889
  }
890
890
  return Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), null;
891
891
  }
892
- function lt(e, t, n) {
892
+ function it(e, t, n) {
893
893
  let r = {}, o = e.gclass.attrs_table;
894
894
  for (let n = 0; n < o.length; n++) {
895
- const i = o[n];
896
- if (i.name && (-1 === t || i.flag & t)) {
895
+ const l = o[n];
896
+ if (l.name && (-1 === t || l.flag & t)) {
897
897
  let t;
898
- !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? t = ln(e.jn_attrs, i.name) : (t = e.gclass.gmt.mt_reading(e, i.name), void 0 === t && (t = ln(e.jn_attrs, i.name))), _n(r, i.name, t);
898
+ !e.gclass.gmt.mt_reading || e.obflag & R.obflag_destroyed ? t = ln(e.jn_attrs, l.name) : (t = e.gclass.gmt.mt_reading(e, l.name), void 0 === t && (t = ln(e.jn_attrs, l.name))), _n(r, l.name, t);
899
899
  }
900
900
  }
901
901
  return r;
902
902
  }
903
903
  function st(e, t) {
904
904
  if (t) {
905
- if (0 === Rn(t, "__disabled__")) return ke(e);
906
- if (0 === Rn(t, "__running__")) return Ae(e);
907
- if (0 === Rn(t, "__playing__")) return $e(e);
908
- if (0 === Rn(t, "__service__")) return Ie(e);
905
+ if (0 === wn(t, "__disabled__")) return ke(e);
906
+ if (0 === wn(t, "__running__")) return Ae(e);
907
+ if (0 === wn(t, "__playing__")) return $e(e);
908
+ if (0 === wn(t, "__service__")) return Ie(e);
909
909
  }
910
910
  let n = Z(e, t, !1);
911
- return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? ln(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
911
+ return n ? !e.gclass.gmt.mt_reading || e.obflag & R.obflag_destroyed ? ln(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
912
912
  }
913
913
  function _t(e, t) {
914
- t && Rn(t, "__trace_level__");
914
+ t && wn(t, "__trace_level__");
915
915
  let n = Z(e, t, !1);
916
- return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? ln(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
916
+ return n ? !e.gclass.gmt.mt_reading || e.obflag & R.obflag_destroyed ? ln(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
917
917
  }
918
918
  function at(e, t) {
919
- if (t && 0 === Rn(t, "__state__")) return pt(e);
919
+ if (t && 0 === wn(t, "__state__")) return pt(e);
920
920
  let n = Z(e, t, !1);
921
- return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? ln(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
921
+ return n ? !e.gclass.gmt.mt_reading || e.obflag & R.obflag_destroyed ? ln(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
922
922
  }
923
923
  function ut(e, t) {
924
924
  let n = Z(e, t, !1);
925
- return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? ln(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
925
+ return n ? !e.gclass.gmt.mt_reading || e.obflag & R.obflag_destroyed ? ln(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
926
926
  }
927
927
  function ct(e, t, n, r) {
928
- let o = X(e), i = 0;
929
- for (const [r, l] of Object.entries(t)) {
928
+ let o = X(e), l = 0;
929
+ for (const [r, i] of Object.entries(t)) {
930
930
  let t = qe(e, r, !0);
931
- t && (-1 === n || t.flag & n) && (i += Q(e, o, t, l));
931
+ t && (-1 === n || t.flag & n) && (l += Q(e, o, t, i));
932
932
  }
933
- return i;
933
+ return l;
934
934
  }
935
935
  function ft(e, t, n) {
936
936
  let r = Z(e, t, !1);
937
- return r ? (r[t] = On(n), pn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & w.obflag_created && !(e.obflag & w.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
937
+ return r ? (r[t] = On(n), pn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
938
938
  }
939
939
  function gt(e, t, n) {
940
940
  let r = Z(e, t, !1);
941
- return r ? (r[t] = parseInt(n), pn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & w.obflag_created && !(e.obflag & w.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
941
+ return r ? (r[t] = parseInt(n), pn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
942
942
  }
943
943
  function dt(e, t, n) {
944
944
  let r = Z(e, t, !1);
945
- return r ? (r[t] = String(n), pn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & w.obflag_created && !(e.obflag & w.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
945
+ return r ? (r[t] = String(n), pn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
946
946
  }
947
947
  function bt(e, t) {
948
948
  if (Ye(e)) return Ht("gobj NULL or DESTROYED"), null;
@@ -950,16 +950,16 @@
950
950
  let r = re(e.gclass, t);
951
951
  if (!r) return Ht(`${Ve(e)}: state unknown, state ${t}`), !1;
952
952
  e.last_state = e.current_state, e.current_state = r;
953
- let o = J(e, "EV_STATE_CHANGED"), i = !!function(e) {
953
+ let o = J(e, "EV_STATE_CHANGED"), l = !!function(e) {
954
954
  return W(e) & P.TRACE_STATES;
955
955
  }(e);
956
- return (o || i) && L(n("🔀🔀 mach(%s%s^%s), new st(%s), prev st(%s)", e.running ? "" : "!!", Ge(e), Fe(e), pt(e), e.last_state.state_name)), !0;
956
+ return (o || l) && (1 === C || L(n("🔀🔀 mach(%s%s^%s), new st(%s), prev st(%s)", e.running ? "" : "!!", Ge(e), Fe(e), pt(e), e.last_state.state_name))), !0;
957
957
  }
958
958
  function pt(e) {
959
- return jn(e) ? e.current_state.state_name : (Ht("hgobj NULL"), "");
959
+ return vn(e) ? e.current_state.state_name : (Ht("hgobj NULL"), "");
960
960
  }
961
961
  function mt(e, t, n) {
962
- if (!jn(e)) return Ht("gobj NULL of bad type"), null;
962
+ if (!vn(e)) return Ht("gobj NULL of bad type"), null;
963
963
  let r = ae(e.gclass, t);
964
964
  if (r) return r;
965
965
  if (n) {
@@ -980,28 +980,28 @@
980
980
  return !!r && !(n && !(r.event_flag & n)) && !!(r.event_flag & D.EVF_OUTPUT_EVENT);
981
981
  }
982
982
  var ht = [], yt = !1;
983
- function vt() {
983
+ function jt() {
984
984
  yt = !1;
985
985
  let e = ht;
986
986
  ht = [];
987
987
  let t = 0;
988
- for (let n of e) n.dst.obflag & (w.obflag_destroyed | w.obflag_destroying) || (jt(n.dst, n.event, n.kw, n.src), t++);
989
- return ht.length > 0 && !yt && (yt = !0, setTimeout(vt, 0)), t;
988
+ for (let n of e) n.dst.obflag & (R.obflag_destroyed | R.obflag_destroying) || (vt(n.dst, n.event, n.kw, n.src), t++);
989
+ return ht.length > 0 && !yt && (yt = !0, setTimeout(jt, 0)), t;
990
990
  }
991
- function jt(e, t, r, o) {
991
+ function vt(e, t, r, o) {
992
992
  if (!(e && e instanceof O)) return Ht("gobj dst NULL"), -1;
993
- if (e.obflag & (w.obflag_destroyed | w.obflag_destroying)) return Ht("gobj dst DESTROYED"), -1;
994
- let i = e.current_state;
995
- if (!i) return Ht(`${Ve(e)}: current_state NULL`), -1;
996
- let l = J(e, t) && !q(o, t);
993
+ if (e.obflag & (R.obflag_destroyed | R.obflag_destroying)) return Ht("gobj dst DESTROYED"), -1;
994
+ let l = e.current_state;
995
+ if (!l) return Ht(`${Ve(e)}: current_state NULL`), -1;
996
+ let i = J(e, t) && !q(o, t);
997
997
  E++;
998
- let s = oe(i, t);
999
- if (!s) return e.gclass.gmt.mt_inject_event ? (E--, l && (L(n("🔃 mach(%s%s), st: %s, ev: %s, from(%s%s)", e.running ? "" : "!!", Ve(e), i.state_name, t || "", o && !o.running ? "!!" : "", Ve(o))), r && l > 1 && gn(r) && Zt(r)), e.gclass.gmt.mt_inject_event(e, t, r, o)) : (l && L(n("📛 mach(%s%s^%s), st: %s, ev: %s, 📛📛ERROR Event NOT DEFINED in state📛📛, from(%s%s^%s)", e.running ? "" : "!!", Ge(e), Fe(e), i.state_name, t || "", o && !o.running ? "!!" : "", Ge(o), Fe(o))), Ht(`📛📛 Event NOT DEFINED in state 📛📛: ${Ve(e)}, ${i.state_name}, ${t}`), E--, -1);
1000
- if (l) {
1001
- if (1 === C) L(n("🔄 %s %s%s %s from %s%s", t || "", e.running ? "" : "!!", Ve(e), i.state_name, o && !o.running ? "!!" : "", Ve(o)));
998
+ let s = oe(l, t);
999
+ if (!s) return e.gclass.gmt.mt_inject_event ? (E--, i && (L(1 === C ? n("🔜 %s %s%s %s", t || "", e.running ? "" : "!!", Ve(e), l.state_name) : n("🔃 mach(%s%s), st: %s, ev: %s, from(%s%s)", e.running ? "" : "!!", Ve(e), l.state_name, t || "", o && !o.running ? "!!" : "", Ve(o))), r && i > 1 && gn(r) && Zt(r)), e.gclass.gmt.mt_inject_event(e, t, r, o)) : (i && L(n("📛 mach(%s%s^%s), st: %s, ev: %s, 📛📛ERROR Event NOT DEFINED in state📛📛, from(%s%s^%s)", e.running ? "" : "!!", Ge(e), Fe(e), l.state_name, t || "", o && !o.running ? "!!" : "", Ge(o), Fe(o))), Ht(`📛📛 Event NOT DEFINED in state 📛📛: ${Ve(e)}, ${l.state_name}, ${t}`), E--, -1);
1000
+ if (i) {
1001
+ if (1 === C) L(n("🔄 %s %s%s %s from %s%s", t || "", e.running ? "" : "!!", Ve(e), l.state_name, o && !o.running ? "!!" : "", Ve(o)));
1002
1002
  else {
1003
1003
  let r = "";
1004
- s.action && (r = fr(s.action)), L(n("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Ge(e), Fe(e), i.state_name, "", t || "", "", r, o && !o.running ? "!!" : "", Ge(o), Fe(o)));
1004
+ s.action && (r = fr(s.action)), L(n("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Ge(e), Fe(e), l.state_name, "", t || "", "", r, o && !o.running ? "!!" : "", Ge(o), Fe(o)));
1005
1005
  }
1006
1006
  r && (W(e) | x()) & P.TRACE_EV_KW && gn(r) && Zt(r);
1007
1007
  }
@@ -1010,33 +1010,33 @@
1010
1010
  try {
1011
1011
  s.action && (_ = s.action(e, t, r, o));
1012
1012
  } finally {}
1013
- return !l || 1 === C || e.obflag & w.obflag_destroyed || L(n("<- mach(%s%s^%s), st: %s, ev: %s, ret: %d", e.running ? "" : "!!", Ge(e), Fe(e), e.current_state.state_name, t || "", Tn(_) ? _ : 0)), E--, _;
1013
+ return !i || 1 === C || e.obflag & R.obflag_destroyed || L(n("<- mach(%s%s^%s), st: %s, ev: %s, ret: %d", e.running ? "" : "!!", Ge(e), Fe(e), e.current_state.state_name, t || "", Tn(_) ? _ : 0)), E--, _;
1014
1014
  }
1015
1015
  var St = Object.freeze({
1016
1016
  __hard_subscription__: 1,
1017
1017
  __own_event__: 2
1018
1018
  }), Ot = [
1019
- j(T.DTP_POINTER, "publisher", 0, null, "publisher gobj"),
1020
- j(T.DTP_POINTER, "subscriber", 0, null, "subscriber gobj"),
1021
- j(T.DTP_STRING, "event", 0, "", "event name subscribed"),
1022
- j(T.DTP_STRING, "renamed_event", 0, "", "rename event name"),
1023
- j(T.DTP_INTEGER, "subs_flag", 0, 0, "subscription flag"),
1024
- j(T.DTP_JSON, "__config__", 0, null, "subscription config"),
1025
- j(T.DTP_JSON, "__global__", 0, null, "global kw, merge in publishing"),
1026
- j(T.DTP_JSON, "__local__", 0, null, "local kw, remove in publishing"),
1027
- j(T.DTP_JSON, "__filter__", 0, null, "filter kw, filter in publishing"),
1028
- j(T.DTP_STRING, "__service__", 0, "", "subscription service"),
1029
- v()
1019
+ v(T.DTP_POINTER, "publisher", 0, null, "publisher gobj"),
1020
+ v(T.DTP_POINTER, "subscriber", 0, null, "subscriber gobj"),
1021
+ v(T.DTP_STRING, "event", 0, "", "event name subscribed"),
1022
+ v(T.DTP_STRING, "renamed_event", 0, "", "rename event name"),
1023
+ v(T.DTP_INTEGER, "subs_flag", 0, 0, "subscription flag"),
1024
+ v(T.DTP_JSON, "__config__", 0, null, "subscription config"),
1025
+ v(T.DTP_JSON, "__global__", 0, null, "global kw, merge in publishing"),
1026
+ v(T.DTP_JSON, "__local__", 0, null, "local kw, remove in publishing"),
1027
+ v(T.DTP_JSON, "__filter__", 0, null, "filter kw, filter in publishing"),
1028
+ v(T.DTP_STRING, "__service__", 0, "", "subscription service"),
1029
+ j()
1030
1030
  ];
1031
1031
  function Nt(e, t, n, r, o) {
1032
- let i = Un(t, r, "__config__", null), l = Un(t, r, "__global__", null), s = Un(t, r, "__local__", null), _ = Fn(t, r, "__filter__", null), a = !0;
1033
- if (t && t !== Pn(null, e, "publisher", null) && (a = !1), o && o !== Pn(null, e, "subscriber", null) && (a = !1), n && n !== Ln(null, e, "event", "") && (a = !1), bn(i) > 0) {
1032
+ let l = Un(t, r, "__config__", null), i = Un(t, r, "__global__", null), s = Un(t, r, "__local__", null), _ = Fn(t, r, "__filter__", null), a = !0;
1033
+ if (t && t !== Pn(null, e, "publisher", null) && (a = !1), o && o !== Pn(null, e, "subscriber", null) && (a = !1), n && n !== Ln(null, e, "event", "") && (a = !1), bn(l) > 0) {
1034
1034
  let t = Un(null, e, "__config__", null);
1035
- bn(t) > 0 && tn(t, i) || (a = !1);
1035
+ bn(t) > 0 && tn(t, l) || (a = !1);
1036
1036
  }
1037
- if (bn(l) > 0) {
1037
+ if (bn(i) > 0) {
1038
1038
  let t = Un(null, e, "__global__", null);
1039
- bn(t) > 0 && tn(t, l) || (a = !1);
1039
+ bn(t) > 0 && tn(t, i) || (a = !1);
1040
1040
  }
1041
1041
  if (bn(s) > 0) {
1042
1042
  let t = Un(null, e, "__local__", null);
@@ -1048,29 +1048,29 @@
1048
1048
  }
1049
1049
  return a;
1050
1050
  }
1051
- function Rt(e, t, n, r, o) {
1052
- let i = [];
1053
- for (let l = 0; l < e.length; l++) {
1054
- let s = e[l];
1055
- Nt(s, t, n, r, o) && un(i, s);
1051
+ function wt(e, t, n, r, o) {
1052
+ let l = [];
1053
+ for (let i = 0; i < e.length; i++) {
1054
+ let s = e[i];
1055
+ Nt(s, t, n, r, o) && un(l, s);
1056
1056
  }
1057
- return i;
1057
+ return l;
1058
1058
  }
1059
- function wt(e, t, n, r, o) {
1060
- for (let i = 0; i < e.length; i++) if (Nt(e[i], t, n, r, o)) return i;
1059
+ function Rt(e, t, n, r, o) {
1060
+ for (let l = 0; l < e.length; l++) if (Nt(e[l], t, n, r, o)) return l;
1061
1061
  return -1;
1062
1062
  }
1063
1063
  function Dt(e, t, r, o) {
1064
- let i = Pn(e, t, "publisher", null, Lt.KW_REQUIRED), l = Pn(e, t, "subscriber", null, Lt.KW_REQUIRED), s = Ln(e, t, "event", "", Lt.KW_REQUIRED);
1064
+ let l = Pn(e, t, "publisher", null, Lt.KW_REQUIRED), i = Pn(e, t, "subscriber", null, Lt.KW_REQUIRED), s = Ln(e, t, "event", "", Lt.KW_REQUIRED);
1065
1065
  if (!!(Cn(e, t, "subs_flag", null, Lt.KW_REQUIRED) & St.__hard_subscription__) && !r) return -1;
1066
- p && st(p, "trace_subscriptions") && (L(n("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", s || "", Ve(i), Ve(l))), Zt(t)), i.obflag & w.obflag_destroyed || o || i.gclass.gmt.mt_subscription_deleted && i.gclass.gmt.mt_subscription_deleted(i, t);
1067
- let _ = wt(i.dl_subscriptions, i, s, t, l);
1068
- return _ >= 0 ? fn(i.dl_subscriptions, _) : (Ht(`${Ve(e)}: subscription in publisher not found`), Zt(t)), _ = wt(l.dl_subscribings, i, s, t, l), _ >= 0 ? fn(l.dl_subscribings, _) : (Ht(`${Ve(e)}: subscription in subscriber not found`), Zt(t)), 0;
1066
+ p && st(p, "trace_subscriptions") && (L(n("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", s || "", Ve(l), Ve(i))), Zt(t)), l.obflag & R.obflag_destroyed || o || l.gclass.gmt.mt_subscription_deleted && l.gclass.gmt.mt_subscription_deleted(l, t);
1067
+ let _ = Rt(l.dl_subscriptions, l, s, t, i);
1068
+ return _ >= 0 ? fn(l.dl_subscriptions, _) : (Ht(`${Ve(e)}: subscription in publisher not found`), Zt(t)), _ = Rt(i.dl_subscribings, l, s, t, i), _ >= 0 ? fn(i.dl_subscribings, _) : (Ht(`${Ve(e)}: subscription in subscriber not found`), Zt(t)), 0;
1069
1069
  }
1070
1070
  function At(e, t, r, o) {
1071
1071
  if (null == r && (r = {}), !e) return Ht(`publisher NULL: ev ${t}`), 0;
1072
1072
  if (!o) return Ht(`subscriber NULL: ev ${t}`), 0;
1073
- const i = /* @__PURE__ */ new Set([
1073
+ const l = /* @__PURE__ */ new Set([
1074
1074
  "__config__",
1075
1075
  "__global__",
1076
1076
  "__local__",
@@ -1078,31 +1078,31 @@
1078
1078
  "__service__"
1079
1079
  ]);
1080
1080
  if (Object.keys(r).forEach((n) => {
1081
- i.has(n) || Ht(`${Ve(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
1081
+ l.has(n) || Ht(`${Ve(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
1082
1082
  }), Sn(t)) t = "";
1083
1083
  else if (!(Tt(e, t, D.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & N.gcflag_no_check_output_events)) return Ht(`event NOT in output event list: ${Ve(e)}, ${t}`), 0;
1084
- let l = Rt(e.dl_subscriptions, e, t, r, o);
1085
- dn(l) > 0 && (Ht(`${Ve(e)}: ${dn(l)} subscription(s) REPEATED, will be deleted and override`), Zt(l, "subscription REPEATED"), kt(e, l, !1));
1084
+ let i = wt(e.dl_subscriptions, e, t, r, o);
1085
+ dn(i) > 0 && (Ht(`${Ve(e)}: ${dn(i)} subscription(s) REPEATED, will be deleted and override`), Zt(i, "subscription REPEATED"), kt(e, i, !1));
1086
1086
  let s = function(e, t, n, r) {
1087
1087
  let o = H(e, Ot);
1088
1088
  an(o, "event", t), an(o, "subscriber", r), an(o, "publisher", e);
1089
- let i = 0;
1089
+ let l = 0;
1090
1090
  if (n) {
1091
- let t = Un(e, n, "__config__", null), r = Un(e, n, "__global__", null), l = Un(e, n, "__local__", null), s = Fn(e, n, "__filter__", null), _ = Ln(e, n, "__service__", "");
1091
+ let t = Un(e, n, "__config__", null), r = Un(e, n, "__global__", null), i = Un(e, n, "__local__", null), s = Fn(e, n, "__filter__", null), _ = Ln(e, n, "__service__", "");
1092
1092
  if (bn(r) > 0 && an(o, "__global__", en(r)), bn(t) > 0) {
1093
1093
  let n = en(t);
1094
1094
  if (an(o, "__config__", n), An(n, "__hard_subscription__")) {
1095
1095
  let t = $n(e, n, "__hard_subscription__", !1);
1096
- sn(n, "__hard_subscription__"), t && (i |= St.__hard_subscription__);
1096
+ sn(n, "__hard_subscription__"), t && (l |= St.__hard_subscription__);
1097
1097
  }
1098
1098
  if (An(n, "__own_event__")) {
1099
1099
  let t = $n(e, n, "__own_event__", !1);
1100
- sn(n, "__own_event__"), t && (i |= St.__own_event__);
1100
+ sn(n, "__own_event__"), t && (l |= St.__own_event__);
1101
1101
  }
1102
1102
  }
1103
- bn(l) > 0 && an(o, "__local__", en(l)), bn(s) > 0 && an(o, "__filter__", en(s)), Sn(_) || an(o, "__service__", _);
1103
+ bn(i) > 0 && an(o, "__local__", en(i)), bn(s) > 0 && an(o, "__filter__", en(s)), Sn(_) || an(o, "__service__", _);
1104
1104
  }
1105
- return an(o, "subs_flag", i), o;
1105
+ return an(o, "subs_flag", l), o;
1106
1106
  }(e, t, r, o);
1107
1107
  if (!s) return Ht(`${Ve(e)}: _create_subscription() FAILED`), 0;
1108
1108
  if (un(e.dl_subscriptions, s), un(o.dl_subscribings, s), p && st(p, "trace_subscriptions") && (L(n("💜💜👍 subscribing event '%s', publisher '%s', subscriber %s", t || "", Ve(e), Ve(o))), r && Zt(r)), e.gclass.gmt.mt_subscription_added) {
@@ -1117,24 +1117,24 @@
1117
1117
  return 0;
1118
1118
  }
1119
1119
  function It(e, t, n, r) {
1120
- return null == n && (n = {}), Rt(e.dl_subscriptions, e, t, n, r);
1120
+ return null == n && (n = {}), wt(e.dl_subscriptions, e, t, n, r);
1121
1121
  }
1122
1122
  function $t(e, t, n, r) {
1123
- return Rt(e.dl_subscribings, r, t, n, e);
1123
+ return wt(e.dl_subscribings, r, t, n, e);
1124
1124
  }
1125
1125
  function Ct(e, t, r) {
1126
- if (pn(r) || (r = {}), !e || e.obflag & (w.obflag_destroyed | w.obflag_destroying)) return Ht("gobj NULL or DESTROYED"), -1;
1126
+ if (pn(r) || (r = {}), !e || e.obflag & (R.obflag_destroyed | R.obflag_destroying)) return Ht("gobj NULL or DESTROYED"), -1;
1127
1127
  if (Sn(t)) return Ht(`${Ve(e)}: event EMPTY`), -1;
1128
1128
  let o = mt(e, t, !0);
1129
1129
  if (!(o && o.event_flag & (D.EVF_SYSTEM_EVENT | D.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & N.gcflag_no_check_output_events)) return Ht(`event NOT in output event list: ${Ve(e)}, ev ${t}`), -1;
1130
- let i = p && st(p, "trace_subscriptions");
1131
- if (i && (L(n("🔝🔝 mach(%s%s^%s), st: %s, ev: %s%s%s", e.running ? "" : "!!", Ge(e), Fe(e), e.current_state.state_name, "", t || "", "")), Zt(r)), e.gclass.gmt.mt_publish_event) {
1130
+ let l = p && st(p, "trace_subscriptions");
1131
+ if (l && (L(1 === C ? n("🔝🔝 %s %s%s %s", t || "", e.running ? "" : "!!", Ve(e), e.current_state.state_name) : n("🔝🔝 mach(%s%s^%s), st: %s, ev: %s%s%s", e.running ? "" : "!!", Ge(e), Fe(e), e.current_state.state_name, "", t || "", "")), gn(r) && Zt(r)), e.gclass.gmt.mt_publish_event) {
1132
1132
  let n = e.gclass.gmt.mt_publish_event(e, t, r);
1133
1133
  if (n <= 0) return n;
1134
1134
  }
1135
- let l = [...e.dl_subscriptions], s = 0, _ = 0;
1136
- for (let o = 0; o < l.length; o++) {
1137
- let a = l[o];
1135
+ let i = [...e.dl_subscriptions], s = 0, _ = 0;
1136
+ for (let o = 0; o < i.length; o++) {
1137
+ let a = i[o];
1138
1138
  if (e.gclass.gmt.mt_publication_pre_filter) {
1139
1139
  let n = e.gclass.gmt.mt_publication_pre_filter(e, a, t, r);
1140
1140
  if (n < 0) break;
@@ -1143,15 +1143,15 @@
1143
1143
  let u = Pn(e, a, "subscriber", null, Lt.KW_REQUIRED);
1144
1144
  if (!u || Ye(u)) continue;
1145
1145
  let c = Cn(e, a, "subs_flag", 0, Lt.KW_REQUIRED), f = Ln(e, a, "event", "", Lt.KW_REQUIRED);
1146
- if (Sn(f) || 0 === Rn(f, t)) {
1146
+ if (Sn(f) || 0 === wn(f, t)) {
1147
1147
  Un(e, a, "__config__", null, 0);
1148
- let o = Un(e, a, "__global__", null, 0), l = Un(e, a, "__local__", null, 0), f = Fn(e, a, "__filter__", null, 0), g = r, d = 1;
1149
- if (e.gclass.gmt.mt_publication_filter ? d = e.gclass.gmt.mt_publication_filter(e, t, g, u) : bn(f) > 0 && (d = Wn(g, f) ? 1 : 0, i && (L(n("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", d ? "👍" : "👎", t || "", Ve(u), Ve(e))), Zt(f))), d < 0) break;
1148
+ let o = Un(e, a, "__global__", null, 0), i = Un(e, a, "__local__", null, 0), f = Fn(e, a, "__filter__", null, 0), g = r, d = 1;
1149
+ if (e.gclass.gmt.mt_publication_filter ? d = e.gclass.gmt.mt_publication_filter(e, t, g, u) : bn(f) > 0 && (d = Wn(g, f) ? 1 : 0, l && (L(n("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", d ? "👍" : "👎", t || "", Ve(u), Ve(e))), Zt(f))), d < 0) break;
1150
1150
  if (!d) continue;
1151
1151
  let b = mt(u, t, !0);
1152
1152
  if (b && b.event_flag & D.EVF_SYSTEM_EVENT && !Et(u, b.event_name, 0)) continue;
1153
- l && Dn(g, l), o && nn(g, o), i && (L(n("🔝🔄 mach(%s%s), st: %s, ev: %s, from(%s%s)", u.running ? "" : "!!", Ve(u), pt(u), t || "", e && !e.running ? "!!" : "", Ve(e))), Zt(g));
1154
- let p = jt(u, t, g, e);
1153
+ i && Dn(g, i), o && nn(g, o), l && (L(1 === C ? n("🔝🔄 %s (%s) %s%s", t || "", t || "", u.running ? "" : "!!", Ve(u)) : n("🔝🔄 mach(%s%s), st: %s, ev: %s, from(%s%s)", u.running ? "" : "!!", Ve(u), pt(u), t || "", e && !e.running ? "!!" : "", Ve(e))), gn(g) && Zt(g));
1154
+ let p = vt(u, t, g, e);
1155
1155
  if (p < 0 && c & St.__own_event__) {
1156
1156
  s = -1;
1157
1157
  break;
@@ -1335,10 +1335,10 @@
1335
1335
  function yn(e) {
1336
1336
  return null == e;
1337
1337
  }
1338
- function vn(e) {
1338
+ function jn(e) {
1339
1339
  return "function" == typeof e;
1340
1340
  }
1341
- function jn(e) {
1341
+ function vn(e) {
1342
1342
  return e instanceof O;
1343
1343
  }
1344
1344
  function Sn(e) {
@@ -1350,11 +1350,11 @@
1350
1350
  function Nn(e, t) {
1351
1351
  return e === t ? 0 : e > t ? 1 : -1;
1352
1352
  }
1353
- function Rn(e, t) {
1353
+ function wn(e, t) {
1354
1354
  let n = e.toLowerCase(), r = t.toLowerCase();
1355
1355
  return n === r ? 0 : n > r ? 1 : -1;
1356
1356
  }
1357
- function wn(e, t) {
1357
+ function Rn(e, t) {
1358
1358
  if (pn(e) || pn(t) || mn(e) || mn(t)) return 0;
1359
1359
  if (Tn(e) || Tn(t)) {
1360
1360
  let n = Number(e), r = Number(t);
@@ -1375,16 +1375,16 @@
1375
1375
  return !(!(t in e) || !e.hasOwnProperty(t));
1376
1376
  }
1377
1377
  function kn(e, t, n, r) {
1378
- if (e && !jn(e) && Ht("GObj bad instanceof"), !pn(t) && !mn(t)) return Ht(`${Ve(e)}: kw must be list or dict`), 0;
1378
+ if (e && !vn(e) && Ht("GObj bad instanceof"), !pn(t) && !mn(t)) return Ht(`${Ve(e)}: kw must be list or dict`), 0;
1379
1379
  if (!En(n)) return Ht(`${Ve(e)}: path must be a string: ${String(n)}`), 0;
1380
1380
  let o = n.split("`");
1381
1381
  if (o.length <= 1) return t[n];
1382
- let i = o.length;
1383
- for (let l = 0; l < i; l++) if (void 0 === (t = t[o[l]])) return void (r && Ht(`${Ve(e)}: path not found: ${String(n)}`));
1382
+ let l = o.length;
1383
+ for (let i = 0; i < l; i++) if (void 0 === (t = t[o[i]])) return void (r && Ht(`${Ve(e)}: path not found: ${String(n)}`));
1384
1384
  return t;
1385
1385
  }
1386
1386
  function In(e, t, n) {
1387
- e && !jn(e) && Ht("GObj bad instanceof");
1387
+ e && !vn(e) && Ht("GObj bad instanceof");
1388
1388
  let [r, o] = function(e, t) {
1389
1389
  let n = e.lastIndexOf(t);
1390
1390
  return -1 === n ? [e, ""] : [e.substring(0, n), e.substring(n + 1)];
@@ -1392,144 +1392,144 @@
1392
1392
  return Sn(o) ? sn(t, n) : sn(kn(e, t, r, !0), o), 0;
1393
1393
  }
1394
1394
  function $n(e, t, n, r, o) {
1395
- e && !jn(e) && Ht("GObj bad instanceof");
1396
- let i = kn(e, t, n, !1);
1397
- const l = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1398
- if (void 0 === i) {
1395
+ e && !vn(e) && Ht("GObj bad instanceof");
1396
+ let l = kn(e, t, n, !1);
1397
+ const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1398
+ if (void 0 === l) {
1399
1399
  if (s) {
1400
1400
  let o = Boolean(r);
1401
1401
  return Gn(e, t, n, o), o;
1402
1402
  }
1403
- return l && (Ht(`path not found: '${n}'`), Zt(t)), Boolean(r);
1403
+ return i && (Ht(`path not found: '${n}'`), Zt(t)), Boolean(r);
1404
1404
  }
1405
- return _ && In(e, t, n), Boolean(i);
1405
+ return _ && In(e, t, n), Boolean(l);
1406
1406
  }
1407
1407
  function Cn(e, t, n, r, o) {
1408
- e && !jn(e) && Ht("GObj bad instanceof");
1409
- let i = kn(e, t, n, !1);
1410
- const l = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1411
- if (void 0 === i) {
1408
+ e && !vn(e) && Ht("GObj bad instanceof");
1409
+ let l = kn(e, t, n, !1);
1410
+ const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1411
+ if (void 0 === l) {
1412
1412
  if (s) {
1413
1413
  let o = parseInt(r);
1414
1414
  return Gn(e, t, n, o), o;
1415
1415
  }
1416
- return l && (Ht(`path not found: '${n}'`), Zt(t)), parseInt(r);
1416
+ return i && (Ht(`path not found: '${n}'`), Zt(t)), parseInt(r);
1417
1417
  }
1418
- return _ && In(e, t, n), Tn(i) ? parseInt(i) : (l && (Ht(`path value MUST BE a number: ${n}`), Xt(t)), parseInt(r));
1418
+ return _ && In(e, t, n), Tn(l) ? parseInt(l) : (i && (Ht(`path value MUST BE a number: ${n}`), Xt(t)), parseInt(r));
1419
1419
  }
1420
1420
  function Ln(e, t, n, r, o) {
1421
- e && !jn(e) && Ht("GObj bad instanceof");
1422
- let i = kn(e, t, n, !1);
1423
- const l = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1424
- if (void 0 === i) {
1421
+ e && !vn(e) && Ht("GObj bad instanceof");
1422
+ let l = kn(e, t, n, !1);
1423
+ const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1424
+ if (void 0 === l) {
1425
1425
  if (s) {
1426
1426
  let o = String(r);
1427
1427
  return Gn(e, t, n, o), o;
1428
1428
  }
1429
- return l && (Ht(`path not found: '${n}'`), Zt(t)), String(r);
1429
+ return i && (Ht(`path not found: '${n}'`), Zt(t)), String(r);
1430
1430
  }
1431
- return _ && In(e, t, n), En(i) ? String(i) : (l && (Ht(`${Ve(e)}: path value MUST BE a string: ${n}`), Xt(t)), String(r));
1431
+ return _ && In(e, t, n), En(l) ? String(l) : (i && (Ht(`${Ve(e)}: path value MUST BE a string: ${n}`), Xt(t)), String(r));
1432
1432
  }
1433
1433
  function Pn(e, t, n, r, o) {
1434
- e && !jn(e) && Ht("GObj bad instanceof");
1435
- let i = kn(e, t, n, !1);
1436
- const l = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1437
- if (void 0 === i) {
1434
+ e && !vn(e) && Ht("GObj bad instanceof");
1435
+ let l = kn(e, t, n, !1);
1436
+ const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1437
+ if (void 0 === l) {
1438
1438
  if (s) {
1439
1439
  let o = r;
1440
1440
  return Gn(e, t, n, o), o;
1441
1441
  }
1442
- return l && (Ht(`path not found: '${n}'`), Zt(t)), r;
1442
+ return i && (Ht(`path not found: '${n}'`), Zt(t)), r;
1443
1443
  }
1444
- return _ && In(e, t, n), i;
1444
+ return _ && In(e, t, n), l;
1445
1445
  }
1446
1446
  function Un(e, t, n, r, o) {
1447
- e && !jn(e) && Ht("GObj bad instanceof");
1448
- let i = kn(e, t, n, !1);
1449
- const l = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1450
- if (void 0 === i) {
1447
+ e && !vn(e) && Ht("GObj bad instanceof");
1448
+ let l = kn(e, t, n, !1);
1449
+ const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1450
+ if (void 0 === l) {
1451
1451
  if (s) {
1452
1452
  let o = Object(r);
1453
1453
  return Gn(e, t, n, o), o;
1454
1454
  }
1455
- return l && (Ht(`path not found: '${n}'`), Zt(t)), Object(r);
1455
+ return i && (Ht(`path not found: '${n}'`), Zt(t)), Object(r);
1456
1456
  }
1457
- return _ && In(e, t, n), pn(i) ? Object(i) : (l && (Ht(`path value MUST BE a dict: ${n}`), Xt(t)), Object(r));
1457
+ return _ && In(e, t, n), pn(l) ? Object(l) : (i && (Ht(`path value MUST BE a dict: ${n}`), Xt(t)), Object(r));
1458
1458
  }
1459
1459
  function Fn(e, t, n, r, o) {
1460
- e && !jn(e) && Ht("GObj bad instanceof");
1461
- let i = kn(e, t, n, !1);
1462
- const l = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1463
- if (void 0 === i) {
1460
+ e && !vn(e) && Ht("GObj bad instanceof");
1461
+ let l = kn(e, t, n, !1);
1462
+ const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1463
+ if (void 0 === l) {
1464
1464
  if (s) {
1465
1465
  let o = r;
1466
1466
  return Gn(e, t, n, o), o;
1467
1467
  }
1468
- return l && (Ht(`path not found: '${n}'`), Zt(t)), r;
1468
+ return i && (Ht(`path not found: '${n}'`), Zt(t)), r;
1469
1469
  }
1470
- return _ && In(e, t, n), i;
1470
+ return _ && In(e, t, n), l;
1471
1471
  }
1472
1472
  function Gn(e, t, n, r) {
1473
- if (e && !jn(e) && Ht("GObj bad instanceof"), !pn(t)) return Ht("kw is not an object"), -1;
1473
+ if (e && !vn(e) && Ht("GObj bad instanceof"), !pn(t)) return Ht("kw is not an object"), -1;
1474
1474
  let o = n.split("`");
1475
1475
  if (o.length <= 1) return t[n] = r, 0;
1476
- let i = o.length;
1477
- for (let e = 0; e < i; e++) {
1476
+ let l = o.length;
1477
+ for (let e = 0; e < l; e++) {
1478
1478
  let n = o[e];
1479
- e === i - 1 ? t[n] = r : (void 0 === t[n] && (t[n] = {}), t = t[n]);
1479
+ e === l - 1 ? t[n] = r : (void 0 === t[n] && (t[n] = {}), t = t[n]);
1480
1480
  }
1481
1481
  return 0;
1482
1482
  }
1483
1483
  function Vn(e, t, n, r, o) {
1484
- if (e && !jn(e) && Ht("GObj bad instanceof"), !pn(t)) return Ht("kw is not an object"), -1;
1485
- let i = Un(e, t, n, {}, !0);
1486
- return pn(i) ? (i[r] = o, 0) : (Ht("subdict is not an object"), -1);
1484
+ if (e && !vn(e) && Ht("GObj bad instanceof"), !pn(t)) return Ht("kw is not an object"), -1;
1485
+ let l = Un(e, t, n, {}, !0);
1486
+ return pn(l) ? (l[r] = o, 0) : (Ht("subdict is not an object"), -1);
1487
1487
  }
1488
1488
  function Mn(e, t, r) {
1489
- let o = "", i = !1;
1489
+ let o = "", l = !1;
1490
1490
  if (mn(t)) {
1491
- i = !1;
1492
- for (let l = 0; l < t.length; l++) {
1493
- let s = t[l];
1494
- if (o = Sn(r) ? n("%s", r) : n("%s`%d", r, l), i = Mn(e, s, o), i) break;
1491
+ l = !1;
1492
+ for (let i = 0; i < t.length; i++) {
1493
+ let s = t[i];
1494
+ if (o = Sn(r) ? n("%s", r) : n("%s`%d", r, i), l = Mn(e, s, o), l) break;
1495
1495
  }
1496
1496
  } else if (pn(t)) {
1497
- i = !0;
1498
- let l = Object.keys(t);
1499
- for (let s = 0; s < l.length; s++) {
1500
- let _ = l[s], a = t[_];
1497
+ l = !0;
1498
+ let i = Object.keys(t);
1499
+ for (let s = 0; s < i.length; s++) {
1500
+ let _ = i[s], a = t[_];
1501
1501
  if (o = Sn(r) ? n("%s", _) : n("%s`%s", r, _), mn(a) || pn(a)) {
1502
- if (i = Mn(e, a, o), !i) break;
1502
+ if (l = Mn(e, a, o), !l) break;
1503
1503
  continue;
1504
1504
  }
1505
1505
  let u = Fn(0, e, o, 0, 0);
1506
1506
  if (u || (u = ln(e, o)), !u) {
1507
- i = !1;
1507
+ l = !1;
1508
1508
  break;
1509
1509
  }
1510
- if (0 !== wn(u, a)) {
1511
- i = !1;
1510
+ if (0 !== Rn(u, a)) {
1511
+ l = !1;
1512
1512
  break;
1513
1513
  }
1514
1514
  }
1515
1515
  }
1516
- return i;
1516
+ return l;
1517
1517
  }
1518
1518
  function Wn(e, t) {
1519
1519
  return 0 === bn(t) || Mn(e, t, "");
1520
1520
  }
1521
1521
  function Kn(e, t, n, r) {
1522
- e && !jn(e) && Ht("GObj bad instanceof");
1522
+ e && !vn(e) && Ht("GObj bad instanceof");
1523
1523
  let o = {};
1524
1524
  if (En(n) && !Sn(n)) {
1525
- let i = n;
1526
- t.hasOwnProperty(i) ? o[i] = t[i] : r && Ht(`${Ve(e)}: key not found: ${i}`);
1527
- } else if (pn(n) && gn(n) > 0) for (let i of Object.keys(n)) t.hasOwnProperty(i) ? o[i] = t[i] : r && Ht(`${Ve(e)}: key not found: ${i}`);
1525
+ let l = n;
1526
+ t.hasOwnProperty(l) ? o[l] = t[l] : r && Ht(`${Ve(e)}: key not found: ${l}`);
1527
+ } else if (pn(n) && gn(n) > 0) for (let l of Object.keys(n)) t.hasOwnProperty(l) ? o[l] = t[l] : r && Ht(`${Ve(e)}: key not found: ${l}`);
1528
1528
  else {
1529
1529
  if (!(mn(n) && dn(n) > 0)) return t;
1530
- for (let i = 0; i < n.length; i++) {
1531
- let l = n[i];
1532
- t.hasOwnProperty(l) ? o[l] = t[l] : r && Ht(`${Ve(e)}: key not found: ${l}`);
1530
+ for (let l = 0; l < n.length; l++) {
1531
+ let i = n[l];
1532
+ t.hasOwnProperty(i) ? o[i] = t[i] : r && Ht(`${Ve(e)}: key not found: ${i}`);
1533
1533
  }
1534
1534
  }
1535
1535
  return o;
@@ -1537,14 +1537,14 @@
1537
1537
  function xn(e, t, n, r) {
1538
1538
  let o = {};
1539
1539
  if (nn(o, t), En(n) && !Sn(n)) {
1540
- let i = n;
1541
- Fn(e, t, i, 0, 0) ? sn(o, i) : r && Ht(`${Ve(e)}: key not found: ${i}`);
1542
- } else if (pn(n) && gn(n) > 0) for (let i of Object.keys(n)) t.hasOwnProperty(i) ? sn(o, i) : r && Ht(`${Ve(e)}: key not found: ${i}`);
1540
+ let l = n;
1541
+ Fn(e, t, l, 0, 0) ? sn(o, l) : r && Ht(`${Ve(e)}: key not found: ${l}`);
1542
+ } else if (pn(n) && gn(n) > 0) for (let l of Object.keys(n)) t.hasOwnProperty(l) ? sn(o, l) : r && Ht(`${Ve(e)}: key not found: ${l}`);
1543
1543
  else {
1544
1544
  if (!(mn(n) && dn(n) > 0)) return {};
1545
- for (let i = 0; i < n.length; i++) {
1546
- let l = n[i];
1547
- t.hasOwnProperty(l) ? sn(o, l) : r && Ht(`${Ve(e)}: key not found: ${l}`);
1545
+ for (let l = 0; l < n.length; l++) {
1546
+ let i = n[l];
1547
+ t.hasOwnProperty(i) ? sn(o, i) : r && Ht(`${Ve(e)}: key not found: ${i}`);
1548
1548
  }
1549
1549
  }
1550
1550
  return o;
@@ -1586,26 +1586,26 @@
1586
1586
  return !1;
1587
1587
  }
1588
1588
  function Hn(e, t, n, r, o) {
1589
- if (e && !jn(e) && Ht("GObj bad instanceof"), !t) return null;
1589
+ if (e && !vn(e) && Ht("GObj bad instanceof"), !t) return null;
1590
1590
  o || (o = Wn);
1591
- let i = [];
1592
- if (mn(t)) for (let l = 0; l < t.length; l++) {
1593
- let s, _ = t[l];
1591
+ let l = [];
1592
+ if (mn(t)) for (let i = 0; i < t.length; i++) {
1593
+ let s, _ = t[i];
1594
1594
  if (pn(_)) s = Ln(e, _, "id", "", 0);
1595
1595
  else {
1596
1596
  if (!En(_)) continue;
1597
1597
  s = _;
1598
1598
  }
1599
- qn(n, s) && o(_, r) && i.push(_);
1599
+ qn(n, s) && o(_, r) && l.push(_);
1600
1600
  }
1601
1601
  else {
1602
1602
  if (!pn(t)) return Ht("kw_collect() BAD kw parameter"), null;
1603
1603
  for (let e of Object.keys(t)) {
1604
- let l = t[e];
1605
- qn(n, e) && o(l, r) && i.push(l);
1604
+ let i = t[e];
1605
+ qn(n, e) && o(i, r) && l.push(i);
1606
1606
  }
1607
1607
  }
1608
- return i;
1608
+ return l;
1609
1609
  }
1610
1610
  function zn(e, t) {
1611
1611
  if (!e) return -1;
@@ -1637,7 +1637,7 @@
1637
1637
  r || (r = {}, e.__md_iev__ = r), r[t] = n;
1638
1638
  }
1639
1639
  function er(e, t, n, r) {
1640
- if (!jn(e)) return Ht("gobj is not a GObj"), null;
1640
+ if (!vn(e)) return Ht("gobj is not a GObj"), null;
1641
1641
  if (!t) return;
1642
1642
  let o = Xn(t, n);
1643
1643
  o || (o = [], Zn(t, n, o));
@@ -1648,7 +1648,7 @@
1648
1648
  }
1649
1649
  }
1650
1650
  function tr(e, t, n, r) {
1651
- if (!jn(e)) return Ht("gobj is not a GObj"), null;
1651
+ if (!vn(e)) return Ht("gobj is not a GObj"), null;
1652
1652
  if (!pn(t)) return Ht("kw is not a dict"), null;
1653
1653
  let o = Xn(t, n);
1654
1654
  return o ? 0 === o.length ? (r && Ht(`stack empty: ${n}`), null) : o[0] : (r && Ht(`stack NOT FOUND: ${n}`), null);
@@ -1672,23 +1672,23 @@
1672
1672
  ]), pn(e[r]) && or(e[r], t, n), n = n.slice(0, -o.length);
1673
1673
  }
1674
1674
  }
1675
- function ir(e, t, n, r) {
1675
+ function lr(e, t, n, r) {
1676
1676
  if (!e) return null;
1677
- let o, i = e.length;
1678
- for (o = 0; o < i; o++) {
1679
- let i = e[o];
1680
- if (i) {
1681
- let e = i.id;
1682
- if (e && e === n) return i;
1683
- if (r && An(i, t)) {
1684
- let e = ir(i[t], t, n, r);
1677
+ let o, l = e.length;
1678
+ for (o = 0; o < l; o++) {
1679
+ let l = e[o];
1680
+ if (l) {
1681
+ let e = l.id;
1682
+ if (e && e === n) return l;
1683
+ if (r && An(l, t)) {
1684
+ let e = lr(l[t], t, n, r);
1685
1685
  if (e) return e;
1686
1686
  }
1687
1687
  }
1688
1688
  }
1689
1689
  return null;
1690
1690
  }
1691
- function lr(e) {
1691
+ function ir(e) {
1692
1692
  function t(e) {
1693
1693
  let t = e.replace(/-/g, "+").replace(/_/g, "/");
1694
1694
  switch (t.length % 4) {
@@ -1743,10 +1743,39 @@
1743
1743
  let t = null;
1744
1744
  return "function" != typeof e && "object" != typeof e || (t = ("" + e).match(/function\s*([\w\$]*)\s*\(/)), null !== t ? t[1] + "()" : "";
1745
1745
  }
1746
- function gr(e) {
1746
+ var gr = 256, dr = 1e5;
1747
+ function br(e) {
1748
+ const t = String(e).replace(/`/g, "``");
1749
+ return "[" === t[0] ? "[" + t : t;
1750
+ }
1751
+ function pr(e) {
1752
+ if ("string" != typeof e) return null;
1753
+ let t = [], n = "";
1754
+ for (let r = 0; r < e.length; r++) if ("`" !== e[r]) n += e[r];
1755
+ else {
1756
+ if ("`" === e[r + 1]) {
1757
+ n += "`", r++;
1758
+ continue;
1759
+ }
1760
+ t.push(n), n = "";
1761
+ }
1762
+ return t.push(n), t.map((e) => {
1763
+ const t = function(e) {
1764
+ if ("string" != typeof e || e.length < 3 || "[" !== e[0]) return null;
1765
+ if ("]" !== e[e.length - 1]) return null;
1766
+ const t = e.slice(1, -1);
1767
+ return /^[0-9]+$/.test(t) ? t.length > 1 && "0" === t[0] ? null : parseInt(t, 10) : null;
1768
+ }(e);
1769
+ return null !== t ? t : "[" === e[0] && "[" === e[1] ? e.slice(1) : e;
1770
+ });
1771
+ }
1772
+ function mr(e, t) {
1773
+ return e === t || null !== e && null !== t && "object" == typeof e && "object" == typeof t && JSON.stringify(e) === JSON.stringify(t);
1774
+ }
1775
+ function Er(e) {
1747
1776
  return "persistent-attrs-" + Ve(e);
1748
1777
  }
1749
- function dr(e, t) {
1778
+ function Tr(e, t) {
1750
1779
  if (En(t)) {
1751
1780
  if (-1 === t.indexOf("^")) {
1752
1781
  let n, r, o = e.fkey;
@@ -1776,7 +1805,7 @@
1776
1805
  hook_name: t.hook_name
1777
1806
  } : (Ht("bad fkey 3"), Ht(e), Ht(t), null);
1778
1807
  }
1779
- var br = [
1808
+ var hr = [
1780
1809
  "string",
1781
1810
  "integer",
1782
1811
  "object",
@@ -1786,7 +1815,7 @@
1786
1815
  "real",
1787
1816
  "boolean",
1788
1817
  "blob"
1789
- ], pr = [
1818
+ ], yr = [
1790
1819
  "persistent",
1791
1820
  "required",
1792
1821
  "notnull",
@@ -1798,7 +1827,7 @@
1798
1827
  "stats",
1799
1828
  "rstats",
1800
1829
  "pstats"
1801
- ], mr = [
1830
+ ], jr = [
1802
1831
  "hook",
1803
1832
  "fkey",
1804
1833
  "enum",
@@ -1825,7 +1854,7 @@
1825
1854
  "coordinates",
1826
1855
  "gbuffer"
1827
1856
  ];
1828
- function Er(e) {
1857
+ function vr(e) {
1829
1858
  let t = {
1830
1859
  name: e.id,
1831
1860
  header: e.header,
@@ -1843,7 +1872,7 @@
1843
1872
  if (!e.flag) return t;
1844
1873
  for (let n = 0; n < e.flag.length; n++) {
1845
1874
  let r = e.flag[n];
1846
- if (Qn(mr, r)) {
1875
+ if (Qn(jr, r)) {
1847
1876
  switch (r) {
1848
1877
  case "enum":
1849
1878
  t.enum_list = e.enum;
@@ -1854,7 +1883,7 @@
1854
1883
  case "table": t.enum_list = e.table;
1855
1884
  }
1856
1885
  t.type = r;
1857
- } else if (Qn(pr, r)) switch (r) {
1886
+ } else if (Qn(yr, r)) switch (r) {
1858
1887
  case "writable":
1859
1888
  t.is_writable = !0;
1860
1889
  break;
@@ -1867,23 +1896,23 @@
1867
1896
  }
1868
1897
  return t;
1869
1898
  }
1870
- var Tr = [
1871
- j(T.DTP_POINTER, "subscriber", 0, null, "Subscriber of output events"),
1872
- j(T.DTP_BOOLEAN, "periodic", 0, 0, "True for periodic timeouts"),
1873
- j(T.DTP_INTEGER, "msec", 0, 0, "Timeout in milliseconds"),
1874
- v()
1875
- ], hr = {
1899
+ var Sr = [
1900
+ v(T.DTP_POINTER, "subscriber", 0, null, "Subscriber of output events"),
1901
+ v(T.DTP_BOOLEAN, "periodic", 0, 0, "True for periodic timeouts"),
1902
+ v(T.DTP_INTEGER, "msec", 0, 0, "Timeout in milliseconds"),
1903
+ j()
1904
+ ], Or = {
1876
1905
  periodic: !1,
1877
1906
  msec: 0,
1878
1907
  timer_id: -1
1879
- }, yr = null;
1880
- function vr(e, t, n, r) {
1881
- let o = e.priv, i = o.periodic ? "EV_TIMEOUT_PERIODIC" : "EV_TIMEOUT";
1908
+ }, Nr = null;
1909
+ function wr(e, t, n, r) {
1910
+ let o = e.priv, l = o.periodic ? "EV_TIMEOUT_PERIODIC" : "EV_TIMEOUT";
1882
1911
  return o.periodic && o.msec > 0 ? o.timer_id = setTimeout(function() {
1883
- jt(e, "EV_TIMEOUT", {}, e);
1884
- }, o.msec) : o.timer_id = -1, xe(e) ? jt(We(e), i, {}, e) : Ct(e, i, {}), o.periodic || -1 !== o.timer_id || Ae(e) && Oe(e), 0;
1912
+ vt(e, "EV_TIMEOUT", {}, e);
1913
+ }, o.msec) : o.timer_id = -1, xe(e) ? vt(We(e), l, {}, e) : Ct(e, l, {}), o.periodic || -1 !== o.timer_id || Ae(e) && Oe(e), 0;
1885
1914
  }
1886
- var jr = {
1915
+ var Rr = {
1887
1916
  mt_create: function(e) {
1888
1917
  let t = e.priv;
1889
1918
  const n = ut(e, "subscriber");
@@ -1896,8 +1925,8 @@
1896
1925
  n.periodic = st(e, "periodic");
1897
1926
  break;
1898
1927
  case "msec": n.msec = _t(e, "msec"), -1 !== n.timer_id && (clearTimeout(n.timer_id), n.timer_id = -1), n.msec > 0 && (n.timer_id = setTimeout(function() {
1899
- jt(e, "EV_TIMEOUT", {}, e);
1900
- }, n.msec)), n.msec > 0 ? Ae(e) || ve(e) : Ae(e) && Oe(e);
1928
+ vt(e, "EV_TIMEOUT", {}, e);
1929
+ }, n.msec)), n.msec > 0 ? Ae(e) || je(e) : Ae(e) && Oe(e);
1901
1930
  }
1902
1931
  },
1903
1932
  mt_start: function(e) {
@@ -1908,84 +1937,84 @@
1908
1937
  },
1909
1938
  mt_destroy: function(e) {}
1910
1939
  };
1911
- function Sr(e, t) {
1940
+ function Dr(e, t) {
1912
1941
  return e instanceof O ? "C_TIMER" !== Ge(e) ? (Ht("not C_TIMER GObj"), -1) : (ft(e, "periodic", !1), void gt(e, "msec", t)) : (Ht("not GObj TYPE"), -1);
1913
1942
  }
1914
- function Or(e, t) {
1943
+ function Ar(e, t) {
1915
1944
  return e instanceof O ? "C_TIMER" !== Ge(e) ? (Ht("not C_TIMER GObj"), -1) : (ft(e, "periodic", !0), void gt(e, "msec", t)) : (Ht("not GObj TYPE"), -1);
1916
1945
  }
1917
- function Nr(e) {
1946
+ function kr(e) {
1918
1947
  return e instanceof O ? "C_TIMER" !== Ge(e) ? (Ht("not C_TIMER GObj"), -1) : void gt(e, "msec", -1) : (Ht("not GObj TYPE"), -1);
1919
1948
  }
1920
- var Rr = [
1921
- j(T.DTP_BOOLEAN, "changesLost", 0, !1, "Set true to warn about leaving page"),
1922
- j(T.DTP_BOOLEAN, "browser_beforeunload", 0, !1, "Set true to refreshing browser"),
1923
- j(T.DTP_STRING, "__username__", 0, "", "Username"),
1924
- j(T.DTP_STRING, "start_date", 0, "", "Yuno starting date"),
1925
- j(T.DTP_STRING, "node_uuid", 0, "", "uuid of node"),
1926
- j(T.DTP_STRING, "yuno_role", 0, "", "Yuno role"),
1927
- j(T.DTP_STRING, "yuno_id", 0, "", "Yuno Id. Set by agent"),
1928
- j(T.DTP_STRING, "yuno_name", 0, "", "Yuno name. Set by agent"),
1929
- j(T.DTP_STRING, "yuno_tag", 0, "", "Tags of yuno. Set by agent"),
1930
- j(T.DTP_STRING, "yuno_release", 0, "", "Yuno Release. Set by agent"),
1931
- j(T.DTP_STRING, "yuno_version", 0, "", "Yuno version (APP_VERSION)"),
1932
- j(T.DTP_STRING, "yuneta_version", 0, l, "Yuneta version"),
1933
- j(T.DTP_LIST, "required_services", 0, "[]", "Required services"),
1934
- j(T.DTP_INTEGER, "tracing", 0, 0, "Tracing level"),
1935
- j(T.DTP_BOOLEAN, "trace_timer", 0, 0, "Trace timers"),
1936
- j(T.DTP_BOOLEAN, "trace_inter_event", 0, 0, "Trace traffic"),
1937
- j(T.DTP_POINTER, "trace_ievent_callback", 0, null, "Trace traffic callback"),
1938
- j(T.DTP_BOOLEAN, "trace_creation", 0, 0, "Trace creation"),
1939
- j(T.DTP_BOOLEAN, "trace_start_stop", 0, 0, "Trace start/stop"),
1940
- j(T.DTP_BOOLEAN, "trace_subscriptions", 0, 0, "Trace subscription"),
1941
- j(T.DTP_BOOLEAN, "trace_i18n", 0, 0, "Trace i18n"),
1942
- j(T.DTP_BOOLEAN, "no_poll", 0, 0, "no poll"),
1943
- j(T.DTP_BOOLEAN, "developer", 0, !1, "Developer mode enabled"),
1944
- j(T.DTP_INTEGER, "periodic_timeout", 0, "1000", "Timeout periodic, in miliseconds."),
1945
- v()
1946
- ], wr = { gobj_timer: null }, Dr = null;
1947
- function Ar(e, t, n, r) {
1949
+ var Ir = [
1950
+ v(T.DTP_BOOLEAN, "changesLost", 0, !1, "Set true to warn about leaving page"),
1951
+ v(T.DTP_BOOLEAN, "browser_beforeunload", 0, !1, "Set true to refreshing browser"),
1952
+ v(T.DTP_STRING, "__username__", 0, "", "Username"),
1953
+ v(T.DTP_STRING, "start_date", 0, "", "Yuno starting date"),
1954
+ v(T.DTP_STRING, "node_uuid", 0, "", "uuid of node"),
1955
+ v(T.DTP_STRING, "yuno_role", 0, "", "Yuno role"),
1956
+ v(T.DTP_STRING, "yuno_id", 0, "", "Yuno Id. Set by agent"),
1957
+ v(T.DTP_STRING, "yuno_name", 0, "", "Yuno name. Set by agent"),
1958
+ v(T.DTP_STRING, "yuno_tag", 0, "", "Tags of yuno. Set by agent"),
1959
+ v(T.DTP_STRING, "yuno_release", 0, "", "Yuno Release. Set by agent"),
1960
+ v(T.DTP_STRING, "yuno_version", 0, "", "Yuno version (APP_VERSION)"),
1961
+ v(T.DTP_STRING, "yuneta_version", 0, i, "Yuneta version"),
1962
+ v(T.DTP_LIST, "required_services", 0, "[]", "Required services"),
1963
+ v(T.DTP_INTEGER, "tracing", 0, 0, "Tracing level"),
1964
+ v(T.DTP_BOOLEAN, "trace_timer", 0, 0, "Trace timers"),
1965
+ v(T.DTP_BOOLEAN, "trace_inter_event", 0, 0, "Trace traffic"),
1966
+ v(T.DTP_POINTER, "trace_ievent_callback", 0, null, "Trace traffic callback"),
1967
+ v(T.DTP_BOOLEAN, "trace_creation", 0, 0, "Trace creation"),
1968
+ v(T.DTP_BOOLEAN, "trace_start_stop", 0, 0, "Trace start/stop"),
1969
+ v(T.DTP_BOOLEAN, "trace_subscriptions", 0, 0, "Trace subscription"),
1970
+ v(T.DTP_BOOLEAN, "trace_i18n", 0, 0, "Trace i18n"),
1971
+ v(T.DTP_BOOLEAN, "no_poll", 0, 0, "no poll"),
1972
+ v(T.DTP_BOOLEAN, "developer", 0, !1, "Developer mode enabled"),
1973
+ v(T.DTP_INTEGER, "periodic_timeout", 0, "1000", "Timeout periodic, in miliseconds."),
1974
+ j()
1975
+ ], $r = { gobj_timer: null }, Cr = null;
1976
+ function Lr(e, t, n, r) {
1948
1977
  return Ct(e, t, n), 0;
1949
1978
  }
1950
- var kr = {
1979
+ var Pr = {
1951
1980
  mt_create: function(e) {
1952
1981
  let t = e.priv;
1953
- dt(e, "start_date", ar()), dt(e, "node_uuid", cr()), e.priv.gobj_timer = he(Fe(e), "C_TIMER", {}, e), t.periodic_timeout = it(e, "periodic_timeout");
1982
+ dt(e, "start_date", ar()), dt(e, "node_uuid", cr()), e.priv.gobj_timer = he(Fe(e), "C_TIMER", {}, e), t.periodic_timeout = lt(e, "periodic_timeout");
1954
1983
  },
1955
1984
  mt_writing: function(e, t) {},
1956
1985
  mt_start: function(e) {
1957
- return Or(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
1986
+ return Ar(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
1958
1987
  },
1959
1988
  mt_stop: function(e) {
1960
- return Nr(e.priv.gobj_timer), Re(e), 0;
1989
+ return kr(e.priv.gobj_timer), we(e), 0;
1961
1990
  },
1962
1991
  mt_destroy: function(e) {},
1963
1992
  mt_play: function(e) {
1964
1993
  let t = fe();
1965
- return Ae(t) || ve(t), $e(t) || we(t), 0;
1994
+ return Ae(t) || je(t), $e(t) || Re(t), 0;
1966
1995
  },
1967
1996
  mt_pause: function(e) {
1968
1997
  return De(fe()), 0;
1969
1998
  }
1970
1999
  };
1971
- var Ir = "ievent_gate_stack", $r = [
1972
- j(T.DTP_STRING, "wanted_yuno_role", h.SDF_RD, "", "wanted yuno role"),
1973
- j(T.DTP_STRING, "wanted_yuno_name", h.SDF_RD, "", "wanted yuno name"),
1974
- j(T.DTP_STRING, "wanted_yuno_service", h.SDF_RD, "", "wanted yuno service"),
1975
- j(T.DTP_STRING, "remote_yuno_role", h.SDF_RD, "", "confirmed remote yuno role"),
1976
- j(T.DTP_STRING, "remote_yuno_name", h.SDF_RD, "", "confirmed remote yuno name"),
1977
- j(T.DTP_STRING, "remote_yuno_service", h.SDF_RD, "", "confirmed remote yuno service"),
1978
- j(T.DTP_STRING, "url", h.SDF_RD, "", "Url to connect"),
1979
- j(T.DTP_STRING, "jwt", h.SDF_PERSIST, "", "JWT"),
1980
- j(T.DTP_STRING, "cert_pem", h.SDF_PERSIST, "", "SSL server certification, PEM str format"),
1981
- j(T.DTP_JSON, "extra_info", h.SDF_RD, "{}", "dict data set by user, added to the identity card msg."),
1982
- j(T.DTP_LIST, "required_services", h.SDF_RD, "[]", "Services this LINK requires (identity card). Empty = the yuno's `required_services`, as before. A yuno with several links to DIFFERENT backends must set it per link: the yuno-wide list is the union, so every backend is told the service names of all the others."),
1983
- j(T.DTP_INTEGER, "timeout_retry", h.SDF_RD, "5000", "First reconnect delay (ms). It BACKS OFF from here, doubling up to timeout_retry_max, and resets when a session is reached"),
1984
- j(T.DTP_INTEGER, "timeout_retry_max", h.SDF_RD, "60000", "Cap of the reconnect backoff (ms). Set it equal to timeout_retry for the old fixed-interval behaviour"),
1985
- j(T.DTP_INTEGER, "timeout_idack", h.SDF_RD, "5000", "timeout waiting idAck"),
1986
- j(T.DTP_POINTER, "subscriber", 0, 0, "subscriber of output-events. If null then subscriber is the parent"),
1987
- v()
1988
- ], Cr = {
2000
+ var Ur = "ievent_gate_stack", Fr = [
2001
+ v(T.DTP_STRING, "wanted_yuno_role", h.SDF_RD, "", "wanted yuno role"),
2002
+ v(T.DTP_STRING, "wanted_yuno_name", h.SDF_RD, "", "wanted yuno name"),
2003
+ v(T.DTP_STRING, "wanted_yuno_service", h.SDF_RD, "", "wanted yuno service"),
2004
+ v(T.DTP_STRING, "remote_yuno_role", h.SDF_RD, "", "confirmed remote yuno role"),
2005
+ v(T.DTP_STRING, "remote_yuno_name", h.SDF_RD, "", "confirmed remote yuno name"),
2006
+ v(T.DTP_STRING, "remote_yuno_service", h.SDF_RD, "", "confirmed remote yuno service"),
2007
+ v(T.DTP_STRING, "url", h.SDF_RD, "", "Url to connect"),
2008
+ v(T.DTP_STRING, "jwt", h.SDF_PERSIST, "", "JWT"),
2009
+ v(T.DTP_STRING, "cert_pem", h.SDF_PERSIST, "", "SSL server certification, PEM str format"),
2010
+ v(T.DTP_JSON, "extra_info", h.SDF_RD, "{}", "dict data set by user, added to the identity card msg."),
2011
+ v(T.DTP_LIST, "required_services", h.SDF_RD, "[]", "Services this LINK requires (identity card). Empty = the yuno's `required_services`, as before. A yuno with several links to DIFFERENT backends must set it per link: the yuno-wide list is the union, so every backend is told the service names of all the others."),
2012
+ v(T.DTP_INTEGER, "timeout_retry", h.SDF_RD, "5000", "First reconnect delay (ms). It BACKS OFF from here, doubling up to timeout_retry_max, and resets when a session is reached"),
2013
+ v(T.DTP_INTEGER, "timeout_retry_max", h.SDF_RD, "60000", "Cap of the reconnect backoff (ms). Set it equal to timeout_retry for the old fixed-interval behaviour"),
2014
+ v(T.DTP_INTEGER, "timeout_idack", h.SDF_RD, "5000", "timeout waiting idAck"),
2015
+ v(T.DTP_POINTER, "subscriber", 0, 0, "subscriber of output-events. If null then subscriber is the parent"),
2016
+ j()
2017
+ ], Gr = {
1989
2018
  url: null,
1990
2019
  remote_yuno_name: null,
1991
2020
  remote_yuno_role: null,
@@ -1995,8 +2024,8 @@
1995
2024
  websocket: null,
1996
2025
  inside_on_open: !1,
1997
2026
  retry_ms: 0
1998
- }, Lr = null;
1999
- function Pr(e) {
2027
+ }, Vr = null;
2028
+ function Mr(e) {
2000
2029
  e.priv.websocket && Ht("Websocket ALREADY setup");
2001
2030
  const t = at(e, "url");
2002
2031
  let n;
@@ -2007,20 +2036,20 @@
2007
2036
  return Ht(`${Ve(e)}: Cannot open WebSocket to '${t}', Error: ${n.message}`), null;
2008
2037
  }
2009
2038
  return n ? (n.onopen = () => {
2010
- jt(e, "EV_ON_OPEN", { url: t }, e);
2039
+ vt(e, "EV_ON_OPEN", { url: t }, e);
2011
2040
  }, n.onmessage = (n) => {
2012
- jt(e, "EV_ON_MESSAGE", {
2041
+ vt(e, "EV_ON_MESSAGE", {
2013
2042
  url: t,
2014
2043
  data: n.data
2015
2044
  }, e);
2016
2045
  }, n.onclose = (n) => {
2017
- Ye(e) || (st(Ce(), "browser_beforeunload") ? zt("Close websocket by unload page") : jt(e, "EV_ON_CLOSE", {
2046
+ Ye(e) || (st(Ce(), "browser_beforeunload") ? zt("Close websocket by unload page") : vt(e, "EV_ON_CLOSE", {
2018
2047
  url: t,
2019
2048
  e: n
2020
2049
  }, e));
2021
2050
  }, n) : (Ht(`${Ve(e)}: Failed to initialize WebSocket.`), null);
2022
2051
  }
2023
- function Ur(e, t = 1e3, n = "") {
2052
+ function Wr(e, t = 1e3, n = "") {
2024
2053
  let r = e.priv, o = r.websocket;
2025
2054
  if (r.websocket = null, o && o.readyState !== WebSocket.CLOSED && o.readyState !== WebSocket.CLOSING) {
2026
2055
  Qt(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
@@ -2031,7 +2060,7 @@
2031
2060
  }
2032
2061
  } else zt("WebSocket is already closed or in the process of closing.");
2033
2062
  }
2034
- function Fr(e, t, n) {
2063
+ function Kr(e, t, n) {
2035
2064
  let r = ar();
2036
2065
  try {
2037
2066
  Qt("\n" + r + " " + t + "\n"), Zt(n);
@@ -2039,17 +2068,17 @@
2039
2068
  Qt("ERROR in trace_inter_event: " + e);
2040
2069
  }
2041
2070
  }
2042
- var Gr = class {
2071
+ var xr = class {
2043
2072
  constructor(e, t) {
2044
2073
  this.event = e, this.kw = t || {};
2045
2074
  }
2046
2075
  };
2047
- function Vr(e, t, n, r) {
2076
+ function Yr(e, t, n, r) {
2048
2077
  return function(e, t) {
2049
2078
  let n = e.priv, r = JSON.stringify(t);
2050
2079
  if (st(Ce(), "trace_inter_event")) {
2051
- let n = at(e, "url"), o = Fe(Ce()) + " ==> " + n, i = it(Ce(), "trace_ievent_callback");
2052
- i ? i(o, t, 1, r.length) : Fr(0, o, t);
2080
+ let n = at(e, "url"), o = Fe(Ce()) + " ==> " + n, l = lt(Ce(), "trace_ievent_callback");
2081
+ l ? l(o, t, 1, r.length) : Kr(0, o, t);
2053
2082
  }
2054
2083
  if (!n.websocket || n.websocket.readyState !== WebSocket.OPEN) return zt(`${Ve(e)}: send_iev(): websocket not open, message lost`), -1;
2055
2084
  try {
@@ -2059,10 +2088,10 @@
2059
2088
  }
2060
2089
  return 0;
2061
2090
  }(e, function(e, t) {
2062
- return Sn(e) ? (Ht("iev_create() event NULL"), null) : new Gr(e, t);
2091
+ return Sn(e) ? (Ht("iev_create() event NULL"), null) : new xr(e, t);
2063
2092
  }(t, n));
2064
2093
  }
2065
- function Mr(e, t, n) {
2094
+ function Br(e, t, n) {
2066
2095
  return Sn(n) && (n = at(e, "wanted_yuno_service")), {
2067
2096
  dst_yuno: at(e, "wanted_yuno_name"),
2068
2097
  dst_role: at(e, "wanted_yuno_role"),
@@ -2073,17 +2102,17 @@
2073
2102
  host: cr()
2074
2103
  };
2075
2104
  }
2076
- function Wr(e) {
2077
- let t = e.priv, n = $e(Ce()), r = at(Ce(), "yuno_version"), o = at(Ce(), "yuno_release"), i = at(Ce(), "yuno_tag"), s = it(e, "required_services");
2078
- s && s.length || (s = it(Ce(), "required_services"));
2105
+ function Jr(e) {
2106
+ let t = e.priv, n = $e(Ce()), r = at(Ce(), "yuno_version"), o = at(Ce(), "yuno_release"), l = at(Ce(), "yuno_tag"), s = lt(e, "required_services");
2107
+ s && s.length || (s = lt(Ce(), "required_services"));
2079
2108
  let _ = {
2080
2109
  yuno_role: Pe(),
2081
2110
  yuno_id: Ue(),
2082
2111
  yuno_name: Le(),
2083
- yuno_tag: i,
2112
+ yuno_tag: l,
2084
2113
  yuno_version: r,
2085
2114
  yuno_release: o,
2086
- yuneta_version: l,
2115
+ yuneta_version: i,
2087
2116
  playing: n,
2088
2117
  pid: 0,
2089
2118
  watcher_pid: 0,
@@ -2096,86 +2125,86 @@
2096
2125
  language: "undefined" != typeof window ? window.navigator.language : "",
2097
2126
  required_services: s
2098
2127
  };
2099
- return er(e, _, Ir, Mr(e, Fe(We(e)), null)), nr(e, _, "__identity__"), Sr(t.gobj_timer, _t(e, "timeout_idack")), Vr(e, "EV_IDENTITY_CARD", _);
2128
+ return er(e, _, Ur, Br(e, Fe(We(e)), null)), nr(e, _, "__identity__"), Dr(t.gobj_timer, _t(e, "timeout_idack")), Yr(e, "EV_IDENTITY_CARD", _);
2100
2129
  }
2101
- function Kr(e, t) {
2130
+ function qr(e, t) {
2102
2131
  if (Sn(t.event)) return -1;
2103
- let n = {}, r = t.__global__, o = t.__config__, i = t.__filter__, l = t.__service__, s = t.subscriber;
2104
- o && (n.__config__ = o), r && (n.__global__ = r), i && (n.__filter__ = i);
2105
- return er(e, n, Ir, Mr(e, Fe(s), l)), nr(e, n, "__subscribing__"), Vr(e, t.event, n);
2132
+ let n = {}, r = t.__global__, o = t.__config__, l = t.__filter__, i = t.__service__, s = t.subscriber;
2133
+ o && (n.__config__ = o), r && (n.__global__ = r), l && (n.__filter__ = l);
2134
+ return er(e, n, Ur, Br(e, Fe(s), i)), nr(e, n, "__subscribing__"), Yr(e, t.event, n);
2106
2135
  }
2107
- function xr(e, t, n, r) {
2136
+ function Hr(e, t, n, r) {
2108
2137
  let o = e.priv;
2109
- return Ae(e) && (o.websocket = Pr(e)), 0;
2138
+ return Ae(e) && (o.websocket = Mr(e)), 0;
2110
2139
  }
2111
- function Yr(e, t, n, r) {
2112
- return Qt("Websocket opened: " + e.priv.url), Wr(e), 0;
2140
+ function zr(e, t, n, r) {
2141
+ return Qt("Websocket opened: " + e.priv.url), Jr(e), 0;
2113
2142
  }
2114
- function Br(e, t, n, r) {
2115
- let o = e.priv, i = n.e, l = n.url;
2116
- return Jt(), zt(`${Ve(e)}: WebSocket closed ${l} (Code: ${i.code}, Reason: "${i.reason}", Clean: ${i.wasClean})`), o.websocket && (o.websocket.onopen = null, o.websocket.onmessage = null, o.websocket.onerror = null, o.websocket.onclose = null, o.websocket = null), o.inform_on_close ? (o.inform_on_close = !1, Ct(e, "EV_ON_CLOSE", {
2117
- url: l,
2143
+ function Qr(e, t, n, r) {
2144
+ let o = e.priv, l = n.e, i = n.url;
2145
+ return Jt(), zt(`${Ve(e)}: WebSocket closed ${i} (Code: ${l.code}, Reason: "${l.reason}", Clean: ${l.wasClean})`), o.websocket && (o.websocket.onopen = null, o.websocket.onmessage = null, o.websocket.onerror = null, o.websocket.onclose = null, o.websocket = null), o.inform_on_close ? (o.inform_on_close = !1, Ct(e, "EV_ON_CLOSE", {
2146
+ url: i,
2118
2147
  remote_yuno_name: o.remote_yuno_name,
2119
2148
  remote_yuno_role: o.remote_yuno_role,
2120
2149
  remote_yuno_service: o.remote_yuno_service
2121
- })) : (zt(`${Ve(e)}: EV_ON_OPEN_ERROR cannot open ${l} (Code: ${i.code}, Reason: "${i.reason}", Clean: ${i.wasClean})`), Ct(e, "EV_ON_OPEN_ERROR", {
2122
- url: l,
2150
+ })) : (zt(`${Ve(e)}: EV_ON_OPEN_ERROR cannot open ${i} (Code: ${l.code}, Reason: "${l.reason}", Clean: ${l.wasClean})`), Ct(e, "EV_ON_OPEN_ERROR", {
2151
+ url: i,
2123
2152
  remote_yuno_name: o.remote_yuno_name,
2124
2153
  remote_yuno_role: o.remote_yuno_role,
2125
2154
  remote_yuno_service: o.remote_yuno_service,
2126
- code: i.code,
2127
- reason: i.reason,
2128
- was_clean: i.wasClean
2129
- })), Ae(e) && Sr(o.gobj_timer, function(e) {
2155
+ code: l.code,
2156
+ reason: l.reason,
2157
+ was_clean: l.wasClean
2158
+ })), Ae(e) && Dr(o.gobj_timer, function(e) {
2130
2159
  let t = e.priv, n = _t(e, "timeout_retry"), r = _t(e, "timeout_retry_max");
2131
2160
  r < n && (r = n);
2132
2161
  t.retry_ms = t.retry_ms ? Math.min(2 * t.retry_ms, r) : n;
2133
- let o = .2 * t.retry_ms, i = t.retry_ms - o + 2 * Math.random() * o;
2134
- return Math.max(1, Math.round(i));
2162
+ let o = .2 * t.retry_ms, l = t.retry_ms - o + 2 * Math.random() * o;
2163
+ return Math.max(1, Math.round(l));
2135
2164
  }(e)), 0;
2136
2165
  }
2137
- function Jr(e, t, n, r) {
2138
- return Wr(e), 0;
2166
+ function Xr(e, t, n, r) {
2167
+ return Jr(e), 0;
2139
2168
  }
2140
- function qr(e, t, n, r) {
2169
+ function Zr(e, t, n, r) {
2141
2170
  let o = e.priv;
2142
- Nr(o.gobj_timer);
2143
- let i = tr(e, n, Ir, !0), l = Ln(e, i, "src_yuno", ""), s = Ln(e, i, "src_role", ""), _ = Ln(e, i, "src_service", "");
2144
- dt(e, "remote_yuno_name", l), dt(e, "remote_yuno_role", s), dt(e, "remote_yuno_service", _);
2171
+ kr(o.gobj_timer);
2172
+ let l = tr(e, n, Ur, !0), i = Ln(e, l, "src_yuno", ""), s = Ln(e, l, "src_role", ""), _ = Ln(e, l, "src_service", "");
2173
+ dt(e, "remote_yuno_name", i), dt(e, "remote_yuno_role", s), dt(e, "remote_yuno_service", _);
2145
2174
  let a = Cn(e, n, "result", -1, 0), u = Ln(e, n, "comment", "", 0), c = Ln(e, n, "username", "", 0), f = Fn(e, n, "services_roles", {});
2146
2175
  if (a < 0) {
2147
- Ur(e);
2176
+ Wr(e);
2148
2177
  let t = {
2149
2178
  url: at(e, "url"),
2150
2179
  result: a,
2151
2180
  comment: u,
2152
2181
  username: c,
2153
- remote_yuno_name: l,
2182
+ remote_yuno_name: i,
2154
2183
  remote_yuno_role: s,
2155
2184
  remote_yuno_service: _
2156
2185
  };
2157
- xe(e) ? jt(We(e), "EV_ON_ID_NAK", t, e) : Ct(e, "EV_ON_ID_NAK", t);
2186
+ xe(e) ? vt(We(e), "EV_ON_ID_NAK", t, e) : Ct(e, "EV_ON_ID_NAK", t);
2158
2187
  } else {
2159
2188
  if (bt(e, "ST_SESSION"), o.inside_on_open = !0, o.retry_ms = 0, !o.inform_on_close) {
2160
2189
  o.inform_on_close = !0;
2161
2190
  let t = {
2162
2191
  username: c,
2163
- remote_yuno_name: l,
2192
+ remote_yuno_name: i,
2164
2193
  remote_yuno_role: s,
2165
2194
  remote_yuno_service: _,
2166
2195
  services_roles: f
2167
2196
  };
2168
- xe(e) ? jt(We(e), "EV_ON_OPEN", t, e) : Ct(e, "EV_ON_OPEN", t);
2197
+ xe(e) ? vt(We(e), "EV_ON_OPEN", t, e) : Ct(e, "EV_ON_OPEN", t);
2169
2198
  }
2170
2199
  o.inside_on_open = !1, function(e) {
2171
2200
  let t = It(e, null, null, null);
2172
- for (let n = 0; n < t.length; n++) Kr(e, t[n]);
2201
+ for (let n = 0; n < t.length; n++) qr(e, t[n]);
2173
2202
  }(e);
2174
2203
  }
2175
2204
  return 0;
2176
2205
  }
2177
- function Hr(e, t, n, r) {
2178
- let o = e.priv.url, i = function(e, t) {
2206
+ function eo(e, t, n, r) {
2207
+ let o = e.priv.url, l = function(e, t) {
2179
2208
  let n;
2180
2209
  try {
2181
2210
  n = JSON.parse(t);
@@ -2193,37 +2222,37 @@
2193
2222
  } : (Ht("parsing inter_event: kw not a json object"), null) : (Ht("parsing inter_kw: no kw"), null);
2194
2223
  }(0, n.data);
2195
2224
  if (st(Ce(), "trace_inter_event")) {
2196
- let e = Fe(Ce()) + " <== " + o, t = n.data.length, r = it(Ce(), "trace_ievent_callback");
2197
- r ? r(e, i, 2, t) : Fr(0, e, i);
2225
+ let e = Fe(Ce()) + " <== " + o, t = n.data.length, r = lt(Ce(), "trace_ievent_callback");
2226
+ r ? r(e, l, 2, t) : Kr(0, e, l);
2198
2227
  }
2199
- let l = i.event, s = i.kw;
2228
+ let i = l.event, s = l.kw;
2200
2229
  if ("ST_SESSION" !== pt(e)) {
2201
- if (Et(e, l, D.EVF_PUBLIC_EVENT)) {
2202
- if (!(jt(e, l, s, e) < 0)) return 0;
2203
- } else Ht(`${Ve(e)}: event UNKNOWN in not-session state ${l}`);
2204
- return Ur(e), -1;
2230
+ if (Et(e, i, D.EVF_PUBLIC_EVENT)) {
2231
+ if (!(vt(e, i, s, e) < 0)) return 0;
2232
+ } else Ht(`${Ve(e)}: event UNKNOWN in not-session state ${i}`);
2233
+ return Wr(e), -1;
2205
2234
  }
2206
- i = null;
2207
- let _ = rr(e, s), a = tr(e, s, Ir), u = Ln(e, a, "dst_role", "");
2235
+ l = null;
2236
+ let _ = rr(e, s), a = tr(e, s, Ur), u = Ln(e, a, "dst_role", "");
2208
2237
  if (u.toLowerCase() !== Pe().toLowerCase()) return Ht(`"It's not my role, dst_role: ${u}, my_role: ${Pe()}`), 0;
2209
2238
  let c = Ln(e, a, "dst_service", "");
2210
2239
  if ("__subscribing__" === _) return -1;
2211
2240
  if ("__unsubscribing__" === _) return -1;
2212
- if (Et(e, l, D.EVF_PUBLIC_EVENT)) return jt(e, l, s, e), 0;
2241
+ if (Et(e, i, D.EVF_PUBLIC_EVENT)) return vt(e, i, s, e), 0;
2213
2242
  let f = ge(c, !0);
2214
2243
  if (f) {
2215
- if (!Et(f, l, D.EVF_PUBLIC_EVENT)) return Ht(`${Ve(e)}: Service found but no event or not public, service '${Ve(f)}', ev '${l}'`), -1;
2216
- jt(f, l, s, e);
2217
- } else xe(e) ? jt(We(e), l, s, e) : Ct(e, l, s);
2244
+ if (!Et(f, i, D.EVF_PUBLIC_EVENT)) return Ht(`${Ve(e)}: Service found but no event or not public, service '${Ve(f)}', ev '${i}'`), -1;
2245
+ vt(f, i, s, e);
2246
+ } else xe(e) ? vt(We(e), i, s, e) : Ct(e, i, s);
2218
2247
  return 0;
2219
2248
  }
2220
- function zr(e, t, n, r) {
2249
+ function to(e, t, n, r) {
2221
2250
  return 0;
2222
2251
  }
2223
- function Qr(e, t, n, r) {
2252
+ function no(e, t, n, r) {
2224
2253
  return 0;
2225
2254
  }
2226
- var Xr = {
2255
+ var ro = {
2227
2256
  mt_create: function(e) {
2228
2257
  let t = e.priv;
2229
2258
  t.gobj_timer = he(Fe(e), "C_TIMER", {}, e), t.url = at(e, "url"), t.remote_yuno_name = at(e, "remote_yuno_name"), t.remote_yuno_role = at(e, "remote_yuno_role"), t.remote_yuno_service = at(e, "remote_yuno_service"), dt(e, "wanted_yuno_name", t.remote_yuno_name), dt(e, "wanted_yuno_role", t.remote_yuno_role), dt(e, "wanted_yuno_service", t.remote_yuno_service);
@@ -2247,55 +2276,55 @@
2247
2276
  },
2248
2277
  mt_start: function(e) {
2249
2278
  let t = e.priv;
2250
- return t.retry_ms = 0, t.websocket = Pr(e), 0;
2279
+ return t.retry_ms = 0, t.websocket = Mr(e), 0;
2251
2280
  },
2252
2281
  mt_stop: function(e) {
2253
2282
  let t = e.priv;
2254
- return Nr(t.gobj_timer), t.websocket && Ur(e), 0;
2283
+ return kr(t.gobj_timer), t.websocket && Wr(e), 0;
2255
2284
  },
2256
2285
  mt_destroy: function(e) {},
2257
2286
  mt_stats: function(e, t, n, r) {
2258
2287
  if ("ST_SESSION" !== pt(e)) return Ht("Not in session"), null;
2259
2288
  n || (n = {});
2260
- let o = Mr(e, Fe(r), Ln(e, n, "service", null, 0)), i = Fn(e, n, "__md_stats__", null, Lt.KW_EXTRACT);
2261
- return i || (i = {}), er(e, n, "stats_stack", {
2289
+ let o = Br(e, Fe(r), Ln(e, n, "service", null, 0)), l = Fn(e, n, "__md_stats__", null, Lt.KW_EXTRACT);
2290
+ return l || (l = {}), er(e, n, "stats_stack", {
2262
2291
  stats: t,
2263
- kw: i
2264
- }), er(e, n, Ir, o), n.__stats__ = t, nr(e, n, "__stats__"), Vr(e, "EV_MT_STATS", n, r), null;
2292
+ kw: l
2293
+ }), er(e, n, Ur, o), n.__stats__ = t, nr(e, n, "__stats__"), Yr(e, "EV_MT_STATS", n, r), null;
2265
2294
  },
2266
2295
  mt_command_parser: function(e, t, n, r) {
2267
2296
  if ("ST_SESSION" !== pt(e)) return Ht("Not in session"), null;
2268
2297
  n || (n = {});
2269
- let o = Mr(e, Fe(r), Ln(e, n, "service", "", 0)), i = Fn(e, n, "__md_command__", null, Lt.KW_EXTRACT);
2270
- return i || (i = {}), er(e, n, "command_stack", {
2298
+ let o = Br(e, Fe(r), Ln(e, n, "service", "", 0)), l = Fn(e, n, "__md_command__", null, Lt.KW_EXTRACT);
2299
+ return l || (l = {}), er(e, n, "command_stack", {
2271
2300
  command: t,
2272
- kw: i
2273
- }), er(e, n, Ir, o), n.__command__ = t, nr(e, n, "__command__"), Vr(e, "EV_MT_COMMAND", n, r), null;
2301
+ kw: l
2302
+ }), er(e, n, Ur, o), n.__command__ = t, nr(e, n, "__command__"), Yr(e, "EV_MT_COMMAND", n, r), null;
2274
2303
  },
2275
2304
  mt_inject_event: function(e, t, n, r) {
2276
2305
  if ("ST_SESSION" !== pt(e)) return window.console.error("Not in session"), -1;
2277
- if (n || (n = {}), tr(e, n, Ir));
2306
+ if (n || (n = {}), tr(e, n, Ur));
2278
2307
  else {
2279
- let o = Mr(e, Fe(r), Ln(e, n, "__service__", 0, 0));
2280
- sn(n, "__service__"), er(e, n, "__message__", t), er(e, n, Ir, o);
2308
+ let o = Br(e, Fe(r), Ln(e, n, "__service__", 0, 0));
2309
+ sn(n, "__service__"), er(e, n, "__message__", t), er(e, n, Ur, o);
2281
2310
  }
2282
- return nr(e, n, "__message__"), Vr(e, t, n, r);
2311
+ return nr(e, n, "__message__"), Yr(e, t, n, r);
2283
2312
  },
2284
2313
  mt_subscription_added: function(e, t) {
2285
2314
  let n = e.priv;
2286
- return "ST_SESSION" === pt(e) && n.websocket ? n.inside_on_open ? 0 : Kr(e, t) : 0;
2315
+ return "ST_SESSION" === pt(e) && n.websocket ? n.inside_on_open ? 0 : qr(e, t) : 0;
2287
2316
  },
2288
2317
  mt_subscription_deleted: function(e, t) {
2289
2318
  let n = e.priv;
2290
2319
  if ("ST_SESSION" !== pt(e) || !n.websocket) return 0;
2291
2320
  if (n.inside_on_open) return 0;
2292
2321
  if (Sn(t.event)) return 0;
2293
- let r = {}, o = t.__global__, i = t.__config__, l = t.__filter__, s = t.__service__, _ = t.subscriber;
2294
- i && (r.__config__ = i), o && (r.__global__ = o), l && (r.__filter__ = l);
2295
- return er(e, r, Ir, Mr(e, Fe(_), s)), nr(e, r, "__unsubscribing__"), Vr(e, t.event, r, e);
2322
+ let r = {}, o = t.__global__, l = t.__config__, i = t.__filter__, s = t.__service__, _ = t.subscriber;
2323
+ l && (r.__config__ = l), o && (r.__global__ = o), i && (r.__filter__ = i);
2324
+ return er(e, r, Ur, Br(e, Fe(_), s)), nr(e, r, "__unsubscribing__"), Yr(e, t.event, r, e);
2296
2325
  }
2297
2326
  };
2298
- e.GObj = O, e.SDATA = j, e.SDATAAUTHZ = (e, t, n, r, o, i) => new y(e, t, n, null, i, r, null, 0, null, o, null), e.SDATACM = (e, t, n, r, o, i) => new y(e, t, 0, null, i, n, null, 0, o, r, null), e.SDATACM2 = (e, t, n, r, o, i, l) => new y(e, t, n, null, l, r, null, 0, i, o, null), e.SDATADF = (e, t, n, r, o, i) => new y(e, t, n, null, i, null, r, o), e.SDATAPM = (e, t, n, r, o) => new y(e, t, n, r, o), e.SDATAPM0 = (e, t, n, r, o) => new y(e, t, n, null, o, null, null, 0, null, null, r), e.SDATA_END = v, e.SDataDesc = y, e.YUNETA_VERSION = l, Object.defineProperty(e, "__yuno__", {
2327
+ e.GObj = O, e.SDATA = v, e.SDATAAUTHZ = (e, t, n, r, o, l) => new y(e, t, n, null, l, r, null, 0, null, o, null), e.SDATACM = (e, t, n, r, o, l) => new y(e, t, 0, null, l, n, null, 0, o, r, null), e.SDATACM2 = (e, t, n, r, o, l, i) => new y(e, t, n, null, i, r, null, 0, l, o, null), e.SDATADF = (e, t, n, r, o, l) => new y(e, t, n, null, l, null, r, o), e.SDATAPM = (e, t, n, r, o) => new y(e, t, n, r, o), e.SDATAPM0 = (e, t, n, r, o) => new y(e, t, n, null, o, null, null, 0, null, null, r), e.SDATA_END = j, e.SDataDesc = y, e.YUNETA_VERSION = i, Object.defineProperty(e, "__yuno__", {
2299
2328
  enumerable: !0,
2300
2329
  get: function() {
2301
2330
  return p;
@@ -2304,10 +2333,10 @@
2304
2333
  let t = "", n = 0;
2305
2334
  for (let r of e) null != r && "" !== r && (r = String(r), r = 0 === n ? r.replace(/\/+$/, "") : r.replace(/^\/+/, "").replace(/\/+$/, ""), "" !== r && (n > 0 && (t += "/"), t += r, n++));
2306
2335
  return t;
2307
- }, e.build_stats_response = i, e.clean_name = function(e) {
2336
+ }, e.build_stats_response = l, e.clean_name = function(e) {
2308
2337
  return e.replace(/[?# ^:]/g, "_");
2309
- }, e.clear_timeout = Nr, e.cmp_two_simple_json = wn, e.command_parser = function(e, t, n, r) {}, e.createElement2 = function e(t, n) {
2310
- let [r, o, i, l] = t;
2338
+ }, e.clear_timeout = kr, e.cmp_two_simple_json = Rn, e.command_parser = function(e, t, n, r) {}, e.createElement2 = function e(t, n) {
2339
+ let [r, o, l, i] = t;
2311
2340
  if (!r) return void Ht("Tag must be a valid HTML element.");
2312
2341
  let s = document.createElement(r), _ = "";
2313
2342
  if (o && "object" == typeof o) for (let e of Object.keys(o)) if ("style" === e && "object" == typeof o[e]) {
@@ -2315,14 +2344,14 @@
2315
2344
  for (const n of Object.keys(o[e])) t += `${n}: ${o[e][n]};`;
2316
2345
  s.style.cssText = t;
2317
2346
  } else "style" === e ? s.style.cssText = o[e] : "i18n" === e || "data-i18n" === e || "data_i18next" === e || "data-i18next" === e ? null !== o[e] && void 0 !== o[e] && (_ = o[e], s.setAttribute("data-i18n", _)) : s.setAttribute(e, o[e]);
2318
- if (En(i)) if (i = i.trim(), i.length > 0 && "<" === i[0]) s.appendChild(_r(i));
2319
- else if (n && _) s.textContent = n(_) || i;
2320
- else s.textContent = i;
2321
- else if (mn(i)) {
2322
- if (i.length > 0) if (En(i[0])) s.appendChild(e(i, n));
2323
- else for (let t of i) Array.isArray(t) && t.length > 0 ? s.appendChild(e(t, n)) : t instanceof HTMLElement && s.appendChild(t);
2324
- } else i instanceof HTMLElement || i instanceof Text || i instanceof SVGElement ? s.appendChild(i) : null != i && (Ht("content ignored"), Zt(i));
2325
- if (l && "object" == typeof l) for (const e of Object.keys(l)) s.addEventListener(e, l[e]);
2347
+ if (En(l)) if (l = l.trim(), l.length > 0 && "<" === l[0]) s.appendChild(_r(l));
2348
+ else if (n && _) s.textContent = n(_) || l;
2349
+ else s.textContent = l;
2350
+ else if (mn(l)) {
2351
+ if (l.length > 0) if (En(l[0])) s.appendChild(e(l, n));
2352
+ else for (let t of l) Array.isArray(t) && t.length > 0 ? s.appendChild(e(t, n)) : t instanceof HTMLElement && s.appendChild(t);
2353
+ } else l instanceof HTMLElement || l instanceof Text || l instanceof SVGElement ? s.appendChild(l) : null != l && (Ht("content ignored"), Zt(l));
2354
+ if (i && "object" == typeof i) for (const e of Object.keys(i)) s.addEventListener(e, i[e]);
2326
2355
  return s;
2327
2356
  }, e.createOneHtml = _r, e.create_json_record = function(e, t) {
2328
2357
  let n = en(e);
@@ -2332,38 +2361,38 @@
2332
2361
  return t || (t = {}), Object.entries(e).forEach(([e, r]) => {
2333
2362
  let o;
2334
2363
  pn(r) && (o = r.default);
2335
- let i = Fn(null, t, e, o);
2336
- n[e] = i;
2364
+ let l = Fn(null, t, e, o);
2365
+ n[e] = l;
2337
2366
  }), n;
2338
2367
  }, e.current_timestamp = ar, e.data_type_t = T, e.db_list_persistent_attrs = function(e, t) {
2339
- let n = Yn(gr(e), null, !1), r = {};
2368
+ let n = Yn(Er(e), null, !1), r = {};
2340
2369
  return n && pn(n) && (r = Kn(e, n, t, !1)), r;
2341
2370
  }, e.db_load_persistent_attrs = function(e, t) {
2342
- let n = lt(e, h.SDF_PERSIST), r = Yn(gr(e), null, !1);
2371
+ let n = it(e, h.SDF_PERSIST), r = Yn(Er(e), null, !1);
2343
2372
  if (r && pn(r)) {
2344
2373
  let o = Kn(e, r, t, !1);
2345
2374
  o = Kn(e, o, n, !1), ct(e, o, h.SDF_PERSIST);
2346
2375
  }
2347
2376
  }, e.db_remove_persistent_attrs = function(e, t) {
2348
- let n = xn(e, Yn(gr(e), null, !1), t, !1);
2349
- 0 === gn(n) ? Jn(gr(e)) : Bn(gr(e), n);
2377
+ let n = xn(e, Yn(Er(e), null, !1), t, !1);
2378
+ 0 === gn(n) ? Jn(Er(e)) : Bn(Er(e), n);
2350
2379
  }, e.db_save_persistent_attrs = function(e, t) {
2351
- let n = Kn(e, lt(e, h.SDF_PERSIST), t, !1), r = Yn(gr(e), null, !1);
2352
- return r && pn(r) && on(n, r), Bn(gr(e), n);
2380
+ let n = Kn(e, it(e, h.SDF_PERSIST), t, !1), r = Yn(Er(e), null, !1);
2381
+ return r && pn(r) && on(n, r), Bn(Er(e), n);
2353
2382
  }, e.debounce = function(e, t = 0, n = !1) {
2354
- let r = null, o = null, i = null;
2355
- const l = (...l) => {
2356
- i = this, o = l;
2383
+ let r = null, o = null, l = null;
2384
+ const i = (...i) => {
2385
+ l = this, o = i;
2357
2386
  const s = n && !r;
2358
2387
  clearTimeout(r), r = setTimeout(() => {
2359
- r = null, n || e.apply(i, o);
2360
- }, t), s && e.apply(i, o);
2388
+ r = null, n || e.apply(l, o);
2389
+ }, t), s && e.apply(l, o);
2361
2390
  };
2362
- return l.flush = () => {
2363
- r && (clearTimeout(r), r = null, e.apply(i, o));
2364
- }, l.cancel = () => {
2365
- clearTimeout(r), r = null, o = null, i = null;
2366
- }, l;
2391
+ return i.flush = () => {
2392
+ r && (clearTimeout(r), r = null, e.apply(l, o));
2393
+ }, i.cancel = () => {
2394
+ clearTimeout(r), r = null, o = null, l = null;
2395
+ }, i;
2367
2396
  }, e.delete_from_list = function(e, t) {
2368
2397
  for (let n = 0; n < e.length; n++) if (t === e[n]) return e.splice(n, 1), !0;
2369
2398
  return !1;
@@ -2374,7 +2403,68 @@
2374
2403
  Object.assign(t, e);
2375
2404
  }
2376
2405
  return t;
2377
- }, e.empty_string = Sn, e.escapeHtml = sr, e.event_flag_t = D, e.gclass_add_ev_action = le, e.gclass_add_event_type = _e, e.gclass_add_state = ie, e.gclass_check_fsm = ue, e.gclass_create = te, e.gclass_event_type = ae, e.gclass_find_by_name = ce, e.gclass_flag_t = N, e.gclass_unregister = ne, e.getPositionRelativeToBody = function(e) {
2406
+ }, e.empty_string = Sn, e.escapeHtml = sr, e.event_flag_t = D, e.flat2json = function(e) {
2407
+ if (null === e || "object" != typeof e || Array.isArray(e)) throw new Error("flat2json: a flat json is an object of id -> value");
2408
+ let t = null;
2409
+ for (const n of Object.keys(e)) {
2410
+ const r = pr(n);
2411
+ if (!r || 0 === r.length) throw new Error(`flat2json: malformed flat id: '${n}'`);
2412
+ if (r.length > gr) throw new Error(`flat2json: '${n}' deeper than 256`);
2413
+ const o = "number" == typeof r[0];
2414
+ if (null === t) t = o ? [] : {};
2415
+ else if (o !== Array.isArray(t)) throw new Error(`flat2json: '${n}' does not fit a ${Array.isArray(t) ? "array" : "object"} root`);
2416
+ let l = t;
2417
+ for (let t = 0; t < r.length; t++) {
2418
+ const o = r[t], i = "number" == typeof o, s = t === r.length - 1, _ = !s && "number" == typeof r[t + 1];
2419
+ if (i && o > dr) throw new Error(`flat2json: array index ${o} over the limit (100000) in '${n}'`);
2420
+ if (i !== Array.isArray(l)) throw new Error(`flat2json: '${n}' uses a ${i ? "array index" : "key"} where the tree already has a ${Array.isArray(l) ? "array" : "object"}`);
2421
+ if (s) {
2422
+ if (Array.isArray(l)) {
2423
+ for (; l.length <= o;) l.push(null);
2424
+ l[o] = e[n];
2425
+ } else {
2426
+ if (Object.prototype.hasOwnProperty.call(l, o)) throw new Error(`flat2json: '${n}' is written twice, or once as a value and once as a container`);
2427
+ l[o] = e[n];
2428
+ }
2429
+ break;
2430
+ }
2431
+ let a;
2432
+ if (Array.isArray(l)) {
2433
+ for (; l.length <= o;) l.push(null);
2434
+ a = l[o], null == a && (a = _ ? [] : {}, l[o] = a);
2435
+ } else a = l[o], void 0 === a && (a = _ ? [] : {}, l[o] = a);
2436
+ if (null === a || "object" != typeof a) throw new Error(`flat2json: '${n}' walks through a value: the same id is a leaf and a container at once`);
2437
+ if (_ !== Array.isArray(a)) throw new Error(`flat2json: '${n}' needs a ${_ ? "array" : "object"} where the tree already has a ${Array.isArray(a) ? "array" : "object"}`);
2438
+ l = a;
2439
+ }
2440
+ }
2441
+ return null === t ? {} : t;
2442
+ }, e.flat_apply = function(e, t) {
2443
+ if (null === e || "object" != typeof e || Array.isArray(e)) throw new Error("flat_apply: a flat json is an object of id -> value");
2444
+ if (null === t || "object" != typeof t) throw new Error("flat_apply: a diff is the object flat_diff() answers");
2445
+ for (const n of Object.keys(t.removed || {})) delete e[n];
2446
+ for (const n of Object.keys(t.added || {})) e[n] = t.added[n];
2447
+ for (const n of Object.keys(t.changed || {})) {
2448
+ const r = t.changed[n];
2449
+ if (!r || !Object.prototype.hasOwnProperty.call(r, "to")) throw new Error(`flat_apply: changed '${n}' without a 'to'`);
2450
+ e[n] = r.to;
2451
+ }
2452
+ return e;
2453
+ }, e.flat_diff = function(e, t) {
2454
+ const n = e && "object" == typeof e ? e : {}, r = t && "object" == typeof t ? t : {}, o = {
2455
+ added: {},
2456
+ removed: {},
2457
+ changed: {}
2458
+ };
2459
+ for (const e of Object.keys(n)) Object.prototype.hasOwnProperty.call(r, e) ? mr(n[e], r[e]) || (o.changed[e] = {
2460
+ from: n[e],
2461
+ to: r[e]
2462
+ }) : o.removed[e] = n[e];
2463
+ for (const e of Object.keys(r)) Object.prototype.hasOwnProperty.call(n, e) || (o.added[e] = r[e]);
2464
+ return o;
2465
+ }, e.flat_key_join = function(e) {
2466
+ return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : br(e)).join("`") : "";
2467
+ }, e.flat_key_split = pr, e.gclass_add_ev_action = ie, e.gclass_add_event_type = _e, e.gclass_add_state = le, e.gclass_check_fsm = ue, e.gclass_create = te, e.gclass_event_type = ae, e.gclass_find_by_name = ce, e.gclass_flag_t = N, e.gclass_unregister = ne, e.getPositionRelativeToBody = function(e) {
2378
2468
  if (!e) return {
2379
2469
  top: 0,
2380
2470
  left: 0,
@@ -2386,49 +2476,49 @@
2386
2476
  left: 0,
2387
2477
  width: 0,
2388
2478
  height: 0
2389
- }, i = "undefined" != typeof window, l = i && (window.scrollY || document.documentElement?.scrollTop || document.body?.scrollTop) || 0, s = i && (window.scrollX || document.documentElement?.scrollLeft || document.body?.scrollLeft) || 0;
2479
+ }, l = "undefined" != typeof window, i = l && (window.scrollY || document.documentElement?.scrollTop || document.body?.scrollTop) || 0, s = l && (window.scrollX || document.documentElement?.scrollLeft || document.body?.scrollLeft) || 0;
2390
2480
  return {
2391
- top: t + l,
2481
+ top: t + i,
2392
2482
  left: n + s,
2393
2483
  right: n + s + r,
2394
- bottom: t + l + o
2484
+ bottom: t + i + o
2395
2485
  };
2396
2486
  }, e.get_function_name = fr, e.get_now = function() {
2397
2487
  return Math.floor(Date.now() / 1e3);
2398
2488
  }, e.gobj_bottom_gobj = Be, e.gobj_change_parent = function(e, t) {
2399
2489
  return Ye(e) ? (Ht("gobj NULL or DESTROYED"), null) : t instanceof O ? (e.parent && e.parent.mt_child_removed && e.parent.mt_child_removed(e.parent, e), e.parent && (pe(e.parent, e), e.parent = null), be(t, e), t.mt_child_added && (Y(e) && Qt(n("👦👦🔵 child_added(%s): %s", Me(t), Ve(e))), t.mt_child_added(t, e)), 0) : (Ht(`${Ve(e)}: gobj_change_parent() BAD TYPE of parent`), -1);
2400
- }, e.gobj_change_state = bt, e.gobj_command = function(e, t, r, i) {
2490
+ }, e.gobj_change_state = bt, e.gobj_command = function(e, t, r, l) {
2401
2491
  if (Ye(e)) return Ht("gobj NULL or DESTROYED"), -1;
2402
- let l = p && _t(p, "tracing");
2403
- return l && (L(n("🌀🌀 mach(%s%s), cmd: %s, src: %s", Ae(e) ? "" : "!!", Ve(e), t, Ve(i))), l > 1 && Zt(r)), e.gclass.gmt.mt_command_parser ? e.gclass.gmt.mt_command_parser(e, t, r, i) : e.gclass.command_table ? c ? c(e, t, r, i) : o(0, -1, n("%s: global command parser not available", Ve(e)), 0, 0) : o(0, -1, n("%s: command table not available", Ve(e)), 0, 0);
2492
+ let i = p && _t(p, "tracing");
2493
+ return i && (L(n("🌀🌀 mach(%s%s), cmd: %s, src: %s", Ae(e) ? "" : "!!", Ve(e), t, Ve(l))), i > 1 && Zt(r)), e.gclass.gmt.mt_command_parser ? e.gclass.gmt.mt_command_parser(e, t, r, l) : e.gclass.command_table ? c ? c(e, t, r, l) : o(0, -1, n("%s: global command parser not available", Ve(e)), 0, 0) : o(0, -1, n("%s: command table not available", Ve(e)), 0, 0);
2404
2494
  }, e.gobj_create = function(e, t, n, r) {
2405
2495
  return Te(e, t, n, r, 0);
2406
2496
  }, e.gobj_create2 = Te, e.gobj_create_default_service = function(e, t, n, r) {
2407
- return Te(e, t, n, r, R.gobj_flag_default_service | R.gobj_flag_autostart);
2497
+ return Te(e, t, n, r, w.gobj_flag_default_service | w.gobj_flag_autostart);
2408
2498
  }, e.gobj_create_pure_child = he, e.gobj_create_service = function(e, t, n, r) {
2409
- return Te(e, t, n, r, R.gobj_flag_service);
2499
+ return Te(e, t, n, r, w.gobj_flag_service);
2410
2500
  }, e.gobj_create_volatil = function(e, t, n, r) {
2411
- return Te(e, t, n, r, R.gobj_flag_volatil);
2501
+ return Te(e, t, n, r, w.gobj_flag_volatil);
2412
2502
  }, e.gobj_create_yuno = function(e, t, n) {
2413
- return Te(e, t, n, null, R.gobj_flag_yuno);
2414
- }, e.gobj_current_state = pt, e.gobj_default_service = fe, e.gobj_deliver_posted_events = vt, e.gobj_destroy = ye, e.gobj_find_child = nt, e.gobj_find_gobj = function(e, t) {
2503
+ return Te(e, t, n, null, w.gobj_flag_yuno);
2504
+ }, e.gobj_current_state = pt, e.gobj_default_service = fe, e.gobj_deliver_posted_events = jt, e.gobj_destroy = ye, e.gobj_find_child = nt, e.gobj_find_gobj = function(e, t) {
2415
2505
  if (Sn(t)) return null;
2416
2506
  const n = t.toLowerCase();
2417
2507
  return "__default_service__" === n ? m : "__yuno__" === n || "__root__" === n ? p : rt(p, t);
2418
- }, e.gobj_find_service = ge, e.gobj_find_subscribings = $t, e.gobj_find_subscriptions = It, e.gobj_flag_t = R, e.gobj_full_name = Me, e.gobj_gclass_name = Ge, e.gobj_global_trace_level = function() {
2508
+ }, e.gobj_find_service = ge, e.gobj_find_subscribings = $t, e.gobj_find_subscriptions = It, e.gobj_flag_t = w, e.gobj_full_name = Me, e.gobj_gclass_name = Ge, e.gobj_global_trace_level = function() {
2419
2509
  return F;
2420
2510
  }, e.gobj_has_attr = ot, e.gobj_has_event = Et, e.gobj_has_output_event = Tt, e.gobj_hsdata = X, e.gobj_is_destroying = Ye, e.gobj_is_playing = $e, e.gobj_is_pure_child = xe, e.gobj_is_running = Ae, e.gobj_is_service = Ie, e.gobj_is_volatil = Ke, e.gobj_list_persistent_attrs = function(e, t) {
2421
2511
  return u ? u(e, t) : null;
2422
2512
  }, e.gobj_list_subscriptions = function(e) {
2423
2513
  let t = It(e, null, null, null);
2424
2514
  for (let n = 0; n < t.length; n++) {
2425
- let r = t[n], o = Pn(e, r, "publisher", null, Lt.KW_REQUIRED), i = Pn(e, r, "subscriber", null, Lt.KW_REQUIRED);
2426
- an(r, "s_event", Ln(e, r, "event", "", Lt.KW_REQUIRED)), an(r, "s_publisher", Ve(o)), an(r, "s_subscriber", Ve(i));
2515
+ let r = t[n], o = Pn(e, r, "publisher", null, Lt.KW_REQUIRED), l = Pn(e, r, "subscriber", null, Lt.KW_REQUIRED);
2516
+ an(r, "s_event", Ln(e, r, "event", "", Lt.KW_REQUIRED)), an(r, "s_publisher", Ve(o)), an(r, "s_subscriber", Ve(l));
2427
2517
  }
2428
2518
  let n = $t(e, 0, null, 0);
2429
2519
  for (let t = 0; t < n.length; t++) {
2430
- let r = n[t], o = Pn(e, r, "publisher", null, Lt.KW_REQUIRED), i = Pn(e, r, "subscriber", null, Lt.KW_REQUIRED);
2431
- an(r, "s_event", Ln(e, r, "event", "", Lt.KW_REQUIRED)), an(r, "s_publisher", Ve(o)), an(r, "s_subscriber", Ve(i));
2520
+ let r = n[t], o = Pn(e, r, "publisher", null, Lt.KW_REQUIRED), l = Pn(e, r, "subscriber", null, Lt.KW_REQUIRED);
2521
+ an(r, "s_event", Ln(e, r, "event", "", Lt.KW_REQUIRED)), an(r, "s_publisher", Ve(o)), an(r, "s_subscriber", Ve(l));
2432
2522
  }
2433
2523
  return {
2434
2524
  subscriptions: t,
@@ -2454,20 +2544,20 @@
2454
2544
  return function e(n, r) {
2455
2545
  let o = r.dl_children;
2456
2546
  for (let r = 0; r < o.length; r++) {
2457
- let i = o[r];
2458
- tt(i, t) && n.push(i), e(n, i);
2547
+ let l = o[r];
2548
+ tt(l, t) && n.push(l), e(n, l);
2459
2549
  }
2460
2550
  }(n, e), n;
2461
- }, e.gobj_match_gobj = tt, e.gobj_name = Fe, e.gobj_parent = We, e.gobj_pause = De, e.gobj_play = we, e.gobj_post_event = function(e, t, r, o) {
2462
- return e && e instanceof O ? e.obflag & (w.obflag_destroyed | w.obflag_destroying) ? (Ht(`gobj_post_event(): gobj dst DESTROYING, event ${t}`), -1) : Sn(t) ? (Ht("gobj_post_event(): event EMPTY"), -1) : Et(e, t, 0) ? ht.length >= 1e4 ? (Ht(`gobj_post_event(): too many posted events, this is NOT a work queue, event ${t}, pending ${ht.length}`), -1) : (ht.push({
2551
+ }, e.gobj_match_gobj = tt, e.gobj_name = Fe, e.gobj_parent = We, e.gobj_pause = De, e.gobj_play = Re, e.gobj_post_event = function(e, t, r, o) {
2552
+ return e && e instanceof O ? e.obflag & (R.obflag_destroyed | R.obflag_destroying) ? (Ht(`gobj_post_event(): gobj dst DESTROYING, event ${t}`), -1) : Sn(t) ? (Ht("gobj_post_event(): event EMPTY"), -1) : Et(e, t, 0) ? ht.length >= 1e4 ? (Ht(`gobj_post_event(): too many posted events, this is NOT a work queue, event ${t}, pending ${ht.length}`), -1) : (ht.push({
2463
2553
  dst: e,
2464
2554
  event: t,
2465
2555
  kw: r,
2466
2556
  src: o
2467
- }), J(e, t) && !q(o, t) && L(n("📬 posted(%s%s), ev: %s, pending: %d", e.running ? "" : "!!", Ve(e), t, ht.length)), yt || (yt = !0, setTimeout(vt, 0)), 0) : (Ht(`gobj_post_event(): event NOT DEFINED in gclass ${Ge(e)}, event ${t}`), -1) : (Ht(`gobj_post_event(): gobj dst NULL, event ${t}`), -1);
2557
+ }), J(e, t) && !q(o, t) && L(n("📬 posted(%s%s), ev: %s, pending: %d", e.running ? "" : "!!", Ve(e), t, ht.length)), yt || (yt = !0, setTimeout(jt, 0)), 0) : (Ht(`gobj_post_event(): event NOT DEFINED in gclass ${Ge(e)}, event ${t}`), -1) : (Ht(`gobj_post_event(): gobj dst NULL, event ${t}`), -1);
2468
2558
  }, e.gobj_posted_events_size = function() {
2469
2559
  return ht.length;
2470
- }, e.gobj_publish_event = Ct, e.gobj_read_attr = it, e.gobj_read_attrs = lt, e.gobj_read_bool_attr = st, e.gobj_read_integer_attr = _t, e.gobj_read_pointer_attr = ut, e.gobj_read_str_attr = at, e.gobj_remove_persistent_attrs = function(e, t) {
2560
+ }, e.gobj_publish_event = Ct, e.gobj_read_attr = lt, e.gobj_read_attrs = it, e.gobj_read_bool_attr = st, e.gobj_read_integer_attr = _t, e.gobj_read_pointer_attr = ut, e.gobj_read_str_attr = at, e.gobj_remove_persistent_attrs = function(e, t) {
2471
2561
  return Ie(e) ? a ? a(e, t) : -1 : (Ht(`${Ve(e)}: Only gobj services can load/save writable-persistent`), -1);
2472
2562
  }, e.gobj_repr_global_trace_levels = function() {
2473
2563
  return U.map(([e, t, n]) => ({
@@ -2481,17 +2571,17 @@
2481
2571
  if (Ye(e)) return Ht("gobj NULL or DESTROYED"), -1;
2482
2572
  let r = e.gclass.attrs_table;
2483
2573
  for (let o = 0; o < r.length; o++) {
2484
- const i = r[o];
2485
- if (i.name && !(n && i.flag & n) && (-1 === t || i.flag & t)) {
2486
- const t = z(e, e.jn_attrs, i);
2487
- pn(e.priv) && e.priv.hasOwnProperty(i.name) && (e.priv[i.name] = t), e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, i.name);
2574
+ const l = r[o];
2575
+ if (l.name && !(n && l.flag & n) && (-1 === t || l.flag & t)) {
2576
+ const t = z(e, e.jn_attrs, l);
2577
+ pn(e.priv) && e.priv.hasOwnProperty(l.name) && (e.priv[l.name] = t), e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, l.name);
2488
2578
  }
2489
2579
  }
2490
2580
  return 0;
2491
2581
  }(e, h.SDF_VOLATIL, 0);
2492
2582
  }, e.gobj_save_persistent_attrs = function(e, t) {
2493
2583
  return Ie(e) ? _ ? _(e, t) : -1 : (Ht(`${Ve(e)}: Only gobj services can load/save writable-persistent`), -1);
2494
- }, e.gobj_search_path = rt, e.gobj_send_event = jt, e.gobj_services = function() {
2584
+ }, e.gobj_search_path = rt, e.gobj_send_event = vt, e.gobj_services = function() {
2495
2585
  let e = [];
2496
2586
  for (const t of Object.keys(b)) cn(e, t);
2497
2587
  return e;
@@ -2523,12 +2613,12 @@
2523
2613
  return r ? (n ? e.trace_level |= r : e.trace_level &= ~r, 0) : -1;
2524
2614
  }, e.gobj_set_trace_machine_format = function(e) {
2525
2615
  C = 1 === Number(e) ? 1 : 0;
2526
- }, e.gobj_short_name = Ve, e.gobj_start = ve, e.gobj_start_children = function(e) {
2527
- return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : He(e, A.WALK_FIRST2LAST, je, 0, 0);
2616
+ }, e.gobj_short_name = Ve, e.gobj_start = je, e.gobj_start_children = function(e) {
2617
+ return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : He(e, A.WALK_FIRST2LAST, ve, 0, 0);
2528
2618
  }, e.gobj_start_tree = function(e) {
2529
- return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : (B(e) && L(n("⏺ ⏺ ⏺ ⏺ start_tree: %s", Me(e))), e.gclass.gclass_flag & N.gcflag_manual_start || e.disabled ? 0 : (e.running || ve(e), ze(e, A.WALK_TOP2BOTTOM, Se, 0, 0)));
2530
- }, e.gobj_start_up = function(e, t, n, r, o, i, l) {
2531
- s = t, _ = n, a = r, u = o, c = i, f = l;
2619
+ return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : (B(e) && L(n("⏺ ⏺ ⏺ ⏺ start_tree: %s", Me(e))), e.gclass.gclass_flag & N.gcflag_manual_start || e.disabled ? 0 : (e.running || je(e), ze(e, A.WALK_TOP2BOTTOM, Se, 0, 0)));
2620
+ }, e.gobj_start_up = function(e, t, n, r, o, l, i) {
2621
+ s = t, _ = n, a = r, u = o, c = l, f = i;
2532
2622
  const d = [["EV_STATE_CHANGED", D.EVF_SYSTEM_EVENT | D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS], [0, 0]];
2533
2623
  for (let e = 0; e < d.length; e++) {
2534
2624
  let t = d[e][0], n = d[e][1];
@@ -2536,8 +2626,8 @@
2536
2626
  }
2537
2627
  return 0;
2538
2628
  }, e.gobj_stats = function(e, t, r, o) {
2539
- return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : e.gclass.gmt.mt_stats ? e.gclass.gmt.mt_stats(e, t, r, o) : f ? f(e, t, r, o) : i(0, -1, n("%s, stats parser not available", Ve(e)), 0, 0);
2540
- }, e.gobj_stop = Oe, e.gobj_stop_children = Re, e.gobj_stop_tree = function(e) {
2629
+ return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : e.gclass.gmt.mt_stats ? e.gclass.gmt.mt_stats(e, t, r, o) : f ? f(e, t, r, o) : l(0, -1, n("%s, stats parser not available", Ve(e)), 0, 0);
2630
+ }, e.gobj_stop = Oe, e.gobj_stop_children = we, e.gobj_stop_tree = function(e) {
2541
2631
  return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : (B(e) && L(n("⏹ ⏹ ⏹ ⏹ stop_tree: %s", Me(e))), Ae(e) && Oe(e), ze(e, A.WALK_TOP2BOTTOM, Ne, 0, 0));
2542
2632
  }, e.gobj_subscribe_event = At, e.gobj_trace_level = W, e.gobj_trace_machine_format = function() {
2543
2633
  return C;
@@ -2555,35 +2645,35 @@
2555
2645
  o.has(n) || Ht(`${Ve(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
2556
2646
  }), Sn(t)) t = "";
2557
2647
  else if (!(Tt(e, t, D.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & N.gcflag_no_check_output_events)) return Ht(`event NOT in output event list: ${Ve(e)}, ev ${t}`), 0;
2558
- let i = Rt(e.dl_subscriptions, e, t, n, r), l = 0;
2559
- for (let t = 0; t < i.length; t++) {
2560
- let n = i[t];
2561
- Dt(e, n, !1, !1), l++;
2648
+ let l = wt(e.dl_subscriptions, e, t, n, r), i = 0;
2649
+ for (let t = 0; t < l.length; t++) {
2650
+ let n = l[t];
2651
+ Dt(e, n, !1, !1), i++;
2562
2652
  }
2563
- return l || (zt(`${Ve(e)}: No subscription found`), Zt(n, "No subscription found")), 0;
2653
+ return i || (zt(`${Ve(e)}: No subscription found`), Zt(n, "No subscription found")), 0;
2564
2654
  }, e.gobj_unsubscribe_list = kt, e.gobj_walk_gobj_children = He, e.gobj_walk_gobj_children_tree = ze, e.gobj_write_attr = function(e, t, r, o) {
2565
2655
  if (!En(t)) return Ht(n("gobj_write_attr(%s): path must be a string", Ve(e))), -1;
2566
- let i, l = e.jn_attrs, s = t.split("`");
2656
+ let l, i = e.jn_attrs, s = t.split("`");
2567
2657
  if (s.length <= 1) {
2568
2658
  let o = t;
2569
- return o in l && l.hasOwnProperty(o) ? (l[o] = r, pn(e.priv) && e.priv.hasOwnProperty(o) && (e.priv[o] = r), e.obflag & w.obflag_created && !(e.obflag & w.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, o), 0) : (Ht(n("gobj_write_attr(%s): attr not found '%s'", Ve(e), o)), -1);
2659
+ return o in i && i.hasOwnProperty(o) ? (i[o] = r, pn(e.priv) && e.priv.hasOwnProperty(o) && (e.priv[o] = r), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, o), 0) : (Ht(n("gobj_write_attr(%s): attr not found '%s'", Ve(e), o)), -1);
2570
2660
  }
2571
2661
  let _ = s.length;
2572
2662
  for (let t = 0; t < _; t++) {
2573
- i = s[t];
2574
- let n = nt(e, { __gobj_name__: i });
2663
+ l = s[t];
2664
+ let n = nt(e, { __gobj_name__: l });
2575
2665
  if (n && t < _ - 1) {
2576
2666
  e = n;
2577
2667
  continue;
2578
2668
  }
2579
2669
  let o = e.jn_attrs;
2580
- if (i in o && o.hasOwnProperty(i)) return o[i] = r, pn(e.priv) && e.priv.hasOwnProperty(i) && (e.priv[i] = r), e.obflag & w.obflag_created && !(e.obflag & w.obflag_destroyed) && e.mt_writing && e.mt_writing(e, i), 0;
2670
+ if (l in o && o.hasOwnProperty(l)) return o[l] = r, pn(e.priv) && e.priv.hasOwnProperty(l) && (e.priv[l] = r), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.mt_writing && e.mt_writing(e, l), 0;
2581
2671
  break;
2582
2672
  }
2583
- return Ht(n("gobj_write_attr(%s): attr not found '%s'", Ve(e), i)), -1;
2673
+ return Ht(n("gobj_write_attr(%s): attr not found '%s'", Ve(e), l)), -1;
2584
2674
  }, e.gobj_write_attrs = ct, e.gobj_write_bool_attr = ft, e.gobj_write_integer_attr = gt, e.gobj_write_str_attr = dt, e.gobj_yuno = Ce, e.gobj_yuno_id = Ue, e.gobj_yuno_name = Le, e.gobj_yuno_role = Pe, e.id_index_in_obj_list = zn, e.index_in_list = ur, e.is_array = mn, e.is_boolean = hn, e.is_date = function(e) {
2585
2675
  return e instanceof Date && !isNaN(e);
2586
- }, e.is_function = vn, e.is_gobj = jn, e.is_metadata_key = function(e) {
2676
+ }, e.is_function = jn, e.is_gobj = vn, e.is_metadata_key = function(e) {
2587
2677
  if (!En(e)) return !1;
2588
2678
  let t;
2589
2679
  for (t = 0; t < e.length && "_" === e[t] && !(t > 2); t++);
@@ -2602,9 +2692,9 @@
2602
2692
  let o = Fn(null, Fn(null, e, "topics", null, 0), t, null, 0);
2603
2693
  if (!o) return Ht("jdb_delete: topic not found: " + t), null;
2604
2694
  if (Sn(r.id)) return Ht("jdb_delete: record without id: " + r), Xt(r), null;
2605
- let i, l = n.split("`"), s = o;
2606
- for (; (i = l.shift()) && !Sn(i) && s;) pn(s) && (s = Fn(null, s, e.hook, null, 0)), s = ir(s, null, i, !1);
2607
- if (0 === l.length && s) if (mn(s)) {
2695
+ let l, i = n.split("`"), s = o;
2696
+ for (; (l = i.shift()) && !Sn(l) && s;) pn(s) && (s = Fn(null, s, e.hook, null, 0)), s = lr(s, null, l, !1);
2697
+ if (0 === i.length && s) if (mn(s)) {
2608
2698
  let e = zn(s, r.id);
2609
2699
  e >= 0 && s.splice(e, 1);
2610
2700
  } else {
@@ -2614,7 +2704,7 @@
2614
2704
  return o;
2615
2705
  }, e.jdb_get = function(e, t, n, r) {
2616
2706
  let o = Fn(null, Fn(null, e, "topics", null, 0), t, null, 0);
2617
- return o ? (void 0 === r && (r = !0), ir(o, e.hook, n, r)) : (Ht("jdb_get: topic not found: " + t), null);
2707
+ return o ? (void 0 === r && (r = !0), lr(o, e.hook, n, r)) : (Ht("jdb_get: topic not found: " + t), null);
2618
2708
  }, e.jdb_get_by_idx = function(e, t, n) {
2619
2709
  let r = Fn(null, Fn(null, e, "topics", null, 0), t, null, 0);
2620
2710
  return r ? n < r.length ? r[n] : {} : (Ht("jdb_get_by_idx: topic not found: " + t), null);
@@ -2626,28 +2716,49 @@
2626
2716
  n && (e = en(e));
2627
2717
  let r = Fn(null, e, "type", [], 1);
2628
2718
  Ln(null, e, "hook", "data", 1);
2629
- let o = Fn(null, e, "schema", {}, 1), i = Fn(null, e, "topics", {}, 1);
2719
+ let o = Fn(null, e, "schema", {}, 1), l = Fn(null, e, "topics", {}, 1);
2630
2720
  return or(o, function(e, t, n, o) {
2631
- "__" !== t.substring(0, 2) && Fn(null, i, o, en(r), 1);
2721
+ "__" !== t.substring(0, 2) && Fn(null, l, o, en(r), 1);
2632
2722
  }, t), e;
2633
2723
  }, e.jdb_update = function(e, t, n, r) {
2634
2724
  let o = Fn(null, Fn(null, e, "topics", null, 0), t, null, 0);
2635
2725
  if (!o) return Ht("jdb_update: topic not found: " + t), null;
2636
2726
  if (Sn(r.id)) return Ht("jdb_update: record without id: " + r), Xt(r), null;
2637
- let i, l = n.split("`"), s = o;
2638
- for (; (i = l.shift()) && !Sn(i) && s;) pn(s) && (s = Fn(null, s, e.hook, [], 1)), s = ir(s, null, i, !1);
2639
- if (0 === l.length && s) if (mn(s)) s.push(r);
2727
+ let l, i = n.split("`"), s = o;
2728
+ for (; (l = i.shift()) && !Sn(l) && s;) pn(s) && (s = Fn(null, s, e.hook, [], 1)), s = lr(s, null, l, !1);
2729
+ if (0 === i.length && s) if (mn(s)) s.push(r);
2640
2730
  else if (s.id === r.id) Object.assign(s, r);
2641
2731
  else {
2642
- let t = Fn(null, s, e.hook, [], 1), n = ir(t, e.hook, r.id, !1);
2732
+ let t = Fn(null, s, e.hook, [], 1), n = lr(t, e.hook, r.id, !1);
2643
2733
  n ? Object.assign(n, r) : t.push(r);
2644
2734
  }
2645
2735
  return o;
2736
+ }, e.json2flat = function(e) {
2737
+ const t = {}, n = (e, r, o) => {
2738
+ if (o > gr) throw new Error("json2flat: deeper than 256");
2739
+ if (null === e || "object" != typeof e || Array.isArray(e)) {
2740
+ if (Array.isArray(e) && e.length > 0) return void e.forEach((e, t) => {
2741
+ const l = `[${t}]`;
2742
+ n(e, 0 === o ? l : r + "`" + l, o + 1);
2743
+ });
2744
+ } else {
2745
+ const t = Object.keys(e);
2746
+ if (t.length > 0) {
2747
+ for (const l of t) {
2748
+ const t = br(l);
2749
+ n(e[l], 0 === o ? t : r + "`" + t, o + 1);
2750
+ }
2751
+ return;
2752
+ }
2753
+ }
2754
+ 0 !== o && (t[r] = e);
2755
+ };
2756
+ return null == e || n(e, "", 0), t;
2646
2757
  }, e.json_array_append = un, e.json_array_append_new = cn, e.json_array_extend = function(e, t) {
2647
2758
  return t ? (Array.prototype.push.apply(e, t), e) : e;
2648
2759
  }, e.json_array_remove = fn, e.json_array_size = dn, e.json_deep_copy = en, e.json_is_identical = tn, e.json_object_del = sn, e.json_object_get = ln, e.json_object_set = _n, e.json_object_set_new = an, e.json_object_size = gn, e.json_object_update = nn, e.json_object_update_existing = rn, e.json_object_update_missing = on, e.json_size = bn, e.jwt2json = function(e, t) {
2649
2760
  try {
2650
- let n = lr(e);
2761
+ let n = ir(e);
2651
2762
  switch (t) {
2652
2763
  case "header": return JSON.parse(n.header);
2653
2764
  case "signature": return JSON.parse(n.signature);
@@ -2656,13 +2767,13 @@
2656
2767
  } catch (e) {
2657
2768
  return null;
2658
2769
  }
2659
- }, e.jwtDecode = lr, e.kw_clone_by_keys = Kn, e.kw_clone_by_not_keys = xn, e.kw_collect = function(e, t, n, r) {
2660
- if (e && !jn(e) && Ht("GObj bad instanceof"), !t) return null;
2770
+ }, e.jwtDecode = ir, e.kw_clone_by_keys = Kn, e.kw_clone_by_not_keys = xn, e.kw_collect = function(e, t, n, r) {
2771
+ if (e && !vn(e) && Ht("GObj bad instanceof"), !t) return null;
2661
2772
  r || (r = Wn);
2662
2773
  let o = [];
2663
2774
  if (mn(t)) for (let e = 0; e < t.length; e++) {
2664
- let i = t[e];
2665
- r(i, n) && o.push(i);
2775
+ let l = t[e];
2776
+ r(l, n) && o.push(l);
2666
2777
  }
2667
2778
  else {
2668
2779
  if (!pn(t)) return Ht("kw_select() BAD kw parameter"), null;
@@ -2674,36 +2785,36 @@
2674
2785
  for (let e = 0; e < t.length; e++) if (tn(n, t[e])) return e;
2675
2786
  return r && Ht("item not found in this list"), -1;
2676
2787
  }, e.kw_find_path = kn, e.kw_flag_t = Lt, e.kw_get_bool = $n, e.kw_get_dict = Un, e.kw_get_dict_value = Fn, e.kw_get_int = Cn, e.kw_get_list = function(e, t, n, r, o) {
2677
- e && !jn(e) && Ht("GObj bad instanceof");
2678
- let i = kn(e, t, n, !1);
2679
- const l = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
2680
- if (void 0 === i) {
2788
+ e && !vn(e) && Ht("GObj bad instanceof");
2789
+ let l = kn(e, t, n, !1);
2790
+ const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
2791
+ if (void 0 === l) {
2681
2792
  if (s) {
2682
2793
  let o = Array(r);
2683
2794
  return Gn(e, t, n, o), o;
2684
2795
  }
2685
- return l && (Ht(`path not found: '${n}'`), Zt(t)), Array(r);
2796
+ return i && (Ht(`path not found: '${n}'`), Zt(t)), Array(r);
2686
2797
  }
2687
- return _ && In(e, t, n), mn(i) ? Array(i) : (l && (Ht(`path value MUST BE an array: ${n}`), Xt(t)), Array(r));
2798
+ return _ && In(e, t, n), mn(l) ? Array(l) : (i && (Ht(`path value MUST BE an array: ${n}`), Xt(t)), Array(r));
2688
2799
  }, e.kw_get_local_storage_value = Yn, e.kw_get_pointer = Pn, e.kw_get_real = function(e, t, n, r, o) {
2689
- e && !jn(e) && Ht("GObj bad instanceof");
2690
- let i = kn(e, t, n, !1);
2691
- const l = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
2692
- if (void 0 === i) {
2800
+ e && !vn(e) && Ht("GObj bad instanceof");
2801
+ let l = kn(e, t, n, !1);
2802
+ const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
2803
+ if (void 0 === l) {
2693
2804
  if (s) {
2694
2805
  let o = Number(r);
2695
2806
  return Gn(e, t, n, o), o;
2696
2807
  }
2697
- return l && (Ht(`path not found: '${n}'`), Zt(t)), Number(r);
2808
+ return i && (Ht(`path not found: '${n}'`), Zt(t)), Number(r);
2698
2809
  }
2699
- return _ && In(e, t, n), Tn(i) ? Number(i) : (l && (Ht(`path value MUST BE a number: ${n}`), Xt(t)), Number(r));
2810
+ return _ && In(e, t, n), Tn(l) ? Number(l) : (i && (Ht(`path value MUST BE a number: ${n}`), Xt(t)), Number(r));
2700
2811
  }, e.kw_get_str = Ln, e.kw_has_key = An, e.kw_match_simple = Wn, e.kw_pop = Dn, e.kw_remove_local_storage_value = Jn, e.kw_select = function(e, t, n, r) {
2701
- if (e && !jn(e) && Ht("GObj bad instanceof"), !t) return null;
2812
+ if (e && !vn(e) && Ht("GObj bad instanceof"), !t) return null;
2702
2813
  r || (r = Wn);
2703
2814
  let o = [];
2704
2815
  if (mn(t)) for (let e = 0; e < t.length; e++) {
2705
- let i = t[e];
2706
- r(i, n) && o.push(en(i));
2816
+ let l = t[e];
2817
+ r(l, n) && o.push(en(l));
2707
2818
  }
2708
2819
  else {
2709
2820
  if (!pn(t)) return Ht("kw_select() BAD kw parameter"), null;
@@ -2711,11 +2822,11 @@
2711
2822
  }
2712
2823
  return o;
2713
2824
  }, e.kw_set_dict_value = Gn, e.kw_set_local_storage_value = Bn, e.kw_set_subdict_value = Vn, e.kwid_collect = Hn, e.kwid_find_one_record = function(e, t, n, r, o) {
2714
- e && !jn(e) && Ht("GObj bad instanceof");
2715
- let i = Hn(e, t, n, r, o);
2716
- return i.length > 0 ? i[0] : null;
2825
+ e && !vn(e) && Ht("GObj bad instanceof");
2826
+ let l = Hn(e, t, n, r, o);
2827
+ return l.length > 0 ? l[0] : null;
2717
2828
  }, e.kwid_get_ids = function(e, t) {
2718
- if (e && !jn(e) && Ht("GObj bad instanceof"), !t) return [];
2829
+ if (e && !vn(e) && Ht("GObj bad instanceof"), !t) return [];
2719
2830
  let n = [];
2720
2831
  if (En(t)) n.push(t);
2721
2832
  else if (pn(t)) for (let e in t) t.hasOwnProperty(e) && n.push(e);
@@ -2728,12 +2839,12 @@
2728
2839
  });
2729
2840
  return n;
2730
2841
  }, e.kwid_match_id = qn, e.kwid_new_dict = function(e, t, n) {
2731
- e && !jn(e) && Ht("GObj bad instanceof");
2842
+ e && !vn(e) && Ht("GObj bad instanceof");
2732
2843
  let r = {};
2733
2844
  if (Sn(n) || (t = kn(e, t, n)), pn(t)) r = t;
2734
2845
  else if (mn(t)) for (let n = 0; n < t.length; n++) {
2735
- let o = t[n], i = Ln(e, o, "id", "", 0);
2736
- Sn(i) || (r[i] = o);
2846
+ let o = t[n], l = Ln(e, o, "id", "", 0);
2847
+ Sn(l) || (r[l] = o);
2737
2848
  }
2738
2849
  else Ht(`${Ve(e)} kwid_new_dict: data type unknown`);
2739
2850
  return r;
@@ -2741,28 +2852,28 @@
2741
2852
  t = t || "id", n = n || "value";
2742
2853
  let r = [];
2743
2854
  if (mn(e)) for (let o = 0; o < e.length; o++) {
2744
- let i = e[o];
2745
- if (En(i)) r.push({
2855
+ let l = e[o];
2856
+ if (En(l)) r.push({
2746
2857
  id: e[o],
2747
2858
  value: e[o]
2748
2859
  });
2749
- else if (pn(i)) {
2860
+ else if (pn(l)) {
2750
2861
  let e = {};
2751
- if (An(i, t)) {
2752
- if (!An(i, n)) {
2753
- if (!(bn(i) > 0)) {
2862
+ if (An(l, t)) {
2863
+ if (!An(l, n)) {
2864
+ if (!(bn(l) > 0)) {
2754
2865
  Ht("list2options(): object without field value: " + n);
2755
2866
  continue;
2756
2867
  }
2757
- n = Object.keys(i)[0];
2868
+ n = Object.keys(l)[0];
2758
2869
  }
2759
- e.id = i[t], e.value = i[n];
2870
+ e.id = l[t], e.value = l[n];
2760
2871
  } else {
2761
- if (!(bn(i) > 0)) {
2872
+ if (!(bn(l) > 0)) {
2762
2873
  Ht("list2options(): object without field id: " + t);
2763
2874
  continue;
2764
2875
  }
2765
- t = Object.keys(i)[0], e.id = t, e.value = i[t];
2876
+ t = Object.keys(l)[0], e.id = t, e.value = l[t];
2766
2877
  }
2767
2878
  r.push(e);
2768
2879
  } else Ht("list2options(): case1 not implemented");
@@ -2790,7 +2901,7 @@
2790
2901
  }, e.log_warning = zt, e.msg_iev_get_msg_type = rr, e.msg_iev_get_stack = tr, e.msg_iev_push_stack = er, e.msg_iev_read_key = Xn, e.msg_iev_set_msg_type = nr, e.msg_iev_write_key = Zn, e.node_uuid = cr, e.parseBoolean = On, e.parseSVG = function(e) {
2791
2902
  return new DOMParser().parseFromString(e, "image/svg+xml").firstChild;
2792
2903
  }, e.refresh_language = function(e, t) {
2793
- vn(t) ? (e || (e = document), e.querySelectorAll("[data-i18n]").forEach(function(e) {
2904
+ jn(t) ? (e || (e = document), e.querySelectorAll("[data-i18n]").forEach(function(e) {
2794
2905
  let n = e.getAttribute("data-i18n");
2795
2906
  for (let r of e.childNodes) if (r.nodeType === Node.TEXT_NODE) {
2796
2907
  n || (n = r.nodeValue), r.nodeValue = t(n);
@@ -2808,22 +2919,22 @@
2808
2919
  })) : Ht("You must supply a translation function");
2809
2920
  }, e.register_c_ievent_cli = function() {
2810
2921
  return function(e) {
2811
- if (Lr) return Ht(`GClass ALREADY created: ${e}`), -1;
2922
+ if (Vr) return Ht(`GClass ALREADY created: ${e}`), -1;
2812
2923
  const t = [
2813
2924
  ["ST_DISCONNECTED", [
2814
2925
  [
2815
2926
  "EV_ON_OPEN",
2816
- Yr,
2927
+ zr,
2817
2928
  "ST_WAIT_IDENTITY_CARD_ACK"
2818
2929
  ],
2819
2930
  [
2820
2931
  "EV_ON_CLOSE",
2821
- Br,
2932
+ Qr,
2822
2933
  null
2823
2934
  ],
2824
2935
  [
2825
2936
  "EV_TIMEOUT",
2826
- xr,
2937
+ Hr,
2827
2938
  null
2828
2939
  ],
2829
2940
  [
@@ -2835,22 +2946,22 @@
2835
2946
  ["ST_WAIT_IDENTITY_CARD_ACK", [
2836
2947
  [
2837
2948
  "EV_ON_MESSAGE",
2838
- Hr,
2949
+ eo,
2839
2950
  null
2840
2951
  ],
2841
2952
  [
2842
2953
  "EV_IDENTITY_CARD_ACK",
2843
- qr,
2954
+ Zr,
2844
2955
  null
2845
2956
  ],
2846
2957
  [
2847
2958
  "EV_ON_CLOSE",
2848
- Br,
2959
+ Qr,
2849
2960
  "ST_DISCONNECTED"
2850
2961
  ],
2851
2962
  [
2852
2963
  "EV_TIMEOUT",
2853
- Jr,
2964
+ Xr,
2854
2965
  null
2855
2966
  ],
2856
2967
  [
@@ -2862,22 +2973,22 @@
2862
2973
  ["ST_SESSION", [
2863
2974
  [
2864
2975
  "EV_ON_MESSAGE",
2865
- Hr,
2976
+ eo,
2866
2977
  null
2867
2978
  ],
2868
2979
  [
2869
2980
  "EV_MT_STATS",
2870
- zr,
2981
+ to,
2871
2982
  null
2872
2983
  ],
2873
2984
  [
2874
2985
  "EV_MT_COMMAND",
2875
- Qr,
2986
+ no,
2876
2987
  null
2877
2988
  ],
2878
2989
  [
2879
2990
  "EV_ON_CLOSE",
2880
- Br,
2991
+ Qr,
2881
2992
  "ST_DISCONNECTED"
2882
2993
  ],
2883
2994
  [
@@ -2888,7 +2999,7 @@
2888
2999
  ]],
2889
3000
  [null, null]
2890
3001
  ];
2891
- return (Lr = te(e, [
3002
+ return (Vr = te(e, [
2892
3003
  ["EV_ON_MESSAGE", D.EVF_OUTPUT_EVENT],
2893
3004
  ["EV_IDENTITY_CARD_ACK", D.EVF_PUBLIC_EVENT],
2894
3005
  ["EV_ON_ID_NAK", D.EVF_PUBLIC_EVENT | D.EVF_OUTPUT_EVENT],
@@ -2899,31 +3010,31 @@
2899
3010
  ["EV_ON_OPEN_ERROR", D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS],
2900
3011
  ["EV_TIMEOUT", 0],
2901
3012
  [null, 0]
2902
- ], t, Xr, 0, $r, Cr, 0, 0, 0, N.gcflag_no_check_output_events)) ? 0 : -1;
3013
+ ], t, ro, 0, Fr, Gr, 0, 0, 0, N.gcflag_no_check_output_events)) ? 0 : -1;
2903
3014
  }("C_IEVENT_CLI");
2904
3015
  }, e.register_c_timer = function() {
2905
3016
  return function(e) {
2906
- if (yr) return Ht(`GClass ALREADY created: ${e}`), -1;
3017
+ if (Nr) return Ht(`GClass ALREADY created: ${e}`), -1;
2907
3018
  const t = [["ST_IDLE", [[
2908
3019
  "EV_TIMEOUT",
2909
- vr,
3020
+ wr,
2910
3021
  null
2911
3022
  ]]]];
2912
- return (yr = te(e, [
3023
+ return (Nr = te(e, [
2913
3024
  ["EV_TIMEOUT", D.EVF_OUTPUT_EVENT],
2914
3025
  ["EV_TIMEOUT_PERIODIC", D.EVF_OUTPUT_EVENT],
2915
3026
  [0, 0]
2916
- ], t, jr, 0, Tr, hr, 0, 0, 0, N.gcflag_manual_start)) ? 0 : -1;
3027
+ ], t, Rr, 0, Sr, Or, 0, 0, 0, N.gcflag_manual_start)) ? 0 : -1;
2917
3028
  }("C_TIMER");
2918
3029
  }, e.register_c_yuno = function() {
2919
3030
  return function(e) {
2920
- if (Dr) return Ht(`GClass ALREADY created: ${e}`), -1;
3031
+ if (Cr) return Ht(`GClass ALREADY created: ${e}`), -1;
2921
3032
  const t = [["ST_IDLE", [[
2922
3033
  "EV_TIMEOUT_PERIODIC",
2923
- Ar,
3034
+ Lr,
2924
3035
  null
2925
3036
  ]]]];
2926
- return (Dr = te(e, [["EV_TIMEOUT_PERIODIC", D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS], [0, 0]], t, kr, 0, Rr, wr, 0, 0, 0, 0)) ? 0 : -1;
3037
+ return (Cr = te(e, [["EV_TIMEOUT_PERIODIC", D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS], [0, 0]], t, Pr, 0, Ir, $r, 0, 0, 0, 0)) ? 0 : -1;
2927
3038
  }("C_YUNO");
2928
3039
  }, e.safeSrc = function(e) {
2929
3040
  if (!e) return "";
@@ -2940,7 +3051,7 @@
2940
3051
  Kt = "function" == typeof e ? e : null;
2941
3052
  }, e.set_log_callback = function(e) {
2942
3053
  Mt = "function" == typeof e ? e : null;
2943
- }, e.set_remote_log_functions = Jt, e.set_timeout = Sr, e.set_timeout_periodic = Or, e.sprintf = n, e.stats_parser = function(e, t, n, r) {}, e.str_in_list = Qn, e.strcasecmp = Rn, e.strcmp = Nn, e.strncmp = function(e, t, n) {
3054
+ }, e.set_remote_log_functions = Jt, e.set_timeout = Dr, e.set_timeout_periodic = Ar, e.sprintf = n, e.stats_parser = function(e, t, n, r) {}, e.str_in_list = Qn, e.strcasecmp = wn, e.strcmp = Nn, e.strncmp = function(e, t, n) {
2944
3055
  var r = (e + "").substring(0, n), o = (t + "").substring(0, n);
2945
3056
  return r === o ? 0 : r > o ? 1 : -1;
2946
3057
  }, e.strs_in_list = function(e, t, n) {
@@ -2969,9 +3080,9 @@
2969
3080
  let e = t.split(".");
2970
3081
  for (let t = 0; t < e.length; t++) {
2971
3082
  let r = e[t];
2972
- if (Qn(br, r)) n.real_type || (n.real_type = r);
2973
- else if (Qn(mr, r)) n.type || (n.type = r);
2974
- else if (Qn(pr, r)) switch (r) {
3083
+ if (Qn(hr, r)) n.real_type || (n.real_type = r);
3084
+ else if (Qn(jr, r)) n.type || (n.type = r);
3085
+ else if (Qn(yr, r)) switch (r) {
2975
3086
  case "writable":
2976
3087
  n.is_writable = !0;
2977
3088
  break;
@@ -2983,19 +3094,19 @@
2983
3094
  }
2984
3095
  }
2985
3096
  n.real_type || (n.real_type = "string");
2986
- } else pn(t) ? (n = Er(t), n.name || (n.name = e), n.header || (n.header = e)) : mn(t) && (n.real_type = "array", n.enum_list = t);
3097
+ } else pn(t) ? (n = vr(t), n.name || (n.name = e), n.header || (n.header = e)) : mn(t) && (n.real_type = "array", n.enum_list = t);
2987
3098
  return n.type || (n.type = n.real_type), n;
2988
3099
  }, e.timeTracker = function(e = "Time Tracker", t = !1) {
2989
3100
  const n = e, r = performance.now();
2990
3101
  let o = r;
2991
- return t && zt(`--\x3e ${n} - starting`), { mark: (e = "Intermediate", i = "") => {
2992
- const l = performance.now(), s = (l - o) / 1e3, _ = (l - r) / 1e3;
2993
- return t && zt(`--\x3e ${n} ${e} - partial: ${s} sec, total: ${_} sec, ${i}`), o = l, {
3102
+ return t && zt(`--\x3e ${n} - starting`), { mark: (e = "Intermediate", l = "") => {
3103
+ const i = performance.now(), s = (i - o) / 1e3, _ = (i - r) / 1e3;
3104
+ return t && zt(`--\x3e ${n} ${e} - partial: ${s} sec, total: ${_} sec, ${l}`), o = i, {
2994
3105
  partial: s,
2995
3106
  total: _
2996
3107
  };
2997
3108
  } };
2998
- }, e.trace_json = Zt, e.trace_level_t = P, e.trace_msg = Xt, e.treedb_decoder_fkey = dr, e.treedb_decoder_hook = function(e, t) {
3109
+ }, e.trace_json = Zt, e.trace_level_t = P, e.trace_msg = Xt, e.treedb_decoder_fkey = Tr, e.treedb_decoder_hook = function(e, t) {
2999
3110
  if (En(t)) {
3000
3111
  if (-1 === t.indexOf("^")) {
3001
3112
  let n, r = e.hook;
@@ -3022,9 +3133,9 @@
3022
3133
  id: t.id
3023
3134
  } : (Ht("bad hook 3"), Ht(e), Ht(t), null);
3024
3135
  }, e.treedb_encoder_fkey = function(e, t) {
3025
- let n = dr(e, t);
3136
+ let n = Tr(e, t);
3026
3137
  return n ? n.topic_name + "^" + n.id + "^" + n.hook_name : null;
3027
- }, e.treedb_get_field_desc = Er, e.treedb_hook_data_size = function(e) {
3138
+ }, e.treedb_get_field_desc = vr, e.treedb_hook_data_size = function(e) {
3028
3139
  if (mn(e) && 1 === bn(e)) {
3029
3140
  let t = e[0];
3030
3141
  return An(t, "size") ? t.size : 1;