@moqtap/codec 0.1.1 → 0.2.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/README.md +99 -95
- package/dist/chunk-4RIXXEII.js +1275 -0
- package/dist/chunk-4XYGE53S.cjs +698 -0
- package/dist/chunk-4YJANAXU.cjs +1109 -0
- package/dist/chunk-6AEHWULA.cjs +641 -0
- package/dist/chunk-7DUBLRXC.js +680 -0
- package/dist/{chunk-YBZD3DU5.cjs → chunk-7IVGHMKJ.cjs} +44 -42
- package/dist/chunk-BISI45MN.cjs +680 -0
- package/dist/{chunk-NLYTRGXA.cjs → chunk-BPNL5YFQ.cjs} +5 -5
- package/dist/chunk-CXDHOMHG.js +1097 -0
- package/dist/chunk-DUBCL3WF.cjs +749 -0
- package/dist/chunk-DWK5ZQZ4.js +642 -0
- package/dist/chunk-E6E3NQYU.js +680 -0
- package/dist/chunk-EFM5T7OM.js +698 -0
- package/dist/chunk-ENURAVHI.cjs +680 -0
- package/dist/{chunk-Z66WDWHI.js → chunk-FXZ2MYKJ.js} +127 -1
- package/dist/chunk-G26SJ6XS.cjs +1341 -0
- package/dist/chunk-G7GI7LJA.js +737 -0
- package/dist/chunk-GXEW4COZ.cjs +737 -0
- package/dist/chunk-HSVYF6XX.cjs +1361 -0
- package/dist/chunk-IBVM4DMJ.cjs +1097 -0
- package/dist/chunk-IV2H5CFI.cjs +1275 -0
- package/dist/chunk-IV2HRJVT.js +1198 -0
- package/dist/chunk-JSQM2MG3.js +680 -0
- package/dist/chunk-K4OLITS2.cjs +1055 -0
- package/dist/{chunk-UOBWHJA5.js → chunk-KFTCU2P6.js} +2 -3
- package/dist/chunk-LH4NTURO.js +1361 -0
- package/dist/{chunk-YTXLWKOR.js → chunk-MFAP7R6L.js} +1 -1
- package/dist/chunk-NGVE2RZT.js +1097 -0
- package/dist/chunk-NUX5BHWO.js +1341 -0
- package/dist/chunk-PJRA2TQ5.js +1055 -0
- package/dist/chunk-RVJAGE4S.cjs +1198 -0
- package/dist/{chunk-QYG6KGOV.cjs → chunk-RWQ43Z4F.cjs} +2 -3
- package/dist/chunk-RZHAPEXO.js +749 -0
- package/dist/chunk-ST24APEO.js +1109 -0
- package/dist/chunk-SYHW3FLI.cjs +642 -0
- package/dist/chunk-TLYNOOQP.cjs +432 -0
- package/dist/{chunk-IXHOBNXA.js → chunk-TMNGRIPL.js} +43 -41
- package/dist/chunk-UNS34PTA.cjs +680 -0
- package/dist/chunk-UR6JKS56.js +432 -0
- package/dist/{chunk-NPWHHWXT.cjs → chunk-UYXTY6ZQ.cjs} +127 -1
- package/dist/chunk-XUUCOLWU.cjs +1097 -0
- package/dist/chunk-YG5KJESI.js +641 -0
- package/dist/chunk-ZBKE2QRQ.js +1401 -0
- package/dist/chunk-ZSPO2GF2.cjs +1401 -0
- package/dist/codec-95k8CAu5.d.cts +35 -0
- package/dist/codec-AFuOxfsO.d.ts +60 -0
- package/dist/codec-B-UJ5Iow.d.cts +75 -0
- package/dist/codec-BC5jfvMb.d.ts +35 -0
- package/dist/codec-BECYPfY8.d.ts +35 -0
- package/dist/codec-BsPU1vNC.d.ts +39 -0
- package/dist/codec-BvpuF-6u.d.cts +39 -0
- package/dist/codec-C8jZI5Cx.d.cts +39 -0
- package/dist/codec-CAevkgf5.d.cts +33 -0
- package/dist/codec-CSUqCrRs.d.ts +39 -0
- package/dist/codec-C_HMXNK_.d.ts +33 -0
- package/dist/{codec-Bvr7rFtj.d.cts → codec-CpuvYTSV.d.cts} +1 -1
- package/dist/codec-D0x8-SCw.d.cts +35 -0
- package/dist/codec-D7ARhpG1.d.ts +75 -0
- package/dist/codec-DNAUGshO.d.cts +60 -0
- package/dist/codec-DPx_QNn0.d.ts +31 -0
- package/dist/{codec-B2mc2g3i.d.ts → codec-DRhCx_hw.d.ts} +1 -1
- package/dist/codec-Db7YPe3l.d.ts +31 -0
- package/dist/codec-axkJpb7D.d.cts +31 -0
- package/dist/codec-ujAbFaep.d.cts +31 -0
- package/dist/draft10-session.cjs +6 -0
- package/dist/draft10-session.d.cts +8 -0
- package/dist/draft10-session.d.ts +8 -0
- package/dist/draft10-session.js +6 -0
- package/dist/draft10.cjs +115 -0
- package/dist/draft10.d.cts +95 -0
- package/dist/draft10.d.ts +95 -0
- package/dist/draft10.js +115 -0
- package/dist/draft11-session.cjs +6 -0
- package/dist/draft11-session.d.cts +8 -0
- package/dist/draft11-session.d.ts +8 -0
- package/dist/draft11-session.js +6 -0
- package/dist/draft11.cjs +109 -0
- package/dist/draft11.d.cts +99 -0
- package/dist/draft11.d.ts +99 -0
- package/dist/draft11.js +109 -0
- package/dist/draft12-session.cjs +6 -0
- package/dist/draft12-session.d.cts +8 -0
- package/dist/draft12-session.d.ts +8 -0
- package/dist/draft12-session.js +6 -0
- package/dist/draft12.cjs +117 -0
- package/dist/draft12.d.cts +106 -0
- package/dist/draft12.d.ts +106 -0
- package/dist/draft12.js +117 -0
- package/dist/draft13-session.cjs +6 -0
- package/dist/draft13-session.d.cts +8 -0
- package/dist/draft13-session.d.ts +8 -0
- package/dist/draft13-session.js +6 -0
- package/dist/draft13.cjs +119 -0
- package/dist/draft13.d.cts +108 -0
- package/dist/draft13.d.ts +108 -0
- package/dist/draft13.js +119 -0
- package/dist/draft14-session.cjs +2 -2
- package/dist/draft14-session.d.cts +3 -3
- package/dist/draft14-session.d.ts +3 -3
- package/dist/draft14-session.js +1 -1
- package/dist/draft14.cjs +3 -3
- package/dist/draft14.d.cts +16 -4
- package/dist/draft14.d.ts +16 -4
- package/dist/draft14.js +2 -2
- package/dist/draft15-session.cjs +6 -0
- package/dist/draft15-session.d.cts +8 -0
- package/dist/draft15-session.d.ts +8 -0
- package/dist/draft15-session.js +6 -0
- package/dist/draft15.cjs +111 -0
- package/dist/draft15.d.cts +93 -0
- package/dist/draft15.d.ts +93 -0
- package/dist/draft15.js +111 -0
- package/dist/draft16-session.cjs +6 -0
- package/dist/draft16-session.d.cts +8 -0
- package/dist/draft16-session.d.ts +8 -0
- package/dist/draft16-session.js +6 -0
- package/dist/draft16.cjs +113 -0
- package/dist/draft16.d.cts +94 -0
- package/dist/draft16.d.ts +94 -0
- package/dist/draft16.js +113 -0
- package/dist/draft17-session.cjs +8 -0
- package/dist/draft17-session.d.cts +51 -0
- package/dist/draft17-session.d.ts +51 -0
- package/dist/draft17-session.js +8 -0
- package/dist/draft17.cjs +99 -0
- package/dist/draft17.d.cts +40 -0
- package/dist/draft17.d.ts +40 -0
- package/dist/draft17.js +99 -0
- package/dist/draft7-session.cjs +3 -3
- package/dist/draft7-session.d.cts +3 -3
- package/dist/draft7-session.d.ts +3 -3
- package/dist/draft7-session.js +2 -2
- package/dist/draft7.cjs +4 -4
- package/dist/draft7.d.cts +2 -2
- package/dist/draft7.d.ts +2 -2
- package/dist/draft7.js +2 -2
- package/dist/draft8-session.cjs +6 -0
- package/dist/draft8-session.d.cts +8 -0
- package/dist/draft8-session.d.ts +8 -0
- package/dist/draft8-session.js +6 -0
- package/dist/draft8.cjs +115 -0
- package/dist/draft8.d.cts +95 -0
- package/dist/draft8.d.ts +95 -0
- package/dist/draft8.js +115 -0
- package/dist/draft9-session.cjs +6 -0
- package/dist/draft9-session.d.cts +8 -0
- package/dist/draft9-session.d.ts +8 -0
- package/dist/draft9-session.js +6 -0
- package/dist/draft9.cjs +115 -0
- package/dist/draft9.d.cts +95 -0
- package/dist/draft9.d.ts +95 -0
- package/dist/draft9.js +115 -0
- package/dist/index.cjs +76 -4
- package/dist/index.d.cts +68 -5
- package/dist/index.d.ts +68 -5
- package/dist/index.js +76 -4
- package/dist/{session-types-DFjMk4HH.d.ts → session-types-CJIFbTPd.d.ts} +1 -1
- package/dist/{session-types-DW1RSZX_.d.cts → session-types-Cbq8IGCP.d.cts} +1 -1
- package/dist/session.cjs +5 -5
- package/dist/session.d.cts +3 -3
- package/dist/session.d.ts +3 -3
- package/dist/session.js +5 -5
- package/dist/types-4VxSL2Ho.d.cts +261 -0
- package/dist/types-4VxSL2Ho.d.ts +261 -0
- package/dist/types-B2afJZM-.d.cts +236 -0
- package/dist/types-B2afJZM-.d.ts +236 -0
- package/dist/types-Bg6QYNVt.d.cts +290 -0
- package/dist/types-Bg6QYNVt.d.ts +290 -0
- package/dist/types-C_1HrqBl.d.cts +306 -0
- package/dist/types-C_1HrqBl.d.ts +306 -0
- package/dist/types-Cw4WE9dh.d.cts +261 -0
- package/dist/types-Cw4WE9dh.d.ts +261 -0
- package/dist/types-D5gNQiDj.d.cts +261 -0
- package/dist/types-D5gNQiDj.d.ts +261 -0
- package/dist/types-DqCDFqgB.d.cts +230 -0
- package/dist/types-DqCDFqgB.d.ts +230 -0
- package/dist/types-ERexTpT8.d.cts +217 -0
- package/dist/types-ERexTpT8.d.ts +217 -0
- package/dist/{types-DPYE49t0.d.cts → types-QNXoxC9Y.d.cts} +2 -7
- package/dist/{types-DPYE49t0.d.ts → types-QNXoxC9Y.d.ts} +2 -7
- package/dist/types-r-CasCf1.d.cts +262 -0
- package/dist/types-r-CasCf1.d.ts +262 -0
- package/package.json +110 -2
- package/src/core/types.ts +24 -7
- package/src/drafts/draft07/codec.ts +49 -41
- package/src/drafts/draft07/rules.ts +1 -3
- package/src/drafts/draft08/codec.ts +1254 -0
- package/src/drafts/draft08/index.ts +125 -0
- package/src/drafts/draft08/messages.ts +72 -0
- package/src/drafts/draft08/rules.ts +91 -0
- package/src/drafts/draft08/session-fsm.ts +718 -0
- package/src/drafts/draft08/session.ts +26 -0
- package/src/drafts/draft08/types.ts +377 -0
- package/src/drafts/draft09/codec.ts +1235 -0
- package/src/drafts/draft09/index.ts +125 -0
- package/src/drafts/draft09/messages.ts +72 -0
- package/src/drafts/draft09/rules.ts +91 -0
- package/src/drafts/draft09/session-fsm.ts +718 -0
- package/src/drafts/draft09/session.ts +26 -0
- package/src/drafts/draft09/types.ts +376 -0
- package/src/drafts/draft10/codec.ts +1235 -0
- package/src/drafts/draft10/index.ts +125 -0
- package/src/drafts/draft10/messages.ts +72 -0
- package/src/drafts/draft10/rules.ts +91 -0
- package/src/drafts/draft10/session-fsm.ts +718 -0
- package/src/drafts/draft10/session.ts +26 -0
- package/src/drafts/draft10/types.ts +376 -0
- package/src/drafts/draft11/codec.ts +1198 -0
- package/src/drafts/draft11/index.ts +123 -0
- package/src/drafts/draft11/messages.ts +71 -0
- package/src/drafts/draft11/rules.ts +100 -0
- package/src/drafts/draft11/session-fsm.ts +758 -0
- package/src/drafts/draft11/session.ts +26 -0
- package/src/drafts/draft11/types.ts +375 -0
- package/src/drafts/draft12/codec.ts +1354 -0
- package/src/drafts/draft12/index.ts +130 -0
- package/src/drafts/draft12/messages.ts +84 -0
- package/src/drafts/draft12/rules.ts +106 -0
- package/src/drafts/draft12/session-fsm.ts +805 -0
- package/src/drafts/draft12/session.ts +26 -0
- package/src/drafts/draft12/types.ts +414 -0
- package/src/drafts/draft13/codec.ts +1438 -0
- package/src/drafts/draft13/index.ts +132 -0
- package/src/drafts/draft13/messages.ts +86 -0
- package/src/drafts/draft13/rules.ts +108 -0
- package/src/drafts/draft13/session-fsm.ts +819 -0
- package/src/drafts/draft13/session.ts +26 -0
- package/src/drafts/draft13/types.ts +433 -0
- package/src/drafts/draft14/session-fsm.ts +182 -1
- package/src/drafts/draft15/codec.ts +1661 -0
- package/src/drafts/draft15/index.ts +121 -0
- package/src/drafts/draft15/messages.ts +64 -0
- package/src/drafts/draft15/rules.ts +95 -0
- package/src/drafts/draft15/session-fsm.ts +687 -0
- package/src/drafts/draft15/session.ts +26 -0
- package/src/drafts/draft15/types.ts +336 -0
- package/src/drafts/draft16/codec.ts +1623 -0
- package/src/drafts/draft16/index.ts +123 -0
- package/src/drafts/draft16/messages.ts +67 -0
- package/src/drafts/draft16/rules.ts +96 -0
- package/src/drafts/draft16/session-fsm.ts +682 -0
- package/src/drafts/draft16/session.ts +26 -0
- package/src/drafts/draft16/types.ts +354 -0
- package/src/drafts/draft17/codec.ts +1621 -0
- package/src/drafts/draft17/index.ts +105 -0
- package/src/drafts/draft17/messages.ts +53 -0
- package/src/drafts/draft17/rules.ts +85 -0
- package/src/drafts/draft17/session-fsm.ts +437 -0
- package/src/drafts/draft17/session.ts +15 -0
- package/src/drafts/draft17/types.ts +310 -0
- package/src/index.ts +217 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
@@ -259,50 +259,44 @@ function encodeFetchError(msg, writer) {
|
|
|
259
259
|
function encodeFetchCancel(msg, writer) {
|
|
260
260
|
writer.writeVarInt(msg.subscribeId);
|
|
261
261
|
}
|
|
262
|
+
function encodeObjectPayload(msg, writer) {
|
|
263
|
+
if (msg.payload.byteLength === 0) {
|
|
264
|
+
writer.writeVarInt(0);
|
|
265
|
+
writer.writeVarInt(_nullishCoalesce(msg.objectStatus, () => ( 0)));
|
|
266
|
+
} else {
|
|
267
|
+
writer.writeVarInt(msg.payload.byteLength);
|
|
268
|
+
writer.writeBytes(msg.payload);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
262
271
|
function encodeObjectStream(msg, writer) {
|
|
263
272
|
writer.writeVarInt(MESSAGE_TYPE_IDS.object_stream);
|
|
264
|
-
writer.writeVarInt(msg.subscribeId);
|
|
265
273
|
writer.writeVarInt(msg.trackAlias);
|
|
266
274
|
writer.writeVarInt(msg.groupId);
|
|
267
275
|
writer.writeVarInt(msg.objectId);
|
|
268
276
|
writer.writeUint8(msg.publisherPriority);
|
|
269
|
-
|
|
270
|
-
writer.writeVarInt(msg.objectStatus);
|
|
271
|
-
} else {
|
|
272
|
-
writer.writeVarInt(0);
|
|
273
|
-
}
|
|
274
|
-
writer.writeBytes(msg.payload);
|
|
277
|
+
encodeObjectPayload(msg, writer);
|
|
275
278
|
}
|
|
276
279
|
function encodeObjectDatagram(msg, writer) {
|
|
277
280
|
writer.writeVarInt(MESSAGE_TYPE_IDS.object_datagram);
|
|
278
|
-
writer.writeVarInt(msg.subscribeId);
|
|
279
281
|
writer.writeVarInt(msg.trackAlias);
|
|
280
282
|
writer.writeVarInt(msg.groupId);
|
|
281
283
|
writer.writeVarInt(msg.objectId);
|
|
282
284
|
writer.writeUint8(msg.publisherPriority);
|
|
283
|
-
|
|
284
|
-
writer.writeVarInt(msg.objectStatus);
|
|
285
|
-
} else {
|
|
286
|
-
writer.writeVarInt(0);
|
|
287
|
-
}
|
|
288
|
-
writer.writeBytes(msg.payload);
|
|
285
|
+
encodeObjectPayload(msg, writer);
|
|
289
286
|
}
|
|
290
287
|
function encodeStreamHeaderTrack(msg, writer) {
|
|
291
288
|
writer.writeVarInt(MESSAGE_TYPE_IDS.stream_header_track);
|
|
292
|
-
writer.writeVarInt(msg.subscribeId);
|
|
293
289
|
writer.writeVarInt(msg.trackAlias);
|
|
294
290
|
writer.writeUint8(msg.publisherPriority);
|
|
295
291
|
}
|
|
296
292
|
function encodeStreamHeaderGroup(msg, writer) {
|
|
297
293
|
writer.writeVarInt(MESSAGE_TYPE_IDS.stream_header_group);
|
|
298
|
-
writer.writeVarInt(msg.subscribeId);
|
|
299
294
|
writer.writeVarInt(msg.trackAlias);
|
|
300
295
|
writer.writeVarInt(msg.groupId);
|
|
301
296
|
writer.writeUint8(msg.publisherPriority);
|
|
302
297
|
}
|
|
303
298
|
function encodeStreamHeaderSubgroup(msg, writer) {
|
|
304
299
|
writer.writeVarInt(MESSAGE_TYPE_IDS.stream_header_subgroup);
|
|
305
|
-
writer.writeVarInt(msg.subscribeId);
|
|
306
300
|
writer.writeVarInt(msg.trackAlias);
|
|
307
301
|
writer.writeVarInt(msg.groupId);
|
|
308
302
|
writer.writeVarInt(msg.subgroupId);
|
|
@@ -608,71 +602,79 @@ function decodeFetchCancel(reader) {
|
|
|
608
602
|
return { type: "fetch_cancel", subscribeId };
|
|
609
603
|
}
|
|
610
604
|
function decodeObjectStream(reader) {
|
|
611
|
-
const subscribeId = reader.readVarInt();
|
|
612
605
|
const trackAlias = reader.readVarInt();
|
|
613
606
|
const groupId = reader.readVarInt();
|
|
614
607
|
const objectId = reader.readVarInt();
|
|
615
608
|
const publisherPriority = reader.readUint8();
|
|
616
|
-
const
|
|
617
|
-
|
|
618
|
-
|
|
609
|
+
const payloadLength = Number(reader.readVarInt());
|
|
610
|
+
if (payloadLength === 0) {
|
|
611
|
+
const objectStatus = reader.remaining > 0 ? Number(reader.readVarInt()) : 0;
|
|
612
|
+
return {
|
|
613
|
+
type: "object_stream",
|
|
614
|
+
trackAlias,
|
|
615
|
+
groupId,
|
|
616
|
+
objectId,
|
|
617
|
+
publisherPriority,
|
|
618
|
+
objectStatus,
|
|
619
|
+
payload: new Uint8Array(0)
|
|
620
|
+
};
|
|
621
|
+
}
|
|
622
|
+
const payload = reader.readBytes(payloadLength);
|
|
623
|
+
return {
|
|
619
624
|
type: "object_stream",
|
|
620
|
-
subscribeId,
|
|
621
625
|
trackAlias,
|
|
622
626
|
groupId,
|
|
623
627
|
objectId,
|
|
624
628
|
publisherPriority,
|
|
625
629
|
payload
|
|
626
630
|
};
|
|
627
|
-
if (objectStatusRaw !== 0) {
|
|
628
|
-
return { ...base, objectStatus: objectStatusRaw };
|
|
629
|
-
}
|
|
630
|
-
return base;
|
|
631
631
|
}
|
|
632
632
|
function decodeObjectDatagram(reader) {
|
|
633
|
-
const subscribeId = reader.readVarInt();
|
|
634
633
|
const trackAlias = reader.readVarInt();
|
|
635
634
|
const groupId = reader.readVarInt();
|
|
636
635
|
const objectId = reader.readVarInt();
|
|
637
636
|
const publisherPriority = reader.readUint8();
|
|
638
|
-
const
|
|
639
|
-
|
|
640
|
-
|
|
637
|
+
const payloadLength = Number(reader.readVarInt());
|
|
638
|
+
if (payloadLength === 0) {
|
|
639
|
+
const objectStatus = reader.remaining > 0 ? Number(reader.readVarInt()) : 0;
|
|
640
|
+
return {
|
|
641
|
+
type: "object_datagram",
|
|
642
|
+
trackAlias,
|
|
643
|
+
groupId,
|
|
644
|
+
objectId,
|
|
645
|
+
publisherPriority,
|
|
646
|
+
objectStatus,
|
|
647
|
+
payload: new Uint8Array(0)
|
|
648
|
+
};
|
|
649
|
+
}
|
|
650
|
+
const payload = reader.readBytes(payloadLength);
|
|
651
|
+
return {
|
|
641
652
|
type: "object_datagram",
|
|
642
|
-
subscribeId,
|
|
643
653
|
trackAlias,
|
|
644
654
|
groupId,
|
|
645
655
|
objectId,
|
|
646
656
|
publisherPriority,
|
|
647
657
|
payload
|
|
648
658
|
};
|
|
649
|
-
if (objectStatusRaw !== 0) {
|
|
650
|
-
return { ...base, objectStatus: objectStatusRaw };
|
|
651
|
-
}
|
|
652
|
-
return base;
|
|
653
659
|
}
|
|
654
660
|
function decodeStreamHeaderTrack(reader) {
|
|
655
|
-
const subscribeId = reader.readVarInt();
|
|
656
661
|
const trackAlias = reader.readVarInt();
|
|
657
662
|
const publisherPriority = reader.readUint8();
|
|
658
|
-
return { type: "stream_header_track",
|
|
663
|
+
return { type: "stream_header_track", trackAlias, publisherPriority };
|
|
659
664
|
}
|
|
660
665
|
function decodeStreamHeaderGroup(reader) {
|
|
661
|
-
const subscribeId = reader.readVarInt();
|
|
662
666
|
const trackAlias = reader.readVarInt();
|
|
663
667
|
const groupId = reader.readVarInt();
|
|
664
668
|
const publisherPriority = reader.readUint8();
|
|
665
|
-
return { type: "stream_header_group",
|
|
669
|
+
return { type: "stream_header_group", trackAlias, groupId, publisherPriority };
|
|
666
670
|
}
|
|
667
671
|
function decodeStreamHeaderSubgroup(reader) {
|
|
668
|
-
const subscribeId = reader.readVarInt();
|
|
669
672
|
const trackAlias = reader.readVarInt();
|
|
670
673
|
const groupId = reader.readVarInt();
|
|
671
674
|
const subgroupId = reader.readVarInt();
|
|
672
675
|
const publisherPriority = reader.readUint8();
|
|
673
676
|
return {
|
|
674
677
|
type: "stream_header_subgroup",
|
|
675
|
-
subscribeId,
|
|
676
678
|
trackAlias,
|
|
677
679
|
groupId,
|
|
678
680
|
subgroupId,
|