@yuneta/gobj-js 7.25.3 → 7.25.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.
@@ -226,7 +226,7 @@
226
226
  function L(e) {
227
227
  Cn(e) && (e = JSON.stringify(e)), pn(" ".repeat(Math.max(1, 2 * h)) + String(e));
228
228
  }
229
- var P = Object.freeze({
229
+ var U = Object.freeze({
230
230
  TRACE_MACHINE: 65536,
231
231
  TRACE_CREATE_DELETE: 131072,
232
232
  TRACE_CREATE_DELETE2: 262144,
@@ -242,86 +242,86 @@
242
242
  TRACE_TIMER_PERIODIC: 268435456,
243
243
  TRACE_URING_TIME: 536870912,
244
244
  TRACE_COMMANDS: 1073741824
245
- }), U = [
245
+ }), P = [
246
246
  [
247
247
  "machine",
248
- P.TRACE_MACHINE,
248
+ U.TRACE_MACHINE,
249
249
  "Trace machine"
250
250
  ],
251
251
  [
252
252
  "create_delete",
253
- P.TRACE_CREATE_DELETE,
253
+ U.TRACE_CREATE_DELETE,
254
254
  "Trace create/delete of gobjs"
255
255
  ],
256
256
  [
257
257
  "create_delete2",
258
- P.TRACE_CREATE_DELETE2,
258
+ U.TRACE_CREATE_DELETE2,
259
259
  "Trace create/delete of gobjs level 2: with kw"
260
260
  ],
261
261
  [
262
262
  "subscriptions",
263
- P.TRACE_SUBSCRIPTIONS,
263
+ U.TRACE_SUBSCRIPTIONS,
264
264
  "Trace subscriptions of gobjs"
265
265
  ],
266
266
  [
267
267
  "start_stop",
268
- P.TRACE_START_STOP,
268
+ U.TRACE_START_STOP,
269
269
  "Trace start/stop of gobjs"
270
270
  ],
271
271
  [
272
272
  "ev_kw",
273
- P.TRACE_EV_KW,
273
+ U.TRACE_EV_KW,
274
274
  "Trace event keywords"
275
275
  ],
276
276
  [
277
277
  "authzs",
278
- P.TRACE_AUTHZS,
278
+ U.TRACE_AUTHZS,
279
279
  "Trace authorizations"
280
280
  ],
281
281
  [
282
282
  "states",
283
- P.TRACE_STATES,
283
+ U.TRACE_STATES,
284
284
  "Trace change of states"
285
285
  ],
286
286
  [
287
287
  "gbuffers",
288
- P.TRACE_GBUFFERS,
288
+ U.TRACE_GBUFFERS,
289
289
  "Trace gbuffers"
290
290
  ],
291
291
  [
292
292
  "timer",
293
- P.TRACE_TIMER,
293
+ U.TRACE_TIMER,
294
294
  "Trace timers"
295
295
  ],
296
296
  [
297
297
  "fs",
298
- P.TRACE_FS,
298
+ U.TRACE_FS,
299
299
  "Trace file system"
300
300
  ],
301
301
  [
302
302
  "liburing",
303
- P.TRACE_URING,
303
+ U.TRACE_URING,
304
304
  "Trace liburing mixins"
305
305
  ],
306
306
  [
307
307
  "timer_periodic",
308
- P.TRACE_TIMER_PERIODIC,
308
+ U.TRACE_TIMER_PERIODIC,
309
309
  "Trace periodic timers"
310
310
  ],
311
311
  [
312
312
  "liburing_timer",
313
- P.TRACE_URING_TIME,
313
+ U.TRACE_URING_TIME,
314
314
  "Trace liburing timer"
315
315
  ],
316
316
  [
317
317
  "commands",
318
- P.TRACE_COMMANDS,
318
+ U.TRACE_COMMANDS,
319
319
  "Trace commands"
320
320
  ]
321
321
  ], F = 0, G = 0, V = 0;
322
322
  function M(e, t) {
323
323
  let n = [];
324
- for (const [t, r] of U) e & r && n.push(t);
324
+ for (const [t, r] of P) e & r && n.push(t);
325
325
  if (Array.isArray(t)) for (let r = 0; r < t.length && r < 16; r++) t[r] && e & 1 << r && n.push(t[r][0]);
326
326
  return n;
327
327
  }
@@ -332,45 +332,45 @@
332
332
  if (t) return t;
333
333
  }
334
334
  return function(e, t) {
335
- for (const [t, n] of U) if (t === e) return n;
335
+ for (const [t, n] of P) if (t === e) return n;
336
336
  if (Array.isArray(t)) {
337
337
  for (let n = 0; n < t.length && n < 16; n++) if (t[n] && t[n][0] === e) return 1 << n;
338
338
  }
339
339
  return 0;
340
340
  }(String(e), n) || (dn(`${t}: trace level NOT FOUND: ${e}`), 0);
341
341
  }
342
- function K(e) {
342
+ function x(e) {
343
343
  if (V) return 4294967295;
344
344
  let t = F;
345
345
  return e && (t |= e.trace_level || 0, e.gclass && (t |= e.gclass.trace_level || 0)), t;
346
346
  }
347
- function x(e) {
347
+ function K(e) {
348
348
  let t = G;
349
349
  return e && (t |= e.no_trace_level || 0, e.gclass && (t |= e.gclass.no_trace_level || 0)), t;
350
350
  }
351
351
  function Y(e) {
352
- return K(e) & P.TRACE_CREATE_DELETE;
352
+ return x(e) & U.TRACE_CREATE_DELETE;
353
353
  }
354
354
  function B(e) {
355
- return K(e) & P.TRACE_SUBSCRIPTIONS;
355
+ return x(e) & U.TRACE_SUBSCRIPTIONS;
356
356
  }
357
357
  function J(e) {
358
- return K(e) & P.TRACE_START_STOP;
358
+ return x(e) & U.TRACE_START_STOP;
359
359
  }
360
360
  function H(e) {
361
- return K(e) & P.TRACE_EV_KW;
361
+ return x(e) & U.TRACE_EV_KW;
362
362
  }
363
363
  function q(e, t) {
364
364
  if (V > 1) return !0;
365
365
  if (!e) return !1;
366
- const n = K(e);
367
- return !!(n & P.TRACE_MACHINE || n & P.TRACE_TIMER_PERIODIC && "EV_TIMEOUT_PERIODIC" === t || n & P.TRACE_TIMER && "EV_TIMEOUT" === t);
366
+ const n = x(e);
367
+ return !!(n & U.TRACE_MACHINE || n & U.TRACE_TIMER_PERIODIC && "EV_TIMEOUT_PERIODIC" === t || n & U.TRACE_TIMER && "EV_TIMEOUT" === t);
368
368
  }
369
369
  function z(e, t) {
370
370
  if (V > 1) return !1;
371
371
  if (!e) return !0;
372
- const n = x(e);
373
- return !!(n & P.TRACE_MACHINE || n & P.TRACE_TIMER_PERIODIC && "EV_TIMEOUT_PERIODIC" === t || n & P.TRACE_TIMER && "EV_TIMEOUT" === t);
372
+ const n = K(e);
373
+ return !!(n & U.TRACE_MACHINE || n & U.TRACE_TIMER_PERIODIC && "EV_TIMEOUT_PERIODIC" === t || n & U.TRACE_TIMER && "EV_TIMEOUT" === t);
374
374
  }
375
375
  function Q(e, t) {
376
376
  const n = W(e, "gobj_set_global_trace");
@@ -393,25 +393,25 @@
393
393
  return M(G, null);
394
394
  }
395
395
  function re(e) {
396
- const t = Pn(e) ? Se(e) : e;
396
+ const t = Un(e) ? Se(e) : e;
397
397
  return t ? M(t.trace_level | F, t.s_user_trace_level) : (dn(`gobj_get_gclass_trace_level: gclass NOT FOUND: ${e}`), []);
398
398
  }
399
399
  function le(e) {
400
- const t = Pn(e) ? Se(e) : e;
400
+ const t = Un(e) ? Se(e) : e;
401
401
  return t ? M(t.trace_level, t.s_user_trace_level) : (dn(`gobj_get_gclass_trace_level2: gclass NOT FOUND: ${e}`), []);
402
402
  }
403
403
  function oe(e) {
404
- const t = Pn(e) ? Se(e) : e;
404
+ const t = Un(e) ? Se(e) : e;
405
405
  return t ? M(t.no_trace_level, t.s_user_trace_level) : (dn(`gobj_get_gclass_trace_no_level: gclass NOT FOUND: ${e}`), []);
406
406
  }
407
407
  function se(e, t, n) {
408
- const r = Pn(e) ? Se(e) : e;
408
+ const r = Un(e) ? Se(e) : e;
409
409
  if (!r) return dn(`gobj_set_gclass_trace: gclass NOT FOUND: ${e}`), -1;
410
410
  const l = null === t ? 4294967295 : W(t, "gobj_set_gclass_trace", r.s_user_trace_level || null);
411
411
  return l ? (n ? r.trace_level |= l : r.trace_level &= ~l, 0) : -1;
412
412
  }
413
413
  function ie(e, t, n) {
414
- const r = Pn(e) ? Se(e) : e;
414
+ const r = Un(e) ? Se(e) : e;
415
415
  if (!r) return dn(`gobj_set_gclass_no_trace: gclass NOT FOUND: ${e}`), -1;
416
416
  const l = null === t ? 4294967295 : W(t, "gobj_set_gclass_no_trace", r.s_user_trace_level || null);
417
417
  return l ? (n ? r.no_trace_level |= l : r.no_trace_level &= ~l, 0) : -1;
@@ -432,7 +432,7 @@
432
432
  r = String(l);
433
433
  break;
434
434
  case E.DTP_BOOLEAN:
435
- r = Kn(l);
435
+ r = xn(l);
436
436
  break;
437
437
  case E.DTP_INTEGER:
438
438
  r = parseInt(l), isNaN(r) && dn(`${et(e)}: attr NaN: ${n.name}`);
@@ -441,7 +441,7 @@
441
441
  r = Number(l), isNaN(r) && dn(`${et(e)}: attr NaN: ${n.name}`);
442
442
  break;
443
443
  case E.DTP_LIST:
444
- if (Pn(l)) try {
444
+ if (Un(l)) try {
445
445
  r = JSON.parse(l);
446
446
  } catch (e) {
447
447
  dn(`JSON parse error: ${e.message}`);
@@ -450,7 +450,7 @@
450
450
  Ln(r) || (r = []);
451
451
  break;
452
452
  case E.DTP_DICT:
453
- if (Pn(l)) try {
453
+ if (Un(l)) try {
454
454
  r = JSON.parse(l);
455
455
  } catch (e) {
456
456
  dn(`JSON parse error: ${e.message}`);
@@ -459,7 +459,7 @@
459
459
  Cn(r) || (r = {});
460
460
  break;
461
461
  case E.DTP_JSON:
462
- if (Pn(l)) try {
462
+ if (Un(l)) try {
463
463
  r = JSON.parse(l);
464
464
  } catch (e) {
465
465
  dn(`JSON parse error: ${e.message}`);
@@ -475,14 +475,14 @@
475
475
  switch (n.type) {
476
476
  case E.DTP_STRING:
477
477
  if (null == r) l = "";
478
- else if (Pn(r)) l = String(r);
478
+ else if (Un(r)) l = String(r);
479
479
  else {
480
480
  let e = JSON.stringify(r);
481
481
  e && (l = String(e));
482
482
  }
483
483
  break;
484
484
  case E.DTP_BOOLEAN:
485
- l = Kn(r);
485
+ l = xn(r);
486
486
  break;
487
487
  case E.DTP_INTEGER:
488
488
  l = parseInt(r), isNaN(l) && dn(`${et(e)}: attr NaN: ${n.name}`);
@@ -491,7 +491,7 @@
491
491
  l = Number(r), isNaN(l) && dn(`${et(e)}: attr NaN: ${n.name}`);
492
492
  break;
493
493
  case E.DTP_LIST:
494
- if (Pn(r)) try {
494
+ if (Un(r)) try {
495
495
  l = JSON.parse(r);
496
496
  } catch (e) {
497
497
  dn(`JSON parse error: ${e.message}`);
@@ -500,7 +500,7 @@
500
500
  if (!Ln(l)) return dn(`attr must be an array: ${n.name}`), -1;
501
501
  break;
502
502
  case E.DTP_DICT:
503
- if (Pn(r)) try {
503
+ if (Un(r)) try {
504
504
  l = JSON.parse(r);
505
505
  } catch (e) {
506
506
  dn(`JSON parse error: ${e.message}`);
@@ -509,7 +509,7 @@
509
509
  if (!Cn(l)) return dn(`attr must be an object: ${n.name}`), -1;
510
510
  break;
511
511
  case E.DTP_JSON:
512
- if (Pn(r)) try {
512
+ if (Un(r)) try {
513
513
  l = JSON.parse(r);
514
514
  } catch (e) {
515
515
  dn(`JSON parse error: ${e.message}`);
@@ -570,7 +570,7 @@
570
570
  }
571
571
  function be(e) {
572
572
  let t;
573
- if (Pn(e)) t = e;
573
+ if (Un(e)) t = e;
574
574
  else {
575
575
  if (!(e instanceof S)) return dn("Cannot unregister gclass, type unknown"), -1;
576
576
  t = e.gclass_name;
@@ -631,7 +631,7 @@
631
631
  }
632
632
  for (let n = 0; n < e.dl_events.length; n++) {
633
633
  let r = e.dl_events[n];
634
- if (!Wn(r.event_name) && (Un(r.event_flag) || (dn(`SMachine: event flag is NOT number: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1), !(r.event_flag & D.EVF_OUTPUT_EVENT))) {
634
+ if (!Wn(r.event_name) && (Pn(r.event_flag) || (dn(`SMachine: event flag is NOT number: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1), !(r.event_flag & D.EVF_OUTPUT_EVENT))) {
635
635
  let n = !1;
636
636
  for (let t = 0; t < e.dl_states.length; t++) {
637
637
  let l = e.dl_states[t];
@@ -692,7 +692,7 @@
692
692
  } else {
693
693
  if (!l) return dn("gobj NEEDS a parent!"), null;
694
694
  if (!("string" == typeof l || l instanceof O)) return dn(`BAD TYPE of parent: ${l}`), null;
695
- if (Pn(l) && !(l = Ne(l))) return bn(`parent service not found: ${l}`), null;
695
+ if (Un(l) && !(l = Ne(l))) return bn(`parent service not found: ${l}`), null;
696
696
  }
697
697
  if (o & w.gobj_flag_service && Ne(e, !1)) return dn(`service ALREADY registered: ${t}^${e}`), null;
698
698
  if (o & w.gobj_flag_default_service) {
@@ -702,7 +702,7 @@
702
702
  if (Wn(t)) return dn("gclass_name must be a string"), null;
703
703
  let s = Se(t, !1);
704
704
  if (!s) return dn(`GClass not registered: ${t}^${e}`), null;
705
- if (!Pn(e)) return dn(`gobj_name must be a string: ${t}`), null;
705
+ if (!Un(e)) return dn(`gobj_name must be a string: ${t}`), null;
706
706
  if (!Wn(e)) {
707
707
  if (e.includes("`")) return dn(`gobj_name cannot contain char ': ${t}^${e}`), null;
708
708
  if (e.includes("^")) return dn(`gobj_name cannot contain char ^: ${t}^${e}`), null;
@@ -718,7 +718,7 @@
718
718
  }
719
719
  function Le(e) {
720
720
  if (ot(e)) return void dn("gobj NULL or DESTROYED");
721
- e.__refs__ > 0 && dn(`${et(e)}: gobj DESTROYING with references: ${e.__refs__}`), e.playing && (dn(`Destroying a PLAYING gobj: ${tt(e)}`), Ke(e)), e.running && (dn(`Destroying a RUNNING gobj: ${tt(e)}`), Ge(e)), e.obflag |= R.obflag_destroying, function(e) {
721
+ e.__refs__ > 0 && dn(`${et(e)}: gobj DESTROYING with references: ${e.__refs__}`), e.playing && (dn(`Destroying a PLAYING gobj: ${tt(e)}`), xe(e)), e.running && (dn(`Destroying a RUNNING gobj: ${tt(e)}`), Ge(e)), e.obflag |= R.obflag_destroying, function(e) {
722
722
  if (0 === Lt.length) return;
723
723
  for (let t of Lt) t.src === e && (t.src = null);
724
724
  Lt = Lt.filter((t) => t.dst !== e);
@@ -737,7 +737,7 @@
737
737
  }
738
738
  }(e), e.obflag & R.obflag_created && e.gclass.gmt.mt_destroy && e.gclass.gmt.mt_destroy(e), t && L(n("💔💔⏪ destroyed: %s", tt(e))), e.obflag |= R.obflag_destroyed, e.obflag & R.obflag_created && e.gclass.instances--;
739
739
  }
740
- function Pe(e) {
740
+ function Ue(e) {
741
741
  if (ot(e)) return dn("gobj NULL or DESTROYED"), -1;
742
742
  if (e.running) return dn(`${et(e)}: GObj ALREADY RUNNING`), -1;
743
743
  if (e.disabled) return dn(`${et(e)}: GObj DISABLED`), -1;
@@ -745,21 +745,21 @@
745
745
  let t = 0;
746
746
  return e.gclass.gmt.mt_start && (t = e.gclass.gmt.mt_start(e)), t;
747
747
  }
748
- function Ue(e, t, n) {
749
- return e.gclass.gclass_flag & N.gcflag_manual_start || ot(e) || xe(e) || Ye(e) || Pe(e), 0;
748
+ function Pe(e, t, n) {
749
+ return e.gclass.gclass_flag & N.gcflag_manual_start || ot(e) || Ke(e) || Ye(e) || Ue(e), 0;
750
750
  }
751
751
  function Fe(e, t, n) {
752
- return e.gclass.gclass_flag & N.gcflag_manual_start || Ye(e) ? 1 : (xe(e) || Pe(e), 0);
752
+ return e.gclass.gclass_flag & N.gcflag_manual_start || Ye(e) ? 1 : (Ke(e) || Ue(e), 0);
753
753
  }
754
754
  function Ge(e) {
755
755
  if (ot(e)) return dn("gobj NULL or DESTROYED"), -1;
756
756
  if (!e.running) return dn(`${et(e)}: GObj NOT RUNNING`), -1;
757
- e.playing && (bn(`${et(e)}: GObj stopping without previous pause`), Ke(e)), J(e) && L(n("⏹ ⏹ stop: %s", tt(e))), e.running = !1;
757
+ e.playing && (bn(`${et(e)}: GObj stopping without previous pause`), xe(e)), J(e) && L(n("⏹ ⏹ stop: %s", tt(e))), e.running = !1;
758
758
  let t = 0;
759
759
  return e.gclass.gmt.mt_stop && (t = e.gclass.gmt.mt_stop(e)), t;
760
760
  }
761
761
  function Ve(e, t, n) {
762
- return xe(e) && Ge(e), 0;
762
+ return Ke(e) && Ge(e), 0;
763
763
  }
764
764
  function Me(e) {
765
765
  return ot(e) ? (dn("gobj NULL or DESTROYED"), -1) : at(e, A.WALK_FIRST2LAST, Ve, 0, 0);
@@ -768,18 +768,18 @@
768
768
  if (ot(e)) return dn(`gobj NULL or DESTROYED: ${et(e)}`), -1;
769
769
  if (e.playing) return dn(`${et(e)}: GObj ALREADY PLAYING`), -1;
770
770
  if (e.disabled) return dn(`${et(e)}: GObj DISABLED`), -1;
771
- if (!xe(e)) {
771
+ if (!Ke(e)) {
772
772
  if (e.gclass.gclass_flag & N.gcflag_required_start_to_play) return dn(`${et(e)}: Cannot play, start not done`), -1;
773
- bn(`${et(e)}: GObj playing without previous start`), Pe(e);
773
+ bn(`${et(e)}: GObj playing without previous start`), Ue(e);
774
774
  }
775
775
  J(e) && L(n("⏯ ⏯ play: %s", tt(e))), e.playing = !0;
776
776
  let t = 0;
777
777
  return e.gclass.gmt.mt_play && (t = e.gclass.gmt.mt_play(e), (t < 0 || !1 === t) && (e.playing = !1)), t;
778
778
  }
779
- function Ke(e) {
779
+ function xe(e) {
780
780
  return ot(e) ? (dn("gobj NULL or DESTROYED"), -1) : e.playing ? (J(e) && L(n("⏸ ⏸ pause: %s", tt(e))), e.playing = !1, e.gclass.gmt.mt_pause ? e.gclass.gmt.mt_pause(e) : 0) : (dn(`${et(e)}: GObj NOT PLAYING`), -1);
781
781
  }
782
- function xe(e) {
782
+ function Ke(e) {
783
783
  return !ot(e) && e.running;
784
784
  }
785
785
  function Ye(e) {
@@ -956,7 +956,7 @@
956
956
  function yt(e, t) {
957
957
  if (t) {
958
958
  if (0 === Yn(t, "__disabled__")) return Ye(e);
959
- if (0 === Yn(t, "__running__")) return xe(e);
959
+ if (0 === Yn(t, "__running__")) return Ke(e);
960
960
  if (0 === Yn(t, "__playing__")) return Je(e);
961
961
  if (0 === Yn(t, "__service__")) return Be(e);
962
962
  }
@@ -978,7 +978,7 @@
978
978
  return n ? !e.gclass.gmt.mt_reading || e.obflag & R.obflag_destroyed ? Sn(n, t) : e.gclass.gmt.mt_reading(e, t) : (dn(`${et(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
979
979
  }
980
980
  function Ot(e, t, r, l) {
981
- if (!Pn(t)) return dn(n("gobj_write_attr(%s): path must be a string", et(e))), -1;
981
+ if (!Un(t)) return dn(n("gobj_write_attr(%s): path must be a string", et(e))), -1;
982
982
  let o, s = e.jn_attrs, i = t.split("`");
983
983
  if (i.length <= 1) {
984
984
  let l = t;
@@ -1008,7 +1008,7 @@
1008
1008
  }
1009
1009
  function wt(e, t, n) {
1010
1010
  let r = fe(e, t, !1);
1011
- return r ? (r[t] = Kn(n), Cn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (dn(`${et(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
1011
+ return r ? (r[t] = xn(n), Cn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (dn(`${et(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
1012
1012
  }
1013
1013
  function Rt(e, t, n) {
1014
1014
  let r = fe(e, t, !1);
@@ -1025,7 +1025,7 @@
1025
1025
  if (!r) return dn(`${et(e)}: state unknown, state ${t}`), !1;
1026
1026
  e.last_state = e.current_state, e.current_state = r;
1027
1027
  let l = q(e, "EV_STATE_CHANGED"), o = !!function(e) {
1028
- return K(e) & P.TRACE_STATES;
1028
+ return x(e) & U.TRACE_STATES;
1029
1029
  }(e);
1030
1030
  return (l || o) && (1 === C || L(n("🔀🔀 mach(%s%s^%s), new st(%s), prev st(%s)", e.running ? "" : "!!", Ze(e), Xe(e), $t(e), e.last_state.state_name))), !0;
1031
1031
  }
@@ -1053,14 +1053,14 @@
1053
1053
  let r = kt(e, t, !1);
1054
1054
  return !!r && !(n && !(r.event_flag & n)) && !!(r.event_flag & D.EVF_OUTPUT_EVENT);
1055
1055
  }
1056
- var Lt = [], Pt = !1;
1057
- function Ut() {
1058
- Pt = !1;
1056
+ var Lt = [], Ut = !1;
1057
+ function Pt() {
1058
+ Ut = !1;
1059
1059
  let e = Lt;
1060
1060
  Lt = [];
1061
1061
  let t = 0;
1062
1062
  for (let n of e) n.dst.obflag & (R.obflag_destroyed | R.obflag_destroying) || (Ft(n.dst, n.event, n.kw, n.src), t++);
1063
- return Lt.length > 0 && !Pt && (Pt = !0, setTimeout(Ut, 0)), t;
1063
+ return Lt.length > 0 && !Ut && (Ut = !0, setTimeout(Pt, 0)), t;
1064
1064
  }
1065
1065
  function Ft(e, t, r, l) {
1066
1066
  if (!(e && e instanceof O)) return dn("gobj dst NULL"), -1;
@@ -1084,7 +1084,7 @@
1084
1084
  try {
1085
1085
  i.action && (_ = i.action(e, t, r, l));
1086
1086
  } finally {}
1087
- return !s || 1 === C || e.obflag & R.obflag_destroyed || L(n("<- mach(%s%s^%s), st: %s, ev: %s, ret: %d", e.running ? "" : "!!", Ze(e), Xe(e), e.current_state.state_name, t || "", Un(_) ? _ : 0)), h--, _;
1087
+ return !s || 1 === C || e.obflag & R.obflag_destroyed || L(n("<- mach(%s%s^%s), st: %s, ev: %s, ret: %d", e.running ? "" : "!!", Ze(e), Xe(e), e.current_state.state_name, t || "", Pn(_) ? _ : 0)), h--, _;
1088
1088
  }
1089
1089
  var Gt = Object.freeze({
1090
1090
  __hard_subscription__: 1,
@@ -1130,16 +1130,16 @@
1130
1130
  }
1131
1131
  return o;
1132
1132
  }
1133
- function Kt(e, t, n, r, l) {
1133
+ function xt(e, t, n, r, l) {
1134
1134
  for (let o = 0; o < e.length; o++) if (Mt(e[o], t, n, r, l)) return o;
1135
1135
  return -1;
1136
1136
  }
1137
- function xt(e, t, r, l) {
1137
+ function Kt(e, t, r, l) {
1138
1138
  let o = er(e, t, "publisher", null, zt.KW_REQUIRED), s = er(e, t, "subscriber", null, zt.KW_REQUIRED), i = Zn(e, t, "event", "", zt.KW_REQUIRED);
1139
1139
  if (!!(Xn(e, t, "subs_flag", null, zt.KW_REQUIRED) & Gt.__hard_subscription__) && !r) return -1;
1140
1140
  (B(s) || B(o)) && (L(n("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", i || "", et(o), et(s))), hn(t)), o.obflag & R.obflag_destroyed || l || o.gclass.gmt.mt_subscription_deleted && o.gclass.gmt.mt_subscription_deleted(o, t);
1141
- let _ = Kt(o.dl_subscriptions, o, i, t, s);
1142
- return _ >= 0 ? An(o.dl_subscriptions, _) : (dn(`${et(e)}: subscription in publisher not found`), hn(t)), _ = Kt(s.dl_subscribings, o, i, t, s), _ >= 0 ? An(s.dl_subscribings, _) : (dn(`${et(e)}: subscription in subscriber not found`), hn(t)), 0;
1141
+ let _ = xt(o.dl_subscriptions, o, i, t, s);
1142
+ return _ >= 0 ? An(o.dl_subscriptions, _) : (dn(`${et(e)}: subscription in publisher not found`), hn(t)), _ = xt(s.dl_subscribings, o, i, t, s), _ >= 0 ? An(s.dl_subscribings, _) : (dn(`${et(e)}: subscription in subscriber not found`), hn(t)), 0;
1143
1143
  }
1144
1144
  function Yt(e, t, r, l) {
1145
1145
  if (null == r && (r = {}), !e) return dn(`publisher NULL: ev ${t}`), 0;
@@ -1181,13 +1181,13 @@
1181
1181
  if (!i) return dn(`${et(e)}: _create_subscription() FAILED`), 0;
1182
1182
  if (Rn(e.dl_subscriptions, i), Rn(l.dl_subscribings, i), (B(l) || B(e)) && (L(n("💜💜👍 subscribing event '%s', publisher '%s', subscriber %s", t || "", et(e), et(l))), r && (H(l) || H(e)) && hn(r)), e.gclass.gmt.mt_subscription_added) {
1183
1183
  let t = e.gclass.gmt.mt_subscription_added(e, i);
1184
- (t < 0 || !1 === t) && (xt(e, i, !0, !0), i = 0);
1184
+ (t < 0 || !1 === t) && (Kt(e, i, !0, !0), i = 0);
1185
1185
  }
1186
1186
  return i;
1187
1187
  }
1188
1188
  function Bt(e, t, n) {
1189
1189
  let r = [...t];
1190
- for (let t = 0; t < r.length; t++) xt(e, r[t], n, !1);
1190
+ for (let t = 0; t < r.length; t++) Kt(e, r[t], n, !1);
1191
1191
  return 0;
1192
1192
  }
1193
1193
  function Jt(e, t, n, r) {
@@ -1404,7 +1404,7 @@
1404
1404
  return Ln(e) ? e.length : 0;
1405
1405
  }
1406
1406
  function In(e) {
1407
- return Cn(e) ? Object.keys(e).length : Ln(e) ? e.length : Pn(e) && e.length > 0 ? 1 : 0;
1407
+ return Cn(e) ? Object.keys(e).length : Ln(e) ? e.length : Un(e) && e.length > 0 ? 1 : 0;
1408
1408
  }
1409
1409
  function Cn(e) {
1410
1410
  return null !== e && "object" == typeof e && !Array.isArray(e);
@@ -1412,10 +1412,10 @@
1412
1412
  function Ln(e) {
1413
1413
  return Array.isArray(e);
1414
1414
  }
1415
- function Pn(e) {
1415
+ function Un(e) {
1416
1416
  return "string" == typeof e;
1417
1417
  }
1418
- function Un(e) {
1418
+ function Pn(e) {
1419
1419
  return "number" == typeof e && Number.isFinite(e);
1420
1420
  }
1421
1421
  function Fn(e) {
@@ -1431,12 +1431,12 @@
1431
1431
  return e instanceof O;
1432
1432
  }
1433
1433
  function Wn(e) {
1434
- return !Pn(e) || 0 === e.length;
1434
+ return !Un(e) || 0 === e.length;
1435
1435
  }
1436
- function Kn(e) {
1437
- return Un(e) ? Boolean(e) : /^\s*(true|1|on)\s*$/i.test(e);
1436
+ function xn(e) {
1437
+ return Pn(e) ? Boolean(e) : /^\s*(true|1|on)\s*$/i.test(e);
1438
1438
  }
1439
- function xn(e, t) {
1439
+ function Kn(e, t) {
1440
1440
  return e === t ? 0 : e > t ? 1 : -1;
1441
1441
  }
1442
1442
  function Yn(e, t) {
@@ -1445,7 +1445,7 @@
1445
1445
  }
1446
1446
  function Bn(e, t) {
1447
1447
  if (Cn(e) || Cn(t) || Ln(e) || Ln(t)) return 0;
1448
- if (Un(e) || Un(t)) {
1448
+ if (Pn(e) || Pn(t)) {
1449
1449
  let n = Number(e), r = Number(t);
1450
1450
  return n > r ? 1 : n < r ? -1 : 0;
1451
1451
  }
@@ -1453,7 +1453,7 @@
1453
1453
  let n = Number(e), r = Number(t);
1454
1454
  return n > r ? 1 : n < r ? -1 : 0;
1455
1455
  }
1456
- return xn(String(e), String(t));
1456
+ return Kn(String(e), String(t));
1457
1457
  }
1458
1458
  function Jn(e, t) {
1459
1459
  if ("object" != typeof t || Array.isArray(t)) if (Array.isArray(t)) for (const n of t) Jn(e, n);
@@ -1465,7 +1465,7 @@
1465
1465
  }
1466
1466
  function qn(e, t, n, r) {
1467
1467
  if (e && !Mn(e) && dn("GObj bad instanceof"), !Cn(t) && !Ln(t)) return dn(`${et(e)}: kw must be list or dict`), 0;
1468
- if (!Pn(n)) return dn(`${et(e)}: path must be a string: ${String(n)}`), 0;
1468
+ if (!Un(n)) return dn(`${et(e)}: path must be a string: ${String(n)}`), 0;
1469
1469
  let l = n.split("`");
1470
1470
  if (l.length <= 1) return t[n];
1471
1471
  let o = l.length;
@@ -1493,8 +1493,8 @@
1493
1493
  }
1494
1494
  let u;
1495
1495
  if (Fn(o)) u = o;
1496
- else if (a && Un(o)) u = 0 !== o;
1497
- else if (a && Pn(o)) u = "true" === o.toLowerCase() || "false" !== o.toLowerCase() && 0 !== (parseInt(o) || 0);
1496
+ else if (a && Pn(o)) u = 0 !== o;
1497
+ else if (a && Un(o)) u = "true" === o.toLowerCase() || "false" !== o.toLowerCase() && 0 !== (parseInt(o) || 0);
1498
1498
  else {
1499
1499
  if (!a || null !== o) return a ? (dn(`${e ? et(e) + ": " : ""}path MUST BE a simple json element: '${n}'`), hn(t), !1) : (dn(`${e ? et(e) + ": " : ""}path MUST BE a json boolean: '${n}'`), hn(t), Boolean(r));
1500
1500
  u = !1;
@@ -1504,7 +1504,7 @@
1504
1504
  function Xn(e, t, n, r, l) {
1505
1505
  e && !Mn(e) && dn("GObj bad instanceof");
1506
1506
  let o = qn(e, t, n, !1);
1507
- const s = l && l & zt.KW_REQUIRED, i = l && l & zt.KW_CREATE, _ = l && l & zt.KW_EXTRACT;
1507
+ const s = l && l & zt.KW_REQUIRED, i = l && l & zt.KW_CREATE, _ = l && l & zt.KW_EXTRACT, a = l && l & zt.KW_WILD_NUMBER;
1508
1508
  if (void 0 === o) {
1509
1509
  if (i) {
1510
1510
  let l = parseInt(r);
@@ -1512,13 +1512,29 @@
1512
1512
  }
1513
1513
  return s && (dn(`path not found: '${n}'`), hn(t)), parseInt(r);
1514
1514
  }
1515
- return _ && zn(e, t, n), Un(o) ? parseInt(o) : (s && (dn(`path value MUST BE a number: ${n}`), mn(t)), parseInt(r));
1515
+ let u;
1516
+ if (Pn(o)) u = Math.trunc(o);
1517
+ else {
1518
+ if (!a) return dn(`${e ? et(e) + ": " : ""}path MUST BE a json integer: '${n}'`), hn(t), parseInt(r);
1519
+ if (Fn(o)) u = o ? 1 : 0;
1520
+ else if (Un(o)) u = function(e) {
1521
+ const t = /^\s*([+-]?)(0[xX][0-9a-fA-F]+|0[0-7]*|[1-9][0-9]*)/.exec(e);
1522
+ if (!t) return 0;
1523
+ let n, r = t[2];
1524
+ return n = r.length > 1 && ("x" === r[1] || "X" === r[1]) ? parseInt(r.substring(2), 16) : "0" === r[0] ? parseInt(r, 8) : parseInt(r, 10), "-" === t[1] ? -n : n;
1525
+ }(o);
1526
+ else {
1527
+ if (null !== o) return dn(`${e ? et(e) + ": " : ""}path MUST BE a simple json element: '${n}'`), hn(t), 0;
1528
+ u = 0;
1529
+ }
1530
+ }
1531
+ return _ && zn(e, t, n), u;
1516
1532
  }
1517
1533
  function Zn(e, t, n, r, l) {
1518
1534
  e && !Mn(e) && dn("GObj bad instanceof");
1519
1535
  let o = qn(e, t, n, !1);
1520
1536
  const s = l && l & zt.KW_REQUIRED, i = l && l & zt.KW_CREATE, _ = l && l & zt.KW_EXTRACT;
1521
- return void 0 === o ? i ? (rr(e, t, n, Pn(r) ? r : null), r) : (s && (dn(`path not found: '${n}'`), hn(t)), r) : (_ && zn(e, t, n), Pn(o) ? o : (s && (dn(`${et(e)}: path value MUST BE a string: ${n}`), mn(t)), r));
1537
+ return void 0 === o ? i ? (rr(e, t, n, Un(r) ? r : null), r) : (s && (dn(`path not found: '${n}'`), hn(t)), r) : Un(o) ? (_ && zn(e, t, n), o) : (s && (dn(`${et(e)}: path value MUST BE a string: ${n}`), mn(t)), r);
1522
1538
  }
1523
1539
  function er(e, t, n, r, l) {
1524
1540
  e && !Mn(e) && dn("GObj bad instanceof");
@@ -1604,7 +1620,7 @@
1604
1620
  function ir(e, t, n, r) {
1605
1621
  e && !Mn(e) && dn("GObj bad instanceof");
1606
1622
  let l = {};
1607
- if (Pn(n) && !Wn(n)) {
1623
+ if (Un(n) && !Wn(n)) {
1608
1624
  let o = n;
1609
1625
  t.hasOwnProperty(o) ? l[o] = t[o] : r && dn(`${et(e)}: key not found: ${o}`);
1610
1626
  } else if (Cn(n) && $n(n) > 0) for (let o of Object.keys(n)) t.hasOwnProperty(o) ? l[o] = t[o] : r && dn(`${et(e)}: key not found: ${o}`);
@@ -1619,7 +1635,7 @@
1619
1635
  }
1620
1636
  function _r(e, t, n, r) {
1621
1637
  let l = {};
1622
- if (yn(l, t), Pn(n) && !Wn(n)) {
1638
+ if (yn(l, t), Un(n) && !Wn(n)) {
1623
1639
  let o = n;
1624
1640
  nr(e, t, o, 0, 0) ? On(l, o) : r && dn(`${et(e)}: key not found: ${o}`);
1625
1641
  } else if (Cn(n) && $n(n) > 0) for (let o of Object.keys(n)) t.hasOwnProperty(o) ? On(l, o) : r && dn(`${et(e)}: key not found: ${o}`);
@@ -1665,7 +1681,7 @@
1665
1681
  } else if (Cn(e)) {
1666
1682
  if (0 === Object.keys(e).length) return !0;
1667
1683
  for (let n in e) if (n === t) return !0;
1668
- } else if (Pn(e) && e === t) return !0;
1684
+ } else if (Un(e) && e === t) return !0;
1669
1685
  return !1;
1670
1686
  }
1671
1687
  function gr(e, t, n, r, l) {
@@ -1676,7 +1692,7 @@
1676
1692
  let i, _ = t[s];
1677
1693
  if (Cn(_)) i = Zn(e, _, "id", "", 0);
1678
1694
  else {
1679
- if (!Pn(_)) continue;
1695
+ if (!Un(_)) continue;
1680
1696
  i = _;
1681
1697
  }
1682
1698
  fr(n, i) && l(_, r) && o.push(_);
@@ -1743,7 +1759,7 @@
1743
1759
  return Zn(e, t, "__md_iev__`__msg_type__", "", 0);
1744
1760
  }
1745
1761
  function vr(e, t, n) {
1746
- void 0 !== n && Pn(n) || (n = "");
1762
+ void 0 !== n && Un(n) || (n = "");
1747
1763
  for (let r of Object.keys(e)) {
1748
1764
  if (!e.hasOwnProperty(r)) continue;
1749
1765
  let l = (n.length ? "`" : "") + r;
@@ -1855,11 +1871,11 @@
1855
1871
  function Lr(e, t) {
1856
1872
  return e === t || null !== e && null !== t && "object" == typeof e && "object" == typeof t && JSON.stringify(e) === JSON.stringify(t);
1857
1873
  }
1858
- function Pr(e) {
1874
+ function Ur(e) {
1859
1875
  return "persistent-attrs-" + et(e);
1860
1876
  }
1861
- function Ur(e, t) {
1862
- if (Pn(t)) {
1877
+ function Pr(e, t) {
1878
+ if (Un(t)) {
1863
1879
  if (-1 === t.indexOf("^")) {
1864
1880
  let n, r, l = e.fkey;
1865
1881
  if (1 !== $n(l)) return dn("bad fkey 1"), dn(e), dn(t), null;
@@ -1990,16 +2006,16 @@
1990
2006
  j(E.DTP_BOOLEAN, "periodic", 0, 0, "True for periodic timeouts"),
1991
2007
  j(E.DTP_INTEGER, "msec", 0, 0, "Timeout in milliseconds"),
1992
2008
  v()
1993
- ], Kr = {
2009
+ ], xr = {
1994
2010
  periodic: !1,
1995
2011
  msec: 0,
1996
2012
  timer_id: -1
1997
- }, xr = null;
2013
+ }, Kr = null;
1998
2014
  function Yr(e, t, n, r) {
1999
2015
  let l = e.priv, o = l.periodic ? "EV_TIMEOUT_PERIODIC" : "EV_TIMEOUT";
2000
2016
  return l.periodic && l.msec > 0 ? l.timer_id = setTimeout(function() {
2001
2017
  Ft(e, "EV_TIMEOUT", {}, e);
2002
- }, l.msec) : l.timer_id = -1, lt(e) ? Ft(nt(e), o, {}, e) : qt(e, o, {}), l.periodic || -1 !== l.timer_id || xe(e) && Ge(e), 0;
2018
+ }, l.msec) : l.timer_id = -1, lt(e) ? Ft(nt(e), o, {}, e) : qt(e, o, {}), l.periodic || -1 !== l.timer_id || Ke(e) && Ge(e), 0;
2003
2019
  }
2004
2020
  var Br = {
2005
2021
  mt_create: function(e) {
@@ -2015,7 +2031,7 @@
2015
2031
  break;
2016
2032
  case "msec": n.msec = vt(e, "msec"), -1 !== n.timer_id && (clearTimeout(n.timer_id), n.timer_id = -1), n.msec > 0 && (n.timer_id = setTimeout(function() {
2017
2033
  Ft(e, "EV_TIMEOUT", {}, e);
2018
- }, n.msec)), n.msec > 0 ? xe(e) || Pe(e) : xe(e) && Ge(e);
2034
+ }, n.msec)), n.msec > 0 ? Ke(e) || Ue(e) : Ke(e) && Ge(e);
2019
2035
  }
2020
2036
  },
2021
2037
  mt_start: function(e) {
@@ -2116,10 +2132,10 @@
2116
2132
  mt_destroy: function(e) {},
2117
2133
  mt_play: function(e) {
2118
2134
  let t = Oe();
2119
- return xe(t) || Pe(t), Je(t) || We(t), 0;
2135
+ return Ke(t) || Ue(t), Je(t) || We(t), 0;
2120
2136
  },
2121
2137
  mt_pause: function(e) {
2122
- return Ke(Oe()), 0;
2138
+ return xe(Oe()), 0;
2123
2139
  },
2124
2140
  mt_command_parser: function(e, t, n, r) {
2125
2141
  switch (n = n || {}, t) {
@@ -2167,7 +2183,7 @@
2167
2183
  ["identity-card", "Trace identity_card messages"]
2168
2184
  ];
2169
2185
  function il(e) {
2170
- return !!(3 & K(e));
2186
+ return !!(3 & x(e));
2171
2187
  }
2172
2188
  var _l = {
2173
2189
  url: null,
@@ -2290,7 +2306,7 @@
2290
2306
  }
2291
2307
  function hl(e, t, n, r) {
2292
2308
  let l = e.priv;
2293
- return xe(e) && (l.websocket = ul(e)), 0;
2309
+ return Ke(e) && (l.websocket = ul(e)), 0;
2294
2310
  }
2295
2311
  function El(e, t, n, r) {
2296
2312
  return pn("Websocket opened: " + e.priv.url), pl(e), 0;
@@ -2310,7 +2326,7 @@
2310
2326
  code: o.code,
2311
2327
  reason: o.reason,
2312
2328
  was_clean: o.wasClean
2313
- })), xe(e) && Jr(l.gobj_timer, function(e) {
2329
+ })), Ke(e) && Jr(l.gobj_timer, function(e) {
2314
2330
  let t = e.priv, n = vt(e, "timeout_retry"), r = vt(e, "timeout_retry_max");
2315
2331
  r < n && (r = n);
2316
2332
  t.retry_ms = t.retry_ms ? Math.min(2 * t.retry_ms, r) : n;
@@ -2498,11 +2514,11 @@
2498
2514
  for (const n of Object.keys(l[e])) t += `${n}: ${l[e][n]};`;
2499
2515
  i.style.cssText = t;
2500
2516
  } 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]);
2501
- if (Pn(o)) if (o = o.trim(), o.length > 0 && "<" === o[0]) i.appendChild(Nr(o));
2517
+ if (Un(o)) if (o = o.trim(), o.length > 0 && "<" === o[0]) i.appendChild(Nr(o));
2502
2518
  else if (n && _) i.textContent = n(_) || o;
2503
2519
  else i.textContent = o;
2504
2520
  else if (Ln(o)) {
2505
- if (o.length > 0) if (Pn(o[0])) i.appendChild(e(o, n));
2521
+ if (o.length > 0) if (Un(o[0])) i.appendChild(e(o, n));
2506
2522
  else for (let t of o) Array.isArray(t) && t.length > 0 ? i.appendChild(e(t, n)) : t instanceof HTMLElement && i.appendChild(t);
2507
2523
  } else o instanceof HTMLElement || o instanceof Text || o instanceof SVGElement ? i.appendChild(o) : null != o && (dn("content ignored"), hn(o));
2508
2524
  if (s && "object" == typeof s) for (const e of Object.keys(s)) i.addEventListener(e, s[e]);
@@ -2519,20 +2535,20 @@
2519
2535
  n[e] = o;
2520
2536
  }), n;
2521
2537
  }, e.current_timestamp = wr, e.data_type_t = E, e.db_list_persistent_attrs = function(e, t) {
2522
- let n = ar(Pr(e), null, !1), r = {};
2538
+ let n = ar(Ur(e), null, !1), r = {};
2523
2539
  return n && Cn(n) && (r = ir(e, n, t, !1)), r;
2524
2540
  }, e.db_load_persistent_attrs = function(e, t) {
2525
- let n = Tt(e, T.SDF_PERSIST), r = ar(Pr(e), null, !1);
2541
+ let n = Tt(e, T.SDF_PERSIST), r = ar(Ur(e), null, !1);
2526
2542
  if (r && Cn(r)) {
2527
2543
  let l = ir(e, r, t, !1);
2528
2544
  l = ir(e, l, n, !1), Nt(e, l, T.SDF_PERSIST);
2529
2545
  }
2530
2546
  }, e.db_remove_persistent_attrs = function(e, t) {
2531
- let n = _r(e, ar(Pr(e), null, !1), t, !1);
2532
- 0 === $n(n) ? cr(Pr(e)) : ur(Pr(e), n);
2547
+ let n = _r(e, ar(Ur(e), null, !1), t, !1);
2548
+ 0 === $n(n) ? cr(Ur(e)) : ur(Ur(e), n);
2533
2549
  }, e.db_save_persistent_attrs = function(e, t) {
2534
- let n = ir(e, Tt(e, T.SDF_PERSIST), t, !1), r = ar(Pr(e), null, !1);
2535
- return r && Cn(r) && jn(n, r), ur(Pr(e), n);
2550
+ let n = ir(e, Tt(e, T.SDF_PERSIST), t, !1), r = ar(Ur(e), null, !1);
2551
+ return r && Cn(r) && jn(n, r), ur(Ur(e), n);
2536
2552
  }, e.debounce = function(e, t = 0, n = !1) {
2537
2553
  let r = null, l = null, o = null;
2538
2554
  const s = (...s) => {
@@ -2645,8 +2661,8 @@
2645
2661
  return ot(e) ? (dn("gobj NULL or DESTROYED"), null) : t instanceof O ? (e.parent && e.parent.mt_child_removed && e.parent.mt_child_removed(e.parent, e), e.parent && (De(e.parent, e), e.parent = null), Re(t, e), t.mt_child_added && (Y(e) && pn(n("👦👦🔵 child_added(%s): %s", tt(t), et(e))), t.mt_child_added(t, e)), 0) : (dn(`${et(e)}: gobj_change_parent() BAD TYPE of parent`), -1);
2646
2662
  }, e.gobj_change_state = At, e.gobj_command = function(e, t, r, o) {
2647
2663
  return ot(e) ? (dn("gobj NULL or DESTROYED"), -1) : ((function(e) {
2648
- return V > 1 || !!e && !!(K(e) & P.TRACE_COMMANDS);
2649
- }(e) || q(e, null) && !z(o, null)) && (L(n("🌀🌀 mach(%s%s), cmd: %s, src: %s", xe(e) ? "" : "!!", et(e), t, et(o))), H(e) && hn(r)), e.gclass.gmt.mt_command_parser ? e.gclass.gmt.mt_command_parser(e, t, r, o) : e.gclass.command_table ? c ? c(e, t, r, o) : l(0, -1, n("%s: global command parser not available", et(e)), 0, 0) : l(0, -1, n("%s: command table not available", et(e)), 0, 0));
2664
+ return V > 1 || !!e && !!(x(e) & U.TRACE_COMMANDS);
2665
+ }(e) || q(e, null) && !z(o, null)) && (L(n("🌀🌀 mach(%s%s), cmd: %s, src: %s", Ke(e) ? "" : "!!", et(e), t, et(o))), H(e) && hn(r)), e.gclass.gmt.mt_command_parser ? e.gclass.gmt.mt_command_parser(e, t, r, o) : e.gclass.command_table ? c ? c(e, t, r, o) : l(0, -1, n("%s: global command parser not available", et(e)), 0, 0) : l(0, -1, n("%s: command table not available", et(e)), 0, 0));
2650
2666
  }, e.gobj_create = function(e, t, n, r) {
2651
2667
  return Ie(e, t, n, r, 0);
2652
2668
  }, e.gobj_create2 = Ie, e.gobj_create_default_service = function(e, t, n, r) {
@@ -2657,7 +2673,7 @@
2657
2673
  return Ie(e, t, n, r, w.gobj_flag_volatil);
2658
2674
  }, e.gobj_create_yuno = function(e, t, n) {
2659
2675
  return Ie(e, t, n, null, w.gobj_flag_yuno);
2660
- }, e.gobj_current_state = $t, e.gobj_default_service = Oe, e.gobj_deliver_posted_events = Ut, e.gobj_destroy = Le, e.gobj_find_child = pt, e.gobj_find_gobj = function(e, t) {
2676
+ }, e.gobj_current_state = $t, e.gobj_default_service = Oe, e.gobj_deliver_posted_events = Pt, e.gobj_destroy = Le, e.gobj_find_child = pt, e.gobj_find_gobj = function(e, t) {
2661
2677
  if (Wn(t)) return null;
2662
2678
  const n = t.toLowerCase();
2663
2679
  return "__default_service__" === n ? m : "__yuno__" === n || "__root__" === n ? p : mt(p, t);
@@ -2665,7 +2681,7 @@
2665
2681
  return F;
2666
2682
  }, e.gobj_global_trace_no_level = function() {
2667
2683
  return G;
2668
- }, e.gobj_has_attr = ht, e.gobj_has_event = It, e.gobj_has_output_event = Ct, e.gobj_hsdata = ce, e.gobj_is_destroying = ot, e.gobj_is_playing = Je, e.gobj_is_pure_child = lt, e.gobj_is_running = xe, e.gobj_is_service = Be, e.gobj_is_volatil = rt, e.gobj_list_persistent_attrs = function(e, t) {
2684
+ }, e.gobj_has_attr = ht, e.gobj_has_event = It, e.gobj_has_output_event = Ct, e.gobj_hsdata = ce, e.gobj_is_destroying = ot, e.gobj_is_playing = Je, e.gobj_is_pure_child = lt, e.gobj_is_running = Ke, e.gobj_is_service = Be, e.gobj_is_volatil = rt, e.gobj_list_persistent_attrs = function(e, t) {
2669
2685
  return u ? u(e, t) : null;
2670
2686
  }, e.gobj_list_subscriptions = function(e) {
2671
2687
  let t = Jt(e, null, null, null);
@@ -2706,19 +2722,19 @@
2706
2722
  bt(o, t) && n.push(o), e(n, o);
2707
2723
  }
2708
2724
  }(n, e), n;
2709
- }, e.gobj_match_gobj = bt, e.gobj_name = Xe, e.gobj_parent = nt, e.gobj_pause = Ke, e.gobj_play = We, e.gobj_post_event = function(e, t, r, l) {
2725
+ }, e.gobj_match_gobj = bt, e.gobj_name = Xe, e.gobj_parent = nt, e.gobj_pause = xe, e.gobj_play = We, e.gobj_post_event = function(e, t, r, l) {
2710
2726
  return e && e instanceof O ? e.obflag & (R.obflag_destroyed | R.obflag_destroying) ? (dn(`gobj_post_event(): gobj dst DESTROYING, event ${t}`), -1) : Wn(t) ? (dn("gobj_post_event(): event EMPTY"), -1) : It(e, t, 0) ? Lt.length >= 1e4 ? (dn(`gobj_post_event(): too many posted events, this is NOT a work queue, event ${t}, pending ${Lt.length}`), -1) : (Lt.push({
2711
2727
  dst: e,
2712
2728
  event: t,
2713
2729
  kw: r,
2714
2730
  src: l
2715
- }), q(e, t) && !z(l, t) && L(n("📬 posted(%s%s), ev: %s, pending: %d", e.running ? "" : "!!", et(e), t, Lt.length)), Pt || (Pt = !0, setTimeout(Ut, 0)), 0) : (dn(`gobj_post_event(): event NOT DEFINED in gclass ${Ze(e)}, event ${t}`), -1) : (dn(`gobj_post_event(): gobj dst NULL, event ${t}`), -1);
2731
+ }), q(e, t) && !z(l, t) && L(n("📬 posted(%s%s), ev: %s, pending: %d", e.running ? "" : "!!", et(e), t, Lt.length)), Ut || (Ut = !0, setTimeout(Pt, 0)), 0) : (dn(`gobj_post_event(): event NOT DEFINED in gclass ${Ze(e)}, event ${t}`), -1) : (dn(`gobj_post_event(): gobj dst NULL, event ${t}`), -1);
2716
2732
  }, e.gobj_posted_events_size = function() {
2717
2733
  return Lt.length;
2718
2734
  }, e.gobj_publish_event = qt, e.gobj_read_attr = Et, e.gobj_read_attrs = Tt, e.gobj_read_bool_attr = yt, e.gobj_read_integer_attr = vt, e.gobj_read_pointer_attr = St, e.gobj_read_str_attr = jt, e.gobj_remove_persistent_attrs = function(e, t) {
2719
2735
  return Be(e) ? a ? a(e, t) : -1 : (dn(`${et(e)}: Only gobj services can load/save writable-persistent`), -1);
2720
2736
  }, e.gobj_repr_global_trace_levels = function() {
2721
- return U.map(([e, t, n]) => ({
2737
+ return P.map(([e, t, n]) => ({
2722
2738
  name: e,
2723
2739
  bit: t,
2724
2740
  description: n,
@@ -2753,10 +2769,10 @@
2753
2769
  return r ? (n ? e.trace_level |= r : e.trace_level &= ~r, 0) : -1;
2754
2770
  }, e.gobj_set_trace_machine_format = function(e) {
2755
2771
  C = 1 === Number(e) ? 1 : 0;
2756
- }, e.gobj_short_name = et, e.gobj_start = Pe, e.gobj_start_children = function(e) {
2757
- return ot(e) ? (dn("gobj NULL or DESTROYED"), -1) : at(e, A.WALK_FIRST2LAST, Ue, 0, 0);
2772
+ }, e.gobj_short_name = et, e.gobj_start = Ue, e.gobj_start_children = function(e) {
2773
+ return ot(e) ? (dn("gobj NULL or DESTROYED"), -1) : at(e, A.WALK_FIRST2LAST, Pe, 0, 0);
2758
2774
  }, e.gobj_start_tree = function(e) {
2759
- return ot(e) ? (dn("gobj NULL or DESTROYED"), -1) : (J(e) && L(n("⏺ ⏺ ⏺ ⏺ start_tree: %s", tt(e))), e.gclass.gclass_flag & N.gcflag_manual_start || e.disabled ? 0 : (e.running || Pe(e), ut(e, A.WALK_TOP2BOTTOM, Fe, 0, 0)));
2775
+ return ot(e) ? (dn("gobj NULL or DESTROYED"), -1) : (J(e) && L(n("⏺ ⏺ ⏺ ⏺ start_tree: %s", tt(e))), e.gclass.gclass_flag & N.gcflag_manual_start || e.disabled ? 0 : (e.running || Ue(e), ut(e, A.WALK_TOP2BOTTOM, Fe, 0, 0)));
2760
2776
  }, e.gobj_start_up = function(e, t, n, r, l, o, s) {
2761
2777
  i = t, _ = n, a = r, u = l, c = o, f = s;
2762
2778
  const d = [["EV_STATE_CHANGED", D.EVF_SYSTEM_EVENT | D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS], [0, 0]];
@@ -2768,10 +2784,10 @@
2768
2784
  }, e.gobj_stats = function(e, t, r, l) {
2769
2785
  return ot(e) ? (dn("gobj NULL or DESTROYED"), -1) : e.gclass.gmt.mt_stats ? e.gclass.gmt.mt_stats(e, t, r, l) : f ? f(e, t, r, l) : o(0, -1, n("%s, stats parser not available", et(e)), 0, 0);
2770
2786
  }, e.gobj_stop = Ge, e.gobj_stop_children = Me, e.gobj_stop_tree = function(e) {
2771
- return ot(e) ? (dn("gobj NULL or DESTROYED"), -1) : (J(e) && L(n("⏹ ⏹ ⏹ ⏹ stop_tree: %s", tt(e))), xe(e) && Ge(e), ut(e, A.WALK_TOP2BOTTOM, Ve, 0, 0));
2772
- }, e.gobj_subscribe_event = Yt, e.gobj_trace_level = K, e.gobj_trace_machine_format = function() {
2787
+ return ot(e) ? (dn("gobj NULL or DESTROYED"), -1) : (J(e) && L(n("⏹ ⏹ ⏹ ⏹ stop_tree: %s", tt(e))), Ke(e) && Ge(e), ut(e, A.WALK_TOP2BOTTOM, Ve, 0, 0));
2788
+ }, e.gobj_subscribe_event = Yt, e.gobj_trace_level = x, e.gobj_trace_machine_format = function() {
2773
2789
  return C;
2774
- }, e.gobj_trace_no_level = x, e.gobj_unsubscribe_event = function(e, t, n, r) {
2790
+ }, e.gobj_trace_no_level = K, e.gobj_unsubscribe_event = function(e, t, n, r) {
2775
2791
  if (null == n && (n = {}), !e) return dn(`publisher NULL: ev ${t}`), 0;
2776
2792
  if (!r) return dn(`subscriber NULL: ev ${t}`), 0;
2777
2793
  const l = /* @__PURE__ */ new Set([
@@ -2788,27 +2804,27 @@
2788
2804
  let o = Wt(e.dl_subscriptions, e, t, n, r), s = 0;
2789
2805
  for (let t = 0; t < o.length; t++) {
2790
2806
  let n = o[t];
2791
- xt(e, n, !1, !1), s++;
2807
+ Kt(e, n, !1, !1), s++;
2792
2808
  }
2793
2809
  return s || (bn(`${et(e)}: No subscription found`), hn(n, "No subscription found")), 0;
2794
2810
  }, e.gobj_unsubscribe_list = Bt, e.gobj_walk_gobj_children = at, e.gobj_walk_gobj_children_tree = ut, e.gobj_write_attr = Ot, e.gobj_write_attrs = Nt, e.gobj_write_bool_attr = wt, e.gobj_write_integer_attr = Rt, e.gobj_write_str_attr = Dt, e.gobj_yuno = He, e.gobj_yuno_id = Qe, e.gobj_yuno_name = qe, e.gobj_yuno_role = ze, e.id_index_in_obj_list = dr, e.index_in_list = Rr, e.is_array = Ln, e.is_boolean = Fn, e.is_date = function(e) {
2795
2811
  return e instanceof Date && !isNaN(e);
2796
2812
  }, e.is_function = Vn, e.is_gobj = Mn, e.is_metadata_key = function(e) {
2797
- if (!Pn(e)) return !1;
2813
+ if (!Un(e)) return !1;
2798
2814
  let t;
2799
2815
  for (t = 0; t < e.length && "_" === e[t] && !(t > 2); t++);
2800
2816
  return 2 === t;
2801
- }, e.is_null = Gn, e.is_number = Un, e.is_object = Cn, e.is_private_key = function(e) {
2802
- if (!Pn(e)) return !1;
2817
+ }, e.is_null = Gn, e.is_number = Pn, e.is_object = Cn, e.is_private_key = function(e) {
2818
+ if (!Un(e)) return !1;
2803
2819
  let t;
2804
2820
  for (t = 0; t < e.length && "_" === e[t] && !(t > 2); t++);
2805
2821
  return 1 === t;
2806
2822
  }, e.is_pure_number = function(e) {
2807
- if (Un(e)) return !0;
2808
- if (!Pn(e)) return !1;
2823
+ if (Pn(e)) return !0;
2824
+ if (!Un(e)) return !1;
2809
2825
  const t = Number(e);
2810
2826
  return !isNaN(t) && "" !== e.trim() && !isNaN(t);
2811
- }, e.is_string = Pn, e.jdb_delete = function(e, t, n, r) {
2827
+ }, e.is_string = Un, e.jdb_delete = function(e, t, n, r) {
2812
2828
  let l = nr(null, nr(null, e, "topics", null, 0), t, null, 0);
2813
2829
  if (!l) return dn("jdb_delete: topic not found: " + t), null;
2814
2830
  if (Wn(r.id)) return dn("jdb_delete: record without id: " + r), mn(r), null;
@@ -2912,7 +2928,7 @@
2912
2928
  }, e.kw_get_local_storage_value = ar, e.kw_get_pointer = er, e.kw_get_real = function(e, t, n, r, l) {
2913
2929
  e && !Mn(e) && dn("GObj bad instanceof");
2914
2930
  let o = qn(e, t, n, !1);
2915
- const s = l && l & zt.KW_REQUIRED, i = l && l & zt.KW_CREATE, _ = l && l & zt.KW_EXTRACT;
2931
+ const s = l && l & zt.KW_REQUIRED, i = l && l & zt.KW_CREATE, _ = l && l & zt.KW_EXTRACT, a = l && l & zt.KW_WILD_NUMBER;
2916
2932
  if (void 0 === o) {
2917
2933
  if (i) {
2918
2934
  let l = Number(r);
@@ -2920,7 +2936,18 @@
2920
2936
  }
2921
2937
  return s && (dn(`path not found: '${n}'`), hn(t)), Number(r);
2922
2938
  }
2923
- return _ && zn(e, t, n), Un(o) ? Number(o) : (s && (dn(`path value MUST BE a number: ${n}`), mn(t)), Number(r));
2939
+ let u;
2940
+ if (Pn(o)) u = o;
2941
+ else {
2942
+ if (!a) return dn(`${e ? et(e) + ": " : ""}path MUST BE a json real: '${n}'`), hn(t), Number(r);
2943
+ if (Fn(o)) u = o ? 1 : 0;
2944
+ else if (Un(o)) u = parseFloat(o), Number.isNaN(u) && (u = 0);
2945
+ else {
2946
+ if (null !== o) return dn(`${e ? et(e) + ": " : ""}path MUST BE a simple json element: '${n}'`), hn(t), 0;
2947
+ u = 0;
2948
+ }
2949
+ }
2950
+ return _ && zn(e, t, n), u;
2924
2951
  }, e.kw_get_str = Zn, e.kw_has_key = Hn, e.kw_match_simple = sr, e.kw_pop = Jn, e.kw_remove_local_storage_value = cr, e.kw_select = function(e, t, n, r) {
2925
2952
  if (e && !Mn(e) && dn("GObj bad instanceof"), !t) return null;
2926
2953
  r || (r = sr);
@@ -2941,10 +2968,10 @@
2941
2968
  }, e.kwid_get_ids = function(e, t) {
2942
2969
  if (e && !Mn(e) && dn("GObj bad instanceof"), !t) return [];
2943
2970
  let n = [];
2944
- if (Pn(t)) n.push(t);
2971
+ if (Un(t)) n.push(t);
2945
2972
  else if (Cn(t)) for (let e in t) t.hasOwnProperty(e) && n.push(e);
2946
2973
  else Ln(t) && t.forEach(function(t) {
2947
- if (Pn(t)) Wn(t) || n.push(t);
2974
+ if (Un(t)) Wn(t) || n.push(t);
2948
2975
  else if (Cn(t)) {
2949
2976
  let r = Zn(e, t, "id", 0, 0);
2950
2977
  r && n.push(r);
@@ -2977,7 +3004,7 @@
2977
3004
  let r = [];
2978
3005
  if (Ln(e)) for (let l = 0; l < e.length; l++) {
2979
3006
  let o = e[l];
2980
- if (Pn(o)) r.push({
3007
+ if (Un(o)) r.push({
2981
3008
  id: e[l],
2982
3009
  value: e[l]
2983
3010
  });
@@ -3022,7 +3049,7 @@
3022
3049
  }, e.log_debug = pn, e.log_error = dn, e.log_info = function(e) {
3023
3050
  let t = gn(e), n = wr();
3024
3051
  en && _n("info", t) && en("%c" + n + " INFO: " + String(t), "color:cyan"), un("info", t, n);
3025
- }, e.log_warning = bn, e.msg_iev_get_msg_type = yr, e.msg_iev_get_stack = Er, e.msg_iev_push_stack = hr, e.msg_iev_read_key = pr, e.msg_iev_set_msg_type = Tr, e.msg_iev_write_key = mr, e.node_uuid = Dr, e.parseBoolean = Kn, e.parseSVG = function(e) {
3052
+ }, e.log_warning = bn, e.msg_iev_get_msg_type = yr, e.msg_iev_get_stack = Er, e.msg_iev_push_stack = hr, e.msg_iev_read_key = pr, e.msg_iev_set_msg_type = Tr, e.msg_iev_write_key = mr, e.node_uuid = Dr, e.parseBoolean = xn, e.parseSVG = function(e) {
3026
3053
  return new DOMParser().parseFromString(e, "image/svg+xml").firstChild;
3027
3054
  }, e.refresh_language = function(e, t) {
3028
3055
  if (!Vn(t)) return void dn("You must supply a translation function");
@@ -3144,17 +3171,17 @@
3144
3171
  }("C_IEVENT_CLI");
3145
3172
  }, e.register_c_timer = function() {
3146
3173
  return function(e) {
3147
- if (xr) return dn(`GClass ALREADY created: ${e}`), -1;
3174
+ if (Kr) return dn(`GClass ALREADY created: ${e}`), -1;
3148
3175
  const t = [["ST_IDLE", [[
3149
3176
  "EV_TIMEOUT",
3150
3177
  Yr,
3151
3178
  null
3152
3179
  ]]]];
3153
- return (xr = de(e, [
3180
+ return (Kr = de(e, [
3154
3181
  ["EV_TIMEOUT", D.EVF_OUTPUT_EVENT],
3155
3182
  ["EV_TIMEOUT_PERIODIC", D.EVF_OUTPUT_EVENT],
3156
3183
  [0, 0]
3157
- ], t, Br, 0, Wr, Kr, 0, 0, 0, N.gcflag_manual_start)) ? 0 : -1;
3184
+ ], t, Br, 0, Wr, xr, 0, 0, 0, N.gcflag_manual_start)) ? 0 : -1;
3158
3185
  }("C_TIMER");
3159
3186
  }, e.register_c_yuno = function() {
3160
3187
  return function(e) {
@@ -3192,7 +3219,7 @@
3192
3219
  cn(e, r, n);
3193
3220
  }
3194
3221
  } else nn = e;
3195
- }, e.set_remote_log_functions = fn, e.set_timeout = Jr, e.set_timeout_periodic = Hr, e.sprintf = n, e.stats_parser = function(e, t, n, r) {}, e.str_in_list = br, e.strcasecmp = Yn, e.strcmp = xn, e.strncmp = function(e, t, n) {
3222
+ }, e.set_remote_log_functions = fn, e.set_timeout = Jr, e.set_timeout_periodic = Hr, e.sprintf = n, e.stats_parser = function(e, t, n, r) {}, e.str_in_list = br, e.strcasecmp = Yn, e.strcmp = Kn, e.strncmp = function(e, t, n) {
3196
3223
  var r = (e + "").substring(0, n), l = (t + "").substring(0, n);
3197
3224
  return r === l ? 0 : r > l ? 1 : -1;
3198
3225
  }, e.strs_in_list = function(e, t, n) {
@@ -3217,7 +3244,7 @@
3217
3244
  placeholder: void 0,
3218
3245
  fkey: null
3219
3246
  };
3220
- if (Pn(t)) {
3247
+ if (Un(t)) {
3221
3248
  let e = t.split(".");
3222
3249
  for (let t = 0; t < e.length; t++) {
3223
3250
  let r = e[t];
@@ -3247,8 +3274,8 @@
3247
3274
  total: _
3248
3275
  };
3249
3276
  } };
3250
- }, e.trace_json = hn, e.trace_level_t = P, e.trace_msg = mn, e.treedb_decoder_fkey = Ur, e.treedb_decoder_hook = function(e, t) {
3251
- if (Pn(t)) {
3277
+ }, e.trace_json = hn, e.trace_level_t = U, e.trace_msg = mn, e.treedb_decoder_fkey = Pr, e.treedb_decoder_hook = function(e, t) {
3278
+ if (Un(t)) {
3252
3279
  if (-1 === t.indexOf("^")) {
3253
3280
  let n, r = e.hook;
3254
3281
  if (1 !== $n(r)) return dn("bad hook 1"), dn(e), dn(t), null;
@@ -3274,7 +3301,7 @@
3274
3301
  id: t.id
3275
3302
  } : (dn("bad hook 3"), dn(e), dn(t), null);
3276
3303
  }, e.treedb_encoder_fkey = function(e, t) {
3277
- let n = Ur(e, t);
3304
+ let n = Pr(e, t);
3278
3305
  return n ? n.topic_name + "^" + n.id + "^" + n.hook_name : null;
3279
3306
  }, e.treedb_get_field_desc = Mr, e.treedb_hook_data_size = function(e) {
3280
3307
  if (Ln(e) && 1 === In(e)) {