@yuneta/gobj-js 7.7.1 → 7.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21,72 +21,72 @@
21
21
  };
22
22
  function n(e) {
23
23
  return function(e, r) {
24
- var i, o, l, s, _, a, u, c, f, g = 1, d = e.length, b = "";
25
- for (o = 0; o < d; o++) if ("string" == typeof e[o]) b += e[o];
26
- else if ("object" == typeof e[o]) {
27
- if ((s = e[o]).keys) for (i = r[g], l = 0; l < s.keys.length; l++) {
28
- if (null == i) throw new Error(n("[sprintf] Cannot access property \"%s\" of undefined value \"%s\"", s.keys[l], s.keys[l - 1]));
29
- i = i[s.keys[l]];
24
+ var o, i, l, s, _, a, u, c, f, g = 1, d = e.length, b = "";
25
+ for (i = 0; i < d; i++) if ("string" == typeof e[i]) b += e[i];
26
+ else if ("object" == typeof e[i]) {
27
+ if ((s = e[i]).keys) for (o = r[g], l = 0; l < s.keys.length; l++) {
28
+ if (null == o) throw new Error(n("[sprintf] Cannot access property \"%s\" of undefined value \"%s\"", s.keys[l], s.keys[l - 1]));
29
+ o = o[s.keys[l]];
30
30
  }
31
- else i = s.param_no ? r[s.param_no] : r[g++];
32
- if (t.not_type.test(s.type) && t.not_primitive.test(s.type) && i instanceof Function && (i = i()), t.numeric_arg.test(s.type) && "number" != typeof i && isNaN(i)) throw new TypeError(n("[sprintf] expecting number but found %T", i));
33
- switch (t.number.test(s.type) && (c = i >= 0), s.type) {
31
+ else o = s.param_no ? r[s.param_no] : r[g++];
32
+ if (t.not_type.test(s.type) && t.not_primitive.test(s.type) && o instanceof Function && (o = o()), t.numeric_arg.test(s.type) && "number" != typeof o && isNaN(o)) throw new TypeError(n("[sprintf] expecting number but found %T", o));
33
+ switch (t.number.test(s.type) && (c = o >= 0), s.type) {
34
34
  case "b":
35
- i = parseInt(i, 10).toString(2);
35
+ o = parseInt(o, 10).toString(2);
36
36
  break;
37
37
  case "c":
38
- i = String.fromCharCode(parseInt(i, 10));
38
+ o = String.fromCharCode(parseInt(o, 10));
39
39
  break;
40
40
  case "d":
41
41
  case "i":
42
- i = parseInt(i, 10);
42
+ o = parseInt(o, 10);
43
43
  break;
44
44
  case "j":
45
- i = JSON.stringify(i, null, s.width ? parseInt(s.width) : 0);
45
+ o = JSON.stringify(o, null, s.width ? parseInt(s.width) : 0);
46
46
  break;
47
47
  case "e":
48
- i = s.precision ? parseFloat(i).toExponential(s.precision) : parseFloat(i).toExponential();
48
+ o = s.precision ? parseFloat(o).toExponential(s.precision) : parseFloat(o).toExponential();
49
49
  break;
50
50
  case "f":
51
- i = s.precision ? parseFloat(i).toFixed(s.precision) : parseFloat(i);
51
+ o = s.precision ? parseFloat(o).toFixed(s.precision) : parseFloat(o);
52
52
  break;
53
53
  case "g":
54
- i = s.precision ? String(Number(i.toPrecision(s.precision))) : parseFloat(i);
54
+ o = s.precision ? String(Number(o.toPrecision(s.precision))) : parseFloat(o);
55
55
  break;
56
56
  case "o":
57
- i = (parseInt(i, 10) >>> 0).toString(8);
57
+ o = (parseInt(o, 10) >>> 0).toString(8);
58
58
  break;
59
59
  case "s":
60
- i = String(i), i = s.precision ? i.substring(0, s.precision) : i;
60
+ o = String(o), o = s.precision ? o.substring(0, s.precision) : o;
61
61
  break;
62
62
  case "t":
63
- i = String(!!i), i = s.precision ? i.substring(0, s.precision) : i;
63
+ o = String(!!o), o = s.precision ? o.substring(0, s.precision) : o;
64
64
  break;
65
65
  case "T":
66
- i = Object.prototype.toString.call(i).slice(8, -1).toLowerCase(), i = s.precision ? i.substring(0, s.precision) : i;
66
+ o = Object.prototype.toString.call(o).slice(8, -1).toLowerCase(), o = s.precision ? o.substring(0, s.precision) : o;
67
67
  break;
68
68
  case "u":
69
- i = parseInt(i, 10) >>> 0;
69
+ o = parseInt(o, 10) >>> 0;
70
70
  break;
71
71
  case "v":
72
- i = i.valueOf(), i = s.precision ? i.substring(0, s.precision) : i;
72
+ o = o.valueOf(), o = s.precision ? o.substring(0, s.precision) : o;
73
73
  break;
74
74
  case "x":
75
- i = (parseInt(i, 10) >>> 0).toString(16);
75
+ o = (parseInt(o, 10) >>> 0).toString(16);
76
76
  break;
77
- case "X": i = (parseInt(i, 10) >>> 0).toString(16).toUpperCase();
77
+ case "X": o = (parseInt(o, 10) >>> 0).toString(16).toUpperCase();
78
78
  }
79
- t.json.test(s.type) ? b += i : (!t.number.test(s.type) || c && !s.sign ? f = "" : (f = c ? "+" : "-", i = i.toString().replace(t.sign, "")), a = s.pad_char ? "0" === s.pad_char ? "0" : s.pad_char.charAt(1) : " ", u = s.width - (f + i).length, _ = s.width && u > 0 ? a.repeat(u) : "", b += s.align ? f + i + _ : "0" === a ? f + _ + i : _ + f + i);
79
+ t.json.test(s.type) ? b += o : (!t.number.test(s.type) || c && !s.sign ? f = "" : (f = c ? "+" : "-", o = o.toString().replace(t.sign, "")), a = s.pad_char ? "0" === s.pad_char ? "0" : s.pad_char.charAt(1) : " ", u = s.width - (f + o).length, _ = s.width && u > 0 ? a.repeat(u) : "", b += s.align ? f + o + _ : "0" === a ? f + _ + o : _ + f + o);
80
80
  }
81
81
  return b;
82
82
  }(function(e) {
83
83
  if (r[e]) return r[e];
84
- let n, i = e, o = [], l = 0;
85
- for (; i;) {
86
- if (null !== (n = t.text.exec(i))) o.push(n[0]);
87
- else if (null !== (n = t.modulo.exec(i))) o.push("%");
84
+ let n, o = e, i = [], l = 0;
85
+ for (; o;) {
86
+ if (null !== (n = t.text.exec(o))) i.push(n[0]);
87
+ else if (null !== (n = t.modulo.exec(o))) i.push("%");
88
88
  else {
89
- if (null === (n = t.placeholder.exec(i))) throw new SyntaxError("[sprintf] unexpected placeholder");
89
+ if (null === (n = t.placeholder.exec(o))) throw new SyntaxError("[sprintf] unexpected placeholder");
90
90
  if (n[2]) {
91
91
  l |= 1;
92
92
  var s = [], _ = n[2], a = [];
@@ -99,7 +99,7 @@
99
99
  n[2] = s;
100
100
  } else l |= 2;
101
101
  if (3 === l) throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");
102
- o.push({
102
+ i.push({
103
103
  placeholder: n[0],
104
104
  param_no: n[1],
105
105
  keys: n[2],
@@ -111,26 +111,26 @@
111
111
  type: n[8]
112
112
  });
113
113
  }
114
- i = i.substring(n[0].length);
114
+ o = o.substring(n[0].length);
115
115
  }
116
- return r[e] = o;
116
+ return r[e] = i;
117
117
  }(e), arguments);
118
118
  }
119
119
  var r = Object.create(null);
120
- function i(e, t, n, r, i) {
120
+ function o(e, t, n, r, o) {
121
121
  return {
122
122
  result: t,
123
123
  comment: n || {},
124
124
  schema: r || {},
125
- data: i || []
125
+ data: o || []
126
126
  };
127
127
  }
128
- function o(e, t, n, r, i) {
128
+ function i(e, t, n, r, o) {
129
129
  return {
130
130
  result: t,
131
131
  comment: n || {},
132
132
  schema: r || {},
133
- data: i || []
133
+ data: o || []
134
134
  };
135
135
  }
136
136
  var l = "7.0.0a", s = null, _ = null, a = null, u = null, c = null, f = null, g = [], d = Object.create(null), b = {}, p = null, m = null, h = 0, E = Object.freeze({
@@ -169,16 +169,16 @@
169
169
  });
170
170
  y.SDF_RD, y.SDF_WR, y.SDF_STATS, y.SDF_PERSIST, y.SDF_VOLATIL, y.SDF_RSTATS, y.SDF_PSTATS, y.SDF_WR, y.SDF_PERSIST;
171
171
  var T = class {
172
- constructor(e, t, n = 0, r = null, i = "", o = null, l = null, s = 0, _ = null, a = null, u = null) {
173
- this.type = e, this.name = t, this.alias = o, this.flag = n, this.default_value = r, this.header = l, this.fillspace = s, this.description = i, this.json_fn = _, this.schema = a, this.authpth = u;
172
+ constructor(e, t, n = 0, r = null, o = "", i = null, l = null, s = 0, _ = null, a = null, u = null) {
173
+ this.type = e, this.name = t, this.alias = i, this.flag = n, this.default_value = r, this.header = l, this.fillspace = s, this.description = o, this.json_fn = _, this.schema = a, this.authpth = u;
174
174
  }
175
- }, v = () => new T(0, null), j = (e, t, n, r, i) => new T(e, t, n, r, i), S = class {
176
- constructor(e, t, n, r, i, o, l, s, _) {
177
- this.gclass_name = e, this.dl_states = [], this.dl_events = [], this.gmt = t, this.lmt = n, this.attrs_table = r, this.priv = i, this.authz_table = o, this.command_table = l, this.s_user_trace_level = s, this.gclass_flag = Number(_) || 0, this.instances = 0, this.trace_level = 0, this.no_trace_level = 0, this.jn_trace_filter = null, this.fsm_checked = !1;
175
+ }, v = () => new T(0, null), j = (e, t, n, r, o) => new T(e, t, n, r, o), S = class {
176
+ constructor(e, t, n, r, o, i, l, s, _) {
177
+ this.gclass_name = e, this.dl_states = [], this.dl_events = [], this.gmt = t, this.lmt = n, this.attrs_table = r, this.priv = o, this.authz_table = i, this.command_table = l, this.s_user_trace_level = s, this.gclass_flag = Number(_) || 0, this.instances = 0, this.trace_level = 0, this.no_trace_level = 0, this.jn_trace_filter = null, this.fsm_checked = !1;
178
178
  }
179
179
  }, O = class {
180
- constructor(e, t, n, r, i) {
181
- 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(i) || 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 = Lt(t.priv), this.running = !1, this.playing = !1, this.disabled = !1, this.bottom_gobj = null, this.trace_level = 0, this.no_trace_level = 0;
180
+ constructor(e, t, n, r, o) {
181
+ 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(o) || 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 = Lt(t.priv), this.running = !1, this.playing = !1, this.disabled = !1, this.bottom_gobj = null, this.trace_level = 0, this.no_trace_level = 0;
182
182
  }
183
183
  }, N = Object.freeze({
184
184
  gcflag_manual_start: 1,
@@ -230,106 +230,106 @@
230
230
  let n = {};
231
231
  if (!qt(t)) return Rt("sdata_desc MUST be an array"), It(t), n;
232
232
  for (let r = 0; r < t.length; r++) {
233
- const i = t[r];
234
- i.name && C(e, n, i);
233
+ const o = t[r];
234
+ o.name && C(e, n, o);
235
235
  }
236
236
  return n;
237
237
  }
238
238
  function C(e, t, n) {
239
- let r, i = n.default_value;
239
+ let r, o = n.default_value;
240
240
  switch (n.type) {
241
241
  case E.DTP_STRING:
242
- r = String(i);
242
+ r = String(o);
243
243
  break;
244
244
  case E.DTP_BOOLEAN:
245
- r = on(i);
245
+ r = on(o);
246
246
  break;
247
247
  case E.DTP_INTEGER:
248
- r = parseInt(i), isNaN(r) && Rt(`${we(e)}: attr NaN: ${n.name}`);
248
+ r = parseInt(o), isNaN(r) && Rt(`${we(e)}: attr NaN: ${n.name}`);
249
249
  break;
250
250
  case E.DTP_REAL:
251
- r = Number(i), isNaN(r) && Rt(`${we(e)}: attr NaN: ${n.name}`);
251
+ r = Number(o), isNaN(r) && Rt(`${we(e)}: attr NaN: ${n.name}`);
252
252
  break;
253
253
  case E.DTP_LIST:
254
- if (Ht(i)) try {
255
- r = JSON.parse(i);
254
+ if (Ht(o)) try {
255
+ r = JSON.parse(o);
256
256
  } catch (e) {
257
257
  Rt(`JSON parse error: ${e.message}`);
258
258
  }
259
- else r = i;
259
+ else r = o;
260
260
  qt(r) || (r = []);
261
261
  break;
262
262
  case E.DTP_DICT:
263
- if (Ht(i)) try {
264
- r = JSON.parse(i);
263
+ if (Ht(o)) try {
264
+ r = JSON.parse(o);
265
265
  } catch (e) {
266
266
  Rt(`JSON parse error: ${e.message}`);
267
267
  }
268
- else r = i;
268
+ else r = o;
269
269
  Qt(r) || (r = {});
270
270
  break;
271
271
  case E.DTP_JSON:
272
- if (Ht(i)) try {
273
- r = JSON.parse(i);
272
+ if (Ht(o)) try {
273
+ r = JSON.parse(o);
274
274
  } catch (e) {
275
275
  Rt(`JSON parse error: ${e.message}`);
276
276
  }
277
- else r = i;
277
+ else r = o;
278
278
  break;
279
- case E.DTP_POINTER: r = i;
279
+ case E.DTP_POINTER: r = o;
280
280
  }
281
281
  return void 0 === r && (Rt(`default_value WRONG, it: ${n.name}, value: ${n.default_value}`), r = null), t[n.name] = r, 0;
282
282
  }
283
283
  function F(e, t, n, r) {
284
- let i;
284
+ let o;
285
285
  switch (n.type) {
286
286
  case E.DTP_STRING:
287
- if (null == r) i = "";
288
- else if (Ht(r)) i = String(r);
287
+ if (null == r) o = "";
288
+ else if (Ht(r)) o = String(r);
289
289
  else {
290
290
  let e = JSON.stringify(r);
291
- e && (i = String(e));
291
+ e && (o = String(e));
292
292
  }
293
293
  break;
294
294
  case E.DTP_BOOLEAN:
295
- i = on(r);
295
+ o = on(r);
296
296
  break;
297
297
  case E.DTP_INTEGER:
298
- i = parseInt(r), isNaN(i) && Rt(`${we(e)}: attr NaN: ${n.name}`);
298
+ o = parseInt(r), isNaN(o) && Rt(`${we(e)}: attr NaN: ${n.name}`);
299
299
  break;
300
300
  case E.DTP_REAL:
301
- i = Number(r), isNaN(i) && Rt(`${we(e)}: attr NaN: ${n.name}`);
301
+ o = Number(r), isNaN(o) && Rt(`${we(e)}: attr NaN: ${n.name}`);
302
302
  break;
303
303
  case E.DTP_LIST:
304
304
  if (Ht(r)) try {
305
- i = JSON.parse(r);
305
+ o = JSON.parse(r);
306
306
  } catch (e) {
307
307
  Rt(`JSON parse error: ${e.message}`);
308
308
  }
309
- else i = r;
310
- if (!qt(i)) return Rt(`attr must be an array: ${n.name}`), -1;
309
+ else o = r;
310
+ if (!qt(o)) return Rt(`attr must be an array: ${n.name}`), -1;
311
311
  break;
312
312
  case E.DTP_DICT:
313
313
  if (Ht(r)) try {
314
- i = JSON.parse(r);
314
+ o = JSON.parse(r);
315
315
  } catch (e) {
316
316
  Rt(`JSON parse error: ${e.message}`);
317
317
  }
318
- else i = r;
319
- if (!Qt(i)) return Rt(`attr must be an object: ${n.name}`), -1;
318
+ else o = r;
319
+ if (!Qt(o)) return Rt(`attr must be an object: ${n.name}`), -1;
320
320
  break;
321
321
  case E.DTP_JSON:
322
322
  if (Ht(r)) try {
323
- i = JSON.parse(r);
323
+ o = JSON.parse(r);
324
324
  } catch (e) {
325
325
  Rt(`JSON parse error: ${e.message}`);
326
326
  }
327
- else i = r;
328
- if (!qt(i) && !Qt(i)) return Rt(`attr must be a json dict/list: ${n.name}`), -1;
327
+ else o = r;
328
+ if (!qt(o) && !Qt(o)) return Rt(`attr must be a json dict/list: ${n.name}`), -1;
329
329
  break;
330
- case E.DTP_POINTER: i = r;
330
+ case E.DTP_POINTER: o = r;
331
331
  }
332
- return void 0 === i && Rt(`${we(e)}: attr undefined: ${n.name}`), t[n.name] = i, Qt(e.priv) && e.priv.hasOwnProperty(n.name) && (e.priv[n.name] = i), e.obflag & D.obflag_created && !(e.obflag & D.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, n.name), 0;
332
+ return void 0 === o && Rt(`${we(e)}: attr undefined: ${n.name}`), t[n.name] = o, Qt(e.priv) && e.priv.hasOwnProperty(n.name) && (e.priv[n.name] = o), e.obflag & D.obflag_created && !(e.obflag & D.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, n.name), 0;
333
333
  }
334
334
  function G(e) {
335
335
  return e.jn_attrs;
@@ -346,11 +346,11 @@
346
346
  }
347
347
  return n && Rt(`${e.gclass_name}: GClass Attribute NOT FOUND: ${t}`), null;
348
348
  }
349
- function M(e, t, n, r, i, o, l, s, _, a, u) {
349
+ function M(e, t, n, r, o, i, l, s, _, a, u) {
350
350
  if (rn(e)) return Rt("gclass_name EMPTY"), null;
351
351
  if (e.includes("`") || e.includes("^") || e.includes(".")) return Rt(`GClass name CANNOT have '.' or '^' or '\`' char: ${e}`), null;
352
352
  if (X(e)) return Rt(`GClass ALREADY exists: ${e}`), null;
353
- let c = new S(e, r, i, o, l, s, _, a, u);
353
+ let c = new S(e, r, o, i, l, s, _, a, u);
354
354
  (function(e, t) {
355
355
  e && e instanceof S ? t ? d[t] ? Rt(`gclass ALREADY REGISTERED: ${t}`) : d[t] = e : Rt("gclass_name undefined") : Rt("gclass undefined");
356
356
  })(c, e);
@@ -359,10 +359,10 @@
359
359
  let t = n[e][0], r = n[e][1];
360
360
  if (rn(t)) continue;
361
361
  if (B(c, t) < 0) return K(c), null;
362
- const i = r.length;
363
- for (let e = 0; e < i; e++) {
364
- let n = r[e][0], i = r[e][1], o = r[e][2];
365
- rn(n) || J(c, t, n, i, o);
362
+ const o = r.length;
363
+ for (let e = 0; e < o; e++) {
364
+ let n = r[e][0], o = r[e][1], i = r[e][2];
365
+ rn(n) || J(c, t, n, o, i);
366
366
  }
367
367
  }
368
368
  for (let e = 0; e < t.length; e++) {
@@ -407,11 +407,11 @@
407
407
  function B(e, t) {
408
408
  return e instanceof S ? x(e, t) ? (Rt(`state already exists: ${t}`), -1) : (e.dl_states.push(new A(t)), 0) : (Rt("Cannot add state, typeof not GClass"), -1);
409
409
  }
410
- function J(e, t, n, r, i) {
410
+ function J(e, t, n, r, o) {
411
411
  if (!(e instanceof S)) return Rt("Cannot add state, typeof not GClass"), -1;
412
412
  if (rn(t)) return Rt("state_name EMPTY"), -1;
413
- let o = x(e, t);
414
- return o ? Y(o, n) ? (Rt(`event already exists: gclass ${e.gclass_name}, state ${t}, event ${n}`), -1) : (o.dl_actions.push(new $(n, r, i)), 0) : (Rt(`state not found: ${t}`), -1);
413
+ let i = x(e, t);
414
+ return i ? Y(i, n) ? (Rt(`event already exists: gclass ${e.gclass_name}, state ${t}, event ${n}`), -1) : (i.dl_actions.push(new $(n, r, o)), 0) : (Rt(`state not found: ${t}`), -1);
415
415
  }
416
416
  function z(e, t, n) {
417
417
  rn(t) || e.push(new I(t, n));
@@ -435,8 +435,8 @@
435
435
  for (let n = 0; n < e.dl_states.length; n++) {
436
436
  let r = e.dl_states[n];
437
437
  if (!rn(r.state_name)) for (let n = 0; n < r.dl_actions.length; n++) {
438
- let i = r.dl_actions[n];
439
- rn(i.event_name) || (q(e, i.event_name) || (Rt(`SMachine: state's event NOT in input_events: gclass ${e.gclass_name}, state ${r.state_name}, event ${i.event_name}`), t += -1), i.next_state && (x(e, i.next_state) || (Rt(`SMachine: next state NOT in state names: gclass ${e.gclass_name}, state ${r.state_name}, next_state ${i.next_state}`), t += -1)));
438
+ let o = r.dl_actions[n];
439
+ rn(o.event_name) || (q(e, o.event_name) || (Rt(`SMachine: state's event NOT in input_events: gclass ${e.gclass_name}, state ${r.state_name}, event ${o.event_name}`), t += -1), o.next_state && (x(e, o.next_state) || (Rt(`SMachine: next state NOT in state names: gclass ${e.gclass_name}, state ${r.state_name}, next_state ${o.next_state}`), t += -1)));
440
440
  }
441
441
  }
442
442
  for (let n = 0; n < e.dl_events.length; n++) {
@@ -444,8 +444,8 @@
444
444
  if (!rn(r.event_name) && (Xt(r.event_flag) || (Rt(`SMachine: event flag is NOT number: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1), !(r.event_flag & R.EVF_OUTPUT_EVENT))) {
445
445
  let n = !1;
446
446
  for (let t = 0; t < e.dl_states.length; t++) {
447
- let i = e.dl_states[t];
448
- rn(i.state_name) || Y(i, r.event_name) && (n = !0);
447
+ let o = e.dl_states[t];
448
+ rn(o.state_name) || Y(o, r.event_name) && (n = !0);
449
449
  }
450
450
  n || (Rt(`SMachine: input_list's event NOT in state: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1);
451
451
  }
@@ -478,34 +478,34 @@
478
478
  let n = xn(e.dl_children, t);
479
479
  n >= 0 && (Yt(e.dl_children, n), t.parent = null);
480
480
  }
481
- function ie(e, t) {
481
+ function oe(e, t) {
482
482
  "__json_config_variables__" !== t && Rt(`GClass Attribute NOT FOUND: ${we(e)}, attr ${t}`);
483
483
  }
484
- function oe(e, t, n) {
484
+ function ie(e, t, n) {
485
485
  let r = t;
486
- (function(e, t, n, r, i) {
486
+ (function(e, t, n, r, o) {
487
487
  if (!e || !t) return Rt("hsdata or kw NULL"), -1;
488
- let o = 0;
488
+ let i = 0;
489
489
  for (const [l, s] of Object.entries(t)) {
490
- const t = W(i.gclass, l, !1);
491
- t ? (-1 === n || t.flag & n) && (t.flag & y.SDF_DEPRECATED && kt(`${we(i)}: Deprecated attribute used in gobj creation: ${l}`), o += F(i, e, t, s)) : r && (r(i, l), o--);
490
+ const t = W(o.gclass, l, !1);
491
+ t ? (-1 === n || t.flag & n) && (t.flag & y.SDF_DEPRECATED && kt(`${we(o)}: Deprecated attribute used in gobj creation: ${l}`), i += F(o, e, t, s)) : r && (r(o, l), i--);
492
492
  }
493
- return o;
494
- })(G(e), r, -1, e.gclass.gclass_flag & N.gcflag_ignore_unknown_attrs ? 0 : ie, e) < 0 && (Rt(`${we(e)} json2data() FAILED`), It(r));
493
+ return i;
494
+ })(G(e), r, -1, e.gclass.gclass_flag & N.gcflag_ignore_unknown_attrs ? 0 : oe, e) < 0 && (Rt(`${we(e)} json2data() FAILED`), It(r));
495
495
  }
496
- function le(e, t, r, i, o) {
497
- if (o & w.gobj_flag_yuno) {
496
+ function le(e, t, r, o, i) {
497
+ if (i & w.gobj_flag_yuno) {
498
498
  if (p) return Rt("__yuno__ already created"), null;
499
- o |= w.gobj_flag_service;
499
+ i |= w.gobj_flag_service;
500
500
  } else {
501
- if (!i) return Rt("gobj NEEDS a parent!"), null;
502
- if (!("string" == typeof i || i instanceof O)) return Rt(`BAD TYPE of parent: ${i}`), null;
503
- if (Ht(i) && !(i = ee(i))) return kt(`parent service not found: ${i}`), null;
501
+ if (!o) return Rt("gobj NEEDS a parent!"), null;
502
+ if (!("string" == typeof o || o instanceof O)) return Rt(`BAD TYPE of parent: ${o}`), null;
503
+ if (Ht(o) && !(o = ee(o))) return kt(`parent service not found: ${o}`), null;
504
504
  }
505
- if (o & w.gobj_flag_service && ee(e, !1)) return Rt(`service ALREADY registered: ${t}^${e}`), null;
506
- if (o & w.gobj_flag_default_service) {
505
+ if (i & w.gobj_flag_service && ee(e, !1)) return Rt(`service ALREADY registered: ${t}^${e}`), null;
506
+ if (i & w.gobj_flag_default_service) {
507
507
  if (m) return Rt(`default service ALREADY registered: ${t}^${e}`), null;
508
- o |= w.gobj_flag_service;
508
+ i |= w.gobj_flag_service;
509
509
  }
510
510
  if (rn(t)) return Rt("gclass_name must be a string"), null;
511
511
  let l = X(t, !1);
@@ -515,11 +515,11 @@
515
515
  if (e.includes("`")) return Rt(`gobj_name cannot contain char ': ${t}^${e}`), null;
516
516
  if (e.includes("^")) return Rt(`gobj_name cannot contain char ^: ${t}^${e}`), null;
517
517
  }
518
- let _ = new O(e, l, r, i, o);
518
+ let _ = new O(e, l, r, o, i);
519
519
  _.jn_attrs = U(_, l.attrs_table);
520
520
  for (const [e, t] of Object.entries(_.jn_attrs)) e in _.priv && (_.priv[e] = t);
521
521
  let a = p && Je(p, "trace_creation");
522
- return a && P(n("💙💙⏩ creating: %s^%s", l.gclass_name, e)), _.gobj_flag & w.gobj_flag_service && te(_), _.gobj_flag & w.gobj_flag_yuno && (p = _), _.gobj_flag & w.gobj_flag_default_service && (m = _), _.gobj_flag & w.gobj_flag_yuno || ne(i, _), _.obflag |= D.obflag_created, _.gclass.instances++, oe(_, r), _.gobj_flag & w.gobj_flag_service && s && s(_, null), _.gclass.gmt.mt_create2 ? _.gclass.gmt.mt_create2(_, r) : _.gclass.gmt.mt_create && _.gclass.gmt.mt_create(_), i && i.gclass.gmt.mt_child_added && (a && P(n("👦👦🔵 child_added(%s): %s", De(i), we(_))), i.gclass.gmt.mt_child_added(i, _)), a && P(n("💙💙⏪ created: %s", De(_))), _;
522
+ return a && P(n("💙💙⏩ creating: %s^%s", l.gclass_name, e)), _.gobj_flag & w.gobj_flag_service && te(_), _.gobj_flag & w.gobj_flag_yuno && (p = _), _.gobj_flag & w.gobj_flag_default_service && (m = _), _.gobj_flag & w.gobj_flag_yuno || ne(o, _), _.obflag |= D.obflag_created, _.gclass.instances++, ie(_, r), _.gobj_flag & w.gobj_flag_service && s && s(_, null), _.gclass.gmt.mt_create2 ? _.gclass.gmt.mt_create2(_, r) : _.gclass.gmt.mt_create && _.gclass.gmt.mt_create(_), o && o.gclass.gmt.mt_child_added && (a && P(n("👦👦🔵 child_added(%s): %s", De(o), we(_))), o.gclass.gmt.mt_child_added(o, _)), a && P(n("💙💙⏪ created: %s", De(_))), _;
523
523
  }
524
524
  function se(e, t, n, r) {
525
525
  return le(e, t, n, r, w.gobj_flag_pure_child);
@@ -647,59 +647,59 @@
647
647
  function Pe(e, t, n) {
648
648
  return nn(e) ? t ? W(e.gclass, t, n) : e.gclass.attrs_table : (Rt("gobj NULL of bad type"), null);
649
649
  }
650
- function Ue(e, t, n, r, i) {
651
- return Ae(e) ? (Rt("gobj NULL, destroying, or bad type"), 0) : Fe(e.dl_children, t, n, r, i);
650
+ function Ue(e, t, n, r, o) {
651
+ return Ae(e) ? (Rt("gobj NULL, destroying, or bad type"), 0) : Fe(e.dl_children, t, n, r, o);
652
652
  }
653
- function Ce(e, t, n, r, i) {
654
- return Ae(e) ? (Rt("gobj NULL, destroying, or bad type"), 0) : Ve(e.dl_children, t, n, r, i);
653
+ function Ce(e, t, n, r, o) {
654
+ return Ae(e) ? (Rt("gobj NULL, destroying, or bad type"), 0) : Ve(e.dl_children, t, n, r, o);
655
655
  }
656
- function Fe(e, t, n, r, i) {
657
- let o, l = [...e];
656
+ function Fe(e, t, n, r, o) {
657
+ let i, l = [...e];
658
658
  if (t & k.WALK_LAST2FIRST) for (let e = l.length; e > 0; e--) {
659
- o = l[e - 1];
660
- let t = n(o, r, i);
659
+ i = l[e - 1];
660
+ let t = n(i, r, o);
661
661
  if (t < 0) return t;
662
662
  }
663
663
  else for (let e = 0; e < l.length; e++) {
664
- o = l[e];
665
- let t = n(o, r, i);
664
+ i = l[e];
665
+ let t = n(i, r, o);
666
666
  if (t < 0) return t;
667
667
  }
668
668
  return 0;
669
669
  }
670
- function Ge(e, t, n, r, i) {
671
- let o, l = Fe(e, t, n, r, i);
670
+ function Ge(e, t, n, r, o) {
671
+ let i, l = Fe(e, t, n, r, o);
672
672
  if (l < 0) return l;
673
673
  if (t & k.WALK_LAST2FIRST) {
674
- for (let s = e.length; s > 0; s--) if (o = e[s - 1], l = Ge([...o.dl_children], t, n, r, i), l < 0) return l;
675
- } else for (let s = 0; s < e.length; s++) if (o = e[s], l = Ge([...o.dl_children], t, n, r, i), l < 0) return l;
674
+ for (let s = e.length; s > 0; s--) if (i = e[s - 1], l = Ge([...i.dl_children], t, n, r, o), l < 0) return l;
675
+ } else for (let s = 0; s < e.length; s++) if (i = e[s], l = Ge([...i.dl_children], t, n, r, o), l < 0) return l;
676
676
  return l;
677
677
  }
678
- function Ve(e, t, n, r, i) {
679
- if (t & k.WALK_BYLEVEL) return Ge(e, t, n, r, i);
680
- let o, l;
678
+ function Ve(e, t, n, r, o) {
679
+ if (t & k.WALK_BYLEVEL) return Ge(e, t, n, r, o);
680
+ let i, l;
681
681
  if (t & k.WALK_BOTTOM2TOP) for (let s = e.length; s > 0; s--) {
682
- if (l = e[s - 1], o = Ve([...l.dl_children], t, n, r, i), o < 0) return o;
683
- if (o = n(l, r, i), o < 0) return o;
682
+ if (l = e[s - 1], i = Ve([...l.dl_children], t, n, r, o), i < 0) return i;
683
+ if (i = n(l, r, o), i < 0) return i;
684
684
  }
685
685
  else for (let s = 0; s < e.length; s++) {
686
- if (l = e[s], o = n(l, r, i), o < 0) return o;
687
- if (0 === o && (o = Ve([...l.dl_children], t, n, r, i), o < 0)) return o;
686
+ if (l = e[s], i = n(l, r, o), i < 0) return i;
687
+ if (0 === i && (i = Ve([...l.dl_children], t, n, r, o), i < 0)) return i;
688
688
  }
689
689
  return 0;
690
690
  }
691
691
  function We(e, t) {
692
692
  if (!nn(e)) return Rt("gobj NULL of bad type"), !1;
693
- let n = t.__gclass_name__, r = t.__gobj_name__, i = t.__prefix_gobj_name__;
693
+ let n = t.__gclass_name__, r = t.__gobj_name__, o = t.__prefix_gobj_name__;
694
694
  t.__disabled__;
695
- let o = t.__state__;
695
+ let i = t.__state__;
696
696
  if (n && n !== Ne(e)) return !1;
697
697
  if (r && r !== Oe(e)) return !1;
698
- if (i) {
699
- let t = i.length;
700
- if (i !== Oe(e).substring(0, t)) return !1;
698
+ if (o) {
699
+ let t = o.length;
700
+ if (o !== Oe(e).substring(0, t)) return !1;
701
701
  }
702
- if (o && o !== nt(e)) return !1;
702
+ if (i && i !== nt(e)) return !1;
703
703
  let l = e.jn_attrs;
704
704
  for (const n of Object.keys(t)) if ("__gclass_name__" !== n && "__gobj_name__" !== n && "__prefix_gobj_name__" !== n && "__disabled__" !== n && "__state__" !== n && xe(e, n) && l[n] !== t[n]) return !1;
705
705
  return !0;
@@ -717,9 +717,9 @@
717
717
  if (!t) return null;
718
718
  let n = t.split("`");
719
719
  if (!function(e, t) {
720
- let n = t.split("^"), r = null, i = null;
720
+ let n = t.split("^"), r = null, o = null;
721
721
  if (2 === n.length) {
722
- if (i = n[0], r = n[1], i !== Ne(e)) return !1;
722
+ if (o = n[0], r = n[1], o !== Ne(e)) return !1;
723
723
  } else {
724
724
  if (1 !== n.length) return !1;
725
725
  r = n[0];
@@ -727,10 +727,10 @@
727
727
  return r === Oe(e);
728
728
  }(e, n[0])) return null;
729
729
  if (1 === n.length) return e;
730
- let r = n[1].split("^"), i = {};
731
- 1 === r.length ? i.__gobj_name__ = r : (i.__gclass_name__ = r[0], i.__gobj_name__ = r[1]);
732
- let o = Me(e, i);
733
- return o ? (n.splice(0, 1), n = n.join("`"), Ke(o, n)) : null;
730
+ let r = n[1].split("^"), o = {};
731
+ 1 === r.length ? o.__gobj_name__ = r : (o.__gclass_name__ = r[0], o.__gobj_name__ = r[1]);
732
+ let i = Me(e, o);
733
+ return i ? (n.splice(0, 1), n = n.join("`"), Ke(i, n)) : null;
734
734
  }
735
735
  function xe(e, t) {
736
736
  return !rn(t) && !!W(e.gclass, t, !1);
@@ -744,12 +744,12 @@
744
744
  return Rt(`${we(e)}: GClass Attribute NOT FOUND, attr ${t}`), null;
745
745
  }
746
746
  function Be(e, t, n) {
747
- let r = {}, i = e.gclass.attrs_table;
748
- for (let n = 0; n < i.length; n++) {
749
- const o = i[n];
750
- if (o.name && (-1 === t || o.flag & t)) {
747
+ let r = {}, o = e.gclass.attrs_table;
748
+ for (let n = 0; n < o.length; n++) {
749
+ const i = o[n];
750
+ if (i.name && (-1 === t || i.flag & t)) {
751
751
  let t;
752
- !e.gclass.gmt.mt_reading || e.obflag & D.obflag_destroyed ? t = Gt(e.jn_attrs, o.name) : (t = e.gclass.gmt.mt_reading(e, o.name), void 0 === t && (t = Gt(e.jn_attrs, o.name))), Wt(r, o.name, t);
752
+ !e.gclass.gmt.mt_reading || e.obflag & D.obflag_destroyed ? t = Gt(e.jn_attrs, i.name) : (t = e.gclass.gmt.mt_reading(e, i.name), void 0 === t && (t = Gt(e.jn_attrs, i.name))), Wt(r, i.name, t);
753
753
  }
754
754
  }
755
755
  return r;
@@ -779,12 +779,12 @@
779
779
  return n ? !e.gclass.gmt.mt_reading || e.obflag & D.obflag_destroyed ? Gt(n, t) : e.gclass.gmt.mt_reading(e, t) : (Rt(`${we(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
780
780
  }
781
781
  function He(e, t, n, r) {
782
- let i = G(e), o = 0;
782
+ let o = G(e), i = 0;
783
783
  for (const [r, l] of Object.entries(t)) {
784
784
  let t = Pe(e, r, !0);
785
- t && (-1 === n || t.flag & n) && (o += F(e, i, t, l));
785
+ t && (-1 === n || t.flag & n) && (i += F(e, o, t, l));
786
786
  }
787
- return o;
787
+ return i;
788
788
  }
789
789
  function Xe(e, t, n) {
790
790
  let r = V(e, t, !1);
@@ -820,35 +820,35 @@
820
820
  }
821
821
  return null;
822
822
  }
823
- function it(e, t, n) {
823
+ function ot(e, t, n) {
824
824
  let r = rt(e, t, !1);
825
825
  return !!r && !(n && !(r.event_flag & n));
826
826
  }
827
- function ot(e, t, n) {
827
+ function it(e, t, n) {
828
828
  let r = rt(e, t, !1);
829
829
  return !!r && !(n && !(r.event_flag & n)) && !!(r.event_flag & R.EVF_OUTPUT_EVENT);
830
830
  }
831
- function lt(e, t, r, i) {
831
+ function lt(e, t, r, o) {
832
832
  if (!(e && e instanceof O)) return Rt("gobj dst NULL"), -1;
833
833
  if (e.obflag & (D.obflag_destroyed | D.obflag_destroying)) return Rt("gobj dst DESTROYED"), -1;
834
- let o = e.current_state;
835
- if (!o) return Rt(`${we(e)}: current_state NULL`), -1;
834
+ let i = e.current_state;
835
+ if (!i) return Rt(`${we(e)}: current_state NULL`), -1;
836
836
  let l = 0;
837
- l = p && ze(p, "tracing"), "C_TIMER" === Ne(i) && (l = p && ze(p, "trace_timer")), h++;
838
- let s = Y(o, t);
839
- if (!s) return e.gclass.gmt.mt_inject_event ? (h--, l && (P(n("🔃 mach(%s%s), st: %s, ev: %s, from(%s%s)", e.running ? "" : "!!", we(e), o.state_name, t || "", i && !i.running ? "!!" : "", we(i))), r && l > 1 && Bt(r) && It(r)), e.gclass.gmt.mt_inject_event(e, t, r, i)) : (l && P(n("📛 mach(%s%s^%s), st: %s, ev: %s, 📛📛ERROR Event NOT DEFINED in state📛📛, from(%s%s^%s)", e.running ? "" : "!!", Ne(e), Oe(e), o.state_name, t || "", i && !i.running ? "!!" : "", Ne(i), Oe(i))), Rt(`📛📛 Event NOT DEFINED in state 📛📛: ${we(e)}, ${o.state_name}, ${t}`), h--, -1);
837
+ l = p && ze(p, "tracing"), "C_TIMER" === Ne(o) && (l = p && ze(p, "trace_timer")), h++;
838
+ let s = Y(i, t);
839
+ if (!s) return e.gclass.gmt.mt_inject_event ? (h--, l && (P(n("🔃 mach(%s%s), st: %s, ev: %s, from(%s%s)", e.running ? "" : "!!", we(e), i.state_name, t || "", o && !o.running ? "!!" : "", we(o))), r && l > 1 && Bt(r) && It(r)), e.gclass.gmt.mt_inject_event(e, t, r, o)) : (l && P(n("📛 mach(%s%s^%s), st: %s, ev: %s, 📛📛ERROR Event NOT DEFINED in state📛📛, from(%s%s^%s)", e.running ? "" : "!!", Ne(e), Oe(e), i.state_name, t || "", o && !o.running ? "!!" : "", Ne(o), Oe(o))), Rt(`📛📛 Event NOT DEFINED in state 📛📛: ${we(e)}, ${i.state_name}, ${t}`), h--, -1);
840
840
  if (l) {
841
- if (1 === L) P(n("🔄 %s %s%s %s from %s%s", t || "", e.running ? "" : "!!", we(e), o.state_name, i && !i.running ? "!!" : "", we(i)));
841
+ if (1 === L) P(n("🔄 %s %s%s %s from %s%s", t || "", e.running ? "" : "!!", we(e), i.state_name, o && !o.running ? "!!" : "", we(o)));
842
842
  else {
843
843
  let r = "";
844
- s.action && (r = Bn(s.action)), P(n("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Ne(e), Oe(e), o.state_name, "", t || "", "", r, i && !i.running ? "!!" : "", Ne(i), Oe(i)));
844
+ s.action && (r = Bn(s.action)), P(n("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Ne(e), Oe(e), i.state_name, "", t || "", "", r, o && !o.running ? "!!" : "", Ne(o), Oe(o)));
845
845
  }
846
846
  r && l > 1 && Bt(r) && It(r);
847
847
  }
848
848
  s.next_state && tt(e, s.next_state);
849
849
  let _ = -1;
850
850
  try {
851
- s.action && (_ = s.action(e, t, r, i));
851
+ s.action && (_ = s.action(e, t, r, o));
852
852
  } finally {}
853
853
  return !l || 1 === L || e.obflag & D.obflag_destroyed || P(n("<- mach(%s%s^%s), st: %s, ev: %s, ret: %d", e.running ? "" : "!!", Ne(e), Oe(e), e.current_state.state_name, t || "", Xt(_) ? _ : 0)), h--, _;
854
854
  }
@@ -868,11 +868,11 @@
868
868
  j(E.DTP_STRING, "__service__", 0, "", "subscription service"),
869
869
  v()
870
870
  ];
871
- function at(e, t, n, r, i) {
872
- let o = mn(t, r, "__config__", null), l = mn(t, r, "__global__", null), s = mn(t, r, "__local__", null), _ = hn(t, r, "__filter__", null), a = !0;
873
- if (t && t !== pn(null, e, "publisher", null) && (a = !1), i && i !== pn(null, e, "subscriber", null) && (a = !1), n && n !== bn(null, e, "event", "") && (a = !1), zt(o) > 0) {
871
+ function at(e, t, n, r, o) {
872
+ let i = mn(t, r, "__config__", null), l = mn(t, r, "__global__", null), s = mn(t, r, "__local__", null), _ = hn(t, r, "__filter__", null), a = !0;
873
+ if (t && t !== pn(null, e, "publisher", null) && (a = !1), o && o !== pn(null, e, "subscriber", null) && (a = !1), n && n !== bn(null, e, "event", "") && (a = !1), zt(i) > 0) {
874
874
  let t = mn(null, e, "__config__", null);
875
- zt(t) > 0 && Pt(t, o) || (a = !1);
875
+ zt(t) > 0 && Pt(t, i) || (a = !1);
876
876
  }
877
877
  if (zt(l) > 0) {
878
878
  let t = mn(null, e, "__global__", null);
@@ -888,29 +888,29 @@
888
888
  }
889
889
  return a;
890
890
  }
891
- function ut(e, t, n, r, i) {
892
- let o = [];
891
+ function ut(e, t, n, r, o) {
892
+ let i = [];
893
893
  for (let l = 0; l < e.length; l++) {
894
894
  let s = e[l];
895
- at(s, t, n, r, i) && Kt(o, s);
895
+ at(s, t, n, r, o) && Kt(i, s);
896
896
  }
897
- return o;
897
+ return i;
898
898
  }
899
- function ct(e, t, n, r, i) {
900
- for (let o = 0; o < e.length; o++) if (at(e[o], t, n, r, i)) return o;
899
+ function ct(e, t, n, r, o) {
900
+ for (let i = 0; i < e.length; i++) if (at(e[i], t, n, r, o)) return i;
901
901
  return -1;
902
902
  }
903
- function ft(e, t, r, i) {
904
- let o = pn(e, t, "publisher", null, ht.KW_REQUIRED), l = pn(e, t, "subscriber", null, ht.KW_REQUIRED), s = bn(e, t, "event", "", ht.KW_REQUIRED);
903
+ function ft(e, t, r, o) {
904
+ let i = pn(e, t, "publisher", null, ht.KW_REQUIRED), l = pn(e, t, "subscriber", null, ht.KW_REQUIRED), s = bn(e, t, "event", "", ht.KW_REQUIRED);
905
905
  if (!!(dn(e, t, "subs_flag", null, ht.KW_REQUIRED) & st.__hard_subscription__) && !r) return -1;
906
- p && Je(p, "trace_subscriptions") && (P(n("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", s || "", we(o), we(l))), It(t)), o.obflag & D.obflag_destroyed || i || o.gclass.gmt.mt_subscription_deleted && o.gclass.gmt.mt_subscription_deleted(o, t);
907
- let _ = ct(o.dl_subscriptions, o, s, t, l);
908
- return _ >= 0 ? Yt(o.dl_subscriptions, _) : (Rt(`${we(e)}: subscription in publisher not found`), It(t)), _ = ct(l.dl_subscribings, o, s, t, l), _ >= 0 ? Yt(l.dl_subscribings, _) : (Rt(`${we(e)}: subscription in subscriber not found`), It(t)), 0;
906
+ p && Je(p, "trace_subscriptions") && (P(n("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", s || "", we(i), we(l))), It(t)), i.obflag & D.obflag_destroyed || o || i.gclass.gmt.mt_subscription_deleted && i.gclass.gmt.mt_subscription_deleted(i, t);
907
+ let _ = ct(i.dl_subscriptions, i, s, t, l);
908
+ return _ >= 0 ? Yt(i.dl_subscriptions, _) : (Rt(`${we(e)}: subscription in publisher not found`), It(t)), _ = ct(l.dl_subscribings, i, s, t, l), _ >= 0 ? Yt(l.dl_subscribings, _) : (Rt(`${we(e)}: subscription in subscriber not found`), It(t)), 0;
909
909
  }
910
- function gt(e, t, r, i) {
910
+ function gt(e, t, r, o) {
911
911
  if (null == r && (r = {}), !e) return Rt(`publisher NULL: ev ${t}`), 0;
912
- if (!i) return Rt(`subscriber NULL: ev ${t}`), 0;
913
- const o = new Set([
912
+ if (!o) return Rt(`subscriber NULL: ev ${t}`), 0;
913
+ const i = new Set([
914
914
  "__config__",
915
915
  "__global__",
916
916
  "__local__",
@@ -918,33 +918,33 @@
918
918
  "__service__"
919
919
  ]);
920
920
  if (Object.keys(r).forEach((n) => {
921
- o.has(n) || Rt(`${we(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
921
+ i.has(n) || Rt(`${we(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
922
922
  }), rn(t)) t = "";
923
- else if (!(ot(e, t, R.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & N.gcflag_no_check_output_events)) return Rt(`event NOT in output event list: ${we(e)}, ${t}`), 0;
924
- let l = ut(e.dl_subscriptions, e, t, r, i);
923
+ else if (!(it(e, t, R.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & N.gcflag_no_check_output_events)) return Rt(`event NOT in output event list: ${we(e)}, ${t}`), 0;
924
+ let l = ut(e.dl_subscriptions, e, t, r, o);
925
925
  Jt(l) > 0 && (Rt(`${we(e)}: ${Jt(l)} subscription(s) REPEATED, will be deleted and override`), It(l, "subscription REPEATED"), dt(e, l, !1));
926
926
  let s = function(e, t, n, r) {
927
- let i = U(e, _t);
928
- Mt(i, "event", t), Mt(i, "subscriber", r), Mt(i, "publisher", e);
929
- let o = 0;
927
+ let o = U(e, _t);
928
+ Mt(o, "event", t), Mt(o, "subscriber", r), Mt(o, "publisher", e);
929
+ let i = 0;
930
930
  if (n) {
931
931
  let t = mn(e, n, "__config__", null), r = mn(e, n, "__global__", null), l = mn(e, n, "__local__", null), s = hn(e, n, "__filter__", null), _ = bn(e, n, "__service__", "");
932
- if (zt(r) > 0 && Mt(i, "__global__", Lt(r)), zt(t) > 0) {
932
+ if (zt(r) > 0 && Mt(o, "__global__", Lt(r)), zt(t) > 0) {
933
933
  let n = Lt(t);
934
- if (Mt(i, "__config__", n), un(n, "__hard_subscription__")) {
934
+ if (Mt(o, "__config__", n), un(n, "__hard_subscription__")) {
935
935
  let t = gn(e, n, "__hard_subscription__", !1);
936
- Vt(n, "__hard_subscription__"), t && (o |= st.__hard_subscription__);
936
+ Vt(n, "__hard_subscription__"), t && (i |= st.__hard_subscription__);
937
937
  }
938
938
  if (un(n, "__own_event__")) {
939
939
  let t = gn(e, n, "__own_event__", !1);
940
- Vt(n, "__own_event__"), t && (o |= st.__own_event__);
940
+ Vt(n, "__own_event__"), t && (i |= st.__own_event__);
941
941
  }
942
942
  }
943
- zt(l) > 0 && Mt(i, "__local__", Lt(l)), zt(s) > 0 && Mt(i, "__filter__", Lt(s)), rn(_) || Mt(i, "__service__", _);
943
+ zt(l) > 0 && Mt(o, "__local__", Lt(l)), zt(s) > 0 && Mt(o, "__filter__", Lt(s)), rn(_) || Mt(o, "__service__", _);
944
944
  }
945
- return Mt(i, "subs_flag", o), i;
946
- }(e, t, r, i);
947
- return s ? (Kt(e.dl_subscriptions, s), Kt(i.dl_subscribings, s), p && Je(p, "trace_subscriptions") && (P(n("💜💜👍 subscribing event '%s', publisher '%s', subscriber %s", t || "", we(e), we(i))), r && It(r)), e.gclass.gmt.mt_subscription_added && e.gclass.gmt.mt_subscription_added(e, s) < 0 && (ft(e, s, !0, !0), s = 0), s) : (Rt(`${we(e)}: _create_subscription() FAILED`), 0);
945
+ return Mt(o, "subs_flag", i), o;
946
+ }(e, t, r, o);
947
+ return s ? (Kt(e.dl_subscriptions, s), Kt(o.dl_subscribings, s), p && Je(p, "trace_subscriptions") && (P(n("💜💜👍 subscribing event '%s', publisher '%s', subscriber %s", t || "", we(e), we(o))), r && It(r)), e.gclass.gmt.mt_subscription_added && e.gclass.gmt.mt_subscription_added(e, s) < 0 && (ft(e, s, !0, !0), s = 0), s) : (Rt(`${we(e)}: _create_subscription() FAILED`), 0);
948
948
  }
949
949
  function dt(e, t, n) {
950
950
  let r = [...t];
@@ -960,16 +960,16 @@
960
960
  function mt(e, t, r) {
961
961
  if (Qt(r) || (r = {}), !e || e.obflag & (D.obflag_destroyed | D.obflag_destroying)) return Rt("gobj NULL or DESTROYED"), -1;
962
962
  if (rn(t)) return Rt(`${we(e)}: event EMPTY`), -1;
963
- let i = rt(e, t, !0);
964
- if (!(i && i.event_flag & (R.EVF_SYSTEM_EVENT | R.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & N.gcflag_no_check_output_events)) return Rt(`event NOT in output event list: ${we(e)}, ev ${t}`), -1;
965
- let o = p && Je(p, "trace_subscriptions");
966
- if (o && (P(n("🔝🔝 mach(%s%s^%s), st: %s, ev: %s%s%s", e.running ? "" : "!!", Ne(e), Oe(e), e.current_state.state_name, "", t || "", "")), It(r)), e.gclass.gmt.mt_publish_event) {
963
+ let o = rt(e, t, !0);
964
+ if (!(o && o.event_flag & (R.EVF_SYSTEM_EVENT | R.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & N.gcflag_no_check_output_events)) return Rt(`event NOT in output event list: ${we(e)}, ev ${t}`), -1;
965
+ let i = p && Je(p, "trace_subscriptions");
966
+ if (i && (P(n("🔝🔝 mach(%s%s^%s), st: %s, ev: %s%s%s", e.running ? "" : "!!", Ne(e), Oe(e), e.current_state.state_name, "", t || "", "")), It(r)), e.gclass.gmt.mt_publish_event) {
967
967
  let n = e.gclass.gmt.mt_publish_event(e, t, r);
968
968
  if (n <= 0) return n;
969
969
  }
970
970
  let l = [...e.dl_subscriptions], s = 0, _ = 0;
971
- for (let i = 0; i < l.length; i++) {
972
- let a = l[i];
971
+ for (let o = 0; o < l.length; o++) {
972
+ let a = l[o];
973
973
  if (e.gclass.gmt.mt_publication_pre_filter) {
974
974
  let n = e.gclass.gmt.mt_publication_pre_filter(e, a, t, r);
975
975
  if (n < 0) break;
@@ -980,12 +980,12 @@
980
980
  let c = dn(e, a, "subs_flag", 0, ht.KW_REQUIRED), f = bn(e, a, "event", "", ht.KW_REQUIRED);
981
981
  if (rn(f) || 0 === sn(f, t)) {
982
982
  mn(e, a, "__config__", null, 0);
983
- let i = mn(e, a, "__global__", null, 0), l = mn(e, a, "__local__", null, 0), f = hn(e, a, "__filter__", null, 0), g = r, d = 1;
984
- if (e.gclass.gmt.mt_publication_filter ? d = e.gclass.gmt.mt_publication_filter(e, t, g, u) : zt(f) > 0 && (d = vn(g, f), o && (P(n("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", d ? "👍" : "👎", t || "", we(u), we(e))), It(f))), d < 0) break;
983
+ let o = mn(e, a, "__global__", null, 0), l = mn(e, a, "__local__", null, 0), f = hn(e, a, "__filter__", null, 0), g = r, d = 1;
984
+ if (e.gclass.gmt.mt_publication_filter ? d = e.gclass.gmt.mt_publication_filter(e, t, g, u) : zt(f) > 0 && (d = vn(g, f), i && (P(n("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", d ? "👍" : "👎", t || "", we(u), we(e))), It(f))), d < 0) break;
985
985
  if (0 === d) continue;
986
986
  let b = rt(u, t, !0);
987
- if (b && b.event_flag & R.EVF_SYSTEM_EVENT && !it(u, b.event_name, 0)) continue;
988
- l && an(g, l), i && Ut(g, i), o && (P(n("🔝🔄 mach(%s%s), st: %s, ev: %s, from(%s%s)", u.running ? "" : "!!", we(u), nt(u), t || "", e && !e.running ? "!!" : "", we(e))), It(g));
987
+ if (b && b.event_flag & R.EVF_SYSTEM_EVENT && !ot(u, b.event_name, 0)) continue;
988
+ l && an(g, l), o && Ut(g, o), i && (P(n("🔝🔄 mach(%s%s), st: %s, ev: %s, from(%s%s)", u.running ? "" : "!!", we(u), nt(u), t || "", e && !e.running ? "!!" : "", we(e))), It(g));
989
989
  let p = lt(u, t, g, e);
990
990
  if (p < 0 && c & st.__own_event__) {
991
991
  s = -1;
@@ -994,7 +994,7 @@
994
994
  if (_ += p, s++, Ae(e)) break;
995
995
  }
996
996
  }
997
- return s || i && i.event_flag & R.EVF_NO_WARN_SUBS || kt(`${we(e)}: Publish event WITHOUT subscribers, ev ${t}`), _;
997
+ return s || o && o.event_flag & R.EVF_NO_WARN_SUBS || kt(`${we(e)}: Publish event WITHOUT subscribers, ev ${t}`), _;
998
998
  }
999
999
  var ht = Object.freeze({
1000
1000
  KW_REQUIRED: 1,
@@ -1046,8 +1046,8 @@
1046
1046
  default: return e;
1047
1047
  }
1048
1048
  });
1049
- const i = t.slice(r).map((e) => "object" == typeof e ? JSON.stringify(e) : String(e));
1050
- i.length > 0 && (n += " " + i.join(" "));
1049
+ const o = t.slice(r).map((e) => "object" == typeof e ? JSON.stringify(e) : String(e));
1050
+ o.length > 0 && (n += " " + o.join(" "));
1051
1051
  } else n = t.map((e) => "object" == typeof e ? JSON.stringify(e) : String(e)).join(" ");
1052
1052
  return n;
1053
1053
  }
@@ -1086,9 +1086,9 @@
1086
1086
  if ("object" == typeof e) {
1087
1087
  let n = Object.keys(e).sort(), r = Object.keys(t).sort();
1088
1088
  if (n.length !== r.length) return !1;
1089
- for (let i = 0; i < n.length; i++) {
1090
- if (n[i] !== r[i]) return !1;
1091
- if (!Pt(e[n[i]], t[r[i]])) return !1;
1089
+ for (let o = 0; o < n.length; o++) {
1090
+ if (n[o] !== r[o]) return !1;
1091
+ if (!Pt(e[n[o]], t[r[o]])) return !1;
1092
1092
  }
1093
1093
  return !0;
1094
1094
  }
@@ -1199,177 +1199,177 @@
1199
1199
  function cn(e, t, n, r) {
1200
1200
  if (e && !nn(e) && Rt("GObj bad instanceof"), !Qt(t) && !qt(t)) return Rt(`${we(e)}: kw must be list or dict`), 0;
1201
1201
  if (!Ht(n)) return Rt(`${we(e)}: path must be a string: ${String(n)}`), 0;
1202
- let i = n.split("`");
1203
- if (i.length <= 1) return t[n];
1204
- let o = i.length;
1205
- for (let l = 0; l < o; l++) if (void 0 === (t = t[i[l]])) return void (r && Rt(`${we(e)}: path not found: ${String(n)}`));
1202
+ let o = n.split("`");
1203
+ if (o.length <= 1) return t[n];
1204
+ let i = o.length;
1205
+ for (let l = 0; l < i; l++) if (void 0 === (t = t[o[l]])) return void (r && Rt(`${we(e)}: path not found: ${String(n)}`));
1206
1206
  return t;
1207
1207
  }
1208
1208
  function fn(e, t, n) {
1209
1209
  e && !nn(e) && Rt("GObj bad instanceof");
1210
- let [r, i] = function(e, t) {
1210
+ let [r, o] = function(e, t) {
1211
1211
  let n = e.lastIndexOf(t);
1212
1212
  return -1 === n ? [e, ""] : [e.substring(0, n), e.substring(n + 1)];
1213
1213
  }(n, "`");
1214
- return rn(i) ? Vt(t, n) : Vt(cn(e, t, r, !0), i), 0;
1214
+ return rn(o) ? Vt(t, n) : Vt(cn(e, t, r, !0), o), 0;
1215
1215
  }
1216
- function gn(e, t, n, r, i) {
1216
+ function gn(e, t, n, r, o) {
1217
1217
  e && !nn(e) && Rt("GObj bad instanceof");
1218
- let o = cn(e, t, n, !1);
1219
- const l = i && i & ht.KW_REQUIRED, s = i && i & ht.KW_CREATE, _ = i && i & ht.KW_EXTRACT;
1220
- if (void 0 === o) {
1218
+ let i = cn(e, t, n, !1);
1219
+ const l = o && o & ht.KW_REQUIRED, s = o && o & ht.KW_CREATE, _ = o && o & ht.KW_EXTRACT;
1220
+ if (void 0 === i) {
1221
1221
  if (s) {
1222
- let i = Boolean(r);
1223
- return En(e, t, n, i), i;
1222
+ let o = Boolean(r);
1223
+ return En(e, t, n, o), o;
1224
1224
  }
1225
1225
  return l && (Rt(`path not found: '${n}'`), It(t)), Boolean(r);
1226
1226
  }
1227
- return _ && fn(e, t, n), Boolean(o);
1227
+ return _ && fn(e, t, n), Boolean(i);
1228
1228
  }
1229
- function dn(e, t, n, r, i) {
1229
+ function dn(e, t, n, r, o) {
1230
1230
  e && !nn(e) && Rt("GObj bad instanceof");
1231
- let o = cn(e, t, n, !1);
1232
- const l = i && i & ht.KW_REQUIRED, s = i && i & ht.KW_CREATE, _ = i && i & ht.KW_EXTRACT;
1233
- if (void 0 === o) {
1231
+ let i = cn(e, t, n, !1);
1232
+ const l = o && o & ht.KW_REQUIRED, s = o && o & ht.KW_CREATE, _ = o && o & ht.KW_EXTRACT;
1233
+ if (void 0 === i) {
1234
1234
  if (s) {
1235
- let i = parseInt(r);
1236
- return En(e, t, n, i), i;
1235
+ let o = parseInt(r);
1236
+ return En(e, t, n, o), o;
1237
1237
  }
1238
1238
  return l && (Rt(`path not found: '${n}'`), It(t)), parseInt(r);
1239
1239
  }
1240
- return _ && fn(e, t, n), Xt(o) ? parseInt(o) : (l && (Rt(`path value MUST BE a number: ${n}`), At(t)), parseInt(r));
1240
+ return _ && fn(e, t, n), Xt(i) ? parseInt(i) : (l && (Rt(`path value MUST BE a number: ${n}`), At(t)), parseInt(r));
1241
1241
  }
1242
- function bn(e, t, n, r, i) {
1242
+ function bn(e, t, n, r, o) {
1243
1243
  e && !nn(e) && Rt("GObj bad instanceof");
1244
- let o = cn(e, t, n, !1);
1245
- const l = i && i & ht.KW_REQUIRED, s = i && i & ht.KW_CREATE, _ = i && i & ht.KW_EXTRACT;
1246
- if (void 0 === o) {
1244
+ let i = cn(e, t, n, !1);
1245
+ const l = o && o & ht.KW_REQUIRED, s = o && o & ht.KW_CREATE, _ = o && o & ht.KW_EXTRACT;
1246
+ if (void 0 === i) {
1247
1247
  if (s) {
1248
- let i = String(r);
1249
- return En(e, t, n, i), i;
1248
+ let o = String(r);
1249
+ return En(e, t, n, o), o;
1250
1250
  }
1251
1251
  return l && (Rt(`path not found: '${n}'`), It(t)), String(r);
1252
1252
  }
1253
- return _ && fn(e, t, n), Ht(o) ? String(o) : (l && (Rt(`${we(e)}: path value MUST BE a string: ${n}`), At(t)), String(r));
1253
+ return _ && fn(e, t, n), Ht(i) ? String(i) : (l && (Rt(`${we(e)}: path value MUST BE a string: ${n}`), At(t)), String(r));
1254
1254
  }
1255
- function pn(e, t, n, r, i) {
1255
+ function pn(e, t, n, r, o) {
1256
1256
  e && !nn(e) && Rt("GObj bad instanceof");
1257
- let o = cn(e, t, n, !1);
1258
- const l = i && i & ht.KW_REQUIRED, s = i && i & ht.KW_CREATE, _ = i && i & ht.KW_EXTRACT;
1259
- if (void 0 === o) {
1257
+ let i = cn(e, t, n, !1);
1258
+ const l = o && o & ht.KW_REQUIRED, s = o && o & ht.KW_CREATE, _ = o && o & ht.KW_EXTRACT;
1259
+ if (void 0 === i) {
1260
1260
  if (s) {
1261
- let i = r;
1262
- return En(e, t, n, i), i;
1261
+ let o = r;
1262
+ return En(e, t, n, o), o;
1263
1263
  }
1264
1264
  return l && (Rt(`path not found: '${n}'`), It(t)), r;
1265
1265
  }
1266
- return _ && fn(e, t, n), o;
1266
+ return _ && fn(e, t, n), i;
1267
1267
  }
1268
- function mn(e, t, n, r, i) {
1268
+ function mn(e, t, n, r, o) {
1269
1269
  e && !nn(e) && Rt("GObj bad instanceof");
1270
- let o = cn(e, t, n, !1);
1271
- const l = i && i & ht.KW_REQUIRED, s = i && i & ht.KW_CREATE, _ = i && i & ht.KW_EXTRACT;
1272
- if (void 0 === o) {
1270
+ let i = cn(e, t, n, !1);
1271
+ const l = o && o & ht.KW_REQUIRED, s = o && o & ht.KW_CREATE, _ = o && o & ht.KW_EXTRACT;
1272
+ if (void 0 === i) {
1273
1273
  if (s) {
1274
- let i = Object(r);
1275
- return En(e, t, n, i), i;
1274
+ let o = Object(r);
1275
+ return En(e, t, n, o), o;
1276
1276
  }
1277
1277
  return l && (Rt(`path not found: '${n}'`), It(t)), Object(r);
1278
1278
  }
1279
- return _ && fn(e, t, n), Qt(o) ? Object(o) : (l && (Rt(`path value MUST BE a dict: ${n}`), At(t)), Object(r));
1279
+ return _ && fn(e, t, n), Qt(i) ? Object(i) : (l && (Rt(`path value MUST BE a dict: ${n}`), At(t)), Object(r));
1280
1280
  }
1281
- function hn(e, t, n, r, i) {
1281
+ function hn(e, t, n, r, o) {
1282
1282
  e && !nn(e) && Rt("GObj bad instanceof");
1283
- let o = cn(e, t, n, !1);
1284
- const l = i && i & ht.KW_REQUIRED, s = i && i & ht.KW_CREATE, _ = i && i & ht.KW_EXTRACT;
1285
- if (void 0 === o) {
1283
+ let i = cn(e, t, n, !1);
1284
+ const l = o && o & ht.KW_REQUIRED, s = o && o & ht.KW_CREATE, _ = o && o & ht.KW_EXTRACT;
1285
+ if (void 0 === i) {
1286
1286
  if (s) {
1287
- let i = r;
1288
- return En(e, t, n, i), i;
1287
+ let o = r;
1288
+ return En(e, t, n, o), o;
1289
1289
  }
1290
1290
  return l && (Rt(`path not found: '${n}'`), It(t)), r;
1291
1291
  }
1292
- return _ && fn(e, t, n), o;
1292
+ return _ && fn(e, t, n), i;
1293
1293
  }
1294
1294
  function En(e, t, n, r) {
1295
1295
  if (e && !nn(e) && Rt("GObj bad instanceof"), !Qt(t)) return Rt("kw is not an object"), -1;
1296
- let i = n.split("`");
1297
- if (i.length <= 1) return t[n] = r, 0;
1298
- let o = i.length;
1299
- for (let e = 0; e < o; e++) {
1300
- let n = i[e];
1301
- e === o - 1 ? t[n] = r : (void 0 === t[n] && (t[n] = {}), t = t[n]);
1296
+ let o = n.split("`");
1297
+ if (o.length <= 1) return t[n] = r, 0;
1298
+ let i = o.length;
1299
+ for (let e = 0; e < i; e++) {
1300
+ let n = o[e];
1301
+ e === i - 1 ? t[n] = r : (void 0 === t[n] && (t[n] = {}), t = t[n]);
1302
1302
  }
1303
1303
  return 0;
1304
1304
  }
1305
- function yn(e, t, n, r, i) {
1305
+ function yn(e, t, n, r, o) {
1306
1306
  if (e && !nn(e) && Rt("GObj bad instanceof"), !Qt(t)) return Rt("kw is not an object"), -1;
1307
- let o = mn(e, t, n, {}, !0);
1308
- return Qt(o) ? (o[r] = i, 0) : (Rt("subdict is not an object"), -1);
1307
+ let i = mn(e, t, n, {}, !0);
1308
+ return Qt(i) ? (i[r] = o, 0) : (Rt("subdict is not an object"), -1);
1309
1309
  }
1310
1310
  function Tn(e, t, r) {
1311
- let i = "", o = !1;
1311
+ let o = "", i = !1;
1312
1312
  if (qt(t)) {
1313
- o = !1;
1313
+ i = !1;
1314
1314
  for (let l = 0; l < t.length; l++) {
1315
1315
  let s = t[l];
1316
- if (i = rn(r) ? n("%s", r) : n("%s`%d", r, l), o = Tn(e, s, i), o) break;
1316
+ if (o = rn(r) ? n("%s", r) : n("%s`%d", r, l), i = Tn(e, s, o), i) break;
1317
1317
  }
1318
1318
  } else if (Qt(t)) {
1319
- o = !0;
1319
+ i = !0;
1320
1320
  let l = Object.keys(t);
1321
1321
  for (let s = 0; s < l.length; s++) {
1322
1322
  let _ = l[s], a = t[_];
1323
- if (i = rn(r) ? n("%s", _) : n("%s`%s", r, _), qt(a) || Qt(a)) {
1324
- if (o = Tn(e, a, i), !o) break;
1323
+ if (o = rn(r) ? n("%s", _) : n("%s`%s", r, _), qt(a) || Qt(a)) {
1324
+ if (i = Tn(e, a, o), !i) break;
1325
1325
  continue;
1326
1326
  }
1327
- let u = hn(0, e, i, 0, 0);
1328
- if (u || (u = Gt(e, i)), !u) {
1329
- o = !1;
1327
+ let u = hn(0, e, o, 0, 0);
1328
+ if (u || (u = Gt(e, o)), !u) {
1329
+ i = !1;
1330
1330
  break;
1331
1331
  }
1332
1332
  if (0 !== _n(u, a)) {
1333
- o = !1;
1333
+ i = !1;
1334
1334
  break;
1335
1335
  }
1336
1336
  }
1337
1337
  }
1338
- return o;
1338
+ return i;
1339
1339
  }
1340
1340
  function vn(e, t) {
1341
1341
  return 0 === zt(t) || Tn(e, t, "");
1342
1342
  }
1343
1343
  function jn(e, t, n, r) {
1344
1344
  e && !nn(e) && Rt("GObj bad instanceof");
1345
- let i = {};
1345
+ let o = {};
1346
1346
  if (Ht(n) && !rn(n)) {
1347
- let o = n;
1348
- t.hasOwnProperty(o) ? i[o] = t[o] : r && Rt(`${we(e)}: key not found: ${o}`);
1349
- } else if (Qt(n) && Bt(n) > 0) for (let o of Object.keys(n)) t.hasOwnProperty(o) ? i[o] = t[o] : r && Rt(`${we(e)}: key not found: ${o}`);
1347
+ let i = n;
1348
+ t.hasOwnProperty(i) ? o[i] = t[i] : r && Rt(`${we(e)}: key not found: ${i}`);
1349
+ } else if (Qt(n) && Bt(n) > 0) for (let i of Object.keys(n)) t.hasOwnProperty(i) ? o[i] = t[i] : r && Rt(`${we(e)}: key not found: ${i}`);
1350
1350
  else {
1351
1351
  if (!(qt(n) && Jt(n) > 0)) return t;
1352
- for (let o = 0; o < n.length; o++) {
1353
- let l = n[o];
1354
- t.hasOwnProperty(l) ? i[l] = t[l] : r && Rt(`${we(e)}: key not found: ${l}`);
1352
+ for (let i = 0; i < n.length; i++) {
1353
+ let l = n[i];
1354
+ t.hasOwnProperty(l) ? o[l] = t[l] : r && Rt(`${we(e)}: key not found: ${l}`);
1355
1355
  }
1356
1356
  }
1357
- return i;
1357
+ return o;
1358
1358
  }
1359
1359
  function Sn(e, t, n, r) {
1360
- let i = {};
1361
- if (Ut(i, t), Ht(n) && !rn(n)) {
1362
- let o = n;
1363
- hn(e, t, o, 0, 0) ? Vt(i, o) : r && Rt(`${we(e)}: key not found: ${o}`);
1364
- } else if (Qt(n) && Bt(n) > 0) for (let o of Object.keys(n)) t.hasOwnProperty(o) ? Vt(i, o) : r && Rt(`${we(e)}: key not found: ${o}`);
1360
+ let o = {};
1361
+ if (Ut(o, t), Ht(n) && !rn(n)) {
1362
+ let i = n;
1363
+ hn(e, t, i, 0, 0) ? Vt(o, i) : r && Rt(`${we(e)}: key not found: ${i}`);
1364
+ } else if (Qt(n) && Bt(n) > 0) for (let i of Object.keys(n)) t.hasOwnProperty(i) ? Vt(o, i) : r && Rt(`${we(e)}: key not found: ${i}`);
1365
1365
  else {
1366
1366
  if (!(qt(n) && Jt(n) > 0)) return {};
1367
- for (let o = 0; o < n.length; o++) {
1368
- let l = n[o];
1369
- t.hasOwnProperty(l) ? Vt(i, l) : r && Rt(`${we(e)}: key not found: ${l}`);
1367
+ for (let i = 0; i < n.length; i++) {
1368
+ let l = n[i];
1369
+ t.hasOwnProperty(l) ? Vt(o, l) : r && Rt(`${we(e)}: key not found: ${l}`);
1370
1370
  }
1371
1371
  }
1372
- return i;
1372
+ return o;
1373
1373
  }
1374
1374
  function On(e, t, n = !1) {
1375
1375
  if ("undefined" != typeof window && window.localStorage) try {
@@ -1406,10 +1406,10 @@
1406
1406
  } else if (Ht(e) && e === t) return !0;
1407
1407
  return !1;
1408
1408
  }
1409
- function Rn(e, t, n, r, i) {
1409
+ function Rn(e, t, n, r, o) {
1410
1410
  if (e && !nn(e) && Rt("GObj bad instanceof"), !t) return null;
1411
- i || (i = vn);
1412
- let o = [];
1411
+ o || (o = vn);
1412
+ let i = [];
1413
1413
  if (qt(t)) for (let l = 0; l < t.length; l++) {
1414
1414
  let s, _ = t[l];
1415
1415
  if (Qt(_)) s = bn(e, _, "id", "", 0);
@@ -1417,16 +1417,16 @@
1417
1417
  if (!Ht(_)) continue;
1418
1418
  s = _;
1419
1419
  }
1420
- Dn(n, s) && i(_, r) && o.push(_);
1420
+ Dn(n, s) && o(_, r) && i.push(_);
1421
1421
  }
1422
1422
  else {
1423
1423
  if (!Qt(t)) return Rt("kw_collect() BAD kw parameter"), null;
1424
1424
  for (let e of Object.keys(t)) {
1425
1425
  let l = t[e];
1426
- Dn(n, e) && i(l, r) && o.push(l);
1426
+ Dn(n, e) && o(l, r) && i.push(l);
1427
1427
  }
1428
1428
  }
1429
- return o;
1429
+ return i;
1430
1430
  }
1431
1431
  function kn(e, t) {
1432
1432
  if (!e) return -1;
@@ -1460,10 +1460,10 @@
1460
1460
  function Ln(e, t, n, r) {
1461
1461
  if (!nn(e)) return Rt("gobj is not a GObj"), null;
1462
1462
  if (!t) return;
1463
- let i = An(t, n);
1464
- i || (i = [], In(t, n, i));
1463
+ let o = An(t, n);
1464
+ o || (o = [], In(t, n, o));
1465
1465
  try {
1466
- qt(i) && i.unshift(r);
1466
+ qt(o) && o.unshift(r);
1467
1467
  } catch (e) {
1468
1468
  Rt(e);
1469
1469
  }
@@ -1471,8 +1471,8 @@
1471
1471
  function Pn(e, t, n, r) {
1472
1472
  if (!nn(e)) return Rt("gobj is not a GObj"), null;
1473
1473
  if (!Qt(t)) return Rt("kw is not a dict"), null;
1474
- let i = An(t, n);
1475
- return i ? 0 === i.length ? (r && Rt(`stack empty: ${n}`), null) : i[0] : (r && Rt(`stack NOT FOUND: ${n}`), null);
1474
+ let o = An(t, n);
1475
+ return o ? 0 === o.length ? (r && Rt(`stack empty: ${n}`), null) : o[0] : (r && Rt(`stack NOT FOUND: ${n}`), null);
1476
1476
  }
1477
1477
  function Un(e, t, n) {
1478
1478
  return rn(n) ? fn(e, t, "__md_iev__`__msg_type__") : yn(e, t, "__md_iev__", "__msg_type__", n), 0;
@@ -1484,25 +1484,25 @@
1484
1484
  void 0 !== n && Ht(n) || (n = "");
1485
1485
  for (let r of Object.keys(e)) {
1486
1486
  if (!e.hasOwnProperty(r)) continue;
1487
- let i = (n.length ? "`" : "") + r;
1488
- n += i, t.apply(this, [
1487
+ let o = (n.length ? "`" : "") + r;
1488
+ n += o, t.apply(this, [
1489
1489
  e,
1490
1490
  r,
1491
1491
  e[r],
1492
1492
  n
1493
- ]), Qt(e[r]) && Fn(e[r], t, n), n = n.slice(0, -i.length);
1493
+ ]), Qt(e[r]) && Fn(e[r], t, n), n = n.slice(0, -o.length);
1494
1494
  }
1495
1495
  }
1496
1496
  function Gn(e, t, n, r) {
1497
1497
  if (!e) return null;
1498
- let i, o = e.length;
1499
- for (i = 0; i < o; i++) {
1500
- let o = e[i];
1501
- if (o) {
1502
- let e = o.id;
1503
- if (e && e === n) return o;
1504
- if (r && un(o, t)) {
1505
- let e = Gn(o[t], t, n, r);
1498
+ let o, i = e.length;
1499
+ for (o = 0; o < i; o++) {
1500
+ let i = e[o];
1501
+ if (i) {
1502
+ let e = i.id;
1503
+ if (e && e === n) return i;
1504
+ if (r && un(i, t)) {
1505
+ let e = Gn(i[t], t, n, r);
1506
1506
  if (e) return e;
1507
1507
  }
1508
1508
  }
@@ -1570,10 +1570,10 @@
1570
1570
  function zn(e, t) {
1571
1571
  if (Ht(t)) {
1572
1572
  if (-1 === t.indexOf("^")) {
1573
- let n, r, i = e.fkey;
1574
- if (1 !== Bt(i)) return Rt("bad fkey 1"), Rt(e), Rt(t), null;
1575
- for (const e of Object.keys(i)) {
1576
- n = e, r = i[e];
1573
+ let n, r, o = e.fkey;
1574
+ if (1 !== Bt(o)) return Rt("bad fkey 1"), Rt(e), Rt(t), null;
1575
+ for (const e of Object.keys(o)) {
1576
+ n = e, r = o[e];
1577
1577
  break;
1578
1578
  }
1579
1579
  return {
@@ -1657,7 +1657,8 @@
1657
1657
  is_hidden: !1,
1658
1658
  default_value: e.default,
1659
1659
  placeholder: e.placeholder,
1660
- fillspace: e.fillspace || 4
1660
+ fillspace: e.fillspace || 4,
1661
+ fkey: e.fkey || null
1661
1662
  };
1662
1663
  if (!e.flag) return t;
1663
1664
  for (let n = 0; n < e.flag.length; n++) {
@@ -1697,10 +1698,10 @@
1697
1698
  timer_id: -1
1698
1699
  }, tr = null;
1699
1700
  function nr(e, t, n, r) {
1700
- let i = e.priv, o = i.periodic ? "EV_TIMEOUT_PERIODIC" : "EV_TIMEOUT";
1701
- return $e(e) ? lt(Re(e), o, {}, e) : mt(e, o, {}), i.periodic && (i.timer_id = setTimeout(function() {
1701
+ let o = e.priv, i = o.periodic ? "EV_TIMEOUT_PERIODIC" : "EV_TIMEOUT";
1702
+ return $e(e) ? lt(Re(e), i, {}, e) : mt(e, i, {}), o.periodic && (o.timer_id = setTimeout(function() {
1702
1703
  lt(e, "EV_TIMEOUT", {}, e);
1703
- }, i.msec)), 0;
1704
+ }, o.msec)), 0;
1704
1705
  }
1705
1706
  var rr = {
1706
1707
  mt_create: function(e) {
@@ -1727,10 +1728,10 @@
1727
1728
  },
1728
1729
  mt_destroy: function(e) {}
1729
1730
  };
1730
- function ir(e, t) {
1731
+ function or(e, t) {
1731
1732
  return e instanceof O ? "C_TIMER" !== Ne(e) ? (Rt("not C_TIMER GObj"), -1) : (Xe(e, "periodic", !1), void Ze(e, "msec", t)) : (Rt("not GObj TYPE"), -1);
1732
1733
  }
1733
- function or(e, t) {
1734
+ function ir(e, t) {
1734
1735
  return e instanceof O ? "C_TIMER" !== Ne(e) ? (Rt("not C_TIMER GObj"), -1) : (Xe(e, "periodic", !0), void Ze(e, "msec", t)) : (Rt("not GObj TYPE"), -1);
1735
1736
  }
1736
1737
  function lr(e) {
@@ -1773,7 +1774,7 @@
1773
1774
  },
1774
1775
  mt_writing: function(e, t) {},
1775
1776
  mt_start: function(e) {
1776
- return ae(e.priv.gobj_timer), or(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
1777
+ return ae(e.priv.gobj_timer), ir(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
1777
1778
  },
1778
1779
  mt_stop: function(e) {
1779
1780
  return fe(e.priv.gobj_timer), de(e), 0;
@@ -1837,11 +1838,11 @@
1837
1838
  }, n) : (Rt(`${we(e)}: Failed to initialize WebSocket.`), null);
1838
1839
  }
1839
1840
  function mr(e, t = 1e3, n = "") {
1840
- let r = e.priv, i = r.websocket;
1841
- if (r.websocket = null, i && i.readyState !== WebSocket.CLOSED && i.readyState !== WebSocket.CLOSING) {
1841
+ let r = e.priv, o = r.websocket;
1842
+ if (r.websocket = null, o && o.readyState !== WebSocket.CLOSED && o.readyState !== WebSocket.CLOSING) {
1842
1843
  $t(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
1843
1844
  try {
1844
- i.close(t, n);
1845
+ o.close(t, n);
1845
1846
  } catch (e) {
1846
1847
  Rt("Error closing WebSocket:", e.message);
1847
1848
  }
@@ -1864,9 +1865,10 @@
1864
1865
  return function(e, t) {
1865
1866
  let n = e.priv, r = JSON.stringify(t);
1866
1867
  if (Je(Te(), "trace_inter_event")) {
1867
- let n = Qe(e, "url"), i = Oe(Te()) + " ==> " + n, o = Ye(Te(), "trace_ievent_callback");
1868
- o ? o(i, t, 1, r.length) : hr(0, i, t);
1868
+ let n = Qe(e, "url"), o = Oe(Te()) + " ==> " + n, i = Ye(Te(), "trace_ievent_callback");
1869
+ i ? i(o, t, 1, r.length) : hr(0, o, t);
1869
1870
  }
1871
+ if (!n.websocket || n.websocket.readyState !== WebSocket.OPEN) return kt(`${we(e)}: send_iev(): websocket not open, message lost`), -1;
1870
1872
  try {
1871
1873
  n.websocket.send(r);
1872
1874
  } catch (t) {
@@ -1889,13 +1891,13 @@
1889
1891
  };
1890
1892
  }
1891
1893
  function vr(e) {
1892
- let t = e.priv, n = ye(Te()), r = Qe(Te(), "yuno_version"), i = Qe(Te(), "yuno_release"), o = Qe(Te(), "yuno_tag"), s = {
1894
+ let t = e.priv, n = ye(Te()), r = Qe(Te(), "yuno_version"), o = Qe(Te(), "yuno_release"), i = Qe(Te(), "yuno_tag"), s = {
1893
1895
  yuno_role: je(),
1894
1896
  yuno_id: Se(),
1895
1897
  yuno_name: ve(),
1896
- yuno_tag: o,
1898
+ yuno_tag: i,
1897
1899
  yuno_version: r,
1898
- yuno_release: i,
1900
+ yuno_release: o,
1899
1901
  yuneta_version: l,
1900
1902
  playing: n,
1901
1903
  pid: 0,
@@ -1909,44 +1911,44 @@
1909
1911
  language: "undefined" != typeof window ? window.navigator.language : "",
1910
1912
  required_services: Ye(Te(), "required_services")
1911
1913
  };
1912
- return Ln(e, s, fr, Tr(e, Oe(Re(e)), null)), Un(e, s, "__identity__"), ir(t.gobj_timer, ze(e, "timeout_idack")), yr(e, "EV_IDENTITY_CARD", s);
1914
+ return Ln(e, s, fr, Tr(e, Oe(Re(e)), null)), Un(e, s, "__identity__"), or(t.gobj_timer, ze(e, "timeout_idack")), yr(e, "EV_IDENTITY_CARD", s);
1913
1915
  }
1914
1916
  function jr(e, t) {
1915
1917
  if (rn(t.event)) return -1;
1916
- let n = {}, r = t.__global__, i = t.__config__, o = t.__filter__, l = t.__service__, s = t.subscriber;
1917
- return i && (n.__config__ = i), r && (n.__global__ = r), o && (n.__filter__ = o), Ln(e, n, fr, Tr(e, Oe(s), l)), Un(e, n, "__subscribing__"), yr(e, t.event, n);
1918
+ let n = {}, r = t.__global__, o = t.__config__, i = t.__filter__, l = t.__service__, s = t.subscriber;
1919
+ return o && (n.__config__ = o), r && (n.__global__ = r), i && (n.__filter__ = i), Ln(e, n, fr, Tr(e, Oe(s), l)), Un(e, n, "__subscribing__"), yr(e, t.event, n);
1918
1920
  }
1919
1921
  function Sr(e, t, n, r) {
1920
- let i = e.priv;
1921
- return me(e) && (i.websocket = pr(e)), 0;
1922
+ let o = e.priv;
1923
+ return me(e) && (o.websocket = pr(e)), 0;
1922
1924
  }
1923
1925
  function Or(e, t, n, r) {
1924
1926
  return $t("Websocket opened: " + e.priv.url), vr(e), 0;
1925
1927
  }
1926
1928
  function Nr(e, t, n, r) {
1927
- let i = e.priv, o = n.e, l = n.url;
1928
- return wt(), kt(`${we(e)}: WebSocket closed ${l} (Code: ${o.code}, Reason: "${o.reason}", Clean: ${o.wasClean})`), i.websocket && (i.websocket.onopen = null, i.websocket.onmessage = null, i.websocket.onerror = null, i.websocket.onclose = null, i.websocket = null), i.inform_on_close ? (i.inform_on_close = !1, mt(e, "EV_ON_CLOSE", {
1929
+ let o = e.priv, i = n.e, l = n.url;
1930
+ return wt(), kt(`${we(e)}: WebSocket closed ${l} (Code: ${i.code}, Reason: "${i.reason}", Clean: ${i.wasClean})`), o.websocket && (o.websocket.onopen = null, o.websocket.onmessage = null, o.websocket.onerror = null, o.websocket.onclose = null, o.websocket = null), o.inform_on_close ? (o.inform_on_close = !1, mt(e, "EV_ON_CLOSE", {
1929
1931
  url: l,
1930
- remote_yuno_name: i.remote_yuno_name,
1931
- remote_yuno_role: i.remote_yuno_role,
1932
- remote_yuno_service: i.remote_yuno_service
1933
- })) : (kt(`${we(e)}: EV_ON_OPEN_ERROR cannot open ${l} (Code: ${o.code}, Reason: "${o.reason}", Clean: ${o.wasClean})`), mt(e, "EV_ON_OPEN_ERROR", {
1932
+ remote_yuno_name: o.remote_yuno_name,
1933
+ remote_yuno_role: o.remote_yuno_role,
1934
+ remote_yuno_service: o.remote_yuno_service
1935
+ })) : (kt(`${we(e)}: EV_ON_OPEN_ERROR cannot open ${l} (Code: ${i.code}, Reason: "${i.reason}", Clean: ${i.wasClean})`), mt(e, "EV_ON_OPEN_ERROR", {
1934
1936
  url: l,
1935
- remote_yuno_name: i.remote_yuno_name,
1936
- remote_yuno_role: i.remote_yuno_role,
1937
- remote_yuno_service: i.remote_yuno_service,
1938
- code: o.code,
1939
- reason: o.reason,
1940
- was_clean: o.wasClean
1941
- })), me(e) && ir(i.gobj_timer, ze(e, "timeout_retry")), 0;
1937
+ remote_yuno_name: o.remote_yuno_name,
1938
+ remote_yuno_role: o.remote_yuno_role,
1939
+ remote_yuno_service: o.remote_yuno_service,
1940
+ code: i.code,
1941
+ reason: i.reason,
1942
+ was_clean: i.wasClean
1943
+ })), me(e) && or(o.gobj_timer, ze(e, "timeout_retry")), 0;
1942
1944
  }
1943
1945
  function wr(e, t, n, r) {
1944
1946
  return vr(e), 0;
1945
1947
  }
1946
1948
  function Dr(e, t, n, r) {
1947
- let i = e.priv;
1948
- lr(i.gobj_timer);
1949
- let o = Pn(e, n, fr, !0), l = bn(e, o, "src_yuno", ""), s = bn(e, o, "src_role", ""), _ = bn(e, o, "src_service", "");
1949
+ let o = e.priv;
1950
+ lr(o.gobj_timer);
1951
+ let i = Pn(e, n, fr, !0), l = bn(e, i, "src_yuno", ""), s = bn(e, i, "src_role", ""), _ = bn(e, i, "src_service", "");
1950
1952
  et(e, "remote_yuno_name", l), et(e, "remote_yuno_role", s), et(e, "remote_yuno_service", _);
1951
1953
  let a = dn(e, n, "result", -1, 0), u = bn(e, n, "comment", "", 0), c = bn(e, n, "username", "", 0), f = hn(e, n, "services_roles", {});
1952
1954
  if (a < 0) {
@@ -1962,8 +1964,8 @@
1962
1964
  };
1963
1965
  $e(e) ? lt(Re(e), "EV_ON_ID_NAK", t, e) : mt(e, "EV_ON_ID_NAK", t);
1964
1966
  } else {
1965
- if (tt(e, "ST_SESSION"), i.inside_on_open = !0, !i.inform_on_close) {
1966
- i.inform_on_close = !0;
1967
+ if (tt(e, "ST_SESSION"), o.inside_on_open = !0, !o.inform_on_close) {
1968
+ o.inform_on_close = !0;
1967
1969
  let t = {
1968
1970
  username: c,
1969
1971
  remote_yuno_name: l,
@@ -1973,7 +1975,7 @@
1973
1975
  };
1974
1976
  $e(e) ? lt(Re(e), "EV_ON_OPEN", t, e) : mt(e, "EV_ON_OPEN", t);
1975
1977
  }
1976
- i.inside_on_open = !1, function(e) {
1978
+ o.inside_on_open = !1, function(e) {
1977
1979
  let t = bt(e, null, null, null);
1978
1980
  for (let n = 0; n < t.length; n++) jr(e, t[n]);
1979
1981
  }(e);
@@ -1981,7 +1983,7 @@
1981
1983
  return 0;
1982
1984
  }
1983
1985
  function Rr(e, t, n, r) {
1984
- let i = e.priv.url, o = function(e, t) {
1986
+ let o = e.priv.url, i = function(e, t) {
1985
1987
  let n;
1986
1988
  try {
1987
1989
  n = JSON.parse(t);
@@ -1992,33 +1994,33 @@
1992
1994
  let r = n.event;
1993
1995
  if (!r) return Rt("parsing inter_event: no event"), null;
1994
1996
  if ("string" != typeof r) return Rt("parsing inter_event: event not a string"), null;
1995
- let i = n.kw;
1996
- return i ? i instanceof Object ? {
1997
+ let o = n.kw;
1998
+ return o ? o instanceof Object ? {
1997
1999
  event: r,
1998
- kw: i || {}
2000
+ kw: o || {}
1999
2001
  } : (Rt("parsing inter_event: kw not a json object"), null) : (Rt("parsing inter_kw: no kw"), null);
2000
2002
  }(0, n.data);
2001
2003
  if (Je(Te(), "trace_inter_event")) {
2002
- let e = Oe(Te()) + " <== " + i, t = n.data.length, r = Ye(Te(), "trace_ievent_callback");
2003
- r ? r(e, o, 2, t) : hr(0, e, o);
2004
+ let e = Oe(Te()) + " <== " + o, t = n.data.length, r = Ye(Te(), "trace_ievent_callback");
2005
+ r ? r(e, i, 2, t) : hr(0, e, i);
2004
2006
  }
2005
- let l = o.event, s = o.kw;
2007
+ let l = i.event, s = i.kw;
2006
2008
  if ("ST_SESSION" !== nt(e)) {
2007
- if (it(e, l, R.EVF_PUBLIC_EVENT)) {
2009
+ if (ot(e, l, R.EVF_PUBLIC_EVENT)) {
2008
2010
  if (0 === lt(e, l, s, e)) return 0;
2009
2011
  } else Rt(`${we(e)}: event UNKNOWN in not-session state ${l}`);
2010
2012
  return mr(e), -1;
2011
2013
  }
2012
- o = null;
2014
+ i = null;
2013
2015
  let _ = Cn(e, s), a = Pn(e, s, fr), u = bn(e, a, "dst_role", "");
2014
2016
  if (u !== je()) return Rt(`"It's not my role, dst_role: ${u}, my_role: ${je()}`), 0;
2015
2017
  let c = bn(e, a, "dst_service", "");
2016
2018
  if ("__subscribing__" === _) return -1;
2017
2019
  if ("__unsubscribing__" === _) return -1;
2018
- if (it(e, l, R.EVF_PUBLIC_EVENT)) return lt(e, l, s, e), 0;
2020
+ if (ot(e, l, R.EVF_PUBLIC_EVENT)) return lt(e, l, s, e), 0;
2019
2021
  let f = ee(c, !0);
2020
2022
  if (f) {
2021
- if (!it(f, l, R.EVF_PUBLIC_EVENT)) return Rt(`${we(e)}: Service found but no event or not public, service '${we(f)}', ev '${l}'`), -1;
2023
+ if (!ot(f, l, R.EVF_PUBLIC_EVENT)) return Rt(`${we(e)}: Service found but no event or not public, service '${we(f)}', ev '${l}'`), -1;
2022
2024
  lt(f, l, s, e);
2023
2025
  } else $e(e) ? lt(Re(e), l, s, e) : mt(e, l, s);
2024
2026
  return 0;
@@ -2063,70 +2065,70 @@
2063
2065
  mt_stats: function(e, t, n, r) {
2064
2066
  if ("ST_SESSION" !== nt(e)) return Rt("Not in session"), null;
2065
2067
  n || (n = {});
2066
- let i = Tr(e, Oe(r), bn(e, n, "service", null, 0)), o = hn(e, n, "__md_stats__", null, ht.KW_EXTRACT);
2067
- return o || (o = {}), Ln(e, n, "stats_stack", {
2068
+ let o = Tr(e, Oe(r), bn(e, n, "service", null, 0)), i = hn(e, n, "__md_stats__", null, ht.KW_EXTRACT);
2069
+ return i || (i = {}), Ln(e, n, "stats_stack", {
2068
2070
  stats: t,
2069
- kw: o
2070
- }), Ln(e, n, fr, i), n.__stats__ = t, Un(e, n, "__stats__"), yr(e, "EV_MT_STATS", n, r), null;
2071
+ kw: i
2072
+ }), Ln(e, n, fr, o), n.__stats__ = t, Un(e, n, "__stats__"), yr(e, "EV_MT_STATS", n, r), null;
2071
2073
  },
2072
2074
  mt_command_parser: function(e, t, n, r) {
2073
2075
  if ("ST_SESSION" !== nt(e)) return Rt("Not in session"), null;
2074
2076
  n || (n = {});
2075
- let i = Tr(e, Oe(r), bn(e, n, "service", "", 0)), o = hn(e, n, "__md_command__", null, ht.KW_EXTRACT);
2076
- return o || (o = {}), Ln(e, n, "command_stack", {
2077
+ let o = Tr(e, Oe(r), bn(e, n, "service", "", 0)), i = hn(e, n, "__md_command__", null, ht.KW_EXTRACT);
2078
+ return i || (i = {}), Ln(e, n, "command_stack", {
2077
2079
  command: t,
2078
- kw: o
2079
- }), Ln(e, n, fr, i), n.__command__ = t, Un(e, n, "__command__"), yr(e, "EV_MT_COMMAND", n, r), null;
2080
+ kw: i
2081
+ }), Ln(e, n, fr, o), n.__command__ = t, Un(e, n, "__command__"), yr(e, "EV_MT_COMMAND", n, r), null;
2080
2082
  },
2081
2083
  mt_inject_event: function(e, t, n, r) {
2082
2084
  if ("ST_SESSION" !== nt(e)) return window.console.error("Not in session"), -1;
2083
2085
  if (n || (n = {}), Pn(e, n, fr));
2084
2086
  else {
2085
- let i = Tr(e, Oe(r), bn(e, n, "__service__", 0, 0));
2086
- Vt(n, "__service__"), Ln(e, n, "__message__", t), Ln(e, n, fr, i);
2087
+ let o = Tr(e, Oe(r), bn(e, n, "__service__", 0, 0));
2088
+ Vt(n, "__service__"), Ln(e, n, "__message__", t), Ln(e, n, fr, o);
2087
2089
  }
2088
2090
  return Un(e, n, "__message__"), yr(e, t, n, r);
2089
2091
  },
2090
2092
  mt_subscription_added: function(e, t) {
2091
2093
  let n = e.priv;
2092
- return "ST_SESSION" !== nt(e) || n.inside_on_open ? 0 : jr(e, t);
2094
+ return "ST_SESSION" === nt(e) && n.websocket ? n.inside_on_open ? 0 : jr(e, t) : 0;
2093
2095
  },
2094
2096
  mt_subscription_deleted: function(e, t) {
2095
2097
  let n = e.priv;
2096
- if ("ST_SESSION" !== nt(e)) return 0;
2098
+ if ("ST_SESSION" !== nt(e) || !n.websocket) return 0;
2097
2099
  if (n.inside_on_open) return 0;
2098
2100
  if (rn(t.event)) return 0;
2099
- let r = {}, i = t.__global__, o = t.__config__, l = t.__filter__, s = t.__service__, _ = t.subscriber;
2100
- return o && (r.__config__ = o), i && (r.__global__ = i), l && (r.__filter__ = l), Ln(e, r, fr, Tr(e, Oe(_), s)), Un(e, r, "__unsubscribing__"), yr(e, t.event, r, e);
2101
+ let r = {}, o = t.__global__, i = t.__config__, l = t.__filter__, s = t.__service__, _ = t.subscriber;
2102
+ return i && (r.__config__ = i), o && (r.__global__ = o), l && (r.__filter__ = l), Ln(e, r, fr, Tr(e, Oe(_), s)), Un(e, r, "__unsubscribing__"), yr(e, t.event, r, e);
2101
2103
  }
2102
2104
  };
2103
- e.GObj = O, e.SDATA = j, e.SDATAAUTHZ = (e, t, n, r, i, o) => new T(e, t, n, null, o, r, null, 0, null, i, null), e.SDATACM = (e, t, n, r, i, o) => new T(e, t, 0, null, o, n, null, 0, i, r, null), e.SDATACM2 = (e, t, n, r, i, o, l) => new T(e, t, n, null, l, r, null, 0, o, i, null), e.SDATADF = (e, t, n, r, i, o) => new T(e, t, n, null, o, null, r, i), e.SDATAPM = (e, t, n, r, i) => new T(e, t, n, r, i), e.SDATAPM0 = (e, t, n, r, i) => new T(e, t, n, null, i, null, null, 0, null, null, r), e.SDATA_END = v, e.SDataDesc = T, e.YUNETA_VERSION = l, Object.defineProperty(e, "__yuno__", {
2105
+ e.GObj = O, e.SDATA = j, e.SDATAAUTHZ = (e, t, n, r, o, i) => new T(e, t, n, null, i, r, null, 0, null, o, null), e.SDATACM = (e, t, n, r, o, i) => new T(e, t, 0, null, i, n, null, 0, o, r, null), e.SDATACM2 = (e, t, n, r, o, i, l) => new T(e, t, n, null, l, r, null, 0, i, o, null), e.SDATADF = (e, t, n, r, o, i) => new T(e, t, n, null, i, null, r, o), e.SDATAPM = (e, t, n, r, o) => new T(e, t, n, r, o), e.SDATAPM0 = (e, t, n, r, o) => new T(e, t, n, null, o, null, null, 0, null, null, r), e.SDATA_END = v, e.SDataDesc = T, e.YUNETA_VERSION = l, Object.defineProperty(e, "__yuno__", {
2104
2106
  enumerable: !0,
2105
2107
  get: function() {
2106
2108
  return p;
2107
2109
  }
2108
- }), e.build_command_response = i, e.build_path = function(...e) {
2110
+ }), e.build_command_response = o, e.build_path = function(...e) {
2109
2111
  let t = "", n = 0;
2110
2112
  for (let r of e) null != r && "" !== r && (r = String(r), r = 0 === n ? r.replace(/\/+$/, "") : r.replace(/^\/+/, "").replace(/\/+$/, ""), "" !== r && (n > 0 && (t += "/"), t += r, n++));
2111
2113
  return t;
2112
- }, e.build_stats_response = o, e.clean_name = function(e) {
2114
+ }, e.build_stats_response = i, e.clean_name = function(e) {
2113
2115
  return e.replace(/[?# ^:]/g, "_");
2114
2116
  }, e.clear_timeout = lr, e.cmp_two_simple_json = _n, e.command_parser = function(e, t, n, r) {}, e.createElement2 = function e(t, n) {
2115
- let [r, i, o, l] = t;
2117
+ let [r, o, i, l] = t;
2116
2118
  if (!r) return void Rt("Tag must be a valid HTML element.");
2117
2119
  let s = document.createElement(r), _ = "";
2118
- if (i && "object" == typeof i) for (let e of Object.keys(i)) if ("style" === e && "object" == typeof i[e]) {
2120
+ if (o && "object" == typeof o) for (let e of Object.keys(o)) if ("style" === e && "object" == typeof o[e]) {
2119
2121
  let t = "";
2120
- for (const n of Object.keys(i[e])) t += `${n}: ${i[e][n]};`;
2122
+ for (const n of Object.keys(o[e])) t += `${n}: ${o[e][n]};`;
2121
2123
  s.style.cssText = t;
2122
- } else "style" === e ? s.style.cssText = i[e] : "i18n" === e || "data-i18n" === e || "data_i18next" === e || "data-i18next" === e ? null !== i[e] && void 0 !== i[e] && (_ = i[e], s.setAttribute("data-i18n", _)) : s.setAttribute(e, i[e]);
2123
- if (Ht(o)) if (o = o.trim(), o.length > 0 && "<" === o[0]) s.appendChild(Mn(o));
2124
- else if (n && _) s.textContent = n(_) || o;
2125
- else s.textContent = o;
2126
- else if (qt(o)) {
2127
- if (o.length > 0) if (Ht(o[0])) s.appendChild(e(o, n));
2128
- else for (let t of o) Array.isArray(t) && t.length > 0 ? s.appendChild(e(t, n)) : t instanceof HTMLElement && s.appendChild(t);
2129
- } else o instanceof HTMLElement || o instanceof Text || o instanceof SVGElement ? s.appendChild(o) : null != o && (Rt("content ignored"), It(o));
2124
+ } else "style" === e ? s.style.cssText = o[e] : "i18n" === e || "data-i18n" === e || "data_i18next" === e || "data-i18next" === e ? null !== o[e] && void 0 !== o[e] && (_ = o[e], s.setAttribute("data-i18n", _)) : s.setAttribute(e, o[e]);
2125
+ if (Ht(i)) if (i = i.trim(), i.length > 0 && "<" === i[0]) s.appendChild(Mn(i));
2126
+ else if (n && _) s.textContent = n(_) || i;
2127
+ else s.textContent = i;
2128
+ else if (qt(i)) {
2129
+ if (i.length > 0) if (Ht(i[0])) s.appendChild(e(i, n));
2130
+ else for (let t of i) Array.isArray(t) && t.length > 0 ? s.appendChild(e(t, n)) : t instanceof HTMLElement && s.appendChild(t);
2131
+ } else i instanceof HTMLElement || i instanceof Text || i instanceof SVGElement ? s.appendChild(i) : null != i && (Rt("content ignored"), It(i));
2130
2132
  if (l && "object" == typeof l) for (const e of Object.keys(l)) s.addEventListener(e, l[e]);
2131
2133
  return s;
2132
2134
  }, e.createOneHtml = Mn, e.create_json_record = function(e, t) {
@@ -2135,7 +2137,8 @@
2135
2137
  }, e.create_template_record = function(e, t) {
2136
2138
  let n = {};
2137
2139
  return t || (t = {}), Object.entries(e).forEach(([e, r]) => {
2138
- n[e] = hn(null, t, e, hn(r, "default"));
2140
+ let o;
2141
+ Qt(r) && (o = r.default), n[e] = hn(null, t, e, o);
2139
2142
  }), n;
2140
2143
  }, e.current_timestamp = Kn, e.data_type_t = E, e.db_list_persistent_attrs = function(e, t) {
2141
2144
  let n = On(Jn(e), null, !1), r = {};
@@ -2143,8 +2146,8 @@
2143
2146
  }, e.db_load_persistent_attrs = function(e, t) {
2144
2147
  let n = Be(e, y.SDF_PERSIST), r = On(Jn(e), null, !1);
2145
2148
  if (r && Qt(r)) {
2146
- let i = jn(e, r, t, !1);
2147
- i = jn(e, i, n, !1), He(e, i, y.SDF_PERSIST);
2149
+ let o = jn(e, r, t, !1);
2150
+ o = jn(e, o, n, !1), He(e, o, y.SDF_PERSIST);
2148
2151
  }
2149
2152
  }, e.db_remove_persistent_attrs = function(e, t) {
2150
2153
  let n = Sn(e, On(Jn(e), null, !1), t, !1);
@@ -2153,18 +2156,18 @@
2153
2156
  let n = jn(e, Be(e, y.SDF_PERSIST), t, !1), r = On(Jn(e), null, !1);
2154
2157
  r && Qt(r) && Ft(n, r), Nn(Jn(e), n);
2155
2158
  }, e.debounce = function(e, t = 0, n = !1) {
2156
- let r = null, i = null, o = null;
2159
+ let r = null, o = null, i = null;
2157
2160
  const l = (...l) => {
2158
- o = this, i = l;
2161
+ i = this, o = l;
2159
2162
  const s = n && !r;
2160
2163
  clearTimeout(r), r = setTimeout(() => {
2161
- r = null, n || e.apply(o, i);
2162
- }, t), s && e.apply(o, i);
2164
+ r = null, n || e.apply(i, o);
2165
+ }, t), s && e.apply(i, o);
2163
2166
  };
2164
2167
  return l.flush = () => {
2165
- r && (clearTimeout(r), r = null, e.apply(o, i));
2168
+ r && (clearTimeout(r), r = null, e.apply(i, o));
2166
2169
  }, l.cancel = () => {
2167
- clearTimeout(r), r = null, i = null, o = null;
2170
+ clearTimeout(r), r = null, o = null, i = null;
2168
2171
  }, l;
2169
2172
  }, e.delete_from_list = function(e, t) {
2170
2173
  for (let n = 0; n < e.length; n++) if (t === e[n]) return e.splice(n, 1), !0;
@@ -2183,26 +2186,26 @@
2183
2186
  right: 0,
2184
2187
  bottom: 0
2185
2188
  };
2186
- const { top: t, left: n, width: r, height: i } = e.getBoundingClientRect?.() || {
2189
+ const { top: t, left: n, width: r, height: o } = e.getBoundingClientRect?.() || {
2187
2190
  top: 0,
2188
2191
  left: 0,
2189
2192
  width: 0,
2190
2193
  height: 0
2191
- }, o = "undefined" != typeof window, l = o && (window.scrollY || document.documentElement?.scrollTop || document.body?.scrollTop) || 0, s = o && (window.scrollX || document.documentElement?.scrollLeft || document.body?.scrollLeft) || 0;
2194
+ }, i = "undefined" != typeof window, l = i && (window.scrollY || document.documentElement?.scrollTop || document.body?.scrollTop) || 0, s = i && (window.scrollX || document.documentElement?.scrollLeft || document.body?.scrollLeft) || 0;
2192
2195
  return {
2193
2196
  top: t + l,
2194
2197
  left: n + s,
2195
2198
  right: n + s + r,
2196
- bottom: t + l + i
2199
+ bottom: t + l + o
2197
2200
  };
2198
2201
  }, e.get_function_name = Bn, e.get_now = function() {
2199
2202
  return Math.floor(Date.now() / 1e3);
2200
2203
  }, e.gobj_bottom_gobj = Ie, e.gobj_change_parent = function(e, t) {
2201
2204
  return Ae(e) ? (Rt("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 && (re(e.parent, e), e.parent = null), ne(t, e), t.mt_child_added && (p && Je(p, "trace_creation") && $t(n("👦👦🔵 child_added(%s): %s", De(t), we(e))), t.mt_child_added(t, e)), 0) : (Rt(`${we(e)}: gobj_change_parent() BAD TYPE of parent`), -1);
2202
- }, e.gobj_change_state = tt, e.gobj_command = function(e, t, r, o) {
2205
+ }, e.gobj_change_state = tt, e.gobj_command = function(e, t, r, i) {
2203
2206
  if (Ae(e)) return Rt("gobj NULL or DESTROYED"), -1;
2204
2207
  let l = p && ze(p, "tracing");
2205
- return l && (P(n("🌀🌀 mach(%s%s), cmd: %s, src: %s", me(e) ? "" : "!!", we(e), t, we(o))), l > 1 && It(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) : i(0, -1, n("%s: global command parser not available", we(e)), 0, 0) : i(0, -1, n("%s: command table not available", we(e)), 0, 0);
2208
+ return l && (P(n("🌀🌀 mach(%s%s), cmd: %s, src: %s", me(e) ? "" : "!!", we(e), t, we(i))), l > 1 && It(r)), e.gclass.gmt.mt_command_parser ? e.gclass.gmt.mt_command_parser(e, t, r, i) : e.gclass.command_table ? c ? c(e, t, r, i) : o(0, -1, n("%s: global command parser not available", we(e)), 0, 0) : o(0, -1, n("%s: command table not available", we(e)), 0, 0);
2206
2209
  }, e.gobj_create = function(e, t, n, r) {
2207
2210
  return le(e, t, n, r, 0);
2208
2211
  }, e.gobj_create2 = le, e.gobj_create_default_service = function(e, t, n, r) {
@@ -2217,18 +2220,18 @@
2217
2220
  if (rn(t)) return null;
2218
2221
  const n = t.toLowerCase();
2219
2222
  return "__default_service__" === n ? m : "__yuno__" === n || "__root__" === n ? p : Ke(p, t);
2220
- }, e.gobj_find_service = ee, e.gobj_find_subscribings = pt, e.gobj_find_subscriptions = bt, e.gobj_flag_t = w, e.gobj_full_name = De, e.gobj_gclass_name = Ne, e.gobj_has_attr = xe, e.gobj_has_event = it, e.gobj_has_output_event = ot, e.gobj_hsdata = G, e.gobj_is_destroying = Ae, e.gobj_is_playing = ye, e.gobj_is_pure_child = $e, e.gobj_is_running = me, e.gobj_is_service = Ee, e.gobj_is_volatil = ke, e.gobj_list_persistent_attrs = function(e, t) {
2223
+ }, e.gobj_find_service = ee, e.gobj_find_subscribings = pt, e.gobj_find_subscriptions = bt, e.gobj_flag_t = w, e.gobj_full_name = De, e.gobj_gclass_name = Ne, e.gobj_has_attr = xe, e.gobj_has_event = ot, e.gobj_has_output_event = it, e.gobj_hsdata = G, e.gobj_is_destroying = Ae, e.gobj_is_playing = ye, e.gobj_is_pure_child = $e, e.gobj_is_running = me, e.gobj_is_service = Ee, e.gobj_is_volatil = ke, e.gobj_list_persistent_attrs = function(e, t) {
2221
2224
  return u ? u(e, t) : null;
2222
2225
  }, e.gobj_list_subscriptions = function(e) {
2223
2226
  let t = bt(e, null, null, null);
2224
2227
  for (let n = 0; n < t.length; n++) {
2225
- let r = t[n], i = pn(e, r, "publisher", null, ht.KW_REQUIRED), o = pn(e, r, "subscriber", null, ht.KW_REQUIRED);
2226
- Mt(r, "s_event", bn(e, r, "event", "", ht.KW_REQUIRED)), Mt(r, "s_publisher", we(i)), Mt(r, "s_subscriber", we(o));
2228
+ let r = t[n], o = pn(e, r, "publisher", null, ht.KW_REQUIRED), i = pn(e, r, "subscriber", null, ht.KW_REQUIRED);
2229
+ Mt(r, "s_event", bn(e, r, "event", "", ht.KW_REQUIRED)), Mt(r, "s_publisher", we(o)), Mt(r, "s_subscriber", we(i));
2227
2230
  }
2228
2231
  let n = pt(e, 0, null, 0);
2229
2232
  for (let t = 0; t < n.length; t++) {
2230
- let r = n[t], i = pn(e, r, "publisher", null, ht.KW_REQUIRED), o = pn(e, r, "subscriber", null, ht.KW_REQUIRED);
2231
- Mt(r, "s_event", bn(e, r, "event", "", ht.KW_REQUIRED)), Mt(r, "s_publisher", we(i)), Mt(r, "s_subscriber", we(o));
2233
+ let r = n[t], o = pn(e, r, "publisher", null, ht.KW_REQUIRED), i = pn(e, r, "subscriber", null, ht.KW_REQUIRED);
2234
+ Mt(r, "s_event", bn(e, r, "event", "", ht.KW_REQUIRED)), Mt(r, "s_publisher", we(o)), Mt(r, "s_subscriber", we(i));
2232
2235
  }
2233
2236
  return {
2234
2237
  subscriptions: t,
@@ -2244,18 +2247,18 @@
2244
2247
  let n = [];
2245
2248
  const r = e.dl_children;
2246
2249
  for (let e = 0; e < r.length; e++) {
2247
- const i = r[e];
2248
- We(i, t) && n.push(i);
2250
+ const o = r[e];
2251
+ We(o, t) && n.push(o);
2249
2252
  }
2250
2253
  return n;
2251
2254
  }, e.gobj_match_children_tree = function(e, t) {
2252
2255
  t = t || {};
2253
2256
  let n = [];
2254
2257
  return function e(n, r) {
2255
- let i = r.dl_children;
2256
- for (let r = 0; r < i.length; r++) {
2257
- let o = i[r];
2258
- We(o, t) && n.push(o), e(n, o);
2258
+ let o = r.dl_children;
2259
+ for (let r = 0; r < o.length; r++) {
2260
+ let i = o[r];
2261
+ We(i, t) && n.push(i), e(n, i);
2259
2262
  }
2260
2263
  }(n, e), n;
2261
2264
  }, e.gobj_match_gobj = We, e.gobj_name = Oe, e.gobj_parent = Re, e.gobj_pause = pe, e.gobj_play = be, e.gobj_post_event = function(e, t, n, r) {
@@ -2268,11 +2271,11 @@
2268
2271
  return function(e, t, n) {
2269
2272
  if (Ae(e)) return Rt("gobj NULL or DESTROYED"), -1;
2270
2273
  let r = e.gclass.attrs_table;
2271
- for (let i = 0; i < r.length; i++) {
2272
- const o = r[i];
2273
- if (o.name && !(n && o.flag & n) && (-1 === t || o.flag & t)) {
2274
- const t = C(e, e.jn_attrs, o);
2275
- Qt(e.priv) && e.priv.hasOwnProperty(o.name) && (e.priv[o.name] = t), e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, o.name);
2274
+ for (let o = 0; o < r.length; o++) {
2275
+ const i = r[o];
2276
+ if (i.name && !(n && i.flag & n) && (-1 === t || i.flag & t)) {
2277
+ const t = C(e, e.jn_attrs, i);
2278
+ Qt(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);
2276
2279
  }
2277
2280
  }
2278
2281
  return 0;
@@ -2289,16 +2292,16 @@
2289
2292
  return Ae(e) ? (Rt("gobj NULL or DESTROYED"), -1) : Ue(e, k.WALK_FIRST2LAST, ue, 0, 0);
2290
2293
  }, e.gobj_start_tree = function(e) {
2291
2294
  return Ae(e) ? (Rt("gobj NULL or DESTROYED"), -1) : (p && Je(p, "trace_start_stop") && P(n("⏺ ⏺ ⏺ ⏺ start_tree: %s", De(e))), e.gclass.gclass_flag & N.gcflag_manual_start || e.disabled ? 0 : (e.running || ae(e), Ce(e, k.WALK_TOP2BOTTOM, ce, 0, 0)));
2292
- }, e.gobj_start_up = function(e, t, n, r, i, o, l) {
2293
- s = t, _ = n, a = r, u = i, c = o, f = l;
2295
+ }, e.gobj_start_up = function(e, t, n, r, o, i, l) {
2296
+ s = t, _ = n, a = r, u = o, c = i, f = l;
2294
2297
  const d = [["EV_STATE_CHANGED", R.EVF_SYSTEM_EVENT | R.EVF_OUTPUT_EVENT | R.EVF_NO_WARN_SUBS], [0, 0]];
2295
2298
  for (let e = 0; e < d.length; e++) {
2296
2299
  let t = d[e][0], n = d[e][1];
2297
2300
  z(g, t, n);
2298
2301
  }
2299
2302
  return 0;
2300
- }, e.gobj_stats = function(e, t, r, i) {
2301
- return Ae(e) ? (Rt("gobj NULL or DESTROYED"), -1) : e.gclass.gmt.mt_stats ? e.gclass.gmt.mt_stats(e, t, r, i) : f ? f(e, t, r, i) : o(0, -1, n("%s, stats parser not available", we(e)), 0, 0);
2303
+ }, e.gobj_stats = function(e, t, r, o) {
2304
+ return Ae(e) ? (Rt("gobj NULL or DESTROYED"), -1) : e.gclass.gmt.mt_stats ? e.gclass.gmt.mt_stats(e, t, r, o) : f ? f(e, t, r, o) : i(0, -1, n("%s, stats parser not available", we(e)), 0, 0);
2302
2305
  }, e.gobj_stop = fe, e.gobj_stop_children = de, e.gobj_stop_tree = function(e) {
2303
2306
  return Ae(e) ? (Rt("gobj NULL or DESTROYED"), -1) : (p && Je(p, "trace_start_stop") && P(n("⏹ ⏹ ⏹ ⏹ stop_tree: %s", De(e))), me(e) && fe(e), Ce(e, k.WALK_TOP2BOTTOM, ge, 0, 0));
2304
2307
  }, e.gobj_subscribe_event = gt, e.gobj_trace_machine_format = function() {
@@ -2306,7 +2309,7 @@
2306
2309
  }, e.gobj_unsubscribe_event = function(e, t, n, r) {
2307
2310
  if (null == n && (n = {}), !e) return Rt(`publisher NULL: ev ${t}`), 0;
2308
2311
  if (!r) return Rt(`subscriber NULL: ev ${t}`), 0;
2309
- const i = new Set([
2312
+ const o = new Set([
2310
2313
  "__config__",
2311
2314
  "__global__",
2312
2315
  "__local__",
@@ -2314,35 +2317,35 @@
2314
2317
  "__service__"
2315
2318
  ]);
2316
2319
  if (Object.keys(n).forEach((n) => {
2317
- i.has(n) || Rt(`${we(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
2320
+ o.has(n) || Rt(`${we(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
2318
2321
  }), rn(t)) t = "";
2319
- else if (!(ot(e, t, R.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & N.gcflag_no_check_output_events)) return Rt(`event NOT in output event list: ${we(e)}, ev ${t}`), 0;
2320
- let o = ut(e.dl_subscriptions, e, t, n, r), l = 0;
2321
- for (let t = 0; t < o.length; t++) {
2322
- let n = o[t];
2322
+ else if (!(it(e, t, R.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & N.gcflag_no_check_output_events)) return Rt(`event NOT in output event list: ${we(e)}, ev ${t}`), 0;
2323
+ let i = ut(e.dl_subscriptions, e, t, n, r), l = 0;
2324
+ for (let t = 0; t < i.length; t++) {
2325
+ let n = i[t];
2323
2326
  ft(e, n, !1, !1), l++;
2324
2327
  }
2325
2328
  return l || (kt(`${we(e)}: No subscription found`), It(n, "No subscription found")), 0;
2326
- }, e.gobj_unsubscribe_list = dt, e.gobj_walk_gobj_children = Ue, e.gobj_walk_gobj_children_tree = Ce, e.gobj_write_attr = function(e, t, r, i) {
2329
+ }, e.gobj_unsubscribe_list = dt, e.gobj_walk_gobj_children = Ue, e.gobj_walk_gobj_children_tree = Ce, e.gobj_write_attr = function(e, t, r, o) {
2327
2330
  if (!Ht(t)) return Rt(n("gobj_write_attr(%s): path must be a string", we(e))), -1;
2328
- let o, l = e.jn_attrs, s = t.split("`");
2331
+ let i, l = e.jn_attrs, s = t.split("`");
2329
2332
  if (s.length <= 1) {
2330
- let i = t;
2331
- return i in l && l.hasOwnProperty(i) ? (l[i] = r, Qt(e.priv) && e.priv.hasOwnProperty(i) && (e.priv[i] = r), e.obflag & D.obflag_created && !(e.obflag & D.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, i), 0) : (Rt(n("gobj_write_attr(%s): attr not found '%s'", we(e), i)), -1);
2333
+ let o = t;
2334
+ return o in l && l.hasOwnProperty(o) ? (l[o] = r, Qt(e.priv) && e.priv.hasOwnProperty(o) && (e.priv[o] = r), e.obflag & D.obflag_created && !(e.obflag & D.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, o), 0) : (Rt(n("gobj_write_attr(%s): attr not found '%s'", we(e), o)), -1);
2332
2335
  }
2333
2336
  let _ = s.length;
2334
2337
  for (let t = 0; t < _; t++) {
2335
- o = s[t];
2336
- let n = Me(e, { __gobj_name__: o });
2338
+ i = s[t];
2339
+ let n = Me(e, { __gobj_name__: i });
2337
2340
  if (n && t < _ - 1) {
2338
2341
  e = n;
2339
2342
  continue;
2340
2343
  }
2341
- let i = e.jn_attrs;
2342
- if (o in i && i.hasOwnProperty(o)) return i[o] = r, Qt(e.priv) && e.priv.hasOwnProperty(o) && (e.priv[o] = r), e.obflag & D.obflag_created && !(e.obflag & D.obflag_destroyed) && e.mt_writing && e.mt_writing(e, o), 0;
2344
+ let o = e.jn_attrs;
2345
+ if (i in o && o.hasOwnProperty(i)) return o[i] = r, Qt(e.priv) && e.priv.hasOwnProperty(i) && (e.priv[i] = r), e.obflag & D.obflag_created && !(e.obflag & D.obflag_destroyed) && e.mt_writing && e.mt_writing(e, i), 0;
2343
2346
  break;
2344
2347
  }
2345
- return Rt(n("gobj_write_attr(%s): attr not found '%s'", we(e), o)), -1;
2348
+ return Rt(n("gobj_write_attr(%s): attr not found '%s'", we(e), i)), -1;
2346
2349
  }, e.gobj_write_attrs = He, e.gobj_write_bool_attr = Xe, e.gobj_write_integer_attr = Ze, e.gobj_write_str_attr = et, e.gobj_yuno = Te, e.gobj_yuno_id = Se, e.gobj_yuno_name = ve, e.gobj_yuno_role = je, e.id_index_in_obj_list = kn, e.index_in_list = xn, e.is_array = qt, e.is_boolean = Zt, e.is_date = function(e) {
2347
2350
  return e instanceof Date && !isNaN(e);
2348
2351
  }, e.is_function = tn, e.is_gobj = nn, e.is_metadata_key = function(e) {
@@ -2361,11 +2364,11 @@
2361
2364
  const t = Number(e);
2362
2365
  return !isNaN(t) && "" !== e.trim() && !isNaN(t);
2363
2366
  }, e.is_string = Ht, e.jdb_delete = function(e, t, n, r) {
2364
- let i = hn(null, hn(null, e, "topics", null, 0), t, null, 0);
2365
- if (!i) return Rt("jdb_delete: topic not found: " + t), null;
2367
+ let o = hn(null, hn(null, e, "topics", null, 0), t, null, 0);
2368
+ if (!o) return Rt("jdb_delete: topic not found: " + t), null;
2366
2369
  if (rn(r.id)) return Rt("jdb_delete: record without id: " + r), At(r), null;
2367
- let o, l = n.split("`"), s = i;
2368
- for (; (o = l.shift()) && !rn(o) && s;) Qt(s) && (s = hn(null, s, e.hook, null, 0)), s = Gn(s, null, o, !1);
2370
+ let i, l = n.split("`"), s = o;
2371
+ for (; (i = l.shift()) && !rn(i) && s;) Qt(s) && (s = hn(null, s, e.hook, null, 0)), s = Gn(s, null, i, !1);
2369
2372
  if (0 === l.length && s) if (qt(s)) {
2370
2373
  let e = kn(s, r.id);
2371
2374
  e >= 0 && s.splice(e, 1);
@@ -2373,10 +2376,10 @@
2373
2376
  let t = hn(null, s, e.hook, null, 0), n = kn(t, r.id);
2374
2377
  n >= 0 && t.splice(n, 1);
2375
2378
  }
2376
- return i;
2379
+ return o;
2377
2380
  }, e.jdb_get = function(e, t, n, r) {
2378
- let i = hn(null, hn(null, e, "topics", null, 0), t, null, 0);
2379
- return i ? (void 0 === r && (r = !0), Gn(i, e.hook, n, r)) : (Rt("jdb_get: topic not found: " + t), null);
2381
+ let o = hn(null, hn(null, e, "topics", null, 0), t, null, 0);
2382
+ return o ? (void 0 === r && (r = !0), Gn(o, e.hook, n, r)) : (Rt("jdb_get: topic not found: " + t), null);
2380
2383
  }, e.jdb_get_by_idx = function(e, t, n) {
2381
2384
  let r = hn(null, hn(null, e, "topics", null, 0), t, null, 0);
2382
2385
  return r ? n < r.length ? r[n] : {} : (Rt("jdb_get_by_idx: topic not found: " + t), null);
@@ -2388,23 +2391,23 @@
2388
2391
  n && (e = Lt(e));
2389
2392
  let r = hn(null, e, "type", [], 1);
2390
2393
  bn(null, e, "hook", "data", 1);
2391
- let i = hn(null, e, "schema", {}, 1), o = hn(null, e, "topics", {}, 1);
2392
- return Fn(i, function(e, t, n, i) {
2393
- "__" !== t.substring(0, 2) && hn(null, o, i, Lt(r), 1);
2394
+ let o = hn(null, e, "schema", {}, 1), i = hn(null, e, "topics", {}, 1);
2395
+ return Fn(o, function(e, t, n, o) {
2396
+ "__" !== t.substring(0, 2) && hn(null, i, o, Lt(r), 1);
2394
2397
  }, t), e;
2395
2398
  }, e.jdb_update = function(e, t, n, r) {
2396
- let i = hn(null, hn(null, e, "topics", null, 0), t, null, 0);
2397
- if (!i) return Rt("jdb_update: topic not found: " + t), null;
2399
+ let o = hn(null, hn(null, e, "topics", null, 0), t, null, 0);
2400
+ if (!o) return Rt("jdb_update: topic not found: " + t), null;
2398
2401
  if (rn(r.id)) return Rt("jdb_update: record without id: " + r), At(r), null;
2399
- let o, l = n.split("`"), s = i;
2400
- for (; (o = l.shift()) && !rn(o) && s;) Qt(s) && (s = hn(null, s, e.hook, [], 1)), s = Gn(s, null, o, !1);
2402
+ let i, l = n.split("`"), s = o;
2403
+ for (; (i = l.shift()) && !rn(i) && s;) Qt(s) && (s = hn(null, s, e.hook, [], 1)), s = Gn(s, null, i, !1);
2401
2404
  if (0 === l.length && s) if (qt(s)) s.push(r);
2402
2405
  else if (s.id === r.id) Object.assign(s, r);
2403
2406
  else {
2404
2407
  let t = hn(null, s, e.hook, [], 1), n = Gn(t, e.hook, r.id, !1);
2405
2408
  n ? Object.assign(n, r) : t.push(r);
2406
2409
  }
2407
- return i;
2410
+ return o;
2408
2411
  }, e.json_array_append = Kt, e.json_array_append_new = xt, e.json_array_extend = function(e, t) {
2409
2412
  return t ? (Array.prototype.push.apply(e, t), e) : e;
2410
2413
  }, e.json_array_remove = Yt, e.json_array_size = Jt, e.json_deep_copy = Lt, e.json_is_identical = Pt, e.json_object_del = Vt, e.json_object_get = Gt, e.json_object_set = Wt, e.json_object_set_new = Mt, e.json_object_size = Bt, e.json_object_update = Ut, e.json_object_update_existing = Ct, e.json_object_update_missing = Ft, e.json_size = zt, e.jwt2json = function(e, t) {
@@ -2421,61 +2424,61 @@
2421
2424
  }, e.jwtDecode = Vn, e.kw_clone_by_keys = jn, e.kw_clone_by_not_keys = Sn, e.kw_collect = function(e, t, n, r) {
2422
2425
  if (e && !nn(e) && Rt("GObj bad instanceof"), !t) return null;
2423
2426
  r || (r = vn);
2424
- let i = [];
2427
+ let o = [];
2425
2428
  if (qt(t)) for (let e = 0; e < t.length; e++) {
2426
- let o = t[e];
2427
- r(o, n) && i.push(o);
2429
+ let i = t[e];
2430
+ r(i, n) && o.push(i);
2428
2431
  }
2429
2432
  else {
2430
2433
  if (!Qt(t)) return Rt("kw_select() BAD kw parameter"), null;
2431
- r(t, n) && i.push(t);
2434
+ r(t, n) && o.push(t);
2432
2435
  }
2433
- return i;
2436
+ return o;
2434
2437
  }, e.kw_delete = fn, e.kw_find_json_in_list = function(e, t, n, r) {
2435
2438
  if (!n || !qt(t)) return r && Rt("item NULL or kw_list is not a list"), -1;
2436
2439
  for (let e = 0; e < t.length; e++) if (Pt(n, t[e])) return e;
2437
2440
  return r && Rt("item not found in this list"), -1;
2438
- }, e.kw_find_path = cn, e.kw_flag_t = ht, e.kw_get_bool = gn, e.kw_get_dict = mn, e.kw_get_dict_value = hn, e.kw_get_int = dn, e.kw_get_list = function(e, t, n, r, i) {
2441
+ }, e.kw_find_path = cn, e.kw_flag_t = ht, e.kw_get_bool = gn, e.kw_get_dict = mn, e.kw_get_dict_value = hn, e.kw_get_int = dn, e.kw_get_list = function(e, t, n, r, o) {
2439
2442
  e && !nn(e) && Rt("GObj bad instanceof");
2440
- let o = cn(e, t, n, !1);
2441
- const l = i && i & ht.KW_REQUIRED, s = i && i & ht.KW_CREATE, _ = i && i & ht.KW_EXTRACT;
2442
- if (void 0 === o) {
2443
+ let i = cn(e, t, n, !1);
2444
+ const l = o && o & ht.KW_REQUIRED, s = o && o & ht.KW_CREATE, _ = o && o & ht.KW_EXTRACT;
2445
+ if (void 0 === i) {
2443
2446
  if (s) {
2444
- let i = Array(r);
2445
- return En(e, t, n, i), i;
2447
+ let o = Array(r);
2448
+ return En(e, t, n, o), o;
2446
2449
  }
2447
2450
  return l && (Rt(`path not found: '${n}'`), It(t)), Array(r);
2448
2451
  }
2449
- return _ && fn(e, t, n), qt(o) ? Array(o) : (l && (Rt(`path value MUST BE an array: ${n}`), At(t)), Array(r));
2450
- }, e.kw_get_local_storage_value = On, e.kw_get_pointer = pn, e.kw_get_real = function(e, t, n, r, i) {
2452
+ return _ && fn(e, t, n), qt(i) ? Array(i) : (l && (Rt(`path value MUST BE an array: ${n}`), At(t)), Array(r));
2453
+ }, e.kw_get_local_storage_value = On, e.kw_get_pointer = pn, e.kw_get_real = function(e, t, n, r, o) {
2451
2454
  e && !nn(e) && Rt("GObj bad instanceof");
2452
- let o = cn(e, t, n, !1);
2453
- const l = i && i & ht.KW_REQUIRED, s = i && i & ht.KW_CREATE, _ = i && i & ht.KW_EXTRACT;
2454
- if (void 0 === o) {
2455
+ let i = cn(e, t, n, !1);
2456
+ const l = o && o & ht.KW_REQUIRED, s = o && o & ht.KW_CREATE, _ = o && o & ht.KW_EXTRACT;
2457
+ if (void 0 === i) {
2455
2458
  if (s) {
2456
- let i = Number(r);
2457
- return En(e, t, n, i), i;
2459
+ let o = Number(r);
2460
+ return En(e, t, n, o), o;
2458
2461
  }
2459
2462
  return l && (Rt(`path not found: '${n}'`), It(t)), Number(r);
2460
2463
  }
2461
- return _ && fn(e, t, n), Xt(o) ? Number(o) : (l && (Rt(`path value MUST BE a number: ${n}`), At(t)), Number(r));
2464
+ return _ && fn(e, t, n), Xt(i) ? Number(i) : (l && (Rt(`path value MUST BE a number: ${n}`), At(t)), Number(r));
2462
2465
  }, e.kw_get_str = bn, e.kw_has_key = un, e.kw_match_simple = vn, e.kw_pop = an, e.kw_remove_local_storage_value = wn, e.kw_select = function(e, t, n, r) {
2463
2466
  if (e && !nn(e) && Rt("GObj bad instanceof"), !t) return null;
2464
2467
  r || (r = vn);
2465
- let i = [];
2468
+ let o = [];
2466
2469
  if (qt(t)) for (let e = 0; e < t.length; e++) {
2467
- let o = t[e];
2468
- r(o, n) && i.push(Lt(o));
2470
+ let i = t[e];
2471
+ r(i, n) && o.push(Lt(i));
2469
2472
  }
2470
2473
  else {
2471
2474
  if (!Qt(t)) return Rt("kw_select() BAD kw parameter"), null;
2472
- r(t, n) && i.push(Lt(t));
2475
+ r(t, n) && o.push(Lt(t));
2473
2476
  }
2474
- return i;
2475
- }, e.kw_set_dict_value = En, e.kw_set_local_storage_value = Nn, e.kw_set_subdict_value = yn, e.kwid_collect = Rn, e.kwid_find_one_record = function(e, t, n, r, i) {
2477
+ return o;
2478
+ }, e.kw_set_dict_value = En, e.kw_set_local_storage_value = Nn, e.kw_set_subdict_value = yn, e.kwid_collect = Rn, e.kwid_find_one_record = function(e, t, n, r, o) {
2476
2479
  e && !nn(e) && Rt("GObj bad instanceof");
2477
- let o = Rn(e, t, n, r, i);
2478
- return o.length > 0 ? o[0] : null;
2480
+ let i = Rn(e, t, n, r, o);
2481
+ return i.length > 0 ? i[0] : null;
2479
2482
  }, e.kwid_get_ids = function(e, t) {
2480
2483
  if (e && !nn(e) && Rt("GObj bad instanceof"), !t) return [];
2481
2484
  let n = [];
@@ -2493,38 +2496,38 @@
2493
2496
  e && !nn(e) && Rt("GObj bad instanceof");
2494
2497
  let r = {};
2495
2498
  if (rn(n) || (t = cn(e, t, n)), Qt(t)) r = t;
2496
- else if (qt(t)) for (let e = 0; e < t.length; e++) {
2497
- let n = t[e], i = bn(n, "id", null, !1);
2498
- rn(i) || (r[i] = n);
2499
+ else if (qt(t)) for (let n = 0; n < t.length; n++) {
2500
+ let o = t[n], i = bn(e, o, "id", "", 0);
2501
+ rn(i) || (r[i] = o);
2499
2502
  }
2500
2503
  else Rt(`${we(e)} kwid_new_dict: data type unknown`);
2501
2504
  return r;
2502
2505
  }, e.list2options = function(e, t, n) {
2503
2506
  t = t || "id", n = n || "value";
2504
2507
  let r = [];
2505
- if (qt(e)) for (let i = 0; i < e.length; i++) {
2506
- let o = e[i];
2507
- if (Ht(o)) r.push({
2508
- id: e[i],
2509
- value: e[i]
2508
+ if (qt(e)) for (let o = 0; o < e.length; o++) {
2509
+ let i = e[o];
2510
+ if (Ht(i)) r.push({
2511
+ id: e[o],
2512
+ value: e[o]
2510
2513
  });
2511
- else if (Qt(o)) {
2514
+ else if (Qt(i)) {
2512
2515
  let e = {};
2513
- if (un(o, t)) {
2514
- if (!un(o, n)) {
2515
- if (!(zt(o) > 0)) {
2516
+ if (un(i, t)) {
2517
+ if (!un(i, n)) {
2518
+ if (!(zt(i) > 0)) {
2516
2519
  Rt("list2options(): object without field value: " + n);
2517
2520
  continue;
2518
2521
  }
2519
- n = Object.keys(o)[0];
2522
+ n = Object.keys(i)[0];
2520
2523
  }
2521
- e.id = o[t], e.value = o[n];
2524
+ e.id = i[t], e.value = i[n];
2522
2525
  } else {
2523
- if (!(zt(o) > 0)) {
2526
+ if (!(zt(i) > 0)) {
2524
2527
  Rt("list2options(): object without field id: " + t);
2525
2528
  continue;
2526
2529
  }
2527
- t = Object.keys(o)[0], e.id = t, e.value = o[t];
2530
+ t = Object.keys(i)[0], e.id = t, e.value = i[t];
2528
2531
  }
2529
2532
  r.push(e);
2530
2533
  } else Rt("list2options(): case1 not implemented");
@@ -2695,9 +2698,9 @@
2695
2698
  }, r.send(t);
2696
2699
  }, e.set_log_callback = function(e) {
2697
2700
  St = "function" == typeof e ? e : null;
2698
- }, e.set_remote_log_functions = wt, e.set_timeout = ir, e.set_timeout_periodic = or, e.sprintf = n, e.stats_parser = function(e, t, n, r) {}, e.str_in_list = $n, e.strcasecmp = sn, e.strcmp = ln, e.strncmp = function(e, t, n) {
2699
- var r = (e + "").substring(0, n), i = (t + "").substring(0, n);
2700
- return r === i ? 0 : r > i ? 1 : -1;
2701
+ }, e.set_remote_log_functions = wt, e.set_timeout = or, e.set_timeout_periodic = ir, e.sprintf = n, e.stats_parser = function(e, t, n, r) {}, e.str_in_list = $n, e.strcasecmp = sn, e.strcmp = ln, e.strncmp = function(e, t, n) {
2702
+ var r = (e + "").substring(0, n), o = (t + "").substring(0, n);
2703
+ return r === o ? 0 : r > o ? 1 : -1;
2701
2704
  }, e.strs_in_list = function(e, t, n) {
2702
2705
  if (!e) return Rt("ERROR: strs_in_list() list empty"), !1;
2703
2706
  if (!t) return Rt("ERROR: strs_in_list() str empty"), !1;
@@ -2717,7 +2720,8 @@
2717
2720
  is_writable: !1,
2718
2721
  is_hidden: !1,
2719
2722
  default_value: void 0,
2720
- placeholder: void 0
2723
+ placeholder: void 0,
2724
+ fkey: null
2721
2725
  };
2722
2726
  if (Ht(t)) {
2723
2727
  let e = t.split(".");
@@ -2741,10 +2745,10 @@
2741
2745
  return n.type || (n.type = n.real_type), n;
2742
2746
  }, e.timeTracker = function(e = "Time Tracker", t = !1) {
2743
2747
  const n = e, r = performance.now();
2744
- let i = r;
2745
- return t && kt(`--\x3e ${n} - starting`), { mark: (e = "Intermediate", o = "") => {
2746
- const l = performance.now(), s = (l - i) / 1e3, _ = (l - r) / 1e3;
2747
- return t && kt(`--\x3e ${n} ${e} - partial: ${s} sec, total: ${_} sec, ${o}`), i = l, {
2748
+ let o = r;
2749
+ return t && kt(`--\x3e ${n} - starting`), { mark: (e = "Intermediate", i = "") => {
2750
+ const l = performance.now(), s = (l - o) / 1e3, _ = (l - r) / 1e3;
2751
+ return t && kt(`--\x3e ${n} ${e} - partial: ${s} sec, total: ${_} sec, ${i}`), o = l, {
2748
2752
  partial: s,
2749
2753
  total: _
2750
2754
  };