summaryrefslogtreecommitdiff
path: root/src/buildvm_x86.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildvm_x86.h')
-rw-r--r--src/buildvm_x86.h3205
1 files changed, 1620 insertions, 1585 deletions
diff --git a/src/buildvm_x86.h b/src/buildvm_x86.h
index 8add07c5..cd33cf87 100644
--- a/src/buildvm_x86.h
+++ b/src/buildvm_x86.h
@@ -12,7 +12,7 @@
12#define DASM_SECTION_CODE_OP 0 12#define DASM_SECTION_CODE_OP 0
13#define DASM_SECTION_CODE_SUB 1 13#define DASM_SECTION_CODE_SUB 1
14#define DASM_MAXSECTION 2 14#define DASM_MAXSECTION 2
15static const unsigned char build_actionlist[17112] = { 15static const unsigned char build_actionlist[17321] = {
16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,141, 16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,141,
17 76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36, 17 76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,
18 20,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237,15, 18 20,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237,15,
@@ -49,795 +49,806 @@ static const unsigned char build_actionlist[17112] = {
49 56,137,68,36,8,137,76,36,4,137,44,36,139,189,233,137,124,36,52,137,165,233, 49 56,137,68,36,8,137,76,36,4,137,44,36,139,189,233,137,124,36,52,137,165,233,
50 252,255,210,133,192,15,132,244,15,137,193,190,237,252,233,244,2,248,11,1, 50 252,255,210,133,192,15,132,244,15,137,193,190,237,252,233,244,2,248,11,1,
51 209,131,230,252,248,137,213,41,252,242,199,68,193,252,252,237,137,200,139, 51 209,131,230,252,248,137,213,41,252,242,199,68,193,252,252,237,137,200,139,
52 117,252,244,139,77,252,240,133,201,15,132,244,247,255,139,122,252,248,139, 52 117,252,244,255,139,77,252,240,255,131,252,249,1,15,134,244,247,255,139,122,
53 191,233,139,191,233,252,255,225,248,1,41,213,193,252,237,3,141,69,252,255, 53 252,248,139,191,233,139,191,233,252,255,225,255,248,1,15,132,244,32,41,213,
54 252,233,244,32,248,33,15,182,78,252,255,131,252,237,16,141,12,202,41,252, 54 193,252,237,3,141,69,252,255,252,233,244,33,255,248,34,15,182,78,252,255,
55 233,15,132,244,34,252,247,217,193,252,233,3,137,76,36,8,139,72,4,139,0,137, 55 131,252,237,16,141,12,202,41,252,233,15,132,244,35,252,247,217,193,252,233,
56 77,4,137,69,0,137,108,36,4,252,233,244,35,248,36,137,68,36,16,199,68,36,20, 56 3,137,76,36,8,139,72,4,139,0,137,77,4,137,69,0,137,108,36,4,252,233,244,36,
57 237,141,68,36,16,128,126,252,252,235,15,133,244,247,141,139,233,137,41,199, 57 248,37,137,68,36,16,199,68,36,20,237,141,68,36,16,128,126,252,252,235,15,
58 65,4,237,137,205,252,233,244,248,248,37,255,15,182,70,252,254,255,199,68, 58 133,244,247,141,139,233,137,41,199,65,4,237,137,205,252,233,244,248,248,38,
59 36,20,237,137,68,36,16,255,252,242,15,42,192,252,242,15,17,68,36,16,255,137, 59 15,182,70,252,254,255,199,68,36,20,237,137,68,36,16,255,252,242,15,42,192,
60 68,36,12,219,68,36,12,221,92,36,16,255,141,68,36,16,252,233,244,247,248,38, 60 252,242,15,17,68,36,16,255,137,68,36,12,219,68,36,12,221,92,36,16,255,141,
61 15,182,70,252,254,141,4,194,248,1,15,182,110,252,255,141,44,252,234,248,2, 61 68,36,16,252,233,244,247,248,39,15,182,70,252,254,141,4,194,248,1,15,182,
62 137,108,36,4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,116,36,24,
63 232,251,1,1,139,149,233,133,192,15,132,244,249,248,34,15,182,78,252,253,139,
64 104,4,139,0,137,108,202,4,137,4,202,139,6,15,182,204,15,182,232,131,198,4,
65 193,232,16,252,255,36,171,248,3,139,141,233,137,113,252,244,141,177,233,41,
66 214,139,105,252,248,184,237,252,233,244,30,248,39,137,68,36,16,199,68,36,
67 20,237,141,68,36,16,128,126,252,252,235,15,133,244,247,255,141,139,233,137,
68 41,199,65,4,237,137,205,252,233,244,248,248,40,15,182,70,252,254,255,141,
69 68,36,16,252,233,244,247,248,41,15,182,70,252,254,141,4,194,248,1,15,182,
70 110,252,255,141,44,252,234,248,2,137,108,36,4,139,108,36,48,137,68,36,8,137, 62 110,252,255,141,44,252,234,248,2,137,108,36,4,139,108,36,48,137,68,36,8,137,
71 44,36,137,149,233,137,116,36,24,232,251,1,2,139,149,233,133,192,15,132,244, 63 44,36,137,149,233,137,116,36,24,232,251,1,1,139,149,233,133,192,15,132,244,
72 249,15,182,78,252,253,139,108,202,4,139,12,202,137,104,4,137,8,248,42,139, 64 249,248,35,15,182,78,252,253,139,104,4,139,0,137,108,202,4,137,4,202,139,
73 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,139,141, 65 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,139,141,
74 233,137,113,252,244,15,182,70,252,253,139,108,194,4,139,4,194,137,105,20, 66 233,137,113,252,244,141,177,233,41,214,139,105,252,248,184,237,252,233,244,
75 137,65,16,141,177,233,41,214,139,105,252,248,184,237,252,233,244,30,248,43, 67 30,248,40,137,68,36,16,199,68,36,20,237,141,68,36,16,128,126,252,252,235,
76 15,182,110,252,252,141,4,194,141,12,202,137,108,36,12,139,108,36,48,137,68, 68 15,133,244,247,255,141,139,233,137,41,199,65,4,237,137,205,252,233,244,248,
77 36,8,137,76,36,4,137,44,36,137,149,233,137,116,36,24,232,251,1,3,248,3,139, 69 248,41,15,182,70,252,254,255,141,68,36,16,252,233,244,247,248,42,15,182,70,
78 149,233,255,131,252,248,1,15,135,244,44,248,4,141,118,4,15,130,244,252,248, 70 252,254,141,4,194,248,1,15,182,110,252,255,141,44,252,234,248,2,137,108,36,
79 5,15,183,70,252,254,141,180,253,134,233,248,6,139,6,15,182,204,15,182,232, 71 4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,116,36,24,232,251,1,
80 131,198,4,193,232,16,252,255,36,171,248,45,131,198,4,129,120,253,4,239,15, 72 2,139,149,233,133,192,15,132,244,249,15,182,78,252,253,139,108,202,4,139,
81 130,244,5,252,233,244,6,248,46,129,120,253,4,239,252,233,244,4,248,47,131, 73 12,202,137,104,4,137,8,248,43,139,6,15,182,204,15,182,232,131,198,4,193,232,
82 252,238,4,137,108,36,12,139,108,36,48,137,68,36,8,137,76,36,4,137,44,36,137, 74 16,252,255,36,171,248,3,139,141,233,137,113,252,244,15,182,70,252,253,139,
83 149,233,255,137,116,36,24,232,251,1,4,252,233,244,3,248,48,255,131,252,238, 75 108,194,4,139,4,194,137,105,20,137,65,16,141,177,233,41,214,139,105,252,248,
84 4,139,108,36,48,137,149,233,137,252,233,139,86,252,252,137,116,36,24,232, 76 184,237,252,233,244,30,248,44,15,182,110,252,252,141,4,194,141,12,202,137,
85 251,1,5,252,233,244,3,255,248,49,255,15,182,110,252,255,255,248,50,141,4, 77 108,36,12,139,108,36,48,137,68,36,8,137,76,36,4,137,44,36,137,149,233,137,
86 199,252,233,244,247,248,51,255,248,52,141,4,199,141,44,252,234,149,252,233, 78 116,36,24,232,251,1,3,248,3,139,149,233,255,131,252,248,1,15,135,244,45,248,
87 244,248,248,53,141,4,194,137,197,252,233,244,248,248,54,255,248,55,141,4, 79 4,141,118,4,15,130,244,252,248,5,15,183,70,252,254,141,180,253,134,233,248,
88 194,248,1,141,44,252,234,248,2,141,12,202,137,108,36,8,139,108,36,48,137, 80 6,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,46,
89 68,36,12,15,182,70,252,252,137,76,36,4,137,68,36,16,137,44,36,137,149,233, 81 131,198,4,129,120,253,4,239,15,130,244,5,252,233,244,6,248,47,129,120,253,
90 137,116,36,24,232,251,1,6,139,149,233,133,192,15,132,244,42,248,44,137,193, 82 4,239,252,233,244,4,248,48,131,252,238,4,137,108,36,12,139,108,36,48,137,
91 41,208,137,113,252,244,141,176,233,184,237,252,233,244,28,248,56,139,108, 83 68,36,8,137,76,36,4,137,44,36,137,149,233,255,137,116,36,24,232,251,1,4,252,
92 36,48,137,149,233,141,20,194,137,252,233,137,116,36,24,232,251,1,7,139,149, 84 233,244,3,248,49,255,131,252,238,4,139,108,36,48,137,149,233,137,252,233,
93 233,255,133,192,15,133,244,44,15,183,70,252,254,139,12,194,252,233,244,57, 85 139,86,252,252,137,116,36,24,232,251,1,5,252,233,244,3,255,248,50,255,15,
94 255,252,233,244,44,255,248,58,141,76,202,8,248,29,137,76,36,20,137,68,36, 86 182,110,252,255,255,248,51,141,4,199,252,233,244,247,248,52,255,248,53,141,
95 16,131,252,233,8,141,4,193,139,108,36,48,137,76,36,4,137,68,36,8,137,44,36, 87 4,199,141,44,252,234,149,252,233,244,248,248,54,141,4,194,137,197,252,233,
96 137,149,233,137,116,36,24,232,251,1,8,139,149,233,139,76,36,20,139,68,36, 88 244,248,248,55,255,248,56,141,4,194,248,1,141,44,252,234,248,2,141,12,202,
97 16,139,105,252,248,131,192,1,57,215,15,132,244,59,137,202,137,114,252,252, 89 137,108,36,8,139,108,36,48,137,68,36,12,15,182,70,252,252,137,76,36,4,137,
98 139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,248, 90 68,36,16,137,44,36,137,149,233,137,116,36,24,232,251,1,6,139,149,233,133,
99 60,139,108,36,48,137,149,233,137,202,137,252,233,137,116,36,24,232,251,1, 91 192,15,132,244,43,248,45,137,193,41,208,137,113,252,244,141,176,233,184,237,
100 9,139,149,233,139,70,252,252,15,182,204,15,182,232,193,232,16,252,255,164, 92 252,233,244,28,248,57,139,108,36,48,137,149,233,141,20,194,137,252,233,137,
101 253,171,233,248,61,129,252,248,239,15,130,244,62,139,106,4,129,252,253,239, 93 116,36,24,232,251,1,7,139,149,233,255,133,192,15,133,244,45,15,183,70,252,
102 15,131,244,62,139,114,252,252,137,68,36,20,137,106,252,252,139,42,137,106, 94 254,139,12,194,252,233,244,58,255,252,233,244,45,255,248,59,141,76,202,8,
103 252,248,131,232,2,15,132,244,248,255,137,209,248,1,131,193,8,139,105,4,137, 95 248,29,137,76,36,20,137,68,36,16,131,252,233,8,141,4,193,139,108,36,48,137,
104 105,252,252,139,41,137,105,252,248,131,232,1,15,133,244,1,248,2,139,68,36, 96 76,36,4,137,68,36,8,137,44,36,137,149,233,137,116,36,24,232,251,1,8,139,149,
105 20,252,233,244,63,248,64,129,252,248,239,15,130,244,62,139,106,4,184,237, 97 233,139,76,36,20,139,68,36,16,139,105,252,248,131,192,1,57,215,15,132,244,
106 252,247,213,57,232,255,15,71,197,255,15,134,244,247,137,232,248,1,255,248, 98 60,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,
107 2,139,106,252,248,139,132,253,197,233,139,114,252,252,199,66,252,252,237, 99 198,4,252,255,36,171,248,61,139,108,36,48,137,149,233,137,202,137,252,233,
108 137,66,252,248,252,233,244,65,248,66,129,252,248,239,15,130,244,62,139,106, 100 137,116,36,24,232,251,1,9,139,149,233,139,70,252,252,15,182,204,15,182,232,
109 4,139,114,252,252,129,252,253,239,15,133,244,252,248,1,139,42,139,173,233, 101 193,232,16,252,255,164,253,171,233,248,62,129,252,248,239,15,130,244,63,139,
110 248,2,133,252,237,199,66,252,252,237,15,132,244,65,139,131,233,199,66,252, 102 106,4,129,252,253,239,15,131,244,63,139,114,252,252,137,68,36,20,137,106,
111 252,237,255,137,106,252,248,139,141,233,35,136,233,105,201,239,3,141,233, 103 252,252,139,42,137,106,252,248,131,232,2,15,132,244,248,255,137,209,248,1,
112 248,3,129,185,233,239,15,133,244,250,57,129,233,15,132,244,251,248,4,139, 104 131,193,8,139,105,4,137,105,252,252,139,41,137,105,252,248,131,232,1,15,133,
113 137,233,133,201,15,133,244,3,252,233,244,65,248,5,139,105,4,129,252,253,239, 105 244,1,248,2,139,68,36,20,252,233,244,64,248,65,129,252,248,239,15,130,244,
114 255,15,132,244,65,139,1,137,106,252,252,137,66,252,248,252,233,244,65,248, 106 63,139,106,4,184,237,252,247,213,57,232,255,15,71,197,255,15,134,244,247,
115 6,129,252,253,239,15,132,244,1,129,252,253,239,15,135,244,254,189,237,248, 107 137,232,248,1,255,248,2,139,106,252,248,139,132,253,197,233,139,114,252,252,
116 8,252,247,213,139,172,253,171,233,252,233,244,2,248,67,129,252,248,239,15, 108 199,66,252,252,237,137,66,252,248,252,233,244,66,248,67,129,252,248,239,15,
117 130,244,62,255,129,122,253,4,239,15,133,244,62,139,42,131,189,233,0,15,133, 109 130,244,63,139,106,4,139,114,252,252,129,252,253,239,15,133,244,252,248,1,
118 244,62,129,122,253,12,239,15,133,244,62,139,66,8,137,133,233,139,114,252, 110 139,42,139,173,233,248,2,133,252,237,199,66,252,252,237,15,132,244,66,139,
119 252,199,66,252,252,237,137,106,252,248,252,246,133,233,235,15,132,244,247, 111 131,233,199,66,252,252,237,255,137,106,252,248,139,141,233,35,136,233,105,
120 128,165,233,235,139,131,233,137,171,233,137,133,233,248,1,255,252,233,244, 112 201,239,3,141,233,248,3,129,185,233,239,15,133,244,250,57,129,233,15,132,
121 65,248,68,129,252,248,239,15,130,244,62,129,122,253,4,239,15,133,244,62,139, 113 244,251,248,4,139,137,233,133,201,15,133,244,3,252,233,244,66,248,5,139,105,
122 2,139,108,36,48,137,68,36,4,137,44,36,137,213,131,194,8,137,84,36,8,232,251, 114 4,129,252,253,239,255,15,132,244,66,139,1,137,106,252,252,137,66,252,248,
123 1,10,137,252,234,139,40,139,64,4,139,114,252,252,137,106,252,248,137,66,252, 115 252,233,244,66,248,6,129,252,253,239,15,132,244,1,129,252,253,239,15,135,
124 252,252,233,244,65,248,69,129,252,248,239,15,133,244,62,129,122,253,4,239, 116 244,254,189,237,248,8,252,247,213,139,172,253,171,233,252,233,244,2,248,68,
125 255,15,133,244,247,139,42,252,233,244,70,248,1,15,135,244,62,255,15,131,244, 117 129,252,248,239,15,130,244,63,255,129,122,253,4,239,15,133,244,63,139,42,
126 62,255,252,242,15,16,2,252,233,244,71,255,221,2,252,233,244,72,255,248,73, 118 131,189,233,0,15,133,244,63,129,122,253,12,239,15,133,244,63,139,66,8,137,
127 129,252,248,239,15,130,244,62,139,114,252,252,129,122,253,4,239,15,133,244, 119 133,233,139,114,252,252,199,66,252,252,237,137,106,252,248,252,246,133,233,
128 249,139,2,248,2,199,66,252,252,237,137,66,252,248,252,233,244,65,248,3,129, 120 235,15,132,244,247,128,165,233,235,139,131,233,137,171,233,137,133,233,248,
129 122,253,4,239,15,135,244,62,131,187,233,0,15,133,244,62,139,171,233,59,171, 121 1,255,252,233,244,66,248,69,129,252,248,239,15,130,244,63,129,122,253,4,239,
130 233,255,15,130,244,247,232,244,74,248,1,139,108,36,48,137,149,233,137,116, 122 15,133,244,63,139,2,139,108,36,48,137,68,36,4,137,44,36,137,213,131,194,8,
131 36,24,137,252,233,255,232,251,1,11,255,232,251,1,12,255,139,149,233,252,233, 123 137,84,36,8,232,251,1,10,137,252,234,139,40,139,64,4,139,114,252,252,137,
132 244,2,248,75,129,252,248,239,15,130,244,62,15,132,244,248,248,1,129,122,253, 124 106,252,248,137,66,252,252,252,233,244,66,248,70,129,252,248,239,15,133,244,
133 4,239,15,133,244,62,139,108,36,48,137,149,233,137,149,233,139,114,252,252, 125 63,129,122,253,4,239,255,15,133,244,247,139,42,252,233,244,71,248,1,15,135,
134 139,2,137,68,36,4,137,44,36,131,194,8,137,84,36,8,137,116,36,24,232,251,1, 126 244,63,255,15,131,244,63,255,252,242,15,16,2,252,233,244,72,255,221,2,252,
135 13,139,149,233,133,192,15,132,244,249,139,106,8,139,66,12,137,106,252,248, 127 233,244,73,255,248,74,129,252,248,239,15,130,244,63,139,114,252,252,129,122,
136 137,66,252,252,139,106,16,139,66,20,137,42,137,66,4,248,76,184,237,255,252, 128 253,4,239,15,133,244,249,139,2,248,2,199,66,252,252,237,137,66,252,248,252,
137 233,244,77,248,2,199,66,12,237,252,233,244,1,248,3,199,66,252,252,237,252, 129 233,244,66,248,3,129,122,253,4,239,15,135,244,63,131,187,233,0,15,133,244,
138 233,244,65,248,78,129,252,248,239,15,130,244,62,139,42,129,122,253,4,239, 130 63,139,171,233,59,171,233,255,15,130,244,247,232,244,75,248,1,139,108,36,
139 15,133,244,62,255,131,189,233,0,15,133,244,62,255,139,106,252,248,139,133, 131 48,137,149,233,137,116,36,24,137,252,233,255,232,251,1,11,255,232,251,1,12,
140 233,139,114,252,252,199,66,252,252,237,137,66,252,248,199,66,12,237,184,237, 132 255,139,149,233,252,233,244,2,248,76,129,252,248,239,15,130,244,63,15,132,
141 252,233,244,77,248,79,129,252,248,239,15,130,244,62,129,122,253,4,239,15, 133 244,248,248,1,129,122,253,4,239,15,133,244,63,139,108,36,48,137,149,233,137,
142 133,244,62,129,122,253,12,239,255,139,114,252,252,255,139,66,8,131,192,1, 134 149,233,139,114,252,252,139,2,137,68,36,4,137,44,36,131,194,8,137,84,36,8,
143 199,66,252,252,237,137,66,252,248,255,252,242,15,16,66,8,189,0,0,252,240, 135 137,116,36,24,232,251,1,13,139,149,233,133,192,15,132,244,249,139,106,8,139,
144 63,102,15,110,205,102,15,112,201,81,252,242,15,88,193,252,242,15,45,192,252, 136 66,12,137,106,252,248,137,66,252,252,139,106,16,139,66,20,137,42,137,66,4,
145 242,15,17,66,252,248,255,221,66,8,217,232,222,193,219,20,36,221,90,252,248, 137 248,77,184,237,255,252,233,244,78,248,2,199,66,12,237,252,233,244,1,248,3,
146 139,4,36,255,139,42,59,133,233,15,131,244,248,193,224,3,3,133,233,248,1,129, 138 199,66,252,252,237,252,233,244,66,248,79,129,252,248,239,15,130,244,63,139,
147 120,253,4,239,15,132,244,80,139,40,139,64,4,137,42,137,66,4,252,233,244,76, 139 42,129,122,253,4,239,15,133,244,63,255,131,189,233,0,15,133,244,63,255,139,
148 248,2,131,189,233,0,15,132,244,80,137,252,233,137,213,137,194,232,251,1,14, 140 106,252,248,139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248,
149 137,252,234,133,192,15,133,244,1,248,80,184,237,252,233,244,77,248,81,255, 141 199,66,12,237,184,237,252,233,244,78,248,80,129,252,248,239,15,130,244,63,
150 139,106,252,248,139,133,233,139,114,252,252,199,66,252,252,237,137,66,252, 142 129,122,253,4,239,15,133,244,63,129,122,253,12,239,255,139,114,252,252,255,
151 248,255,199,66,12,237,199,66,8,0,0,0,0,255,15,87,192,252,242,15,17,66,8,255, 143 139,66,8,131,192,1,199,66,252,252,237,137,66,252,248,255,252,242,15,16,66,
152 217,252,238,221,90,8,255,184,237,252,233,244,77,248,82,129,252,248,239,15, 144 8,189,0,0,252,240,63,102,15,110,205,102,15,112,201,81,252,242,15,88,193,252,
153 130,244,62,141,74,8,131,232,1,190,237,248,1,15,182,171,233,193,252,237,235, 145 242,15,45,192,252,242,15,17,66,252,248,255,221,66,8,217,232,222,193,219,20,
154 131,229,1,1,252,238,252,233,244,28,248,83,129,252,248,239,15,130,244,62,129, 146 36,221,90,252,248,139,4,36,255,139,42,59,133,233,15,131,244,248,193,224,3,
155 122,253,12,239,15,133,244,62,255,139,106,4,137,106,12,199,66,4,237,139,42, 147 3,133,233,248,1,129,120,253,4,239,15,132,244,81,139,40,139,64,4,137,42,137,
156 139,114,8,137,106,8,137,50,141,74,16,131,232,2,190,237,252,233,244,1,248, 148 66,4,252,233,244,77,248,2,131,189,233,0,15,132,244,81,137,252,233,137,213,
157 84,129,252,248,239,15,130,244,62,139,42,139,114,252,252,137,116,36,24,137, 149 137,194,232,251,1,14,137,252,234,133,192,15,133,244,1,248,81,184,237,252,
158 44,36,129,122,253,4,239,15,133,244,62,131,189,233,0,15,133,244,62,128,189, 150 233,244,78,248,82,255,139,106,252,248,139,133,233,139,114,252,252,199,66,
159 233,235,15,135,244,62,139,141,233,15,132,244,247,255,59,141,233,15,132,244, 151 252,252,237,137,66,252,248,255,199,66,12,237,199,66,8,0,0,0,0,255,15,87,192,
160 62,248,1,141,116,193,252,240,59,181,233,15,135,244,62,137,181,233,139,108, 152 252,242,15,17,66,8,255,217,252,238,221,90,8,255,184,237,252,233,244,78,248,
161 36,48,137,149,233,131,194,8,137,149,233,141,108,194,232,41,252,245,57,206, 153 83,129,252,248,239,15,130,244,63,141,74,8,131,232,1,190,237,248,1,15,182,
162 15,132,244,249,248,2,139,68,46,4,137,70,252,252,139,4,46,137,70,252,248,131, 154 171,233,193,252,237,235,131,229,1,1,252,238,252,233,244,28,248,84,129,252,
163 252,238,8,57,206,15,133,244,2,248,3,137,76,36,4,49,201,137,76,36,12,137,76, 155 248,239,15,130,244,63,129,122,253,12,239,15,133,244,63,255,139,106,4,137,
164 36,8,232,244,25,199,131,233,237,255,139,108,36,48,139,52,36,139,149,233,129, 156 106,12,199,66,4,237,139,42,139,114,8,137,106,8,137,50,141,74,16,131,232,2,
165 252,248,239,15,135,244,254,248,4,139,142,233,139,190,233,137,142,233,137, 157 190,237,252,233,244,1,248,85,129,252,248,239,15,130,244,63,139,42,139,114,
166 252,254,41,206,15,132,244,252,141,4,50,193,252,238,3,59,133,233,15,135,244, 158 252,252,137,116,36,24,137,44,36,129,122,253,4,239,15,133,244,63,131,189,233,
167 255,137,213,41,205,248,5,139,1,137,4,41,139,65,4,137,68,41,4,131,193,8,57, 159 0,15,133,244,63,128,189,233,235,15,135,244,63,139,141,233,15,132,244,247,
168 252,249,15,133,244,5,248,6,141,70,2,199,66,252,252,237,248,7,139,116,36,24, 160 255,59,141,233,15,132,244,63,248,1,141,116,193,252,240,59,181,233,15,135,
169 137,68,36,20,185,252,248,252,255,252,255,252,255,252,247,198,237,255,15,132, 161 244,63,137,181,233,139,108,36,48,137,149,233,131,194,8,137,149,233,141,108,
170 244,13,252,233,244,14,248,8,199,66,252,252,237,139,142,233,131,252,233,8, 162 194,232,41,252,245,57,206,15,132,244,249,248,2,139,68,46,4,137,70,252,252,
171 137,142,233,139,1,137,2,139,65,4,137,66,4,184,237,252,233,244,7,248,9,139, 163 139,4,46,137,70,252,248,131,252,238,8,57,206,15,133,244,2,248,3,137,76,36,
172 12,36,137,185,233,137,252,242,137,252,233,232,251,1,0,139,52,36,139,149,233, 164 4,49,201,137,76,36,12,137,76,36,8,232,244,25,199,131,233,237,255,139,108,
173 252,233,244,4,248,85,139,106,252,248,139,173,233,139,114,252,252,137,116, 165 36,48,139,52,36,139,149,233,129,252,248,239,15,135,244,254,248,4,139,142,
174 36,24,137,44,36,131,189,233,0,15,133,244,62,255,128,189,233,235,15,135,244, 166 233,139,190,233,137,142,233,137,252,254,41,206,15,132,244,252,141,4,50,193,
175 62,139,141,233,15,132,244,247,59,141,233,15,132,244,62,248,1,141,116,193, 167 252,238,3,59,133,233,15,135,244,255,137,213,41,205,248,5,139,1,137,4,41,139,
176 252,248,59,181,233,15,135,244,62,137,181,233,139,108,36,48,137,149,233,137, 168 65,4,137,68,41,4,131,193,8,57,252,249,15,133,244,5,248,6,141,70,2,199,66,
177 149,233,141,108,194,252,240,41,252,245,57,206,15,132,244,249,248,2,255,139, 169 252,252,237,248,7,139,116,36,24,137,68,36,20,185,252,248,252,255,252,255,
178 68,46,4,137,70,252,252,139,4,46,137,70,252,248,131,252,238,8,57,206,15,133, 170 252,255,252,247,198,237,255,15,132,244,13,252,233,244,14,248,8,199,66,252,
179 244,2,248,3,137,76,36,4,49,201,137,76,36,12,137,76,36,8,232,244,25,199,131, 171 252,237,139,142,233,131,252,233,8,137,142,233,139,1,137,2,139,65,4,137,66,
180 233,237,139,108,36,48,139,52,36,139,149,233,129,252,248,239,15,135,244,254, 172 4,184,237,252,233,244,7,248,9,139,12,36,137,185,233,137,252,242,137,252,233,
181 248,4,139,142,233,139,190,233,137,142,233,137,252,254,41,206,15,132,244,252, 173 232,251,1,0,139,52,36,139,149,233,252,233,244,4,248,86,139,106,252,248,139,
182 141,4,50,193,252,238,3,59,133,233,15,135,244,255,255,137,213,41,205,248,5, 174 173,233,139,114,252,252,137,116,36,24,137,44,36,131,189,233,0,15,133,244,
183 139,1,137,4,41,139,65,4,137,68,41,4,131,193,8,57,252,249,15,133,244,5,248, 175 63,255,128,189,233,235,15,135,244,63,139,141,233,15,132,244,247,59,141,233,
184 6,141,70,1,248,7,139,116,36,24,137,68,36,20,49,201,252,247,198,237,15,132, 176 15,132,244,63,248,1,141,116,193,252,248,59,181,233,15,135,244,63,137,181,
185 244,13,252,233,244,14,248,8,137,252,242,137,252,233,232,251,1,15,248,9,139, 177 233,139,108,36,48,137,149,233,137,149,233,141,108,194,252,240,41,252,245,
186 12,36,137,185,233,137,252,242,137,252,233,232,251,1,0,139,52,36,139,149,233, 178 57,206,15,132,244,249,248,2,255,139,68,46,4,137,70,252,252,139,4,46,137,70,
187 252,233,244,4,248,86,139,108,36,48,252,247,133,233,237,15,132,244,62,255, 179 252,248,131,252,238,8,57,206,15,133,244,2,248,3,137,76,36,4,49,201,137,76,
188 137,149,233,141,68,194,252,248,137,133,233,49,192,137,133,233,176,235,136, 180 36,12,137,76,36,8,232,244,25,199,131,233,237,139,108,36,48,139,52,36,139,
189 133,233,252,233,244,16,255,248,70,255,248,72,139,114,252,252,221,90,252,248, 181 149,233,129,252,248,239,15,135,244,254,248,4,139,142,233,139,190,233,137,
190 252,233,244,65,255,248,87,129,252,248,239,15,130,244,62,255,129,122,253,4, 182 142,233,137,252,254,41,206,15,132,244,252,141,4,50,193,252,238,3,59,133,233,
191 239,15,133,244,248,139,42,131,252,253,0,15,137,244,70,252,247,221,15,136, 183 15,135,244,255,255,137,213,41,205,248,5,139,1,137,4,41,139,65,4,137,68,41,
192 244,247,248,88,248,70,139,114,252,252,199,66,252,252,237,137,106,252,248, 184 4,131,193,8,57,252,249,15,133,244,5,248,6,141,70,1,248,7,139,116,36,24,137,
193 252,233,244,65,248,1,139,114,252,252,199,66,252,252,0,0,224,65,199,66,252, 185 68,36,20,49,201,252,247,198,237,15,132,244,13,252,233,244,14,248,8,137,252,
194 248,0,0,0,0,252,233,244,65,248,2,15,135,244,62,255,129,122,253,4,239,15,131, 186 242,137,252,233,232,251,1,15,248,9,139,12,36,137,185,233,137,252,242,137,
195 244,62,255,252,242,15,16,2,102,15,252,239,201,102,15,118,201,102,15,115,209, 187 252,233,232,251,1,0,139,52,36,139,149,233,252,233,244,4,248,87,139,108,36,
196 1,15,84,193,248,71,139,114,252,252,252,242,15,17,66,252,248,255,221,2,217, 188 48,252,247,133,233,237,15,132,244,63,255,137,149,233,141,68,194,252,248,137,
197 225,248,71,248,72,139,114,252,252,221,90,252,248,255,248,65,184,237,248,77, 189 133,233,49,192,137,133,233,176,235,136,133,233,252,233,244,16,255,248,71,
198 137,68,36,20,248,63,252,247,198,237,15,133,244,253,248,5,56,70,252,255,15, 190 255,248,73,139,114,252,252,221,90,252,248,252,233,244,66,255,248,88,129,252,
199 135,244,252,15,182,78,252,253,252,247,209,141,20,202,139,6,15,182,204,15, 191 248,239,15,130,244,63,255,129,122,253,4,239,15,133,244,248,139,42,131,252,
200 182,232,131,198,4,193,232,16,252,255,36,171,248,6,199,68,194,252,244,237, 192 253,0,15,137,244,71,252,247,221,15,136,244,247,248,89,248,71,139,114,252,
201 131,192,1,252,233,244,5,248,7,185,252,248,252,255,252,255,252,255,252,233, 193 252,199,66,252,252,237,137,106,252,248,252,233,244,66,248,1,139,114,252,252,
202 244,14,248,89,255,129,122,253,4,239,15,133,244,247,139,42,252,233,244,70, 194 199,66,252,252,0,0,224,65,199,66,252,248,0,0,0,0,252,233,244,66,248,2,15,
203 248,1,15,135,244,62,255,252,242,15,16,2,232,244,90,255,252,242,15,45,232, 195 135,244,63,255,129,122,253,4,239,15,131,244,63,255,252,242,15,16,2,102,15,
204 129,252,253,0,0,0,128,15,133,244,70,252,242,15,42,205,102,15,46,193,15,138, 196 252,239,201,102,15,118,201,102,15,115,209,1,15,84,193,248,72,139,114,252,
205 244,71,15,132,244,70,255,221,2,232,244,90,255,219,20,36,139,44,36,129,252, 197 252,252,242,15,17,66,252,248,255,221,2,217,225,248,72,248,73,139,114,252,
206 253,0,0,0,128,15,133,244,248,217,192,219,4,36,255,223,252,233,221,216,255, 198 252,221,90,252,248,255,248,66,184,237,248,78,137,68,36,20,248,64,252,247,
207 218,252,233,223,224,158,255,15,138,244,72,15,133,244,72,248,2,221,216,252, 199 198,237,15,133,244,253,248,5,56,70,252,255,15,135,244,252,15,182,78,252,253,
208 233,244,70,255,248,91,255,252,242,15,16,2,232,244,92,255,221,2,232,244,92, 200 252,247,209,141,20,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
209 255,248,93,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62, 201 255,36,171,248,6,199,68,194,252,244,237,131,192,1,252,233,244,5,248,7,185,
210 252,242,15,81,2,252,233,244,71,255,248,93,129,252,248,239,15,130,244,62,129, 202 252,248,252,255,252,255,252,255,252,233,244,14,248,90,255,129,122,253,4,239,
211 122,253,4,239,15,131,244,62,221,2,217,252,250,252,233,244,72,255,248,94,129, 203 15,133,244,247,139,42,252,233,244,71,248,1,15,135,244,63,255,252,242,15,16,
212 252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,217,252,237,221, 204 2,232,244,91,255,252,242,15,45,232,129,252,253,0,0,0,128,15,133,244,71,252,
213 2,217,252,241,252,233,244,72,248,95,129,252,248,239,15,130,244,62,129,122, 205 242,15,42,205,102,15,46,193,15,138,244,72,15,132,244,71,255,221,2,232,244,
214 253,4,239,15,131,244,62,217,252,236,221,2,217,252,241,252,233,244,72,248, 206 91,255,219,20,36,139,44,36,129,252,253,0,0,0,128,15,133,244,248,217,192,219,
215 96,129,252,248,239,255,15,130,244,62,129,122,253,4,239,15,131,244,62,221, 207 4,36,255,223,252,233,221,216,255,218,252,233,223,224,158,255,15,138,244,73,
216 2,232,244,97,252,233,244,72,248,98,129,252,248,239,15,130,244,62,129,122, 208 15,133,244,73,248,2,221,216,252,233,244,71,255,248,92,255,252,242,15,16,2,
217 253,4,239,15,131,244,62,221,2,217,252,254,252,233,244,72,248,99,129,252,248, 209 232,244,93,255,221,2,232,244,93,255,248,94,129,252,248,239,15,130,244,63,
218 239,255,15,130,244,62,129,122,253,4,239,15,131,244,62,221,2,217,252,255,252, 210 129,122,253,4,239,15,131,244,63,252,242,15,81,2,252,233,244,72,255,248,94,
219 233,244,72,248,100,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131, 211 129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,221,2,217,252,
220 244,62,221,2,217,252,242,221,216,252,233,244,72,248,101,129,252,248,239,15, 212 250,252,233,244,73,255,248,95,129,252,248,239,15,130,244,63,129,122,253,4,
221 130,244,62,255,129,122,253,4,239,15,131,244,62,221,2,217,192,216,200,217, 213 239,15,131,244,63,217,252,237,221,2,217,252,241,252,233,244,73,248,96,129,
222 232,222,225,217,252,250,217,252,243,252,233,244,72,248,102,129,252,248,239, 214 252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,217,252,236,221,
223 15,130,244,62,129,122,253,4,239,15,131,244,62,221,2,217,192,216,200,217,232, 215 2,217,252,241,252,233,244,73,248,97,129,252,248,239,255,15,130,244,63,129,
224 222,225,217,252,250,217,201,217,252,243,252,233,244,72,248,103,129,252,248, 216 122,253,4,239,15,131,244,63,221,2,232,244,98,252,233,244,73,248,99,129,252,
225 239,15,130,244,62,129,122,253,4,239,15,131,244,62,255,221,2,217,232,217,252, 217 248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,221,2,217,252,254,252,
226 243,252,233,244,72,255,248,104,129,252,248,239,15,130,244,62,129,122,253, 218 233,244,73,248,100,129,252,248,239,255,15,130,244,63,129,122,253,4,239,15,
227 4,239,15,131,244,62,252,242,15,16,2,252,242,15,17,4,36,255,248,104,129,252, 219 131,244,63,221,2,217,252,255,252,233,244,73,248,101,129,252,248,239,15,130,
228 248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,221,2,221,28,36,255, 220 244,63,129,122,253,4,239,15,131,244,63,221,2,217,252,242,221,216,252,233,
229 137,213,232,251,1,16,137,252,234,252,233,244,72,255,248,105,129,252,248,239, 221 244,73,248,102,129,252,248,239,15,130,244,63,255,129,122,253,4,239,15,131,
230 15,130,244,62,129,122,253,4,239,15,131,244,62,252,242,15,16,2,252,242,15, 222 244,63,221,2,217,192,216,200,217,232,222,225,217,252,250,217,252,243,252,
231 17,4,36,255,248,105,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131, 223 233,244,73,248,103,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,
232 244,62,221,2,221,28,36,255,137,213,232,251,1,17,137,252,234,252,233,244,72, 224 244,63,221,2,217,192,216,200,217,232,222,225,217,252,250,217,201,217,252,
233 255,248,106,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62, 225 243,252,233,244,73,248,104,129,252,248,239,15,130,244,63,129,122,253,4,239,
234 252,242,15,16,2,252,242,15,17,4,36,255,248,106,129,252,248,239,15,130,244, 226 15,131,244,63,255,221,2,217,232,217,252,243,252,233,244,73,255,248,105,129,
235 62,129,122,253,4,239,15,131,244,62,221,2,221,28,36,255,137,213,232,251,1, 227 252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,252,242,15,16,2,
236 18,137,252,234,252,233,244,72,248,107,255,248,108,129,252,248,239,15,130, 228 252,242,15,17,4,36,255,248,105,129,252,248,239,15,130,244,63,129,122,253,
237 244,62,129,122,253,4,239,15,131,244,62,252,242,15,16,2,139,106,252,248,252, 229 4,239,15,131,244,63,221,2,221,28,36,255,137,213,232,251,1,16,137,252,234,
238 242,15,89,133,233,252,233,244,71,255,248,108,129,252,248,239,15,130,244,62, 230 252,233,244,73,255,248,106,129,252,248,239,15,130,244,63,129,122,253,4,239,
239 129,122,253,4,239,15,131,244,62,221,2,139,106,252,248,220,141,233,252,233, 231 15,131,244,63,252,242,15,16,2,252,242,15,17,4,36,255,248,106,129,252,248,
240 244,72,255,248,109,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131, 232 239,15,130,244,63,129,122,253,4,239,15,131,244,63,221,2,221,28,36,255,137,
241 244,62,129,122,253,12,239,15,131,244,62,221,2,221,66,8,217,252,243,252,233, 233 213,232,251,1,17,137,252,234,252,233,244,73,255,248,107,129,252,248,239,15,
242 244,72,248,110,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244, 234 130,244,63,129,122,253,4,239,15,131,244,63,252,242,15,16,2,252,242,15,17,
243 62,129,122,253,12,239,255,15,131,244,62,221,66,8,221,2,217,252,253,221,217, 235 4,36,255,248,107,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,
244 252,233,244,72,248,111,129,252,248,239,15,130,244,62,139,106,4,129,252,253, 236 63,221,2,221,28,36,255,137,213,232,251,1,18,137,252,234,252,233,244,73,248,
245 239,15,131,244,62,139,114,252,252,139,2,137,106,252,252,137,66,252,248,209, 237 108,255,248,109,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,
246 229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,244,249,184,252, 238 63,252,242,15,16,2,139,106,252,248,252,242,15,89,133,233,252,233,244,72,255,
247 254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,237,21,41,197, 239 248,109,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,221,
248 255,252,242,15,42,197,255,137,108,36,16,219,68,36,16,255,139,106,252,252, 240 2,139,106,252,248,220,141,233,252,233,244,73,255,248,110,129,252,248,239,
249 129,229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252,252,248,2,255, 241 15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,
250 252,242,15,17,2,255,221,26,255,184,237,252,233,244,77,248,3,255,15,87,192, 242 63,221,2,221,66,8,217,252,243,252,233,244,73,248,111,129,252,248,239,15,130,
251 252,233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252,242,15,16,2, 243 244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,255,15,131,244,
252 189,0,0,80,67,102,15,110,205,102,15,112,201,81,252,242,15,89,193,252,242, 244 63,221,66,8,221,2,217,252,253,221,217,252,233,244,73,248,112,129,252,248,
253 15,17,66,252,248,255,221,2,199,68,36,16,0,0,128,90,216,76,36,16,221,90,252, 245 239,15,130,244,63,139,106,4,129,252,253,239,15,131,244,63,139,114,252,252,
254 248,255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,112,129, 246 139,2,137,106,252,252,137,66,252,248,209,229,129,252,253,0,0,224,252,255,
255 252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,252,242,15,16,2, 247 15,131,244,249,9,232,15,132,244,249,184,252,254,3,0,0,129,252,253,0,0,32,
256 255,248,112,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62, 248 0,15,130,244,250,248,1,193,252,237,21,41,197,255,252,242,15,42,197,255,137,
257 221,2,255,139,106,4,139,114,252,252,209,229,129,252,253,0,0,224,252,255,15, 249 108,36,16,219,68,36,16,255,139,106,252,252,129,229,252,255,252,255,15,128,
258 132,244,250,255,15,40,224,232,244,113,252,242,15,92,224,248,1,252,242,15, 250 129,205,0,0,224,63,137,106,252,252,248,2,255,252,242,15,17,2,255,221,26,255,
259 17,66,252,248,252,242,15,17,34,255,217,192,232,244,113,220,252,233,248,1, 251 184,237,252,233,244,78,248,3,255,15,87,192,252,233,244,2,255,217,252,238,
260 221,90,252,248,221,26,255,139,66,252,252,139,106,4,49,232,15,136,244,249, 252 252,233,244,2,255,248,4,255,252,242,15,16,2,189,0,0,80,67,102,15,110,205,
261 248,2,184,237,252,233,244,77,248,3,129,252,245,0,0,0,128,137,106,4,252,233, 253 102,15,112,201,81,252,242,15,89,193,252,242,15,17,66,252,248,255,221,2,199,
262 244,2,248,4,255,15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,244, 254 68,36,16,0,0,128,90,216,76,36,16,221,90,252,248,255,139,106,252,252,184,52,
263 1,255,248,114,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244, 255 4,0,0,209,229,252,233,244,1,255,248,113,129,252,248,239,15,130,244,63,129,
264 62,129,122,253,12,239,15,131,244,62,221,66,8,221,2,248,1,217,252,248,223, 256 122,253,4,239,15,131,244,63,252,242,15,16,2,255,248,113,129,252,248,239,15,
265 224,158,15,138,244,1,221,217,252,233,244,72,255,248,115,129,252,248,239,15, 257 130,244,63,129,122,253,4,239,15,131,244,63,221,2,255,139,106,4,139,114,252,
266 130,244,62,129,122,253,4,239,15,131,244,62,129,122,253,12,239,15,131,244, 258 252,209,229,129,252,253,0,0,224,252,255,15,132,244,250,255,15,40,224,232,
267 62,252,242,15,16,2,252,242,15,16,74,8,232,244,116,252,233,244,71,255,248, 259 244,114,252,242,15,92,224,248,1,252,242,15,17,66,252,248,252,242,15,17,34,
268 115,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,129,122, 260 255,217,192,232,244,114,220,252,233,248,1,221,90,252,248,221,26,255,139,66,
269 253,12,239,15,131,244,62,221,2,221,66,8,232,244,116,252,233,244,72,255,248, 261 252,252,139,106,4,49,232,15,136,244,249,248,2,184,237,252,233,244,78,248,
270 117,185,2,0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193, 262 3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248,4,255,15,87,228,252,233,
271 15,131,244,70,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252,248, 263 244,1,255,217,252,238,217,201,252,233,244,1,255,248,115,129,252,248,239,15,
272 15,79,108,202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,62,255,252, 264 130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,
273 233,244,252,248,4,15,135,244,62,255,252,242,15,16,2,248,5,57,193,15,131,244, 265 63,221,66,8,221,2,248,1,217,252,248,223,224,158,15,138,244,1,221,217,252,
274 71,129,124,253,202,252,252,239,255,15,130,244,252,15,135,244,62,252,242,15, 266 233,244,73,255,248,116,129,252,248,239,15,130,244,63,129,122,253,4,239,15,
275 42,76,202,252,248,252,233,244,253,255,248,6,252,242,15,16,76,202,252,248, 267 131,244,63,129,122,253,12,239,15,131,244,63,252,242,15,16,2,252,242,15,16,
276 248,7,252,242,15,93,193,131,193,1,252,233,244,5,255,221,2,248,5,57,193,15, 268 74,8,232,244,117,252,233,244,72,255,248,116,129,252,248,239,15,130,244,63,
277 131,244,72,129,124,253,202,252,252,239,255,15,130,244,252,15,135,244,255, 269 129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,63,221,2,221,
278 219,68,202,252,248,252,233,244,253,255,15,131,244,255,255,248,6,221,68,202, 270 66,8,232,244,117,252,233,244,73,255,248,118,185,2,0,0,0,129,122,253,4,239,
279 252,248,248,7,255,219,252,233,219,209,221,217,255,80,221,225,223,224,252, 271 255,15,133,244,250,139,42,248,1,57,193,15,131,244,71,129,124,253,202,252,
280 246,196,1,15,132,244,248,217,201,248,2,221,216,88,255,248,118,185,2,0,0,0, 272 252,239,15,133,244,249,59,108,202,252,248,15,79,108,202,252,248,131,193,1,
281 129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244,70,129, 273 252,233,244,1,248,3,15,135,244,63,255,252,233,244,252,248,4,15,135,244,63,
282 124,253,202,252,252,239,15,133,244,249,59,108,202,252,248,15,76,108,202,252, 274 255,252,242,15,16,2,248,5,57,193,15,131,244,72,129,124,253,202,252,252,239,
283 248,131,193,1,252,233,244,1,248,3,15,135,244,62,255,248,6,252,242,15,16,76, 275 255,15,130,244,252,15,135,244,63,252,242,15,42,76,202,252,248,252,233,244,
284 202,252,248,248,7,252,242,15,95,193,131,193,1,252,233,244,5,255,219,252,233, 276 253,255,248,6,252,242,15,16,76,202,252,248,248,7,252,242,15,93,193,131,193,
285 218,209,221,217,255,80,221,225,223,224,252,246,196,1,15,133,244,248,217,201, 277 1,252,233,244,5,255,221,2,248,5,57,193,15,131,244,73,129,124,253,202,252,
286 248,2,221,216,88,255,248,9,221,216,252,233,244,62,255,248,119,129,252,248, 278 252,239,255,15,130,244,252,15,135,244,255,219,68,202,252,248,252,233,244,
287 239,15,130,244,62,129,122,253,4,239,15,133,244,62,139,42,255,139,173,233, 279 253,255,15,131,244,255,255,248,6,221,68,202,252,248,248,7,255,219,252,233,
288 252,233,244,70,255,252,242,15,42,133,233,252,233,244,71,255,219,133,233,252, 280 219,209,221,217,255,80,221,225,223,224,252,246,196,1,15,132,244,248,217,201,
289 233,244,72,255,248,120,129,252,248,239,15,133,244,62,129,122,253,4,239,15, 281 248,2,221,216,88,255,248,119,185,2,0,0,0,129,122,253,4,239,255,15,133,244,
290 133,244,62,139,42,139,114,252,252,131,189,233,1,15,130,244,80,15,182,173, 282 250,139,42,248,1,57,193,15,131,244,71,129,124,253,202,252,252,239,15,133,
291 233,255,252,242,15,42,197,252,233,244,71,255,137,108,36,16,219,68,36,16,252, 283 244,249,59,108,202,252,248,15,76,108,202,252,248,131,193,1,252,233,244,1,
292 233,244,72,255,248,121,139,171,233,59,171,233,15,130,244,247,232,244,74,248, 284 248,3,15,135,244,63,255,248,6,252,242,15,16,76,202,252,248,248,7,252,242,
293 1,129,252,248,239,15,133,244,62,129,122,253,4,239,255,15,133,244,62,139,42, 285 15,95,193,131,193,1,252,233,244,5,255,219,252,233,218,209,221,217,255,80,
294 129,252,253,252,255,0,0,0,15,135,244,62,137,108,36,20,255,15,131,244,62,252, 286 221,225,223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,88,255,
295 242,15,44,42,129,252,253,252,255,0,0,0,15,135,244,62,137,108,36,20,255,15, 287 248,9,221,216,252,233,244,63,255,248,120,129,252,248,239,15,130,244,63,129,
296 131,244,62,221,2,219,92,36,20,129,124,36,20,252,255,0,0,0,15,135,244,62,255, 288 122,253,4,239,15,133,244,63,139,42,255,139,173,233,252,233,244,71,255,252,
297 199,68,36,8,1,0,0,0,141,68,36,20,248,122,139,108,36,48,137,149,233,137,68, 289 242,15,42,133,233,252,233,244,72,255,219,133,233,252,233,244,73,255,248,121,
298 36,4,137,44,36,137,116,36,24,232,251,1,19,139,149,233,139,114,252,252,199, 290 129,252,248,239,15,133,244,63,129,122,253,4,239,15,133,244,63,139,42,139,
299 66,252,252,237,137,66,252,248,252,233,244,65,248,123,139,171,233,59,171,233, 291 114,252,252,131,189,233,1,15,130,244,81,15,182,173,233,255,252,242,15,42,
300 15,130,244,247,232,244,74,248,1,199,68,36,20,252,255,252,255,252,255,252, 292 197,252,233,244,72,255,137,108,36,16,219,68,36,16,252,233,244,73,255,248,
301 255,129,252,248,239,15,130,244,62,15,134,244,247,129,122,253,20,239,255,15, 293 122,139,171,233,59,171,233,15,130,244,247,232,244,75,248,1,129,252,248,239,
302 133,244,62,139,106,16,137,108,36,20,255,15,131,244,62,252,242,15,44,106,16, 294 15,133,244,63,129,122,253,4,239,255,15,133,244,63,139,42,129,252,253,252,
303 137,108,36,20,255,15,131,244,62,221,66,16,219,92,36,20,255,248,1,129,122, 295 255,0,0,0,15,135,244,63,137,108,36,20,255,15,131,244,63,252,242,15,44,42,
304 253,4,239,15,133,244,62,129,122,253,12,239,255,139,42,137,108,36,12,139,173, 296 129,252,253,252,255,0,0,0,15,135,244,63,137,108,36,20,255,15,131,244,63,221,
305 233,255,139,74,8,255,252,242,15,44,74,8,255,221,66,8,219,92,36,8,139,76,36, 297 2,219,92,36,20,129,124,36,20,252,255,0,0,0,15,135,244,63,255,199,68,36,8,
306 8,255,139,68,36,20,57,197,15,130,244,251,248,2,133,201,15,142,244,253,248, 298 1,0,0,0,141,68,36,20,248,123,139,108,36,48,137,149,233,137,68,36,4,137,44,
307 3,139,108,36,12,41,200,15,140,244,124,141,172,253,13,233,131,192,1,248,4, 299 36,137,116,36,24,232,251,1,19,139,149,233,139,114,252,252,199,66,252,252,
308 137,68,36,8,137,232,252,233,244,122,248,5,15,140,244,252,141,68,40,1,252, 300 237,137,66,252,248,252,233,244,66,248,124,139,171,233,59,171,233,15,130,244,
309 233,244,2,248,6,137,232,252,233,244,2,248,7,255,15,132,244,254,1,252,233, 301 247,232,244,75,248,1,199,68,36,20,252,255,252,255,252,255,252,255,129,252,
310 131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244,3,248,124,49,192,252, 302 248,239,15,130,244,63,15,134,244,247,129,122,253,20,239,255,15,133,244,63,
311 233,244,4,248,125,129,252,248,239,15,130,244,62,139,171,233,59,171,233,15, 303 139,106,16,137,108,36,20,255,15,131,244,63,252,242,15,44,106,16,137,108,36,
312 130,244,247,232,244,74,248,1,255,129,122,253,4,239,15,133,244,62,129,122, 304 20,255,15,131,244,63,221,66,16,219,92,36,20,255,248,1,129,122,253,4,239,15,
313 253,12,239,139,42,255,15,133,244,62,139,66,8,255,15,131,244,62,252,242,15, 305 133,244,63,129,122,253,12,239,255,139,42,137,108,36,12,139,173,233,255,139,
314 44,66,8,255,15,131,244,62,221,66,8,219,92,36,20,139,68,36,20,255,133,192, 306 74,8,255,252,242,15,44,74,8,255,221,66,8,219,92,36,8,139,76,36,8,255,139,
315 15,142,244,124,131,189,233,1,15,130,244,124,15,133,244,126,57,131,233,15, 307 68,36,20,57,197,15,130,244,251,248,2,133,201,15,142,244,253,248,3,139,108,
316 130,244,126,15,182,141,233,139,171,233,137,68,36,8,248,1,136,77,0,131,197, 308 36,12,41,200,15,140,244,125,141,172,253,13,233,131,192,1,248,4,137,68,36,
317 1,131,232,1,15,133,244,1,139,131,233,252,233,244,122,248,127,129,252,248, 309 8,137,232,252,233,244,123,248,5,15,140,244,252,141,68,40,1,252,233,244,2,
318 239,255,15,130,244,62,139,171,233,59,171,233,15,130,244,247,232,244,74,248, 310 248,6,137,232,252,233,244,2,248,7,255,15,132,244,254,1,252,233,131,193,1,
319 1,129,122,253,4,239,15,133,244,62,139,42,139,133,233,133,192,15,132,244,124, 311 15,143,244,3,248,8,185,1,0,0,0,252,233,244,3,248,125,49,192,252,233,244,4,
320 57,131,233,15,130,244,128,129,197,239,137,116,36,20,137,68,36,8,139,179,233, 312 248,126,129,252,248,239,15,130,244,63,139,171,233,59,171,233,15,130,244,247,
321 248,1,255,15,182,77,0,131,197,1,131,232,1,136,12,6,15,133,244,1,137,252,240, 313 232,244,75,248,1,255,129,122,253,4,239,15,133,244,63,129,122,253,12,239,139,
322 139,116,36,20,252,233,244,122,248,129,129,252,248,239,15,130,244,62,139,171, 314 42,255,15,133,244,63,139,66,8,255,15,131,244,63,252,242,15,44,66,8,255,15,
323 233,59,171,233,15,130,244,247,232,244,74,248,1,129,122,253,4,239,15,133,244, 315 131,244,63,221,66,8,219,92,36,20,139,68,36,20,255,133,192,15,142,244,125,
324 62,139,42,139,133,233,57,131,233,255,15,130,244,128,129,197,239,137,116,36, 316 131,189,233,1,15,130,244,125,15,133,244,127,57,131,233,15,130,244,127,15,
325 20,137,68,36,8,139,179,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249, 317 182,141,233,139,171,233,137,68,36,8,248,1,136,77,0,131,197,1,131,232,1,15,
326 65,15,130,244,248,131,252,249,90,15,135,244,248,131,252,241,32,248,2,136, 318 133,244,1,139,131,233,252,233,244,123,248,128,129,252,248,239,255,15,130,
327 12,6,248,3,131,232,1,15,137,244,1,137,252,240,139,116,36,20,252,233,244,122, 319 244,63,139,171,233,59,171,233,15,130,244,247,232,244,75,248,1,129,122,253,
328 248,130,129,252,248,239,15,130,244,62,255,139,171,233,59,171,233,15,130,244, 320 4,239,15,133,244,63,139,42,139,133,233,133,192,15,132,244,125,57,131,233,
329 247,232,244,74,248,1,129,122,253,4,239,15,133,244,62,139,42,139,133,233,57, 321 15,130,244,129,129,197,239,137,116,36,20,137,68,36,8,139,179,233,248,1,255,
330 131,233,15,130,244,128,129,197,239,137,116,36,20,137,68,36,8,139,179,233, 322 15,182,77,0,131,197,1,131,232,1,136,12,6,15,133,244,1,137,252,240,139,116,
331 252,233,244,249,248,1,15,182,76,5,0,131,252,249,97,15,130,244,248,255,131, 323 36,20,252,233,244,123,248,130,129,252,248,239,15,130,244,63,139,171,233,59,
332 252,249,122,15,135,244,248,131,252,241,32,248,2,136,12,6,248,3,131,232,1, 324 171,233,15,130,244,247,232,244,75,248,1,129,122,253,4,239,15,133,244,63,139,
333 15,137,244,1,137,252,240,139,116,36,20,252,233,244,122,248,131,129,252,248, 325 42,139,133,233,57,131,233,255,15,130,244,129,129,197,239,137,116,36,20,137,
334 239,15,130,244,62,129,122,253,4,239,15,133,244,62,137,213,139,10,232,251, 326 68,36,8,139,179,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249,65,15,
335 1,20,137,252,234,255,137,197,252,233,244,70,255,252,242,15,42,192,252,233, 327 130,244,248,131,252,249,90,15,135,244,248,131,252,241,32,248,2,136,12,6,248,
336 244,71,255,137,4,36,219,4,36,252,233,244,72,255,248,132,129,252,248,239,15, 328 3,131,232,1,15,137,244,1,137,252,240,139,116,36,20,252,233,244,123,248,131,
337 130,244,62,129,122,253,4,239,255,15,133,244,247,139,42,252,233,244,88,248, 329 129,252,248,239,15,130,244,63,255,139,171,233,59,171,233,15,130,244,247,232,
338 1,15,135,244,62,255,252,242,15,16,2,189,0,0,56,67,102,15,110,205,102,15,112, 330 244,75,248,1,129,122,253,4,239,15,133,244,63,139,42,139,133,233,57,131,233,
339 201,81,252,242,15,88,193,102,15,126,197,255,221,2,199,68,36,16,0,0,192,89, 331 15,130,244,129,129,197,239,137,116,36,20,137,68,36,8,139,179,233,252,233,
340 216,68,36,16,221,28,36,255,139,44,36,255,252,233,244,88,255,248,133,129,252, 332 244,249,248,1,15,182,76,5,0,131,252,249,97,15,130,244,248,255,131,252,249,
341 248,239,15,130,244,62,255,189,0,0,56,67,102,15,110,205,102,15,112,201,81, 333 122,15,135,244,248,131,252,241,32,248,2,136,12,6,248,3,131,232,1,15,137,244,
342 255,199,68,36,16,0,0,192,89,255,15,133,244,247,139,42,252,233,244,248,248, 334 1,137,252,240,139,116,36,20,252,233,244,123,248,132,129,252,248,239,15,130,
343 1,15,135,244,62,255,252,242,15,16,2,252,242,15,88,193,102,15,126,197,255, 335 244,63,129,122,253,4,239,15,133,244,63,137,213,139,10,232,251,1,20,137,252,
344 221,2,216,68,36,16,221,28,36,139,44,36,255,248,2,137,68,36,20,141,68,194, 336 234,255,137,197,252,233,244,71,255,252,242,15,42,192,252,233,244,72,255,137,
345 252,240,248,1,57,208,15,134,244,88,129,120,253,4,239,255,15,133,244,248,35, 337 4,36,219,4,36,252,233,244,73,255,248,133,129,252,248,239,15,130,244,63,129,
346 40,131,232,8,252,233,244,1,248,2,15,135,244,134,255,15,131,244,134,255,252, 338 122,253,4,239,255,15,133,244,247,139,42,252,233,244,89,248,1,15,135,244,63,
347 242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,221,0,216,68,36,16, 339 255,252,242,15,16,2,189,0,0,56,67,102,15,110,205,102,15,112,201,81,252,242,
348 221,28,36,35,44,36,255,131,232,8,252,233,244,1,248,135,129,252,248,239,15, 340 15,88,193,102,15,126,197,255,221,2,199,68,36,16,0,0,192,89,216,68,36,16,221,
349 130,244,62,255,15,133,244,248,11,40,131,232,8,252,233,244,1,248,2,15,135, 341 28,36,255,139,44,36,255,252,233,244,89,255,248,134,129,252,248,239,15,130,
350 244,134,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,9,205,255,221, 342 244,63,255,189,0,0,56,67,102,15,110,205,102,15,112,201,81,255,199,68,36,16,
351 0,216,68,36,16,221,28,36,11,44,36,255,131,232,8,252,233,244,1,248,136,129, 343 0,0,192,89,255,15,133,244,247,139,42,252,233,244,248,248,1,15,135,244,63,
352 252,248,239,15,130,244,62,255,15,133,244,248,51,40,131,232,8,252,233,244, 344 255,252,242,15,16,2,252,242,15,88,193,102,15,126,197,255,221,2,216,68,36,
353 1,248,2,15,135,244,134,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193, 345 16,221,28,36,139,44,36,255,248,2,137,68,36,20,141,68,194,252,240,248,1,57,
354 49,205,255,221,0,216,68,36,16,221,28,36,51,44,36,255,131,232,8,252,233,244, 346 208,15,134,244,89,129,120,253,4,239,255,15,133,244,248,35,40,131,232,8,252,
355 1,248,137,129,252,248,239,15,130,244,62,129,122,253,4,239,255,221,2,199,68, 347 233,244,1,248,2,15,135,244,135,255,15,131,244,135,255,252,242,15,16,0,252,
356 36,16,0,0,192,89,216,68,36,16,221,28,36,139,44,36,255,248,2,15,205,252,233, 348 242,15,88,193,102,15,126,193,33,205,255,221,0,216,68,36,16,221,28,36,35,44,
357 244,88,248,138,129,252,248,239,15,130,244,62,129,122,253,4,239,255,248,2, 349 36,255,131,232,8,252,233,244,1,248,136,129,252,248,239,15,130,244,63,255,
358 252,247,213,255,248,88,252,242,15,42,197,252,233,244,71,255,248,88,137,44, 350 15,133,244,248,11,40,131,232,8,252,233,244,1,248,2,15,135,244,135,255,252,
359 36,219,4,36,252,233,244,72,255,248,134,139,68,36,20,252,233,244,62,255,248, 351 242,15,16,0,252,242,15,88,193,102,15,126,193,9,205,255,221,0,216,68,36,16,
360 139,129,252,248,239,15,130,244,62,129,122,253,4,239,255,248,2,129,122,253, 352 221,28,36,11,44,36,255,131,232,8,252,233,244,1,248,137,129,252,248,239,15,
361 12,239,15,133,244,62,139,74,8,255,248,139,129,252,248,239,15,130,244,62,129, 353 130,244,63,255,15,133,244,248,51,40,131,232,8,252,233,244,1,248,2,15,135,
362 122,253,4,239,15,131,244,62,129,122,253,12,239,15,131,244,62,252,242,15,16, 354 244,135,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,49,205,255,221,
363 2,252,242,15,16,74,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81,252,242, 355 0,216,68,36,16,221,28,36,51,44,36,255,131,232,8,252,233,244,1,248,138,129,
364 15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201,255,248,139,129, 356 252,248,239,15,130,244,63,129,122,253,4,239,255,221,2,199,68,36,16,0,0,192,
365 252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,129,122,253,12, 357 89,216,68,36,16,221,28,36,139,44,36,255,248,2,15,205,252,233,244,89,248,139,
366 239,15,131,244,62,221,2,221,66,8,199,68,36,16,0,0,192,89,216,68,36,16,221, 358 129,252,248,239,15,130,244,63,129,122,253,4,239,255,248,2,252,247,213,255,
367 92,36,8,216,68,36,16,221,28,36,139,76,36,8,139,44,36,255,211,229,252,233, 359 248,89,252,242,15,42,197,252,233,244,72,255,248,89,137,44,36,219,4,36,252,
368 244,88,255,248,140,129,252,248,239,15,130,244,62,129,122,253,4,239,255,248, 360 233,244,73,255,248,135,139,68,36,20,252,233,244,63,255,248,140,129,252,248,
369 140,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,129,122, 361 239,15,130,244,63,129,122,253,4,239,255,248,2,129,122,253,12,239,15,133,244,
370 253,12,239,15,131,244,62,252,242,15,16,2,252,242,15,16,74,8,189,0,0,56,67, 362 63,139,74,8,255,248,140,129,252,248,239,15,130,244,63,129,122,253,4,239,15,
371 102,15,110,213,102,15,112,210,81,252,242,15,88,194,252,242,15,88,202,102, 363 131,244,63,129,122,253,12,239,15,131,244,63,252,242,15,16,2,252,242,15,16,
372 15,126,197,102,15,126,201,255,248,140,129,252,248,239,15,130,244,62,129,122, 364 74,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81,252,242,15,88,194,252,
373 253,4,239,15,131,244,62,129,122,253,12,239,15,131,244,62,221,2,221,66,8,199, 365 242,15,88,202,102,15,126,197,102,15,126,201,255,248,140,129,252,248,239,15,
374 68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68,36,16,221,28,36,139,76, 366 130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,
375 36,8,139,44,36,255,211,252,237,252,233,244,88,255,248,141,129,252,248,239, 367 63,221,2,221,66,8,199,68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68,
376 15,130,244,62,129,122,253,4,239,255,248,141,129,252,248,239,15,130,244,62, 368 36,16,221,28,36,139,76,36,8,139,44,36,255,211,229,252,233,244,89,255,248,
377 129,122,253,4,239,15,131,244,62,129,122,253,12,239,15,131,244,62,252,242, 369 141,129,252,248,239,15,130,244,63,129,122,253,4,239,255,248,141,129,252,248,
378 15,16,2,252,242,15,16,74,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81, 370 239,15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,
379 252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201,255,248, 371 244,63,252,242,15,16,2,252,242,15,16,74,8,189,0,0,56,67,102,15,110,213,102,
380 141,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,129,122, 372 15,112,210,81,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,
381 253,12,239,15,131,244,62,221,2,221,66,8,199,68,36,16,0,0,192,89,216,68,36, 373 201,255,248,141,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,
382 16,221,92,36,8,216,68,36,16,221,28,36,139,76,36,8,139,44,36,255,211,252,253, 374 63,129,122,253,12,239,15,131,244,63,221,2,221,66,8,199,68,36,16,0,0,192,89,
383 252,233,244,88,255,248,142,129,252,248,239,15,130,244,62,129,122,253,4,239, 375 216,68,36,16,221,92,36,8,216,68,36,16,221,28,36,139,76,36,8,139,44,36,255,
384 255,248,142,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62, 376 211,252,237,252,233,244,89,255,248,142,129,252,248,239,15,130,244,63,129,
385 129,122,253,12,239,15,131,244,62,252,242,15,16,2,252,242,15,16,74,8,189,0, 377 122,253,4,239,255,248,142,129,252,248,239,15,130,244,63,129,122,253,4,239,
386 0,56,67,102,15,110,213,102,15,112,210,81,252,242,15,88,194,252,242,15,88, 378 15,131,244,63,129,122,253,12,239,15,131,244,63,252,242,15,16,2,252,242,15,
387 202,102,15,126,197,102,15,126,201,255,248,142,129,252,248,239,15,130,244, 379 16,74,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81,252,242,15,88,194,
388 62,129,122,253,4,239,15,131,244,62,129,122,253,12,239,15,131,244,62,221,2, 380 252,242,15,88,202,102,15,126,197,102,15,126,201,255,248,142,129,252,248,239,
389 221,66,8,199,68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68,36,16,221, 381 15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,
390 28,36,139,76,36,8,139,44,36,255,211,197,252,233,244,88,255,248,143,129,252, 382 63,221,2,221,66,8,199,68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68,
391 248,239,15,130,244,62,129,122,253,4,239,255,248,143,129,252,248,239,15,130, 383 36,16,221,28,36,139,76,36,8,139,44,36,255,211,252,253,252,233,244,89,255,
392 244,62,129,122,253,4,239,15,131,244,62,129,122,253,12,239,15,131,244,62,252, 384 248,143,129,252,248,239,15,130,244,63,129,122,253,4,239,255,248,143,129,252,
393 242,15,16,2,252,242,15,16,74,8,189,0,0,56,67,102,15,110,213,102,15,112,210, 385 248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,
394 81,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201,255, 386 15,131,244,63,252,242,15,16,2,252,242,15,16,74,8,189,0,0,56,67,102,15,110,
395 248,143,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,129, 387 213,102,15,112,210,81,252,242,15,88,194,252,242,15,88,202,102,15,126,197,
396 122,253,12,239,15,131,244,62,221,2,221,66,8,199,68,36,16,0,0,192,89,216,68, 388 102,15,126,201,255,248,143,129,252,248,239,15,130,244,63,129,122,253,4,239,
397 36,16,221,92,36,8,216,68,36,16,221,28,36,139,76,36,8,139,44,36,255,211,205, 389 15,131,244,63,129,122,253,12,239,15,131,244,63,221,2,221,66,8,199,68,36,16,
398 252,233,244,88,248,126,184,237,252,233,244,62,248,128,184,237,248,62,139, 390 0,0,192,89,216,68,36,16,221,92,36,8,216,68,36,16,221,28,36,139,76,36,8,139,
399 108,36,48,139,114,252,252,137,116,36,24,137,149,233,141,68,194,252,248,141, 391 44,36,255,211,197,252,233,244,89,255,248,144,129,252,248,239,15,130,244,63,
400 136,233,137,133,233,139,66,252,248,59,141,233,15,135,244,251,137,44,36,252, 392 129,122,253,4,239,255,248,144,129,252,248,239,15,130,244,63,129,122,253,4,
401 255,144,233,139,149,233,133,192,15,143,244,77,248,1,255,139,141,233,41,209, 393 239,15,131,244,63,129,122,253,12,239,15,131,244,63,252,242,15,16,2,252,242,
402 193,252,233,3,133,192,141,65,1,139,106,252,248,15,133,244,32,139,181,233, 394 15,16,74,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81,252,242,15,88,194,
403 139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,248,32,137,209, 395 252,242,15,88,202,102,15,126,197,102,15,126,201,255,248,144,129,252,248,239,
404 252,247,198,237,15,133,244,249,15,182,110,252,253,252,247,213,141,20,252, 396 15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,
405 234,252,233,244,28,248,3,137,252,245,131,229,252,248,41,252,234,252,233,244, 397 63,221,2,221,66,8,199,68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68,
406 28,248,5,186,237,137,252,233,232,251,1,0,139,149,233,49,192,252,233,244,1, 398 36,16,221,28,36,139,76,36,8,139,44,36,255,211,205,252,233,244,89,248,127,
407 248,74,93,137,108,36,16,139,108,36,48,137,116,36,24,137,149,233,255,141,68, 399 184,237,252,233,244,63,248,129,184,237,248,63,139,108,36,48,139,114,252,252,
408 194,252,248,137,252,233,137,133,233,232,251,1,21,139,149,233,139,133,233, 400 137,116,36,24,137,149,233,141,68,194,252,248,141,136,233,137,133,233,139,
409 41,208,193,232,3,131,192,1,139,108,36,16,85,195,248,144,255,15,182,131,233, 401 66,252,248,59,141,233,15,135,244,251,137,44,36,252,255,144,233,139,149,233,
410 168,235,15,133,244,251,168,235,15,133,244,247,168,235,15,132,244,247,252, 402 133,192,15,143,244,78,248,1,255,139,141,233,41,209,193,252,233,3,133,192,
411 255,139,233,252,233,244,247,255,248,145,15,182,131,233,168,235,15,133,244, 403 141,65,1,139,106,252,248,15,133,244,33,139,181,233,139,14,15,182,252,233,
412 251,252,233,244,247,248,146,15,182,131,233,168,235,15,133,244,251,168,235, 404 15,182,205,131,198,4,252,255,36,171,248,33,137,209,252,247,198,237,15,133,
413 15,132,244,251,252,255,139,233,15,132,244,247,168,235,15,132,244,251,248, 405 244,249,15,182,110,252,253,252,247,213,141,20,252,234,252,233,244,28,248,
414 1,255,139,108,36,48,137,149,233,137,252,242,137,252,233,232,251,1,22,248, 406 3,137,252,245,131,229,252,248,41,252,234,252,233,244,28,248,5,186,237,137,
415 3,139,149,233,248,4,15,182,78,252,253,248,5,15,182,110,252,252,15,183,70, 407 252,233,232,251,1,0,139,149,233,49,192,252,233,244,1,248,75,93,137,108,36,
416 252,254,252,255,164,253,171,233,248,147,131,198,4,139,77,232,137,76,36,20, 408 16,139,108,36,48,137,116,36,24,137,149,233,255,141,68,194,252,248,137,252,
417 252,233,244,4,248,148,255,139,106,252,248,139,173,233,15,182,133,233,141, 409 233,137,133,233,232,251,1,21,139,149,233,139,133,233,41,208,193,232,3,131,
418 4,194,139,108,36,48,137,149,233,137,133,233,137,252,242,141,139,233,137,171, 410 192,1,139,108,36,16,85,195,248,145,255,15,182,131,233,168,235,15,133,244,
419 233,137,116,36,24,232,251,1,23,252,233,244,3,255,248,149,137,116,36,24,255, 411 251,168,235,15,133,244,247,168,235,15,132,244,247,252,255,139,233,252,233,
420 248,150,255,137,116,36,24,131,206,1,248,1,255,141,68,194,252,248,139,108, 412 244,247,255,248,146,15,182,131,233,168,235,15,133,244,251,252,233,244,247,
421 36,48,137,149,233,137,133,233,137,252,242,137,252,233,232,251,1,24,199,68, 413 248,147,15,182,131,233,168,235,15,133,244,251,168,235,15,132,244,251,252,
422 36,24,0,0,0,0,255,131,230,252,254,255,139,149,233,137,193,139,133,233,41, 414 255,139,233,15,132,244,247,168,235,15,132,244,251,248,1,255,139,108,36,48,
423 208,137,205,15,182,78,252,253,193,232,3,131,192,1,252,255,229,248,151,255, 415 137,149,233,137,252,242,137,252,233,232,251,1,22,248,3,139,149,233,248,4,
424 85,141,108,36,12,85,83,82,81,80,15,182,69,252,252,138,101,252,248,137,125, 416 15,182,78,252,253,248,5,15,182,110,252,252,15,183,70,252,254,252,255,164,
425 252,252,137,117,252,248,139,93,0,139,139,233,199,131,233,237,137,131,233, 417 253,171,233,248,148,131,198,4,139,77,232,137,76,36,20,252,233,244,4,248,149,
426 137,139,233,129,252,236,239,252,242,15,17,125,216,252,242,15,17,117,208,252, 418 255,139,106,252,248,139,173,233,15,182,133,233,141,4,194,139,108,36,48,137,
427 242,15,17,109,200,252,242,15,17,101,192,252,242,15,17,93,184,252,242,15,17, 419 149,233,137,133,233,137,252,242,141,139,233,137,171,233,137,116,36,24,232,
428 85,176,252,242,15,17,77,168,252,242,15,17,69,160,139,171,233,139,147,233, 420 251,1,23,252,233,244,3,255,248,150,137,116,36,24,255,248,151,255,137,116,
429 137,171,233,199,131,233,0,0,0,0,137,149,233,141,84,36,16,141,139,233,232, 421 36,24,131,206,1,248,1,255,141,68,194,252,248,139,108,36,48,137,149,233,137,
430 251,1,25,139,141,233,129,225,239,137,204,137,169,233,139,149,233,139,177, 422 133,233,137,252,242,137,252,233,232,251,1,24,199,68,36,24,0,0,0,0,255,131,
431 233,255,248,152,255,133,192,15,136,244,249,137,68,36,20,139,122,252,248,139, 423 230,252,254,255,139,149,233,137,193,139,133,233,41,208,137,205,15,182,78,
432 191,233,139,191,233,199,131,233,0,0,0,0,199,131,233,237,139,6,15,182,204, 424 252,253,193,232,3,131,192,1,252,255,229,248,152,255,85,141,108,36,12,85,83,
433 15,182,232,131,198,4,193,232,16,129,252,253,239,15,130,244,248,139,68,36, 425 82,81,80,15,182,69,252,252,138,101,252,248,137,125,252,252,137,117,252,248,
434 20,248,2,252,255,36,171,248,3,252,247,216,137,252,233,137,194,232,251,1,26, 426 139,93,0,139,139,233,199,131,233,237,137,131,233,137,139,233,129,252,236,
435 255,248,90,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102,37, 427 239,252,242,15,17,125,216,252,242,15,17,117,208,252,242,15,17,109,200,252,
436 252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139, 428 242,15,17,101,192,252,242,15,17,93,184,252,242,15,17,85,176,252,242,15,17,
437 68,36,8,195,255,248,153,102,15,252,239,210,102,15,118,210,102,15,115,210, 429 77,168,252,242,15,17,69,160,139,171,233,139,147,233,137,171,233,199,131,233,
430 0,0,0,0,137,149,233,141,84,36,16,141,139,233,232,251,1,25,139,141,233,129,
431 225,239,137,204,137,169,233,139,149,233,139,177,233,255,248,153,255,133,192,
432 15,136,244,249,137,68,36,20,139,122,252,248,139,191,233,139,191,233,199,131,
433 233,0,0,0,0,199,131,233,237,139,6,15,182,204,15,182,232,131,198,4,193,232,
434 16,129,252,253,239,15,130,244,248,139,68,36,20,248,2,252,255,36,171,248,3,
435 252,247,216,137,252,233,137,194,232,251,1,26,255,248,91,255,217,124,36,4,
436 137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,
437 36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,154,102,
438 15,252,239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,
439 102,15,112,219,81,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,
440 15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,184,0,0,252,240,
441 63,102,15,110,208,102,15,112,210,81,252,242,15,194,193,1,102,15,84,194,252,
442 242,15,92,200,15,40,193,248,1,195,248,93,255,217,124,36,4,137,68,36,8,102,
443 184,0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,
444 6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,155,102,15,252,239,210,
445 102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,102,15,112,219,
446 81,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252,
447 242,15,88,203,252,242,15,92,203,102,15,86,202,184,0,0,252,240,191,102,15,
448 110,208,102,15,112,210,81,252,242,15,194,193,6,102,15,84,194,252,242,15,92,
449 200,15,40,193,248,1,195,248,114,255,217,124,36,4,137,68,36,8,102,184,0,12,
450 102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,
451 68,36,8,195,255,248,156,102,15,252,239,210,102,15,118,210,102,15,115,210,
438 1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,200,102,15,84,202, 452 1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,200,102,15,84,202,
439 102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92, 453 102,15,46,217,15,134,244,247,102,15,85,208,15,40,193,252,242,15,88,203,252,
440 203,102,15,86,202,184,0,0,252,240,63,102,15,110,208,102,15,112,210,81,252, 454 242,15,92,203,184,0,0,252,240,63,102,15,110,216,102,15,112,219,81,252,242,
441 242,15,194,193,1,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,248, 455 15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86,202,15,40,193,248,
442 92,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68,36,4,102,37,252,255, 456 1,195,248,157,255,15,40,232,252,242,15,94,193,102,15,252,239,210,102,15,118,
443 252,251,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8, 457 210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,
444 195,255,248,154,102,15,252,239,210,102,15,118,210,102,15,115,210,1,184,0, 458 224,102,15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,
445 0,48,67,102,15,110,216,102,15,112,219,81,15,40,200,102,15,84,202,102,15,46, 459 227,252,242,15,92,227,102,15,86,226,184,0,0,252,240,63,102,15,110,208,102,
446 217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102, 460 15,112,210,81,252,242,15,194,196,1,102,15,84,194,252,242,15,92,224,15,40,
447 15,86,202,184,0,0,252,240,191,102,15,110,208,102,15,112,210,81,252,242,15, 461 197,252,242,15,89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15,40,
448 194,193,6,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,113,255, 462 197,252,242,15,92,193,195,255,217,193,216,252,241,217,124,36,4,102,184,0,
449 217,124,36,4,137,68,36,8,102,184,0,12,102,11,68,36,4,102,137,68,36,6,217, 463 4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,
450 108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,155,102,15,252, 464 252,252,217,108,36,4,222,201,222,252,233,195,255,248,98,217,252,234,222,201,
451 239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,102, 465 248,158,217,84,36,4,129,124,36,4,0,0,128,127,15,132,244,247,129,124,36,4,
452 15,112,219,81,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15, 466 0,0,128,252,255,15,132,244,248,248,159,217,192,217,252,252,220,252,233,217,
453 85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,184,0,0,252,240,63,102, 467 201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,
454 15,110,216,102,15,112,219,81,252,242,15,194,193,1,102,15,84,195,252,242,15, 468 217,252,238,195,255,248,117,219,84,36,4,219,68,36,4,255,223,252,233,255,221,
455 92,200,102,15,86,202,15,40,193,248,1,195,248,156,255,15,40,232,252,242,15, 469 252,233,223,224,158,255,15,133,244,254,15,138,244,255,221,216,139,68,36,4,
456 94,193,102,15,252,239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102, 470 131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,248,216,200,209,
457 15,110,216,102,15,112,219,81,15,40,224,102,15,84,226,102,15,46,220,15,134, 471 232,252,233,244,1,248,2,209,232,15,132,244,251,217,192,248,3,216,200,209,
458 244,247,102,15,85,208,252,242,15,88,227,252,242,15,92,227,102,15,86,226,184, 472 232,15,132,244,250,15,131,244,3,220,201,252,233,244,3,248,4,255,222,201,248,
459 0,0,252,240,63,102,15,110,208,102,15,112,210,81,252,242,15,194,196,1,102, 473 5,195,248,6,15,132,244,5,15,130,244,253,217,232,222,252,241,252,247,216,131,
460 15,84,194,252,242,15,92,224,15,40,197,252,242,15,89,204,252,242,15,92,193, 474 252,248,1,15,132,244,5,252,233,244,1,248,7,221,216,217,232,195,248,8,217,
461 195,248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255,217,193,216, 475 84,36,4,217,201,217,84,36,8,139,68,36,4,209,224,61,0,0,0,252,255,15,132,244,
462 252,241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102, 476 248,139,68,36,8,209,224,15,132,244,250,61,0,0,0,252,255,15,132,244,250,217,
463 137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222,252,233,195, 477 252,241,252,233,244,159,248,9,255,217,232,255,223,252,234,255,221,252,234,
464 255,248,97,217,252,234,222,201,248,157,217,84,36,4,129,124,36,4,0,0,128,127, 478 223,224,158,255,15,132,244,247,217,201,248,1,221,216,195,248,2,217,225,217,
465 15,132,244,247,129,124,36,4,0,0,128,252,255,15,132,244,248,248,158,217,192, 479 232,255,15,132,244,249,221,216,217,225,217,252,238,184,0,0,0,0,15,146,208,
466 217,252,252,220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221, 480 209,200,51,68,36,4,15,137,244,249,217,201,248,3,221,217,217,225,195,248,4,
467 217,248,1,195,248,2,221,216,217,252,238,195,255,248,116,219,84,36,4,219,68, 481 131,124,36,4,0,15,141,244,3,221,216,221,216,133,192,15,132,244,251,217,252,
468 36,4,255,223,252,233,255,221,252,233,223,224,158,255,15,133,244,254,15,138, 482 238,195,248,5,199,68,36,4,0,0,128,127,217,68,36,4,195,255,248,117,255,248,
469 244,255,221,216,139,68,36,4,131,252,248,1,15,142,244,252,248,1,169,1,0,0, 483 160,252,242,15,45,193,252,242,15,42,208,102,15,46,202,15,133,244,254,15,138,
470 0,15,133,244,248,216,200,209,232,252,233,244,1,248,2,209,232,15,132,244,251, 484 244,255,248,161,131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,
471 217,192,248,3,216,200,209,232,15,132,244,250,15,131,244,3,220,201,252,233, 485 248,252,242,15,89,192,209,232,252,233,244,1,248,2,209,232,15,132,244,251,
472 244,3,248,4,255,222,201,248,5,195,248,6,15,132,244,5,15,130,244,253,217,232, 486 15,40,200,248,3,252,242,15,89,192,209,232,15,132,244,250,15,131,244,3,255,
473 222,252,241,252,247,216,131,252,248,1,15,132,244,5,252,233,244,1,248,7,221, 487 252,242,15,89,200,252,233,244,3,248,4,252,242,15,89,193,248,5,195,248,6,15,
474 216,217,232,195,248,8,217,84,36,4,217,201,217,84,36,8,139,68,36,4,209,224, 488 132,244,5,15,130,244,253,252,247,216,232,244,1,184,0,0,252,240,63,102,15,
475 61,0,0,0,252,255,15,132,244,248,139,68,36,8,209,224,15,132,244,250,61,0,0, 489 110,200,102,15,112,201,81,252,242,15,94,200,15,40,193,195,248,7,184,0,0,252,
476 0,252,255,15,132,244,250,217,252,241,252,233,244,158,248,9,255,217,232,255, 490 240,63,102,15,110,192,102,15,112,192,81,195,248,8,252,242,15,17,76,36,12,
477 223,252,234,255,221,252,234,223,224,158,255,15,132,244,247,217,201,248,1, 491 252,242,15,17,68,36,4,131,124,36,12,0,15,133,244,247,139,68,36,16,209,224,
478 221,216,195,248,2,217,225,217,232,255,15,132,244,249,221,216,217,225,217, 492 61,0,0,224,252,255,15,132,244,248,248,1,131,124,36,4,0,15,133,244,247,255,
479 252,238,184,0,0,0,0,15,146,208,209,200,51,68,36,4,15,137,244,249,217,201, 493 139,68,36,8,209,224,15,132,244,250,61,0,0,224,252,255,15,132,244,251,248,
480 248,3,221,217,217,225,195,248,4,131,124,36,4,0,15,141,244,3,221,216,221,216, 494 1,221,68,36,12,221,68,36,4,217,252,241,217,192,217,252,252,220,252,233,217,
481 133,192,15,132,244,251,217,252,238,195,248,5,199,68,36,4,0,0,128,127,217, 495 201,217,252,240,217,232,222,193,217,252,253,221,217,221,92,36,4,252,242,15,
482 68,36,4,195,255,248,116,255,248,159,252,242,15,45,193,252,242,15,42,208,102, 496 16,68,36,4,195,248,9,184,0,0,252,240,63,102,15,110,208,102,15,112,210,81,
483 15,46,202,15,133,244,254,15,138,244,255,248,160,131,252,248,1,15,142,244, 497 102,15,46,194,15,132,244,247,15,40,193,248,1,195,248,2,102,15,252,239,210,
484 252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,244, 498 102,15,118,210,102,15,115,210,1,102,15,84,194,184,0,0,252,240,63,102,15,110,
485 1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,232, 499 208,102,15,112,210,81,102,15,46,194,15,132,244,1,102,15,80,193,15,87,192,
486 15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,252, 500 136,196,15,146,208,48,224,15,133,244,1,248,3,184,0,0,252,240,127,102,15,110,
487 242,15,89,193,248,5,195,248,6,15,132,244,5,15,130,244,253,252,247,216,232, 501 192,102,15,112,192,81,195,248,4,102,15,80,193,133,192,15,133,244,3,15,87,
488 244,1,184,0,0,252,240,63,102,15,110,200,102,15,112,201,81,252,242,15,94,200, 502 192,195,248,5,102,15,80,193,133,192,15,132,244,3,255,15,87,192,195,248,162,
489 15,40,193,195,248,7,184,0,0,252,240,63,102,15,110,192,102,15,112,192,81,195, 503 255,139,68,36,12,252,242,15,16,68,36,4,131,252,248,1,15,132,244,247,15,135,
490 248,8,252,242,15,17,76,36,12,252,242,15,17,68,36,4,131,124,36,12,0,15,133, 504 244,248,232,244,91,252,233,244,253,248,1,232,244,93,252,233,244,253,248,2,
491 244,247,139,68,36,16,209,224,61,0,0,224,252,255,15,132,244,248,248,1,131, 505 131,252,248,3,15,132,244,247,15,135,244,248,232,244,114,255,252,233,244,253,
492 124,36,4,0,15,133,244,247,255,139,68,36,8,209,224,15,132,244,250,61,0,0,224, 506 248,1,252,242,15,81,192,248,7,252,242,15,17,68,36,4,221,68,36,4,195,248,2,
493 252,255,15,132,244,251,248,1,221,68,36,12,221,68,36,4,217,252,241,217,192, 507 221,68,36,4,131,252,248,5,15,130,244,98,15,132,244,158,248,2,131,252,248,
494 217,252,252,220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221, 508 7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1,
495 217,221,92,36,4,252,242,15,16,68,36,4,195,248,9,184,0,0,252,240,63,102,15, 509 217,232,217,201,217,252,241,195,248,2,131,252,248,9,15,132,244,247,15,135,
496 110,208,102,15,112,210,81,102,15,46,194,15,132,244,247,15,40,193,248,1,195, 510 244,248,255,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248,
497 248,2,102,15,252,239,210,102,15,118,210,102,15,115,210,1,102,15,84,194,184, 511 2,131,252,248,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217,
498 0,0,252,240,63,102,15,110,208,102,15,112,210,81,102,15,46,194,15,132,244, 512 252,242,221,216,195,255,139,68,36,12,221,68,36,4,131,252,248,1,15,130,244,
499 1,102,15,80,193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,184, 513 91,15,132,244,93,131,252,248,3,15,130,244,114,15,135,244,248,217,252,250,
500 0,0,252,240,127,102,15,110,192,102,15,112,192,81,195,248,4,102,15,80,193, 514 195,248,2,131,252,248,5,15,130,244,98,15,132,244,158,131,252,248,7,15,132,
501 133,192,15,133,244,3,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244, 515 244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1,217,232,
502 3,255,15,87,192,195,248,161,255,139,68,36,12,252,242,15,16,68,36,4,131,252, 516 217,201,217,252,241,195,248,2,131,252,248,9,15,132,244,247,255,15,135,244,
503 248,1,15,132,244,247,15,135,244,248,232,244,90,252,233,244,253,248,1,232, 517 248,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248,2,131,252,
504 244,92,252,233,244,253,248,2,131,252,248,3,15,132,244,247,15,135,244,248, 518 248,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217,252,242,221,
505 232,244,113,255,252,233,244,253,248,1,252,242,15,81,192,248,7,252,242,15, 519 216,195,255,248,9,204,255,248,163,255,139,68,36,20,252,242,15,16,68,36,4,
506 17,68,36,4,221,68,36,4,195,248,2,221,68,36,4,131,252,248,5,15,130,244,97, 520 252,242,15,16,76,36,12,131,252,248,1,15,132,244,247,15,135,244,248,252,242,
507 15,132,244,157,248,2,131,252,248,7,15,132,244,247,15,135,244,248,217,252, 521 15,88,193,248,7,252,242,15,17,68,36,4,221,68,36,4,195,248,1,252,242,15,92,
508 237,217,201,217,252,241,195,248,1,217,232,217,201,217,252,241,195,248,2,131, 522 193,252,233,244,7,248,2,131,252,248,3,15,132,244,247,15,135,244,248,252,242,
509 252,248,9,15,132,244,247,15,135,244,248,255,217,252,236,217,201,217,252,241, 523 15,89,193,252,233,244,7,248,1,252,242,15,94,193,252,233,244,7,248,2,131,252,
510 195,248,1,217,252,254,195,248,2,131,252,248,11,15,132,244,247,15,135,244, 524 248,5,15,132,244,247,255,15,135,244,248,232,244,157,252,233,244,7,248,1,90,
511 255,217,252,255,195,248,1,217,252,242,221,216,195,255,139,68,36,12,221,68, 525 232,244,117,82,252,233,244,7,248,2,131,252,248,7,15,132,244,247,15,135,244,
512 36,4,131,252,248,1,15,130,244,90,15,132,244,92,131,252,248,3,15,130,244,113, 526 248,184,0,0,0,128,102,15,110,200,102,15,112,201,81,15,87,193,252,233,244,
513 15,135,244,248,217,252,250,195,248,2,131,252,248,5,15,130,244,97,15,132,244, 527 7,248,1,102,15,252,239,201,102,15,118,201,102,15,115,209,1,15,84,193,252,
514 157,131,252,248,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252, 528 233,244,7,248,2,255,131,252,248,9,15,135,244,248,221,68,36,4,221,68,36,12,
515 241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,248,9,15,132, 529 15,132,244,247,217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,
516 244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,1,217, 530 2,131,252,248,11,15,132,244,247,15,135,244,255,252,242,15,93,193,252,233,
517 252,254,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,217,252,255, 531 244,7,248,1,252,242,15,95,193,252,233,244,7,248,9,204,255,139,68,36,20,221,
518 195,248,1,217,252,242,221,216,195,255,248,9,204,255,248,162,255,139,68,36, 532 68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,222,193,
519 20,252,242,15,16,68,36,4,252,242,15,16,76,36,12,131,252,248,1,15,132,244, 533 195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,244,248,
520 247,15,135,244,248,252,242,15,88,193,248,7,252,242,15,17,68,36,4,221,68,36, 534 222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,157,15,132,
521 4,195,248,1,252,242,15,92,193,252,233,244,7,248,2,131,252,248,3,15,132,244, 535 244,117,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,217,224,195,
522 247,15,135,244,248,252,242,15,89,193,252,233,244,7,248,1,252,242,15,94,193, 536 248,1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,15,135,244,248,
523 252,233,244,7,248,2,131,252,248,5,15,132,244,247,255,15,135,244,248,232,244, 537 217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,248,11,
524 156,252,233,244,7,248,1,90,232,244,116,82,252,233,244,7,248,2,131,252,248, 538 15,132,244,247,15,135,244,255,255,219,252,233,219,209,221,217,195,248,1,219,
525 7,15,132,244,247,15,135,244,248,184,0,0,0,128,102,15,110,200,102,15,112,201, 539 252,233,218,209,221,217,195,255,221,225,223,224,252,246,196,1,15,132,244,
526 81,15,87,193,252,233,244,7,248,1,102,15,252,239,201,102,15,118,201,102,15, 540 248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133,
527 115,209,1,15,84,193,252,233,244,7,248,2,255,131,252,248,9,15,135,244,248, 541 244,248,217,201,248,2,221,216,195,255,248,164,156,90,137,209,129,252,242,
528 221,68,36,4,221,68,36,12,15,132,244,247,217,252,243,195,248,1,217,201,217, 542 0,0,32,0,82,157,156,90,49,192,57,209,15,132,244,247,139,68,36,4,87,83,15,
529 252,253,221,217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,252, 543 162,139,124,36,16,137,7,137,95,4,137,79,8,137,87,12,91,95,248,1,195,248,165,
530 242,15,93,193,252,233,244,7,248,1,252,242,15,95,193,252,233,244,7,248,9,204, 544 255,204,248,166,255,131,252,236,16,87,86,83,131,252,236,28,141,157,233,139,
531 255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15, 545 181,233,15,183,192,137,134,233,141,132,253,36,233,137,142,233,137,150,233,
532 135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248,3,15,132, 546 137,134,233,139,140,253,36,233,139,148,253,36,233,137,76,36,44,137,84,36,
533 244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131,252,248, 547 40,137,226,137,116,36,24,137,252,241,232,251,1,27,199,131,233,237,139,144,
534 5,15,130,244,156,15,132,244,116,131,252,248,7,15,132,244,247,15,135,244,248, 548 233,139,128,233,41,208,139,106,252,248,193,232,3,131,192,1,139,181,233,139,
535 255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248,9,15, 549 14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,255,248,32,255,139,
536 132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253,221, 550 76,36,48,139,179,233,137,142,233,137,145,233,137,169,233,137,252,241,137,
537 217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252,233, 551 194,232,251,1,28,139,108,36,48,139,134,233,139,150,233,131,190,233,1,15,130,
538 219,209,221,217,195,248,1,219,252,233,218,209,221,217,195,255,221,225,223, 552 244,253,15,132,244,252,221,134,233,252,233,244,253,248,6,217,134,233,248,
539 224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221,225, 553 7,139,141,233,15,183,73,6,137,76,36,48,131,196,28,91,94,95,93,89,3,36,36,
540 223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248,163, 554 131,196,16,81,195,255,248,167,255,85,137,229,83,137,203,43,163,233,255,137,
541 156,90,137,209,129,252,242,0,0,32,0,82,157,156,90,49,192,57,209,15,132,244, 555 163,233,255,15,182,139,233,131,252,233,1,15,136,244,248,248,1,139,132,253,
542 247,139,68,36,4,87,83,15,162,139,124,36,16,137,7,137,95,4,137,79,8,137,87, 556 139,233,137,4,140,131,252,233,1,15,137,244,1,248,2,139,139,233,139,147,233,
543 12,91,95,248,1,195,248,164,255,204,248,165,255,85,137,229,83,137,203,43,163, 557 252,255,147,233,137,131,233,137,147,233,128,187,233,1,15,130,244,253,15,132,
544 233,255,137,163,233,255,15,182,139,233,131,252,233,1,15,136,244,248,248,1, 558 244,252,221,155,233,252,233,244,253,248,6,255,217,155,233,248,7,255,41,163,
545 139,132,253,139,233,137,4,140,131,252,233,1,15,137,244,1,248,2,139,139,233, 559 233,255,139,93,252,252,201,195,255,249,255,129,124,253,202,4,239,15,133,244,
546 139,147,233,252,255,147,233,137,131,233,137,147,233,128,187,233,1,15,130, 560 253,129,124,253,194,4,239,15,133,244,254,139,44,202,131,198,4,59,44,194,255,
547 244,253,15,132,244,252,221,155,233,252,233,244,253,248,6,255,217,155,233, 561 15,141,244,255,255,15,140,244,255,255,15,143,244,255,255,15,142,244,255,255,
548 248,7,255,41,163,233,255,139,93,252,252,201,195,255,249,255,129,124,253,202, 562 248,6,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15,182,
549 4,239,15,133,244,253,129,124,253,194,4,239,15,133,244,254,139,44,202,131, 563 232,131,198,4,193,232,16,252,255,36,171,248,7,15,135,244,44,129,124,253,194,
550 198,4,59,44,194,255,15,141,244,255,255,15,140,244,255,255,15,143,244,255, 564 4,239,15,130,244,247,15,133,244,44,255,252,242,15,42,4,194,252,233,244,248,
551 255,15,142,244,255,255,248,6,15,183,70,252,254,141,180,253,134,233,248,9, 565 255,221,4,202,219,4,194,252,233,244,249,255,248,8,15,135,244,44,255,252,242,
552 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,7,15, 566 15,42,12,202,252,242,15,16,4,194,131,198,4,102,15,46,193,255,15,134,244,9,
553 135,244,43,129,124,253,194,4,239,15,130,244,247,15,133,244,43,255,252,242, 567 255,15,135,244,9,255,15,130,244,9,255,15,131,244,9,255,252,233,244,6,255,
554 15,42,4,194,252,233,244,248,255,221,4,202,219,4,194,252,233,244,249,255,248, 568 219,4,202,252,233,244,248,255,129,124,253,202,4,239,15,131,244,44,129,124,
555 8,15,135,244,43,255,252,242,15,42,12,202,252,242,15,16,4,194,131,198,4,102, 569 253,194,4,239,15,131,244,44,255,248,1,252,242,15,16,4,194,248,2,131,198,4,
556 15,46,193,255,15,134,244,9,255,15,135,244,9,255,15,130,244,9,255,15,131,244, 570 102,15,46,4,202,248,3,255,248,1,221,4,202,248,2,221,4,194,248,3,131,198,4,
557 9,255,252,233,244,6,255,219,4,202,252,233,244,248,255,129,124,253,202,4,239, 571 255,15,135,244,247,255,15,130,244,247,255,15,131,244,247,255,15,183,70,252,
558 15,131,244,43,129,124,253,194,4,239,15,131,244,43,255,248,1,252,242,15,16, 572 254,141,180,253,134,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,
559 4,194,248,2,131,198,4,102,15,46,4,202,248,3,255,248,1,221,4,202,248,2,221, 573 16,252,255,36,171,255,139,108,194,4,131,198,4,255,129,252,253,239,15,133,
560 4,194,248,3,131,198,4,255,15,134,244,247,255,15,135,244,247,255,15,130,244, 574 244,253,129,124,253,202,4,239,15,133,244,254,139,44,194,59,44,202,255,15,
561 247,255,15,131,244,247,255,15,183,70,252,254,141,180,253,134,233,248,1,139, 575 133,244,255,255,15,132,244,255,255,15,183,70,252,254,141,180,253,134,233,
562 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,108,194, 576 248,9,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,
563 4,131,198,4,255,129,252,253,239,15,133,244,253,129,124,253,202,4,239,15,133, 577 7,15,135,244,251,129,124,253,202,4,239,15,130,244,247,15,133,244,251,255,
564 244,254,139,44,194,59,44,202,255,15,133,244,255,255,15,132,244,255,255,15, 578 252,242,15,42,4,202,255,219,4,202,255,252,233,244,248,248,8,15,135,244,251,
565 183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15,182,232,131, 579 255,252,242,15,42,4,194,102,15,46,4,202,255,219,4,194,221,4,202,255,252,233,
566 198,4,193,232,16,252,255,36,171,248,7,15,135,244,251,129,124,253,202,4,239, 580 244,250,255,129,252,253,239,15,131,244,251,129,124,253,202,4,239,15,131,244,
567 15,130,244,247,15,133,244,251,255,252,242,15,42,4,202,255,219,4,202,255,252, 581 251,255,248,1,252,242,15,16,4,202,248,2,102,15,46,4,194,248,4,255,248,1,221,
568 233,244,248,248,8,15,135,244,251,255,252,242,15,42,4,194,102,15,46,4,202, 582 4,202,248,2,221,4,194,248,4,255,15,138,244,248,15,133,244,248,255,15,138,
569 255,219,4,194,221,4,202,255,252,233,244,250,255,129,252,253,239,15,131,244, 583 244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253,134,233,248,
570 251,129,124,253,202,4,239,15,131,244,251,255,248,1,252,242,15,16,4,202,248, 584 2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,252,233,244,9,
571 2,102,15,46,4,194,248,4,255,248,1,221,4,202,248,2,221,4,194,248,4,255,15, 585 255,248,5,255,129,252,253,239,15,132,244,49,129,124,253,202,4,239,15,132,
572 138,244,248,15,133,244,248,255,15,138,244,248,15,132,244,247,255,248,1,15, 586 244,49,255,57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,
573 183,70,252,254,141,180,253,134,233,248,2,255,248,2,15,183,70,252,254,141, 587 202,139,4,194,57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169,233,
574 180,253,134,233,248,1,255,252,233,244,9,255,248,5,255,129,252,253,239,15, 588 133,252,237,15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,237,
575 132,244,48,129,124,253,202,4,239,15,132,244,48,255,57,108,202,4,15,133,244, 589 255,189,1,0,0,0,255,252,233,244,48,255,248,3,129,252,253,239,255,15,133,244,
576 2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,57,193,15,132,244,1,129, 590 9,255,252,233,244,49,255,252,247,208,139,108,202,4,131,198,4,129,252,253,
577 252,253,239,15,135,244,2,139,169,233,133,252,237,15,132,244,2,252,246,133, 591 239,15,133,244,249,139,12,202,59,12,135,255,139,108,202,4,131,198,4,255,129,
578 233,235,15,133,244,2,255,49,252,237,255,189,1,0,0,0,255,252,233,244,47,255, 592 252,253,239,15,133,244,253,129,124,253,199,4,239,15,133,244,254,139,44,199,
579 248,3,129,252,253,239,255,15,133,244,9,255,252,233,244,48,255,252,247,208, 593 59,44,202,255,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,
580 139,108,202,4,131,198,4,129,252,253,239,15,133,244,249,139,12,202,59,12,135, 594 15,182,232,131,198,4,193,232,16,252,255,36,171,248,7,15,135,244,249,129,124,
581 255,139,108,202,4,131,198,4,255,129,252,253,239,15,133,244,253,129,124,253, 595 253,199,4,239,15,130,244,247,255,252,242,15,42,4,199,255,219,4,199,255,252,
582 199,4,239,15,133,244,254,139,44,199,59,44,202,255,15,183,70,252,254,141,180, 596 233,244,248,248,8,255,252,242,15,42,4,202,102,15,46,4,199,255,219,4,202,221,
583 253,134,233,248,9,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, 597 4,199,255,129,252,253,239,15,131,244,249,255,248,1,252,242,15,16,4,199,248,
584 36,171,248,7,15,135,244,249,129,124,253,199,4,239,15,130,244,247,255,252, 598 2,102,15,46,4,202,248,4,255,248,1,221,4,199,248,2,221,4,202,248,4,255,252,
585 242,15,42,4,199,255,219,4,199,255,252,233,244,248,248,8,255,252,242,15,42, 599 247,208,139,108,202,4,131,198,4,57,197,255,15,133,244,249,15,183,70,252,254,
586 4,202,102,15,46,4,199,255,219,4,202,221,4,199,255,129,252,253,239,15,131, 600 141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
587 244,249,255,248,1,252,242,15,16,4,199,248,2,102,15,46,4,202,248,4,255,248, 601 252,255,36,171,248,3,129,252,253,239,15,133,244,2,252,233,244,49,255,15,132,
588 1,221,4,199,248,2,221,4,202,248,4,255,252,247,208,139,108,202,4,131,198,4, 602 244,248,129,252,253,239,15,132,244,49,15,183,70,252,254,141,180,253,134,233,
589 57,197,255,15,133,244,249,15,183,70,252,254,141,180,253,134,233,248,2,139, 603 248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,
590 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,129,252, 604 139,108,194,4,131,198,4,129,252,253,239,255,137,108,202,4,139,44,194,137,
591 253,239,15,133,244,2,252,233,244,48,255,15,132,244,248,129,252,253,239,15, 605 44,202,255,139,108,194,4,139,4,194,137,108,202,4,137,4,202,139,6,15,182,204,
592 132,244,48,15,183,70,252,254,141,180,253,134,233,248,2,139,6,15,182,204,15, 606 15,182,232,131,198,4,193,232,16,252,255,36,171,255,49,252,237,129,124,253,
593 182,232,131,198,4,193,232,16,252,255,36,171,255,139,108,194,4,131,198,4,129, 607 194,4,239,129,213,239,137,108,202,4,139,6,15,182,204,15,182,232,131,198,4,
594 252,253,239,255,137,108,202,4,139,44,194,137,44,202,255,139,108,194,4,139, 608 193,232,16,252,255,36,171,255,129,124,253,194,4,239,15,133,244,251,139,44,
595 4,194,137,108,202,4,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232, 609 194,252,247,221,15,128,244,250,199,68,202,4,237,137,44,202,248,9,139,6,15,
596 16,252,255,36,171,255,49,252,237,129,124,253,194,4,239,129,213,239,137,108, 610 182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,4,199,68,202,4,
597 202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255, 611 0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,248,5,15,135,244,54,255,129,124,
598 129,124,253,194,4,239,15,133,244,251,139,44,194,252,247,221,15,128,244,250, 612 253,194,4,239,15,131,244,54,255,252,242,15,16,4,194,184,0,0,0,128,102,15,
599 199,68,202,4,237,137,44,202,248,9,139,6,15,182,204,15,182,232,131,198,4,193, 613 110,200,102,15,112,201,81,15,87,193,252,242,15,17,4,202,255,221,4,194,217,
600 232,16,252,255,36,171,248,4,199,68,202,4,0,0,224,65,199,4,202,0,0,0,0,252, 614 224,221,28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,139,
601 233,244,9,248,5,15,135,244,53,255,129,124,253,194,4,239,15,131,244,53,255, 615 128,233,248,1,199,68,202,4,237,137,4,202,255,15,87,192,252,242,15,42,128,
602 252,242,15,16,4,194,184,0,0,0,128,102,15,110,200,102,15,112,201,81,15,87, 616 233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,
603 193,252,242,15,17,4,202,255,221,4,194,217,224,221,28,202,255,129,124,253, 617 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,129,124,253,
604 194,4,239,15,133,244,248,139,4,194,255,139,128,233,248,1,199,68,202,4,237, 618 194,4,239,15,133,244,57,139,12,194,255,139,169,233,131,252,253,0,15,133,244,
605 137,4,202,255,15,87,192,252,242,15,42,128,233,248,1,252,242,15,17,4,202,255, 619 255,248,3,255,248,58,137,213,232,251,1,20,255,252,242,15,42,192,255,137,4,
606 219,128,233,248,1,221,28,202,255,139,6,15,182,204,15,182,232,131,198,4,193, 620 36,219,4,36,255,137,252,234,15,182,78,252,253,252,233,244,1,255,248,9,252,
607 232,16,252,255,36,171,248,2,129,124,253,194,4,239,15,133,244,56,139,12,194, 621 246,133,233,235,15,133,244,3,252,233,244,57,255,15,182,252,236,15,182,192,
608 255,139,169,233,131,252,253,0,15,133,244,255,248,3,255,248,57,137,213,232, 622 255,129,124,253,252,234,4,239,15,133,244,51,129,124,253,199,4,239,15,133,
609 251,1,20,255,252,242,15,42,192,255,137,4,36,219,4,36,255,137,252,234,15,182, 623 244,51,139,44,252,234,3,44,199,15,128,244,50,255,129,124,253,252,234,4,239,
610 78,252,253,252,233,244,1,255,248,9,252,246,133,233,235,15,133,244,3,252,233, 624 15,133,244,53,129,124,253,199,4,239,15,133,244,53,139,4,199,3,4,252,234,15,
611 244,56,255,15,182,252,236,15,182,192,255,129,124,253,252,234,4,239,15,133, 625 128,244,52,255,129,124,253,252,234,4,239,15,133,244,56,129,124,253,194,4,
612 244,50,129,124,253,199,4,239,15,133,244,50,139,44,252,234,3,44,199,15,128, 626 239,15,133,244,56,139,44,252,234,3,44,194,15,128,244,55,255,199,68,202,4,
613 244,49,255,129,124,253,252,234,4,239,15,133,244,52,129,124,253,199,4,239, 627 237,255,129,124,253,252,234,4,239,15,131,244,51,255,129,124,253,199,4,239,
614 15,133,244,52,139,4,199,3,4,252,234,15,128,244,51,255,129,124,253,252,234, 628 15,131,244,51,255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,221,4,252,
615 4,239,15,133,244,55,129,124,253,194,4,239,15,133,244,55,139,44,252,234,3, 629 234,220,4,199,255,129,124,253,252,234,4,239,15,131,244,53,255,129,124,253,
616 44,194,15,128,244,54,255,199,68,202,4,237,255,129,124,253,252,234,4,239,15, 630 199,4,239,15,131,244,53,255,252,242,15,16,4,199,252,242,15,88,4,252,234,255,
617 131,244,50,255,129,124,253,199,4,239,15,131,244,50,255,252,242,15,16,4,252, 631 221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,56,129,124,
618 234,252,242,15,88,4,199,255,221,4,252,234,220,4,199,255,129,124,253,252,234, 632 253,194,4,239,15,131,244,56,255,252,242,15,16,4,252,234,252,242,15,88,4,194,
619 4,239,15,131,244,52,255,129,124,253,199,4,239,15,131,244,52,255,252,242,15, 633 255,221,4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244,51,129,
620 16,4,199,252,242,15,88,4,252,234,255,221,4,199,220,4,252,234,255,129,124, 634 124,253,199,4,239,15,133,244,51,139,44,252,234,43,44,199,15,128,244,50,255,
621 253,252,234,4,239,15,131,244,55,129,124,253,194,4,239,15,131,244,55,255,252, 635 129,124,253,252,234,4,239,15,133,244,53,129,124,253,199,4,239,15,133,244,
622 242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,234,220,4,194,255,129, 636 53,139,4,199,43,4,252,234,15,128,244,52,255,129,124,253,252,234,4,239,15,
623 124,253,252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133,244,50,139, 637 133,244,56,129,124,253,194,4,239,15,133,244,56,139,44,252,234,43,44,194,15,
624 44,252,234,43,44,199,15,128,244,49,255,129,124,253,252,234,4,239,15,133,244, 638 128,244,55,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252,
625 52,129,124,253,199,4,239,15,133,244,52,139,4,199,43,4,252,234,15,128,244, 639 234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,255,221,4,
626 51,255,129,124,253,252,234,4,239,15,133,244,55,129,124,253,194,4,239,15,133, 640 199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221,
627 244,55,139,44,252,234,43,44,194,15,128,244,54,255,252,242,15,16,4,252,234, 641 4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133,244,51,129,124,
628 252,242,15,92,4,199,255,221,4,252,234,220,36,199,255,252,242,15,16,4,199, 642 253,199,4,239,15,133,244,51,139,44,252,234,15,175,44,199,15,128,244,50,255,
629 252,242,15,92,4,252,234,255,221,4,199,220,36,252,234,255,252,242,15,16,4, 643 129,124,253,252,234,4,239,15,133,244,53,129,124,253,199,4,239,15,133,244,
630 252,234,252,242,15,92,4,194,255,221,4,252,234,220,36,194,255,129,124,253, 644 53,139,4,199,15,175,4,252,234,15,128,244,52,255,129,124,253,252,234,4,239,
631 252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133,244,50,139,44,252, 645 15,133,244,56,129,124,253,194,4,239,15,133,244,56,139,44,252,234,15,175,44,
632 234,15,175,44,199,15,128,244,49,255,129,124,253,252,234,4,239,15,133,244, 646 194,15,128,244,55,255,252,242,15,16,4,252,234,252,242,15,89,4,199,255,221,
633 52,129,124,253,199,4,239,15,133,244,52,139,4,199,15,175,4,252,234,15,128, 647 4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,15,89,4,252,234,255,
634 244,51,255,129,124,253,252,234,4,239,15,133,244,55,129,124,253,194,4,239, 648 221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4,194,
635 15,133,244,55,139,44,252,234,15,175,44,194,15,128,244,54,255,252,242,15,16, 649 255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,242,15,94,4,
636 4,252,234,252,242,15,89,4,199,255,221,4,252,234,220,12,199,255,252,242,15, 650 199,255,221,4,252,234,220,52,199,255,252,242,15,16,4,199,252,242,15,94,4,
637 16,4,199,252,242,15,89,4,252,234,255,221,4,199,220,12,252,234,255,252,242, 651 252,234,255,221,4,199,220,52,252,234,255,252,242,15,16,4,252,234,252,242,
638 15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,252, 652 15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252,
639 242,15,16,4,252,234,252,242,15,94,4,199,255,221,4,252,234,220,52,199,255, 653 242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242,15,16,4,199,252,
640 252,242,15,16,4,199,252,242,15,94,4,252,234,255,221,4,199,220,52,252,234, 654 242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252,242,15,16,4,252,
641 255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,234,220,52, 655 234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,168,232,244,
642 194,255,252,242,15,16,4,252,234,252,242,15,16,12,199,255,221,4,252,234,221, 656 157,255,252,233,244,168,255,232,244,117,255,15,182,252,236,15,182,192,141,
643 4,199,255,252,242,15,16,4,199,252,242,15,16,12,252,234,255,221,4,199,221, 657 12,194,41,232,137,76,36,4,137,68,36,8,248,36,139,108,36,48,137,44,36,137,
644 4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,12,194,255,221,4,252, 658 149,233,137,116,36,24,232,251,1,29,139,149,233,133,192,15,133,244,45,15,182,
645 234,221,4,194,255,248,166,232,244,156,255,252,233,244,166,255,232,244,116, 659 110,252,255,15,182,78,252,253,139,68,252,234,4,139,44,252,234,137,68,202,
646 255,15,182,252,236,15,182,192,141,12,194,41,232,137,76,36,4,137,68,36,8,248, 660 4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
647 35,139,108,36,48,137,44,36,137,149,233,137,116,36,24,232,251,1,27,139,149, 661 171,255,252,247,208,139,4,135,199,68,202,4,237,137,4,202,139,6,15,182,204,
648 233,133,192,15,133,244,44,15,182,110,252,255,15,182,78,252,253,139,68,252, 662 15,182,232,131,198,4,193,232,16,252,255,36,171,255,15,191,192,199,68,202,
649 234,4,139,44,252,234,137,68,202,4,137,44,202,139,6,15,182,204,15,182,232, 663 4,237,137,4,202,255,15,191,192,252,242,15,42,192,252,242,15,17,4,202,255,
650 131,198,4,193,232,16,252,255,36,171,255,252,247,208,139,4,135,199,68,202, 664 223,70,252,254,221,28,202,255,252,242,15,16,4,199,252,242,15,17,4,202,255,
651 4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, 665 221,4,199,221,28,202,255,252,247,208,137,68,202,4,139,6,15,182,204,15,182,
652 36,171,255,15,191,192,199,68,202,4,237,137,4,202,255,15,191,192,252,242,15, 666 232,131,198,4,193,232,16,252,255,36,171,255,141,76,202,12,141,68,194,4,189,
653 42,192,252,242,15,17,4,202,255,223,70,252,254,221,28,202,255,252,242,15,16, 667 237,137,105,252,248,248,1,137,41,131,193,8,57,193,15,134,244,1,139,6,15,182,
654 4,199,252,242,15,17,4,202,255,221,4,199,221,28,202,255,252,247,208,137,68, 668 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,106,252,248,139,
655 202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255, 669 172,253,133,233,139,173,233,139,69,4,139,109,0,137,68,202,4,137,44,202,139,
656 141,76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8, 670 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,106,252,
657 57,193,15,134,244,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 671 248,139,172,253,141,233,128,189,233,0,139,173,233,139,12,194,139,68,194,4,
658 255,36,171,255,139,106,252,248,139,172,253,133,233,139,173,233,139,69,4,139, 672 137,77,0,137,69,4,15,132,244,247,252,246,133,233,235,15,133,244,248,248,1,
659 109,0,137,68,202,4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232, 673 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,129,
660 16,252,255,36,171,255,139,106,252,248,139,172,253,141,233,128,189,233,0,139, 674 232,239,129,252,248,239,15,134,244,1,252,246,129,233,235,15,132,244,1,135,
661 173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,246, 675 213,141,139,233,255,232,251,1,30,137,252,234,252,233,244,1,255,252,247,208,
662 133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193, 676 139,106,252,248,139,172,253,141,233,139,12,135,139,133,233,137,8,199,64,4,
663 232,16,252,255,36,171,248,2,129,232,239,129,252,248,239,15,134,244,1,252, 677 237,252,246,133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,
664 246,129,233,235,15,132,244,1,135,213,141,139,233,255,232,251,1,28,137,252, 678 131,198,4,193,232,16,252,255,36,171,248,2,252,246,129,233,235,15,132,244,
665 234,252,233,244,1,255,252,247,208,139,106,252,248,139,172,253,141,233,139, 679 1,128,189,233,0,15,132,244,1,137,213,137,194,141,139,233,232,251,1,30,137,
666 12,135,139,133,233,137,8,199,64,4,237,252,246,133,233,235,15,133,244,248, 680 252,234,252,233,244,1,255,139,106,252,248,255,252,242,15,16,4,199,255,139,
667 248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248, 681 172,253,141,233,139,141,233,255,252,242,15,17,1,255,221,25,255,252,247,208,
668 2,252,246,129,233,235,15,132,244,1,128,189,233,0,15,132,244,1,137,213,137, 682 139,106,252,248,139,172,253,141,233,139,141,233,137,65,4,139,6,15,182,204,
669 194,141,139,233,232,251,1,28,137,252,234,252,233,244,1,255,139,106,252,248, 683 15,182,232,131,198,4,193,232,16,252,255,36,171,255,141,180,253,134,233,139,
670 255,252,242,15,16,4,199,255,139,172,253,141,233,139,141,233,255,252,242,15, 684 108,36,48,131,189,233,0,15,132,244,247,137,149,233,141,20,202,137,252,233,
671 17,1,255,221,25,255,252,247,208,139,106,252,248,139,172,253,141,233,139,141, 685 232,251,1,31,139,149,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,
672 233,137,65,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, 686 232,16,252,255,36,171,255,252,247,208,139,74,252,248,139,4,135,139,108,36,
673 171,255,141,180,253,134,233,139,108,36,48,131,189,233,0,15,132,244,247,137, 687 48,137,76,36,8,137,68,36,4,137,44,36,137,149,233,137,116,36,24,232,251,1,
674 149,233,141,20,202,137,252,233,232,251,1,29,139,149,233,248,1,139,6,15,182, 688 32,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,
675 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,252,247,208,139,74, 689 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,108,36,48,137,
676 252,248,139,4,135,139,108,36,48,137,76,36,8,137,68,36,4,137,44,36,137,149, 690 149,233,139,139,233,59,139,233,137,116,36,24,15,131,244,251,248,1,137,193,
677 233,137,116,36,24,232,251,1,30,139,149,233,15,182,78,252,253,137,4,202,199, 691 37,252,255,7,0,0,193,252,233,11,137,76,36,8,61,252,255,7,0,0,15,132,244,249,
678 68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, 692 248,2,137,44,36,137,68,36,4,232,251,1,33,139,149,233,15,182,78,252,253,137,
679 171,255,139,108,36,48,137,149,233,139,139,233,59,139,233,137,116,36,24,15, 693 4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
680 131,244,251,248,1,137,193,37,252,255,7,0,0,193,252,233,11,137,76,36,8,61, 694 255,36,171,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252,233,232,251,1,34,
681 252,255,7,0,0,15,132,244,249,248,2,137,44,36,137,68,36,4,232,251,1,31,139, 695 15,183,70,252,254,252,233,244,1,255,252,247,208,139,108,36,48,139,139,233,
682 149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15, 696 137,116,36,24,59,139,233,137,149,233,15,131,244,249,248,2,139,20,135,137,
683 182,232,131,198,4,193,232,16,252,255,36,171,248,3,184,1,8,0,0,252,233,244, 697 252,233,232,251,1,35,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,
684 2,248,5,137,252,233,232,251,1,32,15,183,70,252,254,252,233,244,1,255,252, 698 237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,
685 247,208,139,108,36,48,139,139,233,137,116,36,24,59,139,233,137,149,233,15, 699 137,252,233,232,251,1,34,15,183,70,252,254,252,247,208,252,233,244,2,255,
686 131,244,249,248,2,139,20,135,137,252,233,232,251,1,33,139,149,233,15,182, 700 252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,169,255,252,
687 78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198, 701 247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,170,255,15,182,
688 4,193,232,16,252,255,36,171,248,3,137,252,233,232,251,1,32,15,183,70,252, 702 252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,39,139,44,252,234,
689 254,252,247,208,252,233,244,2,255,252,247,208,139,106,252,248,139,173,233, 703 255,129,124,253,194,4,239,15,133,244,251,139,4,194,255,129,124,253,194,4,
690 139,4,135,252,233,244,167,255,252,247,208,139,106,252,248,139,173,233,139, 704 239,15,131,244,251,255,252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,
691 4,135,252,233,244,168,255,15,182,252,236,15,182,192,129,124,253,252,234,4, 705 200,102,15,46,193,255,221,4,194,219,20,36,219,4,36,255,15,133,244,39,255,
692 239,15,133,244,38,139,44,252,234,255,129,124,253,194,4,239,15,133,244,251, 706 59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15,132,244,
693 139,4,194,255,129,124,253,194,4,239,15,131,244,251,255,252,242,15,16,4,194, 707 248,139,40,139,64,4,137,44,202,137,68,202,4,248,1,139,6,15,182,204,15,182,
694 252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,221,4,194,219,20,36, 708 232,131,198,4,193,232,16,252,255,36,171,248,2,131,189,233,0,15,132,244,249,
695 219,4,36,255,15,133,244,38,255,59,133,233,15,131,244,38,193,224,3,3,133,233, 709 139,141,233,252,246,129,233,235,15,132,244,39,15,182,78,252,253,248,3,199,
696 129,120,253,4,239,15,132,244,248,139,40,139,64,4,137,44,202,137,68,202,4, 710 68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,39,
697 248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248, 711 139,4,194,252,233,244,169,255,15,182,252,236,15,182,192,252,247,208,139,4,
698 2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,235,15,132,244, 712 135,129,124,253,252,234,4,239,15,133,244,37,139,44,252,234,248,169,139,141,
699 38,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1,248,5,255,129,124, 713 233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,244,250,
700 253,194,4,239,15,133,244,38,139,4,194,252,233,244,167,255,15,182,252,236, 714 57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,70,252,
701 15,182,192,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,36, 715 253,139,41,139,73,4,137,44,194,137,76,194,4,248,2,255,139,6,15,182,204,15,
702 139,44,252,234,248,167,139,141,233,35,136,233,105,201,239,3,141,233,248,1, 716 182,232,131,198,4,193,232,16,252,255,36,171,248,3,15,182,70,252,253,199,68,
703 129,185,233,239,15,133,244,250,57,129,233,15,133,244,250,129,121,253,4,239, 717 194,4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,
704 15,132,244,251,15,182,70,252,253,139,41,139,73,4,137,44,194,137,76,194,4, 718 141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,
705 248,2,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171, 719 37,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,38,
706 248,3,15,182,70,252,253,199,68,194,4,237,252,233,244,2,248,4,139,137,233, 720 139,44,252,234,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,
707 133,201,15,133,244,1,248,5,139,141,233,133,201,15,132,244,3,252,246,129,233, 721 239,15,132,244,248,139,40,139,64,4,137,44,202,137,68,202,4,248,1,139,6,15,
708 235,15,133,244,3,252,233,244,36,255,15,182,252,236,15,182,192,129,124,253, 722 182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,131,189,233,
709 252,234,4,239,15,133,244,37,139,44,252,234,59,133,233,15,131,244,37,193,224, 723 0,15,132,244,249,139,141,233,252,246,129,233,235,15,132,244,38,255,15,182,
710 3,3,133,233,129,120,253,4,239,15,132,244,248,139,40,139,64,4,137,44,202,137, 724 78,252,253,248,3,199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,
711 68,202,4,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, 725 192,129,124,253,252,234,4,239,15,133,244,42,139,44,252,234,255,15,133,244,
712 171,248,2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,235,15, 726 42,255,59,133,233,15,131,244,42,193,224,3,3,133,233,129,120,253,4,239,15,
713 132,244,37,255,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1,255, 727 132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,
714 15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,41,139,44, 728 139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,
715 252,234,255,15,133,244,41,255,59,133,233,15,131,244,41,193,224,3,3,133,233, 729 16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,139,141,233,252,246,129,
716 129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,253, 730 233,235,255,15,132,244,42,15,182,78,252,253,252,233,244,1,248,5,129,124,253,
717 248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,232, 731 194,4,239,15,133,244,42,139,4,194,252,233,244,170,248,7,128,165,233,235,139,
718 131,198,4,193,232,16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,139, 732 139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,15,182,
719 141,233,252,246,129,233,235,255,15,132,244,41,15,182,78,252,253,252,233,244, 733 252,236,15,182,192,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,
720 1,248,5,129,124,253,194,4,239,15,133,244,41,139,4,194,252,233,244,168,248, 734 244,40,139,44,252,234,248,170,139,141,233,35,136,233,105,201,239,198,133,
721 7,128,165,233,235,139,139,233,137,171,233,137,141,233,15,182,78,252,253,252, 735 233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,244,
722 233,244,2,255,15,182,252,236,15,182,192,252,247,208,139,4,135,129,124,253, 736 251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,133,
723 252,234,4,239,15,133,244,39,139,44,252,234,248,168,139,141,233,35,136,233, 737 244,253,248,3,15,182,70,252,253,139,108,194,4,139,4,194,137,105,4,137,1,139,
724 105,201,239,198,133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,251, 738 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,4,131,189,
725 57,129,233,15,133,244,251,129,121,253,4,239,15,132,244,250,248,2,255,252, 739 233,0,15,132,244,2,137,76,36,16,139,141,233,252,246,129,233,235,15,132,244,
726 246,133,233,235,15,133,244,253,248,3,15,182,70,252,253,139,108,194,4,139, 740 40,139,76,36,16,252,233,244,2,248,5,139,137,233,133,201,15,133,244,1,255,
727 4,194,137,105,4,137,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 741 139,141,233,133,201,15,132,244,252,252,246,129,233,235,15,132,244,40,248,
728 255,36,171,248,4,131,189,233,0,15,132,244,2,137,76,36,16,139,141,233,252, 742 6,137,68,36,16,199,68,36,20,237,137,108,36,12,141,68,36,16,137,108,36,4,139,
729 246,129,233,235,15,132,244,39,139,76,36,16,252,233,244,2,248,5,139,137,233, 743 108,36,48,137,68,36,8,137,44,36,137,149,233,137,116,36,24,232,251,1,36,139,
730 133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,252,252,246,129,233, 744 149,233,139,108,36,12,137,193,252,233,244,2,248,7,128,165,233,235,139,131,
731 235,15,132,244,39,248,6,137,68,36,16,199,68,36,20,237,137,108,36,12,141,68, 745 233,137,171,233,137,133,233,252,233,244,3,255,15,182,252,236,15,182,192,129,
732 36,16,137,108,36,4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,116, 746 124,253,252,234,4,239,15,133,244,41,139,44,252,234,59,133,233,15,131,244,
733 36,24,232,251,1,34,139,149,233,139,108,36,12,137,193,252,233,244,2,248,7, 747 41,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,
734 128,165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,3,255,15, 748 233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,
735 182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,40,139,44,252, 749 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,131,189,
736 234,59,133,233,15,131,244,40,193,224,3,3,133,233,129,120,253,4,239,15,132, 750 233,0,15,132,244,1,255,139,141,233,252,246,129,233,235,15,132,244,41,15,182,
737 244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139, 751 78,252,253,252,233,244,1,248,7,128,165,233,235,139,139,233,137,171,233,137,
738 12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 752 141,233,15,182,78,252,253,252,233,244,2,255,137,124,36,16,139,60,199,248,
739 255,36,171,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233, 753 1,141,12,202,139,105,252,248,252,246,133,233,235,15,133,244,253,248,2,139,
740 235,15,132,244,40,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139, 754 68,36,20,131,232,1,15,132,244,250,1,252,248,59,133,233,15,135,244,251,41,
741 139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,137,124, 755 252,248,193,231,3,3,189,233,248,3,139,41,137,47,139,105,4,131,193,8,137,111,
742 36,16,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15, 756 4,131,199,8,131,232,1,15,133,244,3,248,4,139,124,36,16,139,6,15,182,204,15,
743 133,244,253,248,2,139,68,36,20,131,232,1,15,132,244,250,1,252,248,59,133, 757 182,232,131,198,4,193,232,16,252,255,36,171,248,5,137,108,36,4,139,108,36,
744 233,15,135,244,251,41,252,248,193,231,3,3,189,233,248,3,139,41,137,47,139, 758 48,137,149,233,137,68,36,8,137,44,36,137,116,36,24,232,251,1,37,139,149,233,
745 105,4,131,193,8,137,111,4,131,199,8,131,232,1,15,133,244,3,248,4,139,124, 759 15,182,78,252,253,252,233,244,1,248,7,255,128,165,233,235,139,131,233,137,
746 36,16,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248, 760 171,233,137,133,233,252,233,244,2,255,3,68,36,20,255,129,124,253,202,4,239,
747 5,137,108,36,4,139,108,36,48,137,149,233,137,68,36,8,137,44,36,137,116,36, 761 139,44,202,15,133,244,59,141,84,202,8,137,114,252,252,139,181,233,139,14,
748 24,232,251,1,35,139,149,233,15,182,78,252,253,252,233,244,1,248,7,255,128, 762 15,182,252,233,15,182,205,131,198,4,252,255,36,171,255,141,76,202,8,137,215,
749 165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,2,255,3,68,36, 763 139,105,252,248,129,121,253,252,252,239,15,133,244,29,248,60,139,114,252,
750 20,255,129,124,253,202,4,239,139,44,202,15,133,244,58,141,84,202,8,137,114, 764 252,252,247,198,237,15,133,244,253,248,1,137,106,252,248,137,68,36,20,131,
751 252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36, 765 232,1,15,132,244,249,248,2,139,41,137,47,139,105,4,131,193,8,137,111,4,131,
752 171,255,141,76,202,8,137,215,139,105,252,248,129,121,253,252,252,239,15,133, 766 199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,20,128,189,233,
753 244,29,248,59,139,114,252,252,252,247,198,237,15,133,244,253,248,1,137,106, 767 1,15,135,244,251,248,4,139,181,233,139,14,15,182,252,233,15,182,205,131,198,
754 252,248,137,68,36,20,131,232,1,15,132,244,249,248,2,139,41,137,47,139,105, 768 4,252,255,36,171,248,5,255,252,247,198,237,15,133,244,4,15,182,78,252,253,
755 4,131,193,8,137,111,4,131,199,8,131,232,1,15,133,244,2,139,106,252,248,248, 769 252,247,209,141,12,202,139,121,252,248,139,191,233,139,191,233,252,233,244,
756 3,139,68,36,20,128,189,233,1,15,135,244,251,248,4,139,181,233,139,14,15,182, 770 4,248,7,129,252,238,239,252,247,198,237,15,133,244,254,41,252,242,137,215,
757 252,233,15,182,205,131,198,4,252,255,36,171,248,5,255,252,247,198,237,15, 771 139,114,252,252,252,233,244,1,248,8,129,198,239,252,233,244,1,255,141,76,
758 133,244,4,15,182,78,252,253,252,247,209,141,12,202,139,121,252,248,139,191, 772 202,8,139,105,232,139,65,252,236,137,41,137,65,4,139,105,252,240,139,65,252,
759 233,139,191,233,252,233,244,4,248,7,129,252,238,239,252,247,198,237,15,133, 773 244,137,105,8,137,65,12,139,105,224,139,65,228,137,105,252,248,137,65,252,
760 244,254,41,252,242,137,215,139,114,252,252,252,233,244,1,248,8,129,198,239, 774 252,129,252,248,239,184,237,15,133,244,29,137,202,137,114,252,252,139,181,
761 252,233,244,1,255,141,76,202,8,139,105,232,139,65,252,236,137,41,137,65,4, 775 233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,255,137,124,
762 139,105,252,240,139,65,252,244,137,105,8,137,65,12,139,105,224,139,65,228, 776 36,16,137,92,36,20,139,108,202,252,240,139,68,202,252,248,139,157,233,131,
763 137,105,252,248,137,65,252,252,129,252,248,239,184,237,15,133,244,29,137, 777 198,4,139,189,233,248,1,57,216,15,131,244,251,129,124,253,199,4,239,15,132,
764 202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198, 778 244,250,255,219,68,202,252,248,255,139,108,199,4,137,108,202,12,139,44,199,
765 4,252,255,36,171,255,137,124,36,16,137,92,36,20,139,108,202,252,240,139,68, 779 137,108,202,8,131,192,1,255,137,68,202,252,248,248,2,15,183,70,252,254,141,
766 202,252,248,139,157,233,131,198,4,139,189,233,248,1,57,216,15,131,244,251, 780 180,253,134,233,248,3,139,92,36,20,139,124,36,16,139,6,15,182,204,15,182,
767 129,124,253,199,4,239,15,132,244,250,255,219,68,202,252,248,255,139,108,199, 781 232,131,198,4,193,232,16,252,255,36,171,248,4,131,192,1,255,137,68,202,252,
768 4,137,108,202,12,139,44,199,137,108,202,8,131,192,1,255,137,68,202,252,248, 782 248,255,252,233,244,1,248,5,41,216,248,6,59,133,233,15,135,244,3,105,252,
769 248,2,15,183,70,252,254,141,180,253,134,233,248,3,139,92,36,20,139,124,36, 783 248,239,3,189,233,129,191,233,239,15,132,244,253,141,92,24,1,139,175,233,
770 16,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,4, 784 139,135,233,137,44,202,137,68,202,4,139,175,233,139,135,233,137,108,202,8,
771 131,192,1,255,137,68,202,252,248,255,252,233,244,1,248,5,41,216,248,6,59, 785 137,68,202,12,137,92,202,252,248,252,233,244,2,248,7,255,131,192,1,252,233,
772 133,233,15,135,244,3,105,252,248,239,3,189,233,129,191,233,239,15,132,244, 786 244,6,255,129,124,253,202,252,236,239,15,133,244,251,139,108,202,232,129,
773 253,141,92,24,1,139,175,233,139,135,233,137,44,202,137,68,202,4,139,175,233, 787 124,253,202,252,244,239,15,133,244,251,129,124,253,202,252,252,239,15,133,
774 139,135,233,137,108,202,8,137,68,202,12,137,92,202,252,248,252,233,244,2, 788 244,251,128,189,233,235,15,133,244,251,141,180,253,134,233,199,68,202,252,
775 248,7,255,131,192,1,252,233,244,6,255,129,124,253,202,252,236,239,15,133, 789 248,0,0,0,0,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
776 244,251,139,108,202,232,129,124,253,202,252,244,239,15,133,244,251,129,124, 790 36,171,248,5,198,70,252,252,235,141,180,253,134,233,198,6,235,252,233,244,
777 253,202,252,252,239,15,133,244,251,128,189,233,235,15,133,244,251,141,180, 791 1,255,15,182,252,236,15,182,192,137,124,36,16,141,188,253,194,233,141,12,
778 253,134,233,199,68,202,252,248,0,0,0,0,248,1,139,6,15,182,204,15,182,232, 792 202,43,122,252,252,133,252,237,15,132,244,251,141,108,252,233,252,248,57,
779 131,198,4,193,232,16,252,255,36,171,248,5,198,70,252,252,235,141,180,253, 793 215,15,131,244,248,248,1,139,71,252,248,137,1,139,71,252,252,131,199,8,137,
780 134,233,198,6,235,252,233,244,1,255,15,182,252,236,15,182,192,137,124,36, 794 65,4,131,193,8,57,252,233,15,131,244,249,57,215,15,130,244,1,248,2,199,65,
781 16,141,188,253,194,233,141,12,202,43,122,252,252,133,252,237,15,132,244,251, 795 4,237,131,193,8,57,252,233,15,130,244,2,248,3,139,124,36,16,139,6,15,182,
782 141,108,252,233,252,248,57,215,15,131,244,248,248,1,139,71,252,248,137,1, 796 204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,5,199,68,36,20,1,0,
783 139,71,252,252,131,199,8,137,65,4,131,193,8,57,252,233,15,131,244,249,57, 797 0,0,137,208,41,252,248,15,134,244,3,137,197,193,252,237,3,131,197,1,137,108,
784 215,15,130,244,1,248,2,199,65,4,237,131,193,8,57,252,233,15,130,244,2,248, 798 36,20,139,108,36,48,1,200,59,133,233,15,135,244,253,248,6,255,139,71,252,
785 3,139,124,36,16,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, 799 248,137,1,139,71,252,252,131,199,8,137,65,4,131,193,8,57,215,15,130,244,6,
786 36,171,248,5,199,68,36,20,1,0,0,0,137,208,41,252,248,15,134,244,3,137,197, 800 252,233,244,3,248,7,137,149,233,137,141,233,137,116,36,24,41,215,139,84,36,
787 193,252,237,3,131,197,1,137,108,36,20,139,108,36,48,1,200,59,133,233,15,135, 801 20,131,252,234,1,137,252,233,232,251,1,0,139,149,233,139,141,233,1,215,252,
788 244,253,248,6,255,139,71,252,248,137,1,139,71,252,252,131,199,8,137,65,4, 802 233,244,6,255,193,225,3,255,248,1,139,114,252,252,137,68,36,20,252,247,198,
789 131,193,8,57,215,15,130,244,6,252,233,244,3,248,7,137,149,233,137,141,233, 803 237,15,133,244,253,255,248,13,137,215,131,232,1,15,132,244,249,248,2,139,
790 137,116,36,24,41,215,139,84,36,20,131,252,234,1,137,252,233,232,251,1,0,139, 804 44,15,137,111,252,248,139,108,15,4,137,111,252,252,131,199,8,131,232,1,15,
791 149,233,139,141,233,1,215,252,233,244,6,255,193,225,3,255,248,1,139,114,252, 805 133,244,2,248,3,139,68,36,20,15,182,110,252,255,248,5,57,197,15,135,244,252,
792 252,137,68,36,20,252,247,198,237,15,133,244,253,255,248,13,137,215,131,232, 806 255,139,108,10,4,137,106,252,252,139,44,10,137,106,252,248,255,248,5,56,70,
793 1,15,132,244,249,248,2,139,44,15,137,111,252,248,139,108,15,4,137,111,252, 807 252,255,15,135,244,252,255,15,182,78,252,253,252,247,209,141,20,202,139,122,
794 252,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,20,15,182,110,252,255, 808 252,248,139,191,233,139,191,233,139,6,15,182,204,15,182,232,131,198,4,193,
795 248,5,57,197,15,135,244,252,255,139,108,10,4,137,106,252,252,139,44,10,137, 809 232,16,252,255,36,171,248,6,255,199,71,252,252,237,131,199,8,255,199,68,194,
796 106,252,248,255,248,5,56,70,252,255,15,135,244,252,255,15,182,78,252,253, 810 252,244,237,255,131,192,1,252,233,244,5,248,7,141,174,233,252,247,197,237,
797 252,247,209,141,20,202,139,122,252,248,139,191,233,139,191,233,139,6,15,182, 811 15,133,244,14,41,252,234,255,1,252,233,255,137,252,245,209,252,237,129,229,
798 204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,6,255,199,71,252,252, 812 239,102,129,172,253,43,233,238,15,130,244,149,255,141,12,202,255,129,121,
799 237,131,199,8,255,199,68,194,252,244,237,255,131,192,1,252,233,244,5,248, 813 253,4,239,15,133,244,255,255,129,121,253,12,239,15,133,244,61,129,121,253,
800 7,141,174,233,252,247,197,237,15,133,244,14,41,252,234,255,1,252,233,255, 814 20,239,15,133,244,61,139,41,131,121,16,0,15,140,244,251,255,129,121,253,12,
801 137,252,245,209,252,237,129,229,239,102,129,172,253,43,233,238,15,130,244, 815 239,15,133,244,165,129,121,253,20,239,15,133,244,165,255,139,105,16,133,252,
802 148,255,141,12,202,255,129,121,253,4,239,15,133,244,255,255,129,121,253,12, 816 237,15,136,244,251,3,41,15,128,244,247,137,41,255,59,105,8,199,65,28,237,
803 239,15,133,244,60,129,121,253,20,239,15,133,244,60,139,41,131,121,16,0,15, 817 137,105,24,255,15,142,244,253,248,1,248,6,141,180,253,134,233,255,141,180,
804 140,244,251,255,129,121,253,12,239,15,133,244,164,129,121,253,20,239,15,133, 818 253,134,233,15,183,70,252,254,15,142,245,248,1,248,6,255,15,143,244,253,248,
805 244,164,255,139,105,16,133,252,237,15,136,244,251,3,41,15,128,244,247,137, 819 6,141,180,253,134,233,248,1,255,248,7,139,6,15,182,204,15,182,232,131,198,
806 41,255,59,105,8,199,65,28,237,137,105,24,255,15,142,244,253,248,1,248,6,141, 820 4,193,232,16,252,255,36,171,248,5,255,3,41,15,128,244,1,137,41,255,15,141,
807 180,253,134,233,255,141,180,253,134,233,15,183,70,252,254,15,142,245,248, 821 244,7,255,141,180,253,134,233,15,183,70,252,254,15,141,245,255,15,140,244,
808 1,248,6,255,15,143,244,253,248,6,141,180,253,134,233,248,1,255,248,7,139, 822 7,255,252,233,244,6,248,9,255,129,121,253,4,239,255,15,131,244,61,129,121,
809 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,5,255,3,41, 823 253,12,239,15,131,244,61,255,129,121,253,12,239,15,131,244,165,129,121,253,
810 15,128,244,1,137,41,255,15,141,244,7,255,141,180,253,134,233,15,183,70,252, 824 20,239,15,131,244,165,255,139,105,20,255,129,252,253,239,15,131,244,61,255,
811 254,15,141,245,255,15,140,244,7,255,252,233,244,6,248,9,255,129,121,253,4, 825 252,242,15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,
812 239,255,15,131,244,60,129,121,253,12,239,15,131,244,60,255,129,121,253,12, 826 1,133,252,237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,248,1,252,
813 239,15,131,244,164,129,121,253,20,239,15,131,244,164,255,139,105,20,255,129, 827 242,15,17,65,24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,
814 252,253,239,15,131,244,60,255,252,242,15,16,1,252,242,15,16,73,8,255,252, 828 237,15,136,244,247,255,221,81,24,15,140,244,247,255,217,201,248,1,255,15,
815 242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244,249,255,15,140,244, 829 183,70,252,254,255,15,131,244,7,255,15,131,244,248,141,180,253,134,233,255,
816 249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221,65,8,221,1,255,220, 830 141,180,253,134,233,15,183,70,252,254,15,131,245,255,15,130,244,7,255,15,
817 65,16,221,17,221,81,24,133,252,237,15,136,244,247,255,221,81,24,15,140,244, 831 130,244,248,141,180,253,134,233,255,248,3,102,15,46,193,252,233,244,1,255,
818 247,255,217,201,248,1,255,15,183,70,252,254,255,15,131,244,7,255,15,131,244, 832 141,12,202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252,252,139,
819 248,141,180,253,134,233,255,141,180,253,134,233,15,183,70,252,254,15,131, 833 41,137,105,252,248,252,233,245,255,141,180,253,134,233,139,1,137,105,252,
820 245,255,15,130,244,7,255,15,130,244,248,141,180,253,134,233,255,248,3,102, 834 252,137,65,252,248,255,139,139,233,139,4,129,139,128,233,139,108,36,48,137,
821 15,46,193,252,233,244,1,255,141,12,202,139,105,4,129,252,253,239,15,132,244, 835 147,233,137,171,233,252,255,224,255,141,180,253,134,233,139,6,15,182,204,
822 247,255,137,105,252,252,139,41,137,105,252,248,252,233,245,255,141,180,253, 836 15,182,232,131,198,4,193,232,16,252,255,36,171,255,137,252,245,209,252,237,
823 134,233,139,1,137,105,252,252,137,65,252,248,255,139,139,233,139,4,129,139, 837 129,229,239,102,129,172,253,43,233,238,15,130,244,151,255,139,190,233,139,
824 128,233,139,108,36,48,137,147,233,137,171,233,252,255,224,255,141,180,253, 838 108,36,48,141,12,202,59,141,233,15,135,244,24,15,182,142,233,57,200,15,134,
825 134,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255, 839 244,249,248,2,255,15,183,70,252,254,252,233,245,255,248,3,199,68,194,252,
826 137,252,245,209,252,237,129,229,239,102,129,172,253,43,233,238,15,130,244, 840 252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,255,141,44,197,237,141,
827 150,255,139,190,233,139,108,36,48,141,12,202,59,141,233,15,135,244,24,15, 841 4,194,139,122,252,248,137,104,252,252,137,120,252,248,139,108,36,48,141,12,
828 182,142,233,57,200,15,134,244,249,248,2,255,15,183,70,252,254,252,233,245, 842 200,59,141,233,15,135,244,23,137,209,137,194,15,182,174,233,133,252,237,15,
829 255,248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,244, 843 132,244,248,248,1,131,193,8,57,209,15,131,244,249,139,121,252,248,137,56,
830 2,255,141,44,197,237,141,4,194,139,122,252,248,137,104,252,252,137,120,252, 844 139,121,252,252,137,120,4,131,192,8,199,65,252,252,237,131,252,237,1,15,133,
831 248,139,108,36,48,141,12,200,59,141,233,15,135,244,23,137,209,137,194,15, 845 244,1,248,2,255,139,190,233,139,6,15,182,204,15,182,232,131,198,4,193,232,
832 182,174,233,133,252,237,15,132,244,248,248,1,131,193,8,57,209,15,131,244, 846 16,252,255,36,171,255,248,3,199,64,4,237,131,192,8,131,252,237,1,15,133,244,
833 249,139,121,252,248,137,56,139,121,252,252,137,120,4,131,192,8,199,65,252, 847 3,252,233,244,2,255,139,106,252,248,139,189,233,139,108,36,48,141,68,194,
834 252,237,131,252,237,1,15,133,244,1,248,2,255,139,190,233,139,6,15,182,204, 848 252,248,137,149,233,141,136,233,59,141,233,137,133,233,255,137,44,36,255,
835 15,182,232,131,198,4,193,232,16,252,255,36,171,255,248,3,199,64,4,237,131, 849 137,124,36,4,137,44,36,255,15,135,244,22,199,131,233,237,255,252,255,215,
836 192,8,131,252,237,1,15,133,244,3,252,233,244,2,255,139,106,252,248,139,189, 850 255,252,255,147,233,255,199,131,233,237,139,149,233,141,12,194,252,247,217,
837 233,139,108,36,48,141,68,194,252,248,137,149,233,141,136,233,59,141,233,137, 851 3,141,233,139,114,252,252,252,233,244,12,255,254,0
838 133,233,255,137,44,36,255,137,124,36,4,137,44,36,255,15,135,244,22,199,131,
839 233,237,255,252,255,215,255,252,255,147,233,255,199,131,233,237,139,149,233,
840 141,12,194,252,247,217,3,141,233,139,114,252,252,252,233,244,12,255,254,0
841}; 852};
842 853
843enum { 854enum {
@@ -863,6 +874,7 @@ enum {
863 GLOB_vmeta_call, 874 GLOB_vmeta_call,
864 GLOB_vm_call_dispatch_f, 875 GLOB_vm_call_dispatch_f,
865 GLOB_vm_cpcall, 876 GLOB_vm_cpcall,
877 GLOB_cont_ffi_callback,
866 GLOB_vm_call_tail, 878 GLOB_vm_call_tail,
867 GLOB_cont_cat, 879 GLOB_cont_cat,
868 GLOB_cont_ra, 880 GLOB_cont_ra,
@@ -996,6 +1008,7 @@ enum {
996 GLOB_vm_foldarith, 1008 GLOB_vm_foldarith,
997 GLOB_vm_cpuid, 1009 GLOB_vm_cpuid,
998 GLOB_assert_bad_for_arg_type, 1010 GLOB_assert_bad_for_arg_type,
1011 GLOB_vm_ffi_callback,
999 GLOB_vm_ffi_call, 1012 GLOB_vm_ffi_call,
1000 GLOB_BC_MODVN_Z, 1013 GLOB_BC_MODVN_Z,
1001 GLOB_BC_TGETS_Z, 1014 GLOB_BC_TGETS_Z,
@@ -1025,6 +1038,7 @@ static const char *const globnames[] = {
1025 "vmeta_call", 1038 "vmeta_call",
1026 "vm_call_dispatch_f", 1039 "vm_call_dispatch_f",
1027 "vm_cpcall", 1040 "vm_cpcall",
1041 "cont_ffi_callback",
1028 "vm_call_tail", 1042 "vm_call_tail",
1029 "cont_cat", 1043 "cont_cat",
1030 "cont_ra", 1044 "cont_ra",
@@ -1158,6 +1172,7 @@ static const char *const globnames[] = {
1158 "vm_foldarith", 1172 "vm_foldarith",
1159 "vm_cpuid", 1173 "vm_cpuid",
1160 "assert_bad_for_arg_type", 1174 "assert_bad_for_arg_type",
1175 "vm_ffi_callback",
1161 "vm_ffi_call@4", 1176 "vm_ffi_call@4",
1162 "BC_MODVN_Z", 1177 "BC_MODVN_Z",
1163 "BC_TGETS_Z", 1178 "BC_TGETS_Z",
@@ -1192,6 +1207,8 @@ static const char *const extnames[] = {
1192 "lj_dispatch_call@8", 1207 "lj_dispatch_call@8",
1193 "lj_trace_exit@8", 1208 "lj_trace_exit@8",
1194 "lj_err_throw@8", 1209 "lj_err_throw@8",
1210 "lj_ccallback_enter@8",
1211 "lj_ccallback_leave@8",
1195 "lj_meta_cat", 1212 "lj_meta_cat",
1196 "lj_gc_barrieruv@8", 1213 "lj_gc_barrieruv@8",
1197 "lj_func_closeuv@8", 1214 "lj_func_closeuv@8",
@@ -1232,762 +1249,780 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1232 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); 1249 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);
1233 dasm_put(Dst, 495, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base)); 1250 dasm_put(Dst, 495, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base));
1234 dasm_put(Dst, 573, Dt1(->top), LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL); 1251 dasm_put(Dst, 573, Dt1(->top), LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL);
1235 dasm_put(Dst, 753, Dt7(->pc), PC2PROTO(k), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB); 1252#if LJ_HASFFI
1236 dasm_put(Dst, 875); 1253#endif
1254 dasm_put(Dst, 743);
1255#if LJ_HASFFI
1256 dasm_put(Dst, 748);
1257#endif
1258 dasm_put(Dst, 757, Dt7(->pc), PC2PROTO(k));
1259#if LJ_HASFFI
1260 dasm_put(Dst, 771);
1261#endif
1262 dasm_put(Dst, 792, LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB);
1237 if (LJ_DUALNUM) { 1263 if (LJ_DUALNUM) {
1238 dasm_put(Dst, 881, LJ_TISNUM); 1264 dasm_put(Dst, 890, LJ_TISNUM);
1239 } else if (sse) { 1265 } else if (sse) {
1240 dasm_put(Dst, 891); 1266 dasm_put(Dst, 900);
1241 } else { 1267 } else {
1242 dasm_put(Dst, 904); 1268 dasm_put(Dst, 913);
1243 } 1269 }
1244 dasm_put(Dst, 917, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET); 1270 dasm_put(Dst, 926, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET);
1245 dasm_put(Dst, 1069, DISPATCH_GL(tmptv), LJ_TTAB); 1271 dasm_put(Dst, 1078, DISPATCH_GL(tmptv), LJ_TTAB);
1246 if (LJ_DUALNUM) { 1272 if (LJ_DUALNUM) {
1247 dasm_put(Dst, 881, LJ_TISNUM); 1273 dasm_put(Dst, 890, LJ_TISNUM);
1248 } else if (sse) { 1274 } else if (sse) {
1249 dasm_put(Dst, 891); 1275 dasm_put(Dst, 900);
1250 } else { 1276 } else {
1251 dasm_put(Dst, 904); 1277 dasm_put(Dst, 913);
1252 } 1278 }
1253 dasm_put(Dst, 1092, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base)); 1279 dasm_put(Dst, 1101, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base));
1254 dasm_put(Dst, 1286, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base)); 1280 dasm_put(Dst, 1295, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base));
1255 dasm_put(Dst, 1393); 1281 dasm_put(Dst, 1402);
1256#if LJ_HASFFI 1282#if LJ_HASFFI
1257 dasm_put(Dst, 1408, Dt1(->base)); 1283 dasm_put(Dst, 1417, Dt1(->base));
1258#endif 1284#endif
1259 dasm_put(Dst, 1439); 1285 dasm_put(Dst, 1448);
1260#if LJ_DUALNUM 1286#if LJ_DUALNUM
1261 dasm_put(Dst, 1442); 1287 dasm_put(Dst, 1451);
1262#endif 1288#endif
1263 dasm_put(Dst, 1448); 1289 dasm_put(Dst, 1457);
1264#if LJ_DUALNUM 1290#if LJ_DUALNUM
1265 dasm_put(Dst, 875); 1291 dasm_put(Dst, 884);
1266#endif 1292#endif
1267 dasm_put(Dst, 1460); 1293 dasm_put(Dst, 1469);
1268#if LJ_DUALNUM 1294#if LJ_DUALNUM
1269 dasm_put(Dst, 1442); 1295 dasm_put(Dst, 1451);
1270#endif 1296#endif
1271 dasm_put(Dst, 1488, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base)); 1297 dasm_put(Dst, 1497, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base));
1272#ifdef LUAJIT_ENABLE_LUA52COMPAT 1298#ifdef LUAJIT_ENABLE_LUA52COMPAT
1273 dasm_put(Dst, 1598); 1299 dasm_put(Dst, 1607);
1274#else 1300#else
1275 dasm_put(Dst, 1617); 1301 dasm_put(Dst, 1626);
1276#endif 1302#endif
1277 dasm_put(Dst, 1622, Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND); 1303 dasm_put(Dst, 1631, Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND);
1278 dasm_put(Dst, 1811, 1+1, ~LJ_TNUMX); 1304 dasm_put(Dst, 1820, 1+1, ~LJ_TNUMX);
1279 if (cmov) { 1305 if (cmov) {
1280 dasm_put(Dst, 1869); 1306 dasm_put(Dst, 1878);
1281 } else { 1307 } else {
1282 dasm_put(Dst, 1873); 1308 dasm_put(Dst, 1882);
1283 } 1309 }
1284 dasm_put(Dst, 1882, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB); 1310 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);
1285 dasm_put(Dst, 1965, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next), LJ_TNIL); 1311 dasm_put(Dst, 1974, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next), LJ_TNIL);
1286 dasm_put(Dst, 2023, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1); 1312 dasm_put(Dst, 2032, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1);
1287 dasm_put(Dst, 2086, 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)); 1313 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));
1288 dasm_put(Dst, 2158, 2+1, LJ_TTAB, 1+1, LJ_TISNUM); 1314 dasm_put(Dst, 2167, 2+1, LJ_TTAB, 1+1, LJ_TISNUM);
1289 if (LJ_DUALNUM) { 1315 if (LJ_DUALNUM) {
1290 dasm_put(Dst, 2247); 1316 dasm_put(Dst, 2256);
1291 } else { 1317 } else {
1292 dasm_put(Dst, 2264); 1318 dasm_put(Dst, 2273);
1293 } 1319 }
1294 if (sse) { 1320 if (sse) {
1295 dasm_put(Dst, 2269); 1321 dasm_put(Dst, 2278);
1296 } else { 1322 } else {
1297 dasm_put(Dst, 2279); 1323 dasm_put(Dst, 2288);
1298 } 1324 }
1299 dasm_put(Dst, 2286, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1325 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));
1300 dasm_put(Dst, 2352, Dt1(->base)); 1326 dasm_put(Dst, 2361, Dt1(->base));
1301 if (LJ_DUALNUM) { 1327 if (LJ_DUALNUM) {
1302 dasm_put(Dst, 2376); 1328 dasm_put(Dst, 2385);
1303 } else { 1329 } else {
1304 dasm_put(Dst, 2381); 1330 dasm_put(Dst, 2390);
1305 } 1331 }
1306 dasm_put(Dst, 2386, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2); 1332 dasm_put(Dst, 2395, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2);
1307 dasm_put(Dst, 2495, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB); 1333 dasm_put(Dst, 2504, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB);
1308#ifdef LUAJIT_ENABLE_LUA52COMPAT 1334#ifdef LUAJIT_ENABLE_LUA52COMPAT
1309 dasm_put(Dst, 2542, Dt6(->metatable)); 1335 dasm_put(Dst, 2551, Dt6(->metatable));
1310#endif 1336#endif
1311 dasm_put(Dst, 2551, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); 1337 dasm_put(Dst, 2560, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM);
1312 if (LJ_DUALNUM) { 1338 if (LJ_DUALNUM) {
1313 dasm_put(Dst, 2537); 1339 dasm_put(Dst, 2546);
1314 } else { 1340 } else {
1315 dasm_put(Dst, 2264); 1341 dasm_put(Dst, 2273);
1316 } 1342 }
1317 dasm_put(Dst, 2606); 1343 dasm_put(Dst, 2615);
1318 if (LJ_DUALNUM) { 1344 if (LJ_DUALNUM) {
1319 dasm_put(Dst, 2611, LJ_TISNUM); 1345 dasm_put(Dst, 2620, LJ_TISNUM);
1320 } else if (sse) { 1346 } else if (sse) {
1321 dasm_put(Dst, 2627); 1347 dasm_put(Dst, 2636);
1322 } else { 1348 } else {
1323 dasm_put(Dst, 2666); 1349 dasm_put(Dst, 2675);
1324 } 1350 }
1325 dasm_put(Dst, 2684, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); 1351 dasm_put(Dst, 2693, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0);
1326 dasm_put(Dst, 2522, 1+1, LJ_TTAB); 1352 dasm_put(Dst, 2531, 1+1, LJ_TTAB);
1327#ifdef LUAJIT_ENABLE_LUA52COMPAT 1353#ifdef LUAJIT_ENABLE_LUA52COMPAT
1328 dasm_put(Dst, 2542, Dt6(->metatable)); 1354 dasm_put(Dst, 2551, Dt6(->metatable));
1329#endif 1355#endif
1330 dasm_put(Dst, 2765, Dt8(->upvalue[0]), LJ_TFUNC); 1356 dasm_put(Dst, 2774, Dt8(->upvalue[0]), LJ_TFUNC);
1331 if (LJ_DUALNUM) { 1357 if (LJ_DUALNUM) {
1332 dasm_put(Dst, 2786, LJ_TISNUM); 1358 dasm_put(Dst, 2795, LJ_TISNUM);
1333 } else if (sse) { 1359 } else if (sse) {
1334 dasm_put(Dst, 2798); 1360 dasm_put(Dst, 2807);
1335 } else { 1361 } else {
1336 dasm_put(Dst, 2808); 1362 dasm_put(Dst, 2817);
1337 } 1363 }
1338 dasm_put(Dst, 2815, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); 1364 dasm_put(Dst, 2824, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC);
1339 dasm_put(Dst, 2879, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); 1365 dasm_put(Dst, 2888, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top));
1340 dasm_put(Dst, 2967, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1366 dasm_put(Dst, 2976, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1341 dasm_put(Dst, 3068, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); 1367 dasm_put(Dst, 3077, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE);
1342 dasm_put(Dst, 3182, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); 1368 dasm_put(Dst, 3191, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
1343 dasm_put(Dst, 3280, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); 1369 dasm_put(Dst, 3289, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
1344 dasm_put(Dst, 3346, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); 1370 dasm_put(Dst, 3355, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
1345 dasm_put(Dst, 3447, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); 1371 dasm_put(Dst, 3456, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
1346 dasm_put(Dst, 3560, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); 1372 dasm_put(Dst, 3569, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
1347 if (!LJ_DUALNUM) { 1373 if (!LJ_DUALNUM) {
1348 dasm_put(Dst, 3586); 1374 dasm_put(Dst, 3595);
1349 } 1375 }
1350 if (sse) { 1376 if (sse) {
1351 dasm_put(Dst, 3589); 1377 dasm_put(Dst, 3598);
1352 } 1378 }
1353 dasm_put(Dst, 3604, 1+1); 1379 dasm_put(Dst, 3613, 1+1);
1354 if (LJ_DUALNUM) { 1380 if (LJ_DUALNUM) {
1355 dasm_put(Dst, 3615, LJ_TISNUM, LJ_TISNUM); 1381 dasm_put(Dst, 3624, LJ_TISNUM, LJ_TISNUM);
1356 } else { 1382 } else {
1357 dasm_put(Dst, 3695, LJ_TISNUM); 1383 dasm_put(Dst, 3704, LJ_TISNUM);
1358 } 1384 }
1359 if (sse) { 1385 if (sse) {
1360 dasm_put(Dst, 3705); 1386 dasm_put(Dst, 3714);
1361 } else { 1387 } else {
1362 dasm_put(Dst, 3741); 1388 dasm_put(Dst, 3750);
1363 } 1389 }
1364 dasm_put(Dst, 3758, 1+1, FRAME_TYPE, LJ_TNIL); 1390 dasm_put(Dst, 3767, 1+1, FRAME_TYPE, LJ_TNIL);
1365 if (LJ_DUALNUM) { 1391 if (LJ_DUALNUM) {
1366 dasm_put(Dst, 3850, LJ_TISNUM); 1392 dasm_put(Dst, 3859, LJ_TISNUM);
1367 } else { 1393 } else {
1368 dasm_put(Dst, 3695, LJ_TISNUM); 1394 dasm_put(Dst, 3704, LJ_TISNUM);
1369 } 1395 }
1370 if (sse) { 1396 if (sse) {
1371 dasm_put(Dst, 3872);
1372 if (LJ_DUALNUM) {
1373 dasm_put(Dst, 3881); 1397 dasm_put(Dst, 3881);
1398 if (LJ_DUALNUM) {
1399 dasm_put(Dst, 3890);
1374 } 1400 }
1375 dasm_put(Dst, 2274); 1401 dasm_put(Dst, 2283);
1376 } else { 1402 } else {
1377 dasm_put(Dst, 3915); 1403 dasm_put(Dst, 3924);
1378 if (LJ_DUALNUM) { 1404 if (LJ_DUALNUM) {
1379 dasm_put(Dst, 3921); 1405 dasm_put(Dst, 3930);
1380 if (cmov) { 1406 if (cmov) {
1381 dasm_put(Dst, 3944); 1407 dasm_put(Dst, 3953);
1382 } else { 1408 } else {
1383 dasm_put(Dst, 3950); 1409 dasm_put(Dst, 3959);
1384 } 1410 }
1385 dasm_put(Dst, 3957); 1411 dasm_put(Dst, 3966);
1386 } else { 1412 } else {
1387 dasm_put(Dst, 2281); 1413 dasm_put(Dst, 2290);
1388 } 1414 }
1389 } 1415 }
1390 dasm_put(Dst, 3974); 1416 dasm_put(Dst, 3983);
1391 if (LJ_DUALNUM) { 1417 if (LJ_DUALNUM) {
1392 dasm_put(Dst, 3850, LJ_TISNUM); 1418 dasm_put(Dst, 3859, LJ_TISNUM);
1393 } else { 1419 } else {
1394 dasm_put(Dst, 3695, LJ_TISNUM); 1420 dasm_put(Dst, 3704, LJ_TISNUM);
1395 } 1421 }
1396 if (sse) { 1422 if (sse) {
1397 dasm_put(Dst, 3977); 1423 dasm_put(Dst, 3986);
1398 if (LJ_DUALNUM) { 1424 if (LJ_DUALNUM) {
1399 dasm_put(Dst, 3881); 1425 dasm_put(Dst, 3890);
1400 } 1426 }
1401 dasm_put(Dst, 2274); 1427 dasm_put(Dst, 2283);
1402 } else { 1428 } else {
1403 dasm_put(Dst, 3986); 1429 dasm_put(Dst, 3995);
1404 if (LJ_DUALNUM) { 1430 if (LJ_DUALNUM) {
1405 dasm_put(Dst, 3921); 1431 dasm_put(Dst, 3930);
1406 if (cmov) { 1432 if (cmov) {
1407 dasm_put(Dst, 3944); 1433 dasm_put(Dst, 3953);
1408 } else { 1434 } else {
1409 dasm_put(Dst, 3950); 1435 dasm_put(Dst, 3959);
1410 } 1436 }
1411 dasm_put(Dst, 3957); 1437 dasm_put(Dst, 3966);
1412 } else { 1438 } else {
1413 dasm_put(Dst, 2281); 1439 dasm_put(Dst, 2290);
1414 } 1440 }
1415 } 1441 }
1416 if (sse) { 1442 if (sse) {
1417 dasm_put(Dst, 3992, 1+1, LJ_TISNUM); 1443 dasm_put(Dst, 4001, 1+1, LJ_TISNUM);
1418 } else { 1444 } else {
1419 dasm_put(Dst, 4021, 1+1, LJ_TISNUM); 1445 dasm_put(Dst, 4030, 1+1, LJ_TISNUM);
1420 } 1446 }
1421 dasm_put(Dst, 4050, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1447 dasm_put(Dst, 4059, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1422 dasm_put(Dst, 4119, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1448 dasm_put(Dst, 4128, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1423 dasm_put(Dst, 4176, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1449 dasm_put(Dst, 4185, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1424 dasm_put(Dst, 4239, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1450 dasm_put(Dst, 4248, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1425 dasm_put(Dst, 4329); 1451 dasm_put(Dst, 4338);
1426 if (sse) { 1452 if (sse) {
1427 dasm_put(Dst, 4341, 1+1, LJ_TISNUM); 1453 dasm_put(Dst, 4350, 1+1, LJ_TISNUM);
1428 } else { 1454 } else {
1429 dasm_put(Dst, 4372, 1+1, LJ_TISNUM); 1455 dasm_put(Dst, 4381, 1+1, LJ_TISNUM);
1430 } 1456 }
1431 dasm_put(Dst, 4397); 1457 dasm_put(Dst, 4406);
1432 if (sse) { 1458 if (sse) {
1433 dasm_put(Dst, 4411, 1+1, LJ_TISNUM); 1459 dasm_put(Dst, 4420, 1+1, LJ_TISNUM);
1434 } else { 1460 } else {
1435 dasm_put(Dst, 4442, 1+1, LJ_TISNUM); 1461 dasm_put(Dst, 4451, 1+1, LJ_TISNUM);
1436 } 1462 }
1437 dasm_put(Dst, 4467); 1463 dasm_put(Dst, 4476);
1438 if (sse) { 1464 if (sse) {
1439 dasm_put(Dst, 4481, 1+1, LJ_TISNUM); 1465 dasm_put(Dst, 4490, 1+1, LJ_TISNUM);
1440 } else { 1466 } else {
1441 dasm_put(Dst, 4512, 1+1, LJ_TISNUM); 1467 dasm_put(Dst, 4521, 1+1, LJ_TISNUM);
1442 } 1468 }
1443 dasm_put(Dst, 4537); 1469 dasm_put(Dst, 4546);
1444 if (sse) { 1470 if (sse) {
1445 dasm_put(Dst, 4553, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1471 dasm_put(Dst, 4562, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1446 } else { 1472 } else {
1447 dasm_put(Dst, 4592, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1473 dasm_put(Dst, 4601, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1448 } 1474 }
1449 dasm_put(Dst, 4625, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); 1475 dasm_put(Dst, 4634, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM);
1450 dasm_put(Dst, 4690, 1+1, LJ_TISNUM); 1476 dasm_put(Dst, 4699, 1+1, LJ_TISNUM);
1451 if (sse) { 1477 if (sse) {
1452 dasm_put(Dst, 4789); 1478 dasm_put(Dst, 4798);
1453 } else { 1479 } else {
1454 dasm_put(Dst, 4795); 1480 dasm_put(Dst, 4804);
1455 } 1481 }
1456 dasm_put(Dst, 4804); 1482 dasm_put(Dst, 4813);
1457 if (sse) { 1483 if (sse) {
1458 dasm_put(Dst, 4829); 1484 dasm_put(Dst, 4838);
1459 } else { 1485 } else {
1460 dasm_put(Dst, 4835); 1486 dasm_put(Dst, 4844);
1461 } 1487 }
1462 dasm_put(Dst, 4838, 1+2); 1488 dasm_put(Dst, 4847, 1+2);
1463 if (sse) { 1489 if (sse) {
1464 dasm_put(Dst, 4847); 1490 dasm_put(Dst, 4856);
1465 } else { 1491 } else {
1466 dasm_put(Dst, 4855); 1492 dasm_put(Dst, 4864);
1467 } 1493 }
1468 dasm_put(Dst, 4863); 1494 dasm_put(Dst, 4872);
1469 if (sse) { 1495 if (sse) {
1470 dasm_put(Dst, 4866); 1496 dasm_put(Dst, 4875);
1471 } else { 1497 } else {
1472 dasm_put(Dst, 4898); 1498 dasm_put(Dst, 4907);
1473 } 1499 }
1474 dasm_put(Dst, 4917); 1500 dasm_put(Dst, 4926);
1475 if (sse) { 1501 if (sse) {
1476 dasm_put(Dst, 4933, 1+1, LJ_TISNUM); 1502 dasm_put(Dst, 4942, 1+1, LJ_TISNUM);
1477 } else { 1503 } else {
1478 dasm_put(Dst, 4958, 1+1, LJ_TISNUM); 1504 dasm_put(Dst, 4967, 1+1, LJ_TISNUM);
1479 } 1505 }
1480 dasm_put(Dst, 4980); 1506 dasm_put(Dst, 4989);
1481 if (sse) { 1507 if (sse) {
1482 dasm_put(Dst, 5002); 1508 dasm_put(Dst, 5011);
1483 } else { 1509 } else {
1484 dasm_put(Dst, 5028); 1510 dasm_put(Dst, 5037);
1485 } 1511 }
1486 dasm_put(Dst, 5045, 1+2); 1512 dasm_put(Dst, 5054, 1+2);
1487 if (sse) { 1513 if (sse) {
1488 dasm_put(Dst, 5085); 1514 dasm_put(Dst, 5094);
1489 } else { 1515 } else {
1490 dasm_put(Dst, 5093); 1516 dasm_put(Dst, 5102);
1491 } 1517 }
1492 dasm_put(Dst, 5103, 2+1, LJ_TISNUM, LJ_TISNUM); 1518 dasm_put(Dst, 5112, 2+1, LJ_TISNUM, LJ_TISNUM);
1493 if (sse) { 1519 if (sse) {
1494 dasm_put(Dst, 5155, 2+1, LJ_TISNUM, LJ_TISNUM); 1520 dasm_put(Dst, 5164, 2+1, LJ_TISNUM, LJ_TISNUM);
1495 } else { 1521 } else {
1496 dasm_put(Dst, 5202, 2+1, LJ_TISNUM, LJ_TISNUM); 1522 dasm_put(Dst, 5211, 2+1, LJ_TISNUM, LJ_TISNUM);
1497 } 1523 }
1498 dasm_put(Dst, 5243, LJ_TISNUM); 1524 dasm_put(Dst, 5252, LJ_TISNUM);
1499 if (LJ_DUALNUM) { 1525 if (LJ_DUALNUM) {
1500 dasm_put(Dst, 5256, LJ_TISNUM); 1526 dasm_put(Dst, 5265, LJ_TISNUM);
1501 if (sse) { 1527 if (sse) {
1502 dasm_put(Dst, 4789); 1528 dasm_put(Dst, 4798);
1503 } else { 1529 } else {
1504 dasm_put(Dst, 4795); 1530 dasm_put(Dst, 4804);
1505 } 1531 }
1506 dasm_put(Dst, 5306); 1532 dasm_put(Dst, 5315);
1507 } else { 1533 } else {
1508 dasm_put(Dst, 2264); 1534 dasm_put(Dst, 2273);
1509 } 1535 }
1510 if (sse) { 1536 if (sse) {
1511 dasm_put(Dst, 5317, LJ_TISNUM); 1537 dasm_put(Dst, 5326, LJ_TISNUM);
1512 if (LJ_DUALNUM) { 1538 if (LJ_DUALNUM) {
1513 dasm_put(Dst, 5338); 1539 dasm_put(Dst, 5347);
1514 } else { 1540 } else {
1515 dasm_put(Dst, 2264); 1541 dasm_put(Dst, 2273);
1516 } 1542 }
1517 dasm_put(Dst, 5359); 1543 dasm_put(Dst, 5368);
1518 } else { 1544 } else {
1519 dasm_put(Dst, 5384, LJ_TISNUM); 1545 dasm_put(Dst, 5393, LJ_TISNUM);
1520 if (LJ_DUALNUM) { 1546 if (LJ_DUALNUM) {
1521 dasm_put(Dst, 5402); 1547 dasm_put(Dst, 5411);
1522 } else { 1548 } else {
1523 dasm_put(Dst, 5420); 1549 dasm_put(Dst, 5429);
1524 } 1550 }
1525 dasm_put(Dst, 5425); 1551 dasm_put(Dst, 5434);
1526 if (cmov) { 1552 if (cmov) {
1527 dasm_put(Dst, 5435); 1553 dasm_put(Dst, 5444);
1528 } else { 1554 } else {
1529 dasm_put(Dst, 5443); 1555 dasm_put(Dst, 5452);
1530 } 1556 }
1531 dasm_put(Dst, 5376); 1557 dasm_put(Dst, 5385);
1532 } 1558 }
1533 dasm_put(Dst, 5464, LJ_TISNUM); 1559 dasm_put(Dst, 5473, LJ_TISNUM);
1534 if (LJ_DUALNUM) { 1560 if (LJ_DUALNUM) {
1535 dasm_put(Dst, 5477, LJ_TISNUM); 1561 dasm_put(Dst, 5486, LJ_TISNUM);
1536 if (sse) { 1562 if (sse) {
1537 dasm_put(Dst, 4789); 1563 dasm_put(Dst, 4798);
1538 } else { 1564 } else {
1539 dasm_put(Dst, 4795); 1565 dasm_put(Dst, 4804);
1540 } 1566 }
1541 dasm_put(Dst, 5306); 1567 dasm_put(Dst, 5315);
1542 } else { 1568 } else {
1543 dasm_put(Dst, 2264); 1569 dasm_put(Dst, 2273);
1544 } 1570 }
1545 if (sse) { 1571 if (sse) {
1546 dasm_put(Dst, 5317, LJ_TISNUM); 1572 dasm_put(Dst, 5326, LJ_TISNUM);
1547 if (LJ_DUALNUM) { 1573 if (LJ_DUALNUM) {
1548 dasm_put(Dst, 5338); 1574 dasm_put(Dst, 5347);
1549 } else { 1575 } else {
1550 dasm_put(Dst, 2264); 1576 dasm_put(Dst, 2273);
1551 } 1577 }
1552 dasm_put(Dst, 5527); 1578 dasm_put(Dst, 5536);
1553 } else { 1579 } else {
1554 dasm_put(Dst, 5384, LJ_TISNUM); 1580 dasm_put(Dst, 5393, LJ_TISNUM);
1555 if (LJ_DUALNUM) { 1581 if (LJ_DUALNUM) {
1556 dasm_put(Dst, 5402); 1582 dasm_put(Dst, 5411);
1557 } else { 1583 } else {
1558 dasm_put(Dst, 5420); 1584 dasm_put(Dst, 5429);
1559 } 1585 }
1560 dasm_put(Dst, 5425); 1586 dasm_put(Dst, 5434);
1561 if (cmov) { 1587 if (cmov) {
1562 dasm_put(Dst, 5552); 1588 dasm_put(Dst, 5561);
1563 } else { 1589 } else {
1564 dasm_put(Dst, 5560); 1590 dasm_put(Dst, 5569);
1565 } 1591 }
1566 dasm_put(Dst, 5376); 1592 dasm_put(Dst, 5385);
1567 } 1593 }
1568 if (!sse) { 1594 if (!sse) {
1569 dasm_put(Dst, 5581); 1595 dasm_put(Dst, 5590);
1570 } 1596 }
1571 dasm_put(Dst, 5590, 1+1, LJ_TSTR); 1597 dasm_put(Dst, 5599, 1+1, LJ_TSTR);
1572 if (LJ_DUALNUM) { 1598 if (LJ_DUALNUM) {
1573 dasm_put(Dst, 5612, Dt5(->len)); 1599 dasm_put(Dst, 5621, Dt5(->len));
1574 } else if (sse) { 1600 } else if (sse) {
1575 dasm_put(Dst, 5620, Dt5(->len)); 1601 dasm_put(Dst, 5629, Dt5(->len));
1576 } else { 1602 } else {
1577 dasm_put(Dst, 5631, Dt5(->len)); 1603 dasm_put(Dst, 5640, Dt5(->len));
1578 } 1604 }
1579 dasm_put(Dst, 5639, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); 1605 dasm_put(Dst, 5648, 1+1, LJ_TSTR, Dt5(->len), Dt5([1]));
1580 if (LJ_DUALNUM) { 1606 if (LJ_DUALNUM) {
1581 dasm_put(Dst, 3969); 1607 dasm_put(Dst, 3978);
1582 } else if (sse) { 1608 } else if (sse) {
1583 dasm_put(Dst, 5677); 1609 dasm_put(Dst, 5686);
1584 } else { 1610 } else {
1585 dasm_put(Dst, 5687); 1611 dasm_put(Dst, 5696);
1586 } 1612 }
1587 dasm_put(Dst, 5700, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); 1613 dasm_put(Dst, 5709, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM);
1588 if (LJ_DUALNUM) { 1614 if (LJ_DUALNUM) {
1589 dasm_put(Dst, 5731); 1615 dasm_put(Dst, 5740);
1590 } else if (sse) { 1616 } else if (sse) {
1591 dasm_put(Dst, 5754); 1617 dasm_put(Dst, 5763);
1592 } else { 1618 } else {
1593 dasm_put(Dst, 5780); 1619 dasm_put(Dst, 5789);
1594 } 1620 }
1595 dasm_put(Dst, 5804, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); 1621 dasm_put(Dst, 5813, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM);
1596 if (LJ_DUALNUM) { 1622 if (LJ_DUALNUM) {
1597 dasm_put(Dst, 5907); 1623 dasm_put(Dst, 5916);
1598 } else if (sse) { 1624 } else if (sse) {
1599 dasm_put(Dst, 5919); 1625 dasm_put(Dst, 5928);
1600 } else { 1626 } else {
1601 dasm_put(Dst, 5934); 1627 dasm_put(Dst, 5943);
1602 } 1628 }
1603 dasm_put(Dst, 5946, LJ_TSTR, LJ_TISNUM); 1629 dasm_put(Dst, 5955, LJ_TSTR, LJ_TISNUM);
1604 if (LJ_DUALNUM) { 1630 if (LJ_DUALNUM) {
1605 dasm_put(Dst, 2537); 1631 dasm_put(Dst, 2546);
1606 } else { 1632 } else {
1607 dasm_put(Dst, 2264); 1633 dasm_put(Dst, 2273);
1608 } 1634 }
1609 dasm_put(Dst, 5963, Dt5(->len)); 1635 dasm_put(Dst, 5972, Dt5(->len));
1610 if (LJ_DUALNUM) { 1636 if (LJ_DUALNUM) {
1611 dasm_put(Dst, 5973); 1637 dasm_put(Dst, 5982);
1612 } else if (sse) { 1638 } else if (sse) {
1613 dasm_put(Dst, 5977); 1639 dasm_put(Dst, 5986);
1614 } else { 1640 } else {
1615 dasm_put(Dst, 5984); 1641 dasm_put(Dst, 5993);
1616 } 1642 }
1617 dasm_put(Dst, 5996, sizeof(GCstr)-1); 1643 dasm_put(Dst, 6005, sizeof(GCstr)-1);
1618 dasm_put(Dst, 6071, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1644 dasm_put(Dst, 6080, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1619 dasm_put(Dst, 6130, LJ_TSTR, LJ_TISNUM); 1645 dasm_put(Dst, 6139, LJ_TSTR, LJ_TISNUM);
1620 if (LJ_DUALNUM) { 1646 if (LJ_DUALNUM) {
1621 dasm_put(Dst, 6147); 1647 dasm_put(Dst, 6156);
1622 } else if (sse) { 1648 } else if (sse) {
1623 dasm_put(Dst, 6155); 1649 dasm_put(Dst, 6164);
1624 } else { 1650 } else {
1625 dasm_put(Dst, 6166); 1651 dasm_put(Dst, 6175);
1626 } 1652 }
1627 dasm_put(Dst, 6182, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); 1653 dasm_put(Dst, 6191, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1);
1628 dasm_put(Dst, 6247, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1654 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));
1629 dasm_put(Dst, 6310, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); 1655 dasm_put(Dst, 6319, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
1630 dasm_put(Dst, 6381, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); 1656 dasm_put(Dst, 6390, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1);
1631 dasm_put(Dst, 6466, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1657 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));
1632 dasm_put(Dst, 6536, 1+1, LJ_TTAB); 1658 dasm_put(Dst, 6545, 1+1, LJ_TTAB);
1633 if (LJ_DUALNUM) { 1659 if (LJ_DUALNUM) {
1634 dasm_put(Dst, 6604); 1660 dasm_put(Dst, 6613);
1635 } else if (sse) { 1661 } else if (sse) {
1636 dasm_put(Dst, 6611); 1662 dasm_put(Dst, 6620);
1637 } else { 1663 } else {
1638 dasm_put(Dst, 6621); 1664 dasm_put(Dst, 6630);
1639 } 1665 }
1640 dasm_put(Dst, 6632, 1+1, LJ_TISNUM); 1666 dasm_put(Dst, 6641, 1+1, LJ_TISNUM);
1641 if (LJ_DUALNUM) { 1667 if (LJ_DUALNUM) {
1642 dasm_put(Dst, 6648); 1668 dasm_put(Dst, 6657);
1643 } else { 1669 } else {
1644 dasm_put(Dst, 2264); 1670 dasm_put(Dst, 2273);
1645 } 1671 }
1646 if (sse) { 1672 if (sse) {
1647 dasm_put(Dst, 6665); 1673 dasm_put(Dst, 6674);
1648 } else { 1674 } else {
1649 dasm_put(Dst, 6694); 1675 dasm_put(Dst, 6703);
1650 } 1676 }
1651 dasm_put(Dst, 111); 1677 dasm_put(Dst, 111);
1652 if (LJ_DUALNUM || sse) { 1678 if (LJ_DUALNUM || sse) {
1653 if (!sse) { 1679 if (!sse) {
1654 dasm_put(Dst, 6712); 1680 dasm_put(Dst, 6721);
1655 } 1681 }
1656 dasm_put(Dst, 6716); 1682 dasm_put(Dst, 6725);
1657 } else { 1683 } else {
1658 dasm_put(Dst, 6624); 1684 dasm_put(Dst, 6633);
1659 } 1685 }
1660 dasm_put(Dst, 6721, 1+1); 1686 dasm_put(Dst, 6730, 1+1);
1661 if (sse) { 1687 if (sse) {
1662 dasm_put(Dst, 6732); 1688 dasm_put(Dst, 6741);
1663 } else { 1689 } else {
1664 dasm_put(Dst, 6747); 1690 dasm_put(Dst, 6756);
1665 } 1691 }
1666 dasm_put(Dst, 2241, LJ_TISNUM); 1692 dasm_put(Dst, 2250, LJ_TISNUM);
1667 if (LJ_DUALNUM) { 1693 if (LJ_DUALNUM) {
1668 dasm_put(Dst, 6756); 1694 dasm_put(Dst, 6765);
1669 } else { 1695 } else {
1670 dasm_put(Dst, 2264); 1696 dasm_put(Dst, 2273);
1671 } 1697 }
1672 if (sse) { 1698 if (sse) {
1673 dasm_put(Dst, 6773); 1699 dasm_put(Dst, 6782);
1674 } else { 1700 } else {
1675 dasm_put(Dst, 6788); 1701 dasm_put(Dst, 6797);
1676 } 1702 }
1677 dasm_put(Dst, 6801, LJ_TISNUM); 1703 dasm_put(Dst, 6810, LJ_TISNUM);
1678 if (LJ_DUALNUM) { 1704 if (LJ_DUALNUM) {
1679 dasm_put(Dst, 6826); 1705 dasm_put(Dst, 6835);
1680 } else { 1706 } else {
1681 dasm_put(Dst, 6846); 1707 dasm_put(Dst, 6855);
1682 } 1708 }
1683 if (sse) { 1709 if (sse) {
1684 dasm_put(Dst, 6851); 1710 dasm_put(Dst, 6860);
1685 } else { 1711 } else {
1686 dasm_put(Dst, 6868); 1712 dasm_put(Dst, 6877);
1687 } 1713 }
1688 dasm_put(Dst, 6881, 1+1); 1714 dasm_put(Dst, 6890, 1+1);
1689 if (sse) { 1715 if (sse) {
1690 dasm_put(Dst, 6732); 1716 dasm_put(Dst, 6741);
1691 } else { 1717 } else {
1692 dasm_put(Dst, 6747); 1718 dasm_put(Dst, 6756);
1693 } 1719 }
1694 dasm_put(Dst, 2241, LJ_TISNUM); 1720 dasm_put(Dst, 2250, LJ_TISNUM);
1695 if (LJ_DUALNUM) { 1721 if (LJ_DUALNUM) {
1696 dasm_put(Dst, 6756); 1722 dasm_put(Dst, 6765);
1697 } else { 1723 } else {
1698 dasm_put(Dst, 2264); 1724 dasm_put(Dst, 2273);
1699 } 1725 }
1700 if (sse) { 1726 if (sse) {
1701 dasm_put(Dst, 6773); 1727 dasm_put(Dst, 6782);
1702 } else { 1728 } else {
1703 dasm_put(Dst, 6788); 1729 dasm_put(Dst, 6797);
1704 } 1730 }
1705 dasm_put(Dst, 6801, LJ_TISNUM); 1731 dasm_put(Dst, 6810, LJ_TISNUM);
1706 if (LJ_DUALNUM) { 1732 if (LJ_DUALNUM) {
1707 dasm_put(Dst, 6899); 1733 dasm_put(Dst, 6908);
1708 } else { 1734 } else {
1709 dasm_put(Dst, 6846); 1735 dasm_put(Dst, 6855);
1710 } 1736 }
1711 if (sse) { 1737 if (sse) {
1712 dasm_put(Dst, 6919); 1738 dasm_put(Dst, 6928);
1713 } else { 1739 } else {
1714 dasm_put(Dst, 6936); 1740 dasm_put(Dst, 6945);
1715 } 1741 }
1716 dasm_put(Dst, 6949, 1+1); 1742 dasm_put(Dst, 6958, 1+1);
1717 if (sse) { 1743 if (sse) {
1718 dasm_put(Dst, 6732); 1744 dasm_put(Dst, 6741);
1719 } else { 1745 } else {
1720 dasm_put(Dst, 6747); 1746 dasm_put(Dst, 6756);
1721 } 1747 }
1722 dasm_put(Dst, 2241, LJ_TISNUM); 1748 dasm_put(Dst, 2250, LJ_TISNUM);
1723 if (LJ_DUALNUM) { 1749 if (LJ_DUALNUM) {
1724 dasm_put(Dst, 6756); 1750 dasm_put(Dst, 6765);
1725 } else { 1751 } else {
1726 dasm_put(Dst, 2264); 1752 dasm_put(Dst, 2273);
1727 } 1753 }
1728 if (sse) { 1754 if (sse) {
1729 dasm_put(Dst, 6773); 1755 dasm_put(Dst, 6782);
1730 } else { 1756 } else {
1731 dasm_put(Dst, 6788); 1757 dasm_put(Dst, 6797);
1732 } 1758 }
1733 dasm_put(Dst, 6801, LJ_TISNUM); 1759 dasm_put(Dst, 6810, LJ_TISNUM);
1734 if (LJ_DUALNUM) { 1760 if (LJ_DUALNUM) {
1735 dasm_put(Dst, 6967); 1761 dasm_put(Dst, 6976);
1736 } else { 1762 } else {
1737 dasm_put(Dst, 6846); 1763 dasm_put(Dst, 6855);
1738 } 1764 }
1739 if (sse) { 1765 if (sse) {
1740 dasm_put(Dst, 6987); 1766 dasm_put(Dst, 6996);
1741 } else { 1767 } else {
1742 dasm_put(Dst, 7004); 1768 dasm_put(Dst, 7013);
1743 } 1769 }
1744 dasm_put(Dst, 7017, 1+1, LJ_TISNUM); 1770 dasm_put(Dst, 7026, 1+1, LJ_TISNUM);
1745 if (LJ_DUALNUM) { 1771 if (LJ_DUALNUM) {
1746 dasm_put(Dst, 6756); 1772 dasm_put(Dst, 6765);
1747 } else { 1773 } else {
1748 dasm_put(Dst, 2264); 1774 dasm_put(Dst, 2273);
1749 } 1775 }
1750 if (sse) { 1776 if (sse) {
1751 dasm_put(Dst, 6665); 1777 dasm_put(Dst, 6674);
1752 } else { 1778 } else {
1753 dasm_put(Dst, 7040); 1779 dasm_put(Dst, 7049);
1754 } 1780 }
1755 dasm_put(Dst, 7061, 1+1, LJ_TISNUM); 1781 dasm_put(Dst, 7070, 1+1, LJ_TISNUM);
1756 if (LJ_DUALNUM) { 1782 if (LJ_DUALNUM) {
1757 dasm_put(Dst, 6756); 1783 dasm_put(Dst, 6765);
1758 } else { 1784 } else {
1759 dasm_put(Dst, 2264); 1785 dasm_put(Dst, 2273);
1760 } 1786 }
1761 if (sse) { 1787 if (sse) {
1762 dasm_put(Dst, 6665); 1788 dasm_put(Dst, 6674);
1763 } else { 1789 } else {
1764 dasm_put(Dst, 7040); 1790 dasm_put(Dst, 7049);
1765 } 1791 }
1766 dasm_put(Dst, 7085); 1792 dasm_put(Dst, 7094);
1767 if (LJ_DUALNUM) { 1793 if (LJ_DUALNUM) {
1768 dasm_put(Dst, 6716); 1794 dasm_put(Dst, 6725);
1769 } else if (sse) { 1795 } else if (sse) {
1770 dasm_put(Dst, 7091); 1796 dasm_put(Dst, 7100);
1771 } else { 1797 } else {
1772 dasm_put(Dst, 7103); 1798 dasm_put(Dst, 7112);
1773 } 1799 }
1774 dasm_put(Dst, 7116); 1800 dasm_put(Dst, 7125);
1775 if (LJ_DUALNUM) { 1801 if (LJ_DUALNUM) {
1776 dasm_put(Dst, 7127, 1+1, LJ_TISNUM); 1802 dasm_put(Dst, 7136, 1+1, LJ_TISNUM);
1777 if (LJ_DUALNUM) { 1803 if (LJ_DUALNUM) {
1778 dasm_put(Dst, 6756); 1804 dasm_put(Dst, 6765);
1779 } else { 1805 } else {
1780 dasm_put(Dst, 2264); 1806 dasm_put(Dst, 2273);
1781 } 1807 }
1782 if (sse) { 1808 if (sse) {
1783 dasm_put(Dst, 6665); 1809 dasm_put(Dst, 6674);
1784 } else { 1810 } else {
1785 dasm_put(Dst, 7040); 1811 dasm_put(Dst, 7049);
1786 } 1812 }
1787 dasm_put(Dst, 7143, LJ_TISNUM); 1813 dasm_put(Dst, 7152, LJ_TISNUM);
1788 } else if (sse) { 1814 } else if (sse) {
1789 dasm_put(Dst, 7158, 2+1, LJ_TISNUM, LJ_TISNUM); 1815 dasm_put(Dst, 7167, 2+1, LJ_TISNUM, LJ_TISNUM);
1790 } else { 1816 } else {
1791 dasm_put(Dst, 7230, 2+1, LJ_TISNUM, LJ_TISNUM); 1817 dasm_put(Dst, 7239, 2+1, LJ_TISNUM, LJ_TISNUM);
1792 } 1818 }
1793 dasm_put(Dst, 7294); 1819 dasm_put(Dst, 7303);
1794 if (LJ_DUALNUM) { 1820 if (LJ_DUALNUM) {
1795 dasm_put(Dst, 7301, 1+1, LJ_TISNUM); 1821 dasm_put(Dst, 7310, 1+1, LJ_TISNUM);
1796 if (LJ_DUALNUM) { 1822 if (LJ_DUALNUM) {
1797 dasm_put(Dst, 6756); 1823 dasm_put(Dst, 6765);
1798 } else { 1824 } else {
1799 dasm_put(Dst, 2264); 1825 dasm_put(Dst, 2273);
1800 } 1826 }
1801 if (sse) { 1827 if (sse) {
1802 dasm_put(Dst, 6665); 1828 dasm_put(Dst, 6674);
1803 } else { 1829 } else {
1804 dasm_put(Dst, 7040); 1830 dasm_put(Dst, 7049);
1805 } 1831 }
1806 dasm_put(Dst, 7143, LJ_TISNUM); 1832 dasm_put(Dst, 7152, LJ_TISNUM);
1807 } else if (sse) { 1833 } else if (sse) {
1808 dasm_put(Dst, 7317, 2+1, LJ_TISNUM, LJ_TISNUM); 1834 dasm_put(Dst, 7326, 2+1, LJ_TISNUM, LJ_TISNUM);
1809 } else { 1835 } else {
1810 dasm_put(Dst, 7389, 2+1, LJ_TISNUM, LJ_TISNUM); 1836 dasm_put(Dst, 7398, 2+1, LJ_TISNUM, LJ_TISNUM);
1811 } 1837 }
1812 dasm_put(Dst, 7453); 1838 dasm_put(Dst, 7462);
1813 if (LJ_DUALNUM) { 1839 if (LJ_DUALNUM) {
1814 dasm_put(Dst, 7461, 1+1, LJ_TISNUM); 1840 dasm_put(Dst, 7470, 1+1, LJ_TISNUM);
1815 if (LJ_DUALNUM) { 1841 if (LJ_DUALNUM) {
1816 dasm_put(Dst, 6756); 1842 dasm_put(Dst, 6765);
1817 } else { 1843 } else {
1818 dasm_put(Dst, 2264); 1844 dasm_put(Dst, 2273);
1819 } 1845 }
1820 if (sse) { 1846 if (sse) {
1821 dasm_put(Dst, 6665); 1847 dasm_put(Dst, 6674);
1822 } else { 1848 } else {
1823 dasm_put(Dst, 7040); 1849 dasm_put(Dst, 7049);
1824 } 1850 }
1825 dasm_put(Dst, 7143, LJ_TISNUM); 1851 dasm_put(Dst, 7152, LJ_TISNUM);
1826 } else if (sse) { 1852 } else if (sse) {
1827 dasm_put(Dst, 7477, 2+1, LJ_TISNUM, LJ_TISNUM); 1853 dasm_put(Dst, 7486, 2+1, LJ_TISNUM, LJ_TISNUM);
1828 } else { 1854 } else {
1829 dasm_put(Dst, 7549, 2+1, LJ_TISNUM, LJ_TISNUM); 1855 dasm_put(Dst, 7558, 2+1, LJ_TISNUM, LJ_TISNUM);
1830 } 1856 }
1831 dasm_put(Dst, 7613); 1857 dasm_put(Dst, 7622);
1832 if (LJ_DUALNUM) { 1858 if (LJ_DUALNUM) {
1833 dasm_put(Dst, 7621, 1+1, LJ_TISNUM); 1859 dasm_put(Dst, 7630, 1+1, LJ_TISNUM);
1834 if (LJ_DUALNUM) { 1860 if (LJ_DUALNUM) {
1835 dasm_put(Dst, 6756); 1861 dasm_put(Dst, 6765);
1836 } else { 1862 } else {
1837 dasm_put(Dst, 2264); 1863 dasm_put(Dst, 2273);
1838 } 1864 }
1839 if (sse) { 1865 if (sse) {
1840 dasm_put(Dst, 6665); 1866 dasm_put(Dst, 6674);
1841 } else { 1867 } else {
1842 dasm_put(Dst, 7040); 1868 dasm_put(Dst, 7049);
1843 } 1869 }
1844 dasm_put(Dst, 7143, LJ_TISNUM); 1870 dasm_put(Dst, 7152, LJ_TISNUM);
1845 } else if (sse) { 1871 } else if (sse) {
1846 dasm_put(Dst, 7637, 2+1, LJ_TISNUM, LJ_TISNUM); 1872 dasm_put(Dst, 7646, 2+1, LJ_TISNUM, LJ_TISNUM);
1847 } else { 1873 } else {
1848 dasm_put(Dst, 7709, 2+1, LJ_TISNUM, LJ_TISNUM); 1874 dasm_put(Dst, 7718, 2+1, LJ_TISNUM, LJ_TISNUM);
1849 } 1875 }
1850 dasm_put(Dst, 7773); 1876 dasm_put(Dst, 7782);
1851 if (LJ_DUALNUM) { 1877 if (LJ_DUALNUM) {
1852 dasm_put(Dst, 7780, 1+1, LJ_TISNUM); 1878 dasm_put(Dst, 7789, 1+1, LJ_TISNUM);
1853 if (LJ_DUALNUM) { 1879 if (LJ_DUALNUM) {
1854 dasm_put(Dst, 6756); 1880 dasm_put(Dst, 6765);
1855 } else { 1881 } else {
1856 dasm_put(Dst, 2264); 1882 dasm_put(Dst, 2273);
1857 } 1883 }
1858 if (sse) { 1884 if (sse) {
1859 dasm_put(Dst, 6665); 1885 dasm_put(Dst, 6674);
1860 } else { 1886 } else {
1861 dasm_put(Dst, 7040); 1887 dasm_put(Dst, 7049);
1862 } 1888 }
1863 dasm_put(Dst, 7143, LJ_TISNUM); 1889 dasm_put(Dst, 7152, LJ_TISNUM);
1864 } else if (sse) { 1890 } else if (sse) {
1865 dasm_put(Dst, 7796, 2+1, LJ_TISNUM, LJ_TISNUM); 1891 dasm_put(Dst, 7805, 2+1, LJ_TISNUM, LJ_TISNUM);
1866 } else { 1892 } else {
1867 dasm_put(Dst, 7868, 2+1, LJ_TISNUM, LJ_TISNUM); 1893 dasm_put(Dst, 7877, 2+1, LJ_TISNUM, LJ_TISNUM);
1868 } 1894 }
1869 dasm_put(Dst, 7932, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); 1895 dasm_put(Dst, 7941, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
1870 dasm_put(Dst, 8008, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); 1896 dasm_put(Dst, 8017, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
1871 dasm_put(Dst, 8132, Dt1(->top), Dt1(->base), Dt1(->top)); 1897 dasm_put(Dst, 8141, Dt1(->top), Dt1(->base), Dt1(->top));
1872#if LJ_HASJIT 1898#if LJ_HASJIT
1873 dasm_put(Dst, 8170, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); 1899 dasm_put(Dst, 8179, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1874#endif 1900#endif
1875 dasm_put(Dst, 8201, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); 1901 dasm_put(Dst, 8210, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
1876 dasm_put(Dst, 8252, Dt1(->base), Dt1(->base), GG_DISP2STATIC); 1902 dasm_put(Dst, 8261, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1877#if LJ_HASJIT 1903#if LJ_HASJIT
1878 dasm_put(Dst, 8318, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); 1904 dasm_put(Dst, 8327, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
1879#endif 1905#endif
1880 dasm_put(Dst, 8364); 1906 dasm_put(Dst, 8373);
1881#if LJ_HASJIT 1907#if LJ_HASJIT
1882 dasm_put(Dst, 8196); 1908 dasm_put(Dst, 8205);
1883#endif 1909#endif
1884 dasm_put(Dst, 8371); 1910 dasm_put(Dst, 8380);
1885#if LJ_HASJIT 1911#if LJ_HASJIT
1886 dasm_put(Dst, 8374); 1912 dasm_put(Dst, 8383);
1887#endif 1913#endif
1888 dasm_put(Dst, 8384, Dt1(->base), Dt1(->top)); 1914 dasm_put(Dst, 8393, Dt1(->base), Dt1(->top));
1889#if LJ_HASJIT 1915#if LJ_HASJIT
1890 dasm_put(Dst, 8418); 1916 dasm_put(Dst, 8427);
1891#endif 1917#endif
1892 dasm_put(Dst, 8423, Dt1(->base), Dt1(->top)); 1918 dasm_put(Dst, 8432, Dt1(->base), Dt1(->top));
1893#if LJ_HASJIT 1919#if LJ_HASJIT
1894 dasm_put(Dst, 8452, 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); 1920 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);
1895#endif 1921#endif
1896 dasm_put(Dst, 8595); 1922 dasm_put(Dst, 8604);
1897#if LJ_HASJIT 1923#if LJ_HASJIT
1898 dasm_put(Dst, 8598, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); 1924 dasm_put(Dst, 8607, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF);
1899#endif 1925#endif
1900 dasm_put(Dst, 8676); 1926 dasm_put(Dst, 8685);
1901 if (!sse) { 1927 if (!sse) {
1902 dasm_put(Dst, 8679); 1928 dasm_put(Dst, 8688);
1903 } 1929 }
1904 dasm_put(Dst, 8724); 1930 dasm_put(Dst, 8733);
1905 if (!sse) { 1931 if (!sse) {
1906 dasm_put(Dst, 8826); 1932 dasm_put(Dst, 8835);
1907 } 1933 }
1908 dasm_put(Dst, 8871); 1934 dasm_put(Dst, 8880);
1909 if (!sse) { 1935 if (!sse) {
1910 dasm_put(Dst, 8973); 1936 dasm_put(Dst, 8982);
1911 } 1937 }
1912 dasm_put(Dst, 9012); 1938 dasm_put(Dst, 9021);
1913 if (sse) { 1939 if (sse) {
1914 dasm_put(Dst, 9117); 1940 dasm_put(Dst, 9126);
1915 } else { 1941 } else {
1916 dasm_put(Dst, 9247); 1942 dasm_put(Dst, 9256);
1917 } 1943 }
1918 dasm_put(Dst, 9294); 1944 dasm_put(Dst, 9303);
1919 if (!sse) { 1945 if (!sse) {
1920 dasm_put(Dst, 9368); 1946 dasm_put(Dst, 9377);
1921 if (cmov) { 1947 if (cmov) {
1922 dasm_put(Dst, 9379); 1948 dasm_put(Dst, 9388);
1923 } else { 1949 } else {
1924 dasm_put(Dst, 9383); 1950 dasm_put(Dst, 9392);
1925 } 1951 }
1926 dasm_put(Dst, 9390); 1952 dasm_put(Dst, 9399);
1927 dasm_put(Dst, 9464); 1953 dasm_put(Dst, 9473);
1928 dasm_put(Dst, 9564); 1954 dasm_put(Dst, 9573);
1929 if (cmov) { 1955 if (cmov) {
1930 dasm_put(Dst, 9567); 1956 dasm_put(Dst, 9576);
1931 } else { 1957 } else {
1932 dasm_put(Dst, 9571); 1958 dasm_put(Dst, 9580);
1933 } 1959 }
1934 dasm_put(Dst, 9578); 1960 dasm_put(Dst, 9587);
1935 if (cmov) { 1961 if (cmov) {
1936 dasm_put(Dst, 9379); 1962 dasm_put(Dst, 9388);
1937 } else { 1963 } else {
1938 dasm_put(Dst, 9383); 1964 dasm_put(Dst, 9392);
1939 } 1965 }
1940 dasm_put(Dst, 9596); 1966 dasm_put(Dst, 9605);
1941 } else { 1967 } else {
1942 dasm_put(Dst, 9675); 1968 dasm_put(Dst, 9684);
1943 } 1969 }
1944 dasm_put(Dst, 9678); 1970 dasm_put(Dst, 9687);
1945 dasm_put(Dst, 9763); 1971 dasm_put(Dst, 9772);
1946 dasm_put(Dst, 9893); 1972 dasm_put(Dst, 9902);
1947 dasm_put(Dst, 10099); 1973 dasm_put(Dst, 10108);
1948#if LJ_HASJIT 1974#if LJ_HASJIT
1949 if (sse) { 1975 if (sse) {
1950 dasm_put(Dst, 10106); 1976 dasm_put(Dst, 10115);
1951 dasm_put(Dst, 10163); 1977 dasm_put(Dst, 10172);
1952 dasm_put(Dst, 10254); 1978 dasm_put(Dst, 10263);
1953 } else { 1979 } else {
1954 dasm_put(Dst, 10296); 1980 dasm_put(Dst, 10305);
1955 dasm_put(Dst, 10388); 1981 dasm_put(Dst, 10397);
1956 } 1982 }
1957 dasm_put(Dst, 10434); 1983 dasm_put(Dst, 10443);
1958#endif 1984#endif
1959 dasm_put(Dst, 10438); 1985 dasm_put(Dst, 10447);
1960 if (sse) { 1986 if (sse) {
1961 dasm_put(Dst, 10441); 1987 dasm_put(Dst, 10450);
1962 dasm_put(Dst, 10546); 1988 dasm_put(Dst, 10555);
1963 dasm_put(Dst, 10629); 1989 dasm_put(Dst, 10638);
1964 } else { 1990 } else {
1965 dasm_put(Dst, 10701); 1991 dasm_put(Dst, 10710);
1966 dasm_put(Dst, 10784); 1992 dasm_put(Dst, 10793);
1967 if (cmov) { 1993 if (cmov) {
1968 dasm_put(Dst, 10839); 1994 dasm_put(Dst, 10848);
1969 } else { 1995 } else {
1970 dasm_put(Dst, 10858); 1996 dasm_put(Dst, 10867);
1971 } 1997 }
1972 dasm_put(Dst, 10434); 1998 dasm_put(Dst, 10443);
1973 } 1999 }
1974 dasm_put(Dst, 10899); 2000 dasm_put(Dst, 10908);
1975#ifdef LUA_USE_ASSERT 2001#ifdef LUA_USE_ASSERT
1976 dasm_put(Dst, 10436); 2002 dasm_put(Dst, 10445);
2003#endif
2004 dasm_put(Dst, 10964);
2005#if LJ_HASFFI
2006#define DtE(_V) (int)(ptrdiff_t)&(((CTState *)0)_V)
2007 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));
1977#endif 2008#endif
1978 dasm_put(Dst, 10955); 2009 dasm_put(Dst, 11078);
1979#if LJ_HASFFI 2010#if LJ_HASFFI
1980#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) 2011 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));
1981 dasm_put(Dst, 10959, DtE(->spadj)); 2012#endif
2013 dasm_put(Dst, 11170);
2014#if LJ_HASFFI
2015#define DtF(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
2016 dasm_put(Dst, 11173, DtF(->spadj));
1982#if LJ_TARGET_WINDOWS 2017#if LJ_TARGET_WINDOWS
1983 dasm_put(Dst, 10969, DtE(->spadj)); 2018 dasm_put(Dst, 11183, DtF(->spadj));
1984#endif 2019#endif
1985 dasm_put(Dst, 10973, DtE(->nsp), offsetof(CCallState, stack), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->func), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->resx87), DtE(->fpr[0].d[0])); 2020 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]));
1986 dasm_put(Dst, 11043, DtE(->fpr[0].f[0])); 2021 dasm_put(Dst, 11257, DtF(->fpr[0].f[0]));
1987#if LJ_TARGET_WINDOWS 2022#if LJ_TARGET_WINDOWS
1988 dasm_put(Dst, 11049, DtE(->spadj)); 2023 dasm_put(Dst, 11263, DtF(->spadj));
1989#endif 2024#endif
1990 dasm_put(Dst, 11053); 2025 dasm_put(Dst, 11267);
1991#endif 2026#endif
1992} 2027}
1993 2028
@@ -1995,7 +2030,7 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1995static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 2030static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1996{ 2031{
1997 int vk = 0; 2032 int vk = 0;
1998 dasm_put(Dst, 11060, defop); 2033 dasm_put(Dst, 11274, defop);
1999 2034
2000 switch (op) { 2035 switch (op) {
2001 2036
@@ -2006,303 +2041,303 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2006 2041
2007 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 2042 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
2008 if (LJ_DUALNUM) { 2043 if (LJ_DUALNUM) {
2009 dasm_put(Dst, 11062, LJ_TISNUM, LJ_TISNUM); 2044 dasm_put(Dst, 11276, LJ_TISNUM, LJ_TISNUM);
2010 switch (op) { 2045 switch (op) {
2011 case BC_ISLT: 2046 case BC_ISLT:
2012 dasm_put(Dst, 11092); 2047 dasm_put(Dst, 11306);
2013 break; 2048 break;
2014 case BC_ISGE: 2049 case BC_ISGE:
2015 dasm_put(Dst, 11097); 2050 dasm_put(Dst, 11311);
2016 break; 2051 break;
2017 case BC_ISLE: 2052 case BC_ISLE:
2018 dasm_put(Dst, 11102); 2053 dasm_put(Dst, 11316);
2019 break; 2054 break;
2020 case BC_ISGT: 2055 case BC_ISGT:
2021 dasm_put(Dst, 11107); 2056 dasm_put(Dst, 11321);
2022 break; 2057 break;
2023 default: break; /* Shut up GCC. */ 2058 default: break; /* Shut up GCC. */
2024 } 2059 }
2025 dasm_put(Dst, 11112, -BCBIAS_J*4, LJ_TISNUM); 2060 dasm_put(Dst, 11326, -BCBIAS_J*4, LJ_TISNUM);
2026 if (sse) { 2061 if (sse) {
2027 dasm_put(Dst, 11165); 2062 dasm_put(Dst, 11379);
2028 } else { 2063 } else {
2029 dasm_put(Dst, 11176); 2064 dasm_put(Dst, 11390);
2030 } 2065 }
2031 dasm_put(Dst, 11187); 2066 dasm_put(Dst, 11401);
2032 if (sse) { 2067 if (sse) {
2033 dasm_put(Dst, 11194); 2068 dasm_put(Dst, 11408);
2034 switch (op) { 2069 switch (op) {
2035 case BC_ISLT: 2070 case BC_ISLT:
2036 dasm_put(Dst, 11214); 2071 dasm_put(Dst, 11428);
2037 break; 2072 break;
2038 case BC_ISGE: 2073 case BC_ISGE:
2039 dasm_put(Dst, 11219); 2074 dasm_put(Dst, 11433);
2040 break; 2075 break;
2041 case BC_ISLE: 2076 case BC_ISLE:
2042 dasm_put(Dst, 11224); 2077 dasm_put(Dst, 11438);
2043 break; 2078 break;
2044 case BC_ISGT: 2079 case BC_ISGT:
2045 dasm_put(Dst, 11229); 2080 dasm_put(Dst, 11443);
2046 break; 2081 break;
2047 default: break; /* Shut up GCC. */ 2082 default: break; /* Shut up GCC. */
2048 } 2083 }
2049 dasm_put(Dst, 11234); 2084 dasm_put(Dst, 11448);
2050 } else { 2085 } else {
2051 dasm_put(Dst, 11239); 2086 dasm_put(Dst, 11453);
2052 } 2087 }
2053 } else { 2088 } else {
2054 dasm_put(Dst, 11247, LJ_TISNUM, LJ_TISNUM); 2089 dasm_put(Dst, 11461, LJ_TISNUM, LJ_TISNUM);
2055 } 2090 }
2056 if (sse) { 2091 if (sse) {
2057 dasm_put(Dst, 11268); 2092 dasm_put(Dst, 11482);
2058 } else { 2093 } else {
2059 dasm_put(Dst, 11289); 2094 dasm_put(Dst, 11503);
2060 if (cmov) { 2095 if (cmov) {
2061 dasm_put(Dst, 3944); 2096 dasm_put(Dst, 3953);
2062 } else { 2097 } else {
2063 dasm_put(Dst, 3950); 2098 dasm_put(Dst, 3959);
2064 } 2099 }
2065 } 2100 }
2066 if (LJ_DUALNUM) { 2101 if (LJ_DUALNUM) {
2067 switch (op) { 2102 switch (op) {
2068 case BC_ISLT: 2103 case BC_ISLT:
2069 dasm_put(Dst, 11214); 2104 dasm_put(Dst, 11428);
2070 break; 2105 break;
2071 case BC_ISGE: 2106 case BC_ISGE:
2072 dasm_put(Dst, 11219); 2107 dasm_put(Dst, 11433);
2073 break; 2108 break;
2074 case BC_ISLE: 2109 case BC_ISLE:
2075 dasm_put(Dst, 11224); 2110 dasm_put(Dst, 11438);
2076 break; 2111 break;
2077 case BC_ISGT: 2112 case BC_ISGT:
2078 dasm_put(Dst, 11229); 2113 dasm_put(Dst, 11443);
2079 break; 2114 break;
2080 default: break; /* Shut up GCC. */ 2115 default: break; /* Shut up GCC. */
2081 } 2116 }
2082 dasm_put(Dst, 11234); 2117 dasm_put(Dst, 11448);
2083 } else { 2118 } else {
2084 switch (op) { 2119 switch (op) {
2085 case BC_ISLT: 2120 case BC_ISLT:
2086 dasm_put(Dst, 11305); 2121 dasm_put(Dst, 752);
2087 break; 2122 break;
2088 case BC_ISGE: 2123 case BC_ISGE:
2089 dasm_put(Dst, 11310); 2124 dasm_put(Dst, 11519);
2090 break; 2125 break;
2091 case BC_ISLE: 2126 case BC_ISLE:
2092 dasm_put(Dst, 11315); 2127 dasm_put(Dst, 11524);
2093 break; 2128 break;
2094 case BC_ISGT: 2129 case BC_ISGT:
2095 dasm_put(Dst, 11320); 2130 dasm_put(Dst, 11529);
2096 break; 2131 break;
2097 default: break; /* Shut up GCC. */ 2132 default: break; /* Shut up GCC. */
2098 } 2133 }
2099 dasm_put(Dst, 11325, -BCBIAS_J*4); 2134 dasm_put(Dst, 11534, -BCBIAS_J*4);
2100 } 2135 }
2101 break; 2136 break;
2102 2137
2103 case BC_ISEQV: case BC_ISNEV: 2138 case BC_ISEQV: case BC_ISNEV:
2104 vk = op == BC_ISEQV; 2139 vk = op == BC_ISEQV;
2105 dasm_put(Dst, 11356); 2140 dasm_put(Dst, 11565);
2106 if (LJ_DUALNUM) { 2141 if (LJ_DUALNUM) {
2107 dasm_put(Dst, 11364, LJ_TISNUM, LJ_TISNUM); 2142 dasm_put(Dst, 11573, LJ_TISNUM, LJ_TISNUM);
2108 if (vk) { 2143 if (vk) {
2109 dasm_put(Dst, 11389); 2144 dasm_put(Dst, 11598);
2110 } else { 2145 } else {
2111 dasm_put(Dst, 11394); 2146 dasm_put(Dst, 11603);
2112 } 2147 }
2113 dasm_put(Dst, 11399, -BCBIAS_J*4, LJ_TISNUM); 2148 dasm_put(Dst, 11608, -BCBIAS_J*4, LJ_TISNUM);
2114 if (sse) { 2149 if (sse) {
2115 dasm_put(Dst, 11450); 2150 dasm_put(Dst, 11659);
2116 } else { 2151 } else {
2117 dasm_put(Dst, 11457); 2152 dasm_put(Dst, 11666);
2118 } 2153 }
2119 dasm_put(Dst, 11461); 2154 dasm_put(Dst, 11670);
2120 if (sse) { 2155 if (sse) {
2121 dasm_put(Dst, 11472); 2156 dasm_put(Dst, 11681);
2122 } else { 2157 } else {
2123 dasm_put(Dst, 11484); 2158 dasm_put(Dst, 11693);
2124 } 2159 }
2125 dasm_put(Dst, 11491); 2160 dasm_put(Dst, 11700);
2126 } else { 2161 } else {
2127 dasm_put(Dst, 11496, LJ_TISNUM, LJ_TISNUM); 2162 dasm_put(Dst, 11705, LJ_TISNUM, LJ_TISNUM);
2128 } 2163 }
2129 if (sse) { 2164 if (sse) {
2130 dasm_put(Dst, 11515); 2165 dasm_put(Dst, 11724);
2131 } else { 2166 } else {
2132 dasm_put(Dst, 11533); 2167 dasm_put(Dst, 11742);
2133 if (cmov) { 2168 if (cmov) {
2134 dasm_put(Dst, 3944); 2169 dasm_put(Dst, 3953);
2135 } else { 2170 } else {
2136 dasm_put(Dst, 3950); 2171 dasm_put(Dst, 3959);
2137 } 2172 }
2138 } 2173 }
2139 iseqne_fp: 2174 iseqne_fp:
2140 if (vk) { 2175 if (vk) {
2141 dasm_put(Dst, 11546); 2176 dasm_put(Dst, 11755);
2142 } else { 2177 } else {
2143 dasm_put(Dst, 11555); 2178 dasm_put(Dst, 11764);
2144 } 2179 }
2145 iseqne_end: 2180 iseqne_end:
2146 if (vk) { 2181 if (vk) {
2147 dasm_put(Dst, 11564, -BCBIAS_J*4); 2182 dasm_put(Dst, 11773, -BCBIAS_J*4);
2148 if (!LJ_HASFFI) { 2183 if (!LJ_HASFFI) {
2149 dasm_put(Dst, 4844); 2184 dasm_put(Dst, 4853);
2150 } 2185 }
2151 } else { 2186 } else {
2152 if (!LJ_HASFFI) { 2187 if (!LJ_HASFFI) {
2153 dasm_put(Dst, 4844); 2188 dasm_put(Dst, 4853);
2154 } 2189 }
2155 dasm_put(Dst, 11579, -BCBIAS_J*4); 2190 dasm_put(Dst, 11788, -BCBIAS_J*4);
2156 } 2191 }
2157 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || 2192 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV ||
2158 op == BC_ISEQN || op == BC_ISNEN)) { 2193 op == BC_ISEQN || op == BC_ISNEN)) {
2159 dasm_put(Dst, 11594); 2194 dasm_put(Dst, 11803);
2160 } else { 2195 } else {
2161 dasm_put(Dst, 11337); 2196 dasm_put(Dst, 11546);
2162 } 2197 }
2163 if (op == BC_ISEQV || op == BC_ISNEV) { 2198 if (op == BC_ISEQV || op == BC_ISNEV) {
2164 dasm_put(Dst, 11599); 2199 dasm_put(Dst, 11808);
2165 if (LJ_HASFFI) { 2200 if (LJ_HASFFI) {
2166 dasm_put(Dst, 11602, LJ_TCDATA, LJ_TCDATA); 2201 dasm_put(Dst, 11811, LJ_TCDATA, LJ_TCDATA);
2167 } 2202 }
2168 dasm_put(Dst, 11621, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 2203 dasm_put(Dst, 11830, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
2169 if (vk) { 2204 if (vk) {
2170 dasm_put(Dst, 11677); 2205 dasm_put(Dst, 11886);
2171 } else { 2206 } else {
2172 dasm_put(Dst, 11681); 2207 dasm_put(Dst, 11890);
2173 } 2208 }
2174 dasm_put(Dst, 11687); 2209 dasm_put(Dst, 11896);
2175 } else if (LJ_HASFFI) { 2210 } else if (LJ_HASFFI) {
2176 dasm_put(Dst, 11692, LJ_TCDATA); 2211 dasm_put(Dst, 11901, LJ_TCDATA);
2177 if (LJ_DUALNUM && vk) { 2212 if (LJ_DUALNUM && vk) {
2178 dasm_put(Dst, 11699); 2213 dasm_put(Dst, 11908);
2179 } else { 2214 } else {
2180 dasm_put(Dst, 11672); 2215 dasm_put(Dst, 11881);
2181 } 2216 }
2182 dasm_put(Dst, 11704); 2217 dasm_put(Dst, 11913);
2183 } 2218 }
2184 break; 2219 break;
2185 case BC_ISEQS: case BC_ISNES: 2220 case BC_ISEQS: case BC_ISNES:
2186 vk = op == BC_ISEQS; 2221 vk = op == BC_ISEQS;
2187 dasm_put(Dst, 11709, LJ_TSTR); 2222 dasm_put(Dst, 11918, LJ_TSTR);
2188 iseqne_test: 2223 iseqne_test:
2189 if (vk) { 2224 if (vk) {
2190 dasm_put(Dst, 11550); 2225 dasm_put(Dst, 11759);
2191 } else { 2226 } else {
2192 dasm_put(Dst, 748); 2227 dasm_put(Dst, 2971);
2193 } 2228 }
2194 goto iseqne_end; 2229 goto iseqne_end;
2195 case BC_ISEQN: case BC_ISNEN: 2230 case BC_ISEQN: case BC_ISNEN:
2196 vk = op == BC_ISEQN; 2231 vk = op == BC_ISEQN;
2197 dasm_put(Dst, 11734); 2232 dasm_put(Dst, 11943);
2198 if (LJ_DUALNUM) { 2233 if (LJ_DUALNUM) {
2199 dasm_put(Dst, 11742, LJ_TISNUM, LJ_TISNUM); 2234 dasm_put(Dst, 11951, LJ_TISNUM, LJ_TISNUM);
2200 if (vk) { 2235 if (vk) {
2201 dasm_put(Dst, 11389); 2236 dasm_put(Dst, 11598);
2202 } else { 2237 } else {
2203 dasm_put(Dst, 11394); 2238 dasm_put(Dst, 11603);
2204 } 2239 }
2205 dasm_put(Dst, 11767, -BCBIAS_J*4, LJ_TISNUM); 2240 dasm_put(Dst, 11976, -BCBIAS_J*4, LJ_TISNUM);
2206 if (sse) { 2241 if (sse) {
2207 dasm_put(Dst, 11814); 2242 dasm_put(Dst, 12023);
2208 } else { 2243 } else {
2209 dasm_put(Dst, 11821); 2244 dasm_put(Dst, 12030);
2210 } 2245 }
2211 dasm_put(Dst, 11825); 2246 dasm_put(Dst, 12034);
2212 if (sse) { 2247 if (sse) {
2213 dasm_put(Dst, 11832); 2248 dasm_put(Dst, 12041);
2214 } else { 2249 } else {
2215 dasm_put(Dst, 11844); 2250 dasm_put(Dst, 12053);
2216 } 2251 }
2217 dasm_put(Dst, 11491); 2252 dasm_put(Dst, 11700);
2218 } else { 2253 } else {
2219 dasm_put(Dst, 11851, LJ_TISNUM); 2254 dasm_put(Dst, 12060, LJ_TISNUM);
2220 } 2255 }
2221 if (sse) { 2256 if (sse) {
2222 dasm_put(Dst, 11860); 2257 dasm_put(Dst, 12069);
2223 } else { 2258 } else {
2224 dasm_put(Dst, 11878); 2259 dasm_put(Dst, 12087);
2225 if (cmov) { 2260 if (cmov) {
2226 dasm_put(Dst, 3944); 2261 dasm_put(Dst, 3953);
2227 } else { 2262 } else {
2228 dasm_put(Dst, 3950); 2263 dasm_put(Dst, 3959);
2229 } 2264 }
2230 } 2265 }
2231 goto iseqne_fp; 2266 goto iseqne_fp;
2232 case BC_ISEQP: case BC_ISNEP: 2267 case BC_ISEQP: case BC_ISNEP:
2233 vk = op == BC_ISEQP; 2268 vk = op == BC_ISEQP;
2234 dasm_put(Dst, 11891); 2269 dasm_put(Dst, 12100);
2235 if (!LJ_HASFFI) goto iseqne_test; 2270 if (!LJ_HASFFI) goto iseqne_test;
2236 if (vk) { 2271 if (vk) {
2237 dasm_put(Dst, 11904, -BCBIAS_J*4, LJ_TCDATA); 2272 dasm_put(Dst, 12113, -BCBIAS_J*4, LJ_TCDATA);
2238 } else { 2273 } else {
2239 dasm_put(Dst, 11953, LJ_TCDATA, -BCBIAS_J*4); 2274 dasm_put(Dst, 12162, LJ_TCDATA, -BCBIAS_J*4);
2240 } 2275 }
2241 break; 2276 break;
2242 2277
2243 /* -- Unary test and copy ops ------------------------------------------- */ 2278 /* -- Unary test and copy ops ------------------------------------------- */
2244 2279
2245 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 2280 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
2246 dasm_put(Dst, 11996, LJ_TISTRUECOND); 2281 dasm_put(Dst, 12205, LJ_TISTRUECOND);
2247 if (op == BC_IST || op == BC_ISTC) { 2282 if (op == BC_IST || op == BC_ISTC) {
2248 dasm_put(Dst, 11320); 2283 dasm_put(Dst, 11529);
2249 } else { 2284 } else {
2250 dasm_put(Dst, 11315); 2285 dasm_put(Dst, 11524);
2251 } 2286 }
2252 if (op == BC_ISTC || op == BC_ISFC) { 2287 if (op == BC_ISTC || op == BC_ISFC) {
2253 dasm_put(Dst, 12008); 2288 dasm_put(Dst, 12217);
2254 } 2289 }
2255 dasm_put(Dst, 11325, -BCBIAS_J*4); 2290 dasm_put(Dst, 11534, -BCBIAS_J*4);
2256 break; 2291 break;
2257 2292
2258 /* -- Unary ops --------------------------------------------------------- */ 2293 /* -- Unary ops --------------------------------------------------------- */
2259 2294
2260 case BC_MOV: 2295 case BC_MOV:
2261 dasm_put(Dst, 12019); 2296 dasm_put(Dst, 12228);
2262 break; 2297 break;
2263 case BC_NOT: 2298 case BC_NOT:
2264 dasm_put(Dst, 12052, LJ_TISTRUECOND, LJ_TTRUE); 2299 dasm_put(Dst, 12261, LJ_TISTRUECOND, LJ_TTRUE);
2265 break; 2300 break;
2266 case BC_UNM: 2301 case BC_UNM:
2267 if (LJ_DUALNUM) { 2302 if (LJ_DUALNUM) {
2268 dasm_put(Dst, 12087, LJ_TISNUM, LJ_TISNUM); 2303 dasm_put(Dst, 12296, LJ_TISNUM, LJ_TISNUM);
2269 } else { 2304 } else {
2270 dasm_put(Dst, 12163, LJ_TISNUM); 2305 dasm_put(Dst, 12372, LJ_TISNUM);
2271 } 2306 }
2272 if (sse) { 2307 if (sse) {
2273 dasm_put(Dst, 12174); 2308 dasm_put(Dst, 12383);
2274 } else { 2309 } else {
2275 dasm_put(Dst, 12204); 2310 dasm_put(Dst, 12413);
2276 } 2311 }
2277 if (LJ_DUALNUM) { 2312 if (LJ_DUALNUM) {
2278 dasm_put(Dst, 11594); 2313 dasm_put(Dst, 11803);
2279 } else { 2314 } else {
2280 dasm_put(Dst, 11337); 2315 dasm_put(Dst, 11546);
2281 } 2316 }
2282 break; 2317 break;
2283 case BC_LEN: 2318 case BC_LEN:
2284 dasm_put(Dst, 12213, LJ_TSTR); 2319 dasm_put(Dst, 12422, LJ_TSTR);
2285 if (LJ_DUALNUM) { 2320 if (LJ_DUALNUM) {
2286 dasm_put(Dst, 12227, Dt5(->len), LJ_TISNUM); 2321 dasm_put(Dst, 12436, Dt5(->len), LJ_TISNUM);
2287 } else if (sse) { 2322 } else if (sse) {
2288 dasm_put(Dst, 12241, Dt5(->len)); 2323 dasm_put(Dst, 12450, Dt5(->len));
2289 } else { 2324 } else {
2290 dasm_put(Dst, 12259, Dt5(->len)); 2325 dasm_put(Dst, 12468, Dt5(->len));
2291 } 2326 }
2292 dasm_put(Dst, 12268, LJ_TTAB); 2327 dasm_put(Dst, 12477, LJ_TTAB);
2293#ifdef LUAJIT_ENABLE_LUA52COMPAT 2328#ifdef LUAJIT_ENABLE_LUA52COMPAT
2294 dasm_put(Dst, 12302, Dt6(->metatable)); 2329 dasm_put(Dst, 12511, Dt6(->metatable));
2295#endif 2330#endif
2296 dasm_put(Dst, 12316); 2331 dasm_put(Dst, 12525);
2297 if (LJ_DUALNUM) { 2332 if (LJ_DUALNUM) {
2298 } else if (sse) { 2333 } else if (sse) {
2299 dasm_put(Dst, 12325); 2334 dasm_put(Dst, 12534);
2300 } else { 2335 } else {
2301 dasm_put(Dst, 12331); 2336 dasm_put(Dst, 12540);
2302 } 2337 }
2303 dasm_put(Dst, 12338); 2338 dasm_put(Dst, 12547);
2304#ifdef LUAJIT_ENABLE_LUA52COMPAT 2339#ifdef LUAJIT_ENABLE_LUA52COMPAT
2305 dasm_put(Dst, 12351, Dt6(->nomm), 1<<MM_len); 2340 dasm_put(Dst, 12560, Dt6(->nomm), 1<<MM_len);
2306#endif 2341#endif
2307 break; 2342 break;
2308 2343
@@ -2311,620 +2346,620 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2311 2346
2312 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 2347 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
2313 if (LJ_DUALNUM) { 2348 if (LJ_DUALNUM) {
2314 dasm_put(Dst, 12367); 2349 dasm_put(Dst, 12576);
2315 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2350 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2316 switch (vk) { 2351 switch (vk) {
2317 case 0: 2352 case 0:
2318 dasm_put(Dst, 12375, LJ_TISNUM, LJ_TISNUM); 2353 dasm_put(Dst, 12584, LJ_TISNUM, LJ_TISNUM);
2319 break; 2354 break;
2320 case 1: 2355 case 1:
2321 dasm_put(Dst, 12408, LJ_TISNUM, LJ_TISNUM); 2356 dasm_put(Dst, 12617, LJ_TISNUM, LJ_TISNUM);
2322 break; 2357 break;
2323 default: 2358 default:
2324 dasm_put(Dst, 12441, LJ_TISNUM, LJ_TISNUM); 2359 dasm_put(Dst, 12650, LJ_TISNUM, LJ_TISNUM);
2325 break; 2360 break;
2326 } 2361 }
2327 dasm_put(Dst, 12474, LJ_TISNUM); 2362 dasm_put(Dst, 12683, LJ_TISNUM);
2328 if (vk == 1) { 2363 if (vk == 1) {
2329 dasm_put(Dst, 12237); 2364 dasm_put(Dst, 12446);
2330 } else { 2365 } else {
2331 dasm_put(Dst, 12015); 2366 dasm_put(Dst, 12224);
2332 } 2367 }
2333 dasm_put(Dst, 11337); 2368 dasm_put(Dst, 11546);
2334 } else { 2369 } else {
2335 dasm_put(Dst, 12367); 2370 dasm_put(Dst, 12576);
2336 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2371 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2337 switch (vk) { 2372 switch (vk) {
2338 case 0: 2373 case 0:
2339 dasm_put(Dst, 12480, LJ_TISNUM); 2374 dasm_put(Dst, 12689, LJ_TISNUM);
2340 if (LJ_DUALNUM) { 2375 if (LJ_DUALNUM) {
2341 dasm_put(Dst, 12492, LJ_TISNUM); 2376 dasm_put(Dst, 12701, LJ_TISNUM);
2342 } 2377 }
2343 if (sse) { 2378 if (sse) {
2344 dasm_put(Dst, 12503); 2379 dasm_put(Dst, 12712);
2345 } else { 2380 } else {
2346 dasm_put(Dst, 12517); 2381 dasm_put(Dst, 12726);
2347 } 2382 }
2348 break; 2383 break;
2349 case 1: 2384 case 1:
2350 dasm_put(Dst, 12525, LJ_TISNUM); 2385 dasm_put(Dst, 12734, LJ_TISNUM);
2351 if (LJ_DUALNUM) { 2386 if (LJ_DUALNUM) {
2352 dasm_put(Dst, 12537, LJ_TISNUM); 2387 dasm_put(Dst, 12746, LJ_TISNUM);
2353 } 2388 }
2354 if (sse) { 2389 if (sse) {
2355 dasm_put(Dst, 12548); 2390 dasm_put(Dst, 12757);
2356 } else { 2391 } else {
2357 dasm_put(Dst, 12562); 2392 dasm_put(Dst, 12771);
2358 } 2393 }
2359 break; 2394 break;
2360 default: 2395 default:
2361 dasm_put(Dst, 12570, LJ_TISNUM, LJ_TISNUM); 2396 dasm_put(Dst, 12779, LJ_TISNUM, LJ_TISNUM);
2362 if (sse) { 2397 if (sse) {
2363 dasm_put(Dst, 12592); 2398 dasm_put(Dst, 12801);
2364 } else { 2399 } else {
2365 dasm_put(Dst, 12606); 2400 dasm_put(Dst, 12815);
2366 } 2401 }
2367 break; 2402 break;
2368 } 2403 }
2369 if (sse) { 2404 if (sse) {
2370 dasm_put(Dst, 12197); 2405 dasm_put(Dst, 12406);
2371 } else { 2406 } else {
2372 dasm_put(Dst, 12209); 2407 dasm_put(Dst, 12418);
2373 } 2408 }
2374 dasm_put(Dst, 11337); 2409 dasm_put(Dst, 11546);
2375 } 2410 }
2376 break; 2411 break;
2377 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 2412 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
2378 if (LJ_DUALNUM) { 2413 if (LJ_DUALNUM) {
2379 dasm_put(Dst, 12367); 2414 dasm_put(Dst, 12576);
2380 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2415 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2381 switch (vk) { 2416 switch (vk) {
2382 case 0: 2417 case 0:
2383 dasm_put(Dst, 12614, LJ_TISNUM, LJ_TISNUM); 2418 dasm_put(Dst, 12823, LJ_TISNUM, LJ_TISNUM);
2384 break; 2419 break;
2385 case 1: 2420 case 1:
2386 dasm_put(Dst, 12647, LJ_TISNUM, LJ_TISNUM); 2421 dasm_put(Dst, 12856, LJ_TISNUM, LJ_TISNUM);
2387 break; 2422 break;
2388 default: 2423 default:
2389 dasm_put(Dst, 12680, LJ_TISNUM, LJ_TISNUM); 2424 dasm_put(Dst, 12889, LJ_TISNUM, LJ_TISNUM);
2390 break; 2425 break;
2391 } 2426 }
2392 dasm_put(Dst, 12474, LJ_TISNUM); 2427 dasm_put(Dst, 12683, LJ_TISNUM);
2393 if (vk == 1) { 2428 if (vk == 1) {
2394 dasm_put(Dst, 12237); 2429 dasm_put(Dst, 12446);
2395 } else { 2430 } else {
2396 dasm_put(Dst, 12015); 2431 dasm_put(Dst, 12224);
2397 } 2432 }
2398 dasm_put(Dst, 11337); 2433 dasm_put(Dst, 11546);
2399 } else { 2434 } else {
2400 dasm_put(Dst, 12367); 2435 dasm_put(Dst, 12576);
2401 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2436 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2402 switch (vk) { 2437 switch (vk) {
2403 case 0: 2438 case 0:
2404 dasm_put(Dst, 12480, LJ_TISNUM); 2439 dasm_put(Dst, 12689, LJ_TISNUM);
2405 if (LJ_DUALNUM) { 2440 if (LJ_DUALNUM) {
2406 dasm_put(Dst, 12492, LJ_TISNUM); 2441 dasm_put(Dst, 12701, LJ_TISNUM);
2407 } 2442 }
2408 if (sse) { 2443 if (sse) {
2409 dasm_put(Dst, 12713); 2444 dasm_put(Dst, 12922);
2410 } else { 2445 } else {
2411 dasm_put(Dst, 12727); 2446 dasm_put(Dst, 12936);
2412 } 2447 }
2413 break; 2448 break;
2414 case 1: 2449 case 1:
2415 dasm_put(Dst, 12525, LJ_TISNUM); 2450 dasm_put(Dst, 12734, LJ_TISNUM);
2416 if (LJ_DUALNUM) { 2451 if (LJ_DUALNUM) {
2417 dasm_put(Dst, 12537, LJ_TISNUM); 2452 dasm_put(Dst, 12746, LJ_TISNUM);
2418 } 2453 }
2419 if (sse) { 2454 if (sse) {
2420 dasm_put(Dst, 12735); 2455 dasm_put(Dst, 12944);
2421 } else { 2456 } else {
2422 dasm_put(Dst, 12749); 2457 dasm_put(Dst, 12958);
2423 } 2458 }
2424 break; 2459 break;
2425 default: 2460 default:
2426 dasm_put(Dst, 12570, LJ_TISNUM, LJ_TISNUM); 2461 dasm_put(Dst, 12779, LJ_TISNUM, LJ_TISNUM);
2427 if (sse) { 2462 if (sse) {
2428 dasm_put(Dst, 12757); 2463 dasm_put(Dst, 12966);
2429 } else { 2464 } else {
2430 dasm_put(Dst, 12771); 2465 dasm_put(Dst, 12980);
2431 } 2466 }
2432 break; 2467 break;
2433 } 2468 }
2434 if (sse) { 2469 if (sse) {
2435 dasm_put(Dst, 12197); 2470 dasm_put(Dst, 12406);
2436 } else { 2471 } else {
2437 dasm_put(Dst, 12209); 2472 dasm_put(Dst, 12418);
2438 } 2473 }
2439 dasm_put(Dst, 11337); 2474 dasm_put(Dst, 11546);
2440 } 2475 }
2441 break; 2476 break;
2442 case BC_MULVN: case BC_MULNV: case BC_MULVV: 2477 case BC_MULVN: case BC_MULNV: case BC_MULVV:
2443 if (LJ_DUALNUM) { 2478 if (LJ_DUALNUM) {
2444 dasm_put(Dst, 12367); 2479 dasm_put(Dst, 12576);
2445 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2480 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2446 switch (vk) { 2481 switch (vk) {
2447 case 0: 2482 case 0:
2448 dasm_put(Dst, 12779, LJ_TISNUM, LJ_TISNUM); 2483 dasm_put(Dst, 12988, LJ_TISNUM, LJ_TISNUM);
2449 break; 2484 break;
2450 case 1: 2485 case 1:
2451 dasm_put(Dst, 12813, LJ_TISNUM, LJ_TISNUM); 2486 dasm_put(Dst, 13022, LJ_TISNUM, LJ_TISNUM);
2452 break; 2487 break;
2453 default: 2488 default:
2454 dasm_put(Dst, 12847, LJ_TISNUM, LJ_TISNUM); 2489 dasm_put(Dst, 13056, LJ_TISNUM, LJ_TISNUM);
2455 break; 2490 break;
2456 } 2491 }
2457 dasm_put(Dst, 12474, LJ_TISNUM); 2492 dasm_put(Dst, 12683, LJ_TISNUM);
2458 if (vk == 1) { 2493 if (vk == 1) {
2459 dasm_put(Dst, 12237); 2494 dasm_put(Dst, 12446);
2460 } else { 2495 } else {
2461 dasm_put(Dst, 12015); 2496 dasm_put(Dst, 12224);
2462 } 2497 }
2463 dasm_put(Dst, 11337); 2498 dasm_put(Dst, 11546);
2464 } else { 2499 } else {
2465 dasm_put(Dst, 12367); 2500 dasm_put(Dst, 12576);
2466 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2501 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2467 switch (vk) { 2502 switch (vk) {
2468 case 0: 2503 case 0:
2469 dasm_put(Dst, 12480, LJ_TISNUM); 2504 dasm_put(Dst, 12689, LJ_TISNUM);
2470 if (LJ_DUALNUM) { 2505 if (LJ_DUALNUM) {
2471 dasm_put(Dst, 12492, LJ_TISNUM); 2506 dasm_put(Dst, 12701, LJ_TISNUM);
2472 } 2507 }
2473 if (sse) { 2508 if (sse) {
2474 dasm_put(Dst, 12881); 2509 dasm_put(Dst, 13090);
2475 } else { 2510 } else {
2476 dasm_put(Dst, 12895); 2511 dasm_put(Dst, 13104);
2477 } 2512 }
2478 break; 2513 break;
2479 case 1: 2514 case 1:
2480 dasm_put(Dst, 12525, LJ_TISNUM); 2515 dasm_put(Dst, 12734, LJ_TISNUM);
2481 if (LJ_DUALNUM) { 2516 if (LJ_DUALNUM) {
2482 dasm_put(Dst, 12537, LJ_TISNUM); 2517 dasm_put(Dst, 12746, LJ_TISNUM);
2483 } 2518 }
2484 if (sse) { 2519 if (sse) {
2485 dasm_put(Dst, 12903); 2520 dasm_put(Dst, 13112);
2486 } else { 2521 } else {
2487 dasm_put(Dst, 12917); 2522 dasm_put(Dst, 13126);
2488 } 2523 }
2489 break; 2524 break;
2490 default: 2525 default:
2491 dasm_put(Dst, 12570, LJ_TISNUM, LJ_TISNUM); 2526 dasm_put(Dst, 12779, LJ_TISNUM, LJ_TISNUM);
2492 if (sse) { 2527 if (sse) {
2493 dasm_put(Dst, 12925); 2528 dasm_put(Dst, 13134);
2494 } else { 2529 } else {
2495 dasm_put(Dst, 12939); 2530 dasm_put(Dst, 13148);
2496 } 2531 }
2497 break; 2532 break;
2498 } 2533 }
2499 if (sse) { 2534 if (sse) {
2500 dasm_put(Dst, 12197); 2535 dasm_put(Dst, 12406);
2501 } else { 2536 } else {
2502 dasm_put(Dst, 12209); 2537 dasm_put(Dst, 12418);
2503 } 2538 }
2504 dasm_put(Dst, 11337); 2539 dasm_put(Dst, 11546);
2505 } 2540 }
2506 break; 2541 break;
2507 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 2542 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
2508 dasm_put(Dst, 12367); 2543 dasm_put(Dst, 12576);
2509 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2544 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2510 switch (vk) { 2545 switch (vk) {
2511 case 0: 2546 case 0:
2512 dasm_put(Dst, 12480, LJ_TISNUM); 2547 dasm_put(Dst, 12689, LJ_TISNUM);
2513 if (LJ_DUALNUM) { 2548 if (LJ_DUALNUM) {
2514 dasm_put(Dst, 12492, LJ_TISNUM); 2549 dasm_put(Dst, 12701, LJ_TISNUM);
2515 } 2550 }
2516 if (sse) { 2551 if (sse) {
2517 dasm_put(Dst, 12947); 2552 dasm_put(Dst, 13156);
2518 } else { 2553 } else {
2519 dasm_put(Dst, 12961); 2554 dasm_put(Dst, 13170);
2520 } 2555 }
2521 break; 2556 break;
2522 case 1: 2557 case 1:
2523 dasm_put(Dst, 12525, LJ_TISNUM); 2558 dasm_put(Dst, 12734, LJ_TISNUM);
2524 if (LJ_DUALNUM) { 2559 if (LJ_DUALNUM) {
2525 dasm_put(Dst, 12537, LJ_TISNUM); 2560 dasm_put(Dst, 12746, LJ_TISNUM);
2526 } 2561 }
2527 if (sse) { 2562 if (sse) {
2528 dasm_put(Dst, 12969); 2563 dasm_put(Dst, 13178);
2529 } else { 2564 } else {
2530 dasm_put(Dst, 12983); 2565 dasm_put(Dst, 13192);
2531 } 2566 }
2532 break; 2567 break;
2533 default: 2568 default:
2534 dasm_put(Dst, 12570, LJ_TISNUM, LJ_TISNUM); 2569 dasm_put(Dst, 12779, LJ_TISNUM, LJ_TISNUM);
2535 if (sse) { 2570 if (sse) {
2536 dasm_put(Dst, 12991); 2571 dasm_put(Dst, 13200);
2537 } else { 2572 } else {
2538 dasm_put(Dst, 13005); 2573 dasm_put(Dst, 13214);
2539 } 2574 }
2540 break; 2575 break;
2541 } 2576 }
2542 if (sse) { 2577 if (sse) {
2543 dasm_put(Dst, 12197); 2578 dasm_put(Dst, 12406);
2544 } else { 2579 } else {
2545 dasm_put(Dst, 12209); 2580 dasm_put(Dst, 12418);
2546 } 2581 }
2547 dasm_put(Dst, 11337); 2582 dasm_put(Dst, 11546);
2548 break; 2583 break;
2549 case BC_MODVN: 2584 case BC_MODVN:
2550 dasm_put(Dst, 12367); 2585 dasm_put(Dst, 12576);
2551 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2586 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2552 switch (vk) { 2587 switch (vk) {
2553 case 0: 2588 case 0:
2554 dasm_put(Dst, 12480, LJ_TISNUM); 2589 dasm_put(Dst, 12689, LJ_TISNUM);
2555 if (LJ_DUALNUM) { 2590 if (LJ_DUALNUM) {
2556 dasm_put(Dst, 12492, LJ_TISNUM); 2591 dasm_put(Dst, 12701, LJ_TISNUM);
2557 } 2592 }
2558 if (sse) { 2593 if (sse) {
2559 dasm_put(Dst, 13013); 2594 dasm_put(Dst, 13222);
2560 } else { 2595 } else {
2561 dasm_put(Dst, 13027); 2596 dasm_put(Dst, 13236);
2562 } 2597 }
2563 break; 2598 break;
2564 case 1: 2599 case 1:
2565 dasm_put(Dst, 12525, LJ_TISNUM); 2600 dasm_put(Dst, 12734, LJ_TISNUM);
2566 if (LJ_DUALNUM) { 2601 if (LJ_DUALNUM) {
2567 dasm_put(Dst, 12537, LJ_TISNUM); 2602 dasm_put(Dst, 12746, LJ_TISNUM);
2568 } 2603 }
2569 if (sse) { 2604 if (sse) {
2570 dasm_put(Dst, 13035); 2605 dasm_put(Dst, 13244);
2571 } else { 2606 } else {
2572 dasm_put(Dst, 13049); 2607 dasm_put(Dst, 13258);
2573 } 2608 }
2574 break; 2609 break;
2575 default: 2610 default:
2576 dasm_put(Dst, 12570, LJ_TISNUM, LJ_TISNUM); 2611 dasm_put(Dst, 12779, LJ_TISNUM, LJ_TISNUM);
2577 if (sse) { 2612 if (sse) {
2578 dasm_put(Dst, 13057); 2613 dasm_put(Dst, 13266);
2579 } else { 2614 } else {
2580 dasm_put(Dst, 13071); 2615 dasm_put(Dst, 13280);
2581 } 2616 }
2582 break; 2617 break;
2583 } 2618 }
2584 dasm_put(Dst, 13079); 2619 dasm_put(Dst, 13288);
2585 if (sse) { 2620 if (sse) {
2586 dasm_put(Dst, 12197); 2621 dasm_put(Dst, 12406);
2587 } else { 2622 } else {
2588 dasm_put(Dst, 12209); 2623 dasm_put(Dst, 12418);
2589 } 2624 }
2590 dasm_put(Dst, 11337); 2625 dasm_put(Dst, 11546);
2591 break; 2626 break;
2592 case BC_MODNV: case BC_MODVV: 2627 case BC_MODNV: case BC_MODVV:
2593 dasm_put(Dst, 12367); 2628 dasm_put(Dst, 12576);
2594 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2629 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2595 switch (vk) { 2630 switch (vk) {
2596 case 0: 2631 case 0:
2597 dasm_put(Dst, 12480, LJ_TISNUM); 2632 dasm_put(Dst, 12689, LJ_TISNUM);
2598 if (LJ_DUALNUM) { 2633 if (LJ_DUALNUM) {
2599 dasm_put(Dst, 12492, LJ_TISNUM); 2634 dasm_put(Dst, 12701, LJ_TISNUM);
2600 } 2635 }
2601 if (sse) { 2636 if (sse) {
2602 dasm_put(Dst, 13013); 2637 dasm_put(Dst, 13222);
2603 } else { 2638 } else {
2604 dasm_put(Dst, 13027); 2639 dasm_put(Dst, 13236);
2605 } 2640 }
2606 break; 2641 break;
2607 case 1: 2642 case 1:
2608 dasm_put(Dst, 12525, LJ_TISNUM); 2643 dasm_put(Dst, 12734, LJ_TISNUM);
2609 if (LJ_DUALNUM) { 2644 if (LJ_DUALNUM) {
2610 dasm_put(Dst, 12537, LJ_TISNUM); 2645 dasm_put(Dst, 12746, LJ_TISNUM);
2611 } 2646 }
2612 if (sse) { 2647 if (sse) {
2613 dasm_put(Dst, 13035); 2648 dasm_put(Dst, 13244);
2614 } else { 2649 } else {
2615 dasm_put(Dst, 13049); 2650 dasm_put(Dst, 13258);
2616 } 2651 }
2617 break; 2652 break;
2618 default: 2653 default:
2619 dasm_put(Dst, 12570, LJ_TISNUM, LJ_TISNUM); 2654 dasm_put(Dst, 12779, LJ_TISNUM, LJ_TISNUM);
2620 if (sse) { 2655 if (sse) {
2621 dasm_put(Dst, 13057); 2656 dasm_put(Dst, 13266);
2622 } else { 2657 } else {
2623 dasm_put(Dst, 13071); 2658 dasm_put(Dst, 13280);
2624 } 2659 }
2625 break; 2660 break;
2626 } 2661 }
2627 dasm_put(Dst, 13085); 2662 dasm_put(Dst, 13294);
2628 break; 2663 break;
2629 case BC_POW: 2664 case BC_POW:
2630 dasm_put(Dst, 12367); 2665 dasm_put(Dst, 12576);
2631 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2666 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2632 switch (vk) { 2667 switch (vk) {
2633 case 0: 2668 case 0:
2634 dasm_put(Dst, 12480, LJ_TISNUM); 2669 dasm_put(Dst, 12689, LJ_TISNUM);
2635 if (LJ_DUALNUM) { 2670 if (LJ_DUALNUM) {
2636 dasm_put(Dst, 12492, LJ_TISNUM); 2671 dasm_put(Dst, 12701, LJ_TISNUM);
2637 } 2672 }
2638 if (sse) { 2673 if (sse) {
2639 dasm_put(Dst, 13013); 2674 dasm_put(Dst, 13222);
2640 } else { 2675 } else {
2641 dasm_put(Dst, 13027); 2676 dasm_put(Dst, 13236);
2642 } 2677 }
2643 break; 2678 break;
2644 case 1: 2679 case 1:
2645 dasm_put(Dst, 12525, LJ_TISNUM); 2680 dasm_put(Dst, 12734, LJ_TISNUM);
2646 if (LJ_DUALNUM) { 2681 if (LJ_DUALNUM) {
2647 dasm_put(Dst, 12537, LJ_TISNUM); 2682 dasm_put(Dst, 12746, LJ_TISNUM);
2648 } 2683 }
2649 if (sse) { 2684 if (sse) {
2650 dasm_put(Dst, 13035); 2685 dasm_put(Dst, 13244);
2651 } else { 2686 } else {
2652 dasm_put(Dst, 13049); 2687 dasm_put(Dst, 13258);
2653 } 2688 }
2654 break; 2689 break;
2655 default: 2690 default:
2656 dasm_put(Dst, 12570, LJ_TISNUM, LJ_TISNUM); 2691 dasm_put(Dst, 12779, LJ_TISNUM, LJ_TISNUM);
2657 if (sse) { 2692 if (sse) {
2658 dasm_put(Dst, 13057); 2693 dasm_put(Dst, 13266);
2659 } else { 2694 } else {
2660 dasm_put(Dst, 13071); 2695 dasm_put(Dst, 13280);
2661 } 2696 }
2662 break; 2697 break;
2663 } 2698 }
2664 dasm_put(Dst, 13090); 2699 dasm_put(Dst, 13299);
2665 if (sse) { 2700 if (sse) {
2666 dasm_put(Dst, 12197); 2701 dasm_put(Dst, 12406);
2667 } else { 2702 } else {
2668 dasm_put(Dst, 12209); 2703 dasm_put(Dst, 12418);
2669 } 2704 }
2670 dasm_put(Dst, 11337); 2705 dasm_put(Dst, 11546);
2671 break; 2706 break;
2672 2707
2673 case BC_CAT: 2708 case BC_CAT:
2674 dasm_put(Dst, 13094, Dt1(->base), Dt1(->base)); 2709 dasm_put(Dst, 13303, Dt1(->base), Dt1(->base));
2675 break; 2710 break;
2676 2711
2677 /* -- Constant ops ------------------------------------------------------ */ 2712 /* -- Constant ops ------------------------------------------------------ */
2678 2713
2679 case BC_KSTR: 2714 case BC_KSTR:
2680 dasm_put(Dst, 13188, LJ_TSTR); 2715 dasm_put(Dst, 13397, LJ_TSTR);
2681 break; 2716 break;
2682 case BC_KCDATA: 2717 case BC_KCDATA:
2683#if LJ_HASFFI 2718#if LJ_HASFFI
2684 dasm_put(Dst, 13188, LJ_TCDATA); 2719 dasm_put(Dst, 13397, LJ_TCDATA);
2685#endif 2720#endif
2686 break; 2721 break;
2687 case BC_KSHORT: 2722 case BC_KSHORT:
2688 if (LJ_DUALNUM) { 2723 if (LJ_DUALNUM) {
2689 dasm_put(Dst, 13221, LJ_TISNUM); 2724 dasm_put(Dst, 13430, LJ_TISNUM);
2690 } else if (sse) { 2725 } else if (sse) {
2691 dasm_put(Dst, 13233); 2726 dasm_put(Dst, 13442);
2692 } else { 2727 } else {
2693 dasm_put(Dst, 13248); 2728 dasm_put(Dst, 13457);
2694 } 2729 }
2695 dasm_put(Dst, 11337); 2730 dasm_put(Dst, 11546);
2696 break; 2731 break;
2697 case BC_KNUM: 2732 case BC_KNUM:
2698 if (sse) { 2733 if (sse) {
2699 dasm_put(Dst, 13256); 2734 dasm_put(Dst, 13465);
2700 } else { 2735 } else {
2701 dasm_put(Dst, 13269); 2736 dasm_put(Dst, 13478);
2702 } 2737 }
2703 dasm_put(Dst, 11337); 2738 dasm_put(Dst, 11546);
2704 break; 2739 break;
2705 case BC_KPRI: 2740 case BC_KPRI:
2706 dasm_put(Dst, 13276); 2741 dasm_put(Dst, 13485);
2707 break; 2742 break;
2708 case BC_KNIL: 2743 case BC_KNIL:
2709 dasm_put(Dst, 13302, LJ_TNIL); 2744 dasm_put(Dst, 13511, LJ_TNIL);
2710 break; 2745 break;
2711 2746
2712 /* -- Upvalue and function ops ------------------------------------------ */ 2747 /* -- Upvalue and function ops ------------------------------------------ */
2713 2748
2714 case BC_UGET: 2749 case BC_UGET:
2715 dasm_put(Dst, 13348, offsetof(GCfuncL, uvptr), DtA(->v)); 2750 dasm_put(Dst, 13557, offsetof(GCfuncL, uvptr), DtA(->v));
2716 break; 2751 break;
2717 case BC_USETV: 2752 case BC_USETV:
2718#define TV2MARKOFS \ 2753#define TV2MARKOFS \
2719 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 2754 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
2720 dasm_put(Dst, 13392, 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); 2755 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);
2721 dasm_put(Dst, 13482); 2756 dasm_put(Dst, 13691);
2722 break; 2757 break;
2723#undef TV2MARKOFS 2758#undef TV2MARKOFS
2724 case BC_USETS: 2759 case BC_USETS:
2725 dasm_put(Dst, 13494, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 2760 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);
2726 break; 2761 break;
2727 case BC_USETN: 2762 case BC_USETN:
2728 dasm_put(Dst, 13585); 2763 dasm_put(Dst, 13794);
2729 if (sse) { 2764 if (sse) {
2730 dasm_put(Dst, 13590); 2765 dasm_put(Dst, 13799);
2731 } else { 2766 } else {
2732 dasm_put(Dst, 11847); 2767 dasm_put(Dst, 12056);
2733 } 2768 }
2734 dasm_put(Dst, 13597, offsetof(GCfuncL, uvptr), DtA(->v)); 2769 dasm_put(Dst, 13806, offsetof(GCfuncL, uvptr), DtA(->v));
2735 if (sse) { 2770 if (sse) {
2736 dasm_put(Dst, 13606); 2771 dasm_put(Dst, 13815);
2737 } else { 2772 } else {
2738 dasm_put(Dst, 13612); 2773 dasm_put(Dst, 13821);
2739 } 2774 }
2740 dasm_put(Dst, 11337); 2775 dasm_put(Dst, 11546);
2741 break; 2776 break;
2742 case BC_USETP: 2777 case BC_USETP:
2743 dasm_put(Dst, 13615, offsetof(GCfuncL, uvptr), DtA(->v)); 2778 dasm_put(Dst, 13824, offsetof(GCfuncL, uvptr), DtA(->v));
2744 break; 2779 break;
2745 case BC_UCLO: 2780 case BC_UCLO:
2746 dasm_put(Dst, 13652, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 2781 dasm_put(Dst, 13861, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
2747 break; 2782 break;
2748 2783
2749 case BC_FNEW: 2784 case BC_FNEW:
2750 dasm_put(Dst, 13706, Dt1(->base), Dt1(->base), LJ_TFUNC); 2785 dasm_put(Dst, 13915, Dt1(->base), Dt1(->base), LJ_TFUNC);
2751 break; 2786 break;
2752 2787
2753 /* -- Table ops --------------------------------------------------------- */ 2788 /* -- Table ops --------------------------------------------------------- */
2754 2789
2755 case BC_TNEW: 2790 case BC_TNEW:
2756 dasm_put(Dst, 13777, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 2791 dasm_put(Dst, 13986, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
2757 break; 2792 break;
2758 case BC_TDUP: 2793 case BC_TDUP:
2759 dasm_put(Dst, 13903, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 2794 dasm_put(Dst, 14112, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2760 break; 2795 break;
2761 2796
2762 case BC_GGET: 2797 case BC_GGET:
2763 dasm_put(Dst, 13995, Dt7(->env)); 2798 dasm_put(Dst, 14204, Dt7(->env));
2764 break; 2799 break;
2765 case BC_GSET: 2800 case BC_GSET:
2766 dasm_put(Dst, 14013, Dt7(->env)); 2801 dasm_put(Dst, 14222, Dt7(->env));
2767 break; 2802 break;
2768 2803
2769 case BC_TGETV: 2804 case BC_TGETV:
2770 dasm_put(Dst, 14031, LJ_TTAB); 2805 dasm_put(Dst, 14240, LJ_TTAB);
2771 if (LJ_DUALNUM) { 2806 if (LJ_DUALNUM) {
2772 dasm_put(Dst, 14054, LJ_TISNUM); 2807 dasm_put(Dst, 14263, LJ_TISNUM);
2773 } else { 2808 } else {
2774 dasm_put(Dst, 14068, LJ_TISNUM); 2809 dasm_put(Dst, 14277, LJ_TISNUM);
2775 if (sse) { 2810 if (sse) {
2776 dasm_put(Dst, 14079); 2811 dasm_put(Dst, 14288);
2777 } else { 2812 } else {
2778 dasm_put(Dst, 14100); 2813 dasm_put(Dst, 14309);
2779 if (cmov) { 2814 if (cmov) {
2780 dasm_put(Dst, 3944); 2815 dasm_put(Dst, 3953);
2781 } else { 2816 } else {
2782 dasm_put(Dst, 3950); 2817 dasm_put(Dst, 3959);
2783 } 2818 }
2784 dasm_put(Dst, 2680); 2819 dasm_put(Dst, 2689);
2785 } 2820 }
2786 dasm_put(Dst, 14110); 2821 dasm_put(Dst, 14319);
2787 } 2822 }
2788 dasm_put(Dst, 14115, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); 2823 dasm_put(Dst, 14324, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL);
2789 dasm_put(Dst, 14210, LJ_TSTR); 2824 dasm_put(Dst, 14419, LJ_TSTR);
2790 break; 2825 break;
2791 case BC_TGETS: 2826 case BC_TGETS:
2792 dasm_put(Dst, 14228, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2827 dasm_put(Dst, 14437, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2793 dasm_put(Dst, 14316, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2828 dasm_put(Dst, 14525, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2794 break; 2829 break;
2795 case BC_TGETB: 2830 case BC_TGETB:
2796 dasm_put(Dst, 14386, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2831 dasm_put(Dst, 14595, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2797 dasm_put(Dst, 14485, LJ_TNIL); 2832 dasm_put(Dst, 14694, LJ_TNIL);
2798 break; 2833 break;
2799 2834
2800 case BC_TSETV: 2835 case BC_TSETV:
2801 dasm_put(Dst, 14502, LJ_TTAB); 2836 dasm_put(Dst, 14711, LJ_TTAB);
2802 if (LJ_DUALNUM) { 2837 if (LJ_DUALNUM) {
2803 dasm_put(Dst, 14054, LJ_TISNUM); 2838 dasm_put(Dst, 14263, LJ_TISNUM);
2804 } else { 2839 } else {
2805 dasm_put(Dst, 14068, LJ_TISNUM); 2840 dasm_put(Dst, 14277, LJ_TISNUM);
2806 if (sse) { 2841 if (sse) {
2807 dasm_put(Dst, 14079); 2842 dasm_put(Dst, 14288);
2808 } else { 2843 } else {
2809 dasm_put(Dst, 14100); 2844 dasm_put(Dst, 14309);
2810 if (cmov) { 2845 if (cmov) {
2811 dasm_put(Dst, 3944); 2846 dasm_put(Dst, 3953);
2812 } else { 2847 } else {
2813 dasm_put(Dst, 3950); 2848 dasm_put(Dst, 3959);
2814 } 2849 }
2815 dasm_put(Dst, 2680); 2850 dasm_put(Dst, 2689);
2816 } 2851 }
2817 dasm_put(Dst, 14525); 2852 dasm_put(Dst, 14734);
2818 } 2853 }
2819 dasm_put(Dst, 14530, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); 2854 dasm_put(Dst, 14739, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
2820 dasm_put(Dst, 14614, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2855 dasm_put(Dst, 14823, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2821 break; 2856 break;
2822 case BC_TSETS: 2857 case BC_TSETS:
2823 dasm_put(Dst, 14671, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2858 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);
2824 dasm_put(Dst, 14746, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 2859 dasm_put(Dst, 14955, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2825 dasm_put(Dst, 14838, 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)); 2860 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));
2826 break; 2861 break;
2827 case BC_TSETB: 2862 case BC_TSETB:
2828 dasm_put(Dst, 14934, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 2863 dasm_put(Dst, 15143, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2829 dasm_put(Dst, 15032, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2864 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));
2830 break; 2865 break;
2831 2866
2832 case BC_TSETM: 2867 case BC_TSETM:
2833 dasm_put(Dst, 15078, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); 2868 dasm_put(Dst, 15287, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
2834 dasm_put(Dst, 15227, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2869 dasm_put(Dst, 15436, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2835 break; 2870 break;
2836 2871
2837 /* -- Calls and vararg handling ----------------------------------------- */ 2872 /* -- Calls and vararg handling ----------------------------------------- */
2838 2873
2839 case BC_CALL: case BC_CALLM: 2874 case BC_CALL: case BC_CALLM:
2840 dasm_put(Dst, 12371); 2875 dasm_put(Dst, 12580);
2841 if (op == BC_CALLM) { 2876 if (op == BC_CALLM) {
2842 dasm_put(Dst, 15245); 2877 dasm_put(Dst, 15454);
2843 } 2878 }
2844 dasm_put(Dst, 15250, LJ_TFUNC, Dt7(->pc)); 2879 dasm_put(Dst, 15459, LJ_TFUNC, Dt7(->pc));
2845 break; 2880 break;
2846 2881
2847 case BC_CALLMT: 2882 case BC_CALLMT:
2848 dasm_put(Dst, 15245); 2883 dasm_put(Dst, 15454);
2849 break; 2884 break;
2850 case BC_CALLT: 2885 case BC_CALLT:
2851 dasm_put(Dst, 15291, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 2886 dasm_put(Dst, 15500, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
2852 dasm_put(Dst, 15409, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); 2887 dasm_put(Dst, 15618, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
2853 break; 2888 break;
2854 2889
2855 case BC_ITERC: 2890 case BC_ITERC:
2856 dasm_put(Dst, 15479, LJ_TFUNC, 2+1, Dt7(->pc)); 2891 dasm_put(Dst, 15688, LJ_TFUNC, 2+1, Dt7(->pc));
2857 break; 2892 break;
2858 2893
2859 case BC_ITERN: 2894 case BC_ITERN:
2860#if LJ_HASJIT 2895#if LJ_HASJIT
2861#endif 2896#endif
2862 dasm_put(Dst, 15559, Dt6(->asize), Dt6(->array), LJ_TNIL); 2897 dasm_put(Dst, 15768, Dt6(->asize), Dt6(->array), LJ_TNIL);
2863 if (LJ_DUALNUM) { 2898 if (LJ_DUALNUM) {
2864 dasm_put(Dst, 12232, LJ_TISNUM); 2899 dasm_put(Dst, 12441, LJ_TISNUM);
2865 } else if (sse) { 2900 } else if (sse) {
2866 dasm_put(Dst, 12325); 2901 dasm_put(Dst, 12534);
2867 } else { 2902 } else {
2868 dasm_put(Dst, 15605); 2903 dasm_put(Dst, 15814);
2869 } 2904 }
2870 dasm_put(Dst, 15611); 2905 dasm_put(Dst, 15820);
2871 if (LJ_DUALNUM) { 2906 if (LJ_DUALNUM) {
2872 } else if (sse) { 2907 } else if (sse) {
2873 dasm_put(Dst, 12197); 2908 dasm_put(Dst, 12406);
2874 } else { 2909 } else {
2875 dasm_put(Dst, 12209); 2910 dasm_put(Dst, 12418);
2876 } 2911 }
2877 dasm_put(Dst, 15630, -BCBIAS_J*4); 2912 dasm_put(Dst, 15839, -BCBIAS_J*4);
2878 if (!LJ_DUALNUM && !sse) { 2913 if (!LJ_DUALNUM && !sse) {
2879 dasm_put(Dst, 15681); 2914 dasm_put(Dst, 15890);
2880 } 2915 }
2881 dasm_put(Dst, 15687, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key.gcr), DtB(->key.it), DtB(->val.gcr), DtB(->val.it)); 2916 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));
2882 dasm_put(Dst, 15762); 2917 dasm_put(Dst, 15971);
2883 break; 2918 break;
2884 2919
2885 case BC_ISNEXT: 2920 case BC_ISNEXT:
2886 dasm_put(Dst, 15770, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); 2921 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);
2887 break; 2922 break;
2888 2923
2889 case BC_VARG: 2924 case BC_VARG:
2890 dasm_put(Dst, 15869, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); 2925 dasm_put(Dst, 16078, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
2891 dasm_put(Dst, 16033, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 2926 dasm_put(Dst, 16242, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2892 break; 2927 break;
2893 2928
2894 /* -- Returns ----------------------------------------------------------- */ 2929 /* -- Returns ----------------------------------------------------------- */
2895 2930
2896 case BC_RETM: 2931 case BC_RETM:
2897 dasm_put(Dst, 15245); 2932 dasm_put(Dst, 15454);
2898 break; 2933 break;
2899 2934
2900 case BC_RET: case BC_RET0: case BC_RET1: 2935 case BC_RET: case BC_RET0: case BC_RET1:
2901 if (op != BC_RET0) { 2936 if (op != BC_RET0) {
2902 dasm_put(Dst, 16104); 2937 dasm_put(Dst, 16313);
2903 } 2938 }
2904 dasm_put(Dst, 16108, FRAME_TYPE); 2939 dasm_put(Dst, 16317, FRAME_TYPE);
2905 switch (op) { 2940 switch (op) {
2906 case BC_RET: 2941 case BC_RET:
2907 dasm_put(Dst, 16127); 2942 dasm_put(Dst, 16336);
2908 break; 2943 break;
2909 case BC_RET1: 2944 case BC_RET1:
2910 dasm_put(Dst, 16185); 2945 dasm_put(Dst, 16394);
2911 /* fallthrough */ 2946 /* fallthrough */
2912 case BC_RET0: 2947 case BC_RET0:
2913 dasm_put(Dst, 16201); 2948 dasm_put(Dst, 16410);
2914 default: 2949 default:
2915 break; 2950 break;
2916 } 2951 }
2917 dasm_put(Dst, 16212, Dt7(->pc), PC2PROTO(k)); 2952 dasm_put(Dst, 16421, Dt7(->pc), PC2PROTO(k));
2918 if (op == BC_RET) { 2953 if (op == BC_RET) {
2919 dasm_put(Dst, 16254, LJ_TNIL); 2954 dasm_put(Dst, 16463, LJ_TNIL);
2920 } else { 2955 } else {
2921 dasm_put(Dst, 16263, LJ_TNIL); 2956 dasm_put(Dst, 16472, LJ_TNIL);
2922 } 2957 }
2923 dasm_put(Dst, 16270, -FRAME_VARG, FRAME_TYPEP); 2958 dasm_put(Dst, 16479, -FRAME_VARG, FRAME_TYPEP);
2924 if (op != BC_RET0) { 2959 if (op != BC_RET0) {
2925 dasm_put(Dst, 16294); 2960 dasm_put(Dst, 16503);
2926 } 2961 }
2927 dasm_put(Dst, 4928); 2962 dasm_put(Dst, 4937);
2928 break; 2963 break;
2929 2964
2930 /* -- Loops and branches ------------------------------------------------ */ 2965 /* -- Loops and branches ------------------------------------------------ */
@@ -2932,7 +2967,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2932 2967
2933 case BC_FORL: 2968 case BC_FORL:
2934#if LJ_HASJIT 2969#if LJ_HASJIT
2935 dasm_put(Dst, 16298, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP); 2970 dasm_put(Dst, 16507, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP);
2936#endif 2971#endif
2937 break; 2972 break;
2938 2973
@@ -2944,111 +2979,111 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2944 case BC_FORI: 2979 case BC_FORI:
2945 case BC_IFORL: 2980 case BC_IFORL:
2946 vk = (op == BC_IFORL || op == BC_JFORL); 2981 vk = (op == BC_IFORL || op == BC_JFORL);
2947 dasm_put(Dst, 16319); 2982 dasm_put(Dst, 16528);
2948 if (LJ_DUALNUM) { 2983 if (LJ_DUALNUM) {
2949 dasm_put(Dst, 16323, LJ_TISNUM); 2984 dasm_put(Dst, 16532, LJ_TISNUM);
2950 if (!vk) { 2985 if (!vk) {
2951 dasm_put(Dst, 16333, LJ_TISNUM, LJ_TISNUM); 2986 dasm_put(Dst, 16542, LJ_TISNUM, LJ_TISNUM);
2952 } else { 2987 } else {
2953#ifdef LUA_USE_ASSERT 2988#ifdef LUA_USE_ASSERT
2954 dasm_put(Dst, 16362, LJ_TISNUM, LJ_TISNUM); 2989 dasm_put(Dst, 16571, LJ_TISNUM, LJ_TISNUM);
2955#endif 2990#endif
2956 dasm_put(Dst, 16381); 2991 dasm_put(Dst, 16590);
2957 } 2992 }
2958 dasm_put(Dst, 16400, LJ_TISNUM); 2993 dasm_put(Dst, 16609, LJ_TISNUM);
2959 if (op == BC_FORI) { 2994 if (op == BC_FORI) {
2960 dasm_put(Dst, 16411, -BCBIAS_J*4); 2995 dasm_put(Dst, 16620, -BCBIAS_J*4);
2961 } else if (op == BC_JFORI) { 2996 } else if (op == BC_JFORI) {
2962 dasm_put(Dst, 16425, -BCBIAS_J*4, BC_JLOOP); 2997 dasm_put(Dst, 16634, -BCBIAS_J*4, BC_JLOOP);
2963 } else if (op == BC_IFORL) { 2998 } else if (op == BC_IFORL) {
2964 dasm_put(Dst, 16443, -BCBIAS_J*4); 2999 dasm_put(Dst, 16652, -BCBIAS_J*4);
2965 } else { 3000 } else {
2966 dasm_put(Dst, 16435, BC_JLOOP); 3001 dasm_put(Dst, 16644, BC_JLOOP);
2967 } 3002 }
2968 dasm_put(Dst, 16457); 3003 dasm_put(Dst, 16666);
2969 if (vk) { 3004 if (vk) {
2970 dasm_put(Dst, 16480); 3005 dasm_put(Dst, 16689);
2971 } 3006 }
2972 dasm_put(Dst, 16400, LJ_TISNUM); 3007 dasm_put(Dst, 16609, LJ_TISNUM);
2973 if (op == BC_FORI) { 3008 if (op == BC_FORI) {
2974 dasm_put(Dst, 16489); 3009 dasm_put(Dst, 16698);
2975 } else if (op == BC_JFORI) { 3010 } else if (op == BC_JFORI) {
2976 dasm_put(Dst, 16494, -BCBIAS_J*4, BC_JLOOP); 3011 dasm_put(Dst, 16703, -BCBIAS_J*4, BC_JLOOP);
2977 } else if (op == BC_IFORL) { 3012 } else if (op == BC_IFORL) {
2978 dasm_put(Dst, 16508); 3013 dasm_put(Dst, 16717);
2979 } else { 3014 } else {
2980 dasm_put(Dst, 16504, BC_JLOOP); 3015 dasm_put(Dst, 16713, BC_JLOOP);
2981 } 3016 }
2982 dasm_put(Dst, 16513); 3017 dasm_put(Dst, 16722);
2983 } else if (!vk) { 3018 } else if (!vk) {
2984 dasm_put(Dst, 16520, LJ_TISNUM); 3019 dasm_put(Dst, 16729, LJ_TISNUM);
2985 } 3020 }
2986 if (!vk) { 3021 if (!vk) {
2987 dasm_put(Dst, 16526, LJ_TISNUM); 3022 dasm_put(Dst, 16735, LJ_TISNUM);
2988 } else { 3023 } else {
2989#ifdef LUA_USE_ASSERT 3024#ifdef LUA_USE_ASSERT
2990 dasm_put(Dst, 16540, LJ_TISNUM, LJ_TISNUM); 3025 dasm_put(Dst, 16749, LJ_TISNUM, LJ_TISNUM);
2991#endif 3026#endif
2992 } 3027 }
2993 dasm_put(Dst, 16559); 3028 dasm_put(Dst, 16768);
2994 if (!vk) { 3029 if (!vk) {
2995 dasm_put(Dst, 16563, LJ_TISNUM); 3030 dasm_put(Dst, 16772, LJ_TISNUM);
2996 } 3031 }
2997 if (sse) { 3032 if (sse) {
2998 dasm_put(Dst, 16572); 3033 dasm_put(Dst, 16781);
2999 if (vk) { 3034 if (vk) {
3000 dasm_put(Dst, 16584); 3035 dasm_put(Dst, 16793);
3001 } else { 3036 } else {
3002 dasm_put(Dst, 16603); 3037 dasm_put(Dst, 16812);
3003 } 3038 }
3004 dasm_put(Dst, 16608); 3039 dasm_put(Dst, 16817);
3005 } else { 3040 } else {
3006 dasm_put(Dst, 16621); 3041 dasm_put(Dst, 16830);
3007 if (vk) { 3042 if (vk) {
3008 dasm_put(Dst, 16627); 3043 dasm_put(Dst, 16836);
3009 } else { 3044 } else {
3010 dasm_put(Dst, 16643); 3045 dasm_put(Dst, 16852);
3011 } 3046 }
3012 dasm_put(Dst, 16651); 3047 dasm_put(Dst, 16860);
3013 if (cmov) { 3048 if (cmov) {
3014 dasm_put(Dst, 3944); 3049 dasm_put(Dst, 3953);
3015 } else { 3050 } else {
3016 dasm_put(Dst, 3950); 3051 dasm_put(Dst, 3959);
3017 } 3052 }
3018 if (!cmov) { 3053 if (!cmov) {
3019 dasm_put(Dst, 16656); 3054 dasm_put(Dst, 16865);
3020 } 3055 }
3021 } 3056 }
3022 if (op == BC_FORI) { 3057 if (op == BC_FORI) {
3023 if (LJ_DUALNUM) { 3058 if (LJ_DUALNUM) {
3024 dasm_put(Dst, 16662); 3059 dasm_put(Dst, 16871);
3025 } else { 3060 } else {
3026 dasm_put(Dst, 16667, -BCBIAS_J*4); 3061 dasm_put(Dst, 16876, -BCBIAS_J*4);
3027 } 3062 }
3028 } else if (op == BC_JFORI) { 3063 } else if (op == BC_JFORI) {
3029 dasm_put(Dst, 16677, -BCBIAS_J*4, BC_JLOOP); 3064 dasm_put(Dst, 16886, -BCBIAS_J*4, BC_JLOOP);
3030 } else if (op == BC_IFORL) { 3065 } else if (op == BC_IFORL) {
3031 if (LJ_DUALNUM) { 3066 if (LJ_DUALNUM) {
3032 dasm_put(Dst, 16691); 3067 dasm_put(Dst, 16900);
3033 } else { 3068 } else {
3034 dasm_put(Dst, 16696, -BCBIAS_J*4); 3069 dasm_put(Dst, 16905, -BCBIAS_J*4);
3035 } 3070 }
3036 } else { 3071 } else {
3037 dasm_put(Dst, 16687, BC_JLOOP); 3072 dasm_put(Dst, 16896, BC_JLOOP);
3038 } 3073 }
3039 if (LJ_DUALNUM) { 3074 if (LJ_DUALNUM) {
3040 dasm_put(Dst, 11234); 3075 dasm_put(Dst, 11448);
3041 } else { 3076 } else {
3042 dasm_put(Dst, 11975); 3077 dasm_put(Dst, 12184);
3043 } 3078 }
3044 if (sse) { 3079 if (sse) {
3045 dasm_put(Dst, 16706); 3080 dasm_put(Dst, 16915);
3046 } 3081 }
3047 break; 3082 break;
3048 3083
3049 case BC_ITERL: 3084 case BC_ITERL:
3050#if LJ_HASJIT 3085#if LJ_HASJIT
3051 dasm_put(Dst, 16298, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP); 3086 dasm_put(Dst, 16507, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP);
3052#endif 3087#endif
3053 break; 3088 break;
3054 3089
@@ -3057,33 +3092,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
3057 break; 3092 break;
3058#endif 3093#endif
3059 case BC_IITERL: 3094 case BC_IITERL:
3060 dasm_put(Dst, 16717, LJ_TNIL); 3095 dasm_put(Dst, 16926, LJ_TNIL);
3061 if (op == BC_JITERL) { 3096 if (op == BC_JITERL) {
3062 dasm_put(Dst, 16732, BC_JLOOP); 3097 dasm_put(Dst, 16941, BC_JLOOP);
3063 } else { 3098 } else {
3064 dasm_put(Dst, 16746, -BCBIAS_J*4); 3099 dasm_put(Dst, 16955, -BCBIAS_J*4);
3065 } 3100 }
3066 dasm_put(Dst, 11335); 3101 dasm_put(Dst, 11544);
3067 break; 3102 break;
3068 3103
3069 case BC_LOOP: 3104 case BC_LOOP:
3070#if LJ_HASJIT 3105#if LJ_HASJIT
3071 dasm_put(Dst, 16298, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP); 3106 dasm_put(Dst, 16507, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP);
3072#endif 3107#endif
3073 break; 3108 break;
3074 3109
3075 case BC_ILOOP: 3110 case BC_ILOOP:
3076 dasm_put(Dst, 11337); 3111 dasm_put(Dst, 11546);
3077 break; 3112 break;
3078 3113
3079 case BC_JLOOP: 3114 case BC_JLOOP:
3080#if LJ_HASJIT 3115#if LJ_HASJIT
3081 dasm_put(Dst, 16762, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); 3116 dasm_put(Dst, 16971, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
3082#endif 3117#endif
3083 break; 3118 break;
3084 3119
3085 case BC_JMP: 3120 case BC_JMP:
3086 dasm_put(Dst, 16785, -BCBIAS_J*4); 3121 dasm_put(Dst, 16994, -BCBIAS_J*4);
3087 break; 3122 break;
3088 3123
3089 /* -- Function headers -------------------------------------------------- */ 3124 /* -- Function headers -------------------------------------------------- */
@@ -3097,7 +3132,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
3097 3132
3098 case BC_FUNCF: 3133 case BC_FUNCF:
3099#if LJ_HASJIT 3134#if LJ_HASJIT
3100 dasm_put(Dst, 16809, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_CALL); 3135 dasm_put(Dst, 17018, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_CALL);
3101#endif 3136#endif
3102 case BC_FUNCV: /* NYI: compiled vararg functions. */ 3137 case BC_FUNCV: /* NYI: compiled vararg functions. */
3103 break; 3138 break;
@@ -3107,47 +3142,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
3107 break; 3142 break;
3108#endif 3143#endif
3109 case BC_IFUNCF: 3144 case BC_IFUNCF:
3110 dasm_put(Dst, 16830, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 3145 dasm_put(Dst, 17039, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
3111 if (op == BC_JFUNCF) { 3146 if (op == BC_JFUNCF) {
3112 dasm_put(Dst, 16860, BC_JLOOP); 3147 dasm_put(Dst, 17069, BC_JLOOP);
3113 } else { 3148 } else {
3114 dasm_put(Dst, 11337); 3149 dasm_put(Dst, 11546);
3115 } 3150 }
3116 dasm_put(Dst, 16869, LJ_TNIL); 3151 dasm_put(Dst, 17078, LJ_TNIL);
3117 break; 3152 break;
3118 3153
3119 case BC_JFUNCV: 3154 case BC_JFUNCV:
3120#if !LJ_HASJIT 3155#if !LJ_HASJIT
3121 break; 3156 break;
3122#endif 3157#endif
3123 dasm_put(Dst, 10436); 3158 dasm_put(Dst, 10445);
3124 break; /* NYI: compiled vararg functions. */ 3159 break; /* NYI: compiled vararg functions. */
3125 3160
3126 case BC_IFUNCV: 3161 case BC_IFUNCV:
3127 dasm_put(Dst, 16891, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 3162 dasm_put(Dst, 17100, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
3128 if (op == BC_JFUNCV) { 3163 if (op == BC_JFUNCV) {
3129 dasm_put(Dst, 16860, BC_JLOOP); 3164 dasm_put(Dst, 17069, BC_JLOOP);
3130 } else { 3165 } else {
3131 dasm_put(Dst, 16982, -4+PC2PROTO(k)); 3166 dasm_put(Dst, 17191, -4+PC2PROTO(k));
3132 } 3167 }
3133 dasm_put(Dst, 17004, LJ_TNIL); 3168 dasm_put(Dst, 17213, LJ_TNIL);
3134 break; 3169 break;
3135 3170
3136 case BC_FUNCC: 3171 case BC_FUNCC:
3137 case BC_FUNCCW: 3172 case BC_FUNCCW:
3138 dasm_put(Dst, 17026, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 3173 dasm_put(Dst, 17235, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
3139 if (op == BC_FUNCC) { 3174 if (op == BC_FUNCC) {
3140 dasm_put(Dst, 17055); 3175 dasm_put(Dst, 17264);
3141 } else { 3176 } else {
3142 dasm_put(Dst, 17059); 3177 dasm_put(Dst, 17268);
3143 } 3178 }
3144 dasm_put(Dst, 17067, DISPATCH_GL(vmstate), ~LJ_VMST_C); 3179 dasm_put(Dst, 17276, DISPATCH_GL(vmstate), ~LJ_VMST_C);
3145 if (op == BC_FUNCC) { 3180 if (op == BC_FUNCC) {
3146 dasm_put(Dst, 17076); 3181 dasm_put(Dst, 17285);
3147 } else { 3182 } else {
3148 dasm_put(Dst, 17080, DISPATCH_GL(wrapf)); 3183 dasm_put(Dst, 17289, DISPATCH_GL(wrapf));
3149 } 3184 }
3150 dasm_put(Dst, 17085, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 3185 dasm_put(Dst, 17294, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
3151 break; 3186 break;
3152 3187
3153 /* ---------------------------------------------------------------------- */ 3188 /* ---------------------------------------------------------------------- */
@@ -3175,7 +3210,7 @@ static int build_backend(BuildCtx *ctx)
3175 3210
3176 build_subroutines(ctx, cmov, sse); 3211 build_subroutines(ctx, cmov, sse);
3177 3212
3178 dasm_put(Dst, 17110); 3213 dasm_put(Dst, 17319);
3179 for (op = 0; op < BC__MAX; op++) 3214 for (op = 0; op < BC__MAX; op++)
3180 build_ins(ctx, (BCOp)op, op, cmov, sse); 3215 build_ins(ctx, (BCOp)op, op, cmov, sse);
3181 3216