<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Module%3A%E6%B2%99%E7%9B%92%2FWetitpig0%2Fsandbox.lua</id>
	<title>Module:沙盒/Wetitpig0/sandbox.lua - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Module%3A%E6%B2%99%E7%9B%92%2FWetitpig0%2Fsandbox.lua"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Module:%E6%B2%99%E7%9B%92/Wetitpig0/sandbox.lua&amp;action=history"/>
	<updated>2026-07-19T02:45:30Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=Module:%E6%B2%99%E7%9B%92/Wetitpig0/sandbox.lua&amp;diff=2945482&amp;oldid=prev</id>
		<title>2017年9月21日 (四) 07:00 imported&gt;Wetitpig0</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Module:%E6%B2%99%E7%9B%92/Wetitpig0/sandbox.lua&amp;diff=2945482&amp;oldid=prev"/>
		<updated>2017-09-21T07:00:20Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;--&lt;br /&gt;
-- json.lua&lt;br /&gt;
--&lt;br /&gt;
-- Copyright (c) 2015 rxi&lt;br /&gt;
--&lt;br /&gt;
-- This library is free software; you can redistribute it and/or modify it&lt;br /&gt;
-- under the terms of the MIT license. See LICENSE for details.&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
local json = { _version = &amp;quot;0.1.0&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- Encode&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local encode&lt;br /&gt;
&lt;br /&gt;
local escape_char_map = {&lt;br /&gt;
  [ &amp;quot;\\&amp;quot; ] = &amp;quot;\\\\&amp;quot;,&lt;br /&gt;
  [ &amp;quot;\&amp;quot;&amp;quot; ] = &amp;quot;\\\&amp;quot;&amp;quot;,&lt;br /&gt;
  [ &amp;quot;\b&amp;quot; ] = &amp;quot;\\b&amp;quot;,&lt;br /&gt;
  [ &amp;quot;\f&amp;quot; ] = &amp;quot;\\f&amp;quot;,&lt;br /&gt;
  [ &amp;quot;\n&amp;quot; ] = &amp;quot;\\n&amp;quot;,&lt;br /&gt;
  [ &amp;quot;\r&amp;quot; ] = &amp;quot;\\r&amp;quot;,&lt;br /&gt;
  [ &amp;quot;\t&amp;quot; ] = &amp;quot;\\t&amp;quot;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local escape_char_map_inv = { [ &amp;quot;\\/&amp;quot; ] = &amp;quot;/&amp;quot; }&lt;br /&gt;
for k, v in pairs(escape_char_map) do&lt;br /&gt;
  escape_char_map_inv[v] = k&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function escape_char(c)&lt;br /&gt;
  return escape_char_map[c] or string.format(&amp;quot;\\u%04x&amp;quot;, c:byte())&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function encode_nil(val)&lt;br /&gt;
  return &amp;quot;null&amp;quot;&lt;br /&gt;
end &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function encode_table(val, stack)&lt;br /&gt;
  local res = {}&lt;br /&gt;
  stack = stack or {}&lt;br /&gt;
&lt;br /&gt;
  -- Circular reference?&lt;br /&gt;
  if stack[val] then error(&amp;quot;circular reference&amp;quot;) end&lt;br /&gt;
&lt;br /&gt;
  stack[val] = true&lt;br /&gt;
&lt;br /&gt;
  if val[1] ~= nil or next(val) == nil then&lt;br /&gt;
    -- Treat as array -- check keys are valid and it is not sparse&lt;br /&gt;
    local n = 0&lt;br /&gt;
    for k in pairs(val) do&lt;br /&gt;
      if type(k) ~= &amp;quot;number&amp;quot; then&lt;br /&gt;
        error(&amp;quot;invalid table: mixed or invalid key types&amp;quot;)&lt;br /&gt;
      end&lt;br /&gt;
      n = n + 1&lt;br /&gt;
    end&lt;br /&gt;
    if n ~= #val then&lt;br /&gt;
      error(&amp;quot;invalid table: sparse array&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
    -- Encode&lt;br /&gt;
    for i, v in ipairs(val) do&lt;br /&gt;
      table.insert(res, encode(v, stack))&lt;br /&gt;
    end&lt;br /&gt;
    stack[val] = nil&lt;br /&gt;
    return &amp;quot;[&amp;quot; .. table.concat(res, &amp;quot;,&amp;quot;) .. &amp;quot;]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  else&lt;br /&gt;
    -- Treat as an object&lt;br /&gt;
    for k, v in pairs(val) do&lt;br /&gt;
      if type(k) ~= &amp;quot;string&amp;quot; then&lt;br /&gt;
        error(&amp;quot;invalid table: mixed or invalid key types&amp;quot;)&lt;br /&gt;
      end&lt;br /&gt;
      table.insert(res, encode(k, stack) .. &amp;quot;:&amp;quot; .. encode(v, stack))&lt;br /&gt;
    end&lt;br /&gt;
    stack[val] = nil&lt;br /&gt;
    return &amp;quot;{&amp;quot; .. table.concat(res, &amp;quot;,&amp;quot;) .. &amp;quot;}&amp;quot;&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function encode_string(val)&lt;br /&gt;
  return &amp;#039;&amp;quot;&amp;#039; .. val:gsub(&amp;#039;[%z\1-\31\\&amp;quot;]&amp;#039;, escape_char) .. &amp;#039;&amp;quot;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function encode_number(val)&lt;br /&gt;
  -- Check for NaN, -inf and inf&lt;br /&gt;
  if val ~= val or val &amp;lt;= -math.huge or val &amp;gt;= math.huge then&lt;br /&gt;
    error(&amp;quot;unexpected number value &amp;#039;&amp;quot; .. tostring(val) .. &amp;quot;&amp;#039;&amp;quot;)&lt;br /&gt;
  end&lt;br /&gt;
  return string.format(&amp;quot;%.14g&amp;quot;, val)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local type_func_map = {&lt;br /&gt;
  [ &amp;quot;nil&amp;quot;     ] = encode_nil,&lt;br /&gt;
  [ &amp;quot;table&amp;quot;   ] = encode_table,&lt;br /&gt;
  [ &amp;quot;string&amp;quot;  ] = encode_string,&lt;br /&gt;
  [ &amp;quot;number&amp;quot;  ] = encode_number,&lt;br /&gt;
  [ &amp;quot;boolean&amp;quot; ] = tostring,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
encode = function(val, stack)&lt;br /&gt;
  local t = type(val)&lt;br /&gt;
  local f = type_func_map[t]&lt;br /&gt;
  if f then&lt;br /&gt;
    return f(val, stack)&lt;br /&gt;
  end&lt;br /&gt;
  error(&amp;quot;unexpected type &amp;#039;&amp;quot; .. t .. &amp;quot;&amp;#039;&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function json.encode(val)&lt;br /&gt;
  return ( encode(val) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
-- Decode&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local parse&lt;br /&gt;
&lt;br /&gt;
local function create_set(...) &lt;br /&gt;
  local res = {}&lt;br /&gt;
  for i = 1, select(&amp;quot;#&amp;quot;, ...) do&lt;br /&gt;
    res[ select(i, ...) ] = true&lt;br /&gt;
  end&lt;br /&gt;
  return res&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local space_chars   = create_set(&amp;quot; &amp;quot;, &amp;quot;\t&amp;quot;, &amp;quot;\r&amp;quot;, &amp;quot;\n&amp;quot;)&lt;br /&gt;
local delim_chars   = create_set(&amp;quot; &amp;quot;, &amp;quot;\t&amp;quot;, &amp;quot;\r&amp;quot;, &amp;quot;\n&amp;quot;, &amp;quot;]&amp;quot;, &amp;quot;}&amp;quot;, &amp;quot;,&amp;quot;)&lt;br /&gt;
local escape_chars  = create_set(&amp;quot;\\&amp;quot;, &amp;quot;/&amp;quot;, &amp;#039;&amp;quot;&amp;#039;, &amp;quot;b&amp;quot;, &amp;quot;f&amp;quot;, &amp;quot;n&amp;quot;, &amp;quot;r&amp;quot;, &amp;quot;t&amp;quot;, &amp;quot;u&amp;quot;)&lt;br /&gt;
local literals      = create_set(&amp;quot;true&amp;quot;, &amp;quot;false&amp;quot;, &amp;quot;null&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
local literal_map = {&lt;br /&gt;
  [ &amp;quot;true&amp;quot;  ] = true,&lt;br /&gt;
  [ &amp;quot;false&amp;quot; ] = false,&lt;br /&gt;
  [ &amp;quot;null&amp;quot;  ] = nil,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function next_char(str, idx, set, negate)&lt;br /&gt;
  for i = idx, #str do&lt;br /&gt;
    if set[str:sub(i, i)] ~= negate then&lt;br /&gt;
      return i&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
  return #str + 1&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function decode_error(str, idx, msg)&lt;br /&gt;
  local line_count = 1&lt;br /&gt;
  local col_count = 1&lt;br /&gt;
  for i = 1, idx - 1 do&lt;br /&gt;
    col_count = col_count + 1&lt;br /&gt;
    if str:sub(i, i) == &amp;quot;\n&amp;quot; then&lt;br /&gt;
      line_count = line_count + 1&lt;br /&gt;
      col_count = 1&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
  error( string.format(&amp;quot;%s at line %d col %d&amp;quot;, msg, line_count, col_count) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function codepoint_to_utf8(n)&lt;br /&gt;
  -- http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&amp;amp;id=iws-appendixa&lt;br /&gt;
  local f = math.floor&lt;br /&gt;
  if n &amp;lt;= 0x7f then&lt;br /&gt;
    return string.char(n)&lt;br /&gt;
  elseif n &amp;lt;= 0x7ff then&lt;br /&gt;
    return string.char(f(n / 64) + 192, n % 64 + 128)&lt;br /&gt;
  elseif n &amp;lt;= 0xffff then&lt;br /&gt;
    return string.char(f(n / 4096) + 224, f(n % 4096 / 64) + 128, n % 64 + 128)&lt;br /&gt;
  elseif n &amp;lt;= 0x10ffff then&lt;br /&gt;
    return string.char(f(n / 262144) + 240, f(n % 262144 / 4096) + 128,&lt;br /&gt;
                       f(n % 4096 / 64) + 128, n % 64 + 128)&lt;br /&gt;
  end&lt;br /&gt;
  error( string.format(&amp;quot;invalid unicode codepoint &amp;#039;%x&amp;#039;&amp;quot;, n) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function parse_unicode_escape(s)&lt;br /&gt;
  local n1 = tonumber( s:sub(3, 6),  16 )&lt;br /&gt;
  local n2 = tonumber( s:sub(9, 12), 16 )&lt;br /&gt;
  -- Surrogate pair?&lt;br /&gt;
  if n2 then&lt;br /&gt;
    return codepoint_to_utf8((n1 - 0xd800) * 0x400 + (n2 - 0xdc00) + 0x10000)&lt;br /&gt;
  else&lt;br /&gt;
    return codepoint_to_utf8(n1)&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function parse_string(str, i)&lt;br /&gt;
  local has_unicode_escape = false&lt;br /&gt;
  local has_surrogate_escape = false&lt;br /&gt;
  local has_escape = false&lt;br /&gt;
  local last&lt;br /&gt;
  for j = i + 1, #str do&lt;br /&gt;
    local x = str:byte(j)&lt;br /&gt;
&lt;br /&gt;
    if x &amp;lt; 32 then&lt;br /&gt;
      decode_error(str, j, &amp;quot;control character in string&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    if last == 92 then -- &amp;quot;\\&amp;quot; (escape char)&lt;br /&gt;
      if x == 117 then -- &amp;quot;u&amp;quot; (unicode escape sequence)&lt;br /&gt;
        local hex = str:sub(j + 1, j + 5)&lt;br /&gt;
        if not hex:find(&amp;quot;%x%x%x%x&amp;quot;) then&lt;br /&gt;
          decode_error(str, j, &amp;quot;invalid unicode escape in string&amp;quot;)&lt;br /&gt;
        end&lt;br /&gt;
        if hex:find(&amp;quot;^[dD][89aAbB]&amp;quot;) then&lt;br /&gt;
          has_surrogate_escape = true&lt;br /&gt;
        else&lt;br /&gt;
          has_unicode_escape = true&lt;br /&gt;
        end&lt;br /&gt;
      else&lt;br /&gt;
        local c = string.char(x)&lt;br /&gt;
        if not escape_chars[c] then&lt;br /&gt;
          decode_error(str, j, &amp;quot;invalid escape char &amp;#039;&amp;quot; .. c .. &amp;quot;&amp;#039; in string&amp;quot;)&lt;br /&gt;
        end&lt;br /&gt;
        has_escape = true&lt;br /&gt;
      end&lt;br /&gt;
      last = nil&lt;br /&gt;
&lt;br /&gt;
    elseif x == 34 then -- &amp;#039;&amp;quot;&amp;#039; (end of string)&lt;br /&gt;
      local s = str:sub(i + 1, j - 1)&lt;br /&gt;
      if has_surrogate_escape then &lt;br /&gt;
        s = s:gsub(&amp;quot;\\u[dD][89aAbB]..\\u....&amp;quot;, parse_unicode_escape)&lt;br /&gt;
      end&lt;br /&gt;
      if has_unicode_escape then &lt;br /&gt;
        s = s:gsub(&amp;quot;\\u....&amp;quot;, parse_unicode_escape)&lt;br /&gt;
      end&lt;br /&gt;
      if has_escape then&lt;br /&gt;
        s = s:gsub(&amp;quot;\\.&amp;quot;, escape_char_map_inv)&lt;br /&gt;
      end&lt;br /&gt;
      return s, j + 1&lt;br /&gt;
    &lt;br /&gt;
    else&lt;br /&gt;
      last = x&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
  decode_error(str, i, &amp;quot;expected closing quote for string&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function parse_number(str, i)&lt;br /&gt;
  local x = next_char(str, i, delim_chars)&lt;br /&gt;
  local s = str:sub(i, x - 1)&lt;br /&gt;
  local n = tonumber(s)&lt;br /&gt;
  if not n then&lt;br /&gt;
    decode_error(str, i, &amp;quot;invalid number &amp;#039;&amp;quot; .. s .. &amp;quot;&amp;#039;&amp;quot;)&lt;br /&gt;
  end&lt;br /&gt;
  return n, x&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function parse_literal(str, i)&lt;br /&gt;
  local x = next_char(str, i, delim_chars)&lt;br /&gt;
  local word = str:sub(i, x - 1)&lt;br /&gt;
  if not literals[word] then&lt;br /&gt;
    decode_error(str, i, &amp;quot;invalid literal &amp;#039;&amp;quot; .. word .. &amp;quot;&amp;#039;&amp;quot;)&lt;br /&gt;
  end&lt;br /&gt;
  return literal_map[word], x&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function parse_array(str, i)&lt;br /&gt;
  local res = {}&lt;br /&gt;
  local n = 1&lt;br /&gt;
  i = i + 1&lt;br /&gt;
  while 1 do&lt;br /&gt;
    local x&lt;br /&gt;
    i = next_char(str, i, space_chars, true)&lt;br /&gt;
    -- Empty / end of array?&lt;br /&gt;
    if str:sub(i, i) == &amp;quot;]&amp;quot; then &lt;br /&gt;
      i = i + 1&lt;br /&gt;
      break&lt;br /&gt;
    end&lt;br /&gt;
    -- Read token&lt;br /&gt;
    x, i = parse(str, i)&lt;br /&gt;
    res[n] = x&lt;br /&gt;
    n = n + 1&lt;br /&gt;
    -- Next token &lt;br /&gt;
    i = next_char(str, i, space_chars, true)&lt;br /&gt;
    local chr = str:sub(i, i)&lt;br /&gt;
    i = i + 1&lt;br /&gt;
    if chr == &amp;quot;]&amp;quot; then break end&lt;br /&gt;
    if chr ~= &amp;quot;,&amp;quot; then decode_error(str, i, &amp;quot;expected &amp;#039;]&amp;#039; or &amp;#039;,&amp;#039;&amp;quot;) end&lt;br /&gt;
  end&lt;br /&gt;
  return res, i&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function parse_object(str, i)&lt;br /&gt;
  local res = {}&lt;br /&gt;
  i = i + 1&lt;br /&gt;
  while 1 do&lt;br /&gt;
    local key, val&lt;br /&gt;
    i = next_char(str, i, space_chars, true)&lt;br /&gt;
    -- Empty / end of object?&lt;br /&gt;
    if str:sub(i, i) == &amp;quot;}&amp;quot; then &lt;br /&gt;
      i = i + 1&lt;br /&gt;
      break&lt;br /&gt;
    end&lt;br /&gt;
    -- Read key&lt;br /&gt;
    if str:sub(i, i) ~= &amp;#039;&amp;quot;&amp;#039; then&lt;br /&gt;
      decode_error(str, i, &amp;quot;expected string for key&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
    key, i = parse(str, i)&lt;br /&gt;
    -- Read &amp;#039;:&amp;#039; delimiter&lt;br /&gt;
    i = next_char(str, i, space_chars, true)&lt;br /&gt;
    if str:sub(i, i) ~= &amp;quot;:&amp;quot; then&lt;br /&gt;
      decode_error(str, i, &amp;quot;expected &amp;#039;:&amp;#039; after key&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
    i = next_char(str, i + 1, space_chars, true)&lt;br /&gt;
    -- Read value&lt;br /&gt;
    val, i = parse(str, i)&lt;br /&gt;
    -- Set&lt;br /&gt;
    res[key] = val&lt;br /&gt;
    -- Next token&lt;br /&gt;
    i = next_char(str, i, space_chars, true)&lt;br /&gt;
    local chr = str:sub(i, i)&lt;br /&gt;
    i = i + 1&lt;br /&gt;
    if chr == &amp;quot;}&amp;quot; then break end&lt;br /&gt;
    if chr ~= &amp;quot;,&amp;quot; then decode_error(str, i, &amp;quot;expected &amp;#039;}&amp;#039; or &amp;#039;,&amp;#039;&amp;quot;) end&lt;br /&gt;
  end&lt;br /&gt;
  return res, i&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local char_func_map = {&lt;br /&gt;
  [ &amp;#039;&amp;quot;&amp;#039; ] = parse_string,&lt;br /&gt;
  [ &amp;quot;0&amp;quot; ] = parse_number,&lt;br /&gt;
  [ &amp;quot;1&amp;quot; ] = parse_number,&lt;br /&gt;
  [ &amp;quot;2&amp;quot; ] = parse_number,&lt;br /&gt;
  [ &amp;quot;3&amp;quot; ] = parse_number,&lt;br /&gt;
  [ &amp;quot;4&amp;quot; ] = parse_number,&lt;br /&gt;
  [ &amp;quot;5&amp;quot; ] = parse_number,&lt;br /&gt;
  [ &amp;quot;6&amp;quot; ] = parse_number,&lt;br /&gt;
  [ &amp;quot;7&amp;quot; ] = parse_number,&lt;br /&gt;
  [ &amp;quot;8&amp;quot; ] = parse_number,&lt;br /&gt;
  [ &amp;quot;9&amp;quot; ] = parse_number,&lt;br /&gt;
  [ &amp;quot;-&amp;quot; ] = parse_number,&lt;br /&gt;
  [ &amp;quot;t&amp;quot; ] = parse_literal,&lt;br /&gt;
  [ &amp;quot;f&amp;quot; ] = parse_literal,&lt;br /&gt;
  [ &amp;quot;n&amp;quot; ] = parse_literal,&lt;br /&gt;
  [ &amp;quot;[&amp;quot; ] = parse_array,&lt;br /&gt;
  [ &amp;quot;{&amp;quot; ] = parse_object,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
parse = function(str, idx)&lt;br /&gt;
  local chr = str:sub(idx, idx)&lt;br /&gt;
  local f = char_func_map[chr]&lt;br /&gt;
  if f then&lt;br /&gt;
    return f(str, idx)&lt;br /&gt;
  end&lt;br /&gt;
  decode_error(str, idx, &amp;quot;unexpected character &amp;#039;&amp;quot; .. chr .. &amp;quot;&amp;#039;&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function json.decode(str)&lt;br /&gt;
  if type(str) ~= &amp;quot;string&amp;quot; then&lt;br /&gt;
    error(&amp;quot;expected argument of type string, got &amp;quot; .. type(str))&lt;br /&gt;
  end&lt;br /&gt;
  return ( parse(str, next_char(str, 1, space_chars, true)) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
return json&lt;/div&gt;</summary>
		<author><name>imported&gt;Wetitpig0</name></author>
	</entry>
</feed>