@yuneta/gobj-js 7.3.1 → 7.3.4

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.
@@ -173,11 +173,11 @@ var O = class {
173
173
  constructor(e, t, n = 0, r = null, l = "", i = null, o = null, s = 0, a = null, u = null, _ = null) {
174
174
  this.type = e, this.name = t, this.alias = i, this.flag = n, this.default_value = r, this.header = o, this.fillspace = s, this.description = l, this.json_fn = a, this.schema = u, this.authpth = _;
175
175
  }
176
- }, v = () => new O(0, null), N = (e, t, n, r, l) => new O(e, t, n, r, l), D = (e, t, n, r, l, i) => new O(e, t, 0, null, i, n, null, 0, l, r, null), w = (e, t, n, r, l, i, o) => new O(e, t, n, null, o, r, null, 0, i, l, null), j = (e, t, n, r, l) => new O(e, t, n, r, l), R = (e, t, n, r, l, i) => new O(e, t, n, null, i, r, null, 0, null, l, null), $ = (e, t, n, r, l) => new O(e, t, n, null, l, null, null, 0, null, null, r), I = (e, t, n, r, l, i) => new O(e, t, n, null, i, null, r, l), k = class {
176
+ }, v = () => new O(0, null), N = (e, t, n, r, l) => new O(e, t, n, r, l), w = (e, t, n, r, l, i) => new O(e, t, 0, null, i, n, null, 0, l, r, null), D = (e, t, n, r, l, i, o) => new O(e, t, n, null, o, r, null, 0, i, l, null), R = (e, t, n, r, l) => new O(e, t, n, r, l), j = (e, t, n, r, l, i) => new O(e, t, n, null, i, r, null, 0, null, l, null), $ = (e, t, n, r, l) => new O(e, t, n, null, l, null, null, 0, null, null, r), I = (e, t, n, r, l, i) => new O(e, t, n, null, i, null, r, l), A = class {
177
177
  constructor(e, t, n, r, l, i, o, s, a) {
178
178
  this.gclass_name = e, this.dl_states = [], this.dl_events = [], this.gmt = t, this.lmt = n, this.attrs_table = r, this.priv = l, this.authz_table = i, this.command_table = o, this.s_user_trace_level = s, this.gclass_flag = Number(a) || 0, this.instances = 0, this.trace_level = 0, this.no_trace_level = 0, this.jn_trace_filter = null, this.fsm_checked = !1;
179
179
  }
180
- }, A = class {
180
+ }, k = class {
181
181
  constructor(e, t, n, r, l) {
182
182
  this.__refs__ = 0, this.gclass = t, this.parent = null, this.dl_children = [], this.dl_subscriptions = [], this.dl_subscribings = [], this.current_state = t.dl_states[0], this.last_state = null, this.obflag = 0, this.gobj_flag = Number(l) || 0, this.gobj_name = e, this.jn_attrs = null, this.jn_stats = {}, this.jn_user_data = {}, this.full_name = null, this.short_name = null, this.priv = cn(t.priv), this.running = !1, this.playing = !1, this.disabled = !1, this.bottom_gobj = null, this.trace_level = 0, this.no_trace_level = 0;
183
183
  }
@@ -204,13 +204,13 @@ var O = class {
204
204
  EVF_OUTPUT_EVENT: 2,
205
205
  EVF_SYSTEM_EVENT: 4,
206
206
  EVF_PUBLIC_EVENT: 8
207
- }), G = Object.freeze({
207
+ }), F = Object.freeze({
208
208
  WALK_TOP2BOTTOM: 1,
209
209
  WALK_BOTTOM2TOP: 2,
210
210
  WALK_BYLEVEL: 4,
211
211
  WALK_FIRST2LAST: 16,
212
212
  WALK_LAST2FIRST: 32
213
- }), F = class {
213
+ }), G = class {
214
214
  constructor(e, t, n) {
215
215
  this.event_name = e, this.action = t, this.next_state = n;
216
216
  }
@@ -224,7 +224,7 @@ var O = class {
224
224
  }
225
225
  };
226
226
  function M(e) {
227
- jn(e) && (e = JSON.stringify(e)), an(" ".repeat(Math.max(0, 2 * T - 1)) + String(e));
227
+ Rn(e) && (e = JSON.stringify(e)), an(" ".repeat(Math.max(0, 2 * T - 1)) + String(e));
228
228
  }
229
229
  function K(e, t, n, r, l, i, o) {
230
230
  u = t, _ = n, c = r, f = l, g = i, d = o;
@@ -237,7 +237,7 @@ function K(e, t, n, r, l, i, o) {
237
237
  }
238
238
  function Y(e, t) {
239
239
  let n = {};
240
- if (!Rn(t)) return ln("sdata_desc MUST be an array"), _n(t), n;
240
+ if (!jn(t)) return ln("sdata_desc MUST be an array"), _n(t), n;
241
241
  for (let r = 0; r < t.length; r++) {
242
242
  const l = t[r];
243
243
  l.name && x(e, n, l);
@@ -251,7 +251,7 @@ function x(e, t, n) {
251
251
  r = String(l);
252
252
  break;
253
253
  case y.DTP_BOOLEAN:
254
- r = Fn(l);
254
+ r = Gn(l);
255
255
  break;
256
256
  case y.DTP_INTEGER:
257
257
  r = parseInt(l), isNaN(r) && ln(`${Qe(e)}: attr NaN: ${n.name}`);
@@ -266,7 +266,7 @@ function x(e, t, n) {
266
266
  ln(`JSON parse error: ${e.message}`);
267
267
  }
268
268
  else r = l;
269
- Rn(r) || (r = []);
269
+ jn(r) || (r = []);
270
270
  break;
271
271
  case y.DTP_DICT:
272
272
  if ($n(l)) try {
@@ -275,7 +275,7 @@ function x(e, t, n) {
275
275
  ln(`JSON parse error: ${e.message}`);
276
276
  }
277
277
  else r = l;
278
- jn(r) || (r = {});
278
+ Rn(r) || (r = {});
279
279
  break;
280
280
  case y.DTP_JSON:
281
281
  if ($n(l)) try {
@@ -293,14 +293,15 @@ function B(e, t, n, r) {
293
293
  let l;
294
294
  switch (n.type) {
295
295
  case y.DTP_STRING:
296
- if ($n(r)) l = String(r);
296
+ if (null == r) l = "";
297
+ else if ($n(r)) l = String(r);
297
298
  else {
298
299
  let e = JSON.stringify(r);
299
300
  e && (l = String(e));
300
301
  }
301
302
  break;
302
303
  case y.DTP_BOOLEAN:
303
- l = Fn(r);
304
+ l = Gn(r);
304
305
  break;
305
306
  case y.DTP_INTEGER:
306
307
  l = parseInt(r), isNaN(l) && ln(`${Qe(e)}: attr NaN: ${n.name}`);
@@ -315,7 +316,7 @@ function B(e, t, n, r) {
315
316
  ln(`JSON parse error: ${e.message}`);
316
317
  }
317
318
  else l = r;
318
- if (!Rn(l)) return ln(`attr must be an array: ${n.name}`), -1;
319
+ if (!jn(l)) return ln(`attr must be an array: ${n.name}`), -1;
319
320
  break;
320
321
  case y.DTP_DICT:
321
322
  if ($n(r)) try {
@@ -324,7 +325,7 @@ function B(e, t, n, r) {
324
325
  ln(`JSON parse error: ${e.message}`);
325
326
  }
326
327
  else l = r;
327
- if (!jn(l)) return ln(`attr must be an object: ${n.name}`), -1;
328
+ if (!Rn(l)) return ln(`attr must be an object: ${n.name}`), -1;
328
329
  break;
329
330
  case y.DTP_JSON:
330
331
  if ($n(r)) try {
@@ -333,11 +334,11 @@ function B(e, t, n, r) {
333
334
  ln(`JSON parse error: ${e.message}`);
334
335
  }
335
336
  else l = r;
336
- if (!Rn(l) && !jn(l)) return ln(`attr must be a json dict/list: ${n.name}`), -1;
337
+ if (!jn(l) && !Rn(l)) return ln(`attr must be a json dict/list: ${n.name}`), -1;
337
338
  break;
338
339
  case y.DTP_POINTER: l = r;
339
340
  }
340
- return void 0 === l && ln(`${Qe(e)}: attr undefined: ${n.name}`), t[n.name] = l, jn(e.priv) && e.priv.hasOwnProperty(n.name) && (e.priv[n.name] = l), e.obflag & U.obflag_created && !(e.obflag & U.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, n.name), 0;
341
+ return void 0 === l && ln(`${Qe(e)}: attr undefined: ${n.name}`), t[n.name] = l, Rn(e.priv) && e.priv.hasOwnProperty(n.name) && (e.priv[n.name] = l), e.obflag & U.obflag_created && !(e.obflag & U.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, n.name), 0;
341
342
  }
342
343
  function J(e) {
343
344
  return e.jn_attrs;
@@ -346,7 +347,7 @@ function Q(e, t, n) {
346
347
  return dt(e, t) ? J(e) : e && e.bottom_gobj ? Q(e.bottom_gobj, t, n) : (n && ln(`GClass Attribute NOT FOUND: ${Qe(e)}, attr ${t}`), null);
347
348
  }
348
349
  function q(e, t, n) {
349
- if (!(e && e instanceof k)) return n && ln("gclass NULL"), null;
350
+ if (!(e && e instanceof A)) return n && ln("gclass NULL"), null;
350
351
  if (!t) return e.attrs_table;
351
352
  for (let n = 0; n < e.attrs_table.length; n++) {
352
353
  const r = e.attrs_table[n];
@@ -355,27 +356,27 @@ function q(e, t, n) {
355
356
  return n && ln(`${e.gclass_name}: GClass Attribute NOT FOUND: ${t}`), null;
356
357
  }
357
358
  function z(e, t, n, r, l, i, o, s, a, u, _) {
358
- if (Gn(e)) return ln("gclass_name EMPTY"), null;
359
+ if (Fn(e)) return ln("gclass_name EMPTY"), null;
359
360
  if (e.includes("`") || e.includes("^") || e.includes(".")) return ln(`GClass name CANNOT have '.' or '^' or '\`' char: ${e}`), null;
360
361
  if (oe(e)) return ln(`GClass ALREADY exists: ${e}`), null;
361
- let c = new k(e, r, l, i, o, s, a, u, _);
362
+ let c = new A(e, r, l, i, o, s, a, u, _);
362
363
  (function(e, t) {
363
- e && e instanceof k ? t ? p[t] ? ln(`gclass ALREADY REGISTERED: ${t}`) : p[t] = e : ln("gclass_name undefined") : ln("gclass undefined");
364
+ e && e instanceof A ? t ? p[t] ? ln(`gclass ALREADY REGISTERED: ${t}`) : p[t] = e : ln("gclass_name undefined") : ln("gclass undefined");
364
365
  })(c, e);
365
366
  const f = n.length;
366
367
  for (let e = 0; e < f; e++) {
367
368
  let t = n[e][0], r = n[e][1];
368
- if (Gn(t)) continue;
369
+ if (Fn(t)) continue;
369
370
  if (ee(c, t) < 0) return X(c), null;
370
371
  const l = r.length;
371
372
  for (let e = 0; e < l; e++) {
372
373
  let n = r[e][0], l = r[e][1], i = r[e][2];
373
- Gn(n) || te(c, t, n, l, i);
374
+ Fn(n) || te(c, t, n, l, i);
374
375
  }
375
376
  }
376
377
  for (let e = 0; e < t.length; e++) {
377
378
  let n = t[e][0], r = t[e][1];
378
- if (!Gn(n)) {
379
+ if (!Fn(n)) {
379
380
  if (le(c, n)) return ln(`SMachine: event repeated in input_events: ${n}`), X(c), null;
380
381
  re(c, n, r);
381
382
  }
@@ -390,7 +391,7 @@ function X(e) {
390
391
  let t;
391
392
  if ($n(e)) t = e;
392
393
  else {
393
- if (!(e instanceof k)) return ln("Cannot unregister gclass, type unknown"), -1;
394
+ if (!(e instanceof A)) return ln("Cannot unregister gclass, type unknown"), -1;
394
395
  t = e.gclass_name;
395
396
  }
396
397
  let n = p[t];
@@ -413,22 +414,22 @@ function Z(e, t) {
413
414
  return null;
414
415
  }
415
416
  function ee(e, t) {
416
- return e instanceof k ? H(e, t) ? (ln(`state already exists: ${t}`), -1) : (e.dl_states.push(new V(t)), 0) : (ln("Cannot add state, typeof not GClass"), -1);
417
+ return e instanceof A ? H(e, t) ? (ln(`state already exists: ${t}`), -1) : (e.dl_states.push(new V(t)), 0) : (ln("Cannot add state, typeof not GClass"), -1);
417
418
  }
418
419
  function te(e, t, n, r, l) {
419
- if (!(e instanceof k)) return ln("Cannot add state, typeof not GClass"), -1;
420
- if (Gn(t)) return ln("state_name EMPTY"), -1;
420
+ if (!(e instanceof A)) return ln("Cannot add state, typeof not GClass"), -1;
421
+ if (Fn(t)) return ln("state_name EMPTY"), -1;
421
422
  let i = H(e, t);
422
- return i ? Z(i, n) ? (ln(`event already exists: gclass ${e.gclass_name}, state ${t}, event ${n}`), -1) : (i.dl_actions.push(new F(n, r, l)), 0) : (ln(`state not found: ${t}`), -1);
423
+ return i ? Z(i, n) ? (ln(`event already exists: gclass ${e.gclass_name}, state ${t}, event ${n}`), -1) : (i.dl_actions.push(new G(n, r, l)), 0) : (ln(`state not found: ${t}`), -1);
423
424
  }
424
425
  function ne(e, t, n) {
425
- Gn(t) || e.push(new W(t, n));
426
+ Fn(t) || e.push(new W(t, n));
426
427
  }
427
428
  function re(e, t, n) {
428
- return e instanceof k ? ne(e.dl_events, t, n) : (ln("Cannot add state, typeof not GClass"), -1);
429
+ return e instanceof A ? ne(e.dl_events, t, n) : (ln("Cannot add state, typeof not GClass"), -1);
429
430
  }
430
431
  function le(e, t) {
431
- if (!(e instanceof k)) return ln("Cannot add state, typeof not GClass"), 0;
432
+ if (!(e instanceof A)) return ln("Cannot add state, typeof not GClass"), 0;
432
433
  const n = e.dl_events.length, r = e.dl_events;
433
434
  for (let e = 0; e < n; e++) {
434
435
  let n = r[e];
@@ -437,23 +438,23 @@ function le(e, t) {
437
438
  return null;
438
439
  }
439
440
  function ie(e) {
440
- if (!(e instanceof k)) return ln("Cannot add state, typeof not GClass"), -1;
441
+ if (!(e instanceof A)) return ln("Cannot add state, typeof not GClass"), -1;
441
442
  let t = 0;
442
- Dn(e.dl_states) || (ln(`GClass without states: ${e.gclass_name}`), t += -1);
443
+ wn(e.dl_states) || (ln(`GClass without states: ${e.gclass_name}`), t += -1);
443
444
  for (let n = 0; n < e.dl_states.length; n++) {
444
445
  let r = e.dl_states[n];
445
- if (!Gn(r.state_name)) for (let n = 0; n < r.dl_actions.length; n++) {
446
+ if (!Fn(r.state_name)) for (let n = 0; n < r.dl_actions.length; n++) {
446
447
  let l = r.dl_actions[n];
447
- Gn(l.event_name) || (le(e, l.event_name) || (ln(`SMachine: state's event NOT in input_events: gclass ${e.gclass_name}, state ${r.state_name}, event ${l.event_name}`), t += -1), l.next_state && (H(e, l.next_state) || (ln(`SMachine: next state NOT in state names: gclass ${e.gclass_name}, state ${r.state_name}, next_state ${l.next_state}`), t += -1)));
448
+ Fn(l.event_name) || (le(e, l.event_name) || (ln(`SMachine: state's event NOT in input_events: gclass ${e.gclass_name}, state ${r.state_name}, event ${l.event_name}`), t += -1), l.next_state && (H(e, l.next_state) || (ln(`SMachine: next state NOT in state names: gclass ${e.gclass_name}, state ${r.state_name}, next_state ${l.next_state}`), t += -1)));
448
449
  }
449
450
  }
450
451
  for (let n = 0; n < e.dl_events.length; n++) {
451
452
  let r = e.dl_events[n];
452
- if (!Gn(r.event_name) && (In(r.event_flag) || (ln(`SMachine: event flag is NOT number: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1), !(r.event_flag & C.EVF_OUTPUT_EVENT))) {
453
+ if (!Fn(r.event_name) && (In(r.event_flag) || (ln(`SMachine: event flag is NOT number: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1), !(r.event_flag & C.EVF_OUTPUT_EVENT))) {
453
454
  let n = !1;
454
455
  for (let t = 0; t < e.dl_states.length; t++) {
455
456
  let l = e.dl_states[t];
456
- Gn(l.state_name) || Z(l, r.event_name) && (n = !0);
457
+ Fn(l.state_name) || Z(l, r.event_name) && (n = !0);
457
458
  }
458
459
  n || (ln(`SMachine: input_list's event NOT in state: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1);
459
460
  }
@@ -524,7 +525,7 @@ function he(e, n, r, l, i) {
524
525
  i |= P.gobj_flag_service;
525
526
  } else {
526
527
  if (!l) return ln("gobj NEEDS a parent!"), null;
527
- if (!("string" == typeof l || l instanceof A)) return ln(`BAD TYPE of parent: ${l}`), null;
528
+ if (!("string" == typeof l || l instanceof k)) return ln(`BAD TYPE of parent: ${l}`), null;
528
529
  if ($n(l) && !(l = ue(l))) return on(`parent service not found: ${l}`), null;
529
530
  }
530
531
  if (i & P.gobj_flag_service && ue(e, !1)) return ln(`service ALREADY registered: ${n}^${e}`), null;
@@ -532,15 +533,15 @@ function he(e, n, r, l, i) {
532
533
  if (h) return ln(`default service ALREADY registered: ${n}^${e}`), null;
533
534
  i |= P.gobj_flag_service;
534
535
  }
535
- if (Gn(n)) return ln("gclass_name must be a string"), null;
536
+ if (Fn(n)) return ln("gclass_name must be a string"), null;
536
537
  let o = oe(n, !1);
537
538
  if (!o) return ln(`GClass not registered: ${n}^${e}`), null;
538
539
  if (!$n(e)) return ln(`gobj_name must be a string: ${n}`), null;
539
- if (!Gn(e)) {
540
+ if (!Fn(e)) {
540
541
  if (e.includes("`")) return ln(`gobj_name cannot contain char ': ${n}^${e}`), null;
541
542
  if (e.includes("^")) return ln(`gobj_name cannot contain char ^: ${n}^${e}`), null;
542
543
  }
543
- let s = new A(e, o, r, l, i);
544
+ let s = new k(e, o, r, l, i);
544
545
  s.jn_attrs = Y(s, o.attrs_table);
545
546
  for (const [e, t] of Object.entries(s.jn_attrs)) e in s.priv && (s.priv[e] = t);
546
547
  let a = E && mt(E, "trace_creation");
@@ -564,7 +565,7 @@ function ve(e, t, n, r) {
564
565
  function Ne(e, t, n, r) {
565
566
  return he(e, t, n, r, 0);
566
567
  }
567
- function De(e) {
568
+ function we(e) {
568
569
  if (Ze(e)) return void ln("gobj NULL or DESTROYED");
569
570
  e.__refs__ > 0 && ln(`${Qe(e)}: gobj DESTROYING with references: ${e.__refs__}`), e.obflag |= U.obflag_destroying;
570
571
  let n = E && mt(E, "trace_creation");
@@ -573,15 +574,15 @@ function De(e) {
573
574
  r && r.gclass.gmt.mt_child_removed && (n && M(t("👦👦🔴 child_removed(%s): %s", qe(r), Qe(e))), r.gclass.gmt.mt_child_removed(r, e)), e.gobj_flag & P.gobj_flag_service && function(e) {
574
575
  let t = Be(e);
575
576
  t = t.toLowerCase(), m[t] ? delete m[t] : ln(`"service NOT found in register": ${t}`);
576
- }(e), e.playing && (ln(`Destroying a PLAYING gobj: ${qe(e)}`), Ce(e)), e.running && (ln(`Destroying a RUNNING gobj: ${qe(e)}`), ke(e)), Kt(e, e.dl_subscriptions, !0), Kt(e, e.dl_subscribings, !0), r && (fe(r, e), Xe(e) && (et(r) !== e || Ze(r) || tt(r, null))), function(e) {
577
+ }(e), e.playing && (ln(`Destroying a PLAYING gobj: ${qe(e)}`), Ce(e)), e.running && (ln(`Destroying a RUNNING gobj: ${qe(e)}`), Ae(e)), Kt(e, e.dl_subscriptions, !0), Kt(e, e.dl_subscribings, !0), r && (fe(r, e), Xe(e) && (et(r) !== e || Ze(r) || tt(r, null))), function(e) {
577
578
  let t = e.dl_children.slice();
578
579
  for (let e = 0; e < t.length; e++) {
579
580
  let n = t[e];
580
- Ze(n) || De(n);
581
+ Ze(n) || we(n);
581
582
  }
582
583
  }(e), e.obflag & U.obflag_created && e.gclass.gmt.mt_destroy && e.gclass.gmt.mt_destroy(e), n && M(t("💔💔⏪ destroyed: %s", qe(e))), e.obflag |= U.obflag_destroyed, e.obflag & U.obflag_created && e.gclass.instances--;
583
584
  }
584
- function we(e) {
585
+ function De(e) {
585
586
  if (Ze(e)) return ln("gobj NULL or DESTROYED"), -1;
586
587
  if (e.running) return ln(`${Qe(e)}: GObj ALREADY RUNNING`), -1;
587
588
  if (e.disabled) return ln(`${Qe(e)}: GObj DISABLED`), -1;
@@ -589,41 +590,41 @@ function we(e) {
589
590
  let n = 0;
590
591
  return e.gclass.gmt.mt_start && (n = e.gclass.gmt.mt_start(e)), n;
591
592
  }
592
- function je(e, t, n) {
593
- return e.gclass.gclass_flag & L.gcflag_manual_start || Ze(e) || Ge(e) || Fe(e) || we(e), 0;
593
+ function Re(e, t, n) {
594
+ return e.gclass.gclass_flag & L.gcflag_manual_start || Ze(e) || Fe(e) || Ge(e) || De(e), 0;
594
595
  }
595
- function Re(e) {
596
- return Ze(e) ? (ln("gobj NULL or DESTROYED"), -1) : rt(e, G.WALK_FIRST2LAST, je, 0, 0);
596
+ function je(e) {
597
+ return Ze(e) ? (ln("gobj NULL or DESTROYED"), -1) : rt(e, F.WALK_FIRST2LAST, Re, 0, 0);
597
598
  }
598
599
  function $e(e, t, n) {
599
- return e.gclass.gclass_flag & L.gcflag_manual_start || Fe(e) ? 1 : (Ge(e) || we(e), 0);
600
+ return e.gclass.gclass_flag & L.gcflag_manual_start || Ge(e) ? 1 : (Fe(e) || De(e), 0);
600
601
  }
601
602
  function Ie(e) {
602
- return Ze(e) ? (ln("gobj NULL or DESTROYED"), -1) : (E && mt(E, "trace_start_stop") && M(t("⏺ ⏺ ⏺ ⏺ start_tree: %s", qe(e))), e.gclass.gclass_flag & L.gcflag_manual_start || e.disabled ? 0 : (e.running || we(e), lt(e, G.WALK_TOP2BOTTOM, $e, 0, 0)));
603
+ return Ze(e) ? (ln("gobj NULL or DESTROYED"), -1) : (E && mt(E, "trace_start_stop") && M(t("⏺ ⏺ ⏺ ⏺ start_tree: %s", qe(e))), e.gclass.gclass_flag & L.gcflag_manual_start || e.disabled ? 0 : (e.running || De(e), lt(e, F.WALK_TOP2BOTTOM, $e, 0, 0)));
603
604
  }
604
- function ke(e) {
605
+ function Ae(e) {
605
606
  if (Ze(e)) return ln("gobj NULL or DESTROYED"), -1;
606
607
  if (!e.running) return ln(`${Qe(e)}: GObj NOT RUNNING`), -1;
607
608
  e.playing && (on(`${Qe(e)}: GObj stopping without previous pause`), Ce(e)), E && mt(E, "trace_start_stop") && M(t("⏹ ⏹ stop: %s", qe(e))), e.running = !1;
608
609
  let n = 0;
609
610
  return e.gclass.gmt.mt_stop && (n = e.gclass.gmt.mt_stop(e)), n;
610
611
  }
611
- function Ae(e, t, n) {
612
- return Ge(e) && ke(e), 0;
612
+ function ke(e, t, n) {
613
+ return Fe(e) && Ae(e), 0;
613
614
  }
614
615
  function Le(e) {
615
- return Ze(e) ? (ln("gobj NULL or DESTROYED"), -1) : rt(e, G.WALK_FIRST2LAST, Ae, 0, 0);
616
+ return Ze(e) ? (ln("gobj NULL or DESTROYED"), -1) : rt(e, F.WALK_FIRST2LAST, ke, 0, 0);
616
617
  }
617
618
  function Pe(e) {
618
- return Ze(e) ? (ln("gobj NULL or DESTROYED"), -1) : (E && mt(E, "trace_start_stop") && M(t("⏹ ⏹ ⏹ ⏹ stop_tree: %s", qe(e))), Ge(e) && ke(e), lt(e, G.WALK_TOP2BOTTOM, Ae, 0, 0));
619
+ return Ze(e) ? (ln("gobj NULL or DESTROYED"), -1) : (E && mt(E, "trace_start_stop") && M(t("⏹ ⏹ ⏹ ⏹ stop_tree: %s", qe(e))), Fe(e) && Ae(e), lt(e, F.WALK_TOP2BOTTOM, ke, 0, 0));
619
620
  }
620
621
  function Ue(e) {
621
622
  if (Ze(e)) return ln(`gobj NULL or DESTROYED: ${Qe(e)}`), -1;
622
623
  if (e.playing) return ln(`${Qe(e)}: GObj ALREADY PLAYING`), -1;
623
624
  if (e.disabled) return ln(`${Qe(e)}: GObj DISABLED`), -1;
624
- if (!Ge(e)) {
625
+ if (!Fe(e)) {
625
626
  if (e.gclass.gclass_flag & L.gcflag_required_start_to_play) return ln(`${Qe(e)}: Cannot play, start not done`), -1;
626
- on(`${Qe(e)}: GObj playing without previous start`), we(e);
627
+ on(`${Qe(e)}: GObj playing without previous start`), De(e);
627
628
  }
628
629
  E && mt(E, "trace_start_stop") && M(t("⏯ ⏯ play: %s", qe(e))), e.playing = !0;
629
630
  let n = 0;
@@ -632,10 +633,10 @@ function Ue(e) {
632
633
  function Ce(e) {
633
634
  return Ze(e) ? (ln("gobj NULL or DESTROYED"), -1) : e.playing ? (E && mt(E, "trace_start_stop") && M(t("⏸ ⏸ pause: %s", qe(e))), e.playing = !1, e.gclass.gmt.mt_pause ? e.gclass.gmt.mt_pause(e) : 0) : (ln(`${Qe(e)}: GObj NOT PLAYING`), -1);
634
635
  }
635
- function Ge(e) {
636
+ function Fe(e) {
636
637
  return !Ze(e) && e.running;
637
638
  }
638
- function Fe(e) {
639
+ function Ge(e) {
639
640
  return !!Ze(e) || e.disabled;
640
641
  }
641
642
  function Ve(e) {
@@ -704,7 +705,7 @@ function lt(e, t, n, r, l) {
704
705
  }
705
706
  function it(e, t, n, r, l) {
706
707
  let i, o = [...e];
707
- if (t & G.WALK_LAST2FIRST) for (let e = o.length; e > 0; e--) {
708
+ if (t & F.WALK_LAST2FIRST) for (let e = o.length; e > 0; e--) {
708
709
  i = o[e - 1];
709
710
  let t = n(i, r, l);
710
711
  if (t < 0) return t;
@@ -719,15 +720,15 @@ function it(e, t, n, r, l) {
719
720
  function ot(e, t, n, r, l) {
720
721
  let i, o = it(e, t, n, r, l);
721
722
  if (o < 0) return o;
722
- if (t & G.WALK_LAST2FIRST) {
723
+ if (t & F.WALK_LAST2FIRST) {
723
724
  for (let s = e.length; s > 0; s--) if (i = e[s - 1], o = ot([...i.dl_children], t, n, r, l), o < 0) return o;
724
725
  } else for (let s = 0; s < e.length; s++) if (i = e[s], o = ot([...i.dl_children], t, n, r, l), o < 0) return o;
725
726
  return o;
726
727
  }
727
728
  function st(e, t, n, r, l) {
728
- if (t & G.WALK_BYLEVEL) return ot(e, t, n, r, l);
729
+ if (t & F.WALK_BYLEVEL) return ot(e, t, n, r, l);
729
730
  let i, o;
730
- if (t & G.WALK_BOTTOM2TOP) for (let s = e.length; s > 0; s--) {
731
+ if (t & F.WALK_BOTTOM2TOP) for (let s = e.length; s > 0; s--) {
731
732
  if (o = e[s - 1], i = st([...o.dl_children], t, n, r, l), i < 0) return i;
732
733
  if (i = n(o, r, l), i < 0) return i;
733
734
  }
@@ -738,7 +739,7 @@ function st(e, t, n, r, l) {
738
739
  return 0;
739
740
  }
740
741
  function at(e, t) {
741
- if (Gn(t)) return null;
742
+ if (Fn(t)) return null;
742
743
  const n = t.toLowerCase();
743
744
  return "__default_service__" === n ? h : "__yuno__" === n || "__root__" === n ? E : gt(E, t);
744
745
  }
@@ -753,7 +754,7 @@ function ut(e, t) {
753
754
  let t = l.length;
754
755
  if (l !== Be(e).substring(0, t)) return !1;
755
756
  }
756
- if (i && i !== jt(e)) return !1;
757
+ if (i && i !== Rt(e)) return !1;
757
758
  let o = e.jn_attrs;
758
759
  for (const n of Object.keys(t)) if ("__gclass_name__" !== n && "__gobj_name__" !== n && "__prefix_gobj_name__" !== n && "__disabled__" !== n && "__state__" !== n && dt(e, n) && o[n] !== t[n]) return !1;
759
760
  return !0;
@@ -809,7 +810,7 @@ function gt(e, t) {
809
810
  return i ? (n.splice(0, 1), n = n.join("`"), gt(i, n)) : null;
810
811
  }
811
812
  function dt(e, t) {
812
- return !Gn(t) && !!q(e.gclass, t, !1);
813
+ return !Fn(t) && !!q(e.gclass, t, !1);
813
814
  }
814
815
  function bt(e, t, n) {
815
816
  let r = e.jn_attrs;
@@ -832,8 +833,8 @@ function pt(e, t, n) {
832
833
  }
833
834
  function mt(e, t) {
834
835
  if (t) {
835
- if (0 === Mn(t, "__disabled__")) return Fe(e);
836
- if (0 === Mn(t, "__running__")) return Ge(e);
836
+ if (0 === Mn(t, "__disabled__")) return Ge(e);
837
+ if (0 === Mn(t, "__running__")) return Fe(e);
837
838
  if (0 === Mn(t, "__playing__")) return We(e);
838
839
  if (0 === Mn(t, "__service__")) return Ve(e);
839
840
  }
@@ -846,7 +847,7 @@ function Et(e, t) {
846
847
  return n ? !e.gclass.gmt.mt_reading || e.obflag & U.obflag_destroyed ? mn(n, t) : e.gclass.gmt.mt_reading(e, t) : (ln(`${Qe(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
847
848
  }
848
849
  function ht(e, t) {
849
- if (t && 0 === Mn(t, "__state__")) return jt(e);
850
+ if (t && 0 === Mn(t, "__state__")) return Rt(e);
850
851
  let n = Q(e, t, !1);
851
852
  return n ? !e.gclass.gmt.mt_reading || e.obflag & U.obflag_destroyed ? mn(n, t) : e.gclass.gmt.mt_reading(e, t) : (ln(`${Qe(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
852
853
  }
@@ -859,7 +860,7 @@ function yt(e, n, r, l) {
859
860
  let i, o = e.jn_attrs, s = n.split("`");
860
861
  if (s.length <= 1) {
861
862
  let l = n;
862
- return l in o && o.hasOwnProperty(l) ? (o[l] = r, jn(e.priv) && e.priv.hasOwnProperty(l) && (e.priv[l] = r), e.obflag & U.obflag_created && !(e.obflag & U.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, l), 0) : (ln(t("gobj_write_attr(%s): attr not found '%s'", Qe(e), l)), -1);
863
+ return l in o && o.hasOwnProperty(l) ? (o[l] = r, Rn(e.priv) && e.priv.hasOwnProperty(l) && (e.priv[l] = r), e.obflag & U.obflag_created && !(e.obflag & U.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, l), 0) : (ln(t("gobj_write_attr(%s): attr not found '%s'", Qe(e), l)), -1);
863
864
  }
864
865
  let a = s.length;
865
866
  for (let t = 0; t < a; t++) {
@@ -870,7 +871,7 @@ function yt(e, n, r, l) {
870
871
  continue;
871
872
  }
872
873
  let l = e.jn_attrs;
873
- if (i in l && l.hasOwnProperty(i)) return l[i] = r, jn(e.priv) && e.priv.hasOwnProperty(i) && (e.priv[i] = r), e.obflag & U.obflag_created && !(e.obflag & U.obflag_destroyed) && e.mt_writing && e.mt_writing(e, i), 0;
874
+ if (i in l && l.hasOwnProperty(i)) return l[i] = r, Rn(e.priv) && e.priv.hasOwnProperty(i) && (e.priv[i] = r), e.obflag & U.obflag_created && !(e.obflag & U.obflag_destroyed) && e.mt_writing && e.mt_writing(e, i), 0;
874
875
  break;
875
876
  }
876
877
  return ln(t("gobj_write_attr(%s): attr not found '%s'", Qe(e), i)), -1;
@@ -883,7 +884,7 @@ function St(e) {
883
884
  const i = r[l];
884
885
  if (i.name && !(n && i.flag & n) && (-1 === t || i.flag & t)) {
885
886
  const t = x(e, e.jn_attrs, i);
886
- jn(e.priv) && e.priv.hasOwnProperty(i.name) && (e.priv[i.name] = t), e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, i.name);
887
+ Rn(e.priv) && e.priv.hasOwnProperty(i.name) && (e.priv[i.name] = t), e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, i.name);
887
888
  }
888
889
  }
889
890
  return 0;
@@ -899,27 +900,27 @@ function Ot(e, t, n, r) {
899
900
  }
900
901
  function vt(e, t, n) {
901
902
  let r = Q(e, t, !1);
902
- return r ? (r[t] = Fn(n), jn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & U.obflag_created && !(e.obflag & U.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (ln(`${Qe(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
903
+ return r ? (r[t] = Gn(n), Rn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & U.obflag_created && !(e.obflag & U.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (ln(`${Qe(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
903
904
  }
904
905
  function Nt(e, t, n) {
905
906
  let r = Q(e, t, !1);
906
- return r ? (r[t] = parseInt(n), jn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & U.obflag_created && !(e.obflag & U.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (ln(`${Qe(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
907
+ return r ? (r[t] = parseInt(n), Rn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & U.obflag_created && !(e.obflag & U.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (ln(`${Qe(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
907
908
  }
908
- function Dt(e, t, n) {
909
+ function wt(e, t, n) {
909
910
  let r = Q(e, t, !1);
910
- return r ? (r[t] = String(n), jn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & U.obflag_created && !(e.obflag & U.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (ln(`${Qe(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
911
+ return r ? (r[t] = String(n), Rn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & U.obflag_created && !(e.obflag & U.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (ln(`${Qe(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
911
912
  }
912
- function wt(e, t) {
913
+ function Dt(e, t) {
913
914
  if (Ze(e)) return ln("gobj NULL or DESTROYED"), null;
914
915
  if (e.current_state.state_name === t) return !1;
915
916
  let n = H(e.gclass, t);
916
917
  return n ? (e.last_state = e.current_state, e.current_state = n, !0) : (ln(`${Qe(e)}: state unknown, state ${t}`), !1);
917
918
  }
918
- function jt(e) {
919
+ function Rt(e) {
919
920
  return Ze(e) ? (ln("gobj NULL or DESTROYED"), null) : e.current_state.state_name;
920
921
  }
921
- function Rt(e, n) {
922
- return Ze(e) ? (ln("gobj NULL or DESTROYED"), null) : n instanceof A ? (e.parent && e.parent.mt_child_removed && e.parent.mt_child_removed(e.parent, e), e.parent && (fe(e.parent, e), e.parent = null), ce(n, e), n.mt_child_added && (E && mt(E, "trace_creation") && an(t("👦👦🔵 child_added(%s): %s", qe(n), Qe(e))), n.mt_child_added(n, e)), 0) : (ln(`${Qe(e)}: gobj_change_parent() BAD TYPE of parent`), -1);
922
+ function jt(e, n) {
923
+ return Ze(e) ? (ln("gobj NULL or DESTROYED"), null) : n instanceof k ? (e.parent && e.parent.mt_child_removed && e.parent.mt_child_removed(e.parent, e), e.parent && (fe(e.parent, e), e.parent = null), ce(n, e), n.mt_child_added && (E && mt(E, "trace_creation") && an(t("👦👦🔵 child_added(%s): %s", qe(n), Qe(e))), n.mt_child_added(n, e)), 0) : (ln(`${Qe(e)}: gobj_change_parent() BAD TYPE of parent`), -1);
923
924
  }
924
925
  function $t(e, t, n) {
925
926
  if (!Cn(e)) return ln("gobj NULL of bad type"), null;
@@ -938,17 +939,17 @@ function It(e, t, n) {
938
939
  let r = $t(e, t, !1);
939
940
  return !!r && !(n && !(r.event_flag & n));
940
941
  }
941
- function kt(e, t, n) {
942
+ function At(e, t, n) {
942
943
  let r = $t(e, t, !1);
943
944
  return !!r && !(n && !(r.event_flag & n)) && !!(r.event_flag & C.EVF_OUTPUT_EVENT);
944
945
  }
945
- function At(e, t, n, r) {
946
+ function kt(e, t, n, r) {
946
947
  setTimeout(() => {
947
948
  Ze(e) || Lt(e, t, n, r);
948
949
  }, 10);
949
950
  }
950
951
  function Lt(e, n, r, l) {
951
- if (!(e && e instanceof A)) return ln("gobj dst NULL"), -1;
952
+ if (!(e && e instanceof k)) return ln("gobj dst NULL"), -1;
952
953
  if (e.obflag & (U.obflag_destroyed | U.obflag_destroying)) return ln("gobj dst DESTROYED"), -1;
953
954
  let i = e.current_state;
954
955
  if (!i) return ln(`${Qe(e)}: current_state NULL`), -1;
@@ -960,7 +961,7 @@ function Lt(e, n, r, l) {
960
961
  let a = "";
961
962
  s.action && (a = il(s.action)), M(t("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Je(e), Be(e), i.state_name, "", n || "", "", a, l && !l.running ? "!!" : "", Je(l), Be(l))), r && o > 1 && Nn(r) && _n(r);
962
963
  }
963
- s.next_state && wt(e, s.next_state);
964
+ s.next_state && Dt(e, s.next_state);
964
965
  let a = -1;
965
966
  try {
966
967
  s.action && (a = s.action(e, n, r, l));
@@ -985,25 +986,25 @@ var Pt = Object.freeze({
985
986
  ];
986
987
  function Ct(e, t, n, r, l) {
987
988
  let i = nr(t, r, "__config__", null), o = nr(t, r, "__global__", null), s = nr(t, r, "__local__", null), a = rr(t, r, "__filter__", null), u = !0;
988
- if (t && t !== tr(null, e, "publisher", null) && (u = !1), l && l !== tr(null, e, "subscriber", null) && (u = !1), n && n !== er(null, e, "event", "") && (u = !1), wn(i) > 0) {
989
+ if (t && t !== tr(null, e, "publisher", null) && (u = !1), l && l !== tr(null, e, "subscriber", null) && (u = !1), n && n !== er(null, e, "event", "") && (u = !1), Dn(i) > 0) {
989
990
  let t = nr(null, e, "__config__", null);
990
- wn(t) > 0 && gn(t, i) || (u = !1);
991
+ Dn(t) > 0 && gn(t, i) || (u = !1);
991
992
  }
992
- if (wn(o) > 0) {
993
+ if (Dn(o) > 0) {
993
994
  let t = nr(null, e, "__global__", null);
994
- wn(t) > 0 && gn(t, o) || (u = !1);
995
+ Dn(t) > 0 && gn(t, o) || (u = !1);
995
996
  }
996
- if (wn(s) > 0) {
997
+ if (Dn(s) > 0) {
997
998
  let t = nr(null, e, "__local__", null);
998
- wn(t) > 0 && gn(t, s) || (u = !1);
999
+ Dn(t) > 0 && gn(t, s) || (u = !1);
999
1000
  }
1000
- if (wn(a) > 0) {
1001
+ if (Dn(a) > 0) {
1001
1002
  let t = rr(null, e, "__filter__", null);
1002
- wn(t) > 0 && gn(t, a) || (u = !1);
1003
+ Dn(t) > 0 && gn(t, a) || (u = !1);
1003
1004
  }
1004
1005
  return u;
1005
1006
  }
1006
- function Gt(e, t, n, r, l) {
1007
+ function Ft(e, t, n, r, l) {
1007
1008
  let i = [];
1008
1009
  for (let o = 0; o < e.length; o++) {
1009
1010
  let s = e[o];
@@ -1011,7 +1012,7 @@ function Gt(e, t, n, r, l) {
1011
1012
  }
1012
1013
  return i;
1013
1014
  }
1014
- function Ft(e, t, n, r, l) {
1015
+ function Gt(e, t, n, r, l) {
1015
1016
  for (let i = 0; i < e.length; i++) if (Ct(e[i], t, n, r, l)) return i;
1016
1017
  return -1;
1017
1018
  }
@@ -1019,8 +1020,8 @@ function Vt(e, n, r, l) {
1019
1020
  let i = tr(e, n, "publisher", null, zt.KW_REQUIRED), o = tr(e, n, "subscriber", null, zt.KW_REQUIRED), s = er(e, n, "event", "", zt.KW_REQUIRED);
1020
1021
  if (!!(Hn(e, n, "subs_flag", null, zt.KW_REQUIRED) & Pt.__hard_subscription__) && !r) return -1;
1021
1022
  E && mt(E, "trace_subscriptions") && (M(t("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", s || "", Qe(i), Qe(o))), _n(n)), i.obflag & U.obflag_destroyed || l || i.gclass.gmt.mt_subscription_deleted && i.gclass.gmt.mt_subscription_deleted(i, n);
1022
- let a = Ft(i.dl_subscriptions, i, s, n, o);
1023
- return a >= 0 ? On(i.dl_subscriptions, a) : (ln(`${Qe(e)}: subscription in publisher not found`), _n(n)), a = Ft(o.dl_subscribings, i, s, n, o), a >= 0 ? On(o.dl_subscribings, a) : (ln(`${Qe(e)}: subscription in subscriber not found`), _n(n)), 0;
1023
+ let a = Gt(i.dl_subscriptions, i, s, n, o);
1024
+ return a >= 0 ? On(i.dl_subscriptions, a) : (ln(`${Qe(e)}: subscription in publisher not found`), _n(n)), a = Gt(o.dl_subscribings, i, s, n, o), a >= 0 ? On(o.dl_subscribings, a) : (ln(`${Qe(e)}: subscription in subscriber not found`), _n(n)), 0;
1024
1025
  }
1025
1026
  function Wt(e, n, r, l) {
1026
1027
  if (null == r && (r = {}), !e) return ln(`publisher NULL: ev ${n}`), 0;
@@ -1034,17 +1035,17 @@ function Wt(e, n, r, l) {
1034
1035
  ]);
1035
1036
  if (Object.keys(r).forEach((t) => {
1036
1037
  i.has(t) || ln(`${Qe(e)}: key ignored in subscription (key: ${t}, event: ${n})`);
1037
- }), Gn(n)) n = "";
1038
- else if (!(kt(e, n, C.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & L.gcflag_no_check_output_events)) return ln(`event NOT in output event list: ${Qe(e)}, ${n}`), 0;
1039
- let o = Gt(e.dl_subscriptions, e, n, r, l);
1040
- Dn(o) > 0 && (ln(`${Qe(e)}: ${Dn(o)} subscription(s) REPEATED, will be deleted and override`), _n(o, "subscription REPEATED"), Kt(e, o, !1));
1038
+ }), Fn(n)) n = "";
1039
+ else if (!(At(e, n, C.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & L.gcflag_no_check_output_events)) return ln(`event NOT in output event list: ${Qe(e)}, ${n}`), 0;
1040
+ let o = Ft(e.dl_subscriptions, e, n, r, l);
1041
+ wn(o) > 0 && (ln(`${Qe(e)}: ${wn(o)} subscription(s) REPEATED, will be deleted and override`), _n(o, "subscription REPEATED"), Kt(e, o, !1));
1041
1042
  let s = function(e, t, n, r) {
1042
1043
  let l = Y(e, Ut);
1043
1044
  Tn(l, "event", t), Tn(l, "subscriber", r), Tn(l, "publisher", e);
1044
1045
  let i = 0;
1045
1046
  if (n) {
1046
1047
  let t = nr(e, n, "__config__", null), r = nr(e, n, "__global__", null), o = nr(e, n, "__local__", null), s = rr(e, n, "__filter__", null), a = er(e, n, "__service__", "");
1047
- if (wn(r) > 0 && Tn(l, "__global__", cn(r)), wn(t) > 0) {
1048
+ if (Dn(r) > 0 && Tn(l, "__global__", cn(r)), Dn(t) > 0) {
1048
1049
  let n = cn(t);
1049
1050
  if (Tn(l, "__config__", n), Qn(n, "__hard_subscription__")) {
1050
1051
  let t = Xn(e, n, "__hard_subscription__", !1);
@@ -1055,7 +1056,7 @@ function Wt(e, n, r, l) {
1055
1056
  En(n, "__own_event__"), t && (i |= Pt.__own_event__);
1056
1057
  }
1057
1058
  }
1058
- wn(o) > 0 && Tn(l, "__local__", cn(o)), wn(s) > 0 && Tn(l, "__filter__", cn(s)), Gn(a) || Tn(l, "__service__", a);
1059
+ Dn(o) > 0 && Tn(l, "__local__", cn(o)), Dn(s) > 0 && Tn(l, "__filter__", cn(s)), Fn(a) || Tn(l, "__service__", a);
1059
1060
  }
1060
1061
  return Tn(l, "subs_flag", i), l;
1061
1062
  }(e, n, r, l);
@@ -1073,9 +1074,9 @@ function Mt(e, t, n, r) {
1073
1074
  ]);
1074
1075
  if (Object.keys(n).forEach((n) => {
1075
1076
  l.has(n) || ln(`${Qe(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
1076
- }), Gn(t)) t = "";
1077
- else if (!(kt(e, t, C.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & L.gcflag_no_check_output_events)) return ln(`event NOT in output event list: ${Qe(e)}, ev ${t}`), 0;
1078
- let i = Gt(e.dl_subscriptions, e, t, n, r), o = 0;
1077
+ }), Fn(t)) t = "";
1078
+ else if (!(At(e, t, C.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & L.gcflag_no_check_output_events)) return ln(`event NOT in output event list: ${Qe(e)}, ev ${t}`), 0;
1079
+ let i = Ft(e.dl_subscriptions, e, t, n, r), o = 0;
1079
1080
  for (let t = 0; t < i.length; t++) {
1080
1081
  let n = i[t];
1081
1082
  Vt(e, n, !1, !1), o++;
@@ -1088,7 +1089,7 @@ function Kt(e, t, n) {
1088
1089
  return 0;
1089
1090
  }
1090
1091
  function Yt(e, t, n, r) {
1091
- return null == n && (n = {}), Gt(e.dl_subscriptions, e, t, n, r);
1092
+ return null == n && (n = {}), Ft(e.dl_subscriptions, e, t, n, r);
1092
1093
  }
1093
1094
  function xt(e) {
1094
1095
  let t = Yt(e, null, null, null);
@@ -1104,16 +1105,16 @@ function xt(e) {
1104
1105
  return {
1105
1106
  subscriptions: t,
1106
1107
  subscribings: n,
1107
- "total subscriptions": Dn(t),
1108
- total_subscribings: Dn(n)
1108
+ "total subscriptions": wn(t),
1109
+ total_subscribings: wn(n)
1109
1110
  };
1110
1111
  }
1111
1112
  function Bt(e, t, n, r) {
1112
- return Gt(e.dl_subscribings, r, t, n, e);
1113
+ return Ft(e.dl_subscribings, r, t, n, e);
1113
1114
  }
1114
1115
  function Jt(e, n, r) {
1115
- if (jn(r) || (r = {}), !e || e.obflag & (U.obflag_destroyed | U.obflag_destroying)) return ln("gobj NULL or DESTROYED"), -1;
1116
- if (Gn(n)) return ln(`${Qe(e)}: event EMPTY`), -1;
1116
+ if (Rn(r) || (r = {}), !e || e.obflag & (U.obflag_destroyed | U.obflag_destroying)) return ln("gobj NULL or DESTROYED"), -1;
1117
+ if (Fn(n)) return ln(`${Qe(e)}: event EMPTY`), -1;
1117
1118
  let l = $t(e, n, !0);
1118
1119
  if (!(l && l.event_flag & (C.EVF_SYSTEM_EVENT | C.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & L.gcflag_no_check_output_events)) return ln(`event NOT in output event list: ${Qe(e)}, ev ${n}`), -1;
1119
1120
  let i = E && mt(E, "trace_subscriptions");
@@ -1132,14 +1133,14 @@ function Jt(e, n, r) {
1132
1133
  let _ = tr(e, u, "subscriber", null, zt.KW_REQUIRED);
1133
1134
  if (!_ || Ze(_)) continue;
1134
1135
  let c = Hn(e, u, "subs_flag", 0, zt.KW_REQUIRED), f = er(e, u, "event", "", zt.KW_REQUIRED);
1135
- if (Gn(f) || 0 === Mn(f, n)) {
1136
+ if (Fn(f) || 0 === Mn(f, n)) {
1136
1137
  nr(e, u, "__config__", null, 0);
1137
1138
  let l = nr(e, u, "__global__", null, 0), o = nr(e, u, "__local__", null, 0), f = rr(e, u, "__filter__", null, 0), g = r, d = 1;
1138
- if (e.gclass.gmt.mt_publication_filter ? d = e.gclass.gmt.mt_publication_filter(e, n, g, _) : wn(f) > 0 && (d = ar(g, f), i && (M(t("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", d ? "👍" : "👎", n || "", Qe(_), Qe(e))), _n(f))), d < 0) break;
1139
+ if (e.gclass.gmt.mt_publication_filter ? d = e.gclass.gmt.mt_publication_filter(e, n, g, _) : Dn(f) > 0 && (d = ar(g, f), i && (M(t("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", d ? "👍" : "👎", n || "", Qe(_), Qe(e))), _n(f))), d < 0) break;
1139
1140
  if (0 === d) continue;
1140
1141
  let b = $t(_, n, !0);
1141
1142
  if (b && b.event_flag & C.EVF_SYSTEM_EVENT && !It(_, b.event_name, 0)) continue;
1142
- o && Jn(g, o), l && dn(g, l), i && (M(t("🔝🔄 mach(%s%s), st: %s, ev: %s, from(%s%s)", _.running ? "" : "!!", Qe(_), jt(_), n || "", e && !e.running ? "!!" : "", Qe(e))), _n(g));
1143
+ o && Jn(g, o), l && dn(g, l), i && (M(t("🔝🔄 mach(%s%s), st: %s, ev: %s, from(%s%s)", _.running ? "" : "!!", Qe(_), Rt(_), n || "", e && !e.running ? "!!" : "", Qe(e))), _n(g));
1143
1144
  let p = Lt(_, n, g, e);
1144
1145
  if (p < 0 && c & Pt.__own_event__) {
1145
1146
  s = -1;
@@ -1153,7 +1154,7 @@ function Jt(e, n, r) {
1153
1154
  function Qt(e, n, r, l) {
1154
1155
  if (Ze(e)) return ln("gobj NULL or DESTROYED"), -1;
1155
1156
  let o = E && Et(E, "tracing");
1156
- return o && (M(t("🌀🌀 mach(%s%s), cmd: %s, src: %s", Ge(e) ? "" : "!!", Qe(e), n, Qe(l))), o > 1 && _n(r)), e.gclass.gmt.mt_command_parser ? e.gclass.gmt.mt_command_parser(e, n, r, l) : e.gclass.command_table ? g ? g(e, n, r, l) : i(0, -1, t("%s: global command parser not available", Qe(e)), 0, 0) : i(0, -1, t("%s: command table not available", Qe(e)), 0, 0);
1157
+ return o && (M(t("🌀🌀 mach(%s%s), cmd: %s, src: %s", Fe(e) ? "" : "!!", Qe(e), n, Qe(l))), o > 1 && _n(r)), e.gclass.gmt.mt_command_parser ? e.gclass.gmt.mt_command_parser(e, n, r, l) : e.gclass.command_table ? g ? g(e, n, r, l) : i(0, -1, t("%s: global command parser not available", Qe(e)), 0, 0) : i(0, -1, t("%s: command table not available", Qe(e)), 0, 0);
1157
1158
  }
1158
1159
  function qt(e, n, r, l) {
1159
1160
  return Ze(e) ? (ln("gobj NULL or DESTROYED"), -1) : e.gclass.gmt.mt_stats ? e.gclass.gmt.mt_stats(e, n, r, l) : d ? d(e, n, r, l) : s(0, -1, t("%s, stats parser not available", Qe(e)), 0, 0);
@@ -1297,18 +1298,18 @@ function vn(e, t) {
1297
1298
  return t ? (Array.prototype.push.apply(e, t), e) : e;
1298
1299
  }
1299
1300
  function Nn(e) {
1300
- return jn(e) ? Object.keys(e).length : 0;
1301
- }
1302
- function Dn(e) {
1303
- return Rn(e) ? e.length : 0;
1301
+ return Rn(e) ? Object.keys(e).length : 0;
1304
1302
  }
1305
1303
  function wn(e) {
1306
- return jn(e) ? Object.keys(e).length : Rn(e) ? e.length : $n(e) && e.length > 0 ? 1 : 0;
1304
+ return jn(e) ? e.length : 0;
1307
1305
  }
1308
- function jn(e) {
1309
- return null !== e && "object" == typeof e && !Array.isArray(e);
1306
+ function Dn(e) {
1307
+ return Rn(e) ? Object.keys(e).length : jn(e) ? e.length : $n(e) && e.length > 0 ? 1 : 0;
1310
1308
  }
1311
1309
  function Rn(e) {
1310
+ return null !== e && "object" == typeof e && !Array.isArray(e);
1311
+ }
1312
+ function jn(e) {
1312
1313
  return Array.isArray(e);
1313
1314
  }
1314
1315
  function $n(e) {
@@ -1317,10 +1318,10 @@ function $n(e) {
1317
1318
  function In(e) {
1318
1319
  return "number" == typeof e && Number.isFinite(e);
1319
1320
  }
1320
- function kn(e) {
1321
+ function An(e) {
1321
1322
  return "boolean" == typeof e;
1322
1323
  }
1323
- function An(e) {
1324
+ function kn(e) {
1324
1325
  return null == e;
1325
1326
  }
1326
1327
  function Ln(e) {
@@ -1336,12 +1337,12 @@ function Un(e) {
1336
1337
  return "function" == typeof e;
1337
1338
  }
1338
1339
  function Cn(e) {
1339
- return e instanceof A;
1340
+ return e instanceof k;
1340
1341
  }
1341
- function Gn(e) {
1342
+ function Fn(e) {
1342
1343
  return !$n(e) || 0 === e.length;
1343
1344
  }
1344
- function Fn(e) {
1345
+ function Gn(e) {
1345
1346
  return In(e) ? Boolean(e) : /^\s*(true|1|on)\s*$/i.test(e);
1346
1347
  }
1347
1348
  function Vn(e, t, n) {
@@ -1356,12 +1357,12 @@ function Mn(e, t) {
1356
1357
  return n === r ? 0 : n > r ? 1 : -1;
1357
1358
  }
1358
1359
  function Kn(e, t) {
1359
- if (jn(e) || jn(t) || Rn(e) || Rn(t)) return 0;
1360
+ if (Rn(e) || Rn(t) || jn(e) || jn(t)) return 0;
1360
1361
  if (In(e) || In(t)) {
1361
1362
  let n = Number(e), r = Number(t);
1362
1363
  return n > r ? 1 : n < r ? -1 : 0;
1363
1364
  }
1364
- if (kn(e) || kn(t)) {
1365
+ if (An(e) || An(t)) {
1365
1366
  let n = Number(e), r = Number(t);
1366
1367
  return n > r ? 1 : n < r ? -1 : 0;
1367
1368
  }
@@ -1392,7 +1393,7 @@ function Qn(e, t) {
1392
1393
  return !(!(t in e) || !e.hasOwnProperty(t));
1393
1394
  }
1394
1395
  function qn(e, t, n, r) {
1395
- if (e && !Cn(e) && ln("GObj bad instanceof"), !jn(t) && !Rn(t)) return ln(`${Qe(e)}: kw must be list or dict`), 0;
1396
+ if (e && !Cn(e) && ln("GObj bad instanceof"), !Rn(t) && !jn(t)) return ln(`${Qe(e)}: kw must be list or dict`), 0;
1396
1397
  if (!$n(n)) return ln(`${Qe(e)}: path must be a string: ${String(n)}`), 0;
1397
1398
  let l = n.split("`");
1398
1399
  if (l.length <= 1) return t[n];
@@ -1406,7 +1407,7 @@ function zn(e, t, n) {
1406
1407
  let n = e.lastIndexOf(t);
1407
1408
  return -1 === n ? [e, ""] : [e.substring(0, n), e.substring(n + 1)];
1408
1409
  }(n, "`");
1409
- return Gn(l) ? En(t, n) : En(qn(e, t, r, !0), l), 0;
1410
+ return Fn(l) ? En(t, n) : En(qn(e, t, r, !0), l), 0;
1410
1411
  }
1411
1412
  function Xn(e, t, n, r, l) {
1412
1413
  e && !Cn(e) && ln("GObj bad instanceof");
@@ -1484,7 +1485,7 @@ function nr(e, t, n, r, l) {
1484
1485
  }
1485
1486
  return o && (ln(`path not found: '${n}'`), _n(t)), Object(r);
1486
1487
  }
1487
- return a && zn(e, t, n), jn(i) ? Object(i) : (o && (ln(`path value MUST BE a dict: ${n}`), un(t)), Object(r));
1488
+ return a && zn(e, t, n), Rn(i) ? Object(i) : (o && (ln(`path value MUST BE a dict: ${n}`), un(t)), Object(r));
1488
1489
  }
1489
1490
  function rr(e, t, n, r, l) {
1490
1491
  e && !Cn(e) && ln("GObj bad instanceof");
@@ -1510,10 +1511,10 @@ function lr(e, t, n, r, l) {
1510
1511
  }
1511
1512
  return o && (ln(`path not found: '${n}'`), _n(t)), Array(r);
1512
1513
  }
1513
- return a && zn(e, t, n), Rn(i) ? Array(i) : (o && (ln(`path value MUST BE an array: ${n}`), un(t)), Array(r));
1514
+ return a && zn(e, t, n), jn(i) ? Array(i) : (o && (ln(`path value MUST BE an array: ${n}`), un(t)), Array(r));
1514
1515
  }
1515
1516
  function ir(e, t, n, r) {
1516
- if (e && !Cn(e) && ln("GObj bad instanceof"), !jn(t)) return ln("kw is not an object"), -1;
1517
+ if (e && !Cn(e) && ln("GObj bad instanceof"), !Rn(t)) return ln("kw is not an object"), -1;
1517
1518
  let l = n.split("`");
1518
1519
  if (l.length <= 1) return t[n] = r, 0;
1519
1520
  let i = l.length;
@@ -1524,24 +1525,24 @@ function ir(e, t, n, r) {
1524
1525
  return 0;
1525
1526
  }
1526
1527
  function or(e, t, n, r, l) {
1527
- if (e && !Cn(e) && ln("GObj bad instanceof"), !jn(t)) return ln("kw is not an object"), -1;
1528
+ if (e && !Cn(e) && ln("GObj bad instanceof"), !Rn(t)) return ln("kw is not an object"), -1;
1528
1529
  let i = nr(e, t, n, {}, !0);
1529
- return jn(i) ? (i[r] = l, 0) : (ln("subdict is not an object"), -1);
1530
+ return Rn(i) ? (i[r] = l, 0) : (ln("subdict is not an object"), -1);
1530
1531
  }
1531
1532
  function sr(e, n, r) {
1532
1533
  let l = "", i = !1;
1533
- if (Rn(n)) {
1534
+ if (jn(n)) {
1534
1535
  i = !1;
1535
1536
  for (let o = 0; o < n.length; o++) {
1536
1537
  let s = n[o];
1537
- if (l = Gn(r) ? t("%s", r) : t("%s`%d", r, o), i = sr(e, s, l), i) break;
1538
+ if (l = Fn(r) ? t("%s", r) : t("%s`%d", r, o), i = sr(e, s, l), i) break;
1538
1539
  }
1539
- } else if (jn(n)) {
1540
+ } else if (Rn(n)) {
1540
1541
  i = !0;
1541
1542
  let o = Object.keys(n);
1542
1543
  for (let s = 0; s < o.length; s++) {
1543
1544
  let a = o[s], u = n[a];
1544
- if (l = Gn(r) ? t("%s", a) : t("%s`%s", r, a), Rn(u) || jn(u)) {
1545
+ if (l = Fn(r) ? t("%s", a) : t("%s`%s", r, a), jn(u) || Rn(u)) {
1545
1546
  if (i = sr(e, u, l), !i) break;
1546
1547
  continue;
1547
1548
  }
@@ -1559,10 +1560,10 @@ function sr(e, n, r) {
1559
1560
  return i;
1560
1561
  }
1561
1562
  function ar(e, t) {
1562
- return 0 === wn(t) || sr(e, t, "");
1563
+ return 0 === Dn(t) || sr(e, t, "");
1563
1564
  }
1564
1565
  function ur(e, t, n, r) {
1565
- if (!n || !Rn(t)) return r && ln("item NULL or kw_list is not a list"), -1;
1566
+ if (!n || !jn(t)) return r && ln("item NULL or kw_list is not a list"), -1;
1566
1567
  for (let e = 0; e < t.length; e++) if (gn(n, t[e])) return e;
1567
1568
  return r && ln("item not found in this list"), -1;
1568
1569
  }
@@ -1570,12 +1571,12 @@ function _r(e, t, n, r) {
1570
1571
  if (e && !Cn(e) && ln("GObj bad instanceof"), !t) return null;
1571
1572
  r || (r = ar);
1572
1573
  let l = [];
1573
- if (Rn(t)) for (let e = 0; e < t.length; e++) {
1574
+ if (jn(t)) for (let e = 0; e < t.length; e++) {
1574
1575
  let i = t[e];
1575
1576
  r(i, n) && l.push(cn(i));
1576
1577
  }
1577
1578
  else {
1578
- if (!jn(t)) return ln("kw_select() BAD kw parameter"), null;
1579
+ if (!Rn(t)) return ln("kw_select() BAD kw parameter"), null;
1579
1580
  r(t, n) && l.push(cn(t));
1580
1581
  }
1581
1582
  return l;
@@ -1584,12 +1585,12 @@ function cr(e, t, n, r) {
1584
1585
  if (e && !Cn(e) && ln("GObj bad instanceof"), !t) return null;
1585
1586
  r || (r = ar);
1586
1587
  let l = [];
1587
- if (Rn(t)) for (let e = 0; e < t.length; e++) {
1588
+ if (jn(t)) for (let e = 0; e < t.length; e++) {
1588
1589
  let i = t[e];
1589
1590
  r(i, n) && l.push(i);
1590
1591
  }
1591
1592
  else {
1592
- if (!jn(t)) return ln("kw_select() BAD kw parameter"), null;
1593
+ if (!Rn(t)) return ln("kw_select() BAD kw parameter"), null;
1593
1594
  r(t, n) && l.push(t);
1594
1595
  }
1595
1596
  return l;
@@ -1597,12 +1598,12 @@ function cr(e, t, n, r) {
1597
1598
  function fr(e, t, n, r) {
1598
1599
  e && !Cn(e) && ln("GObj bad instanceof");
1599
1600
  let l = {};
1600
- if ($n(n) && !Gn(n)) {
1601
+ if ($n(n) && !Fn(n)) {
1601
1602
  let i = n;
1602
1603
  t.hasOwnProperty(i) ? l[i] = t[i] : r && ln(`${Qe(e)}: key not found: ${i}`);
1603
- } else if (jn(n) && Nn(n) > 0) for (let i of Object.keys(n)) t.hasOwnProperty(i) ? l[i] = t[i] : r && ln(`${Qe(e)}: key not found: ${i}`);
1604
+ } else if (Rn(n) && Nn(n) > 0) for (let i of Object.keys(n)) t.hasOwnProperty(i) ? l[i] = t[i] : r && ln(`${Qe(e)}: key not found: ${i}`);
1604
1605
  else {
1605
- if (!(Rn(n) && Dn(n) > 0)) return t;
1606
+ if (!(jn(n) && wn(n) > 0)) return t;
1606
1607
  for (let i = 0; i < n.length; i++) {
1607
1608
  let o = n[i];
1608
1609
  t.hasOwnProperty(o) ? l[o] = t[o] : r && ln(`${Qe(e)}: key not found: ${o}`);
@@ -1612,12 +1613,12 @@ function fr(e, t, n, r) {
1612
1613
  }
1613
1614
  function gr(e, t, n, r) {
1614
1615
  let l = {};
1615
- if (dn(l, t), $n(n) && !Gn(n)) {
1616
+ if (dn(l, t), $n(n) && !Fn(n)) {
1616
1617
  let i = n;
1617
1618
  rr(e, t, i, 0, 0) ? En(l, i) : r && ln(`${Qe(e)}: key not found: ${i}`);
1618
- } else if (jn(n) && Nn(n) > 0) for (let i of Object.keys(n)) t.hasOwnProperty(i) ? En(l, i) : r && ln(`${Qe(e)}: key not found: ${i}`);
1619
+ } else if (Rn(n) && Nn(n) > 0) for (let i of Object.keys(n)) t.hasOwnProperty(i) ? En(l, i) : r && ln(`${Qe(e)}: key not found: ${i}`);
1619
1620
  else {
1620
- if (!(Rn(n) && Dn(n) > 0)) return {};
1621
+ if (!(jn(n) && wn(n) > 0)) return {};
1621
1622
  for (let i = 0; i < n.length; i++) {
1622
1623
  let o = n[i];
1623
1624
  t.hasOwnProperty(o) ? En(l, o) : r && ln(`${Qe(e)}: key not found: ${o}`);
@@ -1650,11 +1651,11 @@ function pr(e) {
1650
1651
  else window.console.warn(`Invalid key for localStorage removal: ${e}`);
1651
1652
  }
1652
1653
  function mr(e, t) {
1653
- if (An(e) || An(t)) return !0;
1654
- if (Rn(e)) {
1654
+ if (kn(e) || kn(t)) return !0;
1655
+ if (jn(e)) {
1655
1656
  if (0 === e.length) return !0;
1656
1657
  for (let n = 0; n < e.length; n++) if (e[n] === t) return !0;
1657
- } else if (jn(e)) {
1658
+ } else if (Rn(e)) {
1658
1659
  if (0 === Object.keys(e).length) return !0;
1659
1660
  for (let n in e) if (n === t) return !0;
1660
1661
  } else if ($n(e) && e === t) return !0;
@@ -1664,9 +1665,9 @@ function Er(e, t, n, r, l) {
1664
1665
  if (e && !Cn(e) && ln("GObj bad instanceof"), !t) return null;
1665
1666
  l || (l = ar);
1666
1667
  let i = [];
1667
- if (Rn(t)) for (let o = 0; o < t.length; o++) {
1668
+ if (jn(t)) for (let o = 0; o < t.length; o++) {
1668
1669
  let s, a = t[o];
1669
- if (jn(a)) s = er(e, a, "id", "", 0);
1670
+ if (Rn(a)) s = er(e, a, "id", "", 0);
1670
1671
  else {
1671
1672
  if (!$n(a)) continue;
1672
1673
  s = a;
@@ -1674,7 +1675,7 @@ function Er(e, t, n, r, l) {
1674
1675
  mr(n, s) && l(a, r) && i.push(a);
1675
1676
  }
1676
1677
  else {
1677
- if (!jn(t)) return ln("kw_collect() BAD kw parameter"), null;
1678
+ if (!Rn(t)) return ln("kw_collect() BAD kw parameter"), null;
1678
1679
  for (let e of Object.keys(t)) {
1679
1680
  let o = t[e];
1680
1681
  mr(n, e) && l(o, r) && i.push(o);
@@ -1685,10 +1686,10 @@ function Er(e, t, n, r, l) {
1685
1686
  function hr(e, t, n) {
1686
1687
  e && !Cn(e) && ln("GObj bad instanceof");
1687
1688
  let r = {};
1688
- if (Gn(n) || (t = qn(e, t, n)), jn(t)) r = t;
1689
- else if (Rn(t)) for (let e = 0; e < t.length; e++) {
1689
+ if (Fn(n) || (t = qn(e, t, n)), Rn(t)) r = t;
1690
+ else if (jn(t)) for (let e = 0; e < t.length; e++) {
1690
1691
  let n = t[e], l = er(n, "id", null, !1);
1691
- Gn(l) || (r[l] = n);
1692
+ Fn(l) || (r[l] = n);
1692
1693
  }
1693
1694
  else ln(`${Qe(e)} kwid_new_dict: data type unknown`);
1694
1695
  return r;
@@ -1702,10 +1703,10 @@ function yr(e, t) {
1702
1703
  if (e && !Cn(e) && ln("GObj bad instanceof"), !t) return [];
1703
1704
  let n = [];
1704
1705
  if ($n(t)) n.push(t);
1705
- else if (jn(t)) for (let e in t) t.hasOwnProperty(e) && n.push(e);
1706
- else Rn(t) && t.forEach(function(t) {
1707
- if ($n(t)) Gn(t) || n.push(t);
1708
- else if (jn(t)) {
1706
+ else if (Rn(t)) for (let e in t) t.hasOwnProperty(e) && n.push(e);
1707
+ else jn(t) && t.forEach(function(t) {
1708
+ if ($n(t)) Fn(t) || n.push(t);
1709
+ else if (Rn(t)) {
1709
1710
  let r = er(e, t, "id", 0, 0);
1710
1711
  r && n.push(r);
1711
1712
  }
@@ -1715,17 +1716,17 @@ function yr(e, t) {
1715
1716
  function Sr(e, t, n) {
1716
1717
  t = t || "id", n = n || "value";
1717
1718
  let r = [];
1718
- if (Rn(e)) for (let l = 0; l < e.length; l++) {
1719
+ if (jn(e)) for (let l = 0; l < e.length; l++) {
1719
1720
  let i = e[l];
1720
1721
  if ($n(i)) r.push({
1721
1722
  id: e[l],
1722
1723
  value: e[l]
1723
1724
  });
1724
- else if (jn(i)) {
1725
+ else if (Rn(i)) {
1725
1726
  let e = {};
1726
1727
  if (Qn(i, t)) {
1727
1728
  if (!Qn(i, n)) {
1728
- if (!(wn(i) > 0)) {
1729
+ if (!(Dn(i) > 0)) {
1729
1730
  ln("list2options(): object without field value: " + n);
1730
1731
  continue;
1731
1732
  }
@@ -1733,7 +1734,7 @@ function Sr(e, t, n) {
1733
1734
  }
1734
1735
  e.id = i[t], e.value = i[n];
1735
1736
  } else {
1736
- if (!(wn(i) > 0)) {
1737
+ if (!(Dn(i) > 0)) {
1737
1738
  ln("list2options(): object without field id: " + t);
1738
1739
  continue;
1739
1740
  }
@@ -1742,7 +1743,7 @@ function Sr(e, t, n) {
1742
1743
  r.push(e);
1743
1744
  } else ln("list2options(): case1 not implemented");
1744
1745
  }
1745
- else if (jn(e)) for (let t of Object.keys(e)) r.push({
1746
+ else if (Rn(e)) for (let t of Object.keys(e)) r.push({
1746
1747
  id: t,
1747
1748
  value: t
1748
1749
  });
@@ -1772,11 +1773,11 @@ function Nr(e, t, n) {
1772
1773
  for (let r = 0; r < t.length; r++) if (vr(e, t[r], n)) return !0;
1773
1774
  return !1;
1774
1775
  }
1775
- function Dr(e, t) {
1776
+ function wr(e, t) {
1776
1777
  for (let n = 0; n < e.length; n++) if (t === e[n]) return e.splice(n, 1), !0;
1777
1778
  return !1;
1778
1779
  }
1779
- function wr(e, t) {
1780
+ function Dr(e, t) {
1780
1781
  try {
1781
1782
  let n = e.__md_iev__;
1782
1783
  if (n) return n[t];
@@ -1784,34 +1785,34 @@ function wr(e, t) {
1784
1785
  return;
1785
1786
  }
1786
1787
  }
1787
- function jr(e, t, n) {
1788
+ function Rr(e, t, n) {
1788
1789
  let r = e.__md_iev__;
1789
1790
  r || (r = {}, e.__md_iev__ = r), r[t] = n;
1790
1791
  }
1791
- function Rr(e, t, n, r) {
1792
+ function jr(e, t, n, r) {
1792
1793
  if (!Cn(e)) return ln("gobj is not a GObj"), null;
1793
1794
  if (!t) return;
1794
- let l = wr(t, n);
1795
- l || (l = [], jr(t, n, l));
1795
+ let l = Dr(t, n);
1796
+ l || (l = [], Rr(t, n, l));
1796
1797
  try {
1797
- Rn(l) && l.unshift(r);
1798
+ jn(l) && l.unshift(r);
1798
1799
  } catch (e) {
1799
1800
  ln(e);
1800
1801
  }
1801
1802
  }
1802
1803
  function $r(e, t, n, r) {
1803
1804
  if (!Cn(e)) return ln("gobj is not a GObj"), null;
1804
- if (!jn(t)) return ln("kw is not a dict"), null;
1805
- let l = wr(t, n);
1805
+ if (!Rn(t)) return ln("kw is not a dict"), null;
1806
+ let l = Dr(t, n);
1806
1807
  return l ? 0 === l.length ? (r && ln(`stack empty: ${n}`), null) : l[0] : (r && ln(`stack NOT FOUND: ${n}`), null);
1807
1808
  }
1808
1809
  function Ir(e, t, n) {
1809
- return Gn(n) ? zn(e, t, "__md_iev__`__msg_type__") : or(e, t, "__md_iev__", "__msg_type__", n), 0;
1810
+ return Fn(n) ? zn(e, t, "__md_iev__`__msg_type__") : or(e, t, "__md_iev__", "__msg_type__", n), 0;
1810
1811
  }
1811
- function kr(e, t) {
1812
+ function Ar(e, t) {
1812
1813
  return er(e, t, "__md_iev__`__msg_type__", "", 0);
1813
1814
  }
1814
- function Ar(e, t, n) {
1815
+ function kr(e, t, n) {
1815
1816
  let r = new XMLHttpRequest();
1816
1817
  r.open("GET", e, !0), r.setRequestHeader("Accept", "application/json"), r.onreadystatechange = function() {
1817
1818
  if (4 === r.readyState) if (200 === r.status || 0 === (e = r).status && e.responseText && e.responseURL.startsWith("file:")) try {
@@ -1839,7 +1840,7 @@ function Pr(e, t, n) {
1839
1840
  r,
1840
1841
  e[r],
1841
1842
  n
1842
- ]), jn(e[r]) && Pr(e[r], t, n), n = n.slice(0, -l.length);
1843
+ ]), Rn(e[r]) && Pr(e[r], t, n), n = n.slice(0, -l.length);
1843
1844
  }
1844
1845
  }
1845
1846
  function Ur(e, t, n) {
@@ -1854,10 +1855,10 @@ function Ur(e, t, n) {
1854
1855
  function Cr(e, t, n, r) {
1855
1856
  let l = rr(null, rr(null, e, "topics", null, 0), t, null, 0);
1856
1857
  if (!l) return ln("jdb_update: topic not found: " + t), null;
1857
- if (Gn(r.id)) return ln("jdb_update: record without id: " + r), un(r), null;
1858
+ if (Fn(r.id)) return ln("jdb_update: record without id: " + r), un(r), null;
1858
1859
  let i, o = n.split("`"), s = l;
1859
- for (; (i = o.shift()) && !Gn(i) && s;) jn(s) && (s = rr(null, s, e.hook, [], 1)), s = Mr(s, null, i, !1);
1860
- if (0 === o.length && s) if (Rn(s)) s.push(r);
1860
+ for (; (i = o.shift()) && !Fn(i) && s;) Rn(s) && (s = rr(null, s, e.hook, [], 1)), s = Mr(s, null, i, !1);
1861
+ if (0 === o.length && s) if (jn(s)) s.push(r);
1861
1862
  else if (s.id === r.id) Object.assign(s, r);
1862
1863
  else {
1863
1864
  let t = rr(null, s, e.hook, [], 1), n = Mr(t, e.hook, r.id, !1);
@@ -1865,13 +1866,13 @@ function Cr(e, t, n, r) {
1865
1866
  }
1866
1867
  return l;
1867
1868
  }
1868
- function Gr(e, t, n, r) {
1869
+ function Fr(e, t, n, r) {
1869
1870
  let l = rr(null, rr(null, e, "topics", null, 0), t, null, 0);
1870
1871
  if (!l) return ln("jdb_delete: topic not found: " + t), null;
1871
- if (Gn(r.id)) return ln("jdb_delete: record without id: " + r), un(r), null;
1872
+ if (Fn(r.id)) return ln("jdb_delete: record without id: " + r), un(r), null;
1872
1873
  let i, o = n.split("`"), s = l;
1873
- for (; (i = o.shift()) && !Gn(i) && s;) jn(s) && (s = rr(null, s, e.hook, null, 0)), s = Mr(s, null, i, !1);
1874
- if (0 === o.length && s) if (Rn(s)) {
1874
+ for (; (i = o.shift()) && !Fn(i) && s;) Rn(s) && (s = rr(null, s, e.hook, null, 0)), s = Mr(s, null, i, !1);
1875
+ if (0 === o.length && s) if (jn(s)) {
1875
1876
  let e = Or(s, r.id);
1876
1877
  e >= 0 && s.splice(e, 1);
1877
1878
  } else {
@@ -1880,7 +1881,7 @@ function Gr(e, t, n, r) {
1880
1881
  }
1881
1882
  return l;
1882
1883
  }
1883
- function Fr(e, t) {
1884
+ function Gr(e, t) {
1884
1885
  let n = rr(null, e, "topics", null, 0);
1885
1886
  if (!n) return ln("jdb topics section not found"), un(e), null;
1886
1887
  return rr(null, n, t, null, 0) || (ln("jdb topic not found: " + t), un(n), null);
@@ -1976,11 +1977,11 @@ function qr(e, t) {
1976
1977
  let t = "";
1977
1978
  for (const n of Object.keys(r[e])) t += `${n}: ${r[e][n]};`;
1978
1979
  o.style.cssText = t;
1979
- } else "style" === e ? o.style.cssText = r[e] : "i18n" === e || "data-i18n" === e || "data_i18next" === e || "data-i18next" === e ? (s = r[e], o.setAttribute("data-i18n", s)) : o.setAttribute(e, r[e]);
1980
+ } else "style" === e ? o.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], o.setAttribute("data-i18n", s)) : o.setAttribute(e, r[e]);
1980
1981
  if ($n(l)) if (l = l.trim(), l.length > 0 && "<" === l[0]) o.appendChild(Qr(l));
1981
1982
  else if (t && s) o.textContent = t(s) || l;
1982
1983
  else o.textContent = l;
1983
- else if (Rn(l)) {
1984
+ else if (jn(l)) {
1984
1985
  if (l.length > 0) if ($n(l[0])) o.appendChild(qr(l, t));
1985
1986
  else for (let e of l) Array.isArray(e) && e.length > 0 ? o.appendChild(qr(e, t)) : e instanceof HTMLElement && o.appendChild(e);
1986
1987
  } else l instanceof HTMLElement || l instanceof Text || l instanceof SVGElement ? o.appendChild(l) : null != l && (ln("content ignored"), _n(l));
@@ -2017,6 +2018,12 @@ function Hr(e, t) {
2017
2018
  n || (n = r.nodeValue), r.nodeValue = t(n);
2018
2019
  break;
2019
2020
  }
2021
+ }), e.querySelectorAll("[data-i18n-title]").forEach(function(e) {
2022
+ let n = e.getAttribute("data-i18n-title");
2023
+ n && e.setAttribute("title", t(n));
2024
+ }), e.querySelectorAll("[data-i18n-aria-label]").forEach(function(e) {
2025
+ let n = e.getAttribute("data-i18n-aria-label");
2026
+ n && e.setAttribute("aria-label", t(n));
2020
2027
  })) : ln("You must supply a translation function");
2021
2028
  }
2022
2029
  function Zr(e = "Time Tracker", t = !1) {
@@ -2078,14 +2085,14 @@ function al(e) {
2078
2085
  }
2079
2086
  function ul(e, t) {
2080
2087
  let n = pt(e, S.SDF_PERSIST), r = dr(al(e), null, !1);
2081
- if (r && jn(r)) {
2088
+ if (r && Rn(r)) {
2082
2089
  let l = fr(e, r, t, !1);
2083
2090
  l = fr(e, l, n, !1), Ot(e, l, S.SDF_PERSIST);
2084
2091
  }
2085
2092
  }
2086
2093
  function _l(e, t) {
2087
2094
  let n = fr(e, pt(e, S.SDF_PERSIST), t, !1), r = dr(al(e), null, !1);
2088
- r && jn(r) && pn(n, r), br(al(e), n);
2095
+ r && Rn(r) && pn(n, r), br(al(e), n);
2089
2096
  }
2090
2097
  function cl(e, t) {
2091
2098
  let n = gr(e, dr(al(e), null, !1), t, !1);
@@ -2093,14 +2100,14 @@ function cl(e, t) {
2093
2100
  }
2094
2101
  function fl(e, t) {
2095
2102
  let n = dr(al(e), null, !1), r = {};
2096
- return n && jn(n) && (r = fr(e, n, t, !1)), r;
2103
+ return n && Rn(n) && (r = fr(e, n, t, !1)), r;
2097
2104
  }
2098
2105
  function gl(e) {
2099
- if (Rn(e) && 1 === wn(e)) {
2106
+ if (jn(e) && 1 === Dn(e)) {
2100
2107
  let t = e[0];
2101
2108
  return Qn(t, "size") ? t.size : 1;
2102
2109
  }
2103
- return wn(e);
2110
+ return Dn(e);
2104
2111
  }
2105
2112
  function dl(e, t) {
2106
2113
  if ($n(t)) {
@@ -2126,7 +2133,7 @@ function dl(e, t) {
2126
2133
  };
2127
2134
  }
2128
2135
  }
2129
- return jn(t) ? {
2136
+ return Rn(t) ? {
2130
2137
  topic_name: t.topic_name,
2131
2138
  id: t.id,
2132
2139
  hook_name: t.hook_name
@@ -2158,7 +2165,7 @@ function pl(e, t) {
2158
2165
  };
2159
2166
  }
2160
2167
  }
2161
- return jn(t) ? {
2168
+ return Rn(t) ? {
2162
2169
  topic_name: t.topic_name,
2163
2170
  id: t.id
2164
2171
  } : (ln("bad hook 3"), ln(e), ln(t), null);
@@ -2283,7 +2290,7 @@ function yl(e, t) {
2283
2290
  }
2284
2291
  }
2285
2292
  n.real_type || (n.real_type = "string");
2286
- } else jn(t) ? (n = Tl(t), n.name || (n.name = e), n.header || (n.header = e)) : Rn(t) && (n.real_type = "array", n.enum_list = t);
2293
+ } else Rn(t) ? (n = Tl(t), n.name || (n.name = e), n.header || (n.header = e)) : jn(t) && (n.real_type = "array", n.enum_list = t);
2287
2294
  return n.type || (n.type = n.real_type), n;
2288
2295
  }
2289
2296
  function Sl(e, t) {
@@ -2302,13 +2309,13 @@ var Ol = [
2302
2309
  msec: 0,
2303
2310
  timer_id: -1
2304
2311
  }, Nl = null;
2305
- function Dl(e, t, n, r) {
2312
+ function wl(e, t, n, r) {
2306
2313
  let l = e.priv, i = l.periodic ? "EV_TIMEOUT_PERIODIC" : "EV_TIMEOUT";
2307
2314
  return He(e) ? Lt(ze(e), i, {}, e) : Jt(e, i, {}), l.periodic && (l.timer_id = setTimeout(function() {
2308
2315
  Lt(e, "EV_TIMEOUT", {}, e);
2309
2316
  }, l.msec)), 0;
2310
2317
  }
2311
- var wl = {
2318
+ var Dl = {
2312
2319
  mt_create: function(e) {
2313
2320
  let t = e.priv;
2314
2321
  const n = Tt(e, "subscriber");
@@ -2333,31 +2340,31 @@ var wl = {
2333
2340
  },
2334
2341
  mt_destroy: function(e) {}
2335
2342
  };
2336
- function jl() {
2343
+ function Rl() {
2337
2344
  return function(e) {
2338
2345
  if (Nl) return ln(`GClass ALREADY created: ${e}`), -1;
2339
2346
  const t = [["ST_IDLE", [[
2340
2347
  "EV_TIMEOUT",
2341
- Dl,
2348
+ wl,
2342
2349
  null
2343
2350
  ]]]];
2344
2351
  return (Nl = z(e, [
2345
2352
  ["EV_TIMEOUT", C.EVF_OUTPUT_EVENT],
2346
2353
  ["EV_TIMEOUT_PERIODIC", C.EVF_OUTPUT_EVENT],
2347
2354
  [0, 0]
2348
- ], t, wl, 0, Ol, vl, 0, 0, 0, L.gcflag_manual_start)) ? 0 : -1;
2355
+ ], t, Dl, 0, Ol, vl, 0, 0, 0, L.gcflag_manual_start)) ? 0 : -1;
2349
2356
  }("C_TIMER");
2350
2357
  }
2351
- function Rl(e, t) {
2352
- return e instanceof A ? "C_TIMER" !== Je(e) ? (ln("not C_TIMER GObj"), -1) : (vt(e, "periodic", !1), void Nt(e, "msec", t)) : (ln("not GObj TYPE"), -1);
2358
+ function jl(e, t) {
2359
+ return e instanceof k ? "C_TIMER" !== Je(e) ? (ln("not C_TIMER GObj"), -1) : (vt(e, "periodic", !1), void Nt(e, "msec", t)) : (ln("not GObj TYPE"), -1);
2353
2360
  }
2354
2361
  function $l(e, t) {
2355
- return e instanceof A ? "C_TIMER" !== Je(e) ? (ln("not C_TIMER GObj"), -1) : (vt(e, "periodic", !0), void Nt(e, "msec", t)) : (ln("not GObj TYPE"), -1);
2362
+ return e instanceof k ? "C_TIMER" !== Je(e) ? (ln("not C_TIMER GObj"), -1) : (vt(e, "periodic", !0), void Nt(e, "msec", t)) : (ln("not GObj TYPE"), -1);
2356
2363
  }
2357
2364
  function Il(e) {
2358
- return e instanceof A ? "C_TIMER" !== Je(e) ? (ln("not C_TIMER GObj"), -1) : void Nt(e, "msec", -1) : (ln("not GObj TYPE"), -1);
2365
+ return e instanceof k ? "C_TIMER" !== Je(e) ? (ln("not C_TIMER GObj"), -1) : void Nt(e, "msec", -1) : (ln("not GObj TYPE"), -1);
2359
2366
  }
2360
- var kl = [
2367
+ var Al = [
2361
2368
  N(y.DTP_BOOLEAN, "changesLost", 0, !1, "Set true to warn about leaving page"),
2362
2369
  N(y.DTP_BOOLEAN, "browser_beforeunload", 0, !1, "Set true to refreshing browser"),
2363
2370
  N(y.DTP_STRING, "__username__", 0, "", "Username"),
@@ -2383,26 +2390,26 @@ var kl = [
2383
2390
  N(y.DTP_BOOLEAN, "developer", 0, !1, "Developer mode enabled"),
2384
2391
  N(y.DTP_INTEGER, "periodic_timeout", 0, "1000", "Timeout periodic, in miliseconds."),
2385
2392
  v()
2386
- ], Al = { gobj_timer: null }, Ll = null;
2393
+ ], kl = { gobj_timer: null }, Ll = null;
2387
2394
  function Pl(e, t, n, r) {
2388
2395
  return Jt(e, t, n), 0;
2389
2396
  }
2390
2397
  var Ul = {
2391
2398
  mt_create: function(e) {
2392
2399
  let t = e.priv;
2393
- Dt(e, "start_date", el()), Dt(e, "node_uuid", rl()), e.priv.gobj_timer = ve(Be(e), "C_TIMER", {}, e), t.periodic_timeout = bt(e, "periodic_timeout");
2400
+ wt(e, "start_date", el()), wt(e, "node_uuid", rl()), e.priv.gobj_timer = ve(Be(e), "C_TIMER", {}, e), t.periodic_timeout = bt(e, "periodic_timeout");
2394
2401
  },
2395
2402
  mt_writing: function(e, t) {},
2396
2403
  mt_start: function(e) {
2397
- return we(e.priv.gobj_timer), $l(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
2404
+ return De(e.priv.gobj_timer), $l(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
2398
2405
  },
2399
2406
  mt_stop: function(e) {
2400
- return ke(e.priv.gobj_timer), Le(e), 0;
2407
+ return Ae(e.priv.gobj_timer), Le(e), 0;
2401
2408
  },
2402
2409
  mt_destroy: function(e) {},
2403
2410
  mt_play: function(e) {
2404
2411
  let t = ae();
2405
- return Ge(t) || we(t), We(t) || Ue(t), 0;
2412
+ return Fe(t) || De(t), We(t) || Ue(t), 0;
2406
2413
  },
2407
2414
  mt_pause: function(e) {
2408
2415
  return Ce(ae()), 0;
@@ -2416,10 +2423,10 @@ function Cl() {
2416
2423
  Pl,
2417
2424
  null
2418
2425
  ]]]];
2419
- return (Ll = z(e, [["EV_TIMEOUT_PERIODIC", C.EVF_OUTPUT_EVENT | C.EVF_NO_WARN_SUBS], [0, 0]], t, Ul, 0, kl, Al, 0, 0, 0, 0)) ? 0 : -1;
2426
+ return (Ll = z(e, [["EV_TIMEOUT_PERIODIC", C.EVF_OUTPUT_EVENT | C.EVF_NO_WARN_SUBS], [0, 0]], t, Ul, 0, Al, kl, 0, 0, 0, 0)) ? 0 : -1;
2420
2427
  }("C_YUNO");
2421
2428
  }
2422
- var Gl = "ievent_gate_stack", Fl = [
2429
+ var Fl = "ievent_gate_stack", Gl = [
2423
2430
  N(y.DTP_STRING, "wanted_yuno_role", S.SDF_RD, "", "wanted yuno role"),
2424
2431
  N(y.DTP_STRING, "wanted_yuno_name", S.SDF_RD, "", "wanted yuno name"),
2425
2432
  N(y.DTP_STRING, "wanted_yuno_service", S.SDF_RD, "", "wanted yuno service"),
@@ -2506,11 +2513,11 @@ function Bl(e, t, n, r) {
2506
2513
  }
2507
2514
  return 0;
2508
2515
  }(e, function(e, t) {
2509
- return Gn(e) ? (ln("iev_create() event NULL"), null) : new xl(e, t);
2516
+ return Fn(e) ? (ln("iev_create() event NULL"), null) : new xl(e, t);
2510
2517
  }(t, n));
2511
2518
  }
2512
2519
  function Jl(e, t, n) {
2513
- return Gn(n) && (n = ht(e, "wanted_yuno_service")), {
2520
+ return Fn(n) && (n = ht(e, "wanted_yuno_service")), {
2514
2521
  dst_yuno: ht(e, "wanted_yuno_name"),
2515
2522
  dst_role: ht(e, "wanted_yuno_role"),
2516
2523
  dst_service: n,
@@ -2541,28 +2548,36 @@ function Ql(e) {
2541
2548
  language: "undefined" != typeof window ? window.navigator.language : "",
2542
2549
  required_services: bt(Me(), "required_services")
2543
2550
  };
2544
- return Rr(e, o, Gl, Jl(e, Be(ze(e)), null)), Ir(e, o, "__identity__"), Rl(t.gobj_timer, Et(e, "timeout_idack")), Bl(e, "EV_IDENTITY_CARD", o);
2551
+ return jr(e, o, Fl, Jl(e, Be(ze(e)), null)), Ir(e, o, "__identity__"), jl(t.gobj_timer, Et(e, "timeout_idack")), Bl(e, "EV_IDENTITY_CARD", o);
2545
2552
  }
2546
2553
  function ql(e, t) {
2547
- if (Gn(t.event)) return -1;
2554
+ if (Fn(t.event)) return -1;
2548
2555
  let n = {}, r = t.__global__, l = t.__config__, i = t.__filter__, o = t.__service__, s = t.subscriber;
2549
- return l && (n.__config__ = l), r && (n.__global__ = r), i && (n.__filter__ = i), Rr(e, n, Gl, Jl(e, Be(s), o)), Ir(e, n, "__subscribing__"), Bl(e, t.event, n);
2556
+ return l && (n.__config__ = l), r && (n.__global__ = r), i && (n.__filter__ = i), jr(e, n, Fl, Jl(e, Be(s), o)), Ir(e, n, "__subscribing__"), Bl(e, t.event, n);
2550
2557
  }
2551
2558
  function zl(e, t, n, r) {
2552
2559
  let l = e.priv;
2553
- return Ge(e) && (l.websocket = Ml(e)), 0;
2560
+ return Fe(e) && (l.websocket = Ml(e)), 0;
2554
2561
  }
2555
2562
  function Xl(e, t, n, r) {
2556
2563
  return an("Websocket opened: " + e.priv.url), Ql(e), 0;
2557
2564
  }
2558
2565
  function Hl(e, t, n, r) {
2559
2566
  let l = e.priv, i = n.e, o = n.url;
2560
- return nn(), on(`${Qe(e)}: WebSocket closed ${o} (Code: ${i.code}, Reason: "${i.reason}", Clean: ${i.wasClean})`), 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, Jt(e, "EV_ON_CLOSE", {
2567
+ return nn(), on(`${Qe(e)}: WebSocket closed ${o} (Code: ${i.code}, Reason: "${i.reason}", Clean: ${i.wasClean})`), 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, Jt(e, "EV_ON_CLOSE", {
2561
2568
  url: o,
2562
2569
  remote_yuno_name: l.remote_yuno_name,
2563
2570
  remote_yuno_role: l.remote_yuno_role,
2564
2571
  remote_yuno_service: l.remote_yuno_service
2565
- })), Ge(e) && Rl(l.gobj_timer, Et(e, "timeout_retry")), 0;
2572
+ })) : (on(`${Qe(e)}: EV_ON_OPEN_ERROR cannot open ${o} (Code: ${i.code}, Reason: "${i.reason}", Clean: ${i.wasClean})`), Jt(e, "EV_ON_OPEN_ERROR", {
2573
+ url: o,
2574
+ remote_yuno_name: l.remote_yuno_name,
2575
+ remote_yuno_role: l.remote_yuno_role,
2576
+ remote_yuno_service: l.remote_yuno_service,
2577
+ code: i.code,
2578
+ reason: i.reason,
2579
+ was_clean: i.wasClean
2580
+ })), Fe(e) && jl(l.gobj_timer, Et(e, "timeout_retry")), 0;
2566
2581
  }
2567
2582
  function Zl(e, t, n, r) {
2568
2583
  return Ql(e), 0;
@@ -2570,8 +2585,8 @@ function Zl(e, t, n, r) {
2570
2585
  function ei(e, t, n, r) {
2571
2586
  let l = e.priv;
2572
2587
  Il(l.gobj_timer);
2573
- let i = $r(e, n, Gl, !0), o = er(e, i, "src_yuno", ""), s = er(e, i, "src_role", ""), a = er(e, i, "src_service", "");
2574
- Dt(e, "remote_yuno_name", o), Dt(e, "remote_yuno_role", s), Dt(e, "remote_yuno_service", a);
2588
+ let i = $r(e, n, Fl, !0), o = er(e, i, "src_yuno", ""), s = er(e, i, "src_role", ""), a = er(e, i, "src_service", "");
2589
+ wt(e, "remote_yuno_name", o), wt(e, "remote_yuno_role", s), wt(e, "remote_yuno_service", a);
2575
2590
  let u = Hn(e, n, "result", -1, 0), _ = er(e, n, "comment", "", 0), c = er(e, n, "username", "", 0), f = rr(e, n, "services_roles", {});
2576
2591
  if (u < 0) {
2577
2592
  Kl(e);
@@ -2586,7 +2601,7 @@ function ei(e, t, n, r) {
2586
2601
  };
2587
2602
  He(e) ? Lt(ze(e), "EV_ON_ID_NAK", t, e) : Jt(e, "EV_ON_ID_NAK", t);
2588
2603
  } else {
2589
- if (wt(e, "ST_SESSION"), l.inside_on_open = !0, !l.inform_on_close) {
2604
+ if (Dt(e, "ST_SESSION"), l.inside_on_open = !0, !l.inform_on_close) {
2590
2605
  l.inform_on_close = !0;
2591
2606
  let t = {
2592
2607
  username: c,
@@ -2627,14 +2642,14 @@ function ti(e, t, n, r) {
2627
2642
  r ? r(e, i, 2, t) : Yl(0, e, i);
2628
2643
  }
2629
2644
  let o = i.event, s = i.kw;
2630
- if ("ST_SESSION" !== jt(e)) {
2645
+ if ("ST_SESSION" !== Rt(e)) {
2631
2646
  if (It(e, o, C.EVF_PUBLIC_EVENT)) {
2632
2647
  if (0 === Lt(e, o, s, e)) return 0;
2633
2648
  } else ln(`${Qe(e)}: event UNKNOWN in not-session state ${o}`);
2634
2649
  return Kl(e), -1;
2635
2650
  }
2636
2651
  i = null;
2637
- let a = kr(e, s), u = $r(e, s, Gl), _ = er(e, u, "dst_role", "");
2652
+ let a = Ar(e, s), u = $r(e, s, Fl), _ = er(e, u, "dst_role", "");
2638
2653
  if (_ !== Ye()) return ln(`"It's not my role, dst_role: ${_}, my_role: ${Ye()}`), 0;
2639
2654
  let c = er(e, u, "dst_service", "");
2640
2655
  if ("__subscribing__" === a) return -1;
@@ -2656,7 +2671,7 @@ function ri(e, t, n, r) {
2656
2671
  var li = {
2657
2672
  mt_create: function(e) {
2658
2673
  let t = e.priv;
2659
- t.gobj_timer = ve(Be(e), "C_TIMER", {}, e), t.url = ht(e, "url"), t.remote_yuno_name = ht(e, "remote_yuno_name"), t.remote_yuno_role = ht(e, "remote_yuno_role"), t.remote_yuno_service = ht(e, "remote_yuno_service"), Dt(e, "wanted_yuno_name", t.remote_yuno_name), Dt(e, "wanted_yuno_role", t.remote_yuno_role), Dt(e, "wanted_yuno_service", t.remote_yuno_service);
2674
+ t.gobj_timer = ve(Be(e), "C_TIMER", {}, e), t.url = ht(e, "url"), t.remote_yuno_name = ht(e, "remote_yuno_name"), t.remote_yuno_role = ht(e, "remote_yuno_role"), t.remote_yuno_service = ht(e, "remote_yuno_service"), wt(e, "wanted_yuno_name", t.remote_yuno_name), wt(e, "wanted_yuno_role", t.remote_yuno_role), wt(e, "wanted_yuno_service", t.remote_yuno_service);
2660
2675
  const n = Tt(e, "subscriber");
2661
2676
  n && Wt(e, null, {}, n);
2662
2677
  },
@@ -2677,51 +2692,51 @@ var li = {
2677
2692
  },
2678
2693
  mt_start: function(e) {
2679
2694
  let t = e.priv;
2680
- return we(t.gobj_timer), t.websocket = Ml(e), 0;
2695
+ return De(t.gobj_timer), t.websocket = Ml(e), 0;
2681
2696
  },
2682
2697
  mt_stop: function(e) {
2683
2698
  let t = e.priv;
2684
- return Il(t.gobj_timer), ke(t.gobj_timer), t.websocket && Kl(e), 0;
2699
+ return Il(t.gobj_timer), Ae(t.gobj_timer), t.websocket && Kl(e), 0;
2685
2700
  },
2686
2701
  mt_destroy: function(e) {},
2687
2702
  mt_stats: function(e, t, n, r) {
2688
- if ("ST_SESSION" !== jt(e)) return ln("Not in session"), null;
2703
+ if ("ST_SESSION" !== Rt(e)) return ln("Not in session"), null;
2689
2704
  n || (n = {});
2690
2705
  let l = Jl(e, Be(r), er(e, n, "service", null, 0)), i = rr(e, n, "__md_stats__", null, zt.KW_EXTRACT);
2691
- return i || (i = {}), Rr(e, n, "stats_stack", {
2706
+ return i || (i = {}), jr(e, n, "stats_stack", {
2692
2707
  stats: t,
2693
2708
  kw: i
2694
- }), Rr(e, n, Gl, l), n.__stats__ = t, Ir(e, n, "__stats__"), Bl(e, "EV_MT_STATS", n, r), null;
2709
+ }), jr(e, n, Fl, l), n.__stats__ = t, Ir(e, n, "__stats__"), Bl(e, "EV_MT_STATS", n, r), null;
2695
2710
  },
2696
2711
  mt_command_parser: function(e, t, n, r) {
2697
- if ("ST_SESSION" !== jt(e)) return ln("Not in session"), null;
2712
+ if ("ST_SESSION" !== Rt(e)) return ln("Not in session"), null;
2698
2713
  n || (n = {});
2699
2714
  let l = Jl(e, Be(r), er(e, n, "service", "", 0)), i = rr(e, n, "__md_command__", null, zt.KW_EXTRACT);
2700
- return i || (i = {}), Rr(e, n, "command_stack", {
2715
+ return i || (i = {}), jr(e, n, "command_stack", {
2701
2716
  command: t,
2702
2717
  kw: i
2703
- }), Rr(e, n, Gl, l), n.__command__ = t, Ir(e, n, "__command__"), Bl(e, "EV_MT_COMMAND", n, r), null;
2718
+ }), jr(e, n, Fl, l), n.__command__ = t, Ir(e, n, "__command__"), Bl(e, "EV_MT_COMMAND", n, r), null;
2704
2719
  },
2705
2720
  mt_inject_event: function(e, t, n, r) {
2706
- if ("ST_SESSION" !== jt(e)) return window.console.error("Not in session"), -1;
2707
- if (n || (n = {}), $r(e, n, Gl));
2721
+ if ("ST_SESSION" !== Rt(e)) return window.console.error("Not in session"), -1;
2722
+ if (n || (n = {}), $r(e, n, Fl));
2708
2723
  else {
2709
2724
  let l = Jl(e, Be(r), er(e, n, "__service__", 0, 0));
2710
- En(n, "__service__"), Rr(e, n, "__message__", t), Rr(e, n, Gl, l);
2725
+ En(n, "__service__"), jr(e, n, "__message__", t), jr(e, n, Fl, l);
2711
2726
  }
2712
2727
  return Ir(e, n, "__message__"), Bl(e, t, n, r);
2713
2728
  },
2714
2729
  mt_subscription_added: function(e, t) {
2715
2730
  let n = e.priv;
2716
- return "ST_SESSION" !== jt(e) || n.inside_on_open ? 0 : ql(e, t);
2731
+ return "ST_SESSION" !== Rt(e) || n.inside_on_open ? 0 : ql(e, t);
2717
2732
  },
2718
2733
  mt_subscription_deleted: function(e, t) {
2719
2734
  let n = e.priv;
2720
- if ("ST_SESSION" !== jt(e)) return 0;
2735
+ if ("ST_SESSION" !== Rt(e)) return 0;
2721
2736
  if (n.inside_on_open) return 0;
2722
- if (Gn(t.event)) return 0;
2737
+ if (Fn(t.event)) return 0;
2723
2738
  let r = {}, l = t.__global__, i = t.__config__, o = t.__filter__, s = t.__service__, a = t.subscriber;
2724
- return i && (r.__config__ = i), l && (r.__global__ = l), o && (r.__filter__ = o), Rr(e, r, Gl, Jl(e, Be(a), s)), Ir(e, r, "__unsubscribing__"), Bl(e, t.event, r, e);
2739
+ return i && (r.__config__ = i), l && (r.__global__ = l), o && (r.__filter__ = o), jr(e, r, Fl, Jl(e, Be(a), s)), Ir(e, r, "__unsubscribing__"), Bl(e, t.event, r, e);
2725
2740
  }
2726
2741
  };
2727
2742
  function ii() {
@@ -2814,11 +2829,12 @@ function ii() {
2814
2829
  ["EV_MT_COMMAND", C.EVF_PUBLIC_EVENT],
2815
2830
  ["EV_ON_OPEN", C.EVF_OUTPUT_EVENT | C.EVF_NO_WARN_SUBS],
2816
2831
  ["EV_ON_CLOSE", C.EVF_OUTPUT_EVENT | C.EVF_NO_WARN_SUBS],
2832
+ ["EV_ON_OPEN_ERROR", C.EVF_OUTPUT_EVENT | C.EVF_NO_WARN_SUBS],
2817
2833
  ["EV_TIMEOUT", 0],
2818
2834
  [null, 0]
2819
- ], t, li, 0, Fl, Vl, 0, 0, 0, L.gcflag_no_check_output_events)) ? 0 : -1;
2835
+ ], t, li, 0, Gl, Vl, 0, 0, 0, L.gcflag_no_check_output_events)) ? 0 : -1;
2820
2836
  }("C_IEVENT_CLI");
2821
2837
  }
2822
- export { A as GObj, N as SDATA, R as SDATAAUTHZ, D as SDATACM, w as SDATACM2, I as SDATADF, j as SDATAPM, $ as SDATAPM0, v as SDATA_END, O as SDataDesc, a as YUNETA_VERSION, E as __yuno__, i as build_command_response, sl as build_path, s as build_stats_response, ll as clean_name, Il as clear_timeout, Kn as cmp_two_simple_json, l as command_parser, qr as createElement2, Qr as createOneHtml, Kr as create_json_record, Sl as create_template_record, el as current_timestamp, y as data_type_t, fl as db_list_persistent_attrs, ul as db_load_persistent_attrs, cl as db_remove_persistent_attrs, _l as db_save_persistent_attrs, ol as debounce, Dr as delete_from_list, fn as duplicate_objects, Gn as empty_string, Br as escapeHtml, C as event_flag_t, te as gclass_add_ev_action, re as gclass_add_event_type, ee as gclass_add_state, ie as gclass_check_fsm, z as gclass_create, le as gclass_event_type, oe as gclass_find_by_name, L as gclass_flag_t, X as gclass_unregister, zr as getPositionRelativeToBody, il as get_function_name, tl as get_now, et as gobj_bottom_gobj, Rt as gobj_change_parent, wt as gobj_change_state, Qt as gobj_command, Ne as gobj_create, he as gobj_create2, Se as gobj_create_default_service, ve as gobj_create_pure_child, ye as gobj_create_service, Oe as gobj_create_volatil, Te as gobj_create_yuno, jt as gobj_current_state, ae as gobj_default_service, De as gobj_destroy, _t as gobj_find_child, at as gobj_find_gobj, ue as gobj_find_service, Bt as gobj_find_subscribings, Yt as gobj_find_subscriptions, P as gobj_flag_t, qe as gobj_full_name, Je as gobj_gclass_name, dt as gobj_has_attr, It as gobj_has_event, kt as gobj_has_output_event, J as gobj_hsdata, Ze as gobj_is_destroying, We as gobj_is_playing, He as gobj_is_pure_child, Ge as gobj_is_running, Ve as gobj_is_service, Xe as gobj_is_volatil, pe as gobj_list_persistent_attrs, xt as gobj_list_subscriptions, ge as gobj_load_persistent_attrs, ct as gobj_match_children, ft as gobj_match_children_tree, ut as gobj_match_gobj, Be as gobj_name, ze as gobj_parent, Ce as gobj_pause, Ue as gobj_play, At as gobj_post_event, Jt as gobj_publish_event, bt as gobj_read_attr, pt as gobj_read_attrs, mt as gobj_read_bool_attr, Et as gobj_read_integer_attr, Tt as gobj_read_pointer_attr, ht as gobj_read_str_attr, be as gobj_remove_persistent_attrs, St as gobj_reset_volatil_attrs, de as gobj_save_persistent_attrs, gt as gobj_search_path, Lt as gobj_send_event, se as gobj_services, tt as gobj_set_bottom_gobj, Qe as gobj_short_name, we as gobj_start, Re as gobj_start_children, Ie as gobj_start_tree, K as gobj_start_up, qt as gobj_stats, ke as gobj_stop, Le as gobj_stop_children, Pe as gobj_stop_tree, Wt as gobj_subscribe_event, Mt as gobj_unsubscribe_event, Kt as gobj_unsubscribe_list, rt as gobj_walk_gobj_children, lt as gobj_walk_gobj_children_tree, yt as gobj_write_attr, Ot as gobj_write_attrs, vt as gobj_write_bool_attr, Nt as gobj_write_integer_attr, Dt as gobj_write_str_attr, Me as gobj_yuno, xe as gobj_yuno_id, Ke as gobj_yuno_name, Ye as gobj_yuno_role, Or as id_index_in_obj_list, nl as index_in_list, Rn as is_array, kn as is_boolean, Pn as is_date, Un as is_function, Cn as is_gobj, xn as is_metadata_key, An as is_null, In as is_number, jn as is_object, Bn as is_private_key, Ln as is_pure_number, $n as is_string, Gr as jdb_delete, Vr as jdb_get, Wr as jdb_get_by_idx, Fr as jdb_get_topic, Ur as jdb_init, Cr as jdb_update, yn as json_array_append, Sn as json_array_append_new, vn as json_array_extend, On as json_array_remove, Dn as json_array_size, cn as json_deep_copy, gn as json_is_identical, En as json_object_del, mn as json_object_get, hn as json_object_set, Tn as json_object_set_new, Nn as json_object_size, dn as json_object_update, bn as json_object_update_existing, pn as json_object_update_missing, wn as json_size, xr as jwt2json, Yr as jwtDecode, fr as kw_clone_by_keys, gr as kw_clone_by_not_keys, cr as kw_collect, zn as kw_delete, ur as kw_find_json_in_list, qn as kw_find_path, zt as kw_flag_t, Xn as kw_get_bool, nr as kw_get_dict, rr as kw_get_dict_value, Hn as kw_get_int, lr as kw_get_list, dr as kw_get_local_storage_value, tr as kw_get_pointer, Zn as kw_get_real, er as kw_get_str, Qn as kw_has_key, ar as kw_match_simple, Jn as kw_pop, pr as kw_remove_local_storage_value, _r as kw_select, ir as kw_set_dict_value, br as kw_set_local_storage_value, or as kw_set_subdict_value, Er as kwid_collect, Tr as kwid_find_one_record, yr as kwid_get_ids, mr as kwid_match_id, hr as kwid_new_dict, Sr as list2options, Ar as load_json_file, an as log_debug, ln as log_error, sn as log_info, on as log_warning, kr as msg_iev_get_msg_type, $r as msg_iev_get_stack, Rr as msg_iev_push_stack, wr as msg_iev_read_key, Ir as msg_iev_set_msg_type, jr as msg_iev_write_key, rl as node_uuid, Fn as parseBoolean, Xr as parseSVG, Hr as refresh_language, ii as register_c_ievent_cli, jl as register_c_timer, Cl as register_c_yuno, Jr as safeSrc, S as sdata_flag_t, Lr as send_http_json_post, nn as set_remote_log_functions, Rl as set_timeout, $l as set_timeout_periodic, t as sprintf, o as stats_parser, vr as str_in_list, Mn as strcasecmp, Wn as strcmp, Vn as strncmp, Nr as strs_in_list, Yn as strstr, yl as template_get_field_desc, Zr as timeTracker, _n as trace_json, un as trace_msg, dl as treedb_decoder_fkey, pl as treedb_decoder_hook, bl as treedb_encoder_fkey, Tl as treedb_get_field_desc, gl as treedb_hook_data_size, n as vsprintf };
2838
+ export { k as GObj, N as SDATA, j as SDATAAUTHZ, w as SDATACM, D as SDATACM2, I as SDATADF, R as SDATAPM, $ as SDATAPM0, v as SDATA_END, O as SDataDesc, a as YUNETA_VERSION, E as __yuno__, i as build_command_response, sl as build_path, s as build_stats_response, ll as clean_name, Il as clear_timeout, Kn as cmp_two_simple_json, l as command_parser, qr as createElement2, Qr as createOneHtml, Kr as create_json_record, Sl as create_template_record, el as current_timestamp, y as data_type_t, fl as db_list_persistent_attrs, ul as db_load_persistent_attrs, cl as db_remove_persistent_attrs, _l as db_save_persistent_attrs, ol as debounce, wr as delete_from_list, fn as duplicate_objects, Fn as empty_string, Br as escapeHtml, C as event_flag_t, te as gclass_add_ev_action, re as gclass_add_event_type, ee as gclass_add_state, ie as gclass_check_fsm, z as gclass_create, le as gclass_event_type, oe as gclass_find_by_name, L as gclass_flag_t, X as gclass_unregister, zr as getPositionRelativeToBody, il as get_function_name, tl as get_now, et as gobj_bottom_gobj, jt as gobj_change_parent, Dt as gobj_change_state, Qt as gobj_command, Ne as gobj_create, he as gobj_create2, Se as gobj_create_default_service, ve as gobj_create_pure_child, ye as gobj_create_service, Oe as gobj_create_volatil, Te as gobj_create_yuno, Rt as gobj_current_state, ae as gobj_default_service, we as gobj_destroy, _t as gobj_find_child, at as gobj_find_gobj, ue as gobj_find_service, Bt as gobj_find_subscribings, Yt as gobj_find_subscriptions, P as gobj_flag_t, qe as gobj_full_name, Je as gobj_gclass_name, dt as gobj_has_attr, It as gobj_has_event, At as gobj_has_output_event, J as gobj_hsdata, Ze as gobj_is_destroying, We as gobj_is_playing, He as gobj_is_pure_child, Fe as gobj_is_running, Ve as gobj_is_service, Xe as gobj_is_volatil, pe as gobj_list_persistent_attrs, xt as gobj_list_subscriptions, ge as gobj_load_persistent_attrs, ct as gobj_match_children, ft as gobj_match_children_tree, ut as gobj_match_gobj, Be as gobj_name, ze as gobj_parent, Ce as gobj_pause, Ue as gobj_play, kt as gobj_post_event, Jt as gobj_publish_event, bt as gobj_read_attr, pt as gobj_read_attrs, mt as gobj_read_bool_attr, Et as gobj_read_integer_attr, Tt as gobj_read_pointer_attr, ht as gobj_read_str_attr, be as gobj_remove_persistent_attrs, St as gobj_reset_volatil_attrs, de as gobj_save_persistent_attrs, gt as gobj_search_path, Lt as gobj_send_event, se as gobj_services, tt as gobj_set_bottom_gobj, Qe as gobj_short_name, De as gobj_start, je as gobj_start_children, Ie as gobj_start_tree, K as gobj_start_up, qt as gobj_stats, Ae as gobj_stop, Le as gobj_stop_children, Pe as gobj_stop_tree, Wt as gobj_subscribe_event, Mt as gobj_unsubscribe_event, Kt as gobj_unsubscribe_list, rt as gobj_walk_gobj_children, lt as gobj_walk_gobj_children_tree, yt as gobj_write_attr, Ot as gobj_write_attrs, vt as gobj_write_bool_attr, Nt as gobj_write_integer_attr, wt as gobj_write_str_attr, Me as gobj_yuno, xe as gobj_yuno_id, Ke as gobj_yuno_name, Ye as gobj_yuno_role, Or as id_index_in_obj_list, nl as index_in_list, jn as is_array, An as is_boolean, Pn as is_date, Un as is_function, Cn as is_gobj, xn as is_metadata_key, kn as is_null, In as is_number, Rn as is_object, Bn as is_private_key, Ln as is_pure_number, $n as is_string, Fr as jdb_delete, Vr as jdb_get, Wr as jdb_get_by_idx, Gr as jdb_get_topic, Ur as jdb_init, Cr as jdb_update, yn as json_array_append, Sn as json_array_append_new, vn as json_array_extend, On as json_array_remove, wn as json_array_size, cn as json_deep_copy, gn as json_is_identical, En as json_object_del, mn as json_object_get, hn as json_object_set, Tn as json_object_set_new, Nn as json_object_size, dn as json_object_update, bn as json_object_update_existing, pn as json_object_update_missing, Dn as json_size, xr as jwt2json, Yr as jwtDecode, fr as kw_clone_by_keys, gr as kw_clone_by_not_keys, cr as kw_collect, zn as kw_delete, ur as kw_find_json_in_list, qn as kw_find_path, zt as kw_flag_t, Xn as kw_get_bool, nr as kw_get_dict, rr as kw_get_dict_value, Hn as kw_get_int, lr as kw_get_list, dr as kw_get_local_storage_value, tr as kw_get_pointer, Zn as kw_get_real, er as kw_get_str, Qn as kw_has_key, ar as kw_match_simple, Jn as kw_pop, pr as kw_remove_local_storage_value, _r as kw_select, ir as kw_set_dict_value, br as kw_set_local_storage_value, or as kw_set_subdict_value, Er as kwid_collect, Tr as kwid_find_one_record, yr as kwid_get_ids, mr as kwid_match_id, hr as kwid_new_dict, Sr as list2options, kr as load_json_file, an as log_debug, ln as log_error, sn as log_info, on as log_warning, Ar as msg_iev_get_msg_type, $r as msg_iev_get_stack, jr as msg_iev_push_stack, Dr as msg_iev_read_key, Ir as msg_iev_set_msg_type, Rr as msg_iev_write_key, rl as node_uuid, Gn as parseBoolean, Xr as parseSVG, Hr as refresh_language, ii as register_c_ievent_cli, Rl as register_c_timer, Cl as register_c_yuno, Jr as safeSrc, S as sdata_flag_t, Lr as send_http_json_post, nn as set_remote_log_functions, jl as set_timeout, $l as set_timeout_periodic, t as sprintf, o as stats_parser, vr as str_in_list, Mn as strcasecmp, Wn as strcmp, Vn as strncmp, Nr as strs_in_list, Yn as strstr, yl as template_get_field_desc, Zr as timeTracker, _n as trace_json, un as trace_msg, dl as treedb_decoder_fkey, pl as treedb_decoder_hook, bl as treedb_encoder_fkey, Tl as treedb_get_field_desc, gl as treedb_hook_data_size, n as vsprintf };
2823
2839
 
2824
2840
  //# sourceMappingURL=gobj-js.es.min.js.map