fn read_varint( rules: &PropertyRules, cursor: &mut &[u8], offset: usize, ) -> Result<u64, CodecError>