/src/ffmpeg/libavcodec/dirac_vlc.c
Line | Count | Source |
1 | | /* |
2 | | * This file is part of FFmpeg. |
3 | | * |
4 | | * FFmpeg is free software; you can redistribute it and/or |
5 | | * modify it under the terms of the GNU Lesser General Public |
6 | | * License as published by the Free Software Foundation; either |
7 | | * version 2.1 of the License, or (at your option) any later version. |
8 | | * |
9 | | * FFmpeg is distributed in the hope that it will be useful, |
10 | | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
11 | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
12 | | * Lesser General Public License for more details. |
13 | | * |
14 | | * You should have received a copy of the GNU Lesser General Public |
15 | | * License along with FFmpeg; if not, write to the Free Software |
16 | | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
17 | | */ |
18 | | |
19 | | #include "libavutil/mem_internal.h" |
20 | | |
21 | | #include "dirac_vlc.h" |
22 | | |
23 | | enum { |
24 | | /* Next byte contains an exactly aligned start to a new symbol (even bit) */ |
25 | | STATE_START = 0, |
26 | | /* Next byte should end the current value on an odd bit */ |
27 | | STATE_FOLLOW = 256, |
28 | | /* Byte is completely data and doesn't end nor start a value */ |
29 | | STATE_DATA = 512, |
30 | | /* Byte has the current value's sign bit and starts a new value */ |
31 | | STATE_SIGN = 768, |
32 | | }; |
33 | | |
34 | | /* Exactly 128 bits */ |
35 | | typedef struct LUTState { |
36 | | int16_t val0; /* Bits to which to add after applying preshift */ |
37 | | int16_t val1; |
38 | | int16_t val2; |
39 | | int16_t val3; |
40 | | int16_t val4; |
41 | | uint8_t val0_bits; /* The size of val0 in bits */ |
42 | | int8_t sign; /* Sign of the current value (0 == zero the value) */ |
43 | | int8_t num; /* Number of values in this byte */ |
44 | | uint8_t val; /* Init value in case current value was terminated */ |
45 | | uint16_t state; /* Expected state for the next byte */ |
46 | | } LUTState; |
47 | | |
48 | | static const DECLARE_ALIGNED(32, LUTState, dirac_golomb_lut)[1024] = { |
49 | | { +16, 0, 0, 0, 0, 5, +1, 0, 0, STATE_FOLLOW }, |
50 | | { +17, 0, 0, 0, 0, 5, +1, 0, 0, STATE_FOLLOW }, |
51 | | { +8, 0, 0, 0, 0, 4, +1, 1, 0, STATE_START }, |
52 | | { +8, 0, 0, 0, 0, 4, -1, 1, 0, STATE_START }, |
53 | | { +18, 0, 0, 0, 0, 5, +1, 0, 0, STATE_FOLLOW }, |
54 | | { +19, 0, 0, 0, 0, 5, +1, 0, 0, STATE_FOLLOW }, |
55 | | { +9, 0, 0, 0, 0, 4, +1, 1, 0, STATE_START }, |
56 | | { +9, 0, 0, 0, 0, 4, -1, 1, 0, STATE_START }, |
57 | | { +4, 0, 0, 0, 0, 3, +1, 1, 2, STATE_FOLLOW }, |
58 | | { +4, 0, 0, 0, 0, 3, +1, 1, 3, STATE_FOLLOW }, |
59 | | { +4, 0, 0, 0, 0, 3, +1, 2, 1, STATE_DATA }, |
60 | | { +4, 0, 0, 0, 0, 3, +1, 3, 0, STATE_START }, |
61 | | { +4, 0, 0, 0, 0, 3, -1, 1, 2, STATE_FOLLOW }, |
62 | | { +4, 0, 0, 0, 0, 3, -1, 1, 3, STATE_FOLLOW }, |
63 | | { +4, 0, 0, 0, 0, 3, -1, 2, 1, STATE_DATA }, |
64 | | { +4, 0, 0, 0, 0, 3, -1, 3, 0, STATE_START }, |
65 | | { +20, 0, 0, 0, 0, 5, +1, 0, 0, STATE_FOLLOW }, |
66 | | { +21, 0, 0, 0, 0, 5, +1, 0, 0, STATE_FOLLOW }, |
67 | | { +10, 0, 0, 0, 0, 4, +1, 1, 0, STATE_START }, |
68 | | { +10, 0, 0, 0, 0, 4, -1, 1, 0, STATE_START }, |
69 | | { +22, 0, 0, 0, 0, 5, +1, 0, 0, STATE_FOLLOW }, |
70 | | { +23, 0, 0, 0, 0, 5, +1, 0, 0, STATE_FOLLOW }, |
71 | | { +11, 0, 0, 0, 0, 4, +1, 1, 0, STATE_START }, |
72 | | { +11, 0, 0, 0, 0, 4, -1, 1, 0, STATE_START }, |
73 | | { +5, 0, 0, 0, 0, 3, +1, 1, 2, STATE_FOLLOW }, |
74 | | { +5, 0, 0, 0, 0, 3, +1, 1, 3, STATE_FOLLOW }, |
75 | | { +5, 0, 0, 0, 0, 3, +1, 2, 1, STATE_DATA }, |
76 | | { +5, 0, 0, 0, 0, 3, +1, 3, 0, STATE_START }, |
77 | | { +5, 0, 0, 0, 0, 3, -1, 1, 2, STATE_FOLLOW }, |
78 | | { +5, 0, 0, 0, 0, 3, -1, 1, 3, STATE_FOLLOW }, |
79 | | { +5, 0, 0, 0, 0, 3, -1, 2, 1, STATE_DATA }, |
80 | | { +5, 0, 0, 0, 0, 3, -1, 3, 0, STATE_START }, |
81 | | { +2, 0, 0, 0, 0, 2, +1, 1, 4, STATE_FOLLOW }, |
82 | | { +2, 0, 0, 0, 0, 2, +1, 1, 5, STATE_FOLLOW }, |
83 | | { +2, +1, 0, 0, 0, 2, +1, 2, 0, STATE_START }, |
84 | | { +2, -1, 0, 0, 0, 2, +1, 2, 0, STATE_START }, |
85 | | { +2, 0, 0, 0, 0, 2, +1, 1, 6, STATE_FOLLOW }, |
86 | | { +2, 0, 0, 0, 0, 2, +1, 1, 7, STATE_FOLLOW }, |
87 | | { +2, +2, 0, 0, 0, 2, +1, 2, 0, STATE_START }, |
88 | | { +2, -2, 0, 0, 0, 2, +1, 2, 0, STATE_START }, |
89 | | { +2, 0, 0, 0, 0, 2, +1, 2, 2, STATE_DATA }, |
90 | | { +2, 0, 0, 0, 0, 2, +1, 2, 2, STATE_SIGN }, |
91 | | { +2, 0, 0, 0, 0, 2, +1, 2, 3, STATE_DATA }, |
92 | | { +2, 0, 0, 0, 0, 2, +1, 2, 3, STATE_SIGN }, |
93 | | { +2, 0, 0, 0, 0, 2, +1, 3, 2, STATE_FOLLOW }, |
94 | | { +2, 0, 0, 0, 0, 2, +1, 3, 3, STATE_FOLLOW }, |
95 | | { +2, 0, 0, 0, 0, 2, +1, 4, 1, STATE_DATA }, |
96 | | { +2, 0, 0, 0, 0, 2, +1, 5, 0, STATE_START }, |
97 | | { +2, 0, 0, 0, 0, 2, -1, 1, 4, STATE_FOLLOW }, |
98 | | { +2, 0, 0, 0, 0, 2, -1, 1, 5, STATE_FOLLOW }, |
99 | | { +2, +1, 0, 0, 0, 2, -1, 2, 0, STATE_START }, |
100 | | { +2, -1, 0, 0, 0, 2, -1, 2, 0, STATE_START }, |
101 | | { +2, 0, 0, 0, 0, 2, -1, 1, 6, STATE_FOLLOW }, |
102 | | { +2, 0, 0, 0, 0, 2, -1, 1, 7, STATE_FOLLOW }, |
103 | | { +2, +2, 0, 0, 0, 2, -1, 2, 0, STATE_START }, |
104 | | { +2, -2, 0, 0, 0, 2, -1, 2, 0, STATE_START }, |
105 | | { +2, 0, 0, 0, 0, 2, -1, 2, 2, STATE_DATA }, |
106 | | { +2, 0, 0, 0, 0, 2, -1, 2, 2, STATE_SIGN }, |
107 | | { +2, 0, 0, 0, 0, 2, -1, 2, 3, STATE_DATA }, |
108 | | { +2, 0, 0, 0, 0, 2, -1, 2, 3, STATE_SIGN }, |
109 | | { +2, 0, 0, 0, 0, 2, -1, 3, 2, STATE_FOLLOW }, |
110 | | { +2, 0, 0, 0, 0, 2, -1, 3, 3, STATE_FOLLOW }, |
111 | | { +2, 0, 0, 0, 0, 2, -1, 4, 1, STATE_DATA }, |
112 | | { +2, 0, 0, 0, 0, 2, -1, 5, 0, STATE_START }, |
113 | | { +24, 0, 0, 0, 0, 5, +1, 0, 0, STATE_FOLLOW }, |
114 | | { +25, 0, 0, 0, 0, 5, +1, 0, 0, STATE_FOLLOW }, |
115 | | { +12, 0, 0, 0, 0, 4, +1, 1, 0, STATE_START }, |
116 | | { +12, 0, 0, 0, 0, 4, -1, 1, 0, STATE_START }, |
117 | | { +26, 0, 0, 0, 0, 5, +1, 0, 0, STATE_FOLLOW }, |
118 | | { +27, 0, 0, 0, 0, 5, +1, 0, 0, STATE_FOLLOW }, |
119 | | { +13, 0, 0, 0, 0, 4, +1, 1, 0, STATE_START }, |
120 | | { +13, 0, 0, 0, 0, 4, -1, 1, 0, STATE_START }, |
121 | | { +6, 0, 0, 0, 0, 3, +1, 1, 2, STATE_FOLLOW }, |
122 | | { +6, 0, 0, 0, 0, 3, +1, 1, 3, STATE_FOLLOW }, |
123 | | { +6, 0, 0, 0, 0, 3, +1, 2, 1, STATE_DATA }, |
124 | | { +6, 0, 0, 0, 0, 3, +1, 3, 0, STATE_START }, |
125 | | { +6, 0, 0, 0, 0, 3, -1, 1, 2, STATE_FOLLOW }, |
126 | | { +6, 0, 0, 0, 0, 3, -1, 1, 3, STATE_FOLLOW }, |
127 | | { +6, 0, 0, 0, 0, 3, -1, 2, 1, STATE_DATA }, |
128 | | { +6, 0, 0, 0, 0, 3, -1, 3, 0, STATE_START }, |
129 | | { +28, 0, 0, 0, 0, 5, +1, 0, 0, STATE_FOLLOW }, |
130 | | { +29, 0, 0, 0, 0, 5, +1, 0, 0, STATE_FOLLOW }, |
131 | | { +14, 0, 0, 0, 0, 4, +1, 1, 0, STATE_START }, |
132 | | { +14, 0, 0, 0, 0, 4, -1, 1, 0, STATE_START }, |
133 | | { +30, 0, 0, 0, 0, 5, +1, 0, 0, STATE_FOLLOW }, |
134 | | { +31, 0, 0, 0, 0, 5, +1, 0, 0, STATE_FOLLOW }, |
135 | | { +15, 0, 0, 0, 0, 4, +1, 1, 0, STATE_START }, |
136 | | { +15, 0, 0, 0, 0, 4, -1, 1, 0, STATE_START }, |
137 | | { +7, 0, 0, 0, 0, 3, +1, 1, 2, STATE_FOLLOW }, |
138 | | { +7, 0, 0, 0, 0, 3, +1, 1, 3, STATE_FOLLOW }, |
139 | | { +7, 0, 0, 0, 0, 3, +1, 2, 1, STATE_DATA }, |
140 | | { +7, 0, 0, 0, 0, 3, +1, 3, 0, STATE_START }, |
141 | | { +7, 0, 0, 0, 0, 3, -1, 1, 2, STATE_FOLLOW }, |
142 | | { +7, 0, 0, 0, 0, 3, -1, 1, 3, STATE_FOLLOW }, |
143 | | { +7, 0, 0, 0, 0, 3, -1, 2, 1, STATE_DATA }, |
144 | | { +7, 0, 0, 0, 0, 3, -1, 3, 0, STATE_START }, |
145 | | { +3, 0, 0, 0, 0, 2, +1, 1, 4, STATE_FOLLOW }, |
146 | | { +3, 0, 0, 0, 0, 2, +1, 1, 5, STATE_FOLLOW }, |
147 | | { +3, +1, 0, 0, 0, 2, +1, 2, 0, STATE_START }, |
148 | | { +3, -1, 0, 0, 0, 2, +1, 2, 0, STATE_START }, |
149 | | { +3, 0, 0, 0, 0, 2, +1, 1, 6, STATE_FOLLOW }, |
150 | | { +3, 0, 0, 0, 0, 2, +1, 1, 7, STATE_FOLLOW }, |
151 | | { +3, +2, 0, 0, 0, 2, +1, 2, 0, STATE_START }, |
152 | | { +3, -2, 0, 0, 0, 2, +1, 2, 0, STATE_START }, |
153 | | { +3, 0, 0, 0, 0, 2, +1, 2, 2, STATE_DATA }, |
154 | | { +3, 0, 0, 0, 0, 2, +1, 2, 2, STATE_SIGN }, |
155 | | { +3, 0, 0, 0, 0, 2, +1, 2, 3, STATE_DATA }, |
156 | | { +3, 0, 0, 0, 0, 2, +1, 2, 3, STATE_SIGN }, |
157 | | { +3, 0, 0, 0, 0, 2, +1, 3, 2, STATE_FOLLOW }, |
158 | | { +3, 0, 0, 0, 0, 2, +1, 3, 3, STATE_FOLLOW }, |
159 | | { +3, 0, 0, 0, 0, 2, +1, 4, 1, STATE_DATA }, |
160 | | { +3, 0, 0, 0, 0, 2, +1, 5, 0, STATE_START }, |
161 | | { +3, 0, 0, 0, 0, 2, -1, 1, 4, STATE_FOLLOW }, |
162 | | { +3, 0, 0, 0, 0, 2, -1, 1, 5, STATE_FOLLOW }, |
163 | | { +3, +1, 0, 0, 0, 2, -1, 2, 0, STATE_START }, |
164 | | { +3, -1, 0, 0, 0, 2, -1, 2, 0, STATE_START }, |
165 | | { +3, 0, 0, 0, 0, 2, -1, 1, 6, STATE_FOLLOW }, |
166 | | { +3, 0, 0, 0, 0, 2, -1, 1, 7, STATE_FOLLOW }, |
167 | | { +3, +2, 0, 0, 0, 2, -1, 2, 0, STATE_START }, |
168 | | { +3, -2, 0, 0, 0, 2, -1, 2, 0, STATE_START }, |
169 | | { +3, 0, 0, 0, 0, 2, -1, 2, 2, STATE_DATA }, |
170 | | { +3, 0, 0, 0, 0, 2, -1, 2, 2, STATE_SIGN }, |
171 | | { +3, 0, 0, 0, 0, 2, -1, 2, 3, STATE_DATA }, |
172 | | { +3, 0, 0, 0, 0, 2, -1, 2, 3, STATE_SIGN }, |
173 | | { +3, 0, 0, 0, 0, 2, -1, 3, 2, STATE_FOLLOW }, |
174 | | { +3, 0, 0, 0, 0, 2, -1, 3, 3, STATE_FOLLOW }, |
175 | | { +3, 0, 0, 0, 0, 2, -1, 4, 1, STATE_DATA }, |
176 | | { +3, 0, 0, 0, 0, 2, -1, 5, 0, STATE_START }, |
177 | | { 0, 0, 0, 0, 0, 0, 0, 1, 8, STATE_DATA }, |
178 | | { 0, 0, 0, 0, 0, 0, 0, 1, 8, STATE_SIGN }, |
179 | | { 0, 0, 0, 0, 0, 0, 0, 1, 9, STATE_DATA }, |
180 | | { 0, 0, 0, 0, 0, 0, 0, 1, 9, STATE_SIGN }, |
181 | | { 0, +3, 0, 0, 0, 0, 0, 2, 1, STATE_DATA }, |
182 | | { 0, +3, 0, 0, 0, 0, 0, 3, 0, STATE_START }, |
183 | | { 0, -3, 0, 0, 0, 0, 0, 2, 1, STATE_DATA }, |
184 | | { 0, -3, 0, 0, 0, 0, 0, 3, 0, STATE_START }, |
185 | | { 0, 0, 0, 0, 0, 0, 0, 1, 10, STATE_DATA }, |
186 | | { 0, 0, 0, 0, 0, 0, 0, 1, 10, STATE_SIGN }, |
187 | | { 0, 0, 0, 0, 0, 0, 0, 1, 11, STATE_DATA }, |
188 | | { 0, 0, 0, 0, 0, 0, 0, 1, 11, STATE_SIGN }, |
189 | | { 0, +4, 0, 0, 0, 0, 0, 2, 1, STATE_DATA }, |
190 | | { 0, +4, 0, 0, 0, 0, 0, 3, 0, STATE_START }, |
191 | | { 0, -4, 0, 0, 0, 0, 0, 2, 1, STATE_DATA }, |
192 | | { 0, -4, 0, 0, 0, 0, 0, 3, 0, STATE_START }, |
193 | | { 0, +1, 0, 0, 0, 0, 0, 2, 2, STATE_DATA }, |
194 | | { 0, +1, 0, 0, 0, 0, 0, 2, 2, STATE_SIGN }, |
195 | | { 0, +1, 0, 0, 0, 0, 0, 2, 3, STATE_DATA }, |
196 | | { 0, +1, 0, 0, 0, 0, 0, 2, 3, STATE_SIGN }, |
197 | | { 0, +1, 0, 0, 0, 0, 0, 3, 2, STATE_FOLLOW }, |
198 | | { 0, +1, 0, 0, 0, 0, 0, 3, 3, STATE_FOLLOW }, |
199 | | { 0, +1, 0, 0, 0, 0, 0, 4, 1, STATE_DATA }, |
200 | | { 0, +1, 0, 0, 0, 0, 0, 5, 0, STATE_START }, |
201 | | { 0, -1, 0, 0, 0, 0, 0, 2, 2, STATE_DATA }, |
202 | | { 0, -1, 0, 0, 0, 0, 0, 2, 2, STATE_SIGN }, |
203 | | { 0, -1, 0, 0, 0, 0, 0, 2, 3, STATE_DATA }, |
204 | | { 0, -1, 0, 0, 0, 0, 0, 2, 3, STATE_SIGN }, |
205 | | { 0, -1, 0, 0, 0, 0, 0, 3, 2, STATE_FOLLOW }, |
206 | | { 0, -1, 0, 0, 0, 0, 0, 3, 3, STATE_FOLLOW }, |
207 | | { 0, -1, 0, 0, 0, 0, 0, 4, 1, STATE_DATA }, |
208 | | { 0, -1, 0, 0, 0, 0, 0, 5, 0, STATE_START }, |
209 | | { 0, 0, 0, 0, 0, 0, 0, 1, 12, STATE_DATA }, |
210 | | { 0, 0, 0, 0, 0, 0, 0, 1, 12, STATE_SIGN }, |
211 | | { 0, 0, 0, 0, 0, 0, 0, 1, 13, STATE_DATA }, |
212 | | { 0, 0, 0, 0, 0, 0, 0, 1, 13, STATE_SIGN }, |
213 | | { 0, +5, 0, 0, 0, 0, 0, 2, 1, STATE_DATA }, |
214 | | { 0, +5, 0, 0, 0, 0, 0, 3, 0, STATE_START }, |
215 | | { 0, -5, 0, 0, 0, 0, 0, 2, 1, STATE_DATA }, |
216 | | { 0, -5, 0, 0, 0, 0, 0, 3, 0, STATE_START }, |
217 | | { 0, 0, 0, 0, 0, 0, 0, 1, 14, STATE_DATA }, |
218 | | { 0, 0, 0, 0, 0, 0, 0, 1, 14, STATE_SIGN }, |
219 | | { 0, 0, 0, 0, 0, 0, 0, 1, 15, STATE_DATA }, |
220 | | { 0, 0, 0, 0, 0, 0, 0, 1, 15, STATE_SIGN }, |
221 | | { 0, +6, 0, 0, 0, 0, 0, 2, 1, STATE_DATA }, |
222 | | { 0, +6, 0, 0, 0, 0, 0, 3, 0, STATE_START }, |
223 | | { 0, -6, 0, 0, 0, 0, 0, 2, 1, STATE_DATA }, |
224 | | { 0, -6, 0, 0, 0, 0, 0, 3, 0, STATE_START }, |
225 | | { 0, +2, 0, 0, 0, 0, 0, 2, 2, STATE_DATA }, |
226 | | { 0, +2, 0, 0, 0, 0, 0, 2, 2, STATE_SIGN }, |
227 | | { 0, +2, 0, 0, 0, 0, 0, 2, 3, STATE_DATA }, |
228 | | { 0, +2, 0, 0, 0, 0, 0, 2, 3, STATE_SIGN }, |
229 | | { 0, +2, 0, 0, 0, 0, 0, 3, 2, STATE_FOLLOW }, |
230 | | { 0, +2, 0, 0, 0, 0, 0, 3, 3, STATE_FOLLOW }, |
231 | | { 0, +2, 0, 0, 0, 0, 0, 4, 1, STATE_DATA }, |
232 | | { 0, +2, 0, 0, 0, 0, 0, 5, 0, STATE_START }, |
233 | | { 0, -2, 0, 0, 0, 0, 0, 2, 2, STATE_DATA }, |
234 | | { 0, -2, 0, 0, 0, 0, 0, 2, 2, STATE_SIGN }, |
235 | | { 0, -2, 0, 0, 0, 0, 0, 2, 3, STATE_DATA }, |
236 | | { 0, -2, 0, 0, 0, 0, 0, 2, 3, STATE_SIGN }, |
237 | | { 0, -2, 0, 0, 0, 0, 0, 3, 2, STATE_FOLLOW }, |
238 | | { 0, -2, 0, 0, 0, 0, 0, 3, 3, STATE_FOLLOW }, |
239 | | { 0, -2, 0, 0, 0, 0, 0, 4, 1, STATE_DATA }, |
240 | | { 0, -2, 0, 0, 0, 0, 0, 5, 0, STATE_START }, |
241 | | { 0, 0, 0, 0, 0, 0, 0, 2, 8, STATE_FOLLOW }, |
242 | | { 0, 0, 0, 0, 0, 0, 0, 2, 9, STATE_FOLLOW }, |
243 | | { 0, 0, +3, 0, 0, 0, 0, 3, 0, STATE_START }, |
244 | | { 0, 0, -3, 0, 0, 0, 0, 3, 0, STATE_START }, |
245 | | { 0, 0, 0, 0, 0, 0, 0, 2, 10, STATE_FOLLOW }, |
246 | | { 0, 0, 0, 0, 0, 0, 0, 2, 11, STATE_FOLLOW }, |
247 | | { 0, 0, +4, 0, 0, 0, 0, 3, 0, STATE_START }, |
248 | | { 0, 0, -4, 0, 0, 0, 0, 3, 0, STATE_START }, |
249 | | { 0, 0, +1, 0, 0, 0, 0, 3, 2, STATE_FOLLOW }, |
250 | | { 0, 0, +1, 0, 0, 0, 0, 3, 3, STATE_FOLLOW }, |
251 | | { 0, 0, +1, 0, 0, 0, 0, 4, 1, STATE_DATA }, |
252 | | { 0, 0, +1, 0, 0, 0, 0, 5, 0, STATE_START }, |
253 | | { 0, 0, -1, 0, 0, 0, 0, 3, 2, STATE_FOLLOW }, |
254 | | { 0, 0, -1, 0, 0, 0, 0, 3, 3, STATE_FOLLOW }, |
255 | | { 0, 0, -1, 0, 0, 0, 0, 4, 1, STATE_DATA }, |
256 | | { 0, 0, -1, 0, 0, 0, 0, 5, 0, STATE_START }, |
257 | | { 0, 0, 0, 0, 0, 0, 0, 2, 12, STATE_FOLLOW }, |
258 | | { 0, 0, 0, 0, 0, 0, 0, 2, 13, STATE_FOLLOW }, |
259 | | { 0, 0, +5, 0, 0, 0, 0, 3, 0, STATE_START }, |
260 | | { 0, 0, -5, 0, 0, 0, 0, 3, 0, STATE_START }, |
261 | | { 0, 0, 0, 0, 0, 0, 0, 2, 14, STATE_FOLLOW }, |
262 | | { 0, 0, 0, 0, 0, 0, 0, 2, 15, STATE_FOLLOW }, |
263 | | { 0, 0, +6, 0, 0, 0, 0, 3, 0, STATE_START }, |
264 | | { 0, 0, -6, 0, 0, 0, 0, 3, 0, STATE_START }, |
265 | | { 0, 0, +2, 0, 0, 0, 0, 3, 2, STATE_FOLLOW }, |
266 | | { 0, 0, +2, 0, 0, 0, 0, 3, 3, STATE_FOLLOW }, |
267 | | { 0, 0, +2, 0, 0, 0, 0, 4, 1, STATE_DATA }, |
268 | | { 0, 0, +2, 0, 0, 0, 0, 5, 0, STATE_START }, |
269 | | { 0, 0, -2, 0, 0, 0, 0, 3, 2, STATE_FOLLOW }, |
270 | | { 0, 0, -2, 0, 0, 0, 0, 3, 3, STATE_FOLLOW }, |
271 | | { 0, 0, -2, 0, 0, 0, 0, 4, 1, STATE_DATA }, |
272 | | { 0, 0, -2, 0, 0, 0, 0, 5, 0, STATE_START }, |
273 | | { 0, 0, 0, 0, 0, 0, 0, 3, 4, STATE_DATA }, |
274 | | { 0, 0, 0, 0, 0, 0, 0, 3, 4, STATE_SIGN }, |
275 | | { 0, 0, 0, 0, 0, 0, 0, 3, 5, STATE_DATA }, |
276 | | { 0, 0, 0, 0, 0, 0, 0, 3, 5, STATE_SIGN }, |
277 | | { 0, 0, 0, +1, 0, 0, 0, 4, 1, STATE_DATA }, |
278 | | { 0, 0, 0, +1, 0, 0, 0, 5, 0, STATE_START }, |
279 | | { 0, 0, 0, -1, 0, 0, 0, 4, 1, STATE_DATA }, |
280 | | { 0, 0, 0, -1, 0, 0, 0, 5, 0, STATE_START }, |
281 | | { 0, 0, 0, 0, 0, 0, 0, 3, 6, STATE_DATA }, |
282 | | { 0, 0, 0, 0, 0, 0, 0, 3, 6, STATE_SIGN }, |
283 | | { 0, 0, 0, 0, 0, 0, 0, 3, 7, STATE_DATA }, |
284 | | { 0, 0, 0, 0, 0, 0, 0, 3, 7, STATE_SIGN }, |
285 | | { 0, 0, 0, +2, 0, 0, 0, 4, 1, STATE_DATA }, |
286 | | { 0, 0, 0, +2, 0, 0, 0, 5, 0, STATE_START }, |
287 | | { 0, 0, 0, -2, 0, 0, 0, 4, 1, STATE_DATA }, |
288 | | { 0, 0, 0, -2, 0, 0, 0, 5, 0, STATE_START }, |
289 | | { 0, 0, 0, 0, 0, 0, 0, 4, 4, STATE_FOLLOW }, |
290 | | { 0, 0, 0, 0, 0, 0, 0, 4, 5, STATE_FOLLOW }, |
291 | | { 0, 0, 0, 0, +1, 0, 0, 5, 0, STATE_START }, |
292 | | { 0, 0, 0, 0, -1, 0, 0, 5, 0, STATE_START }, |
293 | | { 0, 0, 0, 0, 0, 0, 0, 4, 6, STATE_FOLLOW }, |
294 | | { 0, 0, 0, 0, 0, 0, 0, 4, 7, STATE_FOLLOW }, |
295 | | { 0, 0, 0, 0, +2, 0, 0, 5, 0, STATE_START }, |
296 | | { 0, 0, 0, 0, -2, 0, 0, 5, 0, STATE_START }, |
297 | | { 0, 0, 0, 0, 0, 0, 0, 5, 2, STATE_DATA }, |
298 | | { 0, 0, 0, 0, 0, 0, 0, 5, 2, STATE_SIGN }, |
299 | | { 0, 0, 0, 0, 0, 0, 0, 5, 3, STATE_DATA }, |
300 | | { 0, 0, 0, 0, 0, 0, 0, 5, 3, STATE_SIGN }, |
301 | | { 0, 0, 0, 0, 0, 0, 0, 6, 2, STATE_FOLLOW }, |
302 | | { 0, 0, 0, 0, 0, 0, 0, 6, 3, STATE_FOLLOW }, |
303 | | { 0, 0, 0, 0, 0, 0, 0, 7, 1, STATE_DATA }, |
304 | | { 0, 0, 0, 0, 0, 0, 0, 8, 0, STATE_START }, |
305 | | { 0, 0, 0, 0, 0, 4, +1, 0, 0, STATE_FOLLOW }, |
306 | | { +1, 0, 0, 0, 0, 4, +1, 0, 0, STATE_FOLLOW }, |
307 | | { 0, 0, 0, 0, 0, 3, +1, 1, 0, STATE_START }, |
308 | | { 0, 0, 0, 0, 0, 3, -1, 1, 0, STATE_START }, |
309 | | { +2, 0, 0, 0, 0, 4, +1, 0, 0, STATE_FOLLOW }, |
310 | | { +3, 0, 0, 0, 0, 4, +1, 0, 0, STATE_FOLLOW }, |
311 | | { +1, 0, 0, 0, 0, 3, +1, 1, 0, STATE_START }, |
312 | | { +1, 0, 0, 0, 0, 3, -1, 1, 0, STATE_START }, |
313 | | { 0, 0, 0, 0, 0, 2, +1, 1, 2, STATE_FOLLOW }, |
314 | | { 0, 0, 0, 0, 0, 2, +1, 1, 3, STATE_FOLLOW }, |
315 | | { 0, 0, 0, 0, 0, 2, +1, 2, 1, STATE_DATA }, |
316 | | { 0, 0, 0, 0, 0, 2, +1, 3, 0, STATE_START }, |
317 | | { 0, 0, 0, 0, 0, 2, -1, 1, 2, STATE_FOLLOW }, |
318 | | { 0, 0, 0, 0, 0, 2, -1, 1, 3, STATE_FOLLOW }, |
319 | | { 0, 0, 0, 0, 0, 2, -1, 2, 1, STATE_DATA }, |
320 | | { 0, 0, 0, 0, 0, 2, -1, 3, 0, STATE_START }, |
321 | | { +4, 0, 0, 0, 0, 4, +1, 0, 0, STATE_FOLLOW }, |
322 | | { +5, 0, 0, 0, 0, 4, +1, 0, 0, STATE_FOLLOW }, |
323 | | { +2, 0, 0, 0, 0, 3, +1, 1, 0, STATE_START }, |
324 | | { +2, 0, 0, 0, 0, 3, -1, 1, 0, STATE_START }, |
325 | | { +6, 0, 0, 0, 0, 4, +1, 0, 0, STATE_FOLLOW }, |
326 | | { +7, 0, 0, 0, 0, 4, +1, 0, 0, STATE_FOLLOW }, |
327 | | { +3, 0, 0, 0, 0, 3, +1, 1, 0, STATE_START }, |
328 | | { +3, 0, 0, 0, 0, 3, -1, 1, 0, STATE_START }, |
329 | | { +1, 0, 0, 0, 0, 2, +1, 1, 2, STATE_FOLLOW }, |
330 | | { +1, 0, 0, 0, 0, 2, +1, 1, 3, STATE_FOLLOW }, |
331 | | { +1, 0, 0, 0, 0, 2, +1, 2, 1, STATE_DATA }, |
332 | | { +1, 0, 0, 0, 0, 2, +1, 3, 0, STATE_START }, |
333 | | { +1, 0, 0, 0, 0, 2, -1, 1, 2, STATE_FOLLOW }, |
334 | | { +1, 0, 0, 0, 0, 2, -1, 1, 3, STATE_FOLLOW }, |
335 | | { +1, 0, 0, 0, 0, 2, -1, 2, 1, STATE_DATA }, |
336 | | { +1, 0, 0, 0, 0, 2, -1, 3, 0, STATE_START }, |
337 | | { 0, 0, 0, 0, 0, 1, +1, 1, 4, STATE_FOLLOW }, |
338 | | { 0, 0, 0, 0, 0, 1, +1, 1, 5, STATE_FOLLOW }, |
339 | | { 0, +1, 0, 0, 0, 1, +1, 2, 0, STATE_START }, |
340 | | { 0, -1, 0, 0, 0, 1, +1, 2, 0, STATE_START }, |
341 | | { 0, 0, 0, 0, 0, 1, +1, 1, 6, STATE_FOLLOW }, |
342 | | { 0, 0, 0, 0, 0, 1, +1, 1, 7, STATE_FOLLOW }, |
343 | | { 0, +2, 0, 0, 0, 1, +1, 2, 0, STATE_START }, |
344 | | { 0, -2, 0, 0, 0, 1, +1, 2, 0, STATE_START }, |
345 | | { 0, 0, 0, 0, 0, 1, +1, 2, 2, STATE_DATA }, |
346 | | { 0, 0, 0, 0, 0, 1, +1, 2, 2, STATE_SIGN }, |
347 | | { 0, 0, 0, 0, 0, 1, +1, 2, 3, STATE_DATA }, |
348 | | { 0, 0, 0, 0, 0, 1, +1, 2, 3, STATE_SIGN }, |
349 | | { 0, 0, 0, 0, 0, 1, +1, 3, 2, STATE_FOLLOW }, |
350 | | { 0, 0, 0, 0, 0, 1, +1, 3, 3, STATE_FOLLOW }, |
351 | | { 0, 0, 0, 0, 0, 1, +1, 4, 1, STATE_DATA }, |
352 | | { 0, 0, 0, 0, 0, 1, +1, 5, 0, STATE_START }, |
353 | | { 0, 0, 0, 0, 0, 1, -1, 1, 4, STATE_FOLLOW }, |
354 | | { 0, 0, 0, 0, 0, 1, -1, 1, 5, STATE_FOLLOW }, |
355 | | { 0, +1, 0, 0, 0, 1, -1, 2, 0, STATE_START }, |
356 | | { 0, -1, 0, 0, 0, 1, -1, 2, 0, STATE_START }, |
357 | | { 0, 0, 0, 0, 0, 1, -1, 1, 6, STATE_FOLLOW }, |
358 | | { 0, 0, 0, 0, 0, 1, -1, 1, 7, STATE_FOLLOW }, |
359 | | { 0, +2, 0, 0, 0, 1, -1, 2, 0, STATE_START }, |
360 | | { 0, -2, 0, 0, 0, 1, -1, 2, 0, STATE_START }, |
361 | | { 0, 0, 0, 0, 0, 1, -1, 2, 2, STATE_DATA }, |
362 | | { 0, 0, 0, 0, 0, 1, -1, 2, 2, STATE_SIGN }, |
363 | | { 0, 0, 0, 0, 0, 1, -1, 2, 3, STATE_DATA }, |
364 | | { 0, 0, 0, 0, 0, 1, -1, 2, 3, STATE_SIGN }, |
365 | | { 0, 0, 0, 0, 0, 1, -1, 3, 2, STATE_FOLLOW }, |
366 | | { 0, 0, 0, 0, 0, 1, -1, 3, 3, STATE_FOLLOW }, |
367 | | { 0, 0, 0, 0, 0, 1, -1, 4, 1, STATE_DATA }, |
368 | | { 0, 0, 0, 0, 0, 1, -1, 5, 0, STATE_START }, |
369 | | { +8, 0, 0, 0, 0, 4, +1, 0, 0, STATE_FOLLOW }, |
370 | | { +9, 0, 0, 0, 0, 4, +1, 0, 0, STATE_FOLLOW }, |
371 | | { +4, 0, 0, 0, 0, 3, +1, 1, 0, STATE_START }, |
372 | | { +4, 0, 0, 0, 0, 3, -1, 1, 0, STATE_START }, |
373 | | { +10, 0, 0, 0, 0, 4, +1, 0, 0, STATE_FOLLOW }, |
374 | | { +11, 0, 0, 0, 0, 4, +1, 0, 0, STATE_FOLLOW }, |
375 | | { +5, 0, 0, 0, 0, 3, +1, 1, 0, STATE_START }, |
376 | | { +5, 0, 0, 0, 0, 3, -1, 1, 0, STATE_START }, |
377 | | { +2, 0, 0, 0, 0, 2, +1, 1, 2, STATE_FOLLOW }, |
378 | | { +2, 0, 0, 0, 0, 2, +1, 1, 3, STATE_FOLLOW }, |
379 | | { +2, 0, 0, 0, 0, 2, +1, 2, 1, STATE_DATA }, |
380 | | { +2, 0, 0, 0, 0, 2, +1, 3, 0, STATE_START }, |
381 | | { +2, 0, 0, 0, 0, 2, -1, 1, 2, STATE_FOLLOW }, |
382 | | { +2, 0, 0, 0, 0, 2, -1, 1, 3, STATE_FOLLOW }, |
383 | | { +2, 0, 0, 0, 0, 2, -1, 2, 1, STATE_DATA }, |
384 | | { +2, 0, 0, 0, 0, 2, -1, 3, 0, STATE_START }, |
385 | | { +12, 0, 0, 0, 0, 4, +1, 0, 0, STATE_FOLLOW }, |
386 | | { +13, 0, 0, 0, 0, 4, +1, 0, 0, STATE_FOLLOW }, |
387 | | { +6, 0, 0, 0, 0, 3, +1, 1, 0, STATE_START }, |
388 | | { +6, 0, 0, 0, 0, 3, -1, 1, 0, STATE_START }, |
389 | | { +14, 0, 0, 0, 0, 4, +1, 0, 0, STATE_FOLLOW }, |
390 | | { +15, 0, 0, 0, 0, 4, +1, 0, 0, STATE_FOLLOW }, |
391 | | { +7, 0, 0, 0, 0, 3, +1, 1, 0, STATE_START }, |
392 | | { +7, 0, 0, 0, 0, 3, -1, 1, 0, STATE_START }, |
393 | | { +3, 0, 0, 0, 0, 2, +1, 1, 2, STATE_FOLLOW }, |
394 | | { +3, 0, 0, 0, 0, 2, +1, 1, 3, STATE_FOLLOW }, |
395 | | { +3, 0, 0, 0, 0, 2, +1, 2, 1, STATE_DATA }, |
396 | | { +3, 0, 0, 0, 0, 2, +1, 3, 0, STATE_START }, |
397 | | { +3, 0, 0, 0, 0, 2, -1, 1, 2, STATE_FOLLOW }, |
398 | | { +3, 0, 0, 0, 0, 2, -1, 1, 3, STATE_FOLLOW }, |
399 | | { +3, 0, 0, 0, 0, 2, -1, 2, 1, STATE_DATA }, |
400 | | { +3, 0, 0, 0, 0, 2, -1, 3, 0, STATE_START }, |
401 | | { +1, 0, 0, 0, 0, 1, +1, 1, 4, STATE_FOLLOW }, |
402 | | { +1, 0, 0, 0, 0, 1, +1, 1, 5, STATE_FOLLOW }, |
403 | | { +1, +1, 0, 0, 0, 1, +1, 2, 0, STATE_START }, |
404 | | { +1, -1, 0, 0, 0, 1, +1, 2, 0, STATE_START }, |
405 | | { +1, 0, 0, 0, 0, 1, +1, 1, 6, STATE_FOLLOW }, |
406 | | { +1, 0, 0, 0, 0, 1, +1, 1, 7, STATE_FOLLOW }, |
407 | | { +1, +2, 0, 0, 0, 1, +1, 2, 0, STATE_START }, |
408 | | { +1, -2, 0, 0, 0, 1, +1, 2, 0, STATE_START }, |
409 | | { +1, 0, 0, 0, 0, 1, +1, 2, 2, STATE_DATA }, |
410 | | { +1, 0, 0, 0, 0, 1, +1, 2, 2, STATE_SIGN }, |
411 | | { +1, 0, 0, 0, 0, 1, +1, 2, 3, STATE_DATA }, |
412 | | { +1, 0, 0, 0, 0, 1, +1, 2, 3, STATE_SIGN }, |
413 | | { +1, 0, 0, 0, 0, 1, +1, 3, 2, STATE_FOLLOW }, |
414 | | { +1, 0, 0, 0, 0, 1, +1, 3, 3, STATE_FOLLOW }, |
415 | | { +1, 0, 0, 0, 0, 1, +1, 4, 1, STATE_DATA }, |
416 | | { +1, 0, 0, 0, 0, 1, +1, 5, 0, STATE_START }, |
417 | | { +1, 0, 0, 0, 0, 1, -1, 1, 4, STATE_FOLLOW }, |
418 | | { +1, 0, 0, 0, 0, 1, -1, 1, 5, STATE_FOLLOW }, |
419 | | { +1, +1, 0, 0, 0, 1, -1, 2, 0, STATE_START }, |
420 | | { +1, -1, 0, 0, 0, 1, -1, 2, 0, STATE_START }, |
421 | | { +1, 0, 0, 0, 0, 1, -1, 1, 6, STATE_FOLLOW }, |
422 | | { +1, 0, 0, 0, 0, 1, -1, 1, 7, STATE_FOLLOW }, |
423 | | { +1, +2, 0, 0, 0, 1, -1, 2, 0, STATE_START }, |
424 | | { +1, -2, 0, 0, 0, 1, -1, 2, 0, STATE_START }, |
425 | | { +1, 0, 0, 0, 0, 1, -1, 2, 2, STATE_DATA }, |
426 | | { +1, 0, 0, 0, 0, 1, -1, 2, 2, STATE_SIGN }, |
427 | | { +1, 0, 0, 0, 0, 1, -1, 2, 3, STATE_DATA }, |
428 | | { +1, 0, 0, 0, 0, 1, -1, 2, 3, STATE_SIGN }, |
429 | | { +1, 0, 0, 0, 0, 1, -1, 3, 2, STATE_FOLLOW }, |
430 | | { +1, 0, 0, 0, 0, 1, -1, 3, 3, STATE_FOLLOW }, |
431 | | { +1, 0, 0, 0, 0, 1, -1, 4, 1, STATE_DATA }, |
432 | | { +1, 0, 0, 0, 0, 1, -1, 5, 0, STATE_START }, |
433 | | { 0, 0, 0, 0, 0, 0, +1, 1, 8, STATE_FOLLOW }, |
434 | | { 0, 0, 0, 0, 0, 0, +1, 1, 9, STATE_FOLLOW }, |
435 | | { 0, +3, 0, 0, 0, 0, +1, 2, 0, STATE_START }, |
436 | | { 0, -3, 0, 0, 0, 0, +1, 2, 0, STATE_START }, |
437 | | { 0, 0, 0, 0, 0, 0, +1, 1, 10, STATE_FOLLOW }, |
438 | | { 0, 0, 0, 0, 0, 0, +1, 1, 11, STATE_FOLLOW }, |
439 | | { 0, +4, 0, 0, 0, 0, +1, 2, 0, STATE_START }, |
440 | | { 0, -4, 0, 0, 0, 0, +1, 2, 0, STATE_START }, |
441 | | { 0, +1, 0, 0, 0, 0, +1, 2, 2, STATE_FOLLOW }, |
442 | | { 0, +1, 0, 0, 0, 0, +1, 2, 3, STATE_FOLLOW }, |
443 | | { 0, +1, 0, 0, 0, 0, +1, 3, 1, STATE_DATA }, |
444 | | { 0, +1, 0, 0, 0, 0, +1, 4, 0, STATE_START }, |
445 | | { 0, -1, 0, 0, 0, 0, +1, 2, 2, STATE_FOLLOW }, |
446 | | { 0, -1, 0, 0, 0, 0, +1, 2, 3, STATE_FOLLOW }, |
447 | | { 0, -1, 0, 0, 0, 0, +1, 3, 1, STATE_DATA }, |
448 | | { 0, -1, 0, 0, 0, 0, +1, 4, 0, STATE_START }, |
449 | | { 0, 0, 0, 0, 0, 0, +1, 1, 12, STATE_FOLLOW }, |
450 | | { 0, 0, 0, 0, 0, 0, +1, 1, 13, STATE_FOLLOW }, |
451 | | { 0, +5, 0, 0, 0, 0, +1, 2, 0, STATE_START }, |
452 | | { 0, -5, 0, 0, 0, 0, +1, 2, 0, STATE_START }, |
453 | | { 0, 0, 0, 0, 0, 0, +1, 1, 14, STATE_FOLLOW }, |
454 | | { 0, 0, 0, 0, 0, 0, +1, 1, 15, STATE_FOLLOW }, |
455 | | { 0, +6, 0, 0, 0, 0, +1, 2, 0, STATE_START }, |
456 | | { 0, -6, 0, 0, 0, 0, +1, 2, 0, STATE_START }, |
457 | | { 0, +2, 0, 0, 0, 0, +1, 2, 2, STATE_FOLLOW }, |
458 | | { 0, +2, 0, 0, 0, 0, +1, 2, 3, STATE_FOLLOW }, |
459 | | { 0, +2, 0, 0, 0, 0, +1, 3, 1, STATE_DATA }, |
460 | | { 0, +2, 0, 0, 0, 0, +1, 4, 0, STATE_START }, |
461 | | { 0, -2, 0, 0, 0, 0, +1, 2, 2, STATE_FOLLOW }, |
462 | | { 0, -2, 0, 0, 0, 0, +1, 2, 3, STATE_FOLLOW }, |
463 | | { 0, -2, 0, 0, 0, 0, +1, 3, 1, STATE_DATA }, |
464 | | { 0, -2, 0, 0, 0, 0, +1, 4, 0, STATE_START }, |
465 | | { 0, 0, 0, 0, 0, 0, +1, 2, 4, STATE_DATA }, |
466 | | { 0, 0, 0, 0, 0, 0, +1, 2, 4, STATE_SIGN }, |
467 | | { 0, 0, 0, 0, 0, 0, +1, 2, 5, STATE_DATA }, |
468 | | { 0, 0, 0, 0, 0, 0, +1, 2, 5, STATE_SIGN }, |
469 | | { 0, 0, +1, 0, 0, 0, +1, 3, 1, STATE_DATA }, |
470 | | { 0, 0, +1, 0, 0, 0, +1, 4, 0, STATE_START }, |
471 | | { 0, 0, -1, 0, 0, 0, +1, 3, 1, STATE_DATA }, |
472 | | { 0, 0, -1, 0, 0, 0, +1, 4, 0, STATE_START }, |
473 | | { 0, 0, 0, 0, 0, 0, +1, 2, 6, STATE_DATA }, |
474 | | { 0, 0, 0, 0, 0, 0, +1, 2, 6, STATE_SIGN }, |
475 | | { 0, 0, 0, 0, 0, 0, +1, 2, 7, STATE_DATA }, |
476 | | { 0, 0, 0, 0, 0, 0, +1, 2, 7, STATE_SIGN }, |
477 | | { 0, 0, +2, 0, 0, 0, +1, 3, 1, STATE_DATA }, |
478 | | { 0, 0, +2, 0, 0, 0, +1, 4, 0, STATE_START }, |
479 | | { 0, 0, -2, 0, 0, 0, +1, 3, 1, STATE_DATA }, |
480 | | { 0, 0, -2, 0, 0, 0, +1, 4, 0, STATE_START }, |
481 | | { 0, 0, 0, 0, 0, 0, +1, 3, 4, STATE_FOLLOW }, |
482 | | { 0, 0, 0, 0, 0, 0, +1, 3, 5, STATE_FOLLOW }, |
483 | | { 0, 0, 0, +1, 0, 0, +1, 4, 0, STATE_START }, |
484 | | { 0, 0, 0, -1, 0, 0, +1, 4, 0, STATE_START }, |
485 | | { 0, 0, 0, 0, 0, 0, +1, 3, 6, STATE_FOLLOW }, |
486 | | { 0, 0, 0, 0, 0, 0, +1, 3, 7, STATE_FOLLOW }, |
487 | | { 0, 0, 0, +2, 0, 0, +1, 4, 0, STATE_START }, |
488 | | { 0, 0, 0, -2, 0, 0, +1, 4, 0, STATE_START }, |
489 | | { 0, 0, 0, 0, 0, 0, +1, 4, 2, STATE_DATA }, |
490 | | { 0, 0, 0, 0, 0, 0, +1, 4, 2, STATE_SIGN }, |
491 | | { 0, 0, 0, 0, 0, 0, +1, 4, 3, STATE_DATA }, |
492 | | { 0, 0, 0, 0, 0, 0, +1, 4, 3, STATE_SIGN }, |
493 | | { 0, 0, 0, 0, 0, 0, +1, 5, 2, STATE_FOLLOW }, |
494 | | { 0, 0, 0, 0, 0, 0, +1, 5, 3, STATE_FOLLOW }, |
495 | | { 0, 0, 0, 0, 0, 0, +1, 6, 1, STATE_DATA }, |
496 | | { 0, 0, 0, 0, 0, 0, +1, 7, 0, STATE_START }, |
497 | | { 0, 0, 0, 0, 0, 0, -1, 1, 8, STATE_FOLLOW }, |
498 | | { 0, 0, 0, 0, 0, 0, -1, 1, 9, STATE_FOLLOW }, |
499 | | { 0, +3, 0, 0, 0, 0, -1, 2, 0, STATE_START }, |
500 | | { 0, -3, 0, 0, 0, 0, -1, 2, 0, STATE_START }, |
501 | | { 0, 0, 0, 0, 0, 0, -1, 1, 10, STATE_FOLLOW }, |
502 | | { 0, 0, 0, 0, 0, 0, -1, 1, 11, STATE_FOLLOW }, |
503 | | { 0, +4, 0, 0, 0, 0, -1, 2, 0, STATE_START }, |
504 | | { 0, -4, 0, 0, 0, 0, -1, 2, 0, STATE_START }, |
505 | | { 0, +1, 0, 0, 0, 0, -1, 2, 2, STATE_FOLLOW }, |
506 | | { 0, +1, 0, 0, 0, 0, -1, 2, 3, STATE_FOLLOW }, |
507 | | { 0, +1, 0, 0, 0, 0, -1, 3, 1, STATE_DATA }, |
508 | | { 0, +1, 0, 0, 0, 0, -1, 4, 0, STATE_START }, |
509 | | { 0, -1, 0, 0, 0, 0, -1, 2, 2, STATE_FOLLOW }, |
510 | | { 0, -1, 0, 0, 0, 0, -1, 2, 3, STATE_FOLLOW }, |
511 | | { 0, -1, 0, 0, 0, 0, -1, 3, 1, STATE_DATA }, |
512 | | { 0, -1, 0, 0, 0, 0, -1, 4, 0, STATE_START }, |
513 | | { 0, 0, 0, 0, 0, 0, -1, 1, 12, STATE_FOLLOW }, |
514 | | { 0, 0, 0, 0, 0, 0, -1, 1, 13, STATE_FOLLOW }, |
515 | | { 0, +5, 0, 0, 0, 0, -1, 2, 0, STATE_START }, |
516 | | { 0, -5, 0, 0, 0, 0, -1, 2, 0, STATE_START }, |
517 | | { 0, 0, 0, 0, 0, 0, -1, 1, 14, STATE_FOLLOW }, |
518 | | { 0, 0, 0, 0, 0, 0, -1, 1, 15, STATE_FOLLOW }, |
519 | | { 0, +6, 0, 0, 0, 0, -1, 2, 0, STATE_START }, |
520 | | { 0, -6, 0, 0, 0, 0, -1, 2, 0, STATE_START }, |
521 | | { 0, +2, 0, 0, 0, 0, -1, 2, 2, STATE_FOLLOW }, |
522 | | { 0, +2, 0, 0, 0, 0, -1, 2, 3, STATE_FOLLOW }, |
523 | | { 0, +2, 0, 0, 0, 0, -1, 3, 1, STATE_DATA }, |
524 | | { 0, +2, 0, 0, 0, 0, -1, 4, 0, STATE_START }, |
525 | | { 0, -2, 0, 0, 0, 0, -1, 2, 2, STATE_FOLLOW }, |
526 | | { 0, -2, 0, 0, 0, 0, -1, 2, 3, STATE_FOLLOW }, |
527 | | { 0, -2, 0, 0, 0, 0, -1, 3, 1, STATE_DATA }, |
528 | | { 0, -2, 0, 0, 0, 0, -1, 4, 0, STATE_START }, |
529 | | { 0, 0, 0, 0, 0, 0, -1, 2, 4, STATE_DATA }, |
530 | | { 0, 0, 0, 0, 0, 0, -1, 2, 4, STATE_SIGN }, |
531 | | { 0, 0, 0, 0, 0, 0, -1, 2, 5, STATE_DATA }, |
532 | | { 0, 0, 0, 0, 0, 0, -1, 2, 5, STATE_SIGN }, |
533 | | { 0, 0, +1, 0, 0, 0, -1, 3, 1, STATE_DATA }, |
534 | | { 0, 0, +1, 0, 0, 0, -1, 4, 0, STATE_START }, |
535 | | { 0, 0, -1, 0, 0, 0, -1, 3, 1, STATE_DATA }, |
536 | | { 0, 0, -1, 0, 0, 0, -1, 4, 0, STATE_START }, |
537 | | { 0, 0, 0, 0, 0, 0, -1, 2, 6, STATE_DATA }, |
538 | | { 0, 0, 0, 0, 0, 0, -1, 2, 6, STATE_SIGN }, |
539 | | { 0, 0, 0, 0, 0, 0, -1, 2, 7, STATE_DATA }, |
540 | | { 0, 0, 0, 0, 0, 0, -1, 2, 7, STATE_SIGN }, |
541 | | { 0, 0, +2, 0, 0, 0, -1, 3, 1, STATE_DATA }, |
542 | | { 0, 0, +2, 0, 0, 0, -1, 4, 0, STATE_START }, |
543 | | { 0, 0, -2, 0, 0, 0, -1, 3, 1, STATE_DATA }, |
544 | | { 0, 0, -2, 0, 0, 0, -1, 4, 0, STATE_START }, |
545 | | { 0, 0, 0, 0, 0, 0, -1, 3, 4, STATE_FOLLOW }, |
546 | | { 0, 0, 0, 0, 0, 0, -1, 3, 5, STATE_FOLLOW }, |
547 | | { 0, 0, 0, +1, 0, 0, -1, 4, 0, STATE_START }, |
548 | | { 0, 0, 0, -1, 0, 0, -1, 4, 0, STATE_START }, |
549 | | { 0, 0, 0, 0, 0, 0, -1, 3, 6, STATE_FOLLOW }, |
550 | | { 0, 0, 0, 0, 0, 0, -1, 3, 7, STATE_FOLLOW }, |
551 | | { 0, 0, 0, +2, 0, 0, -1, 4, 0, STATE_START }, |
552 | | { 0, 0, 0, -2, 0, 0, -1, 4, 0, STATE_START }, |
553 | | { 0, 0, 0, 0, 0, 0, -1, 4, 2, STATE_DATA }, |
554 | | { 0, 0, 0, 0, 0, 0, -1, 4, 2, STATE_SIGN }, |
555 | | { 0, 0, 0, 0, 0, 0, -1, 4, 3, STATE_DATA }, |
556 | | { 0, 0, 0, 0, 0, 0, -1, 4, 3, STATE_SIGN }, |
557 | | { 0, 0, 0, 0, 0, 0, -1, 5, 2, STATE_FOLLOW }, |
558 | | { 0, 0, 0, 0, 0, 0, -1, 5, 3, STATE_FOLLOW }, |
559 | | { 0, 0, 0, 0, 0, 0, -1, 6, 1, STATE_DATA }, |
560 | | { 0, 0, 0, 0, 0, 0, -1, 7, 0, STATE_START }, |
561 | | { 0, 0, 0, 0, 0, 4, +1, 0, 0, STATE_DATA }, |
562 | | { 0, 0, 0, 0, 0, 4, +1, 0, 0, STATE_SIGN }, |
563 | | { +1, 0, 0, 0, 0, 4, +1, 0, 0, STATE_DATA }, |
564 | | { +1, 0, 0, 0, 0, 4, +1, 0, 0, STATE_SIGN }, |
565 | | { 0, 0, 0, 0, 0, 3, +1, 1, 1, STATE_DATA }, |
566 | | { 0, 0, 0, 0, 0, 3, +1, 2, 0, STATE_START }, |
567 | | { 0, 0, 0, 0, 0, 3, -1, 1, 1, STATE_DATA }, |
568 | | { 0, 0, 0, 0, 0, 3, -1, 2, 0, STATE_START }, |
569 | | { +2, 0, 0, 0, 0, 4, +1, 0, 0, STATE_DATA }, |
570 | | { +2, 0, 0, 0, 0, 4, +1, 0, 0, STATE_SIGN }, |
571 | | { +3, 0, 0, 0, 0, 4, +1, 0, 0, STATE_DATA }, |
572 | | { +3, 0, 0, 0, 0, 4, +1, 0, 0, STATE_SIGN }, |
573 | | { +1, 0, 0, 0, 0, 3, +1, 1, 1, STATE_DATA }, |
574 | | { +1, 0, 0, 0, 0, 3, +1, 2, 0, STATE_START }, |
575 | | { +1, 0, 0, 0, 0, 3, -1, 1, 1, STATE_DATA }, |
576 | | { +1, 0, 0, 0, 0, 3, -1, 2, 0, STATE_START }, |
577 | | { 0, 0, 0, 0, 0, 2, +1, 1, 2, STATE_DATA }, |
578 | | { 0, 0, 0, 0, 0, 2, +1, 1, 2, STATE_SIGN }, |
579 | | { 0, 0, 0, 0, 0, 2, +1, 1, 3, STATE_DATA }, |
580 | | { 0, 0, 0, 0, 0, 2, +1, 1, 3, STATE_SIGN }, |
581 | | { 0, 0, 0, 0, 0, 2, +1, 2, 2, STATE_FOLLOW }, |
582 | | { 0, 0, 0, 0, 0, 2, +1, 2, 3, STATE_FOLLOW }, |
583 | | { 0, 0, 0, 0, 0, 2, +1, 3, 1, STATE_DATA }, |
584 | | { 0, 0, 0, 0, 0, 2, +1, 4, 0, STATE_START }, |
585 | | { 0, 0, 0, 0, 0, 2, -1, 1, 2, STATE_DATA }, |
586 | | { 0, 0, 0, 0, 0, 2, -1, 1, 2, STATE_SIGN }, |
587 | | { 0, 0, 0, 0, 0, 2, -1, 1, 3, STATE_DATA }, |
588 | | { 0, 0, 0, 0, 0, 2, -1, 1, 3, STATE_SIGN }, |
589 | | { 0, 0, 0, 0, 0, 2, -1, 2, 2, STATE_FOLLOW }, |
590 | | { 0, 0, 0, 0, 0, 2, -1, 2, 3, STATE_FOLLOW }, |
591 | | { 0, 0, 0, 0, 0, 2, -1, 3, 1, STATE_DATA }, |
592 | | { 0, 0, 0, 0, 0, 2, -1, 4, 0, STATE_START }, |
593 | | { +4, 0, 0, 0, 0, 4, +1, 0, 0, STATE_DATA }, |
594 | | { +4, 0, 0, 0, 0, 4, +1, 0, 0, STATE_SIGN }, |
595 | | { +5, 0, 0, 0, 0, 4, +1, 0, 0, STATE_DATA }, |
596 | | { +5, 0, 0, 0, 0, 4, +1, 0, 0, STATE_SIGN }, |
597 | | { +2, 0, 0, 0, 0, 3, +1, 1, 1, STATE_DATA }, |
598 | | { +2, 0, 0, 0, 0, 3, +1, 2, 0, STATE_START }, |
599 | | { +2, 0, 0, 0, 0, 3, -1, 1, 1, STATE_DATA }, |
600 | | { +2, 0, 0, 0, 0, 3, -1, 2, 0, STATE_START }, |
601 | | { +6, 0, 0, 0, 0, 4, +1, 0, 0, STATE_DATA }, |
602 | | { +6, 0, 0, 0, 0, 4, +1, 0, 0, STATE_SIGN }, |
603 | | { +7, 0, 0, 0, 0, 4, +1, 0, 0, STATE_DATA }, |
604 | | { +7, 0, 0, 0, 0, 4, +1, 0, 0, STATE_SIGN }, |
605 | | { +3, 0, 0, 0, 0, 3, +1, 1, 1, STATE_DATA }, |
606 | | { +3, 0, 0, 0, 0, 3, +1, 2, 0, STATE_START }, |
607 | | { +3, 0, 0, 0, 0, 3, -1, 1, 1, STATE_DATA }, |
608 | | { +3, 0, 0, 0, 0, 3, -1, 2, 0, STATE_START }, |
609 | | { +1, 0, 0, 0, 0, 2, +1, 1, 2, STATE_DATA }, |
610 | | { +1, 0, 0, 0, 0, 2, +1, 1, 2, STATE_SIGN }, |
611 | | { +1, 0, 0, 0, 0, 2, +1, 1, 3, STATE_DATA }, |
612 | | { +1, 0, 0, 0, 0, 2, +1, 1, 3, STATE_SIGN }, |
613 | | { +1, 0, 0, 0, 0, 2, +1, 2, 2, STATE_FOLLOW }, |
614 | | { +1, 0, 0, 0, 0, 2, +1, 2, 3, STATE_FOLLOW }, |
615 | | { +1, 0, 0, 0, 0, 2, +1, 3, 1, STATE_DATA }, |
616 | | { +1, 0, 0, 0, 0, 2, +1, 4, 0, STATE_START }, |
617 | | { +1, 0, 0, 0, 0, 2, -1, 1, 2, STATE_DATA }, |
618 | | { +1, 0, 0, 0, 0, 2, -1, 1, 2, STATE_SIGN }, |
619 | | { +1, 0, 0, 0, 0, 2, -1, 1, 3, STATE_DATA }, |
620 | | { +1, 0, 0, 0, 0, 2, -1, 1, 3, STATE_SIGN }, |
621 | | { +1, 0, 0, 0, 0, 2, -1, 2, 2, STATE_FOLLOW }, |
622 | | { +1, 0, 0, 0, 0, 2, -1, 2, 3, STATE_FOLLOW }, |
623 | | { +1, 0, 0, 0, 0, 2, -1, 3, 1, STATE_DATA }, |
624 | | { +1, 0, 0, 0, 0, 2, -1, 4, 0, STATE_START }, |
625 | | { 0, 0, 0, 0, 0, 1, +1, 1, 4, STATE_DATA }, |
626 | | { 0, 0, 0, 0, 0, 1, +1, 1, 4, STATE_SIGN }, |
627 | | { 0, 0, 0, 0, 0, 1, +1, 1, 5, STATE_DATA }, |
628 | | { 0, 0, 0, 0, 0, 1, +1, 1, 5, STATE_SIGN }, |
629 | | { 0, +1, 0, 0, 0, 1, +1, 2, 1, STATE_DATA }, |
630 | | { 0, +1, 0, 0, 0, 1, +1, 3, 0, STATE_START }, |
631 | | { 0, -1, 0, 0, 0, 1, +1, 2, 1, STATE_DATA }, |
632 | | { 0, -1, 0, 0, 0, 1, +1, 3, 0, STATE_START }, |
633 | | { 0, 0, 0, 0, 0, 1, +1, 1, 6, STATE_DATA }, |
634 | | { 0, 0, 0, 0, 0, 1, +1, 1, 6, STATE_SIGN }, |
635 | | { 0, 0, 0, 0, 0, 1, +1, 1, 7, STATE_DATA }, |
636 | | { 0, 0, 0, 0, 0, 1, +1, 1, 7, STATE_SIGN }, |
637 | | { 0, +2, 0, 0, 0, 1, +1, 2, 1, STATE_DATA }, |
638 | | { 0, +2, 0, 0, 0, 1, +1, 3, 0, STATE_START }, |
639 | | { 0, -2, 0, 0, 0, 1, +1, 2, 1, STATE_DATA }, |
640 | | { 0, -2, 0, 0, 0, 1, +1, 3, 0, STATE_START }, |
641 | | { 0, 0, 0, 0, 0, 1, +1, 2, 4, STATE_FOLLOW }, |
642 | | { 0, 0, 0, 0, 0, 1, +1, 2, 5, STATE_FOLLOW }, |
643 | | { 0, 0, +1, 0, 0, 1, +1, 3, 0, STATE_START }, |
644 | | { 0, 0, -1, 0, 0, 1, +1, 3, 0, STATE_START }, |
645 | | { 0, 0, 0, 0, 0, 1, +1, 2, 6, STATE_FOLLOW }, |
646 | | { 0, 0, 0, 0, 0, 1, +1, 2, 7, STATE_FOLLOW }, |
647 | | { 0, 0, +2, 0, 0, 1, +1, 3, 0, STATE_START }, |
648 | | { 0, 0, -2, 0, 0, 1, +1, 3, 0, STATE_START }, |
649 | | { 0, 0, 0, 0, 0, 1, +1, 3, 2, STATE_DATA }, |
650 | | { 0, 0, 0, 0, 0, 1, +1, 3, 2, STATE_SIGN }, |
651 | | { 0, 0, 0, 0, 0, 1, +1, 3, 3, STATE_DATA }, |
652 | | { 0, 0, 0, 0, 0, 1, +1, 3, 3, STATE_SIGN }, |
653 | | { 0, 0, 0, 0, 0, 1, +1, 4, 2, STATE_FOLLOW }, |
654 | | { 0, 0, 0, 0, 0, 1, +1, 4, 3, STATE_FOLLOW }, |
655 | | { 0, 0, 0, 0, 0, 1, +1, 5, 1, STATE_DATA }, |
656 | | { 0, 0, 0, 0, 0, 1, +1, 6, 0, STATE_START }, |
657 | | { 0, 0, 0, 0, 0, 1, -1, 1, 4, STATE_DATA }, |
658 | | { 0, 0, 0, 0, 0, 1, -1, 1, 4, STATE_SIGN }, |
659 | | { 0, 0, 0, 0, 0, 1, -1, 1, 5, STATE_DATA }, |
660 | | { 0, 0, 0, 0, 0, 1, -1, 1, 5, STATE_SIGN }, |
661 | | { 0, +1, 0, 0, 0, 1, -1, 2, 1, STATE_DATA }, |
662 | | { 0, +1, 0, 0, 0, 1, -1, 3, 0, STATE_START }, |
663 | | { 0, -1, 0, 0, 0, 1, -1, 2, 1, STATE_DATA }, |
664 | | { 0, -1, 0, 0, 0, 1, -1, 3, 0, STATE_START }, |
665 | | { 0, 0, 0, 0, 0, 1, -1, 1, 6, STATE_DATA }, |
666 | | { 0, 0, 0, 0, 0, 1, -1, 1, 6, STATE_SIGN }, |
667 | | { 0, 0, 0, 0, 0, 1, -1, 1, 7, STATE_DATA }, |
668 | | { 0, 0, 0, 0, 0, 1, -1, 1, 7, STATE_SIGN }, |
669 | | { 0, +2, 0, 0, 0, 1, -1, 2, 1, STATE_DATA }, |
670 | | { 0, +2, 0, 0, 0, 1, -1, 3, 0, STATE_START }, |
671 | | { 0, -2, 0, 0, 0, 1, -1, 2, 1, STATE_DATA }, |
672 | | { 0, -2, 0, 0, 0, 1, -1, 3, 0, STATE_START }, |
673 | | { 0, 0, 0, 0, 0, 1, -1, 2, 4, STATE_FOLLOW }, |
674 | | { 0, 0, 0, 0, 0, 1, -1, 2, 5, STATE_FOLLOW }, |
675 | | { 0, 0, +1, 0, 0, 1, -1, 3, 0, STATE_START }, |
676 | | { 0, 0, -1, 0, 0, 1, -1, 3, 0, STATE_START }, |
677 | | { 0, 0, 0, 0, 0, 1, -1, 2, 6, STATE_FOLLOW }, |
678 | | { 0, 0, 0, 0, 0, 1, -1, 2, 7, STATE_FOLLOW }, |
679 | | { 0, 0, +2, 0, 0, 1, -1, 3, 0, STATE_START }, |
680 | | { 0, 0, -2, 0, 0, 1, -1, 3, 0, STATE_START }, |
681 | | { 0, 0, 0, 0, 0, 1, -1, 3, 2, STATE_DATA }, |
682 | | { 0, 0, 0, 0, 0, 1, -1, 3, 2, STATE_SIGN }, |
683 | | { 0, 0, 0, 0, 0, 1, -1, 3, 3, STATE_DATA }, |
684 | | { 0, 0, 0, 0, 0, 1, -1, 3, 3, STATE_SIGN }, |
685 | | { 0, 0, 0, 0, 0, 1, -1, 4, 2, STATE_FOLLOW }, |
686 | | { 0, 0, 0, 0, 0, 1, -1, 4, 3, STATE_FOLLOW }, |
687 | | { 0, 0, 0, 0, 0, 1, -1, 5, 1, STATE_DATA }, |
688 | | { 0, 0, 0, 0, 0, 1, -1, 6, 0, STATE_START }, |
689 | | { +8, 0, 0, 0, 0, 4, +1, 0, 0, STATE_DATA }, |
690 | | { +8, 0, 0, 0, 0, 4, +1, 0, 0, STATE_SIGN }, |
691 | | { +9, 0, 0, 0, 0, 4, +1, 0, 0, STATE_DATA }, |
692 | | { +9, 0, 0, 0, 0, 4, +1, 0, 0, STATE_SIGN }, |
693 | | { +4, 0, 0, 0, 0, 3, +1, 1, 1, STATE_DATA }, |
694 | | { +4, 0, 0, 0, 0, 3, +1, 2, 0, STATE_START }, |
695 | | { +4, 0, 0, 0, 0, 3, -1, 1, 1, STATE_DATA }, |
696 | | { +4, 0, 0, 0, 0, 3, -1, 2, 0, STATE_START }, |
697 | | { +10, 0, 0, 0, 0, 4, +1, 0, 0, STATE_DATA }, |
698 | | { +10, 0, 0, 0, 0, 4, +1, 0, 0, STATE_SIGN }, |
699 | | { +11, 0, 0, 0, 0, 4, +1, 0, 0, STATE_DATA }, |
700 | | { +11, 0, 0, 0, 0, 4, +1, 0, 0, STATE_SIGN }, |
701 | | { +5, 0, 0, 0, 0, 3, +1, 1, 1, STATE_DATA }, |
702 | | { +5, 0, 0, 0, 0, 3, +1, 2, 0, STATE_START }, |
703 | | { +5, 0, 0, 0, 0, 3, -1, 1, 1, STATE_DATA }, |
704 | | { +5, 0, 0, 0, 0, 3, -1, 2, 0, STATE_START }, |
705 | | { +2, 0, 0, 0, 0, 2, +1, 1, 2, STATE_DATA }, |
706 | | { +2, 0, 0, 0, 0, 2, +1, 1, 2, STATE_SIGN }, |
707 | | { +2, 0, 0, 0, 0, 2, +1, 1, 3, STATE_DATA }, |
708 | | { +2, 0, 0, 0, 0, 2, +1, 1, 3, STATE_SIGN }, |
709 | | { +2, 0, 0, 0, 0, 2, +1, 2, 2, STATE_FOLLOW }, |
710 | | { +2, 0, 0, 0, 0, 2, +1, 2, 3, STATE_FOLLOW }, |
711 | | { +2, 0, 0, 0, 0, 2, +1, 3, 1, STATE_DATA }, |
712 | | { +2, 0, 0, 0, 0, 2, +1, 4, 0, STATE_START }, |
713 | | { +2, 0, 0, 0, 0, 2, -1, 1, 2, STATE_DATA }, |
714 | | { +2, 0, 0, 0, 0, 2, -1, 1, 2, STATE_SIGN }, |
715 | | { +2, 0, 0, 0, 0, 2, -1, 1, 3, STATE_DATA }, |
716 | | { +2, 0, 0, 0, 0, 2, -1, 1, 3, STATE_SIGN }, |
717 | | { +2, 0, 0, 0, 0, 2, -1, 2, 2, STATE_FOLLOW }, |
718 | | { +2, 0, 0, 0, 0, 2, -1, 2, 3, STATE_FOLLOW }, |
719 | | { +2, 0, 0, 0, 0, 2, -1, 3, 1, STATE_DATA }, |
720 | | { +2, 0, 0, 0, 0, 2, -1, 4, 0, STATE_START }, |
721 | | { +12, 0, 0, 0, 0, 4, +1, 0, 0, STATE_DATA }, |
722 | | { +12, 0, 0, 0, 0, 4, +1, 0, 0, STATE_SIGN }, |
723 | | { +13, 0, 0, 0, 0, 4, +1, 0, 0, STATE_DATA }, |
724 | | { +13, 0, 0, 0, 0, 4, +1, 0, 0, STATE_SIGN }, |
725 | | { +6, 0, 0, 0, 0, 3, +1, 1, 1, STATE_DATA }, |
726 | | { +6, 0, 0, 0, 0, 3, +1, 2, 0, STATE_START }, |
727 | | { +6, 0, 0, 0, 0, 3, -1, 1, 1, STATE_DATA }, |
728 | | { +6, 0, 0, 0, 0, 3, -1, 2, 0, STATE_START }, |
729 | | { +14, 0, 0, 0, 0, 4, +1, 0, 0, STATE_DATA }, |
730 | | { +14, 0, 0, 0, 0, 4, +1, 0, 0, STATE_SIGN }, |
731 | | { +15, 0, 0, 0, 0, 4, +1, 0, 0, STATE_DATA }, |
732 | | { +15, 0, 0, 0, 0, 4, +1, 0, 0, STATE_SIGN }, |
733 | | { +7, 0, 0, 0, 0, 3, +1, 1, 1, STATE_DATA }, |
734 | | { +7, 0, 0, 0, 0, 3, +1, 2, 0, STATE_START }, |
735 | | { +7, 0, 0, 0, 0, 3, -1, 1, 1, STATE_DATA }, |
736 | | { +7, 0, 0, 0, 0, 3, -1, 2, 0, STATE_START }, |
737 | | { +3, 0, 0, 0, 0, 2, +1, 1, 2, STATE_DATA }, |
738 | | { +3, 0, 0, 0, 0, 2, +1, 1, 2, STATE_SIGN }, |
739 | | { +3, 0, 0, 0, 0, 2, +1, 1, 3, STATE_DATA }, |
740 | | { +3, 0, 0, 0, 0, 2, +1, 1, 3, STATE_SIGN }, |
741 | | { +3, 0, 0, 0, 0, 2, +1, 2, 2, STATE_FOLLOW }, |
742 | | { +3, 0, 0, 0, 0, 2, +1, 2, 3, STATE_FOLLOW }, |
743 | | { +3, 0, 0, 0, 0, 2, +1, 3, 1, STATE_DATA }, |
744 | | { +3, 0, 0, 0, 0, 2, +1, 4, 0, STATE_START }, |
745 | | { +3, 0, 0, 0, 0, 2, -1, 1, 2, STATE_DATA }, |
746 | | { +3, 0, 0, 0, 0, 2, -1, 1, 2, STATE_SIGN }, |
747 | | { +3, 0, 0, 0, 0, 2, -1, 1, 3, STATE_DATA }, |
748 | | { +3, 0, 0, 0, 0, 2, -1, 1, 3, STATE_SIGN }, |
749 | | { +3, 0, 0, 0, 0, 2, -1, 2, 2, STATE_FOLLOW }, |
750 | | { +3, 0, 0, 0, 0, 2, -1, 2, 3, STATE_FOLLOW }, |
751 | | { +3, 0, 0, 0, 0, 2, -1, 3, 1, STATE_DATA }, |
752 | | { +3, 0, 0, 0, 0, 2, -1, 4, 0, STATE_START }, |
753 | | { +1, 0, 0, 0, 0, 1, +1, 1, 4, STATE_DATA }, |
754 | | { +1, 0, 0, 0, 0, 1, +1, 1, 4, STATE_SIGN }, |
755 | | { +1, 0, 0, 0, 0, 1, +1, 1, 5, STATE_DATA }, |
756 | | { +1, 0, 0, 0, 0, 1, +1, 1, 5, STATE_SIGN }, |
757 | | { +1, +1, 0, 0, 0, 1, +1, 2, 1, STATE_DATA }, |
758 | | { +1, +1, 0, 0, 0, 1, +1, 3, 0, STATE_START }, |
759 | | { +1, -1, 0, 0, 0, 1, +1, 2, 1, STATE_DATA }, |
760 | | { +1, -1, 0, 0, 0, 1, +1, 3, 0, STATE_START }, |
761 | | { +1, 0, 0, 0, 0, 1, +1, 1, 6, STATE_DATA }, |
762 | | { +1, 0, 0, 0, 0, 1, +1, 1, 6, STATE_SIGN }, |
763 | | { +1, 0, 0, 0, 0, 1, +1, 1, 7, STATE_DATA }, |
764 | | { +1, 0, 0, 0, 0, 1, +1, 1, 7, STATE_SIGN }, |
765 | | { +1, +2, 0, 0, 0, 1, +1, 2, 1, STATE_DATA }, |
766 | | { +1, +2, 0, 0, 0, 1, +1, 3, 0, STATE_START }, |
767 | | { +1, -2, 0, 0, 0, 1, +1, 2, 1, STATE_DATA }, |
768 | | { +1, -2, 0, 0, 0, 1, +1, 3, 0, STATE_START }, |
769 | | { +1, 0, 0, 0, 0, 1, +1, 2, 4, STATE_FOLLOW }, |
770 | | { +1, 0, 0, 0, 0, 1, +1, 2, 5, STATE_FOLLOW }, |
771 | | { +1, 0, +1, 0, 0, 1, +1, 3, 0, STATE_START }, |
772 | | { +1, 0, -1, 0, 0, 1, +1, 3, 0, STATE_START }, |
773 | | { +1, 0, 0, 0, 0, 1, +1, 2, 6, STATE_FOLLOW }, |
774 | | { +1, 0, 0, 0, 0, 1, +1, 2, 7, STATE_FOLLOW }, |
775 | | { +1, 0, +2, 0, 0, 1, +1, 3, 0, STATE_START }, |
776 | | { +1, 0, -2, 0, 0, 1, +1, 3, 0, STATE_START }, |
777 | | { +1, 0, 0, 0, 0, 1, +1, 3, 2, STATE_DATA }, |
778 | | { +1, 0, 0, 0, 0, 1, +1, 3, 2, STATE_SIGN }, |
779 | | { +1, 0, 0, 0, 0, 1, +1, 3, 3, STATE_DATA }, |
780 | | { +1, 0, 0, 0, 0, 1, +1, 3, 3, STATE_SIGN }, |
781 | | { +1, 0, 0, 0, 0, 1, +1, 4, 2, STATE_FOLLOW }, |
782 | | { +1, 0, 0, 0, 0, 1, +1, 4, 3, STATE_FOLLOW }, |
783 | | { +1, 0, 0, 0, 0, 1, +1, 5, 1, STATE_DATA }, |
784 | | { +1, 0, 0, 0, 0, 1, +1, 6, 0, STATE_START }, |
785 | | { +1, 0, 0, 0, 0, 1, -1, 1, 4, STATE_DATA }, |
786 | | { +1, 0, 0, 0, 0, 1, -1, 1, 4, STATE_SIGN }, |
787 | | { +1, 0, 0, 0, 0, 1, -1, 1, 5, STATE_DATA }, |
788 | | { +1, 0, 0, 0, 0, 1, -1, 1, 5, STATE_SIGN }, |
789 | | { +1, +1, 0, 0, 0, 1, -1, 2, 1, STATE_DATA }, |
790 | | { +1, +1, 0, 0, 0, 1, -1, 3, 0, STATE_START }, |
791 | | { +1, -1, 0, 0, 0, 1, -1, 2, 1, STATE_DATA }, |
792 | | { +1, -1, 0, 0, 0, 1, -1, 3, 0, STATE_START }, |
793 | | { +1, 0, 0, 0, 0, 1, -1, 1, 6, STATE_DATA }, |
794 | | { +1, 0, 0, 0, 0, 1, -1, 1, 6, STATE_SIGN }, |
795 | | { +1, 0, 0, 0, 0, 1, -1, 1, 7, STATE_DATA }, |
796 | | { +1, 0, 0, 0, 0, 1, -1, 1, 7, STATE_SIGN }, |
797 | | { +1, +2, 0, 0, 0, 1, -1, 2, 1, STATE_DATA }, |
798 | | { +1, +2, 0, 0, 0, 1, -1, 3, 0, STATE_START }, |
799 | | { +1, -2, 0, 0, 0, 1, -1, 2, 1, STATE_DATA }, |
800 | | { +1, -2, 0, 0, 0, 1, -1, 3, 0, STATE_START }, |
801 | | { +1, 0, 0, 0, 0, 1, -1, 2, 4, STATE_FOLLOW }, |
802 | | { +1, 0, 0, 0, 0, 1, -1, 2, 5, STATE_FOLLOW }, |
803 | | { +1, 0, +1, 0, 0, 1, -1, 3, 0, STATE_START }, |
804 | | { +1, 0, -1, 0, 0, 1, -1, 3, 0, STATE_START }, |
805 | | { +1, 0, 0, 0, 0, 1, -1, 2, 6, STATE_FOLLOW }, |
806 | | { +1, 0, 0, 0, 0, 1, -1, 2, 7, STATE_FOLLOW }, |
807 | | { +1, 0, +2, 0, 0, 1, -1, 3, 0, STATE_START }, |
808 | | { +1, 0, -2, 0, 0, 1, -1, 3, 0, STATE_START }, |
809 | | { +1, 0, 0, 0, 0, 1, -1, 3, 2, STATE_DATA }, |
810 | | { +1, 0, 0, 0, 0, 1, -1, 3, 2, STATE_SIGN }, |
811 | | { +1, 0, 0, 0, 0, 1, -1, 3, 3, STATE_DATA }, |
812 | | { +1, 0, 0, 0, 0, 1, -1, 3, 3, STATE_SIGN }, |
813 | | { +1, 0, 0, 0, 0, 1, -1, 4, 2, STATE_FOLLOW }, |
814 | | { +1, 0, 0, 0, 0, 1, -1, 4, 3, STATE_FOLLOW }, |
815 | | { +1, 0, 0, 0, 0, 1, -1, 5, 1, STATE_DATA }, |
816 | | { +1, 0, 0, 0, 0, 1, -1, 6, 0, STATE_START }, |
817 | | { 0, 0, 0, 0, 0, 0, +1, 1, 8, STATE_DATA }, |
818 | | { 0, 0, 0, 0, 0, 0, +1, 1, 8, STATE_SIGN }, |
819 | | { 0, 0, 0, 0, 0, 0, +1, 1, 9, STATE_DATA }, |
820 | | { 0, 0, 0, 0, 0, 0, +1, 1, 9, STATE_SIGN }, |
821 | | { 0, +3, 0, 0, 0, 0, +1, 2, 1, STATE_DATA }, |
822 | | { 0, +3, 0, 0, 0, 0, +1, 3, 0, STATE_START }, |
823 | | { 0, -3, 0, 0, 0, 0, +1, 2, 1, STATE_DATA }, |
824 | | { 0, -3, 0, 0, 0, 0, +1, 3, 0, STATE_START }, |
825 | | { 0, 0, 0, 0, 0, 0, +1, 1, 10, STATE_DATA }, |
826 | | { 0, 0, 0, 0, 0, 0, +1, 1, 10, STATE_SIGN }, |
827 | | { 0, 0, 0, 0, 0, 0, +1, 1, 11, STATE_DATA }, |
828 | | { 0, 0, 0, 0, 0, 0, +1, 1, 11, STATE_SIGN }, |
829 | | { 0, +4, 0, 0, 0, 0, +1, 2, 1, STATE_DATA }, |
830 | | { 0, +4, 0, 0, 0, 0, +1, 3, 0, STATE_START }, |
831 | | { 0, -4, 0, 0, 0, 0, +1, 2, 1, STATE_DATA }, |
832 | | { 0, -4, 0, 0, 0, 0, +1, 3, 0, STATE_START }, |
833 | | { 0, +1, 0, 0, 0, 0, +1, 2, 2, STATE_DATA }, |
834 | | { 0, +1, 0, 0, 0, 0, +1, 2, 2, STATE_SIGN }, |
835 | | { 0, +1, 0, 0, 0, 0, +1, 2, 3, STATE_DATA }, |
836 | | { 0, +1, 0, 0, 0, 0, +1, 2, 3, STATE_SIGN }, |
837 | | { 0, +1, 0, 0, 0, 0, +1, 3, 2, STATE_FOLLOW }, |
838 | | { 0, +1, 0, 0, 0, 0, +1, 3, 3, STATE_FOLLOW }, |
839 | | { 0, +1, 0, 0, 0, 0, +1, 4, 1, STATE_DATA }, |
840 | | { 0, +1, 0, 0, 0, 0, +1, 5, 0, STATE_START }, |
841 | | { 0, -1, 0, 0, 0, 0, +1, 2, 2, STATE_DATA }, |
842 | | { 0, -1, 0, 0, 0, 0, +1, 2, 2, STATE_SIGN }, |
843 | | { 0, -1, 0, 0, 0, 0, +1, 2, 3, STATE_DATA }, |
844 | | { 0, -1, 0, 0, 0, 0, +1, 2, 3, STATE_SIGN }, |
845 | | { 0, -1, 0, 0, 0, 0, +1, 3, 2, STATE_FOLLOW }, |
846 | | { 0, -1, 0, 0, 0, 0, +1, 3, 3, STATE_FOLLOW }, |
847 | | { 0, -1, 0, 0, 0, 0, +1, 4, 1, STATE_DATA }, |
848 | | { 0, -1, 0, 0, 0, 0, +1, 5, 0, STATE_START }, |
849 | | { 0, 0, 0, 0, 0, 0, +1, 1, 12, STATE_DATA }, |
850 | | { 0, 0, 0, 0, 0, 0, +1, 1, 12, STATE_SIGN }, |
851 | | { 0, 0, 0, 0, 0, 0, +1, 1, 13, STATE_DATA }, |
852 | | { 0, 0, 0, 0, 0, 0, +1, 1, 13, STATE_SIGN }, |
853 | | { 0, +5, 0, 0, 0, 0, +1, 2, 1, STATE_DATA }, |
854 | | { 0, +5, 0, 0, 0, 0, +1, 3, 0, STATE_START }, |
855 | | { 0, -5, 0, 0, 0, 0, +1, 2, 1, STATE_DATA }, |
856 | | { 0, -5, 0, 0, 0, 0, +1, 3, 0, STATE_START }, |
857 | | { 0, 0, 0, 0, 0, 0, +1, 1, 14, STATE_DATA }, |
858 | | { 0, 0, 0, 0, 0, 0, +1, 1, 14, STATE_SIGN }, |
859 | | { 0, 0, 0, 0, 0, 0, +1, 1, 15, STATE_DATA }, |
860 | | { 0, 0, 0, 0, 0, 0, +1, 1, 15, STATE_SIGN }, |
861 | | { 0, +6, 0, 0, 0, 0, +1, 2, 1, STATE_DATA }, |
862 | | { 0, +6, 0, 0, 0, 0, +1, 3, 0, STATE_START }, |
863 | | { 0, -6, 0, 0, 0, 0, +1, 2, 1, STATE_DATA }, |
864 | | { 0, -6, 0, 0, 0, 0, +1, 3, 0, STATE_START }, |
865 | | { 0, +2, 0, 0, 0, 0, +1, 2, 2, STATE_DATA }, |
866 | | { 0, +2, 0, 0, 0, 0, +1, 2, 2, STATE_SIGN }, |
867 | | { 0, +2, 0, 0, 0, 0, +1, 2, 3, STATE_DATA }, |
868 | | { 0, +2, 0, 0, 0, 0, +1, 2, 3, STATE_SIGN }, |
869 | | { 0, +2, 0, 0, 0, 0, +1, 3, 2, STATE_FOLLOW }, |
870 | | { 0, +2, 0, 0, 0, 0, +1, 3, 3, STATE_FOLLOW }, |
871 | | { 0, +2, 0, 0, 0, 0, +1, 4, 1, STATE_DATA }, |
872 | | { 0, +2, 0, 0, 0, 0, +1, 5, 0, STATE_START }, |
873 | | { 0, -2, 0, 0, 0, 0, +1, 2, 2, STATE_DATA }, |
874 | | { 0, -2, 0, 0, 0, 0, +1, 2, 2, STATE_SIGN }, |
875 | | { 0, -2, 0, 0, 0, 0, +1, 2, 3, STATE_DATA }, |
876 | | { 0, -2, 0, 0, 0, 0, +1, 2, 3, STATE_SIGN }, |
877 | | { 0, -2, 0, 0, 0, 0, +1, 3, 2, STATE_FOLLOW }, |
878 | | { 0, -2, 0, 0, 0, 0, +1, 3, 3, STATE_FOLLOW }, |
879 | | { 0, -2, 0, 0, 0, 0, +1, 4, 1, STATE_DATA }, |
880 | | { 0, -2, 0, 0, 0, 0, +1, 5, 0, STATE_START }, |
881 | | { 0, 0, 0, 0, 0, 0, +1, 2, 8, STATE_FOLLOW }, |
882 | | { 0, 0, 0, 0, 0, 0, +1, 2, 9, STATE_FOLLOW }, |
883 | | { 0, 0, +3, 0, 0, 0, +1, 3, 0, STATE_START }, |
884 | | { 0, 0, -3, 0, 0, 0, +1, 3, 0, STATE_START }, |
885 | | { 0, 0, 0, 0, 0, 0, +1, 2, 10, STATE_FOLLOW }, |
886 | | { 0, 0, 0, 0, 0, 0, +1, 2, 11, STATE_FOLLOW }, |
887 | | { 0, 0, +4, 0, 0, 0, +1, 3, 0, STATE_START }, |
888 | | { 0, 0, -4, 0, 0, 0, +1, 3, 0, STATE_START }, |
889 | | { 0, 0, +1, 0, 0, 0, +1, 3, 2, STATE_FOLLOW }, |
890 | | { 0, 0, +1, 0, 0, 0, +1, 3, 3, STATE_FOLLOW }, |
891 | | { 0, 0, +1, 0, 0, 0, +1, 4, 1, STATE_DATA }, |
892 | | { 0, 0, +1, 0, 0, 0, +1, 5, 0, STATE_START }, |
893 | | { 0, 0, -1, 0, 0, 0, +1, 3, 2, STATE_FOLLOW }, |
894 | | { 0, 0, -1, 0, 0, 0, +1, 3, 3, STATE_FOLLOW }, |
895 | | { 0, 0, -1, 0, 0, 0, +1, 4, 1, STATE_DATA }, |
896 | | { 0, 0, -1, 0, 0, 0, +1, 5, 0, STATE_START }, |
897 | | { 0, 0, 0, 0, 0, 0, +1, 2, 12, STATE_FOLLOW }, |
898 | | { 0, 0, 0, 0, 0, 0, +1, 2, 13, STATE_FOLLOW }, |
899 | | { 0, 0, +5, 0, 0, 0, +1, 3, 0, STATE_START }, |
900 | | { 0, 0, -5, 0, 0, 0, +1, 3, 0, STATE_START }, |
901 | | { 0, 0, 0, 0, 0, 0, +1, 2, 14, STATE_FOLLOW }, |
902 | | { 0, 0, 0, 0, 0, 0, +1, 2, 15, STATE_FOLLOW }, |
903 | | { 0, 0, +6, 0, 0, 0, +1, 3, 0, STATE_START }, |
904 | | { 0, 0, -6, 0, 0, 0, +1, 3, 0, STATE_START }, |
905 | | { 0, 0, +2, 0, 0, 0, +1, 3, 2, STATE_FOLLOW }, |
906 | | { 0, 0, +2, 0, 0, 0, +1, 3, 3, STATE_FOLLOW }, |
907 | | { 0, 0, +2, 0, 0, 0, +1, 4, 1, STATE_DATA }, |
908 | | { 0, 0, +2, 0, 0, 0, +1, 5, 0, STATE_START }, |
909 | | { 0, 0, -2, 0, 0, 0, +1, 3, 2, STATE_FOLLOW }, |
910 | | { 0, 0, -2, 0, 0, 0, +1, 3, 3, STATE_FOLLOW }, |
911 | | { 0, 0, -2, 0, 0, 0, +1, 4, 1, STATE_DATA }, |
912 | | { 0, 0, -2, 0, 0, 0, +1, 5, 0, STATE_START }, |
913 | | { 0, 0, 0, 0, 0, 0, +1, 3, 4, STATE_DATA }, |
914 | | { 0, 0, 0, 0, 0, 0, +1, 3, 4, STATE_SIGN }, |
915 | | { 0, 0, 0, 0, 0, 0, +1, 3, 5, STATE_DATA }, |
916 | | { 0, 0, 0, 0, 0, 0, +1, 3, 5, STATE_SIGN }, |
917 | | { 0, 0, 0, +1, 0, 0, +1, 4, 1, STATE_DATA }, |
918 | | { 0, 0, 0, +1, 0, 0, +1, 5, 0, STATE_START }, |
919 | | { 0, 0, 0, -1, 0, 0, +1, 4, 1, STATE_DATA }, |
920 | | { 0, 0, 0, -1, 0, 0, +1, 5, 0, STATE_START }, |
921 | | { 0, 0, 0, 0, 0, 0, +1, 3, 6, STATE_DATA }, |
922 | | { 0, 0, 0, 0, 0, 0, +1, 3, 6, STATE_SIGN }, |
923 | | { 0, 0, 0, 0, 0, 0, +1, 3, 7, STATE_DATA }, |
924 | | { 0, 0, 0, 0, 0, 0, +1, 3, 7, STATE_SIGN }, |
925 | | { 0, 0, 0, +2, 0, 0, +1, 4, 1, STATE_DATA }, |
926 | | { 0, 0, 0, +2, 0, 0, +1, 5, 0, STATE_START }, |
927 | | { 0, 0, 0, -2, 0, 0, +1, 4, 1, STATE_DATA }, |
928 | | { 0, 0, 0, -2, 0, 0, +1, 5, 0, STATE_START }, |
929 | | { 0, 0, 0, 0, 0, 0, +1, 4, 4, STATE_FOLLOW }, |
930 | | { 0, 0, 0, 0, 0, 0, +1, 4, 5, STATE_FOLLOW }, |
931 | | { 0, 0, 0, 0, +1, 0, +1, 5, 0, STATE_START }, |
932 | | { 0, 0, 0, 0, -1, 0, +1, 5, 0, STATE_START }, |
933 | | { 0, 0, 0, 0, 0, 0, +1, 4, 6, STATE_FOLLOW }, |
934 | | { 0, 0, 0, 0, 0, 0, +1, 4, 7, STATE_FOLLOW }, |
935 | | { 0, 0, 0, 0, +2, 0, +1, 5, 0, STATE_START }, |
936 | | { 0, 0, 0, 0, -2, 0, +1, 5, 0, STATE_START }, |
937 | | { 0, 0, 0, 0, 0, 0, +1, 5, 2, STATE_DATA }, |
938 | | { 0, 0, 0, 0, 0, 0, +1, 5, 2, STATE_SIGN }, |
939 | | { 0, 0, 0, 0, 0, 0, +1, 5, 3, STATE_DATA }, |
940 | | { 0, 0, 0, 0, 0, 0, +1, 5, 3, STATE_SIGN }, |
941 | | { 0, 0, 0, 0, 0, 0, +1, 6, 2, STATE_FOLLOW }, |
942 | | { 0, 0, 0, 0, 0, 0, +1, 6, 3, STATE_FOLLOW }, |
943 | | { 0, 0, 0, 0, 0, 0, +1, 7, 1, STATE_DATA }, |
944 | | { 0, 0, 0, 0, 0, 0, +1, 8, 0, STATE_START }, |
945 | | { 0, 0, 0, 0, 0, 0, -1, 1, 8, STATE_DATA }, |
946 | | { 0, 0, 0, 0, 0, 0, -1, 1, 8, STATE_SIGN }, |
947 | | { 0, 0, 0, 0, 0, 0, -1, 1, 9, STATE_DATA }, |
948 | | { 0, 0, 0, 0, 0, 0, -1, 1, 9, STATE_SIGN }, |
949 | | { 0, +3, 0, 0, 0, 0, -1, 2, 1, STATE_DATA }, |
950 | | { 0, +3, 0, 0, 0, 0, -1, 3, 0, STATE_START }, |
951 | | { 0, -3, 0, 0, 0, 0, -1, 2, 1, STATE_DATA }, |
952 | | { 0, -3, 0, 0, 0, 0, -1, 3, 0, STATE_START }, |
953 | | { 0, 0, 0, 0, 0, 0, -1, 1, 10, STATE_DATA }, |
954 | | { 0, 0, 0, 0, 0, 0, -1, 1, 10, STATE_SIGN }, |
955 | | { 0, 0, 0, 0, 0, 0, -1, 1, 11, STATE_DATA }, |
956 | | { 0, 0, 0, 0, 0, 0, -1, 1, 11, STATE_SIGN }, |
957 | | { 0, +4, 0, 0, 0, 0, -1, 2, 1, STATE_DATA }, |
958 | | { 0, +4, 0, 0, 0, 0, -1, 3, 0, STATE_START }, |
959 | | { 0, -4, 0, 0, 0, 0, -1, 2, 1, STATE_DATA }, |
960 | | { 0, -4, 0, 0, 0, 0, -1, 3, 0, STATE_START }, |
961 | | { 0, +1, 0, 0, 0, 0, -1, 2, 2, STATE_DATA }, |
962 | | { 0, +1, 0, 0, 0, 0, -1, 2, 2, STATE_SIGN }, |
963 | | { 0, +1, 0, 0, 0, 0, -1, 2, 3, STATE_DATA }, |
964 | | { 0, +1, 0, 0, 0, 0, -1, 2, 3, STATE_SIGN }, |
965 | | { 0, +1, 0, 0, 0, 0, -1, 3, 2, STATE_FOLLOW }, |
966 | | { 0, +1, 0, 0, 0, 0, -1, 3, 3, STATE_FOLLOW }, |
967 | | { 0, +1, 0, 0, 0, 0, -1, 4, 1, STATE_DATA }, |
968 | | { 0, +1, 0, 0, 0, 0, -1, 5, 0, STATE_START }, |
969 | | { 0, -1, 0, 0, 0, 0, -1, 2, 2, STATE_DATA }, |
970 | | { 0, -1, 0, 0, 0, 0, -1, 2, 2, STATE_SIGN }, |
971 | | { 0, -1, 0, 0, 0, 0, -1, 2, 3, STATE_DATA }, |
972 | | { 0, -1, 0, 0, 0, 0, -1, 2, 3, STATE_SIGN }, |
973 | | { 0, -1, 0, 0, 0, 0, -1, 3, 2, STATE_FOLLOW }, |
974 | | { 0, -1, 0, 0, 0, 0, -1, 3, 3, STATE_FOLLOW }, |
975 | | { 0, -1, 0, 0, 0, 0, -1, 4, 1, STATE_DATA }, |
976 | | { 0, -1, 0, 0, 0, 0, -1, 5, 0, STATE_START }, |
977 | | { 0, 0, 0, 0, 0, 0, -1, 1, 12, STATE_DATA }, |
978 | | { 0, 0, 0, 0, 0, 0, -1, 1, 12, STATE_SIGN }, |
979 | | { 0, 0, 0, 0, 0, 0, -1, 1, 13, STATE_DATA }, |
980 | | { 0, 0, 0, 0, 0, 0, -1, 1, 13, STATE_SIGN }, |
981 | | { 0, +5, 0, 0, 0, 0, -1, 2, 1, STATE_DATA }, |
982 | | { 0, +5, 0, 0, 0, 0, -1, 3, 0, STATE_START }, |
983 | | { 0, -5, 0, 0, 0, 0, -1, 2, 1, STATE_DATA }, |
984 | | { 0, -5, 0, 0, 0, 0, -1, 3, 0, STATE_START }, |
985 | | { 0, 0, 0, 0, 0, 0, -1, 1, 14, STATE_DATA }, |
986 | | { 0, 0, 0, 0, 0, 0, -1, 1, 14, STATE_SIGN }, |
987 | | { 0, 0, 0, 0, 0, 0, -1, 1, 15, STATE_DATA }, |
988 | | { 0, 0, 0, 0, 0, 0, -1, 1, 15, STATE_SIGN }, |
989 | | { 0, +6, 0, 0, 0, 0, -1, 2, 1, STATE_DATA }, |
990 | | { 0, +6, 0, 0, 0, 0, -1, 3, 0, STATE_START }, |
991 | | { 0, -6, 0, 0, 0, 0, -1, 2, 1, STATE_DATA }, |
992 | | { 0, -6, 0, 0, 0, 0, -1, 3, 0, STATE_START }, |
993 | | { 0, +2, 0, 0, 0, 0, -1, 2, 2, STATE_DATA }, |
994 | | { 0, +2, 0, 0, 0, 0, -1, 2, 2, STATE_SIGN }, |
995 | | { 0, +2, 0, 0, 0, 0, -1, 2, 3, STATE_DATA }, |
996 | | { 0, +2, 0, 0, 0, 0, -1, 2, 3, STATE_SIGN }, |
997 | | { 0, +2, 0, 0, 0, 0, -1, 3, 2, STATE_FOLLOW }, |
998 | | { 0, +2, 0, 0, 0, 0, -1, 3, 3, STATE_FOLLOW }, |
999 | | { 0, +2, 0, 0, 0, 0, -1, 4, 1, STATE_DATA }, |
1000 | | { 0, +2, 0, 0, 0, 0, -1, 5, 0, STATE_START }, |
1001 | | { 0, -2, 0, 0, 0, 0, -1, 2, 2, STATE_DATA }, |
1002 | | { 0, -2, 0, 0, 0, 0, -1, 2, 2, STATE_SIGN }, |
1003 | | { 0, -2, 0, 0, 0, 0, -1, 2, 3, STATE_DATA }, |
1004 | | { 0, -2, 0, 0, 0, 0, -1, 2, 3, STATE_SIGN }, |
1005 | | { 0, -2, 0, 0, 0, 0, -1, 3, 2, STATE_FOLLOW }, |
1006 | | { 0, -2, 0, 0, 0, 0, -1, 3, 3, STATE_FOLLOW }, |
1007 | | { 0, -2, 0, 0, 0, 0, -1, 4, 1, STATE_DATA }, |
1008 | | { 0, -2, 0, 0, 0, 0, -1, 5, 0, STATE_START }, |
1009 | | { 0, 0, 0, 0, 0, 0, -1, 2, 8, STATE_FOLLOW }, |
1010 | | { 0, 0, 0, 0, 0, 0, -1, 2, 9, STATE_FOLLOW }, |
1011 | | { 0, 0, +3, 0, 0, 0, -1, 3, 0, STATE_START }, |
1012 | | { 0, 0, -3, 0, 0, 0, -1, 3, 0, STATE_START }, |
1013 | | { 0, 0, 0, 0, 0, 0, -1, 2, 10, STATE_FOLLOW }, |
1014 | | { 0, 0, 0, 0, 0, 0, -1, 2, 11, STATE_FOLLOW }, |
1015 | | { 0, 0, +4, 0, 0, 0, -1, 3, 0, STATE_START }, |
1016 | | { 0, 0, -4, 0, 0, 0, -1, 3, 0, STATE_START }, |
1017 | | { 0, 0, +1, 0, 0, 0, -1, 3, 2, STATE_FOLLOW }, |
1018 | | { 0, 0, +1, 0, 0, 0, -1, 3, 3, STATE_FOLLOW }, |
1019 | | { 0, 0, +1, 0, 0, 0, -1, 4, 1, STATE_DATA }, |
1020 | | { 0, 0, +1, 0, 0, 0, -1, 5, 0, STATE_START }, |
1021 | | { 0, 0, -1, 0, 0, 0, -1, 3, 2, STATE_FOLLOW }, |
1022 | | { 0, 0, -1, 0, 0, 0, -1, 3, 3, STATE_FOLLOW }, |
1023 | | { 0, 0, -1, 0, 0, 0, -1, 4, 1, STATE_DATA }, |
1024 | | { 0, 0, -1, 0, 0, 0, -1, 5, 0, STATE_START }, |
1025 | | { 0, 0, 0, 0, 0, 0, -1, 2, 12, STATE_FOLLOW }, |
1026 | | { 0, 0, 0, 0, 0, 0, -1, 2, 13, STATE_FOLLOW }, |
1027 | | { 0, 0, +5, 0, 0, 0, -1, 3, 0, STATE_START }, |
1028 | | { 0, 0, -5, 0, 0, 0, -1, 3, 0, STATE_START }, |
1029 | | { 0, 0, 0, 0, 0, 0, -1, 2, 14, STATE_FOLLOW }, |
1030 | | { 0, 0, 0, 0, 0, 0, -1, 2, 15, STATE_FOLLOW }, |
1031 | | { 0, 0, +6, 0, 0, 0, -1, 3, 0, STATE_START }, |
1032 | | { 0, 0, -6, 0, 0, 0, -1, 3, 0, STATE_START }, |
1033 | | { 0, 0, +2, 0, 0, 0, -1, 3, 2, STATE_FOLLOW }, |
1034 | | { 0, 0, +2, 0, 0, 0, -1, 3, 3, STATE_FOLLOW }, |
1035 | | { 0, 0, +2, 0, 0, 0, -1, 4, 1, STATE_DATA }, |
1036 | | { 0, 0, +2, 0, 0, 0, -1, 5, 0, STATE_START }, |
1037 | | { 0, 0, -2, 0, 0, 0, -1, 3, 2, STATE_FOLLOW }, |
1038 | | { 0, 0, -2, 0, 0, 0, -1, 3, 3, STATE_FOLLOW }, |
1039 | | { 0, 0, -2, 0, 0, 0, -1, 4, 1, STATE_DATA }, |
1040 | | { 0, 0, -2, 0, 0, 0, -1, 5, 0, STATE_START }, |
1041 | | { 0, 0, 0, 0, 0, 0, -1, 3, 4, STATE_DATA }, |
1042 | | { 0, 0, 0, 0, 0, 0, -1, 3, 4, STATE_SIGN }, |
1043 | | { 0, 0, 0, 0, 0, 0, -1, 3, 5, STATE_DATA }, |
1044 | | { 0, 0, 0, 0, 0, 0, -1, 3, 5, STATE_SIGN }, |
1045 | | { 0, 0, 0, +1, 0, 0, -1, 4, 1, STATE_DATA }, |
1046 | | { 0, 0, 0, +1, 0, 0, -1, 5, 0, STATE_START }, |
1047 | | { 0, 0, 0, -1, 0, 0, -1, 4, 1, STATE_DATA }, |
1048 | | { 0, 0, 0, -1, 0, 0, -1, 5, 0, STATE_START }, |
1049 | | { 0, 0, 0, 0, 0, 0, -1, 3, 6, STATE_DATA }, |
1050 | | { 0, 0, 0, 0, 0, 0, -1, 3, 6, STATE_SIGN }, |
1051 | | { 0, 0, 0, 0, 0, 0, -1, 3, 7, STATE_DATA }, |
1052 | | { 0, 0, 0, 0, 0, 0, -1, 3, 7, STATE_SIGN }, |
1053 | | { 0, 0, 0, +2, 0, 0, -1, 4, 1, STATE_DATA }, |
1054 | | { 0, 0, 0, +2, 0, 0, -1, 5, 0, STATE_START }, |
1055 | | { 0, 0, 0, -2, 0, 0, -1, 4, 1, STATE_DATA }, |
1056 | | { 0, 0, 0, -2, 0, 0, -1, 5, 0, STATE_START }, |
1057 | | { 0, 0, 0, 0, 0, 0, -1, 4, 4, STATE_FOLLOW }, |
1058 | | { 0, 0, 0, 0, 0, 0, -1, 4, 5, STATE_FOLLOW }, |
1059 | | { 0, 0, 0, 0, +1, 0, -1, 5, 0, STATE_START }, |
1060 | | { 0, 0, 0, 0, -1, 0, -1, 5, 0, STATE_START }, |
1061 | | { 0, 0, 0, 0, 0, 0, -1, 4, 6, STATE_FOLLOW }, |
1062 | | { 0, 0, 0, 0, 0, 0, -1, 4, 7, STATE_FOLLOW }, |
1063 | | { 0, 0, 0, 0, +2, 0, -1, 5, 0, STATE_START }, |
1064 | | { 0, 0, 0, 0, -2, 0, -1, 5, 0, STATE_START }, |
1065 | | { 0, 0, 0, 0, 0, 0, -1, 5, 2, STATE_DATA }, |
1066 | | { 0, 0, 0, 0, 0, 0, -1, 5, 2, STATE_SIGN }, |
1067 | | { 0, 0, 0, 0, 0, 0, -1, 5, 3, STATE_DATA }, |
1068 | | { 0, 0, 0, 0, 0, 0, -1, 5, 3, STATE_SIGN }, |
1069 | | { 0, 0, 0, 0, 0, 0, -1, 6, 2, STATE_FOLLOW }, |
1070 | | { 0, 0, 0, 0, 0, 0, -1, 6, 3, STATE_FOLLOW }, |
1071 | | { 0, 0, 0, 0, 0, 0, -1, 7, 1, STATE_DATA }, |
1072 | | { 0, 0, 0, 0, 0, 0, -1, 8, 0, STATE_START }, |
1073 | | }; |
1074 | | |
1075 | | #define PROCESS_VALS \ |
1076 | 27.0k | do { \ |
1077 | 27.0k | val <<= lut.val0_bits; \ |
1078 | 27.0k | val |= lut.val0; \ |
1079 | 27.0k | dst[0] = (val - 1) * lut.sign; \ |
1080 | 27.0k | dst[1] = lut.val1; \ |
1081 | 27.0k | dst[2] = lut.val2; \ |
1082 | 27.0k | dst[3] = lut.val3; \ |
1083 | 27.0k | dst[4] = lut.val4; \ |
1084 | 27.0k | dst[5] = 0; \ |
1085 | 27.0k | dst[6] = 0; \ |
1086 | 27.0k | dst[7] = 0; \ |
1087 | 27.0k | if (lut.num) \ |
1088 | 27.0k | val = lut.val; \ |
1089 | 27.0k | dst += lut.num; \ |
1090 | 27.0k | if (dst >= last) \ |
1091 | 27.0k | return coeffs; \ |
1092 | 27.0k | lut = dirac_golomb_lut[lut.state + *buf++]; \ |
1093 | 23.4k | } while (0) |
1094 | | |
1095 | | int ff_dirac_golomb_read_16bit(const uint8_t *buf, int bytes, |
1096 | | uint8_t *_dst, int coeffs) |
1097 | 9.09k | { |
1098 | 9.09k | LUTState lut = dirac_golomb_lut[*buf++]; |
1099 | 9.09k | int16_t *dst = (int16_t *)_dst, *last = dst + coeffs; |
1100 | 9.09k | uint16_t val = 0; |
1101 | | |
1102 | 14.6k | for (int i = 1; i < bytes; i++) |
1103 | 5.83k | PROCESS_VALS; |
1104 | | |
1105 | | /* Reader needs to be flushed */ |
1106 | 8.81k | PROCESS_VALS; |
1107 | | |
1108 | | /* Still short of coeffs - try to guess and at least output what we have */ |
1109 | 6.74k | if (lut.state != STATE_START) |
1110 | 5.16k | *dst++ = -((lut.state != STATE_SIGN ? (val << 1) | 1 : val) - 1); |
1111 | | |
1112 | 6.74k | return coeffs - (int)(last - dst); |
1113 | 8.81k | } |
1114 | | |
1115 | | int ff_dirac_golomb_read_32bit(const uint8_t *buf, int bytes, |
1116 | | uint8_t *_dst, int coeffs) |
1117 | 8.54k | { |
1118 | 8.54k | LUTState lut = dirac_golomb_lut[*buf++]; |
1119 | 8.54k | int32_t *dst = (int32_t *)_dst, *last = dst + coeffs; |
1120 | 8.54k | uint32_t val = 0; |
1121 | | |
1122 | 12.3k | for (int i = 1; i < bytes; i++) |
1123 | 4.07k | PROCESS_VALS; |
1124 | | |
1125 | | /* Reader needs to be flushed */ |
1126 | 8.31k | PROCESS_VALS; |
1127 | | |
1128 | | /* Still short of coeffs - try to guess and at least output what we have */ |
1129 | 7.31k | if (lut.state != STATE_START) |
1130 | 5.49k | *dst++ = -((lut.state != STATE_SIGN ? (val << 1) | 1 : val) - 1); |
1131 | | |
1132 | 7.31k | return coeffs - (int)(last - dst); |
1133 | 8.31k | } |