Add tolua 5.1b. Latest version from http://www.tecgraf.puc-rio.br/~celes/tolua/
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/source/tolua/INSTALL Wed Nov 04 01:38:12 2009 +0000
1.3 @@ -0,0 +1,31 @@
1.4 +* Installation
1.5 +
1.6 + Building tolua on a Unix system should be very easy:
1.7 +
1.8 + 1. Edit "config" to suit your platform, if at all necessary.
1.9 + 2. Then, type "make".
1.10 +
1.11 + See below for instructions for Windows and Macintosh.
1.12 +
1.13 +* What you get
1.14 +
1.15 + If "make" succeeds, you get:
1.16 + * an executable to generate binding code in ./bin;
1.17 + * the C library to be linked in your application in ./lib;
1.18 + * the include file needed to compile your application in ./include.
1.19 + These are the only directories you need for development, besides Lua.
1.20 +
1.21 + There is testing codes in src/tests and, if you are lucky, there is a manual page
1.22 + in html in ./doc. You don't need these directories for development.
1.23 +
1.24 +* Installation on Windows or Macintosh
1.25 +
1.26 + The instructions for building tolua on a Mac or Windows machine depend on
1.27 + the particular compiler you are using.
1.28 + The simplest way is to create a folder with all .c and .h files, and
1.29 + then create a project for the executable and the library, as follows:
1.30 +
1.31 + tolua.exe: all *.c *.h in src/bin.
1.32 + tolua.lib: all *.c *.h in src/lib.
1.33 +
1.34 + Under directory ./win32, there is a project for Visual C++ 6.
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2 +++ b/source/tolua/MANIFEST Wed Nov 04 01:38:12 2009 +0000
2.3 @@ -0,0 +1,88 @@
2.4 +MANIFEST contents of tolua-5.1b distribution on Wed Dec 19 18:37:05 GST 2007
2.5 +tolua-5.1b
2.6 +tolua-5.1b/INSTALL
2.7 +tolua-5.1b/MANIFEST
2.8 +tolua-5.1b/Makefile
2.9 +tolua-5.1b/README
2.10 +tolua-5.1b/bin
2.11 +tolua-5.1b/config
2.12 +tolua-5.1b/include
2.13 +tolua-5.1b/include/tolua.h
2.14 +tolua-5.1b/lib
2.15 +tolua-5.1b/src
2.16 +tolua-5.1b/src/bin
2.17 +tolua-5.1b/src/bin/Makefile
2.18 +tolua-5.1b/src/bin/lua
2.19 +tolua-5.1b/src/bin/lua/all.lua
2.20 +tolua-5.1b/src/bin/lua/array.lua
2.21 +tolua-5.1b/src/bin/lua/basic.lua
2.22 +tolua-5.1b/src/bin/lua/class.lua
2.23 +tolua-5.1b/src/bin/lua/clean.lua
2.24 +tolua-5.1b/src/bin/lua/code.lua
2.25 +tolua-5.1b/src/bin/lua/compat.lua
2.26 +tolua-5.1b/src/bin/lua/container.lua
2.27 +tolua-5.1b/src/bin/lua/declaration.lua
2.28 +tolua-5.1b/src/bin/lua/define.lua
2.29 +tolua-5.1b/src/bin/lua/doit.lua
2.30 +tolua-5.1b/src/bin/lua/enumerate.lua
2.31 +tolua-5.1b/src/bin/lua/feature.lua
2.32 +tolua-5.1b/src/bin/lua/function.lua
2.33 +tolua-5.1b/src/bin/lua/module.lua
2.34 +tolua-5.1b/src/bin/lua/namespace.lua
2.35 +tolua-5.1b/src/bin/lua/operator.lua
2.36 +tolua-5.1b/src/bin/lua/package.lua
2.37 +tolua-5.1b/src/bin/lua/typedef.lua
2.38 +tolua-5.1b/src/bin/lua/variable.lua
2.39 +tolua-5.1b/src/bin/lua/verbatim.lua
2.40 +tolua-5.1b/src/bin/tolua.c
2.41 +tolua-5.1b/src/bin/tolua.pkg
2.42 +tolua-5.1b/src/bin/toluabind.c
2.43 +tolua-5.1b/src/lib
2.44 +tolua-5.1b/src/lib/Makefile
2.45 +tolua-5.1b/src/lib/tolua_event.c
2.46 +tolua-5.1b/src/lib/tolua_event.h
2.47 +tolua-5.1b/src/lib/tolua_is.c
2.48 +tolua-5.1b/src/lib/tolua_map.c
2.49 +tolua-5.1b/src/lib/tolua_push.c
2.50 +tolua-5.1b/src/lib/tolua_to.c
2.51 +tolua-5.1b/src/tests
2.52 +tolua-5.1b/src/tests/.gdb_history
2.53 +tolua-5.1b/src/tests/Makefile
2.54 +tolua-5.1b/src/tests/myassert.lua
2.55 +tolua-5.1b/src/tests/tarray.c
2.56 +tolua-5.1b/src/tests/tarray.h
2.57 +tolua-5.1b/src/tests/tarray.lua
2.58 +tolua-5.1b/src/tests/tarray.pkg
2.59 +tolua-5.1b/src/tests/tclass.cpp
2.60 +tolua-5.1b/src/tests/tclass.h
2.61 +tolua-5.1b/src/tests/tclass.lua
2.62 +tolua-5.1b/src/tests/tclass.pkg
2.63 +tolua-5.1b/src/tests/tconstant.cpp
2.64 +tolua-5.1b/src/tests/tconstant.h
2.65 +tolua-5.1b/src/tests/tconstant.lua
2.66 +tolua-5.1b/src/tests/tconstant.pkg
2.67 +tolua-5.1b/src/tests/tdirective.lua
2.68 +tolua-5.1b/src/tests/tdirective.pkg
2.69 +tolua-5.1b/src/tests/tdirectivelua.lua
2.70 +tolua-5.1b/src/tests/tdirectivepkg.pkg
2.71 +tolua-5.1b/src/tests/tfunction.cpp
2.72 +tolua-5.1b/src/tests/tfunction.h
2.73 +tolua-5.1b/src/tests/tfunction.lua
2.74 +tolua-5.1b/src/tests/tfunction.pkg
2.75 +tolua-5.1b/src/tests/tinheritance.cpp
2.76 +tolua-5.1b/src/tests/tinheritance.h
2.77 +tolua-5.1b/src/tests/tinheritance.lua
2.78 +tolua-5.1b/src/tests/tinheritance.pkg
2.79 +tolua-5.1b/src/tests/tmodule.c
2.80 +tolua-5.1b/src/tests/tmodule.h
2.81 +tolua-5.1b/src/tests/tmodule.lua
2.82 +tolua-5.1b/src/tests/tmodule.pkg
2.83 +tolua-5.1b/src/tests/tnamespace.cpp
2.84 +tolua-5.1b/src/tests/tnamespace.h
2.85 +tolua-5.1b/src/tests/tnamespace.lua
2.86 +tolua-5.1b/src/tests/tnamespace.pkg
2.87 +tolua-5.1b/src/tests/tvariable.c
2.88 +tolua-5.1b/src/tests/tvariable.h
2.89 +tolua-5.1b/src/tests/tvariable.lua
2.90 +tolua-5.1b/src/tests/tvariable.pkg
2.91 +END OF MANIFEST
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
3.2 +++ b/source/tolua/Makefile Wed Nov 04 01:38:12 2009 +0000
3.3 @@ -0,0 +1,17 @@
3.4 +# makefile for tolua hierarchy
3.5 +
3.6 +tolua:
3.7 + cd src/lib; make all
3.8 + cd src/bin; make all
3.9 +
3.10 +tests:
3.11 + cd src/tests; make all
3.12 +
3.13 +all clean klean:
3.14 + cd src/lib; make $@
3.15 + cd src/bin; make $@
3.16 + cd src/tests; make $@
3.17 +
3.18 +debug:
3.19 + cd src/bin; make all
3.20 +
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
4.2 +++ b/source/tolua/README Wed Nov 04 01:38:12 2009 +0000
4.3 @@ -0,0 +1,27 @@
4.4 +This is tolua-5.1b
4.5 +
4.6 +* What is tolua?
4.7 + tolua is a tool that greatly simplifies the integration of C/C++ code
4.8 + with Lua. Based on a "cleaned" header file, tolua automatically generates
4.9 + the binding code to access C/C++ features from Lua. Using Lua API and
4.10 + tag method facilities, the current version automatically maps C/C++
4.11 + constants, external variables, functions, namespace, classes, and methods
4.12 + to Lua. It also provides facilities to create Lua modules.
4.13 +
4.14 +* Availability
4.15 + tolua is freely available; you can redistribute it and/or modify it.
4.16 + The software provided hereunder is on an "as is" basis, and
4.17 + the author has no obligation to provide maintenance, support,
4.18 + updates, enhancements, or modifications.
4.19 +
4.20 + tolua can be downloaded from the sites below:
4.21 + http://www.tecgraf.puc-rio.br/~celes/tolua/
4.22 + ftp://ftp.tecgraf.puc-rio.br/pub/users/celes/tolua/tolua.tar.gz
4.23 +
4.24 +* Installation
4.25 + See INSTALL.
4.26 +
4.27 +* Contacting the author
4.28 + tolua has been designed and implemented by Waldemar Celes.
4.29 + Send your comments, bug reports and anything else to
4.30 + celes@tecgraf.puc-rio.br.
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
5.2 +++ b/source/tolua/config Wed Nov 04 01:38:12 2009 +0000
5.3 @@ -0,0 +1,34 @@
5.4 +# configuration file for making tolua
5.5 +
5.6 +# == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT ======================
5.7 +
5.8 +# you need an ANSI C compiler. gcc is a popular one.
5.9 +CC= gcc
5.10 +CCPP = g++
5.11 +WARN= -ansi -Wall -g
5.12 +
5.13 +# on SGI's, cc is ANSI.
5.14 +#CC= cc
5.15 +#WARN= -ansi -fullwarn
5.16 +
5.17 +# if your system doesn't have (or need) ranlib, change "ranlib" to "true".
5.18 +# on some systems, "ar s" does it.
5.19 +RANLIB= ranlib
5.20 +#RANLIB= ar s
5.21 +#RANLIB= true
5.22 +
5.23 +# this should work in all unix systems.
5.24 +AR= ar rcu
5.25 +
5.26 +# set lua path
5.27 +LUA=/usr/local
5.28 +LUAINC=$(LUA)/include
5.29 +LUALIB=$(LUA)/lib
5.30 +
5.31 +# == END OF USER SETTINGS. DO NOT CHANGE ANYTHING BELOW THIS LINE ============
5.32 +
5.33 +INC= -I$(TOLUA)/include -I$(LUAINC)
5.34 +LIB= -L$(TOLUA)/lib -L$(LUALIB)
5.35 +
5.36 +CFLAGS= -O2 $(WARN) $(INC)
5.37 +CPPFLAGS= -O2 $(WARN) $(INC)
6.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
6.2 +++ b/source/tolua/include/tolua.h Wed Nov 04 01:38:12 2009 +0000
6.3 @@ -0,0 +1,115 @@
6.4 +/* tolua
6.5 +** Support code for Lua bindings.
6.6 +** Written by Waldemar Celes
6.7 +** TeCGraf/PUC-Rio
6.8 +** Apr 2003
6.9 +** $Id: $
6.10 +*/
6.11 +
6.12 +/* This code is free software; you can redistribute it and/or modify it.
6.13 +** The software provided hereunder is on an "as is" basis, and
6.14 +** the author has no obligation to provide maintenance, support, updates,
6.15 +** enhancements, or modifications.
6.16 +*/
6.17 +
6.18 +
6.19 +#ifndef TOLUA_H
6.20 +#define TOLUA_H
6.21 +
6.22 +#ifndef TOLUA_API
6.23 +#define TOLUA_API extern
6.24 +#endif
6.25 +
6.26 +#define TOLUA_VERSION "tolua 5.1b"
6.27 +
6.28 +#ifdef __cplusplus
6.29 +extern "C" {
6.30 +#endif
6.31 +
6.32 +#include "lua.h"
6.33 +#include "lauxlib.h"
6.34 +
6.35 +struct tolua_Error
6.36 +{
6.37 + int index;
6.38 + int array;
6.39 + const char* type;
6.40 +};
6.41 +typedef struct tolua_Error tolua_Error;
6.42 +
6.43 +
6.44 +TOLUA_API const char* tolua_typename (lua_State* L, int lo);
6.45 +TOLUA_API void tolua_error (lua_State* L, char* msg, tolua_Error* err);
6.46 +TOLUA_API int tolua_isnoobj (lua_State* L, int lo, tolua_Error* err);
6.47 +TOLUA_API int tolua_isvalue (lua_State* L, int lo, int def, tolua_Error* err);
6.48 +TOLUA_API int tolua_isboolean (lua_State* L, int lo, int def, tolua_Error* err);
6.49 +TOLUA_API int tolua_isnumber (lua_State* L, int lo, int def, tolua_Error* err);
6.50 +TOLUA_API int tolua_isstring (lua_State* L, int lo, int def, tolua_Error* err);
6.51 +TOLUA_API int tolua_istable (lua_State* L, int lo, int def, tolua_Error* err);
6.52 +TOLUA_API int tolua_isfunction (lua_State* L, int lo, int def, tolua_Error* err);
6.53 +TOLUA_API int tolua_isusertable (lua_State* L, int lo, const char* type, int def, tolua_Error* err);
6.54 +TOLUA_API int tolua_isuserdata (lua_State* L, int lo, int def, tolua_Error* err);
6.55 +TOLUA_API int tolua_isusertype (lua_State* L, int lo, const char* type, int def, tolua_Error* err);
6.56 +TOLUA_API int tolua_isvaluearray
6.57 + (lua_State* L, int lo, int dim, int def, tolua_Error* err);
6.58 +TOLUA_API int tolua_isbooleanarray
6.59 + (lua_State* L, int lo, int dim, int def, tolua_Error* err);
6.60 +TOLUA_API int tolua_isnumberarray
6.61 + (lua_State* L, int lo, int dim, int def, tolua_Error* err);
6.62 +TOLUA_API int tolua_isstringarray
6.63 + (lua_State* L, int lo, int dim, int def, tolua_Error* err);
6.64 +TOLUA_API int tolua_istablearray
6.65 + (lua_State* L, int lo, int dim, int def, tolua_Error* err);
6.66 +TOLUA_API int tolua_isuserdataarray
6.67 + (lua_State* L, int lo, int dim, int def, tolua_Error* err);
6.68 +TOLUA_API int tolua_isusertypearray
6.69 + (lua_State* L, int lo, char* type, int dim, int def, tolua_Error* err);
6.70 +
6.71 +TOLUA_API void tolua_open (lua_State* L);
6.72 +
6.73 +TOLUA_API void* tolua_copy (lua_State* L, void* value, unsigned int size);
6.74 +TOLUA_API void* tolua_clone (lua_State* L, void* value, lua_CFunction func);
6.75 +
6.76 +TOLUA_API void tolua_usertype (lua_State* L, char* type);
6.77 +TOLUA_API void tolua_beginmodule (lua_State* L, char* name);
6.78 +TOLUA_API void tolua_endmodule (lua_State* L);
6.79 +TOLUA_API void tolua_module (lua_State* L, char* name, int hasvar);
6.80 +TOLUA_API void tolua_class (lua_State* L, char* name, char* base);
6.81 +TOLUA_API void tolua_cclass (lua_State* L, char* lname, char* name, char* base, lua_CFunction col);
6.82 +TOLUA_API void tolua_function (lua_State* L, char* name, lua_CFunction func);
6.83 +TOLUA_API void tolua_constant (lua_State* L, char* name, double value);
6.84 +TOLUA_API void tolua_variable (lua_State* L, char* name, lua_CFunction get, lua_CFunction set);
6.85 +TOLUA_API void tolua_array (lua_State* L,char* name, lua_CFunction get, lua_CFunction set);
6.86 +
6.87 +
6.88 +TOLUA_API void tolua_pushvalue (lua_State* L, int lo);
6.89 +TOLUA_API void tolua_pushboolean (lua_State* L, int value);
6.90 +TOLUA_API void tolua_pushnumber (lua_State* L, double value);
6.91 +TOLUA_API void tolua_pushstring (lua_State* L, const char* value);
6.92 +TOLUA_API void tolua_pushuserdata (lua_State* L, void* value);
6.93 +TOLUA_API void tolua_pushusertype (lua_State* L, void* value, char* type);
6.94 +TOLUA_API void tolua_pushfieldvalue (lua_State* L, int lo, int index, int v);
6.95 +TOLUA_API void tolua_pushfieldboolean (lua_State* L, int lo, int index, int v);
6.96 +TOLUA_API void tolua_pushfieldnumber (lua_State* L, int lo, int index, double v);
6.97 +TOLUA_API void tolua_pushfieldstring (lua_State* L, int lo, int index, char* v);
6.98 +TOLUA_API void tolua_pushfielduserdata (lua_State* L, int lo, int index, void* v);
6.99 +TOLUA_API void tolua_pushfieldusertype (lua_State* L, int lo, int index, void* v, char* type);
6.100 +
6.101 +TOLUA_API double tolua_tonumber (lua_State* L, int narg, double def);
6.102 +TOLUA_API const char* tolua_tostring (lua_State* L, int narg, const char* def);
6.103 +TOLUA_API void* tolua_touserdata (lua_State* L, int narg, void* def);
6.104 +TOLUA_API void* tolua_tousertype (lua_State* L, int narg, void* def);
6.105 +TOLUA_API int tolua_tovalue (lua_State* L, int narg, int def);
6.106 +TOLUA_API int tolua_toboolean (lua_State* L, int narg, int def);
6.107 +TOLUA_API double tolua_tofieldnumber (lua_State* L, int lo, int index, double def);
6.108 +TOLUA_API const char* tolua_tofieldstring (lua_State* L, int lo, int index, const char* def);
6.109 +TOLUA_API void* tolua_tofielduserdata (lua_State* L, int lo, int index, void* def);
6.110 +TOLUA_API void* tolua_tofieldusertype (lua_State* L, int lo, int index, void* def);
6.111 +TOLUA_API int tolua_tofieldvalue (lua_State* L, int lo, int index, int def);
6.112 +TOLUA_API int tolua_getfieldboolean (lua_State* L, int lo, int index, int def);
6.113 +
6.114 +#ifdef __cplusplus
6.115 +}
6.116 +#endif
6.117 +
6.118 +#endif
7.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
7.2 +++ b/source/tolua/src/bin/Makefile Wed Nov 04 01:38:12 2009 +0000
7.3 @@ -0,0 +1,23 @@
7.4 +# makefile for tolua executable
7.5 +
7.6 +TOLUA=../..
7.7 +
7.8 +include $(TOLUA)/config
7.9 +
7.10 +OBJS= \
7.11 + tolua.o \
7.12 + toluabind.o
7.13 +
7.14 +T= $(TOLUA)/bin/tolua
7.15 +
7.16 +all: $T
7.17 +
7.18 +$T: $(OBJS)
7.19 + $(CC) -o $@ $(OBJS) $(LIB) -ltolua -llua -lm
7.20 +
7.21 +clean:
7.22 + rm -f $(OBJS) $T
7.23 +
7.24 +klean:
7.25 + rm -f $T
7.26 +
8.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
8.2 +++ b/source/tolua/src/bin/lua/all.lua Wed Nov 04 01:38:12 2009 +0000
8.3 @@ -0,0 +1,26 @@
8.4 +dofile(path.."compat.lua")
8.5 +dofile(path.."basic.lua")
8.6 +dofile(path.."feature.lua")
8.7 +dofile(path.."verbatim.lua")
8.8 +dofile(path.."code.lua")
8.9 +dofile(path.."typedef.lua")
8.10 +dofile(path.."container.lua")
8.11 +dofile(path.."package.lua")
8.12 +dofile(path.."module.lua")
8.13 +dofile(path.."namespace.lua")
8.14 +dofile(path.."define.lua")
8.15 +dofile(path.."enumerate.lua")
8.16 +dofile(path.."declaration.lua")
8.17 +dofile(path.."variable.lua")
8.18 +dofile(path.."array.lua")
8.19 +dofile(path.."function.lua")
8.20 +dofile(path.."operator.lua")
8.21 +dofile(path.."class.lua")
8.22 +dofile(path.."clean.lua")
8.23 +dofile(path.."doit.lua")
8.24 +
8.25 +local err,msg = pcall(doit)
8.26 +if not err then
8.27 + local _,_,label,msg = strfind(msg,"(.-:.-:%s*)(.*)")
8.28 + tolua_error(msg,label)
8.29 +end
9.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
9.2 +++ b/source/tolua/src/bin/lua/array.lua Wed Nov 04 01:38:12 2009 +0000
9.3 @@ -0,0 +1,204 @@
9.4 +-- tolua: array class
9.5 +-- Written by Waldemar Celes
9.6 +-- TeCGraf/PUC-Rio
9.7 +-- Jul 1999
9.8 +-- $Id: array.lua,v 1.1 2000/11/06 22:03:57 celes Exp $
9.9 +
9.10 +-- This code is free software; you can redistribute it and/or modify it.
9.11 +-- The software provided hereunder is on an "as is" basis, and
9.12 +-- the author has no obligation to provide maintenance, support, updates,
9.13 +-- enhancements, or modifications.
9.14 +
9.15 +
9.16 +-- Array class
9.17 +-- Represents a extern array variable or a public member of a class.
9.18 +-- Stores all fields present in a declaration.
9.19 +classArray = {
9.20 +}
9.21 +classArray.__index = classArray
9.22 +setmetatable(classArray,classDeclaration)
9.23 +
9.24 +-- Print method
9.25 +function classArray:print (ident,close)
9.26 + print(ident.."Array{")
9.27 + print(ident.." mod = '"..self.mod.."',")
9.28 + print(ident.." type = '"..self.type.."',")
9.29 + print(ident.." ptr = '"..self.ptr.."',")
9.30 + print(ident.." name = '"..self.name.."',")
9.31 + print(ident.." def = '"..self.def.."',")
9.32 + print(ident.." dim = '"..self.dim.."',")
9.33 + print(ident.." ret = '"..self.ret.."',")
9.34 + print(ident.."}"..close)
9.35 +end
9.36 +
9.37 +-- check if it is a variable
9.38 +function classArray:isvariable ()
9.39 + return true
9.40 +end
9.41 +
9.42 +
9.43 +-- get variable value
9.44 +function classArray:getvalue (class,static)
9.45 + if class and static then
9.46 + return class..'::'..self.name..'[tolua_index]'
9.47 + elseif class then
9.48 + return 'self->'..self.name..'[tolua_index]'
9.49 + else
9.50 + return self.name..'[tolua_index]'
9.51 + end
9.52 +end
9.53 +
9.54 +-- Write binding functions
9.55 +function classArray:supcode ()
9.56 + local class = self:inclass()
9.57 +
9.58 + -- get function ------------------------------------------------
9.59 + if class then
9.60 + output("/* get function:",self.name," of class ",class," */")
9.61 + else
9.62 + output("/* get function:",self.name," */")
9.63 + end
9.64 + self.cgetname = self:cfuncname("tolua_get")
9.65 + output("static int",self.cgetname,"(lua_State* tolua_S)")
9.66 + output("{")
9.67 + output(" int tolua_index;")
9.68 +
9.69 + -- declare self, if the case
9.70 + local _,_,static = strfind(self.mod,'^%s*(static)')
9.71 + if class and static==nil then
9.72 + output(' ',self.parent.type,'*','self;')
9.73 + output(' lua_pushstring(tolua_S,".self");')
9.74 + output(' lua_rawget(tolua_S,1);')
9.75 + output(' self = ')
9.76 + output('(',class,'*) ')
9.77 + output('lua_touserdata(tolua_S,-1);')
9.78 + elseif static then
9.79 + _,_,self.mod = strfind(self.mod,'^%s*static%s%s*(.*)')
9.80 + end
9.81 +
9.82 + -- check index
9.83 + output('#ifndef TOLUA_RELEASE\n')
9.84 + output(' {')
9.85 + output(' tolua_Error tolua_err;')
9.86 + output(' if (!tolua_isnumber(tolua_S,2,0,&tolua_err))')
9.87 + output(' tolua_error(tolua_S,"#vinvalid type in array indexing.",&tolua_err);')
9.88 + output(' }')
9.89 + output('#endif\n')
9.90 + output(' tolua_index = (int)tolua_tonumber(tolua_S,2,0)-1;')
9.91 + output('#ifndef TOLUA_RELEASE\n')
9.92 + output(' if (tolua_index<0 || tolua_index>='..self.dim..')')
9.93 + output(' tolua_error(tolua_S,"array indexing out of range.",NULL);')
9.94 + output('#endif\n')
9.95 +
9.96 + -- return value
9.97 + local t,ct = isbasic(self.type)
9.98 + if t then
9.99 + output(' tolua_push'..t..'(tolua_S,(',ct,')'..self:getvalue(class,static)..');')
9.100 + else
9.101 + t = self.type
9.102 + if self.ptr == '&' or self.ptr == '' then
9.103 + output(' tolua_pushusertype(tolua_S,(void*)&'..self:getvalue(class,static)..',"',t,'");')
9.104 + else
9.105 + output(' tolua_pushusertype(tolua_S,(void*)'..self:getvalue(class,static)..',"',t,'");')
9.106 + end
9.107 + end
9.108 + output(' return 1;')
9.109 + output('}')
9.110 + output('\n')
9.111 +
9.112 + -- set function ------------------------------------------------
9.113 + if not strfind(self.type,'const') then
9.114 + if class then
9.115 + output("/* set function:",self.name," of class ",class," */")
9.116 + else
9.117 + output("/* set function:",self.name," */")
9.118 + end
9.119 + self.csetname = self:cfuncname("tolua_set")
9.120 + output("static int",self.csetname,"(lua_State* tolua_S)")
9.121 + output("{")
9.122 +
9.123 + -- declare index
9.124 + output(' int tolua_index;')
9.125 +
9.126 + -- declare self, if the case
9.127 + local _,_,static = strfind(self.mod,'^%s*(static)')
9.128 + if class and static==nil then
9.129 + output(' ',class,'*','self;')
9.130 + output(' lua_pushstring(tolua_S,".self");')
9.131 + output(' lua_rawget(tolua_S,1);')
9.132 + output(' self = ')
9.133 + output('(',class,'*) ')
9.134 + output('lua_touserdata(tolua_S,-1);')
9.135 + elseif static then
9.136 + _,_,self.mod = strfind(self.mod,'^%s*static%s%s*(.*)')
9.137 + end
9.138 +
9.139 + -- check index
9.140 + output('#ifndef TOLUA_RELEASE\n')
9.141 + output(' {')
9.142 + output(' tolua_Error tolua_err;')
9.143 + output(' if (!tolua_isnumber(tolua_S,2,0,&tolua_err))')
9.144 + output(' tolua_error(tolua_S,"#vinvalid type in array indexing.",&tolua_err);')
9.145 + output(' }')
9.146 + output('#endif\n')
9.147 + output(' tolua_index = (int)tolua_tonumber(tolua_S,2,0)-1;')
9.148 + output('#ifndef TOLUA_RELEASE\n')
9.149 + output(' if (tolua_index<0 || tolua_index>='..self.dim..')')
9.150 + output(' tolua_error(tolua_S,"array indexing out of range.",NULL);')
9.151 + output('#endif\n')
9.152 +
9.153 + -- assign value
9.154 + local ptr = ''
9.155 + if self.ptr~='' then ptr = '*' end
9.156 + output(' ')
9.157 + if class and static then
9.158 + output(class..'::'..self.name..'[tolua_index]')
9.159 + elseif class then
9.160 + output('self->'..self.name..'[tolua_index]')
9.161 + else
9.162 + output(self.name..'[tolua_index]')
9.163 + end
9.164 + local t = isbasic(self.type)
9.165 + output(' = ')
9.166 + if not t and ptr=='' then output('*') end
9.167 + output('((',self.mod,self.type)
9.168 + if not t then
9.169 + output('*')
9.170 + end
9.171 + output(') ')
9.172 + local def = 0
9.173 + if self.def ~= '' then def = self.def end
9.174 + if t then
9.175 + output('tolua_to'..t,'(tolua_S,3,',def,'));')
9.176 + else
9.177 + output('tolua_tousertype(tolua_S,3,',def,'));')
9.178 + end
9.179 + output(' return 0;')
9.180 + output('}')
9.181 + output('\n')
9.182 + end
9.183 +
9.184 +end
9.185 +
9.186 +function classArray:register ()
9.187 + if self.csetname then
9.188 + output(' tolua_array(tolua_S,"'..self.lname..'",'..self.cgetname..','..self.csetname..');')
9.189 + else
9.190 + output(' tolua_array(tolua_S,"'..self.lname..'",'..self.cgetname..',NULL);')
9.191 + end
9.192 +end
9.193 +
9.194 +-- Internal constructor
9.195 +function _Array (t)
9.196 + setmetatable(t,classArray)
9.197 + append(t)
9.198 + return t
9.199 +end
9.200 +
9.201 +-- Constructor
9.202 +-- Expects a string representing the variable declaration.
9.203 +function Array (s)
9.204 + return _Array (Declaration(s,'var'))
9.205 +end
9.206 +
9.207 +
10.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
10.2 +++ b/source/tolua/src/bin/lua/basic.lua Wed Nov 04 01:38:12 2009 +0000
10.3 @@ -0,0 +1,202 @@
10.4 +-- tolua: basic utility functions
10.5 +-- Written by Waldemar Celes
10.6 +-- TeCGraf/PUC-Rio
10.7 +-- Jul 1998
10.8 +-- Last update: Apr 2003
10.9 +-- $Id: $
10.10 +
10.11 +-- This code is free software; you can redistribute it and/or modify it.
10.12 +-- The software provided hereunder is on an "as is" basis, and
10.13 +-- the author has no obligation to provide maintenance, support, updates,
10.14 +-- enhancements, or modifications.
10.15 +
10.16 +
10.17 +-- Basic C types and their corresponding Lua types
10.18 +-- All occurrences of "char*" will be replaced by "_cstring",
10.19 +-- and all occurrences of "void*" will be replaced by "_userdata"
10.20 +_basic = {
10.21 + ['void'] = '',
10.22 + ['char'] = 'number',
10.23 + ['int'] = 'number',
10.24 + ['short'] = 'number',
10.25 + ['long'] = 'number',
10.26 + ['unsigned'] = 'number',
10.27 + ['float'] = 'number',
10.28 + ['double'] = 'number',
10.29 + ['_cstring'] = 'string',
10.30 + ['_userdata'] = 'userdata',
10.31 + ['char*'] = 'string',
10.32 + ['void*'] = 'userdata',
10.33 + ['bool'] = 'boolean',
10.34 + ['lua_Object'] = 'value',
10.35 + ['LUA_VALUE'] = 'value', -- for compatibility with tolua 4.0
10.36 +}
10.37 +
10.38 +_basic_ctype = {
10.39 + number = "double",
10.40 + string = "const char*",
10.41 + userdata = "void*",
10.42 + boolean = "bool",
10.43 +}
10.44 +
10.45 +-- List of user defined types
10.46 +-- Each type corresponds to a variable name that stores its tag value.
10.47 +_usertype = {}
10.48 +
10.49 +-- List of types that have to be collected
10.50 +_collect = {}
10.51 +
10.52 +
10.53 +-- List of auto renaming
10.54 +_renaming = {}
10.55 +function appendrenaming (s)
10.56 + local b,e,old,new = strfind(s,"%s*(.-)%s*@%s*(.-)%s*$")
10.57 + if not b then
10.58 + error("#Invalid renaming syntax; it should be of the form: pattern@pattern")
10.59 + end
10.60 + tinsert(_renaming,{old=old, new=new})
10.61 +end
10.62 +
10.63 +function applyrenaming (s)
10.64 + for i=1,getn(_renaming) do
10.65 + local m,n = gsub(s,_renaming[i].old,_renaming[i].new)
10.66 + if n ~= 0 then
10.67 + return m
10.68 + end
10.69 + end
10.70 + return nil
10.71 +end
10.72 +
10.73 +-- Error handler
10.74 +function tolua_error (s,f)
10.75 + local out = _OUTPUT
10.76 + _OUTPUT = _STDERR
10.77 + if strsub(s,1,1) == '#' then
10.78 + write("\n** tolua: "..strsub(s,2)..".\n\n")
10.79 + if _curr_code then
10.80 + local _,_,s = strfind(_curr_code,"^%s*(.-\n)") -- extract first line
10.81 + if s==nil then s = _curr_code end
10.82 + s = gsub(s,"_userdata","void*") -- return with 'void*'
10.83 + s = gsub(s,"_cstring","char*") -- return with 'char*'
10.84 + write("Code being processed:\n"..s.."\n")
10.85 + end
10.86 + else
10.87 + print("\n** tolua internal error: "..f..s..".\n\n")
10.88 + return
10.89 + end
10.90 + _OUTPUT = out
10.91 +end
10.92 +
10.93 +function warning (msg)
10.94 + local out = _OUTPUT
10.95 + _OUTPUT = _STDERR
10.96 + write("\n** tolua warning: "..msg..".\n\n")
10.97 + _OUTPUT = out
10.98 +end
10.99 +
10.100 +-- register an user defined type: returns full type
10.101 +function regtype (t)
10.102 + local ft = findtype(t)
10.103 + if isbasic(t) then
10.104 + return t
10.105 + end
10.106 + if not ft then
10.107 + return appendusertype(t)
10.108 + end
10.109 +end
10.110 +
10.111 +-- return type name: returns full type
10.112 +function typevar(type)
10.113 + if type == '' or type == 'void' then
10.114 + return type
10.115 + else
10.116 + local ft = findtype(type)
10.117 + if ft then
10.118 + return ft
10.119 + end
10.120 + _usertype[type] = type
10.121 + return type
10.122 + end
10.123 +end
10.124 +
10.125 +-- check if basic type
10.126 +function isbasic (type)
10.127 + local t = gsub(type,'const ','')
10.128 + local m,t = applytypedef(t)
10.129 + local b = _basic[t]
10.130 + if b then
10.131 + return b,_basic_ctype[b]
10.132 + end
10.133 + return nil
10.134 +end
10.135 +
10.136 +-- split string using a token
10.137 +function split (s,t)
10.138 + local l = {n=0}
10.139 + local f = function (s)
10.140 + l.n = l.n + 1
10.141 + l[l.n] = s
10.142 + return ""
10.143 + end
10.144 + local p = "%s*(.-)%s*"..t.."%s*"
10.145 + s = gsub(s,"^%s+","")
10.146 + s = gsub(s,"%s+$","")
10.147 + s = gsub(s,p,f)
10.148 + l.n = l.n + 1
10.149 + l[l.n] = gsub(s,"(%s%s*)$","")
10.150 + return l
10.151 +end
10.152 +
10.153 +
10.154 +-- concatenate strings of a table
10.155 +function concat (t,f,l)
10.156 + local s = ''
10.157 + local i=f
10.158 + while i<=l do
10.159 + s = s..t[i]
10.160 + i = i+1
10.161 + if i <= l then s = s..' ' end
10.162 + end
10.163 + return s
10.164 +end
10.165 +
10.166 +-- concatenate all parameters, following output rules
10.167 +function concatparam (line, ...)
10.168 + local i=1
10.169 + while i<=arg.n do
10.170 + if _cont and not strfind(_cont,'[%(,"]') and
10.171 + strfind(arg[i],"^[%a_~]") then
10.172 + line = line .. ' '
10.173 + end
10.174 + line = line .. arg[i]
10.175 + if arg[i] ~= '' then
10.176 + _cont = strsub(arg[i],-1,-1)
10.177 + end
10.178 + i = i+1
10.179 + end
10.180 + if strfind(arg[arg.n],"[%/%)%;%{%}]$") then
10.181 + _cont=nil line = line .. '\n'
10.182 + end
10.183 + return line
10.184 +end
10.185 +
10.186 +-- output line
10.187 +function output (...)
10.188 + local i=1
10.189 + while i<=arg.n do
10.190 + if _cont and not strfind(_cont,'[%(,"]') and
10.191 + strfind(arg[i],"^[%a_~]") then
10.192 + write(' ')
10.193 + end
10.194 + write(arg[i])
10.195 + if arg[i] ~= '' then
10.196 + _cont = strsub(arg[i],-1,-1)
10.197 + end
10.198 + i = i+1
10.199 + end
10.200 + if strfind(arg[arg.n],"[%/%)%;%{%}]$") then
10.201 + _cont=nil write('\n')
10.202 + end
10.203 +end
10.204 +
10.205 +
11.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
11.2 +++ b/source/tolua/src/bin/lua/class.lua Wed Nov 04 01:38:12 2009 +0000
11.3 @@ -0,0 +1,116 @@
11.4 +-- tolua: class class
11.5 +-- Written by Waldemar Celes
11.6 +-- TeCGraf/PUC-Rio
11.7 +-- Jul 1998
11.8 +-- $Id: $
11.9 +
11.10 +-- This code is free software; you can redistribute it and/or modify it.
11.11 +-- The software provided hereunder is on an "as is" basis, and
11.12 +-- the author has no obligation to provide maintenance, support, updates,
11.13 +-- enhancements, or modifications.
11.14 +
11.15 +
11.16 +-- Class class
11.17 +-- Represents a class definition.
11.18 +-- Stores the following fields:
11.19 +-- name = class name
11.20 +-- base = class base, if any (only single inheritance is supported)
11.21 +-- {i} = list of members
11.22 +classClass = {
11.23 + classtype = 'class',
11.24 + name = '',
11.25 + base = '',
11.26 + type = '',
11.27 + btype = '',
11.28 + ctype = '',
11.29 +}
11.30 +classClass.__index = classClass
11.31 +setmetatable(classClass,classContainer)
11.32 +
11.33 +
11.34 +-- register class
11.35 +function classClass:register ()
11.36 + push(self)
11.37 + output('#ifdef __cplusplus\n')
11.38 + if _collect[self.type] then
11.39 + output(' tolua_cclass(tolua_S,"'..self.lname..'","'..self.type..'","'..self.btype..'",tolua_collect_'.._collect[self.type]..');')
11.40 + else
11.41 + output(' tolua_cclass(tolua_S,"'..self.lname..'","'..self.type..'","'..self.btype..'",0);')
11.42 + end
11.43 + output('#else\n')
11.44 + output(' tolua_cclass(tolua_S,"'..self.lname..'","'..self.type..'","'..self.btype..'",tolua_collect);')
11.45 + output('#endif\n')
11.46 + output(' tolua_beginmodule(tolua_S,"'..self.lname..'");')
11.47 + local i=1
11.48 + while self[i] do
11.49 + self[i]:register()
11.50 + i = i+1
11.51 + end
11.52 + output(' tolua_endmodule(tolua_S);')
11.53 + pop()
11.54 +end
11.55 +
11.56 +-- return collection requirement
11.57 +function classClass:requirecollection (t)
11.58 + push(self)
11.59 + local i=1
11.60 + while self[i] do
11.61 + self[i]:requirecollection(t)
11.62 + i = i+1
11.63 + end
11.64 + pop()
11.65 + -- TODO
11.66 + --t[self.type] = gsub(self.type,"::","_")
11.67 + return true
11.68 +end
11.69 +
11.70 +-- output tags
11.71 +function classClass:decltype ()
11.72 + push(self)
11.73 + self.type = regtype(self.name)
11.74 + self.btype = typevar(self.base)
11.75 + self.ctype = 'const '..self.type
11.76 + local i=1
11.77 + while self[i] do
11.78 + self[i]:decltype()
11.79 + i = i+1
11.80 + end
11.81 + pop()
11.82 +end
11.83 +
11.84 +
11.85 +-- Print method
11.86 +function classClass:print (ident,close)
11.87 + print(ident.."Class{")
11.88 + print(ident.." name = '"..self.name.."',")
11.89 + print(ident.." base = '"..self.base.."';")
11.90 + print(ident.." lname = '"..self.lname.."',")
11.91 + print(ident.." type = '"..self.type.."',")
11.92 + print(ident.." btype = '"..self.btype.."',")
11.93 + print(ident.." ctype = '"..self.ctype.."',")
11.94 + local i=1
11.95 + while self[i] do
11.96 + self[i]:print(ident.." ",",")
11.97 + i = i+1
11.98 + end
11.99 + print(ident.."}"..close)
11.100 +end
11.101 +
11.102 +-- Internal constructor
11.103 +function _Class (t)
11.104 + setmetatable(t,classClass)
11.105 + t:buildnames()
11.106 + append(t)
11.107 + return t
11.108 +end
11.109 +
11.110 +-- Constructor
11.111 +-- Expects the name, the base and the body of the class.
11.112 +function Class (n,p,b)
11.113 + local c = _Class(_Container{name=n, base=p})
11.114 + push(c)
11.115 + c:parse(strsub(b,2,strlen(b)-1)) -- eliminate braces
11.116 + pop()
11.117 +end
11.118 +
11.119 +
12.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
12.2 +++ b/source/tolua/src/bin/lua/clean.lua Wed Nov 04 01:38:12 2009 +0000
12.3 @@ -0,0 +1,74 @@
12.4 +-- mark up comments and strings
12.5 +STR1 = "\001"
12.6 +STR2 = "\002"
12.7 +STR3 = "\003"
12.8 +STR4 = "\004"
12.9 +REM = "\005"
12.10 +ANY = "([\001-\005])"
12.11 +ESC1 = "\006"
12.12 +ESC2 = "\007"
12.13 +
12.14 +MASK = { -- the substitution order is important
12.15 + {ESC1, "\\'"},
12.16 + {ESC2, '\\"'},
12.17 + {STR1, "'"},
12.18 + {STR2, '"'},
12.19 + {STR3, "%[%["},
12.20 + {STR4, "%]%]"},
12.21 + {REM , "%-%-"},
12.22 +}
12.23 +
12.24 +function mask (s)
12.25 + for i = 1,getn(MASK) do
12.26 + s = gsub(s,MASK[i][2],MASK[i][1])
12.27 + end
12.28 + return s
12.29 +end
12.30 +
12.31 +function unmask (s)
12.32 + for i = 1,getn(MASK) do
12.33 + s = gsub(s,MASK[i][1],MASK[i][2])
12.34 + end
12.35 + return s
12.36 +end
12.37 +
12.38 +function clean (s)
12.39 + -- check for compilation error
12.40 + local code = "return function () " .. s .. " end"
12.41 + if not dostring(code) then
12.42 + return nil
12.43 + end
12.44 +
12.45 + local S = "" -- saved string
12.46 +
12.47 + s = mask(s)
12.48 +
12.49 + -- remove blanks and comments
12.50 + while 1 do
12.51 + local b,e,d = strfind(s,ANY)
12.52 + if b then
12.53 + S = S..strsub(s,1,b-1)
12.54 + s = strsub(s,b+1)
12.55 + if d==STR1 or d==STR2 then
12.56 + e = strfind(s,d)
12.57 + S = S ..d..strsub(s,1,e)
12.58 + s = strsub(s,e+1)
12.59 + elseif d==STR3 then
12.60 + e = strfind(s,STR4)
12.61 + S = S..d..strsub(s,1,e)
12.62 + s = strsub(s,e+1)
12.63 + elseif d==REM then
12.64 + s = gsub(s,"[^\n]*(\n?)","%1",1)
12.65 + end
12.66 + else
12.67 + S = S..s
12.68 + break
12.69 + end
12.70 + end
12.71 + -- eliminate unecessary spaces
12.72 + S = gsub(S,"[ \t]+"," ")
12.73 + S = gsub(S,"[ \t]*\n[ \t]*","\n")
12.74 + S = unmask(S)
12.75 + return S
12.76 +end
12.77 +
13.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
13.2 +++ b/source/tolua/src/bin/lua/code.lua Wed Nov 04 01:38:12 2009 +0000
13.3 @@ -0,0 +1,73 @@
13.4 +-- tolua: code class
13.5 +-- Written by Waldemar Celes
13.6 +-- TeCGraf/PUC-Rio
13.7 +-- Jul 1999
13.8 +-- $Id: $
13.9 +
13.10 +-- This code is free software; you can redistribute it and/or modify it.
13.11 +-- The software provided hereunder is on an "as is" basis, and
13.12 +-- the author has no obligation to provide maintenance, support, updates,
13.13 +-- enhancements, or modifications.
13.14 +
13.15 +
13.16 +-- Code class
13.17 +-- Represents Lua code to be compiled and included
13.18 +-- in the initialization function.
13.19 +-- The following fields are stored:
13.20 +-- text = text code
13.21 +classCode = {
13.22 + text = '',
13.23 +}
13.24 +classCode.__index = classCode
13.25 +setmetatable(classCode,classFeature)
13.26 +
13.27 +-- register code
13.28 +function classCode:register ()
13.29 + -- clean Lua code
13.30 + local s = clean(self.text)
13.31 + if not s then
13.32 + error("parser error in embedded code")
13.33 + end
13.34 +
13.35 + -- convert to C
13.36 + output('\n { /* begin embedded lua code */\n')
13.37 + output(' static unsigned char B[] = {\n ')
13.38 + local t={n=0}
13.39 + local b = gsub(s,'(.)',function (c)
13.40 + local e = ''
13.41 + t.n=t.n+1 if t.n==15 then t.n=0 e='\n ' end
13.42 + return format('%3u,%s',strbyte(c),e)
13.43 + end
13.44 + )
13.45 + output(b..strbyte(" "))
13.46 + output('\n };\n')
13.47 + output(' luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") ||\n')
13.48 + output(' lua_pcall(tolua_S,0,LUA_MULTRET,0);')
13.49 + output(' } /* end of embedded lua code */\n\n')
13.50 +end
13.51 +
13.52 +
13.53 +-- Print method
13.54 +function classCode:print (ident,close)
13.55 + print(ident.."Code{")
13.56 + print(ident.." text = [["..self.text.."]],")
13.57 + print(ident.."}"..close)
13.58 +end
13.59 +
13.60 +
13.61 +-- Internal constructor
13.62 +function _Code (t)
13.63 + setmetatable(t,classCode)
13.64 + append(t)
13.65 + return t
13.66 +end
13.67 +
13.68 +-- Constructor
13.69 +-- Expects a string representing the code text
13.70 +function Code (l)
13.71 + return _Code {
13.72 + text = l
13.73 + }
13.74 +end
13.75 +
13.76 +
14.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
14.2 +++ b/source/tolua/src/bin/lua/compat.lua Wed Nov 04 01:38:12 2009 +0000
14.3 @@ -0,0 +1,193 @@
14.4 +-------------------------------------------------------------------
14.5 +-- Real globals
14.6 +-- _ALERT
14.7 +-- _ERRORMESSAGE
14.8 +-- _VERSION
14.9 +-- _G
14.10 +-- assert
14.11 +-- error
14.12 +-- metatable
14.13 +-- next
14.14 +-- print
14.15 +-- require
14.16 +-- tonumber
14.17 +-- tostring
14.18 +-- type
14.19 +-- unpack
14.20 +
14.21 +-------------------------------------------------------------------
14.22 +-- collectgarbage
14.23 +-- gcinfo
14.24 +
14.25 +-- globals
14.26 +
14.27 +-- call -> protect(f, err)
14.28 +-- loadfile
14.29 +-- loadstring
14.30 +
14.31 +-- rawget
14.32 +-- rawset
14.33 +
14.34 +-- getargs = Main.getargs ??
14.35 +
14.36 +rawtype = type
14.37 +
14.38 +function do_ (f, err)
14.39 + if not f then print(err); return end
14.40 + local a,b = pcall(f)
14.41 + if not a then print(b); return nil
14.42 + else return b or true
14.43 + end
14.44 +end
14.45 +
14.46 +function dostring(s) return do_(loadstring(s)) end
14.47 +-- function dofile(s) return do_(loadfile(s)) end
14.48 +
14.49 +-------------------------------------------------------------------
14.50 +-- Table library
14.51 +local tab = table
14.52 +foreach = tab.foreach
14.53 +foreachi = tab.foreachi
14.54 +getn = tab.getn
14.55 +tinsert = tab.insert
14.56 +tremove = tab.remove
14.57 +sort = tab.sort
14.58 +
14.59 +-------------------------------------------------------------------
14.60 +-- Debug library
14.61 +local dbg = debug
14.62 +getinfo = dbg.getinfo
14.63 +getlocal = dbg.getlocal
14.64 +setcallhook = function () error"`setcallhook' is deprecated" end
14.65 +setlinehook = function () error"`setlinehook' is deprecated" end
14.66 +setlocal = dbg.setlocal
14.67 +
14.68 +-------------------------------------------------------------------
14.69 +-- math library
14.70 +local math = math
14.71 +abs = math.abs
14.72 +acos = function (x) return math.deg(math.acos(x)) end
14.73 +asin = function (x) return math.deg(math.asin(x)) end
14.74 +atan = function (x) return math.deg(math.atan(x)) end
14.75 +atan2 = function (x,y) return math.deg(math.atan2(x,y)) end
14.76 +ceil = math.ceil
14.77 +cos = function (x) return math.cos(math.rad(x)) end
14.78 +deg = math.deg
14.79 +exp = math.exp
14.80 +floor = math.floor
14.81 +frexp = math.frexp
14.82 +ldexp = math.ldexp
14.83 +log = math.log
14.84 +log10 = math.log10
14.85 +max = math.max
14.86 +min = math.min
14.87 +mod = math.mod
14.88 +PI = math.pi
14.89 +--??? pow = math.pow
14.90 +rad = math.rad
14.91 +random = math.random
14.92 +randomseed = math.randomseed
14.93 +sin = function (x) return math.sin(math.rad(x)) end
14.94 +sqrt = math.sqrt
14.95 +tan = function (x) return math.tan(math.rad(x)) end
14.96 +
14.97 +-------------------------------------------------------------------
14.98 +-- string library
14.99 +local str = string
14.100 +strbyte = str.byte
14.101 +strchar = str.char
14.102 +strfind = str.find
14.103 +format = str.format
14.104 +gsub = str.gsub
14.105 +strlen = str.len
14.106 +strlower = str.lower
14.107 +strrep = str.rep
14.108 +strsub = str.sub
14.109 +strupper = str.upper
14.110 +
14.111 +-------------------------------------------------------------------
14.112 +-- os library
14.113 +clock = os.clock
14.114 +date = os.date
14.115 +difftime = os.difftime
14.116 +execute = os.execute --?
14.117 +exit = os.exit
14.118 +getenv = os.getenv
14.119 +remove = os.remove
14.120 +rename = os.rename
14.121 +setlocale = os.setlocale
14.122 +time = os.time
14.123 +tmpname = os.tmpname
14.124 +
14.125 +-------------------------------------------------------------------
14.126 +-- compatibility only
14.127 +getglobal = function (n) return _G[n] end
14.128 +setglobal = function (n,v) _G[n] = v end
14.129 +
14.130 +-------------------------------------------------------------------
14.131 +
14.132 +local io, tab = io, table
14.133 +
14.134 +-- IO library (files)
14.135 +_STDIN = io.stdin
14.136 +_STDERR = io.stderr
14.137 +_STDOUT = io.stdout
14.138 +_INPUT = io.stdin
14.139 +_OUTPUT = io.stdout
14.140 +seek = io.stdin.seek -- sick ;-)
14.141 +tmpfile = io.tmpfile
14.142 +closefile = io.close
14.143 +openfile = io.open
14.144 +
14.145 +function flush (f)
14.146 + if f then f:flush()
14.147 + else _OUTPUT:flush()
14.148 + end
14.149 +end
14.150 +
14.151 +function readfrom (name)
14.152 + if name == nil then
14.153 + local f, err, cod = io.close(_INPUT)
14.154 + _INPUT = io.stdin
14.155 + return f, err, cod
14.156 + else
14.157 + local f, err, cod = io.open(name, "r")
14.158 + _INPUT = f or _INPUT
14.159 + return f, err, cod
14.160 + end
14.161 +end
14.162 +
14.163 +function writeto (name)
14.164 + if name == nil then
14.165 + local f, err, cod = io.close(_OUTPUT)
14.166 + _OUTPUT = io.stdout
14.167 + return f, err, cod
14.168 + else
14.169 + local f, err, cod = io.open(name, "w")
14.170 + _OUTPUT = f or _OUTPUT
14.171 + return f, err, cod
14.172 + end
14.173 +end
14.174 +
14.175 +function appendto (name)
14.176 + local f, err, cod = io.open(name, "a")
14.177 + _OUTPUT = f or _OUTPUT
14.178 + return f, err, cod
14.179 +end
14.180 +
14.181 +function read (...)
14.182 + local f = _INPUT
14.183 + if rawtype(arg[1]) == 'userdata' then
14.184 + f = tab.remove(arg, 1)
14.185 + end
14.186 + return f:read(unpack(arg))
14.187 +end
14.188 +
14.189 +function write (...)
14.190 + local f = _OUTPUT
14.191 + if rawtype(arg[1]) == 'userdata' then
14.192 + f = tab.remove(arg, 1)
14.193 + end
14.194 + return f:write(unpack(arg))
14.195 +end
14.196 +
15.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
15.2 +++ b/source/tolua/src/bin/lua/container.lua Wed Nov 04 01:38:12 2009 +0000
15.3 @@ -0,0 +1,517 @@
15.4 +-- tolua: container abstract class
15.5 +-- Written by Waldemar Celes
15.6 +-- TeCGraf/PUC-Rio
15.7 +-- Jul 1998
15.8 +-- $Id: $
15.9 +
15.10 +-- This code is free software; you can redistribute it and/or modify it.
15.11 +-- The software provided hereunder is on an "as is" basis, and
15.12 +-- the author has no obligation to provide maintenance, support, updates,
15.13 +-- enhancements, or modifications.
15.14 +
15.15 +
15.16 +-- Container class
15.17 +-- Represents a container of features to be bound
15.18 +-- to lua.
15.19 +classContainer =
15.20 +{
15.21 + curr = nil,
15.22 +}
15.23 +classContainer.__index = classContainer
15.24 +setmetatable(classContainer,classFeature)
15.25 +
15.26 +-- output tags
15.27 +function classContainer:decltype ()
15.28 + push(self)
15.29 + local i=1
15.30 + while self[i] do
15.31 + self[i]:decltype()
15.32 + i = i+1
15.33 + end
15.34 + pop()
15.35 +end
15.36 +
15.37 +
15.38 +-- write support code
15.39 +function classContainer:supcode ()
15.40 + push(self)
15.41 + local i=1
15.42 + while self[i] do
15.43 + self[i]:supcode()
15.44 + i = i+1
15.45 + end
15.46 + pop()
15.47 +end
15.48 +
15.49 +function classContainer:hasvar ()
15.50 + local i=1
15.51 + while self[i] do
15.52 + if self[i]:isvariable() then
15.53 + return 1
15.54 + end
15.55 + i = i+1
15.56 + end
15.57 + return 0
15.58 +end
15.59 +
15.60 +-- Internal container constructor
15.61 +function _Container (self)
15.62 + setmetatable(self,classContainer)
15.63 + self.n = 0
15.64 + self.typedefs = {tolua_n=0}
15.65 + self.usertypes = {}
15.66 + self.enums = {tolua_n=0}
15.67 + self.lnames = {}
15.68 + return self
15.69 +end
15.70 +
15.71 +-- push container
15.72 +function push (t)
15.73 + t.prox = classContainer.curr
15.74 + classContainer.curr = t
15.75 +end
15.76 +
15.77 +-- pop container
15.78 +function pop ()
15.79 +--print("name",classContainer.curr.name)
15.80 +--foreach(classContainer.curr.usertypes,print)
15.81 +--print("______________")
15.82 + classContainer.curr = classContainer.curr.prox
15.83 +end
15.84 +
15.85 +-- get current namespace
15.86 +function getcurrnamespace ()
15.87 + return getnamespace(classContainer.curr)
15.88 +end
15.89 +
15.90 +-- append to current container
15.91 +function append (t)
15.92 + return classContainer.curr:append(t)
15.93 +end
15.94 +
15.95 +-- append typedef to current container
15.96 +function appendtypedef (t)
15.97 + return classContainer.curr:appendtypedef(t)
15.98 +end
15.99 +
15.100 +-- append usertype to current container
15.101 +function appendusertype (t)
15.102 + return classContainer.curr:appendusertype(t)
15.103 +end
15.104 +
15.105 +-- append enum to current container
15.106 +function appendenum (t)
15.107 + return classContainer.curr:appendenum(t)
15.108 +end
15.109 +
15.110 +-- substitute typedef
15.111 +function applytypedef (type)
15.112 + return classContainer.curr:applytypedef(type)
15.113 +end
15.114 +
15.115 +-- check if is type
15.116 +function findtype (type)
15.117 + local t = classContainer.curr:findtype(type)
15.118 + return t
15.119 +end
15.120 +
15.121 +-- check if is typedef
15.122 +function istypedef (type)
15.123 + return classContainer.curr:istypedef(type)
15.124 +end
15.125 +
15.126 +-- get fulltype (with namespace)
15.127 +function fulltype (t)
15.128 + local curr = classContainer.curr
15.129 + while curr do
15.130 + if curr then
15.131 + if curr.typedefs and curr.typedefs[t] then
15.132 + return curr.typedefs[t]
15.133 + elseif curr.usertypes and curr.usertypes[t] then
15.134 + return curr.usertypes[t]
15.135 + end
15.136 + end
15.137 + curr = curr.prox
15.138 + end
15.139 + return t
15.140 +end
15.141 +
15.142 +-- checks if it requires collection
15.143 +function classContainer:requirecollection (t)
15.144 + push(self)
15.145 + local i=1
15.146 + local r = false
15.147 + while self[i] do
15.148 + r = self[i]:requirecollection(t) or r
15.149 + i = i+1
15.150 + end
15.151 + pop()
15.152 + return r
15.153 +end
15.154 +
15.155 +
15.156 +-- get namesapce
15.157 +function getnamespace (curr)
15.158 + local namespace = ''
15.159 + while curr do
15.160 + if curr and
15.161 + ( curr.classtype == 'class' or curr.classtype == 'namespace')
15.162 + then
15.163 + namespace = curr.name .. '::' .. namespace
15.164 + end
15.165 + curr = curr.prox
15.166 + end
15.167 + return namespace
15.168 +end
15.169 +
15.170 +-- get namespace (only namespace)
15.171 +function getonlynamespace ()
15.172 + local curr = classContainer.curr
15.173 + local namespace = ''
15.174 + while curr do
15.175 + if curr.classtype == 'class' then
15.176 + return namespace
15.177 + elseif curr.classtype == 'namespace' then
15.178 + namespace = curr.name .. '::' .. namespace
15.179 + end
15.180 + curr = curr.prox
15.181 + end
15.182 + return namespace
15.183 +end
15.184 +
15.185 +-- check if is enum
15.186 +function isenum (type)
15.187 + return classContainer.curr:isenum(type)
15.188 +end
15.189 +
15.190 +-- append feature to container
15.191 +function classContainer:append (t)
15.192 + self.n = self.n + 1
15.193 + self[self.n] = t
15.194 + t.parent = self
15.195 +end
15.196 +
15.197 +-- append typedef
15.198 +function classContainer:appendtypedef (t)
15.199 + self.typedefs.tolua_n = self.typedefs.tolua_n + 1
15.200 + self.typedefs[self.typedefs.tolua_n] = t
15.201 + self.typedefs[t.utype] = getnamespace(classContainer.curr) .. t.utype
15.202 +end
15.203 +
15.204 +-- append usertype: return full type
15.205 +function classContainer:appendusertype (t)
15.206 + local container
15.207 + if t == self.name then
15.208 + container = self.prox
15.209 + else
15.210 + container = self
15.211 + end
15.212 + local ft = getnamespace(container) .. t
15.213 + container.usertypes[t] = ft
15.214 + _usertype[ft] = ft
15.215 + return ft
15.216 +end
15.217 +
15.218 +-- append enum
15.219 +function classContainer:appendenum (t)
15.220 + self.enums.tolua_n = self.enums.tolua_n + 1
15.221 + self.enums[self.enums.tolua_n] = t
15.222 +end
15.223 +
15.224 +-- determine lua function name overload
15.225 +function classContainer:overload (lname)
15.226 + if not self.lnames[lname] then
15.227 + self.lnames[lname] = 0
15.228 + else
15.229 + self.lnames[lname] = self.lnames[lname] + 1
15.230 + end
15.231 + return format("%02d",self.lnames[lname])
15.232 +end
15.233 +
15.234 +-- applies typedef: returns the 'the facto' modifier and type
15.235 +function classContainer:applytypedef (type)
15.236 + local basetype = gsub(type,"^.*::","")
15.237 + local env = self
15.238 + while env do
15.239 + if env.typedefs then
15.240 + local i=1
15.241 + while env.typedefs[i] do
15.242 + if env.typedefs[i].utype == basetype then
15.243 + local mod1,type1 = env.typedefs[i].mod,env.typedefs[i].type
15.244 + local mod2,type2 = applytypedef(type1)
15.245 + return mod2..' '..mod1,type2
15.246 + end
15.247 + i = i+1
15.248 + end
15.249 + end
15.250 + env = env.parent
15.251 + end
15.252 + return '',type
15.253 +end
15.254 +
15.255 +-- check if it is a typedef
15.256 +function classContainer:istypedef (type)
15.257 + local env = self
15.258 + while env do
15.259 + if env.typedefs then
15.260 + local i=1
15.261 + while env.typedefs[i] do
15.262 + if env.typedefs[i].utype == type then
15.263 + return type
15.264 + end
15.265 + i = i+1
15.266 + end
15.267 + end
15.268 + env = env.parent
15.269 + end
15.270 + return nil
15.271 +end
15.272 +
15.273 +-- check if is a registered type: return full type or nil
15.274 +function classContainer:findtype (t)
15.275 + local curr = self
15.276 + while curr do
15.277 + if curr.typedefs and curr.typedefs[t] then
15.278 + return curr.typedefs[t]
15.279 + elseif curr.usertypes and curr.usertypes[t] then
15.280 + return curr.usertypes[t]
15.281 + end
15.282 + curr = curr.prox
15.283 + end
15.284 + if _basic[t] then
15.285 + return t
15.286 + end
15.287 + return nil
15.288 +end
15.289 +
15.290 +
15.291 +function classContainer:isenum (type)
15.292 + local basetype = gsub(type,"^.*::","")
15.293 + local env = self
15.294 + while env do
15.295 + if env.enums then
15.296 + local i=1
15.297 + while env.enums[i] do
15.298 + if env.enums[i].name == basetype then
15.299 + return 1
15.300 + end
15.301 + i = i+1
15.302 + end
15.303 + end
15.304 + env = env.parent
15.305 + end
15.306 + return nil
15.307 +end
15.308 +
15.309 +-- parse chunk
15.310 +function classContainer:doparse (s)
15.311 +
15.312 + -- try Lua code
15.313 + do
15.314 + local b,e,code = strfind(s,"^%s*(%b\1\2)")
15.315 + if b then
15.316 + Code(strsub(code,2,-2))
15.317 + return strsub(s,e+1)
15.318 + end
15.319 + end
15.320 +
15.321 + -- try C code
15.322 + do
15.323 + local b,e,code = strfind(s,"^%s*(%b\3\4)")
15.324 + if b then
15.325 + code = '{'..strsub(code,2,-2)..'\n}\n'
15.326 + Verbatim(code,'r') -- verbatim code for 'r'egister fragment
15.327 + return strsub(s,e+1)
15.328 + end
15.329 + end
15.330 +
15.331 + -- try verbatim
15.332 + do
15.333 + local b,e,line = strfind(s,"^%s*%$(.-\n)")
15.334 + if b then
15.335 + Verbatim(line)
15.336 + return strsub(s,e+1)
15.337 + end
15.338 + end
15.339 +
15.340 +
15.341 + -- try module
15.342 + do
15.343 + local b,e,name,body = strfind(s,"^%s*module%s%s*([_%w][_%w]*)%s*(%b{})%s*")
15.344 + if b then
15.345 + _curr_code = strsub(s,b,e)
15.346 + Module(name,body)
15.347 + return strsub(s,e+1)
15.348 + end
15.349 + end
15.350 +
15.351 + -- try namesapce
15.352 + do
15.353 + local b,e,name,body = strfind(s,"^%s*namespace%s%s*([_%w][_%w]*)%s*(%b{})%s*")
15.354 + if b then
15.355 + _curr_code = strsub(s,b,e)
15.356 + Namespace(name,body)
15.357 + return strsub(s,e+1)
15.358 + end
15.359 + end
15.360 +
15.361 + -- try define
15.362 + do
15.363 + local b,e,name = strfind(s,"^%s*#define%s%s*([^%s]*)[^\n]*\n%s*")
15.364 + if b then
15.365 + _curr_code = strsub(s,b,e)
15.366 + Define(name)
15.367 + return strsub(s,e+1)
15.368 + end
15.369 + end
15.370 +
15.371 + -- try enumerates
15.372 + do
15.373 + local b,e,name,body = strfind(s,"^%s*enum%s+(%S*)%s*(%b{})%s*;?%s*")
15.374 + if b then
15.375 + _curr_code = strsub(s,b,e)
15.376 + Enumerate(name,body)
15.377 + return strsub(s,e+1)
15.378 + end
15.379 + end
15.380 +
15.381 + do
15.382 + local b,e,body,name = strfind(s,"^%s*typedef%s+enum[^{]*(%b{})%s*([%w_][^%s]*)%s*;%s*")
15.383 + if b then
15.384 + _curr_code = strsub(s,b,e)
15.385 + Enumerate(name,body)
15.386 + return strsub(s,e+1)
15.387 + end
15.388 + end
15.389 +
15.390 + -- try operator
15.391 + do
15.392 + local b,e,decl,kind,arg,const = strfind(s,"^%s*([_%w][_%w%s%*&:]*operator)%s*([^%s][^%s]*)%s*(%b())%s*(c?o?n?s?t?)%s*;%s*")
15.393 + if not b then
15.394 + -- try inline
15.395 + b,e,decl,kind,arg,const = strfind(s,"^%s*([_%w][_%w%s%*&:]*operator)%s*([^%s][^%s]*)%s*(%b())%s*(c?o?n?s?t?)%s*%b{}%s*")
15.396 + end
15.397 + if b then
15.398 + _curr_code = strsub(s,b,e)
15.399 + Operator(decl,kind,arg,const)
15.400 + return strsub(s,e+1)
15.401 + end
15.402 + end
15.403 +
15.404 + -- try function
15.405 + do
15.406 + local b,e,decl,arg,const = strfind(s,"^%s*([~_%w][_@%w%s%*&:]*[_%w])%s*(%b())%s*(c?o?n?s?t?)%s*=?%s*0?%s*;%s*")
15.407 + if not b then
15.408 + -- try a single letter function name
15.409 + b,e,decl,arg,const = strfind(s,"^%s*([_%w])%s*(%b())%s*(c?o?n?s?t?)%s*;%s*")
15.410 + end
15.411 + if b then
15.412 + _curr_code = strsub(s,b,e)
15.413 + Function(decl,arg,const)
15.414 + return strsub(s,e+1)
15.415 + end
15.416 + end
15.417 +
15.418 + -- try inline function
15.419 + do
15.420 + local b,e,decl,arg,const = strfind(s,"^%s*([~_%w][_@%w%s%*&:]*[_%w])%s*(%b())%s*(c?o?n?s?t?).-%b{}%s*")
15.421 + if not b then
15.422 + -- try a single letter function name
15.423 + b,e,decl,arg,const = strfind(s,"^%s*([_%w])%s*(%b())%s*(c?o?n?s?t?).-%b{}%s*")
15.424 + end
15.425 + if b then
15.426 + _curr_code = strsub(s,b,e)
15.427 + Function(decl,arg,const)
15.428 + return strsub(s,e+1)
15.429 + end
15.430 + end
15.431 +
15.432 + -- try class
15.433 + do
15.434 + local b,e,name,base,body
15.435 + base = '' body = ''
15.436 + b,e,name = strfind(s,"^%s*class%s*([_%w][_%w@]*)%s*;") -- dummy class
15.437 + if not b then
15.438 + b,e,name = strfind(s,"^%s*struct%s*([_%w][_%w@]*)%s*;") -- dummy struct
15.439 + if not b then
15.440 + b,e,name,base,body = strfind(s,"^%s*class%s*([_%w][_%w@]*)%s*(.-)%s*(%b{})%s*;%s*")
15.441 + if not b then
15.442 + b,e,name,base,body = strfind(s,"^%s*struct%s*([_%w][_%w@]*)%s*(.-)%s*(%b{})%s*;%s*")
15.443 + if not b then
15.444 + b,e,name,base,body = strfind(s,"^%s*union%s*([_%w][_%w@]*)%s*(.-)%s*(%b{})%s*;%s*")
15.445 + if not b then
15.446 + base = ''
15.447 + b,e,body,name = strfind(s,"^%s*typedef%s%s*struct%s%s*[_%w]*%s*(%b{})%s*([_%w][_%w@]*)%s*;%s*")
15.448 + end
15.449 + end
15.450 + end
15.451 + end
15.452 + end
15.453 + if b then
15.454 + if base ~= '' then
15.455 + local b,e
15.456 + b,e,base = strfind(base,".-([_%w][_%w]*)$")
15.457 + end
15.458 + _curr_code = strsub(s,b,e)
15.459 + Class(name,base,body)
15.460 + return strsub(s,e+1)
15.461 + end
15.462 + end
15.463 +
15.464 + -- try typedef
15.465 + do
15.466 + local b,e,types = strfind(s,"^%s*typedef%s%s*(.-)%s*;%s*")
15.467 + if b then
15.468 + _curr_code = strsub(s,b,e)
15.469 + Typedef(types)
15.470 + return strsub(s,e+1)
15.471 + end
15.472 + end
15.473 +
15.474 + -- try variable
15.475 + do
15.476 + local b,e,decl = strfind(s,"^%s*([_%w][_@%s%w%d%*&:]*[_%w%d])%s*;%s*")
15.477 + if b then
15.478 + _curr_code = strsub(s,b,e)
15.479 + Variable(decl)
15.480 + return strsub(s,e+1)
15.481 + end
15.482 + end
15.483 +
15.484 + -- try string
15.485 + do
15.486 + local b,e,decl = strfind(s,"^%s*([_%w]?[_%s%w%d]-char%s+[_@%w%d]*%s*%[%s*%S+%s*%])%s*;%s*")
15.487 + if b then
15.488 + _curr_code = strsub(s,b,e)
15.489 + Variable(decl)
15.490 + return strsub(s,e+1)
15.491 + end
15.492 + end
15.493 +
15.494 + -- try array
15.495 + do
15.496 + local b,e,decl = strfind(s,"^%s*([_%w][][_@%s%w%d%*&:]*[]_%w%d])%s*;%s*")
15.497 + if b then
15.498 + _curr_code = strsub(s,b,e)
15.499 + Array(decl)
15.500 + return strsub(s,e+1)
15.501 + end
15.502 + end
15.503 +
15.504 + -- no matching
15.505 + if gsub(s,"%s%s*","") ~= "" then
15.506 + _curr_code = s
15.507 + error("#parse error")
15.508 + else
15.509 + return ""
15.510 + end
15.511 +
15.512 +end
15.513 +
15.514 +function classContainer:parse (s)
15.515 + while s ~= '' do
15.516 + s = self:doparse(s)
15.517 + end
15.518 +end
15.519 +
15.520 +
16.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
16.2 +++ b/source/tolua/src/bin/lua/declaration.lua Wed Nov 04 01:38:12 2009 +0000
16.3 @@ -0,0 +1,462 @@
16.4 +-- tolua: declaration class
16.5 +-- Written by Waldemar Celes
16.6 +-- TeCGraf/PUC-Rio
16.7 +-- Jul 1998
16.8 +-- $Id: $
16.9 +
16.10 +-- This code is free software; you can redistribute it and/or modify it.
16.11 +-- The software provided hereunder is on an "as is" basis, and
16.12 +-- the author has no obligation to provide maintenance, support, updates,
16.13 +-- enhancements, or modifications.
16.14 +
16.15 +
16.16 +-- Declaration class
16.17 +-- Represents variable, function, or argument declaration.
16.18 +-- Stores the following fields:
16.19 +-- mod = type modifiers
16.20 +-- type = type
16.21 +-- ptr = "*" or "&", if representing a pointer or a reference
16.22 +-- name = name
16.23 +-- dim = dimension, if a vector
16.24 +-- def = default value, if any (only for arguments)
16.25 +-- ret = "*" or "&", if value is to be returned (only for arguments)
16.26 +classDeclaration = {
16.27 + mod = '',
16.28 + type = '',
16.29 + ptr = '',
16.30 + name = '',
16.31 + dim = '',
16.32 + ret = '',
16.33 + def = ''
16.34 +}
16.35 +classDeclaration.__index = classDeclaration
16.36 +setmetatable(classDeclaration,classFeature)
16.37 +
16.38 +-- Create an unique variable name
16.39 +function create_varname ()
16.40 + if not _varnumber then _varnumber = 0 end
16.41 + _varnumber = _varnumber + 1
16.42 + return "tolua_var_".._varnumber
16.43 +end
16.44 +
16.45 +-- Check declaration name
16.46 +-- It also identifies default values
16.47 +function classDeclaration:checkname ()
16.48 +
16.49 + if strsub(self.name,1,1) == '[' and not findtype(self.type) then
16.50 + self.name = self.type..self.name
16.51 + local m = split(self.mod,'%s%s*')
16.52 + self.type = m[m.n]
16.53 + self.mod = concat(m,1,m.n-1)
16.54 + end
16.55 +
16.56 + local t = split(self.name,'=')
16.57 + if t.n==2 then
16.58 + self.name = t[1]
16.59 + self.def = t[t.n]
16.60 + end
16.61 +
16.62 + local b,e,d = strfind(self.name,"%[(.-)%]")
16.63 + if b then
16.64 + self.name = strsub(self.name,1,b-1)
16.65 + self.dim = d
16.66 + end
16.67 +
16.68 +
16.69 + if self.type ~= '' and self.type ~= 'void' and self.name == '' then
16.70 + self.name = create_varname()
16.71 + elseif self.kind=='var' then
16.72 + if self.type=='' and self.name~='' then
16.73 + self.type = self.type..self.name
16.74 + self.name = create_varname()
16.75 + elseif findtype(self.name) then
16.76 + if self.type=='' then self.type = self.name
16.77 + else self.type = self.type..' '..self.name end
16.78 + self.name = create_varname()
16.79 + end
16.80 + end
16.81 +
16.82 + -- adjust type of string
16.83 + if self.type == 'char' and self.dim ~= '' then
16.84 + self.type = 'char*'
16.85 + end
16.86 +end
16.87 +
16.88 +-- Check declaration type
16.89 +-- Substitutes typedef's.
16.90 +function classDeclaration:checktype ()
16.91 +
16.92 + -- check if there is a pointer to basic type
16.93 + if isbasic(self.type) and self.ptr~='' then
16.94 + self.ret = self.ptr
16.95 + self.ptr = nil
16.96 + end
16.97 +
16.98 + -- check if there is array to be returned
16.99 + if self.dim~='' and self.ret~='' then
16.100 + error('#invalid parameter: cannot return an array of values')
16.101 + end
16.102 +
16.103 + -- restore 'void*' and 'string*'
16.104 + if self.type == '_userdata' then self.type = 'void*'
16.105 + elseif self.type == '_cstring' then self.type = 'char*'
16.106 + end
16.107 +
16.108 +--
16.109 +-- -- if returning value, automatically set default value
16.110 +-- if self.ret ~= '' and self.def == '' then
16.111 +-- self.def = '0'
16.112 +-- end
16.113 +--
16.114 +
16.115 +end
16.116 +
16.117 +-- Print method
16.118 +function classDeclaration:print (ident,close)
16.119 + print(ident.."Declaration{")
16.120 + print(ident.." mod = '"..self.mod.."',")
16.121 + print(ident.." type = '"..self.type.."',")
16.122 + print(ident.." ptr = '"..self.ptr.."',")
16.123 + print(ident.." name = '"..self.name.."',")
16.124 + print(ident.." dim = '"..self.dim.."',")
16.125 + print(ident.." def = '"..self.def.."',")
16.126 + print(ident.." ret = '"..self.ret.."',")
16.127 + print(ident.."}"..close)
16.128 +end
16.129 +
16.130 +-- check if array of values are returned to Lua
16.131 +function classDeclaration:requirecollection (t)
16.132 + if self.mod ~= 'const' and
16.133 + self.dim and self.dim ~= '' and
16.134 + not isbasic(self.type) and
16.135 + self.ptr == '' then
16.136 + local type = gsub(self.type,"%s*const%s*","")
16.137 + t[type] = gsub(type,"::","_")
16.138 + return true
16.139 + end
16.140 + return false
16.141 +end
16.142 +
16.143 +-- declare tag
16.144 +function classDeclaration:decltype ()
16.145 + self.type = typevar(self.type)
16.146 + if strfind(self.mod,'const') then
16.147 + self.type = 'const '..self.type
16.148 + self.mod = gsub(self.mod,'const%s*','')
16.149 + end
16.150 +end
16.151 +
16.152 +
16.153 +-- output type checking
16.154 +function classDeclaration:outchecktype (narg)
16.155 + local def
16.156 + local t = isbasic(self.type)
16.157 + if self.def~='' then
16.158 + def = 1
16.159 + else
16.160 + def = 0
16.161 + end
16.162 + if self.dim ~= '' then
16.163 + if t=='string' then
16.164 + return 'tolua_isstring(tolua_S,'..narg..','..def..',&tolua_err)'
16.165 + else
16.166 + return 'tolua_istable(tolua_S,'..narg..',0,&tolua_err)'
16.167 + end
16.168 + elseif t then
16.169 + return 'tolua_is'..t..'(tolua_S,'..narg..','..def..',&tolua_err)'
16.170 + else
16.171 + return 'tolua_isusertype(tolua_S,'..narg..',"'..self.type..'",'..def..',&tolua_err)'
16.172 + end
16.173 +end
16.174 +
16.175 +function classDeclaration:builddeclaration (narg, cplusplus)
16.176 + local array = self.dim ~= '' and tonumber(self.dim)==nil
16.177 + local line = ""
16.178 + local ptr = ''
16.179 + local mod
16.180 + local type = self.type
16.181 + if self.dim ~= '' then
16.182 + type = gsub(self.type,'const%s*','') -- eliminates const modifier for arrays
16.183 + end
16.184 + local ctype = type
16.185 + if ctype=="lua_Object" or ctype=="lua_Function" then
16.186 + ctype = "int"
16.187 + end
16.188 + if self.ptr~='' then ptr = '*' end
16.189 + line = concatparam(line," ",self.mod,ctype,ptr)
16.190 + if array then
16.191 + line = concatparam(line,'*')
16.192 + end
16.193 + line = concatparam(line,self.name)
16.194 + if self.dim ~= '' then
16.195 + if tonumber(self.dim)~=nil then
16.196 + line = concatparam(line,'[',self.dim,'];')
16.197 + else
16.198 + if cplusplus then
16.199 + line = concatparam(line,' = new',type,ptr,'['..self.dim..'];')
16.200 + else
16.201 + line = concatparam(line,' = (',type,ptr,'*)',
16.202 + 'malloc((',self.dim,')*sizeof(',type,ptr,'));')
16.203 + end
16.204 + end
16.205 + else
16.206 + local t = isbasic(type)
16.207 + line = concatparam(line,' = ')
16.208 + if not t and ptr=='' then line = concatparam(line,'*') end
16.209 + line = concatparam(line,'((',self.mod,type)
16.210 + if not t then
16.211 + line = concatparam(line,'*')
16.212 + end
16.213 + line = concatparam(line,') ')
16.214 + if isenum(type) then
16.215 + line = concatparam(line,'(int) ')
16.216 + end
16.217 + local def = 0
16.218 + if self.def ~= '' then def = self.def end
16.219 + if t then
16.220 + line = concatparam(line,'tolua_to'..t,'(tolua_S,',narg,',',def,'));')
16.221 + else
16.222 + line = concatparam(line,'tolua_tousertype(tolua_S,',narg,',',def,'));')
16.223 + end
16.224 + end
16.225 + return line
16.226 +end
16.227 +
16.228 +-- Declare variable
16.229 +function classDeclaration:declare (narg)
16.230 + if self.dim ~= '' and tonumber(self.dim)==nil then
16.231 + output('#ifdef __cplusplus\n')
16.232 + output(self:builddeclaration(narg,true))
16.233 + output('#else\n')
16.234 + output(self:builddeclaration(narg,false))
16.235 + output('#endif\n')
16.236 + else
16.237 + output(self:builddeclaration(narg,false))
16.238 + end
16.239 +end
16.240 +
16.241 +-- Get parameter value
16.242 +function classDeclaration:getarray (narg)
16.243 + if self.dim ~= '' then
16.244 + local type = gsub(self.type,'const ','')
16.245 + output(' {')
16.246 + output('#ifndef TOLUA_RELEASE\n')
16.247 + local def; if self.def~='' then def=1 else def=0 end
16.248 + local t = isbasic(type)
16.249 + if (t) then
16.250 + output(' if (!tolua_is'..t..'array(tolua_S,',narg,',',self.dim,',',def,',&tolua_err))')
16.251 + else
16.252 + output(' if (!tolua_isusertypearray(tolua_S,',narg,',"',type,'",',self.dim,',',def,',&tolua_err))')
16.253 + end
16.254 + output(' goto tolua_lerror;')
16.255 + output(' else\n')
16.256 + output('#endif\n')
16.257 + output(' {')
16.258 + output(' int i;')
16.259 + output(' for(i=0; i<'..self.dim..';i++)')
16.260 + local t = isbasic(type)
16.261 + local ptr = ''
16.262 + if self.ptr~='' then ptr = '*' end
16.263 + output(' ',self.name..'[i] = ')
16.264 + if not t and ptr=='' then output('*') end
16.265 + output('((',type)
16.266 + if not t then
16.267 + output('*')
16.268 + end
16.269 + output(') ')
16.270 + local def = 0
16.271 + if self.def ~= '' then def = self.def end
16.272 + if t then
16.273 + output('tolua_tofield'..t..'(tolua_S,',narg,',i+1,',def,'));')
16.274 + else
16.275 + output('tolua_tofieldusertype(tolua_S,',narg,',i+1,',def,'));')
16.276 + end
16.277 + output(' }')
16.278 + output(' }')
16.279 + end
16.280 +end
16.281 +
16.282 +-- Get parameter value
16.283 +function classDeclaration:setarray (narg)
16.284 + if not strfind(self.type,'const') and self.dim ~= '' then
16.285 + local type = gsub(self.type,'const ','')
16.286 + output(' {')
16.287 + output(' int i;')
16.288 + output(' for(i=0; i<'..self.dim..';i++)')
16.289 + local t,ct = isbasic(type)
16.290 + if t then
16.291 + output(' tolua_pushfield'..t..'(tolua_S,',narg,',i+1,(',ct,')',self.name,'[i]);')
16.292 + else
16.293 + if self.ptr == '' then
16.294 + output(' {')
16.295 + output('#ifdef __cplusplus\n')
16.296 + output(' void* tolua_obj = new',type,'(',self.name,'[i]);')
16.297 + output(' tolua_pushfieldusertype(tolua_S,',narg,',i+1,tolua_clone(tolua_S,tolua_obj,tolua_collect_'.._collect[type]..'),"',type,'");')
16.298 + output('#else\n')
16.299 + output(' void* tolua_obj = tolua_copy(tolua_S,(void*)&',self.name,'[i],sizeof(',type,'));')
16.300 + output(' tolua_pushfieldusertype(tolua_S,',narg,',i+1,tolua_clone(tolua_S,tolua_obj,tolua_collect),"',type,'");')
16.301 + output('#endif\n')
16.302 + output(' }')
16.303 + else
16.304 + output(' tolua_pushfieldusertype(tolua_S,',narg,',i+1,(void*)',self.name,'[i],"',type,'");')
16.305 + end
16.306 + end
16.307 + output(' }')
16.308 + end
16.309 +end
16.310 +
16.311 +-- Free dynamically allocated array
16.312 +function classDeclaration:freearray ()
16.313 + if self.dim ~= '' and tonumber(self.dim)==nil then
16.314 + output('#ifdef __cplusplus\n')
16.315 + output(' delete []',self.name,';')
16.316 + output('#else\n')
16.317 + output(' free(',self.name,');')
16.318 + output('#endif\n')
16.319 + end
16.320 +end
16.321 +
16.322 +-- Pass parameter
16.323 +function classDeclaration:passpar ()
16.324 + if self.ptr=='&' then
16.325 + output('*'..self.name)
16.326 + elseif self.ret=='*' then
16.327 + output('&'..self.name)
16.328 + else
16.329 + output(self.name)
16.330 + end
16.331 +end
16.332 +
16.333 +-- Return parameter value
16.334 +function classDeclaration:retvalue ()
16.335 + if self.ret ~= '' then
16.336 + local t,ct = isbasic(self.type)
16.337 + if t then
16.338 + output(' tolua_push'..t..'(tolua_S,(',ct,')'..self.name..');')
16.339 + else
16.340 + output(' tolua_pushusertype(tolua_S,(void*)'..self.name..',"',self.type,'");')
16.341 + end
16.342 + return 1
16.343 + end
16.344 + return 0
16.345 +end
16.346 +
16.347 +-- Internal constructor
16.348 +function _Declaration (t)
16.349 + setmetatable(t,classDeclaration)
16.350 + t:buildnames()
16.351 + t:checkname()
16.352 + t:checktype()
16.353 + return t
16.354 +end
16.355 +
16.356 +-- Constructor
16.357 +-- Expects the string declaration.
16.358 +-- The kind of declaration can be "var" or "func".
16.359 +function Declaration (s,kind)
16.360 + -- eliminate spaces if default value is provided
16.361 + s = gsub(s,"%s*=%s*","=")
16.362 +
16.363 + if kind == "var" then
16.364 + -- check the form: void
16.365 + if s == '' or s == 'void' then
16.366 + return _Declaration{type = 'void', kind = kind}
16.367 + end
16.368 + end
16.369 +
16.370 + -- check the form: mod type*& name
16.371 + local t = split(s,'%*%s*&')
16.372 + if t.n == 2 then
16.373 + if kind == 'func' then
16.374 + error("#invalid function return type: "..s)
16.375 + end
16.376 + local m = split(t[1],'%s%s*')
16.377 + return _Declaration{
16.378 + name = t[2],
16.379 + ptr = '*',
16.380 + ret = '&',
16.381 + type = m[m.n],
16.382 + mod = concat(m,1,m.n-1),
16.383 + kind = kind
16.384 + }
16.385 + end
16.386 +
16.387 + -- check the form: mod type** name
16.388 + t = split(s,'%*%s*%*')
16.389 + if t.n == 2 then
16.390 + if kind == 'func' then
16.391 + error("#invalid function return type: "..s)
16.392 + end
16.393 + local m = split(t[1],'%s%s*')
16.394 + return _Declaration{
16.395 + name = t[2],
16.396 + ptr = '*',
16.397 + ret = '*',
16.398 + type = m[m.n],
16.399 + mod = concat(m,1,m.n-1),
16.400 + kind = kind
16.401 + }
16.402 + end
16.403 +
16.404 + -- check the form: mod type& name
16.405 + t = split(s,'&')
16.406 + if t.n == 2 then
16.407 + local m = split(t[1],'%s%s*')
16.408 + return _Declaration{
16.409 + name = t[2],
16.410 + ptr = '&',
16.411 + type = m[m.n],
16.412 + mod = concat(m,1,m.n-1) ,
16.413 + kind = kind
16.414 + }
16.415 + end
16.416 +
16.417 + -- check the form: mod type* name
16.418 + local s1 = gsub(s,"(%b\[\])",function (n) return gsub(n,'%*','\1') end)
16.419 + t = split(s1,'%*')
16.420 + if t.n == 2 then
16.421 + t[2] = gsub(t[2],'\1','%*') -- restore * in dimension expression
16.422 + local m = split(t[1],'%s%s*')
16.423 + return _Declaration{
16.424 + name = t[2],
16.425 + ptr = '*',
16.426 + type = m[m.n],
16.427 + mod = concat(m,1,m.n-1) ,
16.428 + kind = kind
16.429 + }
16.430 + end
16.431 +
16.432 + if kind == 'var' then
16.433 + -- check the form: mod type name
16.434 + t = split(s,'%s%s*')
16.435 + local v
16.436 + if findtype(t[t.n]) then v = '' else v = t[t.n]; t.n = t.n-1 end
16.437 + return _Declaration{
16.438 + name = v,
16.439 + type = t[t.n],
16.440 + mod = concat(t,1,t.n-1),
16.441 + kind = kind
16.442 + }
16.443 +
16.444 + else -- kind == "func"
16.445 +
16.446 + -- check the form: mod type name
16.447 + t = split(s,'%s%s*')
16.448 + local v = t[t.n] -- last word is the function name
16.449 + local tp,md
16.450 + if t.n>1 then
16.451 + tp = t[t.n-1]
16.452 + md = concat(t,1,t.n-2)
16.453 + end
16.454 + return _Declaration{
16.455 + name = v,
16.456 + type = tp,
16.457 + mod = md,
16.458 + kind = kind
16.459 + }
16.460 + end
16.461 +
16.462 +end
16.463 +
16.464 +
16.465 +
17.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
17.2 +++ b/source/tolua/src/bin/lua/define.lua Wed Nov 04 01:38:12 2009 +0000
17.3 @@ -0,0 +1,58 @@
17.4 +-- tolua: define class
17.5 +-- Written by Waldemar Celes
17.6 +-- TeCGraf/PUC-Rio
17.7 +-- Jul 1998
17.8 +-- $Id: define.lua,v 1.2 1999/07/28 22:21:08 celes Exp $
17.9 +
17.10 +-- This code is free software; you can redistribute it and/or modify it.
17.11 +-- The software provided hereunder is on an "as is" basis, and
17.12 +-- the author has no obligation to provide maintenance, support, updates,
17.13 +-- enhancements, or modifications.
17.14 +
17.15 +
17.16 +-- Define class
17.17 +-- Represents a numeric const definition
17.18 +-- The following filds are stored:
17.19 +-- name = constant name
17.20 +classDefine = {
17.21 + name = '',
17.22 +}
17.23 +classDefine.__index = classDefine
17.24 +setmetatable(classDefine,classFeature)
17.25 +
17.26 +-- register define
17.27 +function classDefine:register ()
17.28 + output(' tolua_constant(tolua_S,"'..self.lname..'",'..self.name..');')
17.29 +end
17.30 +
17.31 +-- Print method
17.32 +function classDefine:print (ident,close)
17.33 + print(ident.."Define{")
17.34 + print(ident.." name = '"..self.name.."',")
17.35 + print(ident.." lname = '"..self.lname.."',")
17.36 + print(ident.."}"..close)
17.37 +end
17.38 +
17.39 +
17.40 +-- Internal constructor
17.41 +function _Define (t)
17.42 + setmetatable(t,classDefine)
17.43 + t:buildnames()
17.44 +
17.45 + if t.name == '' then
17.46 + error("#invalid define")
17.47 + end
17.48 +
17.49 + append(t)
17.50 + return t
17.51 +end
17.52 +
17.53 +-- Constructor
17.54 +-- Expects a string representing the constant name
17.55 +function Define (n)
17.56 + return _Define{
17.57 + name = n
17.58 + }
17.59 +end
17.60 +
17.61 +
18.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
18.2 +++ b/source/tolua/src/bin/lua/doit.lua Wed Nov 04 01:38:12 2009 +0000
18.3 @@ -0,0 +1,63 @@
18.4 +-- Generate binding code
18.5 +-- Written by Waldemar Celes
18.6 +-- TeCGraf/PUC-Rio
18.7 +-- Jul 1998
18.8 +-- Last update: Apr 2003
18.9 +-- $Id: $
18.10 +
18.11 +
18.12 +-- This code is free software; you can redistribute it and/or modify it.
18.13 +-- The software provided hereunder is on an "as is" basis, and
18.14 +-- the author has no obligation to provide maintenance, support, updates,
18.15 +-- enhancements, or modifications.
18.16 +
18.17 +function doit ()
18.18 + -- define package name, if not provided
18.19 + if not flags.n then
18.20 + if flags.f then
18.21 + flags.n = gsub(flags.f,"%..*","")
18.22 + else
18.23 + error("#no package name nor input file provided")
18.24 + end
18.25 + end
18.26 +
18.27 + -- proccess package
18.28 + local p = Package(flags.n,flags.f)
18.29 +
18.30 + if flags.p then
18.31 + return -- only parse
18.32 + end
18.33 +
18.34 + if flags.o then
18.35 + local st,msg = writeto(flags.o)
18.36 + if not st then
18.37 + error('#'..msg)
18.38 + end
18.39 + end
18.40 +
18.41 + p:decltype()
18.42 + if flags.P then
18.43 + p:print()
18.44 + else
18.45 + p:preamble()
18.46 + p:supcode()
18.47 + p:register()
18.48 + end
18.49 +
18.50 + if flags.o then
18.51 + writeto()
18.52 + end
18.53 +
18.54 + -- write header file
18.55 + if not flags.P then
18.56 + if flags.H then
18.57 + local st,msg = writeto(flags.H)
18.58 + if not st then
18.59 + error('#'..msg)
18.60 + end
18.61 + p:header()
18.62 + writeto()
18.63 + end
18.64 + end
18.65 +end
18.66 +
19.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
19.2 +++ b/source/tolua/src/bin/lua/enumerate.lua Wed Nov 04 01:38:12 2009 +0000
19.3 @@ -0,0 +1,81 @@
19.4 +-- tolua: enumerate class
19.5 +-- Written by Waldemar Celes
19.6 +-- TeCGraf/PUC-Rio
19.7 +-- Jul 1998
19.8 +-- $Id: enumerate.lua,v 1.3 2000/01/24 20:41:15 celes Exp $
19.9 +
19.10 +-- This code is free software; you can redistribute it and/or modify it.
19.11 +-- The software provided hereunder is on an "as is" basis, and
19.12 +-- the author has no obligation to provide maintenance, support, updates,
19.13 +-- enhancements, or modifications.
19.14 +
19.15 +
19.16 +-- Enumerate class
19.17 +-- Represents enumeration
19.18 +-- The following fields are stored:
19.19 +-- {i} = list of constant names
19.20 +classEnumerate = {
19.21 +}
19.22 +classEnumerate.__index = classEnumerate
19.23 +setmetatable(classEnumerate,classFeature)
19.24 +
19.25 +-- register enumeration
19.26 +function classEnumerate:register ()
19.27 + local nspace = getnamespace(classContainer.curr)
19.28 + local i=1
19.29 + while self[i] do
19.30 + output(' tolua_constant(tolua_S,"'..self.lnames[i]..'",'..nspace..self[i]..');')
19.31 + i = i+1
19.32 + end
19.33 +end
19.34 +
19.35 +-- Print method
19.36 +function classEnumerate:print (ident,close)
19.37 + print(ident.."Enumerate{")
19.38 + print(ident.." name = "..self.name)
19.39 + local i=1
19.40 + while self[i] do
19.41 + print(ident.." '"..self[i].."'("..self.lnames[i].."),")
19.42 + i = i+1
19.43 + end
19.44 + print(ident.."}"..close)
19.45 +end
19.46 +
19.47 +-- Internal constructor
19.48 +function _Enumerate (t)
19.49 + setmetatable(t,classEnumerate)
19.50 + append(t)
19.51 + appendenum(t)
19.52 + return t
19.53 +end
19.54 +
19.55 +-- Constructor
19.56 +-- Expects a string representing the enumerate body
19.57 +function Enumerate (n,b)
19.58 + local t = split(strsub(b,2,-2),',') -- eliminate braces
19.59 + local i = 1
19.60 + local e = {n=0}
19.61 + while t[i] do
19.62 + local tt = split(t[i],'=') -- discard initial value
19.63 + e.n = e.n + 1
19.64 + e[e.n] = tt[1]
19.65 + i = i+1
19.66 + end
19.67 + -- set lua names
19.68 + i = 1
19.69 + e.lnames = {}
19.70 + while e[i] do
19.71 + local t = split(e[i],'@')
19.72 + e[i] = t[1]
19.73 + if not t[2] then
19.74 + t[2] = applyrenaming(t[1])
19.75 + end
19.76 + e.lnames[i] = t[2] or t[1]
19.77 + i = i+1
19.78 + end
19.79 + e.name = n
19.80 + Typedef("int "..n)
19.81 + return _Enumerate(e)
19.82 +end
19.83 +
19.84 +
20.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
20.2 +++ b/source/tolua/src/bin/lua/feature.lua Wed Nov 04 01:38:12 2009 +0000
20.3 @@ -0,0 +1,99 @@
20.4 +-- tolua: abstract feature class
20.5 +-- Written by Waldemar Celes
20.6 +-- TeCGraf/PUC-Rio
20.7 +-- Jul 1998
20.8 +-- $Id: $
20.9 +
20.10 +-- This code is free software; you can redistribute it and/or modify it.
20.11 +-- The software provided hereunder is on an "as is" basis, and
20.12 +-- the author has no obligation to provide maintenance, support, updates,
20.13 +-- enhancements, or modifications.
20.14 +
20.15 +
20.16 +-- Feature class
20.17 +-- Represents the base class of all mapped feature.
20.18 +classFeature = {
20.19 +}
20.20 +classFeature.__index = classFeature
20.21 +
20.22 +-- write support code
20.23 +function classFeature:supcode ()
20.24 +end
20.25 +
20.26 +-- output tag
20.27 +function classFeature:decltype ()
20.28 +end
20.29 +
20.30 +-- register feature
20.31 +function classFeature:register ()
20.32 +end
20.33 +
20.34 +-- translate verbatim
20.35 +function classFeature:preamble ()
20.36 +end
20.37 +
20.38 +-- check if it is a variable
20.39 +function classFeature:isvariable ()
20.40 + return false
20.41 +end
20.42 +
20.43 +-- checi if it requires collection
20.44 +function classFeature:requirecollection (t)
20.45 + return false
20.46 +end
20.47 +
20.48 +-- build names
20.49 +function classFeature:buildnames ()
20.50 + if self.name and self.name~='' then
20.51 + local n = split(self.name,'@')
20.52 + self.name = n[1]
20.53 + if not n[2] then
20.54 + n[2] = applyrenaming(n[1])
20.55 + end
20.56 + self.lname = n[2] or gsub(n[1],"%[.-%]","")
20.57 + end
20.58 + self.name = getonlynamespace() .. self.name
20.59 +end
20.60 +
20.61 +
20.62 +-- check if feature is inside a container definition
20.63 +-- it returns the container class name or nil.
20.64 +function classFeature:incontainer (which)
20.65 + if self.parent then
20.66 + local parent = self.parent
20.67 + while parent do
20.68 + if parent.classtype == which then
20.69 + return parent.name
20.70 + end
20.71 + parent = parent.parent
20.72 + end
20.73 + end
20.74 + return nil
20.75 +end
20.76 +
20.77 +function classFeature:inclass ()
20.78 + return self:incontainer('class')
20.79 +end
20.80 +
20.81 +function classFeature:inmodule ()
20.82 + return self:incontainer('module')
20.83 +end
20.84 +
20.85 +function classFeature:innamespace ()
20.86 + return self:incontainer('namespace')
20.87 +end
20.88 +
20.89 +-- return C binding function name based on name
20.90 +-- the client specifies a prefix
20.91 +function classFeature:cfuncname (n)
20.92 + if self.parent then
20.93 + n = self.parent:cfuncname(n)
20.94 + end
20.95 +
20.96 +-- if self.lname then
20.97 +-- return n..'_'..self.lname
20.98 +-- else
20.99 + return n..'_'..self.name
20.100 +-- end
20.101 +end
20.102 +
21.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
21.2 +++ b/source/tolua/src/bin/lua/function.lua Wed Nov 04 01:38:12 2009 +0000
21.3 @@ -0,0 +1,345 @@
21.4 +-- tolua: function class
21.5 +-- Written by Waldemar Celes
21.6 +-- TeCGraf/PUC-Rio
21.7 +-- Jul 1998
21.8 +-- $Id: $
21.9 +
21.10 +-- This code is free software; you can redistribute it and/or modify it.
21.11 +-- The software provided hereunder is on an "as is" basis, and
21.12 +-- the author has no obligation to provide maintenance, support, updates,
21.13 +-- enhancements, or modifications.
21.14 +
21.15 +
21.16 +
21.17 +-- Function class
21.18 +-- Represents a function or a class method.
21.19 +-- The following fields are stored:
21.20 +-- mod = type modifiers
21.21 +-- type = type
21.22 +-- ptr = "*" or "&", if representing a pointer or a reference
21.23 +-- name = name
21.24 +-- lname = lua name
21.25 +-- args = list of argument declarations
21.26 +-- const = if it is a method receiving a const "this".
21.27 +classFunction = {
21.28 + mod = '',
21.29 + type = '',
21.30 + ptr = '',
21.31 + name = '',
21.32 + args = {n=0},
21.33 + const = '',
21.34 +}
21.35 +classFunction.__index = classFunction
21.36 +setmetatable(classFunction,classFeature)
21.37 +
21.38 +-- declare tags
21.39 +function classFunction:decltype ()
21.40 + self.type = typevar(self.type)
21.41 + if strfind(self.mod,'const') then
21.42 + self.type = 'const '..self.type
21.43 + self.mod = gsub(self.mod,'const%s*','')
21.44 + end
21.45 + local i=1
21.46 + while self.args[i] do
21.47 + self.args[i]:decltype()
21.48 + i = i+1
21.49 + end
21.50 +end
21.51 +
21.52 +
21.53 +-- Write binding function
21.54 +-- Outputs C/C++ binding function.
21.55 +function classFunction:supcode ()
21.56 + local overload = strsub(self.cname,-2,-1) - 1 -- indicate overloaded func
21.57 + local nret = 0 -- number of returned values
21.58 + local class = self:inclass()
21.59 + local _,_,static = strfind(self.mod,'^%s*(static)')
21.60 +
21.61 + if class then
21.62 + output("/* method:",self.name," of class ",class," */")
21.63 + else
21.64 + output("/* function:",self.name," */")
21.65 + end
21.66 + output("static int",self.cname,"(lua_State* tolua_S)")
21.67 + output("{")
21.68 +
21.69 + -- check types
21.70 + if overload < 0 then
21.71 + output('#ifndef TOLUA_RELEASE\n')
21.72 + end
21.73 + output(' tolua_Error tolua_err;')
21.74 + output(' if (\n')
21.75 + -- check self
21.76 + local narg
21.77 + if class then narg=2 else narg=1 end
21.78 + if class then
21.79 + local func = 'tolua_isusertype'
21.80 + local type = self.parent.type
21.81 + if self.name=='new' or static~=nil then
21.82 + func = 'tolua_isusertable'
21.83 + type = self.parent.type
21.84 + end
21.85 + output(' !'..func..'(tolua_S,1,"'..type..'",0,&tolua_err) ||\n')
21.86 + end
21.87 + -- check args
21.88 + if self.args[1].type ~= 'void' then
21.89 + local i=1
21.90 + while self.args[i] do
21.91 + if isbasic(self.args[i].type) ~= 'value' then
21.92 + output(' !'..self.args[i]:outchecktype(narg)..' ||\n')
21.93 + end
21.94 + narg = narg+1
21.95 + i = i+1
21.96 + end
21.97 + end
21.98 + -- check end of list
21.99 + output(' !tolua_isnoobj(tolua_S,'..narg..',&tolua_err)\n )')
21.100 + output(' goto tolua_lerror;')
21.101 +
21.102 + output(' else\n')
21.103 + if overload < 0 then
21.104 + output('#endif\n')
21.105 + end
21.106 + output(' {')
21.107 +
21.108 + -- declare self, if the case
21.109 + local narg
21.110 + if class then narg=2 else narg=1 end
21.111 + if class and self.name~='new' and static==nil then
21.112 + output(' ',self.const,self.parent.type,'*','self = ')
21.113 + output('(',self.const,self.parent.type,'*) ')
21.114 + output('tolua_tousertype(tolua_S,1,0);')
21.115 + elseif static then
21.116 + _,_,self.mod = strfind(self.mod,'^%s*static%s%s*(.*)')
21.117 + end
21.118 + -- declare parameters
21.119 + if self.args[1].type ~= 'void' then
21.120 + local i=1
21.121 + while self.args[i] do
21.122 + self.args[i]:declare(narg)
21.123 + narg = narg+1
21.124 + i = i+1
21.125 + end
21.126 + end
21.127 +
21.128 + -- check self
21.129 + if class and self.name~='new' and static==nil then
21.130 + output('#ifndef TOLUA_RELEASE\n')
21.131 + output(' if (!self) tolua_error(tolua_S,"invalid \'self\' in function \''..self.name..'\'",NULL);');
21.132 + output('#endif\n')
21.133 + end
21.134 +
21.135 + -- get array element values
21.136 + if class then narg=2 else narg=1 end
21.137 + if self.args[1].type ~= 'void' then
21.138 + local i=1
21.139 + while self.args[i] do
21.140 + self.args[i]:getarray(narg)
21.141 + narg = narg+1
21.142 + i = i+1
21.143 + end
21.144 + end
21.145 +
21.146 + -- call function
21.147 + if class and self.name=='delete' then
21.148 + output(' delete self;')
21.149 + elseif class and self.name == 'operator&[]' then
21.150 + output(' self->operator[](',self.args[1].name,'-1) = ',self.args[2].name,';')
21.151 + else
21.152 + output(' {')
21.153 + if self.type ~= '' and self.type ~= 'void' then
21.154 + output(' ',self.mod,self.type,self.ptr,'tolua_ret = ')
21.155 + output('(',self.mod,self.type,self.ptr,') ')
21.156 + else
21.157 + output(' ')
21.158 + end
21.159 + if class and self.name=='new' then
21.160 + output('new',self.type,'(')
21.161 + elseif class and static then
21.162 + output(class..'::'..self.name,'(')
21.163 + elseif class then
21.164 + output('self->'..self.name,'(')
21.165 + else
21.166 + output(self.name,'(')
21.167 + end
21.168 +
21.169 + -- write parameters
21.170 + local i=1
21.171 + while self.args[i] do
21.172 + self.args[i]:passpar()
21.173 + i = i+1
21.174 + if self.args[i] then
21.175 + output(',')
21.176 + end
21.177 + end
21.178 +
21.179 + if class and self.name == 'operator[]' then
21.180 + output('-1);')
21.181 + else
21.182 + output(');')
21.183 + end
21.184 +
21.185 + -- return values
21.186 + if self.type ~= '' and self.type ~= 'void' then
21.187 + nret = nret + 1
21.188 + local t,ct = isbasic(self.type)
21.189 + if t then
21.190 + output(' tolua_push'..t..'(tolua_S,(',ct,')tolua_ret);')
21.191 + else
21.192 + t = self.type
21.193 + if self.ptr == '' then
21.194 + output(' {')
21.195 + output('#ifdef __cplusplus\n')
21.196 + output(' void* tolua_obj = new',t,'(tolua_ret);')
21.197 + output(' tolua_pushusertype(tolua_S,tolua_clone(tolua_S,tolua_obj,tolua_collect_'.._collect[t]..'),"',t,'");')
21.198 + output('#else\n')
21.199 + output(' void* tolua_obj = tolua_copy(tolua_S,(void*)&tolua_ret,sizeof(',t,'));')
21.200 + output(' tolua_pushusertype(tolua_S,tolua_clone(tolua_S,tolua_obj,tolua_collect),"',t,'");')
21.201 + output('#endif\n')
21.202 + output(' }')
21.203 + elseif self.ptr == '&' then
21.204 + output(' tolua_pushusertype(tolua_S,(void*)&tolua_ret,"',t,'");')
21.205 + else
21.206 + output(' tolua_pushusertype(tolua_S,(void*)tolua_ret,"',t,'");')
21.207 + end
21.208 + end
21.209 + end
21.210 + local i=1
21.211 + while self.args[i] do
21.212 + nret = nret + self.args[i]:retvalue()
21.213 + i = i+1
21.214 + end
21.215 + output(' }')
21.216 +
21.217 + -- set array element values
21.218 + if class then narg=2 else narg=1 end
21.219 + if self.args[1].type ~= 'void' then
21.220 + local i=1
21.221 + while self.args[i] do
21.222 + self.args[i]:setarray(narg)
21.223 + narg = narg+1
21.224 + i = i+1
21.225 + end
21.226 + end
21.227 +
21.228 + -- free dynamically allocated array
21.229 + if self.args[1].type ~= 'void' then
21.230 + local i=1
21.231 + while self.args[i] do
21.232 + self.args[i]:freearray()
21.233 + i = i+1
21.234 + end
21.235 + end
21.236 + end
21.237 +
21.238 + output(' }')
21.239 + output(' return '..nret..';')
21.240 +
21.241 + -- call overloaded function or generate error
21.242 + if overload < 0 then
21.243 + output('#ifndef TOLUA_RELEASE\n')
21.244 + output('tolua_lerror:\n')
21.245 + output(' tolua_error(tolua_S,"#ferror in function \''..self.lname..'\'.",&tolua_err);')
21.246 + output(' return 0;')
21.247 + output('#endif\n')
21.248 + else
21.249 + output('tolua_lerror:\n')
21.250 + output(' return '..strsub(self.cname,1,-3)..format("%02d",overload)..'(tolua_S);')
21.251 + end
21.252 + output('}')
21.253 + output('\n')
21.254 +end
21.255 +
21.256 +
21.257 +-- register function
21.258 +function classFunction:register ()
21.259 + output(' tolua_function(tolua_S,"'..self.lname..'",'..self.cname..');')
21.260 +end
21.261 +
21.262 +-- Print method
21.263 +function classFunction:print (ident,close)
21.264 + print(ident.."Function{")
21.265 + print(ident.." mod = '"..self.mod.."',")
21.266 + print(ident.." type = '"..self.type.."',")
21.267 + print(ident.." ptr = '"..self.ptr.."',")
21.268 + print(ident.." name = '"..self.name.."',")
21.269 + print(ident.." lname = '"..self.lname.."',")
21.270 + print(ident.." const = '"..self.const.."',")
21.271 + print(ident.." cname = '"..self.cname.."',")
21.272 + print(ident.." lname = '"..self.lname.."',")
21.273 + print(ident.." args = {")
21.274 + local i=1
21.275 + while self.args[i] do
21.276 + self.args[i]:print(ident.." ",",")
21.277 + i = i+1
21.278 + end
21.279 + print(ident.." }")
21.280 + print(ident.."}"..close)
21.281 +end
21.282 +
21.283 +-- check if it returns a object by value
21.284 +function classFunction:requirecollection (t)
21.285 + local r = false
21.286 + if self.type ~= '' and not isbasic(self.type) and self.ptr=='' then
21.287 + t[self.type] = gsub(self.type,"::","_")
21.288 + r = true
21.289 + end
21.290 + local i=1
21.291 + while self.args[i] do
21.292 + r = self.args[i]:requirecollection(t) or r
21.293 + i = i+1
21.294 + end
21.295 + return r
21.296 +end
21.297 +
21.298 +-- determine lua function name overload
21.299 +function classFunction:overload ()
21.300 + return self.parent:overload(self.lname)
21.301 +end
21.302 +
21.303 +
21.304 +
21.305 +-- Internal constructor
21.306 +function _Function (t)
21.307 + setmetatable(t,classFunction)
21.308 +
21.309 + if t.const ~= 'const' and t.const ~= '' then
21.310 + error("#invalid 'const' specification")
21.311 + end
21.312 +
21.313 + append(t)
21.314 + if t:inclass() then
21.315 + if t.name == t.parent.name then
21.316 + t.name = 'new'
21.317 + t.lname = 'new'
21.318 + t.type = t.parent.name
21.319 + t.ptr = '*'
21.320 + elseif t.name == '~'..t.parent.name then
21.321 + t.name = 'delete'
21.322 + t.lname = 'delete'
21.323 + end
21.324 + end
21.325 + t.cname = t:cfuncname("tolua")..t:overload(t)
21.326 + return t
21.327 +end
21.328 +
21.329 +-- Constructor
21.330 +-- Expects three strings: one representing the function declaration,
21.331 +-- another representing the argument list, and the third representing
21.332 +-- the "const" or empty string.
21.333 +function Function (d,a,c)
21.334 + local t = split(strsub(a,2,-2),',') -- eliminate braces
21.335 + local i=1
21.336 + local l = {n=0}
21.337 + while t[i] do
21.338 + l.n = l.n+1
21.339 + l[l.n] = Declaration(t[i],'var')
21.340 + i = i+1
21.341 + end
21.342 + local f = Declaration(d,'func')
21.343 + f.args = l
21.344 + f.const = c
21.345 + return _Function(f)
21.346 +end
21.347 +
21.348 +
22.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
22.2 +++ b/source/tolua/src/bin/lua/module.lua Wed Nov 04 01:38:12 2009 +0000
22.3 @@ -0,0 +1,67 @@
22.4 +-- tolua: module class
22.5 +-- Written by Waldemar Celes
22.6 +-- TeCGraf/PUC-Rio
22.7 +-- Jul 1998
22.8 +-- $Id: $
22.9 +
22.10 +-- This code is free software; you can redistribute it and/or modify it.
22.11 +-- The software provided hereunder is on an "as is" basis, and
22.12 +-- the author has no obligation to provide maintenance, support, updates,
22.13 +-- enhancements, or modifications.
22.14 +
22.15 +
22.16 +
22.17 +-- Module class
22.18 +-- Represents module.
22.19 +-- The following fields are stored:
22.20 +-- {i} = list of objects in the module.
22.21 +classModule = {
22.22 + classtype = 'module'
22.23 +}
22.24 +classModule.__index = classModule
22.25 +setmetatable(classModule,classContainer)
22.26 +
22.27 +-- register module
22.28 +function classModule:register ()
22.29 + push(self)
22.30 + output(' tolua_module(tolua_S,"'..self.name..'",',self:hasvar(),');')
22.31 + output(' tolua_beginmodule(tolua_S,"'..self.name..'");')
22.32 + local i=1
22.33 + while self[i] do
22.34 + self[i]:register()
22.35 + i = i+1
22.36 + end
22.37 + output(' tolua_endmodule(tolua_S);')
22.38 + pop()
22.39 +end
22.40 +
22.41 +-- Print method
22.42 +function classModule:print (ident,close)
22.43 + print(ident.."Module{")
22.44 + print(ident.." name = '"..self.name.."';")
22.45 + local i=1
22.46 + while self[i] do
22.47 + self[i]:print(ident.." ",",")
22.48 + i = i+1
22.49 + end
22.50 + print(ident.."}"..close)
22.51 +end
22.52 +
22.53 +-- Internal constructor
22.54 +function _Module (t)
22.55 + setmetatable(t,classModule)
22.56 + append(t)
22.57 + return t
22.58 +end
22.59 +
22.60 +-- Constructor
22.61 +-- Expects two string representing the module name and body.
22.62 +function Module (n,b)
22.63 + local t = _Module(_Container{name=n})
22.64 + push(t)
22.65 + t:parse(strsub(b,2,strlen(b)-1)) -- eliminate braces
22.66 + pop()
22.67 + return t
22.68 +end
22.69 +
22.70 +
23.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
23.2 +++ b/source/tolua/src/bin/lua/namespace.lua Wed Nov 04 01:38:12 2009 +0000
23.3 @@ -0,0 +1,52 @@
23.4 +-- tolua: namespace class
23.5 +-- Written by Waldemar Celes
23.6 +-- TeCGraf/PUC-Rio
23.7 +-- Jul 2003
23.8 +-- $Id: $
23.9 +
23.10 +-- This code is free software; you can redistribute it and/or modify it.
23.11 +-- The software provided hereunder is on an "as is" basis, and
23.12 +-- the author has no obligation to provide maintenance, support, updates,
23.13 +-- enhancements, or modifications.
23.14 +
23.15 +
23.16 +-- Namespace class
23.17 +-- Represents a namesapce definition.
23.18 +-- Stores the following fields:
23.19 +-- name = class name
23.20 +-- {i} = list of members
23.21 +classNamespace = {
23.22 + classtype = 'namespace',
23.23 + name = '',
23.24 +}
23.25 +classNamespace.__index = classNamespace
23.26 +setmetatable(classNamespace,classModule)
23.27 +
23.28 +-- Print method
23.29 +function classNamespace:print (ident,close)
23.30 + print(ident.."Namespace{")
23.31 + print(ident.." name = '"..self.name.."',")
23.32 + local i=1
23.33 + while self[i] do
23.34 + self[i]:print(ident.." ",",")
23.35 + i = i+1
23.36 + end
23.37 + print(ident.."}"..close)
23.38 +end
23.39 +
23.40 +-- Internal constructor
23.41 +function _Namespace (t)
23.42 + setmetatable(t,classNamespace)
23.43 + append(t)
23.44 + return t
23.45 +end
23.46 +
23.47 +-- Constructor
23.48 +-- Expects the name and the body of the namespace.
23.49 +function Namespace (n,b)
23.50 + local c = _Namespace(_Container{name=n})
23.51 + push(c)
23.52 + c:parse(strsub(b,2,strlen(b)-1)) -- eliminate braces
23.53 + pop()
23.54 +end
23.55 +
24.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
24.2 +++ b/source/tolua/src/bin/lua/operator.lua Wed Nov 04 01:38:12 2009 +0000
24.3 @@ -0,0 +1,113 @@
24.4 +-- tolua: operator class
24.5 +-- Written by Waldemar Celes
24.6 +-- TeCGraf/PUC-Rio
24.7 +-- Jul 1998
24.8 +-- $Id: $
24.9 +
24.10 +-- This code is free software; you can redistribute it and/or modify it.
24.11 +-- The software provided hereunder is on an "as is" basis, and
24.12 +-- the author has no obligation to provide maintenance, support, updates,
24.13 +-- enhancements, or modifications.
24.14 +
24.15 +
24.16 +-- Operator class
24.17 +-- Represents an operator function or a class operator method.
24.18 +-- It stores the same fields as functions do plus:
24.19 +-- kind = set of character representing the operator (as it appers in C++ code)
24.20 +classOperator = {
24.21 + kind = '',
24.22 +}
24.23 +classOperator.__index = classOperator
24.24 +setmetatable(classOperator,classFunction)
24.25 +
24.26 +-- table to transform operator kind into the appropriate tag method name
24.27 +_TM = {['+'] = 'add',
24.28 + ['-'] = 'sub',
24.29 + ['*'] = 'mul',
24.30 + ['/'] = 'div',
24.31 + ['<'] = 'lt',
24.32 + ['<='] = 'le',
24.33 + ['=='] = 'eq',
24.34 + ['[]'] = 'geti',
24.35 + ['&[]'] = 'seti',
24.36 + }
24.37 +
24.38 +
24.39 +-- Print method
24.40 +function classOperator:print (ident,close)
24.41 + print(ident.."Operator{")
24.42 + print(ident.." kind = '"..self.kind.."',")
24.43 + print(ident.." mod = '"..self.mod.."',")
24.44 + print(ident.." type = '"..self.type.."',")
24.45 + print(ident.." ptr = '"..self.ptr.."',")
24.46 + print(ident.." name = '"..self.name.."',")
24.47 + print(ident.." const = '"..self.const.."',")
24.48 + print(ident.." cname = '"..self.cname.."',")
24.49 + print(ident.." lname = '"..self.lname.."',")
24.50 + print(ident.." args = {")
24.51 + local i=1
24.52 + while self.args[i] do
24.53 + self.args[i]:print(ident.." ",",")
24.54 + i = i+1
24.55 + end
24.56 + print(ident.." }")
24.57 + print(ident.."}"..close)
24.58 +end
24.59 +
24.60 +-- Internal constructor
24.61 +function _Operator (t)
24.62 + setmetatable(t,classOperator)
24.63 +
24.64 + if t.const ~= 'const' and t.const ~= '' then
24.65 + error("#invalid 'const' specification")
24.66 + end
24.67 +
24.68 + append(t)
24.69 + if not t:inclass() then
24.70 + error("#operator can only be defined as class member")
24.71 + end
24.72 +
24.73 + t.name = t.name .. "_" .. _TM[t.kind]
24.74 + t.cname = t:cfuncname("tolua")..t:overload(t)
24.75 + t.name = "operator" .. t.kind -- set appropriate calling name
24.76 + return t
24.77 +end
24.78 +
24.79 +-- Constructor
24.80 +function Operator (d,k,a,c)
24.81 + local ref = ''
24.82 + local t = split(strsub(a,2,strlen(a)-1),',') -- eliminate braces
24.83 + local i=1
24.84 + local l = {n=0}
24.85 + while t[i] do
24.86 + l.n = l.n+1
24.87 + l[l.n] = Declaration(t[i],'var')
24.88 + i = i+1
24.89 + end
24.90 + if k == '[]' then
24.91 + local _
24.92 + _, _, ref = strfind(d,'(&)')
24.93 + d = gsub(d,'&','')
24.94 + elseif k=='&[]' then
24.95 + l.n = l.n+1
24.96 + l[l.n] = Declaration(d,'var')
24.97 + l[l.n].name = 'tolua_value'
24.98 + end
24.99 + local f = Declaration(d,'func')
24.100 + if k == '[]' and (l[1]==nil or isbasic(l[1].type)~='number') then
24.101 + error('operator[] can only be defined for numeric index.')
24.102 + end
24.103 + f.args = l
24.104 + f.const = c
24.105 + f.kind = gsub(k,"%s","")
24.106 + if not _TM[f.kind] then
24.107 + error("tolua: no support for operator" .. f.kind)
24.108 + end
24.109 + f.lname = ".".._TM[f.kind]
24.110 + if f.kind == '[]' and ref=='&' and f.const~='const' then
24.111 + Operator(d,'&'..k,a,c) -- create correspoding set operator
24.112 + end
24.113 + return _Operator(f)
24.114 +end
24.115 +
24.116 +
25.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
25.2 +++ b/source/tolua/src/bin/lua/package.lua Wed Nov 04 01:38:12 2009 +0000
25.3 @@ -0,0 +1,278 @@
25.4 +-- tolua: package class
25.5 +-- Written by Waldemar Celes
25.6 +-- TeCGraf/PUC-Rio
25.7 +-- Jul 1998
25.8 +-- $Id: $
25.9 +
25.10 +-- This code is free software; you can redistribute it and/or modify it.
25.11 +-- The software provided hereunder is on an "as is" basis, and
25.12 +-- the author has no obligation to provide maintenance, support, updates,
25.13 +-- enhancements, or modifications.
25.14 +
25.15 +
25.16 +
25.17 +-- Package class
25.18 +-- Represents the whole package being bound.
25.19 +-- The following fields are stored:
25.20 +-- {i} = list of objects in the package.
25.21 +classPackage = {
25.22 + classtype = 'package'
25.23 +}
25.24 +classPackage.__index = classPackage
25.25 +setmetatable(classPackage,classContainer)
25.26 +
25.27 +-- Print method
25.28 +function classPackage:print ()
25.29 + print("Package: "..self.name)
25.30 + local i=1
25.31 + while self[i] do
25.32 + self[i]:print("","")
25.33 + i = i+1
25.34 + end
25.35 +end
25.36 +
25.37 +function classPackage:preprocess ()
25.38 + -- avoid preprocessing embedded Lua code
25.39 + local L = {}
25.40 + self.code = gsub(self.code,"\n%s*%$%[","\1") -- deal with embedded C code
25.41 + self.code = gsub(self.code,"\n%s*%$%]","\2")
25.42 + self.code = gsub(self.code,"(%b\1\2)", function (c)
25.43 + tinsert(L,c)
25.44 + return "\n#["..getn(L).."]#"
25.45 + end)
25.46 + -- avoid preprocessing embedded C code
25.47 + local C = {}
25.48 + self.code = gsub(self.code,"\n%s*%$%<","\3") -- deal with embedded C code
25.49 + self.code = gsub(self.code,"\n%s*%$%>","\4")
25.50 + self.code = gsub(self.code,"(%b\3\4)", function (c)
25.51 + tinsert(C,c)
25.52 + return "\n#<"..getn(C)..">#"
25.53 + end)
25.54 +
25.55 + -- avoid preprocessing verbatim lines
25.56 + local V = {}
25.57 + self.code = gsub(self.code,"\n(%s*%$[^%[%]][^\n]*)",function (v)
25.58 + tinsert(V,v)
25.59 + return "\n#"..getn(V).."#"
25.60 + end)
25.61 + -- perform global substitution
25.62 +
25.63 + self.code = gsub(self.code,"(//[^\n]*)","") -- eliminate C++ comments
25.64 + self.code = gsub(self.code,"/%*","\1")
25.65 + self.code = gsub(self.code,"%*/","\2")
25.66 + self.code = gsub(self.code,"%b\1\2","")
25.67 + self.code = gsub(self.code,"\1","/%*")
25.68 + self.code = gsub(self.code,"\2","%*/")
25.69 + self.code = gsub(self.code,"%s*@%s*","@") -- eliminate spaces beside @
25.70 + self.code = gsub(self.code,"%s?inline(%s)","%1") -- eliminate 'inline' keyword
25.71 + self.code = gsub(self.code,"%s?extern(%s)","%1") -- eliminate 'extern' keyword
25.72 + self.code = gsub(self.code,"%s?virtual(%s)","%1") -- eliminate 'virtual' keyword
25.73 + self.code = gsub(self.code,"public:","") -- eliminate 'public:' keyword
25.74 + self.code = gsub(self.code,"([^%w_])void%s*%*","%1_userdata ") -- substitute 'void*'
25.75 + self.code = gsub(self.code,"([^%w_])void%s*%*","%1_userdata ") -- substitute 'void*'
25.76 + self.code = gsub(self.code,"([^%w_])char%s*%*","%1_cstring ") -- substitute 'char*'
25.77 +
25.78 + -- restore embedded code
25.79 + self.code = gsub(self.code,"%#%[(%d+)%]%#",function (n)
25.80 + return L[tonumber(n)]
25.81 + end)
25.82 + -- restore embedded code
25.83 + self.code = gsub(self.code,"%#%<(%d+)%>%#",function (n)
25.84 + return C[tonumber(n)]
25.85 + end)
25.86 + -- restore verbatim lines
25.87 + self.code = gsub(self.code,"%#(%d+)%#",function (n)
25.88 + return V[tonumber(n)]
25.89 + end)
25.90 +end
25.91 +
25.92 +-- translate verbatim
25.93 +function classPackage:preamble ()
25.94 + output('/*\n')
25.95 + output('** Lua binding: '..self.name..'\n')
25.96 + output('** Generated automatically by '..TOLUA_VERSION..' on '..date()..'.\n')
25.97 + output('*/\n\n')
25.98 +
25.99 + output('#ifndef __cplusplus\n')
25.100 + output('#include "stdlib.h"\n')
25.101 + output('#endif\n')
25.102 + output('#include "string.h"\n\n')
25.103 + output('#include "tolua.h"\n\n')
25.104 +
25.105 + if not flags.h then
25.106 + output('/* Exported function */')
25.107 + output('TOLUA_API int tolua_'..self.name..'_open (lua_State* tolua_S);')
25.108 + output('LUALIB_API int luaopen_'..self.name..' (lua_State* tolua_S);')
25.109 + output('\n')
25.110 + end
25.111 +
25.112 + local i=1
25.113 + while self[i] do
25.114 + self[i]:preamble()
25.115 + i = i+1
25.116 + end
25.117 +
25.118 +
25.119 +
25.120 + if self:requirecollection(_collect) then
25.121 + output('\n')
25.122 + output('/* function to release collected object */')
25.123 + output('#ifdef __cplusplus\n')
25.124 + for i,v in pairs(_collect) do
25.125 + output('static int tolua_collect_'..v..' (lua_State* tolua_S)')
25.126 + output('{')
25.127 + output(' '..i..'* self = ('..i..'*) tolua_tousertype(tolua_S,1,0);')
25.128 + output(' delete self;')
25.129 + output(' return 0;')
25.130 + output('}\n')
25.131 + end
25.132 + output('#else\nstatic int tolua_collect (lua_State* tolua_S)')
25.133 + output('{')
25.134 + output(' void* self = tolua_tousertype(tolua_S,1,0);')
25.135 + output(' free(self);')
25.136 + output(' return 0;')
25.137 + output('}')
25.138 + output('#endif\n\n')
25.139 + end
25.140 +
25.141 + output('\n')
25.142 + output('/* function to register type */')
25.143 + output('static void tolua_reg_types (lua_State* tolua_S)')
25.144 + output('{')
25.145 + foreach(_usertype,function(n,v) output(' tolua_usertype(tolua_S,"',v,'");') end)
25.146 + output('}')
25.147 + output('\n')
25.148 +end
25.149 +
25.150 +-- register package
25.151 +-- write package open function
25.152 +function classPackage:register ()
25.153 + push(self)
25.154 +
25.155 + output("/* Open lib function */")
25.156 + output('LUALIB_API int luaopen_'..self.name..' (lua_State* tolua_S)')
25.157 + output("{")
25.158 + output(" tolua_open(tolua_S);")
25.159 + output(" tolua_reg_types(tolua_S);")
25.160 + output(" tolua_module(tolua_S,NULL,",self:hasvar(),");")
25.161 + output(" tolua_beginmodule(tolua_S,NULL);")
25.162 + local i=1
25.163 + while self[i] do
25.164 + self[i]:register()
25.165 + i = i+1
25.166 + end
25.167 + output(" tolua_endmodule(tolua_S);")
25.168 + output(" return 1;")
25.169 + output("}")
25.170 +
25.171 + output("/* Open tolua function */")
25.172 + output("TOLUA_API int tolua_"..self.name.."_open (lua_State* tolua_S)")
25.173 + output("{")
25.174 + output(" lua_pushcfunction(tolua_S, luaopen_"..self.name..");")
25.175 + output(' lua_pushstring(tolua_S, "'..self.name..'");')
25.176 + output(" lua_call(tolua_S, 1, 0);")
25.177 + output(" return 1;")
25.178 + output("}")
25.179 +
25.180 + pop()
25.181 +end
25.182 +
25.183 +-- write header file
25.184 +function classPackage:header ()
25.185 + output('/*\n') output('** Lua binding: '..self.name..'\n')
25.186 + output('** Generated automatically by '..TOLUA_VERSION..' on '..date()..'.\n')
25.187 + output('*/\n\n')
25.188 +
25.189 + if not flags.h then
25.190 + output('/* Exported function */')
25.191 + output('TOLUA_API int tolua_'..self.name..'_open (lua_State* tolua_S);')
25.192 + output('LUALIB_API int luaopen_'..self.name..' (lua_State* tolua_S);')
25.193 + output('\n')
25.194 + end
25.195 +end
25.196 +
25.197 +-- Internal constructor
25.198 +function _Package (self)
25.199 + setmetatable(self,classPackage)
25.200 + return self
25.201 +end
25.202 +
25.203 +-- Parse C header file with tolua directives
25.204 +-- *** Thanks to Ariel Manzur for fixing bugs in nested directives ***
25.205 +function extract_code(fn,s)
25.206 + local code = '\n$#include "'..fn..'"\n'
25.207 + s= "\n" .. s .. "\n" -- add blank lines as sentinels
25.208 + local _,e,c,t = strfind(s, "\n([^\n]-)[Tt][Oo][Ll][Uu][Aa]_([^%s]*)[^\n]*\n")
25.209 + while e do
25.210 + t = strlower(t)
25.211 + if t == "begin" then
25.212 + _,e,c = strfind(s,"(.-)\n[^\n]*[Tt][Oo][Ll][Uu][Aa]_[Ee][Nn][Dd][^\n]*\n",e)
25.213 + if not e then
25.214 + tolua_error("Unbalanced 'tolua_begin' directive in header file")
25.215 + end
25.216 + end
25.217 + code = code .. c .. "\n"
25.218 + _,e,c,t = strfind(s, "\n([^\n]-)[Tt][Oo][Ll][Uu][Aa]_([^%s]*)[^\n]*\n",e)
25.219 + end
25.220 + return code
25.221 +end
25.222 +
25.223 +-- Constructor
25.224 +-- Expects the package name, the file extension, and the file text.
25.225 +function Package (name,fn)
25.226 + local ext = "pkg"
25.227 +
25.228 + -- open input file, if any
25.229 + if fn then
25.230 + local st, msg = readfrom(flags.f)
25.231 + if not st then
25.232 + error('#'..msg)
25.233 + end
25.234 + local _; _, _, ext = strfind(fn,".*%.(.*)$")
25.235 + end
25.236 + local code = "\n" .. read('*a')
25.237 + if ext == 'h' or ext == 'hpp' then
25.238 + code = extract_code(fn,code)
25.239 + end
25.240 +
25.241 + -- close file
25.242 + if fn then
25.243 + readfrom()
25.244 + end
25.245 +
25.246 + -- deal with renaming directive
25.247 + code = gsub(code,'\n%s*%$renaming%s*(.-)%s*\n', function (r) appendrenaming(r) return "\n" end)
25.248 +
25.249 + -- deal with include directive
25.250 + local nsubst
25.251 + repeat
25.252 + code,nsubst = gsub(code,'\n%s*%$(.)file%s*"(.-)"%s*\n',
25.253 + function (kind,fn)
25.254 + local _, _, ext = strfind(fn,".*%.(.*)$")
25.255 + local fp,msg = openfile(fn,'r')
25.256 + if not fp then
25.257 + error('#'..msg..': '..fn)
25.258 + end
25.259 + local s = read(fp,'*a')
25.260 + closefile(fp)
25.261 + if kind == 'c' or kind == 'h' then
25.262 + return extract_code(fn,s)
25.263 + elseif kind == 'p' then
25.264 + return "\n\n" .. s
25.265 + elseif kind == 'l' then
25.266 + return "\n$[\n" .. s .. "\n$]\n"
25.267 + else
25.268 + error('#Invalid include directive (use $cfile, $pfile or $lfile)')
25.269 + end
25.270 + end)
25.271 + until nsubst==0
25.272 +
25.273 + local t = _Package(_Container{name=name, code=code})
25.274 + push(t)
25.275 + t:preprocess()
25.276 + t:parse(t.code)
25.277 + pop()
25.278 + return t
25.279 +end
25.280 +
25.281 +
26.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
26.2 +++ b/source/tolua/src/bin/lua/typedef.lua Wed Nov 04 01:38:12 2009 +0000
26.3 @@ -0,0 +1,64 @@
26.4 +-- tolua: typedef class
26.5 +-- Written by Waldemar Celes
26.6 +-- TeCGraf/PUC-Rio
26.7 +-- Jul 1998
26.8 +-- $Id: $
26.9 +
26.10 +-- This code is free software; you can redistribute it and/or modify it.
26.11 +-- The software provided hereunder is on an "as is" basis, and
26.12 +-- the author has no obligation to provide maintenance, support, updates,
26.13 +-- enhancements, or modifications.
26.14 +
26.15 +
26.16 +
26.17 +-- Typedef class
26.18 +-- Represents a type synonym.
26.19 +-- The 'de facto' type replaces the typedef before the
26.20 +-- remaining code is parsed.
26.21 +-- The following fields are stored:
26.22 +-- utype = typedef name
26.23 +-- type = 'the facto' type
26.24 +-- mod = modifiers to the 'de facto' type
26.25 +classTypedef = {
26.26 + utype = '',
26.27 + mod = '',
26.28 + type = ''
26.29 +}
26.30 +classTypedef.__index = classTypedef
26.31 +
26.32 +-- Print method
26.33 +function classTypedef:print (ident,close)
26.34 + print(ident.."Typedef{")
26.35 + print(ident.." utype = '"..self.utype.."',")
26.36 + print(ident.." mod = '"..self.mod.."',")
26.37 + print(ident.." type = '"..self.type.."',")
26.38 + print(ident.."}"..close)
26.39 +end
26.40 +
26.41 +-- Return it's not a variable
26.42 +function classTypedef:isvariable ()
26.43 + return false
26.44 +end
26.45 +
26.46 +-- Internal constructor
26.47 +function _Typedef (t)
26.48 + setmetatable(t,classTypedef)
26.49 + appendtypedef(t)
26.50 + return t
26.51 +end
26.52 +
26.53 +-- Constructor
26.54 +-- Expects one string representing the type definition.
26.55 +function Typedef (s)
26.56 + if strfind(s,'[%*&]') then
26.57 + tolua_error("#invalid typedef: pointers (and references) are not supported")
26.58 + end
26.59 + local t = split(gsub(s,"%s%s*"," ")," ")
26.60 + return _Typedef {
26.61 + utype = t[t.n],
26.62 + type = t[t.n-1],
26.63 + mod = concat(t,1,t.n-2),
26.64 + }
26.65 +end
26.66 +
26.67 +
27.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
27.2 +++ b/source/tolua/src/bin/lua/variable.lua Wed Nov 04 01:38:12 2009 +0000
27.3 @@ -0,0 +1,242 @@
27.4 +-- tolua: variable class
27.5 +-- Written by Waldemar Celes
27.6 +-- TeCGraf/PUC-Rio
27.7 +-- Jul 1998
27.8 +-- $Id: $
27.9 +
27.10 +-- This code is free software; you can redistribute it and/or modify it.
27.11 +-- The software provided hereunder is on an "as is" basis, and
27.12 +-- the author has no obligation to provide maintenance, support, updates,
27.13 +-- enhancements, or modifications.
27.14 +
27.15 +
27.16 +-- Variable class
27.17 +-- Represents a extern variable or a public member of a class.
27.18 +-- Stores all fields present in a declaration.
27.19 +classVariable = {
27.20 + _get = {}, -- mapped get functions
27.21 + _set = {}, -- mapped set functions
27.22 +}
27.23 +classVariable.__index = classVariable
27.24 +setmetatable(classVariable,classDeclaration)
27.25 +
27.26 +-- Print method
27.27 +function classVariable:print (ident,close)
27.28 + print(ident.."Variable{")
27.29 + print(ident.." mod = '"..self.mod.."',")
27.30 + print(ident.." type = '"..self.type.."',")
27.31 + print(ident.." ptr = '"..self.ptr.."',")
27.32 + print(ident.." name = '"..self.name.."',")
27.33 + if self.dim then print(ident.." dim = '"..self.dim.."',") end
27.34 + print(ident.." def = '"..self.def.."',")
27.35 + print(ident.." ret = '"..self.ret.."',")
27.36 + print(ident.."}"..close)
27.37 +end
27.38 +
27.39 +-- Generates C function name
27.40 +function classVariable:cfuncname (prefix)
27.41 + local parent = ""
27.42 + local unsigned = ""
27.43 + local ptr = ""
27.44 +
27.45 + local p = self:inmodule() or self:innamespace() or self:inclass()
27.46 +
27.47 + if p then
27.48 + parent = "_" .. p
27.49 + end
27.50 +
27.51 + if strfind(self.mod,"(unsigned)") then
27.52 + unsigned = "_unsigned"
27.53 + end
27.54 +
27.55 + if self.ptr == "*" then ptr = "_ptr"
27.56 + elseif self.ptr == "&" then ptr = "_ref"
27.57 + end
27.58 +
27.59 + local name = prefix .. parent .. unsigned .. "_" .. gsub(self.name,".*::","") .. ptr
27.60 +
27.61 + return name
27.62 +
27.63 +end
27.64 +
27.65 +-- check if it is a variable
27.66 +function classVariable:isvariable ()
27.67 + return true
27.68 +end
27.69 +
27.70 +-- get variable value
27.71 +function classVariable:getvalue (class,static)
27.72 + if class and static then
27.73 + return class..'::'..self.name
27.74 + elseif class then
27.75 + return 'self->'..self.name
27.76 + else
27.77 + return self.name
27.78 + end
27.79 +end
27.80 +
27.81 +-- get variable pointer value
27.82 +function classVariable:getpointervalue (class,static)
27.83 + if class and static then
27.84 + return class..'::p'
27.85 + elseif class then
27.86 + return 'self->p'
27.87 + else
27.88 + return 'p'
27.89 + end
27.90 +end
27.91 +
27.92 +-- Write binding functions
27.93 +function classVariable:supcode ()
27.94 + local class = self:inclass()
27.95 +
27.96 + -- get function ------------------------------------------------
27.97 + if class then
27.98 + output("/* get function:",self.name," of class ",class," */")
27.99 + else
27.100 + output("/* get function:",self.name," */")
27.101 + end
27.102 + self.cgetname = self:cfuncname("tolua_get")
27.103 + output("static int",self.cgetname,"(lua_State* tolua_S)")
27.104 + output("{")
27.105 +
27.106 + -- declare self, if the case
27.107 + local _,_,static = strfind(self.mod,'^%s*(static)')
27.108 + if class and static==nil then
27.109 + output(' ',class,'*','self = ')
27.110 + output('(',class,'*) ')
27.111 + output('tolua_tousertype(tolua_S,1,0);')
27.112 + elseif static then
27.113 + _,_,self.mod = strfind(self.mod,'^%s*static%s%s*(.*)')
27.114 + end
27.115 +
27.116 +
27.117 + -- check self value
27.118 + if class and static==nil then
27.119 + output('#ifndef TOLUA_RELEASE\n')
27.120 + output(' if (!self) tolua_error(tolua_S,"invalid \'self\' in accessing variable \''..self.name..'\'",NULL);');
27.121 + output('#endif\n')
27.122 + end
27.123 +
27.124 + -- return value
27.125 + local t,ct = isbasic(self.type)
27.126 + if t then
27.127 + output(' tolua_push'..t..'(tolua_S,(',ct,')'..self:getvalue(class,static)..');')
27.128 + else
27.129 + t = self.type
27.130 + if self.ptr == '&' or self.ptr == '' then
27.131 + output(' tolua_pushusertype(tolua_S,(void*)&'..self:getvalue(class,static)..',"',t,'");')
27.132 + else
27.133 + output(' tolua_pushusertype(tolua_S,(void*)'..self:getvalue(class,static)..',"',t,'");')
27.134 + end
27.135 + end
27.136 + output(' return 1;')
27.137 + output('}')
27.138 + output('\n')
27.139 +
27.140 + -- set function ------------------------------------------------
27.141 + if not strfind(self.type,'const') then
27.142 + if class then
27.143 + output("/* set function:",self.name," of class ",class," */")
27.144 + else
27.145 + output("/* set function:",self.name," */")
27.146 + end
27.147 + self.csetname = self:cfuncname("tolua_set")
27.148 + output("static int",self.csetname,"(lua_State* tolua_S)")
27.149 + output("{")
27.150 +
27.151 + -- declare self, if the case
27.152 + if class and static==nil then
27.153 + output(' ',class,'*','self = ')
27.154 + output('(',class,'*) ')
27.155 + output('tolua_tousertype(tolua_S,1,0);')
27.156 + -- check self value
27.157 + end
27.158 + -- check types
27.159 + output('#ifndef TOLUA_RELEASE\n')
27.160 + output(' tolua_Error tolua_err;')
27.161 + if class and static==nil then
27.162 + output(' if (!self) tolua_error(tolua_S,"invalid \'self\' in accessing variable \''..self.name..'\'",NULL);');
27.163 + elseif static then
27.164 + _,_,self.mod = strfind(self.mod,'^%s*static%s%s*(.*)')
27.165 + end
27.166 +
27.167 + -- check variable type
27.168 + output(' if (!'..self:outchecktype(2)..')')
27.169 + output(' tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);')
27.170 + output('#endif\n')
27.171 +
27.172 + -- assign value
27.173 + local def = 0
27.174 + if self.def ~= '' then def = self.def end
27.175 + if self.type == 'char*' and self.dim ~= '' then -- is string
27.176 + output(' strncpy(')
27.177 + if class and static then
27.178 + output(class..'::'..self.name)
27.179 + elseif class then
27.180 + output('self->'..self.name)
27.181 + else
27.182 + output(self.name)
27.183 + end
27.184 + output(',tolua_tostring(tolua_S,2,',def,'),',self.dim,'-1);')
27.185 + else
27.186 + local ptr = ''
27.187 + if self.ptr~='' then ptr = '*' end
27.188 + output(' ')
27.189 + if class and static then
27.190 + output(class..'::'..self.name)
27.191 + elseif class then
27.192 + output('self->'..self.name)
27.193 + else
27.194 + output(self.name)
27.195 + end
27.196 + local t = isbasic(self.type)
27.197 + output(' = ')
27.198 + if not t and ptr=='' then output('*') end
27.199 + output('((',self.mod,self.type)
27.200 + if not t then
27.201 + output('*')
27.202 + end
27.203 + output(') ')
27.204 + if t then
27.205 + output('tolua_to'..t,'(tolua_S,2,',def,'));')
27.206 + else
27.207 + output('tolua_tousertype(tolua_S,2,',def,'));')
27.208 + end
27.209 + end
27.210 + output(' return 0;')
27.211 + output('}')
27.212 + output('\n')
27.213 + end
27.214 +
27.215 +end
27.216 +
27.217 +function classVariable:register ()
27.218 + local parent = self:inmodule() or self:innamespace() or self:inclass()
27.219 + if not parent then
27.220 + if classVariable._warning==nil then
27.221 + warning("Mapping variable to global may degrade performance")
27.222 + classVariable._warning = 1
27.223 + end
27.224 + end
27.225 + if self.csetname then
27.226 + output(' tolua_variable(tolua_S,"'..self.lname..'",'..self.cgetname..','..self.csetname..');')
27.227 + else
27.228 + output(' tolua_variable(tolua_S,"'..self.lname..'",'..self.cgetname..',NULL);')
27.229 + end
27.230 +end
27.231 +
27.232 +-- Internal constructor
27.233 +function _Variable (t)
27.234 + setmetatable(t,classVariable)
27.235 + append(t)
27.236 + return t
27.237 +end
27.238 +
27.239 +-- Constructor
27.240 +-- Expects a string representing the variable declaration.
27.241 +function Variable (s)
27.242 + return _Variable (Declaration(s,'var'))
27.243 +end
27.244 +
27.245 +
28.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
28.2 +++ b/source/tolua/src/bin/lua/verbatim.lua Wed Nov 04 01:38:12 2009 +0000
28.3 @@ -0,0 +1,76 @@
28.4 +-- tolua: verbatim class
28.5 +-- Written by Waldemar Celes
28.6 +-- TeCGraf/PUC-Rio
28.7 +-- Jul 1998
28.8 +-- $Id: verbatim.lua,v 1.3 2000/01/24 20:41:16 celes Exp $
28.9 +
28.10 +-- This code is free software; you can redistribute it and/or modify it.
28.11 +-- The software provided hereunder is on an "as is" basis, and
28.12 +-- the author has no obligation to provide maintenance, support, updates,
28.13 +-- enhancements, or modifications.
28.14 +
28.15 +
28.16 +
28.17 +-- Verbatim class
28.18 +-- Represents a line translated directed to the binding file.
28.19 +-- The following filds are stored:
28.20 +-- line = line text
28.21 +classVerbatim = {
28.22 + line = '',
28.23 + cond = nil, -- condition: where to generate the code (s=suport, r=register)
28.24 +}
28.25 +classVerbatim.__index = classVerbatim
28.26 +setmetatable(classVerbatim,classFeature)
28.27 +
28.28 +-- preamble verbatim
28.29 +function classVerbatim:preamble ()
28.30 + if self.cond == '' then
28.31 + write(self.line)
28.32 + end
28.33 +end
28.34 +
28.35 +-- support code
28.36 +function classVerbatim:supcode ()
28.37 + if strfind(self.cond,'s') then
28.38 + write(self.line)
28.39 + write('\n')
28.40 + end
28.41 +end
28.42 +
28.43 +-- register code
28.44 +function classVerbatim:register ()
28.45 + if strfind(self.cond,'r') then
28.46 + write(self.line)
28.47 + end
28.48 +end
28.49 +
28.50 +
28.51 +-- Print method
28.52 +function classVerbatim:print (ident,close)
28.53 + print(ident.."Verbatim{")
28.54 + print(ident.." line = '"..self.line.."',")
28.55 + print(ident.."}"..close)
28.56 +end
28.57 +
28.58 +
28.59 +-- Internal constructor
28.60 +function _Verbatim (t)
28.61 + setmetatable(t,classVerbatim)
28.62 + append(t)
28.63 + return t
28.64 +end
28.65 +
28.66 +-- Constructor
28.67 +-- Expects a string representing the text line
28.68 +function Verbatim (l,cond)
28.69 + if strsub(l,1,1) == '$' then
28.70 + cond = 'sr' -- generates in both suport and register fragments
28.71 + l = strsub(l,2)
28.72 + end
28.73 + return _Verbatim {
28.74 + line = l,
28.75 + cond = cond or '',
28.76 + }
28.77 +end
28.78 +
28.79 +
29.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
29.2 +++ b/source/tolua/src/bin/tolua.c Wed Nov 04 01:38:12 2009 +0000
29.3 @@ -0,0 +1,127 @@
29.4 +/* tolua
29.5 +** Support code for Lua bindings.
29.6 +** Written by Waldemar Celes
29.7 +** TeCGraf/PUC-Rio
29.8 +** Aug 2003
29.9 +** $Id:$
29.10 +*/
29.11 +
29.12 +/* This code is free software; you can redistribute it and/or modify it.
29.13 +** The software provided hereunder is on an "as is" basis, and
29.14 +** the author has no obligation to provide maintenance, support, updates,
29.15 +** enhancements, or modifications.
29.16 +*/
29.17 +
29.18 +#include "tolua.h"
29.19 +
29.20 +#include "lua.h"
29.21 +#include "lualib.h"
29.22 +#include "lauxlib.h"
29.23 +
29.24 +#include <stdio.h>
29.25 +#include <stdlib.h>
29.26 +#include <string.h>
29.27 +
29.28 +
29.29 +static void help (void)
29.30 +{
29.31 + fprintf(stderr,"\n"
29.32 + "usage: tolua [options] input_file\n"
29.33 + "\n"
29.34 + "Command line options are:\n"
29.35 + " -v : print version information.\n"
29.36 + " -o file : set output file; default is stdout.\n"
29.37 + " -H file : create include file.\n"
29.38 + " -n name : set package name; default is input file root name.\n"
29.39 + " -p : parse only.\n"
29.40 + " -P : parse and print structure information (for debug).\n"
29.41 + " -h : print this message.\n"
29.42 + "Should the input file be omitted, stdin is assumed;\n"
29.43 + "in that case, the package name must be explicitly set.\n\n"
29.44 + );
29.45 +}
29.46 +
29.47 +static void version (void)
29.48 +{
29.49 + fprintf(stderr, "%s (written by W. Celes)\n",TOLUA_VERSION);
29.50 +}
29.51 +
29.52 +static void setfield (lua_State* L, int table, char* f, char* v)
29.53 +{
29.54 + lua_pushstring(L,f);
29.55 + lua_pushstring(L,v);
29.56 + lua_settable(L,table);
29.57 +}
29.58 +
29.59 +static void error (char* o)
29.60 +{
29.61 + fprintf(stderr,"tolua: unknown option '%s'\n",o);
29.62 + help();
29.63 + exit(1);
29.64 +}
29.65 +
29.66 +int main (int argc, char* argv[])
29.67 +{
29.68 + lua_State* L = lua_open();
29.69 + luaL_openlibs(L);
29.70 +
29.71 + lua_pushstring(L,TOLUA_VERSION); lua_setglobal(L,"TOLUA_VERSION");
29.72 +
29.73 + if (argc==1)
29.74 + {
29.75 + help();
29.76 + return 0;
29.77 + }
29.78 + else
29.79 + {
29.80 + int i, t;
29.81 + lua_newtable(L);
29.82 + lua_pushvalue(L,-1);
29.83 + lua_setglobal(L,"flags");
29.84 + t = lua_gettop(L);
29.85 + for (i=1; i<argc; ++i)
29.86 + {
29.87 + if (*argv[i] == '-')
29.88 + {
29.89 + switch (argv[i][1])
29.90 + {
29.91 + case 'v': version(); return 0;
29.92 + case 'h': help(); return 0;
29.93 + case 'p': setfield(L,t,"p",""); break;
29.94 + case 'P': setfield(L,t,"P",""); break;
29.95 + case 'o': setfield(L,t,"o",argv[++i]); break;
29.96 + case 'n': setfield(L,t,"n",argv[++i]); break;
29.97 + case 'H': setfield(L,t,"H",argv[++i]); break;
29.98 + default: error(argv[i]); break;
29.99 + }
29.100 + }
29.101 + else
29.102 + {
29.103 + setfield(L,t,"f",argv[i]);
29.104 + break;
29.105 + }
29.106 + }
29.107 + lua_pop(L,1);
29.108 + }
29.109 +
29.110 +#if 1
29.111 + {
29.112 + int tolua_tolua_open (lua_State* L);
29.113 + tolua_tolua_open(L);
29.114 + }
29.115 +#else
29.116 + {
29.117 + char* p;
29.118 + char path[BUFSIZ];
29.119 + strcpy(path,argv[0]);
29.120 + p = strrchr(path,'/');
29.121 + if (p==NULL) p = strrchr(path,'\\');
29.122 + p = (p==NULL) ? path : p+1;
29.123 + sprintf(p,"%s","../src/bin/lua/");
29.124 + lua_pushstring(L,path); lua_setglobal(L,"path");
29.125 + strcat(path,"all.lua");
29.126 + luaL_dofile(L,path);
29.127 + }
29.128 +#endif
29.129 + return 0;
29.130 +}
30.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
30.2 +++ b/source/tolua/src/bin/tolua.pkg Wed Nov 04 01:38:12 2009 +0000
30.3 @@ -0,0 +1,28 @@
30.4 +$lfile "lua/compat.lua"
30.5 +$lfile "lua/basic.lua"
30.6 +$lfile "lua/feature.lua"
30.7 +$lfile "lua/verbatim.lua"
30.8 +$lfile "lua/code.lua"
30.9 +$lfile "lua/typedef.lua"
30.10 +$lfile "lua/container.lua"
30.11 +$lfile "lua/package.lua"
30.12 +$lfile "lua/module.lua"
30.13 +$lfile "lua/namespace.lua"
30.14 +$lfile "lua/define.lua"
30.15 +$lfile "lua/enumerate.lua"
30.16 +$lfile "lua/declaration.lua"
30.17 +$lfile "lua/variable.lua"
30.18 +$lfile "lua/array.lua"
30.19 +$lfile "lua/function.lua"
30.20 +$lfile "lua/operator.lua"
30.21 +$lfile "lua/class.lua"
30.22 +$lfile "lua/clean.lua"
30.23 +$lfile "lua/doit.lua"
30.24 +
30.25 +$[
30.26 +local err,msg = pcall(doit)
30.27 +if not err then
30.28 + local _,_,label,msg = strfind(msg,"(.-:.-:%s*)(.*)")
30.29 + tolua_error(msg,label)
30.30 +end
30.31 +$]
31.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
31.2 +++ b/source/tolua/src/bin/toluabind.c Wed Nov 04 01:38:12 2009 +0000
31.3 @@ -0,0 +1,4028 @@
31.4 +/*
31.5 +** Lua binding: tolua
31.6 +** Generated automatically by tolua 5.1b on Wed Dec 19 18:36:30 2007.
31.7 +*/
31.8 +
31.9 +#ifndef __cplusplus
31.10 +#include "stdlib.h"
31.11 +#endif
31.12 +#include "string.h"
31.13 +
31.14 +#include "tolua.h"
31.15 +
31.16 +/* Exported function */
31.17 +TOLUA_API int tolua_tolua_open (lua_State* tolua_S);
31.18 +LUALIB_API int luaopen_tolua (lua_State* tolua_S);
31.19 +
31.20 +
31.21 +/* function to register type */
31.22 +static void tolua_reg_types (lua_State* tolua_S)
31.23 +{
31.24 +}
31.25 +
31.26 +/* Open lib function */
31.27 +LUALIB_API int luaopen_tolua (lua_State* tolua_S)
31.28 +{
31.29 + tolua_open(tolua_S);
31.30 + tolua_reg_types(tolua_S);
31.31 + tolua_module(tolua_S,NULL,0);
31.32 + tolua_beginmodule(tolua_S,NULL);
31.33 +
31.34 + { /* begin embedded lua code */
31.35 + static unsigned char B[] = {
31.36 + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
31.37 + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
31.38 + 10, 10, 10,114, 97,119,116,121,112,101, 32, 61, 32,116,121,
31.39 + 112,101, 10, 10,102,117,110, 99,116,105,111,110, 32,100,111,
31.40 + 95, 32, 40,102, 44, 32,101,114,114, 41, 10,105,102, 32,110,
31.41 + 111,116, 32,102, 32,116,104,101,110, 32,112,114,105,110,116,
31.42 + 40,101,114,114, 41, 59, 32,114,101,116,117,114,110, 32,101,
31.43 + 110,100, 10,108,111, 99, 97,108, 32, 97, 44, 98, 32, 61, 32,
31.44 + 112, 99, 97,108,108, 40,102, 41, 10,105,102, 32,110,111,116,
31.45 + 32, 97, 32,116,104,101,110, 32,112,114,105,110,116, 40, 98,
31.46 + 41, 59, 32,114,101,116,117,114,110, 32,110,105,108, 10,101,
31.47 + 108,115,101, 32,114,101,116,117,114,110, 32, 98, 32,111,114,
31.48 + 32,116,114,117,101, 10,101,110,100, 10,101,110,100, 10, 10,
31.49 + 102,117,110, 99,116,105,111,110, 32,100,111,115,116,114,105,
31.50 + 110,103, 40,115, 41, 32,114,101,116,117,114,110, 32,100,111,
31.51 + 95, 40,108,111, 97,100,115,116,114,105,110,103, 40,115, 41,
31.52 + 41, 32,101,110,100, 10, 10, 10, 10, 10,108,111, 99, 97,108,
31.53 + 32,116, 97, 98, 32, 61, 32,116, 97, 98,108,101, 10,102,111,
31.54 + 114,101, 97, 99,104, 32, 61, 32,116, 97, 98, 46,102,111,114,
31.55 + 101, 97, 99,104, 10,102,111,114,101, 97, 99,104,105, 32, 61,
31.56 + 32,116, 97, 98, 46,102,111,114,101, 97, 99,104,105, 10,103,
31.57 + 101,116,110, 32, 61, 32,116, 97, 98, 46,103,101,116,110, 10,
31.58 + 116,105,110,115,101,114,116, 32, 61, 32,116, 97, 98, 46,105,
31.59 + 110,115,101,114,116, 10,116,114,101,109,111,118,101, 32, 61,
31.60 + 32,116, 97, 98, 46,114,101,109,111,118,101, 10,115,111,114,
31.61 + 116, 32, 61, 32,116, 97, 98, 46,115,111,114,116, 10, 10, 10,
31.62 + 10,108,111, 99, 97,108, 32,100, 98,103, 32, 61, 32,100,101,
31.63 + 98,117,103, 10,103,101,116,105,110,102,111, 32, 61, 32,100,
31.64 + 98,103, 46,103,101,116,105,110,102,111, 10,103,101,116,108,
31.65 + 111, 99, 97,108, 32, 61, 32,100, 98,103, 46,103,101,116,108,
31.66 + 111, 99, 97,108, 10,115,101,116, 99, 97,108,108,104,111,111,
31.67 + 107, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40, 41,
31.68 + 32,101,114,114,111,114, 34, 96,115,101,116, 99, 97,108,108,
31.69 + 104,111,111,107, 39, 32,105,115, 32,100,101,112,114,101, 99,
31.70 + 97,116,101,100, 34, 32,101,110,100, 10,115,101,116,108,105,
31.71 + 110,101,104,111,111,107, 32, 61, 32,102,117,110, 99,116,105,
31.72 + 111,110, 32, 40, 41, 32,101,114,114,111,114, 34, 96,115,101,
31.73 + 116,108,105,110,101,104,111,111,107, 39, 32,105,115, 32,100,
31.74 + 101,112,114,101, 99, 97,116,101,100, 34, 32,101,110,100, 10,
31.75 + 115,101,116,108,111, 99, 97,108, 32, 61, 32,100, 98,103, 46,
31.76 + 115,101,116,108,111, 99, 97,108, 10, 10, 10, 10,108,111, 99,
31.77 + 97,108, 32,109, 97,116,104, 32, 61, 32,109, 97,116,104, 10,
31.78 + 97, 98,115, 32, 61, 32,109, 97,116,104, 46, 97, 98,115, 10,
31.79 + 97, 99,111,115, 32, 61, 32,102,117,110, 99,116,105,111,110,
31.80 + 32, 40,120, 41, 32,114,101,116,117,114,110, 32,109, 97,116,
31.81 + 104, 46,100,101,103, 40,109, 97,116,104, 46, 97, 99,111,115,
31.82 + 40,120, 41, 41, 32,101,110,100, 10, 97,115,105,110, 32, 61,
31.83 + 32,102,117,110, 99,116,105,111,110, 32, 40,120, 41, 32,114,
31.84 + 101,116,117,114,110, 32,109, 97,116,104, 46,100,101,103, 40,
31.85 + 109, 97,116,104, 46, 97,115,105,110, 40,120, 41, 41, 32,101,
31.86 + 110,100, 10, 97,116, 97,110, 32, 61, 32,102,117,110, 99,116,
31.87 + 105,111,110, 32, 40,120, 41, 32,114,101,116,117,114,110, 32,
31.88 + 109, 97,116,104, 46,100,101,103, 40,109, 97,116,104, 46, 97,
31.89 + 116, 97,110, 40,120, 41, 41, 32,101,110,100, 10, 97,116, 97,
31.90 + 110, 50, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,
31.91 + 120, 44,121, 41, 32,114,101,116,117,114,110, 32,109, 97,116,
31.92 + 104, 46,100,101,103, 40,109, 97,116,104, 46, 97,116, 97,110,
31.93 + 50, 40,120, 44,121, 41, 41, 32,101,110,100, 10, 99,101,105,
31.94 + 108, 32, 61, 32,109, 97,116,104, 46, 99,101,105,108, 10, 99,
31.95 + 111,115, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,
31.96 + 120, 41, 32,114,101,116,117,114,110, 32,109, 97,116,104, 46,
31.97 + 99,111,115, 40,109, 97,116,104, 46,114, 97,100, 40,120, 41,
31.98 + 41, 32,101,110,100, 10,100,101,103, 32, 61, 32,109, 97,116,
31.99 + 104, 46,100,101,103, 10,101,120,112, 32, 61, 32,109, 97,116,
31.100 + 104, 46,101,120,112, 10,102,108,111,111,114, 32, 61, 32,109,
31.101 + 97,116,104, 46,102,108,111,111,114, 10,102,114,101,120,112,
31.102 + 32, 61, 32,109, 97,116,104, 46,102,114,101,120,112, 10,108,
31.103 + 100,101,120,112, 32, 61, 32,109, 97,116,104, 46,108,100,101,
31.104 + 120,112, 10,108,111,103, 32, 61, 32,109, 97,116,104, 46,108,
31.105 + 111,103, 10,108,111,103, 49, 48, 32, 61, 32,109, 97,116,104,
31.106 + 46,108,111,103, 49, 48, 10,109, 97,120, 32, 61, 32,109, 97,
31.107 + 116,104, 46,109, 97,120, 10,109,105,110, 32, 61, 32,109, 97,
31.108 + 116,104, 46,109,105,110, 10,109,111,100, 32, 61, 32,109, 97,
31.109 + 116,104, 46,109,111,100, 10, 80, 73, 32, 61, 32,109, 97,116,
31.110 + 104, 46,112,105, 10, 10,114, 97,100, 32, 61, 32,109, 97,116,
31.111 + 104, 46,114, 97,100, 10,114, 97,110,100,111,109, 32, 61, 32,
31.112 + 109, 97,116,104, 46,114, 97,110,100,111,109, 10,114, 97,110,
31.113 + 100,111,109,115,101,101,100, 32, 61, 32,109, 97,116,104, 46,
31.114 + 114, 97,110,100,111,109,115,101,101,100, 10,115,105,110, 32,
31.115 + 61, 32,102,117,110, 99,116,105,111,110, 32, 40,120, 41, 32,
31.116 + 114,101,116,117,114,110, 32,109, 97,116,104, 46,115,105,110,
31.117 + 40,109, 97,116,104, 46,114, 97,100, 40,120, 41, 41, 32,101,
31.118 + 110,100, 10,115,113,114,116, 32, 61, 32,109, 97,116,104, 46,
31.119 + 115,113,114,116, 10,116, 97,110, 32, 61, 32,102,117,110, 99,
31.120 + 116,105,111,110, 32, 40,120, 41, 32,114,101,116,117,114,110,
31.121 + 32,109, 97,116,104, 46,116, 97,110, 40,109, 97,116,104, 46,
31.122 + 114, 97,100, 40,120, 41, 41, 32,101,110,100, 10, 10, 10, 10,
31.123 + 108,111, 99, 97,108, 32,115,116,114, 32, 61, 32,115,116,114,
31.124 + 105,110,103, 10,115,116,114, 98,121,116,101, 32, 61, 32,115,
31.125 + 116,114, 46, 98,121,116,101, 10,115,116,114, 99,104, 97,114,
31.126 + 32, 61, 32,115,116,114, 46, 99,104, 97,114, 10,115,116,114,
31.127 + 102,105,110,100, 32, 61, 32,115,116,114, 46,102,105,110,100,
31.128 + 10,102,111,114,109, 97,116, 32, 61, 32,115,116,114, 46,102,
31.129 + 111,114,109, 97,116, 10,103,115,117, 98, 32, 61, 32,115,116,
31.130 + 114, 46,103,115,117, 98, 10,115,116,114,108,101,110, 32, 61,
31.131 + 32,115,116,114, 46,108,101,110, 10,115,116,114,108,111,119,
31.132 + 101,114, 32, 61, 32,115,116,114, 46,108,111,119,101,114, 10,
31.133 + 115,116,114,114,101,112, 32, 61, 32,115,116,114, 46,114,101,
31.134 + 112, 10,115,116,114,115,117, 98, 32, 61, 32,115,116,114, 46,
31.135 + 115,117, 98, 10,115,116,114,117,112,112,101,114, 32, 61, 32,
31.136 + 115,116,114, 46,117,112,112,101,114, 10, 10, 10, 10, 99,108,
31.137 + 111, 99,107, 32, 61, 32,111,115, 46, 99,108,111, 99,107, 10,
31.138 + 100, 97,116,101, 32, 61, 32,111,115, 46,100, 97,116,101, 10,
31.139 + 100,105,102,102,116,105,109,101, 32, 61, 32,111,115, 46,100,
31.140 + 105,102,102,116,105,109,101, 10,101,120,101, 99,117,116,101,
31.141 + 32, 61, 32,111,115, 46,101,120,101, 99,117,116,101, 10,101,
31.142 + 120,105,116, 32, 61, 32,111,115, 46,101,120,105,116, 10,103,
31.143 + 101,116,101,110,118, 32, 61, 32,111,115, 46,103,101,116,101,
31.144 + 110,118, 10,114,101,109,111,118,101, 32, 61, 32,111,115, 46,
31.145 + 114,101,109,111,118,101, 10,114,101,110, 97,109,101, 32, 61,
31.146 + 32,111,115, 46,114,101,110, 97,109,101, 10,115,101,116,108,
31.147 + 111, 99, 97,108,101, 32, 61, 32,111,115, 46,115,101,116,108,
31.148 + 111, 99, 97,108,101, 10,116,105,109,101, 32, 61, 32,111,115,
31.149 + 46,116,105,109,101, 10,116,109,112,110, 97,109,101, 32, 61,
31.150 + 32,111,115, 46,116,109,112,110, 97,109,101, 10, 10, 10, 10,
31.151 + 103,101,116,103,108,111, 98, 97,108, 32, 61, 32,102,117,110,
31.152 + 99,116,105,111,110, 32, 40,110, 41, 32,114,101,116,117,114,
31.153 + 110, 32, 95, 71, 91,110, 93, 32,101,110,100, 10,115,101,116,
31.154 + 103,108,111, 98, 97,108, 32, 61, 32,102,117,110, 99,116,105,
31.155 + 111,110, 32, 40,110, 44,118, 41, 32, 95, 71, 91,110, 93, 32,
31.156 + 61, 32,118, 32,101,110,100, 10, 10, 10, 10,108,111, 99, 97,
31.157 + 108, 32,105,111, 44, 32,116, 97, 98, 32, 61, 32,105,111, 44,
31.158 + 32,116, 97, 98,108,101, 10, 10, 10, 95, 83, 84, 68, 73, 78,
31.159 + 32, 61, 32,105,111, 46,115,116,100,105,110, 10, 95, 83, 84,
31.160 + 68, 69, 82, 82, 32, 61, 32,105,111, 46,115,116,100,101,114,
31.161 + 114, 10, 95, 83, 84, 68, 79, 85, 84, 32, 61, 32,105,111, 46,
31.162 + 115,116,100,111,117,116, 10, 95, 73, 78, 80, 85, 84, 32, 61,
31.163 + 32,105,111, 46,115,116,100,105,110, 10, 95, 79, 85, 84, 80,
31.164 + 85, 84, 32, 61, 32,105,111, 46,115,116,100,111,117,116, 10,
31.165 + 115,101,101,107, 32, 61, 32,105,111, 46,115,116,100,105,110,
31.166 + 46,115,101,101,107, 10,116,109,112,102,105,108,101, 32, 61,
31.167 + 32,105,111, 46,116,109,112,102,105,108,101, 10, 99,108,111,
31.168 + 115,101,102,105,108,101, 32, 61, 32,105,111, 46, 99,108,111,
31.169 + 115,101, 10,111,112,101,110,102,105,108,101, 32, 61, 32,105,
31.170 + 111, 46,111,112,101,110, 10, 10,102,117,110, 99,116,105,111,
31.171 + 110, 32,102,108,117,115,104, 32, 40,102, 41, 10,105,102, 32,
31.172 + 102, 32,116,104,101,110, 32,102, 58,102,108,117,115,104, 40,
31.173 + 41, 10,101,108,115,101, 32, 95, 79, 85, 84, 80, 85, 84, 58,
31.174 + 102,108,117,115,104, 40, 41, 10,101,110,100, 10,101,110,100,
31.175 + 10, 10,102,117,110, 99,116,105,111,110, 32,114,101, 97,100,
31.176 + 102,114,111,109, 32, 40,110, 97,109,101, 41, 10,105,102, 32,
31.177 + 110, 97,109,101, 32, 61, 61, 32,110,105,108, 32,116,104,101,
31.178 + 110, 10,108,111, 99, 97,108, 32,102, 44, 32,101,114,114, 44,
31.179 + 32, 99,111,100, 32, 61, 32,105,111, 46, 99,108,111,115,101,
31.180 + 40, 95, 73, 78, 80, 85, 84, 41, 10, 95, 73, 78, 80, 85, 84,
31.181 + 32, 61, 32,105,111, 46,115,116,100,105,110, 10,114,101,116,
31.182 + 117,114,110, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100,
31.183 + 10,101,108,115,101, 10,108,111, 99, 97,108, 32,102, 44, 32,
31.184 + 101,114,114, 44, 32, 99,111,100, 32, 61, 32,105,111, 46,111,
31.185 + 112,101,110, 40,110, 97,109,101, 44, 32, 34,114, 34, 41, 10,
31.186 + 95, 73, 78, 80, 85, 84, 32, 61, 32,102, 32,111,114, 32, 95,
31.187 + 73, 78, 80, 85, 84, 10,114,101,116,117,114,110, 32,102, 44,
31.188 + 32,101,114,114, 44, 32, 99,111,100, 10,101,110,100, 10,101,
31.189 + 110,100, 10, 10,102,117,110, 99,116,105,111,110, 32,119,114,
31.190 + 105,116,101,116,111, 32, 40,110, 97,109,101, 41, 10,105,102,
31.191 + 32,110, 97,109,101, 32, 61, 61, 32,110,105,108, 32,116,104,
31.192 + 101,110, 10,108,111, 99, 97,108, 32,102, 44, 32,101,114,114,
31.193 + 44, 32, 99,111,100, 32, 61, 32,105,111, 46, 99,108,111,115,
31.194 + 101, 40, 95, 79, 85, 84, 80, 85, 84, 41, 10, 95, 79, 85, 84,
31.195 + 80, 85, 84, 32, 61, 32,105,111, 46,115,116,100,111,117,116,
31.196 + 10,114,101,116,117,114,110, 32,102, 44, 32,101,114,114, 44,
31.197 + 32, 99,111,100, 10,101,108,115,101, 10,108,111, 99, 97,108,
31.198 + 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 32, 61, 32,
31.199 + 105,111, 46,111,112,101,110, 40,110, 97,109,101, 44, 32, 34,
31.200 + 119, 34, 41, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,102,
31.201 + 32,111,114, 32, 95, 79, 85, 84, 80, 85, 84, 10,114,101,116,
31.202 + 117,114,110, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100,
31.203 + 10,101,110,100, 10,101,110,100, 10, 10,102,117,110, 99,116,
31.204 + 105,111,110, 32, 97,112,112,101,110,100,116,111, 32, 40,110,
31.205 + 97,109,101, 41, 10,108,111, 99, 97,108, 32,102, 44, 32,101,
31.206 + 114,114, 44, 32, 99,111,100, 32, 61, 32,105,111, 46,111,112,
31.207 + 101,110, 40,110, 97,109,101, 44, 32, 34, 97, 34, 41, 10, 95,
31.208 + 79, 85, 84, 80, 85, 84, 32, 61, 32,102, 32,111,114, 32, 95,
31.209 + 79, 85, 84, 80, 85, 84, 10,114,101,116,117,114,110, 32,102,
31.210 + 44, 32,101,114,114, 44, 32, 99,111,100, 10,101,110,100, 10,
31.211 + 10,102,117,110, 99,116,105,111,110, 32,114,101, 97,100, 32,
31.212 + 40, 46, 46, 46, 41, 10,108,111, 99, 97,108, 32,102, 32, 61,
31.213 + 32, 95, 73, 78, 80, 85, 84, 10,105,102, 32,114, 97,119,116,
31.214 + 121,112,101, 40, 97,114,103, 91, 49, 93, 41, 32, 61, 61, 32,
31.215 + 39,117,115,101,114,100, 97,116, 97, 39, 32,116,104,101,110,
31.216 + 10,102, 32, 61, 32,116, 97, 98, 46,114,101,109,111,118,101,
31.217 + 40, 97,114,103, 44, 32, 49, 41, 10,101,110,100, 10,114,101,
31.218 + 116,117,114,110, 32,102, 58,114,101, 97,100, 40,117,110,112,
31.219 + 97, 99,107, 40, 97,114,103, 41, 41, 10,101,110,100, 10, 10,
31.220 + 102,117,110, 99,116,105,111,110, 32,119,114,105,116,101, 32,
31.221 + 40, 46, 46, 46, 41, 10,108,111, 99, 97,108, 32,102, 32, 61,
31.222 + 32, 95, 79, 85, 84, 80, 85, 84, 10,105,102, 32,114, 97,119,
31.223 + 116,121,112,101, 40, 97,114,103, 91, 49, 93, 41, 32, 61, 61,
31.224 + 32, 39,117,115,101,114,100, 97,116, 97, 39, 32,116,104,101,
31.225 + 110, 10,102, 32, 61, 32,116, 97, 98, 46,114,101,109,111,118,
31.226 + 101, 40, 97,114,103, 44, 32, 49, 41, 10,101,110,100, 10,114,
31.227 + 101,116,117,114,110, 32,102, 58,119,114,105,116,101, 40,117,
31.228 + 110,112, 97, 99,107, 40, 97,114,103, 41, 41, 10,101,110,100,
31.229 + 32
31.230 + };
31.231 + luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") ||
31.232 + lua_pcall(tolua_S,0,LUA_MULTRET,0);
31.233 + } /* end of embedded lua code */
31.234 +
31.235 +
31.236 + { /* begin embedded lua code */
31.237 + static unsigned char B[] = {
31.238 + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
31.239 + 10, 10, 95, 98, 97,115,105, 99, 32, 61, 32,123, 10, 91, 39,
31.240 + 118,111,105,100, 39, 93, 32, 61, 32, 39, 39, 44, 10, 91, 39,
31.241 + 99,104, 97,114, 39, 93, 32, 61, 32, 39,110,117,109, 98,101,
31.242 + 114, 39, 44, 10, 91, 39,105,110,116, 39, 93, 32, 61, 32, 39,
31.243 + 110,117,109, 98,101,114, 39, 44, 10, 91, 39,115,104,111,114,
31.244 + 116, 39, 93, 32, 61, 32, 39,110,117,109, 98,101,114, 39, 44,
31.245 + 10, 91, 39,108,111,110,103, 39, 93, 32, 61, 32, 39,110,117,
31.246 + 109, 98,101,114, 39, 44, 10, 91, 39,117,110,115,105,103,110,
31.247 + 101,100, 39, 93, 32, 61, 32, 39,110,117,109, 98,101,114, 39,
31.248 + 44, 10, 91, 39,102,108,111, 97,116, 39, 93, 32, 61, 32, 39,
31.249 + 110,117,109, 98,101,114, 39, 44, 10, 91, 39,100,111,117, 98,
31.250 + 108,101, 39, 93, 32, 61, 32, 39,110,117,109, 98,101,114, 39,
31.251 + 44, 10, 91, 39, 95, 99,115,116,114,105,110,103, 39, 93, 32,
31.252 + 61, 32, 39,115,116,114,105,110,103, 39, 44, 10, 91, 39, 95,
31.253 + 117,115,101,114,100, 97,116, 97, 39, 93, 32, 61, 32, 39,117,
31.254 + 115,101,114,100, 97,116, 97, 39, 44, 10, 91, 39, 99,104, 97,
31.255 + 114, 42, 39, 93, 32, 61, 32, 39,115,116,114,105,110,103, 39,
31.256 + 44, 10, 91, 39,118,111,105,100, 42, 39, 93, 32, 61, 32, 39,
31.257 + 117,115,101,114,100, 97,116, 97, 39, 44, 10, 91, 39, 98,111,
31.258 + 111,108, 39, 93, 32, 61, 32, 39, 98,111,111,108,101, 97,110,
31.259 + 39, 44, 10, 91, 39,108,117, 97, 95, 79, 98,106,101, 99,116,
31.260 + 39, 93, 32, 61, 32, 39,118, 97,108,117,101, 39, 44, 10, 91,
31.261 + 39, 76, 85, 65, 95, 86, 65, 76, 85, 69, 39, 93, 32, 61, 32,
31.262 + 39,118, 97,108,117,101, 39, 44, 10,125, 10, 10, 95, 98, 97,
31.263 + 115,105, 99, 95, 99,116,121,112,101, 32, 61, 32,123, 10,110,
31.264 + 117,109, 98,101,114, 32, 61, 32, 34,100,111,117, 98,108,101,
31.265 + 34, 44, 10,115,116,114,105,110,103, 32, 61, 32, 34, 99,111,
31.266 + 110,115,116, 32, 99,104, 97,114, 42, 34, 44, 10,117,115,101,
31.267 + 114,100, 97,116, 97, 32, 61, 32, 34,118,111,105,100, 42, 34,
31.268 + 44, 10, 98,111,111,108,101, 97,110, 32, 61, 32, 34, 98,111,
31.269 + 111,108, 34, 44, 10,125, 10, 10, 10, 10, 95,117,115,101,114,
31.270 + 116,121,112,101, 32, 61, 32,123,125, 10, 10, 10, 95, 99,111,
31.271 + 108,108,101, 99,116, 32, 61, 32,123,125, 10, 10, 10, 10, 95,
31.272 + 114,101,110, 97,109,105,110,103, 32, 61, 32,123,125, 10,102,
31.273 + 117,110, 99,116,105,111,110, 32, 97,112,112,101,110,100,114,
31.274 + 101,110, 97,109,105,110,103, 32, 40,115, 41, 10,108,111, 99,
31.275 + 97,108, 32, 98, 44,101, 44,111,108,100, 44,110,101,119, 32,
31.276 + 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 37,115,
31.277 + 42, 40, 46, 45, 41, 37,115, 42, 64, 37,115, 42, 40, 46, 45,
31.278 + 41, 37,115, 42, 36, 34, 41, 10,105,102, 32,110,111,116, 32,
31.279 + 98, 32,116,104,101,110, 10,101,114,114,111,114, 40, 34, 35,
31.280 + 73,110,118, 97,108,105,100, 32,114,101,110, 97,109,105,110,
31.281 + 103, 32,115,121,110,116, 97,120, 59, 32,105,116, 32,115,104,
31.282 + 111,117,108,100, 32, 98,101, 32,111,102, 32,116,104,101, 32,
31.283 + 102,111,114,109, 58, 32,112, 97,116,116,101,114,110, 64,112,
31.284 + 97,116,116,101,114,110, 34, 41, 10,101,110,100, 10,116,105,
31.285 + 110,115,101,114,116, 40, 95,114,101,110, 97,109,105,110,103,
31.286 + 44,123,111,108,100, 61,111,108,100, 44, 32,110,101,119, 61,
31.287 + 110,101,119,125, 41, 10,101,110,100, 10, 10,102,117,110, 99,
31.288 + 116,105,111,110, 32, 97,112,112,108,121,114,101,110, 97,109,
31.289 + 105,110,103, 32, 40,115, 41, 10,102,111,114, 32,105, 61, 49,
31.290 + 44,103,101,116,110, 40, 95,114,101,110, 97,109,105,110,103,
31.291 + 41, 32,100,111, 10,108,111, 99, 97,108, 32,109, 44,110, 32,
31.292 + 61, 32,103,115,117, 98, 40,115, 44, 95,114,101,110, 97,109,
31.293 + 105,110,103, 91,105, 93, 46,111,108,100, 44, 95,114,101,110,
31.294 + 97,109,105,110,103, 91,105, 93, 46,110,101,119, 41, 10,105,
31.295 + 102, 32,110, 32,126, 61, 32, 48, 32,116,104,101,110, 10,114,
31.296 + 101,116,117,114,110, 32,109, 10,101,110,100, 10,101,110,100,
31.297 + 10,114,101,116,117,114,110, 32,110,105,108, 10,101,110,100,
31.298 + 10, 10, 10,102,117,110, 99,116,105,111,110, 32,116,111,108,
31.299 + 117, 97, 95,101,114,114,111,114, 32, 40,115, 44,102, 41, 10,
31.300 + 108,111, 99, 97,108, 32,111,117,116, 32, 61, 32, 95, 79, 85,
31.301 + 84, 80, 85, 84, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,
31.302 + 95, 83, 84, 68, 69, 82, 82, 10,105,102, 32,115,116,114,115,
31.303 + 117, 98, 40,115, 44, 49, 44, 49, 41, 32, 61, 61, 32, 39, 35,
31.304 + 39, 32,116,104,101,110, 10,119,114,105,116,101, 40, 34, 92,
31.305 + 110, 42, 42, 32,116,111,108,117, 97, 58, 32, 34, 46, 46,115,
31.306 + 116,114,115,117, 98, 40,115, 44, 50, 41, 46, 46, 34, 46, 92,
31.307 + 110, 92,110, 34, 41, 10,105,102, 32, 95, 99,117,114,114, 95,
31.308 + 99,111,100,101, 32,116,104,101,110, 10,108,111, 99, 97,108,
31.309 + 32, 95, 44, 95, 44,115, 32, 61, 32,115,116,114,102,105,110,
31.310 + 100, 40, 95, 99,117,114,114, 95, 99,111,100,101, 44, 34, 94,
31.311 + 37,115, 42, 40, 46, 45, 92,110, 41, 34, 41, 10,105,102, 32,
31.312 + 115, 61, 61,110,105,108, 32,116,104,101,110, 32,115, 32, 61,
31.313 + 32, 95, 99,117,114,114, 95, 99,111,100,101, 32,101,110,100,
31.314 + 10,115, 32, 61, 32,103,115,117, 98, 40,115, 44, 34, 95,117,
31.315 + 115,101,114,100, 97,116, 97, 34, 44, 34,118,111,105,100, 42,
31.316 + 34, 41, 10,115, 32, 61, 32,103,115,117, 98, 40,115, 44, 34,
31.317 + 95, 99,115,116,114,105,110,103, 34, 44, 34, 99,104, 97,114,
31.318 + 42, 34, 41, 10,119,114,105,116,101, 40, 34, 67,111,100,101,
31.319 + 32, 98,101,105,110,103, 32,112,114,111, 99,101,115,115,101,
31.320 + 100, 58, 92,110, 34, 46, 46,115, 46, 46, 34, 92,110, 34, 41,
31.321 + 10,101,110,100, 10,101,108,115,101, 10,112,114,105,110,116,
31.322 + 40, 34, 92,110, 42, 42, 32,116,111,108,117, 97, 32,105,110,
31.323 + 116,101,114,110, 97,108, 32,101,114,114,111,114, 58, 32, 34,
31.324 + 46, 46,102, 46, 46,115, 46, 46, 34, 46, 92,110, 92,110, 34,
31.325 + 41, 10,114,101,116,117,114,110, 10,101,110,100, 10, 95, 79,
31.326 + 85, 84, 80, 85, 84, 32, 61, 32,111,117,116, 10,101,110,100,
31.327 + 10, 10,102,117,110, 99,116,105,111,110, 32,119, 97,114,110,
31.328 + 105,110,103, 32, 40,109,115,103, 41, 10,108,111, 99, 97,108,
31.329 + 32,111,117,116, 32, 61, 32, 95, 79, 85, 84, 80, 85, 84, 10,
31.330 + 95, 79, 85, 84, 80, 85, 84, 32, 61, 32, 95, 83, 84, 68, 69,
31.331 + 82, 82, 10,119,114,105,116,101, 40, 34, 92,110, 42, 42, 32,
31.332 + 116,111,108,117, 97, 32,119, 97,114,110,105,110,103, 58, 32,
31.333 + 34, 46, 46,109,115,103, 46, 46, 34, 46, 92,110, 92,110, 34,
31.334 + 41, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,111,117,116,
31.335 + 10,101,110,100, 10, 10, 10,102,117,110, 99,116,105,111,110,
31.336 + 32,114,101,103,116,121,112,101, 32, 40,116, 41, 10,108,111,
31.337 + 99, 97,108, 32,102,116, 32, 61, 32,102,105,110,100,116,121,
31.338 + 112,101, 40,116, 41, 10,105,102, 32,105,115, 98, 97,115,105,
31.339 + 99, 40,116, 41, 32,116,104,101,110, 10,114,101,116,117,114,
31.340 + 110, 32,116, 10,101,110,100, 10,105,102, 32,110,111,116, 32,
31.341 + 102,116, 32,116,104,101,110, 10,114,101,116,117,114,110, 32,
31.342 + 97,112,112,101,110,100,117,115,101,114,116,121,112,101, 40,
31.343 + 116, 41, 10,101,110,100, 10,101,110,100, 10, 10, 10,102,117,
31.344 + 110, 99,116,105,111,110, 32,116,121,112,101,118, 97,114, 40,
31.345 + 116,121,112,101, 41, 10,105,102, 32,116,121,112,101, 32, 61,
31.346 + 61, 32, 39, 39, 32,111,114, 32,116,121,112,101, 32, 61, 61,
31.347 + 32, 39,118,111,105,100, 39, 32,116,104,101,110, 10,114,101,
31.348 + 116,117,114,110, 32,116,121,112,101, 10,101,108,115,101, 10,
31.349 + 108,111, 99, 97,108, 32,102,116, 32, 61, 32,102,105,110,100,
31.350 + 116,121,112,101, 40,116,121,112,101, 41, 10,105,102, 32,102,
31.351 + 116, 32,116,104,101,110, 10,114,101,116,117,114,110, 32,102,
31.352 + 116, 10,101,110,100, 10, 95,117,115,101,114,116,121,112,101,
31.353 + 91,116,121,112,101, 93, 32, 61, 32,116,121,112,101, 10,114,
31.354 + 101,116,117,114,110, 32,116,121,112,101, 10,101,110,100, 10,
31.355 + 101,110,100, 10, 10, 10,102,117,110, 99,116,105,111,110, 32,
31.356 + 105,115, 98, 97,115,105, 99, 32, 40,116,121,112,101, 41, 10,
31.357 + 108,111, 99, 97,108, 32,116, 32, 61, 32,103,115,117, 98, 40,
31.358 + 116,121,112,101, 44, 39, 99,111,110,115,116, 32, 39, 44, 39,
31.359 + 39, 41, 10,108,111, 99, 97,108, 32,109, 44,116, 32, 61, 32,
31.360 + 97,112,112,108,121,116,121,112,101,100,101,102, 40,116, 41,
31.361 + 10,108,111, 99, 97,108, 32, 98, 32, 61, 32, 95, 98, 97,115,
31.362 + 105, 99, 91,116, 93, 10,105,102, 32, 98, 32,116,104,101,110,
31.363 + 10,114,101,116,117,114,110, 32, 98, 44, 95, 98, 97,115,105,
31.364 + 99, 95, 99,116,121,112,101, 91, 98, 93, 10,101,110,100, 10,
31.365 + 114,101,116,117,114,110, 32,110,105,108, 10,101,110,100, 10,
31.366 + 10, 10,102,117,110, 99,116,105,111,110, 32,115,112,108,105,
31.367 + 116, 32, 40,115, 44,116, 41, 10,108,111, 99, 97,108, 32,108,
31.368 + 32, 61, 32,123,110, 61, 48,125, 10,108,111, 99, 97,108, 32,
31.369 + 102, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,115,
31.370 + 41, 10,108, 46,110, 32, 61, 32,108, 46,110, 32, 43, 32, 49,
31.371 + 10,108, 91,108, 46,110, 93, 32, 61, 32,115, 10,114,101,116,
31.372 + 117,114,110, 32, 34, 34, 10,101,110,100, 10,108,111, 99, 97,
31.373 + 108, 32,112, 32, 61, 32, 34, 37,115, 42, 40, 46, 45, 41, 37,
31.374 + 115, 42, 34, 46, 46,116, 46, 46, 34, 37,115, 42, 34, 10,115,
31.375 + 32, 61, 32,103,115,117, 98, 40,115, 44, 34, 94, 37,115, 43,
31.376 + 34, 44, 34, 34, 41, 10,115, 32, 61, 32,103,115,117, 98, 40,
31.377 + 115, 44, 34, 37,115, 43, 36, 34, 44, 34, 34, 41, 10,115, 32,
31.378 + 61, 32,103,115,117, 98, 40,115, 44,112, 44,102, 41, 10,108,
31.379 + 46,110, 32, 61, 32,108, 46,110, 32, 43, 32, 49, 10,108, 91,
31.380 + 108, 46,110, 93, 32, 61, 32,103,115,117, 98, 40,115, 44, 34,
31.381 + 40, 37,115, 37,115, 42, 41, 36, 34, 44, 34, 34, 41, 10,114,
31.382 + 101,116,117,114,110, 32,108, 10,101,110,100, 10, 10, 10, 10,
31.383 + 102,117,110, 99,116,105,111,110, 32, 99,111,110, 99, 97,116,
31.384 + 32, 40,116, 44,102, 44,108, 41, 10,108,111, 99, 97,108, 32,
31.385 + 115, 32, 61, 32, 39, 39, 10,108,111, 99, 97,108, 32,105, 61,
31.386 + 102, 10,119,104,105,108,101, 32,105, 60, 61,108, 32,100,111,
31.387 + 10,115, 32, 61, 32,115, 46, 46,116, 91,105, 93, 10,105, 32,
31.388 + 61, 32,105, 43, 49, 10,105,102, 32,105, 32, 60, 61, 32,108,
31.389 + 32,116,104,101,110, 32,115, 32, 61, 32,115, 46, 46, 39, 32,
31.390 + 39, 32,101,110,100, 10,101,110,100, 10,114,101,116,117,114,
31.391 + 110, 32,115, 10,101,110,100, 10, 10, 10,102,117,110, 99,116,
31.392 + 105,111,110, 32, 99,111,110, 99, 97,116,112, 97,114, 97,109,
31.393 + 32, 40,108,105,110,101, 44, 32, 46, 46, 46, 41, 10,108,111,
31.394 + 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,105,
31.395 + 60, 61, 97,114,103, 46,110, 32,100,111, 10,105,102, 32, 95,
31.396 + 99,111,110,116, 32, 97,110,100, 32,110,111,116, 32,115,116,
31.397 + 114,102,105,110,100, 40, 95, 99,111,110,116, 44, 39, 91, 37,
31.398 + 40, 44, 34, 93, 39, 41, 32, 97,110,100, 10,115,116,114,102,
31.399 + 105,110,100, 40, 97,114,103, 91,105, 93, 44, 34, 94, 91, 37,
31.400 + 97, 95,126, 93, 34, 41, 32,116,104,101,110, 10,108,105,110,
31.401 + 101, 32, 61, 32,108,105,110,101, 32, 46, 46, 32, 39, 32, 39,
31.402 + 10,101,110,100, 10,108,105,110,101, 32, 61, 32,108,105,110,
31.403 + 101, 32, 46, 46, 32, 97,114,103, 91,105, 93, 10,105,102, 32,
31.404 + 97,114,103, 91,105, 93, 32,126, 61, 32, 39, 39, 32,116,104,
31.405 + 101,110, 10, 95, 99,111,110,116, 32, 61, 32,115,116,114,115,
31.406 + 117, 98, 40, 97,114,103, 91,105, 93, 44, 45, 49, 44, 45, 49,
31.407 + 41, 10,101,110,100, 10,105, 32, 61, 32,105, 43, 49, 10,101,
31.408 + 110,100, 10,105,102, 32,115,116,114,102,105,110,100, 40, 97,
31.409 + 114,103, 91, 97,114,103, 46,110, 93, 44, 34, 91, 37, 47, 37,
31.410 + 41, 37, 59, 37,123, 37,125, 93, 36, 34, 41, 32,116,104,101,
31.411 + 110, 10, 95, 99,111,110,116, 61,110,105,108, 32,108,105,110,
31.412 + 101, 32, 61, 32,108,105,110,101, 32, 46, 46, 32, 39, 92,110,
31.413 + 39, 10,101,110,100, 10,114,101,116,117,114,110, 32,108,105,
31.414 + 110,101, 10,101,110,100, 10, 10, 10,102,117,110, 99,116,105,
31.415 + 111,110, 32,111,117,116,112,117,116, 32, 40, 46, 46, 46, 41,
31.416 + 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,
31.417 + 101, 32,105, 60, 61, 97,114,103, 46,110, 32,100,111, 10,105,
31.418 + 102, 32, 95, 99,111,110,116, 32, 97,110,100, 32,110,111,116,
31.419 + 32,115,116,114,102,105,110,100, 40, 95, 99,111,110,116, 44,
31.420 + 39, 91, 37, 40, 44, 34, 93, 39, 41, 32, 97,110,100, 10,115,
31.421 + 116,114,102,105,110,100, 40, 97,114,103, 91,105, 93, 44, 34,
31.422 + 94, 91, 37, 97, 95,126, 93, 34, 41, 32,116,104,101,110, 10,
31.423 + 119,114,105,116,101, 40, 39, 32, 39, 41, 10,101,110,100, 10,
31.424 + 119,114,105,116,101, 40, 97,114,103, 91,105, 93, 41, 10,105,
31.425 + 102, 32, 97,114,103, 91,105, 93, 32,126, 61, 32, 39, 39, 32,
31.426 + 116,104,101,110, 10, 95, 99,111,110,116, 32, 61, 32,115,116,
31.427 + 114,115,117, 98, 40, 97,114,103, 91,105, 93, 44, 45, 49, 44,
31.428 + 45, 49, 41, 10,101,110,100, 10,105, 32, 61, 32,105, 43, 49,
31.429 + 10,101,110,100, 10,105,102, 32,115,116,114,102,105,110,100,
31.430 + 40, 97,114,103, 91, 97,114,103, 46,110, 93, 44, 34, 91, 37,
31.431 + 47, 37, 41, 37, 59, 37,123, 37,125, 93, 36, 34, 41, 32,116,
31.432 + 104,101,110, 10, 95, 99,111,110,116, 61,110,105,108, 32,119,
31.433 + 114,105,116,101, 40, 39, 92,110, 39, 41, 10,101,110,100, 10,
31.434 + 101,110,100,32
31.435 + };
31.436 + luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") ||
31.437 + lua_pcall(tolua_S,0,LUA_MULTRET,0);
31.438 + } /* end of embedded lua code */
31.439 +
31.440 +
31.441 + { /* begin embedded lua code */
31.442 + static unsigned char B[] = {
31.443 + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
31.444 + 99,108, 97,115,115, 70,101, 97,116,117,114,101, 32, 61, 32,
31.445 + 123, 10,125, 10, 99,108, 97,115,115, 70,101, 97,116,117,114,
31.446 + 101, 46, 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,
31.447 + 115,115, 70,101, 97,116,117,114,101, 10, 10, 10,102,117,110,
31.448 + 99,116,105,111,110, 32, 99,108, 97,115,115, 70,101, 97,116,
31.449 + 117,114,101, 58,115,117,112, 99,111,100,101, 32, 40, 41, 10,
31.450 + 101,110,100, 10, 10, 10,102,117,110, 99,116,105,111,110, 32,
31.451 + 99,108, 97,115,115, 70,101, 97,116,117,114,101, 58,100,101,
31.452 + 99,108,116,121,112,101, 32, 40, 41, 10,101,110,100, 10, 10,
31.453 + 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115,
31.454 + 70,101, 97,116,117,114,101, 58,114,101,103,105,115,116,101,
31.455 + 114, 32, 40, 41, 10,101,110,100, 10, 10, 10,102,117,110, 99,
31.456 + 116,105,111,110, 32, 99,108, 97,115,115, 70,101, 97,116,117,
31.457 + 114,101, 58,112,114,101, 97,109, 98,108,101, 32, 40, 41, 10,
31.458 + 101,110,100, 10, 10, 10,102,117,110, 99,116,105,111,110, 32,
31.459 + 99,108, 97,115,115, 70,101, 97,116,117,114,101, 58,105,115,
31.460 + 118, 97,114,105, 97, 98,108,101, 32, 40, 41, 10,114,101,116,
31.461 + 117,114,110, 32,102, 97,108,115,101, 10,101,110,100, 10, 10,
31.462 + 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115,
31.463 + 70,101, 97,116,117,114,101, 58,114,101,113,117,105,114,101,
31.464 + 99,111,108,108,101, 99,116,105,111,110, 32, 40,116, 41, 10,
31.465 + 114,101,116,117,114,110, 32,102, 97,108,115,101, 10,101,110,
31.466 + 100, 10, 10, 10,102,117,110, 99,116,105,111,110, 32, 99,108,
31.467 + 97,115,115, 70,101, 97,116,117,114,101, 58, 98,117,105,108,
31.468 + 100,110, 97,109,101,115, 32, 40, 41, 10,105,102, 32,115,101,
31.469 + 108,102, 46,110, 97,109,101, 32, 97,110,100, 32,115,101,108,
31.470 + 102, 46,110, 97,109,101,126, 61, 39, 39, 32,116,104,101,110,
31.471 + 10,108,111, 99, 97,108, 32,110, 32, 61, 32,115,112,108,105,
31.472 + 116, 40,115,101,108,102, 46,110, 97,109,101, 44, 39, 64, 39,
31.473 + 41, 10,115,101,108,102, 46,110, 97,109,101, 32, 61, 32,110,
31.474 + 91, 49, 93, 10,105,102, 32,110,111,116, 32,110, 91, 50, 93,
31.475 + 32,116,104,101,110, 10,110, 91, 50, 93, 32, 61, 32, 97,112,
31.476 + 112,108,121,114,101,110, 97,109,105,110,103, 40,110, 91, 49,
31.477 + 93, 41, 10,101,110,100, 10,115,101,108,102, 46,108,110, 97,
31.478 + 109,101, 32, 61, 32,110, 91, 50, 93, 32,111,114, 32,103,115,
31.479 + 117, 98, 40,110, 91, 49, 93, 44, 34, 37, 91, 46, 45, 37, 93,
31.480 + 34, 44, 34, 34, 41, 10,101,110,100, 10,115,101,108,102, 46,
31.481 + 110, 97,109,101, 32, 61, 32,103,101,116,111,110,108,121,110,
31.482 + 97,109,101,115,112, 97, 99,101, 40, 41, 32, 46, 46, 32,115,
31.483 + 101,108,102, 46,110, 97,109,101, 10,101,110,100, 10, 10, 10,
31.484 + 10, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,
31.485 + 115, 70,101, 97,116,117,114,101, 58,105,110, 99,111,110,116,
31.486 + 97,105,110,101,114, 32, 40,119,104,105, 99,104, 41, 10,105,
31.487 + 102, 32,115,101,108,102, 46,112, 97,114,101,110,116, 32,116,
31.488 + 104,101,110, 10,108,111, 99, 97,108, 32,112, 97,114,101,110,
31.489 + 116, 32, 61, 32,115,101,108,102, 46,112, 97,114,101,110,116,
31.490 + 10,119,104,105,108,101, 32,112, 97,114,101,110,116, 32,100,
31.491 + 111, 10,105,102, 32,112, 97,114,101,110,116, 46, 99,108, 97,
31.492 + 115,115,116,121,112,101, 32, 61, 61, 32,119,104,105, 99,104,
31.493 + 32,116,104,101,110, 10,114,101,116,117,114,110, 32,112, 97,
31.494 + 114,101,110,116, 46,110, 97,109,101, 10,101,110,100, 10,112,
31.495 + 97,114,101,110,116, 32, 61, 32,112, 97,114,101,110,116, 46,
31.496 + 112, 97,114,101,110,116, 10,101,110,100, 10,101,110,100, 10,
31.497 + 114,101,116,117,114,110, 32,110,105,108, 10,101,110,100, 10,
31.498 + 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115,
31.499 + 70,101, 97,116,117,114,101, 58,105,110, 99,108, 97,115,115,
31.500 + 32, 40, 41, 10,114,101,116,117,114,110, 32,115,101,108,102,
31.501 + 58,105,110, 99,111,110,116, 97,105,110,101,114, 40, 39, 99,
31.502 + 108, 97,115,115, 39, 41, 10,101,110,100, 10, 10,102,117,110,
31.503 + 99,116,105,111,110, 32, 99,108, 97,115,115, 70,101, 97,116,
31.504 + 117,114,101, 58,105,110,109,111,100,117,108,101, 32, 40, 41,
31.505 + 10,114,101,116,117,114,110, 32,115,101,108,102, 58,105,110,
31.506 + 99,111,110,116, 97,105,110,101,114, 40, 39,109,111,100,117,
31.507 + 108,101, 39, 41, 10,101,110,100, 10, 10,102,117,110, 99,116,
31.508 + 105,111,110, 32, 99,108, 97,115,115, 70,101, 97,116,117,114,
31.509 + 101, 58,105,110,110, 97,109,101,115,112, 97, 99,101, 32, 40,
31.510 + 41, 10,114,101,116,117,114,110, 32,115,101,108,102, 58,105,
31.511 + 110, 99,111,110,116, 97,105,110,101,114, 40, 39,110, 97,109,
31.512 + 101,115,112, 97, 99,101, 39, 41, 10,101,110,100, 10, 10, 10,
31.513 + 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115,
31.514 + 70,101, 97,116,117,114,101, 58, 99,102,117,110, 99,110, 97,
31.515 + 109,101, 32, 40,110, 41, 10,105,102, 32,115,101,108,102, 46,
31.516 + 112, 97,114,101,110,116, 32,116,104,101,110, 10,110, 32, 61,
31.517 + 32,115,101,108,102, 46,112, 97,114,101,110,116, 58, 99,102,
31.518 + 117,110, 99,110, 97,109,101, 40,110, 41, 10,101,110,100, 10,
31.519 + 10, 10, 10, 10,114,101,116,117,114,110, 32,110, 46, 46, 39,
31.520 + 95, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 10, 10,
31.521 + 101,110,100,32
31.522 + };
31.523 + luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") ||
31.524 + lua_pcall(tolua_S,0,LUA_MULTRET,0);
31.525 + } /* end of embedded lua code */
31.526 +
31.527 +
31.528 + { /* begin embedded lua code */
31.529 + static unsigned char B[] = {
31.530 + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
31.531 + 10, 10, 10, 99,108, 97,115,115, 86,101,114, 98, 97,116,105,
31.532 + 109, 32, 61, 32,123, 10,108,105,110,101, 32, 61, 32, 39, 39,
31.533 + 44, 10, 99,111,110,100, 32, 61, 32,110,105,108, 44, 10,125,
31.534 + 10, 99,108, 97,115,115, 86,101,114, 98, 97,116,105,109, 46,
31.535 + 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115,
31.536 + 86,101,114, 98, 97,116,105,109, 10,115,101,116,109,101,116,
31.537 + 97,116, 97, 98,108,101, 40, 99,108, 97,115,115, 86,101,114,
31.538 + 98, 97,116,105,109, 44, 99,108, 97,115,115, 70,101, 97,116,
31.539 + 117,114,101, 41, 10, 10, 10,102,117,110, 99,116,105,111,110,
31.540 + 32, 99,108, 97,115,115, 86,101,114, 98, 97,116,105,109, 58,
31.541 + 112,114,101, 97,109, 98,108,101, 32, 40, 41, 10,105,102, 32,
31.542 + 115,101,108,102, 46, 99,111,110,100, 32, 61, 61, 32, 39, 39,
31.543 + 32,116,104,101,110, 10,119,114,105,116,101, 40,115,101,108,
31.544 + 102, 46,108,105,110,101, 41, 10,101,110,100, 10,101,110,100,
31.545 + 10, 10, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,
31.546 + 115,115, 86,101,114, 98, 97,116,105,109, 58,115,117,112, 99,
31.547 + 111,100,101, 32, 40, 41, 10,105,102, 32,115,116,114,102,105,
31.548 + 110,100, 40,115,101,108,102, 46, 99,111,110,100, 44, 39,115,
31.549 + 39, 41, 32,116,104,101,110, 10,119,114,105,116,101, 40,115,
31.550 + 101,108,102, 46,108,105,110,101, 41, 10,119,114,105,116,101,
31.551 + 40, 39, 92,110, 39, 41, 10,101,110,100, 10,101,110,100, 10,
31.552 + 10, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,
31.553 + 115, 86,101,114, 98, 97,116,105,109, 58,114,101,103,105,115,
31.554 + 116,101,114, 32, 40, 41, 10,105,102, 32,115,116,114,102,105,
31.555 + 110,100, 40,115,101,108,102, 46, 99,111,110,100, 44, 39,114,
31.556 + 39, 41, 32,116,104,101,110, 10,119,114,105,116,101, 40,115,
31.557 + 101,108,102, 46,108,105,110,101, 41, 10,101,110,100, 10,101,
31.558 + 110,100, 10, 10, 10, 10,102,117,110, 99,116,105,111,110, 32,
31.559 + 99,108, 97,115,115, 86,101,114, 98, 97,116,105,109, 58,112,
31.560 + 114,105,110,116, 32, 40,105,100,101,110,116, 44, 99,108,111,
31.561 + 115,101, 41, 10,112,114,105,110,116, 40,105,100,101,110,116,
31.562 + 46, 46, 34, 86,101,114, 98, 97,116,105,109,123, 34, 41, 10,
31.563 + 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,
31.564 + 108,105,110,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102,
31.565 + 46,108,105,110,101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,
31.566 + 105,110,116, 40,105,100,101,110,116, 46, 46, 34,125, 34, 46,
31.567 + 46, 99,108,111,115,101, 41, 10,101,110,100, 10, 10, 10, 10,
31.568 + 102,117,110, 99,116,105,111,110, 32, 95, 86,101,114, 98, 97,
31.569 + 116,105,109, 32, 40,116, 41, 10,115,101,116,109,101,116, 97,
31.570 + 116, 97, 98,108,101, 40,116, 44, 99,108, 97,115,115, 86,101,
31.571 + 114, 98, 97,116,105,109, 41, 10, 97,112,112,101,110,100, 40,
31.572 + 116, 41, 10,114,101,116,117,114,110, 32,116, 10,101,110,100,
31.573 + 10, 10, 10, 10,102,117,110, 99,116,105,111,110, 32, 86,101,
31.574 + 114, 98, 97,116,105,109, 32, 40,108, 44, 99,111,110,100, 41,
31.575 + 10,105,102, 32,115,116,114,115,117, 98, 40,108, 44, 49, 44,
31.576 + 49, 41, 32, 61, 61, 32, 39, 36, 39, 32,116,104,101,110, 10,
31.577 + 99,111,110,100, 32, 61, 32, 39,115,114, 39, 10,108, 32, 61,
31.578 + 32,115,116,114,115,117, 98, 40,108, 44, 50, 41, 10,101,110,
31.579 + 100, 10,114,101,116,117,114,110, 32, 95, 86,101,114, 98, 97,
31.580 + 116,105,109, 32,123, 10,108,105,110,101, 32, 61, 32,108, 44,
31.581 + 10, 99,111,110,100, 32, 61, 32, 99,111,110,100, 32,111,114,
31.582 + 32, 39, 39, 44, 10,125, 10,101,110,100,32
31.583 + };
31.584 + luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") ||
31.585 + lua_pcall(tolua_S,0,LUA_MULTRET,0);
31.586 + } /* end of embedded lua code */
31.587 +
31.588 +
31.589 + { /* begin embedded lua code */
31.590 + static unsigned char B[] = {
31.591 + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
31.592 + 10, 10, 10, 99,108, 97,115,115, 67,111,100,101, 32, 61, 32,
31.593 + 123, 10,116,101,120,116, 32, 61, 32, 39, 39, 44, 10,125, 10,
31.594 + 99,108, 97,115,115, 67,111,100,101, 46, 95, 95,105,110,100,
31.595 + 101,120, 32, 61, 32, 99,108, 97,115,115, 67,111,100,101, 10,
31.596 + 115,101,116,109,101,116, 97,116, 97, 98,108,101, 40, 99,108,
31.597 + 97,115,115, 67,111,100,101, 44, 99,108, 97,115,115, 70,101,
31.598 + 97,116,117,114,101, 41, 10, 10, 10,102,117,110, 99,116,105,
31.599 + 111,110, 32, 99,108, 97,115,115, 67,111,100,101, 58,114,101,
31.600 + 103,105,115,116,101,114, 32, 40, 41, 10, 10,108,111, 99, 97,
31.601 + 108, 32,115, 32, 61, 32, 99,108,101, 97,110, 40,115,101,108,
31.602 + 102, 46,116,101,120,116, 41, 10,105,102, 32,110,111,116, 32,
31.603 + 115, 32,116,104,101,110, 10,101,114,114,111,114, 40, 34,112,
31.604 + 97,114,115,101,114, 32,101,114,114,111,114, 32,105,110, 32,
31.605 + 101,109, 98,101,100,100,101,100, 32, 99,111,100,101, 34, 41,
31.606 + 10,101,110,100, 10, 10, 10,111,117,116,112,117,116, 40, 39,
31.607 + 92,110, 32,123, 32, 47, 42, 32, 98,101,103,105,110, 32,101,
31.608 + 109, 98,101,100,100,101,100, 32,108,117, 97, 32, 99,111,100,
31.609 + 101, 32, 42, 47, 92,110, 39, 41, 10,111,117,116,112,117,116,
31.610 + 40, 39, 32,115,116, 97,116,105, 99, 32,117,110,115,105,103,
31.611 + 110,101,100, 32, 99,104, 97,114, 32, 66, 91, 93, 32, 61, 32,
31.612 + 123, 92,110, 32, 39, 41, 10,108,111, 99, 97,108, 32,116, 61,
31.613 + 123,110, 61, 48,125, 10,108,111, 99, 97,108, 32, 98, 32, 61,
31.614 + 32,103,115,117, 98, 40,115, 44, 39, 40, 46, 41, 39, 44,102,
31.615 + 117,110, 99,116,105,111,110, 32, 40, 99, 41, 10,108,111, 99,
31.616 + 97,108, 32,101, 32, 61, 32, 39, 39, 10,116, 46,110, 61,116,
31.617 + 46,110, 43, 49, 32,105,102, 32,116, 46,110, 61, 61, 49, 53,
31.618 + 32,116,104,101,110, 32,116, 46,110, 61, 48, 32,101, 61, 39,
31.619 + 92,110, 32, 39, 32,101,110,100, 10,114,101,116,117,114,110,
31.620 + 32,102,111,114,109, 97,116, 40, 39, 37, 51,117, 44, 37,115,
31.621 + 39, 44,115,116,114, 98,121,116,101, 40, 99, 41, 44,101, 41,
31.622 + 10,101,110,100, 10, 41, 10,111,117,116,112,117,116, 40, 98,
31.623 + 46, 46,115,116,114, 98,121,116,101, 40, 34, 32, 34, 41, 41,
31.624 + 10,111,117,116,112,117,116, 40, 39, 92,110, 32,125, 59, 92,
31.625 + 110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,108,117,
31.626 + 97, 76, 95,108,111, 97,100, 98,117,102,102,101,114, 40,116,
31.627 + 111,108,117, 97, 95, 83, 44, 40, 99,104, 97,114, 42, 41, 66,
31.628 + 44,115,105,122,101,111,102, 40, 66, 41, 44, 34,116,111,108,
31.629 + 117, 97, 58, 32,101,109, 98,101,100,100,101,100, 32, 76,117,
31.630 + 97, 32, 99,111,100,101, 34, 41, 32,124,124, 92,110, 39, 41,
31.631 + 10,111,117,116,112,117,116, 40, 39, 32,108,117, 97, 95,112,
31.632 + 99, 97,108,108, 40,116,111,108,117, 97, 95, 83, 44, 48, 44,
31.633 + 76, 85, 65, 95, 77, 85, 76, 84, 82, 69, 84, 44, 48, 41, 59,
31.634 + 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,125, 32, 47,
31.635 + 42, 32,101,110,100, 32,111,102, 32,101,109, 98,101,100,100,
31.636 + 101,100, 32,108,117, 97, 32, 99,111,100,101, 32, 42, 47, 92,
31.637 + 110, 92,110, 39, 41, 10,101,110,100, 10, 10, 10, 10,102,117,
31.638 + 110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67,111,100,
31.639 + 101, 58,112,114,105,110,116, 32, 40,105,100,101,110,116, 44,
31.640 + 99,108,111,115,101, 41, 10,112,114,105,110,116, 40,105,100,
31.641 + 101,110,116, 46, 46, 34, 67,111,100,101,123, 34, 41, 10,112,
31.642 + 114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,116,
31.643 + 101,120,116, 32, 61, 32, 91, 91, 34, 46, 46,115,101,108,102,
31.644 + 46,116,101,120,116, 46, 46, 34, 93, 93, 44, 34, 41, 10,112,
31.645 + 114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,125, 34,
31.646 + 46, 46, 99,108,111,115,101, 41, 10,101,110,100, 10, 10, 10,
31.647 + 10,102,117,110, 99,116,105,111,110, 32, 95, 67,111,100,101,
31.648 + 32, 40,116, 41, 10,115,101,116,109,101,116, 97,116, 97, 98,
31.649 + 108,101, 40,116, 44, 99,108, 97,115,115, 67,111,100,101, 41,
31.650 + 10, 97,112,112,101,110,100, 40,116, 41, 10,114,101,116,117,
31.651 + 114,110, 32,116, 10,101,110,100, 10, 10, 10, 10,102,117,110,
31.652 + 99,116,105,111,110, 32, 67,111,100,101, 32, 40,108, 41, 10,
31.653 + 114,101,116,117,114,110, 32, 95, 67,111,100,101, 32,123, 10,
31.654 + 116,101,120,116, 32, 61, 32,108, 10,125, 10,101,110,100,32
31.655 + };
31.656 + luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") ||
31.657 + lua_pcall(tolua_S,0,LUA_MULTRET,0);
31.658 + } /* end of embedded lua code */
31.659 +
31.660 +
31.661 + { /* begin embedded lua code */
31.662 + static unsigned char B[] = {
31.663 + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
31.664 + 10, 10, 10, 10, 10, 10, 10, 99,108, 97,115,115, 84,121,112,
31.665 + 101,100,101,102, 32, 61, 32,123, 10,117,116,121,112,101, 32,
31.666 + 61, 32, 39, 39, 44, 10,109,111,100, 32, 61, 32, 39, 39, 44,
31.667 + 10,116,121,112,101, 32, 61, 32, 39, 39, 10,125, 10, 99,108,
31.668 + 97,115,115, 84,121,112,101,100,101,102, 46, 95, 95,105,110,
31.669 + 100,101,120, 32, 61, 32, 99,108, 97,115,115, 84,121,112,101,
31.670 + 100,101,102, 10, 10, 10,102,117,110, 99,116,105,111,110, 32,
31.671 + 99,108, 97,115,115, 84,121,112,101,100,101,102, 58,112,114,
31.672 + 105,110,116, 32, 40,105,100,101,110,116, 44, 99,108,111,115,
31.673 + 101, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46,
31.674 + 46, 34, 84,121,112,101,100,101,102,123, 34, 41, 10,112,114,
31.675 + 105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,117,116,
31.676 + 121,112,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,
31.677 + 117,116,121,112,101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,
31.678 + 105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,109,111,
31.679 + 100, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,109,111,
31.680 + 100, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,
31.681 + 105,100,101,110,116, 46, 46, 34, 32,116,121,112,101, 32, 61,
31.682 + 32, 39, 34, 46, 46,115,101,108,102, 46,116,121,112,101, 46,
31.683 + 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,
31.684 + 101,110,116, 46, 46, 34,125, 34, 46, 46, 99,108,111,115,101,
31.685 + 41, 10,101,110,100, 10, 10, 10,102,117,110, 99,116,105,111,
31.686 + 110, 32, 99,108, 97,115,115, 84,121,112,101,100,101,102, 58,
31.687 + 105,115,118, 97,114,105, 97, 98,108,101, 32, 40, 41, 10,114,
31.688 + 101,116,117,114,110, 32,102, 97,108,115,101, 10,101,110,100,
31.689 + 10, 10, 10,102,117,110, 99,116,105,111,110, 32, 95, 84,121,
31.690 + 112,101,100,101,102, 32, 40,116, 41, 10,115,101,116,109,101,
31.691 + 116, 97,116, 97, 98,108,101, 40,116, 44, 99,108, 97,115,115,
31.692 + 84,121,112,101,100,101,102, 41, 10, 97,112,112,101,110,100,
31.693 + 116,121,112,101,100,101,102, 40,116, 41, 10,114,101,116,117,
31.694 + 114,110, 32,116, 10,101,110,100, 10, 10, 10, 10,102,117,110,
31.695 + 99,116,105,111,110, 32, 84,121,112,101,100,101,102, 32, 40,
31.696 + 115, 41, 10,105,102, 32,115,116,114,102,105,110,100, 40,115,
31.697 + 44, 39, 91, 37, 42, 38, 93, 39, 41, 32,116,104,101,110, 10,
31.698 + 116,111,108,117, 97, 95,101,114,114,111,114, 40, 34, 35,105,
31.699 + 110,118, 97,108,105,100, 32,116,121,112,101,100,101,102, 58,
31.700 + 32,112,111,105,110,116,101,114,115, 32, 40, 97,110,100, 32,
31.701 + 114,101,102,101,114,101,110, 99,101,115, 41, 32, 97,114,101,
31.702 + 32,110,111,116, 32,115,117,112,112,111,114,116,101,100, 34,
31.703 + 41, 10,101,110,100, 10,108,111, 99, 97,108, 32,116, 32, 61,
31.704 + 32,115,112,108,105,116, 40,103,115,117, 98, 40,115, 44, 34,
31.705 + 37,115, 37,115, 42, 34, 44, 34, 32, 34, 41, 44, 34, 32, 34,
31.706 + 41, 10,114,101,116,117,114,110, 32, 95, 84,121,112,101,100,
31.707 + 101,102, 32,123, 10,117,116,121,112,101, 32, 61, 32,116, 91,
31.708 + 116, 46,110, 93, 44, 10,116,121,112,101, 32, 61, 32,116, 91,
31.709 + 116, 46,110, 45, 49, 93, 44, 10,109,111,100, 32, 61, 32, 99,
31.710 + 111,110, 99, 97,116, 40,116, 44, 49, 44,116, 46,110, 45, 50,
31.711 + 41, 44, 10,125, 10,101,110,100,32
31.712 + };
31.713 + luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") ||
31.714 + lua_pcall(tolua_S,0,LUA_MULTRET,0);
31.715 + } /* end of embedded lua code */
31.716 +
31.717 +
31.718 + { /* begin embedded lua code */
31.719 + static unsigned char B[] = {
31.720 + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
31.721 + 10, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114,
31.722 + 32, 61, 10,123, 10, 99,117,114,114, 32, 61, 32,110,105,108,
31.723 + 44, 10,125, 10, 99,108, 97,115,115, 67,111,110,116, 97,105,
31.724 + 110,101,114, 46, 95, 95,105,110,100,101,120, 32, 61, 32, 99,
31.725 + 108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 10,115,
31.726 + 101,116,109,101,116, 97,116, 97, 98,108,101, 40, 99,108, 97,
31.727 + 115,115, 67,111,110,116, 97,105,110,101,114, 44, 99,108, 97,
31.728 + 115,115, 70,101, 97,116,117,114,101, 41, 10, 10, 10,102,117,
31.729 + 110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67,111,110,
31.730 + 116, 97,105,110,101,114, 58,100,101, 99,108,116,121,112,101,
31.731 + 32, 40, 41, 10,112,117,115,104, 40,115,101,108,102, 41, 10,
31.732 + 108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101,
31.733 + 32,115,101,108,102, 91,105, 93, 32,100,111, 10,115,101,108,
31.734 + 102, 91,105, 93, 58,100,101, 99,108,116,121,112,101, 40, 41,
31.735 + 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,112,111,
31.736 + 112, 40, 41, 10,101,110,100, 10, 10, 10, 10,102,117,110, 99,
31.737 + 116,105,111,110, 32, 99,108, 97,115,115, 67,111,110,116, 97,
31.738 + 105,110,101,114, 58,115,117,112, 99,111,100,101, 32, 40, 41,
31.739 + 10,112,117,115,104, 40,115,101,108,102, 41, 10,108,111, 99,
31.740 + 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115,101,
31.741 + 108,102, 91,105, 93, 32,100,111, 10,115,101,108,102, 91,105,
31.742 + 93, 58,115,117,112, 99,111,100,101, 40, 41, 10,105, 32, 61,
31.743 + 32,105, 43, 49, 10,101,110,100, 10,112,111,112, 40, 41, 10,
31.744 + 101,110,100, 10, 10,102,117,110, 99,116,105,111,110, 32, 99,
31.745 + 108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 58,104,
31.746 + 97,115,118, 97,114, 32, 40, 41, 10,108,111, 99, 97,108, 32,
31.747 + 105, 61, 49, 10,119,104,105,108,101, 32,115,101,108,102, 91,
31.748 + 105, 93, 32,100,111, 10,105,102, 32,115,101,108,102, 91,105,
31.749 + 93, 58,105,115,118, 97,114,105, 97, 98,108,101, 40, 41, 32,
31.750 + 116,104,101,110, 10,114,101,116,117,114,110, 32, 49, 10,101,
31.751 + 110,100, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,
31.752 + 114,101,116,117,114,110, 32, 48, 10,101,110,100, 10, 10, 10,
31.753 + 102,117,110, 99,116,105,111,110, 32, 95, 67,111,110,116, 97,
31.754 + 105,110,101,114, 32, 40,115,101,108,102, 41, 10,115,101,116,
31.755 + 109,101,116, 97,116, 97, 98,108,101, 40,115,101,108,102, 44,
31.756 + 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 41,
31.757 + 10,115,101,108,102, 46,110, 32, 61, 32, 48, 10,115,101,108,
31.758 + 102, 46,116,121,112,101,100,101,102,115, 32, 61, 32,123,116,
31.759 + 111,108,117, 97, 95,110, 61, 48,125, 10,115,101,108,102, 46,
31.760 + 117,115,101,114,116,121,112,101,115, 32, 61, 32,123,125, 10,
31.761 + 115,101,108,102, 46,101,110,117,109,115, 32, 61, 32,123,116,
31.762 + 111,108,117, 97, 95,110, 61, 48,125, 10,115,101,108,102, 46,
31.763 + 108,110, 97,109,101,115, 32, 61, 32,123,125, 10,114,101,116,
31.764 + 117,114,110, 32,115,101,108,102, 10,101,110,100, 10, 10, 10,
31.765 + 102,117,110, 99,116,105,111,110, 32,112,117,115,104, 32, 40,
31.766 + 116, 41, 10,116, 46,112,114,111,120, 32, 61, 32, 99,108, 97,
31.767 + 115,115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,
31.768 + 114, 10, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,
31.769 + 114, 46, 99,117,114,114, 32, 61, 32,116, 10,101,110,100, 10,
31.770 + 10, 10,102,117,110, 99,116,105,111,110, 32,112,111,112, 32,
31.771 + 40, 41, 10, 10, 10, 10, 99,108, 97,115,115, 67,111,110,116,
31.772 + 97,105,110,101,114, 46, 99,117,114,114, 32, 61, 32, 99,108,
31.773 + 97,115,115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,
31.774 + 114,114, 46,112,114,111,120, 10,101,110,100, 10, 10, 10,102,
31.775 + 117,110, 99,116,105,111,110, 32,103,101,116, 99,117,114,114,
31.776 + 110, 97,109,101,115,112, 97, 99,101, 32, 40, 41, 10,114,101,
31.777 + 116,117,114,110, 32,103,101,116,110, 97,109,101,115,112, 97,
31.778 + 99,101, 40, 99,108, 97,115,115, 67,111,110,116, 97,105,110,
31.779 + 101,114, 46, 99,117,114,114, 41, 10,101,110,100, 10, 10, 10,
31.780 + 102,117,110, 99,116,105,111,110, 32, 97,112,112,101,110,100,
31.781 + 32, 40,116, 41, 10,114,101,116,117,114,110, 32, 99,108, 97,
31.782 + 115,115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,
31.783 + 114, 58, 97,112,112,101,110,100, 40,116, 41, 10,101,110,100,
31.784 + 10, 10, 10,102,117,110, 99,116,105,111,110, 32, 97,112,112,
31.785 + 101,110,100,116,121,112,101,100,101,102, 32, 40,116, 41, 10,
31.786 + 114,101,116,117,114,110, 32, 99,108, 97,115,115, 67,111,110,
31.787 + 116, 97,105,110,101,114, 46, 99,117,114,114, 58, 97,112,112,
31.788 + 101,110,100,116,121,112,101,100,101,102, 40,116, 41, 10,101,
31.789 + 110,100, 10, 10, 10,102,117,110, 99,116,105,111,110, 32, 97,
31.790 + 112,112,101,110,100,117,115,101,114,116,121,112,101, 32, 40,
31.791 + 116, 41, 10,114,101,116,117,114,110, 32, 99,108, 97,115,115,
31.792 + 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 58,
31.793 + 97,112,112,101,110,100,117,115,101,114,116,121,112,101, 40,
31.794 + 116, 41, 10,101,110,100, 10, 10, 10,102,117,110, 99,116,105,
31.795 + 111,110, 32, 97,112,112,101,110,100,101,110,117,109, 32, 40,
31.796 + 116, 41, 10,114,101,116,117,114,110, 32, 99,108, 97,115,115,
31.797 + 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 58,
31.798 + 97,112,112,101,110,100,101,110,117,109, 40,116, 41, 10,101,
31.799 + 110,100, 10, 10, 10,102,117,110, 99,116,105,111,110, 32, 97,
31.800 + 112,112,108,121,116,121,112,101,100,101,102, 32, 40,116,121,
31.801 + 112,101, 41, 10,114,101,116,117,114,110, 32, 99,108, 97,115,
31.802 + 115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114,
31.803 + 58, 97,112,112,108,121,116,121,112,101,100,101,102, 40,116,
31.804 + 121,112,101, 41, 10,101,110,100, 10, 10, 10,102,117,110, 99,
31.805 + 116,105,111,110, 32,102,105,110,100,116,121,112,101, 32, 40,
31.806 + 116,121,112,101, 41, 10,108,111, 99, 97,108, 32,116, 32, 61,
31.807 + 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114,
31.808 + 46, 99,117,114,114, 58,102,105,110,100,116,121,112,101, 40,
31.809 + 116,121,112,101, 41, 10,114,101,116,117,114,110, 32,116, 10,
31.810 + 101,110,100, 10, 10, 10,102,117,110, 99,116,105,111,110, 32,
31.811 + 105,115,116,121,112,101,100,101,102, 32, 40,116,121,112,101,
31.812 + 41, 10,114,101,116,117,114,110, 32, 99,108, 97,115,115, 67,
31.813 + 111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 58,105,
31.814 + 115,116,121,112,101,100,101,102, 40,116,121,112,101, 41, 10,
31.815 + 101,110,100, 10, 10, 10,102,117,110, 99,116,105,111,110, 32,
31.816 + 102,117,108,108,116,121,112,101, 32, 40,116, 41, 10,108,111,
31.817 + 99, 97,108, 32, 99,117,114,114, 32, 61, 32, 99,108, 97,115,
31.818 + 115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114,
31.819 + 10,119,104,105,108,101, 32, 99,117,114,114, 32,100,111, 10,
31.820 + 105,102, 32, 99,117,114,114, 32,116,104,101,110, 10,105,102,
31.821 + 32, 99,117,114,114, 46,116,121,112,101,100,101,102,115, 32,
31.822 + 97,110,100, 32, 99,117,114,114, 46,116,121,112,101,100,101,
31.823 + 102,115, 91,116, 93, 32,116,104,101,110, 10,114,101,116,117,
31.824 + 114,110, 32, 99,117,114,114, 46,116,121,112,101,100,101,102,
31.825 + 115, 91,116, 93, 10,101,108,115,101,105,102, 32, 99,117,114,
31.826 + 114, 46,117,115,101,114,116,121,112,101,115, 32, 97,110,100,
31.827 + 32, 99,117,114,114, 46,117,115,101,114,116,121,112,101,115,
31.828 + 91,116, 93, 32,116,104,101,110, 10,114,101,116,117,114,110,
31.829 + 32, 99,117,114,114, 46,117,115,101,114,116,121,112,101,115,
31.830 + 91,116, 93, 10,101,110,100, 10,101,110,100, 10, 99,117,114,
31.831 + 114, 32, 61, 32, 99,117,114,114, 46,112,114,111,120, 10,101,
31.832 + 110,100, 10,114,101,116,117,114,110, 32,116, 10,101,110,100,
31.833 + 10, 10, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,
31.834 + 115,115, 67,111,110,116, 97,105,110,101,114, 58,114,101,113,
31.835 + 117,105,114,101, 99,111,108,108,101, 99,116,105,111,110, 32,
31.836 + 40,116, 41, 10,112,117,115,104, 40,115,101,108,102, 41, 10,
31.837 + 108,111, 99, 97,108, 32,105, 61, 49, 10,108,111, 99, 97,108,
31.838 + 32,114, 32, 61, 32,102, 97,108,115,101, 10,119,104,105,108,
31.839 + 101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10,114, 32,
31.840 + 61, 32,115,101,108,102, 91,105, 93, 58,114,101,113,117,105,
31.841 + 114,101, 99,111,108,108,101, 99,116,105,111,110, 40,116, 41,
31.842 + 32,111,114, 32,114, 10,105, 32, 61, 32,105, 43, 49, 10,101,
31.843 + 110,100, 10,112,111,112, 40, 41, 10,114,101,116,117,114,110,
31.844 + 32,114, 10,101,110,100, 10, 10, 10, 10,102,117,110, 99,116,
31.845 + 105,111,110, 32,103,101,116,110, 97,109,101,115,112, 97, 99,
31.846 + 101, 32, 40, 99,117,114,114, 41, 10,108,111, 99, 97,108, 32,
31.847 + 110, 97,109,101,115,112, 97, 99,101, 32, 61, 32, 39, 39, 10,
31.848 + 119,104,105,108,101, 32, 99,117,114,114, 32,100,111, 10,105,
31.849 + 102, 32, 99,117,114,114, 32, 97,110,100, 10, 40, 32, 99,117,
31.850 + 114,114, 46, 99,108, 97,115,115,116,121,112,101, 32, 61, 61,
31.851 + 32, 39, 99,108, 97,115,115, 39, 32,111,114, 32, 99,117,114,
31.852 + 114, 46, 99,108, 97,115,115,116,121,112,101, 32, 61, 61, 32,
31.853 + 39,110, 97,109,101,115,112, 97, 99,101, 39, 41, 10,116,104,
31.854 + 101,110, 10,110, 97,109,101,115,112, 97, 99,101, 32, 61, 32,
31.855 + 99,117,114,114, 46,110, 97,109,101, 32, 46, 46, 32, 39, 58,
31.856 + 58, 39, 32, 46, 46, 32,110, 97,109,101,115,112, 97, 99,101,
31.857 + 10,101,110,100, 10, 99,117,114,114, 32, 61, 32, 99,117,114,
31.858 + 114, 46,112,114,111,120, 10,101,110,100, 10,114,101,116,117,
31.859 + 114,110, 32,110, 97,109,101,115,112, 97, 99,101, 10,101,110,
31.860 + 100, 10, 10, 10,102,117,110, 99,116,105,111,110, 32,103,101,
31.861 + 116,111,110,108,121,110, 97,109,101,115,112, 97, 99,101, 32,
31.862 + 40, 41, 10,108,111, 99, 97,108, 32, 99,117,114,114, 32, 61,
31.863 + 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114,
31.864 + 46, 99,117,114,114, 10,108,111, 99, 97,108, 32,110, 97,109,
31.865 + 101,115,112, 97, 99,101, 32, 61, 32, 39, 39, 10,119,104,105,
31.866 + 108,101, 32, 99,117,114,114, 32,100,111, 10,105,102, 32, 99,
31.867 + 117,114,114, 46, 99,108, 97,115,115,116,121,112,101, 32, 61,
31.868 + 61, 32, 39, 99,108, 97,115,115, 39, 32,116,104,101,110, 10,
31.869 + 114,101,116,117,114,110, 32,110, 97,109,101,115,112, 97, 99,
31.870 + 101, 10,101,108,115,101,105,102, 32, 99,117,114,114, 46, 99,
31.871 + 108, 97,115,115,116,121,112,101, 32, 61, 61, 32, 39,110, 97,
31.872 + 109,101,115,112, 97, 99,101, 39, 32,116,104,101,110, 10,110,
31.873 + 97,109,101,115,112, 97, 99,101, 32, 61, 32, 99,117,114,114,
31.874 + 46,110, 97,109,101, 32, 46, 46, 32, 39, 58, 58, 39, 32, 46,
31.875 + 46, 32,110, 97,109,101,115,112, 97, 99,101, 10,101,110,100,
31.876 + 10, 99,117,114,114, 32, 61, 32, 99,117,114,114, 46,112,114,
31.877 + 111,120, 10,101,110,100, 10,114,101,116,117,114,110, 32,110,
31.878 + 97,109,101,115,112, 97, 99,101, 10,101,110,100, 10, 10, 10,
31.879 + 102,117,110, 99,116,105,111,110, 32,105,115,101,110,117,109,
31.880 + 32, 40,116,121,112,101, 41, 10,114,101,116,117,114,110, 32,
31.881 + 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 46,
31.882 + 99,117,114,114, 58,105,115,101,110,117,109, 40,116,121,112,
31.883 + 101, 41, 10,101,110,100, 10, 10, 10,102,117,110, 99,116,105,
31.884 + 111,110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,
31.885 + 101,114, 58, 97,112,112,101,110,100, 32, 40,116, 41, 10,115,
31.886 + 101,108,102, 46,110, 32, 61, 32,115,101,108,102, 46,110, 32,
31.887 + 43, 32, 49, 10,115,101,108,102, 91,115,101,108,102, 46,110,
31.888 + 93, 32, 61, 32,116, 10,116, 46,112, 97,114,101,110,116, 32,
31.889 + 61, 32,115,101,108,102, 10,101,110,100, 10, 10, 10,102,117,
31.890 + 110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67,111,110,
31.891 + 116, 97,105,110,101,114, 58, 97,112,112,101,110,100,116,121,
31.892 + 112,101,100,101,102, 32, 40,116, 41, 10,115,101,108,102, 46,
31.893 + 116,121,112,101,100,101,102,115, 46,116,111,108,117, 97, 95,
31.894 + 110, 32, 61, 32,115,101,108,102, 46,116,121,112,101,100,101,
31.895 + 102,115, 46,116,111,108,117, 97, 95,110, 32, 43, 32, 49, 10,
31.896 + 115,101,108,102, 46,116,121,112,101,100,101,102,115, 91,115,
31.897 + 101,108,102, 46,116,121,112,101,100,101,102,115, 46,116,111,
31.898 + 108,117, 97, 95,110, 93, 32, 61, 32,116, 10,115,101,108,102,
31.899 + 46,116,121,112,101,100,101,102,115, 91,116, 46,117,116,121,
31.900 + 112,101, 93, 32, 61, 32,103,101,116,110, 97,109,101,115,112,
31.901 + 97, 99,101, 40, 99,108, 97,115,115, 67,111,110,116, 97,105,
31.902 + 110,101,114, 46, 99,117,114,114, 41, 32, 46, 46, 32,116, 46,
31.903 + 117,116,121,112,101, 10,101,110,100, 10, 10, 10,102,117,110,
31.904 + 99,116,105,111,110, 32, 99,108, 97,115,115, 67,111,110,116,
31.905 + 97,105,110,101,114, 58, 97,112,112,101,110,100,117,115,101,
31.906 + 114,116,121,112,101, 32, 40,116, 41, 10,108,111, 99, 97,108,
31.907 + 32, 99,111,110,116, 97,105,110,101,114, 10,105,102, 32,116,
31.908 + 32, 61, 61, 32,115,101,108,102, 46,110, 97,109,101, 32,116,
31.909 + 104,101,110, 10, 99,111,110,116, 97,105,110,101,114, 32, 61,
31.910 + 32,115,101,108,102, 46,112,114,111,120, 10,101,108,115,101,
31.911 + 10, 99,111,110,116, 97,105,110,101,114, 32, 61, 32,115,101,
31.912 + 108,102, 10,101,110,100, 10,108,111, 99, 97,108, 32,102,116,
31.913 + 32, 61, 32,103,101,116,110, 97,109,101,115,112, 97, 99,101,
31.914 + 40, 99,111,110,116, 97,105,110,101,114, 41, 32, 46, 46, 32,
31.915 + 116, 10, 99,111,110,116, 97,105,110,101,114, 46,117,115,101,
31.916 + 114,116,121,112,101,115, 91,116, 93, 32, 61, 32,102,116, 10,
31.917 + 95,117,115,101,114,116,121,112,101, 91,102,116, 93, 32, 61,
31.918 + 32,102,116, 10,114,101,116,117,114,110, 32,102,116, 10,101,
31.919 + 110,100, 10, 10, 10,102,117,110, 99,116,105,111,110, 32, 99,
31.920 + 108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 58, 97,
31.921 + 112,112,101,110,100,101,110,117,109, 32, 40,116, 41, 10,115,
31.922 + 101,108,102, 46,101,110,117,109,115, 46,116,111,108,117, 97,
31.923 + 95,110, 32, 61, 32,115,101,108,102, 46,101,110,117,109,115,
31.924 + 46,116,111,108,117, 97, 95,110, 32, 43, 32, 49, 10,115,101,
31.925 + 108,102, 46,101,110,117,109,115, 91,115,101,108,102, 46,101,
31.926 + 110,117,109,115, 46,116,111,108,117, 97, 95,110, 93, 32, 61,
31.927 + 32,116, 10,101,110,100, 10, 10, 10,102,117,110, 99,116,105,
31.928 + 111,110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,
31.929 + 101,114, 58,111,118,101,114,108,111, 97,100, 32, 40,108,110,
31.930 + 97,109,101, 41, 10,105,102, 32,110,111,116, 32,115,101,108,
31.931 + 102, 46,108,110, 97,109,101,115, 91,108,110, 97,109,101, 93,
31.932 + 32,116,104,101,110, 10,115,101,108,102, 46,108,110, 97,109,
31.933 + 101,115, 91,108,110, 97,109,101, 93, 32, 61, 32, 48, 10,101,
31.934 + 108,115,101, 10,115,101,108,102, 46,108,110, 97,109,101,115,
31.935 + 91,108,110, 97,109,101, 93, 32, 61, 32,115,101,108,102, 46,
31.936 + 108,110, 97,109,101,115, 91,108,110, 97,109,101, 93, 32, 43,
31.937 + 32, 49, 10,101,110,100, 10,114,101,116,117,114,110, 32,102,
31.938 + 111,114,109, 97,116, 40, 34, 37, 48, 50,100, 34, 44,115,101,
31.939 + 108,102, 46,108,110, 97,109,101,115, 91,108,110, 97,109,101,
31.940 + 93, 41, 10,101,110,100, 10, 10, 10,102,117,110, 99,116,105,
31.941 + 111,110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,
31.942 + 101,114, 58, 97,112,112,108,121,116,121,112,101,100,101,102,
31.943 + 32, 40,116,121,112,101, 41, 10,108,111, 99, 97,108, 32, 98,
31.944 + 97,115,101,116,121,112,101, 32, 61, 32,103,115,117, 98, 40,
31.945 + 116,121,112,101, 44, 34, 94, 46, 42, 58, 58, 34, 44, 34, 34,
31.946 + 41, 10,108,111, 99, 97,108, 32,101,110,118, 32, 61, 32,115,
31.947 + 101,108,102, 10,119,104,105,108,101, 32,101,110,118, 32,100,
31.948 + 111, 10,105,102, 32,101,110,118, 46,116,121,112,101,100,101,
31.949 + 102,115, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,105,
31.950 + 61, 49, 10,119,104,105,108,101, 32,101,110,118, 46,116,121,
31.951 + 112,101,100,101,102,115, 91,105, 93, 32,100,111, 10,105,102,
31.952 + 32,101,110,118, 46,116,121,112,101,100,101,102,115, 91,105,
31.953 + 93, 46,117,116,121,112,101, 32, 61, 61, 32, 98, 97,115,101,
31.954 + 116,121,112,101, 32,116,104,101,110, 10,108,111, 99, 97,108,
31.955 + 32,109,111,100, 49, 44,116,121,112,101, 49, 32, 61, 32,101,
31.956 + 110,118, 46,116,121,112,101,100,101,102,115, 91,105, 93, 46,
31.957 + 109,111,100, 44,101,110,118, 46,116,121,112,101,100,101,102,
31.958 + 115, 91,105, 93, 46,116,121,112,101, 10,108,111, 99, 97,108,
31.959 + 32,109,111,100, 50, 44,116,121,112,101, 50, 32, 61, 32, 97,
31.960 + 112,112,108,121,116,121,112,101,100,101,102, 40,116,121,112,
31.961 + 101, 49, 41, 10,114,101,116,117,114,110, 32,109,111,100, 50,
31.962 + 46, 46, 39, 32, 39, 46, 46,109,111,100, 49, 44,116,121,112,
31.963 + 101, 50, 10,101,110,100, 10,105, 32, 61, 32,105, 43, 49, 10,
31.964 + 101,110,100, 10,101,110,100, 10,101,110,118, 32, 61, 32,101,
31.965 + 110,118, 46,112, 97,114,101,110,116, 10,101,110,100, 10,114,
31.966 + 101,116,117,114,110, 32, 39, 39, 44,116,121,112,101, 10,101,
31.967 + 110,100, 10, 10, 10,102,117,110, 99,116,105,111,110, 32, 99,
31.968 + 108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 58,105,
31.969 + 115,116,121,112,101,100,101,102, 32, 40,116,121,112,101, 41,
31.970 + 10,108,111, 99, 97,108, 32,101,110,118, 32, 61, 32,115,101,
31.971 + 108,102, 10,119,104,105,108,101, 32,101,110,118, 32,100,111,
31.972 + 10,105,102, 32,101,110,118, 46,116,121,112,101,100,101,102,
31.973 + 115, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,105, 61,
31.974 + 49, 10,119,104,105,108,101, 32,101,110,118, 46,116,121,112,
31.975 + 101,100,101,102,115, 91,105, 93, 32,100,111, 10,105,102, 32,
31.976 + 101,110,118, 46,116,121,112,101,100,101,102,115, 91,105, 93,
31.977 + 46,117,116,121,112,101, 32, 61, 61, 32,116,121,112,101, 32,
31.978 + 116,104,101,110, 10,114,101,116,117,114,110, 32,116,121,112,
31.979 + 101, 10,101,110,100, 10,105, 32, 61, 32,105, 43, 49, 10,101,
31.980 + 110,100, 10,101,110,100, 10,101,110,118, 32, 61, 32,101,110,
31.981 + 118, 46,112, 97,114,101,110,116, 10,101,110,100, 10,114,101,
31.982 + 116,117,114,110, 32,110,105,108, 10,101,110,100, 10, 10, 10,
31.983 + 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67,
31.984 + 111,110,116, 97,105,110,101,114, 58,102,105,110,100,116,121,
31.985 + 112,101, 32, 40,116, 41, 10,108,111, 99, 97,108, 32, 99,117,
31.986 + 114,114, 32, 61, 32,115,101,108,102, 10,119,104,105,108,101,
31.987 + 32, 99,117,114,114, 32,100,111, 10,105,102, 32, 99,117,114,
31.988 + 114, 46,116,121,112,101,100,101,102,115, 32, 97,110,100, 32,
31.989 + 99,117,114,114, 46,116,121,112,101,100,101,102,115, 91,116,
31.990 + 93, 32,116,104,101,110, 10,114,101,116,117,114,110, 32, 99,
31.991 + 117,114,114, 46,116,121,112,101,100,101,102,115, 91,116, 93,
31.992 + 10,101,108,115,101,105,102, 32, 99,117,114,114, 46,117,115,
31.993 + 101,114,116,121,112,101,115, 32, 97,110,100, 32, 99,117,114,
31.994 + 114, 46,117,115,101,114,116,121,112,101,115, 91,116, 93, 32,
31.995 + 116,104,101,110, 10,114,101,116,117,114,110, 32, 99,117,114,
31.996 + 114, 46,117,115,101,114,116,121,112,101,115, 91,116, 93, 10,
31.997 + 101,110,100, 10, 99,117,114,114, 32, 61, 32, 99,117,114,114,
31.998 + 46,112,114,111,120, 10,101,110,100, 10,105,102, 32, 95, 98,
31.999 + 97,115,105, 99, 91,116, 93, 32,116,104,101,110, 10,114,101,
31.1000 + 116,117,114,110, 32,116, 10,101,110,100, 10,114,101,116,117,
31.1001 + 114,110, 32,110,105,108, 10,101,110,100, 10, 10, 10,102,117,
31.1002 + 110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67,111,110,
31.1003 + 116, 97,105,110,101,114, 58,105,115,101,110,117,109, 32, 40,
31.1004 + 116,121,112,101, 41, 10,108,111, 99, 97,108, 32, 98, 97,115,
31.1005 + 101,116,121,112,101, 32, 61, 32,103,115,117, 98, 40,116,121,
31.1006 + 112,101, 44, 34, 94, 46, 42, 58, 58, 34, 44, 34, 34, 41, 10,
31.1007 + 108,111, 99, 97,108, 32,101,110,118, 32, 61, 32,115,101,108,
31.1008 + 102, 10,119,104,105,108,101, 32,101,110,118, 32,100,111, 10,
31.1009 + 105,102, 32,101,110,118, 46,101,110,117,109,115, 32,116,104,
31.1010 + 101,110, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,
31.1011 + 105,108,101, 32,101,110,118, 46,101,110,117,109,115, 91,105,
31.1012 + 93, 32,100,111, 10,105,102, 32,101,110,118, 46,101,110,117,
31.1013 + 109,115, 91,105, 93, 46,110, 97,109,101, 32, 61, 61, 32, 98,
31.1014 + 97,115,101,116,121,112,101, 32,116,104,101,110, 10,114,101,
31.1015 + 116,117,114,110, 32, 49, 10,101,110,100, 10,105, 32, 61, 32,
31.1016 + 105, 43, 49, 10,101,110,100, 10,101,110,100, 10,101,110,118,
31.1017 + 32, 61, 32,101,110,118, 46,112, 97,114,101,110,116, 10,101,
31.1018 + 110,100, 10,114,101,116,117,114,110, 32,110,105,108, 10,101,
31.1019 + 110,100, 10, 10, 10,102,117,110, 99,116,105,111,110, 32, 99,
31.1020 + 108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 58,100,
31.1021 + 111,112, 97,114,115,101, 32, 40,115, 41, 10, 10, 10,100,111,
31.1022 + 10,108,111, 99, 97,108, 32, 98, 44,101, 44, 99,111,100,101,
31.1023 + 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94,
31.1024 + 37,115, 42, 40, 37, 98, 92, 49, 92, 50, 41, 34, 41, 10,105,
31.1025 + 102, 32, 98, 32,116,104,101,110, 10, 67,111,100,101, 40,115,
31.1026 + 116,114,115,117, 98, 40, 99,111,100,101, 44, 50, 44, 45, 50,
31.1027 + 41, 41, 10,114,101,116,117,114,110, 32,115,116,114,115,117,
31.1028 + 98, 40,115, 44,101, 43, 49, 41, 10,101,110,100, 10,101,110,
31.1029 + 100, 10, 10, 10,100,111, 10,108,111, 99, 97,108, 32, 98, 44,
31.1030 + 101, 44, 99,111,100,101, 32, 61, 32,115,116,114,102,105,110,
31.1031 + 100, 40,115, 44, 34, 94, 37,115, 42, 40, 37, 98, 92, 51, 92,
31.1032 + 52, 41, 34, 41, 10,105,102, 32, 98, 32,116,104,101,110, 10,
31.1033 + 99,111,100,101, 32, 61, 32, 39,123, 39, 46, 46,115,116,114,
31.1034 + 115,117, 98, 40, 99,111,100,101, 44, 50, 44, 45, 50, 41, 46,
31.1035 + 46, 39, 92,110,125, 92,110, 39, 10, 86,101,114, 98, 97,116,
31.1036 + 105,109, 40, 99,111,100,101, 44, 39,114, 39, 41, 10,114,101,
31.1037 + 116,117,114,110, 32,115,116,114,115,117, 98, 40,115, 44,101,
31.1038 + 43, 49, 41, 10,101,110,100, 10,101,110,100, 10, 10, 10,100,
31.1039 + 111, 10,108,111, 99, 97,108, 32, 98, 44,101, 44,108,105,110,
31.1040 + 101, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34,
31.1041 + 94, 37,115, 42, 37, 36, 40, 46, 45, 92,110, 41, 34, 41, 10,
31.1042 + 105,102, 32, 98, 32,116,104,101,110, 10, 86,101,114, 98, 97,
31.1043 + 116,105,109, 40,108,105,110,101, 41, 10,114,101,116,117,114,
31.1044 + 110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41,
31.1045 + 10,101,110,100, 10,101,110,100, 10, 10, 10, 10,100,111, 10,
31.1046 + 108,111, 99, 97,108, 32, 98, 44,101, 44,110, 97,109,101, 44,
31.1047 + 98,111,100,121, 32, 61, 32,115,116,114,102,105,110,100, 40,
31.1048 + 115, 44, 34, 94, 37,115, 42,109,111,100,117,108,101, 37,115,
31.1049 + 37,115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 93, 42,
31.1050 + 41, 37,115, 42, 40, 37, 98,123,125, 41, 37,115, 42, 34, 41,
31.1051 + 10,105,102, 32, 98, 32,116,104,101,110, 10, 95, 99,117,114,
31.1052 + 114, 95, 99,111,100,101, 32, 61, 32,115,116,114,115,117, 98,
31.1053 + 40,115, 44, 98, 44,101, 41, 10, 77,111,100,117,108,101, 40,
31.1054 + 110, 97,109,101, 44, 98,111,100,121, 41, 10,114,101,116,117,
31.1055 + 114,110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49,
31.1056 + 41, 10,101,110,100, 10,101,110,100, 10, 10, 10,100,111, 10,
31.1057 + 108,111, 99, 97,108, 32, 98, 44,101, 44,110, 97,109,101, 44,
31.1058 + 98,111,100,121, 32, 61, 32,115,116,114,102,105,110,100, 40,
31.1059 + 115, 44, 34, 94, 37,115, 42,110, 97,109,101,115,112, 97, 99,
31.1060 + 101, 37,115, 37,115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,
31.1061 + 119, 93, 42, 41, 37,115, 42, 40, 37, 98,123,125, 41, 37,115,
31.1062 + 42, 34, 41, 10,105,102, 32, 98, 32,116,104,101,110, 10, 95,
31.1063 + 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,115,116,114,
31.1064 + 115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 78, 97,109,101,
31.1065 + 115,112, 97, 99,101, 40,110, 97,109,101, 44, 98,111,100,121,
31.1066 + 41, 10,114,101,116,117,114,110, 32,115,116,114,115,117, 98,
31.1067 + 40,115, 44,101, 43, 49, 41, 10,101,110,100, 10,101,110,100,
31.1068 + 10, 10, 10,100,111, 10,108,111, 99, 97,108, 32, 98, 44,101,
31.1069 + 44,110, 97,109,101, 32, 61, 32,115,116,114,102,105,110,100,
31.1070 + 40,115, 44, 34, 94, 37,115, 42, 35,100,101,102,105,110,101,
31.1071 + 37,115, 37,115, 42, 40, 91, 94, 37,115, 93, 42, 41, 91, 94,
31.1072 + 92,110, 93, 42, 92,110, 37,115, 42, 34, 41, 10,105,102, 32,
31.1073 + 98, 32,116,104,101,110, 10, 95, 99,117,114,114, 95, 99,111,
31.1074 + 100,101, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44, 98,
31.1075 + 44,101, 41, 10, 68,101,102,105,110,101, 40,110, 97,109,101,
31.1076 + 41, 10,114,101,116,117,114,110, 32,115,116,114,115,117, 98,
31.1077 + 40,115, 44,101, 43, 49, 41, 10,101,110,100, 10,101,110,100,
31.1078 + 10, 10, 10,100,111, 10,108,111, 99, 97,108, 32, 98, 44,101,
31.1079 + 44,110, 97,109,101, 44, 98,111,100,121, 32, 61, 32,115,116,
31.1080 + 114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42,101,110,
31.1081 + 117,109, 37,115, 43, 40, 37, 83, 42, 41, 37,115, 42, 40, 37,
31.1082 + 98,123,125, 41, 37,115, 42, 59, 63, 37,115, 42, 34, 41, 10,
31.1083 + 105,102, 32, 98, 32,116,104,101,110, 10, 95, 99,117,114,114,
31.1084 + 95, 99,111,100,101, 32, 61, 32,115,116,114,115,117, 98, 40,
31.1085 + 115, 44, 98, 44,101, 41, 10, 69,110,117,109,101,114, 97,116,
31.1086 + 101, 40,110, 97,109,101, 44, 98,111,100,121, 41, 10,114,101,
31.1087 + 116,117,114,110, 32,115,116,114,115,117, 98, 40,115, 44,101,
31.1088 + 43, 49, 41, 10,101,110,100, 10,101,110,100, 10, 10,100,111,
31.1089 + 10,108,111, 99, 97,108, 32, 98, 44,101, 44, 98,111,100,121,
31.1090 + 44,110, 97,109,101, 32, 61, 32,115,116,114,102,105,110,100,
31.1091 + 40,115, 44, 34, 94, 37,115, 42,116,121,112,101,100,101,102,
31.1092 + 37,115, 43,101,110,117,109, 91, 94,123, 93, 42, 40, 37, 98,
31.1093 + 123,125, 41, 37,115, 42, 40, 91, 37,119, 95, 93, 91, 94, 37,
31.1094 + 115, 93, 42, 41, 37,115, 42, 59, 37,115, 42, 34, 41, 10,105,
31.1095 + 102, 32, 98, 32,116,104,101,110, 10, 95, 99,117,114,114, 95,
31.1096 + 99,111,100,101, 32, 61, 32,115,116,114,115,117, 98, 40,115,
31.1097 + 44, 98, 44,101, 41, 10, 69,110,117,109,101,114, 97,116,101,
31.1098 + 40,110, 97,109,101, 44, 98,111,100,121, 41, 10,114,101,116,
31.1099 + 117,114,110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43,
31.1100 + 49, 41, 10,101,110,100, 10,101,110,100, 10, 10, 10,100,111,
31.1101 + 10,108,111, 99, 97,108, 32, 98, 44,101, 44,100,101, 99,108,
31.1102 + 44,107,105,110,100, 44, 97,114,103, 44, 99,111,110,115,116,
31.1103 + 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94,
31.1104 + 37,115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 37,115,
31.1105 + 37, 42, 38, 58, 93, 42,111,112,101,114, 97,116,111,114, 41,
31.1106 + 37,115, 42, 40, 91, 94, 37,115, 93, 91, 94, 37,115, 93, 42,
31.1107 + 41, 37,115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99,
31.1108 + 63,111, 63,110, 63,115, 63,116, 63, 41, 37,115, 42, 59, 37,
31.1109 + 115, 42, 34, 41, 10,105,102, 32,110,111,116, 32, 98, 32,116,
31.1110 + 104,101,110, 10, 10, 98, 44,101, 44,100,101, 99,108, 44,107,
31.1111 + 105,110,100, 44, 97,114,103, 44, 99,111,110,115,116, 32, 61,
31.1112 + 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115,
31.1113 + 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 37,115, 37, 42,
31.1114 + 38, 58, 93, 42,111,112,101,114, 97,116,111,114, 41, 37,115,
31.1115 + 42, 40, 91, 94, 37,115, 93, 91, 94, 37,115, 93, 42, 41, 37,
31.1116 + 115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,111,
31.1117 + 63,110, 63,115, 63,116, 63, 41, 37,115, 42, 37, 98,123,125,
31.1118 + 37,115, 42, 34, 41, 10,101,110,100, 10,105,102, 32, 98, 32,
31.1119 + 116,104,101,110, 10, 95, 99,117,114,114, 95, 99,111,100,101,
31.1120 + 32, 61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 44,101,
31.1121 + 41, 10, 79,112,101,114, 97,116,111,114, 40,100,101, 99,108,
31.1122 + 44,107,105,110,100, 44, 97,114,103, 44, 99,111,110,115,116,
31.1123 + 41, 10,114,101,116,117,114,110, 32,115,116,114,115,117, 98,
31.1124 + 40,115, 44,101, 43, 49, 41, 10,101,110,100, 10,101,110,100,
31.1125 + 10, 10, 10,100,111, 10,108,111, 99, 97,108, 32, 98, 44,101,
31.1126 + 44,100,101, 99,108, 44, 97,114,103, 44, 99,111,110,115,116,
31.1127 + 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94,
31.1128 + 37,115, 42, 40, 91,126, 95, 37,119, 93, 91, 95, 64, 37,119,
31.1129 + 37,115, 37, 42, 38, 58, 93, 42, 91, 95, 37,119, 93, 41, 37,
31.1130 + 115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,111,
31.1131 + 63,110, 63,115, 63,116, 63, 41, 37,115, 42, 61, 63, 37,115,
31.1132 + 42, 48, 63, 37,115, 42, 59, 37,115, 42, 34, 41, 10,105,102,
31.1133 + 32,110,111,116, 32, 98, 32,116,104,101,110, 10, 10, 98, 44,
31.1134 + 101, 44,100,101, 99,108, 44, 97,114,103, 44, 99,111,110,115,
31.1135 + 116, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34,
31.1136 + 94, 37,115, 42, 40, 91, 95, 37,119, 93, 41, 37,115, 42, 40,
31.1137 + 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,111, 63,110, 63,
31.1138 + 115, 63,116, 63, 41, 37,115, 42, 59, 37,115, 42, 34, 41, 10,
31.1139 + 101,110,100, 10,105,102, 32, 98, 32,116,104,101,110, 10, 95,
31.1140 + 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,115,116,114,
31.1141 + 115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 70,117,110, 99,
31.1142 + 116,105,111,110, 40,100,101, 99,108, 44, 97,114,103, 44, 99,
31.1143 + 111,110,115,116, 41, 10,114,101,116,117,114,110, 32,115,116,
31.1144 + 114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,101,110,100,
31.1145 + 10,101,110,100, 10, 10, 10,100,111, 10,108,111, 99, 97,108,
31.1146 + 32, 98, 44,101, 44,100,101, 99,108, 44, 97,114,103, 44, 99,
31.1147 + 111,110,115,116, 32, 61, 32,115,116,114,102,105,110,100, 40,
31.1148 + 115, 44, 34, 94, 37,115, 42, 40, 91,126, 95, 37,119, 93, 91,
31.1149 + 95, 64, 37,119, 37,115, 37, 42, 38, 58, 93, 42, 91, 95, 37,
31.1150 + 119, 93, 41, 37,115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42,
31.1151 + 40, 99, 63,111, 63,110, 63,115, 63,116, 63, 41, 46, 45, 37,
31.1152 + 98,123,125, 37,115, 42, 34, 41, 10,105,102, 32,110,111,116,
31.1153 + 32, 98, 32,116,104,101,110, 10, 10, 98, 44,101, 44,100,101,
31.1154 + 99,108, 44, 97,114,103, 44, 99,111,110,115,116, 32, 61, 32,
31.1155 + 115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42,
31.1156 + 40, 91, 95, 37,119, 93, 41, 37,115, 42, 40, 37, 98, 40, 41,
31.1157 + 41, 37,115, 42, 40, 99, 63,111, 63,110, 63,115, 63,116, 63,
31.1158 + 41, 46, 45, 37, 98,123,125, 37,115, 42, 34, 41, 10,101,110,
31.1159 + 100, 10,105,102, 32, 98, 32,116,104,101,110, 10, 95, 99,117,
31.1160 + 114,114, 95, 99,111,100,101, 32, 61, 32,115,116,114,115,117,
31.1161 + 98, 40,115, 44, 98, 44,101, 41, 10, 70,117,110, 99,116,105,
31.1162 + 111,110, 40,100,101, 99,108, 44, 97,114,103, 44, 99,111,110,
31.1163 + 115,116, 41, 10,114,101,116,117,114,110, 32,115,116,114,115,
31.1164 + 117, 98, 40,115, 44,101, 43, 49, 41, 10,101,110,100, 10,101,
31.1165 + 110,100, 10, 10, 10,100,111, 10,108,111, 99, 97,108, 32, 98,
31.1166 + 44,101, 44,110, 97,109,101, 44, 98, 97,115,101, 44, 98,111,
31.1167 + 100,121, 10, 98, 97,115,101, 32, 61, 32, 39, 39, 32, 98,111,
31.1168 + 100,121, 32, 61, 32, 39, 39, 10, 98, 44,101, 44,110, 97,109,
31.1169 + 101, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34,
31.1170 + 94, 37,115, 42, 99,108, 97,115,115, 37,115, 42, 40, 91, 95,
31.1171 + 37,119, 93, 91, 95, 37,119, 64, 93, 42, 41, 37,115, 42, 59,
31.1172 + 34, 41, 10,105,102, 32,110,111,116, 32, 98, 32,116,104,101,
31.1173 + 110, 10, 98, 44,101, 44,110, 97,109,101, 32, 61, 32,115,116,
31.1174 + 114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42,115,116,
31.1175 + 114,117, 99,116, 37,115, 42, 40, 91, 95, 37,119, 93, 91, 95,
31.1176 + 37,119, 64, 93, 42, 41, 37,115, 42, 59, 34, 41, 10,105,102,
31.1177 + 32,110,111,116, 32, 98, 32,116,104,101,110, 10, 98, 44,101,
31.1178 + 44,110, 97,109,101, 44, 98, 97,115,101, 44, 98,111,100,121,
31.1179 + 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94,
31.1180 + 37,115, 42, 99,108, 97,115,115, 37,115, 42, 40, 91, 95, 37,
31.1181 + 119, 93, 91, 95, 37,119, 64, 93, 42, 41, 37,115, 42, 40, 46,
31.1182 + 45, 41, 37,115, 42, 40, 37, 98,123,125, 41, 37,115, 42, 59,
31.1183 + 37,115, 42, 34, 41, 10,105,102, 32,110,111,116, 32, 98, 32,
31.1184 + 116,104,101,110, 10, 98, 44,101, 44,110, 97,109,101, 44, 98,
31.1185 + 97,115,101, 44, 98,111,100,121, 32, 61, 32,115,116,114,102,
31.1186 + 105,110,100, 40,115, 44, 34, 94, 37,115, 42,115,116,114,117,
31.1187 + 99,116, 37,115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119,
31.1188 + 64, 93, 42, 41, 37,115, 42, 40, 46, 45, 41, 37,115, 42, 40,
31.1189 + 37, 98,123,125, 41, 37,115, 42, 59, 37,115, 42, 34, 41, 10,
31.1190 + 105,102, 32,110,111,116, 32, 98, 32,116,104,101,110, 10, 98,
31.1191 + 44,101, 44,110, 97,109,101, 44, 98, 97,115,101, 44, 98,111,
31.1192 + 100,121, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44,
31.1193 + 34, 94, 37,115, 42,117,110,105,111,110, 37,115, 42, 40, 91,
31.1194 + 95, 37,119, 93, 91, 95, 37,119, 64, 93, 42, 41, 37,115, 42,
31.1195 + 40, 46, 45, 41, 37,115, 42, 40, 37, 98,123,125, 41, 37,115,
31.1196 + 42, 59, 37,115, 42, 34, 41, 10,105,102, 32,110,111,116, 32,
31.1197 + 98, 32,116,104,101,110, 10, 98, 97,115,101, 32, 61, 32, 39,
31.1198 + 39, 10, 98, 44,101, 44, 98,111,100,121, 44,110, 97,109,101,
31.1199 + 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94,
31.1200 + 37,115, 42,116,121,112,101,100,101,102, 37,115, 37,115, 42,
31.1201 + 115,116,114,117, 99,116, 37,115, 37,115, 42, 91, 95, 37,119,
31.1202 + 93, 42, 37,115, 42, 40, 37, 98,123,125, 41, 37,115, 42, 40,
31.1203 + 91, 95, 37,119, 93, 91, 95, 37,119, 64, 93, 42, 41, 37,115,
31.1204 + 42, 59, 37,115, 42, 34, 41, 10,101,110,100, 10,101,110,100,
31.1205 + 10,101,110,100, 10,101,110,100, 10,101,110,100, 10,105,102,
31.1206 + 32, 98, 32,116,104,101,110, 10,105,102, 32, 98, 97,115,101,
31.1207 + 32,126, 61, 32, 39, 39, 32,116,104,101,110, 10,108,111, 99,
31.1208 + 97,108, 32, 98, 44,101, 10, 98, 44,101, 44, 98, 97,115,101,
31.1209 + 32, 61, 32,115,116,114,102,105,110,100, 40, 98, 97,115,101,
31.1210 + 44, 34, 46, 45, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 93,
31.1211 + 42, 41, 36, 34, 41, 10,101,110,100, 10, 95, 99,117,114,114,
31.1212 + 95, 99,111,100,101, 32, 61, 32,115,116,114,115,117, 98, 40,
31.1213 + 115, 44, 98, 44,101, 41, 10, 67,108, 97,115,115, 40,110, 97,
31.1214 + 109,101, 44, 98, 97,115,101, 44, 98,111,100,121, 41, 10,114,
31.1215 + 101,116,117,114,110, 32,115,116,114,115,117, 98, 40,115, 44,
31.1216 + 101, 43, 49, 41, 10,101,110,100, 10,101,110,100, 10, 10, 10,
31.1217 + 100,111, 10,108,111, 99, 97,108, 32, 98, 44,101, 44,116,121,
31.1218 + 112,101,115, 32, 61, 32,115,116,114,102,105,110,100, 40,115,
31.1219 + 44, 34, 94, 37,115, 42,116,121,112,101,100,101,102, 37,115,
31.1220 + 37,115, 42, 40, 46, 45, 41, 37,115, 42, 59, 37,115, 42, 34,
31.1221 + 41, 10,105,102, 32, 98, 32,116,104,101,110, 10, 95, 99,117,
31.1222 + 114,114, 95, 99,111,100,101, 32, 61, 32,115,116,114,115,117,
31.1223 + 98, 40,115, 44, 98, 44,101, 41, 10, 84,121,112,101,100,101,
31.1224 + 102, 40,116,121,112,101,115, 41, 10,114,101,116,117,114,110,
31.1225 + 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,
31.1226 + 101,110,100, 10,101,110,100, 10, 10, 10,100,111, 10,108,111,
31.1227 + 99, 97,108, 32, 98, 44,101, 44,100,101, 99,108, 32, 61, 32,
31.1228 + 115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42,
31.1229 + 40, 91, 95, 37,119, 93, 91, 95, 64, 37,115, 37,119, 37,100,
31.1230 + 37, 42, 38, 58, 93, 42, 91, 95, 37,119, 37,100, 93, 41, 37,
31.1231 + 115, 42, 59, 37,115, 42, 34, 41, 10,105,102, 32, 98, 32,116,
31.1232 + 104,101,110, 10, 95, 99,117,114,114, 95, 99,111,100,101, 32,
31.1233 + 61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 44,101, 41,
31.1234 + 10, 86, 97,114,105, 97, 98,108,101, 40,100,101, 99,108, 41,
31.1235 + 10,114,101,116,117,114,110, 32,115,116,114,115,117, 98, 40,
31.1236 + 115, 44,101, 43, 49, 41, 10,101,110,100, 10,101,110,100, 10,
31.1237 + 10, 10,100,111, 10,108,111, 99, 97,108, 32, 98, 44,101, 44,
31.1238 + 100,101, 99,108, 32, 61, 32,115,116,114,102,105,110,100, 40,
31.1239 + 115, 44, 34, 94, 37,115, 42, 40, 91, 95, 37,119, 93, 63, 91,
31.1240 + 95, 37,115, 37,119, 37,100, 93, 45, 99,104, 97,114, 37,115,
31.1241 + 43, 91, 95, 64, 37,119, 37,100, 93, 42, 37,115, 42, 37, 91,
31.1242 + 37,115, 42, 37, 83, 43, 37,115, 42, 37, 93, 41, 37,115, 42,
31.1243 + 59, 37,115, 42, 34, 41, 10,105,102, 32, 98, 32,116,104,101,
31.1244 + 110, 10, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,
31.1245 + 115,116,114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 86,
31.1246 + 97,114,105, 97, 98,108,101, 40,100,101, 99,108, 41, 10,114,
31.1247 + 101,116,117,114,110, 32,115,116,114,115,117, 98, 40,115, 44,
31.1248 + 101, 43, 49, 41, 10,101,110,100, 10,101,110,100, 10, 10, 10,
31.1249 + 100,111, 10,108,111, 99, 97,108, 32, 98, 44,101, 44,100,101,
31.1250 + 99,108, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44,
31.1251 + 34, 94, 37,115, 42, 40, 91, 95, 37,119, 93, 91, 93, 91, 95,
31.1252 + 64, 37,115, 37,119, 37,100, 37, 42, 38, 58, 93, 42, 91, 93,
31.1253 + 95, 37,119, 37,100, 93, 41, 37,115, 42, 59, 37,115, 42, 34,
31.1254 + 41, 10,105,102, 32, 98, 32,116,104,101,110, 10, 95, 99,117,
31.1255 + 114,114, 95, 99,111,100,101, 32, 61, 32,115,116,114,115,117,
31.1256 + 98, 40,115, 44, 98, 44,101, 41, 10, 65,114,114, 97,121, 40,
31.1257 + 100,101, 99,108, 41, 10,114,101,116,117,114,110, 32,115,116,
31.1258 + 114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,101,110,100,
31.1259 + 10,101,110,100, 10, 10, 10,105,102, 32,103,115,117, 98, 40,
31.1260 + 115, 44, 34, 37,115, 37,115, 42, 34, 44, 34, 34, 41, 32,126,
31.1261 + 61, 32, 34, 34, 32,116,104,101,110, 10, 95, 99,117,114,114,
31.1262 + 95, 99,111,100,101, 32, 61, 32,115, 10,101,114,114,111,114,
31.1263 + 40, 34, 35,112, 97,114,115,101, 32,101,114,114,111,114, 34,
31.1264 + 41, 10,101,108,115,101, 10,114,101,116,117,114,110, 32, 34,
31.1265 + 34, 10,101,110,100, 10, 10,101,110,100, 10, 10,102,117,110,
31.1266 + 99,116,105,111,110, 32, 99,108, 97,115,115, 67,111,110,116,
31.1267 + 97,105,110,101,114, 58,112, 97,114,115,101, 32, 40,115, 41,
31.1268 + 10,119,104,105,108,101, 32,115, 32,126, 61, 32, 39, 39, 32,
31.1269 + 100,111, 10,115, 32, 61, 32,115,101,108,102, 58,100,111,112,
31.1270 + 97,114,115,101, 40,115, 41, 10,101,110,100, 10,101,110,100,
31.1271 + 32
31.1272 + };
31.1273 + luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") ||
31.1274 + lua_pcall(tolua_S,0,LUA_MULTRET,0);
31.1275 + } /* end of embedded lua code */
31.1276 +
31.1277 +
31.1278 + { /* begin embedded lua code */
31.1279 + static unsigned char B[] = {
31.1280 + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
31.1281 + 10, 10, 10, 99,108, 97,115,115, 80, 97, 99,107, 97,103,101,
31.1282 + 32, 61, 32,123, 10, 99,108, 97,115,115,116,121,112,101, 32,
31.1283 + 61, 32, 39,112, 97, 99,107, 97,103,101, 39, 10,125, 10, 99,
31.1284 + 108, 97,115,115, 80, 97, 99,107, 97,103,101, 46, 95, 95,105,
31.1285 + 110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 80, 97, 99,
31.1286 + 107, 97,103,101, 10,115,101,116,109,101,116, 97,116, 97, 98,
31.1287 + 108,101, 40, 99,108, 97,115,115, 80, 97, 99,107, 97,103,101,
31.1288 + 44, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114,
31.1289 + 41, 10, 10, 10,102,117,110, 99,116,105,111,110, 32, 99,108,
31.1290 + 97,115,115, 80, 97, 99,107, 97,103,101, 58,112,114,105,110,
31.1291 + 116, 32, 40, 41, 10,112,114,105,110,116, 40, 34, 80, 97, 99,
31.1292 + 107, 97,103,101, 58, 32, 34, 46, 46,115,101,108,102, 46,110,
31.1293 + 97,109,101, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,
31.1294 + 119,104,105,108,101, 32,115,101,108,102, 91,105, 93, 32,100,
31.1295 + 111, 10,115,101,108,102, 91,105, 93, 58,112,114,105,110,116,
31.1296 + 40, 34, 34, 44, 34, 34, 41, 10,105, 32, 61, 32,105, 43, 49,
31.1297 + 10,101,110,100, 10,101,110,100, 10, 10,102,117,110, 99,116,
31.1298 + 105,111,110, 32, 99,108, 97,115,115, 80, 97, 99,107, 97,103,
31.1299 + 101, 58,112,114,101,112,114,111, 99,101,115,115, 32, 40, 41,
31.1300 + 10, 10,108,111, 99, 97,108, 32, 76, 32, 61, 32,123,125, 10,
31.1301 + 115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117,
31.1302 + 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 92,110,
31.1303 + 37,115, 42, 37, 36, 37, 91, 34, 44, 34, 92, 49, 34, 41, 10,
31.1304 + 115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117,
31.1305 + 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 92,110,
31.1306 + 37,115, 42, 37, 36, 37, 93, 34, 44, 34, 92, 50, 34, 41, 10,
31.1307 + 115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117,
31.1308 + 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 40, 37,
31.1309 + 98, 92, 49, 92, 50, 41, 34, 44, 32,102,117,110, 99,116,105,
31.1310 + 111,110, 32, 40, 99, 41, 10,116,105,110,115,101,114,116, 40,
31.1311 + 76, 44, 99, 41, 10,114,101,116,117,114,110, 32, 34, 92,110,
31.1312 + 35, 91, 34, 46, 46,103,101,116,110, 40, 76, 41, 46, 46, 34,
31.1313 + 93, 35, 34, 10,101,110,100, 41, 10, 10,108,111, 99, 97,108,
31.1314 + 32, 67, 32, 61, 32,123,125, 10,115,101,108,102, 46, 99,111,
31.1315 + 100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46,
31.1316 + 99,111,100,101, 44, 34, 92,110, 37,115, 42, 37, 36, 37, 60,
31.1317 + 34, 44, 34, 92, 51, 34, 41, 10,115,101,108,102, 46, 99,111,
31.1318 + 100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46,
31.1319 + 99,111,100,101, 44, 34, 92,110, 37,115, 42, 37, 36, 37, 62,
31.1320 + 34, 44, 34, 92, 52, 34, 41, 10,115,101,108,102, 46, 99,111,
31.1321 + 100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46,
31.1322 + 99,111,100,101, 44, 34, 40, 37, 98, 92, 51, 92, 52, 41, 34,
31.1323 + 44, 32,102,117,110, 99,116,105,111,110, 32, 40, 99, 41, 10,
31.1324 + 116,105,110,115,101,114,116, 40, 67, 44, 99, 41, 10,114,101,
31.1325 + 116,117,114,110, 32, 34, 92,110, 35, 60, 34, 46, 46,103,101,
31.1326 + 116,110, 40, 67, 41, 46, 46, 34, 62, 35, 34, 10,101,110,100,
31.1327 + 41, 10, 10, 10,108,111, 99, 97,108, 32, 86, 32, 61, 32,123,
31.1328 + 125, 10,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,
31.1329 + 115,117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34,
31.1330 + 92,110, 40, 37,115, 42, 37, 36, 91, 94, 37, 91, 37, 93, 93,
31.1331 + 91, 94, 92,110, 93, 42, 41, 34, 44,102,117,110, 99,116,105,
31.1332 + 111,110, 32, 40,118, 41, 10,116,105,110,115,101,114,116, 40,
31.1333 + 86, 44,118, 41, 10,114,101,116,117,114,110, 32, 34, 92,110,
31.1334 + 35, 34, 46, 46,103,101,116,110, 40, 86, 41, 46, 46, 34, 35,
31.1335 + 34, 10,101,110,100, 41, 10, 10, 10,115,101,108,102, 46, 99,
31.1336 + 111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102,
31.1337 + 46, 99,111,100,101, 44, 34, 40, 47, 47, 91, 94, 92,110, 93,
31.1338 + 42, 41, 34, 44, 34, 34, 41, 10,115,101,108,102, 46, 99,111,
31.1339 + 100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46,
31.1340 + 99,111,100,101, 44, 34, 47, 37, 42, 34, 44, 34, 92, 49, 34,
31.1341 + 41, 10,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,
31.1342 + 115,117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34,
31.1343 + 37, 42, 47, 34, 44, 34, 92, 50, 34, 41, 10,115,101,108,102,
31.1344 + 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,
31.1345 + 108,102, 46, 99,111,100,101, 44, 34, 37, 98, 92, 49, 92, 50,
31.1346 + 34, 44, 34, 34, 41, 10,115,101,108,102, 46, 99,111,100,101,
31.1347 + 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,
31.1348 + 100,101, 44, 34, 92, 49, 34, 44, 34, 47, 37, 42, 34, 41, 10,
31.1349 + 115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117,
31.1350 + 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 92, 50,
31.1351 + 34, 44, 34, 37, 42, 47, 34, 41, 10,115,101,108,102, 46, 99,
31.1352 + 111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102,
31.1353 + 46, 99,111,100,101, 44, 34, 37,115, 42, 64, 37,115, 42, 34,
31.1354 + 44, 34, 64, 34, 41, 10,115,101,108,102, 46, 99,111,100,101,
31.1355 + 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,
31.1356 + 100,101, 44, 34, 37,115, 63,105,110,108,105,110,101, 40, 37,
31.1357 + 115, 41, 34, 44, 34, 37, 49, 34, 41, 10,115,101,108,102, 46,
31.1358 + 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,
31.1359 + 102, 46, 99,111,100,101, 44, 34, 37,115, 63,101,120,116,101,
31.1360 + 114,110, 40, 37,115, 41, 34, 44, 34, 37, 49, 34, 41, 10,115,
31.1361 + 101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98,
31.1362 + 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 37,115, 63,
31.1363 + 118,105,114,116,117, 97,108, 40, 37,115, 41, 34, 44, 34, 37,
31.1364 + 49, 34, 41, 10,115,101,108,102, 46, 99,111,100,101, 32, 61,
31.1365 + 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,100,101,
31.1366 + 44, 34,112,117, 98,108,105, 99, 58, 34, 44, 34, 34, 41, 10,
31.1367 + 115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117,
31.1368 + 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 40, 91,
31.1369 + 94, 37,119, 95, 93, 41,118,111,105,100, 37,115, 42, 37, 42,
31.1370 + 34, 44, 34, 37, 49, 95,117,115,101,114,100, 97,116, 97, 32,
31.1371 + 34, 41, 10,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,
31.1372 + 103,115,117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44,
31.1373 + 34, 40, 91, 94, 37,119, 95, 93, 41,118,111,105,100, 37,115,
31.1374 + 42, 37, 42, 34, 44, 34, 37, 49, 95,117,115,101,114,100, 97,
31.1375 + 116, 97, 32, 34, 41, 10,115,101,108,102, 46, 99,111,100,101,
31.1376 + 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,
31.1377 + 100,101, 44, 34, 40, 91, 94, 37,119, 95, 93, 41, 99,104, 97,
31.1378 + 114, 37,115, 42, 37, 42, 34, 44, 34, 37, 49, 95, 99,115,116,
31.1379 + 114,105,110,103, 32, 34, 41, 10, 10, 10,115,101,108,102, 46,
31.1380 + 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,
31.1381 + 102, 46, 99,111,100,101, 44, 34, 37, 35, 37, 91, 40, 37,100,
31.1382 + 43, 41, 37, 93, 37, 35, 34, 44,102,117,110, 99,116,105,111,
31.1383 + 110, 32, 40,110, 41, 10,114,101,116,117,114,110, 32, 76, 91,
31.1384 + 116,111,110,117,109, 98,101,114, 40,110, 41, 93, 10,101,110,
31.1385 + 100, 41, 10, 10,115,101,108,102, 46, 99,111,100,101, 32, 61,
31.1386 + 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,100,101,
31.1387 + 44, 34, 37, 35, 37, 60, 40, 37,100, 43, 41, 37, 62, 37, 35,
31.1388 + 34, 44,102,117,110, 99,116,105,111,110, 32, 40,110, 41, 10,
31.1389 + 114,101,116,117,114,110, 32, 67, 91,116,111,110,117,109, 98,
31.1390 + 101,114, 40,110, 41, 93, 10,101,110,100, 41, 10, 10,115,101,
31.1391 + 108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,
31.1392 + 115,101,108,102, 46, 99,111,100,101, 44, 34, 37, 35, 40, 37,
31.1393 + 100, 43, 41, 37, 35, 34, 44,102,117,110, 99,116,105,111,110,
31.1394 + 32, 40,110, 41, 10,114,101,116,117,114,110, 32, 86, 91,116,
31.1395 + 111,110,117,109, 98,101,114, 40,110, 41, 93, 10,101,110,100,
31.1396 + 41, 10,101,110,100, 10, 10, 10,102,117,110, 99,116,105,111,
31.1397 + 110, 32, 99,108, 97,115,115, 80, 97, 99,107, 97,103,101, 58,
31.1398 + 112,114,101, 97,109, 98,108,101, 32, 40, 41, 10,111,117,116,
31.1399 + 112,117,116, 40, 39, 47, 42, 92,110, 39, 41, 10,111,117,116,
31.1400 + 112,117,116, 40, 39, 42, 42, 32, 76,117, 97, 32, 98,105,110,
31.1401 + 100,105,110,103, 58, 32, 39, 46, 46,115,101,108,102, 46,110,
31.1402 + 97,109,101, 46, 46, 39, 92,110, 39, 41, 10,111,117,116,112,
31.1403 + 117,116, 40, 39, 42, 42, 32, 71,101,110,101,114, 97,116,101,
31.1404 + 100, 32, 97,117,116,111,109, 97,116,105, 99, 97,108,108,121,
31.1405 + 32, 98,121, 32, 39, 46, 46, 84, 79, 76, 85, 65, 95, 86, 69,
31.1406 + 82, 83, 73, 79, 78, 46, 46, 39, 32,111,110, 32, 39, 46, 46,
31.1407 + 100, 97,116,101, 40, 41, 46, 46, 39, 46, 92,110, 39, 41, 10,
31.1408 + 111,117,116,112,117,116, 40, 39, 42, 47, 92,110, 92,110, 39,
31.1409 + 41, 10, 10,111,117,116,112,117,116, 40, 39, 35,105,102,110,
31.1410 + 100,101,102, 32, 95, 95, 99,112,108,117,115,112,108,117,115,
31.1411 + 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,105,
31.1412 + 110, 99,108,117,100,101, 32, 34,115,116,100,108,105, 98, 46,
31.1413 + 104, 34, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39,
31.1414 + 35,101,110,100,105,102, 92,110, 39, 41, 10,111,117,116,112,
31.1415 + 117,116, 40, 39, 35,105,110, 99,108,117,100,101, 32, 34,115,
31.1416 + 116,114,105,110,103, 46,104, 34, 92,110, 92,110, 39, 41, 10,
31.1417 + 111,117,116,112,117,116, 40, 39, 35,105,110, 99,108,117,100,
31.1418 + 101, 32, 34,116,111,108,117, 97, 46,104, 34, 92,110, 92,110,
31.1419 + 39, 41, 10, 10,105,102, 32,110,111,116, 32,102,108, 97,103,
31.1420 + 115, 46,104, 32,116,104,101,110, 10,111,117,116,112,117,116,
31.1421 + 40, 39, 47, 42, 32, 69,120,112,111,114,116,101,100, 32,102,
31.1422 + 117,110, 99,116,105,111,110, 32, 42, 47, 39, 41, 10,111,117,
31.1423 + 116,112,117,116, 40, 39, 84, 79, 76, 85, 65, 95, 65, 80, 73,
31.1424 + 32,105,110,116, 32,116,111,108,117, 97, 95, 39, 46, 46,115,
31.1425 + 101,108,102, 46,110, 97,109,101, 46, 46, 39, 95,111,112,101,
31.1426 + 110, 32, 40,108,117, 97, 95, 83,116, 97,116,101, 42, 32,116,
31.1427 + 111,108,117, 97, 95, 83, 41, 59, 39, 41, 10,111,117,116,112,
31.1428 + 117,116, 40, 39, 76, 85, 65, 76, 73, 66, 95, 65, 80, 73, 32,
31.1429 + 105,110,116, 32,108,117, 97,111,112,101,110, 95, 39, 46, 46,
31.1430 + 115,101,108,102, 46,110, 97,109,101, 46, 46, 39, 32, 40,108,
31.1431 + 117, 97, 95, 83,116, 97,116,101, 42, 32,116,111,108,117, 97,
31.1432 + 95, 83, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39,
31.1433 + 92,110, 39, 41, 10,101,110,100, 10, 10,108,111, 99, 97,108,
31.1434 + 32,105, 61, 49, 10,119,104,105,108,101, 32,115,101,108,102,
31.1435 + 91,105, 93, 32,100,111, 10,115,101,108,102, 91,105, 93, 58,
31.1436 + 112,114,101, 97,109, 98,108,101, 40, 41, 10,105, 32, 61, 32,
31.1437 + 105, 43, 49, 10,101,110,100, 10, 10, 10, 10,105,102, 32,115,
31.1438 + 101,108,102, 58,114,101,113,117,105,114,101, 99,111,108,108,
31.1439 + 101, 99,116,105,111,110, 40, 95, 99,111,108,108,101, 99,116,
31.1440 + 41, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39,
31.1441 + 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 47, 42,
31.1442 + 32,102,117,110, 99,116,105,111,110, 32,116,111, 32,114,101,
31.1443 + 108,101, 97,115,101, 32, 99,111,108,108,101, 99,116,101,100,
31.1444 + 32,111, 98,106,101, 99,116, 32, 42, 47, 39, 41, 10,111,117,
31.1445 + 116,112,117,116, 40, 39, 35,105,102,100,101,102, 32, 95, 95,
31.1446 + 99,112,108,117,115,112,108,117,115, 92,110, 39, 41, 10,102,
31.1447 + 111,114, 32,105, 44,118, 32,105,110, 32,112, 97,105,114,115,
31.1448 + 40, 95, 99,111,108,108,101, 99,116, 41, 32,100,111, 10,111,
31.1449 + 117,116,112,117,116, 40, 39,115,116, 97,116,105, 99, 32,105,
31.1450 + 110,116, 32,116,111,108,117, 97, 95, 99,111,108,108,101, 99,
31.1451 + 116, 95, 39, 46, 46,118, 46, 46, 39, 32, 40,108,117, 97, 95,
31.1452 + 83,116, 97,116,101, 42, 32,116,111,108,117, 97, 95, 83, 41,
31.1453 + 39, 41, 10,111,117,116,112,117,116, 40, 39,123, 39, 41, 10,
31.1454 + 111,117,116,112,117,116, 40, 39, 32, 39, 46, 46,105, 46, 46,
31.1455 + 39, 42, 32,115,101,108,102, 32, 61, 32, 40, 39, 46, 46,105,
31.1456 + 46, 46, 39, 42, 41, 32,116,111,108,117, 97, 95,116,111,117,
31.1457 + 115,101,114,116,121,112,101, 40,116,111,108,117, 97, 95, 83,
31.1458 + 44, 49, 44, 48, 41, 59, 39, 41, 10,111,117,116,112,117,116,
31.1459 + 40, 39, 32,100,101,108,101,116,101, 32,115,101,108,102, 59,
31.1460 + 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,114,101,116,
31.1461 + 117,114,110, 32, 48, 59, 39, 41, 10,111,117,116,112,117,116,
31.1462 + 40, 39,125, 92,110, 39, 41, 10,101,110,100, 10,111,117,116,
31.1463 + 112,117,116, 40, 39, 35,101,108,115,101, 92,110,115,116, 97,
31.1464 + 116,105, 99, 32,105,110,116, 32,116,111,108,117, 97, 95, 99,
31.1465 + 111,108,108,101, 99,116, 32, 40,108,117, 97, 95, 83,116, 97,
31.1466 + 116,101, 42, 32,116,111,108,117, 97, 95, 83, 41, 39, 41, 10,
31.1467 + 111,117,116,112,117,116, 40, 39,123, 39, 41, 10,111,117,116,
31.1468 + 112,117,116, 40, 39, 32,118,111,105,100, 42, 32,115,101,108,
31.1469 + 102, 32, 61, 32,116,111,108,117, 97, 95,116,111,117,115,101,
31.1470 + 114,116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44, 49,
31.1471 + 44, 48, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39,
31.1472 + 32,102,114,101,101, 40,115,101,108,102, 41, 59, 39, 41, 10,
31.1473 + 111,117,116,112,117,116, 40, 39, 32,114,101,116,117,114,110,
31.1474 + 32, 48, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39,125,
31.1475 + 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,110,100,
31.1476 + 105,102, 92,110, 92,110, 39, 41, 10,101,110,100, 10, 10,111,
31.1477 + 117,116,112,117,116, 40, 39, 92,110, 39, 41, 10,111,117,116,
31.1478 + 112,117,116, 40, 39, 47, 42, 32,102,117,110, 99,116,105,111,
31.1479 + 110, 32,116,111, 32,114,101,103,105,115,116,101,114, 32,116,
31.1480 + 121,112,101, 32, 42, 47, 39, 41, 10,111,117,116,112,117,116,
31.1481 + 40, 39,115,116, 97,116,105, 99, 32,118,111,105,100, 32,116,
31.1482 + 111,108,117, 97, 95,114,101,103, 95,116,121,112,101,115, 32,
31.1483 + 40,108,117, 97, 95, 83,116, 97,116,101, 42, 32,116,111,108,
31.1484 + 117, 97, 95, 83, 41, 39, 41, 10,111,117,116,112,117,116, 40,
31.1485 + 39,123, 39, 41, 10,102,111,114,101, 97, 99,104, 40, 95,117,
31.1486 + 115,101,114,116,121,112,101, 44,102,117,110, 99,116,105,111,
31.1487 + 110, 40,110, 44,118, 41, 32,111,117,116,112,117,116, 40, 39,
31.1488 + 32,116,111,108,117, 97, 95,117,115,101,114,116,121,112,101,
31.1489 + 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 44,118, 44, 39,
31.1490 + 34, 41, 59, 39, 41, 32,101,110,100, 41, 10,111,117,116,112,
31.1491 + 117,116, 40, 39,125, 39, 41, 10,111,117,116,112,117,116, 40,
31.1492 + 39, 92,110, 39, 41, 10,101,110,100, 10, 10, 10, 10,102,117,
31.1493 + 110, 99,116,105,111,110, 32, 99,108, 97,115,115, 80, 97, 99,
31.1494 + 107, 97,103,101, 58,114,101,103,105,115,116,101,114, 32, 40,
31.1495 + 41, 10,112,117,115,104, 40,115,101,108,102, 41, 10, 10,111,
31.1496 + 117,116,112,117,116, 40, 34, 47, 42, 32, 79,112,101,110, 32,
31.1497 + 108,105, 98, 32,102,117,110, 99,116,105,111,110, 32, 42, 47,
31.1498 + 34, 41, 10,111,117,116,112,117,116, 40, 39, 76, 85, 65, 76,
31.1499 + 73, 66, 95, 65, 80, 73, 32,105,110,116, 32,108,117, 97,111,
31.1500 + 112,101,110, 95, 39, 46, 46,115,101,108,102, 46,110, 97,109,
31.1501 + 101, 46, 46, 39, 32, 40,108,117, 97, 95, 83,116, 97,116,101,
31.1502 + 42, 32,116,111,108,117, 97, 95, 83, 41, 39, 41, 10,111,117,
31.1503 + 116,112,117,116, 40, 34,123, 34, 41, 10,111,117,116,112,117,
31.1504 + 116, 40, 34, 32,116,111,108,117, 97, 95,111,112,101,110, 40,
31.1505 + 116,111,108,117, 97, 95, 83, 41, 59, 34, 41, 10,111,117,116,
31.1506 + 112,117,116, 40, 34, 32,116,111,108,117, 97, 95,114,101,103,
31.1507 + 95,116,121,112,101,115, 40,116,111,108,117, 97, 95, 83, 41,
31.1508 + 59, 34, 41, 10,111,117,116,112,117,116, 40, 34, 32,116,111,
31.1509 + 108,117, 97, 95,109,111,100,117,108,101, 40,116,111,108,117,
31.1510 + 97, 95, 83, 44, 78, 85, 76, 76, 44, 34, 44,115,101,108,102,
31.1511 + 58,104, 97,115,118, 97,114, 40, 41, 44, 34, 41, 59, 34, 41,
31.1512 + 10,111,117,116,112,117,116, 40, 34, 32,116,111,108,117, 97,
31.1513 + 95, 98,101,103,105,110,109,111,100,117,108,101, 40,116,111,
31.1514 + 108,117, 97, 95, 83, 44, 78, 85, 76, 76, 41, 59, 34, 41, 10,
31.1515 + 108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101,
31.1516 + 32,115,101,108,102, 91,105, 93, 32,100,111, 10,115,101,108,
31.1517 + 102, 91,105, 93, 58,114,101,103,105,115,116,101,114, 40, 41,
31.1518 + 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,111,117,
31.1519 + 116,112,117,116, 40, 34, 32,116,111,108,117, 97, 95,101,110,
31.1520 + 100,109,111,100,117,108,101, 40,116,111,108,117, 97, 95, 83,
31.1521 + 41, 59, 34, 41, 10,111,117,116,112,117,116, 40, 34, 32,114,
31.1522 + 101,116,117,114,110, 32, 49, 59, 34, 41, 10,111,117,116,112,
31.1523 + 117,116, 40, 34,125, 34, 41, 10, 10,111,117,116,112,117,116,
31.1524 + 40, 34, 47, 42, 32, 79,112,101,110, 32,116,111,108,117, 97,
31.1525 + 32,102,117,110, 99,116,105,111,110, 32, 42, 47, 34, 41, 10,
31.1526 + 111,117,116,112,117,116, 40, 34, 84, 79, 76, 85, 65, 95, 65,
31.1527 + 80, 73, 32,105,110,116, 32,116,111,108,117, 97, 95, 34, 46,
31.1528 + 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 34, 95,111,
31.1529 + 112,101,110, 32, 40,108,117, 97, 95, 83,116, 97,116,101, 42,
31.1530 + 32,116,111,108,117, 97, 95, 83, 41, 34, 41, 10,111,117,116,
31.1531 + 112,117,116, 40, 34,123, 34, 41, 10,111,117,116,112,117,116,
31.1532 + 40, 34, 32,108,117, 97, 95,112,117,115,104, 99,102,117,110,
31.1533 + 99,116,105,111,110, 40,116,111,108,117, 97, 95, 83, 44, 32,
31.1534 + 108,117, 97,111,112,101,110, 95, 34, 46, 46,115,101,108,102,
31.1535 + 46,110, 97,109,101, 46, 46, 34, 41, 59, 34, 41, 10,111,117,
31.1536 + 116,112,117,116, 40, 39, 32,108,117, 97, 95,112,117,115,104,
31.1537 + 115,116,114,105,110,103, 40,116,111,108,117, 97, 95, 83, 44,
31.1538 + 32, 34, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 46,
31.1539 + 46, 39, 34, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40,
31.1540 + 34, 32,108,117, 97, 95, 99, 97,108,108, 40,116,111,108,117,
31.1541 + 97, 95, 83, 44, 32, 49, 44, 32, 48, 41, 59, 34, 41, 10,111,
31.1542 + 117,116,112,117,116, 40, 34, 32,114,101,116,117,114,110, 32,
31.1543 + 49, 59, 34, 41, 10,111,117,116,112,117,116, 40, 34,125, 34,
31.1544 + 41, 10, 10,112,111,112, 40, 41, 10,101,110,100, 10, 10, 10,
31.1545 + 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 80,
31.1546 + 97, 99,107, 97,103,101, 58,104,101, 97,100,101,114, 32, 40,
31.1547 + 41, 10,111,117,116,112,117,116, 40, 39, 47, 42, 92,110, 39,
31.1548 + 41, 32,111,117,116,112,117,116, 40, 39, 42, 42, 32, 76,117,
31.1549 + 97, 32, 98,105,110,100,105,110,103, 58, 32, 39, 46, 46,115,
31.1550 + 101,108,102, 46,110, 97,109,101, 46, 46, 39, 92,110, 39, 41,
31.1551 + 10,111,117,116,112,117,116, 40, 39, 42, 42, 32, 71,101,110,
31.1552 + 101,114, 97,116,101,100, 32, 97,117,116,111,109, 97,116,105,
31.1553 + 99, 97,108,108,121, 32, 98,121, 32, 39, 46, 46, 84, 79, 76,
31.1554 + 85, 65, 95, 86, 69, 82, 83, 73, 79, 78, 46, 46, 39, 32,111,
31.1555 + 110, 32, 39, 46, 46,100, 97,116,101, 40, 41, 46, 46, 39, 46,
31.1556 + 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 42, 47,
31.1557 + 92,110, 92,110, 39, 41, 10, 10,105,102, 32,110,111,116, 32,
31.1558 + 102,108, 97,103,115, 46,104, 32,116,104,101,110, 10,111,117,
31.1559 + 116,112,117,116, 40, 39, 47, 42, 32, 69,120,112,111,114,116,
31.1560 + 101,100, 32,102,117,110, 99,116,105,111,110, 32, 42, 47, 39,
31.1561 + 41, 10,111,117,116,112,117,116, 40, 39, 84, 79, 76, 85, 65,
31.1562 + 95, 65, 80, 73, 32,105,110,116, 32,116,111,108,117, 97, 95,
31.1563 + 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 39,
31.1564 + 95,111,112,101,110, 32, 40,108,117, 97, 95, 83,116, 97,116,
31.1565 + 101, 42, 32,116,111,108,117, 97, 95, 83, 41, 59, 39, 41, 10,
31.1566 + 111,117,116,112,117,116, 40, 39, 76, 85, 65, 76, 73, 66, 95,
31.1567 + 65, 80, 73, 32,105,110,116, 32,108,117, 97,111,112,101,110,
31.1568 + 95, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46,
31.1569 + 39, 32, 40,108,117, 97, 95, 83,116, 97,116,101, 42, 32,116,
31.1570 + 111,108,117, 97, 95, 83, 41, 59, 39, 41, 10,111,117,116,112,
31.1571 + 117,116, 40, 39, 92,110, 39, 41, 10,101,110,100, 10,101,110,
31.1572 + 100, 10, 10, 10,102,117,110, 99,116,105,111,110, 32, 95, 80,
31.1573 + 97, 99,107, 97,103,101, 32, 40,115,101,108,102, 41, 10,115,
31.1574 + 101,116,109,101,116, 97,116, 97, 98,108,101, 40,115,101,108,
31.1575 + 102, 44, 99,108, 97,115,115, 80, 97, 99,107, 97,103,101, 41,
31.1576 + 10,114,101,116,117,114,110, 32,115,101,108,102, 10,101,110,
31.1577 + 100, 10, 10, 10, 10,102,117,110, 99,116,105,111,110, 32,101,
31.1578 + 120,116,114, 97, 99,116, 95, 99,111,100,101, 40,102,110, 44,
31.1579 + 115, 41, 10,108,111, 99, 97,108, 32, 99,111,100,101, 32, 61,
31.1580 + 32, 39, 92,110, 36, 35,105,110, 99,108,117,100,101, 32, 34,
31.1581 + 39, 46, 46,102,110, 46, 46, 39, 34, 92,110, 39, 10,115, 61,
31.1582 + 32, 34, 92,110, 34, 32, 46, 46, 32,115, 32, 46, 46, 32, 34,
31.1583 + 92,110, 34, 10,108,111, 99, 97,108, 32, 95, 44,101, 44, 99,
31.1584 + 44,116, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44,
31.1585 + 32, 34, 92,110, 40, 91, 94, 92,110, 93, 45, 41, 91, 84,116,
31.1586 + 93, 91, 79,111, 93, 91, 76,108, 93, 91, 85,117, 93, 91, 65,
31.1587 + 97, 93, 95, 40, 91, 94, 37,115, 93, 42, 41, 91, 94, 92,110,
31.1588 + 93, 42, 92,110, 34, 41, 10,119,104,105,108,101, 32,101, 32,
31.1589 + 100,111, 10,116, 32, 61, 32,115,116,114,108,111,119,101,114,
31.1590 + 40,116, 41, 10,105,102, 32,116, 32, 61, 61, 32, 34, 98,101,
31.1591 + 103,105,110, 34, 32,116,104,101,110, 10, 95, 44,101, 44, 99,
31.1592 + 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 40,
31.1593 + 46, 45, 41, 92,110, 91, 94, 92,110, 93, 42, 91, 84,116, 93,
31.1594 + 91, 79,111, 93, 91, 76,108, 93, 91, 85,117, 93, 91, 65, 97,
31.1595 + 93, 95, 91, 69,101, 93, 91, 78,110, 93, 91, 68,100, 93, 91,
31.1596 + 94, 92,110, 93, 42, 92,110, 34, 44,101, 41, 10,105,102, 32,
31.1597 + 110,111,116, 32,101, 32,116,104,101,110, 10,116,111,108,117,
31.1598 + 97, 95,101,114,114,111,114, 40, 34, 85,110, 98, 97,108, 97,
31.1599 + 110, 99,101,100, 32, 39,116,111,108,117, 97, 95, 98,101,103,
31.1600 + 105,110, 39, 32,100,105,114,101, 99,116,105,118,101, 32,105,
31.1601 + 110, 32,104,101, 97,100,101,114, 32,102,105,108,101, 34, 41,
31.1602 + 10,101,110,100, 10,101,110,100, 10, 99,111,100,101, 32, 61,
31.1603 + 32, 99,111,100,101, 32, 46, 46, 32, 99, 32, 46, 46, 32, 34,
31.1604 + 92,110, 34, 10, 95, 44,101, 44, 99, 44,116, 32, 61, 32,115,
31.1605 + 116,114,102,105,110,100, 40,115, 44, 32, 34, 92,110, 40, 91,
31.1606 + 94, 92,110, 93, 45, 41, 91, 84,116, 93, 91, 79,111, 93, 91,
31.1607 + 76,108, 93, 91, 85,117, 93, 91, 65, 97, 93, 95, 40, 91, 94,
31.1608 + 37,115, 93, 42, 41, 91, 94, 92,110, 93, 42, 92,110, 34, 44,
31.1609 + 101, 41, 10,101,110,100, 10,114,101,116,117,114,110, 32, 99,
31.1610 + 111,100,101, 10,101,110,100, 10, 10, 10, 10,102,117,110, 99,
31.1611 + 116,105,111,110, 32, 80, 97, 99,107, 97,103,101, 32, 40,110,
31.1612 + 97,109,101, 44,102,110, 41, 10,108,111, 99, 97,108, 32,101,
31.1613 + 120,116, 32, 61, 32, 34,112,107,103, 34, 10, 10, 10,105,102,
31.1614 + 32,102,110, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,
31.1615 + 115,116, 44, 32,109,115,103, 32, 61, 32,114,101, 97,100,102,
31.1616 + 114,111,109, 40,102,108, 97,103,115, 46,102, 41, 10,105,102,
31.1617 + 32,110,111,116, 32,115,116, 32,116,104,101,110, 10,101,114,
31.1618 + 114,111,114, 40, 39, 35, 39, 46, 46,109,115,103, 41, 10,101,
31.1619 + 110,100, 10,108,111, 99, 97,108, 32, 95, 59, 32, 95, 44, 32,
31.1620 + 95, 44, 32,101,120,116, 32, 61, 32,115,116,114,102,105,110,
31.1621 + 100, 40,102,110, 44, 34, 46, 42, 37, 46, 40, 46, 42, 41, 36,
31.1622 + 34, 41, 10,101,110,100, 10,108,111, 99, 97,108, 32, 99,111,
31.1623 + 100,101, 32, 61, 32, 34, 92,110, 34, 32, 46, 46, 32,114,101,
31.1624 + 97,100, 40, 39, 42, 97, 39, 41, 10,105,102, 32,101,120,116,
31.1625 + 32, 61, 61, 32, 39,104, 39, 32,111,114, 32,101,120,116, 32,
31.1626 + 61, 61, 32, 39,104,112,112, 39, 32,116,104,101,110, 10, 99,
31.1627 + 111,100,101, 32, 61, 32,101,120,116,114, 97, 99,116, 95, 99,
31.1628 + 111,100,101, 40,102,110, 44, 99,111,100,101, 41, 10,101,110,
31.1629 + 100, 10, 10, 10,105,102, 32,102,110, 32,116,104,101,110, 10,
31.1630 + 114,101, 97,100,102,114,111,109, 40, 41, 10,101,110,100, 10,
31.1631 + 10, 10, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40, 99,
31.1632 + 111,100,101, 44, 39, 92,110, 37,115, 42, 37, 36,114,101,110,
31.1633 + 97,109,105,110,103, 37,115, 42, 40, 46, 45, 41, 37,115, 42,
31.1634 + 92,110, 39, 44, 32,102,117,110, 99,116,105,111,110, 32, 40,
31.1635 + 114, 41, 32, 97,112,112,101,110,100,114,101,110, 97,109,105,
31.1636 + 110,103, 40,114, 41, 32,114,101,116,117,114,110, 32, 34, 92,
31.1637 + 110, 34, 32,101,110,100, 41, 10, 10, 10,108,111, 99, 97,108,
31.1638 + 32,110,115,117, 98,115,116, 10,114,101,112,101, 97,116, 10,
31.1639 + 99,111,100,101, 44,110,115,117, 98,115,116, 32, 61, 32,103,
31.1640 + 115,117, 98, 40, 99,111,100,101, 44, 39, 92,110, 37,115, 42,
31.1641 + 37, 36, 40, 46, 41,102,105,108,101, 37,115, 42, 34, 40, 46,
31.1642 + 45, 41, 34, 37,115, 42, 92,110, 39, 44, 10,102,117,110, 99,
31.1643 + 116,105,111,110, 32, 40,107,105,110,100, 44,102,110, 41, 10,
31.1644 + 108,111, 99, 97,108, 32, 95, 44, 32, 95, 44, 32,101,120,116,
31.1645 + 32, 61, 32,115,116,114,102,105,110,100, 40,102,110, 44, 34,
31.1646 + 46, 42, 37, 46, 40, 46, 42, 41, 36, 34, 41, 10,108,111, 99,
31.1647 + 97,108, 32,102,112, 44,109,115,103, 32, 61, 32,111,112,101,
31.1648 + 110,102,105,108,101, 40,102,110, 44, 39,114, 39, 41, 10,105,
31.1649 + 102, 32,110,111,116, 32,102,112, 32,116,104,101,110, 10,101,
31.1650 + 114,114,111,114, 40, 39, 35, 39, 46, 46,109,115,103, 46, 46,
31.1651 + 39, 58, 32, 39, 46, 46,102,110, 41, 10,101,110,100, 10,108,
31.1652 + 111, 99, 97,108, 32,115, 32, 61, 32,114,101, 97,100, 40,102,
31.1653 + 112, 44, 39, 42, 97, 39, 41, 10, 99,108,111,115,101,102,105,
31.1654 + 108,101, 40,102,112, 41, 10,105,102, 32,107,105,110,100, 32,
31.1655 + 61, 61, 32, 39, 99, 39, 32,111,114, 32,107,105,110,100, 32,
31.1656 + 61, 61, 32, 39,104, 39, 32,116,104,101,110, 10,114,101,116,
31.1657 + 117,114,110, 32,101,120,116,114, 97, 99,116, 95, 99,111,100,
31.1658 + 101, 40,102,110, 44,115, 41, 10,101,108,115,101,105,102, 32,
31.1659 + 107,105,110,100, 32, 61, 61, 32, 39,112, 39, 32,116,104,101,
31.1660 + 110, 10,114,101,116,117,114,110, 32, 34, 92,110, 92,110, 34,
31.1661 + 32, 46, 46, 32,115, 10,101,108,115,101,105,102, 32,107,105,
31.1662 + 110,100, 32, 61, 61, 32, 39,108, 39, 32,116,104,101,110, 10,
31.1663 + 114,101,116,117,114,110, 32, 34, 92,110, 36, 91, 92,110, 34,
31.1664 + 32, 46, 46, 32,115, 32, 46, 46, 32, 34, 92,110, 36, 93, 92,
31.1665 + 110, 34, 10,101,108,115,101, 10,101,114,114,111,114, 40, 39,
31.1666 + 35, 73,110,118, 97,108,105,100, 32,105,110, 99,108,117,100,
31.1667 + 101, 32,100,105,114,101, 99,116,105,118,101, 32, 40,117,115,
31.1668 + 101, 32, 36, 99,102,105,108,101, 44, 32, 36,112,102,105,108,
31.1669 + 101, 32,111,114, 32, 36,108,102,105,108,101, 41, 39, 41, 10,
31.1670 + 101,110,100, 10,101,110,100, 41, 10,117,110,116,105,108, 32,
31.1671 + 110,115,117, 98,115,116, 61, 61, 48, 10, 10,108,111, 99, 97,
31.1672 + 108, 32,116, 32, 61, 32, 95, 80, 97, 99,107, 97,103,101, 40,
31.1673 + 95, 67,111,110,116, 97,105,110,101,114,123,110, 97,109,101,
31.1674 + 61,110, 97,109,101, 44, 32, 99,111,100,101, 61, 99,111,100,
31.1675 + 101,125, 41, 10,112,117,115,104, 40,116, 41, 10,116, 58,112,
31.1676 + 114,101,112,114,111, 99,101,115,115, 40, 41, 10,116, 58,112,
31.1677 + 97,114,115,101, 40,116, 46, 99,111,100,101, 41, 10,112,111,
31.1678 + 112, 40, 41, 10,114,101,116,117,114,110, 32,116, 10,101,110,
31.1679 + 100,32
31.1680 + };
31.1681 + luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") ||
31.1682 + lua_pcall(tolua_S,0,LUA_MULTRET,0);
31.1683 + } /* end of embedded lua code */
31.1684 +
31.1685 +
31.1686 + { /* begin embedded lua code */
31.1687 + static unsigned char B[] = {
31.1688 + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
31.1689 + 10, 10, 10, 99,108, 97,115,115, 77,111,100,117,108,101, 32,
31.1690 + 61, 32,123, 10, 99,108, 97,115,115,116,121,112,101, 32, 61,
31.1691 + 32, 39,109,111,100,117,108,101, 39, 10,125, 10, 99,108, 97,
31.1692 + 115,115, 77,111,100,117,108,101, 46, 95, 95,105,110,100,101,
31.1693 + 120, 32, 61, 32, 99,108, 97,115,115, 77,111,100,117,108,101,
31.1694 + 10,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40, 99,
31.1695 + 108, 97,115,115, 77,111,100,117,108,101, 44, 99,108, 97,115,
31.1696 + 115, 67,111,110,116, 97,105,110,101,114, 41, 10, 10, 10,102,
31.1697 + 117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 77,111,
31.1698 + 100,117,108,101, 58,114,101,103,105,115,116,101,114, 32, 40,
31.1699 + 41, 10,112,117,115,104, 40,115,101,108,102, 41, 10,111,117,
31.1700 + 116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,109,111,
31.1701 + 100,117,108,101, 40,116,111,108,117, 97, 95, 83, 44, 34, 39,
31.1702 + 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 39, 34,
31.1703 + 44, 39, 44,115,101,108,102, 58,104, 97,115,118, 97,114, 40,
31.1704 + 41, 44, 39, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40,
31.1705 + 39, 32,116,111,108,117, 97, 95, 98,101,103,105,110,109,111,
31.1706 + 100,117,108,101, 40,116,111,108,117, 97, 95, 83, 44, 34, 39,
31.1707 + 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 39, 34,
31.1708 + 41, 59, 39, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,
31.1709 + 119,104,105,108,101, 32,115,101,108,102, 91,105, 93, 32,100,
31.1710 + 111, 10,115,101,108,102, 91,105, 93, 58,114,101,103,105,115,
31.1711 + 116,101,114, 40, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,
31.1712 + 110,100, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,
31.1713 + 117, 97, 95,101,110,100,109,111,100,117,108,101, 40,116,111,
31.1714 + 108,117, 97, 95, 83, 41, 59, 39, 41, 10,112,111,112, 40, 41,
31.1715 + 10,101,110,100, 10, 10, 10,102,117,110, 99,116,105,111,110,
31.1716 + 32, 99,108, 97,115,115, 77,111,100,117,108,101, 58,112,114,
31.1717 + 105,110,116, 32, 40,105,100,101,110,116, 44, 99,108,111,115,
31.1718 + 101, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46,
31.1719 + 46, 34, 77,111,100,117,108,101,123, 34, 41, 10,112,114,105,
31.1720 + 110,116, 40,105,100,101,110,116, 46, 46, 34, 32,110, 97,109,
31.1721 + 101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,110, 97,
31.1722 + 109,101, 46, 46, 34, 39, 59, 34, 41, 10,108,111, 99, 97,108,
31.1723 + 32,105, 61, 49, 10,119,104,105,108,101, 32,115,101,108,102,
31.1724 + 91,105, 93, 32,100,111, 10,115,101,108,102, 91,105, 93, 58,
31.1725 + 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,
31.1726 + 34, 44, 34, 44, 34, 41, 10,105, 32, 61, 32,105, 43, 49, 10,
31.1727 + 101,110,100, 10,112,114,105,110,116, 40,105,100,101,110,116,
31.1728 + 46, 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,
31.1729 + 110,100, 10, 10, 10,102,117,110, 99,116,105,111,110, 32, 95,
31.1730 + 77,111,100,117,108,101, 32, 40,116, 41, 10,115,101,116,109,
31.1731 + 101,116, 97,116, 97, 98,108,101, 40,116, 44, 99,108, 97,115,
31.1732 + 115, 77,111,100,117,108,101, 41, 10, 97,112,112,101,110,100,
31.1733 + 40,116, 41, 10,114,101,116,117,114,110, 32,116, 10,101,110,
31.1734 + 100, 10, 10, 10, 10,102,117,110, 99,116,105,111,110, 32, 77,
31.1735 + 111,100,117,108,101, 32, 40,110, 44, 98, 41, 10,108,111, 99,
31.1736 + 97,108, 32,116, 32, 61, 32, 95, 77,111,100,117,108,101, 40,
31.1737 + 95, 67,111,110,116, 97,105,110,101,114,123,110, 97,109,101,
31.1738 + 61,110,125, 41, 10,112,117,115,104, 40,116, 41, 10,116, 58,
31.1739 + 112, 97,114,115,101, 40,115,116,114,115,117, 98, 40, 98, 44,
31.1740 + 50, 44,115,116,114,108,101,110, 40, 98, 41, 45, 49, 41, 41,
31.1741 + 10,112,111,112, 40, 41, 10,114,101,116,117,114,110, 32,116,
31.1742 + 10,101,110,100,32
31.1743 + };
31.1744 + luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") ||
31.1745 + lua_pcall(tolua_S,0,LUA_MULTRET,0);
31.1746 + } /* end of embedded lua code */
31.1747 +
31.1748 +
31.1749 + { /* begin embedded lua code */
31.1750 + static unsigned char B[] = {
31.1751 + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
31.1752 + 10, 10, 10, 99,108, 97,115,115, 78, 97,109,101,115,112, 97,
31.1753 + 99,101, 32, 61, 32,123, 10, 99,108, 97,115,115,116,121,112,
31.1754 + 101, 32, 61, 32, 39,110, 97,109,101,115,112, 97, 99,101, 39,
31.1755 + 44, 10,110, 97,109,101, 32, 61, 32, 39, 39, 44, 10,125, 10,
31.1756 + 99,108, 97,115,115, 78, 97,109,101,115,112, 97, 99,101, 46,
31.1757 + 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115,
31.1758 + 78, 97,109,101,115,112, 97, 99,101, 10,115,101,116,109,101,
31.1759 + 116, 97,116, 97, 98,108,101, 40, 99,108, 97,115,115, 78, 97,
31.1760 + 109,101,115,112, 97, 99,101, 44, 99,108, 97,115,115, 77,111,
31.1761 + 100,117,108,101, 41, 10, 10, 10,102,117,110, 99,116,105,111,
31.1762 + 110, 32, 99,108, 97,115,115, 78, 97,109,101,115,112, 97, 99,
31.1763 + 101, 58,112,114,105,110,116, 32, 40,105,100,101,110,116, 44,
31.1764 + 99,108,111,115,101, 41, 10,112,114,105,110,116, 40,105,100,
31.1765 + 101,110,116, 46, 46, 34, 78, 97,109,101,115,112, 97, 99,101,
31.1766 + 123, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116,
31.1767 + 46, 46, 34, 32,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,
31.1768 + 115,101,108,102, 46,110, 97,109,101, 46, 46, 34, 39, 44, 34,
31.1769 + 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,
31.1770 + 108,101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10,115,
31.1771 + 101,108,102, 91,105, 93, 58,112,114,105,110,116, 40,105,100,
31.1772 + 101,110,116, 46, 46, 34, 32, 34, 44, 34, 44, 34, 41, 10,105,
31.1773 + 32, 61, 32,105, 43, 49, 10,101,110,100, 10,112,114,105,110,
31.1774 + 116, 40,105,100,101,110,116, 46, 46, 34,125, 34, 46, 46, 99,
31.1775 + 108,111,115,101, 41, 10,101,110,100, 10, 10, 10,102,117,110,
31.1776 + 99,116,105,111,110, 32, 95, 78, 97,109,101,115,112, 97, 99,
31.1777 + 101, 32, 40,116, 41, 10,115,101,116,109,101,116, 97,116, 97,
31.1778 + 98,108,101, 40,116, 44, 99,108, 97,115,115, 78, 97,109,101,
31.1779 + 115,112, 97, 99,101, 41, 10, 97,112,112,101,110,100, 40,116,
31.1780 + 41, 10,114,101,116,117,114,110, 32,116, 10,101,110,100, 10,
31.1781 + 10, 10, 10,102,117,110, 99,116,105,111,110, 32, 78, 97,109,
31.1782 + 101,115,112, 97, 99,101, 32, 40,110, 44, 98, 41, 10,108,111,
31.1783 + 99, 97,108, 32, 99, 32, 61, 32, 95, 78, 97,109,101,115,112,
31.1784 + 97, 99,101, 40, 95, 67,111,110,116, 97,105,110,101,114,123,
31.1785 + 110, 97,109,101, 61,110,125, 41, 10,112,117,115,104, 40, 99,
31.1786 + 41, 10, 99, 58,112, 97,114,115,101, 40,115,116,114,115,117,
31.1787 + 98, 40, 98, 44, 50, 44,115,116,114,108,101,110, 40, 98, 41,
31.1788 + 45, 49, 41, 41, 10,112,111,112, 40, 41, 10,101,110,100,32
31.1789 + };
31.1790 + luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") ||
31.1791 + lua_pcall(tolua_S,0,LUA_MULTRET,0);
31.1792 + } /* end of embedded lua code */
31.1793 +
31.1794 +
31.1795 + { /* begin embedded lua code */
31.1796 + static unsigned char B[] = {
31.1797 + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
31.1798 + 10, 10, 99,108, 97,115,115, 68,101,102,105,110,101, 32, 61,
31.1799 + 32,123, 10,110, 97,109,101, 32, 61, 32, 39, 39, 44, 10,125,
31.1800 + 10, 99,108, 97,115,115, 68,101,102,105,110,101, 46, 95, 95,
31.1801 + 105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 68,101,
31.1802 + 102,105,110,101, 10,115,101,116,109,101,116, 97,116, 97, 98,
31.1803 + 108,101, 40, 99,108, 97,115,115, 68,101,102,105,110,101, 44,
31.1804 + 99,108, 97,115,115, 70,101, 97,116,117,114,101, 41, 10, 10,
31.1805 + 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115,
31.1806 + 68,101,102,105,110,101, 58,114,101,103,105,115,116,101,114,
31.1807 + 32, 40, 41, 10,111,117,116,112,117,116, 40, 39, 32,116,111,
31.1808 + 108,117, 97, 95, 99,111,110,115,116, 97,110,116, 40,116,111,
31.1809 + 108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,102, 46,
31.1810 + 108,110, 97,109,101, 46, 46, 39, 34, 44, 39, 46, 46,115,101,
31.1811 + 108,102, 46,110, 97,109,101, 46, 46, 39, 41, 59, 39, 41, 10,
31.1812 + 101,110,100, 10, 10, 10,102,117,110, 99,116,105,111,110, 32,
31.1813 + 99,108, 97,115,115, 68,101,102,105,110,101, 58,112,114,105,
31.1814 + 110,116, 32, 40,105,100,101,110,116, 44, 99,108,111,115,101,
31.1815 + 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46,
31.1816 + 34, 68,101,102,105,110,101,123, 34, 41, 10,112,114,105,110,
31.1817 + 116, 40,105,100,101,110,116, 46, 46, 34, 32,110, 97,109,101,
31.1818 + 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,110, 97,109,
31.1819 + 101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,
31.1820 + 105,100,101,110,116, 46, 46, 34, 32,108,110, 97,109,101, 32,
31.1821 + 61, 32, 39, 34, 46, 46,115,101,108,102, 46,108,110, 97,109,
31.1822 + 101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,
31.1823 + 105,100,101,110,116, 46, 46, 34,125, 34, 46, 46, 99,108,111,
31.1824 + 115,101, 41, 10,101,110,100, 10, 10, 10, 10,102,117,110, 99,
31.1825 + 116,105,111,110, 32, 95, 68,101,102,105,110,101, 32, 40,116,
31.1826 + 41, 10,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40,
31.1827 + 116, 44, 99,108, 97,115,115, 68,101,102,105,110,101, 41, 10,
31.1828 + 116, 58, 98,117,105,108,100,110, 97,109,101,115, 40, 41, 10,
31.1829 + 10,105,102, 32,116, 46,110, 97,109,101, 32, 61, 61, 32, 39,
31.1830 + 39, 32,116,104,101,110, 10,101,114,114,111,114, 40, 34, 35,
31.1831 + 105,110,118, 97,108,105,100, 32,100,101,102,105,110,101, 34,
31.1832 + 41, 10,101,110,100, 10, 10, 97,112,112,101,110,100, 40,116,
31.1833 + 41, 10,114,101,116,117,114,110, 32,116, 10,101,110,100, 10,
31.1834 + 10, 10, 10,102,117,110, 99,116,105,111,110, 32, 68,101,102,
31.1835 + 105,110,101, 32, 40,110, 41, 10,114,101,116,117,114,110, 32,
31.1836 + 95, 68,101,102,105,110,101,123, 10,110, 97,109,101, 32, 61,
31.1837 + 32,110, 10,125, 10,101,110,100,32
31.1838 + };
31.1839 + luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") ||
31.1840 + lua_pcall(tolua_S,0,LUA_MULTRET,0);
31.1841 + } /* end of embedded lua code */
31.1842 +
31.1843 +
31.1844 + { /* begin embedded lua code */
31.1845 + static unsigned char B[] = {
31.1846 + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
31.1847 + 10, 10, 99,108, 97,115,115, 69,110,117,109,101,114, 97,116,
31.1848 + 101, 32, 61, 32,123, 10,125, 10, 99,108, 97,115,115, 69,110,
31.1849 + 117,109,101,114, 97,116,101, 46, 95, 95,105,110,100,101,120,
31.1850 + 32, 61, 32, 99,108, 97,115,115, 69,110,117,109,101,114, 97,
31.1851 + 116,101, 10,115,101,116,109,101,116, 97,116, 97, 98,108,101,
31.1852 + 40, 99,108, 97,115,115, 69,110,117,109,101,114, 97,116,101,
31.1853 + 44, 99,108, 97,115,115, 70,101, 97,116,117,114,101, 41, 10,
31.1854 + 10, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,
31.1855 + 115, 69,110,117,109,101,114, 97,116,101, 58,114,101,103,105,
31.1856 + 115,116,101,114, 32, 40, 41, 10,108,111, 99, 97,108, 32,110,
31.1857 + 115,112, 97, 99,101, 32, 61, 32,103,101,116,110, 97,109,101,
31.1858 + 115,112, 97, 99,101, 40, 99,108, 97,115,115, 67,111,110,116,
31.1859 + 97,105,110,101,114, 46, 99,117,114,114, 41, 10,108,111, 99,
31.1860 + 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115,101,
31.1861 + 108,102, 91,105, 93, 32,100,111, 10,111,117,116,112,117,116,
31.1862 + 40, 39, 32,116,111,108,117, 97, 95, 99,111,110,115,116, 97,
31.1863 + 110,116, 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,
31.1864 + 115,101,108,102, 46,108,110, 97,109,101,115, 91,105, 93, 46,
31.1865 + 46, 39, 34, 44, 39, 46, 46,110,115,112, 97, 99,101, 46, 46,
31.1866 + 115,101,108,102, 91,105, 93, 46, 46, 39, 41, 59, 39, 41, 10,
31.1867 + 105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,101,110,100,
31.1868 + 10, 10, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,
31.1869 + 115,115, 69,110,117,109,101,114, 97,116,101, 58,112,114,105,
31.1870 + 110,116, 32, 40,105,100,101,110,116, 44, 99,108,111,115,101,
31.1871 + 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46,
31.1872 + 34, 69,110,117,109,101,114, 97,116,101,123, 34, 41, 10,112,
31.1873 + 114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,110,
31.1874 + 97,109,101, 32, 61, 32, 34, 46, 46,115,101,108,102, 46,110,
31.1875 + 97,109,101, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,
31.1876 + 119,104,105,108,101, 32,115,101,108,102, 91,105, 93, 32,100,
31.1877 + 111, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46,
31.1878 + 34, 32, 39, 34, 46, 46,115,101,108,102, 91,105, 93, 46, 46,
31.1879 + 34, 39, 40, 34, 46, 46,115,101,108,102, 46,108,110, 97,109,
31.1880 + 101,115, 91,105, 93, 46, 46, 34, 41, 44, 34, 41, 10,105, 32,
31.1881 + 61, 32,105, 43, 49, 10,101,110,100, 10,112,114,105,110,116,
31.1882 + 40,105,100,101,110,116, 46, 46, 34,125, 34, 46, 46, 99,108,
31.1883 + 111,115,101, 41, 10,101,110,100, 10, 10, 10,102,117,110, 99,
31.1884 + 116,105,111,110, 32, 95, 69,110,117,109,101,114, 97,116,101,
31.1885 + 32, 40,116, 41, 10,115,101,116,109,101,116, 97,116, 97, 98,
31.1886 + 108,101, 40,116, 44, 99,108, 97,115,115, 69,110,117,109,101,
31.1887 + 114, 97,116,101, 41, 10, 97,112,112,101,110,100, 40,116, 41,
31.1888 + 10, 97,112,112,101,110,100,101,110,117,109, 40,116, 41, 10,
31.1889 + 114,101,116,117,114,110, 32,116, 10,101,110,100, 10, 10, 10,
31.1890 + 10,102,117,110, 99,116,105,111,110, 32, 69,110,117,109,101,
31.1891 + 114, 97,116,101, 32, 40,110, 44, 98, 41, 10,108,111, 99, 97,
31.1892 + 108, 32,116, 32, 61, 32,115,112,108,105,116, 40,115,116,114,
31.1893 + 115,117, 98, 40, 98, 44, 50, 44, 45, 50, 41, 44, 39, 44, 39,
31.1894 + 41, 10,108,111, 99, 97,108, 32,105, 32, 61, 32, 49, 10,108,
31.1895 + 111, 99, 97,108, 32,101, 32, 61, 32,123,110, 61, 48,125, 10,
31.1896 + 119,104,105,108,101, 32,116, 91,105, 93, 32,100,111, 10,108,
31.1897 + 111, 99, 97,108, 32,116,116, 32, 61, 32,115,112,108,105,116,
31.1898 + 40,116, 91,105, 93, 44, 39, 61, 39, 41, 10,101, 46,110, 32,
31.1899 + 61, 32,101, 46,110, 32, 43, 32, 49, 10,101, 91,101, 46,110,
31.1900 + 93, 32, 61, 32,116,116, 91, 49, 93, 10,105, 32, 61, 32,105,
31.1901 + 43, 49, 10,101,110,100, 10, 10,105, 32, 61, 32, 49, 10,101,
31.1902 + 46,108,110, 97,109,101,115, 32, 61, 32,123,125, 10,119,104,
31.1903 + 105,108,101, 32,101, 91,105, 93, 32,100,111, 10,108,111, 99,
31.1904 + 97,108, 32,116, 32, 61, 32,115,112,108,105,116, 40,101, 91,
31.1905 + 105, 93, 44, 39, 64, 39, 41, 10,101, 91,105, 93, 32, 61, 32,
31.1906 + 116, 91, 49, 93, 10,105,102, 32,110,111,116, 32,116, 91, 50,
31.1907 + 93, 32,116,104,101,110, 10,116, 91, 50, 93, 32, 61, 32, 97,
31.1908 + 112,112,108,121,114,101,110, 97,109,105,110,103, 40,116, 91,
31.1909 + 49, 93, 41, 10,101,110,100, 10,101, 46,108,110, 97,109,101,
31.1910 + 115, 91,105, 93, 32, 61, 32,116, 91, 50, 93, 32,111,114, 32,
31.1911 + 116, 91, 49, 93, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,
31.1912 + 100, 10,101, 46,110, 97,109,101, 32, 61, 32,110, 10, 84,121,
31.1913 + 112,101,100,101,102, 40, 34,105,110,116, 32, 34, 46, 46,110,
31.1914 + 41, 10,114,101,116,117,114,110, 32, 95, 69,110,117,109,101,
31.1915 + 114, 97,116,101, 40,101, 41, 10,101,110,100,32
31.1916 + };
31.1917 + luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") ||
31.1918 + lua_pcall(tolua_S,0,LUA_MULTRET,0);
31.1919 + } /* end of embedded lua code */
31.1920 +
31.1921 +
31.1922 + { /* begin embedded lua code */
31.1923 + static unsigned char B[] = {
31.1924 + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
31.1925 + 10, 10, 10, 10, 10, 10, 10, 10, 99,108, 97,115,115, 68,101,
31.1926 + 99,108, 97,114, 97,116,105,111,110, 32, 61, 32,123, 10,109,
31.1927 + 111,100, 32, 61, 32, 39, 39, 44, 10,116,121,112,101, 32, 61,
31.1928 + 32, 39, 39, 44, 10,112,116,114, 32, 61, 32, 39, 39, 44, 10,
31.1929 + 110, 97,109,101, 32, 61, 32, 39, 39, 44, 10,100,105,109, 32,
31.1930 + 61, 32, 39, 39, 44, 10,114,101,116, 32, 61, 32, 39, 39, 44,
31.1931 + 10,100,101,102, 32, 61, 32, 39, 39, 10,125, 10, 99,108, 97,
31.1932 + 115,115, 68,101, 99,108, 97,114, 97,116,105,111,110, 46, 95,
31.1933 + 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 68,
31.1934 + 101, 99,108, 97,114, 97,116,105,111,110, 10,115,101,116,109,
31.1935 + 101,116, 97,116, 97, 98,108,101, 40, 99,108, 97,115,115, 68,
31.1936 + 101, 99,108, 97,114, 97,116,105,111,110, 44, 99,108, 97,115,
31.1937 + 115, 70,101, 97,116,117,114,101, 41, 10, 10, 10,102,117,110,
31.1938 + 99,116,105,111,110, 32, 99,114,101, 97,116,101, 95,118, 97,
31.1939 + 114,110, 97,109,101, 32, 40, 41, 10,105,102, 32,110,111,116,
31.1940 + 32, 95,118, 97,114,110,117,109, 98,101,114, 32,116,104,101,
31.1941 + 110, 32, 95,118, 97,114,110,117,109, 98,101,114, 32, 61, 32,
31.1942 + 48, 32,101,110,100, 10, 95,118, 97,114,110,117,109, 98,101,
31.1943 + 114, 32, 61, 32, 95,118, 97,114,110,117,109, 98,101,114, 32,
31.1944 + 43, 32, 49, 10,114,101,116,117,114,110, 32, 34,116,111,108,
31.1945 + 117, 97, 95,118, 97,114, 95, 34, 46, 46, 95,118, 97,114,110,
31.1946 + 117,109, 98,101,114, 10,101,110,100, 10, 10, 10, 10,102,117,
31.1947 + 110, 99,116,105,111,110, 32, 99,108, 97,115,115, 68,101, 99,
31.1948 + 108, 97,114, 97,116,105,111,110, 58, 99,104,101, 99,107,110,
31.1949 + 97,109,101, 32, 40, 41, 10, 10,105,102, 32,115,116,114,115,
31.1950 + 117, 98, 40,115,101,108,102, 46,110, 97,109,101, 44, 49, 44,
31.1951 + 49, 41, 32, 61, 61, 32, 39, 91, 39, 32, 97,110,100, 32,110,
31.1952 + 111,116, 32,102,105,110,100,116,121,112,101, 40,115,101,108,
31.1953 + 102, 46,116,121,112,101, 41, 32,116,104,101,110, 10,115,101,
31.1954 + 108,102, 46,110, 97,109,101, 32, 61, 32,115,101,108,102, 46,
31.1955 + 116,121,112,101, 46, 46,115,101,108,102, 46,110, 97,109,101,
31.1956 + 10,108,111, 99, 97,108, 32,109, 32, 61, 32,115,112,108,105,
31.1957 + 116, 40,115,101,108,102, 46,109,111,100, 44, 39, 37,115, 37,
31.1958 + 115, 42, 39, 41, 10,115,101,108,102, 46,116,121,112,101, 32,
31.1959 + 61, 32,109, 91,109, 46,110, 93, 10,115,101,108,102, 46,109,
31.1960 + 111,100, 32, 61, 32, 99,111,110, 99, 97,116, 40,109, 44, 49,
31.1961 + 44,109, 46,110, 45, 49, 41, 10,101,110,100, 10, 10,108,111,
31.1962 + 99, 97,108, 32,116, 32, 61, 32,115,112,108,105,116, 40,115,
31.1963 + 101,108,102, 46,110, 97,109,101, 44, 39, 61, 39, 41, 10,105,
31.1964 + 102, 32,116, 46,110, 61, 61, 50, 32,116,104,101,110, 10,115,
31.1965 + 101,108,102, 46,110, 97,109,101, 32, 61, 32,116, 91, 49, 93,
31.1966 + 10,115,101,108,102, 46,100,101,102, 32, 61, 32,116, 91,116,
31.1967 + 46,110, 93, 10,101,110,100, 10, 10,108,111, 99, 97,108, 32,
31.1968 + 98, 44,101, 44,100, 32, 61, 32,115,116,114,102,105,110,100,
31.1969 + 40,115,101,108,102, 46,110, 97,109,101, 44, 34, 37, 91, 40,
31.1970 + 46, 45, 41, 37, 93, 34, 41, 10,105,102, 32, 98, 32,116,104,
31.1971 + 101,110, 10,115,101,108,102, 46,110, 97,109,101, 32, 61, 32,
31.1972 + 115,116,114,115,117, 98, 40,115,101,108,102, 46,110, 97,109,
31.1973 + 101, 44, 49, 44, 98, 45, 49, 41, 10,115,101,108,102, 46,100,
31.1974 + 105,109, 32, 61, 32,100, 10,101,110,100, 10, 10, 10,105,102,
31.1975 + 32,115,101,108,102, 46,116,121,112,101, 32,126, 61, 32, 39,
31.1976 + 39, 32, 97,110,100, 32,115,101,108,102, 46,116,121,112,101,
31.1977 + 32,126, 61, 32, 39,118,111,105,100, 39, 32, 97,110,100, 32,
31.1978 + 115,101,108,102, 46,110, 97,109,101, 32, 61, 61, 32, 39, 39,
31.1979 + 32,116,104,101,110, 10,115,101,108,102, 46,110, 97,109,101,
31.1980 + 32, 61, 32, 99,114,101, 97,116,101, 95,118, 97,114,110, 97,
31.1981 + 109,101, 40, 41, 10,101,108,115,101,105,102, 32,115,101,108,
31.1982 + 102, 46,107,105,110,100, 61, 61, 39,118, 97,114, 39, 32,116,
31.1983 + 104,101,110, 10,105,102, 32,115,101,108,102, 46,116,121,112,
31.1984 + 101, 61, 61, 39, 39, 32, 97,110,100, 32,115,101,108,102, 46,
31.1985 + 110, 97,109,101,126, 61, 39, 39, 32,116,104,101,110, 10,115,
31.1986 + 101,108,102, 46,116,121,112,101, 32, 61, 32,115,101,108,102,
31.1987 + 46,116,121,112,101, 46, 46,115,101,108,102, 46,110, 97,109,
31.1988 + 101, 10,115,101,108,102, 46,110, 97,109,101, 32, 61, 32, 99,
31.1989 + 114,101, 97,116,101, 95,118, 97,114,110, 97,109,101, 40, 41,
31.1990 + 10,101,108,115,101,105,102, 32,102,105,110,100,116,121,112,
31.1991 + 101, 40,115,101,108,102, 46,110, 97,109,101, 41, 32,116,104,
31.1992 + 101,110, 10,105,102, 32,115,101,108,102, 46,116,121,112,101,
31.1993 + 61, 61, 39, 39, 32,116,104,101,110, 32,115,101,108,102, 46,
31.1994 + 116,121,112,101, 32, 61, 32,115,101,108,102, 46,110, 97,109,
31.1995 + 101, 10,101,108,115,101, 32,115,101,108,102, 46,116,121,112,
31.1996 + 101, 32, 61, 32,115,101,108,102, 46,116,121,112,101, 46, 46,
31.1997 + 39, 32, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 32,
31.1998 + 101,110,100, 10,115,101,108,102, 46,110, 97,109,101, 32, 61,
31.1999 + 32, 99,114,101, 97,116,101, 95,118, 97,114,110, 97,109,101,
31.2000 + 40, 41, 10,101,110,100, 10,101,110,100, 10, 10, 10,105,102,
31.2001 + 32,115,101,108,102, 46,116,121,112,101, 32, 61, 61, 32, 39,
31.2002 + 99,104, 97,114, 39, 32, 97,110,100, 32,115,101,108,102, 46,
31.2003 + 100,105,109, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 10,
31.2004 + 115,101,108,102, 46,116,121,112,101, 32, 61, 32, 39, 99,104,
31.2005 + 97,114, 42, 39, 10,101,110,100, 10,101,110,100, 10, 10, 10,
31.2006 + 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115,
31.2007 + 68,101, 99,108, 97,114, 97,116,105,111,110, 58, 99,104,101,
31.2008 + 99,107,116,121,112,101, 32, 40, 41, 10, 10, 10,105,102, 32,
31.2009 + 105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46,116,121,
31.2010 + 112,101, 41, 32, 97,110,100, 32,115,101,108,102, 46,112,116,
31.2011 + 114,126, 61, 39, 39, 32,116,104,101,110, 10,115,101,108,102,
31.2012 + 46,114,101,116, 32, 61, 32,115,101,108,102, 46,112,116,114,
31.2013 + 10,115,101,108,102, 46,112,116,114, 32, 61, 32,110,105,108,
31.2014 + 10,101,110,100, 10, 10, 10,105,102, 32,115,101,108,102, 46,
31.2015 + 100,105,109,126, 61, 39, 39, 32, 97,110,100, 32,115,101,108,
31.2016 + 102, 46,114,101,116,126, 61, 39, 39, 32,116,104,101,110, 10,
31.2017 + 101,114,114,111,114, 40, 39, 35,105,110,118, 97,108,105,100,
31.2018 + 32,112, 97,114, 97,109,101,116,101,114, 58, 32, 99, 97,110,
31.2019 + 110,111,116, 32,114,101,116,117,114,110, 32, 97,110, 32, 97,
31.2020 + 114,114, 97,121, 32,111,102, 32,118, 97,108,117,101,115, 39,
31.2021 + 41, 10,101,110,100, 10, 10, 10,105,102, 32,115,101,108,102,
31.2022 + 46,116,121,112,101, 32, 61, 61, 32, 39, 95,117,115,101,114,
31.2023 + 100, 97,116, 97, 39, 32,116,104,101,110, 32,115,101,108,102,
31.2024 + 46,116,121,112,101, 32, 61, 32, 39,118,111,105,100, 42, 39,
31.2025 + 10,101,108,115,101,105,102, 32,115,101,108,102, 46,116,121,
31.2026 + 112,101, 32, 61, 61, 32, 39, 95, 99,115,116,114,105,110,103,
31.2027 + 39, 32,116,104,101,110, 32,115,101,108,102, 46,116,121,112,
31.2028 + 101, 32, 61, 32, 39, 99,104, 97,114, 42, 39, 10,101,110,100,
31.2029 + 10, 10, 10, 10, 10, 10, 10, 10, 10,101,110,100, 10, 10, 10,
31.2030 + 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 68,
31.2031 + 101, 99,108, 97,114, 97,116,105,111,110, 58,112,114,105,110,
31.2032 + 116, 32, 40,105,100,101,110,116, 44, 99,108,111,115,101, 41,
31.2033 + 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,
31.2034 + 68,101, 99,108, 97,114, 97,116,105,111,110,123, 34, 41, 10,
31.2035 + 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,
31.2036 + 109,111,100, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,
31.2037 + 109,111,100, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,
31.2038 + 116, 40,105,100,101,110,116, 46, 46, 34, 32,116,121,112,101,
31.2039 + 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,116,121,112,
31.2040 + 101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,
31.2041 + 105,100,101,110,116, 46, 46, 34, 32,112,116,114, 32, 61, 32,
31.2042 + 39, 34, 46, 46,115,101,108,102, 46,112,116,114, 46, 46, 34,
31.2043 + 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,
31.2044 + 116, 46, 46, 34, 32,110, 97,109,101, 32, 61, 32, 39, 34, 46,
31.2045 + 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 34, 39, 44,
31.2046 + 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46,
31.2047 + 46, 34, 32,100,105,109, 32, 61, 32, 39, 34, 46, 46,115,101,
31.2048 + 108,102, 46,100,105,109, 46, 46, 34, 39, 44, 34, 41, 10,112,
31.2049 + 114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,100,
31.2050 + 101,102, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,100,
31.2051 + 101,102, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116,
31.2052 + 40,105,100,101,110,116, 46, 46, 34, 32,114,101,116, 32, 61,
31.2053 + 32, 39, 34, 46, 46,115,101,108,102, 46,114,101,116, 46, 46,
31.2054 + 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,
31.2055 + 110,116, 46, 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41,
31.2056 + 10,101,110,100, 10, 10, 10,102,117,110, 99,116,105,111,110,
31.2057 + 32, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116,105,
31.2058 + 111,110, 58,114,101,113,117,105,114,101, 99,111,108,108,101,
31.2059 + 99,116,105,111,110, 32, 40,116, 41, 10,105,102, 32,115,101,
31.2060 + 108,102, 46,109,111,100, 32,126, 61, 32, 39, 99,111,110,115,
31.2061 + 116, 39, 32, 97,110,100, 10,115,101,108,102, 46,100,105,109,
31.2062 + 32, 97,110,100, 32,115,101,108,102, 46,100,105,109, 32,126,
31.2063 + 61, 32, 39, 39, 32, 97,110,100, 10,110,111,116, 32,105,115,
31.2064 + 98, 97,115,105, 99, 40,115,101,108,102, 46,116,121,112,101,
31.2065 + 41, 32, 97,110,100, 10,115,101,108,102, 46,112,116,114, 32,
31.2066 + 61, 61, 32, 39, 39, 32,116,104,101,110, 10,108,111, 99, 97,
31.2067 + 108, 32,116,121,112,101, 32, 61, 32,103,115,117, 98, 40,115,
31.2068 + 101,108,102, 46,116,121,112,101, 44, 34, 37,115, 42, 99,111,
31.2069 + 110,115,116, 37,115, 42, 34, 44, 34, 34, 41, 10,116, 91,116,
31.2070 + 121,112,101, 93, 32, 61, 32,103,115,117, 98, 40,116,121,112,
31.2071 + 101, 44, 34, 58, 58, 34, 44, 34, 95, 34, 41, 10,114,101,116,
31.2072 + 117,114,110, 32,116,114,117,101, 10,101,110,100, 10,114,101,
31.2073 + 116,117,114,110, 32,102, 97,108,115,101, 10,101,110,100, 10,
31.2074 + 10, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,
31.2075 + 115, 68,101, 99,108, 97,114, 97,116,105,111,110, 58,100,101,
31.2076 + 99,108,116,121,112,101, 32, 40, 41, 10,115,101,108,102, 46,
31.2077 + 116,121,112,101, 32, 61, 32,116,121,112,101,118, 97,114, 40,
31.2078 + 115,101,108,102, 46,116,121,112,101, 41, 10,105,102, 32,115,
31.2079 + 116,114,102,105,110,100, 40,115,101,108,102, 46,109,111,100,
31.2080 + 44, 39, 99,111,110,115,116, 39, 41, 32,116,104,101,110, 10,
31.2081 + 115,101,108,102, 46,116,121,112,101, 32, 61, 32, 39, 99,111,
31.2082 + 110,115,116, 32, 39, 46, 46,115,101,108,102, 46,116,121,112,
31.2083 + 101, 10,115,101,108,102, 46,109,111,100, 32, 61, 32,103,115,
31.2084 + 117, 98, 40,115,101,108,102, 46,109,111,100, 44, 39, 99,111,
31.2085 + 110,115,116, 37,115, 42, 39, 44, 39, 39, 41, 10,101,110,100,
31.2086 + 10,101,110,100, 10, 10, 10, 10,102,117,110, 99,116,105,111,
31.2087 + 110, 32, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116,
31.2088 + 105,111,110, 58,111,117,116, 99,104,101, 99,107,116,121,112,
31.2089 + 101, 32, 40,110, 97,114,103, 41, 10,108,111, 99, 97,108, 32,
31.2090 + 100,101,102, 10,108,111, 99, 97,108, 32,116, 32, 61, 32,105,
31.2091 + 115, 98, 97,115,105, 99, 40,115,101,108,102, 46,116,121,112,
31.2092 + 101, 41, 10,105,102, 32,115,101,108,102, 46,100,101,102,126,
31.2093 + 61, 39, 39, 32,116,104,101,110, 10,100,101,102, 32, 61, 32,
31.2094 + 49, 10,101,108,115,101, 10,100,101,102, 32, 61, 32, 48, 10,
31.2095 + 101,110,100, 10,105,102, 32,115,101,108,102, 46,100,105,109,
31.2096 + 32,126, 61, 32, 39, 39, 32,116,104,101,110, 10,105,102, 32,
31.2097 + 116, 61, 61, 39,115,116,114,105,110,103, 39, 32,116,104,101,
31.2098 + 110, 10,114,101,116,117,114,110, 32, 39,116,111,108,117, 97,
31.2099 + 95,105,115,115,116,114,105,110,103, 40,116,111,108,117, 97,
31.2100 + 95, 83, 44, 39, 46, 46,110, 97,114,103, 46, 46, 39, 44, 39,
31.2101 + 46, 46,100,101,102, 46, 46, 39, 44, 38,116,111,108,117, 97,
31.2102 + 95,101,114,114, 41, 39, 10,101,108,115,101, 10,114,101,116,
31.2103 + 117,114,110, 32, 39,116,111,108,117, 97, 95,105,115,116, 97,
31.2104 + 98,108,101, 40,116,111,108,117, 97, 95, 83, 44, 39, 46, 46,
31.2105 + 110, 97,114,103, 46, 46, 39, 44, 48, 44, 38,116,111,108,117,
31.2106 + 97, 95,101,114,114, 41, 39, 10,101,110,100, 10,101,108,115,
31.2107 + 101,105,102, 32,116, 32,116,104,101,110, 10,114,101,116,117,
31.2108 + 114,110, 32, 39,116,111,108,117, 97, 95,105,115, 39, 46, 46,
31.2109 + 116, 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 44, 39, 46,
31.2110 + 46,110, 97,114,103, 46, 46, 39, 44, 39, 46, 46,100,101,102,
31.2111 + 46, 46, 39, 44, 38,116,111,108,117, 97, 95,101,114,114, 41,
31.2112 + 39, 10,101,108,115,101, 10,114,101,116,117,114,110, 32, 39,
31.2113 + 116,111,108,117, 97, 95,105,115,117,115,101,114,116,121,112,
31.2114 + 101, 40,116,111,108,117, 97, 95, 83, 44, 39, 46, 46,110, 97,
31.2115 + 114,103, 46, 46, 39, 44, 34, 39, 46, 46,115,101,108,102, 46,
31.2116 + 116,121,112,101, 46, 46, 39, 34, 44, 39, 46, 46,100,101,102,
31.2117 + 46, 46, 39, 44, 38,116,111,108,117, 97, 95,101,114,114, 41,
31.2118 + 39, 10,101,110,100, 10,101,110,100, 10, 10,102,117,110, 99,
31.2119 + 116,105,111,110, 32, 99,108, 97,115,115, 68,101, 99,108, 97,
31.2120 + 114, 97,116,105,111,110, 58, 98,117,105,108,100,100,101, 99,
31.2121 + 108, 97,114, 97,116,105,111,110, 32, 40,110, 97,114,103, 44,
31.2122 + 32, 99,112,108,117,115,112,108,117,115, 41, 10,108,111, 99,
31.2123 + 97,108, 32, 97,114,114, 97,121, 32, 61, 32,115,101,108,102,
31.2124 + 46,100,105,109, 32,126, 61, 32, 39, 39, 32, 97,110,100, 32,
31.2125 + 116,111,110,117,109, 98,101,114, 40,115,101,108,102, 46,100,
31.2126 + 105,109, 41, 61, 61,110,105,108, 10,108,111, 99, 97,108, 32,
31.2127 + 108,105,110,101, 32, 61, 32, 34, 34, 10,108,111, 99, 97,108,
31.2128 + 32,112,116,114, 32, 61, 32, 39, 39, 10,108,111, 99, 97,108,
31.2129 + 32,109,111,100, 10,108,111, 99, 97,108, 32,116,121,112,101,
31.2130 + 32, 61, 32,115,101,108,102, 46,116,121,112,101, 10,105,102,
31.2131 + 32,115,101,108,102, 46,100,105,109, 32,126, 61, 32, 39, 39,
31.2132 + 32,116,104,101,110, 10,116,121,112,101, 32, 61, 32,103,115,
31.2133 + 117, 98, 40,115,101,108,102, 46,116,121,112,101, 44, 39, 99,
31.2134 + 111,110,115,116, 37,115, 42, 39, 44, 39, 39, 41, 10,101,110,
31.2135 + 100, 10,108,111, 99, 97,108, 32, 99,116,121,112,101, 32, 61,
31.2136 + 32,116,121,112,101, 10,105,102, 32, 99,116,121,112,101, 61,
31.2137 + 61, 34,108,117, 97, 95, 79, 98,106,101, 99,116, 34, 32,111,
31.2138 + 114, 32, 99,116,121,112,101, 61, 61, 34,108,117, 97, 95, 70,
31.2139 + 117,110, 99,116,105,111,110, 34, 32,116,104,101,110, 10, 99,
31.2140 + 116,121,112,101, 32, 61, 32, 34,105,110,116, 34, 10,101,110,
31.2141 + 100, 10,105,102, 32,115,101,108,102, 46,112,116,114,126, 61,
31.2142 + 39, 39, 32,116,104,101,110, 32,112,116,114, 32, 61, 32, 39,
31.2143 + 42, 39, 32,101,110,100, 10,108,105,110,101, 32, 61, 32, 99,
31.2144 + 111,110, 99, 97,116,112, 97,114, 97,109, 40,108,105,110,101,
31.2145 + 44, 34, 32, 34, 44,115,101,108,102, 46,109,111,100, 44, 99,
31.2146 + 116,121,112,101, 44,112,116,114, 41, 10,105,102, 32, 97,114,
31.2147 + 114, 97,121, 32,116,104,101,110, 10,108,105,110,101, 32, 61,
31.2148 + 32, 99,111,110, 99, 97,116,112, 97,114, 97,109, 40,108,105,
31.2149 + 110,101, 44, 39, 42, 39, 41, 10,101,110,100, 10,108,105,110,
31.2150 + 101, 32, 61, 32, 99,111,110, 99, 97,116,112, 97,114, 97,109,
31.2151 + 40,108,105,110,101, 44,115,101,108,102, 46,110, 97,109,101,
31.2152 + 41, 10,105,102, 32,115,101,108,102, 46,100,105,109, 32,126,
31.2153 + 61, 32, 39, 39, 32,116,104,101,110, 10,105,102, 32,116,111,
31.2154 + 110,117,109, 98,101,114, 40,115,101,108,102, 46,100,105,109,
31.2155 + 41,126, 61,110,105,108, 32,116,104,101,110, 10,108,105,110,
31.2156 + 101, 32, 61, 32, 99,111,110, 99, 97,116,112, 97,114, 97,109,
31.2157 + 40,108,105,110,101, 44, 39, 91, 39, 44,115,101,108,102, 46,
31.2158 + 100,105,109, 44, 39, 93, 59, 39, 41, 10,101,108,115,101, 10,
31.2159 + 105,102, 32, 99,112,108,117,115,112,108,117,115, 32,116,104,
31.2160 + 101,110, 10,108,105,110,101, 32, 61, 32, 99,111,110, 99, 97,
31.2161 + 116,112, 97,114, 97,109, 40,108,105,110,101, 44, 39, 32, 61,
31.2162 + 32,110,101,119, 39, 44,116,121,112,101, 44,112,116,114, 44,
31.2163 + 39, 91, 39, 46, 46,115,101,108,102, 46,100,105,109, 46, 46,
31.2164 + 39, 93, 59, 39, 41, 10,101,108,115,101, 10,108,105,110,101,
31.2165 + 32, 61, 32, 99,111,110, 99, 97,116,112, 97,114, 97,109, 40,
31.2166 + 108,105,110,101, 44, 39, 32, 61, 32, 40, 39, 44,116,121,112,
31.2167 + 101, 44,112,116,114, 44, 39, 42, 41, 39, 44, 10, 39,109, 97,
31.2168 + 108,108,111, 99, 40, 40, 39, 44,115,101,108,102, 46,100,105,
31.2169 + 109, 44, 39, 41, 42,115,105,122,101,111,102, 40, 39, 44,116,
31.2170 + 121,112,101, 44,112,116,114, 44, 39, 41, 41, 59, 39, 41, 10,
31.2171 + 101,110,100, 10,101,110,100, 10,101,108,115,101, 10,108,111,
31.2172 + 99, 97,108, 32,116, 32, 61, 32,105,115, 98, 97,115,105, 99,
31.2173 + 40,116,121,112,101, 41, 10,108,105,110,101, 32, 61, 32, 99,
31.2174 + 111,110, 99, 97,116,112, 97,114, 97,109, 40,108,105,110,101,
31.2175 + 44, 39, 32, 61, 32, 39, 41, 10,105,102, 32,110,111,116, 32,
31.2176 + 116, 32, 97,110,100, 32,112,116,114, 61, 61, 39, 39, 32,116,
31.2177 + 104,101,110, 32,108,105,110,101, 32, 61, 32, 99,111,110, 99,
31.2178 + 97,116,112, 97,114, 97,109, 40,108,105,110,101, 44, 39, 42,
31.2179 + 39, 41, 32,101,110,100, 10,108,105,110,101, 32, 61, 32, 99,
31.2180 + 111,110, 99, 97,116,112, 97,114, 97,109, 40,108,105,110,101,
31.2181 + 44, 39, 40, 40, 39, 44,115,101,108,102, 46,109,111,100, 44,
31.2182 + 116,121,112,101, 41, 10,105,102, 32,110,111,116, 32,116, 32,
31.2183 + 116,104,101,110, 10,108,105,110,101, 32, 61, 32, 99,111,110,
31.2184 + 99, 97,116,112, 97,114, 97,109, 40,108,105,110,101, 44, 39,
31.2185 + 42, 39, 41, 10,101,110,100, 10,108,105,110,101, 32, 61, 32,
31.2186 + 99,111,110, 99, 97,116,112, 97,114, 97,109, 40,108,105,110,
31.2187 + 101, 44, 39, 41, 32, 39, 41, 10,105,102, 32,105,115,101,110,
31.2188 + 117,109, 40,116,121,112,101, 41, 32,116,104,101,110, 10,108,
31.2189 + 105,110,101, 32, 61, 32, 99,111,110, 99, 97,116,112, 97,114,
31.2190 + 97,109, 40,108,105,110,101, 44, 39, 40,105,110,116, 41, 32,
31.2191 + 39, 41, 10,101,110,100, 10,108,111, 99, 97,108, 32,100,101,
31.2192 + 102, 32, 61, 32, 48, 10,105,102, 32,115,101,108,102, 46,100,
31.2193 + 101,102, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 32,100,
31.2194 + 101,102, 32, 61, 32,115,101,108,102, 46,100,101,102, 32,101,
31.2195 + 110,100, 10,105,102, 32,116, 32,116,104,101,110, 10,108,105,
31.2196 + 110,101, 32, 61, 32, 99,111,110, 99, 97,116,112, 97,114, 97,
31.2197 + 109, 40,108,105,110,101, 44, 39,116,111,108,117, 97, 95,116,
31.2198 + 111, 39, 46, 46,116, 44, 39, 40,116,111,108,117, 97, 95, 83,
31.2199 + 44, 39, 44,110, 97,114,103, 44, 39, 44, 39, 44,100,101,102,
31.2200 + 44, 39, 41, 41, 59, 39, 41, 10,101,108,115,101, 10,108,105,
31.2201 + 110,101, 32, 61, 32, 99,111,110, 99, 97,116,112, 97,114, 97,
31.2202 + 109, 40,108,105,110,101, 44, 39,116,111,108,117, 97, 95,116,
31.2203 + 111,117,115,101,114,116,121,112,101, 40,116,111,108,117, 97,
31.2204 + 95, 83, 44, 39, 44,110, 97,114,103, 44, 39, 44, 39, 44,100,
31.2205 + 101,102, 44, 39, 41, 41, 59, 39, 41, 10,101,110,100, 10,101,
31.2206 + 110,100, 10,114,101,116,117,114,110, 32,108,105,110,101, 10,
31.2207 + 101,110,100, 10, 10, 10,102,117,110, 99,116,105,111,110, 32,
31.2208 + 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116,105,111,
31.2209 + 110, 58,100,101, 99,108, 97,114,101, 32, 40,110, 97,114,103,
31.2210 + 41, 10,105,102, 32,115,101,108,102, 46,100,105,109, 32,126,
31.2211 + 61, 32, 39, 39, 32, 97,110,100, 32,116,111,110,117,109, 98,
31.2212 + 101,114, 40,115,101,108,102, 46,100,105,109, 41, 61, 61,110,
31.2213 + 105,108, 32,116,104,101,110, 10,111,117,116,112,117,116, 40,
31.2214 + 39, 35,105,102,100,101,102, 32, 95, 95, 99,112,108,117,115,
31.2215 + 112,108,117,115, 92,110, 39, 41, 10,111,117,116,112,117,116,
31.2216 + 40,115,101,108,102, 58, 98,117,105,108,100,100,101, 99,108,
31.2217 + 97,114, 97,116,105,111,110, 40,110, 97,114,103, 44,116,114,
31.2218 + 117,101, 41, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,
31.2219 + 108,115,101, 92,110, 39, 41, 10,111,117,116,112,117,116, 40,
31.2220 + 115,101,108,102, 58, 98,117,105,108,100,100,101, 99,108, 97,
31.2221 + 114, 97,116,105,111,110, 40,110, 97,114,103, 44,102, 97,108,
31.2222 + 115,101, 41, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,
31.2223 + 110,100,105,102, 92,110, 39, 41, 10,101,108,115,101, 10,111,
31.2224 + 117,116,112,117,116, 40,115,101,108,102, 58, 98,117,105,108,
31.2225 + 100,100,101, 99,108, 97,114, 97,116,105,111,110, 40,110, 97,
31.2226 + 114,103, 44,102, 97,108,115,101, 41, 41, 10,101,110,100, 10,
31.2227 + 101,110,100, 10, 10, 10,102,117,110, 99,116,105,111,110, 32,
31.2228 + 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116,105,111,
31.2229 + 110, 58,103,101,116, 97,114,114, 97,121, 32, 40,110, 97,114,
31.2230 + 103, 41, 10,105,102, 32,115,101,108,102, 46,100,105,109, 32,
31.2231 + 126, 61, 32, 39, 39, 32,116,104,101,110, 10,108,111, 99, 97,
31.2232 + 108, 32,116,121,112,101, 32, 61, 32,103,115,117, 98, 40,115,
31.2233 + 101,108,102, 46,116,121,112,101, 44, 39, 99,111,110,115,116,
31.2234 + 32, 39, 44, 39, 39, 41, 10,111,117,116,112,117,116, 40, 39,
31.2235 + 32,123, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,105,
31.2236 + 102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76,
31.2237 + 69, 65, 83, 69, 92,110, 39, 41, 10,108,111, 99, 97,108, 32,
31.2238 + 100,101,102, 59, 32,105,102, 32,115,101,108,102, 46,100,101,
31.2239 + 102,126, 61, 39, 39, 32,116,104,101,110, 32,100,101,102, 61,
31.2240 + 49, 32,101,108,115,101, 32,100,101,102, 61, 48, 32,101,110,
31.2241 + 100, 10,108,111, 99, 97,108, 32,116, 32, 61, 32,105,115, 98,
31.2242 + 97,115,105, 99, 40,116,121,112,101, 41, 10,105,102, 32, 40,
31.2243 + 116, 41, 32,116,104,101,110, 10,111,117,116,112,117,116, 40,
31.2244 + 39, 32,105,102, 32, 40, 33,116,111,108,117, 97, 95,105,115,
31.2245 + 39, 46, 46,116, 46, 46, 39, 97,114,114, 97,121, 40,116,111,
31.2246 + 108,117, 97, 95, 83, 44, 39, 44,110, 97,114,103, 44, 39, 44,
31.2247 + 39, 44,115,101,108,102, 46,100,105,109, 44, 39, 44, 39, 44,
31.2248 + 100,101,102, 44, 39, 44, 38,116,111,108,117, 97, 95,101,114,
31.2249 + 114, 41, 41, 39, 41, 10,101,108,115,101, 10,111,117,116,112,
31.2250 + 117,116, 40, 39, 32,105,102, 32, 40, 33,116,111,108,117, 97,
31.2251 + 95,105,115,117,115,101,114,116,121,112,101, 97,114,114, 97,
31.2252 + 121, 40,116,111,108,117, 97, 95, 83, 44, 39, 44,110, 97,114,
31.2253 + 103, 44, 39, 44, 34, 39, 44,116,121,112,101, 44, 39, 34, 44,
31.2254 + 39, 44,115,101,108,102, 46,100,105,109, 44, 39, 44, 39, 44,
31.2255 + 100,101,102, 44, 39, 44, 38,116,111,108,117, 97, 95,101,114,
31.2256 + 114, 41, 41, 39, 41, 10,101,110,100, 10,111,117,116,112,117,
31.2257 + 116, 40, 39, 32,103,111,116,111, 32,116,111,108,117, 97, 95,
31.2258 + 108,101,114,114,111,114, 59, 39, 41, 10,111,117,116,112,117,
31.2259 + 116, 40, 39, 32,101,108,115,101, 92,110, 39, 41, 10,111,117,
31.2260 + 116,112,117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39,
31.2261 + 41, 10,111,117,116,112,117,116, 40, 39, 32,123, 39, 41, 10,
31.2262 + 111,117,116,112,117,116, 40, 39, 32,105,110,116, 32,105, 59,
31.2263 + 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,102,111,114,
31.2264 + 40,105, 61, 48, 59, 32,105, 60, 39, 46, 46,115,101,108,102,
31.2265 + 46,100,105,109, 46, 46, 39, 59,105, 43, 43, 41, 39, 41, 10,
31.2266 + 108,111, 99, 97,108, 32,116, 32, 61, 32,105,115, 98, 97,115,
31.2267 + 105, 99, 40,116,121,112,101, 41, 10,108,111, 99, 97,108, 32,
31.2268 + 112,116,114, 32, 61, 32, 39, 39, 10,105,102, 32,115,101,108,
31.2269 + 102, 46,112,116,114,126, 61, 39, 39, 32,116,104,101,110, 32,
31.2270 + 112,116,114, 32, 61, 32, 39, 42, 39, 32,101,110,100, 10,111,
31.2271 + 117,116,112,117,116, 40, 39, 32, 39, 44,115,101,108,102, 46,
31.2272 + 110, 97,109,101, 46, 46, 39, 91,105, 93, 32, 61, 32, 39, 41,
31.2273 + 10,105,102, 32,110,111,116, 32,116, 32, 97,110,100, 32,112,
31.2274 + 116,114, 61, 61, 39, 39, 32,116,104,101,110, 32,111,117,116,
31.2275 + 112,117,116, 40, 39, 42, 39, 41, 32,101,110,100, 10,111,117,
31.2276 + 116,112,117,116, 40, 39, 40, 40, 39, 44,116,121,112,101, 41,
31.2277 + 10,105,102, 32,110,111,116, 32,116, 32,116,104,101,110, 10,
31.2278 + 111,117,116,112,117,116, 40, 39, 42, 39, 41, 10,101,110,100,
31.2279 + 10,111,117,116,112,117,116, 40, 39, 41, 32, 39, 41, 10,108,
31.2280 + 111, 99, 97,108, 32,100,101,102, 32, 61, 32, 48, 10,105,102,
31.2281 + 32,115,101,108,102, 46,100,101,102, 32,126, 61, 32, 39, 39,
31.2282 + 32,116,104,101,110, 32,100,101,102, 32, 61, 32,115,101,108,
31.2283 + 102, 46,100,101,102, 32,101,110,100, 10,105,102, 32,116, 32,
31.2284 + 116,104,101,110, 10,111,117,116,112,117,116, 40, 39,116,111,
31.2285 + 108,117, 97, 95,116,111,102,105,101,108,100, 39, 46, 46,116,
31.2286 + 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 44, 39, 44,110,
31.2287 + 97,114,103, 44, 39, 44,105, 43, 49, 44, 39, 44,100,101,102,
31.2288 + 44, 39, 41, 41, 59, 39, 41, 10,101,108,115,101, 10,111,117,
31.2289 + 116,112,117,116, 40, 39,116,111,108,117, 97, 95,116,111,102,
31.2290 + 105,101,108,100,117,115,101,114,116,121,112,101, 40,116,111,
31.2291 + 108,117, 97, 95, 83, 44, 39, 44,110, 97,114,103, 44, 39, 44,
31.2292 + 105, 43, 49, 44, 39, 44,100,101,102, 44, 39, 41, 41, 59, 39,
31.2293 + 41, 10,101,110,100, 10,111,117,116,112,117,116, 40, 39, 32,
31.2294 + 125, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,125, 39,
31.2295 + 41, 10,101,110,100, 10,101,110,100, 10, 10, 10,102,117,110,
31.2296 + 99,116,105,111,110, 32, 99,108, 97,115,115, 68,101, 99,108,
31.2297 + 97,114, 97,116,105,111,110, 58,115,101,116, 97,114,114, 97,
31.2298 + 121, 32, 40,110, 97,114,103, 41, 10,105,102, 32,110,111,116,
31.2299 + 32,115,116,114,102,105,110,100, 40,115,101,108,102, 46,116,
31.2300 + 121,112,101, 44, 39, 99,111,110,115,116, 39, 41, 32, 97,110,
31.2301 + 100, 32,115,101,108,102, 46,100,105,109, 32,126, 61, 32, 39,
31.2302 + 39, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,116,121,
31.2303 + 112,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46,
31.2304 + 116,121,112,101, 44, 39, 99,111,110,115,116, 32, 39, 44, 39,
31.2305 + 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,123, 39, 41,
31.2306 + 10,111,117,116,112,117,116, 40, 39, 32,105,110,116, 32,105,
31.2307 + 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,102,111,
31.2308 + 114, 40,105, 61, 48, 59, 32,105, 60, 39, 46, 46,115,101,108,
31.2309 + 102, 46,100,105,109, 46, 46, 39, 59,105, 43, 43, 41, 39, 41,
31.2310 + 10,108,111, 99, 97,108, 32,116, 44, 99,116, 32, 61, 32,105,
31.2311 + 115, 98, 97,115,105, 99, 40,116,121,112,101, 41, 10,105,102,
31.2312 + 32,116, 32,116,104,101,110, 10,111,117,116,112,117,116, 40,
31.2313 + 39, 32,116,111,108,117, 97, 95,112,117,115,104,102,105,101,
31.2314 + 108,100, 39, 46, 46,116, 46, 46, 39, 40,116,111,108,117, 97,
31.2315 + 95, 83, 44, 39, 44,110, 97,114,103, 44, 39, 44,105, 43, 49,
31.2316 + 44, 40, 39, 44, 99,116, 44, 39, 41, 39, 44,115,101,108,102,
31.2317 + 46,110, 97,109,101, 44, 39, 91,105, 93, 41, 59, 39, 41, 10,
31.2318 + 101,108,115,101, 10,105,102, 32,115,101,108,102, 46,112,116,
31.2319 + 114, 32, 61, 61, 32, 39, 39, 32,116,104,101,110, 10,111,117,
31.2320 + 116,112,117,116, 40, 39, 32,123, 39, 41, 10,111,117,116,112,
31.2321 + 117,116, 40, 39, 35,105,102,100,101,102, 32, 95, 95, 99,112,
31.2322 + 108,117,115,112,108,117,115, 92,110, 39, 41, 10,111,117,116,
31.2323 + 112,117,116, 40, 39, 32,118,111,105,100, 42, 32,116,111,108,
31.2324 + 117, 97, 95,111, 98,106, 32, 61, 32,110,101,119, 39, 44,116,
31.2325 + 121,112,101, 44, 39, 40, 39, 44,115,101,108,102, 46,110, 97,
31.2326 + 109,101, 44, 39, 91,105, 93, 41, 59, 39, 41, 10,111,117,116,
31.2327 + 112,117,116, 40, 39, 32,116,111,108,117, 97, 95,112,117,115,
31.2328 + 104,102,105,101,108,100,117,115,101,114,116,121,112,101, 40,
31.2329 + 116,111,108,117, 97, 95, 83, 44, 39, 44,110, 97,114,103, 44,
31.2330 + 39, 44,105, 43, 49, 44,116,111,108,117, 97, 95, 99,108,111,
31.2331 + 110,101, 40,116,111,108,117, 97, 95, 83, 44,116,111,108,117,
31.2332 + 97, 95,111, 98,106, 44,116,111,108,117, 97, 95, 99,111,108,
31.2333 + 108,101, 99,116, 95, 39, 46, 46, 95, 99,111,108,108,101, 99,
31.2334 + 116, 91,116,121,112,101, 93, 46, 46, 39, 41, 44, 34, 39, 44,
31.2335 + 116,121,112,101, 44, 39, 34, 41, 59, 39, 41, 10,111,117,116,
31.2336 + 112,117,116, 40, 39, 35,101,108,115,101, 92,110, 39, 41, 10,
31.2337 + 111,117,116,112,117,116, 40, 39, 32,118,111,105,100, 42, 32,
31.2338 + 116,111,108,117, 97, 95,111, 98,106, 32, 61, 32,116,111,108,
31.2339 + 117, 97, 95, 99,111,112,121, 40,116,111,108,117, 97, 95, 83,
31.2340 + 44, 40,118,111,105,100, 42, 41, 38, 39, 44,115,101,108,102,
31.2341 + 46,110, 97,109,101, 44, 39, 91,105, 93, 44,115,105,122,101,
31.2342 + 111,102, 40, 39, 44,116,121,112,101, 44, 39, 41, 41, 59, 39,
31.2343 + 41, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117,
31.2344 + 97, 95,112,117,115,104,102,105,101,108,100,117,115,101,114,
31.2345 + 116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44, 39, 44,
31.2346 + 110, 97,114,103, 44, 39, 44,105, 43, 49, 44,116,111,108,117,
31.2347 + 97, 95, 99,108,111,110,101, 40,116,111,108,117, 97, 95, 83,
31.2348 + 44,116,111,108,117, 97, 95,111, 98,106, 44,116,111,108,117,
31.2349 + 97, 95, 99,111,108,108,101, 99,116, 41, 44, 34, 39, 44,116,
31.2350 + 121,112,101, 44, 39, 34, 41, 59, 39, 41, 10,111,117,116,112,
31.2351 + 117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10,
31.2352 + 111,117,116,112,117,116, 40, 39, 32,125, 39, 41, 10,101,108,
31.2353 + 115,101, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,
31.2354 + 117, 97, 95,112,117,115,104,102,105,101,108,100,117,115,101,
31.2355 + 114,116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44, 39,
31.2356 + 44,110, 97,114,103, 44, 39, 44,105, 43, 49, 44, 40,118,111,
31.2357 + 105,100, 42, 41, 39, 44,115,101,108,102, 46,110, 97,109,101,
31.2358 + 44, 39, 91,105, 93, 44, 34, 39, 44,116,121,112,101, 44, 39,
31.2359 + 34, 41, 59, 39, 41, 10,101,110,100, 10,101,110,100, 10,111,
31.2360 + 117,116,112,117,116, 40, 39, 32,125, 39, 41, 10,101,110,100,
31.2361 + 10,101,110,100, 10, 10, 10,102,117,110, 99,116,105,111,110,
31.2362 + 32, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116,105,
31.2363 + 111,110, 58,102,114,101,101, 97,114,114, 97,121, 32, 40, 41,
31.2364 + 10,105,102, 32,115,101,108,102, 46,100,105,109, 32,126, 61,
31.2365 + 32, 39, 39, 32, 97,110,100, 32,116,111,110,117,109, 98,101,
31.2366 + 114, 40,115,101,108,102, 46,100,105,109, 41, 61, 61,110,105,
31.2367 + 108, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39,
31.2368 + 35,105,102,100,101,102, 32, 95, 95, 99,112,108,117,115,112,
31.2369 + 108,117,115, 92,110, 39, 41, 10,111,117,116,112,117,116, 40,
31.2370 + 39, 32,100,101,108,101,116,101, 32, 91, 93, 39, 44,115,101,
31.2371 + 108,102, 46,110, 97,109,101, 44, 39, 59, 39, 41, 10,111,117,
31.2372 + 116,112,117,116, 40, 39, 35,101,108,115,101, 92,110, 39, 41,
31.2373 + 10,111,117,116,112,117,116, 40, 39, 32,102,114,101,101, 40,
31.2374 + 39, 44,115,101,108,102, 46,110, 97,109,101, 44, 39, 41, 59,
31.2375 + 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,110,100,
31.2376 + 105,102, 92,110, 39, 41, 10,101,110,100, 10,101,110,100, 10,
31.2377 + 10, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,
31.2378 + 115, 68,101, 99,108, 97,114, 97,116,105,111,110, 58,112, 97,
31.2379 + 115,115,112, 97,114, 32, 40, 41, 10,105,102, 32,115,101,108,
31.2380 + 102, 46,112,116,114, 61, 61, 39, 38, 39, 32,116,104,101,110,
31.2381 + 10,111,117,116,112,117,116, 40, 39, 42, 39, 46, 46,115,101,
31.2382 + 108,102, 46,110, 97,109,101, 41, 10,101,108,115,101,105,102,
31.2383 + 32,115,101,108,102, 46,114,101,116, 61, 61, 39, 42, 39, 32,
31.2384 + 116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 38, 39,
31.2385 + 46, 46,115,101,108,102, 46,110, 97,109,101, 41, 10,101,108,
31.2386 + 115,101, 10,111,117,116,112,117,116, 40,115,101,108,102, 46,
31.2387 + 110, 97,109,101, 41, 10,101,110,100, 10,101,110,100, 10, 10,
31.2388 + 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115,
31.2389 + 68,101, 99,108, 97,114, 97,116,105,111,110, 58,114,101,116,
31.2390 + 118, 97,108,117,101, 32, 40, 41, 10,105,102, 32,115,101,108,
31.2391 + 102, 46,114,101,116, 32,126, 61, 32, 39, 39, 32,116,104,101,
31.2392 + 110, 10,108,111, 99, 97,108, 32,116, 44, 99,116, 32, 61, 32,
31.2393 + 105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46,116,121,
31.2394 + 112,101, 41, 10,105,102, 32,116, 32,116,104,101,110, 10,111,
31.2395 + 117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,112,
31.2396 + 117,115,104, 39, 46, 46,116, 46, 46, 39, 40,116,111,108,117,
31.2397 + 97, 95, 83, 44, 40, 39, 44, 99,116, 44, 39, 41, 39, 46, 46,
31.2398 + 115,101,108,102, 46,110, 97,109,101, 46, 46, 39, 41, 59, 39,
31.2399 + 41, 10,101,108,115,101, 10,111,117,116,112,117,116, 40, 39,
31.2400 + 32,116,111,108,117, 97, 95,112,117,115,104,117,115,101,114,
31.2401 + 116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44, 40,118,
31.2402 + 111,105,100, 42, 41, 39, 46, 46,115,101,108,102, 46,110, 97,
31.2403 + 109,101, 46, 46, 39, 44, 34, 39, 44,115,101,108,102, 46,116,
31.2404 + 121,112,101, 44, 39, 34, 41, 59, 39, 41, 10,101,110,100, 10,
31.2405 + 114,101,116,117,114,110, 32, 49, 10,101,110,100, 10,114,101,
31.2406 + 116,117,114,110, 32, 48, 10,101,110,100, 10, 10, 10,102,117,
31.2407 + 110, 99,116,105,111,110, 32, 95, 68,101, 99,108, 97,114, 97,
31.2408 + 116,105,111,110, 32, 40,116, 41, 10,115,101,116,109,101,116,
31.2409 + 97,116, 97, 98,108,101, 40,116, 44, 99,108, 97,115,115, 68,
31.2410 + 101, 99,108, 97,114, 97,116,105,111,110, 41, 10,116, 58, 98,
31.2411 + 117,105,108,100,110, 97,109,101,115, 40, 41, 10,116, 58, 99,
31.2412 + 104,101, 99,107,110, 97,109,101, 40, 41, 10,116, 58, 99,104,
31.2413 + 101, 99,107,116,121,112,101, 40, 41, 10,114,101,116,117,114,
31.2414 + 110, 32,116, 10,101,110,100, 10, 10, 10, 10, 10,102,117,110,
31.2415 + 99,116,105,111,110, 32, 68,101, 99,108, 97,114, 97,116,105,
31.2416 + 111,110, 32, 40,115, 44,107,105,110,100, 41, 10, 10,115, 32,
31.2417 + 61, 32,103,115,117, 98, 40,115, 44, 34, 37,115, 42, 61, 37,
31.2418 + 115, 42, 34, 44, 34, 61, 34, 41, 10, 10,105,102, 32,107,105,
31.2419 + 110,100, 32, 61, 61, 32, 34,118, 97,114, 34, 32,116,104,101,
31.2420 + 110, 10, 10,105,102, 32,115, 32, 61, 61, 32, 39, 39, 32,111,
31.2421 + 114, 32,115, 32, 61, 61, 32, 39,118,111,105,100, 39, 32,116,
31.2422 + 104,101,110, 10,114,101,116,117,114,110, 32, 95, 68,101, 99,
31.2423 + 108, 97,114, 97,116,105,111,110,123,116,121,112,101, 32, 61,
31.2424 + 32, 39,118,111,105,100, 39, 44, 32,107,105,110,100, 32, 61,
31.2425 + 32,107,105,110,100,125, 10,101,110,100, 10,101,110,100, 10,
31.2426 + 10, 10,108,111, 99, 97,108, 32,116, 32, 61, 32,115,112,108,
31.2427 + 105,116, 40,115, 44, 39, 37, 42, 37,115, 42, 38, 39, 41, 10,
31.2428 + 105,102, 32,116, 46,110, 32, 61, 61, 32, 50, 32,116,104,101,
31.2429 + 110, 10,105,102, 32,107,105,110,100, 32, 61, 61, 32, 39,102,
31.2430 + 117,110, 99, 39, 32,116,104,101,110, 10,101,114,114,111,114,
31.2431 + 40, 34, 35,105,110,118, 97,108,105,100, 32,102,117,110, 99,
31.2432 + 116,105,111,110, 32,114,101,116,117,114,110, 32,116,121,112,
31.2433 + 101, 58, 32, 34, 46, 46,115, 41, 10,101,110,100, 10,108,111,
31.2434 + 99, 97,108, 32,109, 32, 61, 32,115,112,108,105,116, 40,116,
31.2435 + 91, 49, 93, 44, 39, 37,115, 37,115, 42, 39, 41, 10,114,101,
31.2436 + 116,117,114,110, 32, 95, 68,101, 99,108, 97,114, 97,116,105,
31.2437 + 111,110,123, 10,110, 97,109,101, 32, 61, 32,116, 91, 50, 93,
31.2438 + 44, 10,112,116,114, 32, 61, 32, 39, 42, 39, 44, 10,114,101,
31.2439 + 116, 32, 61, 32, 39, 38, 39, 44, 10,116,121,112,101, 32, 61,
31.2440 + 32,109, 91,109, 46,110, 93, 44, 10,109,111,100, 32, 61, 32,
31.2441 + 99,111,110, 99, 97,116, 40,109, 44, 49, 44,109, 46,110, 45,
31.2442 + 49, 41, 44, 10,107,105,110,100, 32, 61, 32,107,105,110,100,
31.2443 + 10,125, 10,101,110,100, 10, 10, 10,116, 32, 61, 32,115,112,
31.2444 + 108,105,116, 40,115, 44, 39, 37, 42, 37,115, 42, 37, 42, 39,
31.2445 + 41, 10,105,102, 32,116, 46,110, 32, 61, 61, 32, 50, 32,116,
31.2446 + 104,101,110, 10,105,102, 32,107,105,110,100, 32, 61, 61, 32,
31.2447 + 39,102,117,110, 99, 39, 32,116,104,101,110, 10,101,114,114,
31.2448 + 111,114, 40, 34, 35,105,110,118, 97,108,105,100, 32,102,117,
31.2449 + 110, 99,116,105,111,110, 32,114,101,116,117,114,110, 32,116,
31.2450 + 121,112,101, 58, 32, 34, 46, 46,115, 41, 10,101,110,100, 10,
31.2451 + 108,111, 99, 97,108, 32,109, 32, 61, 32,115,112,108,105,116,
31.2452 + 40,116, 91, 49, 93, 44, 39, 37,115, 37,115, 42, 39, 41, 10,
31.2453 + 114,101,116,117,114,110, 32, 95, 68,101, 99,108, 97,114, 97,
31.2454 + 116,105,111,110,123, 10,110, 97,109,101, 32, 61, 32,116, 91,
31.2455 + 50, 93, 44, 10,112,116,114, 32, 61, 32, 39, 42, 39, 44, 10,
31.2456 + 114,101,116, 32, 61, 32, 39, 42, 39, 44, 10,116,121,112,101,
31.2457 + 32, 61, 32,109, 91,109, 46,110, 93, 44, 10,109,111,100, 32,
31.2458 + 61, 32, 99,111,110, 99, 97,116, 40,109, 44, 49, 44,109, 46,
31.2459 + 110, 45, 49, 41, 44, 10,107,105,110,100, 32, 61, 32,107,105,
31.2460 + 110,100, 10,125, 10,101,110,100, 10, 10, 10,116, 32, 61, 32,
31.2461 + 115,112,108,105,116, 40,115, 44, 39, 38, 39, 41, 10,105,102,
31.2462 + 32,116, 46,110, 32, 61, 61, 32, 50, 32,116,104,101,110, 10,
31.2463 + 108,111, 99, 97,108, 32,109, 32, 61, 32,115,112,108,105,116,
31.2464 + 40,116, 91, 49, 93, 44, 39, 37,115, 37,115, 42, 39, 41, 10,
31.2465 + 114,101,116,117,114,110, 32, 95, 68,101, 99,108, 97,114, 97,
31.2466 + 116,105,111,110,123, 10,110, 97,109,101, 32, 61, 32,116, 91,
31.2467 + 50, 93, 44, 10,112,116,114, 32, 61, 32, 39, 38, 39, 44, 10,
31.2468 + 116,121,112,101, 32, 61, 32,109, 91,109, 46,110, 93, 44, 10,
31.2469 + 109,111,100, 32, 61, 32, 99,111,110, 99, 97,116, 40,109, 44,
31.2470 + 49, 44,109, 46,110, 45, 49, 41, 32, 44, 10,107,105,110,100,
31.2471 + 32, 61, 32,107,105,110,100, 10,125, 10,101,110,100, 10, 10,
31.2472 + 10,108,111, 99, 97,108, 32,115, 49, 32, 61, 32,103,115,117,
31.2473 + 98, 40,115, 44, 34, 40, 37, 98, 92, 91, 92, 93, 41, 34, 44,
31.2474 + 102,117,110, 99,116,105,111,110, 32, 40,110, 41, 32,114,101,
31.2475 + 116,117,114,110, 32,103,115,117, 98, 40,110, 44, 39, 37, 42,
31.2476 + 39, 44, 39, 92, 49, 39, 41, 32,101,110,100, 41, 10,116, 32,
31.2477 + 61, 32,115,112,108,105,116, 40,115, 49, 44, 39, 37, 42, 39,
31.2478 + 41, 10,105,102, 32,116, 46,110, 32, 61, 61, 32, 50, 32,116,
31.2479 + 104,101,110, 10,116, 91, 50, 93, 32, 61, 32,103,115,117, 98,
31.2480 + 40,116, 91, 50, 93, 44, 39, 92, 49, 39, 44, 39, 37, 42, 39,
31.2481 + 41, 10,108,111, 99, 97,108, 32,109, 32, 61, 32,115,112,108,
31.2482 + 105,116, 40,116, 91, 49, 93, 44, 39, 37,115, 37,115, 42, 39,
31.2483 + 41, 10,114,101,116,117,114,110, 32, 95, 68,101, 99,108, 97,
31.2484 + 114, 97,116,105,111,110,123, 10,110, 97,109,101, 32, 61, 32,
31.2485 + 116, 91, 50, 93, 44, 10,112,116,114, 32, 61, 32, 39, 42, 39,
31.2486 + 44, 10,116,121,112,101, 32, 61, 32,109, 91,109, 46,110, 93,
31.2487 + 44, 10,109,111,100, 32, 61, 32, 99,111,110, 99, 97,116, 40,
31.2488 + 109, 44, 49, 44,109, 46,110, 45, 49, 41, 32, 44, 10,107,105,
31.2489 + 110,100, 32, 61, 32,107,105,110,100, 10,125, 10,101,110,100,
31.2490 + 10, 10,105,102, 32,107,105,110,100, 32, 61, 61, 32, 39,118,
31.2491 + 97,114, 39, 32,116,104,101,110, 10, 10,116, 32, 61, 32,115,
31.2492 + 112,108,105,116, 40,115, 44, 39, 37,115, 37,115, 42, 39, 41,
31.2493 + 10,108,111, 99, 97,108, 32,118, 10,105,102, 32,102,105,110,
31.2494 + 100,116,121,112,101, 40,116, 91,116, 46,110, 93, 41, 32,116,
31.2495 + 104,101,110, 32,118, 32, 61, 32, 39, 39, 32,101,108,115,101,
31.2496 + 32,118, 32, 61, 32,116, 91,116, 46,110, 93, 59, 32,116, 46,
31.2497 + 110, 32, 61, 32,116, 46,110, 45, 49, 32,101,110,100, 10,114,
31.2498 + 101,116,117,114,110, 32, 95, 68,101, 99,108, 97,114, 97,116,
31.2499 + 105,111,110,123, 10,110, 97,109,101, 32, 61, 32,118, 44, 10,
31.2500 + 116,121,112,101, 32, 61, 32,116, 91,116, 46,110, 93, 44, 10,
31.2501 + 109,111,100, 32, 61, 32, 99,111,110, 99, 97,116, 40,116, 44,
31.2502 + 49, 44,116, 46,110, 45, 49, 41, 44, 10,107,105,110,100, 32,
31.2503 + 61, 32,107,105,110,100, 10,125, 10, 10,101,108,115,101, 10,
31.2504 + 10, 10,116, 32, 61, 32,115,112,108,105,116, 40,115, 44, 39,
31.2505 + 37,115, 37,115, 42, 39, 41, 10,108,111, 99, 97,108, 32,118,
31.2506 + 32, 61, 32,116, 91,116, 46,110, 93, 10,108,111, 99, 97,108,
31.2507 + 32,116,112, 44,109,100, 10,105,102, 32,116, 46,110, 62, 49,
31.2508 + 32,116,104,101,110, 10,116,112, 32, 61, 32,116, 91,116, 46,
31.2509 + 110, 45, 49, 93, 10,109,100, 32, 61, 32, 99,111,110, 99, 97,
31.2510 + 116, 40,116, 44, 49, 44,116, 46,110, 45, 50, 41, 10,101,110,
31.2511 + 100, 10,114,101,116,117,114,110, 32, 95, 68,101, 99,108, 97,
31.2512 + 114, 97,116,105,111,110,123, 10,110, 97,109,101, 32, 61, 32,
31.2513 + 118, 44, 10,116,121,112,101, 32, 61, 32,116,112, 44, 10,109,
31.2514 + 111,100, 32, 61, 32,109,100, 44, 10,107,105,110,100, 32, 61,
31.2515 + 32,107,105,110,100, 10,125, 10,101,110,100, 10, 10,101,110,
31.2516 + 100,32
31.2517 + };
31.2518 + luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") ||
31.2519 + lua_pcall(tolua_S,0,LUA_MULTRET,0);
31.2520 + } /* end of embedded lua code */
31.2521 +
31.2522 +
31.2523 + { /* begin embedded lua code */
31.2524 + static unsigned char B[] = {
31.2525 + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
31.2526 + 10, 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,101, 32,
31.2527 + 61, 32,123, 10, 95,103,101,116, 32, 61, 32,123,125, 44, 10,
31.2528 + 95,115,101,116, 32, 61, 32,123,125, 44, 10,125, 10, 99,108,
31.2529 + 97,115,115, 86, 97,114,105, 97, 98,108,101, 46, 95, 95,105,
31.2530 + 110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 86, 97,114,
31.2531 + 105, 97, 98,108,101, 10,115,101,116,109,101,116, 97,116, 97,
31.2532 + 98,108,101, 40, 99,108, 97,115,115, 86, 97,114,105, 97, 98,
31.2533 + 108,101, 44, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,
31.2534 + 116,105,111,110, 41, 10, 10, 10,102,117,110, 99,116,105,111,
31.2535 + 110, 32, 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,101,
31.2536 + 58,112,114,105,110,116, 32, 40,105,100,101,110,116, 44, 99,
31.2537 + 108,111,115,101, 41, 10,112,114,105,110,116, 40,105,100,101,
31.2538 + 110,116, 46, 46, 34, 86, 97,114,105, 97, 98,108,101,123, 34,
31.2539 + 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46,
31.2540 + 34, 32,109,111,100, 32, 61, 32, 39, 34, 46, 46,115,101,108,
31.2541 + 102, 46,109,111,100, 46, 46, 34, 39, 44, 34, 41, 10,112,114,
31.2542 + 105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,116,121,
31.2543 + 112,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,116,
31.2544 + 121,112,101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,
31.2545 + 116, 40,105,100,101,110,116, 46, 46, 34, 32,112,116,114, 32,
31.2546 + 61, 32, 39, 34, 46, 46,115,101,108,102, 46,112,116,114, 46,
31.2547 + 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,
31.2548 + 101,110,116, 46, 46, 34, 32,110, 97,109,101, 32, 61, 32, 39,
31.2549 + 34, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 34,
31.2550 + 39, 44, 34, 41, 10,105,102, 32,115,101,108,102, 46,100,105,
31.2551 + 109, 32,116,104,101,110, 32,112,114,105,110,116, 40,105,100,
31.2552 + 101,110,116, 46, 46, 34, 32,100,105,109, 32, 61, 32, 39, 34,
31.2553 + 46, 46,115,101,108,102, 46,100,105,109, 46, 46, 34, 39, 44,
31.2554 + 34, 41, 32,101,110,100, 10,112,114,105,110,116, 40,105,100,
31.2555 + 101,110,116, 46, 46, 34, 32,100,101,102, 32, 61, 32, 39, 34,
31.2556 + 46, 46,115,101,108,102, 46,100,101,102, 46, 46, 34, 39, 44,
31.2557 + 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46,
31.2558 + 46, 34, 32,114,101,116, 32, 61, 32, 39, 34, 46, 46,115,101,
31.2559 + 108,102, 46,114,101,116, 46, 46, 34, 39, 44, 34, 41, 10,112,
31.2560 + 114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,125, 34,
31.2561 + 46, 46, 99,108,111,115,101, 41, 10,101,110,100, 10, 10, 10,
31.2562 + 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 86,
31.2563 + 97,114,105, 97, 98,108,101, 58, 99,102,117,110, 99,110, 97,
31.2564 + 109,101, 32, 40,112,114,101,102,105,120, 41, 10,108,111, 99,
31.2565 + 97,108, 32,112, 97,114,101,110,116, 32, 61, 32, 34, 34, 10,
31.2566 + 108,111, 99, 97,108, 32,117,110,115,105,103,110,101,100, 32,
31.2567 + 61, 32, 34, 34, 10,108,111, 99, 97,108, 32,112,116,114, 32,
31.2568 + 61, 32, 34, 34, 10, 10,108,111, 99, 97,108, 32,112, 32, 61,
31.2569 + 32,115,101,108,102, 58,105,110,109,111,100,117,108,101, 40,
31.2570 + 41, 32,111,114, 32,115,101,108,102, 58,105,110,110, 97,109,
31.2571 + 101,115,112, 97, 99,101, 40, 41, 32,111,114, 32,115,101,108,
31.2572 + 102, 58,105,110, 99,108, 97,115,115, 40, 41, 10, 10,105,102,
31.2573 + 32,112, 32,116,104,101,110, 10,112, 97,114,101,110,116, 32,
31.2574 + 61, 32, 34, 95, 34, 32, 46, 46, 32,112, 10,101,110,100, 10,
31.2575 + 10,105,102, 32,115,116,114,102,105,110,100, 40,115,101,108,
31.2576 + 102, 46,109,111,100, 44, 34, 40,117,110,115,105,103,110,101,
31.2577 + 100, 41, 34, 41, 32,116,104,101,110, 10,117,110,115,105,103,
31.2578 + 110,101,100, 32, 61, 32, 34, 95,117,110,115,105,103,110,101,
31.2579 + 100, 34, 10,101,110,100, 10, 10,105,102, 32,115,101,108,102,
31.2580 + 46,112,116,114, 32, 61, 61, 32, 34, 42, 34, 32,116,104,101,
31.2581 + 110, 32,112,116,114, 32, 61, 32, 34, 95,112,116,114, 34, 10,
31.2582 + 101,108,115,101,105,102, 32,115,101,108,102, 46,112,116,114,
31.2583 + 32, 61, 61, 32, 34, 38, 34, 32,116,104,101,110, 32,112,116,
31.2584 + 114, 32, 61, 32, 34, 95,114,101,102, 34, 10,101,110,100, 10,
31.2585 + 10,108,111, 99, 97,108, 32,110, 97,109,101, 32, 61, 32,112,
31.2586 + 114,101,102,105,120, 32, 46, 46, 32,112, 97,114,101,110,116,
31.2587 + 32, 46, 46, 32,117,110,115,105,103,110,101,100, 32, 46, 46,
31.2588 + 32, 34, 95, 34, 32, 46, 46, 32,103,115,117, 98, 40,115,101,
31.2589 + 108,102, 46,110, 97,109,101, 44, 34, 46, 42, 58, 58, 34, 44,
31.2590 + 34, 34, 41, 32, 46, 46, 32,112,116,114, 10, 10,114,101,116,
31.2591 + 117,114,110, 32,110, 97,109,101, 10, 10,101,110,100, 10, 10,
31.2592 + 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115,
31.2593 + 86, 97,114,105, 97, 98,108,101, 58,105,115,118, 97,114,105,
31.2594 + 97, 98,108,101, 32, 40, 41, 10,114,101,116,117,114,110, 32,
31.2595 + 116,114,117,101, 10,101,110,100, 10, 10, 10,102,117,110, 99,
31.2596 + 116,105,111,110, 32, 99,108, 97,115,115, 86, 97,114,105, 97,
31.2597 + 98,108,101, 58,103,101,116,118, 97,108,117,101, 32, 40, 99,
31.2598 + 108, 97,115,115, 44,115,116, 97,116,105, 99, 41, 10,105,102,
31.2599 + 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,116, 97,116,
31.2600 + 105, 99, 32,116,104,101,110, 10,114,101,116,117,114,110, 32,
31.2601 + 99,108, 97,115,115, 46, 46, 39, 58, 58, 39, 46, 46,115,101,
31.2602 + 108,102, 46,110, 97,109,101, 10,101,108,115,101,105,102, 32,
31.2603 + 99,108, 97,115,115, 32,116,104,101,110, 10,114,101,116,117,
31.2604 + 114,110, 32, 39,115,101,108,102, 45, 62, 39, 46, 46,115,101,
31.2605 + 108,102, 46,110, 97,109,101, 10,101,108,115,101, 10,114,101,
31.2606 + 116,117,114,110, 32,115,101,108,102, 46,110, 97,109,101, 10,
31.2607 + 101,110,100, 10,101,110,100, 10, 10, 10,102,117,110, 99,116,
31.2608 + 105,111,110, 32, 99,108, 97,115,115, 86, 97,114,105, 97, 98,
31.2609 + 108,101, 58,103,101,116,112,111,105,110,116,101,114,118, 97,
31.2610 + 108,117,101, 32, 40, 99,108, 97,115,115, 44,115,116, 97,116,
31.2611 + 105, 99, 41, 10,105,102, 32, 99,108, 97,115,115, 32, 97,110,
31.2612 + 100, 32,115,116, 97,116,105, 99, 32,116,104,101,110, 10,114,
31.2613 + 101,116,117,114,110, 32, 99,108, 97,115,115, 46, 46, 39, 58,
31.2614 + 58,112, 39, 10,101,108,115,101,105,102, 32, 99,108, 97,115,
31.2615 + 115, 32,116,104,101,110, 10,114,101,116,117,114,110, 32, 39,
31.2616 + 115,101,108,102, 45, 62,112, 39, 10,101,108,115,101, 10,114,
31.2617 + 101,116,117,114,110, 32, 39,112, 39, 10,101,110,100, 10,101,
31.2618 + 110,100, 10, 10, 10,102,117,110, 99,116,105,111,110, 32, 99,
31.2619 + 108, 97,115,115, 86, 97,114,105, 97, 98,108,101, 58,115,117,
31.2620 + 112, 99,111,100,101, 32, 40, 41, 10,108,111, 99, 97,108, 32,
31.2621 + 99,108, 97,115,115, 32, 61, 32,115,101,108,102, 58,105,110,
31.2622 + 99,108, 97,115,115, 40, 41, 10, 10, 10,105,102, 32, 99,108,
31.2623 + 97,115,115, 32,116,104,101,110, 10,111,117,116,112,117,116,
31.2624 + 40, 34, 47, 42, 32,103,101,116, 32,102,117,110, 99,116,105,
31.2625 + 111,110, 58, 34, 44,115,101,108,102, 46,110, 97,109,101, 44,
31.2626 + 34, 32,111,102, 32, 99,108, 97,115,115, 32, 34, 44, 99,108,
31.2627 + 97,115,115, 44, 34, 32, 42, 47, 34, 41, 10,101,108,115,101,
31.2628 + 10,111,117,116,112,117,116, 40, 34, 47, 42, 32,103,101,116,
31.2629 + 32,102,117,110, 99,116,105,111,110, 58, 34, 44,115,101,108,
31.2630 + 102, 46,110, 97,109,101, 44, 34, 32, 42, 47, 34, 41, 10,101,
31.2631 + 110,100, 10,115,101,108,102, 46, 99,103,101,116,110, 97,109,
31.2632 + 101, 32, 61, 32,115,101,108,102, 58, 99,102,117,110, 99,110,
31.2633 + 97,109,101, 40, 34,116,111,108,117, 97, 95,103,101,116, 34,
31.2634 + 41, 10,111,117,116,112,117,116, 40, 34,115,116, 97,116,105,
31.2635 + 99, 32,105,110,116, 34, 44,115,101,108,102, 46, 99,103,101,
31.2636 + 116,110, 97,109,101, 44, 34, 40,108,117, 97, 95, 83,116, 97,
31.2637 + 116,101, 42, 32,116,111,108,117, 97, 95, 83, 41, 34, 41, 10,
31.2638 + 111,117,116,112,117,116, 40, 34,123, 34, 41, 10, 10, 10,108,
31.2639 + 111, 99, 97,108, 32, 95, 44, 95, 44,115,116, 97,116,105, 99,
31.2640 + 32, 61, 32,115,116,114,102,105,110,100, 40,115,101,108,102,
31.2641 + 46,109,111,100, 44, 39, 94, 37,115, 42, 40,115,116, 97,116,
31.2642 + 105, 99, 41, 39, 41, 10,105,102, 32, 99,108, 97,115,115, 32,
31.2643 + 97,110,100, 32,115,116, 97,116,105, 99, 61, 61,110,105,108,
31.2644 + 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 32,
31.2645 + 39, 44, 99,108, 97,115,115, 44, 39, 42, 39, 44, 39,115,101,
31.2646 + 108,102, 32, 61, 32, 39, 41, 10,111,117,116,112,117,116, 40,
31.2647 + 39, 40, 39, 44, 99,108, 97,115,115, 44, 39, 42, 41, 32, 39,
31.2648 + 41, 10,111,117,116,112,117,116, 40, 39,116,111,108,117, 97,
31.2649 + 95,116,111,117,115,101,114,116,121,112,101, 40,116,111,108,
31.2650 + 117, 97, 95, 83, 44, 49, 44, 48, 41, 59, 39, 41, 10,101,108,
31.2651 + 115,101,105,102, 32,115,116, 97,116,105, 99, 32,116,104,101,
31.2652 + 110, 10, 95, 44, 95, 44,115,101,108,102, 46,109,111,100, 32,
31.2653 + 61, 32,115,116,114,102,105,110,100, 40,115,101,108,102, 46,
31.2654 + 109,111,100, 44, 39, 94, 37,115, 42,115,116, 97,116,105, 99,
31.2655 + 37,115, 37,115, 42, 40, 46, 42, 41, 39, 41, 10,101,110,100,
31.2656 + 10, 10, 10, 10,105,102, 32, 99,108, 97,115,115, 32, 97,110,
31.2657 + 100, 32,115,116, 97,116,105, 99, 61, 61,110,105,108, 32,116,
31.2658 + 104,101,110, 10,111,117,116,112,117,116, 40, 39, 35,105,102,
31.2659 + 110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69,
31.2660 + 65, 83, 69, 92,110, 39, 41, 10,111,117,116,112,117,116, 40,
31.2661 + 39, 32,105,102, 32, 40, 33,115,101,108,102, 41, 32,116,111,
31.2662 + 108,117, 97, 95,101,114,114,111,114, 40,116,111,108,117, 97,
31.2663 + 95, 83, 44, 34,105,110,118, 97,108,105,100, 32, 92, 39,115,
31.2664 + 101,108,102, 92, 39, 32,105,110, 32, 97, 99, 99,101,115,115,
31.2665 + 105,110,103, 32,118, 97,114,105, 97, 98,108,101, 32, 92, 39,
31.2666 + 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 39,
31.2667 + 92, 39, 34, 44, 78, 85, 76, 76, 41, 59, 39, 41, 59, 10,111,
31.2668 + 117,116,112,117,116, 40, 39, 35,101,110,100,105,102, 92,110,
31.2669 + 39, 41, 10,101,110,100, 10, 10, 10,108,111, 99, 97,108, 32,
31.2670 + 116, 44, 99,116, 32, 61, 32,105,115, 98, 97,115,105, 99, 40,
31.2671 + 115,101,108,102, 46,116,121,112,101, 41, 10,105,102, 32,116,
31.2672 + 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 32,
31.2673 + 116,111,108,117, 97, 95,112,117,115,104, 39, 46, 46,116, 46,
31.2674 + 46, 39, 40,116,111,108,117, 97, 95, 83, 44, 40, 39, 44, 99,
31.2675 + 116, 44, 39, 41, 39, 46, 46,115,101,108,102, 58,103,101,116,
31.2676 + 118, 97,108,117,101, 40, 99,108, 97,115,115, 44,115,116, 97,
31.2677 + 116,105, 99, 41, 46, 46, 39, 41, 59, 39, 41, 10,101,108,115,
31.2678 + 101, 10,116, 32, 61, 32,115,101,108,102, 46,116,121,112,101,
31.2679 + 10,105,102, 32,115,101,108,102, 46,112,116,114, 32, 61, 61,
31.2680 + 32, 39, 38, 39, 32,111,114, 32,115,101,108,102, 46,112,116,
31.2681 + 114, 32, 61, 61, 32, 39, 39, 32,116,104,101,110, 10,111,117,
31.2682 + 116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,112,117,
31.2683 + 115,104,117,115,101,114,116,121,112,101, 40,116,111,108,117,
31.2684 + 97, 95, 83, 44, 40,118,111,105,100, 42, 41, 38, 39, 46, 46,
31.2685 + 115,101,108,102, 58,103,101,116,118, 97,108,117,101, 40, 99,
31.2686 + 108, 97,115,115, 44,115,116, 97,116,105, 99, 41, 46, 46, 39,
31.2687 + 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10,101,108,
31.2688 + 115,101, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,
31.2689 + 117, 97, 95,112,117,115,104,117,115,101,114,116,121,112,101,
31.2690 + 40,116,111,108,117, 97, 95, 83, 44, 40,118,111,105,100, 42,
31.2691 + 41, 39, 46, 46,115,101,108,102, 58,103,101,116,118, 97,108,
31.2692 + 117,101, 40, 99,108, 97,115,115, 44,115,116, 97,116,105, 99,
31.2693 + 41, 46, 46, 39, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39,
31.2694 + 41, 10,101,110,100, 10,101,110,100, 10,111,117,116,112,117,
31.2695 + 116, 40, 39, 32,114,101,116,117,114,110, 32, 49, 59, 39, 41,
31.2696 + 10,111,117,116,112,117,116, 40, 39,125, 39, 41, 10,111,117,
31.2697 + 116,112,117,116, 40, 39, 92,110, 39, 41, 10, 10, 10,105,102,
31.2698 + 32,110,111,116, 32,115,116,114,102,105,110,100, 40,115,101,
31.2699 + 108,102, 46,116,121,112,101, 44, 39, 99,111,110,115,116, 39,
31.2700 + 41, 32,116,104,101,110, 10,105,102, 32, 99,108, 97,115,115,
31.2701 + 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 34, 47,
31.2702 + 42, 32,115,101,116, 32,102,117,110, 99,116,105,111,110, 58,
31.2703 + 34, 44,115,101,108,102, 46,110, 97,109,101, 44, 34, 32,111,
31.2704 + 102, 32, 99,108, 97,115,115, 32, 34, 44, 99,108, 97,115,115,
31.2705 + 44, 34, 32, 42, 47, 34, 41, 10,101,108,115,101, 10,111,117,
31.2706 + 116,112,117,116, 40, 34, 47, 42, 32,115,101,116, 32,102,117,
31.2707 + 110, 99,116,105,111,110, 58, 34, 44,115,101,108,102, 46,110,
31.2708 + 97,109,101, 44, 34, 32, 42, 47, 34, 41, 10,101,110,100, 10,
31.2709 + 115,101,108,102, 46, 99,115,101,116,110, 97,109,101, 32, 61,
31.2710 + 32,115,101,108,102, 58, 99,102,117,110, 99,110, 97,109,101,
31.2711 + 40, 34,116,111,108,117, 97, 95,115,101,116, 34, 41, 10,111,
31.2712 + 117,116,112,117,116, 40, 34,115,116, 97,116,105, 99, 32,105,
31.2713 + 110,116, 34, 44,115,101,108,102, 46, 99,115,101,116,110, 97,
31.2714 + 109,101, 44, 34, 40,108,117, 97, 95, 83,116, 97,116,101, 42,
31.2715 + 32,116,111,108,117, 97, 95, 83, 41, 34, 41, 10,111,117,116,
31.2716 + 112,117,116, 40, 34,123, 34, 41, 10, 10, 10,105,102, 32, 99,
31.2717 + 108, 97,115,115, 32, 97,110,100, 32,115,116, 97,116,105, 99,
31.2718 + 61, 61,110,105,108, 32,116,104,101,110, 10,111,117,116,112,
31.2719 + 117,116, 40, 39, 32, 39, 44, 99,108, 97,115,115, 44, 39, 42,
31.2720 + 39, 44, 39,115,101,108,102, 32, 61, 32, 39, 41, 10,111,117,
31.2721 + 116,112,117,116, 40, 39, 40, 39, 44, 99,108, 97,115,115, 44,
31.2722 + 39, 42, 41, 32, 39, 41, 10,111,117,116,112,117,116, 40, 39,
31.2723 + 116,111,108,117, 97, 95,116,111,117,115,101,114,116,121,112,
31.2724 + 101, 40,116,111,108,117, 97, 95, 83, 44, 49, 44, 48, 41, 59,
31.2725 + 39, 41, 10, 10,101,110,100, 10, 10,111,117,116,112,117,116,
31.2726 + 40, 39, 35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65,
31.2727 + 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10,111,117,
31.2728 + 116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95, 69,114,
31.2729 + 114,111,114, 32,116,111,108,117, 97, 95,101,114,114, 59, 39,
31.2730 + 41, 10,105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,
31.2731 + 115,116, 97,116,105, 99, 61, 61,110,105,108, 32,116,104,101,
31.2732 + 110, 10,111,117,116,112,117,116, 40, 39, 32,105,102, 32, 40,
31.2733 + 33,115,101,108,102, 41, 32,116,111,108,117, 97, 95,101,114,
31.2734 + 114,111,114, 40,116,111,108,117, 97, 95, 83, 44, 34,105,110,
31.2735 + 118, 97,108,105,100, 32, 92, 39,115,101,108,102, 92, 39, 32,
31.2736 + 105,110, 32, 97, 99, 99,101,115,115,105,110,103, 32,118, 97,
31.2737 + 114,105, 97, 98,108,101, 32, 92, 39, 39, 46, 46,115,101,108,
31.2738 + 102, 46,110, 97,109,101, 46, 46, 39, 92, 39, 34, 44, 78, 85,
31.2739 + 76, 76, 41, 59, 39, 41, 59, 10,101,108,115,101,105,102, 32,
31.2740 + 115,116, 97,116,105, 99, 32,116,104,101,110, 10, 95, 44, 95,
31.2741 + 44,115,101,108,102, 46,109,111,100, 32, 61, 32,115,116,114,
31.2742 + 102,105,110,100, 40,115,101,108,102, 46,109,111,100, 44, 39,
31.2743 + 94, 37,115, 42,115,116, 97,116,105, 99, 37,115, 37,115, 42,
31.2744 + 40, 46, 42, 41, 39, 41, 10,101,110,100, 10, 10, 10,111,117,
31.2745 + 116,112,117,116, 40, 39, 32,105,102, 32, 40, 33, 39, 46, 46,
31.2746 + 115,101,108,102, 58,111,117,116, 99,104,101, 99,107,116,121,
31.2747 + 112,101, 40, 50, 41, 46, 46, 39, 41, 39, 41, 10,111,117,116,
31.2748 + 112,117,116, 40, 39, 32,116,111,108,117, 97, 95,101,114,114,
31.2749 + 111,114, 40,116,111,108,117, 97, 95, 83, 44, 34, 35,118,105,
31.2750 + 110,118, 97,108,105,100, 32,116,121,112,101, 32,105,110, 32,
31.2751 + 118, 97,114,105, 97, 98,108,101, 32, 97,115,115,105,103,110,
31.2752 + 109,101,110,116, 46, 34, 44, 38,116,111,108,117, 97, 95,101,
31.2753 + 114,114, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39,
31.2754 + 35,101,110,100,105,102, 92,110, 39, 41, 10, 10, 10,108,111,
31.2755 + 99, 97,108, 32,100,101,102, 32, 61, 32, 48, 10,105,102, 32,
31.2756 + 115,101,108,102, 46,100,101,102, 32,126, 61, 32, 39, 39, 32,
31.2757 + 116,104,101,110, 32,100,101,102, 32, 61, 32,115,101,108,102,
31.2758 + 46,100,101,102, 32,101,110,100, 10,105,102, 32,115,101,108,
31.2759 + 102, 46,116,121,112,101, 32, 61, 61, 32, 39, 99,104, 97,114,
31.2760 + 42, 39, 32, 97,110,100, 32,115,101,108,102, 46,100,105,109,
31.2761 + 32,126, 61, 32, 39, 39, 32,116,104,101,110, 10,111,117,116,
31.2762 + 112,117,116, 40, 39, 32,115,116,114,110, 99,112,121, 40, 39,
31.2763 + 41, 10,105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,
31.2764 + 115,116, 97,116,105, 99, 32,116,104,101,110, 10,111,117,116,
31.2765 + 112,117,116, 40, 99,108, 97,115,115, 46, 46, 39, 58, 58, 39,
31.2766 + 46, 46,115,101,108,102, 46,110, 97,109,101, 41, 10,101,108,
31.2767 + 115,101,105,102, 32, 99,108, 97,115,115, 32,116,104,101,110,
31.2768 + 10,111,117,116,112,117,116, 40, 39,115,101,108,102, 45, 62,
31.2769 + 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 41, 10,101,
31.2770 + 108,115,101, 10,111,117,116,112,117,116, 40,115,101,108,102,
31.2771 + 46,110, 97,109,101, 41, 10,101,110,100, 10,111,117,116,112,
31.2772 + 117,116, 40, 39, 44,116,111,108,117, 97, 95,116,111,115,116,
31.2773 + 114,105,110,103, 40,116,111,108,117, 97, 95, 83, 44, 50, 44,
31.2774 + 39, 44,100,101,102, 44, 39, 41, 44, 39, 44,115,101,108,102,
31.2775 + 46,100,105,109, 44, 39, 45, 49, 41, 59, 39, 41, 10,101,108,
31.2776 + 115,101, 10,108,111, 99, 97,108, 32,112,116,114, 32, 61, 32,
31.2777 + 39, 39, 10,105,102, 32,115,101,108,102, 46,112,116,114,126,
31.2778 + 61, 39, 39, 32,116,104,101,110, 32,112,116,114, 32, 61, 32,
31.2779 + 39, 42, 39, 32,101,110,100, 10,111,117,116,112,117,116, 40,
31.2780 + 39, 32, 39, 41, 10,105,102, 32, 99,108, 97,115,115, 32, 97,
31.2781 + 110,100, 32,115,116, 97,116,105, 99, 32,116,104,101,110, 10,
31.2782 + 111,117,116,112,117,116, 40, 99,108, 97,115,115, 46, 46, 39,
31.2783 + 58, 58, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 41,
31.2784 + 10,101,108,115,101,105,102, 32, 99,108, 97,115,115, 32,116,
31.2785 + 104,101,110, 10,111,117,116,112,117,116, 40, 39,115,101,108,
31.2786 + 102, 45, 62, 39, 46, 46,115,101,108,102, 46,110, 97,109,101,
31.2787 + 41, 10,101,108,115,101, 10,111,117,116,112,117,116, 40,115,
31.2788 + 101,108,102, 46,110, 97,109,101, 41, 10,101,110,100, 10,108,
31.2789 + 111, 99, 97,108, 32,116, 32, 61, 32,105,115, 98, 97,115,105,
31.2790 + 99, 40,115,101,108,102, 46,116,121,112,101, 41, 10,111,117,
31.2791 + 116,112,117,116, 40, 39, 32, 61, 32, 39, 41, 10,105,102, 32,
31.2792 + 110,111,116, 32,116, 32, 97,110,100, 32,112,116,114, 61, 61,
31.2793 + 39, 39, 32,116,104,101,110, 32,111,117,116,112,117,116, 40,
31.2794 + 39, 42, 39, 41, 32,101,110,100, 10,111,117,116,112,117,116,
31.2795 + 40, 39, 40, 40, 39, 44,115,101,108,102, 46,109,111,100, 44,
31.2796 + 115,101,108,102, 46,116,121,112,101, 41, 10,105,102, 32,110,
31.2797 + 111,116, 32,116, 32,116,104,101,110, 10,111,117,116,112,117,
31.2798 + 116, 40, 39, 42, 39, 41, 10,101,110,100, 10,111,117,116,112,
31.2799 + 117,116, 40, 39, 41, 32, 39, 41, 10,105,102, 32,116, 32,116,
31.2800 + 104,101,110, 10,111,117,116,112,117,116, 40, 39,116,111,108,
31.2801 + 117, 97, 95,116,111, 39, 46, 46,116, 44, 39, 40,116,111,108,
31.2802 + 117, 97, 95, 83, 44, 50, 44, 39, 44,100,101,102, 44, 39, 41,
31.2803 + 41, 59, 39, 41, 10,101,108,115,101, 10,111,117,116,112,117,
31.2804 + 116, 40, 39,116,111,108,117, 97, 95,116,111,117,115,101,114,
31.2805 + 116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44, 50, 44,
31.2806 + 39, 44,100,101,102, 44, 39, 41, 41, 59, 39, 41, 10,101,110,
31.2807 + 100, 10,101,110,100, 10,111,117,116,112,117,116, 40, 39, 32,
31.2808 + 114,101,116,117,114,110, 32, 48, 59, 39, 41, 10,111,117,116,
31.2809 + 112,117,116, 40, 39,125, 39, 41, 10,111,117,116,112,117,116,
31.2810 + 40, 39, 92,110, 39, 41, 10,101,110,100, 10, 10,101,110,100,
31.2811 + 10, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,
31.2812 + 115, 86, 97,114,105, 97, 98,108,101, 58,114,101,103,105,115,
31.2813 + 116,101,114, 32, 40, 41, 10,108,111, 99, 97,108, 32,112, 97,
31.2814 + 114,101,110,116, 32, 61, 32,115,101,108,102, 58,105,110,109,
31.2815 + 111,100,117,108,101, 40, 41, 32,111,114, 32,115,101,108,102,
31.2816 + 58,105,110,110, 97,109,101,115,112, 97, 99,101, 40, 41, 32,
31.2817 + 111,114, 32,115,101,108,102, 58,105,110, 99,108, 97,115,115,
31.2818 + 40, 41, 10,105,102, 32,110,111,116, 32,112, 97,114,101,110,
31.2819 + 116, 32,116,104,101,110, 10,105,102, 32, 99,108, 97,115,115,
31.2820 + 86, 97,114,105, 97, 98,108,101, 46, 95,119, 97,114,110,105,
31.2821 + 110,103, 61, 61,110,105,108, 32,116,104,101,110, 10,119, 97,
31.2822 + 114,110,105,110,103, 40, 34, 77, 97,112,112,105,110,103, 32,
31.2823 + 118, 97,114,105, 97, 98,108,101, 32,116,111, 32,103,108,111,
31.2824 + 98, 97,108, 32,109, 97,121, 32,100,101,103,114, 97,100,101,
31.2825 + 32,112,101,114,102,111,114,109, 97,110, 99,101, 34, 41, 10,
31.2826 + 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,101, 46, 95,
31.2827 + 119, 97,114,110,105,110,103, 32, 61, 32, 49, 10,101,110,100,
31.2828 + 10,101,110,100, 10,105,102, 32,115,101,108,102, 46, 99,115,
31.2829 + 101,116,110, 97,109,101, 32,116,104,101,110, 10,111,117,116,
31.2830 + 112,117,116, 40, 39, 32,116,111,108,117, 97, 95,118, 97,114,
31.2831 + 105, 97, 98,108,101, 40,116,111,108,117, 97, 95, 83, 44, 34,
31.2832 + 39, 46, 46,115,101,108,102, 46,108,110, 97,109,101, 46, 46,
31.2833 + 39, 34, 44, 39, 46, 46,115,101,108,102, 46, 99,103,101,116,
31.2834 + 110, 97,109,101, 46, 46, 39, 44, 39, 46, 46,115,101,108,102,
31.2835 + 46, 99,115,101,116,110, 97,109,101, 46, 46, 39, 41, 59, 39,
31.2836 + 41, 10,101,108,115,101, 10,111,117,116,112,117,116, 40, 39,
31.2837 + 32,116,111,108,117, 97, 95,118, 97,114,105, 97, 98,108,101,
31.2838 + 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,
31.2839 + 108,102, 46,108,110, 97,109,101, 46, 46, 39, 34, 44, 39, 46,
31.2840 + 46,115,101,108,102, 46, 99,103,101,116,110, 97,109,101, 46,
31.2841 + 46, 39, 44, 78, 85, 76, 76, 41, 59, 39, 41, 10,101,110,100,
31.2842 + 10,101,110,100, 10, 10, 10,102,117,110, 99,116,105,111,110,
31.2843 + 32, 95, 86, 97,114,105, 97, 98,108,101, 32, 40,116, 41, 10,
31.2844 + 115,101,116,109,101,116, 97,116, 97, 98,108,101, 40,116, 44,
31.2845 + 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,101, 41, 10,
31.2846 + 97,112,112,101,110,100, 40,116, 41, 10,114,101,116,117,114,
31.2847 + 110, 32,116, 10,101,110,100, 10, 10, 10, 10,102,117,110, 99,
31.2848 + 116,105,111,110, 32, 86, 97,114,105, 97, 98,108,101, 32, 40,
31.2849 + 115, 41, 10,114,101,116,117,114,110, 32, 95, 86, 97,114,105,
31.2850 + 97, 98,108,101, 32, 40, 68,101, 99,108, 97,114, 97,116,105,
31.2851 + 111,110, 40,115, 44, 39,118, 97,114, 39, 41, 41, 10,101,110,
31.2852 + 100,32
31.2853 + };
31.2854 + luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") ||
31.2855 + lua_pcall(tolua_S,0,LUA_MULTRET,0);
31.2856 + } /* end of embedded lua code */
31.2857 +
31.2858 +
31.2859 + { /* begin embedded lua code */
31.2860 + static unsigned char B[] = {
31.2861 + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
31.2862 + 10, 99,108, 97,115,115, 65,114,114, 97,121, 32, 61, 32,123,
31.2863 + 10,125, 10, 99,108, 97,115,115, 65,114,114, 97,121, 46, 95,
31.2864 + 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 65,
31.2865 + 114,114, 97,121, 10,115,101,116,109,101,116, 97,116, 97, 98,
31.2866 + 108,101, 40, 99,108, 97,115,115, 65,114,114, 97,121, 44, 99,
31.2867 + 108, 97,115,115, 68,101, 99,108, 97,114, 97,116,105,111,110,
31.2868 + 41, 10, 10, 10,102,117,110, 99,116,105,111,110, 32, 99,108,
31.2869 + 97,115,115, 65,114,114, 97,121, 58,112,114,105,110,116, 32,
31.2870 + 40,105,100,101,110,116, 44, 99,108,111,115,101, 41, 10,112,
31.2871 + 114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 65,114,
31.2872 + 114, 97,121,123, 34, 41, 10,112,114,105,110,116, 40,105,100,
31.2873 + 101,110,116, 46, 46, 34, 32,109,111,100, 32, 61, 32, 39, 34,
31.2874 + 46, 46,115,101,108,102, 46,109,111,100, 46, 46, 34, 39, 44,
31.2875 + 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46,
31.2876 + 46, 34, 32,116,121,112,101, 32, 61, 32, 39, 34, 46, 46,115,
31.2877 + 101,108,102, 46,116,121,112,101, 46, 46, 34, 39, 44, 34, 41,
31.2878 + 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,
31.2879 + 32,112,116,114, 32, 61, 32, 39, 34, 46, 46,115,101,108,102,
31.2880 + 46,112,116,114, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,
31.2881 + 110,116, 40,105,100,101,110,116, 46, 46, 34, 32,110, 97,109,
31.2882 + 101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,110, 97,
31.2883 + 109,101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116,
31.2884 + 40,105,100,101,110,116, 46, 46, 34, 32,100,101,102, 32, 61,
31.2885 + 32, 39, 34, 46, 46,115,101,108,102, 46,100,101,102, 46, 46,
31.2886 + 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,
31.2887 + 110,116, 46, 46, 34, 32,100,105,109, 32, 61, 32, 39, 34, 46,
31.2888 + 46,115,101,108,102, 46,100,105,109, 46, 46, 34, 39, 44, 34,
31.2889 + 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46,
31.2890 + 34, 32,114,101,116, 32, 61, 32, 39, 34, 46, 46,115,101,108,
31.2891 + 102, 46,114,101,116, 46, 46, 34, 39, 44, 34, 41, 10,112,114,
31.2892 + 105,110,116, 40,105,100,101,110,116, 46, 46, 34,125, 34, 46,
31.2893 + 46, 99,108,111,115,101, 41, 10,101,110,100, 10, 10, 10,102,
31.2894 + 117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 65,114,
31.2895 + 114, 97,121, 58,105,115,118, 97,114,105, 97, 98,108,101, 32,
31.2896 + 40, 41, 10,114,101,116,117,114,110, 32,116,114,117,101, 10,
31.2897 + 101,110,100, 10, 10, 10, 10,102,117,110, 99,116,105,111,110,
31.2898 + 32, 99,108, 97,115,115, 65,114,114, 97,121, 58,103,101,116,
31.2899 + 118, 97,108,117,101, 32, 40, 99,108, 97,115,115, 44,115,116,
31.2900 + 97,116,105, 99, 41, 10,105,102, 32, 99,108, 97,115,115, 32,
31.2901 + 97,110,100, 32,115,116, 97,116,105, 99, 32,116,104,101,110,
31.2902 + 10,114,101,116,117,114,110, 32, 99,108, 97,115,115, 46, 46,
31.2903 + 39, 58, 58, 39, 46, 46,115,101,108,102, 46,110, 97,109,101,
31.2904 + 46, 46, 39, 91,116,111,108,117, 97, 95,105,110,100,101,120,
31.2905 + 93, 39, 10,101,108,115,101,105,102, 32, 99,108, 97,115,115,
31.2906 + 32,116,104,101,110, 10,114,101,116,117,114,110, 32, 39,115,
31.2907 + 101,108,102, 45, 62, 39, 46, 46,115,101,108,102, 46,110, 97,
31.2908 + 109,101, 46, 46, 39, 91,116,111,108,117, 97, 95,105,110,100,
31.2909 + 101,120, 93, 39, 10,101,108,115,101, 10,114,101,116,117,114,
31.2910 + 110, 32,115,101,108,102, 46,110, 97,109,101, 46, 46, 39, 91,
31.2911 + 116,111,108,117, 97, 95,105,110,100,101,120, 93, 39, 10,101,
31.2912 + 110,100, 10,101,110,100, 10, 10, 10,102,117,110, 99,116,105,
31.2913 + 111,110, 32, 99,108, 97,115,115, 65,114,114, 97,121, 58,115,
31.2914 + 117,112, 99,111,100,101, 32, 40, 41, 10,108,111, 99, 97,108,
31.2915 + 32, 99,108, 97,115,115, 32, 61, 32,115,101,108,102, 58,105,
31.2916 + 110, 99,108, 97,115,115, 40, 41, 10, 10, 10,105,102, 32, 99,
31.2917 + 108, 97,115,115, 32,116,104,101,110, 10,111,117,116,112,117,
31.2918 + 116, 40, 34, 47, 42, 32,103,101,116, 32,102,117,110, 99,116,
31.2919 + 105,111,110, 58, 34, 44,115,101,108,102, 46,110, 97,109,101,
31.2920 + 44, 34, 32,111,102, 32, 99,108, 97,115,115, 32, 34, 44, 99,
31.2921 + 108, 97,115,115, 44, 34, 32, 42, 47, 34, 41, 10,101,108,115,
31.2922 + 101, 10,111,117,116,112,117,116, 40, 34, 47, 42, 32,103,101,
31.2923 + 116, 32,102,117,110, 99,116,105,111,110, 58, 34, 44,115,101,
31.2924 + 108,102, 46,110, 97,109,101, 44, 34, 32, 42, 47, 34, 41, 10,
31.2925 + 101,110,100, 10,115,101,108,102, 46, 99,103,101,116,110, 97,
31.2926 + 109,101, 32, 61, 32,115,101,108,102, 58, 99,102,117,110, 99,
31.2927 + 110, 97,109,101, 40, 34,116,111,108,117, 97, 95,103,101,116,
31.2928 + 34, 41, 10,111,117,116,112,117,116, 40, 34,115,116, 97,116,
31.2929 + 105, 99, 32,105,110,116, 34, 44,115,101,108,102, 46, 99,103,
31.2930 + 101,116,110, 97,109,101, 44, 34, 40,108,117, 97, 95, 83,116,
31.2931 + 97,116,101, 42, 32,116,111,108,117, 97, 95, 83, 41, 34, 41,
31.2932 + 10,111,117,116,112,117,116, 40, 34,123, 34, 41, 10,111,117,
31.2933 + 116,112,117,116, 40, 34, 32,105,110,116, 32,116,111,108,117,
31.2934 + 97, 95,105,110,100,101,120, 59, 34, 41, 10, 10, 10,108,111,
31.2935 + 99, 97,108, 32, 95, 44, 95, 44,115,116, 97,116,105, 99, 32,
31.2936 + 61, 32,115,116,114,102,105,110,100, 40,115,101,108,102, 46,
31.2937 + 109,111,100, 44, 39, 94, 37,115, 42, 40,115,116, 97,116,105,
31.2938 + 99, 41, 39, 41, 10,105,102, 32, 99,108, 97,115,115, 32, 97,
31.2939 + 110,100, 32,115,116, 97,116,105, 99, 61, 61,110,105,108, 32,
31.2940 + 116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 32, 39,
31.2941 + 44,115,101,108,102, 46,112, 97,114,101,110,116, 46,116,121,
31.2942 + 112,101, 44, 39, 42, 39, 44, 39,115,101,108,102, 59, 39, 41,
31.2943 + 10,111,117,116,112,117,116, 40, 39, 32,108,117, 97, 95,112,
31.2944 + 117,115,104,115,116,114,105,110,103, 40,116,111,108,117, 97,
31.2945 + 95, 83, 44, 34, 46,115,101,108,102, 34, 41, 59, 39, 41, 10,
31.2946 + 111,117,116,112,117,116, 40, 39, 32,108,117, 97, 95,114, 97,
31.2947 + 119,103,101,116, 40,116,111,108,117, 97, 95, 83, 44, 49, 41,
31.2948 + 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,115,101,
31.2949 + 108,102, 32, 61, 32, 39, 41, 10,111,117,116,112,117,116, 40,
31.2950 + 39, 40, 39, 44, 99,108, 97,115,115, 44, 39, 42, 41, 32, 39,
31.2951 + 41, 10,111,117,116,112,117,116, 40, 39,108,117, 97, 95,116,
31.2952 + 111,117,115,101,114,100, 97,116, 97, 40,116,111,108,117, 97,
31.2953 + 95, 83, 44, 45, 49, 41, 59, 39, 41, 10,101,108,115,101,105,
31.2954 + 102, 32,115,116, 97,116,105, 99, 32,116,104,101,110, 10, 95,
31.2955 + 44, 95, 44,115,101,108,102, 46,109,111,100, 32, 61, 32,115,
31.2956 + 116,114,102,105,110,100, 40,115,101,108,102, 46,109,111,100,
31.2957 + 44, 39, 94, 37,115, 42,115,116, 97,116,105, 99, 37,115, 37,
31.2958 + 115, 42, 40, 46, 42, 41, 39, 41, 10,101,110,100, 10, 10, 10,
31.2959 + 111,117,116,112,117,116, 40, 39, 35,105,102,110,100,101,102,
31.2960 + 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,
31.2961 + 110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,123, 39,
31.2962 + 41, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117,
31.2963 + 97, 95, 69,114,114,111,114, 32,116,111,108,117, 97, 95,101,
31.2964 + 114,114, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,
31.2965 + 105,102, 32, 40, 33,116,111,108,117, 97, 95,105,115,110,117,
31.2966 + 109, 98,101,114, 40,116,111,108,117, 97, 95, 83, 44, 50, 44,
31.2967 + 48, 44, 38,116,111,108,117, 97, 95,101,114,114, 41, 41, 39,
31.2968 + 41, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117,
31.2969 + 97, 95,101,114,114,111,114, 40,116,111,108,117, 97, 95, 83,
31.2970 + 44, 34, 35,118,105,110,118, 97,108,105,100, 32,116,121,112,
31.2971 + 101, 32,105,110, 32, 97,114,114, 97,121, 32,105,110,100,101,
31.2972 + 120,105,110,103, 46, 34, 44, 38,116,111,108,117, 97, 95,101,
31.2973 + 114,114, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39,
31.2974 + 32,125, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,
31.2975 + 110,100,105,102, 92,110, 39, 41, 10,111,117,116,112,117,116,
31.2976 + 40, 39, 32,116,111,108,117, 97, 95,105,110,100,101,120, 32,
31.2977 + 61, 32, 40,105,110,116, 41,116,111,108,117, 97, 95,116,111,
31.2978 + 110,117,109, 98,101,114, 40,116,111,108,117, 97, 95, 83, 44,
31.2979 + 50, 44, 48, 41, 45, 49, 59, 39, 41, 10,111,117,116,112,117,
31.2980 + 116, 40, 39, 35,105,102,110,100,101,102, 32, 84, 79, 76, 85,
31.2981 + 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10,111,
31.2982 + 117,116,112,117,116, 40, 39, 32,105,102, 32, 40,116,111,108,
31.2983 + 117, 97, 95,105,110,100,101,120, 60, 48, 32,124,124, 32,116,
31.2984 + 111,108,117, 97, 95,105,110,100,101,120, 62, 61, 39, 46, 46,
31.2985 + 115,101,108,102, 46,100,105,109, 46, 46, 39, 41, 39, 41, 10,
31.2986 + 111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,
31.2987 + 101,114,114,111,114, 40,116,111,108,117, 97, 95, 83, 44, 34,
31.2988 + 97,114,114, 97,121, 32,105,110,100,101,120,105,110,103, 32,
31.2989 + 111,117,116, 32,111,102, 32,114, 97,110,103,101, 46, 34, 44,
31.2990 + 78, 85, 76, 76, 41, 59, 39, 41, 10,111,117,116,112,117,116,
31.2991 + 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10, 10, 10,
31.2992 + 108,111, 99, 97,108, 32,116, 44, 99,116, 32, 61, 32,105,115,
31.2993 + 98, 97,115,105, 99, 40,115,101,108,102, 46,116,121,112,101,
31.2994 + 41, 10,105,102, 32,116, 32,116,104,101,110, 10,111,117,116,
31.2995 + 112,117,116, 40, 39, 32,116,111,108,117, 97, 95,112,117,115,
31.2996 + 104, 39, 46, 46,116, 46, 46, 39, 40,116,111,108,117, 97, 95,
31.2997 + 83, 44, 40, 39, 44, 99,116, 44, 39, 41, 39, 46, 46,115,101,
31.2998 + 108,102, 58,103,101,116,118, 97,108,117,101, 40, 99,108, 97,
31.2999 + 115,115, 44,115,116, 97,116,105, 99, 41, 46, 46, 39, 41, 59,
31.3000 + 39, 41, 10,101,108,115,101, 10,116, 32, 61, 32,115,101,108,
31.3001 + 102, 46,116,121,112,101, 10,105,102, 32,115,101,108,102, 46,
31.3002 + 112,116,114, 32, 61, 61, 32, 39, 38, 39, 32,111,114, 32,115,
31.3003 + 101,108,102, 46,112,116,114, 32, 61, 61, 32, 39, 39, 32,116,
31.3004 + 104,101,110, 10,111,117,116,112,117,116, 40, 39, 32,116,111,
31.3005 + 108,117, 97, 95,112,117,115,104,117,115,101,114,116,121,112,
31.3006 + 101, 40,116,111,108,117, 97, 95, 83, 44, 40,118,111,105,100,
31.3007 + 42, 41, 38, 39, 46, 46,115,101,108,102, 58,103,101,116,118,
31.3008 + 97,108,117,101, 40, 99,108, 97,115,115, 44,115,116, 97,116,
31.3009 + 105, 99, 41, 46, 46, 39, 44, 34, 39, 44,116, 44, 39, 34, 41,
31.3010 + 59, 39, 41, 10,101,108,115,101, 10,111,117,116,112,117,116,
31.3011 + 40, 39, 32,116,111,108,117, 97, 95,112,117,115,104,117,115,
31.3012 + 101,114,116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44,
31.3013 + 40,118,111,105,100, 42, 41, 39, 46, 46,115,101,108,102, 58,
31.3014 + 103,101,116,118, 97,108,117,101, 40, 99,108, 97,115,115, 44,
31.3015 + 115,116, 97,116,105, 99, 41, 46, 46, 39, 44, 34, 39, 44,116,
31.3016 + 44, 39, 34, 41, 59, 39, 41, 10,101,110,100, 10,101,110,100,
31.3017 + 10,111,117,116,112,117,116, 40, 39, 32,114,101,116,117,114,
31.3018 + 110, 32, 49, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39,
31.3019 + 125, 39, 41, 10,111,117,116,112,117,116, 40, 39, 92,110, 39,
31.3020 + 41, 10, 10, 10,105,102, 32,110,111,116, 32,115,116,114,102,
31.3021 + 105,110,100, 40,115,101,108,102, 46,116,121,112,101, 44, 39,
31.3022 + 99,111,110,115,116, 39, 41, 32,116,104,101,110, 10,105,102,
31.3023 + 32, 99,108, 97,115,115, 32,116,104,101,110, 10,111,117,116,
31.3024 + 112,117,116, 40, 34, 47, 42, 32,115,101,116, 32,102,117,110,
31.3025 + 99,116,105,111,110, 58, 34, 44,115,101,108,102, 46,110, 97,
31.3026 + 109,101, 44, 34, 32,111,102, 32, 99,108, 97,115,115, 32, 34,
31.3027 + 44, 99,108, 97,115,115, 44, 34, 32, 42, 47, 34, 41, 10,101,
31.3028 + 108,115,101, 10,111,117,116,112,117,116, 40, 34, 47, 42, 32,
31.3029 + 115,101,116, 32,102,117,110, 99,116,105,111,110, 58, 34, 44,
31.3030 + 115,101,108,102, 46,110, 97,109,101, 44, 34, 32, 42, 47, 34,
31.3031 + 41, 10,101,110,100, 10,115,101,108,102, 46, 99,115,101,116,
31.3032 + 110, 97,109,101, 32, 61, 32,115,101,108,102, 58, 99,102,117,
31.3033 + 110, 99,110, 97,109,101, 40, 34,116,111,108,117, 97, 95,115,
31.3034 + 101,116, 34, 41, 10,111,117,116,112,117,116, 40, 34,115,116,
31.3035 + 97,116,105, 99, 32,105,110,116, 34, 44,115,101,108,102, 46,
31.3036 + 99,115,101,116,110, 97,109,101, 44, 34, 40,108,117, 97, 95,
31.3037 + 83,116, 97,116,101, 42, 32,116,111,108,117, 97, 95, 83, 41,
31.3038 + 34, 41, 10,111,117,116,112,117,116, 40, 34,123, 34, 41, 10,
31.3039 + 10, 10,111,117,116,112,117,116, 40, 39, 32,105,110,116, 32,
31.3040 + 116,111,108,117, 97, 95,105,110,100,101,120, 59, 39, 41, 10,
31.3041 + 10, 10,108,111, 99, 97,108, 32, 95, 44, 95, 44,115,116, 97,
31.3042 + 116,105, 99, 32, 61, 32,115,116,114,102,105,110,100, 40,115,
31.3043 + 101,108,102, 46,109,111,100, 44, 39, 94, 37,115, 42, 40,115,
31.3044 + 116, 97,116,105, 99, 41, 39, 41, 10,105,102, 32, 99,108, 97,
31.3045 + 115,115, 32, 97,110,100, 32,115,116, 97,116,105, 99, 61, 61,
31.3046 + 110,105,108, 32,116,104,101,110, 10,111,117,116,112,117,116,
31.3047 + 40, 39, 32, 39, 44, 99,108, 97,115,115, 44, 39, 42, 39, 44,
31.3048 + 39,115,101,108,102, 59, 39, 41, 10,111,117,116,112,117,116,
31.3049 + 40, 39, 32,108,117, 97, 95,112,117,115,104,115,116,114,105,
31.3050 + 110,103, 40,116,111,108,117, 97, 95, 83, 44, 34, 46,115,101,
31.3051 + 108,102, 34, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40,
31.3052 + 39, 32,108,117, 97, 95,114, 97,119,103,101,116, 40,116,111,
31.3053 + 108,117, 97, 95, 83, 44, 49, 41, 59, 39, 41, 10,111,117,116,
31.3054 + 112,117,116, 40, 39, 32,115,101,108,102, 32, 61, 32, 39, 41,
31.3055 + 10,111,117,116,112,117,116, 40, 39, 40, 39, 44, 99,108, 97,
31.3056 + 115,115, 44, 39, 42, 41, 32, 39, 41, 10,111,117,116,112,117,
31.3057 + 116, 40, 39,108,117, 97, 95,116,111,117,115,101,114,100, 97,
31.3058 + 116, 97, 40,116,111,108,117, 97, 95, 83, 44, 45, 49, 41, 59,
31.3059 + 39, 41, 10,101,108,115,101,105,102, 32,115,116, 97,116,105,
31.3060 + 99, 32,116,104,101,110, 10, 95, 44, 95, 44,115,101,108,102,
31.3061 + 46,109,111,100, 32, 61, 32,115,116,114,102,105,110,100, 40,
31.3062 + 115,101,108,102, 46,109,111,100, 44, 39, 94, 37,115, 42,115,
31.3063 + 116, 97,116,105, 99, 37,115, 37,115, 42, 40, 46, 42, 41, 39,
31.3064 + 41, 10,101,110,100, 10, 10, 10,111,117,116,112,117,116, 40,
31.3065 + 39, 35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95,
31.3066 + 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10,111,117,116,
31.3067 + 112,117,116, 40, 39, 32,123, 39, 41, 10,111,117,116,112,117,
31.3068 + 116, 40, 39, 32,116,111,108,117, 97, 95, 69,114,114,111,114,
31.3069 + 32,116,111,108,117, 97, 95,101,114,114, 59, 39, 41, 10,111,
31.3070 + 117,116,112,117,116, 40, 39, 32,105,102, 32, 40, 33,116,111,
31.3071 + 108,117, 97, 95,105,115,110,117,109, 98,101,114, 40,116,111,
31.3072 + 108,117, 97, 95, 83, 44, 50, 44, 48, 44, 38,116,111,108,117,
31.3073 + 97, 95,101,114,114, 41, 41, 39, 41, 10,111,117,116,112,117,
31.3074 + 116, 40, 39, 32,116,111,108,117, 97, 95,101,114,114,111,114,
31.3075 + 40,116,111,108,117, 97, 95, 83, 44, 34, 35,118,105,110,118,
31.3076 + 97,108,105,100, 32,116,121,112,101, 32,105,110, 32, 97,114,
31.3077 + 114, 97,121, 32,105,110,100,101,120,105,110,103, 46, 34, 44,
31.3078 + 38,116,111,108,117, 97, 95,101,114,114, 41, 59, 39, 41, 10,
31.3079 + 111,117,116,112,117,116, 40, 39, 32,125, 39, 41, 10,111,117,
31.3080 + 116,112,117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39,
31.3081 + 41, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117,
31.3082 + 97, 95,105,110,100,101,120, 32, 61, 32, 40,105,110,116, 41,
31.3083 + 116,111,108,117, 97, 95,116,111,110,117,109, 98,101,114, 40,
31.3084 + 116,111,108,117, 97, 95, 83, 44, 50, 44, 48, 41, 45, 49, 59,
31.3085 + 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,105,102,110,
31.3086 + 100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69, 65,
31.3087 + 83, 69, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39,
31.3088 + 32,105,102, 32, 40,116,111,108,117, 97, 95,105,110,100,101,
31.3089 + 120, 60, 48, 32,124,124, 32,116,111,108,117, 97, 95,105,110,
31.3090 + 100,101,120, 62, 61, 39, 46, 46,115,101,108,102, 46,100,105,
31.3091 + 109, 46, 46, 39, 41, 39, 41, 10,111,117,116,112,117,116, 40,
31.3092 + 39, 32,116,111,108,117, 97, 95,101,114,114,111,114, 40,116,
31.3093 + 111,108,117, 97, 95, 83, 44, 34, 97,114,114, 97,121, 32,105,
31.3094 + 110,100,101,120,105,110,103, 32,111,117,116, 32,111,102, 32,
31.3095 + 114, 97,110,103,101, 46, 34, 44, 78, 85, 76, 76, 41, 59, 39,
31.3096 + 41, 10,111,117,116,112,117,116, 40, 39, 35,101,110,100,105,
31.3097 + 102, 92,110, 39, 41, 10, 10, 10,108,111, 99, 97,108, 32,112,
31.3098 + 116,114, 32, 61, 32, 39, 39, 10,105,102, 32,115,101,108,102,
31.3099 + 46,112,116,114,126, 61, 39, 39, 32,116,104,101,110, 32,112,
31.3100 + 116,114, 32, 61, 32, 39, 42, 39, 32,101,110,100, 10,111,117,
31.3101 + 116,112,117,116, 40, 39, 32, 39, 41, 10,105,102, 32, 99,108,
31.3102 + 97,115,115, 32, 97,110,100, 32,115,116, 97,116,105, 99, 32,
31.3103 + 116,104,101,110, 10,111,117,116,112,117,116, 40, 99,108, 97,
31.3104 + 115,115, 46, 46, 39, 58, 58, 39, 46, 46,115,101,108,102, 46,
31.3105 + 110, 97,109,101, 46, 46, 39, 91,116,111,108,117, 97, 95,105,
31.3106 + 110,100,101,120, 93, 39, 41, 10,101,108,115,101,105,102, 32,
31.3107 + 99,108, 97,115,115, 32,116,104,101,110, 10,111,117,116,112,
31.3108 + 117,116, 40, 39,115,101,108,102, 45, 62, 39, 46, 46,115,101,
31.3109 + 108,102, 46,110, 97,109,101, 46, 46, 39, 91,116,111,108,117,
31.3110 + 97, 95,105,110,100,101,120, 93, 39, 41, 10,101,108,115,101,
31.3111 + 10,111,117,116,112,117,116, 40,115,101,108,102, 46,110, 97,
31.3112 + 109,101, 46, 46, 39, 91,116,111,108,117, 97, 95,105,110,100,
31.3113 + 101,120, 93, 39, 41, 10,101,110,100, 10,108,111, 99, 97,108,
31.3114 + 32,116, 32, 61, 32,105,115, 98, 97,115,105, 99, 40,115,101,
31.3115 + 108,102, 46,116,121,112,101, 41, 10,111,117,116,112,117,116,
31.3116 + 40, 39, 32, 61, 32, 39, 41, 10,105,102, 32,110,111,116, 32,
31.3117 + 116, 32, 97,110,100, 32,112,116,114, 61, 61, 39, 39, 32,116,
31.3118 + 104,101,110, 32,111,117,116,112,117,116, 40, 39, 42, 39, 41,
31.3119 + 32,101,110,100, 10,111,117,116,112,117,116, 40, 39, 40, 40,
31.3120 + 39, 44,115,101,108,102, 46,109,111,100, 44,115,101,108,102,
31.3121 + 46,116,121,112,101, 41, 10,105,102, 32,110,111,116, 32,116,
31.3122 + 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 42,
31.3123 + 39, 41, 10,101,110,100, 10,111,117,116,112,117,116, 40, 39,
31.3124 + 41, 32, 39, 41, 10,108,111, 99, 97,108, 32,100,101,102, 32,
31.3125 + 61, 32, 48, 10,105,102, 32,115,101,108,102, 46,100,101,102,
31.3126 + 32,126, 61, 32, 39, 39, 32,116,104,101,110, 32,100,101,102,
31.3127 + 32, 61, 32,115,101,108,102, 46,100,101,102, 32,101,110,100,
31.3128 + 10,105,102, 32,116, 32,116,104,101,110, 10,111,117,116,112,
31.3129 + 117,116, 40, 39,116,111,108,117, 97, 95,116,111, 39, 46, 46,
31.3130 + 116, 44, 39, 40,116,111,108,117, 97, 95, 83, 44, 51, 44, 39,
31.3131 + 44,100,101,102, 44, 39, 41, 41, 59, 39, 41, 10,101,108,115,
31.3132 + 101, 10,111,117,116,112,117,116, 40, 39,116,111,108,117, 97,
31.3133 + 95,116,111,117,115,101,114,116,121,112,101, 40,116,111,108,
31.3134 + 117, 97, 95, 83, 44, 51, 44, 39, 44,100,101,102, 44, 39, 41,
31.3135 + 41, 59, 39, 41, 10,101,110,100, 10,111,117,116,112,117,116,
31.3136 + 40, 39, 32,114,101,116,117,114,110, 32, 48, 59, 39, 41, 10,
31.3137 + 111,117,116,112,117,116, 40, 39,125, 39, 41, 10,111,117,116,
31.3138 + 112,117,116, 40, 39, 92,110, 39, 41, 10,101,110,100, 10, 10,
31.3139 + 101,110,100, 10, 10,102,117,110, 99,116,105,111,110, 32, 99,
31.3140 + 108, 97,115,115, 65,114,114, 97,121, 58,114,101,103,105,115,
31.3141 + 116,101,114, 32, 40, 41, 10,105,102, 32,115,101,108,102, 46,
31.3142 + 99,115,101,116,110, 97,109,101, 32,116,104,101,110, 10,111,
31.3143 + 117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95, 97,
31.3144 + 114,114, 97,121, 40,116,111,108,117, 97, 95, 83, 44, 34, 39,
31.3145 + 46, 46,115,101,108,102, 46,108,110, 97,109,101, 46, 46, 39,
31.3146 + 34, 44, 39, 46, 46,115,101,108,102, 46, 99,103,101,116,110,
31.3147 + 97,109,101, 46, 46, 39, 44, 39, 46, 46,115,101,108,102, 46,
31.3148 + 99,115,101,116,110, 97,109,101, 46, 46, 39, 41, 59, 39, 41,
31.3149 + 10,101,108,115,101, 10,111,117,116,112,117,116, 40, 39, 32,
31.3150 + 116,111,108,117, 97, 95, 97,114,114, 97,121, 40,116,111,108,
31.3151 + 117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,102, 46,108,
31.3152 + 110, 97,109,101, 46, 46, 39, 34, 44, 39, 46, 46,115,101,108,
31.3153 + 102, 46, 99,103,101,116,110, 97,109,101, 46, 46, 39, 44, 78,
31.3154 + 85, 76, 76, 41, 59, 39, 41, 10,101,110,100, 10,101,110,100,
31.3155 + 10, 10, 10,102,117,110, 99,116,105,111,110, 32, 95, 65,114,
31.3156 + 114, 97,121, 32, 40,116, 41, 10,115,101,116,109,101,116, 97,
31.3157 + 116, 97, 98,108,101, 40,116, 44, 99,108, 97,115,115, 65,114,
31.3158 + 114, 97,121, 41, 10, 97,112,112,101,110,100, 40,116, 41, 10,
31.3159 + 114,101,116,117,114,110, 32,116, 10,101,110,100, 10, 10, 10,
31.3160 + 10,102,117,110, 99,116,105,111,110, 32, 65,114,114, 97,121,
31.3161 + 32, 40,115, 41, 10,114,101,116,117,114,110, 32, 95, 65,114,
31.3162 + 114, 97,121, 32, 40, 68,101, 99,108, 97,114, 97,116,105,111,
31.3163 + 110, 40,115, 44, 39,118, 97,114, 39, 41, 41, 10,101,110,100,
31.3164 + 32
31.3165 + };
31.3166 + luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") ||
31.3167 + lua_pcall(tolua_S,0,LUA_MULTRET,0);
31.3168 + } /* end of embedded lua code */
31.3169 +
31.3170 +
31.3171 + { /* begin embedded lua code */
31.3172 + static unsigned char B[] = {
31.3173 + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
31.3174 + 10, 10, 10, 10, 10, 10, 10, 10, 10, 99,108, 97,115,115, 70,
31.3175 + 117,110, 99,116,105,111,110, 32, 61, 32,123, 10,109,111,100,
31.3176 + 32, 61, 32, 39, 39, 44, 10,116,121,112,101, 32, 61, 32, 39,
31.3177 + 39, 44, 10,112,116,114, 32, 61, 32, 39, 39, 44, 10,110, 97,
31.3178 + 109,101, 32, 61, 32, 39, 39, 44, 10, 97,114,103,115, 32, 61,
31.3179 + 32,123,110, 61, 48,125, 44, 10, 99,111,110,115,116, 32, 61,
31.3180 + 32, 39, 39, 44, 10,125, 10, 99,108, 97,115,115, 70,117,110,
31.3181 + 99,116,105,111,110, 46, 95, 95,105,110,100,101,120, 32, 61,
31.3182 + 32, 99,108, 97,115,115, 70,117,110, 99,116,105,111,110, 10,
31.3183 + 115,101,116,109,101,116, 97,116, 97, 98,108,101, 40, 99,108,
31.3184 + 97,115,115, 70,117,110, 99,116,105,111,110, 44, 99,108, 97,
31.3185 + 115,115, 70,101, 97,116,117,114,101, 41, 10, 10, 10,102,117,
31.3186 + 110, 99,116,105,111,110, 32, 99,108, 97,115,115, 70,117,110,
31.3187 + 99,116,105,111,110, 58,100,101, 99,108,116,121,112,101, 32,
31.3188 + 40, 41, 10,115,101,108,102, 46,116,121,112,101, 32, 61, 32,
31.3189 + 116,121,112,101,118, 97,114, 40,115,101,108,102, 46,116,121,
31.3190 + 112,101, 41, 10,105,102, 32,115,116,114,102,105,110,100, 40,
31.3191 + 115,101,108,102, 46,109,111,100, 44, 39, 99,111,110,115,116,
31.3192 + 39, 41, 32,116,104,101,110, 10,115,101,108,102, 46,116,121,
31.3193 + 112,101, 32, 61, 32, 39, 99,111,110,115,116, 32, 39, 46, 46,