Tesseract  3.02
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
imgunpk.h
Go to the documentation of this file.
1 /**********************************************************************
2  * File: imgunpk.h (Formerly unpack.h)
3  * Description: Definitions of fast unpacking look-up tables for images.c.
4  * Author: Ray Smith
5  * Created: Mon Jun 11 18:06:34 BST 1990
6  *
7  * (C) Copyright 1990, Hewlett-Packard Ltd.
8  ** Licensed under the Apache License, Version 2.0 (the "License");
9  ** you may not use this file except in compliance with the License.
10  ** You may obtain a copy of the License at
11  ** http://www.apache.org/licenses/LICENSE-2.0
12  ** Unless required by applicable law or agreed to in writing, software
13  ** distributed under the License is distributed on an "AS IS" BASIS,
14  ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  ** See the License for the specific language governing permissions and
16  ** limitations under the License.
17  *
18  **********************************************************************/
19 
20 #ifndef IMGUNPK_H
21 #define IMGUNPK_H
22 
23 #include "host.h"
24 
25 const uinT8 bpp4table[256][2] = { // 4 bit converter
26  {0, 0}, {0, 1}, {0, 2}, {0, 3},
27  {0, 4}, {0, 5}, {0, 6}, {0, 7},
28  {0, 8}, {0, 9}, {0, 10}, {0, 11},
29  {0, 12}, {0, 13}, {0, 14}, {0, 15},
30  {1, 0}, {1, 1}, {1, 2}, {1, 3},
31  {1, 4}, {1, 5}, {1, 6}, {1, 7},
32  {1, 8}, {1, 9}, {1, 10}, {1, 11},
33  {1, 12}, {1, 13}, {1, 14}, {1, 15},
34  {2, 0}, {2, 1}, {2, 2}, {2, 3},
35  {2, 4}, {2, 5}, {2, 6}, {2, 7},
36  {2, 8}, {2, 9}, {2, 10}, {2, 11},
37  {2, 12}, {2, 13}, {2, 14}, {2, 15},
38  {3, 0}, {3, 1}, {3, 2}, {3, 3},
39  {3, 4}, {3, 5}, {3, 6}, {3, 7},
40  {3, 8}, {3, 9}, {3, 10}, {3, 11},
41  {3, 12}, {3, 13}, {3, 14}, {3, 15},
42  {4, 0}, {4, 1}, {4, 2}, {4, 3},
43  {4, 4}, {4, 5}, {4, 6}, {4, 7},
44  {4, 8}, {4, 9}, {4, 10}, {4, 11},
45  {4, 12}, {4, 13}, {4, 14}, {4, 15},
46  {5, 0}, {5, 1}, {5, 2}, {5, 3},
47  {5, 4}, {5, 5}, {5, 6}, {5, 7},
48  {5, 8}, {5, 9}, {5, 10}, {5, 11},
49  {5, 12}, {5, 13}, {5, 14}, {5, 15},
50  {6, 0}, {6, 1}, {6, 2}, {6, 3},
51  {6, 4}, {6, 5}, {6, 6}, {6, 7},
52  {6, 8}, {6, 9}, {6, 10}, {6, 11},
53  {6, 12}, {6, 13}, {6, 14}, {6, 15},
54  {7, 0}, {7, 1}, {7, 2}, {7, 3},
55  {7, 4}, {7, 5}, {7, 6}, {7, 7},
56  {7, 8}, {7, 9}, {7, 10}, {7, 11},
57  {7, 12}, {7, 13}, {7, 14}, {7, 15},
58  {8, 0}, {8, 1}, {8, 2}, {8, 3},
59  {8, 4}, {8, 5}, {8, 6}, {8, 7},
60  {8, 8}, {8, 9}, {8, 10}, {8, 11},
61  {8, 12}, {8, 13}, {8, 14}, {8, 15},
62  {9, 0}, {9, 1}, {9, 2}, {9, 3},
63  {9, 4}, {9, 5}, {9, 6}, {9, 7},
64  {9, 8}, {9, 9}, {9, 10}, {9, 11},
65  {9, 12}, {9, 13}, {9, 14}, {9, 15},
66  {10, 0}, {10, 1}, {10, 2}, {10, 3},
67  {10, 4}, {10, 5}, {10, 6}, {10, 7},
68  {10, 8}, {10, 9}, {10, 10}, {10, 11},
69  {10, 12}, {10, 13}, {10, 14}, {10, 15},
70  {11, 0}, {11, 1}, {11, 2}, {11, 3},
71  {11, 4}, {11, 5}, {11, 6}, {11, 7},
72  {11, 8}, {11, 9}, {11, 10}, {11, 11},
73  {11, 12}, {11, 13}, {11, 14}, {11, 15},
74  {12, 0}, {12, 1}, {12, 2}, {12, 3},
75  {12, 4}, {12, 5}, {12, 6}, {12, 7},
76  {12, 8}, {12, 9}, {12, 10}, {12, 11},
77  {12, 12}, {12, 13}, {12, 14}, {12, 15},
78  {13, 0}, {13, 1}, {13, 2}, {13, 3},
79  {13, 4}, {13, 5}, {13, 6}, {13, 7},
80  {13, 8}, {13, 9}, {13, 10}, {13, 11},
81  {13, 12}, {13, 13}, {13, 14}, {13, 15},
82  {14, 0}, {14, 1}, {14, 2}, {14, 3},
83  {14, 4}, {14, 5}, {14, 6}, {14, 7},
84  {14, 8}, {14, 9}, {14, 10}, {14, 11},
85  {14, 12}, {14, 13}, {14, 14}, {14, 15},
86  {15, 0}, {15, 1}, {15, 2}, {15, 3},
87  {15, 4}, {15, 5}, {15, 6}, {15, 7},
88  {15, 8}, {15, 9}, {15, 10}, {15, 11},
89  {15, 12}, {15, 13}, {15, 14}, {15, 15},
90 };
91 
92 const uinT8 bpp2table[256][4] = { // 2bpp converter
93  {0, 0, 0, 0},
94  {0, 0, 0, 1},
95  {0, 0, 0, 2},
96  {0, 0, 0, 3},
97  {0, 0, 1, 0},
98  {0, 0, 1, 1},
99  {0, 0, 1, 2},
100  {0, 0, 1, 3},
101  {0, 0, 2, 0},
102  {0, 0, 2, 1},
103  {0, 0, 2, 2},
104  {0, 0, 2, 3},
105  {0, 0, 3, 0},
106  {0, 0, 3, 1},
107  {0, 0, 3, 2},
108  {0, 0, 3, 3},
109  {0, 1, 0, 0},
110  {0, 1, 0, 1},
111  {0, 1, 0, 2},
112  {0, 1, 0, 3},
113  {0, 1, 1, 0},
114  {0, 1, 1, 1},
115  {0, 1, 1, 2},
116  {0, 1, 1, 3},
117  {0, 1, 2, 0},
118  {0, 1, 2, 1},
119  {0, 1, 2, 2},
120  {0, 1, 2, 3},
121  {0, 1, 3, 0},
122  {0, 1, 3, 1},
123  {0, 1, 3, 2},
124  {0, 1, 3, 3},
125  {0, 2, 0, 0},
126  {0, 2, 0, 1},
127  {0, 2, 0, 2},
128  {0, 2, 0, 3},
129  {0, 2, 1, 0},
130  {0, 2, 1, 1},
131  {0, 2, 1, 2},
132  {0, 2, 1, 3},
133  {0, 2, 2, 0},
134  {0, 2, 2, 1},
135  {0, 2, 2, 2},
136  {0, 2, 2, 3},
137  {0, 2, 3, 0},
138  {0, 2, 3, 1},
139  {0, 2, 3, 2},
140  {0, 2, 3, 3},
141  {0, 3, 0, 0},
142  {0, 3, 0, 1},
143  {0, 3, 0, 2},
144  {0, 3, 0, 3},
145  {0, 3, 1, 0},
146  {0, 3, 1, 1},
147  {0, 3, 1, 2},
148  {0, 3, 1, 3},
149  {0, 3, 2, 0},
150  {0, 3, 2, 1},
151  {0, 3, 2, 2},
152  {0, 3, 2, 3},
153  {0, 3, 3, 0},
154  {0, 3, 3, 1},
155  {0, 3, 3, 2},
156  {0, 3, 3, 3},
157  {1, 0, 0, 0},
158  {1, 0, 0, 1},
159  {1, 0, 0, 2},
160  {1, 0, 0, 3},
161  {1, 0, 1, 0},
162  {1, 0, 1, 1},
163  {1, 0, 1, 2},
164  {1, 0, 1, 3},
165  {1, 0, 2, 0},
166  {1, 0, 2, 1},
167  {1, 0, 2, 2},
168  {1, 0, 2, 3},
169  {1, 0, 3, 0},
170  {1, 0, 3, 1},
171  {1, 0, 3, 2},
172  {1, 0, 3, 3},
173  {1, 1, 0, 0},
174  {1, 1, 0, 1},
175  {1, 1, 0, 2},
176  {1, 1, 0, 3},
177  {1, 1, 1, 0},
178  {1, 1, 1, 1},
179  {1, 1, 1, 2},
180  {1, 1, 1, 3},
181  {1, 1, 2, 0},
182  {1, 1, 2, 1},
183  {1, 1, 2, 2},
184  {1, 1, 2, 3},
185  {1, 1, 3, 0},
186  {1, 1, 3, 1},
187  {1, 1, 3, 2},
188  {1, 1, 3, 3},
189  {1, 2, 0, 0},
190  {1, 2, 0, 1},
191  {1, 2, 0, 2},
192  {1, 2, 0, 3},
193  {1, 2, 1, 0},
194  {1, 2, 1, 1},
195  {1, 2, 1, 2},
196  {1, 2, 1, 3},
197  {1, 2, 2, 0},
198  {1, 2, 2, 1},
199  {1, 2, 2, 2},
200  {1, 2, 2, 3},
201  {1, 2, 3, 0},
202  {1, 2, 3, 1},
203  {1, 2, 3, 2},
204  {1, 2, 3, 3},
205  {1, 3, 0, 0},
206  {1, 3, 0, 1},
207  {1, 3, 0, 2},
208  {1, 3, 0, 3},
209  {1, 3, 1, 0},
210  {1, 3, 1, 1},
211  {1, 3, 1, 2},
212  {1, 3, 1, 3},
213  {1, 3, 2, 0},
214  {1, 3, 2, 1},
215  {1, 3, 2, 2},
216  {1, 3, 2, 3},
217  {1, 3, 3, 0},
218  {1, 3, 3, 1},
219  {1, 3, 3, 2},
220  {1, 3, 3, 3},
221  {2, 0, 0, 0},
222  {2, 0, 0, 1},
223  {2, 0, 0, 2},
224  {2, 0, 0, 3},
225  {2, 0, 1, 0},
226  {2, 0, 1, 1},
227  {2, 0, 1, 2},
228  {2, 0, 1, 3},
229  {2, 0, 2, 0},
230  {2, 0, 2, 1},
231  {2, 0, 2, 2},
232  {2, 0, 2, 3},
233  {2, 0, 3, 0},
234  {2, 0, 3, 1},
235  {2, 0, 3, 2},
236  {2, 0, 3, 3},
237  {2, 1, 0, 0},
238  {2, 1, 0, 1},
239  {2, 1, 0, 2},
240  {2, 1, 0, 3},
241  {2, 1, 1, 0},
242  {2, 1, 1, 1},
243  {2, 1, 1, 2},
244  {2, 1, 1, 3},
245  {2, 1, 2, 0},
246  {2, 1, 2, 1},
247  {2, 1, 2, 2},
248  {2, 1, 2, 3},
249  {2, 1, 3, 0},
250  {2, 1, 3, 1},
251  {2, 1, 3, 2},
252  {2, 1, 3, 3},
253  {2, 2, 0, 0},
254  {2, 2, 0, 1},
255  {2, 2, 0, 2},
256  {2, 2, 0, 3},
257  {2, 2, 1, 0},
258  {2, 2, 1, 1},
259  {2, 2, 1, 2},
260  {2, 2, 1, 3},
261  {2, 2, 2, 0},
262  {2, 2, 2, 1},
263  {2, 2, 2, 2},
264  {2, 2, 2, 3},
265  {2, 2, 3, 0},
266  {2, 2, 3, 1},
267  {2, 2, 3, 2},
268  {2, 2, 3, 3},
269  {2, 3, 0, 0},
270  {2, 3, 0, 1},
271  {2, 3, 0, 2},
272  {2, 3, 0, 3},
273  {2, 3, 1, 0},
274  {2, 3, 1, 1},
275  {2, 3, 1, 2},
276  {2, 3, 1, 3},
277  {2, 3, 2, 0},
278  {2, 3, 2, 1},
279  {2, 3, 2, 2},
280  {2, 3, 2, 3},
281  {2, 3, 3, 0},
282  {2, 3, 3, 1},
283  {2, 3, 3, 2},
284  {2, 3, 3, 3},
285  {3, 0, 0, 0},
286  {3, 0, 0, 1},
287  {3, 0, 0, 2},
288  {3, 0, 0, 3},
289  {3, 0, 1, 0},
290  {3, 0, 1, 1},
291  {3, 0, 1, 2},
292  {3, 0, 1, 3},
293  {3, 0, 2, 0},
294  {3, 0, 2, 1},
295  {3, 0, 2, 2},
296  {3, 0, 2, 3},
297  {3, 0, 3, 0},
298  {3, 0, 3, 1},
299  {3, 0, 3, 2},
300  {3, 0, 3, 3},
301  {3, 1, 0, 0},
302  {3, 1, 0, 1},
303  {3, 1, 0, 2},
304  {3, 1, 0, 3},
305  {3, 1, 1, 0},
306  {3, 1, 1, 1},
307  {3, 1, 1, 2},
308  {3, 1, 1, 3},
309  {3, 1, 2, 0},
310  {3, 1, 2, 1},
311  {3, 1, 2, 2},
312  {3, 1, 2, 3},
313  {3, 1, 3, 0},
314  {3, 1, 3, 1},
315  {3, 1, 3, 2},
316  {3, 1, 3, 3},
317  {3, 2, 0, 0},
318  {3, 2, 0, 1},
319  {3, 2, 0, 2},
320  {3, 2, 0, 3},
321  {3, 2, 1, 0},
322  {3, 2, 1, 1},
323  {3, 2, 1, 2},
324  {3, 2, 1, 3},
325  {3, 2, 2, 0},
326  {3, 2, 2, 1},
327  {3, 2, 2, 2},
328  {3, 2, 2, 3},
329  {3, 2, 3, 0},
330  {3, 2, 3, 1},
331  {3, 2, 3, 2},
332  {3, 2, 3, 3},
333  {3, 3, 0, 0},
334  {3, 3, 0, 1},
335  {3, 3, 0, 2},
336  {3, 3, 0, 3},
337  {3, 3, 1, 0},
338  {3, 3, 1, 1},
339  {3, 3, 1, 2},
340  {3, 3, 1, 3},
341  {3, 3, 2, 0},
342  {3, 3, 2, 1},
343  {3, 3, 2, 2},
344  {3, 3, 2, 3},
345  {3, 3, 3, 0},
346  {3, 3, 3, 1},
347  {3, 3, 3, 2},
348  {3, 3, 3, 3},
349 };
350 
351 const uinT8 bpp1table[256][8] = { // 1bpp converter
352  {0, 0, 0, 0, 0, 0, 0, 0},
353  {0, 0, 0, 0, 0, 0, 0, 1},
354  {0, 0, 0, 0, 0, 0, 1, 0},
355  {0, 0, 0, 0, 0, 0, 1, 1},
356  {0, 0, 0, 0, 0, 1, 0, 0},
357  {0, 0, 0, 0, 0, 1, 0, 1},
358  {0, 0, 0, 0, 0, 1, 1, 0},
359  {0, 0, 0, 0, 0, 1, 1, 1},
360  {0, 0, 0, 0, 1, 0, 0, 0},
361  {0, 0, 0, 0, 1, 0, 0, 1},
362  {0, 0, 0, 0, 1, 0, 1, 0},
363  {0, 0, 0, 0, 1, 0, 1, 1},
364  {0, 0, 0, 0, 1, 1, 0, 0},
365  {0, 0, 0, 0, 1, 1, 0, 1},
366  {0, 0, 0, 0, 1, 1, 1, 0},
367  {0, 0, 0, 0, 1, 1, 1, 1},
368  {0, 0, 0, 1, 0, 0, 0, 0},
369  {0, 0, 0, 1, 0, 0, 0, 1},
370  {0, 0, 0, 1, 0, 0, 1, 0},
371  {0, 0, 0, 1, 0, 0, 1, 1},
372  {0, 0, 0, 1, 0, 1, 0, 0},
373  {0, 0, 0, 1, 0, 1, 0, 1},
374  {0, 0, 0, 1, 0, 1, 1, 0},
375  {0, 0, 0, 1, 0, 1, 1, 1},
376  {0, 0, 0, 1, 1, 0, 0, 0},
377  {0, 0, 0, 1, 1, 0, 0, 1},
378  {0, 0, 0, 1, 1, 0, 1, 0},
379  {0, 0, 0, 1, 1, 0, 1, 1},
380  {0, 0, 0, 1, 1, 1, 0, 0},
381  {0, 0, 0, 1, 1, 1, 0, 1},
382  {0, 0, 0, 1, 1, 1, 1, 0},
383  {0, 0, 0, 1, 1, 1, 1, 1},
384  {0, 0, 1, 0, 0, 0, 0, 0},
385  {0, 0, 1, 0, 0, 0, 0, 1},
386  {0, 0, 1, 0, 0, 0, 1, 0},
387  {0, 0, 1, 0, 0, 0, 1, 1},
388  {0, 0, 1, 0, 0, 1, 0, 0},
389  {0, 0, 1, 0, 0, 1, 0, 1},
390  {0, 0, 1, 0, 0, 1, 1, 0},
391  {0, 0, 1, 0, 0, 1, 1, 1},
392  {0, 0, 1, 0, 1, 0, 0, 0},
393  {0, 0, 1, 0, 1, 0, 0, 1},
394  {0, 0, 1, 0, 1, 0, 1, 0},
395  {0, 0, 1, 0, 1, 0, 1, 1},
396  {0, 0, 1, 0, 1, 1, 0, 0},
397  {0, 0, 1, 0, 1, 1, 0, 1},
398  {0, 0, 1, 0, 1, 1, 1, 0},
399  {0, 0, 1, 0, 1, 1, 1, 1},
400  {0, 0, 1, 1, 0, 0, 0, 0},
401  {0, 0, 1, 1, 0, 0, 0, 1},
402  {0, 0, 1, 1, 0, 0, 1, 0},
403  {0, 0, 1, 1, 0, 0, 1, 1},
404  {0, 0, 1, 1, 0, 1, 0, 0},
405  {0, 0, 1, 1, 0, 1, 0, 1},
406  {0, 0, 1, 1, 0, 1, 1, 0},
407  {0, 0, 1, 1, 0, 1, 1, 1},
408  {0, 0, 1, 1, 1, 0, 0, 0},
409  {0, 0, 1, 1, 1, 0, 0, 1},
410  {0, 0, 1, 1, 1, 0, 1, 0},
411  {0, 0, 1, 1, 1, 0, 1, 1},
412  {0, 0, 1, 1, 1, 1, 0, 0},
413  {0, 0, 1, 1, 1, 1, 0, 1},
414  {0, 0, 1, 1, 1, 1, 1, 0},
415  {0, 0, 1, 1, 1, 1, 1, 1},
416  {0, 1, 0, 0, 0, 0, 0, 0},
417  {0, 1, 0, 0, 0, 0, 0, 1},
418  {0, 1, 0, 0, 0, 0, 1, 0},
419  {0, 1, 0, 0, 0, 0, 1, 1},
420  {0, 1, 0, 0, 0, 1, 0, 0},
421  {0, 1, 0, 0, 0, 1, 0, 1},
422  {0, 1, 0, 0, 0, 1, 1, 0},
423  {0, 1, 0, 0, 0, 1, 1, 1},
424  {0, 1, 0, 0, 1, 0, 0, 0},
425  {0, 1, 0, 0, 1, 0, 0, 1},
426  {0, 1, 0, 0, 1, 0, 1, 0},
427  {0, 1, 0, 0, 1, 0, 1, 1},
428  {0, 1, 0, 0, 1, 1, 0, 0},
429  {0, 1, 0, 0, 1, 1, 0, 1},
430  {0, 1, 0, 0, 1, 1, 1, 0},
431  {0, 1, 0, 0, 1, 1, 1, 1},
432  {0, 1, 0, 1, 0, 0, 0, 0},
433  {0, 1, 0, 1, 0, 0, 0, 1},
434  {0, 1, 0, 1, 0, 0, 1, 0},
435  {0, 1, 0, 1, 0, 0, 1, 1},
436  {0, 1, 0, 1, 0, 1, 0, 0},
437  {0, 1, 0, 1, 0, 1, 0, 1},
438  {0, 1, 0, 1, 0, 1, 1, 0},
439  {0, 1, 0, 1, 0, 1, 1, 1},
440  {0, 1, 0, 1, 1, 0, 0, 0},
441  {0, 1, 0, 1, 1, 0, 0, 1},
442  {0, 1, 0, 1, 1, 0, 1, 0},
443  {0, 1, 0, 1, 1, 0, 1, 1},
444  {0, 1, 0, 1, 1, 1, 0, 0},
445  {0, 1, 0, 1, 1, 1, 0, 1},
446  {0, 1, 0, 1, 1, 1, 1, 0},
447  {0, 1, 0, 1, 1, 1, 1, 1},
448  {0, 1, 1, 0, 0, 0, 0, 0},
449  {0, 1, 1, 0, 0, 0, 0, 1},
450  {0, 1, 1, 0, 0, 0, 1, 0},
451  {0, 1, 1, 0, 0, 0, 1, 1},
452  {0, 1, 1, 0, 0, 1, 0, 0},
453  {0, 1, 1, 0, 0, 1, 0, 1},
454  {0, 1, 1, 0, 0, 1, 1, 0},
455  {0, 1, 1, 0, 0, 1, 1, 1},
456  {0, 1, 1, 0, 1, 0, 0, 0},
457  {0, 1, 1, 0, 1, 0, 0, 1},
458  {0, 1, 1, 0, 1, 0, 1, 0},
459  {0, 1, 1, 0, 1, 0, 1, 1},
460  {0, 1, 1, 0, 1, 1, 0, 0},
461  {0, 1, 1, 0, 1, 1, 0, 1},
462  {0, 1, 1, 0, 1, 1, 1, 0},
463  {0, 1, 1, 0, 1, 1, 1, 1},
464  {0, 1, 1, 1, 0, 0, 0, 0},
465  {0, 1, 1, 1, 0, 0, 0, 1},
466  {0, 1, 1, 1, 0, 0, 1, 0},
467  {0, 1, 1, 1, 0, 0, 1, 1},
468  {0, 1, 1, 1, 0, 1, 0, 0},
469  {0, 1, 1, 1, 0, 1, 0, 1},
470  {0, 1, 1, 1, 0, 1, 1, 0},
471  {0, 1, 1, 1, 0, 1, 1, 1},
472  {0, 1, 1, 1, 1, 0, 0, 0},
473  {0, 1, 1, 1, 1, 0, 0, 1},
474  {0, 1, 1, 1, 1, 0, 1, 0},
475  {0, 1, 1, 1, 1, 0, 1, 1},
476  {0, 1, 1, 1, 1, 1, 0, 0},
477  {0, 1, 1, 1, 1, 1, 0, 1},
478  {0, 1, 1, 1, 1, 1, 1, 0},
479  {0, 1, 1, 1, 1, 1, 1, 1},
480  {1, 0, 0, 0, 0, 0, 0, 0},
481  {1, 0, 0, 0, 0, 0, 0, 1},
482  {1, 0, 0, 0, 0, 0, 1, 0},
483  {1, 0, 0, 0, 0, 0, 1, 1},
484  {1, 0, 0, 0, 0, 1, 0, 0},
485  {1, 0, 0, 0, 0, 1, 0, 1},
486  {1, 0, 0, 0, 0, 1, 1, 0},
487  {1, 0, 0, 0, 0, 1, 1, 1},
488  {1, 0, 0, 0, 1, 0, 0, 0},
489  {1, 0, 0, 0, 1, 0, 0, 1},
490  {1, 0, 0, 0, 1, 0, 1, 0},
491  {1, 0, 0, 0, 1, 0, 1, 1},
492  {1, 0, 0, 0, 1, 1, 0, 0},
493  {1, 0, 0, 0, 1, 1, 0, 1},
494  {1, 0, 0, 0, 1, 1, 1, 0},
495  {1, 0, 0, 0, 1, 1, 1, 1},
496  {1, 0, 0, 1, 0, 0, 0, 0},
497  {1, 0, 0, 1, 0, 0, 0, 1},
498  {1, 0, 0, 1, 0, 0, 1, 0},
499  {1, 0, 0, 1, 0, 0, 1, 1},
500  {1, 0, 0, 1, 0, 1, 0, 0},
501  {1, 0, 0, 1, 0, 1, 0, 1},
502  {1, 0, 0, 1, 0, 1, 1, 0},
503  {1, 0, 0, 1, 0, 1, 1, 1},
504  {1, 0, 0, 1, 1, 0, 0, 0},
505  {1, 0, 0, 1, 1, 0, 0, 1},
506  {1, 0, 0, 1, 1, 0, 1, 0},
507  {1, 0, 0, 1, 1, 0, 1, 1},
508  {1, 0, 0, 1, 1, 1, 0, 0},
509  {1, 0, 0, 1, 1, 1, 0, 1},
510  {1, 0, 0, 1, 1, 1, 1, 0},
511  {1, 0, 0, 1, 1, 1, 1, 1},
512  {1, 0, 1, 0, 0, 0, 0, 0},
513  {1, 0, 1, 0, 0, 0, 0, 1},
514  {1, 0, 1, 0, 0, 0, 1, 0},
515  {1, 0, 1, 0, 0, 0, 1, 1},
516  {1, 0, 1, 0, 0, 1, 0, 0},
517  {1, 0, 1, 0, 0, 1, 0, 1},
518  {1, 0, 1, 0, 0, 1, 1, 0},
519  {1, 0, 1, 0, 0, 1, 1, 1},
520  {1, 0, 1, 0, 1, 0, 0, 0},
521  {1, 0, 1, 0, 1, 0, 0, 1},
522  {1, 0, 1, 0, 1, 0, 1, 0},
523  {1, 0, 1, 0, 1, 0, 1, 1},
524  {1, 0, 1, 0, 1, 1, 0, 0},
525  {1, 0, 1, 0, 1, 1, 0, 1},
526  {1, 0, 1, 0, 1, 1, 1, 0},
527  {1, 0, 1, 0, 1, 1, 1, 1},
528  {1, 0, 1, 1, 0, 0, 0, 0},
529  {1, 0, 1, 1, 0, 0, 0, 1},
530  {1, 0, 1, 1, 0, 0, 1, 0},
531  {1, 0, 1, 1, 0, 0, 1, 1},
532  {1, 0, 1, 1, 0, 1, 0, 0},
533  {1, 0, 1, 1, 0, 1, 0, 1},
534  {1, 0, 1, 1, 0, 1, 1, 0},
535  {1, 0, 1, 1, 0, 1, 1, 1},
536  {1, 0, 1, 1, 1, 0, 0, 0},
537  {1, 0, 1, 1, 1, 0, 0, 1},
538  {1, 0, 1, 1, 1, 0, 1, 0},
539  {1, 0, 1, 1, 1, 0, 1, 1},
540  {1, 0, 1, 1, 1, 1, 0, 0},
541  {1, 0, 1, 1, 1, 1, 0, 1},
542  {1, 0, 1, 1, 1, 1, 1, 0},
543  {1, 0, 1, 1, 1, 1, 1, 1},
544  {1, 1, 0, 0, 0, 0, 0, 0},
545  {1, 1, 0, 0, 0, 0, 0, 1},
546  {1, 1, 0, 0, 0, 0, 1, 0},
547  {1, 1, 0, 0, 0, 0, 1, 1},
548  {1, 1, 0, 0, 0, 1, 0, 0},
549  {1, 1, 0, 0, 0, 1, 0, 1},
550  {1, 1, 0, 0, 0, 1, 1, 0},
551  {1, 1, 0, 0, 0, 1, 1, 1},
552  {1, 1, 0, 0, 1, 0, 0, 0},
553  {1, 1, 0, 0, 1, 0, 0, 1},
554  {1, 1, 0, 0, 1, 0, 1, 0},
555  {1, 1, 0, 0, 1, 0, 1, 1},
556  {1, 1, 0, 0, 1, 1, 0, 0},
557  {1, 1, 0, 0, 1, 1, 0, 1},
558  {1, 1, 0, 0, 1, 1, 1, 0},
559  {1, 1, 0, 0, 1, 1, 1, 1},
560  {1, 1, 0, 1, 0, 0, 0, 0},
561  {1, 1, 0, 1, 0, 0, 0, 1},
562  {1, 1, 0, 1, 0, 0, 1, 0},
563  {1, 1, 0, 1, 0, 0, 1, 1},
564  {1, 1, 0, 1, 0, 1, 0, 0},
565  {1, 1, 0, 1, 0, 1, 0, 1},
566  {1, 1, 0, 1, 0, 1, 1, 0},
567  {1, 1, 0, 1, 0, 1, 1, 1},
568  {1, 1, 0, 1, 1, 0, 0, 0},
569  {1, 1, 0, 1, 1, 0, 0, 1},
570  {1, 1, 0, 1, 1, 0, 1, 0},
571  {1, 1, 0, 1, 1, 0, 1, 1},
572  {1, 1, 0, 1, 1, 1, 0, 0},
573  {1, 1, 0, 1, 1, 1, 0, 1},
574  {1, 1, 0, 1, 1, 1, 1, 0},
575  {1, 1, 0, 1, 1, 1, 1, 1},
576  {1, 1, 1, 0, 0, 0, 0, 0},
577  {1, 1, 1, 0, 0, 0, 0, 1},
578  {1, 1, 1, 0, 0, 0, 1, 0},
579  {1, 1, 1, 0, 0, 0, 1, 1},
580  {1, 1, 1, 0, 0, 1, 0, 0},
581  {1, 1, 1, 0, 0, 1, 0, 1},
582  {1, 1, 1, 0, 0, 1, 1, 0},
583  {1, 1, 1, 0, 0, 1, 1, 1},
584  {1, 1, 1, 0, 1, 0, 0, 0},
585  {1, 1, 1, 0, 1, 0, 0, 1},
586  {1, 1, 1, 0, 1, 0, 1, 0},
587  {1, 1, 1, 0, 1, 0, 1, 1},
588  {1, 1, 1, 0, 1, 1, 0, 0},
589  {1, 1, 1, 0, 1, 1, 0, 1},
590  {1, 1, 1, 0, 1, 1, 1, 0},
591  {1, 1, 1, 0, 1, 1, 1, 1},
592  {1, 1, 1, 1, 0, 0, 0, 0},
593  {1, 1, 1, 1, 0, 0, 0, 1},
594  {1, 1, 1, 1, 0, 0, 1, 0},
595  {1, 1, 1, 1, 0, 0, 1, 1},
596  {1, 1, 1, 1, 0, 1, 0, 0},
597  {1, 1, 1, 1, 0, 1, 0, 1},
598  {1, 1, 1, 1, 0, 1, 1, 0},
599  {1, 1, 1, 1, 0, 1, 1, 1},
600  {1, 1, 1, 1, 1, 0, 0, 0},
601  {1, 1, 1, 1, 1, 0, 0, 1},
602  {1, 1, 1, 1, 1, 0, 1, 0},
603  {1, 1, 1, 1, 1, 0, 1, 1},
604  {1, 1, 1, 1, 1, 1, 0, 0},
605  {1, 1, 1, 1, 1, 1, 0, 1},
606  {1, 1, 1, 1, 1, 1, 1, 0},
607  {1, 1, 1, 1, 1, 1, 1, 1},
608 };
609 #endif