raise DecodeError("unfinished tag")
if indexbytes(data, i) & 0x80 == 0:
break
raise DecodeError("unfinished tag")
if indexbytes(data, i) & 0x80 == 0:
break
if i > 1 and indexbytes(data, 1) & 0x7F == 0:
raise DecodeError("leading zero byte in tag value")
i += 1
if i > 1 and indexbytes(data, 1) & 0x7F == 0:
raise DecodeError("leading zero byte in tag value")
i += 1