Subversion Repositories shark

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

/*
 * Project: S.Ha.R.K.
 *
 * Coordinators:
 *   Giorgio Buttazzo    <giorgio@sssup.it>
 *   Paolo Gai           <pj@gandalf.sssup.it>
 *
 * Authors     :
 *   Paolo Gai           <pj@gandalf.sssup.it>
 *   (see the web pages for full authors list)
 *
 * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
 *
 * http://www.sssup.it
 * http://retis.sssup.it
 * http://shark.sssup.it
 */


/*
 ------------
 CVS :        $Id: calc.h,v 1.1.1.1 2004-05-24 18:03:46 giacomo Exp $

 File:        $File$
 Revision:    $Revision: 1.1.1.1 $
 Last update: $Date: 2004-05-24 18:03:46 $
 ------------
*/


/*
 * Copyright (C) 2000 Merli Andrea and Zucchetti Alessandro
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 */


/*  GIMP header image file format (INDEXED): /mnt/disk/shark/base/images/runup//runup.h  */

//static unsigned int runup_width = 27;
//static unsigned int runup_height = 27;


/*Macro che disegan un calciatore che corre*/

#define DIRDRAW(X,Y,D) \
        for(i=0;i<27;i++)\
            for(j=0;j<27;j++)\
              grx_plot(X+i,Y+j,rgb16(cmap[D][0],cmap[D][1],cmap[D][2]));\
             /* sprintf(a,"%d",f);\
              grx_text(a,X+30,Y+30, rgb16(255,255,255), rgb16(0,0,0));*/

/*Macro che calcola i parametri di draw_calc*/
#define DIREZ(A,C,G,S,F,X,Y)                     \
        if(col<12){\
        if( (A<=S)&&(A>=G)){                     \
                    if(C<=4) {                   \
                        draw_calc(X, Y, F,i);      \
                        C++;                     \
                    }                            \
                    else if(C>4){                \
                             draw_calc(X,Y,F+1,i); \
                             C++;                \
                             if(C==8)C=0;       \
                         }                       \
                }\
         }


/*  Call this macro repeatedly.  After each use, the pixel data can be extracted  */

#define HEADER_PIXEL(data,pixel) {\
pixel[0] = runup_cmap[(unsigned char)data[0]][0]; \
pixel[1] = runup_data_cmap[(unsigned char)data[0]][1]; \
pixel[2] = runup_data_cmap[(unsigned char)data[0]][2]; \
data ++; }


static char cmap[256][3] = {
    {  0,  0,  0},
    {  0,  0, 64},
    {  0,  0,128},
    {  0,  0,255},
    {  0, 32,  0},
    {  0, 32, 64},
    {  0, 32,128},
    {  0, 32,255},
    {  0, 64,  0},
    {  0, 64, 64},
    {  0, 64,128},
    {  0, 64,255},
    {  0, 96,  0},
    {  0, 96, 64},
    {  0, 96,128},
    {  0, 96,255},
    {  0,128,  0},
    {  0,128, 64},
    {  0,128,128},
    {  0,128,255},
    {  0,160,  0},
    {  0,160, 64},
    {  0,160,128},
    {  0,160,255},
    {  0,192,  0},
    {  0,192, 64},
    {  0,192,128},
    {  0,192,255},
    {  0,255,  0},
    {  0,255, 64},
    {  0,255,128},
    {  0,255,255},
    { 32,  0,  0},
    { 32,  0, 64},
    { 32,  0,128},
    { 32,  0,255},
    { 32, 32,  0},
    { 32, 32, 64},
    { 32, 32,128},
    { 32, 32,255},
    { 32, 64,  0},
    { 32, 64, 64},
    { 32, 64,128},
    { 32, 64,255},
    { 32, 96,  0},
    { 32, 96, 64},
    { 32, 96,128},
    { 32, 96,255},
    { 32,128,  0},
    { 32,128, 64},
    { 32,128,128},
    { 32,128,255},
    { 32,160,  0},
    { 32,160, 64},
    { 32,160,128},
    { 32,160,255},
    { 32,192,  0},
    { 32,192, 64},
    { 32,192,128},
    { 32,192,255},
    { 32,255,  0},
    { 32,255, 64},
    { 32,255,128},
    { 32,255,255},
    { 64,  0,  0},
    { 64,  0, 64},
    { 64,  0,128},
    { 64,  0,255},
    { 64, 32,  0},
    { 64, 32, 64},
    { 64, 32,128},
    { 64, 32,255},
    { 64, 64,  0},
    { 64, 64, 64},
    { 64, 64,128},
    { 64, 64,255},
    { 64, 96,  0},
    { 64, 96, 64},
    { 64, 96,128},
    { 64, 96,255},
    { 64,128,  0},
    { 64,128, 64},
    { 64,128,128},
    { 64,128,255},
    { 64,160,  0},
    { 64,160, 64},
    { 64,160,128},
    { 64,160,255},
    { 64,192,  0},
    { 64,192, 64},
    { 64,192,128},
    { 64,192,255},
    { 64,255,  0},
    { 64,255, 64},
    { 64,255,128},
    { 64,255,255},
    { 96,  0,  0},
    { 96,  0, 64},
    { 96,  0,128},
    { 96,  0,255},
    { 96, 32,  0},
    { 96, 32, 64},
    { 96, 32,128},
    { 96, 32,255},
    { 96, 64,  0},
    { 96, 64, 64},
    { 96, 64,128},
    { 96, 64,255},
    { 96, 96,  0},
    { 96, 96, 64},
    { 96, 96,128},
    { 96, 96,255},
    { 96,128,  0},
    { 96,128, 64},
    { 96,128,128},
    { 96,128,255},
    { 96,160,  0},
    { 96,160, 64},
    { 96,160,128},
    { 96,160,255},
    { 96,192,  0},
    { 96,192, 64},
    { 96,192,128},
    { 96,192,255},
    { 96,255,  0},
    { 96,255, 64},
    { 96,255,128},
    { 96,255,255},
    {128,  0,  0},
    {128,  0, 64},
    {128,  0,128},
    {128,  0,255},
    {128, 32,  0},
    {128, 32, 64},
    {128, 32,128},
    {128, 32,255},
    {128, 64,  0},
    {128, 64, 64},
    {128, 64,128},
    {128, 64,255},
    {128, 96,  0},
    {128, 96, 64},
    {128, 96,128},
    {128, 96,255},
    {128,128,  0},
    {128,128, 64},
    {128,128,128},
    {128,128,255},
    {128,160,  0},
    {128,160, 64},
    {128,160,128},
    {128,160,255},
    {128,192,  0},
    {128,192, 64},
    {128,192,128},
    {128,192,255},
    {128,255,  0},
    {128,255, 64},
    {128,255,128},
    {128,255,255},
    {160,  0,  0},
    {160,  0, 64},
    {160,  0,128},
    {160,  0,255},
    {160, 32,  0},
    {160, 32, 64},
    {160, 32,128},
    {160, 32,255},
    {160, 64,  0},
    {160, 64, 64},
    {160, 64,128},
    {160, 64,255},
    {160, 96,  0},
    {160, 96, 64},
    {160, 96,128},
    {160, 96,255},
    {160,128,  0},
    {160,128, 64},
    {160,128,128},
    {160,128,255},
    {160,160,  0},
    {160,160, 64},
    {160,160,128},
    {160,160,255},
    {160,192,  0},
    {160,192, 64},
    {160,192,128},
    {160,192,255},
    {160,255,  0},
    {160,255, 64},
    {160,255,128},
    {160,255,255},
    {192,  0,  0},
    {192,  0, 64},
    {192,  0,128},
    {192,  0,255},
    {192, 32,  0},
    {192, 32, 64},
    {192, 32,128},
    {192, 32,255},
    {192, 64,  0},
    {192, 64, 64},
    {192, 64,128},
    {192, 64,255},
    {192, 96,  0},
    {192, 96, 64},
    {192, 96,128},
    {192, 96,255},
    {192,128,  0},
    {192,128, 64},
    {192,128,128},
    {192,128,255},
    {192,160,  0},
    {192,160, 64},
    {192,160,128},
    {192,160,255},
    {192,192,  0},
    {192,192, 64},
    {192,192,128},
    {192,192,255},
    {192,255,  0},
    {192,255, 64},
    {192,255,128},
    {192,255,255},
    {255,  0,  0},
    {255,  0, 64},
    {255,  0,128},
    {255,  0,255},
    {255, 32,  0},
    {255, 32, 64},
    {255, 32,128},
    {255, 32,255},
    {255, 64,  0},
    {255, 64, 64},
    {255, 64,128},
    {255, 64,255},
    {255, 96,  0},
    {255, 96, 64},
    {255, 96,128},
    {255, 96,255},
    {255,128,  0},
    {255,128, 64},
    {255,128,128},
    {255,128,255},
    {255,160,  0},
    {255,160, 64},
    {255,160,128},
    {255,160,255},
    {255,192,  0},
    {255,192, 64},
    {255,192,128},
    {255,192,255},
    {255,255,  0},
    {255,255, 64},
    {255,255,128},
    {255,255,255}
    };
static char runup_data[] = {
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,  0,  0,  0,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,  0,  0,  0,  0,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,  0,  0,255,  0,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,  0,  0,16,16,16,16,  0,255,  0,  0,  0,  0,  0,16,16,16,16,16,16,16,16,16,16,16,
   16,16,  0,255,233,  0,16,16,16,16,  0,255,233,233,233,  0,  0,16,16,16,16,16,16,16,16,16,16,
   16,16,  0,233,  0,  0,  0,  0,  0,16,  0,233,233,233,233,  0,233,  0,16,16,16,16,16,16,16,16,16,
   16,16,  0,  0,255,255,255,255,255,  0,  0,233,  0,233,  0,233,  0,  0,  0,  0,  0,16,16,16,16,16,16,
   16,16,  0,255,255,255,255,255,255,  0,  0,  0,233,  0,233,  0,233,  0,255,255,  0,  0,  0,16,16,16,16,
   16,16,16,  0,255,255,255,255,255,  0,  0,233,  0,233,  0,  0,  0,  0,255,255,255,255,255,  0,16,16,16,
   16,16,16,  0,  0,  0,  0,255,255,255,  0,  0,  0,  0,233,  0,  0,  0,255,255,255,255,255,255,  0,16,16,
   16,16,16,16,16,  0,  0,  0,  0,255,  0,  0,233,  0,  0,  0,  0,255,255,255,255,255,255,255,  0,  0,16,
   16,16,16,16,16,16,16,16,  0,  0,255,  0,  0,  0,  0,  0,255,255,  0,  0,  0,  0,  0,  0,233,  0,16,
   16,16,16,16,16,16,16,16,16,  0,  0,255,255,255,255,  0,255,  0,  0,16,16,  0,  0,233,  0,  0,16,
   16,16,16,16,16,16,16,16,16,16,  0,  0,  0,255,  0,255,  0,  0,  0,233,16,16,  0,  0,  0,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,  0,  0,  0,  0,  0,233,233,  0,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,  0,255,255,255,  0,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,  0,255,255,  0,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,  0,255,  0,  0,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,  0,  0,  0,  0,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,  0,  0,  0,  0,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,  0,  0,  0,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16
    };
static char runup2_data[] = {
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0, 0,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,0,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,255,0,0,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,0,0,0,0,0,255,0,16,16,16,16,0,0,16,16,16,
   16,16,16,16,16,16,16,16,16,16,0,0,233,233,233,255,   0,16,16,16,16,0,233,255,0,16,16,
   16,16,16,16,16,16,16,16,16,0,233,0,233,233,233,2330,16,0,0,0,0,0,233,0,16,16,
   16,16,16,16,16,16,0,0,0,0,0,233,0,233,0,233,0,0,255,255,255,255,255,0,0,16,16,
   16,16,16,16,0,0,0,255,255,0,233,0,233,0,233,0,0,0,255,255,255,255,255,255,0,16,16,
   16,16,16,0,255,255,255,255,255,0,0,0,0,233,0,233,0,0,255,255,255,255,255,0,16,16,16,
   16,16,0,255,255,255,255,255,255,0,0,0,233,0,0,0,0,255,255,255,0,0,0,0,16,16,16,
   16,0,0,255,255,255,255,255,255,255,0,0,0,0,233,0,0,255,0,0,0,0,16,16,16,16,16,
   16,0,233,0,0,0,0,0,0,255,255,0,0,0,0,0,      255,0,0,16,16,16,16,16,16,16,16,
   16,0,0,233,0,0,16,16,0,0,255,0,255,255,255,255,      0,0,16,16,16,16,16,16,16,16,16,
   16,16,0,0,0,16,16,233,0,0,0,255,0,255,0,0,   0,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,0,233,233,0,0,0,0,0,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,0,255,255,255,0,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,0,255,255,0,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,0,0,255,0,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,0,0,0,0,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,0,0,0,0,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,0,0,0,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16
    };
static char runru_data[] = {
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,4,77,0,12,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,4,100,246,169,8,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,8,37,68,68,68,8,16,16,16,16,16,12,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,8,219,255,219,0,8,16,16,16,4,0,0,8,16,16,16,16,16,16,16,16,
   16,16,16,16,16,12,0,219,255,255,219,0,12,16,4,36,36,0,0,12,16,16,16,16,16,16,16,
   16,16,16,16,16,16,4,110,255,255,255,219,4,16,45,219,218,73,4,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,8,0,110,255,255,255,41,8,36,182,0,4,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,12,0,146,255,255,73,0,32,233,242,165,0,12,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,12,0,218,182,0,0,132,133,233,233,165,0,12,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,12,0,219,146,32,201,133,132,233,233,165,0,12,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,0,146,0,0,32,100,32,132,132,32,68,12,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,12,0,146,36,165,64,100,100,132,133,100,100,12,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,12,0,219,110,64,0,132,100,0,165,64,0,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,8,37,255,110,0,0,0,0,0,73,110,4,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,8,37,255,255,73,36,0,37,73,255,255,73,4,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,4,37,110,73,219,219,255,255,255,255,37,8,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,4,110,73,110,146,109,255,255,255,255,37,8,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,12,36,73,68,0,0,4,73,255,255,255,218,12,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,12,77,255,238,133,137,48,8,73,255,255,182,12,16,16,16,16,16,
   16,16,16,16,16,16,16,16,12,4,146,255,255,101,72,16,4,0,73,255,110,8,16,16,16,16,16,
   16,16,16,16,16,16,16,16,4,36,218,182,109,4,16,16,8,32,100,137,0,12,16,16,16,16,16,
   16,16,16,16,16,16,16,16,0,0,0,0,4,16,16,16,8,32,100,100,0,12,16,16,16,16,16,
   16,16,16,16,16,16,16,12,0,0,0,4,16,16,16,16,16,8,4,4,12,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,8,0,4,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,12,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16
    };

    static char runru2_data[] = {
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,8,12,12,8,12,12,8,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,12,0,0,110,182,218,37,8,4,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,4,100,137,255,255,255,255,37,73,4,16,12,12,12,12,16,16,16,12,16,16,16,16,16,16,
   16,16,4,100,100,73,255,255,255,255,255,110,0,100,68,0,0,12,16,4,0,8,16,16,16,16,16,
   16,16,8,32,32,0,73,255,255,255,255,73,64,100,32,165,165,0,4,73,0,0,12,16,16,16,16,
   16,16,16,8,8,4,8,73,255,255,73,0,165,133,132,233,233,165,0,218,36,0,16,16,16,16,16,
   16,16,16,16,16,16,48,4,109,255,37,0,0,132,132,233,233,242,182,219,36,4,16,16,16,16,16,
   16,16,16,16,16,72,137,0,146,219,0,0,100,100,32,132133,233,36,45,4,16,16,16,16,16,16,
   16,16,16,16,4,101,133,0,110,219,36,0,132,100,100,133,132,32,8,16,16,16,16,16,16,16,16,
   16,16,16,4,109,255,238,68,73,73,73,0,0,64,32,201,0,0,41,4,12,16,16,16,16,16,16,
   16,16,4,0,182,255,255,73,110,110,255,110,64,165,0,32,0,73,255,219,0,8,8,8,12,16,16,
   16,4,0,0,218,146,77,36,4,37,255,255,110,36,0,146,182,255,255,255,219,0,68,169,0,16,16,
    12,0,0,0,36,4,12,12,16,4,37,37,219,146,146,219,218,255,255,255,255,219,68,246,77,16,16,
   16,8,0,0,4,12,16,16,16,16,8,8,0,0,0,0,0,146,110,255,255,255,68,100,4,16,16,
   16,16,12,16,16,16,16,16,16,16,16,16,12,12,16,12,12,0,0,110,219,219,37,4,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,8,4,0,8,8,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16
    };

static char rundes_data[] = {
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,   16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,0,0,0,16,16,      16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,0,0,233,0,0,16,      16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,0,233,0,255,255,0,   16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,0,0,0,255,255,255,    0,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,0,0,255,255,255,    0,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,0,255,255,255,    0,0,16,16,16,16,16,16,16,16,16,
   16,16,16,0,0,0,0,0,0,0,233,16,0,255,255,255,          255,0,16,16,16,16,16,16,16,16,16,
   16,16,16,0,0,0,0,255,255,233,0,0,0,255,255,255,       255,0,16,16,16,16,16,16,16,16,16,
   16,16,16,0,0,0,255,255,255,233,0,0,255,255,0,0,       0,0,0,16,16,16,16,16,16,16,16,
   16,16,16,16,0,0,0,0,255,0,0,255,255,0,0,0,            233,0,233,0,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,0,0,255,0,0,0,0,0,            0,233,0,0,0,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,0,0,255,0,0,233,0,         233,0,233,233,0,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,0,255,255,0,0,0,233,       0,233,233,233,0,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,0,0,255,0,233,0,0,         233,0,233,233,0,0,0,0,16,16,16,
   16,16,16,16,16,16,16,16,16,16,0,255,0,0,0,233,        0,233,233,255,0,255,0,0,16,16,16,
   16,16,16,16,16,16,16,16,16,16,0,0,255,0,0,0,          0,0,0,0,255,0,0,0,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,0,0,255,255,0,       0,0,16,16,0,0,0,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,0,0,255,255,      255,255,0,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,0,255,255,     255,255,0,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,255,       255,255,0,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,255,       255,255,0,0,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,255,      255,255,0,233,0,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,        255,0,233,255,0,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,      0,0,0,0,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,     16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,     16,16,16,16,16,16,16,16,16,16,16
    };

static char rundes2_data[] = {
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,     16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,     16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,      0,0,0,0,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,        255,0,233,255,0,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,255,      255,255,0,233,0,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,255,       255,255,0,0,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,255,       255,255,0,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,0,255,255,     255,255,0,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,0,0,255,255,      255,255,0,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,0,0,255,255,0,       0,0,16,16,0,0,0,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,0,0,255,0,0,0,          0,0,0,0,255,0,0,0,16,16,16,
   16,16,16,16,16,16,16,16,16,16,0,255,0,0,0,233,        0,233,233,255,0,255,0,0,16,16,16,
   16,16,16,16,16,16,16,16,16,0,0,255,0,233,0,0,         233,0,233,233,0,0,0,0,16,16,16,
   16,16,16,16,16,16,16,16,16,0,255,255,0,0,0,233,       0,233,233,233,0,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,0,0,255,0,0,233,0,         233,0,233,233,0,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,0,0,255,0,0,0,0,0,            0,233,0,0,0,16,16,16,16,16,16,
   16,16,16,16,0,0,0,0,255,0,0,255,255,0,0,0,            233,0,233,0,16,16,16,16,16,16,16,
   16,16,16,0,0,0,255,255,255,233,0,0,255,255,0,0,       0,0,0,16,16,16,16,16,16,16,16,
   16,16,16,0,0,0,0,255,255,233,0,0,0,255,255,255,       255,0,16,16,16,16,16,16,16,16,16,
   16,16,16,0,0,0,0,0,0,0,233,16,0,255,255,255,          255,0,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,0,255,255,255,    0,0,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,0,0,255,255,255,     0,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,0,0,0,255,255,255,      0,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,0,233,0,255,255,0,     16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,0,0,233,0,0,16,        16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,0,0,0,16,16,        16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,     16,16,16,16,16,16,16,16,16,16,16
    };
static char runrd_data[] = {
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,     16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,12,16,16,16,16,16,16,     16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,8,0,4,16,16,16,16,16,        16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,12,0,0,0,4,16,16,16,16,         16,8,4,4,12,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,0,0,0,0,4,16,16,16,           8,32,100,100,0,12,16,16,16,16,16,
   16,16,16,16,16,16,16,16,4,36,218,182,109,4,16,16,     8,32,100,137,0,12,16,16,16,16,16,
   16,16,16,16,16,16,16,16,12,4,146,255,255,101,72,16,    4,0,73,255,110,8,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,12,77,255,238,133,137,48,     8,73,255,255,182,12,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,12,36,73,68,0,0,4,            73,255,255,255,218,12,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,4,110,73,110,146,109,      255,255,255,255,37,8,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,4,37,110,73,219,219,255,      255,255,255,37,8,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,8,37,255,255,73,36,0,37,         73,255,255,73,4,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,8,37,255,110,0,0,0,0,            0,73,110,4,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,12,0,219,110,64,0,132,100,0,       165,64,0,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,12,0,146,36,165,64,100,100,132,     133,100,100,12,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,0,146,0,0,32,100,32,132,         132,32,68,12,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,12,0,219,146,32,201,133,132,233,    233,165,0,12,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,12,0,218,182,0,0,132,133,233,       233,165,0,12,16,16,16,16,16,16,16,
   16,16,16,16,16,16,12,0,146,255,255,73,0,32,233,242,     165,0,12,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,8,0,110,255,255,255,41,8,36,182,       0,4,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,4,110,255,255,255,219,4,16,45,219,     218,73,4,16,16,16,16,16,16,16,16,
   16,16,16,16,16,12,0,219,255,255,219,0,12,16,4,36,        36,0,0,12,16,16,16,16,16,16,16,
   16,16,16,16,16,16,8,219,255,219,0,8,16,16,16,4,          0,0,8,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,8,37,68,68,68,8,16,16,16,16,          16,12,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,4,100,246,169,8,16,16,16,16,       16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,4,77,0,12,16,16,16,16,          16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,        16,16,16,16,16,16,16,16,16,16,16
    };
static char runrd2_data[] = {
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,        16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,        16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,        16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,        16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,        16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,        16,16,16,16,12,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,        16,12,8,4,0,8,8,16,16,16,16,
   16,16,12,16,16,16,16,16,16,16,16,16,12,12,16,12,         12,0,0,110,219,219,37,4,16,16,16,
   16,8,0,0,4,12,16,16,16,16,8,8,0,0,0,0,                   0,146,110,255,255,255,68,100,4,16,16,
    12,0,0,0,36,4,12,12,16,4,37,37,219,146,146,219,          218,255,255,255,255,219,68,246,77,16,16,
   16,4,0,0,218,146,77,36,4,37,255,255,110,36,0,146,        182,255,255,255,219,0,68,169,0,16,16,
   16,16,4,0,182,255,255,73,110,110,255,110,64,165,0,32,    0,73,255,219,0,8,8,8,12,16,16,
   16,16,16,4,109,255,238,68,73,73,73,0,0,64,32,201,        0,0,41,4,12,16,16,16,16,16,16,
   16,16,16,16,4,101,133,0,110,219,36,0,132,100,100,133,    132,32,8,16,16,16,16,16,16,16,16,
   16,16,16,16,16,72,137,0,146,219,0,0,100,100,32,132,      133,233,36,45,4,16,16,16,16,16,16,
   16,16,16,16,16,16,48,4,109,255,37,0,0,132,132,233,       233,242,182,219,36,4,16,16,16,16,16,
   16,16,16,8,8,4,8,73,255,255,73,0,165,133,132,233,        233,165,0,218,36,0,16,16,16,16,16,
   16,16,8,32,32,0,73,255,255,255,255,73,64,100,32,165,    165,0,4,73,0,0,12,16,16,16,16,
   16,16,4,100,100,73,255,255,255,255,255,110,0,100,68,0,     0,12,16,4,0,8,16,16,16,16,16,
   16,16,4,100,137,255,255,255,255,37,73,4,16,12,12,12,       12,16,16,16,12,16,16,16,16,16,16,
   16,16,12,0,0,110,182,218,37,8,4,16,16,16,16,16,           16,16,16,16,16,16,16,16,16,16,16,
   16,16,8,12,12,8,12,12,8,16,16,16,16,16,16,16,             16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,          16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,          16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,          16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,          16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,          16,16,16,16,16,16,16,16,16,16,16
    };
static char rundown_data[] = {
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,         16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,         16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,         16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,0,0,0,16,16,16,16,16,16,            16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,0,0,0,0,16,16,16,16,16,             16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,0,0,0,0,16,16,16,16,16,             16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,0,0,255,0,16,16,16,16,16,           16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,0,255,255,0,16,16,16,16,16,         16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,0,255,255,255,0,16,16,16,16,        16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,0,233,233,0,0,0,0,0,16,             16,16,16,16,16,16,16,16,16,16,16,
   16,16,0,0,0,16,16,233,0,0,0,255,0,255,0,0,                0,16,16,16,16,16,16,16,16,16,16,
   16,0,0,233,0,0,16,16,0,0,255,0,255,255,255,255,           0,0,16,16,16,16,16,16,16,16,16,
   16,0,233,0,0,0,0,0,0,255,255,0,0,0,0,0,                   255,0,0,16,16,16,16,16,16,16,16,
   16,0,0,255,255,255,255,255,255,255,0,0,0,0,233,0,         0,255,0,0,0,0,16,16,16,16,16,
   16,16,0,255,255,255,255,255,255,0,0,0,233,0,0,0,          0,255,255,255,0,0,0,0,16,16,16,
   16,16,16,0,255,255,255,255,255,0,0,0,0,233,0,233,         0,0,255,255,255,255,255,0,16,16,16,
   16,16,16,16,0,0,0,255,255,0,233,0,233,0,233,0,            0,0,255,255,255,255,255,255,0,16,16,
   16,16,16,16,16,16,0,0,0,0,0,233,0,233,0,233,              0,0,255,255,255,255,255,0,0,16,16,
   16,16,16,16,16,16,16,16,16,0,233,0,233,233,233,233,       0,16,0,0,0,0,0,233,0,16,16,
   16,16,16,16,16,16,16,16,16,16,0,0,233,233,233,255,        0,16,16,16,16,0,233,255,0,16,16,
   16,16,16,16,16,16,16,16,16,16,16,0,0,0,0,0,               255,0,16,16,16,16,0,0,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,255,          0,0,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,            0,0,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,            0,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,         16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,         16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,         16,16,16,16,16,16,16,16,16,16,16
    };
static char rundown2_data[] = {
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,0,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,0,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,255,0,0,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,255,255,0,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,255,255,255,0,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,0,0,233,233,0,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,0,0,0,255,0,255,0,0,0,233,16,16,0,0,0,16,16,
   16,16,16,16,16,16,16,16,16,0,0,255,255,255,255,0,255,0,0,16,16,0,0,233,0,0,16,
   16,16,16,16,16,16,16,16,0,0,255,0,0,0,0,0,255,255,0,0,0,0,0,0,233,0,16,
   16,16,16,16,16,0,0,0,0,255,0,0,233,0,0,0,0,255,255,255,255,255,255,255,0,0,16,
   16,16,16,0,0,0,0,255,255,255,0,0,0,0,233,0,0,0,255,255,255,255,255,255,0,16,16,
   16,16,16,0,255,255,255,255,255,0,0,233,0,233,0,0,0,0,255,255,255,255,255,0,16,16,16,
   16,16,0,255,255,255,255,255,255,0,0,0,233,0,233,0,233,0,255,255,0,0,0,16,16,16,16,
   16,16,0,0,255,255,255,255,255,0,0,233,0,233,0,233,0,0,0,0,0,16,16,16,16,16,16,
   16,16,0,233,0,0,0,0,0,16,0,233,233,233,233,0,233,0,16,16,16,16,16,16,16,16,16,
   16,16,0,255,233,0,16,16,16,16,0,255,233,233,233,0,0,16,16,16,16,16,16,16,16,16,16,
   16,16,16,0,0,16,16,16,16,0,255,0,0,0,0,0,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,0,0,255,0,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,0,0,0,0,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,0,0,0,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16
    };

static char runld_data[] = {
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,         16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,         16,12,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,          4,0,8,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,12,4,4,8,16,16,16,16,16,4,              0,0,0,12,16,16,16,16,16,16,16,
   16,16,16,16,16,12,0,100,100,32,8,16,16,16,4,0,            0,0,0,16,16,16,16,16,16,16,16,
   16,16,16,16,16,12,0,137,100,32,8,16,16,4,109,182,         218,36,4,16,16,16,16,16,16,16,16,
   16,16,16,16,16,8,110,255,73,0,4,16,72,101,255,255,        146,4,12,16,16,16,16,16,16,16,16,
   16,16,16,16,16,12,182,255,255,73,8,48,137,133,238,255,    77,12,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,12,218,255,255,255,73,4,0,0,68,73,          36,12,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,8,37,255,255,255,255,109,146,110,73,110,    4,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,8,37,255,255,255,255,219,219,73,110,     37,4,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,4,73,255,255,73,37,0,36,73,255,          255,37,8,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,4,110,73,0,0,0,0,0,110,               255,37,8,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,0,64,165,0,100,132,0,64,           110,219,0,12,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,12,100,100,133,132,100,100,64,165,    36,146,0,12,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,12,68,32,132,132,32,100,32,0,         0,146,0,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,12,0,165,233,233,132,133,201,32,      146,219,0,12,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,12,0,165,233,233,133,132,0,0,         182,218,0,12,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,12,0,165,242,233,32,0,73,          255,255,146,0,12,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,4,0,182,36,8,41,255,            255,255,110,0,8,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,4,73,218,219,45,16,4,219,          255,255,255,110,4,16,16,16,16,16,16,
   16,16,16,16,16,16,16,12,0,0,36,36,4,16,12,0,               219,255,255,219,0,12,16,16,16,16,16,
   16,16,16,16,16,16,16,16,8,0,0,4,16,16,16,8,                0,219,255,219,8,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,12,16,16,16,16,16,8,            68,68,68,37,8,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,           169,246,100,4,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,           0,77,4,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,          16,16,16,16,16,16,16,16,16,16,16
    };
static char runld2_data[] = {
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,          16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,          16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,          16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,          16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,          16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,12,16,16,16,16,16,16,16,16,16,          16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,8,8,0,4,8,12,16,16,16,16,16,16,               16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,4,37,219,219,110,0,0,12,12,16,12,12,16,          16,16,16,16,16,16,16,16,12,16,16,
   16,16,4,100,68,255,255,255,110,146,0,0,0,0,0,8,            8,16,16,16,16,12,4,0,0,8,16,
   16,16,77,246,68,219,255,255,255,255,218,219,146,146,219,37,    37,4,16,12,12,4,36,0,0,0,12,
   16,16,0,169,68,0,219,255,255,255,182,146,0,36,110,255,         255,37,4,36,77,146,218,0,0,4,16,
   16,16,12,8,8,8,0,219,255,73,0,32,0,165,64,110,                 255,110,110,73,255,255,182,0,4,16,16,
   16,16,16,16,16,16,12,4,41,0,0,201,32,64,0,0,                   73,73,73,68,238,255,109,4,16,16,16,
   16,16,16,16,16,16,16,16,8,32,132,133,100,100,132,0,            36,219,110,0,133,101,4,16,16,16,16,
   16,16,16,16,16,16,4,45,36,233,133,132,32,100,100,0,            0,219,146,0,137,72,16,16,16,16,16,
   16,16,16,16,16,4,36,219,182,242,233,233,132,132,0,0,           37,255,109,4,48,16,16,16,16,16,16,
   16,16,16,16,16,0,36,218,0,165,233,233,132,133,165,0,           73,255,255,73,8,4,8,8,16,16,16,
   16,16,16,16,12,0,0,73,4,0,165,165,32,100,64,73,                255,255,255,255,73,0,32,32,8,16,16,
   16,16,16,16,16,8,0,4,16,12,0,0,68,100,0,110,                   255,255,255,255,255,73,100,100,4,16,16,
   16,16,16,16,16,16,12,16,16,16,12,12,12,12,16,4,                73,37,255,255,255,255,137,100,4,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,               4,8,37,218,182,110,0,0,12,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,8,12,12,8,12,12,8,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16
    };
static char runleft_data[] = {
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,                 16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,0,0,233,0,                 0,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,0,255,255,0,233,              0,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,0,255,255,255,0,0,               0,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,0,255,255,255,0,0,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,0,0,255,255,255,0,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,0,255,255,255,255,0,16,             233,0,0,0,0,0,0,0,16,16,16,
   16,16,16,16,16,16,16,16,16,0,255,255,255,255,0,0,              0,233,255,255,0,0,0,0,16,16,16,
   16,16,16,16,16,16,16,16,0,0,0,0,0,255,255,0,                   0,233,255,255,255,0,0,0,16,16,16,
   16,16,16,16,16,16,16,0,233,0,233,0,0,0,255,255,                0,0,255,0,0,0,0,16,16,16,16,
   16,16,16,16,16,16,0,0,0,233,0,0,0,0,0,0,                       255,0,0,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,0,233,233,0,233,0,233,0,0,255,               0,0,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,0,233,233,233,0,233,0,0,0,255,               255,0,16,16,16,16,16,16,16,16,16,
   16,16,16,0,0,0,0,233,233,0,233,0,0,233,0,255,                  0,0,16,16,16,16,16,16,16,16,16,
   16,16,16,0,0,255,0,255,233,233,0,233,0,0,0,255,                0,16,16,16,16,16,16,16,16,16,16,
   16,16,16,0,0,0,255,0,0,0,0,0,0,0,255,0,                        0,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,0,0,0,16,16,0,0,0,255,255,0,0,                    16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,0,255,255,255,255,0,0,16,             16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,0,255,255,255,255,0,16,16,            16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,0,255,255,255,0,0,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,0,0,255,255,255,0,0,16,16,               16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,0,233,0,255,255,255,0,16,16,16,             16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,0,255,233,0,255,0,0,16,16,16,               16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,0,0,0,0,16,16,16,16,16,                  16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16
    };
static char runleft2_data[] = {
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,0,0,0,0,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,0,255,233,0,255,0,0,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,0,233,0,255,255,255,0,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,0,0,255,255,255,0,0,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,0,255,255,255,0,0,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,0,255,255,255,255,0,16,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,0,255,255,255,255,0,0,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,0,0,0,16,16,0,0,0,255,255,0,0,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,0,0,0,255,0,0,0,0,0,0,0,255,0, 0,16,16,16,16,16,16,16,16,16,16,
   16,16,16,0,0,255,0,255,233,233,0,233,0,0,0,255,0,16,16,16,16,16,16,16,16,16,16,
   16,16,16,0,0,0,0,233,233,0,233,0,0,233,0,255,0,0,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,0,233,233,233,0,233,0,0,0,255,255,0,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,0,233,233,0,233,0,233,0,0,255,0,0,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,0,0,0,233,0,0,0,0,0,0,255,0,0,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,0,233,0,233,0,0,0,255,255,0,0,255,0,0,0,0,16,16,16,16,
   16,16,16,16,16,16,16,16,0,0,0,0,0,255,255,0,0,233,255,255,255,0,0,0,16,16,16,
   16,16,16,16,16,16,16,16,16,0,255,255,255,255,0,0,0,233,255,255,0,0,0,0,16,16,16,
   16,16,16,16,16,16,16,16,16,0,255,255,255,255,0,16,233,0,0,0,0,0,0,0,16,16,16,
   16,16,16,16,16,16,16,16,16,0,0,255,255,255,0,16,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,0,255,255,255,0,0,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,0,255,255,255,0,0,0,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,0,255,255,0,233,0,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,0,0,233,0,0,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16
    };

static char runlu_data[] = {
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,               0,77,4,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8, 169,246,100,4,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,12,16,16,16,16,16,8,                68,68,68,37,8,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,8,0,0,4,16,16,16,8,                    0,219,255,219,8,16,16,16,16,16,16,
   16,16,16,16,16,16,16,12,0,0,36,36,4,16,12,0,                   219,255,255,219,0,12,16,16,16,16,16,
   16,16,16,16,16,16,16,16,4,73,218,219,45,16,4,219,              255,255,255,110,4,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,4,0,182,36,8,41,255,                255,255,110,0,8,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,12,0,165,242,233,32,0,73,              255,255,146,0,12,16,16,16,16,16,16,
   16,16,16,16,16,16,16,12,0,165,233,233,133,132,0,0,             182,218,0,12,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,12,0,165,233,233,132,133,201,32,          146,219,0,12,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,12,68,32,132,132,32,100,32,0,             0,146,0,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,12,100,100,133,132,100,100,64,165,        36,146,0,12,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,0,64,165,0,100,132,0,64,               110,219,0,12,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,4,110,73,0,0,0,0,0,110,                   255,37,8,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,4,73,255,255,73,37,0,36,73,255,              255,37,8,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,8,37,255,255,255,255,219,219,73,110,         37,4,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,8,37,255,255,255,255,109,146,110,73,110,        4,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,12,218,255,255,255,73,4,0,0,68,73,              36,12,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,12,182,255,255,73,8,48,137,133,238,255,         77,12,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,8,110,255,73,0,4,16,72,101,255,255,             146,4,12,16,16,16,16,16,16,16,16,
   16,16,16,16,16,12,0,137,100,32,8,16,16,4,109,182,              218,36,4,16,16,16,16,16,16,16,16,
   16,16,16,16,16,12,0,100,100,32,8,16,16,16,4,0,                 0,0,0,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,12,4,4,8,16,16,16,16,16,4,                   0,0,0,12,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,               4,0,8,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,12,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16
    };
static char runlu2_data[] = {
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,8,12,12,8,12,12,8,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,               4,8,37,218,182,110,0,0,12,16,16,
   16,16,16,16,16,16,12,16,16,16,12,12,12,12,16,4,                73,37,255,255,255,255,137,100,4,16,16,
   16,16,16,16,16,8,0,4,16,12,0,0,68,100,0,110,255,255,255,255,255,73,100,100,4,16,16,
   16,16,16,16,12,0,0,73,4,0,165,165,32,100,64,73,255,255,255,255,73,0,32,32,8,16,16,
   16,16,16,16,16,0,36,218,0,165,233,233,132,133,165,0, 73,255,255,73,8,4,8,8,16,16,16,
   16,16,16,16,16,4,36,219,182,242,233,233,132,132,0,0, 37,255,109,4,48,16,16,16,16,16,16,
   16,16,16,16,16,16,4,45,36,233,133,132,32,100,100,0,            0,219,146,0,137,72,16,16,16,16,16,
   16,16,16,16,16,16,16,16,8,32,132,133,100,100,132,0,            36,219,110,0,133,101,4,16,16,16,16,
   16,16,16,16,16,16,12,4,41,0,0,201,32,64,0,0,                   73,73,73,68,238,255,109,4,16,16,16,
   16,16,12,8,8,8,0,219,255,73,0,32,0,165,64,110,                 255,110,110,73,255,255,182,0,4,16,16,
   16,16,0,169,68,0,219,255,255,255,182,146,0,36,110,255,         255,37,4,36,77,146,218,0,0,4,16,
   16,16,77,246,68,219,255,255,255,255,218,219,146,146,219,37,    37,4,16,12,12,4,36,0,0,0,12,
   16,16,4,100,68,255,255,255,110,146,0,0,0,0,0,8,                8,16,16,16,16,12,4,0,0,8,16,
   16,16,16,4,37,219,219,110,0,0,12,12,16,12,12,16,              16,16,16,16,16,16,16,16,12,16,16,
   16,16,16,16,8,8,0,4,8,12,16,16,16,16,16,16,                   16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,12,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16
    };

/*static char calcdes_data[] = {
   16 ,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,

   16 ,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,

   16 ,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,

   16 ,16,16,16,16,16,16,16,16,16,16,16,  0,  0,  0,  0,16,16,16,16,16,16,16,16,16,16,16,

   16 ,16,16,16,16,16,16,16,16,16,16,  0,  0,255,  0,233,  0,16,16,16,16,16,16,16,16,16,16,

   16 ,16,16,16,16,16,16,16,16,16,  0,255,255,255,255,  0,16,16,16,16,16,16,16,16,16,16,16,

   16 ,16,16,16,16,16,16,16,16,16,  0,255,255,255,  0,16,16,16,16,16,16,16,16,16,16,16,16,

   16 ,16,16,16,16,16,16,16,16,  0,  0,255,255,255,255,  0,16,16,16,16,16,16,16,16,16,16,16,

   16 ,16,16,16,16,16,16,16,16,  0,255,255,255,255,255,255,  0,16,16,16,16,16,16,16,16,16,16,

   16 ,16,16,16,16,16,16,16,  0,255,255,  0,  0,  0,  0,  0,  0,16,16,16,16,16,16,16,16,16,16,

   16 ,16,16,16,16,16,16,  0,255,  0,  0,  0,  0,233,233,233,  0,  0,16,16,16,16,16,16,16,16,16,

   16 ,16,16,16,16,16,16,  0,255,  0,  0,233,  0,233,  0,233,233,255,  0,16,16,16,16,16,16,16,16,

   16 ,16,16,16,16,16,  0,255,255,  0,  0,  0,233,  0,233,  0,233,233,  0,16,16,16,16,16,16,16,16,

   16 ,16,16,16,16,16,  0,255,255,  0,  0,  0,  0,233,  0,233,  0,233,  0,16,16,16,16,16,16,16,16,

   16 ,16,16,16,16,16,  0,255,255,  0,  0,  0,  0,  0,233,  0,233,  0,  0,16,16,16,16,16,16,16,16,

   16 ,16,16,16,16,16,16,  0,255,  0,  0,  0,233,  0,  0,233,  0,  0,16,16,16,16,16,16,16,16,16,

   16 ,16,16,16,16,16,16,  0,  0,255,255,  0,  0,  0,  0,  0,  0,16,16,16,16,16,16,16,16,16,16,

   16 ,16,16,16,16,16,16,16,  0,255,255,255,255,255,255,255,  0,16,16,16,16,16,16,16,16,16,16,

   16 ,16,16,16,16,16,16,16,16,  0,255,255,255,255,255,255,  0,16,16,16,16,16,16,16,16,16,16,

   16 ,16,16,16,16,16,16,16,16,  0,  0,255,255,255,255,  0,16,16,16,16,16,16,16,16,16,16,16,

   16 ,16,16,16,16,16,16,16,16,16,  0,255,255,255,  0,16,16,16,16,16,16,16,16,16,16,16,16,

   16 ,16,16,16,16,16,16,16,16,16,  0,255,255,255,255,  0,16,16,16,16,16,16,16,16,16,16,16,

   16 ,16,16,16,16,16,16,16,16,16,16,  0,  0,255,  0,233,  0,16,16,16,16,16,16,16,16,16,16,

   16 ,16,16,16,16,16,16,16,16,16,16,16,  0,  0,  0,  0,16,16,16,16,16,16,16,16,16,16,16,

   16 ,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,

   16 ,16 ,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,

   16 ,16 ,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16
    };

static char calcdown_data[] = {
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,                 16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,0,0,255,255,255,              0,0,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,0,0,255,255,255,255,             255,255,0,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,0,0,255,255,0,0,0,0,                   0,0,255,0,0,16,16,16,16,16,16,
   16,16,16,16,16,16,0,0,0,255,255,255,0,0,0,0,                   0,0,255,255,0,0,0,16,16,16,16,
   16,16,16,16,16,0,255,255,255,255,255,0,0,0,0,0,                233,0,0,255,255,255,255,0,16,16,16,
   16,16,16,16,0,0,255,255,255,255,255,0,233,0,0,233,             0,0,0,255,255,255,255,0,0,16,16,
   16,16,16,16,0,255,255,255,255,255,255,0,0,0,233,0,             233,233,0,255,255,255,255,255,0,16,16,
   16,16,16,16,0,0,255,0,255,255,255,0,0,233,0,233,               0,233,0,255,255,0,255,0,0,16,16,
   16,16,16,16,0,233,0,16,0,255,255,0,233,0,233,0,                233,233,0,255,0,16,0,233,0,16,16,
   16,16,16,16,16,0,16,16,16,0,0,0,0,233,0,233,                   233,0,0,0,16,16,16,0,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,0,0,233,233,               255,0,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,                  0,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16
    };

static char calcleft_data[] = {
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,0,0,0,0,16,                  16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,0,233,0,255,0,0,                16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,0,255,255,255,255,            0,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,0,255,255,255,             0,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,0,255,255,255,255,            0,0,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,0,255,255,255,255,255,           255,0,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,0,0,0,0,0,0,                     255,255,0,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,0,0,233,233,233,0,0,                0,0,255,0,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,0,255,233,233,0,233,0,233,             0,0,255,0,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,0,233,233,0,233,0,233,0,               0,0,255,255,0,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,0,233,0,233,0,233,0,0,                 0,0,255,255,0,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,0,0,233,0,233,0,0,0,                   0,0,255,255,0,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,0,0,233,0,0,233,0,                  0,0,255,0,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,0,0,0,0,0,0,                     255,255,0,0,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,0,255,255,255,255,255,           255,255,0,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,0,255,255,255,255,255,           255,0,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,0,255,255,255,255,            0,0,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,0,255,255,255,             0,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,0,255,255,255,255,            0,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,0,233,0,255,0,0,                16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,0,0,0,0,16,                  16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16
    };
static char calcup_data[] = {
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,                  0,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,0,0,233,233,               255,0,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,0,16,16,16,0,0,0,0,233,0,233,                   233,0,0,0,16,16,16,0,16,16,16,
   16,16,16,16,0,233,0,16,0,255,255,0,233,0,233,0,                233,233,0,255,0,16,0,233,0,16,16,
   16,16,16,16,0,0,255,0,255,255,255,0,0,233,0,233,               0,233,0,255,255,0,255,0,0,16,16,
   16,16,16,16,0,255,255,255,255,255,255,0,0,0,233,0,            233,233,0,255,255,255,255,255,0,16,16,
   16,16,16,16,0,0,255,255,255,255,255,0,233,0,0,233,             0,0,0,255,255,255,255,0,0,16,16,
   16,16,16,16,16,0,255,255,255,255,255,0,0,0,0,0,                233,0,0,255,255,255,255,0,16,16,16,
   16,16,16,16,16,16,0,0,0,255,255,255,0,0,0,0,                   0,0,255,255,0,0,0,16,16,16,16,
   16,16,16,16,16,16,16,16,0,0,255,255,0,0,0,0,                   0,0,255,0,0,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,0,0,255,255,255,255,             255,255,0,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,0,0,255,255,255,              0,0,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,                 16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16
    };  */

static char portsx_data[] = {
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,                 16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,0,0,220,220,220,              0,0,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,0,0,220,220,220,220,             220,220,0,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,0,0,220,220,0,0,0,0,                   0,0,220,0,0,16,16,16,16,16,16,
   16,16,16,16,16,16,0,0,0,220,220,220,0,0,0,0,                   0,0,220,220,0,0,0,16,16,16,16,
   16,16,16,16,16,0,220,220,220,220,220,0,0,0,0,0,                233,0,0,220,220,220,220,0,16,16,16,
   16,16,16,16,0,0,220,220,220,220,220,0,233,0,0,233,             0,0,0,220,220,220,220,0,0,16,16,
   16,16,16,16,0,220,220,220,220,220,220,0,0,0,233,0,             233,233,0,220,220,220,220,220,0,16,16,
   16,16,16,16,0,0,220,0,220,220,220,0,0,233,0,233,               0,233,0,220,220,0,220,0,0,16,16,
   16,16,16,16,0,233,0,16,0,220,220,0,233,0,233,0,                233,233,0,220,0,16,0,233,0,16,16,
   16,16,16,16,16,0,16,16,16,0,0,0,0,233,0,233,                   233,0,0,0,16,16,16,0,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,0,0,233,233,               220,0,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,                  0,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16
    };
static char portdx_data[] = {
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,                  0,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,0,0,233,233,               130,0,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,0,16,16,16,0,0,0,0,233,0,233,                   233,0,0,0,16,16,16,0,16,16,16,
   16,16,16,16,0,233,0,16,0,130,130,0,233,0,233,0,                233,233,0,130,0,16,0,233,0,16,16,
   16,16,16,16,0,0,130,0,130,130,130,0,0,233,0,233,               0,233,0,130,130,0,130,0,0,16,16,
   16,16,16,16,0,130,130,130,130,130,130,0,0,0,233,0,            233,233,0,130,130,130,130,130,0,16,16,
   16,16,16,16,0,0,130,130,130,130,130,0,233,0,0,233,             0,0,0,130,130,130,130,0,0,16,16,
   16,16,16,16,16,0,130,130,130,130,130,0,0,0,0,0,                233,0,0,130,130,130,130,0,16,16,16,
   16,16,16,16,16,16,0,0,0,130,130,130,0,0,0,0,                   0,0,130,130,0,0,0,16,16,16,16,
   16,16,16,16,16,16,16,16,0,0,130,130,0,0,0,0,                   0,0,130,0,0,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,0,0,130,130,130,130,             130,130,0,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,0,0,130,130,130,              0,0,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,                 16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16,
   16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,              16,16,16,16,16,16,16,16,16,16,16
    };