@ikonai/sdk-ui 1.0.3 → 1.0.5

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