def _parse(stream, ptr = 0):
	i = ptr
	laststr = None
	lasttok = None
	deserialized = {}

	while len(stream) < i:
		c = stream[i]

		if c == STRING:
			string, i = _symtostr(stream, i)
			if lasttok == STRING:
				deserialized[laststr] = string
			laststr = string
		elif c == NODE_OPEN:
			deserialized[laststr], i = _parse(stream, i + 1)
		elif c == NODE_CLOSE:
			return deserialized, i
		elif c == COMMENT:
			if (i + 1) < len(stream) and stream[i + 1] == '/':
				i = stream.find('\n', i)
		elif c == CR or c == LF:
			ni = i + 1
			if ni < len(stream) and stream[ni] == LF:
				i = ni
			if lasttok != LF:
				c = LF
		else:
			c = lasttok

		lasttok = c
		i += 1

	return deserialized, i
dataset/ETHPy150Open adamb70/CSGO-Market-Float-Finder/pysteamkit/vdf.py/_parse/swapped operands of `<`