@yuneta/gobj-js 7.26.3 → 7.26.5

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.
@@ -714,7 +714,7 @@ function Be(e, t) {
714
714
  t.parent && ir(`_add_child() ALREADY HAS PARENT: ${t.gobj_name}`), e.dl_children.push(t), t.parent = e;
715
715
  }
716
716
  function Je(e, t) {
717
- let n = Ao(e.dl_children, t);
717
+ let n = Io(e.dl_children, t);
718
718
  n >= 0 && (Vr(e.dl_children, n), t.parent = null);
719
719
  }
720
720
  function qe(e, t) {
@@ -1223,7 +1223,7 @@ function Tn(e, n, r, l) {
1223
1223
  if (1 === W) Y(t("🔄 %s %s%s %s from %s%s", n || "", e.running ? "" : "!!", $t(e), o.state_name, l && !l.running ? "!!" : "", $t(l)));
1224
1224
  else {
1225
1225
  let r = "";
1226
- s.action && (r = Co(s.action)), Y(t("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Rt(e), jt(e), o.state_name, "", n || "", "", r, l && !l.running ? "!!" : "", Rt(l), jt(l)));
1226
+ s.action && (r = Lo(s.action)), Y(t("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Rt(e), jt(e), o.state_name, "", n || "", "", r, l && !l.running ? "!!" : "", Rt(l), jt(l)));
1227
1227
  }
1228
1228
  r && le(e) && Mr(r) && wr(r);
1229
1229
  }
@@ -1286,21 +1286,21 @@ function Nn(e, t) {
1286
1286
  };
1287
1287
  }
1288
1288
  function wn(e, t, n, r, l, o) {
1289
- let i = Tl(t, l, "__config__", null), s = Tl(t, l, "__global__", null), a = Tl(t, l, "__local__", null), u = vl(t, l, "__filter__", null), _ = !0;
1290
- if (t && t !== yl(null, e, "publisher", null) && (_ = !1), o && o !== yl(null, e, "subscriber", null) && (_ = !1), n && n !== El(null, e, "event", "") && (_ = !1), r && r !== El(null, e, "renamed_event", "") && (_ = !1), xr(i) > 0) {
1291
- let t = Tl(null, e, "__config__", null);
1289
+ let i = vl(t, l, "__config__", null), s = vl(t, l, "__global__", null), a = vl(t, l, "__local__", null), u = Ol(t, l, "__filter__", null), _ = !0;
1290
+ if (t && t !== Tl(null, e, "publisher", null) && (_ = !1), o && o !== Tl(null, e, "subscriber", null) && (_ = !1), n && n !== yl(null, e, "event", "") && (_ = !1), r && r !== yl(null, e, "renamed_event", "") && (_ = !1), xr(i) > 0) {
1291
+ let t = vl(null, e, "__config__", null);
1292
1292
  xr(t) > 0 && $r(t, i) || (_ = !1);
1293
1293
  }
1294
1294
  if (xr(s) > 0) {
1295
- let t = Tl(null, e, "__global__", null);
1295
+ let t = vl(null, e, "__global__", null);
1296
1296
  xr(t) > 0 && $r(t, s) || (_ = !1);
1297
1297
  }
1298
1298
  if (xr(a) > 0) {
1299
- let t = Tl(null, e, "__local__", null);
1299
+ let t = vl(null, e, "__local__", null);
1300
1300
  xr(t) > 0 && $r(t, a) || (_ = !1);
1301
1301
  }
1302
1302
  if (xr(u) > 0) {
1303
- let t = vl(null, e, "__filter__", null);
1303
+ let t = Ol(null, e, "__filter__", null);
1304
1304
  xr(t) > 0 && $r(t, u) || (_ = !1);
1305
1305
  }
1306
1306
  return _;
@@ -1317,8 +1317,8 @@ function Rn(e, t) {
1317
1317
  return e.indexOf(t);
1318
1318
  }
1319
1319
  function $n(e, n, r, l) {
1320
- let o = yl(e, n, "publisher", null, Vn.KW_REQUIRED), i = yl(e, n, "subscriber", null, Vn.KW_REQUIRED), s = El(e, n, "event", "", Vn.KW_REQUIRED);
1321
- if (!!(ml(e, n, "subs_flag", null, Vn.KW_REQUIRED) & vn.__hard_subscription__) && !r) return -1;
1320
+ let o = Tl(e, n, "publisher", null, Vn.KW_REQUIRED), i = Tl(e, n, "subscriber", null, Vn.KW_REQUIRED), s = yl(e, n, "event", "", Vn.KW_REQUIRED);
1321
+ if (!!(hl(e, n, "subs_flag", null, Vn.KW_REQUIRED) & vn.__hard_subscription__) && !r) return -1;
1322
1322
  let a = ne(i) || ne(o);
1323
1323
  if (Rn(o.dl_subscriptions, n) < 0) return a && Y(t("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s', ALREADY REMOVED", s || "", $t(o), $t(i))), 1;
1324
1324
  a && (Y(t("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", s || "", $t(o), $t(i))), cr(n)), o.obflag & P.obflag_destroyed || l || o.gclass.gmt.mt_subscription_deleted && o.gclass.gmt.mt_subscription_deleted(o, n);
@@ -1340,7 +1340,7 @@ function Dn(e, n, r, l) {
1340
1340
  }), tl(n)) n = "";
1341
1341
  else if (!(bn(e, n, U.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & C.gcflag_no_check_output_events)) return ir(`event NOT in output event list: ${$t(e)}, ${n}`), 0;
1342
1342
  let i = Nn(r, n), s = jn(e.dl_subscriptions, e, n, i.renamed_event, i.kw, l), a = null;
1343
- for (let t = 0; t < s.length; t++) if (ml(e, s[t], "subs_flag", 0, Vn.KW_REQUIRED) & vn.__hard_subscription__) {
1343
+ for (let t = 0; t < s.length; t++) if (hl(e, s[t], "subs_flag", 0, Vn.KW_REQUIRED) & vn.__hard_subscription__) {
1344
1344
  a = s[t];
1345
1345
  break;
1346
1346
  }
@@ -1351,25 +1351,25 @@ function Dn(e, n, r, l) {
1351
1351
  Pr(l, "event", t), Pr(l, "subscriber", r), Pr(l, "publisher", e);
1352
1352
  let o = 0;
1353
1353
  if (n) {
1354
- let r = Tl(e, n, "__config__", null), i = Tl(e, n, "__global__", null), s = Tl(e, n, "__local__", null), a = vl(e, n, "__filter__", null), u = El(e, n, "__service__", "");
1354
+ let r = vl(e, n, "__config__", null), i = vl(e, n, "__global__", null), s = vl(e, n, "__local__", null), a = Ol(e, n, "__filter__", null), u = yl(e, n, "__service__", "");
1355
1355
  if (xr(i) > 0 && Pr(l, "__global__", jr(i)), xr(r) > 0) {
1356
1356
  let n = jr(r);
1357
1357
  Pr(l, "__config__", n);
1358
- let i = El(e, n, "__rename_event_name__", "");
1358
+ let i = yl(e, n, "__rename_event_name__", "");
1359
1359
  if (!tl(i)) {
1360
1360
  let r = On(i);
1361
1361
  if (r) {
1362
1362
  Pr(l, "renamed_event", r.event_name), delete n.__rename_event_name__, o |= vn.__rename_event_name__;
1363
- let i = Tl(e, l, "__global__", null);
1363
+ let i = vl(e, l, "__global__", null);
1364
1364
  Yr(i) || (i = {}, Pr(l, "__global__", i)), i.__original_event_name__ = t;
1365
1365
  } else ir(`${$t(e)}: EVENT NOT FOUND (__rename_event_name__: ${i})`);
1366
1366
  }
1367
1367
  if (cl(n, "__hard_subscription__")) {
1368
- let t = pl(e, n, "__hard_subscription__", !1);
1368
+ let t = ml(e, n, "__hard_subscription__", !1);
1369
1369
  Cr(n, "__hard_subscription__"), t && (o |= vn.__hard_subscription__);
1370
1370
  }
1371
1371
  if (cl(n, "__own_event__")) {
1372
- let t = pl(e, n, "__own_event__", !1);
1372
+ let t = ml(e, n, "__own_event__", !1);
1373
1373
  Cr(n, "__own_event__"), t && (o |= vn.__own_event__);
1374
1374
  }
1375
1375
  }
@@ -1416,13 +1416,13 @@ function kn(e, t, n, r) {
1416
1416
  function Cn(e) {
1417
1417
  let t = kn(e, null, null, null);
1418
1418
  for (let n = 0; n < t.length; n++) {
1419
- let r = t[n], l = yl(e, r, "publisher", null, Vn.KW_REQUIRED), o = yl(e, r, "subscriber", null, Vn.KW_REQUIRED);
1420
- Pr(r, "s_event", El(e, r, "event", "", Vn.KW_REQUIRED)), Pr(r, "s_publisher", $t(l)), Pr(r, "s_subscriber", $t(o));
1419
+ let r = t[n], l = Tl(e, r, "publisher", null, Vn.KW_REQUIRED), o = Tl(e, r, "subscriber", null, Vn.KW_REQUIRED);
1420
+ Pr(r, "s_event", yl(e, r, "event", "", Vn.KW_REQUIRED)), Pr(r, "s_publisher", $t(l)), Pr(r, "s_subscriber", $t(o));
1421
1421
  }
1422
1422
  let n = Ln(e, 0, null, 0);
1423
1423
  for (let t = 0; t < n.length; t++) {
1424
- let r = n[t], l = yl(e, r, "publisher", null, Vn.KW_REQUIRED), o = yl(e, r, "subscriber", null, Vn.KW_REQUIRED);
1425
- Pr(r, "s_event", El(e, r, "event", "", Vn.KW_REQUIRED)), Pr(r, "s_publisher", $t(l)), Pr(r, "s_subscriber", $t(o));
1424
+ let r = n[t], l = Tl(e, r, "publisher", null, Vn.KW_REQUIRED), o = Tl(e, r, "subscriber", null, Vn.KW_REQUIRED);
1425
+ Pr(r, "s_event", yl(e, r, "event", "", Vn.KW_REQUIRED)), Pr(r, "s_publisher", $t(l)), Pr(r, "s_subscriber", $t(o));
1426
1426
  }
1427
1427
  return {
1428
1428
  subscriptions: t,
@@ -1452,15 +1452,15 @@ function Pn(e, n, r) {
1452
1452
  if (t < 0) break;
1453
1453
  if (!t) continue;
1454
1454
  }
1455
- let _ = yl(e, u, "subscriber", null, Vn.KW_REQUIRED);
1455
+ let _ = Tl(e, u, "subscriber", null, Vn.KW_REQUIRED);
1456
1456
  if (!_ || Ct(_)) continue;
1457
- let c = ml(e, u, "subs_flag", 0, Vn.KW_REQUIRED), f = El(e, u, "event", "", Vn.KW_REQUIRED);
1457
+ let c = hl(e, u, "subs_flag", 0, Vn.KW_REQUIRED), f = yl(e, u, "event", "", Vn.KW_REQUIRED);
1458
1458
  if (tl(f) || 0 === ol(f, n)) {
1459
- Tl(e, u, "__config__", null, 0);
1460
- let l = Tl(e, u, "__global__", null, 0), i = Tl(e, u, "__local__", null, 0), f = vl(e, u, "__filter__", null, 0), g = u.renamed_event;
1459
+ vl(e, u, "__config__", null, 0);
1460
+ let l = vl(e, u, "__global__", null, 0), i = vl(e, u, "__local__", null, 0), f = Ol(e, u, "__filter__", null, 0), g = u.renamed_event;
1461
1461
  tl(g) && (g = n);
1462
1462
  let d = 1;
1463
- if (e.gclass.gmt.mt_publication_filter ? d = e.gclass.gmt.mt_publication_filter(e, n, r, _) : xr(f) > 0 && (d = jl(r, f) ? 1 : 0, o && (Y(t("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", d ? "👍" : "👎", n || "", $t(_), $t(e))), cr(f))), d < 0) break;
1463
+ if (e.gclass.gmt.mt_publication_filter ? d = e.gclass.gmt.mt_publication_filter(e, n, r, _) : xr(f) > 0 && (d = Rl(r, f) ? 1 : 0, o && (Y(t("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", d ? "👍" : "👎", n || "", $t(_), $t(e))), cr(f))), d < 0) break;
1464
1464
  if (!d) continue;
1465
1465
  let b = gn(_, n, !0);
1466
1466
  if (b && b.event_flag & U.EVF_SYSTEM_EVENT && !dn(_, b.event_name, 0)) continue;
@@ -1601,27 +1601,27 @@ function or(e) {
1601
1601
  return n;
1602
1602
  }
1603
1603
  function ir(e, ...t) {
1604
- let n = or(e, ...t), r = $o();
1604
+ let n = or(e, ...t), r = Do();
1605
1605
  Mn && (Mn === Gn.error ? Zn("error", n) && Mn("%c" + r + " ERROR: " + String(n), "color:red") : (Zn("error", n) && Gn.error("%c" + r + " ERROR: " + String(n), "color:red"), Mn(`${r} ERROR: ${String(n)}`))), tr("error", n, r);
1606
1606
  }
1607
1607
  function sr(e, ...t) {
1608
- let n = or(e, ...t), r = $o();
1608
+ let n = or(e, ...t), r = Do();
1609
1609
  Wn && (Wn === Gn.warn ? Zn("warning", n) && Wn("%c" + r + " WARNING: " + String(n), "color:yellow") : (Zn("warning", n) && Gn.warn("%c" + r + " WARNING: " + String(n), "color:yellow"), Wn(`${r} WARNING: ${String(n)}`))), tr("warning", n, r);
1610
1610
  }
1611
1611
  function ar(e, ...t) {
1612
- let n = or(e, ...t), r = $o();
1612
+ let n = or(e, ...t), r = Do();
1613
1613
  xn && Zn("info", n) && xn("%c" + r + " INFO: " + String(n), "color:cyan"), tr("info", n, r);
1614
1614
  }
1615
1615
  function ur(e, ...t) {
1616
- let n = or(e, ...t), r = $o();
1616
+ let n = or(e, ...t), r = Do();
1617
1617
  Kn && Zn("debug", n) && Kn("%c" + r + " DEBUG: " + String(n), "color:silver"), tr("debug", n, r);
1618
1618
  }
1619
1619
  function _r(e, ...t) {
1620
- let n = or(e, ...t), r = $o();
1620
+ let n = or(e, ...t), r = Do();
1621
1621
  Kn && Zn("msg", n) && Kn("%c" + r + " MSG: " + String(n), "color:cyan"), tr("msg", n, r);
1622
1622
  }
1623
1623
  function cr(e, t) {
1624
- Zn("json", t) && (t && Gn.warn("=====> " + t), Gn.dir(e)), tr("json", e, $o());
1624
+ Zn("json", t) && (t && Gn.warn("=====> " + t), Gn.dir(e)), tr("json", e, Do());
1625
1625
  }
1626
1626
  var fr = [
1627
1627
  "passw",
@@ -1970,7 +1970,12 @@ function gl(e, t, n) {
1970
1970
  configurable: !0
1971
1971
  }) : e[t] = n;
1972
1972
  }
1973
- function dl(e, t, n, r) {
1973
+ function dl(e, t) {
1974
+ if (!/^[0-9]+$/.test(t)) return -1;
1975
+ const n = Number(t);
1976
+ return n >= e.length ? -1 : n;
1977
+ }
1978
+ function bl(e, t, n, r) {
1974
1979
  e && !el(e) && ir("GObj bad instanceof");
1975
1980
  const l = e ? `${$t(e)}: ` : "";
1976
1981
  if (!Yr(t) && !Br(t)) return void ir(`${l}kw must be list or dict: '${String(n)}'`);
@@ -1978,8 +1983,9 @@ function dl(e, t, n, r) {
1978
1983
  let o = n.split("`"), i = o.length;
1979
1984
  for (let e = 0; e < i; e++) {
1980
1985
  if (Br(t)) {
1981
- if (!/^[0-9]+$/.test(o[e])) return void (r && ir(`${l}path not found: '${n}'`));
1982
- o[e] = String(Number(o[e]));
1986
+ const i = dl(t, o[e]);
1987
+ if (i < 0) return void (r && ir(`${l}path not found: '${n}'`));
1988
+ o[e] = String(i);
1983
1989
  }
1984
1990
  if (fl(t, o[e])) return void (r && ir(`${l}path not found: '${n}'`));
1985
1991
  if (e === i - 1) break;
@@ -1989,22 +1995,28 @@ function dl(e, t, n, r) {
1989
1995
  let s = t[o[i - 1]];
1990
1996
  return void 0 === s && r && ir(`${l}path not found: '${n}'`), s;
1991
1997
  }
1992
- function bl(e, t, n) {
1998
+ function pl(e, t, n) {
1993
1999
  e && !el(e) && ir("GObj bad instanceof");
1994
2000
  let [r, l] = function(e, t) {
1995
2001
  let n = e.lastIndexOf(t);
1996
2002
  return -1 === n ? [e, ""] : [e.substring(0, n), e.substring(n + 1)];
1997
2003
  }(n, "`");
1998
- return tl(l) ? Cr(t, n) : Cr(dl(e, t, r, !0), l), 0;
2004
+ if (tl(l)) Cr(t, n);
2005
+ else {
2006
+ let o = bl(e, t, r, !0);
2007
+ if (Br(o)) return ir(`${e ? $t(e) + ": " : ""}kw_delete(): cannot delete an item of a list: '${n}'`), -1;
2008
+ Cr(o, l);
2009
+ }
2010
+ return 0;
1999
2011
  }
2000
- function pl(e, t, n, r, l) {
2012
+ function ml(e, t, n, r, l) {
2001
2013
  e && !el(e) && ir("GObj bad instanceof");
2002
- let o = dl(e, t, n, !1);
2014
+ let o = bl(e, t, n, !1);
2003
2015
  const i = l && l & Vn.KW_REQUIRED, s = l && l & Vn.KW_CREATE, a = l && l & Vn.KW_EXTRACT, u = l && l & Vn.KW_WILD_NUMBER;
2004
2016
  if (void 0 === o) {
2005
2017
  if (s && t) {
2006
2018
  let l = Boolean(r);
2007
- return Sl(e, t, n, l), l;
2019
+ return Nl(e, t, n, l), l;
2008
2020
  }
2009
2021
  return i && (ir(`path not found: '${n}'`), wr(t)), Boolean(r);
2010
2022
  }
@@ -2016,16 +2028,16 @@ function pl(e, t, n, r, l) {
2016
2028
  if (!u || null !== o) return u ? (ir(`${e ? $t(e) + ": " : ""}path MUST BE a simple json element: '${n}'`), wr(t), !1) : (ir(`${e ? $t(e) + ": " : ""}path MUST BE a json boolean: '${n}'`), wr(t), Boolean(r));
2017
2029
  _ = !1;
2018
2030
  }
2019
- return a && bl(e, t, n), _;
2031
+ return a && pl(e, t, n), _;
2020
2032
  }
2021
- function ml(e, t, n, r, l) {
2033
+ function hl(e, t, n, r, l) {
2022
2034
  e && !el(e) && ir("GObj bad instanceof");
2023
- let o = dl(e, t, n, !1);
2035
+ let o = bl(e, t, n, !1);
2024
2036
  const i = l && l & Vn.KW_REQUIRED, s = l && l & Vn.KW_CREATE, a = l && l & Vn.KW_EXTRACT, u = l && l & Vn.KW_WILD_NUMBER;
2025
2037
  if (void 0 === o) {
2026
2038
  if (s && t) {
2027
2039
  let l = parseInt(r);
2028
- return Sl(e, t, n, l), l;
2040
+ return Nl(e, t, n, l), l;
2029
2041
  }
2030
2042
  return i && (ir(`path not found: '${n}'`), wr(t)), parseInt(r);
2031
2043
  }
@@ -2045,16 +2057,16 @@ function ml(e, t, n, r, l) {
2045
2057
  _ = 0;
2046
2058
  }
2047
2059
  }
2048
- return a && bl(e, t, n), _;
2060
+ return a && pl(e, t, n), _;
2049
2061
  }
2050
- function hl(e, t, n, r, l) {
2062
+ function El(e, t, n, r, l) {
2051
2063
  e && !el(e) && ir("GObj bad instanceof");
2052
- let o = dl(e, t, n, !1);
2064
+ let o = bl(e, t, n, !1);
2053
2065
  const i = l && l & Vn.KW_REQUIRED, s = l && l & Vn.KW_CREATE, a = l && l & Vn.KW_EXTRACT, u = l && l & Vn.KW_WILD_NUMBER;
2054
2066
  if (void 0 === o) {
2055
2067
  if (s && t) {
2056
2068
  let l = Number(r);
2057
- return Sl(e, t, n, l), l;
2069
+ return Nl(e, t, n, l), l;
2058
2070
  }
2059
2071
  return i && (ir(`path not found: '${n}'`), wr(t)), Number(r);
2060
2072
  }
@@ -2069,64 +2081,69 @@ function hl(e, t, n, r, l) {
2069
2081
  _ = 0;
2070
2082
  }
2071
2083
  }
2072
- return a && bl(e, t, n), _;
2084
+ return a && pl(e, t, n), _;
2073
2085
  }
2074
- function El(e, t, n, r, l) {
2086
+ function yl(e, t, n, r, l) {
2075
2087
  e && !el(e) && ir("GObj bad instanceof");
2076
- let o = dl(e, t, n, !1);
2088
+ let o = bl(e, t, n, !1);
2077
2089
  const i = l && l & Vn.KW_REQUIRED, s = l && l & Vn.KW_CREATE, a = l && l & Vn.KW_EXTRACT;
2078
- return void 0 === o ? s && t ? (Sl(e, t, n, Jr(r) ? r : null), r) : (i && !function(e, t) {
2090
+ return void 0 === o ? s && t ? (Nl(e, t, n, Jr(r) ? r : null), r) : (i && !function(e, t) {
2079
2091
  let n = Jr(t) ? t.split("`") : [], r = e;
2080
2092
  for (let e = 0; e < n.length - 1; e++) {
2081
2093
  if (!Yr(r) && !Br(r)) return !1;
2082
2094
  r = r[n[e]];
2083
2095
  }
2084
2096
  return !(!Yr(r) && !Br(r) || 0 === n.length) && Object.prototype.hasOwnProperty.call(r, n[n.length - 1]);
2085
- }(t, n) && (ir(`path not found: '${n}'`), wr(t)), r) : Jr(o) ? (a && bl(e, t, n), o) : (null !== o && (ir(`${e ? $t(e) + ": " : ""}path MUST BE a json str: '${n}'`), wr(t)), r);
2097
+ }(t, n) && (ir(`path not found: '${n}'`), wr(t)), r) : Jr(o) ? (a && pl(e, t, n), o) : (null !== o && (ir(`${e ? $t(e) + ": " : ""}path MUST BE a json str: '${n}'`), wr(t)), r);
2086
2098
  }
2087
- function yl(e, t, n, r, l) {
2099
+ function Tl(e, t, n, r, l) {
2088
2100
  e && !el(e) && ir("GObj bad instanceof");
2089
- let o = dl(e, t, n, !1);
2101
+ let o = bl(e, t, n, !1);
2090
2102
  const i = l && l & Vn.KW_REQUIRED, s = l && l & Vn.KW_CREATE, a = l && l & Vn.KW_EXTRACT;
2091
2103
  if (void 0 === o) {
2092
2104
  if (s) {
2093
2105
  let l = r;
2094
- return Sl(e, t, n, l), l;
2106
+ return Nl(e, t, n, l), l;
2095
2107
  }
2096
2108
  return i && (ir(`path not found: '${n}'`), wr(t)), r;
2097
2109
  }
2098
- return a && bl(e, t, n), o;
2110
+ return a && pl(e, t, n), o;
2099
2111
  }
2100
- function Tl(e, t, n, r, l) {
2112
+ function vl(e, t, n, r, l) {
2101
2113
  e && !el(e) && ir("GObj bad instanceof");
2102
- let o = dl(e, t, n, !1);
2114
+ let o = bl(e, t, n, !1);
2103
2115
  const i = l && l & Vn.KW_REQUIRED, s = l && l & Vn.KW_CREATE, a = l && l & Vn.KW_EXTRACT;
2104
- return void 0 === o ? s && Yr(r) && t ? (Sl(e, t, n, r), r) : (i && (ir(`path not found: '${n}'`), wr(t)), r) : Yr(o) ? (a && bl(e, t, n), o) : (i && (ir(`${e ? $t(e) + ": " : ""}path MUST BE a json dict: '${n}'`), wr(t)), r);
2116
+ return void 0 === o ? s && Yr(r) && t ? (Nl(e, t, n, r), r) : (i && (ir(`path not found: '${n}'`), wr(t)), r) : Yr(o) ? (a && pl(e, t, n), o) : (i && (ir(`${e ? $t(e) + ": " : ""}path MUST BE a json dict: '${n}'`), wr(t)), r);
2105
2117
  }
2106
- function vl(e, t, n, r, l) {
2118
+ function Ol(e, t, n, r, l) {
2107
2119
  e && !el(e) && ir("GObj bad instanceof");
2108
- let o = dl(e, t, n, !1);
2120
+ let o = bl(e, t, n, !1);
2109
2121
  const i = l && l & Vn.KW_REQUIRED, s = l && l & Vn.KW_CREATE, a = l && l & Vn.KW_EXTRACT;
2110
2122
  if (void 0 === o) {
2111
2123
  if (s) {
2112
2124
  let l = r;
2113
- return Sl(e, t, n, l), l;
2125
+ return Nl(e, t, n, l), l;
2114
2126
  }
2115
2127
  return i && (ir(`path not found: '${n}'`), wr(t)), r;
2116
2128
  }
2117
- return a && bl(e, t, n), o;
2129
+ return a && pl(e, t, n), o;
2118
2130
  }
2119
- function Ol(e, t, n, r, l) {
2131
+ function Sl(e, t, n, r, l) {
2120
2132
  e && !el(e) && ir("GObj bad instanceof");
2121
- let o = dl(e, t, n, !1);
2133
+ let o = bl(e, t, n, !1);
2122
2134
  const i = l && l & Vn.KW_REQUIRED, s = l && l & Vn.KW_CREATE, a = l && l & Vn.KW_EXTRACT;
2123
- return void 0 === o ? s && Br(r) && t ? (Sl(e, t, n, r), r) : (i && (ir(`path not found: '${n}'`), wr(t)), r) : Br(o) ? (a && bl(e, t, n), o) : (i && (ir(`${e ? $t(e) + ": " : ""}path MUST BE a json list: '${n}'`), wr(t)), r);
2135
+ return void 0 === o ? s && Br(r) && t ? (Nl(e, t, n, r), r) : (i && (ir(`path not found: '${n}'`), wr(t)), r) : Br(o) ? (a && pl(e, t, n), o) : (i && (ir(`${e ? $t(e) + ": " : ""}path MUST BE a json list: '${n}'`), wr(t)), r);
2124
2136
  }
2125
- function Sl(e, t, n, r) {
2137
+ function Nl(e, t, n, r) {
2126
2138
  if (e && !el(e) && ir("GObj bad instanceof"), !Yr(t)) return ir("kw is not an object"), -1;
2127
2139
  let l = n.split("`"), o = l.length;
2128
2140
  for (let i = 0; i < o; i++) {
2129
2141
  let s = l[i];
2142
+ if (Br(t)) {
2143
+ const r = dl(t, s);
2144
+ if (r < 0) return ir(`${e ? $t(e) + ": " : ""}kw_set_dict_value(): segment '${s}' is not an index of its list: '${n}'`), -1;
2145
+ s = String(r);
2146
+ }
2130
2147
  if (i === o - 1) gl(t, s, r);
2131
2148
  else {
2132
2149
  let r = fl(t, s) ? void 0 : t[s];
@@ -2137,18 +2154,18 @@ function Sl(e, t, n, r) {
2137
2154
  }
2138
2155
  return 0;
2139
2156
  }
2140
- function Nl(e, t, n, r, l) {
2157
+ function wl(e, t, n, r, l) {
2141
2158
  if (e && !el(e) && ir("GObj bad instanceof"), !Yr(t)) return ir("kw is not an object"), -1;
2142
- let o = Tl(e, t, n, {}, Vn.KW_CREATE);
2159
+ let o = vl(e, t, n, {}, Vn.KW_CREATE);
2143
2160
  return Yr(o) ? (gl(o, r, l), 0) : (ir("subdict is not an object"), -1);
2144
2161
  }
2145
- function wl(e, n, r) {
2162
+ function jl(e, n, r) {
2146
2163
  let l = "", o = !1;
2147
2164
  if (Br(n)) {
2148
2165
  o = !1;
2149
2166
  for (let i = 0; i < n.length; i++) {
2150
2167
  let s = n[i];
2151
- if (l = tl(r) ? t("%s", r) : t("%s`%d", r, i), o = wl(e, s, l), o) break;
2168
+ if (l = tl(r) ? t("%s", r) : t("%s`%d", r, i), o = jl(e, s, l), o) break;
2152
2169
  }
2153
2170
  } else if (Yr(n)) {
2154
2171
  o = !0;
@@ -2156,10 +2173,10 @@ function wl(e, n, r) {
2156
2173
  for (let s = 0; s < i.length; s++) {
2157
2174
  let a = i[s], u = n[a];
2158
2175
  if (l = tl(r) ? t("%s", a) : t("%s`%s", r, a), Br(u) || Yr(u)) {
2159
- if (o = wl(e, u, l), !o) break;
2176
+ if (o = jl(e, u, l), !o) break;
2160
2177
  continue;
2161
2178
  }
2162
- let _ = vl(0, e, l, void 0, 0);
2179
+ let _ = Ol(0, e, l, void 0, 0);
2163
2180
  if (void 0 === _ && (_ = kr(e, l)), void 0 === _) {
2164
2181
  o = !1;
2165
2182
  break;
@@ -2172,17 +2189,17 @@ function wl(e, n, r) {
2172
2189
  }
2173
2190
  return o;
2174
2191
  }
2175
- function jl(e, t) {
2176
- return 0 === xr(t) || wl(e, t, "");
2192
+ function Rl(e, t) {
2193
+ return 0 === xr(t) || jl(e, t, "");
2177
2194
  }
2178
- function Rl(e, t, n, r) {
2195
+ function $l(e, t, n, r) {
2179
2196
  if (!n || !Br(t)) return r && ir("item NULL or kw_list is not a list"), -1;
2180
2197
  for (let e = 0; e < t.length; e++) if ($r(n, t[e])) return e;
2181
2198
  return r && ir("item not found in this list"), -1;
2182
2199
  }
2183
- function $l(e, t, n, r) {
2200
+ function Dl(e, t, n, r) {
2184
2201
  if (e && !el(e) && ir("GObj bad instanceof"), !t) return null;
2185
- r || (r = jl);
2202
+ r || (r = Rl);
2186
2203
  let l = [];
2187
2204
  if (Br(t)) for (let e = 0; e < t.length; e++) {
2188
2205
  let o = t[e];
@@ -2194,9 +2211,9 @@ function $l(e, t, n, r) {
2194
2211
  }
2195
2212
  return l;
2196
2213
  }
2197
- function Dl(e, t, n, r) {
2214
+ function Al(e, t, n, r) {
2198
2215
  if (e && !el(e) && ir("GObj bad instanceof"), !t) return null;
2199
- r || (r = jl);
2216
+ r || (r = Rl);
2200
2217
  let l = [];
2201
2218
  if (Br(t)) for (let e = 0; e < t.length; e++) {
2202
2219
  let o = t[e];
@@ -2208,7 +2225,7 @@ function Dl(e, t, n, r) {
2208
2225
  }
2209
2226
  return l;
2210
2227
  }
2211
- function Al(e, t, n, r) {
2228
+ function Il(e, t, n, r) {
2212
2229
  e && !el(e) && ir("GObj bad instanceof");
2213
2230
  let l = {};
2214
2231
  if (Jr(n) && !tl(n)) {
@@ -2224,7 +2241,7 @@ function Al(e, t, n, r) {
2224
2241
  }
2225
2242
  return l;
2226
2243
  }
2227
- function Il(e, t, n, r) {
2244
+ function kl(e, t, n, r) {
2228
2245
  let l = {};
2229
2246
  if (!Yr(t)) return l;
2230
2247
  if (Dr(l, t), Jr(n) && !tl(n)) {
@@ -2240,15 +2257,15 @@ function Il(e, t, n, r) {
2240
2257
  }
2241
2258
  return l;
2242
2259
  }
2243
- function kl(e, t, n = !1) {
2260
+ function Cl(e, t, n = !1) {
2244
2261
  if ("undefined" != typeof window && window.localStorage) try {
2245
2262
  let r = window.localStorage.getItem(e);
2246
- return null === r ? (n && Cl(e, t), t) : JSON.parse(r);
2263
+ return null === r ? (n && Ll(e, t), t) : JSON.parse(r);
2247
2264
  } catch (n) {
2248
2265
  return window.console.warn(`Error reading localStorage key "${e}":`, n), t;
2249
2266
  }
2250
2267
  }
2251
- function Cl(e, t) {
2268
+ function Ll(e, t) {
2252
2269
  if ("undefined" == typeof window || !window.localStorage) return 0;
2253
2270
  if (!e || void 0 === t) return ir(`kw_set_local_storage_value(): invalid key or value: key=${e}`), -1;
2254
2271
  try {
@@ -2257,7 +2274,7 @@ function Cl(e, t) {
2257
2274
  return ir(`kw_set_local_storage_value(): cannot save "${e}" (storage full or blocked?): ${t && t.message ? t.message : t}`), -1;
2258
2275
  }
2259
2276
  }
2260
- function Ll(e) {
2277
+ function Pl(e) {
2261
2278
  if ("undefined" != typeof window && window.localStorage) if (e) try {
2262
2279
  window.localStorage.removeItem(e);
2263
2280
  } catch (t) {
@@ -2265,7 +2282,7 @@ function Ll(e) {
2265
2282
  }
2266
2283
  else window.console.warn(`Invalid key for localStorage removal: ${e}`);
2267
2284
  }
2268
- function Pl(e, t) {
2285
+ function Ul(e, t) {
2269
2286
  if (zr(e) || zr(t)) return !0;
2270
2287
  if (Br(e)) {
2271
2288
  if (0 === e.length) return !0;
@@ -2276,41 +2293,41 @@ function Pl(e, t) {
2276
2293
  } else if (Jr(e) && e === t) return !0;
2277
2294
  return !1;
2278
2295
  }
2279
- function Ul(e, t, n, r, l) {
2296
+ function Fl(e, t, n, r, l) {
2280
2297
  if (e && !el(e) && ir("GObj bad instanceof"), !t) return null;
2281
- l || (l = jl);
2298
+ l || (l = Rl);
2282
2299
  let o = [];
2283
2300
  if (Br(t)) for (let i = 0; i < t.length; i++) {
2284
2301
  let s, a = t[i];
2285
- if (Yr(a)) s = El(e, a, "id", "", 0);
2302
+ if (Yr(a)) s = yl(e, a, "id", "", 0);
2286
2303
  else {
2287
2304
  if (!Jr(a)) continue;
2288
2305
  s = a;
2289
2306
  }
2290
- Pl(n, s) && l(a, r) && o.push(a);
2307
+ Ul(n, s) && l(a, r) && o.push(a);
2291
2308
  }
2292
2309
  else {
2293
2310
  if (!Yr(t)) return ir("kw_collect() BAD kw parameter"), null;
2294
2311
  for (let e of Object.keys(t)) {
2295
2312
  let i = t[e];
2296
- Pl(n, e) && l(i, r) && o.push(i);
2313
+ Ul(n, e) && l(i, r) && o.push(i);
2297
2314
  }
2298
2315
  }
2299
2316
  return o;
2300
2317
  }
2301
- function Fl(e, t, n) {
2318
+ function Vl(e, t, n) {
2302
2319
  e && !el(e) && ir("GObj bad instanceof");
2303
2320
  let r = {};
2304
- if (tl(n) || (t = dl(e, t, n)), Yr(t)) r = t;
2321
+ if (tl(n) || (t = bl(e, t, n)), Yr(t)) r = t;
2305
2322
  else if (Br(t)) for (let n = 0; n < t.length; n++) {
2306
- let l = t[n], o = El(e, l, "id", "", Vn.KW_REQUIRED);
2323
+ let l = t[n], o = yl(e, l, "id", "", Vn.KW_REQUIRED);
2307
2324
  tl(o) || gl(r, o, l);
2308
2325
  }
2309
2326
  else ir(`${$t(e)} kwid_new_dict: data type unknown`);
2310
2327
  return r;
2311
2328
  }
2312
- function Vl(e, t, n) {
2313
- if (e && !el(e) && ir("GObj bad instanceof"), tl(n) || (t = dl(e, t, n)), Br(t)) return t;
2329
+ function Gl(e, t, n) {
2330
+ if (e && !el(e) && ir("GObj bad instanceof"), tl(n) || (t = bl(e, t, n)), Br(t)) return t;
2314
2331
  if (Yr(t)) {
2315
2332
  let n = [];
2316
2333
  for (let r of Object.keys(t)) {
@@ -2321,12 +2338,12 @@ function Vl(e, t, n) {
2321
2338
  }
2322
2339
  return ir(`${$t(e)} kwid_new_list: wrong type for list`), [];
2323
2340
  }
2324
- function Gl(e, t, n, r, l) {
2341
+ function Ml(e, t, n, r, l) {
2325
2342
  e && !el(e) && ir("GObj bad instanceof");
2326
- let o = Ul(e, t, n, r, l);
2343
+ let o = Fl(e, t, n, r, l);
2327
2344
  return o && 0 !== o.length ? o[0] : null;
2328
2345
  }
2329
- function Ml(e, t) {
2346
+ function Wl(e, t) {
2330
2347
  if (e && !el(e) && ir("GObj bad instanceof"), !t) return [];
2331
2348
  let n = [];
2332
2349
  if (Jr(t)) n.push(t);
@@ -2334,13 +2351,13 @@ function Ml(e, t) {
2334
2351
  else Br(t) && t.forEach(function(t) {
2335
2352
  if (Jr(t)) tl(t) || n.push(t);
2336
2353
  else if (Yr(t)) {
2337
- let r = El(e, t, "id", 0, 0);
2354
+ let r = yl(e, t, "id", 0, 0);
2338
2355
  r && n.push(r);
2339
2356
  }
2340
2357
  });
2341
2358
  return n;
2342
2359
  }
2343
- function Wl(e, t, n) {
2360
+ function xl(e, t, n) {
2344
2361
  t = t || "id", n = n || "value";
2345
2362
  let r = [];
2346
2363
  if (Br(e)) for (let l = 0; l < e.length; l++) {
@@ -2377,12 +2394,12 @@ function Wl(e, t, n) {
2377
2394
  else ir("list2options(): case2 not implemented");
2378
2395
  return r;
2379
2396
  }
2380
- function xl(e, t) {
2397
+ function Kl(e, t) {
2381
2398
  if (!e) return -1;
2382
2399
  for (let n = 0; n < e.length; n++) if (e[n] && e[n].id === t) return n;
2383
2400
  return -1;
2384
2401
  }
2385
- function Kl(e, t, n) {
2402
+ function Yl(e, t, n) {
2386
2403
  if (!e || !t) return ir("ERROR: str_in_list() list or str empty"), !1;
2387
2404
  let r = e.length;
2388
2405
  if (n) {
@@ -2394,17 +2411,17 @@ function Kl(e, t, n) {
2394
2411
  } else for (let n = 0; n < r; n++) if (e[n] === t) return !0;
2395
2412
  return !1;
2396
2413
  }
2397
- function Yl(e, t, n) {
2414
+ function Bl(e, t, n) {
2398
2415
  if (!e) return ir("ERROR: strs_in_list() list empty"), !1;
2399
2416
  if (!t) return ir("ERROR: strs_in_list() str empty"), !1;
2400
- for (let r = 0; r < t.length; r++) if (Kl(e, t[r], n)) return !0;
2417
+ for (let r = 0; r < t.length; r++) if (Yl(e, t[r], n)) return !0;
2401
2418
  return !1;
2402
2419
  }
2403
- function Bl(e, t) {
2420
+ function Jl(e, t) {
2404
2421
  for (let n = 0; n < e.length; n++) if (t === e[n]) return e.splice(n, 1), !0;
2405
2422
  return !1;
2406
2423
  }
2407
- function Jl(e, t) {
2424
+ function ql(e, t) {
2408
2425
  try {
2409
2426
  let n = e.__md_iev__;
2410
2427
  if (n) return n[t];
@@ -2412,34 +2429,34 @@ function Jl(e, t) {
2412
2429
  return;
2413
2430
  }
2414
2431
  }
2415
- function ql(e, t, n) {
2432
+ function Hl(e, t, n) {
2416
2433
  let r = e.__md_iev__;
2417
2434
  r || (r = {}, e.__md_iev__ = r), r[t] = n;
2418
2435
  }
2419
- function Hl(e, t, n, r) {
2436
+ function zl(e, t, n, r) {
2420
2437
  if (!el(e)) return ir("gobj is not a GObj"), null;
2421
2438
  if (!t) return;
2422
- let l = Jl(t, n);
2423
- l || (l = [], ql(t, n, l));
2439
+ let l = ql(t, n);
2440
+ l || (l = [], Hl(t, n, l));
2424
2441
  try {
2425
2442
  Br(l) && l.unshift(r);
2426
2443
  } catch (e) {
2427
2444
  ir(e);
2428
2445
  }
2429
2446
  }
2430
- function zl(e, t, n, r) {
2447
+ function Ql(e, t, n, r) {
2431
2448
  if (!el(e)) return ir("gobj is not a GObj"), null;
2432
2449
  if (!Yr(t)) return ir("kw is not a dict"), null;
2433
- let l = Jl(t, n);
2450
+ let l = ql(t, n);
2434
2451
  return l ? 0 === l.length ? (r && ir(`stack empty: ${n}`), null) : l[0] : (r && ir(`stack NOT FOUND: ${n}`), null);
2435
2452
  }
2436
- function Ql(e, t, n) {
2437
- return tl(n) ? bl(e, t, "__md_iev__`__msg_type__") : Nl(e, t, "__md_iev__", "__msg_type__", n), 0;
2453
+ function Xl(e, t, n) {
2454
+ return tl(n) ? pl(e, t, "__md_iev__`__msg_type__") : wl(e, t, "__md_iev__", "__msg_type__", n), 0;
2438
2455
  }
2439
- function Xl(e, t) {
2440
- return El(e, t, "__md_iev__`__msg_type__", "", 0);
2456
+ function Zl(e, t) {
2457
+ return yl(e, t, "__md_iev__`__msg_type__", "", 0);
2441
2458
  }
2442
- function Zl(e, t, n) {
2459
+ function eo(e, t, n) {
2443
2460
  let r = new XMLHttpRequest();
2444
2461
  r.open("GET", e, !0), r.setRequestHeader("Accept", "application/json"), r.onreadystatechange = function() {
2445
2462
  if (4 === r.readyState) if (200 === r.status || 0 === (e = r).status && e.responseText && e.responseURL.startsWith("file:")) try {
@@ -2451,13 +2468,13 @@ function Zl(e, t, n) {
2451
2468
  var e;
2452
2469
  }, r.send();
2453
2470
  }
2454
- function eo(e, t, n) {
2471
+ function to(e, t, n) {
2455
2472
  let r = new XMLHttpRequest();
2456
2473
  r.open("POST", e), r.setRequestHeader("Accept", "application/json"), r.setRequestHeader("Content-Type", "application/json"), r.onreadystatechange = function() {
2457
2474
  4 === r.readyState && n(r.status, r.responseText);
2458
2475
  }, r.send(t);
2459
2476
  }
2460
- function to(e, t, n) {
2477
+ function no(e, t, n) {
2461
2478
  void 0 !== n && Jr(n) || (n = "");
2462
2479
  for (let r of Object.keys(e)) {
2463
2480
  if (!Object.prototype.hasOwnProperty.call(e, r)) continue;
@@ -2467,61 +2484,61 @@ function to(e, t, n) {
2467
2484
  r,
2468
2485
  e[r],
2469
2486
  n
2470
- ]), Yr(e[r]) && to(e[r], t, n), n = n.slice(0, -l.length);
2487
+ ]), Yr(e[r]) && no(e[r], t, n), n = n.slice(0, -l.length);
2471
2488
  }
2472
2489
  }
2473
- function no(e, t, n) {
2490
+ function ro(e, t, n) {
2474
2491
  n && (e = jr(e));
2475
- let r = vl(null, e, "type", [], 1);
2476
- El(null, e, "hook", "data", 1);
2477
- let l = vl(null, e, "schema", {}, 1), o = vl(null, e, "topics", {}, 1);
2478
- return to(l, function(e, t, n, l) {
2479
- "__" !== t.substring(0, 2) && vl(null, o, l, jr(r), 1);
2492
+ let r = Ol(null, e, "type", [], 1);
2493
+ yl(null, e, "hook", "data", 1);
2494
+ let l = Ol(null, e, "schema", {}, 1), o = Ol(null, e, "topics", {}, 1);
2495
+ return no(l, function(e, t, n, l) {
2496
+ "__" !== t.substring(0, 2) && Ol(null, o, l, jr(r), 1);
2480
2497
  }, t), e;
2481
2498
  }
2482
- function ro(e, t, n, r) {
2483
- let l = vl(null, vl(null, e, "topics", null, 0), t, null, 0);
2499
+ function lo(e, t, n, r) {
2500
+ let l = Ol(null, Ol(null, e, "topics", null, 0), t, null, 0);
2484
2501
  if (!l) return ir("jdb_update: topic not found: " + t), null;
2485
2502
  if (tl(r.id)) return ir("jdb_update: record without id: " + r), _r(r), null;
2486
2503
  let o, i = n.split("`"), s = l;
2487
- for (; (o = i.shift()) && !tl(o) && s;) Yr(s) && (s = vl(null, s, e.hook, [], 1)), s = ao(s, null, o, !1);
2504
+ for (; (o = i.shift()) && !tl(o) && s;) Yr(s) && (s = Ol(null, s, e.hook, [], 1)), s = uo(s, null, o, !1);
2488
2505
  if (0 === i.length && s) if (Br(s)) s.push(r);
2489
2506
  else if (s.id === r.id) Dr(s, r);
2490
2507
  else {
2491
- let t = vl(null, s, e.hook, [], 1), n = ao(t, e.hook, r.id, !1);
2508
+ let t = Ol(null, s, e.hook, [], 1), n = uo(t, e.hook, r.id, !1);
2492
2509
  n ? Dr(n, r) : t.push(r);
2493
2510
  }
2494
2511
  return l;
2495
2512
  }
2496
- function lo(e, t, n, r) {
2497
- let l = vl(null, vl(null, e, "topics", null, 0), t, null, 0);
2513
+ function oo(e, t, n, r) {
2514
+ let l = Ol(null, Ol(null, e, "topics", null, 0), t, null, 0);
2498
2515
  if (!l) return ir("jdb_delete: topic not found: " + t), null;
2499
2516
  if (tl(r.id)) return ir("jdb_delete: record without id: " + r), _r(r), null;
2500
2517
  let o, i = n.split("`"), s = l;
2501
- for (; (o = i.shift()) && !tl(o) && s;) Yr(s) && (s = vl(null, s, e.hook, null, 0)), s = ao(s, null, o, !1);
2518
+ for (; (o = i.shift()) && !tl(o) && s;) Yr(s) && (s = Ol(null, s, e.hook, null, 0)), s = uo(s, null, o, !1);
2502
2519
  if (0 === i.length && s) if (Br(s)) {
2503
- let e = xl(s, r.id);
2520
+ let e = Kl(s, r.id);
2504
2521
  e >= 0 && s.splice(e, 1);
2505
2522
  } else {
2506
- let t = vl(null, s, e.hook, null, 0), n = xl(t, r.id);
2523
+ let t = Ol(null, s, e.hook, null, 0), n = Kl(t, r.id);
2507
2524
  n >= 0 && t.splice(n, 1);
2508
2525
  }
2509
2526
  return l;
2510
2527
  }
2511
- function oo(e, t) {
2512
- let n = vl(null, e, "topics", null, 0);
2528
+ function io(e, t) {
2529
+ let n = Ol(null, e, "topics", null, 0);
2513
2530
  if (!n) return ir("jdb topics section not found"), _r(e), null;
2514
- return vl(null, n, t, null, 0) || (ir("jdb topic not found: " + t), _r(n), null);
2531
+ return Ol(null, n, t, null, 0) || (ir("jdb topic not found: " + t), _r(n), null);
2515
2532
  }
2516
- function io(e, t, n, r) {
2517
- let l = vl(null, vl(null, e, "topics", null, 0), t, null, 0);
2518
- return l ? (void 0 === r && (r = !0), ao(l, e.hook, n, r)) : (ir("jdb_get: topic not found: " + t), null);
2533
+ function so(e, t, n, r) {
2534
+ let l = Ol(null, Ol(null, e, "topics", null, 0), t, null, 0);
2535
+ return l ? (void 0 === r && (r = !0), uo(l, e.hook, n, r)) : (ir("jdb_get: topic not found: " + t), null);
2519
2536
  }
2520
- function so(e, t, n) {
2521
- let r = vl(null, vl(null, e, "topics", null, 0), t, null, 0);
2537
+ function ao(e, t, n) {
2538
+ let r = Ol(null, Ol(null, e, "topics", null, 0), t, null, 0);
2522
2539
  return r ? n < r.length ? r[n] : {} : (ir("jdb_get_by_idx: topic not found: " + t), null);
2523
2540
  }
2524
- function ao(e, t, n, r) {
2541
+ function uo(e, t, n, r) {
2525
2542
  if (!e) return null;
2526
2543
  let l, o = e.length;
2527
2544
  for (l = 0; l < o; l++) {
@@ -2530,18 +2547,18 @@ function ao(e, t, n, r) {
2530
2547
  let e = o.id;
2531
2548
  if (e && e === n) return o;
2532
2549
  if (r && cl(o, t)) {
2533
- let e = ao(o[t], t, n, r);
2550
+ let e = uo(o[t], t, n, r);
2534
2551
  if (e) return e;
2535
2552
  }
2536
2553
  }
2537
2554
  }
2538
2555
  return null;
2539
2556
  }
2540
- function uo(e, t) {
2557
+ function _o(e, t) {
2541
2558
  let n = jr(e);
2542
2559
  return Ar(n, t), n;
2543
2560
  }
2544
- function _o(e) {
2561
+ function co(e) {
2545
2562
  function t(e) {
2546
2563
  let t = e.replace(/-/g, "+").replace(/_/g, "/");
2547
2564
  switch (t.length % 4) {
@@ -2572,9 +2589,9 @@ function _o(e) {
2572
2589
  signature: t(n[2])
2573
2590
  };
2574
2591
  }
2575
- function co(e, t) {
2592
+ function fo(e, t) {
2576
2593
  try {
2577
- let n = _o(e);
2594
+ let n = co(e);
2578
2595
  switch (t) {
2579
2596
  case "header": return JSON.parse(n.header);
2580
2597
  case "signature": return JSON.parse(n.signature);
@@ -2584,15 +2601,15 @@ function co(e, t) {
2584
2601
  return null;
2585
2602
  }
2586
2603
  }
2587
- function fo(e) {
2604
+ function go(e) {
2588
2605
  return null == e ? "" : String(e).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
2589
2606
  }
2590
- function go(e) {
2607
+ function bo(e) {
2591
2608
  if (!e) return "";
2592
2609
  const t = String(e).trim();
2593
- return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : fo(t);
2610
+ return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : go(t);
2594
2611
  }
2595
- var bo = class {
2612
+ var po = class {
2596
2613
  constructor(e) {
2597
2614
  this.html = e, Object.freeze(this);
2598
2615
  }
@@ -2600,28 +2617,28 @@ var bo = class {
2600
2617
  return this.html;
2601
2618
  }
2602
2619
  };
2603
- function po(e) {
2604
- return "string" != typeof e ? (ir("html_markup: not a string, type " + typeof e), new bo("")) : new bo(e);
2605
- }
2606
2620
  function mo(e) {
2607
- return e instanceof bo;
2621
+ return "string" != typeof e ? (ir("html_markup: not a string, type " + typeof e), new po("")) : new po(e);
2608
2622
  }
2609
2623
  function ho(e) {
2624
+ return e instanceof po;
2625
+ }
2626
+ function Eo(e) {
2610
2627
  const t = document.createElement("template");
2611
2628
  return t.innerHTML = e.html.trim(), t.content;
2612
2629
  }
2613
- var Eo = !1, yo = /* @__PURE__ */ new Set();
2614
- function To(e) {
2615
- Eo = !!e;
2630
+ var yo = !1, To = /* @__PURE__ */ new Set();
2631
+ function vo(e) {
2632
+ yo = !!e;
2616
2633
  }
2617
- function vo() {
2618
- return Eo;
2634
+ function Oo() {
2635
+ return yo;
2619
2636
  }
2620
- function Oo(e) {
2637
+ function So(e) {
2621
2638
  const t = document.createElement("template");
2622
2639
  return t.innerHTML = e.trim(), t.content.firstChild;
2623
2640
  }
2624
- function So(e, t) {
2641
+ function No(e, t) {
2625
2642
  let [n, r, l, o] = e;
2626
2643
  if (!n) return void ir("Tag must be a valid HTML element.");
2627
2644
  let i = document.createElement(n), s = "";
@@ -2630,22 +2647,22 @@ function So(e, t) {
2630
2647
  for (const n of Object.keys(r[e])) t += `${n}: ${r[e][n]};`;
2631
2648
  i.style.cssText = t;
2632
2649
  } else "style" === e ? i.style.cssText = r[e] : "i18n" === e || "data-i18n" === e || "data_i18next" === e || "data-i18next" === e ? null !== r[e] && void 0 !== r[e] && (s = r[e], i.setAttribute("data-i18n", s)) : i.setAttribute(e, r[e]);
2633
- if (mo(l)) i.appendChild(ho(l));
2634
- else if (Jr(l)) if (l = l.trim(), l.length > 0 && "<" === l[0] && !Eo) i.appendChild(Oo(l));
2650
+ if (ho(l)) i.appendChild(Eo(l));
2651
+ else if (Jr(l)) if (l = l.trim(), l.length > 0 && "<" === l[0] && !yo) i.appendChild(So(l));
2635
2652
  else if (l.length > 0 && "<" === l[0] && function(e) {
2636
- if (yo.size >= 100) return;
2653
+ if (To.size >= 100) return;
2637
2654
  const t = e.slice(0, 80);
2638
- yo.has(t) || (yo.add(t), sr(`createElement2: a string that starts with '<' is TEXT (set_strings_are_text): use html_markup() if it is markup: ${JSON.stringify(t)}`));
2655
+ To.has(t) || (To.add(t), sr(`createElement2: a string that starts with '<' is TEXT (set_strings_are_text): use html_markup() if it is markup: ${JSON.stringify(t)}`));
2639
2656
  }(l), t && s) i.textContent = t(s) || l;
2640
2657
  else i.textContent = l;
2641
2658
  else if (Br(l)) {
2642
- if (l.length > 0) if (Jr(l[0])) i.appendChild(So(l, t));
2643
- else for (let e of l) Array.isArray(e) ? e.length > 0 && i.appendChild(So(e, t)) : e instanceof Node ? i.appendChild(e) : mo(e) ? i.appendChild(ho(e)) : Jr(e) ? i.appendChild(document.createTextNode(e)) : null != e && !1 !== e && ir("createElement2: child ignored, type " + typeof e);
2659
+ if (l.length > 0) if (Jr(l[0])) i.appendChild(No(l, t));
2660
+ else for (let e of l) Array.isArray(e) ? e.length > 0 && i.appendChild(No(e, t)) : e instanceof Node ? i.appendChild(e) : ho(e) ? i.appendChild(Eo(e)) : Jr(e) ? i.appendChild(document.createTextNode(e)) : null != e && !1 !== e && ir("createElement2: child ignored, type " + typeof e);
2644
2661
  } else l instanceof HTMLElement || l instanceof Text || l instanceof SVGElement ? i.appendChild(l) : null != l && (ir("content ignored"), cr(l));
2645
2662
  if (o && "object" == typeof o) for (const e of Object.keys(o)) i.addEventListener(e, o[e]);
2646
2663
  return i;
2647
2664
  }
2648
- function No(e) {
2665
+ function wo(e) {
2649
2666
  if (!e) return {
2650
2667
  top: 0,
2651
2668
  left: 0,
@@ -2665,10 +2682,10 @@ function No(e) {
2665
2682
  bottom: t + i + l
2666
2683
  };
2667
2684
  }
2668
- function wo(e) {
2685
+ function jo(e) {
2669
2686
  return new DOMParser().parseFromString(e, "image/svg+xml").firstChild;
2670
2687
  }
2671
- function jo(e, t) {
2688
+ function Ro(e, t) {
2672
2689
  if (!Zr(t)) return void ir("You must supply a translation function");
2673
2690
  e || (e = document);
2674
2691
  const n = (t) => {
@@ -2692,7 +2709,7 @@ function jo(e, t) {
2692
2709
  n && e.setAttribute("placeholder", t(n));
2693
2710
  });
2694
2711
  }
2695
- function Ro(e = "Time Tracker", t = !1) {
2712
+ function $o(e = "Time Tracker", t = !1) {
2696
2713
  const n = e, r = performance.now();
2697
2714
  let l = r;
2698
2715
  return t && sr(`--\x3e ${n} - starting`), { mark: (e = "Intermediate", o = "") => {
@@ -2703,30 +2720,30 @@ function Ro(e = "Time Tracker", t = !1) {
2703
2720
  };
2704
2721
  } };
2705
2722
  }
2706
- function $o(e) {
2723
+ function Do(e) {
2707
2724
  const t = (e, t) => String(e).padStart(t, "0"), n = `${(e = e || /* @__PURE__ */ new Date()).getFullYear()}-${t(e.getMonth() + 1, 2)}-${t(e.getDate(), 2)}T${t(e.getHours(), 2)}:${t(e.getMinutes(), 2)}:${t(e.getSeconds(), 2)}`, r = t(e.getMilliseconds(), 3), l = e.getTimezoneOffset();
2708
2725
  return `${n}.${r}${l > 0 ? "-" : "+"}${t(Math.floor(Math.abs(l) / 60), 2)}${t(Math.abs(l) % 60, 2)}`;
2709
2726
  }
2710
- function Do() {
2727
+ function Ao() {
2711
2728
  return Math.floor(Date.now() / 1e3);
2712
2729
  }
2713
- function Ao(e, t) {
2730
+ function Io(e, t) {
2714
2731
  if (!e) throw "ERROR: index_in_list() list empty";
2715
2732
  for (let n = 0; n < e.length; n++) if (t === e[n]) return n;
2716
2733
  return -1;
2717
2734
  }
2718
- function Io() {
2735
+ function ko() {
2719
2736
  let e = "";
2720
2737
  return "undefined" != typeof window && window.localStorage ? (e = window.localStorage.getItem("host_uuid"), !e && window.crypto?.randomUUID && (e = window.crypto.randomUUID(), window.localStorage.setItem("host_uuid", e))) : e = "undefined" != typeof globalThis && globalThis.crypto?.randomUUID ? globalThis.crypto.randomUUID() : "00000000-0000-0000-0000-000000000000", e;
2721
2738
  }
2722
- function ko(e) {
2739
+ function Co(e) {
2723
2740
  return e.replace(/[?# ^:]/g, "_");
2724
2741
  }
2725
- function Co(e) {
2742
+ function Lo(e) {
2726
2743
  let t = null;
2727
2744
  return "function" != typeof e && "object" != typeof e || (t = ("" + e).match(/function\s*([\w\$]*)\s*\(/)), null !== t ? t[1] + "()" : "";
2728
2745
  }
2729
- function Lo(e, t = 0, n = !1) {
2746
+ function Po(e, t = 0, n = !1) {
2730
2747
  let r = null, l = null, o = null;
2731
2748
  const i = (...i) => {
2732
2749
  o = this, l = i;
@@ -2741,20 +2758,20 @@ function Lo(e, t = 0, n = !1) {
2741
2758
  clearTimeout(r), r = null, l = null, o = null;
2742
2759
  }, i;
2743
2760
  }
2744
- function Po(...e) {
2761
+ function Uo(...e) {
2745
2762
  let t = "", n = 0;
2746
2763
  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++));
2747
2764
  return t;
2748
2765
  }
2749
- var Uo = 256, Fo = 1e5;
2750
- function Vo(e) {
2766
+ var Fo = 256, Vo = 1e5;
2767
+ function Go(e) {
2751
2768
  const t = String(e).replace(/`/g, "``");
2752
2769
  return "[" === t[0] ? "[" + t : t;
2753
2770
  }
2754
- function Go(e) {
2755
- return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : Vo(e)).join("`") : "";
2756
- }
2757
2771
  function Mo(e) {
2772
+ return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : Go(e)).join("`") : "";
2773
+ }
2774
+ function Wo(e) {
2758
2775
  if ("string" != typeof e) return null;
2759
2776
  let t = [], n = "";
2760
2777
  for (let r = 0; r < e.length; r++) if ("`" !== e[r]) n += e[r];
@@ -2775,9 +2792,9 @@ function Mo(e) {
2775
2792
  return null !== t ? t : "[" === e[0] && "[" === e[1] ? e.slice(1) : e;
2776
2793
  });
2777
2794
  }
2778
- function Wo(e) {
2795
+ function xo(e) {
2779
2796
  const t = {}, n = (e, r, l) => {
2780
- if (l > Uo) throw new Error("json2flat: deeper than 256");
2797
+ if (l > Fo) throw new Error("json2flat: deeper than 256");
2781
2798
  if (null === e || "object" != typeof e || Array.isArray(e)) {
2782
2799
  if (Array.isArray(e) && e.length > 0) return void e.forEach((e, t) => {
2783
2800
  const o = `[${t}]`;
@@ -2787,7 +2804,7 @@ function Wo(e) {
2787
2804
  const t = Object.keys(e);
2788
2805
  if (t.length > 0) {
2789
2806
  for (const o of t) {
2790
- const t = Vo(o);
2807
+ const t = Go(o);
2791
2808
  n(e[o], 0 === l ? t : r + "`" + t, l + 1);
2792
2809
  }
2793
2810
  return;
@@ -2797,20 +2814,20 @@ function Wo(e) {
2797
2814
  };
2798
2815
  return null == e || n(e, "", 0), t;
2799
2816
  }
2800
- function xo(e) {
2817
+ function Ko(e) {
2801
2818
  if (null === e || "object" != typeof e || Array.isArray(e)) throw new Error("flat2json: a flat json is an object of id -> value");
2802
2819
  let t = null;
2803
2820
  for (const n of Object.keys(e)) {
2804
- const r = Mo(n);
2821
+ const r = Wo(n);
2805
2822
  if (!r || 0 === r.length) throw new Error(`flat2json: malformed flat id: '${n}'`);
2806
- if (r.length > Uo) throw new Error(`flat2json: '${n}' deeper than 256`);
2823
+ if (r.length > Fo) throw new Error(`flat2json: '${n}' deeper than 256`);
2807
2824
  const l = "number" == typeof r[0];
2808
2825
  if (null === t) t = l ? [] : {};
2809
2826
  else if (l !== Array.isArray(t)) throw new Error(`flat2json: '${n}' does not fit a ${Array.isArray(t) ? "array" : "object"} root`);
2810
2827
  let o = t;
2811
2828
  for (let t = 0; t < r.length; t++) {
2812
2829
  const l = r[t], i = "number" == typeof l, s = t === r.length - 1, a = !s && "number" == typeof r[t + 1];
2813
- if (i && l > Fo) throw new Error(`flat2json: array index ${l} over the limit (100000) in '${n}'`);
2830
+ if (i && l > Vo) throw new Error(`flat2json: array index ${l} over the limit (100000) in '${n}'`);
2814
2831
  if (i !== Array.isArray(o)) throw new Error(`flat2json: '${n}' uses a ${i ? "array index" : "key"} where the tree already has a ${Array.isArray(o) ? "array" : "object"}`);
2815
2832
  if (s) {
2816
2833
  if (Array.isArray(o)) {
@@ -2834,23 +2851,23 @@ function xo(e) {
2834
2851
  }
2835
2852
  return null === t ? {} : t;
2836
2853
  }
2837
- function Ko(e, t) {
2854
+ function Yo(e, t) {
2838
2855
  return e === t || null !== e && null !== t && "object" == typeof e && "object" == typeof t && JSON.stringify(e) === JSON.stringify(t);
2839
2856
  }
2840
- function Yo(e, t) {
2857
+ function Bo(e, t) {
2841
2858
  const n = e && "object" == typeof e ? e : {}, r = t && "object" == typeof t ? t : {}, l = {
2842
2859
  added: {},
2843
2860
  removed: {},
2844
2861
  changed: {}
2845
2862
  };
2846
- for (const e of Object.keys(n)) Object.prototype.hasOwnProperty.call(r, e) ? Ko(n[e], r[e]) || gl(l.changed, e, {
2863
+ for (const e of Object.keys(n)) Object.prototype.hasOwnProperty.call(r, e) ? Yo(n[e], r[e]) || gl(l.changed, e, {
2847
2864
  from: n[e],
2848
2865
  to: r[e]
2849
2866
  }) : gl(l.removed, e, n[e]);
2850
2867
  for (const e of Object.keys(r)) Object.prototype.hasOwnProperty.call(n, e) || gl(l.added, e, r[e]);
2851
2868
  return l;
2852
2869
  }
2853
- function Bo(e, t) {
2870
+ function Jo(e, t) {
2854
2871
  if (null === e || "object" != typeof e || Array.isArray(e)) throw new Error("flat_apply: a flat json is an object of id -> value");
2855
2872
  if (null === t || "object" != typeof t) throw new Error("flat_apply: a diff is the object flat_diff() answers");
2856
2873
  for (const n of Object.keys(t.removed || {})) delete e[n];
@@ -2862,36 +2879,36 @@ function Bo(e, t) {
2862
2879
  }
2863
2880
  return e;
2864
2881
  }
2865
- function Jo(e) {
2882
+ function qo(e) {
2866
2883
  return "persistent-attrs-" + $t(e);
2867
2884
  }
2868
- function qo(e, t) {
2869
- let n = Xt(e, v.SDF_PERSIST), r = kl(Jo(e), null, !1);
2885
+ function Ho(e, t) {
2886
+ let n = Xt(e, v.SDF_PERSIST), r = Cl(qo(e), null, !1);
2870
2887
  if (r && Yr(r)) {
2871
- let l = Al(e, r, t, !1);
2872
- l = Al(e, l, n, !1), on(e, l, v.SDF_PERSIST);
2888
+ let l = Il(e, r, t, !1);
2889
+ l = Il(e, l, n, !1), on(e, l, v.SDF_PERSIST);
2873
2890
  }
2874
2891
  }
2875
- function Ho(e, t) {
2876
- let n = Al(e, Xt(e, v.SDF_PERSIST), t, !1), r = kl(Jo(e), null, !1);
2877
- return r && Yr(r) && Ir(n, r), Cl(Jo(e), n);
2878
- }
2879
2892
  function zo(e, t) {
2880
- let n = Il(e, kl(Jo(e), null, !1), t, !1);
2881
- 0 === Mr(n) ? Ll(Jo(e)) : Cl(Jo(e), n);
2893
+ let n = Il(e, Xt(e, v.SDF_PERSIST), t, !1), r = Cl(qo(e), null, !1);
2894
+ return r && Yr(r) && Ir(n, r), Ll(qo(e), n);
2882
2895
  }
2883
2896
  function Qo(e, t) {
2884
- let n = kl(Jo(e), null, !1), r = {};
2885
- return n && Yr(n) && (r = Al(e, n, t, !1)), r;
2897
+ let n = kl(e, Cl(qo(e), null, !1), t, !1);
2898
+ 0 === Mr(n) ? Pl(qo(e)) : Ll(qo(e), n);
2899
+ }
2900
+ function Xo(e, t) {
2901
+ let n = Cl(qo(e), null, !1), r = {};
2902
+ return n && Yr(n) && (r = Il(e, n, t, !1)), r;
2886
2903
  }
2887
- function Xo(e) {
2904
+ function Zo(e) {
2888
2905
  if (Br(e) && 1 === xr(e)) {
2889
2906
  let t = e[0];
2890
2907
  return cl(t, "size") ? t.size : 1;
2891
2908
  }
2892
2909
  return xr(e);
2893
2910
  }
2894
- function Zo(e, t) {
2911
+ function ei(e, t) {
2895
2912
  if (Jr(t)) {
2896
2913
  if (-1 === t.indexOf("^")) {
2897
2914
  let n, r, l = e.fkey;
@@ -2921,11 +2938,11 @@ function Zo(e, t) {
2921
2938
  hook_name: t.hook_name
2922
2939
  } : (ir("bad fkey 3"), ir(e), ir(t), null);
2923
2940
  }
2924
- function ei(e, t) {
2925
- let n = Zo(e, t);
2941
+ function ti(e, t) {
2942
+ let n = ei(e, t);
2926
2943
  return n ? n.topic_name + "^" + n.id + "^" + n.hook_name : null;
2927
2944
  }
2928
- function ti(e, t) {
2945
+ function ni(e, t) {
2929
2946
  if (Jr(t)) {
2930
2947
  if (-1 === t.indexOf("^")) {
2931
2948
  let n, r = e.hook;
@@ -2952,7 +2969,7 @@ function ti(e, t) {
2952
2969
  id: t.id
2953
2970
  } : (ir("bad hook 3"), ir(e), ir(t), null);
2954
2971
  }
2955
- var ni = [
2972
+ var ri = [
2956
2973
  "string",
2957
2974
  "integer",
2958
2975
  "object",
@@ -2962,7 +2979,7 @@ var ni = [
2962
2979
  "real",
2963
2980
  "boolean",
2964
2981
  "blob"
2965
- ], ri = [
2982
+ ], li = [
2966
2983
  "persistent",
2967
2984
  "required",
2968
2985
  "notnull",
@@ -2974,7 +2991,7 @@ var ni = [
2974
2991
  "stats",
2975
2992
  "rstats",
2976
2993
  "pstats"
2977
- ], li = [
2994
+ ], oi = [
2978
2995
  "hook",
2979
2996
  "fkey",
2980
2997
  "enum",
@@ -3003,7 +3020,7 @@ var ni = [
3003
3020
  "coordinates",
3004
3021
  "gbuffer"
3005
3022
  ];
3006
- function oi(e) {
3023
+ function ii(e) {
3007
3024
  let t = {
3008
3025
  name: e.id,
3009
3026
  header: e.header,
@@ -3022,7 +3039,7 @@ function oi(e) {
3022
3039
  if (!e.flag) return t;
3023
3040
  for (let n = 0; n < e.flag.length; n++) {
3024
3041
  let r = e.flag[n];
3025
- if (Kl(li, r)) {
3042
+ if (Yl(oi, r)) {
3026
3043
  switch (r) {
3027
3044
  case "enum":
3028
3045
  t.enum_list = e.enum;
@@ -3036,7 +3053,7 @@ function oi(e) {
3036
3053
  case "file": t.is_file = !0;
3037
3054
  }
3038
3055
  t.type = r;
3039
- } else if (Kl(ri, r)) switch (r) {
3056
+ } else if (Yl(li, r)) switch (r) {
3040
3057
  case "writable":
3041
3058
  t.is_writable = !0;
3042
3059
  break;
@@ -3049,7 +3066,7 @@ function oi(e) {
3049
3066
  }
3050
3067
  return t.is_file && (t.type = "file"), t;
3051
3068
  }
3052
- function ii(e, t) {
3069
+ function si(e, t) {
3053
3070
  let n = {
3054
3071
  name: e,
3055
3072
  header: e,
@@ -3067,9 +3084,9 @@ function ii(e, t) {
3067
3084
  let e = t.split(".");
3068
3085
  for (let t = 0; t < e.length; t++) {
3069
3086
  let r = e[t];
3070
- if (Kl(ni, r)) n.real_type || (n.real_type = r);
3071
- else if (Kl(li, r)) n.type || (n.type = r);
3072
- else if (Kl(ri, r)) switch (r) {
3087
+ if (Yl(ri, r)) n.real_type || (n.real_type = r);
3088
+ else if (Yl(oi, r)) n.type || (n.type = r);
3089
+ else if (Yl(li, r)) switch (r) {
3073
3090
  case "writable":
3074
3091
  n.is_writable = !0;
3075
3092
  break;
@@ -3081,35 +3098,35 @@ function ii(e, t) {
3081
3098
  }
3082
3099
  }
3083
3100
  n.real_type || (n.real_type = "string");
3084
- } else Yr(t) ? (n = oi(t), n.name || (n.name = e), n.header || (n.header = e)) : Br(t) && (n.real_type = "array", n.enum_list = t);
3101
+ } else Yr(t) ? (n = ii(t), n.name || (n.name = e), n.header || (n.header = e)) : Br(t) && (n.real_type = "array", n.enum_list = t);
3085
3102
  return n.type || (n.type = n.real_type), n;
3086
3103
  }
3087
- function si(e, t) {
3104
+ function ai(e, t) {
3088
3105
  let n = {};
3089
3106
  return t || (t = {}), Object.entries(e).forEach(([e, r]) => {
3090
3107
  let l;
3091
3108
  Yr(r) && (l = r.default);
3092
- let o = vl(null, t, e, l);
3093
- n[e] = o;
3109
+ let o = Ol(null, t, e, l);
3110
+ Lr(n, e, o);
3094
3111
  }), n;
3095
3112
  }
3096
- var ai = [
3113
+ var ui = [
3097
3114
  N(T.DTP_POINTER, "subscriber", 0, null, "Subscriber of output events"),
3098
3115
  N(T.DTP_BOOLEAN, "periodic", 0, 0, "True for periodic timeouts"),
3099
3116
  N(T.DTP_INTEGER, "msec", 0, 0, "Timeout in milliseconds"),
3100
3117
  S()
3101
- ], ui = {
3118
+ ], _i = {
3102
3119
  periodic: !1,
3103
3120
  msec: 0,
3104
3121
  timer_id: -1
3105
- }, _i = null;
3106
- function ci(e, t, n, r) {
3122
+ }, ci = null;
3123
+ function fi(e, t, n, r) {
3107
3124
  let l = e.priv, o = l.periodic ? "EV_TIMEOUT_PERIODIC" : "EV_TIMEOUT";
3108
3125
  return l.periodic && l.msec > 0 ? l.timer_id = setTimeout(function() {
3109
3126
  Tn(e, "EV_TIMEOUT", {}, e);
3110
3127
  }, l.msec) : l.timer_id = -1, kt(e) ? Tn(At(e), o, {}, e) : Pn(e, o, {}), l.periodic || -1 !== l.timer_id || Et(e) && gt(e), 0;
3111
3128
  }
3112
- var fi = {
3129
+ var gi = {
3113
3130
  mt_create: function(e) {
3114
3131
  let t = e.priv;
3115
3132
  const n = nn(e, "subscriber");
@@ -3134,31 +3151,31 @@ var fi = {
3134
3151
  },
3135
3152
  mt_destroy: function(e) {}
3136
3153
  };
3137
- function gi() {
3154
+ function di() {
3138
3155
  return function(e) {
3139
- if (_i) return ir(`GClass ALREADY created: ${e}`), -1;
3156
+ if (ci) return ir(`GClass ALREADY created: ${e}`), -1;
3140
3157
  const t = [["ST_IDLE", [[
3141
3158
  "EV_TIMEOUT",
3142
- ci,
3159
+ fi,
3143
3160
  null
3144
3161
  ]]]];
3145
- return (_i = Ae(e, [
3162
+ return (ci = Ae(e, [
3146
3163
  ["EV_TIMEOUT", U.EVF_OUTPUT_EVENT],
3147
3164
  ["EV_TIMEOUT_PERIODIC", U.EVF_OUTPUT_EVENT],
3148
3165
  [0, 0]
3149
- ], t, fi, 0, ai, ui, 0, 0, 0, C.gcflag_manual_start)) ? 0 : -1;
3166
+ ], t, gi, 0, ui, _i, 0, 0, 0, C.gcflag_manual_start)) ? 0 : -1;
3150
3167
  }("C_TIMER");
3151
3168
  }
3152
- function di(e, t) {
3169
+ function bi(e, t) {
3153
3170
  return e instanceof k ? "C_TIMER" !== Rt(e) ? (ir("not C_TIMER GObj"), -1) : (sn(e, "periodic", !1), void an(e, "msec", t)) : (ir("not GObj TYPE"), -1);
3154
3171
  }
3155
- function bi(e, t) {
3172
+ function pi(e, t) {
3156
3173
  return e instanceof k ? "C_TIMER" !== Rt(e) ? (ir("not C_TIMER GObj"), -1) : (sn(e, "periodic", !0), void an(e, "msec", t)) : (ir("not GObj TYPE"), -1);
3157
3174
  }
3158
- function pi(e) {
3175
+ function mi(e) {
3159
3176
  return e instanceof k ? "C_TIMER" !== Rt(e) ? (ir("not C_TIMER GObj"), -1) : void an(e, "msec", -1) : (ir("not GObj TYPE"), -1);
3160
3177
  }
3161
- var mi = [
3178
+ var hi = [
3162
3179
  N(T.DTP_BOOLEAN, "changesLost", 0, !1, "Set true to warn about leaving page"),
3163
3180
  N(T.DTP_BOOLEAN, "browser_beforeunload", 0, !1, "Set true to refreshing browser"),
3164
3181
  N(T.DTP_STRING, "__username__", 0, "", "Username"),
@@ -3178,26 +3195,26 @@ var mi = [
3178
3195
  N(T.DTP_BOOLEAN, "developer", 0, !1, "Developer mode enabled"),
3179
3196
  N(T.DTP_INTEGER, "periodic_timeout", 0, "1000", "Timeout periodic, in miliseconds."),
3180
3197
  S()
3181
- ], hi = { gobj_timer: null }, Ei = null;
3182
- function yi(e, t, n, r) {
3198
+ ], Ei = { gobj_timer: null }, yi = null;
3199
+ function Ti(e, t, n, r) {
3183
3200
  let l = Qt(e, t);
3184
3201
  return Yr(l) || (l = {}), l[n] = r, rn(e, t, l), He(e, t);
3185
3202
  }
3186
- function Ti(e) {
3203
+ function vi(e) {
3187
3204
  if (!0 === e || !1 === e) return e;
3188
3205
  let t = String(null == e ? "" : e).toLowerCase();
3189
3206
  return "true" === t || "set" === t || "false" !== t && "reset" !== t && ("" === t || isNaN(Number(t)) ? null : !!Number(t));
3190
3207
  }
3191
- function vi() {
3208
+ function Oi() {
3192
3209
  return `${Nt()}^${St()}`;
3193
3210
  }
3194
- function Oi(e, t, n, r) {
3211
+ function Si(e, t, n, r) {
3195
3212
  return Pn(e, t, n), 0;
3196
3213
  }
3197
- var Si = {
3214
+ var Ni = {
3198
3215
  mt_create: function(e) {
3199
3216
  let t = e.priv;
3200
- un(e, "start_date", $o()), un(e, "node_uuid", Io()), e.priv.gobj_timer = ot(jt(e), "C_TIMER", {}, e), t.periodic_timeout = Qt(e, "periodic_timeout"), function(e) {
3217
+ un(e, "start_date", Do()), un(e, "node_uuid", ko()), e.priv.gobj_timer = ot(jt(e), "C_TIMER", {}, e), t.periodic_timeout = Qt(e, "periodic_timeout"), function(e) {
3201
3218
  let t = Qt(e, "trace_levels");
3202
3219
  if (!Yr(t)) return 0;
3203
3220
  let n = t.__global_trace__;
@@ -3231,10 +3248,10 @@ var Si = {
3231
3248
  },
3232
3249
  mt_writing: function(e, t) {},
3233
3250
  mt_start: function(e) {
3234
- return bi(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
3251
+ return pi(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
3235
3252
  },
3236
3253
  mt_stop: function(e) {
3237
- return pi(e.priv.gobj_timer), bt(e), 0;
3254
+ return mi(e.priv.gobj_timer), bt(e), 0;
3238
3255
  },
3239
3256
  mt_destroy: function(e) {},
3240
3257
  mt_play: function(e) {
@@ -3251,35 +3268,35 @@ var Si = {
3251
3268
  case "get-global-no-trace": return o(0, 0, null, null, de());
3252
3269
  case "set-global-trace":
3253
3270
  case "set-global-no-trace": {
3254
- let r = "set-global-no-trace" === t, l = n.level, i = Ti(n.set);
3255
- return l ? null === i ? o(0, -1, `${vi()}: bitmask set or re-set?`, null, null) : (r ? ae(l, i) : se(l, i)) < 0 ? o(0, -1, `${vi()}: global trace level not found: ${l}`, null, null) : r ? (yi(e, "no_trace_levels", "__global_no_trace__", de()), o(0, 0, null, null, de())) : (yi(e, "trace_levels", "__global_trace__", ge()), o(0, 0, null, null, ge())) : o(0, -1, `${vi()}: what level?`, null, null);
3271
+ let r = "set-global-no-trace" === t, l = n.level, i = vi(n.set);
3272
+ return l ? null === i ? o(0, -1, `${Oi()}: bitmask set or re-set?`, null, null) : (r ? ae(l, i) : se(l, i)) < 0 ? o(0, -1, `${Oi()}: global trace level not found: ${l}`, null, null) : r ? (Ti(e, "no_trace_levels", "__global_no_trace__", de()), o(0, 0, null, null, de())) : (Ti(e, "trace_levels", "__global_trace__", ge()), o(0, 0, null, null, ge())) : o(0, -1, `${Oi()}: what level?`, null, null);
3256
3273
  }
3257
3274
  case "get-gclass-trace":
3258
3275
  case "get-gclass-no-trace":
3259
3276
  case "set-gclass-trace":
3260
3277
  case "set-gclass-no-trace": {
3261
3278
  let r = t.indexOf("no-trace") >= 0, l = n.gclass_name || n.gclass || "", i = Me(l);
3262
- if (!i) return o(0, -1, `${vi()}: what gclass is '${l}'?`, null, null);
3279
+ if (!i) return o(0, -1, `${Oi()}: what gclass is '${l}'?`, null, null);
3263
3280
  if (0 === t.indexOf("get-")) return o(0, 0, null, null, r ? me(i) : be(i));
3264
- let s = n.level, a = Ti(n.set);
3265
- return s ? null === a ? o(0, -1, `${vi()}: bitmask set or re-set?`, null, null) : (r ? Te(i, s, a) : Ee(i, s, a)) < 0 ? o(0, -1, `${vi()}: trace level of ${l} not found: ${s}`, null, null) : r ? (yi(e, "no_trace_levels", l, me(i)), o(0, 0, null, null, me(i))) : (yi(e, "trace_levels", l, pe(i)), o(0, 0, null, null, be(i))) : o(0, -1, `${vi()}: what level?`, null, null);
3281
+ let s = n.level, a = vi(n.set);
3282
+ return s ? null === a ? o(0, -1, `${Oi()}: bitmask set or re-set?`, null, null) : (r ? Te(i, s, a) : Ee(i, s, a)) < 0 ? o(0, -1, `${Oi()}: trace level of ${l} not found: ${s}`, null, null) : r ? (Ti(e, "no_trace_levels", l, me(i)), o(0, 0, null, null, me(i))) : (Ti(e, "trace_levels", l, pe(i)), o(0, 0, null, null, be(i))) : o(0, -1, `${Oi()}: what level?`, null, null);
3266
3283
  }
3267
- default: return o(0, -1, `${vi()}: command not available: ${t}`, null, null);
3284
+ default: return o(0, -1, `${Oi()}: command not available: ${t}`, null, null);
3268
3285
  }
3269
3286
  }
3270
3287
  };
3271
- function Ni() {
3288
+ function wi() {
3272
3289
  return function(e) {
3273
- if (Ei) return ir(`GClass ALREADY created: ${e}`), -1;
3290
+ if (yi) return ir(`GClass ALREADY created: ${e}`), -1;
3274
3291
  const t = [["ST_IDLE", [[
3275
3292
  "EV_TIMEOUT_PERIODIC",
3276
- Oi,
3293
+ Si,
3277
3294
  null
3278
3295
  ]]]];
3279
- return (Ei = Ae(e, [["EV_TIMEOUT_PERIODIC", U.EVF_OUTPUT_EVENT | U.EVF_NO_WARN_SUBS], [0, 0]], t, Si, 0, mi, hi, 0, 0, 0, 0)) ? 0 : -1;
3296
+ return (yi = Ae(e, [["EV_TIMEOUT_PERIODIC", U.EVF_OUTPUT_EVENT | U.EVF_NO_WARN_SUBS], [0, 0]], t, Ni, 0, hi, Ei, 0, 0, 0, 0)) ? 0 : -1;
3280
3297
  }("C_YUNO");
3281
3298
  }
3282
- var wi = "ievent_gate_stack", ji = [
3299
+ var ji = "ievent_gate_stack", Ri = [
3283
3300
  N(T.DTP_STRING, "wanted_yuno_role", v.SDF_RD, "", "wanted yuno role"),
3284
3301
  N(T.DTP_STRING, "wanted_yuno_name", v.SDF_RD, "", "wanted yuno name"),
3285
3302
  N(T.DTP_STRING, "wanted_yuno_service", v.SDF_RD, "", "wanted yuno service"),
@@ -3296,15 +3313,15 @@ var wi = "ievent_gate_stack", ji = [
3296
3313
  N(T.DTP_INTEGER, "timeout_idack", v.SDF_RD, "5000", "timeout waiting idAck"),
3297
3314
  N(T.DTP_POINTER, "subscriber", 0, 0, "subscriber of output-events. If null then subscriber is the parent"),
3298
3315
  S()
3299
- ], Ri = [
3316
+ ], $i = [
3300
3317
  ["ievents", "Trace inter-events with metadata of kw"],
3301
3318
  ["ievents2", "Trace inter-events with full kw"],
3302
3319
  ["identity-card", "Trace identity_card messages"]
3303
3320
  ];
3304
- function $i(e) {
3321
+ function Di(e) {
3305
3322
  return !!(3 & Z(e));
3306
3323
  }
3307
- var Di = {
3324
+ var Ai = {
3308
3325
  url: null,
3309
3326
  remote_yuno_name: null,
3310
3327
  remote_yuno_role: null,
@@ -3314,8 +3331,8 @@ var Di = {
3314
3331
  websocket: null,
3315
3332
  inside_on_open: !1,
3316
3333
  retry_ms: 0
3317
- }, Ai = null;
3318
- function Ii(e) {
3334
+ }, Ii = null;
3335
+ function ki(e) {
3319
3336
  e.priv.websocket && ir("Websocket ALREADY setup");
3320
3337
  const t = tn(e, "url");
3321
3338
  ur(`====> Starting WebSocket to '${t}' (${$t(e)})`);
@@ -3330,7 +3347,7 @@ function Ii(e) {
3330
3347
  code: 1006,
3331
3348
  reason: r.message,
3332
3349
  was_clean: !1
3333
- }, e), null;
3350
+ }, e) < 0 && bi(e.priv.gobj_timer, Ki(e)), null;
3334
3351
  }
3335
3352
  return r ? (r.onopen = () => {
3336
3353
  n !== e.priv.ws_seq || Ct(e) || Tn(e, "EV_ON_OPEN", {
@@ -3352,7 +3369,7 @@ function Ii(e) {
3352
3369
  }, e));
3353
3370
  }, r) : (ir(`${$t(e)}: Failed to initialize WebSocket.`), null);
3354
3371
  }
3355
- function ki(e, t = 1e3, n = "") {
3372
+ function Ci(e, t = 1e3, n = "") {
3356
3373
  let r = e.priv, l = r.websocket;
3357
3374
  if (r.websocket = null, l && l.readyState !== WebSocket.CLOSED && l.readyState !== WebSocket.CLOSING) {
3358
3375
  ur(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
@@ -3363,25 +3380,25 @@ function ki(e, t = 1e3, n = "") {
3363
3380
  }
3364
3381
  } else sr("WebSocket is already closed or in the process of closing.");
3365
3382
  }
3366
- function Ci(e, t, n) {
3367
- let r = $o();
3383
+ function Li(e, t, n) {
3384
+ let r = Do();
3368
3385
  try {
3369
3386
  ur("\n" + r + " " + t + "\n"), wr(n);
3370
3387
  } catch (e) {
3371
3388
  ur("ERROR in trace_inter_event: " + e);
3372
3389
  }
3373
3390
  }
3374
- var Li = class {
3391
+ var Pi = class {
3375
3392
  constructor(e, t) {
3376
3393
  this.event = e, this.kw = t || {};
3377
3394
  }
3378
3395
  };
3379
- function Pi(e, t, n, r) {
3396
+ function Ui(e, t, n, r) {
3380
3397
  return function(e, t) {
3381
3398
  let n = e.priv, r = JSON.stringify(t);
3382
- if ($i(e)) {
3399
+ if (Di(e)) {
3383
3400
  let n = tn(e, "url"), l = jt(Ot()) + " ==> " + n, o = Qt(Ot(), "trace_ievent_callback");
3384
- o ? o(l, t, 1, r.length) : Ci(0, l, t);
3401
+ o ? o(l, t, 1, r.length) : Li(0, l, t);
3385
3402
  }
3386
3403
  if (!n.websocket || n.websocket.readyState !== WebSocket.OPEN) return sr(`${$t(e)}: send_iev(): websocket not open, message lost`), -1;
3387
3404
  try {
@@ -3391,10 +3408,10 @@ function Pi(e, t, n, r) {
3391
3408
  }
3392
3409
  return 0;
3393
3410
  }(e, function(e, t) {
3394
- return tl(e) ? (ir("iev_create() event NULL"), null) : new Li(e, t);
3411
+ return tl(e) ? (ir("iev_create() event NULL"), null) : new Pi(e, t);
3395
3412
  }(t, n));
3396
3413
  }
3397
- function Ui(e, t, n) {
3414
+ function Fi(e, t, n) {
3398
3415
  return tl(n) && (n = tn(e, "wanted_yuno_service")), {
3399
3416
  dst_yuno: tn(e, "wanted_yuno_name"),
3400
3417
  dst_role: tn(e, "wanted_yuno_role"),
@@ -3402,10 +3419,10 @@ function Ui(e, t, n) {
3402
3419
  src_yuno: St(),
3403
3420
  src_role: Nt(),
3404
3421
  src_service: t,
3405
- host: Io()
3422
+ host: ko()
3406
3423
  };
3407
3424
  }
3408
- function Fi(e) {
3425
+ function Vi(e) {
3409
3426
  let t = e.priv, n = vt(Ot()), r = tn(Ot(), "yuno_version"), l = tn(Ot(), "yuno_release"), o = tn(Ot(), "yuno_tag"), i = Qt(e, "required_services");
3410
3427
  i && i.length || (i = Qt(Ot(), "required_services"));
3411
3428
  let s = {
@@ -3423,27 +3440,27 @@ function Fi(e) {
3423
3440
  username: tn(Ot(), "__username__"),
3424
3441
  launch_id: 0,
3425
3442
  yuno_startdate: tn(Ot(), "start_date"),
3426
- id: Io(),
3443
+ id: ko(),
3427
3444
  user_agent: "undefined" != typeof window ? window.navigator.userAgent : "",
3428
3445
  language: "undefined" != typeof window ? window.navigator.language : "",
3429
3446
  required_services: i
3430
3447
  };
3431
- return Hl(e, s, wi, Ui(e, jt(At(e)), null)), Ql(e, s, "__identity__"), di(t.gobj_timer, en(e, "timeout_idack")), Pi(e, "EV_IDENTITY_CARD", s);
3448
+ return zl(e, s, ji, Fi(e, jt(At(e)), null)), Xl(e, s, "__identity__"), bi(t.gobj_timer, en(e, "timeout_idack")), Ui(e, "EV_IDENTITY_CARD", s);
3432
3449
  }
3433
- function Vi(e, t) {
3450
+ function Gi(e, t) {
3434
3451
  if (tl(t.event)) return -1;
3435
3452
  let n = {}, r = t.__global__, l = t.__config__, o = t.__filter__, i = t.__service__, s = t.subscriber;
3436
3453
  l && (n.__config__ = l), r && (n.__global__ = r), o && (n.__filter__ = o);
3437
- return Hl(e, n, wi, Ui(e, jt(s), i)), Ql(e, n, "__subscribing__"), Pi(e, t.event, n);
3438
- }
3439
- function Gi(e, t, n, r) {
3440
- let l = e.priv;
3441
- return Et(e) && (l.websocket = Ii(e)), 0;
3454
+ return zl(e, n, ji, Fi(e, jt(s), i)), Xl(e, n, "__subscribing__"), Ui(e, t.event, n);
3442
3455
  }
3443
3456
  function Mi(e, t, n, r) {
3444
- return ur("Websocket opened: " + e.priv.url), Fi(e), 0;
3457
+ let l = e.priv;
3458
+ return Et(e) && (l.websocket = ki(e)), 0;
3445
3459
  }
3446
3460
  function Wi(e, t, n, r) {
3461
+ return ur("Websocket opened: " + e.priv.url), Vi(e), 0;
3462
+ }
3463
+ function xi(e, t, n, r) {
3447
3464
  let l = e.priv, o = n.url;
3448
3465
  return void 0 !== n.ws_seq && n.ws_seq !== l.ws_seq || (rr(), sr(`${$t(e)}: WebSocket closed ${o} (Code: ${n.code}, Reason: "${n.reason}", Clean: ${n.was_clean})`), l.websocket && (l.websocket.onopen = null, l.websocket.onmessage = null, l.websocket.onerror = null, l.websocket.onclose = null, l.websocket = null), l.inform_on_close ? (l.inform_on_close = !1, Pn(e, "EV_ON_CLOSE", {
3449
3466
  url: o,
@@ -3458,25 +3475,25 @@ function Wi(e, t, n, r) {
3458
3475
  code: n.code,
3459
3476
  reason: n.reason,
3460
3477
  was_clean: n.was_clean
3461
- })), Et(e) && di(l.gobj_timer, function(e) {
3462
- let t = e.priv, n = en(e, "timeout_retry"), r = en(e, "timeout_retry_max");
3463
- r < n && (r = n);
3464
- t.retry_ms = t.retry_ms ? Math.min(2 * t.retry_ms, r) : n;
3465
- let l = .2 * t.retry_ms, o = t.retry_ms - l + 2 * Math.random() * l;
3466
- return Math.max(1, Math.round(o));
3467
- }(e))), 0;
3478
+ })), Et(e) && bi(l.gobj_timer, Ki(e))), 0;
3468
3479
  }
3469
- function xi(e, t, n, r) {
3470
- return Fi(e), 0;
3480
+ function Ki(e) {
3481
+ let t = e.priv, n = en(e, "timeout_retry"), r = en(e, "timeout_retry_max");
3482
+ r < n && (r = n), t.retry_ms = t.retry_ms ? Math.min(2 * t.retry_ms, r) : n;
3483
+ let l = .2 * t.retry_ms, o = t.retry_ms - l + 2 * Math.random() * l;
3484
+ return Math.max(1, Math.round(o));
3485
+ }
3486
+ function Yi(e, t, n, r) {
3487
+ return Vi(e), 0;
3471
3488
  }
3472
- function Ki(e, t, n, r) {
3489
+ function Bi(e, t, n, r) {
3473
3490
  let l = e.priv;
3474
- pi(l.gobj_timer);
3475
- let o = zl(e, n, wi, !0), i = El(e, o, "src_yuno", ""), s = El(e, o, "src_role", ""), a = El(e, o, "src_service", "");
3491
+ mi(l.gobj_timer);
3492
+ let o = Ql(e, n, ji, !0), i = yl(e, o, "src_yuno", ""), s = yl(e, o, "src_role", ""), a = yl(e, o, "src_service", "");
3476
3493
  un(e, "remote_yuno_name", i), un(e, "remote_yuno_role", s), un(e, "remote_yuno_service", a);
3477
- let u = ml(e, n, "result", -1, 0), _ = El(e, n, "comment", "", 0), c = El(e, n, "username", "", 0), f = vl(e, n, "services_roles", {});
3494
+ let u = hl(e, n, "result", -1, 0), _ = yl(e, n, "comment", "", 0), c = yl(e, n, "username", "", 0), f = Ol(e, n, "services_roles", {});
3478
3495
  if (u < 0) {
3479
- ki(e);
3496
+ Ci(e);
3480
3497
  let t = {
3481
3498
  url: tn(e, "url"),
3482
3499
  result: u,
@@ -3501,12 +3518,12 @@ function Ki(e, t, n, r) {
3501
3518
  }
3502
3519
  l.inside_on_open = !1, function(e) {
3503
3520
  let t = kn(e, null, null, null);
3504
- for (let n = 0; n < t.length; n++) Vi(e, t[n]);
3521
+ for (let n = 0; n < t.length; n++) Gi(e, t[n]);
3505
3522
  }(e);
3506
3523
  }
3507
3524
  return 0;
3508
3525
  }
3509
- function Yi(e, t, n, r) {
3526
+ function Ji(e, t, n, r) {
3510
3527
  let l = e.priv.url, o = function(e, t) {
3511
3528
  let n;
3512
3529
  try {
@@ -3525,21 +3542,21 @@ function Yi(e, t, n, r) {
3525
3542
  } : (sr(`${$t(e)}: parsing inter_event: kw not a json object`), null) : (sr(`${$t(e)}: parsing inter_kw: no kw`), null);
3526
3543
  }(e, n.data);
3527
3544
  if (!o) return sr(`${$t(e)}: frame dropped from ${l}: ${String(n.data).substring(0, 256)}`), -1;
3528
- if ($i(e)) {
3545
+ if (Di(e)) {
3529
3546
  let e = jt(Ot()) + " <== " + l, t = n.data.length, r = Qt(Ot(), "trace_ievent_callback");
3530
- r ? r(e, o, 2, t) : Ci(0, e, o);
3547
+ r ? r(e, o, 2, t) : Li(0, e, o);
3531
3548
  }
3532
3549
  let i = o.event, s = o.kw;
3533
3550
  if ("ST_SESSION" !== cn(e)) {
3534
3551
  if (dn(e, i, U.EVF_PUBLIC_EVENT)) {
3535
3552
  if (!(Tn(e, i, s, e) < 0)) return 0;
3536
3553
  } else ir(`${$t(e)}: event UNKNOWN in not-session state ${i}`);
3537
- return ki(e), -1;
3554
+ return Ci(e), -1;
3538
3555
  }
3539
3556
  o = null;
3540
- let a = Xl(e, s), u = zl(e, s, wi), _ = El(e, u, "dst_role", "");
3557
+ let a = Zl(e, s), u = Ql(e, s, ji), _ = yl(e, u, "dst_role", "");
3541
3558
  if (_.toLowerCase() !== Nt().toLowerCase()) return ir(`"It's not my role, dst_role: ${_}, my_role: ${Nt()}`), 0;
3542
- let c = El(e, u, "dst_service", "");
3559
+ let c = yl(e, u, "dst_service", "");
3543
3560
  if ("__subscribing__" === a) return sr(`${$t(e)}: subscription event ignored, I'm client (service: ${c}, event: ${i})`), -1;
3544
3561
  if ("__unsubscribing__" === a) return sr(`${$t(e)}: unsubscription event ignored, I'm client (service: ${c}, event: ${i})`), -1;
3545
3562
  if (dn(e, i, U.EVF_PUBLIC_EVENT)) return Tn(e, i, s, e), 0;
@@ -3549,13 +3566,13 @@ function Yi(e, t, n, r) {
3549
3566
  }
3550
3567
  return kt(e) ? Tn(At(e), i, s, e) : Pn(e, i, s), 0;
3551
3568
  }
3552
- function Bi(e, t, n, r) {
3569
+ function qi(e, t, n, r) {
3553
3570
  return 0;
3554
3571
  }
3555
- function Ji(e, t, n, r) {
3572
+ function Hi(e, t, n, r) {
3556
3573
  return 0;
3557
3574
  }
3558
- var qi = {
3575
+ var zi = {
3559
3576
  mt_create: function(e) {
3560
3577
  let t = e.priv;
3561
3578
  t.gobj_timer = ot(jt(e), "C_TIMER", {}, e), t.ws_seq = 0, t.url = tn(e, "url"), t.remote_yuno_name = tn(e, "remote_yuno_name"), t.remote_yuno_role = tn(e, "remote_yuno_role"), t.remote_yuno_service = tn(e, "remote_yuno_service"), un(e, "wanted_yuno_name", t.remote_yuno_name), un(e, "wanted_yuno_role", t.remote_yuno_role), un(e, "wanted_yuno_service", t.remote_yuno_service);
@@ -3585,43 +3602,43 @@ var qi = {
3585
3602
  code: 1e3,
3586
3603
  reason: "restarted",
3587
3604
  was_clean: !0
3588
- }, e), pi(t.gobj_timer)), t.websocket = Ii(e), 0;
3605
+ }, e), mi(t.gobj_timer)), t.websocket = ki(e), 0;
3589
3606
  },
3590
3607
  mt_stop: function(e) {
3591
3608
  let t = e.priv;
3592
- return pi(t.gobj_timer), t.websocket && ki(e), 0;
3609
+ return mi(t.gobj_timer), t.websocket && Ci(e), 0;
3593
3610
  },
3594
3611
  mt_destroy: function(e) {},
3595
3612
  mt_stats: function(e, t, n, r) {
3596
3613
  if ("ST_SESSION" !== cn(e)) return ir("Not in session"), null;
3597
3614
  n || (n = {});
3598
- let l = Ui(e, jt(r), El(e, n, "service", null, 0)), o = vl(e, n, "__md_stats__", null, Vn.KW_EXTRACT);
3599
- return o || (o = {}), Hl(e, n, "stats_stack", {
3615
+ let l = Fi(e, jt(r), yl(e, n, "service", null, 0)), o = Ol(e, n, "__md_stats__", null, Vn.KW_EXTRACT);
3616
+ return o || (o = {}), zl(e, n, "stats_stack", {
3600
3617
  stats: t,
3601
3618
  kw: o
3602
- }), Hl(e, n, wi, l), n.__stats__ = t, Ql(e, n, "__stats__"), Pi(e, "EV_MT_STATS", n, r), null;
3619
+ }), zl(e, n, ji, l), n.__stats__ = t, Xl(e, n, "__stats__"), Ui(e, "EV_MT_STATS", n, r), null;
3603
3620
  },
3604
3621
  mt_command_parser: function(e, t, n, r) {
3605
3622
  if ("ST_SESSION" !== cn(e)) return ir("Not in session"), null;
3606
3623
  n || (n = {});
3607
- let l = Ui(e, jt(r), El(e, n, "service", "", 0)), o = vl(e, n, "__md_command__", null, Vn.KW_EXTRACT);
3608
- return o || (o = {}), Hl(e, n, "command_stack", {
3624
+ let l = Fi(e, jt(r), yl(e, n, "service", "", 0)), o = Ol(e, n, "__md_command__", null, Vn.KW_EXTRACT);
3625
+ return o || (o = {}), zl(e, n, "command_stack", {
3609
3626
  command: t,
3610
3627
  kw: o
3611
- }), Hl(e, n, wi, l), n.__command__ = t, Ql(e, n, "__command__"), Pi(e, "EV_MT_COMMAND", n, r), null;
3628
+ }), zl(e, n, ji, l), n.__command__ = t, Xl(e, n, "__command__"), Ui(e, "EV_MT_COMMAND", n, r), null;
3612
3629
  },
3613
3630
  mt_inject_event: function(e, t, n, r) {
3614
3631
  if ("ST_SESSION" !== cn(e)) return window.console.error("Not in session"), -1;
3615
- if (n = Dr({}, Yr(n) ? n : {}), Yr(n.__md_iev__) && (n.__md_iev__ = jr(n.__md_iev__)), zl(e, n, wi));
3632
+ if (n = Dr({}, Yr(n) ? n : {}), Yr(n.__md_iev__) && (n.__md_iev__ = jr(n.__md_iev__)), Ql(e, n, ji));
3616
3633
  else {
3617
- let l = Ui(e, jt(r), El(e, n, "__service__", 0, 0));
3618
- Cr(n, "__service__"), Hl(e, n, "__message__", t), Hl(e, n, wi, l);
3634
+ let l = Fi(e, jt(r), yl(e, n, "__service__", 0, 0));
3635
+ Cr(n, "__service__"), zl(e, n, "__message__", t), zl(e, n, ji, l);
3619
3636
  }
3620
- return Ql(e, n, "__message__"), Pi(e, t, n, r);
3637
+ return Xl(e, n, "__message__"), Ui(e, t, n, r);
3621
3638
  },
3622
3639
  mt_subscription_added: function(e, t) {
3623
3640
  let n = e.priv;
3624
- return "ST_SESSION" === cn(e) && n.websocket ? n.inside_on_open ? 0 : Vi(e, t) : 0;
3641
+ return "ST_SESSION" === cn(e) && n.websocket ? n.inside_on_open ? 0 : Gi(e, t) : 0;
3625
3642
  },
3626
3643
  mt_subscription_deleted: function(e, t) {
3627
3644
  let n = e.priv;
@@ -3630,27 +3647,27 @@ var qi = {
3630
3647
  if (tl(t.event)) return 0;
3631
3648
  let r = {}, l = t.__global__, o = t.__config__, i = t.__filter__, s = t.__service__, a = t.subscriber;
3632
3649
  o && (r.__config__ = o), l && (r.__global__ = l), i && (r.__filter__ = i);
3633
- return Hl(e, r, wi, Ui(e, jt(a), s)), Ql(e, r, "__unsubscribing__"), Pi(e, t.event, r, e);
3650
+ return zl(e, r, ji, Fi(e, jt(a), s)), Xl(e, r, "__unsubscribing__"), Ui(e, t.event, r, e);
3634
3651
  }
3635
3652
  };
3636
- function Hi() {
3653
+ function Qi() {
3637
3654
  return function(e) {
3638
- if (Ai) return ir(`GClass ALREADY created: ${e}`), -1;
3655
+ if (Ii) return ir(`GClass ALREADY created: ${e}`), -1;
3639
3656
  const t = [
3640
3657
  ["ST_DISCONNECTED", [
3641
3658
  [
3642
3659
  "EV_ON_OPEN",
3643
- Mi,
3660
+ Wi,
3644
3661
  "ST_WAIT_IDENTITY_CARD_ACK"
3645
3662
  ],
3646
3663
  [
3647
3664
  "EV_ON_CLOSE",
3648
- Wi,
3665
+ xi,
3649
3666
  null
3650
3667
  ],
3651
3668
  [
3652
3669
  "EV_TIMEOUT",
3653
- Gi,
3670
+ Mi,
3654
3671
  null
3655
3672
  ],
3656
3673
  [
@@ -3662,22 +3679,22 @@ function Hi() {
3662
3679
  ["ST_WAIT_IDENTITY_CARD_ACK", [
3663
3680
  [
3664
3681
  "EV_ON_MESSAGE",
3665
- Yi,
3682
+ Ji,
3666
3683
  null
3667
3684
  ],
3668
3685
  [
3669
3686
  "EV_IDENTITY_CARD_ACK",
3670
- Ki,
3687
+ Bi,
3671
3688
  null
3672
3689
  ],
3673
3690
  [
3674
3691
  "EV_ON_CLOSE",
3675
- Wi,
3692
+ xi,
3676
3693
  "ST_DISCONNECTED"
3677
3694
  ],
3678
3695
  [
3679
3696
  "EV_TIMEOUT",
3680
- xi,
3697
+ Yi,
3681
3698
  null
3682
3699
  ],
3683
3700
  [
@@ -3689,22 +3706,22 @@ function Hi() {
3689
3706
  ["ST_SESSION", [
3690
3707
  [
3691
3708
  "EV_ON_MESSAGE",
3692
- Yi,
3709
+ Ji,
3693
3710
  null
3694
3711
  ],
3695
3712
  [
3696
3713
  "EV_MT_STATS",
3697
- Bi,
3714
+ qi,
3698
3715
  null
3699
3716
  ],
3700
3717
  [
3701
3718
  "EV_MT_COMMAND",
3702
- Ji,
3719
+ Hi,
3703
3720
  null
3704
3721
  ],
3705
3722
  [
3706
3723
  "EV_ON_CLOSE",
3707
- Wi,
3724
+ xi,
3708
3725
  "ST_DISCONNECTED"
3709
3726
  ],
3710
3727
  [
@@ -3715,7 +3732,7 @@ function Hi() {
3715
3732
  ]],
3716
3733
  [null, null]
3717
3734
  ];
3718
- return (Ai = Ae(e, [
3735
+ return (Ii = Ae(e, [
3719
3736
  ["EV_ON_MESSAGE", U.EVF_OUTPUT_EVENT],
3720
3737
  ["EV_IDENTITY_CARD_ACK", U.EVF_PUBLIC_EVENT],
3721
3738
  ["EV_ON_ID_NAK", U.EVF_PUBLIC_EVENT | U.EVF_OUTPUT_EVENT],
@@ -3726,9 +3743,9 @@ function Hi() {
3726
3743
  ["EV_ON_OPEN_ERROR", U.EVF_OUTPUT_EVENT | U.EVF_NO_WARN_SUBS],
3727
3744
  ["EV_TIMEOUT", 0],
3728
3745
  [null, 0]
3729
- ], t, qi, 0, ji, Di, 0, 0, Ri, C.gcflag_no_check_output_events)) ? 0 : -1;
3746
+ ], t, zi, 0, Ri, Ai, 0, 0, $i, C.gcflag_no_check_output_events)) ? 0 : -1;
3730
3747
  }("C_IEVENT_CLI");
3731
3748
  }
3732
- export { k as GObj, N as SDATA, $ as SDATAAUTHZ, w as SDATACM, j as SDATACM2, A as SDATADF, R as SDATAPM, D as SDATAPM0, S as SDATA_END, O as SDataDesc, a as YUNETA_VERSION, h as __yuno__, o as build_command_response, Po as build_path, s as build_stats_response, ko as clean_name, pi as clear_timeout, il as cmp_two_simple_json, l as command_parser, So as createElement2, Oo as createOneHtml, uo as create_json_record, si as create_template_record, $o as current_timestamp, T as data_type_t, Qo as db_list_persistent_attrs, qo as db_load_persistent_attrs, zo as db_remove_persistent_attrs, Ho as db_save_persistent_attrs, Lo as debounce, Bl as delete_from_list, Rr as duplicate_objects, Kr as empty_json, tl as empty_string, fo as escapeHtml, U as event_flag_t, xo as flat2json, Bo as flat_apply, Yo as flat_diff, Go as flat_key_join, Mo as flat_key_split, Pe as gclass_add_ev_action, Fe as gclass_add_event_type, Le as gclass_add_state, Ge as gclass_check_fsm, Ae as gclass_create, Ve as gclass_event_type, Me as gclass_find_by_name, C as gclass_flag_t, Ie as gclass_unregister, No as getPositionRelativeToBody, Co as get_function_name, Do as get_now, Lt as gobj_bottom_gobj, fn as gobj_change_parent, _n as gobj_change_state, Un as gobj_command, it as gobj_create, et as gobj_create2, rt as gobj_create_default_service, ot as gobj_create_pure_child, nt as gobj_create_service, lt as gobj_create_volatil, tt as gobj_create_yuno, cn as gobj_current_state, xe as gobj_default_service, yn as gobj_deliver_posted_events, st as gobj_destroy, Bt as gobj_find_child, Kt as gobj_find_gobj, Ke as gobj_find_service, Ln as gobj_find_subscribings, kn as gobj_find_subscriptions, L as gobj_flag_t, Dt as gobj_full_name, Rt as gobj_gclass_name, be as gobj_get_gclass_trace_level, pe as gobj_get_gclass_trace_level2, me as gobj_get_gclass_trace_no_level, ge as gobj_get_global_trace_level, de as gobj_get_global_trace_no_level, ue as gobj_global_trace_level, _e as gobj_global_trace_no_level, zt as gobj_has_attr, dn as gobj_has_event, bn as gobj_has_output_event, Re as gobj_hsdata, Ct as gobj_is_destroying, vt as gobj_is_playing, kt as gobj_is_pure_child, Et as gobj_is_running, Tt as gobj_is_service, It as gobj_is_volatil, Qe as gobj_list_persistent_attrs, Cn as gobj_list_subscriptions, qe as gobj_load_persistent_attrs, Jt as gobj_match_children, qt as gobj_match_children_tree, Yt as gobj_match_gobj, jt as gobj_name, At as gobj_parent, ht as gobj_pause, mt as gobj_play, hn as gobj_post_event, En as gobj_posted_events_size, Pn as gobj_publish_event, Qt as gobj_read_attr, Xt as gobj_read_attrs, Zt as gobj_read_bool_attr, en as gobj_read_integer_attr, nn as gobj_read_pointer_attr, tn as gobj_read_str_attr, ze as gobj_remove_persistent_attrs, Oe as gobj_repr_global_trace_levels, ln as gobj_reset_volatil_attrs, He as gobj_save_persistent_attrs, Ht as gobj_search_path, Tn as gobj_send_event, We as gobj_services, Pt as gobj_set_bottom_gobj, he as gobj_set_deep_trace, Te as gobj_set_gclass_no_trace, Ee as gobj_set_gclass_trace, ae as gobj_set_global_no_trace, fe as gobj_set_global_no_trace2, se as gobj_set_global_trace, ce as gobj_set_global_trace2, ve as gobj_set_gobj_no_trace, ye as gobj_set_gobj_trace, x as gobj_set_trace_machine_format, $t as gobj_short_name, at as gobj_start, _t as gobj_start_children, ft as gobj_start_tree, Se as gobj_start_up, Fn as gobj_stats, gt as gobj_stop, bt as gobj_stop_children, pt as gobj_stop_tree, Dn as gobj_subscribe_event, Z as gobj_trace_level, K as gobj_trace_machine_format, ee as gobj_trace_no_level, An as gobj_unsubscribe_event, In as gobj_unsubscribe_list, Ft as gobj_walk_gobj_children, Vt as gobj_walk_gobj_children_tree, rn as gobj_write_attr, on as gobj_write_attrs, sn as gobj_write_bool_attr, an as gobj_write_integer_attr, un as gobj_write_str_attr, Ot as gobj_yuno, wt as gobj_yuno_id, St as gobj_yuno_name, Nt as gobj_yuno_role, po as html_markup, xl as id_index_in_obj_list, Ao as index_in_list, Br as is_array, Hr as is_boolean, Xr as is_date, Zr as is_function, el as is_gobj, mo as is_html_markup, al as is_metadata_key, zr as is_null, qr as is_number, Yr as is_object, ul as is_private_key, Qr as is_pure_number, br as is_secret_name, Jr as is_string, lo as jdb_delete, io as jdb_get, so as jdb_get_by_idx, oo as jdb_get_topic, no as jdb_init, ro as jdb_update, Wo as json2flat, Ur as json_array_append, Fr as json_array_append_new, Gr as json_array_extend, Vr as json_array_remove, Wr as json_array_size, jr as json_deep_copy, $r as json_is_identical, Nr as json_mask_secrets, Cr as json_object_del, kr as json_object_get, Lr as json_object_set, Pr as json_object_set_new, Mr as json_object_size, Dr as json_object_update, Ar as json_object_update_existing, Ir as json_object_update_missing, xr as json_size, co as jwt2json, _o as jwtDecode, Al as kw_clone_by_keys, Il as kw_clone_by_not_keys, Dl as kw_collect, bl as kw_delete, Rl as kw_find_json_in_list, dl as kw_find_path, Vn as kw_flag_t, pl as kw_get_bool, Tl as kw_get_dict, vl as kw_get_dict_value, ml as kw_get_int, Ol as kw_get_list, kl as kw_get_local_storage_value, yl as kw_get_pointer, hl as kw_get_real, El as kw_get_str, cl as kw_has_key, jl as kw_match_simple, _l as kw_pop, Ll as kw_remove_local_storage_value, $l as kw_select, Sl as kw_set_dict_value, Cl as kw_set_local_storage_value, Nl as kw_set_subdict_value, Ul as kwid_collect, Gl as kwid_find_one_record, Ml as kwid_get_ids, Pl as kwid_match_id, Fl as kwid_new_dict, Vl as kwid_new_list, Wl as list2options, Zl as load_json_file, ur as log_debug, ir as log_error, ar as log_info, sr as log_warning, yr as mask_secrets_inline, Xl as msg_iev_get_msg_type, zl as msg_iev_get_stack, Hl as msg_iev_push_stack, Jl as msg_iev_read_key, Ql as msg_iev_set_msg_type, ql as msg_iev_write_key, Io as node_uuid, nl as parseBoolean, wo as parseSVG, jo as refresh_language, Hi as register_c_ievent_cli, gi as register_c_timer, Ni as register_c_yuno, go as safeSrc, v as sdata_flag_t, eo as send_http_json_post, zn as set_console_log_enabled, Xn as set_console_log_filter, qn as set_log_callback, rr as set_remote_log_functions, To as set_strings_are_text, di as set_timeout, bi as set_timeout_periodic, t as sprintf, i as stats_parser, Kl as str_in_list, ol as strcasecmp, ll as strcmp, vo as strings_are_text, rl as strncmp, Yl as strs_in_list, sl as strstr, ii as template_get_field_desc, Ro as timeTracker, cr as trace_json, wr as trace_json_masked, B as trace_level_t, _r as trace_msg, Zo as treedb_decoder_fkey, ti as treedb_decoder_hook, ei as treedb_encoder_fkey, oi as treedb_get_field_desc, Xo as treedb_hook_data_size, n as vsprintf, F as walk_type_t };
3749
+ export { k as GObj, N as SDATA, $ as SDATAAUTHZ, w as SDATACM, j as SDATACM2, A as SDATADF, R as SDATAPM, D as SDATAPM0, S as SDATA_END, O as SDataDesc, a as YUNETA_VERSION, h as __yuno__, o as build_command_response, Uo as build_path, s as build_stats_response, Co as clean_name, mi as clear_timeout, il as cmp_two_simple_json, l as command_parser, No as createElement2, So as createOneHtml, _o as create_json_record, ai as create_template_record, Do as current_timestamp, T as data_type_t, Xo as db_list_persistent_attrs, Ho as db_load_persistent_attrs, Qo as db_remove_persistent_attrs, zo as db_save_persistent_attrs, Po as debounce, Jl as delete_from_list, Rr as duplicate_objects, Kr as empty_json, tl as empty_string, go as escapeHtml, U as event_flag_t, Ko as flat2json, Jo as flat_apply, Bo as flat_diff, Mo as flat_key_join, Wo as flat_key_split, Pe as gclass_add_ev_action, Fe as gclass_add_event_type, Le as gclass_add_state, Ge as gclass_check_fsm, Ae as gclass_create, Ve as gclass_event_type, Me as gclass_find_by_name, C as gclass_flag_t, Ie as gclass_unregister, wo as getPositionRelativeToBody, Lo as get_function_name, Ao as get_now, Lt as gobj_bottom_gobj, fn as gobj_change_parent, _n as gobj_change_state, Un as gobj_command, it as gobj_create, et as gobj_create2, rt as gobj_create_default_service, ot as gobj_create_pure_child, nt as gobj_create_service, lt as gobj_create_volatil, tt as gobj_create_yuno, cn as gobj_current_state, xe as gobj_default_service, yn as gobj_deliver_posted_events, st as gobj_destroy, Bt as gobj_find_child, Kt as gobj_find_gobj, Ke as gobj_find_service, Ln as gobj_find_subscribings, kn as gobj_find_subscriptions, L as gobj_flag_t, Dt as gobj_full_name, Rt as gobj_gclass_name, be as gobj_get_gclass_trace_level, pe as gobj_get_gclass_trace_level2, me as gobj_get_gclass_trace_no_level, ge as gobj_get_global_trace_level, de as gobj_get_global_trace_no_level, ue as gobj_global_trace_level, _e as gobj_global_trace_no_level, zt as gobj_has_attr, dn as gobj_has_event, bn as gobj_has_output_event, Re as gobj_hsdata, Ct as gobj_is_destroying, vt as gobj_is_playing, kt as gobj_is_pure_child, Et as gobj_is_running, Tt as gobj_is_service, It as gobj_is_volatil, Qe as gobj_list_persistent_attrs, Cn as gobj_list_subscriptions, qe as gobj_load_persistent_attrs, Jt as gobj_match_children, qt as gobj_match_children_tree, Yt as gobj_match_gobj, jt as gobj_name, At as gobj_parent, ht as gobj_pause, mt as gobj_play, hn as gobj_post_event, En as gobj_posted_events_size, Pn as gobj_publish_event, Qt as gobj_read_attr, Xt as gobj_read_attrs, Zt as gobj_read_bool_attr, en as gobj_read_integer_attr, nn as gobj_read_pointer_attr, tn as gobj_read_str_attr, ze as gobj_remove_persistent_attrs, Oe as gobj_repr_global_trace_levels, ln as gobj_reset_volatil_attrs, He as gobj_save_persistent_attrs, Ht as gobj_search_path, Tn as gobj_send_event, We as gobj_services, Pt as gobj_set_bottom_gobj, he as gobj_set_deep_trace, Te as gobj_set_gclass_no_trace, Ee as gobj_set_gclass_trace, ae as gobj_set_global_no_trace, fe as gobj_set_global_no_trace2, se as gobj_set_global_trace, ce as gobj_set_global_trace2, ve as gobj_set_gobj_no_trace, ye as gobj_set_gobj_trace, x as gobj_set_trace_machine_format, $t as gobj_short_name, at as gobj_start, _t as gobj_start_children, ft as gobj_start_tree, Se as gobj_start_up, Fn as gobj_stats, gt as gobj_stop, bt as gobj_stop_children, pt as gobj_stop_tree, Dn as gobj_subscribe_event, Z as gobj_trace_level, K as gobj_trace_machine_format, ee as gobj_trace_no_level, An as gobj_unsubscribe_event, In as gobj_unsubscribe_list, Ft as gobj_walk_gobj_children, Vt as gobj_walk_gobj_children_tree, rn as gobj_write_attr, on as gobj_write_attrs, sn as gobj_write_bool_attr, an as gobj_write_integer_attr, un as gobj_write_str_attr, Ot as gobj_yuno, wt as gobj_yuno_id, St as gobj_yuno_name, Nt as gobj_yuno_role, mo as html_markup, Kl as id_index_in_obj_list, Io as index_in_list, Br as is_array, Hr as is_boolean, Xr as is_date, Zr as is_function, el as is_gobj, ho as is_html_markup, al as is_metadata_key, zr as is_null, qr as is_number, Yr as is_object, ul as is_private_key, Qr as is_pure_number, br as is_secret_name, Jr as is_string, oo as jdb_delete, so as jdb_get, ao as jdb_get_by_idx, io as jdb_get_topic, ro as jdb_init, lo as jdb_update, xo as json2flat, Ur as json_array_append, Fr as json_array_append_new, Gr as json_array_extend, Vr as json_array_remove, Wr as json_array_size, jr as json_deep_copy, $r as json_is_identical, Nr as json_mask_secrets, Cr as json_object_del, kr as json_object_get, Lr as json_object_set, Pr as json_object_set_new, Mr as json_object_size, Dr as json_object_update, Ar as json_object_update_existing, Ir as json_object_update_missing, xr as json_size, fo as jwt2json, co as jwtDecode, Il as kw_clone_by_keys, kl as kw_clone_by_not_keys, Al as kw_collect, pl as kw_delete, $l as kw_find_json_in_list, bl as kw_find_path, Vn as kw_flag_t, ml as kw_get_bool, vl as kw_get_dict, Ol as kw_get_dict_value, hl as kw_get_int, Sl as kw_get_list, Cl as kw_get_local_storage_value, Tl as kw_get_pointer, El as kw_get_real, yl as kw_get_str, cl as kw_has_key, Rl as kw_match_simple, _l as kw_pop, Pl as kw_remove_local_storage_value, Dl as kw_select, Nl as kw_set_dict_value, Ll as kw_set_local_storage_value, wl as kw_set_subdict_value, Fl as kwid_collect, Ml as kwid_find_one_record, Wl as kwid_get_ids, Ul as kwid_match_id, Vl as kwid_new_dict, Gl as kwid_new_list, xl as list2options, eo as load_json_file, ur as log_debug, ir as log_error, ar as log_info, sr as log_warning, yr as mask_secrets_inline, Zl as msg_iev_get_msg_type, Ql as msg_iev_get_stack, zl as msg_iev_push_stack, ql as msg_iev_read_key, Xl as msg_iev_set_msg_type, Hl as msg_iev_write_key, ko as node_uuid, nl as parseBoolean, jo as parseSVG, Ro as refresh_language, Qi as register_c_ievent_cli, di as register_c_timer, wi as register_c_yuno, bo as safeSrc, v as sdata_flag_t, to as send_http_json_post, zn as set_console_log_enabled, Xn as set_console_log_filter, qn as set_log_callback, rr as set_remote_log_functions, vo as set_strings_are_text, bi as set_timeout, pi as set_timeout_periodic, t as sprintf, i as stats_parser, Yl as str_in_list, ol as strcasecmp, ll as strcmp, Oo as strings_are_text, rl as strncmp, Bl as strs_in_list, sl as strstr, si as template_get_field_desc, $o as timeTracker, cr as trace_json, wr as trace_json_masked, B as trace_level_t, _r as trace_msg, ei as treedb_decoder_fkey, ni as treedb_decoder_hook, ti as treedb_encoder_fkey, ii as treedb_get_field_desc, Zo as treedb_hook_data_size, n as vsprintf, F as walk_type_t };
3733
3750
 
3734
3751
  //# sourceMappingURL=gobj-js.es.min.js.map