private ulong ReadSize(ByteVector data, ref int pos) { uint tmp; ulong size = 0; do { tmp = data[pos++]; size = (size << 7) | (tmp & 0x7F); } while ((tmp & 0x80) == 0x80 && pos < data.Count); return size; }