Drop pre-translated buildvm_*.h.
Rename buildvm_*.dasc to vm_*.dasc.
Move buildvm* to host directory.
Build minilua, unless HOST_LUA is set.
Use HOST_LUA to run DynASM.
Translate only vm_*.dasc for target architecture.
cleaner:
$(MAKE) -C src cleaner
-distclean:
- $(MAKE) -C src distclean
-
-.PHONY: all install amalg clean cleaner distclean
+.PHONY: all install amalg clean cleaner
##############################################################################
luajit
-buildvm
lj_bcdef.h
lj_ffdef.h
lj_libdef.h
# x86/x64 only: For GCC 4.2 or higher and if you don't intend to distribute
# the binaries to a different machine you could also use: -march=native
#
-CCOPT_X86= -march=i686
-CCOPT_X64=
-CCOPT_ARM=
-CCOPT_PPC=
-CCOPT_PPCSPE=
-CCOPT_MIPS=
+CCOPT_x86= -march=i686
+CCOPT_x64=
+CCOPT_arm=
+CCOPT_ppc=
+CCOPT_ppcspe=
+CCOPT_mips=
#
CCDEBUG=
# Uncomment the next line to generate debug information:
HOST_CC= $(CC)
HOST_RM= rm -f
-# NOTE: The LuaJIT distribution comes with pre-generated buildvm_*.h files.
-# You DO NOT NEED an installed copy of (plain) Lua 5.1 to run DynASM unless
-# you want to MODIFY the corresponding *.dasc file. You can also use LuaJIT
-# itself (bootstrapped from a pre-generated file) to run DynASM of course.
-HOST_LUA= lua
+# If left blank, minilua is built and used. You can supply an installed
+# copy of (plain) Lua 5.1 or 5.2, e.g. with: HOST_LUA=lua
+HOST_LUA=
-HOST_XCFLAGS=
+HOST_XCFLAGS= -I.
HOST_XLDFLAGS=
HOST_XLIBS=
HOST_ACFLAGS= $(CCOPTIONS) $(HOST_XCFLAGS) $(TARGET_ARCH) $(HOST_CFLAGS)
TARGET_TESTARCH=$(shell $(TARGET_CC) $(TARGET_TCFLAGS) -E lj_arch.h -dM)
ifneq (,$(findstring LJ_TARGET_X64 ,$(TARGET_TESTARCH)))
- TARGET_CCARCH= x64
- TARGET_XCFLAGS+= $(CCOPT_X64)
+ TARGET_LJARCH= x64
else
ifneq (,$(findstring LJ_TARGET_X86 ,$(TARGET_TESTARCH)))
- TARGET_CCARCH= x86
- TARGET_XCFLAGS+= $(CCOPT_X86)
+ TARGET_LJARCH= x86
else
ifneq (,$(findstring LJ_TARGET_ARM ,$(TARGET_TESTARCH)))
- TARGET_CCARCH= arm
- TARGET_XCFLAGS+= $(CCOPT_ARM)
+ TARGET_LJARCH= arm
else
ifneq (,$(findstring LJ_TARGET_PPC ,$(TARGET_TESTARCH)))
- TARGET_CCARCH= ppc
- TARGET_XCFLAGS+= $(CCOPT_PPC)
+ TARGET_LJARCH= ppc
else
ifneq (,$(findstring LJ_TARGET_PPCSPE ,$(TARGET_TESTARCH)))
- TARGET_CCARCH= ppcspe
- TARGET_XCFLAGS+= $(CCOPT_PPCSPE)
+ TARGET_LJARCH= ppcspe
else
ifneq (,$(findstring LJ_TARGET_MIPS ,$(TARGET_TESTARCH)))
ifneq (,$(findstring MIPSEL ,$(TARGET_TESTARCH)))
TARGET_ARCH= -D__MIPSEL__=1
endif
- TARGET_CCARCH= mips
- TARGET_XCFLAGS+= $(CCOPT_MIPS)
+ TARGET_LJARCH= mips
else
$(error Unsupported target architecture)
endif
endif
endif
-TARGET_ARCH+= $(patsubst %,-DLUAJIT_TARGET=LUAJIT_ARCH_%,$(TARGET_CCARCH))
+TARGET_XCFLAGS+= $(CCOPT_$(TARGET_LJARCH))
+TARGET_ARCH+= $(patsubst %,-DLUAJIT_TARGET=LUAJIT_ARCH_%,$(TARGET_LJARCH))
ifneq (,$(PREFIX))
ifneq (/usr/local,$(PREFIX))
TARGET_XSHLDFLAGS= -dynamiclib -single_module -undefined dynamic_lookup -fPIC
TARGET_DYNXLDOPTS=
TARGET_XSHLDFLAGS+= -install_name $(TARGET_DYLIBPATH) -compatibility_version $(MAJVER).$(MINVER) -current_version $(MAJVER).$(MINVER).$(RELVER)
- ifeq (x64,$(TARGET_CCARCH))
+ ifeq (x64,$(TARGET_LJARCH))
TARGET_XLDFLAGS+= -pagezero_size 10000 -image_base 100000000
TARGET_XSHLDFLAGS+= -image_base 7fff04c4a000
endif
# Files and pathnames.
##############################################################################
+MINILUA_O= host/minilua.o
+MINILUA_LIBS= -lm
+MINILUA_T= host/minilua
+MINILUA_X= $(MINILUA_T)
+
+ifeq (,$(HOST_LUA))
+ HOST_LUA= $(MINILUA_X)
+ DASM_DEP= $(MINILUA_T)
+endif
+
DASM_DIR= ../dynasm
DASM= $(HOST_LUA) $(DASM_DIR)/dynasm.lua
-DASM_FLAGS=
-DASM_DISTFLAGS= -LN
-DASM_FLAGS_X86=
-DASM_FLAGS_X64= -D X64
-DASM_FLAGS_X64WIN= -D X64 -D X64WIN
-DASM_FLAGS_ARM=
-DASM_FLAGS_PPC=
-DASM_FLAGS_PPCSPE=
-DASM_FLAGS_MIPS=
-
-BUILDVM_O= buildvm.o buildvm_asm.o buildvm_peobj.o buildvm_lib.o buildvm_fold.o
-BUILDVM_T= buildvm
-BUILDVM_X= ./$(BUILDVM_T)
-
-HOST_O= $(BUILDVM_O)
-HOST_T= $(BUILDVM_T)
+DASM_XFLAGS=
+DASM_AFLAGS=
+DASM_ARCH= $(TARGET_LJARCH)
+
+ifeq (x64,$(TARGET_LJARCH))
+ DASM_ARCH= x86
+ ifeq (Windows,$(TARGET_SYS))
+ DASM_AFLAGS+= -D X64 -D X64WIN
+ else
+ DASM_AFLAGS+= -D X64
+ endif
+endif
+
+DASM_FLAGS= $(DASM_XFLAGS) $(DASM_AFLAGS)
+DASM_DASC= vm_$(DASM_ARCH).dasc
+
+BUILDVM_O= host/buildvm.o host/buildvm_asm.o host/buildvm_peobj.o \
+ host/buildvm_lib.o host/buildvm_fold.o
+BUILDVM_T= host/buildvm
+BUILDVM_X= $(BUILDVM_T)
+
+HOST_O= $(MINILUA_O) $(BUILDVM_O)
+HOST_T= $(MINILUA_T) $(BUILDVM_T)
LJVM_S= lj_vm.s
LJVM_O= lj_vm.o
LUAJIT_SO= libluajit.so
LUAJIT_T= luajit
-ALL_T= $(LUAJIT_T) $(LUAJIT_A) $(LUAJIT_SO) $(BUILDVM_T)
-ALL_HDRGEN= lj_bcdef.h lj_ffdef.h lj_libdef.h lj_recdef.h lj_folddef.h
+ALL_T= $(LUAJIT_T) $(LUAJIT_A) $(LUAJIT_SO) $(HOST_T)
+ALL_HDRGEN= lj_bcdef.h lj_ffdef.h lj_libdef.h lj_recdef.h lj_folddef.h \
+ host/buildvm_arch.h
ALL_GEN= $(LJVM_S) $(ALL_HDRGEN) $(LIB_VMDEFP)
-ALL_DYNGEN= buildvm_x86.h buildvm_x64.h buildvm_x64win.h buildvm_arm.h \
- buildvm_ppc.h buildvm_ppcspe.h buildvm_mips.h
WIN_RM= *.obj *.lib *.exp *.dll *.exe *.manifest *.pdb *.ilk
-ALL_RM= $(ALL_T) $(ALL_GEN) *.o $(WIN_RM)
+ALL_RM= $(ALL_T) $(ALL_GEN) *.o host/*.o $(WIN_RM)
##############################################################################
# Build mode handling.
TARGET_DEP= $(LIB_VMDEF) $(LUAJIT_SO)
ifeq (Windows,$(HOST_SYS))
- BUILDVM_T= buildvm.exe
- LIB_VMDEFP= $(subst /,\\,$(LIB_VMDEF))
+ MINILUA_T= host/minilua.exe
+ MINILUA_X= host\minilua
+ BUILDVM_T= host/buildvm.exe
+ BUILDVM_X= host\buildvm
+ ALL_RM:= $(subst /,\,$(ALL_RM))
endif
ifeq (Windows,$(TARGET_SYS))
TARGET_DYNCC= $(STATIC_CC)
clean:
$(HOST_RM) $(ALL_RM)
-cleaner:
- $(HOST_RM) $(ALL_RM) $(ALL_DYNGEN)
-
-distclean: clean
- $(E) "DYNASM $@"
- $(Q)$(DASM) $(DASM_DISTFLAGS) $(DASM_FLAGS_X86) -o buildvm_x86.h buildvm_x86.dasc
- $(Q)$(DASM) $(DASM_DISTFLAGS) $(DASM_FLAGS_X64) -o buildvm_x64.h buildvm_x86.dasc
- $(Q)$(DASM) $(DASM_DISTFLAGS) $(DASM_FLAGS_X64WIN) -o buildvm_x64win.h buildvm_x86.dasc
- $(Q)$(DASM) $(DASM_DISTFLAGS) $(DASM_FLAGS_ARM) -o buildvm_arm.h buildvm_arm.dasc
- $(Q)$(DASM) $(DASM_DISTFLAGS) $(DASM_FLAGS_PPC) -o buildvm_ppc.h buildvm_ppc.dasc
- $(Q)$(DASM) $(DASM_DISTFLAGS) $(DASM_FLAGS_PPCSPE) -o buildvm_ppcspe.h buildvm_ppcspe.dasc
- $(Q)$(DASM) $(DASM_DISTFLAGS) $(DASM_FLAGS_MIPS) -o buildvm_mips.h buildvm_mips.dasc
+# Temporary rule for migration from old file layout.
+cleaner: clean
+ $(HOST_RM) buildvm*
depend:
- @for file in $(ALL_HDRGEN) $(ALL_DYNGEN); do \
+ @for file in $(ALL_HDRGEN); do \
test -f $$file || touch $$file; \
done
- @$(HOST_CC) $(HOST_ACFLAGS) -MM *.c | \
+ @$(HOST_CC) $(HOST_ACFLAGS) -MM *.c host/*.c | \
sed -e "s| [^ ]*/dasm_\S*\.h||g" \
- -e "s| buildvm_\S*\.h||g" \
+ -e "s|^\([^l ]\)|host/\1|" \
-e "s| lj_target_\S*\.h| lj_target_*.h|g" \
-e "s| lj_emit_\S*\.h| lj_emit_*.h|g" \
-e "s| lj_asm_\S*\.h| lj_asm_*.h|g" >Makefile.dep
- @for file in $(ALL_HDRGEN) $(ALL_DYNGEN); do \
+ @for file in $(ALL_HDRGEN); do \
test -s $$file || $(HOST_RM) $$file; \
done
-.PHONY: default all amalg clean cleaner distclean depend
+.PHONY: default all amalg clean cleaner depend
##############################################################################
# Rules for generated files.
##############################################################################
-buildvm_x86.h: buildvm_x86.dasc
- $(E) "DYNASM $@"
- $(Q)$(DASM) $(DASM_FLAGS) $(DASM_FLAGS_X86) -o $@ buildvm_x86.dasc
-
-buildvm_x64.h: buildvm_x86.dasc
- $(E) "DYNASM $@"
- $(Q)$(DASM) $(DASM_FLAGS) $(DASM_FLAGS_X64) -o $@ buildvm_x86.dasc
-
-buildvm_x64win.h: buildvm_x86.dasc
- $(E) "DYNASM $@"
- $(Q)$(DASM) $(DASM_FLAGS) $(DASM_FLAGS_X64WIN) -o $@ buildvm_x86.dasc
-
-buildvm_arm.h: buildvm_arm.dasc
- $(E) "DYNASM $@"
- $(Q)$(DASM) $(DASM_FLAGS) $(DASM_FLAGS_ARM) -o $@ buildvm_arm.dasc
-
-buildvm_ppc.h: buildvm_ppc.dasc
- $(E) "DYNASM $@"
- $(Q)$(DASM) $(DASM_FLAGS) $(DASM_FLAGS_PPC) -o $@ buildvm_ppc.dasc
-
-buildvm_ppcspe.h: buildvm_ppcspe.dasc
- $(E) "DYNASM $@"
- $(Q)$(DASM) $(DASM_FLAGS) $(DASM_FLAGS_PPCSPE) -o $@ buildvm_ppcspe.dasc
+$(MINILUA_T): $(MINILUA_O)
+ $(E) "HOSTLINK $@"
+ $(Q)$(HOST_CC) $(HOST_ALDFLAGS) -o $@ $(MINILUA_O) $(MINILUA_LIBS) $(HOST_ALIBS)
-buildvm_mips.h: buildvm_mips.dasc
+host/buildvm_arch.h: $(DASM_DASC) $(DASM_DEP)
$(E) "DYNASM $@"
- $(Q)$(DASM) $(DASM_FLAGS) $(DASM_FLAGS_MIPS) -o $@ buildvm_mips.dasc
+ $(Q)$(DASM) $(DASM_FLAGS) -o $@ $(DASM_DASC)
-buildvm.o: $(ALL_DYNGEN) $(DASM_DIR)/dasm_*.h
+host/buildvm.o: $(DASM_DIR)/dasm_*.h
$(BUILDVM_T): $(BUILDVM_O)
$(E) "HOSTLINK $@"
-buildvm.o: buildvm.c buildvm.h lj_def.h lua.h luaconf.h lj_arch.h \
- lj_obj.h lj_gc.h lj_bc.h lj_ir.h lj_ircall.h lj_jit.h lj_frame.h \
- lj_dispatch.h lj_ctype.h lj_ccall.h luajit.h \
- lj_traceerr.h
-buildvm_asm.o: buildvm_asm.c buildvm.h lj_def.h lua.h luaconf.h lj_arch.h \
- lj_bc.h
-buildvm_fold.o: buildvm_fold.c buildvm.h lj_def.h lua.h luaconf.h \
- lj_arch.h lj_obj.h lj_ir.h
-buildvm_lib.o: buildvm_lib.c buildvm.h lj_def.h lua.h luaconf.h lj_arch.h \
- lj_obj.h lj_lib.h
-buildvm_peobj.o: buildvm_peobj.c buildvm.h lj_def.h lua.h luaconf.h \
- lj_arch.h lj_bc.h
lib_aux.o: lib_aux.c lua.h luaconf.h lauxlib.h lj_obj.h lj_def.h \
lj_arch.h lj_err.h lj_errmsg.h lj_state.h lj_lib.h lj_alloc.h
lib_base.o: lib_base.c lua.h luaconf.h lauxlib.h lualib.h lj_obj.h \
lj_libdef.h lib_math.c lib_string.c lib_table.c lib_io.c lib_os.c \
lib_package.c lib_debug.c lib_bit.c lib_jit.c lib_ffi.c lib_init.c
luajit.o: luajit.c lua.h luaconf.h lauxlib.h lualib.h luajit.h lj_arch.h
+host/buildvm.o: host/buildvm.c host/buildvm.h lj_def.h lua.h luaconf.h \
+ lj_arch.h lj_obj.h lj_def.h lj_arch.h lj_gc.h lj_obj.h lj_bc.h lj_ir.h \
+ lj_ircall.h lj_ir.h lj_jit.h lj_frame.h lj_bc.h lj_dispatch.h lj_ctype.h \
+ lj_gc.h lj_ccall.h lj_ctype.h luajit.h \
+ host/buildvm_arch.h lj_traceerr.h
+host/buildvm_asm.o: host/buildvm_asm.c host/buildvm.h lj_def.h lua.h luaconf.h \
+ lj_arch.h lj_bc.h lj_def.h lj_arch.h
+host/buildvm_fold.o: host/buildvm_fold.c host/buildvm.h lj_def.h lua.h \
+ luaconf.h lj_arch.h lj_obj.h lj_def.h lj_arch.h lj_ir.h lj_obj.h
+host/buildvm_lib.o: host/buildvm_lib.c host/buildvm.h lj_def.h lua.h luaconf.h \
+ lj_arch.h lj_obj.h lj_def.h lj_arch.h lj_lib.h lj_obj.h
+host/buildvm_peobj.o: host/buildvm_peobj.c host/buildvm.h lj_def.h lua.h \
+ luaconf.h lj_arch.h lj_bc.h lj_def.h lj_arch.h
+host/minilua.o: host/minilua.c
+++ /dev/null
-/*
-** This file has been pre-processed with DynASM.
-** http://luajit.org/dynasm.html
-** DynASM version 1.3.0, DynASM arm version 1.3.0
-** DO NOT EDIT! The original file is in "buildvm_arm.dasc".
-*/
-
-#if DASM_VERSION != 10300
-#error "Version mismatch between DynASM and included encoding engine"
-#endif
-
-#define DASM_SECTION_CODE_OP 0
-#define DASM_SECTION_CODE_SUB 1
-#define DASM_MAXSECTION 2
-static const unsigned int build_actionlist[5784] = {
-0x00010001,
-0x00060014,
-0xe3160000,
-0x000a0000,
-0x0a000000,
-0x00050015,
-0xe51c6004,
-0xe3e01000,
-0x000a0000,
-0xe1a0900c,
-0xe50a1004,
-0xe24aa008,
-0x00060016,
-0xe28bb008,
-0xe2160000,
-0x000a0000,
-0xe58db004,
-0x0a000000,
-0x00050017,
-0x00060018,
-0xe3c6c000,
-0x000a0000,
-0xe3500000,
-0x000a0000,
-0xe049c00c,
-0x1a000000,
-0x00050014,
-0xe508c000,
-0x000d8180,
-0xe59d5014,
-0xe3e03000,
-0x000a0000,
-0xe2499008,
-0xe25b2008,
-0xe1a05185,
-0xe5073000,
-0x000d8180,
-0x0a000000,
-0x00050002,
-0x0006000b,
-0xe2522008,
-0xe0ca00d8,
-0xe0c900f8,
-0x1a000000,
-0x0005000b,
-0x0006000c,
-0xe155000b,
-0x1a000000,
-0x00050006,
-0x0006000d,
-0xe5089000,
-0x000d8180,
-0x00060019,
-0x00000000,
-0xe59db010,
-0xe3a00000,
-0xe508b000,
-0x000d8180,
-0x0006001a,
-0xe28dd01c,
-0xe8bd8ff0,
-0x00060010,
-0xba000000,
-0x00050007,
-0xe5182000,
-0x000d8180,
-0xe3e01000,
-0x000a0000,
-0xe1590002,
-0x2a000000,
-0x00050008,
-0xe5891004,
-0xe28bb008,
-0xe2899008,
-0xea000000,
-0x0005000c,
-0x00060011,
-0xe04b0005,
-0xe3550000,
-0x10499000,
-0xea000000,
-0x0005000d,
-0x00060012,
-0xe5089000,
-0x000d8180,
-0xe1a01005,
-0xe1a00008,
-0xeb000000,
-0x00030000,
-0xe5189000,
-0x000d8180,
-0xea000000,
-0x0005000c,
-0x0006001b,
-0xe1a0d000,
-0xe1a00001,
-0x0006001c,
-0xe59d800c,
-0xe3e03000,
-0x000a0000,
-0xe5182000,
-0x000d8180,
-0xe5023000,
-0x000d8180,
-0xea000000,
-0x0005001a,
-0x0006001d,
-0x00000000,
-0xe3c00000,
-0x000a0000,
-0xe1a0d000,
-0x0006001e,
-0xe59d800c,
-0xe3a040ff,
-0xe3a0b010,
-0xe1a04184,
-0xe5189000,
-0x000d8180,
-0xe5187000,
-0x000d8180,
-0xe3e00000,
-0x000a0000,
-0xe249a008,
-0xe5196004,
-0xe2877000,
-0x000a0000,
-0xe3e01000,
-0x000a0000,
-0xe5090004,
-0xe5071000,
-0x000d8180,
-0xea000000,
-0x00050016,
-0x0006001f,
-0xe3a01000,
-0x000a0000,
-0xea000000,
-0x00050002,
-0x00060020,
-0xe089b00b,
-0xe04aa009,
-0xe1a00008,
-0xe5089000,
-0x000d8180,
-0xe2866004,
-0xe508b000,
-0x000d8180,
-0xe1a021aa,
-0x0006000c,
-0xe58d6008,
-0xeb000000,
-0x00030000,
-0xe5189000,
-0x000d8180,
-0xe518b000,
-0x000d8180,
-0xe5192008,
-0xe04bb009,
-0xe5126000,
-0x000d8180,
-0xe5d6c000,
-0xe496e004,
-0xe797c10c,
-0xe004a2ae,
-0xe08aa009,
-0xe12fff1c,
-0x00060021,
-0xe92d4ff0,
-0xe24dd01c,
-0xe1a08000,
-0xe5107000,
-0x000d8180,
-0x00000000,
-0xe1a09001,
-0xe2877000,
-0x000a0000,
-0xe58d800c,
-0xe3a06000,
-0x000a0000,
-0xe58d2014,
-0xe28d1000,
-0x000a0000,
-0xe5580000,
-0x000d8180,
-0xe58d2018,
-0xe5081000,
-0x000d8180,
-0xe58d2010,
-0xe3500000,
-0xe58d8008,
-0x0a000000,
-0x00050003,
-0xe1a0a009,
-0xe5189000,
-0x000d8180,
-0xe5180000,
-0x000d8180,
-0xe3a040ff,
-0xe5482000,
-0x000d8180,
-0xe040b009,
-0xe5196004,
-0xe1a04184,
-0xe3e01000,
-0x000a0000,
-0xe28bb008,
-0xe2160000,
-0x000a0000,
-0xe5071000,
-0x000d8180,
-0xe58db004,
-0x0a000000,
-0x00050017,
-0xea000000,
-0x00050018,
-0x00060022,
-0xe92d4ff0,
-0xe24dd01c,
-0xe3a06000,
-0x000a0000,
-0xe58d3018,
-0xea000000,
-0x00050001,
-0x00060023,
-0xe92d4ff0,
-0xe24dd01c,
-0xe3a06000,
-0x000a0000,
-0x0006000b,
-0xe510b000,
-0x000d8180,
-0xe58d2014,
-0xe1a08000,
-0xe58d000c,
-0xe1a09001,
-0xe508d000,
-0x000d8180,
-0x00000000,
-0xe5187000,
-0x000d8180,
-0xe58d0008,
-0xe58db010,
-0xe2877000,
-0x000a0000,
-0x0006000d,
-0xe518c000,
-0x000d8180,
-0xe5180000,
-0x000d8180,
-0xe3a040ff,
-0xe0866009,
-0xe1a04184,
-0xe046600c,
-0xe3e01000,
-0x000a0000,
-0xe040b009,
-0xe5071000,
-0x000d8180,
-0x00060024,
-0xe14920d8,
-0xe3730000,
-0x000a0000,
-0x1a000000,
-0x00050025,
-0x00060026,
-0xe5096004,
-0xe5126000,
-0x000d8180,
-0xe5d6c000,
-0xe496e004,
-0xe797c10c,
-0xe004a2ae,
-0xe08aa009,
-0xe12fff1c,
-0x00060027,
-0xe92d4ff0,
-0xe24dd01c,
-0xe1a08000,
-0xe510a000,
-0x000d8180,
-0xe58d000c,
-0xe518c000,
-0x000d8180,
-0xe58d0008,
-0xe518b000,
-0x000d8180,
-0xe04aa00c,
-0xe508d000,
-0x000d8180,
-0xe3a0c000,
-0xe58da014,
-0xe58dc018,
-0xe58db010,
-0xe12fff33,
-0xe5187000,
-0x000d8180,
-0xe1b09000,
-0xe3a06000,
-0x000a0000,
-0xe2877000,
-0x000a0000,
-0x1a000000,
-0x0005000d,
-0xea000000,
-0x00050019,
-0x00060015,
-0x00000000,
-0xe51c2008,
-0xe5190010,
-0xe1a03009,
-0xe1a0900c,
-0x00000000,
-0xe3500001,
-0x00000000,
-0xe513600c,
-0xe5122000,
-0x000d8180,
-0xe3e0e000,
-0x000a0000,
-0xe08a100b,
-0xe501e004,
-0x00000000,
-0x9a000000,
-0x00050001,
-0x00000000,
-0xe5125000,
-0x000d8180,
-0xe12fff10,
-0x00000000,
-0x0006000b,
-0x0a000000,
-0x00050028,
-0xe5192008,
-0xe2433010,
-0xe043b009,
-0xea000000,
-0x00050029,
-0x00000000,
-0x0006002a,
-0xe516e004,
-0xe2431010,
-0xe1ca20d0,
-0xe5089000,
-0x000d8180,
-0xe004baae,
-0xe004a2ae,
-0xe089000b,
-0xe0510000,
-0x11c120f0,
-0x11a02000,
-0x1a000000,
-0x0005002b,
-0xe18920fa,
-0xea000000,
-0x0005002c,
-0x0006002d,
-0xe089100c,
-0xea000000,
-0x00050002,
-0x0006002e,
-0xe2471000,
-0x000a0000,
-0xe3e03000,
-0x000a0000,
-0xe581c000,
-0xe5813004,
-0x0006000c,
-0xe3e03000,
-0x000a0000,
-0xe58db000,
-0xe58d3004,
-0xe1a0200d,
-0xea000000,
-0x00050001,
-0x0006002f,
-0xe004caae,
-0xe58db000,
-0xe3e03000,
-0x000a0000,
-0xe089100c,
-0xe58d3004,
-0xe1a0200d,
-0xea000000,
-0x00050001,
-0x00060030,
-0xe089100c,
-0xe089200b,
-0x0006000b,
-0xe5089000,
-0x000d8180,
-0xe1a00008,
-0xe58d6008,
-0xeb000000,
-0x00030001,
-0x00000000,
-0xe5189000,
-0x000d8180,
-0x00000000,
-0xe3500000,
-0x0a000000,
-0x00050003,
-0xe1c020d0,
-0xe5d6c000,
-0xe496e004,
-0xe18920fa,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x0006000d,
-0xe2690000,
-0x000a0000,
-0xe5189000,
-0x000d8180,
-0xe3a0b010,
-0xe509600c,
-0xe0806009,
-0xe5192008,
-0xea000000,
-0x00050026,
-0x00060031,
-0xe089100c,
-0xea000000,
-0x00050002,
-0x00060032,
-0xe2471000,
-0x000a0000,
-0xe3e03000,
-0x000a0000,
-0xe581c000,
-0xe5813004,
-0x0006000c,
-0xe3e03000,
-0x000a0000,
-0xe58db000,
-0xe58d3004,
-0xe1a0200d,
-0xea000000,
-0x00050001,
-0x00060033,
-0xe004caae,
-0xe58db000,
-0xe3e03000,
-0x000a0000,
-0xe089100c,
-0xe58d3004,
-0xe1a0200d,
-0xea000000,
-0x00050001,
-0x00060034,
-0xe089100c,
-0xe089200b,
-0x0006000b,
-0xe5089000,
-0x000d8180,
-0xe1a00008,
-0xe58d6008,
-0xeb000000,
-0x00030002,
-0x00000000,
-0xe5189000,
-0x000d8180,
-0x00000000,
-0xe3500000,
-0xe18920da,
-0x0a000000,
-0x00050003,
-0xe5d6c000,
-0xe1c020f0,
-0xe496e004,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x0006000d,
-0xe2690000,
-0x000a0000,
-0xe5189000,
-0x000d8180,
-0xe3a0b018,
-0xe1c921f0,
-0xe509600c,
-0xe0806009,
-0xe5192008,
-0xea000000,
-0x00050026,
-0x00060035,
-0xe1a00008,
-0xe2466004,
-0xe1a0100a,
-0xe5089000,
-0x000d8180,
-0xe1a0200b,
-0xe58d6008,
-0xe20e30ff,
-0xeb000000,
-0x00030003,
-0x0006000d,
-0x00000000,
-0xe5189000,
-0x000d8180,
-0x00000000,
-0xe3500001,
-0x8a000000,
-0x00050036,
-0x0006000e,
-0xe1d6c0b2,
-0xe2866004,
-0xe086c10c,
-0x224c6b80,
-0x0006002c,
-0xe5d6c000,
-0xe496e004,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x00060037,
-0xe516e004,
-0xe1ca00d0,
-0xe00422ae,
-0xe18900f2,
-0xea000000,
-0x0005002c,
-0x00060038,
-0xe59a1004,
-0xe3e00000,
-0x000a0000,
-0xe1500001,
-0xea000000,
-0x0005000e,
-0x00060039,
-0xe59a1004,
-0xe3710000,
-0x000a0000,
-0xea000000,
-0x0005000e,
-0x0006003a,
-0xe2466004,
-0xe5089000,
-0x000d8180,
-0xe1a00008,
-0xe58d6008,
-0xeb000000,
-0x00030004,
-0xea000000,
-0x0005000d,
-0x0006003b,
-0x00000000,
-0xe2466004,
-0xe5089000,
-0x000d8180,
-0xe1a00008,
-0xe1a0100e,
-0xe58d6008,
-0xeb000000,
-0x00030005,
-0xea000000,
-0x0005000d,
-0x00000000,
-0x0006003c,
-0xe004caae,
-0xe004b6ae,
-0xe089200c,
-0xe085300b,
-0xea000000,
-0x00050001,
-0x0006003d,
-0xe004caae,
-0xe004b6ae,
-0xe089300c,
-0xe085200b,
-0xea000000,
-0x00050001,
-0x0006003e,
-0xe516e008,
-0xe2466004,
-0xe089200b,
-0xe089300b,
-0xea000000,
-0x00050001,
-0x0006003f,
-0xe004caae,
-0xe004b6ae,
-0xe089200c,
-0xe089300b,
-0x0006000b,
-0xe20ec0ff,
-0xe089100a,
-0xe5089000,
-0x000d8180,
-0xe1a00008,
-0xe58d6008,
-0xe58dc000,
-0xeb000000,
-0x00030006,
-0x00000000,
-0xe5189000,
-0x000d8180,
-0x00000000,
-0xe3500000,
-0x0a000000,
-0x0005002c,
-0x00060036,
-0xe0401009,
-0xe500600c,
-0xe2816000,
-0x000a0000,
-0xe1a09000,
-0xe3a0b010,
-0xea000000,
-0x00050024,
-0x00060040,
-0xe089100b,
-0xe5089000,
-0x000d8180,
-0xe1a00008,
-0xe58d6008,
-0xeb000000,
-0x00030007,
-0x00000000,
-0xe5189000,
-0x000d8180,
-0x00000000,
-0xe3500000,
-0x1a000000,
-0x00050036,
-0xe799000b,
-0xea000000,
-0x00050041,
-0x00000000,
-0xea000000,
-0x00050036,
-0x00000000,
-0x00060025,
-0xe1a00008,
-0xe508c000,
-0x000d8180,
-0xe2491008,
-0xe58d6008,
-0xe089200b,
-0x00000000,
-0xe1a0a009,
-0x00000000,
-0xeb000000,
-0x00030008,
-0x00000000,
-0xe1a0900a,
-0x00000000,
-0xe5192008,
-0xe28bb008,
-0xe5096004,
-0xe5126000,
-0x000d8180,
-0xe5d6c000,
-0xe496e004,
-0xe797c10c,
-0xe004a2ae,
-0xe08aa009,
-0xe12fff1c,
-0x00060042,
-0xe1a00008,
-0xe5089000,
-0x000d8180,
-0xe24a1008,
-0xe58d6008,
-0xe08a200b,
-0xeb000000,
-0x00030008,
-0x00000000,
-0xe5189000,
-0x000d8180,
-0x00000000,
-0xe51a2008,
-0xe5196004,
-0xe28bb008,
-0xea000000,
-0x00050043,
-0x00060044,
-0xe1a00008,
-0xe5089000,
-0x000d8180,
-0xe1a0100a,
-0xe58d6008,
-0xeb000000,
-0x00030009,
-0x00000000,
-0xe5189000,
-0x000d8180,
-0x00000000,
-0xe556c004,
-0x00000000,
-0xe516e004,
-0x00000000,
-0xe35c0000,
-0x000a0000,
-0x00000000,
-0xe004a2ae,
-0xe1a0b82e,
-0x00000000,
-0x0a000000,
-0x00070000,
-0x00000000,
-0xea000000,
-0x00070000,
-0x00060045,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x8a000000,
-0x00050046,
-0xe5196004,
-0xe14900f8,
-0xe1a0c009,
-0xe25ba008,
-0xe28bb008,
-0x0a000000,
-0x00050047,
-0x0006000b,
-0xe1cc00d8,
-0xe25aa008,
-0xe0cc00f8,
-0x1a000000,
-0x0005000b,
-0xea000000,
-0x00050047,
-0x00060048,
-0xe5991004,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x33e01000,
-0x000a0000,
-0xe2613000,
-0x000a0000,
-0xe1a03183,
-0xe18200d3,
-0xea000000,
-0x00050049,
-0x0006004a,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x13710000,
-0x000a0000,
-0x1a000000,
-0x00050006,
-0x0006000b,
-0xe510c000,
-0x000d8180,
-0x0006000c,
-0x00000000,
-0xe3e01000,
-0x000a0000,
-0xe517b000,
-0x000d8180,
-0xe35c0000,
-0x0a000000,
-0x00050049,
-0xe51c2000,
-0x000d8180,
-0xe51b3000,
-0x000d8180,
-0xe51ce000,
-0x000d8180,
-0xe0022003,
-0xe0822082,
-0xe08ee182,
-0x0006000d,
-0xe14e20d0,
-0x000c8100,
-0xe14e00d0,
-0x000c8100,
-0xe51ee000,
-0x000d8180,
-0xe3730000,
-0x000a0000,
-0x0152000b,
-0x0a000000,
-0x00050005,
-0xe35e0000,
-0x1a000000,
-0x0005000d,
-0x0006000e,
-0xe1a0000c,
-0xe3e01000,
-0x000a0000,
-0xea000000,
-0x00050049,
-0x0006000f,
-0xe3710000,
-0x000a0000,
-0x1a000000,
-0x00050049,
-0xea000000,
-0x0005000e,
-0x00060010,
-0xe3710000,
-0x000a0000,
-0x00000000,
-0x21e01001,
-0x33a01000,
-0x000a0000,
-0xe0873101,
-0xe513c000,
-0x000d8180,
-0xea000000,
-0x0005000c,
-0x0006004b,
-0xe1c900d0,
-0xe1c920d8,
-0xe35b0010,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x0510c000,
-0x000d8180,
-0x03730000,
-0x000a0000,
-0x05503000,
-0x000d8180,
-0x035c0000,
-0x1a000000,
-0x00050046,
-0xe3130000,
-0x000a0000,
-0xe5002000,
-0x000d8180,
-0x0a000000,
-0x00050049,
-0xe5172000,
-0x000d8180,
-0xe3c33000,
-0x000a0000,
-0xe5070000,
-0x000d8180,
-0xe5403000,
-0x000d8180,
-0xe5002000,
-0x000d8180,
-0xea000000,
-0x00050049,
-0x0006004c,
-0xe1c920d0,
-0xe35b0010,
-0x3a000000,
-0x00050046,
-0xe1a01002,
-0xe3730000,
-0x000a0000,
-0x00000000,
-0x1a000000,
-0x00050046,
-0xe1a00008,
-0xe2892008,
-0x00000000,
-0xe1a0a009,
-0x00000000,
-0xeb000000,
-0x0003000a,
-0x00000000,
-0xe1a0900a,
-0x00000000,
-0xe1c000d0,
-0xea000000,
-0x00050049,
-0x0006004d,
-0xe1c900d0,
-0xe35b0008,
-0x1a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x9a000000,
-0x00050049,
-0xea000000,
-0x00050046,
-0x0006004e,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x0a000000,
-0x00050049,
-0xe5173000,
-0x000d8180,
-0xe5089000,
-0x000d8180,
-0xe3710000,
-0x000a0000,
-0x93530000,
-0xe58d6008,
-0x8a000000,
-0x00050046,
-0xe5170000,
-0x000d8180,
-0xe5171000,
-0x000d8180,
-0xe1500001,
-0xab000000,
-0x0005004f,
-0xe1a00008,
-0xe1a01009,
-0xeb000000,
-0x0003000b,
-0xe5189000,
-0x000d8180,
-0xe3e01000,
-0x000a0000,
-0xea000000,
-0x00050049,
-0x00060050,
-0x00000000,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3e03000,
-0x000a0000,
-0xe3710000,
-0x000a0000,
-0x1a000000,
-0x00050046,
-0xe18920fb,
-0xe5196004,
-0xe1a01000,
-0xe5089000,
-0x000d8180,
-0xe1a00008,
-0xe5089000,
-0x000d8180,
-0xe2892008,
-0xe58d6008,
-0xeb000000,
-0x0003000c,
-0x00000000,
-0xe5189000,
-0x000d8180,
-0x00000000,
-0xe3500000,
-0x03e01000,
-0x000a0000,
-0x0a000000,
-0x00050049,
-0xe1c900d8,
-0xe1c921d0,
-0xe3a0b000,
-0x000a0000,
-0xe14900f8,
-0xe1c920f0,
-0xea000000,
-0x00050047,
-0x00060051,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x1a000000,
-0x00050046,
-0x00000000,
-0xe510c000,
-0x000d8180,
-0x00000000,
-0xe14220d0,
-0x000c8100,
-0xe5196004,
-0x00000000,
-0xe35c0000,
-0x1a000000,
-0x00050046,
-0x00000000,
-0xe3e01000,
-0x000a0000,
-0xe3a0b000,
-0x000a0000,
-0xe14920f8,
-0xe589100c,
-0xea000000,
-0x00050047,
-0x00060052,
-0xe1c900d0,
-0xe1c920d8,
-0xe35b0010,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x03730000,
-0x000a0000,
-0x1a000000,
-0x00050046,
-0xe510c000,
-0x000d8180,
-0xe510b000,
-0x000d8180,
-0xe2822001,
-0xe5196004,
-0xe152000c,
-0xe08bb182,
-0xe14920f8,
-0x31cb00d0,
-0xe3a0b000,
-0x000a0000,
-0x2a000000,
-0x00050002,
-0x0006000b,
-0xe3710000,
-0x000a0000,
-0x13a0b000,
-0x000a0000,
-0x11c900f0,
-0xea000000,
-0x00050047,
-0x0006000c,
-0xe510c000,
-0x000d8180,
-0xe1a01002,
-0xe35c0000,
-0x0a000000,
-0x00050047,
-0x00000000,
-0xe1a0a009,
-0x00000000,
-0xeb000000,
-0x0003000d,
-0x00000000,
-0xe1a0900a,
-0x00000000,
-0xe3500000,
-0x0a000000,
-0x00050047,
-0xe1c000d0,
-0xea000000,
-0x0005000b,
-0x00060053,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x1a000000,
-0x00050046,
-0x00000000,
-0xe510c000,
-0x000d8180,
-0x00000000,
-0xe14220d0,
-0x000c8100,
-0xe5196004,
-0x00000000,
-0xe35c0000,
-0x1a000000,
-0x00050046,
-0x00000000,
-0xe3a00000,
-0xe3e01000,
-0x000a0000,
-0xe3a0b000,
-0x000a0000,
-0xe14920f8,
-0xe1c900f8,
-0xea000000,
-0x00050047,
-0x00060054,
-0xe557a000,
-0x000d8180,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe31a0000,
-0x000a0000,
-0xe1a0c009,
-0xe2899008,
-0x03a06000,
-0x000a0000,
-0x13a06000,
-0x000a0000,
-0xe24bb008,
-0xea000000,
-0x00050024,
-0x00060055,
-0xe1c900d0,
-0xe1c920d8,
-0xe35b0010,
-0x3a000000,
-0x00050046,
-0xe557a000,
-0x000d8180,
-0xe3730000,
-0x000a0000,
-0x1a000000,
-0x00050046,
-0xe1a0c009,
-0xe1c900f8,
-0xe1c920f0,
-0xe31a0000,
-0x000a0000,
-0xe2899010,
-0x03a06000,
-0x000a0000,
-0x13a06000,
-0x000a0000,
-0xe24bb010,
-0xea000000,
-0x00050024,
-0x00060056,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x00000000,
-0x1a000000,
-0x00050046,
-0xe5196004,
-0xe5089000,
-0x000d8180,
-0xe5101000,
-0x000d8180,
-0xe550a000,
-0x000d8180,
-0xe510c000,
-0x000d8180,
-0xe081200b,
-0xe081300a,
-0xe58d6008,
-0xe153000c,
-0x0a000000,
-0x00050046,
-0xe5103000,
-0x000d8180,
-0xe510c000,
-0x000d8180,
-0xe35a0000,
-0x000a0000,
-0x91520003,
-0x935c0000,
-0x8a000000,
-0x00050046,
-0x0006000b,
-0xe2422008,
-0xe2899008,
-0xe24bb008,
-0xe5002000,
-0x000d8180,
-0xe5089000,
-0x000d8180,
-0x0006000c,
-0xe18920dc,
-0xe15c000b,
-0x118120fc,
-0xe28cc008,
-0x1a000000,
-0x0005000c,
-0xe3a02000,
-0xe1a0a000,
-0xe3a03000,
-0xeb000000,
-0x00050021,
-0x0006000e,
-0xe51a2000,
-0x000d8180,
-0xe3e01000,
-0x000a0000,
-0xe51a3000,
-0x000d8180,
-0xe5071000,
-0x000d8180,
-0xe3500000,
-0x000a0000,
-0x00000000,
-0xe5189000,
-0x000d8180,
-0x8a000000,
-0x00050008,
-0xe053b002,
-0xe5180000,
-0x000d8180,
-0xe089100b,
-0x0a000000,
-0x00050006,
-0xe1510000,
-0xe3a0c000,
-0x8a000000,
-0x00050009,
-0xe24b3008,
-0xe50a2000,
-0x000d8180,
-0x0006000f,
-0xe18200dc,
-0xe15c0003,
-0xe18900fc,
-0xe28cc008,
-0x1a000000,
-0x0005000f,
-0x00060010,
-0xe3e02000,
-0x000a0000,
-0xe28bb010,
-0x00060011,
-0xe5092004,
-0xe249a008,
-0xe2160000,
-0x000a0000,
-0xe58d6008,
-0xe58db004,
-0x0a000000,
-0x00050017,
-0xea000000,
-0x00050018,
-0x00060012,
-0xe16300d8,
-0xe3e02000,
-0x000a0000,
-0xe3a0b000,
-0x000a0000,
-0xe50a3000,
-0x000d8180,
-0xe1c900f0,
-0xea000000,
-0x00050011,
-0x00060013,
-0xe1a00008,
-0xe1a011ab,
-0xeb000000,
-0x00030000,
-0xe3a00000,
-0xea000000,
-0x0005000e,
-0x00060057,
-0x00000000,
-0xe5120000,
-0x000d8180,
-0xe5196004,
-0xe5089000,
-0x000d8180,
-0xe5101000,
-0x000d8180,
-0xe550a000,
-0x000d8180,
-0xe510c000,
-0x000d8180,
-0xe081200b,
-0xe081300a,
-0xe58d6008,
-0xe153000c,
-0x0a000000,
-0x00050046,
-0xe5103000,
-0x000d8180,
-0xe510c000,
-0x000d8180,
-0xe35a0000,
-0x000a0000,
-0x91520003,
-0x935c0000,
-0x8a000000,
-0x00050046,
-0x0006000b,
-0xe5002000,
-0x000d8180,
-0xe5089000,
-0x000d8180,
-0x0006000c,
-0xe18920dc,
-0xe15c000b,
-0x118120fc,
-0xe28cc008,
-0x1a000000,
-0x0005000c,
-0xe3a02000,
-0xe1a0a000,
-0xe3a03000,
-0xeb000000,
-0x00050021,
-0x0006000e,
-0xe51a2000,
-0x000d8180,
-0xe3e01000,
-0x000a0000,
-0xe51a3000,
-0x000d8180,
-0xe5071000,
-0x000d8180,
-0xe3500000,
-0x000a0000,
-0x00000000,
-0xe5189000,
-0x000d8180,
-0x8a000000,
-0x00050008,
-0xe053b002,
-0xe5180000,
-0x000d8180,
-0xe089100b,
-0x0a000000,
-0x00050006,
-0xe1510000,
-0xe3a0c000,
-0x8a000000,
-0x00050009,
-0xe24b3008,
-0xe50a2000,
-0x000d8180,
-0x0006000f,
-0xe18200dc,
-0xe15c0003,
-0xe18900fc,
-0xe28cc008,
-0x1a000000,
-0x0005000f,
-0x00060010,
-0xe1a0a009,
-0xe28bb008,
-0xe2160000,
-0x000a0000,
-0xe58d6008,
-0xe58db004,
-0x0a000000,
-0x00050017,
-0xea000000,
-0x00050018,
-0x00060012,
-0xe1a00008,
-0xe1a0100a,
-0xeb000000,
-0x0003000e,
-0x00060013,
-0xe1a00008,
-0xe1a011ab,
-0xeb000000,
-0x00030000,
-0xe3a00000,
-0xea000000,
-0x0005000e,
-0x00060058,
-0xe5180000,
-0x000d8180,
-0xe089100b,
-0xe5089000,
-0x000d8180,
-0xe3100000,
-0x000a0000,
-0xe5081000,
-0x000d8180,
-0x00000000,
-0xe3a00000,
-0x000a0000,
-0xe3a02000,
-0x0a000000,
-0x00050046,
-0xe5082000,
-0x000d8180,
-0xe5480000,
-0x000d8180,
-0xea000000,
-0x0005001a,
-0x00060059,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x0a000000,
-0x00050049,
-0x8a000000,
-0x00050046,
-0xe1a02081,
-0xe292c980,
-0x5a000000,
-0x00050002,
-0xe3e03ff8,
-0xe053cacc,
-0xe1a03581,
-0xe1a02580,
-0xe3833480,
-0xe26ce020,
-0xe1833aa0,
-0x9a000000,
-0x00050003,
-0xe1822e13,
-0xe1a00c33,
-0xe1120fc1,
-0x12800001,
-0xe3510000,
-0xb2600000,
-0x0006000b,
-0xe3e01000,
-0x000a0000,
-0xea000000,
-0x00050049,
-0x0006000c,
-0x2a000000,
-0x00050049,
-0xe1822000,
-0xe1120fc1,
-0x03a00000,
-0x13e00000,
-0xe3e01000,
-0x000a0000,
-0xea000000,
-0x00050049,
-0x0006000d,
-0x03530480,
-0x03520000,
-0x1a000000,
-0x00050004,
-0xe3510000,
-0x43a00480,
-0x4a000000,
-0x0005000b,
-0x0006000e,
-0x00000000,
-0xeb000000,
-0x0005005a,
-0xea000000,
-0x00050049,
-0x0006005b,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x0a000000,
-0x00050049,
-0x8a000000,
-0x00050046,
-0xe1a02081,
-0xe292c980,
-0x5a000000,
-0x00050002,
-0xe3e03ff8,
-0xe053cacc,
-0xe1a03581,
-0xe1a02580,
-0xe3833480,
-0xe26ce020,
-0xe1833aa0,
-0x9a000000,
-0x00050003,
-0xe1822e13,
-0xe1a00c33,
-0xe1d22fc1,
-0x12900001,
-0x614f00d0,
-0x00051809,
-0x6a000000,
-0x00050049,
-0xe3510000,
-0xb2600000,
-0x0006000b,
-0xe3e01000,
-0x000a0000,
-0xea000000,
-0x00050049,
-0x0006000c,
-0x2a000000,
-0x00050049,
-0xe1822000,
-0xe1d22fc1,
-0x03a00000,
-0x13a00001,
-0xe3e01000,
-0x000a0000,
-0xea000000,
-0x00050049,
-0x0006000d,
-0x03530480,
-0x1a000000,
-0x00050004,
-0xe3510000,
-0x43a00480,
-0x4a000000,
-0x0005000b,
-0x0006000e,
-0x00000000,
-0xeb000000,
-0x0005005c,
-0xea000000,
-0x00050049,
-0x00040007,
-0x00060013,
-0x00020000,
-0x00000000,
-0x41e00000,
-0x0006005d,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x8a000000,
-0x00050046,
-0x13c11480,
-0x1a000000,
-0x00050049,
-0xe3500000,
-0xb2700000,
-0x614f00d0,
-0x00051813,
-0x00060049,
-0xe5196004,
-0xe14900f8,
-0x0006005e,
-0xe3a0b000,
-0x000a0000,
-0x00060047,
-0xe2160000,
-0x000a0000,
-0x0516e004,
-0xe58db004,
-0xe249a008,
-0x1a000000,
-0x00050018,
-0xe004caae,
-0x0006000f,
-0xe15c000b,
-0x8a000000,
-0x00050006,
-0xe00402ae,
-0xe5d6c000,
-0xe496e004,
-0xe04a9000,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x00060010,
-0xe08a100b,
-0xe3e00000,
-0x000a0000,
-0xe28bb008,
-0xe5010004,
-0xea000000,
-0x0005000f,
-0x0006005f,
-0x00000000,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x2a000000,
-0x00050046,
-0x00000000,
-0xe1a0a009,
-0x00000000,
-0xeb000000,
-0x0003000f,
-0x00000000,
-0xe1a0900a,
-0x00000000,
-0xea000000,
-0x00050049,
-0x00060060,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x2a000000,
-0x00050046,
-0x00000000,
-0xe1a0a009,
-0x00000000,
-0xeb000000,
-0x00030010,
-0x00000000,
-0xe1a0900a,
-0x00000000,
-0xea000000,
-0x00050049,
-0x00060061,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x2a000000,
-0x00050046,
-0x00000000,
-0xe1a0a009,
-0x00000000,
-0xeb000000,
-0x00030011,
-0x00000000,
-0xe1a0900a,
-0x00000000,
-0xea000000,
-0x00050049,
-0x00060062,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x2a000000,
-0x00050046,
-0x00000000,
-0xe1a0a009,
-0x00000000,
-0xeb000000,
-0x00030012,
-0x00000000,
-0xe1a0900a,
-0x00000000,
-0xea000000,
-0x00050049,
-0x00060063,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x2a000000,
-0x00050046,
-0x00000000,
-0xe1a0a009,
-0x00000000,
-0xeb000000,
-0x00030013,
-0x00000000,
-0xe1a0900a,
-0x00000000,
-0xea000000,
-0x00050049,
-0x00060064,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x2a000000,
-0x00050046,
-0x00000000,
-0xe1a0a009,
-0x00000000,
-0xeb000000,
-0x00030014,
-0x00000000,
-0xe1a0900a,
-0x00000000,
-0xea000000,
-0x00050049,
-0x00060065,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x2a000000,
-0x00050046,
-0x00000000,
-0xe1a0a009,
-0x00000000,
-0xeb000000,
-0x00030015,
-0x00000000,
-0xe1a0900a,
-0x00000000,
-0xea000000,
-0x00050049,
-0x00060066,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x2a000000,
-0x00050046,
-0x00000000,
-0xe1a0a009,
-0x00000000,
-0xeb000000,
-0x00030016,
-0x00000000,
-0xe1a0900a,
-0x00000000,
-0xea000000,
-0x00050049,
-0x00060067,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x2a000000,
-0x00050046,
-0x00000000,
-0xe1a0a009,
-0x00000000,
-0xeb000000,
-0x00030017,
-0x00000000,
-0xe1a0900a,
-0x00000000,
-0xea000000,
-0x00050049,
-0x00060068,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x2a000000,
-0x00050046,
-0x00000000,
-0xe1a0a009,
-0x00000000,
-0xeb000000,
-0x00030018,
-0x00000000,
-0xe1a0900a,
-0x00000000,
-0xea000000,
-0x00050049,
-0x00060069,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x2a000000,
-0x00050046,
-0x00000000,
-0xe1a0a009,
-0x00000000,
-0xeb000000,
-0x00030019,
-0x00000000,
-0xe1a0900a,
-0x00000000,
-0xea000000,
-0x00050049,
-0x0006006a,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x2a000000,
-0x00050046,
-0x00000000,
-0xe1a0a009,
-0x00000000,
-0xeb000000,
-0x0003001a,
-0x00000000,
-0xe1a0900a,
-0x00000000,
-0xea000000,
-0x00050049,
-0x0006006b,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x2a000000,
-0x00050046,
-0x00000000,
-0xe1a0a009,
-0x00000000,
-0xeb000000,
-0x0003001b,
-0x00000000,
-0xe1a0900a,
-0x00000000,
-0xea000000,
-0x00050049,
-0x0006006c,
-0xe1c900d0,
-0xe1c920d8,
-0xe35b0010,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x33730000,
-0x000a0000,
-0x2a000000,
-0x00050046,
-0x00000000,
-0xe1a0a009,
-0x00000000,
-0xeb000000,
-0x0003001c,
-0x00000000,
-0xe1a0900a,
-0x00000000,
-0xea000000,
-0x00050049,
-0x0006006d,
-0xe1c900d0,
-0xe1c920d8,
-0xe35b0010,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x33730000,
-0x000a0000,
-0x2a000000,
-0x00050046,
-0x00000000,
-0xe1a0a009,
-0x00000000,
-0xeb000000,
-0x0003001d,
-0x00000000,
-0xe1a0900a,
-0x00000000,
-0xea000000,
-0x00050049,
-0x0006006e,
-0xe1c900d0,
-0xe1c920d8,
-0xe35b0010,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x33730000,
-0x000a0000,
-0x2a000000,
-0x00050046,
-0x00000000,
-0xe1a0a009,
-0x00000000,
-0xeb000000,
-0x0003001e,
-0x00000000,
-0xe1a0900a,
-0x00000000,
-0xea000000,
-0x00050049,
-0x0006006f,
-0x00060070,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x2a000000,
-0x00050046,
-0xe14220d0,
-0x000c8100,
-0xeb000000,
-0x0003001f,
-0xea000000,
-0x00050049,
-0x00060071,
-0xe1c900d0,
-0xe1c920d8,
-0xe35b0010,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x2a000000,
-0x00050046,
-0xe3730000,
-0x000a0000,
-0x1a000000,
-0x00050046,
-0x00000000,
-0xe1a0a009,
-0x00000000,
-0xeb000000,
-0x00030020,
-0x00000000,
-0xe1a0900a,
-0x00000000,
-0xea000000,
-0x00050049,
-0x00060072,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x2a000000,
-0x00050046,
-0xe1a0200d,
-0x00000000,
-0xe1a0a009,
-0x00000000,
-0xeb000000,
-0x00030021,
-0x00000000,
-0xe1a0900a,
-0x00000000,
-0xe59d2000,
-0xe3e03000,
-0x000a0000,
-0xe5196004,
-0xe14900f8,
-0xe3a0b000,
-0x000a0000,
-0xe1c920f0,
-0xea000000,
-0x00050047,
-0x00060073,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x2a000000,
-0x00050046,
-0xe2492008,
-0xe5196004,
-0x00000000,
-0xe1a0a009,
-0x00000000,
-0xeb000000,
-0x00030022,
-0x00000000,
-0xe1a0900a,
-0x00000000,
-0xe3a0b000,
-0x000a0000,
-0xe1c900f0,
-0xea000000,
-0x00050047,
-0x00060074,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0xe3a0a008,
-0x1a000000,
-0x00050004,
-0x0006000b,
-0xe18920da,
-0xe15a000b,
-0x2a000000,
-0x00050049,
-0xe3730000,
-0x000a0000,
-0x1a000000,
-0x00050003,
-0xe1500002,
-0xe28aa008,
-0xc1a00002,
-0xea000000,
-0x0005000b,
-0x0006000d,
-0x8a000000,
-0x00050046,
-0xeb000000,
-0x00030023,
-0xe18920da,
-0xea000000,
-0x00050006,
-0x0006000e,
-0x8a000000,
-0x00050046,
-0x0006000f,
-0xe18920da,
-0xe15a000b,
-0x2a000000,
-0x00050049,
-0xe3730000,
-0x000a0000,
-0x2a000000,
-0x00050007,
-0x00060010,
-0x00000000,
-0xeb000000,
-0x00030024,
-0xe28aa008,
-0x81a00002,
-0x81a01003,
-0xea000000,
-0x0005000f,
-0x00060011,
-0x8a000000,
-0x00050046,
-0xe1cd00f0,
-0xe1a00002,
-0xeb000000,
-0x00030023,
-0xe1cd20d0,
-0xea000000,
-0x00050010,
-0x00060075,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0xe3a0a008,
-0x1a000000,
-0x00050004,
-0x0006000b,
-0xe18920da,
-0xe15a000b,
-0x2a000000,
-0x00050049,
-0xe3730000,
-0x000a0000,
-0x1a000000,
-0x00050003,
-0xe1500002,
-0xe28aa008,
-0xb1a00002,
-0xea000000,
-0x0005000b,
-0x0006000d,
-0x8a000000,
-0x00050046,
-0xeb000000,
-0x00030023,
-0xe18920da,
-0xea000000,
-0x00050006,
-0x0006000e,
-0x8a000000,
-0x00050046,
-0x0006000f,
-0x00000000,
-0xe18920da,
-0xe15a000b,
-0x2a000000,
-0x00050049,
-0xe3730000,
-0x000a0000,
-0x2a000000,
-0x00050007,
-0x00060010,
-0xeb000000,
-0x00030024,
-0xe28aa008,
-0x31a00002,
-0x31a01003,
-0xea000000,
-0x0005000f,
-0x00060011,
-0x8a000000,
-0x00050046,
-0xe1cd00f0,
-0xe1a00002,
-0xeb000000,
-0x00030023,
-0xe1cd20d0,
-0xea000000,
-0x00050010,
-0x00060076,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x1a000000,
-0x00050046,
-0xe5100000,
-0x000d8180,
-0xe3e01000,
-0x000a0000,
-0xea000000,
-0x00050049,
-0x00060077,
-0xe1c900d0,
-0xe5196004,
-0xe35b0008,
-0x03710000,
-0x000a0000,
-0x1a000000,
-0x00050046,
-0xe5102000,
-0x000d8180,
-0xe5500000,
-0x000d8180,
-0x00000000,
-0xe3e01000,
-0x000a0000,
-0xe3520000,
-0x03a0b000,
-0x000a0000,
-0x13a0b000,
-0x000a0000,
-0xe14900f8,
-0xea000000,
-0x00050047,
-0x00060078,
-0xe5170000,
-0x000d8180,
-0xe5171000,
-0x000d8180,
-0xe1500001,
-0xab000000,
-0x0005004f,
-0xe1c900d0,
-0xe5196004,
-0xe35b0008,
-0x03710000,
-0x000a0000,
-0x03d030ff,
-0xe3a02001,
-0x1a000000,
-0x00050046,
-0xe58d0000,
-0xe1a0100d,
-0x00060079,
-0xe5089000,
-0x000d8180,
-0xe1a00008,
-0xe58d6008,
-0xeb000000,
-0x00030025,
-0xe5189000,
-0x000d8180,
-0xe3e01000,
-0x000a0000,
-0xea000000,
-0x00050049,
-0x0006007a,
-0xe5170000,
-0x000d8180,
-0xe5171000,
-0x000d8180,
-0xe1500001,
-0xab000000,
-0x0005004f,
-0xe1c900d0,
-0xe1c921d0,
-0xe35b0010,
-0xe3e0c000,
-0x0a000000,
-0x00050001,
-0x3a000000,
-0x00050046,
-0x00000000,
-0xe3730000,
-0x000a0000,
-0xe1a0c002,
-0x1a000000,
-0x00050046,
-0x0006000b,
-0xe1c920d8,
-0xe3710000,
-0x000a0000,
-0x05101000,
-0x000d8180,
-0x03730000,
-0x000a0000,
-0x1a000000,
-0x00050046,
-0xe2813001,
-0xe3520000,
-0xb0822003,
-0xe3520001,
-0xb3a02001,
-0xe35c0000,
-0xb08cc003,
-0xe1cccfcc,
-0xe15c0001,
-0xe2800000,
-0x000a0000,
-0xc1a0c001,
-0xe0801002,
-0xe05c2002,
-0xe2822001,
-0xaa000000,
-0x00050079,
-0x0006007b,
-0xe2470000,
-0x000a0000,
-0xe3e01000,
-0x000a0000,
-0xea000000,
-0x00050049,
-0x0006007c,
-0xe5170000,
-0x000d8180,
-0xe5171000,
-0x000d8180,
-0xe1500001,
-0xab000000,
-0x0005004f,
-0xe1c900d0,
-0xe1c920d8,
-0xe35b0010,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x03730000,
-0x000a0000,
-0x1a000000,
-0x00050046,
-0xe2523001,
-0xe5101000,
-0x000d8180,
-0x00000000,
-0xba000000,
-0x0005007b,
-0xe3510001,
-0x3a000000,
-0x0005007b,
-0x1a000000,
-0x00050046,
-0xe517c000,
-0x000d8180,
-0xe5171000,
-0x000d8180,
-0xe5100000,
-0x000d8180,
-0xe15c0002,
-0x3a000000,
-0x00050046,
-0x0006000b,
-0xe7c10003,
-0xe2533001,
-0xaa000000,
-0x0005000b,
-0xea000000,
-0x00050079,
-0x0006007d,
-0xe5170000,
-0x000d8180,
-0xe5171000,
-0x000d8180,
-0xe1500001,
-0xab000000,
-0x0005004f,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x1a000000,
-0x00050046,
-0xe5102000,
-0x000d8180,
-0xe517c000,
-0x000d8180,
-0xe5171000,
-0x000d8180,
-0xe1a03002,
-0xe2800000,
-0x000a0000,
-0xe15c0002,
-0x3a000000,
-0x00050046,
-0x0006000b,
-0x00000000,
-0xe4d0c001,
-0xe2533001,
-0xba000000,
-0x00050079,
-0xe7c1c003,
-0xea000000,
-0x0005000b,
-0x0006007e,
-0xe5170000,
-0x000d8180,
-0xe5171000,
-0x000d8180,
-0xe1500001,
-0xab000000,
-0x0005004f,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x1a000000,
-0x00050046,
-0xe5102000,
-0x000d8180,
-0xe517c000,
-0x000d8180,
-0xe5171000,
-0x000d8180,
-0xe3a03000,
-0xe2800000,
-0x000a0000,
-0xe15c0002,
-0x3a000000,
-0x00050046,
-0x0006000b,
-0xe7d0c003,
-0xe1530002,
-0x2a000000,
-0x00050079,
-0xe24cb041,
-0xe35b001a,
-0x322cc020,
-0xe7c1c003,
-0xe2833001,
-0xea000000,
-0x0005000b,
-0x0006007f,
-0xe5170000,
-0x000d8180,
-0xe5171000,
-0x000d8180,
-0xe1500001,
-0xab000000,
-0x0005004f,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0x00000000,
-0xe3710000,
-0x000a0000,
-0x1a000000,
-0x00050046,
-0xe5102000,
-0x000d8180,
-0xe517c000,
-0x000d8180,
-0xe5171000,
-0x000d8180,
-0xe3a03000,
-0xe2800000,
-0x000a0000,
-0xe15c0002,
-0x3a000000,
-0x00050046,
-0x0006000b,
-0xe7d0c003,
-0xe1530002,
-0x2a000000,
-0x00050079,
-0xe24cb061,
-0xe35b001a,
-0x322cc020,
-0xe7c1c003,
-0xe2833001,
-0xea000000,
-0x0005000b,
-0x00060080,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x1a000000,
-0x00050046,
-0x00000000,
-0xe1a0a009,
-0x00000000,
-0xeb000000,
-0x00030026,
-0x00000000,
-0xe1a0900a,
-0x00000000,
-0xe3e01000,
-0x000a0000,
-0xea000000,
-0x00050049,
-0x00060081,
-0x8a000000,
-0x00050046,
-0x00060082,
-0xe1a0c081,
-0xe29cc980,
-0x53a00000,
-0x512fff1e,
-0xe3e03ff8,
-0xe053cacc,
-0x4a000000,
-0x00050001,
-0xe1a03581,
-0xe3833480,
-0xe1833aa0,
-0xe3510000,
-0xe1a00c33,
-0xb2600000,
-0xe12fff1e,
-0x0006000b,
-0xe28cc015,
-0xe1a03c30,
-0xe26cc014,
-0xe1a00601,
-0xe3510000,
-0xe1830c10,
-0xb2600000,
-0xe12fff1e,
-0x00060083,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x1b000000,
-0x00050081,
-0xe3e01000,
-0x000a0000,
-0xea000000,
-0x00050049,
-0x00060084,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x1b000000,
-0x00050081,
-0xe1a02000,
-0xe3a0a008,
-0x0006000b,
-0xe18900da,
-0xe15a000b,
-0xe28aa008,
-0xaa000000,
-0x00050002,
-0xe3710000,
-0x000a0000,
-0x1b000000,
-0x00050081,
-0xe0022000,
-0xea000000,
-0x0005000b,
-0x00060085,
-0x00000000,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x1b000000,
-0x00050081,
-0xe1a02000,
-0xe3a0a008,
-0x0006000b,
-0xe18900da,
-0xe15a000b,
-0xe28aa008,
-0xaa000000,
-0x00050002,
-0xe3710000,
-0x000a0000,
-0x1b000000,
-0x00050081,
-0xe1822000,
-0xea000000,
-0x0005000b,
-0x00060086,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x1b000000,
-0x00050081,
-0xe1a02000,
-0xe3a0a008,
-0x0006000b,
-0xe18900da,
-0xe15a000b,
-0xe28aa008,
-0xaa000000,
-0x00050002,
-0xe3710000,
-0x000a0000,
-0x1b000000,
-0x00050081,
-0xe0222000,
-0xea000000,
-0x0005000b,
-0x0006000c,
-0xe3e03000,
-0x000a0000,
-0xe5196004,
-0xe14920f8,
-0xea000000,
-0x0005005e,
-0x00060087,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0x00000000,
-0xe3710000,
-0x000a0000,
-0x1b000000,
-0x00050081,
-0xe0202860,
-0xe3c228ff,
-0xe1a00460,
-0xe3e01000,
-0x000a0000,
-0xe0200422,
-0xea000000,
-0x00050049,
-0x00060088,
-0xe1c900d0,
-0xe35b0008,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x1b000000,
-0x00050081,
-0xe1e00000,
-0xe3e01000,
-0x000a0000,
-0xea000000,
-0x00050049,
-0x00060089,
-0xe1c900d8,
-0xe35b0010,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x1b000000,
-0x00050081,
-0xe200a01f,
-0xe1c900d0,
-0xe3710000,
-0x000a0000,
-0x1b000000,
-0x00050081,
-0xe1a00a10,
-0xe3e01000,
-0x000a0000,
-0xea000000,
-0x00050049,
-0x0006008a,
-0xe1c900d8,
-0xe35b0010,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x1b000000,
-0x00050081,
-0x00000000,
-0xe200a01f,
-0xe1c900d0,
-0xe3710000,
-0x000a0000,
-0x1b000000,
-0x00050081,
-0xe1a00a30,
-0xe3e01000,
-0x000a0000,
-0xea000000,
-0x00050049,
-0x0006008b,
-0xe1c900d8,
-0xe35b0010,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x1b000000,
-0x00050081,
-0xe200a01f,
-0xe1c900d0,
-0xe3710000,
-0x000a0000,
-0x1b000000,
-0x00050081,
-0xe1a00a50,
-0xe3e01000,
-0x000a0000,
-0xea000000,
-0x00050049,
-0x0006008c,
-0xe1c900d8,
-0xe35b0010,
-0x3a000000,
-0x00050046,
-0xe3710000,
-0x000a0000,
-0x1b000000,
-0x00050081,
-0xe260a000,
-0xe1c900d0,
-0xe3710000,
-0x000a0000,
-0x1b000000,
-0x00050081,
-0xe1a00a70,
-0xe3e01000,
-0x000a0000,
-0xea000000,
-0x00050049,
-0x0006008d,
-0xe1c900d8,
-0xe35b0010,
-0x3a000000,
-0x00050046,
-0x00000000,
-0xe3710000,
-0x000a0000,
-0x1b000000,
-0x00050081,
-0xe200a01f,
-0xe1c900d0,
-0xe3710000,
-0x000a0000,
-0x1b000000,
-0x00050081,
-0xe1a00a70,
-0xe3e01000,
-0x000a0000,
-0xea000000,
-0x00050049,
-0x00060046,
-0xe5192008,
-0xe5181000,
-0x000d8180,
-0xe089000b,
-0xe5196004,
-0xe5080000,
-0x000d8180,
-0xe5122000,
-0x000d8180,
-0xe5089000,
-0x000d8180,
-0xe2800000,
-0x000a0000,
-0xe58d6008,
-0xe1500001,
-0xe1a00008,
-0x8a000000,
-0x00050005,
-0xe12fff32,
-0xe5189000,
-0x000d8180,
-0xe3500000,
-0xe1a0b180,
-0xe249a008,
-0xca000000,
-0x00050047,
-0x0006000b,
-0xe5180000,
-0x000d8180,
-0xe5192008,
-0xe040b009,
-0x1a000000,
-0x00050029,
-0xe5126000,
-0x000d8180,
-0xe5d6c000,
-0xe496e004,
-0xe797c10c,
-0xe004a2ae,
-0xe08aa009,
-0xe12fff1c,
-0x00060029,
-0xe2160000,
-0x000a0000,
-0xe3c61000,
-0x000a0000,
-0x00000000,
-0x0516e004,
-0x00020000,
-0x000412ae,
-0x02811008,
-0xe049c001,
-0xea000000,
-0x00050024,
-0x0006000f,
-0xe3a01000,
-0x000a0000,
-0xeb000000,
-0x00030000,
-0xe5189000,
-0x000d8180,
-0xe1500000,
-0xea000000,
-0x0005000b,
-0x0006004f,
-0xe1a0a00e,
-0xe5089000,
-0x000d8180,
-0xe089100b,
-0xe58d6008,
-0xe5081000,
-0x000d8180,
-0xe1a00008,
-0xeb000000,
-0x00030027,
-0xe5189000,
-0x000d8180,
-0xe1a0e00a,
-0xe5192008,
-0xe12fff1e,
-0x0006008e,
-0x00000000,
-0xe5570000,
-0x000d8180,
-0xe3100000,
-0x000a0000,
-0x1a000000,
-0x00050005,
-0xe5171000,
-0x000d8180,
-0xe3100000,
-0x000a0000,
-0x1a000000,
-0x00050001,
-0xe2411001,
-0xe3100000,
-0x000a0000,
-0x15071000,
-0x000d8180,
-0xea000000,
-0x00050001,
-0x00000000,
-0x0006008f,
-0xe5570000,
-0x000d8180,
-0xe3100000,
-0x000a0000,
-0x0a000000,
-0x00050001,
-0x0006000f,
-0xe20ec0ff,
-0xe087c10c,
-0xe51cf000,
-0x000d8180,
-0x00060090,
-0xe5570000,
-0x000d8180,
-0xe5171000,
-0x000d8180,
-0xe3100000,
-0x000a0000,
-0x1a000000,
-0x0005000f,
-0xe3100000,
-0x000a0000,
-0x0a000000,
-0x0005000f,
-0xe2511001,
-0xe5071000,
-0x000d8180,
-0x0a000000,
-0x00050001,
-0xe3100000,
-0x000a0000,
-0x0a000000,
-0x0005000f,
-0x0006000b,
-0xe1a00008,
-0xe5089000,
-0x000d8180,
-0xe1a01006,
-0xeb000000,
-0x00030028,
-0x0006000d,
-0xe5189000,
-0x000d8180,
-0x0006000e,
-0x00000000,
-0xe556c004,
-0xe516e004,
-0xe087c10c,
-0xe51cc000,
-0x000d8180,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x00060091,
-0xe5130018,
-0xe2866004,
-0xe58d0004,
-0xea000000,
-0x0005000e,
-0x00060092,
-0x00000000,
-0xe5192008,
-0xe2470000,
-0x000a0000,
-0xe58d6008,
-0xe5122000,
-0x000d8180,
-0xe1a01006,
-0xe5078000,
-0x000d8180,
-0xe5522000,
-0x000d8180,
-0xe5089000,
-0x000d8180,
-0xe0892182,
-0xe5082000,
-0x000d8180,
-0xeb000000,
-0x00030029,
-0xea000000,
-0x0005000d,
-0x00000000,
-0x00060093,
-0xe1a01006,
-0x00000000,
-0xea000000,
-0x00050001,
-0x00000000,
-0x00060094,
-0x00000000,
-0xe3861001,
-0x0006000b,
-0x00000000,
-0xe089300b,
-0xe58d6008,
-0xe1a00008,
-0xe5089000,
-0x000d8180,
-0xe04aa009,
-0xe5083000,
-0x000d8180,
-0xeb000000,
-0x0003002a,
-0xe5189000,
-0x000d8180,
-0xe5183000,
-0x000d8180,
-0xe3a01000,
-0xe089a00a,
-0xe043b009,
-0xe58d1008,
-0xe5192008,
-0xe516e004,
-0xe12fff10,
-0x00060095,
-0x00000000,
-0xe24dd00c,
-0xe92d1fff,
-0xe59d0040,
-0xe59e7000,
-0xe28d2040,
-0xe3e03000,
-0x000a0000,
-0xe58d2034,
-0xe5073000,
-0x000d8180,
-0xe5301004,
-0xe58d0038,
-0xe58d003c,
-0xe1a01401,
-0xe0800341,
-0xe59e1004,
-0xe040000e,
-0xe5178000,
-0x000d8180,
-0xe0810120,
-0xe5179000,
-0x000d8180,
-0xe5070000,
-0x000d8180,
-0xe3a03000,
-0xe5078000,
-0x000d8180,
-0xe5089000,
-0x000d8180,
-0xe5073000,
-0x000d8180,
-0xe2470000,
-0x000a0000,
-0xe1a0100d,
-0xeb000000,
-0x0003002b,
-0xe5181000,
-0x000d8180,
-0xe5189000,
-0x000d8180,
-0xe3c11000,
-0x000a0000,
-0xe1a0d001,
-0xe59d6008,
-0xe58d800c,
-0xea000000,
-0x00050001,
-0x00000000,
-0x00060096,
-0x00000000,
-0xe59d800c,
-0x0006000b,
-0xe3500000,
-0xba000000,
-0x00050003,
-0xe1a0b180,
-0xe5191008,
-0xe58db004,
-0xe3a02000,
-0xe5111000,
-0x000d8180,
-0xe5072000,
-0x000d8180,
-0xe3e03000,
-0x000a0000,
-0xe5115000,
-0x000d8180,
-0xe5d6c000,
-0xe3a040ff,
-0xe496e004,
-0xe1a04184,
-0xe5073000,
-0x000d8180,
-0xe35c0000,
-0x000a0000,
-0xe797c10c,
-0xe004a2ae,
-0x31a0b82e,
-0x224bb008,
-0x208aa009,
-0xe12fff1c,
-0x0006000d,
-0xe2601000,
-0xe1a00008,
-0xeb000000,
-0x0003002c,
-0x00000000,
-0x00060013,
-0x3ff00000,
-0x0006005a,
-0xe1a02081,
-0xe292c980,
-0x5a000000,
-0x00050002,
-0xe3e03ff3,
-0xe053cacc,
-0x312fff1e,
-0xe3e03001,
-0xe1c02c13,
-0xe0000c13,
-0xe25cc020,
-0x51c13c13,
-0x51822003,
-0x53e03001,
-0x50011c13,
-0xe1120fc1,
-0x012fff1e,
-0xe3e03001,
-0xe35c0000,
-0x51a02c13,
-0x43e02000,
-0xe28cc020,
-0xe0500c13,
-0xe0c11002,
-0xe12fff1e,
-0x0006000c,
-0x212fff1e,
-0xe1822000,
-0xe1120fc1,
-0xe3a00000,
-0xe2011480,
-0x151f3000,
-0x00050813,
-0x11811003,
-0xe12fff1e,
-0x0006005c,
-0xe1a02081,
-0xe292c980,
-0x5a000000,
-0x00050002,
-0xe3e03ff3,
-0xe053cacc,
-0x312fff1e,
-0xe3e03001,
-0xe1c02c13,
-0xe0000c13,
-0xe25cc020,
-0x51c13c13,
-0x51822003,
-0x53e03001,
-0x50011c13,
-0xe1d22fc1,
-0x012fff1e,
-0xe3e03001,
-0xe35c0000,
-0x51a02c13,
-0x43e02000,
-0xe28cc020,
-0xe0500c13,
-0xe0c11002,
-0xe12fff1e,
-0x0006000c,
-0x212fff1e,
-0xe1822000,
-0xe1d22fc1,
-0xe3a00000,
-0xe2011480,
-0x151f3000,
-0x00050813,
-0x11811003,
-0xe12fff1e,
-0x00060097,
-0x00000000,
-0xe1a02081,
-0xe292c980,
-0x52011480,
-0x53a00000,
-0x512fff1e,
-0xe3e03ff3,
-0xe053cacc,
-0x312fff1e,
-0xe3e03001,
-0xe0000c13,
-0xe25cc020,
-0x50011c13,
-0xe12fff1e,
-0x00000000,
-0x00060098,
-0xe92d401f,
-0xeb000000,
-0x0003002d,
-0xeb000000,
-0x0005005a,
-0xe1cd20d8,
-0xeb000000,
-0x0003001f,
-0xe1cd20d0,
-0xe2211480,
-0xeb000000,
-0x0003002e,
-0xe28dd014,
-0xe8bd8000,
-0x00060099,
-0xe210c480,
-0x42600000,
-0xe02cc0c1,
-0xe3510000,
-0x42611000,
-0xe2513001,
-0x11500001,
-0x03a00000,
-0x81110003,
-0x00020000,
-0x00000003,
-0x9a000000,
-0x00050001,
-0xe16f2f10,
-0xe16f3f11,
-0xe0433002,
-0xe273201f,
-0x108ff182,
-0xe1a00000,
-0x00000000,
-0xe1500001,
-0x000900a7,
-0x20400001,
-0x000900a7,
-0x00000000,
-0x0006000b,
-0xe3500000,
-0x135c0000,
-0x40400001,
-0xe030108c,
-0x42600000,
-0xe12fff1e,
-0x0006009a,
-0xe59dc000,
-0xe35c0001,
-0x3a000000,
-0x0003002e,
-0x0a000000,
-0x0003002f,
-0xe35c0003,
-0x3a000000,
-0x0003001f,
-0x0a000000,
-0x0003002d,
-0xe35c0005,
-0x3a000000,
-0x00050098,
-0x0a000000,
-0x0003001c,
-0xe35c0007,
-0x32211480,
-0x03c11480,
-0x912fff1e,
-0x00000000,
-0xe35c0009,
-0x3a000000,
-0x0003001d,
-0x0a000000,
-0x00050009,
-0xe35c000b,
-0x8a000000,
-0x00050009,
-0xe92d4010,
-0x0a000000,
-0x00050001,
-0xeb000000,
-0x00030024,
-0x81a00002,
-0x81a01003,
-0xe8bd8010,
-0x00060013,
-0xe7f001f0,
-0x0006000b,
-0xeb000000,
-0x00030024,
-0x31a00002,
-0x31a01003,
-0xe8bd8010,
-0x00000000,
-0xe7f001f0,
-0x00000000,
-0x0006009b,
-0x00000000,
-0xe51c6000,
-0x000d8180,
-0xe28c7000,
-0x000a0000,
-0xe14600f0,
-0x000c8100,
-0xe14620f0,
-0x000c8100,
-0xe59d3000,
-0xe28d2000,
-0x000a0000,
-0xe1a00006,
-0xe1a031a3,
-0xe5062000,
-0x000d8180,
-0xe1a0100d,
-0xe5063000,
-0x000d8180,
-0xe58d6008,
-0xeb000000,
-0x00030030,
-0xe5109000,
-0x000d8180,
-0xe3e01000,
-0x000a0000,
-0xe510b000,
-0x000d8180,
-0xe3a040ff,
-0xe5192008,
-0xe1a08000,
-0xe04bb009,
-0xe1a04184,
-0xe5071000,
-0x000d8180,
-0xe5126000,
-0x000d8180,
-0xe5d6c000,
-0xe496e004,
-0xe797c10c,
-0xe004a2ae,
-0xe08aa009,
-0xe12fff1c,
-0x00000000,
-0x00060028,
-0x00000000,
-0xe5176000,
-0x000d8180,
-0xe5089000,
-0x000d8180,
-0xe5083000,
-0x000d8180,
-0xe5068000,
-0x000d8180,
-0xe1a00006,
-0xe1a0100a,
-0xeb000000,
-0x00030031,
-0xe14600d0,
-0x000c8100,
-0xea000000,
-0x0005001a,
-0x00000000,
-0x0006009c,
-0x00000000,
-0xe92d4830,
-0xe1a04000,
-0xe5100000,
-0x000d8180,
-0xe5541000,
-0x000d8180,
-0xe2842000,
-0x000a0000,
-0xe1a0b00d,
-0xe04dd000,
-0xe2511001,
-0xe514c000,
-0x000d8180,
-0x4a000000,
-0x00050002,
-0x0006000b,
-0xe7923101,
-0xe78d3101,
-0xe2511001,
-0x5a000000,
-0x0005000b,
-0x0006000c,
-0xe5140000,
-0x000d8180,
-0xe5141000,
-0x000d8180,
-0xe5142000,
-0x000d8180,
-0xe5143000,
-0x000d8180,
-0xe12fff3c,
-0xe1a0d00b,
-0xe5040000,
-0x000d8180,
-0xe5041000,
-0x000d8180,
-0xe8bd8830,
-0x00000000,
-0x00080000,
-0x00000000,
-0xe1a0b18b,
-0xe1aa00d9,
-0xe1d6c0b2,
-0xe1ab20d9,
-0xe2866004,
-0xe086c10c,
-0xe3710000,
-0x000a0000,
-0x1a000000,
-0x00050003,
-0xe3730000,
-0x000a0000,
-0x1a000000,
-0x00050004,
-0xe1500002,
-0x00000000,
-0xb24c6b80,
-0x00000000,
-0xa24c6b80,
-0x00000000,
-0xd24c6b80,
-0x00000000,
-0xc24c6b80,
-0x00000000,
-0x0006000b,
-0xe5d6c000,
-0xe496e004,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x0006000d,
-0x8a000000,
-0x00050035,
-0xe3730000,
-0x000a0000,
-0x31a0a00c,
-0x3a000000,
-0x00050005,
-0xe1a00002,
-0xe1a0b00a,
-0xe1a0a00c,
-0xeb000000,
-0x00030023,
-0xe1a02000,
-0xe1a03001,
-0xe1cb00d0,
-0xea000000,
-0x00050005,
-0x0006000e,
-0x8a000000,
-0x00050035,
-0xe1a0a00c,
-0xeb000000,
-0x00030023,
-0xe1cb20d0,
-0x0006000f,
-0xeb000000,
-0x00030024,
-0x00000000,
-0x324a6b80,
-0x00000000,
-0x224a6b80,
-0x00000000,
-0x924a6b80,
-0x00000000,
-0x824a6b80,
-0x00000000,
-0xea000000,
-0x0005000b,
-0x00000000,
-0xe1a0b18b,
-0xe1aa00d9,
-0xe1d6c0b2,
-0xe1ab20d9,
-0xe2866004,
-0xe086c10c,
-0xe3710000,
-0x000a0000,
-0x93730000,
-0x000a0000,
-0x00000000,
-0x9a000000,
-0x0005009d,
-0x00000000,
-0x9a000000,
-0x0005009e,
-0x00000000,
-0xe3710000,
-0x000a0000,
-0x13730000,
-0x000a0000,
-0x0a000000,
-0x0005003b,
-0x00000000,
-0xe1510003,
-0x1a000000,
-0x00050002,
-0xe3710000,
-0x000a0000,
-0x2a000000,
-0x00050001,
-0xe1500002,
-0x00000000,
-0x1a000000,
-0x00050003,
-0x0006000b,
-0xe24c6b80,
-0x0006000c,
-0xe5d6c000,
-0xe496e004,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x0006000d,
-0xe3710000,
-0x000a0000,
-0x8a000000,
-0x0005000c,
-0x00000000,
-0x0a000000,
-0x00050001,
-0xe3710000,
-0x000a0000,
-0x8a000000,
-0x00050002,
-0x00000000,
-0xe510a000,
-0x000d8180,
-0xe35a0000,
-0x00000000,
-0x0a000000,
-0x0005000c,
-0x00000000,
-0x0a000000,
-0x00050002,
-0x00000000,
-0xe55aa000,
-0x000d8180,
-0xe3a03000,
-0x000a0000,
-0xe1a01000,
-0xe31a0000,
-0x000a0000,
-0x0a000000,
-0x0005003a,
-0x00000000,
-0xea000000,
-0x0005000c,
-0x00000000,
-0x0006000c,
-0xe24c6b80,
-0x0006000b,
-0xe5d6c000,
-0xe496e004,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x00000000,
-0xe1e0b00b,
-0xe18900da,
-0xe1d6c0b2,
-0xe795210b,
-0xe2866004,
-0xe086c10c,
-0xe3710000,
-0x000a0000,
-0x00000000,
-0x1a000000,
-0x00050007,
-0xe1500002,
-0x00000000,
-0x01500002,
-0x00000000,
-0x024c6b80,
-0x0006000b,
-0x00000000,
-0x0006000b,
-0x124c6b80,
-0x00000000,
-0xe5d6c000,
-0xe496e004,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x00000000,
-0x00060011,
-0xe3710000,
-0x000a0000,
-0x1a000000,
-0x0005000b,
-0xea000000,
-0x0005003b,
-0x00000000,
-0xe1a0b18b,
-0xe1aa00d9,
-0xe1d6c0b2,
-0xe1ab20d5,
-0xe2866004,
-0xe086c10c,
-0x00000000,
-0x0006009d,
-0x00000000,
-0x0006009e,
-0x00000000,
-0xe3710000,
-0x000a0000,
-0x1a000000,
-0x00050003,
-0xe3730000,
-0x000a0000,
-0x1a000000,
-0x00050004,
-0xe1500002,
-0x00000000,
-0x024c6b80,
-0x0006000b,
-0x00000000,
-0x0006000b,
-0x124c6b80,
-0x00000000,
-0x0006000c,
-0xe5d6c000,
-0xe496e004,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x0006000d,
-0x00000000,
-0x8a000000,
-0x00050007,
-0x00000000,
-0x824c6b80,
-0x00000000,
-0x8a000000,
-0x0005000c,
-0x00000000,
-0xe3730000,
-0x000a0000,
-0x31a0a00c,
-0x3a000000,
-0x00050005,
-0xe1a00002,
-0xe1a0b00a,
-0x0006000e,
-0xe1a0a00c,
-0xeb000000,
-0x00030023,
-0xe1cb20d0,
-0x0006000f,
-0xeb000000,
-0x00030032,
-0x00000000,
-0x024a6b80,
-0x00000000,
-0x124a6b80,
-0x00000000,
-0xea000000,
-0x0005000c,
-0x00000000,
-0x00060011,
-0xe3710000,
-0x000a0000,
-0x1a000000,
-0x0005000b,
-0xea000000,
-0x0005003b,
-0x00000000,
-0xe18900da,
-0xe1d6c0b2,
-0xe2866004,
-0xe1e0b00b,
-0xe086c10c,
-0x00000000,
-0xe3710000,
-0x000a0000,
-0x0a000000,
-0x0005003b,
-0x00000000,
-0xe151000b,
-0x00000000,
-0x024c6b80,
-0x00000000,
-0x124c6b80,
-0x00000000,
-0xe5d6c000,
-0xe496e004,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x00000000,
-0xe089b18b,
-0xe1d6c0b2,
-0xe1cb00d0,
-0xe2866004,
-0xe086c10c,
-0xe3710000,
-0x000a0000,
-0x00000000,
-0x924c6b80,
-0x00000000,
-0x918900fa,
-0x00000000,
-0x824c6b80,
-0x00000000,
-0x818900fa,
-0x00000000,
-0xe5d6c000,
-0xe496e004,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x00000000,
-0xe1a0b18b,
-0xe5d6c000,
-0xe18900db,
-0xe496e004,
-0xe18900fa,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x00000000,
-0xe089b18b,
-0xe5d6c000,
-0xe59b0004,
-0xe089a00a,
-0xe496e004,
-0xe3700000,
-0x000a0000,
-0x93e01000,
-0x000a0000,
-0x83e01000,
-0x000a0000,
-0xe58a1004,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x00000000,
-0xe1a0b18b,
-0xe18900db,
-0xe5d6c000,
-0xe496e004,
-0xe3710000,
-0x000a0000,
-0x8a000000,
-0x0005003e,
-0x12211480,
-0x1a000000,
-0x00050005,
-0x02700000,
-0x614f00d0,
-0x00051809,
-0x0006000f,
-0xe18900fa,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x00040007,
-0x00060013,
-0x00020000,
-0x00000000,
-0x41e00000,
-0x00000000,
-0xe1a0b18b,
-0xe18900db,
-0xe3710000,
-0x000a0000,
-0x1a000000,
-0x00050002,
-0xe5100000,
-0x000d8180,
-0x0006000b,
-0xe3e01000,
-0x000a0000,
-0xe5d6c000,
-0xe496e004,
-0xe18900fa,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x0006000c,
-0xe3710000,
-0x000a0000,
-0x1a000000,
-0x00050040,
-0x00000000,
-0xe5102000,
-0x000d8180,
-0xe3520000,
-0x1a000000,
-0x00050009,
-0x0006000d,
-0x00000000,
-0x00060041,
-0x00000000,
-0xe1a0b009,
-0x00000000,
-0xeb000000,
-0x00030026,
-0x00000000,
-0xe1a0900b,
-0x00000000,
-0xea000000,
-0x0005000b,
-0x00000000,
-0x00060013,
-0xe5523000,
-0x000d8180,
-0xe3130000,
-0x000a0000,
-0x1a000000,
-0x0005000d,
-0xea000000,
-0x00050040,
-0x00000000,
-0xe004caae,
-0xe004b6ae,
-0x00000000,
-0xe18900dc,
-0xe18520db,
-0x00000000,
-0xe18920dc,
-0xe18500db,
-0x00000000,
-0xe18900dc,
-0xe18920db,
-0x00000000,
-0xe5d6c000,
-0x00000000,
-0xe3730000,
-0x000a0000,
-0x03710000,
-0x000a0000,
-0x00000000,
-0xe3710000,
-0x000a0000,
-0x03730000,
-0x000a0000,
-0x00000000,
-0x1a000000,
-0x00050005,
-0xe0900002,
-0x00000000,
-0x6a000000,
-0x0005003c,
-0x00000000,
-0x6a000000,
-0x0005003d,
-0x00000000,
-0x6a000000,
-0x0005003f,
-0x00000000,
-0x0006000e,
-0xe496e004,
-0xe18900fa,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x0006000f,
-0x00000000,
-0xe3730000,
-0x000a0000,
-0x33710000,
-0x000a0000,
-0x00000000,
-0xe3710000,
-0x000a0000,
-0x33730000,
-0x000a0000,
-0x00000000,
-0x2a000000,
-0x0005003c,
-0x00000000,
-0xe3730000,
-0x000a0000,
-0x33710000,
-0x000a0000,
-0x00000000,
-0xe3710000,
-0x000a0000,
-0x33730000,
-0x000a0000,
-0x00000000,
-0x2a000000,
-0x0005003d,
-0x00000000,
-0xe3730000,
-0x000a0000,
-0x33710000,
-0x000a0000,
-0x00000000,
-0xe3710000,
-0x000a0000,
-0x33730000,
-0x000a0000,
-0x00000000,
-0x2a000000,
-0x0005003f,
-0x00000000,
-0xeb000000,
-0x0003002e,
-0xe5d6c000,
-0xea000000,
-0x0005000e,
-0x00000000,
-0xe004caae,
-0xe004b6ae,
-0x00000000,
-0xe18900dc,
-0xe18520db,
-0x00000000,
-0xe18920dc,
-0xe18500db,
-0x00000000,
-0xe18900dc,
-0xe18920db,
-0x00000000,
-0xe5d6c000,
-0x00000000,
-0xe3730000,
-0x000a0000,
-0x03710000,
-0x000a0000,
-0x00000000,
-0xe3710000,
-0x000a0000,
-0x03730000,
-0x000a0000,
-0x00000000,
-0x1a000000,
-0x00050005,
-0xe0500002,
-0x00000000,
-0x6a000000,
-0x0005003c,
-0x00000000,
-0x6a000000,
-0x0005003d,
-0x00000000,
-0x6a000000,
-0x0005003f,
-0x00000000,
-0x0006000e,
-0xe496e004,
-0xe18900fa,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x0006000f,
-0x00000000,
-0xe3730000,
-0x000a0000,
-0x33710000,
-0x000a0000,
-0x00000000,
-0xe3710000,
-0x000a0000,
-0x33730000,
-0x000a0000,
-0x00000000,
-0x2a000000,
-0x0005003c,
-0x00000000,
-0xe3730000,
-0x000a0000,
-0x33710000,
-0x000a0000,
-0x00000000,
-0xe3710000,
-0x000a0000,
-0x33730000,
-0x000a0000,
-0x00000000,
-0x2a000000,
-0x0005003d,
-0x00000000,
-0xe3730000,
-0x000a0000,
-0x33710000,
-0x000a0000,
-0x00000000,
-0xe3710000,
-0x000a0000,
-0x33730000,
-0x000a0000,
-0x00000000,
-0x2a000000,
-0x0005003f,
-0x00000000,
-0xeb000000,
-0x0003002f,
-0xe5d6c000,
-0xea000000,
-0x0005000e,
-0x00000000,
-0xe004caae,
-0xe004b6ae,
-0x00000000,
-0xe18900dc,
-0xe18520db,
-0x00000000,
-0xe18920dc,
-0xe18500db,
-0x00000000,
-0xe18900dc,
-0xe18920db,
-0x00000000,
-0xe5d6c000,
-0x00000000,
-0xe3730000,
-0x000a0000,
-0x03710000,
-0x000a0000,
-0x00000000,
-0xe3710000,
-0x000a0000,
-0x03730000,
-0x000a0000,
-0x00000000,
-0x1a000000,
-0x00050005,
-0xe0cb0092,
-0xe15b0fc0,
-0x00000000,
-0x1a000000,
-0x0005003c,
-0x00000000,
-0x1a000000,
-0x0005003d,
-0x00000000,
-0x1a000000,
-0x0005003f,
-0x00000000,
-0x0006000e,
-0xe496e004,
-0xe18900fa,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x0006000f,
-0x00000000,
-0xe3730000,
-0x000a0000,
-0x33710000,
-0x000a0000,
-0x00000000,
-0xe3710000,
-0x000a0000,
-0x33730000,
-0x000a0000,
-0x00000000,
-0x2a000000,
-0x0005003c,
-0x00000000,
-0xe3730000,
-0x000a0000,
-0x33710000,
-0x000a0000,
-0x00000000,
-0xe3710000,
-0x000a0000,
-0x33730000,
-0x000a0000,
-0x00000000,
-0x2a000000,
-0x0005003d,
-0x00000000,
-0xe3730000,
-0x000a0000,
-0x33710000,
-0x000a0000,
-0x00000000,
-0xe3710000,
-0x000a0000,
-0x33730000,
-0x000a0000,
-0x00000000,
-0x2a000000,
-0x0005003f,
-0x00000000,
-0xeb000000,
-0x0003001f,
-0xe5d6c000,
-0xea000000,
-0x0005000e,
-0x00000000,
-0xe004caae,
-0xe004b6ae,
-0x00000000,
-0xe18900dc,
-0xe18520db,
-0x00000000,
-0xe18920dc,
-0xe18500db,
-0x00000000,
-0xe18900dc,
-0xe18920db,
-0x00000000,
-0xe3730000,
-0x000a0000,
-0x33710000,
-0x000a0000,
-0x00000000,
-0xe3710000,
-0x000a0000,
-0x33730000,
-0x000a0000,
-0x00000000,
-0x2a000000,
-0x0005003c,
-0x00000000,
-0xe3730000,
-0x000a0000,
-0x33710000,
-0x000a0000,
-0x00000000,
-0xe3710000,
-0x000a0000,
-0x33730000,
-0x000a0000,
-0x00000000,
-0x2a000000,
-0x0005003d,
-0x00000000,
-0xe3730000,
-0x000a0000,
-0x33710000,
-0x000a0000,
-0x00000000,
-0xe3710000,
-0x000a0000,
-0x33730000,
-0x000a0000,
-0x00000000,
-0x2a000000,
-0x0005003f,
-0x00000000,
-0xeb000000,
-0x0003002d,
-0xe5d6c000,
-0xe496e004,
-0xe18900fa,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x00000000,
-0xe004caae,
-0xe004b6ae,
-0x00000000,
-0xe18900dc,
-0xe18520db,
-0x00000000,
-0xe18920dc,
-0xe18500db,
-0x00000000,
-0xe18900dc,
-0xe18920db,
-0x00000000,
-0xe3730000,
-0x000a0000,
-0x03710000,
-0x000a0000,
-0x00000000,
-0xe3710000,
-0x000a0000,
-0x03730000,
-0x000a0000,
-0x00000000,
-0x1a000000,
-0x00050005,
-0xe1b01002,
-0x00000000,
-0x0a000000,
-0x0005003c,
-0x00000000,
-0x0a000000,
-0x0005003d,
-0x00000000,
-0x0a000000,
-0x0005003f,
-0x00000000,
-0xeb000000,
-0x00050099,
-0xe3e01000,
-0x000a0000,
-0x0006000e,
-0xe5d6c000,
-0xe496e004,
-0xe18900fa,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x0006000f,
-0x00000000,
-0xe3730000,
-0x000a0000,
-0x33710000,
-0x000a0000,
-0x00000000,
-0xe3710000,
-0x000a0000,
-0x33730000,
-0x000a0000,
-0x00000000,
-0x2a000000,
-0x0005003c,
-0x00000000,
-0xe3730000,
-0x000a0000,
-0x33710000,
-0x000a0000,
-0x00000000,
-0xe3710000,
-0x000a0000,
-0x33730000,
-0x000a0000,
-0x00000000,
-0x2a000000,
-0x0005003d,
-0x00000000,
-0xe3730000,
-0x000a0000,
-0x33710000,
-0x000a0000,
-0x00000000,
-0xe3710000,
-0x000a0000,
-0x33730000,
-0x000a0000,
-0x00000000,
-0x2a000000,
-0x0005003f,
-0x00000000,
-0xeb000000,
-0x00050098,
-0xea000000,
-0x0005000e,
-0x00000000,
-0xe004caae,
-0xe004b6ae,
-0x00000000,
-0xe18900dc,
-0xe18520db,
-0x00000000,
-0xe18920dc,
-0xe18500db,
-0x00000000,
-0xe18900dc,
-0xe18920db,
-0x00000000,
-0xe3730000,
-0x000a0000,
-0x33710000,
-0x000a0000,
-0x00000000,
-0xe3710000,
-0x000a0000,
-0x33730000,
-0x000a0000,
-0x00000000,
-0x2a000000,
-0x0005003c,
-0x00000000,
-0xe3730000,
-0x000a0000,
-0x33710000,
-0x000a0000,
-0x00000000,
-0xe3710000,
-0x000a0000,
-0x33730000,
-0x000a0000,
-0x00000000,
-0x2a000000,
-0x0005003d,
-0x00000000,
-0xe3730000,
-0x000a0000,
-0x33710000,
-0x000a0000,
-0x00000000,
-0xe3710000,
-0x000a0000,
-0x33730000,
-0x000a0000,
-0x00000000,
-0x2a000000,
-0x0005003f,
-0x00000000,
-0xe1a0b009,
-0x00000000,
-0xeb000000,
-0x0003001c,
-0x00000000,
-0xe1a0900b,
-0x00000000,
-0xe5d6c000,
-0xe496e004,
-0xe18900fa,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x00000000,
-0xe004baae,
-0xe004c6ae,
-0xe04c200b,
-0xe5089000,
-0x000d8180,
-0xe089100c,
-0x0006002b,
-0xe1a00008,
-0xe58d6008,
-0xe1a021a2,
-0xeb000000,
-0x00030033,
-0xe5189000,
-0x000d8180,
-0xe3500000,
-0x1a000000,
-0x00050036,
-0xe18920db,
-0xe5d6c000,
-0xe496e004,
-0xe18920fa,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x00000000,
-0xe1e0b00b,
-0xe5d6c000,
-0xe795010b,
-0xe3e01000,
-0x000a0000,
-0xe496e004,
-0xe18900fa,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x00000000,
-0xe1e0b00b,
-0xe5d6c000,
-0xe795010b,
-0xe3e01000,
-0x000a0000,
-0xe496e004,
-0xe18900fa,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x00000000,
-0xe1a0084e,
-0xe3e01000,
-0x000a0000,
-0xe5d6c000,
-0xe496e004,
-0xe18900fa,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x00000000,
-0xe1a0b18b,
-0xe5d6c000,
-0xe18500db,
-0xe496e004,
-0xe18900fa,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x00000000,
-0xe089a00a,
-0xe1e0b00b,
-0xe5d6c000,
-0xe496e004,
-0xe58ab004,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x00000000,
-0xe089a00a,
-0xe089b18b,
-0xe3e00000,
-0x000a0000,
-0xe58a0004,
-0xe28aa008,
-0x0006000b,
-0xe58a0004,
-0xe15a000b,
-0xe28aa008,
-0xba000000,
-0x0005000b,
-0xe5d6c000,
-0xe496e004,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x00000000,
-0xe5191008,
-0xe1a0b10b,
-0xe28bb000,
-0x000a0000,
-0xe791100b,
-0xe5111000,
-0x000d8180,
-0xe1c120d0,
-0xe5d6c000,
-0xe496e004,
-0xe18920fa,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x00000000,
-0xe5191008,
-0xe1a0a0aa,
-0xe28aa000,
-0x000a0000,
-0xe1a0b18b,
-0xe791100a,
-0xe18920db,
-0xe551c000,
-0x000d8180,
-0xe551b000,
-0x000d8180,
-0xe5111000,
-0x000d8180,
-0xe31c0000,
-0x000a0000,
-0xe283c000,
-0x000a0000,
-0x135b0000,
-0xe1c120f0,
-0x1a000000,
-0x00050002,
-0x0006000b,
-0xe5d6c000,
-0xe496e004,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x0006000c,
-0xe37c0000,
-0x000a0000,
-0x8552b000,
-0x000d8180,
-0x9a000000,
-0x0005000b,
-0xe2470000,
-0x000a0000,
-0xe31b0000,
-0x000a0000,
-0x00000000,
-0x0a000000,
-0x0005000b,
-0xe1a0b009,
-0xeb000000,
-0x00030034,
-0xe1a0900b,
-0x00000000,
-0x1b000000,
-0x00030034,
-0x00000000,
-0xea000000,
-0x0005000b,
-0x00000000,
-0xe5191008,
-0xe1a0a0aa,
-0xe28aa000,
-0x000a0000,
-0xe1e0b00b,
-0xe791100a,
-0xe795210b,
-0xe3e03000,
-0x000a0000,
-0xe551c000,
-0x000d8180,
-0xe5111000,
-0x000d8180,
-0xe551b000,
-0x000d8180,
-0xe31c0000,
-0x000a0000,
-0xe552c000,
-0x000d8180,
-0xe1c120f0,
-0x1a000000,
-0x00050002,
-0x0006000b,
-0xe5d6c000,
-0xe496e004,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x0006000c,
-0xe31c0000,
-0x000a0000,
-0x135b0000,
-0xe2470000,
-0x000a0000,
-0x00000000,
-0x0a000000,
-0x0005000b,
-0xe1a0b009,
-0xeb000000,
-0x00030034,
-0xe1a0900b,
-0x00000000,
-0x1b000000,
-0x00030034,
-0x00000000,
-0xea000000,
-0x0005000b,
-0x00000000,
-0xe5191008,
-0xe1a0a0aa,
-0xe28aa000,
-0x000a0000,
-0xe1a0b18b,
-0xe791100a,
-0xe18520db,
-0xe5111000,
-0x000d8180,
-0xe5d6c000,
-0xe496e004,
-0xe1c120f0,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x00000000,
-0xe5191008,
-0xe1a0a0aa,
-0xe28aa000,
-0x000a0000,
-0xe791100a,
-0xe1e0b00b,
-0xe5111000,
-0x000d8180,
-0xe5d6c000,
-0xe496e004,
-0xe581b004,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x00000000,
-0xe5182000,
-0x000d8180,
-0xe086b10b,
-0xe5089000,
-0x000d8180,
-0xe3520000,
-0xe24b6b80,
-0x0a000000,
-0x00050001,
-0xe1a00008,
-0xe089100a,
-0xeb000000,
-0x00030035,
-0xe5189000,
-0x000d8180,
-0x0006000b,
-0xe5d6c000,
-0xe496e004,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x00000000,
-0xe1e0b00b,
-0xe5089000,
-0x000d8180,
-0xe795110b,
-0xe58d6008,
-0xe5192008,
-0xe1a00008,
-0xeb000000,
-0x00030036,
-0xe5189000,
-0x000d8180,
-0xe3e01000,
-0x000a0000,
-0xe5d6c000,
-0xe496e004,
-0xe18900fa,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x00000000,
-0xe1e0b00b,
-0x00000000,
-0xe5172000,
-0x000d8180,
-0xe5173000,
-0x000d8180,
-0xe5089000,
-0x000d8180,
-0xe58d6008,
-0xe1520003,
-0xe1a00008,
-0x2a000000,
-0x00050005,
-0x0006000b,
-0x00000000,
-0xe1a01a8b,
-0xe1a025ab,
-0xe1a0bac1,
-0xe1a01aa1,
-0xe37b0001,
-0x02811002,
-0xeb000000,
-0x00030037,
-0x00000000,
-0xe795110b,
-0xeb000000,
-0x00030038,
-0x00000000,
-0xe5189000,
-0x000d8180,
-0xe3e01000,
-0x000a0000,
-0xe5d6c000,
-0xe496e004,
-0xe18900fa,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x0006000f,
-0xeb000000,
-0x00030039,
-0xe1a00008,
-0xea000000,
-0x0005000b,
-0x00000000,
-0xe5191008,
-0xe1e0b00b,
-0xe5110000,
-0x000d8180,
-0xe795b10b,
-0x00000000,
-0xea000000,
-0x0005009f,
-0x00000000,
-0xea000000,
-0x000500a0,
-0x00000000,
-0xe004caae,
-0xe004b6ae,
-0xe18900dc,
-0xe18920db,
-0xe3710000,
-0x000a0000,
-0x1a000000,
-0x00050030,
-0xe3730000,
-0x000a0000,
-0x05103000,
-0x000d8180,
-0x05101000,
-0x000d8180,
-0x1a000000,
-0x00050009,
-0xe0833182,
-0xe1520001,
-0x31c320d0,
-0x2a000000,
-0x00050030,
-0xe5d6c000,
-0xe3730000,
-0x000a0000,
-0x0a000000,
-0x00050005,
-0x0006000b,
-0xe496e004,
-0xe18920fa,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x0006000f,
-0xe5101000,
-0x000d8180,
-0xe3510000,
-0x0a000000,
-0x0005000b,
-0xe5511000,
-0x000d8180,
-0xe3110000,
-0x000a0000,
-0x1a000000,
-0x0005000b,
-0xe004caae,
-0xea000000,
-0x00050030,
-0x00060013,
-0xe3730000,
-0x000a0000,
-0x01a0b002,
-0x0a000000,
-0x0005009f,
-0xea000000,
-0x00050030,
-0x00000000,
-0xe004caae,
-0xe20bb0ff,
-0xe18900dc,
-0xe1e0b00b,
-0xe795b10b,
-0xe3710000,
-0x000a0000,
-0x1a000000,
-0x0005002d,
-0x0006009f,
-0xe5102000,
-0x000d8180,
-0xe51b3000,
-0x000d8180,
-0xe510e000,
-0x000d8180,
-0xe1a0c000,
-0xe0022003,
-0xe0822082,
-0xe08ee182,
-0x0006000b,
-0xe14e00d0,
-0x000c8100,
-0xe14e20d0,
-0x000c8100,
-0xe51ee000,
-0x000d8180,
-0xe3710000,
-0x000a0000,
-0x0150000b,
-0x1a000000,
-0x00050004,
-0xe3730000,
-0x000a0000,
-0x0a000000,
-0x00050005,
-0x0006000d,
-0xe5d6c000,
-0xe496e004,
-0xe18920fa,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x0006000e,
-0xe35e0000,
-0x1a000000,
-0x0005000b,
-0x0006000f,
-0xe51c0000,
-0x000d8180,
-0xe3a02000,
-0xe3e03000,
-0x000a0000,
-0xe3500000,
-0x0a000000,
-0x0005000d,
-0xe5501000,
-0x000d8180,
-0x00000000,
-0xe3110000,
-0x000a0000,
-0x1a000000,
-0x0005000d,
-0xea000000,
-0x0005002e,
-0x00000000,
-0xe004caae,
-0xe20bb0ff,
-0xe18900dc,
-0xe3710000,
-0x000a0000,
-0x1a000000,
-0x0005002f,
-0xe5102000,
-0x000d8180,
-0xe5103000,
-0x000d8180,
-0xe1a0118b,
-0xe15b0002,
-0x318320d1,
-0x2a000000,
-0x0005002f,
-0xe5d6c000,
-0xe3730000,
-0x000a0000,
-0x0a000000,
-0x00050005,
-0x0006000b,
-0xe496e004,
-0xe18920fa,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x0006000f,
-0xe5101000,
-0x000d8180,
-0xe3510000,
-0x0a000000,
-0x0005000b,
-0xe5511000,
-0x000d8180,
-0xe3110000,
-0x000a0000,
-0x1a000000,
-0x0005000b,
-0xea000000,
-0x0005002f,
-0x00000000,
-0xe004caae,
-0xe004b6ae,
-0xe18900dc,
-0xe18920db,
-0xe3710000,
-0x000a0000,
-0x1a000000,
-0x00050034,
-0xe3730000,
-0x000a0000,
-0x05101000,
-0x000d8180,
-0x05103000,
-0x000d8180,
-0x1a000000,
-0x00050009,
-0xe0811182,
-0xe1520003,
-0x3591e004,
-0x2a000000,
-0x00050034,
-0xe5d6c000,
-0xe37e0000,
-0x000a0000,
-0xe550e000,
-0x000d8180,
-0xe18920da,
-0x0a000000,
-0x00050005,
-0x0006000b,
-0xe31e0000,
-0x000a0000,
-0xe1c120f0,
-0x1a000000,
-0x00050007,
-0x0006000c,
-0xe496e004,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x0006000f,
-0xe510a000,
-0x000d8180,
-0xe35a0000,
-0x0a000000,
-0x0005000b,
-0xe55aa000,
-0x000d8180,
-0xe31a0000,
-0x000a0000,
-0x1a000000,
-0x0005000b,
-0xe516e004,
-0xe004caae,
-0xe004a2ae,
-0xea000000,
-0x00050034,
-0x00060011,
-0x00000000,
-0xe5172000,
-0x000d8180,
-0xe3cee000,
-0x000a0000,
-0xe5070000,
-0x000d8180,
-0xe540e000,
-0x000d8180,
-0xe5002000,
-0x000d8180,
-0xea000000,
-0x0005000c,
-0x00060013,
-0xe3730000,
-0x000a0000,
-0x01a0b002,
-0x0a000000,
-0x000500a0,
-0xea000000,
-0x00050034,
-0x00000000,
-0xe004caae,
-0xe20bb0ff,
-0xe18900dc,
-0xe1e0b00b,
-0xe795b10b,
-0xe3710000,
-0x000a0000,
-0x1a000000,
-0x00050031,
-0x000600a0,
-0xe5102000,
-0x000d8180,
-0xe51b3000,
-0x000d8180,
-0xe510e000,
-0x000d8180,
-0xe1a0c000,
-0xe0022003,
-0xe0822082,
-0xe3a03000,
-0xe08ee182,
-0xe54c3000,
-0x000d8180,
-0x0006000b,
-0xe14e00d0,
-0x000c8100,
-0xe51e3000,
-0x000d8180,
-0xe51e2000,
-0x000d8180,
-0xe3710000,
-0x000a0000,
-0x0150000b,
-0x1a000000,
-0x00050005,
-0xe55c1000,
-0x000d8180,
-0xe3730000,
-0x000a0000,
-0xe18920da,
-0x0a000000,
-0x00050004,
-0x0006000c,
-0xe3110000,
-0x000a0000,
-0xe14e20f0,
-0x000c8100,
-0x1a000000,
-0x00050007,
-0x0006000d,
-0xe5d6c000,
-0xe496e004,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x0006000e,
-0x00000000,
-0xe51c0000,
-0x000d8180,
-0xe3500000,
-0x0a000000,
-0x0005000c,
-0xe5500000,
-0x000d8180,
-0xe3100000,
-0x000a0000,
-0x1a000000,
-0x0005000c,
-0xea000000,
-0x00050032,
-0x0006000f,
-0xe1b0e002,
-0x1a000000,
-0x0005000b,
-0xe51c0000,
-0x000d8180,
-0xe1a0200d,
-0xe58d6008,
-0xe3500000,
-0xe5089000,
-0x000d8180,
-0x15501000,
-0x000d8180,
-0xe1a00008,
-0x0a000000,
-0x00050006,
-0xe3110000,
-0x000a0000,
-0x0a000000,
-0x00050032,
-0x00060010,
-0xe3e03000,
-0x000a0000,
-0xe58db000,
-0xe1a0100c,
-0xe58d3004,
-0xeb000000,
-0x0003003a,
-0xe5189000,
-0x000d8180,
-0xe18920da,
-0xe1c020f0,
-0xea000000,
-0x0005000d,
-0x00060011,
-0xe5172000,
-0x000d8180,
-0xe3c11000,
-0x000a0000,
-0x00000000,
-0xe507c000,
-0x000d8180,
-0xe54c1000,
-0x000d8180,
-0xe50c2000,
-0x000d8180,
-0xea000000,
-0x0005000d,
-0x00000000,
-0xe004caae,
-0xe20bb0ff,
-0xe18900dc,
-0xe3710000,
-0x000a0000,
-0x1a000000,
-0x00050033,
-0xe5102000,
-0x000d8180,
-0xe510c000,
-0x000d8180,
-0xe1a0118b,
-0xe15b0002,
-0x31a120dc,
-0x2a000000,
-0x00050033,
-0xe5d6c000,
-0xe3730000,
-0x000a0000,
-0xe550e000,
-0x000d8180,
-0xe18920da,
-0x0a000000,
-0x00050005,
-0x0006000b,
-0xe31e0000,
-0x000a0000,
-0xe1c120f0,
-0x1a000000,
-0x00050007,
-0x0006000c,
-0xe496e004,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x0006000f,
-0xe510a000,
-0x000d8180,
-0xe35a0000,
-0x0a000000,
-0x0005000b,
-0xe55aa000,
-0x000d8180,
-0xe31a0000,
-0x000a0000,
-0x1a000000,
-0x0005000b,
-0xe516e004,
-0xe004a2ae,
-0xea000000,
-0x00050033,
-0x00060011,
-0xe5172000,
-0x000d8180,
-0xe3cee000,
-0x000a0000,
-0x00000000,
-0xe5070000,
-0x000d8180,
-0xe540e000,
-0x000d8180,
-0xe5002000,
-0x000d8180,
-0xea000000,
-0x0005000c,
-0x00000000,
-0xe089a00a,
-0x0006000b,
-0xe59dc004,
-0xe51a1008,
-0xe795018b,
-0xe25cc008,
-0xe5113000,
-0x000d8180,
-0x0a000000,
-0x00050004,
-0xe08021ac,
-0xe1520003,
-0xe5113000,
-0x000d8180,
-0xe08ac00c,
-0x8a000000,
-0x00050005,
-0xe083e180,
-0xe5510000,
-0x000d8180,
-0x0006000d,
-0xe0ca20d8,
-0xe0ce20f8,
-0xe15a000c,
-0x3a000000,
-0x0005000d,
-0xe3100000,
-0x000a0000,
-0x1a000000,
-0x00050007,
-0x0006000e,
-0xe5d6c000,
-0xe496e004,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x0006000f,
-0xe5089000,
-0x000d8180,
-0xe1a00008,
-0xe58d6008,
-0xeb000000,
-0x0003003b,
-0x00000000,
-0xe5189000,
-0x000d8180,
-0x00000000,
-0xea000000,
-0x0005000b,
-0x00060011,
-0xe5172000,
-0x000d8180,
-0xe3c00000,
-0x000a0000,
-0xe5071000,
-0x000d8180,
-0xe5410000,
-0x000d8180,
-0xe5012000,
-0x000d8180,
-0xea000000,
-0x0005000e,
-0x00000000,
-0xe59d0004,
-0xe004b6ae,
-0xe08bb000,
-0xea000000,
-0x000500a1,
-0x00000000,
-0xe004b6ae,
-0x000600a1,
-0xe1a0c009,
-0xe1a920da,
-0xe24bb008,
-0xe2899008,
-0xe3730000,
-0x000a0000,
-0x1a000000,
-0x00050025,
-0xe5096004,
-0xe5126000,
-0x000d8180,
-0xe5d6c000,
-0xe496e004,
-0xe797c10c,
-0xe004a2ae,
-0xe08aa009,
-0xe12fff1c,
-0x00000000,
-0xe59d0004,
-0xe080b18b,
-0xea000000,
-0x000500a2,
-0x00000000,
-0xe1a0b18b,
-0x000600a2,
-0xe1aa20d9,
-0xe24bb008,
-0xe28aa008,
-0xe3730000,
-0x000a0000,
-0x1a000000,
-0x00050042,
-0xe5196004,
-0x00060043,
-0xe3a0c000,
-0xe5523000,
-0x000d8180,
-0xe3160000,
-0x000a0000,
-0x1a000000,
-0x00050007,
-0x0006000b,
-0xe5092008,
-0xe35b0000,
-0x0a000000,
-0x00050003,
-0x0006000c,
-0xe18a00dc,
-0xe28ce008,
-0xe15e000b,
-0xe18900fc,
-0xe1a0c00e,
-0x1a000000,
-0x0005000c,
-0x0006000d,
-0xe3530001,
-0x8a000000,
-0x00050005,
-0x0006000e,
-0xe5126000,
-0x000d8180,
-0xe5d6c000,
-0xe496e004,
-0xe797c10c,
-0xe004a2ae,
-0xe08aa009,
-0xe12fff1c,
-0x0006000f,
-0xe516e004,
-0xe004a2ae,
-0xe049000a,
-0xe5100010,
-0xe5100000,
-0x000d8180,
-0xe5105000,
-0x000d8180,
-0xea000000,
-0x0005000e,
-0x00060011,
-0xe2266000,
-0x000a0000,
-0xe3160000,
-0x000a0000,
-0x00000000,
-0x13a03000,
-0x1a000000,
-0x0005000b,
-0xe0499006,
-0xe5196004,
-0xe3160000,
-0x000a0000,
-0x13a03000,
-0xea000000,
-0x0005000b,
-0x00000000,
-0xe089a00a,
-0xe1a0c009,
-0xe14a21d0,
-0xe14a00d8,
-0xe28a9008,
-0xe1ca20f8,
-0xe1ca01f0,
-0xe14a21d8,
-0xe3a0b010,
-0xe1ca20f0,
-0xe3730000,
-0x000a0000,
-0x1a000000,
-0x00050025,
-0xe5096004,
-0xe5126000,
-0x000d8180,
-0xe5d6c000,
-0xe496e004,
-0xe797c10c,
-0xe004a2ae,
-0xe08aa009,
-0xe12fff1c,
-0x00000000,
-0xe089a00a,
-0xe51ac010,
-0xe51a0008,
-0xe51ce000,
-0x000d8180,
-0xe51c1000,
-0x000d8180,
-0xe2866004,
-0x0006000b,
-0xe050b00e,
-0xe0812180,
-0x2a000000,
-0x00050005,
-0xe1c220d0,
-0xe3730000,
-0x000a0000,
-0x02800001,
-0x0a000000,
-0x0005000b,
-0xe156b0b2,
-0xe3e01000,
-0x000a0000,
-0xe1ca20f8,
-0xe086b10b,
-0xe280c001,
-0xe1ca00f0,
-0xe24b6b80,
-0xe50ac008,
-0x0006000d,
-0xe5d6c000,
-0xe496e004,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x0006000f,
-0xe51c3000,
-0x000d8180,
-0xe51cc000,
-0x000d8180,
-0x00060010,
-0xe08b008b,
-0xe15b0003,
-0xe08c2180,
-0x8a000000,
-0x0005000d,
-0xe14200d0,
-0x000c8100,
-0xe3710000,
-0x000a0000,
-0xe28bb001,
-0x0a000000,
-0x00050010,
-0xe156c0b2,
-0xe08bb00e,
-0xe14220d0,
-0x000c8100,
-0xe50ab008,
-0xe1ca00f8,
-0xe086b10c,
-0xe24b6b80,
-0xe1ca20f0,
-0xea000000,
-0x0005000d,
-0x00000000,
-0xe089a00a,
-0xe086b10b,
-0xe14a01d8,
-0xe51a200c,
-0xe51a3004,
-0xe3710000,
-0x000a0000,
-0x05500000,
-0x000d8180,
-0x03720000,
-0x000a0000,
-0x03730000,
-0x000a0000,
-0x03500000,
-0x000a0000,
-0x024b6b80,
-0x1a000000,
-0x00050005,
-0xe5d6c000,
-0xe496e004,
-0xe3a00000,
-0xe50a0008,
-0x0006000b,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x0006000f,
-0xe3a00000,
-0x000a0000,
-0xe3a0c000,
-0x000a0000,
-0xe5460004,
-0xe24b6b80,
-0xe5c6c000,
-0xe496e004,
-0xea000000,
-0x0005000b,
-0x00000000,
-0xe004caae,
-0xe004b6ae,
-0xe5190004,
-0xe089b00b,
-0xe089a00a,
-0xe28bb000,
-0x000a0000,
-0xe08a300c,
-0xe2492008,
-0xe04bb000,
-0xe35c0000,
-0xe042000b,
-0x0a000000,
-0x00050005,
-0xe2433010,
-0x0006000b,
-0xe15b0002,
-0x30cb00d8,
-0x23e01000,
-0x000a0000,
-0xe15a0003,
-0xe0ca00f8,
-0x3a000000,
-0x0005000b,
-0x0006000c,
-0xe5d6c000,
-0xe496e004,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x0006000f,
-0xe5183000,
-0x000d8180,
-0xe3500000,
-0xd3a0c008,
-0xc280c008,
-0xe08a1000,
-0xe58dc004,
-0xda000000,
-0x0005000c,
-0xe1510003,
-0x8a000000,
-0x00050007,
-0x00060010,
-0xe0cb00d8,
-0xe0ca00f8,
-0xe15b0002,
-0x3a000000,
-0x00050010,
-0xea000000,
-0x0005000c,
-0x00060011,
-0xe1a011a0,
-0xe508a000,
-0x000d8180,
-0xe1a00008,
-0xe5089000,
-0x000d8180,
-0xe04bb009,
-0xe58d6008,
-0xe04aa009,
-0xeb000000,
-0x00030000,
-0xe5189000,
-0x000d8180,
-0xe089a00a,
-0xe089b00b,
-0xe2492008,
-0xea000000,
-0x00050010,
-0x00000000,
-0xe59d0004,
-0xe5196004,
-0xe089a00a,
-0xe080b18b,
-0xea000000,
-0x000500a3,
-0x00000000,
-0xe5196004,
-0xe1a0b18b,
-0xe089a00a,
-0x000600a3,
-0xe58db004,
-0x0006000b,
-0xe2160000,
-0x000a0000,
-0xe2261000,
-0x000a0000,
-0x1a000000,
-0x000500a4,
-0x00060017,
-0xe516e004,
-0xe25b3008,
-0xe2492008,
-0x0a000000,
-0x00050003,
-0x0006000c,
-0xe0ca00d8,
-0xe2899008,
-0xe2533008,
-0xe14901f0,
-0x1a000000,
-0x0005000c,
-0x0006000d,
-0xe004a2ae,
-0xe042300a,
-0xe004caae,
-0xe5130008,
-0x0006000f,
-0xe15c000b,
-0x8a000000,
-0x00050006,
-0xe1a09003,
-0xe5101000,
-0x000d8180,
-0xe5d6c000,
-0xe496e004,
-0xe5115000,
-0x000d8180,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x00060010,
-0xe3e01000,
-0x000a0000,
-0xe2899008,
-0xe28bb008,
-0xe509100c,
-0xea000000,
-0x0005000f,
-0x000600a5,
-0xe089a00a,
-0x000600a4,
-0xe3110000,
-0x000a0000,
-0x1a000000,
-0x00050018,
-0xe0499001,
-0xe5196004,
-0xea000000,
-0x0005000b,
-0x00000000,
-0xe5196004,
-0xe1a0b18b,
-0xe58db004,
-0xe2160000,
-0x000a0000,
-0xe2261000,
-0x000a0000,
-0x0516e004,
-0x1a000000,
-0x000500a5,
-0x00000000,
-0xe18900da,
-0x00000000,
-0xe2493008,
-0xe004a2ae,
-0x00000000,
-0xe1c300f0,
-0x00000000,
-0xe043900a,
-0xe004caae,
-0xe5190008,
-0x0006000f,
-0xe15c000b,
-0x8a000000,
-0x00050006,
-0xe5101000,
-0x000d8180,
-0xe5d6c000,
-0xe496e004,
-0xe5115000,
-0x000d8180,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x00060010,
-0xe2431004,
-0xe3e02000,
-0x000a0000,
-0xe781200b,
-0xe28bb008,
-0xea000000,
-0x0005000f,
-0x00000000,
-0xe1a000a6,
-0xe200007e,
-0xe2400000,
-0x000a0000,
-0xe19710b0,
-0xe2511000,
-0x000a0000,
-0xe18710b0,
-0x3a000000,
-0x00050092,
-0x00000000,
-0xe1aa00d9,
-0x00000000,
-0xe086b10b,
-0x00000000,
-0xe1ca20d8,
-0xe3710000,
-0x000a0000,
-0xe59ac014,
-0x1a000000,
-0x00050005,
-0xe3730000,
-0x000a0000,
-0xe59a3010,
-0x037c0000,
-0x000a0000,
-0x1a000000,
-0x00050044,
-0xe3530000,
-0xba000000,
-0x00050004,
-0xe1500002,
-0x00000000,
-0xe1ca21d0,
-0xe3710000,
-0x000a0000,
-0x1a000000,
-0x00050005,
-0xe0900002,
-0xe59a3008,
-0x00000000,
-0x6286bb80,
-0x00000000,
-0x6a000000,
-0x00050002,
-0x00000000,
-0xe3520000,
-0xba000000,
-0x00050004,
-0xe1500003,
-0x00000000,
-0x0006000b,
-0x00000000,
-0xc24b6b80,
-0x00000000,
-0xe24b6b80,
-0xd156b0b2,
-0x00000000,
-0xd24b6b80,
-0x00000000,
-0xe1ca00f0,
-0x00000000,
-0x0006000c,
-0xe5d6c000,
-0xe496e004,
-0xe1ca01f8,
-0x00000000,
-0xda000000,
-0x00070000,
-0x00000000,
-0x0006000d,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x0006000e,
-0x00000000,
-0xe1520000,
-0x00000000,
-0xe1530000,
-0x00000000,
-0xea000000,
-0x0005000b,
-0x0006000f,
-0x00000000,
-0x33730000,
-0x000a0000,
-0x337c0000,
-0x000a0000,
-0x2a000000,
-0x00050044,
-0xe35c0000,
-0xe1ca00f0,
-0xe1ca01f8,
-0xba000000,
-0x00050008,
-0x00000000,
-0xe3530000,
-0xba000000,
-0x00050008,
-0xeb000000,
-0x0003002e,
-0xe1ca00f0,
-0xe1ca20d8,
-0xe1ca01f8,
-0x00000000,
-0x00060010,
-0xeb000000,
-0x00030024,
-0x00000000,
-0x824b6b80,
-0x00000000,
-0xe24b6b80,
-0x9156b0b2,
-0x9a000000,
-0x00070000,
-0x00000000,
-0x924b6b80,
-0x00000000,
-0x9a000000,
-0x00070000,
-0x00000000,
-0xe5d6c000,
-0xe496e004,
-0xea000000,
-0x0005000d,
-0x00060012,
-0x00000000,
-0xeb000000,
-0x0003002e,
-0xe1ca00f0,
-0xe1ca01f8,
-0x00000000,
-0xe1a02000,
-0xe1a03001,
-0xe1ca00d8,
-0xea000000,
-0x00050010,
-0x00000000,
-0xe1a000a6,
-0xe200007e,
-0xe2400000,
-0x000a0000,
-0xe19710b0,
-0xe2511000,
-0x000a0000,
-0xe18710b0,
-0x3a000000,
-0x00050092,
-0x00000000,
-0xe1aa00d9,
-0x00000000,
-0xe3710000,
-0x000a0000,
-0x114a00f8,
-0x1a000000,
-0x00070000,
-0x00000000,
-0xe086b10b,
-0xe3710000,
-0x000a0000,
-0x124b6b80,
-0x114a00f8,
-0x00000000,
-0xe5d6c000,
-0xe496e004,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x00000000,
-0xe1a000a6,
-0xe200007e,
-0xe2400000,
-0x000a0000,
-0xe19710b0,
-0xe2511000,
-0x000a0000,
-0xe18710b0,
-0x3a000000,
-0x00050092,
-0x00000000,
-0xe5d6c000,
-0xe496e004,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x00000000,
-0xe5170000,
-0x000d8180,
-0xe3a01000,
-0xe790b10b,
-0xe5071000,
-0x000d8180,
-0xe51ba000,
-0x000d8180,
-0xe5079000,
-0x000d8180,
-0xe5078000,
-0x000d8180,
-0xe12fff1a,
-0x00000000,
-0xe086b10b,
-0xe24b6b80,
-0xe5d6c000,
-0xe496e004,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x00000000,
-0xe1a000a6,
-0xe200007e,
-0xe2400000,
-0x000a0000,
-0xe19710b0,
-0xe2511000,
-0x000a0000,
-0xe18710b0,
-0x3a000000,
-0x00050094,
-0x00000000,
-0xe5180000,
-0x000d8180,
-0xe5561000,
-0x000d8180,
-0xe5165000,
-0x000d8180,
-0xe15a0000,
-0x8a000000,
-0x00050020,
-0x00000000,
-0xe5d6c000,
-0xe496e004,
-0x00000000,
-0x0006000c,
-0xe15b0181,
-0xe3e03000,
-0x000a0000,
-0x3a000000,
-0x00050003,
-0x00000000,
-0xe1a0b82e,
-0xea000000,
-0x00070000,
-0x00000000,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x00000000,
-0x0006000d,
-0xe18920fb,
-0xe28bb008,
-0xea000000,
-0x0005000c,
-0x00000000,
-0xe7f001f0,
-0x00000000,
-0xe5180000,
-0x000d8180,
-0xe089300b,
-0xe08aa00b,
-0xe5832000,
-0xe28b1000,
-0x000a0000,
-0xe5165000,
-0x000d8180,
-0xe15a0000,
-0xe5831004,
-0x2a000000,
-0x00050020,
-0xe556c000,
-0x000d8180,
-0xe1a0a009,
-0xe1a0b003,
-0xe35c0000,
-0xe2839008,
-0x0a000000,
-0x00050003,
-0xe3e02000,
-0x000a0000,
-0x0006000b,
-0xe15a000b,
-0x30ca00d8,
-0x21a01002,
-0x350a2004,
-0x0006000c,
-0xe25cc001,
-0xe1e300f8,
-0x1a000000,
-0x0005000b,
-0x0006000d,
-0xe5d6c000,
-0xe496e004,
-0xe797c10c,
-0xe004a2ae,
-0xe1a0b82e,
-0xe12fff1c,
-0x00000000,
-0xe5123000,
-0x000d8180,
-0x00000000,
-0xe5173000,
-0x000d8180,
-0x00000000,
-0xe08a100b,
-0xe5180000,
-0x000d8180,
-0xe089b00b,
-0xe5089000,
-0x000d8180,
-0xe1510000,
-0xe508b000,
-0x000d8180,
-0x00000000,
-0xe5121000,
-0x000d8180,
-0x00000000,
-0xe3e02000,
-0x000a0000,
-0xe1a00008,
-0x8a000000,
-0x0005001f,
-0xe5072000,
-0x000d8180,
-0xe12fff33,
-0xe5189000,
-0x000d8180,
-0xe3e02000,
-0x000a0000,
-0xe5181000,
-0x000d8180,
-0xe1a0b180,
-0xe5072000,
-0x000d8180,
-0xe5196004,
-0xe041a00b,
-0xea000000,
-0x00050016,
-0x00000000,
-0x00010000
-};
-
-enum {
- GLOB_vm_returnp,
- GLOB_cont_dispatch,
- GLOB_vm_returnc,
- GLOB_BC_RET_Z,
- GLOB_vm_return,
- GLOB_vm_leave_cp,
- GLOB_vm_leave_unw,
- GLOB_vm_unwind_c,
- GLOB_vm_unwind_c_eh,
- GLOB_vm_unwind_ff,
- GLOB_vm_unwind_ff_eh,
- GLOB_vm_growstack_c,
- GLOB_vm_growstack_l,
- GLOB_vm_resume,
- GLOB_vm_pcall,
- GLOB_vm_call,
- GLOB_vm_call_dispatch,
- GLOB_vmeta_call,
- GLOB_vm_call_dispatch_f,
- GLOB_vm_cpcall,
- GLOB_cont_ffi_callback,
- GLOB_vm_call_tail,
- GLOB_cont_cat,
- GLOB_BC_CAT_Z,
- GLOB_cont_nop,
- GLOB_vmeta_tgets1,
- GLOB_vmeta_tgets,
- GLOB_vmeta_tgetb,
- GLOB_vmeta_tgetv,
- GLOB_vmeta_tsets1,
- GLOB_vmeta_tsets,
- GLOB_vmeta_tsetb,
- GLOB_vmeta_tsetv,
- GLOB_vmeta_comp,
- GLOB_vmeta_binop,
- GLOB_cont_ra,
- GLOB_cont_condt,
- GLOB_cont_condf,
- GLOB_vmeta_equal,
- GLOB_vmeta_equal_cd,
- GLOB_vmeta_arith_vn,
- GLOB_vmeta_arith_nv,
- GLOB_vmeta_unm,
- GLOB_vmeta_arith_vv,
- GLOB_vmeta_len,
- GLOB_BC_LEN_Z,
- GLOB_vmeta_callt,
- GLOB_BC_CALLT2_Z,
- GLOB_vmeta_for,
- GLOB_ff_assert,
- GLOB_fff_fallback,
- GLOB_fff_res,
- GLOB_ff_type,
- GLOB_fff_restv,
- GLOB_ff_getmetatable,
- GLOB_ff_setmetatable,
- GLOB_ff_rawget,
- GLOB_ff_tonumber,
- GLOB_ff_tostring,
- GLOB_fff_gcstep,
- GLOB_ff_next,
- GLOB_ff_pairs,
- GLOB_ff_ipairs_aux,
- GLOB_ff_ipairs,
- GLOB_ff_pcall,
- GLOB_ff_xpcall,
- GLOB_ff_coroutine_resume,
- GLOB_ff_coroutine_wrap_aux,
- GLOB_ff_coroutine_yield,
- GLOB_ff_math_floor,
- GLOB_vm_floor,
- GLOB_ff_math_ceil,
- GLOB_vm_ceil,
- GLOB_ff_math_abs,
- GLOB_fff_res1,
- GLOB_ff_math_sqrt,
- GLOB_ff_math_log,
- GLOB_ff_math_log10,
- GLOB_ff_math_exp,
- GLOB_ff_math_sin,
- GLOB_ff_math_cos,
- GLOB_ff_math_tan,
- GLOB_ff_math_asin,
- GLOB_ff_math_acos,
- GLOB_ff_math_atan,
- GLOB_ff_math_sinh,
- GLOB_ff_math_cosh,
- GLOB_ff_math_tanh,
- GLOB_ff_math_pow,
- GLOB_ff_math_atan2,
- GLOB_ff_math_fmod,
- GLOB_ff_math_deg,
- GLOB_ff_math_rad,
- GLOB_ff_math_ldexp,
- GLOB_ff_math_frexp,
- GLOB_ff_math_modf,
- GLOB_ff_math_min,
- GLOB_ff_math_max,
- GLOB_ff_string_len,
- GLOB_ff_string_byte,
- GLOB_ff_string_char,
- GLOB_fff_newstr,
- GLOB_ff_string_sub,
- GLOB_fff_emptystr,
- GLOB_ff_string_rep,
- GLOB_ff_string_reverse,
- GLOB_ff_string_lower,
- GLOB_ff_string_upper,
- GLOB_ff_table_getn,
- GLOB_vm_tobit_fb,
- GLOB_vm_tobit,
- GLOB_ff_bit_tobit,
- GLOB_ff_bit_band,
- GLOB_ff_bit_bor,
- GLOB_ff_bit_bxor,
- GLOB_ff_bit_bswap,
- GLOB_ff_bit_bnot,
- GLOB_ff_bit_lshift,
- GLOB_ff_bit_rshift,
- GLOB_ff_bit_arshift,
- GLOB_ff_bit_rol,
- GLOB_ff_bit_ror,
- GLOB_vm_record,
- GLOB_vm_rethook,
- GLOB_vm_inshook,
- GLOB_cont_hook,
- GLOB_vm_hotloop,
- GLOB_vm_callhook,
- GLOB_vm_hotcall,
- GLOB_vm_exit_handler,
- GLOB_vm_exit_interp,
- GLOB_vm_trunc,
- GLOB_vm_mod,
- GLOB_vm_modi,
- GLOB_vm_foldarith,
- GLOB_vm_ffi_callback,
- GLOB_vm_ffi_call,
- GLOB_BC_ISEQN_Z,
- GLOB_BC_ISNEN_Z,
- GLOB_BC_TGETS_Z,
- GLOB_BC_TSETS_Z,
- GLOB_BC_CALL_Z,
- GLOB_BC_CALLT1_Z,
- GLOB_BC_RETM_Z,
- GLOB_BC_RETV2_Z,
- GLOB_BC_RETV1_Z,
- GLOB__MAX
-};
-static const char *const globnames[] = {
- "vm_returnp",
- "cont_dispatch",
- "vm_returnc",
- "BC_RET_Z",
- "vm_return",
- "vm_leave_cp",
- "vm_leave_unw",
- "vm_unwind_c",
- "vm_unwind_c_eh",
- "vm_unwind_ff",
- "vm_unwind_ff_eh",
- "vm_growstack_c",
- "vm_growstack_l",
- "vm_resume",
- "vm_pcall",
- "vm_call",
- "vm_call_dispatch",
- "vmeta_call",
- "vm_call_dispatch_f",
- "vm_cpcall",
- "cont_ffi_callback",
- "vm_call_tail",
- "cont_cat",
- "BC_CAT_Z",
- "cont_nop",
- "vmeta_tgets1",
- "vmeta_tgets",
- "vmeta_tgetb",
- "vmeta_tgetv",
- "vmeta_tsets1",
- "vmeta_tsets",
- "vmeta_tsetb",
- "vmeta_tsetv",
- "vmeta_comp",
- "vmeta_binop",
- "cont_ra",
- "cont_condt",
- "cont_condf",
- "vmeta_equal",
- "vmeta_equal_cd",
- "vmeta_arith_vn",
- "vmeta_arith_nv",
- "vmeta_unm",
- "vmeta_arith_vv",
- "vmeta_len",
- "BC_LEN_Z",
- "vmeta_callt",
- "BC_CALLT2_Z",
- "vmeta_for",
- "ff_assert",
- "fff_fallback",
- "fff_res",
- "ff_type",
- "fff_restv",
- "ff_getmetatable",
- "ff_setmetatable",
- "ff_rawget",
- "ff_tonumber",
- "ff_tostring",
- "fff_gcstep",
- "ff_next",
- "ff_pairs",
- "ff_ipairs_aux",
- "ff_ipairs",
- "ff_pcall",
- "ff_xpcall",
- "ff_coroutine_resume",
- "ff_coroutine_wrap_aux",
- "ff_coroutine_yield",
- "ff_math_floor",
- "vm_floor",
- "ff_math_ceil",
- "vm_ceil",
- "ff_math_abs",
- "fff_res1",
- "ff_math_sqrt",
- "ff_math_log",
- "ff_math_log10",
- "ff_math_exp",
- "ff_math_sin",
- "ff_math_cos",
- "ff_math_tan",
- "ff_math_asin",
- "ff_math_acos",
- "ff_math_atan",
- "ff_math_sinh",
- "ff_math_cosh",
- "ff_math_tanh",
- "ff_math_pow",
- "ff_math_atan2",
- "ff_math_fmod",
- "ff_math_deg",
- "ff_math_rad",
- "ff_math_ldexp",
- "ff_math_frexp",
- "ff_math_modf",
- "ff_math_min",
- "ff_math_max",
- "ff_string_len",
- "ff_string_byte",
- "ff_string_char",
- "fff_newstr",
- "ff_string_sub",
- "fff_emptystr",
- "ff_string_rep",
- "ff_string_reverse",
- "ff_string_lower",
- "ff_string_upper",
- "ff_table_getn",
- "vm_tobit_fb",
- "vm_tobit",
- "ff_bit_tobit",
- "ff_bit_band",
- "ff_bit_bor",
- "ff_bit_bxor",
- "ff_bit_bswap",
- "ff_bit_bnot",
- "ff_bit_lshift",
- "ff_bit_rshift",
- "ff_bit_arshift",
- "ff_bit_rol",
- "ff_bit_ror",
- "vm_record",
- "vm_rethook",
- "vm_inshook",
- "cont_hook",
- "vm_hotloop",
- "vm_callhook",
- "vm_hotcall",
- "vm_exit_handler",
- "vm_exit_interp",
- "vm_trunc",
- "vm_mod",
- "vm_modi",
- "vm_foldarith",
- "vm_ffi_callback",
- "vm_ffi_call",
- "BC_ISEQN_Z",
- "BC_ISNEN_Z",
- "BC_TGETS_Z",
- "BC_TSETS_Z",
- "BC_CALL_Z",
- "BC_CALLT1_Z",
- "BC_RETM_Z",
- "BC_RETV2_Z",
- "BC_RETV1_Z",
- (const char *)0
-};
-static const char *const extnames[] = {
- "lj_state_growstack",
- "lj_meta_tget",
- "lj_meta_tset",
- "lj_meta_comp",
- "lj_meta_equal",
- "lj_meta_equal_cd",
- "lj_meta_arith",
- "lj_meta_len",
- "lj_meta_call",
- "lj_meta_for",
- "lj_tab_get",
- "lj_str_fromnumber",
- "lj_tab_next",
- "lj_tab_getinth",
- "lj_ffh_coroutine_wrap_err",
- "sqrt",
- "log",
- "log10",
- "exp",
- "sin",
- "cos",
- "tan",
- "asin",
- "acos",
- "atan",
- "sinh",
- "cosh",
- "tanh",
- "pow",
- "atan2",
- "fmod",
- "__aeabi_dmul",
- "ldexp",
- "frexp",
- "modf",
- "__aeabi_i2d",
- "__aeabi_cdcmple",
- "lj_str_new",
- "lj_tab_len",
- "lj_gc_step",
- "lj_dispatch_ins",
- "lj_trace_hot",
- "lj_dispatch_call",
- "lj_trace_exit",
- "lj_err_throw",
- "__aeabi_ddiv",
- "__aeabi_dadd",
- "__aeabi_dsub",
- "lj_ccallback_enter",
- "lj_ccallback_leave",
- "__aeabi_cdcmpeq",
- "lj_meta_cat",
- "lj_gc_barrieruv",
- "lj_func_closeuv",
- "lj_func_newL_gc",
- "lj_tab_new",
- "lj_tab_dup",
- "lj_gc_step_fixtop",
- "lj_tab_newkey",
- "lj_tab_reasize",
- (const char *)0
-};
-#define Dt1(_V) (int)(ptrdiff_t)&(((lua_State *)0)_V)
-#define Dt2(_V) (int)(ptrdiff_t)&(((global_State *)0)_V)
-#define Dt3(_V) (int)(ptrdiff_t)&(((TValue *)0)_V)
-#define Dt4(_V) (int)(ptrdiff_t)&(((GCobj *)0)_V)
-#define Dt5(_V) (int)(ptrdiff_t)&(((GCstr *)0)_V)
-#define Dt6(_V) (int)(ptrdiff_t)&(((GCtab *)0)_V)
-#define Dt7(_V) (int)(ptrdiff_t)&(((GCfuncL *)0)_V)
-#define Dt8(_V) (int)(ptrdiff_t)&(((GCfuncC *)0)_V)
-#define Dt9(_V) (int)(ptrdiff_t)&(((GCproto *)0)_V)
-#define DtA(_V) (int)(ptrdiff_t)&(((GCupval *)0)_V)
-#define DtB(_V) (int)(ptrdiff_t)&(((Node *)0)_V)
-#define DtC(_V) (int)(ptrdiff_t)&(((int *)0)_V)
-#define DtD(_V) (int)(ptrdiff_t)&(((GCtrace *)0)_V)
-#define field_pc pc
-#define DISPATCH_GL(field) (GG_DISP2G + (int)offsetof(global_State, field))
-#define DISPATCH_J(field) (GG_DISP2J + (int)offsetof(jit_State, field))
-#define PC2PROTO(field) ((int)offsetof(GCproto, field)-(int)sizeof(GCproto))
-
-#if !LJ_DUALNUM
-#error "Only dual-number mode supported for ARM target"
-#endif
-
-/* Generate subroutines used by opcodes and other parts of the VM. */
-/* The .code_sub section should be last to help static branch prediction. */
-static void build_subroutines(BuildCtx *ctx)
-{
- dasm_put(Dst, 0);
- dasm_put(Dst, 1, FRAME_P, ~LJ_TTRUE, FRAME_TYPE, FRAME_TYPEP, FRAME_C, Dt1(->base), LJ_VMST_C, DISPATCH_GL(vmstate), Dt1(->top));
- dasm_put(Dst, 54, Dt1(->cframe), Dt1(->maxstack), ~LJ_TNIL, Dt1(->top), Dt1(->top), LJ_VMST_C, Dt1(->glref), Dt2(->vmstate));
- dasm_put(Dst, 108, ~CFRAME_RAWMASK, Dt1(->base), Dt1(->glref), ~LJ_TFALSE, GG_G2DISP, LJ_VMST_INTERP, DISPATCH_GL(vmstate), LUA_MINSTACK, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top), Dt7(->field_pc), Dt1(->glref));
- dasm_put(Dst, 173, GG_G2DISP, FRAME_CP, CFRAME_RESUME, Dt1(->status), Dt1(->cframe), Dt1(->base), Dt1(->top), Dt1(->status), LJ_VMST_INTERP, FRAME_TYPE, DISPATCH_GL(vmstate), FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe));
- dasm_put(Dst, 238, Dt1(->glref), GG_G2DISP, Dt1(->base), Dt1(->top), LJ_VMST_INTERP, DISPATCH_GL(vmstate), -LJ_TFUNC, Dt7(->field_pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), Dt1(->glref), FRAME_CP, GG_G2DISP);
- dasm_put(Dst, 307);
-#if LJ_HASFFI
- dasm_put(Dst, 312);
-#endif
- dasm_put(Dst, 314, Dt7(->field_pc), ~LJ_TNIL);
-#if LJ_HASFFI
- dasm_put(Dst, 322);
-#endif
- dasm_put(Dst, 325, PC2PROTO(k));
-#if LJ_HASFFI
- dasm_put(Dst, 329);
-#endif
- dasm_put(Dst, 338, Dt1(->base), -DISPATCH_GL(tmptv), ~LJ_TTAB, ~LJ_TSTR, ~LJ_TISNUM, Dt1(->base));
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 395, Dt1(->base));
- }
- dasm_put(Dst, 398, FRAME_CONT, Dt1(->top), -DISPATCH_GL(tmptv), ~LJ_TTAB, ~LJ_TSTR, ~LJ_TISNUM, Dt1(->base));
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 460, Dt1(->base));
- }
- dasm_put(Dst, 463, FRAME_CONT, Dt1(->top), Dt1(->base));
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 499, Dt1(->base));
- }
- dasm_put(Dst, 502, ~LJ_TTRUE, -LJ_TFALSE, Dt1(->base));
-#if LJ_HASFFI
- dasm_put(Dst, 549, Dt1(->base));
-#endif
- dasm_put(Dst, 560, Dt1(->base));
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 597, Dt1(->base));
- }
- dasm_put(Dst, 600, FRAME_CONT, Dt1(->base));
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 621, Dt1(->base));
- }
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 624);
-#else
- dasm_put(Dst, 631);
-#endif
- dasm_put(Dst, 634, Dt1(->base));
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 642);
- }
- dasm_put(Dst, 644);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 647);
- }
- dasm_put(Dst, 649, Dt7(->field_pc), Dt1(->base));
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 670, Dt1(->base));
- }
- dasm_put(Dst, 673, Dt1(->base));
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 687, Dt1(->base));
- }
-#if LJ_HASJIT
- dasm_put(Dst, 690);
-#endif
- dasm_put(Dst, 692);
-#if LJ_HASJIT
- dasm_put(Dst, 694, BC_JFORI);
-#endif
- dasm_put(Dst, 697);
-#if LJ_HASJIT
- dasm_put(Dst, 700, BC_JFORI);
-#endif
- dasm_put(Dst, 703, BC_FORI, -LJ_TTRUE, -LJ_TISNUM, ~LJ_TISNUM, (int)(offsetof(GCfuncC, upvalue)>>3)-1, -LJ_TTAB, -LJ_TUDATA, Dt6(->metatable));
- dasm_put(Dst, 760, ~LJ_TNIL, DISPATCH_GL(gcroot[GCROOT_MMNAME+MM_metatable]), Dt6(->hmask), Dt5(->hash), Dt6(->node), DtB(->key), DtB(->val), DtB(->next), -LJ_TSTR, ~LJ_TTAB, -LJ_TNIL, -LJ_TISNUM);
- dasm_put(Dst, 808, ~LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT]), -LJ_TTAB, Dt6(->metatable), -LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), DISPATCH_GL(gc.grayagain), LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist), -LJ_TTAB);
- dasm_put(Dst, 860);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 865);
- }
- dasm_put(Dst, 867);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 870);
- }
- dasm_put(Dst, 872, -LJ_TISNUM, -LJ_TSTR, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), Dt1(->base), -LJ_TISNUM, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), ~LJ_TSTR);
- dasm_put(Dst, 924, ~LJ_TNIL, -LJ_TTAB, Dt1(->base), Dt1(->top));
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 947, Dt1(->base));
- }
- dasm_put(Dst, 950, ~LJ_TNIL, (2+1)*8, -LJ_TTAB);
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 973, Dt6(->metatable));
-#endif
- dasm_put(Dst, 976, Dt8(->upvalue[0]));
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 980);
-#endif
- dasm_put(Dst, 984, ~LJ_TNIL, (3+1)*8, -LJ_TTAB, -LJ_TISNUM, Dt6(->asize), Dt6(->array), (0+1)*8, -LJ_TNIL, (2+1)*8, Dt6(->hmask));
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1034);
- }
- dasm_put(Dst, 1036);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1039);
- }
- dasm_put(Dst, 1041, -LJ_TTAB);
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 1057, Dt6(->metatable));
-#endif
- dasm_put(Dst, 1060, Dt8(->upvalue[0]));
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 1064);
-#endif
- dasm_put(Dst, 1068, ~LJ_TISNUM, (3+1)*8, DISPATCH_GL(hookmask), HOOK_ACTIVE, 8+FRAME_PCALL, 8+FRAME_PCALLH, DISPATCH_GL(hookmask), -LJ_TFUNC, HOOK_ACTIVE, 16+FRAME_PCALL, 16+FRAME_PCALLH, -LJ_TTHREAD);
- dasm_put(Dst, 1127, Dt1(->base), Dt1(->top), Dt1(->status), Dt1(->base), Dt1(->maxstack), Dt1(->cframe), LUA_YIELD, Dt1(->top), Dt1(->top), Dt1(->base), LJ_VMST_INTERP, Dt1(->top), DISPATCH_GL(vmstate), LUA_YIELD);
- dasm_put(Dst, 1186, Dt1(->base), Dt1(->maxstack), Dt1(->top), ~LJ_TTRUE, FRAME_TYPE, ~LJ_TFALSE, (2+1)*8, Dt1(->top));
- dasm_put(Dst, 1246, Dt8(->upvalue[0].gcr), Dt1(->base), Dt1(->top), Dt1(->status), Dt1(->base), Dt1(->maxstack), Dt1(->cframe), LUA_YIELD, Dt1(->top), Dt1(->top), Dt1(->base), LJ_VMST_INTERP, Dt1(->top), DISPATCH_GL(vmstate), LUA_YIELD);
- dasm_put(Dst, 1302, Dt1(->base), Dt1(->maxstack), Dt1(->top), FRAME_TYPE, Dt1(->cframe), Dt1(->base), CFRAME_RESUME, Dt1(->top));
- dasm_put(Dst, 1361, LUA_YIELD, Dt1(->cframe), Dt1(->status), -LJ_TISNUM, ~LJ_TISNUM, ~LJ_TISNUM);
- dasm_put(Dst, 1429, -LJ_TISNUM, ~LJ_TISNUM, ~LJ_TISNUM);
- dasm_put(Dst, 1493, -LJ_TISNUM, (1+1)*8, FRAME_TYPE, ~LJ_TNIL);
- dasm_put(Dst, 1555, -LJ_TISNUM);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1564);
- }
- dasm_put(Dst, 1566);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1569);
- }
- dasm_put(Dst, 1571, -LJ_TISNUM);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1583);
- }
- dasm_put(Dst, 1585);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1588);
- }
- dasm_put(Dst, 1590, -LJ_TISNUM);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1602);
- }
- dasm_put(Dst, 1604);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1607);
- }
- dasm_put(Dst, 1609, -LJ_TISNUM);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1621);
- }
- dasm_put(Dst, 1623);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1626);
- }
- dasm_put(Dst, 1628, -LJ_TISNUM);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1640);
- }
- dasm_put(Dst, 1642);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1645);
- }
- dasm_put(Dst, 1647, -LJ_TISNUM);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1659);
- }
- dasm_put(Dst, 1661);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1664);
- }
- dasm_put(Dst, 1666, -LJ_TISNUM);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1678);
- }
- dasm_put(Dst, 1680);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1683);
- }
- dasm_put(Dst, 1685, -LJ_TISNUM);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1697);
- }
- dasm_put(Dst, 1699);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1702);
- }
- dasm_put(Dst, 1704, -LJ_TISNUM);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1716);
- }
- dasm_put(Dst, 1718);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1721);
- }
- dasm_put(Dst, 1723, -LJ_TISNUM);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1735);
- }
- dasm_put(Dst, 1737);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1740);
- }
- dasm_put(Dst, 1742, -LJ_TISNUM);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1754);
- }
- dasm_put(Dst, 1756);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1759);
- }
- dasm_put(Dst, 1761, -LJ_TISNUM);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1773);
- }
- dasm_put(Dst, 1775);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1778);
- }
- dasm_put(Dst, 1780, -LJ_TISNUM);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1792);
- }
- dasm_put(Dst, 1794);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1797);
- }
- dasm_put(Dst, 1799, -LJ_TISNUM, -LJ_TISNUM);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1814);
- }
- dasm_put(Dst, 1816);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1819);
- }
- dasm_put(Dst, 1821, -LJ_TISNUM, -LJ_TISNUM);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1836);
- }
- dasm_put(Dst, 1838);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1841);
- }
- dasm_put(Dst, 1843, -LJ_TISNUM, -LJ_TISNUM);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1858);
- }
- dasm_put(Dst, 1860);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1863);
- }
- dasm_put(Dst, 1865, -LJ_TISNUM, Dt8(->upvalue[0]), -LJ_TISNUM, -LJ_TISNUM);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1898);
- }
- dasm_put(Dst, 1900);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1903);
- }
- dasm_put(Dst, 1905, -LJ_TISNUM);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1918);
- }
- dasm_put(Dst, 1920);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1923);
- }
- dasm_put(Dst, 1925, ~LJ_TISNUM, (2+1)*8, -LJ_TISNUM);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1947);
- }
- dasm_put(Dst, 1949);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 1952);
- }
- dasm_put(Dst, 1954, (2+1)*8, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM);
- dasm_put(Dst, 2005, -LJ_TISNUM, -LJ_TISNUM);
- dasm_put(Dst, 2059, -LJ_TISNUM, -LJ_TSTR, Dt5(->len), ~LJ_TISNUM, -LJ_TSTR, Dt5(->len), Dt5([1]));
- dasm_put(Dst, 2113, ~LJ_TISNUM, (0+1)*8, (1+1)*8, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TISNUM, Dt1(->base), Dt1(->base), ~LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
- dasm_put(Dst, 2172, -LJ_TISNUM, -LJ_TSTR, Dt5(->len), -LJ_TISNUM, sizeof(GCstr)-1, -DISPATCH_GL(strempty), ~LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TSTR, -LJ_TISNUM, Dt5(->len));
- dasm_put(Dst, 2234, DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), Dt5([1]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), sizeof(GCstr));
- dasm_put(Dst, 2287, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), sizeof(GCstr), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
- dasm_put(Dst, 2347, -LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), sizeof(GCstr), -LJ_TTAB);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 2385);
- }
- dasm_put(Dst, 2387);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 2390);
- }
- dasm_put(Dst, 2392, ~LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM);
- dasm_put(Dst, 2463, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM);
- dasm_put(Dst, 2523, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM);
- dasm_put(Dst, 2579, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM);
- dasm_put(Dst, 2636, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, Dt1(->maxstack), Dt1(->top), Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->base), Dt1(->top), Dt7(->field_pc), FRAME_TYPE, FRAME_TYPEP);
- dasm_put(Dst, 2699, LUA_MINSTACK, Dt1(->base), Dt1(->base), Dt1(->top), Dt1(->base));
-#if LJ_HASJIT
- dasm_put(Dst, 2734, DISPATCH_GL(hookmask), HOOK_VMEVENT, DISPATCH_GL(hookcount), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
-#endif
- dasm_put(Dst, 2754, DISPATCH_GL(hookmask), HOOK_ACTIVE, GG_DISP2STATIC, DISPATCH_GL(hookmask), DISPATCH_GL(hookcount), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE, Dt1(->base), Dt1(->base));
- dasm_put(Dst, 2800, GG_DISP2STATIC);
-#if LJ_HASJIT
- dasm_put(Dst, 2816, -GG_DISP2J, Dt7(->field_pc), DISPATCH_J(L), PC2PROTO(framesize), Dt1(->base), Dt1(->top));
-#endif
- dasm_put(Dst, 2837);
-#if LJ_HASJIT
- dasm_put(Dst, 2840);
-#endif
- dasm_put(Dst, 2843);
-#if LJ_HASJIT
- dasm_put(Dst, 2845);
-#endif
- dasm_put(Dst, 2848, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
-#if LJ_HASJIT
- dasm_put(Dst, 2871, LJ_VMST_EXIT, DISPATCH_GL(vmstate), DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(exitno), DISPATCH_J(L), Dt1(->base), DISPATCH_GL(jit_L), -GG_DISP2J, Dt1(->cframe), Dt1(->base), ~CFRAME_RAWMASK);
-#endif
- dasm_put(Dst, 2919);
-#if LJ_HASJIT
- dasm_put(Dst, 2921, Dt7(->field_pc), DISPATCH_GL(jit_L), LJ_VMST_INTERP, PC2PROTO(k), DISPATCH_GL(vmstate), BC_FUNCF);
-#endif
- dasm_put(Dst, 2958);
-#if LJ_HASJIT
- dasm_put(Dst, 3034);
-#endif
- dasm_put(Dst, 3048);
- {
- int i;
- for (i = 31; i >= 0; i--) {
- dasm_put(Dst, 3084, i, i);
- }
- }
- dasm_put(Dst, 3089);
-#if LJ_HASJIT
- dasm_put(Dst, 3118);
-#else
- dasm_put(Dst, 3143);
-#endif
- dasm_put(Dst, 3145);
-#if LJ_HASFFI
-#define DtE(_V) (int)(ptrdiff_t)&(((CTState *)0)_V)
- dasm_put(Dst, 3147, Dt2(->ctype_state), GG_G2DISP, DtE(->cb.gpr[0]), DtE(->cb.gpr[2]), CFRAME_SIZE, DtE(->cb.stack), DtE(->cb.slot), Dt1(->base), LJ_VMST_INTERP, Dt1(->top), DISPATCH_GL(vmstate), Dt7(->field_pc));
-#endif
- dasm_put(Dst, 3190);
-#if LJ_HASFFI
- dasm_put(Dst, 3192, DISPATCH_GL(ctype_state), Dt1(->base), Dt1(->top), DtE(->L), DtE(->cb.gpr[0]));
-#endif
- dasm_put(Dst, 3209);
-#if LJ_HASFFI
-#define DtF(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
- dasm_put(Dst, 3211, DtF(->spadj), DtF(->nsp), offsetof(CCallState, stack), DtF(->func), DtF(->gpr[0]), DtF(->gpr[1]), DtF(->gpr[2]), DtF(->gpr[3]), DtF(->gpr[0]), DtF(->gpr[1]));
-#endif
-}
-
-/* Generate the code for a single instruction. */
-static void build_ins(BuildCtx *ctx, BCOp op, int defop)
-{
- int vk = 0;
- dasm_put(Dst, 3249, defop);
-
- switch (op) {
-
- /* -- Comparison ops ---------------------------------------------------- */
-
- /* Remember: all ops branch for a true comparison, fall through otherwise. */
-
- case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
- dasm_put(Dst, 3251, -LJ_TISNUM, -LJ_TISNUM);
- if (op == BC_ISLT) {
- dasm_put(Dst, 3267);
- } else if (op == BC_ISGE) {
- dasm_put(Dst, 3269);
- } else if (op == BC_ISLE) {
- dasm_put(Dst, 3271);
- } else {
- dasm_put(Dst, 3273);
- }
- dasm_put(Dst, 3275, -LJ_TISNUM);
- if (op == BC_ISLT) {
- dasm_put(Dst, 3311);
- } else if (op == BC_ISGE) {
- dasm_put(Dst, 3313);
- } else if (op == BC_ISLE) {
- dasm_put(Dst, 3315);
- } else {
- dasm_put(Dst, 3317);
- }
- dasm_put(Dst, 3319);
- break;
-
- case BC_ISEQV: case BC_ISNEV:
- vk = op == BC_ISEQV;
- dasm_put(Dst, 3322, -LJ_TISNUM, -LJ_TISNUM);
- if (vk) {
- dasm_put(Dst, 3333);
- } else {
- dasm_put(Dst, 3336);
- }
- if (LJ_HASFFI) {
- dasm_put(Dst, 3339, -LJ_TCDATA, -LJ_TCDATA);
- }
- dasm_put(Dst, 3346, -LJ_TISPRI);
- if (vk) {
- dasm_put(Dst, 3355, -LJ_TISTABUD);
- } else {
- dasm_put(Dst, 3372, -LJ_TISTABUD);
- }
- dasm_put(Dst, 3379, Dt6(->metatable));
- if (vk) {
- dasm_put(Dst, 3383);
- } else {
- dasm_put(Dst, 3386);
- }
- dasm_put(Dst, 3389, Dt6(->nomm), 1-vk, 1<<MM_eq);
- if (vk) {
- dasm_put(Dst, 3399);
- } else {
- dasm_put(Dst, 3402);
- }
- break;
-
- case BC_ISEQS: case BC_ISNES:
- vk = op == BC_ISEQS;
- dasm_put(Dst, 3412, -LJ_TSTR);
- if (LJ_HASFFI) {
- dasm_put(Dst, 3421);
- } else {
- dasm_put(Dst, 3425);
- }
- if (vk) {
- dasm_put(Dst, 3427);
- } else {
- dasm_put(Dst, 3430);
- }
- dasm_put(Dst, 3433);
- if (LJ_HASFFI) {
- dasm_put(Dst, 3440, -LJ_TCDATA);
- }
- break;
-
- case BC_ISEQN: case BC_ISNEN:
- vk = op == BC_ISEQN;
- dasm_put(Dst, 3448);
- if (vk) {
- dasm_put(Dst, 3455);
- } else {
- dasm_put(Dst, 3457);
- }
- dasm_put(Dst, 3459, -LJ_TISNUM, -LJ_TISNUM);
- if (vk) {
- dasm_put(Dst, 3469);
- } else {
- dasm_put(Dst, 3472);
- }
- dasm_put(Dst, 3475);
- if (LJ_HASFFI) {
- dasm_put(Dst, 3484);
- } else {
- if (!vk) {
- dasm_put(Dst, 3487);
- }
- dasm_put(Dst, 3489);
- }
- dasm_put(Dst, 3492, -LJ_TISNUM);
- if (vk) {
- dasm_put(Dst, 3508);
- } else {
- dasm_put(Dst, 3510);
- }
- dasm_put(Dst, 3512);
- if (LJ_HASFFI) {
- dasm_put(Dst, 3515, -LJ_TCDATA);
- }
- break;
-
- case BC_ISEQP: case BC_ISNEP:
- vk = op == BC_ISEQP;
- dasm_put(Dst, 3523);
- if (LJ_HASFFI) {
- dasm_put(Dst, 3529, -LJ_TCDATA);
- }
- dasm_put(Dst, 3534);
- if (vk) {
- dasm_put(Dst, 3536);
- } else {
- dasm_put(Dst, 3538);
- }
- dasm_put(Dst, 3540);
- break;
-
- /* -- Unary test and copy ops ------------------------------------------- */
-
- case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
- dasm_put(Dst, 3547, -LJ_TTRUE);
- if (op == BC_ISTC || op == BC_IST) {
- dasm_put(Dst, 3555);
- if (op == BC_ISTC) {
- dasm_put(Dst, 3557);
- }
- } else {
- dasm_put(Dst, 3559);
- if (op == BC_ISFC) {
- dasm_put(Dst, 3561);
- }
- }
- dasm_put(Dst, 3563);
- break;
-
- /* -- Unary ops --------------------------------------------------------- */
-
- case BC_MOV:
- dasm_put(Dst, 3570);
- break;
- case BC_NOT:
- dasm_put(Dst, 3580, -LJ_TTRUE, ~LJ_TFALSE, ~LJ_TTRUE);
- break;
- case BC_UNM:
- dasm_put(Dst, 3597, -LJ_TISNUM);
- break;
- case BC_LEN:
- dasm_put(Dst, 3623, -LJ_TSTR, Dt5(->len), ~LJ_TISNUM, -LJ_TTAB);
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 3647, Dt6(->metatable));
-#endif
- dasm_put(Dst, 3654);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 3656);
- }
- dasm_put(Dst, 3658);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 3661);
- }
- dasm_put(Dst, 3663);
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 3666, Dt6(->nomm), 1<<MM_len);
-#endif
- break;
-
- /* -- Binary ops -------------------------------------------------------- */
-
-
- case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
- dasm_put(Dst, 3676);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 3679);
- break;
- case 1:
- dasm_put(Dst, 3682);
- break;
- default:
- dasm_put(Dst, 3685);
- break;
- }
- dasm_put(Dst, 3688);
- if (vk == 1) {
- dasm_put(Dst, 3690, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 3695, -LJ_TISNUM, -LJ_TISNUM);
- }
- dasm_put(Dst, 3700);
- switch (vk) {
- case 0:
- dasm_put(Dst, 3704);
- break;
- case 1:
- dasm_put(Dst, 3707);
- break;
- default:
- dasm_put(Dst, 3710);
- break;
- }
- dasm_put(Dst, 3713);
- switch (vk) {
- case 0:
- if (vk == 1) {
- dasm_put(Dst, 3722, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 3727, -LJ_TISNUM, -LJ_TISNUM);
- }
- dasm_put(Dst, 3732);
- break;
- case 1:
- if (vk == 1) {
- dasm_put(Dst, 3735, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 3740, -LJ_TISNUM, -LJ_TISNUM);
- }
- dasm_put(Dst, 3745);
- break;
- default:
- if (vk == 1) {
- dasm_put(Dst, 3748, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 3753, -LJ_TISNUM, -LJ_TISNUM);
- }
- dasm_put(Dst, 3758);
- break;
- }
- dasm_put(Dst, 3761);
- break;
- case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
- dasm_put(Dst, 3767);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 3770);
- break;
- case 1:
- dasm_put(Dst, 3773);
- break;
- default:
- dasm_put(Dst, 3776);
- break;
- }
- dasm_put(Dst, 3779);
- if (vk == 1) {
- dasm_put(Dst, 3781, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 3786, -LJ_TISNUM, -LJ_TISNUM);
- }
- dasm_put(Dst, 3791);
- switch (vk) {
- case 0:
- dasm_put(Dst, 3795);
- break;
- case 1:
- dasm_put(Dst, 3798);
- break;
- default:
- dasm_put(Dst, 3801);
- break;
- }
- dasm_put(Dst, 3804);
- switch (vk) {
- case 0:
- if (vk == 1) {
- dasm_put(Dst, 3813, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 3818, -LJ_TISNUM, -LJ_TISNUM);
- }
- dasm_put(Dst, 3823);
- break;
- case 1:
- if (vk == 1) {
- dasm_put(Dst, 3826, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 3831, -LJ_TISNUM, -LJ_TISNUM);
- }
- dasm_put(Dst, 3836);
- break;
- default:
- if (vk == 1) {
- dasm_put(Dst, 3839, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 3844, -LJ_TISNUM, -LJ_TISNUM);
- }
- dasm_put(Dst, 3849);
- break;
- }
- dasm_put(Dst, 3852);
- break;
- case BC_MULVN: case BC_MULNV: case BC_MULVV:
- dasm_put(Dst, 3858);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 3861);
- break;
- case 1:
- dasm_put(Dst, 3864);
- break;
- default:
- dasm_put(Dst, 3867);
- break;
- }
- dasm_put(Dst, 3870);
- if (vk == 1) {
- dasm_put(Dst, 3872, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 3877, -LJ_TISNUM, -LJ_TISNUM);
- }
- dasm_put(Dst, 3882);
- switch (vk) {
- case 0:
- dasm_put(Dst, 3887);
- break;
- case 1:
- dasm_put(Dst, 3890);
- break;
- default:
- dasm_put(Dst, 3893);
- break;
- }
- dasm_put(Dst, 3896);
- switch (vk) {
- case 0:
- if (vk == 1) {
- dasm_put(Dst, 3905, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 3910, -LJ_TISNUM, -LJ_TISNUM);
- }
- dasm_put(Dst, 3915);
- break;
- case 1:
- if (vk == 1) {
- dasm_put(Dst, 3918, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 3923, -LJ_TISNUM, -LJ_TISNUM);
- }
- dasm_put(Dst, 3928);
- break;
- default:
- if (vk == 1) {
- dasm_put(Dst, 3931, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 3936, -LJ_TISNUM, -LJ_TISNUM);
- }
- dasm_put(Dst, 3941);
- break;
- }
- dasm_put(Dst, 3944);
- break;
- case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
- dasm_put(Dst, 3950);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 3953);
- break;
- case 1:
- dasm_put(Dst, 3956);
- break;
- default:
- dasm_put(Dst, 3959);
- break;
- }
- switch (vk) {
- case 0:
- if (vk == 1) {
- dasm_put(Dst, 3962, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 3967, -LJ_TISNUM, -LJ_TISNUM);
- }
- dasm_put(Dst, 3972);
- break;
- case 1:
- if (vk == 1) {
- dasm_put(Dst, 3975, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 3980, -LJ_TISNUM, -LJ_TISNUM);
- }
- dasm_put(Dst, 3985);
- break;
- default:
- if (vk == 1) {
- dasm_put(Dst, 3988, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 3993, -LJ_TISNUM, -LJ_TISNUM);
- }
- dasm_put(Dst, 3998);
- break;
- }
- dasm_put(Dst, 4001);
- break;
- case BC_MODVN: case BC_MODNV: case BC_MODVV:
- dasm_put(Dst, 4011);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 4014);
- break;
- case 1:
- dasm_put(Dst, 4017);
- break;
- default:
- dasm_put(Dst, 4020);
- break;
- }
- if (vk == 1) {
- dasm_put(Dst, 4023, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 4028, -LJ_TISNUM, -LJ_TISNUM);
- }
- dasm_put(Dst, 4033);
- switch (vk) {
- case 0:
- dasm_put(Dst, 4037);
- break;
- case 1:
- dasm_put(Dst, 4040);
- break;
- default:
- dasm_put(Dst, 4043);
- break;
- }
- dasm_put(Dst, 4046, ~LJ_TISNUM);
- switch (vk) {
- case 0:
- if (vk == 1) {
- dasm_put(Dst, 4060, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 4065, -LJ_TISNUM, -LJ_TISNUM);
- }
- dasm_put(Dst, 4070);
- break;
- case 1:
- if (vk == 1) {
- dasm_put(Dst, 4073, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 4078, -LJ_TISNUM, -LJ_TISNUM);
- }
- dasm_put(Dst, 4083);
- break;
- default:
- if (vk == 1) {
- dasm_put(Dst, 4086, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 4091, -LJ_TISNUM, -LJ_TISNUM);
- }
- dasm_put(Dst, 4096);
- break;
- }
- dasm_put(Dst, 4099);
- break;
- case BC_POW:
- dasm_put(Dst, 4104);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 4107);
- break;
- case 1:
- dasm_put(Dst, 4110);
- break;
- default:
- dasm_put(Dst, 4113);
- break;
- }
- switch (vk) {
- case 0:
- if (vk == 1) {
- dasm_put(Dst, 4116, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 4121, -LJ_TISNUM, -LJ_TISNUM);
- }
- dasm_put(Dst, 4126);
- break;
- case 1:
- if (vk == 1) {
- dasm_put(Dst, 4129, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 4134, -LJ_TISNUM, -LJ_TISNUM);
- }
- dasm_put(Dst, 4139);
- break;
- default:
- if (vk == 1) {
- dasm_put(Dst, 4142, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 4147, -LJ_TISNUM, -LJ_TISNUM);
- }
- dasm_put(Dst, 4152);
- break;
- }
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 4155);
- }
- dasm_put(Dst, 4157);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 4160);
- }
- dasm_put(Dst, 4162);
- break;
-
- case BC_CAT:
- dasm_put(Dst, 4170, Dt1(->base), Dt1(->base));
- break;
-
- /* -- Constant ops ------------------------------------------------------ */
-
- case BC_KSTR:
- dasm_put(Dst, 4196, ~LJ_TSTR);
- break;
- case BC_KCDATA:
-#if LJ_HASFFI
- dasm_put(Dst, 4208, ~LJ_TCDATA);
-#endif
- break;
- case BC_KSHORT:
- dasm_put(Dst, 4220, ~LJ_TISNUM);
- break;
- case BC_KNUM:
- dasm_put(Dst, 4231);
- break;
- case BC_KPRI:
- dasm_put(Dst, 4241);
- break;
- case BC_KNIL:
- dasm_put(Dst, 4251, ~LJ_TNIL);
- break;
-
- /* -- Upvalue and function ops ------------------------------------------ */
-
- case BC_UGET:
- dasm_put(Dst, 4270, offsetof(GCfuncL, uvptr), DtA(->v));
- break;
- case BC_USETV:
- dasm_put(Dst, 4286, offsetof(GCfuncL, uvptr), DtA(->marked), DtA(->closed), DtA(->v), LJ_GC_BLACK, -LJ_TISGCV, -(LJ_TISNUM - LJ_TISGCV), Dt4(->gch.marked), -GG_DISP2G, LJ_GC_WHITES);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 4326);
- } else {
- dasm_put(Dst, 4333);
- }
- dasm_put(Dst, 4336);
- break;
- case BC_USETS:
- dasm_put(Dst, 4339, offsetof(GCfuncL, uvptr), ~LJ_TSTR, DtA(->marked), DtA(->v), DtA(->closed), LJ_GC_BLACK, Dt5(->marked), LJ_GC_WHITES, -GG_DISP2G);
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 4375);
- } else {
- dasm_put(Dst, 4382);
- }
- dasm_put(Dst, 4385);
- break;
- case BC_USETN:
- dasm_put(Dst, 4388, offsetof(GCfuncL, uvptr), DtA(->v));
- break;
- case BC_USETP:
- dasm_put(Dst, 4405, offsetof(GCfuncL, uvptr), DtA(->v));
- break;
-
- case BC_UCLO:
- dasm_put(Dst, 4421, Dt1(->openupval), Dt1(->base), Dt1(->base));
- break;
-
- case BC_FNEW:
- dasm_put(Dst, 4444, Dt1(->base), Dt1(->base), ~LJ_TFUNC);
- break;
-
- /* -- Table ops --------------------------------------------------------- */
-
- case BC_TNEW:
- case BC_TDUP:
- if (op == BC_TDUP) {
- dasm_put(Dst, 4465);
- }
- dasm_put(Dst, 4467, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base));
- if (op == BC_TNEW) {
- dasm_put(Dst, 4480);
- } else {
- dasm_put(Dst, 4489);
- }
- dasm_put(Dst, 4493, Dt1(->base), ~LJ_TTAB);
- break;
-
- case BC_GGET:
- case BC_GSET:
- dasm_put(Dst, 4511, Dt7(->env));
- if (op == BC_GGET) {
- dasm_put(Dst, 4517);
- } else {
- dasm_put(Dst, 4520);
- }
- break;
-
- case BC_TGETV:
- dasm_put(Dst, 4523, -LJ_TTAB, -LJ_TISNUM, Dt6(->array), Dt6(->asize), -LJ_TNIL, Dt6(->metatable), Dt6(->nomm), 1<<MM_index, -LJ_TSTR);
- break;
- case BC_TGETS:
- dasm_put(Dst, 4580, -LJ_TTAB, Dt6(->hmask), Dt5(->hash), Dt6(->node), DtB(->key), DtB(->val), DtB(->next), -LJ_TSTR, -LJ_TNIL, Dt6(->metatable), ~LJ_TNIL, Dt6(->nomm));
- dasm_put(Dst, 4640, 1<<MM_index);
- break;
- case BC_TGETB:
- dasm_put(Dst, 4647, -LJ_TTAB, Dt6(->asize), Dt6(->array), -LJ_TNIL, Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
- break;
-
- case BC_TSETV:
- dasm_put(Dst, 4690, -LJ_TTAB, -LJ_TISNUM, Dt6(->array), Dt6(->asize), -LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
- dasm_put(Dst, 4750, DISPATCH_GL(gc.grayagain), LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist), -LJ_TSTR);
- break;
- case BC_TSETS:
- dasm_put(Dst, 4771, -LJ_TTAB, Dt6(->hmask), Dt5(->hash), Dt6(->node), Dt6(->nomm), DtB(->key), DtB(->val.it), DtB(->next), -LJ_TSTR, Dt6(->marked), -LJ_TNIL, LJ_GC_BLACK, DtB(->val));
- dasm_put(Dst, 4829, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->metatable), Dt1(->base), Dt6(->nomm), 1<<MM_newindex, ~LJ_TSTR, Dt1(->base), DISPATCH_GL(gc.grayagain), LJ_GC_BLACK);
- dasm_put(Dst, 4882, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
- break;
- case BC_TSETB:
- dasm_put(Dst, 4891, -LJ_TTAB, Dt6(->asize), Dt6(->array), -LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DISPATCH_GL(gc.grayagain), LJ_GC_BLACK);
- dasm_put(Dst, 4949, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
- break;
-
- case BC_TSETM:
- dasm_put(Dst, 4958, Dt6(->asize), Dt6(->array), Dt6(->marked), LJ_GC_BLACK, Dt1(->base));
- if (LJ_TARGET_IOS) {
- dasm_put(Dst, 5003, Dt1(->base));
- }
- dasm_put(Dst, 5006, DISPATCH_GL(gc.grayagain), LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
- break;
-
- /* -- Calls and vararg handling ----------------------------------------- */
-
- case BC_CALLM:
- dasm_put(Dst, 5022);
- break;
- case BC_CALL:
- dasm_put(Dst, 5028, -LJ_TFUNC, Dt7(->field_pc));
- break;
-
- case BC_CALLMT:
- dasm_put(Dst, 5048);
- break;
- case BC_CALLT:
- dasm_put(Dst, 5053, -LJ_TFUNC, Dt7(->ffid), FRAME_TYPE, Dt7(->field_pc), Dt7(->field_pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP);
- dasm_put(Dst, 5114, FRAME_TYPE);
- break;
-
- case BC_ITERC:
- dasm_put(Dst, 5125, -LJ_TFUNC, Dt7(->field_pc));
- break;
-
- case BC_ITERN:
-#if LJ_HASJIT
-#endif
- dasm_put(Dst, 5149, Dt6(->asize), Dt6(->array), -LJ_TNIL, ~LJ_TISNUM, Dt6(->hmask), Dt6(->node), DtB(->val), -LJ_TNIL, DtB(->key));
- break;
-
- case BC_ISNEXT:
- dasm_put(Dst, 5214, -LJ_TFUNC, Dt8(->ffid), -LJ_TTAB, -LJ_TNIL, FF_next_N, BC_JMP, BC_ITERC);
- break;
-
- case BC_VARG:
- dasm_put(Dst, 5253, FRAME_VARG, ~LJ_TNIL, Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->base));
- break;
-
- /* -- Returns ----------------------------------------------------------- */
-
- case BC_RETM:
- dasm_put(Dst, 5325);
- break;
-
- case BC_RET:
- dasm_put(Dst, 5332, FRAME_TYPE, FRAME_VARG, Dt7(->field_pc), PC2PROTO(k), ~LJ_TNIL, FRAME_TYPEP);
- break;
-
- case BC_RET0: case BC_RET1:
- dasm_put(Dst, 5397, FRAME_TYPE, FRAME_VARG);
- if (op == BC_RET1) {
- dasm_put(Dst, 5408);
- }
- dasm_put(Dst, 5410);
- if (op == BC_RET1) {
- dasm_put(Dst, 5413);
- }
- dasm_put(Dst, 5415, Dt7(->field_pc), PC2PROTO(k), ~LJ_TNIL);
- break;
-
- /* -- Loops and branches ------------------------------------------------ */
-
-
- case BC_FORL:
-#if LJ_HASJIT
- dasm_put(Dst, 5441, -GG_DISP2HOT, HOTCOUNT_LOOP);
-#endif
- break;
-
- case BC_JFORI:
- case BC_JFORL:
-#if !LJ_HASJIT
- break;
-#endif
- case BC_FORI:
- case BC_IFORL:
- vk = (op == BC_IFORL || op == BC_JFORL);
- dasm_put(Dst, 5452);
- if (op != BC_JFORL) {
- dasm_put(Dst, 5454);
- }
- if (!vk) {
- dasm_put(Dst, 5456, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 5474, -LJ_TISNUM);
- if (op == BC_IFORL) {
- dasm_put(Dst, 5482);
- } else {
- dasm_put(Dst, 5484);
- }
- dasm_put(Dst, 5487);
- }
- dasm_put(Dst, 5492);
- if (op == BC_FORI) {
- dasm_put(Dst, 5494);
- } else if (op == BC_JFORI) {
- dasm_put(Dst, 5496);
- } else if (op == BC_IFORL) {
- dasm_put(Dst, 5499);
- }
- if (vk) {
- dasm_put(Dst, 5501);
- }
- dasm_put(Dst, 5503);
- if (op == BC_JFORI || op == BC_JFORL) {
- dasm_put(Dst, 5508, BC_JLOOP);
- }
- dasm_put(Dst, 5511);
- if (!vk) {
- dasm_put(Dst, 5518);
- } else {
- dasm_put(Dst, 5520);
- }
- dasm_put(Dst, 5522);
- if (!vk) {
- dasm_put(Dst, 5526, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 5538);
- }
- dasm_put(Dst, 5547);
- if (op == BC_FORI) {
- dasm_put(Dst, 5551);
- } else if (op == BC_JFORI) {
- dasm_put(Dst, 5553, BC_JLOOP);
- } else if (op == BC_IFORL) {
- dasm_put(Dst, 5558);
- } else {
- dasm_put(Dst, 5560, BC_JLOOP);
- }
- dasm_put(Dst, 5563);
- if (vk) {
- dasm_put(Dst, 5569);
- }
- dasm_put(Dst, 5574);
- break;
-
- case BC_ITERL:
-#if LJ_HASJIT
- dasm_put(Dst, 5580, -GG_DISP2HOT, HOTCOUNT_LOOP);
-#endif
- break;
-
- case BC_JITERL:
-#if !LJ_HASJIT
- break;
-#endif
- case BC_IITERL:
- dasm_put(Dst, 5591);
- if (op == BC_JITERL) {
- dasm_put(Dst, 5593, -LJ_TNIL, BC_JLOOP);
- } else {
- dasm_put(Dst, 5599, -LJ_TNIL);
- }
- dasm_put(Dst, 5605);
- break;
-
- case BC_LOOP:
-#if LJ_HASJIT
- dasm_put(Dst, 5612, -GG_DISP2HOT, HOTCOUNT_LOOP);
-#endif
- break;
-
- case BC_ILOOP:
- dasm_put(Dst, 5623);
- break;
-
- case BC_JLOOP:
-#if LJ_HASJIT
- dasm_put(Dst, 5630, DISPATCH_J(trace), DISPATCH_GL(vmstate), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
-#endif
- break;
-
- case BC_JMP:
- dasm_put(Dst, 5644);
- break;
-
- /* -- Function headers -------------------------------------------------- */
-
- case BC_FUNCF:
-#if LJ_HASJIT
- dasm_put(Dst, 5653, -GG_DISP2HOT, HOTCOUNT_CALL);
-#endif
- case BC_FUNCV: /* NYI: compiled vararg functions. */
- break;
-
- case BC_JFUNCF:
-#if !LJ_HASJIT
- break;
-#endif
- case BC_IFUNCF:
- dasm_put(Dst, 5664, Dt1(->maxstack), -4+PC2PROTO(numparams), -4+PC2PROTO(k));
- if (op != BC_JFUNCF) {
- dasm_put(Dst, 5674);
- }
- dasm_put(Dst, 5677, ~LJ_TNIL);
- if (op == BC_JFUNCF) {
- dasm_put(Dst, 5684, BC_JLOOP);
- } else {
- dasm_put(Dst, 5688);
- }
- dasm_put(Dst, 5693);
- break;
-
- case BC_JFUNCV:
-#if !LJ_HASJIT
- break;
-#endif
- dasm_put(Dst, 5699);
- break; /* NYI: compiled vararg functions. */
-
- case BC_IFUNCV:
- dasm_put(Dst, 5701, Dt1(->maxstack), 8+FRAME_VARG, -4+PC2PROTO(k), -4+PC2PROTO(numparams), ~LJ_TNIL);
- break;
-
- case BC_FUNCC:
- case BC_FUNCCW:
- if (op == BC_FUNCC) {
- dasm_put(Dst, 5742, Dt8(->f));
- } else {
- dasm_put(Dst, 5745, DISPATCH_GL(wrapf));
- }
- dasm_put(Dst, 5748, Dt1(->maxstack), Dt1(->base), Dt1(->top));
- if (op == BC_FUNCCW) {
- dasm_put(Dst, 5758, Dt8(->f));
- }
- dasm_put(Dst, 5761, LJ_VMST_C, DISPATCH_GL(vmstate), Dt1(->base), LJ_VMST_INTERP, Dt1(->top), DISPATCH_GL(vmstate));
- break;
-
- /* ---------------------------------------------------------------------- */
-
- default:
- fprintf(stderr, "Error: undefined opcode BC_%s\n", bc_names[op]);
- exit(2);
- break;
- }
-}
-
-static int build_backend(BuildCtx *ctx)
-{
- int op;
-
- dasm_growpc(Dst, BC__MAX);
-
- build_subroutines(ctx);
-
- dasm_put(Dst, 5783);
- for (op = 0; op < BC__MAX; op++)
- build_ins(ctx, (BCOp)op, op);
-
- return BC__MAX;
-}
-
-/* Emit pseudo frame-info for all assembler functions. */
-static void emit_asm_debug(BuildCtx *ctx)
-{
- int fcofs = (int)((uint8_t *)ctx->glob[GLOB_vm_ffi_call] - ctx->code);
- int i;
- switch (ctx->mode) {
- case BUILD_elfasm:
- fprintf(ctx->fp, "\t.section .debug_frame,\"\",%%progbits\n");
- fprintf(ctx->fp,
- ".Lframe0:\n"
- "\t.long .LECIE0-.LSCIE0\n"
- ".LSCIE0:\n"
- "\t.long 0xffffffff\n"
- "\t.byte 0x1\n"
- "\t.string \"\"\n"
- "\t.uleb128 0x1\n"
- "\t.sleb128 -4\n"
- "\t.byte 0xe\n" /* Return address is in lr. */
- "\t.byte 0xc\n\t.uleb128 0xd\n\t.uleb128 0\n" /* def_cfa sp */
- "\t.align 2\n"
- ".LECIE0:\n\n");
- fprintf(ctx->fp,
- ".LSFDE0:\n"
- "\t.long .LEFDE0-.LASFDE0\n"
- ".LASFDE0:\n"
- "\t.long .Lframe0\n"
- "\t.long .Lbegin\n"
- "\t.long %d\n"
- "\t.byte 0xe\n\t.uleb128 %d\n" /* def_cfa_offset */
- "\t.byte 0x8e\n\t.uleb128 1\n", /* offset lr */
- fcofs, CFRAME_SIZE);
- for (i = 11; i >= 4; i--) /* offset r4-r11 */
- fprintf(ctx->fp, "\t.byte %d\n\t.uleb128 %d\n", 0x80+i, 2+(11-i));
- fprintf(ctx->fp,
- "\t.align 2\n"
- ".LEFDE0:\n\n");
-#if LJ_HASFFI
- fprintf(ctx->fp,
- ".LSFDE1:\n"
- "\t.long .LEFDE1-.LASFDE1\n"
- ".LASFDE1:\n"
- "\t.long .Lframe0\n"
- "\t.long lj_vm_ffi_call\n"
- "\t.long %d\n"
- "\t.byte 0xe\n\t.uleb128 16\n" /* def_cfa_offset */
- "\t.byte 0x8e\n\t.uleb128 1\n" /* offset lr */
- "\t.byte 0x8b\n\t.uleb128 2\n" /* offset r11 */
- "\t.byte 0x85\n\t.uleb128 3\n" /* offset r5 */
- "\t.byte 0x84\n\t.uleb128 4\n" /* offset r4 */
- "\t.byte 0xd\n\t.uleb128 0xb\n" /* def_cfa_register r11 */
- "\t.align 2\n"
- ".LEFDE1:\n\n", (int)ctx->codesz - fcofs);
-#endif
- break;
- default:
- break;
- }
-}
-
+++ /dev/null
-/*
-** This file has been pre-processed with DynASM.
-** http://luajit.org/dynasm.html
-** DynASM version 1.3.0, DynASM mips version 1.3.0
-** DO NOT EDIT! The original file is in "buildvm_mips.dasc".
-*/
-
-#if DASM_VERSION != 10300
-#error "Version mismatch between DynASM and included encoding engine"
-#endif
-
-#define DASM_SECTION_CODE_OP 0
-#define DASM_SECTION_CODE_SUB 1
-#define DASM_MAXSECTION 2
-static const unsigned int build_actionlist[6324] = {
-0xff010001,
-0xff060014,
-0x32410000,
-0xff090200,
-0x10200000,
-0xff050815,
-0x240d0000,
-0xff098200,
-0x8dd20000,
-0xff098200,
-0x01c08021,
-0xaeed0000,
-0xff098200,
-0x26f7fff8,
-0xff060016,
-0x324c0000,
-0xff090200,
-0x254a0008,
-0x11800000,
-0xff050817,
-0x0140a821,
-0xff060018,
-0x240efff8,
-0x39810000,
-0xff090200,
-0x024e7024,
-0x14200000,
-0xff050814,
-0x020e7023,
-0x254dfff8,
-0xae8e0000,
-0xff098200,
-0x240c0000,
-0xff098200,
-0x8fae0078,
-0x2610fff8,
-0xae6c0000,
-0xff098200,
-0x11a00000,
-0xff050802,
-0x000e70c0,
-0xff06000b,
-0x25adfff8,
-0xd6e00000,
-0x26f70008,
-0xf6000000,
-0x15a00000,
-0xff05080b,
-0x26100008,
-0xff06000c,
-0x15ca0000,
-0xff050806,
-0xff06000d,
-0xae900000,
-0xff098200,
-0xff060019,
-0xff000000,
-0x8fac0074,
-0x00001021,
-0xae8c0000,
-0xff098200,
-0xff06001a,
-0x8fbf0000,
-0xff098200,
-0x8fbe0000,
-0xff098200,
-0xd7be0000,
-0xff098200,
-0x8fb70000,
-0xff098200,
-0x8fb60000,
-0xff098200,
-0xd7bc0000,
-0xff098200,
-0x8fb50000,
-0xff098200,
-0x8fb40000,
-0xff098200,
-0xd7ba0000,
-0xff098200,
-0x8fb30000,
-0xff098200,
-0x8fb20000,
-0xff098200,
-0xd7b80000,
-0xff098200,
-0x8fb10000,
-0xff098200,
-0x8fb00000,
-0xff098200,
-0xd7b60000,
-0xff098200,
-0xd7b40000,
-0xff098200,
-0x03e00008,
-0x27bd0070,
-0xff060010,
-0x8e8d0000,
-0xff098200,
-0x01ca082a,
-0x14200000,
-0xff050807,
-0x020d082a,
-0x10200000,
-0xff050808,
-0x00000000,
-0xae1e0000,
-0xff098200,
-0xff000000,
-0x254a0008,
-0x10000000,
-0xff05080c,
-0x26100008,
-0xff060011,
-0x014e6023,
-0x020c6023,
-0x10000000,
-0xff05080d,
-0x018e800b,
-0xff060012,
-0x8e790000,
-0xff098200,
-0x0140a821,
-0x01c02821,
-0x0320f809,
-0x02802021,
-0x8fae0078,
-0x8e900000,
-0xff098200,
-0x02a05021,
-0x10000000,
-0xff05080c,
-0x000e70c0,
-0xff06001b,
-0x0080e821,
-0x00a01021,
-0xff06001c,
-0x8fb40070,
-0x240c0000,
-0xff098200,
-0x8e8d0000,
-0xff098200,
-0x10000000,
-0xff05081a,
-0xadac0000,
-0xff098200,
-0xff06001d,
-0x2401fffc,
-0x0081e824,
-0xff06001e,
-0x8fb40070,
-0x3c0f59c0,
-0x241e0000,
-0xff098200,
-0x8e900000,
-0xff098200,
-0x8e930000,
-0xff098200,
-0x448ff000,
-0x240d0000,
-0xff098200,
-0x240c0000,
-0xff098200,
-0x8e120000,
-0xff098200,
-0x4600f7a1,
-0x2617fff8,
-0x26730000,
-0xff098200,
-0xaeed0000,
-0xff098200,
-0xff000000,
-0xae6c0000,
-0xff098200,
-0x10000000,
-0xff050816,
-0x240a0010,
-0xff06001f,
-0x10000000,
-0xff050802,
-0x24050000,
-0xff098200,
-0xff060020,
-0x02094821,
-0x02f0b823,
-0xae900000,
-0xff098200,
-0x26520004,
-0xae890000,
-0xff098200,
-0x001728c2,
-0xff06000c,
-0x8e790000,
-0xff098200,
-0xafb20014,
-0x0320f809,
-0x02802021,
-0x8e900000,
-0xff098200,
-0x8e890000,
-0xff098200,
-0x8e080000,
-0xff098200,
-0x01304823,
-0x8d120000,
-0xff098200,
-0x8e4b0000,
-0x26520004,
-0x316d00ff,
-0x000bb942,
-0x000d6880,
-0x32f707f8,
-0x026d6021,
-0x8d8c0000,
-0x01800008,
-0x02f0b821,
-0xff060021,
-0x27bdff90,
-0xafbf0000,
-0xff098200,
-0xafbe0000,
-0xff098200,
-0xf7be0000,
-0xff098200,
-0xafb70000,
-0xff098200,
-0xafb60000,
-0xff098200,
-0xf7bc0000,
-0xff098200,
-0xafb50000,
-0xff098200,
-0xafb40000,
-0xff098200,
-0xff000000,
-0xf7ba0000,
-0xff098200,
-0xafb30000,
-0xff098200,
-0xafb20000,
-0xff098200,
-0xf7b80000,
-0xff098200,
-0xafb10000,
-0xff098200,
-0xafb00000,
-0xff098200,
-0xf7b60000,
-0xff098200,
-0xf7b40000,
-0xff098200,
-0x0080a021,
-0x8e930000,
-0xff098200,
-0x00a08021,
-0x928d0000,
-0xff098200,
-0xafb40070,
-0x24120000,
-0xff098200,
-0x27ac0000,
-0xff098200,
-0x26730000,
-0xff098200,
-0xafa00078,
-0xafa0007c,
-0xae8c0000,
-0xff098200,
-0xafa00074,
-0x11a00000,
-0xff050803,
-0xafa40014,
-0x0200b821,
-0x8e900000,
-0xff098200,
-0x8e8d0000,
-0xff098200,
-0x8e120000,
-0xff098200,
-0x3c0f59c0,
-0x01b05023,
-0x448ff000,
-0xa2800000,
-0xff098200,
-0x4600f7a1,
-0x240c0000,
-0xff098200,
-0x254a0008,
-0xae6c0000,
-0xff098200,
-0x0140a821,
-0x324c0000,
-0xff090200,
-0x11800000,
-0xff050817,
-0xff000000,
-0x241e0000,
-0xff098200,
-0x10000000,
-0xff050818,
-0x00000000,
-0xff060022,
-0x27bdff90,
-0xafbf0000,
-0xff098200,
-0xafbe0000,
-0xff098200,
-0xf7be0000,
-0xff098200,
-0xafb70000,
-0xff098200,
-0xafb60000,
-0xff098200,
-0xf7bc0000,
-0xff098200,
-0xafb50000,
-0xff098200,
-0xafb40000,
-0xff098200,
-0xf7ba0000,
-0xff098200,
-0xafb30000,
-0xff098200,
-0xafb20000,
-0xff098200,
-0xf7b80000,
-0xff098200,
-0xafb10000,
-0xff098200,
-0xafb00000,
-0xff098200,
-0xf7b60000,
-0xff098200,
-0xf7b40000,
-0xff098200,
-0xafa7007c,
-0x10000000,
-0xff050801,
-0x24120000,
-0xff098200,
-0xff060023,
-0x27bdff90,
-0xafbf0000,
-0xff098200,
-0xff000000,
-0xafbe0000,
-0xff098200,
-0xf7be0000,
-0xff098200,
-0xafb70000,
-0xff098200,
-0xafb60000,
-0xff098200,
-0xf7bc0000,
-0xff098200,
-0xafb50000,
-0xff098200,
-0xafb40000,
-0xff098200,
-0xf7ba0000,
-0xff098200,
-0xafb30000,
-0xff098200,
-0xafb20000,
-0xff098200,
-0xf7b80000,
-0xff098200,
-0xafb10000,
-0xff098200,
-0xafb00000,
-0xff098200,
-0xf7b60000,
-0xff098200,
-0xf7b40000,
-0xff098200,
-0x24120000,
-0xff098200,
-0xff06000b,
-0x8c8d0000,
-0xff098200,
-0xafa60078,
-0x0080a021,
-0xafa40070,
-0x00a08021,
-0xae9d0000,
-0xff098200,
-0x8e930000,
-0xff098200,
-0xafa40014,
-0xafad0074,
-0x26730000,
-0xff098200,
-0xff06000d,
-0x8e8e0000,
-0xff098200,
-0xff000000,
-0x3c0f59c0,
-0x8e8d0000,
-0xff098200,
-0x448ff000,
-0x02509021,
-0x01b04823,
-0x024e9023,
-0x4600f7a1,
-0x240c0000,
-0xff098200,
-0x241e0000,
-0xff098200,
-0xae6c0000,
-0xff098200,
-0xff060024,
-0x8e0c0000,
-0xff098200,
-0x24010000,
-0xff098200,
-0x15810000,
-0xff050825,
-0x8e080000,
-0xff098200,
-0xff060026,
-0xae120000,
-0xff098200,
-0x8d120000,
-0xff098200,
-0x8e4b0000,
-0x26520004,
-0x316d00ff,
-0x000bb942,
-0x000d6880,
-0x32f707f8,
-0x026d6021,
-0x8d8c0000,
-0x01800008,
-0x02f0b821,
-0xff060027,
-0x27bdff90,
-0xafbf0000,
-0xff098200,
-0xafbe0000,
-0xff098200,
-0xf7be0000,
-0xff098200,
-0xafb70000,
-0xff098200,
-0xafb60000,
-0xff098200,
-0xf7bc0000,
-0xff098200,
-0xafb50000,
-0xff098200,
-0xafb40000,
-0xff098200,
-0xf7ba0000,
-0xff098200,
-0xafb30000,
-0xff098200,
-0xff000000,
-0xafb20000,
-0xff098200,
-0xf7b80000,
-0xff098200,
-0xafb10000,
-0xff098200,
-0xafb00000,
-0xff098200,
-0xf7b60000,
-0xff098200,
-0xf7b40000,
-0xff098200,
-0x0080a021,
-0x8c8c0000,
-0xff098200,
-0xafa40070,
-0x8e8d0000,
-0xff098200,
-0xafa40014,
-0x018d6023,
-0x8e8d0000,
-0xff098200,
-0xae9d0000,
-0xff098200,
-0xafac0078,
-0xafa0007c,
-0x00e0c821,
-0x00e0f809,
-0xafad0074,
-0x00408021,
-0x8e930000,
-0xff098200,
-0x24120000,
-0xff098200,
-0x14400000,
-0xff05080d,
-0x26730000,
-0xff098200,
-0x10000000,
-0xff050819,
-0x00000000,
-0xff060015,
-0x8e0c0000,
-0xff098200,
-0x02004021,
-0x01c08021,
-0x8dcd0000,
-0xff098200,
-0xff000000,
-0x2d810002,
-0xff000000,
-0x8d120000,
-0xff098200,
-0x02ea7021,
-0x8dad0000,
-0xff098200,
-0xff000000,
-0x14200000,
-0xff050801,
-0xff000000,
-0xadde0000,
-0xff098200,
-0x01800008,
-0x8db10000,
-0xff098200,
-0xff000000,
-0xff06000b,
-0x15800000,
-0xff050828,
-0x250dfff0,
-0x10000000,
-0xff050829,
-0x01b04823,
-0xff000000,
-0xff06002a,
-0x8e4bfffc,
-0x2505fff0,
-0xd6e00000,
-0x000bad42,
-0x000bb942,
-0x32b507f8,
-0x32f707f8,
-0x02156821,
-0xae900000,
-0xff098200,
-0x00ad3023,
-0x15a50000,
-0xff05082b,
-0xf4a00000,
-0x0217b821,
-0x10000000,
-0xff05082c,
-0xf6e00000,
-0xff06002d,
-0x26660000,
-0xff098200,
-0x240c0000,
-0xff098200,
-0xacc90000,
-0xff098200,
-0x10000000,
-0xff050801,
-0xaccc0000,
-0xff098200,
-0xff06002e,
-0x26650000,
-0xff098200,
-0x240c0000,
-0xff098200,
-0xaca80000,
-0xff098200,
-0x26660000,
-0xff098200,
-0xacac0000,
-0xff098200,
-0x240d0000,
-0xff098200,
-0xacc90000,
-0xff098200,
-0x10000000,
-0xff050801,
-0xaccd0000,
-0xff098200,
-0xff06002f,
-0x448c0000,
-0x46800021,
-0x26660000,
-0xff098200,
-0xf4c00000,
-0xff060030,
-0xff06000b,
-0xff000000,
-0x8e790000,
-0xff098200,
-0xae900000,
-0xff098200,
-0xafb20014,
-0x0320f809,
-0x02802021,
-0x10400000,
-0xff050803,
-0x260d0000,
-0xff098200,
-0xd4400000,
-0x8e4b0000,
-0x26520004,
-0xf6e00000,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff06000d,
-0x8e900000,
-0xff098200,
-0xae120000,
-0xff098200,
-0x020d9023,
-0x8e080000,
-0xff098200,
-0x10000000,
-0xff050826,
-0x24090010,
-0xff060031,
-0x26660000,
-0xff098200,
-0x240c0000,
-0xff098200,
-0xacc90000,
-0xff098200,
-0x10000000,
-0xff050801,
-0xaccc0000,
-0xff098200,
-0xff060032,
-0x26650000,
-0xff098200,
-0x240c0000,
-0xff098200,
-0xaca80000,
-0xff098200,
-0x26660000,
-0xff098200,
-0xacac0000,
-0xff098200,
-0x240d0000,
-0xff098200,
-0xacc90000,
-0xff098200,
-0xff000000,
-0x10000000,
-0xff050801,
-0xaccd0000,
-0xff098200,
-0xff060033,
-0x448c0000,
-0x46800021,
-0x26660000,
-0xff098200,
-0xf4c00000,
-0xff060034,
-0xff06000b,
-0x8e790000,
-0xff098200,
-0xae900000,
-0xff098200,
-0xafb20014,
-0x0320f809,
-0x02802021,
-0x10400000,
-0xff050803,
-0xd6e00000,
-0x8e4b0000,
-0x26520004,
-0xf4400000,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff06000d,
-0x260d0000,
-0xff098200,
-0x8e900000,
-0xff098200,
-0xae120000,
-0xff098200,
-0x020d9023,
-0x8e080000,
-0xff098200,
-0xf6000010,
-0x10000000,
-0xff050826,
-0x24090018,
-0xff060035,
-0x8e790000,
-0xff098200,
-0x2652fffc,
-0xae900000,
-0xff098200,
-0xafb20014,
-0x316700ff,
-0x0320f809,
-0x02802021,
-0xff06000d,
-0x2c410002,
-0x10200000,
-0xff050836,
-0x00027023,
-0xff06000e,
-0x964a0000,
-0xff098200,
-0x26520004,
-0x3c0d0000,
-0xff090200,
-0xff000000,
-0x000a5080,
-0x014d5021,
-0x014e5024,
-0x024a9021,
-0xff06002c,
-0x8e4b0000,
-0x26520004,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff060037,
-0x924d0000,
-0xff098200,
-0xd6e00000,
-0x000d68c0,
-0x020d6821,
-0x10000000,
-0xff05082c,
-0xf5a00000,
-0xff060038,
-0x8eec0000,
-0xff098200,
-0x2d810000,
-0xff098200,
-0x10000000,
-0xff05080e,
-0x00017023,
-0xff060039,
-0x8eec0000,
-0xff098200,
-0x2d810000,
-0xff098200,
-0x10000000,
-0xff05080e,
-0x242effff,
-0xff06003a,
-0x8e790000,
-0xff098200,
-0x2652fffc,
-0xae900000,
-0xff098200,
-0xafb20014,
-0x0320f809,
-0x02802021,
-0x10000000,
-0xff05080d,
-0x00000000,
-0xff06003b,
-0xff000000,
-0x8e790000,
-0xff098200,
-0x01602821,
-0x2652fffc,
-0xae900000,
-0xff098200,
-0xafb20014,
-0x0320f809,
-0x02802021,
-0x10000000,
-0xff05080d,
-0x00000000,
-0xff000000,
-0xff06003c,
-0x00c03821,
-0xff06003d,
-0x8e790000,
-0xff098200,
-0x316c00ff,
-0xae900000,
-0xff098200,
-0xafb20014,
-0x02e02821,
-0xafac0010,
-0x0320f809,
-0x02802021,
-0x10400000,
-0xff05082c,
-0x00000000,
-0xff060036,
-0x00506823,
-0xac520000,
-0xff098200,
-0x02007021,
-0x25b20000,
-0xff098200,
-0x00408021,
-0x10000000,
-0xff050824,
-0x24090010,
-0xff06003e,
-0xff000000,
-0x0080a821,
-0xff000000,
-0x8e790000,
-0xff098200,
-0xae900000,
-0xff098200,
-0xafb20014,
-0x0320f809,
-0x02802021,
-0xff000000,
-0x14400000,
-0xff050836,
-0x00000000,
-0x10000000,
-0xff05083f,
-0x02a02021,
-0xff000000,
-0x10000000,
-0xff050836,
-0x00000000,
-0xff000000,
-0xff060025,
-0x8e790000,
-0xff098200,
-0xae8e0000,
-0xff098200,
-0x2605fff8,
-0xafb20014,
-0x02093021,
-0x0120a821,
-0x0320f809,
-0x02802021,
-0x8e080000,
-0xff098200,
-0x26a90008,
-0xae120000,
-0xff098200,
-0x8d120000,
-0xff098200,
-0x8e4b0000,
-0x26520004,
-0x316d00ff,
-0x000bb942,
-0x000d6880,
-0x32f707f8,
-0x026d6021,
-0x8d8c0000,
-0x01800008,
-0x02f0b821,
-0xff060040,
-0x8e790000,
-0xff098200,
-0xae900000,
-0xff098200,
-0x26e5fff8,
-0xafb20014,
-0x02e93021,
-0x0120a821,
-0x0320f809,
-0x02802021,
-0x8e0d0000,
-0xff098200,
-0x8ee80000,
-0xff098200,
-0x10000000,
-0xff050841,
-0x26a90008,
-0xff060042,
-0x8e790000,
-0xff098200,
-0xae900000,
-0xff098200,
-0x02e02821,
-0xafb20014,
-0x0160a821,
-0x0320f809,
-0x02802021,
-0xff000000,
-0x32ac00ff,
-0x24010000,
-0xff098200,
-0xff000000,
-0x0015b942,
-0x00155402,
-0x32f707f8,
-0xff000000,
-0x11810000,
-0xff070800,
-0x000a50c0,
-0x10000000,
-0xff070800,
-0x00000000,
-0xff000000,
-0x10000000,
-0xff070800,
-0x000a50c0,
-0xff000000,
-0xff060043,
-0x11200000,
-0xff050844,
-0x8e060000,
-0xff098200,
-0x8e040000,
-0xff098200,
-0x2cc10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x2617fff8,
-0x8e120000,
-0xff098200,
-0x252a0008,
-0x02e97021,
-0xaee60000,
-0xff098200,
-0x260d0008,
-0x120e0000,
-0xff050845,
-0xaee40000,
-0xff098200,
-0xff06000b,
-0xd5a00000,
-0xf5a0fff8,
-0x15ae0000,
-0xff05080b,
-0x25ad0008,
-0x10000000,
-0xff050845,
-0x00000000,
-0xff060046,
-0x8e060000,
-0xff098200,
-0x240d0000,
-0xff098200,
-0x11200000,
-0xff050844,
-0x2ccc0000,
-0xff098200,
-0x00cc680a,
-0x01a06827,
-0x000d68c0,
-0x010d6821,
-0x10000000,
-0xff050847,
-0xd5a00000,
-0xff098200,
-0xff060048,
-0x11200000,
-0xff050844,
-0x8e060000,
-0xff098200,
-0xff000000,
-0x8e040000,
-0xff098200,
-0x24010000,
-0xff098200,
-0x14c10000,
-0xff050806,
-0x24010000,
-0xff098200,
-0xff06000b,
-0x8c840000,
-0xff098200,
-0xff06000c,
-0x8e690000,
-0xff098200,
-0x10800000,
-0xff050849,
-0x24060000,
-0xff098200,
-0x8c8c0000,
-0xff098200,
-0x24060000,
-0xff098200,
-0x8d2d0000,
-0xff098200,
-0x8c8e0000,
-0xff098200,
-0x01ac6824,
-0x000d6140,
-0x000d68c0,
-0x018d6823,
-0x01cd7021,
-0x24010000,
-0xff098200,
-0xff06000d,
-0x8dc70000,
-0xff098200,
-0x8dcc0000,
-0xff098200,
-0x8dcf0000,
-0xff098200,
-0x14e10000,
-0xff050804,
-0x8dc50000,
-0xff098200,
-0x11890000,
-0xff050805,
-0x8dcd0000,
-0xff098200,
-0xff06000e,
-0xff000000,
-0x11e00000,
-0xff050849,
-0x01e07021,
-0x10000000,
-0xff05080d,
-0x00000000,
-0xff06000f,
-0x10be0000,
-0xff050849,
-0x00000000,
-0x00a03021,
-0x10000000,
-0xff050849,
-0x01a02021,
-0xff060010,
-0x10c10000,
-0xff05080b,
-0x2ccc0000,
-0xff098200,
-0x240d0000,
-0xff098200,
-0x00cc680a,
-0x01a06827,
-0x000d6880,
-0x026d6821,
-0x10000000,
-0xff05080c,
-0x8da40000,
-0xff098200,
-0xff06004a,
-0x2d210010,
-0x8e060000,
-0xff098200,
-0x14200000,
-0xff050844,
-0x8e070000,
-0xff098200,
-0x8e040000,
-0xff098200,
-0x8e050000,
-0xff098200,
-0x24010000,
-0xff098200,
-0x14c10000,
-0xff050844,
-0x24e70000,
-0xff098200,
-0x8c8d0000,
-0xff098200,
-0x908f0000,
-0xff098200,
-0x00ed0825,
-0x14200000,
-0xff050844,
-0xff000000,
-0x31e10000,
-0xff090200,
-0x10200000,
-0xff050849,
-0xac850000,
-0xff098200,
-0x8e6c0000,
-0xff098200,
-0x31ef0000,
-0xff090200,
-0xae640000,
-0xff098200,
-0xa08f0000,
-0xff098200,
-0x10000000,
-0xff050849,
-0xac8c0000,
-0xff098200,
-0xff06004b,
-0x8e070000,
-0xff098200,
-0x2d210010,
-0x8e050000,
-0xff098200,
-0x8e790000,
-0xff098200,
-0x24e70000,
-0xff098200,
-0x00270825,
-0x14200000,
-0xff050844,
-0x26060008,
-0x0320f809,
-0x02802021,
-0x10000000,
-0xff050847,
-0xd4400000,
-0xff06004c,
-0x8e040000,
-0xff098200,
-0x39210008,
-0x2c840000,
-0xff098200,
-0x0001200b,
-0x10800000,
-0xff050844,
-0xd6000000,
-0x10000000,
-0xff050847,
-0x00000000,
-0xff06004d,
-0x11200000,
-0xff050844,
-0xff000000,
-0x8e060000,
-0xff098200,
-0x8e040000,
-0xff098200,
-0x24010000,
-0xff098200,
-0x10c10000,
-0xff050849,
-0x8e6d0000,
-0xff098200,
-0x2ccc0000,
-0xff098200,
-0x2dad0001,
-0x018d6024,
-0x11800000,
-0xff050844,
-0xae900000,
-0xff098200,
-0x8e6c0000,
-0xff098200,
-0x8e6d0000,
-0xff098200,
-0x018d0823,
-0x04310000,
-0xff05084e,
-0xafb20014,
-0x8e790000,
-0xff098200,
-0x02802021,
-0x0320f809,
-0x02002821,
-0x24060000,
-0xff098200,
-0x10000000,
-0xff050849,
-0x00402021,
-0xff06004f,
-0x8e040000,
-0xff098200,
-0x8e050000,
-0xff098200,
-0x11200000,
-0xff050844,
-0x02097021,
-0x24010000,
-0xff098200,
-0xadde0000,
-0xff098200,
-0x14810000,
-0xff050844,
-0x8e120000,
-0xff098200,
-0x8e790000,
-0xff098200,
-0xff000000,
-0xae900000,
-0xff098200,
-0xae900000,
-0xff098200,
-0x26060008,
-0xafb20014,
-0x0320f809,
-0x02802021,
-0x10400000,
-0xff050849,
-0x24060000,
-0xff098200,
-0xd6000008,
-0x2617fff8,
-0xd6020010,
-0x240a0000,
-0xff098200,
-0xf6e00000,
-0x10000000,
-0xff050845,
-0xf6e20008,
-0xff060050,
-0x11200000,
-0xff050844,
-0x8e060000,
-0xff098200,
-0x8e040000,
-0xff098200,
-0x24010000,
-0xff098200,
-0x14c10000,
-0xff050844,
-0x8e120000,
-0xff098200,
-0xff000000,
-0x8c8e0000,
-0xff098200,
-0xd5000000,
-0xff098200,
-0x15c00000,
-0xff050844,
-0xff000000,
-0xd5000000,
-0xff098200,
-0xff000000,
-0x2617fff8,
-0xae1e0000,
-0xff098200,
-0x240a0000,
-0xff098200,
-0x10000000,
-0xff050845,
-0xf6e00000,
-0xff060051,
-0x2d210010,
-0x8e060000,
-0xff098200,
-0x8e040000,
-0xff098200,
-0x8e070000,
-0xff098200,
-0x14200000,
-0xff050844,
-0xd60e0008,
-0x24c60000,
-0xff098200,
-0x2ce10000,
-0xff098200,
-0x240c0001,
-0x0006080b,
-0x448c6000,
-0x10200000,
-0xff050844,
-0x8e120000,
-0xff098200,
-0x46207024,
-0x46806321,
-0x8c8c0000,
-0xff098200,
-0x8c8d0000,
-0xff098200,
-0x440e0000,
-0x2617fff8,
-0x462c7380,
-0x25ce0001,
-0x01cc082b,
-0x000e78c0,
-0x01af7821,
-0x10200000,
-0xff050802,
-0xf6ee0000,
-0x8dee0000,
-0xff098200,
-0xd5e00000,
-0xff06000b,
-0x11de0000,
-0xff050845,
-0x240a0000,
-0xff098200,
-0x240a0000,
-0xff098200,
-0x10000000,
-0xff050845,
-0xf6e00008,
-0xff06000c,
-0x8c8c0000,
-0xff098200,
-0xff000000,
-0x8e790000,
-0xff098200,
-0x11800000,
-0xff050845,
-0x240a0000,
-0xff098200,
-0x0320f809,
-0x01c02821,
-0x10400000,
-0xff050845,
-0x240a0000,
-0xff098200,
-0x8c4e0000,
-0xff098200,
-0x10000000,
-0xff05080b,
-0xd4400000,
-0xff060052,
-0x11200000,
-0xff050844,
-0x8e060000,
-0xff098200,
-0x8e040000,
-0xff098200,
-0x24010000,
-0xff098200,
-0x14c10000,
-0xff050844,
-0x8e120000,
-0xff098200,
-0xff000000,
-0x8c8e0000,
-0xff098200,
-0xd5000000,
-0xff098200,
-0x15c00000,
-0xff050844,
-0xff000000,
-0xd5000000,
-0xff098200,
-0xff000000,
-0x2617fff8,
-0xae000000,
-0xff098200,
-0xae000000,
-0xff098200,
-0x240a0000,
-0xff098200,
-0x10000000,
-0xff050845,
-0xf6e00000,
-0xff060053,
-0x926f0000,
-0xff098200,
-0x11200000,
-0xff050844,
-0x02007021,
-0x26100008,
-0x000f7802,
-0xff0900a6,
-0x31ef0001,
-0x25f20000,
-0xff098200,
-0x10000000,
-0xff050824,
-0x2529fff8,
-0xff060054,
-0x2d210010,
-0x8e070000,
-0xff098200,
-0x14200000,
-0xff050844,
-0xd60e0008,
-0xd60c0000,
-0x926d0000,
-0xff098200,
-0x24010000,
-0xff098200,
-0x02007021,
-0x14e10000,
-0xff050844,
-0x26100010,
-0x000f7802,
-0xff0900a6,
-0xf5ce0000,
-0x31ef0001,
-0xf5cc0008,
-0x25f20000,
-0xff098200,
-0x10000000,
-0xff050824,
-0x2529fff0,
-0xff060055,
-0x11200000,
-0xff050844,
-0x8e060000,
-0xff098200,
-0x8e040000,
-0xff098200,
-0xff000000,
-0x24010000,
-0xff098200,
-0x14c10000,
-0xff050844,
-0x908c0000,
-0xff098200,
-0x8c8d0000,
-0xff098200,
-0x8c850000,
-0xff098200,
-0x8c8e0000,
-0xff098200,
-0x258f0000,
-0xff098200,
-0x1de00000,
-0xff050844,
-0x01c57026,
-0x15a00000,
-0xff050844,
-0x01cc0825,
-0x8c8c0000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x8e120000,
-0xff098200,
-0x00a97021,
-0x018e082b,
-0x14200000,
-0xff050844,
-0xafb20014,
-0xae900000,
-0xff098200,
-0xff06000b,
-0x26100008,
-0x2529fff8,
-0x25cefff8,
-0xac8e0000,
-0xff098200,
-0x02096821,
-0x00a03021,
-0xae900000,
-0xff098200,
-0xff06000c,
-0xd6000000,
-0x020d082b,
-0x10200000,
-0xff050803,
-0x26100008,
-0xf4c00000,
-0x10000000,
-0xff05080c,
-0x24c60008,
-0xff06000d,
-0x04110000,
-0xff050821,
-0x0080b821,
-0xff06000e,
-0xff000000,
-0x8eee0000,
-0xff098200,
-0x2c410000,
-0xff098200,
-0x8eef0000,
-0xff098200,
-0x240c0000,
-0xff098200,
-0x8e900000,
-0xff098200,
-0xae6c0000,
-0xff098200,
-0x10200000,
-0xff050808,
-0x01ee5023,
-0x8e8c0000,
-0xff098200,
-0x11400000,
-0xff050806,
-0x020a6821,
-0x018d082b,
-0x14200000,
-0xff050809,
-0x01ca7821,
-0xaeee0000,
-0xff098200,
-0x02006821,
-0xff06000f,
-0xd5c00000,
-0x25ce0008,
-0x01cf082b,
-0xf5a00000,
-0x14200000,
-0xff05080f,
-0x25ad0008,
-0xff060010,
-0x324c0000,
-0xff090200,
-0x240d0000,
-0xff098200,
-0x2617fff8,
-0xae0d0000,
-0xff098200,
-0x254a0010,
-0xff060011,
-0xafb20014,
-0x11800000,
-0xff050817,
-0x0140a821,
-0x10000000,
-0xff050818,
-0x00000000,
-0xff060012,
-0x25effff8,
-0x240d0000,
-0xff098200,
-0xd5e00000,
-0xaeef0000,
-0xff098200,
-0xff000000,
-0x240a0000,
-0xff098200,
-0xae0d0000,
-0xff098200,
-0x2617fff8,
-0xf6000000,
-0x10000000,
-0xff050811,
-0x324c0000,
-0xff090200,
-0xff060013,
-0x8e790000,
-0xff098200,
-0x000a28c2,
-0x0320f809,
-0x02802021,
-0x10000000,
-0xff05080e,
-0x24020000,
-0xff060056,
-0x8d040000,
-0xff098200,
-0x908c0000,
-0xff098200,
-0x8c8d0000,
-0xff098200,
-0x8c850000,
-0xff098200,
-0x8c8e0000,
-0xff098200,
-0x258f0000,
-0xff098200,
-0x1de00000,
-0xff050844,
-0x01c57026,
-0x15a00000,
-0xff050844,
-0x01cc0825,
-0x8c8c0000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x8e120000,
-0xff098200,
-0x00a97021,
-0x018e082b,
-0x14200000,
-0xff050844,
-0xafb20014,
-0xae900000,
-0xff098200,
-0xff06000b,
-0xac8e0000,
-0xff098200,
-0xff000000,
-0x02096821,
-0x00a03021,
-0xae900000,
-0xff098200,
-0xff06000c,
-0xd6000000,
-0x020d082b,
-0x10200000,
-0xff050803,
-0x26100008,
-0xf4c00000,
-0x10000000,
-0xff05080c,
-0x24c60008,
-0xff06000d,
-0x04110000,
-0xff050821,
-0x0080b821,
-0xff06000e,
-0x8eee0000,
-0xff098200,
-0x2c410000,
-0xff098200,
-0x8eef0000,
-0xff098200,
-0x240c0000,
-0xff098200,
-0x8e900000,
-0xff098200,
-0xae6c0000,
-0xff098200,
-0x10200000,
-0xff050808,
-0x01ee5023,
-0x8e8c0000,
-0xff098200,
-0x11400000,
-0xff050806,
-0x020a6821,
-0x018d082b,
-0x14200000,
-0xff050809,
-0x01ca7821,
-0xaeee0000,
-0xff098200,
-0x02006821,
-0xff06000f,
-0xd5c00000,
-0x25ce0008,
-0x01cf082b,
-0xf5a00000,
-0x14200000,
-0xff05080f,
-0x25ad0008,
-0xff060010,
-0x324c0000,
-0xff090200,
-0x0200b821,
-0x254a0008,
-0xff060011,
-0xff000000,
-0xafb20014,
-0x11800000,
-0xff050817,
-0x0140a821,
-0x10000000,
-0xff050818,
-0x00000000,
-0xff060012,
-0x8e790000,
-0xff098200,
-0x02e02821,
-0x0320f809,
-0x02802021,
-0xff060013,
-0x8e790000,
-0xff098200,
-0x000a28c2,
-0x0320f809,
-0x02802021,
-0x10000000,
-0xff05080e,
-0x24020000,
-0xff060057,
-0x8e8c0000,
-0xff098200,
-0x02096821,
-0xae900000,
-0xff098200,
-0x318c0000,
-0xff090200,
-0xae8d0000,
-0xff098200,
-0x11800000,
-0xff050844,
-0x24020000,
-0xff098200,
-0xae800000,
-0xff098200,
-0x10000000,
-0xff05081a,
-0xa2820000,
-0xff098200,
-0xff060058,
-0x8e060000,
-0xff098200,
-0x11200000,
-0xff050844,
-0xd60c0000,
-0x2cc10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x46206005,
-0xff060047,
-0xff000000,
-0x8e120000,
-0xff098200,
-0x2617fff8,
-0x10000000,
-0xff050859,
-0xf600fff8,
-0xff060049,
-0x8e120000,
-0xff098200,
-0xae060000,
-0xff098200,
-0x2617fff8,
-0xae040000,
-0xff098200,
-0xff060059,
-0x240a0000,
-0xff098200,
-0xff060045,
-0x324c0000,
-0xff090200,
-0x15800000,
-0xff050818,
-0x0140a821,
-0x8e4bfffc,
-0x000b4542,
-0x310807f8,
-0xff06000f,
-0x0148082b,
-0x14200000,
-0xff050806,
-0x000b6142,
-0x318c07f8,
-0x8e4b0000,
-0x26520004,
-0x02ec8023,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff060010,
-0x02ea6821,
-0x254a0008,
-0x10000000,
-0xff05080f,
-0xadbe0000,
-0xff098200,
-0xff06005a,
-0x8e060000,
-0xff098200,
-0x11200000,
-0xff050844,
-0xd60c0000,
-0x2cc10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x00000000,
-0x04110000,
-0xff05085b,
-0x00000000,
-0x10000000,
-0xff050847,
-0xff000000,
-0x00000000,
-0xff06005c,
-0x8e060000,
-0xff098200,
-0x11200000,
-0xff050844,
-0xd60c0000,
-0x2cc10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x00000000,
-0x04110000,
-0xff05085d,
-0x00000000,
-0x10000000,
-0xff050847,
-0x00000000,
-0xff06005e,
-0x8e060000,
-0xff098200,
-0x11200000,
-0xff050844,
-0x8e790000,
-0xff098200,
-0x2cc10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x00000000,
-0x0320f809,
-0xd60c0000,
-0x10000000,
-0xff050847,
-0x00000000,
-0xff06005f,
-0x8e060000,
-0xff098200,
-0x11200000,
-0xff050844,
-0x8e790000,
-0xff098200,
-0x2cc10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x00000000,
-0x0320f809,
-0xd60c0000,
-0x10000000,
-0xff050847,
-0x00000000,
-0xff060060,
-0x8e060000,
-0xff098200,
-0xff000000,
-0x11200000,
-0xff050844,
-0x8e790000,
-0xff098200,
-0x2cc10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x00000000,
-0x0320f809,
-0xd60c0000,
-0x10000000,
-0xff050847,
-0x00000000,
-0xff060061,
-0x8e060000,
-0xff098200,
-0x11200000,
-0xff050844,
-0x8e790000,
-0xff098200,
-0x2cc10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x00000000,
-0x0320f809,
-0xd60c0000,
-0x10000000,
-0xff050847,
-0x00000000,
-0xff060062,
-0x8e060000,
-0xff098200,
-0x11200000,
-0xff050844,
-0x8e790000,
-0xff098200,
-0x2cc10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x00000000,
-0x0320f809,
-0xd60c0000,
-0x10000000,
-0xff050847,
-0x00000000,
-0xff060063,
-0x8e060000,
-0xff098200,
-0x11200000,
-0xff050844,
-0x8e790000,
-0xff098200,
-0xff000000,
-0x2cc10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x00000000,
-0x0320f809,
-0xd60c0000,
-0x10000000,
-0xff050847,
-0x00000000,
-0xff060064,
-0x8e060000,
-0xff098200,
-0x11200000,
-0xff050844,
-0x8e790000,
-0xff098200,
-0x2cc10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x00000000,
-0x0320f809,
-0xd60c0000,
-0x10000000,
-0xff050847,
-0x00000000,
-0xff060065,
-0x8e060000,
-0xff098200,
-0x11200000,
-0xff050844,
-0x8e790000,
-0xff098200,
-0x2cc10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x00000000,
-0x0320f809,
-0xd60c0000,
-0x10000000,
-0xff050847,
-0x00000000,
-0xff060066,
-0x8e060000,
-0xff098200,
-0x11200000,
-0xff050844,
-0x8e790000,
-0xff098200,
-0x2cc10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0xff000000,
-0x00000000,
-0x0320f809,
-0xd60c0000,
-0x10000000,
-0xff050847,
-0x00000000,
-0xff060067,
-0x8e060000,
-0xff098200,
-0x11200000,
-0xff050844,
-0x8e790000,
-0xff098200,
-0x2cc10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x00000000,
-0x0320f809,
-0xd60c0000,
-0x10000000,
-0xff050847,
-0x00000000,
-0xff060068,
-0x8e060000,
-0xff098200,
-0x11200000,
-0xff050844,
-0x8e790000,
-0xff098200,
-0x2cc10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x00000000,
-0x0320f809,
-0xd60c0000,
-0x10000000,
-0xff050847,
-0x00000000,
-0xff060069,
-0x8e060000,
-0xff098200,
-0x11200000,
-0xff050844,
-0x8e790000,
-0xff098200,
-0x2cc10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x00000000,
-0x0320f809,
-0xd60c0000,
-0x10000000,
-0xff050847,
-0x00000000,
-0xff06006a,
-0xff000000,
-0x2d210010,
-0x8e060000,
-0xff098200,
-0x14200000,
-0xff050844,
-0x8e070000,
-0xff098200,
-0xd60c0000,
-0xd60e0008,
-0x2ccc0000,
-0xff098200,
-0x2ced0000,
-0xff098200,
-0x018d6024,
-0x11800000,
-0xff050844,
-0x8e790000,
-0xff098200,
-0x0320f809,
-0x00000000,
-0x10000000,
-0xff050847,
-0x00000000,
-0xff06006b,
-0x2d210010,
-0x8e060000,
-0xff098200,
-0x14200000,
-0xff050844,
-0x8e070000,
-0xff098200,
-0xd60c0000,
-0xd60e0008,
-0x2ccc0000,
-0xff098200,
-0x2ced0000,
-0xff098200,
-0x018d6024,
-0x11800000,
-0xff050844,
-0x8e790000,
-0xff098200,
-0x0320f809,
-0x00000000,
-0x10000000,
-0xff050847,
-0x00000000,
-0xff06006c,
-0x2d210010,
-0x8e060000,
-0xff098200,
-0x14200000,
-0xff050844,
-0x8e070000,
-0xff098200,
-0xd60c0000,
-0xd60e0008,
-0x2ccc0000,
-0xff098200,
-0x2ced0000,
-0xff098200,
-0xff000000,
-0x018d6024,
-0x11800000,
-0xff050844,
-0x8e790000,
-0xff098200,
-0x0320f809,
-0x00000000,
-0x10000000,
-0xff050847,
-0x00000000,
-0xff06006d,
-0x8e060000,
-0xff098200,
-0x11200000,
-0xff050844,
-0xd60c0000,
-0x2cc10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x46206004,
-0x10000000,
-0xff050847,
-0x00000000,
-0xff06006e,
-0xff06006f,
-0x8e060000,
-0xff098200,
-0x11200000,
-0xff050844,
-0xd60c0000,
-0x2cc10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0xd50e0000,
-0xff098200,
-0x10000000,
-0xff050847,
-0x462e6002,
-0xff060070,
-0x2d210010,
-0x8e060000,
-0xff098200,
-0x14200000,
-0xff050844,
-0x8e070000,
-0xff098200,
-0xd60c0000,
-0xd60e0008,
-0x2ccc0000,
-0xff098200,
-0x2ced0000,
-0xff098200,
-0xff000000,
-0x018d6024,
-0x11800000,
-0xff050844,
-0x462073a4,
-0x8e790000,
-0xff098200,
-0x44067000,
-0x0320f809,
-0x00000000,
-0x10000000,
-0xff050847,
-0x00000000,
-0xff060071,
-0x8e060000,
-0xff098200,
-0x11200000,
-0xff050844,
-0xd60c0000,
-0x2cc10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x8e790000,
-0xff098200,
-0x8e120000,
-0xff098200,
-0x0320f809,
-0x26660000,
-0xff098200,
-0x8e6d0000,
-0xff098200,
-0x2617fff8,
-0x448d7000,
-0xf6e00000,
-0x468073a1,
-0xf6ee0008,
-0x10000000,
-0xff050845,
-0x240a0000,
-0xff098200,
-0xff060072,
-0x8e060000,
-0xff098200,
-0x11200000,
-0xff050844,
-0xd60c0000,
-0x2cc10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x8e790000,
-0xff098200,
-0x8e120000,
-0xff098200,
-0x0320f809,
-0x2606fff8,
-0x2617fff8,
-0xf6000000,
-0x10000000,
-0xff050845,
-0x240a0000,
-0xff098200,
-0xff060073,
-0xff000000,
-0x8e060000,
-0xff098200,
-0x11200000,
-0xff050844,
-0xd6000000,
-0x2cc10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x02097021,
-0x260d0008,
-0x11ae0000,
-0xff050847,
-0xff06000b,
-0x8da60000,
-0xff098200,
-0xd5ac0000,
-0x25ad0008,
-0x2cc10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x462c0034,
-0x15ae0000,
-0xff05080b,
-0x46206011,
-0x10000000,
-0xff050847,
-0x00000000,
-0xff060074,
-0x8e060000,
-0xff098200,
-0x11200000,
-0xff050844,
-0xd6000000,
-0x2cc10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x02097021,
-0x260d0008,
-0x11ae0000,
-0xff050847,
-0xff06000b,
-0x8da60000,
-0xff098200,
-0xd5ac0000,
-0x25ad0008,
-0x2cc10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x46206034,
-0x15ae0000,
-0xff05080b,
-0x46206011,
-0x10000000,
-0xff050847,
-0xff000000,
-0x00000000,
-0xff060075,
-0x11200000,
-0xff050844,
-0x8e060000,
-0xff098200,
-0x8e040000,
-0xff098200,
-0x24010000,
-0xff098200,
-0x14c10000,
-0xff050844,
-0x00000000,
-0x10000000,
-0xff050876,
-0x8c820000,
-0xff098200,
-0xff060077,
-0x8e060000,
-0xff098200,
-0x8e040000,
-0xff098200,
-0x39210008,
-0x24c60000,
-0xff098200,
-0x00260825,
-0x14200000,
-0xff050844,
-0x00000000,
-0x8c8c0000,
-0xff098200,
-0x908d0000,
-0xff098200,
-0x2617fff8,
-0x000c502b,
-0x448d0000,
-0x254a0001,
-0x46800021,
-0x8e120000,
-0xff098200,
-0x000a50c0,
-0x10000000,
-0xff050845,
-0xf6e00000,
-0xff060078,
-0x8e6c0000,
-0xff098200,
-0x8e6d0000,
-0xff098200,
-0x018d0823,
-0x04310000,
-0xff05084e,
-0x8e060000,
-0xff098200,
-0xd60c0000,
-0x24010008,
-0x15210000,
-0xff050844,
-0xff000000,
-0x2cc10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x24060001,
-0x46206324,
-0x27a50010,
-0x2d810100,
-0x440c6000,
-0x10200000,
-0xff050844,
-0xafac0010,
-0xff060079,
-0x8e790000,
-0xff098200,
-0xae900000,
-0xff098200,
-0xafb20014,
-0x0320f809,
-0x02802021,
-0x8e900000,
-0xff098200,
-0x00402021,
-0x10000000,
-0xff050849,
-0x24060000,
-0xff098200,
-0xff06007a,
-0x8e6c0000,
-0xff098200,
-0x8e6d0000,
-0xff098200,
-0x018d0823,
-0x04310000,
-0xff05084e,
-0x2521fff0,
-0x8e060000,
-0xff098200,
-0xd6000010,
-0x8e0c0000,
-0xff098200,
-0x8e040000,
-0xff098200,
-0x04200000,
-0xff050844,
-0x8e050000,
-0xff098200,
-0xd6020008,
-0x10200000,
-0xff050801,
-0x2407ffff,
-0x46200024,
-0x2cc10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x44070000,
-0xff06000b,
-0x2ca10000,
-0xff098200,
-0xff000000,
-0x10200000,
-0xff050844,
-0x24010000,
-0xff098200,
-0x462010a4,
-0x15810000,
-0xff050844,
-0x8c850000,
-0xff098200,
-0x44061000,
-0x00e0082a,
-0x24ac0001,
-0x00ec6821,
-0x00c0782a,
-0x01a1380b,
-0x00cc6821,
-0x01af300b,
-0x240e0001,
-0x00e0082a,
-0x0006782a,
-0x0001380b,
-0x01cf300a,
-0x00a7082a,
-0x00a1380b,
-0x00862821,
-0x00e63023,
-0x24a50000,
-0xff098200,
-0x04c10000,
-0xff050879,
-0x24c60001,
-0xff06007b,
-0x26640000,
-0xff098200,
-0x10000000,
-0xff050849,
-0x24060000,
-0xff098200,
-0xff06007c,
-0x8e6c0000,
-0xff098200,
-0x8e6d0000,
-0xff098200,
-0x018d0823,
-0x04310000,
-0xff05084e,
-0x8e0c0000,
-0xff098200,
-0x2d210010,
-0x8e070000,
-0xff098200,
-0x8e040000,
-0xff098200,
-0x258c0000,
-0xff098200,
-0xd6000008,
-0x002c0825,
-0x14200000,
-0xff050844,
-0x2ce10000,
-0xff098200,
-0x46200024,
-0x10200000,
-0xff050844,
-0x8c8c0000,
-0xff098200,
-0x44060000,
-0x8e6d0000,
-0xff098200,
-0xff000000,
-0x24010001,
-0x18c00000,
-0xff05087b,
-0x002c082b,
-0x11800000,
-0xff05087b,
-0x01a6602b,
-0x002c0825,
-0x8e650000,
-0xff098200,
-0x14200000,
-0xff050844,
-0x908c0000,
-0xff098200,
-0x00a67021,
-0xff06000b,
-0x25ceffff,
-0x00ae082b,
-0x14200000,
-0xff05080b,
-0xa1cc0000,
-0x10000000,
-0xff050879,
-0x00000000,
-0xff06007d,
-0x8e6c0000,
-0xff098200,
-0x8e6d0000,
-0xff098200,
-0x018d0823,
-0x04310000,
-0xff05084e,
-0x8e060000,
-0xff098200,
-0x8e040000,
-0xff098200,
-0x11200000,
-0xff050844,
-0x24010000,
-0xff098200,
-0x14c10000,
-0xff050844,
-0x8e6d0000,
-0xff098200,
-0x8c860000,
-0xff098200,
-0x24840000,
-0xff098200,
-0x8e650000,
-0xff098200,
-0x01a6082b,
-0x14200000,
-0xff050844,
-0x00867821,
-0x00a63821,
-0xff06000b,
-0xff000000,
-0x908d0000,
-0x008f082b,
-0x10200000,
-0xff050879,
-0x24840001,
-0x24e7ffff,
-0x10000000,
-0xff05080b,
-0xa0ed0000,
-0xff06007e,
-0x8e6c0000,
-0xff098200,
-0x8e6d0000,
-0xff098200,
-0x018d0823,
-0x04310000,
-0xff05084e,
-0x8e060000,
-0xff098200,
-0x8e040000,
-0xff098200,
-0x11200000,
-0xff050844,
-0x24010000,
-0xff098200,
-0x14c10000,
-0xff050844,
-0x8e6d0000,
-0xff098200,
-0x8c860000,
-0xff098200,
-0x24840000,
-0xff098200,
-0x8e650000,
-0xff098200,
-0x01a6082b,
-0x14200000,
-0xff050844,
-0x00867821,
-0x00a03821,
-0xff06000b,
-0x908d0000,
-0x008f082b,
-0x10200000,
-0xff050879,
-0x25acffbf,
-0x39ae0020,
-0x2d81001a,
-0x01c1680b,
-0x24840001,
-0xa0ed0000,
-0x10000000,
-0xff05080b,
-0x24e70001,
-0xff06007f,
-0x8e6c0000,
-0xff098200,
-0x8e6d0000,
-0xff098200,
-0x018d0823,
-0x04310000,
-0xff05084e,
-0xff000000,
-0x8e060000,
-0xff098200,
-0x8e040000,
-0xff098200,
-0x11200000,
-0xff050844,
-0x24010000,
-0xff098200,
-0x14c10000,
-0xff050844,
-0x8e6d0000,
-0xff098200,
-0x8c860000,
-0xff098200,
-0x24840000,
-0xff098200,
-0x8e650000,
-0xff098200,
-0x01a6082b,
-0x14200000,
-0xff050844,
-0x00867821,
-0x00a03821,
-0xff06000b,
-0x908d0000,
-0x008f082b,
-0x10200000,
-0xff050879,
-0x25acff9f,
-0x39ae0020,
-0x2d81001a,
-0x01c1680b,
-0x24840001,
-0xa0ed0000,
-0x10000000,
-0xff05080b,
-0x24e70001,
-0xff060080,
-0x11200000,
-0xff050844,
-0x8e060000,
-0xff098200,
-0x8e040000,
-0xff098200,
-0x24010000,
-0xff098200,
-0x14c10000,
-0xff050844,
-0x8e790000,
-0xff098200,
-0x0320f809,
-0x00000000,
-0x10000000,
-0xff050876,
-0x00000000,
-0xff060081,
-0x8e060000,
-0xff098200,
-0xff000000,
-0x11200000,
-0xff050844,
-0xd60c0000,
-0x2cc10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x463e6300,
-0x44026000,
-0x260d0008,
-0x02097021,
-0xff06000b,
-0x8da70000,
-0xff098200,
-0x11ae0000,
-0xff050876,
-0xd5ac0000,
-0x2ce10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x463e6300,
-0x44056000,
-0x00451024,
-0x10000000,
-0xff05080b,
-0x25ad0008,
-0xff060082,
-0x8e060000,
-0xff098200,
-0x11200000,
-0xff050844,
-0xd60c0000,
-0x2cc10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x463e6300,
-0x44026000,
-0x260d0008,
-0x02097021,
-0xff06000b,
-0x8da70000,
-0xff098200,
-0x11ae0000,
-0xff050876,
-0xd5ac0000,
-0x2ce10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x463e6300,
-0x44056000,
-0x00451025,
-0x10000000,
-0xff05080b,
-0x25ad0008,
-0xff060083,
-0x8e060000,
-0xff098200,
-0x11200000,
-0xff050844,
-0xff000000,
-0xd60c0000,
-0x2cc10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x463e6300,
-0x44026000,
-0x260d0008,
-0x02097021,
-0xff06000b,
-0x8da70000,
-0xff098200,
-0x11ae0000,
-0xff050876,
-0xd5ac0000,
-0x2ce10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x463e6300,
-0x44056000,
-0x00451026,
-0x10000000,
-0xff05080b,
-0x25ad0008,
-0xff060084,
-0x8e060000,
-0xff098200,
-0x11200000,
-0xff050844,
-0xd60c0000,
-0x2cc10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x463e6300,
-0x44026000,
-0x00026602,
-0x00027202,
-0x00026e00,
-0x31ceff00,
-0x018d6025,
-0x3042ff00,
-0x018e6025,
-0x00021200,
-0x10000000,
-0xff050876,
-0x01821025,
-0xff060085,
-0x8e060000,
-0xff098200,
-0x11200000,
-0xff050844,
-0xd60c0000,
-0x2cc10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x463e6300,
-0x44026000,
-0x10000000,
-0xff050876,
-0x00401027,
-0xff060086,
-0x2d210010,
-0x8e060000,
-0xff098200,
-0x14200000,
-0xff050844,
-0xff000000,
-0x8e070000,
-0xff098200,
-0xd60c0000,
-0xd60e0008,
-0x2ccc0000,
-0xff098200,
-0x2ced0000,
-0xff098200,
-0x018d6024,
-0x11800000,
-0xff050844,
-0x463e6300,
-0x463e7380,
-0x44046000,
-0x44057000,
-0x10000000,
-0xff050876,
-0x00a41004,
-0xff060087,
-0x2d210010,
-0x8e060000,
-0xff098200,
-0x14200000,
-0xff050844,
-0x8e070000,
-0xff098200,
-0xd60c0000,
-0xd60e0008,
-0x2ccc0000,
-0xff098200,
-0x2ced0000,
-0xff098200,
-0x018d6024,
-0x11800000,
-0xff050844,
-0x463e6300,
-0x463e7380,
-0x44046000,
-0x44057000,
-0x10000000,
-0xff050876,
-0x00a41006,
-0xff060088,
-0x2d210010,
-0x8e060000,
-0xff098200,
-0x14200000,
-0xff050844,
-0x8e070000,
-0xff098200,
-0xd60c0000,
-0xd60e0008,
-0x2ccc0000,
-0xff098200,
-0x2ced0000,
-0xff098200,
-0x018d6024,
-0x11800000,
-0xff050844,
-0x463e6300,
-0x463e7380,
-0x44046000,
-0x44057000,
-0x10000000,
-0xff050876,
-0x00a41007,
-0xff060089,
-0x2d210010,
-0x8e060000,
-0xff098200,
-0xff000000,
-0x14200000,
-0xff050844,
-0x8e070000,
-0xff098200,
-0xd60c0000,
-0xd60e0008,
-0x2ccc0000,
-0xff098200,
-0x2ced0000,
-0xff098200,
-0x018d6024,
-0x11800000,
-0xff050844,
-0x463e6300,
-0x463e7380,
-0x44046000,
-0x44057000,
-0x24010020,
-0x00256023,
-0x00a42804,
-0x01842006,
-0x10000000,
-0xff050876,
-0x00851025,
-0xff06008a,
-0x2d210010,
-0x8e060000,
-0xff098200,
-0x14200000,
-0xff050844,
-0x8e070000,
-0xff098200,
-0xd60c0000,
-0xd60e0008,
-0x2ccc0000,
-0xff098200,
-0x2ced0000,
-0xff098200,
-0x018d6024,
-0x11800000,
-0xff050844,
-0x463e6300,
-0x463e7380,
-0x44046000,
-0x44057000,
-0x24010020,
-0x00256023,
-0x00a42806,
-0x01842004,
-0x10000000,
-0xff050876,
-0x00851025,
-0xff06008b,
-0x8e060000,
-0xff098200,
-0x11200000,
-0xff050844,
-0xd60c0000,
-0x2cc10000,
-0xff098200,
-0x10200000,
-0xff050844,
-0x463e6300,
-0x44026000,
-0xff060076,
-0x44820000,
-0x10000000,
-0xff050847,
-0x46800021,
-0xff060044,
-0x8d0f0000,
-0xff098200,
-0xff000000,
-0x02096821,
-0x8e120000,
-0xff098200,
-0x25ac0000,
-0xff098200,
-0x8e8e0000,
-0xff098200,
-0xafb20014,
-0x01cc082b,
-0xae900000,
-0xff098200,
-0xae8d0000,
-0xff098200,
-0x14200000,
-0xff050805,
-0x01e0c821,
-0x01e0f809,
-0x02802021,
-0x8e900000,
-0xff098200,
-0x000250c0,
-0x1c400000,
-0xff050845,
-0x2617fff8,
-0xff06000b,
-0x8e8c0000,
-0xff098200,
-0x8e080000,
-0xff098200,
-0x14400000,
-0xff050829,
-0x01904823,
-0x8d120000,
-0xff098200,
-0x8e4b0000,
-0x26520004,
-0x316d00ff,
-0x000bb942,
-0x000d6880,
-0x32f707f8,
-0x026d6021,
-0x8d8c0000,
-0x01800008,
-0x02f0b821,
-0xff060029,
-0x324c0000,
-0xff090200,
-0x2401fffc,
-0x15800000,
-0xff050803,
-0x02416824,
-0x924d0000,
-0xff098200,
-0x000d68c0,
-0x25ad0008,
-0xff06000d,
-0x10000000,
-0xff050824,
-0x020d7023,
-0xff06000f,
-0x8e790000,
-0xff098200,
-0x24050000,
-0xff098200,
-0x0320f809,
-0x02802021,
-0x8e900000,
-0xff098200,
-0xff000000,
-0x10000000,
-0xff05080b,
-0x24020000,
-0xff06004e,
-0x03e0a821,
-0x8e790000,
-0xff098200,
-0xae900000,
-0xff098200,
-0x02096021,
-0xafb20014,
-0xae8c0000,
-0xff098200,
-0x0320f809,
-0x02802021,
-0x8e900000,
-0xff098200,
-0x02a0f821,
-0x8e8c0000,
-0xff098200,
-0x8e080000,
-0xff098200,
-0x03e00008,
-0x01904823,
-0xff06008c,
-0xff000000,
-0x926f0000,
-0xff098200,
-0x31e10000,
-0xff090200,
-0x14200000,
-0xff050805,
-0x8e6e0000,
-0xff098200,
-0x31e10000,
-0xff090200,
-0x14200000,
-0xff050801,
-0x25ceffff,
-0x31e10000,
-0xff090200,
-0x10200000,
-0xff050801,
-0x00000000,
-0x10000000,
-0xff050801,
-0xae6e0000,
-0xff098200,
-0xff000000,
-0xff06008d,
-0x926f0000,
-0xff098200,
-0x31e10000,
-0xff090200,
-0x10200000,
-0xff050801,
-0xff06000f,
-0x8d810000,
-0xff098200,
-0x00200008,
-0x00000000,
-0xff06008e,
-0x926f0000,
-0xff098200,
-0x8e6e0000,
-0xff098200,
-0x31e10000,
-0xff090200,
-0x14200000,
-0xff05080f,
-0x31e10000,
-0xff090200,
-0x10200000,
-0xff05080f,
-0x25ceffff,
-0x11c00000,
-0xff050801,
-0xae6e0000,
-0xff098200,
-0x31e10000,
-0xff090200,
-0x10200000,
-0xff05080f,
-0xff06000b,
-0x8e790000,
-0xff098200,
-0xafb50010,
-0x02402821,
-0xae900000,
-0xff098200,
-0x0320f809,
-0x02802021,
-0xff06000d,
-0x8e900000,
-0xff098200,
-0xff06000e,
-0xff000000,
-0x8e4bfffc,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0xff098200,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff06008f,
-0x26520004,
-0x10000000,
-0xff05080e,
-0x8d150000,
-0xff098200,
-0xff060090,
-0xff000000,
-0x8e0d0000,
-0xff098200,
-0x26640000,
-0xff098200,
-0xafb20014,
-0x8dad0000,
-0xff098200,
-0x02402821,
-0xae740000,
-0xff098200,
-0x91ad0000,
-0xff098200,
-0x8e790000,
-0xff098200,
-0xae900000,
-0xff098200,
-0x000d68c0,
-0x020d6821,
-0x0320f809,
-0xae8d0000,
-0xff098200,
-0x10000000,
-0xff05080d,
-0x00000000,
-0xff000000,
-0xff060091,
-0xff000000,
-0x10000000,
-0xff050801,
-0xff000000,
-0x02402821,
-0xff060092,
-0xff000000,
-0x36450001,
-0xff06000b,
-0xff000000,
-0x8e790000,
-0xff098200,
-0x02096021,
-0xafb20014,
-0xae900000,
-0xff098200,
-0x02f0b823,
-0xae8c0000,
-0xff098200,
-0x0320f809,
-0x02802021,
-0x8e900000,
-0xff098200,
-0x8e8c0000,
-0xff098200,
-0xafa00014,
-0x01904823,
-0x0217b821,
-0x8e080000,
-0xff098200,
-0x00400008,
-0x8e4bfffc,
-0xff060093,
-0xff000000,
-0x27bd0000,
-0xff098200,
-0xf7a00000,
-0xff098200,
-0xafa00000,
-0xff098200,
-0xafa10000,
-0xff098200,
-0xf7a20000,
-0xff098200,
-0xafa20000,
-0xff098200,
-0xafa30000,
-0xff098200,
-0xf7a40000,
-0xff098200,
-0xafa40000,
-0xff098200,
-0xafa50000,
-0xff098200,
-0xf7a60000,
-0xff098200,
-0xafa60000,
-0xff098200,
-0xafa70000,
-0xff098200,
-0xf7a80000,
-0xff098200,
-0xafa80000,
-0xff098200,
-0xafa90000,
-0xff098200,
-0xf7aa0000,
-0xff098200,
-0xafaa0000,
-0xff098200,
-0xafab0000,
-0xff098200,
-0xf7ac0000,
-0xff098200,
-0xafac0000,
-0xff098200,
-0xafad0000,
-0xff098200,
-0xf7ae0000,
-0xff098200,
-0xff000000,
-0xafae0000,
-0xff098200,
-0xafaf0000,
-0xff098200,
-0xf7b00000,
-0xff098200,
-0xafb00000,
-0xff098200,
-0xafb10000,
-0xff098200,
-0xf7b20000,
-0xff098200,
-0xafb20000,
-0xff098200,
-0xafb30000,
-0xff098200,
-0xf7b40000,
-0xff098200,
-0xafb40000,
-0xff098200,
-0xafb50000,
-0xff098200,
-0xf7b60000,
-0xff098200,
-0xafb60000,
-0xff098200,
-0xafb70000,
-0xff098200,
-0xf7b80000,
-0xff098200,
-0xafb80000,
-0xff098200,
-0xafb90000,
-0xff098200,
-0xf7ba0000,
-0xff098200,
-0xafba0000,
-0xff098200,
-0xafbb0000,
-0xff098200,
-0xf7bc0000,
-0xff098200,
-0xafbc0000,
-0xff098200,
-0xf7be0000,
-0xff098200,
-0xff000000,
-0xafbe0000,
-0xff098200,
-0xafa00000,
-0xff098200,
-0x240c0000,
-0xff098200,
-0x27ae0000,
-0xff098200,
-0x27d30000,
-0xff098200,
-0x8dcd0000,
-0xae6c0000,
-0xff098200,
-0xafae0000,
-0xff098200,
-0x8e740000,
-0xff098200,
-0x8e700000,
-0xff098200,
-0x8e790000,
-0xff098200,
-0xae740000,
-0xff098200,
-0xae7f0000,
-0xff098200,
-0xae6d0000,
-0xff098200,
-0x26640000,
-0xff098200,
-0xae900000,
-0xff098200,
-0x0320f809,
-0x27a50010,
-0x8e8d0000,
-0xff098200,
-0x2401fffc,
-0x8e900000,
-0xff098200,
-0x01a1e824,
-0x8fb20014,
-0x10000000,
-0xff050801,
-0xafb40070,
-0xff000000,
-0xff060094,
-0xff000000,
-0x8fb40070,
-0x27d30000,
-0xff098200,
-0xff06000b,
-0x04400000,
-0xff050803,
-0x8e0d0000,
-0xff098200,
-0x3c0f59c0,
-0x0002a8c0,
-0x241e0000,
-0xff098200,
-0xafb50010,
-0x448ff000,
-0x8dad0000,
-0xff098200,
-0xae600000,
-0xff098200,
-0x8db10000,
-0xff098200,
-0x4600f7a1,
-0x8e4b0000,
-0x26520004,
-0xae7e0000,
-0xff098200,
-0x316d00ff,
-0x000d6880,
-0x2dae0000,
-0xff098200,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x11c00000,
-0xff050802,
-0x32f707f8,
-0x00200008,
-0x000a50c0,
-0xff06000c,
-0x26a9fff8,
-0x00200008,
-0x02f0b820,
-0xff06000d,
-0x8e790000,
-0xff098200,
-0x00022823,
-0x0320f809,
-0x02802021,
-0xff000000,
-0xff06005b,
-0x3c0c4330,
-0x44802000,
-0x448c2800,
-0x46206085,
-0x44016800,
-0x46241034,
-0x46241000,
-0x45000000,
-0xff050801,
-0x46240001,
-0x0020082a,
-0x3c0c3ff0,
-0x46200087,
-0x448c2800,
-0x46211013,
-0x46206034,
-0x46240081,
-0x03e00008,
-0x46211011,
-0xff06000b,
-0x03e00008,
-0x46206006,
-0xff06005d,
-0x3c0c4330,
-0x44802000,
-0x448c2800,
-0x46206085,
-0x44016800,
-0x46241034,
-0x46241000,
-0x45000000,
-0xff050801,
-0x46240001,
-0x0020082a,
-0x3c0cbff0,
-0x46200087,
-0x448c2800,
-0x46211013,
-0x462c0034,
-0x46240081,
-0x03e00008,
-0x46211011,
-0xff06000b,
-0x03e00008,
-0x46206006,
-0xff060095,
-0xff000000,
-0x3c0c4330,
-0x44802000,
-0x448c2800,
-0x46206085,
-0x44016800,
-0x46241034,
-0x46241000,
-0x45000000,
-0xff050801,
-0x46240001,
-0x0020082a,
-0x3c0c3ff0,
-0x448c2800,
-0x46201034,
-0x46240081,
-0x46211011,
-0x46200087,
-0x03e00008,
-0x46211013,
-0xff06000b,
-0x03e00008,
-0x46206006,
-0xff000000,
-0xff060096,
-0xff000000,
-0x27bdff90,
-0xafbf0000,
-0xff098200,
-0xafbe0000,
-0xff098200,
-0xf7be0000,
-0xff098200,
-0xafb70000,
-0xff098200,
-0xafb60000,
-0xff098200,
-0xf7bc0000,
-0xff098200,
-0xafb50000,
-0xff098200,
-0xafb40000,
-0xff098200,
-0xf7ba0000,
-0xff098200,
-0xafb30000,
-0xff098200,
-0xafb20000,
-0xff098200,
-0xf7b80000,
-0xff098200,
-0xafb10000,
-0xff098200,
-0xafb00000,
-0xff098200,
-0xf7b60000,
-0xff098200,
-0xf7b40000,
-0xff098200,
-0x8c520000,
-0xff098200,
-0x24530000,
-0xff098200,
-0x8e790000,
-0xff098200,
-0xae410000,
-0xff098200,
-0xae440000,
-0xff098200,
-0xae450000,
-0xff098200,
-0xf64c0000,
-0xff098200,
-0xff000000,
-0xae460000,
-0xff098200,
-0xae470000,
-0xff098200,
-0xf64e0000,
-0xff098200,
-0x27ac0000,
-0xff098200,
-0xae4c0000,
-0xff098200,
-0xafa00014,
-0x03a02821,
-0x0320f809,
-0x02402021,
-0x8c500000,
-0xff098200,
-0x8c490000,
-0xff098200,
-0x0040a021,
-0x3c0f59c0,
-0x8e080000,
-0xff098200,
-0x448ff000,
-0x240c0000,
-0xff098200,
-0x241e0000,
-0xff098200,
-0x01304823,
-0xae6c0000,
-0xff098200,
-0x4600f7a1,
-0x8d120000,
-0xff098200,
-0x8e4b0000,
-0x26520004,
-0x316d00ff,
-0x000bb942,
-0x000d6880,
-0x32f707f8,
-0x026d6021,
-0x8d8c0000,
-0x01800008,
-0x02f0b821,
-0xff000000,
-0xff060028,
-0xff000000,
-0x8e790000,
-0xff098200,
-0x8e720000,
-0xff098200,
-0xae900000,
-0xff098200,
-0xae880000,
-0xff098200,
-0xae540000,
-0xff098200,
-0x02e02821,
-0x0320f809,
-0x02402021,
-0x8e420000,
-0xff098200,
-0xd6400000,
-0xff098200,
-0x8e430000,
-0xff098200,
-0x10000000,
-0xff05081a,
-0xd6420000,
-0xff098200,
-0xff000000,
-0xff060097,
-0xff000000,
-0x8c8d0000,
-0xff098200,
-0x90850000,
-0xff098200,
-0x03a07021,
-0x03ade823,
-0xaddffffc,
-0x00052880,
-0xadd0fff8,
-0xadc4fff4,
-0x01c08021,
-0x248d0000,
-0xff098200,
-0x27ae0010,
-0x10a00000,
-0xff050802,
-0x01a57821,
-0xff06000b,
-0x8dac0000,
-0x25ad0004,
-0x01af082b,
-0xadcc0000,
-0x14200000,
-0xff05080b,
-0x25ce0004,
-0xff06000c,
-0x8c990000,
-0xff098200,
-0x8c850000,
-0xff098200,
-0x8c860000,
-0xff098200,
-0x8c870000,
-0xff098200,
-0xd48c0000,
-0xff098200,
-0xd48e0000,
-0xff098200,
-0x0320f809,
-0x8c840000,
-0xff098200,
-0x8e0dfff4,
-0x8e0efff8,
-0x8e1ffffc,
-0xada20000,
-0xff098200,
-0xada30000,
-0xff098200,
-0xf5a00000,
-0xff098200,
-0xf5a20000,
-0xff098200,
-0x0200e821,
-0x03e00008,
-0x01c08021,
-0xff000000,
-0xff080000,
-0xff000000,
-0x02172821,
-0x020a3021,
-0x8cac0000,
-0xff098200,
-0x8ccd0000,
-0xff098200,
-0xd4a00000,
-0xd4c20000,
-0x2d8c0000,
-0xff098200,
-0x2dad0000,
-0xff098200,
-0x964e0000,
-0xff098200,
-0x018d6024,
-0x26520004,
-0x11800000,
-0xff050835,
-0x3c0d0000,
-0xff090200,
-0x000e7080,
-0x01cd7021,
-0xff000000,
-0x46220034,
-0xff000000,
-0x46220036,
-0xff000000,
-0x00007001,
-0xff000000,
-0x00017001,
-0xff000000,
-0x024e9021,
-0xff06000b,
-0x8e4b0000,
-0x26520004,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff000000,
-0x0217b821,
-0x26520004,
-0x8eec0000,
-0xff098200,
-0xd6e00000,
-0x020a5021,
-0x964e0000,
-0xff098200,
-0x8d4d0000,
-0xff098200,
-0xd5420000,
-0x3c0f0000,
-0xff090200,
-0x2d810000,
-0xff098200,
-0x2da40000,
-0xff098200,
-0x000e7080,
-0x00240824,
-0x10200000,
-0xff050805,
-0x01cf7021,
-0x46220032,
-0xff000000,
-0x00007001,
-0xff000000,
-0x00017001,
-0xff000000,
-0xff06000b,
-0x024e9021,
-0x8e4b0000,
-0x26520004,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff06000f,
-0x8ee50000,
-0xff098200,
-0x8d460000,
-0xff098200,
-0xff000000,
-0x240f0000,
-0xff098200,
-0x118f0000,
-0xff05083b,
-0xff000000,
-0x2d810000,
-0xff098200,
-0xff000000,
-0x11af0000,
-0xff05083b,
-0xff000000,
-0x00a67826,
-0x01ac6826,
-0x2d840000,
-0xff098200,
-0x0001780a,
-0x000d200b,
-0x01af0825,
-0x0001200a,
-0x10800000,
-0xff05080b,
-0xff000000,
-0x0001700b,
-0xff000000,
-0x0001700a,
-0xff000000,
-0x8cad0000,
-0xff098200,
-0x11a00000,
-0xff05080b,
-0x00000000,
-0x91ad0000,
-0xff098200,
-0x31ad0000,
-0xff090200,
-0x15a00000,
-0xff05080b,
-0x00000000,
-0x10000000,
-0xff05083a,
-0x24070000,
-0xff098200,
-0xff000000,
-0x0217b821,
-0x26520004,
-0x8eec0000,
-0xff098200,
-0x000a5042,
-0x8eef0000,
-0xff098200,
-0x022a5023,
-0x964e0000,
-0xff098200,
-0xff000000,
-0x24010000,
-0xff098200,
-0x11810000,
-0xff05083b,
-0xff000000,
-0x8d4dfffc,
-0x258c0000,
-0xff098200,
-0x000e7080,
-0x01af6826,
-0x018d6025,
-0x3c0f0000,
-0xff090200,
-0x01cf7021,
-0xff000000,
-0x000c700b,
-0xff000000,
-0x000c700a,
-0xff000000,
-0x024e9021,
-0x8e4b0000,
-0x26520004,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff000000,
-0x0217b821,
-0x26520004,
-0x8eec0000,
-0xff098200,
-0xd6e00000,
-0x022a5021,
-0x964e0000,
-0xff098200,
-0xd5420000,
-0x3c0f0000,
-0xff090200,
-0x2d810000,
-0xff098200,
-0x000e7080,
-0xff000000,
-0x10200000,
-0xff050805,
-0xff000000,
-0x10200000,
-0xff050801,
-0xff000000,
-0x01cf7021,
-0x46220032,
-0xff000000,
-0x00007001,
-0x024e9021,
-0xff06000b,
-0xff000000,
-0x00017001,
-0xff06000b,
-0x024e9021,
-0xff000000,
-0x8e4b0000,
-0x26520004,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff000000,
-0xff06000f,
-0x24010000,
-0xff098200,
-0x11810000,
-0xff05083b,
-0x00000000,
-0x10000000,
-0xff05080b,
-0x00000000,
-0xff000000,
-0x0217b821,
-0x000a68c2,
-0x8eec0000,
-0xff098200,
-0x964e0000,
-0xff098200,
-0x01a06827,
-0x26520004,
-0xff000000,
-0x24010000,
-0xff098200,
-0x11810000,
-0xff05083b,
-0xff000000,
-0x018d6026,
-0x000e7080,
-0x3c0f0000,
-0xff090200,
-0x01cf7021,
-0xff000000,
-0x000c700b,
-0xff000000,
-0x000c700a,
-0xff000000,
-0x024e9021,
-0x8e4b0000,
-0x26520004,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff000000,
-0x020a5021,
-0x964e0000,
-0xff098200,
-0x8d4c0000,
-0xff098200,
-0x26520004,
-0xff000000,
-0x2d8c0000,
-0xff098200,
-0x000e7080,
-0x3c0f0000,
-0xff090200,
-0x01cf7021,
-0xff000000,
-0x000c700a,
-0xff000000,
-0x000c700b,
-0xff000000,
-0x024e9021,
-0xff000000,
-0x2d8c0000,
-0xff098200,
-0xd5400000,
-0xff000000,
-0x11800000,
-0xff050801,
-0xff000000,
-0x15800000,
-0xff050801,
-0xff000000,
-0x0217b821,
-0x000e7080,
-0x3c0f0000,
-0xff090200,
-0x01cf7021,
-0xf6e00000,
-0x024e9021,
-0xff06000b,
-0xff000000,
-0x8e4b0000,
-0x26520004,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff000000,
-0x020a5021,
-0x0217b821,
-0xd5400000,
-0x8e4b0000,
-0x26520004,
-0xf6e00000,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff000000,
-0x020a5021,
-0x0217b821,
-0x8d4c0000,
-0xff098200,
-0x240d0000,
-0xff098200,
-0x2d8c0000,
-0xff098200,
-0x258d0000,
-0xff098200,
-0x8e4b0000,
-0x26520004,
-0xaeed0000,
-0xff098200,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff000000,
-0x020a3021,
-0x0217b821,
-0x8ccc0000,
-0xff098200,
-0xd4c00000,
-0x2d810000,
-0xff098200,
-0x10200000,
-0xff05083c,
-0x46200007,
-0x8e4b0000,
-0x26520004,
-0xf6e00000,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff000000,
-0x020a2821,
-0x0217b821,
-0x8cac0000,
-0xff098200,
-0x8ca40000,
-0xff098200,
-0x24010000,
-0xff098200,
-0x15810000,
-0xff050802,
-0x24010000,
-0xff098200,
-0x8c820000,
-0xff098200,
-0xff06000b,
-0x44820000,
-0x46800021,
-0x8e4b0000,
-0x26520004,
-0xf6e00000,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff06000c,
-0x15810000,
-0xff05083e,
-0x00000000,
-0xff000000,
-0x8c8e0000,
-0xff098200,
-0x15c00000,
-0xff050809,
-0x00000000,
-0xff06000d,
-0xff000000,
-0xff06003f,
-0x8e790000,
-0xff098200,
-0x0320f809,
-0x00000000,
-0x10000000,
-0xff05080b,
-0x00000000,
-0xff000000,
-0xff060013,
-0x91cc0000,
-0xff098200,
-0x318c0000,
-0xff090200,
-0x15800000,
-0xff05080d,
-0x00000000,
-0x10000000,
-0xff05083e,
-0x00000000,
-0xff000000,
-0x000b4542,
-0x310807f8,
-0x314907f8,
-0xff000000,
-0x02083021,
-0x02293821,
-0x8ccd0000,
-0xff098200,
-0xd4d40000,
-0xd4f60000,
-0x2da10000,
-0xff098200,
-0xff000000,
-0x02083821,
-0x02293021,
-0x8ced0000,
-0xff098200,
-0xd4f60000,
-0xd4d40000,
-0x2da10000,
-0xff098200,
-0xff000000,
-0x02083021,
-0x02093821,
-0x8ccd0000,
-0xff098200,
-0x8cee0000,
-0xff098200,
-0xd4d40000,
-0xd4f60000,
-0x2da10000,
-0xff098200,
-0x2dcc0000,
-0xff098200,
-0x002c0824,
-0xff000000,
-0x10200000,
-0xff05083d,
-0x0217b821,
-0x4636a000,
-0x8e4b0000,
-0x26520004,
-0xf6e00000,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff000000,
-0x000b4542,
-0x310807f8,
-0x314907f8,
-0xff000000,
-0x02083021,
-0x02293821,
-0x8ccd0000,
-0xff098200,
-0xd4d40000,
-0xd4f60000,
-0x2da10000,
-0xff098200,
-0xff000000,
-0x02083821,
-0x02293021,
-0x8ced0000,
-0xff098200,
-0xd4f60000,
-0xd4d40000,
-0x2da10000,
-0xff098200,
-0xff000000,
-0x02083021,
-0x02093821,
-0x8ccd0000,
-0xff098200,
-0x8cee0000,
-0xff098200,
-0xd4d40000,
-0xd4f60000,
-0x2da10000,
-0xff098200,
-0x2dcc0000,
-0xff098200,
-0x002c0824,
-0xff000000,
-0x10200000,
-0xff05083d,
-0x0217b821,
-0x4636a001,
-0x8e4b0000,
-0x26520004,
-0xf6e00000,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff000000,
-0x000b4542,
-0x310807f8,
-0x314907f8,
-0xff000000,
-0x02083021,
-0x02293821,
-0x8ccd0000,
-0xff098200,
-0xd4d40000,
-0xd4f60000,
-0x2da10000,
-0xff098200,
-0xff000000,
-0x02083821,
-0x02293021,
-0x8ced0000,
-0xff098200,
-0xd4f60000,
-0xd4d40000,
-0x2da10000,
-0xff098200,
-0xff000000,
-0x02083021,
-0x02093821,
-0x8ccd0000,
-0xff098200,
-0x8cee0000,
-0xff098200,
-0xd4d40000,
-0xd4f60000,
-0x2da10000,
-0xff098200,
-0x2dcc0000,
-0xff098200,
-0x002c0824,
-0xff000000,
-0x10200000,
-0xff05083d,
-0x0217b821,
-0x4636a002,
-0x8e4b0000,
-0x26520004,
-0xf6e00000,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff000000,
-0x000b4542,
-0x310807f8,
-0x314907f8,
-0xff000000,
-0x02083021,
-0x02293821,
-0x8ccd0000,
-0xff098200,
-0xd4d40000,
-0xd4f60000,
-0x2da10000,
-0xff098200,
-0xff000000,
-0x02083821,
-0x02293021,
-0x8ced0000,
-0xff098200,
-0xd4f60000,
-0xd4d40000,
-0x2da10000,
-0xff098200,
-0xff000000,
-0x02083021,
-0x02093821,
-0x8ccd0000,
-0xff098200,
-0x8cee0000,
-0xff098200,
-0xd4d40000,
-0xd4f60000,
-0x2da10000,
-0xff098200,
-0x2dcc0000,
-0xff098200,
-0x002c0824,
-0xff000000,
-0x10200000,
-0xff05083d,
-0x0217b821,
-0x4636a003,
-0x8e4b0000,
-0x26520004,
-0xf6e00000,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff000000,
-0x000b4542,
-0x310807f8,
-0x314907f8,
-0xff000000,
-0x02083021,
-0x02293821,
-0x8ccd0000,
-0xff098200,
-0xd4d40000,
-0xd4f60000,
-0x2da10000,
-0xff098200,
-0xff000000,
-0x02083821,
-0x02293021,
-0x8ced0000,
-0xff098200,
-0xd4f60000,
-0xd4d40000,
-0x2da10000,
-0xff098200,
-0xff000000,
-0x02083021,
-0x02093821,
-0x8ccd0000,
-0xff098200,
-0x8cee0000,
-0xff098200,
-0xd4d40000,
-0xd4f60000,
-0x2da10000,
-0xff098200,
-0x2dcc0000,
-0xff098200,
-0x002c0824,
-0xff000000,
-0x10200000,
-0xff05083d,
-0x0217b821,
-0xff060098,
-0x04110000,
-0xff05085b,
-0x4636a303,
-0x46360002,
-0x4620a001,
-0x8e4b0000,
-0x26520004,
-0xf6e00000,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff000000,
-0x000b4542,
-0x310807f8,
-0x314907f8,
-0xff000000,
-0x02083021,
-0x02293821,
-0x8ccd0000,
-0xff098200,
-0xd4d40000,
-0xd4f60000,
-0x2da10000,
-0xff098200,
-0xff000000,
-0x02083821,
-0x02293021,
-0x8ced0000,
-0xff098200,
-0xd4f60000,
-0xd4d40000,
-0x2da10000,
-0xff098200,
-0xff000000,
-0x02083021,
-0x02093821,
-0x8ccd0000,
-0xff098200,
-0x8cee0000,
-0xff098200,
-0xd4d40000,
-0xd4f60000,
-0x2da10000,
-0xff098200,
-0x2dcc0000,
-0xff098200,
-0x002c0824,
-0xff000000,
-0x10200000,
-0xff05083d,
-0x0217b821,
-0x10000000,
-0xff050898,
-0x00000000,
-0xff000000,
-0x000b4542,
-0x310807f8,
-0x314907f8,
-0x02083021,
-0x02093821,
-0x8ccd0000,
-0xff098200,
-0x8cee0000,
-0xff098200,
-0xd4cc0000,
-0xd4ee0000,
-0x2da10000,
-0xff098200,
-0x2dcc0000,
-0xff098200,
-0x002c0824,
-0x8e790000,
-0xff098200,
-0x10200000,
-0xff05083d,
-0x0217b821,
-0x0320f809,
-0x00000000,
-0x8e4b0000,
-0x26520004,
-0xf6e00000,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff000000,
-0x000b4542,
-0x310807f8,
-0x314907f8,
-0x01283023,
-0xae900000,
-0xff098200,
-0x02092821,
-0x0100a821,
-0xff06002b,
-0x8e790000,
-0xff098200,
-0x000630c2,
-0xafb20014,
-0x0320f809,
-0x02802021,
-0x14400000,
-0xff050836,
-0x8e900000,
-0xff098200,
-0x02154021,
-0xd5000000,
-0x0217b821,
-0x8e4b0000,
-0x26520004,
-0xf6e00000,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff000000,
-0x000a6842,
-0x022d6823,
-0x8e4b0000,
-0x26520004,
-0x8dacfffc,
-0x0217b821,
-0x240e0000,
-0xff098200,
-0xaeec0000,
-0xff098200,
-0xaeee0000,
-0xff098200,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff000000,
-0x000a6842,
-0x022d6823,
-0x8e4b0000,
-0x26520004,
-0x8dacfffc,
-0x0217b821,
-0x240e0000,
-0xff098200,
-0xaeec0000,
-0xff098200,
-0xaeee0000,
-0xff098200,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff000000,
-0x000b5403,
-0x448a0000,
-0x0217b821,
-0x46800021,
-0x8e4b0000,
-0x26520004,
-0xf6e00000,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff000000,
-0x022a5021,
-0x0217b821,
-0xd5400000,
-0x8e4b0000,
-0x26520004,
-0xf6e00000,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff000000,
-0x000a68c2,
-0x0217b821,
-0x01a06027,
-0x8e4b0000,
-0x26520004,
-0xaeec0000,
-0xff098200,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff000000,
-0x0217b821,
-0xaefe0000,
-0xff098200,
-0x26f70008,
-0x020a5021,
-0xff06000b,
-0xaefe0000,
-0xff098200,
-0x02ea082a,
-0x14200000,
-0xff05080b,
-0x26f70008,
-0x8e4b0000,
-0x26520004,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff000000,
-0x8e080000,
-0xff098200,
-0x000a5042,
-0x01485021,
-0x8d480000,
-0xff098200,
-0x8e4b0000,
-0x26520004,
-0x8d0d0000,
-0xff098200,
-0xd5a00000,
-0x0217b821,
-0xf6e00000,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff000000,
-0x8e080000,
-0xff098200,
-0x0017b842,
-0x020a5021,
-0x02e8b821,
-0xd5400000,
-0x8ee80000,
-0xff098200,
-0x910f0000,
-0xff098200,
-0x8d050000,
-0xff098200,
-0x31ef0000,
-0xff090200,
-0x910c0000,
-0xff098200,
-0x8d4e0000,
-0xff098200,
-0xf4a00000,
-0x24010000,
-0xff098200,
-0x01ec7825,
-0x11e10000,
-0xff050802,
-0x25ce0000,
-0xff098200,
-0xff06000b,
-0x8e4b0000,
-0x26520004,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff06000c,
-0x2dc10000,
-0xff098200,
-0x10200000,
-0xff05080b,
-0x8d4d0000,
-0xff098200,
-0x91af0000,
-0xff098200,
-0x31ef0000,
-0xff090200,
-0x11e00000,
-0xff05080b,
-0x8e790000,
-0xff098200,
-0x0320f809,
-0x26640000,
-0xff098200,
-0x10000000,
-0xff05080b,
-0x00000000,
-0xff000000,
-0x8e080000,
-0xff098200,
-0x0017b842,
-0x000a6842,
-0x02e8b821,
-0x022d6823,
-0x8ee80000,
-0xff098200,
-0x8dadfffc,
-0x910e0000,
-0xff098200,
-0x8d050000,
-0xff098200,
-0x91af0000,
-0xff098200,
-0x31c10000,
-0xff090200,
-0x910e0000,
-0xff098200,
-0x240c0000,
-0xff098200,
-0xacad0000,
-0xff098200,
-0x14200000,
-0xff050802,
-0xacac0000,
-0xff098200,
-0xff06000b,
-0x8e4b0000,
-0x26520004,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff06000c,
-0x11c00000,
-0xff05080b,
-0x31e10000,
-0xff090200,
-0x10200000,
-0xff05080b,
-0x8e790000,
-0xff098200,
-0x0320f809,
-0x26640000,
-0xff098200,
-0x10000000,
-0xff05080b,
-0x00000000,
-0xff000000,
-0x8e080000,
-0xff098200,
-0x0017b842,
-0x022a5021,
-0x02e8b821,
-0xd5400000,
-0x8ee80000,
-0xff098200,
-0x8e4b0000,
-0x26520004,
-0x8d0d0000,
-0xff098200,
-0xf5a00000,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff000000,
-0x8e080000,
-0xff098200,
-0x0017b842,
-0x000a60c2,
-0x02e8b821,
-0x01806027,
-0x8ee80000,
-0xff098200,
-0x8e4b0000,
-0x26520004,
-0x8d0d0000,
-0xff098200,
-0xadac0000,
-0xff098200,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff000000,
-0x8e8e0000,
-0xff098200,
-0x000a6042,
-0x3c010000,
-0xff090200,
-0x01816021,
-0x024c9021,
-0x8e790000,
-0xff098200,
-0xae900000,
-0xff098200,
-0x11c00000,
-0xff050801,
-0x02802021,
-0x0320f809,
-0x02172821,
-0x8e900000,
-0xff098200,
-0xff06000b,
-0x8e4b0000,
-0x26520004,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff000000,
-0x000a6842,
-0x8e790000,
-0xff098200,
-0x022d6823,
-0x8e060000,
-0xff098200,
-0x8da5fffc,
-0xae900000,
-0xff098200,
-0xafb20014,
-0x0320f809,
-0x02802021,
-0x8e900000,
-0xff098200,
-0x240c0000,
-0xff098200,
-0x8e4b0000,
-0x26520004,
-0x0217b821,
-0xaeec0000,
-0xff098200,
-0xaee20000,
-0xff098200,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff000000,
-0x8e6c0000,
-0xff098200,
-0x8e6d0000,
-0xff098200,
-0xae900000,
-0xff098200,
-0xafb20014,
-0x018d082b,
-0x10200000,
-0xff050805,
-0xff06000b,
-0xff000000,
-0x8e790000,
-0xff098200,
-0x000a28c2,
-0x30a507ff,
-0x240c0801,
-0x24a1f801,
-0x000a3382,
-0x0181280a,
-0x0320f809,
-0x02802021,
-0xff000000,
-0x8e790000,
-0xff098200,
-0x000a6842,
-0x022d6823,
-0x02802021,
-0x0320f809,
-0x8da5fffc,
-0xff000000,
-0x8e900000,
-0xff098200,
-0x8e4b0000,
-0x26520004,
-0x0217b821,
-0x240c0000,
-0xff098200,
-0xaee20000,
-0xff098200,
-0xaeec0000,
-0xff098200,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff06000f,
-0x8e790000,
-0xff098200,
-0x0140a821,
-0x0320f809,
-0x02802021,
-0x10000000,
-0xff05080b,
-0x02a05021,
-0xff000000,
-0x8e0e0000,
-0xff098200,
-0x000a6842,
-0x022d6823,
-0x8dc80000,
-0xff098200,
-0x8da9fffc,
-0xff000000,
-0x10000000,
-0xff050899,
-0xff000000,
-0x10000000,
-0xff05089a,
-0xff000000,
-0x0217b821,
-0xff000000,
-0x000b4542,
-0x310807f8,
-0x314907f8,
-0x02082821,
-0x02093021,
-0x8cad0000,
-0xff098200,
-0x8cce0000,
-0xff098200,
-0x8ca80000,
-0xff098200,
-0x24010000,
-0xff098200,
-0xd4c00000,
-0x15a10000,
-0xff050830,
-0x0217b821,
-0x2dc10000,
-0xff098200,
-0x10200000,
-0xff050805,
-0x24010000,
-0xff098200,
-0x462000a4,
-0x8d0c0000,
-0xff098200,
-0x440e1000,
-0x46801121,
-0x8d0d0000,
-0xff098200,
-0x46240032,
-0x01cc082b,
-0x00000801,
-0x000e70c0,
-0x10200000,
-0xff050830,
-0x01ae7021,
-0x8dcc0000,
-0xff098200,
-0x119e0000,
-0xff050802,
-0xd5c00000,
-0xff06000b,
-0x8e4b0000,
-0x26520004,
-0xf6e00000,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff06000c,
-0x8d0e0000,
-0xff098200,
-0x11c00000,
-0xff05080b,
-0x00000000,
-0x91cc0000,
-0xff098200,
-0x318c0000,
-0xff090200,
-0x15800000,
-0xff05080b,
-0x00000000,
-0x10000000,
-0xff050830,
-0x00000000,
-0xff06000f,
-0x15c10000,
-0xff050830,
-0xff000000,
-0x8cc90000,
-0xff098200,
-0x10000000,
-0xff050899,
-0x00000000,
-0xff000000,
-0x000b4542,
-0x310807f8,
-0x02082821,
-0x000b4b82,
-0x8cac0000,
-0xff098200,
-0x312903fc,
-0x24010000,
-0xff098200,
-0x8ca80000,
-0xff098200,
-0x02293023,
-0x8cc9fffc,
-0x15810000,
-0xff05082d,
-0x0217b821,
-0xff060099,
-0x8d0c0000,
-0xff098200,
-0x8d2d0000,
-0xff098200,
-0x8d0e0000,
-0xff098200,
-0x01ac6824,
-0x000d6140,
-0x000d68c0,
-0x018d6823,
-0x01cd7021,
-0xff06000b,
-0x8dc40000,
-0xff098200,
-0x8dcc0000,
-0xff098200,
-0x8dcd0000,
-0xff098200,
-0x8dc50000,
-0xff098200,
-0x24840000,
-0xff098200,
-0x01896026,
-0x008c0825,
-0x14200000,
-0xff050804,
-0x8d0f0000,
-0xff098200,
-0x10be0000,
-0xff050805,
-0x8dc40000,
-0xff098200,
-0xff06000d,
-0x8e4b0000,
-0x26520004,
-0xaee50000,
-0xff098200,
-0xaee40000,
-0xff098200,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff06000e,
-0x15a00000,
-0xff05080b,
-0xff000000,
-0x01a07021,
-0xff06000f,
-0x11e00000,
-0xff05080d,
-0x24050000,
-0xff098200,
-0x91ec0000,
-0xff098200,
-0x318c0000,
-0xff090200,
-0x15800000,
-0xff05080d,
-0x00000000,
-0x10000000,
-0xff05082e,
-0x00000000,
-0xff000000,
-0x000b4542,
-0x310807f8,
-0x02082821,
-0x314907f8,
-0x8ca40000,
-0xff098200,
-0x24010000,
-0xff098200,
-0x8ca80000,
-0xff098200,
-0x0217b821,
-0x14810000,
-0xff05082f,
-0x000960c2,
-0x8d0d0000,
-0xff098200,
-0x8d0e0000,
-0xff098200,
-0x018d082b,
-0x10200000,
-0xff05082f,
-0x01c94821,
-0x8d2d0000,
-0xff098200,
-0x11be0000,
-0xff050805,
-0xd5200000,
-0xff06000b,
-0x8e4b0000,
-0x26520004,
-0xf6e00000,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff06000f,
-0x8d0e0000,
-0xff098200,
-0x11c00000,
-0xff05080b,
-0x00000000,
-0x91cd0000,
-0xff098200,
-0x31ad0000,
-0xff090200,
-0x15a00000,
-0xff05080b,
-0x00000000,
-0x10000000,
-0xff05082f,
-0x00000000,
-0xff000000,
-0x000b4542,
-0x310807f8,
-0x314907f8,
-0x02082821,
-0x02093021,
-0x8cad0000,
-0xff098200,
-0x8cce0000,
-0xff098200,
-0x8ca80000,
-0xff098200,
-0x24010000,
-0xff098200,
-0xd4c00000,
-0x15a10000,
-0xff050834,
-0x0217b821,
-0x2dc10000,
-0xff098200,
-0x10200000,
-0xff050805,
-0x24010000,
-0xff098200,
-0x462000a4,
-0x8d0c0000,
-0xff098200,
-0x440e1000,
-0x46801121,
-0x8d0d0000,
-0xff098200,
-0x46240032,
-0x01cc082b,
-0x00000801,
-0x000e70c0,
-0x10200000,
-0xff050834,
-0x01ae6821,
-0x910f0000,
-0xff098200,
-0x8dac0000,
-0xff098200,
-0x119e0000,
-0xff050803,
-0xd6e00000,
-0xff06000b,
-0x31e10000,
-0xff090200,
-0x14200000,
-0xff050807,
-0xf5a00000,
-0xff06000c,
-0x8e4b0000,
-0x26520004,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff06000d,
-0x8d0e0000,
-0xff098200,
-0x11c00000,
-0xff05080b,
-0x00000000,
-0x91ce0000,
-0xff098200,
-0x31ce0000,
-0xff090200,
-0xff000000,
-0x15c00000,
-0xff05080b,
-0x00000000,
-0x10000000,
-0xff050834,
-0x00000000,
-0xff06000f,
-0x15c10000,
-0xff050834,
-0x8cc90000,
-0xff098200,
-0x10000000,
-0xff05089a,
-0x00000000,
-0xff060011,
-0x8e6c0000,
-0xff098200,
-0x31ef0000,
-0xff090200,
-0xae680000,
-0xff098200,
-0xa10f0000,
-0xff098200,
-0x10000000,
-0xff05080c,
-0xad0c0000,
-0xff098200,
-0xff000000,
-0x000b4542,
-0x310807f8,
-0x02082821,
-0x000b4b82,
-0x8cac0000,
-0xff098200,
-0x312903fc,
-0x24010000,
-0xff098200,
-0x02293023,
-0x8ca80000,
-0xff098200,
-0x8cc9fffc,
-0x15810000,
-0xff050831,
-0x0217b821,
-0xff06009a,
-0x8d0c0000,
-0xff098200,
-0x8d2d0000,
-0xff098200,
-0x8d0e0000,
-0xff098200,
-0xa1000000,
-0xff098200,
-0x01ac6824,
-0x000d6140,
-0x000d68c0,
-0x018d6823,
-0x01cd7021,
-0xd6f40000,
-0xff06000b,
-0x8dc40000,
-0xff098200,
-0x8dcc0000,
-0xff098200,
-0x24010000,
-0xff098200,
-0x8dcd0000,
-0xff098200,
-0x14810000,
-0xff050805,
-0x8dc50000,
-0xff098200,
-0x15890000,
-0xff050805,
-0x910f0000,
-0xff098200,
-0x10be0000,
-0xff050804,
-0x8d0c0000,
-0xff098200,
-0xff06000c,
-0x31e10000,
-0xff090200,
-0x14200000,
-0xff050807,
-0xff000000,
-0xf5d40000,
-0xff098200,
-0xff06000d,
-0x8e4b0000,
-0x26520004,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff06000e,
-0x11800000,
-0xff05080c,
-0x00000000,
-0x918c0000,
-0xff098200,
-0x318c0000,
-0xff090200,
-0x15800000,
-0xff05080c,
-0x00000000,
-0x10000000,
-0xff050832,
-0x00000000,
-0xff06000f,
-0x15a00000,
-0xff05080b,
-0x01a07021,
-0x8d0e0000,
-0xff098200,
-0x11c00000,
-0xff050806,
-0x26660000,
-0xff098200,
-0x91cc0000,
-0xff098200,
-0x318c0000,
-0xff090200,
-0x11800000,
-0xff050832,
-0x24010000,
-0xff098200,
-0xff060010,
-0x8e790000,
-0xff098200,
-0xacc90000,
-0xff098200,
-0xacc10000,
-0xff098200,
-0xae900000,
-0xff098200,
-0x01002821,
-0xafb20014,
-0x0320f809,
-0x02802021,
-0x8e900000,
-0xff098200,
-0xff000000,
-0x10000000,
-0xff05080d,
-0xf4540000,
-0xff060011,
-0x8e6c0000,
-0xff098200,
-0x31ef0000,
-0xff090200,
-0xae680000,
-0xff098200,
-0xa10f0000,
-0xff098200,
-0x10000000,
-0xff05080d,
-0xad0c0000,
-0xff098200,
-0xff000000,
-0x000b4542,
-0x310807f8,
-0x02082821,
-0x314907f8,
-0x8ca40000,
-0xff098200,
-0x24010000,
-0xff098200,
-0x8ca80000,
-0xff098200,
-0x0217b821,
-0x14810000,
-0xff050833,
-0x000960c2,
-0x8d0d0000,
-0xff098200,
-0x8d0e0000,
-0xff098200,
-0x018d082b,
-0x10200000,
-0xff050833,
-0x01c94821,
-0x8d2d0000,
-0xff098200,
-0x910f0000,
-0xff098200,
-0x11be0000,
-0xff050805,
-0xd6e00000,
-0xff06000b,
-0x31e10000,
-0xff090200,
-0x14200000,
-0xff050807,
-0xf5200000,
-0xff06000c,
-0x8e4b0000,
-0x26520004,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff06000f,
-0x8d0e0000,
-0xff098200,
-0x11c00000,
-0xff05080b,
-0x00000000,
-0x91cd0000,
-0xff098200,
-0x31ad0000,
-0xff090200,
-0x15a00000,
-0xff05080b,
-0x00000000,
-0x10000000,
-0xff050833,
-0x00000000,
-0xff060011,
-0x8e6c0000,
-0xff098200,
-0xff000000,
-0x31ef0000,
-0xff090200,
-0xae680000,
-0xff098200,
-0xa10f0000,
-0xff098200,
-0x10000000,
-0xff05080c,
-0xad0c0000,
-0xff098200,
-0xff000000,
-0x0217b821,
-0xff06000b,
-0x022a7821,
-0x8ee50000,
-0xff098200,
-0x26acfff8,
-0x8def0000,
-0xff098200,
-0x11800000,
-0xff050804,
-0x000c30c2,
-0x00cf3021,
-0x8cae0000,
-0xff098200,
-0x000f68c0,
-0x90af0000,
-0xff098200,
-0x8ca40000,
-0xff098200,
-0x01c6082b,
-0x14200000,
-0xff050805,
-0x02ec7021,
-0x01a46821,
-0x31ec0000,
-0xff090200,
-0xff06000d,
-0xd6e00000,
-0x26f70008,
-0x02ee082b,
-0xf5a00000,
-0x14200000,
-0xff05080d,
-0x25ad0008,
-0x15800000,
-0xff050807,
-0x00000000,
-0xff06000e,
-0x8e4b0000,
-0x26520004,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff06000f,
-0x8e790000,
-0xff098200,
-0xae900000,
-0xff098200,
-0xafb20014,
-0x01408021,
-0x0320f809,
-0x02802021,
-0x02005021,
-0x10000000,
-0xff05080b,
-0x8e900000,
-0xff098200,
-0xff060011,
-0x8e6c0000,
-0xff098200,
-0x31ef0000,
-0xff090200,
-0xae650000,
-0xff098200,
-0xa0af0000,
-0xff098200,
-0xff000000,
-0x10000000,
-0xff05080e,
-0xacac0000,
-0xff098200,
-0xff000000,
-0x314907f8,
-0x10000000,
-0xff05089b,
-0x01354821,
-0xff000000,
-0x314907f8,
-0xff06009b,
-0x02007021,
-0x02178021,
-0x24010000,
-0xff098200,
-0x8e0c0000,
-0xff098200,
-0x8e080000,
-0xff098200,
-0x26100008,
-0x15810000,
-0xff050825,
-0x2529fff8,
-0xae120000,
-0xff098200,
-0x8d120000,
-0xff098200,
-0x8e4b0000,
-0x26520004,
-0x316d00ff,
-0x000bb942,
-0x000d6880,
-0x32f707f8,
-0x026d6021,
-0x8d8c0000,
-0x01800008,
-0x02f0b821,
-0xff000000,
-0x01555021,
-0xff000000,
-0x0217b821,
-0x24010000,
-0xff098200,
-0x8eec0000,
-0xff098200,
-0x8ee80000,
-0xff098200,
-0x01404821,
-0x8e0d0000,
-0xff098200,
-0x26f70008,
-0x15810000,
-0xff050840,
-0x2529fff8,
-0xff060041,
-0x31ac0000,
-0xff090200,
-0x910f0000,
-0xff098200,
-0x15800000,
-0xff050807,
-0x39ae0000,
-0xff090200,
-0xff06000b,
-0xae080000,
-0xff098200,
-0x2de10002,
-0x02007021,
-0x11200000,
-0xff050803,
-0x01207821,
-0xff06000c,
-0xd6e00000,
-0x26f70008,
-0x25effff8,
-0xf5c00000,
-0x15e00000,
-0xff05080c,
-0x25ce0008,
-0xff06000d,
-0x01816025,
-0x11800000,
-0xff050805,
-0x00000000,
-0xff06000e,
-0x8d120000,
-0xff098200,
-0x8e4b0000,
-0x26520004,
-0x316d00ff,
-0x000bb942,
-0x000d6880,
-0x32f707f8,
-0x026d6021,
-0x8d8c0000,
-0x01800008,
-0x02f0b821,
-0xff06000f,
-0x8dabfffc,
-0x000bb942,
-0x32f707f8,
-0x02176823,
-0x8dad0000,
-0xff098200,
-0x8dad0000,
-0xff098200,
-0x10000000,
-0xff05080e,
-0xff000000,
-0x8db10000,
-0xff098200,
-0xff060011,
-0x31c10000,
-0xff090200,
-0x14200000,
-0xff05080b,
-0x020e7023,
-0x01c08021,
-0x8dcd0000,
-0xff098200,
-0x10000000,
-0xff05080b,
-0x31ac0000,
-0xff090200,
-0xff000000,
-0x02007021,
-0x02178021,
-0x24010000,
-0xff098200,
-0x8e0d0000,
-0xff098200,
-0x8e080000,
-0xff098200,
-0xd602fff8,
-0xd600fff0,
-0xae0d0000,
-0xff098200,
-0xae080000,
-0xff098200,
-0xf6020010,
-0xf6000008,
-0x26100008,
-0x15a10000,
-0xff050825,
-0x24090010,
-0xae120000,
-0xff098200,
-0x8d120000,
-0xff098200,
-0x8e4b0000,
-0x26520004,
-0x316d00ff,
-0x000bb942,
-0x000d6880,
-0x32f707f8,
-0x026d6021,
-0x8d8c0000,
-0x01800008,
-0x02f0b821,
-0xff000000,
-0x0217b821,
-0x8ee80000,
-0xff098200,
-0x8ee90000,
-0xff098200,
-0x8d0c0000,
-0xff098200,
-0x8d0d0000,
-0xff098200,
-0x26520004,
-0xff06000b,
-0x012c082b,
-0x10200000,
-0xff050805,
-0x000978c0,
-0x01af7821,
-0x8dee0000,
-0xff098200,
-0xd5e00000,
-0x44891000,
-0x964a0000,
-0xff098200,
-0x11de0000,
-0xff05080b,
-0x25290001,
-0x468010a1,
-0x3c0f0000,
-0xff090200,
-0xf6e00008,
-0x000a5080,
-0x014f5021,
-0xaee90000,
-0xff098200,
-0x024a9021,
-0xf6e20000,
-0xff06000d,
-0x8e4b0000,
-0x26520004,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff06000f,
-0x8d0d0000,
-0xff098200,
-0x012c4823,
-0x8d0e0000,
-0xff098200,
-0xff060010,
-0x01a9082b,
-0x14200000,
-0xff05080d,
-0x00097940,
-0x000940c0,
-0x01e87823,
-0x01ee7821,
-0x8de80000,
-0xff098200,
-0xd5e00000,
-0x964a0000,
-0xff098200,
-0x111e0000,
-0xff050810,
-0x25290001,
-0xd5e20000,
-0xff098200,
-0x3c0f0000,
-0xff090200,
-0xf6e00008,
-0x012c4821,
-0x000a5080,
-0x014f5021,
-0xf6e20000,
-0x024a9021,
-0x10000000,
-0xff05080d,
-0xff000000,
-0xaee90000,
-0xff098200,
-0xff000000,
-0x0217b821,
-0x8eec0000,
-0xff098200,
-0x8eed0000,
-0xff098200,
-0x8eee0000,
-0xff098200,
-0x8eef0000,
-0xff098200,
-0x24010000,
-0xff098200,
-0x15810000,
-0xff050805,
-0x25ce0000,
-0xff098200,
-0x91ad0000,
-0xff098200,
-0x25ef0000,
-0xff098200,
-0x000a6042,
-0x01cf7025,
-0x25ad0000,
-0xff098200,
-0x024c6021,
-0x01ae6825,
-0x15a00000,
-0xff050805,
-0x3c0e0000,
-0xff090200,
-0x018e9021,
-0xaee00000,
-0xff098200,
-0xff06000b,
-0x8e4b0000,
-0x26520004,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff06000f,
-0x240f0000,
-0xff098200,
-0x240d0000,
-0xff098200,
-0xa24f0000,
-0xff098200,
-0x018e9021,
-0x10000000,
-0xff05080b,
-0xa24d0000,
-0xff098200,
-0xff000000,
-0x8e0c0000,
-0xff098200,
-0x314907f8,
-0x000b4542,
-0x02094821,
-0x310807f8,
-0x0217b821,
-0x25290000,
-0xff098200,
-0x02e87021,
-0x260ffff8,
-0x012c4823,
-0x11000000,
-0xff050805,
-0x01e96823,
-0x25cefff0,
-0xff06000b,
-0x8d240000,
-0xff098200,
-0x012f082b,
-0x8d250000,
-0xff098200,
-0x25290008,
-0x03c1200a,
-0xaee40000,
-0xff098200,
-0xaee50000,
-0xff098200,
-0x02ee082b,
-0x14200000,
-0xff05080b,
-0x26f70008,
-0xff06000d,
-0x8e4b0000,
-0x26520004,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff06000f,
-0x8e8c0000,
-0xff098200,
-0x19a00000,
-0xff05080d,
-0x24150008,
-0x02ed7021,
-0x018e082b,
-0x14200000,
-0xff050807,
-0x25b50008,
-0xff060010,
-0xd5200000,
-0x25290008,
-0xf6e00000,
-0x012f082b,
-0x14200000,
-0xff050810,
-0x26f70008,
-0x10000000,
-0xff05080d,
-0x00000000,
-0xff060011,
-0x8e790000,
-0xff098200,
-0xae970000,
-0xff098200,
-0x02f0b823,
-0xae900000,
-0xff098200,
-0x01308023,
-0xafb20014,
-0x000d28c2,
-0x0320f809,
-0x02802021,
-0x02004821,
-0x8e900000,
-0xff098200,
-0x0217b821,
-0x02094821,
-0x10000000,
-0xff050810,
-0xff000000,
-0x260ffff8,
-0xff000000,
-0x01555021,
-0xff000000,
-0x8e120000,
-0xff098200,
-0x0217b821,
-0x0140a821,
-0xff06000b,
-0x324c0000,
-0xff090200,
-0x15800000,
-0xff05089c,
-0x3a4d0000,
-0xff090200,
-0xff060017,
-0x8e4bfffc,
-0x260efff8,
-0x2549fff8,
-0x000b6142,
-0x000b4542,
-0x318c07f8,
-0x310807f8,
-0x01c87821,
-0x11200000,
-0xff050803,
-0x01cc8023,
-0xff06000c,
-0xd6e00000,
-0x26f70008,
-0x2529fff8,
-0xf5c00000,
-0x15200000,
-0xff05080c,
-0x25ce0008,
-0xff06000d,
-0x25effff8,
-0xff06000f,
-0x01cf082b,
-0x14200000,
-0xff050806,
-0x8e0d0000,
-0xff098200,
-0x8e4b0000,
-0x26520004,
-0x8dad0000,
-0xff098200,
-0x8db10000,
-0xff098200,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff060010,
-0xadde0000,
-0xff098200,
-0x10000000,
-0xff05080f,
-0x25ce0008,
-0xff06009c,
-0x31ae0000,
-0xff090200,
-0x15c00000,
-0xff050818,
-0x00000000,
-0x020d8023,
-0x10000000,
-0xff05080b,
-0x8e120000,
-0xff098200,
-0xff000000,
-0x8e120000,
-0xff098200,
-0x0217b821,
-0x0140a821,
-0x324c0000,
-0xff090200,
-0x15800000,
-0xff05089c,
-0x3a4d0000,
-0xff090200,
-0x8e4bfffc,
-0x260efff8,
-0xff000000,
-0xd6e00000,
-0xff000000,
-0x000b4542,
-0x000bb942,
-0x310807f8,
-0x32f707f8,
-0xff000000,
-0xf5c00000,
-0xff000000,
-0x01d78023,
-0xff06000f,
-0x0148082b,
-0x14200000,
-0xff050806,
-0x8e0d0000,
-0xff098200,
-0x8e4b0000,
-0x26520004,
-0x8dad0000,
-0xff098200,
-0x8db10000,
-0xff098200,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff060010,
-0x25ce0008,
-0x254a0008,
-0x10000000,
-0xff05080f,
-0xff000000,
-0xadde0000,
-0xff098200,
-0xff000000,
-0xadde0000,
-0xff098200,
-0xff000000,
-0x00126842,
-0x31ad007e,
-0x01b36821,
-0x95ae0000,
-0xff098200,
-0x25ce0000,
-0xff098200,
-0x05c00000,
-0xff050890,
-0xa5ae0000,
-0xff098200,
-0xff000000,
-0x0217b821,
-0xff000000,
-0xd6e00000,
-0xff098200,
-0xd6e40000,
-0xff098200,
-0xd6e20000,
-0xff098200,
-0x8eef0000,
-0xff098200,
-0x46240000,
-0xf6e00000,
-0xff098200,
-0xff000000,
-0x8eed0000,
-0xff098200,
-0x8eef0000,
-0xff098200,
-0x8eee0000,
-0xff098200,
-0x2dad0000,
-0xff098200,
-0x2dec0000,
-0xff098200,
-0x2dce0000,
-0xff098200,
-0x01ac6824,
-0x01ae6824,
-0xd6e00000,
-0xff098200,
-0x11a00000,
-0xff050842,
-0xd6e20000,
-0xff098200,
-0xff000000,
-0x000a5042,
-0x3c0c0000,
-0xff090200,
-0xff000000,
-0x4622003e,
-0x4620113e,
-0xf6e00000,
-0xff098200,
-0xff000000,
-0x240d0001,
-0x240e0001,
-0x014c6021,
-0x01e0782a,
-0x00006801,
-0x024c9021,
-0x00047001,
-0x964a0000,
-0xff098200,
-0x01cf680b,
-0x15a00000,
-0xff070800,
-0x000a50c0,
-0xff000000,
-0x240d0001,
-0x240e0001,
-0x01e0782a,
-0x00006801,
-0x00047001,
-0x01cf680b,
-0x15a00000,
-0xff070800,
-0x00000000,
-0xff000000,
-0x014c6821,
-0x01e0782a,
-0x01a07021,
-0xff000000,
-0x00016801,
-0x00057001,
-0xff000000,
-0x00006801,
-0x00047001,
-0xff000000,
-0x01cf680b,
-0x024d9021,
-0xff000000,
-0x8e4b0000,
-0x26520004,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff000000,
-0x00126842,
-0x31ad007e,
-0x01b36821,
-0x95ae0000,
-0xff098200,
-0x25ce0000,
-0xff098200,
-0x05c00000,
-0xff050890,
-0xa5ae0000,
-0xff098200,
-0xff000000,
-0x0217b821,
-0x8eed0000,
-0xff098200,
-0x11be0000,
-0xff050801,
-0x8eee0000,
-0xff098200,
-0xff000000,
-0xaeed0000,
-0xff098200,
-0x10000000,
-0xff070800,
-0xaeee0000,
-0xff098200,
-0xff000000,
-0x000a6042,
-0x3c010000,
-0xff090200,
-0x01816021,
-0x024c9021,
-0xaeed0000,
-0xff098200,
-0xaeee0000,
-0xff098200,
-0xff000000,
-0xff06000b,
-0x8e4b0000,
-0x26520004,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff000000,
-0x00126842,
-0x31ad007e,
-0x01b36821,
-0x95ae0000,
-0xff098200,
-0x25ce0000,
-0xff098200,
-0x05c00000,
-0xff050890,
-0xa5ae0000,
-0xff098200,
-0xff000000,
-0x8e4b0000,
-0x26520004,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff000000,
-0x8e6d0000,
-0xff098200,
-0x000a5042,
-0x24010000,
-0x01aa6821,
-0xae610000,
-0xff098200,
-0x8dae0000,
-0xae700000,
-0xff098200,
-0xae740000,
-0xff098200,
-0x8dce0000,
-0xff098200,
-0x01c00008,
-0x267e0000,
-0xff098200,
-0xff000000,
-0x000a6042,
-0x3c010000,
-0xff090200,
-0x01816021,
-0x024c9021,
-0x8e4b0000,
-0x26520004,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff000000,
-0x00126842,
-0x31ad007e,
-0x01b36821,
-0x95ae0000,
-0xff098200,
-0x25ce0000,
-0xff098200,
-0x05c00000,
-0xff050892,
-0xa5ae0000,
-0xff098200,
-0xff000000,
-0x8e8e0000,
-0xff098200,
-0x924d0000,
-0xff098200,
-0x8e510000,
-0xff098200,
-0x01d7082b,
-0x14200000,
-0xff050820,
-0x000d68c0,
-0xff000000,
-0x8e4b0000,
-0x26520004,
-0xff000000,
-0xff06000c,
-0x012d082b,
-0x14200000,
-0xff050803,
-0x02090821,
-0xff000000,
-0x000b5402,
-0x10000000,
-0xff070800,
-0x000a50c0,
-0xff000000,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff000000,
-0xff06000d,
-0xac3e0000,
-0xff098200,
-0x10000000,
-0xff05080c,
-0x25290008,
-0xff000000,
-0xf0f0f0f0,
-0xff000000,
-0x02096821,
-0x8e8e0000,
-0xff098200,
-0x02e96021,
-0xada80000,
-0xff098200,
-0x252f0000,
-0xff098200,
-0x018e082b,
-0x8e510000,
-0xff098200,
-0x10200000,
-0xff050820,
-0xadaf0000,
-0xff098200,
-0x924e0000,
-0xff098200,
-0x0200b821,
-0x01a04821,
-0x8e4b0000,
-0x26520004,
-0x11c00000,
-0xff050803,
-0x25b00008,
-0xff06000b,
-0x8eec0000,
-0xff098200,
-0x8eef0000,
-0xff098200,
-0x02e9082b,
-0x01802021,
-0x03c1600a,
-0x03c1200b,
-0xadaf0000,
-0xff098200,
-0x25ceffff,
-0xadac0000,
-0xff098200,
-0x25ad0008,
-0xaee40000,
-0xff098200,
-0x15c00000,
-0xff05080b,
-0x26f70008,
-0xff06000d,
-0x316d00ff,
-0x000d6880,
-0x026d6021,
-0x000b5402,
-0x8d810000,
-0x000bb942,
-0x000a50c0,
-0x00200008,
-0x32f707f8,
-0xff000000,
-0x8d190000,
-0xff098200,
-0xff000000,
-0x8e790000,
-0xff098200,
-0xff000000,
-0x02e96821,
-0x8e8e0000,
-0xff098200,
-0x02094821,
-0xae900000,
-0xff098200,
-0x01cd082b,
-0xae890000,
-0xff098200,
-0x240c0000,
-0xff098200,
-0xff000000,
-0x8d050000,
-0xff098200,
-0xff000000,
-0x14200000,
-0xff05081f,
-0x02802021,
-0x0320f809,
-0xae6c0000,
-0xff098200,
-0x8e900000,
-0xff098200,
-0x000250c0,
-0x8e8d0000,
-0xff098200,
-0x240c0000,
-0xff098200,
-0x8e120000,
-0xff098200,
-0x01aab823,
-0x10000000,
-0xff050816,
-0xae6c0000,
-0xff098200,
-0xff000000,
-0xff010000
-};
-
-enum {
- GLOB_vm_returnp,
- GLOB_cont_dispatch,
- GLOB_vm_returnc,
- GLOB_BC_RET_Z,
- GLOB_vm_return,
- GLOB_vm_leave_cp,
- GLOB_vm_leave_unw,
- GLOB_vm_unwind_c,
- GLOB_vm_unwind_c_eh,
- GLOB_vm_unwind_ff,
- GLOB_vm_unwind_ff_eh,
- GLOB_vm_growstack_c,
- GLOB_vm_growstack_l,
- GLOB_vm_resume,
- GLOB_vm_pcall,
- GLOB_vm_call,
- GLOB_vm_call_dispatch,
- GLOB_vmeta_call,
- GLOB_vm_call_dispatch_f,
- GLOB_vm_cpcall,
- GLOB_cont_ffi_callback,
- GLOB_vm_call_tail,
- GLOB_cont_cat,
- GLOB_BC_CAT_Z,
- GLOB_cont_nop,
- GLOB_vmeta_tgets1,
- GLOB_vmeta_tgets,
- GLOB_vmeta_tgetb,
- GLOB_vmeta_tgetv,
- GLOB_vmeta_tsets1,
- GLOB_vmeta_tsets,
- GLOB_vmeta_tsetb,
- GLOB_vmeta_tsetv,
- GLOB_vmeta_comp,
- GLOB_vmeta_binop,
- GLOB_cont_ra,
- GLOB_cont_condt,
- GLOB_cont_condf,
- GLOB_vmeta_equal,
- GLOB_vmeta_equal_cd,
- GLOB_vmeta_unm,
- GLOB_vmeta_arith,
- GLOB_vmeta_len,
- GLOB_BC_LEN_Z,
- GLOB_vmeta_callt,
- GLOB_BC_CALLT_Z,
- GLOB_vmeta_for,
- GLOB_ff_assert,
- GLOB_fff_fallback,
- GLOB_fff_res,
- GLOB_ff_type,
- GLOB_fff_resn,
- GLOB_ff_getmetatable,
- GLOB_fff_restv,
- GLOB_ff_setmetatable,
- GLOB_ff_rawget,
- GLOB_ff_tonumber,
- GLOB_ff_tostring,
- GLOB_fff_gcstep,
- GLOB_ff_next,
- GLOB_ff_pairs,
- GLOB_ff_ipairs_aux,
- GLOB_ff_ipairs,
- GLOB_ff_pcall,
- GLOB_ff_xpcall,
- GLOB_ff_coroutine_resume,
- GLOB_ff_coroutine_wrap_aux,
- GLOB_ff_coroutine_yield,
- GLOB_ff_math_abs,
- GLOB_fff_res1,
- GLOB_ff_math_floor,
- GLOB_vm_floor,
- GLOB_ff_math_ceil,
- GLOB_vm_ceil,
- GLOB_ff_math_log,
- GLOB_ff_math_log10,
- GLOB_ff_math_exp,
- GLOB_ff_math_sin,
- GLOB_ff_math_cos,
- GLOB_ff_math_tan,
- GLOB_ff_math_asin,
- GLOB_ff_math_acos,
- GLOB_ff_math_atan,
- GLOB_ff_math_sinh,
- GLOB_ff_math_cosh,
- GLOB_ff_math_tanh,
- GLOB_ff_math_pow,
- GLOB_ff_math_atan2,
- GLOB_ff_math_fmod,
- GLOB_ff_math_sqrt,
- GLOB_ff_math_deg,
- GLOB_ff_math_rad,
- GLOB_ff_math_ldexp,
- GLOB_ff_math_frexp,
- GLOB_ff_math_modf,
- GLOB_ff_math_min,
- GLOB_ff_math_max,
- GLOB_ff_string_len,
- GLOB_fff_resi,
- GLOB_ff_string_byte,
- GLOB_ff_string_char,
- GLOB_fff_newstr,
- GLOB_ff_string_sub,
- GLOB_fff_emptystr,
- GLOB_ff_string_rep,
- GLOB_ff_string_reverse,
- GLOB_ff_string_lower,
- GLOB_ff_string_upper,
- GLOB_ff_table_getn,
- GLOB_ff_bit_band,
- GLOB_ff_bit_bor,
- GLOB_ff_bit_bxor,
- GLOB_ff_bit_bswap,
- GLOB_ff_bit_bnot,
- GLOB_ff_bit_lshift,
- GLOB_ff_bit_rshift,
- GLOB_ff_bit_arshift,
- GLOB_ff_bit_rol,
- GLOB_ff_bit_ror,
- GLOB_ff_bit_tobit,
- GLOB_vm_record,
- GLOB_vm_rethook,
- GLOB_vm_inshook,
- GLOB_cont_hook,
- GLOB_vm_hotloop,
- GLOB_vm_callhook,
- GLOB_vm_hotcall,
- GLOB_vm_exit_handler,
- GLOB_vm_exit_interp,
- GLOB_vm_trunc,
- GLOB_vm_ffi_callback,
- GLOB_vm_ffi_call,
- GLOB_BC_MODVN_Z,
- GLOB_BC_TGETS_Z,
- GLOB_BC_TSETS_Z,
- GLOB_BC_CALL_Z,
- GLOB_BC_RETV_Z,
- GLOB__MAX
-};
-static const char *const globnames[] = {
- "vm_returnp",
- "cont_dispatch",
- "vm_returnc",
- "BC_RET_Z",
- "vm_return",
- "vm_leave_cp",
- "vm_leave_unw",
- "vm_unwind_c",
- "vm_unwind_c_eh",
- "vm_unwind_ff",
- "vm_unwind_ff_eh",
- "vm_growstack_c",
- "vm_growstack_l",
- "vm_resume",
- "vm_pcall",
- "vm_call",
- "vm_call_dispatch",
- "vmeta_call",
- "vm_call_dispatch_f",
- "vm_cpcall",
- "cont_ffi_callback",
- "vm_call_tail",
- "cont_cat",
- "BC_CAT_Z",
- "cont_nop",
- "vmeta_tgets1",
- "vmeta_tgets",
- "vmeta_tgetb",
- "vmeta_tgetv",
- "vmeta_tsets1",
- "vmeta_tsets",
- "vmeta_tsetb",
- "vmeta_tsetv",
- "vmeta_comp",
- "vmeta_binop",
- "cont_ra",
- "cont_condt",
- "cont_condf",
- "vmeta_equal",
- "vmeta_equal_cd",
- "vmeta_unm",
- "vmeta_arith",
- "vmeta_len",
- "BC_LEN_Z",
- "vmeta_callt",
- "BC_CALLT_Z",
- "vmeta_for",
- "ff_assert",
- "fff_fallback",
- "fff_res",
- "ff_type",
- "fff_resn",
- "ff_getmetatable",
- "fff_restv",
- "ff_setmetatable",
- "ff_rawget",
- "ff_tonumber",
- "ff_tostring",
- "fff_gcstep",
- "ff_next",
- "ff_pairs",
- "ff_ipairs_aux",
- "ff_ipairs",
- "ff_pcall",
- "ff_xpcall",
- "ff_coroutine_resume",
- "ff_coroutine_wrap_aux",
- "ff_coroutine_yield",
- "ff_math_abs",
- "fff_res1",
- "ff_math_floor",
- "vm_floor",
- "ff_math_ceil",
- "vm_ceil",
- "ff_math_log",
- "ff_math_log10",
- "ff_math_exp",
- "ff_math_sin",
- "ff_math_cos",
- "ff_math_tan",
- "ff_math_asin",
- "ff_math_acos",
- "ff_math_atan",
- "ff_math_sinh",
- "ff_math_cosh",
- "ff_math_tanh",
- "ff_math_pow",
- "ff_math_atan2",
- "ff_math_fmod",
- "ff_math_sqrt",
- "ff_math_deg",
- "ff_math_rad",
- "ff_math_ldexp",
- "ff_math_frexp",
- "ff_math_modf",
- "ff_math_min",
- "ff_math_max",
- "ff_string_len",
- "fff_resi",
- "ff_string_byte",
- "ff_string_char",
- "fff_newstr",
- "ff_string_sub",
- "fff_emptystr",
- "ff_string_rep",
- "ff_string_reverse",
- "ff_string_lower",
- "ff_string_upper",
- "ff_table_getn",
- "ff_bit_band",
- "ff_bit_bor",
- "ff_bit_bxor",
- "ff_bit_bswap",
- "ff_bit_bnot",
- "ff_bit_lshift",
- "ff_bit_rshift",
- "ff_bit_arshift",
- "ff_bit_rol",
- "ff_bit_ror",
- "ff_bit_tobit",
- "vm_record",
- "vm_rethook",
- "vm_inshook",
- "cont_hook",
- "vm_hotloop",
- "vm_callhook",
- "vm_hotcall",
- "vm_exit_handler",
- "vm_exit_interp",
- "vm_trunc",
- "vm_ffi_callback",
- "vm_ffi_call",
- "BC_MODVN_Z",
- "BC_TGETS_Z",
- "BC_TSETS_Z",
- "BC_CALL_Z",
- "BC_RETV_Z",
- (const char *)0
-};
-static const char *const extnames[] = {
- (const char *)0
-};
-#define Dt1(_V) (int)(ptrdiff_t)&(((lua_State *)0)_V)
-#define Dt2(_V) (int)(ptrdiff_t)&(((global_State *)0)_V)
-#define Dt3(_V) (int)(ptrdiff_t)&(((TValue *)0)_V)
-#define Dt4(_V) (int)(ptrdiff_t)&(((GCobj *)0)_V)
-#define Dt5(_V) (int)(ptrdiff_t)&(((GCstr *)0)_V)
-#define Dt6(_V) (int)(ptrdiff_t)&(((GCtab *)0)_V)
-#define Dt7(_V) (int)(ptrdiff_t)&(((GCfuncL *)0)_V)
-#define Dt8(_V) (int)(ptrdiff_t)&(((GCfuncC *)0)_V)
-#define Dt9(_V) (int)(ptrdiff_t)&(((GCproto *)0)_V)
-#define DtA(_V) (int)(ptrdiff_t)&(((GCupval *)0)_V)
-#define DtB(_V) (int)(ptrdiff_t)&(((Node *)0)_V)
-#define DtC(_V) (int)(ptrdiff_t)&(((int *)0)_V)
-#define DtD(_V) (int)(ptrdiff_t)&(((GCtrace *)0)_V)
-#define DISPATCH_GL(field) (GG_DISP2G + (int)offsetof(global_State, field))
-#define DISPATCH_J(field) (GG_DISP2J + (int)offsetof(jit_State, field))
-#define GG_DISP2GOT (GG_OFS(got) - GG_OFS(dispatch))
-#define DISPATCH_GOT(name) (GG_DISP2GOT + 4*LJ_GOT_##name)
-#define PC2PROTO(field) ((int)offsetof(GCproto, field)-(int)sizeof(GCproto))
-
-/* Generate subroutines used by opcodes and other parts of the VM. */
-/* The .code_sub section should be last to help static branch prediction. */
-static void build_subroutines(BuildCtx *ctx)
-{
- dasm_put(Dst, 0);
- dasm_put(Dst, 1, FRAME_P, LJ_TTRUE, LJ_ENDIAN_SELECT(-4,-8), LJ_ENDIAN_SELECT(-4,-8), FRAME_TYPE, FRAME_C, Dt1(->base), ~LJ_VMST_C, DISPATCH_GL(vmstate), Dt1(->top));
- dasm_put(Dst, 57, Dt1(->cframe), 72+9*4, 72+8*4, 24+5*8, 72+7*4, 72+6*4, 24+4*8, 72+5*4, 72+4*4, 24+3*8, 72+3*4, 72+2*4, 24+2*8, 72+1*4, 72+0*4, 24+1*8, 24+0*8, Dt1(->maxstack), LJ_ENDIAN_SELECT(4,0));
- dasm_put(Dst, 109, DISPATCH_GOT(lj_state_growstack), Dt1(->top), ~LJ_VMST_C, Dt1(->glref), Dt2(->vmstate), LJ_TNIL, Dt1(->base), Dt1(->glref), LJ_TFALSE, ~LJ_VMST_INTERP, LJ_ENDIAN_SELECT(-4,-8), GG_G2DISP, LJ_ENDIAN_SELECT(4,0));
- dasm_put(Dst, 172, DISPATCH_GL(vmstate), LUA_MINSTACK, Dt1(->base), Dt1(->top), DISPATCH_GOT(lj_state_growstack), Dt1(->base), Dt1(->top), LJ_ENDIAN_SELECT(-8,-4), Dt7(->pc), 72+9*4, 72+8*4, 24+5*8, 72+7*4, 72+6*4, 24+4*8, 72+5*4, 72+4*4);
- dasm_put(Dst, 235, 24+3*8, 72+3*4, 72+2*4, 24+2*8, 72+1*4, 72+0*4, 24+1*8, 24+0*8, Dt1(->glref), Dt1(->status), FRAME_CP, CFRAME_RESUME, GG_G2DISP, Dt1(->cframe), Dt1(->base), Dt1(->top), LJ_ENDIAN_SELECT(-4,-8), Dt1(->status), ~LJ_VMST_INTERP, DISPATCH_GL(vmstate), FRAME_TYPE);
- dasm_put(Dst, 296, LJ_TNIL, 72+9*4, 72+8*4, 24+5*8, 72+7*4, 72+6*4, 24+4*8, 72+5*4, 72+4*4, 24+3*8, 72+3*4, 72+2*4, 24+2*8, 72+1*4, 72+0*4, 24+1*8, 24+0*8, FRAME_CP, 72+9*4);
- dasm_put(Dst, 345, 72+8*4, 24+5*8, 72+7*4, 72+6*4, 24+4*8, 72+5*4, 72+4*4, 24+3*8, 72+3*4, 72+2*4, 24+2*8, 72+1*4, 72+0*4, 24+1*8, 24+0*8, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, Dt1(->base));
- dasm_put(Dst, 396, Dt1(->top), ~LJ_VMST_INTERP, LJ_TNIL, DISPATCH_GL(vmstate), LJ_ENDIAN_SELECT(-4,-8), LJ_TFUNC, LJ_ENDIAN_SELECT(-8,-4), LJ_ENDIAN_SELECT(-4,-8), Dt7(->pc), 72+9*4, 72+8*4, 24+5*8, 72+7*4, 72+6*4, 24+4*8, 72+5*4, 72+4*4, 24+3*8, 72+3*4);
- dasm_put(Dst, 457, 72+2*4, 24+2*8, 72+1*4, 72+0*4, 24+1*8, 24+0*8, Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), Dt1(->glref), FRAME_CP, GG_G2DISP, -16+LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(-8,-4));
-#if LJ_HASFFI
- dasm_put(Dst, 506);
-#endif
- dasm_put(Dst, 508, -16+LJ_ENDIAN_SELECT(4,0), Dt7(->pc));
-#if LJ_HASFFI
- dasm_put(Dst, 514);
-#endif
- dasm_put(Dst, 517, -8+LJ_ENDIAN_SELECT(4,0), PC2PROTO(k));
-#if LJ_HASFFI
- dasm_put(Dst, 523);
-#endif
- dasm_put(Dst, 531, Dt1(->base), DISPATCH_GL(tmptv), LJ_TSTR, LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(4,0), DISPATCH_GL(tmptv), LJ_TTAB, LJ_ENDIAN_SELECT(0,4), DISPATCH_GL(tmptv2), LJ_ENDIAN_SELECT(4,0), LJ_TSTR, LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(4,0), DISPATCH_GL(tmptv));
- dasm_put(Dst, 589, DISPATCH_GOT(lj_meta_tget), Dt1(->base), -FRAME_CONT, Dt1(->top), -16+LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(-8,-4), DISPATCH_GL(tmptv), LJ_TSTR, LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(4,0), DISPATCH_GL(tmptv), LJ_TTAB, LJ_ENDIAN_SELECT(0,4), DISPATCH_GL(tmptv2), LJ_ENDIAN_SELECT(4,0), LJ_TSTR, LJ_ENDIAN_SELECT(0,4));
- dasm_put(Dst, 651, LJ_ENDIAN_SELECT(4,0), DISPATCH_GL(tmptv), DISPATCH_GOT(lj_meta_tset), Dt1(->base), -FRAME_CONT, Dt1(->top), -16+LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(-8,-4), DISPATCH_GOT(lj_meta_comp), Dt1(->base), LJ_ENDIAN_SELECT(2,0), (-(BCBIAS_J*4 >> 16) & 65535));
- dasm_put(Dst, 721, -4+LJ_ENDIAN_SELECT(1,2), LJ_ENDIAN_SELECT(4,0), LJ_TISTRUECOND, LJ_ENDIAN_SELECT(4,0), LJ_TISTRUECOND, DISPATCH_GOT(lj_meta_equal), Dt1(->base));
-#if LJ_HASFFI
- dasm_put(Dst, 776, DISPATCH_GOT(lj_meta_equal_cd), Dt1(->base));
-#endif
- dasm_put(Dst, 789, DISPATCH_GOT(lj_meta_arith), Dt1(->base), -16+LJ_ENDIAN_SELECT(4,0), FRAME_CONT);
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 818);
-#endif
- dasm_put(Dst, 820, DISPATCH_GOT(lj_meta_len), Dt1(->base));
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 828);
-#else
- dasm_put(Dst, 835);
-#endif
- dasm_put(Dst, 839, DISPATCH_GOT(lj_meta_call), Dt1(->base), LJ_ENDIAN_SELECT(-8,-4), LJ_ENDIAN_SELECT(-4,-8), Dt7(->pc), DISPATCH_GOT(lj_meta_call), Dt1(->base), LJ_ENDIAN_SELECT(-4,-8), LJ_ENDIAN_SELECT(-8,-4), DISPATCH_GOT(lj_meta_for), Dt1(->base));
-#if LJ_HASJIT
- dasm_put(Dst, 896, BC_JFORI);
-#endif
- dasm_put(Dst, 900);
-#if LJ_HASJIT
- dasm_put(Dst, 904, BC_JFORI, BC_FORI);
-#else
- dasm_put(Dst, 911, BC_FORI);
-#endif
- dasm_put(Dst, 915, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_TISTRUECOND, LJ_ENDIAN_SELECT(-4,-8), LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM, Dt8(->upvalue), LJ_ENDIAN_SELECT(4,0));
- dasm_put(Dst, 970, LJ_ENDIAN_SELECT(0,4), LJ_TTAB, LJ_TUDATA, Dt6(->metatable), DISPATCH_GL(gcroot[GCROOT_MMNAME+MM_metatable]), LJ_TNIL, Dt6(->hmask), LJ_TTAB, Dt5(->hash), Dt6(->node), LJ_TSTR, offsetof(Node, key)+LJ_ENDIAN_SELECT(4,0), offsetof(Node, key)+LJ_ENDIAN_SELECT(0,4), DtB(->next), offsetof(Node, val)+LJ_ENDIAN_SELECT(4,0), offsetof(Node, val)+LJ_ENDIAN_SELECT(0,4));
- dasm_put(Dst, 1020, LJ_TISNUM, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT]), LJ_ENDIAN_SELECT(4,0), 8+LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), 8+LJ_ENDIAN_SELECT(0,4), LJ_TTAB, -LJ_TTAB, Dt6(->metatable), Dt6(->marked));
- dasm_put(Dst, 1075, LJ_GC_BLACK, Dt6(->metatable), DISPATCH_GL(gc.grayagain), ~LJ_GC_BLACK & 255, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist), LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), DISPATCH_GOT(lj_tab_get), -LJ_TTAB, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
- dasm_put(Dst, 1129, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_TSTR, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), LJ_TISNUM, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), DISPATCH_GOT(lj_str_fromnum), LJ_TSTR, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_TTAB, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(-4,-8), DISPATCH_GOT(lj_tab_next));
- dasm_put(Dst, 1184, Dt1(->base), Dt1(->top), LJ_TNIL, (2+1)*8, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_TTAB, LJ_ENDIAN_SELECT(-4,-8));
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 1219, Dt6(->metatable), Dt8(->upvalue[0]));
-#else
- dasm_put(Dst, 1226, Dt8(->upvalue[0]));
-#endif
- dasm_put(Dst, 1229, 8+LJ_ENDIAN_SELECT(4,0), (3+1)*8, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), 8+LJ_ENDIAN_SELECT(4,0), -LJ_TTAB, LJ_TISNUM, LJ_ENDIAN_SELECT(-4,-8), Dt6(->asize), Dt6(->array), LJ_ENDIAN_SELECT(4,0), (0+1)*8, (2+1)*8, Dt6(->hmask));
- dasm_put(Dst, 1292, DISPATCH_GOT(lj_tab_getinth), (0+1)*8, (0+1)*8, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_TTAB, LJ_ENDIAN_SELECT(-4,-8));
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 1323, Dt6(->metatable), Dt8(->upvalue[0]));
-#else
- dasm_put(Dst, 1330, Dt8(->upvalue[0]));
-#endif
- dasm_put(Dst, 1333, 8+LJ_ENDIAN_SELECT(4,0), 8+LJ_ENDIAN_SELECT(0,4), (3+1)*8, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 8+FRAME_PCALL, 8+LJ_ENDIAN_SELECT(4,0), DISPATCH_GL(hookmask), LJ_TFUNC, HOOK_ACTIVE_SHIFT, 16+FRAME_PCALL, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4));
- dasm_put(Dst, 1392, LJ_TTHREAD, Dt1(->status), Dt1(->cframe), Dt1(->top), Dt1(->base), -LUA_YIELD, Dt1(->maxstack), LJ_ENDIAN_SELECT(-4,-8), Dt1(->base), Dt1(->top), Dt1(->top));
- dasm_put(Dst, 1451, Dt1(->base), LUA_YIELD+1, Dt1(->top), ~LJ_VMST_INTERP, Dt1(->base), DISPATCH_GL(vmstate), Dt1(->maxstack), Dt1(->top), FRAME_TYPE, LJ_TTRUE, -8+LJ_ENDIAN_SELECT(4,0), LJ_TFALSE, Dt1(->top));
- dasm_put(Dst, 1511, (2+1)*8, -8+LJ_ENDIAN_SELECT(4,0), FRAME_TYPE, DISPATCH_GOT(lj_state_growstack), Dt8(->upvalue[0].gcr), Dt1(->status), Dt1(->cframe), Dt1(->top), Dt1(->base), -LUA_YIELD, Dt1(->maxstack), LJ_ENDIAN_SELECT(-4,-8), Dt1(->base), Dt1(->top));
- dasm_put(Dst, 1566, Dt1(->top), Dt1(->base), LUA_YIELD+1, Dt1(->top), ~LJ_VMST_INTERP, Dt1(->base), DISPATCH_GL(vmstate), Dt1(->maxstack), Dt1(->top), FRAME_TYPE);
- dasm_put(Dst, 1627, DISPATCH_GOT(lj_ffh_coroutine_wrap_err), DISPATCH_GOT(lj_state_growstack), Dt1(->cframe), Dt1(->base), CFRAME_RESUME, Dt1(->top), LUA_YIELD, Dt1(->cframe), Dt1(->status), LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
- dasm_put(Dst, 1682, LJ_ENDIAN_SELECT(-4,-8), LJ_ENDIAN_SELECT(-4,-8), -8+LJ_ENDIAN_SELECT(4,0), -8+LJ_ENDIAN_SELECT(0,4), (1+1)*8, FRAME_TYPE, -8+LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
- dasm_put(Dst, 1750, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), DISPATCH_GOT(log), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), DISPATCH_GOT(log10), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0));
- dasm_put(Dst, 1806, DISPATCH_GOT(exp), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), DISPATCH_GOT(sin), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), DISPATCH_GOT(cos), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), DISPATCH_GOT(tan));
- dasm_put(Dst, 1862, LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), DISPATCH_GOT(asin), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), DISPATCH_GOT(acos), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), DISPATCH_GOT(atan), LJ_TISNUM);
- dasm_put(Dst, 1918, LJ_ENDIAN_SELECT(4,0), DISPATCH_GOT(sinh), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), DISPATCH_GOT(cosh), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), DISPATCH_GOT(tanh), LJ_TISNUM);
- dasm_put(Dst, 1977, LJ_ENDIAN_SELECT(4,0), 8+LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM, DISPATCH_GOT(pow), LJ_ENDIAN_SELECT(4,0), 8+LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM, DISPATCH_GOT(atan2), LJ_ENDIAN_SELECT(4,0), 8+LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM);
- dasm_put(Dst, 2039, DISPATCH_GOT(fmod), LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, Dt8(->upvalue[0]), LJ_ENDIAN_SELECT(4,0), 8+LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM);
- dasm_put(Dst, 2094, DISPATCH_GOT(ldexp), LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, DISPATCH_GOT(frexp), LJ_ENDIAN_SELECT(-4,-8), DISPATCH_GL(tmptv), DISPATCH_GL(tmptv), (2+1)*8, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, DISPATCH_GOT(modf), LJ_ENDIAN_SELECT(-4,-8), (2+1)*8);
- dasm_put(Dst, 2158, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
- dasm_put(Dst, 2217, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_TSTR, Dt5(->len), LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), -LJ_TSTR, Dt5(->len), Dt5([1]), LJ_ENDIAN_SELECT(-4,-8), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_ENDIAN_SELECT(4,0));
- dasm_put(Dst, 2276, LJ_TISNUM, DISPATCH_GOT(lj_str_new), Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 16+LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), 8+LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM);
- dasm_put(Dst, 2337, LJ_TSTR, Dt5(->len), sizeof(GCstr)-1, DISPATCH_GL(strempty), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_ENDIAN_SELECT(4,0), 8+LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), -LJ_TSTR, LJ_TISNUM, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
- dasm_put(Dst, 2407, DISPATCH_GL(tmpbuf.buf), Dt5([1]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_TSTR, DISPATCH_GL(tmpbuf.sz), Dt5(->len), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
- dasm_put(Dst, 2464, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_TSTR, DISPATCH_GL(tmpbuf.sz), Dt5(->len), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
- dasm_put(Dst, 2527, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_TSTR, DISPATCH_GL(tmpbuf.sz), Dt5(->len), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_TTAB, DISPATCH_GOT(lj_tab_len), LJ_ENDIAN_SELECT(4,0));
- dasm_put(Dst, 2586, LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0));
- dasm_put(Dst, 2649, LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0));
- dasm_put(Dst, 2719, 8+LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), 8+LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), 8+LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM, LJ_ENDIAN_SELECT(4,0));
- dasm_put(Dst, 2790, 8+LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), 8+LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, Dt8(->f));
- dasm_put(Dst, 2863, LJ_ENDIAN_SELECT(-4,-8), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top), LJ_ENDIAN_SELECT(-8,-4), Dt7(->pc), FRAME_TYPE, LJ_ENDIAN_SELECT(1,2), DISPATCH_GOT(lj_state_growstack), LUA_MINSTACK, Dt1(->base));
- dasm_put(Dst, 2932, DISPATCH_GOT(lj_gc_step), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top), LJ_ENDIAN_SELECT(-8,-4));
-#if LJ_HASJIT
- dasm_put(Dst, 2958, DISPATCH_GL(hookmask), HOOK_VMEVENT, DISPATCH_GL(hookcount), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
-#endif
- dasm_put(Dst, 2981, DISPATCH_GL(hookmask), HOOK_ACTIVE, GG_DISP2STATIC, DISPATCH_GL(hookmask), DISPATCH_GL(hookcount), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE, DISPATCH_GOT(lj_dispatch_ins), Dt1(->base), Dt1(->base));
- dasm_put(Dst, 3029, GG_DISP2STATIC, -24+LJ_ENDIAN_SELECT(0,4));
-#if LJ_HASJIT
- dasm_put(Dst, 3048, LJ_ENDIAN_SELECT(-8,-4), GG_DISP2J, Dt7(->pc), DISPATCH_J(L), PC2PROTO(framesize), DISPATCH_GOT(lj_trace_hot), Dt1(->base), Dt1(->top));
-#endif
- dasm_put(Dst, 3073);
-#if LJ_HASJIT
- dasm_put(Dst, 3075);
-#endif
- dasm_put(Dst, 3078);
-#if LJ_HASJIT
- dasm_put(Dst, 3081);
-#endif
- dasm_put(Dst, 3084, DISPATCH_GOT(lj_dispatch_call), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top), LJ_ENDIAN_SELECT(-8,-4));
-#if LJ_HASJIT
- dasm_put(Dst, 3108, -(16+32*8+32*4), 16+0*8, 16+32*8+0*4, 16+32*8+1*4, 16+2*8, 16+32*8+2*4, 16+32*8+3*4, 16+4*8, 16+32*8+4*4, 16+32*8+5*4, 16+6*8, 16+32*8+6*4, 16+32*8+7*4, 16+8*8, 16+32*8+8*4, 16+32*8+9*4, 16+10*8, 16+32*8+10*4, 16+32*8+11*4, 16+12*8, 16+32*8+12*4, 16+32*8+13*4, 16+14*8);
- dasm_put(Dst, 3155, 16+32*8+14*4, 16+32*8+15*4, 16+16*8, 16+32*8+16*4, 16+32*8+17*4, 16+18*8, 16+32*8+18*4, 16+32*8+19*4, 16+20*8, 16+32*8+20*4, 16+32*8+21*4, 16+22*8, 16+32*8+22*4, 16+32*8+23*4, 16+24*8, 16+32*8+24*4, 16+32*8+25*4, 16+26*8, 16+32*8+26*4, 16+32*8+27*4, 16+28*8, 16+32*8+28*4, 16+30*8);
- dasm_put(Dst, 3202, 16+32*8+30*4, 16+32*8+31*4, ~LJ_VMST_EXIT, 16+32*8+32*4, -GG_DISP2G-32768, DISPATCH_GL(vmstate), 16+32*8+29*4, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_GOT(lj_trace_exit), DISPATCH_J(L), DISPATCH_J(parent), DISPATCH_J(exitno), GG_DISP2J, Dt1(->base), Dt1(->cframe), Dt1(->base));
-#endif
- dasm_put(Dst, 3246);
-#if LJ_HASJIT
- dasm_put(Dst, 3248, -GG_DISP2G-32768, LJ_ENDIAN_SELECT(-8,-4), LJ_TNIL, Dt7(->pc), DISPATCH_GL(jit_L), PC2PROTO(k), DISPATCH_GL(vmstate), BC_FUNCF*4, DISPATCH_GOT(lj_err_throw));
-#endif
- dasm_put(Dst, 3297);
-#if LJ_HASJIT
- dasm_put(Dst, 3345);
-#endif
- dasm_put(Dst, 3368);
-#if LJ_HASFFI
-#define DtE(_V) (int)(ptrdiff_t)&(((CTState *)0)_V)
- dasm_put(Dst, 3370, 72+9*4, 72+8*4, 24+5*8, 72+7*4, 72+6*4, 24+4*8, 72+5*4, 72+4*4, 24+3*8, 72+3*4, 72+2*4, 24+2*8, 72+1*4, 72+0*4, 24+1*8, 24+0*8, Dt2(->ctype_state), GG_G2DISP, DISPATCH_GOT(lj_ccallback_enter), DtE(->cb.slot), DtE(->cb.gpr[0]), DtE(->cb.gpr[1]), DtE(->cb.fpr[0]));
- dasm_put(Dst, 3418, DtE(->cb.gpr[2]), DtE(->cb.gpr[3]), DtE(->cb.fpr[1]), 112+16, DtE(->cb.stack), Dt1(->base), Dt1(->top), LJ_ENDIAN_SELECT(-8,-4), ~LJ_VMST_INTERP, LJ_TNIL, DISPATCH_GL(vmstate), Dt7(->pc));
-#endif
- dasm_put(Dst, 3462);
-#if LJ_HASFFI
- dasm_put(Dst, 3464, DISPATCH_GOT(lj_ccallback_leave), DISPATCH_GL(ctype_state), Dt1(->base), Dt1(->top), DtE(->L), DtE(->cb.gpr[0]), DtE(->cb.fpr[0]), DtE(->cb.gpr[1]), DtE(->cb.fpr[1]));
-#endif
- dasm_put(Dst, 3488);
-#if LJ_HASFFI
-#define DtF(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
- dasm_put(Dst, 3490, DtF(->spadj), DtF(->nsp), offsetof(CCallState, stack), DtF(->func), DtF(->gpr[1]), DtF(->gpr[2]), DtF(->gpr[3]), DtF(->fpr[0]), DtF(->fpr[1]), DtF(->gpr[0]), DtF(->gpr[0]), DtF(->gpr[1]), DtF(->fpr[0]), DtF(->fpr[1]));
-#endif
-}
-
-/* Generate the code for a single instruction. */
-static void build_ins(BuildCtx *ctx, BCOp op, int defop)
-{
- int vk = 0;
- dasm_put(Dst, 3546, defop);
-
- switch (op) {
-
- /* -- Comparison ops ---------------------------------------------------- */
-
- /* Remember: all ops branch for a true comparison, fall through otherwise. */
-
- case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
- dasm_put(Dst, 3548, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM, LJ_ENDIAN_SELECT(2,0), (-(BCBIAS_J*4 >> 16) & 65535));
- if (op == BC_ISLT || op == BC_ISGE) {
- dasm_put(Dst, 3571);
- } else {
- dasm_put(Dst, 3573);
- }
- if (op == BC_ISLT || op == BC_ISLE) {
- dasm_put(Dst, 3575);
- } else {
- dasm_put(Dst, 3577);
- }
- dasm_put(Dst, 3579);
- break;
-
- case BC_ISEQV: case BC_ISNEV:
- vk = op == BC_ISEQV;
- dasm_put(Dst, 3593, LJ_ENDIAN_SELECT(4,0), -4+LJ_ENDIAN_SELECT(2,0), LJ_ENDIAN_SELECT(4,0), (-(BCBIAS_J*4 >> 16) & 65535), LJ_TISNUM, LJ_TISNUM);
- if (vk) {
- dasm_put(Dst, 3617);
- } else {
- dasm_put(Dst, 3619);
- }
- dasm_put(Dst, 3621, LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(0,4));
- if (LJ_HASFFI) {
- dasm_put(Dst, 3640, LJ_TCDATA);
- }
- dasm_put(Dst, 3645, LJ_TISPRI);
- if (LJ_HASFFI) {
- dasm_put(Dst, 3648);
- }
- dasm_put(Dst, 3651, LJ_TISTABUD+1);
- if (vk) {
- dasm_put(Dst, 3662);
- } else {
- dasm_put(Dst, 3664);
- }
- dasm_put(Dst, 3666, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq, 1-vk);
- break;
-
- case BC_ISEQS: case BC_ISNES:
- vk = op == BC_ISEQS;
- dasm_put(Dst, 3683, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), -4+LJ_ENDIAN_SELECT(2,0));
- if (LJ_HASFFI) {
- dasm_put(Dst, 3694, LJ_TCDATA);
- }
- dasm_put(Dst, 3699, -LJ_TSTR, (-(BCBIAS_J*4 >> 16) & 65535));
- if (vk) {
- dasm_put(Dst, 3709);
- } else {
- dasm_put(Dst, 3711);
- }
- dasm_put(Dst, 3713);
- break;
-
- case BC_ISEQN: case BC_ISNEN:
- vk = op == BC_ISEQN;
- dasm_put(Dst, 3726, LJ_ENDIAN_SELECT(4,0), -4+LJ_ENDIAN_SELECT(2,0), (-(BCBIAS_J*4 >> 16) & 65535), LJ_TISNUM);
- if (LJ_HASFFI) {
- dasm_put(Dst, 3741);
- } else {
- dasm_put(Dst, 3744);
- }
- dasm_put(Dst, 3747);
- if (vk) {
- dasm_put(Dst, 3750);
- } else {
- dasm_put(Dst, 3754);
- }
- dasm_put(Dst, 3758);
- if (LJ_HASFFI) {
- dasm_put(Dst, 3770, LJ_TCDATA);
- }
- break;
-
- case BC_ISEQP: case BC_ISNEP:
- vk = op == BC_ISEQP;
- dasm_put(Dst, 3780, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(2,0));
- if (LJ_HASFFI) {
- dasm_put(Dst, 3789, LJ_TCDATA);
- }
- dasm_put(Dst, 3794, (-(BCBIAS_J*4 >> 16) & 65535));
- if (vk) {
- dasm_put(Dst, 3800);
- } else {
- dasm_put(Dst, 3802);
- }
- dasm_put(Dst, 3804);
- break;
-
- /* -- Unary test and copy ops ------------------------------------------- */
-
- case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
- dasm_put(Dst, 3817, LJ_ENDIAN_SELECT(2,0), LJ_ENDIAN_SELECT(4,0));
- if (op == BC_IST || op == BC_ISF) {
- dasm_put(Dst, 3824, LJ_TISTRUECOND, (-(BCBIAS_J*4 >> 16) & 65535));
- if (op == BC_IST) {
- dasm_put(Dst, 3831);
- } else {
- dasm_put(Dst, 3833);
- }
- dasm_put(Dst, 3835);
- } else {
- dasm_put(Dst, 3837, LJ_TISTRUECOND);
- if (op == BC_ISTC) {
- dasm_put(Dst, 3841);
- } else {
- dasm_put(Dst, 3844);
- }
- dasm_put(Dst, 3847, (-(BCBIAS_J*4 >> 16) & 65535));
- }
- dasm_put(Dst, 3856);
- break;
-
- /* -- Unary ops --------------------------------------------------------- */
-
- case BC_MOV:
- dasm_put(Dst, 3868);
- break;
- case BC_NOT:
- dasm_put(Dst, 3884, LJ_ENDIAN_SELECT(4,0), LJ_TFALSE, LJ_TISTRUECOND, LJ_TTRUE, LJ_ENDIAN_SELECT(4,0));
- break;
- case BC_UNM:
- dasm_put(Dst, 3908, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
- break;
- case BC_LEN:
- dasm_put(Dst, 3931, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_TSTR, LJ_TTAB, Dt5(->len));
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 3965, Dt6(->metatable));
-#endif
- dasm_put(Dst, 3972, DISPATCH_GOT(lj_tab_len));
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 3981, Dt6(->nomm), 1<<MM_len);
-#endif
- break;
-
- /* -- Binary ops -------------------------------------------------------- */
-
-
- case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- dasm_put(Dst, 3993);
- switch (vk) {
- case 0:
- dasm_put(Dst, 3997, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
- break;
- case 1:
- dasm_put(Dst, 4006, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
- break;
- default:
- dasm_put(Dst, 4015, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM);
- break;
- }
- dasm_put(Dst, 4029);
- break;
- case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- dasm_put(Dst, 4046);
- switch (vk) {
- case 0:
- dasm_put(Dst, 4050, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
- break;
- case 1:
- dasm_put(Dst, 4059, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
- break;
- default:
- dasm_put(Dst, 4068, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM);
- break;
- }
- dasm_put(Dst, 4082);
- break;
- case BC_MULVN: case BC_MULNV: case BC_MULVV:
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- dasm_put(Dst, 4099);
- switch (vk) {
- case 0:
- dasm_put(Dst, 4103, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
- break;
- case 1:
- dasm_put(Dst, 4112, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
- break;
- default:
- dasm_put(Dst, 4121, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM);
- break;
- }
- dasm_put(Dst, 4135);
- break;
- case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- dasm_put(Dst, 4152);
- switch (vk) {
- case 0:
- dasm_put(Dst, 4156, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
- break;
- case 1:
- dasm_put(Dst, 4165, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
- break;
- default:
- dasm_put(Dst, 4174, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM);
- break;
- }
- dasm_put(Dst, 4188);
- break;
- case BC_MODVN:
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- dasm_put(Dst, 4205);
- switch (vk) {
- case 0:
- dasm_put(Dst, 4209, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
- break;
- case 1:
- dasm_put(Dst, 4218, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
- break;
- default:
- dasm_put(Dst, 4227, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM);
- break;
- }
- dasm_put(Dst, 4241);
- break;
- case BC_MODNV: case BC_MODVV:
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- dasm_put(Dst, 4263);
- switch (vk) {
- case 0:
- dasm_put(Dst, 4267, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
- break;
- case 1:
- dasm_put(Dst, 4276, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
- break;
- default:
- dasm_put(Dst, 4285, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM);
- break;
- }
- dasm_put(Dst, 4299);
- break;
- case BC_POW:
- dasm_put(Dst, 4306, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM, DISPATCH_GOT(pow));
- break;
-
- case BC_CAT:
- dasm_put(Dst, 4342, Dt1(->base), DISPATCH_GOT(lj_meta_cat), Dt1(->base));
- break;
-
- /* -- Constant ops ------------------------------------------------------ */
-
- case BC_KSTR:
- dasm_put(Dst, 4377, LJ_TSTR, LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(4,0));
- break;
- case BC_KCDATA:
-#if LJ_HASFFI
- dasm_put(Dst, 4399, LJ_TCDATA, LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(4,0));
-#endif
- break;
- case BC_KSHORT:
- dasm_put(Dst, 4421);
- break;
- case BC_KNUM:
- dasm_put(Dst, 4438);
- break;
- case BC_KPRI:
- dasm_put(Dst, 4454, LJ_ENDIAN_SELECT(4,0));
- break;
- case BC_KNIL:
- dasm_put(Dst, 4471, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(4,0));
- break;
-
- /* -- Upvalue and function ops ------------------------------------------ */
-
- case BC_UGET:
- dasm_put(Dst, 4495, LJ_ENDIAN_SELECT(-8,-4), Dt7(->uvptr), DtA(->v));
- break;
- case BC_USETV:
- dasm_put(Dst, 4518, LJ_ENDIAN_SELECT(-8,-4), Dt7(->uvptr), DtA(->marked), DtA(->v), LJ_GC_BLACK, DtA(->closed), LJ_ENDIAN_SELECT(4,0), LJ_GC_BLACK|1, -(LJ_TISNUM+1), LJ_TISGCV - (LJ_TISNUM+1), LJ_ENDIAN_SELECT(0,4), Dt4(->gch.marked), LJ_GC_WHITES, DISPATCH_GOT(lj_gc_barrieruv), GG_DISP2G);
- break;
- case BC_USETS:
- dasm_put(Dst, 4578, LJ_ENDIAN_SELECT(-8,-4), Dt7(->uvptr), DtA(->marked), DtA(->v), Dt5(->marked), LJ_GC_BLACK, DtA(->closed), LJ_TSTR, LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(4,0), LJ_GC_WHITES, DISPATCH_GOT(lj_gc_barrieruv), GG_DISP2G);
- break;
- case BC_USETN:
- dasm_put(Dst, 4633, LJ_ENDIAN_SELECT(-8,-4), Dt7(->uvptr), DtA(->v));
- break;
- case BC_USETP:
- dasm_put(Dst, 4656, LJ_ENDIAN_SELECT(-8,-4), Dt7(->uvptr), DtA(->v), LJ_ENDIAN_SELECT(4,0));
- break;
-
- case BC_UCLO:
- dasm_put(Dst, 4680, Dt1(->openupval), (-(BCBIAS_J*4 >> 16) & 65535), DISPATCH_GOT(lj_func_closeuv), Dt1(->base), Dt1(->base));
- break;
-
- case BC_FNEW:
- dasm_put(Dst, 4711, DISPATCH_GOT(lj_func_newL_gc), LJ_ENDIAN_SELECT(-8,-4), Dt1(->base), Dt1(->base), LJ_TFUNC, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4));
- break;
-
- /* -- Table ops --------------------------------------------------------- */
-
- case BC_TNEW:
- case BC_TDUP:
- dasm_put(Dst, 4744, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base));
- if (op == BC_TNEW) {
- dasm_put(Dst, 4756, DISPATCH_GOT(lj_tab_new));
- } else {
- dasm_put(Dst, 4767, DISPATCH_GOT(lj_tab_dup));
- }
- dasm_put(Dst, 4775, Dt1(->base), LJ_TTAB, LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(4,0), DISPATCH_GOT(lj_gc_step_fixtop));
- break;
-
- case BC_GGET:
- case BC_GSET:
- dasm_put(Dst, 4805, LJ_ENDIAN_SELECT(-8,-4), Dt7(->env));
- if (op == BC_GGET) {
- dasm_put(Dst, 4813);
- } else {
- dasm_put(Dst, 4816);
- }
- dasm_put(Dst, 4819);
- break;
-
- case BC_TGETV:
- dasm_put(Dst, 4821, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_TTAB, LJ_TISNUM, LJ_TSTR, Dt6(->asize), Dt6(->array), LJ_ENDIAN_SELECT(4,0), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
- dasm_put(Dst, 4896, LJ_ENDIAN_SELECT(0,4));
- break;
- case BC_TGETS:
- dasm_put(Dst, 4902, LJ_ENDIAN_SELECT(4,0), LJ_TTAB, LJ_ENDIAN_SELECT(0,4), Dt6(->hmask), Dt5(->hash), Dt6(->node), offsetof(Node, key)+LJ_ENDIAN_SELECT(4,0), offsetof(Node, key)+LJ_ENDIAN_SELECT(0,4), DtB(->next), offsetof(Node, val)+LJ_ENDIAN_SELECT(4,0), -LJ_TSTR, Dt6(->metatable), offsetof(Node, val)+LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4));
- dasm_put(Dst, 4971, LJ_TNIL, Dt6(->nomm), 1<<MM_index);
- break;
- case BC_TGETB:
- dasm_put(Dst, 4988, LJ_ENDIAN_SELECT(4,0), LJ_TTAB, LJ_ENDIAN_SELECT(0,4), Dt6(->asize), Dt6(->array), LJ_ENDIAN_SELECT(4,0), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
- break;
-
- case BC_TSETV:
- dasm_put(Dst, 5045, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_TTAB, LJ_TISNUM, LJ_TSTR, Dt6(->asize), Dt6(->array), Dt6(->marked), LJ_ENDIAN_SELECT(4,0), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
- dasm_put(Dst, 5118, LJ_ENDIAN_SELECT(0,4), DISPATCH_GL(gc.grayagain), ~LJ_GC_BLACK & 255, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
- break;
- case BC_TSETS:
- dasm_put(Dst, 5146, LJ_ENDIAN_SELECT(4,0), LJ_TTAB, LJ_ENDIAN_SELECT(0,4), Dt6(->hmask), Dt5(->hash), Dt6(->node), Dt6(->nomm), offsetof(Node, key)+LJ_ENDIAN_SELECT(4,0), offsetof(Node, key)+LJ_ENDIAN_SELECT(0,4), LJ_TSTR, DtB(->next), offsetof(Node, val)+LJ_ENDIAN_SELECT(4,0), Dt6(->marked), Dt6(->metatable), LJ_GC_BLACK);
- dasm_put(Dst, 5204, DtB(->val), Dt6(->nomm), 1<<MM_newindex, Dt6(->metatable), DISPATCH_GL(tmptv), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, DISPATCH_GOT(lj_tab_newkey), LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(4,0), Dt1(->base), Dt1(->base));
- dasm_put(Dst, 5266, DISPATCH_GL(gc.grayagain), ~LJ_GC_BLACK & 255, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
- break;
- case BC_TSETB:
- dasm_put(Dst, 5283, LJ_ENDIAN_SELECT(4,0), LJ_TTAB, LJ_ENDIAN_SELECT(0,4), Dt6(->asize), Dt6(->array), LJ_ENDIAN_SELECT(4,0), Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DISPATCH_GL(gc.grayagain));
- dasm_put(Dst, 5350, ~LJ_GC_BLACK & 255, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
- break;
-
- case BC_TSETM:
- dasm_put(Dst, 5361, -8+LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(0,4), Dt6(->asize), Dt6(->marked), Dt6(->array), LJ_GC_BLACK, DISPATCH_GOT(lj_tab_reasize), Dt1(->base), Dt1(->base), DISPATCH_GL(gc.grayagain), ~LJ_GC_BLACK & 255, DISPATCH_GL(gc.grayagain), Dt6(->marked));
- dasm_put(Dst, 5434, Dt6(->gclist));
- break;
-
- /* -- Calls and vararg handling ----------------------------------------- */
-
- case BC_CALLM:
- dasm_put(Dst, 5439);
- break;
- case BC_CALL:
- dasm_put(Dst, 5444, LJ_TFUNC, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(-4,-8), Dt7(->pc));
- break;
-
- case BC_CALLMT:
- dasm_put(Dst, 5473);
- break;
- case BC_CALLT:
- dasm_put(Dst, 5475, LJ_TFUNC, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(-4,-8), FRAME_TYPE, Dt7(->ffid), FRAME_VARG, LJ_ENDIAN_SELECT(-8,-4), Dt7(->pc), -8+LJ_ENDIAN_SELECT(-8,-4), Dt7(->pc));
- dasm_put(Dst, 5544, PC2PROTO(k), FRAME_TYPEP, LJ_ENDIAN_SELECT(-4,-8), FRAME_TYPE);
- break;
-
- case BC_ITERC:
- dasm_put(Dst, 5560, LJ_TFUNC, -24+LJ_ENDIAN_SELECT(4,0), -24+LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(-4,-8), Dt7(->pc));
- break;
-
- case BC_ITERN:
-#if LJ_HASJIT
-#endif
- dasm_put(Dst, 5595, -16+LJ_ENDIAN_SELECT(0,4), -8+LJ_ENDIAN_SELECT(0,4), Dt6(->asize), Dt6(->array), LJ_ENDIAN_SELECT(4,0), -4+LJ_ENDIAN_SELECT(2,0), (-(BCBIAS_J*4 >> 16) & 65535), -8+LJ_ENDIAN_SELECT(0,4), Dt6(->hmask), Dt6(->node), LJ_ENDIAN_SELECT(4,0), -4+LJ_ENDIAN_SELECT(2,0), DtB(->key), (-(BCBIAS_J*4 >> 16) & 65535));
- dasm_put(Dst, 5677, -8+LJ_ENDIAN_SELECT(0,4));
- break;
-
- case BC_ISNEXT:
- dasm_put(Dst, 5680, -24+LJ_ENDIAN_SELECT(4,0), -24+LJ_ENDIAN_SELECT(0,4), -16+LJ_ENDIAN_SELECT(4,0), -8+LJ_ENDIAN_SELECT(4,0), LJ_TFUNC, -LJ_TTAB, Dt8(->ffid), -LJ_TNIL, -FF_next_N, (-(BCBIAS_J*4 >> 16) & 65535), -8+LJ_ENDIAN_SELECT(0,4), BC_JMP, BC_ITERC, -4+LJ_ENDIAN_SELECT(0,3), LJ_ENDIAN_SELECT(0,3));
- break;
-
- case BC_VARG:
- dasm_put(Dst, 5737, LJ_ENDIAN_SELECT(-4,-8), FRAME_VARG, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), Dt1(->maxstack), DISPATCH_GOT(lj_state_growstack), Dt1(->top), Dt1(->base), Dt1(->base));
- dasm_put(Dst, 5824);
- break;
-
- /* -- Returns ----------------------------------------------------------- */
-
- case BC_RETM:
- dasm_put(Dst, 5826);
- break;
-
- case BC_RET:
- dasm_put(Dst, 5828, LJ_ENDIAN_SELECT(-4,-8), FRAME_TYPE, FRAME_VARG, LJ_ENDIAN_SELECT(-8,-4), Dt7(->pc), PC2PROTO(k), LJ_ENDIAN_SELECT(4,0), FRAME_TYPEP, LJ_ENDIAN_SELECT(-4,-8));
- break;
-
- case BC_RET0: case BC_RET1:
- dasm_put(Dst, 5900, LJ_ENDIAN_SELECT(-4,-8), FRAME_TYPE, FRAME_VARG);
- if (op == BC_RET1) {
- dasm_put(Dst, 5913);
- }
- dasm_put(Dst, 5915);
- if (op == BC_RET1) {
- dasm_put(Dst, 5920);
- }
- dasm_put(Dst, 5922, LJ_ENDIAN_SELECT(-8,-4), Dt7(->pc), PC2PROTO(k));
- if (op == BC_RET1) {
- dasm_put(Dst, 5950, LJ_ENDIAN_SELECT(4,0));
- } else {
- dasm_put(Dst, 5953, -8+LJ_ENDIAN_SELECT(4,0));
- }
- break;
-
- /* -- Loops and branches ------------------------------------------------ */
-
- case BC_FORL:
-#if LJ_HASJIT
- dasm_put(Dst, 5956, GG_DISP2HOT, -HOTCOUNT_LOOP, GG_DISP2HOT);
-#endif
- break;
-
- case BC_JFORI:
- case BC_JFORL:
-#if !LJ_HASJIT
- break;
-#endif
- case BC_FORI:
- case BC_IFORL:
- vk = (op == BC_IFORL || op == BC_JFORL);
- dasm_put(Dst, 5968);
- if (vk) {
- dasm_put(Dst, 5970, FORL_IDX*8, FORL_STEP*8, FORL_STOP*8, FORL_STEP*8+LJ_ENDIAN_SELECT(4,0), FORL_IDX*8);
- } else {
- dasm_put(Dst, 5982, FORL_IDX*8+LJ_ENDIAN_SELECT(4,0), FORL_STEP*8+LJ_ENDIAN_SELECT(4,0), FORL_STOP*8+LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM, LJ_TISNUM, FORL_IDX*8, FORL_STOP*8);
- }
- if (op != BC_JFORL) {
- dasm_put(Dst, 6003, (-(BCBIAS_J*4 >> 16) & 65535));
- }
- dasm_put(Dst, 6007, FORL_EXT*8);
- if (op == BC_JFORI) {
- dasm_put(Dst, 6012, -4+LJ_ENDIAN_SELECT(2,0), BC_JLOOP);
- } else if (op == BC_JFORL) {
- dasm_put(Dst, 6026, BC_JLOOP);
- } else {
- dasm_put(Dst, 6036);
- if (op == BC_FORI) {
- dasm_put(Dst, 6040);
- } else {
- dasm_put(Dst, 6043);
- }
- dasm_put(Dst, 6046);
- }
- dasm_put(Dst, 6049);
- break;
-
- case BC_ITERL:
-#if LJ_HASJIT
- dasm_put(Dst, 6061, GG_DISP2HOT, -HOTCOUNT_LOOP, GG_DISP2HOT);
-#endif
- break;
-
- case BC_JITERL:
-#if !LJ_HASJIT
- break;
-#endif
- case BC_IITERL:
- dasm_put(Dst, 6073, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4));
- if (op == BC_JITERL) {
- dasm_put(Dst, 6081, -8+LJ_ENDIAN_SELECT(4,0), BC_JLOOP, -8+LJ_ENDIAN_SELECT(0,4));
- } else {
- dasm_put(Dst, 6088, (-(BCBIAS_J*4 >> 16) & 65535), -8+LJ_ENDIAN_SELECT(4,0), -8+LJ_ENDIAN_SELECT(0,4));
- }
- dasm_put(Dst, 6098);
- break;
-
- case BC_LOOP:
-#if LJ_HASJIT
- dasm_put(Dst, 6111, GG_DISP2HOT, -HOTCOUNT_LOOP, GG_DISP2HOT);
-#endif
- break;
-
- case BC_ILOOP:
- dasm_put(Dst, 6123);
- break;
-
- case BC_JLOOP:
-#if LJ_HASJIT
- dasm_put(Dst, 6135, DISPATCH_J(trace), DISPATCH_GL(vmstate), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), DtD(->mcode), GG_DISP2G+32768);
-#endif
- break;
-
- case BC_JMP:
- dasm_put(Dst, 6153, (-(BCBIAS_J*4 >> 16) & 65535));
- break;
-
- /* -- Function headers -------------------------------------------------- */
-
- case BC_FUNCF:
-#if LJ_HASJIT
- dasm_put(Dst, 6170, GG_DISP2HOT, -HOTCOUNT_CALL, GG_DISP2HOT);
-#endif
- case BC_FUNCV: /* NYI: compiled vararg functions. */
- break;
-
- case BC_JFUNCF:
-#if !LJ_HASJIT
- break;
-#endif
- case BC_IFUNCF:
- dasm_put(Dst, 6182, Dt1(->maxstack), -4+PC2PROTO(numparams), -4+PC2PROTO(k));
- if (op != BC_JFUNCF) {
- dasm_put(Dst, 6193);
- }
- dasm_put(Dst, 6196);
- if (op == BC_JFUNCF) {
- dasm_put(Dst, 6202, BC_JLOOP);
- } else {
- dasm_put(Dst, 6207);
- }
- dasm_put(Dst, 6217, LJ_ENDIAN_SELECT(4,0));
- break;
-
- case BC_JFUNCV:
-#if !LJ_HASJIT
- break;
-#endif
- dasm_put(Dst, 6224);
- break; /* NYI: compiled vararg functions. */
-
- case BC_IFUNCV:
- dasm_put(Dst, 6226, Dt1(->maxstack), LJ_ENDIAN_SELECT(0,4), 8+FRAME_VARG, -4+PC2PROTO(k), LJ_ENDIAN_SELECT(4,0), -4+PC2PROTO(numparams), LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), 8+LJ_ENDIAN_SELECT(0,4), 8+LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(4,0));
- break;
-
- case BC_FUNCC:
- case BC_FUNCCW:
- if (op == BC_FUNCC) {
- dasm_put(Dst, 6281, Dt8(->f));
- } else {
- dasm_put(Dst, 6284, DISPATCH_GL(wrapf));
- }
- dasm_put(Dst, 6287, Dt1(->maxstack), Dt1(->base), Dt1(->top), ~LJ_VMST_C);
- if (op == BC_FUNCCW) {
- dasm_put(Dst, 6299, Dt8(->f));
- }
- dasm_put(Dst, 6302, DISPATCH_GL(vmstate), Dt1(->base), Dt1(->top), ~LJ_VMST_INTERP, LJ_ENDIAN_SELECT(-4,-8), DISPATCH_GL(vmstate));
- break;
-
- /* ---------------------------------------------------------------------- */
-
- default:
- fprintf(stderr, "Error: undefined opcode BC_%s\n", bc_names[op]);
- exit(2);
- break;
- }
-}
-
-static int build_backend(BuildCtx *ctx)
-{
- int op;
-
- dasm_growpc(Dst, BC__MAX);
-
- build_subroutines(ctx);
-
- dasm_put(Dst, 6323);
- for (op = 0; op < BC__MAX; op++)
- build_ins(ctx, (BCOp)op, op);
-
- return BC__MAX;
-}
-
-/* Emit pseudo frame-info for all assembler functions. */
-static void emit_asm_debug(BuildCtx *ctx)
-{
- int fcofs = (int)((uint8_t *)ctx->glob[GLOB_vm_ffi_call] - ctx->code);
- int i;
- switch (ctx->mode) {
- case BUILD_elfasm:
- fprintf(ctx->fp, "\t.section .debug_frame,\"\",@progbits\n");
- fprintf(ctx->fp,
- ".Lframe0:\n"
- "\t.4byte .LECIE0-.LSCIE0\n"
- ".LSCIE0:\n"
- "\t.4byte 0xffffffff\n"
- "\t.byte 0x1\n"
- "\t.string \"\"\n"
- "\t.uleb128 0x1\n"
- "\t.sleb128 -4\n"
- "\t.byte 31\n"
- "\t.byte 0xc\n\t.uleb128 29\n\t.uleb128 0\n"
- "\t.align 2\n"
- ".LECIE0:\n\n");
- fprintf(ctx->fp,
- ".LSFDE0:\n"
- "\t.4byte .LEFDE0-.LASFDE0\n"
- ".LASFDE0:\n"
- "\t.4byte .Lframe0\n"
- "\t.4byte .Lbegin\n"
- "\t.4byte %d\n"
- "\t.byte 0xe\n\t.uleb128 %d\n"
- "\t.byte 0x9f\n\t.sleb128 1\n"
- "\t.byte 0x9e\n\t.sleb128 2\n",
- fcofs, CFRAME_SIZE);
- for (i = 23; i >= 16; i--)
- fprintf(ctx->fp, "\t.byte %d\n\t.uleb128 %d\n", 0x80+i, 26-i);
- for (i = 30; i >= 20; i -= 2)
- fprintf(ctx->fp, "\t.byte %d\n\t.uleb128 %d\n", 0x80+32+i, 42-i);
- fprintf(ctx->fp,
- "\t.align 2\n"
- ".LEFDE0:\n\n");
-#if LJ_HASFFI
- fprintf(ctx->fp,
- ".LSFDE1:\n"
- "\t.4byte .LEFDE1-.LASFDE1\n"
- ".LASFDE1:\n"
- "\t.4byte .Lframe0\n"
- "\t.4byte lj_vm_ffi_call\n"
- "\t.4byte %d\n"
- "\t.byte 0x9f\n\t.uleb128 1\n"
- "\t.byte 0x90\n\t.uleb128 2\n"
- "\t.byte 0xd\n\t.uleb128 0x10\n"
- "\t.align 2\n"
- ".LEFDE1:\n\n", (int)ctx->codesz - fcofs);
-#endif
- fprintf(ctx->fp, "\t.section .eh_frame,\"aw\",@progbits\n");
- fprintf(ctx->fp,
- "\t.globl lj_err_unwind_dwarf\n"
- ".Lframe1:\n"
- "\t.4byte .LECIE1-.LSCIE1\n"
- ".LSCIE1:\n"
- "\t.4byte 0\n"
- "\t.byte 0x1\n"
- "\t.string \"zPR\"\n"
- "\t.uleb128 0x1\n"
- "\t.sleb128 -4\n"
- "\t.byte 31\n"
- "\t.uleb128 6\n" /* augmentation length */
- "\t.byte 0\n"
- "\t.4byte lj_err_unwind_dwarf\n"
- "\t.byte 0\n"
- "\t.byte 0xc\n\t.uleb128 29\n\t.uleb128 0\n"
- "\t.align 2\n"
- ".LECIE1:\n\n");
- fprintf(ctx->fp,
- ".LSFDE2:\n"
- "\t.4byte .LEFDE2-.LASFDE2\n"
- ".LASFDE2:\n"
- "\t.4byte .LASFDE2-.Lframe1\n"
- "\t.4byte .Lbegin\n"
- "\t.4byte %d\n"
- "\t.uleb128 0\n" /* augmentation length */
- "\t.byte 0xe\n\t.uleb128 %d\n"
- "\t.byte 0x9f\n\t.sleb128 1\n"
- "\t.byte 0x9e\n\t.sleb128 2\n",
- fcofs, CFRAME_SIZE);
- for (i = 23; i >= 16; i--)
- fprintf(ctx->fp, "\t.byte %d\n\t.uleb128 %d\n", 0x80+i, 26-i);
- for (i = 30; i >= 20; i -= 2)
- fprintf(ctx->fp, "\t.byte %d\n\t.uleb128 %d\n", 0x80+32+i, 42-i);
- fprintf(ctx->fp,
- "\t.align 2\n"
- ".LEFDE2:\n\n");
-#if LJ_HASFFI
- fprintf(ctx->fp,
- ".Lframe2:\n"
- "\t.4byte .LECIE2-.LSCIE2\n"
- ".LSCIE2:\n"
- "\t.4byte 0\n"
- "\t.byte 0x1\n"
- "\t.string \"zR\"\n"
- "\t.uleb128 0x1\n"
- "\t.sleb128 -4\n"
- "\t.byte 31\n"
- "\t.uleb128 1\n" /* augmentation length */
- "\t.byte 0\n"
- "\t.byte 0xc\n\t.uleb128 29\n\t.uleb128 0\n"
- "\t.align 2\n"
- ".LECIE2:\n\n");
- fprintf(ctx->fp,
- ".LSFDE3:\n"
- "\t.4byte .LEFDE3-.LASFDE3\n"
- ".LASFDE3:\n"
- "\t.4byte .LASFDE3-.Lframe2\n"
- "\t.4byte lj_vm_ffi_call\n"
- "\t.4byte %d\n"
- "\t.uleb128 0\n" /* augmentation length */
- "\t.byte 0x9f\n\t.uleb128 1\n"
- "\t.byte 0x90\n\t.uleb128 2\n"
- "\t.byte 0xd\n\t.uleb128 0x10\n"
- "\t.align 2\n"
- ".LEFDE3:\n\n", (int)ctx->codesz - fcofs);
-#endif
- break;
- default:
- break;
- }
-}
-
+++ /dev/null
-/*
-** This file has been pre-processed with DynASM.
-** http://luajit.org/dynasm.html
-** DynASM version 1.3.0, DynASM ppc version 1.3.0
-** DO NOT EDIT! The original file is in "buildvm_ppc.dasc".
-*/
-
-#if DASM_VERSION != 10300
-#error "Version mismatch between DynASM and included encoding engine"
-#endif
-
-#define DASM_SECTION_CODE_OP 0
-#define DASM_SECTION_CODE_SUB 1
-#define DASM_MAXSECTION 2
-static const unsigned int build_actionlist[7763] = {
-0x00010001,
-0x00060014,
-0x72000000,
-0x00090200,
-0x39000000,
-0x00098200,
-0x41820000,
-0x00050815,
-0x8209fff8,
-0x7d2e4b78,
-0x9514fff8,
-0x00060016,
-0x72000000,
-0x00090200,
-0x398c0008,
-0x7d936378,
-0x41820000,
-0x00050817,
-0x00060018,
-0x2c000000,
-0x00098200,
-0x56090038,
-0x38000000,
-0x00098200,
-0x7d297050,
-0x40a20000,
-0x00050814,
-0x350cfff8,
-0x91320000,
-0x00098200,
-0x8121002c,
-0x39cefff8,
-0x90110000,
-0x00098200,
-0x55291800,
-0x000900a1,
-0x41820000,
-0x00050802,
-0x0006000b,
-0x3508fff8,
-0xc8140000,
-0x3a940008,
-0xd80e0000,
-0x39ce0008,
-0x40a20000,
-0x0005080b,
-0x0006000c,
-0x7c096000,
-0x40820000,
-0x00050806,
-0x0006000d,
-0x91d20000,
-0x00098200,
-0x00060019,
-0x00000000,
-0x80010028,
-0x38600000,
-0x90120000,
-0x00098200,
-0x0006001a,
-0x80010114,
-0x81810034,
-0x81c10000,
-0x00098200,
-0xc9c10000,
-0x00098200,
-0x81e10000,
-0x00098200,
-0xc9e10000,
-0x00098200,
-0x82010000,
-0x00098200,
-0xca010000,
-0x00098200,
-0x82210000,
-0x00098200,
-0xca210000,
-0x00098200,
-0x82410000,
-0x00098200,
-0xca410000,
-0x00098200,
-0x82610000,
-0x00098200,
-0xca610000,
-0x00098200,
-0x7c0803a6,
-0x7d838120,
-0x82810000,
-0x00098200,
-0xca810000,
-0x00098200,
-0x82a10000,
-0x00098200,
-0xcaa10000,
-0x00098200,
-0x82c10000,
-0x00098200,
-0xcac10000,
-0x00098200,
-0x82e10000,
-0x00098200,
-0xcae10000,
-0x00098200,
-0x00000000,
-0x83010000,
-0x00098200,
-0xcb010000,
-0x00098200,
-0x83210000,
-0x00098200,
-0xcb210000,
-0x00098200,
-0x83410000,
-0x00098200,
-0xcb410000,
-0x00098200,
-0x83610000,
-0x00098200,
-0xcb610000,
-0x00098200,
-0x83810000,
-0x00098200,
-0xcb810000,
-0x00098200,
-0x83a10000,
-0x00098200,
-0xcba10000,
-0x00098200,
-0x83c10000,
-0x00098200,
-0xcbc10000,
-0x00098200,
-0x83e10000,
-0x00098200,
-0xcbe10000,
-0x00098200,
-0x38210110,
-0x4e800020,
-0x00060010,
-0x40810000,
-0x00050807,
-0x81120000,
-0x00098200,
-0x7c0e4040,
-0x40800000,
-0x00050808,
-0x92ee0000,
-0x398c0008,
-0x39ce0008,
-0x48000000,
-0x0005000c,
-0x00060011,
-0x00000000,
-0x20c90000,
-0x7c096050,
-0x7d084110,
-0x7c004038,
-0x7dc07050,
-0x48000000,
-0x0005000d,
-0x00060012,
-0x91d20000,
-0x00098200,
-0x7d956378,
-0x7d244b78,
-0x7e439378,
-0x48000001,
-0x00030000,
-0x8121002c,
-0x7eacab78,
-0x55291800,
-0x000900a1,
-0x81d20000,
-0x00098200,
-0x48000000,
-0x0005000c,
-0x0006001b,
-0x7c611b78,
-0x7c832378,
-0x0006001c,
-0x82410024,
-0x38000000,
-0x00098200,
-0x81120000,
-0x00098200,
-0x90080000,
-0x00098200,
-0x48000000,
-0x0005001a,
-0x0006001d,
-0x5461003a,
-0x0006001e,
-0x82410024,
-0x3ac00000,
-0x00098200,
-0x81d20000,
-0x00098200,
-0x3cc059c0,
-0x82320000,
-0x00098200,
-0x3b000000,
-0x90c10010,
-0x39000000,
-0x00098200,
-0x60c60004,
-0x3ae00000,
-0x00098200,
-0x38000000,
-0x00098200,
-0xc3c10010,
-0x820efff8,
-0x3a8efff8,
-0x90c10010,
-0x3a310000,
-0x00098200,
-0x00000000,
-0x91140000,
-0x39800010,
-0x90110000,
-0x00098200,
-0xc3e10010,
-0x48000000,
-0x00050016,
-0x0006001f,
-0x38800000,
-0x00098200,
-0x48000000,
-0x00050002,
-0x00060020,
-0x7d6e5a14,
-0x7e8ea050,
-0x91d20000,
-0x00098200,
-0x3a100004,
-0x91720000,
-0x00098200,
-0x568400fe,
-0x000900ab,
-0x0006000c,
-0x92010020,
-0x7e439378,
-0x48000001,
-0x00030000,
-0x81d20000,
-0x00098200,
-0x81720000,
-0x00098200,
-0x814efffc,
-0x7d6e5850,
-0x820a0000,
-0x00098200,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54f4dd78,
-0x7c11402e,
-0x7e947214,
-0x7c0903a6,
-0x4e800420,
-0x00060021,
-0x9421fef0,
-0x91c10000,
-0x00098200,
-0xd9c10000,
-0x00098200,
-0x91e10000,
-0x00098200,
-0xd9e10000,
-0x00098200,
-0x92010000,
-0x00098200,
-0xda010000,
-0x00098200,
-0x7c0802a6,
-0x92210000,
-0x00098200,
-0x00000000,
-0xda210000,
-0x00098200,
-0x92410000,
-0x00098200,
-0xda410000,
-0x00098200,
-0x92610000,
-0x00098200,
-0xda610000,
-0x00098200,
-0x92810000,
-0x00098200,
-0xda810000,
-0x00098200,
-0x92a10000,
-0x00098200,
-0xdaa10000,
-0x00098200,
-0x92c10000,
-0x00098200,
-0xdac10000,
-0x00098200,
-0x90010114,
-0x92e10000,
-0x00098200,
-0xdae10000,
-0x00098200,
-0x93010000,
-0x00098200,
-0xdb010000,
-0x00098200,
-0x93210000,
-0x00098200,
-0xdb210000,
-0x00098200,
-0x7c000026,
-0x93410000,
-0x00098200,
-0xdb410000,
-0x00098200,
-0x93610000,
-0x00098200,
-0xdb610000,
-0x00098200,
-0x93810000,
-0x00098200,
-0x00000000,
-0xdb810000,
-0x00098200,
-0x93a10000,
-0x00098200,
-0xdba10000,
-0x00098200,
-0x93c10000,
-0x00098200,
-0xdbc10000,
-0x00098200,
-0x93e10000,
-0x00098200,
-0xdbe10000,
-0x00098200,
-0x90010034,
-0x7c721b78,
-0x82320000,
-0x00098200,
-0x7c8e2378,
-0x89120000,
-0x00098200,
-0x92410024,
-0x3a000000,
-0x00098200,
-0x38010000,
-0x00098200,
-0x3a310000,
-0x00098200,
-0x90a1002c,
-0x28080000,
-0x90a10030,
-0x90120000,
-0x00098200,
-0x90a10028,
-0x90610020,
-0x41820000,
-0x00050803,
-0x7dd47378,
-0x81d20000,
-0x00098200,
-0x3ac00000,
-0x00098200,
-0x81120000,
-0x00098200,
-0x820efff8,
-0x3cc059c0,
-0x98b20000,
-0x00098200,
-0x90c10010,
-0x60c60004,
-0xc3c10010,
-0x7d8e4050,
-0x90c10010,
-0x3c004338,
-0x398c0008,
-0x90010008,
-0x38000000,
-0x00098200,
-0x3b000000,
-0x90110000,
-0x00098200,
-0x72000000,
-0x00090200,
-0x7d936378,
-0xc3e10010,
-0x3ae00000,
-0x00098200,
-0x00000000,
-0x41820000,
-0x00050817,
-0x48000000,
-0x00050018,
-0x00060022,
-0x9421fef0,
-0x91c10000,
-0x00098200,
-0xd9c10000,
-0x00098200,
-0x91e10000,
-0x00098200,
-0xd9e10000,
-0x00098200,
-0x92010000,
-0x00098200,
-0xda010000,
-0x00098200,
-0x7c0802a6,
-0x92210000,
-0x00098200,
-0xda210000,
-0x00098200,
-0x92410000,
-0x00098200,
-0xda410000,
-0x00098200,
-0x92610000,
-0x00098200,
-0xda610000,
-0x00098200,
-0x92810000,
-0x00098200,
-0xda810000,
-0x00098200,
-0x92a10000,
-0x00098200,
-0xdaa10000,
-0x00098200,
-0x92c10000,
-0x00098200,
-0xdac10000,
-0x00098200,
-0x90010114,
-0x92e10000,
-0x00098200,
-0x00000000,
-0xdae10000,
-0x00098200,
-0x93010000,
-0x00098200,
-0xdb010000,
-0x00098200,
-0x93210000,
-0x00098200,
-0xdb210000,
-0x00098200,
-0x7c000026,
-0x93410000,
-0x00098200,
-0xdb410000,
-0x00098200,
-0x93610000,
-0x00098200,
-0xdb610000,
-0x00098200,
-0x93810000,
-0x00098200,
-0xdb810000,
-0x00098200,
-0x93a10000,
-0x00098200,
-0xdba10000,
-0x00098200,
-0x93c10000,
-0x00098200,
-0xdbc10000,
-0x00098200,
-0x93e10000,
-0x00098200,
-0xdbe10000,
-0x00098200,
-0x90010034,
-0x3a000000,
-0x00098200,
-0x90c10030,
-0x48000000,
-0x00050001,
-0x00060023,
-0x9421fef0,
-0x91c10000,
-0x00098200,
-0xd9c10000,
-0x00098200,
-0x00000000,
-0x91e10000,
-0x00098200,
-0xd9e10000,
-0x00098200,
-0x92010000,
-0x00098200,
-0xda010000,
-0x00098200,
-0x7c0802a6,
-0x92210000,
-0x00098200,
-0xda210000,
-0x00098200,
-0x92410000,
-0x00098200,
-0xda410000,
-0x00098200,
-0x92610000,
-0x00098200,
-0xda610000,
-0x00098200,
-0x92810000,
-0x00098200,
-0xda810000,
-0x00098200,
-0x92a10000,
-0x00098200,
-0xdaa10000,
-0x00098200,
-0x92c10000,
-0x00098200,
-0xdac10000,
-0x00098200,
-0x90010114,
-0x92e10000,
-0x00098200,
-0xdae10000,
-0x00098200,
-0x93010000,
-0x00098200,
-0xdb010000,
-0x00098200,
-0x93210000,
-0x00098200,
-0xdb210000,
-0x00098200,
-0x00000000,
-0x7c000026,
-0x93410000,
-0x00098200,
-0xdb410000,
-0x00098200,
-0x93610000,
-0x00098200,
-0xdb610000,
-0x00098200,
-0x93810000,
-0x00098200,
-0xdb810000,
-0x00098200,
-0x93a10000,
-0x00098200,
-0xdba10000,
-0x00098200,
-0x93c10000,
-0x00098200,
-0xdbc10000,
-0x00098200,
-0x93e10000,
-0x00098200,
-0xdbe10000,
-0x00098200,
-0x90010034,
-0x3a000000,
-0x00098200,
-0x0006000b,
-0x81030000,
-0x00098200,
-0x90a1002c,
-0x7c721b78,
-0x90610024,
-0x7c8e2378,
-0x90320000,
-0x00098200,
-0x82320000,
-0x00098200,
-0x90610020,
-0x91010028,
-0x3a310000,
-0x00098200,
-0x0006000d,
-0x81320000,
-0x00098200,
-0x3ac00000,
-0x00098200,
-0x81120000,
-0x00098200,
-0x00000000,
-0x3cc059c0,
-0x7e107214,
-0x90c10010,
-0x3b000000,
-0x60c60004,
-0xc3c10010,
-0x7e098050,
-0x90c10010,
-0x3c004338,
-0x7d6e4050,
-0x90010008,
-0x38000000,
-0x00098200,
-0xc3e10010,
-0x3ae00000,
-0x00098200,
-0x90110000,
-0x00098200,
-0x00060024,
-0x800efff8,
-0x814efffc,
-0x2c000000,
-0x00098200,
-0x40820000,
-0x00050825,
-0x00060026,
-0x920efff8,
-0x820a0000,
-0x00098200,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54f4dd78,
-0x7c11402e,
-0x7e947214,
-0x7c0903a6,
-0x4e800420,
-0x00060027,
-0x9421fef0,
-0x91c10000,
-0x00098200,
-0xd9c10000,
-0x00098200,
-0x91e10000,
-0x00098200,
-0xd9e10000,
-0x00098200,
-0x92010000,
-0x00098200,
-0xda010000,
-0x00098200,
-0x7c0802a6,
-0x92210000,
-0x00098200,
-0xda210000,
-0x00098200,
-0x92410000,
-0x00098200,
-0xda410000,
-0x00098200,
-0x92610000,
-0x00098200,
-0xda610000,
-0x00098200,
-0x92810000,
-0x00098200,
-0x00000000,
-0xda810000,
-0x00098200,
-0x92a10000,
-0x00098200,
-0xdaa10000,
-0x00098200,
-0x92c10000,
-0x00098200,
-0xdac10000,
-0x00098200,
-0x90010114,
-0x92e10000,
-0x00098200,
-0xdae10000,
-0x00098200,
-0x93010000,
-0x00098200,
-0xdb010000,
-0x00098200,
-0x93210000,
-0x00098200,
-0xdb210000,
-0x00098200,
-0x7c000026,
-0x93410000,
-0x00098200,
-0xdb410000,
-0x00098200,
-0x93610000,
-0x00098200,
-0xdb610000,
-0x00098200,
-0x93810000,
-0x00098200,
-0xdb810000,
-0x00098200,
-0x93a10000,
-0x00098200,
-0xdba10000,
-0x00098200,
-0x93c10000,
-0x00098200,
-0xdbc10000,
-0x00098200,
-0x93e10000,
-0x00098200,
-0x00000000,
-0xdbe10000,
-0x00098200,
-0x90010034,
-0x7c721b78,
-0x80030000,
-0x00098200,
-0x90610024,
-0x81120000,
-0x00098200,
-0x90610020,
-0x7c080050,
-0x81120000,
-0x00098200,
-0x90320000,
-0x00098200,
-0x39200000,
-0x9001002c,
-0x91210030,
-0x91010028,
-0x7cc903a6,
-0x4e800421,
-0x7c6e1b79,
-0x82320000,
-0x00098200,
-0x3a000000,
-0x00098200,
-0x3a310000,
-0x00098200,
-0x40820000,
-0x0005080d,
-0x48000000,
-0x00050019,
-0x00060015,
-0x800efff4,
-0x7dca7378,
-0x7d2e4b78,
-0x8109fffc,
-0x00000000,
-0x28000001,
-0x00000000,
-0x820afff0,
-0x392cfff8,
-0x81080000,
-0x00098200,
-0x7ef4492e,
-0x00000000,
-0x40810000,
-0x00050801,
-0x00000000,
-0x81e80000,
-0x00098200,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x0006000b,
-0x41820000,
-0x00050828,
-0x390afff0,
-0x7d6e4050,
-0x48000000,
-0x00050029,
-0x00000000,
-0x0006002a,
-0x80f0fffc,
-0x388afff0,
-0x54f55d78,
-0xc8140000,
-0x7d0eaa14,
-0x91d20000,
-0x00098200,
-0x7c082040,
-0x7ca82050,
-0x54f4dd78,
-0xd8040000,
-0x40a20000,
-0x0005082b,
-0x7c0ea5ae,
-0x48000000,
-0x0005002c,
-0x0006002d,
-0x38b10000,
-0x00098200,
-0x38000000,
-0x00098200,
-0x54ea5d78,
-0x91650004,
-0x7c8e5214,
-0x90050000,
-0x48000000,
-0x00050001,
-0x0006002e,
-0x38910000,
-0x00098200,
-0x38000000,
-0x00098200,
-0x91440004,
-0x38b10000,
-0x00098200,
-0x90040000,
-0x39000000,
-0x00098200,
-0x91650004,
-0x91050000,
-0x48000000,
-0x00050001,
-0x0006002f,
-0x00000000,
-0x9001000c,
-0xc8010008,
-0xfc00f028,
-0x00000000,
-0x54ea5d78,
-0x38b10000,
-0x00098200,
-0x7c8e5214,
-0x00000000,
-0x92c50000,
-0x90050004,
-0x00000000,
-0xd8050000,
-0x00000000,
-0x48000000,
-0x00050001,
-0x00060030,
-0x54ea5d78,
-0x54eb9d78,
-0x7c8e5214,
-0x7cae5a14,
-0x0006000b,
-0x91d20000,
-0x00098200,
-0x7e439378,
-0x92010020,
-0x48000001,
-0x00030001,
-0x28030000,
-0x41820000,
-0x00050803,
-0xc8030000,
-0x80f00000,
-0x3a100004,
-0x7c0ea5ae,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x0006000d,
-0x210e0000,
-0x00098200,
-0x81d20000,
-0x00098200,
-0x920efff0,
-0x7e087214,
-0x814efffc,
-0x39600010,
-0x48000000,
-0x00050026,
-0x00060031,
-0x38b10000,
-0x00098200,
-0x38000000,
-0x00098200,
-0x54ea5d78,
-0x91650004,
-0x7c8e5214,
-0x90050000,
-0x48000000,
-0x00050001,
-0x00060032,
-0x38910000,
-0x00098200,
-0x38000000,
-0x00098200,
-0x91440004,
-0x38b10000,
-0x00098200,
-0x90040000,
-0x39000000,
-0x00098200,
-0x91650004,
-0x91050000,
-0x48000000,
-0x00050001,
-0x00060033,
-0x00000000,
-0x9001000c,
-0xc8010008,
-0xfc00f028,
-0x00000000,
-0x54ea5d78,
-0x38b10000,
-0x00098200,
-0x7c8e5214,
-0x00000000,
-0x92c50000,
-0x90050004,
-0x00000000,
-0xd8050000,
-0x00000000,
-0x48000000,
-0x00050001,
-0x00060034,
-0x54ea5d78,
-0x54eb9d78,
-0x7c8e5214,
-0x7cae5a14,
-0x0006000b,
-0x91d20000,
-0x00098200,
-0x7e439378,
-0x92010020,
-0x48000001,
-0x00030002,
-0x28030000,
-0x7c0ea4ae,
-0x41820000,
-0x00050803,
-0x80f00000,
-0x3a100004,
-0xd8030000,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x0006000d,
-0x210e0000,
-0x00098200,
-0x81d20000,
-0x00098200,
-0x920efff0,
-0x7e087214,
-0x814efffc,
-0x39600018,
-0xd80e0010,
-0x48000000,
-0x00050026,
-0x00060035,
-0x7e439378,
-0x3a10fffc,
-0x00000000,
-0x7e84a378,
-0x00000000,
-0x7c8ea214,
-0x00000000,
-0x92010020,
-0x00000000,
-0x7d856378,
-0x00000000,
-0x7cae6214,
-0x00000000,
-0x91d20000,
-0x00098200,
-0x54e6063e,
-0x48000001,
-0x00030003,
-0x0006000d,
-0x28030001,
-0x41810000,
-0x00050836,
-0x20630000,
-0x0006000e,
-0x80f00000,
-0x3a100004,
-0x54e993ba,
-0x3d290000,
-0x00098200,
-0x7d291838,
-0x7e104a14,
-0x0006002c,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00060037,
-0x80f0fffc,
-0xc8140000,
-0x54e8dd78,
-0x7c0e45ae,
-0x48000000,
-0x0005002c,
-0x00060038,
-0x80140000,
-0x20000000,
-0x00098200,
-0x7c631910,
-0x7c6318f8,
-0x48000000,
-0x0005000e,
-0x00060039,
-0x80140000,
-0x20000000,
-0x00098200,
-0x7c631910,
-0x48000000,
-0x0005000e,
-0x0006003a,
-0x3a10fffc,
-0x91d20000,
-0x00098200,
-0x7e439378,
-0x92010020,
-0x48000001,
-0x00030004,
-0x48000000,
-0x0005000d,
-0x0006003b,
-0x00000000,
-0x7ce43b78,
-0x3a10fffc,
-0x91d20000,
-0x00098200,
-0x7e439378,
-0x92010020,
-0x48000001,
-0x00030005,
-0x48000000,
-0x0005000d,
-0x00000000,
-0x0006003c,
-0x7caf5a14,
-0x7cce5214,
-0x48000000,
-0x00050001,
-0x0006003d,
-0x00000000,
-0x7d655b78,
-0x7d465378,
-0x48000000,
-0x00050001,
-0x00000000,
-0x0006003e,
-0x7d856378,
-0x7d866378,
-0x48000000,
-0x00050001,
-0x0006003f,
-0x7cae5214,
-0x7ccf5a14,
-0x48000000,
-0x00050001,
-0x00060040,
-0x7cae5214,
-0x7cce5a14,
-0x00000000,
-0x48000000,
-0x00050001,
-0x00000000,
-0x00060041,
-0x00060042,
-0x00000000,
-0x7d455378,
-0x7d665b78,
-0x00000000,
-0x0006000b,
-0x7c8ea214,
-0x91d20000,
-0x00098200,
-0x7e439378,
-0x92010020,
-0x54e7063e,
-0x48000001,
-0x00030006,
-0x28030000,
-0x41820000,
-0x0005082c,
-0x00060036,
-0x7d0e1850,
-0x9203fff0,
-0x7dc97378,
-0x3a080000,
-0x00098200,
-0x7c6e1b78,
-0x39600010,
-0x48000000,
-0x00050024,
-0x00060043,
-0x00000000,
-0x7c751b78,
-0x00000000,
-0x7d846378,
-0x91d20000,
-0x00098200,
-0x7e439378,
-0x92010020,
-0x48000001,
-0x00030007,
-0x00000000,
-0x28030000,
-0x40820000,
-0x00050836,
-0x7ea3ab78,
-0x48000000,
-0x00050044,
-0x00000000,
-0x48000000,
-0x00050036,
-0x00000000,
-0x00060025,
-0x7e439378,
-0x91320000,
-0x00098200,
-0x388efff8,
-0x92010020,
-0x7cae5a14,
-0x7d755b78,
-0x48000001,
-0x00030008,
-0x814efffc,
-0x39750008,
-0x920efff8,
-0x820a0000,
-0x00098200,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54f4dd78,
-0x7c11402e,
-0x7e947214,
-0x7c0903a6,
-0x4e800420,
-0x00060045,
-0x7e439378,
-0x91d20000,
-0x00098200,
-0x3894fff8,
-0x92010020,
-0x7cb45a14,
-0x7d755b78,
-0x48000001,
-0x00030008,
-0x810efff8,
-0x39750008,
-0x8154fffc,
-0x48000000,
-0x00050046,
-0x00060047,
-0x7e439378,
-0x91d20000,
-0x00098200,
-0x7e84a378,
-0x92010020,
-0x7cf53b78,
-0x48000001,
-0x00030009,
-0x00000000,
-0x56a0063e,
-0x00000000,
-0x56b4dd78,
-0x00000000,
-0x2c000000,
-0x00098200,
-0x00000000,
-0x56ac9b78,
-0x00000000,
-0x41a20000,
-0x00070800,
-0x00000000,
-0x48000000,
-0x00070000,
-0x00060048,
-0x280b0008,
-0x80ae0000,
-0x806e0004,
-0x41800000,
-0x00050849,
-0x39000000,
-0x00098200,
-0x3a8efff8,
-0x7c854040,
-0x820efff8,
-0x40840000,
-0x00050849,
-0x90b40000,
-0x398b0008,
-0x90740004,
-0x41820000,
-0x0005084a,
-0x39000008,
-0x396bfff8,
-0x0006000b,
-0x7c085840,
-0x7c0e44ae,
-0x7c1445ae,
-0x39080008,
-0x40a20000,
-0x0005080b,
-0x48000000,
-0x0005004a,
-0x0006004b,
-0x280b0008,
-0x806e0000,
-0x41800000,
-0x00050849,
-0x7c161810,
-0x7d231910,
-0x7d280338,
-0x39080000,
-0x00098200,
-0x55081800,
-0x000900a1,
-0x392a0000,
-0x00098200,
-0x7c2944ae,
-0x48000000,
-0x0005004c,
-0x0006004d,
-0x280b0008,
-0x80ae0000,
-0x806e0004,
-0x41800000,
-0x00050849,
-0x2c050000,
-0x00098200,
-0x40820000,
-0x00050806,
-0x0006000b,
-0x80630000,
-0x00098200,
-0x0006000c,
-0x00000000,
-0x38a00000,
-0x00098200,
-0x28030000,
-0x81710000,
-0x00098200,
-0x41820000,
-0x0005084e,
-0x80030000,
-0x00098200,
-0x38a00000,
-0x00098200,
-0x810b0000,
-0x00098200,
-0x81230000,
-0x00098200,
-0x7d080038,
-0x55002800,
-0x000900a1,
-0x55081800,
-0x000900a1,
-0x7d080050,
-0x7d294214,
-0x0006000d,
-0x80c90000,
-0x00098200,
-0x80090000,
-0x00098200,
-0x80890000,
-0x00098200,
-0x81090000,
-0x00098200,
-0x2c060000,
-0x00098200,
-0x40820000,
-0x00050804,
-0x7c005800,
-0x41820000,
-0x00050805,
-0x0006000e,
-0x81290000,
-0x00098200,
-0x28090000,
-0x41820000,
-0x0005084e,
-0x48000000,
-0x0005000d,
-0x0006000f,
-0x00000000,
-0x2c040000,
-0x00098200,
-0x41820000,
-0x0005084e,
-0x7c852378,
-0x7d034378,
-0x48000000,
-0x0005004e,
-0x00060010,
-0x2c050000,
-0x00098200,
-0x41820000,
-0x0005080b,
-0x7c162810,
-0x7d252910,
-0x7d280338,
-0x39080000,
-0x00098200,
-0x55081000,
-0x000900a1,
-0x39310000,
-0x00098200,
-0x7c69402e,
-0x48000000,
-0x0005000c,
-0x0006004f,
-0x280b0010,
-0x80ae0000,
-0x80ce0008,
-0x806e0004,
-0x808e000c,
-0x41800000,
-0x00050849,
-0x2c050000,
-0x00098200,
-0x40820000,
-0x00050849,
-0x81030000,
-0x00098200,
-0x2c060000,
-0x00098200,
-0x40820000,
-0x00050849,
-0x28080000,
-0x88c30000,
-0x00098200,
-0x40820000,
-0x00050849,
-0x70c00000,
-0x00090200,
-0x90830000,
-0x00098200,
-0x41820000,
-0x0005084e,
-0x00000000,
-0x80110000,
-0x00098200,
-0x54c607b8,
-0x90710000,
-0x00098200,
-0x98c30000,
-0x00098200,
-0x90030000,
-0x00098200,
-0x48000000,
-0x0005004e,
-0x00060050,
-0x280b0010,
-0x80ce0000,
-0x808e0004,
-0x41800000,
-0x00050849,
-0x2c060000,
-0x00098200,
-0x40820000,
-0x00050849,
-0x38ae0008,
-0x7e439378,
-0x48000001,
-0x0003000a,
-0xc8230000,
-0x48000000,
-0x0005004c,
-0x00060051,
-0x280b0008,
-0x806e0000,
-0xc82e0000,
-0x40820000,
-0x00050849,
-0x7c03b040,
-0x41810000,
-0x00050849,
-0x48000000,
-0x0005004c,
-0x00060052,
-0x280b0008,
-0x80ae0000,
-0x806e0004,
-0x41800000,
-0x00050849,
-0x2c050000,
-0x00098200,
-0x41820000,
-0x0005084e,
-0x80110000,
-0x00098200,
-0x7c05b040,
-0x28800000,
-0x91d20000,
-0x00098200,
-0x4c413342,
-0x92010020,
-0x41820000,
-0x00050849,
-0x00000000,
-0x80110000,
-0x00098200,
-0x81110000,
-0x00098200,
-0x7c004040,
-0x40800001,
-0x00050853,
-0x7e439378,
-0x7dc47378,
-0x00000000,
-0x48000001,
-0x0003000b,
-0x00000000,
-0x48000001,
-0x0003000c,
-0x00000000,
-0x38a00000,
-0x00098200,
-0x48000000,
-0x0005004e,
-0x00060054,
-0x280b0008,
-0x806e0000,
-0x808e0004,
-0x41800000,
-0x00050849,
-0x7eee592e,
-0x2c030000,
-0x00098200,
-0x820efff8,
-0x40820000,
-0x00050849,
-0x91d20000,
-0x00098200,
-0x7e439378,
-0x91d20000,
-0x00098200,
-0x38ae0008,
-0x92010020,
-0x48000001,
-0x0003000d,
-0x28030000,
-0x38a00000,
-0x00098200,
-0x41820000,
-0x0005084e,
-0xc80e0008,
-0x3a8efff8,
-0xc82e0010,
-0xd8140000,
-0x39800000,
-0x00098200,
-0xd8340008,
-0x48000000,
-0x0005004a,
-0x00060055,
-0x280b0008,
-0x80ae0000,
-0x806e0004,
-0x41800000,
-0x00050849,
-0x2c050000,
-0x00098200,
-0x820efff8,
-0x40820000,
-0x00050849,
-0x00000000,
-0x81230000,
-0x00098200,
-0xc80a0000,
-0x00098200,
-0x28090000,
-0x3a8efff8,
-0x40820000,
-0x00050849,
-0x00000000,
-0xc80a0000,
-0x00098200,
-0x3a8efff8,
-0x00000000,
-0x92ee0008,
-0x39800000,
-0x00098200,
-0xd8140000,
-0x48000000,
-0x0005004a,
-0x00060056,
-0x280b0010,
-0x80ae0000,
-0x806e0004,
-0x80ce0008,
-0x00000000,
-0x812e000c,
-0x00000000,
-0xc84e0008,
-0x00000000,
-0x41800000,
-0x00050849,
-0x2c050000,
-0x00098200,
-0x7c86b040,
-0x820efff8,
-0x00000000,
-0x40820000,
-0x00050849,
-0x40860000,
-0x00050849,
-0x00000000,
-0x3c003ff0,
-0x93010014,
-0x40820000,
-0x00050849,
-0x90010010,
-0x40840000,
-0x00050849,
-0xc8210010,
-0xfc00101e,
-0xd8010010,
-0x81210014,
-0x00000000,
-0x80030000,
-0x00098200,
-0x81030000,
-0x00098200,
-0x00000000,
-0xfc42082a,
-0x00000000,
-0x39290001,
-0x3a8efff8,
-0x7c004840,
-0x00000000,
-0x92d40000,
-0x55261800,
-0x000900a1,
-0x91340004,
-0x00000000,
-0x55261800,
-0x000900a1,
-0xd8540000,
-0x00000000,
-0x40810000,
-0x00050802,
-0x7d28302e,
-0x7c0834ae,
-0x0006000b,
-0x2c090000,
-0x00098200,
-0x39800000,
-0x00098200,
-0x41820000,
-0x0005084a,
-0x39800000,
-0x00098200,
-0xd8140008,
-0x48000000,
-0x0005004a,
-0x0006000c,
-0x80030000,
-0x00098200,
-0x28000000,
-0x39800000,
-0x00098200,
-0x41820000,
-0x0005084a,
-0x7d244b78,
-0x48000001,
-0x0003000e,
-0x28030000,
-0x39800000,
-0x00098200,
-0x41820000,
-0x0005084a,
-0x81230000,
-0xc8030000,
-0x48000000,
-0x0005000b,
-0x00060057,
-0x280b0008,
-0x80ae0000,
-0x806e0004,
-0x41800000,
-0x00050849,
-0x2c050000,
-0x00098200,
-0x820efff8,
-0x40820000,
-0x00050849,
-0x00000000,
-0x81230000,
-0x00098200,
-0xc80a0000,
-0x00098200,
-0x28090000,
-0x3a8efff8,
-0x40820000,
-0x00050849,
-0x00000000,
-0xc80a0000,
-0x00098200,
-0x3a8efff8,
-0x00000000,
-0x92ce0008,
-0x00000000,
-0x930e0008,
-0x00000000,
-0x930e000c,
-0x39800000,
-0x00098200,
-0xd8140000,
-0x48000000,
-0x0005004a,
-0x00060058,
-0x280b0008,
-0x88d10000,
-0x00098200,
-0x41800000,
-0x00050849,
-0x7dc97378,
-0x39ce0008,
-0x54c607fe,
-0x000900ab,
-0x396bfff8,
-0x3a060000,
-0x00098200,
-0x48000000,
-0x00050024,
-0x00060059,
-0x280b0010,
-0x80ce0008,
-0xc84e0008,
-0xc82e0000,
-0x41800000,
-0x00050849,
-0x89110000,
-0x00098200,
-0x7dc97378,
-0x2c060000,
-0x00098200,
-0x40820000,
-0x00050849,
-0x39ce0010,
-0x550807fe,
-0x000900ab,
-0xd8490000,
-0x396bfff0,
-0xd8290008,
-0x3a080000,
-0x00098200,
-0x48000000,
-0x00050024,
-0x0006005a,
-0x280b0008,
-0x80ae0000,
-0x806e0004,
-0x41800000,
-0x00050849,
-0x2c050000,
-0x00098200,
-0x40820000,
-0x00050849,
-0x88030000,
-0x00098200,
-0x81030000,
-0x00098200,
-0x00000000,
-0x80830000,
-0x00098200,
-0x28000000,
-0x00090200,
-0x81230000,
-0x00098200,
-0x28880000,
-0x80030000,
-0x00098200,
-0x7f844840,
-0x820efff8,
-0x4f013342,
-0x7d245a14,
-0x4f3e1102,
-0x7c890040,
-0x4f18cb82,
-0x92010020,
-0x4f182b82,
-0x91d20000,
-0x00098200,
-0x41980000,
-0x00050849,
-0x0006000b,
-0x39ce0008,
-0x396bfff8,
-0x3929fff8,
-0x91230000,
-0x00098200,
-0x39000000,
-0x91d20000,
-0x00098200,
-0x0006000c,
-0x7c085800,
-0x7c0e44ae,
-0x41820000,
-0x00050803,
-0x7c0445ae,
-0x39080008,
-0x48000000,
-0x0005000c,
-0x0006000d,
-0x38a00000,
-0x7c751b78,
-0x38c00000,
-0x48000001,
-0x00050021,
-0x0006000e,
-0x81350000,
-0x00098200,
-0x28030000,
-0x00090200,
-0x80d50000,
-0x00098200,
-0x38000000,
-0x00098200,
-0x81d20000,
-0x00098200,
-0x90110000,
-0x00098200,
-0x41810000,
-0x00050808,
-0x00000000,
-0x7d893050,
-0x80120000,
-0x00098200,
-0x280c0000,
-0x7d0e6214,
-0x41820000,
-0x00050806,
-0x7c080040,
-0x39000000,
-0x41810000,
-0x00050809,
-0x38ccfff8,
-0x91350000,
-0x00098200,
-0x0006000f,
-0x7c083040,
-0x7c0944ae,
-0x7c0e45ae,
-0x39080008,
-0x40820000,
-0x0005080f,
-0x00060010,
-0x72000000,
-0x00090200,
-0x39000000,
-0x00098200,
-0x3a8efff8,
-0x910efff8,
-0x398c0010,
-0x00060011,
-0x92010020,
-0x7d936378,
-0x41820000,
-0x00050817,
-0x48000000,
-0x00050018,
-0x00060012,
-0x72000000,
-0x00090200,
-0x38c6fff8,
-0x39000000,
-0x00098200,
-0xc8060000,
-0x90d50000,
-0x00098200,
-0x39800000,
-0x00098200,
-0x910efff8,
-0x3a8efff8,
-0xd80e0000,
-0x48000000,
-0x00050011,
-0x00060013,
-0x7e439378,
-0x558400fe,
-0x000900ab,
-0x48000001,
-0x00030000,
-0x38600000,
-0x48000000,
-0x0005000e,
-0x0006005b,
-0x00000000,
-0x806a0000,
-0x00098200,
-0x88030000,
-0x00098200,
-0x81030000,
-0x00098200,
-0x80830000,
-0x00098200,
-0x28000000,
-0x00090200,
-0x81230000,
-0x00098200,
-0x28880000,
-0x80030000,
-0x00098200,
-0x7f844840,
-0x820efff8,
-0x4f013342,
-0x7d245a14,
-0x4f3e1102,
-0x7c890040,
-0x4f18cb82,
-0x92010020,
-0x4f182b82,
-0x91d20000,
-0x00098200,
-0x41980000,
-0x00050849,
-0x0006000b,
-0x91230000,
-0x00098200,
-0x39000000,
-0x91d20000,
-0x00098200,
-0x0006000c,
-0x7c085800,
-0x7c0e44ae,
-0x41820000,
-0x00050803,
-0x7c0445ae,
-0x39080008,
-0x48000000,
-0x0005000c,
-0x0006000d,
-0x38a00000,
-0x7c751b78,
-0x38c00000,
-0x48000001,
-0x00050021,
-0x0006000e,
-0x81350000,
-0x00098200,
-0x28030000,
-0x00090200,
-0x80d50000,
-0x00098200,
-0x38000000,
-0x00098200,
-0x00000000,
-0x81d20000,
-0x00098200,
-0x90110000,
-0x00098200,
-0x41810000,
-0x00050808,
-0x7d893050,
-0x80120000,
-0x00098200,
-0x280c0000,
-0x7d0e6214,
-0x41820000,
-0x00050806,
-0x7c080040,
-0x39000000,
-0x41810000,
-0x00050809,
-0x38ccfff8,
-0x91350000,
-0x00098200,
-0x0006000f,
-0x7c083040,
-0x7c0944ae,
-0x7c0e45ae,
-0x39080008,
-0x40820000,
-0x0005080f,
-0x00060010,
-0x72000000,
-0x00090200,
-0x7dd47378,
-0x398c0008,
-0x00060011,
-0x92010020,
-0x7d936378,
-0x41820000,
-0x00050817,
-0x48000000,
-0x00050018,
-0x00060012,
-0x7e439378,
-0x7ea4ab78,
-0x48000001,
-0x0003000f,
-0x00060013,
-0x7e439378,
-0x558400fe,
-0x000900ab,
-0x48000001,
-0x00030000,
-0x38600000,
-0x48000000,
-0x0005000e,
-0x0006005c,
-0x80120000,
-0x00098200,
-0x00000000,
-0x7d0e5a14,
-0x91d20000,
-0x00098200,
-0x70000000,
-0x00090200,
-0x91120000,
-0x00098200,
-0x38600000,
-0x00098200,
-0x41820000,
-0x00050849,
-0x93120000,
-0x00098200,
-0x98720000,
-0x00098200,
-0x48000000,
-0x0005001a,
-0x0006005d,
-0x280b0008,
-0x80ae0000,
-0x806e0004,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x00000000,
-0x40820000,
-0x00050802,
-0x7c68fe70,
-0x7d091a78,
-0x7c684851,
-0x41800000,
-0x00050801,
-0x0006005e,
-0x820efff8,
-0x3a8efff8,
-0x92cefff8,
-0x906efffc,
-0x48000000,
-0x0005005f,
-0x0006000b,
-0x3ca041e0,
-0x38600000,
-0x48000000,
-0x0005004e,
-0x0006000c,
-0x00000000,
-0x40800000,
-0x00050849,
-0x54a5007e,
-0x0006004e,
-0x820efff8,
-0x90aefff8,
-0x3a8efff8,
-0x906efffc,
-0x0006005f,
-0x39800000,
-0x00098200,
-0x0006004a,
-0x72000000,
-0x00090200,
-0x7d936378,
-0x40a20000,
-0x00050818,
-0x80f0fffc,
-0x54ea5d78,
-0x0006000f,
-0x7c0a6040,
-0x54e0dd78,
-0x41810000,
-0x00050806,
-0x80f00000,
-0x3a100004,
-0x7dc0a050,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00060010,
-0x390cfff8,
-0x398c0008,
-0x7ef4412e,
-0x48000000,
-0x0005000f,
-0x00000000,
-0x00060060,
-0x280b0008,
-0x80ae0000,
-0x806e0004,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x41a20000,
-0x0005084e,
-0x54a9657e,
-0x40800000,
-0x00050849,
-0x3529fc01,
-0x2889001f,
-0x2009001f,
-0x41800000,
-0x00050803,
-0x54a85800,
-0x000900a1,
-0x5466057e,
-0x000900ab,
-0x65088000,
-0x39290001,
-0x7d083378,
-0x54645800,
-0x000900a1,
-0x40840000,
-0x00050804,
-0x7d064830,
-0x7d030430,
-0x7cc62378,
-0x7ca9fe70,
-0x7cc84838,
-0x3008ffff,
-0x7d004110,
-0x7c634214,
-0x7c634a78,
-0x7c691850,
-0x48000000,
-0x0005005e,
-0x0006000d,
-0x7d252a14,
-0x7ca8fe70,
-0x7c694b78,
-0x7d284038,
-0x21280000,
-0x7c631910,
-0x48000000,
-0x0005005e,
-0x0006000e,
-0x6d088000,
-0x7ca9fe70,
-0x7d082378,
-0x7d084b39,
-0x4c423202,
-0x3c608000,
-0x41a20000,
-0x0005085e,
-0x0006000f,
-0xc82e0000,
-0x48000001,
-0x00030010,
-0x48000000,
-0x0005004c,
-0x00060061,
-0x280b0008,
-0x80ae0000,
-0x806e0004,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x41a20000,
-0x0005084e,
-0x54a9657e,
-0x40800000,
-0x00050849,
-0x3529fc01,
-0x2889001f,
-0x2009001f,
-0x41800000,
-0x00050803,
-0x00000000,
-0x54a85800,
-0x000900a1,
-0x5466057e,
-0x000900ab,
-0x65088000,
-0x39290001,
-0x7d083378,
-0x54645800,
-0x000900a1,
-0x40840000,
-0x00050804,
-0x7d064830,
-0x7d030430,
-0x7cc62378,
-0x7ca9fe70,
-0x7cc84878,
-0x3008ffff,
-0x7d004110,
-0x7c634615,
-0x7c634a78,
-0x7c691850,
-0x40830000,
-0x0005085e,
-0x7c000400,
-0x40a10000,
-0x0005085e,
-0x3ca041e0,
-0x38600000,
-0x48000000,
-0x0005004e,
-0x0006000d,
-0x7d252a14,
-0x7ca8fe70,
-0x7c694b78,
-0x7d284078,
-0x3128ffff,
-0x7c694110,
-0x48000000,
-0x0005005e,
-0x0006000e,
-0x6d088000,
-0x7ca9fe70,
-0x7d084b39,
-0x4c423202,
-0x3c608000,
-0x41a20000,
-0x0005085e,
-0x0006000f,
-0xc82e0000,
-0x48000001,
-0x00030011,
-0x48000000,
-0x0005004c,
-0x00000000,
-0x00060060,
-0x280b0008,
-0x80ae0000,
-0xc82e0000,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0x48000001,
-0x00030010,
-0x48000000,
-0x0005004c,
-0x00060061,
-0x280b0008,
-0x80ae0000,
-0xc82e0000,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0x48000001,
-0x00030011,
-0x48000000,
-0x0005004c,
-0x00000000,
-0x00060062,
-0x280b0008,
-0x80ae0000,
-0xc82e0000,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0x48000001,
-0x00030012,
-0x48000000,
-0x0005004c,
-0x00060063,
-0x280b0008,
-0x80ae0000,
-0xc82e0000,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0x48000001,
-0x00030013,
-0x48000000,
-0x0005004c,
-0x00060064,
-0x280b0008,
-0x80ae0000,
-0xc82e0000,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0x48000001,
-0x00030014,
-0x48000000,
-0x0005004c,
-0x00060065,
-0x280b0008,
-0x80ae0000,
-0xc82e0000,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0x48000001,
-0x00030015,
-0x48000000,
-0x0005004c,
-0x00060066,
-0x280b0008,
-0x80ae0000,
-0xc82e0000,
-0x41800000,
-0x00050849,
-0x00000000,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0x48000001,
-0x00030016,
-0x48000000,
-0x0005004c,
-0x00060067,
-0x280b0008,
-0x80ae0000,
-0xc82e0000,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0x48000001,
-0x00030017,
-0x48000000,
-0x0005004c,
-0x00060068,
-0x280b0008,
-0x80ae0000,
-0xc82e0000,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0x48000001,
-0x00030018,
-0x48000000,
-0x0005004c,
-0x00060069,
-0x280b0008,
-0x80ae0000,
-0xc82e0000,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0x48000001,
-0x00030019,
-0x48000000,
-0x0005004c,
-0x0006006a,
-0x280b0008,
-0x80ae0000,
-0xc82e0000,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0x48000001,
-0x0003001a,
-0x00000000,
-0x48000000,
-0x0005004c,
-0x0006006b,
-0x280b0008,
-0x80ae0000,
-0xc82e0000,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0x48000001,
-0x0003001b,
-0x48000000,
-0x0005004c,
-0x0006006c,
-0x280b0008,
-0x80ae0000,
-0xc82e0000,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0x48000001,
-0x0003001c,
-0x48000000,
-0x0005004c,
-0x0006006d,
-0x280b0008,
-0x80ae0000,
-0xc82e0000,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0x48000001,
-0x0003001d,
-0x48000000,
-0x0005004c,
-0x0006006e,
-0x280b0008,
-0x80ae0000,
-0xc82e0000,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0x48000001,
-0x0003001e,
-0x48000000,
-0x0005004c,
-0x0006006f,
-0x00000000,
-0x280b0010,
-0x80ae0000,
-0xc82e0000,
-0x80ce0008,
-0xc84e0008,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0x7c06b040,
-0x40800000,
-0x00050849,
-0x48000001,
-0x0003001f,
-0x48000000,
-0x0005004c,
-0x00060070,
-0x280b0010,
-0x80ae0000,
-0xc82e0000,
-0x80ce0008,
-0xc84e0008,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0x7c06b040,
-0x40800000,
-0x00050849,
-0x48000001,
-0x00030020,
-0x48000000,
-0x0005004c,
-0x00060071,
-0x280b0010,
-0x80ae0000,
-0xc82e0000,
-0x80ce0008,
-0xc84e0008,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0x7c06b040,
-0x40800000,
-0x00050849,
-0x48000001,
-0x00030021,
-0x48000000,
-0x0005004c,
-0x00060072,
-0x00060073,
-0x280b0008,
-0x80ae0000,
-0xc82e0000,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0xc84a0000,
-0x00098200,
-0x00000000,
-0xfc2100b2,
-0x48000000,
-0x0005004c,
-0x00000000,
-0x00060074,
-0x280b0010,
-0x80ae0000,
-0xc82e0000,
-0x80ce0008,
-0x806e000c,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0x7c06b040,
-0x40820000,
-0x00050849,
-0x00000000,
-0x00060074,
-0x280b0010,
-0x80ae0000,
-0xc82e0000,
-0x80ce0008,
-0xc84e0008,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0x7c06b040,
-0x40800000,
-0x00050849,
-0xfc40101e,
-0xd8410010,
-0x80610014,
-0x00000000,
-0x48000001,
-0x00030022,
-0x48000000,
-0x0005004c,
-0x00060075,
-0x280b0008,
-0x80ae0000,
-0xc82e0000,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0x38710000,
-0x00098200,
-0x820efff8,
-0x48000001,
-0x00030023,
-0x81110000,
-0x00098200,
-0x3a8efff8,
-0x00000000,
-0x6d088000,
-0x9101000c,
-0xc8410008,
-0xfc42f828,
-0x00000000,
-0xd8340000,
-0x39800000,
-0x00098200,
-0x00000000,
-0x92d40008,
-0x9114000c,
-0x00000000,
-0xd8540008,
-0x00000000,
-0x48000000,
-0x0005004a,
-0x00060076,
-0x280b0008,
-0x80ae0000,
-0xc82e0000,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0x386efff8,
-0x820efff8,
-0x48000001,
-0x00030024,
-0x3a8efff8,
-0xd82e0000,
-0x39800000,
-0x00098200,
-0x48000000,
-0x0005004a,
-0x00000000,
-0x00060077,
-0x280b0008,
-0x80ae0000,
-0x806e0004,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x390e0008,
-0x7d2e5a14,
-0x40820000,
-0x00050804,
-0x0006000b,
-0x80c80000,
-0x7c884840,
-0x80880004,
-0x40840000,
-0x0005085e,
-0x7c06b040,
-0x6c608000,
-0x6c868000,
-0x40820000,
-0x00050803,
-0x7cc60010,
-0x7c000110,
-0x7cc60038,
-0x7c662214,
-0x39080008,
-0x48000000,
-0x0005000b,
-0x0006000d,
-0x40800000,
-0x00050849,
-0x6c638000,
-0x9061000c,
-0xc8210008,
-0xfc21f828,
-0xc8480000,
-0x48000000,
-0x00050006,
-0x0006000e,
-0xc82e0000,
-0x40800000,
-0x00050849,
-0x0006000f,
-0x80c80000,
-0x7c884840,
-0xc8480000,
-0x40840000,
-0x0005084c,
-0x7c06b040,
-0x40800000,
-0x00050807,
-0x00060010,
-0xfc011028,
-0x39080008,
-0xfc2008ae,
-0x48000000,
-0x0005000f,
-0x00060011,
-0x80880004,
-0x40820000,
-0x00050849,
-0x6c848000,
-0x9081000c,
-0xc8410008,
-0xfc42f828,
-0x48000000,
-0x00050010,
-0x00000000,
-0x00060077,
-0x280b0008,
-0x80ae0000,
-0xc82e0000,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0x39000008,
-0x0006000b,
-0x7c8e402e,
-0x7c4e44ae,
-0x7c885840,
-0x7c04b040,
-0x40840000,
-0x0005084c,
-0x40800000,
-0x00050849,
-0xfc011028,
-0x39080008,
-0xfc2008ae,
-0x48000000,
-0x0005000b,
-0x00000000,
-0x00060078,
-0x280b0008,
-0x80ae0000,
-0x806e0004,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x390e0008,
-0x7d2e5a14,
-0x40820000,
-0x00050804,
-0x0006000b,
-0x80c80000,
-0x7c884840,
-0x80880004,
-0x40840000,
-0x0005085e,
-0x7c06b040,
-0x6c608000,
-0x6c868000,
-0x40820000,
-0x00050803,
-0x7cc60010,
-0x7c000110,
-0x7cc60078,
-0x7c662214,
-0x39080008,
-0x48000000,
-0x0005000b,
-0x0006000d,
-0x40800000,
-0x00050849,
-0x6c638000,
-0x9061000c,
-0xc8210008,
-0xfc21f828,
-0xc8480000,
-0x48000000,
-0x00050006,
-0x0006000e,
-0xc82e0000,
-0x40800000,
-0x00050849,
-0x0006000f,
-0x80c80000,
-0x7c884840,
-0xc8480000,
-0x40840000,
-0x0005084c,
-0x7c06b040,
-0x40800000,
-0x00050807,
-0x00060010,
-0xfc011028,
-0x39080008,
-0xfc20106e,
-0x48000000,
-0x0005000f,
-0x00060011,
-0x80880004,
-0x40820000,
-0x00050849,
-0x6c848000,
-0x9081000c,
-0xc8410008,
-0xfc42f828,
-0x48000000,
-0x00050010,
-0x00000000,
-0x00060078,
-0x280b0008,
-0x80ae0000,
-0xc82e0000,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0x39000008,
-0x0006000b,
-0x7c8e402e,
-0x7c4e44ae,
-0x7c885840,
-0x7c04b040,
-0x40840000,
-0x0005084c,
-0x40800000,
-0x00050849,
-0xfc011028,
-0x39080008,
-0xfc20106e,
-0x48000000,
-0x0005000b,
-0x00000000,
-0x00060079,
-0x280b0008,
-0x80ae0000,
-0x806e0004,
-0x41800000,
-0x00050849,
-0x2c050000,
-0x00098200,
-0x40820000,
-0x00050849,
-0x80630000,
-0x00098200,
-0x48000000,
-0x0005005e,
-0x0006007a,
-0x280b0008,
-0x80ae0000,
-0x806e0004,
-0x40820000,
-0x00050849,
-0x2c050000,
-0x00098200,
-0x40820000,
-0x00050849,
-0x80030000,
-0x00098200,
-0x00000000,
-0x88630000,
-0x00098200,
-0x39800000,
-0x00098200,
-0x820efff8,
-0x28000000,
-0x3a8efff8,
-0x41a20000,
-0x0005084a,
-0x48000000,
-0x0005005e,
-0x00000000,
-0x89030000,
-0x00098200,
-0x30c0ffff,
-0x7d860110,
-0x9101000c,
-0x398c0001,
-0xc8010008,
-0x3a8efff8,
-0x820efff8,
-0xfc00f028,
-0x558c1800,
-0x000900a1,
-0xd8140000,
-0x48000000,
-0x0005004a,
-0x00000000,
-0x0006007b,
-0x80110000,
-0x00098200,
-0x81110000,
-0x00098200,
-0x7c004040,
-0x40800001,
-0x00050853,
-0x280b0008,
-0x80ae0000,
-0x00000000,
-0x800e0004,
-0x40820000,
-0x00050849,
-0x7c05b040,
-0x40820000,
-0x00050849,
-0x388e0007,
-0x00000000,
-0xc82e0000,
-0x40820000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0xfc20081e,
-0xd8210010,
-0x80010014,
-0x38810017,
-0x00000000,
-0x38a00001,
-0x280000ff,
-0x41810000,
-0x00050849,
-0x0006007c,
-0x7e439378,
-0x91d20000,
-0x00098200,
-0x92010020,
-0x48000001,
-0x00030025,
-0x81d20000,
-0x00098200,
-0x38a00000,
-0x00098200,
-0x48000000,
-0x0005004e,
-0x0006007d,
-0x80110000,
-0x00098200,
-0x81110000,
-0x00098200,
-0x7c004040,
-0x40800001,
-0x00050853,
-0x280b0010,
-0x80ae0010,
-0x00000000,
-0xc80e0010,
-0x00000000,
-0x800e0000,
-0x806e0004,
-0x41800000,
-0x00050849,
-0x808e0008,
-0x00000000,
-0x810e000c,
-0x00000000,
-0xc82e0008,
-0x00000000,
-0x3920ffff,
-0x41820000,
-0x00050801,
-0x00000000,
-0x7c05b040,
-0x812e0014,
-0x40820000,
-0x00050849,
-0x0006000b,
-0x7c04b040,
-0x40820000,
-0x00050849,
-0x00000000,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0xfc00001e,
-0xd8010010,
-0x81210014,
-0x0006000b,
-0x7c04b040,
-0x40800000,
-0x00050849,
-0x00000000,
-0x2c000000,
-0x00098200,
-0x40820000,
-0x00050849,
-0x00000000,
-0xfc20081e,
-0xd8210010,
-0x81010014,
-0x00000000,
-0x80030000,
-0x00098200,
-0x7c004840,
-0x38c90001,
-0x41800000,
-0x00050805,
-0x0006000c,
-0x2c080000,
-0x7cc80214,
-0x40810000,
-0x00050807,
-0x0006000d,
-0x7ca84850,
-0x38830000,
-0x00098200,
-0x7ca0fe70,
-0x38a50001,
-0x7c844214,
-0x7ca50078,
-0x48000000,
-0x0005007c,
-0x0006000f,
-0x7c890050,
-0x7c84fe70,
-0x7cc62078,
-0x7d203214,
-0x48000000,
-0x0005000c,
-0x00060011,
-0x30a8ffff,
-0x7ca52910,
-0x7cc4fe70,
-0x7cc62878,
-0x7cc82078,
-0x39080001,
-0x48000000,
-0x0005000d,
-0x0006007e,
-0x80110000,
-0x00098200,
-0x81110000,
-0x00098200,
-0x7c004040,
-0x40800001,
-0x00050853,
-0x280b0010,
-0x800e0000,
-0x806e0004,
-0x80ce0008,
-0x00000000,
-0x80ae000c,
-0x00000000,
-0xc84e0008,
-0x00000000,
-0x41800000,
-0x00050849,
-0x2c000000,
-0x00098200,
-0x40820000,
-0x00050849,
-0x00000000,
-0x7c06b040,
-0x40820000,
-0x00050849,
-0x00000000,
-0x7c06b040,
-0x40800000,
-0x00050849,
-0xfc40101e,
-0xd8410010,
-0x80a10014,
-0x00000000,
-0x80030000,
-0x00098200,
-0x2c050000,
-0x81110000,
-0x00098200,
-0x40810000,
-0x00050802,
-0x28000001,
-0x3925ffff,
-0x41800000,
-0x00050802,
-0x7c882840,
-0x40820000,
-0x00050849,
-0x88030000,
-0x00098200,
-0x80910000,
-0x00098200,
-0x41840000,
-0x00050849,
-0x0006000b,
-0x28090000,
-0x7c0449ae,
-0x3929ffff,
-0x40820000,
-0x0005080b,
-0x48000000,
-0x0005007c,
-0x0006000c,
-0x38710000,
-0x00098200,
-0x38a00000,
-0x00098200,
-0x48000000,
-0x0005004e,
-0x0006007f,
-0x80110000,
-0x00098200,
-0x81110000,
-0x00098200,
-0x7c004040,
-0x40800001,
-0x00050853,
-0x280b0008,
-0x80ae0000,
-0x806e0004,
-0x41800000,
-0x00050849,
-0x2c050000,
-0x00098200,
-0x81110000,
-0x00098200,
-0x00000000,
-0x40820000,
-0x00050849,
-0x80a30000,
-0x00098200,
-0x38630000,
-0x00098200,
-0x80910000,
-0x00098200,
-0x39200000,
-0x7c082840,
-0x38c5ffff,
-0x41800000,
-0x00050849,
-0x0006000b,
-0x2c060000,
-0x7d0348ae,
-0x41a00000,
-0x0005087c,
-0x7d0431ae,
-0x38c6ffff,
-0x39290001,
-0x48000000,
-0x0005000b,
-0x00060080,
-0x80110000,
-0x00098200,
-0x81110000,
-0x00098200,
-0x7c004040,
-0x40800001,
-0x00050853,
-0x280b0008,
-0x80ae0000,
-0x806e0004,
-0x41800000,
-0x00050849,
-0x2c050000,
-0x00098200,
-0x81110000,
-0x00098200,
-0x40820000,
-0x00050849,
-0x80a30000,
-0x00098200,
-0x38630000,
-0x00098200,
-0x80910000,
-0x00098200,
-0x7c082840,
-0x39200000,
-0x41800000,
-0x00050849,
-0x0006000b,
-0x7c092840,
-0x7d0348ae,
-0x40a00000,
-0x0005087c,
-0x00000000,
-0x3808ffbf,
-0x69060020,
-0x3000ffe6,
-0x7cc63110,
-0x70c60020,
-0x7d083278,
-0x7d0449ae,
-0x39290001,
-0x48000000,
-0x0005000b,
-0x00060081,
-0x80110000,
-0x00098200,
-0x81110000,
-0x00098200,
-0x7c004040,
-0x40800001,
-0x00050853,
-0x280b0008,
-0x80ae0000,
-0x806e0004,
-0x41800000,
-0x00050849,
-0x2c050000,
-0x00098200,
-0x81110000,
-0x00098200,
-0x40820000,
-0x00050849,
-0x80a30000,
-0x00098200,
-0x38630000,
-0x00098200,
-0x80910000,
-0x00098200,
-0x7c082840,
-0x39200000,
-0x41800000,
-0x00050849,
-0x0006000b,
-0x7c092840,
-0x7d0348ae,
-0x40a00000,
-0x0005087c,
-0x3808ff9f,
-0x69060020,
-0x3000ffe6,
-0x7cc63110,
-0x70c60020,
-0x7d083278,
-0x7d0449ae,
-0x39290001,
-0x48000000,
-0x0005000b,
-0x00060082,
-0x280b0008,
-0x80ae0000,
-0x806e0004,
-0x41800000,
-0x00050849,
-0x2c050000,
-0x00098200,
-0x40820000,
-0x00050849,
-0x48000001,
-0x00030026,
-0x48000000,
-0x0005005e,
-0x00000000,
-0x00060083,
-0x280b0008,
-0x80ae0000,
-0x806e0004,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40820001,
-0x00050884,
-0x00000000,
-0x00060083,
-0x280b0008,
-0x80ae0000,
-0xc82e0000,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0xfc21f02a,
-0xd8210010,
-0x80610014,
-0x00000000,
-0x390e0008,
-0x7d2e5a14,
-0x0006000b,
-0x80c80000,
-0x7c884840,
-0x00000000,
-0x80880004,
-0x00000000,
-0xc8280000,
-0x00000000,
-0x40a40000,
-0x0005085e,
-0x7c06b040,
-0x00000000,
-0x40820001,
-0x00050885,
-0x00000000,
-0xfc21f02a,
-0x40800000,
-0x00050849,
-0xd8210010,
-0x80810014,
-0x00000000,
-0x7c632038,
-0x39080008,
-0x48000000,
-0x0005000b,
-0x00000000,
-0x00060086,
-0x280b0008,
-0x80ae0000,
-0x806e0004,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40820001,
-0x00050884,
-0x00000000,
-0x00060086,
-0x280b0008,
-0x80ae0000,
-0xc82e0000,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0xfc21f02a,
-0xd8210010,
-0x80610014,
-0x00000000,
-0x390e0008,
-0x7d2e5a14,
-0x0006000b,
-0x80c80000,
-0x7c884840,
-0x00000000,
-0x80880004,
-0x00000000,
-0xc8280000,
-0x00000000,
-0x40a40000,
-0x0005085e,
-0x7c06b040,
-0x00000000,
-0x40820001,
-0x00050885,
-0x00000000,
-0xfc21f02a,
-0x40800000,
-0x00050849,
-0xd8210010,
-0x80810014,
-0x00000000,
-0x7c632378,
-0x39080008,
-0x48000000,
-0x0005000b,
-0x00000000,
-0x00060087,
-0x280b0008,
-0x80ae0000,
-0x806e0004,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40820001,
-0x00050884,
-0x00000000,
-0x00060087,
-0x280b0008,
-0x80ae0000,
-0xc82e0000,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0xfc21f02a,
-0xd8210010,
-0x80610014,
-0x00000000,
-0x390e0008,
-0x7d2e5a14,
-0x0006000b,
-0x80c80000,
-0x7c884840,
-0x00000000,
-0x80880004,
-0x00000000,
-0xc8280000,
-0x00000000,
-0x40a40000,
-0x0005085e,
-0x7c06b040,
-0x00000000,
-0x40820001,
-0x00050885,
-0x00000000,
-0xfc21f02a,
-0x40800000,
-0x00050849,
-0xd8210010,
-0x80810014,
-0x00000000,
-0x7c632278,
-0x39080008,
-0x48000000,
-0x0005000b,
-0x00000000,
-0x00060088,
-0x280b0008,
-0x80ae0000,
-0x806e0004,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40820001,
-0x00050884,
-0x00000000,
-0x00060088,
-0x280b0008,
-0x80ae0000,
-0xc82e0000,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0xfc21f02a,
-0xd8210010,
-0x80610014,
-0x00000000,
-0x5460403e,
-0x5060c00e,
-0x5060c42e,
-0x7c030378,
-0x48000000,
-0x0005005e,
-0x00000000,
-0x00060089,
-0x280b0008,
-0x80ae0000,
-0x806e0004,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40820001,
-0x00050884,
-0x00000000,
-0x00060089,
-0x280b0008,
-0x80ae0000,
-0xc82e0000,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0xfc21f02a,
-0xd8210010,
-0x80610014,
-0x00000000,
-0x7c6318f8,
-0x48000000,
-0x0005005e,
-0x00000000,
-0x0006008a,
-0x280b0010,
-0x80ae0000,
-0x80ce0008,
-0x806e0004,
-0x808e000c,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40820001,
-0x00050884,
-0x7c06b040,
-0x40820000,
-0x00050849,
-0x00000000,
-0x0006008a,
-0x280b0010,
-0x80ae0000,
-0xc82e0000,
-0x80ce0008,
-0xc84e0008,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0x7c06b040,
-0x40800000,
-0x00050849,
-0xfc21f02a,
-0xfc42f02a,
-0xd8210010,
-0x80610014,
-0xd8410010,
-0x80810014,
-0x00000000,
-0x548406fe,
-0x7c632030,
-0x48000000,
-0x0005005e,
-0x00000000,
-0x0006008b,
-0x280b0010,
-0x80ae0000,
-0x80ce0008,
-0x806e0004,
-0x808e000c,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40820001,
-0x00050884,
-0x7c06b040,
-0x40820000,
-0x00050849,
-0x00000000,
-0x0006008b,
-0x280b0010,
-0x80ae0000,
-0xc82e0000,
-0x80ce0008,
-0xc84e0008,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0x7c06b040,
-0x40800000,
-0x00050849,
-0xfc21f02a,
-0xfc42f02a,
-0xd8210010,
-0x80610014,
-0xd8410010,
-0x80810014,
-0x00000000,
-0x548406fe,
-0x7c632430,
-0x48000000,
-0x0005005e,
-0x00000000,
-0x0006008c,
-0x280b0010,
-0x80ae0000,
-0x80ce0008,
-0x806e0004,
-0x808e000c,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40820001,
-0x00050884,
-0x7c06b040,
-0x40820000,
-0x00050849,
-0x00000000,
-0x0006008c,
-0x280b0010,
-0x80ae0000,
-0xc82e0000,
-0x80ce0008,
-0xc84e0008,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0x7c06b040,
-0x40800000,
-0x00050849,
-0xfc21f02a,
-0xfc42f02a,
-0xd8210010,
-0x80610014,
-0xd8410010,
-0x80810014,
-0x00000000,
-0x548406fe,
-0x7c632630,
-0x48000000,
-0x0005005e,
-0x00000000,
-0x0006008d,
-0x280b0010,
-0x80ae0000,
-0x80ce0008,
-0x806e0004,
-0x808e000c,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40820001,
-0x00050884,
-0x7c06b040,
-0x40820000,
-0x00050849,
-0x00000000,
-0x0006008d,
-0x280b0010,
-0x80ae0000,
-0xc82e0000,
-0x80ce0008,
-0xc84e0008,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0x7c06b040,
-0x40800000,
-0x00050849,
-0xfc21f02a,
-0xfc42f02a,
-0xd8210010,
-0x80610014,
-0xd8410010,
-0x80810014,
-0x00000000,
-0x5c63203e,
-0x48000000,
-0x0005005e,
-0x00000000,
-0x0006008e,
-0x280b0010,
-0x80ae0000,
-0x80ce0008,
-0x806e0004,
-0x808e000c,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40820001,
-0x00050884,
-0x7c06b040,
-0x40820000,
-0x00050849,
-0x00000000,
-0x0006008e,
-0x280b0010,
-0x80ae0000,
-0xc82e0000,
-0x80ce0008,
-0xc84e0008,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0x7c06b040,
-0x40800000,
-0x00050849,
-0xfc21f02a,
-0xfc42f02a,
-0xd8210010,
-0x80610014,
-0xd8410010,
-0x80810014,
-0x00000000,
-0x7c8400d0,
-0x5c63203e,
-0x48000000,
-0x0005005e,
-0x00000000,
-0x0006008f,
-0x280b0008,
-0x80ae0000,
-0x806e0004,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40820001,
-0x00050884,
-0x00000000,
-0x0006008f,
-0x280b0008,
-0x80ae0000,
-0xc82e0000,
-0x41800000,
-0x00050849,
-0x7c05b040,
-0x40800000,
-0x00050849,
-0xfc21f02a,
-0xd8210010,
-0x80610014,
-0x00000000,
-0x48000000,
-0x0005005e,
-0x00000000,
-0x0006005e,
-0x6c638000,
-0x9061000c,
-0xc8210008,
-0xfc21f828,
-0x00000000,
-0x0006004c,
-0x820efff8,
-0x3a8efff8,
-0xd82efff8,
-0x48000000,
-0x0005005f,
-0x00060084,
-0x00000000,
-0xc82e0000,
-0x41810000,
-0x00050849,
-0xfc21f02a,
-0xd8210010,
-0x80610014,
-0x4e800020,
-0x00000000,
-0x00060085,
-0x00000000,
-0xc8280000,
-0x41810000,
-0x00050849,
-0xfc21f02a,
-0xd8210010,
-0x80810014,
-0x4e800020,
-0x00000000,
-0x00060049,
-0x80ca0000,
-0x00098200,
-0x7d0e5a14,
-0x820efff8,
-0x38080000,
-0x00098200,
-0x81320000,
-0x00098200,
-0x92010020,
-0x7c004840,
-0x91d20000,
-0x00098200,
-0x91120000,
-0x00098200,
-0x7e439378,
-0x41810000,
-0x00050805,
-0x7cc903a6,
-0x4e800421,
-0x81d20000,
-0x00098200,
-0x2c030000,
-0x546c1800,
-0x000900a1,
-0x3a8efff8,
-0x41810000,
-0x0005084a,
-0x0006000b,
-0x80120000,
-0x00098200,
-0x814efffc,
-0x7d6e0050,
-0x40820000,
-0x00050829,
-0x820a0000,
-0x00098200,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54f4dd78,
-0x7c11402e,
-0x7e947214,
-0x7c0903a6,
-0x4e800420,
-0x00060029,
-0x72000000,
-0x00090200,
-0x56080038,
-0x40820000,
-0x00050803,
-0x80f0fffc,
-0x54e8dd78,
-0x39080008,
-0x0006000d,
-0x7d287050,
-0x48000000,
-0x00050024,
-0x0006000f,
-0x38800000,
-0x00098200,
-0x48000001,
-0x00030000,
-0x00000000,
-0x81d20000,
-0x00098200,
-0x7c000000,
-0x48000000,
-0x0005000b,
-0x00060053,
-0x7ea802a6,
-0x91d20000,
-0x00098200,
-0x7c0e5a14,
-0x92010020,
-0x90120000,
-0x00098200,
-0x7e439378,
-0x48000001,
-0x00030027,
-0x81d20000,
-0x00098200,
-0x7ea803a6,
-0x80120000,
-0x00098200,
-0x7d6e0050,
-0x814efffc,
-0x4e800020,
-0x00060090,
-0x00000000,
-0x88d10000,
-0x00098200,
-0x70c00000,
-0x00090200,
-0x40820000,
-0x00050805,
-0x81310000,
-0x00098200,
-0x70c00000,
-0x00090200,
-0x40820000,
-0x00050801,
-0x3929ffff,
-0x70c00000,
-0x00090200,
-0x41a20000,
-0x00050801,
-0x91310000,
-0x00098200,
-0x48000000,
-0x00050001,
-0x00000000,
-0x00060091,
-0x88d10000,
-0x00098200,
-0x70c00000,
-0x00090200,
-0x41820000,
-0x00050801,
-0x0006000f,
-0x39080000,
-0x00098200,
-0x7c11402e,
-0x7c0903a6,
-0x4e800420,
-0x00060092,
-0x88d10000,
-0x00098200,
-0x81310000,
-0x00098200,
-0x70c00000,
-0x00090200,
-0x54c007c0,
-0x000900ab,
-0x40820000,
-0x0005080f,
-0x2c800000,
-0x3529ffff,
-0x41860000,
-0x0005080f,
-0x91310000,
-0x00098200,
-0x41820000,
-0x00050801,
-0x40840000,
-0x0005080f,
-0x0006000b,
-0x7e439378,
-0x9261001c,
-0x7e048378,
-0x91d20000,
-0x00098200,
-0x48000001,
-0x00030028,
-0x0006000d,
-0x81d20000,
-0x00098200,
-0x0006000e,
-0x00000000,
-0x80f0fffc,
-0x54e815ba,
-0x54ea5d78,
-0x39080000,
-0x00098200,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00060093,
-0x3a100004,
-0x826affec,
-0x48000000,
-0x0005000e,
-0x00060094,
-0x00000000,
-0x810efffc,
-0x38710000,
-0x00098200,
-0x92010020,
-0x81080000,
-0x00098200,
-0x7e048378,
-0x92510000,
-0x00098200,
-0x89080000,
-0x00098200,
-0x91d20000,
-0x00098200,
-0x55081800,
-0x000900a1,
-0x7d0e4214,
-0x91120000,
-0x00098200,
-0x48000001,
-0x00030029,
-0x48000000,
-0x0005000d,
-0x00000000,
-0x00060095,
-0x7e048378,
-0x00000000,
-0x48000000,
-0x00050001,
-0x00000000,
-0x00060096,
-0x00000000,
-0x62040001,
-0x0006000b,
-0x00000000,
-0x7c0e5a14,
-0x92010020,
-0x7e439378,
-0x91d20000,
-0x00098200,
-0x7e8ea050,
-0x90120000,
-0x00098200,
-0x48000001,
-0x0003002a,
-0x81d20000,
-0x00098200,
-0x80120000,
-0x00098200,
-0x93010020,
-0x7d6e0050,
-0x7e8ea214,
-0x814efffc,
-0x80f0fffc,
-0x7c6903a6,
-0x4e800420,
-0x00060097,
-0x00000000,
-0x38210000,
-0x00098200,
-0xbc410000,
-0x00098200,
-0x3a3f0000,
-0x00098200,
-0x38800000,
-0x00098200,
-0x80610000,
-0x00098200,
-0x90910000,
-0x00098200,
-0xd8010000,
-0x00098200,
-0xd8210000,
-0x00098200,
-0xd8410000,
-0x00098200,
-0xd8610000,
-0x00098200,
-0x90610000,
-0x7c000400,
-0xd8810000,
-0x00098200,
-0xd8a10000,
-0x00098200,
-0xd8c10000,
-0x00098200,
-0xd8e10000,
-0x00098200,
-0x38810000,
-0x00098200,
-0xd9010000,
-0x00098200,
-0xd9210000,
-0x00098200,
-0xd9410000,
-0x00098200,
-0xd9610000,
-0x00098200,
-0x90810000,
-0x00098200,
-0xd9810000,
-0x00098200,
-0xd9a10000,
-0x00098200,
-0x00000000,
-0xd9c10000,
-0x00098200,
-0xd9e10000,
-0x00098200,
-0x7ca802a6,
-0x39000000,
-0xda010000,
-0x00098200,
-0xda210000,
-0x00098200,
-0xda410000,
-0x00098200,
-0xda610000,
-0x00098200,
-0x91010000,
-0x00098200,
-0xda810000,
-0x00098200,
-0xdaa10000,
-0x00098200,
-0xdac10000,
-0x00098200,
-0xdae10000,
-0x00098200,
-0xa0c50002,
-0xdb010000,
-0x00098200,
-0xdb210000,
-0x00098200,
-0xdb410000,
-0x00098200,
-0xdb610000,
-0x00098200,
-0x82510000,
-0x00098200,
-0xdb810000,
-0x00098200,
-0xdba10000,
-0x00098200,
-0xdbc10000,
-0x00098200,
-0xdbe10000,
-0x00098200,
-0x7ca50050,
-0x81d10000,
-0x00098200,
-0x54a500be,
-0x000900ab,
-0x00000000,
-0x92510000,
-0x00098200,
-0x38a5fffe,
-0x91110000,
-0x00098200,
-0x90d10000,
-0x00098200,
-0x91d20000,
-0x00098200,
-0x38710000,
-0x00098200,
-0x90b10000,
-0x00098200,
-0x38810010,
-0x48000001,
-0x0003002b,
-0x81120000,
-0x00098200,
-0x81210000,
-0x81d20000,
-0x00098200,
-0x5501003a,
-0x82010020,
-0x91210000,
-0x92410024,
-0x48000000,
-0x00050001,
-0x00000000,
-0x00060098,
-0x00000000,
-0x82410024,
-0x3a3f0000,
-0x00098200,
-0x0006000b,
-0x2c030000,
-0x41800000,
-0x00050803,
-0x810efffc,
-0x54731800,
-0x000900a1,
-0x39200000,
-0x9261001c,
-0x81080000,
-0x00098200,
-0x91310000,
-0x00098200,
-0x81e80000,
-0x00098200,
-0x3ac00000,
-0x00098200,
-0x3cc059c0,
-0x90c10010,
-0x3b000000,
-0x60c60004,
-0xc3c10010,
-0x90c10010,
-0x3c004338,
-0x3ae00000,
-0x00098200,
-0x90010008,
-0xc3e10010,
-0x80f00000,
-0x3a100004,
-0x92f10000,
-0x00098200,
-0x54e815ba,
-0x54f4dd78,
-0x7c11402e,
-0x7c0903a6,
-0x28080000,
-0x00090200,
-0x40800000,
-0x00050802,
-0x54ea5d78,
-0x54ec9b78,
-0x54eb9d78,
-0x4e800420,
-0x0006000c,
-0x3973fff8,
-0x7e947214,
-0x4e800420,
-0x0006000d,
-0x7c8300d0,
-0x7e439378,
-0x48000001,
-0x0003002c,
-0x00000000,
-0x00060099,
-0x48000000,
-0x00030010,
-0x0006009a,
-0x48000000,
-0x00030011,
-0x0006009b,
-0x00000000,
-0x48000000,
-0x0003002d,
-0x00000000,
-0x0006009c,
-0x7c0327d7,
-0x41830000,
-0x00050801,
-0x7c652279,
-0x7c0021d6,
-0x7c601850,
-0x4c800020,
-0x2c030000,
-0x4d820020,
-0x7c632214,
-0x4e800020,
-0x0006000b,
-0x2c040000,
-0x38600000,
-0x4d820020,
-0x7c000400,
-0x4e800020,
-0x0006009d,
-0x28030001,
-0x41820000,
-0x00050801,
-0x41810000,
-0x00050802,
-0xfc21102a,
-0x4e800020,
-0x0006000b,
-0xfc211028,
-0x4e800020,
-0x0006000c,
-0x28030003,
-0x41820000,
-0x00050801,
-0x41810000,
-0x00050802,
-0xfc2100b2,
-0x4e800020,
-0x0006000b,
-0xfc211024,
-0x4e800020,
-0x0006000c,
-0x28030005,
-0x41820000,
-0x00050801,
-0x41810000,
-0x00050802,
-0x9421ffe0,
-0xd9c10010,
-0xd9e10018,
-0x7c0802a6,
-0xfdc00890,
-0xfc211024,
-0x90010024,
-0xfde01090,
-0x48000001,
-0x00030010,
-0x80010024,
-0xfc2103f2,
-0x7c0803a6,
-0xfc2e0828,
-0xc9c10010,
-0xc9e10018,
-0x38210020,
-0x4e800020,
-0x0006000b,
-0x48000000,
-0x0003001f,
-0x0006000c,
-0x28030007,
-0x41820000,
-0x00050801,
-0x41810000,
-0x00050802,
-0xfc200850,
-0x4e800020,
-0x0006000b,
-0xfc200a10,
-0x4e800020,
-0x0006000c,
-0x00000000,
-0x28030009,
-0x41820000,
-0x00050809,
-0x41810000,
-0x00050802,
-0x48000000,
-0x00030020,
-0x0006000c,
-0x2803000b,
-0x41810000,
-0x00050809,
-0xfc011028,
-0x41820000,
-0x00050801,
-0xfc2008ae,
-0x4e800020,
-0x0006000b,
-0xfc20106e,
-0x4e800020,
-0x00060013,
-0x7c810808,
-0x00000000,
-0x7c810808,
-0x00000000,
-0x0006009e,
-0x54630034,
-0x7c832050,
-0x3884001f,
-0x5484d97f,
-0x4d820020,
-0x7c8903a6,
-0x7c651b78,
-0x0006000b,
-0x7c00186c,
-0x38630020,
-0x42000000,
-0x0005080b,
-0x7c0004ac,
-0x7c8903a6,
-0x0006000b,
-0x7c002fac,
-0x38a50020,
-0x42000000,
-0x0005080b,
-0x4c00012c,
-0x4e800020,
-0x0006009f,
-0x00000000,
-0x9421fef0,
-0x91c10000,
-0x00098200,
-0xd9c10000,
-0x00098200,
-0x91e10000,
-0x00098200,
-0xd9e10000,
-0x00098200,
-0x92010000,
-0x00098200,
-0xda010000,
-0x00098200,
-0x7c0802a6,
-0x92210000,
-0x00098200,
-0xda210000,
-0x00098200,
-0x92410000,
-0x00098200,
-0xda410000,
-0x00098200,
-0x92610000,
-0x00098200,
-0xda610000,
-0x00098200,
-0x92810000,
-0x00098200,
-0xda810000,
-0x00098200,
-0x92a10000,
-0x00098200,
-0xdaa10000,
-0x00098200,
-0x92c10000,
-0x00098200,
-0xdac10000,
-0x00098200,
-0x90010114,
-0x92e10000,
-0x00098200,
-0xdae10000,
-0x00098200,
-0x93010000,
-0x00098200,
-0xdb010000,
-0x00098200,
-0x00000000,
-0x93210000,
-0x00098200,
-0xdb210000,
-0x00098200,
-0x7c000026,
-0x93410000,
-0x00098200,
-0xdb410000,
-0x00098200,
-0x93610000,
-0x00098200,
-0xdb610000,
-0x00098200,
-0x93810000,
-0x00098200,
-0xdb810000,
-0x00098200,
-0x93a10000,
-0x00098200,
-0xdba10000,
-0x00098200,
-0x93c10000,
-0x00098200,
-0xdbc10000,
-0x00098200,
-0x93e10000,
-0x00098200,
-0xdbe10000,
-0x00098200,
-0x90010034,
-0x820c0000,
-0x00098200,
-0x3a2c0000,
-0x00098200,
-0x91700000,
-0x00098200,
-0x90700000,
-0x00098200,
-0xd8300000,
-0x00098200,
-0x90900000,
-0x00098200,
-0xd8500000,
-0x00098200,
-0x90b00000,
-0x00098200,
-0x00000000,
-0xd8700000,
-0x00098200,
-0x90d00000,
-0x00098200,
-0xd8900000,
-0x00098200,
-0x90f00000,
-0x00098200,
-0xd8b00000,
-0x00098200,
-0x91100000,
-0x00098200,
-0xd8d00000,
-0x00098200,
-0x91300000,
-0x00098200,
-0xd8f00000,
-0x00098200,
-0x91500000,
-0x00098200,
-0xd9100000,
-0x00098200,
-0x38010000,
-0x00098200,
-0x90100000,
-0x00098200,
-0x7e038378,
-0x92010020,
-0x7c240b78,
-0x48000001,
-0x0003002e,
-0x81c30000,
-0x00098200,
-0x3ac00000,
-0x00098200,
-0x81630000,
-0x00098200,
-0x3cc059c0,
-0x3b000000,
-0x7c721b78,
-0x90c10010,
-0x814efffc,
-0x60c60004,
-0x3ae00000,
-0x00098200,
-0x38000000,
-0x00098200,
-0xc3c10010,
-0x90c10010,
-0x7d6e5850,
-0x90110000,
-0x00098200,
-0xc3e10010,
-0x820a0000,
-0x00098200,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54f4dd78,
-0x7c11402e,
-0x7e947214,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x00060028,
-0x00000000,
-0x82110000,
-0x00098200,
-0x91d20000,
-0x00098200,
-0x91520000,
-0x00098200,
-0x92500000,
-0x00098200,
-0x7e038378,
-0x7e84a378,
-0x48000001,
-0x0003002f,
-0x80700000,
-0x00098200,
-0xc8300000,
-0x00098200,
-0x80900000,
-0x00098200,
-0x48000000,
-0x0005001a,
-0x00000000,
-0x000600a0,
-0x00000000,
-0x81030000,
-0x00098200,
-0x7c0802a6,
-0x88830000,
-0x00098200,
-0x88a30000,
-0x00098200,
-0x7d0800d0,
-0x90010004,
-0x2c850000,
-0x7c290b78,
-0x3484ffff,
-0x7c21416e,
-0x4cc63042,
-0x91c9fffc,
-0x9069fff8,
-0x7d2e4b78,
-0x39030000,
-0x00098200,
-0x54841000,
-0x000900a1,
-0x41a00000,
-0x00050802,
-0x39210008,
-0x0006000b,
-0x7c08202e,
-0x7c09212e,
-0x3484fffc,
-0x40800000,
-0x0005080b,
-0x0006000c,
-0x40a60000,
-0x00050803,
-0xc8230000,
-0x00098200,
-0xc8430000,
-0x00098200,
-0xc8630000,
-0x00098200,
-0xc8830000,
-0x00098200,
-0xc8a30000,
-0x00098200,
-0xc8c30000,
-0x00098200,
-0xc8e30000,
-0x00098200,
-0xc9030000,
-0x00098200,
-0x0006000d,
-0x80030000,
-0x00098200,
-0x80830000,
-0x00098200,
-0x80a30000,
-0x00098200,
-0x00000000,
-0x80c30000,
-0x00098200,
-0x80e30000,
-0x00098200,
-0x7c0903a6,
-0x81030000,
-0x00098200,
-0x81230000,
-0x00098200,
-0x81430000,
-0x00098200,
-0x80630000,
-0x00098200,
-0x4e800421,
-0x810efff8,
-0x812efffc,
-0x800e0004,
-0x90680000,
-0x00098200,
-0xd8280000,
-0x00098200,
-0x90880000,
-0x00098200,
-0x7c0803a6,
-0x90a80000,
-0x00098200,
-0x7dc17378,
-0x90c80000,
-0x00098200,
-0x7d2e4b78,
-0x4e800020,
-0x00000000,
-0x00080000,
-0x00000000,
-0x7c14706e,
-0x3a100004,
-0x80940004,
-0x7d0c706e,
-0x8130fffc,
-0x7c00b040,
-0x80ac0004,
-0x552993ba,
-0x7c88b040,
-0x3d290000,
-0x00098200,
-0x40820000,
-0x00050807,
-0x40860000,
-0x00050808,
-0x7c042800,
-0x00000000,
-0x40800000,
-0x00050802,
-0x00000000,
-0x41800000,
-0x00050802,
-0x00000000,
-0x41810000,
-0x00050802,
-0x00000000,
-0x40810000,
-0x00050802,
-0x00000000,
-0x0006000b,
-0x7e104a14,
-0x0006000c,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00060011,
-0x41810000,
-0x00050835,
-0xc8140000,
-0x41850000,
-0x00050835,
-0x41840000,
-0x00050804,
-0x6ca58000,
-0x90a1000c,
-0xc8210008,
-0xfc21f828,
-0x48000000,
-0x00050005,
-0x00060012,
-0x41850000,
-0x00050835,
-0x6c848000,
-0x9081000c,
-0xc8010008,
-0xfc00f828,
-0x0006000e,
-0xc82c0000,
-0x0006000f,
-0xfc000800,
-0x00000000,
-0x40800000,
-0x0005080c,
-0x00000000,
-0x41800000,
-0x0005080c,
-0x00000000,
-0x4c001382,
-0x40800000,
-0x0005080c,
-0x00000000,
-0x4c001382,
-0x41800000,
-0x0005080c,
-0x00000000,
-0x48000000,
-0x0005000b,
-0x00000000,
-0x7c0ea02e,
-0x3a100004,
-0x7c0ea4ae,
-0x7d0e602e,
-0x7c00b040,
-0x8130fffc,
-0x7c2e64ae,
-0x7c88b040,
-0x552993ba,
-0x40800000,
-0x00050835,
-0x3d290000,
-0x00098200,
-0x40840000,
-0x00050835,
-0xfc000800,
-0x00000000,
-0x40800000,
-0x00050801,
-0x00000000,
-0x41800000,
-0x00050801,
-0x00000000,
-0x4c001382,
-0x40800000,
-0x00050801,
-0x00000000,
-0x4c001382,
-0x41800000,
-0x00050801,
-0x00000000,
-0x7e104a14,
-0x0006000b,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x7c14706e,
-0x3a100004,
-0x80940004,
-0x7d0c706e,
-0x7c00b040,
-0x8130fffc,
-0x7c88b040,
-0x552993ba,
-0x80ac0004,
-0x4fa12b82,
-0x3d290000,
-0x00098200,
-0x00000000,
-0x409d0000,
-0x000508a1,
-0x00000000,
-0x409d0000,
-0x000508a2,
-0x00000000,
-0x7c14706e,
-0x81300000,
-0xc8140000,
-0x3a100004,
-0x7d0c706e,
-0x7c00b040,
-0x552993ba,
-0xc82c0000,
-0x7c88b040,
-0x3d290000,
-0x00098200,
-0x40800000,
-0x00050805,
-0x40840000,
-0x00050805,
-0xfc000800,
-0x00000000,
-0x40820000,
-0x00050801,
-0x7e104a14,
-0x00000000,
-0x41820000,
-0x00050801,
-0x7e104a14,
-0x00000000,
-0x0006000b,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x0006000f,
-0x00000000,
-0x80940004,
-0x80ac0004,
-0x00000000,
-0x2f800000,
-0x00098200,
-0x2e880000,
-0x00098200,
-0x00000000,
-0x7c0600f8,
-0x7c004040,
-0x28860000,
-0x00090200,
-0x00000000,
-0x4fdeb382,
-0x00000000,
-0x2b060000,
-0x00090200,
-0x00000000,
-0x419e0000,
-0x0005083b,
-0x00000000,
-0x7e842840,
-0x4c222902,
-0x4c161342,
-0x4c42b202,
-0x7e158378,
-0x4c420b82,
-0x4c000b82,
-0x00000000,
-0x40820000,
-0x00050806,
-0x7e104a14,
-0x00060010,
-0x00000000,
-0x41820000,
-0x00050806,
-0x7e104a14,
-0x00060010,
-0x00000000,
-0x40800000,
-0x00050802,
-0x0006000b,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x0006000c,
-0x00000000,
-0x41800000,
-0x0005080b,
-0x00000000,
-0x41980000,
-0x0005080b,
-0x81240000,
-0x00098200,
-0x38c00000,
-0x00098200,
-0x28090000,
-0x41820000,
-0x0005080b,
-0x89290000,
-0x00098200,
-0x71290000,
-0x00090200,
-0x40820000,
-0x0005080b,
-0x7eb0ab78,
-0x48000000,
-0x0005003a,
-0x00000000,
-0x7c14706e,
-0x558c007e,
-0x000900ab,
-0x80d40004,
-0x81300000,
-0x218cfffc,
-0x3a100004,
-0x00000000,
-0x2c000000,
-0x00098200,
-0x00000000,
-0x7d0f602e,
-0x20000000,
-0x00098200,
-0x00000000,
-0x41820000,
-0x0005083b,
-0x00000000,
-0x7d064050,
-0x7c004378,
-0x552993ba,
-0x20000000,
-0x3d290000,
-0x00098200,
-0x7d084110,
-0x00000000,
-0x7d294078,
-0x00000000,
-0x7d294038,
-0x00000000,
-0x7e104a14,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x7c14706e,
-0x3a100004,
-0x80940004,
-0x7d0c786e,
-0x7c00b040,
-0x8130fffc,
-0x7c88b040,
-0x552993ba,
-0x80ac0004,
-0x3d290000,
-0x00098200,
-0x00000000,
-0x000600a1,
-0x00000000,
-0x000600a2,
-0x00000000,
-0x40820000,
-0x00050807,
-0x40860000,
-0x00050808,
-0x7c042800,
-0x0006000e,
-0x00000000,
-0x000600a1,
-0x00000000,
-0x000600a2,
-0x00000000,
-0x7c0ea02e,
-0x3a100004,
-0x7c0ea4ae,
-0x8130fffc,
-0x7c2f64ae,
-0x552993ba,
-0x7c00b040,
-0x3d290000,
-0x00098200,
-0x40800000,
-0x00050803,
-0xfc000800,
-0x00000000,
-0x40820000,
-0x00050801,
-0x7e104a14,
-0x0006000b,
-0x00000000,
-0x0006000d,
-0x00000000,
-0x41820000,
-0x00050802,
-0x0006000b,
-0x00000000,
-0x0006000d,
-0x00000000,
-0x7e104a14,
-0x0006000c,
-0x00000000,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x0006000d,
-0x2c000000,
-0x00098200,
-0x41820000,
-0x0005083b,
-0x48000000,
-0x0005000b,
-0x00000000,
-0x00060011,
-0x40800000,
-0x0005080d,
-0xc8140000,
-0x41840000,
-0x00050801,
-0x6ca58000,
-0x90a1000c,
-0xc8210008,
-0xfc21f828,
-0x48000000,
-0x00050002,
-0x00060012,
-0x6c848000,
-0x9081000c,
-0xc8010008,
-0xfc00f828,
-0x0006000b,
-0xc82c0000,
-0x0006000c,
-0xfc000800,
-0x48000000,
-0x0005000e,
-0x00000000,
-0x7c0ea02e,
-0x558800fe,
-0x000900ab,
-0x81300000,
-0x7d0840f8,
-0x3a100004,
-0x00000000,
-0x2c000000,
-0x00098200,
-0x00000000,
-0x7c080050,
-0x00000000,
-0x41820000,
-0x0005083b,
-0x00000000,
-0x552993ba,
-0x3000ffff,
-0x3d290000,
-0x00098200,
-0x7d084110,
-0x00000000,
-0x7d294038,
-0x00000000,
-0x7d294078,
-0x00000000,
-0x7e104a14,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x7c0e602e,
-0x80f00000,
-0x3a100004,
-0x00000000,
-0x20000000,
-0x00098200,
-0x54e993ba,
-0x7d084110,
-0x3d290000,
-0x00098200,
-0x00000000,
-0x7d294078,
-0x00000000,
-0x7d294038,
-0x00000000,
-0x7e104a14,
-0x00000000,
-0x39000000,
-0x00098200,
-0x7c0e64ae,
-0x7c004040,
-0x00000000,
-0x40800000,
-0x00050801,
-0x00000000,
-0x41800000,
-0x00050801,
-0x00000000,
-0x3e100000,
-0x00098200,
-0x54e993ba,
-0x7c0ea5ae,
-0x7e104a14,
-0x0006000b,
-0x00000000,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x80f00000,
-0x3a100004,
-0x7c0e64ae,
-0x7c0ea5ae,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x80f00000,
-0x3a100004,
-0x7c0e602e,
-0x21000000,
-0x00098200,
-0x7c004114,
-0x7c0ea12e,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x7d0c706e,
-0x800c0004,
-0x7c08b040,
-0x00000000,
-0x40820000,
-0x00050805,
-0x7c0004d1,
-0x41830000,
-0x00050804,
-0x0006000b,
-0x80f00000,
-0x3a100004,
-0x7ed4716e,
-0x90140004,
-0x0006000d,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x0006000e,
-0x7c000400,
-0x40a10000,
-0x0005080b,
-0x3d0041e0,
-0x38000000,
-0x48000000,
-0x00050007,
-0x00000000,
-0x0006000f,
-0x40800000,
-0x0005083e,
-0x6d088000,
-0x00060011,
-0x80f00000,
-0x3a100004,
-0x7d14716e,
-0x90140004,
-0x00000000,
-0x48000000,
-0x0005000d,
-0x00000000,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x7c0c706e,
-0x806c0004,
-0x2c000000,
-0x00098200,
-0x40820000,
-0x00050802,
-0x80630000,
-0x00098200,
-0x0006000b,
-0x00000000,
-0x80f00000,
-0x3a100004,
-0x7ed4716e,
-0x90740004,
-0x00000000,
-0x9061000c,
-0xc8010008,
-0xfc00f028,
-0x80f00000,
-0x3a100004,
-0x7c0ea5ae,
-0x00000000,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x0006000c,
-0x2c000000,
-0x00098200,
-0x40820000,
-0x00050843,
-0x00000000,
-0x81230000,
-0x00098200,
-0x28090000,
-0x40820000,
-0x00050809,
-0x0006000d,
-0x00000000,
-0x00060044,
-0x48000001,
-0x00030026,
-0x48000000,
-0x0005000b,
-0x00000000,
-0x00060013,
-0x88090000,
-0x00098200,
-0x70000000,
-0x00090200,
-0x40820000,
-0x0005080d,
-0x48000000,
-0x00050043,
-0x00000000,
-0x7d0a706e,
-0x7d2b786e,
-0x806a0004,
-0x7c08b040,
-0x808b0004,
-0x00000000,
-0x7d0a706e,
-0x7d2b786e,
-0x808a0004,
-0x7c08b040,
-0x806b0004,
-0x00000000,
-0x7d0a706e,
-0x7d2b706e,
-0x806a0004,
-0x7c08b040,
-0x808b0004,
-0x00000000,
-0x7c89b040,
-0x40820000,
-0x00050805,
-0x40860000,
-0x00050805,
-0x7c632615,
-0x41830000,
-0x00050804,
-0x0006000b,
-0x80f00000,
-0x3a100004,
-0x7ed4716e,
-0x90740004,
-0x0006000c,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x0006000e,
-0x7c000400,
-0x40a10000,
-0x0005080b,
-0x00000000,
-0x48000000,
-0x00050041,
-0x00000000,
-0x48000000,
-0x0005003d,
-0x00000000,
-0x48000000,
-0x00050042,
-0x00000000,
-0x0006000f,
-0x00000000,
-0xc9ea0000,
-0x4c002202,
-0xc9cb0000,
-0x00000000,
-0xc9ca0000,
-0x4c002202,
-0xc9eb0000,
-0x00000000,
-0x40800000,
-0x00050841,
-0x00000000,
-0x40800000,
-0x0005083d,
-0x00000000,
-0x40800000,
-0x00050842,
-0x00000000,
-0xfc0e782a,
-0x80f00000,
-0x3a100004,
-0x7c0ea5ae,
-0x48000000,
-0x0005000c,
-0x00000000,
-0x7d0e502e,
-0x00000000,
-0x7d2f582e,
-0x00000000,
-0x7dce54ae,
-0x7def5cae,
-0x00000000,
-0x7c08b040,
-0x7c89b040,
-0x4c002202,
-0x40800000,
-0x0005083f,
-0x00000000,
-0x7c08b040,
-0x40800000,
-0x0005083f,
-0x00000000,
-0x7d0e502e,
-0x00000000,
-0x7d2f582e,
-0x00000000,
-0x7dee54ae,
-0x7dcf5cae,
-0x00000000,
-0x7c08b040,
-0x7c89b040,
-0x4c002202,
-0x40800000,
-0x0005083c,
-0x00000000,
-0x7c08b040,
-0x40800000,
-0x0005083c,
-0x00000000,
-0x7d0e502e,
-0x7d2e582e,
-0x7dce54ae,
-0x7dee5cae,
-0x7c08b040,
-0x7c89b040,
-0x4c002202,
-0x40800000,
-0x00050840,
-0x00000000,
-0xfc0e782a,
-0x80f00000,
-0x3a100004,
-0x7c0ea5ae,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x7d0a706e,
-0x7d2b786e,
-0x806a0004,
-0x7c08b040,
-0x808b0004,
-0x00000000,
-0x7d0a706e,
-0x7d2b786e,
-0x808a0004,
-0x7c08b040,
-0x806b0004,
-0x00000000,
-0x7d0a706e,
-0x7d2b706e,
-0x806a0004,
-0x7c08b040,
-0x808b0004,
-0x00000000,
-0x7c89b040,
-0x40820000,
-0x00050805,
-0x40860000,
-0x00050805,
-0x7c641c51,
-0x41830000,
-0x00050804,
-0x0006000b,
-0x80f00000,
-0x3a100004,
-0x7ed4716e,
-0x90740004,
-0x0006000c,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x0006000e,
-0x7c000400,
-0x40a10000,
-0x0005080b,
-0x00000000,
-0x48000000,
-0x00050041,
-0x00000000,
-0x48000000,
-0x0005003d,
-0x00000000,
-0x48000000,
-0x00050042,
-0x00000000,
-0x0006000f,
-0x00000000,
-0xc9ea0000,
-0x4c002202,
-0xc9cb0000,
-0x00000000,
-0xc9ca0000,
-0x4c002202,
-0xc9eb0000,
-0x00000000,
-0x40800000,
-0x00050841,
-0x00000000,
-0x40800000,
-0x0005083d,
-0x00000000,
-0x40800000,
-0x00050842,
-0x00000000,
-0xfc0e7828,
-0x80f00000,
-0x3a100004,
-0x7c0ea5ae,
-0x48000000,
-0x0005000c,
-0x00000000,
-0x7d0e502e,
-0x00000000,
-0x7d2f582e,
-0x00000000,
-0x7dce54ae,
-0x7def5cae,
-0x00000000,
-0x7c08b040,
-0x7c89b040,
-0x4c002202,
-0x40800000,
-0x0005083f,
-0x00000000,
-0x7c08b040,
-0x40800000,
-0x0005083f,
-0x00000000,
-0x7d0e502e,
-0x00000000,
-0x7d2f582e,
-0x00000000,
-0x7dee54ae,
-0x7dcf5cae,
-0x00000000,
-0x7c08b040,
-0x7c89b040,
-0x4c002202,
-0x40800000,
-0x0005083c,
-0x00000000,
-0x7c08b040,
-0x40800000,
-0x0005083c,
-0x00000000,
-0x7d0e502e,
-0x7d2e582e,
-0x7dce54ae,
-0x7dee5cae,
-0x7c08b040,
-0x7c89b040,
-0x4c002202,
-0x40800000,
-0x00050840,
-0x00000000,
-0xfc0e7828,
-0x80f00000,
-0x3a100004,
-0x7c0ea5ae,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x7d0a706e,
-0x7d2b786e,
-0x806a0004,
-0x7c08b040,
-0x808b0004,
-0x00000000,
-0x7d0a706e,
-0x7d2b786e,
-0x808a0004,
-0x7c08b040,
-0x806b0004,
-0x00000000,
-0x7d0a706e,
-0x7d2b706e,
-0x806a0004,
-0x7c08b040,
-0x808b0004,
-0x00000000,
-0x7c89b040,
-0x40820000,
-0x00050805,
-0x40860000,
-0x00050805,
-0x7c6325d7,
-0x41830000,
-0x00050804,
-0x0006000b,
-0x80f00000,
-0x3a100004,
-0x7ed4716e,
-0x90740004,
-0x0006000c,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x0006000e,
-0x7c000400,
-0x40a10000,
-0x0005080b,
-0x00000000,
-0x48000000,
-0x00050041,
-0x00000000,
-0x48000000,
-0x0005003d,
-0x00000000,
-0x48000000,
-0x00050042,
-0x00000000,
-0x0006000f,
-0x00000000,
-0xc9ea0000,
-0x4c002202,
-0xc9cb0000,
-0x00000000,
-0xc9ca0000,
-0x4c002202,
-0xc9eb0000,
-0x00000000,
-0x40800000,
-0x00050841,
-0x00000000,
-0x40800000,
-0x0005083d,
-0x00000000,
-0x40800000,
-0x00050842,
-0x00000000,
-0xfc0e03f2,
-0x80f00000,
-0x3a100004,
-0x7c0ea5ae,
-0x48000000,
-0x0005000c,
-0x00000000,
-0x7d0e502e,
-0x00000000,
-0x7d2f582e,
-0x00000000,
-0x7dce54ae,
-0x7def5cae,
-0x00000000,
-0x7c08b040,
-0x7c89b040,
-0x4c002202,
-0x40800000,
-0x0005083f,
-0x00000000,
-0x7c08b040,
-0x40800000,
-0x0005083f,
-0x00000000,
-0x7d0e502e,
-0x00000000,
-0x7d2f582e,
-0x00000000,
-0x7dee54ae,
-0x7dcf5cae,
-0x00000000,
-0x7c08b040,
-0x7c89b040,
-0x4c002202,
-0x40800000,
-0x0005083c,
-0x00000000,
-0x7c08b040,
-0x40800000,
-0x0005083c,
-0x00000000,
-0x7d0e502e,
-0x7d2e582e,
-0x7dce54ae,
-0x7dee5cae,
-0x7c08b040,
-0x7c89b040,
-0x4c002202,
-0x40800000,
-0x00050840,
-0x00000000,
-0xfc0e03f2,
-0x80f00000,
-0x3a100004,
-0x7c0ea5ae,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x7d0e502e,
-0x00000000,
-0x7d2f582e,
-0x00000000,
-0x7dce54ae,
-0x7def5cae,
-0x00000000,
-0x7c08b040,
-0x7c89b040,
-0x4c002202,
-0x40800000,
-0x0005083f,
-0x00000000,
-0x7c08b040,
-0x40800000,
-0x0005083f,
-0x00000000,
-0x7d0e502e,
-0x00000000,
-0x7d2f582e,
-0x00000000,
-0x7dee54ae,
-0x7dcf5cae,
-0x00000000,
-0x7c08b040,
-0x7c89b040,
-0x4c002202,
-0x40800000,
-0x0005083c,
-0x00000000,
-0x7c08b040,
-0x40800000,
-0x0005083c,
-0x00000000,
-0x7d0e502e,
-0x7d2e582e,
-0x7dce54ae,
-0x7dee5cae,
-0x7c08b040,
-0x7c89b040,
-0x4c002202,
-0x40800000,
-0x00050840,
-0x00000000,
-0xfc0e7824,
-0x80f00000,
-0x3a100004,
-0x7c0ea5ae,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x7d0a706e,
-0x7d2b786e,
-0x806a0004,
-0x7c08b040,
-0x808b0004,
-0x00000000,
-0x7d0a706e,
-0x7d2b786e,
-0x808a0004,
-0x7c08b040,
-0x806b0004,
-0x00000000,
-0x7d0a706e,
-0x7d2b706e,
-0x806a0004,
-0x7c08b040,
-0x808b0004,
-0x00000000,
-0x7c89b040,
-0x40820000,
-0x00050805,
-0x40860000,
-0x00050805,
-0x48000001,
-0x0005009c,
-0x41830000,
-0x00050804,
-0x0006000b,
-0x80f00000,
-0x3a100004,
-0x7ed4716e,
-0x90740004,
-0x0006000c,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x0006000e,
-0x7c000400,
-0x40a10000,
-0x0005080b,
-0x00000000,
-0x48000000,
-0x00050041,
-0x00000000,
-0x48000000,
-0x0005003d,
-0x00000000,
-0x48000000,
-0x00050042,
-0x00000000,
-0x0006000f,
-0x00000000,
-0xc9ea0000,
-0x4c002202,
-0xc9cb0000,
-0x00000000,
-0xc9ca0000,
-0x4c002202,
-0xc9eb0000,
-0x00000000,
-0x40800000,
-0x00050841,
-0x00000000,
-0x40800000,
-0x0005083d,
-0x00000000,
-0x40800000,
-0x00050842,
-0x00000000,
-0x000600a3,
-0xfc2e7824,
-0x48000001,
-0x00030010,
-0xfc0103f2,
-0xfc0e0028,
-0x80f00000,
-0x3a100004,
-0x7c0ea5ae,
-0x48000000,
-0x0005000c,
-0x00000000,
-0x7d0e502e,
-0x00000000,
-0x7d2f582e,
-0x00000000,
-0x7dce54ae,
-0x7def5cae,
-0x00000000,
-0x7c08b040,
-0x7c89b040,
-0x4c002202,
-0x40800000,
-0x0005083f,
-0x00000000,
-0x7c08b040,
-0x40800000,
-0x0005083f,
-0x00000000,
-0x7d0e502e,
-0x00000000,
-0x7d2f582e,
-0x00000000,
-0x7dee54ae,
-0x7dcf5cae,
-0x00000000,
-0x7c08b040,
-0x7c89b040,
-0x4c002202,
-0x40800000,
-0x0005083c,
-0x00000000,
-0x7c08b040,
-0x40800000,
-0x0005083c,
-0x00000000,
-0x7d0e502e,
-0x7d2e582e,
-0x7dce54ae,
-0x7dee5cae,
-0x7c08b040,
-0x7c89b040,
-0x4c002202,
-0x40800000,
-0x00050840,
-0x00000000,
-0x000600a3,
-0xfc2e7824,
-0x48000001,
-0x00030010,
-0xfc0103f2,
-0xfc0e0028,
-0x80f00000,
-0x3a100004,
-0x7c0ea5ae,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x7d0a706e,
-0x7d2b786e,
-0x806a0004,
-0x7c08b040,
-0x808b0004,
-0x00000000,
-0x7d0a706e,
-0x7d2b786e,
-0x808a0004,
-0x7c08b040,
-0x806b0004,
-0x00000000,
-0x7d0a706e,
-0x7d2b706e,
-0x806a0004,
-0x7c08b040,
-0x808b0004,
-0x00000000,
-0x7c89b040,
-0x40820000,
-0x00050805,
-0x40860000,
-0x00050805,
-0x48000001,
-0x0005009c,
-0x41830000,
-0x00050804,
-0x0006000b,
-0x80f00000,
-0x3a100004,
-0x7ed4716e,
-0x90740004,
-0x0006000c,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x0006000e,
-0x7c000400,
-0x40a10000,
-0x0005080b,
-0x00000000,
-0x48000000,
-0x00050041,
-0x00000000,
-0x48000000,
-0x0005003d,
-0x00000000,
-0x48000000,
-0x00050042,
-0x00000000,
-0x0006000f,
-0x00000000,
-0xc9ea0000,
-0x4c002202,
-0xc9cb0000,
-0x00000000,
-0xc9ca0000,
-0x4c002202,
-0xc9eb0000,
-0x00000000,
-0x40800000,
-0x00050841,
-0x00000000,
-0x40800000,
-0x0005083d,
-0x00000000,
-0x40800000,
-0x00050842,
-0x00000000,
-0x48000000,
-0x000500a3,
-0x00000000,
-0x7d0e502e,
-0x00000000,
-0x7d2f582e,
-0x00000000,
-0x7dce54ae,
-0x7def5cae,
-0x00000000,
-0x7c08b040,
-0x7c89b040,
-0x4c002202,
-0x40800000,
-0x0005083f,
-0x00000000,
-0x7c08b040,
-0x40800000,
-0x0005083f,
-0x00000000,
-0x7d0e502e,
-0x00000000,
-0x7d2f582e,
-0x00000000,
-0x7dee54ae,
-0x7dcf5cae,
-0x00000000,
-0x7c08b040,
-0x7c89b040,
-0x4c002202,
-0x40800000,
-0x0005083c,
-0x00000000,
-0x7c08b040,
-0x40800000,
-0x0005083c,
-0x00000000,
-0x7d0e502e,
-0x7d2e582e,
-0x7dce54ae,
-0x7dee5cae,
-0x7c08b040,
-0x7c89b040,
-0x4c002202,
-0x40800000,
-0x00050840,
-0x00000000,
-0x48000000,
-0x000500a3,
-0x00000000,
-0x7d0e502e,
-0x7c2e54ae,
-0x7d2e582e,
-0x7c4e5cae,
-0x7c08b040,
-0x7c89b040,
-0x4c002202,
-0x40800000,
-0x00050840,
-0x48000001,
-0x0003001f,
-0x80f00000,
-0x3a100004,
-0x7c2ea5ae,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x7caa5850,
-0x91d20000,
-0x00098200,
-0x7c8e5a14,
-0x7d555378,
-0x0006002b,
-0x92010020,
-0x7e439378,
-0x54a500fe,
-0x000900ab,
-0x48000001,
-0x00030030,
-0x28030000,
-0x81d20000,
-0x00098200,
-0x40820000,
-0x00050836,
-0x80f00000,
-0x3a100004,
-0x7c0eacae,
-0x7c0ea5ae,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x5588007e,
-0x000900ab,
-0x2108fffc,
-0x80f00000,
-0x3a100004,
-0x7c0f402e,
-0x39200000,
-0x00098200,
-0x7d34716e,
-0x90140004,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x5588007e,
-0x000900ab,
-0x2108fffc,
-0x80f00000,
-0x3a100004,
-0x7c0f402e,
-0x39200000,
-0x00098200,
-0x7d34716e,
-0x90140004,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x558c6800,
-0x000900a1,
-0x7d8c8670,
-0x80f00000,
-0x3a100004,
-0x7ed4716e,
-0x91940004,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x558c6800,
-0x000900a1,
-0x7d88fe70,
-0x7d096278,
-0x7d284850,
-0x7d260034,
-0x2106040d,
-0x7d293030,
-0x20cc0000,
-0x5508a000,
-0x000900a1,
-0x512ca87e,
-0x7c000110,
-0x7d8c4214,
-0x7d8c0038,
-0x80f00000,
-0x3a100004,
-0x7d94716e,
-0x93140004,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x80f00000,
-0x3a100004,
-0x7c0f64ae,
-0x7c0ea5ae,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x558800fe,
-0x000900ab,
-0x7d0040f8,
-0x80f00000,
-0x3a100004,
-0x7c0ea12e,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x7eeea12e,
-0x3a940008,
-0x0006000b,
-0x7eeea12e,
-0x7c146000,
-0x3a940008,
-0x41800000,
-0x0005080b,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x814efffc,
-0x558c007e,
-0x000900ab,
-0x398c0000,
-0x00098200,
-0x7d4a602e,
-0x80f00000,
-0x3a100004,
-0x810a0000,
-0x00098200,
-0xc8080000,
-0x7c0ea5ae,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x814efffc,
-0x5694007e,
-0x000900ab,
-0x3a940000,
-0x00098200,
-0x7c0c74ee,
-0x7d4aa02e,
-0x88ca0000,
-0x00098200,
-0x808a0000,
-0x00098200,
-0x70c60000,
-0x00090200,
-0x880a0000,
-0x00098200,
-0x812c0000,
-0xd8040000,
-0x28800000,
-0x810c0004,
-0x4c423382,
-0x39290000,
-0x00098200,
-0x40820000,
-0x00050802,
-0x0006000b,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x0006000c,
-0x28090000,
-0x00090200,
-0x40800000,
-0x0005080b,
-0x88c80000,
-0x00098200,
-0x70c60000,
-0x00090200,
-0x38710000,
-0x00098200,
-0x41820000,
-0x0005080b,
-0x48000001,
-0x00030031,
-0x48000000,
-0x0005000b,
-0x00000000,
-0x814efffc,
-0x5588007e,
-0x000900ab,
-0x5694007e,
-0x000900ab,
-0x2108fffc,
-0x3a940000,
-0x00098200,
-0x7d0f402e,
-0x7d4aa02e,
-0x88ca0000,
-0x00098200,
-0x808a0000,
-0x00098200,
-0x70c60000,
-0x00090200,
-0x88c80000,
-0x00098200,
-0x892a0000,
-0x00098200,
-0x38000000,
-0x00098200,
-0x91040004,
-0x90040000,
-0x40820000,
-0x00050802,
-0x0006000b,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x0006000c,
-0x70c60000,
-0x00090200,
-0x28890000,
-0x4c423382,
-0x38710000,
-0x00098200,
-0x41820000,
-0x0005080b,
-0x48000001,
-0x00030031,
-0x48000000,
-0x0005000b,
-0x00000000,
-0x814efffc,
-0x5694007e,
-0x000900ab,
-0x3a940000,
-0x00098200,
-0x7c0f64ae,
-0x7d4aa02e,
-0x80f00000,
-0x3a100004,
-0x810a0000,
-0x00098200,
-0xd8080000,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x814efffc,
-0x5694007e,
-0x000900ab,
-0x558000fe,
-0x000900ab,
-0x3a940000,
-0x00098200,
-0x7c0000f8,
-0x7d4aa02e,
-0x80f00000,
-0x3a100004,
-0x810a0000,
-0x00098200,
-0x90080000,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x81120000,
-0x00098200,
-0x5580007e,
-0x000900ab,
-0x3e100000,
-0x00098200,
-0x7e100214,
-0x91d20000,
-0x00098200,
-0x28080000,
-0x7e439378,
-0x41820000,
-0x00050801,
-0x7c8ea214,
-0x48000001,
-0x00030032,
-0x81d20000,
-0x00098200,
-0x0006000b,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x5588007e,
-0x000900ab,
-0x91d20000,
-0x00098200,
-0x2108fffc,
-0x92010020,
-0x7c8f402e,
-0x7e439378,
-0x80aefffc,
-0x48000001,
-0x00030033,
-0x81d20000,
-0x00098200,
-0x38000000,
-0x00098200,
-0x7c14716e,
-0x90740004,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x80110000,
-0x00098200,
-0x7e439378,
-0x81110000,
-0x00098200,
-0x91d20000,
-0x00098200,
-0x7c004040,
-0x92010020,
-0x40800000,
-0x00050805,
-0x0006000b,
-0x00000000,
-0x5584ed7e,
-0x558596fe,
-0x2c0407ff,
-0x41820000,
-0x00050803,
-0x0006000c,
-0x48000001,
-0x00030034,
-0x00000000,
-0x5588007e,
-0x000900ab,
-0x2108fffc,
-0x7c8f402e,
-0x48000001,
-0x00030035,
-0x00000000,
-0x81d20000,
-0x00098200,
-0x38000000,
-0x00098200,
-0x7c14716e,
-0x90740004,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x0006000d,
-0x38800801,
-0x48000000,
-0x0005000c,
-0x00000000,
-0x0006000f,
-0x7d956378,
-0x48000001,
-0x00030036,
-0x7eacab78,
-0x7e439378,
-0x48000000,
-0x0005000b,
-0x00000000,
-0x812efffc,
-0x5588007e,
-0x000900ab,
-0x81490000,
-0x00098200,
-0x2108fffc,
-0x7d6f402e,
-0x00000000,
-0x48000000,
-0x000500a4,
-0x00000000,
-0x48000000,
-0x000500a5,
-0x00000000,
-0x7c6a706e,
-0x7c8b706e,
-0x814a0004,
-0x00000000,
-0x816b0004,
-0x00000000,
-0xc80b0000,
-0x00000000,
-0x2c030000,
-0x00098200,
-0x7c84b040,
-0x40820000,
-0x00050830,
-0x00000000,
-0x800a0000,
-0x00098200,
-0x40860000,
-0x00050805,
-0x810a0000,
-0x00098200,
-0x7c005840,
-0x55691800,
-0x000900a1,
-0x00000000,
-0x40840000,
-0x00050805,
-0xfc20001e,
-0xfc40f02a,
-0xd8210010,
-0x800a0000,
-0x00098200,
-0xfc42f028,
-0x81210014,
-0x810a0000,
-0x00098200,
-0xfc801000,
-0x7c004840,
-0x4c213202,
-0x55291800,
-0x000900a1,
-0x00000000,
-0x40810000,
-0x00050830,
-0x7c08482e,
-0x7dc84cae,
-0x2c000000,
-0x00098200,
-0x41820000,
-0x00050802,
-0x0006000b,
-0x80f00000,
-0x3a100004,
-0x7dcea5ae,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x0006000c,
-0x812a0000,
-0x00098200,
-0x28090000,
-0x41820000,
-0x0005080b,
-0x88090000,
-0x00098200,
-0x70000000,
-0x00090200,
-0x40820000,
-0x0005080b,
-0x48000000,
-0x00050030,
-0x0006000f,
-0x2c040000,
-0x00098200,
-0x40820000,
-0x00050830,
-0x00000000,
-0x816b0004,
-0x00000000,
-0x48000000,
-0x000500a4,
-0x00000000,
-0x7c6a706e,
-0x5568007e,
-0x000900ab,
-0x814a0004,
-0x2108fffc,
-0x2c030000,
-0x00098200,
-0x7d6f402e,
-0x40820000,
-0x0005082d,
-0x000600a4,
-0x800a0000,
-0x00098200,
-0x810b0000,
-0x00098200,
-0x812a0000,
-0x00098200,
-0x7d080038,
-0x55002800,
-0x000900a1,
-0x55081800,
-0x000900a1,
-0x7d080050,
-0x7d294214,
-0x0006000b,
-0x80690000,
-0x00098200,
-0x80090000,
-0x00098200,
-0x80890000,
-0x00098200,
-0x81090000,
-0x00098200,
-0x2c030000,
-0x00098200,
-0x40820000,
-0x00050804,
-0x7c005800,
-0x40820000,
-0x00050804,
-0x2c040000,
-0x00098200,
-0x41820000,
-0x00050805,
-0x0006000d,
-0x7c94716e,
-0x91140004,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x0006000e,
-0x81290000,
-0x00098200,
-0x00000000,
-0x28090000,
-0x40820000,
-0x0005080b,
-0x38800000,
-0x00098200,
-0x0006000f,
-0x812a0000,
-0x00098200,
-0x28090000,
-0x41820000,
-0x0005080d,
-0x88090000,
-0x00098200,
-0x70000000,
-0x00090200,
-0x40820000,
-0x0005080d,
-0x48000000,
-0x0005002e,
-0x00000000,
-0x7c6a706e,
-0x556000fe,
-0x000900ab,
-0x814a0004,
-0x2c030000,
-0x00098200,
-0x40820000,
-0x0005082f,
-0x810a0000,
-0x00098200,
-0x812a0000,
-0x00098200,
-0x7c004040,
-0x40800000,
-0x0005082f,
-0x7d09582e,
-0x7c095cae,
-0x2c080000,
-0x00098200,
-0x41820000,
-0x00050805,
-0x0006000b,
-0x80f00000,
-0x3a100004,
-0x7c0ea5ae,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x0006000f,
-0x812a0000,
-0x00098200,
-0x28090000,
-0x41820000,
-0x0005080b,
-0x89290000,
-0x00098200,
-0x71290000,
-0x00090200,
-0x40820000,
-0x0005080b,
-0x48000000,
-0x0005002f,
-0x00000000,
-0x7c6a706e,
-0x7c8b706e,
-0x814a0004,
-0x00000000,
-0x816b0004,
-0x00000000,
-0xc80b0000,
-0x00000000,
-0x2c030000,
-0x00098200,
-0x7c84b040,
-0x40820000,
-0x00050834,
-0x00000000,
-0x800a0000,
-0x00098200,
-0x40860000,
-0x00050805,
-0x810a0000,
-0x00098200,
-0x7c005840,
-0x55601800,
-0x000900a1,
-0x00000000,
-0x40840000,
-0x00050805,
-0xfc20001e,
-0xfc40f02a,
-0xd8210010,
-0x800a0000,
-0x00098200,
-0xfc42f028,
-0x81210014,
-0x810a0000,
-0x00098200,
-0xfc801000,
-0x7c004840,
-0x4c213202,
-0x55201800,
-0x000900a1,
-0x00000000,
-0x40810000,
-0x00050834,
-0x7d28002e,
-0x88ca0000,
-0x00098200,
-0x7dcea4ae,
-0x2c090000,
-0x00098200,
-0x41820000,
-0x00050803,
-0x0006000b,
-0x70c90000,
-0x00090200,
-0x7dc805ae,
-0x40820000,
-0x00050807,
-0x0006000c,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x0006000d,
-0x812a0000,
-0x00098200,
-0x28090000,
-0x41820000,
-0x0005080b,
-0x89290000,
-0x00098200,
-0x71290000,
-0x00090200,
-0x40820000,
-0x0005080b,
-0x48000000,
-0x00050034,
-0x0006000f,
-0x2c040000,
-0x00098200,
-0x40820000,
-0x00050834,
-0x00000000,
-0x816b0004,
-0x00000000,
-0x48000000,
-0x000500a5,
-0x00060011,
-0x80110000,
-0x00098200,
-0x54c607b8,
-0x91510000,
-0x00098200,
-0x98ca0000,
-0x00098200,
-0x900a0000,
-0x00098200,
-0x48000000,
-0x0005000c,
-0x00000000,
-0x7c6a706e,
-0x5568007e,
-0x000900ab,
-0x814a0004,
-0x2108fffc,
-0x2c030000,
-0x00098200,
-0x7d6f402e,
-0x40820000,
-0x00050831,
-0x000600a5,
-0x800a0000,
-0x00098200,
-0x810b0000,
-0x00098200,
-0x812a0000,
-0x00098200,
-0x9b0a0000,
-0x00098200,
-0x7d080038,
-0x7dcea4ae,
-0x55002800,
-0x000900a1,
-0x55081800,
-0x000900a1,
-0x7d080050,
-0x88ca0000,
-0x00098200,
-0x7d294214,
-0x0006000b,
-0x80690000,
-0x00098200,
-0x80090000,
-0x00098200,
-0x80890000,
-0x00098200,
-0x81090000,
-0x00098200,
-0x2c030000,
-0x00098200,
-0x40820000,
-0x00050805,
-0x7c005800,
-0x40820000,
-0x00050805,
-0x2c040000,
-0x00098200,
-0x41820000,
-0x00050804,
-0x0006000c,
-0x00000000,
-0x70c00000,
-0x00090200,
-0xd9c90000,
-0x00098200,
-0x40820000,
-0x00050807,
-0x0006000d,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x0006000e,
-0x810a0000,
-0x00098200,
-0x28080000,
-0x41820000,
-0x0005080c,
-0x88080000,
-0x00098200,
-0x70000000,
-0x00090200,
-0x40820000,
-0x0005080c,
-0x48000000,
-0x00050032,
-0x0006000f,
-0x28080000,
-0x7d094378,
-0x40820000,
-0x0005080b,
-0x810a0000,
-0x00098200,
-0x38b10000,
-0x00098200,
-0x92010020,
-0x7e439378,
-0x28080000,
-0x91d20000,
-0x00098200,
-0x41820000,
-0x00050806,
-0x88080000,
-0x00098200,
-0x70000000,
-0x00090200,
-0x41820000,
-0x00050832,
-0x00060010,
-0x38000000,
-0x00098200,
-0x00000000,
-0x91650004,
-0x7d445378,
-0x90050000,
-0x48000001,
-0x00030037,
-0x81d20000,
-0x00098200,
-0xd9c30000,
-0x48000000,
-0x0005000d,
-0x00060011,
-0x80110000,
-0x00098200,
-0x54c607b8,
-0x91510000,
-0x00098200,
-0x98ca0000,
-0x00098200,
-0x900a0000,
-0x00098200,
-0x48000000,
-0x0005000d,
-0x00000000,
-0x7c6a706e,
-0x556000fe,
-0x000900ab,
-0x814a0004,
-0x2c030000,
-0x00098200,
-0x40820000,
-0x00050833,
-0x810a0000,
-0x00098200,
-0x812a0000,
-0x00098200,
-0x88ca0000,
-0x00098200,
-0x7c004040,
-0x7dcea4ae,
-0x40800000,
-0x00050833,
-0x7d09582e,
-0x2c080000,
-0x00098200,
-0x41820000,
-0x00050805,
-0x0006000b,
-0x70c00000,
-0x00090200,
-0x7dc95dae,
-0x40820000,
-0x00050807,
-0x0006000c,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x0006000f,
-0x810a0000,
-0x00098200,
-0x28080000,
-0x41820000,
-0x0005080b,
-0x89080000,
-0x00098200,
-0x71080000,
-0x00090200,
-0x40820000,
-0x0005080b,
-0x48000000,
-0x00050033,
-0x00060011,
-0x80110000,
-0x00098200,
-0x00000000,
-0x54c607b8,
-0x91510000,
-0x00098200,
-0x98ca0000,
-0x00098200,
-0x900a0000,
-0x00098200,
-0x48000000,
-0x0005000c,
-0x00000000,
-0x7e8ea214,
-0x0006000b,
-0x7ccf6214,
-0x8094fffc,
-0x3413fff8,
-0x80c60004,
-0x540500fe,
-0x000900ab,
-0x41820000,
-0x00050804,
-0x7ca53214,
-0x81240000,
-0x00098200,
-0x54c81800,
-0x000900a1,
-0x88c40000,
-0x00098200,
-0x7c054840,
-0x7d340214,
-0x80040000,
-0x00098200,
-0x41810000,
-0x00050805,
-0x7d080214,
-0x70c00000,
-0x00090200,
-0x0006000d,
-0xc8140000,
-0x3a940008,
-0x7c944800,
-0xd8080000,
-0x39080008,
-0x41840000,
-0x0005080d,
-0x40820000,
-0x00050807,
-0x0006000e,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x0006000f,
-0x91d20000,
-0x00098200,
-0x7e439378,
-0x92010020,
-0x7d956378,
-0x48000001,
-0x00030038,
-0x7eacab78,
-0x48000000,
-0x0005000b,
-0x00060011,
-0x80110000,
-0x00098200,
-0x54c607b8,
-0x90910000,
-0x00098200,
-0x98c40000,
-0x00098200,
-0x90040000,
-0x00098200,
-0x00000000,
-0x48000000,
-0x0005000e,
-0x00000000,
-0x7d6b9a14,
-0x00000000,
-0x7dc97378,
-0x7c0ea06e,
-0x814e0004,
-0x396bfff8,
-0x39ce0008,
-0x2c000000,
-0x00098200,
-0x40820000,
-0x00050825,
-0x920efff8,
-0x820a0000,
-0x00098200,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54f4dd78,
-0x7c11402e,
-0x7e947214,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x7d6b9a14,
-0x00000000,
-0x7c14706e,
-0x81540004,
-0x396bfff8,
-0x810efff8,
-0x2c000000,
-0x00098200,
-0x3a940008,
-0x40820000,
-0x00050845,
-0x00060046,
-0x71000000,
-0x00090200,
-0x88ca0000,
-0x00098200,
-0x69090000,
-0x00090200,
-0x288b0000,
-0x40820000,
-0x00050807,
-0x0006000b,
-0x914efffc,
-0x39200000,
-0x2b860001,
-0x41860000,
-0x00050803,
-0x0006000c,
-0x38c90008,
-0x7c144cae,
-0x7c865840,
-0x7c0e4dae,
-0x7cc93378,
-0x40860000,
-0x0005080c,
-0x0006000d,
-0x4c42ea02,
-0x41820000,
-0x00050805,
-0x0006000e,
-0x820a0000,
-0x00098200,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54f4dd78,
-0x7c11402e,
-0x7e947214,
-0x7c0903a6,
-0x4e800420,
-0x0006000f,
-0x80e8fffc,
-0x54f4dd78,
-0x7d147050,
-0x81080000,
-0x00098200,
-0x81080000,
-0x00098200,
-0x81e80000,
-0x00098200,
-0x48000000,
-0x0005000e,
-0x00060011,
-0x71200000,
-0x00090200,
-0x00000000,
-0x40820000,
-0x0005080b,
-0x7dc97050,
-0x810efff8,
-0x71000000,
-0x00090200,
-0x48000000,
-0x0005000b,
-0x00000000,
-0x7dc97378,
-0x7dcea214,
-0x810effe8,
-0x814effec,
-0xc82efff8,
-0xc80efff0,
-0x910e0000,
-0x914e0004,
-0x2c080000,
-0x00098200,
-0xd82e0010,
-0x39600010,
-0xdc0e0008,
-0x40820000,
-0x00050825,
-0x920efff8,
-0x820a0000,
-0x00098200,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54f4dd78,
-0x7c11402e,
-0x7e947214,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x7e8ea214,
-0x8154fff4,
-0x8174fffc,
-0x800a0000,
-0x00098200,
-0x810a0000,
-0x00098200,
-0x3a100004,
-0x0006000b,
-0x7c0b0040,
-0x55661800,
-0x000900a1,
-0x40800000,
-0x00050805,
-0x7d28302e,
-0x7c0834ae,
-0x2c090000,
-0x00098200,
-0x80f0fffc,
-0x41820000,
-0x00050804,
-0x00000000,
-0x91740004,
-0x92d40000,
-0x00000000,
-0x9161000c,
-0xc8210008,
-0xfc21f028,
-0x00000000,
-0x396b0001,
-0x3cd00000,
-0x00098200,
-0xd8140008,
-0x54e893ba,
-0x9174fffc,
-0x7e083214,
-0x00000000,
-0xd8340000,
-0x00000000,
-0x0006000d,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x0006000e,
-0x396b0001,
-0x48000000,
-0x0005000b,
-0x0006000f,
-0x810a0000,
-0x00098200,
-0x7d605850,
-0x812a0000,
-0x00098200,
-0x00060010,
-0x7c0b4040,
-0x55662800,
-0x000900a1,
-0x41a10000,
-0x0005080d,
-0x556a1800,
-0x000900a1,
-0x7cca3050,
-0x7d49302e,
-0x7c0934ae,
-0x7cc93214,
-0x2c0a0000,
-0x00098200,
-0x80f0fffc,
-0x41820000,
-0x00050807,
-0xc8260000,
-0x00098200,
-0x3d300000,
-0x00098200,
-0xd8140008,
-0x7d6b0214,
-0x54e893ba,
-0xd8340000,
-0x396b0001,
-0x7e084a14,
-0x9174fffc,
-0x48000000,
-0x0005000d,
-0x00060011,
-0x396b0001,
-0x48000000,
-0x00050010,
-0x00000000,
-0x7e8ea214,
-0x8014ffe8,
-0x8114ffec,
-0x8134fff0,
-0x80d4fff8,
-0x2c090000,
-0x00098200,
-0x2c800000,
-0x00098200,
-0x2f060000,
-0x00098200,
-0x40860000,
-0x00050805,
-0x89080000,
-0x00098200,
-0x4c42d202,
-0x2f880000,
-0x00098200,
-0x5580007e,
-0x000900ab,
-0x4c42f202,
-0x7cd00214,
-0x40820000,
-0x00050805,
-0x9314fffc,
-0x3e060000,
-0x00098200,
-0x0006000b,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x0006000f,
-0x38000000,
-0x00098200,
-0x39000000,
-0x00098200,
-0x9810ffff,
-0x3e060000,
-0x00098200,
-0x99100003,
-0x48000000,
-0x0005000b,
-0x00000000,
-0x800efff8,
-0x7d6e5a14,
-0x7e8ea214,
-0x396b0000,
-0x00098200,
-0x7d345214,
-0x38cefff8,
-0x7d605850,
-0x288a0000,
-0x7d0b3051,
-0x41860000,
-0x00050805,
-0x3929fff0,
-0x40810000,
-0x00050802,
-0x0006000b,
-0xc80b0000,
-0x396b0008,
-0xd8140000,
-0x7c144840,
-0x7c8b3040,
-0x40800000,
-0x00050803,
-0x3a940008,
-0x41840000,
-0x0005080b,
-0x0006000c,
-0x92f40000,
-0x7c144840,
-0x3a940008,
-0x41800000,
-0x0005080c,
-0x0006000d,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x0006000f,
-0x80120000,
-0x00098200,
-0x3a600008,
-0x40a10000,
-0x0005080d,
-0x7d344214,
-0x7c090040,
-0x3a680008,
-0x41810000,
-0x00050807,
-0x00060010,
-0xc80b0000,
-0x396b0008,
-0xd8140000,
-0x7c0b3040,
-0x3a940008,
-0x41800000,
-0x00050810,
-0x48000000,
-0x0005000d,
-0x00060011,
-0x7e439378,
-0x92920000,
-0x00098200,
-0x7eae5850,
-0x91d20000,
-0x00098200,
-0x7e8ea050,
-0x92010020,
-0x550400fe,
-0x000900ab,
-0x48000001,
-0x00030000,
-0x81d20000,
-0x00098200,
-0x00000000,
-0x7e8ea214,
-0x7d6eaa14,
-0x38cefff8,
-0x48000000,
-0x00050010,
-0x00000000,
-0x7d8c9a14,
-0x00000000,
-0x820efff8,
-0x7e8ea214,
-0x7d936378,
-0x0006000b,
-0x72000000,
-0x00090200,
-0x6a080000,
-0x00090200,
-0x40820000,
-0x000508a6,
-0x00060017,
-0x80f0fffc,
-0x2c0c0008,
-0x392efff8,
-0x396cfff8,
-0x54ea5d78,
-0x41820000,
-0x00050803,
-0x39000000,
-0x0006000c,
-0x38c80008,
-0x7c1444ae,
-0x7c065800,
-0x7c0945ae,
-0x41820000,
-0x00050803,
-0x39060008,
-0x7c3434ae,
-0x7c085800,
-0x7c2935ae,
-0x40820000,
-0x0005080c,
-0x0006000d,
-0x0006000f,
-0x7c0a6040,
-0x54f4dd78,
-0x41810000,
-0x00050806,
-0x7dd44850,
-0x810efffc,
-0x80f00000,
-0x3a100004,
-0x81080000,
-0x00098200,
-0x81e80000,
-0x00098200,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00060010,
-0x390cfff8,
-0x398c0008,
-0x7ee9412e,
-0x48000000,
-0x0005000f,
-0x000600a6,
-0x71090000,
-0x00090200,
-0x40820000,
-0x00050818,
-0x7dc87050,
-0x820efff8,
-0x48000000,
-0x0005000b,
-0x00000000,
-0x820efff8,
-0x7e8ea214,
-0x7d936378,
-0x72000000,
-0x00090200,
-0x6a080000,
-0x00090200,
-0x40a20000,
-0x000508a6,
-0x80f0fffc,
-0x392efff8,
-0x54ea5d78,
-0x00000000,
-0xc8140000,
-0xd8090000,
-0x00000000,
-0x0006000f,
-0x7c0a6040,
-0x54f4dd78,
-0x41810000,
-0x00050806,
-0x7dd44850,
-0x810efffc,
-0x80f00000,
-0x3a100004,
-0x81080000,
-0x00098200,
-0x81e80000,
-0x00098200,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00060010,
-0x390cfff8,
-0x398c0008,
-0x7ee9412e,
-0x48000000,
-0x0005000f,
-0x00000000,
-0x5608fe7c,
-0x39080000,
-0x00098200,
-0x7d31422e,
-0x35290000,
-0x00098200,
-0x7d31432e,
-0x41800000,
-0x00050894,
-0x00000000,
-0x7d14706e,
-0x80740000,
-0x00098200,
-0x7c08b040,
-0x00000000,
-0x80b40000,
-0x00098200,
-0x40820000,
-0x00050809,
-0x7c632e15,
-0x2f050000,
-0x80940000,
-0x00098200,
-0x41830000,
-0x00050806,
-0x0006000e,
-0x90740000,
-0x00098200,
-0x00000000,
-0x80d40000,
-0x00098200,
-0x80b40000,
-0x00098200,
-0x81340000,
-0x00098200,
-0x80940000,
-0x00098200,
-0x7f86b040,
-0x7c89b040,
-0x4c42f202,
-0x4c423202,
-0x2f050000,
-0x40820000,
-0x00050809,
-0x00000000,
-0x41980000,
-0x00050805,
-0x7c032000,
-0x0006000b,
-0x92d40000,
-0x00098200,
-0x00000000,
-0x558c007e,
-0x000900ab,
-0x00000000,
-0x90740000,
-0x00098200,
-0x00000000,
-0x7d906214,
-0x00000000,
-0x41810000,
-0x00050803,
-0x00000000,
-0x3e0c0000,
-0x00098200,
-0x40a10000,
-0x00050807,
-0x00000000,
-0x41810000,
-0x00050802,
-0x3e0c0000,
-0x00098200,
-0x00000000,
-0x40a10000,
-0x00070800,
-0x00000000,
-0x0006000c,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x0006000f,
-0x7c041800,
-0x48000000,
-0x0005000b,
-0x00000000,
-0x00060010,
-0x7c000400,
-0x40a10000,
-0x0005080e,
-0x48000000,
-0x0005000c,
-0x00000000,
-0x00060013,
-0xc8340000,
-0x00098200,
-0x00000000,
-0x7c3474ee,
-0x00000000,
-0xc8740000,
-0x00098200,
-0xc8540000,
-0x00098200,
-0x80d40000,
-0x00098200,
-0xfc21182a,
-0xd8340000,
-0x00098200,
-0x00000000,
-0x00060013,
-0x00000000,
-0x7d14706e,
-0x80d40000,
-0x00098200,
-0x81340000,
-0x00098200,
-0x7c08b040,
-0x7f86b040,
-0x7c89b040,
-0x00000000,
-0xc8340000,
-0x00098200,
-0x4c00e202,
-0x4c002202,
-0xc8540000,
-0x00098200,
-0x40800000,
-0x00050847,
-0x00000000,
-0x2f060000,
-0x00000000,
-0x558c007e,
-0x000900ab,
-0x00000000,
-0xd8340000,
-0x00098200,
-0x00000000,
-0x7d906214,
-0x00000000,
-0xfc011000,
-0x00000000,
-0x3e0c0000,
-0x00098200,
-0x00000000,
-0x41980000,
-0x00050805,
-0x00000000,
-0x41810000,
-0x00050803,
-0x00000000,
-0x41a10000,
-0x0005080c,
-0x00000000,
-0x41810000,
-0x00050802,
-0x00000000,
-0x0006000b,
-0x3e0c0000,
-0x00098200,
-0x00000000,
-0x40a10000,
-0x00050807,
-0x00000000,
-0x40a10000,
-0x00070800,
-0x00000000,
-0x48000000,
-0x0005000c,
-0x00000000,
-0x0006000c,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x0006000f,
-0x00000000,
-0x40800000,
-0x0005080c,
-0x0006000d,
-0x3e0c0000,
-0x00098200,
-0x00000000,
-0x40a00000,
-0x0005080b,
-0x00000000,
-0x40a00000,
-0x00050807,
-0x00000000,
-0x40a00000,
-0x00070800,
-0x00000000,
-0x48000000,
-0x0005000c,
-0x00000000,
-0x00060011,
-0x80f0fffc,
-0x54ec9b78,
-0x48000000,
-0x00070000,
-0x00000000,
-0x5608fe7c,
-0x39080000,
-0x00098200,
-0x7d31422e,
-0x35290000,
-0x00098200,
-0x7d31432e,
-0x41800000,
-0x00050894,
-0x00000000,
-0x7d14706e,
-0x81340004,
-0x2c080000,
-0x00098200,
-0x41820000,
-0x00050801,
-0x00000000,
-0x9114fff8,
-0x9134fffc,
-0x48000000,
-0x00070000,
-0x00000000,
-0x5580007e,
-0x000900ab,
-0x3e100000,
-0x00098200,
-0x7e100214,
-0x9114fff8,
-0x9134fffc,
-0x00000000,
-0x0006000b,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x5608fe7c,
-0x39080000,
-0x00098200,
-0x7d31422e,
-0x35290000,
-0x00098200,
-0x7d31432e,
-0x41800000,
-0x00050894,
-0x00000000,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x81110000,
-0x00098200,
-0x558c007e,
-0x000900ab,
-0x93110000,
-0x00098200,
-0x7d28602e,
-0x7c000400,
-0x81290000,
-0x00098200,
-0x91d10000,
-0x00098200,
-0x7d2903a6,
-0x92510000,
-0x00098200,
-0x3bf10000,
-0x00098200,
-0x4e800420,
-0x00000000,
-0x5580007e,
-0x000900ab,
-0x3e100000,
-0x00098200,
-0x7e100214,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x5608fe7c,
-0x39080000,
-0x00098200,
-0x7d31422e,
-0x35290000,
-0x00098200,
-0x7d31432e,
-0x41800000,
-0x00050896,
-0x00000000,
-0x81320000,
-0x00098200,
-0x89100000,
-0x00098200,
-0x81f00000,
-0x00098200,
-0x7c144840,
-0x55081800,
-0x000900a1,
-0x41810000,
-0x00050820,
-0x00000000,
-0x80f00000,
-0x3a100004,
-0x00000000,
-0x0006000c,
-0x7c0b4040,
-0x41800000,
-0x00050803,
-0x00000000,
-0x54ec9b78,
-0x48000000,
-0x00070000,
-0x00000000,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x00000000,
-0x0006000d,
-0x7eee592e,
-0x396b0008,
-0x48000000,
-0x0005000c,
-0x00000000,
-0x7c810808,
-0x00000000,
-0x81320000,
-0x00098200,
-0x7d0e5a14,
-0x7c145a14,
-0x91480004,
-0x38cb0000,
-0x00098200,
-0x81f00000,
-0x00098200,
-0x7c004840,
-0x90c80000,
-0x40800000,
-0x00050820,
-0x89300000,
-0x00098200,
-0x7dd47378,
-0x7d0b4378,
-0x80f00000,
-0x3a100004,
-0x2c090000,
-0x39c80008,
-0x41820000,
-0x00050803,
-0x0006000b,
-0x7c145840,
-0x80140000,
-0x80d40004,
-0x40800000,
-0x00050804,
-0x92f40000,
-0x3a940008,
-0x0006000c,
-0x3529ffff,
-0x90080008,
-0x90c8000c,
-0x39080008,
-0x40820000,
-0x0005080b,
-0x0006000d,
-0x54e815ba,
-0x7c11402e,
-0x7c0903a6,
-0x54ea5d78,
-0x54ec9b78,
-0x54f4dd78,
-0x54eb9d78,
-0x4e800420,
-0x0006000e,
-0x38000000,
-0x00098200,
-0x48000000,
-0x0005000c,
-0x00000000,
-0x80ca0000,
-0x00098200,
-0x00000000,
-0x80d10000,
-0x00098200,
-0x00000000,
-0x7d145a14,
-0x81320000,
-0x00098200,
-0x7d6e5a14,
-0x91d20000,
-0x00098200,
-0x7c084840,
-0x91720000,
-0x00098200,
-0x38000000,
-0x00098200,
-0x7cc903a6,
-0x00000000,
-0x808a0000,
-0x00098200,
-0x00000000,
-0x7e439378,
-0x41810000,
-0x0005081f,
-0x90110000,
-0x00098200,
-0x4e800421,
-0x81d20000,
-0x00098200,
-0x546c1800,
-0x000900a1,
-0x81120000,
-0x00098200,
-0x38000000,
-0x00098200,
-0x820efff8,
-0x7e8c4050,
-0x90110000,
-0x00098200,
-0x48000000,
-0x00050016,
-0x00000000,
-0x00010000
-};
-
-enum {
- GLOB_vm_returnp,
- GLOB_cont_dispatch,
- GLOB_vm_returnc,
- GLOB_BC_RET_Z,
- GLOB_vm_return,
- GLOB_vm_leave_cp,
- GLOB_vm_leave_unw,
- GLOB_vm_unwind_c,
- GLOB_vm_unwind_c_eh,
- GLOB_vm_unwind_ff,
- GLOB_vm_unwind_ff_eh,
- GLOB_vm_growstack_c,
- GLOB_vm_growstack_l,
- GLOB_vm_resume,
- GLOB_vm_pcall,
- GLOB_vm_call,
- GLOB_vm_call_dispatch,
- GLOB_vmeta_call,
- GLOB_vm_call_dispatch_f,
- GLOB_vm_cpcall,
- GLOB_cont_ffi_callback,
- GLOB_vm_call_tail,
- GLOB_cont_cat,
- GLOB_BC_CAT_Z,
- GLOB_cont_nop,
- GLOB_vmeta_tgets1,
- GLOB_vmeta_tgets,
- GLOB_vmeta_tgetb,
- GLOB_vmeta_tgetv,
- GLOB_vmeta_tsets1,
- GLOB_vmeta_tsets,
- GLOB_vmeta_tsetb,
- GLOB_vmeta_tsetv,
- GLOB_vmeta_comp,
- GLOB_vmeta_binop,
- GLOB_cont_ra,
- GLOB_cont_condt,
- GLOB_cont_condf,
- GLOB_vmeta_equal,
- GLOB_vmeta_equal_cd,
- GLOB_vmeta_arith_nv,
- GLOB_vmeta_arith_nv2,
- GLOB_vmeta_unm,
- GLOB_vmeta_arith_vn,
- GLOB_vmeta_arith_vv,
- GLOB_vmeta_arith_vn2,
- GLOB_vmeta_arith_vv2,
- GLOB_vmeta_len,
- GLOB_BC_LEN_Z,
- GLOB_vmeta_callt,
- GLOB_BC_CALLT_Z,
- GLOB_vmeta_for,
- GLOB_ff_assert,
- GLOB_fff_fallback,
- GLOB_fff_res,
- GLOB_ff_type,
- GLOB_fff_resn,
- GLOB_ff_getmetatable,
- GLOB_fff_restv,
- GLOB_ff_setmetatable,
- GLOB_ff_rawget,
- GLOB_ff_tonumber,
- GLOB_ff_tostring,
- GLOB_fff_gcstep,
- GLOB_ff_next,
- GLOB_ff_pairs,
- GLOB_ff_ipairs_aux,
- GLOB_ff_ipairs,
- GLOB_ff_pcall,
- GLOB_ff_xpcall,
- GLOB_ff_coroutine_resume,
- GLOB_ff_coroutine_wrap_aux,
- GLOB_ff_coroutine_yield,
- GLOB_ff_math_abs,
- GLOB_fff_resi,
- GLOB_fff_res1,
- GLOB_ff_math_floor,
- GLOB_ff_math_ceil,
- GLOB_ff_math_sqrt,
- GLOB_ff_math_log,
- GLOB_ff_math_log10,
- GLOB_ff_math_exp,
- GLOB_ff_math_sin,
- GLOB_ff_math_cos,
- GLOB_ff_math_tan,
- GLOB_ff_math_asin,
- GLOB_ff_math_acos,
- GLOB_ff_math_atan,
- GLOB_ff_math_sinh,
- GLOB_ff_math_cosh,
- GLOB_ff_math_tanh,
- GLOB_ff_math_pow,
- GLOB_ff_math_atan2,
- GLOB_ff_math_fmod,
- GLOB_ff_math_deg,
- GLOB_ff_math_rad,
- GLOB_ff_math_ldexp,
- GLOB_ff_math_frexp,
- GLOB_ff_math_modf,
- GLOB_ff_math_min,
- GLOB_ff_math_max,
- GLOB_ff_string_len,
- GLOB_ff_string_byte,
- GLOB_ff_string_char,
- GLOB_fff_newstr,
- GLOB_ff_string_sub,
- GLOB_ff_string_rep,
- GLOB_ff_string_reverse,
- GLOB_ff_string_lower,
- GLOB_ff_string_upper,
- GLOB_ff_table_getn,
- GLOB_ff_bit_band,
- GLOB_fff_tobit_fb,
- GLOB_fff_bitop_fb,
- GLOB_ff_bit_bor,
- GLOB_ff_bit_bxor,
- GLOB_ff_bit_bswap,
- GLOB_ff_bit_bnot,
- GLOB_ff_bit_lshift,
- GLOB_ff_bit_rshift,
- GLOB_ff_bit_arshift,
- GLOB_ff_bit_rol,
- GLOB_ff_bit_ror,
- GLOB_ff_bit_tobit,
- GLOB_vm_record,
- GLOB_vm_rethook,
- GLOB_vm_inshook,
- GLOB_cont_hook,
- GLOB_vm_hotloop,
- GLOB_vm_callhook,
- GLOB_vm_hotcall,
- GLOB_vm_exit_handler,
- GLOB_vm_exit_interp,
- GLOB_vm_floor,
- GLOB_vm_ceil,
- GLOB_vm_trunc,
- GLOB_vm_modi,
- GLOB_vm_foldarith,
- GLOB_vm_cachesync,
- GLOB_vm_ffi_callback,
- GLOB_vm_ffi_call,
- GLOB_BC_ISEQN_Z,
- GLOB_BC_ISNEN_Z,
- GLOB_BC_MODVN_Z,
- GLOB_BC_TGETS_Z,
- GLOB_BC_TSETS_Z,
- GLOB_BC_RETV_Z,
- GLOB__MAX
-};
-static const char *const globnames[] = {
- "vm_returnp",
- "cont_dispatch",
- "vm_returnc",
- "BC_RET_Z",
- "vm_return",
- "vm_leave_cp",
- "vm_leave_unw",
- "vm_unwind_c",
- "vm_unwind_c_eh",
- "vm_unwind_ff",
- "vm_unwind_ff_eh",
- "vm_growstack_c",
- "vm_growstack_l",
- "vm_resume",
- "vm_pcall",
- "vm_call",
- "vm_call_dispatch",
- "vmeta_call",
- "vm_call_dispatch_f",
- "vm_cpcall",
- "cont_ffi_callback",
- "vm_call_tail",
- "cont_cat",
- "BC_CAT_Z",
- "cont_nop",
- "vmeta_tgets1",
- "vmeta_tgets",
- "vmeta_tgetb",
- "vmeta_tgetv",
- "vmeta_tsets1",
- "vmeta_tsets",
- "vmeta_tsetb",
- "vmeta_tsetv",
- "vmeta_comp",
- "vmeta_binop",
- "cont_ra",
- "cont_condt",
- "cont_condf",
- "vmeta_equal",
- "vmeta_equal_cd",
- "vmeta_arith_nv",
- "vmeta_arith_nv2",
- "vmeta_unm",
- "vmeta_arith_vn",
- "vmeta_arith_vv",
- "vmeta_arith_vn2",
- "vmeta_arith_vv2",
- "vmeta_len",
- "BC_LEN_Z",
- "vmeta_callt",
- "BC_CALLT_Z",
- "vmeta_for",
- "ff_assert",
- "fff_fallback",
- "fff_res",
- "ff_type",
- "fff_resn",
- "ff_getmetatable",
- "fff_restv",
- "ff_setmetatable",
- "ff_rawget",
- "ff_tonumber",
- "ff_tostring",
- "fff_gcstep",
- "ff_next",
- "ff_pairs",
- "ff_ipairs_aux",
- "ff_ipairs",
- "ff_pcall",
- "ff_xpcall",
- "ff_coroutine_resume",
- "ff_coroutine_wrap_aux",
- "ff_coroutine_yield",
- "ff_math_abs",
- "fff_resi",
- "fff_res1",
- "ff_math_floor",
- "ff_math_ceil",
- "ff_math_sqrt",
- "ff_math_log",
- "ff_math_log10",
- "ff_math_exp",
- "ff_math_sin",
- "ff_math_cos",
- "ff_math_tan",
- "ff_math_asin",
- "ff_math_acos",
- "ff_math_atan",
- "ff_math_sinh",
- "ff_math_cosh",
- "ff_math_tanh",
- "ff_math_pow",
- "ff_math_atan2",
- "ff_math_fmod",
- "ff_math_deg",
- "ff_math_rad",
- "ff_math_ldexp",
- "ff_math_frexp",
- "ff_math_modf",
- "ff_math_min",
- "ff_math_max",
- "ff_string_len",
- "ff_string_byte",
- "ff_string_char",
- "fff_newstr",
- "ff_string_sub",
- "ff_string_rep",
- "ff_string_reverse",
- "ff_string_lower",
- "ff_string_upper",
- "ff_table_getn",
- "ff_bit_band",
- "fff_tobit_fb",
- "fff_bitop_fb",
- "ff_bit_bor",
- "ff_bit_bxor",
- "ff_bit_bswap",
- "ff_bit_bnot",
- "ff_bit_lshift",
- "ff_bit_rshift",
- "ff_bit_arshift",
- "ff_bit_rol",
- "ff_bit_ror",
- "ff_bit_tobit",
- "vm_record",
- "vm_rethook",
- "vm_inshook",
- "cont_hook",
- "vm_hotloop",
- "vm_callhook",
- "vm_hotcall",
- "vm_exit_handler",
- "vm_exit_interp",
- "vm_floor",
- "vm_ceil",
- "vm_trunc",
- "vm_modi",
- "vm_foldarith",
- "vm_cachesync",
- "vm_ffi_callback",
- "vm_ffi_call",
- "BC_ISEQN_Z",
- "BC_ISNEN_Z",
- "BC_MODVN_Z",
- "BC_TGETS_Z",
- "BC_TSETS_Z",
- "BC_RETV_Z",
- (const char *)0
-};
-static const char *const extnames[] = {
- "lj_state_growstack",
- "lj_meta_tget",
- "lj_meta_tset",
- "lj_meta_comp",
- "lj_meta_equal",
- "lj_meta_equal_cd",
- "lj_meta_arith",
- "lj_meta_len",
- "lj_meta_call",
- "lj_meta_for",
- "lj_tab_get",
- "lj_str_fromnumber",
- "lj_str_fromnum",
- "lj_tab_next",
- "lj_tab_getinth",
- "lj_ffh_coroutine_wrap_err",
- "floor",
- "ceil",
- "sqrt",
- "log",
- "log10",
- "exp",
- "sin",
- "cos",
- "tan",
- "asin",
- "acos",
- "atan",
- "sinh",
- "cosh",
- "tanh",
- "pow",
- "atan2",
- "fmod",
- "ldexp",
- "frexp",
- "modf",
- "lj_str_new",
- "lj_tab_len",
- "lj_gc_step",
- "lj_dispatch_ins",
- "lj_trace_hot",
- "lj_dispatch_call",
- "lj_trace_exit",
- "lj_err_throw",
- "trunc",
- "lj_ccallback_enter",
- "lj_ccallback_leave",
- "lj_meta_cat",
- "lj_gc_barrieruv",
- "lj_func_closeuv",
- "lj_func_newL_gc",
- "lj_tab_new",
- "lj_tab_dup",
- "lj_gc_step_fixtop",
- "lj_tab_newkey",
- "lj_tab_reasize",
- (const char *)0
-};
-#define Dt1(_V) (int)(ptrdiff_t)&(((lua_State *)0)_V)
-#define Dt2(_V) (int)(ptrdiff_t)&(((global_State *)0)_V)
-#define Dt3(_V) (int)(ptrdiff_t)&(((TValue *)0)_V)
-#define Dt4(_V) (int)(ptrdiff_t)&(((GCobj *)0)_V)
-#define Dt5(_V) (int)(ptrdiff_t)&(((GCstr *)0)_V)
-#define Dt6(_V) (int)(ptrdiff_t)&(((GCtab *)0)_V)
-#define Dt7(_V) (int)(ptrdiff_t)&(((GCfuncL *)0)_V)
-#define Dt8(_V) (int)(ptrdiff_t)&(((GCfuncC *)0)_V)
-#define Dt9(_V) (int)(ptrdiff_t)&(((GCproto *)0)_V)
-#define DtA(_V) (int)(ptrdiff_t)&(((GCupval *)0)_V)
-#define DtB(_V) (int)(ptrdiff_t)&(((Node *)0)_V)
-#define DtC(_V) (int)(ptrdiff_t)&(((int *)0)_V)
-#define DtD(_V) (int)(ptrdiff_t)&(((GCtrace *)0)_V)
-#define DISPATCH_GL(field) (GG_DISP2G + (int)offsetof(global_State, field))
-#define DISPATCH_J(field) (GG_DISP2J + (int)offsetof(jit_State, field))
-#define PC2PROTO(field) ((int)offsetof(GCproto, field)-(int)sizeof(GCproto))
-
-/* Generate subroutines used by opcodes and other parts of the VM. */
-/* The .code_sub section should be last to help static branch prediction. */
-static void build_subroutines(BuildCtx *ctx)
-{
- dasm_put(Dst, 0);
- dasm_put(Dst, 1, FRAME_P, LJ_TTRUE, FRAME_TYPE, FRAME_C, ~LJ_VMST_C, Dt1(->base), DISPATCH_GL(vmstate), 31-3, Dt1(->top));
- dasm_put(Dst, 55, Dt1(->cframe), 56+(14-14)*4, 128+(14-14)*8, 56+(15-14)*4, 128+(15-14)*8, 56+(16-14)*4, 128+(16-14)*8, 56+(17-14)*4, 128+(17-14)*8, 56+(18-14)*4, 128+(18-14)*8, 56+(19-14)*4, 128+(19-14)*8, 56+(20-14)*4, 128+(20-14)*8, 56+(21-14)*4, 128+(21-14)*8, 56+(22-14)*4, 128+(22-14)*8, 56+(23-14)*4, 128+(23-14)*8);
- dasm_put(Dst, 105, 56+(24-14)*4, 128+(24-14)*8, 56+(25-14)*4, 128+(25-14)*8, 56+(26-14)*4, 128+(26-14)*8, 56+(27-14)*4, 128+(27-14)*8, 56+(28-14)*4, 128+(28-14)*8, 56+(29-14)*4, 128+(29-14)*8, 56+(30-14)*4, 128+(30-14)*8, 56+(31-14)*4, 128+(31-14)*8, Dt1(->maxstack));
- dasm_put(Dst, 154, Dt1(->top), 31-3, Dt1(->top), ~LJ_VMST_C, Dt1(->glref), Dt2(->vmstate), LJ_TISNUM, Dt1(->base), Dt1(->glref), LJ_TFALSE, LJ_TNIL, ~LJ_VMST_INTERP, GG_G2DISP);
- dasm_put(Dst, 217, DISPATCH_GL(vmstate), LUA_MINSTACK, Dt1(->base), Dt1(->top), 32-3, Dt1(->base), Dt1(->top), Dt7(->pc), 56+(14-14)*4, 128+(14-14)*8, 56+(15-14)*4, 128+(15-14)*8, 56+(16-14)*4, 128+(16-14)*8, 56+(17-14)*4);
- dasm_put(Dst, 278, 128+(17-14)*8, 56+(18-14)*4, 128+(18-14)*8, 56+(19-14)*4, 128+(19-14)*8, 56+(20-14)*4, 128+(20-14)*8, 56+(21-14)*4, 128+(21-14)*8, 56+(22-14)*4, 128+(22-14)*8, 56+(23-14)*4, 128+(23-14)*8, 56+(24-14)*4, 128+(24-14)*8, 56+(25-14)*4, 128+(25-14)*8, 56+(26-14)*4, 128+(26-14)*8, 56+(27-14)*4, 128+(27-14)*8, 56+(28-14)*4);
- dasm_put(Dst, 325, 128+(28-14)*8, 56+(29-14)*4, 128+(29-14)*8, 56+(30-14)*4, 128+(30-14)*8, 56+(31-14)*4, 128+(31-14)*8, Dt1(->glref), Dt1(->status), FRAME_CP, CFRAME_RESUME, GG_G2DISP, Dt1(->cframe), Dt1(->base), LJ_TISNUM, Dt1(->top), Dt1(->status), ~LJ_VMST_INTERP, DISPATCH_GL(vmstate), FRAME_TYPE, LJ_TNIL);
- dasm_put(Dst, 393, 56+(14-14)*4, 128+(14-14)*8, 56+(15-14)*4, 128+(15-14)*8, 56+(16-14)*4, 128+(16-14)*8, 56+(17-14)*4, 128+(17-14)*8, 56+(18-14)*4, 128+(18-14)*8, 56+(19-14)*4, 128+(19-14)*8, 56+(20-14)*4, 128+(20-14)*8, 56+(21-14)*4, 128+(21-14)*8, 56+(22-14)*4, 128+(22-14)*8, 56+(23-14)*4);
- dasm_put(Dst, 440, 128+(23-14)*8, 56+(24-14)*4, 128+(24-14)*8, 56+(25-14)*4, 128+(25-14)*8, 56+(26-14)*4, 128+(26-14)*8, 56+(27-14)*4, 128+(27-14)*8, 56+(28-14)*4, 128+(28-14)*8, 56+(29-14)*4, 128+(29-14)*8, 56+(30-14)*4, 128+(30-14)*8, 56+(31-14)*4, 128+(31-14)*8, FRAME_CP, 56+(14-14)*4, 128+(14-14)*8);
- dasm_put(Dst, 488, 56+(15-14)*4, 128+(15-14)*8, 56+(16-14)*4, 128+(16-14)*8, 56+(17-14)*4, 128+(17-14)*8, 56+(18-14)*4, 128+(18-14)*8, 56+(19-14)*4, 128+(19-14)*8, 56+(20-14)*4, 128+(20-14)*8, 56+(21-14)*4, 128+(21-14)*8, 56+(22-14)*4, 128+(22-14)*8, 56+(23-14)*4, 128+(23-14)*8, 56+(24-14)*4, 128+(24-14)*8, 56+(25-14)*4, 128+(25-14)*8);
- dasm_put(Dst, 535, 56+(26-14)*4, 128+(26-14)*8, 56+(27-14)*4, 128+(27-14)*8, 56+(28-14)*4, 128+(28-14)*8, 56+(29-14)*4, 128+(29-14)*8, 56+(30-14)*4, 128+(30-14)*8, 56+(31-14)*4, 128+(31-14)*8, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, Dt1(->base), LJ_TISNUM, Dt1(->top));
- dasm_put(Dst, 586, ~LJ_VMST_INTERP, LJ_TNIL, DISPATCH_GL(vmstate), LJ_TFUNC, Dt7(->pc), 56+(14-14)*4, 128+(14-14)*8, 56+(15-14)*4, 128+(15-14)*8, 56+(16-14)*4, 128+(16-14)*8, 56+(17-14)*4, 128+(17-14)*8, 56+(18-14)*4, 128+(18-14)*8, 56+(19-14)*4, 128+(19-14)*8, 56+(20-14)*4);
- dasm_put(Dst, 653, 128+(20-14)*8, 56+(21-14)*4, 128+(21-14)*8, 56+(22-14)*4, 128+(22-14)*8, 56+(23-14)*4, 128+(23-14)*8, 56+(24-14)*4, 128+(24-14)*8, 56+(25-14)*4, 128+(25-14)*8, 56+(26-14)*4, 128+(26-14)*8, 56+(27-14)*4, 128+(27-14)*8, 56+(28-14)*4, 128+(28-14)*8, 56+(29-14)*4, 128+(29-14)*8, 56+(30-14)*4, 128+(30-14)*8, 56+(31-14)*4);
- dasm_put(Dst, 700, 128+(31-14)*8, Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), Dt1(->glref), FRAME_CP, GG_G2DISP);
-#if LJ_HASFFI
- dasm_put(Dst, 738);
-#endif
- dasm_put(Dst, 740, Dt7(->pc));
-#if LJ_HASFFI
- dasm_put(Dst, 746);
-#endif
- dasm_put(Dst, 749, PC2PROTO(k));
-#if LJ_HASFFI
- dasm_put(Dst, 754);
-#endif
- dasm_put(Dst, 762, Dt1(->base), DISPATCH_GL(tmptv), LJ_TSTR, DISPATCH_GL(tmptv), LJ_TTAB, DISPATCH_GL(tmptv2), LJ_TSTR);
- if (!LJ_DUALNUM) {
- dasm_put(Dst, 807);
- }
- dasm_put(Dst, 811, DISPATCH_GL(tmptv));
- if (LJ_DUALNUM) {
- dasm_put(Dst, 816);
- } else {
- dasm_put(Dst, 819);
- }
- dasm_put(Dst, 821, Dt1(->base), FRAME_CONT, Dt1(->top), DISPATCH_GL(tmptv), LJ_TSTR, DISPATCH_GL(tmptv), LJ_TTAB, DISPATCH_GL(tmptv2), LJ_TSTR);
- if (!LJ_DUALNUM) {
- dasm_put(Dst, 889);
- }
- dasm_put(Dst, 893, DISPATCH_GL(tmptv));
- if (LJ_DUALNUM) {
- dasm_put(Dst, 898);
- } else {
- dasm_put(Dst, 901);
- }
- dasm_put(Dst, 903, Dt1(->base), FRAME_CONT, Dt1(->top));
- if (LJ_DUALNUM) {
- dasm_put(Dst, 948);
- } else {
- dasm_put(Dst, 950);
- }
- dasm_put(Dst, 952);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 954);
- } else {
- dasm_put(Dst, 956);
- }
- dasm_put(Dst, 958, Dt1(->base), -(BCBIAS_J*4 >> 16), LJ_TTRUE, LJ_TTRUE, Dt1(->base));
-#if LJ_HASFFI
- dasm_put(Dst, 1021, Dt1(->base));
-#endif
- dasm_put(Dst, 1032);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 1039);
- }
- dasm_put(Dst, 1044);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 1058);
- }
- dasm_put(Dst, 1061);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 1064);
- }
- dasm_put(Dst, 1067, Dt1(->base), FRAME_CONT);
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 1091);
-#endif
- dasm_put(Dst, 1093, Dt1(->base));
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 1101);
-#else
- dasm_put(Dst, 1108);
-#endif
- dasm_put(Dst, 1111, Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base));
-#if LJ_HASJIT
- dasm_put(Dst, 1159);
-#endif
- dasm_put(Dst, 1161);
-#if LJ_HASJIT
- dasm_put(Dst, 1163, BC_JFORI);
-#endif
- dasm_put(Dst, 1166);
-#if LJ_HASJIT
- dasm_put(Dst, 1168, BC_JFORI);
-#endif
- dasm_put(Dst, 1171, BC_FORI, LJ_TFALSE, ~LJ_TISNUM+1, 31-3, Dt8(->upvalue), LJ_TTAB, Dt6(->metatable));
- dasm_put(Dst, 1234, LJ_TNIL, DISPATCH_GL(gcroot[GCROOT_MMNAME+MM_metatable]), Dt6(->hmask), LJ_TTAB, Dt5(->hash), Dt6(->node), 31-5, 31-3, DtB(->key), 4+offsetof(Node, key), DtB(->val), 4+offsetof(Node, val), LJ_TSTR, DtB(->next));
- dasm_put(Dst, 1282, LJ_TNIL, LJ_TUDATA, ~LJ_TISNUM+1, 31-2, DISPATCH_GL(gcroot[GCROOT_BASEMT]), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
- dasm_put(Dst, 1337, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist), LJ_TTAB, LJ_TSTR, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), Dt1(->base));
- dasm_put(Dst, 1397, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
- if (LJ_DUALNUM) {
- dasm_put(Dst, 1407);
- } else {
- dasm_put(Dst, 1410);
- }
- dasm_put(Dst, 1413, LJ_TSTR, LJ_TTAB, Dt1(->base), Dt1(->top), LJ_TNIL, (2+1)*8, LJ_TTAB);
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 1464, Dt6(->metatable), Dt8(->upvalue[0]));
-#else
- dasm_put(Dst, 1473, Dt8(->upvalue[0]));
-#endif
- dasm_put(Dst, 1477, (3+1)*8);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 1489);
- } else {
- dasm_put(Dst, 1491);
- }
- dasm_put(Dst, 1493, LJ_TTAB);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 1500);
- } else {
- dasm_put(Dst, 1505);
- }
- dasm_put(Dst, 1517, Dt6(->asize), Dt6(->array));
- if (!LJ_DUALNUM) {
- dasm_put(Dst, 1522);
- }
- dasm_put(Dst, 1524);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 1528, 31-3);
- } else {
- dasm_put(Dst, 1533, 31-3);
- }
- dasm_put(Dst, 1537, LJ_TNIL, (0+1)*8, (2+1)*8, Dt6(->hmask), (0+1)*8, (0+1)*8, LJ_TTAB);
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 1585, Dt6(->metatable), Dt8(->upvalue[0]));
-#else
- dasm_put(Dst, 1594, Dt8(->upvalue[0]));
-#endif
- if (LJ_DUALNUM) {
- dasm_put(Dst, 1598);
- } else {
- dasm_put(Dst, 1600);
- }
- dasm_put(Dst, 1602, (3+1)*8, DISPATCH_GL(hookmask), 32-HOOK_ACTIVE_SHIFT, 8+FRAME_PCALL, DISPATCH_GL(hookmask), LJ_TFUNC, 32-HOOK_ACTIVE_SHIFT, 16+FRAME_PCALL, LJ_TTHREAD, Dt1(->status), Dt1(->cframe));
- dasm_put(Dst, 1662, Dt1(->top), LUA_YIELD, Dt1(->base), Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->base), LUA_YIELD, Dt1(->top), ~LJ_VMST_INTERP, Dt1(->base), DISPATCH_GL(vmstate));
- dasm_put(Dst, 1724, Dt1(->maxstack), Dt1(->top), FRAME_TYPE, LJ_TTRUE, FRAME_TYPE, LJ_TFALSE, Dt1(->top), (2+1)*8, 32-3);
- dasm_put(Dst, 1787, Dt8(->upvalue[0].gcr), Dt1(->status), Dt1(->cframe), Dt1(->top), LUA_YIELD, Dt1(->base), Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->base), LUA_YIELD, Dt1(->top), ~LJ_VMST_INTERP);
- dasm_put(Dst, 1846, Dt1(->base), DISPATCH_GL(vmstate), Dt1(->maxstack), Dt1(->top), FRAME_TYPE, 32-3, Dt1(->cframe));
- dasm_put(Dst, 1903, Dt1(->base), CFRAME_RESUME, Dt1(->top), LUA_YIELD, Dt1(->cframe), Dt1(->status));
- if (LJ_DUALNUM) {
- dasm_put(Dst, 1928);
- }
- dasm_put(Dst, 1949, (1+1)*8, FRAME_TYPE);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 1991, 31-11, 32-21, 31-11);
- dasm_put(Dst, 2073, 31-11, 32-21, 31-11);
- } else {
- dasm_put(Dst, 2127);
- }
- dasm_put(Dst, 2154);
- dasm_put(Dst, 2213);
- dasm_put(Dst, 2271);
- dasm_put(Dst, 2327, Dt8(->upvalue[0]));
- dasm_put(Dst, 2393);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 2397);
- } else {
- dasm_put(Dst, 2412);
- }
- dasm_put(Dst, 2430, DISPATCH_GL(tmptv), DISPATCH_GL(tmptv));
- if (!LJ_DUALNUM) {
- dasm_put(Dst, 2452);
- }
- dasm_put(Dst, 2457, (2+1)*8);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 2461);
- } else {
- dasm_put(Dst, 2464);
- }
- dasm_put(Dst, 2466, (2+1)*8);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 2488);
- } else {
- dasm_put(Dst, 2557);
- }
- if (LJ_DUALNUM) {
- dasm_put(Dst, 2582);
- } else {
- dasm_put(Dst, 2651);
- }
- dasm_put(Dst, 2676, LJ_TSTR, Dt5(->len), LJ_TSTR, Dt5(->len));
- if (LJ_DUALNUM) {
- dasm_put(Dst, 2703, Dt5([1]), (0+1)*8);
- } else {
- dasm_put(Dst, 2715, Dt5([1]), 31-3);
- }
- dasm_put(Dst, 2731, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
- if (LJ_DUALNUM) {
- dasm_put(Dst, 2742);
- } else {
- dasm_put(Dst, 2750);
- }
- dasm_put(Dst, 2761, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
- if (!LJ_DUALNUM) {
- dasm_put(Dst, 2789);
- }
- dasm_put(Dst, 2791);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 2797);
- } else {
- dasm_put(Dst, 2799);
- }
- dasm_put(Dst, 2801);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 2805);
- } else {
- dasm_put(Dst, 2814);
- }
- dasm_put(Dst, 2825, LJ_TSTR);
- if (!LJ_DUALNUM) {
- dasm_put(Dst, 2830);
- }
- dasm_put(Dst, 2834, Dt5(->len), sizeof(GCstr)-1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
- if (LJ_DUALNUM) {
- dasm_put(Dst, 2884);
- } else {
- dasm_put(Dst, 2886);
- }
- dasm_put(Dst, 2888, LJ_TSTR);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 2895);
- } else {
- dasm_put(Dst, 2899);
- }
- dasm_put(Dst, 2906, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(strempty), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, DISPATCH_GL(tmpbuf.sz));
- dasm_put(Dst, 2959, Dt5(->len), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, DISPATCH_GL(tmpbuf.sz), Dt5(->len), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
- dasm_put(Dst, 3017, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, DISPATCH_GL(tmpbuf.sz), Dt5(->len), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), LJ_TTAB);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3086);
- } else {
- dasm_put(Dst, 3096);
- }
- dasm_put(Dst, 3109);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3115);
- } else {
- dasm_put(Dst, 3117);
- }
- dasm_put(Dst, 3119);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3123);
- } else {
- dasm_put(Dst, 3126);
- }
- dasm_put(Dst, 3132);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3137);
- } else {
- dasm_put(Dst, 3147);
- }
- dasm_put(Dst, 3160);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3166);
- } else {
- dasm_put(Dst, 3168);
- }
- dasm_put(Dst, 3170);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3174);
- } else {
- dasm_put(Dst, 3177);
- }
- dasm_put(Dst, 3183);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3188);
- } else {
- dasm_put(Dst, 3198);
- }
- dasm_put(Dst, 3211);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3217);
- } else {
- dasm_put(Dst, 3219);
- }
- dasm_put(Dst, 3221);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3225);
- } else {
- dasm_put(Dst, 3228);
- }
- dasm_put(Dst, 3234);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3239);
- } else {
- dasm_put(Dst, 3249);
- }
- dasm_put(Dst, 3262);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3269);
- } else {
- dasm_put(Dst, 3279);
- }
- dasm_put(Dst, 3292);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3296);
- } else {
- dasm_put(Dst, 3311);
- }
- dasm_put(Dst, 3332);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3337);
- } else {
- dasm_put(Dst, 3352);
- }
- dasm_put(Dst, 3373);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3378);
- } else {
- dasm_put(Dst, 3393);
- }
- dasm_put(Dst, 3414);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3419);
- } else {
- dasm_put(Dst, 3434);
- }
- dasm_put(Dst, 3455);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3459);
- } else {
- dasm_put(Dst, 3474);
- }
- dasm_put(Dst, 3495);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3500);
- } else {
- dasm_put(Dst, 3510);
- }
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3523);
- } else {
- dasm_put(Dst, 3526);
- }
- dasm_put(Dst, 3532);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3540);
- }
- dasm_put(Dst, 3548);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3550);
- }
- dasm_put(Dst, 3558, Dt8(->f), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), 31-3, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK);
- dasm_put(Dst, 3622, Dt1(->base), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
-#if LJ_HASJIT
- dasm_put(Dst, 3648, DISPATCH_GL(hookmask), HOOK_VMEVENT, DISPATCH_GL(hookcount), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
-#endif
- dasm_put(Dst, 3670, DISPATCH_GL(hookmask), HOOK_ACTIVE, GG_DISP2STATIC, DISPATCH_GL(hookmask), DISPATCH_GL(hookcount), HOOK_ACTIVE, 31-LUA_HOOKLINE, DISPATCH_GL(hookcount), Dt1(->base), Dt1(->base));
- dasm_put(Dst, 3717, GG_DISP2STATIC);
-#if LJ_HASJIT
- dasm_put(Dst, 3735, GG_DISP2J, Dt7(->pc), DISPATCH_J(L), PC2PROTO(framesize), Dt1(->base), 31-3, Dt1(->top));
-#endif
- dasm_put(Dst, 3758);
-#if LJ_HASJIT
- dasm_put(Dst, 3761);
-#endif
- dasm_put(Dst, 3764);
-#if LJ_HASJIT
- dasm_put(Dst, 3766);
-#endif
- dasm_put(Dst, 3769, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
-#if LJ_HASJIT
- dasm_put(Dst, 3792, -(16+32*8+32*4), 16+32*8+2*4, -GG_DISP2G-32768, ~LJ_VMST_EXIT, 16+32*8+32*4, DISPATCH_GL(vmstate), 16+0*8, 16+1*8, 16+2*8, 16+3*8, 16+4*8, 16+5*8, 16+6*8, 16+7*8, 16+32*8+32*4, 16+8*8, 16+9*8, 16+10*8, 16+11*8, 16+32*8+1*4, 16+12*8, 16+13*8);
- dasm_put(Dst, 3839, 16+14*8, 16+15*8, 16+16*8, 16+17*8, 16+18*8, 16+19*8, 16+32*8+0*4, 16+20*8, 16+21*8, 16+22*8, 16+23*8, 16+24*8, 16+25*8, 16+26*8, 16+27*8, DISPATCH_GL(jit_L), 16+28*8, 16+29*8, 16+30*8, 16+31*8, DISPATCH_GL(jit_base), 32-2);
- dasm_put(Dst, 3888, DISPATCH_J(L), DISPATCH_GL(jit_L), DISPATCH_J(parent), Dt1(->base), GG_DISP2J, DISPATCH_J(exitno), Dt1(->cframe), Dt1(->base));
-#endif
- dasm_put(Dst, 3916);
-#if LJ_HASJIT
- dasm_put(Dst, 3918, -GG_DISP2G-32768, 31-3, Dt7(->pc), DISPATCH_GL(jit_L), PC2PROTO(k), LJ_TISNUM, LJ_TNIL, DISPATCH_GL(vmstate), BC_FUNCF*4);
-#endif
- dasm_put(Dst, 3975);
-#if LJ_HASJIT
- dasm_put(Dst, 3983);
-#endif
- dasm_put(Dst, 3986);
-#if LJ_HASJIT
- dasm_put(Dst, 4066);
-#else
- dasm_put(Dst, 4088);
-#endif
- dasm_put(Dst, 4090);
-#if LJ_HASFFI
-#define DtE(_V) (int)(ptrdiff_t)&(((CTState *)0)_V)
- dasm_put(Dst, 4114, 56+(14-14)*4, 128+(14-14)*8, 56+(15-14)*4, 128+(15-14)*8, 56+(16-14)*4, 128+(16-14)*8, 56+(17-14)*4, 128+(17-14)*8, 56+(18-14)*4, 128+(18-14)*8, 56+(19-14)*4, 128+(19-14)*8, 56+(20-14)*4, 128+(20-14)*8, 56+(21-14)*4, 128+(21-14)*8, 56+(22-14)*4, 128+(22-14)*8, 56+(23-14)*4, 128+(23-14)*8, 56+(24-14)*4, 128+(24-14)*8);
- dasm_put(Dst, 4162, 56+(25-14)*4, 128+(25-14)*8, 56+(26-14)*4, 128+(26-14)*8, 56+(27-14)*4, 128+(27-14)*8, 56+(28-14)*4, 128+(28-14)*8, 56+(29-14)*4, 128+(29-14)*8, 56+(30-14)*4, 128+(30-14)*8, 56+(31-14)*4, 128+(31-14)*8, Dt2(->ctype_state), GG_G2DISP, DtE(->cb.slot), DtE(->cb.gpr[0]), DtE(->cb.fpr[0]), DtE(->cb.gpr[1]), DtE(->cb.fpr[1]), DtE(->cb.gpr[2]));
- dasm_put(Dst, 4209, DtE(->cb.fpr[2]), DtE(->cb.gpr[3]), DtE(->cb.fpr[3]), DtE(->cb.gpr[4]), DtE(->cb.fpr[4]), DtE(->cb.gpr[5]), DtE(->cb.fpr[5]), DtE(->cb.gpr[6]), DtE(->cb.fpr[6]), DtE(->cb.gpr[7]), DtE(->cb.fpr[7]), 272+8, DtE(->cb.stack), Dt1(->base), LJ_TISNUM, Dt1(->top), LJ_TNIL, ~LJ_VMST_INTERP, DISPATCH_GL(vmstate), Dt7(->pc));
-#endif
- dasm_put(Dst, 4273);
-#if LJ_HASFFI
- dasm_put(Dst, 4275, DISPATCH_GL(ctype_state), Dt1(->base), Dt1(->top), DtE(->L), DtE(->cb.gpr[0]), DtE(->cb.fpr[0]), DtE(->cb.gpr[1]));
-#endif
- dasm_put(Dst, 4296);
-#if LJ_HASFFI
-#define DtF(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
- dasm_put(Dst, 4298, DtF(->spadj), DtF(->nsp), DtF(->nfpr), DtF(->stack), 31-2, DtF(->fpr[0]), DtF(->fpr[1]), DtF(->fpr[2]), DtF(->fpr[3]), DtF(->fpr[4]), DtF(->fpr[5]), DtF(->fpr[6]), DtF(->fpr[7]), DtF(->func), DtF(->gpr[1]), DtF(->gpr[2]));
- dasm_put(Dst, 4355, DtF(->gpr[3]), DtF(->gpr[4]), DtF(->gpr[5]), DtF(->gpr[6]), DtF(->gpr[7]), DtF(->gpr[0]), DtF(->gpr[0]), DtF(->fpr[0]), DtF(->gpr[1]), DtF(->gpr[2]), DtF(->gpr[3]));
-#endif
-}
-
-/* Generate the code for a single instruction. */
-static void build_ins(BuildCtx *ctx, BCOp op, int defop)
-{
- int vk = 0;
- dasm_put(Dst, 4387, defop);
-
- switch (op) {
-
- /* -- Comparison ops ---------------------------------------------------- */
-
- /* Remember: all ops branch for a true comparison, fall through otherwise. */
-
- case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
- if (LJ_DUALNUM) {
- dasm_put(Dst, 4389, -(BCBIAS_J*4 >> 16));
- if (op == BC_ISLT) {
- dasm_put(Dst, 4406);
- } else if (op == BC_ISGE) {
- dasm_put(Dst, 4409);
- } else if (op == BC_ISLE) {
- dasm_put(Dst, 4412);
- } else {
- dasm_put(Dst, 4415);
- }
- dasm_put(Dst, 4418);
- if (op == BC_ISLT) {
- dasm_put(Dst, 4457);
- } else if (op == BC_ISGE) {
- dasm_put(Dst, 4460);
- } else if (op == BC_ISLE) {
- dasm_put(Dst, 4463);
- } else {
- dasm_put(Dst, 4467);
- }
- dasm_put(Dst, 4471);
- } else {
- dasm_put(Dst, 4474, -(BCBIAS_J*4 >> 16));
- if (op == BC_ISLT) {
- dasm_put(Dst, 4491);
- } else if (op == BC_ISGE) {
- dasm_put(Dst, 4494);
- } else if (op == BC_ISLE) {
- dasm_put(Dst, 4497);
- } else {
- dasm_put(Dst, 4501);
- }
- dasm_put(Dst, 4505);
- }
- break;
-
- case BC_ISEQV: case BC_ISNEV:
- vk = op == BC_ISEQV;
- if (LJ_DUALNUM) {
- dasm_put(Dst, 4518, -(BCBIAS_J*4 >> 16));
- if (vk) {
- dasm_put(Dst, 4531);
- } else {
- dasm_put(Dst, 4534);
- }
- } else {
- dasm_put(Dst, 4537, -(BCBIAS_J*4 >> 16));
- if (vk) {
- dasm_put(Dst, 4554);
- } else {
- dasm_put(Dst, 4558);
- }
- dasm_put(Dst, 4562);
- }
- dasm_put(Dst, 4574);
- if (!LJ_DUALNUM) {
- dasm_put(Dst, 4576);
- }
- if (LJ_HASFFI) {
- dasm_put(Dst, 4579, LJ_TCDATA, LJ_TCDATA);
- }
- dasm_put(Dst, 4584, ~LJ_TISPRI);
- if (LJ_HASFFI) {
- dasm_put(Dst, 4589);
- }
- dasm_put(Dst, 4591, ~LJ_TISTABUD);
- if (LJ_HASFFI) {
- dasm_put(Dst, 4594);
- }
- dasm_put(Dst, 4597);
- if (vk) {
- dasm_put(Dst, 4605);
- } else {
- dasm_put(Dst, 4610);
- }
- if (LJ_DUALNUM) {
- dasm_put(Dst, 4615);
- } else {
- dasm_put(Dst, 4630);
- }
- dasm_put(Dst, 4633, Dt6(->metatable), 1-vk, Dt6(->nomm), 1<<MM_eq);
- break;
-
- case BC_ISEQS: case BC_ISNES:
- vk = op == BC_ISEQS;
- dasm_put(Dst, 4652, 32-1);
- if (LJ_HASFFI) {
- dasm_put(Dst, 4660, LJ_TCDATA);
- }
- dasm_put(Dst, 4663, LJ_TSTR);
- if (LJ_HASFFI) {
- dasm_put(Dst, 4667);
- }
- dasm_put(Dst, 4670, -(BCBIAS_J*4 >> 16));
- if (vk) {
- dasm_put(Dst, 4678);
- } else {
- dasm_put(Dst, 4680);
- }
- dasm_put(Dst, 4682);
- break;
-
- case BC_ISEQN: case BC_ISNEN:
- vk = op == BC_ISEQN;
- if (LJ_DUALNUM) {
- dasm_put(Dst, 4694, -(BCBIAS_J*4 >> 16));
- if (vk) {
- dasm_put(Dst, 4706);
- } else {
- dasm_put(Dst, 4708);
- }
- dasm_put(Dst, 4710);
- } else {
- if (vk) {
- dasm_put(Dst, 4717);
- } else {
- dasm_put(Dst, 4719);
- }
- dasm_put(Dst, 4721, -(BCBIAS_J*4 >> 16));
- }
- if (vk) {
- dasm_put(Dst, 4734);
- if (!LJ_HASFFI) {
- dasm_put(Dst, 4739);
- }
- } else {
- dasm_put(Dst, 4741);
- if (!LJ_HASFFI) {
- dasm_put(Dst, 4745);
- }
- dasm_put(Dst, 4747);
- }
- dasm_put(Dst, 4750);
- if (LJ_HASFFI) {
- dasm_put(Dst, 4761, LJ_TCDATA);
- }
- if (LJ_DUALNUM) {
- dasm_put(Dst, 4769);
- }
- break;
-
- case BC_ISEQP: case BC_ISNEP:
- vk = op == BC_ISEQP;
- dasm_put(Dst, 4793, 32-3);
- if (LJ_HASFFI) {
- dasm_put(Dst, 4800, LJ_TCDATA);
- }
- dasm_put(Dst, 4803);
- if (LJ_HASFFI) {
- dasm_put(Dst, 4805);
- }
- dasm_put(Dst, 4808, -(BCBIAS_J*4 >> 16));
- if (vk) {
- dasm_put(Dst, 4814);
- } else {
- dasm_put(Dst, 4816);
- }
- dasm_put(Dst, 4818);
- break;
-
- /* -- Unary test and copy ops ------------------------------------------- */
-
- case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
- dasm_put(Dst, 4830);
- if (op == BC_IST || op == BC_ISF) {
- dasm_put(Dst, 4834, LJ_TTRUE, -(BCBIAS_J*4 >> 16));
- if (op == BC_IST) {
- dasm_put(Dst, 4841);
- } else {
- dasm_put(Dst, 4843);
- }
- dasm_put(Dst, 4845);
- } else {
- dasm_put(Dst, 4847, LJ_TFALSE);
- if (op == BC_ISTC) {
- dasm_put(Dst, 4852);
- } else {
- dasm_put(Dst, 4855);
- }
- dasm_put(Dst, 4858, -(BCBIAS_J*4 >> 16));
- }
- dasm_put(Dst, 4865);
- break;
-
- /* -- Unary ops --------------------------------------------------------- */
-
- case BC_MOV:
- dasm_put(Dst, 4876);
- break;
- case BC_NOT:
- dasm_put(Dst, 4889, LJ_TTRUE);
- break;
- case BC_UNM:
- dasm_put(Dst, 4905);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 4909);
- }
- dasm_put(Dst, 4937);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 4947);
- } else {
- dasm_put(Dst, 4950);
- }
- break;
- case BC_LEN:
- dasm_put(Dst, 4959, LJ_TSTR, Dt5(->len));
- if (LJ_DUALNUM) {
- dasm_put(Dst, 4969);
- } else {
- dasm_put(Dst, 4974);
- }
- dasm_put(Dst, 4981, LJ_TTAB);
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 4995, Dt6(->metatable));
-#endif
- dasm_put(Dst, 5002);
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 5008, Dt6(->nomm), 1<<MM_len);
-#endif
- break;
-
- /* -- Binary ops -------------------------------------------------------- */
-
-
- case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
- if (LJ_DUALNUM) {
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 5018);
- break;
- case 1:
- dasm_put(Dst, 5024);
- break;
- default:
- dasm_put(Dst, 5030);
- break;
- }
- dasm_put(Dst, 5036);
- switch (vk) {
- case 0:
- dasm_put(Dst, 5063);
- break;
- case 1:
- dasm_put(Dst, 5066);
- break;
- default:
- dasm_put(Dst, 5069);
- break;
- }
- dasm_put(Dst, 5072);
- if (vk == 1) {
- dasm_put(Dst, 5074);
- } else {
- dasm_put(Dst, 5078);
- }
- switch (vk) {
- case 0:
- dasm_put(Dst, 5082);
- break;
- case 1:
- dasm_put(Dst, 5085);
- break;
- default:
- dasm_put(Dst, 5088);
- break;
- }
- dasm_put(Dst, 5091);
- } else {
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 5098);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5100);
- }
- dasm_put(Dst, 5102);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5105);
- } else {
- dasm_put(Dst, 5111);
- }
- break;
- case 1:
- dasm_put(Dst, 5115);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5117);
- }
- dasm_put(Dst, 5119);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5122);
- } else {
- dasm_put(Dst, 5128);
- }
- break;
- default:
- dasm_put(Dst, 5132);
- break;
- }
- dasm_put(Dst, 5142);
- }
- break;
- case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
- if (LJ_DUALNUM) {
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 5155);
- break;
- case 1:
- dasm_put(Dst, 5161);
- break;
- default:
- dasm_put(Dst, 5167);
- break;
- }
- dasm_put(Dst, 5173);
- switch (vk) {
- case 0:
- dasm_put(Dst, 5200);
- break;
- case 1:
- dasm_put(Dst, 5203);
- break;
- default:
- dasm_put(Dst, 5206);
- break;
- }
- dasm_put(Dst, 5209);
- if (vk == 1) {
- dasm_put(Dst, 5211);
- } else {
- dasm_put(Dst, 5215);
- }
- switch (vk) {
- case 0:
- dasm_put(Dst, 5219);
- break;
- case 1:
- dasm_put(Dst, 5222);
- break;
- default:
- dasm_put(Dst, 5225);
- break;
- }
- dasm_put(Dst, 5228);
- } else {
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 5235);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5237);
- }
- dasm_put(Dst, 5239);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5242);
- } else {
- dasm_put(Dst, 5248);
- }
- break;
- case 1:
- dasm_put(Dst, 5252);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5254);
- }
- dasm_put(Dst, 5256);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5259);
- } else {
- dasm_put(Dst, 5265);
- }
- break;
- default:
- dasm_put(Dst, 5269);
- break;
- }
- dasm_put(Dst, 5279);
- }
- break;
- case BC_MULVN: case BC_MULNV: case BC_MULVV:
- if (LJ_DUALNUM) {
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 5292);
- break;
- case 1:
- dasm_put(Dst, 5298);
- break;
- default:
- dasm_put(Dst, 5304);
- break;
- }
- dasm_put(Dst, 5310);
- switch (vk) {
- case 0:
- dasm_put(Dst, 5337);
- break;
- case 1:
- dasm_put(Dst, 5340);
- break;
- default:
- dasm_put(Dst, 5343);
- break;
- }
- dasm_put(Dst, 5346);
- if (vk == 1) {
- dasm_put(Dst, 5348);
- } else {
- dasm_put(Dst, 5352);
- }
- switch (vk) {
- case 0:
- dasm_put(Dst, 5356);
- break;
- case 1:
- dasm_put(Dst, 5359);
- break;
- default:
- dasm_put(Dst, 5362);
- break;
- }
- dasm_put(Dst, 5365);
- } else {
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 5372);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5374);
- }
- dasm_put(Dst, 5376);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5379);
- } else {
- dasm_put(Dst, 5385);
- }
- break;
- case 1:
- dasm_put(Dst, 5389);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5391);
- }
- dasm_put(Dst, 5393);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5396);
- } else {
- dasm_put(Dst, 5402);
- }
- break;
- default:
- dasm_put(Dst, 5406);
- break;
- }
- dasm_put(Dst, 5416);
- }
- break;
- case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 5429);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5431);
- }
- dasm_put(Dst, 5433);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5436);
- } else {
- dasm_put(Dst, 5442);
- }
- break;
- case 1:
- dasm_put(Dst, 5446);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5448);
- }
- dasm_put(Dst, 5450);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5453);
- } else {
- dasm_put(Dst, 5459);
- }
- break;
- default:
- dasm_put(Dst, 5463);
- break;
- }
- dasm_put(Dst, 5473);
- break;
- case BC_MODVN:
- if (LJ_DUALNUM) {
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 5486);
- break;
- case 1:
- dasm_put(Dst, 5492);
- break;
- default:
- dasm_put(Dst, 5498);
- break;
- }
- dasm_put(Dst, 5504);
- switch (vk) {
- case 0:
- dasm_put(Dst, 5532);
- break;
- case 1:
- dasm_put(Dst, 5535);
- break;
- default:
- dasm_put(Dst, 5538);
- break;
- }
- dasm_put(Dst, 5541);
- if (vk == 1) {
- dasm_put(Dst, 5543);
- } else {
- dasm_put(Dst, 5547);
- }
- switch (vk) {
- case 0:
- dasm_put(Dst, 5551);
- break;
- case 1:
- dasm_put(Dst, 5554);
- break;
- default:
- dasm_put(Dst, 5557);
- break;
- }
- dasm_put(Dst, 5560);
- } else {
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 5572);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5574);
- }
- dasm_put(Dst, 5576);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5579);
- } else {
- dasm_put(Dst, 5585);
- }
- break;
- case 1:
- dasm_put(Dst, 5589);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5591);
- }
- dasm_put(Dst, 5593);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5596);
- } else {
- dasm_put(Dst, 5602);
- }
- break;
- default:
- dasm_put(Dst, 5606);
- break;
- }
- dasm_put(Dst, 5616);
- }
- break;
- case BC_MODNV: case BC_MODVV:
- if (LJ_DUALNUM) {
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 5634);
- break;
- case 1:
- dasm_put(Dst, 5640);
- break;
- default:
- dasm_put(Dst, 5646);
- break;
- }
- dasm_put(Dst, 5652);
- switch (vk) {
- case 0:
- dasm_put(Dst, 5680);
- break;
- case 1:
- dasm_put(Dst, 5683);
- break;
- default:
- dasm_put(Dst, 5686);
- break;
- }
- dasm_put(Dst, 5689);
- if (vk == 1) {
- dasm_put(Dst, 5691);
- } else {
- dasm_put(Dst, 5695);
- }
- switch (vk) {
- case 0:
- dasm_put(Dst, 5699);
- break;
- case 1:
- dasm_put(Dst, 5702);
- break;
- default:
- dasm_put(Dst, 5705);
- break;
- }
- dasm_put(Dst, 5708);
- } else {
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 5711);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5713);
- }
- dasm_put(Dst, 5715);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5718);
- } else {
- dasm_put(Dst, 5724);
- }
- break;
- case 1:
- dasm_put(Dst, 5728);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5730);
- }
- dasm_put(Dst, 5732);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5735);
- } else {
- dasm_put(Dst, 5741);
- }
- break;
- default:
- dasm_put(Dst, 5745);
- break;
- }
- dasm_put(Dst, 5755);
- }
- break;
- case BC_POW:
- dasm_put(Dst, 5758);
- break;
-
- case BC_CAT:
- dasm_put(Dst, 5781, Dt1(->base), 32-3, Dt1(->base));
- break;
-
- /* -- Constant ops ------------------------------------------------------ */
-
- case BC_KSTR:
- dasm_put(Dst, 5811, 32-1, LJ_TSTR);
- break;
- case BC_KCDATA:
-#if LJ_HASFFI
- dasm_put(Dst, 5830, 32-1, LJ_TCDATA);
-#endif
- break;
- case BC_KSHORT:
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5849, 31-13);
- } else {
- dasm_put(Dst, 5865, 31-13, 31-20);
- }
- break;
- case BC_KNUM:
- dasm_put(Dst, 5893);
- break;
- case BC_KPRI:
- dasm_put(Dst, 5906, 32-3);
- break;
- case BC_KNIL:
- dasm_put(Dst, 5921);
- break;
-
- /* -- Upvalue and function ops ------------------------------------------ */
-
- case BC_UGET:
- dasm_put(Dst, 5940, 32-1, offsetof(GCfuncL, uvptr), DtA(->v));
- break;
- case BC_USETV:
- dasm_put(Dst, 5961, 32-1, offsetof(GCfuncL, uvptr), DtA(->marked), DtA(->v), LJ_GC_BLACK, DtA(->closed), -(LJ_TISNUM+1), LJ_TISGCV - (LJ_TISNUM+1), Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G);
- break;
- case BC_USETS:
- dasm_put(Dst, 6014, 32-1, 32-1, offsetof(GCfuncL, uvptr), DtA(->marked), DtA(->v), LJ_GC_BLACK, Dt5(->marked), DtA(->closed), LJ_TSTR, LJ_GC_WHITES, GG_DISP2G);
- break;
- case BC_USETN:
- dasm_put(Dst, 6065, 32-1, offsetof(GCfuncL, uvptr), DtA(->v));
- break;
- case BC_USETP:
- dasm_put(Dst, 6086, 32-1, 32-3, offsetof(GCfuncL, uvptr), DtA(->v));
- break;
-
- case BC_UCLO:
- dasm_put(Dst, 6109, Dt1(->openupval), 32-1, -(BCBIAS_J*4 >> 16), Dt1(->base), Dt1(->base));
- break;
-
- case BC_FNEW:
- dasm_put(Dst, 6139, 32-1, Dt1(->base), Dt1(->base), LJ_TFUNC);
- break;
-
- /* -- Table ops --------------------------------------------------------- */
-
- case BC_TNEW:
- case BC_TDUP:
- dasm_put(Dst, 6167, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base));
- if (op == BC_TNEW) {
- dasm_put(Dst, 6180);
- } else {
- dasm_put(Dst, 6189, 32-1);
- }
- dasm_put(Dst, 6196, Dt1(->base), LJ_TTAB);
- if (op == BC_TNEW) {
- dasm_put(Dst, 6213);
- }
- dasm_put(Dst, 6218);
- break;
-
- case BC_GGET:
- case BC_GSET:
- dasm_put(Dst, 6227, 32-1, Dt7(->env));
- if (op == BC_GGET) {
- dasm_put(Dst, 6235);
- } else {
- dasm_put(Dst, 6238);
- }
- break;
-
- case BC_TGETV:
- dasm_put(Dst, 6241);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6245);
- } else {
- dasm_put(Dst, 6247);
- }
- dasm_put(Dst, 6249, LJ_TTAB);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6255, Dt6(->asize), Dt6(->array), 31-3);
- } else {
- dasm_put(Dst, 6265, Dt6(->asize), Dt6(->array), 31-3);
- }
- dasm_put(Dst, 6282, LJ_TNIL, Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TSTR);
- if (!LJ_DUALNUM) {
- dasm_put(Dst, 6322);
- }
- dasm_put(Dst, 6324);
- break;
- case BC_TGETS:
- dasm_put(Dst, 6327, 32-1, LJ_TTAB, Dt6(->hmask), Dt5(->hash), Dt6(->node), 31-5, 31-3, DtB(->key), 4+offsetof(Node, key), DtB(->val), 4+offsetof(Node, val), LJ_TSTR, LJ_TNIL, DtB(->next));
- dasm_put(Dst, 6388, LJ_TNIL, Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
- break;
- case BC_TGETB:
- dasm_put(Dst, 6408, 32-3, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
- break;
-
- case BC_TSETV:
- dasm_put(Dst, 6456);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6460);
- } else {
- dasm_put(Dst, 6462);
- }
- dasm_put(Dst, 6464, LJ_TTAB);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6470, Dt6(->asize), Dt6(->array), 31-3);
- } else {
- dasm_put(Dst, 6480, Dt6(->asize), Dt6(->array), 31-3);
- }
- dasm_put(Dst, 6497, Dt6(->marked), LJ_TNIL, LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR);
- if (!LJ_DUALNUM) {
- dasm_put(Dst, 6544);
- }
- dasm_put(Dst, 6546, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
- break;
- case BC_TSETS:
- dasm_put(Dst, 6561, 32-1, LJ_TTAB, Dt6(->hmask), Dt5(->hash), Dt6(->node), Dt6(->nomm), 31-5, 31-3, Dt6(->marked), DtB(->key), 4+offsetof(Node, key), DtB(->val), DtB(->next), LJ_TSTR, LJ_TNIL);
- dasm_put(Dst, 6612, LJ_GC_BLACK, DtB(->val), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->metatable), DISPATCH_GL(tmptv), Dt1(->base), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR);
- dasm_put(Dst, 6669, Dt1(->base), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
- break;
- case BC_TSETB:
- dasm_put(Dst, 6692, 32-3, LJ_TTAB, Dt6(->asize), Dt6(->array), Dt6(->marked), LJ_TNIL, LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DISPATCH_GL(gc.grayagain));
- dasm_put(Dst, 6750, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
- break;
-
- case BC_TSETM:
- dasm_put(Dst, 6760, 32-3, Dt6(->asize), 31-3, Dt6(->marked), Dt6(->array), LJ_GC_BLACK, Dt1(->base), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
- dasm_put(Dst, 6829);
- break;
-
- /* -- Calls and vararg handling ----------------------------------------- */
-
- case BC_CALLM:
- dasm_put(Dst, 6832);
- break;
- case BC_CALL:
- dasm_put(Dst, 6834, LJ_TFUNC, Dt7(->pc));
- break;
-
- case BC_CALLMT:
- dasm_put(Dst, 6855);
- break;
- case BC_CALLT:
- dasm_put(Dst, 6857, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), FRAME_VARG, Dt7(->pc), -4-8, Dt7(->pc), PC2PROTO(k), FRAME_TYPEP);
- dasm_put(Dst, 6921, FRAME_TYPE);
- break;
-
- case BC_ITERC:
- dasm_put(Dst, 6930, LJ_TFUNC, Dt7(->pc));
- break;
-
- case BC_ITERN:
-#if LJ_HASJIT
-#endif
- dasm_put(Dst, 6957, Dt6(->asize), Dt6(->array), 31-3, LJ_TNIL);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6979);
- } else {
- dasm_put(Dst, 6982);
- }
- dasm_put(Dst, 6986, -(BCBIAS_J*4 >> 16));
- if (!LJ_DUALNUM) {
- dasm_put(Dst, 6994);
- }
- dasm_put(Dst, 6996, Dt6(->hmask), Dt6(->node), 31-5, 31-3, LJ_TNIL, DtB(->key), -(BCBIAS_J*4 >> 16));
- break;
-
- case BC_ISNEXT:
- dasm_put(Dst, 7052, LJ_TTAB, LJ_TFUNC, LJ_TNIL, Dt8(->ffid), FF_next_N, 32-1, -(BCBIAS_J*4 >> 16), BC_JMP, BC_ITERC, -(BCBIAS_J*4 >> 16));
- break;
-
- case BC_VARG:
- dasm_put(Dst, 7102, FRAME_VARG, Dt1(->maxstack), Dt1(->top), Dt1(->base), 32-3, Dt1(->base));
- dasm_put(Dst, 7182);
- break;
-
- /* -- Returns ----------------------------------------------------------- */
-
- case BC_RETM:
- dasm_put(Dst, 7188);
- break;
-
- case BC_RET:
- dasm_put(Dst, 7190, FRAME_TYPE, FRAME_VARG, Dt7(->pc), PC2PROTO(k), FRAME_TYPEP);
- break;
-
- case BC_RET0: case BC_RET1:
- dasm_put(Dst, 7260, FRAME_TYPE, FRAME_VARG);
- if (op == BC_RET1) {
- dasm_put(Dst, 7273);
- }
- dasm_put(Dst, 7276, Dt7(->pc), PC2PROTO(k));
- break;
-
- /* -- Loops and branches ------------------------------------------------ */
-
- case BC_FORL:
-#if LJ_HASJIT
- dasm_put(Dst, 7304, GG_DISP2HOT, -HOTCOUNT_LOOP);
-#endif
- break;
-
- case BC_JFORI:
- case BC_JFORL:
-#if !LJ_HASJIT
- break;
-#endif
- case BC_FORI:
- case BC_IFORL:
- vk = (op == BC_IFORL || op == BC_JFORL);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 7314, FORL_IDX*8+4);
- if (vk) {
- dasm_put(Dst, 7319, FORL_STEP*8+4, FORL_STOP*8+4, FORL_IDX*8+4);
- } else {
- dasm_put(Dst, 7333, FORL_STEP*8, FORL_STEP*8+4, FORL_STOP*8, FORL_STOP*8+4);
- }
- dasm_put(Dst, 7349, FORL_EXT*8);
- if (op != BC_JFORL) {
- dasm_put(Dst, 7356, 32-1);
- }
- dasm_put(Dst, 7359, FORL_EXT*8+4);
- if (op != BC_JFORL) {
- dasm_put(Dst, 7362);
- }
- if (op == BC_FORI) {
- dasm_put(Dst, 7364);
- } else if (op == BC_JFORI) {
- dasm_put(Dst, 7367, -(BCBIAS_J*4 >> 16));
- } else if (op == BC_IFORL) {
- dasm_put(Dst, 7372, -(BCBIAS_J*4 >> 16));
- } else {
- dasm_put(Dst, 7377, BC_JLOOP);
- }
- dasm_put(Dst, 7380);
- if (vk) {
- dasm_put(Dst, 7396);
- }
- }
- if (vk) {
- if (LJ_DUALNUM) {
- dasm_put(Dst, 7403, FORL_IDX*8);
- } else {
- dasm_put(Dst, 7407);
- }
- dasm_put(Dst, 7409, FORL_STEP*8, FORL_STOP*8, FORL_STEP*8, FORL_IDX*8);
- } else {
- if (LJ_DUALNUM) {
- dasm_put(Dst, 7419);
- } else {
- dasm_put(Dst, 7421, FORL_STEP*8, FORL_STOP*8);
- }
- dasm_put(Dst, 7430, FORL_IDX*8, FORL_STOP*8);
- }
- dasm_put(Dst, 7439);
- if (op != BC_JFORL) {
- dasm_put(Dst, 7441, 32-1);
- }
- dasm_put(Dst, 7444, FORL_EXT*8);
- if (op != BC_JFORL) {
- dasm_put(Dst, 7447);
- }
- dasm_put(Dst, 7449);
- if (op == BC_JFORI) {
- dasm_put(Dst, 7451, -(BCBIAS_J*4 >> 16));
- }
- dasm_put(Dst, 7454);
- if (op == BC_FORI) {
- dasm_put(Dst, 7457);
- } else if (op == BC_IFORL) {
- if (LJ_DUALNUM) {
- dasm_put(Dst, 7460);
- } else {
- dasm_put(Dst, 7463);
- }
- dasm_put(Dst, 7466, -(BCBIAS_J*4 >> 16));
- } else if (op == BC_JFORI) {
- dasm_put(Dst, 7470);
- } else {
- dasm_put(Dst, 7473, BC_JLOOP);
- }
- if (LJ_DUALNUM) {
- dasm_put(Dst, 7476);
- } else {
- dasm_put(Dst, 7479);
- }
- dasm_put(Dst, 7491);
- if (op == BC_FORI) {
- dasm_put(Dst, 7493, -(BCBIAS_J*4 >> 16));
- } else if (op == BC_IFORL) {
- dasm_put(Dst, 7499);
- } else if (op == BC_JFORI) {
- dasm_put(Dst, 7502);
- } else {
- dasm_put(Dst, 7505, BC_JLOOP);
- }
- dasm_put(Dst, 7508);
- if (op == BC_JFORI) {
- dasm_put(Dst, 7511, BC_JLOOP);
- }
- break;
-
- case BC_ITERL:
-#if LJ_HASJIT
- dasm_put(Dst, 7517, GG_DISP2HOT, -HOTCOUNT_LOOP);
-#endif
- break;
-
- case BC_JITERL:
-#if !LJ_HASJIT
- break;
-#endif
- case BC_IITERL:
- dasm_put(Dst, 7527, LJ_TNIL);
- if (op == BC_JITERL) {
- dasm_put(Dst, 7534, BC_JLOOP);
- } else {
- dasm_put(Dst, 7539, 32-1, -(BCBIAS_J*4 >> 16));
- }
- dasm_put(Dst, 7547);
- break;
-
- case BC_LOOP:
-#if LJ_HASJIT
- dasm_put(Dst, 7559, GG_DISP2HOT, -HOTCOUNT_LOOP);
-#endif
- break;
-
- case BC_ILOOP:
- dasm_put(Dst, 7569);
- break;
-
- case BC_JLOOP:
-#if LJ_HASJIT
- dasm_put(Dst, 7580, DISPATCH_J(trace), 32-1, DISPATCH_GL(vmstate), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), GG_DISP2G+32768);
-#endif
- break;
-
- case BC_JMP:
- dasm_put(Dst, 7599, 32-1, -(BCBIAS_J*4 >> 16));
- break;
-
- /* -- Function headers -------------------------------------------------- */
-
- case BC_FUNCF:
-#if LJ_HASJIT
- dasm_put(Dst, 7615, GG_DISP2HOT, -HOTCOUNT_CALL);
-#endif
- case BC_FUNCV: /* NYI: compiled vararg functions. */
- break;
-
- case BC_JFUNCF:
-#if !LJ_HASJIT
- break;
-#endif
- case BC_IFUNCF:
- dasm_put(Dst, 7625, Dt1(->maxstack), -4+PC2PROTO(numparams), -4+PC2PROTO(k), 31-3);
- if (op != BC_JFUNCF) {
- dasm_put(Dst, 7637);
- }
- dasm_put(Dst, 7640);
- if (op == BC_JFUNCF) {
- dasm_put(Dst, 7645, BC_JLOOP);
- } else {
- dasm_put(Dst, 7649);
- }
- dasm_put(Dst, 7658);
- break;
-
- case BC_JFUNCV:
-#if !LJ_HASJIT
- break;
-#endif
- dasm_put(Dst, 7664);
- break; /* NYI: compiled vararg functions. */
-
- case BC_IFUNCV:
- dasm_put(Dst, 7666, Dt1(->maxstack), 8+FRAME_VARG, -4+PC2PROTO(k), -4+PC2PROTO(numparams), LJ_TNIL);
- break;
-
- case BC_FUNCC:
- case BC_FUNCCW:
- if (op == BC_FUNCC) {
- dasm_put(Dst, 7719, Dt8(->f));
- } else {
- dasm_put(Dst, 7722, DISPATCH_GL(wrapf));
- }
- dasm_put(Dst, 7725, Dt1(->maxstack), Dt1(->base), Dt1(->top), ~LJ_VMST_C);
- if (op == BC_FUNCCW) {
- dasm_put(Dst, 7738, Dt8(->f));
- }
- dasm_put(Dst, 7741, DISPATCH_GL(vmstate), Dt1(->base), 31-3, Dt1(->top), ~LJ_VMST_INTERP, DISPATCH_GL(vmstate));
- break;
-
- /* ---------------------------------------------------------------------- */
-
- default:
- fprintf(stderr, "Error: undefined opcode BC_%s\n", bc_names[op]);
- exit(2);
- break;
- }
-}
-
-static int build_backend(BuildCtx *ctx)
-{
- int op;
-
- dasm_growpc(Dst, BC__MAX);
-
- build_subroutines(ctx);
-
- dasm_put(Dst, 7762);
- for (op = 0; op < BC__MAX; op++)
- build_ins(ctx, (BCOp)op, op);
-
- return BC__MAX;
-}
-
-/* Emit pseudo frame-info for all assembler functions. */
-static void emit_asm_debug(BuildCtx *ctx)
-{
- int fcofs = (int)((uint8_t *)ctx->glob[GLOB_vm_ffi_call] - ctx->code);
- int i;
- switch (ctx->mode) {
- case BUILD_elfasm:
- fprintf(ctx->fp, "\t.section .debug_frame,\"\",@progbits\n");
- fprintf(ctx->fp,
- ".Lframe0:\n"
- "\t.long .LECIE0-.LSCIE0\n"
- ".LSCIE0:\n"
- "\t.long 0xffffffff\n"
- "\t.byte 0x1\n"
- "\t.string \"\"\n"
- "\t.uleb128 0x1\n"
- "\t.sleb128 -4\n"
- "\t.byte 65\n"
- "\t.byte 0xc\n\t.uleb128 1\n\t.uleb128 0\n"
- "\t.align 2\n"
- ".LECIE0:\n\n");
- fprintf(ctx->fp,
- ".LSFDE0:\n"
- "\t.long .LEFDE0-.LASFDE0\n"
- ".LASFDE0:\n"
- "\t.long .Lframe0\n"
- "\t.long .Lbegin\n"
- "\t.long %d\n"
- "\t.byte 0xe\n\t.uleb128 %d\n"
- "\t.byte 0x11\n\t.uleb128 65\n\t.sleb128 -1\n"
- "\t.byte 0x5\n\t.uleb128 70\n\t.uleb128 55\n",
- fcofs, CFRAME_SIZE);
- for (i = 14; i <= 31; i++)
- fprintf(ctx->fp,
- "\t.byte %d\n\t.uleb128 %d\n"
- "\t.byte %d\n\t.uleb128 %d\n",
- 0x80+i, 37+(31-i), 0x80+32+i, 2+2*(31-i));
- fprintf(ctx->fp,
- "\t.align 2\n"
- ".LEFDE0:\n\n");
-#if LJ_HASFFI
- fprintf(ctx->fp,
- ".LSFDE1:\n"
- "\t.long .LEFDE1-.LASFDE1\n"
- ".LASFDE1:\n"
- "\t.long .Lframe0\n"
- "\t.long lj_vm_ffi_call\n"
- "\t.long %d\n"
- "\t.byte 0x11\n\t.uleb128 65\n\t.sleb128 -1\n"
- "\t.byte 0x8e\n\t.uleb128 2\n"
- "\t.byte 0xd\n\t.uleb128 0xe\n"
- "\t.align 2\n"
- ".LEFDE1:\n\n", (int)ctx->codesz - fcofs);
-#endif
- fprintf(ctx->fp, "\t.section .eh_frame,\"a\",@progbits\n");
- fprintf(ctx->fp,
- ".Lframe1:\n"
- "\t.long .LECIE1-.LSCIE1\n"
- ".LSCIE1:\n"
- "\t.long 0\n"
- "\t.byte 0x1\n"
- "\t.string \"zPR\"\n"
- "\t.uleb128 0x1\n"
- "\t.sleb128 -4\n"
- "\t.byte 65\n"
- "\t.uleb128 6\n" /* augmentation length */
- "\t.byte 0x1b\n" /* pcrel|sdata4 */
- "\t.long lj_err_unwind_dwarf-.\n"
- "\t.byte 0x1b\n" /* pcrel|sdata4 */
- "\t.byte 0xc\n\t.uleb128 1\n\t.uleb128 0\n"
- "\t.align 2\n"
- ".LECIE1:\n\n");
- fprintf(ctx->fp,
- ".LSFDE2:\n"
- "\t.long .LEFDE2-.LASFDE2\n"
- ".LASFDE2:\n"
- "\t.long .LASFDE2-.Lframe1\n"
- "\t.long .Lbegin-.\n"
- "\t.long %d\n"
- "\t.uleb128 0\n" /* augmentation length */
- "\t.byte 0xe\n\t.uleb128 %d\n"
- "\t.byte 0x11\n\t.uleb128 65\n\t.sleb128 -1\n"
- "\t.byte 0x5\n\t.uleb128 70\n\t.uleb128 55\n",
- fcofs, CFRAME_SIZE);
- for (i = 14; i <= 31; i++)
- fprintf(ctx->fp,
- "\t.byte %d\n\t.uleb128 %d\n"
- "\t.byte %d\n\t.uleb128 %d\n",
- 0x80+i, 37+(31-i), 0x80+32+i, 2+2*(31-i));
- fprintf(ctx->fp,
- "\t.align 2\n"
- ".LEFDE2:\n\n");
-#if LJ_HASFFI
- fprintf(ctx->fp,
- ".Lframe2:\n"
- "\t.long .LECIE2-.LSCIE2\n"
- ".LSCIE2:\n"
- "\t.long 0\n"
- "\t.byte 0x1\n"
- "\t.string \"zR\"\n"
- "\t.uleb128 0x1\n"
- "\t.sleb128 -4\n"
- "\t.byte 65\n"
- "\t.uleb128 1\n" /* augmentation length */
- "\t.byte 0x1b\n" /* pcrel|sdata4 */
- "\t.byte 0xc\n\t.uleb128 1\n\t.uleb128 0\n"
- "\t.align 2\n"
- ".LECIE2:\n\n");
- fprintf(ctx->fp,
- ".LSFDE3:\n"
- "\t.long .LEFDE3-.LASFDE3\n"
- ".LASFDE3:\n"
- "\t.long .LASFDE3-.Lframe2\n"
- "\t.long lj_vm_ffi_call-.\n"
- "\t.long %d\n"
- "\t.uleb128 0\n" /* augmentation length */
- "\t.byte 0x11\n\t.uleb128 65\n\t.sleb128 -1\n"
- "\t.byte 0x8e\n\t.uleb128 2\n"
- "\t.byte 0xd\n\t.uleb128 0xe\n"
- "\t.align 2\n"
- ".LEFDE3:\n\n", (int)ctx->codesz - fcofs);
-#endif
- break;
- default:
- break;
- }
-}
-
+++ /dev/null
-/*
-** This file has been pre-processed with DynASM.
-** http://luajit.org/dynasm.html
-** DynASM version 1.3.0, DynASM ppc version 1.3.0
-** DO NOT EDIT! The original file is in "buildvm_ppcspe.dasc".
-*/
-
-#if DASM_VERSION != 10300
-#error "Version mismatch between DynASM and included encoding engine"
-#endif
-
-#define DASM_SECTION_CODE_OP 0
-#define DASM_SECTION_CODE_SUB 1
-#define DASM_MAXSECTION 2
-static const unsigned int build_actionlist[4996] = {
-0x00010001,
-0x00060014,
-0x72000000,
-0x00090200,
-0x11000229,
-0x000980b0,
-0x41820000,
-0x00050815,
-0x8209fff8,
-0x7d2e4b78,
-0x9514fff8,
-0x00060016,
-0x72000000,
-0x00090200,
-0x398c0008,
-0x7d936378,
-0x41820000,
-0x00050817,
-0x00060018,
-0x2c000000,
-0x00098200,
-0x56090038,
-0x38000000,
-0x00098200,
-0x7d297050,
-0x40820000,
-0x00050814,
-0x350cfff8,
-0x91320000,
-0x00098200,
-0x81210018,
-0x39cefff8,
-0x90110000,
-0x00098200,
-0x55291800,
-0x000900a1,
-0x41820000,
-0x00050802,
-0x0006000b,
-0x3508fff8,
-0x10140301,
-0x3a940008,
-0x100e0321,
-0x39ce0008,
-0x40820000,
-0x0005080b,
-0x0006000c,
-0x7c096000,
-0x40820000,
-0x00050806,
-0x0006000d,
-0x91d20000,
-0x00098200,
-0x00060019,
-0x00000000,
-0x80010014,
-0x38600000,
-0x90120000,
-0x00098200,
-0x0006001a,
-0x800100bc,
-0x81810024,
-0x11c12b01,
-0x11e13301,
-0x12013b01,
-0x12214301,
-0x12414b01,
-0x12615301,
-0x7c0803a6,
-0x7d838120,
-0x12815b01,
-0x12a16301,
-0x12c16b01,
-0x12e17301,
-0x13017b01,
-0x13218301,
-0x13418b01,
-0x13619301,
-0x13819b01,
-0x13a1a301,
-0x13c1ab01,
-0x13e1b301,
-0x382100b8,
-0x4e800020,
-0x00060010,
-0x40810000,
-0x00050807,
-0x81120000,
-0x00098200,
-0x7c0e4040,
-0x40800000,
-0x00050808,
-0x134e0321,
-0x398c0008,
-0x39ce0008,
-0x48000000,
-0x0005000c,
-0x00060011,
-0x7c096050,
-0x2c090000,
-0x7c007050,
-0x7dce009e,
-0x48000000,
-0x0005000d,
-0x00060012,
-0x91d20000,
-0x00098200,
-0x7d956378,
-0x7d244b78,
-0x7e439378,
-0x48000001,
-0x00030000,
-0x81210018,
-0x7eacab78,
-0x55291800,
-0x000900a1,
-0x81d20000,
-0x00098200,
-0x48000000,
-0x0005000c,
-0x0006001b,
-0x7c611b78,
-0x7c832378,
-0x0006001c,
-0x82410010,
-0x38000000,
-0x00098200,
-0x81120000,
-0x00098200,
-0x90080000,
-0x00098200,
-0x48000000,
-0x0005001a,
-0x0006001d,
-0x00000000,
-0x5461003a,
-0x0006001e,
-0x82410010,
-0x12c00229,
-0x000980b0,
-0x13200229,
-0x000980b0,
-0x3f604338,
-0x13000229,
-0x000980b0,
-0x38000000,
-0x81d20000,
-0x00098200,
-0x137b022d,
-0x82320000,
-0x00098200,
-0x12e00229,
-0x000980b0,
-0x39000000,
-0x00098200,
-0x13400229,
-0x000980b0,
-0x38000000,
-0x00098200,
-0x820efff8,
-0x3a8efff8,
-0x3a310000,
-0x00098200,
-0x91140000,
-0x39800010,
-0x90110000,
-0x00098200,
-0x48000000,
-0x00050016,
-0x0006001f,
-0x38800000,
-0x00098200,
-0x48000000,
-0x00050002,
-0x00060020,
-0x7d6e5a14,
-0x7e8ea050,
-0x91d20000,
-0x00098200,
-0x3a100004,
-0x91720000,
-0x00098200,
-0x568400fe,
-0x000900ab,
-0x0006000c,
-0x9201000c,
-0x7e439378,
-0x48000001,
-0x00030000,
-0x00000000,
-0x81d20000,
-0x00098200,
-0x81720000,
-0x00098200,
-0x814efffc,
-0x7d6e5850,
-0x820a0000,
-0x00098200,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54f4dd78,
-0x7c11402e,
-0x7e947214,
-0x7c0903a6,
-0x4e800420,
-0x00060021,
-0x9421ff48,
-0x11c12b21,
-0x11e13321,
-0x12013b21,
-0x12214321,
-0x12414b21,
-0x12615321,
-0x7c0802a6,
-0x7d800026,
-0x12815b21,
-0x12a16321,
-0x12c16b21,
-0x12e17321,
-0x13017b21,
-0x13218321,
-0x900100bc,
-0x91810024,
-0x13418b21,
-0x13619321,
-0x13819b21,
-0x13a1a321,
-0x13c1ab21,
-0x13e1b321,
-0x7c721b78,
-0x82320000,
-0x00098200,
-0x7c8e2378,
-0x89120000,
-0x00098200,
-0x92410010,
-0x3a000000,
-0x00098200,
-0x38010000,
-0x00098200,
-0x3a310000,
-0x00098200,
-0x90a10018,
-0x28080000,
-0x90a1001c,
-0x90120000,
-0x00098200,
-0x90a10014,
-0x9061000c,
-0x41820000,
-0x00050803,
-0x7dd47378,
-0x81d20000,
-0x00098200,
-0x12c00229,
-0x000980b0,
-0x81120000,
-0x00098200,
-0x13200229,
-0x000980b0,
-0x3f604338,
-0x13000229,
-0x000980b0,
-0x820efff8,
-0x39200000,
-0x12e00229,
-0x000980b0,
-0x7d8e4050,
-0x137b4a2d,
-0x98b20000,
-0x00098200,
-0x72000000,
-0x00090200,
-0x38000000,
-0x00098200,
-0x398c0008,
-0x13400229,
-0x000980b0,
-0x7d936378,
-0x90110000,
-0x00098200,
-0x00000000,
-0x41820000,
-0x00050817,
-0x48000000,
-0x00050018,
-0x00060022,
-0x9421ff48,
-0x11c12b21,
-0x11e13321,
-0x12013b21,
-0x12214321,
-0x12414b21,
-0x12615321,
-0x7c0802a6,
-0x7d800026,
-0x12815b21,
-0x12a16321,
-0x12c16b21,
-0x12e17321,
-0x13017b21,
-0x13218321,
-0x900100bc,
-0x91810024,
-0x13418b21,
-0x13619321,
-0x13819b21,
-0x13a1a321,
-0x13c1ab21,
-0x13e1b321,
-0x3a000000,
-0x00098200,
-0x90c1001c,
-0x48000000,
-0x00050001,
-0x00060023,
-0x9421ff48,
-0x11c12b21,
-0x11e13321,
-0x12013b21,
-0x12214321,
-0x12414b21,
-0x12615321,
-0x7c0802a6,
-0x7d800026,
-0x12815b21,
-0x12a16321,
-0x12c16b21,
-0x12e17321,
-0x13017b21,
-0x13218321,
-0x900100bc,
-0x91810024,
-0x13418b21,
-0x13619321,
-0x13819b21,
-0x13a1a321,
-0x13c1ab21,
-0x13e1b321,
-0x3a000000,
-0x00098200,
-0x0006000b,
-0x81030000,
-0x00098200,
-0x90a10018,
-0x7c721b78,
-0x90610010,
-0x7c8e2378,
-0x90320000,
-0x00098200,
-0x82320000,
-0x00098200,
-0x9061000c,
-0x91010014,
-0x3a310000,
-0x00098200,
-0x0006000d,
-0x81320000,
-0x00098200,
-0x12c00229,
-0x000980b0,
-0x81120000,
-0x00098200,
-0x13200229,
-0x000980b0,
-0x7e107214,
-0x13000229,
-0x000980b0,
-0x3f604338,
-0x38000000,
-0x7e098050,
-0x12e00229,
-0x000980b0,
-0x7d6e4050,
-0x137b022d,
-0x38000000,
-0x00098200,
-0x13400229,
-0x000980b0,
-0x90110000,
-0x00098200,
-0x00060024,
-0x00000000,
-0x3800fff8,
-0x114e0300,
-0x100aca34,
-0x40800000,
-0x00050825,
-0x00060026,
-0x920efff8,
-0x820a0000,
-0x00098200,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54f4dd78,
-0x7c11402e,
-0x7e947214,
-0x7c0903a6,
-0x4e800420,
-0x00060027,
-0x9421ff48,
-0x11c12b21,
-0x11e13321,
-0x12013b21,
-0x12214321,
-0x12414b21,
-0x12615321,
-0x7c0802a6,
-0x7d800026,
-0x12815b21,
-0x12a16321,
-0x12c16b21,
-0x12e17321,
-0x13017b21,
-0x13218321,
-0x900100bc,
-0x91810024,
-0x13418b21,
-0x13619321,
-0x13819b21,
-0x13a1a321,
-0x13c1ab21,
-0x13e1b321,
-0x7c721b78,
-0x80030000,
-0x00098200,
-0x90610010,
-0x81120000,
-0x00098200,
-0x9061000c,
-0x7c080050,
-0x81120000,
-0x00098200,
-0x90320000,
-0x00098200,
-0x39200000,
-0x90010018,
-0x9121001c,
-0x91010014,
-0x7cc903a6,
-0x4e800421,
-0x7c6e1b79,
-0x82320000,
-0x00098200,
-0x3a000000,
-0x00098200,
-0x3a310000,
-0x00098200,
-0x40820000,
-0x0005080d,
-0x48000000,
-0x00050019,
-0x00060015,
-0x800efff4,
-0x7dca7378,
-0x7d2e4b78,
-0x8109fffc,
-0x28000000,
-0x820afff0,
-0x41820000,
-0x00050801,
-0x392cfff8,
-0x81080000,
-0x00098200,
-0x13544b20,
-0x81e80000,
-0x00098200,
-0x7c0903a6,
-0x4e800420,
-0x0006000b,
-0x390afff0,
-0x7d6e4050,
-0x48000000,
-0x00050028,
-0x00060029,
-0x80f0fffc,
-0x388afff0,
-0x54f55d78,
-0x10140301,
-0x7d0eaa14,
-0x91d20000,
-0x00098200,
-0x7c082040,
-0x7ca82050,
-0x54f4dd78,
-0x10040321,
-0x40820000,
-0x0005082a,
-0x00000000,
-0x100ea320,
-0x48000000,
-0x0005002b,
-0x0006002c,
-0x11775a2d,
-0x38b10000,
-0x00098200,
-0x54ea5d78,
-0x11650321,
-0x7c8e5214,
-0x48000000,
-0x00050001,
-0x0006002d,
-0x1158522d,
-0x38910000,
-0x00098200,
-0x11775a2d,
-0x11440321,
-0x38b10000,
-0x00098200,
-0x11650321,
-0x48000000,
-0x00050001,
-0x0006002e,
-0x100002f1,
-0x54ea5d78,
-0x38b10000,
-0x00098200,
-0x7c8e5214,
-0x10050321,
-0x48000000,
-0x00050001,
-0x0006002f,
-0x54ea5d78,
-0x54eb9d78,
-0x7c8e5214,
-0x7cae5a14,
-0x0006000b,
-0x91d20000,
-0x00098200,
-0x7e439378,
-0x9201000c,
-0x48000001,
-0x00030001,
-0x28030000,
-0x41820000,
-0x00050803,
-0x10030301,
-0x100ea320,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x0006000d,
-0x210e0000,
-0x00098200,
-0x81d20000,
-0x00098200,
-0x920efff0,
-0x7e087214,
-0x814efffc,
-0x39600010,
-0x48000000,
-0x00050026,
-0x00060030,
-0x11775a2d,
-0x38b10000,
-0x00098200,
-0x00000000,
-0x54ea5d78,
-0x11650321,
-0x7c8e5214,
-0x48000000,
-0x00050001,
-0x00060031,
-0x1158522d,
-0x38910000,
-0x00098200,
-0x11775a2d,
-0x11440321,
-0x38b10000,
-0x00098200,
-0x11650321,
-0x48000000,
-0x00050001,
-0x00060032,
-0x100002f1,
-0x54ea5d78,
-0x38b10000,
-0x00098200,
-0x7c8e5214,
-0x10050321,
-0x48000000,
-0x00050001,
-0x00060033,
-0x54ea5d78,
-0x54eb9d78,
-0x7c8e5214,
-0x7cae5a14,
-0x0006000b,
-0x91d20000,
-0x00098200,
-0x7e439378,
-0x9201000c,
-0x48000001,
-0x00030002,
-0x28030000,
-0x100ea300,
-0x41820000,
-0x00050803,
-0x10030321,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x0006000d,
-0x210e0000,
-0x00098200,
-0x81d20000,
-0x00098200,
-0x920efff0,
-0x7e087214,
-0x814efffc,
-0x39600018,
-0x100e1321,
-0x48000000,
-0x00050026,
-0x00060034,
-0x7e439378,
-0x3a10fffc,
-0x7c8ea214,
-0x9201000c,
-0x7cae6214,
-0x91d20000,
-0x00098200,
-0x54e6063e,
-0x48000001,
-0x00030003,
-0x0006000d,
-0x28030001,
-0x41810000,
-0x00050835,
-0x0006000e,
-0x00000000,
-0x80f00000,
-0x3a100004,
-0x54e993ba,
-0x3cd00000,
-0x00098200,
-0x7d293214,
-0x7e10481e,
-0x0006002b,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00060036,
-0x80f0fffc,
-0x10140301,
-0x54e8dd78,
-0x100e4320,
-0x48000000,
-0x0005002b,
-0x00060037,
-0x80140000,
-0x39000000,
-0x00098200,
-0x7c080040,
-0x48000000,
-0x0005000e,
-0x00060038,
-0x80140000,
-0x39000000,
-0x00098200,
-0x7c004040,
-0x48000000,
-0x0005000e,
-0x00060039,
-0x3a10fffc,
-0x91d20000,
-0x00098200,
-0x7e439378,
-0x9201000c,
-0x48000001,
-0x00030004,
-0x48000000,
-0x0005000d,
-0x0006003a,
-0x7cae5214,
-0x7ccf5a14,
-0x48000000,
-0x00050001,
-0x0006003b,
-0x7caf5a14,
-0x7cce5214,
-0x48000000,
-0x00050001,
-0x0006003c,
-0x7cae6214,
-0x7ca62b78,
-0x48000000,
-0x00050001,
-0x0006003d,
-0x7cae5214,
-0x7cce5a14,
-0x0006000b,
-0x00000000,
-0x7c8ea214,
-0x91d20000,
-0x00098200,
-0x7e439378,
-0x9201000c,
-0x54e7063e,
-0x48000001,
-0x00030005,
-0x28030000,
-0x41820000,
-0x0005082b,
-0x00060035,
-0x7d0e1850,
-0x9203fff0,
-0x7dc97378,
-0x3a080000,
-0x00098200,
-0x7c6e1b78,
-0x39600010,
-0x48000000,
-0x00050024,
-0x0006003e,
-0x00000000,
-0x7c751b78,
-0x00000000,
-0x7c8e6214,
-0x91d20000,
-0x00098200,
-0x7e439378,
-0x9201000c,
-0x48000001,
-0x00030006,
-0x00000000,
-0x28030000,
-0x40820000,
-0x00050835,
-0x7ea3ab78,
-0x48000000,
-0x0005003f,
-0x00000000,
-0x48000000,
-0x00050035,
-0x00000000,
-0x00060025,
-0x7e439378,
-0x91320000,
-0x00098200,
-0x388efff8,
-0x9201000c,
-0x7cae5a14,
-0x7d755b78,
-0x48000001,
-0x00030007,
-0x814efffc,
-0x39750008,
-0x920efff8,
-0x820a0000,
-0x00098200,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54f4dd78,
-0x7c11402e,
-0x7e947214,
-0x7c0903a6,
-0x4e800420,
-0x00060040,
-0x7e439378,
-0x91d20000,
-0x00098200,
-0x3894fff8,
-0x9201000c,
-0x7cb45a14,
-0x7d755b78,
-0x48000001,
-0x00030007,
-0x810efff8,
-0x39750008,
-0x8154fffc,
-0x48000000,
-0x00050041,
-0x00060042,
-0x7e439378,
-0x91d20000,
-0x00098200,
-0x7e84a378,
-0x9201000c,
-0x7cf53b78,
-0x48000001,
-0x00030008,
-0x00000000,
-0x56a0063e,
-0x00000000,
-0x56b4dd78,
-0x00000000,
-0x2c000000,
-0x00098200,
-0x00000000,
-0x56ac9b78,
-0x00000000,
-0x41820000,
-0x00070800,
-0x00000000,
-0x48000000,
-0x00070000,
-0x00060043,
-0x280b0008,
-0x100e0301,
-0x41800000,
-0x00050844,
-0x111ad200,
-0x3a8efff8,
-0x10804232,
-0x820efff8,
-0x40840000,
-0x00050844,
-0x10140321,
-0x398b0008,
-0x41820000,
-0x00050845,
-0x39000008,
-0x396bfff8,
-0x0006000b,
-0x7c085840,
-0x100e4300,
-0x10144320,
-0x39080008,
-0x40820000,
-0x0005080b,
-0x48000000,
-0x00050045,
-0x00060046,
-0x280b0008,
-0x806e0000,
-0x41800000,
-0x00050844,
-0x39200000,
-0x00098200,
-0x7c03b040,
-0x7c6818f8,
-0x7d09401e,
-0x55081800,
-0x000900a1,
-0x392a0000,
-0x00098200,
-0x10694300,
-0x48000000,
-0x00050047,
-0x00060048,
-0x280b0008,
-0x106e0301,
-0x41800000,
-0x00050844,
-0x1003c234,
-0x11031a2c,
-0x40800000,
-0x00050806,
-0x0006000b,
-0x81430000,
-0x00098200,
-0x0006000c,
-0x107ad217,
-0x280a0000,
-0x81710000,
-0x00098200,
-0x41820000,
-0x00050847,
-0x00000000,
-0x800a0000,
-0x00098200,
-0x1078522d,
-0x810b0000,
-0x00098200,
-0x812a0000,
-0x00098200,
-0x11775a2d,
-0x7d080038,
-0x55002800,
-0x000900a1,
-0x55081800,
-0x000900a1,
-0x7d080050,
-0x7d294214,
-0x0006000d,
-0x10090301,
-0x00090cab,
-0x11090301,
-0x00090cab,
-0x10005a34,
-0x81290000,
-0x00098200,
-0x41830000,
-0x00050805,
-0x28090000,
-0x41820000,
-0x00050847,
-0x48000000,
-0x0005000d,
-0x0006000f,
-0x1008d234,
-0x41800000,
-0x00050847,
-0x10684217,
-0x48000000,
-0x00050047,
-0x00060010,
-0x2c080000,
-0x00098200,
-0x7d0840f8,
-0x41820000,
-0x0005080b,
-0x1003b232,
-0x55081000,
-0x000900a1,
-0x39200000,
-0x00098200,
-0x7d09401e,
-0x39310000,
-0x00098200,
-0x7d49402e,
-0x48000000,
-0x0005000c,
-0x00060049,
-0x00000000,
-0x280b0010,
-0x106e0301,
-0x108e0b01,
-0x41800000,
-0x00050844,
-0x1003222c,
-0x1000c234,
-0x40830000,
-0x00050844,
-0x81030000,
-0x00098200,
-0x28080000,
-0x88c30000,
-0x00098200,
-0x40820000,
-0x00050844,
-0x70c00000,
-0x00090200,
-0x90830000,
-0x00098200,
-0x41820000,
-0x00050847,
-0x80110000,
-0x00098200,
-0x54c607b8,
-0x90710000,
-0x00098200,
-0x98c30000,
-0x00098200,
-0x90030000,
-0x00098200,
-0x48000000,
-0x00050047,
-0x0006004a,
-0x280b0010,
-0x108e0301,
-0x41800000,
-0x00050844,
-0x1004c234,
-0x38ae0008,
-0x40800000,
-0x00050844,
-0x7e439378,
-0x48000001,
-0x00030009,
-0x10630301,
-0x48000000,
-0x00050047,
-0x0006004b,
-0x280b0008,
-0x106e0301,
-0x40820000,
-0x00050844,
-0x1003b232,
-0x41800000,
-0x00050847,
-0x48000000,
-0x00050044,
-0x0006004c,
-0x00000000,
-0x280b0008,
-0x106e0301,
-0x41800000,
-0x00050844,
-0x1003ba34,
-0x41800000,
-0x00050847,
-0x80110000,
-0x00098200,
-0x1003b232,
-0x28800000,
-0x91d20000,
-0x00098200,
-0x4c403202,
-0x9201000c,
-0x40820000,
-0x00050844,
-0x80110000,
-0x00098200,
-0x81110000,
-0x00098200,
-0x7c004040,
-0x40800001,
-0x0005084d,
-0x7e439378,
-0x7dc47378,
-0x48000001,
-0x0003000a,
-0x10771a2d,
-0x48000000,
-0x00050047,
-0x0006004e,
-0x280b0008,
-0x108e0301,
-0x41800000,
-0x00050844,
-0x134e5b20,
-0x1004c234,
-0x820efff8,
-0x40800000,
-0x00050844,
-0x91d20000,
-0x00098200,
-0x7e439378,
-0x91d20000,
-0x00098200,
-0x38ae0008,
-0x9201000c,
-0x48000001,
-0x0003000b,
-0x28030000,
-0x107ad217,
-0x41820000,
-0x00050847,
-0x100e0b01,
-0x3a8efff8,
-0x110e1301,
-0x10140321,
-0x39800000,
-0x00098200,
-0x11140b21,
-0x48000000,
-0x00050045,
-0x0006004f,
-0x280b0008,
-0x106e0301,
-0x41800000,
-0x00050844,
-0x1003c234,
-0x820efff8,
-0x40800000,
-0x00050844,
-0x00000000,
-0x81230000,
-0x00098200,
-0x100a0301,
-0x00090cab,
-0x28090000,
-0x3a8efff8,
-0x40820000,
-0x00050844,
-0x00000000,
-0x100a0301,
-0x00090cab,
-0x3a8efff8,
-0x00000000,
-0x134e0b21,
-0x39800000,
-0x00098200,
-0x10140321,
-0x48000000,
-0x00050045,
-0x00060050,
-0x280b0010,
-0x106e0301,
-0x108e0b01,
-0x41800000,
-0x00050844,
-0x1003c234,
-0x820efff8,
-0x40800000,
-0x00050844,
-0x1004b232,
-0x3cc03ff0,
-0x40800000,
-0x00050844,
-0x112022f5,
-0x80030000,
-0x00098200,
-0x10c6da2d,
-0x81030000,
-0x00098200,
-0x108432e0,
-0x39290001,
-0x3a8efff8,
-0x7c004840,
-0x55261800,
-0x000900a1,
-0x10940321,
-0x40810000,
-0x00050802,
-0x11083300,
-0x0006000b,
-0x1008d234,
-0x39800000,
-0x00098200,
-0x41800000,
-0x00050845,
-0x39800000,
-0x00098200,
-0x11140b21,
-0x48000000,
-0x00050045,
-0x0006000c,
-0x80030000,
-0x00098200,
-0x28000000,
-0x39800000,
-0x00098200,
-0x41820000,
-0x00050845,
-0x7d244b78,
-0x48000001,
-0x0003000c,
-0x28030000,
-0x39800000,
-0x00098200,
-0x41820000,
-0x00050845,
-0x00000000,
-0x11030301,
-0x48000000,
-0x0005000b,
-0x00060051,
-0x280b0008,
-0x106e0301,
-0x41800000,
-0x00050844,
-0x1003c234,
-0x820efff8,
-0x40800000,
-0x00050844,
-0x00000000,
-0x81230000,
-0x00098200,
-0x100a0301,
-0x00090cab,
-0x28090000,
-0x3a8efff8,
-0x40820000,
-0x00050844,
-0x00000000,
-0x100a0301,
-0x00090cab,
-0x3a8efff8,
-0x00000000,
-0x11000229,
-0x39800000,
-0x00098200,
-0x110e0b21,
-0x10140321,
-0x48000000,
-0x00050045,
-0x00060052,
-0x280b0008,
-0x88d10000,
-0x00098200,
-0x41800000,
-0x00050844,
-0x7dc97378,
-0x39ce0008,
-0x54c607fe,
-0x000900ab,
-0x396bfff8,
-0x3a060000,
-0x00098200,
-0x48000000,
-0x00050024,
-0x00060053,
-0x280b0010,
-0x106e0301,
-0x108e0b01,
-0x41800000,
-0x00050844,
-0x88d10000,
-0x00098200,
-0x7dc97378,
-0x1004ca34,
-0x40800000,
-0x00050844,
-0x39ce0010,
-0x54c607fe,
-0x000900ab,
-0x10890321,
-0x396bfff0,
-0x10690b21,
-0x3a060000,
-0x00098200,
-0x48000000,
-0x00050024,
-0x00060054,
-0x280b0008,
-0x106e0301,
-0x41800000,
-0x00050844,
-0x10031a2c,
-0x2c000000,
-0x00098200,
-0x40820000,
-0x00050844,
-0x88030000,
-0x00098200,
-0x81030000,
-0x00098200,
-0x80830000,
-0x00098200,
-0x00000000,
-0x28000000,
-0x00090200,
-0x81230000,
-0x00098200,
-0x28880000,
-0x80030000,
-0x00098200,
-0x7f844840,
-0x820efff8,
-0x4f013342,
-0x7d245a14,
-0x4f3e1102,
-0x7c890040,
-0x4f18cb82,
-0x9201000c,
-0x4f182b82,
-0x91d20000,
-0x00098200,
-0x41980000,
-0x00050844,
-0x0006000b,
-0x39ce0008,
-0x396bfff8,
-0x3929fff8,
-0x91230000,
-0x00098200,
-0x39000000,
-0x91d20000,
-0x00098200,
-0x0006000c,
-0x7c085800,
-0x100e4300,
-0x41820000,
-0x00050803,
-0x10044320,
-0x39080008,
-0x48000000,
-0x0005000c,
-0x0006000d,
-0x38a00000,
-0x7c751b78,
-0x38c00000,
-0x48000001,
-0x00050021,
-0x0006000e,
-0x81350000,
-0x00098200,
-0x28030000,
-0x00090200,
-0x80d50000,
-0x00098200,
-0x38000000,
-0x00098200,
-0x81d20000,
-0x00098200,
-0x90110000,
-0x00098200,
-0x41810000,
-0x00050808,
-0x7d893050,
-0x80120000,
-0x00098200,
-0x00000000,
-0x280c0000,
-0x7d0e6214,
-0x41820000,
-0x00050806,
-0x7c080040,
-0x39000000,
-0x41810000,
-0x00050809,
-0x38ccfff8,
-0x91350000,
-0x00098200,
-0x0006000f,
-0x7c083040,
-0x10094300,
-0x100e4320,
-0x39080008,
-0x40820000,
-0x0005080f,
-0x00060010,
-0x72000000,
-0x00090200,
-0x39000000,
-0x00098200,
-0x3a8efff8,
-0x910efff8,
-0x398c0010,
-0x00060011,
-0x9201000c,
-0x7d936378,
-0x41820000,
-0x00050817,
-0x48000000,
-0x00050018,
-0x00060012,
-0x72000000,
-0x00090200,
-0x38c6fff8,
-0x39000000,
-0x00098200,
-0x10060301,
-0x90d50000,
-0x00098200,
-0x39800000,
-0x00098200,
-0x910efff8,
-0x3a8efff8,
-0x100e0321,
-0x48000000,
-0x00050011,
-0x00060013,
-0x7e439378,
-0x558400fe,
-0x000900ab,
-0x48000001,
-0x00030000,
-0x38600000,
-0x48000000,
-0x0005000e,
-0x00060055,
-0x00000000,
-0x806a0000,
-0x00098200,
-0x88030000,
-0x00098200,
-0x81030000,
-0x00098200,
-0x80830000,
-0x00098200,
-0x28000000,
-0x00090200,
-0x81230000,
-0x00098200,
-0x28880000,
-0x80030000,
-0x00098200,
-0x7f844840,
-0x820efff8,
-0x4f013342,
-0x7d245a14,
-0x4f3e1102,
-0x7c890040,
-0x4f18cb82,
-0x9201000c,
-0x4f182b82,
-0x91d20000,
-0x00098200,
-0x41980000,
-0x00050844,
-0x0006000b,
-0x91230000,
-0x00098200,
-0x39000000,
-0x91d20000,
-0x00098200,
-0x0006000c,
-0x7c085800,
-0x100e4300,
-0x41820000,
-0x00050803,
-0x10044320,
-0x39080008,
-0x48000000,
-0x0005000c,
-0x0006000d,
-0x38a00000,
-0x7c751b78,
-0x38c00000,
-0x48000001,
-0x00050021,
-0x0006000e,
-0x81350000,
-0x00098200,
-0x28030000,
-0x00090200,
-0x80d50000,
-0x00098200,
-0x38000000,
-0x00098200,
-0x00000000,
-0x81d20000,
-0x00098200,
-0x90110000,
-0x00098200,
-0x41810000,
-0x00050808,
-0x7d893050,
-0x80120000,
-0x00098200,
-0x280c0000,
-0x7d0e6214,
-0x41820000,
-0x00050806,
-0x7c080040,
-0x39000000,
-0x41810000,
-0x00050809,
-0x38ccfff8,
-0x91350000,
-0x00098200,
-0x0006000f,
-0x7c083040,
-0x10094300,
-0x100e4320,
-0x39080008,
-0x40820000,
-0x0005080f,
-0x00060010,
-0x72000000,
-0x00090200,
-0x7dd47378,
-0x398c0008,
-0x00060011,
-0x9201000c,
-0x7d936378,
-0x41820000,
-0x00050817,
-0x48000000,
-0x00050018,
-0x00060012,
-0x7e439378,
-0x7ea4ab78,
-0x48000001,
-0x0003000d,
-0x00060013,
-0x7e439378,
-0x558400fe,
-0x000900ab,
-0x48000001,
-0x00030000,
-0x38600000,
-0x48000000,
-0x0005000e,
-0x00060056,
-0x80120000,
-0x00098200,
-0x00000000,
-0x7d0e5a14,
-0x91d20000,
-0x00098200,
-0x70000000,
-0x00090200,
-0x91120000,
-0x00098200,
-0x38600000,
-0x00098200,
-0x41820000,
-0x00050844,
-0x93720000,
-0x00098200,
-0x98720000,
-0x00098200,
-0x48000000,
-0x0005001a,
-0x00060057,
-0x280b0008,
-0x106e0301,
-0x41800000,
-0x00050844,
-0x1003b232,
-0x40800000,
-0x00050844,
-0x106302e4,
-0x00060047,
-0x820efff8,
-0x3a8efff8,
-0x10740321,
-0x00060058,
-0x39800000,
-0x00098200,
-0x00060045,
-0x72000000,
-0x00090200,
-0x7d936378,
-0x40820000,
-0x00050818,
-0x80f0fffc,
-0x54ea5d78,
-0x0006000f,
-0x7c0a6040,
-0x54e0dd78,
-0x41810000,
-0x00050806,
-0x80f00000,
-0x3a100004,
-0x7dc0a050,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00060010,
-0x390cfff8,
-0x398c0008,
-0x13544320,
-0x48000000,
-0x0005000f,
-0x00060059,
-0x00000000,
-0x280b0008,
-0x108e0301,
-0x41800000,
-0x00050844,
-0x1004b232,
-0x1064222c,
-0x40800000,
-0x00050844,
-0x820efff8,
-0x48000001,
-0x0005005a,
-0x3a8efff8,
-0x10940321,
-0x48000000,
-0x00050058,
-0x0006005b,
-0x280b0008,
-0x108e0301,
-0x41800000,
-0x00050844,
-0x1004b232,
-0x1064222c,
-0x40800000,
-0x00050844,
-0x820efff8,
-0x48000001,
-0x0005005c,
-0x3a8efff8,
-0x10940321,
-0x48000000,
-0x00050058,
-0x0006005d,
-0x280b0008,
-0x108e0301,
-0x41800000,
-0x00050844,
-0x1004b232,
-0x1064222c,
-0x40800000,
-0x00050844,
-0x48000001,
-0x0003000e,
-0x1063222d,
-0x48000000,
-0x00050047,
-0x0006005e,
-0x280b0008,
-0x108e0301,
-0x41800000,
-0x00050844,
-0x1004b232,
-0x1064222c,
-0x40800000,
-0x00050844,
-0x48000001,
-0x0003000f,
-0x1063222d,
-0x48000000,
-0x00050047,
-0x0006005f,
-0x280b0008,
-0x108e0301,
-0x41800000,
-0x00050844,
-0x1004b232,
-0x1064222c,
-0x40800000,
-0x00050844,
-0x00000000,
-0x48000001,
-0x00030010,
-0x1063222d,
-0x48000000,
-0x00050047,
-0x00060060,
-0x280b0008,
-0x108e0301,
-0x41800000,
-0x00050844,
-0x1004b232,
-0x1064222c,
-0x40800000,
-0x00050844,
-0x48000001,
-0x00030011,
-0x1063222d,
-0x48000000,
-0x00050047,
-0x00060061,
-0x280b0008,
-0x108e0301,
-0x41800000,
-0x00050844,
-0x1004b232,
-0x1064222c,
-0x40800000,
-0x00050844,
-0x48000001,
-0x00030012,
-0x1063222d,
-0x48000000,
-0x00050047,
-0x00060062,
-0x280b0008,
-0x108e0301,
-0x41800000,
-0x00050844,
-0x1004b232,
-0x1064222c,
-0x40800000,
-0x00050844,
-0x48000001,
-0x00030013,
-0x1063222d,
-0x48000000,
-0x00050047,
-0x00060063,
-0x280b0008,
-0x108e0301,
-0x41800000,
-0x00050844,
-0x1004b232,
-0x1064222c,
-0x40800000,
-0x00050844,
-0x48000001,
-0x00030014,
-0x1063222d,
-0x48000000,
-0x00050047,
-0x00060064,
-0x00000000,
-0x280b0008,
-0x108e0301,
-0x41800000,
-0x00050844,
-0x1004b232,
-0x1064222c,
-0x40800000,
-0x00050844,
-0x48000001,
-0x00030015,
-0x1063222d,
-0x48000000,
-0x00050047,
-0x00060065,
-0x280b0008,
-0x108e0301,
-0x41800000,
-0x00050844,
-0x1004b232,
-0x1064222c,
-0x40800000,
-0x00050844,
-0x48000001,
-0x00030016,
-0x1063222d,
-0x48000000,
-0x00050047,
-0x00060066,
-0x280b0008,
-0x108e0301,
-0x41800000,
-0x00050844,
-0x1004b232,
-0x1064222c,
-0x40800000,
-0x00050844,
-0x48000001,
-0x00030017,
-0x1063222d,
-0x48000000,
-0x00050047,
-0x00060067,
-0x280b0008,
-0x108e0301,
-0x41800000,
-0x00050844,
-0x1004b232,
-0x1064222c,
-0x40800000,
-0x00050844,
-0x48000001,
-0x00030018,
-0x1063222d,
-0x48000000,
-0x00050047,
-0x00060068,
-0x280b0008,
-0x108e0301,
-0x41800000,
-0x00050844,
-0x1004b232,
-0x1064222c,
-0x40800000,
-0x00050844,
-0x00000000,
-0x48000001,
-0x00030019,
-0x1063222d,
-0x48000000,
-0x00050047,
-0x00060069,
-0x280b0008,
-0x108e0301,
-0x41800000,
-0x00050844,
-0x1004b232,
-0x1064222c,
-0x40800000,
-0x00050844,
-0x48000001,
-0x0003001a,
-0x1063222d,
-0x48000000,
-0x00050047,
-0x0006006a,
-0x280b0010,
-0x108e0301,
-0x10ce0b01,
-0x41800000,
-0x00050844,
-0x1066222c,
-0x1003b232,
-0x10a6322c,
-0x40830000,
-0x00050844,
-0x48000001,
-0x0003001b,
-0x1063222d,
-0x48000000,
-0x00050047,
-0x0006006b,
-0x280b0010,
-0x108e0301,
-0x10ce0b01,
-0x41800000,
-0x00050844,
-0x1066222c,
-0x1003b232,
-0x10a6322c,
-0x40830000,
-0x00050844,
-0x48000001,
-0x0003001c,
-0x1063222d,
-0x48000000,
-0x00050047,
-0x0006006c,
-0x280b0010,
-0x108e0301,
-0x10ce0b01,
-0x41800000,
-0x00050844,
-0x1066222c,
-0x1003b232,
-0x10a6322c,
-0x40830000,
-0x00050844,
-0x48000001,
-0x0003001d,
-0x1063222d,
-0x48000000,
-0x00050047,
-0x0006006d,
-0x0006006e,
-0x00000000,
-0x280b0008,
-0x106e0301,
-0x41800000,
-0x00050844,
-0x1003b232,
-0x40800000,
-0x00050844,
-0x108a0301,
-0x00090cab,
-0x106322e8,
-0x48000000,
-0x00050047,
-0x0006006f,
-0x280b0010,
-0x108e0301,
-0x10ce0b01,
-0x41800000,
-0x00050844,
-0x1066222c,
-0x1003b232,
-0x40830000,
-0x00050844,
-0x10a032f5,
-0x48000001,
-0x0003001e,
-0x1063222d,
-0x48000000,
-0x00050047,
-0x00060070,
-0x280b0008,
-0x108e0301,
-0x41800000,
-0x00050844,
-0x1004b232,
-0x1064222c,
-0x40800000,
-0x00050844,
-0x38b10000,
-0x00098200,
-0x820efff8,
-0x48000001,
-0x0003001f,
-0x81110000,
-0x00098200,
-0x1063222d,
-0x108042f1,
-0x3a8efff8,
-0x10740321,
-0x39800000,
-0x00098200,
-0x10940b21,
-0x48000000,
-0x00050045,
-0x00060071,
-0x280b0008,
-0x108e0301,
-0x41800000,
-0x00050844,
-0x1004b232,
-0x1064222c,
-0x40800000,
-0x00050844,
-0x38aefff8,
-0x820efff8,
-0x48000001,
-0x00030020,
-0x1063222d,
-0x3a8efff8,
-0x106e0321,
-0x39800000,
-0x00098200,
-0x00000000,
-0x48000000,
-0x00050045,
-0x00060072,
-0x280b0008,
-0x106e0301,
-0x41800000,
-0x00050844,
-0x1003b232,
-0x39000008,
-0x40800000,
-0x00050844,
-0x0006000b,
-0x108e4300,
-0x7c885840,
-0x1004b232,
-0x40840000,
-0x00050847,
-0x40800000,
-0x00050844,
-0x10041afd,
-0x39080008,
-0x4c010b82,
-0x10641a78,
-0x48000000,
-0x0005000b,
-0x00060073,
-0x280b0008,
-0x106e0301,
-0x41800000,
-0x00050844,
-0x1003b232,
-0x39000008,
-0x40800000,
-0x00050844,
-0x0006000b,
-0x108e4300,
-0x7c885840,
-0x1004b232,
-0x40840000,
-0x00050847,
-0x40800000,
-0x00050844,
-0x10041afc,
-0x39080008,
-0x4c010b82,
-0x10641a78,
-0x48000000,
-0x0005000b,
-0x00060074,
-0x280b0008,
-0x106e0301,
-0x41800000,
-0x00050844,
-0x1003ba34,
-0x40800000,
-0x00050844,
-0x80030000,
-0x00098200,
-0x106002f1,
-0x48000000,
-0x00050047,
-0x00060075,
-0x280b0008,
-0x106e0301,
-0x40820000,
-0x00050844,
-0x00000000,
-0x1003ba34,
-0x3a8efff8,
-0x40800000,
-0x00050844,
-0x80030000,
-0x00098200,
-0x39800000,
-0x00098200,
-0x89030000,
-0x00098200,
-0x39200000,
-0x00098200,
-0x28000000,
-0x820efff8,
-0x106042f1,
-0x7d8c489e,
-0x10740321,
-0x48000000,
-0x00050045,
-0x00060076,
-0x80110000,
-0x00098200,
-0x81110000,
-0x00098200,
-0x7c004040,
-0x40800001,
-0x0005084d,
-0x280b0008,
-0x106e0301,
-0x40820000,
-0x00050844,
-0x1003b232,
-0x38910000,
-0x00098200,
-0x40800000,
-0x00050844,
-0x10001afa,
-0x38a00001,
-0x280000ff,
-0x98040000,
-0x41810000,
-0x00050844,
-0x00060077,
-0x7e439378,
-0x91d20000,
-0x00098200,
-0x9201000c,
-0x48000001,
-0x00030021,
-0x81d20000,
-0x00098200,
-0x10771a2d,
-0x48000000,
-0x00050047,
-0x00060078,
-0x80110000,
-0x00098200,
-0x81110000,
-0x00098200,
-0x00000000,
-0x7c004040,
-0x40800001,
-0x0005084d,
-0x280b0010,
-0x10ae1301,
-0x106e0301,
-0x41800000,
-0x00050844,
-0x108e0b01,
-0x3920ffff,
-0x41820000,
-0x00050801,
-0x1005b232,
-0x40800000,
-0x00050844,
-0x11202afa,
-0x0006000b,
-0x1004b232,
-0x40800000,
-0x00050844,
-0x1003ba34,
-0x110022fa,
-0x40800000,
-0x00050844,
-0x80030000,
-0x00098200,
-0x7c004840,
-0x7cc90214,
-0x41800000,
-0x00050805,
-0x0006000c,
-0x2c080000,
-0x7cc80214,
-0x40810000,
-0x00050807,
-0x0006000d,
-0x7ca84851,
-0x38830000,
-0x00098200,
-0x38a50001,
-0x7c844214,
-0x7ca0281e,
-0x48000000,
-0x00050077,
-0x0006000f,
-0x7c004800,
-0x38c60001,
-0x7d26005e,
-0x48000000,
-0x0005000c,
-0x00060011,
-0x2c860000,
-0x7d00309e,
-0x7d00411e,
-0x39080001,
-0x48000000,
-0x0005000d,
-0x00060079,
-0x80110000,
-0x00098200,
-0x81110000,
-0x00098200,
-0x7c004040,
-0x40800001,
-0x0005084d,
-0x00000000,
-0x280b0010,
-0x106e0301,
-0x108e0b01,
-0x41800000,
-0x00050844,
-0x1004b232,
-0x40800000,
-0x00050844,
-0x1003ba34,
-0x10a022fa,
-0x40800000,
-0x00050844,
-0x80030000,
-0x00098200,
-0x2c050000,
-0x81110000,
-0x00098200,
-0x40810000,
-0x00050802,
-0x28000001,
-0x3925ffff,
-0x41800000,
-0x00050802,
-0x7c882840,
-0x40820000,
-0x00050844,
-0x88030000,
-0x00098200,
-0x80910000,
-0x00098200,
-0x41840000,
-0x00050844,
-0x0006000b,
-0x28090000,
-0x7c0449ae,
-0x3929ffff,
-0x40820000,
-0x0005080b,
-0x48000000,
-0x00050077,
-0x0006000c,
-0x38710000,
-0x00098200,
-0x10771a2d,
-0x48000000,
-0x00050047,
-0x0006007a,
-0x80110000,
-0x00098200,
-0x81110000,
-0x00098200,
-0x7c004040,
-0x40800001,
-0x0005084d,
-0x280b0008,
-0x106e0301,
-0x41800000,
-0x00050844,
-0x00000000,
-0x1003ba34,
-0x81110000,
-0x00098200,
-0x40800000,
-0x00050844,
-0x80a30000,
-0x00098200,
-0x38630000,
-0x00098200,
-0x80910000,
-0x00098200,
-0x39200000,
-0x7c082840,
-0x38c5ffff,
-0x41800000,
-0x00050844,
-0x0006000b,
-0x2c060000,
-0x7d0348ae,
-0x41800000,
-0x00050877,
-0x7d0431ae,
-0x38c6ffff,
-0x39290001,
-0x48000000,
-0x0005000b,
-0x0006007b,
-0x80110000,
-0x00098200,
-0x81110000,
-0x00098200,
-0x7c004040,
-0x40800001,
-0x0005084d,
-0x280b0008,
-0x106e0301,
-0x41800000,
-0x00050844,
-0x1003ba34,
-0x81110000,
-0x00098200,
-0x40800000,
-0x00050844,
-0x80a30000,
-0x00098200,
-0x38630000,
-0x00098200,
-0x80910000,
-0x00098200,
-0x7c082840,
-0x39200000,
-0x41800000,
-0x00050844,
-0x0006000b,
-0x7c092840,
-0x7d0348ae,
-0x40800000,
-0x00050877,
-0x00000000,
-0x3808ffbf,
-0x69060020,
-0x2800001a,
-0x7d06401e,
-0x7d0449ae,
-0x39290001,
-0x48000000,
-0x0005000b,
-0x0006007c,
-0x80110000,
-0x00098200,
-0x81110000,
-0x00098200,
-0x7c004040,
-0x40800001,
-0x0005084d,
-0x280b0008,
-0x106e0301,
-0x41800000,
-0x00050844,
-0x1003ba34,
-0x81110000,
-0x00098200,
-0x40800000,
-0x00050844,
-0x80a30000,
-0x00098200,
-0x38630000,
-0x00098200,
-0x80910000,
-0x00098200,
-0x7c082840,
-0x39200000,
-0x41800000,
-0x00050844,
-0x0006000b,
-0x7c092840,
-0x7d0348ae,
-0x40800000,
-0x00050877,
-0x3808ff9f,
-0x69060020,
-0x2800001a,
-0x7d06401e,
-0x7d0449ae,
-0x39290001,
-0x48000000,
-0x0005000b,
-0x0006007d,
-0x280b0008,
-0x106e0301,
-0x41800000,
-0x00050844,
-0x1003c234,
-0x40800000,
-0x00050844,
-0x48000001,
-0x00030022,
-0x10601af1,
-0x48000000,
-0x00050047,
-0x0006007e,
-0x280b0008,
-0x106e0301,
-0x41800000,
-0x00050844,
-0x00000000,
-0x1003b232,
-0x40800000,
-0x00050844,
-0x1063dae0,
-0x0006007f,
-0x10601af1,
-0x48000000,
-0x00050047,
-0x00060080,
-0x280b0008,
-0x106e0301,
-0x41800000,
-0x00050844,
-0x1003b232,
-0x40800000,
-0x00050844,
-0x1063dae0,
-0x39000008,
-0x0006000b,
-0x108e4300,
-0x7c885840,
-0x1004b232,
-0x40840000,
-0x0005087f,
-0x40800000,
-0x00050844,
-0x1084dae0,
-0x7c632038,
-0x39080008,
-0x48000000,
-0x0005000b,
-0x00060081,
-0x280b0008,
-0x106e0301,
-0x41800000,
-0x00050844,
-0x1003b232,
-0x40800000,
-0x00050844,
-0x1063dae0,
-0x39000008,
-0x0006000b,
-0x108e4300,
-0x7c885840,
-0x1004b232,
-0x40840000,
-0x0005087f,
-0x40800000,
-0x00050844,
-0x1084dae0,
-0x7c632378,
-0x39080008,
-0x48000000,
-0x0005000b,
-0x00060082,
-0x280b0008,
-0x106e0301,
-0x41800000,
-0x00050844,
-0x1003b232,
-0x40800000,
-0x00050844,
-0x1063dae0,
-0x39000008,
-0x0006000b,
-0x108e4300,
-0x7c885840,
-0x1004b232,
-0x40840000,
-0x0005087f,
-0x00000000,
-0x40800000,
-0x00050844,
-0x1084dae0,
-0x7c632278,
-0x39080008,
-0x48000000,
-0x0005000b,
-0x00060083,
-0x280b0008,
-0x106e0301,
-0x41800000,
-0x00050844,
-0x1003b232,
-0x40800000,
-0x00050844,
-0x1063dae0,
-0x5460403e,
-0x5060c00e,
-0x5060c42e,
-0x106002f1,
-0x48000000,
-0x00050047,
-0x00060084,
-0x280b0008,
-0x106e0301,
-0x41800000,
-0x00050844,
-0x1003b232,
-0x40800000,
-0x00050844,
-0x1063dae0,
-0x7c6018f8,
-0x106002f1,
-0x48000000,
-0x00050047,
-0x00060085,
-0x280b0010,
-0x106e0301,
-0x108e0b01,
-0x41800000,
-0x00050844,
-0x1003222c,
-0x1000b232,
-0x40830000,
-0x00050844,
-0x1084dae0,
-0x1063dae0,
-0x548406fe,
-0x7c602030,
-0x106002f1,
-0x48000000,
-0x00050047,
-0x00060086,
-0x280b0010,
-0x106e0301,
-0x108e0b01,
-0x41800000,
-0x00050844,
-0x1003222c,
-0x1000b232,
-0x40830000,
-0x00050844,
-0x1084dae0,
-0x1063dae0,
-0x548406fe,
-0x7c602430,
-0x106002f1,
-0x48000000,
-0x00050047,
-0x00060087,
-0x280b0010,
-0x106e0301,
-0x108e0b01,
-0x41800000,
-0x00050844,
-0x1003222c,
-0x1000b232,
-0x40830000,
-0x00050844,
-0x1084dae0,
-0x1063dae0,
-0x548406fe,
-0x7c602630,
-0x106002f1,
-0x48000000,
-0x00050047,
-0x00060088,
-0x00000000,
-0x280b0010,
-0x106e0301,
-0x108e0b01,
-0x41800000,
-0x00050844,
-0x1003222c,
-0x1000b232,
-0x40830000,
-0x00050844,
-0x1084dae0,
-0x1063dae0,
-0x5c60203e,
-0x106002f1,
-0x48000000,
-0x00050047,
-0x00060089,
-0x280b0010,
-0x106e0301,
-0x108e0b01,
-0x41800000,
-0x00050844,
-0x1003222c,
-0x1000b232,
-0x40830000,
-0x00050844,
-0x1084dae0,
-0x1063dae0,
-0x7c8400d0,
-0x5c60203e,
-0x106002f1,
-0x48000000,
-0x00050047,
-0x00060044,
-0x80ca0000,
-0x00098200,
-0x7d0e5a14,
-0x820efff8,
-0x38080000,
-0x00098200,
-0x81320000,
-0x00098200,
-0x9201000c,
-0x7c004840,
-0x91d20000,
-0x00098200,
-0x91120000,
-0x00098200,
-0x7e439378,
-0x41810000,
-0x00050805,
-0x7cc903a6,
-0x4e800421,
-0x81d20000,
-0x00098200,
-0x2c030000,
-0x546c1800,
-0x000900a1,
-0x3a8efff8,
-0x41810000,
-0x00050845,
-0x0006000b,
-0x80120000,
-0x00098200,
-0x814efffc,
-0x7d6e0050,
-0x40820000,
-0x00050828,
-0x820a0000,
-0x00098200,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54f4dd78,
-0x7c11402e,
-0x7e947214,
-0x7c0903a6,
-0x4e800420,
-0x00060028,
-0x00000000,
-0x72000000,
-0x00090200,
-0x56080038,
-0x40820000,
-0x00050803,
-0x80f0fffc,
-0x54e8dd78,
-0x39080008,
-0x0006000d,
-0x7d287050,
-0x48000000,
-0x00050024,
-0x0006000f,
-0x38800000,
-0x00098200,
-0x48000001,
-0x00030000,
-0x81d20000,
-0x00098200,
-0x7c000000,
-0x48000000,
-0x0005000b,
-0x0006004d,
-0x7ea802a6,
-0x91d20000,
-0x00098200,
-0x7c0e5a14,
-0x9201000c,
-0x90120000,
-0x00098200,
-0x7e439378,
-0x48000001,
-0x00030023,
-0x81d20000,
-0x00098200,
-0x7ea803a6,
-0x80120000,
-0x00098200,
-0x7d6e0050,
-0x814efffc,
-0x4e800020,
-0x0006008a,
-0x00000000,
-0x7c810808,
-0x00000000,
-0x0006008b,
-0x88d10000,
-0x00098200,
-0x70c00000,
-0x00090200,
-0x41820000,
-0x00050801,
-0x0006000f,
-0x39080000,
-0x00098200,
-0x7c11402e,
-0x7c0903a6,
-0x4e800420,
-0x0006008c,
-0x88d10000,
-0x00098200,
-0x81310000,
-0x00098200,
-0x70c00000,
-0x00090200,
-0x54c007c0,
-0x000900ab,
-0x40820000,
-0x0005080f,
-0x2c800000,
-0x3529ffff,
-0x41860000,
-0x0005080f,
-0x91310000,
-0x00098200,
-0x41820000,
-0x00050801,
-0x40840000,
-0x0005080f,
-0x0006000b,
-0x7e439378,
-0x92610008,
-0x7e048378,
-0x91d20000,
-0x00098200,
-0x48000001,
-0x00030024,
-0x0006000d,
-0x81d20000,
-0x00098200,
-0x0006000e,
-0x00000000,
-0x80f0fffc,
-0x54e815ba,
-0x54ea5d78,
-0x39080000,
-0x00098200,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x0006008d,
-0x3a100004,
-0x826affec,
-0x48000000,
-0x0005000e,
-0x0006008e,
-0x00000000,
-0x7c810808,
-0x00000000,
-0x0006008f,
-0x7e048378,
-0x00000000,
-0x48000000,
-0x00050001,
-0x00000000,
-0x00060090,
-0x00000000,
-0x62040001,
-0x0006000b,
-0x00000000,
-0x7c0e5a14,
-0x9201000c,
-0x7e439378,
-0x91d20000,
-0x00098200,
-0x7e8ea050,
-0x90120000,
-0x00098200,
-0x48000001,
-0x00030025,
-0x81d20000,
-0x00098200,
-0x80120000,
-0x00098200,
-0x9361000c,
-0x7d6e0050,
-0x7e8ea214,
-0x814efffc,
-0x7c6903a6,
-0x4e800420,
-0x00060091,
-0x00000000,
-0x7c810808,
-0x00000000,
-0x00060092,
-0x00000000,
-0x7c810808,
-0x00000000,
-0x00060093,
-0x7ca802a6,
-0x48000001,
-0x0005005a,
-0x7ca803a6,
-0x1064222c,
-0x4e800020,
-0x00060094,
-0x1064222c,
-0x0006005a,
-0x5469657e,
-0x3529fc01,
-0x3900ffff,
-0x28890033,
-0x20090034,
-0x41850000,
-0x00050801,
-0x3cc0fff0,
-0x7d000030,
-0x7cc84e30,
-0x7c890078,
-0x7c664078,
-0x7d293378,
-0x7c66fe70,
-0x7d293039,
-0x7c840038,
-0x7c634038,
-0x7c002010,
-0x7c04009e,
-0x7d081910,
-0x7d03409e,
-0x1088022d,
-0x4e800020,
-0x0006000b,
-0x4d810020,
-0x5469007e,
-0x7c60fe70,
-0x7d292378,
-0x3d003ff0,
-0x7d290039,
-0x38000000,
-0x7d00409e,
-0x5103007e,
-0x1083022d,
-0x4e800020,
-0x00060095,
-0x1064222c,
-0x0006005c,
-0x5469657e,
-0x3529fc01,
-0x3900ffff,
-0x28890033,
-0x20090034,
-0x41850000,
-0x00050801,
-0x3cc0fff0,
-0x7d000030,
-0x7cc84e30,
-0x7c890078,
-0x7c664078,
-0x7d293378,
-0x7c66fe70,
-0x7d293079,
-0x7c840038,
-0x7c634038,
-0x7c002010,
-0x7c04009e,
-0x7d081910,
-0x7d03409e,
-0x1088022d,
-0x4e800020,
-0x0006000b,
-0x4d810020,
-0x5469007e,
-0x7c60fe70,
-0x7d292378,
-0x3d003ff0,
-0x7d290079,
-0x38000000,
-0x7d00409e,
-0x5103007e,
-0x1083022d,
-0x4e800020,
-0x00000000,
-0x00060096,
-0x1064222c,
-0x00060097,
-0x5469657e,
-0x3529fc01,
-0x3900ffff,
-0x28890033,
-0x20090034,
-0x41850000,
-0x00050801,
-0x3cc0fff0,
-0x7d000030,
-0x7cc84e30,
-0x1008022d,
-0x10840211,
-0x4e800020,
-0x0006000b,
-0x4d810020,
-0x54680000,
-0x38000000,
-0x1088022d,
-0x4e800020,
-0x00000000,
-0x00060096,
-0x00060097,
-0x00000000,
-0x00060098,
-0x1083222d,
-0x28070001,
-0x10c5322d,
-0x41820000,
-0x00050801,
-0x41810000,
-0x00050802,
-0x108432e0,
-0x1064222c,
-0x4e800020,
-0x0006000b,
-0x108432e1,
-0x1064222c,
-0x4e800020,
-0x0006000c,
-0x28070003,
-0x41820000,
-0x00050801,
-0x41810000,
-0x00050802,
-0x108432e8,
-0x1064222c,
-0x4e800020,
-0x0006000b,
-0x108432e9,
-0x1064222c,
-0x4e800020,
-0x0006000c,
-0x28070005,
-0x41820000,
-0x00050801,
-0x41810000,
-0x00050802,
-0x10a42217,
-0x108432e9,
-0x11463217,
-0x7d6802a6,
-0x48000001,
-0x00050094,
-0x7d6803a6,
-0x108452e8,
-0x108522e1,
-0x1064222c,
-0x4e800020,
-0x0006000b,
-0x48000000,
-0x0003001b,
-0x0006000c,
-0x28070007,
-0x41820000,
-0x00050801,
-0x41810000,
-0x00050802,
-0x6c638000,
-0x4e800020,
-0x0006000b,
-0x5463007e,
-0x4e800020,
-0x0006000c,
-0x7c810808,
-0x00060099,
-0x00000000,
-0x7c810808,
-0x00000000,
-0x00080000,
-0x00000000,
-0x100ea300,
-0x3a100004,
-0x110e6300,
-0x3cd00000,
-0x00098200,
-0x8130fffc,
-0x1140422c,
-0x552993ba,
-0x100ab232,
-0x7d293214,
-0x40830000,
-0x00050834,
-0x100042ed,
-0x00000000,
-0x108042ee,
-0x4c212b82,
-0x00000000,
-0x7e09805e,
-0x00000000,
-0x7e10485e,
-0x00000000,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x108ea300,
-0x3a100004,
-0x10ae6300,
-0x3cd00000,
-0x00098200,
-0x8130fffc,
-0x11442a2c,
-0x552993ba,
-0x100ab232,
-0x7d293214,
-0x40830000,
-0x00050805,
-0x10042aee,
-0x00000000,
-0x7e09805e,
-0x00000000,
-0x7e10485e,
-0x00000000,
-0x0006000b,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x0006000f,
-0x10042a34,
-0x7d4650f8,
-0x28860000,
-0x00090200,
-0x4f830342,
-0x2b060000,
-0x00090200,
-0x4fa02902,
-0x7e158378,
-0x00000000,
-0x7e09875e,
-0x00000000,
-0x7d304f5e,
-0x00000000,
-0x4f9ceb82,
-0x00000000,
-0x7e0980de,
-0x00000000,
-0x7e1048de,
-0x00000000,
-0x419c0000,
-0x0005080b,
-0x41980000,
-0x0005080b,
-0x81240000,
-0x00098200,
-0x38c00000,
-0x00098200,
-0x28090000,
-0x41820000,
-0x0005080b,
-0x89290000,
-0x00098200,
-0x71290000,
-0x00090200,
-0x40820000,
-0x0005080b,
-0x7eb0ab78,
-0x48000000,
-0x00050039,
-0x00000000,
-0x100ea300,
-0x558c007e,
-0x000900ab,
-0x80f00000,
-0x218cfffc,
-0x3a100004,
-0x7d0f602e,
-0x3cd00000,
-0x00098200,
-0x54e993ba,
-0x1117422d,
-0x7d293214,
-0x10004234,
-0x00000000,
-0x7e0980de,
-0x00000000,
-0x7e1048de,
-0x00000000,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x100ea300,
-0x3a100004,
-0x110f6300,
-0x3cd00000,
-0x00098200,
-0x80f0fffc,
-0x1000b232,
-0x40800000,
-0x00050805,
-0x100042ee,
-0x0006000b,
-0x54e993ba,
-0x7d293214,
-0x00000000,
-0x7e09805e,
-0x0006000f,
-0x00000000,
-0x7e10485e,
-0x00000000,
-0x0006000d,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x0006000f,
-0x54e993ba,
-0x7e093214,
-0x48000000,
-0x0005000d,
-0x00000000,
-0x7c0ea02e,
-0x558800fe,
-0x000900ab,
-0x80f00000,
-0x3a100004,
-0x7d0840f8,
-0x3cd00000,
-0x00098200,
-0x7c004040,
-0x54e993ba,
-0x7d293214,
-0x00000000,
-0x7e09809e,
-0x00000000,
-0x7e10489e,
-0x00000000,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x100e6300,
-0x111ad200,
-0x80f00000,
-0x10004232,
-0x3a100004,
-0x00000000,
-0x3cd00000,
-0x00098200,
-0x54e993ba,
-0x7d293214,
-0x00000000,
-0x7e09801e,
-0x00000000,
-0x7e10481e,
-0x00000000,
-0x40800000,
-0x00050801,
-0x00000000,
-0x41800000,
-0x00050801,
-0x00000000,
-0x3e100000,
-0x00098200,
-0x54e993ba,
-0x100ea320,
-0x7e104a14,
-0x0006000b,
-0x00000000,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x80f00000,
-0x3a100004,
-0x100e6300,
-0x100ea320,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x80f00000,
-0x3a100004,
-0x7c0e602e,
-0x21000000,
-0x00098200,
-0x7c004114,
-0x7c0ea12e,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x100e6300,
-0x1000b232,
-0x40800000,
-0x0005083c,
-0x100002e6,
-0x80f00000,
-0x3a100004,
-0x100ea320,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x106e6300,
-0x1003ba34,
-0x40800000,
-0x00050802,
-0x80630000,
-0x00098200,
-0x0006000b,
-0x80f00000,
-0x3a100004,
-0x10001af1,
-0x100ea320,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x0006000c,
-0x1003c234,
-0x40800000,
-0x0005083e,
-0x00000000,
-0x81230000,
-0x00098200,
-0x28090000,
-0x40820000,
-0x00050809,
-0x0006000d,
-0x00000000,
-0x0006003f,
-0x48000001,
-0x00030022,
-0x48000000,
-0x0005000b,
-0x00000000,
-0x00060013,
-0x88090000,
-0x00098200,
-0x70000000,
-0x00090200,
-0x40820000,
-0x0005080d,
-0x48000000,
-0x0005003e,
-0x00000000,
-0x100e5300,
-0x1000b232,
-0x110f5b00,
-0x40800000,
-0x0005083a,
-0x00000000,
-0x110e5300,
-0x1008b232,
-0x100f5b00,
-0x40800000,
-0x0005083b,
-0x00000000,
-0x100e5300,
-0x110e5b00,
-0x1120422c,
-0x1009b232,
-0x40830000,
-0x0005083d,
-0x00000000,
-0x80f00000,
-0x3a100004,
-0x100042e0,
-0x100ea320,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x100e5300,
-0x1000b232,
-0x110f5b00,
-0x40800000,
-0x0005083a,
-0x00000000,
-0x110e5300,
-0x1008b232,
-0x100f5b00,
-0x40800000,
-0x0005083b,
-0x00000000,
-0x100e5300,
-0x110e5b00,
-0x1120422c,
-0x1009b232,
-0x40830000,
-0x0005083d,
-0x00000000,
-0x80f00000,
-0x3a100004,
-0x100042e1,
-0x100ea320,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x100e5300,
-0x1000b232,
-0x110f5b00,
-0x40800000,
-0x0005083a,
-0x00000000,
-0x110e5300,
-0x1008b232,
-0x100f5b00,
-0x40800000,
-0x0005083b,
-0x00000000,
-0x100e5300,
-0x110e5b00,
-0x1120422c,
-0x1009b232,
-0x40830000,
-0x0005083d,
-0x00000000,
-0x80f00000,
-0x3a100004,
-0x100042e8,
-0x100ea320,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x100e5300,
-0x1000b232,
-0x110f5b00,
-0x40800000,
-0x0005083a,
-0x00000000,
-0x110e5300,
-0x1008b232,
-0x100f5b00,
-0x40800000,
-0x0005083b,
-0x00000000,
-0x100e5300,
-0x110e5b00,
-0x1120422c,
-0x1009b232,
-0x40830000,
-0x0005083d,
-0x00000000,
-0x80f00000,
-0x3a100004,
-0x100042e9,
-0x100ea320,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x118e5300,
-0x100cb232,
-0x12af5b00,
-0x40800000,
-0x0005083a,
-0x00000000,
-0x12ae5300,
-0x1015b232,
-0x118f5b00,
-0x40800000,
-0x0005083b,
-0x00000000,
-0x118e5300,
-0x12ae5b00,
-0x112caa2c,
-0x1009b232,
-0x40830000,
-0x0005083d,
-0x00000000,
-0x0006009a,
-0x108caae9,
-0x48000001,
-0x00050094,
-0x1004aae8,
-0x80f00000,
-0x3a100004,
-0x100c02e1,
-0x100ea320,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x118e5300,
-0x100cb232,
-0x12af5b00,
-0x40800000,
-0x0005083a,
-0x00000000,
-0x12ae5300,
-0x1015b232,
-0x118f5b00,
-0x40800000,
-0x0005083b,
-0x00000000,
-0x118e5300,
-0x12ae5b00,
-0x112caa2c,
-0x1009b232,
-0x40830000,
-0x0005083d,
-0x00000000,
-0x48000000,
-0x0005009a,
-0x00000000,
-0x108e5300,
-0x10ce5b00,
-0x1066222c,
-0x1003b232,
-0x10a6322c,
-0x40830000,
-0x0005083d,
-0x48000001,
-0x0003001b,
-0x1083222d,
-0x108ea320,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x7caa5850,
-0x91d20000,
-0x00098200,
-0x7c8e5a14,
-0x7d555378,
-0x0006002a,
-0x9201000c,
-0x7e439378,
-0x54a500fe,
-0x000900ab,
-0x48000001,
-0x00030026,
-0x28030000,
-0x81d20000,
-0x00098200,
-0x40820000,
-0x00050835,
-0x100eab00,
-0x100ea320,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x80f00000,
-0x3a100004,
-0x5588007e,
-0x000900ab,
-0x2108fffc,
-0x7c0f402e,
-0x1017022d,
-0x100ea320,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x80f00000,
-0x3a100004,
-0x5588007e,
-0x000900ab,
-0x2108fffc,
-0x7c0f402e,
-0x39200000,
-0x00098200,
-0x1009022d,
-0x100ea320,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x558800fe,
-0x000900ab,
-0x7d080734,
-0x80f00000,
-0x3a100004,
-0x100042f1,
-0x100ea320,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x100f6300,
-0x80f00000,
-0x3a100004,
-0x100ea320,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x558800fe,
-0x000900ab,
-0x7d0040f8,
-0x80f00000,
-0x3a100004,
-0x7c0ea12e,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x134ea320,
-0x3a940008,
-0x0006000b,
-0x134ea320,
-0x7c146000,
-0x3a940008,
-0x41800000,
-0x0005080b,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x80f00000,
-0x3a100004,
-0x814efffc,
-0x558c007e,
-0x000900ab,
-0x398c0000,
-0x00098200,
-0x7d4a602e,
-0x810a0000,
-0x00098200,
-0x10080301,
-0x100ea320,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x814efffc,
-0x5694007e,
-0x000900ab,
-0x3a940000,
-0x00098200,
-0x110e6300,
-0x7d4aa02e,
-0x88ca0000,
-0x00098200,
-0x808a0000,
-0x00098200,
-0x70c60000,
-0x00090200,
-0x880a0000,
-0x00098200,
-0x1128422c,
-0x11040321,
-0x28800000,
-0x4c423382,
-0x39290000,
-0x00098200,
-0x40820000,
-0x00050802,
-0x0006000b,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x0006000c,
-0x28090000,
-0x00090200,
-0x40800000,
-0x0005080b,
-0x88c80000,
-0x00098200,
-0x70c60000,
-0x00090200,
-0x38710000,
-0x00098200,
-0x41820000,
-0x0005080b,
-0x48000001,
-0x00030027,
-0x48000000,
-0x0005000b,
-0x00000000,
-0x814efffc,
-0x5588007e,
-0x000900ab,
-0x5694007e,
-0x000900ab,
-0x2108fffc,
-0x3a940000,
-0x00098200,
-0x7d0f402e,
-0x7d4aa02e,
-0x1117422d,
-0x88ca0000,
-0x00098200,
-0x808a0000,
-0x00098200,
-0x70c60000,
-0x00090200,
-0x88c80000,
-0x00098200,
-0x892a0000,
-0x00098200,
-0x11040321,
-0x40820000,
-0x00050802,
-0x0006000b,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x0006000c,
-0x70c60000,
-0x00090200,
-0x28890000,
-0x4c423382,
-0x38710000,
-0x00098200,
-0x41820000,
-0x0005080b,
-0x48000001,
-0x00030027,
-0x48000000,
-0x0005000b,
-0x00000000,
-0x80f00000,
-0x3a100004,
-0x814efffc,
-0x5694007e,
-0x000900ab,
-0x3a940000,
-0x00098200,
-0x100f6300,
-0x7d4aa02e,
-0x810a0000,
-0x00098200,
-0x10080321,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x80f00000,
-0x3a100004,
-0x814efffc,
-0x5694007e,
-0x000900ab,
-0x3a940000,
-0x00098200,
-0x558000fe,
-0x000900ab,
-0x7d4aa02e,
-0x7c0000f8,
-0x810a0000,
-0x00098200,
-0x90080000,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x81120000,
-0x00098200,
-0x5580007e,
-0x000900ab,
-0x7e100214,
-0x3e100000,
-0x00098200,
-0x91d20000,
-0x00098200,
-0x28080000,
-0x7e439378,
-0x41820000,
-0x00050801,
-0x7c8ea214,
-0x48000001,
-0x00030028,
-0x81d20000,
-0x00098200,
-0x0006000b,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x5588007e,
-0x000900ab,
-0x91d20000,
-0x00098200,
-0x2108fffc,
-0x9201000c,
-0x7c8f402e,
-0x7e439378,
-0x80aefffc,
-0x48000001,
-0x00030029,
-0x81d20000,
-0x00098200,
-0x10791a2d,
-0x106ea320,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x80110000,
-0x00098200,
-0x7e439378,
-0x81110000,
-0x00098200,
-0x91d20000,
-0x00098200,
-0x7c004040,
-0x9201000c,
-0x40800000,
-0x00050805,
-0x0006000b,
-0x00000000,
-0x5584ed7e,
-0x558596fe,
-0x2c0407ff,
-0x39000801,
-0x7c88209e,
-0x48000001,
-0x0003002a,
-0x00000000,
-0x5588007e,
-0x000900ab,
-0x2108fffc,
-0x7c8f402e,
-0x48000001,
-0x0003002b,
-0x00000000,
-0x81d20000,
-0x00098200,
-0x10781a2d,
-0x106ea320,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x0006000f,
-0x7d956378,
-0x48000001,
-0x0003002c,
-0x7eacab78,
-0x7e439378,
-0x48000000,
-0x0005000b,
-0x00000000,
-0x812efffc,
-0x5588007e,
-0x000900ab,
-0x81490000,
-0x00098200,
-0x2108fffc,
-0x7d6f402e,
-0x00000000,
-0x48000000,
-0x0005009b,
-0x00000000,
-0x48000000,
-0x0005009c,
-0x00000000,
-0x114e5300,
-0x116e5b00,
-0x100ac234,
-0x40800000,
-0x0005082f,
-0x100bb232,
-0x40800000,
-0x00050805,
-0x11205af5,
-0x800a0000,
-0x00098200,
-0x11004af1,
-0x7c004840,
-0x108b42ee,
-0x810a0000,
-0x00098200,
-0x4c212a02,
-0x55291800,
-0x000900a1,
-0x40810000,
-0x0005082f,
-0x11084b00,
-0x1008d234,
-0x41800000,
-0x00050802,
-0x0006000b,
-0x110ea320,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x0006000c,
-0x812a0000,
-0x00098200,
-0x28090000,
-0x41820000,
-0x0005080b,
-0x88090000,
-0x00098200,
-0x70000000,
-0x00090200,
-0x40820000,
-0x0005080b,
-0x48000000,
-0x0005002f,
-0x0006000f,
-0x100bba34,
-0x41800000,
-0x0005089b,
-0x48000000,
-0x0005002f,
-0x00000000,
-0x114e5300,
-0x5568007e,
-0x000900ab,
-0x100ac234,
-0x2108fffc,
-0x7d6f402e,
-0x40800000,
-0x0005082c,
-0x0006009b,
-0x800a0000,
-0x00098200,
-0x810b0000,
-0x00098200,
-0x812a0000,
-0x00098200,
-0x11775a2d,
-0x7d080038,
-0x55002800,
-0x000900a1,
-0x55081800,
-0x000900a1,
-0x7d080050,
-0x7d294214,
-0x0006000b,
-0x10090301,
-0x00090cab,
-0x11090301,
-0x00090cab,
-0x10005a34,
-0x40830000,
-0x00050804,
-0x1008d234,
-0x41800000,
-0x00050805,
-0x0006000d,
-0x110ea320,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x0006000e,
-0x81290000,
-0x00098200,
-0x28090000,
-0x40820000,
-0x0005080b,
-0x111ad217,
-0x0006000f,
-0x812a0000,
-0x00098200,
-0x28090000,
-0x41820000,
-0x0005080d,
-0x88090000,
-0x00098200,
-0x70000000,
-0x00090200,
-0x00000000,
-0x40820000,
-0x0005080d,
-0x48000000,
-0x0005002d,
-0x00000000,
-0x114e5300,
-0x556000fe,
-0x000900ab,
-0x100ac234,
-0x40800000,
-0x0005082e,
-0x810a0000,
-0x00098200,
-0x812a0000,
-0x00098200,
-0x7c004040,
-0x40800000,
-0x0005082e,
-0x11095b00,
-0x1008d234,
-0x41800000,
-0x00050805,
-0x0006000b,
-0x80f00000,
-0x3a100004,
-0x110ea320,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x0006000f,
-0x812a0000,
-0x00098200,
-0x28090000,
-0x41820000,
-0x0005080b,
-0x89290000,
-0x00098200,
-0x71290000,
-0x00090200,
-0x40820000,
-0x0005080b,
-0x48000000,
-0x0005002e,
-0x00000000,
-0x114e5300,
-0x116e5b00,
-0x100ac234,
-0x40800000,
-0x00050833,
-0x100bb232,
-0x40800000,
-0x00050805,
-0x11205af5,
-0x12aea300,
-0x800a0000,
-0x00098200,
-0x11004af1,
-0x7c004840,
-0x108b42ee,
-0x810a0000,
-0x00098200,
-0x4c212a02,
-0x55201800,
-0x000900a1,
-0x40810000,
-0x00050833,
-0x88ca0000,
-0x00098200,
-0x11280300,
-0x1009d234,
-0x41800000,
-0x00050803,
-0x0006000b,
-0x70c90000,
-0x00090200,
-0x12a80320,
-0x40820000,
-0x00050807,
-0x0006000c,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x0006000d,
-0x812a0000,
-0x00098200,
-0x28090000,
-0x41820000,
-0x0005080b,
-0x89290000,
-0x00098200,
-0x71290000,
-0x00090200,
-0x40820000,
-0x0005080b,
-0x48000000,
-0x00050033,
-0x0006000f,
-0x100bba34,
-0x41800000,
-0x0005089c,
-0x48000000,
-0x00050033,
-0x00060011,
-0x00000000,
-0x80110000,
-0x00098200,
-0x54c607b8,
-0x91510000,
-0x00098200,
-0x98ca0000,
-0x00098200,
-0x900a0000,
-0x00098200,
-0x48000000,
-0x0005000c,
-0x00000000,
-0x114e5300,
-0x5568007e,
-0x000900ab,
-0x100ac234,
-0x2108fffc,
-0x7d6f402e,
-0x40800000,
-0x00050830,
-0x0006009c,
-0x800a0000,
-0x00098200,
-0x810b0000,
-0x00098200,
-0x812a0000,
-0x00098200,
-0x11775a2d,
-0x9b6a0000,
-0x00098200,
-0x7d080038,
-0x12aea300,
-0x55002800,
-0x000900a1,
-0x55081800,
-0x000900a1,
-0x7d080050,
-0x88ca0000,
-0x00098200,
-0x7d294214,
-0x0006000b,
-0x10090301,
-0x00090cab,
-0x11090301,
-0x00090cab,
-0x10005a34,
-0x40830000,
-0x00050805,
-0x1008d234,
-0x41800000,
-0x00050804,
-0x0006000c,
-0x70c00000,
-0x00090200,
-0x12a90321,
-0x00090cab,
-0x40820000,
-0x00050807,
-0x0006000d,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x0006000e,
-0x810a0000,
-0x00098200,
-0x00000000,
-0x28080000,
-0x41820000,
-0x0005080c,
-0x88080000,
-0x00098200,
-0x70000000,
-0x00090200,
-0x40820000,
-0x0005080c,
-0x48000000,
-0x00050031,
-0x0006000f,
-0x81290000,
-0x00098200,
-0x28090000,
-0x40820000,
-0x0005080b,
-0x810a0000,
-0x00098200,
-0x38b10000,
-0x00098200,
-0x9201000c,
-0x7e439378,
-0x28080000,
-0x91d20000,
-0x00098200,
-0x41820000,
-0x00050806,
-0x88080000,
-0x00098200,
-0x70000000,
-0x00090200,
-0x41820000,
-0x00050831,
-0x00060010,
-0x7d445378,
-0x11650321,
-0x48000001,
-0x0003002d,
-0x81d20000,
-0x00098200,
-0x12a30321,
-0x48000000,
-0x0005000d,
-0x00060011,
-0x80110000,
-0x00098200,
-0x54c607b8,
-0x91510000,
-0x00098200,
-0x00000000,
-0x98ca0000,
-0x00098200,
-0x900a0000,
-0x00098200,
-0x48000000,
-0x0005000d,
-0x00000000,
-0x114e5300,
-0x556000fe,
-0x000900ab,
-0x100ac234,
-0x40800000,
-0x00050832,
-0x810a0000,
-0x00098200,
-0x812a0000,
-0x00098200,
-0x88ca0000,
-0x00098200,
-0x7c004040,
-0x12aea300,
-0x40800000,
-0x00050832,
-0x11095b00,
-0x1008d234,
-0x41800000,
-0x00050805,
-0x0006000b,
-0x70c00000,
-0x00090200,
-0x12a95b20,
-0x40820000,
-0x00050807,
-0x0006000c,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x0006000f,
-0x810a0000,
-0x00098200,
-0x28080000,
-0x41820000,
-0x0005080b,
-0x89080000,
-0x00098200,
-0x71080000,
-0x00090200,
-0x40820000,
-0x0005080b,
-0x48000000,
-0x00050032,
-0x00060011,
-0x80110000,
-0x00098200,
-0x54c607b8,
-0x91510000,
-0x00098200,
-0x98ca0000,
-0x00098200,
-0x00000000,
-0x900a0000,
-0x00098200,
-0x48000000,
-0x0005000c,
-0x00000000,
-0x7e8ea214,
-0x0006000b,
-0x7ccf6214,
-0x8094fffc,
-0x3413fff8,
-0x80c60004,
-0x540500fe,
-0x000900ab,
-0x41820000,
-0x00050804,
-0x7ca53214,
-0x81240000,
-0x00098200,
-0x54c81800,
-0x000900a1,
-0x88c40000,
-0x00098200,
-0x7c054840,
-0x7d340214,
-0x80040000,
-0x00098200,
-0x41810000,
-0x00050805,
-0x7d080214,
-0x70c00000,
-0x00090200,
-0x0006000d,
-0x10140301,
-0x3a940008,
-0x7c944800,
-0x10080321,
-0x39080008,
-0x41840000,
-0x0005080d,
-0x40820000,
-0x00050807,
-0x0006000e,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x0006000f,
-0x91d20000,
-0x00098200,
-0x7e439378,
-0x9201000c,
-0x7d956378,
-0x48000001,
-0x0003002e,
-0x7eacab78,
-0x48000000,
-0x0005000b,
-0x00060011,
-0x80110000,
-0x00098200,
-0x54c607b8,
-0x90910000,
-0x00098200,
-0x98c40000,
-0x00098200,
-0x90040000,
-0x00098200,
-0x00000000,
-0x48000000,
-0x0005000e,
-0x00000000,
-0x7d6b9a14,
-0x00000000,
-0x114ea300,
-0x7dc97378,
-0x7dcea214,
-0x396bfff8,
-0x100aca34,
-0x39ce0008,
-0x40800000,
-0x00050825,
-0x920efff8,
-0x820a0000,
-0x00098200,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54f4dd78,
-0x7c11402e,
-0x7e947214,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x7d6b9a14,
-0x00000000,
-0x114ea300,
-0x7e8ea214,
-0x810efff8,
-0x396bfff8,
-0x100aca34,
-0x3a940008,
-0x40800000,
-0x00050840,
-0x00060041,
-0x71000000,
-0x00090200,
-0x88ca0000,
-0x00098200,
-0x69090000,
-0x00090200,
-0x288b0000,
-0x40820000,
-0x00050807,
-0x0006000b,
-0x914efffc,
-0x39200000,
-0x2b860001,
-0x41860000,
-0x00050803,
-0x0006000c,
-0x38c90008,
-0x10144b00,
-0x7c865840,
-0x100e4b20,
-0x7cc93378,
-0x40860000,
-0x0005080c,
-0x0006000d,
-0x4c42ea02,
-0x41820000,
-0x00050805,
-0x0006000e,
-0x820a0000,
-0x00098200,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54f4dd78,
-0x7c11402e,
-0x7e947214,
-0x7c0903a6,
-0x4e800420,
-0x0006000f,
-0x80e8fffc,
-0x54f4dd78,
-0x7d147050,
-0x81080000,
-0x00098200,
-0x81080000,
-0x00098200,
-0x81e80000,
-0x00098200,
-0x48000000,
-0x0005000e,
-0x00060011,
-0x71200000,
-0x00090200,
-0x40820000,
-0x0005080b,
-0x00000000,
-0x7dc97050,
-0x810efff8,
-0x71000000,
-0x00090200,
-0x48000000,
-0x0005000b,
-0x00000000,
-0x3a94ffe8,
-0x7dc97378,
-0x114ea300,
-0x7dcea214,
-0x100e0b01,
-0x110e1301,
-0x114e1b21,
-0x100aca34,
-0x100e2321,
-0x39600010,
-0x110e2b21,
-0x39ce0020,
-0x40800000,
-0x00050825,
-0x920efff8,
-0x820a0000,
-0x00098200,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54f4dd78,
-0x7c11402e,
-0x7e947214,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x7e8ea214,
-0x8154fff4,
-0x8174fffc,
-0x800a0000,
-0x00098200,
-0x810a0000,
-0x00098200,
-0x3a100004,
-0x0006000b,
-0x7c0b0040,
-0x55661800,
-0x000900a1,
-0x40800000,
-0x00050805,
-0x11283300,
-0x1009d234,
-0x80f0fffc,
-0x41800000,
-0x00050804,
-0x10005af1,
-0x396b0001,
-0x3cd00000,
-0x00098200,
-0x11340b21,
-0x54e893ba,
-0x9174fffc,
-0x7e083214,
-0x10140321,
-0x0006000d,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x0006000e,
-0x396b0001,
-0x48000000,
-0x0005000b,
-0x0006000f,
-0x810a0000,
-0x00098200,
-0x7d605850,
-0x812a0000,
-0x00098200,
-0x00060010,
-0x7c0b4040,
-0x55662800,
-0x000900a1,
-0x41810000,
-0x0005080d,
-0x556a1800,
-0x000900a1,
-0x7cca3050,
-0x11493300,
-0x7cc93214,
-0x100ad234,
-0x80f0fffc,
-0x41800000,
-0x00050807,
-0x10c60301,
-0x00090cab,
-0x3d300000,
-0x00098200,
-0x11540b21,
-0x7d6b0214,
-0x54e893ba,
-0x10d40321,
-0x396b0001,
-0x7e084a14,
-0x9174fffc,
-0x48000000,
-0x0005000d,
-0x00060011,
-0x00000000,
-0x396b0001,
-0x48000000,
-0x00050010,
-0x00000000,
-0x7e8ea214,
-0x3920ffe8,
-0x11144b00,
-0x8134fff0,
-0x80d4fff8,
-0x1008422c,
-0x2c090000,
-0x00098200,
-0x2c800000,
-0x00098200,
-0x2f060000,
-0x00098200,
-0x40860000,
-0x00050805,
-0x89080000,
-0x00098200,
-0x4c42d202,
-0x2f880000,
-0x00098200,
-0x5580007e,
-0x000900ab,
-0x4c42f202,
-0x7cd00214,
-0x40820000,
-0x00050805,
-0x9374fffc,
-0x3e060000,
-0x00098200,
-0x0006000b,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x0006000f,
-0x38000000,
-0x00098200,
-0x39000000,
-0x00098200,
-0x9810ffff,
-0x3e060000,
-0x00098200,
-0x99100003,
-0x48000000,
-0x0005000b,
-0x00000000,
-0x800efff8,
-0x7d6e5a14,
-0x7e8ea214,
-0x396b0000,
-0x00098200,
-0x7d345214,
-0x38cefff8,
-0x7d605850,
-0x288a0000,
-0x7d0b3051,
-0x41860000,
-0x00050805,
-0x3929fff0,
-0x40810000,
-0x00050802,
-0x0006000b,
-0x100b0301,
-0x396b0008,
-0x10140321,
-0x7c144840,
-0x7c8b3040,
-0x40800000,
-0x00050803,
-0x3a940008,
-0x41840000,
-0x0005080b,
-0x0006000c,
-0x13540321,
-0x7c144840,
-0x3a940008,
-0x41800000,
-0x0005080c,
-0x0006000d,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x0006000f,
-0x80120000,
-0x00098200,
-0x3a600008,
-0x40810000,
-0x0005080d,
-0x7d344214,
-0x7c090040,
-0x3a680008,
-0x41810000,
-0x00050807,
-0x00060010,
-0x100b0301,
-0x396b0008,
-0x10140321,
-0x7c0b3040,
-0x3a940008,
-0x41800000,
-0x00050810,
-0x48000000,
-0x0005000d,
-0x00060011,
-0x7e439378,
-0x92920000,
-0x00098200,
-0x7eae5850,
-0x91d20000,
-0x00098200,
-0x7e8ea050,
-0x9201000c,
-0x550400fe,
-0x000900ab,
-0x48000001,
-0x00030000,
-0x81d20000,
-0x00098200,
-0x00000000,
-0x7e8ea214,
-0x7d6eaa14,
-0x38cefff8,
-0x48000000,
-0x00050010,
-0x00000000,
-0x7d8c9a14,
-0x00000000,
-0x820efff8,
-0x7e8ea214,
-0x7d936378,
-0x0006000b,
-0x72000000,
-0x00090200,
-0x6a080000,
-0x00090200,
-0x40820000,
-0x0005089d,
-0x00060017,
-0x80f0fffc,
-0x2c0c0008,
-0x392efff8,
-0x396cfff8,
-0x54ea5d78,
-0x41820000,
-0x00050803,
-0x39000000,
-0x0006000c,
-0x38c80008,
-0x10144300,
-0x7c065800,
-0x10094320,
-0x41820000,
-0x00050803,
-0x39060008,
-0x10143300,
-0x7c085800,
-0x10093320,
-0x40820000,
-0x0005080c,
-0x0006000d,
-0x0006000f,
-0x7c0a6040,
-0x54f4dd78,
-0x41810000,
-0x00050806,
-0x7dd44850,
-0x810efffc,
-0x80f00000,
-0x3a100004,
-0x81080000,
-0x00098200,
-0x81e80000,
-0x00098200,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00060010,
-0x390cfff8,
-0x398c0008,
-0x13494320,
-0x48000000,
-0x0005000f,
-0x0006009d,
-0x71090000,
-0x00090200,
-0x40820000,
-0x00050818,
-0x7dc87050,
-0x820efff8,
-0x48000000,
-0x0005000b,
-0x00000000,
-0x820efff8,
-0x7e8ea214,
-0x7d936378,
-0x72000000,
-0x00090200,
-0x6a080000,
-0x00090200,
-0x40820000,
-0x0005089d,
-0x80f0fffc,
-0x392efff8,
-0x54ea5d78,
-0x00000000,
-0x10140301,
-0x10090321,
-0x00000000,
-0x0006000f,
-0x7c0a6040,
-0x54f4dd78,
-0x41810000,
-0x00050806,
-0x7dd44850,
-0x810efffc,
-0x80f00000,
-0x3a100004,
-0x81080000,
-0x00098200,
-0x81e80000,
-0x00098200,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00060010,
-0x390cfff8,
-0x398c0008,
-0x13494320,
-0x48000000,
-0x0005000f,
-0x00000000,
-0x7c810808,
-0x00000000,
-0x7e8ea214,
-0x11140301,
-0x00090cab,
-0x10d40301,
-0x00090cab,
-0x11340301,
-0x00090cab,
-0x00000000,
-0x1008b230,
-0x1386b230,
-0x1089b230,
-0x4c00e382,
-0x4c002382,
-0x41800000,
-0x00050842,
-0x00000000,
-0x110832e0,
-0x11140321,
-0x00090cab,
-0x00000000,
-0x1006d231,
-0x11140321,
-0x00090cab,
-0x40800000,
-0x00050802,
-0x10084aec,
-0x0006000b,
-0x00000000,
-0x558c007e,
-0x000900ab,
-0x7d906214,
-0x00000000,
-0x3e0c0000,
-0x00098200,
-0x00000000,
-0x3d8c0000,
-0x00098200,
-0x00000000,
-0x7e0c805e,
-0x00000000,
-0x7e10605e,
-0x00000000,
-0x40810000,
-0x00070800,
-0x00000000,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x0006000c,
-0x100942ec,
-0x48000000,
-0x0005000b,
-0x00000000,
-0x7c810808,
-0x00000000,
-0x110ea300,
-0x3a94fff8,
-0x1008d234,
-0x41800000,
-0x00050801,
-0x00000000,
-0x7c810808,
-0x00000000,
-0x5580007e,
-0x000900ab,
-0x7e100214,
-0x3e100000,
-0x00098200,
-0x110ea320,
-0x00000000,
-0x0006000b,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x7c810808,
-0x00000000,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x7c810808,
-0x00000000,
-0x5580007e,
-0x000900ab,
-0x7e100214,
-0x3e100000,
-0x00098200,
-0x80f00000,
-0x3a100004,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x7c810808,
-0x00000000,
-0x81320000,
-0x00098200,
-0x89100000,
-0x00098200,
-0x81f00000,
-0x00098200,
-0x7c144840,
-0x55081800,
-0x000900a1,
-0x41810000,
-0x00050820,
-0x80f00000,
-0x3a100004,
-0x0006000c,
-0x7c0b4040,
-0x40810000,
-0x00050803,
-0x00000000,
-0x7c810808,
-0x00000000,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x00000000,
-0x0006000d,
-0x134e5b20,
-0x396b0008,
-0x48000000,
-0x0005000c,
-0x00000000,
-0x7c810808,
-0x00000000,
-0x81320000,
-0x00098200,
-0x7d0e5a14,
-0x7c145a14,
-0x91480004,
-0x38cb0000,
-0x00098200,
-0x81f00000,
-0x00098200,
-0x7c004840,
-0x90c80000,
-0x40800000,
-0x00050820,
-0x89300000,
-0x00098200,
-0x7dd47378,
-0x7d0b4378,
-0x80f00000,
-0x3a100004,
-0x2c090000,
-0x39c80008,
-0x41820000,
-0x00050803,
-0x0006000b,
-0x7c145840,
-0x10140301,
-0x40800000,
-0x00050804,
-0x13540321,
-0x3a940008,
-0x0006000c,
-0x3529ffff,
-0x10080b21,
-0x39080008,
-0x40820000,
-0x0005080b,
-0x0006000d,
-0x54e815ba,
-0x54ea5d78,
-0x54ec9b78,
-0x7c11402e,
-0x54f4dd78,
-0x54eb9d78,
-0x7c0903a6,
-0x4e800420,
-0x0006000e,
-0x101ad217,
-0x48000000,
-0x0005000c,
-0x00000000,
-0x80ca0000,
-0x00098200,
-0x00000000,
-0x80d10000,
-0x00098200,
-0x00000000,
-0x7d145a14,
-0x81320000,
-0x00098200,
-0x7d6e5a14,
-0x91d20000,
-0x00098200,
-0x7c084840,
-0x91720000,
-0x00098200,
-0x38000000,
-0x00098200,
-0x7cc903a6,
-0x00000000,
-0x808a0000,
-0x00098200,
-0x00000000,
-0x7e439378,
-0x41810000,
-0x0005081f,
-0x90110000,
-0x00098200,
-0x4e800421,
-0x81120000,
-0x00098200,
-0x546c1800,
-0x000900a1,
-0x81d20000,
-0x00098200,
-0x38000000,
-0x00098200,
-0x820efff8,
-0x7e8c4050,
-0x90110000,
-0x00098200,
-0x48000000,
-0x00050016,
-0x00000000,
-0x00010000
-};
-
-enum {
- GLOB_vm_returnp,
- GLOB_cont_dispatch,
- GLOB_vm_returnc,
- GLOB_BC_RET_Z,
- GLOB_vm_return,
- GLOB_vm_leave_cp,
- GLOB_vm_leave_unw,
- GLOB_vm_unwind_c,
- GLOB_vm_unwind_c_eh,
- GLOB_vm_unwind_ff,
- GLOB_vm_unwind_ff_eh,
- GLOB_vm_growstack_c,
- GLOB_vm_growstack_l,
- GLOB_vm_resume,
- GLOB_vm_pcall,
- GLOB_vm_call,
- GLOB_vm_call_dispatch,
- GLOB_vmeta_call,
- GLOB_vm_call_dispatch_f,
- GLOB_vm_cpcall,
- GLOB_vm_call_tail,
- GLOB_cont_cat,
- GLOB_BC_CAT_Z,
- GLOB_cont_nop,
- GLOB_vmeta_tgets1,
- GLOB_vmeta_tgets,
- GLOB_vmeta_tgetb,
- GLOB_vmeta_tgetv,
- GLOB_vmeta_tsets1,
- GLOB_vmeta_tsets,
- GLOB_vmeta_tsetb,
- GLOB_vmeta_tsetv,
- GLOB_vmeta_comp,
- GLOB_vmeta_binop,
- GLOB_cont_ra,
- GLOB_cont_condt,
- GLOB_cont_condf,
- GLOB_vmeta_equal,
- GLOB_vmeta_arith_vn,
- GLOB_vmeta_arith_nv,
- GLOB_vmeta_unm,
- GLOB_vmeta_arith_vv,
- GLOB_vmeta_len,
- GLOB_BC_LEN_Z,
- GLOB_vmeta_callt,
- GLOB_BC_CALLT_Z,
- GLOB_vmeta_for,
- GLOB_ff_assert,
- GLOB_fff_fallback,
- GLOB_fff_res,
- GLOB_ff_type,
- GLOB_fff_restv,
- GLOB_ff_getmetatable,
- GLOB_ff_setmetatable,
- GLOB_ff_rawget,
- GLOB_ff_tonumber,
- GLOB_ff_tostring,
- GLOB_fff_gcstep,
- GLOB_ff_next,
- GLOB_ff_pairs,
- GLOB_ff_ipairs_aux,
- GLOB_ff_ipairs,
- GLOB_ff_pcall,
- GLOB_ff_xpcall,
- GLOB_ff_coroutine_resume,
- GLOB_ff_coroutine_wrap_aux,
- GLOB_ff_coroutine_yield,
- GLOB_ff_math_abs,
- GLOB_fff_res1,
- GLOB_ff_math_floor,
- GLOB_vm_floor_hilo,
- GLOB_ff_math_ceil,
- GLOB_vm_ceil_hilo,
- GLOB_ff_math_sqrt,
- GLOB_ff_math_log,
- GLOB_ff_math_log10,
- GLOB_ff_math_exp,
- GLOB_ff_math_sin,
- GLOB_ff_math_cos,
- GLOB_ff_math_tan,
- GLOB_ff_math_asin,
- GLOB_ff_math_acos,
- GLOB_ff_math_atan,
- GLOB_ff_math_sinh,
- GLOB_ff_math_cosh,
- GLOB_ff_math_tanh,
- GLOB_ff_math_pow,
- GLOB_ff_math_atan2,
- GLOB_ff_math_fmod,
- GLOB_ff_math_deg,
- GLOB_ff_math_rad,
- GLOB_ff_math_ldexp,
- GLOB_ff_math_frexp,
- GLOB_ff_math_modf,
- GLOB_ff_math_min,
- GLOB_ff_math_max,
- GLOB_ff_string_len,
- GLOB_ff_string_byte,
- GLOB_ff_string_char,
- GLOB_fff_newstr,
- GLOB_ff_string_sub,
- GLOB_ff_string_rep,
- GLOB_ff_string_reverse,
- GLOB_ff_string_lower,
- GLOB_ff_string_upper,
- GLOB_ff_table_getn,
- GLOB_ff_bit_tobit,
- GLOB_fff_resbit,
- GLOB_ff_bit_band,
- GLOB_ff_bit_bor,
- GLOB_ff_bit_bxor,
- GLOB_ff_bit_bswap,
- GLOB_ff_bit_bnot,
- GLOB_ff_bit_lshift,
- GLOB_ff_bit_rshift,
- GLOB_ff_bit_arshift,
- GLOB_ff_bit_rol,
- GLOB_ff_bit_ror,
- GLOB_vm_record,
- GLOB_vm_rethook,
- GLOB_vm_inshook,
- GLOB_cont_hook,
- GLOB_vm_hotloop,
- GLOB_vm_callhook,
- GLOB_vm_hotcall,
- GLOB_vm_exit_handler,
- GLOB_vm_exit_interp,
- GLOB_vm_floor,
- GLOB_vm_floor_efd,
- GLOB_vm_ceil_efd,
- GLOB_vm_trunc_efd,
- GLOB_vm_trunc_hilo,
- GLOB_vm_foldarith,
- GLOB_vm_ffi_call,
- GLOB_BC_MODVN_Z,
- GLOB_BC_TGETS_Z,
- GLOB_BC_TSETS_Z,
- GLOB_BC_RETV_Z,
- GLOB__MAX
-};
-static const char *const globnames[] = {
- "vm_returnp",
- "cont_dispatch",
- "vm_returnc",
- "BC_RET_Z",
- "vm_return",
- "vm_leave_cp",
- "vm_leave_unw",
- "vm_unwind_c",
- "vm_unwind_c_eh",
- "vm_unwind_ff",
- "vm_unwind_ff_eh",
- "vm_growstack_c",
- "vm_growstack_l",
- "vm_resume",
- "vm_pcall",
- "vm_call",
- "vm_call_dispatch",
- "vmeta_call",
- "vm_call_dispatch_f",
- "vm_cpcall",
- "vm_call_tail",
- "cont_cat",
- "BC_CAT_Z",
- "cont_nop",
- "vmeta_tgets1",
- "vmeta_tgets",
- "vmeta_tgetb",
- "vmeta_tgetv",
- "vmeta_tsets1",
- "vmeta_tsets",
- "vmeta_tsetb",
- "vmeta_tsetv",
- "vmeta_comp",
- "vmeta_binop",
- "cont_ra",
- "cont_condt",
- "cont_condf",
- "vmeta_equal",
- "vmeta_arith_vn",
- "vmeta_arith_nv",
- "vmeta_unm",
- "vmeta_arith_vv",
- "vmeta_len",
- "BC_LEN_Z",
- "vmeta_callt",
- "BC_CALLT_Z",
- "vmeta_for",
- "ff_assert",
- "fff_fallback",
- "fff_res",
- "ff_type",
- "fff_restv",
- "ff_getmetatable",
- "ff_setmetatable",
- "ff_rawget",
- "ff_tonumber",
- "ff_tostring",
- "fff_gcstep",
- "ff_next",
- "ff_pairs",
- "ff_ipairs_aux",
- "ff_ipairs",
- "ff_pcall",
- "ff_xpcall",
- "ff_coroutine_resume",
- "ff_coroutine_wrap_aux",
- "ff_coroutine_yield",
- "ff_math_abs",
- "fff_res1",
- "ff_math_floor",
- "vm_floor_hilo",
- "ff_math_ceil",
- "vm_ceil_hilo",
- "ff_math_sqrt",
- "ff_math_log",
- "ff_math_log10",
- "ff_math_exp",
- "ff_math_sin",
- "ff_math_cos",
- "ff_math_tan",
- "ff_math_asin",
- "ff_math_acos",
- "ff_math_atan",
- "ff_math_sinh",
- "ff_math_cosh",
- "ff_math_tanh",
- "ff_math_pow",
- "ff_math_atan2",
- "ff_math_fmod",
- "ff_math_deg",
- "ff_math_rad",
- "ff_math_ldexp",
- "ff_math_frexp",
- "ff_math_modf",
- "ff_math_min",
- "ff_math_max",
- "ff_string_len",
- "ff_string_byte",
- "ff_string_char",
- "fff_newstr",
- "ff_string_sub",
- "ff_string_rep",
- "ff_string_reverse",
- "ff_string_lower",
- "ff_string_upper",
- "ff_table_getn",
- "ff_bit_tobit",
- "fff_resbit",
- "ff_bit_band",
- "ff_bit_bor",
- "ff_bit_bxor",
- "ff_bit_bswap",
- "ff_bit_bnot",
- "ff_bit_lshift",
- "ff_bit_rshift",
- "ff_bit_arshift",
- "ff_bit_rol",
- "ff_bit_ror",
- "vm_record",
- "vm_rethook",
- "vm_inshook",
- "cont_hook",
- "vm_hotloop",
- "vm_callhook",
- "vm_hotcall",
- "vm_exit_handler",
- "vm_exit_interp",
- "vm_floor",
- "vm_floor_efd",
- "vm_ceil_efd",
- "vm_trunc_efd",
- "vm_trunc_hilo",
- "vm_foldarith",
- "vm_ffi_call",
- "BC_MODVN_Z",
- "BC_TGETS_Z",
- "BC_TSETS_Z",
- "BC_RETV_Z",
- (const char *)0
-};
-static const char *const extnames[] = {
- "lj_state_growstack",
- "lj_meta_tget",
- "lj_meta_tset",
- "lj_meta_comp",
- "lj_meta_equal",
- "lj_meta_arith",
- "lj_meta_len",
- "lj_meta_call",
- "lj_meta_for",
- "lj_tab_get",
- "lj_str_fromnum",
- "lj_tab_next",
- "lj_tab_getinth",
- "lj_ffh_coroutine_wrap_err",
- "sqrt",
- "log",
- "log10",
- "exp",
- "sin",
- "cos",
- "tan",
- "asin",
- "acos",
- "atan",
- "sinh",
- "cosh",
- "tanh",
- "pow",
- "atan2",
- "fmod",
- "ldexp",
- "frexp",
- "modf",
- "lj_str_new",
- "lj_tab_len",
- "lj_gc_step",
- "lj_dispatch_ins",
- "lj_dispatch_call",
- "lj_meta_cat",
- "lj_gc_barrieruv",
- "lj_func_closeuv",
- "lj_func_newL_gc",
- "lj_tab_new",
- "lj_tab_dup",
- "lj_gc_step_fixtop",
- "lj_tab_newkey",
- "lj_tab_reasize",
- (const char *)0
-};
-#define Dt1(_V) (int)(ptrdiff_t)&(((lua_State *)0)_V)
-#define Dt2(_V) (int)(ptrdiff_t)&(((global_State *)0)_V)
-#define Dt3(_V) (int)(ptrdiff_t)&(((TValue *)0)_V)
-#define Dt4(_V) (int)(ptrdiff_t)&(((GCobj *)0)_V)
-#define Dt5(_V) (int)(ptrdiff_t)&(((GCstr *)0)_V)
-#define Dt6(_V) (int)(ptrdiff_t)&(((GCtab *)0)_V)
-#define Dt7(_V) (int)(ptrdiff_t)&(((GCfuncL *)0)_V)
-#define Dt8(_V) (int)(ptrdiff_t)&(((GCfuncC *)0)_V)
-#define Dt9(_V) (int)(ptrdiff_t)&(((GCproto *)0)_V)
-#define DtA(_V) (int)(ptrdiff_t)&(((GCupval *)0)_V)
-#define DtB(_V) (int)(ptrdiff_t)&(((Node *)0)_V)
-#define DtC(_V) (int)(ptrdiff_t)&(((int *)0)_V)
-#define DtD(_V) (int)(ptrdiff_t)&(((GCtrace *)0)_V)
-#define DISPATCH_GL(field) (GG_DISP2G + (int)offsetof(global_State, field))
-#define DISPATCH_J(field) (GG_DISP2J + (int)offsetof(jit_State, field))
-#define PC2PROTO(field) ((int)offsetof(GCproto, field)-(int)sizeof(GCproto))
-
-/* Generate subroutines used by opcodes and other parts of the VM. */
-/* The .code_sub section should be last to help static branch prediction. */
-static void build_subroutines(BuildCtx *ctx)
-{
- dasm_put(Dst, 0);
- dasm_put(Dst, 1, FRAME_P, LJ_TTRUE, FRAME_TYPE, FRAME_C, ~LJ_VMST_C, Dt1(->base), DISPATCH_GL(vmstate), 31-3, Dt1(->top));
- dasm_put(Dst, 55, Dt1(->cframe), Dt1(->maxstack), Dt1(->top), 31-3, Dt1(->top), ~LJ_VMST_C, Dt1(->glref), Dt2(->vmstate));
- dasm_put(Dst, 135, LJ_TISNUM+1, LJ_TFUNC, LJ_TTAB, Dt1(->base), Dt1(->glref), LJ_TSTR, LJ_TFALSE, LJ_TNIL, ~LJ_VMST_INTERP, GG_G2DISP, DISPATCH_GL(vmstate), LUA_MINSTACK, Dt1(->base), Dt1(->top), 32-3);
- dasm_put(Dst, 190, Dt1(->base), Dt1(->top), Dt7(->pc), Dt1(->glref), Dt1(->status), FRAME_CP, CFRAME_RESUME, GG_G2DISP, Dt1(->cframe), Dt1(->base), LJ_TISNUM+1, Dt1(->top), LJ_TFUNC, LJ_TTAB, LJ_TSTR, Dt1(->status), FRAME_TYPE, ~LJ_VMST_INTERP, LJ_TNIL, DISPATCH_GL(vmstate));
- dasm_put(Dst, 283, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, Dt1(->base), LJ_TISNUM+1, Dt1(->top), LJ_TFUNC, LJ_TTAB, LJ_TSTR, ~LJ_VMST_INTERP, LJ_TNIL, DISPATCH_GL(vmstate));
- dasm_put(Dst, 384, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), Dt1(->glref), FRAME_CP, GG_G2DISP, Dt7(->pc), PC2PROTO(k), Dt1(->base));
- dasm_put(Dst, 491, DISPATCH_GL(tmptv), DISPATCH_GL(tmptv), DISPATCH_GL(tmptv2), DISPATCH_GL(tmptv), Dt1(->base), FRAME_CONT, Dt1(->top), DISPATCH_GL(tmptv));
- dasm_put(Dst, 566, DISPATCH_GL(tmptv), DISPATCH_GL(tmptv2), DISPATCH_GL(tmptv), Dt1(->base), FRAME_CONT, Dt1(->top), Dt1(->base));
- dasm_put(Dst, 647, -(BCBIAS_J*4 >> 16), LJ_TTRUE, LJ_TFALSE, Dt1(->base));
- dasm_put(Dst, 716, Dt1(->base), FRAME_CONT);
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 739);
-#endif
- dasm_put(Dst, 741, Dt1(->base));
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 749);
-#else
- dasm_put(Dst, 756);
-#endif
- dasm_put(Dst, 759, Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base));
-#if LJ_HASJIT
- dasm_put(Dst, 807);
-#endif
- dasm_put(Dst, 809);
-#if LJ_HASJIT
- dasm_put(Dst, 811, BC_JFORI);
-#endif
- dasm_put(Dst, 814);
-#if LJ_HASJIT
- dasm_put(Dst, 816, BC_JFORI);
-#endif
- dasm_put(Dst, 819, BC_FORI, ~LJ_TNUMX, 31-3, Dt8(->upvalue), Dt6(->metatable), DISPATCH_GL(gcroot[GCROOT_MMNAME+MM_metatable]));
- dasm_put(Dst, 884, Dt6(->hmask), Dt5(->hash), Dt6(->node), 31-5, 31-3, DtB(->key), DtB(->val), DtB(->next), LJ_TUDATA, 31-2, 4*~LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]));
- dasm_put(Dst, 940, Dt6(->metatable), Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
- dasm_put(Dst, 1000, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->top), (2+1)*8);
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 1073, Dt6(->metatable), Dt8(->upvalue[0]));
-#else
- dasm_put(Dst, 1082, Dt8(->upvalue[0]));
-#endif
- dasm_put(Dst, 1086, (3+1)*8, Dt6(->asize), Dt6(->array), 31-3, (0+1)*8, (2+1)*8, Dt6(->hmask), (0+1)*8, (0+1)*8);
- dasm_put(Dst, 1150);
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 1163, Dt6(->metatable), Dt8(->upvalue[0]));
-#else
- dasm_put(Dst, 1172, Dt8(->upvalue[0]));
-#endif
- dasm_put(Dst, 1176, (3+1)*8, DISPATCH_GL(hookmask), 32-HOOK_ACTIVE_SHIFT, 8+FRAME_PCALL, DISPATCH_GL(hookmask), 32-HOOK_ACTIVE_SHIFT, 16+FRAME_PCALL, LJ_TTHREAD, Dt1(->status), Dt1(->cframe), Dt1(->top));
- dasm_put(Dst, 1237, LUA_YIELD, Dt1(->base), Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->base), LUA_YIELD, Dt1(->top), ~LJ_VMST_INTERP, Dt1(->base), DISPATCH_GL(vmstate), Dt1(->maxstack));
- dasm_put(Dst, 1300, Dt1(->top), FRAME_TYPE, LJ_TTRUE, FRAME_TYPE, LJ_TFALSE, Dt1(->top), (2+1)*8, 32-3);
- dasm_put(Dst, 1360, Dt8(->upvalue[0].gcr), Dt1(->status), Dt1(->cframe), Dt1(->top), LUA_YIELD, Dt1(->base), Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->base), LUA_YIELD, Dt1(->top), ~LJ_VMST_INTERP);
- dasm_put(Dst, 1419, Dt1(->base), DISPATCH_GL(vmstate), Dt1(->maxstack), Dt1(->top), FRAME_TYPE, 32-3, Dt1(->cframe));
- dasm_put(Dst, 1476, Dt1(->base), CFRAME_RESUME, Dt1(->top), LUA_YIELD, Dt1(->cframe), Dt1(->status), (1+1)*8, FRAME_TYPE);
- dasm_put(Dst, 1541);
- dasm_put(Dst, 1610);
- dasm_put(Dst, 1673);
- dasm_put(Dst, 1738);
- dasm_put(Dst, 1808, Dt8(->upvalue[0]), DISPATCH_GL(tmptv), DISPATCH_GL(tmptv), (2+1)*8, (2+1)*8);
- dasm_put(Dst, 1880, Dt5(->len));
- dasm_put(Dst, 1947, Dt5(->len), (0+1)*8, Dt5([1]), (1+1)*8, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), DISPATCH_GL(tmptv), Dt1(->base), Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
- dasm_put(Dst, 2007, Dt5(->len), sizeof(GCstr)-1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
- dasm_put(Dst, 2073, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(strempty), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
- dasm_put(Dst, 2132, DISPATCH_GL(tmpbuf.sz), Dt5(->len), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), DISPATCH_GL(tmpbuf.sz), Dt5(->len), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
- dasm_put(Dst, 2191, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), DISPATCH_GL(tmpbuf.sz), Dt5(->len), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
- dasm_put(Dst, 2258);
- dasm_put(Dst, 2329);
- dasm_put(Dst, 2417, Dt8(->f), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), 31-3, Dt1(->top), Dt7(->pc));
- dasm_put(Dst, 2496, FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
-#if LJ_HASJIT
- dasm_put(Dst, 2539);
-#endif
- dasm_put(Dst, 2541, DISPATCH_GL(hookmask), HOOK_ACTIVE, GG_DISP2STATIC, DISPATCH_GL(hookmask), DISPATCH_GL(hookcount), HOOK_ACTIVE, 31-LUA_HOOKLINE, DISPATCH_GL(hookcount), Dt1(->base), Dt1(->base));
- dasm_put(Dst, 2588, GG_DISP2STATIC);
-#if LJ_HASJIT
- dasm_put(Dst, 2606);
-#endif
- dasm_put(Dst, 2608);
-#if LJ_HASJIT
- dasm_put(Dst, 2611);
-#endif
- dasm_put(Dst, 2614);
-#if LJ_HASJIT
- dasm_put(Dst, 2616);
-#endif
- dasm_put(Dst, 2619, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
-#if LJ_HASJIT
- dasm_put(Dst, 2641);
-#endif
- dasm_put(Dst, 2643);
-#if LJ_HASJIT
- dasm_put(Dst, 2645);
-#endif
- dasm_put(Dst, 2647);
-#if LJ_HASJIT
- dasm_put(Dst, 2731);
-#else
- dasm_put(Dst, 2754);
-#endif
- dasm_put(Dst, 2757);
-#if LJ_HASFFI
- dasm_put(Dst, 2820);
-#endif
-}
-
-/* Generate the code for a single instruction. */
-static void build_ins(BuildCtx *ctx, BCOp op, int defop)
-{
- int vk = 0;
- dasm_put(Dst, 2822, defop);
-
- switch (op) {
-
- /* -- Comparison ops ---------------------------------------------------- */
-
- /* Remember: all ops branch for a true comparison, fall through otherwise. */
-
- case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
- dasm_put(Dst, 2824, -(BCBIAS_J*4 >> 16));
- if (op == BC_ISLE || op == BC_ISGT) {
- dasm_put(Dst, 2838);
- }
- if (op == BC_ISLT || op == BC_ISLE) {
- dasm_put(Dst, 2841);
- } else {
- dasm_put(Dst, 2843);
- }
- dasm_put(Dst, 2845);
- break;
-
- case BC_ISEQV: case BC_ISNEV:
- vk = op == BC_ISEQV;
- dasm_put(Dst, 2856, -(BCBIAS_J*4 >> 16));
- if (vk) {
- dasm_put(Dst, 2870);
- } else {
- dasm_put(Dst, 2872);
- }
- dasm_put(Dst, 2874, ~LJ_TISPRI, ~LJ_TISTABUD);
- if (vk) {
- dasm_put(Dst, 2896);
- } else {
- dasm_put(Dst, 2898);
- }
- dasm_put(Dst, 2900);
- if (vk) {
- dasm_put(Dst, 2902);
- } else {
- dasm_put(Dst, 2904);
- }
- dasm_put(Dst, 2906, Dt6(->metatable), 1-vk, Dt6(->nomm), 1<<MM_eq);
- break;
-
- case BC_ISEQS: case BC_ISNES:
- vk = op == BC_ISEQS;
- dasm_put(Dst, 2927, 32-1, -(BCBIAS_J*4 >> 16));
- if (vk) {
- dasm_put(Dst, 2941);
- } else {
- dasm_put(Dst, 2943);
- }
- dasm_put(Dst, 2945);
- break;
-
- case BC_ISEQN: case BC_ISNEN:
- vk = op == BC_ISEQN;
- dasm_put(Dst, 2956, -(BCBIAS_J*4 >> 16));
- if (vk) {
- dasm_put(Dst, 2970);
- } else {
- dasm_put(Dst, 2973);
- }
- dasm_put(Dst, 2975);
- if (!vk) {
- dasm_put(Dst, 2987);
- }
- break;
-
- case BC_ISEQP: case BC_ISNEP:
- vk = op == BC_ISEQP;
- dasm_put(Dst, 2993, 32-3, -(BCBIAS_J*4 >> 16));
- if (vk) {
- dasm_put(Dst, 3005);
- } else {
- dasm_put(Dst, 3007);
- }
- dasm_put(Dst, 3009);
- break;
-
- /* -- Unary test and copy ops ------------------------------------------- */
-
- case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
- dasm_put(Dst, 3020);
- if (op == BC_IST || op == BC_ISF) {
- dasm_put(Dst, 3026, -(BCBIAS_J*4 >> 16));
- if (op == BC_IST) {
- dasm_put(Dst, 3031);
- } else {
- dasm_put(Dst, 3033);
- }
- } else {
- if (op == BC_ISTC) {
- dasm_put(Dst, 3035);
- } else {
- dasm_put(Dst, 3038);
- }
- dasm_put(Dst, 3041, -(BCBIAS_J*4 >> 16));
- }
- dasm_put(Dst, 3048);
- break;
-
- /* -- Unary ops --------------------------------------------------------- */
-
- case BC_MOV:
- dasm_put(Dst, 3059);
- break;
- case BC_NOT:
- dasm_put(Dst, 3072, LJ_TTRUE);
- break;
- case BC_UNM:
- dasm_put(Dst, 3088);
- break;
- case BC_LEN:
- dasm_put(Dst, 3105, Dt5(->len));
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 3129, Dt6(->metatable));
-#endif
- dasm_put(Dst, 3136);
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 3142, Dt6(->nomm), 1<<MM_len);
-#endif
- break;
-
- /* -- Binary ops -------------------------------------------------------- */
-
-
- case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 3152);
- break;
- case 1:
- dasm_put(Dst, 3158);
- break;
- default:
- dasm_put(Dst, 3164);
- break;
- }
- dasm_put(Dst, 3171);
- break;
- case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 3184);
- break;
- case 1:
- dasm_put(Dst, 3190);
- break;
- default:
- dasm_put(Dst, 3196);
- break;
- }
- dasm_put(Dst, 3203);
- break;
- case BC_MULVN: case BC_MULNV: case BC_MULVV:
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 3216);
- break;
- case 1:
- dasm_put(Dst, 3222);
- break;
- default:
- dasm_put(Dst, 3228);
- break;
- }
- dasm_put(Dst, 3235);
- break;
- case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 3248);
- break;
- case 1:
- dasm_put(Dst, 3254);
- break;
- default:
- dasm_put(Dst, 3260);
- break;
- }
- dasm_put(Dst, 3267);
- break;
- case BC_MODVN:
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 3280);
- break;
- case 1:
- dasm_put(Dst, 3286);
- break;
- default:
- dasm_put(Dst, 3292);
- break;
- }
- dasm_put(Dst, 3299);
- break;
- case BC_MODNV: case BC_MODVV:
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 3317);
- break;
- case 1:
- dasm_put(Dst, 3323);
- break;
- default:
- dasm_put(Dst, 3329);
- break;
- }
- dasm_put(Dst, 3336);
- break;
- case BC_POW:
- dasm_put(Dst, 3339);
- break;
-
- case BC_CAT:
- dasm_put(Dst, 3361, Dt1(->base), 32-3, Dt1(->base));
- break;
-
- /* -- Constant ops ------------------------------------------------------ */
-
- case BC_KSTR:
- dasm_put(Dst, 3391, 32-1);
- break;
- case BC_KCDATA:
-#if LJ_HASFFI
- dasm_put(Dst, 3408, 32-1, LJ_TCDATA);
-#endif
- break;
- case BC_KSHORT:
- dasm_put(Dst, 3427, 32-3);
- break;
- case BC_KNUM:
- dasm_put(Dst, 3443);
- break;
- case BC_KPRI:
- dasm_put(Dst, 3456, 32-3);
- break;
- case BC_KNIL:
- dasm_put(Dst, 3471);
- break;
-
- /* -- Upvalue and function ops ------------------------------------------ */
-
- case BC_UGET:
- dasm_put(Dst, 3490, 32-1, offsetof(GCfuncL, uvptr), DtA(->v));
- break;
- case BC_USETV:
- dasm_put(Dst, 3511, 32-1, offsetof(GCfuncL, uvptr), DtA(->marked), DtA(->v), LJ_GC_BLACK, DtA(->closed), -(LJ_TISNUM+1), LJ_TISGCV - (LJ_TISNUM+1), Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G);
- break;
- case BC_USETS:
- dasm_put(Dst, 3563, 32-1, 32-1, offsetof(GCfuncL, uvptr), DtA(->marked), DtA(->v), LJ_GC_BLACK, Dt5(->marked), DtA(->closed), LJ_GC_WHITES, GG_DISP2G);
- break;
- case BC_USETN:
- dasm_put(Dst, 3612, 32-1, offsetof(GCfuncL, uvptr), DtA(->v));
- break;
- case BC_USETP:
- dasm_put(Dst, 3633, 32-1, offsetof(GCfuncL, uvptr), 32-3, DtA(->v));
- break;
-
- case BC_UCLO:
- dasm_put(Dst, 3656, Dt1(->openupval), 32-1, -(BCBIAS_J*4 >> 16), Dt1(->base), Dt1(->base));
- break;
-
- case BC_FNEW:
- dasm_put(Dst, 3686, 32-1, Dt1(->base), Dt1(->base));
- break;
-
- /* -- Table ops --------------------------------------------------------- */
-
- case BC_TNEW:
- case BC_TDUP:
- dasm_put(Dst, 3712, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base));
- if (op == BC_TNEW) {
- dasm_put(Dst, 3725);
- } else {
- dasm_put(Dst, 3733, 32-1);
- }
- dasm_put(Dst, 3740, Dt1(->base));
- break;
-
- case BC_GGET:
- case BC_GSET:
- dasm_put(Dst, 3763, 32-1, Dt7(->env));
- if (op == BC_GGET) {
- dasm_put(Dst, 3771);
- } else {
- dasm_put(Dst, 3774);
- }
- break;
-
- case BC_TGETV:
- dasm_put(Dst, 3777, Dt6(->asize), Dt6(->array), 31-3, Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
- break;
- case BC_TGETS:
- dasm_put(Dst, 3835, 32-1, Dt6(->hmask), Dt5(->hash), Dt6(->node), 31-5, 31-3, DtB(->key), DtB(->val), DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
- dasm_put(Dst, 3899);
- break;
- case BC_TGETB:
- dasm_put(Dst, 3904, 32-3, Dt6(->asize), Dt6(->array), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
- break;
-
- case BC_TSETV:
- dasm_put(Dst, 3948, Dt6(->asize), Dt6(->array), 31-3, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
- dasm_put(Dst, 4015, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
- break;
- case BC_TSETS:
- dasm_put(Dst, 4027, 32-1, Dt6(->hmask), Dt5(->hash), Dt6(->node), Dt6(->nomm), 31-5, 31-3, Dt6(->marked), DtB(->key), DtB(->val), LJ_GC_BLACK, DtB(->val), Dt6(->metatable));
- dasm_put(Dst, 4088, Dt6(->nomm), 1<<MM_newindex, DtB(->next), Dt6(->metatable), DISPATCH_GL(tmptv), Dt1(->base), Dt6(->nomm), 1<<MM_newindex, Dt1(->base), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain));
- dasm_put(Dst, 4139, Dt6(->marked), Dt6(->gclist));
- break;
- case BC_TSETB:
- dasm_put(Dst, 4146, 32-3, Dt6(->asize), Dt6(->array), Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked));
- dasm_put(Dst, 4206, Dt6(->gclist));
- break;
-
- case BC_TSETM:
- dasm_put(Dst, 4211, 32-3, Dt6(->asize), 31-3, Dt6(->marked), Dt6(->array), LJ_GC_BLACK, Dt1(->base), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
- dasm_put(Dst, 4280);
- break;
-
- /* -- Calls and vararg handling ----------------------------------------- */
-
- case BC_CALLM:
- dasm_put(Dst, 4283);
- break;
- case BC_CALL:
- dasm_put(Dst, 4285, Dt7(->pc));
- break;
-
- case BC_CALLMT:
- dasm_put(Dst, 4305);
- break;
- case BC_CALLT:
- dasm_put(Dst, 4307, FRAME_TYPE, Dt7(->ffid), FRAME_VARG, Dt7(->pc), -4-8, Dt7(->pc), PC2PROTO(k), FRAME_TYPEP);
- dasm_put(Dst, 4372, FRAME_TYPE);
- break;
-
- case BC_ITERC:
- dasm_put(Dst, 4379, Dt7(->pc));
- break;
-
- case BC_ITERN:
-#if LJ_HASJIT
-#endif
- dasm_put(Dst, 4405, Dt6(->asize), Dt6(->array), 31-3, -(BCBIAS_J*4 >> 16), Dt6(->hmask), Dt6(->node), 31-5, 31-3, DtB(->key), -(BCBIAS_J*4 >> 16));
- dasm_put(Dst, 4484);
- break;
-
- case BC_ISNEXT:
- dasm_put(Dst, 4488, LJ_TTAB, LJ_TFUNC, LJ_TNIL, Dt8(->ffid), FF_next_N, 32-1, -(BCBIAS_J*4 >> 16), BC_JMP, BC_ITERC, -(BCBIAS_J*4 >> 16));
- break;
-
- case BC_VARG:
- dasm_put(Dst, 4539, FRAME_VARG, Dt1(->maxstack), Dt1(->top), Dt1(->base), 32-3, Dt1(->base));
- dasm_put(Dst, 4619);
- break;
-
- /* -- Returns ----------------------------------------------------------- */
-
- case BC_RETM:
- dasm_put(Dst, 4625);
- break;
-
- case BC_RET:
- dasm_put(Dst, 4627, FRAME_TYPE, FRAME_VARG, Dt7(->pc), PC2PROTO(k), FRAME_TYPEP);
- break;
-
- case BC_RET0: case BC_RET1:
- dasm_put(Dst, 4697, FRAME_TYPE, FRAME_VARG);
- if (op == BC_RET1) {
- dasm_put(Dst, 4710);
- }
- dasm_put(Dst, 4713, Dt7(->pc), PC2PROTO(k));
- break;
-
- /* -- Loops and branches ------------------------------------------------ */
-
- case BC_FORL:
-#if LJ_HASJIT
- dasm_put(Dst, 4741);
-#endif
- break;
-
- case BC_JFORI:
- case BC_JFORL:
-#if !LJ_HASJIT
- break;
-#endif
- case BC_FORI:
- case BC_IFORL:
- vk = (op == BC_IFORL || op == BC_JFORL);
- dasm_put(Dst, 4743, FORL_IDX*8, FORL_STEP*8, FORL_STOP*8);
- if (!vk) {
- dasm_put(Dst, 4751);
- }
- if (vk) {
- dasm_put(Dst, 4759, FORL_IDX*8);
- }
- dasm_put(Dst, 4763, FORL_EXT*8);
- if (op != BC_JFORL) {
- dasm_put(Dst, 4771, 32-1);
- if (op == BC_JFORI) {
- dasm_put(Dst, 4775, -(BCBIAS_J*4 >> 16));
- } else {
- dasm_put(Dst, 4778, -(BCBIAS_J*4 >> 16));
- }
- }
- if (op == BC_FORI) {
- dasm_put(Dst, 4781);
- } else if (op == BC_IFORL) {
- dasm_put(Dst, 4783);
- } else {
- dasm_put(Dst, 4785, BC_JLOOP);
- }
- dasm_put(Dst, 4788);
- break;
-
- case BC_ITERL:
-#if LJ_HASJIT
- dasm_put(Dst, 4803);
-#endif
- break;
-
- case BC_JITERL:
-#if !LJ_HASJIT
- break;
-#endif
- case BC_IITERL:
- dasm_put(Dst, 4805);
- if (op == BC_JITERL) {
- dasm_put(Dst, 4811);
- } else {
- dasm_put(Dst, 4813, 32-1, -(BCBIAS_J*4 >> 16));
- }
- dasm_put(Dst, 4820);
- break;
-
- case BC_LOOP:
-#if LJ_HASJIT
- dasm_put(Dst, 4832);
-#endif
- break;
-
- case BC_ILOOP:
- dasm_put(Dst, 4834);
- break;
-
- case BC_JLOOP:
-#if LJ_HASJIT
- dasm_put(Dst, 4845);
-#endif
- break;
-
- case BC_JMP:
- dasm_put(Dst, 4847, 32-1, -(BCBIAS_J*4 >> 16));
- break;
-
- /* -- Function headers -------------------------------------------------- */
-
- case BC_FUNCF:
-#if LJ_HASJIT
- dasm_put(Dst, 4863);
-#endif
- case BC_FUNCV: /* NYI: compiled vararg functions. */
- break;
-
- case BC_JFUNCF:
-#if !LJ_HASJIT
- break;
-#endif
- case BC_IFUNCF:
- dasm_put(Dst, 4865, Dt1(->maxstack), -4+PC2PROTO(numparams), -4+PC2PROTO(k), 31-3);
- if (op == BC_JFUNCF) {
- dasm_put(Dst, 4883);
- } else {
- dasm_put(Dst, 4885);
- }
- dasm_put(Dst, 4894);
- break;
-
- case BC_JFUNCV:
-#if !LJ_HASJIT
- break;
-#endif
- dasm_put(Dst, 4900);
- break; /* NYI: compiled vararg functions. */
-
- case BC_IFUNCV:
- dasm_put(Dst, 4902, Dt1(->maxstack), 8+FRAME_VARG, -4+PC2PROTO(k), -4+PC2PROTO(numparams));
- break;
-
- case BC_FUNCC:
- case BC_FUNCCW:
- if (op == BC_FUNCC) {
- dasm_put(Dst, 4952, Dt8(->f));
- } else {
- dasm_put(Dst, 4955, DISPATCH_GL(wrapf));
- }
- dasm_put(Dst, 4958, Dt1(->maxstack), Dt1(->base), Dt1(->top), ~LJ_VMST_C);
- if (op == BC_FUNCCW) {
- dasm_put(Dst, 4971, Dt8(->f));
- }
- dasm_put(Dst, 4974, DISPATCH_GL(vmstate), Dt1(->top), 31-3, Dt1(->base), ~LJ_VMST_INTERP, DISPATCH_GL(vmstate));
- break;
-
- /* ---------------------------------------------------------------------- */
-
- default:
- fprintf(stderr, "Error: undefined opcode BC_%s\n", bc_names[op]);
- exit(2);
- break;
- }
-}
-
-static int build_backend(BuildCtx *ctx)
-{
- int op;
-
- dasm_growpc(Dst, BC__MAX);
-
- build_subroutines(ctx);
-
- dasm_put(Dst, 4995);
- for (op = 0; op < BC__MAX; op++)
- build_ins(ctx, (BCOp)op, op);
-
- return BC__MAX;
-}
-
-/* Emit pseudo frame-info for all assembler functions. */
-static void emit_asm_debug(BuildCtx *ctx)
-{
- int i;
- switch (ctx->mode) {
- case BUILD_elfasm:
- fprintf(ctx->fp, "\t.section .debug_frame,\"\",@progbits\n");
- fprintf(ctx->fp,
- ".Lframe0:\n"
- "\t.long .LECIE0-.LSCIE0\n"
- ".LSCIE0:\n"
- "\t.long 0xffffffff\n"
- "\t.byte 0x1\n"
- "\t.string \"\"\n"
- "\t.uleb128 0x1\n"
- "\t.sleb128 -4\n"
- "\t.byte 65\n"
- "\t.byte 0xc\n\t.uleb128 1\n\t.uleb128 0\n"
- "\t.align 2\n"
- ".LECIE0:\n\n");
- fprintf(ctx->fp,
- ".LSFDE0:\n"
- "\t.long .LEFDE0-.LASFDE0\n"
- ".LASFDE0:\n"
- "\t.long .Lframe0\n"
- "\t.long .Lbegin\n"
- "\t.long %d\n"
- "\t.byte 0xe\n\t.uleb128 %d\n"
- "\t.byte 0x11\n\t.uleb128 65\n\t.sleb128 -1\n"
- "\t.byte 0x5\n\t.uleb128 70\n\t.sleb128 37\n",
- (int)ctx->codesz, CFRAME_SIZE);
- for (i = 14; i <= 31; i++)
- fprintf(ctx->fp,
- "\t.byte %d\n\t.uleb128 %d\n"
- "\t.byte 5\n\t.uleb128 %d\n\t.uleb128 %d\n",
- 0x80+i, 1+2*(31-i), 1200+i, 2+2*(31-i));
- fprintf(ctx->fp,
- "\t.align 2\n"
- ".LEFDE0:\n\n");
- fprintf(ctx->fp, "\t.section .eh_frame,\"a\",@progbits\n");
- fprintf(ctx->fp,
- ".Lframe1:\n"
- "\t.long .LECIE1-.LSCIE1\n"
- ".LSCIE1:\n"
- "\t.long 0\n"
- "\t.byte 0x1\n"
- "\t.string \"zPR\"\n"
- "\t.uleb128 0x1\n"
- "\t.sleb128 -4\n"
- "\t.byte 65\n"
- "\t.uleb128 6\n" /* augmentation length */
- "\t.byte 0x1b\n" /* pcrel|sdata4 */
- "\t.long lj_err_unwind_dwarf-.\n"
- "\t.byte 0x1b\n" /* pcrel|sdata4 */
- "\t.byte 0xc\n\t.uleb128 1\n\t.uleb128 0\n"
- "\t.align 2\n"
- ".LECIE1:\n\n");
- fprintf(ctx->fp,
- ".LSFDE1:\n"
- "\t.long .LEFDE1-.LASFDE1\n"
- ".LASFDE1:\n"
- "\t.long .LASFDE1-.Lframe1\n"
- "\t.long .Lbegin-.\n"
- "\t.long %d\n"
- "\t.uleb128 0\n" /* augmentation length */
- "\t.byte 0xe\n\t.uleb128 %d\n"
- "\t.byte 0x11\n\t.uleb128 65\n\t.sleb128 -1\n"
- "\t.byte 0x5\n\t.uleb128 70\n\t.sleb128 37\n",
- (int)ctx->codesz, CFRAME_SIZE);
- for (i = 14; i <= 31; i++)
- fprintf(ctx->fp,
- "\t.byte %d\n\t.uleb128 %d\n"
- "\t.byte 5\n\t.uleb128 %d\n\t.uleb128 %d\n",
- 0x80+i, 1+2*(31-i), 1200+i, 2+2*(31-i));
- fprintf(ctx->fp,
- "\t.align 2\n"
- ".LEFDE1:\n\n");
- break;
- default:
- break;
- }
-}
-
+++ /dev/null
-/*
-** This file has been pre-processed with DynASM.
-** http://luajit.org/dynasm.html
-** DynASM version 1.3.0, DynASM x64 version 1.3.0
-** DO NOT EDIT! The original file is in "buildvm_x86.dasc".
-*/
-
-#if DASM_VERSION != 10300
-#error "Version mismatch between DynASM and included encoding engine"
-#endif
-
-#define DASM_SECTION_CODE_OP 0
-#define DASM_SECTION_CODE_SUB 1
-#define DASM_MAXSECTION 2
-static const unsigned char build_actionlist[16378] = {
- 254,1,248,10,252,247,195,237,15,132,244,11,131,227,252,248,41,218,72,141,
- 76,25,252,248,139,90,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,4,
- 252,247,195,237,15,132,244,13,248,14,129,252,243,239,252,247,195,237,15,133,
- 244,10,65,199,134,233,237,131,227,252,248,41,211,252,247,219,131,232,1,15,
- 132,244,248,248,1,72,139,44,10,72,137,106,252,248,131,194,8,131,232,1,15,
- 133,244,1,248,2,255,139,108,36,24,137,157,233,248,3,139,68,36,4,139,76,36,
- 16,248,4,57,193,15,133,244,252,248,5,131,252,234,8,137,149,233,248,15,72,
- 139,76,36,32,72,137,141,233,49,192,248,16,72,131,196,40,65,94,65,95,91,93,
- 195,248,6,15,130,244,253,59,149,233,15,135,244,254,199,66,252,252,237,131,
- 194,8,131,192,1,252,233,244,4,248,7,255,133,201,15,132,244,5,41,193,141,20,
- 202,252,233,244,5,248,8,137,149,233,137,68,36,4,137,206,137,252,239,232,251,
- 1,0,139,149,233,252,233,244,3,248,17,137,252,240,72,137,252,252,248,18,139,
- 108,36,24,139,173,233,199,133,233,237,252,233,244,16,248,19,139,124,36,24,
- 137,198,72,131,196,40,65,94,65,95,91,93,252,233,251,1,1,248,20,72,129,231,
- 239,72,137,252,252,248,21,255,139,108,36,24,72,199,193,252,248,252,255,252,
- 255,252,255,184,237,139,149,233,68,139,181,233,65,129,198,239,139,90,252,
- 252,199,66,252,252,237,65,199,134,233,237,252,233,244,12,248,22,190,237,252,
- 233,244,248,248,23,131,232,8,252,233,244,247,248,24,141,68,194,252,248,248,
- 1,15,182,139,233,131,195,4,137,149,233,255,137,133,233,137,92,36,28,137,206,
- 248,2,137,252,239,232,251,1,0,139,149,233,139,133,233,139,106,252,248,41,
- 208,193,232,3,131,192,1,139,157,233,139,11,15,182,252,233,15,182,205,131,
- 195,4,65,252,255,36,252,238,248,25,85,83,65,87,65,86,72,131,252,236,40,137,
- 252,253,137,124,36,24,137,252,241,187,237,49,192,76,141,188,253,36,233,68,
- 139,181,233,65,129,198,239,76,137,189,233,137,68,36,28,72,137,68,36,32,137,
- 68,36,16,137,68,36,20,56,133,233,15,132,244,249,65,199,134,233,237,136,133,
- 233,139,149,233,139,133,233,41,200,193,232,3,131,192,1,41,209,139,90,252,
- 252,137,68,36,4,252,247,195,237,255,15,132,244,13,252,233,244,14,248,26,85,
- 83,65,87,65,86,72,131,252,236,40,187,237,137,76,36,20,252,233,244,247,248,
- 27,85,83,65,87,65,86,72,131,252,236,40,187,237,248,1,137,84,36,16,137,252,
- 253,137,124,36,24,137,252,241,76,139,189,233,76,137,124,36,32,137,108,36,
- 28,72,137,165,233,248,2,68,139,181,233,65,129,198,239,248,3,65,199,134,233,
- 237,139,149,233,255,1,203,41,211,139,133,233,41,200,193,232,3,131,192,1,248,
- 28,139,105,252,248,129,121,253,252,252,239,15,133,244,29,248,30,137,202,137,
- 90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,
- 255,36,252,238,248,31,85,83,65,87,65,86,72,131,252,236,40,137,252,253,137,
- 124,36,24,137,108,36,28,68,139,189,233,68,43,189,233,199,68,36,20,0,0,0,0,
- 68,137,124,36,16,76,139,189,233,76,137,124,36,32,72,137,165,233,252,255,209,
- 133,192,15,132,244,15,137,193,187,237,252,233,244,2,248,11,1,209,131,227,
- 252,248,137,213,41,218,199,68,193,252,252,237,137,200,139,93,252,244,72,99,
- 77,252,240,255,131,252,249,1,15,134,244,247,255,76,141,61,245,76,1,252,249,
- 255,68,139,122,252,248,69,139,191,233,69,139,191,233,252,255,225,255,248,
- 1,15,132,244,32,41,213,193,252,237,3,141,69,252,255,252,233,244,33,255,248,
- 34,15,182,75,252,255,131,252,237,16,141,12,202,41,252,233,15,132,244,35,252,
- 247,217,193,252,233,3,139,124,36,24,137,151,233,137,202,72,139,8,72,137,77,
- 0,137,252,238,252,233,244,36,248,37,137,4,36,199,68,36,4,237,72,141,4,36,
- 128,123,252,252,235,15,133,244,247,65,141,142,233,137,41,199,65,4,237,137,
- 205,252,233,244,248,248,38,15,182,67,252,254,255,199,68,36,4,237,137,4,36,
- 255,252,242,15,42,192,252,242,15,17,4,36,255,72,141,4,36,252,233,244,247,
- 248,39,15,182,67,252,254,141,4,194,248,1,15,182,107,252,255,141,44,252,234,
- 248,2,139,124,36,24,137,151,233,137,252,238,72,137,194,137,252,253,137,92,
- 36,28,232,251,1,2,139,149,233,133,192,15,132,244,249,248,35,15,182,75,252,
- 253,72,139,40,72,137,44,202,139,3,15,182,204,15,182,232,131,195,4,193,232,
- 16,65,252,255,36,252,238,248,3,139,141,233,137,89,252,244,141,153,233,41,
- 211,139,105,252,248,184,237,252,233,244,30,248,40,137,4,36,199,68,36,4,237,
- 72,141,4,36,128,123,252,252,235,15,133,244,247,255,65,141,142,233,137,41,
- 199,65,4,237,137,205,252,233,244,248,248,41,15,182,67,252,254,255,72,141,
- 4,36,252,233,244,247,248,42,15,182,67,252,254,141,4,194,248,1,15,182,107,
- 252,255,141,44,252,234,248,2,139,124,36,24,137,151,233,137,252,238,72,137,
- 194,137,252,253,137,92,36,28,232,251,1,3,139,149,233,133,192,15,132,244,249,
- 15,182,75,252,253,72,139,44,202,72,137,40,248,43,139,3,15,182,204,15,182,
- 232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,139,141,233,137,89,252,
- 244,15,182,67,252,253,72,139,44,194,72,137,105,16,141,153,233,41,211,139,
- 105,252,248,184,237,252,233,244,30,248,44,139,108,36,24,137,149,233,141,52,
- 202,141,20,194,137,252,239,15,182,75,252,252,137,92,36,28,232,251,1,4,248,
- 3,139,149,233,255,131,252,248,1,15,135,244,45,248,4,141,91,4,15,130,244,252,
- 248,5,15,183,67,252,254,141,156,253,131,233,248,6,139,3,15,182,204,15,182,
- 232,131,195,4,193,232,16,65,252,255,36,252,238,248,46,131,195,4,129,120,253,
- 4,239,15,130,244,5,252,233,244,6,248,47,129,120,253,4,239,252,233,244,4,248,
- 48,131,252,235,4,137,206,137,252,233,139,108,36,24,137,149,233,255,137,194,
- 137,252,239,137,92,36,28,232,251,1,5,252,233,244,3,248,49,255,131,252,235,
- 4,139,108,36,24,137,149,233,137,252,239,139,115,252,252,137,92,36,28,232,
- 251,1,6,252,233,244,3,255,248,50,255,15,182,107,252,255,255,248,51,65,141,
- 4,199,252,233,244,247,248,52,255,248,53,65,141,4,199,141,44,252,234,149,252,
- 233,244,248,248,54,141,4,194,137,197,252,233,244,248,248,55,255,248,56,141,
- 4,194,248,1,141,44,252,234,248,2,141,12,202,68,15,182,67,252,252,137,206,
- 137,193,139,124,36,24,137,151,233,137,252,234,137,252,253,137,92,36,28,232,
- 251,1,7,139,149,233,133,192,15,132,244,43,248,45,137,193,41,208,137,89,252,
- 244,141,152,233,184,237,252,233,244,28,248,57,139,108,36,24,137,149,233,141,
- 52,194,137,252,239,137,92,36,28,232,251,1,8,139,149,233,255,133,192,15,133,
- 244,45,15,183,67,252,254,139,60,194,252,233,244,58,255,252,233,244,45,255,
- 248,59,141,76,202,8,248,29,137,76,36,4,137,4,36,131,252,233,8,139,108,36,
- 24,137,149,233,137,206,141,20,193,137,252,239,137,92,36,28,232,251,1,9,139,
- 149,233,139,76,36,4,139,4,36,139,105,252,248,131,192,1,65,57,215,15,132,244,
- 60,137,202,137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,131,
- 195,4,65,252,255,36,252,238,248,61,139,108,36,24,137,149,233,137,206,137,
- 252,239,137,92,36,28,232,251,1,10,139,149,233,139,67,252,252,15,182,204,15,
- 182,232,193,232,16,65,252,255,164,253,252,238,233,248,62,129,252,248,239,
- 15,130,244,63,139,106,4,129,252,253,239,15,131,244,63,139,90,252,252,137,
- 68,36,4,137,106,252,252,139,42,137,106,252,248,131,232,2,15,132,244,248,255,
- 137,209,248,1,131,193,8,72,139,41,72,137,105,252,248,131,232,1,15,133,244,
- 1,248,2,139,68,36,4,252,233,244,64,248,65,129,252,248,239,15,130,244,63,139,
- 106,4,137,252,233,193,252,249,15,131,252,249,252,254,15,132,244,249,184,237,
- 252,247,213,57,232,255,15,71,197,255,15,134,244,247,137,232,248,1,255,248,
- 2,139,106,252,248,139,132,253,197,233,139,90,252,252,199,66,252,252,237,137,
- 66,252,248,252,233,244,66,248,3,184,237,252,233,244,2,248,67,129,252,248,
- 239,15,130,244,63,139,106,4,139,90,252,252,129,252,253,239,15,133,244,252,
- 248,1,139,42,139,173,233,248,2,133,252,237,199,66,252,252,237,255,15,132,
- 244,66,65,139,134,233,199,66,252,252,237,137,106,252,248,139,141,233,35,136,
- 233,105,201,239,3,141,233,248,3,129,185,233,239,15,133,244,250,57,129,233,
- 15,132,244,251,248,4,139,137,233,133,201,15,133,244,3,255,252,233,244,66,
- 248,5,139,105,4,129,252,253,239,15,132,244,66,139,1,137,106,252,252,137,66,
- 252,248,252,233,244,66,248,6,129,252,253,239,15,132,244,1,129,252,253,239,
- 15,135,244,254,129,252,253,239,15,134,244,253,189,237,252,233,244,254,248,
- 7,255,189,237,248,8,252,247,213,65,139,172,253,174,233,252,233,244,2,248,
- 68,129,252,248,239,15,130,244,63,129,122,253,4,239,15,133,244,63,139,42,131,
- 189,233,0,15,133,244,63,129,122,253,12,239,15,133,244,63,139,66,8,137,133,
- 233,139,90,252,252,199,66,252,252,237,255,137,106,252,248,252,246,133,233,
- 235,15,132,244,247,128,165,233,235,65,139,134,233,65,137,174,233,137,133,
- 233,248,1,252,233,244,66,248,69,129,252,248,239,15,130,244,63,129,122,253,
- 4,239,15,133,244,63,137,213,139,50,141,82,8,139,124,36,24,232,251,1,11,137,
- 252,234,72,139,40,139,90,252,252,72,137,106,252,248,252,233,244,66,248,70,
- 255,129,252,248,239,15,133,244,63,129,122,253,4,239,255,15,133,244,247,139,
- 42,252,233,244,71,248,1,15,135,244,63,255,15,131,244,63,255,252,242,15,16,
- 2,252,233,244,72,255,221,2,252,233,244,73,255,248,74,129,252,248,239,15,130,
- 244,63,139,90,252,252,129,122,253,4,239,15,133,244,249,139,2,248,2,199,66,
- 252,252,237,137,66,252,248,252,233,244,66,248,3,129,122,253,4,239,15,135,
- 244,63,65,131,190,233,0,15,133,244,63,65,139,174,233,65,59,174,233,255,15,
- 130,244,247,232,244,75,248,1,139,108,36,24,137,149,233,137,92,36,28,137,214,
- 137,252,239,255,232,251,1,12,255,232,251,1,13,255,139,149,233,252,233,244,
- 2,248,76,129,252,248,239,15,130,244,63,15,132,244,248,248,1,129,122,253,4,
- 239,15,133,244,63,139,108,36,24,137,149,233,137,149,233,139,90,252,252,139,
- 50,141,82,8,137,252,239,137,92,36,28,232,251,1,14,139,149,233,133,192,15,
- 132,244,249,72,139,106,8,72,139,66,16,72,137,106,252,248,72,137,2,248,77,
- 184,237,255,252,233,244,78,248,2,199,66,12,237,252,233,244,1,248,3,199,66,
- 252,252,237,252,233,244,66,248,79,129,252,248,239,15,130,244,63,139,42,129,
- 122,253,4,239,15,133,244,63,255,131,189,233,0,15,133,244,63,255,139,106,252,
- 248,139,133,233,139,90,252,252,199,66,252,252,237,137,66,252,248,199,66,12,
- 237,184,237,252,233,244,78,248,80,129,252,248,239,15,130,244,63,129,122,253,
- 4,239,15,133,244,63,129,122,253,12,239,255,139,90,252,252,255,139,66,8,131,
- 192,1,199,66,252,252,237,137,66,252,248,255,252,242,15,16,66,8,72,189,237,
- 237,102,72,15,110,205,252,242,15,88,193,252,242,15,45,192,252,242,15,17,66,
- 252,248,255,139,42,59,133,233,15,131,244,248,193,224,3,3,133,233,248,1,129,
- 120,253,4,239,15,132,244,81,72,139,40,72,137,42,252,233,244,77,248,2,131,
- 189,233,0,15,132,244,81,137,252,239,137,213,137,198,232,251,1,15,137,252,
- 234,133,192,15,133,244,1,248,81,184,237,252,233,244,78,248,82,255,139,106,
- 252,248,139,133,233,139,90,252,252,199,66,252,252,237,137,66,252,248,255,
- 199,66,12,237,199,66,8,0,0,0,0,255,15,87,192,252,242,15,17,66,8,255,217,252,
- 238,221,90,8,255,184,237,252,233,244,78,248,83,129,252,248,239,15,130,244,
- 63,141,74,8,131,232,1,187,237,248,1,65,15,182,174,233,193,252,237,235,131,
- 229,1,1,252,235,252,233,244,28,248,84,129,252,248,239,15,130,244,63,129,122,
- 253,12,239,15,133,244,63,255,139,106,4,137,106,12,199,66,4,237,139,42,139,
- 90,8,137,106,8,137,26,141,74,16,131,232,2,187,237,252,233,244,1,248,85,129,
- 252,248,239,15,130,244,63,139,42,139,90,252,252,137,92,36,28,137,44,36,129,
- 122,253,4,239,15,133,244,63,72,131,189,233,0,15,133,244,63,128,189,233,235,
- 15,135,244,63,139,141,233,15,132,244,247,255,59,141,233,15,132,244,63,248,
- 1,141,92,193,252,240,59,157,233,15,135,244,63,137,157,233,139,108,36,24,137,
- 149,233,131,194,8,137,149,233,141,108,194,232,72,41,221,57,203,15,132,244,
- 249,248,2,72,139,4,43,72,137,67,252,248,131,252,235,8,57,203,15,133,244,2,
- 248,3,137,206,139,60,36,232,244,25,65,199,134,233,237,255,139,108,36,24,139,
- 28,36,139,149,233,129,252,248,239,15,135,244,254,248,4,139,139,233,68,139,
- 187,233,137,139,233,68,137,252,251,41,203,15,132,244,252,141,4,26,193,252,
- 235,3,59,133,233,15,135,244,255,137,213,72,41,205,248,5,72,139,1,72,137,4,
- 41,131,193,8,68,57,252,249,15,133,244,5,248,6,141,67,2,199,66,252,252,237,
- 248,7,139,92,36,28,137,68,36,4,72,199,193,252,248,252,255,252,255,252,255,
- 252,247,195,237,255,15,132,244,13,252,233,244,14,248,8,199,66,252,252,237,
- 139,139,233,131,252,233,8,137,139,233,72,139,1,72,137,2,184,237,252,233,244,
- 7,248,9,139,12,36,68,137,185,233,137,222,137,252,239,232,251,1,0,139,28,36,
- 139,149,233,252,233,244,4,248,86,139,106,252,248,139,173,233,139,90,252,252,
- 137,92,36,28,137,44,36,72,131,189,233,0,15,133,244,63,255,128,189,233,235,
- 15,135,244,63,139,141,233,15,132,244,247,59,141,233,15,132,244,63,248,1,141,
- 92,193,252,248,59,157,233,15,135,244,63,137,157,233,139,108,36,24,137,149,
- 233,137,149,233,141,108,194,252,240,72,41,221,57,203,15,132,244,249,248,2,
- 255,72,139,4,43,72,137,67,252,248,131,252,235,8,57,203,15,133,244,2,248,3,
- 137,206,139,60,36,232,244,25,65,199,134,233,237,139,108,36,24,139,28,36,139,
- 149,233,129,252,248,239,15,135,244,254,248,4,139,139,233,68,139,187,233,137,
- 139,233,68,137,252,251,41,203,15,132,244,252,141,4,26,193,252,235,3,59,133,
- 233,15,135,244,255,255,137,213,72,41,205,248,5,72,139,1,72,137,4,41,131,193,
- 8,68,57,252,249,15,133,244,5,248,6,141,67,1,248,7,139,92,36,28,137,68,36,
- 4,49,201,252,247,195,237,15,132,244,13,252,233,244,14,248,8,137,222,137,252,
- 239,232,251,1,16,248,9,139,12,36,68,137,185,233,137,222,137,252,239,232,251,
- 1,0,139,28,36,139,149,233,252,233,244,4,248,87,139,108,36,24,72,252,247,133,
- 233,237,15,132,244,63,255,137,149,233,141,68,194,252,248,137,133,233,49,192,
- 72,137,133,233,176,235,136,133,233,252,233,244,16,255,248,71,255,248,73,139,
- 90,252,252,221,90,252,248,252,233,244,66,255,248,88,129,252,248,239,15,130,
- 244,63,255,129,122,253,4,239,15,133,244,248,139,42,131,252,253,0,15,137,244,
- 71,252,247,221,15,136,244,247,248,89,248,71,139,90,252,252,199,66,252,252,
- 237,137,106,252,248,252,233,244,66,248,1,139,90,252,252,199,66,252,252,0,
- 0,224,65,199,66,252,248,0,0,0,0,252,233,244,66,248,2,15,135,244,63,255,129,
- 122,253,4,239,15,131,244,63,255,252,242,15,16,2,72,184,237,237,102,72,15,
- 110,200,15,84,193,248,72,139,90,252,252,252,242,15,17,66,252,248,255,221,
- 2,217,225,248,72,248,73,139,90,252,252,221,90,252,248,255,248,66,184,237,
- 248,78,137,68,36,4,248,64,252,247,195,237,15,133,244,253,248,5,56,67,252,
- 255,15,135,244,252,15,182,75,252,253,72,252,247,209,141,20,202,139,3,15,182,
- 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,6,199,68,194,
- 252,244,237,131,192,1,252,233,244,5,248,7,72,199,193,252,248,252,255,252,
- 255,252,255,252,233,244,14,248,90,255,129,122,253,4,239,15,133,244,247,139,
- 42,252,233,244,71,248,1,15,135,244,63,255,252,242,15,16,2,232,244,91,255,
- 252,242,15,45,232,129,252,253,0,0,0,128,15,133,244,71,252,242,15,42,205,102,
- 15,46,193,15,138,244,72,15,132,244,71,255,221,2,232,244,91,255,248,92,255,
- 252,242,15,16,2,232,244,93,255,221,2,232,244,93,255,248,94,129,252,248,239,
- 15,130,244,63,129,122,253,4,239,15,131,244,63,252,242,15,81,2,252,233,244,
- 72,255,248,94,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,
- 63,221,2,217,252,250,252,233,244,73,255,248,95,129,252,248,239,15,130,244,
- 63,129,122,253,4,239,15,131,244,63,217,252,237,221,2,217,252,241,252,233,
- 244,73,248,96,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,
- 63,217,252,236,221,2,217,252,241,252,233,244,73,248,97,129,252,248,239,255,
- 15,130,244,63,129,122,253,4,239,15,131,244,63,221,2,232,244,98,252,233,244,
- 73,248,99,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,221,
- 2,217,252,254,252,233,244,73,248,100,129,252,248,239,255,15,130,244,63,129,
- 122,253,4,239,15,131,244,63,221,2,217,252,255,252,233,244,73,248,101,129,
- 252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,221,2,217,252,242,
- 221,216,252,233,244,73,248,102,129,252,248,239,15,130,244,63,255,129,122,
- 253,4,239,15,131,244,63,221,2,217,192,216,200,217,232,222,225,217,252,250,
- 217,252,243,252,233,244,73,248,103,129,252,248,239,15,130,244,63,129,122,
- 253,4,239,15,131,244,63,221,2,217,192,216,200,217,232,222,225,217,252,250,
- 217,201,217,252,243,252,233,244,73,248,104,129,252,248,239,15,130,244,63,
- 129,122,253,4,239,15,131,244,63,255,221,2,217,232,217,252,243,252,233,244,
- 73,255,248,105,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,
- 63,252,242,15,16,2,255,137,213,232,251,1,17,137,252,234,252,233,244,72,255,
- 248,106,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,252,
- 242,15,16,2,255,137,213,232,251,1,18,137,252,234,252,233,244,72,255,248,107,
- 129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,252,242,15,
- 16,2,255,137,213,232,251,1,19,137,252,234,252,233,244,72,248,108,255,248,
- 109,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,252,242,
- 15,16,2,139,106,252,248,252,242,15,89,133,233,252,233,244,72,255,248,109,
- 129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,221,2,139,106,
- 252,248,220,141,233,252,233,244,73,255,248,110,129,252,248,239,15,130,244,
- 63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,63,221,2,
- 221,66,8,217,252,243,252,233,244,73,248,111,129,252,248,239,15,130,244,63,
- 129,122,253,4,239,15,131,244,63,129,122,253,12,239,255,15,131,244,63,221,
- 66,8,221,2,217,252,253,221,217,252,233,244,73,248,112,129,252,248,239,15,
- 130,244,63,139,106,4,129,252,253,239,15,131,244,63,139,90,252,252,139,2,137,
- 106,252,252,137,66,252,248,209,229,129,252,253,0,0,224,252,255,15,131,244,
- 249,9,232,15,132,244,249,184,252,254,3,0,0,129,252,253,0,0,32,0,15,130,244,
- 250,248,1,193,252,237,21,41,197,255,252,242,15,42,197,255,137,44,36,219,4,
- 36,255,139,106,252,252,129,229,252,255,252,255,15,128,129,205,0,0,224,63,
- 137,106,252,252,248,2,255,252,242,15,17,2,255,221,26,255,184,237,252,233,
- 244,78,248,3,255,15,87,192,252,233,244,2,255,217,252,238,252,233,244,2,255,
- 248,4,255,252,242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,89,
- 193,252,242,15,17,66,252,248,255,221,2,199,4,36,0,0,128,90,216,12,36,221,
- 90,252,248,255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,
- 113,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,252,242,
- 15,16,2,255,248,113,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,
- 244,63,221,2,255,139,106,4,139,90,252,252,209,229,129,252,253,0,0,224,252,
- 255,15,132,244,250,255,15,40,224,232,244,114,252,242,15,92,224,248,1,252,
- 242,15,17,66,252,248,252,242,15,17,34,255,217,192,232,244,114,220,252,233,
- 248,1,221,90,252,248,221,26,255,139,66,252,252,139,106,4,49,232,15,136,244,
- 249,248,2,184,237,252,233,244,78,248,3,129,252,245,0,0,0,128,137,106,4,252,
- 233,244,2,248,4,255,15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,
- 244,1,255,248,115,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,
- 244,63,129,122,253,12,239,15,131,244,63,221,66,8,221,2,248,1,217,252,248,
- 223,224,158,15,138,244,1,221,217,252,233,244,73,255,248,116,129,252,248,239,
- 15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,
- 63,252,242,15,16,2,252,242,15,16,74,8,232,244,117,252,233,244,72,255,248,
- 116,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,
- 253,12,239,15,131,244,63,221,2,221,66,8,232,244,117,252,233,244,73,255,248,
- 118,185,2,0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,
- 15,131,244,71,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252,248,
- 15,79,108,202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,63,255,252,
- 233,244,252,248,4,15,135,244,63,255,252,242,15,16,2,248,5,57,193,15,131,244,
- 72,129,124,253,202,252,252,239,255,15,130,244,252,15,135,244,63,252,242,15,
- 42,76,202,252,248,252,233,244,253,255,248,6,252,242,15,16,76,202,252,248,
- 248,7,252,242,15,93,193,131,193,1,252,233,244,5,255,248,119,185,2,0,0,0,129,
- 122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244,71,129,124,
- 253,202,252,252,239,15,133,244,249,59,108,202,252,248,15,76,108,202,252,248,
- 131,193,1,252,233,244,1,248,3,15,135,244,63,255,248,6,252,242,15,16,76,202,
- 252,248,248,7,252,242,15,95,193,131,193,1,252,233,244,5,255,248,9,221,216,
- 252,233,244,63,255,248,120,129,252,248,239,15,130,244,63,129,122,253,4,239,
- 15,133,244,63,139,42,255,139,173,233,252,233,244,71,255,252,242,15,42,133,
- 233,252,233,244,72,255,219,133,233,252,233,244,73,255,248,121,129,252,248,
- 239,15,133,244,63,129,122,253,4,239,15,133,244,63,139,42,139,90,252,252,131,
- 189,233,1,15,130,244,81,15,182,173,233,255,252,242,15,42,197,252,233,244,
- 72,255,137,44,36,219,4,36,252,233,244,73,255,248,122,65,139,174,233,65,59,
- 174,233,15,130,244,247,232,244,75,248,1,129,252,248,239,15,133,244,63,129,
- 122,253,4,239,255,15,133,244,63,139,42,129,252,253,252,255,0,0,0,15,135,244,
- 63,137,108,36,4,255,15,131,244,63,252,242,15,44,42,129,252,253,252,255,0,
- 0,0,15,135,244,63,137,108,36,4,255,15,131,244,63,221,2,219,92,36,4,129,124,
- 36,4,252,255,0,0,0,15,135,244,63,255,199,68,36,8,1,0,0,0,72,141,68,36,4,248,
- 123,139,108,36,24,137,149,233,139,84,36,8,72,137,198,137,252,239,137,92,36,
- 28,232,251,1,20,139,149,233,139,90,252,252,199,66,252,252,237,137,66,252,
- 248,252,233,244,66,248,124,65,139,174,233,65,59,174,233,15,130,244,247,232,
- 244,75,248,1,199,68,36,4,252,255,252,255,252,255,252,255,129,252,248,239,
- 15,130,244,63,15,134,244,247,129,122,253,20,239,255,15,133,244,63,139,106,
- 16,137,108,36,4,255,15,131,244,63,252,242,15,44,106,16,137,108,36,4,255,15,
- 131,244,63,221,66,16,219,92,36,4,255,248,1,129,122,253,4,239,15,133,244,63,
- 129,122,253,12,239,255,139,42,137,108,36,8,139,173,233,255,139,74,8,255,252,
- 242,15,44,74,8,255,139,68,36,4,57,197,15,130,244,251,248,2,133,201,15,142,
- 244,253,248,3,139,108,36,8,41,200,15,140,244,125,141,172,253,13,233,131,192,
- 1,248,4,137,68,36,8,137,232,252,233,244,123,248,5,15,140,244,252,141,68,40,
- 1,252,233,244,2,248,6,137,232,252,233,244,2,248,7,255,15,132,244,254,1,252,
- 233,131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244,3,248,125,49,192,
- 252,233,244,4,248,126,129,252,248,239,15,130,244,63,65,139,174,233,65,59,
- 174,233,15,130,244,247,232,244,75,248,1,255,129,122,253,4,239,15,133,244,
- 63,129,122,253,12,239,139,42,255,15,133,244,63,139,66,8,255,15,131,244,63,
- 252,242,15,44,66,8,255,15,131,244,63,221,66,8,219,92,36,4,139,68,36,4,255,
- 133,192,15,142,244,125,131,189,233,1,15,130,244,125,15,133,244,127,65,57,
- 134,233,15,130,244,127,15,182,141,233,65,139,174,233,137,68,36,8,248,1,136,
- 77,0,131,197,1,131,232,1,15,133,244,1,65,139,134,233,252,233,244,123,248,
- 128,129,252,248,239,255,15,130,244,63,65,139,174,233,65,59,174,233,15,130,
- 244,247,232,244,75,248,1,129,122,253,4,239,15,133,244,63,139,42,139,133,233,
- 133,192,15,132,244,125,65,57,134,233,15,130,244,129,129,197,239,137,92,36,
- 4,137,68,36,8,65,139,158,233,248,1,255,15,182,77,0,131,197,1,131,232,1,136,
- 12,3,15,133,244,1,137,216,139,92,36,4,252,233,244,123,248,130,129,252,248,
- 239,15,130,244,63,65,139,174,233,65,59,174,233,15,130,244,247,232,244,75,
- 248,1,129,122,253,4,239,15,133,244,63,139,42,139,133,233,65,57,134,233,255,
- 15,130,244,129,129,197,239,137,92,36,4,137,68,36,8,65,139,158,233,252,233,
- 244,249,248,1,15,182,76,5,0,131,252,249,65,15,130,244,248,131,252,249,90,
- 15,135,244,248,131,252,241,32,248,2,136,12,3,248,3,131,232,1,15,137,244,1,
- 137,216,139,92,36,4,252,233,244,123,248,131,129,252,248,239,15,130,244,63,
- 255,65,139,174,233,65,59,174,233,15,130,244,247,232,244,75,248,1,129,122,
- 253,4,239,15,133,244,63,139,42,139,133,233,65,57,134,233,15,130,244,129,129,
- 197,239,137,92,36,4,137,68,36,8,65,139,158,233,252,233,244,249,248,1,15,182,
- 76,5,0,131,252,249,97,15,130,244,248,255,131,252,249,122,15,135,244,248,131,
- 252,241,32,248,2,136,12,3,248,3,131,232,1,15,137,244,1,137,216,139,92,36,
- 4,252,233,244,123,248,132,129,252,248,239,15,130,244,63,129,122,253,4,239,
- 15,133,244,63,137,213,139,58,232,251,1,21,137,252,234,255,137,197,252,233,
- 244,71,255,252,242,15,42,192,252,233,244,72,255,248,133,129,252,248,239,15,
- 130,244,63,129,122,253,4,239,255,15,133,244,247,139,42,252,233,244,89,248,
- 1,15,135,244,63,255,252,242,15,16,2,72,189,237,237,102,72,15,110,205,252,
- 242,15,88,193,102,15,126,197,255,252,233,244,89,255,248,134,129,252,248,239,
- 15,130,244,63,255,72,189,237,237,102,72,15,110,205,255,199,4,36,0,0,192,89,
- 255,15,133,244,247,139,42,252,233,244,248,248,1,15,135,244,63,255,252,242,
- 15,16,2,252,242,15,88,193,102,15,126,197,255,248,2,137,68,36,4,141,68,194,
- 252,240,248,1,57,208,15,134,244,89,129,120,253,4,239,255,15,133,244,248,35,
- 40,131,232,8,252,233,244,1,248,2,15,135,244,135,255,15,131,244,135,255,252,
- 242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,131,232,8,252,233,
- 244,1,248,136,129,252,248,239,15,130,244,63,255,15,133,244,248,11,40,131,
- 232,8,252,233,244,1,248,2,15,135,244,135,255,252,242,15,16,0,252,242,15,88,
- 193,102,15,126,193,9,205,255,131,232,8,252,233,244,1,248,137,129,252,248,
- 239,15,130,244,63,255,15,133,244,248,51,40,131,232,8,252,233,244,1,248,2,
- 15,135,244,135,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,49,205,
- 255,131,232,8,252,233,244,1,248,138,129,252,248,239,15,130,244,63,129,122,
- 253,4,239,255,248,2,15,205,252,233,244,89,248,139,129,252,248,239,15,130,
- 244,63,129,122,253,4,239,255,248,2,252,247,213,255,248,89,252,242,15,42,197,
- 252,233,244,72,255,248,135,139,68,36,4,252,233,244,63,255,248,140,129,252,
- 248,239,15,130,244,63,129,122,253,4,239,255,248,2,129,122,253,12,239,15,133,
- 244,63,139,74,8,255,248,140,129,252,248,239,15,130,244,63,129,122,253,4,239,
- 15,131,244,63,129,122,253,12,239,15,131,244,63,252,242,15,16,2,252,242,15,
- 16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,
- 202,102,15,126,197,102,15,126,201,255,211,229,252,233,244,89,255,248,141,
- 129,252,248,239,15,130,244,63,129,122,253,4,239,255,248,141,129,252,248,239,
- 15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,
- 63,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,
- 242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201,255,211,252,
- 237,252,233,244,89,255,248,142,129,252,248,239,15,130,244,63,129,122,253,
- 4,239,255,248,142,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,
- 244,63,129,122,253,12,239,15,131,244,63,252,242,15,16,2,252,242,15,16,74,
- 8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,
- 15,126,197,102,15,126,201,255,211,252,253,252,233,244,89,255,248,143,129,
- 252,248,239,15,130,244,63,129,122,253,4,239,255,248,143,129,252,248,239,15,
- 130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,
- 63,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,
- 242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201,255,211,197,
- 252,233,244,89,255,248,144,129,252,248,239,15,130,244,63,129,122,253,4,239,
- 255,248,144,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,
- 129,122,253,12,239,15,131,244,63,252,242,15,16,2,252,242,15,16,74,8,72,189,
- 237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,
- 197,102,15,126,201,255,211,205,252,233,244,89,248,127,184,237,252,233,244,
- 63,248,129,184,237,248,63,139,108,36,24,139,90,252,252,137,92,36,28,137,149,
- 233,141,68,194,252,248,141,136,233,137,133,233,139,66,252,248,59,141,233,
- 15,135,244,251,137,252,239,252,255,144,233,139,149,233,133,192,15,143,244,
- 78,248,1,255,139,141,233,41,209,193,252,233,3,133,192,141,65,1,139,106,252,
- 248,15,133,244,33,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4,
- 65,252,255,36,252,238,248,33,137,209,252,247,195,237,15,133,244,249,15,182,
- 107,252,253,72,252,247,213,141,20,252,234,252,233,244,28,248,3,137,221,131,
- 229,252,248,41,252,234,252,233,244,28,248,5,190,237,137,252,239,232,251,1,
- 0,139,149,233,49,192,252,233,244,1,248,75,93,72,137,108,36,8,139,108,36,24,
- 137,92,36,28,137,149,233,255,141,68,194,252,248,137,252,239,137,133,233,232,
- 251,1,22,139,149,233,139,133,233,41,208,193,232,3,131,192,1,72,139,108,36,
- 8,85,195,248,145,255,65,15,182,134,233,168,235,15,133,244,251,168,235,15,
- 133,244,247,168,235,15,132,244,247,65,252,255,142,233,252,233,244,247,255,
- 248,146,65,15,182,134,233,168,235,15,133,244,251,252,233,244,247,248,147,
- 65,15,182,134,233,168,235,15,133,244,251,168,235,15,132,244,251,65,252,255,
- 142,233,15,132,244,247,168,235,15,132,244,251,248,1,255,139,108,36,24,137,
- 149,233,137,222,137,252,239,232,251,1,23,248,3,139,149,233,248,4,15,182,75,
- 252,253,248,5,15,182,107,252,252,15,183,67,252,254,65,252,255,164,253,252,
- 238,233,248,148,131,195,4,139,77,232,137,76,36,4,252,233,244,4,248,149,255,
- 139,106,252,248,139,173,233,15,182,133,233,141,4,194,139,108,36,24,137,149,
- 233,137,133,233,137,222,65,141,190,233,73,137,174,233,137,92,36,28,232,251,
- 1,24,252,233,244,3,255,248,150,137,92,36,28,255,248,151,255,137,92,36,28,
- 131,203,1,248,1,255,141,68,194,252,248,139,108,36,24,137,149,233,137,133,
- 233,137,222,137,252,239,232,251,1,25,199,68,36,28,0,0,0,0,255,131,227,252,
- 254,255,139,149,233,72,137,193,139,133,233,41,208,72,137,205,15,182,75,252,
- 253,193,232,3,131,192,1,252,255,229,248,152,255,65,85,65,84,65,83,65,82,65,
- 81,65,80,87,86,85,72,141,108,36,88,85,83,82,81,80,15,182,69,252,248,138,101,
- 252,240,76,137,125,252,248,76,137,117,252,240,68,139,117,0,65,139,142,233,
- 65,199,134,233,237,65,137,134,233,65,137,142,233,72,129,252,236,239,72,131,
- 197,128,252,242,68,15,17,125,252,248,252,242,68,15,17,117,252,240,252,242,
- 68,15,17,109,232,252,242,68,15,17,101,224,252,242,68,15,17,93,216,252,242,
- 68,15,17,85,208,252,242,68,15,17,77,200,252,242,68,15,17,69,192,252,242,15,
- 17,125,184,252,242,15,17,117,176,252,242,15,17,109,168,252,242,15,17,101,
- 160,252,242,15,17,93,152,252,242,15,17,85,144,252,242,15,17,77,136,252,242,
- 15,17,69,128,65,139,174,233,65,139,150,233,73,137,174,233,65,199,134,233,
- 0,0,0,0,137,149,233,72,137,230,65,141,190,233,232,251,1,26,72,139,141,233,
- 72,129,225,239,72,137,204,137,169,233,139,149,233,139,153,233,252,233,244,
- 247,255,248,153,255,72,131,196,16,248,1,76,139,108,36,8,76,139,36,36,133,
- 192,15,136,244,249,137,68,36,4,68,139,122,252,248,69,139,191,233,69,139,191,
- 233,65,199,134,233,0,0,0,0,65,199,134,233,237,139,3,15,182,204,15,182,232,
- 131,195,4,193,232,16,129,252,253,239,15,130,244,248,139,68,36,4,248,2,65,
- 252,255,36,252,238,248,3,252,247,216,137,252,239,137,198,232,251,1,1,255,
- 248,91,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252,
- 255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,
- 36,8,195,255,248,154,72,184,237,237,102,72,15,110,208,72,184,237,237,102,
- 72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,
- 85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,102,
- 72,15,110,208,252,242,15,194,193,1,102,15,84,194,252,242,15,92,200,15,40,
- 193,248,1,195,248,93,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68,36,
- 4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252,217,108,
- 36,4,139,68,36,8,195,255,248,155,72,184,237,237,102,72,15,110,208,72,184,
- 237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,
- 247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,
- 237,237,102,72,15,110,208,252,242,15,194,193,6,102,15,84,194,252,242,15,92,
- 200,15,40,193,248,1,195,248,114,255,217,124,36,4,137,68,36,8,102,184,0,12,
- 102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,
- 68,36,8,195,255,248,156,72,184,237,237,102,72,15,110,208,72,184,237,237,102,
- 72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,
- 85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,72,184,237,237,102,72,
- 15,110,216,252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86,
- 202,15,40,193,248,1,195,248,157,255,15,40,232,252,242,15,94,193,72,184,237,
- 237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,224,102,15,84,
- 226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252,242,
- 15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208,252,242,15,194,196,
- 1,102,15,84,194,252,242,15,92,224,15,40,197,252,242,15,89,204,252,242,15,
- 92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255,217,
- 193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255,252,
- 247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222,252,
- 233,195,255,248,98,217,252,234,222,201,248,158,217,84,36,252,248,129,124,
- 36,252,248,0,0,128,127,15,132,244,247,129,124,36,252,248,0,0,128,252,255,
- 15,132,244,248,248,159,217,192,217,252,252,220,252,233,217,201,217,252,240,
- 217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,217,252,238,195,
- 255,248,117,255,248,160,252,242,15,45,193,252,242,15,42,208,102,15,46,202,
- 15,133,244,254,15,138,244,255,248,161,131,252,248,1,15,142,244,252,248,1,
- 169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,244,1,248,2,
- 209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,232,15,132,244,
- 250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,252,242,15,89,
- 193,248,5,195,248,6,15,132,244,5,15,130,244,253,252,247,216,232,244,1,72,
- 184,237,237,102,72,15,110,200,252,242,15,94,200,15,40,193,195,248,7,72,184,
- 237,237,102,72,15,110,192,195,248,8,102,72,15,126,200,72,209,224,72,193,192,
- 12,72,61,252,254,15,0,0,15,132,244,248,102,72,15,126,192,72,209,224,15,132,
- 244,250,255,72,193,192,12,72,61,252,254,15,0,0,15,132,244,251,252,242,15,
- 17,76,36,252,240,252,242,15,17,68,36,252,248,221,68,36,252,240,221,68,36,
- 252,248,217,252,241,217,192,217,252,252,220,252,233,217,201,217,252,240,217,
- 232,222,193,217,252,253,221,217,221,92,36,252,248,252,242,15,16,68,36,252,
- 248,195,248,9,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,247,
- 15,40,193,248,1,195,248,2,72,184,237,237,102,72,15,110,208,102,15,84,194,
- 72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,1,102,15,80,193,
- 15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,72,184,237,237,255,
- 102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,133,244,3,15,87,192,
- 195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195,248,162,255,131,
- 252,255,1,15,130,244,91,15,132,244,93,131,252,255,3,15,130,244,114,15,135,
- 244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,252,248,221,68,36,
- 252,248,131,252,255,5,15,135,244,248,15,132,244,247,232,244,98,252,233,244,
- 253,248,1,232,244,158,255,252,233,244,253,248,2,131,252,255,7,15,132,244,
- 247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244,253,248,1,
- 217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,255,9,15,132,244,
- 247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244,253,248,1,
- 255,217,252,254,252,233,244,253,248,2,131,252,255,11,15,132,244,247,15,135,
- 244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216,248,7,221,92,
- 36,252,248,252,242,15,16,68,36,252,248,195,255,139,124,36,12,221,68,36,4,
- 131,252,255,1,15,130,244,91,15,132,244,93,131,252,255,3,15,130,244,114,15,
- 135,244,248,217,252,250,195,248,2,131,252,255,5,15,130,244,98,15,132,244,
- 158,131,252,255,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,
- 241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,255,9,15,132,
- 244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,1,217,
- 252,254,195,248,2,131,252,255,11,15,132,244,247,15,135,244,255,217,252,255,
- 195,248,1,217,252,242,221,216,195,255,248,9,204,255,248,163,255,131,252,255,
- 1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15,92,
- 193,195,248,2,131,252,255,3,15,132,244,247,15,135,244,248,252,242,15,89,193,
- 195,248,1,252,242,15,94,193,195,248,2,131,252,255,5,15,130,244,157,15,132,
- 244,117,131,252,255,7,15,132,244,247,15,135,244,248,72,184,237,237,255,102,
- 72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,200,15,84,
- 193,195,248,2,131,252,255,9,15,135,244,248,252,242,15,17,68,36,252,248,252,
- 242,15,17,76,36,252,240,221,68,36,252,248,221,68,36,252,240,15,132,244,247,
- 217,252,243,248,7,221,92,36,252,248,252,242,15,16,68,36,252,248,195,248,1,
- 217,201,217,252,253,221,217,252,233,244,7,248,2,131,252,255,11,15,132,244,
- 247,15,135,244,255,252,242,15,93,193,195,248,1,252,242,15,95,193,195,248,
- 9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244,
- 247,15,135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248,3,
- 15,132,244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131,
- 252,248,5,15,130,244,157,15,132,244,117,131,252,248,7,15,132,244,247,15,135,
- 244,248,255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248,
- 9,15,132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253,
- 221,217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252,
- 233,219,209,221,217,195,248,1,219,252,233,218,209,221,217,195,255,221,225,
- 223,224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221,
- 225,223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248,
- 164,137,252,248,83,15,162,137,6,137,94,4,137,78,8,137,86,12,91,195,248,165,
- 255,204,248,166,255,83,65,87,65,86,72,131,252,236,40,68,141,181,233,139,157,
- 233,15,183,192,137,131,233,72,137,187,233,72,137,179,233,72,137,147,233,72,
- 137,139,233,252,242,15,17,131,233,252,242,15,17,139,233,252,242,15,17,147,
- 233,252,242,15,17,155,233,72,141,132,253,36,233,76,137,131,233,76,137,139,
- 233,252,242,15,17,163,233,252,242,15,17,171,233,252,242,15,17,179,233,252,
- 242,15,17,187,233,72,137,131,233,72,137,230,137,92,36,28,137,223,232,251,
- 1,27,65,199,134,233,237,255,139,144,233,139,128,233,41,208,139,106,252,248,
- 193,232,3,131,192,1,139,157,233,139,11,15,182,252,233,15,182,205,131,195,
- 4,65,252,255,36,252,238,255,248,32,255,139,76,36,24,65,139,158,233,72,137,
- 139,233,137,145,233,137,169,233,137,223,137,198,232,251,1,28,72,139,131,233,
- 252,242,15,16,131,233,252,233,244,16,255,248,167,255,85,72,137,229,83,72,
- 137,252,251,139,131,233,72,41,196,255,15,182,139,233,131,252,233,1,15,136,
- 244,248,248,1,72,139,132,253,203,233,72,137,132,253,204,233,131,252,233,1,
- 15,137,244,1,248,2,15,182,131,233,72,139,187,233,72,139,179,233,72,139,147,
- 233,72,139,139,233,76,139,131,233,76,139,139,233,133,192,15,132,244,251,15,
- 40,131,233,15,40,139,233,255,15,40,147,233,15,40,155,233,131,252,248,4,15,
- 134,244,251,15,40,163,233,15,40,171,233,15,40,179,233,15,40,187,233,248,5,
- 252,255,147,233,72,137,131,233,15,41,131,233,72,137,147,233,15,41,139,233,
- 255,72,139,93,252,248,201,195,255,129,124,253,202,4,239,15,133,244,253,129,
- 124,253,194,4,239,15,133,244,254,139,44,202,131,195,4,59,44,194,255,15,141,
- 244,255,255,15,140,244,255,255,15,143,244,255,255,15,142,244,255,255,248,
- 6,15,183,67,252,254,141,156,253,131,233,248,9,139,3,15,182,204,15,182,232,
- 131,195,4,193,232,16,65,252,255,36,252,238,248,7,15,135,244,44,129,124,253,
- 194,4,239,15,130,244,247,15,133,244,44,255,252,242,15,42,4,194,252,233,244,
- 248,255,221,4,202,219,4,194,252,233,244,249,255,248,8,15,135,244,44,255,252,
- 242,15,42,12,202,252,242,15,16,4,194,131,195,4,102,15,46,193,255,15,134,244,
- 9,255,15,135,244,9,255,15,130,244,9,255,15,131,244,9,255,252,233,244,6,255,
- 219,4,202,252,233,244,248,255,129,124,253,202,4,239,15,131,244,44,129,124,
- 253,194,4,239,15,131,244,44,255,248,1,252,242,15,16,4,194,248,2,131,195,4,
- 102,15,46,4,202,248,3,255,248,1,221,4,202,248,2,221,4,194,248,3,131,195,4,
- 255,223,252,233,221,216,255,218,252,233,223,224,158,255,15,135,244,247,255,
- 15,130,244,247,255,15,131,244,247,255,15,183,67,252,254,141,156,253,131,233,
- 248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,
- 238,255,139,108,194,4,131,195,4,255,129,252,253,239,15,133,244,253,129,124,
- 253,202,4,239,15,133,244,254,139,44,194,59,44,202,255,15,133,244,255,255,
- 15,132,244,255,255,15,183,67,252,254,141,156,253,131,233,248,9,139,3,15,182,
- 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,7,15,135,244,
- 251,129,124,253,202,4,239,15,130,244,247,15,133,244,251,255,252,242,15,42,
- 4,202,255,219,4,202,255,252,233,244,248,248,8,15,135,244,251,255,252,242,
- 15,42,4,194,102,15,46,4,202,255,219,4,194,221,4,202,255,252,233,244,250,255,
- 129,252,253,239,15,131,244,251,129,124,253,202,4,239,15,131,244,251,255,248,
- 1,252,242,15,16,4,202,248,2,102,15,46,4,194,248,4,255,248,1,221,4,202,248,
- 2,221,4,194,248,4,255,15,138,244,248,15,133,244,248,255,15,138,244,248,15,
- 132,244,247,255,248,1,15,183,67,252,254,141,156,253,131,233,248,2,255,248,
- 2,15,183,67,252,254,141,156,253,131,233,248,1,255,252,233,244,9,255,248,5,
- 255,129,252,253,239,15,132,244,49,129,124,253,202,4,239,15,132,244,49,255,
- 57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,
- 57,193,15,132,244,1,129,252,253,239,15,135,244,2,129,252,253,239,15,130,244,
- 2,139,169,233,133,252,237,15,132,244,2,252,246,133,233,235,15,133,244,2,255,
- 49,252,237,255,189,1,0,0,0,255,252,233,244,48,255,248,3,129,252,253,239,255,
- 15,133,244,9,255,252,233,244,49,255,72,252,247,208,139,108,202,4,131,195,
- 4,129,252,253,239,15,133,244,249,139,12,202,65,59,12,135,255,139,108,202,
- 4,131,195,4,255,129,252,253,239,15,133,244,253,65,129,124,253,199,4,239,15,
- 133,244,254,65,139,44,199,59,44,202,255,15,183,67,252,254,141,156,253,131,
- 233,248,9,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
- 252,238,248,7,15,135,244,249,65,129,124,253,199,4,239,15,130,244,247,255,
- 252,242,65,15,42,4,199,255,65,219,4,199,255,252,233,244,248,248,8,255,252,
- 242,15,42,4,202,102,65,15,46,4,199,255,219,4,202,65,221,4,199,255,129,252,
- 253,239,15,131,244,249,255,248,1,252,242,65,15,16,4,199,248,2,102,15,46,4,
- 202,248,4,255,248,1,65,221,4,199,248,2,221,4,202,248,4,255,72,252,247,208,
- 139,108,202,4,131,195,4,57,197,255,15,133,244,249,15,183,67,252,254,141,156,
- 253,131,233,248,2,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,
- 255,36,252,238,248,3,129,252,253,239,15,133,244,2,252,233,244,49,255,15,132,
- 244,248,129,252,253,239,15,132,244,49,15,183,67,252,254,141,156,253,131,233,
- 248,2,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,
- 238,255,139,108,194,4,131,195,4,129,252,253,239,255,137,108,202,4,139,44,
- 194,137,44,202,255,72,139,44,194,72,137,44,202,139,3,15,182,204,15,182,232,
- 131,195,4,193,232,16,65,252,255,36,252,238,255,49,252,237,129,124,253,194,
- 4,239,129,213,239,137,108,202,4,139,3,15,182,204,15,182,232,131,195,4,193,
- 232,16,65,252,255,36,252,238,255,129,124,253,194,4,239,15,133,244,251,139,
- 44,194,252,247,221,15,128,244,250,199,68,202,4,237,137,44,202,248,9,139,3,
- 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,4,199,
- 68,202,4,0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,248,5,15,135,244,54,255,
- 129,124,253,194,4,239,15,131,244,54,255,252,242,15,16,4,194,72,184,237,237,
- 102,72,15,110,200,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221,
- 28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,139,128,233,
- 248,1,199,68,202,4,237,137,4,202,255,15,87,192,252,242,15,42,128,233,248,
- 1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,3,15,182,204,
- 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,129,124,253,194,
- 4,239,15,133,244,57,139,60,194,255,139,175,233,131,252,253,0,15,133,244,255,
- 248,3,255,248,58,137,213,232,251,1,21,255,252,242,15,42,192,255,137,252,234,
- 15,182,75,252,253,252,233,244,1,255,248,9,252,246,133,233,235,15,133,244,
- 3,252,233,244,57,255,15,182,252,236,15,182,192,255,129,124,253,252,234,4,
- 239,15,133,244,51,65,129,124,253,199,4,239,15,133,244,51,139,44,252,234,65,
- 3,44,199,15,128,244,50,255,129,124,253,252,234,4,239,15,133,244,53,65,129,
- 124,253,199,4,239,15,133,244,53,65,139,4,199,3,4,252,234,15,128,244,52,255,
- 129,124,253,252,234,4,239,15,133,244,56,129,124,253,194,4,239,15,133,244,
- 56,139,44,252,234,3,44,194,15,128,244,55,255,199,68,202,4,237,255,129,124,
- 253,252,234,4,239,15,131,244,51,255,65,129,124,253,199,4,239,15,131,244,51,
- 255,252,242,15,16,4,252,234,252,242,65,15,88,4,199,255,221,4,252,234,65,220,
- 4,199,255,129,124,253,252,234,4,239,15,131,244,53,255,65,129,124,253,199,
- 4,239,15,131,244,53,255,252,242,65,15,16,4,199,252,242,15,88,4,252,234,255,
- 65,221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,56,129,
- 124,253,194,4,239,15,131,244,56,255,252,242,15,16,4,252,234,252,242,15,88,
- 4,194,255,221,4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244,
- 51,65,129,124,253,199,4,239,15,133,244,51,139,44,252,234,65,43,44,199,15,
- 128,244,50,255,129,124,253,252,234,4,239,15,133,244,53,65,129,124,253,199,
- 4,239,15,133,244,53,65,139,4,199,43,4,252,234,15,128,244,52,255,129,124,253,
- 252,234,4,239,15,133,244,56,129,124,253,194,4,239,15,133,244,56,139,44,252,
- 234,43,44,194,15,128,244,55,255,252,242,15,16,4,252,234,252,242,65,15,92,
- 4,199,255,221,4,252,234,65,220,36,199,255,252,242,65,15,16,4,199,252,242,
- 15,92,4,252,234,255,65,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,
- 252,242,15,92,4,194,255,221,4,252,234,220,36,194,255,129,124,253,252,234,
- 4,239,15,133,244,51,65,129,124,253,199,4,239,15,133,244,51,139,44,252,234,
- 65,15,175,44,199,15,128,244,50,255,129,124,253,252,234,4,239,15,133,244,53,
- 65,129,124,253,199,4,239,15,133,244,53,65,139,4,199,15,175,4,252,234,15,128,
- 244,52,255,129,124,253,252,234,4,239,15,133,244,56,129,124,253,194,4,239,
- 15,133,244,56,139,44,252,234,15,175,44,194,15,128,244,55,255,252,242,15,16,
- 4,252,234,252,242,65,15,89,4,199,255,221,4,252,234,65,220,12,199,255,252,
- 242,65,15,16,4,199,252,242,15,89,4,252,234,255,65,221,4,199,220,12,252,234,
- 255,252,242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,
- 194,255,252,242,15,16,4,252,234,252,242,65,15,94,4,199,255,221,4,252,234,
- 65,220,52,199,255,252,242,65,15,16,4,199,252,242,15,94,4,252,234,255,65,221,
- 4,199,220,52,252,234,255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,
- 221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252,242,65,15,16,12,
- 199,255,221,4,252,234,65,221,4,199,255,252,242,65,15,16,4,199,252,242,15,
- 16,12,252,234,255,65,221,4,199,221,4,252,234,255,252,242,15,16,4,252,234,
- 252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,168,232,244,157,
- 255,252,233,244,168,255,232,244,117,255,15,182,252,236,15,182,192,139,124,
- 36,24,137,151,233,141,52,194,137,194,41,252,234,248,36,137,252,253,137,92,
- 36,28,232,251,1,29,139,149,233,133,192,15,133,244,45,15,182,107,252,255,15,
- 182,75,252,253,72,139,4,252,234,72,137,4,202,139,3,15,182,204,15,182,232,
- 131,195,4,193,232,16,65,252,255,36,252,238,255,72,252,247,208,65,139,4,135,
- 199,68,202,4,237,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,
- 16,65,252,255,36,252,238,255,15,191,192,199,68,202,4,237,137,4,202,255,15,
- 191,192,252,242,15,42,192,252,242,15,17,4,202,255,223,67,252,254,221,28,202,
- 255,252,242,65,15,16,4,199,252,242,15,17,4,202,255,65,221,4,199,221,28,202,
- 255,72,252,247,208,137,68,202,4,139,3,15,182,204,15,182,232,131,195,4,193,
- 232,16,65,252,255,36,252,238,255,141,76,202,12,141,68,194,4,189,237,137,105,
- 252,248,248,1,137,41,131,193,8,57,193,15,134,244,1,139,3,15,182,204,15,182,
- 232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,106,252,248,139,172,
- 253,133,233,139,173,233,72,139,69,0,72,137,4,202,139,3,15,182,204,15,182,
- 232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,106,252,248,139,172,
- 253,141,233,128,189,233,0,139,173,233,139,12,194,139,68,194,4,137,77,0,137,
- 69,4,15,132,244,247,252,246,133,233,235,15,133,244,248,248,1,139,3,15,182,
- 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,129,232,239,
- 129,252,248,239,15,134,244,1,252,246,129,233,235,15,132,244,1,137,252,238,
- 137,213,65,141,190,233,255,232,251,1,30,137,252,234,252,233,244,1,255,72,
- 252,247,208,139,106,252,248,139,172,253,141,233,65,139,12,135,139,133,233,
- 137,8,199,64,4,237,252,246,133,233,235,15,133,244,248,248,1,139,3,15,182,
- 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,252,246,129,
- 233,235,15,132,244,1,128,189,233,0,15,132,244,1,137,213,137,198,65,141,190,
- 233,232,251,1,30,137,252,234,252,233,244,1,255,139,106,252,248,255,252,242,
- 65,15,16,4,199,255,139,172,253,141,233,139,141,233,255,252,242,15,17,1,255,
- 221,25,255,72,252,247,208,139,106,252,248,139,172,253,141,233,139,141,233,
- 137,65,4,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,
- 238,255,141,156,253,131,233,139,108,36,24,131,189,233,0,15,132,244,247,137,
- 149,233,141,52,202,137,252,239,232,251,1,31,139,149,233,248,1,139,3,15,182,
- 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,72,252,247,
- 208,139,108,36,24,137,149,233,139,82,252,248,65,139,52,135,137,252,239,137,
- 92,36,28,232,251,1,32,139,149,233,15,182,75,252,253,137,4,202,199,68,202,
- 4,237,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,
- 238,255,139,108,36,24,137,149,233,65,139,142,233,65,59,142,233,137,92,36,
- 28,15,131,244,251,248,1,137,194,37,252,255,7,0,0,193,252,234,11,61,252,255,
- 7,0,0,15,132,244,249,248,2,137,252,239,137,198,232,251,1,33,139,149,233,15,
- 182,75,252,253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,
- 195,4,193,232,16,65,252,255,36,252,238,248,3,184,1,8,0,0,252,233,244,2,248,
- 5,137,252,239,232,251,1,34,15,183,67,252,254,252,233,244,1,255,72,252,247,
- 208,139,108,36,24,65,139,142,233,137,92,36,28,65,59,142,233,137,149,233,15,
- 131,244,249,248,2,65,139,52,135,137,252,239,232,251,1,35,139,149,233,15,182,
- 75,252,253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,
- 4,193,232,16,65,252,255,36,252,238,248,3,137,252,239,232,251,1,34,15,183,
- 67,252,254,72,252,247,208,252,233,244,2,255,72,252,247,208,139,106,252,248,
- 139,173,233,65,139,4,135,252,233,244,169,255,72,252,247,208,139,106,252,248,
- 139,173,233,65,139,4,135,252,233,244,170,255,15,182,252,236,15,182,192,129,
- 124,253,252,234,4,239,15,133,244,39,139,44,252,234,255,129,124,253,194,4,
- 239,15,133,244,251,139,4,194,255,129,124,253,194,4,239,15,131,244,251,255,
- 252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,
- 15,133,244,39,255,59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,253,
- 4,239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,3,15,182,204,15,182,
- 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,131,189,233,0,15,132,
- 244,249,139,141,233,252,246,129,233,235,15,132,244,39,15,182,75,252,253,248,
- 3,199,68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,
- 39,139,4,194,252,233,244,169,255,15,182,252,236,15,182,192,72,252,247,208,
- 65,139,4,135,129,124,253,252,234,4,239,15,133,244,37,139,44,252,234,248,169,
- 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,
- 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,
- 67,252,253,72,139,41,72,137,44,194,248,2,255,139,3,15,182,204,15,182,232,
- 131,195,4,193,232,16,65,252,255,36,252,238,248,3,15,182,67,252,253,199,68,
- 194,4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,
- 141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,
- 37,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,38,
- 139,44,252,234,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,
- 239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,3,15,182,204,15,182,
- 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,131,189,233,0,15,132,
- 244,249,139,141,233,252,246,129,233,235,15,132,244,38,255,15,182,75,252,253,
- 248,3,199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,192,129,124,
- 253,252,234,4,239,15,133,244,42,139,44,252,234,255,15,133,244,42,255,59,133,
- 233,15,131,244,42,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,
- 1,252,246,133,233,235,15,133,244,253,248,2,72,139,44,202,72,137,40,139,3,
- 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,131,
- 189,233,0,15,132,244,1,139,141,233,252,246,129,233,235,255,15,132,244,42,
- 15,182,75,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,42,
- 139,4,194,252,233,244,170,248,7,128,165,233,235,65,139,142,233,65,137,174,
- 233,137,141,233,15,182,75,252,253,252,233,244,2,255,15,182,252,236,15,182,
- 192,72,252,247,208,65,139,4,135,129,124,253,252,234,4,239,15,133,244,40,139,
- 44,252,234,248,170,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141,
- 233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121,
- 253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248,
- 3,15,182,67,252,253,72,139,44,194,72,137,41,139,3,15,182,204,15,182,232,131,
- 195,4,193,232,16,65,252,255,36,252,238,248,4,131,189,233,0,15,132,244,2,137,
- 12,36,139,141,233,252,246,129,233,235,15,132,244,40,139,12,36,252,233,244,
- 2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,
- 252,252,246,129,233,235,15,132,244,40,248,6,137,4,36,199,68,36,4,237,137,
- 108,36,8,139,124,36,24,137,151,233,72,141,20,36,137,252,238,137,252,253,137,
- 92,36,28,232,251,1,36,139,149,233,139,108,36,8,137,193,252,233,244,2,248,
- 7,128,165,233,235,65,139,134,233,65,137,174,233,137,133,233,252,233,244,3,
- 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,41,139,
- 44,252,234,59,133,233,15,131,244,41,193,224,3,3,133,233,129,120,253,4,239,
- 15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,72,139,12,202,
- 72,137,8,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,
- 238,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,235,
- 15,132,244,41,15,182,75,252,253,252,233,244,1,248,7,128,165,233,235,65,139,
- 142,233,65,137,174,233,137,141,233,15,182,75,252,253,252,233,244,2,255,68,
- 137,60,36,69,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233,
- 235,15,133,244,253,248,2,139,68,36,4,131,232,1,15,132,244,250,68,1,252,248,
- 59,133,233,15,135,244,251,68,41,252,248,65,193,231,3,68,3,189,233,248,3,72,
- 139,41,131,193,8,73,137,47,65,131,199,8,131,232,1,15,133,244,3,248,4,68,139,
- 60,36,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,
- 238,248,5,139,124,36,24,137,151,233,137,252,238,137,194,137,252,253,137,92,
- 36,28,232,251,1,37,139,149,233,15,182,75,252,253,252,233,244,1,248,7,255,
- 128,165,233,235,65,139,134,233,65,137,174,233,137,133,233,252,233,244,2,255,
- 3,68,36,4,255,129,124,253,202,4,239,139,44,202,15,133,244,59,141,84,202,8,
- 137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4,65,
- 252,255,36,252,238,255,141,76,202,8,65,137,215,139,105,252,248,129,121,253,
- 252,252,239,15,133,244,29,248,60,139,90,252,252,252,247,195,237,15,133,244,
- 253,248,1,137,106,252,248,137,68,36,4,131,232,1,15,132,244,249,248,2,72,139,
- 41,131,193,8,73,137,47,65,131,199,8,131,232,1,15,133,244,2,139,106,252,248,
- 248,3,139,68,36,4,128,189,233,1,15,135,244,251,248,4,139,157,233,139,11,15,
- 182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,248,5,255,252,247,
- 195,237,15,133,244,4,15,182,75,252,253,72,252,247,209,141,12,202,68,139,121,
- 252,248,69,139,191,233,69,139,191,233,252,233,244,4,248,7,129,252,235,239,
- 252,247,195,237,15,133,244,254,41,218,65,137,215,139,90,252,252,252,233,244,
- 1,248,8,129,195,239,252,233,244,1,255,141,76,202,8,72,139,105,232,72,139,
- 65,252,240,72,137,41,72,137,65,8,139,105,224,139,65,228,137,105,252,248,137,
- 65,252,252,129,252,248,239,184,237,15,133,244,29,137,202,137,90,252,252,139,
- 157,233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,
- 255,68,137,60,36,68,137,116,36,4,139,108,202,252,240,139,68,202,252,248,68,
- 139,181,233,131,195,4,68,139,189,233,248,1,68,57,252,240,15,131,244,251,65,
- 129,124,253,199,4,239,15,132,244,250,255,219,68,202,252,248,255,73,139,44,
- 199,72,137,108,202,8,131,192,1,255,137,68,202,252,248,248,2,15,183,67,252,
- 254,141,156,253,131,233,248,3,68,139,116,36,4,68,139,60,36,139,3,15,182,204,
- 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,4,131,192,1,255,
- 137,68,202,252,248,255,252,233,244,1,248,5,68,41,252,240,248,6,59,133,233,
- 15,135,244,3,68,105,252,248,239,68,3,189,233,65,129,191,233,239,15,132,244,
- 253,70,141,116,48,1,73,139,175,233,73,139,135,233,72,137,44,202,72,137,68,
- 202,8,68,137,116,202,252,248,252,233,244,2,248,7,131,192,1,252,233,244,6,
- 255,129,124,253,202,252,236,239,15,133,244,251,139,108,202,232,129,124,253,
- 202,252,244,239,15,133,244,251,129,124,253,202,252,252,239,15,133,244,251,
- 128,189,233,235,15,133,244,251,141,156,253,131,233,199,68,202,252,248,0,0,
- 0,0,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
- 252,238,248,5,198,67,252,252,235,141,156,253,131,233,198,3,235,252,233,244,
- 1,255,15,182,252,236,15,182,192,68,137,60,36,68,141,188,253,194,233,141,12,
- 202,68,43,122,252,252,133,252,237,15,132,244,251,141,108,252,233,252,248,
- 65,57,215,15,131,244,248,248,1,73,139,71,252,248,65,131,199,8,72,137,1,131,
- 193,8,57,252,233,15,131,244,249,65,57,215,15,130,244,1,248,2,199,65,4,237,
- 131,193,8,57,252,233,15,130,244,2,248,3,68,139,60,36,139,3,15,182,204,15,
- 182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,5,199,68,36,4,1,0,
- 0,0,137,208,68,41,252,248,15,134,244,3,137,197,193,252,237,3,131,197,1,137,
- 108,36,4,139,108,36,24,1,200,59,133,233,15,135,244,253,248,6,255,73,139,71,
- 252,248,65,131,199,8,72,137,1,131,193,8,65,57,215,15,130,244,6,252,233,244,
- 3,248,7,137,149,233,137,141,233,137,92,36,28,65,41,215,139,116,36,4,131,252,
- 238,1,137,252,239,232,251,1,0,139,149,233,139,141,233,65,1,215,252,233,244,
- 6,255,193,225,3,255,248,1,139,90,252,252,137,68,36,4,252,247,195,237,15,133,
- 244,253,255,248,13,65,137,215,131,232,1,15,132,244,249,248,2,73,139,44,15,
- 73,137,111,252,248,65,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,4,
- 15,182,107,252,255,248,5,57,197,15,135,244,252,255,72,139,44,10,72,137,106,
- 252,248,255,248,5,56,67,252,255,15,135,244,252,255,15,182,75,252,253,72,252,
- 247,209,141,20,202,68,139,122,252,248,69,139,191,233,69,139,191,233,139,3,
- 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,6,255,
- 65,199,71,252,252,237,65,131,199,8,255,199,68,194,252,244,237,255,131,192,
- 1,252,233,244,5,248,7,141,171,233,252,247,197,237,15,133,244,14,41,252,234,
- 255,1,252,233,255,137,221,209,252,237,129,229,239,102,65,129,172,253,46,233,
- 238,15,130,244,149,255,141,12,202,255,129,121,253,4,239,15,133,244,255,255,
- 129,121,253,12,239,15,133,244,61,129,121,253,20,239,15,133,244,61,139,41,
- 131,121,16,0,15,140,244,251,255,129,121,253,12,239,15,133,244,165,129,121,
- 253,20,239,15,133,244,165,255,139,105,16,133,252,237,15,136,244,251,3,41,
- 15,128,244,247,137,41,255,59,105,8,199,65,28,237,137,105,24,255,15,142,244,
- 253,248,1,248,6,141,156,253,131,233,255,141,156,253,131,233,15,183,67,252,
- 254,15,142,245,248,1,248,6,255,15,143,244,253,248,6,141,156,253,131,233,248,
- 1,255,248,7,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
- 252,238,248,5,255,3,41,15,128,244,1,137,41,255,15,141,244,7,255,141,156,253,
- 131,233,15,183,67,252,254,15,141,245,255,15,140,244,7,255,252,233,244,6,248,
- 9,255,129,121,253,4,239,255,15,131,244,61,129,121,253,12,239,15,131,244,61,
- 255,129,121,253,12,239,15,131,244,165,129,121,253,20,239,15,131,244,165,255,
- 139,105,20,255,129,252,253,239,15,131,244,61,255,252,242,15,16,1,252,242,
- 15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244,
- 249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221,
- 65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15,136,244,247,255,
- 221,81,24,15,140,244,247,255,217,201,248,1,255,15,183,67,252,254,255,15,131,
- 244,7,255,15,131,244,248,141,156,253,131,233,255,141,156,253,131,233,15,183,
- 67,252,254,15,131,245,255,15,130,244,7,255,15,130,244,248,141,156,253,131,
- 233,255,248,3,102,15,46,193,252,233,244,1,255,141,12,202,139,105,4,129,252,
- 253,239,15,132,244,247,255,137,105,252,252,139,41,137,105,252,248,252,233,
- 245,255,141,156,253,131,233,139,1,137,105,252,252,137,65,252,248,255,65,139,
- 142,233,139,4,129,72,139,128,233,139,108,36,24,65,137,150,233,65,137,174,
- 233,76,137,36,36,76,137,108,36,8,72,131,252,236,16,252,255,224,255,141,156,
- 253,131,233,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
- 252,238,255,137,221,209,252,237,129,229,239,102,65,129,172,253,46,233,238,
- 15,130,244,151,255,68,139,187,233,139,108,36,24,141,12,202,59,141,233,15,
- 135,244,24,15,182,139,233,57,200,15,134,244,249,248,2,255,15,183,67,252,254,
- 252,233,245,255,248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,
- 3,252,233,244,2,255,141,44,197,237,141,4,194,68,139,122,252,248,137,104,252,
- 252,68,137,120,252,248,139,108,36,24,141,12,200,59,141,233,15,135,244,23,
- 137,209,137,194,15,182,171,233,133,252,237,15,132,244,248,248,1,131,193,8,
- 57,209,15,131,244,249,68,139,121,252,248,68,137,56,68,139,121,252,252,68,
- 137,120,4,131,192,8,199,65,252,252,237,131,252,237,1,15,133,244,1,248,2,255,
- 68,139,187,233,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,
- 36,252,238,255,248,3,199,64,4,237,131,192,8,131,252,237,1,15,133,244,3,252,
- 233,244,2,255,139,106,252,248,76,139,189,233,139,108,36,24,141,68,194,252,
- 248,137,149,233,141,136,233,59,141,233,137,133,233,255,76,137,252,254,137,
- 252,239,255,15,135,244,22,65,199,134,233,237,255,65,252,255,215,255,65,252,
- 255,150,233,255,65,199,134,233,237,139,149,233,141,12,194,252,247,217,3,141,
- 233,139,90,252,252,252,233,244,12,255,254,0
-};
-
-enum {
- GLOB_vm_returnp,
- GLOB_cont_dispatch,
- GLOB_vm_returnc,
- GLOB_BC_RET_Z,
- GLOB_vm_return,
- GLOB_vm_leave_cp,
- GLOB_vm_leave_unw,
- GLOB_vm_unwind_c,
- GLOB_vm_unwind_c_eh,
- GLOB_vm_unwind_rethrow,
- GLOB_vm_unwind_ff,
- GLOB_vm_unwind_ff_eh,
- GLOB_vm_growstack_c,
- GLOB_vm_growstack_v,
- GLOB_vm_growstack_f,
- GLOB_vm_resume,
- GLOB_vm_pcall,
- GLOB_vm_call,
- GLOB_vm_call_dispatch,
- GLOB_vmeta_call,
- GLOB_vm_call_dispatch_f,
- GLOB_vm_cpcall,
- GLOB_cont_ffi_callback,
- GLOB_vm_call_tail,
- GLOB_cont_cat,
- GLOB_cont_ra,
- GLOB_BC_CAT_Z,
- GLOB_vmeta_tgets,
- GLOB_vmeta_tgetb,
- GLOB_vmeta_tgetv,
- GLOB_vmeta_tsets,
- GLOB_vmeta_tsetb,
- GLOB_vmeta_tsetv,
- GLOB_cont_nop,
- GLOB_vmeta_comp,
- GLOB_vmeta_binop,
- GLOB_cont_condt,
- GLOB_cont_condf,
- GLOB_vmeta_equal,
- GLOB_vmeta_equal_cd,
- GLOB_vmeta_arith_vno,
- GLOB_vmeta_arith_vn,
- GLOB_vmeta_arith_nvo,
- GLOB_vmeta_arith_nv,
- GLOB_vmeta_unm,
- GLOB_vmeta_arith_vvo,
- GLOB_vmeta_arith_vv,
- GLOB_vmeta_len,
- GLOB_BC_LEN_Z,
- GLOB_vmeta_call_ra,
- GLOB_BC_CALLT_Z,
- GLOB_vmeta_for,
- GLOB_ff_assert,
- GLOB_fff_fallback,
- GLOB_fff_res_,
- GLOB_ff_type,
- GLOB_fff_res1,
- GLOB_ff_getmetatable,
- GLOB_ff_setmetatable,
- GLOB_ff_rawget,
- GLOB_ff_tonumber,
- GLOB_fff_resi,
- GLOB_fff_resxmm0,
- GLOB_fff_resn,
- GLOB_ff_tostring,
- GLOB_fff_gcstep,
- GLOB_ff_next,
- GLOB_fff_res2,
- GLOB_fff_res,
- GLOB_ff_pairs,
- GLOB_ff_ipairs_aux,
- GLOB_fff_res0,
- GLOB_ff_ipairs,
- GLOB_ff_pcall,
- GLOB_ff_xpcall,
- GLOB_ff_coroutine_resume,
- GLOB_ff_coroutine_wrap_aux,
- GLOB_ff_coroutine_yield,
- GLOB_ff_math_abs,
- GLOB_fff_resbit,
- GLOB_ff_math_floor,
- GLOB_vm_floor,
- GLOB_ff_math_ceil,
- GLOB_vm_ceil,
- GLOB_ff_math_sqrt,
- GLOB_ff_math_log,
- GLOB_ff_math_log10,
- GLOB_ff_math_exp,
- GLOB_vm_exp_x87,
- GLOB_ff_math_sin,
- GLOB_ff_math_cos,
- GLOB_ff_math_tan,
- GLOB_ff_math_asin,
- GLOB_ff_math_acos,
- GLOB_ff_math_atan,
- GLOB_ff_math_sinh,
- GLOB_ff_math_cosh,
- GLOB_ff_math_tanh,
- GLOB_ff_math_deg,
- GLOB_ff_math_rad,
- GLOB_ff_math_atan2,
- GLOB_ff_math_ldexp,
- GLOB_ff_math_frexp,
- GLOB_ff_math_modf,
- GLOB_vm_trunc,
- GLOB_ff_math_fmod,
- GLOB_ff_math_pow,
- GLOB_vm_pow,
- GLOB_ff_math_min,
- GLOB_ff_math_max,
- GLOB_ff_string_len,
- GLOB_ff_string_byte,
- GLOB_ff_string_char,
- GLOB_fff_newstr,
- GLOB_ff_string_sub,
- GLOB_fff_emptystr,
- GLOB_ff_string_rep,
- GLOB_fff_fallback_2,
- GLOB_ff_string_reverse,
- GLOB_fff_fallback_1,
- GLOB_ff_string_lower,
- GLOB_ff_string_upper,
- GLOB_ff_table_getn,
- GLOB_ff_bit_tobit,
- GLOB_ff_bit_band,
- GLOB_fff_fallback_bit_op,
- GLOB_ff_bit_bor,
- GLOB_ff_bit_bxor,
- GLOB_ff_bit_bswap,
- GLOB_ff_bit_bnot,
- GLOB_ff_bit_lshift,
- GLOB_ff_bit_rshift,
- GLOB_ff_bit_arshift,
- GLOB_ff_bit_rol,
- GLOB_ff_bit_ror,
- GLOB_vm_record,
- GLOB_vm_rethook,
- GLOB_vm_inshook,
- GLOB_cont_hook,
- GLOB_vm_hotloop,
- GLOB_vm_callhook,
- GLOB_vm_hotcall,
- GLOB_vm_exit_handler,
- GLOB_vm_exit_interp,
- GLOB_vm_floor_sse,
- GLOB_vm_ceil_sse,
- GLOB_vm_trunc_sse,
- GLOB_vm_mod,
- GLOB_vm_exp2_x87,
- GLOB_vm_exp2raw,
- GLOB_vm_pow_sse,
- GLOB_vm_powi_sse,
- GLOB_vm_foldfpm,
- GLOB_vm_foldarith,
- GLOB_vm_cpuid,
- GLOB_assert_bad_for_arg_type,
- GLOB_vm_ffi_callback,
- GLOB_vm_ffi_call,
- GLOB_BC_MODVN_Z,
- GLOB_BC_TGETS_Z,
- GLOB_BC_TSETS_Z,
- GLOB__MAX
-};
-static const char *const globnames[] = {
- "vm_returnp",
- "cont_dispatch",
- "vm_returnc",
- "BC_RET_Z",
- "vm_return",
- "vm_leave_cp",
- "vm_leave_unw",
- "vm_unwind_c@8",
- "vm_unwind_c_eh",
- "vm_unwind_rethrow",
- "vm_unwind_ff@4",
- "vm_unwind_ff_eh",
- "vm_growstack_c",
- "vm_growstack_v",
- "vm_growstack_f",
- "vm_resume",
- "vm_pcall",
- "vm_call",
- "vm_call_dispatch",
- "vmeta_call",
- "vm_call_dispatch_f",
- "vm_cpcall",
- "cont_ffi_callback",
- "vm_call_tail",
- "cont_cat",
- "cont_ra",
- "BC_CAT_Z",
- "vmeta_tgets",
- "vmeta_tgetb",
- "vmeta_tgetv",
- "vmeta_tsets",
- "vmeta_tsetb",
- "vmeta_tsetv",
- "cont_nop",
- "vmeta_comp",
- "vmeta_binop",
- "cont_condt",
- "cont_condf",
- "vmeta_equal",
- "vmeta_equal_cd",
- "vmeta_arith_vno",
- "vmeta_arith_vn",
- "vmeta_arith_nvo",
- "vmeta_arith_nv",
- "vmeta_unm",
- "vmeta_arith_vvo",
- "vmeta_arith_vv",
- "vmeta_len",
- "BC_LEN_Z",
- "vmeta_call_ra",
- "BC_CALLT_Z",
- "vmeta_for",
- "ff_assert",
- "fff_fallback",
- "fff_res_",
- "ff_type",
- "fff_res1",
- "ff_getmetatable",
- "ff_setmetatable",
- "ff_rawget",
- "ff_tonumber",
- "fff_resi",
- "fff_resxmm0",
- "fff_resn",
- "ff_tostring",
- "fff_gcstep",
- "ff_next",
- "fff_res2",
- "fff_res",
- "ff_pairs",
- "ff_ipairs_aux",
- "fff_res0",
- "ff_ipairs",
- "ff_pcall",
- "ff_xpcall",
- "ff_coroutine_resume",
- "ff_coroutine_wrap_aux",
- "ff_coroutine_yield",
- "ff_math_abs",
- "fff_resbit",
- "ff_math_floor",
- "vm_floor",
- "ff_math_ceil",
- "vm_ceil",
- "ff_math_sqrt",
- "ff_math_log",
- "ff_math_log10",
- "ff_math_exp",
- "vm_exp_x87",
- "ff_math_sin",
- "ff_math_cos",
- "ff_math_tan",
- "ff_math_asin",
- "ff_math_acos",
- "ff_math_atan",
- "ff_math_sinh",
- "ff_math_cosh",
- "ff_math_tanh",
- "ff_math_deg",
- "ff_math_rad",
- "ff_math_atan2",
- "ff_math_ldexp",
- "ff_math_frexp",
- "ff_math_modf",
- "vm_trunc",
- "ff_math_fmod",
- "ff_math_pow",
- "vm_pow",
- "ff_math_min",
- "ff_math_max",
- "ff_string_len",
- "ff_string_byte",
- "ff_string_char",
- "fff_newstr",
- "ff_string_sub",
- "fff_emptystr",
- "ff_string_rep",
- "fff_fallback_2",
- "ff_string_reverse",
- "fff_fallback_1",
- "ff_string_lower",
- "ff_string_upper",
- "ff_table_getn",
- "ff_bit_tobit",
- "ff_bit_band",
- "fff_fallback_bit_op",
- "ff_bit_bor",
- "ff_bit_bxor",
- "ff_bit_bswap",
- "ff_bit_bnot",
- "ff_bit_lshift",
- "ff_bit_rshift",
- "ff_bit_arshift",
- "ff_bit_rol",
- "ff_bit_ror",
- "vm_record",
- "vm_rethook",
- "vm_inshook",
- "cont_hook",
- "vm_hotloop",
- "vm_callhook",
- "vm_hotcall",
- "vm_exit_handler",
- "vm_exit_interp",
- "vm_floor_sse",
- "vm_ceil_sse",
- "vm_trunc_sse",
- "vm_mod",
- "vm_exp2_x87",
- "vm_exp2raw",
- "vm_pow_sse",
- "vm_powi_sse",
- "vm_foldfpm",
- "vm_foldarith",
- "vm_cpuid",
- "assert_bad_for_arg_type",
- "vm_ffi_callback",
- "vm_ffi_call@4",
- "BC_MODVN_Z",
- "BC_TGETS_Z",
- "BC_TSETS_Z",
- (const char *)0
-};
-static const char *const extnames[] = {
- "lj_state_growstack@8",
- "lj_err_throw@8",
- "lj_meta_tget",
- "lj_meta_tset",
- "lj_meta_comp",
- "lj_meta_equal",
- "lj_meta_equal_cd@8",
- "lj_meta_arith",
- "lj_meta_len@8",
- "lj_meta_call",
- "lj_meta_for@8",
- "lj_tab_get",
- "lj_str_fromnumber@8",
- "lj_str_fromnum@8",
- "lj_tab_next",
- "lj_tab_getinth@8",
- "lj_ffh_coroutine_wrap_err@8",
- "lj_vm_sinh",
- "lj_vm_cosh",
- "lj_vm_tanh",
- "lj_str_new",
- "lj_tab_len@4",
- "lj_gc_step@4",
- "lj_dispatch_ins@8",
- "lj_trace_hot@8",
- "lj_dispatch_call@8",
- "lj_trace_exit@8",
- "lj_ccallback_enter@8",
- "lj_ccallback_leave@8",
- "lj_meta_cat",
- "lj_gc_barrieruv@8",
- "lj_func_closeuv@8",
- "lj_func_newL_gc",
- "lj_tab_new",
- "lj_gc_step_fixtop@4",
- "lj_tab_dup@8",
- "lj_tab_newkey",
- "lj_tab_reasize",
- (const char *)0
-};
-#define Dt1(_V) (int)(ptrdiff_t)&(((lua_State *)0)_V)
-#define Dt2(_V) (int)(ptrdiff_t)&(((global_State *)0)_V)
-#define Dt3(_V) (int)(ptrdiff_t)&(((TValue *)0)_V)
-#define Dt4(_V) (int)(ptrdiff_t)&(((GCobj *)0)_V)
-#define Dt5(_V) (int)(ptrdiff_t)&(((GCstr *)0)_V)
-#define Dt6(_V) (int)(ptrdiff_t)&(((GCtab *)0)_V)
-#define Dt7(_V) (int)(ptrdiff_t)&(((GCfuncL *)0)_V)
-#define Dt8(_V) (int)(ptrdiff_t)&(((GCfuncC *)0)_V)
-#define Dt9(_V) (int)(ptrdiff_t)&(((GCproto *)0)_V)
-#define DtA(_V) (int)(ptrdiff_t)&(((GCupval *)0)_V)
-#define DtB(_V) (int)(ptrdiff_t)&(((Node *)0)_V)
-#define DtC(_V) (int)(ptrdiff_t)&(((int *)0)_V)
-#define DtD(_V) (int)(ptrdiff_t)&(((GCtrace *)0)_V)
-#define DISPATCH_GL(field) (GG_DISP2G + (int)offsetof(global_State, field))
-#define DISPATCH_J(field) (GG_DISP2J + (int)offsetof(jit_State, field))
-#define PC2PROTO(field) ((int)offsetof(GCproto, field)-(int)sizeof(GCproto))
-
-/* Generate subroutines used by opcodes and other parts of the VM. */
-/* The .code_sub section should be last to help static branch prediction. */
-static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
-{
- dasm_put(Dst, 0);
- dasm_put(Dst, 2, FRAME_P, LJ_TTRUE, FRAME_TYPE, FRAME_C, FRAME_TYPE, DISPATCH_GL(vmstate), ~LJ_VMST_C);
- dasm_put(Dst, 109, Dt1(->base), Dt1(->top), Dt1(->cframe), Dt1(->maxstack), LJ_TNIL);
- dasm_put(Dst, 200, Dt1(->top), Dt1(->top), Dt1(->glref), Dt2(->vmstate), ~LJ_VMST_C, CFRAME_RAWMASK);
- dasm_put(Dst, 302, 1+1, Dt1(->base), Dt1(->glref), GG_G2DISP, LJ_TFALSE, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, LUA_MINSTACK, -4+PC2PROTO(framesize), Dt1(->base));
- dasm_put(Dst, 385, Dt1(->top), Dt1(->base), Dt1(->top), Dt7(->pc), FRAME_CP, CFRAME_RESUME, Dt1(->glref), GG_G2DISP, Dt1(->cframe), Dt1(->status), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->status), Dt1(->base), Dt1(->top), FRAME_TYPE);
- dasm_put(Dst, 548, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base));
- dasm_put(Dst, 648, Dt1(->top), LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL);
-#if LJ_HASFFI
- dasm_put(Dst, 813);
-#endif
- dasm_put(Dst, 822, 0);
-#if LJ_HASFFI
-#endif
- dasm_put(Dst, 831, Dt7(->pc), PC2PROTO(k));
-#if LJ_HASFFI
- dasm_put(Dst, 848);
-#endif
- dasm_put(Dst, 869, Dt1(->base), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 967, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 976);
- } else {
- }
- dasm_put(Dst, 988, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET);
- dasm_put(Dst, 1134, DISPATCH_GL(tmptv), LJ_TTAB);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 967, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 976);
- } else {
- }
- dasm_put(Dst, 1158, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base));
- dasm_put(Dst, 1330, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base));
- dasm_put(Dst, 1429);
-#if LJ_HASFFI
- dasm_put(Dst, 1449, Dt1(->base));
-#endif
- dasm_put(Dst, 1480);
-#if LJ_DUALNUM
- dasm_put(Dst, 1483);
-#endif
- dasm_put(Dst, 1489);
-#if LJ_DUALNUM
- dasm_put(Dst, 961);
-#endif
- dasm_put(Dst, 1502);
-#if LJ_DUALNUM
- dasm_put(Dst, 1483);
-#endif
- dasm_put(Dst, 1531, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base));
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 1633);
-#else
- dasm_put(Dst, 1652);
-#endif
- dasm_put(Dst, 1657, Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND);
- dasm_put(Dst, 1843, 1+1, ~LJ_TNUMX);
- if (cmov) {
- dasm_put(Dst, 1912);
- } else {
- dasm_put(Dst, 1916);
- }
- dasm_put(Dst, 1925, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL);
- dasm_put(Dst, 2004, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next));
- dasm_put(Dst, 2062, LJ_TNIL, LJ_TUDATA, LJ_TNUMX, LJ_TISNUM, LJ_TLIGHTUD);
- dasm_put(Dst, 2128, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB);
- dasm_put(Dst, 2199, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB);
- dasm_put(Dst, 2289, 1+1, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 2303);
- } else {
- dasm_put(Dst, 2320);
- }
- if (sse) {
- dasm_put(Dst, 2325);
- } else {
- dasm_put(Dst, 2335);
- }
- dasm_put(Dst, 2342, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
- dasm_put(Dst, 2411, Dt1(->base));
- if (LJ_DUALNUM) {
- dasm_put(Dst, 2437);
- } else {
- dasm_put(Dst, 2442);
- }
- dasm_put(Dst, 2447, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2);
- dasm_put(Dst, 2539, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB);
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 2586, Dt6(->metatable));
-#endif
- dasm_put(Dst, 2595, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 2581);
- } else {
- dasm_put(Dst, 2320);
- }
- dasm_put(Dst, 2650);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 2655, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 2671, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
- } else {
- }
- dasm_put(Dst, 2704, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0);
- dasm_put(Dst, 2566, 1+1, LJ_TTAB);
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 2586, Dt6(->metatable));
-#endif
- dasm_put(Dst, 2781, Dt8(->upvalue[0]), LJ_TFUNC);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 2802, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 2814);
- } else {
- dasm_put(Dst, 2824);
- }
- dasm_put(Dst, 2831, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC);
- dasm_put(Dst, 2896, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top));
- dasm_put(Dst, 2985, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
- dasm_put(Dst, 3072, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE);
- dasm_put(Dst, 3187, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
- dasm_put(Dst, 3282, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
- dasm_put(Dst, 3348, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
- dasm_put(Dst, 3437, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
- dasm_put(Dst, 3547, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
- if (!LJ_DUALNUM) {
- dasm_put(Dst, 3574);
- }
- if (sse) {
- dasm_put(Dst, 3577);
- }
- dasm_put(Dst, 3592, 1+1);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3603, LJ_TISNUM, LJ_TISNUM);
- } else {
- dasm_put(Dst, 3683, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 3693, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
- } else {
- dasm_put(Dst, 3724);
- }
- dasm_put(Dst, 3741, 1+1, FRAME_TYPE, LJ_TNIL);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3838, LJ_TISNUM);
- } else {
- dasm_put(Dst, 3683, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 3860);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3869);
- }
- dasm_put(Dst, 2330);
- } else {
- dasm_put(Dst, 3903);
- if (LJ_DUALNUM) {
- } else {
- dasm_put(Dst, 2337);
- }
- }
- dasm_put(Dst, 3909);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3838, LJ_TISNUM);
- } else {
- dasm_put(Dst, 3683, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 3912);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3869);
- }
- dasm_put(Dst, 2330);
- } else {
- dasm_put(Dst, 3921);
- if (LJ_DUALNUM) {
- } else {
- dasm_put(Dst, 2337);
- }
- }
- if (sse) {
- dasm_put(Dst, 3927, 1+1, LJ_TISNUM);
- } else {
- dasm_put(Dst, 3956, 1+1, LJ_TISNUM);
- }
- dasm_put(Dst, 3985, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
- dasm_put(Dst, 4054, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
- dasm_put(Dst, 4111, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
- dasm_put(Dst, 4174, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
- dasm_put(Dst, 4264);
- if (sse) {
- dasm_put(Dst, 4276, 1+1, LJ_TISNUM);
- } else {
- }
- dasm_put(Dst, 4301);
- if (sse) {
- dasm_put(Dst, 4315, 1+1, LJ_TISNUM);
- } else {
- }
- dasm_put(Dst, 4340);
- if (sse) {
- dasm_put(Dst, 4354, 1+1, LJ_TISNUM);
- } else {
- }
- dasm_put(Dst, 4379);
- if (sse) {
- dasm_put(Dst, 4395, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
- } else {
- dasm_put(Dst, 4434, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
- }
- dasm_put(Dst, 4467, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM);
- dasm_put(Dst, 4532, 1+1, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 4631);
- } else {
- dasm_put(Dst, 4637);
- }
- dasm_put(Dst, 4644);
- if (sse) {
- dasm_put(Dst, 4669);
- } else {
- dasm_put(Dst, 4675);
- }
- dasm_put(Dst, 4678, 1+2);
- if (sse) {
- dasm_put(Dst, 4687);
- } else {
- dasm_put(Dst, 4695);
- }
- dasm_put(Dst, 4703);
- if (sse) {
- dasm_put(Dst, 4706, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32));
- } else {
- dasm_put(Dst, 4733);
- }
- dasm_put(Dst, 4750);
- if (sse) {
- dasm_put(Dst, 4766, 1+1, LJ_TISNUM);
- } else {
- dasm_put(Dst, 4791, 1+1, LJ_TISNUM);
- }
- dasm_put(Dst, 4813);
- if (sse) {
- dasm_put(Dst, 4835);
- } else {
- dasm_put(Dst, 4861);
- }
- dasm_put(Dst, 4878, 1+2);
- if (sse) {
- dasm_put(Dst, 4918);
- } else {
- dasm_put(Dst, 4926);
- }
- dasm_put(Dst, 4936, 2+1, LJ_TISNUM, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 4988, 2+1, LJ_TISNUM, LJ_TISNUM);
- } else {
- dasm_put(Dst, 5035, 2+1, LJ_TISNUM, LJ_TISNUM);
- }
- dasm_put(Dst, 5076, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5089, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 4631);
- } else {
- }
- dasm_put(Dst, 5139);
- } else {
- dasm_put(Dst, 2320);
- }
- if (sse) {
- dasm_put(Dst, 5150, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5171);
- } else {
- dasm_put(Dst, 2320);
- }
- dasm_put(Dst, 5192);
- } else {
- }
- dasm_put(Dst, 5217, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5230, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 4631);
- } else {
- }
- dasm_put(Dst, 5139);
- } else {
- dasm_put(Dst, 2320);
- }
- if (sse) {
- dasm_put(Dst, 5150, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5171);
- } else {
- dasm_put(Dst, 2320);
- }
- dasm_put(Dst, 5280);
- } else {
- }
- if (!sse) {
- dasm_put(Dst, 5305);
- }
- dasm_put(Dst, 5314, 1+1, LJ_TSTR);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5336, Dt5(->len));
- } else if (sse) {
- dasm_put(Dst, 5344, Dt5(->len));
- } else {
- dasm_put(Dst, 5355, Dt5(->len));
- }
- dasm_put(Dst, 5363, 1+1, LJ_TSTR, Dt5(->len), Dt5([1]));
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5339);
- } else if (sse) {
- dasm_put(Dst, 5401);
- } else {
- dasm_put(Dst, 5411);
- }
- dasm_put(Dst, 5422, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5455);
- } else if (sse) {
- dasm_put(Dst, 5478);
- } else {
- dasm_put(Dst, 5504);
- }
- dasm_put(Dst, 5528, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5637);
- } else if (sse) {
- dasm_put(Dst, 5649);
- } else {
- dasm_put(Dst, 5664);
- }
- dasm_put(Dst, 5676, LJ_TSTR, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 2581);
- } else {
- dasm_put(Dst, 2320);
- }
- dasm_put(Dst, 5693, Dt5(->len));
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5703);
- } else if (sse) {
- dasm_put(Dst, 5707);
- } else {
- }
- dasm_put(Dst, 5714, sizeof(GCstr)-1);
- dasm_put(Dst, 5789, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
- dasm_put(Dst, 5850, LJ_TSTR, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5867);
- } else if (sse) {
- dasm_put(Dst, 5875);
- } else {
- dasm_put(Dst, 5886);
- }
- dasm_put(Dst, 5902, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1);
- dasm_put(Dst, 5970, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
- dasm_put(Dst, 6037, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
- dasm_put(Dst, 6110, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1);
- dasm_put(Dst, 6195, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
- dasm_put(Dst, 6269, 1+1, LJ_TTAB);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6336);
- } else if (sse) {
- dasm_put(Dst, 6343);
- } else {
- }
- dasm_put(Dst, 6353, 1+1, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6369);
- } else {
- dasm_put(Dst, 2320);
- }
- if (sse) {
- dasm_put(Dst, 6386, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
- } else {
- }
- dasm_put(Dst, 106);
- if (LJ_DUALNUM || sse) {
- if (!sse) {
- }
- dasm_put(Dst, 6410);
- } else {
- }
- dasm_put(Dst, 6415, 1+1);
- if (sse) {
- dasm_put(Dst, 6426, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
- } else {
- dasm_put(Dst, 6436);
- }
- dasm_put(Dst, 2297, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6444);
- } else {
- dasm_put(Dst, 2320);
- }
- if (sse) {
- dasm_put(Dst, 6461);
- } else {
- }
- dasm_put(Dst, 6476, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6501);
- } else {
- dasm_put(Dst, 6521);
- }
- if (sse) {
- dasm_put(Dst, 6526);
- } else {
- }
- dasm_put(Dst, 6543, 1+1);
- if (sse) {
- dasm_put(Dst, 6426, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
- } else {
- dasm_put(Dst, 6436);
- }
- dasm_put(Dst, 2297, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6444);
- } else {
- dasm_put(Dst, 2320);
- }
- if (sse) {
- dasm_put(Dst, 6461);
- } else {
- }
- dasm_put(Dst, 6476, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6561);
- } else {
- dasm_put(Dst, 6521);
- }
- if (sse) {
- dasm_put(Dst, 6581);
- } else {
- }
- dasm_put(Dst, 6598, 1+1);
- if (sse) {
- dasm_put(Dst, 6426, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
- } else {
- dasm_put(Dst, 6436);
- }
- dasm_put(Dst, 2297, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6444);
- } else {
- dasm_put(Dst, 2320);
- }
- if (sse) {
- dasm_put(Dst, 6461);
- } else {
- }
- dasm_put(Dst, 6476, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6616);
- } else {
- dasm_put(Dst, 6521);
- }
- if (sse) {
- dasm_put(Dst, 6636);
- } else {
- }
- dasm_put(Dst, 6653, 1+1, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6444);
- } else {
- dasm_put(Dst, 2320);
- }
- if (sse) {
- dasm_put(Dst, 6386, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
- } else {
- }
- dasm_put(Dst, 6676, 1+1, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6444);
- } else {
- dasm_put(Dst, 2320);
- }
- if (sse) {
- dasm_put(Dst, 6386, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
- } else {
- }
- dasm_put(Dst, 6700);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6410);
- } else if (sse) {
- dasm_put(Dst, 6706);
- } else {
- }
- dasm_put(Dst, 6718);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6729, 1+1, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6444);
- } else {
- dasm_put(Dst, 2320);
- }
- if (sse) {
- dasm_put(Dst, 6386, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
- } else {
- }
- dasm_put(Dst, 6745, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 6760, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
- } else {
- }
- dasm_put(Dst, 6827);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6834, 1+1, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6444);
- } else {
- dasm_put(Dst, 2320);
- }
- if (sse) {
- dasm_put(Dst, 6386, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
- } else {
- }
- dasm_put(Dst, 6745, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 6850, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
- } else {
- }
- dasm_put(Dst, 6917);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6925, 1+1, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6444);
- } else {
- dasm_put(Dst, 2320);
- }
- if (sse) {
- dasm_put(Dst, 6386, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
- } else {
- }
- dasm_put(Dst, 6745, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 6941, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
- } else {
- }
- dasm_put(Dst, 7008);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 7016, 1+1, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6444);
- } else {
- dasm_put(Dst, 2320);
- }
- if (sse) {
- dasm_put(Dst, 6386, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
- } else {
- }
- dasm_put(Dst, 6745, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 7032, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
- } else {
- }
- dasm_put(Dst, 7099);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 7106, 1+1, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6444);
- } else {
- dasm_put(Dst, 2320);
- }
- if (sse) {
- dasm_put(Dst, 6386, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
- } else {
- }
- dasm_put(Dst, 6745, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 7122, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
- } else {
- }
- dasm_put(Dst, 7189, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
- dasm_put(Dst, 7265, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
- dasm_put(Dst, 7392, Dt1(->top), Dt1(->base), Dt1(->top));
-#if LJ_HASJIT
- dasm_put(Dst, 7431, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
-#endif
- dasm_put(Dst, 7464, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
- dasm_put(Dst, 7518, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
-#if LJ_HASJIT
- dasm_put(Dst, 7585, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
-#endif
- dasm_put(Dst, 7632);
-#if LJ_HASJIT
- dasm_put(Dst, 7459);
-#endif
- dasm_put(Dst, 7639);
-#if LJ_HASJIT
- dasm_put(Dst, 7642);
-#endif
- dasm_put(Dst, 7652, Dt1(->base), Dt1(->top));
-#if LJ_HASJIT
- dasm_put(Dst, 7685);
-#endif
- dasm_put(Dst, 7690, Dt1(->base), Dt1(->top));
-#if LJ_HASJIT
- dasm_put(Dst, 7721, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC);
-#endif
- dasm_put(Dst, 7960);
-#if LJ_HASJIT
- dasm_put(Dst, 7963, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF);
-#endif
- dasm_put(Dst, 8063);
- if (!sse) {
- dasm_put(Dst, 8066);
- }
- dasm_put(Dst, 8111, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
- if (!sse) {
- dasm_put(Dst, 8197);
- }
- dasm_put(Dst, 8242, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32));
- if (!sse) {
- dasm_put(Dst, 8328);
- }
- dasm_put(Dst, 8367, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
- if (sse) {
- dasm_put(Dst, 8456, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
- } else {
- dasm_put(Dst, 8570);
- }
- dasm_put(Dst, 8617);
- if (!sse) {
- } else {
- dasm_put(Dst, 8694);
- }
- dasm_put(Dst, 8697);
- dasm_put(Dst, 8782, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
- dasm_put(Dst, 8885, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32));
- dasm_put(Dst, 9047);
-#if LJ_HASJIT
- if (sse) {
- dasm_put(Dst, 9088);
- dasm_put(Dst, 9158);
- dasm_put(Dst, 9230);
- } else {
- dasm_put(Dst, 9282);
- dasm_put(Dst, 9374);
- }
- dasm_put(Dst, 9420);
-#endif
- dasm_put(Dst, 9424);
- if (sse) {
- dasm_put(Dst, 9427, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
- dasm_put(Dst, 9512, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
- } else {
- dasm_put(Dst, 9640);
- dasm_put(Dst, 9723);
- if (cmov) {
- dasm_put(Dst, 9778);
- } else {
- dasm_put(Dst, 9797);
- }
- dasm_put(Dst, 9420);
- }
- dasm_put(Dst, 9838);
-#ifdef LUA_USE_ASSERT
- dasm_put(Dst, 9422);
-#endif
- dasm_put(Dst, 9862);
-#if LJ_HASFFI
-#define DtE(_V) (int)(ptrdiff_t)&(((CTState *)0)_V)
- dasm_put(Dst, 9866, GG_G2DISP, Dt2(->ctype_state), DtE(->cb.slot), DtE(->cb.gpr[0]), DtE(->cb.gpr[1]), DtE(->cb.gpr[2]), DtE(->cb.gpr[3]), DtE(->cb.fpr[0]), DtE(->cb.fpr[1]), DtE(->cb.fpr[2]), DtE(->cb.fpr[3]), CFRAME_SIZE, DtE(->cb.gpr[4]), DtE(->cb.gpr[5]), DtE(->cb.fpr[4]), DtE(->cb.fpr[5]), DtE(->cb.fpr[6]), DtE(->cb.fpr[7]), DtE(->cb.stack), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
- dasm_put(Dst, 9990, Dt1(->base), Dt1(->top), Dt7(->pc));
-#endif
- dasm_put(Dst, 10030);
-#if LJ_HASFFI
- dasm_put(Dst, 10033, DISPATCH_GL(ctype_state), DtE(->L), Dt1(->base), Dt1(->top), DtE(->cb.gpr[0]), DtE(->cb.fpr[0]));
-#endif
- dasm_put(Dst, 10074);
-#if LJ_HASFFI
-#define DtF(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
- dasm_put(Dst, 10077, DtF(->spadj));
-#if LJ_TARGET_WINDOWS
-#endif
- dasm_put(Dst, 10093, DtF(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtF(->nfpr), DtF(->gpr[0]), DtF(->gpr[1]), DtF(->gpr[2]), DtF(->gpr[3]), DtF(->gpr[4]), DtF(->gpr[5]), DtF(->fpr[0]), DtF(->fpr[1]));
- dasm_put(Dst, 10172, DtF(->fpr[2]), DtF(->fpr[3]), DtF(->fpr[4]), DtF(->fpr[5]), DtF(->fpr[6]), DtF(->fpr[7]), DtF(->func), DtF(->gpr[0]), DtF(->fpr[0]), DtF(->gpr[1]), DtF(->fpr[1]));
-#if LJ_TARGET_WINDOWS
-#endif
- dasm_put(Dst, 10227);
-#endif
-}
-
-/* Generate the code for a single instruction. */
-static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
-{
- int vk = 0;
- dasm_put(Dst, 829, defop);
-
- switch (op) {
-
- /* -- Comparison ops ---------------------------------------------------- */
-
- /* Remember: all ops branch for a true comparison, fall through otherwise. */
-
-
- case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
- if (LJ_DUALNUM) {
- dasm_put(Dst, 10235, LJ_TISNUM, LJ_TISNUM);
- switch (op) {
- case BC_ISLT:
- dasm_put(Dst, 10265);
- break;
- case BC_ISGE:
- dasm_put(Dst, 10270);
- break;
- case BC_ISLE:
- dasm_put(Dst, 10275);
- break;
- case BC_ISGT:
- dasm_put(Dst, 10280);
- break;
- default: break; /* Shut up GCC. */
- }
- dasm_put(Dst, 10285, -BCBIAS_J*4, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 10340);
- } else {
- dasm_put(Dst, 10351);
- }
- dasm_put(Dst, 10362);
- if (sse) {
- dasm_put(Dst, 10369);
- switch (op) {
- case BC_ISLT:
- dasm_put(Dst, 10389);
- break;
- case BC_ISGE:
- dasm_put(Dst, 10394);
- break;
- case BC_ISLE:
- dasm_put(Dst, 10399);
- break;
- case BC_ISGT:
- dasm_put(Dst, 10404);
- break;
- default: break; /* Shut up GCC. */
- }
- dasm_put(Dst, 10409);
- } else {
- dasm_put(Dst, 10414);
- }
- } else {
- dasm_put(Dst, 10422, LJ_TISNUM, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 10443);
- } else {
- dasm_put(Dst, 10464);
- if (cmov) {
- dasm_put(Dst, 10480);
- } else {
- dasm_put(Dst, 10486);
- }
- }
- if (LJ_DUALNUM) {
- switch (op) {
- case BC_ISLT:
- dasm_put(Dst, 10389);
- break;
- case BC_ISGE:
- dasm_put(Dst, 10394);
- break;
- case BC_ISLE:
- dasm_put(Dst, 10399);
- break;
- case BC_ISGT:
- dasm_put(Dst, 10404);
- break;
- default: break; /* Shut up GCC. */
- }
- dasm_put(Dst, 10409);
- } else {
- switch (op) {
- case BC_ISLT:
- dasm_put(Dst, 817);
- break;
- case BC_ISGE:
- dasm_put(Dst, 10493);
- break;
- case BC_ISLE:
- dasm_put(Dst, 10498);
- break;
- case BC_ISGT:
- dasm_put(Dst, 10503);
- break;
- default: break; /* Shut up GCC. */
- }
- dasm_put(Dst, 10508, -BCBIAS_J*4);
- }
- break;
-
- case BC_ISEQV: case BC_ISNEV:
- vk = op == BC_ISEQV;
- dasm_put(Dst, 10541);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 10549, LJ_TISNUM, LJ_TISNUM);
- if (vk) {
- dasm_put(Dst, 10574);
- } else {
- dasm_put(Dst, 10579);
- }
- dasm_put(Dst, 10584, -BCBIAS_J*4, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 10637);
- } else {
- dasm_put(Dst, 10644);
- }
- dasm_put(Dst, 10648);
- if (sse) {
- dasm_put(Dst, 10659);
- } else {
- dasm_put(Dst, 10671);
- }
- dasm_put(Dst, 10678);
- } else {
- dasm_put(Dst, 10683, LJ_TISNUM, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 10702);
- } else {
- dasm_put(Dst, 10720);
- if (cmov) {
- dasm_put(Dst, 10480);
- } else {
- dasm_put(Dst, 10486);
- }
- }
- iseqne_fp:
- if (vk) {
- dasm_put(Dst, 10733);
- } else {
- dasm_put(Dst, 10742);
- }
- iseqne_end:
- if (vk) {
- dasm_put(Dst, 10751, -BCBIAS_J*4);
- if (!LJ_HASFFI) {
- dasm_put(Dst, 4684);
- }
- } else {
- if (!LJ_HASFFI) {
- dasm_put(Dst, 4684);
- }
- dasm_put(Dst, 10766, -BCBIAS_J*4);
- }
- if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV ||
- op == BC_ISEQN || op == BC_ISNEN)) {
- dasm_put(Dst, 10781);
- } else {
- dasm_put(Dst, 10520);
- }
- if (op == BC_ISEQV || op == BC_ISNEV) {
- dasm_put(Dst, 10786);
- if (LJ_HASFFI) {
- dasm_put(Dst, 10789, LJ_TCDATA, LJ_TCDATA);
- }
- dasm_put(Dst, 10808, LJ_TISPRI, LJ_TISTABUD, LJ_TUDATA, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
- if (vk) {
- dasm_put(Dst, 10872);
- } else {
- dasm_put(Dst, 10876);
- }
- dasm_put(Dst, 10882);
- } else if (LJ_HASFFI) {
- dasm_put(Dst, 10887, LJ_TCDATA);
- if (LJ_DUALNUM && vk) {
- dasm_put(Dst, 10894);
- } else {
- dasm_put(Dst, 10867);
- }
- dasm_put(Dst, 10899);
- }
- break;
- case BC_ISEQS: case BC_ISNES:
- vk = op == BC_ISEQS;
- dasm_put(Dst, 10904, LJ_TSTR);
- iseqne_test:
- if (vk) {
- dasm_put(Dst, 10737);
- } else {
- dasm_put(Dst, 2980);
- }
- goto iseqne_end;
- case BC_ISEQN: case BC_ISNEN:
- vk = op == BC_ISEQN;
- dasm_put(Dst, 10931);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 10939, LJ_TISNUM, LJ_TISNUM);
- if (vk) {
- dasm_put(Dst, 10574);
- } else {
- dasm_put(Dst, 10579);
- }
- dasm_put(Dst, 10966, -BCBIAS_J*4, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 11016);
- } else {
- dasm_put(Dst, 11024);
- }
- dasm_put(Dst, 11029);
- if (sse) {
- dasm_put(Dst, 11036);
- } else {
- dasm_put(Dst, 11049);
- }
- dasm_put(Dst, 10678);
- } else {
- dasm_put(Dst, 11057, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 11066);
- } else {
- dasm_put(Dst, 11085);
- if (cmov) {
- dasm_put(Dst, 10480);
- } else {
- dasm_put(Dst, 10486);
- }
- }
- goto iseqne_fp;
- case BC_ISEQP: case BC_ISNEP:
- vk = op == BC_ISEQP;
- dasm_put(Dst, 11099);
- if (!LJ_HASFFI) goto iseqne_test;
- if (vk) {
- dasm_put(Dst, 11113, -BCBIAS_J*4, LJ_TCDATA);
- } else {
- dasm_put(Dst, 11164, LJ_TCDATA, -BCBIAS_J*4);
- }
- break;
-
- /* -- Unary test and copy ops ------------------------------------------- */
-
- case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
- dasm_put(Dst, 11209, LJ_TISTRUECOND);
- if (op == BC_IST || op == BC_ISTC) {
- dasm_put(Dst, 10503);
- } else {
- dasm_put(Dst, 10498);
- }
- if (op == BC_ISTC || op == BC_ISFC) {
- dasm_put(Dst, 11221);
- }
- dasm_put(Dst, 10508, -BCBIAS_J*4);
- break;
-
- /* -- Unary ops --------------------------------------------------------- */
-
- case BC_MOV:
- dasm_put(Dst, 11232);
- break;
- case BC_NOT:
- dasm_put(Dst, 11261, LJ_TISTRUECOND, LJ_TTRUE);
- break;
- case BC_UNM:
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11298, LJ_TISNUM, LJ_TISNUM);
- } else {
- dasm_put(Dst, 11376, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 11387, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
- } else {
- dasm_put(Dst, 11412);
- }
- if (LJ_DUALNUM) {
- dasm_put(Dst, 10781);
- } else {
- dasm_put(Dst, 10520);
- }
- break;
- case BC_LEN:
- dasm_put(Dst, 11421, LJ_TSTR);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11435, Dt5(->len), LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 11449, Dt5(->len));
- } else {
- dasm_put(Dst, 11467, Dt5(->len));
- }
- dasm_put(Dst, 11476, LJ_TTAB);
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 11512, Dt6(->metatable));
-#endif
- dasm_put(Dst, 11526);
- if (LJ_DUALNUM) {
- } else if (sse) {
- dasm_put(Dst, 11535);
- } else {
- }
- dasm_put(Dst, 11541);
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 11554, Dt6(->nomm), 1<<MM_len);
-#endif
- break;
-
- /* -- Binary ops -------------------------------------------------------- */
-
-
- case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11570);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 11578, LJ_TISNUM, LJ_TISNUM);
- break;
- case 1:
- dasm_put(Dst, 11613, LJ_TISNUM, LJ_TISNUM);
- break;
- default:
- dasm_put(Dst, 11648, LJ_TISNUM, LJ_TISNUM);
- break;
- }
- dasm_put(Dst, 11681, LJ_TISNUM);
- if (vk == 1) {
- dasm_put(Dst, 11445);
- } else {
- dasm_put(Dst, 11228);
- }
- dasm_put(Dst, 10520);
- } else {
- dasm_put(Dst, 11570);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 11687, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11699, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 11711);
- } else {
- dasm_put(Dst, 11726);
- }
- break;
- case 1:
- dasm_put(Dst, 11735, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11747, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 11759);
- } else {
- dasm_put(Dst, 11774);
- }
- break;
- default:
- dasm_put(Dst, 11783, LJ_TISNUM, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 11805);
- } else {
- dasm_put(Dst, 11819);
- }
- break;
- }
- if (sse) {
- dasm_put(Dst, 11405);
- } else {
- dasm_put(Dst, 11417);
- }
- dasm_put(Dst, 10520);
- }
- break;
- case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11570);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 11827, LJ_TISNUM, LJ_TISNUM);
- break;
- case 1:
- dasm_put(Dst, 11862, LJ_TISNUM, LJ_TISNUM);
- break;
- default:
- dasm_put(Dst, 11897, LJ_TISNUM, LJ_TISNUM);
- break;
- }
- dasm_put(Dst, 11681, LJ_TISNUM);
- if (vk == 1) {
- dasm_put(Dst, 11445);
- } else {
- dasm_put(Dst, 11228);
- }
- dasm_put(Dst, 10520);
- } else {
- dasm_put(Dst, 11570);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 11687, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11699, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 11930);
- } else {
- dasm_put(Dst, 11945);
- }
- break;
- case 1:
- dasm_put(Dst, 11735, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11747, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 11954);
- } else {
- dasm_put(Dst, 11969);
- }
- break;
- default:
- dasm_put(Dst, 11783, LJ_TISNUM, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 11978);
- } else {
- dasm_put(Dst, 11992);
- }
- break;
- }
- if (sse) {
- dasm_put(Dst, 11405);
- } else {
- dasm_put(Dst, 11417);
- }
- dasm_put(Dst, 10520);
- }
- break;
- case BC_MULVN: case BC_MULNV: case BC_MULVV:
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11570);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 12000, LJ_TISNUM, LJ_TISNUM);
- break;
- case 1:
- dasm_put(Dst, 12036, LJ_TISNUM, LJ_TISNUM);
- break;
- default:
- dasm_put(Dst, 12072, LJ_TISNUM, LJ_TISNUM);
- break;
- }
- dasm_put(Dst, 11681, LJ_TISNUM);
- if (vk == 1) {
- dasm_put(Dst, 11445);
- } else {
- dasm_put(Dst, 11228);
- }
- dasm_put(Dst, 10520);
- } else {
- dasm_put(Dst, 11570);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 11687, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11699, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 12106);
- } else {
- dasm_put(Dst, 12121);
- }
- break;
- case 1:
- dasm_put(Dst, 11735, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11747, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 12130);
- } else {
- dasm_put(Dst, 12145);
- }
- break;
- default:
- dasm_put(Dst, 11783, LJ_TISNUM, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 12154);
- } else {
- dasm_put(Dst, 12168);
- }
- break;
- }
- if (sse) {
- dasm_put(Dst, 11405);
- } else {
- dasm_put(Dst, 11417);
- }
- dasm_put(Dst, 10520);
- }
- break;
- case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
- dasm_put(Dst, 11570);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 11687, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11699, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 12176);
- } else {
- dasm_put(Dst, 12191);
- }
- break;
- case 1:
- dasm_put(Dst, 11735, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11747, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 12200);
- } else {
- dasm_put(Dst, 12215);
- }
- break;
- default:
- dasm_put(Dst, 11783, LJ_TISNUM, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 12224);
- } else {
- dasm_put(Dst, 12238);
- }
- break;
- }
- if (sse) {
- dasm_put(Dst, 11405);
- } else {
- dasm_put(Dst, 11417);
- }
- dasm_put(Dst, 10520);
- break;
- case BC_MODVN:
- dasm_put(Dst, 11570);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 11687, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11699, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 12246);
- } else {
- dasm_put(Dst, 12261);
- }
- break;
- case 1:
- dasm_put(Dst, 11735, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11747, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 12270);
- } else {
- dasm_put(Dst, 12285);
- }
- break;
- default:
- dasm_put(Dst, 11783, LJ_TISNUM, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 12294);
- } else {
- dasm_put(Dst, 12308);
- }
- break;
- }
- dasm_put(Dst, 12316);
- if (sse) {
- dasm_put(Dst, 11405);
- } else {
- dasm_put(Dst, 11417);
- }
- dasm_put(Dst, 10520);
- break;
- case BC_MODNV: case BC_MODVV:
- dasm_put(Dst, 11570);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 11687, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11699, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 12246);
- } else {
- dasm_put(Dst, 12261);
- }
- break;
- case 1:
- dasm_put(Dst, 11735, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11747, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 12270);
- } else {
- dasm_put(Dst, 12285);
- }
- break;
- default:
- dasm_put(Dst, 11783, LJ_TISNUM, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 12294);
- } else {
- dasm_put(Dst, 12308);
- }
- break;
- }
- dasm_put(Dst, 12322);
- break;
- case BC_POW:
- dasm_put(Dst, 11570);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 11687, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11699, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 12246);
- } else {
- dasm_put(Dst, 12261);
- }
- break;
- case 1:
- dasm_put(Dst, 11735, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11747, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 12270);
- } else {
- dasm_put(Dst, 12285);
- }
- break;
- default:
- dasm_put(Dst, 11783, LJ_TISNUM, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 12294);
- } else {
- dasm_put(Dst, 12308);
- }
- break;
- }
- dasm_put(Dst, 12327);
- if (sse) {
- dasm_put(Dst, 11405);
- } else {
- dasm_put(Dst, 11417);
- }
- dasm_put(Dst, 10520);
- break;
-
- case BC_CAT:
- dasm_put(Dst, 12331, Dt1(->base), Dt1(->base));
- break;
-
- /* -- Constant ops ------------------------------------------------------ */
-
- case BC_KSTR:
- dasm_put(Dst, 12415, LJ_TSTR);
- break;
- case BC_KCDATA:
-#if LJ_HASFFI
- dasm_put(Dst, 12415, LJ_TCDATA);
-#endif
- break;
- case BC_KSHORT:
- if (LJ_DUALNUM) {
- dasm_put(Dst, 12452, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 12464);
- } else {
- dasm_put(Dst, 12479);
- }
- dasm_put(Dst, 10520);
- break;
- case BC_KNUM:
- if (sse) {
- dasm_put(Dst, 12487);
- } else {
- dasm_put(Dst, 12501);
- }
- dasm_put(Dst, 10520);
- break;
- case BC_KPRI:
- dasm_put(Dst, 12509);
- break;
- case BC_KNIL:
- dasm_put(Dst, 12538, LJ_TNIL);
- break;
-
- /* -- Upvalue and function ops ------------------------------------------ */
-
- case BC_UGET:
- dasm_put(Dst, 12586, offsetof(GCfuncL, uvptr), DtA(->v));
- break;
- case BC_USETV:
-#define TV2MARKOFS \
- ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
- dasm_put(Dst, 12627, offsetof(GCfuncL, uvptr), DtA(->closed), DtA(->v), TV2MARKOFS, LJ_GC_BLACK, LJ_TISGCV, LJ_TISNUM - LJ_TISGCV, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G);
- dasm_put(Dst, 12723);
- break;
-#undef TV2MARKOFS
- case BC_USETS:
- dasm_put(Dst, 12735, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
- break;
- case BC_USETN:
- dasm_put(Dst, 12831);
- if (sse) {
- dasm_put(Dst, 12836);
- } else {
- dasm_put(Dst, 11052);
- }
- dasm_put(Dst, 12844, offsetof(GCfuncL, uvptr), DtA(->v));
- if (sse) {
- dasm_put(Dst, 12853);
- } else {
- dasm_put(Dst, 12859);
- }
- dasm_put(Dst, 10520);
- break;
- case BC_USETP:
- dasm_put(Dst, 12862, offsetof(GCfuncL, uvptr), DtA(->v));
- break;
- case BC_UCLO:
- dasm_put(Dst, 12902, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
- break;
-
- case BC_FNEW:
- dasm_put(Dst, 12958, Dt1(->base), Dt1(->base), LJ_TFUNC);
- break;
-
- /* -- Table ops --------------------------------------------------------- */
-
- case BC_TNEW:
- dasm_put(Dst, 13025, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
- break;
- case BC_TDUP:
- dasm_put(Dst, 13149, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
- break;
-
- case BC_GGET:
- dasm_put(Dst, 13248, Dt7(->env));
- break;
- case BC_GSET:
- dasm_put(Dst, 13268, Dt7(->env));
- break;
-
- case BC_TGETV:
- dasm_put(Dst, 13288, LJ_TTAB);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 13311, LJ_TISNUM);
- } else {
- dasm_put(Dst, 13325, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 13336);
- } else {
- }
- dasm_put(Dst, 13357);
- }
- dasm_put(Dst, 13362, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL);
- dasm_put(Dst, 13454, LJ_TSTR);
- break;
- case BC_TGETS:
- dasm_put(Dst, 13472, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
- dasm_put(Dst, 13557, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
- break;
- case BC_TGETB:
- dasm_put(Dst, 13629, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
- dasm_put(Dst, 13725, LJ_TNIL);
- break;
-
- case BC_TSETV:
- dasm_put(Dst, 13742, LJ_TTAB);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 13311, LJ_TISNUM);
- } else {
- dasm_put(Dst, 13325, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 13336);
- } else {
- }
- dasm_put(Dst, 13765);
- }
- dasm_put(Dst, 13770, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
- dasm_put(Dst, 13851, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
- break;
- case BC_TSETS:
- dasm_put(Dst, 13910, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
- dasm_put(Dst, 13987, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
- dasm_put(Dst, 14074, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
- break;
- case BC_TSETB:
- dasm_put(Dst, 14166, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
- dasm_put(Dst, 14261, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
- break;
-
- case BC_TSETM:
- dasm_put(Dst, 14309, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
- dasm_put(Dst, 14459, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
- break;
-
- /* -- Calls and vararg handling ----------------------------------------- */
-
- case BC_CALL: case BC_CALLM:
- dasm_put(Dst, 11574);
- if (op == BC_CALLM) {
- dasm_put(Dst, 14479);
- }
- dasm_put(Dst, 14484, LJ_TFUNC, Dt7(->pc));
- break;
-
- case BC_CALLMT:
- dasm_put(Dst, 14479);
- break;
- case BC_CALLT:
- dasm_put(Dst, 14527, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
- dasm_put(Dst, 14645, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
- break;
-
- case BC_ITERC:
- dasm_put(Dst, 14719, LJ_TFUNC, 2+1, Dt7(->pc));
- break;
-
- case BC_ITERN:
-#if LJ_HASJIT
-#endif
- dasm_put(Dst, 14791, Dt6(->asize), Dt6(->array), LJ_TNIL);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11440, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 11535);
- } else {
- dasm_put(Dst, 14843);
- }
- dasm_put(Dst, 14849);
- if (LJ_DUALNUM) {
- } else if (sse) {
- dasm_put(Dst, 11405);
- } else {
- dasm_put(Dst, 11417);
- }
- dasm_put(Dst, 14862, -BCBIAS_J*4);
- if (!LJ_DUALNUM && !sse) {
- dasm_put(Dst, 14916);
- }
- dasm_put(Dst, 14922, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val));
- break;
-
- case BC_ISNEXT:
- dasm_put(Dst, 15001, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
- break;
-
- case BC_VARG:
- dasm_put(Dst, 15102, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
- dasm_put(Dst, 15269, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
- break;
-
- /* -- Returns ----------------------------------------------------------- */
-
- case BC_RETM:
- dasm_put(Dst, 14479);
- break;
-
- case BC_RET: case BC_RET0: case BC_RET1:
- if (op != BC_RET0) {
- dasm_put(Dst, 15339);
- }
- dasm_put(Dst, 15343, FRAME_TYPE);
- switch (op) {
- case BC_RET:
- dasm_put(Dst, 15362);
- break;
- case BC_RET1:
- dasm_put(Dst, 15416);
- /* fallthrough */
- case BC_RET0:
- dasm_put(Dst, 15426);
- default:
- break;
- }
- dasm_put(Dst, 15437, Dt7(->pc), PC2PROTO(k));
- if (op == BC_RET) {
- dasm_put(Dst, 15485, LJ_TNIL);
- } else {
- dasm_put(Dst, 15496, LJ_TNIL);
- }
- dasm_put(Dst, 15503, -FRAME_VARG, FRAME_TYPEP);
- if (op != BC_RET0) {
- dasm_put(Dst, 15527);
- }
- dasm_put(Dst, 4761);
- break;
-
- /* -- Loops and branches ------------------------------------------------ */
-
-
- case BC_FORL:
-#if LJ_HASJIT
- dasm_put(Dst, 15531, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP);
-#endif
- break;
-
- case BC_JFORI:
- case BC_JFORL:
-#if !LJ_HASJIT
- break;
-#endif
- case BC_FORI:
- case BC_IFORL:
- vk = (op == BC_IFORL || op == BC_JFORL);
- dasm_put(Dst, 15552);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 15556, LJ_TISNUM);
- if (!vk) {
- dasm_put(Dst, 15566, LJ_TISNUM, LJ_TISNUM);
- } else {
-#ifdef LUA_USE_ASSERT
- dasm_put(Dst, 15595, LJ_TISNUM, LJ_TISNUM);
-#endif
- dasm_put(Dst, 15614);
- }
- dasm_put(Dst, 15633, LJ_TISNUM);
- if (op == BC_FORI) {
- dasm_put(Dst, 15644, -BCBIAS_J*4);
- } else if (op == BC_JFORI) {
- dasm_put(Dst, 15658, -BCBIAS_J*4, BC_JLOOP);
- } else if (op == BC_IFORL) {
- dasm_put(Dst, 15676, -BCBIAS_J*4);
- } else {
- dasm_put(Dst, 15668, BC_JLOOP);
- }
- dasm_put(Dst, 15690);
- if (vk) {
- dasm_put(Dst, 15715);
- }
- dasm_put(Dst, 15633, LJ_TISNUM);
- if (op == BC_FORI) {
- dasm_put(Dst, 15724);
- } else if (op == BC_JFORI) {
- dasm_put(Dst, 15729, -BCBIAS_J*4, BC_JLOOP);
- } else if (op == BC_IFORL) {
- dasm_put(Dst, 15743);
- } else {
- dasm_put(Dst, 15739, BC_JLOOP);
- }
- dasm_put(Dst, 15748);
- } else if (!vk) {
- dasm_put(Dst, 15755, LJ_TISNUM);
- }
- if (!vk) {
- dasm_put(Dst, 15761, LJ_TISNUM);
- } else {
-#ifdef LUA_USE_ASSERT
- dasm_put(Dst, 15775, LJ_TISNUM, LJ_TISNUM);
-#endif
- }
- dasm_put(Dst, 15794);
- if (!vk) {
- dasm_put(Dst, 15798, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 15807);
- if (vk) {
- dasm_put(Dst, 15819);
- } else {
- dasm_put(Dst, 15838);
- }
- dasm_put(Dst, 15843);
- } else {
- dasm_put(Dst, 15856);
- if (vk) {
- dasm_put(Dst, 15862);
- } else {
- dasm_put(Dst, 15878);
- }
- dasm_put(Dst, 15886);
- if (cmov) {
- dasm_put(Dst, 10480);
- } else {
- dasm_put(Dst, 10486);
- }
- if (!cmov) {
- dasm_put(Dst, 15891);
- }
- }
- if (op == BC_FORI) {
- if (LJ_DUALNUM) {
- dasm_put(Dst, 15897);
- } else {
- dasm_put(Dst, 15902, -BCBIAS_J*4);
- }
- } else if (op == BC_JFORI) {
- dasm_put(Dst, 15912, -BCBIAS_J*4, BC_JLOOP);
- } else if (op == BC_IFORL) {
- if (LJ_DUALNUM) {
- dasm_put(Dst, 15926);
- } else {
- dasm_put(Dst, 15931, -BCBIAS_J*4);
- }
- } else {
- dasm_put(Dst, 15922, BC_JLOOP);
- }
- if (LJ_DUALNUM) {
- dasm_put(Dst, 10409);
- } else {
- dasm_put(Dst, 11186);
- }
- if (sse) {
- dasm_put(Dst, 15941);
- }
- break;
-
- case BC_ITERL:
-#if LJ_HASJIT
- dasm_put(Dst, 15531, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP);
-#endif
- break;
-
- case BC_JITERL:
-#if !LJ_HASJIT
- break;
-#endif
- case BC_IITERL:
- dasm_put(Dst, 15952, LJ_TNIL);
- if (op == BC_JITERL) {
- dasm_put(Dst, 15967, BC_JLOOP);
- } else {
- dasm_put(Dst, 15981, -BCBIAS_J*4);
- }
- dasm_put(Dst, 10518);
- break;
-
- case BC_LOOP:
-#if LJ_HASJIT
- dasm_put(Dst, 15531, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP);
-#endif
- break;
-
- case BC_ILOOP:
- dasm_put(Dst, 10520);
- break;
-
- case BC_JLOOP:
-#if LJ_HASJIT
- dasm_put(Dst, 15997, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
-#endif
- break;
-
- case BC_JMP:
- dasm_put(Dst, 16038, -BCBIAS_J*4);
- break;
-
- /* -- Function headers -------------------------------------------------- */
-
- /*
- ** Reminder: A function may be called with func/args above L->maxstack,
- ** i.e. occupying EXTRA_STACK slots. And vmeta_call may add one extra slot,
- ** too. This means all FUNC* ops (including fast functions) must check
- ** for stack overflow _before_ adding more slots!
- */
-
- case BC_FUNCF:
-#if LJ_HASJIT
- dasm_put(Dst, 16064, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_CALL);
-#endif
- case BC_FUNCV: /* NYI: compiled vararg functions. */
- break;
-
- case BC_JFUNCF:
-#if !LJ_HASJIT
- break;
-#endif
- case BC_IFUNCF:
- dasm_put(Dst, 16085, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
- if (op == BC_JFUNCF) {
- dasm_put(Dst, 16116, BC_JLOOP);
- } else {
- dasm_put(Dst, 10520);
- }
- dasm_put(Dst, 16125, LJ_TNIL);
- break;
-
- case BC_JFUNCV:
-#if !LJ_HASJIT
- break;
-#endif
- dasm_put(Dst, 9422);
- break; /* NYI: compiled vararg functions. */
-
- case BC_IFUNCV:
- dasm_put(Dst, 16147, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
- if (op == BC_JFUNCV) {
- dasm_put(Dst, 16116, BC_JLOOP);
- } else {
- dasm_put(Dst, 16244, -4+PC2PROTO(k));
- }
- dasm_put(Dst, 16269, LJ_TNIL);
- break;
-
- case BC_FUNCC:
- case BC_FUNCCW:
- dasm_put(Dst, 16291, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
- if (op == BC_FUNCC) {
- dasm_put(Dst, 2433);
- } else {
- dasm_put(Dst, 16321);
- }
- dasm_put(Dst, 16329, DISPATCH_GL(vmstate), ~LJ_VMST_C);
- if (op == BC_FUNCC) {
- dasm_put(Dst, 16339);
- } else {
- dasm_put(Dst, 16344, DISPATCH_GL(wrapf));
- }
- dasm_put(Dst, 16350, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
- break;
-
- /* ---------------------------------------------------------------------- */
-
- default:
- fprintf(stderr, "Error: undefined opcode BC_%s\n", bc_names[op]);
- exit(2);
- break;
- }
-}
-
-static int build_backend(BuildCtx *ctx)
-{
- int op;
- int cmov = 1;
- int sse = 0;
-#ifdef LUAJIT_CPU_NOCMOV
- cmov = 0;
-#endif
-#if defined(LUAJIT_CPU_SSE2) || defined(LJ_TARGET_X64)
- sse = 1;
-#endif
-
- dasm_growpc(Dst, BC__MAX);
-
- build_subroutines(ctx, cmov, sse);
-
- dasm_put(Dst, 16376);
- for (op = 0; op < BC__MAX; op++)
- build_ins(ctx, (BCOp)op, op, cmov, sse);
-
- return BC__MAX;
-}
-
-/* Emit pseudo frame-info for all assembler functions. */
-static void emit_asm_debug(BuildCtx *ctx)
-{
- int fcofs = (int)((uint8_t *)ctx->glob[GLOB_vm_ffi_call] - ctx->code);
-#if LJ_64
-#define SZPTR "8"
-#define BSZPTR "3"
-#define REG_SP "0x7"
-#define REG_RA "0x10"
-#else
-#define SZPTR "4"
-#define BSZPTR "2"
-#define REG_SP "0x4"
-#define REG_RA "0x8"
-#endif
- switch (ctx->mode) {
- case BUILD_elfasm:
- fprintf(ctx->fp, "\t.section .debug_frame,\"\",@progbits\n");
- fprintf(ctx->fp,
- ".Lframe0:\n"
- "\t.long .LECIE0-.LSCIE0\n"
- ".LSCIE0:\n"
- "\t.long 0xffffffff\n"
- "\t.byte 0x1\n"
- "\t.string \"\"\n"
- "\t.uleb128 0x1\n"
- "\t.sleb128 -" SZPTR "\n"
- "\t.byte " REG_RA "\n"
- "\t.byte 0xc\n\t.uleb128 " REG_SP "\n\t.uleb128 " SZPTR "\n"
- "\t.byte 0x80+" REG_RA "\n\t.uleb128 0x1\n"
- "\t.align " SZPTR "\n"
- ".LECIE0:\n\n");
- fprintf(ctx->fp,
- ".LSFDE0:\n"
- "\t.long .LEFDE0-.LASFDE0\n"
- ".LASFDE0:\n"
- "\t.long .Lframe0\n"
-#if LJ_64
- "\t.quad .Lbegin\n"
- "\t.quad %d\n"
- "\t.byte 0xe\n\t.uleb128 %d\n" /* def_cfa_offset */
- "\t.byte 0x86\n\t.uleb128 0x2\n" /* offset rbp */
- "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset rbx */
- "\t.byte 0x8f\n\t.uleb128 0x4\n" /* offset r15 */
- "\t.byte 0x8e\n\t.uleb128 0x5\n" /* offset r14 */
-#else
- "\t.long .Lbegin\n"
- "\t.long %d\n"
- "\t.byte 0xe\n\t.uleb128 %d\n" /* def_cfa_offset */
- "\t.byte 0x85\n\t.uleb128 0x2\n" /* offset ebp */
- "\t.byte 0x87\n\t.uleb128 0x3\n" /* offset edi */
- "\t.byte 0x86\n\t.uleb128 0x4\n" /* offset esi */
- "\t.byte 0x83\n\t.uleb128 0x5\n" /* offset ebx */
-#endif
- "\t.align " SZPTR "\n"
- ".LEFDE0:\n\n", fcofs, CFRAME_SIZE);
-#if LJ_HASFFI
- fprintf(ctx->fp,
- ".LSFDE1:\n"
- "\t.long .LEFDE1-.LASFDE1\n"
- ".LASFDE1:\n"
- "\t.long .Lframe0\n"
-#if LJ_64
- "\t.quad lj_vm_ffi_call\n"
- "\t.quad %d\n"
- "\t.byte 0xe\n\t.uleb128 16\n" /* def_cfa_offset */
- "\t.byte 0x86\n\t.uleb128 0x2\n" /* offset rbp */
- "\t.byte 0xd\n\t.uleb128 0x6\n" /* def_cfa_register rbp */
- "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset rbx */
-#else
- "\t.long lj_vm_ffi_call\n"
- "\t.long %d\n"
- "\t.byte 0xe\n\t.uleb128 8\n" /* def_cfa_offset */
- "\t.byte 0x85\n\t.uleb128 0x2\n" /* offset ebp */
- "\t.byte 0xd\n\t.uleb128 0x5\n" /* def_cfa_register ebp */
- "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset ebx */
-#endif
- "\t.align " SZPTR "\n"
- ".LEFDE1:\n\n", (int)ctx->codesz - fcofs);
-#endif
-#if (defined(__sun__) && defined(__svr4__)) || defined(__solaris_)
- fprintf(ctx->fp, "\t.section .eh_frame,\"aw\",@progbits\n");
-#else
- fprintf(ctx->fp, "\t.section .eh_frame,\"a\",@progbits\n");
-#endif
- fprintf(ctx->fp,
- ".Lframe1:\n"
- "\t.long .LECIE1-.LSCIE1\n"
- ".LSCIE1:\n"
- "\t.long 0\n"
- "\t.byte 0x1\n"
- "\t.string \"zPR\"\n"
- "\t.uleb128 0x1\n"
- "\t.sleb128 -" SZPTR "\n"
- "\t.byte " REG_RA "\n"
- "\t.uleb128 6\n" /* augmentation length */
- "\t.byte 0x1b\n" /* pcrel|sdata4 */
- "\t.long lj_err_unwind_dwarf-.\n"
- "\t.byte 0x1b\n" /* pcrel|sdata4 */
- "\t.byte 0xc\n\t.uleb128 " REG_SP "\n\t.uleb128 " SZPTR "\n"
- "\t.byte 0x80+" REG_RA "\n\t.uleb128 0x1\n"
- "\t.align " SZPTR "\n"
- ".LECIE1:\n\n");
- fprintf(ctx->fp,
- ".LSFDE2:\n"
- "\t.long .LEFDE2-.LASFDE2\n"
- ".LASFDE2:\n"
- "\t.long .LASFDE2-.Lframe1\n"
- "\t.long .Lbegin-.\n"
- "\t.long %d\n"
- "\t.uleb128 0\n" /* augmentation length */
- "\t.byte 0xe\n\t.uleb128 %d\n" /* def_cfa_offset */
-#if LJ_64
- "\t.byte 0x86\n\t.uleb128 0x2\n" /* offset rbp */
- "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset rbx */
- "\t.byte 0x8f\n\t.uleb128 0x4\n" /* offset r15 */
- "\t.byte 0x8e\n\t.uleb128 0x5\n" /* offset r14 */
-#else
- "\t.byte 0x85\n\t.uleb128 0x2\n" /* offset ebp */
- "\t.byte 0x87\n\t.uleb128 0x3\n" /* offset edi */
- "\t.byte 0x86\n\t.uleb128 0x4\n" /* offset esi */
- "\t.byte 0x83\n\t.uleb128 0x5\n" /* offset ebx */
-#endif
- "\t.align " SZPTR "\n"
- ".LEFDE2:\n\n", fcofs, CFRAME_SIZE);
-#if LJ_HASFFI
- fprintf(ctx->fp,
- ".Lframe2:\n"
- "\t.long .LECIE2-.LSCIE2\n"
- ".LSCIE2:\n"
- "\t.long 0\n"
- "\t.byte 0x1\n"
- "\t.string \"zR\"\n"
- "\t.uleb128 0x1\n"
- "\t.sleb128 -" SZPTR "\n"
- "\t.byte " REG_RA "\n"
- "\t.uleb128 1\n" /* augmentation length */
- "\t.byte 0x1b\n" /* pcrel|sdata4 */
- "\t.byte 0xc\n\t.uleb128 " REG_SP "\n\t.uleb128 " SZPTR "\n"
- "\t.byte 0x80+" REG_RA "\n\t.uleb128 0x1\n"
- "\t.align " SZPTR "\n"
- ".LECIE2:\n\n");
- fprintf(ctx->fp,
- ".LSFDE3:\n"
- "\t.long .LEFDE3-.LASFDE3\n"
- ".LASFDE3:\n"
- "\t.long .LASFDE3-.Lframe2\n"
- "\t.long lj_vm_ffi_call-.\n"
- "\t.long %d\n"
- "\t.uleb128 0\n" /* augmentation length */
-#if LJ_64
- "\t.byte 0xe\n\t.uleb128 16\n" /* def_cfa_offset */
- "\t.byte 0x86\n\t.uleb128 0x2\n" /* offset rbp */
- "\t.byte 0xd\n\t.uleb128 0x6\n" /* def_cfa_register rbp */
- "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset rbx */
-#else
- "\t.byte 0xe\n\t.uleb128 8\n" /* def_cfa_offset */
- "\t.byte 0x85\n\t.uleb128 0x2\n" /* offset ebp */
- "\t.byte 0xd\n\t.uleb128 0x5\n" /* def_cfa_register ebp */
- "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset ebx */
-#endif
- "\t.align " SZPTR "\n"
- ".LEFDE3:\n\n", (int)ctx->codesz - fcofs);
-#endif
- break;
- case BUILD_coffasm:
- fprintf(ctx->fp, "\t.section .eh_frame,\"dr\"\n");
- fprintf(ctx->fp,
- "\t.def %slj_err_unwind_dwarf; .scl 2; .type 32; .endef\n",
- LJ_32 ? "_" : "");
- fprintf(ctx->fp,
- "Lframe1:\n"
- "\t.long LECIE1-LSCIE1\n"
- "LSCIE1:\n"
- "\t.long 0\n"
- "\t.byte 0x1\n"
- "\t.string \"zP\"\n"
- "\t.uleb128 0x1\n"
- "\t.sleb128 -" SZPTR "\n"
- "\t.byte " REG_RA "\n"
- "\t.uleb128 5\n" /* augmentation length */
- "\t.byte 0x00\n" /* absptr */
- "\t.long %slj_err_unwind_dwarf\n"
- "\t.byte 0xc\n\t.uleb128 " REG_SP "\n\t.uleb128 " SZPTR "\n"
- "\t.byte 0x80+" REG_RA "\n\t.uleb128 0x1\n"
- "\t.align " SZPTR "\n"
- "LECIE1:\n\n", LJ_32 ? "_" : "");
- fprintf(ctx->fp,
- "LSFDE1:\n"
- "\t.long LEFDE1-LASFDE1\n"
- "LASFDE1:\n"
- "\t.long LASFDE1-Lframe1\n"
- "\t.long %slj_vm_asm_begin\n"
- "\t.long %d\n"
- "\t.uleb128 0\n" /* augmentation length */
- "\t.byte 0xe\n\t.uleb128 %d\n" /* def_cfa_offset */
-#if LJ_64
- "\t.byte 0x86\n\t.uleb128 0x2\n" /* offset rbp */
- "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset rbx */
- "\t.byte 0x8f\n\t.uleb128 0x4\n" /* offset r15 */
- "\t.byte 0x8e\n\t.uleb128 0x5\n" /* offset r14 */
-#else
- "\t.byte 0x85\n\t.uleb128 0x2\n" /* offset ebp */
- "\t.byte 0x87\n\t.uleb128 0x3\n" /* offset edi */
- "\t.byte 0x86\n\t.uleb128 0x4\n" /* offset esi */
- "\t.byte 0x83\n\t.uleb128 0x5\n" /* offset ebx */
-#endif
- "\t.align " SZPTR "\n"
- "LEFDE1:\n\n", LJ_32 ? "_" : "", (int)ctx->codesz, CFRAME_SIZE);
- break;
- /* Mental note: never let Apple design an assembler.
- ** Or a linker. Or a plastic case. But I digress.
- */
- case BUILD_machasm: {
-#if LJ_HASFFI
- int fcsize = 0;
-#endif
- int i;
- fprintf(ctx->fp, "\t.section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support\n");
- fprintf(ctx->fp,
- "EH_frame1:\n"
- "\t.set L$set$x,LECIEX-LSCIEX\n"
- "\t.long L$set$x\n"
- "LSCIEX:\n"
- "\t.long 0\n"
- "\t.byte 0x1\n"
- "\t.ascii \"zPR\\0\"\n"
- "\t.byte 0x1\n"
- "\t.byte 128-" SZPTR "\n"
- "\t.byte " REG_RA "\n"
- "\t.byte 6\n" /* augmentation length */
- "\t.byte 0x9b\n" /* indirect|pcrel|sdata4 */
-#if LJ_64
- "\t.long _lj_err_unwind_dwarf+4@GOTPCREL\n"
- "\t.byte 0x1b\n" /* pcrel|sdata4 */
- "\t.byte 0xc\n\t.byte " REG_SP "\n\t.byte " SZPTR "\n"
-#else
- "\t.long L_lj_err_unwind_dwarf$non_lazy_ptr-.\n"
- "\t.byte 0x1b\n" /* pcrel|sdata4 */
- "\t.byte 0xc\n\t.byte 0x5\n\t.byte 0x4\n" /* esp=5 on 32 bit MACH-O. */
-#endif
- "\t.byte 0x80+" REG_RA "\n\t.byte 0x1\n"
- "\t.align " BSZPTR "\n"
- "LECIEX:\n\n");
- for (i = 0; i < ctx->nsym; i++) {
- const char *name = ctx->sym[i].name;
- int32_t size = ctx->sym[i+1].ofs - ctx->sym[i].ofs;
- if (size == 0) continue;
-#if LJ_HASFFI
- if (!strcmp(name, "_lj_vm_ffi_call")) { fcsize = size; continue; }
-#endif
- fprintf(ctx->fp,
- "%s.eh:\n"
- "LSFDE%d:\n"
- "\t.set L$set$%d,LEFDE%d-LASFDE%d\n"
- "\t.long L$set$%d\n"
- "LASFDE%d:\n"
- "\t.long LASFDE%d-EH_frame1\n"
- "\t.long %s-.\n"
- "\t.long %d\n"
- "\t.byte 0\n" /* augmentation length */
- "\t.byte 0xe\n\t.byte %d\n" /* def_cfa_offset */
-#if LJ_64
- "\t.byte 0x86\n\t.byte 0x2\n" /* offset rbp */
- "\t.byte 0x83\n\t.byte 0x3\n" /* offset rbx */
- "\t.byte 0x8f\n\t.byte 0x4\n" /* offset r15 */
- "\t.byte 0x8e\n\t.byte 0x5\n" /* offset r14 */
-#else
- "\t.byte 0x84\n\t.byte 0x2\n" /* offset ebp (4 for MACH-O)*/
- "\t.byte 0x87\n\t.byte 0x3\n" /* offset edi */
- "\t.byte 0x86\n\t.byte 0x4\n" /* offset esi */
- "\t.byte 0x83\n\t.byte 0x5\n" /* offset ebx */
-#endif
- "\t.align " BSZPTR "\n"
- "LEFDE%d:\n\n",
- name, i, i, i, i, i, i, i, name, size, CFRAME_SIZE, i);
- }
-#if LJ_HASFFI
- if (fcsize) {
- fprintf(ctx->fp,
- "EH_frame2:\n"
- "\t.set L$set$y,LECIEY-LSCIEY\n"
- "\t.long L$set$y\n"
- "LSCIEY:\n"
- "\t.long 0\n"
- "\t.byte 0x1\n"
- "\t.ascii \"zR\\0\"\n"
- "\t.byte 0x1\n"
- "\t.byte 128-" SZPTR "\n"
- "\t.byte " REG_RA "\n"
- "\t.byte 1\n" /* augmentation length */
-#if LJ_64
- "\t.byte 0x1b\n" /* pcrel|sdata4 */
- "\t.byte 0xc\n\t.byte " REG_SP "\n\t.byte " SZPTR "\n"
-#else
- "\t.byte 0x1b\n" /* pcrel|sdata4 */
- "\t.byte 0xc\n\t.byte 0x5\n\t.byte 0x4\n" /* esp=5 on 32 bit MACH. */
-#endif
- "\t.byte 0x80+" REG_RA "\n\t.byte 0x1\n"
- "\t.align " BSZPTR "\n"
- "LECIEY:\n\n");
- fprintf(ctx->fp,
- "_lj_vm_ffi_call.eh:\n"
- "LSFDEY:\n"
- "\t.set L$set$yy,LEFDEY-LASFDEY\n"
- "\t.long L$set$yy\n"
- "LASFDEY:\n"
- "\t.long LASFDEY-EH_frame2\n"
- "\t.long _lj_vm_ffi_call-.\n"
- "\t.long %d\n"
- "\t.byte 0\n" /* augmentation length */
-#if LJ_64
- "\t.byte 0xe\n\t.byte 16\n" /* def_cfa_offset */
- "\t.byte 0x86\n\t.byte 0x2\n" /* offset rbp */
- "\t.byte 0xd\n\t.uleb128 0x6\n" /* def_cfa_register rbp */
- "\t.byte 0x83\n\t.byte 0x3\n" /* offset rbx */
-#else
- "\t.byte 0xe\n\t.byte 8\n" /* def_cfa_offset */
- "\t.byte 0x84\n\t.byte 0x2\n" /* offset ebp (4 for MACH-O)*/
- "\t.byte 0xd\n\t.uleb128 0x4\n" /* def_cfa_register ebp */
- "\t.byte 0x83\n\t.byte 0x3\n" /* offset ebx */
-#endif
- "\t.align " BSZPTR "\n"
- "LEFDEY:\n\n", fcsize);
- }
-#endif
-#if LJ_64
- fprintf(ctx->fp, "\t.subsections_via_symbols\n");
-#else
- fprintf(ctx->fp,
- "\t.non_lazy_symbol_pointer\n"
- "L_lj_err_unwind_dwarf$non_lazy_ptr:\n"
- ".indirect_symbol _lj_err_unwind_dwarf\n"
- ".long 0\n");
-#endif
- }
- break;
- default: /* Difficult for other modes. */
- break;
- }
-}
-
+++ /dev/null
-/*
-** This file has been pre-processed with DynASM.
-** http://luajit.org/dynasm.html
-** DynASM version 1.3.0, DynASM x64 version 1.3.0
-** DO NOT EDIT! The original file is in "buildvm_x86.dasc".
-*/
-
-#if DASM_VERSION != 10300
-#error "Version mismatch between DynASM and included encoding engine"
-#endif
-
-#define DASM_SECTION_CODE_OP 0
-#define DASM_SECTION_CODE_SUB 1
-#define DASM_MAXSECTION 2
-static const unsigned char build_actionlist[16196] = {
- 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72,
- 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,
- 36,84,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237,
- 15,133,244,10,199,131,233,237,131,230,252,248,41,214,252,247,222,131,232,
- 1,15,132,244,248,248,1,72,139,44,10,72,137,106,252,248,131,194,8,131,232,
- 1,15,133,244,1,248,2,255,139,108,36,96,137,181,233,248,3,139,68,36,84,139,
- 76,36,88,248,4,57,193,15,133,244,252,248,5,131,252,234,8,137,149,233,248,
- 15,72,139,76,36,104,72,137,141,233,49,192,248,16,72,131,196,40,91,94,95,93,
- 195,248,6,15,130,244,253,59,149,233,15,135,244,254,199,66,252,252,237,131,
- 194,8,131,192,1,252,233,244,4,248,7,255,133,201,15,132,244,5,41,193,141,20,
- 202,252,233,244,5,248,8,137,149,233,137,68,36,84,137,202,137,252,233,232,
- 251,1,0,139,149,233,252,233,244,3,248,17,137,208,72,137,204,248,18,139,108,
- 36,96,139,173,233,199,133,233,237,252,233,244,16,248,19,248,20,72,129,225,
- 239,72,137,204,248,21,255,139,108,36,96,72,199,193,252,248,252,255,252,255,
- 252,255,184,237,139,149,233,139,157,233,129,195,239,139,114,252,252,199,66,
- 252,252,237,199,131,233,237,252,233,244,12,248,22,186,237,252,233,244,248,
- 248,23,131,232,8,252,233,244,247,248,24,141,68,194,252,248,248,1,15,182,142,
- 233,131,198,4,137,149,233,255,137,133,233,137,116,36,100,137,202,248,2,137,
- 252,233,232,251,1,0,139,149,233,139,133,233,139,106,252,248,41,208,193,232,
- 3,131,192,1,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,
- 36,252,235,248,25,85,87,86,83,72,131,252,236,40,137,205,137,76,36,96,137,
- 209,190,237,49,192,72,141,188,253,36,233,139,157,233,129,195,239,72,137,189,
- 233,137,68,36,100,72,137,68,36,104,137,68,36,88,137,68,36,92,56,133,233,15,
- 132,244,249,199,131,233,237,136,133,233,139,149,233,139,133,233,41,200,193,
- 232,3,131,192,1,41,209,139,114,252,252,137,68,36,84,252,247,198,237,255,15,
- 132,244,13,252,233,244,14,248,26,85,87,86,83,72,131,252,236,40,190,237,68,
- 137,76,36,92,252,233,244,247,248,27,85,87,86,83,72,131,252,236,40,190,237,
- 248,1,68,137,68,36,88,137,205,137,76,36,96,137,209,72,139,189,233,72,137,
- 124,36,104,137,108,36,100,72,137,165,233,248,2,139,157,233,129,195,239,248,
- 3,199,131,233,237,139,149,233,255,1,206,41,214,139,133,233,41,200,193,232,
- 3,131,192,1,248,28,139,105,252,248,129,121,253,252,252,239,15,133,244,29,
- 248,30,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,205,
- 131,198,4,252,255,36,252,235,248,31,85,87,86,83,72,131,252,236,40,137,205,
- 137,76,36,96,137,108,36,100,139,189,233,43,189,233,199,68,36,92,0,0,0,0,137,
- 124,36,88,72,139,189,233,72,137,124,36,104,72,137,165,233,65,252,255,209,
- 133,192,15,132,244,15,137,193,190,237,252,233,244,2,248,11,1,209,131,230,
- 252,248,137,213,41,252,242,199,68,193,252,252,237,137,200,139,117,252,244,
- 72,99,77,252,240,255,131,252,249,1,15,134,244,247,255,72,141,61,245,72,1,
- 252,249,255,139,122,252,248,139,191,233,139,191,233,252,255,225,255,248,1,
- 15,132,244,32,41,213,193,252,237,3,141,69,252,255,252,233,244,33,255,248,
- 34,15,182,78,252,255,131,252,237,16,141,12,202,41,252,233,15,132,244,35,252,
- 247,217,193,252,233,3,65,137,200,139,76,36,96,137,145,233,72,139,0,72,137,
- 69,0,137,252,234,252,233,244,36,248,37,137,68,36,80,199,68,36,84,237,72,141,
- 68,36,80,128,126,252,252,235,15,133,244,247,141,139,233,137,41,199,65,4,237,
- 137,205,252,233,244,248,248,38,15,182,70,252,254,255,199,68,36,84,237,137,
- 68,36,80,255,252,242,15,42,192,252,242,15,17,68,36,80,255,72,141,68,36,80,
- 252,233,244,247,248,39,15,182,70,252,254,141,4,194,248,1,15,182,110,252,255,
- 141,44,252,234,248,2,139,76,36,96,137,145,233,137,252,234,73,137,192,137,
- 205,137,116,36,100,232,251,1,1,139,149,233,133,192,15,132,244,249,248,35,
- 15,182,78,252,253,72,139,40,72,137,44,202,139,6,15,182,204,15,182,232,131,
- 198,4,193,232,16,252,255,36,252,235,248,3,139,141,233,137,113,252,244,141,
- 177,233,41,214,139,105,252,248,184,237,252,233,244,30,248,40,137,68,36,80,
- 199,68,36,84,237,72,141,68,36,80,128,126,252,252,235,15,133,244,247,255,141,
- 139,233,137,41,199,65,4,237,137,205,252,233,244,248,248,41,15,182,70,252,
- 254,255,72,141,68,36,80,252,233,244,247,248,42,15,182,70,252,254,141,4,194,
- 248,1,15,182,110,252,255,141,44,252,234,248,2,139,76,36,96,137,145,233,137,
- 252,234,73,137,192,137,205,137,116,36,100,232,251,1,2,139,149,233,133,192,
- 15,132,244,249,15,182,78,252,253,72,139,44,202,72,137,40,248,43,139,6,15,
- 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,139,141,
- 233,137,113,252,244,15,182,70,252,253,72,139,44,194,72,137,105,16,141,177,
- 233,41,214,139,105,252,248,184,237,252,233,244,30,248,44,139,108,36,96,137,
- 149,233,68,141,4,194,141,20,202,137,252,233,68,15,182,78,252,252,137,116,
- 36,100,232,251,1,3,248,3,139,149,233,255,131,252,248,1,15,135,244,45,248,
- 4,141,118,4,15,130,244,252,248,5,15,183,70,252,254,141,180,253,134,233,248,
- 6,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,
- 46,131,198,4,129,120,253,4,239,15,130,244,5,252,233,244,6,248,47,129,120,
- 253,4,239,252,233,244,4,248,48,131,252,238,4,65,137,192,65,137,252,233,139,
- 108,36,96,137,149,233,255,137,202,137,252,233,137,116,36,100,232,251,1,4,
- 252,233,244,3,248,49,255,131,252,238,4,139,108,36,96,137,149,233,137,252,
- 233,139,86,252,252,137,116,36,100,232,251,1,5,252,233,244,3,255,248,50,255,
- 15,182,110,252,255,255,248,51,141,4,199,252,233,244,247,248,52,255,248,53,
- 141,4,199,141,44,252,234,149,252,233,244,248,248,54,141,4,194,137,197,252,
- 233,244,248,248,55,255,248,56,141,4,194,248,1,141,44,252,234,248,2,141,12,
- 202,65,137,232,65,137,193,15,182,70,252,252,137,68,36,32,139,108,36,96,137,
- 149,233,137,202,137,252,233,137,116,36,100,232,251,1,6,139,149,233,133,192,
- 15,132,244,43,248,45,137,193,41,208,137,113,252,244,141,176,233,184,237,252,
- 233,244,28,248,57,139,108,36,96,137,149,233,141,20,194,137,252,233,137,116,
- 36,100,232,251,1,7,139,149,233,255,133,192,15,133,244,45,15,183,70,252,254,
- 139,12,194,252,233,244,58,255,252,233,244,45,255,248,59,141,76,202,8,248,
- 29,137,76,36,84,137,68,36,80,131,252,233,8,139,108,36,96,137,149,233,137,
- 202,68,141,4,193,137,252,233,137,116,36,100,232,251,1,8,139,149,233,139,76,
- 36,84,139,68,36,80,139,105,252,248,131,192,1,57,215,15,132,244,60,137,202,
- 137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,
- 255,36,252,235,248,61,139,108,36,96,137,149,233,137,202,137,252,233,137,116,
- 36,100,232,251,1,9,139,149,233,139,70,252,252,15,182,204,15,182,232,193,232,
- 16,252,255,164,253,252,235,233,248,62,129,252,248,239,15,130,244,63,139,106,
- 4,129,252,253,239,15,131,244,63,139,114,252,252,137,68,36,84,137,106,252,
- 252,139,42,137,106,252,248,131,232,2,15,132,244,248,255,137,209,248,1,131,
- 193,8,72,139,41,72,137,105,252,248,131,232,1,15,133,244,1,248,2,139,68,36,
- 84,252,233,244,64,248,65,129,252,248,239,15,130,244,63,139,106,4,137,252,
- 233,193,252,249,15,131,252,249,252,254,15,132,244,249,184,237,252,247,213,
- 57,232,255,15,71,197,255,15,134,244,247,137,232,248,1,255,248,2,139,106,252,
- 248,139,132,253,197,233,139,114,252,252,199,66,252,252,237,137,66,252,248,
- 252,233,244,66,248,3,184,237,252,233,244,2,248,67,129,252,248,239,15,130,
- 244,63,139,106,4,139,114,252,252,129,252,253,239,15,133,244,252,248,1,139,
- 42,139,173,233,248,2,133,252,237,199,66,252,252,237,255,15,132,244,66,139,
- 131,233,199,66,252,252,237,137,106,252,248,139,141,233,35,136,233,105,201,
- 239,3,141,233,248,3,129,185,233,239,15,133,244,250,57,129,233,15,132,244,
- 251,248,4,139,137,233,133,201,15,133,244,3,255,252,233,244,66,248,5,139,105,
- 4,129,252,253,239,15,132,244,66,139,1,137,106,252,252,137,66,252,248,252,
- 233,244,66,248,6,129,252,253,239,15,132,244,1,129,252,253,239,15,135,244,
- 254,129,252,253,239,15,134,244,253,189,237,252,233,244,254,248,7,255,189,
- 237,248,8,252,247,213,139,172,253,171,233,252,233,244,2,248,68,129,252,248,
- 239,15,130,244,63,129,122,253,4,239,15,133,244,63,139,42,131,189,233,0,15,
- 133,244,63,129,122,253,12,239,15,133,244,63,139,66,8,137,133,233,139,114,
- 252,252,199,66,252,252,237,255,137,106,252,248,252,246,133,233,235,15,132,
- 244,247,128,165,233,235,139,131,233,137,171,233,137,133,233,248,1,252,233,
- 244,66,248,69,129,252,248,239,15,130,244,63,129,122,253,4,239,15,133,244,
- 63,137,213,68,141,66,8,139,18,139,76,36,96,232,251,1,10,137,252,234,72,139,
- 40,139,114,252,252,72,137,106,252,248,252,233,244,66,248,70,255,129,252,248,
- 239,15,133,244,63,129,122,253,4,239,255,15,133,244,247,139,42,252,233,244,
- 71,248,1,15,135,244,63,255,15,131,244,63,255,252,242,15,16,2,252,233,244,
- 72,255,221,2,252,233,244,73,255,248,74,129,252,248,239,15,130,244,63,139,
- 114,252,252,129,122,253,4,239,15,133,244,249,139,2,248,2,199,66,252,252,237,
- 137,66,252,248,252,233,244,66,248,3,129,122,253,4,239,15,135,244,63,131,187,
- 233,0,15,133,244,63,139,171,233,59,171,233,255,15,130,244,247,232,244,75,
- 248,1,139,108,36,96,137,149,233,137,116,36,100,137,252,233,255,232,251,1,
- 11,255,232,251,1,12,255,139,149,233,252,233,244,2,248,76,129,252,248,239,
- 15,130,244,63,15,132,244,248,248,1,129,122,253,4,239,15,133,244,63,139,108,
- 36,96,137,149,233,137,149,233,139,114,252,252,68,141,66,8,139,18,137,252,
- 233,137,116,36,100,232,251,1,13,139,149,233,133,192,15,132,244,249,72,139,
- 106,8,72,139,66,16,72,137,106,252,248,72,137,2,248,77,184,237,255,252,233,
- 244,78,248,2,199,66,12,237,252,233,244,1,248,3,199,66,252,252,237,252,233,
- 244,66,248,79,129,252,248,239,15,130,244,63,139,42,129,122,253,4,239,15,133,
- 244,63,255,131,189,233,0,15,133,244,63,255,139,106,252,248,139,133,233,139,
- 114,252,252,199,66,252,252,237,137,66,252,248,199,66,12,237,184,237,252,233,
- 244,78,248,80,129,252,248,239,15,130,244,63,129,122,253,4,239,15,133,244,
- 63,129,122,253,12,239,255,139,114,252,252,255,139,66,8,131,192,1,199,66,252,
- 252,237,137,66,252,248,255,252,242,15,16,66,8,72,189,237,237,102,72,15,110,
- 205,252,242,15,88,193,252,242,15,45,192,252,242,15,17,66,252,248,255,139,
- 42,59,133,233,15,131,244,248,193,224,3,3,133,233,248,1,129,120,253,4,239,
- 15,132,244,81,72,139,40,72,137,42,252,233,244,77,248,2,131,189,233,0,15,132,
- 244,81,137,252,233,137,213,137,194,232,251,1,14,137,252,234,133,192,15,133,
- 244,1,248,81,184,237,252,233,244,78,248,82,255,139,106,252,248,139,133,233,
- 139,114,252,252,199,66,252,252,237,137,66,252,248,255,199,66,12,237,199,66,
- 8,0,0,0,0,255,15,87,192,252,242,15,17,66,8,255,217,252,238,221,90,8,255,184,
- 237,252,233,244,78,248,83,129,252,248,239,15,130,244,63,141,74,8,131,232,
- 1,190,237,248,1,15,182,171,233,193,252,237,235,131,229,1,1,252,238,252,233,
- 244,28,248,84,129,252,248,239,15,130,244,63,129,122,253,12,239,15,133,244,
- 63,255,139,106,4,137,106,12,199,66,4,237,139,42,139,114,8,137,106,8,137,50,
- 141,74,16,131,232,2,190,237,252,233,244,1,248,85,129,252,248,239,15,130,244,
- 63,139,42,139,114,252,252,137,116,36,100,137,108,36,80,129,122,253,4,239,
- 15,133,244,63,72,131,189,233,0,15,133,244,63,128,189,233,235,15,135,244,63,
- 139,141,233,15,132,244,247,255,59,141,233,15,132,244,63,248,1,141,116,193,
- 252,240,59,181,233,15,135,244,63,137,181,233,139,108,36,96,137,149,233,131,
- 194,8,137,149,233,141,108,194,232,72,41,252,245,57,206,15,132,244,249,248,
- 2,72,139,4,46,72,137,70,252,248,131,252,238,8,57,206,15,133,244,2,248,3,137,
- 202,139,76,36,80,232,244,25,199,131,233,237,255,139,108,36,96,139,116,36,
- 80,139,149,233,129,252,248,239,15,135,244,254,248,4,139,142,233,139,190,233,
- 137,142,233,137,252,254,41,206,15,132,244,252,141,4,50,193,252,238,3,59,133,
- 233,15,135,244,255,137,213,72,41,205,248,5,72,139,1,72,137,4,41,131,193,8,
- 57,252,249,15,133,244,5,248,6,141,70,2,199,66,252,252,237,248,7,139,116,36,
- 100,137,68,36,84,72,199,193,252,248,252,255,252,255,252,255,252,247,198,237,
- 255,15,132,244,13,252,233,244,14,248,8,199,66,252,252,237,139,142,233,131,
- 252,233,8,137,142,233,72,139,1,72,137,2,184,237,252,233,244,7,248,9,139,76,
- 36,80,137,185,233,137,252,242,137,252,233,232,251,1,0,139,116,36,80,139,149,
- 233,252,233,244,4,248,86,139,106,252,248,139,173,233,139,114,252,252,137,
- 116,36,100,137,108,36,80,72,131,189,233,0,15,133,244,63,255,128,189,233,235,
- 15,135,244,63,139,141,233,15,132,244,247,59,141,233,15,132,244,63,248,1,141,
- 116,193,252,248,59,181,233,15,135,244,63,137,181,233,139,108,36,96,137,149,
- 233,137,149,233,141,108,194,252,240,72,41,252,245,57,206,15,132,244,249,248,
- 2,255,72,139,4,46,72,137,70,252,248,131,252,238,8,57,206,15,133,244,2,248,
- 3,137,202,139,76,36,80,232,244,25,199,131,233,237,139,108,36,96,139,116,36,
- 80,139,149,233,129,252,248,239,15,135,244,254,248,4,139,142,233,139,190,233,
- 137,142,233,137,252,254,41,206,15,132,244,252,141,4,50,193,252,238,3,59,133,
- 233,15,135,244,255,255,137,213,72,41,205,248,5,72,139,1,72,137,4,41,131,193,
- 8,57,252,249,15,133,244,5,248,6,141,70,1,248,7,139,116,36,100,137,68,36,84,
- 49,201,252,247,198,237,15,132,244,13,252,233,244,14,248,8,137,252,242,137,
- 252,233,232,251,1,15,248,9,139,76,36,80,137,185,233,137,252,242,137,252,233,
- 232,251,1,0,139,116,36,80,139,149,233,252,233,244,4,248,87,139,108,36,96,
- 72,252,247,133,233,237,15,132,244,63,255,137,149,233,141,68,194,252,248,137,
- 133,233,49,192,72,137,133,233,176,235,136,133,233,252,233,244,16,255,248,
- 71,255,248,73,139,114,252,252,221,90,252,248,252,233,244,66,255,248,88,129,
- 252,248,239,15,130,244,63,255,129,122,253,4,239,15,133,244,248,139,42,131,
- 252,253,0,15,137,244,71,252,247,221,15,136,244,247,248,89,248,71,139,114,
- 252,252,199,66,252,252,237,137,106,252,248,252,233,244,66,248,1,139,114,252,
- 252,199,66,252,252,0,0,224,65,199,66,252,248,0,0,0,0,252,233,244,66,248,2,
- 15,135,244,63,255,129,122,253,4,239,15,131,244,63,255,252,242,15,16,2,72,
- 184,237,237,102,72,15,110,200,15,84,193,248,72,139,114,252,252,252,242,15,
- 17,66,252,248,255,221,2,217,225,248,72,248,73,139,114,252,252,221,90,252,
- 248,255,248,66,184,237,248,78,137,68,36,84,248,64,252,247,198,237,15,133,
- 244,253,248,5,56,70,252,255,15,135,244,252,15,182,78,252,253,72,252,247,209,
- 141,20,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,
- 235,248,6,199,68,194,252,244,237,131,192,1,252,233,244,5,248,7,72,199,193,
- 252,248,252,255,252,255,252,255,252,233,244,14,248,90,255,129,122,253,4,239,
- 15,133,244,247,139,42,252,233,244,71,248,1,15,135,244,63,255,252,242,15,16,
- 2,232,244,91,255,252,242,15,45,232,129,252,253,0,0,0,128,15,133,244,71,252,
- 242,15,42,205,102,15,46,193,15,138,244,72,15,132,244,71,255,221,2,232,244,
- 91,255,248,92,255,252,242,15,16,2,232,244,93,255,221,2,232,244,93,255,248,
- 94,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,252,242,
- 15,81,2,252,233,244,72,255,248,94,129,252,248,239,15,130,244,63,129,122,253,
- 4,239,15,131,244,63,221,2,217,252,250,252,233,244,73,255,248,95,129,252,248,
- 239,15,130,244,63,129,122,253,4,239,15,131,244,63,217,252,237,221,2,217,252,
- 241,252,233,244,73,248,96,129,252,248,239,15,130,244,63,129,122,253,4,239,
- 15,131,244,63,217,252,236,221,2,217,252,241,252,233,244,73,248,97,129,252,
- 248,239,255,15,130,244,63,129,122,253,4,239,15,131,244,63,221,2,232,244,98,
- 252,233,244,73,248,99,129,252,248,239,15,130,244,63,129,122,253,4,239,15,
- 131,244,63,221,2,217,252,254,252,233,244,73,248,100,129,252,248,239,255,15,
- 130,244,63,129,122,253,4,239,15,131,244,63,221,2,217,252,255,252,233,244,
- 73,248,101,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,
- 221,2,217,252,242,221,216,252,233,244,73,248,102,129,252,248,239,15,130,244,
- 63,255,129,122,253,4,239,15,131,244,63,221,2,217,192,216,200,217,232,222,
- 225,217,252,250,217,252,243,252,233,244,73,248,103,129,252,248,239,15,130,
- 244,63,129,122,253,4,239,15,131,244,63,221,2,217,192,216,200,217,232,222,
- 225,217,252,250,217,201,217,252,243,252,233,244,73,248,104,129,252,248,239,
- 15,130,244,63,129,122,253,4,239,15,131,244,63,255,221,2,217,232,217,252,243,
- 252,233,244,73,255,248,105,129,252,248,239,15,130,244,63,129,122,253,4,239,
- 15,131,244,63,252,242,15,16,2,255,137,213,232,251,1,16,137,252,234,252,233,
- 244,72,255,248,106,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,
- 244,63,252,242,15,16,2,255,137,213,232,251,1,17,137,252,234,252,233,244,72,
- 255,248,107,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,
- 252,242,15,16,2,255,137,213,232,251,1,18,137,252,234,252,233,244,72,248,108,
- 255,248,109,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,
- 252,242,15,16,2,139,106,252,248,252,242,15,89,133,233,252,233,244,72,255,
- 248,109,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,221,
- 2,139,106,252,248,220,141,233,252,233,244,73,255,248,110,129,252,248,239,
- 15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,
- 63,221,2,221,66,8,217,252,243,252,233,244,73,248,111,129,252,248,239,15,130,
- 244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,255,15,131,244,
- 63,221,66,8,221,2,217,252,253,221,217,252,233,244,73,248,112,129,252,248,
- 239,15,130,244,63,139,106,4,129,252,253,239,15,131,244,63,139,114,252,252,
- 139,2,137,106,252,252,137,66,252,248,209,229,129,252,253,0,0,224,252,255,
- 15,131,244,249,9,232,15,132,244,249,184,252,254,3,0,0,129,252,253,0,0,32,
- 0,15,130,244,250,248,1,193,252,237,21,41,197,255,252,242,15,42,197,255,137,
- 108,36,80,219,68,36,80,255,139,106,252,252,129,229,252,255,252,255,15,128,
- 129,205,0,0,224,63,137,106,252,252,248,2,255,252,242,15,17,2,255,221,26,255,
- 184,237,252,233,244,78,248,3,255,15,87,192,252,233,244,2,255,217,252,238,
- 252,233,244,2,255,248,4,255,252,242,15,16,2,72,189,237,237,102,72,15,110,
- 205,252,242,15,89,193,252,242,15,17,66,252,248,255,221,2,199,68,36,80,0,0,
- 128,90,216,76,36,80,221,90,252,248,255,139,106,252,252,184,52,4,0,0,209,229,
- 252,233,244,1,255,248,113,129,252,248,239,15,130,244,63,129,122,253,4,239,
- 15,131,244,63,252,242,15,16,2,255,248,113,129,252,248,239,15,130,244,63,129,
- 122,253,4,239,15,131,244,63,221,2,255,139,106,4,139,114,252,252,209,229,129,
- 252,253,0,0,224,252,255,15,132,244,250,255,15,40,224,232,244,114,252,242,
- 15,92,224,248,1,252,242,15,17,66,252,248,252,242,15,17,34,255,217,192,232,
- 244,114,220,252,233,248,1,221,90,252,248,221,26,255,139,66,252,252,139,106,
- 4,49,232,15,136,244,249,248,2,184,237,252,233,244,78,248,3,129,252,245,0,
- 0,0,128,137,106,4,252,233,244,2,248,4,255,15,87,228,252,233,244,1,255,217,
- 252,238,217,201,252,233,244,1,255,248,115,129,252,248,239,15,130,244,63,129,
- 122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,63,221,66,8,221,
- 2,248,1,217,252,248,223,224,158,15,138,244,1,221,217,252,233,244,73,255,248,
- 116,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,
- 253,12,239,15,131,244,63,252,242,15,16,2,252,242,15,16,74,8,232,244,117,252,
- 233,244,72,255,248,116,129,252,248,239,15,130,244,63,129,122,253,4,239,15,
- 131,244,63,129,122,253,12,239,15,131,244,63,221,2,221,66,8,232,244,117,252,
- 233,244,73,255,248,118,185,2,0,0,0,129,122,253,4,239,255,15,133,244,250,139,
- 42,248,1,57,193,15,131,244,71,129,124,253,202,252,252,239,15,133,244,249,
- 59,108,202,252,248,15,79,108,202,252,248,131,193,1,252,233,244,1,248,3,15,
- 135,244,63,255,252,233,244,252,248,4,15,135,244,63,255,252,242,15,16,2,248,
- 5,57,193,15,131,244,72,129,124,253,202,252,252,239,255,15,130,244,252,15,
- 135,244,63,252,242,15,42,76,202,252,248,252,233,244,253,255,248,6,252,242,
- 15,16,76,202,252,248,248,7,252,242,15,93,193,131,193,1,252,233,244,5,255,
- 248,119,185,2,0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,
- 193,15,131,244,71,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252,
- 248,15,76,108,202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,63,255,
- 248,6,252,242,15,16,76,202,252,248,248,7,252,242,15,95,193,131,193,1,252,
- 233,244,5,255,248,9,221,216,252,233,244,63,255,248,120,129,252,248,239,15,
- 130,244,63,129,122,253,4,239,15,133,244,63,139,42,255,139,173,233,252,233,
- 244,71,255,252,242,15,42,133,233,252,233,244,72,255,219,133,233,252,233,244,
- 73,255,248,121,129,252,248,239,15,133,244,63,129,122,253,4,239,15,133,244,
- 63,139,42,139,114,252,252,131,189,233,1,15,130,244,81,15,182,173,233,255,
- 252,242,15,42,197,252,233,244,72,255,137,108,36,80,219,68,36,80,252,233,244,
- 73,255,248,122,139,171,233,59,171,233,15,130,244,247,232,244,75,248,1,129,
- 252,248,239,15,133,244,63,129,122,253,4,239,255,15,133,244,63,139,42,129,
- 252,253,252,255,0,0,0,15,135,244,63,137,108,36,84,255,15,131,244,63,252,242,
- 15,44,42,129,252,253,252,255,0,0,0,15,135,244,63,137,108,36,84,255,15,131,
- 244,63,221,2,219,92,36,84,129,124,36,84,252,255,0,0,0,15,135,244,63,255,199,
- 68,36,32,1,0,0,0,72,141,68,36,84,248,123,139,108,36,96,137,149,233,68,139,
- 68,36,32,72,137,194,137,252,233,137,116,36,100,232,251,1,19,139,149,233,139,
- 114,252,252,199,66,252,252,237,137,66,252,248,252,233,244,66,248,124,139,
- 171,233,59,171,233,15,130,244,247,232,244,75,248,1,199,68,36,84,252,255,252,
- 255,252,255,252,255,129,252,248,239,15,130,244,63,15,134,244,247,129,122,
- 253,20,239,255,15,133,244,63,139,106,16,137,108,36,84,255,15,131,244,63,252,
- 242,15,44,106,16,137,108,36,84,255,15,131,244,63,221,66,16,219,92,36,84,255,
- 248,1,129,122,253,4,239,15,133,244,63,129,122,253,12,239,255,139,42,137,108,
- 36,32,139,173,233,255,139,74,8,255,252,242,15,44,74,8,255,139,68,36,84,57,
- 197,15,130,244,251,248,2,133,201,15,142,244,253,248,3,139,108,36,32,41,200,
- 15,140,244,125,141,172,253,13,233,131,192,1,248,4,137,68,36,32,137,232,252,
- 233,244,123,248,5,15,140,244,252,141,68,40,1,252,233,244,2,248,6,137,232,
- 252,233,244,2,248,7,255,15,132,244,254,1,252,233,131,193,1,15,143,244,3,248,
- 8,185,1,0,0,0,252,233,244,3,248,125,49,192,252,233,244,4,248,126,129,252,
- 248,239,15,130,244,63,139,171,233,59,171,233,15,130,244,247,232,244,75,248,
- 1,255,129,122,253,4,239,15,133,244,63,129,122,253,12,239,139,42,255,15,133,
- 244,63,139,66,8,255,15,131,244,63,252,242,15,44,66,8,255,15,131,244,63,221,
- 66,8,219,92,36,84,139,68,36,84,255,133,192,15,142,244,125,131,189,233,1,15,
- 130,244,125,15,133,244,127,57,131,233,15,130,244,127,15,182,141,233,139,171,
- 233,137,68,36,32,248,1,136,77,0,131,197,1,131,232,1,15,133,244,1,139,131,
- 233,252,233,244,123,248,128,129,252,248,239,255,15,130,244,63,139,171,233,
- 59,171,233,15,130,244,247,232,244,75,248,1,129,122,253,4,239,15,133,244,63,
- 139,42,139,133,233,133,192,15,132,244,125,57,131,233,15,130,244,129,129,197,
- 239,137,116,36,84,137,68,36,32,139,179,233,248,1,255,15,182,77,0,131,197,
- 1,131,232,1,136,12,6,15,133,244,1,137,252,240,139,116,36,84,252,233,244,123,
- 248,130,129,252,248,239,15,130,244,63,139,171,233,59,171,233,15,130,244,247,
- 232,244,75,248,1,129,122,253,4,239,15,133,244,63,139,42,139,133,233,57,131,
- 233,255,15,130,244,129,129,197,239,137,116,36,84,137,68,36,32,139,179,233,
- 252,233,244,249,248,1,15,182,76,5,0,131,252,249,65,15,130,244,248,131,252,
- 249,90,15,135,244,248,131,252,241,32,248,2,136,12,6,248,3,131,232,1,15,137,
- 244,1,137,252,240,139,116,36,84,252,233,244,123,248,131,129,252,248,239,15,
- 130,244,63,255,139,171,233,59,171,233,15,130,244,247,232,244,75,248,1,129,
- 122,253,4,239,15,133,244,63,139,42,139,133,233,57,131,233,15,130,244,129,
- 129,197,239,137,116,36,84,137,68,36,32,139,179,233,252,233,244,249,248,1,
- 15,182,76,5,0,131,252,249,97,15,130,244,248,255,131,252,249,122,15,135,244,
- 248,131,252,241,32,248,2,136,12,6,248,3,131,232,1,15,137,244,1,137,252,240,
- 139,116,36,84,252,233,244,123,248,132,129,252,248,239,15,130,244,63,129,122,
- 253,4,239,15,133,244,63,137,213,139,10,232,251,1,20,137,252,234,255,137,197,
- 252,233,244,71,255,252,242,15,42,192,252,233,244,72,255,248,133,129,252,248,
- 239,15,130,244,63,129,122,253,4,239,255,15,133,244,247,139,42,252,233,244,
- 89,248,1,15,135,244,63,255,252,242,15,16,2,72,189,237,237,102,72,15,110,205,
- 252,242,15,88,193,102,15,126,197,255,252,233,244,89,255,248,134,129,252,248,
- 239,15,130,244,63,255,72,189,237,237,102,72,15,110,205,255,199,68,36,80,0,
- 0,192,89,255,15,133,244,247,139,42,252,233,244,248,248,1,15,135,244,63,255,
- 252,242,15,16,2,252,242,15,88,193,102,15,126,197,255,248,2,137,68,36,84,141,
- 68,194,252,240,248,1,57,208,15,134,244,89,129,120,253,4,239,255,15,133,244,
- 248,35,40,131,232,8,252,233,244,1,248,2,15,135,244,135,255,15,131,244,135,
- 255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,131,232,8,
- 252,233,244,1,248,136,129,252,248,239,15,130,244,63,255,15,133,244,248,11,
- 40,131,232,8,252,233,244,1,248,2,15,135,244,135,255,252,242,15,16,0,252,242,
- 15,88,193,102,15,126,193,9,205,255,131,232,8,252,233,244,1,248,137,129,252,
- 248,239,15,130,244,63,255,15,133,244,248,51,40,131,232,8,252,233,244,1,248,
- 2,15,135,244,135,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,49,
- 205,255,131,232,8,252,233,244,1,248,138,129,252,248,239,15,130,244,63,129,
- 122,253,4,239,255,248,2,15,205,252,233,244,89,248,139,129,252,248,239,15,
- 130,244,63,129,122,253,4,239,255,248,2,252,247,213,255,248,89,252,242,15,
- 42,197,252,233,244,72,255,248,135,139,68,36,84,252,233,244,63,255,248,140,
- 129,252,248,239,15,130,244,63,129,122,253,4,239,255,248,2,129,122,253,12,
- 239,15,133,244,63,139,74,8,255,248,140,129,252,248,239,15,130,244,63,129,
- 122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,63,252,242,15,16,
- 2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,
- 242,15,88,202,102,15,126,197,102,15,126,201,255,211,229,252,233,244,89,255,
- 248,141,129,252,248,239,15,130,244,63,129,122,253,4,239,255,248,141,129,252,
- 248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,
- 15,131,244,63,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,
- 110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201,
- 255,211,252,237,252,233,244,89,255,248,142,129,252,248,239,15,130,244,63,
- 129,122,253,4,239,255,248,142,129,252,248,239,15,130,244,63,129,122,253,4,
- 239,15,131,244,63,129,122,253,12,239,15,131,244,63,252,242,15,16,2,252,242,
- 15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,
- 88,202,102,15,126,197,102,15,126,201,255,211,252,253,252,233,244,89,255,248,
- 143,129,252,248,239,15,130,244,63,129,122,253,4,239,255,248,143,129,252,248,
- 239,15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,
- 244,63,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,
- 252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201,255,211,
- 197,252,233,244,89,255,248,144,129,252,248,239,15,130,244,63,129,122,253,
- 4,239,255,248,144,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,
- 244,63,129,122,253,12,239,15,131,244,63,252,242,15,16,2,252,242,15,16,74,
- 8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,
- 15,126,197,102,15,126,201,255,211,205,252,233,244,89,248,127,184,237,252,
- 233,244,63,248,129,184,237,248,63,139,108,36,96,139,114,252,252,137,116,36,
- 100,137,149,233,141,68,194,252,248,141,136,233,137,133,233,139,66,252,248,
- 59,141,233,15,135,244,251,137,252,233,252,255,144,233,139,149,233,133,192,
- 15,143,244,78,248,1,255,139,141,233,41,209,193,252,233,3,133,192,141,65,1,
- 139,106,252,248,15,133,244,33,139,181,233,139,14,15,182,252,233,15,182,205,
- 131,198,4,252,255,36,252,235,248,33,137,209,252,247,198,237,15,133,244,249,
- 15,182,110,252,253,72,252,247,213,141,20,252,234,252,233,244,28,248,3,137,
- 252,245,131,229,252,248,41,252,234,252,233,244,28,248,5,186,237,137,252,233,
- 232,251,1,0,139,149,233,49,192,252,233,244,1,248,75,93,72,137,108,36,32,139,
- 108,36,96,137,116,36,100,137,149,233,255,141,68,194,252,248,137,252,233,137,
- 133,233,232,251,1,21,139,149,233,139,133,233,41,208,193,232,3,131,192,1,72,
- 139,108,36,32,85,195,248,145,255,15,182,131,233,168,235,15,133,244,251,168,
- 235,15,133,244,247,168,235,15,132,244,247,252,255,139,233,252,233,244,247,
- 255,248,146,15,182,131,233,168,235,15,133,244,251,252,233,244,247,248,147,
- 15,182,131,233,168,235,15,133,244,251,168,235,15,132,244,251,252,255,139,
- 233,15,132,244,247,168,235,15,132,244,251,248,1,255,139,108,36,96,137,149,
- 233,137,252,242,137,252,233,232,251,1,22,248,3,139,149,233,248,4,15,182,78,
- 252,253,248,5,15,182,110,252,252,15,183,70,252,254,252,255,164,253,252,235,
- 233,248,148,131,198,4,139,77,232,137,76,36,84,252,233,244,4,248,149,255,139,
- 106,252,248,139,173,233,15,182,133,233,141,4,194,139,108,36,96,137,149,233,
- 137,133,233,137,252,242,141,139,233,72,137,171,233,137,116,36,100,232,251,
- 1,23,252,233,244,3,255,248,150,137,116,36,100,255,248,151,255,137,116,36,
- 100,131,206,1,248,1,255,141,68,194,252,248,139,108,36,96,137,149,233,137,
- 133,233,137,252,242,137,252,233,232,251,1,24,199,68,36,100,0,0,0,0,255,131,
- 230,252,254,255,139,149,233,72,137,193,139,133,233,41,208,72,137,205,15,182,
- 78,252,253,193,232,3,131,192,1,252,255,229,248,152,255,65,85,65,84,65,83,
- 65,82,65,81,65,80,87,86,85,72,141,108,36,88,85,83,82,81,80,15,182,69,252,
- 248,138,101,252,240,76,137,125,252,248,76,137,117,252,240,139,93,0,139,139,
- 233,199,131,233,237,137,131,233,137,139,233,72,129,252,236,239,72,131,197,
- 128,252,242,68,15,17,125,252,248,252,242,68,15,17,117,252,240,252,242,68,
- 15,17,109,232,252,242,68,15,17,101,224,252,242,68,15,17,93,216,252,242,68,
- 15,17,85,208,252,242,68,15,17,77,200,252,242,68,15,17,69,192,252,242,15,17,
- 125,184,252,242,15,17,117,176,252,242,15,17,109,168,252,242,15,17,101,160,
- 252,242,15,17,93,152,252,242,15,17,85,144,252,242,15,17,77,136,252,242,15,
- 17,69,128,139,171,233,139,147,233,72,137,171,233,199,131,233,0,0,0,0,137,
- 149,233,72,141,148,253,36,233,141,139,233,232,251,1,25,72,139,141,233,72,
- 129,225,239,137,169,233,139,149,233,139,177,233,252,233,244,247,255,248,153,
- 255,72,141,140,253,36,233,248,1,102,68,15,111,185,233,102,68,15,111,177,233,
- 102,68,15,111,169,233,102,68,15,111,161,233,102,68,15,111,153,233,102,68,
- 15,111,145,233,102,68,15,111,137,233,102,68,15,111,129,233,102,15,111,185,
- 233,72,137,204,102,15,111,49,76,139,124,36,16,76,139,116,36,24,76,139,108,
- 36,32,76,139,100,36,80,133,192,15,136,244,249,137,68,36,84,139,122,252,248,
- 139,191,233,139,191,233,199,131,233,0,0,0,0,199,131,233,237,139,6,15,182,
- 204,15,182,232,131,198,4,193,232,16,129,252,253,239,15,130,244,248,255,139,
- 68,36,84,248,2,252,255,36,252,235,248,3,252,247,216,137,252,233,137,194,232,
- 251,1,26,255,248,91,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,
- 4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,
- 36,4,139,68,36,8,195,255,248,154,72,184,237,237,102,72,15,110,208,72,184,
- 237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,
- 247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,
- 237,237,102,72,15,110,208,252,242,15,194,193,1,102,15,84,194,252,242,15,92,
- 200,15,40,193,248,1,195,248,93,255,217,124,36,4,137,68,36,8,102,184,0,8,102,
- 11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252,
- 217,108,36,4,139,68,36,8,195,255,248,155,72,184,237,237,102,72,15,110,208,
- 72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,
- 134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,
- 72,184,237,237,102,72,15,110,208,252,242,15,194,193,6,102,15,84,194,252,242,
- 15,92,200,15,40,193,248,1,195,248,114,255,217,124,36,4,137,68,36,8,102,184,
- 0,12,102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,
- 139,68,36,8,195,255,248,156,72,184,237,237,102,72,15,110,208,72,184,237,237,
- 102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,
- 15,85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,72,184,237,237,102,
- 72,15,110,216,252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,
- 86,202,15,40,193,248,1,195,248,157,255,15,40,232,252,242,15,94,193,72,184,
- 237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,224,102,
- 15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252,
- 242,15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208,252,242,15,194,
- 196,1,102,15,84,194,252,242,15,92,224,15,40,197,252,242,15,89,204,252,242,
- 15,92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255,
- 217,193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255,
- 252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222,
- 252,233,195,255,248,98,217,252,234,222,201,248,158,217,84,36,8,129,124,36,
- 8,0,0,128,127,15,132,244,247,129,124,36,8,0,0,128,252,255,15,132,244,248,
- 248,159,217,192,217,252,252,220,252,233,217,201,217,252,240,217,232,222,193,
- 217,252,253,221,217,248,1,195,248,2,221,216,217,252,238,195,255,248,117,255,
- 248,160,252,242,15,45,193,252,242,15,42,208,102,15,46,202,15,133,244,254,
- 15,138,244,255,248,161,131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,
- 133,244,248,252,242,15,89,192,209,232,252,233,244,1,248,2,209,232,15,132,
- 244,251,15,40,200,248,3,252,242,15,89,192,209,232,15,132,244,250,15,131,244,
- 3,255,252,242,15,89,200,252,233,244,3,248,4,252,242,15,89,193,248,5,195,248,
- 6,15,132,244,5,15,130,244,253,252,247,216,232,244,1,72,184,237,237,102,72,
- 15,110,200,252,242,15,94,200,15,40,193,195,248,7,72,184,237,237,102,72,15,
- 110,192,195,248,8,102,72,15,126,200,72,209,224,72,193,192,12,72,61,252,254,
- 15,0,0,15,132,244,248,102,72,15,126,192,72,209,224,15,132,244,250,255,72,
- 193,192,12,72,61,252,254,15,0,0,15,132,244,251,252,242,15,17,76,36,16,252,
- 242,15,17,68,36,8,221,68,36,16,221,68,36,8,217,252,241,217,192,217,252,252,
- 220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221,217,221,92,
- 36,8,252,242,15,16,68,36,8,195,248,9,72,184,237,237,102,72,15,110,208,102,
- 15,46,194,15,132,244,247,15,40,193,248,1,195,248,2,72,184,237,237,102,72,
- 15,110,208,102,15,84,194,72,184,237,237,102,72,15,110,208,102,15,46,194,15,
- 132,244,1,102,15,80,193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,
- 248,3,72,184,237,237,255,102,72,15,110,192,195,248,4,102,15,80,193,133,192,
- 15,133,244,3,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,
- 192,195,248,162,255,131,252,250,1,15,130,244,91,15,132,244,93,131,252,250,
- 3,15,130,244,114,15,135,244,248,252,242,15,81,192,195,248,2,252,242,15,17,
- 68,36,8,221,68,36,8,131,252,250,5,15,135,244,248,88,15,132,244,247,232,244,
- 98,80,252,233,244,253,248,1,232,244,158,255,80,252,233,244,253,248,2,131,
- 252,250,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,252,
- 233,244,253,248,1,217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,
- 250,9,15,132,244,247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,
- 244,253,248,1,255,217,252,254,252,233,244,253,248,2,131,252,250,11,15,132,
- 244,247,15,135,244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,
- 216,248,7,221,92,36,8,252,242,15,16,68,36,8,195,255,139,84,36,12,221,68,36,
- 4,131,252,250,1,15,130,244,91,15,132,244,93,131,252,250,3,15,130,244,114,
- 15,135,244,248,217,252,250,195,248,2,131,252,250,5,15,130,244,98,15,132,244,
- 158,131,252,250,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,
- 241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,250,9,15,132,
- 244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,1,217,
- 252,254,195,248,2,131,252,250,11,15,132,244,247,15,135,244,255,217,252,255,
- 195,248,1,217,252,242,221,216,195,255,248,9,204,255,248,163,255,65,131,252,
- 248,1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15,
- 92,193,195,248,2,65,131,252,248,3,15,132,244,247,15,135,244,248,252,242,15,
- 89,193,195,248,1,252,242,15,94,193,195,248,2,65,131,252,248,5,15,130,244,
- 157,15,132,244,117,65,131,252,248,7,15,132,244,247,15,135,244,248,72,184,
- 237,237,255,102,72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,
- 110,200,15,84,193,195,248,2,65,131,252,248,9,15,135,244,248,252,242,15,17,
- 68,36,8,252,242,15,17,76,36,16,221,68,36,8,221,68,36,16,15,132,244,247,217,
- 252,243,248,7,221,92,36,8,252,242,15,16,68,36,8,195,248,1,217,201,217,252,
- 253,221,217,252,233,244,7,248,2,65,131,252,248,11,15,132,244,247,15,135,244,
- 255,252,242,15,93,193,195,248,1,252,242,15,95,193,195,248,9,204,255,139,68,
- 36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,
- 222,193,195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,
- 244,248,222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,
- 157,15,132,244,117,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,
- 217,224,195,248,1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,
- 15,135,244,248,217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,
- 2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252,233,219,209,221,
- 217,195,248,1,219,252,233,218,209,221,217,195,255,221,225,223,224,252,246,
- 196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,
- 246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248,164,137,200,86,
- 72,137,214,83,15,162,137,6,137,94,4,137,78,8,137,86,12,91,94,195,248,165,
- 255,204,248,166,255,87,86,83,72,131,252,236,40,141,157,233,139,181,233,15,
- 183,192,137,134,233,72,137,142,233,72,137,150,233,76,137,134,233,76,137,142,
- 233,252,242,15,17,134,233,252,242,15,17,142,233,252,242,15,17,150,233,252,
- 242,15,17,158,233,72,141,132,253,36,233,72,137,134,233,72,137,226,137,116,
- 36,100,137,252,241,232,251,1,27,199,131,233,237,139,144,233,139,128,233,41,
- 208,139,106,252,248,193,232,3,131,192,1,139,181,233,139,14,15,182,252,233,
- 15,182,205,131,198,4,252,255,36,252,235,255,248,32,255,139,76,36,96,139,179,
- 233,72,137,142,233,137,145,233,137,169,233,137,252,241,137,194,232,251,1,
- 28,72,139,134,233,252,242,15,16,134,233,252,233,244,16,255,248,167,255,85,
- 72,137,229,83,72,137,203,139,131,233,72,41,196,255,15,182,139,233,131,252,
- 233,1,15,136,244,248,248,1,72,139,132,253,203,233,72,137,132,253,204,233,
- 131,252,233,1,15,137,244,1,248,2,15,182,131,233,72,139,139,233,72,139,147,
- 233,76,139,131,233,76,139,139,233,133,192,15,132,244,251,15,40,131,233,15,
- 40,139,233,15,40,147,233,15,40,155,233,248,5,255,252,255,147,233,72,137,131,
- 233,15,41,131,233,255,72,139,93,252,248,201,195,255,129,124,253,202,4,239,
- 15,133,244,253,129,124,253,194,4,239,15,133,244,254,139,44,202,131,198,4,
- 59,44,194,255,15,141,244,255,255,15,140,244,255,255,15,143,244,255,255,15,
- 142,244,255,255,248,6,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15,
- 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,7,15,135,244,
- 44,129,124,253,194,4,239,15,130,244,247,15,133,244,44,255,252,242,15,42,4,
- 194,252,233,244,248,255,221,4,202,219,4,194,252,233,244,249,255,248,8,15,
- 135,244,44,255,252,242,15,42,12,202,252,242,15,16,4,194,131,198,4,102,15,
- 46,193,255,15,134,244,9,255,15,135,244,9,255,15,130,244,9,255,15,131,244,
- 9,255,252,233,244,6,255,219,4,202,252,233,244,248,255,129,124,253,202,4,239,
- 15,131,244,44,129,124,253,194,4,239,15,131,244,44,255,248,1,252,242,15,16,
- 4,194,248,2,131,198,4,102,15,46,4,202,248,3,255,248,1,221,4,202,248,2,221,
- 4,194,248,3,131,198,4,255,223,252,233,221,216,255,218,252,233,223,224,158,
- 255,15,135,244,247,255,15,130,244,247,255,15,131,244,247,255,15,183,70,252,
- 254,141,180,253,134,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,
- 16,252,255,36,252,235,255,139,108,194,4,131,198,4,255,129,252,253,239,15,
- 133,244,253,129,124,253,202,4,239,15,133,244,254,139,44,194,59,44,202,255,
- 15,133,244,255,255,15,132,244,255,255,15,183,70,252,254,141,180,253,134,233,
- 248,9,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,
- 248,7,15,135,244,251,129,124,253,202,4,239,15,130,244,247,15,133,244,251,
- 255,252,242,15,42,4,202,255,219,4,202,255,252,233,244,248,248,8,15,135,244,
- 251,255,252,242,15,42,4,194,102,15,46,4,202,255,219,4,194,221,4,202,255,252,
- 233,244,250,255,129,252,253,239,15,131,244,251,129,124,253,202,4,239,15,131,
- 244,251,255,248,1,252,242,15,16,4,202,248,2,102,15,46,4,194,248,4,255,248,
- 1,221,4,202,248,2,221,4,194,248,4,255,15,138,244,248,15,133,244,248,255,15,
- 138,244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253,134,233,
- 248,2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,252,233,244,
- 9,255,129,252,253,239,15,132,244,49,129,124,253,202,4,239,15,132,244,49,255,
- 57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,
- 57,193,15,132,244,1,129,252,253,239,15,135,244,2,129,252,253,239,15,130,244,
- 2,139,169,233,133,252,237,15,132,244,2,252,246,133,233,235,15,133,244,2,255,
- 49,252,237,255,189,1,0,0,0,255,252,233,244,48,255,248,3,129,252,253,239,255,
- 15,133,244,9,255,252,233,244,49,255,72,252,247,208,139,108,202,4,131,198,
- 4,129,252,253,239,15,133,244,249,139,12,202,59,12,135,255,139,108,202,4,131,
- 198,4,255,129,252,253,239,15,133,244,253,129,124,253,199,4,239,15,133,244,
- 254,139,44,199,59,44,202,255,15,183,70,252,254,141,180,253,134,233,248,9,
- 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,7,
- 15,135,244,249,129,124,253,199,4,239,15,130,244,247,255,252,242,15,42,4,199,
- 255,219,4,199,255,252,233,244,248,248,8,255,252,242,15,42,4,202,102,15,46,
- 4,199,255,219,4,202,221,4,199,255,129,252,253,239,15,131,244,249,255,248,
- 1,252,242,15,16,4,199,248,2,102,15,46,4,202,248,4,255,248,1,221,4,199,248,
- 2,221,4,202,248,4,255,72,252,247,208,139,108,202,4,131,198,4,57,197,255,15,
- 133,244,249,15,183,70,252,254,141,180,253,134,233,248,2,139,6,15,182,204,
- 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,129,252,253,239,
- 15,133,244,2,252,233,244,49,255,15,132,244,248,129,252,253,239,15,132,244,
- 49,15,183,70,252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,
- 131,198,4,193,232,16,252,255,36,252,235,255,139,108,194,4,131,198,4,129,252,
- 253,239,255,137,108,202,4,139,44,194,137,44,202,255,72,139,44,194,72,137,
- 44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,
- 255,49,252,237,129,124,253,194,4,239,129,213,239,137,108,202,4,139,6,15,182,
- 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,129,124,253,194,
- 4,239,15,133,244,251,139,44,194,252,247,221,15,128,244,250,199,68,202,4,237,
- 137,44,202,248,9,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
- 36,252,235,248,4,199,68,202,4,0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,
- 248,5,15,135,244,54,255,129,124,253,194,4,239,15,131,244,54,255,252,242,15,
- 16,4,194,72,184,237,237,102,72,15,110,200,15,87,193,252,242,15,17,4,202,255,
- 221,4,194,217,224,221,28,202,255,129,124,253,194,4,239,15,133,244,248,139,
- 4,194,255,139,128,233,248,1,199,68,202,4,237,137,4,202,255,15,87,192,252,
- 242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,
- 202,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,
- 248,2,129,124,253,194,4,239,15,133,244,57,139,12,194,255,139,169,233,131,
- 252,253,0,15,133,244,255,248,3,255,248,58,137,213,232,251,1,20,255,252,242,
- 15,42,192,255,137,252,234,15,182,78,252,253,252,233,244,1,255,248,9,252,246,
- 133,233,235,15,133,244,3,252,233,244,57,255,15,182,252,236,15,182,192,255,
- 129,124,253,252,234,4,239,15,133,244,51,129,124,253,199,4,239,15,133,244,
- 51,139,44,252,234,3,44,199,15,128,244,50,255,129,124,253,252,234,4,239,15,
- 133,244,53,129,124,253,199,4,239,15,133,244,53,139,4,199,3,4,252,234,15,128,
- 244,52,255,129,124,253,252,234,4,239,15,133,244,56,129,124,253,194,4,239,
- 15,133,244,56,139,44,252,234,3,44,194,15,128,244,55,255,199,68,202,4,237,
- 255,129,124,253,252,234,4,239,15,131,244,51,255,129,124,253,199,4,239,15,
- 131,244,51,255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,221,4,252,
- 234,220,4,199,255,129,124,253,252,234,4,239,15,131,244,53,255,129,124,253,
- 199,4,239,15,131,244,53,255,252,242,15,16,4,199,252,242,15,88,4,252,234,255,
- 221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,56,129,124,
- 253,194,4,239,15,131,244,56,255,252,242,15,16,4,252,234,252,242,15,88,4,194,
- 255,221,4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244,51,129,
- 124,253,199,4,239,15,133,244,51,139,44,252,234,43,44,199,15,128,244,50,255,
- 129,124,253,252,234,4,239,15,133,244,53,129,124,253,199,4,239,15,133,244,
- 53,139,4,199,43,4,252,234,15,128,244,52,255,129,124,253,252,234,4,239,15,
- 133,244,56,129,124,253,194,4,239,15,133,244,56,139,44,252,234,43,44,194,15,
- 128,244,55,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252,
- 234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,255,221,4,
- 199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221,
- 4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133,244,51,129,124,
- 253,199,4,239,15,133,244,51,139,44,252,234,15,175,44,199,15,128,244,50,255,
- 129,124,253,252,234,4,239,15,133,244,53,129,124,253,199,4,239,15,133,244,
- 53,139,4,199,15,175,4,252,234,15,128,244,52,255,129,124,253,252,234,4,239,
- 15,133,244,56,129,124,253,194,4,239,15,133,244,56,139,44,252,234,15,175,44,
- 194,15,128,244,55,255,252,242,15,16,4,252,234,252,242,15,89,4,199,255,221,
- 4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,15,89,4,252,234,255,
- 221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4,194,
- 255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,242,15,94,4,
- 199,255,221,4,252,234,220,52,199,255,252,242,15,16,4,199,252,242,15,94,4,
- 252,234,255,221,4,199,220,52,252,234,255,252,242,15,16,4,252,234,252,242,
- 15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252,
- 242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242,15,16,4,199,252,
- 242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252,242,15,16,4,252,
- 234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,168,232,244,
- 157,255,252,233,244,168,255,232,244,117,255,15,182,252,236,15,182,192,139,
- 76,36,96,137,145,233,141,20,194,65,137,192,65,41,232,248,36,137,205,137,116,
- 36,100,232,251,1,29,139,149,233,133,192,15,133,244,45,15,182,110,252,255,
- 15,182,78,252,253,72,139,4,252,234,72,137,4,202,139,6,15,182,204,15,182,232,
- 131,198,4,193,232,16,252,255,36,252,235,255,72,252,247,208,139,4,135,199,
- 68,202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
- 255,36,252,235,255,15,191,192,199,68,202,4,237,137,4,202,255,15,191,192,252,
- 242,15,42,192,252,242,15,17,4,202,255,223,70,252,254,221,28,202,255,252,242,
- 15,16,4,199,252,242,15,17,4,202,255,221,4,199,221,28,202,255,72,252,247,208,
- 137,68,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
- 252,235,255,141,76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,
- 41,131,193,8,57,193,15,134,244,1,139,6,15,182,204,15,182,232,131,198,4,193,
- 232,16,252,255,36,252,235,255,139,106,252,248,139,172,253,133,233,139,173,
- 233,72,139,69,0,72,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,
- 16,252,255,36,252,235,255,139,106,252,248,139,172,253,141,233,128,189,233,
- 0,139,173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,
- 246,133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,
- 4,193,232,16,252,255,36,252,235,248,2,129,232,239,129,252,248,239,15,134,
- 244,1,252,246,129,233,235,15,132,244,1,135,213,141,139,233,255,232,251,1,
- 30,137,252,234,252,233,244,1,255,72,252,247,208,139,106,252,248,139,172,253,
- 141,233,139,12,135,139,133,233,137,8,199,64,4,237,252,246,133,233,235,15,
- 133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
- 36,252,235,248,2,252,246,129,233,235,15,132,244,1,128,189,233,0,15,132,244,
- 1,137,213,137,194,141,139,233,232,251,1,30,137,252,234,252,233,244,1,255,
- 139,106,252,248,255,252,242,15,16,4,199,255,139,172,253,141,233,139,141,233,
- 255,252,242,15,17,1,255,221,25,255,72,252,247,208,139,106,252,248,139,172,
- 253,141,233,139,141,233,137,65,4,139,6,15,182,204,15,182,232,131,198,4,193,
- 232,16,252,255,36,252,235,255,141,180,253,134,233,139,108,36,96,131,189,233,
- 0,15,132,244,247,137,149,233,141,20,202,137,252,233,232,251,1,31,139,149,
- 233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,
- 235,255,72,252,247,208,139,108,36,96,137,149,233,68,139,66,252,248,139,20,
- 135,137,252,233,137,116,36,100,232,251,1,32,139,149,233,15,182,78,252,253,
- 137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,
- 16,252,255,36,252,235,255,139,108,36,96,137,149,233,139,139,233,59,139,233,
- 137,116,36,100,15,131,244,251,248,1,65,137,192,37,252,255,7,0,0,65,193,232,
- 11,61,252,255,7,0,0,15,132,244,249,248,2,137,252,233,137,194,232,251,1,33,
- 139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,
- 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,184,1,8,0,0,252,
- 233,244,2,248,5,137,252,233,232,251,1,34,15,183,70,252,254,252,233,244,1,
- 255,72,252,247,208,139,108,36,96,139,139,233,137,116,36,100,59,139,233,137,
- 149,233,15,131,244,249,248,2,139,20,135,137,252,233,232,251,1,35,139,149,
- 233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,
- 232,131,198,4,193,232,16,252,255,36,252,235,248,3,137,252,233,232,251,1,34,
- 15,183,70,252,254,72,252,247,208,252,233,244,2,255,72,252,247,208,139,106,
- 252,248,139,173,233,139,4,135,252,233,244,169,255,72,252,247,208,139,106,
- 252,248,139,173,233,139,4,135,252,233,244,170,255,15,182,252,236,15,182,192,
- 129,124,253,252,234,4,239,15,133,244,39,139,44,252,234,255,129,124,253,194,
- 4,239,15,133,244,251,139,4,194,255,129,124,253,194,4,239,15,131,244,251,255,
- 252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,
- 15,133,244,39,255,59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,253,
- 4,239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,6,15,182,204,15,182,
- 232,131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244,
- 249,139,141,233,252,246,129,233,235,15,132,244,39,15,182,78,252,253,248,3,
- 199,68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,
- 39,139,4,194,252,233,244,169,255,15,182,252,236,15,182,192,72,252,247,208,
- 139,4,135,129,124,253,252,234,4,239,15,133,244,37,139,44,252,234,248,169,
- 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,
- 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,
- 70,252,253,72,139,41,72,137,44,194,248,2,255,139,6,15,182,204,15,182,232,
- 131,198,4,193,232,16,252,255,36,252,235,248,3,15,182,70,252,253,199,68,194,
- 4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,141,
- 233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,37,
- 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,38,139,
- 44,252,234,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,239,
- 15,132,244,248,72,139,40,72,137,44,202,248,1,139,6,15,182,204,15,182,232,
- 131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244,249,
- 139,141,233,252,246,129,233,235,15,132,244,38,255,15,182,78,252,253,248,3,
- 199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,192,129,124,253,
- 252,234,4,239,15,133,244,42,139,44,252,234,255,15,133,244,42,255,59,133,233,
- 15,131,244,42,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,
- 252,246,133,233,235,15,133,244,253,248,2,72,139,44,202,72,137,40,139,6,15,
- 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,131,189,
- 233,0,15,132,244,1,139,141,233,252,246,129,233,235,255,15,132,244,42,15,182,
- 78,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,42,139,4,
- 194,252,233,244,170,248,7,128,165,233,235,139,139,233,137,171,233,137,141,
- 233,15,182,78,252,253,252,233,244,2,255,15,182,252,236,15,182,192,72,252,
- 247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,40,139,44,252,234,
- 248,170,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141,233,248,1,
- 129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121,253,4,239,
- 15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248,3,15,182,
- 70,252,253,72,139,44,194,72,137,41,139,6,15,182,204,15,182,232,131,198,4,
- 193,232,16,252,255,36,252,235,248,4,131,189,233,0,15,132,244,2,137,76,36,
- 80,139,141,233,252,246,129,233,235,15,132,244,40,139,76,36,80,252,233,244,
- 2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,
- 252,252,246,129,233,235,15,132,244,40,248,6,137,68,36,80,199,68,36,84,237,
- 137,108,36,32,139,76,36,96,137,145,233,76,141,68,36,80,137,252,234,137,205,
- 137,116,36,100,232,251,1,36,139,149,233,139,108,36,32,137,193,252,233,244,
- 2,248,7,128,165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,3,
- 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,41,139,
- 44,252,234,59,133,233,15,131,244,41,193,224,3,3,133,233,129,120,253,4,239,
- 15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,72,139,12,202,
- 72,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,
- 235,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,235,
- 15,132,244,41,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139,139,
- 233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,137,124,36,
- 80,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15,133,
- 244,253,248,2,139,68,36,84,131,232,1,15,132,244,250,1,252,248,59,133,233,
- 15,135,244,251,41,252,248,193,231,3,3,189,233,248,3,72,139,41,131,193,8,72,
- 137,47,131,199,8,131,232,1,15,133,244,3,248,4,139,124,36,80,139,6,15,182,
- 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,5,139,76,36,96,
- 137,145,233,137,252,234,65,137,192,137,205,137,116,36,100,232,251,1,37,139,
- 149,233,15,182,78,252,253,252,233,244,1,248,7,255,128,165,233,235,139,131,
- 233,137,171,233,137,133,233,252,233,244,2,255,3,68,36,84,255,129,124,253,
- 202,4,239,139,44,202,15,133,244,59,141,84,202,8,137,114,252,252,139,181,233,
- 139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,255,141,76,
- 202,8,137,215,139,105,252,248,129,121,253,252,252,239,15,133,244,29,248,60,
- 139,114,252,252,252,247,198,237,15,133,244,253,248,1,137,106,252,248,137,
- 68,36,84,131,232,1,15,132,244,249,248,2,72,139,41,131,193,8,72,137,47,131,
- 199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,84,128,189,233,
- 1,15,135,244,251,248,4,139,181,233,139,14,15,182,252,233,15,182,205,131,198,
- 4,252,255,36,252,235,248,5,255,252,247,198,237,15,133,244,4,15,182,78,252,
- 253,72,252,247,209,141,12,202,139,121,252,248,139,191,233,139,191,233,252,
- 233,244,4,248,7,129,252,238,239,252,247,198,237,15,133,244,254,41,252,242,
- 137,215,139,114,252,252,252,233,244,1,248,8,129,198,239,252,233,244,1,255,
- 141,76,202,8,72,139,105,232,72,139,65,252,240,72,137,41,72,137,65,8,139,105,
- 224,139,65,228,137,105,252,248,137,65,252,252,129,252,248,239,184,237,15,
- 133,244,29,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,
- 205,131,198,4,252,255,36,252,235,255,137,124,36,80,137,92,36,84,139,108,202,
- 252,240,139,68,202,252,248,139,157,233,131,198,4,139,189,233,248,1,57,216,
- 15,131,244,251,129,124,253,199,4,239,15,132,244,250,255,219,68,202,252,248,
- 255,72,139,44,199,72,137,108,202,8,131,192,1,255,137,68,202,252,248,248,2,
- 15,183,70,252,254,141,180,253,134,233,248,3,139,92,36,84,139,124,36,80,139,
- 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,4,131,
- 192,1,255,137,68,202,252,248,255,252,233,244,1,248,5,41,216,248,6,59,133,
- 233,15,135,244,3,105,252,248,239,3,189,233,129,191,233,239,15,132,244,253,
- 141,92,24,1,72,139,175,233,72,139,135,233,72,137,44,202,72,137,68,202,8,137,
- 92,202,252,248,252,233,244,2,248,7,131,192,1,252,233,244,6,255,129,124,253,
- 202,252,236,239,15,133,244,251,139,108,202,232,129,124,253,202,252,244,239,
- 15,133,244,251,129,124,253,202,252,252,239,15,133,244,251,128,189,233,235,
- 15,133,244,251,141,180,253,134,233,199,68,202,252,248,0,0,0,0,248,1,139,6,
- 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,5,198,70,
- 252,252,235,141,180,253,134,233,198,6,235,252,233,244,1,255,15,182,252,236,
- 15,182,192,137,124,36,80,141,188,253,194,233,141,12,202,43,122,252,252,133,
- 252,237,15,132,244,251,141,108,252,233,252,248,57,215,15,131,244,248,248,
- 1,72,139,71,252,248,131,199,8,72,137,1,131,193,8,57,252,233,15,131,244,249,
- 57,215,15,130,244,1,248,2,199,65,4,237,131,193,8,57,252,233,15,130,244,2,
- 248,3,139,124,36,80,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
- 255,36,252,235,248,5,199,68,36,84,1,0,0,0,137,208,41,252,248,15,134,244,3,
- 137,197,193,252,237,3,131,197,1,137,108,36,84,139,108,36,96,1,200,59,133,
- 233,15,135,244,253,248,6,255,72,139,71,252,248,131,199,8,72,137,1,131,193,
- 8,57,215,15,130,244,6,252,233,244,3,248,7,137,149,233,137,141,233,137,116,
- 36,100,41,215,139,84,36,84,131,252,234,1,137,252,233,232,251,1,0,139,149,
- 233,139,141,233,1,215,252,233,244,6,255,193,225,3,255,248,1,139,114,252,252,
- 137,68,36,84,252,247,198,237,15,133,244,253,255,248,13,137,215,131,232,1,
- 15,132,244,249,248,2,72,139,44,15,72,137,111,252,248,131,199,8,131,232,1,
- 15,133,244,2,248,3,139,68,36,84,15,182,110,252,255,248,5,57,197,15,135,244,
- 252,255,72,139,44,10,72,137,106,252,248,255,248,5,56,70,252,255,15,135,244,
- 252,255,15,182,78,252,253,72,252,247,209,141,20,202,139,122,252,248,139,191,
- 233,139,191,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
- 36,252,235,248,6,255,199,71,252,252,237,131,199,8,255,199,68,194,252,244,
- 237,255,131,192,1,252,233,244,5,248,7,141,174,233,252,247,197,237,15,133,
- 244,14,41,252,234,255,1,252,233,255,137,252,245,209,252,237,129,229,239,102,
- 129,172,253,43,233,238,15,130,244,149,255,141,12,202,255,129,121,253,4,239,
- 15,133,244,255,255,129,121,253,12,239,15,133,244,61,129,121,253,20,239,15,
- 133,244,61,139,41,131,121,16,0,15,140,244,251,255,129,121,253,12,239,15,133,
- 244,165,129,121,253,20,239,15,133,244,165,255,139,105,16,133,252,237,15,136,
- 244,251,3,41,15,128,244,247,137,41,255,59,105,8,199,65,28,237,137,105,24,
- 255,15,142,244,253,248,1,248,6,141,180,253,134,233,255,141,180,253,134,233,
- 15,183,70,252,254,15,142,245,248,1,248,6,255,15,143,244,253,248,6,141,180,
- 253,134,233,248,1,255,248,7,139,6,15,182,204,15,182,232,131,198,4,193,232,
- 16,252,255,36,252,235,248,5,255,3,41,15,128,244,1,137,41,255,15,141,244,7,
- 255,141,180,253,134,233,15,183,70,252,254,15,141,245,255,15,140,244,7,255,
- 252,233,244,6,248,9,255,129,121,253,4,239,255,15,131,244,61,129,121,253,12,
- 239,15,131,244,61,255,129,121,253,12,239,15,131,244,165,129,121,253,20,239,
- 15,131,244,165,255,139,105,20,255,129,252,253,239,15,131,244,61,255,252,242,
- 15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,
- 237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15,
- 17,65,24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15,
- 136,244,247,255,221,81,24,15,140,244,247,255,217,201,248,1,255,15,183,70,
- 252,254,255,15,131,244,7,255,15,131,244,248,141,180,253,134,233,255,141,180,
- 253,134,233,15,183,70,252,254,15,131,245,255,15,130,244,7,255,15,130,244,
- 248,141,180,253,134,233,255,248,3,102,15,46,193,252,233,244,1,255,141,12,
- 202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252,252,139,41,137,
- 105,252,248,252,233,245,255,141,180,253,134,233,139,1,137,105,252,252,137,
- 65,252,248,255,139,139,233,139,4,129,72,139,128,233,139,108,36,96,137,147,
- 233,137,171,233,76,137,100,36,80,76,137,108,36,32,76,137,116,36,24,76,137,
- 124,36,16,72,137,225,72,129,252,236,239,102,15,127,49,102,15,127,185,233,
- 102,68,15,127,129,233,102,68,15,127,137,233,102,68,15,127,145,233,102,68,
- 15,127,153,233,102,68,15,127,161,233,102,68,15,127,169,233,102,68,15,127,
- 177,233,102,68,15,127,185,233,252,255,224,255,141,180,253,134,233,139,6,15,
- 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,137,252,245,
- 209,252,237,129,229,239,102,129,172,253,43,233,238,15,130,244,151,255,139,
- 190,233,139,108,36,96,141,12,202,59,141,233,15,135,244,24,15,182,142,233,
- 57,200,15,134,244,249,248,2,255,15,183,70,252,254,252,233,245,255,248,3,199,
- 68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,255,141,44,
- 197,237,141,4,194,139,122,252,248,137,104,252,252,137,120,252,248,139,108,
- 36,96,141,12,200,59,141,233,15,135,244,23,137,209,137,194,15,182,174,233,
- 133,252,237,15,132,244,248,248,1,131,193,8,57,209,15,131,244,249,139,121,
- 252,248,137,56,139,121,252,252,137,120,4,131,192,8,199,65,252,252,237,131,
- 252,237,1,15,133,244,1,248,2,255,139,190,233,139,6,15,182,204,15,182,232,
- 131,198,4,193,232,16,252,255,36,252,235,255,248,3,199,64,4,237,131,192,8,
- 131,252,237,1,15,133,244,3,252,233,244,2,255,139,106,252,248,72,139,189,233,
- 139,108,36,96,141,68,194,252,248,137,149,233,141,136,233,59,141,233,137,133,
- 233,255,72,137,252,250,137,252,233,255,15,135,244,22,199,131,233,237,255,
- 252,255,215,255,252,255,147,233,255,199,131,233,237,139,149,233,141,12,194,
- 252,247,217,3,141,233,139,114,252,252,252,233,244,12,255,254,0
-};
-
-enum {
- GLOB_vm_returnp,
- GLOB_cont_dispatch,
- GLOB_vm_returnc,
- GLOB_BC_RET_Z,
- GLOB_vm_return,
- GLOB_vm_leave_cp,
- GLOB_vm_leave_unw,
- GLOB_vm_unwind_c,
- GLOB_vm_unwind_c_eh,
- GLOB_vm_unwind_rethrow,
- GLOB_vm_unwind_ff,
- GLOB_vm_unwind_ff_eh,
- GLOB_vm_growstack_c,
- GLOB_vm_growstack_v,
- GLOB_vm_growstack_f,
- GLOB_vm_resume,
- GLOB_vm_pcall,
- GLOB_vm_call,
- GLOB_vm_call_dispatch,
- GLOB_vmeta_call,
- GLOB_vm_call_dispatch_f,
- GLOB_vm_cpcall,
- GLOB_cont_ffi_callback,
- GLOB_vm_call_tail,
- GLOB_cont_cat,
- GLOB_cont_ra,
- GLOB_BC_CAT_Z,
- GLOB_vmeta_tgets,
- GLOB_vmeta_tgetb,
- GLOB_vmeta_tgetv,
- GLOB_vmeta_tsets,
- GLOB_vmeta_tsetb,
- GLOB_vmeta_tsetv,
- GLOB_cont_nop,
- GLOB_vmeta_comp,
- GLOB_vmeta_binop,
- GLOB_cont_condt,
- GLOB_cont_condf,
- GLOB_vmeta_equal,
- GLOB_vmeta_equal_cd,
- GLOB_vmeta_arith_vno,
- GLOB_vmeta_arith_vn,
- GLOB_vmeta_arith_nvo,
- GLOB_vmeta_arith_nv,
- GLOB_vmeta_unm,
- GLOB_vmeta_arith_vvo,
- GLOB_vmeta_arith_vv,
- GLOB_vmeta_len,
- GLOB_BC_LEN_Z,
- GLOB_vmeta_call_ra,
- GLOB_BC_CALLT_Z,
- GLOB_vmeta_for,
- GLOB_ff_assert,
- GLOB_fff_fallback,
- GLOB_fff_res_,
- GLOB_ff_type,
- GLOB_fff_res1,
- GLOB_ff_getmetatable,
- GLOB_ff_setmetatable,
- GLOB_ff_rawget,
- GLOB_ff_tonumber,
- GLOB_fff_resi,
- GLOB_fff_resxmm0,
- GLOB_fff_resn,
- GLOB_ff_tostring,
- GLOB_fff_gcstep,
- GLOB_ff_next,
- GLOB_fff_res2,
- GLOB_fff_res,
- GLOB_ff_pairs,
- GLOB_ff_ipairs_aux,
- GLOB_fff_res0,
- GLOB_ff_ipairs,
- GLOB_ff_pcall,
- GLOB_ff_xpcall,
- GLOB_ff_coroutine_resume,
- GLOB_ff_coroutine_wrap_aux,
- GLOB_ff_coroutine_yield,
- GLOB_ff_math_abs,
- GLOB_fff_resbit,
- GLOB_ff_math_floor,
- GLOB_vm_floor,
- GLOB_ff_math_ceil,
- GLOB_vm_ceil,
- GLOB_ff_math_sqrt,
- GLOB_ff_math_log,
- GLOB_ff_math_log10,
- GLOB_ff_math_exp,
- GLOB_vm_exp_x87,
- GLOB_ff_math_sin,
- GLOB_ff_math_cos,
- GLOB_ff_math_tan,
- GLOB_ff_math_asin,
- GLOB_ff_math_acos,
- GLOB_ff_math_atan,
- GLOB_ff_math_sinh,
- GLOB_ff_math_cosh,
- GLOB_ff_math_tanh,
- GLOB_ff_math_deg,
- GLOB_ff_math_rad,
- GLOB_ff_math_atan2,
- GLOB_ff_math_ldexp,
- GLOB_ff_math_frexp,
- GLOB_ff_math_modf,
- GLOB_vm_trunc,
- GLOB_ff_math_fmod,
- GLOB_ff_math_pow,
- GLOB_vm_pow,
- GLOB_ff_math_min,
- GLOB_ff_math_max,
- GLOB_ff_string_len,
- GLOB_ff_string_byte,
- GLOB_ff_string_char,
- GLOB_fff_newstr,
- GLOB_ff_string_sub,
- GLOB_fff_emptystr,
- GLOB_ff_string_rep,
- GLOB_fff_fallback_2,
- GLOB_ff_string_reverse,
- GLOB_fff_fallback_1,
- GLOB_ff_string_lower,
- GLOB_ff_string_upper,
- GLOB_ff_table_getn,
- GLOB_ff_bit_tobit,
- GLOB_ff_bit_band,
- GLOB_fff_fallback_bit_op,
- GLOB_ff_bit_bor,
- GLOB_ff_bit_bxor,
- GLOB_ff_bit_bswap,
- GLOB_ff_bit_bnot,
- GLOB_ff_bit_lshift,
- GLOB_ff_bit_rshift,
- GLOB_ff_bit_arshift,
- GLOB_ff_bit_rol,
- GLOB_ff_bit_ror,
- GLOB_vm_record,
- GLOB_vm_rethook,
- GLOB_vm_inshook,
- GLOB_cont_hook,
- GLOB_vm_hotloop,
- GLOB_vm_callhook,
- GLOB_vm_hotcall,
- GLOB_vm_exit_handler,
- GLOB_vm_exit_interp,
- GLOB_vm_floor_sse,
- GLOB_vm_ceil_sse,
- GLOB_vm_trunc_sse,
- GLOB_vm_mod,
- GLOB_vm_exp2_x87,
- GLOB_vm_exp2raw,
- GLOB_vm_pow_sse,
- GLOB_vm_powi_sse,
- GLOB_vm_foldfpm,
- GLOB_vm_foldarith,
- GLOB_vm_cpuid,
- GLOB_assert_bad_for_arg_type,
- GLOB_vm_ffi_callback,
- GLOB_vm_ffi_call,
- GLOB_BC_MODVN_Z,
- GLOB_BC_TGETS_Z,
- GLOB_BC_TSETS_Z,
- GLOB__MAX
-};
-static const char *const globnames[] = {
- "vm_returnp",
- "cont_dispatch",
- "vm_returnc",
- "BC_RET_Z",
- "vm_return",
- "vm_leave_cp",
- "vm_leave_unw",
- "vm_unwind_c@8",
- "vm_unwind_c_eh",
- "vm_unwind_rethrow",
- "vm_unwind_ff@4",
- "vm_unwind_ff_eh",
- "vm_growstack_c",
- "vm_growstack_v",
- "vm_growstack_f",
- "vm_resume",
- "vm_pcall",
- "vm_call",
- "vm_call_dispatch",
- "vmeta_call",
- "vm_call_dispatch_f",
- "vm_cpcall",
- "cont_ffi_callback",
- "vm_call_tail",
- "cont_cat",
- "cont_ra",
- "BC_CAT_Z",
- "vmeta_tgets",
- "vmeta_tgetb",
- "vmeta_tgetv",
- "vmeta_tsets",
- "vmeta_tsetb",
- "vmeta_tsetv",
- "cont_nop",
- "vmeta_comp",
- "vmeta_binop",
- "cont_condt",
- "cont_condf",
- "vmeta_equal",
- "vmeta_equal_cd",
- "vmeta_arith_vno",
- "vmeta_arith_vn",
- "vmeta_arith_nvo",
- "vmeta_arith_nv",
- "vmeta_unm",
- "vmeta_arith_vvo",
- "vmeta_arith_vv",
- "vmeta_len",
- "BC_LEN_Z",
- "vmeta_call_ra",
- "BC_CALLT_Z",
- "vmeta_for",
- "ff_assert",
- "fff_fallback",
- "fff_res_",
- "ff_type",
- "fff_res1",
- "ff_getmetatable",
- "ff_setmetatable",
- "ff_rawget",
- "ff_tonumber",
- "fff_resi",
- "fff_resxmm0",
- "fff_resn",
- "ff_tostring",
- "fff_gcstep",
- "ff_next",
- "fff_res2",
- "fff_res",
- "ff_pairs",
- "ff_ipairs_aux",
- "fff_res0",
- "ff_ipairs",
- "ff_pcall",
- "ff_xpcall",
- "ff_coroutine_resume",
- "ff_coroutine_wrap_aux",
- "ff_coroutine_yield",
- "ff_math_abs",
- "fff_resbit",
- "ff_math_floor",
- "vm_floor",
- "ff_math_ceil",
- "vm_ceil",
- "ff_math_sqrt",
- "ff_math_log",
- "ff_math_log10",
- "ff_math_exp",
- "vm_exp_x87",
- "ff_math_sin",
- "ff_math_cos",
- "ff_math_tan",
- "ff_math_asin",
- "ff_math_acos",
- "ff_math_atan",
- "ff_math_sinh",
- "ff_math_cosh",
- "ff_math_tanh",
- "ff_math_deg",
- "ff_math_rad",
- "ff_math_atan2",
- "ff_math_ldexp",
- "ff_math_frexp",
- "ff_math_modf",
- "vm_trunc",
- "ff_math_fmod",
- "ff_math_pow",
- "vm_pow",
- "ff_math_min",
- "ff_math_max",
- "ff_string_len",
- "ff_string_byte",
- "ff_string_char",
- "fff_newstr",
- "ff_string_sub",
- "fff_emptystr",
- "ff_string_rep",
- "fff_fallback_2",
- "ff_string_reverse",
- "fff_fallback_1",
- "ff_string_lower",
- "ff_string_upper",
- "ff_table_getn",
- "ff_bit_tobit",
- "ff_bit_band",
- "fff_fallback_bit_op",
- "ff_bit_bor",
- "ff_bit_bxor",
- "ff_bit_bswap",
- "ff_bit_bnot",
- "ff_bit_lshift",
- "ff_bit_rshift",
- "ff_bit_arshift",
- "ff_bit_rol",
- "ff_bit_ror",
- "vm_record",
- "vm_rethook",
- "vm_inshook",
- "cont_hook",
- "vm_hotloop",
- "vm_callhook",
- "vm_hotcall",
- "vm_exit_handler",
- "vm_exit_interp",
- "vm_floor_sse",
- "vm_ceil_sse",
- "vm_trunc_sse",
- "vm_mod",
- "vm_exp2_x87",
- "vm_exp2raw",
- "vm_pow_sse",
- "vm_powi_sse",
- "vm_foldfpm",
- "vm_foldarith",
- "vm_cpuid",
- "assert_bad_for_arg_type",
- "vm_ffi_callback",
- "vm_ffi_call@4",
- "BC_MODVN_Z",
- "BC_TGETS_Z",
- "BC_TSETS_Z",
- (const char *)0
-};
-static const char *const extnames[] = {
- "lj_state_growstack@8",
- "lj_meta_tget",
- "lj_meta_tset",
- "lj_meta_comp",
- "lj_meta_equal",
- "lj_meta_equal_cd@8",
- "lj_meta_arith",
- "lj_meta_len@8",
- "lj_meta_call",
- "lj_meta_for@8",
- "lj_tab_get",
- "lj_str_fromnumber@8",
- "lj_str_fromnum@8",
- "lj_tab_next",
- "lj_tab_getinth@8",
- "lj_ffh_coroutine_wrap_err@8",
- "lj_vm_sinh",
- "lj_vm_cosh",
- "lj_vm_tanh",
- "lj_str_new",
- "lj_tab_len@4",
- "lj_gc_step@4",
- "lj_dispatch_ins@8",
- "lj_trace_hot@8",
- "lj_dispatch_call@8",
- "lj_trace_exit@8",
- "lj_err_throw@8",
- "lj_ccallback_enter@8",
- "lj_ccallback_leave@8",
- "lj_meta_cat",
- "lj_gc_barrieruv@8",
- "lj_func_closeuv@8",
- "lj_func_newL_gc",
- "lj_tab_new",
- "lj_gc_step_fixtop@4",
- "lj_tab_dup@8",
- "lj_tab_newkey",
- "lj_tab_reasize",
- (const char *)0
-};
-#define Dt1(_V) (int)(ptrdiff_t)&(((lua_State *)0)_V)
-#define Dt2(_V) (int)(ptrdiff_t)&(((global_State *)0)_V)
-#define Dt3(_V) (int)(ptrdiff_t)&(((TValue *)0)_V)
-#define Dt4(_V) (int)(ptrdiff_t)&(((GCobj *)0)_V)
-#define Dt5(_V) (int)(ptrdiff_t)&(((GCstr *)0)_V)
-#define Dt6(_V) (int)(ptrdiff_t)&(((GCtab *)0)_V)
-#define Dt7(_V) (int)(ptrdiff_t)&(((GCfuncL *)0)_V)
-#define Dt8(_V) (int)(ptrdiff_t)&(((GCfuncC *)0)_V)
-#define Dt9(_V) (int)(ptrdiff_t)&(((GCproto *)0)_V)
-#define DtA(_V) (int)(ptrdiff_t)&(((GCupval *)0)_V)
-#define DtB(_V) (int)(ptrdiff_t)&(((Node *)0)_V)
-#define DtC(_V) (int)(ptrdiff_t)&(((int *)0)_V)
-#define DtD(_V) (int)(ptrdiff_t)&(((GCtrace *)0)_V)
-#define DISPATCH_GL(field) (GG_DISP2G + (int)offsetof(global_State, field))
-#define DISPATCH_J(field) (GG_DISP2J + (int)offsetof(jit_State, field))
-#define PC2PROTO(field) ((int)offsetof(GCproto, field)-(int)sizeof(GCproto))
-
-/* Generate subroutines used by opcodes and other parts of the VM. */
-/* The .code_sub section should be last to help static branch prediction. */
-static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
-{
- dasm_put(Dst, 0);
- dasm_put(Dst, 2, FRAME_P, LJ_TTRUE, FRAME_TYPE, FRAME_C, FRAME_TYPE, DISPATCH_GL(vmstate), ~LJ_VMST_C);
- dasm_put(Dst, 109, Dt1(->base), Dt1(->top), Dt1(->cframe), Dt1(->maxstack), LJ_TNIL);
- dasm_put(Dst, 198, Dt1(->top), Dt1(->top), Dt1(->glref), Dt2(->vmstate), ~LJ_VMST_C, CFRAME_RAWMASK);
- dasm_put(Dst, 276, 1+1, Dt1(->base), Dt1(->glref), GG_G2DISP, LJ_TFALSE, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, LUA_MINSTACK, -4+PC2PROTO(framesize), Dt1(->base));
- dasm_put(Dst, 356, Dt1(->top), Dt1(->base), Dt1(->top), Dt7(->pc), FRAME_CP, CFRAME_RESUME, Dt1(->glref), GG_G2DISP, Dt1(->cframe), Dt1(->status), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->status), Dt1(->base), Dt1(->top), FRAME_TYPE);
- dasm_put(Dst, 511, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base));
- dasm_put(Dst, 604, Dt1(->top), LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL);
-#if LJ_HASFFI
- dasm_put(Dst, 764);
-#endif
- dasm_put(Dst, 773, 0);
-#if LJ_HASFFI
-#endif
- dasm_put(Dst, 782, Dt7(->pc), PC2PROTO(k));
-#if LJ_HASFFI
- dasm_put(Dst, 796);
-#endif
- dasm_put(Dst, 817, Dt1(->base), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 917, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 927);
- } else {
- }
- dasm_put(Dst, 940, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET);
- dasm_put(Dst, 1087, DISPATCH_GL(tmptv), LJ_TTAB);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 917, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 927);
- } else {
- }
- dasm_put(Dst, 1110, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base));
- dasm_put(Dst, 1283, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base));
- dasm_put(Dst, 1383);
-#if LJ_HASFFI
- dasm_put(Dst, 1403, Dt1(->base));
-#endif
- dasm_put(Dst, 1434);
-#if LJ_DUALNUM
- dasm_put(Dst, 1437);
-#endif
- dasm_put(Dst, 1443);
-#if LJ_DUALNUM
- dasm_put(Dst, 911);
-#endif
- dasm_put(Dst, 1455);
-#if LJ_DUALNUM
- dasm_put(Dst, 1437);
-#endif
- dasm_put(Dst, 1483, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base));
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 1589);
-#else
- dasm_put(Dst, 1608);
-#endif
- dasm_put(Dst, 1613, Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND);
- dasm_put(Dst, 1799, 1+1, ~LJ_TNUMX);
- if (cmov) {
- dasm_put(Dst, 1868);
- } else {
- dasm_put(Dst, 1872);
- }
- dasm_put(Dst, 1881, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL);
- dasm_put(Dst, 1960, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next));
- dasm_put(Dst, 2017, LJ_TNIL, LJ_TUDATA, LJ_TNUMX, LJ_TISNUM, LJ_TLIGHTUD);
- dasm_put(Dst, 2083, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB);
- dasm_put(Dst, 2153, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB);
- dasm_put(Dst, 2242, 1+1, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 2256);
- } else {
- dasm_put(Dst, 2273);
- }
- if (sse) {
- dasm_put(Dst, 2278);
- } else {
- dasm_put(Dst, 2288);
- }
- dasm_put(Dst, 2295, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
- dasm_put(Dst, 2361, Dt1(->base));
- if (LJ_DUALNUM) {
- dasm_put(Dst, 2385);
- } else {
- dasm_put(Dst, 2390);
- }
- dasm_put(Dst, 2395, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2);
- dasm_put(Dst, 2488, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB);
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 2535, Dt6(->metatable));
-#endif
- dasm_put(Dst, 2544, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 2530);
- } else {
- dasm_put(Dst, 2273);
- }
- dasm_put(Dst, 2599);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 2604, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 2620, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
- } else {
- }
- dasm_put(Dst, 2653, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0);
- dasm_put(Dst, 2515, 1+1, LJ_TTAB);
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 2535, Dt6(->metatable));
-#endif
- dasm_put(Dst, 2730, Dt8(->upvalue[0]), LJ_TFUNC);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 2751, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 2763);
- } else {
- dasm_put(Dst, 2773);
- }
- dasm_put(Dst, 2780, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC);
- dasm_put(Dst, 2844, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top));
- dasm_put(Dst, 2934, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
- dasm_put(Dst, 3022, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE);
- dasm_put(Dst, 3135, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
- dasm_put(Dst, 3233, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
- dasm_put(Dst, 3300, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
- dasm_put(Dst, 3388, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
- dasm_put(Dst, 3500, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
- if (!LJ_DUALNUM) {
- dasm_put(Dst, 3527);
- }
- if (sse) {
- dasm_put(Dst, 3530);
- }
- dasm_put(Dst, 3545, 1+1);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3556, LJ_TISNUM, LJ_TISNUM);
- } else {
- dasm_put(Dst, 3636, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 3646, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
- } else {
- dasm_put(Dst, 3677);
- }
- dasm_put(Dst, 3694, 1+1, FRAME_TYPE, LJ_TNIL);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3790, LJ_TISNUM);
- } else {
- dasm_put(Dst, 3636, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 3812);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3821);
- }
- dasm_put(Dst, 2283);
- } else {
- dasm_put(Dst, 3855);
- if (LJ_DUALNUM) {
- } else {
- dasm_put(Dst, 2290);
- }
- }
- dasm_put(Dst, 3861);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3790, LJ_TISNUM);
- } else {
- dasm_put(Dst, 3636, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 3864);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3821);
- }
- dasm_put(Dst, 2283);
- } else {
- dasm_put(Dst, 3873);
- if (LJ_DUALNUM) {
- } else {
- dasm_put(Dst, 2290);
- }
- }
- if (sse) {
- dasm_put(Dst, 3879, 1+1, LJ_TISNUM);
- } else {
- dasm_put(Dst, 3908, 1+1, LJ_TISNUM);
- }
- dasm_put(Dst, 3937, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
- dasm_put(Dst, 4006, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
- dasm_put(Dst, 4063, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
- dasm_put(Dst, 4126, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
- dasm_put(Dst, 4216);
- if (sse) {
- dasm_put(Dst, 4228, 1+1, LJ_TISNUM);
- } else {
- }
- dasm_put(Dst, 4253);
- if (sse) {
- dasm_put(Dst, 4267, 1+1, LJ_TISNUM);
- } else {
- }
- dasm_put(Dst, 4292);
- if (sse) {
- dasm_put(Dst, 4306, 1+1, LJ_TISNUM);
- } else {
- }
- dasm_put(Dst, 4331);
- if (sse) {
- dasm_put(Dst, 4347, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
- } else {
- dasm_put(Dst, 4386, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
- }
- dasm_put(Dst, 4419, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM);
- dasm_put(Dst, 4484, 1+1, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 4583);
- } else {
- dasm_put(Dst, 4589);
- }
- dasm_put(Dst, 4598);
- if (sse) {
- dasm_put(Dst, 4623);
- } else {
- dasm_put(Dst, 4629);
- }
- dasm_put(Dst, 4632, 1+2);
- if (sse) {
- dasm_put(Dst, 4641);
- } else {
- dasm_put(Dst, 4649);
- }
- dasm_put(Dst, 4657);
- if (sse) {
- dasm_put(Dst, 4660, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32));
- } else {
- dasm_put(Dst, 4687);
- }
- dasm_put(Dst, 4706);
- if (sse) {
- dasm_put(Dst, 4722, 1+1, LJ_TISNUM);
- } else {
- dasm_put(Dst, 4747, 1+1, LJ_TISNUM);
- }
- dasm_put(Dst, 4769);
- if (sse) {
- dasm_put(Dst, 4791);
- } else {
- dasm_put(Dst, 4817);
- }
- dasm_put(Dst, 4834, 1+2);
- if (sse) {
- dasm_put(Dst, 4874);
- } else {
- dasm_put(Dst, 4882);
- }
- dasm_put(Dst, 4892, 2+1, LJ_TISNUM, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 4944, 2+1, LJ_TISNUM, LJ_TISNUM);
- } else {
- dasm_put(Dst, 4991, 2+1, LJ_TISNUM, LJ_TISNUM);
- }
- dasm_put(Dst, 5032, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5045, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 4583);
- } else {
- }
- dasm_put(Dst, 5095);
- } else {
- dasm_put(Dst, 2273);
- }
- if (sse) {
- dasm_put(Dst, 5106, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5127);
- } else {
- dasm_put(Dst, 2273);
- }
- dasm_put(Dst, 5148);
- } else {
- }
- dasm_put(Dst, 5173, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5186, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 4583);
- } else {
- }
- dasm_put(Dst, 5095);
- } else {
- dasm_put(Dst, 2273);
- }
- if (sse) {
- dasm_put(Dst, 5106, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5127);
- } else {
- dasm_put(Dst, 2273);
- }
- dasm_put(Dst, 5236);
- } else {
- }
- if (!sse) {
- dasm_put(Dst, 5261);
- }
- dasm_put(Dst, 5270, 1+1, LJ_TSTR);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5292, Dt5(->len));
- } else if (sse) {
- dasm_put(Dst, 5300, Dt5(->len));
- } else {
- dasm_put(Dst, 5311, Dt5(->len));
- }
- dasm_put(Dst, 5319, 1+1, LJ_TSTR, Dt5(->len), Dt5([1]));
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5295);
- } else if (sse) {
- dasm_put(Dst, 5357);
- } else {
- dasm_put(Dst, 5367);
- }
- dasm_put(Dst, 5380, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5411);
- } else if (sse) {
- dasm_put(Dst, 5434);
- } else {
- dasm_put(Dst, 5460);
- }
- dasm_put(Dst, 5484, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5592);
- } else if (sse) {
- dasm_put(Dst, 5604);
- } else {
- dasm_put(Dst, 5619);
- }
- dasm_put(Dst, 5631, LJ_TSTR, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 2530);
- } else {
- dasm_put(Dst, 2273);
- }
- dasm_put(Dst, 5648, Dt5(->len));
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5658);
- } else if (sse) {
- dasm_put(Dst, 5662);
- } else {
- }
- dasm_put(Dst, 5669, sizeof(GCstr)-1);
- dasm_put(Dst, 5744, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
- dasm_put(Dst, 5803, LJ_TSTR, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5820);
- } else if (sse) {
- dasm_put(Dst, 5828);
- } else {
- dasm_put(Dst, 5839);
- }
- dasm_put(Dst, 5855, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1);
- dasm_put(Dst, 5920, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
- dasm_put(Dst, 5983, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
- dasm_put(Dst, 6054, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1);
- dasm_put(Dst, 6139, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
- dasm_put(Dst, 6209, 1+1, LJ_TTAB);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6277);
- } else if (sse) {
- dasm_put(Dst, 6284);
- } else {
- }
- dasm_put(Dst, 6294, 1+1, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6310);
- } else {
- dasm_put(Dst, 2273);
- }
- if (sse) {
- dasm_put(Dst, 6327, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
- } else {
- }
- dasm_put(Dst, 106);
- if (LJ_DUALNUM || sse) {
- if (!sse) {
- }
- dasm_put(Dst, 6351);
- } else {
- }
- dasm_put(Dst, 6356, 1+1);
- if (sse) {
- dasm_put(Dst, 6367, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
- } else {
- dasm_put(Dst, 6377);
- }
- dasm_put(Dst, 2250, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6386);
- } else {
- dasm_put(Dst, 2273);
- }
- if (sse) {
- dasm_put(Dst, 6403);
- } else {
- }
- dasm_put(Dst, 6418, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6443);
- } else {
- dasm_put(Dst, 6463);
- }
- if (sse) {
- dasm_put(Dst, 6468);
- } else {
- }
- dasm_put(Dst, 6485, 1+1);
- if (sse) {
- dasm_put(Dst, 6367, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
- } else {
- dasm_put(Dst, 6377);
- }
- dasm_put(Dst, 2250, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6386);
- } else {
- dasm_put(Dst, 2273);
- }
- if (sse) {
- dasm_put(Dst, 6403);
- } else {
- }
- dasm_put(Dst, 6418, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6503);
- } else {
- dasm_put(Dst, 6463);
- }
- if (sse) {
- dasm_put(Dst, 6523);
- } else {
- }
- dasm_put(Dst, 6540, 1+1);
- if (sse) {
- dasm_put(Dst, 6367, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
- } else {
- dasm_put(Dst, 6377);
- }
- dasm_put(Dst, 2250, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6386);
- } else {
- dasm_put(Dst, 2273);
- }
- if (sse) {
- dasm_put(Dst, 6403);
- } else {
- }
- dasm_put(Dst, 6418, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6558);
- } else {
- dasm_put(Dst, 6463);
- }
- if (sse) {
- dasm_put(Dst, 6578);
- } else {
- }
- dasm_put(Dst, 6595, 1+1, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6386);
- } else {
- dasm_put(Dst, 2273);
- }
- if (sse) {
- dasm_put(Dst, 6327, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
- } else {
- }
- dasm_put(Dst, 6618, 1+1, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6386);
- } else {
- dasm_put(Dst, 2273);
- }
- if (sse) {
- dasm_put(Dst, 6327, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
- } else {
- }
- dasm_put(Dst, 6642);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6351);
- } else if (sse) {
- dasm_put(Dst, 6648);
- } else {
- }
- dasm_put(Dst, 6660);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6671, 1+1, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6386);
- } else {
- dasm_put(Dst, 2273);
- }
- if (sse) {
- dasm_put(Dst, 6327, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
- } else {
- }
- dasm_put(Dst, 6687, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 6702, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
- } else {
- }
- dasm_put(Dst, 6769);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6776, 1+1, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6386);
- } else {
- dasm_put(Dst, 2273);
- }
- if (sse) {
- dasm_put(Dst, 6327, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
- } else {
- }
- dasm_put(Dst, 6687, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 6792, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
- } else {
- }
- dasm_put(Dst, 6859);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6867, 1+1, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6386);
- } else {
- dasm_put(Dst, 2273);
- }
- if (sse) {
- dasm_put(Dst, 6327, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
- } else {
- }
- dasm_put(Dst, 6687, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 6883, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
- } else {
- }
- dasm_put(Dst, 6950);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6958, 1+1, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6386);
- } else {
- dasm_put(Dst, 2273);
- }
- if (sse) {
- dasm_put(Dst, 6327, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
- } else {
- }
- dasm_put(Dst, 6687, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 6974, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
- } else {
- }
- dasm_put(Dst, 7041);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 7048, 1+1, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6386);
- } else {
- dasm_put(Dst, 2273);
- }
- if (sse) {
- dasm_put(Dst, 6327, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
- } else {
- }
- dasm_put(Dst, 6687, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 7064, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
- } else {
- }
- dasm_put(Dst, 7131, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
- dasm_put(Dst, 7207, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
- dasm_put(Dst, 7334, Dt1(->top), Dt1(->base), Dt1(->top));
-#if LJ_HASJIT
- dasm_put(Dst, 7373, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
-#endif
- dasm_put(Dst, 7404, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
- dasm_put(Dst, 7455, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
-#if LJ_HASJIT
- dasm_put(Dst, 7522, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
-#endif
- dasm_put(Dst, 7569);
-#if LJ_HASJIT
- dasm_put(Dst, 7399);
-#endif
- dasm_put(Dst, 7576);
-#if LJ_HASJIT
- dasm_put(Dst, 7579);
-#endif
- dasm_put(Dst, 7589, Dt1(->base), Dt1(->top));
-#if LJ_HASJIT
- dasm_put(Dst, 7623);
-#endif
- dasm_put(Dst, 7628, Dt1(->base), Dt1(->top));
-#if LJ_HASJIT
- dasm_put(Dst, 7659, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8+4*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), 4*8, GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC);
-#endif
- dasm_put(Dst, 7889);
-#if LJ_HASJIT
- dasm_put(Dst, 7892, 9*16+4*8, -9*16, -8*16, -7*16, -6*16, -5*16, -4*16, -3*16, -2*16, -1*16, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF);
- dasm_put(Dst, 8034);
-#endif
- dasm_put(Dst, 8060);
- if (!sse) {
- dasm_put(Dst, 8063);
- }
- dasm_put(Dst, 8108, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
- if (!sse) {
- dasm_put(Dst, 8194);
- }
- dasm_put(Dst, 8239, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32));
- if (!sse) {
- dasm_put(Dst, 8325);
- }
- dasm_put(Dst, 8364, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
- if (sse) {
- dasm_put(Dst, 8453, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
- } else {
- dasm_put(Dst, 8567);
- }
- dasm_put(Dst, 8614);
- if (!sse) {
- } else {
- dasm_put(Dst, 8688);
- }
- dasm_put(Dst, 8691);
- dasm_put(Dst, 8776, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
- dasm_put(Dst, 8879, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32));
- dasm_put(Dst, 9035);
-#if LJ_HASJIT
- if (sse) {
- dasm_put(Dst, 9076);
- dasm_put(Dst, 9146);
- dasm_put(Dst, 9219);
- } else {
- dasm_put(Dst, 9269);
- dasm_put(Dst, 9361);
- }
- dasm_put(Dst, 9407);
-#endif
- dasm_put(Dst, 9411);
- if (sse) {
- dasm_put(Dst, 9414, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
- dasm_put(Dst, 9503, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
- } else {
- dasm_put(Dst, 9627);
- dasm_put(Dst, 9710);
- if (cmov) {
- dasm_put(Dst, 9765);
- } else {
- dasm_put(Dst, 9784);
- }
- dasm_put(Dst, 9407);
- }
- dasm_put(Dst, 9825);
-#ifdef LUA_USE_ASSERT
- dasm_put(Dst, 9409);
-#endif
- dasm_put(Dst, 9853);
-#if LJ_HASFFI
-#define DtE(_V) (int)(ptrdiff_t)&(((CTState *)0)_V)
- dasm_put(Dst, 9857, GG_G2DISP, Dt2(->ctype_state), DtE(->cb.slot), DtE(->cb.gpr[0]), DtE(->cb.gpr[1]), DtE(->cb.gpr[2]), DtE(->cb.gpr[3]), DtE(->cb.fpr[0]), DtE(->cb.fpr[1]), DtE(->cb.fpr[2]), DtE(->cb.fpr[3]), CFRAME_SIZE+4*8, DtE(->cb.stack), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top), Dt7(->pc));
-#endif
- dasm_put(Dst, 9984);
-#if LJ_HASFFI
- dasm_put(Dst, 9987, DISPATCH_GL(ctype_state), DtE(->L), Dt1(->base), Dt1(->top), DtE(->cb.gpr[0]), DtE(->cb.fpr[0]));
-#endif
- dasm_put(Dst, 10028);
-#if LJ_HASFFI
-#define DtF(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
- dasm_put(Dst, 10031, DtF(->spadj));
-#if LJ_TARGET_WINDOWS
-#endif
- dasm_put(Dst, 10046, DtF(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtF(->nfpr), DtF(->gpr[0]), DtF(->gpr[1]), DtF(->gpr[2]), DtF(->gpr[3]), DtF(->fpr[0]), DtF(->fpr[1]), DtF(->fpr[2]), DtF(->fpr[3]));
- dasm_put(Dst, 10127, DtF(->func), DtF(->gpr[0]), DtF(->fpr[0]));
-#if LJ_TARGET_WINDOWS
-#endif
- dasm_put(Dst, 10140);
-#endif
-}
-
-/* Generate the code for a single instruction. */
-static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
-{
- int vk = 0;
- dasm_put(Dst, 780, defop);
-
- switch (op) {
-
- /* -- Comparison ops ---------------------------------------------------- */
-
- /* Remember: all ops branch for a true comparison, fall through otherwise. */
-
-
- case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
- if (LJ_DUALNUM) {
- dasm_put(Dst, 10148, LJ_TISNUM, LJ_TISNUM);
- switch (op) {
- case BC_ISLT:
- dasm_put(Dst, 10178);
- break;
- case BC_ISGE:
- dasm_put(Dst, 10183);
- break;
- case BC_ISLE:
- dasm_put(Dst, 10188);
- break;
- case BC_ISGT:
- dasm_put(Dst, 10193);
- break;
- default: break; /* Shut up GCC. */
- }
- dasm_put(Dst, 10198, -BCBIAS_J*4, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 10252);
- } else {
- dasm_put(Dst, 10263);
- }
- dasm_put(Dst, 10274);
- if (sse) {
- dasm_put(Dst, 10281);
- switch (op) {
- case BC_ISLT:
- dasm_put(Dst, 10301);
- break;
- case BC_ISGE:
- dasm_put(Dst, 10306);
- break;
- case BC_ISLE:
- dasm_put(Dst, 10311);
- break;
- case BC_ISGT:
- dasm_put(Dst, 10316);
- break;
- default: break; /* Shut up GCC. */
- }
- dasm_put(Dst, 10321);
- } else {
- dasm_put(Dst, 10326);
- }
- } else {
- dasm_put(Dst, 10334, LJ_TISNUM, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 10355);
- } else {
- dasm_put(Dst, 10376);
- if (cmov) {
- dasm_put(Dst, 10392);
- } else {
- dasm_put(Dst, 10398);
- }
- }
- if (LJ_DUALNUM) {
- switch (op) {
- case BC_ISLT:
- dasm_put(Dst, 10301);
- break;
- case BC_ISGE:
- dasm_put(Dst, 10306);
- break;
- case BC_ISLE:
- dasm_put(Dst, 10311);
- break;
- case BC_ISGT:
- dasm_put(Dst, 10316);
- break;
- default: break; /* Shut up GCC. */
- }
- dasm_put(Dst, 10321);
- } else {
- switch (op) {
- case BC_ISLT:
- dasm_put(Dst, 768);
- break;
- case BC_ISGE:
- dasm_put(Dst, 10405);
- break;
- case BC_ISLE:
- dasm_put(Dst, 10410);
- break;
- case BC_ISGT:
- dasm_put(Dst, 10415);
- break;
- default: break; /* Shut up GCC. */
- }
- dasm_put(Dst, 10420, -BCBIAS_J*4);
- }
- break;
-
- case BC_ISEQV: case BC_ISNEV:
- vk = op == BC_ISEQV;
- dasm_put(Dst, 10452);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 10460, LJ_TISNUM, LJ_TISNUM);
- if (vk) {
- dasm_put(Dst, 10485);
- } else {
- dasm_put(Dst, 10490);
- }
- dasm_put(Dst, 10495, -BCBIAS_J*4, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 10547);
- } else {
- dasm_put(Dst, 10554);
- }
- dasm_put(Dst, 10558);
- if (sse) {
- dasm_put(Dst, 10569);
- } else {
- dasm_put(Dst, 10581);
- }
- dasm_put(Dst, 10588);
- } else {
- dasm_put(Dst, 10593, LJ_TISNUM, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 10612);
- } else {
- dasm_put(Dst, 10630);
- if (cmov) {
- dasm_put(Dst, 10392);
- } else {
- dasm_put(Dst, 10398);
- }
- }
- iseqne_fp:
- if (vk) {
- dasm_put(Dst, 10643);
- } else {
- dasm_put(Dst, 10652);
- }
- iseqne_end:
- if (vk) {
- dasm_put(Dst, 10661, -BCBIAS_J*4);
- if (!LJ_HASFFI) {
- dasm_put(Dst, 4638);
- }
- } else {
- if (!LJ_HASFFI) {
- dasm_put(Dst, 4638);
- }
- dasm_put(Dst, 10676, -BCBIAS_J*4);
- }
- if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV ||
- op == BC_ISEQN || op == BC_ISNEN)) {
- dasm_put(Dst, 10691);
- } else {
- dasm_put(Dst, 10432);
- }
- if (op == BC_ISEQV || op == BC_ISNEV) {
- dasm_put(Dst, 10124);
- if (LJ_HASFFI) {
- dasm_put(Dst, 10696, LJ_TCDATA, LJ_TCDATA);
- }
- dasm_put(Dst, 10715, LJ_TISPRI, LJ_TISTABUD, LJ_TUDATA, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
- if (vk) {
- dasm_put(Dst, 10779);
- } else {
- dasm_put(Dst, 10783);
- }
- dasm_put(Dst, 10789);
- } else if (LJ_HASFFI) {
- dasm_put(Dst, 10794, LJ_TCDATA);
- if (LJ_DUALNUM && vk) {
- dasm_put(Dst, 10801);
- } else {
- dasm_put(Dst, 10774);
- }
- dasm_put(Dst, 10806);
- }
- break;
- case BC_ISEQS: case BC_ISNES:
- vk = op == BC_ISEQS;
- dasm_put(Dst, 10811, LJ_TSTR);
- iseqne_test:
- if (vk) {
- dasm_put(Dst, 10647);
- } else {
- dasm_put(Dst, 2929);
- }
- goto iseqne_end;
- case BC_ISEQN: case BC_ISNEN:
- vk = op == BC_ISEQN;
- dasm_put(Dst, 10837);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 10845, LJ_TISNUM, LJ_TISNUM);
- if (vk) {
- dasm_put(Dst, 10485);
- } else {
- dasm_put(Dst, 10490);
- }
- dasm_put(Dst, 10870, -BCBIAS_J*4, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 10918);
- } else {
- dasm_put(Dst, 10925);
- }
- dasm_put(Dst, 10929);
- if (sse) {
- dasm_put(Dst, 10936);
- } else {
- dasm_put(Dst, 10948);
- }
- dasm_put(Dst, 10588);
- } else {
- dasm_put(Dst, 10955, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 10964);
- } else {
- dasm_put(Dst, 10982);
- if (cmov) {
- dasm_put(Dst, 10392);
- } else {
- dasm_put(Dst, 10398);
- }
- }
- goto iseqne_fp;
- case BC_ISEQP: case BC_ISNEP:
- vk = op == BC_ISEQP;
- dasm_put(Dst, 10995);
- if (!LJ_HASFFI) goto iseqne_test;
- if (vk) {
- dasm_put(Dst, 11009, -BCBIAS_J*4, LJ_TCDATA);
- } else {
- dasm_put(Dst, 11059, LJ_TCDATA, -BCBIAS_J*4);
- }
- break;
-
- /* -- Unary test and copy ops ------------------------------------------- */
-
- case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
- dasm_put(Dst, 11103, LJ_TISTRUECOND);
- if (op == BC_IST || op == BC_ISTC) {
- dasm_put(Dst, 10415);
- } else {
- dasm_put(Dst, 10410);
- }
- if (op == BC_ISTC || op == BC_ISFC) {
- dasm_put(Dst, 11115);
- }
- dasm_put(Dst, 10420, -BCBIAS_J*4);
- break;
-
- /* -- Unary ops --------------------------------------------------------- */
-
- case BC_MOV:
- dasm_put(Dst, 11126);
- break;
- case BC_NOT:
- dasm_put(Dst, 11154, LJ_TISTRUECOND, LJ_TTRUE);
- break;
- case BC_UNM:
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11190, LJ_TISNUM, LJ_TISNUM);
- } else {
- dasm_put(Dst, 11267, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 11278, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
- } else {
- dasm_put(Dst, 11303);
- }
- if (LJ_DUALNUM) {
- dasm_put(Dst, 10691);
- } else {
- dasm_put(Dst, 10432);
- }
- break;
- case BC_LEN:
- dasm_put(Dst, 11312, LJ_TSTR);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11326, Dt5(->len), LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 11340, Dt5(->len));
- } else {
- dasm_put(Dst, 11358, Dt5(->len));
- }
- dasm_put(Dst, 11367, LJ_TTAB);
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 11402, Dt6(->metatable));
-#endif
- dasm_put(Dst, 11416);
- if (LJ_DUALNUM) {
- } else if (sse) {
- dasm_put(Dst, 11425);
- } else {
- }
- dasm_put(Dst, 11431);
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 11444, Dt6(->nomm), 1<<MM_len);
-#endif
- break;
-
- /* -- Binary ops -------------------------------------------------------- */
-
-
- case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11460);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 11468, LJ_TISNUM, LJ_TISNUM);
- break;
- case 1:
- dasm_put(Dst, 11501, LJ_TISNUM, LJ_TISNUM);
- break;
- default:
- dasm_put(Dst, 11534, LJ_TISNUM, LJ_TISNUM);
- break;
- }
- dasm_put(Dst, 11567, LJ_TISNUM);
- if (vk == 1) {
- dasm_put(Dst, 11336);
- } else {
- dasm_put(Dst, 11122);
- }
- dasm_put(Dst, 10432);
- } else {
- dasm_put(Dst, 11460);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 11573, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11585, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 11596);
- } else {
- dasm_put(Dst, 11610);
- }
- break;
- case 1:
- dasm_put(Dst, 11618, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11630, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 11641);
- } else {
- dasm_put(Dst, 11655);
- }
- break;
- default:
- dasm_put(Dst, 11663, LJ_TISNUM, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 11685);
- } else {
- dasm_put(Dst, 11699);
- }
- break;
- }
- if (sse) {
- dasm_put(Dst, 11296);
- } else {
- dasm_put(Dst, 11308);
- }
- dasm_put(Dst, 10432);
- }
- break;
- case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11460);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 11707, LJ_TISNUM, LJ_TISNUM);
- break;
- case 1:
- dasm_put(Dst, 11740, LJ_TISNUM, LJ_TISNUM);
- break;
- default:
- dasm_put(Dst, 11773, LJ_TISNUM, LJ_TISNUM);
- break;
- }
- dasm_put(Dst, 11567, LJ_TISNUM);
- if (vk == 1) {
- dasm_put(Dst, 11336);
- } else {
- dasm_put(Dst, 11122);
- }
- dasm_put(Dst, 10432);
- } else {
- dasm_put(Dst, 11460);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 11573, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11585, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 11806);
- } else {
- dasm_put(Dst, 11820);
- }
- break;
- case 1:
- dasm_put(Dst, 11618, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11630, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 11828);
- } else {
- dasm_put(Dst, 11842);
- }
- break;
- default:
- dasm_put(Dst, 11663, LJ_TISNUM, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 11850);
- } else {
- dasm_put(Dst, 11864);
- }
- break;
- }
- if (sse) {
- dasm_put(Dst, 11296);
- } else {
- dasm_put(Dst, 11308);
- }
- dasm_put(Dst, 10432);
- }
- break;
- case BC_MULVN: case BC_MULNV: case BC_MULVV:
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11460);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 11872, LJ_TISNUM, LJ_TISNUM);
- break;
- case 1:
- dasm_put(Dst, 11906, LJ_TISNUM, LJ_TISNUM);
- break;
- default:
- dasm_put(Dst, 11940, LJ_TISNUM, LJ_TISNUM);
- break;
- }
- dasm_put(Dst, 11567, LJ_TISNUM);
- if (vk == 1) {
- dasm_put(Dst, 11336);
- } else {
- dasm_put(Dst, 11122);
- }
- dasm_put(Dst, 10432);
- } else {
- dasm_put(Dst, 11460);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 11573, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11585, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 11974);
- } else {
- dasm_put(Dst, 11988);
- }
- break;
- case 1:
- dasm_put(Dst, 11618, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11630, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 11996);
- } else {
- dasm_put(Dst, 12010);
- }
- break;
- default:
- dasm_put(Dst, 11663, LJ_TISNUM, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 12018);
- } else {
- dasm_put(Dst, 12032);
- }
- break;
- }
- if (sse) {
- dasm_put(Dst, 11296);
- } else {
- dasm_put(Dst, 11308);
- }
- dasm_put(Dst, 10432);
- }
- break;
- case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
- dasm_put(Dst, 11460);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 11573, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11585, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 12040);
- } else {
- dasm_put(Dst, 12054);
- }
- break;
- case 1:
- dasm_put(Dst, 11618, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11630, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 12062);
- } else {
- dasm_put(Dst, 12076);
- }
- break;
- default:
- dasm_put(Dst, 11663, LJ_TISNUM, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 12084);
- } else {
- dasm_put(Dst, 12098);
- }
- break;
- }
- if (sse) {
- dasm_put(Dst, 11296);
- } else {
- dasm_put(Dst, 11308);
- }
- dasm_put(Dst, 10432);
- break;
- case BC_MODVN:
- dasm_put(Dst, 11460);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 11573, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11585, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 12106);
- } else {
- dasm_put(Dst, 12120);
- }
- break;
- case 1:
- dasm_put(Dst, 11618, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11630, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 12128);
- } else {
- dasm_put(Dst, 12142);
- }
- break;
- default:
- dasm_put(Dst, 11663, LJ_TISNUM, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 12150);
- } else {
- dasm_put(Dst, 12164);
- }
- break;
- }
- dasm_put(Dst, 12172);
- if (sse) {
- dasm_put(Dst, 11296);
- } else {
- dasm_put(Dst, 11308);
- }
- dasm_put(Dst, 10432);
- break;
- case BC_MODNV: case BC_MODVV:
- dasm_put(Dst, 11460);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 11573, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11585, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 12106);
- } else {
- dasm_put(Dst, 12120);
- }
- break;
- case 1:
- dasm_put(Dst, 11618, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11630, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 12128);
- } else {
- dasm_put(Dst, 12142);
- }
- break;
- default:
- dasm_put(Dst, 11663, LJ_TISNUM, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 12150);
- } else {
- dasm_put(Dst, 12164);
- }
- break;
- }
- dasm_put(Dst, 12178);
- break;
- case BC_POW:
- dasm_put(Dst, 11460);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 11573, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11585, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 12106);
- } else {
- dasm_put(Dst, 12120);
- }
- break;
- case 1:
- dasm_put(Dst, 11618, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11630, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 12128);
- } else {
- dasm_put(Dst, 12142);
- }
- break;
- default:
- dasm_put(Dst, 11663, LJ_TISNUM, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 12150);
- } else {
- dasm_put(Dst, 12164);
- }
- break;
- }
- dasm_put(Dst, 12183);
- if (sse) {
- dasm_put(Dst, 11296);
- } else {
- dasm_put(Dst, 11308);
- }
- dasm_put(Dst, 10432);
- break;
-
- case BC_CAT:
- dasm_put(Dst, 12187, Dt1(->base), Dt1(->base));
- break;
-
- /* -- Constant ops ------------------------------------------------------ */
-
- case BC_KSTR:
- dasm_put(Dst, 12270, LJ_TSTR);
- break;
- case BC_KCDATA:
-#if LJ_HASFFI
- dasm_put(Dst, 12270, LJ_TCDATA);
-#endif
- break;
- case BC_KSHORT:
- if (LJ_DUALNUM) {
- dasm_put(Dst, 12305, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 12317);
- } else {
- dasm_put(Dst, 12332);
- }
- dasm_put(Dst, 10432);
- break;
- case BC_KNUM:
- if (sse) {
- dasm_put(Dst, 12340);
- } else {
- dasm_put(Dst, 12353);
- }
- dasm_put(Dst, 10432);
- break;
- case BC_KPRI:
- dasm_put(Dst, 12360);
- break;
- case BC_KNIL:
- dasm_put(Dst, 12388, LJ_TNIL);
- break;
-
- /* -- Upvalue and function ops ------------------------------------------ */
-
- case BC_UGET:
- dasm_put(Dst, 12435, offsetof(GCfuncL, uvptr), DtA(->v));
- break;
- case BC_USETV:
-#define TV2MARKOFS \
- ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
- dasm_put(Dst, 12475, offsetof(GCfuncL, uvptr), DtA(->closed), DtA(->v), TV2MARKOFS, LJ_GC_BLACK, LJ_TISGCV, LJ_TISNUM - LJ_TISGCV, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G);
- dasm_put(Dst, 12566);
- break;
-#undef TV2MARKOFS
- case BC_USETS:
- dasm_put(Dst, 12578, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
- break;
- case BC_USETN:
- dasm_put(Dst, 12671);
- if (sse) {
- dasm_put(Dst, 12676);
- } else {
- dasm_put(Dst, 10951);
- }
- dasm_put(Dst, 12683, offsetof(GCfuncL, uvptr), DtA(->v));
- if (sse) {
- dasm_put(Dst, 12692);
- } else {
- dasm_put(Dst, 12698);
- }
- dasm_put(Dst, 10432);
- break;
- case BC_USETP:
- dasm_put(Dst, 12701, offsetof(GCfuncL, uvptr), DtA(->v));
- break;
- case BC_UCLO:
- dasm_put(Dst, 12740, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
- break;
-
- case BC_FNEW:
- dasm_put(Dst, 12795, Dt1(->base), Dt1(->base), LJ_TFUNC);
- break;
-
- /* -- Table ops --------------------------------------------------------- */
-
- case BC_TNEW:
- dasm_put(Dst, 12861, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
- break;
- case BC_TDUP:
- dasm_put(Dst, 12983, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
- break;
-
- case BC_GGET:
- dasm_put(Dst, 13078, Dt7(->env));
- break;
- case BC_GSET:
- dasm_put(Dst, 13097, Dt7(->env));
- break;
-
- case BC_TGETV:
- dasm_put(Dst, 13116, LJ_TTAB);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 13139, LJ_TISNUM);
- } else {
- dasm_put(Dst, 13153, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 13164);
- } else {
- }
- dasm_put(Dst, 13185);
- }
- dasm_put(Dst, 13190, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL);
- dasm_put(Dst, 13281, LJ_TSTR);
- break;
- case BC_TGETS:
- dasm_put(Dst, 13299, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
- dasm_put(Dst, 13383, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
- break;
- case BC_TGETB:
- dasm_put(Dst, 13454, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
- dasm_put(Dst, 13549, LJ_TNIL);
- break;
-
- case BC_TSETV:
- dasm_put(Dst, 13566, LJ_TTAB);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 13139, LJ_TISNUM);
- } else {
- dasm_put(Dst, 13153, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 13164);
- } else {
- }
- dasm_put(Dst, 13589);
- }
- dasm_put(Dst, 13594, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
- dasm_put(Dst, 13674, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
- break;
- case BC_TSETS:
- dasm_put(Dst, 13731, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
- dasm_put(Dst, 13807, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
- dasm_put(Dst, 13895, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
- break;
- case BC_TSETB:
- dasm_put(Dst, 13986, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
- dasm_put(Dst, 14080, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
- break;
-
- case BC_TSETM:
- dasm_put(Dst, 14126, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
- dasm_put(Dst, 14269, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
- break;
-
- /* -- Calls and vararg handling ----------------------------------------- */
-
- case BC_CALL: case BC_CALLM:
- dasm_put(Dst, 11464);
- if (op == BC_CALLM) {
- dasm_put(Dst, 14287);
- }
- dasm_put(Dst, 14292, LJ_TFUNC, Dt7(->pc));
- break;
-
- case BC_CALLMT:
- dasm_put(Dst, 14287);
- break;
- case BC_CALLT:
- dasm_put(Dst, 14334, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
- dasm_put(Dst, 14449, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
- break;
-
- case BC_ITERC:
- dasm_put(Dst, 14520, LJ_TFUNC, 2+1, Dt7(->pc));
- break;
-
- case BC_ITERN:
-#if LJ_HASJIT
-#endif
- dasm_put(Dst, 14591, Dt6(->asize), Dt6(->array), LJ_TNIL);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11331, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 11425);
- } else {
- dasm_put(Dst, 14637);
- }
- dasm_put(Dst, 14643);
- if (LJ_DUALNUM) {
- } else if (sse) {
- dasm_put(Dst, 11296);
- } else {
- dasm_put(Dst, 11308);
- }
- dasm_put(Dst, 14656, -BCBIAS_J*4);
- if (!LJ_DUALNUM && !sse) {
- dasm_put(Dst, 14708);
- }
- dasm_put(Dst, 14714, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val));
- break;
-
- case BC_ISNEXT:
- dasm_put(Dst, 14786, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
- break;
-
- case BC_VARG:
- dasm_put(Dst, 14886, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
- dasm_put(Dst, 15046, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
- break;
-
- /* -- Returns ----------------------------------------------------------- */
-
- case BC_RETM:
- dasm_put(Dst, 14287);
- break;
-
- case BC_RET: case BC_RET0: case BC_RET1:
- if (op != BC_RET0) {
- dasm_put(Dst, 15112);
- }
- dasm_put(Dst, 15116, FRAME_TYPE);
- switch (op) {
- case BC_RET:
- dasm_put(Dst, 15135);
- break;
- case BC_RET1:
- dasm_put(Dst, 15187);
- /* fallthrough */
- case BC_RET0:
- dasm_put(Dst, 15197);
- default:
- break;
- }
- dasm_put(Dst, 15208, Dt7(->pc), PC2PROTO(k));
- if (op == BC_RET) {
- dasm_put(Dst, 15252, LJ_TNIL);
- } else {
- dasm_put(Dst, 15261, LJ_TNIL);
- }
- dasm_put(Dst, 15268, -FRAME_VARG, FRAME_TYPEP);
- if (op != BC_RET0) {
- dasm_put(Dst, 15292);
- }
- dasm_put(Dst, 4717);
- break;
-
- /* -- Loops and branches ------------------------------------------------ */
-
-
- case BC_FORL:
-#if LJ_HASJIT
- dasm_put(Dst, 15296, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP);
-#endif
- break;
-
- case BC_JFORI:
- case BC_JFORL:
-#if !LJ_HASJIT
- break;
-#endif
- case BC_FORI:
- case BC_IFORL:
- vk = (op == BC_IFORL || op == BC_JFORL);
- dasm_put(Dst, 15317);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 15321, LJ_TISNUM);
- if (!vk) {
- dasm_put(Dst, 15331, LJ_TISNUM, LJ_TISNUM);
- } else {
-#ifdef LUA_USE_ASSERT
- dasm_put(Dst, 15360, LJ_TISNUM, LJ_TISNUM);
-#endif
- dasm_put(Dst, 15379);
- }
- dasm_put(Dst, 15398, LJ_TISNUM);
- if (op == BC_FORI) {
- dasm_put(Dst, 15409, -BCBIAS_J*4);
- } else if (op == BC_JFORI) {
- dasm_put(Dst, 15423, -BCBIAS_J*4, BC_JLOOP);
- } else if (op == BC_IFORL) {
- dasm_put(Dst, 15441, -BCBIAS_J*4);
- } else {
- dasm_put(Dst, 15433, BC_JLOOP);
- }
- dasm_put(Dst, 15455);
- if (vk) {
- dasm_put(Dst, 15479);
- }
- dasm_put(Dst, 15398, LJ_TISNUM);
- if (op == BC_FORI) {
- dasm_put(Dst, 15488);
- } else if (op == BC_JFORI) {
- dasm_put(Dst, 15493, -BCBIAS_J*4, BC_JLOOP);
- } else if (op == BC_IFORL) {
- dasm_put(Dst, 15507);
- } else {
- dasm_put(Dst, 15503, BC_JLOOP);
- }
- dasm_put(Dst, 15512);
- } else if (!vk) {
- dasm_put(Dst, 15519, LJ_TISNUM);
- }
- if (!vk) {
- dasm_put(Dst, 15525, LJ_TISNUM);
- } else {
-#ifdef LUA_USE_ASSERT
- dasm_put(Dst, 15539, LJ_TISNUM, LJ_TISNUM);
-#endif
- }
- dasm_put(Dst, 15558);
- if (!vk) {
- dasm_put(Dst, 15562, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 15571);
- if (vk) {
- dasm_put(Dst, 15583);
- } else {
- dasm_put(Dst, 15602);
- }
- dasm_put(Dst, 15607);
- } else {
- dasm_put(Dst, 15620);
- if (vk) {
- dasm_put(Dst, 15626);
- } else {
- dasm_put(Dst, 15642);
- }
- dasm_put(Dst, 15650);
- if (cmov) {
- dasm_put(Dst, 10392);
- } else {
- dasm_put(Dst, 10398);
- }
- if (!cmov) {
- dasm_put(Dst, 15655);
- }
- }
- if (op == BC_FORI) {
- if (LJ_DUALNUM) {
- dasm_put(Dst, 15661);
- } else {
- dasm_put(Dst, 15666, -BCBIAS_J*4);
- }
- } else if (op == BC_JFORI) {
- dasm_put(Dst, 15676, -BCBIAS_J*4, BC_JLOOP);
- } else if (op == BC_IFORL) {
- if (LJ_DUALNUM) {
- dasm_put(Dst, 15690);
- } else {
- dasm_put(Dst, 15695, -BCBIAS_J*4);
- }
- } else {
- dasm_put(Dst, 15686, BC_JLOOP);
- }
- if (LJ_DUALNUM) {
- dasm_put(Dst, 10321);
- } else {
- dasm_put(Dst, 11081);
- }
- if (sse) {
- dasm_put(Dst, 15705);
- }
- break;
-
- case BC_ITERL:
-#if LJ_HASJIT
- dasm_put(Dst, 15296, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP);
-#endif
- break;
-
- case BC_JITERL:
-#if !LJ_HASJIT
- break;
-#endif
- case BC_IITERL:
- dasm_put(Dst, 15716, LJ_TNIL);
- if (op == BC_JITERL) {
- dasm_put(Dst, 15731, BC_JLOOP);
- } else {
- dasm_put(Dst, 15745, -BCBIAS_J*4);
- }
- dasm_put(Dst, 10430);
- break;
-
- case BC_LOOP:
-#if LJ_HASJIT
- dasm_put(Dst, 15296, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP);
-#endif
- break;
-
- case BC_ILOOP:
- dasm_put(Dst, 10432);
- break;
-
- case BC_JLOOP:
-#if LJ_HASJIT
- dasm_put(Dst, 15761, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), 9*16+4*8, -1*16, -2*16, -3*16, -4*16, -5*16, -6*16, -7*16, -8*16, -9*16);
-#endif
- break;
-
- case BC_JMP:
- dasm_put(Dst, 15870, -BCBIAS_J*4);
- break;
-
- /* -- Function headers -------------------------------------------------- */
-
- /*
- ** Reminder: A function may be called with func/args above L->maxstack,
- ** i.e. occupying EXTRA_STACK slots. And vmeta_call may add one extra slot,
- ** too. This means all FUNC* ops (including fast functions) must check
- ** for stack overflow _before_ adding more slots!
- */
-
- case BC_FUNCF:
-#if LJ_HASJIT
- dasm_put(Dst, 15895, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_CALL);
-#endif
- case BC_FUNCV: /* NYI: compiled vararg functions. */
- break;
-
- case BC_JFUNCF:
-#if !LJ_HASJIT
- break;
-#endif
- case BC_IFUNCF:
- dasm_put(Dst, 15916, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
- if (op == BC_JFUNCF) {
- dasm_put(Dst, 15946, BC_JLOOP);
- } else {
- dasm_put(Dst, 10432);
- }
- dasm_put(Dst, 15955, LJ_TNIL);
- break;
-
- case BC_JFUNCV:
-#if !LJ_HASJIT
- break;
-#endif
- dasm_put(Dst, 9409);
- break; /* NYI: compiled vararg functions. */
-
- case BC_IFUNCV:
- dasm_put(Dst, 15977, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
- if (op == BC_JFUNCV) {
- dasm_put(Dst, 15946, BC_JLOOP);
- } else {
- dasm_put(Dst, 16068, -4+PC2PROTO(k));
- }
- dasm_put(Dst, 16091, LJ_TNIL);
- break;
-
- case BC_FUNCC:
- case BC_FUNCCW:
- dasm_put(Dst, 16113, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
- if (op == BC_FUNCC) {
- dasm_put(Dst, 2381);
- } else {
- dasm_put(Dst, 16143);
- }
- dasm_put(Dst, 16151, DISPATCH_GL(vmstate), ~LJ_VMST_C);
- if (op == BC_FUNCC) {
- dasm_put(Dst, 16160);
- } else {
- dasm_put(Dst, 16164, DISPATCH_GL(wrapf));
- }
- dasm_put(Dst, 16169, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
- break;
-
- /* ---------------------------------------------------------------------- */
-
- default:
- fprintf(stderr, "Error: undefined opcode BC_%s\n", bc_names[op]);
- exit(2);
- break;
- }
-}
-
-static int build_backend(BuildCtx *ctx)
-{
- int op;
- int cmov = 1;
- int sse = 0;
-#ifdef LUAJIT_CPU_NOCMOV
- cmov = 0;
-#endif
-#if defined(LUAJIT_CPU_SSE2) || defined(LJ_TARGET_X64)
- sse = 1;
-#endif
-
- dasm_growpc(Dst, BC__MAX);
-
- build_subroutines(ctx, cmov, sse);
-
- dasm_put(Dst, 16194);
- for (op = 0; op < BC__MAX; op++)
- build_ins(ctx, (BCOp)op, op, cmov, sse);
-
- return BC__MAX;
-}
-
-/* Emit pseudo frame-info for all assembler functions. */
-static void emit_asm_debug(BuildCtx *ctx)
-{
- int fcofs = (int)((uint8_t *)ctx->glob[GLOB_vm_ffi_call] - ctx->code);
-#if LJ_64
-#define SZPTR "8"
-#define BSZPTR "3"
-#define REG_SP "0x7"
-#define REG_RA "0x10"
-#else
-#define SZPTR "4"
-#define BSZPTR "2"
-#define REG_SP "0x4"
-#define REG_RA "0x8"
-#endif
- switch (ctx->mode) {
- case BUILD_elfasm:
- fprintf(ctx->fp, "\t.section .debug_frame,\"\",@progbits\n");
- fprintf(ctx->fp,
- ".Lframe0:\n"
- "\t.long .LECIE0-.LSCIE0\n"
- ".LSCIE0:\n"
- "\t.long 0xffffffff\n"
- "\t.byte 0x1\n"
- "\t.string \"\"\n"
- "\t.uleb128 0x1\n"
- "\t.sleb128 -" SZPTR "\n"
- "\t.byte " REG_RA "\n"
- "\t.byte 0xc\n\t.uleb128 " REG_SP "\n\t.uleb128 " SZPTR "\n"
- "\t.byte 0x80+" REG_RA "\n\t.uleb128 0x1\n"
- "\t.align " SZPTR "\n"
- ".LECIE0:\n\n");
- fprintf(ctx->fp,
- ".LSFDE0:\n"
- "\t.long .LEFDE0-.LASFDE0\n"
- ".LASFDE0:\n"
- "\t.long .Lframe0\n"
-#if LJ_64
- "\t.quad .Lbegin\n"
- "\t.quad %d\n"
- "\t.byte 0xe\n\t.uleb128 %d\n" /* def_cfa_offset */
- "\t.byte 0x86\n\t.uleb128 0x2\n" /* offset rbp */
- "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset rbx */
- "\t.byte 0x8f\n\t.uleb128 0x4\n" /* offset r15 */
- "\t.byte 0x8e\n\t.uleb128 0x5\n" /* offset r14 */
-#else
- "\t.long .Lbegin\n"
- "\t.long %d\n"
- "\t.byte 0xe\n\t.uleb128 %d\n" /* def_cfa_offset */
- "\t.byte 0x85\n\t.uleb128 0x2\n" /* offset ebp */
- "\t.byte 0x87\n\t.uleb128 0x3\n" /* offset edi */
- "\t.byte 0x86\n\t.uleb128 0x4\n" /* offset esi */
- "\t.byte 0x83\n\t.uleb128 0x5\n" /* offset ebx */
-#endif
- "\t.align " SZPTR "\n"
- ".LEFDE0:\n\n", fcofs, CFRAME_SIZE);
-#if LJ_HASFFI
- fprintf(ctx->fp,
- ".LSFDE1:\n"
- "\t.long .LEFDE1-.LASFDE1\n"
- ".LASFDE1:\n"
- "\t.long .Lframe0\n"
-#if LJ_64
- "\t.quad lj_vm_ffi_call\n"
- "\t.quad %d\n"
- "\t.byte 0xe\n\t.uleb128 16\n" /* def_cfa_offset */
- "\t.byte 0x86\n\t.uleb128 0x2\n" /* offset rbp */
- "\t.byte 0xd\n\t.uleb128 0x6\n" /* def_cfa_register rbp */
- "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset rbx */
-#else
- "\t.long lj_vm_ffi_call\n"
- "\t.long %d\n"
- "\t.byte 0xe\n\t.uleb128 8\n" /* def_cfa_offset */
- "\t.byte 0x85\n\t.uleb128 0x2\n" /* offset ebp */
- "\t.byte 0xd\n\t.uleb128 0x5\n" /* def_cfa_register ebp */
- "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset ebx */
-#endif
- "\t.align " SZPTR "\n"
- ".LEFDE1:\n\n", (int)ctx->codesz - fcofs);
-#endif
-#if (defined(__sun__) && defined(__svr4__)) || defined(__solaris_)
- fprintf(ctx->fp, "\t.section .eh_frame,\"aw\",@progbits\n");
-#else
- fprintf(ctx->fp, "\t.section .eh_frame,\"a\",@progbits\n");
-#endif
- fprintf(ctx->fp,
- ".Lframe1:\n"
- "\t.long .LECIE1-.LSCIE1\n"
- ".LSCIE1:\n"
- "\t.long 0\n"
- "\t.byte 0x1\n"
- "\t.string \"zPR\"\n"
- "\t.uleb128 0x1\n"
- "\t.sleb128 -" SZPTR "\n"
- "\t.byte " REG_RA "\n"
- "\t.uleb128 6\n" /* augmentation length */
- "\t.byte 0x1b\n" /* pcrel|sdata4 */
- "\t.long lj_err_unwind_dwarf-.\n"
- "\t.byte 0x1b\n" /* pcrel|sdata4 */
- "\t.byte 0xc\n\t.uleb128 " REG_SP "\n\t.uleb128 " SZPTR "\n"
- "\t.byte 0x80+" REG_RA "\n\t.uleb128 0x1\n"
- "\t.align " SZPTR "\n"
- ".LECIE1:\n\n");
- fprintf(ctx->fp,
- ".LSFDE2:\n"
- "\t.long .LEFDE2-.LASFDE2\n"
- ".LASFDE2:\n"
- "\t.long .LASFDE2-.Lframe1\n"
- "\t.long .Lbegin-.\n"
- "\t.long %d\n"
- "\t.uleb128 0\n" /* augmentation length */
- "\t.byte 0xe\n\t.uleb128 %d\n" /* def_cfa_offset */
-#if LJ_64
- "\t.byte 0x86\n\t.uleb128 0x2\n" /* offset rbp */
- "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset rbx */
- "\t.byte 0x8f\n\t.uleb128 0x4\n" /* offset r15 */
- "\t.byte 0x8e\n\t.uleb128 0x5\n" /* offset r14 */
-#else
- "\t.byte 0x85\n\t.uleb128 0x2\n" /* offset ebp */
- "\t.byte 0x87\n\t.uleb128 0x3\n" /* offset edi */
- "\t.byte 0x86\n\t.uleb128 0x4\n" /* offset esi */
- "\t.byte 0x83\n\t.uleb128 0x5\n" /* offset ebx */
-#endif
- "\t.align " SZPTR "\n"
- ".LEFDE2:\n\n", fcofs, CFRAME_SIZE);
-#if LJ_HASFFI
- fprintf(ctx->fp,
- ".Lframe2:\n"
- "\t.long .LECIE2-.LSCIE2\n"
- ".LSCIE2:\n"
- "\t.long 0\n"
- "\t.byte 0x1\n"
- "\t.string \"zR\"\n"
- "\t.uleb128 0x1\n"
- "\t.sleb128 -" SZPTR "\n"
- "\t.byte " REG_RA "\n"
- "\t.uleb128 1\n" /* augmentation length */
- "\t.byte 0x1b\n" /* pcrel|sdata4 */
- "\t.byte 0xc\n\t.uleb128 " REG_SP "\n\t.uleb128 " SZPTR "\n"
- "\t.byte 0x80+" REG_RA "\n\t.uleb128 0x1\n"
- "\t.align " SZPTR "\n"
- ".LECIE2:\n\n");
- fprintf(ctx->fp,
- ".LSFDE3:\n"
- "\t.long .LEFDE3-.LASFDE3\n"
- ".LASFDE3:\n"
- "\t.long .LASFDE3-.Lframe2\n"
- "\t.long lj_vm_ffi_call-.\n"
- "\t.long %d\n"
- "\t.uleb128 0\n" /* augmentation length */
-#if LJ_64
- "\t.byte 0xe\n\t.uleb128 16\n" /* def_cfa_offset */
- "\t.byte 0x86\n\t.uleb128 0x2\n" /* offset rbp */
- "\t.byte 0xd\n\t.uleb128 0x6\n" /* def_cfa_register rbp */
- "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset rbx */
-#else
- "\t.byte 0xe\n\t.uleb128 8\n" /* def_cfa_offset */
- "\t.byte 0x85\n\t.uleb128 0x2\n" /* offset ebp */
- "\t.byte 0xd\n\t.uleb128 0x5\n" /* def_cfa_register ebp */
- "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset ebx */
-#endif
- "\t.align " SZPTR "\n"
- ".LEFDE3:\n\n", (int)ctx->codesz - fcofs);
-#endif
- break;
- case BUILD_coffasm:
- fprintf(ctx->fp, "\t.section .eh_frame,\"dr\"\n");
- fprintf(ctx->fp,
- "\t.def %slj_err_unwind_dwarf; .scl 2; .type 32; .endef\n",
- LJ_32 ? "_" : "");
- fprintf(ctx->fp,
- "Lframe1:\n"
- "\t.long LECIE1-LSCIE1\n"
- "LSCIE1:\n"
- "\t.long 0\n"
- "\t.byte 0x1\n"
- "\t.string \"zP\"\n"
- "\t.uleb128 0x1\n"
- "\t.sleb128 -" SZPTR "\n"
- "\t.byte " REG_RA "\n"
- "\t.uleb128 5\n" /* augmentation length */
- "\t.byte 0x00\n" /* absptr */
- "\t.long %slj_err_unwind_dwarf\n"
- "\t.byte 0xc\n\t.uleb128 " REG_SP "\n\t.uleb128 " SZPTR "\n"
- "\t.byte 0x80+" REG_RA "\n\t.uleb128 0x1\n"
- "\t.align " SZPTR "\n"
- "LECIE1:\n\n", LJ_32 ? "_" : "");
- fprintf(ctx->fp,
- "LSFDE1:\n"
- "\t.long LEFDE1-LASFDE1\n"
- "LASFDE1:\n"
- "\t.long LASFDE1-Lframe1\n"
- "\t.long %slj_vm_asm_begin\n"
- "\t.long %d\n"
- "\t.uleb128 0\n" /* augmentation length */
- "\t.byte 0xe\n\t.uleb128 %d\n" /* def_cfa_offset */
-#if LJ_64
- "\t.byte 0x86\n\t.uleb128 0x2\n" /* offset rbp */
- "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset rbx */
- "\t.byte 0x8f\n\t.uleb128 0x4\n" /* offset r15 */
- "\t.byte 0x8e\n\t.uleb128 0x5\n" /* offset r14 */
-#else
- "\t.byte 0x85\n\t.uleb128 0x2\n" /* offset ebp */
- "\t.byte 0x87\n\t.uleb128 0x3\n" /* offset edi */
- "\t.byte 0x86\n\t.uleb128 0x4\n" /* offset esi */
- "\t.byte 0x83\n\t.uleb128 0x5\n" /* offset ebx */
-#endif
- "\t.align " SZPTR "\n"
- "LEFDE1:\n\n", LJ_32 ? "_" : "", (int)ctx->codesz, CFRAME_SIZE);
- break;
- /* Mental note: never let Apple design an assembler.
- ** Or a linker. Or a plastic case. But I digress.
- */
- case BUILD_machasm: {
-#if LJ_HASFFI
- int fcsize = 0;
-#endif
- int i;
- fprintf(ctx->fp, "\t.section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support\n");
- fprintf(ctx->fp,
- "EH_frame1:\n"
- "\t.set L$set$x,LECIEX-LSCIEX\n"
- "\t.long L$set$x\n"
- "LSCIEX:\n"
- "\t.long 0\n"
- "\t.byte 0x1\n"
- "\t.ascii \"zPR\\0\"\n"
- "\t.byte 0x1\n"
- "\t.byte 128-" SZPTR "\n"
- "\t.byte " REG_RA "\n"
- "\t.byte 6\n" /* augmentation length */
- "\t.byte 0x9b\n" /* indirect|pcrel|sdata4 */
-#if LJ_64
- "\t.long _lj_err_unwind_dwarf+4@GOTPCREL\n"
- "\t.byte 0x1b\n" /* pcrel|sdata4 */
- "\t.byte 0xc\n\t.byte " REG_SP "\n\t.byte " SZPTR "\n"
-#else
- "\t.long L_lj_err_unwind_dwarf$non_lazy_ptr-.\n"
- "\t.byte 0x1b\n" /* pcrel|sdata4 */
- "\t.byte 0xc\n\t.byte 0x5\n\t.byte 0x4\n" /* esp=5 on 32 bit MACH-O. */
-#endif
- "\t.byte 0x80+" REG_RA "\n\t.byte 0x1\n"
- "\t.align " BSZPTR "\n"
- "LECIEX:\n\n");
- for (i = 0; i < ctx->nsym; i++) {
- const char *name = ctx->sym[i].name;
- int32_t size = ctx->sym[i+1].ofs - ctx->sym[i].ofs;
- if (size == 0) continue;
-#if LJ_HASFFI
- if (!strcmp(name, "_lj_vm_ffi_call")) { fcsize = size; continue; }
-#endif
- fprintf(ctx->fp,
- "%s.eh:\n"
- "LSFDE%d:\n"
- "\t.set L$set$%d,LEFDE%d-LASFDE%d\n"
- "\t.long L$set$%d\n"
- "LASFDE%d:\n"
- "\t.long LASFDE%d-EH_frame1\n"
- "\t.long %s-.\n"
- "\t.long %d\n"
- "\t.byte 0\n" /* augmentation length */
- "\t.byte 0xe\n\t.byte %d\n" /* def_cfa_offset */
-#if LJ_64
- "\t.byte 0x86\n\t.byte 0x2\n" /* offset rbp */
- "\t.byte 0x83\n\t.byte 0x3\n" /* offset rbx */
- "\t.byte 0x8f\n\t.byte 0x4\n" /* offset r15 */
- "\t.byte 0x8e\n\t.byte 0x5\n" /* offset r14 */
-#else
- "\t.byte 0x84\n\t.byte 0x2\n" /* offset ebp (4 for MACH-O)*/
- "\t.byte 0x87\n\t.byte 0x3\n" /* offset edi */
- "\t.byte 0x86\n\t.byte 0x4\n" /* offset esi */
- "\t.byte 0x83\n\t.byte 0x5\n" /* offset ebx */
-#endif
- "\t.align " BSZPTR "\n"
- "LEFDE%d:\n\n",
- name, i, i, i, i, i, i, i, name, size, CFRAME_SIZE, i);
- }
-#if LJ_HASFFI
- if (fcsize) {
- fprintf(ctx->fp,
- "EH_frame2:\n"
- "\t.set L$set$y,LECIEY-LSCIEY\n"
- "\t.long L$set$y\n"
- "LSCIEY:\n"
- "\t.long 0\n"
- "\t.byte 0x1\n"
- "\t.ascii \"zR\\0\"\n"
- "\t.byte 0x1\n"
- "\t.byte 128-" SZPTR "\n"
- "\t.byte " REG_RA "\n"
- "\t.byte 1\n" /* augmentation length */
-#if LJ_64
- "\t.byte 0x1b\n" /* pcrel|sdata4 */
- "\t.byte 0xc\n\t.byte " REG_SP "\n\t.byte " SZPTR "\n"
-#else
- "\t.byte 0x1b\n" /* pcrel|sdata4 */
- "\t.byte 0xc\n\t.byte 0x5\n\t.byte 0x4\n" /* esp=5 on 32 bit MACH. */
-#endif
- "\t.byte 0x80+" REG_RA "\n\t.byte 0x1\n"
- "\t.align " BSZPTR "\n"
- "LECIEY:\n\n");
- fprintf(ctx->fp,
- "_lj_vm_ffi_call.eh:\n"
- "LSFDEY:\n"
- "\t.set L$set$yy,LEFDEY-LASFDEY\n"
- "\t.long L$set$yy\n"
- "LASFDEY:\n"
- "\t.long LASFDEY-EH_frame2\n"
- "\t.long _lj_vm_ffi_call-.\n"
- "\t.long %d\n"
- "\t.byte 0\n" /* augmentation length */
-#if LJ_64
- "\t.byte 0xe\n\t.byte 16\n" /* def_cfa_offset */
- "\t.byte 0x86\n\t.byte 0x2\n" /* offset rbp */
- "\t.byte 0xd\n\t.uleb128 0x6\n" /* def_cfa_register rbp */
- "\t.byte 0x83\n\t.byte 0x3\n" /* offset rbx */
-#else
- "\t.byte 0xe\n\t.byte 8\n" /* def_cfa_offset */
- "\t.byte 0x84\n\t.byte 0x2\n" /* offset ebp (4 for MACH-O)*/
- "\t.byte 0xd\n\t.uleb128 0x4\n" /* def_cfa_register ebp */
- "\t.byte 0x83\n\t.byte 0x3\n" /* offset ebx */
-#endif
- "\t.align " BSZPTR "\n"
- "LEFDEY:\n\n", fcsize);
- }
-#endif
-#if LJ_64
- fprintf(ctx->fp, "\t.subsections_via_symbols\n");
-#else
- fprintf(ctx->fp,
- "\t.non_lazy_symbol_pointer\n"
- "L_lj_err_unwind_dwarf$non_lazy_ptr:\n"
- ".indirect_symbol _lj_err_unwind_dwarf\n"
- ".long 0\n");
-#endif
- }
- break;
- default: /* Difficult for other modes. */
- break;
- }
-}
-
+++ /dev/null
-/*
-** This file has been pre-processed with DynASM.
-** http://luajit.org/dynasm.html
-** DynASM version 1.3.0, DynASM x86 version 1.3.0
-** DO NOT EDIT! The original file is in "buildvm_x86.dasc".
-*/
-
-#if DASM_VERSION != 10300
-#error "Version mismatch between DynASM and included encoding engine"
-#endif
-
-#define DASM_SECTION_CODE_OP 0
-#define DASM_SECTION_CODE_SUB 1
-#define DASM_MAXSECTION 2
-static const unsigned char build_actionlist[17321] = {
- 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,141,
- 76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,
- 20,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237,15,
- 133,244,10,199,131,233,237,131,230,252,248,41,214,252,247,222,131,232,1,15,
- 132,244,248,248,1,139,44,10,137,106,252,248,139,108,10,4,137,106,252,252,
- 131,194,8,131,232,1,15,133,244,1,248,2,255,139,108,36,48,137,181,233,248,
- 3,139,68,36,20,139,76,36,56,248,4,57,193,15,133,244,252,248,5,131,252,234,
- 8,137,149,233,248,15,139,76,36,52,137,141,233,49,192,248,16,131,196,28,91,
- 94,95,93,195,248,6,15,130,244,253,59,149,233,15,135,244,254,199,66,252,252,
- 237,131,194,8,131,192,1,252,233,244,4,248,7,255,133,201,15,132,244,5,41,193,
- 141,20,202,252,233,244,5,248,8,137,149,233,137,68,36,20,137,202,137,252,233,
- 232,251,1,0,139,149,233,252,233,244,3,248,17,137,208,137,204,248,18,139,108,
- 36,48,139,173,233,199,133,233,237,252,233,244,16,248,19,248,20,129,225,239,
- 137,204,248,21,255,139,108,36,48,185,252,248,252,255,252,255,252,255,184,
- 237,139,149,233,139,157,233,129,195,239,139,114,252,252,199,66,252,252,237,
- 199,131,233,237,252,233,244,12,248,22,186,237,252,233,244,248,248,23,131,
- 232,8,252,233,244,247,248,24,141,68,194,252,248,248,1,15,182,142,233,131,
- 198,4,137,149,233,255,137,133,233,137,116,36,24,137,202,248,2,137,252,233,
- 232,251,1,0,139,149,233,139,133,233,139,106,252,248,41,208,193,232,3,131,
- 192,1,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,
- 248,25,85,87,86,83,131,252,236,28,139,108,36,48,139,76,36,52,190,237,49,192,
- 141,188,253,36,233,139,157,233,129,195,239,137,189,233,137,68,36,24,137,68,
- 36,52,56,133,233,15,132,244,249,199,131,233,237,136,133,233,139,149,233,139,
- 133,233,41,200,193,232,3,131,192,1,41,209,139,114,252,252,137,68,36,20,252,
- 247,198,237,255,15,132,244,13,252,233,244,14,248,26,85,87,86,83,131,252,236,
- 28,190,237,252,233,244,247,248,27,85,87,86,83,131,252,236,28,190,237,248,
- 1,139,108,36,48,139,76,36,52,139,189,233,137,124,36,52,137,108,36,24,137,
- 165,233,248,2,139,157,233,129,195,239,248,3,199,131,233,237,139,149,233,255,
- 1,206,41,214,139,133,233,41,200,193,232,3,131,192,1,248,28,139,105,252,248,
- 129,121,253,252,252,239,15,133,244,29,248,30,137,202,137,114,252,252,139,
- 181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,248,31,
- 85,87,86,83,131,252,236,28,139,108,36,48,139,68,36,56,139,76,36,52,139,84,
- 36,60,137,108,36,24,139,189,233,43,189,233,199,68,36,60,0,0,0,0,137,124,36,
- 56,137,68,36,8,137,76,36,4,137,44,36,139,189,233,137,124,36,52,137,165,233,
- 252,255,210,133,192,15,132,244,15,137,193,190,237,252,233,244,2,248,11,1,
- 209,131,230,252,248,137,213,41,252,242,199,68,193,252,252,237,137,200,139,
- 117,252,244,255,139,77,252,240,255,131,252,249,1,15,134,244,247,255,139,122,
- 252,248,139,191,233,139,191,233,252,255,225,255,248,1,15,132,244,32,41,213,
- 193,252,237,3,141,69,252,255,252,233,244,33,255,248,34,15,182,78,252,255,
- 131,252,237,16,141,12,202,41,252,233,15,132,244,35,252,247,217,193,252,233,
- 3,137,76,36,8,139,72,4,139,0,137,77,4,137,69,0,137,108,36,4,252,233,244,36,
- 248,37,137,68,36,16,199,68,36,20,237,141,68,36,16,128,126,252,252,235,15,
- 133,244,247,141,139,233,137,41,199,65,4,237,137,205,252,233,244,248,248,38,
- 15,182,70,252,254,255,199,68,36,20,237,137,68,36,16,255,252,242,15,42,192,
- 252,242,15,17,68,36,16,255,137,68,36,12,219,68,36,12,221,92,36,16,255,141,
- 68,36,16,252,233,244,247,248,39,15,182,70,252,254,141,4,194,248,1,15,182,
- 110,252,255,141,44,252,234,248,2,137,108,36,4,139,108,36,48,137,68,36,8,137,
- 44,36,137,149,233,137,116,36,24,232,251,1,1,139,149,233,133,192,15,132,244,
- 249,248,35,15,182,78,252,253,139,104,4,139,0,137,108,202,4,137,4,202,139,
- 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,139,141,
- 233,137,113,252,244,141,177,233,41,214,139,105,252,248,184,237,252,233,244,
- 30,248,40,137,68,36,16,199,68,36,20,237,141,68,36,16,128,126,252,252,235,
- 15,133,244,247,255,141,139,233,137,41,199,65,4,237,137,205,252,233,244,248,
- 248,41,15,182,70,252,254,255,141,68,36,16,252,233,244,247,248,42,15,182,70,
- 252,254,141,4,194,248,1,15,182,110,252,255,141,44,252,234,248,2,137,108,36,
- 4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,116,36,24,232,251,1,
- 2,139,149,233,133,192,15,132,244,249,15,182,78,252,253,139,108,202,4,139,
- 12,202,137,104,4,137,8,248,43,139,6,15,182,204,15,182,232,131,198,4,193,232,
- 16,252,255,36,171,248,3,139,141,233,137,113,252,244,15,182,70,252,253,139,
- 108,194,4,139,4,194,137,105,20,137,65,16,141,177,233,41,214,139,105,252,248,
- 184,237,252,233,244,30,248,44,15,182,110,252,252,141,4,194,141,12,202,137,
- 108,36,12,139,108,36,48,137,68,36,8,137,76,36,4,137,44,36,137,149,233,137,
- 116,36,24,232,251,1,3,248,3,139,149,233,255,131,252,248,1,15,135,244,45,248,
- 4,141,118,4,15,130,244,252,248,5,15,183,70,252,254,141,180,253,134,233,248,
- 6,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,46,
- 131,198,4,129,120,253,4,239,15,130,244,5,252,233,244,6,248,47,129,120,253,
- 4,239,252,233,244,4,248,48,131,252,238,4,137,108,36,12,139,108,36,48,137,
- 68,36,8,137,76,36,4,137,44,36,137,149,233,255,137,116,36,24,232,251,1,4,252,
- 233,244,3,248,49,255,131,252,238,4,139,108,36,48,137,149,233,137,252,233,
- 139,86,252,252,137,116,36,24,232,251,1,5,252,233,244,3,255,248,50,255,15,
- 182,110,252,255,255,248,51,141,4,199,252,233,244,247,248,52,255,248,53,141,
- 4,199,141,44,252,234,149,252,233,244,248,248,54,141,4,194,137,197,252,233,
- 244,248,248,55,255,248,56,141,4,194,248,1,141,44,252,234,248,2,141,12,202,
- 137,108,36,8,139,108,36,48,137,68,36,12,15,182,70,252,252,137,76,36,4,137,
- 68,36,16,137,44,36,137,149,233,137,116,36,24,232,251,1,6,139,149,233,133,
- 192,15,132,244,43,248,45,137,193,41,208,137,113,252,244,141,176,233,184,237,
- 252,233,244,28,248,57,139,108,36,48,137,149,233,141,20,194,137,252,233,137,
- 116,36,24,232,251,1,7,139,149,233,255,133,192,15,133,244,45,15,183,70,252,
- 254,139,12,194,252,233,244,58,255,252,233,244,45,255,248,59,141,76,202,8,
- 248,29,137,76,36,20,137,68,36,16,131,252,233,8,141,4,193,139,108,36,48,137,
- 76,36,4,137,68,36,8,137,44,36,137,149,233,137,116,36,24,232,251,1,8,139,149,
- 233,139,76,36,20,139,68,36,16,139,105,252,248,131,192,1,57,215,15,132,244,
- 60,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,
- 198,4,252,255,36,171,248,61,139,108,36,48,137,149,233,137,202,137,252,233,
- 137,116,36,24,232,251,1,9,139,149,233,139,70,252,252,15,182,204,15,182,232,
- 193,232,16,252,255,164,253,171,233,248,62,129,252,248,239,15,130,244,63,139,
- 106,4,129,252,253,239,15,131,244,63,139,114,252,252,137,68,36,20,137,106,
- 252,252,139,42,137,106,252,248,131,232,2,15,132,244,248,255,137,209,248,1,
- 131,193,8,139,105,4,137,105,252,252,139,41,137,105,252,248,131,232,1,15,133,
- 244,1,248,2,139,68,36,20,252,233,244,64,248,65,129,252,248,239,15,130,244,
- 63,139,106,4,184,237,252,247,213,57,232,255,15,71,197,255,15,134,244,247,
- 137,232,248,1,255,248,2,139,106,252,248,139,132,253,197,233,139,114,252,252,
- 199,66,252,252,237,137,66,252,248,252,233,244,66,248,67,129,252,248,239,15,
- 130,244,63,139,106,4,139,114,252,252,129,252,253,239,15,133,244,252,248,1,
- 139,42,139,173,233,248,2,133,252,237,199,66,252,252,237,15,132,244,66,139,
- 131,233,199,66,252,252,237,255,137,106,252,248,139,141,233,35,136,233,105,
- 201,239,3,141,233,248,3,129,185,233,239,15,133,244,250,57,129,233,15,132,
- 244,251,248,4,139,137,233,133,201,15,133,244,3,252,233,244,66,248,5,139,105,
- 4,129,252,253,239,255,15,132,244,66,139,1,137,106,252,252,137,66,252,248,
- 252,233,244,66,248,6,129,252,253,239,15,132,244,1,129,252,253,239,15,135,
- 244,254,189,237,248,8,252,247,213,139,172,253,171,233,252,233,244,2,248,68,
- 129,252,248,239,15,130,244,63,255,129,122,253,4,239,15,133,244,63,139,42,
- 131,189,233,0,15,133,244,63,129,122,253,12,239,15,133,244,63,139,66,8,137,
- 133,233,139,114,252,252,199,66,252,252,237,137,106,252,248,252,246,133,233,
- 235,15,132,244,247,128,165,233,235,139,131,233,137,171,233,137,133,233,248,
- 1,255,252,233,244,66,248,69,129,252,248,239,15,130,244,63,129,122,253,4,239,
- 15,133,244,63,139,2,139,108,36,48,137,68,36,4,137,44,36,137,213,131,194,8,
- 137,84,36,8,232,251,1,10,137,252,234,139,40,139,64,4,139,114,252,252,137,
- 106,252,248,137,66,252,252,252,233,244,66,248,70,129,252,248,239,15,133,244,
- 63,129,122,253,4,239,255,15,133,244,247,139,42,252,233,244,71,248,1,15,135,
- 244,63,255,15,131,244,63,255,252,242,15,16,2,252,233,244,72,255,221,2,252,
- 233,244,73,255,248,74,129,252,248,239,15,130,244,63,139,114,252,252,129,122,
- 253,4,239,15,133,244,249,139,2,248,2,199,66,252,252,237,137,66,252,248,252,
- 233,244,66,248,3,129,122,253,4,239,15,135,244,63,131,187,233,0,15,133,244,
- 63,139,171,233,59,171,233,255,15,130,244,247,232,244,75,248,1,139,108,36,
- 48,137,149,233,137,116,36,24,137,252,233,255,232,251,1,11,255,232,251,1,12,
- 255,139,149,233,252,233,244,2,248,76,129,252,248,239,15,130,244,63,15,132,
- 244,248,248,1,129,122,253,4,239,15,133,244,63,139,108,36,48,137,149,233,137,
- 149,233,139,114,252,252,139,2,137,68,36,4,137,44,36,131,194,8,137,84,36,8,
- 137,116,36,24,232,251,1,13,139,149,233,133,192,15,132,244,249,139,106,8,139,
- 66,12,137,106,252,248,137,66,252,252,139,106,16,139,66,20,137,42,137,66,4,
- 248,77,184,237,255,252,233,244,78,248,2,199,66,12,237,252,233,244,1,248,3,
- 199,66,252,252,237,252,233,244,66,248,79,129,252,248,239,15,130,244,63,139,
- 42,129,122,253,4,239,15,133,244,63,255,131,189,233,0,15,133,244,63,255,139,
- 106,252,248,139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248,
- 199,66,12,237,184,237,252,233,244,78,248,80,129,252,248,239,15,130,244,63,
- 129,122,253,4,239,15,133,244,63,129,122,253,12,239,255,139,114,252,252,255,
- 139,66,8,131,192,1,199,66,252,252,237,137,66,252,248,255,252,242,15,16,66,
- 8,189,0,0,252,240,63,102,15,110,205,102,15,112,201,81,252,242,15,88,193,252,
- 242,15,45,192,252,242,15,17,66,252,248,255,221,66,8,217,232,222,193,219,20,
- 36,221,90,252,248,139,4,36,255,139,42,59,133,233,15,131,244,248,193,224,3,
- 3,133,233,248,1,129,120,253,4,239,15,132,244,81,139,40,139,64,4,137,42,137,
- 66,4,252,233,244,77,248,2,131,189,233,0,15,132,244,81,137,252,233,137,213,
- 137,194,232,251,1,14,137,252,234,133,192,15,133,244,1,248,81,184,237,252,
- 233,244,78,248,82,255,139,106,252,248,139,133,233,139,114,252,252,199,66,
- 252,252,237,137,66,252,248,255,199,66,12,237,199,66,8,0,0,0,0,255,15,87,192,
- 252,242,15,17,66,8,255,217,252,238,221,90,8,255,184,237,252,233,244,78,248,
- 83,129,252,248,239,15,130,244,63,141,74,8,131,232,1,190,237,248,1,15,182,
- 171,233,193,252,237,235,131,229,1,1,252,238,252,233,244,28,248,84,129,252,
- 248,239,15,130,244,63,129,122,253,12,239,15,133,244,63,255,139,106,4,137,
- 106,12,199,66,4,237,139,42,139,114,8,137,106,8,137,50,141,74,16,131,232,2,
- 190,237,252,233,244,1,248,85,129,252,248,239,15,130,244,63,139,42,139,114,
- 252,252,137,116,36,24,137,44,36,129,122,253,4,239,15,133,244,63,131,189,233,
- 0,15,133,244,63,128,189,233,235,15,135,244,63,139,141,233,15,132,244,247,
- 255,59,141,233,15,132,244,63,248,1,141,116,193,252,240,59,181,233,15,135,
- 244,63,137,181,233,139,108,36,48,137,149,233,131,194,8,137,149,233,141,108,
- 194,232,41,252,245,57,206,15,132,244,249,248,2,139,68,46,4,137,70,252,252,
- 139,4,46,137,70,252,248,131,252,238,8,57,206,15,133,244,2,248,3,137,76,36,
- 4,49,201,137,76,36,12,137,76,36,8,232,244,25,199,131,233,237,255,139,108,
- 36,48,139,52,36,139,149,233,129,252,248,239,15,135,244,254,248,4,139,142,
- 233,139,190,233,137,142,233,137,252,254,41,206,15,132,244,252,141,4,50,193,
- 252,238,3,59,133,233,15,135,244,255,137,213,41,205,248,5,139,1,137,4,41,139,
- 65,4,137,68,41,4,131,193,8,57,252,249,15,133,244,5,248,6,141,70,2,199,66,
- 252,252,237,248,7,139,116,36,24,137,68,36,20,185,252,248,252,255,252,255,
- 252,255,252,247,198,237,255,15,132,244,13,252,233,244,14,248,8,199,66,252,
- 252,237,139,142,233,131,252,233,8,137,142,233,139,1,137,2,139,65,4,137,66,
- 4,184,237,252,233,244,7,248,9,139,12,36,137,185,233,137,252,242,137,252,233,
- 232,251,1,0,139,52,36,139,149,233,252,233,244,4,248,86,139,106,252,248,139,
- 173,233,139,114,252,252,137,116,36,24,137,44,36,131,189,233,0,15,133,244,
- 63,255,128,189,233,235,15,135,244,63,139,141,233,15,132,244,247,59,141,233,
- 15,132,244,63,248,1,141,116,193,252,248,59,181,233,15,135,244,63,137,181,
- 233,139,108,36,48,137,149,233,137,149,233,141,108,194,252,240,41,252,245,
- 57,206,15,132,244,249,248,2,255,139,68,46,4,137,70,252,252,139,4,46,137,70,
- 252,248,131,252,238,8,57,206,15,133,244,2,248,3,137,76,36,4,49,201,137,76,
- 36,12,137,76,36,8,232,244,25,199,131,233,237,139,108,36,48,139,52,36,139,
- 149,233,129,252,248,239,15,135,244,254,248,4,139,142,233,139,190,233,137,
- 142,233,137,252,254,41,206,15,132,244,252,141,4,50,193,252,238,3,59,133,233,
- 15,135,244,255,255,137,213,41,205,248,5,139,1,137,4,41,139,65,4,137,68,41,
- 4,131,193,8,57,252,249,15,133,244,5,248,6,141,70,1,248,7,139,116,36,24,137,
- 68,36,20,49,201,252,247,198,237,15,132,244,13,252,233,244,14,248,8,137,252,
- 242,137,252,233,232,251,1,15,248,9,139,12,36,137,185,233,137,252,242,137,
- 252,233,232,251,1,0,139,52,36,139,149,233,252,233,244,4,248,87,139,108,36,
- 48,252,247,133,233,237,15,132,244,63,255,137,149,233,141,68,194,252,248,137,
- 133,233,49,192,137,133,233,176,235,136,133,233,252,233,244,16,255,248,71,
- 255,248,73,139,114,252,252,221,90,252,248,252,233,244,66,255,248,88,129,252,
- 248,239,15,130,244,63,255,129,122,253,4,239,15,133,244,248,139,42,131,252,
- 253,0,15,137,244,71,252,247,221,15,136,244,247,248,89,248,71,139,114,252,
- 252,199,66,252,252,237,137,106,252,248,252,233,244,66,248,1,139,114,252,252,
- 199,66,252,252,0,0,224,65,199,66,252,248,0,0,0,0,252,233,244,66,248,2,15,
- 135,244,63,255,129,122,253,4,239,15,131,244,63,255,252,242,15,16,2,102,15,
- 252,239,201,102,15,118,201,102,15,115,209,1,15,84,193,248,72,139,114,252,
- 252,252,242,15,17,66,252,248,255,221,2,217,225,248,72,248,73,139,114,252,
- 252,221,90,252,248,255,248,66,184,237,248,78,137,68,36,20,248,64,252,247,
- 198,237,15,133,244,253,248,5,56,70,252,255,15,135,244,252,15,182,78,252,253,
- 252,247,209,141,20,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
- 255,36,171,248,6,199,68,194,252,244,237,131,192,1,252,233,244,5,248,7,185,
- 252,248,252,255,252,255,252,255,252,233,244,14,248,90,255,129,122,253,4,239,
- 15,133,244,247,139,42,252,233,244,71,248,1,15,135,244,63,255,252,242,15,16,
- 2,232,244,91,255,252,242,15,45,232,129,252,253,0,0,0,128,15,133,244,71,252,
- 242,15,42,205,102,15,46,193,15,138,244,72,15,132,244,71,255,221,2,232,244,
- 91,255,219,20,36,139,44,36,129,252,253,0,0,0,128,15,133,244,248,217,192,219,
- 4,36,255,223,252,233,221,216,255,218,252,233,223,224,158,255,15,138,244,73,
- 15,133,244,73,248,2,221,216,252,233,244,71,255,248,92,255,252,242,15,16,2,
- 232,244,93,255,221,2,232,244,93,255,248,94,129,252,248,239,15,130,244,63,
- 129,122,253,4,239,15,131,244,63,252,242,15,81,2,252,233,244,72,255,248,94,
- 129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,221,2,217,252,
- 250,252,233,244,73,255,248,95,129,252,248,239,15,130,244,63,129,122,253,4,
- 239,15,131,244,63,217,252,237,221,2,217,252,241,252,233,244,73,248,96,129,
- 252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,217,252,236,221,
- 2,217,252,241,252,233,244,73,248,97,129,252,248,239,255,15,130,244,63,129,
- 122,253,4,239,15,131,244,63,221,2,232,244,98,252,233,244,73,248,99,129,252,
- 248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,221,2,217,252,254,252,
- 233,244,73,248,100,129,252,248,239,255,15,130,244,63,129,122,253,4,239,15,
- 131,244,63,221,2,217,252,255,252,233,244,73,248,101,129,252,248,239,15,130,
- 244,63,129,122,253,4,239,15,131,244,63,221,2,217,252,242,221,216,252,233,
- 244,73,248,102,129,252,248,239,15,130,244,63,255,129,122,253,4,239,15,131,
- 244,63,221,2,217,192,216,200,217,232,222,225,217,252,250,217,252,243,252,
- 233,244,73,248,103,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,
- 244,63,221,2,217,192,216,200,217,232,222,225,217,252,250,217,201,217,252,
- 243,252,233,244,73,248,104,129,252,248,239,15,130,244,63,129,122,253,4,239,
- 15,131,244,63,255,221,2,217,232,217,252,243,252,233,244,73,255,248,105,129,
- 252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,252,242,15,16,2,
- 252,242,15,17,4,36,255,248,105,129,252,248,239,15,130,244,63,129,122,253,
- 4,239,15,131,244,63,221,2,221,28,36,255,137,213,232,251,1,16,137,252,234,
- 252,233,244,73,255,248,106,129,252,248,239,15,130,244,63,129,122,253,4,239,
- 15,131,244,63,252,242,15,16,2,252,242,15,17,4,36,255,248,106,129,252,248,
- 239,15,130,244,63,129,122,253,4,239,15,131,244,63,221,2,221,28,36,255,137,
- 213,232,251,1,17,137,252,234,252,233,244,73,255,248,107,129,252,248,239,15,
- 130,244,63,129,122,253,4,239,15,131,244,63,252,242,15,16,2,252,242,15,17,
- 4,36,255,248,107,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,
- 63,221,2,221,28,36,255,137,213,232,251,1,18,137,252,234,252,233,244,73,248,
- 108,255,248,109,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,
- 63,252,242,15,16,2,139,106,252,248,252,242,15,89,133,233,252,233,244,72,255,
- 248,109,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,221,
- 2,139,106,252,248,220,141,233,252,233,244,73,255,248,110,129,252,248,239,
- 15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,
- 63,221,2,221,66,8,217,252,243,252,233,244,73,248,111,129,252,248,239,15,130,
- 244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,255,15,131,244,
- 63,221,66,8,221,2,217,252,253,221,217,252,233,244,73,248,112,129,252,248,
- 239,15,130,244,63,139,106,4,129,252,253,239,15,131,244,63,139,114,252,252,
- 139,2,137,106,252,252,137,66,252,248,209,229,129,252,253,0,0,224,252,255,
- 15,131,244,249,9,232,15,132,244,249,184,252,254,3,0,0,129,252,253,0,0,32,
- 0,15,130,244,250,248,1,193,252,237,21,41,197,255,252,242,15,42,197,255,137,
- 108,36,16,219,68,36,16,255,139,106,252,252,129,229,252,255,252,255,15,128,
- 129,205,0,0,224,63,137,106,252,252,248,2,255,252,242,15,17,2,255,221,26,255,
- 184,237,252,233,244,78,248,3,255,15,87,192,252,233,244,2,255,217,252,238,
- 252,233,244,2,255,248,4,255,252,242,15,16,2,189,0,0,80,67,102,15,110,205,
- 102,15,112,201,81,252,242,15,89,193,252,242,15,17,66,252,248,255,221,2,199,
- 68,36,16,0,0,128,90,216,76,36,16,221,90,252,248,255,139,106,252,252,184,52,
- 4,0,0,209,229,252,233,244,1,255,248,113,129,252,248,239,15,130,244,63,129,
- 122,253,4,239,15,131,244,63,252,242,15,16,2,255,248,113,129,252,248,239,15,
- 130,244,63,129,122,253,4,239,15,131,244,63,221,2,255,139,106,4,139,114,252,
- 252,209,229,129,252,253,0,0,224,252,255,15,132,244,250,255,15,40,224,232,
- 244,114,252,242,15,92,224,248,1,252,242,15,17,66,252,248,252,242,15,17,34,
- 255,217,192,232,244,114,220,252,233,248,1,221,90,252,248,221,26,255,139,66,
- 252,252,139,106,4,49,232,15,136,244,249,248,2,184,237,252,233,244,78,248,
- 3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248,4,255,15,87,228,252,233,
- 244,1,255,217,252,238,217,201,252,233,244,1,255,248,115,129,252,248,239,15,
- 130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,
- 63,221,66,8,221,2,248,1,217,252,248,223,224,158,15,138,244,1,221,217,252,
- 233,244,73,255,248,116,129,252,248,239,15,130,244,63,129,122,253,4,239,15,
- 131,244,63,129,122,253,12,239,15,131,244,63,252,242,15,16,2,252,242,15,16,
- 74,8,232,244,117,252,233,244,72,255,248,116,129,252,248,239,15,130,244,63,
- 129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,63,221,2,221,
- 66,8,232,244,117,252,233,244,73,255,248,118,185,2,0,0,0,129,122,253,4,239,
- 255,15,133,244,250,139,42,248,1,57,193,15,131,244,71,129,124,253,202,252,
- 252,239,15,133,244,249,59,108,202,252,248,15,79,108,202,252,248,131,193,1,
- 252,233,244,1,248,3,15,135,244,63,255,252,233,244,252,248,4,15,135,244,63,
- 255,252,242,15,16,2,248,5,57,193,15,131,244,72,129,124,253,202,252,252,239,
- 255,15,130,244,252,15,135,244,63,252,242,15,42,76,202,252,248,252,233,244,
- 253,255,248,6,252,242,15,16,76,202,252,248,248,7,252,242,15,93,193,131,193,
- 1,252,233,244,5,255,221,2,248,5,57,193,15,131,244,73,129,124,253,202,252,
- 252,239,255,15,130,244,252,15,135,244,255,219,68,202,252,248,252,233,244,
- 253,255,15,131,244,255,255,248,6,221,68,202,252,248,248,7,255,219,252,233,
- 219,209,221,217,255,80,221,225,223,224,252,246,196,1,15,132,244,248,217,201,
- 248,2,221,216,88,255,248,119,185,2,0,0,0,129,122,253,4,239,255,15,133,244,
- 250,139,42,248,1,57,193,15,131,244,71,129,124,253,202,252,252,239,15,133,
- 244,249,59,108,202,252,248,15,76,108,202,252,248,131,193,1,252,233,244,1,
- 248,3,15,135,244,63,255,248,6,252,242,15,16,76,202,252,248,248,7,252,242,
- 15,95,193,131,193,1,252,233,244,5,255,219,252,233,218,209,221,217,255,80,
- 221,225,223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,88,255,
- 248,9,221,216,252,233,244,63,255,248,120,129,252,248,239,15,130,244,63,129,
- 122,253,4,239,15,133,244,63,139,42,255,139,173,233,252,233,244,71,255,252,
- 242,15,42,133,233,252,233,244,72,255,219,133,233,252,233,244,73,255,248,121,
- 129,252,248,239,15,133,244,63,129,122,253,4,239,15,133,244,63,139,42,139,
- 114,252,252,131,189,233,1,15,130,244,81,15,182,173,233,255,252,242,15,42,
- 197,252,233,244,72,255,137,108,36,16,219,68,36,16,252,233,244,73,255,248,
- 122,139,171,233,59,171,233,15,130,244,247,232,244,75,248,1,129,252,248,239,
- 15,133,244,63,129,122,253,4,239,255,15,133,244,63,139,42,129,252,253,252,
- 255,0,0,0,15,135,244,63,137,108,36,20,255,15,131,244,63,252,242,15,44,42,
- 129,252,253,252,255,0,0,0,15,135,244,63,137,108,36,20,255,15,131,244,63,221,
- 2,219,92,36,20,129,124,36,20,252,255,0,0,0,15,135,244,63,255,199,68,36,8,
- 1,0,0,0,141,68,36,20,248,123,139,108,36,48,137,149,233,137,68,36,4,137,44,
- 36,137,116,36,24,232,251,1,19,139,149,233,139,114,252,252,199,66,252,252,
- 237,137,66,252,248,252,233,244,66,248,124,139,171,233,59,171,233,15,130,244,
- 247,232,244,75,248,1,199,68,36,20,252,255,252,255,252,255,252,255,129,252,
- 248,239,15,130,244,63,15,134,244,247,129,122,253,20,239,255,15,133,244,63,
- 139,106,16,137,108,36,20,255,15,131,244,63,252,242,15,44,106,16,137,108,36,
- 20,255,15,131,244,63,221,66,16,219,92,36,20,255,248,1,129,122,253,4,239,15,
- 133,244,63,129,122,253,12,239,255,139,42,137,108,36,12,139,173,233,255,139,
- 74,8,255,252,242,15,44,74,8,255,221,66,8,219,92,36,8,139,76,36,8,255,139,
- 68,36,20,57,197,15,130,244,251,248,2,133,201,15,142,244,253,248,3,139,108,
- 36,12,41,200,15,140,244,125,141,172,253,13,233,131,192,1,248,4,137,68,36,
- 8,137,232,252,233,244,123,248,5,15,140,244,252,141,68,40,1,252,233,244,2,
- 248,6,137,232,252,233,244,2,248,7,255,15,132,244,254,1,252,233,131,193,1,
- 15,143,244,3,248,8,185,1,0,0,0,252,233,244,3,248,125,49,192,252,233,244,4,
- 248,126,129,252,248,239,15,130,244,63,139,171,233,59,171,233,15,130,244,247,
- 232,244,75,248,1,255,129,122,253,4,239,15,133,244,63,129,122,253,12,239,139,
- 42,255,15,133,244,63,139,66,8,255,15,131,244,63,252,242,15,44,66,8,255,15,
- 131,244,63,221,66,8,219,92,36,20,139,68,36,20,255,133,192,15,142,244,125,
- 131,189,233,1,15,130,244,125,15,133,244,127,57,131,233,15,130,244,127,15,
- 182,141,233,139,171,233,137,68,36,8,248,1,136,77,0,131,197,1,131,232,1,15,
- 133,244,1,139,131,233,252,233,244,123,248,128,129,252,248,239,255,15,130,
- 244,63,139,171,233,59,171,233,15,130,244,247,232,244,75,248,1,129,122,253,
- 4,239,15,133,244,63,139,42,139,133,233,133,192,15,132,244,125,57,131,233,
- 15,130,244,129,129,197,239,137,116,36,20,137,68,36,8,139,179,233,248,1,255,
- 15,182,77,0,131,197,1,131,232,1,136,12,6,15,133,244,1,137,252,240,139,116,
- 36,20,252,233,244,123,248,130,129,252,248,239,15,130,244,63,139,171,233,59,
- 171,233,15,130,244,247,232,244,75,248,1,129,122,253,4,239,15,133,244,63,139,
- 42,139,133,233,57,131,233,255,15,130,244,129,129,197,239,137,116,36,20,137,
- 68,36,8,139,179,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249,65,15,
- 130,244,248,131,252,249,90,15,135,244,248,131,252,241,32,248,2,136,12,6,248,
- 3,131,232,1,15,137,244,1,137,252,240,139,116,36,20,252,233,244,123,248,131,
- 129,252,248,239,15,130,244,63,255,139,171,233,59,171,233,15,130,244,247,232,
- 244,75,248,1,129,122,253,4,239,15,133,244,63,139,42,139,133,233,57,131,233,
- 15,130,244,129,129,197,239,137,116,36,20,137,68,36,8,139,179,233,252,233,
- 244,249,248,1,15,182,76,5,0,131,252,249,97,15,130,244,248,255,131,252,249,
- 122,15,135,244,248,131,252,241,32,248,2,136,12,6,248,3,131,232,1,15,137,244,
- 1,137,252,240,139,116,36,20,252,233,244,123,248,132,129,252,248,239,15,130,
- 244,63,129,122,253,4,239,15,133,244,63,137,213,139,10,232,251,1,20,137,252,
- 234,255,137,197,252,233,244,71,255,252,242,15,42,192,252,233,244,72,255,137,
- 4,36,219,4,36,252,233,244,73,255,248,133,129,252,248,239,15,130,244,63,129,
- 122,253,4,239,255,15,133,244,247,139,42,252,233,244,89,248,1,15,135,244,63,
- 255,252,242,15,16,2,189,0,0,56,67,102,15,110,205,102,15,112,201,81,252,242,
- 15,88,193,102,15,126,197,255,221,2,199,68,36,16,0,0,192,89,216,68,36,16,221,
- 28,36,255,139,44,36,255,252,233,244,89,255,248,134,129,252,248,239,15,130,
- 244,63,255,189,0,0,56,67,102,15,110,205,102,15,112,201,81,255,199,68,36,16,
- 0,0,192,89,255,15,133,244,247,139,42,252,233,244,248,248,1,15,135,244,63,
- 255,252,242,15,16,2,252,242,15,88,193,102,15,126,197,255,221,2,216,68,36,
- 16,221,28,36,139,44,36,255,248,2,137,68,36,20,141,68,194,252,240,248,1,57,
- 208,15,134,244,89,129,120,253,4,239,255,15,133,244,248,35,40,131,232,8,252,
- 233,244,1,248,2,15,135,244,135,255,15,131,244,135,255,252,242,15,16,0,252,
- 242,15,88,193,102,15,126,193,33,205,255,221,0,216,68,36,16,221,28,36,35,44,
- 36,255,131,232,8,252,233,244,1,248,136,129,252,248,239,15,130,244,63,255,
- 15,133,244,248,11,40,131,232,8,252,233,244,1,248,2,15,135,244,135,255,252,
- 242,15,16,0,252,242,15,88,193,102,15,126,193,9,205,255,221,0,216,68,36,16,
- 221,28,36,11,44,36,255,131,232,8,252,233,244,1,248,137,129,252,248,239,15,
- 130,244,63,255,15,133,244,248,51,40,131,232,8,252,233,244,1,248,2,15,135,
- 244,135,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,49,205,255,221,
- 0,216,68,36,16,221,28,36,51,44,36,255,131,232,8,252,233,244,1,248,138,129,
- 252,248,239,15,130,244,63,129,122,253,4,239,255,221,2,199,68,36,16,0,0,192,
- 89,216,68,36,16,221,28,36,139,44,36,255,248,2,15,205,252,233,244,89,248,139,
- 129,252,248,239,15,130,244,63,129,122,253,4,239,255,248,2,252,247,213,255,
- 248,89,252,242,15,42,197,252,233,244,72,255,248,89,137,44,36,219,4,36,252,
- 233,244,73,255,248,135,139,68,36,20,252,233,244,63,255,248,140,129,252,248,
- 239,15,130,244,63,129,122,253,4,239,255,248,2,129,122,253,12,239,15,133,244,
- 63,139,74,8,255,248,140,129,252,248,239,15,130,244,63,129,122,253,4,239,15,
- 131,244,63,129,122,253,12,239,15,131,244,63,252,242,15,16,2,252,242,15,16,
- 74,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81,252,242,15,88,194,252,
- 242,15,88,202,102,15,126,197,102,15,126,201,255,248,140,129,252,248,239,15,
- 130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,
- 63,221,2,221,66,8,199,68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68,
- 36,16,221,28,36,139,76,36,8,139,44,36,255,211,229,252,233,244,89,255,248,
- 141,129,252,248,239,15,130,244,63,129,122,253,4,239,255,248,141,129,252,248,
- 239,15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,
- 244,63,252,242,15,16,2,252,242,15,16,74,8,189,0,0,56,67,102,15,110,213,102,
- 15,112,210,81,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,
- 201,255,248,141,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,
- 63,129,122,253,12,239,15,131,244,63,221,2,221,66,8,199,68,36,16,0,0,192,89,
- 216,68,36,16,221,92,36,8,216,68,36,16,221,28,36,139,76,36,8,139,44,36,255,
- 211,252,237,252,233,244,89,255,248,142,129,252,248,239,15,130,244,63,129,
- 122,253,4,239,255,248,142,129,252,248,239,15,130,244,63,129,122,253,4,239,
- 15,131,244,63,129,122,253,12,239,15,131,244,63,252,242,15,16,2,252,242,15,
- 16,74,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81,252,242,15,88,194,
- 252,242,15,88,202,102,15,126,197,102,15,126,201,255,248,142,129,252,248,239,
- 15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,
- 63,221,2,221,66,8,199,68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68,
- 36,16,221,28,36,139,76,36,8,139,44,36,255,211,252,253,252,233,244,89,255,
- 248,143,129,252,248,239,15,130,244,63,129,122,253,4,239,255,248,143,129,252,
- 248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,
- 15,131,244,63,252,242,15,16,2,252,242,15,16,74,8,189,0,0,56,67,102,15,110,
- 213,102,15,112,210,81,252,242,15,88,194,252,242,15,88,202,102,15,126,197,
- 102,15,126,201,255,248,143,129,252,248,239,15,130,244,63,129,122,253,4,239,
- 15,131,244,63,129,122,253,12,239,15,131,244,63,221,2,221,66,8,199,68,36,16,
- 0,0,192,89,216,68,36,16,221,92,36,8,216,68,36,16,221,28,36,139,76,36,8,139,
- 44,36,255,211,197,252,233,244,89,255,248,144,129,252,248,239,15,130,244,63,
- 129,122,253,4,239,255,248,144,129,252,248,239,15,130,244,63,129,122,253,4,
- 239,15,131,244,63,129,122,253,12,239,15,131,244,63,252,242,15,16,2,252,242,
- 15,16,74,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81,252,242,15,88,194,
- 252,242,15,88,202,102,15,126,197,102,15,126,201,255,248,144,129,252,248,239,
- 15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,
- 63,221,2,221,66,8,199,68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68,
- 36,16,221,28,36,139,76,36,8,139,44,36,255,211,205,252,233,244,89,248,127,
- 184,237,252,233,244,63,248,129,184,237,248,63,139,108,36,48,139,114,252,252,
- 137,116,36,24,137,149,233,141,68,194,252,248,141,136,233,137,133,233,139,
- 66,252,248,59,141,233,15,135,244,251,137,44,36,252,255,144,233,139,149,233,
- 133,192,15,143,244,78,248,1,255,139,141,233,41,209,193,252,233,3,133,192,
- 141,65,1,139,106,252,248,15,133,244,33,139,181,233,139,14,15,182,252,233,
- 15,182,205,131,198,4,252,255,36,171,248,33,137,209,252,247,198,237,15,133,
- 244,249,15,182,110,252,253,252,247,213,141,20,252,234,252,233,244,28,248,
- 3,137,252,245,131,229,252,248,41,252,234,252,233,244,28,248,5,186,237,137,
- 252,233,232,251,1,0,139,149,233,49,192,252,233,244,1,248,75,93,137,108,36,
- 16,139,108,36,48,137,116,36,24,137,149,233,255,141,68,194,252,248,137,252,
- 233,137,133,233,232,251,1,21,139,149,233,139,133,233,41,208,193,232,3,131,
- 192,1,139,108,36,16,85,195,248,145,255,15,182,131,233,168,235,15,133,244,
- 251,168,235,15,133,244,247,168,235,15,132,244,247,252,255,139,233,252,233,
- 244,247,255,248,146,15,182,131,233,168,235,15,133,244,251,252,233,244,247,
- 248,147,15,182,131,233,168,235,15,133,244,251,168,235,15,132,244,251,252,
- 255,139,233,15,132,244,247,168,235,15,132,244,251,248,1,255,139,108,36,48,
- 137,149,233,137,252,242,137,252,233,232,251,1,22,248,3,139,149,233,248,4,
- 15,182,78,252,253,248,5,15,182,110,252,252,15,183,70,252,254,252,255,164,
- 253,171,233,248,148,131,198,4,139,77,232,137,76,36,20,252,233,244,4,248,149,
- 255,139,106,252,248,139,173,233,15,182,133,233,141,4,194,139,108,36,48,137,
- 149,233,137,133,233,137,252,242,141,139,233,137,171,233,137,116,36,24,232,
- 251,1,23,252,233,244,3,255,248,150,137,116,36,24,255,248,151,255,137,116,
- 36,24,131,206,1,248,1,255,141,68,194,252,248,139,108,36,48,137,149,233,137,
- 133,233,137,252,242,137,252,233,232,251,1,24,199,68,36,24,0,0,0,0,255,131,
- 230,252,254,255,139,149,233,137,193,139,133,233,41,208,137,205,15,182,78,
- 252,253,193,232,3,131,192,1,252,255,229,248,152,255,85,141,108,36,12,85,83,
- 82,81,80,15,182,69,252,252,138,101,252,248,137,125,252,252,137,117,252,248,
- 139,93,0,139,139,233,199,131,233,237,137,131,233,137,139,233,129,252,236,
- 239,252,242,15,17,125,216,252,242,15,17,117,208,252,242,15,17,109,200,252,
- 242,15,17,101,192,252,242,15,17,93,184,252,242,15,17,85,176,252,242,15,17,
- 77,168,252,242,15,17,69,160,139,171,233,139,147,233,137,171,233,199,131,233,
- 0,0,0,0,137,149,233,141,84,36,16,141,139,233,232,251,1,25,139,141,233,129,
- 225,239,137,204,137,169,233,139,149,233,139,177,233,255,248,153,255,133,192,
- 15,136,244,249,137,68,36,20,139,122,252,248,139,191,233,139,191,233,199,131,
- 233,0,0,0,0,199,131,233,237,139,6,15,182,204,15,182,232,131,198,4,193,232,
- 16,129,252,253,239,15,130,244,248,139,68,36,20,248,2,252,255,36,171,248,3,
- 252,247,216,137,252,233,137,194,232,251,1,26,255,248,91,255,217,124,36,4,
- 137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,
- 36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,154,102,
- 15,252,239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,
- 102,15,112,219,81,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,
- 15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,184,0,0,252,240,
- 63,102,15,110,208,102,15,112,210,81,252,242,15,194,193,1,102,15,84,194,252,
- 242,15,92,200,15,40,193,248,1,195,248,93,255,217,124,36,4,137,68,36,8,102,
- 184,0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,
- 6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,155,102,15,252,239,210,
- 102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,102,15,112,219,
- 81,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252,
- 242,15,88,203,252,242,15,92,203,102,15,86,202,184,0,0,252,240,191,102,15,
- 110,208,102,15,112,210,81,252,242,15,194,193,6,102,15,84,194,252,242,15,92,
- 200,15,40,193,248,1,195,248,114,255,217,124,36,4,137,68,36,8,102,184,0,12,
- 102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,
- 68,36,8,195,255,248,156,102,15,252,239,210,102,15,118,210,102,15,115,210,
- 1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,200,102,15,84,202,
- 102,15,46,217,15,134,244,247,102,15,85,208,15,40,193,252,242,15,88,203,252,
- 242,15,92,203,184,0,0,252,240,63,102,15,110,216,102,15,112,219,81,252,242,
- 15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86,202,15,40,193,248,
- 1,195,248,157,255,15,40,232,252,242,15,94,193,102,15,252,239,210,102,15,118,
- 210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,
- 224,102,15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,
- 227,252,242,15,92,227,102,15,86,226,184,0,0,252,240,63,102,15,110,208,102,
- 15,112,210,81,252,242,15,194,196,1,102,15,84,194,252,242,15,92,224,15,40,
- 197,252,242,15,89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15,40,
- 197,252,242,15,92,193,195,255,217,193,216,252,241,217,124,36,4,102,184,0,
- 4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,
- 252,252,217,108,36,4,222,201,222,252,233,195,255,248,98,217,252,234,222,201,
- 248,158,217,84,36,4,129,124,36,4,0,0,128,127,15,132,244,247,129,124,36,4,
- 0,0,128,252,255,15,132,244,248,248,159,217,192,217,252,252,220,252,233,217,
- 201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,
- 217,252,238,195,255,248,117,219,84,36,4,219,68,36,4,255,223,252,233,255,221,
- 252,233,223,224,158,255,15,133,244,254,15,138,244,255,221,216,139,68,36,4,
- 131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,248,216,200,209,
- 232,252,233,244,1,248,2,209,232,15,132,244,251,217,192,248,3,216,200,209,
- 232,15,132,244,250,15,131,244,3,220,201,252,233,244,3,248,4,255,222,201,248,
- 5,195,248,6,15,132,244,5,15,130,244,253,217,232,222,252,241,252,247,216,131,
- 252,248,1,15,132,244,5,252,233,244,1,248,7,221,216,217,232,195,248,8,217,
- 84,36,4,217,201,217,84,36,8,139,68,36,4,209,224,61,0,0,0,252,255,15,132,244,
- 248,139,68,36,8,209,224,15,132,244,250,61,0,0,0,252,255,15,132,244,250,217,
- 252,241,252,233,244,159,248,9,255,217,232,255,223,252,234,255,221,252,234,
- 223,224,158,255,15,132,244,247,217,201,248,1,221,216,195,248,2,217,225,217,
- 232,255,15,132,244,249,221,216,217,225,217,252,238,184,0,0,0,0,15,146,208,
- 209,200,51,68,36,4,15,137,244,249,217,201,248,3,221,217,217,225,195,248,4,
- 131,124,36,4,0,15,141,244,3,221,216,221,216,133,192,15,132,244,251,217,252,
- 238,195,248,5,199,68,36,4,0,0,128,127,217,68,36,4,195,255,248,117,255,248,
- 160,252,242,15,45,193,252,242,15,42,208,102,15,46,202,15,133,244,254,15,138,
- 244,255,248,161,131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,
- 248,252,242,15,89,192,209,232,252,233,244,1,248,2,209,232,15,132,244,251,
- 15,40,200,248,3,252,242,15,89,192,209,232,15,132,244,250,15,131,244,3,255,
- 252,242,15,89,200,252,233,244,3,248,4,252,242,15,89,193,248,5,195,248,6,15,
- 132,244,5,15,130,244,253,252,247,216,232,244,1,184,0,0,252,240,63,102,15,
- 110,200,102,15,112,201,81,252,242,15,94,200,15,40,193,195,248,7,184,0,0,252,
- 240,63,102,15,110,192,102,15,112,192,81,195,248,8,252,242,15,17,76,36,12,
- 252,242,15,17,68,36,4,131,124,36,12,0,15,133,244,247,139,68,36,16,209,224,
- 61,0,0,224,252,255,15,132,244,248,248,1,131,124,36,4,0,15,133,244,247,255,
- 139,68,36,8,209,224,15,132,244,250,61,0,0,224,252,255,15,132,244,251,248,
- 1,221,68,36,12,221,68,36,4,217,252,241,217,192,217,252,252,220,252,233,217,
- 201,217,252,240,217,232,222,193,217,252,253,221,217,221,92,36,4,252,242,15,
- 16,68,36,4,195,248,9,184,0,0,252,240,63,102,15,110,208,102,15,112,210,81,
- 102,15,46,194,15,132,244,247,15,40,193,248,1,195,248,2,102,15,252,239,210,
- 102,15,118,210,102,15,115,210,1,102,15,84,194,184,0,0,252,240,63,102,15,110,
- 208,102,15,112,210,81,102,15,46,194,15,132,244,1,102,15,80,193,15,87,192,
- 136,196,15,146,208,48,224,15,133,244,1,248,3,184,0,0,252,240,127,102,15,110,
- 192,102,15,112,192,81,195,248,4,102,15,80,193,133,192,15,133,244,3,15,87,
- 192,195,248,5,102,15,80,193,133,192,15,132,244,3,255,15,87,192,195,248,162,
- 255,139,68,36,12,252,242,15,16,68,36,4,131,252,248,1,15,132,244,247,15,135,
- 244,248,232,244,91,252,233,244,253,248,1,232,244,93,252,233,244,253,248,2,
- 131,252,248,3,15,132,244,247,15,135,244,248,232,244,114,255,252,233,244,253,
- 248,1,252,242,15,81,192,248,7,252,242,15,17,68,36,4,221,68,36,4,195,248,2,
- 221,68,36,4,131,252,248,5,15,130,244,98,15,132,244,158,248,2,131,252,248,
- 7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1,
- 217,232,217,201,217,252,241,195,248,2,131,252,248,9,15,132,244,247,15,135,
- 244,248,255,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248,
- 2,131,252,248,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217,
- 252,242,221,216,195,255,139,68,36,12,221,68,36,4,131,252,248,1,15,130,244,
- 91,15,132,244,93,131,252,248,3,15,130,244,114,15,135,244,248,217,252,250,
- 195,248,2,131,252,248,5,15,130,244,98,15,132,244,158,131,252,248,7,15,132,
- 244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1,217,232,
- 217,201,217,252,241,195,248,2,131,252,248,9,15,132,244,247,255,15,135,244,
- 248,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248,2,131,252,
- 248,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217,252,242,221,
- 216,195,255,248,9,204,255,248,163,255,139,68,36,20,252,242,15,16,68,36,4,
- 252,242,15,16,76,36,12,131,252,248,1,15,132,244,247,15,135,244,248,252,242,
- 15,88,193,248,7,252,242,15,17,68,36,4,221,68,36,4,195,248,1,252,242,15,92,
- 193,252,233,244,7,248,2,131,252,248,3,15,132,244,247,15,135,244,248,252,242,
- 15,89,193,252,233,244,7,248,1,252,242,15,94,193,252,233,244,7,248,2,131,252,
- 248,5,15,132,244,247,255,15,135,244,248,232,244,157,252,233,244,7,248,1,90,
- 232,244,117,82,252,233,244,7,248,2,131,252,248,7,15,132,244,247,15,135,244,
- 248,184,0,0,0,128,102,15,110,200,102,15,112,201,81,15,87,193,252,233,244,
- 7,248,1,102,15,252,239,201,102,15,118,201,102,15,115,209,1,15,84,193,252,
- 233,244,7,248,2,255,131,252,248,9,15,135,244,248,221,68,36,4,221,68,36,12,
- 15,132,244,247,217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,
- 2,131,252,248,11,15,132,244,247,15,135,244,255,252,242,15,93,193,252,233,
- 244,7,248,1,252,242,15,95,193,252,233,244,7,248,9,204,255,139,68,36,20,221,
- 68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,222,193,
- 195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,244,248,
- 222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,157,15,132,
- 244,117,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,217,224,195,
- 248,1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,15,135,244,248,
- 217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,248,11,
- 15,132,244,247,15,135,244,255,255,219,252,233,219,209,221,217,195,248,1,219,
- 252,233,218,209,221,217,195,255,221,225,223,224,252,246,196,1,15,132,244,
- 248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133,
- 244,248,217,201,248,2,221,216,195,255,248,164,156,90,137,209,129,252,242,
- 0,0,32,0,82,157,156,90,49,192,57,209,15,132,244,247,139,68,36,4,87,83,15,
- 162,139,124,36,16,137,7,137,95,4,137,79,8,137,87,12,91,95,248,1,195,248,165,
- 255,204,248,166,255,131,252,236,16,87,86,83,131,252,236,28,141,157,233,139,
- 181,233,15,183,192,137,134,233,141,132,253,36,233,137,142,233,137,150,233,
- 137,134,233,139,140,253,36,233,139,148,253,36,233,137,76,36,44,137,84,36,
- 40,137,226,137,116,36,24,137,252,241,232,251,1,27,199,131,233,237,139,144,
- 233,139,128,233,41,208,139,106,252,248,193,232,3,131,192,1,139,181,233,139,
- 14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,255,248,32,255,139,
- 76,36,48,139,179,233,137,142,233,137,145,233,137,169,233,137,252,241,137,
- 194,232,251,1,28,139,108,36,48,139,134,233,139,150,233,131,190,233,1,15,130,
- 244,253,15,132,244,252,221,134,233,252,233,244,253,248,6,217,134,233,248,
- 7,139,141,233,15,183,73,6,137,76,36,48,131,196,28,91,94,95,93,89,3,36,36,
- 131,196,16,81,195,255,248,167,255,85,137,229,83,137,203,43,163,233,255,137,
- 163,233,255,15,182,139,233,131,252,233,1,15,136,244,248,248,1,139,132,253,
- 139,233,137,4,140,131,252,233,1,15,137,244,1,248,2,139,139,233,139,147,233,
- 252,255,147,233,137,131,233,137,147,233,128,187,233,1,15,130,244,253,15,132,
- 244,252,221,155,233,252,233,244,253,248,6,255,217,155,233,248,7,255,41,163,
- 233,255,139,93,252,252,201,195,255,249,255,129,124,253,202,4,239,15,133,244,
- 253,129,124,253,194,4,239,15,133,244,254,139,44,202,131,198,4,59,44,194,255,
- 15,141,244,255,255,15,140,244,255,255,15,143,244,255,255,15,142,244,255,255,
- 248,6,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15,182,
- 232,131,198,4,193,232,16,252,255,36,171,248,7,15,135,244,44,129,124,253,194,
- 4,239,15,130,244,247,15,133,244,44,255,252,242,15,42,4,194,252,233,244,248,
- 255,221,4,202,219,4,194,252,233,244,249,255,248,8,15,135,244,44,255,252,242,
- 15,42,12,202,252,242,15,16,4,194,131,198,4,102,15,46,193,255,15,134,244,9,
- 255,15,135,244,9,255,15,130,244,9,255,15,131,244,9,255,252,233,244,6,255,
- 219,4,202,252,233,244,248,255,129,124,253,202,4,239,15,131,244,44,129,124,
- 253,194,4,239,15,131,244,44,255,248,1,252,242,15,16,4,194,248,2,131,198,4,
- 102,15,46,4,202,248,3,255,248,1,221,4,202,248,2,221,4,194,248,3,131,198,4,
- 255,15,135,244,247,255,15,130,244,247,255,15,131,244,247,255,15,183,70,252,
- 254,141,180,253,134,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,
- 16,252,255,36,171,255,139,108,194,4,131,198,4,255,129,252,253,239,15,133,
- 244,253,129,124,253,202,4,239,15,133,244,254,139,44,194,59,44,202,255,15,
- 133,244,255,255,15,132,244,255,255,15,183,70,252,254,141,180,253,134,233,
- 248,9,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,
- 7,15,135,244,251,129,124,253,202,4,239,15,130,244,247,15,133,244,251,255,
- 252,242,15,42,4,202,255,219,4,202,255,252,233,244,248,248,8,15,135,244,251,
- 255,252,242,15,42,4,194,102,15,46,4,202,255,219,4,194,221,4,202,255,252,233,
- 244,250,255,129,252,253,239,15,131,244,251,129,124,253,202,4,239,15,131,244,
- 251,255,248,1,252,242,15,16,4,202,248,2,102,15,46,4,194,248,4,255,248,1,221,
- 4,202,248,2,221,4,194,248,4,255,15,138,244,248,15,133,244,248,255,15,138,
- 244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253,134,233,248,
- 2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,252,233,244,9,
- 255,248,5,255,129,252,253,239,15,132,244,49,129,124,253,202,4,239,15,132,
- 244,49,255,57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,
- 202,139,4,194,57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169,233,
- 133,252,237,15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,237,
- 255,189,1,0,0,0,255,252,233,244,48,255,248,3,129,252,253,239,255,15,133,244,
- 9,255,252,233,244,49,255,252,247,208,139,108,202,4,131,198,4,129,252,253,
- 239,15,133,244,249,139,12,202,59,12,135,255,139,108,202,4,131,198,4,255,129,
- 252,253,239,15,133,244,253,129,124,253,199,4,239,15,133,244,254,139,44,199,
- 59,44,202,255,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,
- 15,182,232,131,198,4,193,232,16,252,255,36,171,248,7,15,135,244,249,129,124,
- 253,199,4,239,15,130,244,247,255,252,242,15,42,4,199,255,219,4,199,255,252,
- 233,244,248,248,8,255,252,242,15,42,4,202,102,15,46,4,199,255,219,4,202,221,
- 4,199,255,129,252,253,239,15,131,244,249,255,248,1,252,242,15,16,4,199,248,
- 2,102,15,46,4,202,248,4,255,248,1,221,4,199,248,2,221,4,202,248,4,255,252,
- 247,208,139,108,202,4,131,198,4,57,197,255,15,133,244,249,15,183,70,252,254,
- 141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
- 252,255,36,171,248,3,129,252,253,239,15,133,244,2,252,233,244,49,255,15,132,
- 244,248,129,252,253,239,15,132,244,49,15,183,70,252,254,141,180,253,134,233,
- 248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,
- 139,108,194,4,131,198,4,129,252,253,239,255,137,108,202,4,139,44,194,137,
- 44,202,255,139,108,194,4,139,4,194,137,108,202,4,137,4,202,139,6,15,182,204,
- 15,182,232,131,198,4,193,232,16,252,255,36,171,255,49,252,237,129,124,253,
- 194,4,239,129,213,239,137,108,202,4,139,6,15,182,204,15,182,232,131,198,4,
- 193,232,16,252,255,36,171,255,129,124,253,194,4,239,15,133,244,251,139,44,
- 194,252,247,221,15,128,244,250,199,68,202,4,237,137,44,202,248,9,139,6,15,
- 182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,4,199,68,202,4,
- 0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,248,5,15,135,244,54,255,129,124,
- 253,194,4,239,15,131,244,54,255,252,242,15,16,4,194,184,0,0,0,128,102,15,
- 110,200,102,15,112,201,81,15,87,193,252,242,15,17,4,202,255,221,4,194,217,
- 224,221,28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,139,
- 128,233,248,1,199,68,202,4,237,137,4,202,255,15,87,192,252,242,15,42,128,
- 233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,
- 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,129,124,253,
- 194,4,239,15,133,244,57,139,12,194,255,139,169,233,131,252,253,0,15,133,244,
- 255,248,3,255,248,58,137,213,232,251,1,20,255,252,242,15,42,192,255,137,4,
- 36,219,4,36,255,137,252,234,15,182,78,252,253,252,233,244,1,255,248,9,252,
- 246,133,233,235,15,133,244,3,252,233,244,57,255,15,182,252,236,15,182,192,
- 255,129,124,253,252,234,4,239,15,133,244,51,129,124,253,199,4,239,15,133,
- 244,51,139,44,252,234,3,44,199,15,128,244,50,255,129,124,253,252,234,4,239,
- 15,133,244,53,129,124,253,199,4,239,15,133,244,53,139,4,199,3,4,252,234,15,
- 128,244,52,255,129,124,253,252,234,4,239,15,133,244,56,129,124,253,194,4,
- 239,15,133,244,56,139,44,252,234,3,44,194,15,128,244,55,255,199,68,202,4,
- 237,255,129,124,253,252,234,4,239,15,131,244,51,255,129,124,253,199,4,239,
- 15,131,244,51,255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,221,4,252,
- 234,220,4,199,255,129,124,253,252,234,4,239,15,131,244,53,255,129,124,253,
- 199,4,239,15,131,244,53,255,252,242,15,16,4,199,252,242,15,88,4,252,234,255,
- 221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,56,129,124,
- 253,194,4,239,15,131,244,56,255,252,242,15,16,4,252,234,252,242,15,88,4,194,
- 255,221,4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244,51,129,
- 124,253,199,4,239,15,133,244,51,139,44,252,234,43,44,199,15,128,244,50,255,
- 129,124,253,252,234,4,239,15,133,244,53,129,124,253,199,4,239,15,133,244,
- 53,139,4,199,43,4,252,234,15,128,244,52,255,129,124,253,252,234,4,239,15,
- 133,244,56,129,124,253,194,4,239,15,133,244,56,139,44,252,234,43,44,194,15,
- 128,244,55,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252,
- 234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,255,221,4,
- 199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221,
- 4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133,244,51,129,124,
- 253,199,4,239,15,133,244,51,139,44,252,234,15,175,44,199,15,128,244,50,255,
- 129,124,253,252,234,4,239,15,133,244,53,129,124,253,199,4,239,15,133,244,
- 53,139,4,199,15,175,4,252,234,15,128,244,52,255,129,124,253,252,234,4,239,
- 15,133,244,56,129,124,253,194,4,239,15,133,244,56,139,44,252,234,15,175,44,
- 194,15,128,244,55,255,252,242,15,16,4,252,234,252,242,15,89,4,199,255,221,
- 4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,15,89,4,252,234,255,
- 221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4,194,
- 255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,242,15,94,4,
- 199,255,221,4,252,234,220,52,199,255,252,242,15,16,4,199,252,242,15,94,4,
- 252,234,255,221,4,199,220,52,252,234,255,252,242,15,16,4,252,234,252,242,
- 15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252,
- 242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242,15,16,4,199,252,
- 242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252,242,15,16,4,252,
- 234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,168,232,244,
- 157,255,252,233,244,168,255,232,244,117,255,15,182,252,236,15,182,192,141,
- 12,194,41,232,137,76,36,4,137,68,36,8,248,36,139,108,36,48,137,44,36,137,
- 149,233,137,116,36,24,232,251,1,29,139,149,233,133,192,15,133,244,45,15,182,
- 110,252,255,15,182,78,252,253,139,68,252,234,4,139,44,252,234,137,68,202,
- 4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
- 171,255,252,247,208,139,4,135,199,68,202,4,237,137,4,202,139,6,15,182,204,
- 15,182,232,131,198,4,193,232,16,252,255,36,171,255,15,191,192,199,68,202,
- 4,237,137,4,202,255,15,191,192,252,242,15,42,192,252,242,15,17,4,202,255,
- 223,70,252,254,221,28,202,255,252,242,15,16,4,199,252,242,15,17,4,202,255,
- 221,4,199,221,28,202,255,252,247,208,137,68,202,4,139,6,15,182,204,15,182,
- 232,131,198,4,193,232,16,252,255,36,171,255,141,76,202,12,141,68,194,4,189,
- 237,137,105,252,248,248,1,137,41,131,193,8,57,193,15,134,244,1,139,6,15,182,
- 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,106,252,248,139,
- 172,253,133,233,139,173,233,139,69,4,139,109,0,137,68,202,4,137,44,202,139,
- 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,106,252,
- 248,139,172,253,141,233,128,189,233,0,139,173,233,139,12,194,139,68,194,4,
- 137,77,0,137,69,4,15,132,244,247,252,246,133,233,235,15,133,244,248,248,1,
- 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,129,
- 232,239,129,252,248,239,15,134,244,1,252,246,129,233,235,15,132,244,1,135,
- 213,141,139,233,255,232,251,1,30,137,252,234,252,233,244,1,255,252,247,208,
- 139,106,252,248,139,172,253,141,233,139,12,135,139,133,233,137,8,199,64,4,
- 237,252,246,133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,
- 131,198,4,193,232,16,252,255,36,171,248,2,252,246,129,233,235,15,132,244,
- 1,128,189,233,0,15,132,244,1,137,213,137,194,141,139,233,232,251,1,30,137,
- 252,234,252,233,244,1,255,139,106,252,248,255,252,242,15,16,4,199,255,139,
- 172,253,141,233,139,141,233,255,252,242,15,17,1,255,221,25,255,252,247,208,
- 139,106,252,248,139,172,253,141,233,139,141,233,137,65,4,139,6,15,182,204,
- 15,182,232,131,198,4,193,232,16,252,255,36,171,255,141,180,253,134,233,139,
- 108,36,48,131,189,233,0,15,132,244,247,137,149,233,141,20,202,137,252,233,
- 232,251,1,31,139,149,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,
- 232,16,252,255,36,171,255,252,247,208,139,74,252,248,139,4,135,139,108,36,
- 48,137,76,36,8,137,68,36,4,137,44,36,137,149,233,137,116,36,24,232,251,1,
- 32,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,
- 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,108,36,48,137,
- 149,233,139,139,233,59,139,233,137,116,36,24,15,131,244,251,248,1,137,193,
- 37,252,255,7,0,0,193,252,233,11,137,76,36,8,61,252,255,7,0,0,15,132,244,249,
- 248,2,137,44,36,137,68,36,4,232,251,1,33,139,149,233,15,182,78,252,253,137,
- 4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
- 255,36,171,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252,233,232,251,1,34,
- 15,183,70,252,254,252,233,244,1,255,252,247,208,139,108,36,48,139,139,233,
- 137,116,36,24,59,139,233,137,149,233,15,131,244,249,248,2,139,20,135,137,
- 252,233,232,251,1,35,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,
- 237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,
- 137,252,233,232,251,1,34,15,183,70,252,254,252,247,208,252,233,244,2,255,
- 252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,169,255,252,
- 247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,170,255,15,182,
- 252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,39,139,44,252,234,
- 255,129,124,253,194,4,239,15,133,244,251,139,4,194,255,129,124,253,194,4,
- 239,15,131,244,251,255,252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,
- 200,102,15,46,193,255,221,4,194,219,20,36,219,4,36,255,15,133,244,39,255,
- 59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15,132,244,
- 248,139,40,139,64,4,137,44,202,137,68,202,4,248,1,139,6,15,182,204,15,182,
- 232,131,198,4,193,232,16,252,255,36,171,248,2,131,189,233,0,15,132,244,249,
- 139,141,233,252,246,129,233,235,15,132,244,39,15,182,78,252,253,248,3,199,
- 68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,39,
- 139,4,194,252,233,244,169,255,15,182,252,236,15,182,192,252,247,208,139,4,
- 135,129,124,253,252,234,4,239,15,133,244,37,139,44,252,234,248,169,139,141,
- 233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,244,250,
- 57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,70,252,
- 253,139,41,139,73,4,137,44,194,137,76,194,4,248,2,255,139,6,15,182,204,15,
- 182,232,131,198,4,193,232,16,252,255,36,171,248,3,15,182,70,252,253,199,68,
- 194,4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,
- 141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,
- 37,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,38,
- 139,44,252,234,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,
- 239,15,132,244,248,139,40,139,64,4,137,44,202,137,68,202,4,248,1,139,6,15,
- 182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,131,189,233,
- 0,15,132,244,249,139,141,233,252,246,129,233,235,15,132,244,38,255,15,182,
- 78,252,253,248,3,199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,
- 192,129,124,253,252,234,4,239,15,133,244,42,139,44,252,234,255,15,133,244,
- 42,255,59,133,233,15,131,244,42,193,224,3,3,133,233,129,120,253,4,239,15,
- 132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,
- 139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,
- 16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,139,141,233,252,246,129,
- 233,235,255,15,132,244,42,15,182,78,252,253,252,233,244,1,248,5,129,124,253,
- 194,4,239,15,133,244,42,139,4,194,252,233,244,170,248,7,128,165,233,235,139,
- 139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,15,182,
- 252,236,15,182,192,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,
- 244,40,139,44,252,234,248,170,139,141,233,35,136,233,105,201,239,198,133,
- 233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,244,
- 251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,133,
- 244,253,248,3,15,182,70,252,253,139,108,194,4,139,4,194,137,105,4,137,1,139,
- 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,4,131,189,
- 233,0,15,132,244,2,137,76,36,16,139,141,233,252,246,129,233,235,15,132,244,
- 40,139,76,36,16,252,233,244,2,248,5,139,137,233,133,201,15,133,244,1,255,
- 139,141,233,133,201,15,132,244,252,252,246,129,233,235,15,132,244,40,248,
- 6,137,68,36,16,199,68,36,20,237,137,108,36,12,141,68,36,16,137,108,36,4,139,
- 108,36,48,137,68,36,8,137,44,36,137,149,233,137,116,36,24,232,251,1,36,139,
- 149,233,139,108,36,12,137,193,252,233,244,2,248,7,128,165,233,235,139,131,
- 233,137,171,233,137,133,233,252,233,244,3,255,15,182,252,236,15,182,192,129,
- 124,253,252,234,4,239,15,133,244,41,139,44,252,234,59,133,233,15,131,244,
- 41,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,
- 233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,
- 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,131,189,
- 233,0,15,132,244,1,255,139,141,233,252,246,129,233,235,15,132,244,41,15,182,
- 78,252,253,252,233,244,1,248,7,128,165,233,235,139,139,233,137,171,233,137,
- 141,233,15,182,78,252,253,252,233,244,2,255,137,124,36,16,139,60,199,248,
- 1,141,12,202,139,105,252,248,252,246,133,233,235,15,133,244,253,248,2,139,
- 68,36,20,131,232,1,15,132,244,250,1,252,248,59,133,233,15,135,244,251,41,
- 252,248,193,231,3,3,189,233,248,3,139,41,137,47,139,105,4,131,193,8,137,111,
- 4,131,199,8,131,232,1,15,133,244,3,248,4,139,124,36,16,139,6,15,182,204,15,
- 182,232,131,198,4,193,232,16,252,255,36,171,248,5,137,108,36,4,139,108,36,
- 48,137,149,233,137,68,36,8,137,44,36,137,116,36,24,232,251,1,37,139,149,233,
- 15,182,78,252,253,252,233,244,1,248,7,255,128,165,233,235,139,131,233,137,
- 171,233,137,133,233,252,233,244,2,255,3,68,36,20,255,129,124,253,202,4,239,
- 139,44,202,15,133,244,59,141,84,202,8,137,114,252,252,139,181,233,139,14,
- 15,182,252,233,15,182,205,131,198,4,252,255,36,171,255,141,76,202,8,137,215,
- 139,105,252,248,129,121,253,252,252,239,15,133,244,29,248,60,139,114,252,
- 252,252,247,198,237,15,133,244,253,248,1,137,106,252,248,137,68,36,20,131,
- 232,1,15,132,244,249,248,2,139,41,137,47,139,105,4,131,193,8,137,111,4,131,
- 199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,20,128,189,233,
- 1,15,135,244,251,248,4,139,181,233,139,14,15,182,252,233,15,182,205,131,198,
- 4,252,255,36,171,248,5,255,252,247,198,237,15,133,244,4,15,182,78,252,253,
- 252,247,209,141,12,202,139,121,252,248,139,191,233,139,191,233,252,233,244,
- 4,248,7,129,252,238,239,252,247,198,237,15,133,244,254,41,252,242,137,215,
- 139,114,252,252,252,233,244,1,248,8,129,198,239,252,233,244,1,255,141,76,
- 202,8,139,105,232,139,65,252,236,137,41,137,65,4,139,105,252,240,139,65,252,
- 244,137,105,8,137,65,12,139,105,224,139,65,228,137,105,252,248,137,65,252,
- 252,129,252,248,239,184,237,15,133,244,29,137,202,137,114,252,252,139,181,
- 233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,255,137,124,
- 36,16,137,92,36,20,139,108,202,252,240,139,68,202,252,248,139,157,233,131,
- 198,4,139,189,233,248,1,57,216,15,131,244,251,129,124,253,199,4,239,15,132,
- 244,250,255,219,68,202,252,248,255,139,108,199,4,137,108,202,12,139,44,199,
- 137,108,202,8,131,192,1,255,137,68,202,252,248,248,2,15,183,70,252,254,141,
- 180,253,134,233,248,3,139,92,36,20,139,124,36,16,139,6,15,182,204,15,182,
- 232,131,198,4,193,232,16,252,255,36,171,248,4,131,192,1,255,137,68,202,252,
- 248,255,252,233,244,1,248,5,41,216,248,6,59,133,233,15,135,244,3,105,252,
- 248,239,3,189,233,129,191,233,239,15,132,244,253,141,92,24,1,139,175,233,
- 139,135,233,137,44,202,137,68,202,4,139,175,233,139,135,233,137,108,202,8,
- 137,68,202,12,137,92,202,252,248,252,233,244,2,248,7,255,131,192,1,252,233,
- 244,6,255,129,124,253,202,252,236,239,15,133,244,251,139,108,202,232,129,
- 124,253,202,252,244,239,15,133,244,251,129,124,253,202,252,252,239,15,133,
- 244,251,128,189,233,235,15,133,244,251,141,180,253,134,233,199,68,202,252,
- 248,0,0,0,0,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
- 36,171,248,5,198,70,252,252,235,141,180,253,134,233,198,6,235,252,233,244,
- 1,255,15,182,252,236,15,182,192,137,124,36,16,141,188,253,194,233,141,12,
- 202,43,122,252,252,133,252,237,15,132,244,251,141,108,252,233,252,248,57,
- 215,15,131,244,248,248,1,139,71,252,248,137,1,139,71,252,252,131,199,8,137,
- 65,4,131,193,8,57,252,233,15,131,244,249,57,215,15,130,244,1,248,2,199,65,
- 4,237,131,193,8,57,252,233,15,130,244,2,248,3,139,124,36,16,139,6,15,182,
- 204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,5,199,68,36,20,1,0,
- 0,0,137,208,41,252,248,15,134,244,3,137,197,193,252,237,3,131,197,1,137,108,
- 36,20,139,108,36,48,1,200,59,133,233,15,135,244,253,248,6,255,139,71,252,
- 248,137,1,139,71,252,252,131,199,8,137,65,4,131,193,8,57,215,15,130,244,6,
- 252,233,244,3,248,7,137,149,233,137,141,233,137,116,36,24,41,215,139,84,36,
- 20,131,252,234,1,137,252,233,232,251,1,0,139,149,233,139,141,233,1,215,252,
- 233,244,6,255,193,225,3,255,248,1,139,114,252,252,137,68,36,20,252,247,198,
- 237,15,133,244,253,255,248,13,137,215,131,232,1,15,132,244,249,248,2,139,
- 44,15,137,111,252,248,139,108,15,4,137,111,252,252,131,199,8,131,232,1,15,
- 133,244,2,248,3,139,68,36,20,15,182,110,252,255,248,5,57,197,15,135,244,252,
- 255,139,108,10,4,137,106,252,252,139,44,10,137,106,252,248,255,248,5,56,70,
- 252,255,15,135,244,252,255,15,182,78,252,253,252,247,209,141,20,202,139,122,
- 252,248,139,191,233,139,191,233,139,6,15,182,204,15,182,232,131,198,4,193,
- 232,16,252,255,36,171,248,6,255,199,71,252,252,237,131,199,8,255,199,68,194,
- 252,244,237,255,131,192,1,252,233,244,5,248,7,141,174,233,252,247,197,237,
- 15,133,244,14,41,252,234,255,1,252,233,255,137,252,245,209,252,237,129,229,
- 239,102,129,172,253,43,233,238,15,130,244,149,255,141,12,202,255,129,121,
- 253,4,239,15,133,244,255,255,129,121,253,12,239,15,133,244,61,129,121,253,
- 20,239,15,133,244,61,139,41,131,121,16,0,15,140,244,251,255,129,121,253,12,
- 239,15,133,244,165,129,121,253,20,239,15,133,244,165,255,139,105,16,133,252,
- 237,15,136,244,251,3,41,15,128,244,247,137,41,255,59,105,8,199,65,28,237,
- 137,105,24,255,15,142,244,253,248,1,248,6,141,180,253,134,233,255,141,180,
- 253,134,233,15,183,70,252,254,15,142,245,248,1,248,6,255,15,143,244,253,248,
- 6,141,180,253,134,233,248,1,255,248,7,139,6,15,182,204,15,182,232,131,198,
- 4,193,232,16,252,255,36,171,248,5,255,3,41,15,128,244,1,137,41,255,15,141,
- 244,7,255,141,180,253,134,233,15,183,70,252,254,15,141,245,255,15,140,244,
- 7,255,252,233,244,6,248,9,255,129,121,253,4,239,255,15,131,244,61,129,121,
- 253,12,239,15,131,244,61,255,129,121,253,12,239,15,131,244,165,129,121,253,
- 20,239,15,131,244,165,255,139,105,20,255,129,252,253,239,15,131,244,61,255,
- 252,242,15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,
- 1,133,252,237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,248,1,252,
- 242,15,17,65,24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,
- 237,15,136,244,247,255,221,81,24,15,140,244,247,255,217,201,248,1,255,15,
- 183,70,252,254,255,15,131,244,7,255,15,131,244,248,141,180,253,134,233,255,
- 141,180,253,134,233,15,183,70,252,254,15,131,245,255,15,130,244,7,255,15,
- 130,244,248,141,180,253,134,233,255,248,3,102,15,46,193,252,233,244,1,255,
- 141,12,202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252,252,139,
- 41,137,105,252,248,252,233,245,255,141,180,253,134,233,139,1,137,105,252,
- 252,137,65,252,248,255,139,139,233,139,4,129,139,128,233,139,108,36,48,137,
- 147,233,137,171,233,252,255,224,255,141,180,253,134,233,139,6,15,182,204,
- 15,182,232,131,198,4,193,232,16,252,255,36,171,255,137,252,245,209,252,237,
- 129,229,239,102,129,172,253,43,233,238,15,130,244,151,255,139,190,233,139,
- 108,36,48,141,12,202,59,141,233,15,135,244,24,15,182,142,233,57,200,15,134,
- 244,249,248,2,255,15,183,70,252,254,252,233,245,255,248,3,199,68,194,252,
- 252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,255,141,44,197,237,141,
- 4,194,139,122,252,248,137,104,252,252,137,120,252,248,139,108,36,48,141,12,
- 200,59,141,233,15,135,244,23,137,209,137,194,15,182,174,233,133,252,237,15,
- 132,244,248,248,1,131,193,8,57,209,15,131,244,249,139,121,252,248,137,56,
- 139,121,252,252,137,120,4,131,192,8,199,65,252,252,237,131,252,237,1,15,133,
- 244,1,248,2,255,139,190,233,139,6,15,182,204,15,182,232,131,198,4,193,232,
- 16,252,255,36,171,255,248,3,199,64,4,237,131,192,8,131,252,237,1,15,133,244,
- 3,252,233,244,2,255,139,106,252,248,139,189,233,139,108,36,48,141,68,194,
- 252,248,137,149,233,141,136,233,59,141,233,137,133,233,255,137,44,36,255,
- 137,124,36,4,137,44,36,255,15,135,244,22,199,131,233,237,255,252,255,215,
- 255,252,255,147,233,255,199,131,233,237,139,149,233,141,12,194,252,247,217,
- 3,141,233,139,114,252,252,252,233,244,12,255,254,0
-};
-
-enum {
- GLOB_vm_returnp,
- GLOB_cont_dispatch,
- GLOB_vm_returnc,
- GLOB_BC_RET_Z,
- GLOB_vm_return,
- GLOB_vm_leave_cp,
- GLOB_vm_leave_unw,
- GLOB_vm_unwind_c,
- GLOB_vm_unwind_c_eh,
- GLOB_vm_unwind_rethrow,
- GLOB_vm_unwind_ff,
- GLOB_vm_unwind_ff_eh,
- GLOB_vm_growstack_c,
- GLOB_vm_growstack_v,
- GLOB_vm_growstack_f,
- GLOB_vm_resume,
- GLOB_vm_pcall,
- GLOB_vm_call,
- GLOB_vm_call_dispatch,
- GLOB_vmeta_call,
- GLOB_vm_call_dispatch_f,
- GLOB_vm_cpcall,
- GLOB_cont_ffi_callback,
- GLOB_vm_call_tail,
- GLOB_cont_cat,
- GLOB_cont_ra,
- GLOB_BC_CAT_Z,
- GLOB_vmeta_tgets,
- GLOB_vmeta_tgetb,
- GLOB_vmeta_tgetv,
- GLOB_vmeta_tsets,
- GLOB_vmeta_tsetb,
- GLOB_vmeta_tsetv,
- GLOB_cont_nop,
- GLOB_vmeta_comp,
- GLOB_vmeta_binop,
- GLOB_cont_condt,
- GLOB_cont_condf,
- GLOB_vmeta_equal,
- GLOB_vmeta_equal_cd,
- GLOB_vmeta_arith_vno,
- GLOB_vmeta_arith_vn,
- GLOB_vmeta_arith_nvo,
- GLOB_vmeta_arith_nv,
- GLOB_vmeta_unm,
- GLOB_vmeta_arith_vvo,
- GLOB_vmeta_arith_vv,
- GLOB_vmeta_len,
- GLOB_BC_LEN_Z,
- GLOB_vmeta_call_ra,
- GLOB_BC_CALLT_Z,
- GLOB_vmeta_for,
- GLOB_ff_assert,
- GLOB_fff_fallback,
- GLOB_fff_res_,
- GLOB_ff_type,
- GLOB_fff_res1,
- GLOB_ff_getmetatable,
- GLOB_ff_setmetatable,
- GLOB_ff_rawget,
- GLOB_ff_tonumber,
- GLOB_fff_resi,
- GLOB_fff_resxmm0,
- GLOB_fff_resn,
- GLOB_ff_tostring,
- GLOB_fff_gcstep,
- GLOB_ff_next,
- GLOB_fff_res2,
- GLOB_fff_res,
- GLOB_ff_pairs,
- GLOB_ff_ipairs_aux,
- GLOB_fff_res0,
- GLOB_ff_ipairs,
- GLOB_ff_pcall,
- GLOB_ff_xpcall,
- GLOB_ff_coroutine_resume,
- GLOB_ff_coroutine_wrap_aux,
- GLOB_ff_coroutine_yield,
- GLOB_ff_math_abs,
- GLOB_fff_resbit,
- GLOB_ff_math_floor,
- GLOB_vm_floor,
- GLOB_ff_math_ceil,
- GLOB_vm_ceil,
- GLOB_ff_math_sqrt,
- GLOB_ff_math_log,
- GLOB_ff_math_log10,
- GLOB_ff_math_exp,
- GLOB_vm_exp_x87,
- GLOB_ff_math_sin,
- GLOB_ff_math_cos,
- GLOB_ff_math_tan,
- GLOB_ff_math_asin,
- GLOB_ff_math_acos,
- GLOB_ff_math_atan,
- GLOB_ff_math_sinh,
- GLOB_ff_math_cosh,
- GLOB_ff_math_tanh,
- GLOB_ff_math_deg,
- GLOB_ff_math_rad,
- GLOB_ff_math_atan2,
- GLOB_ff_math_ldexp,
- GLOB_ff_math_frexp,
- GLOB_ff_math_modf,
- GLOB_vm_trunc,
- GLOB_ff_math_fmod,
- GLOB_ff_math_pow,
- GLOB_vm_pow,
- GLOB_ff_math_min,
- GLOB_ff_math_max,
- GLOB_ff_string_len,
- GLOB_ff_string_byte,
- GLOB_ff_string_char,
- GLOB_fff_newstr,
- GLOB_ff_string_sub,
- GLOB_fff_emptystr,
- GLOB_ff_string_rep,
- GLOB_fff_fallback_2,
- GLOB_ff_string_reverse,
- GLOB_fff_fallback_1,
- GLOB_ff_string_lower,
- GLOB_ff_string_upper,
- GLOB_ff_table_getn,
- GLOB_ff_bit_tobit,
- GLOB_ff_bit_band,
- GLOB_fff_fallback_bit_op,
- GLOB_ff_bit_bor,
- GLOB_ff_bit_bxor,
- GLOB_ff_bit_bswap,
- GLOB_ff_bit_bnot,
- GLOB_ff_bit_lshift,
- GLOB_ff_bit_rshift,
- GLOB_ff_bit_arshift,
- GLOB_ff_bit_rol,
- GLOB_ff_bit_ror,
- GLOB_vm_record,
- GLOB_vm_rethook,
- GLOB_vm_inshook,
- GLOB_cont_hook,
- GLOB_vm_hotloop,
- GLOB_vm_callhook,
- GLOB_vm_hotcall,
- GLOB_vm_exit_handler,
- GLOB_vm_exit_interp,
- GLOB_vm_floor_sse,
- GLOB_vm_ceil_sse,
- GLOB_vm_trunc_sse,
- GLOB_vm_mod,
- GLOB_vm_exp2_x87,
- GLOB_vm_exp2raw,
- GLOB_vm_pow_sse,
- GLOB_vm_powi_sse,
- GLOB_vm_foldfpm,
- GLOB_vm_foldarith,
- GLOB_vm_cpuid,
- GLOB_assert_bad_for_arg_type,
- GLOB_vm_ffi_callback,
- GLOB_vm_ffi_call,
- GLOB_BC_MODVN_Z,
- GLOB_BC_TGETS_Z,
- GLOB_BC_TSETS_Z,
- GLOB__MAX
-};
-static const char *const globnames[] = {
- "vm_returnp",
- "cont_dispatch",
- "vm_returnc",
- "BC_RET_Z",
- "vm_return",
- "vm_leave_cp",
- "vm_leave_unw",
- "vm_unwind_c@8",
- "vm_unwind_c_eh",
- "vm_unwind_rethrow",
- "vm_unwind_ff@4",
- "vm_unwind_ff_eh",
- "vm_growstack_c",
- "vm_growstack_v",
- "vm_growstack_f",
- "vm_resume",
- "vm_pcall",
- "vm_call",
- "vm_call_dispatch",
- "vmeta_call",
- "vm_call_dispatch_f",
- "vm_cpcall",
- "cont_ffi_callback",
- "vm_call_tail",
- "cont_cat",
- "cont_ra",
- "BC_CAT_Z",
- "vmeta_tgets",
- "vmeta_tgetb",
- "vmeta_tgetv",
- "vmeta_tsets",
- "vmeta_tsetb",
- "vmeta_tsetv",
- "cont_nop",
- "vmeta_comp",
- "vmeta_binop",
- "cont_condt",
- "cont_condf",
- "vmeta_equal",
- "vmeta_equal_cd",
- "vmeta_arith_vno",
- "vmeta_arith_vn",
- "vmeta_arith_nvo",
- "vmeta_arith_nv",
- "vmeta_unm",
- "vmeta_arith_vvo",
- "vmeta_arith_vv",
- "vmeta_len",
- "BC_LEN_Z",
- "vmeta_call_ra",
- "BC_CALLT_Z",
- "vmeta_for",
- "ff_assert",
- "fff_fallback",
- "fff_res_",
- "ff_type",
- "fff_res1",
- "ff_getmetatable",
- "ff_setmetatable",
- "ff_rawget",
- "ff_tonumber",
- "fff_resi",
- "fff_resxmm0",
- "fff_resn",
- "ff_tostring",
- "fff_gcstep",
- "ff_next",
- "fff_res2",
- "fff_res",
- "ff_pairs",
- "ff_ipairs_aux",
- "fff_res0",
- "ff_ipairs",
- "ff_pcall",
- "ff_xpcall",
- "ff_coroutine_resume",
- "ff_coroutine_wrap_aux",
- "ff_coroutine_yield",
- "ff_math_abs",
- "fff_resbit",
- "ff_math_floor",
- "vm_floor",
- "ff_math_ceil",
- "vm_ceil",
- "ff_math_sqrt",
- "ff_math_log",
- "ff_math_log10",
- "ff_math_exp",
- "vm_exp_x87",
- "ff_math_sin",
- "ff_math_cos",
- "ff_math_tan",
- "ff_math_asin",
- "ff_math_acos",
- "ff_math_atan",
- "ff_math_sinh",
- "ff_math_cosh",
- "ff_math_tanh",
- "ff_math_deg",
- "ff_math_rad",
- "ff_math_atan2",
- "ff_math_ldexp",
- "ff_math_frexp",
- "ff_math_modf",
- "vm_trunc",
- "ff_math_fmod",
- "ff_math_pow",
- "vm_pow",
- "ff_math_min",
- "ff_math_max",
- "ff_string_len",
- "ff_string_byte",
- "ff_string_char",
- "fff_newstr",
- "ff_string_sub",
- "fff_emptystr",
- "ff_string_rep",
- "fff_fallback_2",
- "ff_string_reverse",
- "fff_fallback_1",
- "ff_string_lower",
- "ff_string_upper",
- "ff_table_getn",
- "ff_bit_tobit",
- "ff_bit_band",
- "fff_fallback_bit_op",
- "ff_bit_bor",
- "ff_bit_bxor",
- "ff_bit_bswap",
- "ff_bit_bnot",
- "ff_bit_lshift",
- "ff_bit_rshift",
- "ff_bit_arshift",
- "ff_bit_rol",
- "ff_bit_ror",
- "vm_record",
- "vm_rethook",
- "vm_inshook",
- "cont_hook",
- "vm_hotloop",
- "vm_callhook",
- "vm_hotcall",
- "vm_exit_handler",
- "vm_exit_interp",
- "vm_floor_sse",
- "vm_ceil_sse",
- "vm_trunc_sse",
- "vm_mod",
- "vm_exp2_x87",
- "vm_exp2raw",
- "vm_pow_sse",
- "vm_powi_sse",
- "vm_foldfpm",
- "vm_foldarith",
- "vm_cpuid",
- "assert_bad_for_arg_type",
- "vm_ffi_callback",
- "vm_ffi_call@4",
- "BC_MODVN_Z",
- "BC_TGETS_Z",
- "BC_TSETS_Z",
- (const char *)0
-};
-static const char *const extnames[] = {
- "lj_state_growstack@8",
- "lj_meta_tget",
- "lj_meta_tset",
- "lj_meta_comp",
- "lj_meta_equal",
- "lj_meta_equal_cd@8",
- "lj_meta_arith",
- "lj_meta_len@8",
- "lj_meta_call",
- "lj_meta_for@8",
- "lj_tab_get",
- "lj_str_fromnumber@8",
- "lj_str_fromnum@8",
- "lj_tab_next",
- "lj_tab_getinth@8",
- "lj_ffh_coroutine_wrap_err@8",
- "lj_vm_sinh",
- "lj_vm_cosh",
- "lj_vm_tanh",
- "lj_str_new",
- "lj_tab_len@4",
- "lj_gc_step@4",
- "lj_dispatch_ins@8",
- "lj_trace_hot@8",
- "lj_dispatch_call@8",
- "lj_trace_exit@8",
- "lj_err_throw@8",
- "lj_ccallback_enter@8",
- "lj_ccallback_leave@8",
- "lj_meta_cat",
- "lj_gc_barrieruv@8",
- "lj_func_closeuv@8",
- "lj_func_newL_gc",
- "lj_tab_new",
- "lj_gc_step_fixtop@4",
- "lj_tab_dup@8",
- "lj_tab_newkey",
- "lj_tab_reasize",
- (const char *)0
-};
-#define Dt1(_V) (int)(ptrdiff_t)&(((lua_State *)0)_V)
-#define Dt2(_V) (int)(ptrdiff_t)&(((global_State *)0)_V)
-#define Dt3(_V) (int)(ptrdiff_t)&(((TValue *)0)_V)
-#define Dt4(_V) (int)(ptrdiff_t)&(((GCobj *)0)_V)
-#define Dt5(_V) (int)(ptrdiff_t)&(((GCstr *)0)_V)
-#define Dt6(_V) (int)(ptrdiff_t)&(((GCtab *)0)_V)
-#define Dt7(_V) (int)(ptrdiff_t)&(((GCfuncL *)0)_V)
-#define Dt8(_V) (int)(ptrdiff_t)&(((GCfuncC *)0)_V)
-#define Dt9(_V) (int)(ptrdiff_t)&(((GCproto *)0)_V)
-#define DtA(_V) (int)(ptrdiff_t)&(((GCupval *)0)_V)
-#define DtB(_V) (int)(ptrdiff_t)&(((Node *)0)_V)
-#define DtC(_V) (int)(ptrdiff_t)&(((int *)0)_V)
-#define DtD(_V) (int)(ptrdiff_t)&(((GCtrace *)0)_V)
-#define DISPATCH_GL(field) (GG_DISP2G + (int)offsetof(global_State, field))
-#define DISPATCH_J(field) (GG_DISP2J + (int)offsetof(jit_State, field))
-#define PC2PROTO(field) ((int)offsetof(GCproto, field)-(int)sizeof(GCproto))
-
-/* Generate subroutines used by opcodes and other parts of the VM. */
-/* The .code_sub section should be last to help static branch prediction. */
-static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
-{
- dasm_put(Dst, 0);
- dasm_put(Dst, 2, FRAME_P, LJ_TTRUE, FRAME_TYPE, FRAME_C, FRAME_TYPE, DISPATCH_GL(vmstate), ~LJ_VMST_C);
- dasm_put(Dst, 114, Dt1(->base), Dt1(->top), Dt1(->cframe), Dt1(->maxstack), LJ_TNIL);
- dasm_put(Dst, 200, Dt1(->top), Dt1(->top), Dt1(->glref), Dt2(->vmstate), ~LJ_VMST_C, CFRAME_RAWMASK);
- dasm_put(Dst, 275, 1+1, Dt1(->base), Dt1(->glref), GG_G2DISP, LJ_TFALSE, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, LUA_MINSTACK, -4+PC2PROTO(framesize), Dt1(->base));
- dasm_put(Dst, 353, Dt1(->top), Dt1(->base), Dt1(->top), Dt7(->pc), FRAME_CP, CFRAME_RESUME, Dt1(->glref), GG_G2DISP, Dt1(->cframe), Dt1(->status), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->status), Dt1(->base), Dt1(->top), FRAME_TYPE);
- dasm_put(Dst, 495, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base));
- dasm_put(Dst, 573, Dt1(->top), LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL);
-#if LJ_HASFFI
-#endif
- dasm_put(Dst, 743);
-#if LJ_HASFFI
- dasm_put(Dst, 748);
-#endif
- dasm_put(Dst, 757, Dt7(->pc), PC2PROTO(k));
-#if LJ_HASFFI
- dasm_put(Dst, 771);
-#endif
- dasm_put(Dst, 792, LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 890, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 900);
- } else {
- dasm_put(Dst, 913);
- }
- dasm_put(Dst, 926, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET);
- dasm_put(Dst, 1078, DISPATCH_GL(tmptv), LJ_TTAB);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 890, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 900);
- } else {
- dasm_put(Dst, 913);
- }
- dasm_put(Dst, 1101, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base));
- dasm_put(Dst, 1295, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base));
- dasm_put(Dst, 1402);
-#if LJ_HASFFI
- dasm_put(Dst, 1417, Dt1(->base));
-#endif
- dasm_put(Dst, 1448);
-#if LJ_DUALNUM
- dasm_put(Dst, 1451);
-#endif
- dasm_put(Dst, 1457);
-#if LJ_DUALNUM
- dasm_put(Dst, 884);
-#endif
- dasm_put(Dst, 1469);
-#if LJ_DUALNUM
- dasm_put(Dst, 1451);
-#endif
- dasm_put(Dst, 1497, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base));
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 1607);
-#else
- dasm_put(Dst, 1626);
-#endif
- dasm_put(Dst, 1631, Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND);
- dasm_put(Dst, 1820, 1+1, ~LJ_TNUMX);
- if (cmov) {
- dasm_put(Dst, 1878);
- } else {
- dasm_put(Dst, 1882);
- }
- dasm_put(Dst, 1891, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB);
- dasm_put(Dst, 1974, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next), LJ_TNIL);
- dasm_put(Dst, 2032, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1);
- dasm_put(Dst, 2095, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
- dasm_put(Dst, 2167, 2+1, LJ_TTAB, 1+1, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 2256);
- } else {
- dasm_put(Dst, 2273);
- }
- if (sse) {
- dasm_put(Dst, 2278);
- } else {
- dasm_put(Dst, 2288);
- }
- dasm_put(Dst, 2295, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
- dasm_put(Dst, 2361, Dt1(->base));
- if (LJ_DUALNUM) {
- dasm_put(Dst, 2385);
- } else {
- dasm_put(Dst, 2390);
- }
- dasm_put(Dst, 2395, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2);
- dasm_put(Dst, 2504, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB);
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 2551, Dt6(->metatable));
-#endif
- dasm_put(Dst, 2560, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 2546);
- } else {
- dasm_put(Dst, 2273);
- }
- dasm_put(Dst, 2615);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 2620, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 2636);
- } else {
- dasm_put(Dst, 2675);
- }
- dasm_put(Dst, 2693, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0);
- dasm_put(Dst, 2531, 1+1, LJ_TTAB);
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 2551, Dt6(->metatable));
-#endif
- dasm_put(Dst, 2774, Dt8(->upvalue[0]), LJ_TFUNC);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 2795, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 2807);
- } else {
- dasm_put(Dst, 2817);
- }
- dasm_put(Dst, 2824, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC);
- dasm_put(Dst, 2888, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top));
- dasm_put(Dst, 2976, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
- dasm_put(Dst, 3077, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE);
- dasm_put(Dst, 3191, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
- dasm_put(Dst, 3289, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
- dasm_put(Dst, 3355, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
- dasm_put(Dst, 3456, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
- dasm_put(Dst, 3569, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
- if (!LJ_DUALNUM) {
- dasm_put(Dst, 3595);
- }
- if (sse) {
- dasm_put(Dst, 3598);
- }
- dasm_put(Dst, 3613, 1+1);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3624, LJ_TISNUM, LJ_TISNUM);
- } else {
- dasm_put(Dst, 3704, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 3714);
- } else {
- dasm_put(Dst, 3750);
- }
- dasm_put(Dst, 3767, 1+1, FRAME_TYPE, LJ_TNIL);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3859, LJ_TISNUM);
- } else {
- dasm_put(Dst, 3704, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 3881);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3890);
- }
- dasm_put(Dst, 2283);
- } else {
- dasm_put(Dst, 3924);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3930);
- if (cmov) {
- dasm_put(Dst, 3953);
- } else {
- dasm_put(Dst, 3959);
- }
- dasm_put(Dst, 3966);
- } else {
- dasm_put(Dst, 2290);
- }
- }
- dasm_put(Dst, 3983);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3859, LJ_TISNUM);
- } else {
- dasm_put(Dst, 3704, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 3986);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3890);
- }
- dasm_put(Dst, 2283);
- } else {
- dasm_put(Dst, 3995);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3930);
- if (cmov) {
- dasm_put(Dst, 3953);
- } else {
- dasm_put(Dst, 3959);
- }
- dasm_put(Dst, 3966);
- } else {
- dasm_put(Dst, 2290);
- }
- }
- if (sse) {
- dasm_put(Dst, 4001, 1+1, LJ_TISNUM);
- } else {
- dasm_put(Dst, 4030, 1+1, LJ_TISNUM);
- }
- dasm_put(Dst, 4059, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
- dasm_put(Dst, 4128, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
- dasm_put(Dst, 4185, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
- dasm_put(Dst, 4248, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
- dasm_put(Dst, 4338);
- if (sse) {
- dasm_put(Dst, 4350, 1+1, LJ_TISNUM);
- } else {
- dasm_put(Dst, 4381, 1+1, LJ_TISNUM);
- }
- dasm_put(Dst, 4406);
- if (sse) {
- dasm_put(Dst, 4420, 1+1, LJ_TISNUM);
- } else {
- dasm_put(Dst, 4451, 1+1, LJ_TISNUM);
- }
- dasm_put(Dst, 4476);
- if (sse) {
- dasm_put(Dst, 4490, 1+1, LJ_TISNUM);
- } else {
- dasm_put(Dst, 4521, 1+1, LJ_TISNUM);
- }
- dasm_put(Dst, 4546);
- if (sse) {
- dasm_put(Dst, 4562, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
- } else {
- dasm_put(Dst, 4601, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
- }
- dasm_put(Dst, 4634, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM);
- dasm_put(Dst, 4699, 1+1, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 4798);
- } else {
- dasm_put(Dst, 4804);
- }
- dasm_put(Dst, 4813);
- if (sse) {
- dasm_put(Dst, 4838);
- } else {
- dasm_put(Dst, 4844);
- }
- dasm_put(Dst, 4847, 1+2);
- if (sse) {
- dasm_put(Dst, 4856);
- } else {
- dasm_put(Dst, 4864);
- }
- dasm_put(Dst, 4872);
- if (sse) {
- dasm_put(Dst, 4875);
- } else {
- dasm_put(Dst, 4907);
- }
- dasm_put(Dst, 4926);
- if (sse) {
- dasm_put(Dst, 4942, 1+1, LJ_TISNUM);
- } else {
- dasm_put(Dst, 4967, 1+1, LJ_TISNUM);
- }
- dasm_put(Dst, 4989);
- if (sse) {
- dasm_put(Dst, 5011);
- } else {
- dasm_put(Dst, 5037);
- }
- dasm_put(Dst, 5054, 1+2);
- if (sse) {
- dasm_put(Dst, 5094);
- } else {
- dasm_put(Dst, 5102);
- }
- dasm_put(Dst, 5112, 2+1, LJ_TISNUM, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 5164, 2+1, LJ_TISNUM, LJ_TISNUM);
- } else {
- dasm_put(Dst, 5211, 2+1, LJ_TISNUM, LJ_TISNUM);
- }
- dasm_put(Dst, 5252, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5265, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 4798);
- } else {
- dasm_put(Dst, 4804);
- }
- dasm_put(Dst, 5315);
- } else {
- dasm_put(Dst, 2273);
- }
- if (sse) {
- dasm_put(Dst, 5326, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5347);
- } else {
- dasm_put(Dst, 2273);
- }
- dasm_put(Dst, 5368);
- } else {
- dasm_put(Dst, 5393, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5411);
- } else {
- dasm_put(Dst, 5429);
- }
- dasm_put(Dst, 5434);
- if (cmov) {
- dasm_put(Dst, 5444);
- } else {
- dasm_put(Dst, 5452);
- }
- dasm_put(Dst, 5385);
- }
- dasm_put(Dst, 5473, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5486, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 4798);
- } else {
- dasm_put(Dst, 4804);
- }
- dasm_put(Dst, 5315);
- } else {
- dasm_put(Dst, 2273);
- }
- if (sse) {
- dasm_put(Dst, 5326, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5347);
- } else {
- dasm_put(Dst, 2273);
- }
- dasm_put(Dst, 5536);
- } else {
- dasm_put(Dst, 5393, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5411);
- } else {
- dasm_put(Dst, 5429);
- }
- dasm_put(Dst, 5434);
- if (cmov) {
- dasm_put(Dst, 5561);
- } else {
- dasm_put(Dst, 5569);
- }
- dasm_put(Dst, 5385);
- }
- if (!sse) {
- dasm_put(Dst, 5590);
- }
- dasm_put(Dst, 5599, 1+1, LJ_TSTR);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5621, Dt5(->len));
- } else if (sse) {
- dasm_put(Dst, 5629, Dt5(->len));
- } else {
- dasm_put(Dst, 5640, Dt5(->len));
- }
- dasm_put(Dst, 5648, 1+1, LJ_TSTR, Dt5(->len), Dt5([1]));
- if (LJ_DUALNUM) {
- dasm_put(Dst, 3978);
- } else if (sse) {
- dasm_put(Dst, 5686);
- } else {
- dasm_put(Dst, 5696);
- }
- dasm_put(Dst, 5709, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5740);
- } else if (sse) {
- dasm_put(Dst, 5763);
- } else {
- dasm_put(Dst, 5789);
- }
- dasm_put(Dst, 5813, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5916);
- } else if (sse) {
- dasm_put(Dst, 5928);
- } else {
- dasm_put(Dst, 5943);
- }
- dasm_put(Dst, 5955, LJ_TSTR, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 2546);
- } else {
- dasm_put(Dst, 2273);
- }
- dasm_put(Dst, 5972, Dt5(->len));
- if (LJ_DUALNUM) {
- dasm_put(Dst, 5982);
- } else if (sse) {
- dasm_put(Dst, 5986);
- } else {
- dasm_put(Dst, 5993);
- }
- dasm_put(Dst, 6005, sizeof(GCstr)-1);
- dasm_put(Dst, 6080, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
- dasm_put(Dst, 6139, LJ_TSTR, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6156);
- } else if (sse) {
- dasm_put(Dst, 6164);
- } else {
- dasm_put(Dst, 6175);
- }
- dasm_put(Dst, 6191, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1);
- dasm_put(Dst, 6256, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
- dasm_put(Dst, 6319, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
- dasm_put(Dst, 6390, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1);
- dasm_put(Dst, 6475, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
- dasm_put(Dst, 6545, 1+1, LJ_TTAB);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6613);
- } else if (sse) {
- dasm_put(Dst, 6620);
- } else {
- dasm_put(Dst, 6630);
- }
- dasm_put(Dst, 6641, 1+1, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6657);
- } else {
- dasm_put(Dst, 2273);
- }
- if (sse) {
- dasm_put(Dst, 6674);
- } else {
- dasm_put(Dst, 6703);
- }
- dasm_put(Dst, 111);
- if (LJ_DUALNUM || sse) {
- if (!sse) {
- dasm_put(Dst, 6721);
- }
- dasm_put(Dst, 6725);
- } else {
- dasm_put(Dst, 6633);
- }
- dasm_put(Dst, 6730, 1+1);
- if (sse) {
- dasm_put(Dst, 6741);
- } else {
- dasm_put(Dst, 6756);
- }
- dasm_put(Dst, 2250, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6765);
- } else {
- dasm_put(Dst, 2273);
- }
- if (sse) {
- dasm_put(Dst, 6782);
- } else {
- dasm_put(Dst, 6797);
- }
- dasm_put(Dst, 6810, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6835);
- } else {
- dasm_put(Dst, 6855);
- }
- if (sse) {
- dasm_put(Dst, 6860);
- } else {
- dasm_put(Dst, 6877);
- }
- dasm_put(Dst, 6890, 1+1);
- if (sse) {
- dasm_put(Dst, 6741);
- } else {
- dasm_put(Dst, 6756);
- }
- dasm_put(Dst, 2250, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6765);
- } else {
- dasm_put(Dst, 2273);
- }
- if (sse) {
- dasm_put(Dst, 6782);
- } else {
- dasm_put(Dst, 6797);
- }
- dasm_put(Dst, 6810, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6908);
- } else {
- dasm_put(Dst, 6855);
- }
- if (sse) {
- dasm_put(Dst, 6928);
- } else {
- dasm_put(Dst, 6945);
- }
- dasm_put(Dst, 6958, 1+1);
- if (sse) {
- dasm_put(Dst, 6741);
- } else {
- dasm_put(Dst, 6756);
- }
- dasm_put(Dst, 2250, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6765);
- } else {
- dasm_put(Dst, 2273);
- }
- if (sse) {
- dasm_put(Dst, 6782);
- } else {
- dasm_put(Dst, 6797);
- }
- dasm_put(Dst, 6810, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6976);
- } else {
- dasm_put(Dst, 6855);
- }
- if (sse) {
- dasm_put(Dst, 6996);
- } else {
- dasm_put(Dst, 7013);
- }
- dasm_put(Dst, 7026, 1+1, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6765);
- } else {
- dasm_put(Dst, 2273);
- }
- if (sse) {
- dasm_put(Dst, 6674);
- } else {
- dasm_put(Dst, 7049);
- }
- dasm_put(Dst, 7070, 1+1, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6765);
- } else {
- dasm_put(Dst, 2273);
- }
- if (sse) {
- dasm_put(Dst, 6674);
- } else {
- dasm_put(Dst, 7049);
- }
- dasm_put(Dst, 7094);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6725);
- } else if (sse) {
- dasm_put(Dst, 7100);
- } else {
- dasm_put(Dst, 7112);
- }
- dasm_put(Dst, 7125);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 7136, 1+1, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6765);
- } else {
- dasm_put(Dst, 2273);
- }
- if (sse) {
- dasm_put(Dst, 6674);
- } else {
- dasm_put(Dst, 7049);
- }
- dasm_put(Dst, 7152, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 7167, 2+1, LJ_TISNUM, LJ_TISNUM);
- } else {
- dasm_put(Dst, 7239, 2+1, LJ_TISNUM, LJ_TISNUM);
- }
- dasm_put(Dst, 7303);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 7310, 1+1, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6765);
- } else {
- dasm_put(Dst, 2273);
- }
- if (sse) {
- dasm_put(Dst, 6674);
- } else {
- dasm_put(Dst, 7049);
- }
- dasm_put(Dst, 7152, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 7326, 2+1, LJ_TISNUM, LJ_TISNUM);
- } else {
- dasm_put(Dst, 7398, 2+1, LJ_TISNUM, LJ_TISNUM);
- }
- dasm_put(Dst, 7462);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 7470, 1+1, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6765);
- } else {
- dasm_put(Dst, 2273);
- }
- if (sse) {
- dasm_put(Dst, 6674);
- } else {
- dasm_put(Dst, 7049);
- }
- dasm_put(Dst, 7152, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 7486, 2+1, LJ_TISNUM, LJ_TISNUM);
- } else {
- dasm_put(Dst, 7558, 2+1, LJ_TISNUM, LJ_TISNUM);
- }
- dasm_put(Dst, 7622);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 7630, 1+1, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6765);
- } else {
- dasm_put(Dst, 2273);
- }
- if (sse) {
- dasm_put(Dst, 6674);
- } else {
- dasm_put(Dst, 7049);
- }
- dasm_put(Dst, 7152, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 7646, 2+1, LJ_TISNUM, LJ_TISNUM);
- } else {
- dasm_put(Dst, 7718, 2+1, LJ_TISNUM, LJ_TISNUM);
- }
- dasm_put(Dst, 7782);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 7789, 1+1, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 6765);
- } else {
- dasm_put(Dst, 2273);
- }
- if (sse) {
- dasm_put(Dst, 6674);
- } else {
- dasm_put(Dst, 7049);
- }
- dasm_put(Dst, 7152, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 7805, 2+1, LJ_TISNUM, LJ_TISNUM);
- } else {
- dasm_put(Dst, 7877, 2+1, LJ_TISNUM, LJ_TISNUM);
- }
- dasm_put(Dst, 7941, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
- dasm_put(Dst, 8017, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
- dasm_put(Dst, 8141, Dt1(->top), Dt1(->base), Dt1(->top));
-#if LJ_HASJIT
- dasm_put(Dst, 8179, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
-#endif
- dasm_put(Dst, 8210, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
- dasm_put(Dst, 8261, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
-#if LJ_HASJIT
- dasm_put(Dst, 8327, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
-#endif
- dasm_put(Dst, 8373);
-#if LJ_HASJIT
- dasm_put(Dst, 8205);
-#endif
- dasm_put(Dst, 8380);
-#if LJ_HASJIT
- dasm_put(Dst, 8383);
-#endif
- dasm_put(Dst, 8393, Dt1(->base), Dt1(->top));
-#if LJ_HASJIT
- dasm_put(Dst, 8427);
-#endif
- dasm_put(Dst, 8432, Dt1(->base), Dt1(->top));
-#if LJ_HASJIT
- dasm_put(Dst, 8461, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 8*8+16, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC);
-#endif
- dasm_put(Dst, 8604);
-#if LJ_HASJIT
- dasm_put(Dst, 8607, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF);
-#endif
- dasm_put(Dst, 8685);
- if (!sse) {
- dasm_put(Dst, 8688);
- }
- dasm_put(Dst, 8733);
- if (!sse) {
- dasm_put(Dst, 8835);
- }
- dasm_put(Dst, 8880);
- if (!sse) {
- dasm_put(Dst, 8982);
- }
- dasm_put(Dst, 9021);
- if (sse) {
- dasm_put(Dst, 9126);
- } else {
- dasm_put(Dst, 9256);
- }
- dasm_put(Dst, 9303);
- if (!sse) {
- dasm_put(Dst, 9377);
- if (cmov) {
- dasm_put(Dst, 9388);
- } else {
- dasm_put(Dst, 9392);
- }
- dasm_put(Dst, 9399);
- dasm_put(Dst, 9473);
- dasm_put(Dst, 9573);
- if (cmov) {
- dasm_put(Dst, 9576);
- } else {
- dasm_put(Dst, 9580);
- }
- dasm_put(Dst, 9587);
- if (cmov) {
- dasm_put(Dst, 9388);
- } else {
- dasm_put(Dst, 9392);
- }
- dasm_put(Dst, 9605);
- } else {
- dasm_put(Dst, 9684);
- }
- dasm_put(Dst, 9687);
- dasm_put(Dst, 9772);
- dasm_put(Dst, 9902);
- dasm_put(Dst, 10108);
-#if LJ_HASJIT
- if (sse) {
- dasm_put(Dst, 10115);
- dasm_put(Dst, 10172);
- dasm_put(Dst, 10263);
- } else {
- dasm_put(Dst, 10305);
- dasm_put(Dst, 10397);
- }
- dasm_put(Dst, 10443);
-#endif
- dasm_put(Dst, 10447);
- if (sse) {
- dasm_put(Dst, 10450);
- dasm_put(Dst, 10555);
- dasm_put(Dst, 10638);
- } else {
- dasm_put(Dst, 10710);
- dasm_put(Dst, 10793);
- if (cmov) {
- dasm_put(Dst, 10848);
- } else {
- dasm_put(Dst, 10867);
- }
- dasm_put(Dst, 10443);
- }
- dasm_put(Dst, 10908);
-#ifdef LUA_USE_ASSERT
- dasm_put(Dst, 10445);
-#endif
- dasm_put(Dst, 10964);
-#if LJ_HASFFI
-#define DtE(_V) (int)(ptrdiff_t)&(((CTState *)0)_V)
- dasm_put(Dst, 10968, GG_G2DISP, Dt2(->ctype_state), DtE(->cb.slot), CFRAME_SIZE+16, DtE(->cb.gpr[0]), DtE(->cb.gpr[1]), DtE(->cb.stack), CFRAME_SIZE+12, CFRAME_SIZE+8, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top), Dt7(->pc));
-#endif
- dasm_put(Dst, 11078);
-#if LJ_HASFFI
- dasm_put(Dst, 11081, DISPATCH_GL(ctype_state), DtE(->L), Dt1(->base), Dt1(->top), DtE(->cb.gpr[0]), DtE(->cb.gpr[1]), DtE(->cb.gpr[2]), DtE(->cb.fpr[0].d), DtE(->cb.fpr[0].f), Dt1(->top));
-#endif
- dasm_put(Dst, 11170);
-#if LJ_HASFFI
-#define DtF(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
- dasm_put(Dst, 11173, DtF(->spadj));
-#if LJ_TARGET_WINDOWS
- dasm_put(Dst, 11183, DtF(->spadj));
-#endif
- dasm_put(Dst, 11187, DtF(->nsp), offsetof(CCallState, stack), DtF(->gpr[0]), DtF(->gpr[1]), DtF(->func), DtF(->gpr[0]), DtF(->gpr[1]), DtF(->resx87), DtF(->fpr[0].d[0]));
- dasm_put(Dst, 11257, DtF(->fpr[0].f[0]));
-#if LJ_TARGET_WINDOWS
- dasm_put(Dst, 11263, DtF(->spadj));
-#endif
- dasm_put(Dst, 11267);
-#endif
-}
-
-/* Generate the code for a single instruction. */
-static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
-{
- int vk = 0;
- dasm_put(Dst, 11274, defop);
-
- switch (op) {
-
- /* -- Comparison ops ---------------------------------------------------- */
-
- /* Remember: all ops branch for a true comparison, fall through otherwise. */
-
-
- case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11276, LJ_TISNUM, LJ_TISNUM);
- switch (op) {
- case BC_ISLT:
- dasm_put(Dst, 11306);
- break;
- case BC_ISGE:
- dasm_put(Dst, 11311);
- break;
- case BC_ISLE:
- dasm_put(Dst, 11316);
- break;
- case BC_ISGT:
- dasm_put(Dst, 11321);
- break;
- default: break; /* Shut up GCC. */
- }
- dasm_put(Dst, 11326, -BCBIAS_J*4, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 11379);
- } else {
- dasm_put(Dst, 11390);
- }
- dasm_put(Dst, 11401);
- if (sse) {
- dasm_put(Dst, 11408);
- switch (op) {
- case BC_ISLT:
- dasm_put(Dst, 11428);
- break;
- case BC_ISGE:
- dasm_put(Dst, 11433);
- break;
- case BC_ISLE:
- dasm_put(Dst, 11438);
- break;
- case BC_ISGT:
- dasm_put(Dst, 11443);
- break;
- default: break; /* Shut up GCC. */
- }
- dasm_put(Dst, 11448);
- } else {
- dasm_put(Dst, 11453);
- }
- } else {
- dasm_put(Dst, 11461, LJ_TISNUM, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 11482);
- } else {
- dasm_put(Dst, 11503);
- if (cmov) {
- dasm_put(Dst, 3953);
- } else {
- dasm_put(Dst, 3959);
- }
- }
- if (LJ_DUALNUM) {
- switch (op) {
- case BC_ISLT:
- dasm_put(Dst, 11428);
- break;
- case BC_ISGE:
- dasm_put(Dst, 11433);
- break;
- case BC_ISLE:
- dasm_put(Dst, 11438);
- break;
- case BC_ISGT:
- dasm_put(Dst, 11443);
- break;
- default: break; /* Shut up GCC. */
- }
- dasm_put(Dst, 11448);
- } else {
- switch (op) {
- case BC_ISLT:
- dasm_put(Dst, 752);
- break;
- case BC_ISGE:
- dasm_put(Dst, 11519);
- break;
- case BC_ISLE:
- dasm_put(Dst, 11524);
- break;
- case BC_ISGT:
- dasm_put(Dst, 11529);
- break;
- default: break; /* Shut up GCC. */
- }
- dasm_put(Dst, 11534, -BCBIAS_J*4);
- }
- break;
-
- case BC_ISEQV: case BC_ISNEV:
- vk = op == BC_ISEQV;
- dasm_put(Dst, 11565);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11573, LJ_TISNUM, LJ_TISNUM);
- if (vk) {
- dasm_put(Dst, 11598);
- } else {
- dasm_put(Dst, 11603);
- }
- dasm_put(Dst, 11608, -BCBIAS_J*4, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 11659);
- } else {
- dasm_put(Dst, 11666);
- }
- dasm_put(Dst, 11670);
- if (sse) {
- dasm_put(Dst, 11681);
- } else {
- dasm_put(Dst, 11693);
- }
- dasm_put(Dst, 11700);
- } else {
- dasm_put(Dst, 11705, LJ_TISNUM, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 11724);
- } else {
- dasm_put(Dst, 11742);
- if (cmov) {
- dasm_put(Dst, 3953);
- } else {
- dasm_put(Dst, 3959);
- }
- }
- iseqne_fp:
- if (vk) {
- dasm_put(Dst, 11755);
- } else {
- dasm_put(Dst, 11764);
- }
- iseqne_end:
- if (vk) {
- dasm_put(Dst, 11773, -BCBIAS_J*4);
- if (!LJ_HASFFI) {
- dasm_put(Dst, 4853);
- }
- } else {
- if (!LJ_HASFFI) {
- dasm_put(Dst, 4853);
- }
- dasm_put(Dst, 11788, -BCBIAS_J*4);
- }
- if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV ||
- op == BC_ISEQN || op == BC_ISNEN)) {
- dasm_put(Dst, 11803);
- } else {
- dasm_put(Dst, 11546);
- }
- if (op == BC_ISEQV || op == BC_ISNEV) {
- dasm_put(Dst, 11808);
- if (LJ_HASFFI) {
- dasm_put(Dst, 11811, LJ_TCDATA, LJ_TCDATA);
- }
- dasm_put(Dst, 11830, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
- if (vk) {
- dasm_put(Dst, 11886);
- } else {
- dasm_put(Dst, 11890);
- }
- dasm_put(Dst, 11896);
- } else if (LJ_HASFFI) {
- dasm_put(Dst, 11901, LJ_TCDATA);
- if (LJ_DUALNUM && vk) {
- dasm_put(Dst, 11908);
- } else {
- dasm_put(Dst, 11881);
- }
- dasm_put(Dst, 11913);
- }
- break;
- case BC_ISEQS: case BC_ISNES:
- vk = op == BC_ISEQS;
- dasm_put(Dst, 11918, LJ_TSTR);
- iseqne_test:
- if (vk) {
- dasm_put(Dst, 11759);
- } else {
- dasm_put(Dst, 2971);
- }
- goto iseqne_end;
- case BC_ISEQN: case BC_ISNEN:
- vk = op == BC_ISEQN;
- dasm_put(Dst, 11943);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11951, LJ_TISNUM, LJ_TISNUM);
- if (vk) {
- dasm_put(Dst, 11598);
- } else {
- dasm_put(Dst, 11603);
- }
- dasm_put(Dst, 11976, -BCBIAS_J*4, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 12023);
- } else {
- dasm_put(Dst, 12030);
- }
- dasm_put(Dst, 12034);
- if (sse) {
- dasm_put(Dst, 12041);
- } else {
- dasm_put(Dst, 12053);
- }
- dasm_put(Dst, 11700);
- } else {
- dasm_put(Dst, 12060, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 12069);
- } else {
- dasm_put(Dst, 12087);
- if (cmov) {
- dasm_put(Dst, 3953);
- } else {
- dasm_put(Dst, 3959);
- }
- }
- goto iseqne_fp;
- case BC_ISEQP: case BC_ISNEP:
- vk = op == BC_ISEQP;
- dasm_put(Dst, 12100);
- if (!LJ_HASFFI) goto iseqne_test;
- if (vk) {
- dasm_put(Dst, 12113, -BCBIAS_J*4, LJ_TCDATA);
- } else {
- dasm_put(Dst, 12162, LJ_TCDATA, -BCBIAS_J*4);
- }
- break;
-
- /* -- Unary test and copy ops ------------------------------------------- */
-
- case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
- dasm_put(Dst, 12205, LJ_TISTRUECOND);
- if (op == BC_IST || op == BC_ISTC) {
- dasm_put(Dst, 11529);
- } else {
- dasm_put(Dst, 11524);
- }
- if (op == BC_ISTC || op == BC_ISFC) {
- dasm_put(Dst, 12217);
- }
- dasm_put(Dst, 11534, -BCBIAS_J*4);
- break;
-
- /* -- Unary ops --------------------------------------------------------- */
-
- case BC_MOV:
- dasm_put(Dst, 12228);
- break;
- case BC_NOT:
- dasm_put(Dst, 12261, LJ_TISTRUECOND, LJ_TTRUE);
- break;
- case BC_UNM:
- if (LJ_DUALNUM) {
- dasm_put(Dst, 12296, LJ_TISNUM, LJ_TISNUM);
- } else {
- dasm_put(Dst, 12372, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 12383);
- } else {
- dasm_put(Dst, 12413);
- }
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11803);
- } else {
- dasm_put(Dst, 11546);
- }
- break;
- case BC_LEN:
- dasm_put(Dst, 12422, LJ_TSTR);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 12436, Dt5(->len), LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 12450, Dt5(->len));
- } else {
- dasm_put(Dst, 12468, Dt5(->len));
- }
- dasm_put(Dst, 12477, LJ_TTAB);
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 12511, Dt6(->metatable));
-#endif
- dasm_put(Dst, 12525);
- if (LJ_DUALNUM) {
- } else if (sse) {
- dasm_put(Dst, 12534);
- } else {
- dasm_put(Dst, 12540);
- }
- dasm_put(Dst, 12547);
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 12560, Dt6(->nomm), 1<<MM_len);
-#endif
- break;
-
- /* -- Binary ops -------------------------------------------------------- */
-
-
- case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
- if (LJ_DUALNUM) {
- dasm_put(Dst, 12576);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 12584, LJ_TISNUM, LJ_TISNUM);
- break;
- case 1:
- dasm_put(Dst, 12617, LJ_TISNUM, LJ_TISNUM);
- break;
- default:
- dasm_put(Dst, 12650, LJ_TISNUM, LJ_TISNUM);
- break;
- }
- dasm_put(Dst, 12683, LJ_TISNUM);
- if (vk == 1) {
- dasm_put(Dst, 12446);
- } else {
- dasm_put(Dst, 12224);
- }
- dasm_put(Dst, 11546);
- } else {
- dasm_put(Dst, 12576);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 12689, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 12701, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 12712);
- } else {
- dasm_put(Dst, 12726);
- }
- break;
- case 1:
- dasm_put(Dst, 12734, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 12746, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 12757);
- } else {
- dasm_put(Dst, 12771);
- }
- break;
- default:
- dasm_put(Dst, 12779, LJ_TISNUM, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 12801);
- } else {
- dasm_put(Dst, 12815);
- }
- break;
- }
- if (sse) {
- dasm_put(Dst, 12406);
- } else {
- dasm_put(Dst, 12418);
- }
- dasm_put(Dst, 11546);
- }
- break;
- case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
- if (LJ_DUALNUM) {
- dasm_put(Dst, 12576);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 12823, LJ_TISNUM, LJ_TISNUM);
- break;
- case 1:
- dasm_put(Dst, 12856, LJ_TISNUM, LJ_TISNUM);
- break;
- default:
- dasm_put(Dst, 12889, LJ_TISNUM, LJ_TISNUM);
- break;
- }
- dasm_put(Dst, 12683, LJ_TISNUM);
- if (vk == 1) {
- dasm_put(Dst, 12446);
- } else {
- dasm_put(Dst, 12224);
- }
- dasm_put(Dst, 11546);
- } else {
- dasm_put(Dst, 12576);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 12689, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 12701, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 12922);
- } else {
- dasm_put(Dst, 12936);
- }
- break;
- case 1:
- dasm_put(Dst, 12734, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 12746, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 12944);
- } else {
- dasm_put(Dst, 12958);
- }
- break;
- default:
- dasm_put(Dst, 12779, LJ_TISNUM, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 12966);
- } else {
- dasm_put(Dst, 12980);
- }
- break;
- }
- if (sse) {
- dasm_put(Dst, 12406);
- } else {
- dasm_put(Dst, 12418);
- }
- dasm_put(Dst, 11546);
- }
- break;
- case BC_MULVN: case BC_MULNV: case BC_MULVV:
- if (LJ_DUALNUM) {
- dasm_put(Dst, 12576);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 12988, LJ_TISNUM, LJ_TISNUM);
- break;
- case 1:
- dasm_put(Dst, 13022, LJ_TISNUM, LJ_TISNUM);
- break;
- default:
- dasm_put(Dst, 13056, LJ_TISNUM, LJ_TISNUM);
- break;
- }
- dasm_put(Dst, 12683, LJ_TISNUM);
- if (vk == 1) {
- dasm_put(Dst, 12446);
- } else {
- dasm_put(Dst, 12224);
- }
- dasm_put(Dst, 11546);
- } else {
- dasm_put(Dst, 12576);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 12689, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 12701, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 13090);
- } else {
- dasm_put(Dst, 13104);
- }
- break;
- case 1:
- dasm_put(Dst, 12734, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 12746, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 13112);
- } else {
- dasm_put(Dst, 13126);
- }
- break;
- default:
- dasm_put(Dst, 12779, LJ_TISNUM, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 13134);
- } else {
- dasm_put(Dst, 13148);
- }
- break;
- }
- if (sse) {
- dasm_put(Dst, 12406);
- } else {
- dasm_put(Dst, 12418);
- }
- dasm_put(Dst, 11546);
- }
- break;
- case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
- dasm_put(Dst, 12576);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 12689, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 12701, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 13156);
- } else {
- dasm_put(Dst, 13170);
- }
- break;
- case 1:
- dasm_put(Dst, 12734, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 12746, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 13178);
- } else {
- dasm_put(Dst, 13192);
- }
- break;
- default:
- dasm_put(Dst, 12779, LJ_TISNUM, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 13200);
- } else {
- dasm_put(Dst, 13214);
- }
- break;
- }
- if (sse) {
- dasm_put(Dst, 12406);
- } else {
- dasm_put(Dst, 12418);
- }
- dasm_put(Dst, 11546);
- break;
- case BC_MODVN:
- dasm_put(Dst, 12576);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 12689, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 12701, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 13222);
- } else {
- dasm_put(Dst, 13236);
- }
- break;
- case 1:
- dasm_put(Dst, 12734, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 12746, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 13244);
- } else {
- dasm_put(Dst, 13258);
- }
- break;
- default:
- dasm_put(Dst, 12779, LJ_TISNUM, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 13266);
- } else {
- dasm_put(Dst, 13280);
- }
- break;
- }
- dasm_put(Dst, 13288);
- if (sse) {
- dasm_put(Dst, 12406);
- } else {
- dasm_put(Dst, 12418);
- }
- dasm_put(Dst, 11546);
- break;
- case BC_MODNV: case BC_MODVV:
- dasm_put(Dst, 12576);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 12689, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 12701, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 13222);
- } else {
- dasm_put(Dst, 13236);
- }
- break;
- case 1:
- dasm_put(Dst, 12734, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 12746, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 13244);
- } else {
- dasm_put(Dst, 13258);
- }
- break;
- default:
- dasm_put(Dst, 12779, LJ_TISNUM, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 13266);
- } else {
- dasm_put(Dst, 13280);
- }
- break;
- }
- dasm_put(Dst, 13294);
- break;
- case BC_POW:
- dasm_put(Dst, 12576);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 12689, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 12701, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 13222);
- } else {
- dasm_put(Dst, 13236);
- }
- break;
- case 1:
- dasm_put(Dst, 12734, LJ_TISNUM);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 12746, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 13244);
- } else {
- dasm_put(Dst, 13258);
- }
- break;
- default:
- dasm_put(Dst, 12779, LJ_TISNUM, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 13266);
- } else {
- dasm_put(Dst, 13280);
- }
- break;
- }
- dasm_put(Dst, 13299);
- if (sse) {
- dasm_put(Dst, 12406);
- } else {
- dasm_put(Dst, 12418);
- }
- dasm_put(Dst, 11546);
- break;
-
- case BC_CAT:
- dasm_put(Dst, 13303, Dt1(->base), Dt1(->base));
- break;
-
- /* -- Constant ops ------------------------------------------------------ */
-
- case BC_KSTR:
- dasm_put(Dst, 13397, LJ_TSTR);
- break;
- case BC_KCDATA:
-#if LJ_HASFFI
- dasm_put(Dst, 13397, LJ_TCDATA);
-#endif
- break;
- case BC_KSHORT:
- if (LJ_DUALNUM) {
- dasm_put(Dst, 13430, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 13442);
- } else {
- dasm_put(Dst, 13457);
- }
- dasm_put(Dst, 11546);
- break;
- case BC_KNUM:
- if (sse) {
- dasm_put(Dst, 13465);
- } else {
- dasm_put(Dst, 13478);
- }
- dasm_put(Dst, 11546);
- break;
- case BC_KPRI:
- dasm_put(Dst, 13485);
- break;
- case BC_KNIL:
- dasm_put(Dst, 13511, LJ_TNIL);
- break;
-
- /* -- Upvalue and function ops ------------------------------------------ */
-
- case BC_UGET:
- dasm_put(Dst, 13557, offsetof(GCfuncL, uvptr), DtA(->v));
- break;
- case BC_USETV:
-#define TV2MARKOFS \
- ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
- dasm_put(Dst, 13601, offsetof(GCfuncL, uvptr), DtA(->closed), DtA(->v), TV2MARKOFS, LJ_GC_BLACK, LJ_TISGCV, LJ_TISNUM - LJ_TISGCV, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G);
- dasm_put(Dst, 13691);
- break;
-#undef TV2MARKOFS
- case BC_USETS:
- dasm_put(Dst, 13703, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
- break;
- case BC_USETN:
- dasm_put(Dst, 13794);
- if (sse) {
- dasm_put(Dst, 13799);
- } else {
- dasm_put(Dst, 12056);
- }
- dasm_put(Dst, 13806, offsetof(GCfuncL, uvptr), DtA(->v));
- if (sse) {
- dasm_put(Dst, 13815);
- } else {
- dasm_put(Dst, 13821);
- }
- dasm_put(Dst, 11546);
- break;
- case BC_USETP:
- dasm_put(Dst, 13824, offsetof(GCfuncL, uvptr), DtA(->v));
- break;
- case BC_UCLO:
- dasm_put(Dst, 13861, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
- break;
-
- case BC_FNEW:
- dasm_put(Dst, 13915, Dt1(->base), Dt1(->base), LJ_TFUNC);
- break;
-
- /* -- Table ops --------------------------------------------------------- */
-
- case BC_TNEW:
- dasm_put(Dst, 13986, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
- break;
- case BC_TDUP:
- dasm_put(Dst, 14112, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
- break;
-
- case BC_GGET:
- dasm_put(Dst, 14204, Dt7(->env));
- break;
- case BC_GSET:
- dasm_put(Dst, 14222, Dt7(->env));
- break;
-
- case BC_TGETV:
- dasm_put(Dst, 14240, LJ_TTAB);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 14263, LJ_TISNUM);
- } else {
- dasm_put(Dst, 14277, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 14288);
- } else {
- dasm_put(Dst, 14309);
- if (cmov) {
- dasm_put(Dst, 3953);
- } else {
- dasm_put(Dst, 3959);
- }
- dasm_put(Dst, 2689);
- }
- dasm_put(Dst, 14319);
- }
- dasm_put(Dst, 14324, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL);
- dasm_put(Dst, 14419, LJ_TSTR);
- break;
- case BC_TGETS:
- dasm_put(Dst, 14437, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
- dasm_put(Dst, 14525, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
- break;
- case BC_TGETB:
- dasm_put(Dst, 14595, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
- dasm_put(Dst, 14694, LJ_TNIL);
- break;
-
- case BC_TSETV:
- dasm_put(Dst, 14711, LJ_TTAB);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 14263, LJ_TISNUM);
- } else {
- dasm_put(Dst, 14277, LJ_TISNUM);
- if (sse) {
- dasm_put(Dst, 14288);
- } else {
- dasm_put(Dst, 14309);
- if (cmov) {
- dasm_put(Dst, 3953);
- } else {
- dasm_put(Dst, 3959);
- }
- dasm_put(Dst, 2689);
- }
- dasm_put(Dst, 14734);
- }
- dasm_put(Dst, 14739, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
- dasm_put(Dst, 14823, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
- break;
- case BC_TSETS:
- dasm_put(Dst, 14880, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
- dasm_put(Dst, 14955, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
- dasm_put(Dst, 15047, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
- break;
- case BC_TSETB:
- dasm_put(Dst, 15143, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
- dasm_put(Dst, 15241, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
- break;
-
- case BC_TSETM:
- dasm_put(Dst, 15287, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
- dasm_put(Dst, 15436, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
- break;
-
- /* -- Calls and vararg handling ----------------------------------------- */
-
- case BC_CALL: case BC_CALLM:
- dasm_put(Dst, 12580);
- if (op == BC_CALLM) {
- dasm_put(Dst, 15454);
- }
- dasm_put(Dst, 15459, LJ_TFUNC, Dt7(->pc));
- break;
-
- case BC_CALLMT:
- dasm_put(Dst, 15454);
- break;
- case BC_CALLT:
- dasm_put(Dst, 15500, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
- dasm_put(Dst, 15618, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
- break;
-
- case BC_ITERC:
- dasm_put(Dst, 15688, LJ_TFUNC, 2+1, Dt7(->pc));
- break;
-
- case BC_ITERN:
-#if LJ_HASJIT
-#endif
- dasm_put(Dst, 15768, Dt6(->asize), Dt6(->array), LJ_TNIL);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 12441, LJ_TISNUM);
- } else if (sse) {
- dasm_put(Dst, 12534);
- } else {
- dasm_put(Dst, 15814);
- }
- dasm_put(Dst, 15820);
- if (LJ_DUALNUM) {
- } else if (sse) {
- dasm_put(Dst, 12406);
- } else {
- dasm_put(Dst, 12418);
- }
- dasm_put(Dst, 15839, -BCBIAS_J*4);
- if (!LJ_DUALNUM && !sse) {
- dasm_put(Dst, 15890);
- }
- dasm_put(Dst, 15896, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key.gcr), DtB(->key.it), DtB(->val.gcr), DtB(->val.it));
- dasm_put(Dst, 15971);
- break;
-
- case BC_ISNEXT:
- dasm_put(Dst, 15979, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
- break;
-
- case BC_VARG:
- dasm_put(Dst, 16078, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
- dasm_put(Dst, 16242, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
- break;
-
- /* -- Returns ----------------------------------------------------------- */
-
- case BC_RETM:
- dasm_put(Dst, 15454);
- break;
-
- case BC_RET: case BC_RET0: case BC_RET1:
- if (op != BC_RET0) {
- dasm_put(Dst, 16313);
- }
- dasm_put(Dst, 16317, FRAME_TYPE);
- switch (op) {
- case BC_RET:
- dasm_put(Dst, 16336);
- break;
- case BC_RET1:
- dasm_put(Dst, 16394);
- /* fallthrough */
- case BC_RET0:
- dasm_put(Dst, 16410);
- default:
- break;
- }
- dasm_put(Dst, 16421, Dt7(->pc), PC2PROTO(k));
- if (op == BC_RET) {
- dasm_put(Dst, 16463, LJ_TNIL);
- } else {
- dasm_put(Dst, 16472, LJ_TNIL);
- }
- dasm_put(Dst, 16479, -FRAME_VARG, FRAME_TYPEP);
- if (op != BC_RET0) {
- dasm_put(Dst, 16503);
- }
- dasm_put(Dst, 4937);
- break;
-
- /* -- Loops and branches ------------------------------------------------ */
-
-
- case BC_FORL:
-#if LJ_HASJIT
- dasm_put(Dst, 16507, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP);
-#endif
- break;
-
- case BC_JFORI:
- case BC_JFORL:
-#if !LJ_HASJIT
- break;
-#endif
- case BC_FORI:
- case BC_IFORL:
- vk = (op == BC_IFORL || op == BC_JFORL);
- dasm_put(Dst, 16528);
- if (LJ_DUALNUM) {
- dasm_put(Dst, 16532, LJ_TISNUM);
- if (!vk) {
- dasm_put(Dst, 16542, LJ_TISNUM, LJ_TISNUM);
- } else {
-#ifdef LUA_USE_ASSERT
- dasm_put(Dst, 16571, LJ_TISNUM, LJ_TISNUM);
-#endif
- dasm_put(Dst, 16590);
- }
- dasm_put(Dst, 16609, LJ_TISNUM);
- if (op == BC_FORI) {
- dasm_put(Dst, 16620, -BCBIAS_J*4);
- } else if (op == BC_JFORI) {
- dasm_put(Dst, 16634, -BCBIAS_J*4, BC_JLOOP);
- } else if (op == BC_IFORL) {
- dasm_put(Dst, 16652, -BCBIAS_J*4);
- } else {
- dasm_put(Dst, 16644, BC_JLOOP);
- }
- dasm_put(Dst, 16666);
- if (vk) {
- dasm_put(Dst, 16689);
- }
- dasm_put(Dst, 16609, LJ_TISNUM);
- if (op == BC_FORI) {
- dasm_put(Dst, 16698);
- } else if (op == BC_JFORI) {
- dasm_put(Dst, 16703, -BCBIAS_J*4, BC_JLOOP);
- } else if (op == BC_IFORL) {
- dasm_put(Dst, 16717);
- } else {
- dasm_put(Dst, 16713, BC_JLOOP);
- }
- dasm_put(Dst, 16722);
- } else if (!vk) {
- dasm_put(Dst, 16729, LJ_TISNUM);
- }
- if (!vk) {
- dasm_put(Dst, 16735, LJ_TISNUM);
- } else {
-#ifdef LUA_USE_ASSERT
- dasm_put(Dst, 16749, LJ_TISNUM, LJ_TISNUM);
-#endif
- }
- dasm_put(Dst, 16768);
- if (!vk) {
- dasm_put(Dst, 16772, LJ_TISNUM);
- }
- if (sse) {
- dasm_put(Dst, 16781);
- if (vk) {
- dasm_put(Dst, 16793);
- } else {
- dasm_put(Dst, 16812);
- }
- dasm_put(Dst, 16817);
- } else {
- dasm_put(Dst, 16830);
- if (vk) {
- dasm_put(Dst, 16836);
- } else {
- dasm_put(Dst, 16852);
- }
- dasm_put(Dst, 16860);
- if (cmov) {
- dasm_put(Dst, 3953);
- } else {
- dasm_put(Dst, 3959);
- }
- if (!cmov) {
- dasm_put(Dst, 16865);
- }
- }
- if (op == BC_FORI) {
- if (LJ_DUALNUM) {
- dasm_put(Dst, 16871);
- } else {
- dasm_put(Dst, 16876, -BCBIAS_J*4);
- }
- } else if (op == BC_JFORI) {
- dasm_put(Dst, 16886, -BCBIAS_J*4, BC_JLOOP);
- } else if (op == BC_IFORL) {
- if (LJ_DUALNUM) {
- dasm_put(Dst, 16900);
- } else {
- dasm_put(Dst, 16905, -BCBIAS_J*4);
- }
- } else {
- dasm_put(Dst, 16896, BC_JLOOP);
- }
- if (LJ_DUALNUM) {
- dasm_put(Dst, 11448);
- } else {
- dasm_put(Dst, 12184);
- }
- if (sse) {
- dasm_put(Dst, 16915);
- }
- break;
-
- case BC_ITERL:
-#if LJ_HASJIT
- dasm_put(Dst, 16507, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP);
-#endif
- break;
-
- case BC_JITERL:
-#if !LJ_HASJIT
- break;
-#endif
- case BC_IITERL:
- dasm_put(Dst, 16926, LJ_TNIL);
- if (op == BC_JITERL) {
- dasm_put(Dst, 16941, BC_JLOOP);
- } else {
- dasm_put(Dst, 16955, -BCBIAS_J*4);
- }
- dasm_put(Dst, 11544);
- break;
-
- case BC_LOOP:
-#if LJ_HASJIT
- dasm_put(Dst, 16507, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP);
-#endif
- break;
-
- case BC_ILOOP:
- dasm_put(Dst, 11546);
- break;
-
- case BC_JLOOP:
-#if LJ_HASJIT
- dasm_put(Dst, 16971, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
-#endif
- break;
-
- case BC_JMP:
- dasm_put(Dst, 16994, -BCBIAS_J*4);
- break;
-
- /* -- Function headers -------------------------------------------------- */
-
- /*
- ** Reminder: A function may be called with func/args above L->maxstack,
- ** i.e. occupying EXTRA_STACK slots. And vmeta_call may add one extra slot,
- ** too. This means all FUNC* ops (including fast functions) must check
- ** for stack overflow _before_ adding more slots!
- */
-
- case BC_FUNCF:
-#if LJ_HASJIT
- dasm_put(Dst, 17018, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_CALL);
-#endif
- case BC_FUNCV: /* NYI: compiled vararg functions. */
- break;
-
- case BC_JFUNCF:
-#if !LJ_HASJIT
- break;
-#endif
- case BC_IFUNCF:
- dasm_put(Dst, 17039, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
- if (op == BC_JFUNCF) {
- dasm_put(Dst, 17069, BC_JLOOP);
- } else {
- dasm_put(Dst, 11546);
- }
- dasm_put(Dst, 17078, LJ_TNIL);
- break;
-
- case BC_JFUNCV:
-#if !LJ_HASJIT
- break;
-#endif
- dasm_put(Dst, 10445);
- break; /* NYI: compiled vararg functions. */
-
- case BC_IFUNCV:
- dasm_put(Dst, 17100, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
- if (op == BC_JFUNCV) {
- dasm_put(Dst, 17069, BC_JLOOP);
- } else {
- dasm_put(Dst, 17191, -4+PC2PROTO(k));
- }
- dasm_put(Dst, 17213, LJ_TNIL);
- break;
-
- case BC_FUNCC:
- case BC_FUNCCW:
- dasm_put(Dst, 17235, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
- if (op == BC_FUNCC) {
- dasm_put(Dst, 17264);
- } else {
- dasm_put(Dst, 17268);
- }
- dasm_put(Dst, 17276, DISPATCH_GL(vmstate), ~LJ_VMST_C);
- if (op == BC_FUNCC) {
- dasm_put(Dst, 17285);
- } else {
- dasm_put(Dst, 17289, DISPATCH_GL(wrapf));
- }
- dasm_put(Dst, 17294, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
- break;
-
- /* ---------------------------------------------------------------------- */
-
- default:
- fprintf(stderr, "Error: undefined opcode BC_%s\n", bc_names[op]);
- exit(2);
- break;
- }
-}
-
-static int build_backend(BuildCtx *ctx)
-{
- int op;
- int cmov = 1;
- int sse = 0;
-#ifdef LUAJIT_CPU_NOCMOV
- cmov = 0;
-#endif
-#if defined(LUAJIT_CPU_SSE2) || defined(LJ_TARGET_X64)
- sse = 1;
-#endif
-
- dasm_growpc(Dst, BC__MAX);
-
- build_subroutines(ctx, cmov, sse);
-
- dasm_put(Dst, 17319);
- for (op = 0; op < BC__MAX; op++)
- build_ins(ctx, (BCOp)op, op, cmov, sse);
-
- return BC__MAX;
-}
-
-/* Emit pseudo frame-info for all assembler functions. */
-static void emit_asm_debug(BuildCtx *ctx)
-{
- int fcofs = (int)((uint8_t *)ctx->glob[GLOB_vm_ffi_call] - ctx->code);
-#if LJ_64
-#define SZPTR "8"
-#define BSZPTR "3"
-#define REG_SP "0x7"
-#define REG_RA "0x10"
-#else
-#define SZPTR "4"
-#define BSZPTR "2"
-#define REG_SP "0x4"
-#define REG_RA "0x8"
-#endif
- switch (ctx->mode) {
- case BUILD_elfasm:
- fprintf(ctx->fp, "\t.section .debug_frame,\"\",@progbits\n");
- fprintf(ctx->fp,
- ".Lframe0:\n"
- "\t.long .LECIE0-.LSCIE0\n"
- ".LSCIE0:\n"
- "\t.long 0xffffffff\n"
- "\t.byte 0x1\n"
- "\t.string \"\"\n"
- "\t.uleb128 0x1\n"
- "\t.sleb128 -" SZPTR "\n"
- "\t.byte " REG_RA "\n"
- "\t.byte 0xc\n\t.uleb128 " REG_SP "\n\t.uleb128 " SZPTR "\n"
- "\t.byte 0x80+" REG_RA "\n\t.uleb128 0x1\n"
- "\t.align " SZPTR "\n"
- ".LECIE0:\n\n");
- fprintf(ctx->fp,
- ".LSFDE0:\n"
- "\t.long .LEFDE0-.LASFDE0\n"
- ".LASFDE0:\n"
- "\t.long .Lframe0\n"
-#if LJ_64
- "\t.quad .Lbegin\n"
- "\t.quad %d\n"
- "\t.byte 0xe\n\t.uleb128 %d\n" /* def_cfa_offset */
- "\t.byte 0x86\n\t.uleb128 0x2\n" /* offset rbp */
- "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset rbx */
- "\t.byte 0x8f\n\t.uleb128 0x4\n" /* offset r15 */
- "\t.byte 0x8e\n\t.uleb128 0x5\n" /* offset r14 */
-#else
- "\t.long .Lbegin\n"
- "\t.long %d\n"
- "\t.byte 0xe\n\t.uleb128 %d\n" /* def_cfa_offset */
- "\t.byte 0x85\n\t.uleb128 0x2\n" /* offset ebp */
- "\t.byte 0x87\n\t.uleb128 0x3\n" /* offset edi */
- "\t.byte 0x86\n\t.uleb128 0x4\n" /* offset esi */
- "\t.byte 0x83\n\t.uleb128 0x5\n" /* offset ebx */
-#endif
- "\t.align " SZPTR "\n"
- ".LEFDE0:\n\n", fcofs, CFRAME_SIZE);
-#if LJ_HASFFI
- fprintf(ctx->fp,
- ".LSFDE1:\n"
- "\t.long .LEFDE1-.LASFDE1\n"
- ".LASFDE1:\n"
- "\t.long .Lframe0\n"
-#if LJ_64
- "\t.quad lj_vm_ffi_call\n"
- "\t.quad %d\n"
- "\t.byte 0xe\n\t.uleb128 16\n" /* def_cfa_offset */
- "\t.byte 0x86\n\t.uleb128 0x2\n" /* offset rbp */
- "\t.byte 0xd\n\t.uleb128 0x6\n" /* def_cfa_register rbp */
- "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset rbx */
-#else
- "\t.long lj_vm_ffi_call\n"
- "\t.long %d\n"
- "\t.byte 0xe\n\t.uleb128 8\n" /* def_cfa_offset */
- "\t.byte 0x85\n\t.uleb128 0x2\n" /* offset ebp */
- "\t.byte 0xd\n\t.uleb128 0x5\n" /* def_cfa_register ebp */
- "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset ebx */
-#endif
- "\t.align " SZPTR "\n"
- ".LEFDE1:\n\n", (int)ctx->codesz - fcofs);
-#endif
-#if (defined(__sun__) && defined(__svr4__)) || defined(__solaris_)
- fprintf(ctx->fp, "\t.section .eh_frame,\"aw\",@progbits\n");
-#else
- fprintf(ctx->fp, "\t.section .eh_frame,\"a\",@progbits\n");
-#endif
- fprintf(ctx->fp,
- ".Lframe1:\n"
- "\t.long .LECIE1-.LSCIE1\n"
- ".LSCIE1:\n"
- "\t.long 0\n"
- "\t.byte 0x1\n"
- "\t.string \"zPR\"\n"
- "\t.uleb128 0x1\n"
- "\t.sleb128 -" SZPTR "\n"
- "\t.byte " REG_RA "\n"
- "\t.uleb128 6\n" /* augmentation length */
- "\t.byte 0x1b\n" /* pcrel|sdata4 */
- "\t.long lj_err_unwind_dwarf-.\n"
- "\t.byte 0x1b\n" /* pcrel|sdata4 */
- "\t.byte 0xc\n\t.uleb128 " REG_SP "\n\t.uleb128 " SZPTR "\n"
- "\t.byte 0x80+" REG_RA "\n\t.uleb128 0x1\n"
- "\t.align " SZPTR "\n"
- ".LECIE1:\n\n");
- fprintf(ctx->fp,
- ".LSFDE2:\n"
- "\t.long .LEFDE2-.LASFDE2\n"
- ".LASFDE2:\n"
- "\t.long .LASFDE2-.Lframe1\n"
- "\t.long .Lbegin-.\n"
- "\t.long %d\n"
- "\t.uleb128 0\n" /* augmentation length */
- "\t.byte 0xe\n\t.uleb128 %d\n" /* def_cfa_offset */
-#if LJ_64
- "\t.byte 0x86\n\t.uleb128 0x2\n" /* offset rbp */
- "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset rbx */
- "\t.byte 0x8f\n\t.uleb128 0x4\n" /* offset r15 */
- "\t.byte 0x8e\n\t.uleb128 0x5\n" /* offset r14 */
-#else
- "\t.byte 0x85\n\t.uleb128 0x2\n" /* offset ebp */
- "\t.byte 0x87\n\t.uleb128 0x3\n" /* offset edi */
- "\t.byte 0x86\n\t.uleb128 0x4\n" /* offset esi */
- "\t.byte 0x83\n\t.uleb128 0x5\n" /* offset ebx */
-#endif
- "\t.align " SZPTR "\n"
- ".LEFDE2:\n\n", fcofs, CFRAME_SIZE);
-#if LJ_HASFFI
- fprintf(ctx->fp,
- ".Lframe2:\n"
- "\t.long .LECIE2-.LSCIE2\n"
- ".LSCIE2:\n"
- "\t.long 0\n"
- "\t.byte 0x1\n"
- "\t.string \"zR\"\n"
- "\t.uleb128 0x1\n"
- "\t.sleb128 -" SZPTR "\n"
- "\t.byte " REG_RA "\n"
- "\t.uleb128 1\n" /* augmentation length */
- "\t.byte 0x1b\n" /* pcrel|sdata4 */
- "\t.byte 0xc\n\t.uleb128 " REG_SP "\n\t.uleb128 " SZPTR "\n"
- "\t.byte 0x80+" REG_RA "\n\t.uleb128 0x1\n"
- "\t.align " SZPTR "\n"
- ".LECIE2:\n\n");
- fprintf(ctx->fp,
- ".LSFDE3:\n"
- "\t.long .LEFDE3-.LASFDE3\n"
- ".LASFDE3:\n"
- "\t.long .LASFDE3-.Lframe2\n"
- "\t.long lj_vm_ffi_call-.\n"
- "\t.long %d\n"
- "\t.uleb128 0\n" /* augmentation length */
-#if LJ_64
- "\t.byte 0xe\n\t.uleb128 16\n" /* def_cfa_offset */
- "\t.byte 0x86\n\t.uleb128 0x2\n" /* offset rbp */
- "\t.byte 0xd\n\t.uleb128 0x6\n" /* def_cfa_register rbp */
- "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset rbx */
-#else
- "\t.byte 0xe\n\t.uleb128 8\n" /* def_cfa_offset */
- "\t.byte 0x85\n\t.uleb128 0x2\n" /* offset ebp */
- "\t.byte 0xd\n\t.uleb128 0x5\n" /* def_cfa_register ebp */
- "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset ebx */
-#endif
- "\t.align " SZPTR "\n"
- ".LEFDE3:\n\n", (int)ctx->codesz - fcofs);
-#endif
- break;
- case BUILD_coffasm:
- fprintf(ctx->fp, "\t.section .eh_frame,\"dr\"\n");
- fprintf(ctx->fp,
- "\t.def %slj_err_unwind_dwarf; .scl 2; .type 32; .endef\n",
- LJ_32 ? "_" : "");
- fprintf(ctx->fp,
- "Lframe1:\n"
- "\t.long LECIE1-LSCIE1\n"
- "LSCIE1:\n"
- "\t.long 0\n"
- "\t.byte 0x1\n"
- "\t.string \"zP\"\n"
- "\t.uleb128 0x1\n"
- "\t.sleb128 -" SZPTR "\n"
- "\t.byte " REG_RA "\n"
- "\t.uleb128 5\n" /* augmentation length */
- "\t.byte 0x00\n" /* absptr */
- "\t.long %slj_err_unwind_dwarf\n"
- "\t.byte 0xc\n\t.uleb128 " REG_SP "\n\t.uleb128 " SZPTR "\n"
- "\t.byte 0x80+" REG_RA "\n\t.uleb128 0x1\n"
- "\t.align " SZPTR "\n"
- "LECIE1:\n\n", LJ_32 ? "_" : "");
- fprintf(ctx->fp,
- "LSFDE1:\n"
- "\t.long LEFDE1-LASFDE1\n"
- "LASFDE1:\n"
- "\t.long LASFDE1-Lframe1\n"
- "\t.long %slj_vm_asm_begin\n"
- "\t.long %d\n"
- "\t.uleb128 0\n" /* augmentation length */
- "\t.byte 0xe\n\t.uleb128 %d\n" /* def_cfa_offset */
-#if LJ_64
- "\t.byte 0x86\n\t.uleb128 0x2\n" /* offset rbp */
- "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset rbx */
- "\t.byte 0x8f\n\t.uleb128 0x4\n" /* offset r15 */
- "\t.byte 0x8e\n\t.uleb128 0x5\n" /* offset r14 */
-#else
- "\t.byte 0x85\n\t.uleb128 0x2\n" /* offset ebp */
- "\t.byte 0x87\n\t.uleb128 0x3\n" /* offset edi */
- "\t.byte 0x86\n\t.uleb128 0x4\n" /* offset esi */
- "\t.byte 0x83\n\t.uleb128 0x5\n" /* offset ebx */
-#endif
- "\t.align " SZPTR "\n"
- "LEFDE1:\n\n", LJ_32 ? "_" : "", (int)ctx->codesz, CFRAME_SIZE);
- break;
- /* Mental note: never let Apple design an assembler.
- ** Or a linker. Or a plastic case. But I digress.
- */
- case BUILD_machasm: {
-#if LJ_HASFFI
- int fcsize = 0;
-#endif
- int i;
- fprintf(ctx->fp, "\t.section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support\n");
- fprintf(ctx->fp,
- "EH_frame1:\n"
- "\t.set L$set$x,LECIEX-LSCIEX\n"
- "\t.long L$set$x\n"
- "LSCIEX:\n"
- "\t.long 0\n"
- "\t.byte 0x1\n"
- "\t.ascii \"zPR\\0\"\n"
- "\t.byte 0x1\n"
- "\t.byte 128-" SZPTR "\n"
- "\t.byte " REG_RA "\n"
- "\t.byte 6\n" /* augmentation length */
- "\t.byte 0x9b\n" /* indirect|pcrel|sdata4 */
-#if LJ_64
- "\t.long _lj_err_unwind_dwarf+4@GOTPCREL\n"
- "\t.byte 0x1b\n" /* pcrel|sdata4 */
- "\t.byte 0xc\n\t.byte " REG_SP "\n\t.byte " SZPTR "\n"
-#else
- "\t.long L_lj_err_unwind_dwarf$non_lazy_ptr-.\n"
- "\t.byte 0x1b\n" /* pcrel|sdata4 */
- "\t.byte 0xc\n\t.byte 0x5\n\t.byte 0x4\n" /* esp=5 on 32 bit MACH-O. */
-#endif
- "\t.byte 0x80+" REG_RA "\n\t.byte 0x1\n"
- "\t.align " BSZPTR "\n"
- "LECIEX:\n\n");
- for (i = 0; i < ctx->nsym; i++) {
- const char *name = ctx->sym[i].name;
- int32_t size = ctx->sym[i+1].ofs - ctx->sym[i].ofs;
- if (size == 0) continue;
-#if LJ_HASFFI
- if (!strcmp(name, "_lj_vm_ffi_call")) { fcsize = size; continue; }
-#endif
- fprintf(ctx->fp,
- "%s.eh:\n"
- "LSFDE%d:\n"
- "\t.set L$set$%d,LEFDE%d-LASFDE%d\n"
- "\t.long L$set$%d\n"
- "LASFDE%d:\n"
- "\t.long LASFDE%d-EH_frame1\n"
- "\t.long %s-.\n"
- "\t.long %d\n"
- "\t.byte 0\n" /* augmentation length */
- "\t.byte 0xe\n\t.byte %d\n" /* def_cfa_offset */
-#if LJ_64
- "\t.byte 0x86\n\t.byte 0x2\n" /* offset rbp */
- "\t.byte 0x83\n\t.byte 0x3\n" /* offset rbx */
- "\t.byte 0x8f\n\t.byte 0x4\n" /* offset r15 */
- "\t.byte 0x8e\n\t.byte 0x5\n" /* offset r14 */
-#else
- "\t.byte 0x84\n\t.byte 0x2\n" /* offset ebp (4 for MACH-O)*/
- "\t.byte 0x87\n\t.byte 0x3\n" /* offset edi */
- "\t.byte 0x86\n\t.byte 0x4\n" /* offset esi */
- "\t.byte 0x83\n\t.byte 0x5\n" /* offset ebx */
-#endif
- "\t.align " BSZPTR "\n"
- "LEFDE%d:\n\n",
- name, i, i, i, i, i, i, i, name, size, CFRAME_SIZE, i);
- }
-#if LJ_HASFFI
- if (fcsize) {
- fprintf(ctx->fp,
- "EH_frame2:\n"
- "\t.set L$set$y,LECIEY-LSCIEY\n"
- "\t.long L$set$y\n"
- "LSCIEY:\n"
- "\t.long 0\n"
- "\t.byte 0x1\n"
- "\t.ascii \"zR\\0\"\n"
- "\t.byte 0x1\n"
- "\t.byte 128-" SZPTR "\n"
- "\t.byte " REG_RA "\n"
- "\t.byte 1\n" /* augmentation length */
-#if LJ_64
- "\t.byte 0x1b\n" /* pcrel|sdata4 */
- "\t.byte 0xc\n\t.byte " REG_SP "\n\t.byte " SZPTR "\n"
-#else
- "\t.byte 0x1b\n" /* pcrel|sdata4 */
- "\t.byte 0xc\n\t.byte 0x5\n\t.byte 0x4\n" /* esp=5 on 32 bit MACH. */
-#endif
- "\t.byte 0x80+" REG_RA "\n\t.byte 0x1\n"
- "\t.align " BSZPTR "\n"
- "LECIEY:\n\n");
- fprintf(ctx->fp,
- "_lj_vm_ffi_call.eh:\n"
- "LSFDEY:\n"
- "\t.set L$set$yy,LEFDEY-LASFDEY\n"
- "\t.long L$set$yy\n"
- "LASFDEY:\n"
- "\t.long LASFDEY-EH_frame2\n"
- "\t.long _lj_vm_ffi_call-.\n"
- "\t.long %d\n"
- "\t.byte 0\n" /* augmentation length */
-#if LJ_64
- "\t.byte 0xe\n\t.byte 16\n" /* def_cfa_offset */
- "\t.byte 0x86\n\t.byte 0x2\n" /* offset rbp */
- "\t.byte 0xd\n\t.uleb128 0x6\n" /* def_cfa_register rbp */
- "\t.byte 0x83\n\t.byte 0x3\n" /* offset rbx */
-#else
- "\t.byte 0xe\n\t.byte 8\n" /* def_cfa_offset */
- "\t.byte 0x84\n\t.byte 0x2\n" /* offset ebp (4 for MACH-O)*/
- "\t.byte 0xd\n\t.uleb128 0x4\n" /* def_cfa_register ebp */
- "\t.byte 0x83\n\t.byte 0x3\n" /* offset ebx */
-#endif
- "\t.align " BSZPTR "\n"
- "LEFDEY:\n\n", fcsize);
- }
-#endif
-#if LJ_64
- fprintf(ctx->fp, "\t.subsections_via_symbols\n");
-#else
- fprintf(ctx->fp,
- "\t.non_lazy_symbol_pointer\n"
- "L_lj_err_unwind_dwarf$non_lazy_ptr:\n"
- ".indirect_symbol _lj_err_unwind_dwarf\n"
- ".long 0\n");
-#endif
- }
- break;
- default: /* Difficult for other modes. */
- break;
- }
-}
-
--- /dev/null
+minilua
+buildvm
+buildvm_arch.h
/* Avoid trouble if cross-compiling for an x86 target. Speed doesn't matter. */
#define DASM_ALIGNED_WRITES 1
-/* Embed architecture-specific DynASM encoder and backend. */
-#if LJ_TARGET_X86
+/* Embed architecture-specific DynASM encoder. */
+#if LJ_TARGET_X86ORX64
#include "../dynasm/dasm_x86.h"
-#include "buildvm_x86.h"
-#elif LJ_TARGET_X64
-#include "../dynasm/dasm_x86.h"
-#if LJ_ABI_WIN
-#include "buildvm_x64win.h"
-#else
-#include "buildvm_x64.h"
-#endif
#elif LJ_TARGET_ARM
#include "../dynasm/dasm_arm.h"
-#include "buildvm_arm.h"
#elif LJ_TARGET_PPC
#include "../dynasm/dasm_ppc.h"
-#include "buildvm_ppc.h"
#elif LJ_TARGET_PPCSPE
#include "../dynasm/dasm_ppc.h"
-#include "buildvm_ppcspe.h"
#elif LJ_TARGET_MIPS
#include "../dynasm/dasm_mips.h"
-#include "buildvm_mips.h"
#else
#error "No support for this architecture (yet)"
#endif
+/* Embed generated architecture-specific backend. */
+#include "buildvm_arch.h"
+
/* ------------------------------------------------------------------------ */
void owrite(BuildCtx *ctx, const void *ptr, size_t sz)
@set LJMT=mt /nologo\r
@set LJLIB=lib /nologo\r
@set DASMDIR=..\dynasm\r
-@set DASM=lua %DASMDIR%\dynasm.lua\r
+@set DASM=%DASMDIR%\dynasm.lua\r
@set ALL_LIB=lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c\r
\r
-if not exist buildvm_x86.h^\r
- %DASM% -LN -o buildvm_x86.h buildvm_x86.dasc\r
+%LJCOMPILE% host\minilua.c\r
@if errorlevel 1 goto :BAD\r
-if not exist buildvm_x64win.h^\r
- %DASM% -LN -D X64 -D X64WIN -o buildvm_x64win.h buildvm_x86.dasc\r
+%LJLINK% /out:minilua.exe minilua.obj\r
@if errorlevel 1 goto :BAD\r
+if exist minilua.exe.manifest^\r
+ %LJMT% -manifest minilua.exe.manifest -outputresource:minilua.exe\r
\r
-%LJCOMPILE% /I "." /I %DASMDIR% buildvm*.c\r
+@set DASMFLAGS=-D X64 -D X64WIN\r
+@if defined CPU goto :XCPU\r
+@set CPU=%PROCESSOR_ARCHITECTURE%\r
+:XCPU\r
+@if "%CPU%"=="AMD64" goto :X64\r
+@if "%CPU%"=="X64" goto :X64\r
+@set DASMFLAGS=\r
+:X64\r
+minilua %DASM% -LN %DASMFLAGS% -o host\buildvm_arch.h vm_x86.dasc\r
+@if errorlevel 1 goto :BAD\r
+\r
+%LJCOMPILE% /I "." /I %DASMDIR% host\buildvm*.c\r
@if errorlevel 1 goto :BAD\r
%LJLINK% /out:buildvm.exe buildvm*.obj\r
@if errorlevel 1 goto :BAD\r
if exist luajit.exe.manifest^\r
%LJMT% -manifest luajit.exe.manifest -outputresource:luajit.exe\r
\r
-@del *.obj *.manifest buildvm.exe\r
+@del *.obj *.manifest minilua.exe buildvm.exe\r
@echo.\r
@echo === Successfully built LuaJIT ===\r
\r