xref: /minix3/games/banner/banner.c (revision f1489796fdbc75840ec4a9265fd71e9bb3d22b9a)
1*f1489796SJacob Adams /*	$NetBSD: banner.c,v 1.21 2012/10/13 19:44:36 dholland Exp $	*/
2*f1489796SJacob Adams 
3*f1489796SJacob Adams /*
4*f1489796SJacob Adams  * Copyright (c) 1980, 1993, 1994
5*f1489796SJacob Adams  *	The Regents of the University of California.  All rights reserved.
6*f1489796SJacob Adams  *
7*f1489796SJacob Adams  * Redistribution and use in source and binary forms, with or without
8*f1489796SJacob Adams  * modification, are permitted provided that the following conditions
9*f1489796SJacob Adams  * are met:
10*f1489796SJacob Adams  * 1. Redistributions of source code must retain the above copyright
11*f1489796SJacob Adams  *    notice, this list of conditions and the following disclaimer.
12*f1489796SJacob Adams  * 2. Redistributions in binary form must reproduce the above copyright
13*f1489796SJacob Adams  *    notice, this list of conditions and the following disclaimer in the
14*f1489796SJacob Adams  *    documentation and/or other materials provided with the distribution.
15*f1489796SJacob Adams  * 3. Neither the name of the University nor the names of its contributors
16*f1489796SJacob Adams  *    may be used to endorse or promote products derived from this software
17*f1489796SJacob Adams  *    without specific prior written permission.
18*f1489796SJacob Adams  *
19*f1489796SJacob Adams  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
20*f1489796SJacob Adams  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21*f1489796SJacob Adams  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22*f1489796SJacob Adams  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
23*f1489796SJacob Adams  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24*f1489796SJacob Adams  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25*f1489796SJacob Adams  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26*f1489796SJacob Adams  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27*f1489796SJacob Adams  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28*f1489796SJacob Adams  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29*f1489796SJacob Adams  * SUCH DAMAGE.
30*f1489796SJacob Adams  */
31*f1489796SJacob Adams 
32*f1489796SJacob Adams #include <sys/cdefs.h>
33*f1489796SJacob Adams #ifndef lint
34*f1489796SJacob Adams __COPYRIGHT("@(#) Copyright (c) 1980, 1993, 1994\
35*f1489796SJacob Adams  The Regents of the University of California.  All rights reserved.");
36*f1489796SJacob Adams #endif /* not lint */
37*f1489796SJacob Adams 
38*f1489796SJacob Adams #ifndef lint
39*f1489796SJacob Adams #if 0
40*f1489796SJacob Adams static char sccsid[] = "@(#)banner.c	8.4 (Berkeley) 4/29/95";
41*f1489796SJacob Adams #else
42*f1489796SJacob Adams __RCSID("$NetBSD: banner.c,v 1.21 2012/10/13 19:44:36 dholland Exp $");
43*f1489796SJacob Adams #endif
44*f1489796SJacob Adams #endif /* not lint */
45*f1489796SJacob Adams 
46*f1489796SJacob Adams /*
47*f1489796SJacob Adams  * banner - prints large signs
48*f1489796SJacob Adams  * banner [-dt] [-w width] [message]
49*f1489796SJacob Adams  */
50*f1489796SJacob Adams 
51*f1489796SJacob Adams #include <err.h>
52*f1489796SJacob Adams #include <stdio.h>
53*f1489796SJacob Adams #include <stdlib.h>
54*f1489796SJacob Adams #include <string.h>
55*f1489796SJacob Adams #include <unistd.h>
56*f1489796SJacob Adams 
57*f1489796SJacob Adams #define MAXMSG 1024
58*f1489796SJacob Adams #define DWIDTH 132
59*f1489796SJacob Adams #define NCHARS 128
60*f1489796SJacob Adams #define NBYTES 9271
61*f1489796SJacob Adams 
62*f1489796SJacob Adams /* Pointers into data_table for each ASCII char */
63*f1489796SJacob Adams static const int asc_ptr[NCHARS] = {
64*f1489796SJacob Adams /* ^@ */   0,      0,      0,      0,      0,      0,      0,      0,
65*f1489796SJacob Adams /* ^H */   0,      0,      0,      0,      0,      0,      0,      0,
66*f1489796SJacob Adams /* ^P */   0,      0,      0,      0,      0,      0,      0,      0,
67*f1489796SJacob Adams /* ^X */   0,      0,      0,      0,      0,      0,      0,      0,
68*f1489796SJacob Adams /*    */   1,      3,     50,     81,    104,    281,    483,    590,
69*f1489796SJacob Adams /*  ( */ 621,    685,    749,    851,    862,    893,    898,    921,
70*f1489796SJacob Adams /*  0 */1019,   1150,   1200,   1419,   1599,   1744,   1934,   2111,
71*f1489796SJacob Adams /*  8 */2235,   2445,   2622,   2659,      0,   2708,      0,   2715,
72*f1489796SJacob Adams /*  @ */2857,   3072,   3273,   3403,   3560,   3662,   3730,   3785,
73*f1489796SJacob Adams /*  H */3965,   4000,   4015,   4115,   4281,   4314,   4432,   4548,
74*f1489796SJacob Adams /*  P */4709,   4790,   4999,   5188,   5397,   5448,   5576,   5710,
75*f1489796SJacob Adams /*  X */5892,   6106,   6257,      0,      0,      0,      0,      0,
76*f1489796SJacob Adams /*  ` */  50,   6503,   6642,   6733,   6837,   6930,   7073,   7157,
77*f1489796SJacob Adams /*  h */7380,   7452,   7499,   7584,   7689,   7702,   7797,   7869,
78*f1489796SJacob Adams /*  p */7978,   8069,   8160,   8222,   8381,   8442,   8508,   8605,
79*f1489796SJacob Adams /*  x */8732,   8888,   9016,      0,      0,      0,      0,      0
80*f1489796SJacob Adams };
81*f1489796SJacob Adams 
82*f1489796SJacob Adams /*
83*f1489796SJacob Adams  * Table of stuff to print. Format:
84*f1489796SJacob Adams  * 128+n -> print current line n times.
85*f1489796SJacob Adams  * 64+n  -> this is last byte of char.
86*f1489796SJacob Adams  * else, put m chars at position n (where m
87*f1489796SJacob Adams  * is the next elt in array) and goto second
88*f1489796SJacob Adams  * next element in array.
89*f1489796SJacob Adams  */
90*f1489796SJacob Adams static const unsigned char data_table[NBYTES] = {
91*f1489796SJacob Adams /*             0     1     2     3     4     5     6     7     8     9 */
92*f1489796SJacob Adams /*    0 */   129,  227,  130,   34,    6,   90,   19,  129,   32,   10,
93*f1489796SJacob Adams /*   10 */    74,   40,  129,   31,   12,   64,   53,  129,   30,   14,
94*f1489796SJacob Adams /*   20 */    54,   65,  129,   30,   14,   53,   67,  129,   30,   14,
95*f1489796SJacob Adams /*   30 */    54,   65,  129,   31,   12,   64,   53,  129,   32,   10,
96*f1489796SJacob Adams /*   40 */    74,   40,  129,   34,    6,   90,   19,  129,  194,  130,
97*f1489796SJacob Adams /*   50 */    99,    9,  129,   97,   14,  129,   96,   18,  129,   95,
98*f1489796SJacob Adams /*   60 */    22,  129,   95,   16,  117,    2,  129,   95,   14,  129,
99*f1489796SJacob Adams /*   70 */    96,   11,  129,   97,    9,  129,   99,    6,  129,  194,
100*f1489796SJacob Adams /*   80 */   129,   87,    4,  101,    4,  131,   82,   28,  131,   87,
101*f1489796SJacob Adams /*   90 */     4,  101,    4,  133,   82,   28,  131,   87,    4,  101,
102*f1489796SJacob Adams /*  100 */     4,  131,  193,  129,   39,    1,   84,   27,  129,   38,
103*f1489796SJacob Adams /*  110 */     3,   81,   32,  129,   37,    5,   79,   35,  129,   36,
104*f1489796SJacob Adams /*  120 */     5,   77,   38,  129,   35,    5,   76,   40,  129,   34,
105*f1489796SJacob Adams /*  130 */     5,   75,   21,  103,   14,  129,   33,    5,   74,   19,
106*f1489796SJacob Adams /*  140 */   107,   11,  129,   32,    5,   73,   17,  110,    9,  129,
107*f1489796SJacob Adams /*  150 */    32,    4,   73,   16,  112,    7,  129,   31,    4,   72,
108*f1489796SJacob Adams /*  160 */    15,  114,    6,  129,   31,    4,   72,   14,  115,    5,
109*f1489796SJacob Adams /*  170 */   129,   30,    4,   71,   15,  116,    5,  129,   27,   97,
110*f1489796SJacob Adams /*  180 */   131,   30,    4,   69,   14,  117,    4,  129,   30,    4,
111*f1489796SJacob Adams /*  190 */    68,   15,  117,    4,  132,   30,    4,   68,   14,  117,
112*f1489796SJacob Adams /*  200 */     4,  129,   27,   97,  131,   30,    5,   65,   15,  116,
113*f1489796SJacob Adams /*  210 */     5,  129,   31,    4,   65,   14,  116,    4,  129,   31,
114*f1489796SJacob Adams /*  220 */     6,   64,   15,  116,    4,  129,   32,    7,   62,   16,
115*f1489796SJacob Adams /*  230 */   115,    4,  129,   32,    9,   61,   17,  114,    5,  129,
116*f1489796SJacob Adams /*  240 */    33,   11,   58,   19,  113,    5,  129,   34,   14,   55,
117*f1489796SJacob Adams /*  250 */    21,  112,    5,  129,   35,   40,  111,    5,  129,   36,
118*f1489796SJacob Adams /*  260 */    38,  110,    5,  129,   37,   35,  109,    5,  129,   38,
119*f1489796SJacob Adams /*  270 */    32,  110,    3,  129,   40,   27,  111,    1,  129,  193,
120*f1489796SJacob Adams /*  280 */   129,   30,    4,  103,    9,  129,   30,    7,  100,   15,
121*f1489796SJacob Adams /*  290 */   129,   30,   10,   99,   17,  129,   33,   10,   97,    6,
122*f1489796SJacob Adams /*  300 */   112,    6,  129,   36,   10,   96,    5,  114,    5,  129,
123*f1489796SJacob Adams /*  310 */    39,   10,   96,    4,  115,    4,  129,   42,   10,   95,
124*f1489796SJacob Adams /*  320 */     4,  116,    4,  129,   45,   10,   95,    3,  117,    3,
125*f1489796SJacob Adams /*  330 */   129,   48,   10,   95,    3,  117,    3,  129,   51,   10,
126*f1489796SJacob Adams /*  340 */    95,    4,  116,    4,  129,   54,   10,   96,    4,  115,
127*f1489796SJacob Adams /*  350 */     4,  129,   57,   10,   96,    5,  114,    5,  129,   60,
128*f1489796SJacob Adams /*  360 */    10,   97,    6,  112,    6,  129,   63,   10,   99,   17,
129*f1489796SJacob Adams /*  370 */   129,   66,   10,  100,   15,  129,   69,   10,  103,    9,
130*f1489796SJacob Adams /*  380 */   129,   39,    9,   72,   10,  129,   36,   15,   75,   10,
131*f1489796SJacob Adams /*  390 */   129,   35,   17,   78,   10,  129,   33,    6,   48,    6,
132*f1489796SJacob Adams /*  400 */    81,   10,  129,   32,    5,   50,    5,   84,   10,  129,
133*f1489796SJacob Adams /*  410 */    32,    4,   51,    4,   87,   10,  129,   31,    4,   52,
134*f1489796SJacob Adams /*  420 */     4,   90,   10,  129,   31,    3,   53,    3,   93,   10,
135*f1489796SJacob Adams /*  430 */   129,   31,    3,   53,    3,   96,   10,  129,   31,    4,
136*f1489796SJacob Adams /*  440 */    52,    4,   99,   10,  129,   32,    4,   51,    4,  102,
137*f1489796SJacob Adams /*  450 */    10,  129,   32,    5,   50,    5,  105,   10,  129,   33,
138*f1489796SJacob Adams /*  460 */     6,   48,    6,  108,   10,  129,   35,   17,  111,   10,
139*f1489796SJacob Adams /*  470 */   129,   36,   15,  114,    7,  129,   40,    9,  118,    4,
140*f1489796SJacob Adams /*  480 */   129,  193,  129,   48,   18,  129,   43,   28,  129,   41,
141*f1489796SJacob Adams /*  490 */    32,  129,   39,   36,  129,   37,   40,  129,   35,   44,
142*f1489796SJacob Adams /*  500 */   129,   34,   46,  129,   33,   13,   68,   13,  129,   32,
143*f1489796SJacob Adams /*  510 */     9,   73,    9,  129,   32,    7,   75,    7,  129,   31,
144*f1489796SJacob Adams /*  520 */     6,   77,    6,  129,   31,    5,   78,    5,  129,   30,
145*f1489796SJacob Adams /*  530 */     5,   79,    5,  129,   20,   74,  132,   30,    4,   80,
146*f1489796SJacob Adams /*  540 */     4,  129,   31,    3,   79,    4,  129,   31,    4,   79,
147*f1489796SJacob Adams /*  550 */     4,  129,   32,    3,   78,    4,  129,   32,    4,   76,
148*f1489796SJacob Adams /*  560 */     6,  129,   33,    4,   74,    7,  129,   34,    4,   72,
149*f1489796SJacob Adams /*  570 */     8,  129,   35,    5,   72,    7,  129,   37,    5,   73,
150*f1489796SJacob Adams /*  580 */     4,  129,   39,    4,   74,    1,  129,  129,  193,  130,
151*f1489796SJacob Adams /*  590 */   111,    6,  129,  109,   10,  129,  108,   12,  129,  107,
152*f1489796SJacob Adams /*  600 */    14,  129,   97,    2,  105,   16,  129,   99,   22,  129,
153*f1489796SJacob Adams /*  610 */   102,   18,  129,  105,   14,  129,  108,    9,  129,  194,
154*f1489796SJacob Adams /*  620 */   130,   63,   25,  129,   57,   37,  129,   52,   47,  129,
155*f1489796SJacob Adams /*  630 */    48,   55,  129,   44,   63,  129,   41,   69,  129,   38,
156*f1489796SJacob Adams /*  640 */    75,  129,   36,   79,  129,   34,   83,  129,   33,   28,
157*f1489796SJacob Adams /*  650 */    90,   28,  129,   32,   23,   96,   23,  129,   32,   17,
158*f1489796SJacob Adams /*  660 */   102,   17,  129,   31,   13,  107,   13,  129,   30,    9,
159*f1489796SJacob Adams /*  670 */   112,    9,  129,   30,    5,  116,    5,  129,   30,    1,
160*f1489796SJacob Adams /*  680 */   120,    1,  129,  194,  130,   30,    1,  120,    1,  129,
161*f1489796SJacob Adams /*  690 */    30,    5,  116,    5,  129,   30,    9,  112,    9,  129,
162*f1489796SJacob Adams /*  700 */    31,   13,  107,   13,  129,   32,   17,  102,   17,  129,
163*f1489796SJacob Adams /*  710 */    32,   23,   96,   23,  129,   33,   28,   90,   28,  129,
164*f1489796SJacob Adams /*  720 */    34,   83,  129,   36,   79,  129,   38,   75,  129,   41,
165*f1489796SJacob Adams /*  730 */    69,  129,   44,   63,  129,   48,   55,  129,   52,   47,
166*f1489796SJacob Adams /*  740 */   129,   57,   37,  129,   63,   25,  129,  194,  129,   80,
167*f1489796SJacob Adams /*  750 */     4,  130,   80,    4,  129,   68,    2,   80,    4,   94,
168*f1489796SJacob Adams /*  760 */     2,  129,   66,    6,   80,    4,   92,    6,  129,   67,
169*f1489796SJacob Adams /*  770 */     7,   80,    4,   90,    7,  129,   69,    7,   80,    4,
170*f1489796SJacob Adams /*  780 */    88,    7,  129,   71,    6,   80,    4,   87,    6,  129,
171*f1489796SJacob Adams /*  790 */    72,   20,  129,   74,   16,  129,   76,   12,  129,   62,
172*f1489796SJacob Adams /*  800 */    40,  131,   76,   12,  129,   74,   16,  129,   72,   20,
173*f1489796SJacob Adams /*  810 */   129,   71,    6,   80,    4,   87,    6,  129,   69,    7,
174*f1489796SJacob Adams /*  820 */    80,    4,   88,    7,  129,   67,    7,   80,    4,   90,
175*f1489796SJacob Adams /*  830 */     7,  129,   66,    6,   80,    4,   92,    6,  129,   68,
176*f1489796SJacob Adams /*  840 */     2,   80,    4,   94,    2,  129,   80,    4,  130,  193,
177*f1489796SJacob Adams /*  850 */   129,   60,    4,  139,   41,   42,  131,   60,    4,  139,
178*f1489796SJacob Adams /*  860 */   193,  130,   34,    6,  129,   32,   10,  129,   31,   12,
179*f1489796SJacob Adams /*  870 */   129,   30,   14,  129,   20,    2,   28,   16,  129,   22,
180*f1489796SJacob Adams /*  880 */    22,  129,   24,   19,  129,   27,   15,  129,   31,    9,
181*f1489796SJacob Adams /*  890 */   129,  194,  129,   60,    4,  152,  193,  130,   34,    6,
182*f1489796SJacob Adams /*  900 */   129,   32,   10,  129,   31,   12,  129,   30,   14,  131,
183*f1489796SJacob Adams /*  910 */    31,   12,  129,   32,   10,  129,   34,    6,  129,  194,
184*f1489796SJacob Adams /*  920 */   129,   30,    4,  129,   30,    7,  129,   30,   10,  129,
185*f1489796SJacob Adams /*  930 */    33,   10,  129,   36,   10,  129,   39,   10,  129,   42,
186*f1489796SJacob Adams /*  940 */    10,  129,   45,   10,  129,   48,   10,  129,   51,   10,
187*f1489796SJacob Adams /*  950 */   129,   54,   10,  129,   57,   10,  129,   60,   10,  129,
188*f1489796SJacob Adams /*  960 */    63,   10,  129,   66,   10,  129,   69,   10,  129,   72,
189*f1489796SJacob Adams /*  970 */    10,  129,   75,   10,  129,   78,   10,  129,   81,   10,
190*f1489796SJacob Adams /*  980 */   129,   84,   10,  129,   87,   10,  129,   90,   10,  129,
191*f1489796SJacob Adams /*  990 */    93,   10,  129,   96,   10,  129,   99,   10,  129,  102,
192*f1489796SJacob Adams /* 1000 */    10,  129,  105,   10,  129,  108,   10,  129,  111,   10,
193*f1489796SJacob Adams /* 1010 */   129,  114,    7,  129,  117,    4,  129,  193,  129,   60,
194*f1489796SJacob Adams /* 1020 */    31,  129,   53,   45,  129,   49,   53,  129,   46,   59,
195*f1489796SJacob Adams /* 1030 */   129,   43,   65,  129,   41,   69,  129,   39,   73,  129,
196*f1489796SJacob Adams /* 1040 */    37,   77,  129,   36,   79,  129,   35,   15,  101,   15,
197*f1489796SJacob Adams /* 1050 */   129,   34,   11,  106,   11,  129,   33,    9,  109,    9,
198*f1489796SJacob Adams /* 1060 */   129,   32,    7,  112,    7,  129,   31,    6,  114,    6,
199*f1489796SJacob Adams /* 1070 */   129,   31,    5,  115,    5,  129,   30,    5,  116,    5,
200*f1489796SJacob Adams /* 1080 */   129,   30,    4,  117,    4,  132,   30,    5,  116,    5,
201*f1489796SJacob Adams /* 1090 */   129,   31,    5,  115,    5,  129,   31,    6,  114,    6,
202*f1489796SJacob Adams /* 1100 */   129,   32,    7,  112,    7,  129,   33,    9,  109,    9,
203*f1489796SJacob Adams /* 1110 */   129,   34,   11,  106,   11,  129,   35,   15,  101,   15,
204*f1489796SJacob Adams /* 1120 */   129,   36,   79,  129,   37,   77,  129,   39,   73,  129,
205*f1489796SJacob Adams /* 1130 */    41,   69,  129,   43,   65,  129,   46,   59,  129,   49,
206*f1489796SJacob Adams /* 1140 */    53,  129,   53,   45,  129,   60,   31,  129,  193,  129,
207*f1489796SJacob Adams /* 1150 */    30,    4,  129,   30,    4,  100,    1,  129,   30,    4,
208*f1489796SJacob Adams /* 1160 */   100,    3,  129,   30,    4,  100,    5,  129,   30,   76,
209*f1489796SJacob Adams /* 1170 */   129,   30,   78,  129,   30,   80,  129,   30,   82,  129,
210*f1489796SJacob Adams /* 1180 */    30,   83,  129,   30,   85,  129,   30,   87,  129,   30,
211*f1489796SJacob Adams /* 1190 */    89,  129,   30,   91,  129,   30,    4,  132,  193,  129,
212*f1489796SJacob Adams /* 1200 */    30,    3,  129,   30,    7,  129,   30,   10,  112,    1,
213*f1489796SJacob Adams /* 1210 */   129,   30,   13,  112,    2,  129,   30,   16,  112,    3,
214*f1489796SJacob Adams /* 1220 */   129,   30,   18,  111,    5,  129,   30,   21,  111,    6,
215*f1489796SJacob Adams /* 1230 */   129,   30,   23,  112,    6,  129,   30,   14,   47,    8,
216*f1489796SJacob Adams /* 1240 */   113,    6,  129,   30,   14,   49,    8,  114,    5,  129,
217*f1489796SJacob Adams /* 1250 */    30,   14,   51,    8,  115,    5,  129,   30,   14,   53,
218*f1489796SJacob Adams /* 1260 */     8,  116,    4,  129,   30,   14,   55,    8,  116,    5,
219*f1489796SJacob Adams /* 1270 */   129,   30,   14,   56,    9,  117,    4,  129,   30,   14,
220*f1489796SJacob Adams /* 1280 */    57,    9,  117,    4,  129,   30,   14,   58,   10,  117,
221*f1489796SJacob Adams /* 1290 */     4,  129,   30,   14,   59,   10,  117,    4,  129,   30,
222*f1489796SJacob Adams /* 1300 */    14,   60,   11,  117,    4,  129,   30,   14,   61,   11,
223*f1489796SJacob Adams /* 1310 */   116,    5,  129,   30,   14,   62,   11,  116,    5,  129,
224*f1489796SJacob Adams /* 1320 */    30,   14,   63,   12,  115,    6,  129,   30,   14,   64,
225*f1489796SJacob Adams /* 1330 */    13,  114,    7,  129,   30,   14,   65,   13,  113,    8,
226*f1489796SJacob Adams /* 1340 */   129,   30,   14,   65,   15,  111,    9,  129,   30,   14,
227*f1489796SJacob Adams /* 1350 */    66,   16,  109,   11,  129,   30,   14,   67,   17,  107,
228*f1489796SJacob Adams /* 1360 */    12,  129,   30,   14,   68,   20,  103,   16,  129,   30,
229*f1489796SJacob Adams /* 1370 */    14,   69,   49,  129,   30,   14,   70,   47,  129,   30,
230*f1489796SJacob Adams /* 1380 */    14,   71,   45,  129,   30,   14,   73,   42,  129,   30,
231*f1489796SJacob Adams /* 1390 */    15,   75,   38,  129,   33,   12,   77,   34,  129,   36,
232*f1489796SJacob Adams /* 1400 */    10,   79,   30,  129,   40,    6,   82,   23,  129,   44,
233*f1489796SJacob Adams /* 1410 */     3,   86,   15,  129,   47,    1,  129,  193,  129,  129,
234*f1489796SJacob Adams /* 1420 */    38,    3,  129,   37,    5,  111,    1,  129,   36,    7,
235*f1489796SJacob Adams /* 1430 */   111,    2,  129,   35,    9,  110,    5,  129,   34,    8,
236*f1489796SJacob Adams /* 1440 */   110,    6,  129,   33,    7,  109,    8,  129,   32,    7,
237*f1489796SJacob Adams /* 1450 */   110,    8,  129,   32,    6,  112,    7,  129,   31,    6,
238*f1489796SJacob Adams /* 1460 */   113,    6,  129,   31,    5,  114,    6,  129,   30,    5,
239*f1489796SJacob Adams /* 1470 */   115,    5,  129,   30,    5,  116,    4,  129,   30,    4,
240*f1489796SJacob Adams /* 1480 */   117,    4,  131,   30,    4,  117,    4,  129,   30,    4,
241*f1489796SJacob Adams /* 1490 */    79,    2,  117,    4,  129,   30,    5,   78,    4,  117,
242*f1489796SJacob Adams /* 1500 */     4,  129,   30,    5,   77,    6,  116,    5,  129,   30,
243*f1489796SJacob Adams /* 1510 */     6,   76,    8,  115,    6,  129,   30,    7,   75,   11,
244*f1489796SJacob Adams /* 1520 */   114,    6,  129,   30,    8,   73,   15,  112,    8,  129,
245*f1489796SJacob Adams /* 1530 */    31,    9,   71,   19,  110,    9,  129,   31,   11,   68,
246*f1489796SJacob Adams /* 1540 */    26,  107,   12,  129,   32,   13,   65,   14,   82,   36,
247*f1489796SJacob Adams /* 1550 */   129,   32,   16,   61,   17,   83,   34,  129,   33,   44,
248*f1489796SJacob Adams /* 1560 */    84,   32,  129,   34,   42,   85,   30,  129,   35,   40,
249*f1489796SJacob Adams /* 1570 */    87,   27,  129,   36,   38,   89,   23,  129,   38,   34,
250*f1489796SJacob Adams /* 1580 */    92,   17,  129,   40,   30,   95,   11,  129,   42,   26,
251*f1489796SJacob Adams /* 1590 */   129,   45,   20,  129,   49,   11,  129,  193,  129,   49,
252*f1489796SJacob Adams /* 1600 */     1,  129,   49,    4,  129,   49,    6,  129,   49,    8,
253*f1489796SJacob Adams /* 1610 */   129,   49,   10,  129,   49,   12,  129,   49,   14,  129,
254*f1489796SJacob Adams /* 1620 */    49,   17,  129,   49,   19,  129,   49,   21,  129,   49,
255*f1489796SJacob Adams /* 1630 */    23,  129,   49,   14,   65,    9,  129,   49,   14,   67,
256*f1489796SJacob Adams /* 1640 */     9,  129,   49,   14,   69,    9,  129,   49,   14,   71,
257*f1489796SJacob Adams /* 1650 */    10,  129,   49,   14,   74,    9,  129,   49,   14,   76,
258*f1489796SJacob Adams /* 1660 */     9,  129,   49,   14,   78,    9,  129,   49,   14,   80,
259*f1489796SJacob Adams /* 1670 */     9,  129,   49,   14,   82,    9,  129,   49,   14,   84,
260*f1489796SJacob Adams /* 1680 */     9,  129,   30,    4,   49,   14,   86,   10,  129,   30,
261*f1489796SJacob Adams /* 1690 */     4,   49,   14,   89,    9,  129,   30,    4,   49,   14,
262*f1489796SJacob Adams /* 1700 */    91,    9,  129,   30,    4,   49,   14,   93,    9,  129,
263*f1489796SJacob Adams /* 1710 */    30,   74,  129,   30,   76,  129,   30,   78,  129,   30,
264*f1489796SJacob Adams /* 1720 */    81,  129,   30,   83,  129,   30,   85,  129,   30,   87,
265*f1489796SJacob Adams /* 1730 */   129,   30,   89,  129,   30,   91,  129,   30,    4,   49,
266*f1489796SJacob Adams /* 1740 */    14,  132,  193,  129,   37,    1,  129,   36,    3,   77,
267*f1489796SJacob Adams /* 1750 */     3,  129,   35,    5,   78,   11,  129,   34,    7,   78,
268*f1489796SJacob Adams /* 1760 */    21,  129,   33,    7,   79,   29,  129,   32,    7,   79,
269*f1489796SJacob Adams /* 1770 */    38,  129,   32,    6,   80,    4,   92,   29,  129,   31,
270*f1489796SJacob Adams /* 1780 */     6,   80,    5,  102,   19,  129,   31,    5,   80,    6,
271*f1489796SJacob Adams /* 1790 */   107,   14,  129,   31,    4,   81,    5,  107,   14,  129,
272*f1489796SJacob Adams /* 1800 */    30,    5,   81,    6,  107,   14,  129,   30,    4,   81,
273*f1489796SJacob Adams /* 1810 */     6,  107,   14,  130,   30,    4,   81,    7,  107,   14,
274*f1489796SJacob Adams /* 1820 */   129,   30,    4,   80,    8,  107,   14,  130,   30,    5,
275*f1489796SJacob Adams /* 1830 */    80,    8,  107,   14,  129,   30,    5,   79,    9,  107,
276*f1489796SJacob Adams /* 1840 */    14,  129,   31,    5,   79,    9,  107,   14,  129,   31,
277*f1489796SJacob Adams /* 1850 */     6,   78,   10,  107,   14,  129,   32,    6,   76,   11,
278*f1489796SJacob Adams /* 1860 */   107,   14,  129,   32,    8,   74,   13,  107,   14,  129,
279*f1489796SJacob Adams /* 1870 */    33,   10,   71,   16,  107,   14,  129,   33,   15,   67,
280*f1489796SJacob Adams /* 1880 */    19,  107,   14,  129,   34,   51,  107,   14,  129,   35,
281*f1489796SJacob Adams /* 1890 */    49,  107,   14,  129,   36,   47,  107,   14,  129,   37,
282*f1489796SJacob Adams /* 1900 */    45,  107,   14,  129,   39,   41,  107,   14,  129,   41,
283*f1489796SJacob Adams /* 1910 */    37,  107,   14,  129,   44,   32,  107,   14,  129,   47,
284*f1489796SJacob Adams /* 1920 */    25,  111,   10,  129,   51,   16,  115,    6,  129,  119,
285*f1489796SJacob Adams /* 1930 */     2,  129,  193,  129,   56,   39,  129,   51,   49,  129,
286*f1489796SJacob Adams /* 1940 */    47,   57,  129,   44,   63,  129,   42,   67,  129,   40,
287*f1489796SJacob Adams /* 1950 */    71,  129,   38,   75,  129,   37,   77,  129,   35,   81,
288*f1489796SJacob Adams /* 1960 */   129,   34,   16,   74,    5,  101,   16,  129,   33,   11,
289*f1489796SJacob Adams /* 1970 */    76,    5,  107,   11,  129,   32,    9,   77,    5,  110,
290*f1489796SJacob Adams /* 1980 */     9,  129,   32,    7,   79,    4,  112,    7,  129,   31,
291*f1489796SJacob Adams /* 1990 */     6,   80,    4,  114,    6,  129,   31,    5,   81,    4,
292*f1489796SJacob Adams /* 2000 */   115,    5,  129,   30,    5,   82,    4,  116,    5,  129,
293*f1489796SJacob Adams /* 2010 */    30,    4,   82,    4,  116,    5,  129,   30,    4,   82,
294*f1489796SJacob Adams /* 2020 */     5,  117,    4,  131,   30,    5,   82,    5,  117,    4,
295*f1489796SJacob Adams /* 2030 */   129,   31,    5,   81,    6,  117,    4,  129,   31,    6,
296*f1489796SJacob Adams /* 2040 */    80,    7,  117,    4,  129,   32,    7,   79,    8,  117,
297*f1489796SJacob Adams /* 2050 */     4,  129,   32,    9,   77,    9,  116,    5,  129,   33,
298*f1489796SJacob Adams /* 2060 */    11,   75,   11,  116,    4,  129,   34,   16,   69,   16,
299*f1489796SJacob Adams /* 2070 */   115,    5,  129,   35,   49,  114,    5,  129,   37,   46,
300*f1489796SJacob Adams /* 2080 */   113,    5,  129,   38,   44,  112,    6,  129,   40,   41,
301*f1489796SJacob Adams /* 2090 */   112,    5,  129,   42,   37,  113,    3,  129,   44,   33,
302*f1489796SJacob Adams /* 2100 */   114,    1,  129,   47,   27,  129,   51,   17,  129,  193,
303*f1489796SJacob Adams /* 2110 */   129,  103,    2,  129,  103,    6,  129,  104,    9,  129,
304*f1489796SJacob Adams /* 2120 */   105,   12,  129,  106,   15,  129,  107,   14,  135,   30,
305*f1489796SJacob Adams /* 2130 */    10,  107,   14,  129,   30,   17,  107,   14,  129,   30,
306*f1489796SJacob Adams /* 2140 */    25,  107,   14,  129,   30,   31,  107,   14,  129,   30,
307*f1489796SJacob Adams /* 2150 */    37,  107,   14,  129,   30,   42,  107,   14,  129,   30,
308*f1489796SJacob Adams /* 2160 */    46,  107,   14,  129,   30,   50,  107,   14,  129,   30,
309*f1489796SJacob Adams /* 2170 */    54,  107,   14,  129,   30,   58,  107,   14,  129,   59,
310*f1489796SJacob Adams /* 2180 */    32,  107,   14,  129,   64,   30,  107,   14,  129,   74,
311*f1489796SJacob Adams /* 2190 */    23,  107,   14,  129,   81,   18,  107,   14,  129,   86,
312*f1489796SJacob Adams /* 2200 */    16,  107,   14,  129,   91,   14,  107,   14,  129,   96,
313*f1489796SJacob Adams /* 2210 */    25,  129,  100,   21,  129,  104,   17,  129,  107,   14,
314*f1489796SJacob Adams /* 2220 */   129,  111,   10,  129,  114,    7,  129,  117,    4,  129,
315*f1489796SJacob Adams /* 2230 */   120,    1,  129,  193,  129,   48,   13,  129,   44,   21,
316*f1489796SJacob Adams /* 2240 */   129,   42,   26,  129,   40,   30,   92,   12,  129,   38,
317*f1489796SJacob Adams /* 2250 */    34,   88,   20,  129,   36,   37,   86,   25,  129,   35,
318*f1489796SJacob Adams /* 2260 */    39,   84,   29,  129,   34,   13,   63,   12,   82,   33,
319*f1489796SJacob Adams /* 2270 */   129,   33,   11,   67,    9,   80,   36,  129,   32,    9,
320*f1489796SJacob Adams /* 2280 */    70,    7,   79,   38,  129,   31,    8,   72,   46,  129,
321*f1489796SJacob Adams /* 2290 */    30,    7,   74,   22,  108,   11,  129,   30,    6,   75,
322*f1489796SJacob Adams /* 2300 */    19,  111,    9,  129,   30,    5,   75,   17,  113,    7,
323*f1489796SJacob Adams /* 2310 */   129,   30,    5,   74,   16,  114,    6,  129,   30,    4,
324*f1489796SJacob Adams /* 2320 */    73,   16,  115,    6,  129,   30,    4,   72,   16,  116,
325*f1489796SJacob Adams /* 2330 */     5,  129,   30,    4,   72,   15,  117,    4,  129,   30,
326*f1489796SJacob Adams /* 2340 */     4,   71,   16,  117,    4,  129,   30,    5,   70,   16,
327*f1489796SJacob Adams /* 2350 */   117,    4,  129,   30,    5,   70,   15,  117,    4,  129,
328*f1489796SJacob Adams /* 2360 */    30,    6,   69,   15,  116,    5,  129,   30,    7,   68,
329*f1489796SJacob Adams /* 2370 */    17,  115,    5,  129,   30,    9,   67,   19,  114,    6,
330*f1489796SJacob Adams /* 2380 */   129,   30,   10,   65,   22,  113,    6,  129,   31,   12,
331*f1489796SJacob Adams /* 2390 */    63,   27,  110,    9,  129,   32,   14,   60,   21,   84,
332*f1489796SJacob Adams /* 2400 */     9,  106,   12,  129,   33,   47,   85,   32,  129,   34,
333*f1489796SJacob Adams /* 2410 */    45,   86,   30,  129,   35,   43,   88,   26,  129,   36,
334*f1489796SJacob Adams /* 2420 */    40,   90,   22,  129,   38,   36,   93,   17,  129,   40,
335*f1489796SJacob Adams /* 2430 */    32,   96,   10,  129,   42,   28,  129,   44,   23,  129,
336*f1489796SJacob Adams /* 2440 */    48,   15,  129,  193,  129,   83,   17,  129,   77,   27,
337*f1489796SJacob Adams /* 2450 */   129,   36,    1,   74,   33,  129,   35,    3,   72,   37,
338*f1489796SJacob Adams /* 2460 */   129,   34,    5,   70,   41,  129,   33,    6,   69,   44,
339*f1489796SJacob Adams /* 2470 */   129,   33,    5,   68,   46,  129,   32,    5,   67,   49,
340*f1489796SJacob Adams /* 2480 */   129,   31,    5,   66,   17,  101,   16,  129,   31,    5,
341*f1489796SJacob Adams /* 2490 */    66,   11,  108,   10,  129,   30,    4,   65,    9,  110,
342*f1489796SJacob Adams /* 2500 */     9,  129,   30,    4,   64,    8,  112,    7,  129,   30,
343*f1489796SJacob Adams /* 2510 */     4,   64,    7,  114,    6,  129,   30,    4,   64,    6,
344*f1489796SJacob Adams /* 2520 */   115,    5,  129,   30,    4,   64,    5,  116,    5,  129,
345*f1489796SJacob Adams /* 2530 */    30,    4,   64,    5,  117,    4,  131,   30,    4,   65,
346*f1489796SJacob Adams /* 2540 */     4,  117,    4,  129,   30,    5,   65,    4,  116,    5,
347*f1489796SJacob Adams /* 2550 */   129,   31,    5,   66,    4,  115,    5,  129,   31,    6,
348*f1489796SJacob Adams /* 2560 */    67,    4,  114,    6,  129,   32,    7,   68,    4,  112,
349*f1489796SJacob Adams /* 2570 */     7,  129,   32,    9,   69,    5,  110,    9,  129,   33,
350*f1489796SJacob Adams /* 2580 */    11,   70,    5,  107,   11,  129,   34,   16,   72,    5,
351*f1489796SJacob Adams /* 2590 */   101,   16,  129,   35,   81,  129,   37,   77,  129,   38,
352*f1489796SJacob Adams /* 2600 */    75,  129,   40,   71,  129,   42,   67,  129,   44,   63,
353*f1489796SJacob Adams /* 2610 */   129,   47,   57,  129,   51,   49,  129,   56,   39,  129,
354*f1489796SJacob Adams /* 2620 */   193,  130,   34,    6,   74,    6,  129,   32,   10,   72,
355*f1489796SJacob Adams /* 2630 */    10,  129,   31,   12,   71,   12,  129,   30,   14,   70,
356*f1489796SJacob Adams /* 2640 */    14,  131,   31,   12,   71,   12,  129,   32,   10,   72,
357*f1489796SJacob Adams /* 2650 */    10,  129,   34,    6,   74,    6,  129,  194,  130,   34,
358*f1489796SJacob Adams /* 2660 */     6,   74,    6,  129,   32,   10,   72,   10,  129,   31,
359*f1489796SJacob Adams /* 2670 */    12,   71,   12,  129,   30,   14,   70,   14,  129,   20,
360*f1489796SJacob Adams /* 2680 */     2,   28,   16,   70,   14,  129,   22,   22,   70,   14,
361*f1489796SJacob Adams /* 2690 */   129,   24,   19,   71,   12,  129,   27,   15,   72,   10,
362*f1489796SJacob Adams /* 2700 */   129,   31,    9,   74,    6,  129,  194,  129,   53,    4,
363*f1489796SJacob Adams /* 2710 */    63,    4,  152,  193,  130,   99,    7,  129,   97,   13,
364*f1489796SJacob Adams /* 2720 */   129,   96,   16,  129,   96,   18,  129,   96,   19,  129,
365*f1489796SJacob Adams /* 2730 */    97,   19,  129,   99,    6,  110,    7,  129,  112,    6,
366*f1489796SJacob Adams /* 2740 */   129,  114,    5,  129,   34,    6,   57,    5,  115,    4,
367*f1489796SJacob Adams /* 2750 */   129,   32,   10,   54,   12,  116,    4,  129,   31,   12,
368*f1489796SJacob Adams /* 2760 */    53,   16,  117,    3,  129,   30,   14,   52,   20,  117,
369*f1489796SJacob Adams /* 2770 */     4,  129,   30,   14,   52,   23,  117,    4,  129,   30,
370*f1489796SJacob Adams /* 2780 */    14,   52,   25,  117,    4,  129,   31,   12,   52,   27,
371*f1489796SJacob Adams /* 2790 */   117,    4,  129,   32,   10,   53,   10,   70,   11,  116,
372*f1489796SJacob Adams /* 2800 */     5,  129,   34,    6,   55,    5,   73,   10,  115,    6,
373*f1489796SJacob Adams /* 2810 */   129,   74,   11,  114,    7,  129,   75,   12,  112,    9,
374*f1489796SJacob Adams /* 2820 */   129,   76,   13,  110,   10,  129,   77,   16,  106,   14,
375*f1489796SJacob Adams /* 2830 */   129,   78,   41,  129,   80,   38,  129,   81,   36,  129,
376*f1489796SJacob Adams /* 2840 */    82,   34,  129,   84,   30,  129,   86,   26,  129,   88,
377*f1489796SJacob Adams /* 2850 */    22,  129,   92,   14,  129,  194,  129,   55,   15,  129,
378*f1489796SJacob Adams /* 2860 */    50,   25,  129,   47,   32,  129,   45,   13,   70,   12,
379*f1489796SJacob Adams /* 2870 */   129,   43,    9,   76,   10,  129,   42,    6,   79,    8,
380*f1489796SJacob Adams /* 2880 */   129,   41,    5,   81,    7,  129,   40,    4,   84,    6,
381*f1489796SJacob Adams /* 2890 */   129,   39,    4,   59,   12,   85,    6,  129,   38,    4,
382*f1489796SJacob Adams /* 2900 */    55,   19,   87,    5,  129,   37,    4,   53,   23,   88,
383*f1489796SJacob Adams /* 2910 */     4,  129,   36,    4,   51,    8,   71,    6,   89,    4,
384*f1489796SJacob Adams /* 2920 */   129,   36,    4,   51,    6,   73,    4,   89,    4,  129,
385*f1489796SJacob Adams /* 2930 */    36,    4,   50,    6,   74,    4,   90,    3,  129,   35,
386*f1489796SJacob Adams /* 2940 */     4,   50,    5,   75,    3,   90,    4,  129,   35,    4,
387*f1489796SJacob Adams /* 2950 */    50,    4,   75,    4,   90,    4,  131,   35,    4,   50,
388*f1489796SJacob Adams /* 2960 */     5,   75,    4,   90,    4,  129,   36,    4,   51,    5,
389*f1489796SJacob Adams /* 2970 */    75,    4,   90,    4,  129,   36,    4,   51,    6,   75,
390*f1489796SJacob Adams /* 2980 */     4,   90,    4,  129,   36,    4,   53,   26,   90,    4,
391*f1489796SJacob Adams /* 2990 */   129,   37,    4,   54,   25,   90,    4,  129,   37,    4,
392*f1489796SJacob Adams /* 3000 */    52,   27,   90,    3,  129,   38,    4,   52,    4,   89,
393*f1489796SJacob Adams /* 3010 */     4,  129,   39,    4,   51,    4,   88,    4,  129,   40,
394*f1489796SJacob Adams /* 3020 */     4,   50,    4,   87,    5,  129,   41,    4,   50,    4,
395*f1489796SJacob Adams /* 3030 */    86,    5,  129,   42,    4,   50,    4,   85,    5,  129,
396*f1489796SJacob Adams /* 3040 */    43,    3,   50,    4,   83,    6,  129,   44,    2,   51,
397*f1489796SJacob Adams /* 3050 */     5,   80,    7,  129,   46,    1,   52,    6,   76,    9,
398*f1489796SJacob Adams /* 3060 */   129,   54,   28,  129,   56,   23,  129,   60,   16,  129,
399*f1489796SJacob Adams /* 3070 */   193,  129,   30,    4,  132,   30,    5,  129,   30,    8,
400*f1489796SJacob Adams /* 3080 */   129,   30,   12,  129,   30,   16,  129,   30,    4,   37,
401*f1489796SJacob Adams /* 3090 */    12,  129,   30,    4,   41,   12,  129,   30,    4,   44,
402*f1489796SJacob Adams /* 3100 */    13,  129,   30,    4,   48,   13,  129,   52,   13,  129,
403*f1489796SJacob Adams /* 3110 */    56,   12,  129,   58,   14,  129,   58,    4,   64,   12,
404*f1489796SJacob Adams /* 3120 */   129,   58,    4,   68,   12,  129,   58,    4,   72,   12,
405*f1489796SJacob Adams /* 3130 */   129,   58,    4,   75,   13,  129,   58,    4,   79,   13,
406*f1489796SJacob Adams /* 3140 */   129,   58,    4,   83,   13,  129,   58,    4,   87,   13,
407*f1489796SJacob Adams /* 3150 */   129,   58,    4,   91,   12,  129,   58,    4,   95,   12,
408*f1489796SJacob Adams /* 3160 */   129,   58,    4,   96,   15,  129,   58,    4,   93,   22,
409*f1489796SJacob Adams /* 3170 */   129,   58,    4,   89,   30,  129,   58,    4,   85,   36,
410*f1489796SJacob Adams /* 3180 */   129,   58,    4,   81,   38,  129,   58,    4,   77,   38,
411*f1489796SJacob Adams /* 3190 */   129,   58,    4,   73,   38,  129,   58,    4,   70,   37,
412*f1489796SJacob Adams /* 3200 */   129,   58,    4,   66,   37,  129,   58,   41,  129,   58,
413*f1489796SJacob Adams /* 3210 */    37,  129,   54,   38,  129,   30,    4,   50,   38,  129,
414*f1489796SJacob Adams /* 3220 */    30,    4,   46,   38,  129,   30,    4,   42,   38,  129,
415*f1489796SJacob Adams /* 3230 */    30,    4,   38,   39,  129,   30,   43,  129,   30,   39,
416*f1489796SJacob Adams /* 3240 */   129,   30,   35,  129,   30,   31,  129,   30,   27,  129,
417*f1489796SJacob Adams /* 3250 */    30,   24,  129,   30,   20,  129,   30,   16,  129,   30,
418*f1489796SJacob Adams /* 3260 */    12,  129,   30,    8,  129,   30,    5,  129,   30,    4,
419*f1489796SJacob Adams /* 3270 */   132,  193,  129,   30,    4,  117,    4,  132,   30,   91,
420*f1489796SJacob Adams /* 3280 */   137,   30,    4,   80,    4,  117,    4,  138,   30,    4,
421*f1489796SJacob Adams /* 3290 */    80,    5,  116,    5,  129,   30,    5,   79,    6,  116,
422*f1489796SJacob Adams /* 3300 */     5,  130,   30,    6,   78,    8,  115,    6,  129,   31,
423*f1489796SJacob Adams /* 3310 */     6,   77,    9,  115,    6,  129,   31,    7,   76,   11,
424*f1489796SJacob Adams /* 3320 */   114,    6,  129,   31,    8,   75,   14,  112,    8,  129,
425*f1489796SJacob Adams /* 3330 */    32,    8,   74,   16,  111,    9,  129,   32,    9,   73,
426*f1489796SJacob Adams /* 3340 */    19,  109,   10,  129,   33,   10,   71,   24,  106,   13,
427*f1489796SJacob Adams /* 3350 */   129,   33,   13,   68,   12,   83,   35,  129,   34,   16,
428*f1489796SJacob Adams /* 3360 */    64,   15,   84,   33,  129,   35,   43,   85,   31,  129,
429*f1489796SJacob Adams /* 3370 */    36,   41,   86,   29,  129,   37,   39,   88,   25,  129,
430*f1489796SJacob Adams /* 3380 */    38,   37,   90,   21,  129,   40,   33,   93,   15,  129,
431*f1489796SJacob Adams /* 3390 */    42,   29,   96,    9,  129,   45,   24,  129,   49,   16,
432*f1489796SJacob Adams /* 3400 */   129,  193,  129,   63,   25,  129,   57,   37,  129,   53,
433*f1489796SJacob Adams /* 3410 */    45,  129,   50,   51,  129,   47,   57,  129,   45,   61,
434*f1489796SJacob Adams /* 3420 */   129,   43,   65,  129,   41,   69,  129,   39,   73,  129,
435*f1489796SJacob Adams /* 3430 */    38,   25,   92,   21,  129,   36,   21,   97,   18,  129,
436*f1489796SJacob Adams /* 3440 */    35,   18,  102,   14,  129,   34,   16,  106,   11,  129,
437*f1489796SJacob Adams /* 3450 */    33,   14,  108,   10,  129,   32,   12,  111,    8,  129,
438*f1489796SJacob Adams /* 3460 */    32,   10,  113,    6,  129,   31,   10,  114,    6,  129,
439*f1489796SJacob Adams /* 3470 */    31,    8,  115,    5,  129,   30,    8,  116,    5,  129,
440*f1489796SJacob Adams /* 3480 */    30,    7,  116,    5,  129,   30,    6,  117,    4,  130,
441*f1489796SJacob Adams /* 3490 */    30,    5,  117,    4,  131,   31,    4,  116,    5,  129,
442*f1489796SJacob Adams /* 3500 */    32,    4,  116,    4,  129,   32,    5,  115,    5,  129,
443*f1489796SJacob Adams /* 3510 */    33,    4,  114,    5,  129,   34,    4,  112,    6,  129,
444*f1489796SJacob Adams /* 3520 */    35,    4,  110,    7,  129,   37,    4,  107,    9,  129,
445*f1489796SJacob Adams /* 3530 */    39,    4,  103,   12,  129,   41,    4,  103,   18,  129,
446*f1489796SJacob Adams /* 3540 */    43,    4,  103,   18,  129,   45,    5,  103,   18,  129,
447*f1489796SJacob Adams /* 3550 */    48,    5,  103,   18,  129,   51,    1,  129,  193,  129,
448*f1489796SJacob Adams /* 3560 */    30,    4,  117,    4,  132,   30,   91,  137,   30,    4,
449*f1489796SJacob Adams /* 3570 */   117,    4,  135,   30,    5,  116,    5,  130,   30,    6,
450*f1489796SJacob Adams /* 3580 */   115,    6,  130,   31,    6,  114,    6,  129,   31,    7,
451*f1489796SJacob Adams /* 3590 */   113,    7,  129,   32,    7,  112,    7,  129,   32,    8,
452*f1489796SJacob Adams /* 3600 */   111,    8,  129,   33,    9,  109,    9,  129,   33,   12,
453*f1489796SJacob Adams /* 3610 */   106,   12,  129,   34,   13,  104,   13,  129,   35,   15,
454*f1489796SJacob Adams /* 3620 */   101,   15,  129,   36,   19,   96,   19,  129,   37,   24,
455*f1489796SJacob Adams /* 3630 */    90,   24,  129,   39,   73,  129,   40,   71,  129,   42,
456*f1489796SJacob Adams /* 3640 */    67,  129,   44,   63,  129,   46,   59,  129,   49,   53,
457*f1489796SJacob Adams /* 3650 */   129,   52,   47,  129,   56,   39,  129,   61,   29,  129,
458*f1489796SJacob Adams /* 3660 */   193,  129,   30,    4,  117,    4,  132,   30,   91,  137,
459*f1489796SJacob Adams /* 3670 */    30,    4,   80,    4,  117,    4,  140,   30,    4,   79,
460*f1489796SJacob Adams /* 3680 */     6,  117,    4,  129,   30,    4,   77,   10,  117,    4,
461*f1489796SJacob Adams /* 3690 */   129,   30,    4,   73,   18,  117,    4,  132,   30,    4,
462*f1489796SJacob Adams /* 3700 */   117,    4,  130,   30,    5,  116,    5,  130,   30,    7,
463*f1489796SJacob Adams /* 3710 */   114,    7,  129,   30,    8,  113,    8,  129,   30,   11,
464*f1489796SJacob Adams /* 3720 */   110,   11,  129,   30,   18,  103,   18,  132,  193,  129,
465*f1489796SJacob Adams /* 3730 */    30,    4,  117,    4,  132,   30,   91,  137,   30,    4,
466*f1489796SJacob Adams /* 3740 */    80,    4,  117,    4,  132,   80,    4,  117,    4,  136,
467*f1489796SJacob Adams /* 3750 */    79,    6,  117,    4,  129,   77,   10,  117,    4,  129,
468*f1489796SJacob Adams /* 3760 */    73,   18,  117,    4,  132,  117,    4,  130,  116,    5,
469*f1489796SJacob Adams /* 3770 */   130,  114,    7,  129,  113,    8,  129,  110,   11,  129,
470*f1489796SJacob Adams /* 3780 */   103,   18,  132,  193,  129,   63,   25,  129,   57,   37,
471*f1489796SJacob Adams /* 3790 */   129,   53,   45,  129,   50,   51,  129,   47,   57,  129,
472*f1489796SJacob Adams /* 3800 */    45,   61,  129,   43,   65,  129,   41,   69,  129,   39,
473*f1489796SJacob Adams /* 3810 */    73,  129,   38,   25,   92,   21,  129,   36,   21,   97,
474*f1489796SJacob Adams /* 3820 */    18,  129,   35,   18,  102,   14,  129,   34,   16,  106,
475*f1489796SJacob Adams /* 3830 */    11,  129,   33,   14,  108,   10,  129,   32,   12,  111,
476*f1489796SJacob Adams /* 3840 */     8,  129,   32,   10,  113,    6,  129,   31,   10,  114,
477*f1489796SJacob Adams /* 3850 */     6,  129,   31,    8,  115,    5,  129,   30,    8,  116,
478*f1489796SJacob Adams /* 3860 */     5,  129,   30,    7,  116,    5,  129,   30,    6,  117,
479*f1489796SJacob Adams /* 3870 */     4,  130,   30,    5,  117,    4,  131,   30,    5,   75,
480*f1489796SJacob Adams /* 3880 */     4,  116,    5,  129,   31,    5,   75,    4,  116,    4,
481*f1489796SJacob Adams /* 3890 */   129,   31,    6,   75,    4,  115,    5,  129,   32,    7,
482*f1489796SJacob Adams /* 3900 */    75,    4,  114,    5,  129,   32,    9,   75,    4,  112,
483*f1489796SJacob Adams /* 3910 */     6,  129,   33,   11,   75,    4,  110,    7,  129,   34,
484*f1489796SJacob Adams /* 3920 */    15,   75,    4,  107,    9,  129,   35,   44,  103,   12,
485*f1489796SJacob Adams /* 3930 */   129,   36,   43,  103,   18,  129,   38,   41,  103,   18,
486*f1489796SJacob Adams /* 3940 */   129,   39,   40,  103,   18,  129,   41,   38,  103,   18,
487*f1489796SJacob Adams /* 3950 */   129,   44,   35,  129,   48,   31,  129,   52,   27,  129,
488*f1489796SJacob Adams /* 3960 */    61,   18,  129,  193,  129,   30,    4,  117,    4,  132,
489*f1489796SJacob Adams /* 3970 */    30,   91,  137,   30,    4,   80,    4,  117,    4,  132,
490*f1489796SJacob Adams /* 3980 */    80,    4,  140,   30,    4,   80,    4,  117,    4,  132,
491*f1489796SJacob Adams /* 3990 */    30,   91,  137,   30,    4,  117,    4,  132,  193,  129,
492*f1489796SJacob Adams /* 4000 */    30,    4,  117,    4,  132,   30,   91,  137,   30,    4,
493*f1489796SJacob Adams /* 4010 */   117,    4,  132,  193,  129,   44,    7,  129,   40,   13,
494*f1489796SJacob Adams /* 4020 */   129,   37,   17,  129,   35,   20,  129,   34,   22,  129,
495*f1489796SJacob Adams /* 4030 */    33,   23,  129,   32,   24,  129,   32,   23,  129,   31,
496*f1489796SJacob Adams /* 4040 */     6,   41,   13,  129,   31,    5,   42,   11,  129,   30,
497*f1489796SJacob Adams /* 4050 */     5,   44,    7,  129,   30,    4,  132,   30,    5,  130,
498*f1489796SJacob Adams /* 4060 */    31,    5,  129,   31,    6,  117,    4,  129,   31,    8,
499*f1489796SJacob Adams /* 4070 */   117,    4,  129,   32,    9,  117,    4,  129,   33,   11,
500*f1489796SJacob Adams /* 4080 */   117,    4,  129,   34,   87,  129,   35,   86,  129,   36,
501*f1489796SJacob Adams /* 4090 */    85,  129,   37,   84,  129,   38,   83,  129,   40,   81,
502*f1489796SJacob Adams /* 4100 */   129,   42,   79,  129,   45,   76,  129,   50,   71,  129,
503*f1489796SJacob Adams /* 4110 */   117,    4,  132,  193,  129,   30,    4,  117,    4,  132,
504*f1489796SJacob Adams /* 4120 */    30,   91,  137,   30,    4,   76,    8,  117,    4,  129,
505*f1489796SJacob Adams /* 4130 */    30,    4,   73,   13,  117,    4,  129,   30,    4,   70,
506*f1489796SJacob Adams /* 4140 */    18,  117,    4,  129,   30,    4,   67,   23,  117,    4,
507*f1489796SJacob Adams /* 4150 */   129,   65,   26,  129,   62,   31,  129,   59,   35,  129,
508*f1489796SJacob Adams /* 4160 */    56,   29,   89,    7,  129,   53,   29,   91,    7,  129,
509*f1489796SJacob Adams /* 4170 */    50,   29,   93,    7,  129,   47,   29,   95,    6,  129,
510*f1489796SJacob Adams /* 4180 */    30,    4,   45,   29,   96,    7,  129,   30,    4,   42,
511*f1489796SJacob Adams /* 4190 */    29,   98,    7,  129,   30,    4,   39,   30,  100,    6,
512*f1489796SJacob Adams /* 4200 */   129,   30,    4,   36,   30,  101,    7,  129,   30,   33,
513*f1489796SJacob Adams /* 4210 */   103,    7,  117,    4,  129,   30,   30,  105,    6,  117,
514*f1489796SJacob Adams /* 4220 */     4,  129,   30,   27,  106,    7,  117,    4,  129,   30,
515*f1489796SJacob Adams /* 4230 */    25,  108,    7,  117,    4,  129,   30,   22,  110,   11,
516*f1489796SJacob Adams /* 4240 */   129,   30,   19,  111,   10,  129,   30,   16,  113,    8,
517*f1489796SJacob Adams /* 4250 */   129,   30,   13,  115,    6,  129,   30,   11,  116,    5,
518*f1489796SJacob Adams /* 4260 */   129,   30,    8,  117,    4,  129,   30,    5,  117,    4,
519*f1489796SJacob Adams /* 4270 */   129,   30,    4,  117,    4,  130,   30,    4,  130,  193,
520*f1489796SJacob Adams /* 4280 */   129,   30,    4,  117,    4,  132,   30,   91,  137,   30,
521*f1489796SJacob Adams /* 4290 */     4,  117,    4,  132,   30,    4,  144,   30,    5,  130,
522*f1489796SJacob Adams /* 4300 */    30,    7,  129,   30,    8,  129,   30,   11,  129,   30,
523*f1489796SJacob Adams /* 4310 */    18,  132,  193,  129,   30,    4,  117,    4,  132,   30,
524*f1489796SJacob Adams /* 4320 */    91,  132,   30,    4,  103,   18,  129,   30,    4,   97,
525*f1489796SJacob Adams /* 4330 */    24,  129,   30,    4,   92,   29,  129,   30,    4,   87,
526*f1489796SJacob Adams /* 4340 */    34,  129,   81,   40,  129,   76,   45,  129,   70,   49,
527*f1489796SJacob Adams /* 4350 */   129,   65,   49,  129,   60,   49,  129,   55,   49,  129,
528*f1489796SJacob Adams /* 4360 */    50,   48,  129,   44,   49,  129,   39,   48,  129,   33,
529*f1489796SJacob Adams /* 4370 */    49,  129,   30,   47,  129,   34,   37,  129,   40,   26,
530*f1489796SJacob Adams /* 4380 */   129,   46,   19,  129,   52,   19,  129,   58,   19,  129,
531*f1489796SJacob Adams /* 4390 */    64,   19,  129,   70,   19,  129,   76,   19,  129,   82,
532*f1489796SJacob Adams /* 4400 */    19,  129,   30,    4,   88,   18,  129,   30,    4,   94,
533*f1489796SJacob Adams /* 4410 */    18,  129,   30,    4,  100,   18,  129,   30,    4,  106,
534*f1489796SJacob Adams /* 4420 */    15,  129,   30,   91,  137,   30,    4,  117,    4,  132,
535*f1489796SJacob Adams /* 4430 */   193,  129,   30,    4,  117,    4,  132,   30,   91,  132,
536*f1489796SJacob Adams /* 4440 */    30,    4,  107,   14,  129,   30,    4,  104,   17,  129,
537*f1489796SJacob Adams /* 4450 */    30,    4,  101,   20,  129,   30,    4,   99,   22,  129,
538*f1489796SJacob Adams /* 4460 */    96,   25,  129,   93,   28,  129,   91,   28,  129,   88,
539*f1489796SJacob Adams /* 4470 */    29,  129,   85,   29,  129,   82,   29,  129,   79,   29,
540*f1489796SJacob Adams /* 4480 */   129,   76,   29,  129,   74,   29,  129,   71,   29,  129,
541*f1489796SJacob Adams /* 4490 */    68,   29,  129,   65,   29,  129,   62,   29,  129,   60,
542*f1489796SJacob Adams /* 4500 */    29,  129,   57,   29,  129,   54,   29,  129,   51,   29,
543*f1489796SJacob Adams /* 4510 */   129,   49,   28,  129,   46,   29,  129,   43,   29,  129,
544*f1489796SJacob Adams /* 4520 */    40,   29,  117,    4,  129,   37,   29,  117,    4,  129,
545*f1489796SJacob Adams /* 4530 */    35,   29,  117,    4,  129,   32,   29,  117,    4,  129,
546*f1489796SJacob Adams /* 4540 */    30,   91,  132,  117,    4,  132,  193,  129,   63,   25,
547*f1489796SJacob Adams /* 4550 */   129,   57,   37,  129,   53,   45,  129,   50,   51,  129,
548*f1489796SJacob Adams /* 4560 */    47,   57,  129,   45,   61,  129,   43,   65,  129,   41,
549*f1489796SJacob Adams /* 4570 */    69,  129,   39,   73,  129,   38,   21,   92,   21,  129,
550*f1489796SJacob Adams /* 4580 */    36,   18,   97,   18,  129,   35,   14,  102,   14,  129,
551*f1489796SJacob Adams /* 4590 */    34,   11,  106,   11,  129,   33,   10,  108,   10,  129,
552*f1489796SJacob Adams /* 4600 */    32,    8,  111,    8,  129,   32,    6,  113,    6,  129,
553*f1489796SJacob Adams /* 4610 */    31,    6,  114,    6,  129,   31,    5,  115,    5,  129,
554*f1489796SJacob Adams /* 4620 */    30,    5,  116,    5,  130,   30,    4,  117,    4,  132,
555*f1489796SJacob Adams /* 4630 */    30,    5,  116,    5,  130,   31,    5,  115,    5,  129,
556*f1489796SJacob Adams /* 4640 */    31,    6,  114,    6,  129,   32,    6,  113,    6,  129,
557*f1489796SJacob Adams /* 4650 */    32,    8,  111,    8,  129,   33,   10,  108,   10,  129,
558*f1489796SJacob Adams /* 4660 */    34,   11,  106,   11,  129,   35,   14,  102,   14,  129,
559*f1489796SJacob Adams /* 4670 */    36,   18,   97,   18,  129,   38,   21,   92,   21,  129,
560*f1489796SJacob Adams /* 4680 */    39,   73,  129,   41,   69,  129,   43,   65,  129,   45,
561*f1489796SJacob Adams /* 4690 */    61,  129,   47,   57,  129,   50,   51,  129,   53,   45,
562*f1489796SJacob Adams /* 4700 */   129,   57,   37,  129,   63,   25,  129,  193,  129,   30,
563*f1489796SJacob Adams /* 4710 */     4,  117,    4,  132,   30,   91,  137,   30,    4,   80,
564*f1489796SJacob Adams /* 4720 */     4,  117,    4,  132,   80,    4,  117,    4,  134,   80,
565*f1489796SJacob Adams /* 4730 */     5,  116,    5,  131,   80,    6,  115,    6,  130,   81,
566*f1489796SJacob Adams /* 4740 */     6,  114,    6,  129,   81,    8,  112,    8,  129,   81,
567*f1489796SJacob Adams /* 4750 */     9,  111,    9,  129,   82,   10,  109,   10,  129,   82,
568*f1489796SJacob Adams /* 4760 */    13,  106,   13,  129,   83,   35,  129,   84,   33,  129,
569*f1489796SJacob Adams /* 4770 */    85,   31,  129,   86,   29,  129,   88,   25,  129,   90,
570*f1489796SJacob Adams /* 4780 */    21,  129,   93,   15,  129,   96,    9,  129,  193,  129,
571*f1489796SJacob Adams /* 4790 */    63,   25,  129,   57,   37,  129,   53,   45,  129,   50,
572*f1489796SJacob Adams /* 4800 */    51,  129,   47,   57,  129,   45,   61,  129,   43,   65,
573*f1489796SJacob Adams /* 4810 */   129,   41,   69,  129,   39,   73,  129,   38,   21,   92,
574*f1489796SJacob Adams /* 4820 */    21,  129,   36,   18,   97,   18,  129,   35,   14,  102,
575*f1489796SJacob Adams /* 4830 */    14,  129,   34,   11,  106,   11,  129,   33,   10,  108,
576*f1489796SJacob Adams /* 4840 */    10,  129,   32,    8,  111,    8,  129,   32,    6,  113,
577*f1489796SJacob Adams /* 4850 */     6,  129,   31,    6,  114,    6,  129,   31,    5,  115,
578*f1489796SJacob Adams /* 4860 */     5,  129,   30,    5,  116,    5,  130,   30,    4,   39,
579*f1489796SJacob Adams /* 4870 */     2,  117,    4,  129,   30,    4,   40,    4,  117,    4,
580*f1489796SJacob Adams /* 4880 */   129,   30,    4,   41,    5,  117,    4,  129,   30,    4,
581*f1489796SJacob Adams /* 4890 */    41,    6,  117,    4,  129,   30,    5,   40,    8,  116,
582*f1489796SJacob Adams /* 4900 */     5,  129,   30,    5,   39,   10,  116,    5,  129,   31,
583*f1489796SJacob Adams /* 4910 */     5,   38,   11,  115,    5,  129,   31,   18,  114,    6,
584*f1489796SJacob Adams /* 4920 */   129,   32,   17,  113,    6,  129,   32,   16,  111,    8,
585*f1489796SJacob Adams /* 4930 */   129,   33,   15,  108,   10,  129,   33,   14,  106,   11,
586*f1489796SJacob Adams /* 4940 */   129,   32,   17,  102,   14,  129,   31,   23,   97,   18,
587*f1489796SJacob Adams /* 4950 */   129,   31,   28,   92,   21,  129,   30,   82,  129,   30,
588*f1489796SJacob Adams /* 4960 */    80,  129,   30,   11,   43,   65,  129,   30,   10,   45,
589*f1489796SJacob Adams /* 4970 */    61,  129,   31,    8,   47,   57,  129,   32,    6,   50,
590*f1489796SJacob Adams /* 4980 */    51,  129,   33,    5,   53,   45,  129,   35,    4,   57,
591*f1489796SJacob Adams /* 4990 */    37,  129,   38,    2,   63,   25,  129,  193,  129,   30,
592*f1489796SJacob Adams /* 5000 */     4,  117,    4,  132,   30,   91,  137,   30,    4,   76,
593*f1489796SJacob Adams /* 5010 */     8,  117,    4,  129,   30,    4,   73,   11,  117,    4,
594*f1489796SJacob Adams /* 5020 */   129,   30,    4,   70,   14,  117,    4,  129,   30,    4,
595*f1489796SJacob Adams /* 5030 */    67,   17,  117,    4,  129,   65,   19,  117,    4,  129,
596*f1489796SJacob Adams /* 5040 */    62,   22,  117,    4,  129,   59,   25,  117,    4,  129,
597*f1489796SJacob Adams /* 5050 */    56,   28,  117,    4,  129,   53,   31,  117,    4,  129,
598*f1489796SJacob Adams /* 5060 */    50,   34,  117,    4,  129,   47,   29,   80,    5,  116,
599*f1489796SJacob Adams /* 5070 */     5,  129,   30,    4,   45,   29,   80,    5,  116,    5,
600*f1489796SJacob Adams /* 5080 */   129,   30,    4,   42,   29,   80,    5,  116,    5,  129,
601*f1489796SJacob Adams /* 5090 */    30,    4,   39,   30,   80,    6,  115,    6,  129,   30,
602*f1489796SJacob Adams /* 5100 */     4,   36,   30,   80,    6,  115,    6,  129,   30,   33,
603*f1489796SJacob Adams /* 5110 */    81,    6,  114,    6,  129,   30,   30,   81,    8,  112,
604*f1489796SJacob Adams /* 5120 */     8,  129,   30,   27,   81,    9,  111,    9,  129,   30,
605*f1489796SJacob Adams /* 5130 */    25,   82,   10,  109,   10,  129,   30,   22,   82,   13,
606*f1489796SJacob Adams /* 5140 */   106,   13,  129,   30,   19,   83,   35,  129,   30,   16,
607*f1489796SJacob Adams /* 5150 */    84,   33,  129,   30,   13,   85,   31,  129,   30,   11,
608*f1489796SJacob Adams /* 5160 */    86,   29,  129,   30,    8,   88,   25,  129,   30,    5,
609*f1489796SJacob Adams /* 5170 */    90,   21,  129,   30,    4,   93,   15,  129,   30,    4,
610*f1489796SJacob Adams /* 5180 */    96,    9,  129,   30,    4,  130,  193,  129,   30,   18,
611*f1489796SJacob Adams /* 5190 */   130,   30,   18,   89,   15,  129,   30,   18,   85,   23,
612*f1489796SJacob Adams /* 5200 */   129,   34,   11,   83,   27,  129,   34,    9,   81,   31,
613*f1489796SJacob Adams /* 5210 */   129,   33,    8,   79,   35,  129,   33,    6,   78,   16,
614*f1489796SJacob Adams /* 5220 */   106,    9,  129,   32,    6,   77,   15,  109,    7,  129,
615*f1489796SJacob Adams /* 5230 */    32,    5,   76,   14,  111,    6,  129,   31,    5,   75,
616*f1489796SJacob Adams /* 5240 */    14,  113,    5,  129,   31,    4,   74,   15,  114,    5,
617*f1489796SJacob Adams /* 5250 */   129,   31,    4,   74,   14,  115,    4,  129,   30,    4,
618*f1489796SJacob Adams /* 5260 */    73,   15,  116,    4,  129,   30,    4,   73,   14,  116,
619*f1489796SJacob Adams /* 5270 */     4,  129,   30,    4,   73,   14,  117,    4,  129,   30,
620*f1489796SJacob Adams /* 5280 */     4,   72,   15,  117,    4,  130,   30,    4,   71,   15,
621*f1489796SJacob Adams /* 5290 */   117,    4,  130,   30,    4,   70,   15,  117,    4,  129,
622*f1489796SJacob Adams /* 5300 */    30,    5,   70,   15,  117,    4,  129,   30,    5,   69,
623*f1489796SJacob Adams /* 5310 */    15,  116,    5,  129,   30,    6,   68,   16,  115,    5,
624*f1489796SJacob Adams /* 5320 */   129,   31,    6,   67,   16,  114,    6,  129,   31,    7,
625*f1489796SJacob Adams /* 5330 */    66,   17,  113,    6,  129,   32,    7,   64,   18,  111,
626*f1489796SJacob Adams /* 5340 */     8,  129,   32,    8,   62,   19,  109,    9,  129,   33,
627*f1489796SJacob Adams /* 5350 */     9,   60,   20,  107,   10,  129,   34,   11,   57,   22,
628*f1489796SJacob Adams /* 5360 */   103,   13,  129,   35,   43,  103,   18,  129,   36,   41,
629*f1489796SJacob Adams /* 5370 */   103,   18,  129,   38,   38,  103,   18,  129,   39,   35,
630*f1489796SJacob Adams /* 5380 */   103,   18,  129,   41,   31,  129,   43,   27,  129,   46,
631*f1489796SJacob Adams /* 5390 */    22,  129,   49,   14,  129,  193,  129,  103,   18,  132,
632*f1489796SJacob Adams /* 5400 */   110,   11,  129,  113,    8,  129,  114,    7,  129,  116,
633*f1489796SJacob Adams /* 5410 */     5,  130,  117,    4,  132,   30,    4,  117,    4,  132,
634*f1489796SJacob Adams /* 5420 */    30,   91,  137,   30,    4,  117,    4,  132,  117,    4,
635*f1489796SJacob Adams /* 5430 */   132,  116,    5,  130,  114,    7,  129,  113,    8,  129,
636*f1489796SJacob Adams /* 5440 */   110,   11,  129,  103,   18,  132,  193,  129,  117,    4,
637*f1489796SJacob Adams /* 5450 */   132,   56,   65,  129,   50,   71,  129,   46,   75,  129,
638*f1489796SJacob Adams /* 5460 */    44,   77,  129,   42,   79,  129,   40,   81,  129,   38,
639*f1489796SJacob Adams /* 5470 */    83,  129,   36,   85,  129,   35,   86,  129,   34,   20,
640*f1489796SJacob Adams /* 5480 */   117,    4,  129,   33,   17,  117,    4,  129,   32,   15,
641*f1489796SJacob Adams /* 5490 */   117,    4,  129,   32,   13,  117,    4,  129,   31,   12,
642*f1489796SJacob Adams /* 5500 */   129,   31,   10,  129,   31,    9,  129,   30,    9,  129,
643*f1489796SJacob Adams /* 5510 */    30,    8,  130,   30,    7,  132,   31,    6,  130,   31,
644*f1489796SJacob Adams /* 5520 */     7,  129,   32,    6,  129,   32,    7,  129,   33,    7,
645*f1489796SJacob Adams /* 5530 */   129,   34,    7,  129,   35,    8,  129,   36,    9,  117,
646*f1489796SJacob Adams /* 5540 */     4,  129,   38,    9,  117,    4,  129,   40,   10,  117,
647*f1489796SJacob Adams /* 5550 */     4,  129,   42,   12,  117,    4,  129,   44,   77,  129,
648*f1489796SJacob Adams /* 5560 */    46,   75,  129,   50,   71,  129,   56,   43,  100,   21,
649*f1489796SJacob Adams /* 5570 */   129,  117,    4,  132,  193,  129,  117,    4,  132,  115,
650*f1489796SJacob Adams /* 5580 */     6,  129,  110,   11,  129,  105,   16,  129,  101,   20,
651*f1489796SJacob Adams /* 5590 */   129,   96,   25,  129,   92,   29,  129,   87,   34,  129,
652*f1489796SJacob Adams /* 5600 */    83,   38,  129,   78,   43,  129,   74,   47,  129,   70,
653*f1489796SJacob Adams /* 5610 */    42,  117,    4,  129,   65,   42,  117,    4,  129,   60,
654*f1489796SJacob Adams /* 5620 */    43,  117,    4,  129,   56,   42,  129,   51,   42,  129,
655*f1489796SJacob Adams /* 5630 */    46,   43,  129,   42,   43,  129,   37,   44,  129,   33,
656*f1489796SJacob Adams /* 5640 */    43,  129,   30,   42,  129,   33,   34,  129,   38,   25,
657*f1489796SJacob Adams /* 5650 */   129,   42,   16,  129,   47,   15,  129,   52,   15,  129,
658*f1489796SJacob Adams /* 5660 */    57,   15,  129,   61,   16,  129,   66,   16,  129,   71,
659*f1489796SJacob Adams /* 5670 */    16,  129,   76,   16,  129,   80,   16,  129,   85,   16,
660*f1489796SJacob Adams /* 5680 */   117,    4,  129,   90,   16,  117,    4,  129,   95,   16,
661*f1489796SJacob Adams /* 5690 */   117,    4,  129,  100,   21,  129,  105,   16,  129,  110,
662*f1489796SJacob Adams /* 5700 */    11,  129,  114,    7,  129,  117,    4,  132,  193,  129,
663*f1489796SJacob Adams /* 5710 */   117,    4,  132,  115,    6,  129,  110,   11,  129,  105,
664*f1489796SJacob Adams /* 5720 */    16,  129,  101,   20,  129,   96,   25,  129,   92,   29,
665*f1489796SJacob Adams /* 5730 */   129,   87,   34,  129,   83,   38,  129,   78,   43,  129,
666*f1489796SJacob Adams /* 5740 */    74,   47,  129,   70,   42,  117,    4,  129,   65,   42,
667*f1489796SJacob Adams /* 5750 */   117,    4,  129,   60,   43,  117,    4,  129,   56,   42,
668*f1489796SJacob Adams /* 5760 */   129,   51,   42,  129,   46,   43,  129,   42,   43,  129,
669*f1489796SJacob Adams /* 5770 */    37,   44,  129,   33,   43,  129,   30,   42,  129,   33,
670*f1489796SJacob Adams /* 5780 */    34,  129,   38,   25,  129,   42,   16,  129,   47,   15,
671*f1489796SJacob Adams /* 5790 */   129,   52,   15,  129,   57,   15,  129,   61,   16,  129,
672*f1489796SJacob Adams /* 5800 */    65,   17,  129,   60,   27,  129,   56,   36,  129,   51,
673*f1489796SJacob Adams /* 5810 */    42,  129,   46,   43,  129,   42,   43,  129,   37,   44,
674*f1489796SJacob Adams /* 5820 */   129,   33,   43,  129,   30,   42,  129,   33,   34,  129,
675*f1489796SJacob Adams /* 5830 */    38,   25,  129,   42,   16,  129,   47,   15,  129,   52,
676*f1489796SJacob Adams /* 5840 */    15,  129,   57,   15,  129,   61,   16,  129,   66,   16,
677*f1489796SJacob Adams /* 5850 */   129,   71,   16,  129,   76,   16,  129,   80,   16,  129,
678*f1489796SJacob Adams /* 5860 */    85,   16,  117,    4,  129,   90,   16,  117,    4,  129,
679*f1489796SJacob Adams /* 5870 */    95,   16,  117,    4,  129,  100,   21,  129,  105,   16,
680*f1489796SJacob Adams /* 5880 */   129,  110,   11,  129,  114,    7,  129,  117,    4,  132,
681*f1489796SJacob Adams /* 5890 */   193,  129,   30,    4,  117,    4,  132,   30,    4,  115,
682*f1489796SJacob Adams /* 5900 */     6,  129,   30,    4,  112,    9,  129,   30,    6,  109,
683*f1489796SJacob Adams /* 5910 */    12,  129,   30,    9,  106,   15,  129,   30,   11,  103,
684*f1489796SJacob Adams /* 5920 */    18,  129,   30,   14,  100,   21,  129,   30,    4,   38,
685*f1489796SJacob Adams /* 5930 */     9,   98,   23,  129,   30,    4,   40,   10,   95,   26,
686*f1489796SJacob Adams /* 5940 */   129,   30,    4,   43,    9,   92,   29,  129,   46,    9,
687*f1489796SJacob Adams /* 5950 */    89,   32,  129,   49,    8,   86,   28,  117,    4,  129,
688*f1489796SJacob Adams /* 5960 */    51,    9,   83,   28,  117,    4,  129,   54,    9,   80,
689*f1489796SJacob Adams /* 5970 */    28,  117,    4,  129,   57,    8,   77,   28,  117,    4,
690*f1489796SJacob Adams /* 5980 */   129,   59,    9,   74,   28,  129,   62,   37,  129,   64,
691*f1489796SJacob Adams /* 5990 */    33,  129,   66,   28,  129,   63,   28,  129,   60,   28,
692*f1489796SJacob Adams /* 6000 */   129,   57,   28,  129,   54,   33,  129,   51,   39,  129,
693*f1489796SJacob Adams /* 6010 */    48,   29,   83,    9,  129,   30,    4,   45,   29,   86,
694*f1489796SJacob Adams /* 6020 */     9,  129,   30,    4,   42,   29,   89,    9,  129,   30,
695*f1489796SJacob Adams /* 6030 */     4,   39,   29,   92,    8,  129,   30,    4,   36,   29,
696*f1489796SJacob Adams /* 6040 */    94,    9,  129,   30,   32,   97,    9,  129,   30,   29,
697*f1489796SJacob Adams /* 6050 */   100,    8,  117,    4,  129,   30,   26,  103,    8,  117,
698*f1489796SJacob Adams /* 6060 */     4,  129,   30,   23,  105,    9,  117,    4,  129,   30,
699*f1489796SJacob Adams /* 6070 */    20,  108,   13,  129,   30,   18,  111,   10,  129,   30,
700*f1489796SJacob Adams /* 6080 */    15,  113,    8,  129,   30,   12,  116,    5,  129,   30,
701*f1489796SJacob Adams /* 6090 */     9,  117,    4,  129,   30,    6,  117,    4,  129,   30,
702*f1489796SJacob Adams /* 6100 */     4,  117,    4,  132,  193,  129,  117,    4,  132,  114,
703*f1489796SJacob Adams /* 6110 */     7,  129,  111,   10,  129,  108,   13,  129,  105,   16,
704*f1489796SJacob Adams /* 6120 */   129,  102,   19,  129,  100,   21,  129,   96,   25,  129,
705*f1489796SJacob Adams /* 6130 */    93,   28,  129,   90,   31,  129,   87,   34,  129,   84,
706*f1489796SJacob Adams /* 6140 */    30,  117,    4,  129,   30,    4,   81,   30,  117,    4,
707*f1489796SJacob Adams /* 6150 */   129,   30,    4,   78,   30,  117,    4,  129,   30,    4,
708*f1489796SJacob Adams /* 6160 */    75,   30,  117,    4,  129,   30,    4,   72,   30,  129,
709*f1489796SJacob Adams /* 6170 */    30,   69,  129,   30,   66,  129,   30,   63,  129,   30,
710*f1489796SJacob Adams /* 6180 */    60,  129,   30,   57,  129,   30,   54,  129,   30,   51,
711*f1489796SJacob Adams /* 6190 */   129,   30,   48,  129,   30,   51,  129,   30,    4,   73,
712*f1489796SJacob Adams /* 6200 */    12,  129,   30,    4,   76,   12,  129,   30,    4,   80,
713*f1489796SJacob Adams /* 6210 */    12,  129,   30,    4,   83,   12,  129,   87,   12,  129,
714*f1489796SJacob Adams /* 6220 */    90,   12,  117,    4,  129,   94,   11,  117,    4,  129,
715*f1489796SJacob Adams /* 6230 */    97,   12,  117,    4,  129,  101,   12,  117,    4,  129,
716*f1489796SJacob Adams /* 6240 */   104,   17,  129,  108,   13,  129,  111,   10,  129,  115,
717*f1489796SJacob Adams /* 6250 */     6,  129,  117,    4,  134,  193,  129,   30,    1,  103,
718*f1489796SJacob Adams /* 6260 */    18,  129,   30,    4,  103,   18,  129,   30,    7,  103,
719*f1489796SJacob Adams /* 6270 */    18,  129,   30,    9,  103,   18,  129,   30,   12,  110,
720*f1489796SJacob Adams /* 6280 */    11,  129,   30,   15,  113,    8,  129,   30,   18,  114,
721*f1489796SJacob Adams /* 6290 */     7,  129,   30,   21,  116,    5,  129,   30,   24,  116,
722*f1489796SJacob Adams /* 6300 */     5,  129,   30,   27,  117,    4,  129,   30,   30,  117,
723*f1489796SJacob Adams /* 6310 */     4,  129,   30,   33,  117,    4,  129,   30,    4,   37,
724*f1489796SJacob Adams /* 6320 */    28,  117,    4,  129,   30,    4,   40,   28,  117,    4,
725*f1489796SJacob Adams /* 6330 */   129,   30,    4,   42,   29,  117,    4,  129,   30,    4,
726*f1489796SJacob Adams /* 6340 */    45,   29,  117,    4,  129,   30,    4,   48,   29,  117,
727*f1489796SJacob Adams /* 6350 */     4,  129,   30,    4,   51,   29,  117,    4,  129,   30,
728*f1489796SJacob Adams /* 6360 */     4,   54,   29,  117,    4,  129,   30,    4,   57,   29,
729*f1489796SJacob Adams /* 6370 */   117,    4,  129,   30,    4,   59,   30,  117,    4,  129,
730*f1489796SJacob Adams /* 6380 */    30,    4,   62,   30,  117,    4,  129,   30,    4,   65,
731*f1489796SJacob Adams /* 6390 */    30,  117,    4,  129,   30,    4,   68,   30,  117,    4,
732*f1489796SJacob Adams /* 6400 */   129,   30,    4,   71,   30,  117,    4,  129,   30,    4,
733*f1489796SJacob Adams /* 6410 */    74,   30,  117,    4,  129,   30,    4,   77,   30,  117,
734*f1489796SJacob Adams /* 6420 */     4,  129,   30,    4,   80,   30,  117,    4,  129,   30,
735*f1489796SJacob Adams /* 6430 */     4,   83,   30,  117,    4,  129,   30,    4,   86,   35,
736*f1489796SJacob Adams /* 6440 */   129,   30,    4,   89,   32,  129,   30,    4,   91,   30,
737*f1489796SJacob Adams /* 6450 */   129,   30,    4,   94,   27,  129,   30,    5,   97,   24,
738*f1489796SJacob Adams /* 6460 */   129,   30,    5,  100,   21,  129,   30,    7,  103,   18,
739*f1489796SJacob Adams /* 6470 */   129,   30,    8,  106,   15,  129,   30,   11,  109,   12,
740*f1489796SJacob Adams /* 6480 */   129,   30,   18,  112,    9,  129,   30,   18,  115,    6,
741*f1489796SJacob Adams /* 6490 */   129,   30,   18,  117,    4,  129,   30,   18,  120,    1,
742*f1489796SJacob Adams /* 6500 */   129,  193,  129,   42,    8,  129,   38,   16,  129,   36,
743*f1489796SJacob Adams /* 6510 */    20,  129,   34,   24,   71,    5,  129,   33,   26,   69,
744*f1489796SJacob Adams /* 6520 */    10,  129,   32,   28,   68,   13,  129,   31,   30,   68,
745*f1489796SJacob Adams /* 6530 */    14,  129,   31,    9,   52,    9,   68,   15,  129,   30,
746*f1489796SJacob Adams /* 6540 */     8,   54,    8,   69,   14,  129,   30,    7,   55,    7,
747*f1489796SJacob Adams /* 6550 */    71,    4,   78,    6,  129,   30,    6,   56,    6,   79,
748*f1489796SJacob Adams /* 6560 */     5,  129,   30,    6,   56,    6,   80,    4,  130,   31,
749*f1489796SJacob Adams /* 6570 */     5,   56,    5,   80,    4,  129,   31,    5,   56,    5,
750*f1489796SJacob Adams /* 6580 */    79,    5,  129,   32,    5,   55,    5,   78,    6,  129,
751*f1489796SJacob Adams /* 6590 */    33,    5,   54,    5,   77,    7,  129,   34,    6,   52,
752*f1489796SJacob Adams /* 6600 */     6,   74,    9,  129,   35,   48,  129,   33,   49,  129,
753*f1489796SJacob Adams /* 6610 */    32,   49,  129,   31,   49,  129,   30,   49,  129,   30,
754*f1489796SJacob Adams /* 6620 */    47,  129,   30,   45,  129,   30,   41,  129,   30,    6,
755*f1489796SJacob Adams /* 6630 */   129,   30,    4,  129,   30,    3,  129,   30,    2,  129,
756*f1489796SJacob Adams /* 6640 */   193,  129,   30,    4,  117,    4,  130,   31,   90,  136,
757*f1489796SJacob Adams /* 6650 */    37,    5,   72,    5,  129,   35,    5,   74,    5,  129,
758*f1489796SJacob Adams /* 6660 */    33,    5,   76,    5,  129,   32,    5,   77,    5,  129,
759*f1489796SJacob Adams /* 6670 */    31,    5,   78,    5,  129,   31,    4,   79,    4,  129,
760*f1489796SJacob Adams /* 6680 */    30,    5,   79,    5,  131,   30,    6,   78,    6,  129,
761*f1489796SJacob Adams /* 6690 */    30,    7,   77,    7,  129,   31,    8,   75,    8,  129,
762*f1489796SJacob Adams /* 6700 */    31,   11,   72,   11,  129,   32,   15,   67,   15,  129,
763*f1489796SJacob Adams /* 6710 */    33,   48,  129,   34,   46,  129,   35,   44,  129,   37,
764*f1489796SJacob Adams /* 6720 */    40,  129,   39,   36,  129,   42,   30,  129,   46,   22,
765*f1489796SJacob Adams /* 6730 */   129,  193,  129,   48,   18,  129,   43,   28,  129,   41,
766*f1489796SJacob Adams /* 6740 */    32,  129,   39,   36,  129,   37,   40,  129,   35,   44,
767*f1489796SJacob Adams /* 6750 */   129,   34,   46,  129,   33,   13,   68,   13,  129,   32,
768*f1489796SJacob Adams /* 6760 */     9,   73,    9,  129,   32,    7,   75,    7,  129,   31,
769*f1489796SJacob Adams /* 6770 */     6,   77,    6,  129,   31,    5,   78,    5,  129,   30,
770*f1489796SJacob Adams /* 6780 */     5,   79,    5,  129,   30,    4,   80,    4,  133,   31,
771*f1489796SJacob Adams /* 6790 */     3,   79,    4,  129,   31,    4,   79,    4,  129,   32,
772*f1489796SJacob Adams /* 6800 */     3,   78,    4,  129,   32,    4,   76,    6,  129,   33,
773*f1489796SJacob Adams /* 6810 */     4,   74,    7,  129,   34,    4,   72,    8,  129,   35,
774*f1489796SJacob Adams /* 6820 */     5,   72,    7,  129,   37,    5,   73,    4,  129,   39,
775*f1489796SJacob Adams /* 6830 */     4,   74,    1,  129,  129,  193,  129,   46,   22,  129,
776*f1489796SJacob Adams /* 6840 */    42,   30,  129,   39,   36,  129,   37,   40,  129,   35,
777*f1489796SJacob Adams /* 6850 */    44,  129,   34,   46,  129,   33,   48,  129,   32,   15,
778*f1489796SJacob Adams /* 6860 */    67,   15,  129,   31,   11,   72,   11,  129,   31,    8,
779*f1489796SJacob Adams /* 6870 */    75,    8,  129,   30,    7,   77,    7,  129,   30,    6,
780*f1489796SJacob Adams /* 6880 */    78,    6,  129,   30,    5,   79,    5,  131,   31,    4,
781*f1489796SJacob Adams /* 6890 */    79,    4,  129,   31,    5,   78,    5,  129,   32,    5,
782*f1489796SJacob Adams /* 6900 */    77,    5,  129,   33,    5,   76,    5,  129,   35,    5,
783*f1489796SJacob Adams /* 6910 */    74,    5,  117,    4,  129,   37,    5,   72,    5,  117,
784*f1489796SJacob Adams /* 6920 */     4,  129,   30,   91,  136,   30,    4,  130,  193,  129,
785*f1489796SJacob Adams /* 6930 */    48,   18,  129,   43,   28,  129,   41,   32,  129,   39,
786*f1489796SJacob Adams /* 6940 */    36,  129,   37,   40,  129,   35,   44,  129,   34,   46,
787*f1489796SJacob Adams /* 6950 */   129,   33,   13,   55,    4,   68,   13,  129,   32,    9,
788*f1489796SJacob Adams /* 6960 */    55,    4,   73,    9,  129,   32,    7,   55,    4,   75,
789*f1489796SJacob Adams /* 6970 */     7,  129,   31,    6,   55,    4,   77,    6,  129,   31,
790*f1489796SJacob Adams /* 6980 */     5,   55,    4,   78,    5,  129,   30,    5,   55,    4,
791*f1489796SJacob Adams /* 6990 */    79,    5,  129,   30,    4,   55,    4,   80,    4,  132,
792*f1489796SJacob Adams /* 7000 */    30,    4,   55,    4,   79,    5,  129,   31,    3,   55,
793*f1489796SJacob Adams /* 7010 */     4,   78,    5,  129,   31,    4,   55,    4,   77,    6,
794*f1489796SJacob Adams /* 7020 */   129,   32,    3,   55,    4,   75,    7,  129,   32,    4,
795*f1489796SJacob Adams /* 7030 */    55,    4,   73,    9,  129,   33,    4,   55,    4,   68,
796*f1489796SJacob Adams /* 7040 */    13,  129,   34,    4,   55,   25,  129,   35,    5,   55,
797*f1489796SJacob Adams /* 7050 */    24,  129,   37,    5,   55,   22,  129,   39,    4,   55,
798*f1489796SJacob Adams /* 7060 */    20,  129,   55,   18,  129,   55,   16,  129,   55,   11,
799*f1489796SJacob Adams /* 7070 */   129,  193,  129,   80,    4,  129,   30,    4,   80,    4,
800*f1489796SJacob Adams /* 7080 */   130,   30,   78,  129,   30,   82,  129,   30,   85,  129,
801*f1489796SJacob Adams /* 7090 */    30,   87,  129,   30,   88,  129,   30,   89,  129,   30,
802*f1489796SJacob Adams /* 7100 */    90,  130,   30,    4,   80,    4,  115,    6,  129,   30,
803*f1489796SJacob Adams /* 7110 */     4,   80,    4,  117,    4,  129,   80,    4,  105,    6,
804*f1489796SJacob Adams /* 7120 */   117,    4,  129,   80,    4,  103,   10,  116,    5,  129,
805*f1489796SJacob Adams /* 7130 */    80,    4,  102,   19,  129,   80,    4,  101,   19,  129,
806*f1489796SJacob Adams /* 7140 */   101,   19,  129,  101,   18,  129,  102,   16,  129,  103,
807*f1489796SJacob Adams /* 7150 */    12,  129,  105,    6,  129,  193,  129,   12,   10,   59,
808*f1489796SJacob Adams /* 7160 */    11,  129,    9,   16,   55,   19,  129,    7,   20,   53,
809*f1489796SJacob Adams /* 7170 */    23,  129,    6,    7,   23,    5,   32,    6,   51,   27,
810*f1489796SJacob Adams /* 7180 */   129,    4,    7,   25,   16,   50,   29,  129,    3,    6,
811*f1489796SJacob Adams /* 7190 */    27,   16,   49,   31,  129,    2,    6,   28,   16,   48,
812*f1489796SJacob Adams /* 7200 */    33,  129,    1,    6,   27,   18,   47,   35,  129,    1,
813*f1489796SJacob Adams /* 7210 */     6,   27,   31,   71,   12,  129,    1,    5,   26,   15,
814*f1489796SJacob Adams /* 7220 */    44,   10,   75,    8,  129,    1,    5,   25,   14,   45,
815*f1489796SJacob Adams /* 7230 */     7,   77,    7,  129,    1,    5,   25,   13,   45,    5,
816*f1489796SJacob Adams /* 7240 */    79,    5,  129,    1,    5,   24,   14,   45,    4,   80,
817*f1489796SJacob Adams /* 7250 */     4,  129,    1,    5,   24,   13,   45,    4,   80,    4,
818*f1489796SJacob Adams /* 7260 */   129,    1,    5,   23,   14,   45,    4,   80,    4,  129,
819*f1489796SJacob Adams /* 7270 */     1,    5,   23,   13,   45,    4,   80,    4,  129,    1,
820*f1489796SJacob Adams /* 7280 */     6,   22,   13,   45,    5,   79,    5,  129,    1,    6,
821*f1489796SJacob Adams /* 7290 */    21,   14,   45,    7,   77,    7,  129,    1,    7,   21,
822*f1489796SJacob Adams /* 7300 */    13,   46,    8,   75,    8,  129,    1,    8,   20,   13,
823*f1489796SJacob Adams /* 7310 */    46,   12,   71,   12,  129,    1,   10,   18,   15,   47,
824*f1489796SJacob Adams /* 7320 */    35,  129,    2,   30,   48,   33,  129,    3,   29,   49,
825*f1489796SJacob Adams /* 7330 */    32,  129,    4,   27,   50,   31,  129,    5,   25,   51,
826*f1489796SJacob Adams /* 7340 */    27,   80,    2,   86,    4,  129,    7,   21,   53,   23,
827*f1489796SJacob Adams /* 7350 */    80,    3,   85,    6,  129,    9,   17,   55,   19,   80,
828*f1489796SJacob Adams /* 7360 */    12,  129,   12,   12,   59,   11,   81,   11,  129,   82,
829*f1489796SJacob Adams /* 7370 */    10,  129,   84,    7,  129,   86,    4,  129,  193,  129,
830*f1489796SJacob Adams /* 7380 */    30,    4,  117,    4,  130,   30,   91,  136,   30,    4,
831*f1489796SJacob Adams /* 7390 */    72,    5,  129,   30,    4,   74,    5,  129,   75,    5,
832*f1489796SJacob Adams /* 7400 */   129,   76,    5,  129,   76,    6,  129,   77,    6,  130,
833*f1489796SJacob Adams /* 7410 */    77,    7,  130,   76,    8,  129,   30,    4,   75,    9,
834*f1489796SJacob Adams /* 7420 */   129,   30,    4,   72,   12,  129,   30,   54,  129,   30,
835*f1489796SJacob Adams /* 7430 */    53,  130,   30,   52,  129,   30,   51,  129,   30,   49,
836*f1489796SJacob Adams /* 7440 */   129,   30,   46,  129,   30,   42,  129,   30,    4,  130,
837*f1489796SJacob Adams /* 7450 */   193,  129,   30,    4,   80,    4,  129,   30,    4,   80,
838*f1489796SJacob Adams /* 7460 */     4,  100,    6,  129,   30,   54,   98,   10,  129,   30,
839*f1489796SJacob Adams /* 7470 */    54,   97,   12,  129,   30,   54,   96,   14,  131,   30,
840*f1489796SJacob Adams /* 7480 */    54,   97,   12,  129,   30,   54,   98,   10,  129,   30,
841*f1489796SJacob Adams /* 7490 */    54,  100,    6,  129,   30,    4,  130,  193,  129,    7,
842*f1489796SJacob Adams /* 7500 */     6,  129,    4,   11,  129,    3,   13,  129,    2,   14,
843*f1489796SJacob Adams /* 7510 */   129,    1,   15,  130,    1,    3,    6,    9,  129,    1,
844*f1489796SJacob Adams /* 7520 */     3,    7,    6,  129,    1,    3,  130,    1,    4,  129,
845*f1489796SJacob Adams /* 7530 */     1,    5,   80,    4,  129,    1,    7,   80,    4,  100,
846*f1489796SJacob Adams /* 7540 */     6,  129,    2,   82,   98,   10,  129,    3,   81,   97,
847*f1489796SJacob Adams /* 7550 */    12,  129,    4,   80,   96,   14,  129,    5,   79,   96,
848*f1489796SJacob Adams /* 7560 */    14,  129,    7,   77,   96,   14,  129,   10,   74,   97,
849*f1489796SJacob Adams /* 7570 */    12,  129,   14,   70,   98,   10,  129,   19,   65,  100,
850*f1489796SJacob Adams /* 7580 */     6,  129,  193,  129,   30,    4,  117,    4,  130,   30,
851*f1489796SJacob Adams /* 7590 */    91,  136,   30,    4,   57,    9,  129,   30,    4,   55,
852*f1489796SJacob Adams /* 7600 */    12,  129,   52,   17,  129,   50,   20,  129,   48,   24,
853*f1489796SJacob Adams /* 7610 */   129,   46,   27,  129,   44,   21,   69,    6,  129,   41,
854*f1489796SJacob Adams /* 7620 */    22,   70,    6,   80,    4,  129,   30,    4,   39,   21,
855*f1489796SJacob Adams /* 7630 */    72,    6,   80,    4,  129,   30,    4,   36,   22,   73,
856*f1489796SJacob Adams /* 7640 */    11,  129,   30,   26,   75,    9,  129,   30,   23,   76,
857*f1489796SJacob Adams /* 7650 */     8,  129,   30,   21,   78,    6,  129,   30,   19,   79,
858*f1489796SJacob Adams /* 7660 */     5,  129,   30,   16,   80,    4,  129,   30,   14,   80,
859*f1489796SJacob Adams /* 7670 */     4,  129,   30,   12,  129,   30,   10,  129,   30,    7,
860*f1489796SJacob Adams /* 7680 */   129,   30,    5,  129,   30,    4,  130,  193,  129,   30,
861*f1489796SJacob Adams /* 7690 */     4,  117,    4,  130,   30,   91,  136,   30,    4,  130,
862*f1489796SJacob Adams /* 7700 */   193,  129,   30,    4,   80,    4,  130,   30,   54,  136,
863*f1489796SJacob Adams /* 7710 */    30,    4,   72,    5,  129,   30,    4,   74,    5,  129,
864*f1489796SJacob Adams /* 7720 */    75,    5,  129,   76,    5,  129,   30,    4,   75,    7,
865*f1489796SJacob Adams /* 7730 */   129,   30,    4,   74,    9,  129,   30,   54,  132,   30,
866*f1489796SJacob Adams /* 7740 */    53,  129,   30,   52,  129,   30,   51,  129,   30,   48,
867*f1489796SJacob Adams /* 7750 */   129,   30,    4,   72,    5,  129,   30,    4,   74,    5,
868*f1489796SJacob Adams /* 7760 */   129,   75,    5,  129,   76,    5,  129,   30,    4,   75,
869*f1489796SJacob Adams /* 7770 */     7,  129,   30,    4,   74,    9,  129,   30,   54,  132,
870*f1489796SJacob Adams /* 7780 */    30,   53,  129,   30,   52,  129,   30,   51,  129,   30,
871*f1489796SJacob Adams /* 7790 */    48,  129,   30,    4,  130,  193,  129,   30,    4,   80,
872*f1489796SJacob Adams /* 7800 */     4,  130,   30,   54,  136,   30,    4,   72,    5,  129,
873*f1489796SJacob Adams /* 7810 */    30,    4,   74,    5,  129,   75,    5,  129,   76,    5,
874*f1489796SJacob Adams /* 7820 */   129,   76,    6,  129,   77,    6,  130,   77,    7,  130,
875*f1489796SJacob Adams /* 7830 */    76,    8,  129,   30,    4,   75,    9,  129,   30,    4,
876*f1489796SJacob Adams /* 7840 */    72,   12,  129,   30,   54,  129,   30,   53,  130,   30,
877*f1489796SJacob Adams /* 7850 */    52,  129,   30,   51,  129,   30,   49,  129,   30,   46,
878*f1489796SJacob Adams /* 7860 */   129,   30,   42,  129,   30,    4,  130,  193,  129,   48,
879*f1489796SJacob Adams /* 7870 */    18,  129,   43,   28,  129,   41,   32,  129,   39,   36,
880*f1489796SJacob Adams /* 7880 */   129,   37,   40,  129,   35,   44,  129,   34,   46,  129,
881*f1489796SJacob Adams /* 7890 */    33,   13,   68,   13,  129,   32,    9,   73,    9,  129,
882*f1489796SJacob Adams /* 7900 */    32,    7,   75,    7,  129,   31,    6,   77,    6,  129,
883*f1489796SJacob Adams /* 7910 */    31,    5,   78,    5,  129,   30,    5,   79,    5,  129,
884*f1489796SJacob Adams /* 7920 */    30,    4,   80,    4,  132,   30,    5,   79,    5,  130,
885*f1489796SJacob Adams /* 7930 */    31,    5,   78,    5,  129,   31,    6,   77,    6,  129,
886*f1489796SJacob Adams /* 7940 */    32,    7,   75,    7,  129,   32,    9,   73,    9,  129,
887*f1489796SJacob Adams /* 7950 */    33,   13,   68,   13,  129,   34,   46,  129,   35,   44,
888*f1489796SJacob Adams /* 7960 */   129,   37,   40,  129,   39,   36,  129,   41,   32,  129,
889*f1489796SJacob Adams /* 7970 */    43,   28,  129,   48,   18,  129,  193,  129,    1,    3,
890*f1489796SJacob Adams /* 7980 */    80,    4,  130,    1,   83,  137,   37,    5,   72,    5,
891*f1489796SJacob Adams /* 7990 */   129,   35,    5,   74,    5,  129,   33,    5,   76,    5,
892*f1489796SJacob Adams /* 8000 */   129,   32,    5,   77,    5,  129,   31,    5,   78,    5,
893*f1489796SJacob Adams /* 8010 */   129,   31,    4,   79,    4,  129,   30,    5,   79,    5,
894*f1489796SJacob Adams /* 8020 */   131,   30,    6,   78,    6,  129,   30,    7,   77,    7,
895*f1489796SJacob Adams /* 8030 */   129,   31,    8,   75,    8,  129,   31,   11,   72,   11,
896*f1489796SJacob Adams /* 8040 */   129,   32,   15,   67,   15,  129,   33,   48,  129,   34,
897*f1489796SJacob Adams /* 8050 */    46,  129,   35,   44,  129,   37,   40,  129,   39,   36,
898*f1489796SJacob Adams /* 8060 */   129,   42,   30,  129,   46,   22,  129,  193,  129,   46,
899*f1489796SJacob Adams /* 8070 */    22,  129,   42,   30,  129,   39,   36,  129,   37,   40,
900*f1489796SJacob Adams /* 8080 */   129,   35,   44,  129,   34,   46,  129,   33,   48,  129,
901*f1489796SJacob Adams /* 8090 */    32,   15,   67,   15,  129,   31,   11,   72,   11,  129,
902*f1489796SJacob Adams /* 8100 */    31,    8,   75,    8,  129,   30,    7,   77,    7,  129,
903*f1489796SJacob Adams /* 8110 */    30,    6,   78,    6,  129,   30,    5,   79,    5,  131,
904*f1489796SJacob Adams /* 8120 */    31,    4,   79,    4,  129,   31,    5,   78,    5,  129,
905*f1489796SJacob Adams /* 8130 */    32,    5,   77,    5,  129,   33,    5,   76,    5,  129,
906*f1489796SJacob Adams /* 8140 */    35,    5,   74,    5,  129,   37,    5,   72,    5,  129,
907*f1489796SJacob Adams /* 8150 */     1,   83,  136,    1,    3,   80,    4,  130,  193,  129,
908*f1489796SJacob Adams /* 8160 */    30,    4,   80,    4,  130,   30,   54,  136,   30,    4,
909*f1489796SJacob Adams /* 8170 */    68,    6,  129,   30,    4,   70,    6,  129,   71,    7,
910*f1489796SJacob Adams /* 8180 */   129,   72,    7,  129,   73,    7,  129,   74,    7,  129,
911*f1489796SJacob Adams /* 8190 */    74,    8,  129,   75,    8,  130,   69,   15,  129,   67,
912*f1489796SJacob Adams /* 8200 */    17,  129,   66,   18,  129,   65,   19,  130,   65,   18,
913*f1489796SJacob Adams /* 8210 */   130,   66,   16,  129,   67,   13,  129,   69,    8,  129,
914*f1489796SJacob Adams /* 8220 */   193,  129,   30,   13,   64,    8,  129,   30,   13,   61,
915*f1489796SJacob Adams /* 8230 */    14,  129,   30,   13,   59,   18,  129,   30,   13,   57,
916*f1489796SJacob Adams /* 8240 */    22,  129,   33,    8,   56,   24,  129,   32,    7,   55,
917*f1489796SJacob Adams /* 8250 */    26,  129,   32,    6,   54,   28,  129,   31,    6,   53,
918*f1489796SJacob Adams /* 8260 */    16,   77,    6,  129,   31,    5,   53,   14,   79,    4,
919*f1489796SJacob Adams /* 8270 */   129,   30,    5,   52,   14,   80,    4,  129,   30,    5,
920*f1489796SJacob Adams /* 8280 */    52,   13,   80,    4,  129,   30,    4,   52,   13,   80,
921*f1489796SJacob Adams /* 8290 */     4,  129,   30,    4,   52,   12,   80,    4,  129,   30,
922*f1489796SJacob Adams /* 8300 */     4,   51,   13,   80,    4,  130,   30,    4,   50,   13,
923*f1489796SJacob Adams /* 8310 */    79,    5,  129,   30,    4,   50,   13,   78,    5,  129,
924*f1489796SJacob Adams /* 8320 */    30,    5,   49,   14,   77,    6,  129,   31,    4,   49,
925*f1489796SJacob Adams /* 8330 */    13,   76,    6,  129,   31,    5,   48,   14,   75,    7,
926*f1489796SJacob Adams /* 8340 */   129,   32,    5,   47,   14,   73,    8,  129,   32,    6,
927*f1489796SJacob Adams /* 8350 */    45,   16,   71,   13,  129,   33,   27,   71,   13,  129,
928*f1489796SJacob Adams /* 8360 */    34,   26,   71,   13,  129,   35,   24,   71,   13,  129,
929*f1489796SJacob Adams /* 8370 */    37,   20,  129,   39,   16,  129,   43,    9,  129,  193,
930*f1489796SJacob Adams /* 8380 */   129,   80,    4,  131,   41,   56,  129,   37,   60,  129,
931*f1489796SJacob Adams /* 8390 */    35,   62,  129,   33,   64,  129,   32,   65,  129,   31,
932*f1489796SJacob Adams /* 8400 */    66,  129,   30,   67,  130,   30,   11,   80,    4,  129,
933*f1489796SJacob Adams /* 8410 */    30,    9,   80,    4,  129,   30,    8,   80,    4,  129,
934*f1489796SJacob Adams /* 8420 */    31,    7,   80,    4,  129,   31,    6,  129,   32,    5,
935*f1489796SJacob Adams /* 8430 */   129,   33,    5,  129,   35,    4,  129,   38,    3,  129,
936*f1489796SJacob Adams /* 8440 */   193,  129,   80,    4,  130,   42,   42,  129,   38,   46,
937*f1489796SJacob Adams /* 8450 */   129,   35,   49,  129,   33,   51,  129,   32,   52,  129,
938*f1489796SJacob Adams /* 8460 */    31,   53,  130,   30,   54,  129,   30,   12,  129,   30,
939*f1489796SJacob Adams /* 8470 */     9,  129,   30,    8,  129,   30,    7,  130,   31,    6,
940*f1489796SJacob Adams /* 8480 */   130,   32,    6,  129,   33,    5,  129,   34,    5,  129,
941*f1489796SJacob Adams /* 8490 */    35,    5,   80,    4,  129,   37,    5,   80,    4,  129,
942*f1489796SJacob Adams /* 8500 */    30,   54,  136,   30,    4,  130,  193,  129,   80,    4,
943*f1489796SJacob Adams /* 8510 */   130,   77,    7,  129,   74,   10,  129,   70,   14,  129,
944*f1489796SJacob Adams /* 8520 */    66,   18,  129,   62,   22,  129,   59,   25,  129,   55,
945*f1489796SJacob Adams /* 8530 */    29,  129,   51,   33,  129,   47,   37,  129,   44,   32,
946*f1489796SJacob Adams /* 8540 */    80,    4,  129,   40,   32,   80,    4,  129,   36,   32,
947*f1489796SJacob Adams /* 8550 */   129,   32,   33,  129,   30,   31,  129,   33,   24,  129,
948*f1489796SJacob Adams /* 8560 */    36,   17,  129,   40,   12,  129,   44,   12,  129,   48,
949*f1489796SJacob Adams /* 8570 */    12,  129,   51,   13,  129,   55,   13,  129,   59,   13,
950*f1489796SJacob Adams /* 8580 */    80,    4,  129,   63,   13,   80,    4,  129,   67,   17,
951*f1489796SJacob Adams /* 8590 */   129,   71,   13,  129,   74,   10,  129,   78,    6,  129,
952*f1489796SJacob Adams /* 8600 */    80,    4,  131,  193,  129,   80,    4,  130,   77,    7,
953*f1489796SJacob Adams /* 8610 */   129,   74,   10,  129,   70,   14,  129,   66,   18,  129,
954*f1489796SJacob Adams /* 8620 */    62,   22,  129,   59,   25,  129,   55,   29,  129,   51,
955*f1489796SJacob Adams /* 8630 */    33,  129,   47,   37,  129,   44,   32,   80,    4,  129,
956*f1489796SJacob Adams /* 8640 */    40,   32,   80,    4,  129,   36,   32,  129,   32,   33,
957*f1489796SJacob Adams /* 8650 */   129,   30,   31,  129,   33,   24,  129,   36,   17,  129,
958*f1489796SJacob Adams /* 8660 */    40,   12,  129,   44,   12,  129,   47,   13,  129,   44,
959*f1489796SJacob Adams /* 8670 */    20,  129,   40,   28,  129,   36,   31,  129,   32,   32,
960*f1489796SJacob Adams /* 8680 */   129,   30,   30,  129,   33,   24,  129,   36,   17,  129,
961*f1489796SJacob Adams /* 8690 */    40,   12,  129,   44,   12,  129,   48,   12,  129,   51,
962*f1489796SJacob Adams /* 8700 */    13,  129,   55,   13,  129,   59,   13,   80,    4,  129,
963*f1489796SJacob Adams /* 8710 */    63,   13,   80,    4,  129,   67,   17,  129,   71,   13,
964*f1489796SJacob Adams /* 8720 */   129,   74,   10,  129,   78,    6,  129,   80,    4,  131,
965*f1489796SJacob Adams /* 8730 */   193,  129,   30,    4,   80,    4,  130,   30,    4,   79,
966*f1489796SJacob Adams /* 8740 */     5,  129,   30,    5,   77,    7,  129,   30,    6,   74,
967*f1489796SJacob Adams /* 8750 */    10,  129,   30,    8,   72,   12,  129,   30,   11,   69,
968*f1489796SJacob Adams /* 8760 */    15,  129,   30,   13,   67,   17,  129,   30,    4,   37,
969*f1489796SJacob Adams /* 8770 */     8,   64,   20,  129,   30,    4,   39,    8,   62,   22,
970*f1489796SJacob Adams /* 8780 */   129,   41,    8,   59,   25,  129,   43,    8,   57,   27,
971*f1489796SJacob Adams /* 8790 */   129,   45,    8,   55,   22,   80,    4,  129,   47,   27,
972*f1489796SJacob Adams /* 8800 */    80,    4,  129,   49,   23,  129,   47,   22,  129,   44,
973*f1489796SJacob Adams /* 8810 */    23,  129,   42,   22,  129,   30,    4,   39,   27,  129,
974*f1489796SJacob Adams /* 8820 */    30,    4,   37,   31,  129,   30,   27,   62,    8,  129,
975*f1489796SJacob Adams /* 8830 */    30,   25,   64,    8,  129,   30,   22,   66,    8,   80,
976*f1489796SJacob Adams /* 8840 */     4,  129,   30,   20,   68,    8,   80,    4,  129,   30,
977*f1489796SJacob Adams /* 8850 */    17,   70,    8,   80,    4,  129,   30,   15,   73,   11,
978*f1489796SJacob Adams /* 8860 */   129,   30,   12,   75,    9,  129,   30,   10,   77,    7,
979*f1489796SJacob Adams /* 8870 */   129,   30,    7,   79,    5,  129,   30,    5,   80,    4,
980*f1489796SJacob Adams /* 8880 */   129,   30,    4,   80,    4,  130,  193,  129,    4,    5,
981*f1489796SJacob Adams /* 8890 */    80,    4,  129,    2,    9,   80,    4,  129,    1,   11,
982*f1489796SJacob Adams /* 8900 */    77,    7,  129,    1,   12,   74,   10,  129,    1,   12,
983*f1489796SJacob Adams /* 8910 */    70,   14,  129,    1,   12,   66,   18,  129,    1,   11,
984*f1489796SJacob Adams /* 8920 */    62,   22,  129,    2,    9,   59,   25,  129,    4,   11,
985*f1489796SJacob Adams /* 8930 */    55,   29,  129,    7,   12,   51,   33,  129,   10,   12,
986*f1489796SJacob Adams /* 8940 */    47,   37,  129,   14,   12,   44,   32,   80,    4,  129,
987*f1489796SJacob Adams /* 8950 */    17,   13,   40,   32,   80,    4,  129,   21,   13,   36,
988*f1489796SJacob Adams /* 8960 */    32,  129,   25,   40,  129,   29,   32,  129,   33,   24,
989*f1489796SJacob Adams /* 8970 */   129,   36,   17,  129,   40,   12,  129,   44,   12,  129,
990*f1489796SJacob Adams /* 8980 */    48,   12,  129,   51,   13,  129,   55,   13,  129,   59,
991*f1489796SJacob Adams /* 8990 */    13,   80,    4,  129,   63,   13,   80,    4,  129,   67,
992*f1489796SJacob Adams /* 9000 */    17,  129,   71,   13,  129,   74,   10,  129,   78,    6,
993*f1489796SJacob Adams /* 9010 */   129,   80,    4,  131,  193,  129,   30,    1,   71,   13,
994*f1489796SJacob Adams /* 9020 */   129,   30,    3,   71,   13,  129,   30,    6,   71,   13,
995*f1489796SJacob Adams /* 9030 */   129,   30,    9,   75,    9,  129,   30,   11,   77,    7,
996*f1489796SJacob Adams /* 9040 */   129,   30,   14,   79,    5,  129,   30,   17,   79,    5,
997*f1489796SJacob Adams /* 9050 */   129,   30,   19,   80,    4,  129,   30,   22,   80,    4,
998*f1489796SJacob Adams /* 9060 */   129,   30,   25,   80,    4,  129,   30,   27,   80,    4,
999*f1489796SJacob Adams /* 9070 */   129,   30,    4,   36,   24,   80,    4,  129,   30,    4,
1000*f1489796SJacob Adams /* 9080 */    38,   25,   80,    4,  129,   30,    4,   41,   24,   80,
1001*f1489796SJacob Adams /* 9090 */     4,  129,   30,    4,   44,   24,   80,    4,  129,   30,
1002*f1489796SJacob Adams /* 9100 */     4,   46,   25,   80,    4,  129,   30,    4,   49,   25,
1003*f1489796SJacob Adams /* 9110 */    80,    4,  129,   30,    4,   52,   24,   80,    4,  129,
1004*f1489796SJacob Adams /* 9120 */    30,    4,   54,   30,  129,   30,    4,   57,   27,  129,
1005*f1489796SJacob Adams /* 9130 */    30,    4,   59,   25,  129,   30,    4,   62,   22,  129,
1006*f1489796SJacob Adams /* 9140 */    30,    4,   65,   19,  129,   30,    5,   67,   17,  129,
1007*f1489796SJacob Adams /* 9150 */    30,    5,   70,   14,  129,   30,    7,   73,   11,  129,
1008*f1489796SJacob Adams /* 9160 */    30,    9,   76,    8,  129,   30,   13,   78,    6,  129,
1009*f1489796SJacob Adams /* 9170 */    30,   13,   81,    3,  129,   30,   13,  129,  193,    2,
1010*f1489796SJacob Adams /* 9180 */     9,   59,   25,  129,    4,   11,   55,   29,  129,    7,
1011*f1489796SJacob Adams /* 9190 */    12,   51,   33,  129,   10,   12,   47,   37,  129,   14,
1012*f1489796SJacob Adams /* 9200 */    12,   44,   32,   80,    4,  129,   17,   13,   40,   32,
1013*f1489796SJacob Adams /* 9210 */    80,    4,  129,   21,   13,   36,   32,  129,   25,   40,
1014*f1489796SJacob Adams /* 9220 */   129,   29,   32,  129,   33,   24,  129,   36,   17,  129,
1015*f1489796SJacob Adams /* 9230 */    40,   12,  129,   44,   12,  129,   48,   12,  129,   51,
1016*f1489796SJacob Adams /* 9240 */    13,  129,   55,   13,  129,   59,   13,   80,    4,  129,
1017*f1489796SJacob Adams /* 9250 */    63,   13,   80,    4,  129,   67,   17,  129,   71,   13,
1018*f1489796SJacob Adams /* 9260 */   129,   74,   10,  129,   78,    6,  129,   80,    4,  131,
1019*f1489796SJacob Adams /* 9270 */   193
1020*f1489796SJacob Adams };
1021*f1489796SJacob Adams 
1022*f1489796SJacob Adams static char line[DWIDTH];
1023*f1489796SJacob Adams static char message[MAXMSG];
1024*f1489796SJacob Adams static char print[DWIDTH];
1025*f1489796SJacob Adams static int debug, linen, max, nchars, pc, term, trace;
1026*f1489796SJacob Adams static int width = DWIDTH;	/* -w option: scrunch letters to 80 columns */
1027*f1489796SJacob Adams 
1028*f1489796SJacob Adams __dead static void
toolong(void)1029*f1489796SJacob Adams toolong(void)
1030*f1489796SJacob Adams {
1031*f1489796SJacob Adams 	errx(EXIT_FAILURE, "message too long");
1032*f1489796SJacob Adams }
1033*f1489796SJacob Adams 
1034*f1489796SJacob Adams int
main(int argc,char * argv[])1035*f1489796SJacob Adams main(int argc, char *argv[])
1036*f1489796SJacob Adams {
1037*f1489796SJacob Adams 	int ch;
1038*f1489796SJacob Adams 	int i, j, x, y;
1039*f1489796SJacob Adams 
1040*f1489796SJacob Adams 	x = y = 0;
1041*f1489796SJacob Adams 
1042*f1489796SJacob Adams 	while ((ch = getopt(argc, argv, "w:td")) != -1)
1043*f1489796SJacob Adams 		switch (ch) {
1044*f1489796SJacob Adams 		case 'd':
1045*f1489796SJacob Adams 			debug = 1;
1046*f1489796SJacob Adams 			break;
1047*f1489796SJacob Adams 		case 't':
1048*f1489796SJacob Adams 			trace = 1;
1049*f1489796SJacob Adams 			break;
1050*f1489796SJacob Adams 		case 'w':
1051*f1489796SJacob Adams 			width = atoi(optarg);
1052*f1489796SJacob Adams 			if (width <= 0 || width > DWIDTH)
1053*f1489796SJacob Adams 				errx(1, "illegal argument for -w option");
1054*f1489796SJacob Adams 			break;
1055*f1489796SJacob Adams 		case '?':
1056*f1489796SJacob Adams 		default:
1057*f1489796SJacob Adams 			(void)fprintf(stderr, "usage: banner [-w width] [message]\n");
1058*f1489796SJacob Adams 			exit(1);
1059*f1489796SJacob Adams 		}
1060*f1489796SJacob Adams 	argc -= optind;
1061*f1489796SJacob Adams 	argv += optind;
1062*f1489796SJacob Adams 
1063*f1489796SJacob Adams 	for (i = 0; i < width; i++) {
1064*f1489796SJacob Adams 		j = i * DWIDTH / width;
1065*f1489796SJacob Adams 		print[j] = 1;
1066*f1489796SJacob Adams 	}
1067*f1489796SJacob Adams 
1068*f1489796SJacob Adams 	/* Have now read in the data. Next get the message to be printed. */
1069*f1489796SJacob Adams 	if (*argv) {
1070*f1489796SJacob Adams 		const size_t msize = sizeof(message);
1071*f1489796SJacob Adams 
1072*f1489796SJacob Adams 		if (strlcpy(message, *argv, msize) >= msize)
1073*f1489796SJacob Adams 			toolong();
1074*f1489796SJacob Adams 		while (*++argv) {
1075*f1489796SJacob Adams 			if (strlcat(message, " ", msize) >= msize)
1076*f1489796SJacob Adams 				toolong();
1077*f1489796SJacob Adams 			if (strlcat(message, *argv, msize) >= msize)
1078*f1489796SJacob Adams 				toolong();
1079*f1489796SJacob Adams 		}
1080*f1489796SJacob Adams 		nchars = strlen(message);
1081*f1489796SJacob Adams 	} else {
1082*f1489796SJacob Adams 		if (isatty(fileno(stdin)))
1083*f1489796SJacob Adams 			fprintf(stderr,"Message: ");
1084*f1489796SJacob Adams 		(void)fgets(message, sizeof(message), stdin);
1085*f1489796SJacob Adams 		nchars = strlen(message);
1086*f1489796SJacob Adams 		message[nchars--] = '\0';	/* get rid of newline */
1087*f1489796SJacob Adams 	}
1088*f1489796SJacob Adams 
1089*f1489796SJacob Adams 	/* some debugging print statements */
1090*f1489796SJacob Adams 	if (debug) {
1091*f1489796SJacob Adams 		printf("int asc_ptr[128] = {\n");
1092*f1489796SJacob Adams 		for (i = 0; i < 128; i++) {
1093*f1489796SJacob Adams 			printf("%4d,   ",asc_ptr[i]);
1094*f1489796SJacob Adams 			if ((i+1) % 8 == 0)
1095*f1489796SJacob Adams 				printf("\n");
1096*f1489796SJacob Adams 		}
1097*f1489796SJacob Adams 		printf("};\nchar data_table[NBYTES] = {\n");
1098*f1489796SJacob Adams 		printf("  /*   ");
1099*f1489796SJacob Adams 		for (i = 0; i < 10; i++) printf(" %3d  ",i);
1100*f1489796SJacob Adams 		printf("   */\n");
1101*f1489796SJacob Adams 		for (i = 0; i < NBYTES; i += 10) {
1102*f1489796SJacob Adams 			printf("/* %4d */  ",i);
1103*f1489796SJacob Adams 			for (j = i; j < i+10; j++) {
1104*f1489796SJacob Adams 				x = data_table[j];
1105*f1489796SJacob Adams 				printf(" %3d, ",x);
1106*f1489796SJacob Adams 			}
1107*f1489796SJacob Adams 			putchar('\n');
1108*f1489796SJacob Adams 		}
1109*f1489796SJacob Adams 		printf("};\n");
1110*f1489796SJacob Adams 	}
1111*f1489796SJacob Adams 
1112*f1489796SJacob Adams 	/* check message to make sure it's legal */
1113*f1489796SJacob Adams 	j = 0;
1114*f1489796SJacob Adams 	for (i = 0; i < nchars; i++)
1115*f1489796SJacob Adams 		if ((u_char) message[i] >= NCHARS ||
1116*f1489796SJacob Adams 		    asc_ptr[(u_char) message[i]] == 0) {
1117*f1489796SJacob Adams 			warnx("The character '%c' is not in my character set",
1118*f1489796SJacob Adams 				message[i]);
1119*f1489796SJacob Adams 			j++;
1120*f1489796SJacob Adams 		}
1121*f1489796SJacob Adams 	if (j)
1122*f1489796SJacob Adams 		exit(1);
1123*f1489796SJacob Adams 
1124*f1489796SJacob Adams 	if (trace)
1125*f1489796SJacob Adams 		printf("Message '%s' is OK\n",message);
1126*f1489796SJacob Adams 	/* Now have message. Print it one character at a time.  */
1127*f1489796SJacob Adams 
1128*f1489796SJacob Adams 	for (i = 0; i < nchars; i++) {
1129*f1489796SJacob Adams 		if (trace)
1130*f1489796SJacob Adams 			printf("Char #%d: %c\n", i, message[i]);
1131*f1489796SJacob Adams 		for (j = 0; j < DWIDTH; j++) line[j] = ' ';
1132*f1489796SJacob Adams 		pc = asc_ptr[(u_char) message[i]];
1133*f1489796SJacob Adams 		term = 0;
1134*f1489796SJacob Adams 		max = 0;
1135*f1489796SJacob Adams 		linen = 0;
1136*f1489796SJacob Adams 		while (!term) {
1137*f1489796SJacob Adams 			if (pc < 0 || pc > NBYTES) {
1138*f1489796SJacob Adams 				printf("bad pc: %d\n",pc);
1139*f1489796SJacob Adams 				exit(1);
1140*f1489796SJacob Adams 			}
1141*f1489796SJacob Adams 			x = data_table[pc];
1142*f1489796SJacob Adams 			if (trace) {
1143*f1489796SJacob Adams 				printf("pc=%d, term=%d, max=%d, linen=%d, x=%d",
1144*f1489796SJacob Adams 				    pc,term,max,linen,x);
1145*f1489796SJacob Adams 				printf("\n");
1146*f1489796SJacob Adams 			}
1147*f1489796SJacob Adams 			if (x >= 128) {
1148*f1489796SJacob Adams 				if (x>192) term++;
1149*f1489796SJacob Adams 				x = x & 63;
1150*f1489796SJacob Adams 				while (x--) {
1151*f1489796SJacob Adams 					if (print[linen++]) {
1152*f1489796SJacob Adams 						for (j=0; j <= max; j++)
1153*f1489796SJacob Adams 							if (print[j])
1154*f1489796SJacob Adams 								putchar(line[j]);
1155*f1489796SJacob Adams 						putchar('\n');
1156*f1489796SJacob Adams 					}
1157*f1489796SJacob Adams 				}
1158*f1489796SJacob Adams 				for (j = 0; j < DWIDTH; j++) line[j] = ' ';
1159*f1489796SJacob Adams 				pc++;
1160*f1489796SJacob Adams 			}
1161*f1489796SJacob Adams 			else {
1162*f1489796SJacob Adams 				y = data_table[pc+1];
1163*f1489796SJacob Adams 				/* compensate for narrow teminals */
1164*f1489796SJacob Adams #if 0 /* notdef */
1165*f1489796SJacob Adams 				x = (x*width + (DWIDTH/2)) / DWIDTH;
1166*f1489796SJacob Adams 				y = (y*width + (DWIDTH/2)) / DWIDTH;
1167*f1489796SJacob Adams #endif
1168*f1489796SJacob Adams 				max = x+y;
1169*f1489796SJacob Adams 				while (x < max) line[x++] = '#';
1170*f1489796SJacob Adams 				pc += 2;
1171*f1489796SJacob Adams 				if (trace)
1172*f1489796SJacob Adams 					printf("x=%d, y=%d, max=%d\n",x,y,max);
1173*f1489796SJacob Adams 			}
1174*f1489796SJacob Adams 		}
1175*f1489796SJacob Adams 	}
1176*f1489796SJacob Adams 
1177*f1489796SJacob Adams 	exit(0);
1178*f1489796SJacob Adams }
1179