{"slots":{"0":{"name":"slot1","type":{"methods":[],"events":[]}},"1":{"name":"slot2","type":{"methods":[],"events":[]}},"2":{"name":"slot3","type":{"methods":[],"events":[]}},"3":{"name":"slot4","type":{"methods":[],"events":[]}},"4":{"name":"slot5","type":{"methods":[],"events":[]}},"5":{"name":"slot6","type":{"methods":[],"events":[]}},"6":{"name":"slot7","type":{"methods":[],"events":[]}},"7":{"name":"slot8","type":{"methods":[],"events":[]}},"8":{"name":"slot9","type":{"methods":[],"events":[]}},"9":{"name":"slot10","type":{"methods":[],"events":[]}},"-1":{"name":"unit","type":{"methods":[],"events":[]},"_elementType":"control"},"-2":{"name":"system","type":{"methods":[],"events":[]},"_elementType":"system"},"-3":{"name":"library","type":{"methods":[],"events":[]},"_elementType":"library"}},"handlers":[{"key":"0","filter":{"slotKey":-1,"signature":"start()","args":[]},"code":"-- Garbage collection fix added by wrap.lua\ndo\n -- Set GC pause. This more or less means by how many % memory use should increase before a garbage collection is started. Lua default is 200\n local newPause = 110\n local oldPause = collectgarbage(\"setpause\", newPause)\n\n if oldPause < newPause then\n -- DU now has a different default GC pause which is even lower. Revert back to it.\n collectgarbage(\"setpause\", oldPause)\n end\nend\n-- error handling code added by wrap.lua\n__wrap_lua__stopped = false\n__wrap_lua__stopOnError = false\n__wrap_lua__rethrowErrorAlways = false\n__wrap_lua__rethrowErrorIfStopped = true\n__wrap_lua__printError = true\n__wrap_lua__showErrorOnScreens = true\n\nfunction __wrap_lua__error (message)\n if __wrap_lua__stopped then return end\n\n -- make the traceback more readable and escape HTML syntax characters\n message = tostring(message):gsub('\"%-%- |STDERROR%-EVENTHANDLER[^\"]*\"', 'chunk'):gsub(\"&\", \"&\"):gsub(\"<\", \"<\"):gsub(\">\", \">\")\n\n local unit = unit or self or {}\n\n if __wrap_lua__showErrorOnScreens then\n for _, value in pairs(unit) do\n if type(value) == \"table\" and value.setCenteredText and value.setHTML then -- value is a screen\n if message:match(\"\\n\") then\n value.setHTML([[\n
\nError: ]] .. message .. [[\n]])\n else\n value.setCenteredText(message)\n end\n end\n end\n end\n\n if __wrap_lua__printError and system and system.print then\n system.print(\"Error: \" .. message:gsub(\"\\n\", \"