summaryrefslogtreecommitdiff
path: root/src/buildvm_x64win.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildvm_x64win.h')
-rw-r--r--src/buildvm_x64win.h2918
1 files changed, 1784 insertions, 1134 deletions
diff --git a/src/buildvm_x64win.h b/src/buildvm_x64win.h
index d6d580e2..e4de09ee 100644
--- a/src/buildvm_x64win.h
+++ b/src/buildvm_x64win.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[14499] = { 15static const unsigned char build_actionlist[15785] = {
16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72, 16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72,
17 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68, 17 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,
18 36,84,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237, 18 36,84,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237,
@@ -56,538 +56,591 @@ static const unsigned char build_actionlist[14499] = {
56 137,145,233,72,139,0,72,137,69,0,137,252,234,252,233,244,33,248,34,137,68, 56 137,145,233,72,139,0,72,137,69,0,137,252,234,252,233,244,33,248,34,137,68,
57 36,80,199,68,36,84,237,72,141,68,36,80,128,126,252,252,235,15,133,244,247, 57 36,80,199,68,36,84,237,72,141,68,36,80,128,126,252,252,235,15,133,244,247,
58 141,139,233,137,41,199,65,4,237,137,205,252,233,244,248,248,35,15,182,70, 58 141,139,233,137,41,199,65,4,237,137,205,252,233,244,248,248,35,15,182,70,
59 252,254,255,252,242,15,42,192,252,242,15,17,68,36,80,255,72,141,68,36,80, 59 252,254,255,199,68,36,84,237,137,68,36,80,255,252,242,15,42,192,252,242,15,
60 252,233,244,247,248,36,15,182,70,252,254,141,4,194,248,1,15,182,110,252,255, 60 17,68,36,80,255,72,141,68,36,80,252,233,244,247,248,36,15,182,70,252,254,
61 141,44,252,234,248,2,139,76,36,96,137,145,233,137,252,234,73,137,192,137, 61 141,4,194,248,1,15,182,110,252,255,141,44,252,234,248,2,139,76,36,96,137,
62 205,137,116,36,100,232,251,1,1,139,149,233,133,192,15,132,244,249,248,32, 62 145,233,137,252,234,73,137,192,137,205,137,116,36,100,232,251,1,1,139,149,
63 15,182,78,252,253,72,139,40,72,137,44,202,139,6,15,182,204,15,182,232,131, 63 233,133,192,15,132,244,249,248,32,15,182,78,252,253,72,139,40,72,137,44,202,
64 198,4,193,232,16,252,255,36,252,235,248,3,139,141,233,137,113,252,244,141, 64 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,
65 177,233,41,214,139,105,252,248,184,237,252,233,244,29,248,37,137,68,36,80, 65 139,141,233,137,113,252,244,141,177,233,41,214,139,105,252,248,184,237,252,
66 199,68,36,84,237,72,141,68,36,80,128,126,252,252,235,15,133,244,247,255,141, 66 233,244,29,248,37,137,68,36,80,199,68,36,84,237,72,141,68,36,80,128,126,252,
67 139,233,137,41,199,65,4,237,137,205,252,233,244,248,248,38,15,182,70,252, 67 252,235,15,133,244,247,255,141,139,233,137,41,199,65,4,237,137,205,252,233,
68 254,255,72,141,68,36,80,252,233,244,247,248,39,15,182,70,252,254,141,4,194, 68 244,248,248,38,15,182,70,252,254,255,72,141,68,36,80,252,233,244,247,248,
69 248,1,15,182,110,252,255,141,44,252,234,248,2,139,76,36,96,137,145,233,137, 69 39,15,182,70,252,254,141,4,194,248,1,15,182,110,252,255,141,44,252,234,248,
70 252,234,73,137,192,137,205,137,116,36,100,232,251,1,2,139,149,233,133,192, 70 2,139,76,36,96,137,145,233,137,252,234,73,137,192,137,205,137,116,36,100,
71 15,132,244,249,15,182,78,252,253,72,139,44,202,72,137,40,248,40,139,6,15, 71 232,251,1,2,139,149,233,133,192,15,132,244,249,15,182,78,252,253,72,139,44,
72 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,139,141, 72 202,72,137,40,248,40,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
73 233,137,113,252,244,15,182,70,252,253,72,139,44,194,72,137,105,16,141,177, 73 255,36,252,235,248,3,139,141,233,137,113,252,244,15,182,70,252,253,72,139,
74 233,41,214,139,105,252,248,184,237,252,233,244,29,248,41,139,108,36,96,137, 74 44,194,72,137,105,16,141,177,233,41,214,139,105,252,248,184,237,252,233,244,
75 149,233,68,141,4,194,141,20,202,137,252,233,68,15,182,78,252,252,137,116, 75 29,248,41,139,108,36,96,137,149,233,68,141,4,194,141,20,202,137,252,233,68,
76 36,100,232,251,1,3,248,3,139,149,233,255,131,252,248,1,15,135,244,42,248, 76 15,182,78,252,252,137,116,36,100,232,251,1,3,248,3,139,149,233,255,131,252,
77 4,141,118,4,15,130,244,252,248,5,15,183,70,252,254,141,180,253,134,233,248, 77 248,1,15,135,244,42,248,4,141,118,4,15,130,244,252,248,5,15,183,70,252,254,
78 6,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248, 78 141,180,253,134,233,248,6,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
79 43,131,198,4,129,120,253,4,239,15,130,244,5,252,233,244,6,248,44,129,120, 79 252,255,36,252,235,248,43,131,198,4,129,120,253,4,239,15,130,244,5,252,233,
80 253,4,239,252,233,244,4,248,45,131,252,238,4,65,137,192,65,137,252,233,139, 80 244,6,248,44,129,120,253,4,239,252,233,244,4,248,45,131,252,238,4,65,137,
81 108,36,96,137,149,233,255,137,202,137,252,233,137,116,36,100,232,251,1,4, 81 192,65,137,252,233,139,108,36,96,137,149,233,255,137,202,137,252,233,137,
82 252,233,244,3,248,46,255,131,252,238,4,139,108,36,96,137,149,233,137,252, 82 116,36,100,232,251,1,4,252,233,244,3,248,46,255,131,252,238,4,139,108,36,
83 233,139,86,252,252,137,116,36,100,232,251,1,5,252,233,244,3,255,248,47,141, 83 96,137,149,233,137,252,233,139,86,252,252,137,116,36,100,232,251,1,5,252,
84 4,199,252,233,244,247,248,48,141,4,199,141,44,252,234,149,252,233,244,248, 84 233,244,3,255,248,47,255,15,182,110,252,255,255,248,48,141,4,199,252,233,
85 248,49,141,4,194,137,197,252,233,244,248,248,50,141,4,194,248,1,141,44,252, 85 244,247,248,49,255,248,50,141,4,199,141,44,252,234,149,252,233,244,248,248,
86 234,248,2,141,12,202,65,137,232,65,137,193,15,182,70,252,252,137,68,36,32, 86 51,141,4,194,137,197,252,233,244,248,248,52,255,248,53,141,4,194,248,1,141,
87 139,108,36,96,137,149,233,137,202,137,252,233,137,116,36,100,232,251,1,6, 87 44,252,234,248,2,141,12,202,65,137,232,65,137,193,15,182,70,252,252,137,68,
88 139,149,233,133,192,15,132,244,40,248,42,137,193,41,208,137,113,252,244,141, 88 36,32,139,108,36,96,137,149,233,137,202,137,252,233,137,116,36,100,232,251,
89 176,233,184,237,252,233,244,27,248,51,255,139,108,36,96,137,149,233,141,20, 89 1,6,139,149,233,133,192,15,132,244,40,248,42,137,193,41,208,137,113,252,244,
90 141,176,233,184,237,252,233,244,27,248,54,139,108,36,96,137,149,233,141,20,
90 194,137,252,233,137,116,36,100,232,251,1,7,139,149,233,252,233,244,42,248, 91 194,137,252,233,137,116,36,100,232,251,1,7,139,149,233,252,233,244,42,248,
91 52,141,76,202,8,248,28,137,76,36,84,137,68,36,80,131,252,233,8,139,108,36, 92 55,141,76,202,8,248,28,137,76,36,84,137,68,36,80,131,252,233,8,139,108,36,
92 96,137,149,233,137,202,68,141,4,193,137,252,233,137,116,36,100,232,251,1, 93 96,137,149,233,255,137,202,68,141,4,193,137,252,233,137,116,36,100,232,251,
93 8,139,149,233,139,76,36,84,139,68,36,80,139,105,252,248,131,192,1,57,215, 94 1,8,139,149,233,139,76,36,84,139,68,36,80,139,105,252,248,131,192,1,57,215,
94 15,132,244,53,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15, 95 15,132,244,56,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,
95 182,205,131,198,4,252,255,36,252,235,248,54,139,108,36,96,137,149,233,137, 96 182,205,131,198,4,252,255,36,252,235,248,57,139,108,36,96,137,149,233,137,
96 202,137,252,233,137,116,36,100,232,251,1,9,139,149,233,139,70,252,252,15, 97 202,137,252,233,137,116,36,100,232,251,1,9,139,149,233,139,70,252,252,15,
97 182,204,15,182,232,193,232,16,252,255,164,253,252,235,233,248,55,129,252, 98 182,204,15,182,232,193,232,16,252,255,164,253,252,235,233,248,58,129,252,
98 248,239,15,130,244,56,139,106,4,129,252,253,239,255,15,131,244,56,139,114, 99 248,239,15,130,244,59,139,106,4,129,252,253,239,15,131,244,59,139,114,252,
99 252,252,137,68,36,84,137,106,252,252,139,42,137,106,252,248,131,232,2,15, 100 252,137,68,36,84,137,106,252,252,139,42,137,106,252,248,131,232,2,15,132,
100 132,244,248,137,209,248,1,131,193,8,72,139,41,72,137,105,252,248,131,232, 101 244,248,137,209,248,1,131,193,8,72,139,41,72,137,105,252,248,131,232,1,15,
101 1,15,133,244,1,248,2,139,68,36,84,252,233,244,57,248,58,129,252,248,239,15, 102 133,244,1,248,2,255,139,68,36,84,252,233,244,60,248,61,129,252,248,239,15,
102 130,244,56,139,106,4,137,252,233,193,252,249,15,131,252,249,252,254,15,132, 103 130,244,59,139,106,4,137,252,233,193,252,249,15,131,252,249,252,254,15,132,
103 244,249,184,237,252,247,213,57,232,255,15,71,197,255,15,134,244,247,137,232, 104 244,249,184,237,252,247,213,57,232,255,15,71,197,255,15,134,244,247,137,232,
104 248,1,255,248,2,139,106,252,248,139,132,253,197,233,139,114,252,252,199,66, 105 248,1,255,248,2,139,106,252,248,139,132,253,197,233,139,114,252,252,199,66,
105 252,252,237,137,66,252,248,252,233,244,59,248,3,184,237,252,233,244,2,248, 106 252,252,237,137,66,252,248,252,233,244,62,248,3,184,237,252,233,244,2,248,
106 60,129,252,248,239,15,130,244,56,139,106,4,139,114,252,252,129,252,253,239, 107 63,129,252,248,239,15,130,244,59,139,106,4,139,114,252,252,129,252,253,239,
107 15,133,244,252,248,1,139,42,139,173,233,248,2,133,252,237,199,66,252,252, 108 15,133,244,252,248,1,139,42,139,173,233,248,2,133,252,237,199,66,252,252,
108 237,255,15,132,244,59,139,131,233,199,66,252,252,237,137,106,252,248,139, 109 237,255,15,132,244,62,139,131,233,199,66,252,252,237,137,106,252,248,139,
109 141,233,35,136,233,105,201,239,3,141,233,248,3,129,185,233,239,15,133,244, 110 141,233,35,136,233,105,201,239,3,141,233,248,3,129,185,233,239,15,133,244,
110 250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,15,133,244,3,255, 111 250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,15,133,244,3,255,
111 252,233,244,59,248,5,139,105,4,129,252,253,239,15,132,244,59,139,1,137,106, 112 252,233,244,62,248,5,139,105,4,129,252,253,239,15,132,244,62,139,1,137,106,
112 252,252,137,66,252,248,252,233,244,59,248,6,129,252,253,239,15,132,244,1, 113 252,252,137,66,252,248,252,233,244,62,248,6,129,252,253,239,15,132,244,1,
113 129,252,253,239,15,135,244,253,189,237,248,7,252,247,213,139,172,253,171, 114 129,252,253,239,15,135,244,253,189,237,248,7,252,247,213,139,172,253,171,
114 233,252,233,244,2,248,61,255,129,252,248,239,15,130,244,56,129,122,253,4, 115 233,252,233,244,2,248,64,255,129,252,248,239,15,130,244,59,129,122,253,4,
115 239,15,133,244,56,139,42,131,189,233,0,15,133,244,56,129,122,253,12,239,15, 116 239,15,133,244,59,139,42,131,189,233,0,15,133,244,59,129,122,253,12,239,15,
116 133,244,56,139,66,8,137,133,233,139,114,252,252,199,66,252,252,237,137,106, 117 133,244,59,139,66,8,137,133,233,139,114,252,252,199,66,252,252,237,137,106,
117 252,248,252,246,133,233,235,15,132,244,247,128,165,233,235,255,139,131,233, 118 252,248,252,246,133,233,235,15,132,244,247,128,165,233,235,255,139,131,233,
118 137,171,233,137,133,233,248,1,252,233,244,59,248,62,129,252,248,239,15,130, 119 137,171,233,137,133,233,248,1,252,233,244,62,248,65,129,252,248,239,15,130,
119 244,56,129,122,253,4,239,15,133,244,56,137,213,68,141,66,8,139,18,139,76, 120 244,59,129,122,253,4,239,15,133,244,59,137,213,68,141,66,8,139,18,139,76,
120 36,96,232,251,1,10,137,252,234,72,139,40,139,114,252,252,72,137,106,252,248, 121 36,96,232,251,1,10,137,252,234,72,139,40,139,114,252,252,72,137,106,252,248,
121 252,233,244,59,248,63,129,252,248,239,15,133,244,56,129,122,253,4,239,255, 122 252,233,244,62,248,66,129,252,248,239,15,133,244,59,129,122,253,4,239,255,
122 15,135,244,56,255,252,242,15,16,2,252,233,244,64,255,221,2,252,233,244,65, 123 15,133,244,247,139,42,252,233,244,67,248,1,15,135,244,59,255,15,131,244,59,
123 255,248,66,129,252,248,239,15,130,244,56,139,114,252,252,129,122,253,4,239, 124 255,252,242,15,16,2,252,233,244,68,255,221,2,252,233,244,69,255,248,70,129,
124 15,133,244,249,139,2,248,2,199,66,252,252,237,137,66,252,248,252,233,244, 125 252,248,239,15,130,244,59,139,114,252,252,129,122,253,4,239,15,133,244,249,
125 59,248,3,129,122,253,4,239,15,135,244,56,131,187,233,0,15,133,244,56,139, 126 139,2,248,2,199,66,252,252,237,137,66,252,248,252,233,244,62,248,3,129,122,
126 171,233,59,171,233,255,15,130,244,247,232,244,67,248,1,139,108,36,96,137, 127 253,4,239,15,135,244,59,131,187,233,0,15,133,244,59,139,171,233,59,171,233,
127 149,233,137,116,36,100,137,252,233,232,251,1,11,139,149,233,252,233,244,2, 128 255,15,130,244,247,232,244,71,248,1,139,108,36,96,137,149,233,137,116,36,
128 248,68,129,252,248,239,15,130,244,56,15,132,244,248,248,1,129,122,253,4,239, 129 100,137,252,233,255,232,251,1,11,255,232,251,1,12,255,139,149,233,252,233,
129 15,133,244,56,139,108,36,96,137,149,233,255,137,149,233,139,114,252,252,68, 130 244,2,248,72,129,252,248,239,15,130,244,59,15,132,244,248,248,1,129,122,253,
130 141,66,8,139,18,137,252,233,137,116,36,100,232,251,1,12,139,149,233,133,192, 131 4,239,15,133,244,59,139,108,36,96,137,149,233,137,149,233,139,114,252,252,
131 15,132,244,249,72,139,106,8,72,139,66,16,72,137,106,252,248,72,137,2,248, 132 68,141,66,8,139,18,137,252,233,137,116,36,100,232,251,1,13,139,149,233,133,
132 69,184,237,252,233,244,70,248,2,199,66,12,237,252,233,244,1,248,3,199,66, 133 192,15,132,244,249,72,139,106,8,72,139,66,16,72,137,106,252,248,72,137,2,
133 252,252,237,252,233,244,59,248,71,129,252,248,239,15,130,244,56,255,139,42, 134 248,73,184,237,255,252,233,244,74,248,2,199,66,12,237,252,233,244,1,248,3,
134 129,122,253,4,239,15,133,244,56,255,131,189,233,0,15,133,244,56,255,139,106, 135 199,66,252,252,237,252,233,244,62,248,75,129,252,248,239,15,130,244,59,139,
135 252,248,139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248,199, 136 42,129,122,253,4,239,15,133,244,59,255,131,189,233,0,15,133,244,59,255,139,
136 66,12,237,184,237,252,233,244,70,248,72,129,252,248,239,15,130,244,56,129, 137 106,252,248,139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248,
137 122,253,4,239,15,133,244,56,129,122,253,12,239,15,135,244,56,139,114,252, 138 199,66,12,237,184,237,252,233,244,74,248,76,129,252,248,239,15,130,244,59,
138 252,255,252,242,15,16,66,8,72,189,237,237,102,72,15,110,205,252,242,15,88, 139 129,122,253,4,239,15,133,244,59,129,122,253,12,239,255,139,114,252,252,255,
139 193,252,242,15,45,192,252,242,15,17,66,252,248,255,139,42,59,133,233,15,131, 140 139,66,8,131,192,1,199,66,252,252,237,137,66,252,248,255,252,242,15,16,66,
140 244,248,193,224,3,3,133,233,248,1,129,120,253,4,239,15,132,244,73,72,139, 141 8,72,189,237,237,102,72,15,110,205,252,242,15,88,193,252,242,15,45,192,252,
141 40,72,137,42,252,233,244,69,248,2,131,189,233,0,15,132,244,73,137,252,233, 142 242,15,17,66,252,248,255,139,42,59,133,233,15,131,244,248,193,224,3,3,133,
142 137,213,137,194,232,251,1,13,137,252,234,133,192,15,133,244,1,248,73,184, 143 233,248,1,129,120,253,4,239,15,132,244,77,72,139,40,72,137,42,252,233,244,
143 237,252,233,244,70,248,74,255,129,252,248,239,15,130,244,56,139,42,129,122, 144 73,248,2,131,189,233,0,15,132,244,77,137,252,233,137,213,137,194,232,251,
144 253,4,239,15,133,244,56,255,139,106,252,248,139,133,233,139,114,252,252,199, 145 1,14,137,252,234,133,192,15,133,244,1,248,77,184,237,252,233,244,74,248,78,
145 66,252,252,237,137,66,252,248,255,15,87,192,252,242,15,17,66,8,255,217,252, 146 255,139,106,252,248,139,133,233,139,114,252,252,199,66,252,252,237,137,66,
146 238,221,90,8,255,184,237,252,233,244,70,248,75,129,252,248,239,15,130,244, 147 252,248,255,199,66,12,237,199,66,8,0,0,0,0,255,15,87,192,252,242,15,17,66,
147 56,141,74,8,131,232,1,190,237,248,1,15,182,171,233,193,252,237,235,131,229, 148 8,255,217,252,238,221,90,8,255,184,237,252,233,244,74,248,79,129,252,248,
148 1,1,252,238,252,233,244,27,248,76,129,252,248,239,15,130,244,56,129,122,253, 149 239,15,130,244,59,141,74,8,131,232,1,190,237,248,1,15,182,171,233,193,252,
149 12,239,15,133,244,56,255,139,106,4,137,106,12,199,66,4,237,139,42,139,114, 150 237,235,131,229,1,1,252,238,252,233,244,27,248,80,129,252,248,239,15,130,
150 8,137,106,8,137,50,141,74,16,131,232,2,190,237,252,233,244,1,248,77,129,252, 151 244,59,129,122,253,12,239,15,133,244,59,255,139,106,4,137,106,12,199,66,4,
151 248,239,15,130,244,56,139,42,139,114,252,252,137,116,36,100,137,108,36,80, 152 237,139,42,139,114,8,137,106,8,137,50,141,74,16,131,232,2,190,237,252,233,
152 129,122,253,4,239,15,133,244,56,72,131,189,233,0,15,133,244,56,128,189,233, 153 244,1,248,81,129,252,248,239,15,130,244,59,139,42,139,114,252,252,137,116,
153 235,15,135,244,56,139,141,233,15,132,244,247,255,59,141,233,15,132,244,56, 154 36,100,137,108,36,80,129,122,253,4,239,15,133,244,59,72,131,189,233,0,15,
154 248,1,141,116,193,252,240,59,181,233,15,135,244,56,137,181,233,139,108,36, 155 133,244,59,128,189,233,235,15,135,244,59,139,141,233,15,132,244,247,255,59,
155 96,137,149,233,131,194,8,137,149,233,141,108,194,232,72,41,252,245,57,206, 156 141,233,15,132,244,59,248,1,141,116,193,252,240,59,181,233,15,135,244,59,
156 15,132,244,249,248,2,72,139,4,46,72,137,70,252,248,131,252,238,8,57,206,15, 157 137,181,233,139,108,36,96,137,149,233,131,194,8,137,149,233,141,108,194,232,
157 133,244,2,248,3,137,202,139,76,36,80,232,244,24,199,131,233,237,255,139,108, 158 72,41,252,245,57,206,15,132,244,249,248,2,72,139,4,46,72,137,70,252,248,131,
158 36,96,139,116,36,80,139,149,233,129,252,248,239,15,135,244,254,248,4,139, 159 252,238,8,57,206,15,133,244,2,248,3,137,202,139,76,36,80,232,244,24,199,131,
159 142,233,139,190,233,137,142,233,137,252,254,41,206,15,132,244,252,141,4,50, 160 233,237,255,139,108,36,96,139,116,36,80,139,149,233,129,252,248,239,15,135,
160 193,252,238,3,59,133,233,15,135,244,255,137,213,72,41,205,248,5,72,139,1, 161 244,254,248,4,139,142,233,139,190,233,137,142,233,137,252,254,41,206,15,132,
161 72,137,4,41,131,193,8,57,252,249,15,133,244,5,248,6,141,70,2,199,66,252,252, 162 244,252,141,4,50,193,252,238,3,59,133,233,15,135,244,255,137,213,72,41,205,
162 237,248,7,139,116,36,100,137,68,36,84,72,199,193,252,248,252,255,252,255, 163 248,5,72,139,1,72,137,4,41,131,193,8,57,252,249,15,133,244,5,248,6,141,70,
163 252,255,252,247,198,237,255,15,132,244,13,252,233,244,14,248,8,199,66,252, 164 2,199,66,252,252,237,248,7,139,116,36,100,137,68,36,84,72,199,193,252,248,
164 252,237,139,142,233,131,252,233,8,137,142,233,72,139,1,72,137,2,184,237,252, 165 252,255,252,255,252,255,252,247,198,237,255,15,132,244,13,252,233,244,14,
165 233,244,7,248,9,139,76,36,80,137,185,233,137,252,242,137,252,233,232,251, 166 248,8,199,66,252,252,237,139,142,233,131,252,233,8,137,142,233,72,139,1,72,
166 1,0,139,116,36,80,139,149,233,252,233,244,4,248,78,139,106,252,248,139,173, 167 137,2,184,237,252,233,244,7,248,9,139,76,36,80,137,185,233,137,252,242,137,
167 233,139,114,252,252,137,116,36,100,137,108,36,80,72,131,189,233,0,15,133, 168 252,233,232,251,1,0,139,116,36,80,139,149,233,252,233,244,4,248,82,139,106,
168 244,56,255,128,189,233,235,15,135,244,56,139,141,233,15,132,244,247,59,141, 169 252,248,139,173,233,139,114,252,252,137,116,36,100,137,108,36,80,72,131,189,
169 233,15,132,244,56,248,1,141,116,193,252,248,59,181,233,15,135,244,56,137, 170 233,0,15,133,244,59,255,128,189,233,235,15,135,244,59,139,141,233,15,132,
170 181,233,139,108,36,96,137,149,233,137,149,233,141,108,194,252,240,72,41,252, 171 244,247,59,141,233,15,132,244,59,248,1,141,116,193,252,248,59,181,233,15,
171 245,57,206,15,132,244,249,248,2,255,72,139,4,46,72,137,70,252,248,131,252, 172 135,244,59,137,181,233,139,108,36,96,137,149,233,137,149,233,141,108,194,
172 238,8,57,206,15,133,244,2,248,3,137,202,139,76,36,80,232,244,24,199,131,233, 173 252,240,72,41,252,245,57,206,15,132,244,249,248,2,255,72,139,4,46,72,137,
173 237,139,108,36,96,139,116,36,80,139,149,233,129,252,248,239,15,135,244,254, 174 70,252,248,131,252,238,8,57,206,15,133,244,2,248,3,137,202,139,76,36,80,232,
174 248,4,139,142,233,139,190,233,137,142,233,137,252,254,41,206,15,132,244,252, 175 244,24,199,131,233,237,139,108,36,96,139,116,36,80,139,149,233,129,252,248,
175 141,4,50,193,252,238,3,59,133,233,15,135,244,255,255,137,213,72,41,205,248, 176 239,15,135,244,254,248,4,139,142,233,139,190,233,137,142,233,137,252,254,
176 5,72,139,1,72,137,4,41,131,193,8,57,252,249,15,133,244,5,248,6,141,70,1,248, 177 41,206,15,132,244,252,141,4,50,193,252,238,3,59,133,233,15,135,244,255,255,
177 7,139,116,36,100,137,68,36,84,49,201,252,247,198,237,15,132,244,13,252,233, 178 137,213,72,41,205,248,5,72,139,1,72,137,4,41,131,193,8,57,252,249,15,133,
178 244,14,248,8,137,252,242,137,252,233,232,251,1,14,248,9,139,76,36,80,137, 179 244,5,248,6,141,70,1,248,7,139,116,36,100,137,68,36,84,49,201,252,247,198,
179 185,233,137,252,242,137,252,233,232,251,1,0,139,116,36,80,139,149,233,252, 180 237,15,132,244,13,252,233,244,14,248,8,137,252,242,137,252,233,232,251,1,
180 233,244,4,248,79,139,108,36,96,72,252,247,133,233,237,15,132,244,56,255,137, 181 15,248,9,139,76,36,80,137,185,233,137,252,242,137,252,233,232,251,1,0,139,
181 149,233,141,68,194,252,248,137,133,233,49,192,72,137,133,233,176,235,136, 182 116,36,80,139,149,233,252,233,244,4,248,83,139,108,36,96,72,252,247,133,233,
182 133,233,252,233,244,16,255,248,65,139,114,252,252,221,90,252,248,252,233, 183 237,15,132,244,59,255,137,149,233,141,68,194,252,248,137,133,233,49,192,72,
183 244,59,248,80,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244, 184 137,133,233,176,235,136,133,233,252,233,244,16,255,248,67,255,248,69,139,
184 56,252,242,15,16,2,72,184,237,237,102,72,15,110,200,15,84,193,248,64,139, 185 114,252,252,221,90,252,248,252,233,244,62,255,248,84,129,252,248,239,15,130,
185 114,252,252,252,242,15,17,66,252,248,255,248,80,129,252,248,239,15,130,244, 186 244,59,255,129,122,253,4,239,15,133,244,248,139,42,131,252,253,0,15,137,244,
186 56,129,122,253,4,239,15,135,244,56,221,2,217,225,248,64,248,65,139,114,252, 187 67,252,247,221,15,136,244,247,248,85,248,67,139,114,252,252,199,66,252,252,
187 252,221,90,252,248,255,248,59,184,237,248,70,137,68,36,84,248,57,252,247, 188 237,137,106,252,248,252,233,244,62,248,1,139,114,252,252,199,66,252,252,0,
188 198,237,15,133,244,253,248,5,56,70,252,255,15,135,244,252,15,182,78,252,253, 189 0,224,65,199,66,252,248,0,0,0,0,252,233,244,62,248,2,15,135,244,59,255,129,
189 72,252,247,209,141,20,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16, 190 122,253,4,239,15,131,244,59,255,252,242,15,16,2,72,184,237,237,102,72,15,
190 252,255,36,252,235,248,6,199,68,194,252,244,237,131,192,1,252,233,244,5,248, 191 110,200,15,84,193,248,68,139,114,252,252,252,242,15,17,66,252,248,255,221,
191 7,72,199,193,252,248,252,255,252,255,252,255,252,233,244,14,255,248,81,129, 192 2,217,225,248,68,248,69,139,114,252,252,221,90,252,248,255,248,62,184,237,
192 252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,81,2, 193 248,74,137,68,36,84,248,60,252,247,198,237,15,133,244,253,248,5,56,70,252,
193 252,233,244,64,248,82,129,252,248,239,15,130,244,56,129,122,253,4,239,15, 194 255,15,135,244,252,15,182,78,252,253,72,252,247,209,141,20,202,139,6,15,182,
194 135,244,56,252,242,15,16,2,232,244,83,252,233,244,64,248,84,255,129,252,248, 195 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,6,199,68,194,252,
195 239,15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,232,244, 196 244,237,131,192,1,252,233,244,5,248,7,72,199,193,252,248,252,255,252,255,
196 85,252,233,244,64,255,248,81,129,252,248,239,15,130,244,56,129,122,253,4, 197 252,255,252,233,244,14,248,86,255,129,122,253,4,239,15,133,244,247,139,42,
197 239,15,135,244,56,221,2,217,252,250,252,233,244,65,248,82,129,252,248,239, 198 252,233,244,67,248,1,15,135,244,59,255,252,242,15,16,2,232,244,87,255,252,
198 15,130,244,56,129,122,253,4,239,15,135,244,56,221,2,232,244,83,252,233,244, 199 242,15,45,232,129,252,253,0,0,0,128,15,133,244,67,252,242,15,42,205,102,15,
199 65,248,84,255,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244, 200 46,193,15,138,244,68,15,132,244,67,255,221,2,232,244,87,255,248,88,255,252,
200 56,221,2,232,244,85,252,233,244,65,255,248,86,129,252,248,239,15,130,244, 201 242,15,16,2,232,244,89,255,221,2,232,244,89,255,248,90,129,252,248,239,15,
201 56,129,122,253,4,239,15,135,244,56,217,252,237,221,2,217,252,241,252,233, 202 130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,81,2,252,233,244,68,
202 244,65,248,87,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244, 203 255,248,90,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,
203 56,217,252,236,221,2,217,252,241,252,233,244,65,248,88,129,252,248,239,255, 204 221,2,217,252,250,252,233,244,69,255,248,91,129,252,248,239,15,130,244,59,
204 15,130,244,56,129,122,253,4,239,15,135,244,56,221,2,232,244,89,252,233,244, 205 129,122,253,4,239,15,131,244,59,217,252,237,221,2,217,252,241,252,233,244,
205 65,248,90,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,221, 206 69,248,92,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,217,
206 2,217,252,254,252,233,244,65,248,91,129,252,248,239,255,15,130,244,56,129, 207 252,236,221,2,217,252,241,252,233,244,69,248,93,129,252,248,239,255,15,130,
207 122,253,4,239,15,135,244,56,221,2,217,252,255,252,233,244,65,248,92,129,252, 208 244,59,129,122,253,4,239,15,131,244,59,221,2,232,244,94,252,233,244,69,248,
208 248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,221,2,217,252,242,221, 209 95,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,221,2,217,
209 216,252,233,244,65,248,93,129,252,248,239,15,130,244,56,255,129,122,253,4, 210 252,254,252,233,244,69,248,96,129,252,248,239,255,15,130,244,59,129,122,253,
210 239,15,135,244,56,221,2,217,192,216,200,217,232,222,225,217,252,250,217,252, 211 4,239,15,131,244,59,221,2,217,252,255,252,233,244,69,248,97,129,252,248,239,
211 243,252,233,244,65,248,94,129,252,248,239,15,130,244,56,129,122,253,4,239, 212 15,130,244,59,129,122,253,4,239,15,131,244,59,221,2,217,252,242,221,216,252,
212 15,135,244,56,221,2,217,192,216,200,217,232,222,225,217,252,250,217,201,217, 213 233,244,69,248,98,129,252,248,239,15,130,244,59,255,129,122,253,4,239,15,
213 252,243,252,233,244,65,248,95,129,252,248,239,15,130,244,56,129,122,253,4, 214 131,244,59,221,2,217,192,216,200,217,232,222,225,217,252,250,217,252,243,
214 239,15,135,244,56,255,221,2,217,232,217,252,243,252,233,244,65,255,248,96, 215 252,233,244,69,248,99,129,252,248,239,15,130,244,59,129,122,253,4,239,15,
215 129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15, 216 131,244,59,221,2,217,192,216,200,217,232,222,225,217,252,250,217,201,217,
216 16,2,255,137,213,232,251,1,15,137,252,234,252,233,244,64,255,248,97,129,252, 217 252,243,252,233,244,69,248,100,129,252,248,239,15,130,244,59,129,122,253,
217 248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,255, 218 4,239,15,131,244,59,255,221,2,217,232,217,252,243,252,233,244,69,255,248,
218 137,213,232,251,1,16,137,252,234,252,233,244,64,255,248,98,129,252,248,239, 219 101,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,252,242,
219 15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,255,137,213, 220 15,16,2,255,137,213,232,251,1,16,137,252,234,252,233,244,68,255,248,102,129,
220 232,251,1,17,137,252,234,252,233,244,64,248,99,255,248,100,129,252,248,239, 221 252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2,
221 15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,139,106,252, 222 255,137,213,232,251,1,17,137,252,234,252,233,244,68,255,248,103,129,252,248,
222 248,252,242,15,89,133,233,252,233,244,64,255,248,100,129,252,248,239,15,130, 223 239,15,130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2,255,137,
223 244,56,129,122,253,4,239,15,135,244,56,221,2,139,106,252,248,220,141,233, 224 213,232,251,1,18,137,252,234,252,233,244,68,248,104,255,248,105,129,252,248,
224 252,233,244,65,255,248,101,129,252,248,239,15,130,244,56,129,122,253,4,239, 225 239,15,130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2,139,106,
225 15,135,244,56,129,122,253,12,239,15,135,244,56,221,2,221,66,8,217,252,243, 226 252,248,252,242,15,89,133,233,252,233,244,68,255,248,105,129,252,248,239,
226 252,233,244,65,248,102,129,252,248,239,15,130,244,56,129,122,253,4,239,15, 227 15,130,244,59,129,122,253,4,239,15,131,244,59,221,2,139,106,252,248,220,141,
227 135,244,56,129,122,253,12,239,255,15,135,244,56,221,66,8,221,2,217,252,253, 228 233,252,233,244,69,255,248,106,129,252,248,239,15,130,244,59,129,122,253,
228 221,217,252,233,244,65,248,103,129,252,248,239,15,130,244,56,139,106,4,129, 229 4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,221,2,221,66,8,217,252,
229 252,253,239,15,135,244,56,139,114,252,252,139,2,137,106,252,252,137,66,252, 230 243,252,233,244,69,248,107,129,252,248,239,15,130,244,59,129,122,253,4,239,
230 248,209,229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,244,249, 231 15,131,244,59,129,122,253,12,239,255,15,131,244,59,221,66,8,221,2,217,252,
231 184,252,254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,237,21, 232 253,221,217,252,233,244,69,248,108,129,252,248,239,15,130,244,59,139,106,
232 41,197,255,252,242,15,42,197,255,137,108,36,80,219,68,36,80,255,139,106,252, 233 4,129,252,253,239,15,131,244,59,139,114,252,252,139,2,137,106,252,252,137,
233 252,129,229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252,252,248, 234 66,252,248,209,229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,
234 2,255,252,242,15,17,2,255,221,26,255,184,237,252,233,244,70,248,3,255,15, 235 244,249,184,252,254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,
235 87,192,252,233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252,242, 236 237,21,41,197,255,252,242,15,42,197,255,137,108,36,80,219,68,36,80,255,139,
236 15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,89,193,252,242,15,17, 237 106,252,252,129,229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252,
237 66,252,248,255,221,2,199,68,36,80,0,0,128,90,216,76,36,80,221,90,252,248, 238 252,248,2,255,252,242,15,17,2,255,221,26,255,184,237,252,233,244,74,248,3,
238 255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,104,129,252, 239 255,15,87,192,252,233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252,
239 248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,255, 240 242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,89,193,252,242,15,
240 248,104,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,221, 241 17,66,252,248,255,221,2,199,68,36,80,0,0,128,90,216,76,36,80,221,90,252,248,
242 255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,109,129,252,
243 248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2,255,
244 248,109,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,221,
241 2,255,139,106,4,139,114,252,252,209,229,129,252,253,0,0,224,252,255,15,132, 245 2,255,139,106,4,139,114,252,252,209,229,129,252,253,0,0,224,252,255,15,132,
242 244,250,255,15,40,224,232,244,105,252,242,15,92,224,248,1,252,242,15,17,66, 246 244,250,255,15,40,224,232,244,110,252,242,15,92,224,248,1,252,242,15,17,66,
243 252,248,252,242,15,17,34,255,217,192,232,244,105,220,252,233,248,1,221,90, 247 252,248,252,242,15,17,34,255,217,192,232,244,110,220,252,233,248,1,221,90,
244 252,248,221,26,255,139,66,252,252,139,106,4,49,232,15,136,244,249,248,2,184, 248 252,248,221,26,255,139,66,252,252,139,106,4,49,232,15,136,244,249,248,2,184,
245 237,252,233,244,70,248,3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248, 249 237,252,233,244,74,248,3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248,
246 4,255,15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,244,1,255,248, 250 4,255,15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,244,1,255,248,
247 106,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,129,122, 251 111,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,129,122,
248 253,12,239,15,135,244,56,221,66,8,221,2,248,1,217,252,248,223,224,158,15, 252 253,12,239,15,131,244,59,221,66,8,221,2,248,1,217,252,248,223,224,158,15,
249 138,244,1,221,217,252,233,244,65,255,248,107,129,252,248,239,15,130,244,56, 253 138,244,1,221,217,252,233,244,69,255,248,112,129,252,248,239,15,130,244,59,
250 129,122,253,4,239,15,135,244,56,129,122,253,12,239,15,135,244,56,252,242, 254 129,122,253,4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,252,242,
251 15,16,2,252,242,15,16,74,8,232,244,108,252,233,244,64,255,248,107,129,252, 255 15,16,2,252,242,15,16,74,8,232,244,113,252,233,244,68,255,248,112,129,252,
252 248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,129,122,253,12,239, 256 248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,129,122,253,12,239,
253 15,135,244,56,221,2,221,66,8,232,244,108,252,233,244,65,255,248,109,129,252, 257 15,131,244,59,221,2,221,66,8,232,244,113,252,233,244,69,255,248,114,185,2,
254 248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,189, 258 0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244,
255 2,0,0,0,248,1,57,197,15,131,244,64,129,124,253,252,234,252,252,239,15,135, 259 67,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252,248,15,79,108,
256 244,56,252,242,15,16,76,252,234,252,248,252,242,15,93,193,131,197,1,252,233, 260 202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,59,255,252,233,244,252,
257 244,1,255,248,110,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135, 261 248,4,15,135,244,59,255,252,242,15,16,2,248,5,57,193,15,131,244,68,129,124,
258 244,56,252,242,15,16,2,189,2,0,0,0,248,1,57,197,15,131,244,64,129,124,253, 262 253,202,252,252,239,255,15,130,244,252,15,135,244,59,252,242,15,42,76,202,
259 252,234,252,252,239,15,135,244,56,252,242,15,16,76,252,234,252,248,252,242, 263 252,248,252,233,244,253,255,248,6,252,242,15,16,76,202,252,248,248,7,252,
260 15,95,193,131,197,1,252,233,244,1,255,248,5,221,216,252,233,244,56,255,248, 264 242,15,93,193,131,193,1,252,233,244,5,255,248,115,185,2,0,0,0,129,122,253,
261 111,129,252,248,239,15,130,244,56,129,122,253,4,239,15,133,244,56,139,42, 265 4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244,67,129,124,253,202,
262 255,252,242,15,42,133,233,252,233,244,64,255,219,133,233,252,233,244,65,255, 266 252,252,239,15,133,244,249,59,108,202,252,248,15,76,108,202,252,248,131,193,
263 248,112,129,252,248,239,15,133,244,56,129,122,253,4,239,15,133,244,56,139, 267 1,252,233,244,1,248,3,15,135,244,59,255,248,6,252,242,15,16,76,202,252,248,
264 42,139,114,252,252,131,189,233,1,15,130,244,73,15,182,173,233,255,252,242, 268 248,7,252,242,15,95,193,131,193,1,252,233,244,5,255,248,9,221,216,252,233,
265 15,42,197,252,233,244,64,255,137,108,36,80,219,68,36,80,252,233,244,65,255, 269 244,59,255,248,116,129,252,248,239,15,130,244,59,129,122,253,4,239,15,133,
266 248,113,139,171,233,59,171,233,15,130,244,247,232,244,67,248,1,129,252,248, 270 244,59,139,42,255,139,173,233,252,233,244,67,255,252,242,15,42,133,233,252,
267 239,15,133,244,56,129,122,253,4,239,15,135,244,56,255,252,242,15,44,42,129, 271 233,244,68,255,219,133,233,252,233,244,69,255,248,117,129,252,248,239,15,
268 252,253,252,255,0,0,0,15,135,244,56,137,108,36,84,255,221,2,219,92,36,84, 272 133,244,59,129,122,253,4,239,15,133,244,59,139,42,139,114,252,252,131,189,
269 129,124,36,84,252,255,0,0,0,15,135,244,56,255,199,68,36,32,1,0,0,0,72,141, 273 233,1,15,130,244,77,15,182,173,233,255,252,242,15,42,197,252,233,244,68,255,
270 68,36,84,248,114,139,108,36,96,137,149,233,68,139,68,36,32,72,137,194,137, 274 137,108,36,80,219,68,36,80,252,233,244,69,255,248,118,139,171,233,59,171,
271 252,233,137,116,36,100,232,251,1,18,139,149,233,139,114,252,252,199,66,252, 275 233,15,130,244,247,232,244,71,248,1,129,252,248,239,15,133,244,59,129,122,
272 252,237,137,66,252,248,252,233,244,59,248,115,139,171,233,59,171,233,15,130, 276 253,4,239,255,15,133,244,59,139,42,129,252,253,252,255,0,0,0,15,135,244,59,
273 244,247,232,244,67,248,1,199,68,36,84,252,255,252,255,252,255,252,255,129, 277 137,108,36,84,255,15,131,244,59,252,242,15,44,42,129,252,253,252,255,0,0,
274 252,248,239,15,130,244,56,15,134,244,247,129,122,253,20,239,255,252,242,15, 278 0,15,135,244,59,137,108,36,84,255,15,131,244,59,221,2,219,92,36,84,129,124,
275 44,106,16,137,108,36,84,255,221,66,16,219,92,36,84,255,248,1,129,122,253, 279 36,84,252,255,0,0,0,15,135,244,59,255,199,68,36,32,1,0,0,0,72,141,68,36,84,
276 4,239,15,133,244,56,129,122,253,12,239,15,135,244,56,139,42,137,108,36,32, 280 248,119,139,108,36,96,137,149,233,68,139,68,36,32,72,137,194,137,252,233,
277 139,173,233,255,252,242,15,44,74,8,255,139,68,36,84,57,197,15,130,244,251, 281 137,116,36,100,232,251,1,19,139,149,233,139,114,252,252,199,66,252,252,237,
278 248,2,133,201,15,142,244,253,248,3,139,108,36,32,41,200,15,140,244,116,141, 282 137,66,252,248,252,233,244,62,248,120,139,171,233,59,171,233,15,130,244,247,
279 172,253,13,233,131,192,1,248,4,137,68,36,32,137,232,252,233,244,114,248,5, 283 232,244,71,248,1,199,68,36,84,252,255,252,255,252,255,252,255,129,252,248,
280 15,140,244,252,141,68,40,1,252,233,244,2,248,6,137,232,252,233,244,2,248, 284 239,15,130,244,59,15,134,244,247,129,122,253,20,239,255,15,133,244,59,139,
281 7,255,15,132,244,254,1,252,233,131,193,1,15,143,244,3,248,8,185,1,0,0,0,252, 285 106,16,137,108,36,84,255,15,131,244,59,252,242,15,44,106,16,137,108,36,84,
282 233,244,3,248,116,49,192,252,233,244,4,248,117,129,252,248,239,15,130,244, 286 255,15,131,244,59,221,66,16,219,92,36,84,255,248,1,129,122,253,4,239,15,133,
283 56,139,171,233,59,171,233,15,130,244,247,232,244,67,248,1,255,129,122,253, 287 244,59,129,122,253,12,239,255,139,42,137,108,36,32,139,173,233,255,139,74,
284 4,239,15,133,244,56,129,122,253,12,239,15,135,244,56,139,42,255,252,242,15, 288 8,255,252,242,15,44,74,8,255,139,68,36,84,57,197,15,130,244,251,248,2,133,
285 44,66,8,255,221,66,8,219,92,36,84,139,68,36,84,255,133,192,15,142,244,116, 289 201,15,142,244,253,248,3,139,108,36,32,41,200,15,140,244,121,141,172,253,
286 131,189,233,1,15,130,244,116,15,133,244,118,57,131,233,15,130,244,118,15, 290 13,233,131,192,1,248,4,137,68,36,32,137,232,252,233,244,119,248,5,15,140,
287 182,141,233,139,171,233,137,68,36,32,248,1,136,77,0,131,197,1,131,232,1,15, 291 244,252,141,68,40,1,252,233,244,2,248,6,137,232,252,233,244,2,248,7,255,15,
288 133,244,1,139,131,233,252,233,244,114,248,119,129,252,248,239,255,15,130, 292 132,244,254,1,252,233,131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244,
289 244,56,139,171,233,59,171,233,15,130,244,247,232,244,67,248,1,129,122,253, 293 3,248,121,49,192,252,233,244,4,248,122,129,252,248,239,15,130,244,59,139,
290 4,239,15,133,244,56,139,42,139,133,233,133,192,15,132,244,116,57,131,233, 294 171,233,59,171,233,15,130,244,247,232,244,71,248,1,255,129,122,253,4,239,
291 15,130,244,120,129,197,239,137,116,36,84,137,68,36,32,139,179,233,248,1,255, 295 15,133,244,59,129,122,253,12,239,139,42,255,15,133,244,59,139,66,8,255,15,
292 15,182,77,0,131,197,1,131,232,1,136,12,6,15,133,244,1,137,252,240,139,116, 296 131,244,59,252,242,15,44,66,8,255,15,131,244,59,221,66,8,219,92,36,84,139,
293 36,84,252,233,244,114,248,121,129,252,248,239,15,130,244,56,139,171,233,59, 297 68,36,84,255,133,192,15,142,244,121,131,189,233,1,15,130,244,121,15,133,244,
294 171,233,15,130,244,247,232,244,67,248,1,129,122,253,4,239,15,133,244,56,139, 298 123,57,131,233,15,130,244,123,15,182,141,233,139,171,233,137,68,36,32,248,
295 42,139,133,233,57,131,233,255,15,130,244,120,129,197,239,137,116,36,84,137, 299 1,136,77,0,131,197,1,131,232,1,15,133,244,1,139,131,233,252,233,244,119,248,
296 68,36,32,139,179,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249,65,15, 300 124,129,252,248,239,255,15,130,244,59,139,171,233,59,171,233,15,130,244,247,
297 130,244,248,131,252,249,90,15,135,244,248,131,252,241,32,248,2,136,12,6,248, 301 232,244,71,248,1,129,122,253,4,239,15,133,244,59,139,42,139,133,233,133,192,
298 3,131,232,1,15,137,244,1,137,252,240,139,116,36,84,252,233,244,114,248,122, 302 15,132,244,121,57,131,233,15,130,244,125,129,197,239,137,116,36,84,137,68,
299 129,252,248,239,15,130,244,56,255,139,171,233,59,171,233,15,130,244,247,232, 303 36,32,139,179,233,248,1,255,15,182,77,0,131,197,1,131,232,1,136,12,6,15,133,
300 244,67,248,1,129,122,253,4,239,15,133,244,56,139,42,139,133,233,57,131,233, 304 244,1,137,252,240,139,116,36,84,252,233,244,119,248,126,129,252,248,239,15,
301 15,130,244,120,129,197,239,137,116,36,84,137,68,36,32,139,179,233,252,233, 305 130,244,59,139,171,233,59,171,233,15,130,244,247,232,244,71,248,1,129,122,
302 244,249,248,1,15,182,76,5,0,131,252,249,97,15,130,244,248,255,131,252,249, 306 253,4,239,15,133,244,59,139,42,139,133,233,57,131,233,255,15,130,244,125,
303 122,15,135,244,248,131,252,241,32,248,2,136,12,6,248,3,131,232,1,15,137,244, 307 129,197,239,137,116,36,84,137,68,36,32,139,179,233,252,233,244,249,248,1,
304 1,137,252,240,139,116,36,84,252,233,244,114,248,123,129,252,248,239,15,130, 308 15,182,76,5,0,131,252,249,65,15,130,244,248,131,252,249,90,15,135,244,248,
305 244,56,129,122,253,4,239,15,133,244,56,137,213,139,10,232,251,1,19,137,252, 309 131,252,241,32,248,2,136,12,6,248,3,131,232,1,15,137,244,1,137,252,240,139,
306 234,255,252,242,15,42,192,252,233,244,64,255,248,124,129,252,248,239,15,130, 310 116,36,84,252,233,244,119,248,127,129,252,248,239,15,130,244,59,255,139,171,
307 244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,72,189,237,237,102, 311 233,59,171,233,15,130,244,247,232,244,71,248,1,129,122,253,4,239,15,133,244,
308 72,15,110,205,252,242,15,88,193,102,15,126,197,252,242,15,42,197,252,233, 312 59,139,42,139,133,233,57,131,233,15,130,244,125,129,197,239,137,116,36,84,
309 244,64,255,248,125,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135, 313 137,68,36,32,139,179,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249,
310 244,56,252,242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,88,193, 314 97,15,130,244,248,255,131,252,249,122,15,135,244,248,131,252,241,32,248,2,
311 102,15,126,197,255,137,68,36,84,141,68,194,252,240,248,1,57,208,15,134,244, 315 136,12,6,248,3,131,232,1,15,137,244,1,137,252,240,139,116,36,84,252,233,244,
312 126,129,120,253,4,239,15,135,244,127,255,252,242,15,16,0,252,242,15,88,193, 316 119,248,128,129,252,248,239,15,130,244,59,129,122,253,4,239,15,133,244,59,
313 102,15,126,193,33,205,255,131,232,8,252,233,244,1,255,248,128,129,252,248, 317 137,213,139,10,232,251,1,20,137,252,234,255,137,197,252,233,244,67,255,252,
314 239,15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,72,189, 318 242,15,42,192,252,233,244,68,255,248,129,129,122,253,4,239,255,15,133,244,
315 237,237,102,72,15,110,205,252,242,15,88,193,102,15,126,197,255,252,242,15, 319 247,139,42,252,233,244,85,248,1,15,135,244,59,255,252,242,15,16,2,72,189,
316 16,0,252,242,15,88,193,102,15,126,193,9,205,255,248,129,129,252,248,239,15, 320 237,237,102,72,15,110,205,252,242,15,88,193,102,15,126,197,255,252,233,244,
317 130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,72,189,237,237, 321 85,255,248,130,255,72,189,237,237,102,72,15,110,205,255,199,68,36,80,0,0,
318 102,72,15,110,205,252,242,15,88,193,102,15,126,197,255,252,242,15,16,0,252, 322 192,89,255,15,133,244,247,139,42,252,233,244,248,248,1,15,135,244,59,255,
319 242,15,88,193,102,15,126,193,49,205,255,248,130,129,252,248,239,15,130,244, 323 252,242,15,16,2,252,242,15,88,193,102,15,126,197,255,248,2,137,68,36,84,141,
320 56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,72,189,237,237,102,72, 324 68,194,252,240,248,1,57,208,15,134,244,85,129,120,253,4,239,255,15,133,244,
321 15,110,205,252,242,15,88,193,102,15,126,197,255,15,205,252,233,244,126,255, 325 248,35,40,131,232,8,252,233,244,1,248,2,15,135,244,131,255,15,131,244,131,
322 248,131,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,252, 326 255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,131,232,8,
323 242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,88,193,102,15,126, 327 252,233,244,1,248,132,255,15,133,244,248,11,40,131,232,8,252,233,244,1,248,
324 197,255,252,247,213,255,248,126,252,242,15,42,197,252,233,244,64,255,248, 328 2,15,135,244,131,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,9,205,
325 127,139,68,36,84,252,233,244,56,255,248,132,129,252,248,239,15,130,244,56, 329 255,131,232,8,252,233,244,1,248,133,255,15,133,244,248,51,40,131,232,8,252,
326 129,122,253,4,239,15,135,244,56,129,122,253,12,239,15,135,244,56,252,242, 330 233,244,1,248,2,15,135,244,131,255,252,242,15,16,0,252,242,15,88,193,102,
327 15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88, 331 15,126,193,49,205,255,131,232,8,252,233,244,1,248,134,129,122,253,4,239,255,
328 194,252,242,15,88,202,137,200,102,15,126,197,102,15,126,201,255,211,229,137, 332 248,2,15,205,252,233,244,85,248,135,129,122,253,4,239,255,248,2,252,247,213,
329 193,252,233,244,126,255,248,133,129,252,248,239,15,130,244,56,129,122,253, 333 255,248,85,252,242,15,42,197,252,233,244,68,255,248,131,139,68,36,84,252,
330 4,239,15,135,244,56,129,122,253,12,239,15,135,244,56,252,242,15,16,2,252, 334 233,244,59,255,248,136,129,122,253,4,239,255,248,2,129,122,253,12,239,15,
335 133,244,59,139,74,8,255,248,136,129,252,248,239,15,130,244,59,129,122,253,
336 4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,252,242,15,16,2,252,
331 242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242, 337 242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,
332 15,88,202,137,200,102,15,126,197,102,15,126,201,255,211,252,237,137,193,252, 338 15,88,202,102,15,126,197,102,15,126,201,255,211,229,252,233,244,85,255,248,
333 233,244,126,255,248,134,129,252,248,239,15,130,244,56,129,122,253,4,239,15, 339 137,129,122,253,4,239,255,248,137,129,252,248,239,15,130,244,59,129,122,253,
334 135,244,56,129,122,253,12,239,15,135,244,56,252,242,15,16,2,252,242,15,16, 340 4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,252,242,15,16,2,252,
335 74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202, 341 242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,
336 137,200,102,15,126,197,102,15,126,201,255,211,252,253,137,193,252,233,244, 342 15,88,202,102,15,126,197,102,15,126,201,255,211,252,237,252,233,244,85,255,
337 126,255,248,135,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244, 343 248,138,129,122,253,4,239,255,248,138,129,252,248,239,15,130,244,59,129,122,
338 56,129,122,253,12,239,15,135,244,56,252,242,15,16,2,252,242,15,16,74,8,72, 344 253,4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,252,242,15,16,2,
339 189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,137,200, 345 252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,
340 102,15,126,197,102,15,126,201,255,211,197,137,193,252,233,244,126,255,248, 346 242,15,88,202,102,15,126,197,102,15,126,201,255,211,252,253,252,233,244,85,
341 136,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,129,122, 347 255,248,139,129,122,253,4,239,255,248,139,129,252,248,239,15,130,244,59,129,
342 253,12,239,15,135,244,56,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237, 348 122,253,4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,252,242,15,16,
343 102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,137,200,102,15,126, 349 2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,
344 197,102,15,126,201,255,211,205,137,193,252,233,244,126,248,118,184,237,252, 350 242,15,88,202,102,15,126,197,102,15,126,201,255,211,197,252,233,244,85,255,
345 233,244,56,248,120,184,237,248,56,139,108,36,96,139,114,252,252,137,116,36, 351 248,140,129,122,253,4,239,255,248,140,129,252,248,239,15,130,244,59,129,122,
346 100,137,149,233,141,68,194,252,248,141,136,233,137,133,233,139,66,252,248, 352 253,4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,252,242,15,16,2,
347 59,141,233,15,135,244,251,137,252,233,252,255,144,233,139,149,233,133,192, 353 252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,
348 15,143,244,70,248,1,255,139,141,233,41,209,193,252,233,3,133,192,141,65,1, 354 242,15,88,202,102,15,126,197,102,15,126,201,255,211,205,252,233,244,85,248,
349 139,106,252,248,15,133,244,248,139,181,233,139,14,15,182,252,233,15,182,205, 355 123,184,237,252,233,244,59,248,125,184,237,248,59,139,108,36,96,139,114,252,
350 131,198,4,252,255,36,252,235,248,2,137,209,252,247,198,237,15,133,244,249, 356 252,137,116,36,100,137,149,233,141,68,194,252,248,141,136,233,137,133,233,
351 15,182,110,252,253,72,252,247,213,141,20,252,234,252,233,244,27,248,3,137, 357 139,66,252,248,59,141,233,15,135,244,251,137,252,233,252,255,144,233,139,
352 252,245,131,229,252,248,41,252,234,252,233,244,27,248,5,186,237,137,252,233, 358 149,233,133,192,15,143,244,74,248,1,255,139,141,233,41,209,193,252,233,3,
353 232,251,1,0,139,149,233,49,192,252,233,244,1,248,67,93,72,137,108,36,32,139, 359 133,192,141,65,1,139,106,252,248,15,133,244,248,139,181,233,139,14,15,182,
354 108,36,96,137,116,36,100,137,149,233,255,141,68,194,252,248,137,252,233,137, 360 252,233,15,182,205,131,198,4,252,255,36,252,235,248,2,137,209,252,247,198,
355 133,233,232,251,1,20,139,149,233,139,133,233,41,208,193,232,3,131,192,1,72, 361 237,15,133,244,249,15,182,110,252,253,72,252,247,213,141,20,252,234,252,233,
356 139,108,36,32,85,195,248,137,255,15,182,131,233,168,235,15,133,244,251,168, 362 244,27,248,3,137,252,245,131,229,252,248,41,252,234,252,233,244,27,248,5,
357 235,15,133,244,247,168,235,15,132,244,247,252,255,139,233,252,233,244,247, 363 186,237,137,252,233,232,251,1,0,139,149,233,49,192,252,233,244,1,248,71,93,
358 255,248,138,15,182,131,233,168,235,15,133,244,251,252,233,244,247,248,139, 364 72,137,108,36,32,139,108,36,96,137,116,36,100,137,149,233,255,141,68,194,
359 15,182,131,233,168,235,15,133,244,251,168,235,15,132,244,251,252,255,139, 365 252,248,137,252,233,137,133,233,232,251,1,21,139,149,233,139,133,233,41,208,
360 233,15,132,244,247,168,235,15,132,244,251,248,1,255,139,108,36,96,137,149, 366 193,232,3,131,192,1,72,139,108,36,32,85,195,248,141,255,15,182,131,233,168,
361 233,137,252,242,137,252,233,232,251,1,21,248,3,139,149,233,248,4,15,182,78, 367 235,15,133,244,251,168,235,15,133,244,247,168,235,15,132,244,247,252,255,
362 252,253,248,5,15,182,110,252,252,15,183,70,252,254,252,255,164,253,252,235, 368 139,233,252,233,244,247,255,248,142,15,182,131,233,168,235,15,133,244,251,
363 233,248,140,131,198,4,139,77,232,137,76,36,84,252,233,244,4,248,141,255,139, 369 252,233,244,247,248,143,15,182,131,233,168,235,15,133,244,251,168,235,15,
364 106,252,248,139,173,233,15,182,133,233,141,4,194,139,108,36,96,137,149,233, 370 132,244,251,252,255,139,233,15,132,244,247,168,235,15,132,244,251,248,1,255,
365 137,133,233,137,252,242,141,139,233,72,137,171,233,137,116,36,100,232,251, 371 139,108,36,96,137,149,233,137,252,242,137,252,233,232,251,1,22,248,3,139,
366 1,22,252,233,244,3,255,248,142,137,116,36,100,255,248,143,255,137,116,36, 372 149,233,248,4,15,182,78,252,253,248,5,15,182,110,252,252,15,183,70,252,254,
367 100,131,206,1,248,1,255,141,68,194,252,248,139,108,36,96,137,149,233,137, 373 252,255,164,253,252,235,233,248,144,131,198,4,139,77,232,137,76,36,84,252,
368 133,233,137,252,242,137,252,233,232,251,1,23,199,68,36,100,0,0,0,0,255,131, 374 233,244,4,248,145,255,139,106,252,248,139,173,233,15,182,133,233,141,4,194,
369 230,252,254,255,139,149,233,72,137,193,139,133,233,41,208,72,137,205,15,182, 375 139,108,36,96,137,149,233,137,133,233,137,252,242,141,139,233,72,137,171,
370 78,252,253,193,232,3,131,192,1,252,255,229,248,144,255,65,85,65,84,65,83, 376 233,137,116,36,100,232,251,1,23,252,233,244,3,255,248,146,137,116,36,100,
371 65,82,65,81,65,80,87,86,85,72,141,108,36,88,85,83,82,81,80,15,182,69,252, 377 255,248,147,255,137,116,36,100,131,206,1,248,1,255,141,68,194,252,248,139,
372 248,138,101,252,240,76,137,125,252,248,76,137,117,252,240,139,93,0,139,139, 378 108,36,96,137,149,233,137,133,233,137,252,242,137,252,233,232,251,1,24,199,
373 233,199,131,233,237,137,131,233,137,139,233,72,129,252,236,239,72,131,197, 379 68,36,100,0,0,0,0,255,131,230,252,254,255,139,149,233,72,137,193,139,133,
374 128,252,242,68,15,17,125,252,248,252,242,68,15,17,117,252,240,252,242,68, 380 233,41,208,72,137,205,15,182,78,252,253,193,232,3,131,192,1,252,255,229,248,
375 15,17,109,232,252,242,68,15,17,101,224,252,242,68,15,17,93,216,252,242,68, 381 148,255,65,85,65,84,65,83,65,82,65,81,65,80,87,86,85,72,141,108,36,88,85,
376 15,17,85,208,252,242,68,15,17,77,200,252,242,68,15,17,69,192,252,242,15,17, 382 83,82,81,80,15,182,69,252,248,138,101,252,240,76,137,125,252,248,76,137,117,
377 125,184,252,242,15,17,117,176,252,242,15,17,109,168,252,242,15,17,101,160, 383 252,240,139,93,0,139,139,233,199,131,233,237,137,131,233,137,139,233,72,129,
378 252,242,15,17,93,152,252,242,15,17,85,144,252,242,15,17,77,136,252,242,15, 384 252,236,239,72,131,197,128,252,242,68,15,17,125,252,248,252,242,68,15,17,
379 17,69,128,139,171,233,139,147,233,72,137,171,233,199,131,233,0,0,0,0,137, 385 117,252,240,252,242,68,15,17,109,232,252,242,68,15,17,101,224,252,242,68,
380 149,233,72,141,148,253,36,233,141,139,233,232,251,1,24,72,139,141,233,72, 386 15,17,93,216,252,242,68,15,17,85,208,252,242,68,15,17,77,200,252,242,68,15,
381 129,225,239,137,169,233,139,149,233,139,177,233,252,233,244,247,255,248,145, 387 17,69,192,252,242,15,17,125,184,252,242,15,17,117,176,252,242,15,17,109,168,
382 255,72,141,140,253,36,233,248,1,102,68,15,111,185,233,102,68,15,111,177,233, 388 252,242,15,17,101,160,252,242,15,17,93,152,252,242,15,17,85,144,252,242,15,
383 102,68,15,111,169,233,102,68,15,111,161,233,102,68,15,111,153,233,102,68, 389 17,77,136,252,242,15,17,69,128,139,171,233,139,147,233,72,137,171,233,199,
384 15,111,145,233,102,68,15,111,137,233,102,68,15,111,129,233,102,15,111,185, 390 131,233,0,0,0,0,137,149,233,72,141,148,253,36,233,141,139,233,232,251,1,25,
385 233,72,137,204,102,15,111,49,76,139,124,36,16,76,139,116,36,24,76,139,108, 391 72,139,141,233,72,129,225,239,137,169,233,139,149,233,139,177,233,252,233,
386 36,32,76,139,100,36,80,133,192,15,136,244,249,137,68,36,84,139,122,252,248, 392 244,247,255,248,149,255,72,141,140,253,36,233,248,1,102,68,15,111,185,233,
387 139,191,233,139,191,233,199,131,233,0,0,0,0,199,131,233,237,139,6,15,182, 393 102,68,15,111,177,233,102,68,15,111,169,233,102,68,15,111,161,233,102,68,
388 204,15,182,232,131,198,4,193,232,16,129,252,253,239,15,130,244,248,255,139, 394 15,111,153,233,102,68,15,111,145,233,102,68,15,111,137,233,102,68,15,111,
389 68,36,84,248,2,252,255,36,252,235,248,3,252,247,216,137,252,233,137,194,232, 395 129,233,102,15,111,185,233,72,137,204,102,15,111,49,76,139,124,36,16,76,139,
390 251,1,25,255,248,83,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36, 396 116,36,24,76,139,108,36,32,76,139,100,36,80,133,192,15,136,244,249,137,68,
391 4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108, 397 36,84,139,122,252,248,139,191,233,139,191,233,199,131,233,0,0,0,0,199,131,
392 36,4,139,68,36,8,195,255,248,146,72,184,237,237,102,72,15,110,208,72,184, 398 233,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,129,252,253,239,
393 237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244, 399 15,130,244,248,255,139,68,36,84,248,2,252,255,36,252,235,248,3,252,247,216,
394 247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184, 400 137,252,233,137,194,232,251,1,26,255,248,87,255,217,124,36,4,137,68,36,8,
395 237,237,102,72,15,110,208,252,242,15,194,193,1,102,15,84,194,252,242,15,92, 401 102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,
396 200,15,40,193,248,1,195,248,85,255,217,124,36,4,137,68,36,8,102,184,0,8,102, 402 36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,150,72,184,237,237,
397 11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252, 403 102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,
398 217,108,36,4,139,68,36,8,195,255,248,147,72,184,237,237,102,72,15,110,208, 404 102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,
399 72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15, 405 203,102,15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194,193,1,102,
400 134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202, 406 15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,89,255,217,124,36,4,137,
401 72,184,237,237,102,72,15,110,208,252,242,15,194,193,6,102,15,84,194,252,242, 407 68,36,8,102,184,0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,
402 15,92,200,15,40,193,248,1,195,248,105,255,217,124,36,4,137,68,36,8,102,184, 408 217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,151,72,184,
403 0,12,102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4, 409 237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,
404 139,68,36,8,195,255,248,148,72,184,237,237,102,72,15,110,208,72,184,237,237, 410 15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,
405 102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102, 411 242,15,92,203,102,15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194,
406 15,85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,72,184,237,237,102, 412 193,6,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,110,255,217,
407 72,15,110,216,252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15, 413 124,36,4,137,68,36,8,102,184,0,12,102,11,68,36,4,102,137,68,36,6,217,108,
408 86,202,15,40,193,248,1,195,248,149,255,15,40,232,252,242,15,94,193,72,184, 414 36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,152,72,184,237,237,
409 237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,224,102, 415 102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,
410 15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252, 416 102,15,46,217,15,134,244,247,102,15,85,208,15,40,193,252,242,15,88,203,252,
411 242,15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208,252,242,15,194, 417 242,15,92,203,72,184,237,237,102,72,15,110,216,252,242,15,194,193,1,102,15,
412 196,1,102,15,84,194,252,242,15,92,224,15,40,197,252,242,15,89,204,252,242, 418 84,195,252,242,15,92,200,102,15,86,202,15,40,193,248,1,195,248,153,255,15,
413 15,92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255, 419 40,232,252,242,15,94,193,72,184,237,237,102,72,15,110,208,72,184,237,237,
414 217,193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255, 420 102,72,15,110,216,15,40,224,102,15,84,226,102,15,46,220,15,134,244,247,102,
415 252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222, 421 15,85,208,252,242,15,88,227,252,242,15,92,227,102,15,86,226,72,184,237,237,
416 252,233,195,255,248,89,217,252,234,222,201,248,150,217,84,36,8,129,124,36, 422 102,72,15,110,208,252,242,15,194,196,1,102,15,84,194,252,242,15,92,224,15,
417 8,0,0,128,127,15,132,244,247,129,124,36,8,0,0,128,252,255,15,132,244,248, 423 40,197,252,242,15,89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15,
418 248,151,217,192,217,252,252,220,252,233,217,201,217,252,240,217,232,222,193, 424 40,197,252,242,15,92,193,195,255,217,193,216,252,241,217,124,36,4,102,184,
419 217,252,253,221,217,248,1,195,248,2,221,216,217,252,238,195,255,248,108,255, 425 0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,
420 248,152,252,242,15,45,193,252,242,15,42,208,102,15,46,202,15,133,244,254, 426 252,252,217,108,36,4,222,201,222,252,233,195,255,248,94,217,252,234,222,201,
421 15,138,244,255,248,153,131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15, 427 248,154,217,84,36,8,129,124,36,8,0,0,128,127,15,132,244,247,129,124,36,8,
422 133,244,248,252,242,15,89,192,209,232,252,233,244,1,248,2,209,232,15,132, 428 0,0,128,252,255,15,132,244,248,248,155,217,192,217,252,252,220,252,233,217,
423 244,251,15,40,200,248,3,252,242,15,89,192,209,232,15,132,244,250,15,131,244, 429 201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,
424 3,255,252,242,15,89,200,252,233,244,3,248,4,252,242,15,89,193,248,5,195,248, 430 217,252,238,195,255,248,113,255,248,156,252,242,15,45,193,252,242,15,42,208,
425 6,15,132,244,5,15,130,244,253,252,247,216,232,244,1,72,184,237,237,102,72, 431 102,15,46,202,15,133,244,254,15,138,244,255,248,157,131,252,248,1,15,142,
426 15,110,200,252,242,15,94,200,15,40,193,195,248,7,72,184,237,237,102,72,15, 432 244,252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,
427 110,192,195,248,8,102,72,15,126,200,72,209,224,72,193,192,12,72,61,252,254, 433 244,1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,
428 15,0,0,15,132,244,248,102,72,15,126,192,72,209,224,15,132,244,250,255,72, 434 232,15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,
429 193,192,12,72,61,252,254,15,0,0,15,132,244,251,252,242,15,17,76,36,16,252, 435 252,242,15,89,193,248,5,195,248,6,15,132,244,5,15,130,244,253,252,247,216,
430 242,15,17,68,36,8,221,68,36,16,221,68,36,8,217,252,241,217,192,217,252,252, 436 232,244,1,72,184,237,237,102,72,15,110,200,252,242,15,94,200,15,40,193,195,
431 220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221,217,221,92, 437 248,7,72,184,237,237,102,72,15,110,192,195,248,8,102,72,15,126,200,72,209,
432 36,8,252,242,15,16,68,36,8,195,248,9,72,184,237,237,102,72,15,110,208,102, 438 224,72,193,192,12,72,61,252,254,15,0,0,15,132,244,248,102,72,15,126,192,72,
433 15,46,194,15,132,244,247,15,40,193,248,1,195,248,2,72,184,237,237,102,72, 439 209,224,15,132,244,250,255,72,193,192,12,72,61,252,254,15,0,0,15,132,244,
434 15,110,208,102,15,84,194,72,184,237,237,102,72,15,110,208,102,15,46,194,15, 440 251,252,242,15,17,76,36,16,252,242,15,17,68,36,8,221,68,36,16,221,68,36,8,
435 132,244,1,102,15,80,193,15,87,192,136,196,15,146,208,48,224,15,133,244,1, 441 217,252,241,217,192,217,252,252,220,252,233,217,201,217,252,240,217,232,222,
436 248,3,72,184,237,237,255,102,72,15,110,192,195,248,4,102,15,80,193,133,192, 442 193,217,252,253,221,217,221,92,36,8,252,242,15,16,68,36,8,195,248,9,72,184,
437 15,133,244,3,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87, 443 237,237,102,72,15,110,208,102,15,46,194,15,132,244,247,15,40,193,248,1,195,
438 192,195,248,154,255,131,252,250,1,15,130,244,83,15,132,244,85,131,252,250, 444 248,2,72,184,237,237,102,72,15,110,208,102,15,84,194,72,184,237,237,102,72,
439 3,15,130,244,105,15,135,244,248,252,242,15,81,192,195,248,2,252,242,15,17, 445 15,110,208,102,15,46,194,15,132,244,1,102,15,80,193,15,87,192,136,196,15,
440 68,36,8,221,68,36,8,131,252,250,5,15,135,244,248,88,15,132,244,247,232,244, 446 146,208,48,224,15,133,244,1,248,3,72,184,237,237,255,102,72,15,110,192,195,
441 89,80,252,233,244,253,248,1,232,244,150,255,80,252,233,244,253,248,2,131, 447 248,4,102,15,80,193,133,192,15,133,244,3,15,87,192,195,248,5,102,15,80,193,
442 252,250,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,252, 448 133,192,15,132,244,3,15,87,192,195,248,158,255,131,252,250,1,15,130,244,87,
443 233,244,253,248,1,217,232,217,201,217,252,241,252,233,244,253,248,2,131,252, 449 15,132,244,89,131,252,250,3,15,130,244,110,15,135,244,248,252,242,15,81,192,
444 250,9,15,132,244,247,15,135,244,248,217,252,236,217,201,217,252,241,252,233, 450 195,248,2,252,242,15,17,68,36,8,221,68,36,8,131,252,250,5,15,135,244,248,
445 244,253,248,1,255,217,252,254,252,233,244,253,248,2,131,252,250,11,15,132, 451 88,15,132,244,247,232,244,94,80,252,233,244,253,248,1,232,244,154,255,80,
446 244,247,15,135,244,255,217,252,255,252,233,244,253,248,1,217,252,242,221, 452 252,233,244,253,248,2,131,252,250,7,15,132,244,247,15,135,244,248,217,252,
447 216,248,7,221,92,36,8,252,242,15,16,68,36,8,195,255,139,84,36,12,221,68,36, 453 237,217,201,217,252,241,252,233,244,253,248,1,217,232,217,201,217,252,241,
448 4,131,252,250,1,15,130,244,83,15,132,244,85,131,252,250,3,15,130,244,105, 454 252,233,244,253,248,2,131,252,250,9,15,132,244,247,15,135,244,248,217,252,
449 15,135,244,248,217,252,250,195,248,2,131,252,250,5,15,130,244,89,15,132,244, 455 236,217,201,217,252,241,252,233,244,253,248,1,255,217,252,254,252,233,244,
450 150,131,252,250,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252, 456 253,248,2,131,252,250,11,15,132,244,247,15,135,244,255,217,252,255,252,233,
451 241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,250,9,15,132, 457 244,253,248,1,217,252,242,221,216,248,7,221,92,36,8,252,242,15,16,68,36,8,
452 244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,1,217, 458 195,255,139,84,36,12,221,68,36,4,131,252,250,1,15,130,244,87,15,132,244,89,
453 252,254,195,248,2,131,252,250,11,15,132,244,247,15,135,244,255,217,252,255, 459 131,252,250,3,15,130,244,110,15,135,244,248,217,252,250,195,248,2,131,252,
454 195,248,1,217,252,242,221,216,195,255,248,9,204,255,248,155,255,65,131,252, 460 250,5,15,130,244,94,15,132,244,154,131,252,250,7,15,132,244,247,15,135,244,
455 248,1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15, 461 248,217,252,237,217,201,217,252,241,195,248,1,217,232,217,201,217,252,241,
456 92,193,195,248,2,65,131,252,248,3,15,132,244,247,15,135,244,248,252,242,15, 462 195,248,2,131,252,250,9,15,132,244,247,255,15,135,244,248,217,252,236,217,
457 89,193,195,248,1,252,242,15,94,193,195,248,2,65,131,252,248,5,15,130,244, 463 201,217,252,241,195,248,1,217,252,254,195,248,2,131,252,250,11,15,132,244,
458 149,15,132,244,108,65,131,252,248,7,15,132,244,247,15,135,244,248,72,184, 464 247,15,135,244,255,217,252,255,195,248,1,217,252,242,221,216,195,255,248,
459 237,237,255,102,72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15, 465 9,204,255,248,159,255,65,131,252,248,1,15,132,244,247,15,135,244,248,252,
460 110,200,15,84,193,195,248,2,65,131,252,248,9,15,135,244,248,252,242,15,17, 466 242,15,88,193,195,248,1,252,242,15,92,193,195,248,2,65,131,252,248,3,15,132,
461 68,36,8,252,242,15,17,76,36,16,221,68,36,8,221,68,36,16,15,132,244,247,217, 467 244,247,15,135,244,248,252,242,15,89,193,195,248,1,252,242,15,94,193,195,
462 252,243,248,7,221,92,36,8,252,242,15,16,68,36,8,195,248,1,217,201,217,252, 468 248,2,65,131,252,248,5,15,130,244,153,15,132,244,113,65,131,252,248,7,15,
463 253,221,217,252,233,244,7,248,2,65,131,252,248,11,15,132,244,247,15,135,244, 469 132,244,247,15,135,244,248,72,184,237,237,255,102,72,15,110,200,15,87,193,
464 255,252,242,15,93,193,195,248,1,252,242,15,95,193,195,248,9,204,255,139,68, 470 195,248,1,72,184,237,237,102,72,15,110,200,15,84,193,195,248,2,65,131,252,
465 36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248, 471 248,9,15,135,244,248,252,242,15,17,68,36,8,252,242,15,17,76,36,16,221,68,
466 222,193,195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135, 472 36,8,221,68,36,16,15,132,244,247,217,252,243,248,7,221,92,36,8,252,242,15,
467 244,248,222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244, 473 16,68,36,8,195,248,1,217,201,217,252,253,221,217,252,233,244,7,248,2,65,131,
468 149,15,132,244,108,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216, 474 252,248,11,15,132,244,247,15,135,244,255,252,242,15,93,193,195,248,1,252,
469 217,224,195,248,1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247, 475 242,15,95,193,195,248,9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131,
470 15,135,244,248,217,252,243,195,248,1,217,201,217,252,253,221,217,195,248, 476 252,248,1,15,132,244,247,15,135,244,248,222,193,195,248,1,222,252,233,195,
471 2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252,233,219,209,221, 477 248,2,131,252,248,3,15,132,244,247,15,135,244,248,222,201,195,248,1,222,252,
472 217,195,248,1,219,252,233,218,209,221,217,195,255,221,225,223,224,252,246, 478 249,195,248,2,131,252,248,5,15,130,244,153,15,132,244,113,131,252,248,7,15,
473 196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221,225,223,224,252, 479 132,244,247,15,135,244,248,255,221,216,217,224,195,248,1,221,216,217,225,
474 246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248,156,137,200,86, 480 195,248,2,131,252,248,9,15,132,244,247,15,135,244,248,217,252,243,195,248,
475 72,137,214,83,15,162,137,6,137,94,4,137,78,8,137,86,12,91,94,195,248,157, 481 1,217,201,217,252,253,221,217,195,248,2,131,252,248,11,15,132,244,247,15,
476 255,85,72,137,229,83,72,137,203,139,131,233,72,41,196,255,15,182,139,233, 482 135,244,255,255,219,252,233,219,209,221,217,195,248,1,219,252,233,218,209,
477 131,252,233,1,15,136,244,248,248,1,72,139,132,253,203,233,72,137,132,253, 483 221,217,195,255,221,225,223,224,252,246,196,1,15,132,244,248,217,201,248,
478 204,233,131,252,233,1,15,137,244,1,248,2,15,182,131,233,72,139,139,233,72, 484 2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133,244,248,217,201,
479 139,147,233,76,139,131,233,76,139,139,233,133,192,15,132,244,251,15,40,131, 485 248,2,221,216,195,255,248,160,137,200,86,72,137,214,83,15,162,137,6,137,94,
480 233,15,40,139,233,15,40,147,233,15,40,155,233,248,5,255,252,255,147,233,72, 486 4,137,78,8,137,86,12,91,94,195,248,161,255,85,72,137,229,83,72,137,203,139,
481 137,131,233,15,41,131,233,255,72,139,93,252,248,201,195,255,249,255,129,124, 487 131,233,72,41,196,255,15,182,139,233,131,252,233,1,15,136,244,248,248,1,72,
482 253,202,4,239,15,135,244,41,129,124,253,194,4,239,15,135,244,41,255,252,242, 488 139,132,253,203,233,72,137,132,253,204,233,131,252,233,1,15,137,244,1,248,
483 15,16,4,194,131,198,4,102,15,46,4,202,255,221,4,202,221,4,194,131,198,4,255, 489 2,15,182,131,233,72,139,139,233,72,139,147,233,76,139,131,233,76,139,139,
484 223,252,233,221,216,255,218,252,233,223,224,158,255,15,134,244,248,255,15, 490 233,133,192,15,132,244,251,15,40,131,233,15,40,139,233,15,40,147,233,15,40,
485 131,244,248,255,248,1,15,183,70,252,254,141,180,253,134,233,248,2,139,6,15, 491 155,233,248,5,255,252,255,147,233,72,137,131,233,15,41,131,233,255,72,139,
486 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,108,194, 492 93,252,248,201,195,255,249,255,129,124,253,202,4,239,15,133,244,253,129,124,
487 4,131,198,4,129,252,253,239,15,135,244,251,129,124,253,202,4,239,15,135,244, 493 253,194,4,239,15,133,244,254,139,44,202,131,198,4,59,44,194,255,15,141,244,
488 251,255,252,242,15,16,4,194,102,15,46,4,202,255,221,4,202,221,4,194,255,15, 494 255,255,15,140,244,255,255,15,143,244,255,255,15,142,244,255,255,248,6,15,
489 138,244,248,15,133,244,248,255,15,138,244,248,15,132,244,247,255,248,1,15, 495 183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15,182,232,131,
490 183,70,252,254,141,180,253,134,233,248,2,255,248,2,15,183,70,252,254,141, 496 198,4,193,232,16,252,255,36,252,235,248,7,15,135,244,41,129,124,253,194,4,
491 180,253,134,233,248,1,255,129,252,253,239,15,132,244,46,129,124,253,202,4, 497 239,15,130,244,247,15,133,244,41,255,252,242,15,42,4,194,252,233,244,248,
492 239,15,132,244,46,255,57,108,202,4,15,133,244,2,129,252,253,239,15,131,244, 498 255,221,4,202,219,4,194,252,233,244,249,255,248,8,15,135,244,41,255,252,242,
493 1,139,12,202,139,4,194,57,193,15,132,244,1,129,252,253,239,15,135,244,2,139, 499 15,42,12,202,252,242,15,16,4,194,131,198,4,102,15,46,193,255,15,134,244,9,
494 169,233,133,252,237,15,132,244,2,252,246,133,233,235,15,133,244,2,255,49, 500 255,15,135,244,9,255,15,130,244,9,255,15,131,244,9,255,252,233,244,6,255,
495 252,237,255,189,1,0,0,0,255,252,233,244,45,255,248,3,129,252,253,239,15,133, 501 219,4,202,252,233,244,248,255,129,124,253,202,4,239,15,131,244,41,129,124,
496 244,2,252,233,244,46,255,72,252,247,208,139,108,202,4,131,198,4,129,252,253, 502 253,194,4,239,15,131,244,41,255,248,1,252,242,15,16,4,194,248,2,131,198,4,
497 239,15,133,244,249,139,12,202,59,12,135,255,139,108,202,4,131,198,4,129,252, 503 102,15,46,4,202,248,3,255,248,1,221,4,202,248,2,221,4,194,248,3,131,198,4,
498 253,239,15,135,244,249,255,252,242,15,16,4,199,102,15,46,4,202,255,221,4, 504 255,223,252,233,221,216,255,218,252,233,223,224,158,255,15,134,244,247,255,
499 202,221,4,199,255,72,252,247,208,139,108,202,4,131,198,4,57,197,255,15,133, 505 15,135,244,247,255,15,130,244,247,255,15,131,244,247,255,15,183,70,252,254,
500 244,249,15,183,70,252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,182, 506 141,180,253,134,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
501 232,131,198,4,193,232,16,252,255,36,252,235,248,3,129,252,253,239,15,133, 507 252,255,36,252,235,255,139,108,194,4,131,198,4,255,129,252,253,239,15,133,
502 244,2,252,233,244,46,255,15,132,244,248,129,252,253,239,15,132,244,46,15, 508 244,253,129,124,253,202,4,239,15,133,244,254,139,44,194,59,44,202,255,15,
503 183,70,252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131, 509 133,244,255,255,15,132,244,255,255,15,183,70,252,254,141,180,253,134,233,
504 198,4,193,232,16,252,255,36,252,235,255,139,108,194,4,131,198,4,129,252,253, 510 248,9,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,
505 239,255,15,131,244,247,255,15,130,244,247,255,137,108,202,4,139,44,194,137, 511 248,7,15,135,244,251,129,124,253,202,4,239,15,130,244,247,15,133,244,251,
506 44,202,255,15,183,70,252,254,141,180,253,134,233,248,1,139,6,15,182,204,15, 512 255,252,242,15,42,4,202,255,219,4,202,255,252,233,244,248,248,8,15,135,244,
507 182,232,131,198,4,193,232,16,252,255,36,252,235,255,72,139,44,194,72,137, 513 251,255,252,242,15,42,4,194,102,15,46,4,202,255,219,4,194,221,4,202,255,252,
508 44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235, 514 233,244,250,255,129,252,253,239,15,131,244,251,129,124,253,202,4,239,15,131,
509 255,49,252,237,129,124,253,194,4,239,129,213,239,137,108,202,4,139,6,15,182, 515 244,251,255,248,1,252,242,15,16,4,202,248,2,102,15,46,4,194,248,4,255,248,
510 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,129,124,253,194, 516 1,221,4,202,248,2,221,4,194,248,4,255,15,138,244,248,15,133,244,248,255,15,
511 4,239,15,135,244,49,255,252,242,15,16,4,194,72,184,237,237,102,72,15,110, 517 138,244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253,134,233,
512 200,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221,28,202,255,129, 518 248,2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,252,233,244,
513 124,253,194,4,239,15,133,244,248,139,4,194,255,15,87,192,252,242,15,42,128, 519 9,255,129,252,253,239,15,132,244,46,129,124,253,202,4,239,15,132,244,46,255,
514 233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6, 520 57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,
515 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,129,124, 521 57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237,
516 253,194,4,239,15,133,244,51,139,12,194,137,213,232,251,1,19,255,252,242,15, 522 15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0,
517 42,192,137,252,234,255,15,182,78,252,253,252,233,244,1,255,15,182,252,236, 523 0,0,255,252,233,244,45,255,248,3,129,252,253,239,255,15,133,244,9,255,252,
518 15,182,192,255,129,124,253,252,234,4,239,15,135,244,47,255,252,242,15,16, 524 233,244,46,255,72,252,247,208,139,108,202,4,131,198,4,129,252,253,239,15,
519 4,252,234,252,242,15,88,4,199,255,221,4,252,234,220,4,199,255,129,124,253, 525 133,244,249,139,12,202,59,12,135,255,139,108,202,4,131,198,4,255,129,252,
520 252,234,4,239,15,135,244,48,255,252,242,15,16,4,199,252,242,15,88,4,252,234, 526 253,239,15,133,244,253,129,124,253,199,4,239,15,133,244,254,139,44,199,59,
521 255,221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,135,244,50,129, 527 44,202,255,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15,
522 124,253,194,4,239,15,135,244,50,255,252,242,15,16,4,252,234,252,242,15,88, 528 182,232,131,198,4,193,232,16,252,255,36,252,235,248,7,15,135,244,249,129,
523 4,194,255,221,4,252,234,220,4,194,255,252,242,15,16,4,252,234,252,242,15, 529 124,253,199,4,239,15,130,244,247,255,252,242,15,42,4,199,255,219,4,199,255,
524 92,4,199,255,221,4,252,234,220,36,199,255,252,242,15,16,4,199,252,242,15, 530 252,233,244,248,248,8,255,252,242,15,42,4,202,102,15,46,4,199,255,219,4,202,
525 92,4,252,234,255,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252, 531 221,4,194,255,129,252,253,239,15,131,244,249,255,248,1,252,242,15,16,4,199,
526 242,15,92,4,194,255,221,4,252,234,220,36,194,255,252,242,15,16,4,252,234, 532 248,2,102,15,46,4,202,248,4,255,248,1,221,4,199,248,2,221,4,202,255,72,252,
527 252,242,15,89,4,199,255,221,4,252,234,220,12,199,255,252,242,15,16,4,199, 533 247,208,139,108,202,4,131,198,4,57,197,255,15,133,244,249,15,183,70,252,254,
528 252,242,15,89,4,252,234,255,221,4,199,220,12,252,234,255,252,242,15,16,4, 534 141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
529 252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,252,242,15,16, 535 252,255,36,252,235,248,3,129,252,253,239,15,133,244,2,252,233,244,46,255,
530 4,252,234,252,242,15,94,4,199,255,221,4,252,234,220,52,199,255,252,242,15, 536 15,132,244,248,129,252,253,239,15,132,244,46,15,183,70,252,254,141,180,253,
531 16,4,199,252,242,15,94,4,252,234,255,221,4,199,220,52,252,234,255,252,242, 537 134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
532 15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,234,220,52,194,255,252, 538 252,235,255,139,108,194,4,131,198,4,129,252,253,239,255,137,108,202,4,139,
533 242,15,16,4,252,234,252,242,15,16,12,199,255,221,4,252,234,221,4,199,255, 539 44,194,137,44,202,255,72,139,44,194,72,137,44,202,139,6,15,182,204,15,182,
534 252,242,15,16,4,199,252,242,15,16,12,252,234,255,221,4,199,221,4,252,234, 540 232,131,198,4,193,232,16,252,255,36,252,235,255,49,252,237,129,124,253,194,
535 255,252,242,15,16,4,252,234,252,242,15,16,12,194,255,221,4,252,234,221,4, 541 4,239,129,213,239,137,108,202,4,139,6,15,182,204,15,182,232,131,198,4,193,
536 194,255,248,158,232,244,149,255,252,233,244,158,255,232,244,108,255,15,182, 542 232,16,252,255,36,252,235,255,129,124,253,194,4,239,15,133,244,251,139,44,
537 252,236,15,182,192,139,76,36,96,137,145,233,141,20,194,65,137,192,65,41,232, 543 194,252,247,221,15,128,244,250,199,68,202,4,237,137,44,202,248,9,139,6,15,
538 248,33,137,205,137,116,36,100,232,251,1,26,139,149,233,133,192,15,133,244, 544 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,4,199,68,202,
539 42,15,182,110,252,255,15,182,78,252,253,72,139,4,252,234,72,137,4,202,139, 545 4,0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,248,5,15,135,244,51,255,129,
540 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,72,252, 546 124,253,194,4,239,15,131,244,51,255,252,242,15,16,4,194,72,184,237,237,102,
541 247,208,139,4,135,199,68,202,4,237,137,4,202,139,6,15,182,204,15,182,232, 547 72,15,110,200,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221,28,
542 131,198,4,193,232,16,252,255,36,252,235,255,15,191,192,252,242,15,42,192, 548 202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,139,128,233,248,
543 252,242,15,17,4,202,255,223,70,252,254,221,28,202,255,252,242,15,16,4,199, 549 1,199,68,202,4,237,137,4,202,255,15,87,192,252,242,15,42,128,233,248,1,252,
544 252,242,15,17,4,202,255,221,4,199,221,28,202,255,72,252,247,208,137,68,202, 550 242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,15,182,204,15,
545 4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255, 551 182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,129,124,253,194,4,239,
546 141,76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8, 552 15,133,244,54,139,12,194,137,213,232,251,1,20,255,252,242,15,42,192,255,137,
547 57,193,15,134,244,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 553 252,234,15,182,78,252,253,252,233,244,1,255,15,182,252,236,15,182,192,255,
548 255,36,252,235,255,139,106,252,248,139,172,253,133,233,139,173,233,72,139, 554 129,124,253,252,234,4,239,15,133,244,48,129,124,253,199,4,239,15,133,244,
549 69,0,72,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, 555 48,139,44,252,234,3,44,199,15,128,244,47,255,129,124,253,252,234,4,239,15,
550 36,252,235,255,139,106,252,248,139,172,253,141,233,128,189,233,0,139,173, 556 133,244,50,129,124,253,199,4,239,15,133,244,50,139,4,199,3,4,252,234,15,128,
551 233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,246,133, 557 244,49,255,129,124,253,252,234,4,239,15,133,244,53,129,124,253,194,4,239,
552 233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232, 558 15,133,244,53,139,44,252,234,3,44,194,15,128,244,52,255,199,68,202,4,237,
553 16,252,255,36,252,235,248,2,129,232,239,129,252,248,239,15,134,244,1,252, 559 255,129,124,253,252,234,4,239,15,131,244,48,255,129,124,253,199,4,239,15,
554 246,129,233,235,15,132,244,1,135,213,141,139,233,255,232,251,1,27,137,252, 560 131,244,48,255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,221,4,252,
555 234,252,233,244,1,255,72,252,247,208,139,106,252,248,139,172,253,141,233, 561 234,220,4,199,255,129,124,253,252,234,4,239,15,131,244,50,255,129,124,253,
556 139,12,135,139,133,233,137,8,199,64,4,237,252,246,133,233,235,15,133,244, 562 199,4,239,15,131,244,50,255,252,242,15,16,4,199,252,242,15,88,4,252,234,255,
557 248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252, 563 221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,53,129,124,
558 235,248,2,252,246,129,233,235,15,132,244,1,128,189,233,0,15,132,244,1,137, 564 253,194,4,239,15,131,244,53,255,252,242,15,16,4,252,234,252,242,15,88,4,194,
559 213,137,194,141,139,233,232,251,1,27,137,252,234,252,233,244,1,255,139,106, 565 255,221,4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244,48,129,
560 252,248,255,252,242,15,16,4,199,255,139,172,253,141,233,139,141,233,255,252, 566 124,253,199,4,239,15,133,244,48,139,44,252,234,43,44,199,15,128,244,47,255,
561 242,15,17,1,255,221,25,255,72,252,247,208,139,106,252,248,139,172,253,141, 567 129,124,253,252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133,244,
562 233,139,141,233,137,65,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16, 568 50,139,4,199,43,4,252,234,15,128,244,49,255,129,124,253,252,234,4,239,15,
563 252,255,36,252,235,255,141,180,253,134,233,139,108,36,96,131,189,233,0,15, 569 133,244,53,129,124,253,194,4,239,15,133,244,53,139,44,252,234,43,44,194,15,
564 132,244,247,137,149,233,141,20,202,137,252,233,232,251,1,28,139,149,233,248, 570 128,244,52,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252,
565 1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255, 571 234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,255,221,4,
566 72,252,247,208,139,108,36,96,137,149,233,68,139,66,252,248,139,20,135,137, 572 199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221,
567 252,233,137,116,36,100,232,251,1,29,139,149,233,15,182,78,252,253,137,4,202, 573 4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133,244,48,129,124,
568 199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, 574 253,199,4,239,15,133,244,48,139,44,252,234,15,175,44,199,15,128,244,47,255,
569 36,252,235,255,139,108,36,96,137,149,233,139,139,233,59,139,233,137,116,36, 575 129,124,253,252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133,244,
570 100,15,131,244,251,248,1,65,137,192,37,252,255,7,0,0,65,193,232,11,61,252, 576 50,139,4,199,15,175,4,252,234,15,128,244,49,255,129,124,253,252,234,4,239,
571 255,7,0,0,15,132,244,249,248,2,137,252,233,137,194,232,251,1,30,139,149,233, 577 15,133,244,53,129,124,253,194,4,239,15,133,244,53,139,44,252,234,15,175,44,
572 15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232, 578 194,15,128,244,52,255,252,242,15,16,4,252,234,252,242,15,89,4,199,255,221,
573 131,198,4,193,232,16,252,255,36,252,235,248,3,184,1,8,0,0,252,233,244,2,248, 579 4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,15,89,4,252,234,255,
574 5,137,252,233,232,251,1,31,15,183,70,252,254,252,233,244,1,255,72,252,247, 580 221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4,194,
575 208,139,108,36,96,139,139,233,137,116,36,100,59,139,233,137,149,233,15,131, 581 255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,242,15,94,4,
576 244,249,248,2,139,20,135,137,252,233,232,251,1,32,139,149,233,15,182,78,252, 582 199,255,221,4,252,234,220,52,199,255,252,242,15,16,4,199,252,242,15,94,4,
577 253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193, 583 252,234,255,221,4,199,220,52,252,234,255,252,242,15,16,4,252,234,252,242,
578 232,16,252,255,36,252,235,248,3,137,252,233,232,251,1,31,15,183,70,252,254, 584 15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252,
579 72,252,247,208,252,233,244,2,255,72,252,247,208,139,106,252,248,139,173,233, 585 242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242,15,16,4,199,252,
580 139,4,135,252,233,244,159,255,72,252,247,208,139,106,252,248,139,173,233, 586 242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252,242,15,16,4,252,
581 139,4,135,252,233,244,160,255,15,182,252,236,15,182,192,129,124,253,252,234, 587 234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,162,232,244,
582 4,239,15,133,244,36,139,44,252,234,129,124,253,194,4,239,15,135,244,251,255, 588 153,255,252,233,244,162,255,232,244,113,255,15,182,252,236,15,182,192,139,
589 76,36,96,137,145,233,141,20,194,65,137,192,65,41,232,248,33,137,205,137,116,
590 36,100,232,251,1,27,139,149,233,133,192,15,133,244,42,15,182,110,252,255,
591 15,182,78,252,253,72,139,4,252,234,72,137,4,202,139,6,15,182,204,15,182,232,
592 131,198,4,193,232,16,252,255,36,252,235,255,72,252,247,208,139,4,135,199,
593 68,202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
594 255,36,252,235,255,15,191,192,199,68,202,4,237,137,4,202,255,15,191,192,252,
595 242,15,42,192,252,242,15,17,4,202,255,223,70,252,254,221,28,202,255,252,242,
596 15,16,4,199,252,242,15,17,4,202,255,221,4,199,221,28,202,255,72,252,247,208,
597 137,68,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
598 252,235,255,141,76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,
599 41,131,193,8,57,193,15,134,244,1,139,6,15,182,204,15,182,232,131,198,4,193,
600 232,16,252,255,36,252,235,255,139,106,252,248,139,172,253,133,233,139,173,
601 233,72,139,69,0,72,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,
602 16,252,255,36,252,235,255,139,106,252,248,139,172,253,141,233,128,189,233,
603 0,139,173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,
604 246,133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,
605 4,193,232,16,252,255,36,252,235,248,2,129,232,239,129,252,248,239,15,134,
606 244,1,252,246,129,233,235,15,132,244,1,135,213,141,139,233,255,232,251,1,
607 28,137,252,234,252,233,244,1,255,72,252,247,208,139,106,252,248,139,172,253,
608 141,233,139,12,135,139,133,233,137,8,199,64,4,237,252,246,133,233,235,15,
609 133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
610 36,252,235,248,2,252,246,129,233,235,15,132,244,1,128,189,233,0,15,132,244,
611 1,137,213,137,194,141,139,233,232,251,1,28,137,252,234,252,233,244,1,255,
612 139,106,252,248,255,252,242,15,16,4,199,255,139,172,253,141,233,139,141,233,
613 255,252,242,15,17,1,255,221,25,255,72,252,247,208,139,106,252,248,139,172,
614 253,141,233,139,141,233,137,65,4,139,6,15,182,204,15,182,232,131,198,4,193,
615 232,16,252,255,36,252,235,255,141,180,253,134,233,139,108,36,96,131,189,233,
616 0,15,132,244,247,137,149,233,141,20,202,137,252,233,232,251,1,29,139,149,
617 233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,
618 235,255,72,252,247,208,139,108,36,96,137,149,233,68,139,66,252,248,139,20,
619 135,137,252,233,137,116,36,100,232,251,1,30,139,149,233,15,182,78,252,253,
620 137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,
621 16,252,255,36,252,235,255,139,108,36,96,137,149,233,139,139,233,59,139,233,
622 137,116,36,100,15,131,244,251,248,1,65,137,192,37,252,255,7,0,0,65,193,232,
623 11,61,252,255,7,0,0,15,132,244,249,248,2,137,252,233,137,194,232,251,1,31,
624 139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,
625 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,184,1,8,0,0,252,
626 233,244,2,248,5,137,252,233,232,251,1,32,15,183,70,252,254,252,233,244,1,
627 255,72,252,247,208,139,108,36,96,139,139,233,137,116,36,100,59,139,233,137,
628 149,233,15,131,244,249,248,2,139,20,135,137,252,233,232,251,1,33,139,149,
629 233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,
630 232,131,198,4,193,232,16,252,255,36,252,235,248,3,137,252,233,232,251,1,32,
631 15,183,70,252,254,72,252,247,208,252,233,244,2,255,72,252,247,208,139,106,
632 252,248,139,173,233,139,4,135,252,233,244,163,255,72,252,247,208,139,106,
633 252,248,139,173,233,139,4,135,252,233,244,164,255,15,182,252,236,15,182,192,
634 129,124,253,252,234,4,239,15,133,244,36,139,44,252,234,255,129,124,253,194,
635 4,239,15,133,244,251,139,4,194,255,129,124,253,194,4,239,15,131,244,251,255,
583 252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255, 636 252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,
584 15,133,244,36,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,253,4, 637 15,133,244,36,255,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,253,
585 239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,6,15,182,204,15,182, 638 4,239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,6,15,182,204,15,182,
586 232,131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244, 639 232,131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244,
587 249,139,141,233,252,246,129,233,235,15,132,244,36,15,182,78,252,253,248,3, 640 249,139,141,233,252,246,129,233,235,15,132,244,36,15,182,78,252,253,248,3,
588 255,199,68,202,4,237,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244, 641 199,68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,
589 36,139,4,194,252,233,244,159,255,15,182,252,236,15,182,192,72,252,247,208, 642 36,139,4,194,252,233,244,163,255,15,182,252,236,15,182,192,72,252,247,208,
590 139,4,135,129,124,253,252,234,4,239,15,133,244,34,139,44,252,234,248,159, 643 139,4,135,129,124,253,252,234,4,239,15,133,244,34,139,44,252,234,248,163,
591 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133, 644 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,
592 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182, 645 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,
593 70,252,253,72,139,41,72,137,44,194,248,2,255,139,6,15,182,204,15,182,232, 646 70,252,253,72,139,41,72,137,44,194,248,2,255,139,6,15,182,204,15,182,232,
@@ -600,124 +653,132 @@ static const unsigned char build_actionlist[14499] = {
600 131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244,249, 653 131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244,249,
601 139,141,233,252,246,129,233,235,15,132,244,35,255,15,182,78,252,253,248,3, 654 139,141,233,252,246,129,233,235,15,132,244,35,255,15,182,78,252,253,248,3,
602 199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,192,129,124,253, 655 199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,192,129,124,253,
603 252,234,4,239,15,133,244,39,139,44,252,234,129,124,253,194,4,239,15,135,244, 656 252,234,4,239,15,133,244,39,139,44,252,234,255,15,133,244,39,255,59,133,233,
604 251,255,15,133,244,39,59,133,233,15,131,244,39,193,224,3,3,133,233,129,120, 657 15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,
605 253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,72, 658 252,246,133,233,235,15,133,244,253,248,2,72,139,44,202,72,137,40,139,6,15,
606 139,44,202,72,137,40,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 659 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,131,189,
607 255,36,252,235,248,3,131,189,233,0,15,132,244,1,139,141,233,255,252,246,129, 660 233,0,15,132,244,1,139,141,233,252,246,129,233,235,255,15,132,244,39,15,182,
608 233,235,15,132,244,39,15,182,78,252,253,252,233,244,1,248,5,129,124,253,194, 661 78,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,39,139,4,
609 4,239,15,133,244,39,139,4,194,252,233,244,160,248,7,128,165,233,235,139,139, 662 194,252,233,244,164,248,7,128,165,233,235,139,139,233,137,171,233,137,141,
610 233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,15,182,252, 663 233,15,182,78,252,253,252,233,244,2,255,15,182,252,236,15,182,192,72,252,
611 236,15,182,192,72,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133, 664 247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,37,139,44,252,234,
612 244,37,139,44,252,234,248,160,139,141,233,35,136,233,105,201,239,198,133, 665 248,164,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141,233,248,1,
613 233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,244, 666 129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121,253,4,239,
614 251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,133, 667 15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248,3,15,182,
615 244,253,248,3,15,182,70,252,253,72,139,44,194,72,137,41,139,6,15,182,204, 668 70,252,253,72,139,44,194,72,137,41,139,6,15,182,204,15,182,232,131,198,4,
616 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,4,131,189,233,0,15, 669 193,232,16,252,255,36,252,235,248,4,131,189,233,0,15,132,244,2,137,76,36,
617 132,244,2,137,76,36,80,139,141,233,252,246,129,233,235,15,132,244,37,139, 670 80,139,141,233,252,246,129,233,235,15,132,244,37,139,76,36,80,252,233,244,
618 76,36,80,252,233,244,2,248,5,139,137,233,133,201,15,133,244,1,255,139,141, 671 2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,
619 233,133,201,15,132,244,252,252,246,129,233,235,15,132,244,37,248,6,137,68, 672 252,252,246,129,233,235,15,132,244,37,248,6,137,68,36,80,199,68,36,84,237,
620 36,80,199,68,36,84,237,137,108,36,32,139,76,36,96,137,145,233,76,141,68,36, 673 137,108,36,32,139,76,36,96,137,145,233,76,141,68,36,80,137,252,234,137,205,
621 80,137,252,234,137,205,137,116,36,100,232,251,1,33,139,149,233,139,108,36, 674 137,116,36,100,232,251,1,34,139,149,233,139,108,36,32,137,193,252,233,244,
622 32,137,193,252,233,244,2,248,7,128,165,233,235,139,131,233,137,171,233,137, 675 2,248,7,128,165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,3,
623 133,233,252,233,244,3,255,15,182,252,236,15,182,192,129,124,253,252,234,4, 676 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,38,139,
624 239,15,133,244,38,139,44,252,234,59,133,233,15,131,244,38,193,224,3,3,133, 677 44,252,234,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,239,
625 233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244, 678 15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,72,139,12,202,
626 253,248,2,72,139,12,202,72,137,8,139,6,15,182,204,15,182,232,131,198,4,193, 679 72,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,
627 232,16,252,255,36,252,235,248,3,131,189,233,0,15,132,244,1,255,139,141,233, 680 235,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,235,
628 252,246,129,233,235,15,132,244,38,15,182,78,252,253,252,233,244,1,248,7,128, 681 15,132,244,38,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139,139,
629 165,233,235,139,139,233,137,171,233,137,141,233,15,182,78,252,253,252,233, 682 233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,137,124,36,
630 244,2,255,137,124,36,80,139,60,199,248,1,141,12,202,139,105,252,248,252,246, 683 80,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15,133,
631 133,233,235,15,133,244,253,248,2,139,68,36,84,131,232,1,15,132,244,250,1, 684 244,253,248,2,139,68,36,84,131,232,1,15,132,244,250,1,252,248,59,133,233,
632 252,248,59,133,233,15,135,244,251,41,252,248,193,231,3,3,189,233,248,3,72, 685 15,135,244,251,41,252,248,193,231,3,3,189,233,248,3,72,139,41,131,193,8,72,
633 139,41,131,193,8,72,137,47,131,199,8,131,232,1,15,133,244,3,248,4,139,124, 686 137,47,131,199,8,131,232,1,15,133,244,3,248,4,139,124,36,80,139,6,15,182,
634 36,80,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235, 687 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,5,139,76,36,96,
635 248,5,139,76,36,96,137,145,233,137,252,234,65,137,192,137,205,137,116,36, 688 137,145,233,137,252,234,65,137,192,137,205,137,116,36,100,232,251,1,35,139,
636 100,232,251,1,34,139,149,233,15,182,78,252,253,252,233,244,1,248,7,255,128, 689 149,233,15,182,78,252,253,252,233,244,1,248,7,255,128,165,233,235,139,131,
637 165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,2,255,3,68,36, 690 233,137,171,233,137,133,233,252,233,244,2,255,3,68,36,84,255,129,124,253,
638 84,255,129,124,253,202,4,239,139,44,202,15,133,244,52,141,84,202,8,137,114, 691 202,4,239,139,44,202,15,133,244,55,141,84,202,8,137,114,252,252,139,181,233,
639 252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36, 692 139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,255,141,76,
640 252,235,255,141,76,202,8,137,215,139,105,252,248,129,121,253,252,252,239, 693 202,8,137,215,139,105,252,248,129,121,253,252,252,239,15,133,244,28,248,56,
641 15,133,244,28,248,53,139,114,252,252,252,247,198,237,15,133,244,253,248,1, 694 139,114,252,252,252,247,198,237,15,133,244,253,248,1,137,106,252,248,137,
642 137,106,252,248,137,68,36,84,131,232,1,15,132,244,249,248,2,72,139,41,131, 695 68,36,84,131,232,1,15,132,244,249,248,2,72,139,41,131,193,8,72,137,47,131,
643 193,8,72,137,47,131,199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139, 696 199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,84,128,189,233,
644 68,36,84,128,189,233,1,15,135,244,251,248,4,139,181,233,139,14,15,182,252, 697 1,15,135,244,251,248,4,139,181,233,139,14,15,182,252,233,15,182,205,131,198,
645 233,15,182,205,131,198,4,252,255,36,252,235,248,5,255,252,247,198,237,15, 698 4,252,255,36,252,235,248,5,255,252,247,198,237,15,133,244,4,15,182,78,252,
646 133,244,4,15,182,78,252,253,72,252,247,209,141,12,202,139,121,252,248,139, 699 253,72,252,247,209,141,12,202,139,121,252,248,139,191,233,139,191,233,252,
647 191,233,139,191,233,252,233,244,4,248,7,129,252,238,239,252,247,198,237,15, 700 233,244,4,248,7,129,252,238,239,252,247,198,237,15,133,244,254,41,252,242,
648 133,244,254,41,252,242,137,215,139,114,252,252,252,233,244,1,248,8,129,198, 701 137,215,139,114,252,252,252,233,244,1,248,8,129,198,239,252,233,244,1,255,
649 239,252,233,244,1,255,141,76,202,8,72,139,105,232,72,139,65,252,240,72,137, 702 141,76,202,8,72,139,105,232,72,139,65,252,240,72,137,41,72,137,65,8,139,105,
650 41,72,137,65,8,139,105,224,139,65,228,137,105,252,248,137,65,252,252,129, 703 224,139,65,228,137,105,252,248,137,65,252,252,129,252,248,239,184,237,15,
651 252,248,239,184,237,15,133,244,28,137,202,137,114,252,252,139,181,233,139, 704 133,244,28,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,
652 14,15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,255,137,124,36, 705 205,131,198,4,252,255,36,252,235,255,137,124,36,80,137,92,36,84,139,108,202,
653 80,137,92,36,84,139,108,202,252,240,139,68,202,252,248,139,157,233,131,198, 706 252,240,139,68,202,252,248,139,157,233,131,198,4,139,189,233,248,1,57,216,
654 4,139,189,233,248,1,57,216,15,131,244,251,129,124,253,199,4,239,15,132,244, 707 15,131,244,251,129,124,253,199,4,239,15,132,244,250,255,219,68,202,252,248,
655 250,255,252,242,15,42,192,255,219,68,202,252,248,255,72,139,44,199,72,137, 708 255,72,139,44,199,72,137,108,202,8,131,192,1,255,137,68,202,252,248,248,2,
656 108,202,8,131,192,1,255,137,68,202,252,248,248,2,15,183,70,252,254,141,180, 709 15,183,70,252,254,141,180,253,134,233,248,3,139,92,36,84,139,124,36,80,139,
657 253,134,233,248,3,139,92,36,84,139,124,36,80,139,6,15,182,204,15,182,232, 710 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,4,131,
658 131,198,4,193,232,16,252,255,36,252,235,248,4,131,192,1,255,137,68,202,252, 711 192,1,255,137,68,202,252,248,255,252,233,244,1,248,5,41,216,248,6,59,133,
659 248,255,252,233,244,1,248,5,41,216,248,6,59,133,233,15,135,244,3,105,252, 712 233,15,135,244,3,105,252,248,239,3,189,233,129,191,233,239,15,132,244,253,
660 248,239,3,189,233,129,191,233,239,15,132,244,253,141,92,24,1,72,139,175,233, 713 141,92,24,1,72,139,175,233,72,139,135,233,72,137,44,202,72,137,68,202,8,137,
661 72,139,135,233,72,137,44,202,72,137,68,202,8,137,92,202,252,248,252,233,244, 714 92,202,252,248,252,233,244,2,248,7,131,192,1,252,233,244,6,255,129,124,253,
662 2,248,7,131,192,1,252,233,244,6,255,129,124,253,202,252,236,239,15,133,244, 715 202,252,236,239,15,133,244,251,139,108,202,232,129,124,253,202,252,244,239,
663 251,139,108,202,232,129,124,253,202,252,244,239,15,133,244,251,129,124,253, 716 15,133,244,251,129,124,253,202,252,252,239,15,133,244,251,128,189,233,235,
664 202,252,252,239,15,133,244,251,128,189,233,235,15,133,244,251,141,180,253, 717 15,133,244,251,141,180,253,134,233,199,68,202,252,248,0,0,0,0,248,1,139,6,
665 134,233,199,68,202,252,248,0,0,0,0,248,1,139,6,15,182,204,15,182,232,131, 718 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,5,198,70,
666 198,4,193,232,16,252,255,36,252,235,248,5,198,70,252,252,235,141,180,253, 719 252,252,235,141,180,253,134,233,198,6,235,252,233,244,1,255,15,182,252,236,
667 134,233,198,6,235,252,233,244,1,255,15,182,252,236,15,182,192,137,124,36, 720 15,182,192,137,124,36,80,141,188,253,194,233,141,12,202,43,122,252,252,133,
668 80,141,188,253,194,233,141,12,202,43,122,252,252,133,252,237,15,132,244,251, 721 252,237,15,132,244,251,141,108,252,233,252,248,57,215,15,131,244,248,248,
669 141,108,252,233,252,248,57,215,15,131,244,248,248,1,72,139,71,252,248,131, 722 1,72,139,71,252,248,131,199,8,72,137,1,131,193,8,57,252,233,15,131,244,249,
670 199,8,72,137,1,131,193,8,57,252,233,15,131,244,249,57,215,15,130,244,1,248, 723 57,215,15,130,244,1,248,2,199,65,4,237,131,193,8,57,252,233,15,130,244,2,
671 2,199,65,4,237,131,193,8,57,252,233,15,130,244,2,248,3,139,124,36,80,139, 724 248,3,139,124,36,80,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
672 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,5,199, 725 255,36,252,235,248,5,199,68,36,84,1,0,0,0,137,208,41,252,248,15,134,244,3,
673 68,36,84,1,0,0,0,137,208,41,252,248,15,134,244,3,137,197,193,252,237,3,131, 726 137,197,193,252,237,3,131,197,1,137,108,36,84,139,108,36,96,1,200,59,133,
674 197,1,137,108,36,84,139,108,36,96,1,200,59,133,233,15,135,244,253,248,6,255, 727 233,15,135,244,253,248,6,255,72,139,71,252,248,131,199,8,72,137,1,131,193,
675 72,139,71,252,248,131,199,8,72,137,1,131,193,8,57,215,15,130,244,6,252,233, 728 8,57,215,15,130,244,6,252,233,244,3,248,7,137,149,233,137,141,233,137,116,
676 244,3,248,7,137,149,233,137,141,233,137,116,36,100,41,215,139,84,36,84,131, 729 36,100,41,215,139,84,36,84,131,252,234,1,137,252,233,232,251,1,0,139,149,
677 252,234,1,137,252,233,232,251,1,0,139,149,233,139,141,233,1,215,252,233,244, 730 233,139,141,233,1,215,252,233,244,6,255,193,225,3,255,248,1,139,114,252,252,
678 6,255,193,225,3,255,248,1,139,114,252,252,137,68,36,84,252,247,198,237,15, 731 137,68,36,84,252,247,198,237,15,133,244,253,255,248,13,137,215,131,232,1,
679 133,244,253,255,248,13,137,215,131,232,1,15,132,244,249,248,2,72,139,44,15, 732 15,132,244,249,248,2,72,139,44,15,72,137,111,252,248,131,199,8,131,232,1,
680 72,137,111,252,248,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,84,15, 733 15,133,244,2,248,3,139,68,36,84,15,182,110,252,255,248,5,57,197,15,135,244,
681 182,110,252,255,248,5,57,197,15,135,244,252,255,72,139,44,10,72,137,106,252, 734 252,255,72,139,44,10,72,137,106,252,248,255,248,5,56,70,252,255,15,135,244,
682 248,255,248,5,56,70,252,255,15,135,244,252,255,15,182,78,252,253,72,252,247, 735 252,255,15,182,78,252,253,72,252,247,209,141,20,202,139,122,252,248,139,191,
683 209,141,20,202,139,122,252,248,139,191,233,139,191,233,139,6,15,182,204,15, 736 233,139,191,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
684 182,232,131,198,4,193,232,16,252,255,36,252,235,248,6,255,199,71,252,252, 737 36,252,235,248,6,255,199,71,252,252,237,131,199,8,255,199,68,194,252,244,
685 237,131,199,8,255,199,68,194,252,244,237,255,131,192,1,252,233,244,5,248, 738 237,255,131,192,1,252,233,244,5,248,7,141,174,233,252,247,197,237,15,133,
686 7,141,174,233,252,247,197,237,15,133,244,14,41,252,234,255,1,252,233,255, 739 244,14,41,252,234,255,1,252,233,255,137,252,245,209,252,237,129,229,239,102,
687 137,252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,141, 740 131,172,253,43,233,1,15,132,244,145,255,141,12,202,255,129,121,253,4,239,
688 255,141,12,202,255,129,121,253,4,239,15,135,244,54,129,121,253,12,239,15, 741 15,133,244,255,255,129,121,253,12,239,15,133,244,57,129,121,253,20,239,15,
689 135,244,54,255,139,105,20,255,129,252,253,239,15,135,244,54,255,252,242,15, 742 133,244,57,139,41,131,121,16,0,15,140,244,251,255,139,105,16,133,252,237,
690 16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,237, 743 15,136,244,251,3,41,15,128,244,247,137,41,255,59,105,8,199,65,28,237,137,
691 15,136,244,249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15,17,65, 744 105,24,255,15,142,244,253,248,1,248,6,141,180,253,134,233,255,141,180,253,
692 24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15,136,244, 745 134,233,15,183,70,252,254,15,142,245,248,1,248,6,255,15,143,244,253,248,6,
693 247,255,221,81,24,15,140,244,247,255,217,201,248,1,255,15,183,70,252,254, 746 141,180,253,134,233,248,1,255,248,7,139,6,15,182,204,15,182,232,131,198,4,
694 255,15,131,244,248,141,180,253,134,233,255,141,180,253,134,233,15,183,70, 747 193,232,16,252,255,36,252,235,248,5,255,3,41,15,128,244,1,137,41,255,15,141,
695 252,254,15,131,245,255,15,130,244,248,141,180,253,134,233,255,248,3,102,15, 748 244,7,255,141,180,253,134,233,15,183,70,252,254,15,141,245,255,15,140,244,
696 46,193,252,233,244,1,255,141,12,202,139,105,4,129,252,253,239,15,132,244, 749 7,255,252,233,244,6,248,9,255,129,121,253,4,239,255,15,131,244,57,129,121,
697 247,255,137,105,252,252,139,41,137,105,252,248,252,233,245,255,141,180,253, 750 253,12,239,15,131,244,57,255,139,105,20,255,129,252,253,239,15,131,244,57,
698 134,233,139,1,137,105,252,252,137,65,252,248,255,139,139,233,139,4,129,72, 751 255,252,242,15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15,
699 139,128,233,139,108,36,96,137,147,233,137,171,233,76,137,100,36,80,76,137, 752 17,1,133,252,237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,248,
700 108,36,32,76,137,116,36,24,76,137,124,36,16,72,137,225,72,129,252,236,239, 753 1,252,242,15,17,65,24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,
701 102,15,127,49,102,15,127,185,233,102,68,15,127,129,233,102,68,15,127,137, 754 252,237,15,136,244,247,255,221,81,24,15,140,244,247,255,217,201,248,1,255,
702 233,102,68,15,127,145,233,102,68,15,127,153,233,102,68,15,127,161,233,102, 755 15,183,70,252,254,255,15,131,244,7,255,15,131,244,248,141,180,253,134,233,
703 68,15,127,169,233,102,68,15,127,177,233,102,68,15,127,185,233,252,255,224, 756 255,141,180,253,134,233,15,183,70,252,254,15,131,245,255,15,130,244,7,255,
704 255,141,180,253,134,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16, 757 15,130,244,248,141,180,253,134,233,255,248,3,102,15,46,193,252,233,244,1,
705 252,255,36,252,235,255,137,252,245,209,252,237,129,229,239,102,131,172,253, 758 255,141,12,202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252,252,
706 43,233,1,15,132,244,143,255,139,190,233,139,108,36,96,141,12,202,59,141,233, 759 139,41,137,105,252,248,252,233,245,255,141,180,253,134,233,139,1,137,105,
707 15,135,244,23,15,182,142,233,57,200,15,134,244,249,248,2,255,15,183,70,252, 760 252,252,137,65,252,248,255,139,139,233,139,4,129,72,139,128,233,139,108,36,
708 254,252,233,245,255,248,3,199,68,194,252,252,237,131,192,1,57,200,15,134, 761 96,137,147,233,137,171,233,76,137,100,36,80,76,137,108,36,32,76,137,116,36,
709 244,3,252,233,244,2,255,141,44,197,237,141,4,194,139,122,252,248,137,104, 762 24,76,137,124,36,16,72,137,225,72,129,252,236,239,102,15,127,49,102,15,127,
710 252,252,137,120,252,248,139,108,36,96,141,12,200,59,141,233,15,135,244,22, 763 185,233,102,68,15,127,129,233,102,68,15,127,137,233,102,68,15,127,145,233,
711 137,209,137,194,15,182,174,233,133,252,237,15,132,244,248,248,1,131,193,8, 764 102,68,15,127,153,233,102,68,15,127,161,233,102,68,15,127,169,233,102,68,
712 57,209,15,131,244,249,139,121,252,248,137,56,139,121,252,252,137,120,4,131, 765 15,127,177,233,102,68,15,127,185,233,252,255,224,255,141,180,253,134,233,
713 192,8,199,65,252,252,237,131,252,237,1,15,133,244,1,248,2,255,139,190,233, 766 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,137,
714 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,248, 767 252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,147,255,
715 3,199,64,4,237,131,192,8,131,252,237,1,15,133,244,3,252,233,244,2,255,139, 768 139,190,233,139,108,36,96,141,12,202,59,141,233,15,135,244,23,15,182,142,
716 106,252,248,72,139,189,233,139,108,36,96,141,68,194,252,248,137,149,233,141, 769 233,57,200,15,134,244,249,248,2,255,15,183,70,252,254,252,233,245,255,248,
717 136,233,59,141,233,137,133,233,255,137,252,233,255,72,137,252,250,137,252, 770 3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,255,
718 233,255,15,135,244,21,199,131,233,237,255,252,255,215,255,252,255,147,233, 771 141,44,197,237,141,4,194,139,122,252,248,137,104,252,252,137,120,252,248,
719 255,199,131,233,237,139,149,233,141,12,194,252,247,217,3,141,233,139,114, 772 139,108,36,96,141,12,200,59,141,233,15,135,244,22,137,209,137,194,15,182,
720 252,252,252,233,244,12,255,254,0 773 174,233,133,252,237,15,132,244,248,248,1,131,193,8,57,209,15,131,244,249,
774 139,121,252,248,137,56,139,121,252,252,137,120,4,131,192,8,199,65,252,252,
775 237,131,252,237,1,15,133,244,1,248,2,255,139,190,233,139,6,15,182,204,15,
776 182,232,131,198,4,193,232,16,252,255,36,252,235,255,248,3,199,64,4,237,131,
777 192,8,131,252,237,1,15,133,244,3,252,233,244,2,255,139,106,252,248,72,139,
778 189,233,139,108,36,96,141,68,194,252,248,137,149,233,141,136,233,59,141,233,
779 137,133,233,255,72,137,252,250,137,252,233,255,15,135,244,21,199,131,233,
780 237,255,252,255,215,255,252,255,147,233,255,199,131,233,237,139,149,233,141,
781 12,194,252,247,217,3,141,233,139,114,252,252,252,233,244,12,255,254,0
721}; 782};
722 783
723enum { 784enum {
@@ -758,9 +819,12 @@ enum {
758 GLOB_cont_condf, 819 GLOB_cont_condf,
759 GLOB_vmeta_equal, 820 GLOB_vmeta_equal,
760 GLOB_vmeta_equal_cd, 821 GLOB_vmeta_equal_cd,
822 GLOB_vmeta_arith_vno,
761 GLOB_vmeta_arith_vn, 823 GLOB_vmeta_arith_vn,
824 GLOB_vmeta_arith_nvo,
762 GLOB_vmeta_arith_nv, 825 GLOB_vmeta_arith_nv,
763 GLOB_vmeta_unm, 826 GLOB_vmeta_unm,
827 GLOB_vmeta_arith_vvo,
764 GLOB_vmeta_arith_vv, 828 GLOB_vmeta_arith_vv,
765 GLOB_vmeta_len, 829 GLOB_vmeta_len,
766 GLOB_vmeta_call_ra, 830 GLOB_vmeta_call_ra,
@@ -775,6 +839,7 @@ enum {
775 GLOB_ff_setmetatable, 839 GLOB_ff_setmetatable,
776 GLOB_ff_rawget, 840 GLOB_ff_rawget,
777 GLOB_ff_tonumber, 841 GLOB_ff_tonumber,
842 GLOB_fff_resi,
778 GLOB_fff_resxmm0, 843 GLOB_fff_resxmm0,
779 GLOB_fff_resn, 844 GLOB_fff_resn,
780 GLOB_ff_tostring, 845 GLOB_ff_tostring,
@@ -792,11 +857,12 @@ enum {
792 GLOB_ff_coroutine_wrap_aux, 857 GLOB_ff_coroutine_wrap_aux,
793 GLOB_ff_coroutine_yield, 858 GLOB_ff_coroutine_yield,
794 GLOB_ff_math_abs, 859 GLOB_ff_math_abs,
795 GLOB_ff_math_sqrt, 860 GLOB_fff_resbit,
796 GLOB_ff_math_floor, 861 GLOB_ff_math_floor,
797 GLOB_vm_floor, 862 GLOB_vm_floor,
798 GLOB_ff_math_ceil, 863 GLOB_ff_math_ceil,
799 GLOB_vm_ceil, 864 GLOB_vm_ceil,
865 GLOB_ff_math_sqrt,
800 GLOB_ff_math_log, 866 GLOB_ff_math_log,
801 GLOB_ff_math_log10, 867 GLOB_ff_math_log10,
802 GLOB_ff_math_exp, 868 GLOB_ff_math_exp,
@@ -837,7 +903,6 @@ enum {
837 GLOB_ff_table_getn, 903 GLOB_ff_table_getn,
838 GLOB_ff_bit_tobit, 904 GLOB_ff_bit_tobit,
839 GLOB_ff_bit_band, 905 GLOB_ff_bit_band,
840 GLOB_fff_resbit,
841 GLOB_fff_fallback_bit_op, 906 GLOB_fff_fallback_bit_op,
842 GLOB_ff_bit_bor, 907 GLOB_ff_bit_bor,
843 GLOB_ff_bit_bxor, 908 GLOB_ff_bit_bxor,
@@ -912,9 +977,12 @@ static const char *const globnames[] = {
912 "cont_condf", 977 "cont_condf",
913 "vmeta_equal", 978 "vmeta_equal",
914 "vmeta_equal_cd", 979 "vmeta_equal_cd",
980 "vmeta_arith_vno",
915 "vmeta_arith_vn", 981 "vmeta_arith_vn",
982 "vmeta_arith_nvo",
916 "vmeta_arith_nv", 983 "vmeta_arith_nv",
917 "vmeta_unm", 984 "vmeta_unm",
985 "vmeta_arith_vvo",
918 "vmeta_arith_vv", 986 "vmeta_arith_vv",
919 "vmeta_len", 987 "vmeta_len",
920 "vmeta_call_ra", 988 "vmeta_call_ra",
@@ -929,6 +997,7 @@ static const char *const globnames[] = {
929 "ff_setmetatable", 997 "ff_setmetatable",
930 "ff_rawget", 998 "ff_rawget",
931 "ff_tonumber", 999 "ff_tonumber",
1000 "fff_resi",
932 "fff_resxmm0", 1001 "fff_resxmm0",
933 "fff_resn", 1002 "fff_resn",
934 "ff_tostring", 1003 "ff_tostring",
@@ -946,11 +1015,12 @@ static const char *const globnames[] = {
946 "ff_coroutine_wrap_aux", 1015 "ff_coroutine_wrap_aux",
947 "ff_coroutine_yield", 1016 "ff_coroutine_yield",
948 "ff_math_abs", 1017 "ff_math_abs",
949 "ff_math_sqrt", 1018 "fff_resbit",
950 "ff_math_floor", 1019 "ff_math_floor",
951 "vm_floor", 1020 "vm_floor",
952 "ff_math_ceil", 1021 "ff_math_ceil",
953 "vm_ceil", 1022 "vm_ceil",
1023 "ff_math_sqrt",
954 "ff_math_log", 1024 "ff_math_log",
955 "ff_math_log10", 1025 "ff_math_log10",
956 "ff_math_exp", 1026 "ff_math_exp",
@@ -991,7 +1061,6 @@ static const char *const globnames[] = {
991 "ff_table_getn", 1061 "ff_table_getn",
992 "ff_bit_tobit", 1062 "ff_bit_tobit",
993 "ff_bit_band", 1063 "ff_bit_band",
994 "fff_resbit",
995 "fff_fallback_bit_op", 1064 "fff_fallback_bit_op",
996 "ff_bit_bor", 1065 "ff_bit_bor",
997 "ff_bit_bxor", 1066 "ff_bit_bxor",
@@ -1040,6 +1109,7 @@ static const char *const extnames[] = {
1040 "lj_meta_call", 1109 "lj_meta_call",
1041 "lj_meta_for@8", 1110 "lj_meta_for@8",
1042 "lj_tab_get", 1111 "lj_tab_get",
1112 "lj_str_fromnumber@8",
1043 "lj_str_fromnum@8", 1113 "lj_str_fromnum@8",
1044 "lj_tab_next", 1114 "lj_tab_next",
1045 "lj_tab_getinth@8", 1115 "lj_tab_getinth@8",
@@ -1096,387 +1166,656 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1096 dasm_put(Dst, 513, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 1166 dasm_put(Dst, 513, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
1097 dasm_put(Dst, 619, LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL, 0, Dt7(->pc)); 1167 dasm_put(Dst, 619, LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL, 0, Dt7(->pc));
1098 dasm_put(Dst, 777, PC2PROTO(k), Dt1(->base), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB); 1168 dasm_put(Dst, 777, PC2PROTO(k), Dt1(->base), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB);
1099 if (sse) { 1169 if (LJ_DUALNUM) {
1100 dasm_put(Dst, 883); 1170 dasm_put(Dst, 883, LJ_TISNUM);
1171 } else if (sse) {
1172 dasm_put(Dst, 893);
1101 } else { 1173 } else {
1102 } 1174 }
1103 dasm_put(Dst, 896, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET); 1175 dasm_put(Dst, 906, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET);
1104 dasm_put(Dst, 1043, DISPATCH_GL(tmptv), LJ_TTAB); 1176 dasm_put(Dst, 1053, DISPATCH_GL(tmptv), LJ_TTAB);
1105 if (sse) { 1177 if (LJ_DUALNUM) {
1106 dasm_put(Dst, 883); 1178 dasm_put(Dst, 883, LJ_TISNUM);
1179 } else if (sse) {
1180 dasm_put(Dst, 893);
1107 } else { 1181 } else {
1108 } 1182 }
1109 dasm_put(Dst, 1066, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base)); 1183 dasm_put(Dst, 1076, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base));
1110 dasm_put(Dst, 1239, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base)); 1184 dasm_put(Dst, 1249, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base));
1111 dasm_put(Dst, 1339); 1185 dasm_put(Dst, 1349);
1112#if LJ_HASFFI 1186#if LJ_HASFFI
1113 dasm_put(Dst, 1359, Dt1(->base)); 1187 dasm_put(Dst, 1369, Dt1(->base));
1188#endif
1189 dasm_put(Dst, 1400);
1190#if LJ_DUALNUM
1191 dasm_put(Dst, 1403);
1114#endif 1192#endif
1115 dasm_put(Dst, 1390, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1); 1193 dasm_put(Dst, 1409);
1116 dasm_put(Dst, 1506, Dt1(->base), Dt1(->base), Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND); 1194#if LJ_DUALNUM
1117 dasm_put(Dst, 1691, 1+1, ~LJ_TNUMX); 1195 dasm_put(Dst, 877);
1196#endif
1197 dasm_put(Dst, 1421);
1198#if LJ_DUALNUM
1199 dasm_put(Dst, 1403);
1200#endif
1201 dasm_put(Dst, 1449, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base), Dt1(->base));
1202 dasm_put(Dst, 1586, Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND);
1203 dasm_put(Dst, 1769, 1+1, ~LJ_TNUMX);
1118 if (cmov) { 1204 if (cmov) {
1119 dasm_put(Dst, 1789); 1205 dasm_put(Dst, 1814);
1206 } else {
1207 dasm_put(Dst, 1818);
1208 }
1209 dasm_put(Dst, 1827, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL);
1210 dasm_put(Dst, 1906, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next));
1211 dasm_put(Dst, 1963, LJ_TNIL, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]));
1212 dasm_put(Dst, 2031, 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), cast_byte(~LJ_GC_BLACK));
1213 dasm_put(Dst, 2100, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB, 1+1, LJ_TISNUM);
1214 if (LJ_DUALNUM) {
1215 dasm_put(Dst, 2185);
1120 } else { 1216 } else {
1121 dasm_put(Dst, 1793); 1217 dasm_put(Dst, 2202);
1122 } 1218 }
1123 dasm_put(Dst, 1802, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL);
1124 dasm_put(Dst, 1881, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next));
1125 dasm_put(Dst, 1938, LJ_TNIL, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]));
1126 dasm_put(Dst, 2006, 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), cast_byte(~LJ_GC_BLACK));
1127 dasm_put(Dst, 2075, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB, 1+1, LJ_TISNUM);
1128 dasm_put(Dst, 2160);
1129 if (sse) { 1219 if (sse) {
1130 dasm_put(Dst, 2165); 1220 dasm_put(Dst, 2207);
1221 } else {
1222 dasm_put(Dst, 2217);
1223 }
1224 dasm_put(Dst, 2224, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1225 dasm_put(Dst, 2290, Dt1(->base));
1226 if (LJ_DUALNUM) {
1227 dasm_put(Dst, 2314);
1131 } else { 1228 } else {
1132 dasm_put(Dst, 2175); 1229 dasm_put(Dst, 2319);
1133 } 1230 }
1134 dasm_put(Dst, 2182, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1231 dasm_put(Dst, 2324, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2);
1135 dasm_put(Dst, 2248, Dt1(->base), Dt1(->base), 1+1, LJ_TTAB, Dt1(->base)); 1232 dasm_put(Dst, 2417, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB);
1136 dasm_put(Dst, 2315, Dt1(->top), Dt1(->base), 1+2, LJ_TNIL, LJ_TNIL, 1+1);
1137 dasm_put(Dst, 2404, LJ_TTAB);
1138#ifdef LUAJIT_ENABLE_LUA52COMPAT 1233#ifdef LUAJIT_ENABLE_LUA52COMPAT
1139 dasm_put(Dst, 2416, Dt6(->metatable)); 1234 dasm_put(Dst, 2464, Dt6(->metatable));
1140#endif 1235#endif
1141 dasm_put(Dst, 2425, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); 1236 dasm_put(Dst, 2473, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM);
1142 if (sse) { 1237 if (LJ_DUALNUM) {
1143 dasm_put(Dst, 2488, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1238 dasm_put(Dst, 2459);
1144 } else { 1239 } else {
1240 dasm_put(Dst, 2202);
1145 } 1241 }
1146 dasm_put(Dst, 2521, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); 1242 dasm_put(Dst, 2528);
1147 dasm_put(Dst, 2598, 1+1, LJ_TTAB); 1243 if (LJ_DUALNUM) {
1244 dasm_put(Dst, 2533, LJ_TISNUM);
1245 } else if (sse) {
1246 dasm_put(Dst, 2549, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1247 } else {
1248 }
1249 dasm_put(Dst, 2582, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0);
1250 dasm_put(Dst, 2444, 1+1, LJ_TTAB);
1148#ifdef LUAJIT_ENABLE_LUA52COMPAT 1251#ifdef LUAJIT_ENABLE_LUA52COMPAT
1149 dasm_put(Dst, 2416, Dt6(->metatable)); 1252 dasm_put(Dst, 2464, Dt6(->metatable));
1150#endif 1253#endif
1151 dasm_put(Dst, 2618, Dt8(->upvalue[0]), LJ_TFUNC); 1254 dasm_put(Dst, 2659, Dt8(->upvalue[0]), LJ_TFUNC);
1255 if (LJ_DUALNUM) {
1256 dasm_put(Dst, 2680, LJ_TISNUM);
1257 } else if (sse) {
1258 dasm_put(Dst, 2692);
1259 } else {
1260 dasm_put(Dst, 2702);
1261 }
1262 dasm_put(Dst, 2709, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC);
1263 dasm_put(Dst, 2773, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top));
1264 dasm_put(Dst, 2863, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1265 dasm_put(Dst, 2951, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE);
1266 dasm_put(Dst, 3064, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
1267 dasm_put(Dst, 3162, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
1268 dasm_put(Dst, 3229, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
1269 dasm_put(Dst, 3317, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
1270 dasm_put(Dst, 3429, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
1271 if (!LJ_DUALNUM) {
1272 dasm_put(Dst, 3456);
1273 }
1152 if (sse) { 1274 if (sse) {
1153 dasm_put(Dst, 2639); 1275 dasm_put(Dst, 3459);
1154 } else { 1276 }
1155 dasm_put(Dst, 2649); 1277 dasm_put(Dst, 3474, 1+1);
1156 } 1278 if (LJ_DUALNUM) {
1157 dasm_put(Dst, 2656, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); 1279 dasm_put(Dst, 3485, LJ_TISNUM, LJ_TISNUM);
1158 dasm_put(Dst, 2720, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); 1280 } else {
1159 dasm_put(Dst, 2810, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1281 dasm_put(Dst, 3565, LJ_TISNUM);
1160 dasm_put(Dst, 2898, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); 1282 }
1161 dasm_put(Dst, 3011, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
1162 dasm_put(Dst, 3109, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
1163 dasm_put(Dst, 3176, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
1164 dasm_put(Dst, 3264, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
1165 dasm_put(Dst, 3376, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
1166 if (sse) { 1283 if (sse) {
1167 dasm_put(Dst, 3403, 1+1, LJ_TISNUM, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1284 dasm_put(Dst, 3575, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1168 } else { 1285 } else {
1169 dasm_put(Dst, 3467, 1+1, LJ_TISNUM); 1286 dasm_put(Dst, 3606);
1287 }
1288 dasm_put(Dst, 3623, 1+1, FRAME_TYPE, LJ_TNIL);
1289 if (LJ_DUALNUM) {
1290 dasm_put(Dst, 3719, LJ_TISNUM);
1291 } else {
1292 dasm_put(Dst, 3565, LJ_TISNUM);
1170 } 1293 }
1171 dasm_put(Dst, 3503, 1+1, FRAME_TYPE, LJ_TNIL);
1172 if (sse) { 1294 if (sse) {
1173 dasm_put(Dst, 3597, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1295 dasm_put(Dst, 3741);
1174 dasm_put(Dst, 3659, 1+1, LJ_TISNUM); 1296 if (LJ_DUALNUM) {
1297 dasm_put(Dst, 3750);
1298 }
1299 dasm_put(Dst, 2212);
1175 } else { 1300 } else {
1176 dasm_put(Dst, 3689, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1301 dasm_put(Dst, 3784);
1177 dasm_put(Dst, 3748, 1+1, LJ_TISNUM); 1302 if (LJ_DUALNUM) {
1303 } else {
1304 dasm_put(Dst, 2219);
1305 }
1306 }
1307 dasm_put(Dst, 3790);
1308 if (LJ_DUALNUM) {
1309 dasm_put(Dst, 3719, LJ_TISNUM);
1310 } else {
1311 dasm_put(Dst, 3565, LJ_TISNUM);
1178 } 1312 }
1179 dasm_put(Dst, 3775, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1180 dasm_put(Dst, 3844, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1181 dasm_put(Dst, 3901, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1182 dasm_put(Dst, 3964, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1183 dasm_put(Dst, 4054);
1184 if (sse) { 1313 if (sse) {
1185 dasm_put(Dst, 4066, 1+1, LJ_TISNUM); 1314 dasm_put(Dst, 3793);
1315 if (LJ_DUALNUM) {
1316 dasm_put(Dst, 3750);
1317 }
1318 dasm_put(Dst, 2212);
1186 } else { 1319 } else {
1320 dasm_put(Dst, 3802);
1321 if (LJ_DUALNUM) {
1322 } else {
1323 dasm_put(Dst, 2219);
1324 }
1187 } 1325 }
1188 dasm_put(Dst, 4091);
1189 if (sse) { 1326 if (sse) {
1190 dasm_put(Dst, 4105, 1+1, LJ_TISNUM); 1327 dasm_put(Dst, 3808, 1+1, LJ_TISNUM);
1191 } else { 1328 } else {
1329 dasm_put(Dst, 3837, 1+1, LJ_TISNUM);
1192 } 1330 }
1193 dasm_put(Dst, 4130); 1331 dasm_put(Dst, 3866, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1332 dasm_put(Dst, 3935, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1333 dasm_put(Dst, 3992, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1334 dasm_put(Dst, 4055, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1335 dasm_put(Dst, 4145);
1194 if (sse) { 1336 if (sse) {
1195 dasm_put(Dst, 4144, 1+1, LJ_TISNUM); 1337 dasm_put(Dst, 4157, 1+1, LJ_TISNUM);
1196 } else { 1338 } else {
1197 } 1339 }
1198 dasm_put(Dst, 4169); 1340 dasm_put(Dst, 4182);
1199 if (sse) { 1341 if (sse) {
1200 dasm_put(Dst, 4185, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1342 dasm_put(Dst, 4196, 1+1, LJ_TISNUM);
1201 } else { 1343 } else {
1202 dasm_put(Dst, 4224, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1203 } 1344 }
1204 dasm_put(Dst, 4257, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); 1345 dasm_put(Dst, 4221);
1205 dasm_put(Dst, 4322, 1+1, LJ_TISNUM);
1206 if (sse) { 1346 if (sse) {
1207 dasm_put(Dst, 4421); 1347 dasm_put(Dst, 4235, 1+1, LJ_TISNUM);
1208 } else { 1348 } else {
1209 dasm_put(Dst, 4427);
1210 } 1349 }
1211 dasm_put(Dst, 4436); 1350 dasm_put(Dst, 4260);
1212 if (sse) { 1351 if (sse) {
1213 dasm_put(Dst, 4461); 1352 dasm_put(Dst, 4276, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1214 } else { 1353 } else {
1215 dasm_put(Dst, 4467); 1354 dasm_put(Dst, 4315, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1216 } 1355 }
1217 dasm_put(Dst, 4470, 1+2); 1356 dasm_put(Dst, 4348, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM);
1357 dasm_put(Dst, 4413, 1+1, LJ_TISNUM);
1218 if (sse) { 1358 if (sse) {
1219 dasm_put(Dst, 4479); 1359 dasm_put(Dst, 4512);
1220 } else { 1360 } else {
1221 dasm_put(Dst, 4487); 1361 dasm_put(Dst, 4518);
1222 } 1362 }
1223 dasm_put(Dst, 4495); 1363 dasm_put(Dst, 4527);
1224 if (sse) { 1364 if (sse) {
1225 dasm_put(Dst, 4498, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32)); 1365 dasm_put(Dst, 4552);
1226 } else { 1366 } else {
1227 dasm_put(Dst, 4525); 1367 dasm_put(Dst, 4558);
1228 } 1368 }
1229 dasm_put(Dst, 4544); 1369 dasm_put(Dst, 4561, 1+2);
1230 if (sse) { 1370 if (sse) {
1231 dasm_put(Dst, 4560, 1+1, LJ_TISNUM); 1371 dasm_put(Dst, 4570);
1232 } else { 1372 } else {
1233 dasm_put(Dst, 4585, 1+1, LJ_TISNUM); 1373 dasm_put(Dst, 4578);
1234 } 1374 }
1235 dasm_put(Dst, 4607); 1375 dasm_put(Dst, 4586);
1236 if (sse) { 1376 if (sse) {
1237 dasm_put(Dst, 4629); 1377 dasm_put(Dst, 4589, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32));
1238 } else { 1378 } else {
1239 dasm_put(Dst, 4655); 1379 dasm_put(Dst, 4616);
1240 } 1380 }
1241 dasm_put(Dst, 4672, 1+2); 1381 dasm_put(Dst, 4635);
1242 if (sse) { 1382 if (sse) {
1243 dasm_put(Dst, 4712); 1383 dasm_put(Dst, 4651, 1+1, LJ_TISNUM);
1244 } else { 1384 } else {
1385 dasm_put(Dst, 4676, 1+1, LJ_TISNUM);
1386 }
1387 dasm_put(Dst, 4698);
1388 if (sse) {
1245 dasm_put(Dst, 4720); 1389 dasm_put(Dst, 4720);
1390 } else {
1391 dasm_put(Dst, 4746);
1246 } 1392 }
1247 dasm_put(Dst, 4730, 2+1, LJ_TISNUM, LJ_TISNUM); 1393 dasm_put(Dst, 4763, 1+2);
1248 if (sse) { 1394 if (sse) {
1249 dasm_put(Dst, 4782, 2+1, LJ_TISNUM, LJ_TISNUM); 1395 dasm_put(Dst, 4803);
1250 } else { 1396 } else {
1251 dasm_put(Dst, 4829, 2+1, LJ_TISNUM, LJ_TISNUM); 1397 dasm_put(Dst, 4811);
1252 } 1398 }
1399 dasm_put(Dst, 4821, 2+1, LJ_TISNUM, LJ_TISNUM);
1253 if (sse) { 1400 if (sse) {
1254 dasm_put(Dst, 4870, 1+1, LJ_TISNUM, LJ_TISNUM); 1401 dasm_put(Dst, 4873, 2+1, LJ_TISNUM, LJ_TISNUM);
1255 } else { 1402 } else {
1403 dasm_put(Dst, 4920, 2+1, LJ_TISNUM, LJ_TISNUM);
1256 } 1404 }
1405 dasm_put(Dst, 4961, LJ_TISNUM);
1406 if (LJ_DUALNUM) {
1407 dasm_put(Dst, 4974, LJ_TISNUM);
1257 if (sse) { 1408 if (sse) {
1258 dasm_put(Dst, 4941, 1+1, LJ_TISNUM, LJ_TISNUM); 1409 dasm_put(Dst, 4512);
1259 } else { 1410 } else {
1260 } 1411 }
1261 if (!sse) { 1412 dasm_put(Dst, 5024);
1262 dasm_put(Dst, 5012); 1413 } else {
1414 dasm_put(Dst, 2202);
1263 } 1415 }
1264 dasm_put(Dst, 5021, 1+1, LJ_TSTR);
1265 if (sse) { 1416 if (sse) {
1266 dasm_put(Dst, 5043, Dt5(->len)); 1417 dasm_put(Dst, 5035, LJ_TISNUM);
1418 if (LJ_DUALNUM) {
1419 dasm_put(Dst, 5056);
1267 } else { 1420 } else {
1268 dasm_put(Dst, 5054, Dt5(->len)); 1421 dasm_put(Dst, 2202);
1269 } 1422 }
1270 dasm_put(Dst, 5062, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); 1423 dasm_put(Dst, 5077);
1271 if (sse) {
1272 dasm_put(Dst, 5100);
1273 } else { 1424 } else {
1274 dasm_put(Dst, 5110);
1275 } 1425 }
1276 dasm_put(Dst, 5123, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); 1426 dasm_put(Dst, 5102, LJ_TISNUM);
1427 if (LJ_DUALNUM) {
1428 dasm_put(Dst, 5115, LJ_TISNUM);
1277 if (sse) { 1429 if (sse) {
1278 dasm_put(Dst, 5158); 1430 dasm_put(Dst, 4512);
1279 } else { 1431 } else {
1280 dasm_put(Dst, 5180);
1281 } 1432 }
1282 dasm_put(Dst, 5200, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); 1433 dasm_put(Dst, 5024);
1283 dasm_put(Dst, 2160);
1284 if (sse) {
1285 dasm_put(Dst, 5308);
1286 } else { 1434 } else {
1287 dasm_put(Dst, 5319); 1435 dasm_put(Dst, 2202);
1288 } 1436 }
1289 dasm_put(Dst, 5327, LJ_TSTR, LJ_TISNUM, Dt5(->len));
1290 if (sse) { 1437 if (sse) {
1291 dasm_put(Dst, 5357); 1438 dasm_put(Dst, 5035, LJ_TISNUM);
1439 if (LJ_DUALNUM) {
1440 dasm_put(Dst, 5056);
1441 } else {
1442 dasm_put(Dst, 2202);
1443 }
1444 dasm_put(Dst, 5165);
1445 } else {
1446 }
1447 if (!sse) {
1448 dasm_put(Dst, 5190);
1449 }
1450 dasm_put(Dst, 5199, 1+1, LJ_TSTR);
1451 if (LJ_DUALNUM) {
1452 dasm_put(Dst, 5221, Dt5(->len));
1453 } else if (sse) {
1454 dasm_put(Dst, 5229, Dt5(->len));
1455 } else {
1456 dasm_put(Dst, 5240, Dt5(->len));
1457 }
1458 dasm_put(Dst, 5248, 1+1, LJ_TSTR, Dt5(->len), Dt5([1]));
1459 if (LJ_DUALNUM) {
1460 dasm_put(Dst, 5224);
1461 } else if (sse) {
1462 dasm_put(Dst, 5286);
1463 } else {
1464 dasm_put(Dst, 5296);
1465 }
1466 dasm_put(Dst, 5309, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM);
1467 if (LJ_DUALNUM) {
1468 dasm_put(Dst, 5340);
1469 } else if (sse) {
1470 dasm_put(Dst, 5363);
1471 } else {
1472 dasm_put(Dst, 5389);
1473 }
1474 dasm_put(Dst, 5413, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM);
1475 if (LJ_DUALNUM) {
1476 dasm_put(Dst, 5521);
1477 } else if (sse) {
1478 dasm_put(Dst, 5533);
1479 } else {
1480 dasm_put(Dst, 5548);
1481 }
1482 dasm_put(Dst, 5560, LJ_TSTR, LJ_TISNUM);
1483 if (LJ_DUALNUM) {
1484 dasm_put(Dst, 2459);
1485 } else {
1486 dasm_put(Dst, 2202);
1487 }
1488 dasm_put(Dst, 5577, Dt5(->len));
1489 if (LJ_DUALNUM) {
1490 dasm_put(Dst, 5587);
1491 } else if (sse) {
1492 dasm_put(Dst, 5591);
1292 } else { 1493 } else {
1293 } 1494 }
1294 dasm_put(Dst, 5364, sizeof(GCstr)-1); 1495 dasm_put(Dst, 5598, sizeof(GCstr)-1);
1295 dasm_put(Dst, 5439, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1496 dasm_put(Dst, 5673, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1296 dasm_put(Dst, 5498, LJ_TSTR, LJ_TISNUM); 1497 dasm_put(Dst, 5732, LJ_TSTR, LJ_TISNUM);
1498 if (LJ_DUALNUM) {
1499 dasm_put(Dst, 5749);
1500 } else if (sse) {
1501 dasm_put(Dst, 5757);
1502 } else {
1503 dasm_put(Dst, 5768);
1504 }
1505 dasm_put(Dst, 5784, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1);
1506 dasm_put(Dst, 5849, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1507 dasm_put(Dst, 5912, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
1508 dasm_put(Dst, 5983, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1);
1509 dasm_put(Dst, 6068, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1510 dasm_put(Dst, 6138, 1+1, LJ_TTAB);
1511 if (LJ_DUALNUM) {
1512 dasm_put(Dst, 6206);
1513 } else if (sse) {
1514 dasm_put(Dst, 6213);
1515 } else {
1516 }
1517 dasm_put(Dst, 6223, LJ_TISNUM);
1518 if (LJ_DUALNUM) {
1519 dasm_put(Dst, 6231);
1520 } else {
1521 dasm_put(Dst, 2202);
1522 }
1297 if (sse) { 1523 if (sse) {
1298 dasm_put(Dst, 5519); 1524 dasm_put(Dst, 6248, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1299 } else { 1525 } else {
1300 dasm_put(Dst, 5526);
1301 } 1526 }
1302 dasm_put(Dst, 5538, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); 1527 dasm_put(Dst, 106);
1303 dasm_put(Dst, 5603, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1528 if (LJ_DUALNUM || sse) {
1304 dasm_put(Dst, 5666, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); 1529 if (!sse) {
1305 dasm_put(Dst, 5737, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); 1530 }
1306 dasm_put(Dst, 5822, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1531 dasm_put(Dst, 6272);
1307 dasm_put(Dst, 5892, 1+1, LJ_TTAB); 1532 } else {
1533 }
1534 dasm_put(Dst, 6277);
1308 if (sse) { 1535 if (sse) {
1309 dasm_put(Dst, 5960); 1536 dasm_put(Dst, 6280, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1537 } else {
1538 dasm_put(Dst, 6290);
1539 }
1540 dasm_put(Dst, 2179, LJ_TISNUM);
1541 if (LJ_DUALNUM) {
1542 dasm_put(Dst, 6299);
1310 } else { 1543 } else {
1544 dasm_put(Dst, 2202);
1311 } 1545 }
1312 if (sse) { 1546 if (sse) {
1313 dasm_put(Dst, 5970, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1547 dasm_put(Dst, 6316);
1314 } else { 1548 } else {
1315 } 1549 }
1550 dasm_put(Dst, 6331, LJ_TISNUM);
1551 if (LJ_DUALNUM) {
1552 dasm_put(Dst, 6356);
1553 } else {
1554 dasm_put(Dst, 6376);
1555 }
1316 if (sse) { 1556 if (sse) {
1317 dasm_put(Dst, 6022, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1557 dasm_put(Dst, 6381);
1318 } else { 1558 } else {
1319 } 1559 }
1320 dasm_put(Dst, 6065, LJ_TISNUM); 1560 dasm_put(Dst, 6398);
1321 if (sse) { 1561 if (sse) {
1322 dasm_put(Dst, 6092); 1562 dasm_put(Dst, 6280, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1563 } else {
1564 dasm_put(Dst, 6290);
1565 }
1566 dasm_put(Dst, 2179, LJ_TISNUM);
1567 if (LJ_DUALNUM) {
1568 dasm_put(Dst, 6299);
1323 } else { 1569 } else {
1570 dasm_put(Dst, 2202);
1324 } 1571 }
1325 dasm_put(Dst, 6109);
1326 if (sse) { 1572 if (sse) {
1327 dasm_put(Dst, 6117, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1573 dasm_put(Dst, 6316);
1574 } else {
1575 }
1576 dasm_put(Dst, 6331, LJ_TISNUM);
1577 if (LJ_DUALNUM) {
1578 dasm_put(Dst, 6408);
1328 } else { 1579 } else {
1580 dasm_put(Dst, 6376);
1329 } 1581 }
1330 dasm_put(Dst, 6065, LJ_TISNUM);
1331 if (sse) { 1582 if (sse) {
1332 dasm_put(Dst, 6160); 1583 dasm_put(Dst, 6428);
1333 } else { 1584 } else {
1334 } 1585 }
1335 dasm_put(Dst, 6109); 1586 dasm_put(Dst, 6445);
1336 if (sse) { 1587 if (sse) {
1337 dasm_put(Dst, 6177, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1588 dasm_put(Dst, 6280, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1589 } else {
1590 dasm_put(Dst, 6290);
1591 }
1592 dasm_put(Dst, 2179, LJ_TISNUM);
1593 if (LJ_DUALNUM) {
1594 dasm_put(Dst, 6299);
1338 } else { 1595 } else {
1596 dasm_put(Dst, 2202);
1339 } 1597 }
1340 dasm_put(Dst, 6065, LJ_TISNUM);
1341 if (sse) { 1598 if (sse) {
1342 dasm_put(Dst, 6220); 1599 dasm_put(Dst, 6316);
1600 } else {
1601 }
1602 dasm_put(Dst, 6331, LJ_TISNUM);
1603 if (LJ_DUALNUM) {
1604 dasm_put(Dst, 6455);
1343 } else { 1605 } else {
1606 dasm_put(Dst, 6376);
1344 } 1607 }
1345 dasm_put(Dst, 6109);
1346 if (sse) { 1608 if (sse) {
1347 dasm_put(Dst, 6237, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1609 dasm_put(Dst, 6475);
1348 } else { 1610 } else {
1349 } 1611 }
1350 dasm_put(Dst, 6280); 1612 dasm_put(Dst, 6492, LJ_TISNUM);
1613 if (LJ_DUALNUM) {
1614 dasm_put(Dst, 6299);
1615 } else {
1616 dasm_put(Dst, 2202);
1617 }
1351 if (sse) { 1618 if (sse) {
1352 dasm_put(Dst, 6287, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1619 dasm_put(Dst, 6248, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1620 } else {
1621 }
1622 dasm_put(Dst, 6507, LJ_TISNUM);
1623 if (LJ_DUALNUM) {
1624 dasm_put(Dst, 6299);
1353 } else { 1625 } else {
1626 dasm_put(Dst, 2202);
1354 } 1627 }
1355 dasm_put(Dst, 6330);
1356 if (sse) { 1628 if (sse) {
1357 dasm_put(Dst, 6334); 1629 dasm_put(Dst, 6248, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1630 } else {
1631 }
1632 dasm_put(Dst, 6523);
1633 if (LJ_DUALNUM) {
1634 dasm_put(Dst, 6272);
1635 } else if (sse) {
1636 dasm_put(Dst, 6529);
1637 } else {
1638 }
1639 dasm_put(Dst, 6541);
1640 if (LJ_DUALNUM) {
1641 dasm_put(Dst, 6552, LJ_TISNUM);
1642 if (LJ_DUALNUM) {
1643 dasm_put(Dst, 6299);
1358 } else { 1644 } else {
1645 dasm_put(Dst, 2202);
1359 } 1646 }
1360 dasm_put(Dst, 6346);
1361 if (sse) { 1647 if (sse) {
1362 dasm_put(Dst, 6357, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1648 dasm_put(Dst, 6248, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1363 } else { 1649 } else {
1364 } 1650 }
1365 dasm_put(Dst, 6426); 1651 dasm_put(Dst, 6560, LJ_TISNUM);
1652 } else if (sse) {
1653 dasm_put(Dst, 6575, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1654 } else {
1655 }
1656 dasm_put(Dst, 6642);
1657 if (LJ_DUALNUM) {
1658 dasm_put(Dst, 6649, LJ_TISNUM);
1659 if (LJ_DUALNUM) {
1660 dasm_put(Dst, 6299);
1661 } else {
1662 dasm_put(Dst, 2202);
1663 }
1366 if (sse) { 1664 if (sse) {
1367 dasm_put(Dst, 6435, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1665 dasm_put(Dst, 6248, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1666 } else {
1667 }
1668 dasm_put(Dst, 6560, LJ_TISNUM);
1669 } else if (sse) {
1670 dasm_put(Dst, 6657, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1671 } else {
1672 }
1673 dasm_put(Dst, 6724);
1674 if (LJ_DUALNUM) {
1675 dasm_put(Dst, 6732, LJ_TISNUM);
1676 if (LJ_DUALNUM) {
1677 dasm_put(Dst, 6299);
1368 } else { 1678 } else {
1679 dasm_put(Dst, 2202);
1369 } 1680 }
1370 dasm_put(Dst, 6504);
1371 if (sse) { 1681 if (sse) {
1372 dasm_put(Dst, 6514, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1682 dasm_put(Dst, 6248, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1373 } else { 1683 } else {
1374 } 1684 }
1375 dasm_put(Dst, 6583); 1685 dasm_put(Dst, 6560, LJ_TISNUM);
1686 } else if (sse) {
1687 dasm_put(Dst, 6740, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1688 } else {
1689 }
1690 dasm_put(Dst, 6807);
1691 if (LJ_DUALNUM) {
1692 dasm_put(Dst, 6815, LJ_TISNUM);
1693 if (LJ_DUALNUM) {
1694 dasm_put(Dst, 6299);
1695 } else {
1696 dasm_put(Dst, 2202);
1697 }
1376 if (sse) { 1698 if (sse) {
1377 dasm_put(Dst, 6593, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1699 dasm_put(Dst, 6248, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1378 } else { 1700 } else {
1379 } 1701 }
1380 dasm_put(Dst, 6662); 1702 dasm_put(Dst, 6560, LJ_TISNUM);
1703 } else if (sse) {
1704 dasm_put(Dst, 6823, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1705 } else {
1706 }
1707 dasm_put(Dst, 6890);
1708 if (LJ_DUALNUM) {
1709 dasm_put(Dst, 6897, LJ_TISNUM);
1710 if (LJ_DUALNUM) {
1711 dasm_put(Dst, 6299);
1712 } else {
1713 dasm_put(Dst, 2202);
1714 }
1381 if (sse) { 1715 if (sse) {
1382 dasm_put(Dst, 6671, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1716 dasm_put(Dst, 6248, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1717 } else {
1718 }
1719 dasm_put(Dst, 6560, LJ_TISNUM);
1720 } else if (sse) {
1721 dasm_put(Dst, 6905, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1383 } else { 1722 } else {
1384 } 1723 }
1385 dasm_put(Dst, 6740, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); 1724 dasm_put(Dst, 6972, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
1386 dasm_put(Dst, 6818, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); 1725 dasm_put(Dst, 7048, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
1387 dasm_put(Dst, 6945, Dt1(->top), Dt1(->base), Dt1(->top)); 1726 dasm_put(Dst, 7175, Dt1(->top), Dt1(->base), Dt1(->top));
1388#if LJ_HASJIT 1727#if LJ_HASJIT
1389 dasm_put(Dst, 6984, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); 1728 dasm_put(Dst, 7214, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1390#endif 1729#endif
1391 dasm_put(Dst, 7015, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); 1730 dasm_put(Dst, 7245, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
1392 dasm_put(Dst, 7066, Dt1(->base), Dt1(->base), GG_DISP2STATIC); 1731 dasm_put(Dst, 7296, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1393#if LJ_HASJIT 1732#if LJ_HASJIT
1394 dasm_put(Dst, 7133, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); 1733 dasm_put(Dst, 7363, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
1395#endif 1734#endif
1396 dasm_put(Dst, 7180); 1735 dasm_put(Dst, 7410);
1397#if LJ_HASJIT 1736#if LJ_HASJIT
1398 dasm_put(Dst, 7010); 1737 dasm_put(Dst, 7240);
1399#endif 1738#endif
1400 dasm_put(Dst, 7187); 1739 dasm_put(Dst, 7417);
1401#if LJ_HASJIT 1740#if LJ_HASJIT
1402 dasm_put(Dst, 7190); 1741 dasm_put(Dst, 7420);
1403#endif 1742#endif
1404 dasm_put(Dst, 7200, Dt1(->base), Dt1(->top)); 1743 dasm_put(Dst, 7430, Dt1(->base), Dt1(->top));
1405#if LJ_HASJIT 1744#if LJ_HASJIT
1406 dasm_put(Dst, 7234); 1745 dasm_put(Dst, 7464);
1407#endif 1746#endif
1408 dasm_put(Dst, 7239, Dt1(->base), Dt1(->top)); 1747 dasm_put(Dst, 7469, Dt1(->base), Dt1(->top));
1409#if LJ_HASJIT 1748#if LJ_HASJIT
1410 dasm_put(Dst, 7270, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8+4*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), 4*8, GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); 1749 dasm_put(Dst, 7500, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8+4*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), 4*8, GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC);
1411#endif 1750#endif
1412 dasm_put(Dst, 7500); 1751 dasm_put(Dst, 7730);
1413#if LJ_HASJIT 1752#if LJ_HASJIT
1414 dasm_put(Dst, 7503, 9*16+4*8, -9*16, -8*16, -7*16, -6*16, -5*16, -4*16, -3*16, -2*16, -1*16, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); 1753 dasm_put(Dst, 7733, 9*16+4*8, -9*16, -8*16, -7*16, -6*16, -5*16, -4*16, -3*16, -2*16, -1*16, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF);
1415 dasm_put(Dst, 7645); 1754 dasm_put(Dst, 7875);
1416#endif 1755#endif
1417 dasm_put(Dst, 7671); 1756 dasm_put(Dst, 7901);
1418 if (!sse) { 1757 if (!sse) {
1419 dasm_put(Dst, 7674); 1758 dasm_put(Dst, 7904);
1420 } 1759 }
1421 dasm_put(Dst, 7719, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1760 dasm_put(Dst, 7949, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1422 if (!sse) { 1761 if (!sse) {
1423 dasm_put(Dst, 7805); 1762 dasm_put(Dst, 8035);
1424 } 1763 }
1425 dasm_put(Dst, 7850, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32)); 1764 dasm_put(Dst, 8080, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32));
1426 if (!sse) { 1765 if (!sse) {
1427 dasm_put(Dst, 7936); 1766 dasm_put(Dst, 8166);
1428 } 1767 }
1429 dasm_put(Dst, 7975, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1768 dasm_put(Dst, 8205, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1430 if (sse) { 1769 if (sse) {
1431 dasm_put(Dst, 8064, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1770 dasm_put(Dst, 8294, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1432 } else { 1771 } else {
1433 dasm_put(Dst, 8178); 1772 dasm_put(Dst, 8408);
1434 } 1773 }
1435 dasm_put(Dst, 8225); 1774 dasm_put(Dst, 8455);
1436 if (!sse) { 1775 if (!sse) {
1437 } else { 1776 } else {
1438 dasm_put(Dst, 8299); 1777 dasm_put(Dst, 8529);
1439 } 1778 }
1440 dasm_put(Dst, 8302); 1779 dasm_put(Dst, 8532);
1441 dasm_put(Dst, 8387, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1780 dasm_put(Dst, 8617, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1442 dasm_put(Dst, 8490, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32)); 1781 dasm_put(Dst, 8720, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32));
1443 dasm_put(Dst, 8646); 1782 dasm_put(Dst, 8876);
1444#if LJ_HASJIT 1783#if LJ_HASJIT
1445 if (sse) { 1784 if (sse) {
1446 dasm_put(Dst, 8687); 1785 dasm_put(Dst, 8917);
1447 dasm_put(Dst, 8757); 1786 dasm_put(Dst, 8987);
1448 dasm_put(Dst, 8830); 1787 dasm_put(Dst, 9060);
1449 } else { 1788 } else {
1450 dasm_put(Dst, 8880); 1789 dasm_put(Dst, 9110);
1451 dasm_put(Dst, 8972); 1790 dasm_put(Dst, 9202);
1452 } 1791 }
1453 dasm_put(Dst, 9018); 1792 dasm_put(Dst, 9248);
1454#endif 1793#endif
1455 dasm_put(Dst, 9022); 1794 dasm_put(Dst, 9252);
1456 if (sse) { 1795 if (sse) {
1457 dasm_put(Dst, 9025, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1796 dasm_put(Dst, 9255, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1458 dasm_put(Dst, 9114, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1797 dasm_put(Dst, 9344, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1459 } else { 1798 } else {
1460 dasm_put(Dst, 9238); 1799 dasm_put(Dst, 9468);
1461 dasm_put(Dst, 9321); 1800 dasm_put(Dst, 9551);
1462 if (cmov) { 1801 if (cmov) {
1463 dasm_put(Dst, 9376); 1802 dasm_put(Dst, 9606);
1464 } else { 1803 } else {
1465 dasm_put(Dst, 9395); 1804 dasm_put(Dst, 9625);
1466 } 1805 }
1467 dasm_put(Dst, 9018); 1806 dasm_put(Dst, 9248);
1468 } 1807 }
1469 dasm_put(Dst, 9436); 1808 dasm_put(Dst, 9666);
1470#if LJ_HASFFI 1809#if LJ_HASFFI
1471#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) 1810#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
1472 dasm_put(Dst, 9464, DtE(->spadj)); 1811 dasm_put(Dst, 9694, DtE(->spadj));
1473#if LJ_TARGET_WINDOWS 1812#if LJ_TARGET_WINDOWS
1474#endif 1813#endif
1475 dasm_put(Dst, 9479, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->fpr[0]), DtE(->fpr[1]), DtE(->fpr[2]), DtE(->fpr[3])); 1814 dasm_put(Dst, 9709, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->fpr[0]), DtE(->fpr[1]), DtE(->fpr[2]), DtE(->fpr[3]));
1476 dasm_put(Dst, 9560, DtE(->func), DtE(->gpr[0]), DtE(->fpr[0])); 1815 dasm_put(Dst, 9790, DtE(->func), DtE(->gpr[0]), DtE(->fpr[0]));
1477#if LJ_TARGET_WINDOWS 1816#if LJ_TARGET_WINDOWS
1478#endif 1817#endif
1479 dasm_put(Dst, 9573); 1818 dasm_put(Dst, 9803);
1480#endif 1819#endif
1481} 1820}
1482 1821
@@ -1484,7 +1823,7 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1484static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1823static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1485{ 1824{
1486 int vk = 0; 1825 int vk = 0;
1487 dasm_put(Dst, 9581, defop); 1826 dasm_put(Dst, 9811, defop);
1488 1827
1489 switch (op) { 1828 switch (op) {
1490 1829
@@ -1492,642 +1831,906 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1492 1831
1493 /* Remember: all ops branch for a true comparison, fall through otherwise. */ 1832 /* Remember: all ops branch for a true comparison, fall through otherwise. */
1494 1833
1834
1495 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1835 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1496 dasm_put(Dst, 9583, LJ_TISNUM, LJ_TISNUM); 1836 if (LJ_DUALNUM) {
1837 dasm_put(Dst, 9813, LJ_TISNUM, LJ_TISNUM);
1838 switch (op) {
1839 case BC_ISLT:
1840 dasm_put(Dst, 9843);
1841 break;
1842 case BC_ISGE:
1843 dasm_put(Dst, 9848);
1844 break;
1845 case BC_ISLE:
1846 dasm_put(Dst, 9853);
1847 break;
1848 case BC_ISGT:
1849 dasm_put(Dst, 9858);
1850 break;
1851 default: break; /* Shut up GCC. */
1852 }
1853 dasm_put(Dst, 9863, -BCBIAS_J*4, LJ_TISNUM);
1854 if (sse) {
1855 dasm_put(Dst, 9917);
1856 } else {
1857 dasm_put(Dst, 9928);
1858 }
1859 dasm_put(Dst, 9939);
1860 if (sse) {
1861 dasm_put(Dst, 9946);
1862 switch (op) {
1863 case BC_ISLT:
1864 dasm_put(Dst, 9966);
1865 break;
1866 case BC_ISGE:
1867 dasm_put(Dst, 9971);
1868 break;
1869 case BC_ISLE:
1870 dasm_put(Dst, 9976);
1871 break;
1872 case BC_ISGT:
1873 dasm_put(Dst, 9981);
1874 break;
1875 default: break; /* Shut up GCC. */
1876 }
1877 dasm_put(Dst, 9986);
1878 } else {
1879 dasm_put(Dst, 9991);
1880 }
1881 } else {
1882 dasm_put(Dst, 9999, LJ_TISNUM, LJ_TISNUM);
1883 }
1497 if (sse) { 1884 if (sse) {
1498 dasm_put(Dst, 9604); 1885 dasm_put(Dst, 10020);
1499 } else { 1886 } else {
1500 dasm_put(Dst, 9619); 1887 dasm_put(Dst, 10041);
1501 if (cmov) { 1888 if (cmov) {
1502 dasm_put(Dst, 9629); 1889 dasm_put(Dst, 10057);
1503 } else { 1890 } else {
1504 dasm_put(Dst, 9635); 1891 dasm_put(Dst, 10063);
1505 } 1892 }
1506 } 1893 }
1507 switch (op) { 1894 if (LJ_DUALNUM) {
1508 case BC_ISLT: 1895 switch (op) {
1509 dasm_put(Dst, 9642); 1896 case BC_ISLT:
1897 dasm_put(Dst, 9966);
1898 break;
1899 case BC_ISGE:
1900 dasm_put(Dst, 9971);
1901 break;
1902 case BC_ISLE:
1903 dasm_put(Dst, 9976);
1510 break; 1904 break;
1511 case BC_ISGE: 1905 case BC_ISGT:
1512 dasm_put(Dst, 9316); 1906 dasm_put(Dst, 9981);
1513 break; 1907 break;
1514 case BC_ISLE: 1908 default: break; /* Shut up GCC. */
1515 dasm_put(Dst, 5887); 1909 }
1910 dasm_put(Dst, 9986);
1911 } else {
1912 switch (op) {
1913 case BC_ISLT:
1914 dasm_put(Dst, 10070);
1516 break; 1915 break;
1517 case BC_ISGT: 1916 case BC_ISGE:
1518 dasm_put(Dst, 9647); 1917 dasm_put(Dst, 10075);
1519 break; 1918 break;
1520 default: break; /* Shut up GCC. */ 1919 case BC_ISLE:
1920 dasm_put(Dst, 10080);
1921 break;
1922 case BC_ISGT:
1923 dasm_put(Dst, 10085);
1924 break;
1925 default: break; /* Shut up GCC. */
1926 }
1927 dasm_put(Dst, 10090, -BCBIAS_J*4);
1521 } 1928 }
1522 dasm_put(Dst, 9652, -BCBIAS_J*4);
1523 break; 1929 break;
1524 1930
1525 case BC_ISEQV: case BC_ISNEV: 1931 case BC_ISEQV: case BC_ISNEV:
1526 vk = op == BC_ISEQV; 1932 vk = op == BC_ISEQV;
1527 dasm_put(Dst, 9686, LJ_TISNUM, LJ_TISNUM); 1933 dasm_put(Dst, 10122);
1934 if (LJ_DUALNUM) {
1935 dasm_put(Dst, 10130, LJ_TISNUM, LJ_TISNUM);
1936 if (vk) {
1937 dasm_put(Dst, 10155);
1938 } else {
1939 dasm_put(Dst, 10160);
1940 }
1941 dasm_put(Dst, 10165, -BCBIAS_J*4, LJ_TISNUM);
1942 if (sse) {
1943 dasm_put(Dst, 10217);
1944 } else {
1945 dasm_put(Dst, 10224);
1946 }
1947 dasm_put(Dst, 10228);
1948 if (sse) {
1949 dasm_put(Dst, 10239);
1950 } else {
1951 dasm_put(Dst, 10251);
1952 }
1953 dasm_put(Dst, 10258);
1954 } else {
1955 dasm_put(Dst, 10263, LJ_TISNUM, LJ_TISNUM);
1956 }
1528 if (sse) { 1957 if (sse) {
1529 dasm_put(Dst, 9712); 1958 dasm_put(Dst, 10282);
1530 } else { 1959 } else {
1531 dasm_put(Dst, 9724); 1960 dasm_put(Dst, 10300);
1532 if (cmov) { 1961 if (cmov) {
1533 dasm_put(Dst, 9629); 1962 dasm_put(Dst, 10057);
1534 } else { 1963 } else {
1535 dasm_put(Dst, 9635); 1964 dasm_put(Dst, 10063);
1536 } 1965 }
1537 } 1966 }
1538 iseqne_fp: 1967 iseqne_fp:
1539 if (vk) { 1968 if (vk) {
1540 dasm_put(Dst, 9731); 1969 dasm_put(Dst, 10313);
1541 } else { 1970 } else {
1542 dasm_put(Dst, 9740); 1971 dasm_put(Dst, 10322);
1543 } 1972 }
1544 iseqne_end: 1973 iseqne_end:
1545 if (vk) { 1974 if (vk) {
1546 dasm_put(Dst, 9749, -BCBIAS_J*4); 1975 dasm_put(Dst, 10331, -BCBIAS_J*4);
1547 if (!LJ_HASFFI) { 1976 if (!LJ_HASFFI) {
1548 dasm_put(Dst, 4476); 1977 dasm_put(Dst, 4567);
1549 } 1978 }
1550 } else { 1979 } else {
1551 if (!LJ_HASFFI) { 1980 if (!LJ_HASFFI) {
1552 dasm_put(Dst, 4476); 1981 dasm_put(Dst, 4567);
1553 } 1982 }
1554 dasm_put(Dst, 9764, -BCBIAS_J*4); 1983 dasm_put(Dst, 10346, -BCBIAS_J*4);
1984 }
1985 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV ||
1986 op == BC_ISEQN || op == BC_ISNEN)) {
1987 dasm_put(Dst, 10361);
1988 } else {
1989 dasm_put(Dst, 10102);
1555 } 1990 }
1556 dasm_put(Dst, 9666);
1557 if (op == BC_ISEQV || op == BC_ISNEV) { 1991 if (op == BC_ISEQV || op == BC_ISNEV) {
1558 dasm_put(Dst, 9557); 1992 dasm_put(Dst, 9787);
1559 if (LJ_HASFFI) { 1993 if (LJ_HASFFI) {
1560 dasm_put(Dst, 9779, LJ_TCDATA, LJ_TCDATA); 1994 dasm_put(Dst, 10366, LJ_TCDATA, LJ_TCDATA);
1561 } 1995 }
1562 dasm_put(Dst, 9798, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 1996 dasm_put(Dst, 10385, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
1563 if (vk) { 1997 if (vk) {
1564 dasm_put(Dst, 9854); 1998 dasm_put(Dst, 10441);
1565 } else { 1999 } else {
1566 dasm_put(Dst, 9858); 2000 dasm_put(Dst, 10445);
1567 } 2001 }
1568 dasm_put(Dst, 9864); 2002 dasm_put(Dst, 10451);
1569 } else if (LJ_HASFFI) { 2003 } else if (LJ_HASFFI) {
1570 dasm_put(Dst, 9869, LJ_TCDATA); 2004 dasm_put(Dst, 10456, LJ_TCDATA);
2005 if (LJ_DUALNUM && vk) {
2006 dasm_put(Dst, 10463);
2007 } else {
2008 dasm_put(Dst, 10436);
2009 }
2010 dasm_put(Dst, 10468);
1571 } 2011 }
1572 break; 2012 break;
1573 case BC_ISEQS: case BC_ISNES: 2013 case BC_ISEQS: case BC_ISNES:
1574 vk = op == BC_ISEQS; 2014 vk = op == BC_ISEQS;
1575 dasm_put(Dst, 9884, LJ_TSTR); 2015 dasm_put(Dst, 10473, LJ_TSTR);
1576 iseqne_test: 2016 iseqne_test:
1577 if (vk) { 2017 if (vk) {
1578 dasm_put(Dst, 9735); 2018 dasm_put(Dst, 10317);
1579 } else { 2019 } else {
1580 dasm_put(Dst, 2805); 2020 dasm_put(Dst, 2858);
1581 } 2021 }
1582 goto iseqne_end; 2022 goto iseqne_end;
1583 case BC_ISEQN: case BC_ISNEN: 2023 case BC_ISEQN: case BC_ISNEN:
1584 vk = op == BC_ISEQN; 2024 vk = op == BC_ISEQN;
1585 dasm_put(Dst, 9910, LJ_TISNUM); 2025 dasm_put(Dst, 10499);
2026 if (LJ_DUALNUM) {
2027 dasm_put(Dst, 10507, LJ_TISNUM, LJ_TISNUM);
2028 if (vk) {
2029 dasm_put(Dst, 10155);
2030 } else {
2031 dasm_put(Dst, 10160);
2032 }
2033 dasm_put(Dst, 10532, -BCBIAS_J*4, LJ_TISNUM);
2034 if (sse) {
2035 dasm_put(Dst, 10580);
2036 } else {
2037 dasm_put(Dst, 10587);
2038 }
2039 dasm_put(Dst, 10591);
2040 if (sse) {
2041 dasm_put(Dst, 10598);
2042 } else {
2043 dasm_put(Dst, 10610);
2044 }
2045 dasm_put(Dst, 10258);
2046 } else {
2047 dasm_put(Dst, 10617, LJ_TISNUM);
2048 }
1586 if (sse) { 2049 if (sse) {
1587 dasm_put(Dst, 9926); 2050 dasm_put(Dst, 10626);
1588 } else { 2051 } else {
1589 dasm_put(Dst, 9938); 2052 dasm_put(Dst, 10644);
1590 if (cmov) { 2053 if (cmov) {
1591 dasm_put(Dst, 9629); 2054 dasm_put(Dst, 10057);
1592 } else { 2055 } else {
1593 dasm_put(Dst, 9635); 2056 dasm_put(Dst, 10063);
1594 } 2057 }
2058 dasm_put(Dst, 4586);
1595 } 2059 }
1596 goto iseqne_fp; 2060 goto iseqne_fp;
1597 case BC_ISEQP: case BC_ISNEP: 2061 case BC_ISEQP: case BC_ISNEP:
1598 vk = op == BC_ISEQP; 2062 vk = op == BC_ISEQP;
1599 dasm_put(Dst, 9945); 2063 dasm_put(Dst, 10655);
1600 if (!LJ_HASFFI) goto iseqne_test; 2064 if (!LJ_HASFFI) goto iseqne_test;
1601 if (vk) { 2065 if (vk) {
1602 dasm_put(Dst, 9959, -BCBIAS_J*4, LJ_TCDATA); 2066 dasm_put(Dst, 10669, -BCBIAS_J*4, LJ_TCDATA);
1603 } else { 2067 } else {
1604 dasm_put(Dst, 10009, LJ_TCDATA, -BCBIAS_J*4); 2068 dasm_put(Dst, 10719, LJ_TCDATA, -BCBIAS_J*4);
1605 } 2069 }
1606 break; 2070 break;
1607 2071
1608 /* -- Unary test and copy ops ------------------------------------------- */ 2072 /* -- Unary test and copy ops ------------------------------------------- */
1609 2073
1610 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 2074 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
1611 dasm_put(Dst, 10053, LJ_TISTRUECOND); 2075 dasm_put(Dst, 10763, LJ_TISTRUECOND);
1612 if (op == BC_IST || op == BC_ISTC) { 2076 if (op == BC_IST || op == BC_ISTC) {
1613 dasm_put(Dst, 10065); 2077 dasm_put(Dst, 10085);
1614 } else { 2078 } else {
1615 dasm_put(Dst, 10070); 2079 dasm_put(Dst, 10080);
1616 } 2080 }
1617 if (op == BC_ISTC || op == BC_ISFC) { 2081 if (op == BC_ISTC || op == BC_ISFC) {
1618 dasm_put(Dst, 10075); 2082 dasm_put(Dst, 10775);
1619 } 2083 }
1620 dasm_put(Dst, 10086, -BCBIAS_J*4); 2084 dasm_put(Dst, 10090, -BCBIAS_J*4);
1621 break; 2085 break;
1622 2086
1623 /* -- Unary ops --------------------------------------------------------- */ 2087 /* -- Unary ops --------------------------------------------------------- */
1624 2088
1625 case BC_MOV: 2089 case BC_MOV:
1626 dasm_put(Dst, 10118); 2090 dasm_put(Dst, 10786);
1627 break; 2091 break;
1628 case BC_NOT: 2092 case BC_NOT:
1629 dasm_put(Dst, 10146, LJ_TISTRUECOND, LJ_TTRUE); 2093 dasm_put(Dst, 10814, LJ_TISTRUECOND, LJ_TTRUE);
1630 break; 2094 break;
1631 case BC_UNM: 2095 case BC_UNM:
1632 dasm_put(Dst, 10182, LJ_TISNUM); 2096 if (LJ_DUALNUM) {
2097 dasm_put(Dst, 10850, LJ_TISNUM, LJ_TISNUM);
2098 } else {
2099 dasm_put(Dst, 10927, LJ_TISNUM);
2100 }
1633 if (sse) { 2101 if (sse) {
1634 dasm_put(Dst, 10193, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 2102 dasm_put(Dst, 10938, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1635 } else { 2103 } else {
1636 dasm_put(Dst, 10218); 2104 dasm_put(Dst, 10963);
2105 }
2106 if (LJ_DUALNUM) {
2107 dasm_put(Dst, 10361);
2108 } else {
2109 dasm_put(Dst, 10102);
1637 } 2110 }
1638 dasm_put(Dst, 9666);
1639 break; 2111 break;
1640 case BC_LEN: 2112 case BC_LEN:
1641 dasm_put(Dst, 10227, LJ_TSTR); 2113 dasm_put(Dst, 10972, LJ_TSTR);
1642 if (sse) { 2114 if (LJ_DUALNUM) {
1643 dasm_put(Dst, 10241, Dt5(->len)); 2115 dasm_put(Dst, 10986, Dt5(->len), LJ_TISNUM);
2116 } else if (sse) {
2117 dasm_put(Dst, 11000, Dt5(->len));
1644 } else { 2118 } else {
1645 dasm_put(Dst, 10259, Dt5(->len)); 2119 dasm_put(Dst, 11018, Dt5(->len));
1646 } 2120 }
1647 dasm_put(Dst, 10268, LJ_TTAB); 2121 dasm_put(Dst, 11027, LJ_TTAB);
1648 if (sse) { 2122 if (LJ_DUALNUM) {
1649 dasm_put(Dst, 10309); 2123 } else if (sse) {
2124 dasm_put(Dst, 11068);
1650 } else { 2125 } else {
1651 } 2126 }
1652 dasm_put(Dst, 10318); 2127 dasm_put(Dst, 11074);
1653 break; 2128 break;
1654 2129
1655 /* -- Binary ops -------------------------------------------------------- */ 2130 /* -- Binary ops -------------------------------------------------------- */
1656 2131
1657 2132
1658 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 2133 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
1659 dasm_put(Dst, 10328); 2134 if (LJ_DUALNUM) {
2135 dasm_put(Dst, 11087);
2136 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2137 switch (vk) {
2138 case 0:
2139 dasm_put(Dst, 11095, LJ_TISNUM, LJ_TISNUM);
2140 break;
2141 case 1:
2142 dasm_put(Dst, 11128, LJ_TISNUM, LJ_TISNUM);
2143 break;
2144 default:
2145 dasm_put(Dst, 11161, LJ_TISNUM, LJ_TISNUM);
2146 break;
2147 }
2148 dasm_put(Dst, 11194, LJ_TISNUM);
2149 if (vk == 1) {
2150 dasm_put(Dst, 10996);
2151 } else {
2152 dasm_put(Dst, 10782);
2153 }
2154 dasm_put(Dst, 10102);
2155 } else {
2156 dasm_put(Dst, 11087);
1660 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2157 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1661 switch (vk) { 2158 switch (vk) {
1662 case 0: 2159 case 0:
1663 dasm_put(Dst, 10336, LJ_TISNUM); 2160 dasm_put(Dst, 11200, LJ_TISNUM);
2161 if (LJ_DUALNUM) {
2162 dasm_put(Dst, 11212, LJ_TISNUM);
2163 }
1664 if (sse) { 2164 if (sse) {
1665 dasm_put(Dst, 10348); 2165 dasm_put(Dst, 11223);
1666 } else { 2166 } else {
1667 dasm_put(Dst, 10362); 2167 dasm_put(Dst, 11237);
1668 } 2168 }
1669 break; 2169 break;
1670 case 1: 2170 case 1:
1671 dasm_put(Dst, 10370, LJ_TISNUM); 2171 dasm_put(Dst, 11245, LJ_TISNUM);
2172 if (LJ_DUALNUM) {
2173 dasm_put(Dst, 11257, LJ_TISNUM);
2174 }
1672 if (sse) { 2175 if (sse) {
1673 dasm_put(Dst, 10382); 2176 dasm_put(Dst, 11268);
1674 } else { 2177 } else {
1675 dasm_put(Dst, 10396); 2178 dasm_put(Dst, 11282);
1676 } 2179 }
1677 break; 2180 break;
1678 default: 2181 default:
1679 dasm_put(Dst, 10404, LJ_TISNUM, LJ_TISNUM); 2182 dasm_put(Dst, 11290, LJ_TISNUM, LJ_TISNUM);
1680 if (sse) { 2183 if (sse) {
1681 dasm_put(Dst, 10426); 2184 dasm_put(Dst, 11312);
1682 } else { 2185 } else {
1683 dasm_put(Dst, 10440); 2186 dasm_put(Dst, 11326);
1684 } 2187 }
1685 break; 2188 break;
1686 } 2189 }
1687 if (sse) { 2190 if (sse) {
1688 dasm_put(Dst, 10211); 2191 dasm_put(Dst, 10956);
1689 } else { 2192 } else {
1690 dasm_put(Dst, 10223); 2193 dasm_put(Dst, 10968);
2194 }
2195 dasm_put(Dst, 10102);
1691 } 2196 }
1692 dasm_put(Dst, 9666);
1693 break; 2197 break;
1694 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 2198 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
1695 dasm_put(Dst, 10328); 2199 if (LJ_DUALNUM) {
2200 dasm_put(Dst, 11087);
1696 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2201 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1697 switch (vk) { 2202 switch (vk) {
1698 case 0: 2203 case 0:
1699 dasm_put(Dst, 10336, LJ_TISNUM); 2204 dasm_put(Dst, 11334, LJ_TISNUM, LJ_TISNUM);
2205 break;
2206 case 1:
2207 dasm_put(Dst, 11367, LJ_TISNUM, LJ_TISNUM);
2208 break;
2209 default:
2210 dasm_put(Dst, 11400, LJ_TISNUM, LJ_TISNUM);
2211 break;
2212 }
2213 dasm_put(Dst, 11194, LJ_TISNUM);
2214 if (vk == 1) {
2215 dasm_put(Dst, 10996);
2216 } else {
2217 dasm_put(Dst, 10782);
2218 }
2219 dasm_put(Dst, 10102);
2220 } else {
2221 dasm_put(Dst, 11087);
2222 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2223 switch (vk) {
2224 case 0:
2225 dasm_put(Dst, 11200, LJ_TISNUM);
2226 if (LJ_DUALNUM) {
2227 dasm_put(Dst, 11212, LJ_TISNUM);
2228 }
1700 if (sse) { 2229 if (sse) {
1701 dasm_put(Dst, 10448); 2230 dasm_put(Dst, 11433);
1702 } else { 2231 } else {
1703 dasm_put(Dst, 10462); 2232 dasm_put(Dst, 11447);
1704 } 2233 }
1705 break; 2234 break;
1706 case 1: 2235 case 1:
1707 dasm_put(Dst, 10370, LJ_TISNUM); 2236 dasm_put(Dst, 11245, LJ_TISNUM);
2237 if (LJ_DUALNUM) {
2238 dasm_put(Dst, 11257, LJ_TISNUM);
2239 }
1708 if (sse) { 2240 if (sse) {
1709 dasm_put(Dst, 10470); 2241 dasm_put(Dst, 11455);
1710 } else { 2242 } else {
1711 dasm_put(Dst, 10484); 2243 dasm_put(Dst, 11469);
1712 } 2244 }
1713 break; 2245 break;
1714 default: 2246 default:
1715 dasm_put(Dst, 10404, LJ_TISNUM, LJ_TISNUM); 2247 dasm_put(Dst, 11290, LJ_TISNUM, LJ_TISNUM);
1716 if (sse) { 2248 if (sse) {
1717 dasm_put(Dst, 10492); 2249 dasm_put(Dst, 11477);
1718 } else { 2250 } else {
1719 dasm_put(Dst, 10506); 2251 dasm_put(Dst, 11491);
1720 } 2252 }
1721 break; 2253 break;
1722 } 2254 }
1723 if (sse) { 2255 if (sse) {
1724 dasm_put(Dst, 10211); 2256 dasm_put(Dst, 10956);
1725 } else { 2257 } else {
1726 dasm_put(Dst, 10223); 2258 dasm_put(Dst, 10968);
2259 }
2260 dasm_put(Dst, 10102);
1727 } 2261 }
1728 dasm_put(Dst, 9666);
1729 break; 2262 break;
1730 case BC_MULVN: case BC_MULNV: case BC_MULVV: 2263 case BC_MULVN: case BC_MULNV: case BC_MULVV:
1731 dasm_put(Dst, 10328); 2264 if (LJ_DUALNUM) {
2265 dasm_put(Dst, 11087);
2266 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2267 switch (vk) {
2268 case 0:
2269 dasm_put(Dst, 11499, LJ_TISNUM, LJ_TISNUM);
2270 break;
2271 case 1:
2272 dasm_put(Dst, 11533, LJ_TISNUM, LJ_TISNUM);
2273 break;
2274 default:
2275 dasm_put(Dst, 11567, LJ_TISNUM, LJ_TISNUM);
2276 break;
2277 }
2278 dasm_put(Dst, 11194, LJ_TISNUM);
2279 if (vk == 1) {
2280 dasm_put(Dst, 10996);
2281 } else {
2282 dasm_put(Dst, 10782);
2283 }
2284 dasm_put(Dst, 10102);
2285 } else {
2286 dasm_put(Dst, 11087);
1732 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2287 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1733 switch (vk) { 2288 switch (vk) {
1734 case 0: 2289 case 0:
1735 dasm_put(Dst, 10336, LJ_TISNUM); 2290 dasm_put(Dst, 11200, LJ_TISNUM);
2291 if (LJ_DUALNUM) {
2292 dasm_put(Dst, 11212, LJ_TISNUM);
2293 }
1736 if (sse) { 2294 if (sse) {
1737 dasm_put(Dst, 10514); 2295 dasm_put(Dst, 11601);
1738 } else { 2296 } else {
1739 dasm_put(Dst, 10528); 2297 dasm_put(Dst, 11615);
1740 } 2298 }
1741 break; 2299 break;
1742 case 1: 2300 case 1:
1743 dasm_put(Dst, 10370, LJ_TISNUM); 2301 dasm_put(Dst, 11245, LJ_TISNUM);
2302 if (LJ_DUALNUM) {
2303 dasm_put(Dst, 11257, LJ_TISNUM);
2304 }
1744 if (sse) { 2305 if (sse) {
1745 dasm_put(Dst, 10536); 2306 dasm_put(Dst, 11623);
1746 } else { 2307 } else {
1747 dasm_put(Dst, 10550); 2308 dasm_put(Dst, 11637);
1748 } 2309 }
1749 break; 2310 break;
1750 default: 2311 default:
1751 dasm_put(Dst, 10404, LJ_TISNUM, LJ_TISNUM); 2312 dasm_put(Dst, 11290, LJ_TISNUM, LJ_TISNUM);
1752 if (sse) { 2313 if (sse) {
1753 dasm_put(Dst, 10558); 2314 dasm_put(Dst, 11645);
1754 } else { 2315 } else {
1755 dasm_put(Dst, 10572); 2316 dasm_put(Dst, 11659);
1756 } 2317 }
1757 break; 2318 break;
1758 } 2319 }
1759 if (sse) { 2320 if (sse) {
1760 dasm_put(Dst, 10211); 2321 dasm_put(Dst, 10956);
1761 } else { 2322 } else {
1762 dasm_put(Dst, 10223); 2323 dasm_put(Dst, 10968);
2324 }
2325 dasm_put(Dst, 10102);
1763 } 2326 }
1764 dasm_put(Dst, 9666);
1765 break; 2327 break;
1766 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 2328 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
1767 dasm_put(Dst, 10328); 2329 dasm_put(Dst, 11087);
1768 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2330 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1769 switch (vk) { 2331 switch (vk) {
1770 case 0: 2332 case 0:
1771 dasm_put(Dst, 10336, LJ_TISNUM); 2333 dasm_put(Dst, 11200, LJ_TISNUM);
2334 if (LJ_DUALNUM) {
2335 dasm_put(Dst, 11212, LJ_TISNUM);
2336 }
1772 if (sse) { 2337 if (sse) {
1773 dasm_put(Dst, 10580); 2338 dasm_put(Dst, 11667);
1774 } else { 2339 } else {
1775 dasm_put(Dst, 10594); 2340 dasm_put(Dst, 11681);
1776 } 2341 }
1777 break; 2342 break;
1778 case 1: 2343 case 1:
1779 dasm_put(Dst, 10370, LJ_TISNUM); 2344 dasm_put(Dst, 11245, LJ_TISNUM);
2345 if (LJ_DUALNUM) {
2346 dasm_put(Dst, 11257, LJ_TISNUM);
2347 }
1780 if (sse) { 2348 if (sse) {
1781 dasm_put(Dst, 10602); 2349 dasm_put(Dst, 11689);
1782 } else { 2350 } else {
1783 dasm_put(Dst, 10616); 2351 dasm_put(Dst, 11703);
1784 } 2352 }
1785 break; 2353 break;
1786 default: 2354 default:
1787 dasm_put(Dst, 10404, LJ_TISNUM, LJ_TISNUM); 2355 dasm_put(Dst, 11290, LJ_TISNUM, LJ_TISNUM);
1788 if (sse) { 2356 if (sse) {
1789 dasm_put(Dst, 10624); 2357 dasm_put(Dst, 11711);
1790 } else { 2358 } else {
1791 dasm_put(Dst, 10638); 2359 dasm_put(Dst, 11725);
1792 } 2360 }
1793 break; 2361 break;
1794 } 2362 }
1795 if (sse) { 2363 if (sse) {
1796 dasm_put(Dst, 10211); 2364 dasm_put(Dst, 10956);
1797 } else { 2365 } else {
1798 dasm_put(Dst, 10223); 2366 dasm_put(Dst, 10968);
1799 } 2367 }
1800 dasm_put(Dst, 9666); 2368 dasm_put(Dst, 10102);
1801 break; 2369 break;
1802 case BC_MODVN: 2370 case BC_MODVN:
1803 dasm_put(Dst, 10328); 2371 dasm_put(Dst, 11087);
1804 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2372 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1805 switch (vk) { 2373 switch (vk) {
1806 case 0: 2374 case 0:
1807 dasm_put(Dst, 10336, LJ_TISNUM); 2375 dasm_put(Dst, 11200, LJ_TISNUM);
2376 if (LJ_DUALNUM) {
2377 dasm_put(Dst, 11212, LJ_TISNUM);
2378 }
1808 if (sse) { 2379 if (sse) {
1809 dasm_put(Dst, 10646); 2380 dasm_put(Dst, 11733);
1810 } else { 2381 } else {
1811 dasm_put(Dst, 10660); 2382 dasm_put(Dst, 11747);
1812 } 2383 }
1813 break; 2384 break;
1814 case 1: 2385 case 1:
1815 dasm_put(Dst, 10370, LJ_TISNUM); 2386 dasm_put(Dst, 11245, LJ_TISNUM);
2387 if (LJ_DUALNUM) {
2388 dasm_put(Dst, 11257, LJ_TISNUM);
2389 }
1816 if (sse) { 2390 if (sse) {
1817 dasm_put(Dst, 10668); 2391 dasm_put(Dst, 11755);
1818 } else { 2392 } else {
1819 dasm_put(Dst, 10682); 2393 dasm_put(Dst, 11769);
1820 } 2394 }
1821 break; 2395 break;
1822 default: 2396 default:
1823 dasm_put(Dst, 10404, LJ_TISNUM, LJ_TISNUM); 2397 dasm_put(Dst, 11290, LJ_TISNUM, LJ_TISNUM);
1824 if (sse) { 2398 if (sse) {
1825 dasm_put(Dst, 10690); 2399 dasm_put(Dst, 11777);
1826 } else { 2400 } else {
1827 dasm_put(Dst, 10704); 2401 dasm_put(Dst, 11791);
1828 } 2402 }
1829 break; 2403 break;
1830 } 2404 }
1831 dasm_put(Dst, 10712); 2405 dasm_put(Dst, 11799);
1832 if (sse) { 2406 if (sse) {
1833 dasm_put(Dst, 10211); 2407 dasm_put(Dst, 10956);
1834 } else { 2408 } else {
1835 dasm_put(Dst, 10223); 2409 dasm_put(Dst, 10968);
1836 } 2410 }
1837 dasm_put(Dst, 9666); 2411 dasm_put(Dst, 10102);
1838 break; 2412 break;
1839 case BC_MODNV: case BC_MODVV: 2413 case BC_MODNV: case BC_MODVV:
1840 dasm_put(Dst, 10328); 2414 dasm_put(Dst, 11087);
1841 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2415 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1842 switch (vk) { 2416 switch (vk) {
1843 case 0: 2417 case 0:
1844 dasm_put(Dst, 10336, LJ_TISNUM); 2418 dasm_put(Dst, 11200, LJ_TISNUM);
2419 if (LJ_DUALNUM) {
2420 dasm_put(Dst, 11212, LJ_TISNUM);
2421 }
1845 if (sse) { 2422 if (sse) {
1846 dasm_put(Dst, 10646); 2423 dasm_put(Dst, 11733);
1847 } else { 2424 } else {
1848 dasm_put(Dst, 10660); 2425 dasm_put(Dst, 11747);
1849 } 2426 }
1850 break; 2427 break;
1851 case 1: 2428 case 1:
1852 dasm_put(Dst, 10370, LJ_TISNUM); 2429 dasm_put(Dst, 11245, LJ_TISNUM);
2430 if (LJ_DUALNUM) {
2431 dasm_put(Dst, 11257, LJ_TISNUM);
2432 }
1853 if (sse) { 2433 if (sse) {
1854 dasm_put(Dst, 10668); 2434 dasm_put(Dst, 11755);
1855 } else { 2435 } else {
1856 dasm_put(Dst, 10682); 2436 dasm_put(Dst, 11769);
1857 } 2437 }
1858 break; 2438 break;
1859 default: 2439 default:
1860 dasm_put(Dst, 10404, LJ_TISNUM, LJ_TISNUM); 2440 dasm_put(Dst, 11290, LJ_TISNUM, LJ_TISNUM);
1861 if (sse) { 2441 if (sse) {
1862 dasm_put(Dst, 10690); 2442 dasm_put(Dst, 11777);
1863 } else { 2443 } else {
1864 dasm_put(Dst, 10704); 2444 dasm_put(Dst, 11791);
1865 } 2445 }
1866 break; 2446 break;
1867 } 2447 }
1868 dasm_put(Dst, 10718); 2448 dasm_put(Dst, 11805);
1869 break; 2449 break;
1870 case BC_POW: 2450 case BC_POW:
1871 dasm_put(Dst, 10328); 2451 dasm_put(Dst, 11087);
1872 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2452 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1873 switch (vk) { 2453 switch (vk) {
1874 case 0: 2454 case 0:
1875 dasm_put(Dst, 10336, LJ_TISNUM); 2455 dasm_put(Dst, 11200, LJ_TISNUM);
2456 if (LJ_DUALNUM) {
2457 dasm_put(Dst, 11212, LJ_TISNUM);
2458 }
1876 if (sse) { 2459 if (sse) {
1877 dasm_put(Dst, 10646); 2460 dasm_put(Dst, 11733);
1878 } else { 2461 } else {
1879 dasm_put(Dst, 10660); 2462 dasm_put(Dst, 11747);
1880 } 2463 }
1881 break; 2464 break;
1882 case 1: 2465 case 1:
1883 dasm_put(Dst, 10370, LJ_TISNUM); 2466 dasm_put(Dst, 11245, LJ_TISNUM);
2467 if (LJ_DUALNUM) {
2468 dasm_put(Dst, 11257, LJ_TISNUM);
2469 }
1884 if (sse) { 2470 if (sse) {
1885 dasm_put(Dst, 10668); 2471 dasm_put(Dst, 11755);
1886 } else { 2472 } else {
1887 dasm_put(Dst, 10682); 2473 dasm_put(Dst, 11769);
1888 } 2474 }
1889 break; 2475 break;
1890 default: 2476 default:
1891 dasm_put(Dst, 10404, LJ_TISNUM, LJ_TISNUM); 2477 dasm_put(Dst, 11290, LJ_TISNUM, LJ_TISNUM);
1892 if (sse) { 2478 if (sse) {
1893 dasm_put(Dst, 10690); 2479 dasm_put(Dst, 11777);
1894 } else { 2480 } else {
1895 dasm_put(Dst, 10704); 2481 dasm_put(Dst, 11791);
1896 } 2482 }
1897 break; 2483 break;
1898 } 2484 }
1899 dasm_put(Dst, 10723); 2485 dasm_put(Dst, 11810);
1900 if (sse) { 2486 if (sse) {
1901 dasm_put(Dst, 10211); 2487 dasm_put(Dst, 10956);
1902 } else { 2488 } else {
1903 dasm_put(Dst, 10223); 2489 dasm_put(Dst, 10968);
1904 } 2490 }
1905 dasm_put(Dst, 9666); 2491 dasm_put(Dst, 10102);
1906 break; 2492 break;
1907 2493
1908 case BC_CAT: 2494 case BC_CAT:
1909 dasm_put(Dst, 10727, Dt1(->base), Dt1(->base)); 2495 dasm_put(Dst, 11814, Dt1(->base), Dt1(->base));
1910 break; 2496 break;
1911 2497
1912 /* -- Constant ops ------------------------------------------------------ */ 2498 /* -- Constant ops ------------------------------------------------------ */
1913 2499
1914 case BC_KSTR: 2500 case BC_KSTR:
1915 dasm_put(Dst, 10810, LJ_TSTR); 2501 dasm_put(Dst, 11897, LJ_TSTR);
1916 break; 2502 break;
1917 case BC_KCDATA: 2503 case BC_KCDATA:
1918#if LJ_HASFFI 2504#if LJ_HASFFI
1919 dasm_put(Dst, 10810, LJ_TCDATA); 2505 dasm_put(Dst, 11897, LJ_TCDATA);
1920#endif 2506#endif
1921 break; 2507 break;
1922 case BC_KSHORT: 2508 case BC_KSHORT:
1923 if (sse) { 2509 if (LJ_DUALNUM) {
1924 dasm_put(Dst, 10845); 2510 dasm_put(Dst, 11932, LJ_TISNUM);
2511 } else if (sse) {
2512 dasm_put(Dst, 11944);
1925 } else { 2513 } else {
1926 dasm_put(Dst, 10860); 2514 dasm_put(Dst, 11959);
1927 } 2515 }
1928 dasm_put(Dst, 9666); 2516 dasm_put(Dst, 10102);
1929 break; 2517 break;
1930 case BC_KNUM: 2518 case BC_KNUM:
1931 if (sse) { 2519 if (sse) {
1932 dasm_put(Dst, 10868); 2520 dasm_put(Dst, 11967);
1933 } else { 2521 } else {
1934 dasm_put(Dst, 10881); 2522 dasm_put(Dst, 11980);
1935 } 2523 }
1936 dasm_put(Dst, 9666); 2524 dasm_put(Dst, 10102);
1937 break; 2525 break;
1938 case BC_KPRI: 2526 case BC_KPRI:
1939 dasm_put(Dst, 10888); 2527 dasm_put(Dst, 11987);
1940 break; 2528 break;
1941 case BC_KNIL: 2529 case BC_KNIL:
1942 dasm_put(Dst, 10916, LJ_TNIL); 2530 dasm_put(Dst, 12015, LJ_TNIL);
1943 break; 2531 break;
1944 2532
1945 /* -- Upvalue and function ops ------------------------------------------ */ 2533 /* -- Upvalue and function ops ------------------------------------------ */
1946 2534
1947 case BC_UGET: 2535 case BC_UGET:
1948 dasm_put(Dst, 10963, offsetof(GCfuncL, uvptr), DtA(->v)); 2536 dasm_put(Dst, 12062, offsetof(GCfuncL, uvptr), DtA(->v));
1949 break; 2537 break;
1950 case BC_USETV: 2538 case BC_USETV:
1951#define TV2MARKOFS \ 2539#define TV2MARKOFS \
1952 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 2540 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
1953 dasm_put(Dst, 11003, 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); 2541 dasm_put(Dst, 12102, 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);
1954 dasm_put(Dst, 11094); 2542 dasm_put(Dst, 12193);
1955 break; 2543 break;
1956#undef TV2MARKOFS 2544#undef TV2MARKOFS
1957 case BC_USETS: 2545 case BC_USETS:
1958 dasm_put(Dst, 11106, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 2546 dasm_put(Dst, 12205, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
1959 break; 2547 break;
1960 case BC_USETN: 2548 case BC_USETN:
1961 dasm_put(Dst, 11199); 2549 dasm_put(Dst, 12298);
1962 if (sse) { 2550 if (sse) {
1963 dasm_put(Dst, 11204); 2551 dasm_put(Dst, 12303);
1964 } else { 2552 } else {
1965 dasm_put(Dst, 9941); 2553 dasm_put(Dst, 11751);
1966 } 2554 }
1967 dasm_put(Dst, 11211, offsetof(GCfuncL, uvptr), DtA(->v)); 2555 dasm_put(Dst, 12310, offsetof(GCfuncL, uvptr), DtA(->v));
1968 if (sse) { 2556 if (sse) {
1969 dasm_put(Dst, 11220); 2557 dasm_put(Dst, 12319);
1970 } else { 2558 } else {
1971 dasm_put(Dst, 11226); 2559 dasm_put(Dst, 12325);
1972 } 2560 }
1973 dasm_put(Dst, 9666); 2561 dasm_put(Dst, 10102);
1974 break; 2562 break;
1975 case BC_USETP: 2563 case BC_USETP:
1976 dasm_put(Dst, 11229, offsetof(GCfuncL, uvptr), DtA(->v)); 2564 dasm_put(Dst, 12328, offsetof(GCfuncL, uvptr), DtA(->v));
1977 break; 2565 break;
1978 case BC_UCLO: 2566 case BC_UCLO:
1979 dasm_put(Dst, 11268, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 2567 dasm_put(Dst, 12367, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
1980 break; 2568 break;
1981 2569
1982 case BC_FNEW: 2570 case BC_FNEW:
1983 dasm_put(Dst, 11323, Dt1(->base), Dt1(->base), LJ_TFUNC); 2571 dasm_put(Dst, 12422, Dt1(->base), Dt1(->base), LJ_TFUNC);
1984 break; 2572 break;
1985 2573
1986 /* -- Table ops --------------------------------------------------------- */ 2574 /* -- Table ops --------------------------------------------------------- */
1987 2575
1988 case BC_TNEW: 2576 case BC_TNEW:
1989 dasm_put(Dst, 11389, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 2577 dasm_put(Dst, 12488, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
1990 break; 2578 break;
1991 case BC_TDUP: 2579 case BC_TDUP:
1992 dasm_put(Dst, 11511, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 2580 dasm_put(Dst, 12610, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
1993 break; 2581 break;
1994 2582
1995 case BC_GGET: 2583 case BC_GGET:
1996 dasm_put(Dst, 11606, Dt7(->env)); 2584 dasm_put(Dst, 12705, Dt7(->env));
1997 break; 2585 break;
1998 case BC_GSET: 2586 case BC_GSET:
1999 dasm_put(Dst, 11625, Dt7(->env)); 2587 dasm_put(Dst, 12724, Dt7(->env));
2000 break; 2588 break;
2001 2589
2002 case BC_TGETV: 2590 case BC_TGETV:
2003 dasm_put(Dst, 11644, LJ_TTAB, LJ_TISNUM); 2591 dasm_put(Dst, 12743, LJ_TTAB);
2004 if (sse) { 2592 if (LJ_DUALNUM) {
2005 dasm_put(Dst, 11677); 2593 dasm_put(Dst, 12766, LJ_TISNUM);
2006 } else { 2594 } else {
2595 dasm_put(Dst, 12780, LJ_TISNUM);
2596 if (sse) {
2597 dasm_put(Dst, 12791);
2598 } else {
2599 }
2600 dasm_put(Dst, 12812);
2007 } 2601 }
2008 dasm_put(Dst, 11698, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2602 dasm_put(Dst, 12817, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL);
2009 dasm_put(Dst, 11782, LJ_TNIL, LJ_TSTR); 2603 dasm_put(Dst, 12908, LJ_TSTR);
2010 break; 2604 break;
2011 case BC_TGETS: 2605 case BC_TGETS:
2012 dasm_put(Dst, 11811, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2606 dasm_put(Dst, 12926, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2013 dasm_put(Dst, 11895, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2607 dasm_put(Dst, 13010, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2014 break; 2608 break;
2015 case BC_TGETB: 2609 case BC_TGETB:
2016 dasm_put(Dst, 11966, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2610 dasm_put(Dst, 13081, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2017 dasm_put(Dst, 12061, LJ_TNIL); 2611 dasm_put(Dst, 13176, LJ_TNIL);
2018 break; 2612 break;
2019 2613
2020 case BC_TSETV: 2614 case BC_TSETV:
2021 dasm_put(Dst, 12078, LJ_TTAB, LJ_TISNUM); 2615 dasm_put(Dst, 13193, LJ_TTAB);
2022 if (sse) { 2616 if (LJ_DUALNUM) {
2023 dasm_put(Dst, 11677); 2617 dasm_put(Dst, 12766, LJ_TISNUM);
2024 } else { 2618 } else {
2619 dasm_put(Dst, 12780, LJ_TISNUM);
2620 if (sse) {
2621 dasm_put(Dst, 12791);
2622 } else {
2623 }
2624 dasm_put(Dst, 13216);
2025 } 2625 }
2026 dasm_put(Dst, 12111, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); 2626 dasm_put(Dst, 13221, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
2027 dasm_put(Dst, 12190, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2627 dasm_put(Dst, 13301, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2028 break; 2628 break;
2029 case BC_TSETS: 2629 case BC_TSETS:
2030 dasm_put(Dst, 12252, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2630 dasm_put(Dst, 13358, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2031 dasm_put(Dst, 12328, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 2631 dasm_put(Dst, 13434, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2032 dasm_put(Dst, 12416, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2632 dasm_put(Dst, 13522, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2033 break; 2633 break;
2034 case BC_TSETB: 2634 case BC_TSETB:
2035 dasm_put(Dst, 12507, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 2635 dasm_put(Dst, 13613, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2036 dasm_put(Dst, 12601, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2636 dasm_put(Dst, 13707, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2037 break; 2637 break;
2038 2638
2039 case BC_TSETM: 2639 case BC_TSETM:
2040 dasm_put(Dst, 12647, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); 2640 dasm_put(Dst, 13753, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
2041 dasm_put(Dst, 12790, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2641 dasm_put(Dst, 13896, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2042 break; 2642 break;
2043 2643
2044 /* -- Calls and vararg handling ----------------------------------------- */ 2644 /* -- Calls and vararg handling ----------------------------------------- */
2045 2645
2046 case BC_CALL: case BC_CALLM: 2646 case BC_CALL: case BC_CALLM:
2047 dasm_put(Dst, 10332); 2647 dasm_put(Dst, 11091);
2048 if (op == BC_CALLM) { 2648 if (op == BC_CALLM) {
2049 dasm_put(Dst, 12808); 2649 dasm_put(Dst, 13914);
2050 } 2650 }
2051 dasm_put(Dst, 12813, LJ_TFUNC, Dt7(->pc)); 2651 dasm_put(Dst, 13919, LJ_TFUNC, Dt7(->pc));
2052 break; 2652 break;
2053 2653
2054 case BC_CALLMT: 2654 case BC_CALLMT:
2055 dasm_put(Dst, 12808); 2655 dasm_put(Dst, 13914);
2056 break; 2656 break;
2057 case BC_CALLT: 2657 case BC_CALLT:
2058 dasm_put(Dst, 12855, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 2658 dasm_put(Dst, 13961, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
2059 dasm_put(Dst, 12970, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); 2659 dasm_put(Dst, 14076, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
2060 break; 2660 break;
2061 2661
2062 case BC_ITERC: 2662 case BC_ITERC:
2063 dasm_put(Dst, 13041, LJ_TFUNC, 2+1, Dt7(->pc)); 2663 dasm_put(Dst, 14147, LJ_TFUNC, 2+1, Dt7(->pc));
2064 break; 2664 break;
2065 2665
2066 case BC_ITERN: 2666 case BC_ITERN:
2067#if LJ_HASJIT 2667#if LJ_HASJIT
2068#endif 2668#endif
2069 dasm_put(Dst, 13112, Dt6(->asize), Dt6(->array), LJ_TNIL); 2669 dasm_put(Dst, 14218, Dt6(->asize), Dt6(->array), LJ_TNIL);
2070 if (sse) { 2670 if (LJ_DUALNUM) {
2071 dasm_put(Dst, 13158); 2671 dasm_put(Dst, 10991, LJ_TISNUM);
2672 } else if (sse) {
2673 dasm_put(Dst, 11068);
2072 } else { 2674 } else {
2073 dasm_put(Dst, 13164); 2675 dasm_put(Dst, 14264);
2074 } 2676 }
2075 dasm_put(Dst, 13170); 2677 dasm_put(Dst, 14270);
2076 if (sse) { 2678 if (LJ_DUALNUM) {
2077 dasm_put(Dst, 10211); 2679 } else if (sse) {
2680 dasm_put(Dst, 10956);
2078 } else { 2681 } else {
2079 dasm_put(Dst, 10223); 2682 dasm_put(Dst, 10968);
2080 } 2683 }
2081 dasm_put(Dst, 13183, -BCBIAS_J*4); 2684 dasm_put(Dst, 14283, -BCBIAS_J*4);
2082 if (!sse) { 2685 if (!LJ_DUALNUM && !sse) {
2083 dasm_put(Dst, 13235); 2686 dasm_put(Dst, 14335);
2084 } 2687 }
2085 dasm_put(Dst, 13241, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val)); 2688 dasm_put(Dst, 14341, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val));
2086 break; 2689 break;
2087 2690
2088 case BC_ISNEXT: 2691 case BC_ISNEXT:
2089 dasm_put(Dst, 13313, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); 2692 dasm_put(Dst, 14413, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
2090 break; 2693 break;
2091 2694
2092 case BC_VARG: 2695 case BC_VARG:
2093 dasm_put(Dst, 13413, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); 2696 dasm_put(Dst, 14513, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
2094 dasm_put(Dst, 13573, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 2697 dasm_put(Dst, 14673, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2095 break; 2698 break;
2096 2699
2097 /* -- Returns ----------------------------------------------------------- */ 2700 /* -- Returns ----------------------------------------------------------- */
2098 2701
2099 case BC_RETM: 2702 case BC_RETM:
2100 dasm_put(Dst, 12808); 2703 dasm_put(Dst, 13914);
2101 break; 2704 break;
2102 2705
2103 case BC_RET: case BC_RET0: case BC_RET1: 2706 case BC_RET: case BC_RET0: case BC_RET1:
2104 if (op != BC_RET0) { 2707 if (op != BC_RET0) {
2105 dasm_put(Dst, 13639); 2708 dasm_put(Dst, 14739);
2106 } 2709 }
2107 dasm_put(Dst, 13643, FRAME_TYPE); 2710 dasm_put(Dst, 14743, FRAME_TYPE);
2108 switch (op) { 2711 switch (op) {
2109 case BC_RET: 2712 case BC_RET:
2110 dasm_put(Dst, 13662); 2713 dasm_put(Dst, 14762);
2111 break; 2714 break;
2112 case BC_RET1: 2715 case BC_RET1:
2113 dasm_put(Dst, 13714); 2716 dasm_put(Dst, 14814);
2114 /* fallthrough */ 2717 /* fallthrough */
2115 case BC_RET0: 2718 case BC_RET0:
2116 dasm_put(Dst, 13724); 2719 dasm_put(Dst, 14824);
2117 default: 2720 default:
2118 break; 2721 break;
2119 } 2722 }
2120 dasm_put(Dst, 13735, Dt7(->pc), PC2PROTO(k)); 2723 dasm_put(Dst, 14835, Dt7(->pc), PC2PROTO(k));
2121 if (op == BC_RET) { 2724 if (op == BC_RET) {
2122 dasm_put(Dst, 13779, LJ_TNIL); 2725 dasm_put(Dst, 14879, LJ_TNIL);
2123 } else { 2726 } else {
2124 dasm_put(Dst, 13788, LJ_TNIL); 2727 dasm_put(Dst, 14888, LJ_TNIL);
2125 } 2728 }
2126 dasm_put(Dst, 13795, -FRAME_VARG, FRAME_TYPEP); 2729 dasm_put(Dst, 14895, -FRAME_VARG, FRAME_TYPEP);
2127 if (op != BC_RET0) { 2730 if (op != BC_RET0) {
2128 dasm_put(Dst, 13819); 2731 dasm_put(Dst, 14919);
2129 } 2732 }
2130 dasm_put(Dst, 4555); 2733 dasm_put(Dst, 4646);
2131 break; 2734 break;
2132 2735
2133 /* -- Loops and branches ------------------------------------------------ */ 2736 /* -- Loops and branches ------------------------------------------------ */
@@ -2135,7 +2738,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2135 2738
2136 case BC_FORL: 2739 case BC_FORL:
2137#if LJ_HASJIT 2740#if LJ_HASJIT
2138 dasm_put(Dst, 13823, HOTCOUNT_PCMASK, GG_DISP2HOT); 2741 dasm_put(Dst, 14923, HOTCOUNT_PCMASK, GG_DISP2HOT);
2139#endif 2742#endif
2140 break; 2743 break;
2141 2744
@@ -2147,57 +2750,104 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2147 case BC_FORI: 2750 case BC_FORI:
2148 case BC_IFORL: 2751 case BC_IFORL:
2149 vk = (op == BC_IFORL || op == BC_JFORL); 2752 vk = (op == BC_IFORL || op == BC_JFORL);
2150 dasm_put(Dst, 13844); 2753 dasm_put(Dst, 14944);
2754 if (LJ_DUALNUM) {
2755 dasm_put(Dst, 14948, LJ_TISNUM);
2756 if (!vk) {
2757 dasm_put(Dst, 14958, LJ_TISNUM, LJ_TISNUM);
2758 } else {
2759 dasm_put(Dst, 14987);
2760 }
2761 dasm_put(Dst, 15006, LJ_TISNUM);
2762 if (op == BC_FORI) {
2763 dasm_put(Dst, 15017, -BCBIAS_J*4);
2764 } else if (op == BC_JFORI) {
2765 dasm_put(Dst, 15031, -BCBIAS_J*4, BC_JLOOP);
2766 } else if (op == BC_IFORL) {
2767 dasm_put(Dst, 15049, -BCBIAS_J*4);
2768 } else {
2769 dasm_put(Dst, 15041, BC_JLOOP);
2770 }
2771 dasm_put(Dst, 15063);
2772 if (vk) {
2773 dasm_put(Dst, 15087);
2774 }
2775 dasm_put(Dst, 15006, LJ_TISNUM);
2776 if (op == BC_FORI) {
2777 dasm_put(Dst, 15096);
2778 } else if (op == BC_JFORI) {
2779 dasm_put(Dst, 15101, -BCBIAS_J*4, BC_JLOOP);
2780 } else if (op == BC_IFORL) {
2781 dasm_put(Dst, 15115);
2782 } else {
2783 dasm_put(Dst, 15111, BC_JLOOP);
2784 }
2785 dasm_put(Dst, 15120);
2786 } else if (!vk) {
2787 dasm_put(Dst, 15127, LJ_TISNUM);
2788 }
2151 if (!vk) { 2789 if (!vk) {
2152 dasm_put(Dst, 13848, LJ_TISNUM, LJ_TISNUM); 2790 dasm_put(Dst, 15133, LJ_TISNUM);
2153 } 2791 }
2154 dasm_put(Dst, 13867); 2792 dasm_put(Dst, 15147);
2155 if (!vk) { 2793 if (!vk) {
2156 dasm_put(Dst, 13871, LJ_TISNUM); 2794 dasm_put(Dst, 15151, LJ_TISNUM);
2157 } 2795 }
2158 if (sse) { 2796 if (sse) {
2159 dasm_put(Dst, 13880); 2797 dasm_put(Dst, 15160);
2160 if (vk) { 2798 if (vk) {
2161 dasm_put(Dst, 13892); 2799 dasm_put(Dst, 15172);
2162 } else { 2800 } else {
2163 dasm_put(Dst, 13911); 2801 dasm_put(Dst, 15191);
2164 } 2802 }
2165 dasm_put(Dst, 13916); 2803 dasm_put(Dst, 15196);
2166 } else { 2804 } else {
2167 dasm_put(Dst, 13929); 2805 dasm_put(Dst, 15209);
2168 if (vk) { 2806 if (vk) {
2169 dasm_put(Dst, 13935); 2807 dasm_put(Dst, 15215);
2170 } else { 2808 } else {
2171 dasm_put(Dst, 13951); 2809 dasm_put(Dst, 15231);
2172 } 2810 }
2173 dasm_put(Dst, 13959); 2811 dasm_put(Dst, 15239);
2174 if (cmov) { 2812 if (cmov) {
2175 dasm_put(Dst, 9629); 2813 dasm_put(Dst, 10057);
2176 } else { 2814 } else {
2177 dasm_put(Dst, 9635); 2815 dasm_put(Dst, 10063);
2178 } 2816 }
2179 if (!cmov) { 2817 if (!cmov) {
2180 dasm_put(Dst, 13964); 2818 dasm_put(Dst, 15244);
2181 } 2819 }
2182 } 2820 }
2183 if (op == BC_FORI) { 2821 if (op == BC_FORI) {
2184 dasm_put(Dst, 13970, -BCBIAS_J*4); 2822 if (LJ_DUALNUM) {
2823 dasm_put(Dst, 15250);
2824 } else {
2825 dasm_put(Dst, 15255, -BCBIAS_J*4);
2826 }
2185 } else if (op == BC_JFORI) { 2827 } else if (op == BC_JFORI) {
2186 dasm_put(Dst, 13980, -BCBIAS_J*4, BC_JLOOP); 2828 dasm_put(Dst, 15265, -BCBIAS_J*4, BC_JLOOP);
2187 } else if (op == BC_IFORL) { 2829 } else if (op == BC_IFORL) {
2188 dasm_put(Dst, 13994, -BCBIAS_J*4); 2830 if (LJ_DUALNUM) {
2831 dasm_put(Dst, 15279);
2832 } else {
2833 dasm_put(Dst, 15284, -BCBIAS_J*4);
2834 }
2835 } else {
2836 dasm_put(Dst, 15275, BC_JLOOP);
2837 }
2838 if (LJ_DUALNUM) {
2839 dasm_put(Dst, 9986);
2189 } else { 2840 } else {
2190 dasm_put(Dst, 13990, BC_JLOOP); 2841 dasm_put(Dst, 10741);
2191 } 2842 }
2192 dasm_put(Dst, 9664);
2193 if (sse) { 2843 if (sse) {
2194 dasm_put(Dst, 14004); 2844 dasm_put(Dst, 15294);
2195 } 2845 }
2196 break; 2846 break;
2197 2847
2198 case BC_ITERL: 2848 case BC_ITERL:
2199#if LJ_HASJIT 2849#if LJ_HASJIT
2200 dasm_put(Dst, 13823, HOTCOUNT_PCMASK, GG_DISP2HOT); 2850 dasm_put(Dst, 14923, HOTCOUNT_PCMASK, GG_DISP2HOT);
2201#endif 2851#endif
2202 break; 2852 break;
2203 2853
@@ -2206,33 +2856,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2206 break; 2856 break;
2207#endif 2857#endif
2208 case BC_IITERL: 2858 case BC_IITERL:
2209 dasm_put(Dst, 14015, LJ_TNIL); 2859 dasm_put(Dst, 15305, LJ_TNIL);
2210 if (op == BC_JITERL) { 2860 if (op == BC_JITERL) {
2211 dasm_put(Dst, 14030, BC_JLOOP); 2861 dasm_put(Dst, 15320, BC_JLOOP);
2212 } else { 2862 } else {
2213 dasm_put(Dst, 14044, -BCBIAS_J*4); 2863 dasm_put(Dst, 15334, -BCBIAS_J*4);
2214 } 2864 }
2215 dasm_put(Dst, 10096); 2865 dasm_put(Dst, 10100);
2216 break; 2866 break;
2217 2867
2218 case BC_LOOP: 2868 case BC_LOOP:
2219#if LJ_HASJIT 2869#if LJ_HASJIT
2220 dasm_put(Dst, 13823, HOTCOUNT_PCMASK, GG_DISP2HOT); 2870 dasm_put(Dst, 14923, HOTCOUNT_PCMASK, GG_DISP2HOT);
2221#endif 2871#endif
2222 break; 2872 break;
2223 2873
2224 case BC_ILOOP: 2874 case BC_ILOOP:
2225 dasm_put(Dst, 9666); 2875 dasm_put(Dst, 10102);
2226 break; 2876 break;
2227 2877
2228 case BC_JLOOP: 2878 case BC_JLOOP:
2229#if LJ_HASJIT 2879#if LJ_HASJIT
2230 dasm_put(Dst, 14060, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), 9*16+4*8, -1*16, -2*16, -3*16, -4*16, -5*16, -6*16, -7*16, -8*16, -9*16); 2880 dasm_put(Dst, 15350, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), 9*16+4*8, -1*16, -2*16, -3*16, -4*16, -5*16, -6*16, -7*16, -8*16, -9*16);
2231#endif 2881#endif
2232 break; 2882 break;
2233 2883
2234 case BC_JMP: 2884 case BC_JMP:
2235 dasm_put(Dst, 14169, -BCBIAS_J*4); 2885 dasm_put(Dst, 15459, -BCBIAS_J*4);
2236 break; 2886 break;
2237 2887
2238 /* -- Function headers -------------------------------------------------- */ 2888 /* -- Function headers -------------------------------------------------- */
@@ -2246,7 +2896,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2246 2896
2247 case BC_FUNCF: 2897 case BC_FUNCF:
2248#if LJ_HASJIT 2898#if LJ_HASJIT
2249 dasm_put(Dst, 14194, HOTCOUNT_PCMASK, GG_DISP2HOT); 2899 dasm_put(Dst, 15484, HOTCOUNT_PCMASK, GG_DISP2HOT);
2250#endif 2900#endif
2251 case BC_FUNCV: /* NYI: compiled vararg functions. */ 2901 case BC_FUNCV: /* NYI: compiled vararg functions. */
2252 break; 2902 break;
@@ -2256,47 +2906,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2256 break; 2906 break;
2257#endif 2907#endif
2258 case BC_IFUNCF: 2908 case BC_IFUNCF:
2259 dasm_put(Dst, 14215, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 2909 dasm_put(Dst, 15505, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2260 if (op == BC_JFUNCF) { 2910 if (op == BC_JFUNCF) {
2261 dasm_put(Dst, 14245, BC_JLOOP); 2911 dasm_put(Dst, 15535, BC_JLOOP);
2262 } else { 2912 } else {
2263 dasm_put(Dst, 9666); 2913 dasm_put(Dst, 10102);
2264 } 2914 }
2265 dasm_put(Dst, 14254, LJ_TNIL); 2915 dasm_put(Dst, 15544, LJ_TNIL);
2266 break; 2916 break;
2267 2917
2268 case BC_JFUNCV: 2918 case BC_JFUNCV:
2269#if !LJ_HASJIT 2919#if !LJ_HASJIT
2270 break; 2920 break;
2271#endif 2921#endif
2272 dasm_put(Dst, 9020); 2922 dasm_put(Dst, 9250);
2273 break; /* NYI: compiled vararg functions. */ 2923 break; /* NYI: compiled vararg functions. */
2274 2924
2275 case BC_IFUNCV: 2925 case BC_IFUNCV:
2276 dasm_put(Dst, 14276, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 2926 dasm_put(Dst, 15566, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2277 if (op == BC_JFUNCV) { 2927 if (op == BC_JFUNCV) {
2278 dasm_put(Dst, 14245, BC_JLOOP); 2928 dasm_put(Dst, 15535, BC_JLOOP);
2279 } else { 2929 } else {
2280 dasm_put(Dst, 14367, -4+PC2PROTO(k)); 2930 dasm_put(Dst, 15657, -4+PC2PROTO(k));
2281 } 2931 }
2282 dasm_put(Dst, 14390, LJ_TNIL); 2932 dasm_put(Dst, 15680, LJ_TNIL);
2283 break; 2933 break;
2284 2934
2285 case BC_FUNCC: 2935 case BC_FUNCC:
2286 case BC_FUNCCW: 2936 case BC_FUNCCW:
2287 dasm_put(Dst, 14412, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 2937 dasm_put(Dst, 15702, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2288 if (op == BC_FUNCC) { 2938 if (op == BC_FUNCC) {
2289 dasm_put(Dst, 14442); 2939 dasm_put(Dst, 2310);
2290 } else { 2940 } else {
2291 dasm_put(Dst, 14446); 2941 dasm_put(Dst, 15732);
2292 } 2942 }
2293 dasm_put(Dst, 14454, DISPATCH_GL(vmstate), ~LJ_VMST_C); 2943 dasm_put(Dst, 15740, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2294 if (op == BC_FUNCC) { 2944 if (op == BC_FUNCC) {
2295 dasm_put(Dst, 14463); 2945 dasm_put(Dst, 15749);
2296 } else { 2946 } else {
2297 dasm_put(Dst, 14467, DISPATCH_GL(wrapf)); 2947 dasm_put(Dst, 15753, DISPATCH_GL(wrapf));
2298 } 2948 }
2299 dasm_put(Dst, 14472, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 2949 dasm_put(Dst, 15758, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2300 break; 2950 break;
2301 2951
2302 /* ---------------------------------------------------------------------- */ 2952 /* ---------------------------------------------------------------------- */
@@ -2324,7 +2974,7 @@ static int build_backend(BuildCtx *ctx)
2324 2974
2325 build_subroutines(ctx, cmov, sse); 2975 build_subroutines(ctx, cmov, sse);
2326 2976
2327 dasm_put(Dst, 14497); 2977 dasm_put(Dst, 15783);
2328 for (op = 0; op < BC__MAX; op++) 2978 for (op = 0; op < BC__MAX; op++)
2329 build_ins(ctx, (BCOp)op, op, cmov, sse); 2979 build_ins(ctx, (BCOp)op, op, cmov, sse);
2330 2980