@ikonai/sdk-ui 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2746 @@
1
+ function Zt(t) {
2
+ if (t.length < 8)
3
+ throw new Error("Protocol message too short");
4
+ return (t[4] | t[5] << 8 | t[6] << 16 | t[7] << 24) >>> 0;
5
+ }
6
+ function et(t) {
7
+ const e = K(t), s = new DataView(e.buffer, e.byteOffset, e.byteLength);
8
+ if (e.length < 27)
9
+ throw new Error("Protocol payload too short");
10
+ const r = s.getUint32(0, !0), n = s.getUint32(4, !0), i = s.getUint32(8, !0), o = s.getUint32(12, !0), a = s.getUint32(16, !0), I = s.getUint32(20, !0), l = s.getUint8(24), c = s.getUint8(25), E = s.getUint8(26);
11
+ if (27 + I * 4 > e.length)
12
+ throw new Error("Protocol header exceeds payload length");
13
+ const N = [];
14
+ let h = 27;
15
+ for (let w = 0; w < I; w++)
16
+ N.push(s.getUint32(h, !0)), h += 4;
17
+ return {
18
+ length: r,
19
+ opcode: n,
20
+ senderId: i,
21
+ trackId: o,
22
+ sequenceId: a,
23
+ targetIds: N,
24
+ payloadVersion: l,
25
+ payloadType: c,
26
+ flags: E
27
+ };
28
+ }
29
+ function $(t, e, s) {
30
+ const r = K(t), n = et(r);
31
+ if (e !== void 0 && n.opcode !== e)
32
+ throw new Error(`Unexpected opcode ${n.opcode}`);
33
+ if (n.payloadType !== 8)
34
+ throw new Error(`Unexpected payload type ${n.payloadType}`);
35
+ const i = 27 + n.targetIds.length * 4;
36
+ return r.subarray(i, n.length);
37
+ }
38
+ var F = /* @__PURE__ */ ((t) => (t[t.Null = 1] = "Null", t[t.Bool = 2] = "Bool", t[t.Int32 = 3] = "Int32", t[t.Int64 = 4] = "Int64", t[t.UInt32 = 5] = "UInt32", t[t.UInt64 = 6] = "UInt64", t[t.Float32 = 7] = "Float32", t[t.Float64 = 8] = "Float64", t[t.Array = 9] = "Array", t[t.Dict = 10] = "Dict", t[t.Object = 11] = "Object", t[t.String = 12] = "String", t[t.Binary = 13] = "Binary", t[t.Guid = 14] = "Guid", t))(F || {});
39
+ const te = 161, ee = 162;
40
+ new TextEncoder();
41
+ const se = new TextDecoder("utf-8", { fatal: !0 });
42
+ class L {
43
+ constructor(e, s, r) {
44
+ this.buffer = e, this.version = s, this.offset = r, this.end = e.length - 1;
45
+ }
46
+ offset;
47
+ end;
48
+ static create(e) {
49
+ const s = K(e);
50
+ if (s.length < 2)
51
+ throw new Error("Teleport payload too short");
52
+ if (s[0] !== te || s[s.length - 1] !== ee)
53
+ throw new Error("Teleport object missing markers");
54
+ const r = { offset: 1 }, n = C(s, r, "InvalidLength");
55
+ return new L(s, n, r.offset);
56
+ }
57
+ next() {
58
+ if (this.offset >= this.end)
59
+ return null;
60
+ if (this.offset + 5 > this.buffer.length)
61
+ throw new Error("Teleport object truncated");
62
+ const e = oe(this.buffer, this.offset);
63
+ this.offset += 4;
64
+ const s = this.buffer[this.offset++], r = s >> 4 & 15;
65
+ if ((s & 15) !== 0)
66
+ throw new Error("Teleport field flags must be zero");
67
+ const n = p(r);
68
+ let i;
69
+ if (n >= 0)
70
+ d(this.buffer, this.offset, n), i = this.buffer.subarray(this.offset, this.offset + n), this.offset += n;
71
+ else {
72
+ const o = { offset: this.offset }, a = C(this.buffer, o, "InvalidLength");
73
+ d(this.buffer, o.offset, a), i = this.buffer.subarray(o.offset, o.offset + a), this.offset = o.offset + a;
74
+ }
75
+ return new re(e, r, i);
76
+ }
77
+ }
78
+ class U {
79
+ constructor(e, s) {
80
+ this.type = e, this.payload = s;
81
+ }
82
+ asInt32() {
83
+ return this.ensureType(
84
+ 3
85
+ /* Int32 */
86
+ ), new DataView(this.payload.buffer, this.payload.byteOffset, 4).getInt32(0, !0);
87
+ }
88
+ asUInt32() {
89
+ return this.ensureType(
90
+ 5
91
+ /* UInt32 */
92
+ ), new DataView(this.payload.buffer, this.payload.byteOffset, 4).getUint32(0, !0);
93
+ }
94
+ asInt64() {
95
+ return this.ensureType(
96
+ 4
97
+ /* Int64 */
98
+ ), new DataView(this.payload.buffer, this.payload.byteOffset, 8).getBigInt64(0, !0);
99
+ }
100
+ asUInt64() {
101
+ return this.ensureType(
102
+ 6
103
+ /* UInt64 */
104
+ ), new DataView(this.payload.buffer, this.payload.byteOffset, 8).getBigUint64(0, !0);
105
+ }
106
+ asFloat32() {
107
+ return this.ensureType(
108
+ 7
109
+ /* Float32 */
110
+ ), new DataView(this.payload.buffer, this.payload.byteOffset, 4).getFloat32(0, !0);
111
+ }
112
+ asFloat64() {
113
+ return this.ensureType(
114
+ 8
115
+ /* Float64 */
116
+ ), new DataView(this.payload.buffer, this.payload.byteOffset, 8).getFloat64(0, !0);
117
+ }
118
+ asBool() {
119
+ return this.ensureType(
120
+ 2
121
+ /* Bool */
122
+ ), this.payload.length > 0 && this.payload[0] !== 0;
123
+ }
124
+ asBinary() {
125
+ return this.ensureType(
126
+ 13
127
+ /* Binary */
128
+ ), this.payload;
129
+ }
130
+ asUtf8() {
131
+ return this.ensureType(
132
+ 12
133
+ /* String */
134
+ ), this.payload;
135
+ }
136
+ asString() {
137
+ return this.ensureType(
138
+ 12
139
+ /* String */
140
+ ), se.decode(this.payload);
141
+ }
142
+ asGuid() {
143
+ return this.ensureType(
144
+ 14
145
+ /* Guid */
146
+ ), T.fromBytes(this.payload);
147
+ }
148
+ asObject() {
149
+ return this.ensureType(
150
+ 11
151
+ /* Object */
152
+ ), L.create(this.payload);
153
+ }
154
+ asArray() {
155
+ return this.ensureType(
156
+ 9
157
+ /* Array */
158
+ ), st.create(this.payload);
159
+ }
160
+ asDictionary() {
161
+ return this.ensureType(
162
+ 10
163
+ /* Dict */
164
+ ), rt.create(this.payload);
165
+ }
166
+ ensureType(e) {
167
+ if (this.type !== e)
168
+ throw new Error(`Teleport value has type ${F[this.type]}, expected ${F[e]}`);
169
+ }
170
+ }
171
+ class re extends U {
172
+ constructor(e, s, r) {
173
+ super(s, r), this.fieldId = e;
174
+ }
175
+ get isNull() {
176
+ return this.type === 1;
177
+ }
178
+ }
179
+ class st {
180
+ payload;
181
+ elementType;
182
+ count;
183
+ offset;
184
+ index = 0;
185
+ constructor(e) {
186
+ if (this.payload = e, e.length === 0)
187
+ throw new Error("Array payload too short");
188
+ const s = e[0];
189
+ if (this.elementType = s >> 4 & 15, (s & 15) !== 0)
190
+ throw new Error("Array flags must be zero");
191
+ const r = { offset: 1 };
192
+ this.count = C(e, r, "ArrayMalformed"), this.offset = r.offset;
193
+ }
194
+ static create(e) {
195
+ return new st(K(e));
196
+ }
197
+ next() {
198
+ if (this.index >= this.count) {
199
+ if (this.offset !== this.payload.length)
200
+ throw new Error("Array payload contains trailing data");
201
+ return null;
202
+ }
203
+ const e = this.readValue();
204
+ return this.index++, e;
205
+ }
206
+ readValue() {
207
+ switch (this.elementType) {
208
+ case 3:
209
+ case 5:
210
+ case 7:
211
+ case 8:
212
+ case 2:
213
+ case 4:
214
+ case 6:
215
+ case 14: {
216
+ const e = p(this.elementType);
217
+ d(this.payload, this.offset, e);
218
+ const s = this.payload.subarray(this.offset, this.offset + e);
219
+ return this.offset += e, new M(this.elementType, s);
220
+ }
221
+ case 12:
222
+ case 13: {
223
+ const e = { offset: this.offset }, s = C(this.payload, e, "ArrayMalformed");
224
+ d(this.payload, e.offset, s);
225
+ const r = this.payload.subarray(e.offset, e.offset + s);
226
+ return this.offset = e.offset + s, new M(this.elementType, r);
227
+ }
228
+ case 11: {
229
+ const e = { offset: this.offset }, s = C(this.payload, e, "ArrayMalformed");
230
+ d(this.payload, e.offset, s);
231
+ const r = this.payload.subarray(e.offset, e.offset + s);
232
+ return this.offset = e.offset + s, new M(11, r);
233
+ }
234
+ case 9: {
235
+ const e = nt(this.payload, this.offset), s = this.payload.subarray(this.offset, this.offset + e);
236
+ return this.offset += e, new M(9, s);
237
+ }
238
+ case 10: {
239
+ const e = it(this.payload, this.offset), s = this.payload.subarray(this.offset, this.offset + e);
240
+ return this.offset += e, new M(10, s);
241
+ }
242
+ default:
243
+ throw new Error(`Unsupported array element type ${F[this.elementType]}`);
244
+ }
245
+ }
246
+ }
247
+ class M extends U {
248
+ constructor(e, s) {
249
+ super(e, s);
250
+ }
251
+ }
252
+ class rt {
253
+ payload;
254
+ keyType;
255
+ valueType;
256
+ count;
257
+ offset;
258
+ index = 0;
259
+ constructor(e) {
260
+ if (this.payload = e, e.length < 2)
261
+ throw new Error("Dictionary payload too short");
262
+ if (this.keyType = e[0] >> 4 & 15, this.valueType = e[1] >> 4 & 15, (e[0] & 15) !== 0 || (e[1] & 15) !== 0)
263
+ throw new Error("Dictionary key/value flags must be zero");
264
+ ct(this.keyType);
265
+ const s = { offset: 2 };
266
+ this.count = C(e, s, "DictMalformed"), this.offset = s.offset;
267
+ }
268
+ static create(e) {
269
+ return new rt(K(e));
270
+ }
271
+ next() {
272
+ if (this.index >= this.count) {
273
+ if (this.offset !== this.payload.length)
274
+ throw new Error("Dictionary payload contains trailing data");
275
+ return null;
276
+ }
277
+ const e = this.readKey(), s = this.readValue();
278
+ return this.index++, new ne(e, s);
279
+ }
280
+ readKey() {
281
+ const e = p(this.keyType);
282
+ if (e >= 0) {
283
+ d(this.payload, this.offset, e);
284
+ const s = this.payload.subarray(this.offset, this.offset + e);
285
+ return this.offset += e, new U(this.keyType, s);
286
+ }
287
+ if (this.keyType === 12 || this.keyType === 13) {
288
+ const s = { offset: this.offset }, r = C(this.payload, s, "DictMalformed");
289
+ d(this.payload, s.offset, r);
290
+ const n = this.payload.subarray(s.offset, s.offset + r);
291
+ return this.offset = s.offset + r, new U(this.keyType, n);
292
+ }
293
+ throw new Error("Unsupported dictionary key type");
294
+ }
295
+ readValue() {
296
+ switch (this.valueType) {
297
+ case 12:
298
+ case 13: {
299
+ const e = { offset: this.offset }, s = C(this.payload, e, "DictMalformed");
300
+ d(this.payload, e.offset, s);
301
+ const r = this.payload.subarray(e.offset, e.offset + s);
302
+ return this.offset = e.offset + s, new U(this.valueType, r);
303
+ }
304
+ case 11: {
305
+ const e = { offset: this.offset }, s = C(this.payload, e, "DictMalformed");
306
+ d(this.payload, e.offset, s);
307
+ const r = this.payload.subarray(e.offset, e.offset + s);
308
+ return this.offset = e.offset + s, new U(11, r);
309
+ }
310
+ case 9: {
311
+ const e = nt(this.payload, this.offset), s = this.payload.subarray(this.offset, this.offset + e);
312
+ return this.offset += e, new U(9, s);
313
+ }
314
+ case 10: {
315
+ const e = it(this.payload, this.offset), s = this.payload.subarray(this.offset, this.offset + e);
316
+ return this.offset += e, new U(10, s);
317
+ }
318
+ case 3:
319
+ case 5:
320
+ case 7:
321
+ case 8:
322
+ case 2:
323
+ case 4:
324
+ case 6:
325
+ case 14:
326
+ case 1: {
327
+ const e = p(this.valueType);
328
+ d(this.payload, this.offset, e);
329
+ const s = this.payload.subarray(this.offset, this.offset + e);
330
+ return this.offset += e, new U(this.valueType, s);
331
+ }
332
+ default:
333
+ throw new Error(`Unsupported dictionary value type ${F[this.valueType]}`);
334
+ }
335
+ }
336
+ }
337
+ class ne {
338
+ constructor(e, s) {
339
+ this.key = e, this.value = s;
340
+ }
341
+ }
342
+ class T {
343
+ constructor(e) {
344
+ this.bytes = e;
345
+ }
346
+ static fromString(e) {
347
+ if (!e)
348
+ throw new Error("Guid string is empty");
349
+ const s = e.replace(/-/g, "");
350
+ if (s.length !== 32)
351
+ throw new Error("Guid string must be 32 hex characters");
352
+ const r = new Uint8Array(16), n = T.parseHexSlice(s, 0, 8), i = T.parseHexSlice(s, 8, 4), o = T.parseHexSlice(s, 12, 4);
353
+ T.writeUInt32LE(r, 0, n), T.writeUInt16LE(r, 4, i), T.writeUInt16LE(r, 6, o);
354
+ for (let a = 0; a < 8; a++)
355
+ r[8 + a] = T.parseHexSlice(s, 16 + a * 2, 2);
356
+ return new T(r);
357
+ }
358
+ static fromBytes(e) {
359
+ if (e.length !== 16)
360
+ throw new Error("Guid byte array must be 16 bytes");
361
+ return new T(Uint8Array.from(e));
362
+ }
363
+ static createZero() {
364
+ return new T(new Uint8Array(16));
365
+ }
366
+ static createRandom() {
367
+ const e = new Uint8Array(16), s = globalThis.crypto;
368
+ if (s?.getRandomValues)
369
+ s.getRandomValues(e);
370
+ else
371
+ for (let r = 0; r < e.length; r++)
372
+ e[r] = Math.floor(Math.random() * 256);
373
+ return e[6] = e[6] & 15 | 64, e[8] = e[8] & 63 | 128, new T(e);
374
+ }
375
+ toString() {
376
+ const e = this.bytes;
377
+ return [
378
+ T.toHex(T.readUInt32LE(e, 0), 8),
379
+ T.toHex(T.readUInt16LE(e, 4), 4),
380
+ T.toHex(T.readUInt16LE(e, 6), 4),
381
+ at(e.subarray(8, 10)),
382
+ at(e.subarray(10, 16))
383
+ ].join("-");
384
+ }
385
+ asBytes() {
386
+ return this.bytes.slice();
387
+ }
388
+ static parseHexSlice(e, s, r) {
389
+ const n = e.substr(s, r), i = Number.parseInt(n, 16);
390
+ if (Number.isNaN(i))
391
+ throw new Error("Guid string contains invalid characters");
392
+ return i >>> 0;
393
+ }
394
+ static writeUInt32LE(e, s, r) {
395
+ const n = r >>> 0;
396
+ e[s] = n & 255, e[s + 1] = n >>> 8 & 255, e[s + 2] = n >>> 16 & 255, e[s + 3] = n >>> 24 & 255;
397
+ }
398
+ static writeUInt16LE(e, s, r) {
399
+ const n = r & 65535;
400
+ e[s] = n & 255, e[s + 1] = n >>> 8 & 255;
401
+ }
402
+ static readUInt32LE(e, s) {
403
+ return (e[s] | e[s + 1] << 8 | e[s + 2] << 16 | e[s + 3] << 24) >>> 0;
404
+ }
405
+ static readUInt16LE(e, s) {
406
+ return (e[s] | e[s + 1] << 8) & 65535;
407
+ }
408
+ static toHex(e, s) {
409
+ return (e >>> 0).toString(16).padStart(s, "0");
410
+ }
411
+ }
412
+ function C(t, e, s) {
413
+ if (e.offset >= t.length)
414
+ throw new Error(s);
415
+ let r = 0, n = 0, i = 0;
416
+ for (; e.offset < t.length; ) {
417
+ const o = t[e.offset++];
418
+ if (i++, r |= (o & 127) << n, (o & 128) === 0) {
419
+ if (i !== ie(r))
420
+ throw new Error("Teleport VarUInt is not canonical");
421
+ return r >>> 0;
422
+ }
423
+ if (n += 7, n >= 35)
424
+ throw new Error("Teleport VarUInt exceeds 32-bit range");
425
+ }
426
+ throw new Error(s);
427
+ }
428
+ function ie(t) {
429
+ return t < 128 ? 1 : t < 16384 ? 2 : t < 2097152 ? 3 : t < 268435456 ? 4 : 5;
430
+ }
431
+ function p(t) {
432
+ switch (t) {
433
+ case 3:
434
+ case 5:
435
+ case 7:
436
+ return 4;
437
+ case 4:
438
+ case 6:
439
+ case 8:
440
+ return 8;
441
+ case 14:
442
+ return 16;
443
+ case 2:
444
+ return 1;
445
+ case 1:
446
+ return 0;
447
+ default:
448
+ return -1;
449
+ }
450
+ }
451
+ function ct(t) {
452
+ if (t === 9 || t === 11 || t === 10 || t === 1)
453
+ throw new Error("Dictionary keys must be primitive Teleport types");
454
+ }
455
+ function d(t, e, s) {
456
+ if (e < 0 || s < 0 || e + s > t.length)
457
+ throw new Error("Teleport payload exceeds bounds");
458
+ }
459
+ function oe(t, e) {
460
+ return (t[e] | t[e + 1] << 8 | t[e + 2] << 16 | t[e + 3] << 24) >>> 0;
461
+ }
462
+ function nt(t, e) {
463
+ if (e >= t.length)
464
+ throw new Error("Array payload exceeds bounds");
465
+ const s = t[e], r = s >> 4 & 15;
466
+ if ((s & 15) !== 0)
467
+ throw new Error("Array flags must be zero");
468
+ const n = { offset: e + 1 }, i = C(t, n, "ArrayMalformed"), o = p(r);
469
+ if (o >= 0) {
470
+ const I = o * i;
471
+ return d(t, n.offset, I), n.offset + I - e;
472
+ }
473
+ let a = n.offset;
474
+ for (let I = 0; I < i; I++)
475
+ a = q(r, t, a, "ArrayMalformed");
476
+ return a - e;
477
+ }
478
+ function it(t, e) {
479
+ if (e + 2 > t.length)
480
+ throw new Error("Dictionary payload too short");
481
+ const s = t[e] >> 4 & 15, r = t[e + 1] >> 4 & 15;
482
+ if ((t[e] & 15) !== 0 || (t[e + 1] & 15) !== 0)
483
+ throw new Error("Dictionary key/value flags must be zero");
484
+ ct(s);
485
+ const n = { offset: e + 2 }, i = C(t, n, "DictMalformed");
486
+ let o = n.offset;
487
+ for (let a = 0; a < i; a++)
488
+ o = q(s, t, o, "DictMalformed"), o = q(r, t, o, "DictMalformed");
489
+ return o - e;
490
+ }
491
+ function q(t, e, s, r) {
492
+ const n = p(t);
493
+ if (n >= 0)
494
+ return d(e, s, n), s + n;
495
+ switch (t) {
496
+ case 12:
497
+ case 13: {
498
+ const i = { offset: s }, o = C(e, i, r);
499
+ return d(e, i.offset, o), i.offset + o;
500
+ }
501
+ case 11: {
502
+ const i = { offset: s }, o = C(e, i, r);
503
+ return d(e, i.offset, o), i.offset + o;
504
+ }
505
+ case 9:
506
+ return s + nt(e, s);
507
+ case 10:
508
+ return s + it(e, s);
509
+ default:
510
+ throw new Error(`Unsupported Teleport type ${F[t]}`);
511
+ }
512
+ }
513
+ function at(t) {
514
+ return Array.from(t).map((e) => e.toString(16).padStart(2, "0")).join("");
515
+ }
516
+ function K(t) {
517
+ return t instanceof Uint8Array ? t : new Uint8Array(t);
518
+ }
519
+ var Et = /* @__PURE__ */ ((t) => (t[t.Unknown = 0] = "Unknown", t[t.Opus = 1] = "Opus", t[t.Mp3 = 2] = "Mp3", t[t.RawPcm16 = 3] = "RawPcm16", t))(Et || {}), _t = /* @__PURE__ */ ((t) => (t[t.Unknown = 0] = "Unknown", t[t.MobileWeb = 1] = "MobileWeb", t[t.MobileApp = 2] = "MobileApp", t[t.DesktopWeb = 3] = "DesktopWeb", t[t.DesktopApp = 4] = "DesktopApp", t))(_t || {}), ft = /* @__PURE__ */ ((t) => (t[t.Unknown = 0] = "Unknown", t[t.Backend = 2] = "Backend", t[t.Server = 4] = "Server", t[t.Plugin = 8] = "Plugin", t[t.Browser = 16] = "Browser", t))(ft || {}), ht = /* @__PURE__ */ ((t) => (t[t.Unknown = 0] = "Unknown", t[t.MessagePack = 1] = "MessagePack", t[t.MemoryPack = 2] = "MemoryPack", t[t.Json = 4] = "Json", t[t.Teleport = 8] = "Teleport", t[t.All = 15] = "All", t))(ht || {}), ut = /* @__PURE__ */ ((t) => (t[t.Face = 0] = "Face", t[t.Hands = 1] = "Hands", t[t.Pose = 2] = "Pose", t[t.All = 3] = "All", t))(ut || {}), Tt = /* @__PURE__ */ ((t) => (t[t.Unknown = 0] = "Unknown", t[t.Machine = 1] = "Machine", t[t.Human = 2] = "Human", t))(Tt || {}), Nt = /* @__PURE__ */ ((t) => (t[t.Unknown = 0] = "Unknown", t[t.H264 = 1] = "H264", t[t.Vp8 = 2] = "Vp8", t[t.Vp9 = 3] = "Vp9", t[t.Av1 = 4] = "Av1", t))(Nt || {}), At = /* @__PURE__ */ ((t) => (t[t.Unknown = 0] = "Unknown", t[t.DotNet = 1] = "DotNet", t[t.TypeScript = 2] = "TypeScript", t[t.Cpp = 3] = "Cpp", t))(At || {}), O = /* @__PURE__ */ ((t) => (t[t.NONE = 0] = "NONE", t[t.CONSTANT_GROUP_BITS = 15] = "CONSTANT_GROUP_BITS", t[t.CONSTANT_GROUP_OFFSET = 16] = "CONSTANT_GROUP_OFFSET", t[t.GROUP_CORE = 65536] = "GROUP_CORE", t[t.CORE_AUTH_RESPONSE = 65537] = "CORE_AUTH_RESPONSE", t[t.CORE_AUTH_TICKET = 65538] = "CORE_AUTH_TICKET", t[t.CORE_GLOBAL_STATE = 65539] = "CORE_GLOBAL_STATE", t[t.CORE_ON_SERVER_STATUS_PING = 65540] = "CORE_ON_SERVER_STATUS_PING", t[t.CORE_ON_USER_JOINED = 65541] = "CORE_ON_USER_JOINED", t[t.CORE_ON_USER_LEFT = 65542] = "CORE_ON_USER_LEFT", t[t.CORE_ON_CLIENT_JOINED = 65543] = "CORE_ON_CLIENT_JOINED", t[t.CORE_ON_CLIENT_LEFT = 65544] = "CORE_ON_CLIENT_LEFT", t[t.CORE_ON_SERVER_STARTED = 65545] = "CORE_ON_SERVER_STARTED", t[t.CORE_ON_SERVER_STOPPED = 65546] = "CORE_ON_SERVER_STOPPED", t[t.CORE_ON_SERVER_STOPPING = 65547] = "CORE_ON_SERVER_STOPPING", t[t.CORE_ON_CLIENT_READY = 65548] = "CORE_ON_CLIENT_READY", t[t.CORE_CLIENT_READY = 65549] = "CORE_CLIENT_READY", t[t.CORE_SERVER_INIT = 65550] = "CORE_SERVER_INIT", t[t.CORE_ON_PLUGIN_RELOADED = 65551] = "CORE_ON_PLUGIN_RELOADED", t[t.CORE_SERVER_START = 65552] = "CORE_SERVER_START", t[t.CORE_SERVER_STOP = 65553] = "CORE_SERVER_STOP", t[t.CORE_ON_HOSTED_SERVER_EXIT = 65554] = "CORE_ON_HOSTED_SERVER_EXIT", t[t.CORE_DYNAMIC_CONFIG = 65555] = "CORE_DYNAMIC_CONFIG", t[t.CORE_PROXY_RPC_AUTH_TICKET = 65556] = "CORE_PROXY_RPC_AUTH_TICKET", t[t.CORE_SERVER_INIT2 = 65557] = "CORE_SERVER_INIT2", t[t.GROUP_KEEPALIVE = 131072] = "GROUP_KEEPALIVE", t[t.KEEPALIVE_REQUEST = 131073] = "KEEPALIVE_REQUEST", t[t.KEEPALIVE_RESPONSE = 131074] = "KEEPALIVE_RESPONSE", t[t.GROUP_EVENTS = 262144] = "GROUP_EVENTS", t[t.EVENTS_PROFILE_UPDATE = 262145] = "EVENTS_PROFILE_UPDATE", t[t.EVENTS_CHANNEL_COMPLETE = 262146] = "EVENTS_CHANNEL_COMPLETE", t[t.EVENTS_SPEECH_PLAYBACK_COMPLETE = 262147] = "EVENTS_SPEECH_PLAYBACK_COMPLETE", t[t.GROUP_ANALYTICS = 524288] = "GROUP_ANALYTICS", t[t.ANALYTICS_LOGS = 524289] = "ANALYTICS_LOGS", t[t.ANALYTICS_EVENTS = 524290] = "ANALYTICS_EVENTS", t[t.ANALYTICS_USAGES = 524291] = "ANALYTICS_USAGES", t[t.ANALYTICS_USAGE = 524292] = "ANALYTICS_USAGE", t[t.ANALYTICS_SPECIAL_LOG = 524293] = "ANALYTICS_SPECIAL_LOG", t[t.ANALYTICS_PROCESSING_UPDATE = 524294] = "ANALYTICS_PROCESSING_UPDATE", t[t.ANALYTICS_REACTIVE_PROCESSING_UPDATE = 524295] = "ANALYTICS_REACTIVE_PROCESSING_UPDATE", t[t.ANALYTICS_IKON_PROXY_SERVER_STATS = 524296] = "ANALYTICS_IKON_PROXY_SERVER_STATS", t[t.ANALYTICS_DEVTOOLS_CONSOLE_OUTPUT = 524297] = "ANALYTICS_DEVTOOLS_CONSOLE_OUTPUT", t[t.GROUP_ACTIONS = 1048576] = "GROUP_ACTIONS", t[t.ACTION_CALL = 1048577] = "ACTION_CALL", t[t.ACTION_ACTIVE = 1048578] = "ACTION_ACTIVE", t[t.ACTION_TEXT_OUTPUT = 1048579] = "ACTION_TEXT_OUTPUT", t[t.ACTION_TEXT_OUTPUT_DELTA = 1048580] = "ACTION_TEXT_OUTPUT_DELTA", t[t.ACTION_TEXT_OUTPUT_DELTA_FULL = 1048581] = "ACTION_TEXT_OUTPUT_DELTA_FULL", t[t.ACTION_SET_STATE = 1048582] = "ACTION_SET_STATE", t[t.ACTION_TAP = 1048583] = "ACTION_TAP", t[t.ACTION_PAN = 1048584] = "ACTION_PAN", t[t.ACTION_ZOOM = 1048585] = "ACTION_ZOOM", t[t.ACTION_FILE_UPLOAD_BEGIN = 1048586] = "ACTION_FILE_UPLOAD_BEGIN", t[t.ACTION_FILE_UPLOAD_DATA = 1048587] = "ACTION_FILE_UPLOAD_DATA", t[t.ACTION_FILE_UPLOAD_ACK = 1048588] = "ACTION_FILE_UPLOAD_ACK", t[t.ACTION_FILE_UPLOAD_END = 1048589] = "ACTION_FILE_UPLOAD_END", t[t.ACTION_FILE_UPLOAD_RESULT = 1048590] = "ACTION_FILE_UPLOAD_RESULT", t[t.ACTION_OPEN_CHANNEL = 1048591] = "ACTION_OPEN_CHANNEL", t[t.ACTION_OPEN_EXTERNAL_URL = 1048592] = "ACTION_OPEN_EXTERNAL_URL", t[t.ACTION_UI_OPEN_VIEW = 1048593] = "ACTION_UI_OPEN_VIEW", t[t.ACTION_UI_CLOSE_VIEW = 1048594] = "ACTION_UI_CLOSE_VIEW", t[t.ACTION_UI_BLOCKING_BEGIN = 1048595] = "ACTION_UI_BLOCKING_BEGIN", t[t.ACTION_UI_BLOCKING_END = 1048596] = "ACTION_UI_BLOCKING_END", t[t.ACTION_UI_UPDATE_TEXT_DELTA = 1048597] = "ACTION_UI_UPDATE_TEXT_DELTA", t[t.ACTION_UI_DELETE_CONTAINER = 1048598] = "ACTION_UI_DELETE_CONTAINER", t[t.ACTION_UPDATE_GFX_SHADER = 1048599] = "ACTION_UPDATE_GFX_SHADER", t[t.ACTION_FUNCTION_REGISTER = 1048600] = "ACTION_FUNCTION_REGISTER", t[t.ACTION_FUNCTION_CALL = 1048601] = "ACTION_FUNCTION_CALL", t[t.ACTION_FUNCTION_RESULT = 1048602] = "ACTION_FUNCTION_RESULT", t[t.ACTION_GENERATE_ANSWER = 1048603] = "ACTION_GENERATE_ANSWER", t[t.ACTION_REGENERATE_ANSWER = 1048604] = "ACTION_REGENERATE_ANSWER", t[t.ACTION_CLEAR_CHAT_MESSAGE_HISTORY = 1048605] = "ACTION_CLEAR_CHAT_MESSAGE_HISTORY", t[t.ACTION_CLEAR_STATE = 1048606] = "ACTION_CLEAR_STATE", t[t.ACTION_RELOAD_CHANNELS = 1048607] = "ACTION_RELOAD_CHANNELS", t[t.ACTION_RELOAD_PROFILE = 1048608] = "ACTION_RELOAD_PROFILE", t[t.ACTION_CLASSIFICATION_RESULT = 1048609] = "ACTION_CLASSIFICATION_RESULT", t[t.ACTION_AUDIO_STOP = 1048610] = "ACTION_AUDIO_STOP", t[t.ACTION_CALL_TEXT = 1048611] = "ACTION_CALL_TEXT", t[t.ACTION_RELOAD_APPLICATION = 1048612] = "ACTION_RELOAD_APPLICATION", t[t.ACTION_CANCEL_GENERATION = 1048613] = "ACTION_CANCEL_GENERATION", t[t.ACTION_UI_SET_CONTAINER_STABLE = 1048614] = "ACTION_UI_SET_CONTAINER_STABLE", t[t.ACTION_SPEECH_RECOGNIZED = 1048615] = "ACTION_SPEECH_RECOGNIZED", t[t.ACTION_CALL_RESULT = 1048616] = "ACTION_CALL_RESULT", t[t.ACTION_RELOAD_PROVIDER = 1048617] = "ACTION_RELOAD_PROVIDER", t[t.ACTION_DOWNLOAD = 1048618] = "ACTION_DOWNLOAD", t[t.ACTION_SCROLL_TO_CONTAINER = 1048619] = "ACTION_SCROLL_TO_CONTAINER", t[t.ACTION_UI_CLEAR_STREAM = 1048620] = "ACTION_UI_CLEAR_STREAM", t[t.ACTION_PLAY_SOUND = 1048621] = "ACTION_PLAY_SOUND", t[t.ACTION_ENTER_FULLSCREEN = 1048622] = "ACTION_ENTER_FULLSCREEN", t[t.ACTION_STOP_SOUND = 1048623] = "ACTION_STOP_SOUND", t[t.ACTION_START_RECORDING = 1048624] = "ACTION_START_RECORDING", t[t.ACTION_STOP_RECORDING = 1048625] = "ACTION_STOP_RECORDING", t[t.ACTION_OPTIMISTIC_CLIENT_CALLS = 1048626] = "ACTION_OPTIMISTIC_CLIENT_CALLS", t[t.ACTION_FUNCTION_ENUMERATION_ITEM = 1048627] = "ACTION_FUNCTION_ENUMERATION_ITEM", t[t.ACTION_FUNCTION_ENUMERATION_END = 1048628] = "ACTION_FUNCTION_ENUMERATION_END", t[t.ACTION_FUNCTION_CANCEL = 1048629] = "ACTION_FUNCTION_CANCEL", t[t.ACTION_FUNCTION_DISPOSE = 1048630] = "ACTION_FUNCTION_DISPOSE", t[t.ACTION_FUNCTION_ERROR = 1048631] = "ACTION_FUNCTION_ERROR", t[t.ACTION_FUNCTION_ACK = 1048632] = "ACTION_FUNCTION_ACK", t[t.ACTION_FUNCTION_AWAITING_APPROVAL = 1048633] = "ACTION_FUNCTION_AWAITING_APPROVAL", t[t.ACTION_FUNCTION_APPROVAL_REQUIRED = 1048634] = "ACTION_FUNCTION_APPROVAL_REQUIRED", t[t.ACTION_FUNCTION_APPROVAL_RESPONSE = 1048635] = "ACTION_FUNCTION_APPROVAL_RESPONSE", t[t.UI_UPDATE_ACK = 1048636] = "UI_UPDATE_ACK", t[t.ACTION_CALL2 = 1048637] = "ACTION_CALL2", t[t.ACTION_FUNCTION_REGISTER_BATCH = 1048638] = "ACTION_FUNCTION_REGISTER_BATCH", t[t.ACTION_TRIGGER_GIT_PULL = 1048639] = "ACTION_TRIGGER_GIT_PULL", t[t.GROUP_UI = 2097152] = "GROUP_UI", t[t.UI_STREAM_BEGIN = 2097153] = "UI_STREAM_BEGIN", t[t.UI_STREAM_END = 2097154] = "UI_STREAM_END", t[t.UI_CONTAINER_BEGIN = 2097155] = "UI_CONTAINER_BEGIN", t[t.UI_CONTAINER_END = 2097156] = "UI_CONTAINER_END", t[t.UI_SECTION_BEGIN = 2097157] = "UI_SECTION_BEGIN", t[t.UI_SECTION_END = 2097158] = "UI_SECTION_END", t[t.UI_LIST_BEGIN = 2097159] = "UI_LIST_BEGIN", t[t.UI_LIST_ITEM = 2097160] = "UI_LIST_ITEM", t[t.UI_LIST_END = 2097161] = "UI_LIST_END", t[t.UI_TEXT = 2097162] = "UI_TEXT", t[t.UI_HEADER = 2097163] = "UI_HEADER", t[t.UI_SEPARATOR = 2097164] = "UI_SEPARATOR", t[t.UI_BUTTON = 2097165] = "UI_BUTTON", t[t.UI_ICON_BUTTON = 2097166] = "UI_ICON_BUTTON", t[t.UI_IMAGE = 2097167] = "UI_IMAGE", t[t.UI_FILE = 2097168] = "UI_FILE", t[t.UI_BADGE = 2097169] = "UI_BADGE", t[t.UI_CONTENT_LINK = 2097170] = "UI_CONTENT_LINK", t[t.UI_MAP = 2097171] = "UI_MAP", t[t.UI_VEGA_CHART = 2097172] = "UI_VEGA_CHART", t[t.UI_ICON = 2097173] = "UI_ICON", t[t.UI_FILE_UPLOAD_SECTION_BEGIN = 2097174] = "UI_FILE_UPLOAD_SECTION_BEGIN", t[t.UI_FILE_UPLOAD_SECTION_END = 2097175] = "UI_FILE_UPLOAD_SECTION_END", t[t.UI_MATERIAL_SYMBOL = 2097176] = "UI_MATERIAL_SYMBOL", t[t.UI_BUTTON_BEGIN = 2097177] = "UI_BUTTON_BEGIN", t[t.UI_BUTTON_END = 2097178] = "UI_BUTTON_END", t[t.UI_CONTAINER_DELETE = 2097179] = "UI_CONTAINER_DELETE", t[t.UI_INPUT_TEXT = 2097180] = "UI_INPUT_TEXT", t[t.UI_PROGRESS_BAR = 2097181] = "UI_PROGRESS_BAR", t[t.UI_UPDATE_BEGIN = 2097182] = "UI_UPDATE_BEGIN", t[t.UI_UPDATE_END = 2097183] = "UI_UPDATE_END", t[t.UI_AUTOCOMPLETE = 2097184] = "UI_AUTOCOMPLETE", t[t.UI_CHECKBOX = 2097185] = "UI_CHECKBOX", t[t.UI_QS = 2097186] = "UI_QS", t[t.UI_ELEMENT = 2097187] = "UI_ELEMENT", t[t.UI_STYLES = 2097188] = "UI_STYLES", t[t.UI_SVG = 2097189] = "UI_SVG", t[t.UI_UPDATE = 2097190] = "UI_UPDATE", t[t.UI_INIT = 2097191] = "UI_INIT", t[t.UI_STYLES_BATCH = 2097192] = "UI_STYLES_BATCH", t[t.UI_STYLES_DELETE = 2097193] = "UI_STYLES_DELETE", t[t.GROUP_COMMON = 4128768] = "GROUP_COMMON", t[t.GROUP_AUDIO = 4194304] = "GROUP_AUDIO", t[t.AUDIO_STREAM_BEGIN = 4194305] = "AUDIO_STREAM_BEGIN", t[t.AUDIO_STREAM_END = 4194306] = "AUDIO_STREAM_END", t[t.AUDIO_FRAME = 4194307] = "AUDIO_FRAME", t[t.AUDIO_FRAME_VOLUME = 4194308] = "AUDIO_FRAME_VOLUME", t[t.AUDIO_FRAME2 = 4194309] = "AUDIO_FRAME2", t[t.GROUP_VIDEO = 8388608] = "GROUP_VIDEO", t[t.VIDEO_STREAM_BEGIN = 8388609] = "VIDEO_STREAM_BEGIN", t[t.VIDEO_STREAM_END = 8388610] = "VIDEO_STREAM_END", t[t.VIDEO_FRAME = 8388611] = "VIDEO_FRAME", t[t.VIDEO_REQUEST_IDR_FRAME = 8388612] = "VIDEO_REQUEST_IDR_FRAME", t[t.VIDEO_INVALIDATE_FRAME = 8388613] = "VIDEO_INVALIDATE_FRAME", t[t.GROUP_TRACKING = 16777216] = "GROUP_TRACKING", t[t.TRACKING_STREAM_BEGIN = 16777217] = "TRACKING_STREAM_BEGIN", t[t.TRACKING_STREAM_END = 16777218] = "TRACKING_STREAM_END", t[t.TRACKING_FRAME = 16777219] = "TRACKING_FRAME", t[t.GROUP_SCENE = 33554432] = "GROUP_SCENE", t[t.SCENE_MESH = 33554433] = "SCENE_MESH", t[t.SCENE_ARRAY = 33554434] = "SCENE_ARRAY", t[t.GROUP_ALL = 67043328] = "GROUP_ALL", t[t.CONSTANT_GROUP_MASK = 2147418112] = "CONSTANT_GROUP_MASK", t))(O || {});
520
+ const ae = 265814330, le = 1368629611, Ie = 2431514951, ce = 2914494629, Ee = 3284746250, _e = 4101844078;
521
+ function St(t) {
522
+ const e = {};
523
+ return dt(e), e;
524
+ }
525
+ function dt(t) {
526
+ return t.Description = "", t.Codec = Et.Unknown, t.SampleRate = 0, t.Channels = 0, t.BitDepth = 0, t.ShapeSets = void 0, t;
527
+ }
528
+ function fe(t, e) {
529
+ const s = e ?? St();
530
+ return dt(s), he(t, s), s;
531
+ }
532
+ function he(t, e) {
533
+ let s;
534
+ for (; (s = t.next()) !== null; )
535
+ switch (s.fieldId) {
536
+ case ae: {
537
+ if (s.isNull) {
538
+ e.ShapeSets = void 0;
539
+ break;
540
+ }
541
+ e.ShapeSets = ue(s.asArray());
542
+ break;
543
+ }
544
+ case le: {
545
+ if (s.isNull) throw new Error();
546
+ e.Description = s.asString();
547
+ break;
548
+ }
549
+ case Ie: {
550
+ if (s.isNull) throw new Error();
551
+ e.Channels = s.asInt32();
552
+ break;
553
+ }
554
+ case ce: {
555
+ if (s.isNull) throw new Error();
556
+ e.BitDepth = s.asInt32();
557
+ break;
558
+ }
559
+ case Ee: {
560
+ if (s.isNull) throw new Error();
561
+ e.Codec = s.asInt32();
562
+ break;
563
+ }
564
+ case _e: {
565
+ if (s.isNull) throw new Error();
566
+ e.SampleRate = s.asInt32();
567
+ break;
568
+ }
569
+ }
570
+ }
571
+ function ue(t) {
572
+ const e = [];
573
+ let s;
574
+ for (; (s = t.next()) !== null; )
575
+ e.push(de(s.asObject()));
576
+ return e;
577
+ }
578
+ const Te = 1107713536, Ne = 1154362099, Ae = 1185721362;
579
+ function Se(t) {
580
+ const e = {};
581
+ return yt(e), e;
582
+ }
583
+ function yt(t) {
584
+ return t.SetId = 0, t.Name = "", t.ShapeNames = [], t;
585
+ }
586
+ function de(t, e) {
587
+ const s = e ?? Se();
588
+ return yt(s), ye(t, s), s;
589
+ }
590
+ function ye(t, e) {
591
+ let s;
592
+ for (; (s = t.next()) !== null; )
593
+ switch (s.fieldId) {
594
+ case Te: {
595
+ if (s.isNull) throw new Error();
596
+ e.Name = s.asString();
597
+ break;
598
+ }
599
+ case Ne: {
600
+ if (s.isNull) throw new Error();
601
+ e.SetId = s.asUInt32();
602
+ break;
603
+ }
604
+ case Ae: {
605
+ if (s.isNull) throw new Error();
606
+ e.ShapeNames = we(s.asArray());
607
+ break;
608
+ }
609
+ }
610
+ }
611
+ function we(t) {
612
+ const e = [];
613
+ let s;
614
+ for (; (s = t.next()) !== null; )
615
+ e.push(s.asString());
616
+ return e;
617
+ }
618
+ const Ce = 76337612, De = 185396121, Ue = 388632637, Re = 417197284, me = 469070965, Le = 470595159, Oe = 781727218, ge = 834078886, Pe = 1043273762, be = 1236999138, Fe = 1368629611, pe = 1715899485, ve = 1942830531, Me = 1999510636, ke = 2079864626, Ve = 2142346422, Ge = 2598291686, Be = 2719718823, xe = 2810953526, He = 2840065720, Ye = 2885165957, $e = 3586157513, Ke = 3717933110, je = 4062655306;
619
+ function Xe(t) {
620
+ const e = {};
621
+ return wt(e), e;
622
+ }
623
+ function wt(t) {
624
+ return t.ContextType = ft.Unknown, t.UserType = Tt.Unknown, t.PayloadType = ht.Unknown, t.Description = "", t.UserId = "", t.DeviceId = "", t.ProductId = "", t.VersionId = "", t.InstallId = "", t.Locale = "", t.SessionId = -1, t.IsInternal = !1, t.IsReady = !1, t.HasInput = !1, t.ChannelLocale = "", t.EmbeddedSpaceId = "", t.AuthSessionId = "", t.ReceiveAllMessages = !1, t.PreciseJoinedAt = 0n, t.UserAgent = "", t.ClientType = _t.Unknown, t.UniqueSessionId = "", t.Parameters = /* @__PURE__ */ Object.create(null), t.SdkType = At.Unknown, t;
625
+ }
626
+ function ze(t, e) {
627
+ const s = e ?? Xe();
628
+ return wt(s), We(t, s), s;
629
+ }
630
+ function We(t, e) {
631
+ let s;
632
+ for (; (s = t.next()) !== null; )
633
+ switch (s.fieldId) {
634
+ case Ce: {
635
+ if (s.isNull) throw new Error();
636
+ e.DeviceId = s.asString();
637
+ break;
638
+ }
639
+ case De: {
640
+ if (s.isNull) throw new Error();
641
+ e.InstallId = s.asString();
642
+ break;
643
+ }
644
+ case Ue: {
645
+ if (s.isNull) throw new Error();
646
+ e.UserAgent = s.asString();
647
+ break;
648
+ }
649
+ case Re: {
650
+ if (s.isNull) throw new Error();
651
+ e.ContextType = s.asInt32();
652
+ break;
653
+ }
654
+ case me: {
655
+ if (s.isNull) throw new Error();
656
+ e.HasInput = s.asBool();
657
+ break;
658
+ }
659
+ case Le: {
660
+ if (s.isNull) throw new Error();
661
+ e.UserType = s.asInt32();
662
+ break;
663
+ }
664
+ case Oe: {
665
+ if (s.isNull) throw new Error();
666
+ e.UserId = s.asString();
667
+ break;
668
+ }
669
+ case ge: {
670
+ if (s.isNull) throw new Error();
671
+ e.ProductId = s.asString();
672
+ break;
673
+ }
674
+ case Pe: {
675
+ if (s.isNull) throw new Error();
676
+ e.AuthSessionId = s.asString();
677
+ break;
678
+ }
679
+ case be: {
680
+ if (s.isNull) throw new Error();
681
+ e.ReceiveAllMessages = s.asBool();
682
+ break;
683
+ }
684
+ case Fe: {
685
+ if (s.isNull) throw new Error();
686
+ e.Description = s.asString();
687
+ break;
688
+ }
689
+ case pe: {
690
+ if (s.isNull) throw new Error();
691
+ e.Locale = s.asString();
692
+ break;
693
+ }
694
+ case ve: {
695
+ if (s.isNull) throw new Error();
696
+ e.SdkType = s.asInt32();
697
+ break;
698
+ }
699
+ case Me: {
700
+ if (s.isNull) throw new Error();
701
+ e.SessionId = s.asInt32();
702
+ break;
703
+ }
704
+ case ke: {
705
+ if (s.isNull) throw new Error();
706
+ e.PreciseJoinedAt = s.asUInt64();
707
+ break;
708
+ }
709
+ case Ve: {
710
+ if (s.isNull) throw new Error();
711
+ e.PayloadType = s.asInt32();
712
+ break;
713
+ }
714
+ case Ge: {
715
+ if (s.isNull) throw new Error();
716
+ e.VersionId = s.asString();
717
+ break;
718
+ }
719
+ case Be: {
720
+ if (s.isNull) throw new Error();
721
+ e.UniqueSessionId = s.asString();
722
+ break;
723
+ }
724
+ case xe: {
725
+ if (s.isNull) throw new Error();
726
+ e.ClientType = s.asInt32();
727
+ break;
728
+ }
729
+ case He: {
730
+ if (s.isNull) throw new Error();
731
+ e.IsReady = s.asBool();
732
+ break;
733
+ }
734
+ case Ye: {
735
+ if (s.isNull) throw new Error();
736
+ e.Parameters = Je(s.asDictionary());
737
+ break;
738
+ }
739
+ case $e: {
740
+ if (s.isNull) throw new Error();
741
+ e.IsInternal = s.asBool();
742
+ break;
743
+ }
744
+ case Ke: {
745
+ if (s.isNull) throw new Error();
746
+ e.ChannelLocale = s.asString();
747
+ break;
748
+ }
749
+ case je: {
750
+ if (s.isNull) throw new Error();
751
+ e.EmbeddedSpaceId = s.asString();
752
+ break;
753
+ }
754
+ }
755
+ }
756
+ function Je(t) {
757
+ const e = /* @__PURE__ */ Object.create(null);
758
+ let s;
759
+ for (; (s = t.next()) !== null; ) {
760
+ const r = s.key.asString();
761
+ e[r] = s.value.asString();
762
+ }
763
+ return e;
764
+ }
765
+ const qe = 703025676, Qe = 814454131, Ze = 972460562, ts = 976255570, es = 1368629611, ss = 1479280922, rs = 1533537016, ns = 2274386296, is = 2603556958, os = 2885165957, as = 3568439632;
766
+ function ls(t) {
767
+ const e = {};
768
+ return Ct(e), e;
769
+ }
770
+ function Ct(t) {
771
+ return t.FunctionId = T.fromBytes(new Uint8Array(16)), t.FunctionName = "", t.Parameters = [], t.ResultTypeName = "", t.IsEnumerable = !1, t.EnumerableItemTypeName = "", t.IsCancellable = !1, t.Description = "", t.LlmInlineResult = !1, t.LlmCallOnlyOnce = !1, t.RequiresInstance = !1, t;
772
+ }
773
+ function Is(t, e) {
774
+ const s = e ?? ls();
775
+ return Ct(s), cs(t, s), s;
776
+ }
777
+ function cs(t, e) {
778
+ let s;
779
+ for (; (s = t.next()) !== null; )
780
+ switch (s.fieldId) {
781
+ case qe: {
782
+ if (s.isNull) throw new Error();
783
+ e.ResultTypeName = s.asString();
784
+ break;
785
+ }
786
+ case Qe: {
787
+ if (s.isNull) throw new Error();
788
+ e.FunctionName = s.asString();
789
+ break;
790
+ }
791
+ case Ze: {
792
+ if (s.isNull) throw new Error();
793
+ e.EnumerableItemTypeName = s.asString();
794
+ break;
795
+ }
796
+ case ts: {
797
+ if (s.isNull) throw new Error();
798
+ e.FunctionId = s.asGuid();
799
+ break;
800
+ }
801
+ case es: {
802
+ if (s.isNull) throw new Error();
803
+ e.Description = s.asString();
804
+ break;
805
+ }
806
+ case ss: {
807
+ if (s.isNull) throw new Error();
808
+ e.IsCancellable = s.asBool();
809
+ break;
810
+ }
811
+ case rs: {
812
+ if (s.isNull) throw new Error();
813
+ e.RequiresInstance = s.asBool();
814
+ break;
815
+ }
816
+ case ns: {
817
+ if (s.isNull) throw new Error();
818
+ e.LlmInlineResult = s.asBool();
819
+ break;
820
+ }
821
+ case is: {
822
+ if (s.isNull) throw new Error();
823
+ e.IsEnumerable = s.asBool();
824
+ break;
825
+ }
826
+ case os: {
827
+ if (s.isNull) throw new Error();
828
+ e.Parameters = Es(s.asArray());
829
+ break;
830
+ }
831
+ case as: {
832
+ if (s.isNull) throw new Error();
833
+ e.LlmCallOnlyOnce = s.asBool();
834
+ break;
835
+ }
836
+ }
837
+ }
838
+ function Es(t) {
839
+ const e = [];
840
+ let s;
841
+ for (; (s = t.next()) !== null; )
842
+ e.push(ws(s.asObject()));
843
+ return e;
844
+ }
845
+ const _s = 607861992, fs = 894485888, hs = 972460562, us = 1368629611, Ts = 1883521406, Ns = 2603556958, As = 3609695522, Ss = 4075263697, ds = 4257460908;
846
+ function ys(t) {
847
+ const e = {};
848
+ return Dt(e), e;
849
+ }
850
+ function Dt(t) {
851
+ return t.ParameterIndex = 0, t.ParameterName = "", t.TypeName = "", t.HasDefaultValue = !1, t.DefaultValueJson = "", t.DefaultValueData = new Uint8Array(0), t.IsEnumerable = !1, t.EnumerableItemTypeName = "", t.Description = "", t;
852
+ }
853
+ function ws(t, e) {
854
+ const s = e ?? ys();
855
+ return Dt(s), Cs(t, s), s;
856
+ }
857
+ function Cs(t, e) {
858
+ let s;
859
+ for (; (s = t.next()) !== null; )
860
+ switch (s.fieldId) {
861
+ case _s: {
862
+ if (s.isNull) throw new Error();
863
+ e.HasDefaultValue = s.asBool();
864
+ break;
865
+ }
866
+ case fs: {
867
+ if (s.isNull) throw new Error();
868
+ e.DefaultValueJson = s.asString();
869
+ break;
870
+ }
871
+ case hs: {
872
+ if (s.isNull) throw new Error();
873
+ e.EnumerableItemTypeName = s.asString();
874
+ break;
875
+ }
876
+ case us: {
877
+ if (s.isNull) throw new Error();
878
+ e.Description = s.asString();
879
+ break;
880
+ }
881
+ case Ts: {
882
+ if (s.isNull) throw new Error();
883
+ e.DefaultValueData = s.asBinary();
884
+ break;
885
+ }
886
+ case Ns: {
887
+ if (s.isNull) throw new Error();
888
+ e.IsEnumerable = s.asBool();
889
+ break;
890
+ }
891
+ case As: {
892
+ if (s.isNull) throw new Error();
893
+ e.TypeName = s.asString();
894
+ break;
895
+ }
896
+ case Ss: {
897
+ if (s.isNull) throw new Error();
898
+ e.ParameterName = s.asString();
899
+ break;
900
+ }
901
+ case ds: {
902
+ if (s.isNull) throw new Error();
903
+ e.ParameterIndex = s.asInt32();
904
+ break;
905
+ }
906
+ }
907
+ }
908
+ const Ds = 3167053791, Us = 3342364356, Rs = 3612929027;
909
+ function Ut(t) {
910
+ const e = {};
911
+ return Rt(e), e;
912
+ }
913
+ function Rt(t) {
914
+ return t.Category = "", t.Type = ut.Face, t.FaceBlendshapes = [], t;
915
+ }
916
+ function ms(t, e) {
917
+ const s = e ?? Ut();
918
+ return Rt(s), Ls(t, s), s;
919
+ }
920
+ function Ls(t, e) {
921
+ let s;
922
+ for (; (s = t.next()) !== null; )
923
+ switch (s.fieldId) {
924
+ case Ds: {
925
+ if (s.isNull) throw new Error();
926
+ e.Type = s.asInt32();
927
+ break;
928
+ }
929
+ case Us: {
930
+ if (s.isNull) throw new Error();
931
+ e.FaceBlendshapes = Os(s.asArray());
932
+ break;
933
+ }
934
+ case Rs: {
935
+ if (s.isNull) throw new Error();
936
+ e.Category = s.asString();
937
+ break;
938
+ }
939
+ }
940
+ }
941
+ function Os(t) {
942
+ const e = [];
943
+ let s;
944
+ for (; (s = t.next()) !== null; )
945
+ e.push(s.asString());
946
+ return e;
947
+ }
948
+ const gs = 3612929027;
949
+ function mt(t) {
950
+ const e = {};
951
+ return Lt(e), e;
952
+ }
953
+ function Lt(t) {
954
+ return t.Category = "", t;
955
+ }
956
+ function Ps(t, e) {
957
+ const s = e ?? mt();
958
+ return Lt(s), bs(t, s), s;
959
+ }
960
+ function bs(t, e) {
961
+ let s;
962
+ for (; (s = t.next()) !== null; )
963
+ switch (s.fieldId) {
964
+ case gs: {
965
+ if (s.isNull) throw new Error();
966
+ e.Category = s.asString();
967
+ break;
968
+ }
969
+ }
970
+ }
971
+ const Fs = 164808083, ps = 1368629611, vs = 2739413426, Ms = 2768375929, ks = 2950031986, Vs = 3284746250, Gs = 4065070594;
972
+ function Ot(t) {
973
+ const e = {};
974
+ return gt(e), e;
975
+ }
976
+ function gt(t) {
977
+ return t.Description = "", t.Codec = Nt.H264, t.Width = 0, t.Height = 0, t.Framerate = 30, t.Bitrate = 0, t.IsHardwareAccelerated = !1, t;
978
+ }
979
+ function Bs(t, e) {
980
+ const s = e ?? Ot();
981
+ return gt(s), xs(t, s), s;
982
+ }
983
+ function xs(t, e) {
984
+ let s;
985
+ for (; (s = t.next()) !== null; )
986
+ switch (s.fieldId) {
987
+ case Fs: {
988
+ if (s.isNull) throw new Error();
989
+ e.Framerate = s.asInt32();
990
+ break;
991
+ }
992
+ case ps: {
993
+ if (s.isNull) throw new Error();
994
+ e.Description = s.asString();
995
+ break;
996
+ }
997
+ case vs: {
998
+ if (s.isNull) throw new Error();
999
+ e.IsHardwareAccelerated = s.asBool();
1000
+ break;
1001
+ }
1002
+ case Ms: {
1003
+ if (s.isNull) throw new Error();
1004
+ e.Bitrate = s.asInt32();
1005
+ break;
1006
+ }
1007
+ case ks: {
1008
+ if (s.isNull) throw new Error();
1009
+ e.Height = s.asInt32();
1010
+ break;
1011
+ }
1012
+ case Vs: {
1013
+ if (s.isNull) throw new Error();
1014
+ e.Codec = s.asInt32();
1015
+ break;
1016
+ }
1017
+ case Gs: {
1018
+ if (s.isNull) throw new Error();
1019
+ e.Width = s.asInt32();
1020
+ break;
1021
+ }
1022
+ }
1023
+ }
1024
+ const Hs = 65539, Ys = 414670648, $s = 693643444, Ks = 1144553441, js = 1497620243, Xs = 1559330978, zs = 1999510636, Ws = 2277643855, Js = 2469008121, qs = 3042922213, Qs = 3219210453, Zs = 3504054055, tr = 3642827795, er = 3678477544, sr = 3696445035, rr = 3707543140, nr = 3712281496, ir = 3748214980, or = 3823842552, ar = 3895362455, lr = 3897397815, Ir = 4225107827;
1025
+ function cr(t) {
1026
+ const e = {};
1027
+ return Pt(e), e;
1028
+ }
1029
+ function Pt(t) {
1030
+ return t.Clients = /* @__PURE__ */ Object.create(null), t.UIStreams = /* @__PURE__ */ Object.create(null), t.AudioStreams = /* @__PURE__ */ Object.create(null), t.VideoStreams = /* @__PURE__ */ Object.create(null), t.TrackingStreams = /* @__PURE__ */ Object.create(null), t.SpaceId = "", t.ChannelInstanceId = "", t.FirstUserId = "", t.ChannelUrl = "", t.ChannelId = "", t.PrimaryUserId = "", t.OrganisationName = "", t.SpaceName = "", t.ChannelName = "", t.SessionId = "", t.RunnerType = "", t.BootType = "", t.PublicAccess = !1, t.DebugMode = !1, t.IsGitSource = !1, t.Functions = /* @__PURE__ */ Object.create(null), t;
1031
+ }
1032
+ function Er(t, e) {
1033
+ const s = L.create(t);
1034
+ return _r(s, e);
1035
+ }
1036
+ function _r(t, e) {
1037
+ const s = e ?? cr();
1038
+ return Pt(s), fr(t, s), s;
1039
+ }
1040
+ function fr(t, e) {
1041
+ let s;
1042
+ for (; (s = t.next()) !== null; )
1043
+ switch (s.fieldId) {
1044
+ case Ys: {
1045
+ if (s.isNull) throw new Error();
1046
+ e.IsGitSource = s.asBool();
1047
+ break;
1048
+ }
1049
+ case $s: {
1050
+ if (s.isNull) throw new Error();
1051
+ e.FirstUserId = s.asString();
1052
+ break;
1053
+ }
1054
+ case Ks: {
1055
+ if (s.isNull) throw new Error();
1056
+ e.Clients = ur(s.asDictionary());
1057
+ break;
1058
+ }
1059
+ case js: {
1060
+ if (s.isNull) throw new Error();
1061
+ e.TrackingStreams = Tr(s.asDictionary());
1062
+ break;
1063
+ }
1064
+ case Xs: {
1065
+ if (s.isNull) throw new Error();
1066
+ e.ChannelId = s.asString();
1067
+ break;
1068
+ }
1069
+ case zs: {
1070
+ if (s.isNull) throw new Error();
1071
+ e.SessionId = s.asString();
1072
+ break;
1073
+ }
1074
+ case Ws: {
1075
+ if (s.isNull) throw new Error();
1076
+ e.ChannelUrl = s.asString();
1077
+ break;
1078
+ }
1079
+ case Js: {
1080
+ if (s.isNull) throw new Error();
1081
+ e.ChannelName = s.asString();
1082
+ break;
1083
+ }
1084
+ case qs: {
1085
+ if (s.isNull) throw new Error();
1086
+ e.PublicAccess = s.asBool();
1087
+ break;
1088
+ }
1089
+ case Qs: {
1090
+ if (s.isNull) throw new Error();
1091
+ e.OrganisationName = s.asString();
1092
+ break;
1093
+ }
1094
+ case Zs: {
1095
+ if (s.isNull) throw new Error();
1096
+ e.DebugMode = s.asBool();
1097
+ break;
1098
+ }
1099
+ case tr: {
1100
+ if (s.isNull) throw new Error();
1101
+ e.RunnerType = s.asString();
1102
+ break;
1103
+ }
1104
+ case er: {
1105
+ if (s.isNull) throw new Error();
1106
+ e.Functions = Nr(s.asDictionary());
1107
+ break;
1108
+ }
1109
+ case sr: {
1110
+ if (s.isNull) throw new Error();
1111
+ e.UIStreams = Ar(s.asDictionary());
1112
+ break;
1113
+ }
1114
+ case rr: {
1115
+ if (s.isNull) throw new Error();
1116
+ e.SpaceId = s.asString();
1117
+ break;
1118
+ }
1119
+ case nr: {
1120
+ if (s.isNull) throw new Error();
1121
+ e.PrimaryUserId = s.asString();
1122
+ break;
1123
+ }
1124
+ case ir: {
1125
+ if (s.isNull) throw new Error();
1126
+ e.BootType = s.asString();
1127
+ break;
1128
+ }
1129
+ case or: {
1130
+ if (s.isNull) throw new Error();
1131
+ e.ChannelInstanceId = s.asString();
1132
+ break;
1133
+ }
1134
+ case ar: {
1135
+ if (s.isNull) throw new Error();
1136
+ e.AudioStreams = Sr(s.asDictionary());
1137
+ break;
1138
+ }
1139
+ case lr: {
1140
+ if (s.isNull) throw new Error();
1141
+ e.VideoStreams = dr(s.asDictionary());
1142
+ break;
1143
+ }
1144
+ case Ir: {
1145
+ if (s.isNull) throw new Error();
1146
+ e.SpaceName = s.asString();
1147
+ break;
1148
+ }
1149
+ }
1150
+ }
1151
+ function hr(t, e) {
1152
+ const s = $(t, Hs);
1153
+ return Er(s, e);
1154
+ }
1155
+ function ur(t) {
1156
+ const e = /* @__PURE__ */ Object.create(null);
1157
+ let s;
1158
+ for (; (s = t.next()) !== null; ) {
1159
+ const r = s.key.asInt32();
1160
+ e[r] = ze(s.value.asObject());
1161
+ }
1162
+ return e;
1163
+ }
1164
+ function Tr(t) {
1165
+ const e = /* @__PURE__ */ Object.create(null);
1166
+ let s;
1167
+ for (; (s = t.next()) !== null; ) {
1168
+ const r = s.key.asString();
1169
+ e[r] = zr(s.value.asObject());
1170
+ }
1171
+ return e;
1172
+ }
1173
+ function Nr(t) {
1174
+ const e = /* @__PURE__ */ Object.create(null);
1175
+ let s;
1176
+ for (; (s = t.next()) !== null; ) {
1177
+ const r = s.key.asInt32();
1178
+ e[r] = yr(s.value.asArray());
1179
+ }
1180
+ return e;
1181
+ }
1182
+ function Ar(t) {
1183
+ const e = /* @__PURE__ */ Object.create(null);
1184
+ let s;
1185
+ for (; (s = t.next()) !== null; ) {
1186
+ const r = s.key.asString();
1187
+ e[r] = mr(s.value.asObject());
1188
+ }
1189
+ return e;
1190
+ }
1191
+ function Sr(t) {
1192
+ const e = /* @__PURE__ */ Object.create(null);
1193
+ let s;
1194
+ for (; (s = t.next()) !== null; ) {
1195
+ const r = s.key.asString();
1196
+ e[r] = pr(s.value.asObject());
1197
+ }
1198
+ return e;
1199
+ }
1200
+ function dr(t) {
1201
+ const e = /* @__PURE__ */ Object.create(null);
1202
+ let s;
1203
+ for (; (s = t.next()) !== null; ) {
1204
+ const r = s.key.asString();
1205
+ e[r] = xr(s.value.asObject());
1206
+ }
1207
+ return e;
1208
+ }
1209
+ function yr(t) {
1210
+ const e = [];
1211
+ let s;
1212
+ for (; (s = t.next()) !== null; )
1213
+ e.push(Is(s.asObject()));
1214
+ return e;
1215
+ }
1216
+ const wr = 161083277, Cr = 325678206, Dr = 3469892363, Ur = 3645544153;
1217
+ function Rr(t) {
1218
+ const e = {};
1219
+ return bt(e), e;
1220
+ }
1221
+ function bt(t) {
1222
+ return t.StreamId = "", t.ClientSessionId = 0, t.TrackId = 0, t.Info = mt(), t;
1223
+ }
1224
+ function mr(t, e) {
1225
+ const s = e ?? Rr();
1226
+ return bt(s), Lr(t, s), s;
1227
+ }
1228
+ function Lr(t, e) {
1229
+ let s;
1230
+ for (; (s = t.next()) !== null; )
1231
+ switch (s.fieldId) {
1232
+ case wr: {
1233
+ if (s.isNull) throw new Error();
1234
+ e.StreamId = s.asString();
1235
+ break;
1236
+ }
1237
+ case Cr: {
1238
+ if (s.isNull) throw new Error();
1239
+ e.ClientSessionId = s.asInt32();
1240
+ break;
1241
+ }
1242
+ case Dr: {
1243
+ if (s.isNull) throw new Error();
1244
+ e.TrackId = s.asInt32();
1245
+ break;
1246
+ }
1247
+ case Ur: {
1248
+ if (s.isNull) throw new Error();
1249
+ e.Info = Ps(s.asObject());
1250
+ break;
1251
+ }
1252
+ }
1253
+ }
1254
+ const Or = 161083277, gr = 325678206, Pr = 3469892363, br = 3645544153;
1255
+ function Fr(t) {
1256
+ const e = {};
1257
+ return Ft(e), e;
1258
+ }
1259
+ function Ft(t) {
1260
+ return t.StreamId = "", t.ClientSessionId = 0, t.TrackId = 0, t.Info = St(), t;
1261
+ }
1262
+ function pr(t, e) {
1263
+ const s = e ?? Fr();
1264
+ return Ft(s), vr(t, s), s;
1265
+ }
1266
+ function vr(t, e) {
1267
+ let s;
1268
+ for (; (s = t.next()) !== null; )
1269
+ switch (s.fieldId) {
1270
+ case Or: {
1271
+ if (s.isNull) throw new Error();
1272
+ e.StreamId = s.asString();
1273
+ break;
1274
+ }
1275
+ case gr: {
1276
+ if (s.isNull) throw new Error();
1277
+ e.ClientSessionId = s.asInt32();
1278
+ break;
1279
+ }
1280
+ case Pr: {
1281
+ if (s.isNull) throw new Error();
1282
+ e.TrackId = s.asInt32();
1283
+ break;
1284
+ }
1285
+ case br: {
1286
+ if (s.isNull) throw new Error();
1287
+ e.Info = fe(s.asObject());
1288
+ break;
1289
+ }
1290
+ }
1291
+ }
1292
+ const Mr = 161083277, kr = 325678206, Vr = 3469892363, Gr = 3645544153;
1293
+ function Br(t) {
1294
+ const e = {};
1295
+ return pt(e), e;
1296
+ }
1297
+ function pt(t) {
1298
+ return t.StreamId = "", t.ClientSessionId = 0, t.TrackId = 0, t.Info = Ot(), t;
1299
+ }
1300
+ function xr(t, e) {
1301
+ const s = e ?? Br();
1302
+ return pt(s), Hr(t, s), s;
1303
+ }
1304
+ function Hr(t, e) {
1305
+ let s;
1306
+ for (; (s = t.next()) !== null; )
1307
+ switch (s.fieldId) {
1308
+ case Mr: {
1309
+ if (s.isNull) throw new Error();
1310
+ e.StreamId = s.asString();
1311
+ break;
1312
+ }
1313
+ case kr: {
1314
+ if (s.isNull) throw new Error();
1315
+ e.ClientSessionId = s.asInt32();
1316
+ break;
1317
+ }
1318
+ case Vr: {
1319
+ if (s.isNull) throw new Error();
1320
+ e.TrackId = s.asInt32();
1321
+ break;
1322
+ }
1323
+ case Gr: {
1324
+ if (s.isNull) throw new Error();
1325
+ e.Info = Bs(s.asObject());
1326
+ break;
1327
+ }
1328
+ }
1329
+ }
1330
+ const Yr = 161083277, $r = 325678206, Kr = 3469892363, jr = 3645544153;
1331
+ function Xr(t) {
1332
+ const e = {};
1333
+ return vt(e), e;
1334
+ }
1335
+ function vt(t) {
1336
+ return t.StreamId = "", t.ClientSessionId = 0, t.TrackId = 0, t.Info = Ut(), t;
1337
+ }
1338
+ function zr(t, e) {
1339
+ const s = e ?? Xr();
1340
+ return vt(s), Wr(t, s), s;
1341
+ }
1342
+ function Wr(t, e) {
1343
+ let s;
1344
+ for (; (s = t.next()) !== null; )
1345
+ switch (s.fieldId) {
1346
+ case Yr: {
1347
+ if (s.isNull) throw new Error();
1348
+ e.StreamId = s.asString();
1349
+ break;
1350
+ }
1351
+ case $r: {
1352
+ if (s.isNull) throw new Error();
1353
+ e.ClientSessionId = s.asInt32();
1354
+ break;
1355
+ }
1356
+ case Kr: {
1357
+ if (s.isNull) throw new Error();
1358
+ e.TrackId = s.asInt32();
1359
+ break;
1360
+ }
1361
+ case jr: {
1362
+ if (s.isNull) throw new Error();
1363
+ e.Info = ms(s.asObject());
1364
+ break;
1365
+ }
1366
+ }
1367
+ }
1368
+ const Jr = 1405462580, qr = 2968276160;
1369
+ function Qr(t) {
1370
+ const e = {};
1371
+ return Mt(e), e;
1372
+ }
1373
+ function Mt(t) {
1374
+ return t.MimeType = "", t.Value = new Uint8Array(0), t;
1375
+ }
1376
+ function Zr(t, e) {
1377
+ const s = e ?? Qr();
1378
+ return Mt(s), tn(t, s), s;
1379
+ }
1380
+ function tn(t, e) {
1381
+ let s;
1382
+ for (; (s = t.next()) !== null; )
1383
+ switch (s.fieldId) {
1384
+ case Jr: {
1385
+ if (s.isNull) throw new Error();
1386
+ e.Value = s.asBinary();
1387
+ break;
1388
+ }
1389
+ case qr: {
1390
+ if (s.isNull) throw new Error();
1391
+ e.MimeType = s.asString();
1392
+ break;
1393
+ }
1394
+ }
1395
+ }
1396
+ const en = 2097188, sn = 979822885, rn = 2374537704;
1397
+ function nn(t) {
1398
+ const e = {};
1399
+ return kt(e), e;
1400
+ }
1401
+ function kt(t) {
1402
+ return t.StyleId = "", t.Style = /* @__PURE__ */ Object.create(null), t;
1403
+ }
1404
+ function on(t, e) {
1405
+ const s = L.create(t);
1406
+ return an(s, e);
1407
+ }
1408
+ function an(t, e) {
1409
+ const s = e ?? nn();
1410
+ return kt(s), ln(t, s), s;
1411
+ }
1412
+ function ln(t, e) {
1413
+ let s;
1414
+ for (; (s = t.next()) !== null; )
1415
+ switch (s.fieldId) {
1416
+ case sn: {
1417
+ if (s.isNull) throw new Error();
1418
+ e.StyleId = s.asString();
1419
+ break;
1420
+ }
1421
+ case rn: {
1422
+ if (s.isNull) throw new Error();
1423
+ e.Style = cn(s.asDictionary());
1424
+ break;
1425
+ }
1426
+ }
1427
+ }
1428
+ function In(t, e) {
1429
+ const s = $(t, en);
1430
+ return on(s, e);
1431
+ }
1432
+ function cn(t) {
1433
+ const e = /* @__PURE__ */ Object.create(null);
1434
+ let s;
1435
+ for (; (s = t.next()) !== null; ) {
1436
+ const r = s.key.asString();
1437
+ e[r] = s.value.asString();
1438
+ }
1439
+ return e;
1440
+ }
1441
+ const En = 2097192, _n = 2136687806;
1442
+ function fn(t) {
1443
+ const e = {};
1444
+ return Vt(e), e;
1445
+ }
1446
+ function Vt(t) {
1447
+ return t.Styles = [], t;
1448
+ }
1449
+ function hn(t, e) {
1450
+ const s = L.create(t);
1451
+ return un(s, e);
1452
+ }
1453
+ function un(t, e) {
1454
+ const s = e ?? fn();
1455
+ return Vt(s), Tn(t, s), s;
1456
+ }
1457
+ function Tn(t, e) {
1458
+ let s;
1459
+ for (; (s = t.next()) !== null; )
1460
+ switch (s.fieldId) {
1461
+ case _n: {
1462
+ if (s.isNull) throw new Error();
1463
+ e.Styles = An(s.asArray());
1464
+ break;
1465
+ }
1466
+ }
1467
+ }
1468
+ function Nn(t, e) {
1469
+ const s = $(t, En);
1470
+ return hn(s, e);
1471
+ }
1472
+ function An(t) {
1473
+ const e = [];
1474
+ let s;
1475
+ for (; (s = t.next()) !== null; )
1476
+ e.push(wn(s.asObject()));
1477
+ return e;
1478
+ }
1479
+ const Sn = 979822885, dn = 2374537704;
1480
+ function yn(t) {
1481
+ const e = {};
1482
+ return Gt(e), e;
1483
+ }
1484
+ function Gt(t) {
1485
+ return t.StyleId = "", t.Style = /* @__PURE__ */ Object.create(null), t;
1486
+ }
1487
+ function wn(t, e) {
1488
+ const s = e ?? yn();
1489
+ return Gt(s), Cn(t, s), s;
1490
+ }
1491
+ function Cn(t, e) {
1492
+ let s;
1493
+ for (; (s = t.next()) !== null; )
1494
+ switch (s.fieldId) {
1495
+ case Sn: {
1496
+ if (s.isNull) throw new Error();
1497
+ e.StyleId = s.asString();
1498
+ break;
1499
+ }
1500
+ case dn: {
1501
+ if (s.isNull) throw new Error();
1502
+ e.Style = Dn(s.asDictionary());
1503
+ break;
1504
+ }
1505
+ }
1506
+ }
1507
+ function Dn(t) {
1508
+ const e = /* @__PURE__ */ Object.create(null);
1509
+ let s;
1510
+ for (; (s = t.next()) !== null; ) {
1511
+ const r = s.key.asString();
1512
+ e[r] = s.value.asString();
1513
+ }
1514
+ return e;
1515
+ }
1516
+ const Un = 2097193, Rn = 1415642792;
1517
+ function mn(t) {
1518
+ const e = {};
1519
+ return Bt(e), e;
1520
+ }
1521
+ function Bt(t) {
1522
+ return t.StyleIds = [], t;
1523
+ }
1524
+ function Ln(t, e) {
1525
+ const s = L.create(t);
1526
+ return On(s, e);
1527
+ }
1528
+ function On(t, e) {
1529
+ const s = e ?? mn();
1530
+ return Bt(s), gn(t, s), s;
1531
+ }
1532
+ function gn(t, e) {
1533
+ let s;
1534
+ for (; (s = t.next()) !== null; )
1535
+ switch (s.fieldId) {
1536
+ case Rn: {
1537
+ if (s.isNull) throw new Error();
1538
+ e.StyleIds = bn(s.asArray());
1539
+ break;
1540
+ }
1541
+ }
1542
+ }
1543
+ function Pn(t, e) {
1544
+ const s = $(t, Un);
1545
+ return Ln(s, e);
1546
+ }
1547
+ function bn(t) {
1548
+ const e = [];
1549
+ let s;
1550
+ for (; (s = t.next()) !== null; )
1551
+ e.push(s.asString());
1552
+ return e;
1553
+ }
1554
+ const Fn = 2097190, pn = 425183262, vn = 653781469;
1555
+ function Mn(t) {
1556
+ const e = {};
1557
+ return xt(e), e;
1558
+ }
1559
+ function xt(t) {
1560
+ return t.Json = "", t.Payloads = /* @__PURE__ */ Object.create(null), t;
1561
+ }
1562
+ function kn(t, e) {
1563
+ const s = L.create(t);
1564
+ return Vn(s, e);
1565
+ }
1566
+ function Vn(t, e) {
1567
+ const s = e ?? Mn();
1568
+ return xt(s), Gn(t, s), s;
1569
+ }
1570
+ function Gn(t, e) {
1571
+ let s;
1572
+ for (; (s = t.next()) !== null; )
1573
+ switch (s.fieldId) {
1574
+ case pn: {
1575
+ if (s.isNull) throw new Error();
1576
+ e.Json = s.asString();
1577
+ break;
1578
+ }
1579
+ case vn: {
1580
+ if (s.isNull) throw new Error();
1581
+ e.Payloads = xn(s.asDictionary());
1582
+ break;
1583
+ }
1584
+ }
1585
+ }
1586
+ function Bn(t, e) {
1587
+ const s = $(t, Fn);
1588
+ return kn(s, e);
1589
+ }
1590
+ function xn(t) {
1591
+ const e = /* @__PURE__ */ Object.create(null);
1592
+ let s;
1593
+ for (; (s = t.next()) !== null; ) {
1594
+ const r = s.key.asString();
1595
+ e[r] = Zr(s.value.asObject());
1596
+ }
1597
+ return e;
1598
+ }
1599
+ function y(t) {
1600
+ return typeof t == "object" && t !== null && !Array.isArray(t);
1601
+ }
1602
+ function Ht(t) {
1603
+ const e = {}, s = Object.keys(t);
1604
+ for (let r = 0; r < s.length; r++) {
1605
+ const n = s[r];
1606
+ e[n] = t[n];
1607
+ }
1608
+ return e;
1609
+ }
1610
+ function Yt(t, e, s, r) {
1611
+ if (!(t === void 0 && r)) {
1612
+ if (Array.isArray(t)) {
1613
+ const n = [];
1614
+ for (let i = 0; i < t.length; i++) {
1615
+ const o = t[i];
1616
+ if (typeof o != "string")
1617
+ throw new Error(`Invalid styleIds entry at ${e}.styleIds[${i}] for element ${s}`);
1618
+ const a = o.trim();
1619
+ a.length !== 0 && n.push(a);
1620
+ }
1621
+ return n;
1622
+ }
1623
+ if (t != null)
1624
+ throw new Error(`Invalid styleIds for element ${s}`);
1625
+ return [];
1626
+ }
1627
+ }
1628
+ function ot(t, e) {
1629
+ if (!t || typeof t != "object")
1630
+ throw new Error(`Invalid UI node at ${e}`);
1631
+ const s = t.Id, r = t.Type, n = t.Props, i = t.Children, o = t.StyleIds;
1632
+ if (typeof s != "string")
1633
+ throw new Error(`Invalid or missing node id at ${e}`);
1634
+ if (typeof r != "string")
1635
+ throw new Error(`Invalid or missing node type for ${s}`);
1636
+ let a = {};
1637
+ if (n != null) {
1638
+ if (!y(n))
1639
+ throw new Error(`Invalid props for node ${s}`);
1640
+ a = Ht(n);
1641
+ }
1642
+ let I = [];
1643
+ Array.isArray(i) && (I = i.map(
1644
+ (c, E) => ot(c ?? {}, `${e}.children[${E}]`)
1645
+ ));
1646
+ const l = Yt(o, e, s, !1);
1647
+ return {
1648
+ id: s,
1649
+ type: r,
1650
+ props: a,
1651
+ children: I,
1652
+ styleIds: l ?? []
1653
+ };
1654
+ }
1655
+ function Hn(t, e) {
1656
+ if (!y(t))
1657
+ throw new Error(`Invalid text delta at ${e}`);
1658
+ const s = t.NodeId, r = t.PropertyName, n = t.Start, i = t.End, o = t.InsertedText;
1659
+ if (typeof s != "string" || s.length === 0)
1660
+ throw new Error(`Invalid text delta node id at ${e}`);
1661
+ if (typeof r != "string" || r.length === 0)
1662
+ throw new Error(`Invalid text delta property name at ${e}`);
1663
+ if (typeof n != "number" || !Number.isFinite(n))
1664
+ throw new Error(`Invalid text delta start at ${e}`);
1665
+ if (typeof o != "string")
1666
+ throw new Error(`Invalid text delta inserted text at ${e}`);
1667
+ let a;
1668
+ if (typeof i == "number") {
1669
+ if (!Number.isFinite(i))
1670
+ throw new Error(`Invalid text delta end at ${e}`);
1671
+ a = i;
1672
+ } else if (i != null)
1673
+ throw new Error(`Invalid text delta end at ${e}`);
1674
+ return {
1675
+ nodeId: s,
1676
+ propertyName: r,
1677
+ start: n,
1678
+ end: a,
1679
+ insertedText: o
1680
+ };
1681
+ }
1682
+ function Yn(t, e) {
1683
+ if (!y(t))
1684
+ throw new Error(`Invalid child insert at ${e}`);
1685
+ const s = t.Index, r = t.Node;
1686
+ if (typeof s != "number" || !Number.isFinite(s))
1687
+ throw new Error(`Invalid child insert index at ${e}`);
1688
+ if (!y(r))
1689
+ throw new Error(`Invalid child insert node at ${e}`);
1690
+ return {
1691
+ index: s,
1692
+ node: ot(r, `${e}.node`)
1693
+ };
1694
+ }
1695
+ function $n(t, e) {
1696
+ if (!y(t))
1697
+ throw new Error(`Invalid child move at ${e}`);
1698
+ const s = t.NodeId, r = t.FromIndex, n = t.ToIndex;
1699
+ if (typeof s != "string" || s.length === 0)
1700
+ throw new Error(`Invalid child move nodeId at ${e}`);
1701
+ if (typeof r != "number" || !Number.isFinite(r))
1702
+ throw new Error(`Invalid child move fromIndex at ${e}`);
1703
+ if (typeof n != "number" || !Number.isFinite(n))
1704
+ throw new Error(`Invalid child move toIndex at ${e}`);
1705
+ return {
1706
+ nodeId: s,
1707
+ fromIndex: r,
1708
+ toIndex: n
1709
+ };
1710
+ }
1711
+ function Kn(t, e) {
1712
+ if (!y(t))
1713
+ throw new Error(`Invalid child remove at ${e}`);
1714
+ const s = t.NodeId, r = t.Index;
1715
+ if (typeof s != "string" || s.length === 0)
1716
+ throw new Error(`Invalid child remove nodeId at ${e}`);
1717
+ if (typeof r != "number" || !Number.isFinite(r))
1718
+ throw new Error(`Invalid child remove index at ${e}`);
1719
+ return {
1720
+ nodeId: s,
1721
+ index: r
1722
+ };
1723
+ }
1724
+ function jn(t, e) {
1725
+ if (!y(t))
1726
+ throw new Error(`Invalid node change at ${e}`);
1727
+ const s = t.nodeId;
1728
+ if (typeof s != "string" || s.length === 0)
1729
+ throw new Error(`Invalid node change nodeId at ${e}`);
1730
+ const r = Array.isArray(t.inserts) ? t.inserts.map(
1731
+ (c, E) => Yn(c ?? {}, `${e}.inserts[${E}]`)
1732
+ ) : void 0, n = Array.isArray(t.moves) ? t.moves.map(
1733
+ (c, E) => $n(c ?? {}, `${e}.moves[${E}]`)
1734
+ ) : void 0, i = Array.isArray(t.removals) ? t.removals.map(
1735
+ (c, E) => Kn(c ?? {}, `${e}.removals[${E}]`)
1736
+ ) : void 0;
1737
+ let o;
1738
+ if (y(t.changedProps)) {
1739
+ o = /* @__PURE__ */ new Map();
1740
+ for (const [c, E] of Object.entries(t.changedProps)) {
1741
+ if (!y(E))
1742
+ continue;
1743
+ const _ = E.New;
1744
+ _ === void 0 ? o.set(c, void 0) : y(_) ? o.set(c, Ht(_)) : o.set(c, _);
1745
+ }
1746
+ }
1747
+ const a = Array.isArray(t.textUpdates) ? t.textUpdates.map(
1748
+ (c, E) => Hn(c ?? {}, `${e}.textUpdates[${E}]`)
1749
+ ) : void 0, I = t.styleIds, l = I !== void 0 ? Yt(I, e, s, !0) : void 0;
1750
+ return {
1751
+ nodeId: s,
1752
+ ...r && r.length > 0 ? { inserts: r } : {},
1753
+ ...n && n.length > 0 ? { moves: n } : {},
1754
+ ...i && i.length > 0 ? { removals: i } : {},
1755
+ ...o && o.size > 0 ? { changedProps: o } : {},
1756
+ ...a && a.length > 0 ? { textUpdates: a } : {},
1757
+ ...l !== void 0 ? { styleIds: l } : {}
1758
+ };
1759
+ }
1760
+ function Xn(t) {
1761
+ const e = /* @__PURE__ */ new Map();
1762
+ for (const [s, r] of Object.entries(t))
1763
+ e.set(s, r);
1764
+ return e;
1765
+ }
1766
+ function zn(t, e, s) {
1767
+ if (!t || typeof t != "object")
1768
+ throw new D("UI update graph is missing");
1769
+ const r = ot(t, "graph");
1770
+ if (r.type !== "root")
1771
+ throw new D('UI update root element must have type "root"');
1772
+ const n = Jn(r.props, e);
1773
+ return {
1774
+ type: "full",
1775
+ version: s,
1776
+ root: r,
1777
+ metadata: n
1778
+ };
1779
+ }
1780
+ function Wn(t, e, s) {
1781
+ if (!Array.isArray(t))
1782
+ throw new D("UI diff changes must be an array");
1783
+ if (!y(e))
1784
+ throw new D("UI diff metadata must be an object");
1785
+ const r = e.viewId;
1786
+ if (typeof r != "string" || r.length === 0)
1787
+ throw new D("UI diff metadata is missing viewId");
1788
+ const n = t.map(
1789
+ (E, _) => jn(E ?? {}, `changes[${_}]`)
1790
+ ), i = e.optimisticActionId === null || typeof e.optimisticActionId == "string" ? e.optimisticActionId : void 0, o = typeof e.isOptimistic == "boolean" ? e.isOptimistic : void 0, a = typeof e.isUpdate == "boolean" ? e.isUpdate : void 0, I = Q(e.optimisticPatch), l = Z(e.optimisticReconcile), c = {
1791
+ viewId: r,
1792
+ ...i !== void 0 ? { optimisticActionId: i } : {},
1793
+ ...o !== void 0 ? { isOptimistic: o } : {},
1794
+ ...a !== void 0 ? { isUpdate: a } : {},
1795
+ ...I ? { optimisticPatch: I } : {},
1796
+ ...l ? { optimisticReconcile: l } : {}
1797
+ };
1798
+ return {
1799
+ type: "diff",
1800
+ version: s,
1801
+ changes: n,
1802
+ metadata: c
1803
+ };
1804
+ }
1805
+ function Jn(t, e) {
1806
+ const s = t.viewId;
1807
+ if (typeof s != "string" || s.length === 0)
1808
+ throw new D("UI update root is missing viewId");
1809
+ let r = s, n = t.optimisticActionId === null || typeof t.optimisticActionId == "string" ? t.optimisticActionId : void 0, i = typeof t.isOptimistic == "boolean" ? t.isOptimistic : void 0, o = typeof t.isUpdate == "boolean" ? t.isUpdate : void 0, a = Q(t.optimisticPatch), I = Z(t.optimisticReconcile);
1810
+ return y(e) && (typeof e.viewId == "string" && e.viewId.length > 0 && (r = e.viewId), (e.optimisticActionId === null || typeof e.optimisticActionId == "string") && (n = e.optimisticActionId), typeof e.isOptimistic == "boolean" && (i = e.isOptimistic), typeof e.isUpdate == "boolean" && (o = e.isUpdate), e.optimisticPatch !== void 0 && (a = Q(e.optimisticPatch)), e.optimisticReconcile !== void 0 && (I = Z(e.optimisticReconcile))), {
1811
+ viewId: r,
1812
+ ...n !== void 0 ? { optimisticActionId: n } : {},
1813
+ ...i !== void 0 ? { isOptimistic: i } : {},
1814
+ ...o !== void 0 ? { isUpdate: o } : {},
1815
+ ...a ? { optimisticPatch: a } : {},
1816
+ ...I ? { optimisticReconcile: I } : {}
1817
+ };
1818
+ }
1819
+ function Q(t) {
1820
+ if (!y(t))
1821
+ return;
1822
+ const e = t, s = e.id, r = e.actionId, n = e.ordinal, i = e.baseVersion, o = e.supersedes;
1823
+ if (typeof s != "string" || s.length === 0 || typeof r != "string" || r.length === 0 || typeof n != "number" || !Number.isFinite(n) || typeof i != "number" || !Number.isFinite(i))
1824
+ return;
1825
+ let a;
1826
+ if (Array.isArray(o)) {
1827
+ const I = [];
1828
+ for (const l of o)
1829
+ typeof l == "string" && l.length > 0 && I.push(l);
1830
+ a = I;
1831
+ }
1832
+ return {
1833
+ id: s,
1834
+ actionId: r,
1835
+ ordinal: n,
1836
+ baseVersion: i,
1837
+ ...a && a.length > 0 ? { supersedes: a } : {}
1838
+ };
1839
+ }
1840
+ function Z(t) {
1841
+ if (!y(t))
1842
+ return;
1843
+ const e = t, s = e.baseVersion, r = e.drop;
1844
+ if (typeof s != "number" || !Number.isFinite(s))
1845
+ return;
1846
+ let n;
1847
+ if (Array.isArray(r)) {
1848
+ const i = [];
1849
+ for (const o of r)
1850
+ typeof o == "string" && o.length > 0 && i.push(o);
1851
+ n = i;
1852
+ }
1853
+ return {
1854
+ baseVersion: s,
1855
+ ...n && n.length > 0 ? { drop: n } : {}
1856
+ };
1857
+ }
1858
+ class D extends Error {
1859
+ constructor(e, s) {
1860
+ super(e), this.causeError = s, this.name = "UiUpdateParseError", s instanceof Error && (this.stack = s.stack);
1861
+ }
1862
+ }
1863
+ function qn(t) {
1864
+ let e;
1865
+ try {
1866
+ e = JSON.parse(t.Json);
1867
+ } catch (o) {
1868
+ throw new D("Failed to parse UIUpdate.Json payload", o);
1869
+ }
1870
+ if (!e || typeof e != "object")
1871
+ throw new D("UI update snapshot must be an object");
1872
+ const { type: s, version: r } = e;
1873
+ if (s !== "full" && s !== "diff")
1874
+ throw new D(`Unknown UI update type: ${String(s)}`);
1875
+ if (typeof r != "number")
1876
+ throw new D("UI update version must be a number");
1877
+ const n = s === "full" ? zn(e.graph, e.metadata, r) : Wn(e.changes, e.metadata, r), i = t.Payloads ? Xn(t.Payloads) : /* @__PURE__ */ new Map();
1878
+ return {
1879
+ snapshot: n,
1880
+ payloads: i
1881
+ };
1882
+ }
1883
+ class Qn {
1884
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1885
+ cache = /* @__PURE__ */ new Map();
1886
+ /**
1887
+ * Get a cached void handler (no payload) for a node/action combination.
1888
+ * Creates and caches the handler if it doesn't exist.
1889
+ */
1890
+ getHandler(e, s, r) {
1891
+ const n = `${e}:${s}`;
1892
+ let i = this.cache.get(n);
1893
+ return i || (i = () => r(s), this.cache.set(n, i)), i;
1894
+ }
1895
+ /**
1896
+ * Get a cached handler that accepts a payload.
1897
+ * Creates and caches the handler if it doesn't exist.
1898
+ */
1899
+ getHandlerWithPayload(e, s, r) {
1900
+ const n = `${e}:${s}:payload`;
1901
+ let i = this.cache.get(n);
1902
+ return i || (i = (o) => r(s, o), this.cache.set(n, i)), i;
1903
+ }
1904
+ /**
1905
+ * Get a cached handler for boolean payloads.
1906
+ */
1907
+ getBooleanHandler(e, s, r) {
1908
+ return this.getHandlerWithPayload(e, s, r);
1909
+ }
1910
+ /**
1911
+ * Get a cached handler for string payloads.
1912
+ */
1913
+ getStringHandler(e, s, r) {
1914
+ return this.getHandlerWithPayload(e, s, r);
1915
+ }
1916
+ /**
1917
+ * Get a cached handler for number payloads.
1918
+ */
1919
+ getNumberHandler(e, s, r) {
1920
+ return this.getHandlerWithPayload(e, s, r);
1921
+ }
1922
+ /**
1923
+ * Get a cached handler for number array payloads.
1924
+ */
1925
+ getNumberArrayHandler(e, s, r) {
1926
+ return this.getHandlerWithPayload(e, s, r);
1927
+ }
1928
+ /**
1929
+ * Get a cached handler for nullable boolean payloads.
1930
+ */
1931
+ getNullableBooleanHandler(e, s, r) {
1932
+ const n = `${e}:${s}:nullable-bool`;
1933
+ let i = this.cache.get(n);
1934
+ return i || (i = (o) => r(s, o ?? null), this.cache.set(n, i)), i;
1935
+ }
1936
+ /**
1937
+ * Invalidate all cached handlers for a specific node.
1938
+ * Call this when a node is removed from the tree.
1939
+ */
1940
+ invalidateNode(e) {
1941
+ const s = `${e}:`;
1942
+ for (const r of this.cache.keys())
1943
+ r.startsWith(s) && this.cache.delete(r);
1944
+ }
1945
+ /**
1946
+ * Invalidate a specific handler.
1947
+ */
1948
+ invalidateHandler(e, s) {
1949
+ this.cache.delete(`${e}:${s}`), this.cache.delete(`${e}:${s}:payload`), this.cache.delete(`${e}:${s}:nullable-bool`);
1950
+ }
1951
+ /**
1952
+ * Clear all cached handlers.
1953
+ */
1954
+ clear() {
1955
+ this.cache.clear();
1956
+ }
1957
+ /**
1958
+ * Get the number of cached handlers (for debugging/testing).
1959
+ */
1960
+ get size() {
1961
+ return this.cache.size;
1962
+ }
1963
+ }
1964
+ class Zn {
1965
+ views = /* @__PURE__ */ new Map();
1966
+ listeners = /* @__PURE__ */ new Set();
1967
+ payloads = /* @__PURE__ */ new Map();
1968
+ snapshotMode = !1;
1969
+ snapshot = {
1970
+ views: /* @__PURE__ */ new Map(),
1971
+ payloads: /* @__PURE__ */ new Map(),
1972
+ optimisticPatches: /* @__PURE__ */ new Map(),
1973
+ version: -1
1974
+ };
1975
+ rootViewId;
1976
+ // Per-node subscriptions for granular updates
1977
+ nodeListeners = /* @__PURE__ */ new Map();
1978
+ changedNodeIds = /* @__PURE__ */ new Set();
1979
+ nodeVersions = /* @__PURE__ */ new Map();
1980
+ structureChanged = !1;
1981
+ // Dirty flags for lazy snapshot rebuilding - start true to ensure first snapshot builds correctly
1982
+ viewsDirty = !0;
1983
+ patchesDirty = !0;
1984
+ payloadsDirty = !0;
1985
+ // Handler cache for stable event handlers
1986
+ handlerCache = new Qn();
1987
+ getSortedPatches(e) {
1988
+ const s = this.buildPatchCacheKey(e.patches);
1989
+ if (e.sortedPatchesCacheKey === s && e.sortedPatchesCache)
1990
+ return e.sortedPatchesCache;
1991
+ const r = [...e.patches.values()].sort((n, i) => n.ordinal - i.ordinal);
1992
+ return e.sortedPatchesCache = r, e.sortedPatchesCacheKey = s, r;
1993
+ }
1994
+ buildPatchCacheKey(e) {
1995
+ if (e.size === 0) return "";
1996
+ let s = "";
1997
+ for (const [r, n] of e)
1998
+ s += s ? `,${r}:${n.ordinal}` : `${r}:${n.ordinal}`;
1999
+ return s;
2000
+ }
2001
+ invalidatePatchCache(e) {
2002
+ e.sortedPatchesCache = void 0, e.sortedPatchesCacheKey = void 0;
2003
+ }
2004
+ apply(e) {
2005
+ if (this.snapshotMode) {
2006
+ if (e.snapshot.type !== "full")
2007
+ return !1;
2008
+ this.snapshotMode = !1, this.views.clear(), this.payloads.clear(), this.rootViewId = void 0, this.viewsDirty = !0, this.patchesDirty = !0, this.payloadsDirty = !0, this.snapshot = {
2009
+ views: /* @__PURE__ */ new Map(),
2010
+ payloads: /* @__PURE__ */ new Map(),
2011
+ optimisticPatches: /* @__PURE__ */ new Map(),
2012
+ version: -1
2013
+ };
2014
+ }
2015
+ const { snapshot: s, payloads: r } = e, { metadata: n } = s, { viewId: i } = n;
2016
+ let o = this.views.get(i);
2017
+ o || (o = {
2018
+ version: 0,
2019
+ baselineVersion: 0,
2020
+ patches: /* @__PURE__ */ new Map()
2021
+ }, this.views.set(i, o));
2022
+ const a = s.type === "diff" && n.isUpdate === !0;
2023
+ if (s.version < o.version || s.version === o.version && !a)
2024
+ return !1;
2025
+ let I = !1;
2026
+ if (this.rootViewId || (this.rootViewId = i, I = !0, this.structureChanged = !0), n.optimisticReconcile?.drop)
2027
+ for (const c of n.optimisticReconcile.drop)
2028
+ o.patches.delete(c) && (I = !0, this.patchesDirty = !0, this.invalidatePatchCache(o));
2029
+ if (n.optimisticPatch?.supersedes)
2030
+ for (const c of n.optimisticPatch.supersedes)
2031
+ o.patches.delete(c) && (I = !0, this.patchesDirty = !0, this.invalidatePatchCache(o));
2032
+ const l = o.composite ?? o.baseline;
2033
+ if (s.type === "full")
2034
+ o.baseline = s.root, o.composite = s.root, o.baselineVersion = n.optimisticReconcile?.baseVersion ?? s.version, o.patches.clear(), this.invalidatePatchCache(o), o.version = s.version, I = !0, this.viewsDirty = !0, this.patchesDirty = !0, this.structureChanged = !0, s.root && b(s.root, this.changedNodeIds);
2035
+ else if (n.optimisticPatch) {
2036
+ if (!l)
2037
+ return !1;
2038
+ const c = J(l, s.changes);
2039
+ c !== l && (o.composite = c, I = !0, this.viewsDirty = !0, X(l, c, this.changedNodeIds));
2040
+ const E = n.optimisticPatch, _ = {
2041
+ id: E.id,
2042
+ actionId: E.actionId,
2043
+ ordinal: E.ordinal,
2044
+ baseVersion: E.baseVersion,
2045
+ changes: s.changes
2046
+ };
2047
+ o.patches.set(_.id, _), this.invalidatePatchCache(o), I = !0, this.patchesDirty = !0, o.version = s.version;
2048
+ } else {
2049
+ const c = o.baseline ?? l;
2050
+ if (!c)
2051
+ return !1;
2052
+ const E = J(c, s.changes);
2053
+ E !== c ? (o.baseline = E, I = !0, this.viewsDirty = !0) : o.baseline = E, o.baselineVersion = n.optimisticReconcile?.baseVersion ?? s.version;
2054
+ let _ = o.baseline ?? E;
2055
+ const N = this.getSortedPatches(o);
2056
+ for (const h of N) {
2057
+ const w = J(_, h.changes);
2058
+ w !== _ && (I = !0, this.viewsDirty = !0), _ = w, h.baseVersion = o.baselineVersion;
2059
+ }
2060
+ o.composite !== _ && (o.composite = _, I = !0, this.viewsDirty = !0), l && _ ? X(l, _, this.changedNodeIds) : _ && b(_, this.changedNodeIds), o.version = s.version;
2061
+ }
2062
+ for (const [c, E] of r)
2063
+ this.payloads.get(c) !== E && (this.payloads.set(c, E), I = !0, this.payloadsDirty = !0);
2064
+ return I ? (this.commitSnapshot(), this.notify(), !0) : (o.version = s.version, !1);
2065
+ }
2066
+ replaceFromWire(e) {
2067
+ const s = {
2068
+ rootViewId: e.rootViewId,
2069
+ views: new Map(e.views),
2070
+ payloads: new Map(e.payloads),
2071
+ optimisticPatches: new Map(e.optimisticPatches),
2072
+ version: e.version
2073
+ };
2074
+ return this.replaceSnapshot(s);
2075
+ }
2076
+ patchFromOp(e) {
2077
+ this.snapshotMode = !0;
2078
+ const s = e.expectedBaseVersion;
2079
+ if (s !== void 0 && this.snapshot.version !== s)
2080
+ return !1;
2081
+ let r = !1, n = null, i = null, o = null;
2082
+ const a = () => (n || (n = new Map(this.snapshot.views)), n), I = () => (i || (i = new Map(this.snapshot.payloads)), i), l = () => (o || (o = new Map(this.snapshot.optimisticPatches)), o);
2083
+ if (e.deleteViews && e.deleteViews.length > 0)
2084
+ for (const _ of e.deleteViews)
2085
+ a().delete(_) && (r = !0, this.structureChanged = !0);
2086
+ if (e.upsertViews && e.upsertViews.length > 0)
2087
+ for (const [_, N] of e.upsertViews) {
2088
+ const h = a(), w = h.get(_);
2089
+ w !== N && (h.set(_, N), r = !0, w ? X(w, N, this.changedNodeIds) : (b(N, this.changedNodeIds), this.structureChanged = !0));
2090
+ }
2091
+ if (e.deletePayloads && e.deletePayloads.length > 0)
2092
+ for (const _ of e.deletePayloads)
2093
+ I().delete(_) && (r = !0);
2094
+ if (e.upsertPayloads && e.upsertPayloads.length > 0)
2095
+ for (const [_, N] of e.upsertPayloads) {
2096
+ const h = I();
2097
+ h.get(_) !== N && (h.set(_, N), r = !0);
2098
+ }
2099
+ if (e.deleteOptimisticPatchesForViews && e.deleteOptimisticPatchesForViews.length > 0)
2100
+ for (const _ of e.deleteOptimisticPatchesForViews)
2101
+ l().delete(_) && (r = !0);
2102
+ if (e.upsertOptimisticPatches && e.upsertOptimisticPatches.length > 0)
2103
+ for (const [_, N] of e.upsertOptimisticPatches) {
2104
+ const h = l(), w = h.get(_);
2105
+ ri(w, N) || (h.set(_, N), r = !0);
2106
+ }
2107
+ const c = e.rootViewId ?? this.snapshot.rootViewId;
2108
+ c !== this.snapshot.rootViewId && (r = !0, this.structureChanged = !0);
2109
+ const E = e.nextVersion;
2110
+ if (E !== this.snapshot.version && (r = !0), !r)
2111
+ return this.snapshot = { ...this.snapshot, version: E }, !1;
2112
+ for (const _ of this.changedNodeIds)
2113
+ this.nodeVersions.set(_, (this.nodeVersions.get(_) ?? 0) + 1);
2114
+ return this.snapshot = {
2115
+ rootViewId: c,
2116
+ views: n ?? new Map(this.snapshot.views),
2117
+ payloads: i ?? new Map(this.snapshot.payloads),
2118
+ optimisticPatches: o ?? new Map(this.snapshot.optimisticPatches),
2119
+ version: E
2120
+ }, this.notify(), !0;
2121
+ }
2122
+ replaceSnapshot(e) {
2123
+ this.snapshotMode = !0;
2124
+ const s = this.snapshot, r = s.version !== e.version || s.rootViewId !== e.rootViewId || s.views.size !== e.views.size || s.payloads.size !== e.payloads.size || s.optimisticPatches.size !== e.optimisticPatches.size;
2125
+ (s.rootViewId !== e.rootViewId || s.views.size !== e.views.size) && (this.structureChanged = !0);
2126
+ for (const [n, i] of e.views) {
2127
+ const o = s.views.get(n);
2128
+ o ? X(o, i, this.changedNodeIds) : (b(i, this.changedNodeIds), this.structureChanged = !0);
2129
+ }
2130
+ for (const n of this.changedNodeIds)
2131
+ this.nodeVersions.set(n, (this.nodeVersions.get(n) ?? 0) + 1);
2132
+ return this.snapshot = e, r && this.notify(), r;
2133
+ }
2134
+ clear() {
2135
+ (this.snapshot.rootViewId === void 0 || this.snapshot.rootViewId.length === 0) && this.snapshot.views.size === 0 && this.snapshot.payloads.size === 0 && this.snapshot.optimisticPatches.size === 0 || (this.snapshotMode = !0, this.views.clear(), this.payloads.clear(), this.rootViewId = void 0, this.viewsDirty = !0, this.patchesDirty = !0, this.payloadsDirty = !0, this.snapshot = {
2136
+ views: /* @__PURE__ */ new Map(),
2137
+ payloads: /* @__PURE__ */ new Map(),
2138
+ optimisticPatches: /* @__PURE__ */ new Map(),
2139
+ version: -1
2140
+ }, this.structureChanged = !0, this.notify());
2141
+ }
2142
+ getSnapshot() {
2143
+ return this.snapshot;
2144
+ }
2145
+ subscribe(e) {
2146
+ return this.listeners.add(e), () => {
2147
+ this.listeners.delete(e);
2148
+ };
2149
+ }
2150
+ subscribeNode(e, s) {
2151
+ let r = this.nodeListeners.get(e);
2152
+ return r || (r = /* @__PURE__ */ new Set(), this.nodeListeners.set(e, r)), r.add(s), () => {
2153
+ r && (r.delete(s), r.size === 0 && this.nodeListeners.delete(e));
2154
+ };
2155
+ }
2156
+ getNode(e) {
2157
+ const s = this.snapshot.views.get(e);
2158
+ if (s)
2159
+ return s;
2160
+ for (const r of this.snapshot.views.values()) {
2161
+ const n = jt(r, e);
2162
+ if (n)
2163
+ return n;
2164
+ }
2165
+ }
2166
+ getNodeVersion(e) {
2167
+ return this.nodeVersions.get(e) ?? 0;
2168
+ }
2169
+ notifyNodes() {
2170
+ if (this.changedNodeIds.size === 0 || this.nodeListeners.size === 0) {
2171
+ this.changedNodeIds.clear();
2172
+ return;
2173
+ }
2174
+ for (const e of this.changedNodeIds) {
2175
+ const s = this.nodeListeners.get(e);
2176
+ if (s)
2177
+ for (const r of s)
2178
+ r();
2179
+ }
2180
+ this.changedNodeIds.clear();
2181
+ }
2182
+ commitSnapshot() {
2183
+ let e, s, r;
2184
+ if (this.viewsDirty) {
2185
+ const i = /* @__PURE__ */ new Map();
2186
+ for (const [o, a] of this.views)
2187
+ a.composite ? i.set(o, a.composite) : a.baseline && i.set(o, a.baseline);
2188
+ e = i, this.viewsDirty = !1;
2189
+ } else
2190
+ e = this.snapshot.views;
2191
+ if (this.patchesDirty) {
2192
+ const i = /* @__PURE__ */ new Map();
2193
+ for (const [o, a] of this.views)
2194
+ if (a.patches.size > 0) {
2195
+ const I = this.getSortedPatches(a);
2196
+ i.set(
2197
+ o,
2198
+ I.map((l) => ({
2199
+ id: l.id,
2200
+ actionId: l.actionId,
2201
+ ordinal: l.ordinal,
2202
+ baseVersion: l.baseVersion
2203
+ }))
2204
+ );
2205
+ }
2206
+ s = i, this.patchesDirty = !1;
2207
+ } else
2208
+ s = this.snapshot.optimisticPatches;
2209
+ this.payloadsDirty ? (r = new Map(this.payloads), this.payloadsDirty = !1) : r = this.snapshot.payloads;
2210
+ let n = this.rootViewId && this.views.has(this.rootViewId) ? this.views.get(this.rootViewId)?.version : void 0;
2211
+ if (n === void 0)
2212
+ for (const i of this.views.values())
2213
+ n = n === void 0 ? i.version : Math.max(n, i.version);
2214
+ this.snapshot = {
2215
+ rootViewId: this.rootViewId,
2216
+ views: e,
2217
+ payloads: r,
2218
+ optimisticPatches: s,
2219
+ version: n
2220
+ };
2221
+ for (const i of this.changedNodeIds)
2222
+ this.nodeVersions.set(i, (this.nodeVersions.get(i) ?? 0) + 1);
2223
+ }
2224
+ notify() {
2225
+ if (this.notifyNodes(), this.structureChanged) {
2226
+ this.structureChanged = !1;
2227
+ for (const e of this.listeners)
2228
+ e();
2229
+ }
2230
+ }
2231
+ }
2232
+ class ti {
2233
+ streams = /* @__PURE__ */ new Map();
2234
+ listeners = /* @__PURE__ */ new Set();
2235
+ apply(e, s) {
2236
+ const n = this.getOrCreateStreamEntry(e).store.apply(s);
2237
+ return n && this.notify(e), n;
2238
+ }
2239
+ applyStoreOp(e) {
2240
+ if (e.type === "ReplaceStreamSnapshot") {
2241
+ const s = this.getOrCreateStreamEntry(e.snapshot.streamId), r = s.category !== e.snapshot.category;
2242
+ return s.category = e.snapshot.category, s.store.replaceFromWire(e.snapshot) || r ? (this.notify(e.snapshot.streamId), !0) : !1;
2243
+ }
2244
+ if (e.type === "PatchStreamSnapshot") {
2245
+ const s = this.getOrCreateStreamEntry(e.streamId), r = e.category !== void 0 && s.category !== e.category;
2246
+ return e.category !== void 0 && (s.category = e.category), s.store.patchFromOp(e) || r ? (this.notify(e.streamId), !0) : !1;
2247
+ }
2248
+ if (e.type === "ClearStream") {
2249
+ const s = this.streams.get(e.streamId);
2250
+ return s ? (s.store.clear(), this.notify(e.streamId), !0) : !1;
2251
+ }
2252
+ return e.type === "RemoveStream" ? this.streams.delete(e.streamId) ? (this.notify(e.streamId), !0) : !1 : e.type === "SetStreamCategory" ? (this.setCategory(e.streamId, e.category), !0) : !1;
2253
+ }
2254
+ applyStoreOps(e) {
2255
+ for (const s of e)
2256
+ this.applyStoreOp(s);
2257
+ }
2258
+ clear(e) {
2259
+ const s = this.streams.get(e);
2260
+ s && (s.store.clear(), this.notify(e));
2261
+ }
2262
+ remove(e) {
2263
+ this.streams.delete(e) && this.notify(e);
2264
+ }
2265
+ setCategory(e, s) {
2266
+ const r = this.getOrCreateStreamEntry(e);
2267
+ r.category !== s && (r.category = s, this.notify(e));
2268
+ }
2269
+ getSnapshot(e) {
2270
+ const s = this.streams.get(e);
2271
+ return s ? {
2272
+ ...s.store.getSnapshot(),
2273
+ streamId: e,
2274
+ category: s.category
2275
+ } : void 0;
2276
+ }
2277
+ getSnapshots() {
2278
+ const e = [];
2279
+ for (const [s, r] of this.streams) {
2280
+ const n = r.store.getSnapshot();
2281
+ e.push({
2282
+ ...n,
2283
+ streamId: s,
2284
+ category: r.category
2285
+ });
2286
+ }
2287
+ return e;
2288
+ }
2289
+ subscribe(e) {
2290
+ return this.listeners.add(e), () => {
2291
+ this.listeners.delete(e);
2292
+ };
2293
+ }
2294
+ getOrCreateStreamEntry(e) {
2295
+ let s = this.streams.get(e);
2296
+ return s || (s = { store: new Zn() }, this.streams.set(e, s)), s;
2297
+ }
2298
+ notify(e) {
2299
+ for (const s of this.listeners)
2300
+ s(e);
2301
+ }
2302
+ }
2303
+ function J(t, e, s) {
2304
+ if (e.length === 0)
2305
+ return t;
2306
+ const r = /* @__PURE__ */ new Map();
2307
+ for (const n of e)
2308
+ r.set(n.nodeId, n);
2309
+ return $t(t, r);
2310
+ }
2311
+ function $t(t, e, s) {
2312
+ const r = e.get(t.id);
2313
+ let n = t, i = !1;
2314
+ if (r?.textUpdates && r.textUpdates.length > 0) {
2315
+ const f = ii(t, r.textUpdates);
2316
+ n = f.node, i = f.changed;
2317
+ }
2318
+ let o = !1, a = n.props;
2319
+ if (r?.changedProps && r.changedProps.size > 0)
2320
+ for (const [f, S] of r.changedProps.entries()) {
2321
+ const u = a[f];
2322
+ if (S === void 0)
2323
+ (u !== void 0 || f in a) && (o || (a = k(a), o = !0), delete a[f]);
2324
+ else if (tt(S)) {
2325
+ const A = k(S);
2326
+ v(A, u) || (o || (a = k(a), o = !0), a[f] = A);
2327
+ } else
2328
+ v(S, u) || (o || (a = k(a), o = !0), a[f] = S);
2329
+ }
2330
+ let I = !1, l = n.styleIds;
2331
+ r?.styleIds !== void 0 && (Xt(n.styleIds, r.styleIds) || (l = r.styleIds, I = !0));
2332
+ const c = n.children ?? [];
2333
+ let E = c, _ = !1;
2334
+ if (r?.removals && r.removals.length > 0 || r?.moves && r.moves.length > 0 || r?.inserts && r.inserts.length > 0) {
2335
+ const f = E.slice();
2336
+ if (r?.removals && r.removals.length > 0) {
2337
+ const S = [...r.removals].sort((u, A) => A.index - u.index);
2338
+ for (const u of S)
2339
+ u.index >= 0 && u.index < f.length && f.splice(u.index, 1);
2340
+ _ = !0;
2341
+ }
2342
+ if (r?.moves && r.moves.length > 0) {
2343
+ const S = [...r.moves].sort((A, m) => A.toIndex - m.toIndex), u = /* @__PURE__ */ new Map();
2344
+ for (const A of S) {
2345
+ const m = f.findIndex((W) => W.id === A.nodeId);
2346
+ m >= 0 && (u.set(A.nodeId, f[m]), f.splice(m, 1));
2347
+ }
2348
+ for (const A of S) {
2349
+ const m = u.get(A.nodeId);
2350
+ if (m) {
2351
+ const W = Math.min(A.toIndex, f.length);
2352
+ f.splice(W, 0, m);
2353
+ }
2354
+ }
2355
+ _ = !0;
2356
+ }
2357
+ if (r?.inserts && r.inserts.length > 0) {
2358
+ const S = [...r.inserts].sort((u, A) => u.index - A.index);
2359
+ for (const u of S) {
2360
+ const A = Math.min(u.index, f.length);
2361
+ f.splice(A, 0, u.node);
2362
+ }
2363
+ _ = !0;
2364
+ }
2365
+ E = f;
2366
+ }
2367
+ let h;
2368
+ for (let f = 0; f < E.length; f++) {
2369
+ const S = E[f], u = $t(S, e);
2370
+ u !== S && (h || (h = E.slice()), h[f] = u);
2371
+ }
2372
+ return h && (E = h, _ = !0), i || o || I || _ ? !o && !_ && !I ? n : {
2373
+ id: t.id,
2374
+ type: t.type,
2375
+ props: o ? a : n.props,
2376
+ children: _ ? E : c,
2377
+ styleIds: I ? l : n.styleIds
2378
+ } : t;
2379
+ }
2380
+ function b(t, e) {
2381
+ if (e.add(t.id), t.children)
2382
+ for (const s of t.children)
2383
+ b(s, e);
2384
+ }
2385
+ const j = [];
2386
+ function ei(t) {
2387
+ for (; j.length <= t; )
2388
+ j.push(/* @__PURE__ */ new Map());
2389
+ return j[t].clear(), j[t];
2390
+ }
2391
+ function X(t, e, s) {
2392
+ Kt(t, e, s, 0);
2393
+ }
2394
+ function Kt(t, e, s, r) {
2395
+ if (t === e)
2396
+ return;
2397
+ (t.type !== e.type || !si(t.props, e.props) || !Xt(t.styleIds, e.styleIds)) && s.add(e.id);
2398
+ const i = t.children ?? [], o = e.children ?? [];
2399
+ if (i !== o) {
2400
+ const a = ei(r);
2401
+ for (const I of i)
2402
+ a.set(I.id, I);
2403
+ for (const I of o) {
2404
+ const l = a.get(I.id);
2405
+ l ? Kt(l, I, s, r + 1) : b(I, s);
2406
+ }
2407
+ i.length !== o.length && s.add(e.id);
2408
+ }
2409
+ }
2410
+ function si(t, e) {
2411
+ return v(t, e);
2412
+ }
2413
+ function jt(t, e) {
2414
+ if (t.id === e)
2415
+ return t;
2416
+ if (t.children)
2417
+ for (const s of t.children) {
2418
+ const r = jt(s, e);
2419
+ if (r)
2420
+ return r;
2421
+ }
2422
+ }
2423
+ function Xt(t, e) {
2424
+ return v(t, e);
2425
+ }
2426
+ function ri(t, e) {
2427
+ if (t === e) return !0;
2428
+ if (!t || !e || t.length !== e.length) return !1;
2429
+ for (let s = 0; s < t.length; s++) {
2430
+ const r = t[s], n = e[s];
2431
+ if (r.id !== n.id || r.actionId !== n.actionId || r.ordinal !== n.ordinal || r.baseVersion !== n.baseVersion)
2432
+ return !1;
2433
+ }
2434
+ return !0;
2435
+ }
2436
+ function ni(t, e) {
2437
+ if (e.length === 0)
2438
+ return t;
2439
+ const s = [...e].sort((i, o) => i.start - o.start);
2440
+ let r = t, n = 0;
2441
+ for (const i of s) {
2442
+ const o = lt(i.start + n, 0, r.length);
2443
+ if (i.end == null) {
2444
+ const c = r.slice(o), E = oi(c, i.insertedText);
2445
+ r = r.slice(0, o) + i.insertedText + c.slice(E), n += i.insertedText.length - E;
2446
+ continue;
2447
+ }
2448
+ const a = i.end + n, I = lt(a, o, r.length), l = I - o;
2449
+ r = r.slice(0, o) + i.insertedText + r.slice(I), n += i.insertedText.length - l;
2450
+ }
2451
+ return r;
2452
+ }
2453
+ function ii(t, e, s) {
2454
+ if (e.length === 0)
2455
+ return { node: t, changed: !1 };
2456
+ const r = /* @__PURE__ */ new Map();
2457
+ for (const n of e) {
2458
+ const i = r.get(n.nodeId);
2459
+ i ? i.push(n) : r.set(n.nodeId, [n]);
2460
+ }
2461
+ return zt(t, r);
2462
+ }
2463
+ function zt(t, e, s) {
2464
+ const r = e.get(t.id) ?? [];
2465
+ let n = !1, i = t.props;
2466
+ if (r.length > 0) {
2467
+ const l = /* @__PURE__ */ new Map();
2468
+ for (const c of r) {
2469
+ const E = l.get(c.propertyName);
2470
+ E ? E.push(c) : l.set(c.propertyName, [c]);
2471
+ }
2472
+ for (const [c, E] of l.entries()) {
2473
+ const _ = i[c], h = ni(typeof _ == "string" ? _ : "", E);
2474
+ n || (i = k(i), n = !0), i[c] = h;
2475
+ }
2476
+ }
2477
+ let o = !1;
2478
+ const a = t.children ?? [];
2479
+ let I = a;
2480
+ if (a.length > 0) {
2481
+ let l;
2482
+ for (let c = 0; c < a.length; c++) {
2483
+ const E = a[c], _ = zt(E, e);
2484
+ _.changed && (l || (l = [...a]), l[c] = _.node);
2485
+ }
2486
+ l && (I = l, o = !0);
2487
+ }
2488
+ return !n && !o ? { node: t, changed: !1 } : {
2489
+ node: {
2490
+ id: t.id,
2491
+ type: t.type,
2492
+ props: n ? i : t.props,
2493
+ children: o ? I : a,
2494
+ styleIds: t.styleIds
2495
+ },
2496
+ changed: !0
2497
+ };
2498
+ }
2499
+ function lt(t, e, s) {
2500
+ return Math.max(e, Math.min(s, t));
2501
+ }
2502
+ function oi(t, e) {
2503
+ const s = Math.min(t.length, e.length);
2504
+ let r = 0;
2505
+ for (; r < s && t.charCodeAt(r) === e.charCodeAt(r); )
2506
+ r++;
2507
+ return r;
2508
+ }
2509
+ function k(t) {
2510
+ const e = {}, s = Object.keys(t);
2511
+ for (let r = 0; r < s.length; r++) {
2512
+ const n = s[r];
2513
+ e[n] = t[n];
2514
+ }
2515
+ return e;
2516
+ }
2517
+ function tt(t) {
2518
+ return typeof t == "object" && t !== null && !Array.isArray(t);
2519
+ }
2520
+ function v(t, e) {
2521
+ if (Object.is(t, e))
2522
+ return !0;
2523
+ if (Array.isArray(t) && Array.isArray(e)) {
2524
+ if (t.length !== e.length)
2525
+ return !1;
2526
+ for (let s = 0; s < t.length; s++)
2527
+ if (!v(t[s], e[s]))
2528
+ return !1;
2529
+ return !0;
2530
+ }
2531
+ if (tt(t) && tt(e)) {
2532
+ const s = Object.keys(t), r = Object.keys(e);
2533
+ if (s.length !== r.length)
2534
+ return !1;
2535
+ for (const n of s)
2536
+ if (!v(t[n], e[n]))
2537
+ return !1;
2538
+ return !0;
2539
+ }
2540
+ return !1;
2541
+ }
2542
+ const ai = 16, li = 50, g = new ti(), H = /* @__PURE__ */ new Map(), Y = /* @__PURE__ */ new Map();
2543
+ let Wt = ai, Jt = li, V = [], G = null, B = null, R = 0, z = 0;
2544
+ const x = /* @__PURE__ */ new Map();
2545
+ function Ii() {
2546
+ return typeof performance < "u" ? performance.now() : Date.now();
2547
+ }
2548
+ function ci() {
2549
+ try {
2550
+ return crypto.randomUUID();
2551
+ } catch {
2552
+ return `${Date.now()}_${Math.random().toString(16).slice(2)}`;
2553
+ }
2554
+ }
2555
+ function Ei(t) {
2556
+ const e = [];
2557
+ for (const n of t.views)
2558
+ e.push(n);
2559
+ const s = [];
2560
+ for (const n of t.payloads)
2561
+ s.push(n);
2562
+ const r = [];
2563
+ for (const [n, i] of t.optimisticPatches)
2564
+ r.push([n, i.slice()]);
2565
+ return {
2566
+ streamId: t.streamId,
2567
+ category: t.category,
2568
+ version: t.version ?? -1,
2569
+ rootViewId: t.rootViewId,
2570
+ views: e,
2571
+ payloads: s,
2572
+ optimisticPatches: r
2573
+ };
2574
+ }
2575
+ function _i(t, e) {
2576
+ if (t === e) return !0;
2577
+ if (!t || !e || t.length !== e.length) return !1;
2578
+ for (let s = 0; s < t.length; s++) {
2579
+ const r = t[s], n = e[s];
2580
+ if (r.id !== n.id || r.actionId !== n.actionId || r.ordinal !== n.ordinal || r.baseVersion !== n.baseVersion)
2581
+ return !1;
2582
+ }
2583
+ return !0;
2584
+ }
2585
+ function fi(t, e, s) {
2586
+ if (!s || s.version === -1)
2587
+ return { type: "ReplaceStreamSnapshot", snapshot: Ei(e) };
2588
+ let r, n;
2589
+ for (const [l, c] of e.views)
2590
+ s.views.get(l) !== c && (r ??= []).push([l, c]);
2591
+ for (const l of s.views.keys())
2592
+ e.views.has(l) || (n ??= []).push(l);
2593
+ let i, o;
2594
+ for (const [l, c] of e.payloads)
2595
+ s.payloads.get(l) !== c && (i ??= []).push([l, c]);
2596
+ for (const l of s.payloads.keys())
2597
+ e.payloads.has(l) || (o ??= []).push(l);
2598
+ let a, I;
2599
+ for (const [l, c] of e.optimisticPatches) {
2600
+ const E = s.optimisticPatches.get(l);
2601
+ _i(E, c) || (a ??= []).push([l, c.slice()]);
2602
+ }
2603
+ for (const l of s.optimisticPatches.keys())
2604
+ e.optimisticPatches.has(l) || (I ??= []).push(l);
2605
+ return {
2606
+ type: "PatchStreamSnapshot",
2607
+ streamId: t,
2608
+ category: e.category,
2609
+ nextVersion: e.version ?? -1,
2610
+ expectedBaseVersion: s.version ?? -1,
2611
+ rootViewId: e.rootViewId,
2612
+ upsertViews: r,
2613
+ deleteViews: n,
2614
+ upsertPayloads: i,
2615
+ deletePayloads: o,
2616
+ upsertOptimisticPatches: a,
2617
+ deleteOptimisticPatchesForViews: I
2618
+ };
2619
+ }
2620
+ function qt() {
2621
+ G || (G = setTimeout(It, Wt)), B || (B = setTimeout(It, Jt));
2622
+ }
2623
+ function P(t) {
2624
+ V.push(t), qt();
2625
+ }
2626
+ function It() {
2627
+ if (G && (clearTimeout(G), G = null), B && (clearTimeout(B), B = null), V.length === 0 && x.size === 0) {
2628
+ R = 0, z = 0;
2629
+ return;
2630
+ }
2631
+ const t = [];
2632
+ for (const [s, r] of x)
2633
+ t.push({ trackId: s, version: r });
2634
+ const e = {
2635
+ batchId: ci(),
2636
+ createdAtMs: Ii(),
2637
+ ops: V,
2638
+ ...t.length > 0 ? { acks: t } : {},
2639
+ stats: { uiMessagesConsumed: R, bytesConsumed: z }
2640
+ };
2641
+ V = [], R = 0, z = 0, x.clear(), self.postMessage(e);
2642
+ }
2643
+ function Qt(t) {
2644
+ return `${t.senderId}_${t.trackId}`;
2645
+ }
2646
+ function hi(t) {
2647
+ const e = hr(t), s = /* @__PURE__ */ new Set();
2648
+ for (const r of Object.values(e.UIStreams ?? {})) {
2649
+ const n = r.StreamId;
2650
+ s.add(n);
2651
+ const i = r.Info?.Category;
2652
+ g.getSnapshot(n)?.category !== i && (g.setCategory(n, i), P({ type: "SetStreamCategory", streamId: n, category: i }));
2653
+ }
2654
+ for (const r of g.getSnapshots())
2655
+ s.has(r.streamId) || (g.remove(r.streamId), Y.delete(r.streamId), P({ type: "RemoveStream", streamId: r.streamId }));
2656
+ }
2657
+ function ui(t) {
2658
+ const e = et(t), s = Qt(e), r = Bn(t), n = qn(r), i = x.get(e.trackId);
2659
+ if ((i === void 0 || n.snapshot.version > i) && (x.set(e.trackId, n.snapshot.version), qt()), !g.apply(s, n))
2660
+ return;
2661
+ const a = g.getSnapshot(s);
2662
+ if (!a)
2663
+ return;
2664
+ const I = Y.get(s);
2665
+ Y.set(s, a), P(fi(s, a, I));
2666
+ }
2667
+ function Ti(t) {
2668
+ const e = In(t);
2669
+ if (!e.StyleId)
2670
+ return;
2671
+ const s = {
2672
+ styleId: e.StyleId,
2673
+ css: e.Style?.css,
2674
+ common: e.Style?.common
2675
+ }, r = H.get(s.styleId);
2676
+ r && r.css === s.css && r.common === s.common || (H.set(s.styleId, s), P({ type: "UpsertUiStyle", style: s }));
2677
+ }
2678
+ function Ni(t) {
2679
+ const e = Nn(t);
2680
+ if (e.Styles)
2681
+ for (const s of e.Styles) {
2682
+ if (!s.StyleId)
2683
+ continue;
2684
+ const r = {
2685
+ styleId: s.StyleId,
2686
+ css: s.Style?.css,
2687
+ common: s.Style?.common
2688
+ }, n = H.get(r.styleId);
2689
+ n && n.css === r.css && n.common === r.common || (H.set(r.styleId, r), P({ type: "UpsertUiStyle", style: r }));
2690
+ }
2691
+ }
2692
+ function Ai(t) {
2693
+ const e = et(t), s = Qt(e);
2694
+ g.clear(s), Y.delete(s), P({ type: "ClearStream", streamId: s });
2695
+ }
2696
+ function Si(t) {
2697
+ const e = Pn(t);
2698
+ if (!(!e.StyleIds || e.StyleIds.length === 0))
2699
+ for (const s of e.StyleIds)
2700
+ H.delete(s) && P({ type: "RemoveUiStyle", styleId: s });
2701
+ }
2702
+ function di(t) {
2703
+ const e = new Uint8Array(t);
2704
+ z += e.byteLength;
2705
+ const s = e;
2706
+ switch (Zt(s)) {
2707
+ case O.CORE_GLOBAL_STATE:
2708
+ hi(s), R++;
2709
+ return;
2710
+ case O.UI_UPDATE:
2711
+ try {
2712
+ ui(s);
2713
+ } catch (n) {
2714
+ return n instanceof D, void 0;
2715
+ } finally {
2716
+ R++;
2717
+ }
2718
+ return;
2719
+ case O.UI_STYLES:
2720
+ Ti(s), R++;
2721
+ return;
2722
+ case O.UI_STYLES_BATCH:
2723
+ Ni(s), R++;
2724
+ return;
2725
+ case O.UI_STYLES_DELETE:
2726
+ Si(s), R++;
2727
+ return;
2728
+ case O.ACTION_UI_CLEAR_STREAM:
2729
+ Ai(s), R++;
2730
+ return;
2731
+ default:
2732
+ return;
2733
+ }
2734
+ }
2735
+ self.addEventListener("message", (t) => {
2736
+ const e = t.data;
2737
+ if (e.type === "configure") {
2738
+ typeof e.flushIntervalMs == "number" && Number.isFinite(e.flushIntervalMs) && e.flushIntervalMs >= 0 && (Wt = e.flushIntervalMs), typeof e.maxLatencyMs == "number" && Number.isFinite(e.maxLatencyMs) && e.maxLatencyMs >= 0 && (Jt = e.maxLatencyMs);
2739
+ return;
2740
+ }
2741
+ if (e.type === "clear") {
2742
+ V = [], Y.clear();
2743
+ return;
2744
+ }
2745
+ e.type === "protocol" && di(e.message);
2746
+ });