1[
2  {
3    "packet": "Packet_Scalar_Field",
4    "tests": [
5      {
6        "packed": "0000000000000000",
7        "unpacked": {
8          "a": 0,
9          "c": 0
10        }
11      },
12      {
13        "packed": "ffffffffffffff80",
14        "unpacked": {
15          "a": 0,
16          "c": 144115188075855871
17        }
18      },
19      {
20        "packed": "0081018202830380",
21        "unpacked": {
22          "a": 0,
23          "c": 283686952306183
24        }
25      },
26      {
27        "packed": "000000000000007f",
28        "unpacked": {
29          "a": 127,
30          "c": 0
31        }
32      },
33      {
34        "packed": "ffffffffffffffff",
35        "unpacked": {
36          "a": 127,
37          "c": 144115188075855871
38        }
39      },
40      {
41        "packed": "00810182028303ff",
42        "unpacked": {
43          "a": 127,
44          "c": 283686952306183
45        }
46      },
47      {
48        "packed": "0000000000000000",
49        "unpacked": {
50          "a": 0,
51          "c": 0
52        }
53      },
54      {
55        "packed": "ffffffffffffff80",
56        "unpacked": {
57          "a": 0,
58          "c": 144115188075855871
59        }
60      },
61      {
62        "packed": "0081018202830380",
63        "unpacked": {
64          "a": 0,
65          "c": 283686952306183
66        }
67      }
68    ]
69  },
70  {
71    "packet": "Packet_Enum_Field",
72    "tests": [
73      {
74        "packed": "0000000000000001",
75        "unpacked": {
76          "a": 1,
77          "c": 0
78        }
79      },
80      {
81        "packed": "ffffffffffffff81",
82        "unpacked": {
83          "a": 1,
84          "c": 144115188075855871
85        }
86      },
87      {
88        "packed": "08090a0b0c0d0e81",
89        "unpacked": {
90          "a": 1,
91          "c": 4523477106694685
92        }
93      },
94      {
95        "packed": "0000000000000002",
96        "unpacked": {
97          "a": 2,
98          "c": 0
99        }
100      },
101      {
102        "packed": "ffffffffffffff82",
103        "unpacked": {
104          "a": 2,
105          "c": 144115188075855871
106        }
107      },
108      {
109        "packed": "08090a0b0c0d0e82",
110        "unpacked": {
111          "a": 2,
112          "c": 4523477106694685
113        }
114      }
115    ]
116  },
117  {
118    "packet": "Packet_Reserved_Field",
119    "tests": [
120      {
121        "packed": "0000000000000000",
122        "unpacked": {
123          "a": 0,
124          "c": 0
125        }
126      },
127      {
128        "packed": "fffffffffffffe00",
129        "unpacked": {
130          "a": 0,
131          "c": 36028797018963967
132        }
133      },
134      {
135        "packed": "1011121314152c00",
136        "unpacked": {
137          "a": 0,
138          "c": 2261184477268630
139        }
140      },
141      {
142        "packed": "000000000000007f",
143        "unpacked": {
144          "a": 127,
145          "c": 0
146        }
147      },
148      {
149        "packed": "fffffffffffffe7f",
150        "unpacked": {
151          "a": 127,
152          "c": 36028797018963967
153        }
154      },
155      {
156        "packed": "1011121314152c7f",
157        "unpacked": {
158          "a": 127,
159          "c": 2261184477268630
160        }
161      },
162      {
163        "packed": "0000000000000007",
164        "unpacked": {
165          "a": 7,
166          "c": 0
167        }
168      },
169      {
170        "packed": "fffffffffffffe07",
171        "unpacked": {
172          "a": 7,
173          "c": 36028797018963967
174        }
175      },
176      {
177        "packed": "1011121314152c07",
178        "unpacked": {
179          "a": 7,
180          "c": 2261184477268630
181        }
182      }
183    ]
184  },
185  {
186    "packet": "Packet_Size_Field",
187    "tests": [
188      {
189        "packed": "0000000000000000",
190        "unpacked": {
191          "a": 0,
192          "b": []
193        }
194      },
195      {
196        "packed": "00000000000000071f102122232425",
197        "unpacked": {
198          "a": 0,
199          "b": [
200            31,
201            16,
202            33,
203            34,
204            35,
205            36,
206            37
207          ]
208        }
209      },
210      {
211        "packed": "fffffffffffffff8",
212        "unpacked": {
213          "a": 2305843009213693951,
214          "b": []
215        }
216      },
217      {
218        "packed": "ffffffffffffffff1f102122232425",
219        "unpacked": {
220          "a": 2305843009213693951,
221          "b": [
222            31,
223            16,
224            33,
225            34,
226            35,
227            36,
228            37
229          ]
230        }
231      },
232      {
233        "packed": "0b8c0c8d0d8e0ef0",
234        "unpacked": {
235          "a": 104006728889254366,
236          "b": []
237        }
238      },
239      {
240        "packed": "0b8c0c8d0d8e0ef71f102122232425",
241        "unpacked": {
242          "a": 104006728889254366,
243          "b": [
244            31,
245            16,
246            33,
247            34,
248            35,
249            36,
250            37
251          ]
252        }
253      }
254    ]
255  },
256  {
257    "packet": "Packet_Count_Field",
258    "tests": [
259      {
260        "packed": "0000000000000000",
261        "unpacked": {
262          "a": 0,
263          "b": []
264        }
265      },
266      {
267        "packed": "00000000000000072c2f2e31303332",
268        "unpacked": {
269          "a": 0,
270          "b": [
271            44,
272            47,
273            46,
274            49,
275            48,
276            51,
277            50
278          ]
279        }
280      },
281      {
282        "packed": "fffffffffffffff8",
283        "unpacked": {
284          "a": 2305843009213693951,
285          "b": []
286        }
287      },
288      {
289        "packed": "ffffffffffffffff2c2f2e31303332",
290        "unpacked": {
291          "a": 2305843009213693951,
292          "b": [
293            44,
294            47,
295            46,
296            49,
297            48,
298            51,
299            50
300          ]
301        }
302      },
303      {
304        "packed": "2262728292a2b2c8",
305        "unpacked": {
306          "a": 309708581267330649,
307          "b": []
308        }
309      },
310      {
311        "packed": "2262728292a2b2cf2c2f2e31303332",
312        "unpacked": {
313          "a": 309708581267330649,
314          "b": [
315            44,
316            47,
317            46,
318            49,
319            48,
320            51,
321            50
322          ]
323        }
324      }
325    ]
326  },
327  {
328    "packet": "Packet_FixedScalar_Field",
329    "tests": [
330      {
331        "packed": "0000000000000007",
332        "unpacked": {
333          "b": 0
334        }
335      },
336      {
337        "packed": "ffffffffffffff87",
338        "unpacked": {
339          "b": 144115188075855871
340        }
341      },
342      {
343        "packed": "346a6c6e70727587",
344        "unpacked": {
345          "b": 29507425461658859
346        }
347      }
348    ]
349  },
350  {
351    "packet": "Packet_FixedEnum_Field",
352    "tests": [
353      {
354        "packed": "0000000000000001",
355        "unpacked": {
356          "b": 0
357        }
358      },
359      {
360        "packed": "ffffffffffffff81",
361        "unpacked": {
362          "b": 144115188075855871
363        }
364      },
365      {
366        "packed": "38f0f4f8fd010501",
367        "unpacked": {
368          "b": 32055067271627274
369        }
370      }
371    ]
372  },
373  {
374    "packet": "Packet_Payload_Field_VariableSize",
375    "tests": [
376      {
377        "packed": "00",
378        "unpacked": {
379          "payload": []
380        }
381      },
382      {
383        "packed": "0743444546474049",
384        "unpacked": {
385          "payload": [
386            67,
387            68,
388            69,
389            70,
390            71,
391            64,
392            73
393          ]
394        }
395      }
396    ]
397  },
398  {
399    "packet": "Packet_Payload_Field_SizeModifier",
400    "tests": [
401      {
402        "packed": "02",
403        "unpacked": {
404          "payload": []
405        }
406      },
407      {
408        "packed": "074a4b4c4d4e",
409        "unpacked": {
410          "payload": [
411            74,
412            75,
413            76,
414            77,
415            78
416          ]
417        }
418      }
419    ]
420  },
421  {
422    "packet": "Packet_Payload_Field_UnknownSize",
423    "tests": [
424      {
425        "packed": "0000",
426        "unpacked": {
427          "payload": [],
428          "a": 0
429        }
430      },
431      {
432        "packed": "ffff",
433        "unpacked": {
434          "payload": [],
435          "a": 65535
436        }
437      },
438      {
439        "packed": "52a5",
440        "unpacked": {
441          "payload": [],
442          "a": 21157
443        }
444      },
445      {
446        "packed": "4f485152530000",
447        "unpacked": {
448          "payload": [
449            79,
450            72,
451            81,
452            82,
453            83
454          ],
455          "a": 0
456        }
457      },
458      {
459        "packed": "4f48515253ffff",
460        "unpacked": {
461          "payload": [
462            79,
463            72,
464            81,
465            82,
466            83
467          ],
468          "a": 65535
469        }
470      },
471      {
472        "packed": "4f4851525352a5",
473        "unpacked": {
474          "payload": [
475            79,
476            72,
477            81,
478            82,
479            83
480          ],
481          "a": 21157
482        }
483      }
484    ]
485  },
486  {
487    "packet": "Packet_Payload_Field_UnknownSize_Terminal",
488    "tests": [
489      {
490        "packed": "0000",
491        "unpacked": {
492          "a": 0,
493          "payload": []
494        }
495      },
496      {
497        "packed": "000050595a5b5c",
498        "unpacked": {
499          "a": 0,
500          "payload": [
501            80,
502            89,
503            90,
504            91,
505            92
506          ]
507        }
508      },
509      {
510        "packed": "ffff",
511        "unpacked": {
512          "a": 65535,
513          "payload": []
514        }
515      },
516      {
517        "packed": "ffff50595a5b5c",
518        "unpacked": {
519          "a": 65535,
520          "payload": [
521            80,
522            89,
523            90,
524            91,
525            92
526          ]
527        }
528      },
529      {
530        "packed": "52b7",
531        "unpacked": {
532          "a": 21175,
533          "payload": []
534        }
535      },
536      {
537        "packed": "52b750595a5b5c",
538        "unpacked": {
539          "a": 21175,
540          "payload": [
541            80,
542            89,
543            90,
544            91,
545            92
546          ]
547        }
548      }
549    ]
550  },
551  {
552    "packet": "Packet_Body_Field_VariableSize",
553    "tests": [
554      {
555        "packed": "00",
556        "unpacked": {
557          "payload": []
558        }
559      },
560      {
561        "packed": "075d5e5f58616263",
562        "unpacked": {
563          "payload": [
564            93,
565            94,
566            95,
567            88,
568            97,
569            98,
570            99
571          ]
572        }
573      }
574    ]
575  },
576  {
577    "packet": "Packet_Body_Field_UnknownSize",
578    "tests": [
579      {
580        "packed": "0000",
581        "unpacked": {
582          "payload": [],
583          "a": 0
584        }
585      },
586      {
587        "packed": "ffff",
588        "unpacked": {
589          "payload": [],
590          "a": 65535
591        }
592      },
593      {
594        "packed": "6b4a",
595        "unpacked": {
596          "payload": [],
597          "a": 27466
598        }
599      },
600      {
601        "packed": "64656667600000",
602        "unpacked": {
603          "payload": [
604            100,
605            101,
606            102,
607            103,
608            96
609          ],
610          "a": 0
611        }
612      },
613      {
614        "packed": "6465666760ffff",
615        "unpacked": {
616          "payload": [
617            100,
618            101,
619            102,
620            103,
621            96
622          ],
623          "a": 65535
624        }
625      },
626      {
627        "packed": "64656667606b4a",
628        "unpacked": {
629          "payload": [
630            100,
631            101,
632            102,
633            103,
634            96
635          ],
636          "a": 27466
637        }
638      }
639    ]
640  },
641  {
642    "packet": "Packet_Body_Field_UnknownSize_Terminal",
643    "tests": [
644      {
645        "packed": "0000",
646        "unpacked": {
647          "a": 0,
648          "payload": []
649        }
650      },
651      {
652        "packed": "00006d6e6f6871",
653        "unpacked": {
654          "a": 0,
655          "payload": [
656            109,
657            110,
658            111,
659            104,
660            113
661          ]
662        }
663      },
664      {
665        "packed": "ffff",
666        "unpacked": {
667          "a": 65535,
668          "payload": []
669        }
670      },
671      {
672        "packed": "ffff6d6e6f6871",
673        "unpacked": {
674          "a": 65535,
675          "payload": [
676            109,
677            110,
678            111,
679            104,
680            113
681          ]
682        }
683      },
684      {
685        "packed": "6b5c",
686        "unpacked": {
687          "a": 27484,
688          "payload": []
689        }
690      },
691      {
692        "packed": "6b5c6d6e6f6871",
693        "unpacked": {
694          "a": 27484,
695          "payload": [
696            109,
697            110,
698            111,
699            104,
700            113
701          ]
702        }
703      }
704    ]
705  },
706  {
707    "packet": "Packet_ScalarGroup_Field",
708    "tests": [
709      {
710        "packed": "002a",
711        "unpacked": {}
712      }
713    ]
714  },
715  {
716    "packet": "Packet_EnumGroup_Field",
717    "tests": [
718      {
719        "packed": "aabb",
720        "unpacked": {}
721      }
722    ]
723  },
724  {
725    "packet": "Packet_Checksum_Field_FromStart",
726    "tests": [
727      {
728        "packed": "0000000000",
729        "unpacked": {
730          "a": 0,
731          "b": 0,
732          "crc": 0
733        }
734      },
735      {
736        "packed": "0000fffffe",
737        "unpacked": {
738          "a": 0,
739          "b": 65535,
740          "crc": 254
741        }
742      },
743      {
744        "packed": "000073a518",
745        "unpacked": {
746          "a": 0,
747          "b": 29605,
748          "crc": 24
749        }
750      },
751      {
752        "packed": "ffff0000fe",
753        "unpacked": {
754          "a": 65535,
755          "b": 0,
756          "crc": 254
757        }
758      },
759      {
760        "packed": "fffffffffc",
761        "unpacked": {
762          "a": 65535,
763          "b": 65535,
764          "crc": 252
765        }
766      },
767      {
768        "packed": "ffff73a516",
769        "unpacked": {
770          "a": 65535,
771          "b": 29605,
772          "crc": 22
773        }
774      },
775      {
776        "packed": "7393000006",
777        "unpacked": {
778          "a": 29587,
779          "b": 0,
780          "crc": 6
781        }
782      },
783      {
784        "packed": "7393ffff04",
785        "unpacked": {
786          "a": 29587,
787          "b": 65535,
788          "crc": 4
789        }
790      },
791      {
792        "packed": "739373a51e",
793        "unpacked": {
794          "a": 29587,
795          "b": 29605,
796          "crc": 30
797        }
798      }
799    ]
800  },
801  {
802    "packet": "Packet_Checksum_Field_FromEnd",
803    "tests": [
804      {
805        "packed": "0000000000",
806        "unpacked": {
807          "payload": [],
808          "crc": 0,
809          "a": 0,
810          "b": 0
811        }
812      },
813      {
814        "packed": "000000ffff",
815        "unpacked": {
816          "payload": [],
817          "crc": 0,
818          "a": 0,
819          "b": 65535
820        }
821      },
822      {
823        "packed": "0000007bee",
824        "unpacked": {
825          "payload": [],
826          "crc": 0,
827          "a": 0,
828          "b": 31726
829        }
830      },
831      {
832        "packed": "00ffff0000",
833        "unpacked": {
834          "payload": [],
835          "crc": 0,
836          "a": 65535,
837          "b": 0
838        }
839      },
840      {
841        "packed": "00ffffffff",
842        "unpacked": {
843          "payload": [],
844          "crc": 0,
845          "a": 65535,
846          "b": 65535
847        }
848      },
849      {
850        "packed": "00ffff7bee",
851        "unpacked": {
852          "payload": [],
853          "crc": 0,
854          "a": 65535,
855          "b": 31726
856        }
857      },
858      {
859        "packed": "007bdc0000",
860        "unpacked": {
861          "payload": [],
862          "crc": 0,
863          "a": 31708,
864          "b": 0
865        }
866      },
867      {
868        "packed": "007bdcffff",
869        "unpacked": {
870          "payload": [],
871          "crc": 0,
872          "a": 31708,
873          "b": 65535
874        }
875      },
876      {
877        "packed": "007bdc7bee",
878        "unpacked": {
879          "payload": [],
880          "crc": 0,
881          "a": 31708,
882          "b": 31726
883        }
884      },
885      {
886        "packed": "767770797a5000000000",
887        "unpacked": {
888          "payload": [
889            118,
890            119,
891            112,
892            121,
893            122
894          ],
895          "crc": 80,
896          "a": 0,
897          "b": 0
898        }
899      },
900      {
901        "packed": "767770797a500000ffff",
902        "unpacked": {
903          "payload": [
904            118,
905            119,
906            112,
907            121,
908            122
909          ],
910          "crc": 80,
911          "a": 0,
912          "b": 65535
913        }
914      },
915      {
916        "packed": "767770797a5000007bee",
917        "unpacked": {
918          "payload": [
919            118,
920            119,
921            112,
922            121,
923            122
924          ],
925          "crc": 80,
926          "a": 0,
927          "b": 31726
928        }
929      },
930      {
931        "packed": "767770797a50ffff0000",
932        "unpacked": {
933          "payload": [
934            118,
935            119,
936            112,
937            121,
938            122
939          ],
940          "crc": 80,
941          "a": 65535,
942          "b": 0
943        }
944      },
945      {
946        "packed": "767770797a50ffffffff",
947        "unpacked": {
948          "payload": [
949            118,
950            119,
951            112,
952            121,
953            122
954          ],
955          "crc": 80,
956          "a": 65535,
957          "b": 65535
958        }
959      },
960      {
961        "packed": "767770797a50ffff7bee",
962        "unpacked": {
963          "payload": [
964            118,
965            119,
966            112,
967            121,
968            122
969          ],
970          "crc": 80,
971          "a": 65535,
972          "b": 31726
973        }
974      },
975      {
976        "packed": "767770797a507bdc0000",
977        "unpacked": {
978          "payload": [
979            118,
980            119,
981            112,
982            121,
983            122
984          ],
985          "crc": 80,
986          "a": 31708,
987          "b": 0
988        }
989      },
990      {
991        "packed": "767770797a507bdcffff",
992        "unpacked": {
993          "payload": [
994            118,
995            119,
996            112,
997            121,
998            122
999          ],
1000          "crc": 80,
1001          "a": 31708,
1002          "b": 65535
1003        }
1004      },
1005      {
1006        "packed": "767770797a507bdc7bee",
1007        "unpacked": {
1008          "payload": [
1009            118,
1010            119,
1011            112,
1012            121,
1013            122
1014          ],
1015          "crc": 80,
1016          "a": 31708,
1017          "b": 31726
1018        }
1019      }
1020    ]
1021  },
1022  {
1023    "packet": "Packet_Struct_Field",
1024    "tests": [
1025      {
1026        "packed": "0000",
1027        "unpacked": {
1028          "a": {
1029            "a": 0
1030          },
1031          "b": {
1032            "array": []
1033          }
1034        }
1035      },
1036      {
1037        "packed": "0003788182",
1038        "unpacked": {
1039          "a": {
1040            "a": 0
1041          },
1042          "b": {
1043            "array": [
1044              120,
1045              129,
1046              130
1047            ]
1048          }
1049        }
1050      },
1051      {
1052        "packed": "ff00",
1053        "unpacked": {
1054          "a": {
1055            "a": 255
1056          },
1057          "b": {
1058            "array": []
1059          }
1060        }
1061      },
1062      {
1063        "packed": "ff03788182",
1064        "unpacked": {
1065          "a": {
1066            "a": 255
1067          },
1068          "b": {
1069            "array": [
1070              120,
1071              129,
1072              130
1073            ]
1074          }
1075        }
1076      },
1077      {
1078        "packed": "7f00",
1079        "unpacked": {
1080          "a": {
1081            "a": 127
1082          },
1083          "b": {
1084            "array": []
1085          }
1086        }
1087      },
1088      {
1089        "packed": "7f03788182",
1090        "unpacked": {
1091          "a": {
1092            "a": 127
1093          },
1094          "b": {
1095            "array": [
1096              120,
1097              129,
1098              130
1099            ]
1100          }
1101        }
1102      }
1103    ]
1104  },
1105  {
1106    "packet": "Packet_Array_Field_ByteElement_ConstantSize",
1107    "tests": [
1108      {
1109        "packed": "83848586",
1110        "unpacked": {
1111          "array": [
1112            131,
1113            132,
1114            133,
1115            134
1116          ]
1117        }
1118      }
1119    ]
1120  },
1121  {
1122    "packet": "Packet_Array_Field_ByteElement_VariableSize",
1123    "tests": [
1124      {
1125        "packed": "00",
1126        "unpacked": {
1127          "array": []
1128        }
1129      },
1130      {
1131        "packed": "0f8780898a8b8c8d8e8f889192939495",
1132        "unpacked": {
1133          "array": [
1134            135,
1135            128,
1136            137,
1137            138,
1138            139,
1139            140,
1140            141,
1141            142,
1142            143,
1143            136,
1144            145,
1145            146,
1146            147,
1147            148,
1148            149
1149          ]
1150        }
1151      }
1152    ]
1153  },
1154  {
1155    "packet": "Packet_Array_Field_ByteElement_VariableCount",
1156    "tests": [
1157      {
1158        "packed": "00",
1159        "unpacked": {
1160          "array": []
1161        }
1162      },
1163      {
1164        "packed": "0f969790999a9b9c9d9e9f98a1a2a3a4",
1165        "unpacked": {
1166          "array": [
1167            150,
1168            151,
1169            144,
1170            153,
1171            154,
1172            155,
1173            156,
1174            157,
1175            158,
1176            159,
1177            152,
1178            161,
1179            162,
1180            163,
1181            164
1182          ]
1183        }
1184      }
1185    ]
1186  },
1187  {
1188    "packet": "Packet_Array_Field_ByteElement_UnknownSize",
1189    "tests": [
1190      {
1191        "packed": "",
1192        "unpacked": {
1193          "array": []
1194        }
1195      },
1196      {
1197        "packed": "a5a6a7",
1198        "unpacked": {
1199          "array": [
1200            165,
1201            166,
1202            167
1203          ]
1204        }
1205      }
1206    ]
1207  },
1208  {
1209    "packet": "Packet_Array_Field_ScalarElement_ConstantSize",
1210    "tests": [
1211      {
1212        "packed": "a541ad53ad65ad77",
1213        "unpacked": {
1214          "array": [
1215            42305,
1216            44371,
1217            44389,
1218            44407
1219          ]
1220        }
1221      }
1222    ]
1223  },
1224  {
1225    "packet": "Packet_Array_Field_ScalarElement_VariableSize",
1226    "tests": [
1227      {
1228        "packed": "00",
1229        "unpacked": {
1230          "array": []
1231        }
1232      },
1233      {
1234        "packed": "0ead81b593b5a5b5b7b5c1bdd3bde5",
1235        "unpacked": {
1236          "array": [
1237            44417,
1238            46483,
1239            46501,
1240            46519,
1241            46529,
1242            48595,
1243            48613
1244          ]
1245        }
1246      }
1247    ]
1248  },
1249  {
1250    "packet": "Packet_Array_Field_ScalarElement_VariableCount",
1251    "tests": [
1252      {
1253        "packed": "00",
1254        "unpacked": {
1255          "array": []
1256        }
1257      },
1258      {
1259        "packed": "0fbdf7be01c613c625c637c641ce53ce65ce77ce81d693d6a5d6b7d6c1ded3",
1260        "unpacked": {
1261          "array": [
1262            48631,
1263            48641,
1264            50707,
1265            50725,
1266            50743,
1267            50753,
1268            52819,
1269            52837,
1270            52855,
1271            52865,
1272            54931,
1273            54949,
1274            54967,
1275            54977,
1276            57043
1277          ]
1278        }
1279      }
1280    ]
1281  },
1282  {
1283    "packet": "Packet_Array_Field_ScalarElement_UnknownSize",
1284    "tests": [
1285      {
1286        "packed": "",
1287        "unpacked": {
1288          "array": []
1289        }
1290      },
1291      {
1292        "packed": "dee5def7df01",
1293        "unpacked": {
1294          "array": [
1295            57061,
1296            57079,
1297            57089
1298          ]
1299        }
1300      }
1301    ]
1302  },
1303  {
1304    "packet": "Packet_Array_Field_EnumElement_ConstantSize",
1305    "tests": [
1306      {
1307        "packed": "aabbccddaabbccdd",
1308        "unpacked": {
1309          "array": [
1310            43707,
1311            52445,
1312            43707,
1313            52445
1314          ]
1315        }
1316      }
1317    ]
1318  },
1319  {
1320    "packet": "Packet_Array_Field_EnumElement_VariableSize",
1321    "tests": [
1322      {
1323        "packed": "0eaabbccddaabbccddaabbccddaabb",
1324        "unpacked": {
1325          "array": [
1326            43707,
1327            52445,
1328            43707,
1329            52445,
1330            43707,
1331            52445,
1332            43707
1333          ]
1334        }
1335      },
1336      {
1337        "packed": "00",
1338        "unpacked": {
1339          "array": []
1340        }
1341      }
1342    ]
1343  },
1344  {
1345    "packet": "Packet_Array_Field_EnumElement_VariableCount",
1346    "tests": [
1347      {
1348        "packed": "0faabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabb",
1349        "unpacked": {
1350          "array": [
1351            43707,
1352            52445,
1353            43707,
1354            52445,
1355            43707,
1356            52445,
1357            43707,
1358            52445,
1359            43707,
1360            52445,
1361            43707,
1362            52445,
1363            43707,
1364            52445,
1365            43707
1366          ]
1367        }
1368      },
1369      {
1370        "packed": "00",
1371        "unpacked": {
1372          "array": []
1373        }
1374      }
1375    ]
1376  },
1377  {
1378    "packet": "Packet_Array_Field_EnumElement_UnknownSize",
1379    "tests": [
1380      {
1381        "packed": "aabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccdd",
1382        "unpacked": {
1383          "array": [
1384            43707,
1385            52445,
1386            43707,
1387            52445,
1388            43707,
1389            52445,
1390            43707,
1391            52445,
1392            43707,
1393            52445,
1394            43707,
1395            52445,
1396            43707,
1397            52445,
1398            43707,
1399            52445,
1400            43707,
1401            52445,
1402            43707,
1403            52445,
1404            43707,
1405            52445,
1406            43707,
1407            52445,
1408            43707,
1409            52445,
1410            43707,
1411            52445,
1412            43707,
1413            52445,
1414            43707,
1415            52445
1416          ]
1417        }
1418      },
1419      {
1420        "packed": "",
1421        "unpacked": {
1422          "array": []
1423        }
1424      }
1425    ]
1426  },
1427  {
1428    "packet": "Packet_Array_Field_SizedElement_ConstantSize",
1429    "tests": [
1430      {
1431        "packed": "00ffe200",
1432        "unpacked": {
1433          "array": [
1434            {
1435              "a": 0
1436            },
1437            {
1438              "a": 255
1439            },
1440            {
1441              "a": 226
1442            },
1443            {
1444              "a": 0
1445            }
1446          ]
1447        }
1448      }
1449    ]
1450  },
1451  {
1452    "packet": "Packet_Array_Field_SizedElement_VariableSize",
1453    "tests": [
1454      {
1455        "packed": "0f00ffe400ffe500ffe600ffe700ffe0",
1456        "unpacked": {
1457          "array": [
1458            {
1459              "a": 0
1460            },
1461            {
1462              "a": 255
1463            },
1464            {
1465              "a": 228
1466            },
1467            {
1468              "a": 0
1469            },
1470            {
1471              "a": 255
1472            },
1473            {
1474              "a": 229
1475            },
1476            {
1477              "a": 0
1478            },
1479            {
1480              "a": 255
1481            },
1482            {
1483              "a": 230
1484            },
1485            {
1486              "a": 0
1487            },
1488            {
1489              "a": 255
1490            },
1491            {
1492              "a": 231
1493            },
1494            {
1495              "a": 0
1496            },
1497            {
1498              "a": 255
1499            },
1500            {
1501              "a": 224
1502            }
1503          ]
1504        }
1505      },
1506      {
1507        "packed": "00",
1508        "unpacked": {
1509          "array": []
1510        }
1511      }
1512    ]
1513  },
1514  {
1515    "packet": "Packet_Array_Field_SizedElement_VariableCount",
1516    "tests": [
1517      {
1518        "packed": "0f00ffea00ffeb00ffec00ffed00ffee",
1519        "unpacked": {
1520          "array": [
1521            {
1522              "a": 0
1523            },
1524            {
1525              "a": 255
1526            },
1527            {
1528              "a": 234
1529            },
1530            {
1531              "a": 0
1532            },
1533            {
1534              "a": 255
1535            },
1536            {
1537              "a": 235
1538            },
1539            {
1540              "a": 0
1541            },
1542            {
1543              "a": 255
1544            },
1545            {
1546              "a": 236
1547            },
1548            {
1549              "a": 0
1550            },
1551            {
1552              "a": 255
1553            },
1554            {
1555              "a": 237
1556            },
1557            {
1558              "a": 0
1559            },
1560            {
1561              "a": 255
1562            },
1563            {
1564              "a": 238
1565            }
1566          ]
1567        }
1568      },
1569      {
1570        "packed": "00",
1571        "unpacked": {
1572          "array": []
1573        }
1574      }
1575    ]
1576  },
1577  {
1578    "packet": "Packet_Array_Field_SizedElement_UnknownSize",
1579    "tests": [
1580      {
1581        "packed": "00ffe800fff100fff200fff300fff400fff500fff600fff700fff000fff900ff",
1582        "unpacked": {
1583          "array": [
1584            {
1585              "a": 0
1586            },
1587            {
1588              "a": 255
1589            },
1590            {
1591              "a": 232
1592            },
1593            {
1594              "a": 0
1595            },
1596            {
1597              "a": 255
1598            },
1599            {
1600              "a": 241
1601            },
1602            {
1603              "a": 0
1604            },
1605            {
1606              "a": 255
1607            },
1608            {
1609              "a": 242
1610            },
1611            {
1612              "a": 0
1613            },
1614            {
1615              "a": 255
1616            },
1617            {
1618              "a": 243
1619            },
1620            {
1621              "a": 0
1622            },
1623            {
1624              "a": 255
1625            },
1626            {
1627              "a": 244
1628            },
1629            {
1630              "a": 0
1631            },
1632            {
1633              "a": 255
1634            },
1635            {
1636              "a": 245
1637            },
1638            {
1639              "a": 0
1640            },
1641            {
1642              "a": 255
1643            },
1644            {
1645              "a": 246
1646            },
1647            {
1648              "a": 0
1649            },
1650            {
1651              "a": 255
1652            },
1653            {
1654              "a": 247
1655            },
1656            {
1657              "a": 0
1658            },
1659            {
1660              "a": 255
1661            },
1662            {
1663              "a": 240
1664            },
1665            {
1666              "a": 0
1667            },
1668            {
1669              "a": 255
1670            },
1671            {
1672              "a": 249
1673            },
1674            {
1675              "a": 0
1676            },
1677            {
1678              "a": 255
1679            }
1680          ]
1681        }
1682      },
1683      {
1684        "packed": "",
1685        "unpacked": {
1686          "array": []
1687        }
1688      }
1689    ]
1690  },
1691  {
1692    "packet": "Packet_Array_Field_UnsizedElement_ConstantSize",
1693    "tests": [
1694      {
1695        "packed": "0003fbfcfd0003fef801",
1696        "unpacked": {
1697          "array": [
1698            {
1699              "array": []
1700            },
1701            {
1702              "array": [
1703                251,
1704                252,
1705                253
1706              ]
1707            },
1708            {
1709              "array": []
1710            },
1711            {
1712              "array": [
1713                254,
1714                248,
1715                1
1716              ]
1717            }
1718          ]
1719        }
1720      }
1721    ]
1722  },
1723  {
1724    "packet": "Packet_Array_Field_UnsizedElement_VariableSize",
1725    "tests": [
1726      {
1727        "packed": "0f0003050607000300090a00030b0c0d",
1728        "unpacked": {
1729          "array": [
1730            {
1731              "array": []
1732            },
1733            {
1734              "array": [
1735                5,
1736                6,
1737                7
1738              ]
1739            },
1740            {
1741              "array": []
1742            },
1743            {
1744              "array": [
1745                0,
1746                9,
1747                10
1748              ]
1749            },
1750            {
1751              "array": []
1752            },
1753            {
1754              "array": [
1755                11,
1756                12,
1757                13
1758              ]
1759            }
1760          ]
1761        }
1762      },
1763      {
1764        "packed": "00",
1765        "unpacked": {
1766          "array": []
1767        }
1768      }
1769    ]
1770  },
1771  {
1772    "packet": "Packet_Array_Field_UnsizedElement_VariableCount",
1773    "tests": [
1774      {
1775        "packed": "0f00031112130003141516000317101900031a1b1c00031d1e1f0003182122000323242500",
1776        "unpacked": {
1777          "array": [
1778            {
1779              "array": []
1780            },
1781            {
1782              "array": [
1783                17,
1784                18,
1785                19
1786              ]
1787            },
1788            {
1789              "array": []
1790            },
1791            {
1792              "array": [
1793                20,
1794                21,
1795                22
1796              ]
1797            },
1798            {
1799              "array": []
1800            },
1801            {
1802              "array": [
1803                23,
1804                16,
1805                25
1806              ]
1807            },
1808            {
1809              "array": []
1810            },
1811            {
1812              "array": [
1813                26,
1814                27,
1815                28
1816              ]
1817            },
1818            {
1819              "array": []
1820            },
1821            {
1822              "array": [
1823                29,
1824                30,
1825                31
1826              ]
1827            },
1828            {
1829              "array": []
1830            },
1831            {
1832              "array": [
1833                24,
1834                33,
1835                34
1836              ]
1837            },
1838            {
1839              "array": []
1840            },
1841            {
1842              "array": [
1843                35,
1844                36,
1845                37
1846              ]
1847            },
1848            {
1849              "array": []
1850            }
1851          ]
1852        }
1853      },
1854      {
1855        "packed": "00",
1856        "unpacked": {
1857          "array": []
1858        }
1859      }
1860    ]
1861  },
1862  {
1863    "packet": "Packet_Array_Field_UnsizedElement_UnknownSize",
1864    "tests": [
1865      {
1866        "packed": "0003292a2b00032c2d2e00032f283100033233340003353637000330393a00033b3c3d00033e3f3800034142430003444546000347404900034a4b4c00034d4e4f000348515200035354550003565750",
1867        "unpacked": {
1868          "array": [
1869            {
1870              "array": []
1871            },
1872            {
1873              "array": [
1874                41,
1875                42,
1876                43
1877              ]
1878            },
1879            {
1880              "array": []
1881            },
1882            {
1883              "array": [
1884                44,
1885                45,
1886                46
1887              ]
1888            },
1889            {
1890              "array": []
1891            },
1892            {
1893              "array": [
1894                47,
1895                40,
1896                49
1897              ]
1898            },
1899            {
1900              "array": []
1901            },
1902            {
1903              "array": [
1904                50,
1905                51,
1906                52
1907              ]
1908            },
1909            {
1910              "array": []
1911            },
1912            {
1913              "array": [
1914                53,
1915                54,
1916                55
1917              ]
1918            },
1919            {
1920              "array": []
1921            },
1922            {
1923              "array": [
1924                48,
1925                57,
1926                58
1927              ]
1928            },
1929            {
1930              "array": []
1931            },
1932            {
1933              "array": [
1934                59,
1935                60,
1936                61
1937              ]
1938            },
1939            {
1940              "array": []
1941            },
1942            {
1943              "array": [
1944                62,
1945                63,
1946                56
1947              ]
1948            },
1949            {
1950              "array": []
1951            },
1952            {
1953              "array": [
1954                65,
1955                66,
1956                67
1957              ]
1958            },
1959            {
1960              "array": []
1961            },
1962            {
1963              "array": [
1964                68,
1965                69,
1966                70
1967              ]
1968            },
1969            {
1970              "array": []
1971            },
1972            {
1973              "array": [
1974                71,
1975                64,
1976                73
1977              ]
1978            },
1979            {
1980              "array": []
1981            },
1982            {
1983              "array": [
1984                74,
1985                75,
1986                76
1987              ]
1988            },
1989            {
1990              "array": []
1991            },
1992            {
1993              "array": [
1994                77,
1995                78,
1996                79
1997              ]
1998            },
1999            {
2000              "array": []
2001            },
2002            {
2003              "array": [
2004                72,
2005                81,
2006                82
2007              ]
2008            },
2009            {
2010              "array": []
2011            },
2012            {
2013              "array": [
2014                83,
2015                84,
2016                85
2017              ]
2018            },
2019            {
2020              "array": []
2021            },
2022            {
2023              "array": [
2024                86,
2025                87,
2026                80
2027              ]
2028            }
2029          ]
2030        }
2031      },
2032      {
2033        "packed": "",
2034        "unpacked": {
2035          "array": []
2036        }
2037      }
2038    ]
2039  },
2040  {
2041    "packet": "Packet_Array_Field_UnsizedElement_SizeModifier",
2042    "tests": [
2043      {
2044        "packed": "0d00035c5d5e00035f586100",
2045        "unpacked": {
2046          "array": [
2047            {
2048              "array": []
2049            },
2050            {
2051              "array": [
2052                92,
2053                93,
2054                94
2055              ]
2056            },
2057            {
2058              "array": []
2059            },
2060            {
2061              "array": [
2062                95,
2063                88,
2064                97
2065              ]
2066            },
2067            {
2068              "array": []
2069            }
2070          ]
2071        }
2072      },
2073      {
2074        "packed": "02",
2075        "unpacked": {
2076          "array": []
2077        }
2078      }
2079    ]
2080  },
2081  {
2082    "packet": "Packet_Array_Field_SizedElement_VariableSize_Padded",
2083    "tests": [
2084      {
2085        "packed": "0000000000000000000000000000000000",
2086        "unpacked": {
2087          "array": []
2088        }
2089      },
2090      {
2091        "packed": "0e632e63386b4a6b5c6b6e6b78738a0000",
2092        "unpacked": {
2093          "array": [
2094            25390,
2095            25400,
2096            27466,
2097            27484,
2098            27502,
2099            27512,
2100            29578
2101          ]
2102        }
2103      }
2104    ]
2105  },
2106  {
2107    "packet": "Packet_Array_Field_UnsizedElement_VariableCount_Padded",
2108    "tests": [
2109      {
2110        "packed": "07000373747500037677700003797a7b00",
2111        "unpacked": {
2112          "array": [
2113            {
2114              "array": []
2115            },
2116            {
2117              "array": [
2118                115,
2119                116,
2120                117
2121              ]
2122            },
2123            {
2124              "array": []
2125            },
2126            {
2127              "array": [
2128                118,
2129                119,
2130                112
2131              ]
2132            },
2133            {
2134              "array": []
2135            },
2136            {
2137              "array": [
2138                121,
2139                122,
2140                123
2141              ]
2142            },
2143            {
2144              "array": []
2145            }
2146          ]
2147        }
2148      },
2149      {
2150        "packed": "0000000000000000000000000000000000",
2151        "unpacked": {
2152          "array": []
2153        }
2154      }
2155    ]
2156  },
2157  {
2158    "packet": "Packet_Optional_Scalar_Field",
2159    "tests": [
2160      {
2161        "packed": "01",
2162        "unpacked": {
2163          "a": null,
2164          "b": null
2165        }
2166      },
2167      {
2168        "packed": "0300000000",
2169        "unpacked": {
2170          "a": null,
2171          "b": 0
2172        }
2173      },
2174      {
2175        "packed": "03ffffffff",
2176        "unpacked": {
2177          "a": null,
2178          "b": 4294967295
2179        }
2180      },
2181      {
2182        "packed": "0384141c25",
2183        "unpacked": {
2184          "a": null,
2185          "b": 2215910437
2186        }
2187      },
2188      {
2189        "packed": "00000000",
2190        "unpacked": {
2191          "a": 0,
2192          "b": null
2193        }
2194      },
2195      {
2196        "packed": "0200000000000000",
2197        "unpacked": {
2198          "a": 0,
2199          "b": 0
2200        }
2201      },
2202      {
2203        "packed": "02000000ffffffff",
2204        "unpacked": {
2205          "a": 0,
2206          "b": 4294967295
2207        }
2208      },
2209      {
2210        "packed": "0200000084141c25",
2211        "unpacked": {
2212          "a": 0,
2213          "b": 2215910437
2214        }
2215      },
2216      {
2217        "packed": "00ffffff",
2218        "unpacked": {
2219          "a": 16777215,
2220          "b": null
2221        }
2222      },
2223      {
2224        "packed": "02ffffff00000000",
2225        "unpacked": {
2226          "a": 16777215,
2227          "b": 0
2228        }
2229      },
2230      {
2231        "packed": "02ffffffffffffff",
2232        "unpacked": {
2233          "a": 16777215,
2234          "b": 4294967295
2235        }
2236      },
2237      {
2238        "packed": "02ffffff84141c25",
2239        "unpacked": {
2240          "a": 16777215,
2241          "b": 2215910437
2242        }
2243      },
2244      {
2245        "packed": "007bfc01",
2246        "unpacked": {
2247          "a": 8125441,
2248          "b": null
2249        }
2250      },
2251      {
2252        "packed": "027bfc0100000000",
2253        "unpacked": {
2254          "a": 8125441,
2255          "b": 0
2256        }
2257      },
2258      {
2259        "packed": "027bfc01ffffffff",
2260        "unpacked": {
2261          "a": 8125441,
2262          "b": 4294967295
2263        }
2264      },
2265      {
2266        "packed": "027bfc0184141c25",
2267        "unpacked": {
2268          "a": 8125441,
2269          "b": 2215910437
2270        }
2271      }
2272    ]
2273  },
2274  {
2275    "packet": "Packet_Optional_Enum_Field",
2276    "tests": [
2277      {
2278        "packed": "01",
2279        "unpacked": {
2280          "a": null,
2281          "b": null
2282        }
2283      },
2284      {
2285        "packed": "03aabb",
2286        "unpacked": {
2287          "a": null,
2288          "b": 43707
2289        }
2290      },
2291      {
2292        "packed": "03ccdd",
2293        "unpacked": {
2294          "a": null,
2295          "b": 52445
2296        }
2297      },
2298      {
2299        "packed": "00aabb",
2300        "unpacked": {
2301          "a": 43707,
2302          "b": null
2303        }
2304      },
2305      {
2306        "packed": "02aabbaabb",
2307        "unpacked": {
2308          "a": 43707,
2309          "b": 43707
2310        }
2311      },
2312      {
2313        "packed": "02aabbccdd",
2314        "unpacked": {
2315          "a": 43707,
2316          "b": 52445
2317        }
2318      },
2319      {
2320        "packed": "00ccdd",
2321        "unpacked": {
2322          "a": 52445,
2323          "b": null
2324        }
2325      },
2326      {
2327        "packed": "02ccddaabb",
2328        "unpacked": {
2329          "a": 52445,
2330          "b": 43707
2331        }
2332      },
2333      {
2334        "packed": "02ccddccdd",
2335        "unpacked": {
2336          "a": 52445,
2337          "b": 52445
2338        }
2339      }
2340    ]
2341  },
2342  {
2343    "packet": "Packet_Optional_Struct_Field",
2344    "tests": [
2345      {
2346        "packed": "01",
2347        "unpacked": {
2348          "a": null,
2349          "b": null
2350        }
2351      },
2352      {
2353        "packed": "0300",
2354        "unpacked": {
2355          "a": null,
2356          "b": {
2357            "array": []
2358          }
2359        }
2360      },
2361      {
2362        "packed": "0303878089",
2363        "unpacked": {
2364          "a": null,
2365          "b": {
2366            "array": [
2367              135,
2368              128,
2369              137
2370            ]
2371          }
2372        }
2373      },
2374      {
2375        "packed": "0000",
2376        "unpacked": {
2377          "a": {
2378            "a": 0
2379          },
2380          "b": null
2381        }
2382      },
2383      {
2384        "packed": "020000",
2385        "unpacked": {
2386          "a": {
2387            "a": 0
2388          },
2389          "b": {
2390            "array": []
2391          }
2392        }
2393      },
2394      {
2395        "packed": "020003878089",
2396        "unpacked": {
2397          "a": {
2398            "a": 0
2399          },
2400          "b": {
2401            "array": [
2402              135,
2403              128,
2404              137
2405            ]
2406          }
2407        }
2408      },
2409      {
2410        "packed": "00ff",
2411        "unpacked": {
2412          "a": {
2413            "a": 255
2414          },
2415          "b": null
2416        }
2417      },
2418      {
2419        "packed": "02ff00",
2420        "unpacked": {
2421          "a": {
2422            "a": 255
2423          },
2424          "b": {
2425            "array": []
2426          }
2427        }
2428      },
2429      {
2430        "packed": "02ff03878089",
2431        "unpacked": {
2432          "a": {
2433            "a": 255
2434          },
2435          "b": {
2436            "array": [
2437              135,
2438              128,
2439              137
2440            ]
2441          }
2442        }
2443      },
2444      {
2445        "packed": "0086",
2446        "unpacked": {
2447          "a": {
2448            "a": 134
2449          },
2450          "b": null
2451        }
2452      },
2453      {
2454        "packed": "028600",
2455        "unpacked": {
2456          "a": {
2457            "a": 134
2458          },
2459          "b": {
2460            "array": []
2461          }
2462        }
2463      },
2464      {
2465        "packed": "028603878089",
2466        "unpacked": {
2467          "a": {
2468            "a": 134
2469          },
2470          "b": {
2471            "array": [
2472              135,
2473              128,
2474              137
2475            ]
2476          }
2477        }
2478      }
2479    ]
2480  },
2481  {
2482    "packet": "ScalarParent",
2483    "tests": [
2484      {
2485        "packed": "000100",
2486        "unpacked": {
2487          "a": 0,
2488          "b": 0
2489        },
2490        "packet": "ScalarChild_A"
2491      },
2492      {
2493        "packed": "0001ff",
2494        "unpacked": {
2495          "a": 0,
2496          "b": 255
2497        },
2498        "packet": "ScalarChild_A"
2499      },
2500      {
2501        "packed": "00017f",
2502        "unpacked": {
2503          "a": 0,
2504          "b": 127
2505        },
2506        "packet": "ScalarChild_A"
2507      },
2508      {
2509        "packed": "01020000",
2510        "unpacked": {
2511          "a": 1,
2512          "c": 0
2513        },
2514        "packet": "ScalarChild_B"
2515      },
2516      {
2517        "packed": "0102ffff",
2518        "unpacked": {
2519          "a": 1,
2520          "c": 65535
2521        },
2522        "packet": "ScalarChild_B"
2523      },
2524      {
2525        "packed": "01027c01",
2526        "unpacked": {
2527          "a": 1,
2528          "c": 31745
2529        },
2530        "packet": "ScalarChild_B"
2531      },
2532      {
2533        "packed": "020100",
2534        "unpacked": {
2535          "a": 2,
2536          "b": 0
2537        },
2538        "packet": "AliasedChild_A"
2539      },
2540      {
2541        "packed": "0201ff",
2542        "unpacked": {
2543          "a": 2,
2544          "b": 255
2545        },
2546        "packet": "AliasedChild_A"
2547      },
2548      {
2549        "packed": "020185",
2550        "unpacked": {
2551          "a": 2,
2552          "b": 133
2553        },
2554        "packet": "AliasedChild_A"
2555      },
2556      {
2557        "packed": "03020000",
2558        "unpacked": {
2559          "a": 3,
2560          "c": 0
2561        },
2562        "packet": "AliasedChild_B"
2563      },
2564      {
2565        "packed": "0302ffff",
2566        "unpacked": {
2567          "a": 3,
2568          "c": 65535
2569        },
2570        "packet": "AliasedChild_B"
2571      },
2572      {
2573        "packed": "03028437",
2574        "unpacked": {
2575          "a": 3,
2576          "c": 33847
2577        },
2578        "packet": "AliasedChild_B"
2579      }
2580    ]
2581  },
2582  {
2583    "packet": "EnumParent",
2584    "tests": [
2585      {
2586        "packed": "aabb0100",
2587        "unpacked": {
2588          "a": 43707,
2589          "b": 0
2590        },
2591        "packet": "EnumChild_A"
2592      },
2593      {
2594        "packed": "aabb01ff",
2595        "unpacked": {
2596          "a": 43707,
2597          "b": 255
2598        },
2599        "packet": "EnumChild_A"
2600      },
2601      {
2602        "packed": "aabb0182",
2603        "unpacked": {
2604          "a": 43707,
2605          "b": 130
2606        },
2607        "packet": "EnumChild_A"
2608      },
2609      {
2610        "packed": "ccdd020000",
2611        "unpacked": {
2612          "a": 52445,
2613          "c": 0
2614        },
2615        "packet": "EnumChild_B"
2616      },
2617      {
2618        "packed": "ccdd02ffff",
2619        "unpacked": {
2620          "a": 52445,
2621          "c": 65535
2622        },
2623        "packet": "EnumChild_B"
2624      },
2625      {
2626        "packed": "ccdd02841c",
2627        "unpacked": {
2628          "a": 52445,
2629          "c": 33820
2630        },
2631        "packet": "EnumChild_B"
2632      }
2633    ]
2634  },
2635  {
2636    "packet": "Struct_Enum_Field",
2637    "tests": [
2638      {
2639        "packed": "0000000000000001",
2640        "unpacked": {
2641          "s": {
2642            "a": 1,
2643            "c": 0
2644          }
2645        }
2646      },
2647      {
2648        "packed": "ffffffffffffff81",
2649        "unpacked": {
2650          "s": {
2651            "a": 1,
2652            "c": 144115188075855871
2653          }
2654        }
2655      },
2656      {
2657        "packed": "84444c545c646f01",
2658        "unpacked": {
2659          "s": {
2660            "a": 1,
2661            "c": 74459583098702046
2662          }
2663        }
2664      },
2665      {
2666        "packed": "0000000000000002",
2667        "unpacked": {
2668          "s": {
2669            "a": 2,
2670            "c": 0
2671          }
2672        }
2673      },
2674      {
2675        "packed": "ffffffffffffff82",
2676        "unpacked": {
2677          "s": {
2678            "a": 2,
2679            "c": 144115188075855871
2680          }
2681        }
2682      },
2683      {
2684        "packed": "84444c545c646f02",
2685        "unpacked": {
2686          "s": {
2687            "a": 2,
2688            "c": 74459583098702046
2689          }
2690        }
2691      }
2692    ]
2693  },
2694  {
2695    "packet": "Struct_Reserved_Field",
2696    "tests": [
2697      {
2698        "packed": "0000000000000000",
2699        "unpacked": {
2700          "s": {
2701            "a": 0,
2702            "c": 0
2703          }
2704        }
2705      },
2706      {
2707        "packed": "fffffffffffffe00",
2708        "unpacked": {
2709          "s": {
2710            "a": 0,
2711            "c": 36028797018963967
2712          }
2713        }
2714      },
2715      {
2716        "packed": "8c848c949ca4ac00",
2717        "unpacked": {
2718          "s": {
2719            "a": 0,
2720            "c": 19776118031536726
2721          }
2722        }
2723      },
2724      {
2725        "packed": "000000000000007f",
2726        "unpacked": {
2727          "s": {
2728            "a": 127,
2729            "c": 0
2730          }
2731        }
2732      },
2733      {
2734        "packed": "fffffffffffffe7f",
2735        "unpacked": {
2736          "s": {
2737            "a": 127,
2738            "c": 36028797018963967
2739          }
2740        }
2741      },
2742      {
2743        "packed": "8c848c949ca4ac7f",
2744        "unpacked": {
2745          "s": {
2746            "a": 127,
2747            "c": 19776118031536726
2748          }
2749        }
2750      },
2751      {
2752        "packed": "0000000000000047",
2753        "unpacked": {
2754          "s": {
2755            "a": 71,
2756            "c": 0
2757          }
2758        }
2759      },
2760      {
2761        "packed": "fffffffffffffe47",
2762        "unpacked": {
2763          "s": {
2764            "a": 71,
2765            "c": 36028797018963967
2766          }
2767        }
2768      },
2769      {
2770        "packed": "8c848c949ca4ac47",
2771        "unpacked": {
2772          "s": {
2773            "a": 71,
2774            "c": 19776118031536726
2775          }
2776        }
2777      }
2778    ]
2779  },
2780  {
2781    "packet": "Struct_Size_Field",
2782    "tests": [
2783      {
2784        "packed": "0000000000000000",
2785        "unpacked": {
2786          "s": {
2787            "a": 0,
2788            "b": []
2789          }
2790        }
2791      },
2792      {
2793        "packed": "00000000000000079e9fa0a1a2a3a4",
2794        "unpacked": {
2795          "s": {
2796            "a": 0,
2797            "b": [
2798              158,
2799              159,
2800              160,
2801              161,
2802              162,
2803              163,
2804              164
2805            ]
2806          }
2807        }
2808      },
2809      {
2810        "packed": "fffffffffffffff8",
2811        "unpacked": {
2812          "s": {
2813            "a": 2305843009213693951,
2814            "b": []
2815          }
2816        }
2817      },
2818      {
2819        "packed": "ffffffffffffffff9e9fa0a1a2a3a4",
2820        "unpacked": {
2821          "s": {
2822            "a": 2305843009213693951,
2823            "b": [
2824              158,
2825              159,
2826              160,
2827              161,
2828              162,
2829              163,
2830              164
2831            ]
2832          }
2833        }
2834      },
2835      {
2836        "packed": "965e62666a6e70e8",
2837        "unpacked": {
2838          "s": {
2839            "a": 1354400743188975133,
2840            "b": []
2841          }
2842        }
2843      },
2844      {
2845        "packed": "965e62666a6e70ef9e9fa0a1a2a3a4",
2846        "unpacked": {
2847          "s": {
2848            "a": 1354400743188975133,
2849            "b": [
2850              158,
2851              159,
2852              160,
2853              161,
2854              162,
2855              163,
2856              164
2857            ]
2858          }
2859        }
2860      }
2861    ]
2862  },
2863  {
2864    "packet": "Struct_Count_Field",
2865    "tests": [
2866      {
2867        "packed": "0000000000000000",
2868        "unpacked": {
2869          "s": {
2870            "a": 0,
2871            "b": []
2872          }
2873        }
2874      },
2875      {
2876        "packed": "0000000000000007adaeafa0b1b2b3",
2877        "unpacked": {
2878          "s": {
2879            "a": 0,
2880            "b": [
2881              173,
2882              174,
2883              175,
2884              160,
2885              177,
2886              178,
2887              179
2888            ]
2889          }
2890        }
2891      },
2892      {
2893        "packed": "fffffffffffffff8",
2894        "unpacked": {
2895          "s": {
2896            "a": 2305843009213693951,
2897            "b": []
2898          }
2899        }
2900      },
2901      {
2902        "packed": "ffffffffffffffffadaeafa0b1b2b3",
2903        "unpacked": {
2904          "s": {
2905            "a": 2305843009213693951,
2906            "b": [
2907              173,
2908              174,
2909              175,
2910              160,
2911              177,
2912              178,
2913              179
2914            ]
2915          }
2916        }
2917      },
2918      {
2919        "packed": "d2d353d454d555e0",
2920        "unpacked": {
2921          "s": {
2922            "a": 1898947267434031804,
2923            "b": []
2924          }
2925        }
2926      },
2927      {
2928        "packed": "d2d353d454d555e7adaeafa0b1b2b3",
2929        "unpacked": {
2930          "s": {
2931            "a": 1898947267434031804,
2932            "b": [
2933              173,
2934              174,
2935              175,
2936              160,
2937              177,
2938              178,
2939              179
2940            ]
2941          }
2942        }
2943      }
2944    ]
2945  },
2946  {
2947    "packet": "Struct_FixedScalar_Field",
2948    "tests": [
2949      {
2950        "packed": "0000000000000007",
2951        "unpacked": {
2952          "s": {
2953            "b": 0
2954          }
2955        }
2956      },
2957      {
2958        "packed": "ffffffffffffff87",
2959        "unpacked": {
2960          "s": {
2961            "b": 144115188075855871
2962          }
2963        }
2964      },
2965      {
2966        "packed": "bb4b5b6b7b8b9d07",
2967        "unpacked": {
2968          "s": {
2969            "b": 105437353324517178
2970          }
2971        }
2972      }
2973    ]
2974  },
2975  {
2976    "packet": "Struct_FixedEnum_Field",
2977    "tests": [
2978      {
2979        "packed": "0000000000000001",
2980        "unpacked": {
2981          "s": {
2982            "b": 0
2983          }
2984        }
2985      },
2986      {
2987        "packed": "ffffffffffffff81",
2988        "unpacked": {
2989          "s": {
2990            "b": 144115188075855871
2991          }
2992        }
2993      },
2994      {
2995        "packed": "b77797b7d7f80081",
2996        "unpacked": {
2997          "s": {
2998            "b": 103282828492402689
2999          }
3000        }
3001      }
3002    ]
3003  },
3004  {
3005    "packet": "Struct_ScalarGroup_Field",
3006    "tests": [
3007      {
3008        "packed": "002a",
3009        "unpacked": {
3010          "s": {}
3011        }
3012      }
3013    ]
3014  },
3015  {
3016    "packet": "Struct_EnumGroup_Field",
3017    "tests": [
3018      {
3019        "packed": "aabb",
3020        "unpacked": {
3021          "s": {}
3022        }
3023      }
3024    ]
3025  },
3026  {
3027    "packet": "Struct_Checksum_Field_FromStart",
3028    "tests": [
3029      {
3030        "packed": "0000000000",
3031        "unpacked": {
3032          "s": {
3033            "a": 0,
3034            "b": 0,
3035            "crc": 0
3036          }
3037        }
3038      },
3039      {
3040        "packed": "0000fffffe",
3041        "unpacked": {
3042          "s": {
3043            "a": 0,
3044            "b": 65535,
3045            "crc": 254
3046          }
3047        }
3048      },
3049      {
3050        "packed": "0000f105f6",
3051        "unpacked": {
3052          "s": {
3053            "a": 0,
3054            "b": 61701,
3055            "crc": 246
3056          }
3057        }
3058      },
3059      {
3060        "packed": "ffff0000fe",
3061        "unpacked": {
3062          "s": {
3063            "a": 65535,
3064            "b": 0,
3065            "crc": 254
3066          }
3067        }
3068      },
3069      {
3070        "packed": "fffffffffc",
3071        "unpacked": {
3072          "s": {
3073            "a": 65535,
3074            "b": 65535,
3075            "crc": 252
3076          }
3077        }
3078      },
3079      {
3080        "packed": "fffff105f4",
3081        "unpacked": {
3082          "s": {
3083            "a": 65535,
3084            "b": 61701,
3085            "crc": 244
3086          }
3087        }
3088      },
3089      {
3090        "packed": "f083000073",
3091        "unpacked": {
3092          "s": {
3093            "a": 61571,
3094            "b": 0,
3095            "crc": 115
3096          }
3097        }
3098      },
3099      {
3100        "packed": "f083ffff71",
3101        "unpacked": {
3102          "s": {
3103            "a": 61571,
3104            "b": 65535,
3105            "crc": 113
3106          }
3107        }
3108      },
3109      {
3110        "packed": "f083f10569",
3111        "unpacked": {
3112          "s": {
3113            "a": 61571,
3114            "b": 61701,
3115            "crc": 105
3116          }
3117        }
3118      }
3119    ]
3120  },
3121  {
3122    "packet": "Struct_Checksum_Field_FromEnd",
3123    "tests": [
3124      {
3125        "packed": "0000000000",
3126        "unpacked": {
3127          "s": {
3128            "payload": [],
3129            "crc": 0,
3130            "a": 0,
3131            "b": 0
3132          }
3133        }
3134      },
3135      {
3136        "packed": "000000ffff",
3137        "unpacked": {
3138          "s": {
3139            "payload": [],
3140            "crc": 0,
3141            "a": 0,
3142            "b": 65535
3143          }
3144        }
3145      },
3146      {
3147        "packed": "000000f34e",
3148        "unpacked": {
3149          "s": {
3150            "payload": [],
3151            "crc": 0,
3152            "a": 0,
3153            "b": 62286
3154          }
3155        }
3156      },
3157      {
3158        "packed": "00ffff0000",
3159        "unpacked": {
3160          "s": {
3161            "payload": [],
3162            "crc": 0,
3163            "a": 65535,
3164            "b": 0
3165          }
3166        }
3167      },
3168      {
3169        "packed": "00ffffffff",
3170        "unpacked": {
3171          "s": {
3172            "payload": [],
3173            "crc": 0,
3174            "a": 65535,
3175            "b": 65535
3176          }
3177        }
3178      },
3179      {
3180        "packed": "00fffff34e",
3181        "unpacked": {
3182          "s": {
3183            "payload": [],
3184            "crc": 0,
3185            "a": 65535,
3186            "b": 62286
3187          }
3188        }
3189      },
3190      {
3191        "packed": "00f2cc0000",
3192        "unpacked": {
3193          "s": {
3194            "payload": [],
3195            "crc": 0,
3196            "a": 62156,
3197            "b": 0
3198          }
3199        }
3200      },
3201      {
3202        "packed": "00f2ccffff",
3203        "unpacked": {
3204          "s": {
3205            "payload": [],
3206            "crc": 0,
3207            "a": 62156,
3208            "b": 65535
3209          }
3210        }
3211      },
3212      {
3213        "packed": "00f2ccf34e",
3214        "unpacked": {
3215          "s": {
3216            "payload": [],
3217            "crc": 0,
3218            "a": 62156,
3219            "b": 62286
3220          }
3221        }
3222      },
3223      {
3224        "packed": "c6c7c8c9cae800000000",
3225        "unpacked": {
3226          "s": {
3227            "payload": [
3228              198,
3229              199,
3230              200,
3231              201,
3232              202
3233            ],
3234            "crc": 232,
3235            "a": 0,
3236            "b": 0
3237          }
3238        }
3239      },
3240      {
3241        "packed": "c6c7c8c9cae80000ffff",
3242        "unpacked": {
3243          "s": {
3244            "payload": [
3245              198,
3246              199,
3247              200,
3248              201,
3249              202
3250            ],
3251            "crc": 232,
3252            "a": 0,
3253            "b": 65535
3254          }
3255        }
3256      },
3257      {
3258        "packed": "c6c7c8c9cae80000f34e",
3259        "unpacked": {
3260          "s": {
3261            "payload": [
3262              198,
3263              199,
3264              200,
3265              201,
3266              202
3267            ],
3268            "crc": 232,
3269            "a": 0,
3270            "b": 62286
3271          }
3272        }
3273      },
3274      {
3275        "packed": "c6c7c8c9cae8ffff0000",
3276        "unpacked": {
3277          "s": {
3278            "payload": [
3279              198,
3280              199,
3281              200,
3282              201,
3283              202
3284            ],
3285            "crc": 232,
3286            "a": 65535,
3287            "b": 0
3288          }
3289        }
3290      },
3291      {
3292        "packed": "c6c7c8c9cae8ffffffff",
3293        "unpacked": {
3294          "s": {
3295            "payload": [
3296              198,
3297              199,
3298              200,
3299              201,
3300              202
3301            ],
3302            "crc": 232,
3303            "a": 65535,
3304            "b": 65535
3305          }
3306        }
3307      },
3308      {
3309        "packed": "c6c7c8c9cae8fffff34e",
3310        "unpacked": {
3311          "s": {
3312            "payload": [
3313              198,
3314              199,
3315              200,
3316              201,
3317              202
3318            ],
3319            "crc": 232,
3320            "a": 65535,
3321            "b": 62286
3322          }
3323        }
3324      },
3325      {
3326        "packed": "c6c7c8c9cae8f2cc0000",
3327        "unpacked": {
3328          "s": {
3329            "payload": [
3330              198,
3331              199,
3332              200,
3333              201,
3334              202
3335            ],
3336            "crc": 232,
3337            "a": 62156,
3338            "b": 0
3339          }
3340        }
3341      },
3342      {
3343        "packed": "c6c7c8c9cae8f2ccffff",
3344        "unpacked": {
3345          "s": {
3346            "payload": [
3347              198,
3348              199,
3349              200,
3350              201,
3351              202
3352            ],
3353            "crc": 232,
3354            "a": 62156,
3355            "b": 65535
3356          }
3357        }
3358      },
3359      {
3360        "packed": "c6c7c8c9cae8f2ccf34e",
3361        "unpacked": {
3362          "s": {
3363            "payload": [
3364              198,
3365              199,
3366              200,
3367              201,
3368              202
3369            ],
3370            "crc": 232,
3371            "a": 62156,
3372            "b": 62286
3373          }
3374        }
3375      }
3376    ]
3377  },
3378  {
3379    "packet": "Struct_Struct_Field",
3380    "tests": [
3381      {
3382        "packed": "0000",
3383        "unpacked": {
3384          "a": {
3385            "a": 0
3386          },
3387          "b": {
3388            "array": []
3389          }
3390        }
3391      },
3392      {
3393        "packed": "0003d0d1d2",
3394        "unpacked": {
3395          "a": {
3396            "a": 0
3397          },
3398          "b": {
3399            "array": [
3400              208,
3401              209,
3402              210
3403            ]
3404          }
3405        }
3406      },
3407      {
3408        "packed": "ff00",
3409        "unpacked": {
3410          "a": {
3411            "a": 255
3412          },
3413          "b": {
3414            "array": []
3415          }
3416        }
3417      },
3418      {
3419        "packed": "ff03d0d1d2",
3420        "unpacked": {
3421          "a": {
3422            "a": 255
3423          },
3424          "b": {
3425            "array": [
3426              208,
3427              209,
3428              210
3429            ]
3430          }
3431        }
3432      },
3433      {
3434        "packed": "cf00",
3435        "unpacked": {
3436          "a": {
3437            "a": 207
3438          },
3439          "b": {
3440            "array": []
3441          }
3442        }
3443      },
3444      {
3445        "packed": "cf03d0d1d2",
3446        "unpacked": {
3447          "a": {
3448            "a": 207
3449          },
3450          "b": {
3451            "array": [
3452              208,
3453              209,
3454              210
3455            ]
3456          }
3457        }
3458      }
3459    ]
3460  },
3461  {
3462    "packet": "Struct_Array_Field_ByteElement_ConstantSize",
3463    "tests": [
3464      {
3465        "packed": "d3d4d5d6",
3466        "unpacked": {
3467          "s": {
3468            "array": [
3469              211,
3470              212,
3471              213,
3472              214
3473            ]
3474          }
3475        }
3476      }
3477    ]
3478  },
3479  {
3480    "packet": "Struct_Array_Field_ByteElement_VariableSize",
3481    "tests": [
3482      {
3483        "packed": "00",
3484        "unpacked": {
3485          "s": {
3486            "array": []
3487          }
3488        }
3489      },
3490      {
3491        "packed": "0fd7d8d9dadbdcdddedfe0e1e2e3e4e5",
3492        "unpacked": {
3493          "s": {
3494            "array": [
3495              215,
3496              216,
3497              217,
3498              218,
3499              219,
3500              220,
3501              221,
3502              222,
3503              223,
3504              224,
3505              225,
3506              226,
3507              227,
3508              228,
3509              229
3510            ]
3511          }
3512        }
3513      }
3514    ]
3515  },
3516  {
3517    "packet": "Struct_Array_Field_ByteElement_VariableCount",
3518    "tests": [
3519      {
3520        "packed": "00",
3521        "unpacked": {
3522          "s": {
3523            "array": []
3524          }
3525        }
3526      },
3527      {
3528        "packed": "0fe6e7e8e9eaebecedeeeff0f1f2f3f4",
3529        "unpacked": {
3530          "s": {
3531            "array": [
3532              230,
3533              231,
3534              232,
3535              233,
3536              234,
3537              235,
3538              236,
3539              237,
3540              238,
3541              239,
3542              240,
3543              241,
3544              242,
3545              243,
3546              244
3547            ]
3548          }
3549        }
3550      }
3551    ]
3552  },
3553  {
3554    "packet": "Struct_Array_Field_ByteElement_UnknownSize",
3555    "tests": [
3556      {
3557        "packed": "",
3558        "unpacked": {
3559          "s": {
3560            "array": []
3561          }
3562        }
3563      },
3564      {
3565        "packed": "f5f6f7",
3566        "unpacked": {
3567          "s": {
3568            "array": [
3569              245,
3570              246,
3571              247
3572            ]
3573          }
3574        }
3575      }
3576    ]
3577  },
3578  {
3579    "packet": "Struct_Array_Field_ScalarElement_ConstantSize",
3580    "tests": [
3581      {
3582        "packed": "fe39febbff3dff80",
3583        "unpacked": {
3584          "s": {
3585            "array": [
3586              65081,
3587              65211,
3588              65341,
3589              65408
3590            ]
3591          }
3592        }
3593      }
3594    ]
3595  },
3596  {
3597    "packet": "Struct_Array_Field_ScalarElement_VariableSize",
3598    "tests": [
3599      {
3600        "packed": "00",
3601        "unpacked": {
3602          "s": {
3603            "array": []
3604          }
3605        }
3606      },
3607      {
3608        "packed": "0e004200c4014601c8024a02cc034e",
3609        "unpacked": {
3610          "s": {
3611            "array": [
3612              66,
3613              196,
3614              326,
3615              456,
3616              586,
3617              716,
3618              846
3619            ]
3620          }
3621        }
3622      }
3623    ]
3624  },
3625  {
3626    "packet": "Struct_Array_Field_ScalarElement_VariableCount",
3627    "tests": [
3628      {
3629        "packed": "00",
3630        "unpacked": {
3631          "s": {
3632            "array": []
3633          }
3634        }
3635      },
3636      {
3637        "packed": "0f03d0045204d4055605d8065a06dc075e07e0086208e4096609e80a6a0aec",
3638        "unpacked": {
3639          "s": {
3640            "array": [
3641              976,
3642              1106,
3643              1236,
3644              1366,
3645              1496,
3646              1626,
3647              1756,
3648              1886,
3649              2016,
3650              2146,
3651              2276,
3652              2406,
3653              2536,
3654              2666,
3655              2796
3656            ]
3657          }
3658        }
3659      }
3660    ]
3661  },
3662  {
3663    "packet": "Struct_Array_Field_ScalarElement_UnknownSize",
3664    "tests": [
3665      {
3666        "packed": "",
3667        "unpacked": {
3668          "s": {
3669            "array": []
3670          }
3671        }
3672      },
3673      {
3674        "packed": "0b6e0bf00c72",
3675        "unpacked": {
3676          "s": {
3677            "array": [
3678              2926,
3679              3056,
3680              3186
3681            ]
3682          }
3683        }
3684      }
3685    ]
3686  },
3687  {
3688    "packet": "Struct_Array_Field_EnumElement_ConstantSize",
3689    "tests": [
3690      {
3691        "packed": "aabbccddaabbccdd",
3692        "unpacked": {
3693          "s": {
3694            "array": [
3695              43707,
3696              52445,
3697              43707,
3698              52445
3699            ]
3700          }
3701        }
3702      }
3703    ]
3704  },
3705  {
3706    "packet": "Struct_Array_Field_EnumElement_VariableSize",
3707    "tests": [
3708      {
3709        "packed": "0eaabbccddaabbccddaabbccddaabb",
3710        "unpacked": {
3711          "s": {
3712            "array": [
3713              43707,
3714              52445,
3715              43707,
3716              52445,
3717              43707,
3718              52445,
3719              43707
3720            ]
3721          }
3722        }
3723      },
3724      {
3725        "packed": "00",
3726        "unpacked": {
3727          "s": {
3728            "array": []
3729          }
3730        }
3731      }
3732    ]
3733  },
3734  {
3735    "packet": "Struct_Array_Field_EnumElement_VariableCount",
3736    "tests": [
3737      {
3738        "packed": "0faabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabb",
3739        "unpacked": {
3740          "s": {
3741            "array": [
3742              43707,
3743              52445,
3744              43707,
3745              52445,
3746              43707,
3747              52445,
3748              43707,
3749              52445,
3750              43707,
3751              52445,
3752              43707,
3753              52445,
3754              43707,
3755              52445,
3756              43707
3757            ]
3758          }
3759        }
3760      },
3761      {
3762        "packed": "00",
3763        "unpacked": {
3764          "s": {
3765            "array": []
3766          }
3767        }
3768      }
3769    ]
3770  },
3771  {
3772    "packet": "Struct_Array_Field_EnumElement_UnknownSize",
3773    "tests": [
3774      {
3775        "packed": "aabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccdd",
3776        "unpacked": {
3777          "s": {
3778            "array": [
3779              43707,
3780              52445,
3781              43707,
3782              52445,
3783              43707,
3784              52445,
3785              43707,
3786              52445,
3787              43707,
3788              52445,
3789              43707,
3790              52445,
3791              43707,
3792              52445,
3793              43707,
3794              52445,
3795              43707,
3796              52445,
3797              43707,
3798              52445,
3799              43707,
3800              52445,
3801              43707,
3802              52445,
3803              43707,
3804              52445,
3805              43707,
3806              52445,
3807              43707,
3808              52445,
3809              43707,
3810              52445
3811            ]
3812          }
3813        }
3814      },
3815      {
3816        "packed": "",
3817        "unpacked": {
3818          "s": {
3819            "array": []
3820          }
3821        }
3822      }
3823    ]
3824  },
3825  {
3826    "packet": "Struct_Array_Field_SizedElement_ConstantSize",
3827    "tests": [
3828      {
3829        "packed": "00ff3300",
3830        "unpacked": {
3831          "s": {
3832            "array": [
3833              {
3834                "a": 0
3835              },
3836              {
3837                "a": 255
3838              },
3839              {
3840                "a": 51
3841              },
3842              {
3843                "a": 0
3844              }
3845            ]
3846          }
3847        }
3848      }
3849    ]
3850  },
3851  {
3852    "packet": "Struct_Array_Field_SizedElement_VariableSize",
3853    "tests": [
3854      {
3855        "packed": "0f00ff3500ff3600ff3700ff3800ff39",
3856        "unpacked": {
3857          "s": {
3858            "array": [
3859              {
3860                "a": 0
3861              },
3862              {
3863                "a": 255
3864              },
3865              {
3866                "a": 53
3867              },
3868              {
3869                "a": 0
3870              },
3871              {
3872                "a": 255
3873              },
3874              {
3875                "a": 54
3876              },
3877              {
3878                "a": 0
3879              },
3880              {
3881                "a": 255
3882              },
3883              {
3884                "a": 55
3885              },
3886              {
3887                "a": 0
3888              },
3889              {
3890                "a": 255
3891              },
3892              {
3893                "a": 56
3894              },
3895              {
3896                "a": 0
3897              },
3898              {
3899                "a": 255
3900              },
3901              {
3902                "a": 57
3903              }
3904            ]
3905          }
3906        }
3907      },
3908      {
3909        "packed": "00",
3910        "unpacked": {
3911          "s": {
3912            "array": []
3913          }
3914        }
3915      }
3916    ]
3917  },
3918  {
3919    "packet": "Struct_Array_Field_SizedElement_VariableCount",
3920    "tests": [
3921      {
3922        "packed": "0f00ff3b00ff3c00ff3d00ff3e00ff3f",
3923        "unpacked": {
3924          "s": {
3925            "array": [
3926              {
3927                "a": 0
3928              },
3929              {
3930                "a": 255
3931              },
3932              {
3933                "a": 59
3934              },
3935              {
3936                "a": 0
3937              },
3938              {
3939                "a": 255
3940              },
3941              {
3942                "a": 60
3943              },
3944              {
3945                "a": 0
3946              },
3947              {
3948                "a": 255
3949              },
3950              {
3951                "a": 61
3952              },
3953              {
3954                "a": 0
3955              },
3956              {
3957                "a": 255
3958              },
3959              {
3960                "a": 62
3961              },
3962              {
3963                "a": 0
3964              },
3965              {
3966                "a": 255
3967              },
3968              {
3969                "a": 63
3970              }
3971            ]
3972          }
3973        }
3974      },
3975      {
3976        "packed": "00",
3977        "unpacked": {
3978          "s": {
3979            "array": []
3980          }
3981        }
3982      }
3983    ]
3984  },
3985  {
3986    "packet": "Struct_Array_Field_SizedElement_UnknownSize",
3987    "tests": [
3988      {
3989        "packed": "00ff4100ff4200ff4300ff4400ff4500ff4600ff4700ff4800ff4900ff4a00ff",
3990        "unpacked": {
3991          "s": {
3992            "array": [
3993              {
3994                "a": 0
3995              },
3996              {
3997                "a": 255
3998              },
3999              {
4000                "a": 65
4001              },
4002              {
4003                "a": 0
4004              },
4005              {
4006                "a": 255
4007              },
4008              {
4009                "a": 66
4010              },
4011              {
4012                "a": 0
4013              },
4014              {
4015                "a": 255
4016              },
4017              {
4018                "a": 67
4019              },
4020              {
4021                "a": 0
4022              },
4023              {
4024                "a": 255
4025              },
4026              {
4027                "a": 68
4028              },
4029              {
4030                "a": 0
4031              },
4032              {
4033                "a": 255
4034              },
4035              {
4036                "a": 69
4037              },
4038              {
4039                "a": 0
4040              },
4041              {
4042                "a": 255
4043              },
4044              {
4045                "a": 70
4046              },
4047              {
4048                "a": 0
4049              },
4050              {
4051                "a": 255
4052              },
4053              {
4054                "a": 71
4055              },
4056              {
4057                "a": 0
4058              },
4059              {
4060                "a": 255
4061              },
4062              {
4063                "a": 72
4064              },
4065              {
4066                "a": 0
4067              },
4068              {
4069                "a": 255
4070              },
4071              {
4072                "a": 73
4073              },
4074              {
4075                "a": 0
4076              },
4077              {
4078                "a": 255
4079              },
4080              {
4081                "a": 74
4082              },
4083              {
4084                "a": 0
4085              },
4086              {
4087                "a": 255
4088              }
4089            ]
4090          }
4091        }
4092      },
4093      {
4094        "packed": "",
4095        "unpacked": {
4096          "s": {
4097            "array": []
4098          }
4099        }
4100      }
4101    ]
4102  },
4103  {
4104    "packet": "Struct_Array_Field_UnsizedElement_ConstantSize",
4105    "tests": [
4106      {
4107        "packed": "00034c4d4e00034f5051",
4108        "unpacked": {
4109          "s": {
4110            "array": [
4111              {
4112                "array": []
4113              },
4114              {
4115                "array": [
4116                  76,
4117                  77,
4118                  78
4119                ]
4120              },
4121              {
4122                "array": []
4123              },
4124              {
4125                "array": [
4126                  79,
4127                  80,
4128                  81
4129                ]
4130              }
4131            ]
4132          }
4133        }
4134      }
4135    ]
4136  },
4137  {
4138    "packet": "Struct_Array_Field_UnsizedElement_VariableSize",
4139    "tests": [
4140      {
4141        "packed": "0f0003555657000358595a00035b5c5d",
4142        "unpacked": {
4143          "s": {
4144            "array": [
4145              {
4146                "array": []
4147              },
4148              {
4149                "array": [
4150                  85,
4151                  86,
4152                  87
4153                ]
4154              },
4155              {
4156                "array": []
4157              },
4158              {
4159                "array": [
4160                  88,
4161                  89,
4162                  90
4163                ]
4164              },
4165              {
4166                "array": []
4167              },
4168              {
4169                "array": [
4170                  91,
4171                  92,
4172                  93
4173                ]
4174              }
4175            ]
4176          }
4177        }
4178      },
4179      {
4180        "packed": "00",
4181        "unpacked": {
4182          "s": {
4183            "array": []
4184          }
4185        }
4186      }
4187    ]
4188  },
4189  {
4190    "packet": "Struct_Array_Field_UnsizedElement_VariableCount",
4191    "tests": [
4192      {
4193        "packed": "0f00036162630003646566000367686900036a6b6c00036d6e6f0003707172000373747500",
4194        "unpacked": {
4195          "s": {
4196            "array": [
4197              {
4198                "array": []
4199              },
4200              {
4201                "array": [
4202                  97,
4203                  98,
4204                  99
4205                ]
4206              },
4207              {
4208                "array": []
4209              },
4210              {
4211                "array": [
4212                  100,
4213                  101,
4214                  102
4215                ]
4216              },
4217              {
4218                "array": []
4219              },
4220              {
4221                "array": [
4222                  103,
4223                  104,
4224                  105
4225                ]
4226              },
4227              {
4228                "array": []
4229              },
4230              {
4231                "array": [
4232                  106,
4233                  107,
4234                  108
4235                ]
4236              },
4237              {
4238                "array": []
4239              },
4240              {
4241                "array": [
4242                  109,
4243                  110,
4244                  111
4245                ]
4246              },
4247              {
4248                "array": []
4249              },
4250              {
4251                "array": [
4252                  112,
4253                  113,
4254                  114
4255                ]
4256              },
4257              {
4258                "array": []
4259              },
4260              {
4261                "array": [
4262                  115,
4263                  116,
4264                  117
4265                ]
4266              },
4267              {
4268                "array": []
4269              }
4270            ]
4271          }
4272        }
4273      },
4274      {
4275        "packed": "00",
4276        "unpacked": {
4277          "s": {
4278            "array": []
4279          }
4280        }
4281      }
4282    ]
4283  },
4284  {
4285    "packet": "Struct_Array_Field_UnsizedElement_UnknownSize",
4286    "tests": [
4287      {
4288        "packed": "0003797a7b00037c7d7e00037f408100038283840003858687000388898a00038b8c8d00038e8f9000039192930003949596000397989900039a9b9c00039d9e9f0003a0a1a20003a3a4a50003a6a7a8",
4289        "unpacked": {
4290          "s": {
4291            "array": [
4292              {
4293                "array": []
4294              },
4295              {
4296                "array": [
4297                  121,
4298                  122,
4299                  123
4300                ]
4301              },
4302              {
4303                "array": []
4304              },
4305              {
4306                "array": [
4307                  124,
4308                  125,
4309                  126
4310                ]
4311              },
4312              {
4313                "array": []
4314              },
4315              {
4316                "array": [
4317                  127,
4318                  64,
4319                  129
4320                ]
4321              },
4322              {
4323                "array": []
4324              },
4325              {
4326                "array": [
4327                  130,
4328                  131,
4329                  132
4330                ]
4331              },
4332              {
4333                "array": []
4334              },
4335              {
4336                "array": [
4337                  133,
4338                  134,
4339                  135
4340                ]
4341              },
4342              {
4343                "array": []
4344              },
4345              {
4346                "array": [
4347                  136,
4348                  137,
4349                  138
4350                ]
4351              },
4352              {
4353                "array": []
4354              },
4355              {
4356                "array": [
4357                  139,
4358                  140,
4359                  141
4360                ]
4361              },
4362              {
4363                "array": []
4364              },
4365              {
4366                "array": [
4367                  142,
4368                  143,
4369                  144
4370                ]
4371              },
4372              {
4373                "array": []
4374              },
4375              {
4376                "array": [
4377                  145,
4378                  146,
4379                  147
4380                ]
4381              },
4382              {
4383                "array": []
4384              },
4385              {
4386                "array": [
4387                  148,
4388                  149,
4389                  150
4390                ]
4391              },
4392              {
4393                "array": []
4394              },
4395              {
4396                "array": [
4397                  151,
4398                  152,
4399                  153
4400                ]
4401              },
4402              {
4403                "array": []
4404              },
4405              {
4406                "array": [
4407                  154,
4408                  155,
4409                  156
4410                ]
4411              },
4412              {
4413                "array": []
4414              },
4415              {
4416                "array": [
4417                  157,
4418                  158,
4419                  159
4420                ]
4421              },
4422              {
4423                "array": []
4424              },
4425              {
4426                "array": [
4427                  160,
4428                  161,
4429                  162
4430                ]
4431              },
4432              {
4433                "array": []
4434              },
4435              {
4436                "array": [
4437                  163,
4438                  164,
4439                  165
4440                ]
4441              },
4442              {
4443                "array": []
4444              },
4445              {
4446                "array": [
4447                  166,
4448                  167,
4449                  168
4450                ]
4451              }
4452            ]
4453          }
4454        }
4455      },
4456      {
4457        "packed": "",
4458        "unpacked": {
4459          "s": {
4460            "array": []
4461          }
4462        }
4463      }
4464    ]
4465  },
4466  {
4467    "packet": "Struct_Array_Field_UnsizedElement_SizeModifier",
4468    "tests": [
4469      {
4470        "packed": "0d0003acadae0003afb0b100",
4471        "unpacked": {
4472          "s": {
4473            "array": [
4474              {
4475                "array": []
4476              },
4477              {
4478                "array": [
4479                  172,
4480                  173,
4481                  174
4482                ]
4483              },
4484              {
4485                "array": []
4486              },
4487              {
4488                "array": [
4489                  175,
4490                  176,
4491                  177
4492                ]
4493              },
4494              {
4495                "array": []
4496              }
4497            ]
4498          }
4499        }
4500      },
4501      {
4502        "packed": "02",
4503        "unpacked": {
4504          "s": {
4505            "array": []
4506          }
4507        }
4508      }
4509    ]
4510  },
4511  {
4512    "packet": "Struct_Array_Field_SizedElement_VariableSize_Padded",
4513    "tests": [
4514      {
4515        "packed": "0000000000000000000000000000000000",
4516        "unpacked": {
4517          "s": {
4518            "array": []
4519          }
4520        }
4521      },
4522      {
4523        "packed": "0ead76adf8ae7aaefcaf7eafc0f0420000",
4524        "unpacked": {
4525          "s": {
4526            "array": [
4527              44406,
4528              44536,
4529              44666,
4530              44796,
4531              44926,
4532              44992,
4533              61506
4534            ]
4535          }
4536        }
4537      }
4538    ]
4539  },
4540  {
4541    "packet": "Struct_Array_Field_UnsizedElement_VariableCount_Padded",
4542    "tests": [
4543      {
4544        "packed": "070003c3c4c50003c6c7c80003c9cacb00",
4545        "unpacked": {
4546          "s": {
4547            "array": [
4548              {
4549                "array": []
4550              },
4551              {
4552                "array": [
4553                  195,
4554                  196,
4555                  197
4556                ]
4557              },
4558              {
4559                "array": []
4560              },
4561              {
4562                "array": [
4563                  198,
4564                  199,
4565                  200
4566                ]
4567              },
4568              {
4569                "array": []
4570              },
4571              {
4572                "array": [
4573                  201,
4574                  202,
4575                  203
4576                ]
4577              },
4578              {
4579                "array": []
4580              }
4581            ]
4582          }
4583        }
4584      },
4585      {
4586        "packed": "0000000000000000000000000000000000",
4587        "unpacked": {
4588          "s": {
4589            "array": []
4590          }
4591        }
4592      }
4593    ]
4594  },
4595  {
4596    "packet": "Struct_Optional_Scalar_Field",
4597    "tests": [
4598      {
4599        "packed": "01",
4600        "unpacked": {
4601          "s": {
4602            "a": null,
4603            "b": null
4604          }
4605        }
4606      },
4607      {
4608        "packed": "0300000000",
4609        "unpacked": {
4610          "s": {
4611            "a": null,
4612            "b": 0
4613          }
4614        }
4615      },
4616      {
4617        "packed": "03ffffffff",
4618        "unpacked": {
4619          "s": {
4620            "a": null,
4621            "b": 4294967295
4622          }
4623        }
4624      },
4625      {
4626        "packed": "03f777b7e0",
4627        "unpacked": {
4628          "s": {
4629            "a": null,
4630            "b": 4151818208
4631          }
4632        }
4633      },
4634      {
4635        "packed": "00000000",
4636        "unpacked": {
4637          "s": {
4638            "a": 0,
4639            "b": null
4640          }
4641        }
4642      },
4643      {
4644        "packed": "0200000000000000",
4645        "unpacked": {
4646          "s": {
4647            "a": 0,
4648            "b": 0
4649          }
4650        }
4651      },
4652      {
4653        "packed": "02000000ffffffff",
4654        "unpacked": {
4655          "s": {
4656            "a": 0,
4657            "b": 4294967295
4658          }
4659        }
4660      },
4661      {
4662        "packed": "02000000f777b7e0",
4663        "unpacked": {
4664          "s": {
4665            "a": 0,
4666            "b": 4151818208
4667          }
4668        }
4669      },
4670      {
4671        "packed": "00ffffff",
4672        "unpacked": {
4673          "s": {
4674            "a": 16777215,
4675            "b": null
4676          }
4677        }
4678      },
4679      {
4680        "packed": "02ffffff00000000",
4681        "unpacked": {
4682          "s": {
4683            "a": 16777215,
4684            "b": 0
4685          }
4686        }
4687      },
4688      {
4689        "packed": "02ffffffffffffff",
4690        "unpacked": {
4691          "s": {
4692            "a": 16777215,
4693            "b": 4294967295
4694          }
4695        }
4696      },
4697      {
4698        "packed": "02fffffff777b7e0",
4699        "unpacked": {
4700          "s": {
4701            "a": 16777215,
4702            "b": 4151818208
4703          }
4704        }
4705      },
4706      {
4707        "packed": "00f6b6dc",
4708        "unpacked": {
4709          "s": {
4710            "a": 16168668,
4711            "b": null
4712          }
4713        }
4714      },
4715      {
4716        "packed": "02f6b6dc00000000",
4717        "unpacked": {
4718          "s": {
4719            "a": 16168668,
4720            "b": 0
4721          }
4722        }
4723      },
4724      {
4725        "packed": "02f6b6dcffffffff",
4726        "unpacked": {
4727          "s": {
4728            "a": 16168668,
4729            "b": 4294967295
4730          }
4731        }
4732      },
4733      {
4734        "packed": "02f6b6dcf777b7e0",
4735        "unpacked": {
4736          "s": {
4737            "a": 16168668,
4738            "b": 4151818208
4739          }
4740        }
4741      }
4742    ]
4743  },
4744  {
4745    "packet": "Struct_Optional_Enum_Field",
4746    "tests": [
4747      {
4748        "packed": "01",
4749        "unpacked": {
4750          "s": {
4751            "a": null,
4752            "b": null
4753          }
4754        }
4755      },
4756      {
4757        "packed": "03aabb",
4758        "unpacked": {
4759          "s": {
4760            "a": null,
4761            "b": 43707
4762          }
4763        }
4764      },
4765      {
4766        "packed": "03ccdd",
4767        "unpacked": {
4768          "s": {
4769            "a": null,
4770            "b": 52445
4771          }
4772        }
4773      },
4774      {
4775        "packed": "00aabb",
4776        "unpacked": {
4777          "s": {
4778            "a": 43707,
4779            "b": null
4780          }
4781        }
4782      },
4783      {
4784        "packed": "02aabbaabb",
4785        "unpacked": {
4786          "s": {
4787            "a": 43707,
4788            "b": 43707
4789          }
4790        }
4791      },
4792      {
4793        "packed": "02aabbccdd",
4794        "unpacked": {
4795          "s": {
4796            "a": 43707,
4797            "b": 52445
4798          }
4799        }
4800      },
4801      {
4802        "packed": "00ccdd",
4803        "unpacked": {
4804          "s": {
4805            "a": 52445,
4806            "b": null
4807          }
4808        }
4809      },
4810      {
4811        "packed": "02ccddaabb",
4812        "unpacked": {
4813          "s": {
4814            "a": 52445,
4815            "b": 43707
4816          }
4817        }
4818      },
4819      {
4820        "packed": "02ccddccdd",
4821        "unpacked": {
4822          "s": {
4823            "a": 52445,
4824            "b": 52445
4825          }
4826        }
4827      }
4828    ]
4829  },
4830  {
4831    "packet": "Struct_Optional_Struct_Field",
4832    "tests": [
4833      {
4834        "packed": "01",
4835        "unpacked": {
4836          "s": {
4837            "a": null,
4838            "b": null
4839          }
4840        }
4841      },
4842      {
4843        "packed": "0300",
4844        "unpacked": {
4845          "s": {
4846            "a": null,
4847            "b": {
4848              "array": []
4849            }
4850          }
4851        }
4852      },
4853      {
4854        "packed": "0303e2e3e4",
4855        "unpacked": {
4856          "s": {
4857            "a": null,
4858            "b": {
4859              "array": [
4860                226,
4861                227,
4862                228
4863              ]
4864            }
4865          }
4866        }
4867      },
4868      {
4869        "packed": "0000",
4870        "unpacked": {
4871          "s": {
4872            "a": {
4873              "a": 0
4874            },
4875            "b": null
4876          }
4877        }
4878      },
4879      {
4880        "packed": "020000",
4881        "unpacked": {
4882          "s": {
4883            "a": {
4884              "a": 0
4885            },
4886            "b": {
4887              "array": []
4888            }
4889          }
4890        }
4891      },
4892      {
4893        "packed": "020003e2e3e4",
4894        "unpacked": {
4895          "s": {
4896            "a": {
4897              "a": 0
4898            },
4899            "b": {
4900              "array": [
4901                226,
4902                227,
4903                228
4904              ]
4905            }
4906          }
4907        }
4908      },
4909      {
4910        "packed": "00ff",
4911        "unpacked": {
4912          "s": {
4913            "a": {
4914              "a": 255
4915            },
4916            "b": null
4917          }
4918        }
4919      },
4920      {
4921        "packed": "02ff00",
4922        "unpacked": {
4923          "s": {
4924            "a": {
4925              "a": 255
4926            },
4927            "b": {
4928              "array": []
4929            }
4930          }
4931        }
4932      },
4933      {
4934        "packed": "02ff03e2e3e4",
4935        "unpacked": {
4936          "s": {
4937            "a": {
4938              "a": 255
4939            },
4940            "b": {
4941              "array": [
4942                226,
4943                227,
4944                228
4945              ]
4946            }
4947          }
4948        }
4949      },
4950      {
4951        "packed": "00e1",
4952        "unpacked": {
4953          "s": {
4954            "a": {
4955              "a": 225
4956            },
4957            "b": null
4958          }
4959        }
4960      },
4961      {
4962        "packed": "02e100",
4963        "unpacked": {
4964          "s": {
4965            "a": {
4966              "a": 225
4967            },
4968            "b": {
4969              "array": []
4970            }
4971          }
4972        }
4973      },
4974      {
4975        "packed": "02e103e2e3e4",
4976        "unpacked": {
4977          "s": {
4978            "a": {
4979              "a": 225
4980            },
4981            "b": {
4982              "array": [
4983                226,
4984                227,
4985                228
4986              ]
4987            }
4988          }
4989        }
4990      }
4991    ]
4992  }
4993]
4994