@modularizer/plat 0.9.0 → 0.10.0
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.
- package/dist/client-entry.d.ts +1 -0
- package/dist/client-entry.d.ts.map +1 -1
- package/dist/client-entry.js +1 -0
- package/dist/client-entry.js.map +1 -1
- package/dist/client-server-entry.d.ts +1 -0
- package/dist/client-server-entry.d.ts.map +1 -1
- package/dist/client-server-entry.js +1 -0
- package/dist/client-server-entry.js.map +1 -1
- package/dist/client-side-python/runtime.d.ts.map +1 -1
- package/dist/client-side-python/runtime.js +8 -0
- package/dist/client-side-python/runtime.js.map +1 -1
- package/dist/client-side-server/identity.d.ts +80 -17
- package/dist/client-side-server/identity.d.ts.map +1 -1
- package/dist/client-side-server/identity.js +212 -31
- package/dist/client-side-server/identity.js.map +1 -1
- package/dist/client-side-server/mqtt-webrtc.d.ts +38 -6
- package/dist/client-side-server/mqtt-webrtc.d.ts.map +1 -1
- package/dist/client-side-server/mqtt-webrtc.js +839 -68
- package/dist/client-side-server/mqtt-webrtc.js.map +1 -1
- package/dist/client-side-server/protocol.d.ts +68 -3
- package/dist/client-side-server/protocol.d.ts.map +1 -1
- package/dist/client-side-server/protocol.js +110 -0
- package/dist/client-side-server/protocol.js.map +1 -1
- package/dist/client-side-server/runtime.d.ts.map +1 -1
- package/dist/client-side-server/runtime.js +7 -0
- package/dist/client-side-server/runtime.js.map +1 -1
- package/dist/client-side-server/secure-crypto.d.ts +35 -0
- package/dist/client-side-server/secure-crypto.d.ts.map +1 -0
- package/dist/client-side-server/secure-crypto.js +171 -0
- package/dist/client-side-server/secure-crypto.js.map +1 -0
- package/dist/client-side-server/server.js +1 -1
- package/dist/client-side-server/server.js.map +1 -1
- package/dist/client-side-server/signaling.d.ts +1 -0
- package/dist/client-side-server/signaling.d.ts.map +1 -1
- package/dist/client-side-server/signaling.js.map +1 -1
- package/dist/server/authority-server.d.ts +4 -4
- package/dist/server/authority-server.d.ts.map +1 -1
- package/dist/server/authority-server.js +23 -21
- package/dist/server/authority-server.js.map +1 -1
- package/dist/server/server.js +1 -1
- package/dist/server/server.js.map +1 -1
- package/package.json +1 -1
|
@@ -19,7 +19,7 @@ export function saveTrustedClientSideServerRecordToMap(knownHosts, record) {
|
|
|
19
19
|
return;
|
|
20
20
|
}
|
|
21
21
|
const list = Array.isArray(existing) ? existing : [existing];
|
|
22
|
-
const idx = list.findIndex((r) => clientSideServerPublicKeysEqual(r
|
|
22
|
+
const idx = list.findIndex((r) => clientSideServerPublicKeysEqual(getSigningPublicKeyJwk(r), getSigningPublicKeyJwk(record)));
|
|
23
23
|
if (idx >= 0) {
|
|
24
24
|
list[idx] = record;
|
|
25
25
|
}
|
|
@@ -46,7 +46,7 @@ export function loadAllTrustedClientSideServerRecordsForName(knownHosts, serverN
|
|
|
46
46
|
}
|
|
47
47
|
export function isTrustedPublicKeyForServer(knownHosts, serverName, publicKeyJwk) {
|
|
48
48
|
const records = loadAllTrustedClientSideServerRecordsForName(knownHosts, serverName);
|
|
49
|
-
return records.some((r) => clientSideServerPublicKeysEqual(r
|
|
49
|
+
return records.some((r) => clientSideServerPublicKeysEqual(getSigningPublicKeyJwk(r), publicKeyJwk));
|
|
50
50
|
}
|
|
51
51
|
export async function generateClientSideServerIdentityKeyPair(options = {}) {
|
|
52
52
|
const subtle = await resolveSubtle();
|
|
@@ -68,11 +68,35 @@ export async function createClientSideServerKeyId(publicKeyJwk) {
|
|
|
68
68
|
const fingerprint = await getClientSideServerPublicKeyFingerprint(publicKeyJwk);
|
|
69
69
|
return `cssk-${fingerprint.slice(0, 16)}`;
|
|
70
70
|
}
|
|
71
|
+
export async function generateClientSideServerEncryptionKeyPair(options = {}) {
|
|
72
|
+
const subtle = await resolveSubtle();
|
|
73
|
+
const keyPair = await subtle.generateKey({
|
|
74
|
+
name: 'X25519',
|
|
75
|
+
}, true, ['deriveKey', 'deriveBits']);
|
|
76
|
+
const publicKeyJwk = await subtle.exportKey('jwk', keyPair.publicKey);
|
|
77
|
+
const privateKeyJwk = await subtle.exportKey('jwk', keyPair.privateKey);
|
|
78
|
+
return {
|
|
79
|
+
algorithm: 'X25519',
|
|
80
|
+
publicKeyJwk,
|
|
81
|
+
privateKeyJwk,
|
|
82
|
+
keyId: options.keyId ?? await createClientSideServerEncryptionKeyId(publicKeyJwk),
|
|
83
|
+
createdAt: Date.now(),
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
export async function createClientSideServerEncryptionKeyId(publicKeyJwk) {
|
|
87
|
+
const fingerprint = await getClientSideServerEncryptionPublicKeyFingerprint(publicKeyJwk);
|
|
88
|
+
return `csse-${fingerprint.slice(0, 16)}`;
|
|
89
|
+
}
|
|
71
90
|
export async function getClientSideServerPublicKeyFingerprint(publicKeyJwk) {
|
|
72
91
|
const subtle = await resolveSubtle();
|
|
73
92
|
const digest = await subtle.digest('SHA-256', toBufferSource(encodeUtf8(stableStringify(publicKeyJwk))));
|
|
74
93
|
return base64UrlEncode(new Uint8Array(digest));
|
|
75
94
|
}
|
|
95
|
+
export async function getClientSideServerEncryptionPublicKeyFingerprint(publicKeyJwk) {
|
|
96
|
+
const subtle = await resolveSubtle();
|
|
97
|
+
const digest = await subtle.digest('SHA-256', toBufferSource(encodeUtf8(stableStringify(publicKeyJwk))));
|
|
98
|
+
return base64UrlEncode(new Uint8Array(digest));
|
|
99
|
+
}
|
|
76
100
|
export async function signClientSideServerChallenge(keyPair, challenge) {
|
|
77
101
|
const subtle = await resolveSubtle();
|
|
78
102
|
const privateKey = await subtle.importKey('jwk', keyPair.privateKeyJwk, {
|
|
@@ -120,6 +144,34 @@ export async function verifySignedClientSideServerAuthorityRecord(record, author
|
|
|
120
144
|
return false;
|
|
121
145
|
return verifyClientSideServerChallenge(authorityPublicKeyJwk, stableStringify(payload), signature);
|
|
122
146
|
}
|
|
147
|
+
export async function createSignedClientSideServerAuthorityRecordV2(authorityKeyPair, input) {
|
|
148
|
+
const payload = {
|
|
149
|
+
protocol: 'plat-css-authority-v2',
|
|
150
|
+
serverName: input.serverName,
|
|
151
|
+
signingPublicKeyJwk: input.signingPublicKeyJwk,
|
|
152
|
+
encryptionPublicKeyJwk: input.encryptionPublicKeyJwk,
|
|
153
|
+
signingKeyId: input.signingKeyId,
|
|
154
|
+
encryptionKeyId: input.encryptionKeyId,
|
|
155
|
+
authorityName: input.authorityName,
|
|
156
|
+
issuedAt: input.issuedAt ?? Date.now(),
|
|
157
|
+
};
|
|
158
|
+
const signature = await signClientSideServerChallenge(authorityKeyPair, stableStringify(payload));
|
|
159
|
+
return {
|
|
160
|
+
...payload,
|
|
161
|
+
signature,
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
export async function verifySignedClientSideServerAuthorityRecordV2(record, authorityPublicKeyJwk) {
|
|
165
|
+
const { signature, ...payload } = record;
|
|
166
|
+
if (payload.protocol !== 'plat-css-authority-v2')
|
|
167
|
+
return false;
|
|
168
|
+
return verifyClientSideServerChallenge(authorityPublicKeyJwk, stableStringify(payload), signature);
|
|
169
|
+
}
|
|
170
|
+
export async function verifyAnySignedClientSideServerAuthorityRecord(record, authorityPublicKeyJwk) {
|
|
171
|
+
return isClientSideServerSignedAuthorityRecordV2(record)
|
|
172
|
+
? verifySignedClientSideServerAuthorityRecordV2(record, authorityPublicKeyJwk)
|
|
173
|
+
: verifySignedClientSideServerAuthorityRecord(record, authorityPublicKeyJwk);
|
|
174
|
+
}
|
|
123
175
|
export async function toClientSideServerPublicIdentity(keyPair) {
|
|
124
176
|
return {
|
|
125
177
|
algorithm: keyPair.algorithm,
|
|
@@ -129,6 +181,15 @@ export async function toClientSideServerPublicIdentity(keyPair) {
|
|
|
129
181
|
fingerprint: await getClientSideServerPublicKeyFingerprint(keyPair.publicKeyJwk),
|
|
130
182
|
};
|
|
131
183
|
}
|
|
184
|
+
export async function toClientSideServerEncryptionPublicIdentity(keyPair) {
|
|
185
|
+
return {
|
|
186
|
+
algorithm: keyPair.algorithm,
|
|
187
|
+
publicKeyJwk: keyPair.publicKeyJwk,
|
|
188
|
+
keyId: keyPair.keyId,
|
|
189
|
+
createdAt: keyPair.createdAt,
|
|
190
|
+
fingerprint: await getClientSideServerEncryptionPublicKeyFingerprint(keyPair.publicKeyJwk),
|
|
191
|
+
};
|
|
192
|
+
}
|
|
132
193
|
export function saveClientSideServerIdentityKeyPair(keyPair, options = {}) {
|
|
133
194
|
const storage = resolveStorage(options.storage);
|
|
134
195
|
if (!storage)
|
|
@@ -155,6 +216,32 @@ export async function getOrCreateClientSideServerIdentityKeyPair(options = {}) {
|
|
|
155
216
|
}
|
|
156
217
|
return created;
|
|
157
218
|
}
|
|
219
|
+
export function saveClientSideServerEncryptionKeyPair(keyPair, options = {}) {
|
|
220
|
+
const storage = resolveStorage(options.storage);
|
|
221
|
+
if (!storage)
|
|
222
|
+
throw new Error('No storage available to save a client-side server encryption key pair');
|
|
223
|
+
storage.setItem(options.storageKey ?? 'plat-css:enc-keypair', JSON.stringify(keyPair));
|
|
224
|
+
}
|
|
225
|
+
export function loadClientSideServerEncryptionKeyPair(options = {}) {
|
|
226
|
+
const storage = resolveStorage(options.storage);
|
|
227
|
+
if (!storage)
|
|
228
|
+
return null;
|
|
229
|
+
const raw = storage.getItem(options.storageKey ?? 'plat-css:enc-keypair');
|
|
230
|
+
if (!raw)
|
|
231
|
+
return null;
|
|
232
|
+
return JSON.parse(raw);
|
|
233
|
+
}
|
|
234
|
+
export async function getOrCreateClientSideServerEncryptionKeyPair(options = {}) {
|
|
235
|
+
const existing = loadClientSideServerEncryptionKeyPair(options);
|
|
236
|
+
if (existing)
|
|
237
|
+
return existing;
|
|
238
|
+
const created = await generateClientSideServerEncryptionKeyPair(options);
|
|
239
|
+
const storage = resolveStorage(options.storage);
|
|
240
|
+
if (storage) {
|
|
241
|
+
storage.setItem(options.storageKey ?? 'plat-css:enc-keypair', JSON.stringify(created));
|
|
242
|
+
}
|
|
243
|
+
return created;
|
|
244
|
+
}
|
|
158
245
|
export function saveTrustedClientSideServerRecord(record, options = {}) {
|
|
159
246
|
const storage = resolveStorage(options.storage);
|
|
160
247
|
if (!storage)
|
|
@@ -210,18 +297,30 @@ export async function trustClientSideServerOnFirstUse(serverName, identity, opti
|
|
|
210
297
|
return record;
|
|
211
298
|
}
|
|
212
299
|
export async function trustClientSideServerFromAuthorityRecord(record, authorityPublicKeyJwk, options = {}) {
|
|
213
|
-
const valid = await
|
|
300
|
+
const valid = await verifyAnySignedClientSideServerAuthorityRecord(record, authorityPublicKeyJwk);
|
|
214
301
|
if (!valid) {
|
|
215
302
|
throw new Error(`Authority record for ${record.serverName} failed signature verification`);
|
|
216
303
|
}
|
|
217
|
-
const trusted =
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
304
|
+
const trusted = isClientSideServerSignedAuthorityRecordV2(record)
|
|
305
|
+
? {
|
|
306
|
+
serverName: record.serverName,
|
|
307
|
+
signingPublicKeyJwk: record.signingPublicKeyJwk,
|
|
308
|
+
encryptionPublicKeyJwk: record.encryptionPublicKeyJwk,
|
|
309
|
+
signingKeyId: record.signingKeyId,
|
|
310
|
+
encryptionKeyId: record.encryptionKeyId,
|
|
311
|
+
signingFingerprint: await getClientSideServerPublicKeyFingerprint(record.signingPublicKeyJwk),
|
|
312
|
+
encryptionFingerprint: await getClientSideServerEncryptionPublicKeyFingerprint(record.encryptionPublicKeyJwk),
|
|
313
|
+
trustedAt: Date.now(),
|
|
314
|
+
source: 'authority',
|
|
315
|
+
}
|
|
316
|
+
: {
|
|
317
|
+
serverName: record.serverName,
|
|
318
|
+
publicKeyJwk: record.publicKeyJwk,
|
|
319
|
+
keyId: record.keyId,
|
|
320
|
+
fingerprint: await getClientSideServerPublicKeyFingerprint(record.publicKeyJwk),
|
|
321
|
+
trustedAt: Date.now(),
|
|
322
|
+
source: 'authority',
|
|
323
|
+
};
|
|
225
324
|
saveTrustedClientSideServerRecord(trusted, options);
|
|
226
325
|
return trusted;
|
|
227
326
|
}
|
|
@@ -239,35 +338,55 @@ export function createClientSideServerAuthorityResolver(options) {
|
|
|
239
338
|
export function createStaticClientSideServerAuthorityRegistry(options) {
|
|
240
339
|
const records = new Map();
|
|
241
340
|
for (const [serverName, value] of Object.entries(options.records ?? {})) {
|
|
242
|
-
records.set(serverName,
|
|
341
|
+
records.set(serverName, normalizeAuthorityIdentity(value));
|
|
243
342
|
}
|
|
244
343
|
return {
|
|
245
344
|
register(serverName, value) {
|
|
246
|
-
records.set(serverName,
|
|
345
|
+
records.set(serverName, normalizeAuthorityIdentity(value));
|
|
247
346
|
},
|
|
248
347
|
async resolve(serverName) {
|
|
249
|
-
const
|
|
250
|
-
if (!
|
|
348
|
+
const record = records.get(serverName);
|
|
349
|
+
if (!record)
|
|
251
350
|
return null;
|
|
252
|
-
return
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
351
|
+
return record.encryptionPublicKeyJwk
|
|
352
|
+
? createSignedClientSideServerAuthorityRecordV2(options.authorityKeyPair, {
|
|
353
|
+
serverName,
|
|
354
|
+
signingPublicKeyJwk: record.signingPublicKeyJwk,
|
|
355
|
+
encryptionPublicKeyJwk: record.encryptionPublicKeyJwk,
|
|
356
|
+
signingKeyId: record.signingKeyId,
|
|
357
|
+
encryptionKeyId: record.encryptionKeyId,
|
|
358
|
+
authorityName: options.authorityName,
|
|
359
|
+
})
|
|
360
|
+
: createSignedClientSideServerAuthorityRecord(options.authorityKeyPair, {
|
|
361
|
+
serverName,
|
|
362
|
+
publicKeyJwk: record.signingPublicKeyJwk,
|
|
363
|
+
keyId: record.signingKeyId,
|
|
364
|
+
authorityName: options.authorityName,
|
|
365
|
+
});
|
|
257
366
|
},
|
|
258
367
|
createServer() {
|
|
259
368
|
return {
|
|
260
369
|
authorityName: options.authorityName,
|
|
261
370
|
publicKeyJwk: options.authorityKeyPair.publicKeyJwk,
|
|
262
371
|
resolve: async (serverName) => {
|
|
263
|
-
const
|
|
264
|
-
if (!
|
|
372
|
+
const record = records.get(serverName);
|
|
373
|
+
if (!record)
|
|
265
374
|
return null;
|
|
266
|
-
return
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
375
|
+
return record.encryptionPublicKeyJwk
|
|
376
|
+
? createSignedClientSideServerAuthorityRecordV2(options.authorityKeyPair, {
|
|
377
|
+
serverName,
|
|
378
|
+
signingPublicKeyJwk: record.signingPublicKeyJwk,
|
|
379
|
+
encryptionPublicKeyJwk: record.encryptionPublicKeyJwk,
|
|
380
|
+
signingKeyId: record.signingKeyId,
|
|
381
|
+
encryptionKeyId: record.encryptionKeyId,
|
|
382
|
+
authorityName: options.authorityName,
|
|
383
|
+
})
|
|
384
|
+
: createSignedClientSideServerAuthorityRecord(options.authorityKeyPair, {
|
|
385
|
+
serverName,
|
|
386
|
+
publicKeyJwk: record.signingPublicKeyJwk,
|
|
387
|
+
keyId: record.signingKeyId,
|
|
388
|
+
authorityName: options.authorityName,
|
|
389
|
+
});
|
|
271
390
|
},
|
|
272
391
|
};
|
|
273
392
|
},
|
|
@@ -316,6 +435,37 @@ export async function resolveTrustedClientSideServerFromAuthorities(serverName,
|
|
|
316
435
|
export function clientSideServerPublicKeysEqual(a, b) {
|
|
317
436
|
return stableStringify(a) === stableStringify(b);
|
|
318
437
|
}
|
|
438
|
+
export function isClientSideServerTrustedServerRecordV2(value) {
|
|
439
|
+
return Boolean(value
|
|
440
|
+
&& typeof value === 'object'
|
|
441
|
+
&& 'signingPublicKeyJwk' in value
|
|
442
|
+
&& 'encryptionPublicKeyJwk' in value);
|
|
443
|
+
}
|
|
444
|
+
export function isClientSideServerSignedAuthorityRecordV2(value) {
|
|
445
|
+
return Boolean(value
|
|
446
|
+
&& typeof value === 'object'
|
|
447
|
+
&& value.protocol === 'plat-css-authority-v2'
|
|
448
|
+
&& 'signingPublicKeyJwk' in value
|
|
449
|
+
&& 'encryptionPublicKeyJwk' in value);
|
|
450
|
+
}
|
|
451
|
+
export async function trustedClientSideServerRecordToResolvedIdentityBundle(record) {
|
|
452
|
+
if (!isClientSideServerTrustedServerRecordV2(record))
|
|
453
|
+
return null;
|
|
454
|
+
return {
|
|
455
|
+
signing: {
|
|
456
|
+
algorithm: 'ECDSA-P256',
|
|
457
|
+
publicKeyJwk: record.signingPublicKeyJwk,
|
|
458
|
+
keyId: record.signingKeyId ?? await createClientSideServerKeyId(record.signingPublicKeyJwk),
|
|
459
|
+
fingerprint: record.signingFingerprint,
|
|
460
|
+
},
|
|
461
|
+
encryption: {
|
|
462
|
+
algorithm: 'X25519',
|
|
463
|
+
publicKeyJwk: record.encryptionPublicKeyJwk,
|
|
464
|
+
keyId: record.encryptionKeyId ?? await createClientSideServerEncryptionKeyId(record.encryptionPublicKeyJwk),
|
|
465
|
+
fingerprint: record.encryptionFingerprint,
|
|
466
|
+
},
|
|
467
|
+
};
|
|
468
|
+
}
|
|
319
469
|
function resolveStorage(storage) {
|
|
320
470
|
if (storage)
|
|
321
471
|
return storage;
|
|
@@ -323,10 +473,41 @@ function resolveStorage(storage) {
|
|
|
323
473
|
return localStorage;
|
|
324
474
|
return null;
|
|
325
475
|
}
|
|
326
|
-
function
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
476
|
+
function getSigningPublicKeyJwk(record) {
|
|
477
|
+
return isClientSideServerTrustedServerRecordV2(record) ? record.signingPublicKeyJwk : record.publicKeyJwk;
|
|
478
|
+
}
|
|
479
|
+
function normalizeAuthorityIdentity(value) {
|
|
480
|
+
if (isResolvedIdentityBundle(value)) {
|
|
481
|
+
return {
|
|
482
|
+
signingPublicKeyJwk: value.signing.publicKeyJwk,
|
|
483
|
+
encryptionPublicKeyJwk: value.encryption.publicKeyJwk,
|
|
484
|
+
signingKeyId: value.signing.keyId,
|
|
485
|
+
encryptionKeyId: value.encryption.keyId,
|
|
486
|
+
};
|
|
487
|
+
}
|
|
488
|
+
if (isClientSideServerTrustedServerRecordV2(value)) {
|
|
489
|
+
return {
|
|
490
|
+
signingPublicKeyJwk: value.signingPublicKeyJwk,
|
|
491
|
+
encryptionPublicKeyJwk: value.encryptionPublicKeyJwk,
|
|
492
|
+
signingKeyId: value.signingKeyId,
|
|
493
|
+
encryptionKeyId: value.encryptionKeyId,
|
|
494
|
+
};
|
|
495
|
+
}
|
|
496
|
+
if ('publicKeyJwk' in value) {
|
|
497
|
+
return {
|
|
498
|
+
signingPublicKeyJwk: value.publicKeyJwk,
|
|
499
|
+
signingKeyId: 'keyId' in value ? value.keyId : undefined,
|
|
500
|
+
};
|
|
501
|
+
}
|
|
502
|
+
return {
|
|
503
|
+
signingPublicKeyJwk: value,
|
|
504
|
+
};
|
|
505
|
+
}
|
|
506
|
+
function isResolvedIdentityBundle(value) {
|
|
507
|
+
return Boolean(value
|
|
508
|
+
&& typeof value === 'object'
|
|
509
|
+
&& 'signing' in value
|
|
510
|
+
&& 'encryption' in value);
|
|
330
511
|
}
|
|
331
512
|
function stableStringify(value) {
|
|
332
513
|
return JSON.stringify(sortValue(value));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/client-side-server/identity.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/client-side-server/identity.ts"],"names":[],"mappings":"AAkJA,MAAM,UAAU,qCAAqC,CACnD,UAAkC,EAAE;IAEpC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;IAC9C,OAAO;QACL,OAAO,CAAC,GAAG;YACT,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QAChD,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,KAAK;YAChB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACvB,CAAC;QACD,UAAU,CAAC,GAAG;YACZ,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACnB,CAAC;KACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,sCAAsC,CACpD,UAA6G,EAC7G,MAA8C;IAE9C,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,CAAA;QACtC,OAAM;IACR,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,+BAA+B,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC7H,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAA;IACpB,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACnB,CAAC;IACD,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AACrE,CAAC;AAED,MAAM,UAAU,wCAAwC,CACtD,UAAyH,EACzH,UAAkB;IAElB,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAA;IAC5B,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,CAAA;IACpC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IACvB,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;AACxD,CAAC;AAED,MAAM,UAAU,4CAA4C,CAC1D,UAAyH,EACzH,UAAkB;IAElB,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAA;IAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,CAAA;IACpC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAA;IACrB,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;AAC/C,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,UAAyH,EACzH,UAAkB,EAClB,YAAwB;IAExB,MAAM,OAAO,GAAG,4CAA4C,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IACpF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,+BAA+B,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAA;AACtG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uCAAuC,CAC3D,UAAkD,EAAE;IAEpD,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAA;IACpC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,WAAW,CACtC;QACE,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,OAAO;KACpB,EACD,IAAI,EACJ,CAAC,MAAM,EAAE,QAAQ,CAAC,CACnB,CAAA;IACD,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IACrE,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;IACvE,OAAO;QACL,SAAS,EAAE,YAAY;QACvB,YAAY;QACZ,aAAa;QACb,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,MAAM,2BAA2B,CAAC,YAAY,CAAC;QACvE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,YAAwB;IACxE,MAAM,WAAW,GAAG,MAAM,uCAAuC,CAAC,YAAY,CAAC,CAAA;IAC/E,OAAO,QAAQ,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAA;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yCAAyC,CAC7D,UAAkD,EAAE;IAEpD,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAA;IACpC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,WAAW,CACtC;QACE,IAAI,EAAE,QAAQ;KACf,EACD,IAAI,EACJ,CAAC,WAAW,EAAE,YAAY,CAAC,CAC5B,CAAA;IACD,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IACrE,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;IACvE,OAAO;QACL,SAAS,EAAE,QAAQ;QACnB,YAAY;QACZ,aAAa;QACb,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,MAAM,qCAAqC,CAAC,YAAY,CAAC;QACjF,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qCAAqC,CAAC,YAAwB;IAClF,MAAM,WAAW,GAAG,MAAM,iDAAiD,CAAC,YAAY,CAAC,CAAA;IACzF,OAAO,QAAQ,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAA;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uCAAuC,CAAC,YAAwB;IACpF,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAA;IACpC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,UAAU,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;IACxG,OAAO,eAAe,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;AAChD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iDAAiD,CAAC,YAAwB;IAC9F,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAA;IACpC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,UAAU,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;IACxG,OAAO,eAAe,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;AAChD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,OAAwC,EACxC,SAAiB;IAEjB,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAA;IACpC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,SAAS,CACvC,KAAK,EACL,OAAO,CAAC,aAAa,EACrB;QACE,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,OAAO;KACpB,EACD,KAAK,EACL,CAAC,MAAM,CAAC,CACT,CAAA;IACD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,IAAI,CACjC;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,SAAS;KAChB,EACD,UAAU,EACV,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CACtC,CAAA;IACD,OAAO,eAAe,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,CAAA;AACnD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,YAAwB,EACxB,SAAiB,EACjB,SAAiB;IAEjB,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAA;IACpC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,SAAS,CACtC,KAAK,EACL,YAAY,EACZ;QACE,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,OAAO;KACpB,EACD,KAAK,EACL,CAAC,QAAQ,CAAC,CACX,CAAA;IACD,OAAO,MAAM,CAAC,MAAM,CAClB;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,SAAS;KAChB,EACD,SAAS,EACT,eAAe,CAAC,SAAS,CAAC,EAC1B,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CACtC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,sCAAsC,CAAC,KAItD;IACC,OAAO,wBAAwB,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,cAAc,EAAE,CAAA;AACjG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2CAA2C,CAC/D,gBAAiD,EACjD,KAMC;IAED,MAAM,OAAO,GAAG;QACd,QAAQ,EAAE,uBAAgC;QAC1C,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE;KACvC,CAAA;IACD,MAAM,SAAS,GAAG,MAAM,6BAA6B,CAAC,gBAAgB,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAA;IACjG,OAAO;QACL,GAAG,OAAO;QACV,SAAS;KACV,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2CAA2C,CAC/D,MAA6C,EAC7C,qBAAiC;IAEjC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,CAAA;IACxC,IAAI,OAAO,CAAC,QAAQ,KAAK,uBAAuB;QAAE,OAAO,KAAK,CAAA;IAC9D,OAAO,+BAA+B,CAAC,qBAAqB,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAA;AACpG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6CAA6C,CACjE,gBAAiD,EACjD,KAQC;IAED,MAAM,OAAO,GAAG;QACd,QAAQ,EAAE,uBAAgC;QAC1C,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;QAC9C,sBAAsB,EAAE,KAAK,CAAC,sBAAsB;QACpD,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE;KACvC,CAAA;IACD,MAAM,SAAS,GAAG,MAAM,6BAA6B,CAAC,gBAAgB,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAA;IACjG,OAAO;QACL,GAAG,OAAO;QACV,SAAS;KACV,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6CAA6C,CACjE,MAA+C,EAC/C,qBAAiC;IAEjC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,CAAA;IACxC,IAAI,OAAO,CAAC,QAAQ,KAAK,uBAAuB;QAAE,OAAO,KAAK,CAAA;IAC9D,OAAO,+BAA+B,CAAC,qBAAqB,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAA;AACpG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8CAA8C,CAClE,MAA0C,EAC1C,qBAAiC;IAEjC,OAAO,yCAAyC,CAAC,MAAM,CAAC;QACtD,CAAC,CAAC,6CAA6C,CAAC,MAAM,EAAE,qBAAqB,CAAC;QAC9E,CAAC,CAAC,2CAA2C,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;AAChF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,OAAwC;IAExC,OAAO;QACL,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,WAAW,EAAE,MAAM,uCAAuC,CAAC,OAAO,CAAC,YAAY,CAAC;KACjF,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0CAA0C,CAC9D,OAA0C;IAE1C,OAAO;QACL,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,WAAW,EAAE,MAAM,iDAAiD,CAAC,OAAO,CAAC,YAAY,CAAC;KAC3F,CAAA;AACH,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,OAAwC,EACxC,UAA+C,EAAE;IAEjD,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/C,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAA;IAC3F,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;AACpF,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,UAA+C,EAAE;IAEjD,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/C,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAA;IACzB,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,kBAAkB,CAAC,CAAA;IACrE,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IACrB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoC,CAAA;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0CAA0C,CAC9D,UAAwF,EAAE;IAE1F,MAAM,QAAQ,GAAG,mCAAmC,CAAC,OAAO,CAAC,CAAA;IAC7D,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAC7B,MAAM,OAAO,GAAG,MAAM,uCAAuC,CAAC,OAAO,CAAC,CAAA;IACtE,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/C,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;IACpF,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,UAAU,qCAAqC,CACnD,OAA0C,EAC1C,UAA+C,EAAE;IAEjD,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/C,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;IACtG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;AACxF,CAAC;AAED,MAAM,UAAU,qCAAqC,CACnD,UAA+C,EAAE;IAEjD,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/C,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAA;IACzB,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,sBAAsB,CAAC,CAAA;IACzE,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IACrB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAsC,CAAA;AAC7D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4CAA4C,CAChE,UAAwF,EAAE;IAE1F,MAAM,QAAQ,GAAG,qCAAqC,CAAC,OAAO,CAAC,CAAA;IAC/D,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAC7B,MAAM,OAAO,GAAG,MAAM,yCAAyC,CAAC,OAAO,CAAC,CAAA;IACxE,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/C,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;IACxF,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,MAA8C,EAC9C,UAAkD,EAAE;IAEpD,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/C,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAA;IACjG,MAAM,GAAG,GAAG,qCAAqC,CAAC,OAAO,CAAC,CAAA;IAC1D,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,CAAA;IAC/B,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;AACpF,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,UAAkB,EAClB,UAAkD,EAAE;IAEpD,MAAM,GAAG,GAAG,qCAAqC,CAAC,OAAO,CAAC,CAAA;IAC1D,OAAO,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAA;AAChC,CAAC;AAED,MAAM,UAAU,qCAAqC,CACnD,UAAkD,EAAE;IAEpD,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/C,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAA;IACvB,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,sBAAsB,CAAC,CAAA;IACzE,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAA;IACnB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAA2D,CAAA;AAClF,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,MAA0C,EAC1C,UAAiD,EAAE;IAEnD,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/C,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAA;IACnG,MAAM,GAAG,GAAG,uCAAuC,CAAC,OAAO,CAAC,CAAA;IAC5D,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,CAAA;IAC/B,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,4BAA4B,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;AAC1F,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,UAAkB,EAClB,UAAiD,EAAE;IAEnD,MAAM,GAAG,GAAG,uCAAuC,CAAC,OAAO,CAAC,CAAA;IAC5D,OAAO,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAA;AAChC,CAAC;AAED,MAAM,UAAU,uCAAuC,CACrD,UAAiD,EAAE;IAEnD,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/C,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAA;IACvB,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,4BAA4B,CAAC,CAAA;IAC/E,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAA;IACnB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAuD,CAAA;AAC9E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,UAAkB,EAClB,QAAwC,EACxC,UAAkD,EAAE;IAEpD,MAAM,MAAM,GAAwC;QAClD,UAAU;QACV,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,MAAM,EAAE,WAAW;KACpB,CAAA;IACD,iCAAiC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wCAAwC,CAC5D,MAA0C,EAC1C,qBAAiC,EACjC,UAAkD,EAAE;IAEpD,MAAM,KAAK,GAAG,MAAM,8CAA8C,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;IACjG,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,CAAC,UAAU,gCAAgC,CAAC,CAAA;IAC5F,CAAC;IACD,MAAM,OAAO,GAA2C,yCAAyC,CAAC,MAAM,CAAC;QACvG,CAAC,CAAC;YACE,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;YAC/C,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;YACrD,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,kBAAkB,EAAE,MAAM,uCAAuC,CAAC,MAAM,CAAC,mBAAmB,CAAC;YAC7F,qBAAqB,EAAE,MAAM,iDAAiD,CAAC,MAAM,CAAC,sBAAsB,CAAC;YAC7G,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,MAAM,EAAE,WAAW;SACpB;QACH,CAAC,CAAC;YACE,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,WAAW,EAAE,MAAM,uCAAuC,CAAC,MAAM,CAAC,YAAY,CAAC;YAC/E,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,MAAM,EAAE,WAAW;SACpB,CAAA;IACL,iCAAiC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACnD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,UAAU,uCAAuC,CACrD,OAAiD;IAEjD,OAAO,KAAK,EAAE,UAAkB,EAAE,EAAE;QAClC,MAAM,MAAM,GAAG,mCAAmC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACvE,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA;QACxB,OAAO,wCAAwC,CAC7C,MAAM,EACN,OAAO,CAAC,qBAAqB,EAC7B;YACE,OAAO,EAAE,OAAO,CAAC,iBAAiB;YAClC,UAAU,EAAE,OAAO,CAAC,oBAAoB;SACzC,CACF,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,6CAA6C,CAC3D,OAAuD;IAcvD,MAAM,OAAO,GAAG,IAAI,GAAG,EAA6C,CAAA;IACpE,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAA;IAC5D,CAAC;IACD,OAAO;QACL,QAAQ,CAAC,UAAU,EAAE,KAAK;YACxB,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAA;QAC5D,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,UAAU;YACtB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;YACtC,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAA;YACxB,OAAO,MAAM,CAAC,sBAAsB;gBAClC,CAAC,CAAC,6CAA6C,CAAC,OAAO,CAAC,gBAAgB,EAAE;oBACtE,UAAU;oBACV,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;oBAC/C,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;oBACrD,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,eAAe,EAAE,MAAM,CAAC,eAAe;oBACvC,aAAa,EAAE,OAAO,CAAC,aAAa;iBACrC,CAAC;gBACJ,CAAC,CAAC,2CAA2C,CAAC,OAAO,CAAC,gBAAgB,EAAE;oBACpE,UAAU;oBACV,YAAY,EAAE,MAAM,CAAC,mBAAmB;oBACxC,KAAK,EAAE,MAAM,CAAC,YAAY;oBAC1B,aAAa,EAAE,OAAO,CAAC,aAAa;iBACrC,CAAC,CAAA;QACR,CAAC;QACD,YAAY;YACV,OAAO;gBACL,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,YAAY,EAAE,OAAO,CAAC,gBAAgB,CAAC,YAAY;gBACnD,OAAO,EAAE,KAAK,EAAE,UAAkB,EAAE,EAAE;oBACpC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;oBACtC,IAAI,CAAC,MAAM;wBAAE,OAAO,IAAI,CAAA;oBACxB,OAAO,MAAM,CAAC,sBAAsB;wBAClC,CAAC,CAAC,6CAA6C,CAAC,OAAO,CAAC,gBAAgB,EAAE;4BACtE,UAAU;4BACV,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;4BAC/C,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;4BACrD,YAAY,EAAE,MAAM,CAAC,YAAY;4BACjC,eAAe,EAAE,MAAM,CAAC,eAAe;4BACvC,aAAa,EAAE,OAAO,CAAC,aAAa;yBACrC,CAAC;wBACJ,CAAC,CAAC,2CAA2C,CAAC,OAAO,CAAC,gBAAgB,EAAE;4BACpE,UAAU;4BACV,YAAY,EAAE,MAAM,CAAC,mBAAmB;4BACxC,KAAK,EAAE,MAAM,CAAC,YAAY;4BAC1B,aAAa,EAAE,OAAO,CAAC,aAAa;yBACrC,CAAC,CAAA;gBACR,CAAC;aACF,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,0CAA0C,CACxD,OAAoD;IAEpD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAA;IAC5C,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAA;IACjG,CAAC;IACD,OAAO;QACL,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,KAAK,CAAC,OAAO,CAAC,UAAkB;YAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;YACnD,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,uBAAuB,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;YAC9F,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,OAAO,GAAG,WAAW,EAAE,CAAC,CAAA;YAC/C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;YAC9C,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;gBAC/C,OAAO,EAAE;oBACP,MAAM,EAAE,kBAAkB;iBAC3B;aACF,CAAC,CAAA;YACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,aAAa,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;YACnG,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA+C,CAAA;YACjF,OAAO,MAAM,CAAA;QACf,CAAC;KACF,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6CAA6C,CACjE,UAAkB,EAClB,gBAAmD,EACnD,UAAkD,EAAE;IAEpD,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE,CAAC;QAC/C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;YACxD,IAAI,CAAC,MAAM;gBAAE,SAAQ;YACrB,OAAO,MAAM,wCAAwC,CAAC,MAAM,EAAE,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QACtG,CAAC;QAAC,MAAM,CAAC;YACP,SAAQ;QACV,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,CAAa,EAAE,CAAa;IAC1E,OAAO,eAAe,CAAC,CAAC,CAAC,KAAK,eAAe,CAAC,CAAC,CAAC,CAAA;AAClD,CAAC;AAED,MAAM,UAAU,uCAAuC,CACrD,KAAuD;IAEvD,OAAO,OAAO,CACZ,KAAK;WACA,OAAO,KAAK,KAAK,QAAQ;WACzB,qBAAqB,IAAI,KAAK;WAC9B,wBAAwB,IAAI,KAAK,CACvC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,yCAAyC,CACvD,KAAmD;IAEnD,OAAO,OAAO,CACZ,KAAK;WACA,OAAO,KAAK,KAAK,QAAQ;WACxB,KAAiD,CAAC,QAAQ,KAAK,uBAAuB;WACvF,qBAAqB,IAAI,KAAK;WAC9B,wBAAwB,IAAI,KAAK,CACvC,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qDAAqD,CACzE,MAA8C;IAE9C,IAAI,CAAC,uCAAuC,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAA;IACjE,OAAO;QACL,OAAO,EAAE;YACP,SAAS,EAAE,YAAY;YACvB,YAAY,EAAE,MAAM,CAAC,mBAAmB;YACxC,KAAK,EAAE,MAAM,CAAC,YAAY,IAAI,MAAM,2BAA2B,CAAC,MAAM,CAAC,mBAAmB,CAAC;YAC3F,WAAW,EAAE,MAAM,CAAC,kBAAkB;SACvC;QACD,UAAU,EAAE;YACV,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,MAAM,CAAC,sBAAsB;YAC3C,KAAK,EAAE,MAAM,CAAC,eAAe,IAAI,MAAM,qCAAqC,CAAC,MAAM,CAAC,sBAAsB,CAAC;YAC3G,WAAW,EAAE,MAAM,CAAC,qBAAqB;SAC1C;KACF,CAAA;AACH,CAAC;AAED,SAAS,cAAc,CAAC,OAAqC;IAC3D,IAAI,OAAO;QAAE,OAAO,OAAO,CAAA;IAC3B,IAAI,OAAO,YAAY,KAAK,WAAW;QAAE,OAAO,YAAY,CAAA;IAC5D,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,sBAAsB,CAAC,MAA8C;IAC5E,OAAO,uCAAuC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAA;AAC3G,CAAC;AASD,SAAS,0BAA0B,CACjC,KAK0C;IAE1C,IAAI,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO;YACL,mBAAmB,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY;YAC/C,sBAAsB,EAAE,KAAK,CAAC,UAAU,CAAC,YAAY;YACrD,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;YACjC,eAAe,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK;SACxC,CAAA;IACH,CAAC;IACD,IAAI,uCAAuC,CAAC,KAAK,CAAC,EAAE,CAAC;QACnD,OAAO;YACL,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;YAC9C,sBAAsB,EAAE,KAAK,CAAC,sBAAsB;YACpD,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,eAAe,EAAE,KAAK,CAAC,eAAe;SACvC,CAAA;IACH,CAAC;IACD,IAAI,cAAc,IAAI,KAAK,EAAE,CAAC;QAC5B,OAAO;YACL,mBAAmB,EAAE,KAAK,CAAC,YAAY;YACvC,YAAY,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;SACzD,CAAA;IACH,CAAC;IACD,OAAO;QACL,mBAAmB,EAAE,KAAK;KAC3B,CAAA;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc;IAC9C,OAAO,OAAO,CACZ,KAAK;WACA,OAAO,KAAK,KAAK,QAAQ;WACzB,SAAS,IAAI,KAAK;WAClB,YAAY,IAAI,KAAK,CAC3B,CAAA;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;AACzC,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACrD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC;aAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACtC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAClD,CAAA;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACxC,CAAC;AAED,SAAS,eAAe,CAAC,KAAiB;IACxC,MAAM,MAAM,GAAG,OAAO,MAAM,KAAK,WAAW;QAC1C,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACvC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IACxB,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAC3E,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;IACvG,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;IACtD,CAAC;IACD,OAAO,aAAa,CAAC,MAAM,CAAC,CAAA;AAC9B,CAAC;AAED,KAAK,UAAU,aAAa;IAC1B,IAAI,UAAU,CAAC,MAAM,EAAE,MAAM;QAAE,OAAO,UAAU,CAAC,MAAM,CAAC,MAAM,CAAA;IAC9D,MAAM,aAAa,GAAG,IAAI,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAgC,CAAA;IAC1F,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,CAAA;IACvD,IAAI,YAAY,CAAC,SAAS,EAAE,MAAM;QAAE,OAAO,YAAY,CAAC,SAAS,CAAC,MAAM,CAAA;IACxE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAA;AAC/E,CAAC;AAED,SAAS,aAAa,CAAC,KAAiB;IACtC,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IAC7D,OAAO,IAAI,CAAC,MAAM,CAAC,CAAA;AACrB,CAAC;AAED,SAAS,aAAa,CAAC,MAAc;IACnC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;IAC3B,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC3C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACtD,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IACzC,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,cAAc,CAAC,KAAiB;IACvC,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAgB,CAAA;AACjG,CAAC"}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import { type IClientOptions } from 'mqtt';
|
|
2
2
|
import type { OpenAPIClientTransportPlugin } from '../client/transport-plugin';
|
|
3
3
|
import { type ClientSideServerChannel } from './channel';
|
|
4
|
-
import { type
|
|
4
|
+
import { type ClientSideServerAnyAuthorityRecord, type ClientSideServerAnyTrustedServerRecord, type ClientSideServerAuthorityServer, type ClientSideServerEncryptionKeyPair, type ClientSideServerExportedKeyPair, type ClientSideServerPublicIdentity, type ClientSideServerStorageLike } from './identity';
|
|
5
5
|
import { type ClientSideServerInstanceInfo, type ClientSideServerPeerMessage } from './protocol';
|
|
6
6
|
import { type ClientSideServerAddress } from './signaling';
|
|
7
7
|
import type { PLATClientSideServer } from './server';
|
|
8
8
|
export declare const DEFAULT_CLIENT_SIDE_SERVER_MQTT_BROKER = "wss://broker.emqx.io:8084/mqtt";
|
|
9
9
|
export declare const DEFAULT_CLIENT_SIDE_SERVER_MQTT_TOPIC = "mrtchat/plat-css";
|
|
10
|
+
export declare const DEFAULT_CLIENT_SIDE_SERVER_SEALED_TOPIC = "plat";
|
|
11
|
+
export declare const DEFAULT_CLIENT_SIDE_SERVER_MAX_SEALED_MESSAGE_BYTES = 65536;
|
|
12
|
+
export declare const DEFAULT_CLIENT_SIDE_SERVER_REPLAY_WINDOW_MS: number;
|
|
13
|
+
export declare const DEFAULT_CLIENT_SIDE_SERVER_CLOCK_SKEW_TOLERANCE_MS = 30000;
|
|
10
14
|
export declare const DEFAULT_CLIENT_SIDE_SERVER_ICE_SERVERS: RTCIceServer[];
|
|
11
15
|
export interface ClientSideServerWorkerInfo {
|
|
12
16
|
weight?: number;
|
|
@@ -36,7 +40,7 @@ export interface ClientSideServerDiscoveryCandidate {
|
|
|
36
40
|
instanceId: string;
|
|
37
41
|
serverName: string;
|
|
38
42
|
identity: ClientSideServerPublicIdentity;
|
|
39
|
-
authorityRecord?:
|
|
43
|
+
authorityRecord?: ClientSideServerAnyAuthorityRecord;
|
|
40
44
|
mqttChallengeVerified: boolean;
|
|
41
45
|
workerInfo: ClientSideServerWorkerInfo;
|
|
42
46
|
instanceInfo?: ClientSideServerInstanceInfo;
|
|
@@ -52,7 +56,7 @@ export interface ClientSideServerWorkerState {
|
|
|
52
56
|
instanceId: string;
|
|
53
57
|
session: ClientSideServerPeerSession;
|
|
54
58
|
identity: ClientSideServerPublicIdentity;
|
|
55
|
-
authorityRecord?:
|
|
59
|
+
authorityRecord?: ClientSideServerAnyAuthorityRecord;
|
|
56
60
|
status: 'connecting' | 'verifying' | 'active' | 'standby' | 'draining' | 'failed' | 'closed';
|
|
57
61
|
weight: number;
|
|
58
62
|
serverAdvertisedWeight: number;
|
|
@@ -76,6 +80,24 @@ export interface ClientSideServerMQTTWebRTCOptions {
|
|
|
76
80
|
identity?: ClientSideServerIdentityOptions;
|
|
77
81
|
workerPool?: ClientSideServerWorkerPoolOptions;
|
|
78
82
|
requirePrivateChallenge?: boolean;
|
|
83
|
+
secureSignaling?: boolean;
|
|
84
|
+
anonymousRouting?: boolean;
|
|
85
|
+
sealedTopic?: string;
|
|
86
|
+
maxSealedMessageBytes?: number;
|
|
87
|
+
replayWindowMs?: number;
|
|
88
|
+
clockSkewToleranceMs?: number;
|
|
89
|
+
serverEncryptionKeyPair?: ClientSideServerEncryptionKeyPair;
|
|
90
|
+
signalingAuth?: {
|
|
91
|
+
required?: boolean;
|
|
92
|
+
verify?: (credentials: {
|
|
93
|
+
username: string;
|
|
94
|
+
password: string;
|
|
95
|
+
}, context: {
|
|
96
|
+
serverName: string;
|
|
97
|
+
connectionId: string;
|
|
98
|
+
senderId: string;
|
|
99
|
+
}) => Promise<boolean> | boolean;
|
|
100
|
+
};
|
|
79
101
|
}
|
|
80
102
|
export interface ClientSideServerMQTTWebRTCServerOptions extends ClientSideServerMQTTWebRTCOptions {
|
|
81
103
|
serverName: string;
|
|
@@ -92,7 +114,7 @@ export interface ClientSideServerIdentityOptions {
|
|
|
92
114
|
keyPair?: ClientSideServerExportedKeyPair;
|
|
93
115
|
storage?: ClientSideServerStorageLike;
|
|
94
116
|
keyPairStorageKey?: string;
|
|
95
|
-
knownHosts?: Record<string,
|
|
117
|
+
knownHosts?: Record<string, ClientSideServerAnyTrustedServerRecord>;
|
|
96
118
|
knownHostsStorage?: ClientSideServerStorageLike;
|
|
97
119
|
knownHostsStorageKey?: string;
|
|
98
120
|
trustOnFirstUse?: boolean;
|
|
@@ -101,8 +123,8 @@ export interface ClientSideServerIdentityOptions {
|
|
|
101
123
|
authorityName?: string;
|
|
102
124
|
};
|
|
103
125
|
authorityServers?: ClientSideServerAuthorityServer[];
|
|
104
|
-
authorityResolver?: (serverName: string) => Promise<
|
|
105
|
-
authorityRecord?:
|
|
126
|
+
authorityResolver?: (serverName: string) => Promise<ClientSideServerAnyTrustedServerRecord | null>;
|
|
127
|
+
authorityRecord?: ClientSideServerAnyAuthorityRecord;
|
|
106
128
|
}
|
|
107
129
|
export interface ClientSideServerPeerSession extends ClientSideServerChannel {
|
|
108
130
|
readonly address: ClientSideServerAddress;
|
|
@@ -130,8 +152,11 @@ export declare class ClientSideServerMQTTWebRTCServer {
|
|
|
130
152
|
private announceTimer?;
|
|
131
153
|
private identityKeyPair?;
|
|
132
154
|
private publicIdentity?;
|
|
155
|
+
private encryptionKeyPair?;
|
|
156
|
+
private encryptionPublicIdentity?;
|
|
133
157
|
private clientCount;
|
|
134
158
|
private resolvedInstanceInfo?;
|
|
159
|
+
private readonly seenSealedNonces;
|
|
135
160
|
constructor(options: ClientSideServerMQTTWebRTCServerOptions);
|
|
136
161
|
get connectionUrl(): string;
|
|
137
162
|
start(): Promise<void>;
|
|
@@ -144,7 +169,14 @@ export declare class ClientSideServerMQTTWebRTCServer {
|
|
|
144
169
|
private handleControlMessage;
|
|
145
170
|
drain(): Promise<void>;
|
|
146
171
|
private acceptOffer;
|
|
172
|
+
private acceptSealedOffer;
|
|
147
173
|
private ensureIdentity;
|
|
174
|
+
private ensureEncryptionIdentity;
|
|
175
|
+
private isSealedReplay;
|
|
176
|
+
private rememberSealedNonce;
|
|
177
|
+
private pruneSeenSealedNonces;
|
|
178
|
+
private publishSealedResponse;
|
|
179
|
+
private authorizeSealedOffer;
|
|
148
180
|
}
|
|
149
181
|
export declare function createClientSideServerMQTTWebRTCTransportPlugin(options?: ClientSideServerMQTTWebRTCOptions): OpenAPIClientTransportPlugin;
|
|
150
182
|
export declare function createClientSideServerMQTTWebRTCPeerPool(options?: ClientSideServerMQTTWebRTCOptions): ClientSideServerPeerPool;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mqtt-webrtc.d.ts","sourceRoot":"","sources":["../../src/client-side-server/mqtt-webrtc.ts"],"names":[],"mappings":"AAAA,OAAa,EAAE,KAAK,cAAc,EAAmB,MAAM,MAAM,CAAA;AAEjE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAA;AAC9E,OAAO,EAA+B,KAAK,uBAAuB,EAAE,MAAM,WAAW,CAAA;AACrF,OAAO,EAGL,KAAK,+BAA+B,EACpC,KAAK,+BAA+B,EACpC,KAAK,8BAA8B,
|
|
1
|
+
{"version":3,"file":"mqtt-webrtc.d.ts","sourceRoot":"","sources":["../../src/client-side-server/mqtt-webrtc.ts"],"names":[],"mappings":"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"}
|