namespace SabreTools.Data.Models.XZ { public class Index { /// /// The value of Index Indicator is always 0x00 /// public byte IndexIndicator { get; set; } /// /// This field indicates how many Records there are in the List /// of Records field, and thus how many Blocks there are in the /// Stream /// /// Stored as a variable-length integer public ulong NumberOfRecords { get; set; } /// /// One record per block /// public Record[] Records { get; set; } = []; /// /// This field MUST contain 0-3 null bytes to pad the Index to /// a multiple of four bytes. /// public byte[] Padding { get; set; } = []; /// /// The CRC32 is calculated over everything in the Index field /// except the CRC32 field itself. The CRC32 is stored as an /// unsigned 32-bit little endian integer. /// public uint Crc32 { get; set; } } }