int readVInt() throws IOException {
		int i, o = 0, vint = 0;
		do {
			i = super.read();
			if (i < 0) {
				throw new EOFException();
			}
			i &= 0xff;
			vint += (i & 0x7f) << (o++ * 7);
		} while ((i & 0x80) == 0x80);
		return vint;
	}