• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 uinT8 bpp4table[256][2] = {      /*4 bit converter */
26   {0, 0}
27   , {0, 1}
28   , {0, 2}
29   , {0, 3}
30   ,
31   {0, 4}
32   , {0, 5}
33   , {0, 6}
34   , {0, 7}
35   ,
36   {0, 8}
37   , {0, 9}
38   , {0, 10}
39   , {0, 11}
40   ,
41   {0, 12}
42   , {0, 13}
43   , {0, 14}
44   , {0, 15}
45   ,
46   {1, 0}
47   , {1, 1}
48   , {1, 2}
49   , {1, 3}
50   ,
51   {1, 4}
52   , {1, 5}
53   , {1, 6}
54   , {1, 7}
55   ,
56   {1, 8}
57   , {1, 9}
58   , {1, 10}
59   , {1, 11}
60   ,
61   {1, 12}
62   , {1, 13}
63   , {1, 14}
64   , {1, 15}
65   ,
66   {2, 0}
67   , {2, 1}
68   , {2, 2}
69   , {2, 3}
70   ,
71   {2, 4}
72   , {2, 5}
73   , {2, 6}
74   , {2, 7}
75   ,
76   {2, 8}
77   , {2, 9}
78   , {2, 10}
79   , {2, 11}
80   ,
81   {2, 12}
82   , {2, 13}
83   , {2, 14}
84   , {2, 15}
85   ,
86   {3, 0}
87   , {3, 1}
88   , {3, 2}
89   , {3, 3}
90   ,
91   {3, 4}
92   , {3, 5}
93   , {3, 6}
94   , {3, 7}
95   ,
96   {3, 8}
97   , {3, 9}
98   , {3, 10}
99   , {3, 11}
100   ,
101   {3, 12}
102   , {3, 13}
103   , {3, 14}
104   , {3, 15}
105   ,
106   {4, 0}
107   , {4, 1}
108   , {4, 2}
109   , {4, 3}
110   ,
111   {4, 4}
112   , {4, 5}
113   , {4, 6}
114   , {4, 7}
115   ,
116   {4, 8}
117   , {4, 9}
118   , {4, 10}
119   , {4, 11}
120   ,
121   {4, 12}
122   , {4, 13}
123   , {4, 14}
124   , {4, 15}
125   ,
126   {5, 0}
127   , {5, 1}
128   , {5, 2}
129   , {5, 3}
130   ,
131   {5, 4}
132   , {5, 5}
133   , {5, 6}
134   , {5, 7}
135   ,
136   {5, 8}
137   , {5, 9}
138   , {5, 10}
139   , {5, 11}
140   ,
141   {5, 12}
142   , {5, 13}
143   , {5, 14}
144   , {5, 15}
145   ,
146   {6, 0}
147   , {6, 1}
148   , {6, 2}
149   , {6, 3}
150   ,
151   {6, 4}
152   , {6, 5}
153   , {6, 6}
154   , {6, 7}
155   ,
156   {6, 8}
157   , {6, 9}
158   , {6, 10}
159   , {6, 11}
160   ,
161   {6, 12}
162   , {6, 13}
163   , {6, 14}
164   , {6, 15}
165   ,
166   {7, 0}
167   , {7, 1}
168   , {7, 2}
169   , {7, 3}
170   ,
171   {7, 4}
172   , {7, 5}
173   , {7, 6}
174   , {7, 7}
175   ,
176   {7, 8}
177   , {7, 9}
178   , {7, 10}
179   , {7, 11}
180   ,
181   {7, 12}
182   , {7, 13}
183   , {7, 14}
184   , {7, 15}
185   ,
186   {8, 0}
187   , {8, 1}
188   , {8, 2}
189   , {8, 3}
190   ,
191   {8, 4}
192   , {8, 5}
193   , {8, 6}
194   , {8, 7}
195   ,
196   {8, 8}
197   , {8, 9}
198   , {8, 10}
199   , {8, 11}
200   ,
201   {8, 12}
202   , {8, 13}
203   , {8, 14}
204   , {8, 15}
205   ,
206   {9, 0}
207   , {9, 1}
208   , {9, 2}
209   , {9, 3}
210   ,
211   {9, 4}
212   , {9, 5}
213   , {9, 6}
214   , {9, 7}
215   ,
216   {9, 8}
217   , {9, 9}
218   , {9, 10}
219   , {9, 11}
220   ,
221   {9, 12}
222   , {9, 13}
223   , {9, 14}
224   , {9, 15}
225   ,
226   {10, 0}
227   , {10, 1}
228   , {10, 2}
229   , {10, 3}
230   ,
231   {10, 4}
232   , {10, 5}
233   , {10, 6}
234   , {10, 7}
235   ,
236   {10, 8}
237   , {10, 9}
238   , {10, 10}
239   , {10, 11}
240   ,
241   {10, 12}
242   , {10, 13}
243   , {10, 14}
244   , {10, 15}
245   ,
246   {11, 0}
247   , {11, 1}
248   , {11, 2}
249   , {11, 3}
250   ,
251   {11, 4}
252   , {11, 5}
253   , {11, 6}
254   , {11, 7}
255   ,
256   {11, 8}
257   , {11, 9}
258   , {11, 10}
259   , {11, 11}
260   ,
261   {11, 12}
262   , {11, 13}
263   , {11, 14}
264   , {11, 15}
265   ,
266   {12, 0}
267   , {12, 1}
268   , {12, 2}
269   , {12, 3}
270   ,
271   {12, 4}
272   , {12, 5}
273   , {12, 6}
274   , {12, 7}
275   ,
276   {12, 8}
277   , {12, 9}
278   , {12, 10}
279   , {12, 11}
280   ,
281   {12, 12}
282   , {12, 13}
283   , {12, 14}
284   , {12, 15}
285   ,
286   {13, 0}
287   , {13, 1}
288   , {13, 2}
289   , {13, 3}
290   ,
291   {13, 4}
292   , {13, 5}
293   , {13, 6}
294   , {13, 7}
295   ,
296   {13, 8}
297   , {13, 9}
298   , {13, 10}
299   , {13, 11}
300   ,
301   {13, 12}
302   , {13, 13}
303   , {13, 14}
304   , {13, 15}
305   ,
306   {14, 0}
307   , {14, 1}
308   , {14, 2}
309   , {14, 3}
310   ,
311   {14, 4}
312   , {14, 5}
313   , {14, 6}
314   , {14, 7}
315   ,
316   {14, 8}
317   , {14, 9}
318   , {14, 10}
319   , {14, 11}
320   ,
321   {14, 12}
322   , {14, 13}
323   , {14, 14}
324   , {14, 15}
325   ,
326   {15, 0}
327   , {15, 1}
328   , {15, 2}
329   , {15, 3}
330   ,
331   {15, 4}
332   , {15, 5}
333   , {15, 6}
334   , {15, 7}
335   ,
336   {15, 8}
337   , {15, 9}
338   , {15, 10}
339   , {15, 11}
340   ,
341   {15, 12}
342   , {15, 13}
343   , {15, 14}
344   , {15, 15}
345   ,
346 };
347 
348 uinT8 bpp2table[256][4] = {      /*2bpp converter */
349   {0, 0, 0, 0}
350   ,
351   {0, 0, 0, 1}
352   ,
353   {0, 0, 0, 2}
354   ,
355   {0, 0, 0, 3}
356   ,
357   {0, 0, 1, 0}
358   ,
359   {0, 0, 1, 1}
360   ,
361   {0, 0, 1, 2}
362   ,
363   {0, 0, 1, 3}
364   ,
365   {0, 0, 2, 0}
366   ,
367   {0, 0, 2, 1}
368   ,
369   {0, 0, 2, 2}
370   ,
371   {0, 0, 2, 3}
372   ,
373   {0, 0, 3, 0}
374   ,
375   {0, 0, 3, 1}
376   ,
377   {0, 0, 3, 2}
378   ,
379   {0, 0, 3, 3}
380   ,
381   {0, 1, 0, 0}
382   ,
383   {0, 1, 0, 1}
384   ,
385   {0, 1, 0, 2}
386   ,
387   {0, 1, 0, 3}
388   ,
389   {0, 1, 1, 0}
390   ,
391   {0, 1, 1, 1}
392   ,
393   {0, 1, 1, 2}
394   ,
395   {0, 1, 1, 3}
396   ,
397   {0, 1, 2, 0}
398   ,
399   {0, 1, 2, 1}
400   ,
401   {0, 1, 2, 2}
402   ,
403   {0, 1, 2, 3}
404   ,
405   {0, 1, 3, 0}
406   ,
407   {0, 1, 3, 1}
408   ,
409   {0, 1, 3, 2}
410   ,
411   {0, 1, 3, 3}
412   ,
413   {0, 2, 0, 0}
414   ,
415   {0, 2, 0, 1}
416   ,
417   {0, 2, 0, 2}
418   ,
419   {0, 2, 0, 3}
420   ,
421   {0, 2, 1, 0}
422   ,
423   {0, 2, 1, 1}
424   ,
425   {0, 2, 1, 2}
426   ,
427   {0, 2, 1, 3}
428   ,
429   {0, 2, 2, 0}
430   ,
431   {0, 2, 2, 1}
432   ,
433   {0, 2, 2, 2}
434   ,
435   {0, 2, 2, 3}
436   ,
437   {0, 2, 3, 0}
438   ,
439   {0, 2, 3, 1}
440   ,
441   {0, 2, 3, 2}
442   ,
443   {0, 2, 3, 3}
444   ,
445   {0, 3, 0, 0}
446   ,
447   {0, 3, 0, 1}
448   ,
449   {0, 3, 0, 2}
450   ,
451   {0, 3, 0, 3}
452   ,
453   {0, 3, 1, 0}
454   ,
455   {0, 3, 1, 1}
456   ,
457   {0, 3, 1, 2}
458   ,
459   {0, 3, 1, 3}
460   ,
461   {0, 3, 2, 0}
462   ,
463   {0, 3, 2, 1}
464   ,
465   {0, 3, 2, 2}
466   ,
467   {0, 3, 2, 3}
468   ,
469   {0, 3, 3, 0}
470   ,
471   {0, 3, 3, 1}
472   ,
473   {0, 3, 3, 2}
474   ,
475   {0, 3, 3, 3}
476   ,
477   {1, 0, 0, 0}
478   ,
479   {1, 0, 0, 1}
480   ,
481   {1, 0, 0, 2}
482   ,
483   {1, 0, 0, 3}
484   ,
485   {1, 0, 1, 0}
486   ,
487   {1, 0, 1, 1}
488   ,
489   {1, 0, 1, 2}
490   ,
491   {1, 0, 1, 3}
492   ,
493   {1, 0, 2, 0}
494   ,
495   {1, 0, 2, 1}
496   ,
497   {1, 0, 2, 2}
498   ,
499   {1, 0, 2, 3}
500   ,
501   {1, 0, 3, 0}
502   ,
503   {1, 0, 3, 1}
504   ,
505   {1, 0, 3, 2}
506   ,
507   {1, 0, 3, 3}
508   ,
509   {1, 1, 0, 0}
510   ,
511   {1, 1, 0, 1}
512   ,
513   {1, 1, 0, 2}
514   ,
515   {1, 1, 0, 3}
516   ,
517   {1, 1, 1, 0}
518   ,
519   {1, 1, 1, 1}
520   ,
521   {1, 1, 1, 2}
522   ,
523   {1, 1, 1, 3}
524   ,
525   {1, 1, 2, 0}
526   ,
527   {1, 1, 2, 1}
528   ,
529   {1, 1, 2, 2}
530   ,
531   {1, 1, 2, 3}
532   ,
533   {1, 1, 3, 0}
534   ,
535   {1, 1, 3, 1}
536   ,
537   {1, 1, 3, 2}
538   ,
539   {1, 1, 3, 3}
540   ,
541   {1, 2, 0, 0}
542   ,
543   {1, 2, 0, 1}
544   ,
545   {1, 2, 0, 2}
546   ,
547   {1, 2, 0, 3}
548   ,
549   {1, 2, 1, 0}
550   ,
551   {1, 2, 1, 1}
552   ,
553   {1, 2, 1, 2}
554   ,
555   {1, 2, 1, 3}
556   ,
557   {1, 2, 2, 0}
558   ,
559   {1, 2, 2, 1}
560   ,
561   {1, 2, 2, 2}
562   ,
563   {1, 2, 2, 3}
564   ,
565   {1, 2, 3, 0}
566   ,
567   {1, 2, 3, 1}
568   ,
569   {1, 2, 3, 2}
570   ,
571   {1, 2, 3, 3}
572   ,
573   {1, 3, 0, 0}
574   ,
575   {1, 3, 0, 1}
576   ,
577   {1, 3, 0, 2}
578   ,
579   {1, 3, 0, 3}
580   ,
581   {1, 3, 1, 0}
582   ,
583   {1, 3, 1, 1}
584   ,
585   {1, 3, 1, 2}
586   ,
587   {1, 3, 1, 3}
588   ,
589   {1, 3, 2, 0}
590   ,
591   {1, 3, 2, 1}
592   ,
593   {1, 3, 2, 2}
594   ,
595   {1, 3, 2, 3}
596   ,
597   {1, 3, 3, 0}
598   ,
599   {1, 3, 3, 1}
600   ,
601   {1, 3, 3, 2}
602   ,
603   {1, 3, 3, 3}
604   ,
605   {2, 0, 0, 0}
606   ,
607   {2, 0, 0, 1}
608   ,
609   {2, 0, 0, 2}
610   ,
611   {2, 0, 0, 3}
612   ,
613   {2, 0, 1, 0}
614   ,
615   {2, 0, 1, 1}
616   ,
617   {2, 0, 1, 2}
618   ,
619   {2, 0, 1, 3}
620   ,
621   {2, 0, 2, 0}
622   ,
623   {2, 0, 2, 1}
624   ,
625   {2, 0, 2, 2}
626   ,
627   {2, 0, 2, 3}
628   ,
629   {2, 0, 3, 0}
630   ,
631   {2, 0, 3, 1}
632   ,
633   {2, 0, 3, 2}
634   ,
635   {2, 0, 3, 3}
636   ,
637   {2, 1, 0, 0}
638   ,
639   {2, 1, 0, 1}
640   ,
641   {2, 1, 0, 2}
642   ,
643   {2, 1, 0, 3}
644   ,
645   {2, 1, 1, 0}
646   ,
647   {2, 1, 1, 1}
648   ,
649   {2, 1, 1, 2}
650   ,
651   {2, 1, 1, 3}
652   ,
653   {2, 1, 2, 0}
654   ,
655   {2, 1, 2, 1}
656   ,
657   {2, 1, 2, 2}
658   ,
659   {2, 1, 2, 3}
660   ,
661   {2, 1, 3, 0}
662   ,
663   {2, 1, 3, 1}
664   ,
665   {2, 1, 3, 2}
666   ,
667   {2, 1, 3, 3}
668   ,
669   {2, 2, 0, 0}
670   ,
671   {2, 2, 0, 1}
672   ,
673   {2, 2, 0, 2}
674   ,
675   {2, 2, 0, 3}
676   ,
677   {2, 2, 1, 0}
678   ,
679   {2, 2, 1, 1}
680   ,
681   {2, 2, 1, 2}
682   ,
683   {2, 2, 1, 3}
684   ,
685   {2, 2, 2, 0}
686   ,
687   {2, 2, 2, 1}
688   ,
689   {2, 2, 2, 2}
690   ,
691   {2, 2, 2, 3}
692   ,
693   {2, 2, 3, 0}
694   ,
695   {2, 2, 3, 1}
696   ,
697   {2, 2, 3, 2}
698   ,
699   {2, 2, 3, 3}
700   ,
701   {2, 3, 0, 0}
702   ,
703   {2, 3, 0, 1}
704   ,
705   {2, 3, 0, 2}
706   ,
707   {2, 3, 0, 3}
708   ,
709   {2, 3, 1, 0}
710   ,
711   {2, 3, 1, 1}
712   ,
713   {2, 3, 1, 2}
714   ,
715   {2, 3, 1, 3}
716   ,
717   {2, 3, 2, 0}
718   ,
719   {2, 3, 2, 1}
720   ,
721   {2, 3, 2, 2}
722   ,
723   {2, 3, 2, 3}
724   ,
725   {2, 3, 3, 0}
726   ,
727   {2, 3, 3, 1}
728   ,
729   {2, 3, 3, 2}
730   ,
731   {2, 3, 3, 3}
732   ,
733   {3, 0, 0, 0}
734   ,
735   {3, 0, 0, 1}
736   ,
737   {3, 0, 0, 2}
738   ,
739   {3, 0, 0, 3}
740   ,
741   {3, 0, 1, 0}
742   ,
743   {3, 0, 1, 1}
744   ,
745   {3, 0, 1, 2}
746   ,
747   {3, 0, 1, 3}
748   ,
749   {3, 0, 2, 0}
750   ,
751   {3, 0, 2, 1}
752   ,
753   {3, 0, 2, 2}
754   ,
755   {3, 0, 2, 3}
756   ,
757   {3, 0, 3, 0}
758   ,
759   {3, 0, 3, 1}
760   ,
761   {3, 0, 3, 2}
762   ,
763   {3, 0, 3, 3}
764   ,
765   {3, 1, 0, 0}
766   ,
767   {3, 1, 0, 1}
768   ,
769   {3, 1, 0, 2}
770   ,
771   {3, 1, 0, 3}
772   ,
773   {3, 1, 1, 0}
774   ,
775   {3, 1, 1, 1}
776   ,
777   {3, 1, 1, 2}
778   ,
779   {3, 1, 1, 3}
780   ,
781   {3, 1, 2, 0}
782   ,
783   {3, 1, 2, 1}
784   ,
785   {3, 1, 2, 2}
786   ,
787   {3, 1, 2, 3}
788   ,
789   {3, 1, 3, 0}
790   ,
791   {3, 1, 3, 1}
792   ,
793   {3, 1, 3, 2}
794   ,
795   {3, 1, 3, 3}
796   ,
797   {3, 2, 0, 0}
798   ,
799   {3, 2, 0, 1}
800   ,
801   {3, 2, 0, 2}
802   ,
803   {3, 2, 0, 3}
804   ,
805   {3, 2, 1, 0}
806   ,
807   {3, 2, 1, 1}
808   ,
809   {3, 2, 1, 2}
810   ,
811   {3, 2, 1, 3}
812   ,
813   {3, 2, 2, 0}
814   ,
815   {3, 2, 2, 1}
816   ,
817   {3, 2, 2, 2}
818   ,
819   {3, 2, 2, 3}
820   ,
821   {3, 2, 3, 0}
822   ,
823   {3, 2, 3, 1}
824   ,
825   {3, 2, 3, 2}
826   ,
827   {3, 2, 3, 3}
828   ,
829   {3, 3, 0, 0}
830   ,
831   {3, 3, 0, 1}
832   ,
833   {3, 3, 0, 2}
834   ,
835   {3, 3, 0, 3}
836   ,
837   {3, 3, 1, 0}
838   ,
839   {3, 3, 1, 1}
840   ,
841   {3, 3, 1, 2}
842   ,
843   {3, 3, 1, 3}
844   ,
845   {3, 3, 2, 0}
846   ,
847   {3, 3, 2, 1}
848   ,
849   {3, 3, 2, 2}
850   ,
851   {3, 3, 2, 3}
852   ,
853   {3, 3, 3, 0}
854   ,
855   {3, 3, 3, 1}
856   ,
857   {3, 3, 3, 2}
858   ,
859   {3, 3, 3, 3}
860   ,
861 };
862 
863 uinT8 bpp1table[256][8] = {      /*1bpp converter */
864   {0, 0, 0, 0, 0, 0, 0, 0}
865   ,
866   {0, 0, 0, 0, 0, 0, 0, 1}
867   ,
868   {0, 0, 0, 0, 0, 0, 1, 0}
869   ,
870   {0, 0, 0, 0, 0, 0, 1, 1}
871   ,
872   {0, 0, 0, 0, 0, 1, 0, 0}
873   ,
874   {0, 0, 0, 0, 0, 1, 0, 1}
875   ,
876   {0, 0, 0, 0, 0, 1, 1, 0}
877   ,
878   {0, 0, 0, 0, 0, 1, 1, 1}
879   ,
880   {0, 0, 0, 0, 1, 0, 0, 0}
881   ,
882   {0, 0, 0, 0, 1, 0, 0, 1}
883   ,
884   {0, 0, 0, 0, 1, 0, 1, 0}
885   ,
886   {0, 0, 0, 0, 1, 0, 1, 1}
887   ,
888   {0, 0, 0, 0, 1, 1, 0, 0}
889   ,
890   {0, 0, 0, 0, 1, 1, 0, 1}
891   ,
892   {0, 0, 0, 0, 1, 1, 1, 0}
893   ,
894   {0, 0, 0, 0, 1, 1, 1, 1}
895   ,
896   {0, 0, 0, 1, 0, 0, 0, 0}
897   ,
898   {0, 0, 0, 1, 0, 0, 0, 1}
899   ,
900   {0, 0, 0, 1, 0, 0, 1, 0}
901   ,
902   {0, 0, 0, 1, 0, 0, 1, 1}
903   ,
904   {0, 0, 0, 1, 0, 1, 0, 0}
905   ,
906   {0, 0, 0, 1, 0, 1, 0, 1}
907   ,
908   {0, 0, 0, 1, 0, 1, 1, 0}
909   ,
910   {0, 0, 0, 1, 0, 1, 1, 1}
911   ,
912   {0, 0, 0, 1, 1, 0, 0, 0}
913   ,
914   {0, 0, 0, 1, 1, 0, 0, 1}
915   ,
916   {0, 0, 0, 1, 1, 0, 1, 0}
917   ,
918   {0, 0, 0, 1, 1, 0, 1, 1}
919   ,
920   {0, 0, 0, 1, 1, 1, 0, 0}
921   ,
922   {0, 0, 0, 1, 1, 1, 0, 1}
923   ,
924   {0, 0, 0, 1, 1, 1, 1, 0}
925   ,
926   {0, 0, 0, 1, 1, 1, 1, 1}
927   ,
928   {0, 0, 1, 0, 0, 0, 0, 0}
929   ,
930   {0, 0, 1, 0, 0, 0, 0, 1}
931   ,
932   {0, 0, 1, 0, 0, 0, 1, 0}
933   ,
934   {0, 0, 1, 0, 0, 0, 1, 1}
935   ,
936   {0, 0, 1, 0, 0, 1, 0, 0}
937   ,
938   {0, 0, 1, 0, 0, 1, 0, 1}
939   ,
940   {0, 0, 1, 0, 0, 1, 1, 0}
941   ,
942   {0, 0, 1, 0, 0, 1, 1, 1}
943   ,
944   {0, 0, 1, 0, 1, 0, 0, 0}
945   ,
946   {0, 0, 1, 0, 1, 0, 0, 1}
947   ,
948   {0, 0, 1, 0, 1, 0, 1, 0}
949   ,
950   {0, 0, 1, 0, 1, 0, 1, 1}
951   ,
952   {0, 0, 1, 0, 1, 1, 0, 0}
953   ,
954   {0, 0, 1, 0, 1, 1, 0, 1}
955   ,
956   {0, 0, 1, 0, 1, 1, 1, 0}
957   ,
958   {0, 0, 1, 0, 1, 1, 1, 1}
959   ,
960   {0, 0, 1, 1, 0, 0, 0, 0}
961   ,
962   {0, 0, 1, 1, 0, 0, 0, 1}
963   ,
964   {0, 0, 1, 1, 0, 0, 1, 0}
965   ,
966   {0, 0, 1, 1, 0, 0, 1, 1}
967   ,
968   {0, 0, 1, 1, 0, 1, 0, 0}
969   ,
970   {0, 0, 1, 1, 0, 1, 0, 1}
971   ,
972   {0, 0, 1, 1, 0, 1, 1, 0}
973   ,
974   {0, 0, 1, 1, 0, 1, 1, 1}
975   ,
976   {0, 0, 1, 1, 1, 0, 0, 0}
977   ,
978   {0, 0, 1, 1, 1, 0, 0, 1}
979   ,
980   {0, 0, 1, 1, 1, 0, 1, 0}
981   ,
982   {0, 0, 1, 1, 1, 0, 1, 1}
983   ,
984   {0, 0, 1, 1, 1, 1, 0, 0}
985   ,
986   {0, 0, 1, 1, 1, 1, 0, 1}
987   ,
988   {0, 0, 1, 1, 1, 1, 1, 0}
989   ,
990   {0, 0, 1, 1, 1, 1, 1, 1}
991   ,
992   {0, 1, 0, 0, 0, 0, 0, 0}
993   ,
994   {0, 1, 0, 0, 0, 0, 0, 1}
995   ,
996   {0, 1, 0, 0, 0, 0, 1, 0}
997   ,
998   {0, 1, 0, 0, 0, 0, 1, 1}
999   ,
1000   {0, 1, 0, 0, 0, 1, 0, 0}
1001   ,
1002   {0, 1, 0, 0, 0, 1, 0, 1}
1003   ,
1004   {0, 1, 0, 0, 0, 1, 1, 0}
1005   ,
1006   {0, 1, 0, 0, 0, 1, 1, 1}
1007   ,
1008   {0, 1, 0, 0, 1, 0, 0, 0}
1009   ,
1010   {0, 1, 0, 0, 1, 0, 0, 1}
1011   ,
1012   {0, 1, 0, 0, 1, 0, 1, 0}
1013   ,
1014   {0, 1, 0, 0, 1, 0, 1, 1}
1015   ,
1016   {0, 1, 0, 0, 1, 1, 0, 0}
1017   ,
1018   {0, 1, 0, 0, 1, 1, 0, 1}
1019   ,
1020   {0, 1, 0, 0, 1, 1, 1, 0}
1021   ,
1022   {0, 1, 0, 0, 1, 1, 1, 1}
1023   ,
1024   {0, 1, 0, 1, 0, 0, 0, 0}
1025   ,
1026   {0, 1, 0, 1, 0, 0, 0, 1}
1027   ,
1028   {0, 1, 0, 1, 0, 0, 1, 0}
1029   ,
1030   {0, 1, 0, 1, 0, 0, 1, 1}
1031   ,
1032   {0, 1, 0, 1, 0, 1, 0, 0}
1033   ,
1034   {0, 1, 0, 1, 0, 1, 0, 1}
1035   ,
1036   {0, 1, 0, 1, 0, 1, 1, 0}
1037   ,
1038   {0, 1, 0, 1, 0, 1, 1, 1}
1039   ,
1040   {0, 1, 0, 1, 1, 0, 0, 0}
1041   ,
1042   {0, 1, 0, 1, 1, 0, 0, 1}
1043   ,
1044   {0, 1, 0, 1, 1, 0, 1, 0}
1045   ,
1046   {0, 1, 0, 1, 1, 0, 1, 1}
1047   ,
1048   {0, 1, 0, 1, 1, 1, 0, 0}
1049   ,
1050   {0, 1, 0, 1, 1, 1, 0, 1}
1051   ,
1052   {0, 1, 0, 1, 1, 1, 1, 0}
1053   ,
1054   {0, 1, 0, 1, 1, 1, 1, 1}
1055   ,
1056   {0, 1, 1, 0, 0, 0, 0, 0}
1057   ,
1058   {0, 1, 1, 0, 0, 0, 0, 1}
1059   ,
1060   {0, 1, 1, 0, 0, 0, 1, 0}
1061   ,
1062   {0, 1, 1, 0, 0, 0, 1, 1}
1063   ,
1064   {0, 1, 1, 0, 0, 1, 0, 0}
1065   ,
1066   {0, 1, 1, 0, 0, 1, 0, 1}
1067   ,
1068   {0, 1, 1, 0, 0, 1, 1, 0}
1069   ,
1070   {0, 1, 1, 0, 0, 1, 1, 1}
1071   ,
1072   {0, 1, 1, 0, 1, 0, 0, 0}
1073   ,
1074   {0, 1, 1, 0, 1, 0, 0, 1}
1075   ,
1076   {0, 1, 1, 0, 1, 0, 1, 0}
1077   ,
1078   {0, 1, 1, 0, 1, 0, 1, 1}
1079   ,
1080   {0, 1, 1, 0, 1, 1, 0, 0}
1081   ,
1082   {0, 1, 1, 0, 1, 1, 0, 1}
1083   ,
1084   {0, 1, 1, 0, 1, 1, 1, 0}
1085   ,
1086   {0, 1, 1, 0, 1, 1, 1, 1}
1087   ,
1088   {0, 1, 1, 1, 0, 0, 0, 0}
1089   ,
1090   {0, 1, 1, 1, 0, 0, 0, 1}
1091   ,
1092   {0, 1, 1, 1, 0, 0, 1, 0}
1093   ,
1094   {0, 1, 1, 1, 0, 0, 1, 1}
1095   ,
1096   {0, 1, 1, 1, 0, 1, 0, 0}
1097   ,
1098   {0, 1, 1, 1, 0, 1, 0, 1}
1099   ,
1100   {0, 1, 1, 1, 0, 1, 1, 0}
1101   ,
1102   {0, 1, 1, 1, 0, 1, 1, 1}
1103   ,
1104   {0, 1, 1, 1, 1, 0, 0, 0}
1105   ,
1106   {0, 1, 1, 1, 1, 0, 0, 1}
1107   ,
1108   {0, 1, 1, 1, 1, 0, 1, 0}
1109   ,
1110   {0, 1, 1, 1, 1, 0, 1, 1}
1111   ,
1112   {0, 1, 1, 1, 1, 1, 0, 0}
1113   ,
1114   {0, 1, 1, 1, 1, 1, 0, 1}
1115   ,
1116   {0, 1, 1, 1, 1, 1, 1, 0}
1117   ,
1118   {0, 1, 1, 1, 1, 1, 1, 1}
1119   ,
1120   {1, 0, 0, 0, 0, 0, 0, 0}
1121   ,
1122   {1, 0, 0, 0, 0, 0, 0, 1}
1123   ,
1124   {1, 0, 0, 0, 0, 0, 1, 0}
1125   ,
1126   {1, 0, 0, 0, 0, 0, 1, 1}
1127   ,
1128   {1, 0, 0, 0, 0, 1, 0, 0}
1129   ,
1130   {1, 0, 0, 0, 0, 1, 0, 1}
1131   ,
1132   {1, 0, 0, 0, 0, 1, 1, 0}
1133   ,
1134   {1, 0, 0, 0, 0, 1, 1, 1}
1135   ,
1136   {1, 0, 0, 0, 1, 0, 0, 0}
1137   ,
1138   {1, 0, 0, 0, 1, 0, 0, 1}
1139   ,
1140   {1, 0, 0, 0, 1, 0, 1, 0}
1141   ,
1142   {1, 0, 0, 0, 1, 0, 1, 1}
1143   ,
1144   {1, 0, 0, 0, 1, 1, 0, 0}
1145   ,
1146   {1, 0, 0, 0, 1, 1, 0, 1}
1147   ,
1148   {1, 0, 0, 0, 1, 1, 1, 0}
1149   ,
1150   {1, 0, 0, 0, 1, 1, 1, 1}
1151   ,
1152   {1, 0, 0, 1, 0, 0, 0, 0}
1153   ,
1154   {1, 0, 0, 1, 0, 0, 0, 1}
1155   ,
1156   {1, 0, 0, 1, 0, 0, 1, 0}
1157   ,
1158   {1, 0, 0, 1, 0, 0, 1, 1}
1159   ,
1160   {1, 0, 0, 1, 0, 1, 0, 0}
1161   ,
1162   {1, 0, 0, 1, 0, 1, 0, 1}
1163   ,
1164   {1, 0, 0, 1, 0, 1, 1, 0}
1165   ,
1166   {1, 0, 0, 1, 0, 1, 1, 1}
1167   ,
1168   {1, 0, 0, 1, 1, 0, 0, 0}
1169   ,
1170   {1, 0, 0, 1, 1, 0, 0, 1}
1171   ,
1172   {1, 0, 0, 1, 1, 0, 1, 0}
1173   ,
1174   {1, 0, 0, 1, 1, 0, 1, 1}
1175   ,
1176   {1, 0, 0, 1, 1, 1, 0, 0}
1177   ,
1178   {1, 0, 0, 1, 1, 1, 0, 1}
1179   ,
1180   {1, 0, 0, 1, 1, 1, 1, 0}
1181   ,
1182   {1, 0, 0, 1, 1, 1, 1, 1}
1183   ,
1184   {1, 0, 1, 0, 0, 0, 0, 0}
1185   ,
1186   {1, 0, 1, 0, 0, 0, 0, 1}
1187   ,
1188   {1, 0, 1, 0, 0, 0, 1, 0}
1189   ,
1190   {1, 0, 1, 0, 0, 0, 1, 1}
1191   ,
1192   {1, 0, 1, 0, 0, 1, 0, 0}
1193   ,
1194   {1, 0, 1, 0, 0, 1, 0, 1}
1195   ,
1196   {1, 0, 1, 0, 0, 1, 1, 0}
1197   ,
1198   {1, 0, 1, 0, 0, 1, 1, 1}
1199   ,
1200   {1, 0, 1, 0, 1, 0, 0, 0}
1201   ,
1202   {1, 0, 1, 0, 1, 0, 0, 1}
1203   ,
1204   {1, 0, 1, 0, 1, 0, 1, 0}
1205   ,
1206   {1, 0, 1, 0, 1, 0, 1, 1}
1207   ,
1208   {1, 0, 1, 0, 1, 1, 0, 0}
1209   ,
1210   {1, 0, 1, 0, 1, 1, 0, 1}
1211   ,
1212   {1, 0, 1, 0, 1, 1, 1, 0}
1213   ,
1214   {1, 0, 1, 0, 1, 1, 1, 1}
1215   ,
1216   {1, 0, 1, 1, 0, 0, 0, 0}
1217   ,
1218   {1, 0, 1, 1, 0, 0, 0, 1}
1219   ,
1220   {1, 0, 1, 1, 0, 0, 1, 0}
1221   ,
1222   {1, 0, 1, 1, 0, 0, 1, 1}
1223   ,
1224   {1, 0, 1, 1, 0, 1, 0, 0}
1225   ,
1226   {1, 0, 1, 1, 0, 1, 0, 1}
1227   ,
1228   {1, 0, 1, 1, 0, 1, 1, 0}
1229   ,
1230   {1, 0, 1, 1, 0, 1, 1, 1}
1231   ,
1232   {1, 0, 1, 1, 1, 0, 0, 0}
1233   ,
1234   {1, 0, 1, 1, 1, 0, 0, 1}
1235   ,
1236   {1, 0, 1, 1, 1, 0, 1, 0}
1237   ,
1238   {1, 0, 1, 1, 1, 0, 1, 1}
1239   ,
1240   {1, 0, 1, 1, 1, 1, 0, 0}
1241   ,
1242   {1, 0, 1, 1, 1, 1, 0, 1}
1243   ,
1244   {1, 0, 1, 1, 1, 1, 1, 0}
1245   ,
1246   {1, 0, 1, 1, 1, 1, 1, 1}
1247   ,
1248   {1, 1, 0, 0, 0, 0, 0, 0}
1249   ,
1250   {1, 1, 0, 0, 0, 0, 0, 1}
1251   ,
1252   {1, 1, 0, 0, 0, 0, 1, 0}
1253   ,
1254   {1, 1, 0, 0, 0, 0, 1, 1}
1255   ,
1256   {1, 1, 0, 0, 0, 1, 0, 0}
1257   ,
1258   {1, 1, 0, 0, 0, 1, 0, 1}
1259   ,
1260   {1, 1, 0, 0, 0, 1, 1, 0}
1261   ,
1262   {1, 1, 0, 0, 0, 1, 1, 1}
1263   ,
1264   {1, 1, 0, 0, 1, 0, 0, 0}
1265   ,
1266   {1, 1, 0, 0, 1, 0, 0, 1}
1267   ,
1268   {1, 1, 0, 0, 1, 0, 1, 0}
1269   ,
1270   {1, 1, 0, 0, 1, 0, 1, 1}
1271   ,
1272   {1, 1, 0, 0, 1, 1, 0, 0}
1273   ,
1274   {1, 1, 0, 0, 1, 1, 0, 1}
1275   ,
1276   {1, 1, 0, 0, 1, 1, 1, 0}
1277   ,
1278   {1, 1, 0, 0, 1, 1, 1, 1}
1279   ,
1280   {1, 1, 0, 1, 0, 0, 0, 0}
1281   ,
1282   {1, 1, 0, 1, 0, 0, 0, 1}
1283   ,
1284   {1, 1, 0, 1, 0, 0, 1, 0}
1285   ,
1286   {1, 1, 0, 1, 0, 0, 1, 1}
1287   ,
1288   {1, 1, 0, 1, 0, 1, 0, 0}
1289   ,
1290   {1, 1, 0, 1, 0, 1, 0, 1}
1291   ,
1292   {1, 1, 0, 1, 0, 1, 1, 0}
1293   ,
1294   {1, 1, 0, 1, 0, 1, 1, 1}
1295   ,
1296   {1, 1, 0, 1, 1, 0, 0, 0}
1297   ,
1298   {1, 1, 0, 1, 1, 0, 0, 1}
1299   ,
1300   {1, 1, 0, 1, 1, 0, 1, 0}
1301   ,
1302   {1, 1, 0, 1, 1, 0, 1, 1}
1303   ,
1304   {1, 1, 0, 1, 1, 1, 0, 0}
1305   ,
1306   {1, 1, 0, 1, 1, 1, 0, 1}
1307   ,
1308   {1, 1, 0, 1, 1, 1, 1, 0}
1309   ,
1310   {1, 1, 0, 1, 1, 1, 1, 1}
1311   ,
1312   {1, 1, 1, 0, 0, 0, 0, 0}
1313   ,
1314   {1, 1, 1, 0, 0, 0, 0, 1}
1315   ,
1316   {1, 1, 1, 0, 0, 0, 1, 0}
1317   ,
1318   {1, 1, 1, 0, 0, 0, 1, 1}
1319   ,
1320   {1, 1, 1, 0, 0, 1, 0, 0}
1321   ,
1322   {1, 1, 1, 0, 0, 1, 0, 1}
1323   ,
1324   {1, 1, 1, 0, 0, 1, 1, 0}
1325   ,
1326   {1, 1, 1, 0, 0, 1, 1, 1}
1327   ,
1328   {1, 1, 1, 0, 1, 0, 0, 0}
1329   ,
1330   {1, 1, 1, 0, 1, 0, 0, 1}
1331   ,
1332   {1, 1, 1, 0, 1, 0, 1, 0}
1333   ,
1334   {1, 1, 1, 0, 1, 0, 1, 1}
1335   ,
1336   {1, 1, 1, 0, 1, 1, 0, 0}
1337   ,
1338   {1, 1, 1, 0, 1, 1, 0, 1}
1339   ,
1340   {1, 1, 1, 0, 1, 1, 1, 0}
1341   ,
1342   {1, 1, 1, 0, 1, 1, 1, 1}
1343   ,
1344   {1, 1, 1, 1, 0, 0, 0, 0}
1345   ,
1346   {1, 1, 1, 1, 0, 0, 0, 1}
1347   ,
1348   {1, 1, 1, 1, 0, 0, 1, 0}
1349   ,
1350   {1, 1, 1, 1, 0, 0, 1, 1}
1351   ,
1352   {1, 1, 1, 1, 0, 1, 0, 0}
1353   ,
1354   {1, 1, 1, 1, 0, 1, 0, 1}
1355   ,
1356   {1, 1, 1, 1, 0, 1, 1, 0}
1357   ,
1358   {1, 1, 1, 1, 0, 1, 1, 1}
1359   ,
1360   {1, 1, 1, 1, 1, 0, 0, 0}
1361   ,
1362   {1, 1, 1, 1, 1, 0, 0, 1}
1363   ,
1364   {1, 1, 1, 1, 1, 0, 1, 0}
1365   ,
1366   {1, 1, 1, 1, 1, 0, 1, 1}
1367   ,
1368   {1, 1, 1, 1, 1, 1, 0, 0}
1369   ,
1370   {1, 1, 1, 1, 1, 1, 0, 1}
1371   ,
1372   {1, 1, 1, 1, 1, 1, 1, 0}
1373   ,
1374   {1, 1, 1, 1, 1, 1, 1, 1}
1375   ,
1376 };
1377 #endif
1378