module Bundler::YAMLSerializer

def load(str)

def load(str)
  res = {}
  stack = [res]
  last_hash = nil
  last_empty_key = nil
  str.split(/\r?\n/) do |line|
    if match = HASH_REGEX.match(line)
      indent, key, quote, val = match.captures
      val = strip_comment(val)
      depth = indent.size / 2
      if quote.empty? && val.empty?
        new_hash = {}
        stack[depth][key] = new_hash
        stack[depth + 1] = new_hash
        last_empty_key = key
        last_hash = stack[depth]
      else
        val = [] if val == "[]" # empty array
        stack[depth][key] = val
      end
    elsif match = ARRAY_REGEX.match(line)
      _, val = match.captures
      val = strip_comment(val)
      last_hash[last_empty_key] = [] unless last_hash[last_empty_key].is_a?(Array)
      last_hash[last_empty_key].push(val)
    end
  end
  res
end