/* ** 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[4995] = { 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, 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, 2538); #endif dasm_put(Dst, 2540, 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, 2587, GG_DISP2STATIC); #if LJ_HASJIT dasm_put(Dst, 2605); #endif dasm_put(Dst, 2607); #if LJ_HASJIT dasm_put(Dst, 2610); #endif dasm_put(Dst, 2613); #if LJ_HASJIT dasm_put(Dst, 2615); #endif dasm_put(Dst, 2618, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); #if LJ_HASJIT dasm_put(Dst, 2640); #endif dasm_put(Dst, 2642); #if LJ_HASJIT dasm_put(Dst, 2644); #endif dasm_put(Dst, 2646); #if LJ_HASJIT dasm_put(Dst, 2730); #else dasm_put(Dst, 2753); #endif dasm_put(Dst, 2756); #if LJ_HASFFI dasm_put(Dst, 2819); #endif } /* Generate the code for a single instruction. */ static void build_ins(BuildCtx *ctx, BCOp op, int defop) { int vk = 0; dasm_put(Dst, 2821, 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, 2823, -(BCBIAS_J*4 >> 16)); if (op == BC_ISLE || op == BC_ISGT) { dasm_put(Dst, 2837); } if (op == BC_ISLT || op == BC_ISLE) { dasm_put(Dst, 2840); } else { dasm_put(Dst, 2842); } dasm_put(Dst, 2844); break; case BC_ISEQV: case BC_ISNEV: vk = op == BC_ISEQV; dasm_put(Dst, 2855, -(BCBIAS_J*4 >> 16)); if (vk) { dasm_put(Dst, 2869); } else { dasm_put(Dst, 2871); } dasm_put(Dst, 2873, ~LJ_TISPRI, ~LJ_TISTABUD); if (vk) { dasm_put(Dst, 2895); } else { dasm_put(Dst, 2897); } dasm_put(Dst, 2899); if (vk) { dasm_put(Dst, 2901); } else { dasm_put(Dst, 2903); } dasm_put(Dst, 2905, Dt6(->metatable), 1-vk, Dt6(->nomm), 1<> 16)); if (vk) { dasm_put(Dst, 2940); } else { dasm_put(Dst, 2942); } dasm_put(Dst, 2944); break; case BC_ISEQN: case BC_ISNEN: vk = op == BC_ISEQN; dasm_put(Dst, 2955, -(BCBIAS_J*4 >> 16)); if (vk) { dasm_put(Dst, 2969); } else { dasm_put(Dst, 2972); } dasm_put(Dst, 2974); if (!vk) { dasm_put(Dst, 2986); } break; case BC_ISEQP: case BC_ISNEP: vk = op == BC_ISEQP; dasm_put(Dst, 2992, 32-3, -(BCBIAS_J*4 >> 16)); if (vk) { dasm_put(Dst, 3004); } else { dasm_put(Dst, 3006); } dasm_put(Dst, 3008); break; /* -- Unary test and copy ops ------------------------------------------- */ case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: dasm_put(Dst, 3019); if (op == BC_IST || op == BC_ISF) { dasm_put(Dst, 3025, -(BCBIAS_J*4 >> 16)); if (op == BC_IST) { dasm_put(Dst, 3030); } else { dasm_put(Dst, 3032); } } else { if (op == BC_ISTC) { dasm_put(Dst, 3034); } else { dasm_put(Dst, 3037); } dasm_put(Dst, 3040, -(BCBIAS_J*4 >> 16)); } dasm_put(Dst, 3047); break; /* -- Unary ops --------------------------------------------------------- */ case BC_MOV: dasm_put(Dst, 3058); break; case BC_NOT: dasm_put(Dst, 3071, LJ_TTRUE); break; case BC_UNM: dasm_put(Dst, 3087); break; case BC_LEN: dasm_put(Dst, 3104, Dt5(->len)); #ifdef LUAJIT_ENABLE_LUA52COMPAT dasm_put(Dst, 3128, Dt6(->metatable)); #endif dasm_put(Dst, 3135); #ifdef LUAJIT_ENABLE_LUA52COMPAT dasm_put(Dst, 3141, Dt6(->nomm), 1<base), 32-3, Dt1(->base)); break; /* -- Constant ops ------------------------------------------------------ */ case BC_KSTR: dasm_put(Dst, 3390, 32-1); break; case BC_KCDATA: #if LJ_HASFFI dasm_put(Dst, 3407, 32-1, LJ_TCDATA); #endif break; case BC_KSHORT: dasm_put(Dst, 3426, 32-3); break; case BC_KNUM: dasm_put(Dst, 3442); break; case BC_KPRI: dasm_put(Dst, 3455, 32-3); break; case BC_KNIL: dasm_put(Dst, 3470); break; /* -- Upvalue and function ops ------------------------------------------ */ case BC_UGET: dasm_put(Dst, 3489, 32-1, offsetof(GCfuncL, uvptr), DtA(->v)); break; case BC_USETV: dasm_put(Dst, 3510, 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, 3562, 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, 3611, 32-1, offsetof(GCfuncL, uvptr), DtA(->v)); break; case BC_USETP: dasm_put(Dst, 3632, 32-1, offsetof(GCfuncL, uvptr), 32-3, DtA(->v)); break; case BC_UCLO: dasm_put(Dst, 3655, Dt1(->openupval), 32-1, -(BCBIAS_J*4 >> 16), Dt1(->base), Dt1(->base)); break; case BC_FNEW: dasm_put(Dst, 3685, 32-1, Dt1(->base), Dt1(->base)); break; /* -- Table ops --------------------------------------------------------- */ case BC_TNEW: case BC_TDUP: dasm_put(Dst, 3711, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base)); if (op == BC_TNEW) { dasm_put(Dst, 3724); } else { dasm_put(Dst, 3732, 32-1); } dasm_put(Dst, 3739, Dt1(->base)); break; case BC_GGET: case BC_GSET: dasm_put(Dst, 3762, 32-1, Dt7(->env)); if (op == BC_GGET) { dasm_put(Dst, 3770); } else { dasm_put(Dst, 3773); } break; case BC_TGETV: dasm_put(Dst, 3776, Dt6(->asize), Dt6(->array), 31-3, Dt6(->metatable), Dt6(->nomm), 1<hmask), Dt5(->hash), Dt6(->node), 31-5, 31-3, DtB(->key), DtB(->val), DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<asize), Dt6(->array), Dt6(->metatable), Dt6(->nomm), 1<asize), Dt6(->array), 31-3, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<marked), Dt6(->gclist)); break; case BC_TSETS: dasm_put(Dst, 4026, 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, 4087, Dt6(->nomm), 1<next), Dt6(->metatable), DISPATCH_GL(tmptv), Dt1(->base), Dt6(->nomm), 1<base), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain)); dasm_put(Dst, 4138, Dt6(->marked), Dt6(->gclist)); break; case BC_TSETB: dasm_put(Dst, 4145, 32-3, Dt6(->asize), Dt6(->array), Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<marked)); dasm_put(Dst, 4205, Dt6(->gclist)); break; case BC_TSETM: dasm_put(Dst, 4210, 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, 4279); break; /* -- Calls and vararg handling ----------------------------------------- */ case BC_CALLM: dasm_put(Dst, 4282); break; case BC_CALL: dasm_put(Dst, 4284, Dt7(->pc)); break; case BC_CALLMT: dasm_put(Dst, 4304); break; case BC_CALLT: dasm_put(Dst, 4306, FRAME_TYPE, Dt7(->ffid), FRAME_VARG, Dt7(->pc), -4-8, Dt7(->pc), PC2PROTO(k), FRAME_TYPEP); dasm_put(Dst, 4371, FRAME_TYPE); break; case BC_ITERC: dasm_put(Dst, 4378, Dt7(->pc)); break; case BC_ITERN: #if LJ_HASJIT #endif dasm_put(Dst, 4404, 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, 4483); break; case BC_ISNEXT: dasm_put(Dst, 4487, 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, 4538, FRAME_VARG, Dt1(->maxstack), Dt1(->top), Dt1(->base), 32-3, Dt1(->base)); dasm_put(Dst, 4618); break; /* -- Returns ----------------------------------------------------------- */ case BC_RETM: dasm_put(Dst, 4624); break; case BC_RET: dasm_put(Dst, 4626, FRAME_TYPE, FRAME_VARG, Dt7(->pc), PC2PROTO(k), FRAME_TYPEP); break; case BC_RET0: case BC_RET1: dasm_put(Dst, 4696, FRAME_TYPE, FRAME_VARG); if (op == BC_RET1) { dasm_put(Dst, 4709); } dasm_put(Dst, 4712, Dt7(->pc), PC2PROTO(k)); break; /* -- Loops and branches ------------------------------------------------ */ case BC_FORL: #if LJ_HASJIT dasm_put(Dst, 4740); #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, 4742, FORL_IDX*8, FORL_STEP*8, FORL_STOP*8); if (!vk) { dasm_put(Dst, 4750); } if (vk) { dasm_put(Dst, 4758, FORL_IDX*8); } dasm_put(Dst, 4762, FORL_EXT*8); if (op != BC_JFORL) { dasm_put(Dst, 4770, 32-1); if (op == BC_JFORI) { dasm_put(Dst, 4774, -(BCBIAS_J*4 >> 16)); } else { dasm_put(Dst, 4777, -(BCBIAS_J*4 >> 16)); } } if (op == BC_FORI) { dasm_put(Dst, 4780); } else if (op == BC_IFORL) { dasm_put(Dst, 4782); } else { dasm_put(Dst, 4784, BC_JLOOP); } dasm_put(Dst, 4787); break; case BC_ITERL: #if LJ_HASJIT dasm_put(Dst, 4802); #endif break; case BC_JITERL: #if !LJ_HASJIT break; #endif case BC_IITERL: dasm_put(Dst, 4804); if (op == BC_JITERL) { dasm_put(Dst, 4810); } else { dasm_put(Dst, 4812, 32-1, -(BCBIAS_J*4 >> 16)); } dasm_put(Dst, 4819); break; case BC_LOOP: #if LJ_HASJIT dasm_put(Dst, 4831); #endif break; case BC_ILOOP: dasm_put(Dst, 4833); break; case BC_JLOOP: #if LJ_HASJIT dasm_put(Dst, 4844); #endif break; case BC_JMP: dasm_put(Dst, 4846, 32-1, -(BCBIAS_J*4 >> 16)); break; /* -- Function headers -------------------------------------------------- */ case BC_FUNCF: #if LJ_HASJIT dasm_put(Dst, 4862); #endif case BC_FUNCV: /* NYI: compiled vararg functions. */ break; case BC_JFUNCF: #if !LJ_HASJIT break; #endif case BC_IFUNCF: dasm_put(Dst, 4864, Dt1(->maxstack), -4+PC2PROTO(numparams), -4+PC2PROTO(k), 31-3); if (op == BC_JFUNCF) { dasm_put(Dst, 4882); } else { dasm_put(Dst, 4884); } dasm_put(Dst, 4893); break; case BC_JFUNCV: #if !LJ_HASJIT break; #endif dasm_put(Dst, 4899); break; /* NYI: compiled vararg functions. */ case BC_IFUNCV: dasm_put(Dst, 4901, 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, 4951, Dt8(->f)); } else { dasm_put(Dst, 4954, DISPATCH_GL(wrapf)); } dasm_put(Dst, 4957, Dt1(->maxstack), Dt1(->base), Dt1(->top), ~LJ_VMST_C); if (op == BC_FUNCCW) { dasm_put(Dst, 4970, Dt8(->f)); } dasm_put(Dst, 4973, 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, 4994); 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; } }