DELTA SVN‚‚€‚This is tolua-5.2.4 modified for Freeciv usage. Not entire tolua distribution directory hierarchy is included here, and some files needed for Freeciv usage have been added. Changes applied to included tolua source files are included in freeciv_tolua.patch ENDREP DELTA SVNŠŠ€Šdiff -Nurd tolua-5.2/src/bin/tolua.c tolua-5.2/src/bin/tolua.c --- tolua-5.2/src/bin/tolua.c 2016-01-06 01:19:24.984940138 +0200 +++ tolua-5.2/src/bin/tolua.c 2016-01-06 01:22:44.160507862 +0200 @@ -22,6 +22,9 @@ #include #include +#ifndef LUA_SOURCE +int tolua_tolua_open(lua_State *L); +#endif static void help (void) { @@ -106,7 +109,6 @@ #ifndef LUA_SOURCE { - int tolua_tolua_open (lua_State* L); tolua_tolua_open(L); } #else diff -Nurd tolua-5.2/src/lib/tolua_event.c tolua-5.2/src/lib/tolua_event.c --- tolua-5.2/src/lib/tolua_event.c 2016-01-06 01:19:24.980940147 +0200 +++ tolua-5.2/src/lib/tolua_event.c 2016-01-06 01:20:07.884846927 +0200 @@ -18,6 +18,8 @@ #include "tolua.h" +#include "tolua_event.h" + /* Store at peer * It stores, creating the corresponding table if needed, * the pair key/value in the corresponding peer table diff -Nurd tolua-5.2/src/lib/tolua_map.c tolua-5.2/src/lib/tolua_map.c --- tolua-5.2/src/lib/tolua_map.c 2016-01-06 01:19:24.980940147 +0200 +++ tolua-5.2/src/lib/tolua_map.c 2016-01-06 01:20:48.972757711 +0200 @@ -21,6 +21,7 @@ #include #include +int tolua_bnd_takeownership(lua_State *L); static char toluaname[128] = "tolua."; static const char* TOLUANAME (const char* n) ENDREP DELTA 21069 35503 9898 SVNΝΠ@8ƒlˆ'„qˆ(€J•€ …_£JŸ‚}©'‹|¬&€}0Έ?€GΗk΄„Ι if self.type == 'tolua_multret' then output(' int tolua_ret;') endif self.type == 'tolua_multret' then output(' tolua_ret = ') else output(' ',self.mod,ctype,self.ptr,'tolua_ret = ') endand self.type ~= 'tolua_multretif self.type == "tolua_multret" then output(' return '..nret..' + tolua_ret;') else output(' return '..nret..';') endif string.find(t.type,"tolua_own") then t.mod = "tolua_own" endlseif t.type == 'tolua_len' then t.lname = ".len"ENDREP DELTA 22462 70 64 SVN6X&ž"Version \ freeciv_tolua.patchENDREP DELTA 21069 0 1419 SVNŠ}ˆh ŒˆT‚) tolua-5.2.4ENDREP DELTA 21069 1432 5749 SVN¬g­%„^‚„_€₯x†o4tolua_multret; typedef int tolua_lenENDREP DELTA 26905 0 13029 SVNνmτN‡¨=€†'‚¨r±‹ͺx―·lΆ/* ** Function to return peer table associated to a given object */ static int tolua_bnd_getpeertable (lua_State* L) { lua_pushstring(L,"tolua_peer"); lua_rawget(L,LUA_REGISTRYINDEX); /* stack: k v peer */ lua_pushvalue(L,1); lua_rawget(L,-2); /* stack: k v peer peer[u] */ if (!lua_istable(L,-1)) { lua_pop(L,1); /* stack: k v peer */ lua_newtable(L); /* stack: k v peer table */ lua_pushvalue(L,1); lua_pushvalue(L,-2); /* stack: k v peer table u table */ lua_rawset(L,-4); /* stack: k v peer peer[u]=table */ } return 1; } static void tolua_push_globals_table (lua_State* L) { #if defined (LUA_VERSION_NUM) && LUA_VERSION_NUM >= 502 /* after lua 5.2 */#else lua_pushvalue(L,LUA_GLOBALSINDEX); #endiffunction(L,"getpeertable",tolua_bnd_getpeertablENDREP DELTA 21069 30669 4821 SVN₯G€-£!€I9€‡A‰€šW -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- Last update: Apr 2003 -- $Id: basic.lua,v 1.4 2009/11/24 16:45:13 fabraham Exp $ -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Basic C types and their corresponding Lua types -- All occurrences of "char*" will be replaced by "_cstring", -- and all occurrences of "void*" will be replaced by "_userdata" _basic = { ['void'] = '', ['char'] = 'number', ['tolua_index'] = 'number', ['tolua_len'] = 'number', ['tolua_byte'] = 'number', ['tolua_ubyte'] = 'number', ['tolua_multret'] = 'number', ['int'] = 'number', ['short'] = 'number', ['long'] = 'number', ['unsigned'] = 'number', ['float'] = 'number', ['double'] = 'number', ['_cstring'] = 'string', ['_userdata'] = 'userdata', ['char*'] = 'string', ['void*'] = 'userdata', ['bool'] = 'boolean', ['lua_State*'] = 'state', ['_lstate'] = 'state', ['lua_Object'] = 'value', ['lua_Function'] = 'function', } _basic_ctype = { number = "lua_Number", string = "const char*", userdata = "void*", boolean = "bool", value = "int", } -- List of user defined types -- Each type corresponds to a variable name that stores its tag value. _usertype = {} -- List of types that have to be collected _collect = {} -- List of auto renaming _renaming = {} function appendrenaming (s) local b,e,old,new = strfind(s,"%s*(.-)%s*@%s*(.-)%s*$") if not b then error("#Invalid renaming syntax; it should be of the form: pattern@pattern") end tinsert(_renaming,{old=old, new=new}) end function applyrenaming (s) for i=1,getn(_renaming) do local m,n = gsub(s,_renaming[i].old,_renaming[i].new) if n ~= 0 then return m end end return nil end -- Error handler function tolua_error (s,f) local out = _OUTPUT _OUTPUT = _STDERR if strsub(s,1,1) == '#' then write("\n** tolua: "..strsub(s,2)..".\n\n") if _curr_code then local _,_,s = strfind(_curr_code,"^%s*(.-\n)") -- extract first line if s==nil then s = _curr_code end s = gsub(s,"_userdata","void*") -- return with 'void*' s = gsub(s,"_cstring","char*") -- return with 'char*' s = gsub(s,"_lstate","lua_State*") -- return with 'lua_State*' write("Code being processed:\n"..s.."\n") end else print(debug.traceback("\n** tolua internal error: "..f..s..".\n\n")) return end _OUTPUT = out end function warning (msg) local out = _OUTPUT _OUTPUT = _STDERR write("\n** tolua warning: "..msg..".\n\n") _OUTPUT = out end -- register an user defined type: returns full type function regtype (t) local ft = findtype(t) if isbasic(t) then return t end if not ft then return appendusertype(t) end end -- return type name: returns full type function typevar(type) if type == '' or type == 'void' or type == "..." then return type else local ft = findtype(type) if ft then return ft end _usertype[type] = type return type end end -- check if basic type function isbasic (type) local t = gsub(type,'const ','') local m,t = applytypedef(t) local b = _basic[t] if b then return b,_basic_ctype[b] end return nil end -- split string using a token function split (s,t) local l = {n=0} local f = function (s) l.n = l.n + 1 l[l.n] = s return "" end local p = "%s*(.-)%s*"..t.."%s*" s = gsub(s,"^%s+","") s = gsub(s,"%s+$","") s = gsub(s,p,f) l.n = l.n + 1 l[l.n] = gsub(s,"(%s%s*)$","") return l end -- concatenate strings of a table function concat (t,f,l) local s = '' local i=f while i<=l do s = s..t[i] i = i+1 if i <= l then s = s..' ' end end return s end -- concatenate all parameters, following output rules function concatparam (line, ...) local arg = {...} local i=1 while i<=#arg do if _cont and not strfind(_cont,'[%(,"]') and strfind(arg[i],"^[%a_~]") then line = line .. ' ' end line = line .. arg[i] if arg[i] ~= '' then _cont = strsub(arg[i],-1,-1) end i = i+1 end if strfind(arg[#arg],"[%/%)%;%{%}]$") then _cont=nil line = line .. '\n' end return line end -- output line function output (...) local arg = {...} local i=1 while i<=#arg do if _cont and not strfind(_cont,'[%(,"]') and strfind(arg[i],"^[%a_~]") then write(' ') end write(arg[i]) if arg[i] ~= '' then _cont = strsub(arg[i],-1,-1) end i = i+1 end if strfind(arg[#arg],"[%/%)%;%{%}]$") then _cont=nil write('\n') end end ENDREP DELTA 21069 90611 262414 SVN† † Κ:†·c†}€O¦5€ˆm°1€‰IO»9€Ž=3ΛE€ŽiΥ!€…5[γq€‰]‚‚Θ9€„{τX€‹y €•˜T€a[§t€†=Q†›v€“7B…Δ>€†>BΩ€‹FΪ\€ƒ:Σ4€n‚‚Θ9„Όγy€‹114, 97,119,116,121,112,101, 32, 61, 32,116,121,112,1010,105,102, 32,110,111,116, 32, 102, 32,116,104,101,110, 32,112,114,105,110,116, 40,101,114, 114, 41, 59, 32,114,101,116,117,114,110, 32,101,110,100, 10, 108,111, 99, 97,108, 32, 97, 44, 98, 32, 61, 32,112, 99, 97, 108,108, 40,102, 41, 10,105,102, 32,110,111,116, 32, 97, 32, 116,104,101,110, 32,112,114,105,110,116, 40, 98, 41, 59, 32, 114,101,116,117,114,110, 32,110,105,108, 10,101,108,115,101, 32,114,101,116,117,114,110, 32, 98, 32,111,114, 32,116,114, 117,101, 10,101,110,100, 10,101,110,100, 10,102,117,110, 99, 116,105,111,110, 32,100,111,115,116,114,105,110,103, 40,115, 41, 32,114,101,116,117,114,110, 32,100,111, 95, 40,108,111, 97,100, 40,115, 41, 41, 32,101,110,100, 10,108,111, 99, 97, 108, 32,116, 97, 98, 32, 61, 32,116, 97, 98,108,101, 10,102, 111,114,101, 97, 99,104, 32, 61, 32,102,117,110, 99,116,105, 111,110, 40,116, 44,102, 41, 10,102,111,114, 32,107, 44,118, 32,105,110, 32,112, 97,105,114,115, 40,116, 41, 32,100,111, 10,102, 40,107, 44,118, 41, 10,101,110,100, 10,101,110,100, 10,102,111,114,101, 97, 99,104,105, 32, 61, 32,102,117,110, 99,116,105,111,110, 40,116, 44,102, 41, 10,102,111,114, 32, 105, 44,118, 32,105,110, 32,105,112, 97,105,114,115, 40,116, 41, 32,100,111, 10,102, 40,105, 44,118, 41, 10,101,110,100, 10,101,110,100, 10,103,101,116,110, 32, 61, 32,102,117,110, 99,116,105,111,110, 40,116, 41, 10,114,101,116,117,114,110, 32, 35,116, 10,101,110,100, 10,116,105,110,115,101,114,116, 32, 61, 32,116, 97, 98, 46,105,110,115,101,114,116, 10,116, 114,101,109,111,118,101, 32, 61, 32,116, 97, 98, 46,114,101, 109,111,118,101, 10,115,111,114,116, 32, 61, 32,116, 97, 98, 46,115,111,114,116, 10,108,111, 99, 97,108, 32,100, 98,103, 32, 61, 32,100,101, 98,117,103, 10,103,101,116,105,110,102, 111, 32, 61, 32,100, 98,103, 46,103,101,116,105,110,102,111, 10,103,101,116,108,111, 99, 97,108, 32, 61, 32,100, 98,103, 46,103,101,116,108,111, 99, 97,108, 10,115,101,116, 99, 97, 108,108,104,111,111,107, 32, 61, 32,102,117,110, 99,116,105, 111,110, 32, 40, 41, 32,101,114,114,111,114, 34, 96,115,101, 116, 99, 97,108,108,104,111,111,107, 39, 32,105,115, 32,100, 101,112,114,101, 99, 97,116,101,100, 34, 32,101,110,100, 10, 115,101,116,108,105,110,101,104,111,111,107, 32, 61, 32,102, 117,110, 99,116,105,111,110, 32, 40, 41, 32,101,114,114,111, 114, 34, 96,115,101,116,108,105,110,101,104,111,111,107, 39, 32,105,115, 32,100,101,112,114,101, 99, 97,116,101,100, 34, 32,101,110,100, 10,115,101,116,108,111, 99, 97,108, 32, 61, 32,100, 98,103, 46,115,101,116,108,111, 99, 97,108, 10,108, 111, 99, 97,108, 32,109, 97,116,104, 32, 61, 32,109, 97,116, 104, 10, 97, 98,115, 32, 61, 32,109, 97,116,104, 46, 97, 98, 115, 10, 97, 99,111,115, 32, 61, 32,102,117,110, 99,116,105, 111,110, 32, 40,120, 41, 32,114,101,116,117,114,110, 32,109, 97,116,104, 46,100,101,103, 40,109, 97,116,104, 46, 97, 99, 111,115, 40,120, 41, 41, 32,101,110,100, 10, 97,115,105,110, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,120, 41, 32,114,101,116,117,114,110, 32,109, 97,116,104, 46,100,101, 103, 40,109, 97,116,104, 46, 97,115,105,110, 40,120, 41, 41, 32,101,110,100, 10, 97,116, 97,110, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,120, 41, 32,114,101,116,117,114, 110, 32,109, 97,116,104, 46,100,101,103, 40,109, 97,116,104, 46, 97,116, 97,110, 40,120, 41, 41, 32,101,110,100, 10, 97, 116, 97,110, 50, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,120, 44,121, 41, 32,114,101,116,117,114,110, 32,109, 97,116,104, 46,100,101,103, 40,109, 97,116,104, 46, 97,116, 97,110, 50, 40,120, 44,121, 41, 41, 32,101,110,1000, 99,111,115, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,120, 41, 32,114,101,116,117,114,110, 32,109, 97,116, 104, 46, 99,111,115, 40,109, 97,116,104, 46,114, 97,100, 40, 120, 41, 41, 32,101,110,100, 10,100,101,103, 32, 61, 32,109, 97,116,104, 46,100,101,103, 10,101,120,112, 32, 61, 32,109, 97,116,104, 46,101,120,112, 10,102,108,111,111,114, 32, 61, 32,109, 97,116,104, 46,102,108,111,111,114, 10,102,114,101, 120,112, 32, 61, 32,109, 97,116,104, 46,102,114,101,120,112, 10,108,100,101,120,112, 32, 61, 32,109, 97,116,104, 46,108, 100,101,120,112, 10,108,111,103, 32, 61, 32,109, 97,116,104, 46,108,111,103, 10,108,111,103, 49, 48, 32, 61, 32,109, 97, 116,104, 46,108,111,103, 49, 48, 10,109, 97,120, 32, 61, 32, 109, 97,116,104, 46,109, 97,120, 10,109,105,110, 32, 61, 32, 109, 97,116,104, 46,109,105,110, 10,109,111,100, 32, 61, 32, 109, 97,116,104, 46,109,111,100, 10, 80, 73, 32, 61, 32,109, 97,116,104, 46,112,105, 10,114, 97,100, 32, 61, 32,109, 97, 116,104, 46,114, 97,100, 10,114, 97,110,100,111,109, 32, 61, 32,109, 97,116,104, 46,114, 97,110,100,111,1090,115,105,110, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,120, 41, 32,114,101,116,117,114,110, 32,109, 97,116,104, 46,115,105, 110, 40,109, 97,116,104, 46,114, 97,100, 40,120, 41, 41, 32, 101,110,100, 10,115,113,114,116, 32, 61, 32,109, 97,116,104, 46,115,113,114,116, 10,116, 97,110, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,120, 41, 32,114,101,116,117,114, 110, 32,109, 97,116,104, 46,116, 97,110, 40,109, 97,116,104, 46,114, 97,100, 40,120, 41, 41, 32,101,110,100, 10,108,111, 99, 97,108, 32,115,116,114, 32, 61, 32,115,116,114,105,110, 103, 10,115,116,114, 98,121,116,101, 32, 61, 32,115,116,114, 46, 98,121,116,101, 10,115,116,114, 99,104, 97,114, 32, 61, 32,115,116,114, 46, 99,104, 97,114, 10,115,116,114,102,105, 110,100, 32, 61, 32,115,116,114, 46,102,105,110,100, 10,102, 111,114,109, 97,116, 32, 61, 32,115,116,114, 46,102,111,114, 109, 97,116, 10,103,115,117, 98, 32, 61, 32,115,116,114, 46, 103,115,117, 98, 10,115,116,114,108,101,110, 32, 61, 32,115, 116,114, 46,108,101,110, 10,115,116,114,108,111,119,101,114, 32, 61, 32,115,116,114, 46,108,111,119,101,114, 10,115,116, 114,114,101,112, 32, 61, 32,115,116,114, 46,114,101,1120,115,116,114,117,112,112,101,114, 32, 61, 32,115,116, 114, 46,117,112,112,101,114, 10, 99,108,111, 99,107, 32, 61, 32,111,115, 46, 99,108,111, 99,107, 10,100, 97,116,101, 32, 61, 32,111,115, 46,100, 97,116,101, 10,100,105,102,102,116, 105,109,101, 32, 61, 32,111,115, 46,100,105,102,102,116,105, 109,101, 10,101,120,101, 99,117,116,101, 32, 61, 32,111,115, 46,101,120,101, 99,117,116,101, 10,101,120,105,116, 32, 61, 32,111,115, 46,101,120,105,116, 10,103,101,116,101,110,118, 32, 61, 32,111,115, 46,103,101,116,101,110,118, 10,114,101, 109,111,118,101, 32, 61, 32,111,115, 46,114,101,109,111,118, 101, 10,114,101,110, 97,109,101, 32, 61, 32,111,115, 46,114, 101,110, 97,109,101, 10,115,101,116,108,111, 99, 97,108,101, 32, 61, 32,111,115, 46,115,101,116,108,111, 99, 97,108,101, 10,116,105,109,101, 32, 61, 32,111,115, 46,116,105,109,101, 10,116,109,112,110, 97,109,101, 32, 61, 32,111,115, 46,116, 109,112,110, 97,109,101, 10,103,101,116,103,108,111, 98, 97, 108, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,110, 41, 32,114,101,116,117,114,110, 32, 95, 71, 91,110, 93, 32, 101,110,100, 10,115,101,116,103,108,111, 98, 97,108, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,110, 44,118, 41, 32, 95, 71, 91,110, 93, 32, 61, 32,118, 32,101,110,100, 10, 108,111, 99, 97,108, 32,105,111, 44, 32,116, 97, 98, 32, 61, 32,105,111, 44, 32,116, 97, 98,108,101, 10, 95, 83, 84, 68, 73, 78, 32, 61, 32,105,111, 46,115,116,100,105,110, 10, 95, 83, 84, 68, 69, 82, 82, 32, 61, 32,105,111, 46,115,116,100, 101,114,114, 10, 95, 83, 84, 68, 79, 85, 84, 32, 61, 32,105, 111, 46,115,116,100,111,117,116, 10, 95, 73, 78, 80, 85, 84, 32, 61, 32,105,111, 46,115,116,100,105,110, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,105,111, 46,115,116,100,111,117, 1160, 99, 108,111,115,101,102,105,108,101, 32, 61, 32,105,111, 46, 99, 108,111,115,101, 10,111,112,101,110,102,105,108,101, 32, 61, 32,105,111, 46,111,112,101,110, 10,102,117,110, 99,116,105, 111,110, 32,102,108,117,115,104, 32, 40,102, 41, 10,105,102, 32,102, 32,116,104,101,110, 32,102, 58,102,108,117,115,104, 40, 41, 10,101,108,115,101, 32, 95, 79, 85, 84, 80, 85, 84, 58,102,108,117,115,104, 40, 41, 10,101,110,100, 10,101,110, 100, 10,102,117,110, 99,116,105,111,110, 32,114,101, 97,100, 102,114,111,109, 32, 40,110, 97,109,101, 41, 10,105,102, 32, 110, 97,109,101, 32, 61, 61, 32,110,105,108, 32,116,104,101, 110, 10,108,111, 99, 97,108, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 32, 61, 32,105,111, 46, 99,108,111,115,101, 40, 95, 73, 78, 80, 85, 84, 41, 10, 95, 73, 78, 80, 85, 84, 32, 61, 32,105,111, 46,115,116,100,105,110, 10,114,101,116, 117,114,110, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 10,101,108,115,101, 10,108,111, 99, 97,108, 32,102, 44, 32, 101,114,114, 44, 32, 99,111,100, 32, 61, 32,105,111, 46,111, 112,101,110, 40,110, 97,109,101, 44, 32, 34,114, 34, 41, 10, 95, 73, 78, 80, 85, 84, 32, 61, 32,102, 32,111,114, 32, 95, 73, 78, 80, 85, 84, 10,114,101,116,117,114,110, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 10,101,110,100, 10,101, 110,100, 10,102,117,110, 99,116,105,111,110, 32,119,114,105, 116,101,116,111, 32, 40,110, 97,109,101, 41, 10,105,102, 32, 110, 97,109,101, 32, 61, 61, 32,110,105,108, 32,116,104,101, 110, 10,108,111, 99, 97,108, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 32, 61, 32,105,111, 46, 99,108,111,115,101, 40, 95, 79, 85, 84, 80, 85, 84, 41, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,105,111, 46,115,116,100,111,117,116, 10, 114,101,116,117,114,110, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 10,101,108,115,1019, 34, 41, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,102, 32, 111,114, 32, 95, 79, 85, 84, 80, 85, 84, 10,114,101,116,117, 114,110, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 10, 101,110,100, 10,101,110,100, 10,102,117,110, 99,116,105,111, 110, 32, 97,112,112,101,110,100,116,111, 32, 40,110, 97,109, 101, 41, 10,108,111, 99, 97,108, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 32, 61, 32,105,111, 46,111,112,101,110, 40,110, 97,109,101, 44, 32, 34, 97, 34, 41, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,102, 32,111,114, 32, 95, 79, 85, 84, 80, 85, 84, 10,114,101,116,117,114,110, 32,102, 44, 32, 101,114,114, 44, 32, 99,111,100, 10,101,110,1000,108,111, 99, 97,108, 32,102, 32, 61, 32, 95, 73, 78, 80, 85, 84, 10,108,111, 99, 97,108, 32, 97,114,103, 32, 61, 32,123, 46, 46, 46,125, 10,105,102, 32,114, 97,119,116, 121,112,101, 40, 97,114,103, 91, 49, 93, 41, 32, 61, 61, 32, 39,117,115,101,114,100, 97,116, 97, 39, 32,116,104,101,110, 10,102, 32, 61, 32,116, 97, 98, 46,114,101,109,111,118,101, 40, 97,114,103, 44, 32, 49, 41, 10,101,110,100, 10,114,101, 116,117,114,110, 32,102, 58,114,101, 97,100, 40,116, 97, 98, 108,101, 46,117,110,112, 97, 99,107, 40, 97,114,103, 41, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32,119, 114,105,116,101, 32, 40, 46, 46, 46, 41, 10,108,111, 99, 97, 108, 32,102, 32, 61, 32, 95, 79, 85, 84, 80, 85, 84, 10,108, 111, 99, 97,108, 32, 97,114,103, 32, 61, 32,123, 46, 46, 46, 125, 10,105,102, 32,114, 97,119,116,121,112,101, 40, 97,114, 103, 91, 49, 93, 41, 32, 61, 61, 32, 39,117,115,101,114,100, 97,116, 97, 39, 32,116,104,101,110, 10,102, 32, 61, 32,116, 97, 98, 46,114,101,109,111,118,101, 40, 97,114,103, 44, 32, 49, 41, 10,101,110,100, 10,114,101,116,117,114,110, 32,102, 58,119,114,105,116,101, 40,116, 97, 98,108,101, 46,117,110, 112, 97, 99,107, 40, 97,114,103, 41, 415, 98, 97,115,105, 99, 32, 61, 32,123, 10, 91, 39,118, 111,105,100, 39, 93, 32, 61, 32, 39, 39, 44, 10, 91, 39, 99, 104, 97,114, 39, 93, 32, 61, 32, 39,110,117,109, 98,101,114, 39, 44, 10, 91, 39,116,111,108,117, 97, 95,105,110,100,101, 120, 39, 93, 32, 61, 32, 39,110,117,109, 98,101,114, 39, 44, 10, 91, 39,116,111,108,117, 97, 95,108,101,110, 39, 93, 32, 61, 32, 39,110,117,109, 98,101,114, 39, 44, 10, 91, 39,116, 111,108,117, 97, 95, 98,121,116,101, 39, 93, 32, 61, 32, 39, 110,117,109, 98,101,114, 39, 440, 91, 39,116,111,108,117, 97, 95, 109,117,108,116,114,101,116, 39, 93, 32, 61, 32, 39,110,117, 109, 98,101,114, 39, 44, 10, 91, 39,105,110,116, 39, 93, 32, 61, 32, 39,110,117,109, 98,101,114, 39, 44, 10, 91, 39,115, 104,111,114,116, 39, 93, 32, 61, 32, 39,110,117,109, 98,101, 114, 39, 44, 10, 91, 39,108,111,110,103, 39, 93, 32, 61, 32, 39,110,117,109, 98,101,114, 39, 44, 10, 91, 39,117,110,115, 105,103,110,101,100, 39, 93, 32, 61, 32, 39,110,117,109, 98, 101,114, 39, 44, 10, 91, 39,102,108,111, 97,116, 39, 93, 32, 61, 32, 39,110,117,109, 98,101,114, 39, 44, 10, 91, 39,100, 111,117, 98,108,101, 39, 93, 32, 61, 32, 39,110,117,109, 98, 101,114, 39, 44, 10, 91, 39, 95, 99,115,116,114,105,110,103, 39, 93, 32, 61, 32, 39,115,116,114,105,110,103, 39, 44, 10, 91, 39, 95,117,115,101,114,100, 97,116, 97, 39, 93, 32, 61, 32, 39,117,115,101,114,100, 97,116, 97, 39, 44, 10, 91, 39, 99,104, 97,114, 42, 39, 93, 32, 61, 32, 39,115,116,114,105, 110,103, 39, 44, 10, 91, 39,118,111,105,100, 42, 39, 93, 32, 61, 32, 39,117,115,101,114,100, 97,116, 97, 39, 44, 10, 91, 39, 98,111,111,108, 39, 93, 32, 61, 32, 39, 98,111,111,108, 101, 97,110, 39, 44, 10, 91, 39,108,117, 97, 95, 83,116, 97, 116,101, 42, 39, 93, 32, 61, 32, 39,115,116, 97,116,101, 39, 44, 10, 91, 39, 95,108,115,116, 97,116,101, 39, 93, 32, 61, 32, 39,115,116, 97,116,101, 39, 44, 10, 91, 39,108,117, 97, 95, 79, 98,106,101, 99,116, 39, 93, 32, 61, 32, 39,118, 97, 108,117,101, 39, 440, 91, 39, 76, 85, 65, 95, 86, 65, 76, 85, 69, 39, 93, 32, 61, 32, 39,118, 97,108,117,101, 39, 44, 10,125, 10, 95, 98, 97,115,105, 99, 95, 99,116,121,112, 101, 32, 61, 32,123, 10,110,117,109, 98,101,114, 32, 61, 32, 34,108,117, 97, 95, 78,117,109, 98,101,114, 34, 44, 10,115, 116,114,105,110,103, 32, 61, 32, 34, 99,111,110,115,116, 32, 99,104, 97,114, 42, 34, 44, 10,117,115,101,114,100, 97,116, 97, 32, 61, 32, 34,118,111,105,100, 42, 34, 44, 10, 98,111, 111,108,101, 97,110, 32, 61, 32, 34, 98,111,111,108, 34, 44, 10,118, 97,108,117,101, 32, 61, 32, 34,105,110,116, 34, 44, 10,125, 10, 95,117,115,101,114,116,121,112,101, 32, 61, 32, 123,125, 10, 95, 99,111,108,108,101, 99,116, 32, 61, 32,123, 125, 10, 95,114,101,110, 97,109,105,110,103, 32, 61, 32,123, 125, 10,102,117,110, 99,116,105,111,110, 32, 97,112,112,101, 110,100,114,101,110, 97,109,105,110,103, 32, 40,115, 41, 10, 108,111, 99, 97,108, 32, 98, 44,101, 44,111,108,100, 44,110, 101,119, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 37,115, 42, 40, 46, 45, 41, 37,115, 42, 64, 37,115, 42, 40, 46, 45, 41, 37,115, 42, 36, 34, 41, 10,105,102, 32,110, 111,116, 32, 98, 32,116,104,101,110, 10,101,114,114,111,114, 40, 34, 35, 73,110,118, 97,108,105,100, 32,114,101,110, 97, 109,105,110,103, 32,115,121,110,116, 97,120, 59, 32,105,116, 32,115,104,111,117,108,100, 32, 98,101, 32,111,102, 32,116, 104,101, 32,102,111,114,109, 58, 32,112, 97,116,116,101,114, 110, 64,112, 97,116,116,101,114,110, 34, 41, 10,101,110,100, 10,116,105,110,115,101,114,116, 40, 95,114,101,110, 97,109, 105,110,103, 44,123,111,108,100, 61,111,108,100, 44, 32,110, 101,119, 61,110,101,119,125, 41, 10,101,110,100, 10,102,117, 110, 99,116,105,111,110, 32, 97,112,112,108,121,114,101,110, 97,109,105,110,103, 32, 40,115, 41, 10,102,111,114, 32,105, 61, 49, 44,103,101,116,110, 40, 95,114,101,110, 97,109,105, 110,103, 41, 32,100,111, 10,108,111, 99, 97,108, 32,109, 44, 110, 32, 61, 32,103,115,117, 98, 40,115, 44, 95,114,101,110, 97,109,105,110,103, 91,105, 93, 46,111,108,100, 44, 95,114, 101,110, 97,109,105,110,103, 91,105, 93, 46,110,101,119, 41, 10,105,102, 32,110, 32,126, 61, 32, 48, 32,116,104,101,110, 10,114,101,116,117,114,110, 32,109, 10,101,110,100, 10,101, 110,100, 10,114,101,116,117,114,110, 32,110,105,108, 10,101, 110,100, 10,102,117,110, 99,116,105,111,110, 32,116,111,108, 117, 97, 95,101,114,114,111,114, 32, 40,115, 44,102, 41, 10, 108,111, 99, 97,108, 32,111,117,116, 32, 61, 32, 95, 79, 85, 84, 80, 85, 84, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32, 95, 83, 84, 68, 69, 82, 820,119,114,105,116,101, 40, 34, 92, 110, 42, 42, 32,116,111,108,117, 97, 58, 32, 34, 46, 46,115, 116,114,115,117, 98, 40,115, 44, 50, 41, 46, 46, 34, 46, 92, 110, 92,110, 34, 41, 10,105,102, 32, 95, 99,117,114,114, 95, 99,111,100,101, 32,116,104,101,110, 10,108,111, 99, 97,108, 32, 95, 44, 95, 44,115, 32, 61, 32,115,116,114,102,105,110, 100, 40, 95, 99,117,114,114, 95, 99,111,100,101, 44, 34, 94, 37,115, 42, 40, 46, 45, 92,110, 41, 34, 41, 10,105,102, 32, 115, 61, 61,110,105,108, 32,116,104,101,110, 32,115, 32, 61, 32, 95, 99,117,114,114, 95, 99,111,100,101, 32,101,110,100, 10,115, 32, 61, 32,103,115,117, 98, 40,115, 44, 34, 95,117, 115,101,114,100, 97,116, 97, 34, 44, 34,118,111,105,100, 42, 34, 41, 10,115, 32, 61, 32,103,115,117, 98, 40,115, 44, 34, 95, 99,115,116,114,105,110,103, 34, 44, 34, 99,104, 97,114, 42, 34, 41, 10,115, 32, 61, 32,103,115,117, 98, 40,115, 44, 34, 95,108,115,116, 97,116,101, 34, 44, 34,108,117, 97, 95, 83,116, 97,116,101, 42, 34, 41, 10,119,114,105,116,101, 40, 34, 67,111,100,101, 32, 98,101,105,110,103, 32,112,114,111, 99,101,115,115,101,100, 58, 92,110, 34, 46, 46,115, 46, 46, 34, 92,110, 34, 41, 10,101,110,100, 10,101,108,115,101, 10, 112,114,105,110,116, 40,100,101, 98,117,103, 46,116,114, 97, 99,101, 98, 97, 99,107, 40, 34, 92,110, 42, 42, 32,116,111, 108,117, 97, 32,105,110,116,101,114,110, 97,108, 32,101,114, 114,111,114, 58, 32, 34, 46, 46,102, 46, 46,115, 46, 46, 34, 46, 92,110, 92,110, 34, 41, 41, 10,114,101,116,117,114,110, 10,101,110,100, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32, 111,117,116, 10,101,110,100, 10,102,117,110, 99,116,105,111, 110, 32,119, 97,114,110,105,110,103, 32, 40,109,115,103, 410, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32, 95, 83, 84, 68, 69, 82, 82, 10,119,114,105,116,101, 40, 34, 92,110, 42, 42, 32,116,111,108,117, 97, 32,119, 97,114, 110,105,110,103, 58, 32, 34, 46, 46,109,115,103, 46, 46, 34, 46, 92,110, 92,110, 34, 41, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,111,117,116, 10,101,110,100, 10,102,117,110, 99, 116,105,111,110, 32,114,101,103,116,121,112,101, 32, 40,116, 41, 10,108,111, 99, 97,108, 32,102,116, 32, 61, 32,102,105, 110,100,116,121,112,101, 40,116, 41, 10,105,102, 32,105,115, 98, 97,115,105, 99, 40,116, 41, 32,116,104,101,110, 10,114, 101,116,117,114,110, 32,116, 10,101,110,100, 10,105,102, 32, 110,111,116, 32,102,116, 32,116,104,101,110, 10,114,101,116, 117,114,110, 32, 97,112,112,101,110,100,117,115,101,114,116, 121,112,101, 40,116116,121,112,101,118, 97, 114, 40,116,121,112,101, 41, 10,105,102, 32,116,121,112,101, 32, 61, 61, 32, 39, 39, 32,111,114, 32,116,121,112,101, 32, 61, 61, 32, 39,118,111,105,100, 39, 32,111,114, 32,116,121, 112,101, 32, 61, 61, 32, 34, 46, 46, 46, 34, 32,116,104,101, 110, 10,114,101,116,117,114,110, 32,116,121,112,101, 10,101, 108,115,101, 10,108,111, 99, 97,108, 32,102,116, 32, 61, 32, 102,105,110,100,116,121,112,101, 40,116,121,112,101, 41, 10, 105,102, 32,102,116, 32,116,104,101,110, 10,114,101,116,117, 114,110, 32,102,116, 10,101,110,100, 10, 95,117,115,101,114, 116,121,112,101, 91,116,121,112,101, 93, 32, 61, 32,116,121, 112,101, 10,114,101,116,117,114,110, 32,116,121,112,101, 10, 101,110,100, 10,101,110,100, 10,102,117,110, 99,116,105,111, 110, 32,105,115, 98, 97,115,105, 99, 32, 40,116,121,112,101, 41, 10,108,111, 99, 97,108, 32,116, 32, 61, 32,103,115,117, 98, 40,116,121,112,101, 44, 39, 99,111,110,115,116, 32, 39, 44, 39, 39, 41, 10,108,111, 99, 97,108, 32,109, 44,116, 32, 61, 32, 97,112,112,108,121,116,121,112,101,100,101,102, 40, 116, 41, 10,108,111, 99, 97,108, 32, 98, 32, 61, 32, 95, 98, 97,115,105, 99, 91,116, 93, 10,105,102, 32, 98, 32,116,104, 101,110, 10,114,101,116,117,114,110, 32, 98, 44, 95, 98, 97, 115,105, 99, 95, 99,116,121,112,101, 91, 98, 93, 10,101,110, 100, 10,114,101,116,117,114,110, 32,110,105,108, 10,101,110, 100, 10,102,117,110, 99,116,105,111,110, 32,115,112,108,105, 116, 32, 40,115, 44,116, 41, 10,108,111, 99, 97,108, 32,108, 32, 61, 32,123,110, 61, 48,125, 10,108,111, 99, 97,108, 32, 102, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,115, 41, 10,108, 46,110, 32, 61, 32,108, 46,110, 32, 43, 32, 49, 10,108, 91,108, 46,110, 93, 32, 61, 32,115, 10,114,101,116, 117,114,110, 32, 34, 34, 10,101,110,100, 10,108,111, 99, 97, 108, 32,112, 32, 61, 32, 34, 37,115, 42, 40, 46, 45, 41, 37, 115, 42, 34, 46, 46,116, 46, 46, 34, 37,115, 42, 34, 10,115, 32, 61, 32,103,115,117, 98, 40,115, 44, 34, 94, 37,115, 43, 34, 44, 34, 34, 41, 10,115, 32, 61, 32,103,115,117, 98, 40, 115, 44, 34, 37,115, 43, 36, 34, 44, 34, 34, 41, 10,115, 32, 61, 32,103,115,117, 98, 40,115, 44,112, 44,102, 41, 10,108, 46,110, 32, 61, 32,108, 46,110, 32, 43, 32, 49, 10,108, 91, 108, 46,110, 93, 32, 61, 32,103,115,117, 98, 40,115, 44, 34, 40, 37,115, 37,115, 42, 41, 36, 34, 44, 34, 34, 41, 10,114, 101,116,117,114,110, 32,10811,110, 99, 97,116, 32, 40,116, 44,102, 44,108, 41, 10,108,111, 99, 97,108, 32,115, 32, 61, 32, 39, 39, 10,108,111, 99, 97,108, 32,105, 61,102, 10,119, 104,105,108,101, 32,105, 60, 61,108, 32,100,111, 10,115, 32, 61, 32,115, 46, 46,116, 91,105, 93, 10,105, 32, 61, 32,105, 43, 49, 10,105,102, 32,105, 32, 60, 61, 32,108, 32,116,104, 101,110, 32,115, 32, 61, 32,115, 46, 46, 39, 32, 39, 32,101, 110,100, 10,101,110,100, 10,114,101,116,117,114,110, 32,115, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99, 111,110, 99, 97,116,112, 97,114, 97,109, 32, 40,108,105,110, 101, 44, 32, 46, 46, 46, 41, 10,108,111, 99, 97,108, 32, 97, 114,103, 32, 61, 32,123, 46, 46, 46,125, 10,108,111, 99, 97, 108, 32,105, 61, 49, 10,119,104,105,108,101, 32,105, 60, 61, 35, 97,114,103, 32,100,11110,115,116,114,102,105,110,100, 40, 97,114,103, 91,105, 93, 44, 34, 94, 91, 37, 97, 95,126, 93, 34, 41, 32,116,104,101,110, 10,108,105,110,101, 32, 61, 32,108,105,110,101, 32, 46, 46, 32, 39, 32, 39, 10,101,110, 100, 10,108,105,110,101, 32, 61, 32,108,105,110,101, 32, 46, 46, 32, 97,114,103, 91,105, 93, 10,105,102, 32, 97,114,103, 91,105, 93, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 10, 95, 99,111,110,116, 32, 61, 32,115,116,114,115,117, 98, 40, 97,114,103, 91,105, 93, 44, 45, 49, 44, 45, 49, 41, 10,101, 110,100, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10, 105,102, 32,115,116,114,102,105,110,100, 40, 97,114,103, 91, 35, 97,114,103, 93, 44, 34, 91, 37, 47, 37, 41, 37, 59, 37, 123, 37,125, 93, 36, 34, 41, 32,116,104,101,110, 10, 95, 99, 111,110,116, 61,110,105,108, 32,108,105,110,101, 32, 61, 32, 108,105,110,101, 32, 46, 46, 32, 39, 92,110, 39, 10,101,110, 100, 10,114,101,116,117,114,110, 32,108,105,110,101, 10,101, 110,100, 10,102,117,110, 99,116,105,111,110, 32,111,117,116, 112,117,116, 32, 40, 46, 46, 46, 41, 10,108,111, 99, 97,108, 32, 97,114,103, 32, 61, 32,123, 46, 46, 46,125, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,105, 60, 61, 35, 97,114,103, 32,100,111, 10,105,102, 32, 95, 99, 111,110,116, 32, 97,110,100, 32,110,111,116, 32,115,116,114, 102,105,110,100, 40, 95, 99,111,110,116, 44, 39, 91, 37, 40, 44, 34, 93, 39, 41, 32, 97,110,10010,119,114,105,116, 101, 40, 39, 32, 39, 41, 10,101,110,100, 10,119,114,105,116, 101, 40, 97,114,103, 91,105, 93, 41, 10,105,102, 32, 97,114, 103, 91,105, 93, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 10, 95, 99,111,110,116, 32, 61, 32,115,116,114,115,117, 98, 40, 97,114,103, 91,105, 93, 44, 45, 49, 44, 45, 49, 41, 10, 101,110,100, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,10010, 95, 99,111,110,116, 61,110,105,108, 32,119,114,105,116,101, 40, 39, 92,110, 39, 41, 10,101,110,10061, 32, 39, 92,110, 36, 35,105, 110, 99,108,117,100,101, 32, 34, 39, 46, 46,102,110, 46, 46, 39, 34, 92,110, 39, 10,115, 61, 32, 34, 92,110, 34, 32, 46, 46, 32,115, 32, 46, 46, 32, 34, 92,110, 34, 10,108,111, 99, 97,108, 32, 95, 44,101, 44, 99, 44,116, 32, 61, 32,115,116, 114,102,105,110,100, 40,115, 44, 32, 34, 92,110, 40, 91, 94, 92,110, 93, 45, 41, 91, 84,116, 93, 91, 79,111, 93, 91, 76, 108, 93, 91, 85,117, 93, 91, 65, 97, 93, 95, 40, 91, 94, 37, 115, 93, 42, 41, 91, 94, 92,110, 93, 42, 92,110, 34, 41, 10, 119,104,105,108,101, 32,101, 32,100,111, 10,116, 32, 61, 32, 115,116,114,108,111,119,101,114, 40,116, 41, 10,105,102, 32, 116, 32, 61, 61, 32, 34, 98,101,103,105,110, 34, 32,116,104, 101,110, 10, 95, 44,101, 44, 99, 32, 61, 32,115,116,114,102, 105,110,100, 40,115, 44, 34, 40, 46, 45, 41, 92,110, 91, 94, 92,110, 93, 42, 91, 84,116, 93, 91, 79,111, 93, 91, 76,108, 93, 91, 85,117, 93, 91, 65, 97, 93, 95, 91, 69,101, 93, 91, 78,110, 93, 91, 68,100, 93, 91, 94, 92,110, 93, 42, 92,110, 34, 44,101, 41, 10,105,102, 32,110,111,116, 32,101, 32,116, 104,101,110, 10,116,111,108,117, 97, 95,101,114,114,111,114, 40, 34, 85,110, 98, 97,108, 97,110, 99,101,100, 32, 39,116, 111,108,117, 97, 95, 98,101,103,105,110, 39, 32,100,105,114, 101, 99,116,105,118,101, 32,105,110, 32,104,101, 97,100,101, 114, 32,102,105,108,101, 34, 41, 10,101,110,100, † † † Š†”l‹€‚~’€ˆ25, 10, 99, 108, 97,115,115, 70,117,110, 99,116,105,111,110, 46, 95, 95, 105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 70,117, 110, 99,116,105,111,110, 10,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40, 99,108, 97,115,115, 70,117,110, 9908, 97, 115,115, 70,117,110, 99,116,105,111,110, 58,100,101, 99,108, 116,121,112,101, 32, 40, 41, 10,115,101,108,102, 46,116,121, 112,101, 32, 61, 32,116,121,112,101,118, 97,114, 40,115,101, 108,102, 46,116,121,112,101, 41, 10,105,102, 32,115,116,114, 102,105,110,100, 40,115,101,108,102, 46,109,111,100, 44, 39, 99,111,110,115,116, 39, 41, 32,116,104,101,110, 10,115,101, 108,102, 46,116,121,112,101, 32, 61, 32, 39, 99,111,110,115, 116, 32, 39, 46, 46,115,101,108,102, 46,116,121,112,101, 10, 115,101,108,102, 46,109,111,100, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46,109,111,100, 44, 39, 99,111,110,115, 116, 37,115, 42, 39, 44, 39, 39, 41, 10,101,110,100, 10,108, 111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32, 115,101,108,102, 46, 97,114,103,115, 91,105, 93, 32,100,111, 10,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 58,100, 101, 99,108,116,121,112,101, 40, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,101,110,100, 10,102,117,110, 99, 116,1ŒΐƒΑcƒΐ;BωK‹}‹€mFΪ~€‹v]œz€ o‚-¬F€‹O1›€†Oμ€ƒzGΪ~€’yFς>€‚Q‚KΕ€J©>€œ2M‚Λ@€„#‹j€‰3ςz€€/‚‚c‚†u€]a‚†u€_a‚†u€_c‚†u€]a‚†u€_]‚σd€©†7ψW€‡_ƒ†g€…-ƒ3€”‚ƒΈ;›Bƒ¦!5,101,108,102, 46,116,121,112,101, 32, 61, 61, 32, 39,116, 111,108,117, 97, 95,109,117,108,116,114,101,11605,110, 116, 32,116,111,108,117, 97, 95,114,101,116, 59, 39, 41, 10, 101,110,100, 10,105,102, 32,111,118,101,114,108,111, 97,100, 32, 60, 32, 48, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 39, 35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10,101, 110,100, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108, 117, 97, 95, 69,114,114,111,114, 32,116,111,108,117, 97, 95, 101,114,114, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,105,102, 32, 40, 92,110, 39, 41, 10,108,111, 99, 97,108, 32,110, 97,114,103, 10,105,102, 32, 99,108, 97,115,115, 32, 116,104,101,110, 32,110, 97,114,103, 61, 50, 32,101,108,115, 101, 32,110, 97,114,103, 61, 49, 32,101,110,100, 10,105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,102,117,110, 99, 32, 61, 32, 39,116,111,108,117, 97, 95,105,115,117,115,101,114,116,121,112,101, 39, 10,108, 111, 99, 97,108, 32,116,121,112,101, 32, 61, 32,115,101,108, 102, 46,112, 97,114,101,110,116, 46,116,121,112,101, 10,105, 102, 32,115,101,108,102, 46, 99,111,110,115,116, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 10,116,121,112,101, 32, 61, 32,115,101,108,102, 46, 99,111,110,115,116, 32, 46, 46, 32, 34, 32, 34, 32, 46, 46, 32,116,121,112,101, 10,101,110,100, 10,105,102, 32,115,101,108,102, 46,110, 97,109,101, 61, 61, 39,110,101,119, 39, 32,111,114, 32,115,116, 97,116,105, 99, 126, 61,110,105,108, 32,116,104,101,110, 10 97, 98,108,101, 39, 10,116,121,112,101, 32, 61, 32, 115,101,108,102, 46,112, 97,114,101,110,116, 46,116,121,112, 101, 10,101,110,100, 10,111,117,116,112,117,116, 40, 39, 32, 33, 39, 46, 46,102,117,110, 99, 46, 46, 39, 40,116,111,108, 117, 97, 95, 83, 44, 49, 44, 34, 39, 46, 46,116,121,112,101, 46, 46, 39, 34, 44, 48, 44, 38,116,111,108,117, 97, 95,101, 114,114, 41, 32,124,124, 32, 92,110, 39, 41, 10,101,110,100, 10,108,111, 99, 97,108, 32,118, 97,114, 97,114,103, 32, 61, 32,102, 97,108,115,101, 10,105,102, 32,115,101,108,102, 46, 97,114,103,115, 91, 49, 93, 46,116,121,112,101, 32,126, 61, 32, 39,118,111,105,100, 39, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115, 101,108,102, 46, 97,114,103,115, 91,105, 93, 32, 97,110,100, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 46,116, 121,112,101, 32,126, 61, 32, 34, 46, 46, 46, 34, 32,100,111, 10,108,111, 99, 97,108, 32, 98,116,121,112,101, 32, 61, 32, 105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46, 97,114, 103,115, 91,105, 93, 46,116,121,112,101, 41, 10,105,102, 32, 98,116,121,112,101, 32,126, 61, 32, 39,115,116, 97,116,101, 39, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 32, 33, 39, 46, 46,115,101,108,102, 46, 97,114,103,115, 91, 105, 93, 58,111,117,116, 99,104,101, 99,107,116,121,112,101, 40,110, 97,114,103, 44,102, 97,108,115,101, 41, 46, 46, 39, 32,124,124, 32, 92,110, 39, 41, 10,101,110,100, 10,105,102, 32, 98,116,121,112,101, 32,126, 61, 32, 39,115,116, 97,116, 101, 39, 32,116,104,101,110, 10,110, 97,114,103, 32, 61, 32, 110, 97,114,103, 43, 49, 10,101,110,100, 10,105, 32, 61, 32, 105, 43, 49, 10,101,110,100, 10,105,102, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 32,116,104,101,110, 10,118, 97,114, 97,114,103, 32, 61, 32,116,114,117,101, 10,101,110, 100, 10,101,110,100, 10,105,102, 32,110,111,116, 32,118, 97, 114, 97,114,103, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 39, 32, 33,116,111,108,117, 97, 95,105,115,110,111, 111, 98,106, 40,116,111,108,117, 97, 95, 83, 44, 39, 46, 46, 110, 97,114,103, 46, 46, 39, 44, 38,116,111,108,117, 97, 95, 101,114,114, 41, 92,110, 39, 41, 10,101,108,115,101, 10,111, 117,116,112,117,116, 40, 39, 32, 48, 92,110, 39, 41, 10,101, 110,100, 10,111,117,116,112,117,116, 40, 39, 32, 41, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,103,111,116,111, 32, 116,111,108,117, 97, 95,108,101,114,114,111,114, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,101,108,115,101, 92, 110, 39, 41, 10,105,102, 32,111,118,101,114,108,111, 97,100, 32, 60, 32, 48, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10,101, 110,100, 10,111,117,116,112,117,116, 40, 39, 32,123, 39, 41, 10,108,111, 99, 97,108, 32,110, 97,114,103, 10,105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 32,110, 97,114,103, 61, 50, 32,101,108,115,101, 32,110, 97,114,103, 61, 49, 32, 101,110,100, 10,105,102, 32, 99,108, 97,115,115, 32, 97,110, 100, 32,115,101,108,102, 46,110, 97,109,101,126, 61, 39,110, 101,119, 39, 32, 97,110,100, 32,115,116, 97,116,105, 99, 61, 61,110,105,108, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 39, 32, 39, 44,115,101,108,102, 46, 99,111,110,115, 116, 44,115,101,108,102, 46,112, 97,114,101,110,116, 46,116, 121,112,101, 44, 39, 42, 39, 44, 39,115,101,108,102, 32, 61, 32, 39, 41, 10,111,117,116,112,117,116, 40, 39, 40, 39, 44, 115,101,108,102, 46, 99,111,110,115,116, 44,115,101,108,102, 46,112, 97,114,101,110,116, 46,116,121,112,101, 44, 39, 42, 41, 32, 39, 41, 10,111,117,116,112,117,116, 40, 39,116,111, 108,117, 97, 95,116,111,117,115,101,114,116,121,112,101, 40, 116,111,108,117, 97, 95, 83, 44, 49, 44, 48, 41, 59, 39, 41, 10,101,108,115,101,105,102, 32,115,116, 97,116,105, 99, 32, 116,104,101,110, 10, 95, 44, 95, 44,115,101,108,102, 46,109, 111,100, 32, 61, 32,115,116,114,102,105,110,100, 40,115,101, 108,102, 46,109,111,100, 44, 39, 94, 37,115, 42,115,116, 97, 116,105, 99, 37,115, 37,115, 42, 40, 46, 42, 41, 39, 41 97,110,100, 32,115,101, 108,102, 46, 97,114,103,115, 91,105, 93, 46,116,121,112,101, 32,126, 61, 32, 34, 46, 46, 46, 34, 32,100,111, 10,115,101, 108,102, 46, 97,114,103,115, 91,105, 93, 58,100,101, 99,108, 97,114,101, 40,110, 97,114,103, 41, 10,105,102, 32,105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 46,116,121,112,101, 41, 32,126, 61, 32, 34,115, 116, 97,116,101, 34, 32,116,104,101,110, 10,110, 97,114,103, 32, 61, 32,110, 97,114,103, 43, 49, 10,101,110,100, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,101,110,100, 10, 105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,101, 108,102, 46,110, 97,109,101,126, 61, 39,110,101,119, 39, 32, 97,110,100, 32,115,116, 97,116,105, 99, 61, 61,110,105,108, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 35, 105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10,111,117,116,112,117, 116, 40, 39, 32,105,102, 32, 40, 33,115,101,108,102, 41, 32, 116,111,108,117, 97, 95,101,114,114,111,114, 40,116,111,108, 117, 97, 95, 83, 44, 34,105,110,118, 97,108,105,100, 32, 92, 39,115,101,108,102, 92, 39, 32,105,110, 32,102,117,110, 99, 116,105,111,110, 32, 92, 39, 39, 46, 46,115,101,108,102, 46, 110, 97,109,101, 46, 46, 39, 92, 39, 34, 44, 78, 85, 76, 76, 41, 59, 39, 41, 59, 10,111,117,116,112,117,116, 40, 39, 35, 101,110,100,105,102, 92,110, 39, 41, 10,101,110,100115,101,108,102, 46, 97, 114,103,115, 91, 49, 93, 46,116,121,112,101, 32,126, 61, 32, 39,118,111,105,100, 39, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115,101, 108,102, 46, 97,114,103,115, 91,105, 93, 32, 97,110,100, 32, 115,101,108,102, 46, 97,114,103,115, 91,105, 93, 46,116,121, 112,101, 32,126, 61, 32, 34, 46, 46, 46, 34, 32,100,111, 10, 105,102, 32,105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 46,116,121,112,101, 41, 32, 126, 61, 32, 34,115,116, 97,116,101, 34, 32,116,104,101,110, 10,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 58,103, 101,116, 97,114,114, 97,121, 40,110, 97,114,103, 41, 10,110, 97,114,103, 32, 61, 32,110, 97,114,103, 43, 49, 10,101,110, 100, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,10000,101, 108,101,116,101, 39, 32,116,104,101,110, 10,111,117,116,112, 117,116, 40, 39, 32,116,111,108,117, 97, 95,114,101,108,101, 97,115,101, 40,116,111,108,117, 97, 95, 83, 44,115,101,108, 102, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32, 100,101,108,101,116,101, 32,115,101,108,102, 59, 39, 41, 10, 101,108,115,101,105,102, 32, 99,108, 97,115,115, 32, 97,110, 100, 32,115,101,108,102, 46,110, 97,109,101, 32, 61, 61, 32, 39,111,112,101,114, 97,116,111,114, 38, 91, 935,101, 108,102, 45, 62,111,112,101,114, 97,116,111,114, 91, 93, 40, 39, 44,115,101,108,102, 46, 97,114,103,115, 91, 49, 93, 46, 110, 97,109,101, 44, 39, 45, 49, 41, 32, 61, 32, 39, 44,115, 101,108,102, 46, 97,114,103,115, 91, 50, 93, 46,110, 97,109, 101, 44, 39, 59, 39, 41, 10,101,108,115,101, 10,111,117,116, 112,117,116, 40, 39, 32,123, 39, 41, 10,105,102, 32,115,101, 108,102, 46,116,121,112,101, 32,126, 61, 32, 39, 39, 32, 97, 110,100, 32,115,101,108,102, 46,116,121,112,101, 32,126, 61, 32, 39,118,111,105,100, 39, 32,116,104,101,110, 10,108,111, 99, 97,108, 32, 99,116,121,112,101, 32, 61, 32,115,101,108, 102, 46,116,121,112,101, 10,105,102, 32, 99,116,121,112,101, 32, 61, 61, 32, 39,118, 97,108,117,101, 39, 32,111,114, 32, 99,116,121,112,101, 32, 61, 61, 32, 39,102,117,110, 99,116, 105,111,110, 39, 32,116,104,101,110, 10, 99,116,121,112,101, 32, 61, 32, 39,105,110,116, 39, 10,101,110,100, 10,105,102, 32,115,101,108,102, 46,116,121,112,101, 32, 61, 61, 32, 39, 116,111,108,117, 97, 95,109,117,108,116,114,101,116, 39, 32, 116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 32,116, 111,108,117, 97, 95,114,101,116, 32, 61, 32, 39, 41, 10,101, 108,115,101, 10,111,117,116,112,117,116, 40, 39, 32, 39, 44, 115,101,108,102, 46,109,111,100, 44, 99,116,121,112,101, 44, 115,101,108,102, 46,112,116,114, 44, 39,116,111,108,117, 97, 95,114,101,116, 32, 61, 32, 39, 41, 10,101,110,100, 10,105, 102, 32,105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46, 116,121,112,101, 41, 32,111,114, 32,115,101,108,102, 46,112, 116,114, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 10,111, 117,116,112,117,116, 40, 39, 40, 39, 44,115,101,108,102, 46, 109,111,100, 44, 99,116,121,112,101, 44,115,101,108,102, 46, 112,116,114, 44, 39, 41, 32, 39, 41, 10,101,110,100, 10,101, 108,115,101, 10,111,117,116,112,117,116, 40, 39, 32, 39, 41, 10,101,110,100, 10,105,102, 32, 99,108, 97,115,115, 32, 97, 110,100, 32,115,101,108,102, 46,110, 97,109,101, 61, 61, 39, 110,101,119, 39, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 39,110,101,119, 39, 44,115,101,108,102, 46,116,121, 112,101, 44, 39, 40, 39, 41, 10,101,108,115,101,105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,116, 97,116,105, 99, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 99, 108, 97,115,115, 46, 46, 39, 58, 58, 39, 46, 4608,115, 101,105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 10, 111,117,116,112,117,116, 40, 39,115,101,108,102, 45, 62, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 44, 39, 40, 39, 41, 10,101,108,115,101, 10,111,117,116,112,117,116, 40,115, 101,108,102, 46,110, 97,109,101, 44, 39, 40, 39, 41, 10,101, 110,1012, 97,115,115,112, 97,114, 40, 41, 10,105, 32, 61, 32,105, 43, 49, 10,105,102, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 32, 97,110,100, 3232, 126, 61, 32, 34, 46, 46, 46, 34, 32,116,104,101,110, 10,111, 117,116,112,117,116, 40, 39, 44, 39, 41, 10,101,110,100, 10, 101,110,100, 10,105,102, 32, 99,108, 97,115,115, 32, 97,110, 100, 32,115,101,108,102, 46,110, 97,109,101, 32, 61, 61, 32, 39,111,112,101,114, 97,116,111,114, 91, 93, 39, 32,116,104, 101,110, 10,111,117,116,112,117,116, 40, 39, 45, 49, 41, 59, 39, 41, 10,101,108,115,101, 10,111,117,116,112,117,116, 40, 39, 41, 59, 39, 41, 10,101,110,100, 10,105,102, 32,115,101, 108,102, 46,116,121,112,101, 32,126, 61, 32, 39, 39, 32, 97, 110,100, 32,115,101,108,102, 46,116,121,112,101, 32,126, 61, 32, 39,118,111,105,100, 39, 32, 97,110,100, 32,115,101,108, 102, 46,116,121,112,101, 32,126, 61, 32, 39,116,111,108,117, 97, 95,109,117,108,116,114,101,116, 39, 32,116,104,101,110, 10,110,114,101,116, 32, 61, 32,110,114,101,116, 32, 43, 32, 49, 10,108,111, 99, 97,108, 32,116, 44, 99,116, 32, 61, 32, 105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46,116,121, 112,101, 41, 10,105,102, 32,116, 32,116,104,101,110, 10,105, 102, 32,116, 61, 61, 39,102,117,110, 99,116,105,111,110, 39, 32,116,104,101,110, 32,116, 61, 39,118, 97,108,117,101, 39, 32,101,110,100, 10,105,102, 32,115,101,108,102, 46,116,121, 112,101, 32, 61, 61, 32, 39,116,111,108,117, 97, 95,105,110, 100,101,120, 39, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 39, 32,105,102, 32, 40,116,111,108,117, 97, 95,114, 101,116, 32, 60, 32, 48, 41, 32,108,117, 97, 95,112,117,115, 104,110,105,108, 40,116,111,108,117, 97, 95, 83, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,101,108,115,101, 32,116,111,108,117, 97, 95,112,117,115,104, 39, 46, 46,116, 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 44, 40, 39, 44, 99,116, 44, 39, 41,116,111,108,117, 97, 95,114,101,116, 43, 49, 41, 59, 39, 41, 10,101,108,115,101, 10,111,117,116,112, 117,116, 40, 39, 32,116,111,108,117, 97, 95,112,117,115,104, 39, 46, 46,116, 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 44, 40, 39, 44, 99,116, 44, 39, 41,116,111,108,117, 97, 95, 114,101,116, 41, 59, 39, 41, 10,101,110,100, 10,101,108,115, 101, 10,116, 32, 61, 32,115,101,108,102, 46,116,121,112,101, 10,105,102, 32,115,101,108,102, 46,112,116,114, 32, 61, 61, 32, 39, 39, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 32,123, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,105,102,100,101,102, 32, 95, 95, 99,112,108,117,115,112, 108,117,115, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,118,111,105,100, 42, 32,116,111,108,117, 97, 95,111, 98,106, 32, 61, 32,110,101,119, 39, 44,116, 44, 39, 40,116, 111,108,117, 97, 95,114,101,116, 41, 59, 39, 41, 10,111,117, 116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,112,117, 115,104,117,115,101,114,116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44,116,111,108,117, 97, 95, 99,108,111,110,101, 40,116,111,108,117, 97, 95, 83, 44,116,111,108,117, 97, 95, 111, 98,106, 44, 39, 46, 46, 32, 40, 95, 99,111,108,108,101, 99,116, 91,116, 93, 32,111,114, 32, 39, 78, 85, 76, 76, 39, 41, 32, 46, 46, 39, 41, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,108, 115,101, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,118,111,105,100, 42, 32,116,111,108,117, 97, 95,111, 98, 106, 32, 61, 32,116,111,108,117, 97, 95, 99,111,112,121, 40, 116,111,108,117, 97, 95, 83, 44, 40,118,111,105,100, 42, 41, 38,116,111,108,117, 97, 95,114,101,116, 44,115,105,122,101, 111,102, 40, 39, 44,116, 44, 39, 41, 41, 59112, 117,115,104,117,115,101,114,116,121,112,101, 40,116,111,108, 117, 97, 95, 83, 44,116,111,108,117, 97, 95, 99,108,111,110, 101, 40,116,111,108,117, 97, 95, 83, 44,116,111,108,117, 97, 95,111, 98,106, 44, 78, 85, 76, 76, 41, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10,111,117,116, 112,117,116, 40, 39, 32,125, 39, 41, 10,101,108,115,101,105, 102, 32,115,101,108,102, 46,112,116,114, 32, 61, 61, 32, 39, 38, 39, 32,116,104,101,110 40, 118,111,105,100, 42, 41, 38,116,111,108,117, 97, 95,114,101, 116, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10,101, 108,115,101, 10,111,117,116,112,117,116, 40, 39, 32,116,111, 108,117, 97, 95,112,117,115,104,117,115,101,114,116,121,112, 101, 40,116,111,108,117, 97, 95, 83, 44, 40,118,111,105,100, 42, 41,116,111,108,117, 97, 95,114,101,116, 44, 34, 39, 44, 116, 44, 39, 34, 41, 59, 39, 41, 10,105,102, 32,115,101,108, 102, 46,109,111,100, 32, 61, 61, 32, 39,116,111,108,117, 97, 95,111,119,110, 39, 32,116,104,101,110, 10,111,117,116,112, 117,116, 40, 39, 32,108,117, 97, 95,112,117,115,104, 99,102, 117,110, 99,116,105,111,110, 40,116,111,108,117, 97, 95, 83, 44, 32,116,111,108,117, 97, 95, 98,110,100, 95,116, 97,107, 101,111,119,110,101,114,115,104,105,112, 41, 59, 39, 41, 10, 111,117,116,112,117,116, 40, 39, 32,108,117, 97, 95,112,117, 115,104,118, 97,108,117,101, 40,116,111,108,117, 97, 95, 83, 44, 32, 45, 50, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,108,117, 97, 95, 99, 97,108,108, 40,116,111,108, 117, 97, 95, 83, 44, 32, 49, 44, 32, 48, 41, 59, 39, 41, 10, 101,110,100, 10,101,110,100, 10,101,110,100100,111, 10,110,114,101,116, 32, 61, 32,110,114,101,116, 32, 43, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 58, 114,101,116,118, 97,108,117,101, 40, 41, 10,105, 32, 61, 32, 105, 43, 49, 10,101,110,100, 10,111,117,116,112,117,116, 40, 39, 32,125, 39, 41, 10,105,102, 32, 99,108, 97,115,115, 32, 116,104,101,110, 32,110, 97,114,103, 61, 50, 32,101,108,115, 101, 32,110, 97,114,103, 61, 49, 32,101,110,100, 10,105,102, 32,115,101,108,102, 46, 97,114,103,115, 91, 49, 93, 46,116, 121,112,101, 32,126, 61, 32, 39,118,111,105,100, 39, 32,116, 104,101,110, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119, 104,105,108,101, 32,115,101,108,102, 46, 97,114,103,115, 91, 105, 93, 32,100,111, 10,105,102, 32,105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 46, 116,121,112,101, 41, 32,126, 61, 32, 34,115,116, 97,116,101, 34, 32,116,104,101,110, 10,115,101,108,102, 46, 97,114,103, 115, 91,105, 93, 58,115,101,116, 97,114,114, 97,121, 40,110, 97,114,103, 41, 10,110, 97,114,103, 32, 61, 32,110, 97,114, 103, 43, 49, 10,101,110,100, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,101,110,100, 10,105,102, 32,115,101,108, 102, 46, 97,114,103,115, 91, 49, 93, 46,116,121,112,101, 32, 126, 61, 32, 39,118,111,105,100, 39, 32,116,104,101,110, 10, 108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 32,100, 111, 10,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 58, 102,114,101,101, 97,114,114, 97,121, 40, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,101,110,100, 10,101,110, 100, 10,111,117,116,112,117,116, 40, 39, 32,125, 39, 41, 10, 105,102, 32,115,101,108,102, 46,116,121,112,101, 32, 61, 61, 32, 34,116,111,108,117, 97, 95,109,117,108,116,114,101,116, 34, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 32,114,101,116,117,114,110, 32, 39, 46, 46,110,114,101,116, 46, 46, 39, 32, 43, 32,116,111,108,117, 97, 95,114,101,116, 59, 39, 41, 10,101,108,115,101, 10,111,117,116,112,117,116, 40, 39, 32,114,101,116,117,114,110, 32, 39, 46, 46,110,114, 101,116, 46, 46, 39, 59, 39, 41, 10,101,110,100, 10,105,102, 32,111,118,101,114,108,111, 97,100, 32, 60, 32, 48, 32,116, 104,101,110, 10,111,117,116,112,117,116, 40, 39, 35,105,102, 110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39,116,111,108,117, 97, 95,108,101,114,114,111,114, 58, 92, 110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,116,111, 108,117, 97, 95,101,114,114,111,114, 40,116,111,108,117, 97, 95, 83, 44, 34, 35,102,101,114,114,111,114, 32,105,110, 32, 102,117,110, 99,116,105,111,110, 32, 92, 39, 39, 46, 46,115, 101,108,102, 46,108,110, 97,109,101, 46, 46, 39, 92, 39, 46, 34, 44, 38,116,111,108,117, 97, 95,101,114,114, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,114,101,116,117, 114,110, 32, 48, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10,101,108,115, 101, 10,111,117,116,112,117,116, 40, 39,116,111,108,117, 97, 95,108,101,114,114,111,114, 58, 92,110, 39, 41, 10,111,117, 116,112,117,116, 40, 39, 32,114,101,116,117,114,110, 32, 39, 46, 46,115,116,114,115,117, 98, 40,115,101,108,102, 46, 99, 110, 97,109,101, 44, 49, 44, 45, 51, 41, 46, 46,102,111,114, 109, 97,116, 40, 34, 37, 48, 50,100, 34, 44,111,118,101,114, 108,111, 97,100, 41, 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 41, 59, 39, 41, 10,101,110,100, 10,111,117,116,112,117, 116, 40, 39,125, 39, 41, 10,111,117,116,112,117,116, 40, 39, 92,110, 39, 41, 10,101,110,100, 10,102,117,110, 99,116,105, 111,110, 32, 99,108, 97,115,115, 70,117,110, 99,116,105,111, 110, 58,114,101,103,105,115,116,101,114, 32, 40, 41, 10,111, 117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,102, 117,110, 99,116,105,111,110, 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,102, 46,108,110, 97,109,101, 46, 46, 39, 34, 44, 39, 46, 46,115,101,108,102, 46, 99,110, 97,109,101, 46, 46, 39, 41, 59, 39, 41, 10,101,110,100, 10, 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 70, 117,110, 99,116,105,111,110, 58,112,114,105,110,116, 32, 40, 105,100,101,110,116, 44, 99,108,111,115,101, 41, 10,112,114, 105,110,116, 40,105,100,101,110,116, 46, 46, 34, 70,117,110, 99,116,105,111,110,123, 34, 41, 10,112,114,105,110,116, 40, 105,100,101,110,116, 46, 46, 34, 32,109,111,100, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,109,111,100112,116,114, 32, 61, 32, 39, 34, 46, 46,115,101, 108,102, 46,112,116,114, 46, 46, 34, 39, 44, 34, 41, 10,112, 114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46, 110, 97,109,1018,110, 97, 109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,108, 110, 97,109,101 99,111,110, 115,116, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46, 99, 111,110,115,116 99,110, 97, 109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46, 99, 110, 97,109,1018,110, 97, 109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,108, 110, 97,109,101 97,114,103, 115, 32, 61, 32,123, 34, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115,101,108,102, 46, 97, 114,103,115, 91,105, 93, 32,100,111, 10,115,101,108,102, 46, 97,114,103,115 32,125, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,100, 10, 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 70, 117,110, 99,116,105,111,110, 58,114,101,113,117,105,114,101, 99,111,108,108,101, 99,116,105,111,110, 32, 40,116, 41, 10, 108,111, 99, 97,108, 32,114, 32, 61, 32,102, 97,108,115,101, 10,105,102, 32,115,101,108,102, 46,116,121,112,101, 32,126, 61, 32, 39, 39, 32, 97,110,100, 32,110,111,116, 32,105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46,116,121,112,101, 41, 32, 97,110,100, 32,115,101,108,102, 46,112,116,114, 61, 61, 39, 39, 32,116,104,101,110, 10,108,111, 99, 97,108, 32, 116,121,112,101, 32, 61, 32,103,115,117, 98, 40,115,101,108, 102, 46,116,121,112,101, 44, 34, 37,115, 42, 99,111,110,115, 116, 37,115, 42, 34, 44, 34, 34, 41, 10,116, 91,116,121,112, 101, 93, 32, 61, 32, 34,116,111,108,117, 97, 95, 99,111,108, 108,101, 99,116, 95, 34, 32, 46, 46, 32,103,115,117, 98, 40, 116,121,112,101, 44, 34, 58, 58, 34, 44, 34, 95, 34, 41, 10, 114, 32, 61, 32,116,114,117,101, 10,101,110,100, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115, 101,108,102, 46, 97,114,103,115, 91,105, 93, 32,100,111, 10, 114, 32, 61, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 58,114,101,113,117,105,114,101, 99,111,108,108,101, 99, 116,105,111,110, 40,116, 41, 32,111,114, 32,114, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,114,101,116,117,114, 110, 32,114, 10,101,110,100, 10,102,117,110, 99,116,105,111, 110, 32, 99,108, 97,115,115, 70,117,110, 99,116,105,111,110, 58,111,118,101,114,108,111, 97,100, 32, 40, 41, 10,114,101, 116,117,114,110, 32,115,101,108,102, 46,112, 97,114,101,110, 116, 58,111,118,101,114,108,111, 97,100, 40,115,101,108,102, 46,108,110, 97,109,101, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 95, 70,117,110, 99,116,105,111,110, 32, 40,116, 41, 10,115,101,116,109,101,116, 97,116, 97, 98, 108,101, 40,116, 44, 99,108, 97,115,115, 70,117,110, 99,116, 105,111,110, 41, 10,105,102, 32,116, 46, 99,111,110,115,116, 32,126, 61, 32, 39, 99,111,110,115,116, 39, 32, 97,110,100, 32,116, 46, 99,111,110,115,116, 32,126, 61, 32, 39, 39, 32, 116,104,101,110, 10,101,114,114,111,114, 40, 34, 35,105,110, 118, 97,108,105,100, 32, 39, 99,111,110,115,116, 39, 32,115, 112,101, 99,105,102,105, 99, 97,116,105,111,110, 34, 41, 10, 101,110,100, 10, 97,112,112,101,110,100, 40,116, 41, 10,105, 102, 32,116, 58,105,110, 99,108, 97,115,115, 40, 41, 32,116, 104,101,110, 10,105,102, 32,116, 46,110, 97,109,101, 32, 61, 61, 32,116, 46,112, 97,114,101,110,116, 46,110, 97,109,101, 32,116,104,101,110, 10,116, 46,110, 97,109,101, 32, 61, 32, 39,110,101,119, 39, 10,116, 46,108,110, 97,109,101, 32, 61, 32, 39,110,101,119, 39, 10,105,102, 32,115,116,114,105,110, 103, 46,102,105,110,100, 40,116, 46,116,121,112,101, 44, 34, 116,111,108,117, 97, 95,111,119,110, 34, 41, 32,116,104,101, 110, 10,116, 46,109,111,100, 32, 61, 32, 34,116,111,108,117, 97, 95,111,119,110, 34, 10,101,110,100, 10,116, 46,116,121, 112,101, 32, 61, 32,116, 46,112, 97,114,101,110,116, 46,110, 97,109,101, 10,116, 46,112,116,114, 32, 61, 32, 39, 42, 39, 10,101,108,115,101,105,102, 32,116, 46,110, 97,109,101, 32, 61, 61, 32, 39,126, 39, 46, 46,116, 46,112, 97,114,101,110, 116, 46,110, 97,109,101, 32,116,104,101,110, 10,116, 46,110, 97,109,101, 32, 61, 32, 39,100,101,108,101,116,101, 39, 10, 116, 46,108,110, 97,109,101, 32, 61, 32, 39,100,101,108,101, 116,101, 39, 10,116, 46,112, 97,114,101,110,116, 46, 95,100, 101,108,101,116,101, 32, 61, 32,116,114,117,101, 10,101,108, 115,101,105,102, 32,116, 46,116,121,112,101, 32, 61, 61, 32, 39,116,111,108,117, 97, 95,108,101,110, 39, 32,116,104,101, 110, 10,116, 46,108,110, 97,109,101, 32, 61, 32, 34, 46,108, 101,110, 34, 10,101,110,100, 10,101,110,100, 10,116, 46, 99, 110, 97,109,101, 32, 61, 32,116, 58, 99,102,117,110, 99,110, 97,109,101, 40, 34,116,111,108,117, 97, 34, 41, 46, 46,116, 58,111,118,101,114,108,111, 97,100, 40,116, 41, 10,114,101, 116,117,114,110, 32,116, 10,101,110,100, 10,102,117,110, 99, 116,105,111,110, 32, 70,117,110, 99,116,105,111,110, 32, 40, 100, 44, 97, 44, 99, 41, 10,108,111, 99, 97,108, 32,116, 32, 61, 32,115,112,108,105,116, 40,115,116,114,115,117, 98, 40, 97, 44, 50, 44, 45, 50, 41, 44, 39, 44, 39, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,108,111, 99, 97,108, 32,108, 32, 61, 32,123,110, 61, 48,125, 10,119,104,105,108,101, 32, 116, 91,105, 93, 32,100,111, 10,108, 46,110, 32, 61, 32,108, 46,110, 43, 49, 10,108, 91,108, 46,110, 93, 32, 61, 32, 68, 101, 99,108, 97,114, 97,116,105,111,110, 40,116, 91,105, 93, 44, 39,118, 97,114, 39, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,108,111, 99, 97,108, 32,102, 32, 61, 32, 68,101, 99,108, 97,114, 97,116,105,111,110, 40,100, 44, 39, 102,117,110, 99, 39, 41, 10,102, 46, 97,114,103,115, 32, 61, 32,108, 10,102, 46, 99,111,110,115,116, 32, 61, 32, 99, 10, 114,101,116,117,114,110, 32, 95, 70,117,110, 99,116,105,111, 0, 83, 84, 82, 50, 32, 61, 32, 34, 92, 48, 48, 50, 34, 10, 83, 84, 82, 51, 32, 61, 32, 34, 92, 48, 48, 51, 34, 10, 83, 84, 82, 52, 32, 61, 32, 34, 92, 48, 48, 52, 34, 10, 82, 69, 77, 32, 61, 32, 34, 92, 48, 48, 53, 34, 10, 65, 78, 89, 32, 61, 32, 34, 40, 91, 92, 48, 48, 49, 45, 92, 48, 48, 53, 93, 41, 34, 10, 69, 83, 67, 49, 32, 61, 32, 34, 92, 48, 48, 54, 34, 10, 69, 83, 67, 50, 32, 61, 32, 34, 92, 48, 48, 55, 34, 10, 77, 65, 83, 75, 32, 61, 32,123, 10,123, 69, 83, 67, 49, 44, 32, 34, 92, 92, 39, 34, 44, 32, 34, 92, 92, 39, 34,125, 44, 10,123, 69, 83, 67, 50, 44, 32, 39, 92, 92, 34, 39, 44, 32, 39, 92, 92, 34, 39,125, 44, 10,123, 83, 84, 82, 49, 44, 32, 34, 39, 34, 44, 32, 34, 39, 34,125, 44, 10,123, 83, 84, 82, 50, 44, 32, 39, 34, 39, 44, 32, 39, 34, 39,125, 44, 10,123, 83, 84, 82, 51, 44, 32, 34, 37, 91, 37, 91, 34, 44, 32, 34, 91, 91, 34,125, 440,123, 82, 69, 77, 32, 44, 32, 34, 37, 45, 37, 45, 34, 44, 32, 34, 45, 45, 34,125, 44, 10,125, 10,102,117,110, 99,116,105,111,110, 32,109, 97,115,107, 32, 40,115, 41, 10,102,111,114, 32,105, 32, 61, 32, 49, 44,103,101,116,110, 40, 77, 65, 83, 75, 41, 32,100,111, 10,115, 32, 61, 32,103,115,117, 98, 40,115, 44, 77, 65, 83, 75, 91,105, 93, 91, 50, 93, 44, 77, 65, 83, 75, 91,105, 93, 91, 49, 93, 41, 10,101,110,100, 10,114,101,116, 117,114,110, 32,115, 10,101,110,100, 10,102,117,110, 99,116, 105,111,110, 32,117,110,109, 97,115,107, 32, 40,115, 41, 10, 102,111,114, 32,105, 32, 61, 32, 49, 44,103,101,116,110, 40, 77, 65, 83, 75, 41, 32,100,1110,101,110, 100, 10,114,101,116,117,114,110, 32,115, 10,101,110,100, 10, 102,117,110, 99,116,105,111,110, 32, 99,108,101, 97,110, 32, 40,115, 41, 10,108,111, 99, 97,108, 32, 99,111,100,101, 32, 61, 32, 34,114,101,116,117,114,110, 32,102,117,110, 99,116, 105,111,110, 32, 40, 41, 32, 34, 32, 46, 46, 32,115, 32, 46, 46, 32, 34, 32,101,110,100, 34, 10,105,102, 32,110,111,116, 32,100,111,115,116,114,105,110,103, 40, 99,111,100,101, 41, 32,116,104,101,110, 10,114,101,116,117,114,110, 32,110,105, 108, 10,101,110,100, 10,108,111, 99, 97,108, 32, 83, 32, 61, 32, 34, 34, 10,115, 32, 61, 32,109, 97,115,107, 40,115, 41, 10,119,104,105,108,101, 32, 49, 32,100,111, 10,108,111, 99, 97,108, 32, 98, 44,101, 44,100, 32, 61, 32,115,116,114,102, 105,110,100, 40,115, 44, 65, 78, 89, 41, 10,105,102, 32, 98, 32,116,104,101,110, 10, 83, 32, 61, 32, 83, 46, 46,115,116, 114,115,117, 98, 40,115, 44, 49, 44, 98, 45, 49, 41, 10,115, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 43, 49, 41, 10,105,102, 32,100, 61, 61, 83, 84, 82, 49, 32,111,114, 32,100, 61, 61, 83, 84, 82, 50, 32,116,104,101,110, 10,101, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44,100, 41, 10, 83, 32, 61, 32, 83, 32, 46, 46,100, 46, 46,115,116,114, 115,117, 98, 40,115, 44, 49, 44,101, 41, 10,115, 32, 61, 32, 115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,101, 108,115,101,105,102, 32,100, 61, 61, 83, 84, 82, 51, 32,116, 104,101,110, 10,101, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 83, 84, 82, 52, 41, 10, 83, 32, 61, 32, 83, 46, 46,100, 46, 46,115,116,114,115,117, 98, 40,115, 44, 49, 44, 101, 41, 10,115, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,101,108,115,101,105,102, 32,100, 61, 61, 82, 69, 77, 32,116,104,101,110, 10,115, 32, 61, 32,103, 115,117, 98, 40,115, 44, 34, 91, 94, 92,110, 93, 42, 40, 92, 110, 63, 41, 34, 44, 34, 37, 49, 34, 44, 49, 41, 10,101,110, 100, 10,101,108,115,101, 10, 83, 32, 61, 32, 83, 46, 46,115, 10, 98,114,101, 97,107, 10,101,110,100, 10,101,110,100, 10, 83, 32, 61, 32,103,115,117, 98, 40, 83, 44, 34, 91, 32, 92, 116, 93, 43, 34, 44, 34, 32, 34, 41, 10, 83, 32, 61, 32,103, 115,117, 98, 40, 83, 44, 34, 91, 32, 92,116, 93, 42, 92,110, 91, 32, 92,116, 93, 42, 34, 44, 34, 92,110, 34, 41, 10, 83, 32, 61, 32,103,115,117, 98, 40, 83, 44, 34, 92,110, 43, 34, 44, 34, 92,110, 34, 41, 10, 83, 32, 61, 32,117,110,109, 97, 115,107, 40, 83, 41, 10,114,101,116,117,114,110, 32, 83, 10, ENDREP DELTA 21069 367436 1430 SVN‹Š=ЀРSTR1 = "\001" STR2 = "\002" STR3 = "\003" STR4 = "\004" REM = "\005" ANY = "([\001-\005])" ESC1 = "\006" ESC2 = "\007" MASK = { -- the substitution order is important {ESC1, "\\'", "\\'"}, {ESC2, '\\"', '\\"'}, {STR1, "'", "'"}, {STR2, '"', '"'}, {STR3, "%[%[", "[["}, {STR4, "%]%]", "]]"}, {REM , "%-%-", "--"}, } function mask (s) for i = 1,getn(MASK) do s = gsub(s,MASK[i][2],MASK[i][1]) end return s end function unmask (s) for i = 1,getn(MASK) do s = gsub(s,MASK[i][1],MASK[i][3]) end return s end function clean (s) -- check for compilation error local code = "return function () " .. s .. " end" if not dostring(code) then return nil end local S = "" -- saved string s = mask(s) -- remove blanks and comments while 1 do local b,e,d = strfind(s,ANY) if b then S = S..strsub(s,1,b-1) s = strsub(s,b+1) if d==STR1 or d==STR2 then e = strfind(s,d) S = S ..d..strsub(s,1,e) s = strsub(s,e+1) elseif d==STR3 then e = strfind(s,STR4) S = S..d..strsub(s,1,e) s = strsub(s,e+1) elseif d==REM then s = gsub(s,"[^\n]*(\n?)","%1",1) end else S = S..s break end end -- eliminate unecessary spaces S = gsub(S,"[ \t]+"," ") S = gsub(S,"[ \t]*\n[ \t]*","\n") S = gsub(S,"\n+","\n") S = unmask(S) return S end ENDREP DELTA 21069 380341 4385 SVN’ J5›oC€C€‚UC€‚C€mC€…ZC€aC€eC€kC€‰w -- Real globals -- _ALERT -- _ERRORMESSAGE -- _VERSION -- _G -- assert -- error -- metatable -- next -- print -- require -- tonumber -- tostring -- type -- collectgarbage -- gcinfo -- globals -- call -> protect(f, err) -- rawget -- rawset -- getargs = Main.getargs ?? rawtype = type function do_ (f, err) if not f then print(err); return end local a,b = pcall(f) if not a then print(b); return nil else return b or true end end function dostring(s) return do_(load(s)) end -- Table library local tab = table foreach = function(t,f) for k,v in pairs(t) do f(k,v) end end foreachi = function(t,f) for i,v in ipairs(t) do f(i,v) end end getn = function(t) return #t end tinsert = tab.insert tremove = tab.remove sort = tab.sort -- Debug library local dbg = debug getinfo = dbg.getinfo getlocal = dbg.getlocal setcallhook = function () error"`setcallhook' is deprecated" end setlinehook = function () error"`setlinehook' is deprecated" end setlocal = dbg.setlocal -- math library local math = math abs = math.abs acos = function (x) return math.deg(math.acos(x)) end asin = function (x) return math.deg(math.asin(x)) end atan = function (x) return math.deg(math.atan(x)) end atan2 = function (x,y) return math.deg(math.atan2(x,y)) end ceil = math.ceil cos = function (x) return math.cos(math.rad(x)) end deg = math.deg exp = math.exp floor = math.floor frexp = math.frexp ldexp = math.ldexp log = math.log log10 = math.log10 max = math.max min = math.min mod = math.mod PI = math.pi --??? pow = math.pow rad = math.rad random = math.random randomseed = math.randomseed sin = function (x) return math.sin(math.rad(x)) end sqrt = math.sqrt tan = function (x) return math.tan(math.rad(x)) end -- string library local str = string strbyte = str.byte strchar = str.char strfind = str.find format = str.format gsub = str.gsub strlen = str.len strlower = str.lower strrep = str.rep strsub = str.sub strupper = str.upper -- os library clock = os.clock date = os.date difftime = os.difftime execute = os.execute --? exit = os.exit getenv = os.getenv remove = os.remove rename = os.rename setlocale = os.setlocale time = os.time tmpname = os.tmpname -- compatibility only getglobal = function (n) return _G[n] end setglobal = function (n,v) _G[n] = v end local io, tab = io, table -- IO library (files) _STDIN = io.stdin _STDERR = io.stderr _STDOUT = io.stdout _INPUT = io.stdin _OUTPUT = io.stdout seek = io.stdin.seek -- sick ;-) tmpfile = io.tmpfile closefile = io.close openfile = io.open function flush (f) if f then f:flush() else _OUTPUT:flush() end end function readfrom (name) if name == nil then local f, err, cod = io.close(_INPUT) _INPUT = io.stdin return f, err, cod else local f, err, cod = io.open(name, "r") _INPUT = f or _INPUT return f, err, cod end end function writeto (name) if name == nil then local f, err, cod = io.close(_OUTPUT) _OUTPUT = io.stdout return f, err, cod else local f, err, cod = io.open(name, "w") _OUTPUT = f or _OUTPUT return f, err, cod end end function appendto (name) local f, err, cod = io.open(name, "a") _OUTPUT = f or _OUTPUT return f, err, cod end function read (...) local f = _INPUT local arg = {...} if rawtype(arg[1]) == 'userdata' then f = tab.remove(arg, 1) end return f:read(table.unpack(arg)) end function write (...) local f = _OUTPUT local arg = {...} if rawtype(arg[1]) == 'userdata' then f = tab.remove(arg, 1) end return f:write(table.unpack(arg)) end ENDREP DELTA 26905 13060 11291 SVNΪ\γg:$†e‚w†c‘F‰i…›E=‘A€(‹F»—‚Ό1΄RΎn€n“RΖH₯tΩhsettable(L,-4);gettable(L,-2); if (lua_isnumber(L,2)) /* check if key is a numeric value */ { /* try operator[] */ lua_pushvalue(L,1); /* stack: obj key v obj */ while (lua_getmetatable(L,-1)) { /* stack: obj key v obj mt */ lua_remove(L,-2); /* stack: obj key v mt */ lua_pushstring(L,".seti"); lua_rawget(L,-2); /* stack: obj key v mt func */ if (lua_isfunction(L,-1)) { lua_pushvalue(L,1); lua_pushvalue(L,2); lua_pushvalue(L,3); lua_call(L,3,0); return 0; } lua_settop(L,4); /* stack: obj key v mt */ } tolua_error(L,"Attempt to set indexed value on an invalid operand",NULL); } else { /* Try accessing a C/C++ variable to be set */ lua_pushvalue(L,1); /* stack: obj key v obj */ while (lua_getmetatable(L,-1)) { /* stack: obj key v obj mt */ lua_remove(L,-2); /* stack: obj key v mt */ lua_pushstring(L,".set"); lua_rawget(L,-2); /* stack: t k v mt tset */ if (lua_istable(L,-1)) { lua_pushvalue(L,2); lua_rawget(L,-2); /* stack: t k v mt tset func */ if (lua_iscfunction(L,-1)) { lua_pushvalue(L,1); lua_pushvalue(L,3); lua_call(L,2,0); return 0; } } lua_settop(L,4); /* stack: t k v mt */ } } /* then, store as a new field */ lua_settop(L,3); /* stack: t k vlen_event (lua_State* L/* stack: op1 op2 mt */ lua_pushstring(L,".len");/* stack: obj key mt func */ if (lua_isfunction(L,-1)) { lua_pushvalue(L,1); lua_call(L,1,1); return 1; } lua_settop(L,3); } } tolua_error(L,"Attempt to perform operation on an invalid operand",NULL); return 0len"); lua_pushcfunction(L,class_lenENDREP DELTA 26905 24383 2823 SVN——„j*„k…‚l” = ""ENDREP id: c6r.5ck.r31410/74798 type: file pred: c6r.5ck.r22462/765 count: 2 text: 31410 2200 44 88 8a23ea53e96dd5af8ad3c578d329c17f cpath: /trunk/dependencies/tolua-5.2/Makefile.am copyroot: 15280 /trunk id: c6t.5ck.r31410/74997 type: file pred: c6t.5ck.r21069/417489 count: 1 text: 31410 2269 31 1128 309d55abd51d64aab5bf6e5d06a5a40d cpath: /trunk/dependencies/tolua-5.2/README copyroot: 15280 /trunk id: 28pm.5ck.r31410/75196 type: file count: 0 text: 31410 0 271 257 df7ec3851c90f32210ac163514ef795c cpath: /trunk/dependencies/tolua-5.2/Version copyroot: 15280 /trunk id: 28po.5ck.r31410/75366 type: file count: 0 text: 31410 284 1313 1299 561098f3c0eb8a6b8c87f497a058459b cpath: /trunk/dependencies/tolua-5.2/freeciv_tolua.patch copyroot: 15280 /trunk id: c6v.5ck.r31410/75552 type: file pred: c6v.5ck.r26905/198033 count: 2 text: 31410 2326 64 5785 19540bdee5491e7ebf1160e51b6a7d30 props: 26905 197986 34 0 25e6c2f7558b7484000d4d090dea5b92 cpath: /trunk/dependencies/tolua-5.2/include/tolua.h copyroot: 15280 /trunk PLAIN K 7 tolua.h V 25 file c6v.5ck.r31410/75552 END ENDREP id: c6u.5ck.r31410/75878 type: dir pred: c6u.5ck.r26905/198363 count: 2 text: 31410 75818 47 0 2ee4716811e6212543d8a6dcccef1cf8 cpath: /trunk/dependencies/tolua-5.2/include copyroot: 15280 /trunk id: c77.5ck.r31410/76075 type: file pred: c77.5ck.r21069/411736 count: 1 text: 31410 3385 4513 4653 db2e7ddc3989411a6833a6e0c62a69d4 cpath: /trunk/dependencies/tolua-5.2/src/bin/lua/basic.lua copyroot: 15280 /trunk id: c79.5ck.r31410/76291 type: file pred: c79.5ck.r21069/411926 count: 1 text: 31410 67531 1327 1341 525f9d36966e2bca1c00f01b8caa93a1 cpath: /trunk/dependencies/tolua-5.2/src/bin/lua/clean.lua copyroot: 15280 /trunk id: c7b.5ck.r31410/76508 type: file pred: c7b.5ck.r21069/412314 count: 1 text: 31410 68889 3632 4170 62ec8c74173b25a0d44218b63b7bf15f cpath: /trunk/dependencies/tolua-5.2/src/bin/lua/compat.lua copyroot: 15280 /trunk id: c7i.5ck.r31410/76726 type: file pred: c7i.5ck.r21069/413093 count: 1 text: 31410 1610 560 10304 5eb1578bb9177c8b6b247f20e056e540 cpath: /trunk/dependencies/tolua-5.2/src/bin/lua/function.lua copyroot: 15280 /trunk PLAIN K 7 all.lua V 26 file c74.5ck.r21069/410977 K 9 array.lua V 26 file c76.5ck.r21069/411546 K 9 basic.lua V 25 file c77.5ck.r31410/76075 K 9 class.lua V 26 file c78.5ck.r21069/410787 K 9 clean.lua V 25 file c79.5ck.r31410/76291 K 8 code.lua V 26 file c7a.5ck.r21069/411357 K 10 compat.lua V 25 file c7b.5ck.r31410/76508 K 13 container.lua V 26 file c7c.5ck.r21069/412117 K 15 declaration.lua V 26 file c7d.5ck.r21069/412700 K 10 define.lua V 26 file c7e.5ck.r21069/413478 K 8 doit.lua V 26 file c7f.5ck.r21069/410406 K 13 enumerate.lua V 26 file c7g.5ck.r21069/412898 K 11 feature.lua V 26 file c7h.5ck.r21069/413670 K 12 function.lua V 25 file c7i.5ck.r31410/76726 K 10 module.lua V 26 file c7j.5ck.r21069/413286 K 13 namespace.lua V 26 file c7k.5ck.r21069/414249 K 12 operator.lua V 26 file c7l.5ck.r21069/413862 K 11 package.lua V 26 file c7m.5ck.r21069/414056 K 11 typedef.lua V 26 file c7n.5ck.r21069/410595 K 12 variable.lua V 26 file c7o.5ck.r21069/412506 K 12 verbatim.lua V 26 file c7p.5ck.r21069/411163 END ENDREP id: c73.5ck.r31410/77973 type: dir pred: c73.5ck.r21069/415475 count: 1 text: 31410 76945 1015 0 8b019cf8bea01e57b20278a62510e70d cpath: /trunk/dependencies/tolua-5.2/src/bin/lua copyroot: 15280 /trunk id: c7q.5ck.r31410/78176 type: file pred: c7q.5ck.r26905/196823 count: 3 text: 31410 74737 31 2949 9e5fc6cb39a64f9a4bdf89f6b5628094 props: 26905 196776 34 0 25e6c2f7558b7484000d4d090dea5b92 cpath: /trunk/dependencies/tolua-5.2/src/bin/tolua.c copyroot: 15280 /trunk id: c7s.5ck.r31410/78443 type: file pred: c7s.5ck.r26905/196498 count: 2 text: 31410 7928 59571 262203 6667396b53a0c17c47dfbca7f76eb3a2 props: 26905 196451 34 0 25e6c2f7558b7484000d4d090dea5b92 cpath: /trunk/dependencies/tolua-5.2/src/bin/toluabind.c copyroot: 15280 /trunk PLAIN K 11 Makefile.am V 25 file c71.5ck.r21872/14900 K 3 lua V 24 dir c73.5ck.r31410/77973 K 7 tolua.c V 25 file c7q.5ck.r31410/78176 K 9 tolua.pkg V 26 file c7r.5ck.r21069/415847 K 11 toluabind.c V 25 file c7s.5ck.r31410/78443 END ENDREP id: c70.5ck.r31410/78958 type: dir pred: c70.5ck.r26905/197334 count: 6 text: 31410 78718 227 0 b2e132fb6f8f5db1ef6d296b29f076b9 props: 23744 2372 59 0 ff39922563c36f2419392ed34080d08b cpath: /trunk/dependencies/tolua-5.2/src/bin copyroot: 15280 /trunk id: c7w.5ck.r31410/79212 type: file pred: c7w.5ck.r26905/195238 count: 3 text: 31410 72552 2154 12775 da16f1fb5c4075655ddc69463f9ea565 props: 26905 195191 34 0 25e6c2f7558b7484000d4d090dea5b92 cpath: /trunk/dependencies/tolua-5.2/src/lib/tolua_event.c copyroot: 15280 /trunk id: c7z.5ck.r31410/79488 type: file pred: c7z.5ck.r26905/194601 count: 3 text: 31410 2419 939 14926 1af0f6cdcbd7e46380af9d9f1aa4e433 props: 26905 194554 34 0 25e6c2f7558b7484000d4d090dea5b92 cpath: /trunk/dependencies/tolua-5.2/src/lib/tolua_map.c copyroot: 15280 /trunk PLAIN K 11 Makefile.am V 25 file c7u.5ck.r21572/10693 K 13 tolua_event.c V 25 file c7w.5ck.r31410/79212 K 13 tolua_event.h V 26 file c7x.5ck.r26905/193957 K 10 tolua_is.c V 26 file c7y.5ck.r26905/194279 K 11 tolua_map.c V 25 file c7z.5ck.r31410/79488 K 12 tolua_push.c V 26 file c80.5ck.r26905/194917 K 10 tolua_to.c V 26 file c81.5ck.r26905/195560 END ENDREP id: c7t.5ck.r31410/80120 type: dir pred: c7t.5ck.r26905/196195 count: 5 text: 31410 79760 347 0 1044b3fc4e72ea1314634e54c529ad15 props: 23744 2052 53 0 1aad128f6d028f535e9ce7233326568e cpath: /trunk/dependencies/tolua-5.2/src/lib copyroot: 15280 /trunk PLAIN K 11 Makefile.am V 26 file c6y.5ck.r21069/416819 K 3 bin V 24 dir c70.5ck.r31410/78958 K 3 lib V 24 dir c7t.5ck.r31410/80120 END ENDREP id: c6x.5ck.r31410/80516 type: dir pred: c6x.5ck.r26905/197734 count: 6 text: 31410 80374 129 0 b7a17ff024525e313b4339efedb94717 props: 23744 2838 47 0 bf36bdb5202732a1b9a911cc1234183c cpath: /trunk/dependencies/tolua-5.2/src copyroot: 15280 /trunk PLAIN K 11 Makefile.am V 25 file c6r.5ck.r31410/74798 K 6 README V 25 file c6t.5ck.r31410/74997 K 7 Version V 26 file 28pm.5ck.r31410/75196 K 19 freeciv_tolua.patch V 26 file 28po.5ck.r31410/75366 K 7 include V 24 dir c6u.5ck.r31410/75878 K 3 src V 24 dir c6x.5ck.r31410/80516 END ENDREP id: c6p.5ck.r31410/81054 type: dir pred: c6p.5ck.r26905/198751 count: 7 text: 31410 80766 275 0 b78c111e9bce296fc7b0ba7385eef995 props: 23744 3333 47 0 bf36bdb5202732a1b9a911cc1234183c cpath: /trunk/dependencies/tolua-5.2 copyroot: 15280 /trunk PLAIN K 11 Makefile.am V 25 file 31m.5ck.r27705/36793 K 7 cvercmp V 22 dir acu.5ck.r31315/779 K 7 lua-5.3 V 25 dir 19ql.5ck.r30959/61827 K 6 luasql V 23 dir 6k8.5ks.r27650/1882 K 2 m4 V 23 dir 4ef.5ck.r25384/7703 K 11 tinycthread V 25 dir 1l63.5ck.r28036/11806 K 9 tolua-5.2 V 24 dir c6p.5ck.r31410/81054 END ENDREP id: 2yu.5ck.r31410/81616 type: dir pred: 2yu.5ck.r31315/1331 count: 127 text: 31410 81300 303 0 6a2b95da348930d709ae3e6cc007767f props: 14844 2808 53 0 a527b216afb99426b763a1e313c531be cpath: /trunk/dependencies copyroot: 15280 /trunk PLAIN K 9 ABOUT-NLS V 24 file fu.5ck.r27270/69307 K 7 AUTHORS V 24 file 5u.5ck.r22143/14016 K 7 COPYING V 22 file 1h.5ck.r29454/952 K 9 ChangeLog V 26 file 6l.5ck.r31297/7697235 K 7 INSTALL V 21 file 6.5ck.r31275/938 K 11 Makefile.am V 23 file 59.5ck.r30425/6590 K 4 NEWS V 24 file 6m.5ck.r25634/30702 K 6 README V 20 file 7.0.r4421/96382 K 2 ai V 21 dir 8.5ck.r31394/3066 K 10 autogen.sh V 22 file 12o.5ck.r31342/77 K 9 bootstrap V 23 dir 2p5.5ck.r31373/4451 K 6 client V 21 dir d.5ck.r31407/5078 K 6 common V 22 dir p.5ck.r31407/11095 K 12 configure.ac V 23 file 149.5ck.r31405/726 K 4 data V 22 dir w.5ck.r31408/43211 K 12 dependencies V 24 dir 2yu.5ck.r31410/81616 K 3 doc V 22 dir k7.5ck.r31351/2087 K 10 fc_version V 25 file 2lo.5en.r31407/11321 K 11 gen_headers V 25 dir 1hsw.5ck.r30614/36927 K 2 m4 V 23 dir 12p.5ck.r31384/2339 K 7 scripts V 23 dir 2yo.5ck.r28716/5421 K 6 server V 22 dir z.5ck.r31408/48197 K 5 tests V 23 dir 2g9.5ck.r27783/1363 K 5 tools V 23 dir 4pj.5js.r31400/2548 K 12 translations V 23 dir t0a.5ck.r31403/6433 K 7 utility V 23 dir 1c.5ck.r31366/41137 K 5 win32 V 23 dir 2eu.5ck.r31373/6851 END ENDREP id: 3.5ck.r31410/82984 type: dir pred: 3.5ck.r31408/49557 count: 20682 text: 31410 81852 1119 0 1a4f6d00824eaf114f4c75ded9fadb8d props: 28036 14655 292 0 9e1d5de0253c723466868990c52c129f cpath: /trunk copyroot: 15280 /trunk PLAIN K 8 branches V 20 dir 1.0.r31409/66054 K 4 tags V 19 dir 2.0.r29519/6475 K 5 trunk V 22 dir 3.5ck.r31410/82984 K 7 website V 20 dir 3ge.0.r30613/922 END ENDREP id: 0.0.r31410/83375 type: dir pred: 0.0.r31409/66375 count: 31410 text: 31410 83209 153 0 54591a10b530029749af5015248eafa4 cpath: / copyroot: 0 / c6r.5ck.t31409-1 modify true false /trunk/dependencies/tolua-5.2/Makefile.am c6t.5ck.t31409-1 modify true false /trunk/dependencies/tolua-5.2/README _3.5ck.t31409-1 add true false /trunk/dependencies/tolua-5.2/Version _5.5ck.t31409-1 add true false /trunk/dependencies/tolua-5.2/freeciv_tolua.patch c6v.5ck.t31409-1 modify true false /trunk/dependencies/tolua-5.2/include/tolua.h c77.5ck.t31409-1 modify true false /trunk/dependencies/tolua-5.2/src/bin/lua/basic.lua c79.5ck.t31409-1 modify true false /trunk/dependencies/tolua-5.2/src/bin/lua/clean.lua c7b.5ck.t31409-1 modify true false /trunk/dependencies/tolua-5.2/src/bin/lua/compat.lua c7i.5ck.t31409-1 modify true false /trunk/dependencies/tolua-5.2/src/bin/lua/function.lua c7q.5ck.t31409-1 modify true false /trunk/dependencies/tolua-5.2/src/bin/tolua.c c7s.5ck.t31409-1 modify true false /trunk/dependencies/tolua-5.2/src/bin/toluabind.c c7w.5ck.t31409-1 modify true false /trunk/dependencies/tolua-5.2/src/lib/tolua_event.c c7z.5ck.t31409-1 modify true false /trunk/dependencies/tolua-5.2/src/lib/tolua_map.c 83375 83523