@yuneta/gobj-js 7.26.12 → 7.26.14

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.
@@ -664,7 +664,7 @@ var gobjJs = function(e) {
664
664
  t.parent && hn(`_add_child() ALREADY HAS PARENT: ${t.gobj_name}`), e.dl_children.push(t), t.parent = e;
665
665
  }
666
666
  function Re(e, t) {
667
- let n = tl(e.dl_children, t);
667
+ let n = nl(e.dl_children, t);
668
668
  n >= 0 && (Hn(e.dl_children, n), t.parent = null);
669
669
  }
670
670
  function De(e, t) {
@@ -1096,7 +1096,7 @@ var gobjJs = function(e) {
1096
1096
  if (1 === C) L(n("🔄 %s %s%s %s from %s%s", t || "", e.running ? "" : "!!", et(e), o.state_name, l && !l.running ? "!!" : "", et(l)));
1097
1097
  else {
1098
1098
  let r = "";
1099
- i.action && (r = rl(i.action)), L(n("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Ze(e), Xe(e), o.state_name, "", t || "", "", r, l && !l.running ? "!!" : "", Ze(l), Xe(l)));
1099
+ i.action && (r = ll(i.action)), L(n("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Ze(e), Xe(e), o.state_name, "", t || "", "", r, l && !l.running ? "!!" : "", Ze(l), Xe(l)));
1100
1100
  }
1101
1101
  r && q(e) && zn(r) && Un(r);
1102
1102
  }
@@ -1402,23 +1402,23 @@ var gobjJs = function(e) {
1402
1402
  return n;
1403
1403
  }
1404
1404
  function hn(e, ...t) {
1405
- let n = mn(e, ...t), r = el();
1405
+ let n = mn(e, ...t), r = tl();
1406
1406
  tn && (tn === en.error ? cn("error", n) && tn("%c" + r + " ERROR: " + String(n), "color:red") : (cn("error", n) && en.error("%c" + r + " ERROR: " + String(n), "color:red"), tn(`${r} ERROR: ${String(n)}`))), gn("error", n, r);
1407
1407
  }
1408
1408
  function yn(e, ...t) {
1409
- let n = mn(e, ...t), r = el();
1409
+ let n = mn(e, ...t), r = tl();
1410
1410
  nn && (nn === en.warn ? cn("warning", n) && nn("%c" + r + " WARNING: " + String(n), "color:yellow") : (cn("warning", n) && en.warn("%c" + r + " WARNING: " + String(n), "color:yellow"), nn(`${r} WARNING: ${String(n)}`))), gn("warning", n, r);
1411
1411
  }
1412
1412
  function En(e, ...t) {
1413
- let n = mn(e, ...t), r = el();
1413
+ let n = mn(e, ...t), r = tl();
1414
1414
  ln && cn("debug", n) && ln("%c" + r + " DEBUG: " + String(n), "color:silver"), gn("debug", n, r);
1415
1415
  }
1416
1416
  function Tn(e, ...t) {
1417
- let n = mn(e, ...t), r = el();
1417
+ let n = mn(e, ...t), r = tl();
1418
1418
  ln && cn("msg", n) && ln("%c" + r + " MSG: " + String(n), "color:cyan"), gn("msg", n, r);
1419
1419
  }
1420
1420
  function vn(e, t) {
1421
- cn("json", t) && (t && en.warn("=====> " + t), en.dir(e)), gn("json", e, el());
1421
+ cn("json", t) && (t && en.warn("=====> " + t), en.dir(e)), gn("json", e, tl());
1422
1422
  }
1423
1423
  var jn = [
1424
1424
  "passw",
@@ -1844,7 +1844,7 @@ var gobjJs = function(e) {
1844
1844
  e && !sr(e) && hn("GObj bad instanceof");
1845
1845
  let o = mr(e, t, n, !1);
1846
1846
  const s = l && l & Zt.KW_REQUIRED, i = l && l & Zt.KW_CREATE, _ = l && l & Zt.KW_EXTRACT;
1847
- return void 0 === o ? i && Zn(r) && t ? (Sr(e, t, n, r), r) : (s && (hn(`path not found: '${n}'`), Un(t)), r) : Zn(o) ? (_ && hr(e, t, n), o) : (s && (hn(`${e ? et(e) + ": " : ""}path MUST BE a json dict: '${n}'`), Un(t)), r);
1847
+ return void 0 === o ? i && Zn(r) && t ? (Sr(e, t, n, r), r) : (s && (hn(`path not found: '${n}'`), Un(t)), r) : Zn(o) ? (_ && hr(e, t, n), o) : i && null === o && Zn(r) ? (Sr(e, t, n, r), r) : ((s || i) && (hn(`${e ? et(e) + ": " : ""}path MUST BE a json dict: '${n}'` + (i ? ", cannot create" : "")), Un(t)), r);
1848
1848
  }
1849
1849
  function Or(e, t, n, r, l) {
1850
1850
  e && !sr(e) && hn("GObj bad instanceof");
@@ -1863,6 +1863,7 @@ var gobjJs = function(e) {
1863
1863
  if (e && !sr(e) && hn("GObj bad instanceof"), !Zn(t)) return hn("kw is not an object"), -1;
1864
1864
  if (!tr(n)) return hn(`${e ? et(e) + ": " : ""}kw_set_dict_value(): path must be a string: ${String(n)}`), -1;
1865
1865
  if ("" === n) return hn((e ? et(e) + ": " : "") + "kw_set_dict_value(): path empty"), -1;
1866
+ if (n.split("`").includes("")) return hn(`${e ? et(e) + ": " : ""}kw_set_dict_value(): empty segment in path: '${n}'`), -1;
1866
1867
  let l = n.split("`"), o = l.length;
1867
1868
  for (let s = 0; s < o; s++) {
1868
1869
  let i = l[s];
@@ -2090,7 +2091,14 @@ var gobjJs = function(e) {
2090
2091
  ]), Zn(e[r]) && Kr(e[r], t, n), n = n.slice(0, -l.length);
2091
2092
  }
2092
2093
  }
2093
- function Yr(e, t, n, r) {
2094
+ function Yr(e) {
2095
+ try {
2096
+ return JSON.stringify(e);
2097
+ } catch (t) {
2098
+ return `<${typeof e}: not json (${t.message})>`;
2099
+ }
2100
+ }
2101
+ function Br(e, t, n, r) {
2094
2102
  if (!e) return null;
2095
2103
  let l, o = e.length;
2096
2104
  for (l = 0; l < o; l++) {
@@ -2099,14 +2107,14 @@ var gobjJs = function(e) {
2099
2107
  let e = o.id;
2100
2108
  if (e && e === n) return o;
2101
2109
  if (r && gr(o, t)) {
2102
- let e = Yr(o[t], t, n, r);
2110
+ let e = Br(o[t], t, n, r);
2103
2111
  if (e) return e;
2104
2112
  }
2105
2113
  }
2106
2114
  }
2107
2115
  return null;
2108
2116
  }
2109
- function Br(e) {
2117
+ function Jr(e) {
2110
2118
  function t(e) {
2111
2119
  let t = e.replace(/-/g, "+").replace(/_/g, "/");
2112
2120
  switch (t.length % 4) {
@@ -2137,10 +2145,10 @@ var gobjJs = function(e) {
2137
2145
  signature: t(n[2])
2138
2146
  };
2139
2147
  }
2140
- function Jr(e) {
2148
+ function qr(e) {
2141
2149
  return null == e ? "" : String(e).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
2142
2150
  }
2143
- var qr = class {
2151
+ var Hr = class {
2144
2152
  constructor(e) {
2145
2153
  this.html = e, Object.freeze(this);
2146
2154
  }
@@ -2148,41 +2156,41 @@ var gobjJs = function(e) {
2148
2156
  return this.html;
2149
2157
  }
2150
2158
  };
2151
- function Hr(e) {
2152
- return e instanceof qr;
2153
- }
2154
2159
  function zr(e) {
2160
+ return e instanceof Hr;
2161
+ }
2162
+ function Qr(e) {
2155
2163
  const t = document.createElement("template");
2156
2164
  return t.innerHTML = e.html.trim(), t.content;
2157
2165
  }
2158
- var Qr = !1, Xr = /* @__PURE__ */ new Set();
2159
- function Zr(e) {
2166
+ var Xr = !1, Zr = /* @__PURE__ */ new Set();
2167
+ function el(e) {
2160
2168
  const t = document.createElement("template");
2161
2169
  return t.innerHTML = e.trim(), t.content.firstChild;
2162
2170
  }
2163
- function el(e) {
2171
+ function tl(e) {
2164
2172
  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();
2165
2173
  return `${n}.${r}${l > 0 ? "-" : "+"}${t(Math.floor(Math.abs(l) / 60), 2)}${t(Math.abs(l) % 60, 2)}`;
2166
2174
  }
2167
- function tl(e, t) {
2175
+ function nl(e, t) {
2168
2176
  if (!e) throw "ERROR: index_in_list() list empty";
2169
2177
  for (let n = 0; n < e.length; n++) if (t === e[n]) return n;
2170
2178
  return -1;
2171
2179
  }
2172
- function nl() {
2180
+ function rl() {
2173
2181
  let e = "";
2174
2182
  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;
2175
2183
  }
2176
- function rl(e) {
2184
+ function ll(e) {
2177
2185
  let t = null;
2178
2186
  return "function" != typeof e && "object" != typeof e || (t = ("" + e).match(/function\s*([\w\$]*)\s*\(/)), null !== t ? t[1] + "()" : "";
2179
2187
  }
2180
- var ll = 256, ol = 1e5;
2181
- function sl(e) {
2188
+ var ol = 256, sl = 1e5;
2189
+ function il(e) {
2182
2190
  const t = String(e).replace(/`/g, "``");
2183
2191
  return "[" === t[0] ? "[" + t : t;
2184
2192
  }
2185
- function il(e) {
2193
+ function _l(e) {
2186
2194
  if ("string" != typeof e) return null;
2187
2195
  let t = [], n = "";
2188
2196
  for (let r = 0; r < e.length; r++) if ("`" !== e[r]) n += e[r];
@@ -2203,13 +2211,13 @@ var gobjJs = function(e) {
2203
2211
  return null !== t ? t : "[" === e[0] && "[" === e[1] ? e.slice(1) : e;
2204
2212
  });
2205
2213
  }
2206
- function _l(e, t) {
2214
+ function al(e, t) {
2207
2215
  return e === t || null !== e && null !== t && "object" == typeof e && "object" == typeof t && JSON.stringify(e) === JSON.stringify(t);
2208
2216
  }
2209
- function al(e) {
2217
+ function ul(e) {
2210
2218
  return "persistent-attrs-" + et(e);
2211
2219
  }
2212
- function ul(e, t) {
2220
+ function cl(e, t) {
2213
2221
  if (tr(t)) {
2214
2222
  if (-1 === t.indexOf("^")) {
2215
2223
  let n, r, l = e.fkey;
@@ -2239,7 +2247,7 @@ var gobjJs = function(e) {
2239
2247
  hook_name: t.hook_name
2240
2248
  } : (hn("bad fkey 3"), hn(e), hn(t), null);
2241
2249
  }
2242
- var cl = [
2250
+ var fl = [
2243
2251
  "string",
2244
2252
  "integer",
2245
2253
  "object",
@@ -2249,7 +2257,7 @@ var gobjJs = function(e) {
2249
2257
  "real",
2250
2258
  "boolean",
2251
2259
  "blob"
2252
- ], fl = [
2260
+ ], gl = [
2253
2261
  "persistent",
2254
2262
  "required",
2255
2263
  "notnull",
@@ -2261,7 +2269,7 @@ var gobjJs = function(e) {
2261
2269
  "stats",
2262
2270
  "rstats",
2263
2271
  "pstats"
2264
- ], gl = [
2272
+ ], dl = [
2265
2273
  "hook",
2266
2274
  "fkey",
2267
2275
  "enum",
@@ -2290,7 +2298,7 @@ var gobjJs = function(e) {
2290
2298
  "coordinates",
2291
2299
  "gbuffer"
2292
2300
  ];
2293
- function dl(e) {
2301
+ function bl(e) {
2294
2302
  let t = {
2295
2303
  name: e.id,
2296
2304
  header: e.header,
@@ -2309,7 +2317,7 @@ var gobjJs = function(e) {
2309
2317
  if (!e.flag) return t;
2310
2318
  for (let n = 0; n < e.flag.length; n++) {
2311
2319
  let r = e.flag[n];
2312
- if (Ur(gl, r)) {
2320
+ if (Ur(dl, r)) {
2313
2321
  switch (r) {
2314
2322
  case "enum":
2315
2323
  t.enum_list = e.enum;
@@ -2323,7 +2331,7 @@ var gobjJs = function(e) {
2323
2331
  case "file": t.is_file = !0;
2324
2332
  }
2325
2333
  t.type = r;
2326
- } else if (Ur(fl, r)) switch (r) {
2334
+ } else if (Ur(gl, r)) switch (r) {
2327
2335
  case "writable":
2328
2336
  t.is_writable = !0;
2329
2337
  break;
@@ -2336,23 +2344,23 @@ var gobjJs = function(e) {
2336
2344
  }
2337
2345
  return t.is_file && (t.type = "file"), t;
2338
2346
  }
2339
- var bl = [
2347
+ var pl = [
2340
2348
  j(y.DTP_POINTER, "subscriber", 0, null, "Subscriber of output events"),
2341
2349
  j(y.DTP_BOOLEAN, "periodic", 0, 0, "True for periodic timeouts"),
2342
2350
  j(y.DTP_INTEGER, "msec", 0, 0, "Timeout in milliseconds"),
2343
2351
  v()
2344
- ], pl = {
2352
+ ], ml = {
2345
2353
  periodic: !1,
2346
2354
  msec: 0,
2347
2355
  timer_id: -1
2348
- }, ml = null;
2349
- function hl(e, t, n, r) {
2356
+ }, hl = null;
2357
+ function yl(e, t, n, r) {
2350
2358
  let l = e.priv, o = l.periodic ? "EV_TIMEOUT_PERIODIC" : "EV_TIMEOUT";
2351
2359
  return l.periodic && l.msec > 0 ? l.timer_id = setTimeout(function() {
2352
2360
  Vt(e, "EV_TIMEOUT", {}, e);
2353
2361
  }, l.msec) : l.timer_id = -1, lt(e) ? Vt(nt(e), o, {}, e) : Xt(e, o, {}), l.periodic || -1 !== l.timer_id || Ke(e) && Ve(e), 0;
2354
2362
  }
2355
- var yl = {
2363
+ var El = {
2356
2364
  mt_create: function(e) {
2357
2365
  let t = e.priv;
2358
2366
  const n = Ot(e, "subscriber");
@@ -2377,16 +2385,16 @@ var gobjJs = function(e) {
2377
2385
  },
2378
2386
  mt_destroy: function(e) {}
2379
2387
  };
2380
- function El(e, t) {
2388
+ function Tl(e, t) {
2381
2389
  return e instanceof S ? "C_TIMER" !== Ze(e) ? (hn("not C_TIMER GObj"), -1) : (Nt(e, "periodic", !1), void $t(e, "msec", t)) : (hn("not GObj TYPE"), -1);
2382
2390
  }
2383
- function Tl(e, t) {
2391
+ function vl(e, t) {
2384
2392
  return e instanceof S ? "C_TIMER" !== Ze(e) ? (hn("not C_TIMER GObj"), -1) : (Nt(e, "periodic", !0), void $t(e, "msec", t)) : (hn("not GObj TYPE"), -1);
2385
2393
  }
2386
- function vl(e) {
2394
+ function jl(e) {
2387
2395
  return e instanceof S ? "C_TIMER" !== Ze(e) ? (hn("not C_TIMER GObj"), -1) : void $t(e, "msec", -1) : (hn("not GObj TYPE"), -1);
2388
2396
  }
2389
- var jl = [
2397
+ var Ol = [
2390
2398
  j(y.DTP_BOOLEAN, "changesLost", 0, !1, "Set true to warn about leaving page"),
2391
2399
  j(y.DTP_BOOLEAN, "browser_beforeunload", 0, !1, "Set true to refreshing browser"),
2392
2400
  j(y.DTP_STRING, "__username__", 0, "", "Username"),
@@ -2406,26 +2414,26 @@ var gobjJs = function(e) {
2406
2414
  j(y.DTP_BOOLEAN, "developer", 0, !1, "Developer mode enabled"),
2407
2415
  j(y.DTP_INTEGER, "periodic_timeout", 0, "1000", "Timeout periodic, in miliseconds."),
2408
2416
  v()
2409
- ], Ol = { gobj_timer: null }, Sl = null;
2410
- function wl(e, t, n, r) {
2417
+ ], Sl = { gobj_timer: null }, wl = null;
2418
+ function Nl(e, t, n, r) {
2411
2419
  let l = yt(e, t);
2412
2420
  return Zn(l) || (l = {}), l[n] = r, St(e, t, l), De(e, t);
2413
2421
  }
2414
- function Nl(e) {
2422
+ function $l(e) {
2415
2423
  if (!0 === e || !1 === e) return e;
2416
2424
  let t = String(null == e ? "" : e).toLowerCase();
2417
2425
  return "true" === t || "set" === t || "false" !== t && "reset" !== t && ("" === t || isNaN(Number(t)) ? null : !!Number(t));
2418
2426
  }
2419
- function $l() {
2427
+ function Rl() {
2420
2428
  return `${ze()}^${He()}`;
2421
2429
  }
2422
- function Rl(e, t, n, r) {
2430
+ function Dl(e, t, n, r) {
2423
2431
  return Xt(e, t, n), 0;
2424
2432
  }
2425
- var Dl = {
2433
+ var kl = {
2426
2434
  mt_create: function(e) {
2427
2435
  let t = e.priv;
2428
- Rt(e, "start_date", el()), Rt(e, "node_uuid", nl()), e.priv.gobj_timer = Ce(Xe(e), "C_TIMER", {}, e), t.periodic_timeout = yt(e, "periodic_timeout"), function(e) {
2436
+ Rt(e, "start_date", tl()), Rt(e, "node_uuid", rl()), e.priv.gobj_timer = Ce(Xe(e), "C_TIMER", {}, e), t.periodic_timeout = yt(e, "periodic_timeout"), function(e) {
2429
2437
  let t = yt(e, "trace_levels");
2430
2438
  if (!Zn(t)) return 0;
2431
2439
  let n = t.__global_trace__;
@@ -2459,10 +2467,10 @@ var gobjJs = function(e) {
2459
2467
  },
2460
2468
  mt_writing: function(e, t) {},
2461
2469
  mt_start: function(e) {
2462
- return Tl(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
2470
+ return vl(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
2463
2471
  },
2464
2472
  mt_stop: function(e) {
2465
- return vl(e.priv.gobj_timer), Me(e), 0;
2473
+ return jl(e.priv.gobj_timer), Me(e), 0;
2466
2474
  },
2467
2475
  mt_destroy: function(e) {},
2468
2476
  mt_play: function(e) {
@@ -2479,24 +2487,24 @@ var gobjJs = function(e) {
2479
2487
  case "get-global-no-trace": return l(0, 0, null, null, ne());
2480
2488
  case "set-global-trace":
2481
2489
  case "set-global-no-trace": {
2482
- let r = "set-global-no-trace" === t, o = n.level, s = Nl(n.set);
2483
- return o ? null === s ? l(0, -1, `${$l()}: bitmask set or re-set?`, null, null) : (r ? X(o, s) : Q(o, s)) < 0 ? l(0, -1, `${$l()}: global trace level not found: ${o}`, null, null) : r ? (wl(e, "no_trace_levels", "__global_no_trace__", ne()), l(0, 0, null, null, ne())) : (wl(e, "trace_levels", "__global_trace__", te()), l(0, 0, null, null, te())) : l(0, -1, `${$l()}: what level?`, null, null);
2490
+ let r = "set-global-no-trace" === t, o = n.level, s = $l(n.set);
2491
+ return o ? null === s ? l(0, -1, `${Rl()}: bitmask set or re-set?`, null, null) : (r ? X(o, s) : Q(o, s)) < 0 ? l(0, -1, `${Rl()}: global trace level not found: ${o}`, null, null) : r ? (Nl(e, "no_trace_levels", "__global_no_trace__", ne()), l(0, 0, null, null, ne())) : (Nl(e, "trace_levels", "__global_trace__", te()), l(0, 0, null, null, te())) : l(0, -1, `${Rl()}: what level?`, null, null);
2484
2492
  }
2485
2493
  case "get-gclass-trace":
2486
2494
  case "get-gclass-no-trace":
2487
2495
  case "set-gclass-trace":
2488
2496
  case "set-gclass-no-trace": {
2489
2497
  let r = t.indexOf("no-trace") >= 0, o = n.gclass_name || n.gclass || "", s = Oe(o);
2490
- if (!s) return l(0, -1, `${$l()}: what gclass is '${o}'?`, null, null);
2498
+ if (!s) return l(0, -1, `${Rl()}: what gclass is '${o}'?`, null, null);
2491
2499
  if (0 === t.indexOf("get-")) return l(0, 0, null, null, r ? oe(s) : re(s));
2492
- let i = n.level, _ = Nl(n.set);
2493
- return i ? null === _ ? l(0, -1, `${$l()}: bitmask set or re-set?`, null, null) : (r ? ie(s, i, _) : se(s, i, _)) < 0 ? l(0, -1, `${$l()}: trace level of ${o} not found: ${i}`, null, null) : r ? (wl(e, "no_trace_levels", o, oe(s)), l(0, 0, null, null, oe(s))) : (wl(e, "trace_levels", o, le(s)), l(0, 0, null, null, re(s))) : l(0, -1, `${$l()}: what level?`, null, null);
2500
+ let i = n.level, _ = $l(n.set);
2501
+ return i ? null === _ ? l(0, -1, `${Rl()}: bitmask set or re-set?`, null, null) : (r ? ie(s, i, _) : se(s, i, _)) < 0 ? l(0, -1, `${Rl()}: trace level of ${o} not found: ${i}`, null, null) : r ? (Nl(e, "no_trace_levels", o, oe(s)), l(0, 0, null, null, oe(s))) : (Nl(e, "trace_levels", o, le(s)), l(0, 0, null, null, re(s))) : l(0, -1, `${Rl()}: what level?`, null, null);
2494
2502
  }
2495
- default: return l(0, -1, `${$l()}: command not available: ${t}`, null, null);
2503
+ default: return l(0, -1, `${Rl()}: command not available: ${t}`, null, null);
2496
2504
  }
2497
2505
  }
2498
2506
  };
2499
- var kl = "ievent_gate_stack", Al = [
2507
+ var Al = "ievent_gate_stack", Il = [
2500
2508
  j(y.DTP_STRING, "wanted_yuno_role", E.SDF_RD, "", "wanted yuno role"),
2501
2509
  j(y.DTP_STRING, "wanted_yuno_name", E.SDF_RD, "", "wanted yuno name"),
2502
2510
  j(y.DTP_STRING, "wanted_yuno_service", E.SDF_RD, "", "wanted yuno service"),
@@ -2513,15 +2521,15 @@ var gobjJs = function(e) {
2513
2521
  j(y.DTP_INTEGER, "timeout_idack", E.SDF_RD, "5000", "timeout waiting idAck"),
2514
2522
  j(y.DTP_POINTER, "subscriber", 0, 0, "subscriber of output-events. If null then subscriber is the parent"),
2515
2523
  v()
2516
- ], Il = [
2524
+ ], Cl = [
2517
2525
  ["ievents", "Trace inter-events with metadata of kw"],
2518
2526
  ["ievents2", "Trace inter-events with full kw"],
2519
2527
  ["identity-card", "Trace identity_card messages"]
2520
2528
  ];
2521
- function Cl(e) {
2529
+ function Ll(e) {
2522
2530
  return !!(3 & x(e));
2523
2531
  }
2524
- var Ll = {
2532
+ var Pl = {
2525
2533
  url: null,
2526
2534
  remote_yuno_name: null,
2527
2535
  remote_yuno_role: null,
@@ -2531,8 +2539,8 @@ var gobjJs = function(e) {
2531
2539
  websocket: null,
2532
2540
  inside_on_open: !1,
2533
2541
  retry_ms: 0
2534
- }, Pl = null;
2535
- function Ul(e) {
2542
+ }, Ul = null;
2543
+ function Fl(e) {
2536
2544
  e.priv.websocket && hn("Websocket ALREADY setup");
2537
2545
  const t = jt(e, "url");
2538
2546
  En(`====> Starting WebSocket to '${t}' (${et(e)})`);
@@ -2547,7 +2555,7 @@ var gobjJs = function(e) {
2547
2555
  code: 1006,
2548
2556
  reason: r.message,
2549
2557
  was_clean: !1
2550
- }, e) < 0 && El(e.priv.gobj_timer, ql(e)), null;
2558
+ }, e) < 0 && Tl(e.priv.gobj_timer, Hl(e)), null;
2551
2559
  }
2552
2560
  return r ? (r.onopen = () => {
2553
2561
  n !== e.priv.ws_seq || ot(e) || Vt(e, "EV_ON_OPEN", {
@@ -2569,7 +2577,7 @@ var gobjJs = function(e) {
2569
2577
  }, e));
2570
2578
  }, r) : (hn(`${et(e)}: Failed to initialize WebSocket.`), null);
2571
2579
  }
2572
- function Fl(e, t = 1e3, n = "") {
2580
+ function Vl(e, t = 1e3, n = "") {
2573
2581
  let r = e.priv, l = r.websocket;
2574
2582
  if (r.websocket = null, l && l.readyState !== WebSocket.CLOSED && l.readyState !== WebSocket.CLOSING) {
2575
2583
  En(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
@@ -2580,25 +2588,25 @@ var gobjJs = function(e) {
2580
2588
  }
2581
2589
  } else yn("WebSocket is already closed or in the process of closing.");
2582
2590
  }
2583
- function Vl(e, t, n) {
2584
- let r = el();
2591
+ function Gl(e, t, n) {
2592
+ let r = tl();
2585
2593
  try {
2586
2594
  En("\n" + r + " " + t + "\n"), Un(n);
2587
2595
  } catch (e) {
2588
2596
  En("ERROR in trace_inter_event: " + e);
2589
2597
  }
2590
2598
  }
2591
- var Gl = class {
2599
+ var Ml = class {
2592
2600
  constructor(e, t) {
2593
2601
  this.event = e, this.kw = t || {};
2594
2602
  }
2595
2603
  };
2596
- function Ml(e, t, n, r) {
2604
+ function Wl(e, t, n, r) {
2597
2605
  return function(e, t) {
2598
2606
  let n = e.priv, r = JSON.stringify(t);
2599
- if (Cl(e)) {
2607
+ if (Ll(e)) {
2600
2608
  let n = jt(e, "url"), l = Xe(qe()) + " ==> " + n, o = yt(qe(), "trace_ievent_callback");
2601
- o ? o(l, t, 1, r.length) : Vl(0, l, t);
2609
+ o ? o(l, t, 1, r.length) : Gl(0, l, t);
2602
2610
  }
2603
2611
  if (!n.websocket || n.websocket.readyState !== WebSocket.OPEN) return yn(`${et(e)}: send_iev(): websocket not open, message lost`), -1;
2604
2612
  try {
@@ -2608,10 +2616,10 @@ var gobjJs = function(e) {
2608
2616
  }
2609
2617
  return 0;
2610
2618
  }(e, function(e, t) {
2611
- return ir(e) ? (hn("iev_create() event NULL"), null) : new Gl(e, t);
2619
+ return ir(e) ? (hn("iev_create() event NULL"), null) : new Ml(e, t);
2612
2620
  }(t, n));
2613
2621
  }
2614
- function Wl(e, t, n) {
2622
+ function xl(e, t, n) {
2615
2623
  return ir(n) && (n = jt(e, "wanted_yuno_service")), {
2616
2624
  dst_yuno: jt(e, "wanted_yuno_name"),
2617
2625
  dst_role: jt(e, "wanted_yuno_role"),
@@ -2619,10 +2627,10 @@ var gobjJs = function(e) {
2619
2627
  src_yuno: He(),
2620
2628
  src_role: ze(),
2621
2629
  src_service: t,
2622
- host: nl()
2630
+ host: rl()
2623
2631
  };
2624
2632
  }
2625
- function xl(e) {
2633
+ function Kl(e) {
2626
2634
  let t = e.priv, n = Je(qe()), r = jt(qe(), "yuno_version"), l = jt(qe(), "yuno_release"), o = jt(qe(), "yuno_tag"), i = yt(e, "required_services");
2627
2635
  i && i.length || (i = yt(qe(), "required_services"));
2628
2636
  let _ = {
@@ -2640,27 +2648,27 @@ var gobjJs = function(e) {
2640
2648
  username: jt(qe(), "__username__"),
2641
2649
  launch_id: 0,
2642
2650
  yuno_startdate: jt(qe(), "start_date"),
2643
- id: nl(),
2651
+ id: rl(),
2644
2652
  user_agent: "undefined" != typeof window ? window.navigator.userAgent : "",
2645
2653
  language: "undefined" != typeof window ? window.navigator.language : "",
2646
2654
  required_services: i
2647
2655
  };
2648
- return Gr(e, _, kl, Wl(e, Xe(nt(e)), null)), Wr(e, _, "__identity__"), El(t.gobj_timer, vt(e, "timeout_idack")), Ml(e, "EV_IDENTITY_CARD", _);
2656
+ return Gr(e, _, Al, xl(e, Xe(nt(e)), null)), Wr(e, _, "__identity__"), Tl(t.gobj_timer, vt(e, "timeout_idack")), Wl(e, "EV_IDENTITY_CARD", _);
2649
2657
  }
2650
- function Kl(e, t) {
2658
+ function Yl(e, t) {
2651
2659
  if (ir(t.event)) return -1;
2652
2660
  let n = {}, r = t.__global__, l = t.__config__, o = t.__filter__, s = t.__service__, i = t.subscriber;
2653
2661
  l && (n.__config__ = l), r && (n.__global__ = r), o && (n.__filter__ = o);
2654
- return Gr(e, n, kl, Wl(e, Xe(i), s)), Wr(e, n, "__subscribing__"), Ml(e, t.event, n);
2655
- }
2656
- function Yl(e, t, n, r) {
2657
- let l = e.priv;
2658
- return Ke(e) && (l.websocket = Ul(e)), 0;
2662
+ return Gr(e, n, Al, xl(e, Xe(i), s)), Wr(e, n, "__subscribing__"), Wl(e, t.event, n);
2659
2663
  }
2660
2664
  function Bl(e, t, n, r) {
2661
- return En("Websocket opened: " + e.priv.url), xl(e), 0;
2665
+ let l = e.priv;
2666
+ return Ke(e) && (l.websocket = Fl(e)), 0;
2662
2667
  }
2663
2668
  function Jl(e, t, n, r) {
2669
+ return En("Websocket opened: " + e.priv.url), Kl(e), 0;
2670
+ }
2671
+ function ql(e, t, n, r) {
2664
2672
  let l = e.priv, o = n.url;
2665
2673
  return void 0 !== n.ws_seq && n.ws_seq !== l.ws_seq || (bn(), yn(`${et(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, Xt(e, "EV_ON_CLOSE", {
2666
2674
  url: o,
@@ -2675,25 +2683,25 @@ var gobjJs = function(e) {
2675
2683
  code: n.code,
2676
2684
  reason: n.reason,
2677
2685
  was_clean: n.was_clean
2678
- })), Ke(e) && El(l.gobj_timer, ql(e))), 0;
2686
+ })), Ke(e) && Tl(l.gobj_timer, Hl(e))), 0;
2679
2687
  }
2680
- function ql(e) {
2688
+ function Hl(e) {
2681
2689
  let t = e.priv, n = vt(e, "timeout_retry"), r = vt(e, "timeout_retry_max");
2682
2690
  r < n && (r = n), t.retry_ms = t.retry_ms ? Math.min(2 * t.retry_ms, r) : n;
2683
2691
  let l = .2 * t.retry_ms, o = t.retry_ms - l + 2 * Math.random() * l;
2684
2692
  return Math.max(1, Math.round(o));
2685
2693
  }
2686
- function Hl(e, t, n, r) {
2687
- return xl(e), 0;
2688
- }
2689
2694
  function zl(e, t, n, r) {
2695
+ return Kl(e), 0;
2696
+ }
2697
+ function Ql(e, t, n, r) {
2690
2698
  let l = e.priv;
2691
- vl(l.gobj_timer);
2692
- let o = Mr(e, n, kl, !0), s = Tr(e, o, "src_yuno", ""), i = Tr(e, o, "src_role", ""), _ = Tr(e, o, "src_service", "");
2699
+ jl(l.gobj_timer);
2700
+ let o = Mr(e, n, Al, !0), s = Tr(e, o, "src_yuno", ""), i = Tr(e, o, "src_role", ""), _ = Tr(e, o, "src_service", "");
2693
2701
  Rt(e, "remote_yuno_name", s), Rt(e, "remote_yuno_role", i), Rt(e, "remote_yuno_service", _);
2694
2702
  let a = Er(e, n, "result", -1, 0), u = Tr(e, n, "comment", "", 0), c = Tr(e, n, "username", "", 0), f = Or(e, n, "services_roles", {});
2695
2703
  if (a < 0) {
2696
- Fl(e);
2704
+ Vl(e);
2697
2705
  let t = {
2698
2706
  url: jt(e, "url"),
2699
2707
  result: a,
@@ -2718,12 +2726,12 @@ var gobjJs = function(e) {
2718
2726
  }
2719
2727
  l.inside_on_open = !1, function(e) {
2720
2728
  let t = zt(e, null, null, null);
2721
- for (let n = 0; n < t.length; n++) Kl(e, t[n]);
2729
+ for (let n = 0; n < t.length; n++) Yl(e, t[n]);
2722
2730
  }(e);
2723
2731
  }
2724
2732
  return 0;
2725
2733
  }
2726
- function Ql(e, t, n, r) {
2734
+ function Xl(e, t, n, r) {
2727
2735
  let l = e.priv.url, o = function(e, t) {
2728
2736
  let n;
2729
2737
  try {
@@ -2742,19 +2750,19 @@ var gobjJs = function(e) {
2742
2750
  } : (yn(`${et(e)}: parsing inter_event: kw not a json object`), null) : (yn(`${et(e)}: parsing inter_kw: no kw`), null);
2743
2751
  }(e, n.data);
2744
2752
  if (!o) return yn(`${et(e)}: frame dropped from ${l}: ${String(n.data).substring(0, 256)}`), -1;
2745
- if (Cl(e)) {
2753
+ if (Ll(e)) {
2746
2754
  let e = Xe(qe()) + " <== " + l, t = n.data.length, r = yt(qe(), "trace_ievent_callback");
2747
- r ? r(e, o, 2, t) : Vl(0, e, o);
2755
+ r ? r(e, o, 2, t) : Gl(0, e, o);
2748
2756
  }
2749
2757
  let s = o.event, i = o.kw;
2750
2758
  if ("ST_SESSION" !== kt(e)) {
2751
2759
  if (It(e, s, R.EVF_PUBLIC_EVENT)) {
2752
2760
  if (!(Vt(e, s, i, e) < 0)) return 0;
2753
2761
  } else hn(`${et(e)}: event UNKNOWN in not-session state ${s}`);
2754
- return Fl(e), -1;
2762
+ return Vl(e), -1;
2755
2763
  }
2756
2764
  o = null;
2757
- let _ = xr(e, i), a = Mr(e, i, kl), u = Tr(e, a, "dst_role", "");
2765
+ let _ = xr(e, i), a = Mr(e, i, Al), u = Tr(e, a, "dst_role", "");
2758
2766
  if (u.toLowerCase() !== ze().toLowerCase()) return hn(`"It's not my role, dst_role: ${u}, my_role: ${ze()}`), 0;
2759
2767
  let c = Tr(e, a, "dst_service", "");
2760
2768
  if ("__subscribing__" === _) return yn(`${et(e)}: subscription event ignored, I'm client (service: ${c}, event: ${s})`), -1;
@@ -2766,13 +2774,13 @@ var gobjJs = function(e) {
2766
2774
  }
2767
2775
  return lt(e) ? Vt(nt(e), s, i, e) : Xt(e, s, i), 0;
2768
2776
  }
2769
- function Xl(e, t, n, r) {
2777
+ function Zl(e, t, n, r) {
2770
2778
  return 0;
2771
2779
  }
2772
- function Zl(e, t, n, r) {
2780
+ function eo(e, t, n, r) {
2773
2781
  return 0;
2774
2782
  }
2775
- var eo = {
2783
+ var to = {
2776
2784
  mt_create: function(e) {
2777
2785
  let t = e.priv;
2778
2786
  t.gobj_timer = Ce(Xe(e), "C_TIMER", {}, e), t.ws_seq = 0, t.url = jt(e, "url"), t.remote_yuno_name = jt(e, "remote_yuno_name"), t.remote_yuno_role = jt(e, "remote_yuno_role"), t.remote_yuno_service = jt(e, "remote_yuno_service"), Rt(e, "wanted_yuno_name", t.remote_yuno_name), Rt(e, "wanted_yuno_role", t.remote_yuno_role), Rt(e, "wanted_yuno_service", t.remote_yuno_service);
@@ -2802,43 +2810,43 @@ var gobjJs = function(e) {
2802
2810
  code: 1e3,
2803
2811
  reason: "restarted",
2804
2812
  was_clean: !0
2805
- }, e), vl(t.gobj_timer)), t.websocket = Ul(e), 0;
2813
+ }, e), jl(t.gobj_timer)), t.websocket = Fl(e), 0;
2806
2814
  },
2807
2815
  mt_stop: function(e) {
2808
2816
  let t = e.priv;
2809
- return vl(t.gobj_timer), t.websocket && Fl(e), 0;
2817
+ return jl(t.gobj_timer), t.websocket && Vl(e), 0;
2810
2818
  },
2811
2819
  mt_destroy: function(e) {},
2812
2820
  mt_stats: function(e, t, n, r) {
2813
2821
  if ("ST_SESSION" !== kt(e)) return hn("Not in session"), null;
2814
2822
  n || (n = {});
2815
- let l = Wl(e, Xe(r), Tr(e, n, "service", null, 0)), o = Or(e, n, "__md_stats__", null, Zt.KW_EXTRACT);
2823
+ let l = xl(e, Xe(r), Tr(e, n, "service", null, 0)), o = Or(e, n, "__md_stats__", null, Zt.KW_EXTRACT);
2816
2824
  return o || (o = {}), Gr(e, n, "stats_stack", {
2817
2825
  stats: t,
2818
2826
  kw: o
2819
- }), Gr(e, n, kl, l), n.__stats__ = t, Wr(e, n, "__stats__"), Ml(e, "EV_MT_STATS", n, r), null;
2827
+ }), Gr(e, n, Al, l), n.__stats__ = t, Wr(e, n, "__stats__"), Wl(e, "EV_MT_STATS", n, r), null;
2820
2828
  },
2821
2829
  mt_command_parser: function(e, t, n, r) {
2822
2830
  if ("ST_SESSION" !== kt(e)) return hn("Not in session"), null;
2823
2831
  n || (n = {});
2824
- let l = Wl(e, Xe(r), Tr(e, n, "service", "", 0)), o = Or(e, n, "__md_command__", null, Zt.KW_EXTRACT);
2832
+ let l = xl(e, Xe(r), Tr(e, n, "service", "", 0)), o = Or(e, n, "__md_command__", null, Zt.KW_EXTRACT);
2825
2833
  return o || (o = {}), Gr(e, n, "command_stack", {
2826
2834
  command: t,
2827
2835
  kw: o
2828
- }), Gr(e, n, kl, l), n.__command__ = t, Wr(e, n, "__command__"), Ml(e, "EV_MT_COMMAND", n, r), null;
2836
+ }), Gr(e, n, Al, l), n.__command__ = t, Wr(e, n, "__command__"), Wl(e, "EV_MT_COMMAND", n, r), null;
2829
2837
  },
2830
2838
  mt_inject_event: function(e, t, n, r) {
2831
2839
  if ("ST_SESSION" !== kt(e)) return window.console.error("Not in session"), -1;
2832
- if (n = Gn({}, Zn(n) ? n : {}), Zn(n.__md_iev__) && (n.__md_iev__ = Fn(n.__md_iev__)), Mr(e, n, kl));
2840
+ if (n = Gn({}, Zn(n) ? n : {}), Zn(n.__md_iev__) && (n.__md_iev__ = Fn(n.__md_iev__)), Mr(e, n, Al));
2833
2841
  else {
2834
- let l = Wl(e, Xe(r), Tr(e, n, "__service__", 0, 0));
2835
- Kn(n, "__service__"), Gr(e, n, "__message__", t), Gr(e, n, kl, l);
2842
+ let l = xl(e, Xe(r), Tr(e, n, "__service__", 0, 0));
2843
+ Kn(n, "__service__"), Gr(e, n, "__message__", t), Gr(e, n, Al, l);
2836
2844
  }
2837
- return Wr(e, n, "__message__"), Ml(e, t, n, r);
2845
+ return Wr(e, n, "__message__"), Wl(e, t, n, r);
2838
2846
  },
2839
2847
  mt_subscription_added: function(e, t) {
2840
2848
  let n = e.priv;
2841
- return "ST_SESSION" === kt(e) && n.websocket ? n.inside_on_open ? 0 : Kl(e, t) : 0;
2849
+ return "ST_SESSION" === kt(e) && n.websocket ? n.inside_on_open ? 0 : Yl(e, t) : 0;
2842
2850
  },
2843
2851
  mt_subscription_deleted: function(e, t) {
2844
2852
  let n = e.priv;
@@ -2847,7 +2855,7 @@ var gobjJs = function(e) {
2847
2855
  if (ir(t.event)) return 0;
2848
2856
  let r = {}, l = t.__global__, o = t.__config__, s = t.__filter__, i = t.__service__, _ = t.subscriber;
2849
2857
  o && (r.__config__ = o), l && (r.__global__ = l), s && (r.__filter__ = s);
2850
- return Gr(e, r, kl, Wl(e, Xe(_), i)), Wr(e, r, "__unsubscribing__"), Ml(e, t.event, r, e);
2858
+ return Gr(e, r, Al, xl(e, Xe(_), i)), Wr(e, r, "__unsubscribing__"), Wl(e, t.event, r, e);
2851
2859
  }
2852
2860
  };
2853
2861
  return e.GObj = S, e.SDATA = j, e.SDATAAUTHZ = (e, t, n, r, l, o) => new T(e, t, n, null, o, r, null, 0, null, l, null), e.SDATACM = (e, t, n, r, l, o) => new T(e, t, 0, null, o, n, null, 0, l, r, null), e.SDATACM2 = (e, t, n, r, l, o, s) => new T(e, t, n, null, s, r, null, 0, o, l, null), e.SDATADF = (e, t, n, r, l, o) => new T(e, t, n, null, o, null, r, l), e.SDATAPM = (e, t, n, r, l) => new T(e, t, n, r, l), e.SDATAPM0 = (e, t, n, r, l) => new T(e, t, n, null, l, null, null, 0, null, null, r), e.SDATA_END = v, e.SDataDesc = T, e.YUNETA_VERSION = s, Object.defineProperty(e, "__yuno__", {
@@ -2861,7 +2869,7 @@ var gobjJs = function(e) {
2861
2869
  return t;
2862
2870
  }, e.build_stats_response = o, e.clean_name = function(e) {
2863
2871
  return e.replace(/[?# ^:]/g, "_");
2864
- }, e.clear_timeout = vl, e.cmp_two_simple_json = cr, e.command_parser = function(e, t, n, r) {}, e.createElement2 = function e(t, n) {
2872
+ }, e.clear_timeout = jl, e.cmp_two_simple_json = cr, e.command_parser = function(e, t, n, r) {}, e.createElement2 = function e(t, n) {
2865
2873
  let [r, l, o, s] = t;
2866
2874
  if (!r) return void hn("Tag must be a valid HTML element.");
2867
2875
  let i = document.createElement(r), _ = "";
@@ -2870,21 +2878,21 @@ var gobjJs = function(e) {
2870
2878
  for (const n of Object.keys(l[e])) t += `${n}: ${l[e][n]};`;
2871
2879
  i.style.cssText = t;
2872
2880
  } else "style" === e ? i.style.cssText = l[e] : "i18n" === e || "data-i18n" === e || "data_i18next" === e || "data-i18next" === e ? null !== l[e] && void 0 !== l[e] && (_ = l[e], i.setAttribute("data-i18n", _)) : i.setAttribute(e, l[e]);
2873
- if (Hr(o)) i.appendChild(zr(o));
2874
- else if (tr(o)) if (o = o.trim(), o.length > 0 && "<" === o[0] && !Qr) i.appendChild(Zr(o));
2881
+ if (zr(o)) i.appendChild(Qr(o));
2882
+ else if (tr(o)) if (o = o.trim(), o.length > 0 && "<" === o[0] && !Xr) i.appendChild(el(o));
2875
2883
  else if (o.length > 0 && "<" === o[0] && function(e) {
2876
- if (Xr.size >= 100) return;
2884
+ if (Zr.size >= 100) return;
2877
2885
  const t = e.slice(0, 80);
2878
- Xr.has(t) || (Xr.add(t), yn(`createElement2: a string that starts with '<' is TEXT (set_strings_are_text): use html_markup() if it is markup: ${JSON.stringify(t)}`));
2886
+ Zr.has(t) || (Zr.add(t), yn(`createElement2: a string that starts with '<' is TEXT (set_strings_are_text): use html_markup() if it is markup: ${JSON.stringify(t)}`));
2879
2887
  }(o), n && _) i.textContent = n(_) || o;
2880
2888
  else i.textContent = o;
2881
2889
  else if (er(o)) {
2882
2890
  if (o.length > 0) if (tr(o[0])) i.appendChild(e(o, n));
2883
- else for (let t of o) Array.isArray(t) ? t.length > 0 && i.appendChild(e(t, n)) : t instanceof Node ? i.appendChild(t) : Hr(t) ? i.appendChild(zr(t)) : tr(t) ? i.appendChild(document.createTextNode(t)) : null != t && !1 !== t && hn("createElement2: child ignored, type " + typeof t);
2891
+ else for (let t of o) Array.isArray(t) ? t.length > 0 && i.appendChild(e(t, n)) : t instanceof Node ? i.appendChild(t) : zr(t) ? i.appendChild(Qr(t)) : tr(t) ? i.appendChild(document.createTextNode(t)) : null != t && !1 !== t && hn("createElement2: child ignored, type " + typeof t);
2884
2892
  } else o instanceof HTMLElement || o instanceof Text || o instanceof SVGElement ? i.appendChild(o) : null != o && (hn("content ignored"), vn(o));
2885
2893
  if (s && "object" == typeof s) for (const e of Object.keys(s)) i.addEventListener(e, s[e]);
2886
2894
  return i;
2887
- }, e.createOneHtml = Zr, e.create_json_record = function(e, t) {
2895
+ }, e.createOneHtml = el, e.create_json_record = function(e, t) {
2888
2896
  let n = Fn(e);
2889
2897
  return Mn(n, t), n;
2890
2898
  }, e.create_template_record = function(e, t) {
@@ -2895,21 +2903,21 @@ var gobjJs = function(e) {
2895
2903
  let o = Or(null, t, e, l);
2896
2904
  Yn(n, e, o);
2897
2905
  }), n;
2898
- }, e.current_timestamp = el, e.data_type_t = y, e.db_list_persistent_attrs = function(e, t) {
2899
- let n = kr(al(e), null, !1), r = {};
2906
+ }, e.current_timestamp = tl, e.data_type_t = y, e.db_list_persistent_attrs = function(e, t) {
2907
+ let n = kr(ul(e), null, !1), r = {};
2900
2908
  return n && Zn(n) && (r = Rr(e, n, t, !1)), r;
2901
2909
  }, e.db_load_persistent_attrs = function(e, t) {
2902
- let n = Et(e, E.SDF_PERSIST), r = kr(al(e), null, !1);
2910
+ let n = Et(e, E.SDF_PERSIST), r = kr(ul(e), null, !1);
2903
2911
  if (r && Zn(r)) {
2904
2912
  let l = Rr(e, r, t, !1);
2905
2913
  l = Rr(e, l, n, !1), wt(e, l, E.SDF_PERSIST);
2906
2914
  }
2907
2915
  }, e.db_remove_persistent_attrs = function(e, t) {
2908
- let n = Dr(e, kr(al(e), null, !1), t, !1);
2909
- 0 === zn(n) ? Ir(al(e)) : Ar(al(e), n);
2916
+ let n = Dr(e, kr(ul(e), null, !1), t, !1);
2917
+ 0 === zn(n) ? Ir(ul(e)) : Ar(ul(e), n);
2910
2918
  }, e.db_save_persistent_attrs = function(e, t) {
2911
- let n = Rr(e, Et(e, E.SDF_PERSIST), t, !1), r = kr(al(e), null, !1);
2912
- return r && Zn(r) && Wn(n, r), Ar(al(e), n);
2919
+ let n = Rr(e, Et(e, E.SDF_PERSIST), t, !1), r = kr(ul(e), null, !1);
2920
+ return r && Zn(r) && Wn(n, r), Ar(ul(e), n);
2913
2921
  }, e.debounce = function(e, t = 0, n = !1) {
2914
2922
  let r = null, l = null, o = null;
2915
2923
  const s = (...s) => {
@@ -2933,20 +2941,20 @@ var gobjJs = function(e) {
2933
2941
  return t;
2934
2942
  }, e.empty_json = function(e) {
2935
2943
  return 0 === Xn(e);
2936
- }, e.empty_string = ir, e.escapeHtml = Jr, e.event_flag_t = R, e.flat2json = function(e) {
2944
+ }, e.empty_string = ir, e.escapeHtml = qr, e.event_flag_t = R, e.flat2json = function(e) {
2937
2945
  if (null === e || "object" != typeof e || Array.isArray(e)) throw new Error("flat2json: a flat json is an object of id -> value");
2938
2946
  let t = null;
2939
2947
  for (const n of Object.keys(e)) {
2940
- const r = il(n);
2948
+ const r = _l(n);
2941
2949
  if (!r || 0 === r.length) throw new Error(`flat2json: malformed flat id: '${n}'`);
2942
- if (r.length > ll) throw new Error(`flat2json: '${n}' deeper than 256`);
2950
+ if (r.length > ol) throw new Error(`flat2json: '${n}' deeper than 256`);
2943
2951
  const l = "number" == typeof r[0];
2944
2952
  if (null === t) t = l ? [] : {};
2945
2953
  else if (l !== Array.isArray(t)) throw new Error(`flat2json: '${n}' does not fit a ${Array.isArray(t) ? "array" : "object"} root`);
2946
2954
  let o = t;
2947
2955
  for (let t = 0; t < r.length; t++) {
2948
2956
  const l = r[t], s = "number" == typeof l, i = t === r.length - 1, _ = !i && "number" == typeof r[t + 1];
2949
- if (s && l > ol) throw new Error(`flat2json: array index ${l} over the limit (100000) in '${n}'`);
2957
+ if (s && l > sl) throw new Error(`flat2json: array index ${l} over the limit (100000) in '${n}'`);
2950
2958
  if (s !== Array.isArray(o)) throw new Error(`flat2json: '${n}' uses a ${s ? "array index" : "key"} where the tree already has a ${Array.isArray(o) ? "array" : "object"}`);
2951
2959
  if (i) {
2952
2960
  if (Array.isArray(o)) {
@@ -2986,15 +2994,15 @@ var gobjJs = function(e) {
2986
2994
  removed: {},
2987
2995
  changed: {}
2988
2996
  };
2989
- for (const e of Object.keys(n)) Object.prototype.hasOwnProperty.call(r, e) ? _l(n[e], r[e]) || br(l.changed, e, {
2997
+ for (const e of Object.keys(n)) Object.prototype.hasOwnProperty.call(r, e) ? al(n[e], r[e]) || br(l.changed, e, {
2990
2998
  from: n[e],
2991
2999
  to: r[e]
2992
3000
  }) : br(l.removed, e, n[e]);
2993
3001
  for (const e of Object.keys(r)) Object.prototype.hasOwnProperty.call(n, e) || br(l.added, e, r[e]);
2994
3002
  return l;
2995
3003
  }, e.flat_key_join = function(e) {
2996
- return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : sl(e)).join("`") : "";
2997
- }, e.flat_key_split = il, e.gclass_add_ev_action = ye, e.gclass_add_event_type = Te, e.gclass_add_state = he, e.gclass_check_fsm = je, e.gclass_create = de, e.gclass_event_type = ve, e.gclass_find_by_name = Oe, e.gclass_flag_t = w, e.gclass_unregister = be, e.getPositionRelativeToBody = function(e) {
3004
+ return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : il(e)).join("`") : "";
3005
+ }, e.flat_key_split = _l, e.gclass_add_ev_action = ye, e.gclass_add_event_type = Te, e.gclass_add_state = he, e.gclass_check_fsm = je, e.gclass_create = de, e.gclass_event_type = ve, e.gclass_find_by_name = Oe, e.gclass_flag_t = w, e.gclass_unregister = be, e.getPositionRelativeToBody = function(e) {
2998
3006
  if (!e) return {
2999
3007
  top: 0,
3000
3008
  left: 0,
@@ -3013,7 +3021,7 @@ var gobjJs = function(e) {
3013
3021
  right: n + i + r,
3014
3022
  bottom: t + s + l
3015
3023
  };
3016
- }, e.get_function_name = rl, e.get_now = function() {
3024
+ }, e.get_function_name = ll, e.get_now = function() {
3017
3025
  return Math.floor(Date.now() / 1e3);
3018
3026
  }, e.gobj_bottom_gobj = st, e.gobj_change_parent = function(e, t) {
3019
3027
  return ot(e) ? (hn("gobj NULL or DESTROYED"), null) : t instanceof S ? (e.parent && e.parent.gclass.gmt.mt_child_removed && e.parent.gclass.gmt.mt_child_removed(e.parent, e), e.parent && (Re(e.parent, e), e.parent = null), $e(t, e), t.gclass.gmt.mt_child_added && (Y(e) && En(n("👦👦🔵 child_added(%s): %s", tt(t), et(e))), t.gclass.gmt.mt_child_added(t, e)), 0) : (hn(`${et(e)}: gobj_change_parent() BAD TYPE of parent`), -1);
@@ -3161,10 +3169,10 @@ var gobjJs = function(e) {
3161
3169
  }
3162
3170
  return _ ? yn(`${et(e)}: Hard subscription not removed, only gobj_unsubscribe_list() with force removes it (event: ${t}, hard: ${_})`) : i || a || (yn(`${et(e)}: No subscription found`), Un(n, "No subscription found")), 0;
3163
3171
  }, e.gobj_unsubscribe_list = Ht, e.gobj_walk_gobj_children = at, e.gobj_walk_gobj_children_tree = ut, e.gobj_write_attr = St, e.gobj_write_attrs = wt, e.gobj_write_bool_attr = Nt, e.gobj_write_integer_attr = $t, e.gobj_write_str_attr = Rt, e.gobj_yuno = qe, e.gobj_yuno_id = Qe, e.gobj_yuno_name = He, e.gobj_yuno_role = ze, e.html_markup = function(e) {
3164
- return "string" != typeof e ? (hn("html_markup: not a string, type " + typeof e), new qr("")) : new qr(e);
3165
- }, e.id_index_in_obj_list = Pr, e.index_in_list = tl, e.is_array = er, e.is_boolean = rr, e.is_date = function(e) {
3172
+ return "string" != typeof e ? (hn("html_markup: not a string, type " + typeof e), new Hr("")) : new Hr(e);
3173
+ }, e.id_index_in_obj_list = Pr, e.index_in_list = nl, e.is_array = er, e.is_boolean = rr, e.is_date = function(e) {
3166
3174
  return e instanceof Date && !isNaN(e);
3167
- }, e.is_function = or, e.is_gobj = sr, e.is_html_markup = Hr, e.is_metadata_key = function(e) {
3175
+ }, e.is_function = or, e.is_gobj = sr, e.is_html_markup = zr, e.is_metadata_key = function(e) {
3168
3176
  if (!tr(e)) return !1;
3169
3177
  let t = 0;
3170
3178
  for (; t < e.length && "_" === e[t] && !(t > 2); t++);
@@ -3182,17 +3190,17 @@ var gobjJs = function(e) {
3182
3190
  }, e.is_secret_name = wn, e.is_string = tr, e.jdb_delete = function(e, t, n, r) {
3183
3191
  let l = Or(null, Or(null, e, "topics", null, 0), t, null, 0);
3184
3192
  if (!l) return hn("jdb_delete: topic not found: " + t), null;
3185
- if (!Zn(r) || ir(r.id)) return hn(`jdb_delete: record without id: ${JSON.stringify(r)}`), null;
3193
+ if (!Zn(r) || ir(r.id)) return hn(`jdb_delete: record without id: ${Yr(r)}`), null;
3186
3194
  if (!tr(n)) return hn(`jdb_delete: path must be a string: ${String(n)}`), null;
3187
3195
  if ("" !== n && n.split("`").includes("")) return hn(`jdb_delete: empty segment in path: '${n}'`), null;
3188
3196
  let o, s = n.split("`"), i = l;
3189
- for (; (o = s.shift()) && !ir(o) && i;) Zn(i) && (i = Or(null, i, e.hook, null, 0)), i = Yr(i, null, o, !1);
3197
+ for (; (o = s.shift()) && !ir(o) && i;) Zn(i) && (i = Or(null, i, e.hook, null, 0)), i = Br(i, null, o, !1);
3190
3198
  if (!i || 0 !== s.length) return hn(`jdb_delete: path not found in topic '${t}': '${n}'`), null;
3191
3199
  let _ = er(i) ? i : Or(null, i, e.hook, null, 0), a = Pr(_, r.id);
3192
3200
  return a < 0 ? (hn(`jdb_delete: record not found in topic '${t}': '${n}' '${r.id}'`), null) : (_.splice(a, 1), l);
3193
3201
  }, e.jdb_get = function(e, t, n, r) {
3194
3202
  let l = Or(null, Or(null, e, "topics", null, 0), t, null, 0);
3195
- return l ? (void 0 === r && (r = !0), Yr(l, e.hook, n, r)) : (hn("jdb_get: topic not found: " + t), null);
3203
+ return l ? (void 0 === r && (r = !0), Br(l, e.hook, n, r)) : (hn("jdb_get: topic not found: " + t), null);
3196
3204
  }, e.jdb_get_by_idx = function(e, t, n) {
3197
3205
  let r = Or(null, Or(null, e, "topics", null, 0), t, null, 0);
3198
3206
  return r ? n < r.length ? r[n] : {} : (hn("jdb_get_by_idx: topic not found: " + t), null);
@@ -3211,11 +3219,11 @@ var gobjJs = function(e) {
3211
3219
  }, e.jdb_update = function(e, t, n, r) {
3212
3220
  let l = Or(null, Or(null, e, "topics", null, 0), t, null, 0);
3213
3221
  if (!l) return hn("jdb_update: topic not found: " + t), null;
3214
- if (!Zn(r) || ir(r.id)) return hn(`jdb_update: record without id: ${JSON.stringify(r)}`), null;
3222
+ if (!Zn(r) || ir(r.id)) return hn(`jdb_update: record without id: ${Yr(r)}`), null;
3215
3223
  if (!tr(n)) return hn(`jdb_update: path must be a string: ${String(n)}`), null;
3216
3224
  if ("" !== n && n.split("`").includes("")) return hn(`jdb_update: empty segment in path: '${n}'`), null;
3217
3225
  let o, s, i = n.split("`"), _ = l;
3218
- for (; (o = i.shift()) && !ir(o) && _;) Zn(_) && (_ = Or(null, _, e.hook, null, 0)), _ = Yr(_, null, o, !1);
3226
+ for (; (o = i.shift()) && !ir(o) && _;) Zn(_) && (_ = Or(null, _, e.hook, null, 0)), _ = Br(_, null, o, !1);
3219
3227
  if (!_ || 0 !== i.length) return hn(`jdb_update: path not found in topic '${t}': '${n}'`), null;
3220
3228
  if (er(_)) s = _;
3221
3229
  else {
@@ -3223,11 +3231,11 @@ var gobjJs = function(e) {
3223
3231
  if (s = Or(null, _, e.hook, null, 0), null == s) s = [], Yn(_, e.hook, s);
3224
3232
  else if (!er(s)) return hn(`jdb_update: the hook '${e.hook}' of '${n}' is not a list in topic '${t}'`), null;
3225
3233
  }
3226
- let a = Yr(s, e.hook, r.id, !1);
3234
+ let a = Br(s, e.hook, r.id, !1);
3227
3235
  return a ? Gn(a, r) : s.push(r), l;
3228
3236
  }, e.json2flat = function(e) {
3229
3237
  const t = {}, n = (e, r, l) => {
3230
- if (l > ll) throw new Error("json2flat: deeper than 256");
3238
+ if (l > ol) throw new Error("json2flat: deeper than 256");
3231
3239
  if (null === e || "object" != typeof e || Array.isArray(e)) {
3232
3240
  if (Array.isArray(e) && e.length > 0) return void e.forEach((e, t) => {
3233
3241
  const o = `[${t}]`;
@@ -3237,7 +3245,7 @@ var gobjJs = function(e) {
3237
3245
  const t = Object.keys(e);
3238
3246
  if (t.length > 0) {
3239
3247
  for (const o of t) {
3240
- const t = sl(o);
3248
+ const t = il(o);
3241
3249
  n(e[o], 0 === l ? t : r + "`" + t, l + 1);
3242
3250
  }
3243
3251
  return;
@@ -3250,7 +3258,7 @@ var gobjJs = function(e) {
3250
3258
  return t ? (Array.prototype.push.apply(e, t), e) : e;
3251
3259
  }, e.json_array_remove = Hn, e.json_array_size = Qn, e.json_deep_copy = Fn, e.json_is_identical = Vn, e.json_mask_secrets = Pn, e.json_object_del = Kn, e.json_object_get = xn, e.json_object_set = Yn, e.json_object_set_new = Bn, e.json_object_size = zn, e.json_object_update = Gn, e.json_object_update_existing = Mn, e.json_object_update_missing = Wn, e.json_size = Xn, e.jwt2json = function(e, t) {
3252
3260
  try {
3253
- let n = Br(e);
3261
+ let n = Jr(e);
3254
3262
  switch (t) {
3255
3263
  case "header": return JSON.parse(n.header);
3256
3264
  case "signature": return JSON.parse(n.signature);
@@ -3259,7 +3267,7 @@ var gobjJs = function(e) {
3259
3267
  } catch (e) {
3260
3268
  return null;
3261
3269
  }
3262
- }, e.jwtDecode = Br, e.kw_clone_by_keys = Rr, e.kw_clone_by_not_keys = Dr, e.kw_collect = function(e, t, n, r) {
3270
+ }, e.jwtDecode = Jr, e.kw_clone_by_keys = Rr, e.kw_clone_by_not_keys = Dr, e.kw_collect = function(e, t, n, r) {
3263
3271
  if (e && !sr(e) && hn("GObj bad instanceof"), !t) return null;
3264
3272
  r || (r = $r);
3265
3273
  let l = [];
@@ -3280,7 +3288,7 @@ var gobjJs = function(e) {
3280
3288
  e && !sr(e) && hn("GObj bad instanceof");
3281
3289
  let o = mr(e, t, n, !1);
3282
3290
  const s = l && l & Zt.KW_REQUIRED, i = l && l & Zt.KW_CREATE, _ = l && l & Zt.KW_EXTRACT;
3283
- return void 0 === o ? i && er(r) && t ? (Sr(e, t, n, r), r) : (s && (hn(`path not found: '${n}'`), Un(t)), r) : er(o) ? (_ && hr(e, t, n), o) : (s && (hn(`${e ? et(e) + ": " : ""}path MUST BE a json list: '${n}'`), Un(t)), r);
3291
+ return void 0 === o ? i && er(r) && t ? (Sr(e, t, n, r), r) : (s && (hn(`path not found: '${n}'`), Un(t)), r) : er(o) ? (_ && hr(e, t, n), o) : i && null === o && er(r) ? (Sr(e, t, n, r), r) : ((s || i) && (hn(`${e ? et(e) + ": " : ""}path MUST BE a json list: '${n}'` + (i ? ", cannot create" : "")), Un(t)), r);
3284
3292
  }, e.kw_get_local_storage_value = kr, e.kw_get_pointer = vr, e.kw_get_real = function(e, t, n, r, l) {
3285
3293
  e && !sr(e) && hn("GObj bad instanceof");
3286
3294
  let o = mr(e, t, n, !1);
@@ -3403,9 +3411,9 @@ var gobjJs = function(e) {
3403
3411
  var e;
3404
3412
  }, r.send();
3405
3413
  }, e.log_debug = En, e.log_error = hn, e.log_info = function(e, ...t) {
3406
- let n = mn(e, ...t), r = el();
3414
+ let n = mn(e, ...t), r = tl();
3407
3415
  rn && cn("info", n) && rn("%c" + r + " INFO: " + String(n), "color:cyan"), gn("info", n, r);
3408
- }, e.log_warning = yn, e.mask_secrets_inline = kn, e.msg_iev_get_msg_type = xr, e.msg_iev_get_stack = Mr, e.msg_iev_push_stack = Gr, e.msg_iev_read_key = Fr, e.msg_iev_set_msg_type = Wr, e.msg_iev_write_key = Vr, e.node_uuid = nl, e.parseBoolean = _r, e.parseSVG = function(e) {
3416
+ }, e.log_warning = yn, e.mask_secrets_inline = kn, e.msg_iev_get_msg_type = xr, e.msg_iev_get_stack = Mr, e.msg_iev_push_stack = Gr, e.msg_iev_read_key = Fr, e.msg_iev_set_msg_type = Wr, e.msg_iev_write_key = Vr, e.node_uuid = rl, e.parseBoolean = _r, e.parseSVG = function(e) {
3409
3417
  return new DOMParser().parseFromString(e, "image/svg+xml").firstChild;
3410
3418
  }, e.refresh_language = function(e, t) {
3411
3419
  if (!or(t)) return void hn("You must supply a translation function");
@@ -3432,22 +3440,22 @@ var gobjJs = function(e) {
3432
3440
  });
3433
3441
  }, e.register_c_ievent_cli = function() {
3434
3442
  return function(e) {
3435
- if (Pl) return hn(`GClass ALREADY created: ${e}`), -1;
3443
+ if (Ul) return hn(`GClass ALREADY created: ${e}`), -1;
3436
3444
  const t = [
3437
3445
  ["ST_DISCONNECTED", [
3438
3446
  [
3439
3447
  "EV_ON_OPEN",
3440
- Bl,
3448
+ Jl,
3441
3449
  "ST_WAIT_IDENTITY_CARD_ACK"
3442
3450
  ],
3443
3451
  [
3444
3452
  "EV_ON_CLOSE",
3445
- Jl,
3453
+ ql,
3446
3454
  null
3447
3455
  ],
3448
3456
  [
3449
3457
  "EV_TIMEOUT",
3450
- Yl,
3458
+ Bl,
3451
3459
  null
3452
3460
  ],
3453
3461
  [
@@ -3459,22 +3467,22 @@ var gobjJs = function(e) {
3459
3467
  ["ST_WAIT_IDENTITY_CARD_ACK", [
3460
3468
  [
3461
3469
  "EV_ON_MESSAGE",
3462
- Ql,
3470
+ Xl,
3463
3471
  null
3464
3472
  ],
3465
3473
  [
3466
3474
  "EV_IDENTITY_CARD_ACK",
3467
- zl,
3475
+ Ql,
3468
3476
  null
3469
3477
  ],
3470
3478
  [
3471
3479
  "EV_ON_CLOSE",
3472
- Jl,
3480
+ ql,
3473
3481
  "ST_DISCONNECTED"
3474
3482
  ],
3475
3483
  [
3476
3484
  "EV_TIMEOUT",
3477
- Hl,
3485
+ zl,
3478
3486
  null
3479
3487
  ],
3480
3488
  [
@@ -3486,22 +3494,22 @@ var gobjJs = function(e) {
3486
3494
  ["ST_SESSION", [
3487
3495
  [
3488
3496
  "EV_ON_MESSAGE",
3489
- Ql,
3497
+ Xl,
3490
3498
  null
3491
3499
  ],
3492
3500
  [
3493
3501
  "EV_MT_STATS",
3494
- Xl,
3502
+ Zl,
3495
3503
  null
3496
3504
  ],
3497
3505
  [
3498
3506
  "EV_MT_COMMAND",
3499
- Zl,
3507
+ eo,
3500
3508
  null
3501
3509
  ],
3502
3510
  [
3503
3511
  "EV_ON_CLOSE",
3504
- Jl,
3512
+ ql,
3505
3513
  "ST_DISCONNECTED"
3506
3514
  ],
3507
3515
  [
@@ -3512,7 +3520,7 @@ var gobjJs = function(e) {
3512
3520
  ]],
3513
3521
  [null, null]
3514
3522
  ];
3515
- return (Pl = de(e, [
3523
+ return (Ul = de(e, [
3516
3524
  ["EV_ON_MESSAGE", R.EVF_OUTPUT_EVENT],
3517
3525
  ["EV_IDENTITY_CARD_ACK", R.EVF_PUBLIC_EVENT],
3518
3526
  ["EV_ON_ID_NAK", R.EVF_PUBLIC_EVENT | R.EVF_OUTPUT_EVENT],
@@ -3523,36 +3531,36 @@ var gobjJs = function(e) {
3523
3531
  ["EV_ON_OPEN_ERROR", R.EVF_OUTPUT_EVENT | R.EVF_NO_WARN_SUBS],
3524
3532
  ["EV_TIMEOUT", 0],
3525
3533
  [null, 0]
3526
- ], t, eo, 0, Al, Ll, 0, 0, Il, w.gcflag_no_check_output_events)) ? 0 : -1;
3534
+ ], t, to, 0, Il, Pl, 0, 0, Cl, w.gcflag_no_check_output_events)) ? 0 : -1;
3527
3535
  }("C_IEVENT_CLI");
3528
3536
  }, e.register_c_timer = function() {
3529
3537
  return function(e) {
3530
- if (ml) return hn(`GClass ALREADY created: ${e}`), -1;
3538
+ if (hl) return hn(`GClass ALREADY created: ${e}`), -1;
3531
3539
  const t = [["ST_IDLE", [[
3532
3540
  "EV_TIMEOUT",
3533
- hl,
3541
+ yl,
3534
3542
  null
3535
3543
  ]]]];
3536
- return (ml = de(e, [
3544
+ return (hl = de(e, [
3537
3545
  ["EV_TIMEOUT", R.EVF_OUTPUT_EVENT],
3538
3546
  ["EV_TIMEOUT_PERIODIC", R.EVF_OUTPUT_EVENT],
3539
3547
  [0, 0]
3540
- ], t, yl, 0, bl, pl, 0, 0, 0, w.gcflag_manual_start)) ? 0 : -1;
3548
+ ], t, El, 0, pl, ml, 0, 0, 0, w.gcflag_manual_start)) ? 0 : -1;
3541
3549
  }("C_TIMER");
3542
3550
  }, e.register_c_yuno = function() {
3543
3551
  return function(e) {
3544
- if (Sl) return hn(`GClass ALREADY created: ${e}`), -1;
3552
+ if (wl) return hn(`GClass ALREADY created: ${e}`), -1;
3545
3553
  const t = [["ST_IDLE", [[
3546
3554
  "EV_TIMEOUT_PERIODIC",
3547
- Rl,
3555
+ Dl,
3548
3556
  null
3549
3557
  ]]]];
3550
- return (Sl = de(e, [["EV_TIMEOUT_PERIODIC", R.EVF_OUTPUT_EVENT | R.EVF_NO_WARN_SUBS], [0, 0]], t, Dl, 0, jl, Ol, 0, 0, 0, 0)) ? 0 : -1;
3558
+ return (wl = de(e, [["EV_TIMEOUT_PERIODIC", R.EVF_OUTPUT_EVENT | R.EVF_NO_WARN_SUBS], [0, 0]], t, kl, 0, Ol, Sl, 0, 0, 0, 0)) ? 0 : -1;
3551
3559
  }("C_YUNO");
3552
3560
  }, e.safeSrc = function(e) {
3553
3561
  if (!e) return "";
3554
3562
  const t = String(e).trim();
3555
- return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : Jr(t);
3563
+ return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : qr(t);
3556
3564
  }, e.sdata_flag_t = E, e.send_http_json_post = function(e, t, n) {
3557
3565
  let r = new XMLHttpRequest();
3558
3566
  r.open("POST", e), r.setRequestHeader("Accept", "application/json"), r.setRequestHeader("Content-Type", "application/json"), r.onreadystatechange = function() {
@@ -3576,9 +3584,9 @@ var gobjJs = function(e) {
3576
3584
  }
3577
3585
  } else on = e;
3578
3586
  }, e.set_remote_log_functions = bn, e.set_strings_are_text = function(e) {
3579
- Qr = !!e;
3580
- }, e.set_timeout = El, e.set_timeout_periodic = Tl, e.sprintf = n, e.stats_parser = function(e, t, n, r) {}, e.str_in_list = Ur, e.strcasecmp = ur, e.strcmp = ar, e.strings_are_text = function() {
3581
- return Qr;
3587
+ Xr = !!e;
3588
+ }, e.set_timeout = Tl, e.set_timeout_periodic = vl, e.sprintf = n, e.stats_parser = function(e, t, n, r) {}, e.str_in_list = Ur, e.strcasecmp = ur, e.strcmp = ar, e.strings_are_text = function() {
3589
+ return Xr;
3582
3590
  }, e.strncmp = function(e, t, n) {
3583
3591
  var r = (e + "").substring(0, n), l = (t + "").substring(0, n);
3584
3592
  return r === l ? 0 : r > l ? 1 : -1;
@@ -3608,9 +3616,9 @@ var gobjJs = function(e) {
3608
3616
  let e = t.split(".");
3609
3617
  for (let t = 0; t < e.length; t++) {
3610
3618
  let r = e[t];
3611
- if (Ur(cl, r)) n.real_type || (n.real_type = r);
3612
- else if (Ur(gl, r)) n.type || (n.type = r);
3613
- else if (Ur(fl, r)) switch (r) {
3619
+ if (Ur(fl, r)) n.real_type || (n.real_type = r);
3620
+ else if (Ur(dl, r)) n.type || (n.type = r);
3621
+ else if (Ur(gl, r)) switch (r) {
3614
3622
  case "writable":
3615
3623
  n.is_writable = !0;
3616
3624
  break;
@@ -3622,7 +3630,7 @@ var gobjJs = function(e) {
3622
3630
  }
3623
3631
  }
3624
3632
  n.real_type || (n.real_type = "string");
3625
- } else Zn(t) ? (n = dl(t), n.name || (n.name = e), n.header || (n.header = e)) : er(t) && (n.real_type = "array", n.enum_list = t);
3633
+ } else Zn(t) ? (n = bl(t), n.name || (n.name = e), n.header || (n.header = e)) : er(t) && (n.real_type = "array", n.enum_list = t);
3626
3634
  return n.type || (n.type = n.real_type), n;
3627
3635
  }, e.timeTracker = function(e = "Time Tracker", t = !1) {
3628
3636
  const n = e, r = performance.now();
@@ -3634,7 +3642,7 @@ var gobjJs = function(e) {
3634
3642
  total: _
3635
3643
  };
3636
3644
  } };
3637
- }, e.trace_json = vn, e.trace_json_masked = Un, e.trace_level_t = P, e.trace_msg = Tn, e.treedb_decoder_fkey = ul, e.treedb_decoder_hook = function(e, t) {
3645
+ }, e.trace_json = vn, e.trace_json_masked = Un, e.trace_level_t = P, e.trace_msg = Tn, e.treedb_decoder_fkey = cl, e.treedb_decoder_hook = function(e, t) {
3638
3646
  if (tr(t)) {
3639
3647
  if (-1 === t.indexOf("^")) {
3640
3648
  let n, r = e.hook;
@@ -3661,9 +3669,9 @@ var gobjJs = function(e) {
3661
3669
  id: t.id
3662
3670
  } : (hn("bad hook 3"), hn(e), hn(t), null);
3663
3671
  }, e.treedb_encoder_fkey = function(e, t) {
3664
- let n = ul(e, t);
3672
+ let n = cl(e, t);
3665
3673
  return n ? n.topic_name + "^" + n.id + "^" + n.hook_name : null;
3666
- }, e.treedb_get_field_desc = dl, e.treedb_hook_data_size = function(e) {
3674
+ }, e.treedb_get_field_desc = bl, e.treedb_hook_data_size = function(e) {
3667
3675
  if (er(e) && 1 === Xn(e)) {
3668
3676
  let t = e[0];
3669
3677
  return gr(t, "size") ? t.size : 1;