Chrome 61でes6 moduleが使えるようになったので試してみた

公開:2017-09-08 05:49
更新:2017-09-18 05:24
カテゴリ:HTML5,es6 modules,ESM,js

Chrome 61で<script type="module" >が使えるようになったとのこと。

https://developers.google.com/web/updates/2017/09/nic61

Chrome 61 now supports JavaScript modules natively, unifying the way modular JavaScript can be written.

HTMLでes modulesを使用するには、import文を含む.jsファイルをtype="module"として読み込めばよい。

<!--es6 modulesを使用するスクリプトはtype="module"で読み込む -->
<script type="module" src="./js/index.js"></script>

もしくはインラインで書いてもよい。

  <script type="module">
  import {mod} from 'xx/ccc.js';
  </script>

フォールバックとしての nomodule属性。es6 modulesをサポートするブラウザはnomodule属性を持つ<script>は読み込まない。逆にes6 modulesをサポートしないブラウザはtype="module"は読み込んでもjsだと認識されず、かつnomodule属性を持つ<script>タグを通常のjsファイルとして読み込む(nomodule属性を認識しないので)。結果es6 moduleをサポートするブラウザはtype="module"<script>を読み、サポートしないブラウザはnomoduleのほうの<script>を読む。

<script type="module" src="app.js"></script>
<script nomodule src="classic-app-bundle.js"></script>

試したところ、確かに使えるようになってますな。。rollup.jsは近い将来不要になるね。。

サンプルコード

バンドルしてないのにちゃんと動いているというところがサンプル的なところ。

動作サンプル

新しいウィンドウで実際の動作を見る

ソースコード・リソース

/test/module/00001/index.html

<!DOCTYPE html>
<html vocab="http://schema.org" lang="ja">
<head>
  <title>Three.jsによるアニメーション</title>
  <meta charset="utf-8" />
  <meta name="description" content="320x200px 8色コンソールをshaderでエミュレーションする"/>
  <meta name="keywords" content="Youtube,d3.js,Q.js,jquery" />
  <meta name="author" content="sfpgmr" />
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
  <script src="//d3js.org/d3.v4.min.js"></script>
  <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r81/three.js"></script>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/3.0.2/normalize.min.css" />
  <style>
    html {
      width: 100%;
      height: 100%;
      margin: 0;
      padding: 0;
    }
    
    body {
      width: 100%;
      height: 100%;
      margin-left: auto;
      margin-right: auto;
      padding: 0;
      overflow: hidden;
    }
    
    #svg {
      display: none;
    }
    
    #stat {
      position: absolute;
      color: white;
      font-size: 20px;
    }
    
    #playbutton {
      position: absolute;
      border: none;
      background: none;
      color: white;
      font-size: 50px;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
    }
    
    #playbutton:hover {
      cursor: hand;
    }
    
    .active {
      opacity: 1;
    }
    
    .active1 {
      animation: anime2 5s;
      opacity: 0.0;
      border: 0;
    }
    
    .hidden {
      animation: anime1 2s;
      opacity: 0.0;
    }
    
    @keyframes anime1 {
      0% {
        opacity: 1.0;
      }
      100% {
        opacity: 0.0;
      }
    }
    
    @keyframes anime2 {
      0% {
        opacity: 1.0;
      }
      80% {
        opacity: 1.0;
      }
      100% {
        opacity: 0.0;
      }
    }
    
    #content {
      position: relative;
      margin: auto;
      text-align: center;
    }
    
    #console {
      margin: auto;
      text-align: center;
    }
  </style>
  <script src="https://use.fontawesome.com/cf664fe0e6.js"></script>
</head>

<body>
  <div id="stat"></div>
  <div id="content">
    <button id="playbutton" class="active"><i class="fa fa-play" aria-hidden="true"></i></button>
  </div>
  <script type="module" src="./js/index.js"></script>
</body>

</html>

/test/module/00001/js/3d.js

import * as minMat from './minMatrix.js';

export default class SF3D {
  constructor(){
  }
}

/test/module/00001/js/charCodes.js

"use strict";
export var charCodes = 
[
  // 0x00
  [0x00,0x00],
  [0x00,0x00],
  [0x00,0x00],
  [0x00,0x00],
  [0x00,0x00],
  [0x00,0x00],
  [0x00,0x00],
  [0x00,0x00],  
  [0x00,0x00],
  [0x00,0x00],
  [0x00,0x00],
  [0x00,0x00],
  [0x00,0x00],
  [0x00,0x00],
  [0x00,0x00],
  [0x00,0x00],
  // 0x10
  [0x00,0x00],
  [0x00,0x00],
  [0x00,0x00],
  [0x00,0x00],
  [0x00,0x00],
  [0x00,0x00],
  [0x00,0x00],
  [0x00,0x00],  
  [0x00,0x00],
  [0x00,0x00],
  [0x00,0x00],
  [0x00,0x00],
  [0x00,0x00],
  [0x00,0x00],
  [0x00,0x00],
  [0x00,0x00],
  // 0x20
  [0x00,0x00],
  [0x61,0x00],
  [0x62,0x00],
  [0x63,0x00],
  [0x64,0x00],
  [0x65,0x00],
  [0x66,0x00],
  [0x67,0x00],  
  [0x68,0x00],
  [0x69,0x00],
  [0x6b,0x00],
  [0x6a,0x00],
  [0x2f,0x00],
  [0x2a,0x00],
  [0x2e,0x00],
  [0x2d,0x00],
  // 0x30
  [0x20,0x00],
  [0x21,0x00],
  [0x22,0x00],
  [0x23,0x00],
  [0x24,0x00],
  [0x25,0x00],
  [0x26,0x00],
  [0x27,0x00],  
  [0x28,0x00],
  [0x29,0x00],
  [0x4f,0x00],
  [0x2c,0x00],
  [0x51,0x00],
  [0x2b,0x00],
  [0x57,0x00],
  [0x49,0x00],
  // 0x40
  [0x55,0x00],
  [0x01,0x00],
  [0x02,0x00],
  [0x03,0x00],
  [0x04,0x00],
  [0x05,0x00],
  [0x06,0x00],
  [0x07,0x00],  
  [0x08,0x00],
  [0x09,0x00],
  [0x0a,0x00],
  [0x0b,0x00],
  [0x0c,0x00],
  [0x0d,0x00],
  [0x0e,0x00],
  [0x0f,0x00],
  // 0x50
  [0x10,0x00],
  [0x11,0x00],
  [0x12,0x00],
  [0x13,0x00],
  [0x14,0x00],
  [0x15,0x00],
  [0x16,0x00],
  [0x17,0x00],  
  [0x18,0x00],
  [0x19,0x00],
  [0x1a,0x00],
  [0x52,0x00],
  [0xdd,0x00],
  [0x54,0x00],
  [0x00,0x00],
  [0x3c,0x00],
  // 0x60
  [0x00,0x00],
  [0x01,0x80],
  [0x02,0x80],
  [0x03,0x80],
  [0x04,0x80],
  [0x05,0x80],
  [0x06,0x80],
  [0x07,0x80],  
  [0x08,0x80],
  [0x09,0x80],
  [0x0a,0x80],
  [0x0b,0x80],
  [0x0c,0x80],
  [0x0d,0x80],
  [0x0e,0x80],
  [0x0f,0x80],
  // 0x7f
  [0x10,0x80],
  [0x11,0x80],
  [0x12,0x80],
  [0x13,0x80],
  [0x14,0x80],
  [0x15,0x80],
  [0x16,0x80],
  [0x17,0x80],  
  [0x18,0x80],
  [0x19,0x80],
  [0x1a,0x80],
  [0x00,0x00],
  [0x00,0x00],
  [0x00,0x00],
  [0x00,0x00],
  [0x00,0x00]
];

export var canaCodes =
[ 
  // 0xff60
  [0x00,0x00], //
  [0xbd,0x00], // 。
  [0x9d,0x00], // 「
  [0xb1,0x00], // 」
  [0xb5,0x00], // 、
  [0xb9,0x00], // ・
  [0xb4,0x00], // ヲ
  [0x9e,0x00], // ァ
  [0xb2,0x00], // ィ
  [0xb6,0x00], // ゥ
  [0xba,0x00], // ェ
  [0xbe,0x00], // ォ
  [0x9f,0x00], // ャ
  [0xb3,0x00], // ュ
  [0xb7,0x00], // ョ
  [0xbb,0x00], // ッ
  
  [0xbf,0x00], // -
  [0xa3,0x00], // ア
  [0x85,0x00], // イ
  [0xa4,0x00], // ウ
  [0xa5,0x00], // エ
  [0xa6,0x00], // オ
  [0x94,0x00], // カ
  [0x87,0x00], // キ
  [0x88,0x00], // ク
  [0x9c,0x00], // ケ
  [0x82,0x00], // コ
  [0x98,0x00], // サ
  [0x84,0x00], // シ
  [0x92,0x00], // ス
  [0x90,0x00], // セ
  [0x83,0x00], // ソ

  [0x91,0x00], // タ
  [0x81,0x00], // チ
  [0x9a,0x00], // ツ
  [0x97,0x00], // テ
  [0x93,0x00], // ト
  [0x95,0x00], // ナ
  [0x89,0x00], // ニ
  [0xa1,0x00], // ヌ
  [0xaf,0x00], // ネ
  [0x8b,0x00], // ノ
  [0x86,0x00], // ハ
  [0x96,0x00], // ヒ
  [0xa2,0x00], // フ
  [0xab,0x00], // ヘ
  [0xaa,0x00], // ホ
  [0x8a,0x00], // マ
  
  [0x8e,0x00], // ミ
  [0xb0,0x00], // ム
  [0xad,0x00], // メ
  [0x8d,0x00], // モ
  [0xa7,0x00], // ヤ
  [0xa8,0x00], // ユ
  [0xa9,0x00], // ヨ
  [0x8f,0x00], // ラ
  [0x8c,0x00], // リ
  [0xae,0x00], // ル
  [0xac,0x00], // レ
  [0x9b,0x00], // ロ
  [0xa0,0x00], // ワ
  [0x99,0x00], // ン
  [0xbc,0x00], // ゙
  [0xb8,0x00], // ゚

];

/test/module/00001/js/graphics.js

'use strict';

import { fontData } from './mz700fon.js';
import { charCodes, canaCodes } from './charCodes.js';
const vertexShader = `
precision mediump float;
varying vec2 vtexture_coord;
 
void main(void) {
    gl_Position = vec4(position,1.);
    vtexture_coord = uv;
}
`;

const fragmentShader =
  `precision mediump float;
uniform sampler2D textureB;
uniform sampler2D textureG;
uniform sampler2D textureR;
uniform sampler2D pallet_color;
uniform sampler2D textureFont;
uniform sampler2D textureCharCode;
uniform sampler2D textureCharAttr;
uniform float time;
varying vec2 vtexture_coord;
// グラフィック表示
vec4 graphicPlane(void)
{
  //テクスチャ座標よりビット位置を求め、そのビットが立った2進数値を得る。
  float t = exp2(floor(mod(vtexture_coord.x * 512.0,8.0)));
  // RGB各プレーンの現在座標のバイトデータを読み込む
  vec4 rt = texture2D(textureR, vtexture_coord);
  vec4 gt = texture2D(textureG, vtexture_coord);
  vec4 bt = texture2D(textureB, vtexture_coord);
  
  // バイトデータの中でビットが立っているかどうかを調べる
  // Rプレーン
  float r = floor(mod(min(rt.x * 256.0,255.0) / t,2.0)) * 4.0;
  // Gプレーン
  float g = floor(mod(min(gt.x * 256.0,255.0) / t,2.0)) * 2.0;
  // Bプレーン
  float b = floor(mod(min(bt.x * 256.0,255.0) / t,2.0));
  // 各色の値を足して正規化を行い、パレットインデックスから実際の色を得る 
  vec4 p = texture2D(pallet_color,vec2((r + g + b) / 8.0 ,0.5));
  float i = min(p.x * 256.0,255.0);
  float ar = floor(mod(i * 0.5,2.0)); // bit3
  float ag = floor(mod(i * 0.25,2.0));  // bit2
  float ab = floor(mod(i,2.0)); // bit1
  return vec4(ar,ag,ab,1.0);
}
// 文字表示
vec4 textPlane(void){
  // キャラクタコードを読み出し
  vec4 cct = texture2D(textureCharCode, vtexture_coord);
  float cc = min(cct.x * 256.0,255.0);// キャラクターコード
  // アトリビュートを読み出し
  vec4 attrt = texture2D(textureCharAttr, vtexture_coord);
  
  // 表示対象の文字のビット位置を求める
  float x = exp2(floor(mod(vtexture_coord.x * 512.0,8.0)));
  // 表示対象の文字のY位置を求める
  float y = floor(mod(vtexture_coord.y * 256.0,8.0));
  
  // アトリビュートの評価 
  float i = min(attrt.x * 256.0,255.0);// アトリビュートデータ
  
  // キャラクタセット(0.0 .. セット0, 1.0 .. セット1 )
  float att = floor(mod(i / 128.0,2.0)) * 8.0;// bit 7
  // 文字色
  float ccg = floor(mod(i / 64.0,2.0));// bit 6
  float ccr = floor(mod(i / 32.0,2.0));// bit 5
  float ccb = floor(mod(i / 16.0,2.0));// bit 4
  // 背景色
  float bgg = floor(mod(i / 4.0,2.0));// bit 2
  float bgr = floor(mod(i / 2.0,2.0));// bit 1
  float bgb = floor(mod(i ,2.0));// bit 0
  
  // フォント読み出し位置
  vec2 fontpos = vec2(cc / 256.0,(y + att) / 16.0);
  // フォントデータの読み出し
  vec4 pixByte = texture2D(textureFont,fontpos);
  // 指定位置のビットが立っているかチェック
  float pixBit = floor(mod(min(pixByte.x * 256.0,255.0) / x,2.0));
  
  if(pixBit == 1.0){
    // ビットが立っているときは、文字色を設定
    return vec4(ccr,ccg,ccb,1.0);
  //  return texture2D(pallet_color,vec2((ccr + ccg + ccb) / 8.0 ,0.5));
  } 
  // ビットが立っていないときは背景色を設定
 // return texture2D(pallet_color,vec2((bgr + bgg + bgb) / 8.0 ,0.5));
  return vec4(bgr,bgg,bgb,1.0);
}
void main(void){
  vec4 textColor = textPlane();
  if((textColor.r + textColor.g + textColor.b) > 0.0){
    gl_FragColor = textColor;  
  } else {
    vec4 color = graphicPlane();
    gl_FragColor = color;
  }
}
`;

// ビットのMSBとLSBを入れ替えるメソッド
function rev(x) {
  x = x & 0xff;
  // 0bitと1bit、2bitと3bit、4bitと5bit、6bitと7ビットの反転
  x = ((x & 0x55) << 1) | ((x >>> 1) & 0x55);
  // 0-1bitと2-3bit、4-5bitと6-7bitの反転
  x = ((x & 0x33) << 2) | ((x >>> 2) & 0x33);
  // 0-3bit、4-7bitの反転
  x = ((x & 0x0F) << 4) | ((x >>> 4) & 0x0F);
  return x;
}

export default class Graphics {
  constructor(window, vwidth = 320, vheight = 200) {
    this.window = window;
    this.VWIDTH = vwidth;
    this.VHEIGHT = vheight;
    this.screenWidth = window.innerWidth;
    this.screenHeight = window.innerHeight;
    this.renderer = new THREE.WebGLRenderer({ antialias: false });

    this.renderer.setSize(this.screenWidth, this.screenHeight);
    this.renderer.setClearColor(0x000000, 1);
    this.renderer.domElement.id = 'console';
    this.renderer.domElement.className = 'console';
    this.renderer.domElement.style.zIndex = 0;
    // 仮想画面
    this.renderTarget = new THREE.WebGLRenderTarget(this.VWIDTH, this.VHEIGHT,
      {
        magFilter: THREE.NearestFilter,
        minFilter: THREE.NearestFilter,
        wrapS: THREE.ClampToEdgeWrapping,
        wrapT: THREE.ClampToEdgeWrapping,
        needsUpdate: true
      });
    // バッファー
    this.bufferWidth = Math.pow(2, Math.ceil(Math.log2(this.VWIDTH)));
    this.bufferHeight = Math.pow(2, Math.ceil(Math.log2(this.VHEIGHT)));
    this.bufferXSize = this.bufferWidth / 8;
    this.charCodeBufferWidth = 512 / 8;
    this.charCodeBufferHeight = 32;
    this.consoleWidth = 40;
    this.consoleHeight = 25;
    this.fontTexWidth = 256;
    this.fontTexHeight = 16;//8 * 16 * 2;

    let bufferSize = this.bufferXSize * this.bufferHeight;
    this.bufferB = new Uint8Array(bufferSize);
    this.bufferG = new Uint8Array(bufferSize);
    this.bufferR = new Uint8Array(bufferSize);
    this.textureB = new THREE.DataTexture(this.bufferB, this.bufferXSize, this.bufferHeight, THREE.LuminanceFormat, THREE.UnsignedByteType);
    this.textureB.needsUpdate = true;
    this.textureG = new THREE.DataTexture(this.bufferG, this.bufferXSize, this.bufferHeight, THREE.LuminanceFormat, THREE.UnsignedByteType);
    this.textureG.needsUpdate = true;
    this.textureR = new THREE.DataTexture(this.bufferR, this.bufferXSize, this.bufferHeight, THREE.LuminanceFormat, THREE.UnsignedByteType);
    this.textureR.needsUpdate = true;

    this.palletColors = new Uint8Array([0, 1, 2, 3, 4, 5, 6, 7]);
    this.texturePallet = new THREE.DataTexture(this.palletColors, this.palletColors.length, 1, THREE.LuminanceFormat, THREE.UnsignedByteType);
    this.texturePallet.needsUpdate = true;


    let charCodeBufferSize = this.charCodeBufferWidth * this.charCodeBufferHeight;
    this.charCodeBuffer = new Uint8Array(charCodeBufferSize);
    this.charAttrBuffer = new Uint8Array(charCodeBufferSize);
    this.fontBuffer = new Uint8Array(this.fontTexWidth * this.fontTexHeight);

    this.texCharCodeBuffer = new THREE.DataTexture(this.charCodeBuffer, this.charCodeBufferWidth, this.charCodeBufferHeight, THREE.LuminanceFormat, THREE.UnsignedByteType);
    this.texCharCodeBuffer.needsUpdate = true;
    this.texCharAttrBuffer = new THREE.DataTexture(this.charAttrBuffer, this.charCodeBufferWidth, this.charCodeBufferHeight, THREE.LuminanceFormat, THREE.UnsignedByteType);
    this.texCharAttrBuffer.needsUpdate = true;
    this.texFontBuffer = new THREE.DataTexture(this.fontBuffer, this.fontTexWidth, this.fontTexHeight, THREE.LuminanceFormat, THREE.UnsignedByteType);
    this.texFontBuffer.needsUpdate = true;
    // フォントデータの読み込み
    {
      let idx = 0;
      let offset = 0;
      fontData.forEach((d, i) => {
        offset = ((i / 256) | 0) * 8;
        idx = i % 256;
        d.forEach((byteChar, iy) => {
          let byte = parseInt(byteChar, 2);
          this.fontBuffer[idx + (iy + offset) * 256] = rev(byte);
        });
      });
    }

    //var camera = new THREE.PerspectiveCamera(90, VWIDTH / VHEIGHT, 0.1, 1000);
    //camera.position.z = screenHeight / 2;
    this.time = 0;
    this.prevTime = this.window.performance.now();
    this.vscene = new THREE.Scene();

    this.uniforms = {
      textureB: { value: this.textureB },
      textureG: { value: this.textureG },
      textureR: { value: this.textureR },
      pallet_color: { value: this.texturePallet },
      textureFont: { value: this.texFontBuffer },
      textureCharCode: { value: this.texCharCodeBuffer },
      textureCharAttr: { value: this.texCharAttrBuffer },
      time: { value: 0.0 }
    };

    this.vmaterial = new THREE.ShaderMaterial({
      uniforms: this.uniforms,
      vertexShader: vertexShader,
      fragmentShader: fragmentShader
    });
    {
      let g = new THREE.Geometry();
      g.vertices.push(new THREE.Vector3(-1.0, 1.0, 0.0));
      g.vertices.push(new THREE.Vector3(1.0, 1.0, 0.0));
      g.vertices.push(new THREE.Vector3(-1.0, -1.0, 0.0));
      g.vertices.push(new THREE.Vector3(1.0, -1.0, 0.0));
      g.faces.push(new THREE.Face3(0, 2, 1));
      g.faces.push(new THREE.Face3(2, 3, 1));
      // 0.0, 0.0,
      //  	virtualWidth / bufferWidth , 0.0,
      //  	0.0, virtualHeight / bufferHeight,
      //  	virtualWidth / bufferWidth, virtualHeight / bufferHeight

      g.faceVertexUvs[0].push([
        new THREE.Vector2(0.0, 0.0),
        new THREE.Vector2(0.0, this.VHEIGHT / this.bufferHeight),
        new THREE.Vector2(this.VWIDTH / this.bufferWidth, 0.0),
      ]);
      g.faceVertexUvs[0].push([
        new THREE.Vector2(0.0, this.VHEIGHT / this.bufferHeight),
        new THREE.Vector2(this.VWIDTH / this.bufferWidth, this.VHEIGHT / this.bufferHeight),
        new THREE.Vector2(this.VWIDTH / this.bufferWidth, 0.0)
      ]);
      this.vquad = new THREE.Mesh(g, this.vmaterial);

    }
    this.vcamera = new THREE.OrthographicCamera(- 1, 1, 1, - 1, 0, 1);
    this.vscene.add(this.vquad);

    this.scene = new THREE.Scene();
    this.camera = new THREE.OrthographicCamera(- 1, 1, 1, - 1, 0, 1);
    this.quad = new THREE.Mesh(new THREE.PlaneBufferGeometry(2, 2), new THREE.MeshBasicMaterial({ map: this.renderTarget.texture }));
    this.scene.add(this.quad);

    this.renderer.clear();

    this.prevTime = window.performance.now();
    this.isRender = false;
    // for (let x = 0; x < 320; ++x) {
    //   for (let y = 0; y < 200; ++y) {
    //     this.pset(x, y, y % 8);
    //   }
    // }


    this.render();

  }

  render(time) {
    this.time = time;
    this.uniforms.time.value = this.time;//time / 1000;
    // for(let i = 0;i < 8;++i){
    //   this.palletColors[i] = (this.time / 50 + i) % 8;
    // }
    this.texturePallet.needsUpdate = true;
    this.texCharCodeBuffer.needsUpdate = true;
    this.texCharAttrBuffer.needsUpdate = true;
    this.textureB.needsUpdate = true;
    this.textureG.needsUpdate = true;
    this.textureR.needsUpdate = true;
    this.texturePallet.needsUpdate = true;
    this.renderer.render(this.vscene, this.vcamera, this.renderTarget);
    this.renderer.render(this.scene, this.camera);
    if (this.isRender)
      requestAnimationFrame(this.render.bind(this));
  }

  resize() {
    this.screenWidth = this.window.innerWidth;
    this.screenHeight = this.window.innerHeight;
    if (this.screenWidth > (this.screenHeight * (this.VWIDTH / this.VHEIGHT))) {
      this.screenWidth = this.screenHeight * this.VWIDTH / this.VHEIGHT;
    } else {
      this.screenHeight = this.screenWidth * this.VHEIGHT / this.VWIDTH;
    }
    this.renderer.setSize(this.screenWidth, this.screenHeight);
    if (!this.isRender) {
      this.render();
    }
  }

  renderStart() {
    this.isRender = true;
    this.prevTime = this.window.performance.now();
    this.render();
  }

  renderStop() {
    this.isRender = false;
  }


  cls() {
    for (var i = 0, e = this.bufferXSize * this.bufferHeight; i < e; ++i) {
      this.bufferB[i] = 0;
      this.bufferG[i] = 0;
      this.bufferR[i] = 0;
    }

    for (var i = 0, e = this.charCodeBufferWidth * this.charCodeBufferHeight; i < e; ++i) {
      this.charCodeBuffer[i] = 0;
      this.charAttrBuffer[i] = 0;
    }
  }


  print(x, y, str, color, bgcolor, hirakana = false) {
    let offset = x + y * this.charCodeBufferWidth;
    for (let i = 0, e = str.length; i < e; ++i) {
      let code = str.charCodeAt(i);
      if (code >= 0xff60 && code < 0xffa0) {
        code -= 0xff60;
        this.charCodeBuffer[offset] = canaCodes[code][0];
        this.charAttrBuffer[offset] = (color << 4) | bgcolor | canaCodes[code][1];
        if (hirakana) this.charAttrBuffer[offset] |= 0x80;
        offset += 1;
      } else if (code < 0x80) {
        this.charCodeBuffer[offset] = charCodes[code][0];
        this.charAttrBuffer[offset] = (color << 4) | bgcolor | charCodes[code][1];
        if (hirakana) charAttrBuffer[offset] |= 0x80;
        offset += 1;
      } else if (code <= 0xff) {
        this.charCodeBuffer[offset] = code;
        this.charAttrBuffer[offset] = (color << 4) | bgcolor;
        if (hirakana) this.charAttrBuffer[offset] |= 0x80;
        offset += 1;
      } else {
        offset += 1;
      }
    }
  }

  printDirect(x, y, str, color, bgcolor, charset = 0) {
    let offset = x + y * this.charCodeBufferWidth;
    for (let i = 0, e = str.length; i < e; ++i) {
      let code = str.charCodeAt(i);
      this.charCodeBuffer[offset] = code;
      this.charAttrBuffer[offset] = (color << 4) | bgcolor;
      this.charAttrBuffer[offset] |= (charset << 7);
      offset += 1;
    }
  }


  setColor(x, y, color, bgcolor) {
    let offset = x + y * this.charCodeBufferWidth;
    this.charAttrBuffer[offset] = (color << 4) | bgcolor | (this.charAttrBuffer[offset] & 0x80);
  }
  // グラフィックのメソッドたち

  pset(x, y, color) {
    let offset = (y * this.bufferXSize + (x >>> 3)) | 0;
    let bitpos = x & 7;


    let b = (color & 1) << bitpos;
    let m = ~(1 << bitpos) & 0xff;
    let g = ((color >>> 1) & 1) << bitpos;
    let r = ((color >>> 2) & 1) << bitpos;

    this.bufferB[offset] = (this.bufferB[offset] & m) | b;
    this.bufferG[offset] = (this.bufferG[offset] & m) | g;
    this.bufferR[offset] = (this.bufferR[offset] & m) | r;
  }

  preset(x, y) {
    let offset = (y * this.bufferXSize + x / 8) | 0;
    let bit = ~(1 << (x % 8));
    this.bufferB[offset] &= bit;
    this.bufferG[offset] &= bit;
    this.bufferR[offset] &= bit;
  }

  // 三角形描画ルーチン
  // 参考:http://fussy.web.fc2.com/algo/polygon3_misc.htm
  /*
    三角形描画スキャンライン描画
  */
  triangleFillXDraw(l, r, sy, ey, c, tilePattern) {
    for (; sy < ey; ++sy) {
      let sx_ = l[0] | 0;
      let ex_ = r[0] | 0;
      // X 座標のクリッピング
      if (sx_ < 0) sx_ = 0;
      if (ex_ >= this.VWIDTH) ex_ = this.VWIDTH - 1;

      let syBytePos = sy * this.bufferXSize;

      // スキャンライン描画
      // for ( ; sx_ <= ex_ ; ++sx_ )
      //   this.pset(sx_,sy,c);

      let sxBytePos = (sx_ >> 3) + syBytePos;
      let sxBitPos = sx_ & 7;
      let sxMask1 = (1 << sxBitPos) - 1;
      let sxMask = ~sxMask1;
      let exBytePos = (ex_ >> 3) + syBytePos;
      let exBitPos = ex_ & 7;
      let exMask = (2 << exBitPos) - 1;
      let exMask1 = ~exMask;
      let tile = tilePattern[sy & 1];

      if (sxBytePos == exBytePos) {
        let mask = sxMask & exMask;
        if (c & 1) {
          this.bufferB[sxBytePos] = (this.bufferB[sxBytePos] & (~mask)) | (tile & mask);
        }
        if (c & 2) {
          this.bufferG[sxBytePos] = (this.bufferG[sxBytePos] & (~mask)) | (tile & mask);
        }
        if (c & 4) {
          this.bufferR[sxBytePos] = (this.bufferR[sxBytePos] & (~mask)) | (tile & mask);
        }
      } else {
        if (sxBitPos) {
          if (c & 1) {
            this.bufferB[sxBytePos] = (this.bufferB[sxBytePos] & sxMask1) | (tile & sxMask);
          }
          if (c & 2) {
            this.bufferG[sxBytePos] = (this.bufferG[sxBytePos] & sxMask1) | (tile & sxMask);
          }
          if (c & 4) {
            this.bufferR[sxBytePos] = (this.bufferR[sxBytePos] & sxMask1) | (tile & sxMask);
          }
          ++sxBytePos;
        }
        for (; sxBytePos < exBytePos; ++sxBytePos) {
          if (c & 1) {
            this.bufferB[sxBytePos] = tile;
          }
          if (c & 2) {
            this.bufferG[sxBytePos] = tile;
          }
          if (c & 4) {
            this.bufferR[sxBytePos] = tile;
          }
        }
        if (exBitPos) {
          if (c & 1) {
            this.bufferB[sxBytePos] = (this.bufferB[sxBytePos] & exMask1) | (tile & exMask);
          }
          if (c & 2) {
            this.bufferG[sxBytePos] = (this.bufferG[sxBytePos] & exMask1) | (tile & exMask);
          }
          if (c & 4) {
            this.bufferR[sxBytePos] = (this.bufferR[sxBytePos] & exMask1) | (tile & exMask);
          }

        }
      }

      // X 座標の更新
      l[0] += l[1];
      r[0] += r[1];
    }
    return sy;
  }

  /*
    TriFill_Main : 三角形描画用 メイン・ルーチン
  */
  triangleFillMain(top, middle, bottom, c, tileNo) {
    // 上側の頂点からの描画開始 X 座標(頂角が描画領域外の場合、異なる座標になる)
    let top_mid_x = top.x; // top - middle
    let top_btm_x = top.x; // top - bottom

    // 上側に水平な辺がある場合は中央の頂点で初期化する
    if (top.y == middle.y)
      top_mid_x = middle.x;

    let sy = top.y;    // 描画開始 Y 座標
    let my = middle.y; // 中央の頂点の Y 座標
    let ey = bottom.y; // 描画終了 Y 座標

    // クリッピング

    // 上側の頂点が領域外の場合
    if (top.y < 0) {
      sy = 0;
      // 上側から中央への辺をクリッピング
      if (middle.y >= 0) {
        if (top.y != middle.y)
          top_mid_x = (middle.x - top.x) * middle.y / (top.y - middle.y) + middle.x;
      } else {
        if (middle.y != bottom.y)
          top_mid_x = (bottom.x - middle.x) * bottom.y / (middle.y - bottom.y) + bottom.x;
      }
      // 上側から下側への辺をクリッピング
      if (top.y != bottom.y)
        top_btm_x = (bottom.x - top.x) * bottom.y / (top.y - bottom.y) + bottom.x;
    }

    // 下側の頂点が領域外の場合は描画終了 Y 座標を描画領域内にする
    if (bottom.y >= this.VHEIGHT)
      ey = this.VHEIGHT - 1;

    // X 座標に対する増分
    let top_mid_a = (middle.y != top.y) ?
      (middle.x - top.x) / (middle.y - top.y) : 0;       // top - middle
    let mid_btm_a = (middle.y != bottom.y) ?
      (middle.x - bottom.x) / (middle.y - bottom.y) : 0; // middle - bottom
    let top_btm_a = (top.y != bottom.y) ?
      (top.x - bottom.x) / (top.y - bottom.y) : 0;       // top - bottom

    // 描画開始 X 座標とその増分の pair
    let top_mid = [top_mid_x, top_mid_a];
    let top_btm = [top_btm_x, top_btm_a];

    // 中央の頂点が右向きか左向きかを判定して、各辺が左側・右側ののいずれかを決定する
    // 中央の頂点を通る水平線が、上側・下側を通る直線と交わる点の X 座標
    let splitLine_x = ((top.y != bottom.y) ?
      (top.x - bottom.x) * (middle.y - top.y) / (top.y - bottom.y) + top.x :
      bottom.x) | 0; // 中央・下側の Y 座標が等しい場合、下側の X 座標
    let l = (middle.x < splitLine_x) ? top_mid : top_btm; // 左側
    let r = (middle.x < splitLine_x) ? top_btm : top_mid; // 右側

    // 描画
    let t = Graphics.Tiles[tileNo];
    sy = this.triangleFillXDraw(l, r, sy, my, c, t);
    top_mid[1] = mid_btm_a;
    this.triangleFillXDraw(l, r, sy, ey + 1, c, t);
  }

  /*
    三角形描画用ルーチン 前処理
  */
  triangleFill(c1, c2, c3, c, tileNo) {

    // Y 座標で昇順にソート
    if (c1.y > c2.y) {
      let tmp = c1;
      c1 = c2;
      c2 = tmp;
    }
    if (c1.y > c3.y) {
      let tmp = c1;
      c1 = c3;
      c3 = tmp;
    }

    if (c2.y > c3.y) {
      let tmp = c2;
      c2 = c3;
      c3 = tmp;
    }

    // ポリゴンが描画領域外なら処理しない
    if (c1.y >= this.VHEIGHT) return;
    if (c3.y < 0) return;

    // 描画ルーチン メインへ
    this.triangleFillMain(c1, c2, c3, c, tileNo);
  }

}

Graphics.Tiles = [
  // 0
  [parseInt("00000000", 2),
  parseInt("00000000", 2)],
  // 1
  [parseInt("00000000", 2),
  parseInt("10001000", 2)],
  // 2
  [parseInt("00100010", 2),
  parseInt("10001000", 2)],
  // 3
  [parseInt("00100010", 2),
  parseInt("01010101", 2)],
  // 4
  [parseInt("10101010", 2),
  parseInt("01010101", 2)],
  // 5
  [parseInt("10101010", 2),
  parseInt("11111111", 2)],
  // 6
  [parseInt("11011111", 2),
  parseInt("11111011", 2)],
  // 7
  [parseInt("11111111", 2),
  parseInt("11111111", 2)],
];

/test/module/00001/js/index.js

"use strict";

//The MIT License (MIT)
//
//Copyright (c) 2016 Satoshi Fujiwara
//
//Permission is hereby granted, free of charge, to any person obtaining a copy
//of this software and associated documentation files (the "Software"), to deal
//in the Software without restriction, including without limitation the rights
//to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
//copies of the Software, and to permit persons to whom the Software is
//furnished to do so, subject to the following conditions:
//
//The above copyright notice and this permission notice shall be included in
//all copies or substantial portions of the Software.
//
//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
//IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
//FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
//AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
//LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
//OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
//THE SOFTWARE.

import Graphics from './graphics.js';

var time = 0;
const fps = 60;

// メイン
window.addEventListener('load', function () {

  let graphics = new Graphics(window);
  let play = false;
  let display = true;
  let isRender = false;

  function resize() {
    graphics.resize();
    d3.select('#playbutton').style('font-size',+(graphics.screenWidth / 20) + 'px');
  }

  window.addEventListener('resize',resize);

  resize();

  d3.select('#content').node().appendChild(graphics.renderer.domElement);

  let time = 0;
  let prevTime = 0;

  d3.select('#playbutton')
  .on('click',function(){

    if(display){
      play = !play;
      if(play){
        d3.select(this).attr('class','hidden');
        d3.select(this).html('<i class="fa fa-stop" aria-hidden="true"></i>');
        display = false;
        isRender = true;
        time = 0;
        prevTime = 0;
        render();
      } else {
        d3.select(this).attr('class','active');
        d3.select(this).html('<i class="fa fa-play" aria-hidden="true"></i>');
        isRender = false;
      }
    } else {
      d3.select(this).attr('class','active1');
      display = true;
    }
  });
  graphics.cls();
  graphics.print(0,0,'TEST',7,0);
  graphics.render();
  let c1 = {x:160,y:0}, c2 = {x:0,y:199},c3 = {x:319,y:99};
  function render(){
    let now = window.performance.now();
    time += now - prevTime;
    prevTime = now;
    graphics.cls();
    graphics.triangleFill(c1,c2,c3,6,(now / 250) & 7);
    graphics.print(0,0,'TEST',2,0);
    graphics.render(time);
    if(isRender){
      requestAnimationFrame(render);
    }
  }
});



/test/module/00001/js/minMatrix.js

// ------------------------------------------------------------------------------------------------
// minMatrix.js
// version 0.0.1
// Copyright (c) doxas
// ------------------------------------------------------------------------------------------------

export function create() {
		return new Float32Array(16);
}

function identity(dest) {
		dest[0] = 1; dest[1] = 0; dest[2] = 0; dest[3] = 0;
		dest[4] = 0; dest[5] = 1; dest[6] = 0; dest[7] = 0;
		dest[8] = 0; dest[9] = 0; dest[10] = 1; dest[11] = 0;
		dest[12] = 0; dest[13] = 0; dest[14] = 0; dest[15] = 1;
		return dest;
}

export function multiply(mat1, mat2, dest) {
		var a = mat1[0], b = mat1[1], c = mat1[2], d = mat1[3],
		e = mat1[4], f = mat1[5], g = mat1[6], h = mat1[7],
		i = mat1[8], j = mat1[9], k = mat1[10], l = mat1[11],
		m = mat1[12], n = mat1[13], o = mat1[14], p = mat1[15],
		A = mat2[0], B = mat2[1], C = mat2[2], D = mat2[3],
		E = mat2[4], F = mat2[5], G = mat2[6], H = mat2[7],
		I = mat2[8], J = mat2[9], K = mat2[10], L = mat2[11],
		M = mat2[12], N = mat2[13], O = mat2[14], P = mat2[15];
		dest[0] = A * a + B * e + C * i + D * m;
		dest[1] = A * b + B * f + C * j + D * n;
		dest[2] = A * c + B * g + C * k + D * o;
		dest[3] = A * d + B * h + C * l + D * p;
		dest[4] = E * a + F * e + G * i + H * m;
		dest[5] = E * b + F * f + G * j + H * n;
		dest[6] = E * c + F * g + G * k + H * o;
		dest[7] = E * d + F * h + G * l + H * p;
		dest[8] = I * a + J * e + K * i + L * m;
		dest[9] = I * b + J * f + K * j + L * n;
		dest[10] = I * c + J * g + K * k + L * o;
		dest[11] = I * d + J * h + K * l + L * p;
		dest[12] = M * a + N * e + O * i + P * m;
		dest[13] = M * b + N * f + O * j + P * n;
		dest[14] = M * c + N * g + O * k + P * o;
		dest[15] = M * d + N * h + O * l + P * p;
		return dest;
};

export function scale(mat, vec, dest) {
		dest[0] = mat[0] * vec[0];
		dest[1] = mat[1] * vec[0];
		dest[2] = mat[2] * vec[0];
		dest[3] = mat[3] * vec[0];
		dest[4] = mat[4] * vec[1];
		dest[5] = mat[5] * vec[1];
		dest[6] = mat[6] * vec[1];
		dest[7] = mat[7] * vec[1];
		dest[8] = mat[8] * vec[2];
		dest[9] = mat[9] * vec[2];
		dest[10] = mat[10] * vec[2];
		dest[11] = mat[11] * vec[2];
		dest[12] = mat[12];
		dest[13] = mat[13];
		dest[14] = mat[14];
		dest[15] = mat[15];
		return dest;
};

export function translate(mat, vec, dest) {
		dest[0] = mat[0]; dest[1] = mat[1]; dest[2] = mat[2]; dest[3] = mat[3];
		dest[4] = mat[4]; dest[5] = mat[5]; dest[6] = mat[6]; dest[7] = mat[7];
		dest[8] = mat[8]; dest[9] = mat[9]; dest[10] = mat[10]; dest[11] = mat[11];
		dest[12] = mat[0] * vec[0] + mat[4] * vec[1] + mat[8] * vec[2] + mat[12];
		dest[13] = mat[1] * vec[0] + mat[5] * vec[1] + mat[9] * vec[2] + mat[13];
		dest[14] = mat[2] * vec[0] + mat[6] * vec[1] + mat[10] * vec[2] + mat[14];
		dest[15] = mat[3] * vec[0] + mat[7] * vec[1] + mat[11] * vec[2] + mat[15];
		return dest;
};

export function rotate(mat, angle, axis, dest) {
		var sq = Math.sqrt(axis[0] * axis[0] + axis[1] * axis[1] + axis[2] * axis[2]);
		if (!sq) { return null; }
		var a = axis[0], b = axis[1], c = axis[2];
		if (sq != 1) { sq = 1 / sq; a *= sq; b *= sq; c *= sq; }
		var d = Math.sin(angle), e = Math.cos(angle), f = 1 - e,
		g = mat[0], h = mat[1], i = mat[2], j = mat[3],
		k = mat[4], l = mat[5], m = mat[6], n = mat[7],
		o = mat[8], p = mat[9], q = mat[10], r = mat[11],
		s = a * a * f + e,
		t = b * a * f + c * d,
		u = c * a * f - b * d,
		v = a * b * f - c * d,
		w = b * b * f + e,
		x = c * b * f + a * d,
		y = a * c * f + b * d,
		z = b * c * f - a * d,
		A = c * c * f + e;
		if (angle) {
		if (mat != dest) {
			dest[12] = mat[12]; dest[13] = mat[13];
			dest[14] = mat[14]; dest[15] = mat[15];
		}
		} else {
		dest = mat;
		}
		dest[0] = g * s + k * t + o * u;
		dest[1] = h * s + l * t + p * u;
		dest[2] = i * s + m * t + q * u;
		dest[3] = j * s + n * t + r * u;
		dest[4] = g * v + k * w + o * x;
		dest[5] = h * v + l * w + p * x;
		dest[6] = i * v + m * w + q * x;
		dest[7] = j * v + n * w + r * x;
		dest[8] = g * y + k * z + o * A;
		dest[9] = h * y + l * z + p * A;
		dest[10] = i * y + m * z + q * A;
		dest[11] = j * y + n * z + r * A;
		return dest;
};

export function lookAt(eye, center, up, dest) {
		var eyeX = eye[0], eyeY = eye[1], eyeZ = eye[2],
		upX = up[0], upY = up[1], upZ = up[2],
		centerX = center[0], centerY = center[1], centerZ = center[2];
		if (eyeX == centerX && eyeY == centerY && eyeZ == centerZ) { return this.identity(dest); }
		var x0, x1, x2, y0, y1, y2, z0, z1, z2, l;
		z0 = eyeX - center[0]; z1 = eyeY - center[1]; z2 = eyeZ - center[2];
		l = 1 / Math.sqrt(z0 * z0 + z1 * z1 + z2 * z2);
		z0 *= l; z1 *= l; z2 *= l;
		x0 = upY * z2 - upZ * z1;
		x1 = upZ * z0 - upX * z2;
		x2 = upX * z1 - upY * z0;
		l = Math.sqrt(x0 * x0 + x1 * x1 + x2 * x2);
		if (!l) {
		x0 = 0; x1 = 0; x2 = 0;
		} else {
		l = 1 / l;
		x0 *= l; x1 *= l; x2 *= l;
		}
		y0 = z1 * x2 - z2 * x1; y1 = z2 * x0 - z0 * x2; y2 = z0 * x1 - z1 * x0;
		l = Math.sqrt(y0 * y0 + y1 * y1 + y2 * y2);
		if (!l) {
		y0 = 0; y1 = 0; y2 = 0;
		} else {
		l = 1 / l;
		y0 *= l; y1 *= l; y2 *= l;
		}
		dest[0] = x0; dest[1] = y0; dest[2] = z0; dest[3] = 0;
		dest[4] = x1; dest[5] = y1; dest[6] = z1; dest[7] = 0;
		dest[8] = x2; dest[9] = y2; dest[10] = z2; dest[11] = 0;
		dest[12] = -(x0 * eyeX + x1 * eyeY + x2 * eyeZ);
		dest[13] = -(y0 * eyeX + y1 * eyeY + y2 * eyeZ);
		dest[14] = -(z0 * eyeX + z1 * eyeY + z2 * eyeZ);
		dest[15] = 1;
		return dest;
}

export function perspective(fovy, aspect, near, far, dest) {
		var t = near * Math.tan(fovy * Math.PI / 360);
		var r = t * aspect;
		var a = r * 2, b = t * 2, c = far - near;
		dest[0] = near * 2 / a;
		dest[1] = 0;
		dest[2] = 0;
		dest[3] = 0;
		dest[4] = 0;
		dest[5] = near * 2 / b;
		dest[6] = 0;
		dest[7] = 0;
		dest[8] = 0;
		dest[9] = 0;
		dest[10] = -(far + near) / c;
		dest[11] = -1;
		dest[12] = 0;
		dest[13] = 0;
		dest[14] = -(far * near * 2) / c;
		dest[15] = 0;
		return dest;
}

export function transpose(mat, dest) {
		dest[0] = mat[0]; dest[1] = mat[4];
		dest[2] = mat[8]; dest[3] = mat[12];
		dest[4] = mat[1]; dest[5] = mat[5];
		dest[6] = mat[9]; dest[7] = mat[13];
		dest[8] = mat[2]; dest[9] = mat[6];
		dest[10] = mat[10]; dest[11] = mat[14];
		dest[12] = mat[3]; dest[13] = mat[7];
		dest[14] = mat[11]; dest[15] = mat[15];
		return dest;
};

export function inverse(mat, dest) {
		var a = mat[0], b = mat[1], c = mat[2], d = mat[3],
		e = mat[4], f = mat[5], g = mat[6], h = mat[7],
		i = mat[8], j = mat[9], k = mat[10], l = mat[11],
		m = mat[12], n = mat[13], o = mat[14], p = mat[15],
		q = a * f - b * e, r = a * g - c * e,
		s = a * h - d * e, t = b * g - c * f,
		u = b * h - d * f, v = c * h - d * g,
		w = i * n - j * m, x = i * o - k * m,
		y = i * p - l * m, z = j * o - k * n,
		A = j * p - l * n, B = k * p - l * o,
		ivd = 1 / (q * B - r * A + s * z + t * y - u * x + v * w);
		dest[0] = (f * B - g * A + h * z) * ivd;
		dest[1] = (-b * B + c * A - d * z) * ivd;
		dest[2] = (n * v - o * u + p * t) * ivd;
		dest[3] = (-j * v + k * u - l * t) * ivd;
		dest[4] = (-e * B + g * y - h * x) * ivd;
		dest[5] = (a * B - c * y + d * x) * ivd;
		dest[6] = (-m * v + o * s - p * r) * ivd;
		dest[7] = (i * v - k * s + l * r) * ivd;
		dest[8] = (e * A - f * y + h * w) * ivd;
		dest[9] = (-a * A + b * y - d * w) * ivd;
		dest[10] = (m * u - n * s + p * q) * ivd;
		dest[11] = (-i * u + j * s - l * q) * ivd;
		dest[12] = (-e * z + f * x - g * w) * ivd;
		dest[13] = (a * z - b * x + c * w) * ivd;
		dest[14] = (-m * t + n * r - o * q) * ivd;
		dest[15] = (i * t - j * r + k * q) * ivd;
		return dest;
};

/test/module/00001/js/mz700fon.js

"use strict";
export var fontData = [
// #0x000 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x001 
[ 
"00011000",
"00100100",
"01000010",
"01111110",
"01000010",
"01000010",
"01000010",
"00000000"
],
// #0x002 
[ 
"01111100",
"00100010",
"00100010",
"00111100",
"00100010",
"00100010",
"01111100",
"00000000"
],
// #0x003 
[ 
"00011100",
"00100010",
"01000000",
"01000000",
"01000000",
"00100010",
"00011100",
"00000000"
],
// #0x004 
[ 
"01111000",
"00100100",
"00100010",
"00100010",
"00100010",
"00100100",
"01111000",
"00000000"
],
// #0x005 
[ 
"01111110",
"01000000",
"01000000",
"01111000",
"01000000",
"01000000",
"01111110",
"00000000"
],
// #0x006 
[ 
"01111110",
"01000000",
"01000000",
"01111000",
"01000000",
"01000000",
"01000000",
"00000000"
],
// #0x007 
[ 
"00011100",
"00100010",
"01000000",
"01001110",
"01000010",
"00100010",
"00011100",
"00000000"
],
// #0x008 
[ 
"01000010",
"01000010",
"01000010",
"01111110",
"01000010",
"01000010",
"01000010",
"00000000"
],
// #0x009 
[ 
"00011100",
"00001000",
"00001000",
"00001000",
"00001000",
"00001000",
"00011100",
"00000000"
],
// #0x00a 
[ 
"00001110",
"00000100",
"00000100",
"00000100",
"00000100",
"01000100",
"00111000",
"00000000"
],
// #0x00b 
[ 
"01000010",
"01000100",
"01001000",
"01110000",
"01001000",
"01000100",
"01000010",
"00000000"
],
// #0x00c 
[ 
"01000000",
"01000000",
"01000000",
"01000000",
"01000000",
"01000000",
"01111110",
"00000000"
],
// #0x00d 
[ 
"01000010",
"01100110",
"01011010",
"01011010",
"01000010",
"01000010",
"01000010",
"00000000"
],
// #0x00e 
[ 
"01000010",
"01100010",
"01010010",
"01001010",
"01000110",
"01000010",
"01000010",
"00000000"
],
// #0x00f 
[ 
"00011000",
"00100100",
"01000010",
"01000010",
"01000010",
"00100100",
"00011000",
"00000000"
],
// #0x010 
[ 
"01111100",
"01000010",
"01000010",
"01111100",
"01000000",
"01000000",
"01000000",
"00000000"
],
// #0x011 
[ 
"00011000",
"00100100",
"01000010",
"01000010",
"01001010",
"00100100",
"00011010",
"00000000"
],
// #0x012 
[ 
"01111100",
"01000010",
"01000010",
"01111100",
"01001000",
"01000100",
"01000010",
"00000000"
],
// #0x013 
[ 
"00111100",
"01000010",
"01000000",
"00111100",
"00000010",
"01000010",
"00111100",
"00000000"
],
// #0x014 
[ 
"00111110",
"00001000",
"00001000",
"00001000",
"00001000",
"00001000",
"00001000",
"00000000"
],
// #0x015 
[ 
"01000010",
"01000010",
"01000010",
"01000010",
"01000010",
"01000010",
"00111100",
"00000000"
],
// #0x016 
[ 
"01000010",
"01000010",
"01000010",
"00100100",
"00100100",
"00011000",
"00011000",
"00000000"
],
// #0x017 
[ 
"01000010",
"01000010",
"01000010",
"01011010",
"01011010",
"01100110",
"01000010",
"00000000"
],
// #0x018 
[ 
"01000010",
"01000010",
"00100100",
"00011000",
"00100100",
"01000010",
"01000010",
"00000000"
],
// #0x019 
[ 
"00100010",
"00100010",
"00100010",
"00011100",
"00001000",
"00001000",
"00001000",
"00000000"
],
// #0x01a 
[ 
"01111110",
"00000010",
"00000100",
"00011000",
"00100000",
"01000000",
"01111110",
"00000000"
],
// #0x01b 
[ 
"00001000",
"00001000",
"00001000",
"00001000",
"11111111",
"00001000",
"00001000",
"00001000"
],
// #0x01c 
[ 
"00001000",
"00001000",
"00001000",
"00001000",
"00001111",
"00000000",
"00000000",
"00000000"
],
// #0x01d 
[ 
"00001000",
"00001000",
"00001000",
"00001000",
"11111000",
"00000000",
"00000000",
"00000000"
],
// #0x01e 
[ 
"00001000",
"00001000",
"00001000",
"00001000",
"00001111",
"00001000",
"00001000",
"00001000"
],
// #0x01f 
[ 
"00001000",
"00001000",
"00001000",
"00001000",
"11111111",
"00000000",
"00000000",
"00000000"
],
// #0x020 
[ 
"00111100",
"01000010",
"01000110",
"01011010",
"01100010",
"01000010",
"00111100",
"00000000"
],
// #0x021 
[ 
"00001000",
"00011000",
"00101000",
"00001000",
"00001000",
"00001000",
"00111110",
"00000000"
],
// #0x022 
[ 
"00111100",
"01000010",
"00000010",
"00001100",
"00110000",
"01000000",
"01111110",
"00000000"
],
// #0x023 
[ 
"00111100",
"01000010",
"00000010",
"00111100",
"00000010",
"01000010",
"00111100",
"00000000"
],
// #0x024 
[ 
"00000100",
"00001100",
"00010100",
"00100100",
"01111110",
"00000100",
"00000100",
"00000000"
],
// #0x025 
[ 
"01111110",
"01000000",
"01111000",
"00000100",
"00000010",
"01000100",
"00111000",
"00000000"
],
// #0x026 
[ 
"00011100",
"00100000",
"01000000",
"01111100",
"01000010",
"01000010",
"00111100",
"00000000"
],
// #0x027 
[ 
"01111110",
"01000010",
"00000100",
"00001000",
"00010000",
"00010000",
"00010000",
"00000000"
],
// #0x028 
[ 
"00111100",
"01000010",
"01000010",
"00111100",
"01000010",
"01000010",
"00111100",
"00000000"
],
// #0x029 
[ 
"00111100",
"01000010",
"01000010",
"00111110",
"00000010",
"00000100",
"00111000",
"00000000"
],
// #0x02a 
[ 
"00000000",
"00000000",
"00000000",
"01111110",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x02b 
[ 
"00000000",
"00000000",
"01111110",
"00000000",
"01111110",
"00000000",
"00000000",
"00000000"
],
// #0x02c 
[ 
"00000000",
"00000000",
"00001000",
"00000000",
"00000000",
"00001000",
"00001000",
"00010000"
],
// #0x02d 
[ 
"00000000",
"00000010",
"00000100",
"00001000",
"00010000",
"00100000",
"01000000",
"00000000"
],
// #0x02e 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00011000",
"00011000",
"00000000"
],
// #0x02f 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00001000",
"00001000",
"00010000"
],
// #0x030 
[ 
"00000000",
"11111111",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x031 
[ 
"01000000",
"01000000",
"01000000",
"01000000",
"01000000",
"01000000",
"01000000",
"01000000"
],
// #0x032 
[ 
"10000000",
"10000000",
"10000000",
"10000000",
"10000000",
"10000000",
"10000000",
"11111111"
],
// #0x033 
[ 
"00000001",
"00000001",
"00000001",
"00000001",
"00000001",
"00000001",
"00000001",
"11111111"
],
// #0x034 
[ 
"00000000",
"00000000",
"00000000",
"11111111",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x035 
[ 
"00010000",
"00010000",
"00010000",
"00010000",
"00010000",
"00010000",
"00010000",
"00010000"
],
// #0x036 
[ 
"11111111",
"11111111",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x037 
[ 
"11000000",
"11000000",
"11000000",
"11000000",
"11000000",
"11000000",
"11000000",
"11000000"
],
// #0x038 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"11111111",
"00000000",
"00000000"
],
// #0x039 
[ 
"00000100",
"00000100",
"00000100",
"00000100",
"00000100",
"00000100",
"00000100",
"00000100"
],
// #0x03a 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"11111111",
"11111111",
"11111111",
"11111111"
],
// #0x03b 
[ 
"00001111",
"00001111",
"00001111",
"00001111",
"00001111",
"00001111",
"00001111",
"00001111"
],
// #0x03c 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"11111111"
],
// #0x03d 
[ 
"00000001",
"00000001",
"00000001",
"00000001",
"00000001",
"00000001",
"00000001",
"00000001"
],
// #0x03e 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"11111111",
"11111111"
],
// #0x03f 
[ 
"00000011",
"00000011",
"00000011",
"00000011",
"00000011",
"00000011",
"00000011",
"00000011"
],
// #0x040 
[ 
"00000000",
"00000000",
"00001000",
"00000100",
"11111110",
"00000100",
"00001000",
"00000000"
],
// #0x041 
[ 
"00001000",
"00011100",
"00111110",
"01111111",
"01111111",
"00011100",
"00111110",
"00000000"
],
// #0x042 
[ 
"11111111",
"01111111",
"00111111",
"00011111",
"00001111",
"00000111",
"00000011",
"00000001"
],
// #0x043 
[ 
"11111111",
"11111111",
"11111111",
"11111111",
"11111111",
"11111111",
"11111111",
"11111111"
],
// #0x044 
[ 
"00001000",
"00011100",
"00111110",
"01111111",
"00111110",
"00011100",
"00001000",
"00000000"
],
// #0x045 
[ 
"00000000",
"00000000",
"00010000",
"00100000",
"01111111",
"00100000",
"00010000",
"00000000"
],
// #0x046 
[ 
"00001000",
"00011100",
"00101010",
"01111111",
"00101010",
"00001000",
"00001000",
"00000000"
],
// #0x047 
[ 
"00000000",
"00111100",
"01111110",
"01111110",
"01111110",
"01111110",
"00111100",
"00000000"
],
// #0x048 
[ 
"00000000",
"00111100",
"01000010",
"01000010",
"01000010",
"01000010",
"00111100",
"00000000"
],
// #0x049 
[ 
"00111100",
"01000010",
"00000010",
"00001100",
"00010000",
"00000000",
"00010000",
"00000000"
],
// #0x04a 
[ 
"11111111",
"11000011",
"10000001",
"10000001",
"10000001",
"10000001",
"11000011",
"11111111"
],
// #0x04b 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00000011",
"00000100",
"00001000",
"00001000"
],
// #0x04c 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"11000000",
"00100000",
"00010000",
"00010000"
],
// #0x04d 
[ 
"10000000",
"11000000",
"11100000",
"11110000",
"11111000",
"11111100",
"11111110",
"11111111"
],
// #0x04e 
[ 
"00000001",
"00000011",
"00000111",
"00001111",
"00011111",
"00111111",
"01111111",
"11111111"
],
// #0x04f 
[ 
"00000000",
"00000000",
"00001000",
"00000000",
"00000000",
"00001000",
"00000000",
"00000000"
],
// #0x050 
[ 
"00000000",
"00001000",
"00011100",
"00101010",
"00001000",
"00001000",
"00001000",
"00000000"
],
// #0x051 
[ 
"00001110",
"00011000",
"00110000",
"01100000",
"00110000",
"00011000",
"00001110",
"00000000"
],
// #0x052 
[ 
"00111100",
"00100000",
"00100000",
"00100000",
"00100000",
"00100000",
"00111100",
"00000000"
],
// #0x053 
[ 
"00110110",
"01111111",
"01111111",
"01111111",
"00111110",
"00011100",
"00001000",
"00000000"
],
// #0x054 
[ 
"00111100",
"00000100",
"00000100",
"00000100",
"00000100",
"00000100",
"00111100",
"00000000"
],
// #0x055 
[ 
"00011100",
"00100010",
"01001010",
"01010110",
"01001100",
"00100000",
"00011110",
"00000000"
],
// #0x056 
[ 
"11111111",
"11111110",
"11111100",
"11111000",
"11110000",
"11100000",
"11000000",
"10000000"
],
// #0x057 
[ 
"01110000",
"00011000",
"00001100",
"00000110",
"00001100",
"00011000",
"01110000",
"00000000"
],
// #0x058 
[ 
"10100000",
"01010000",
"10100000",
"01010000",
"10100000",
"01010000",
"10100000",
"01010000"
],
// #0x059 
[ 
"00000000",
"01000000",
"00100000",
"00010000",
"00001000",
"00000100",
"00000010",
"00000000"
],
// #0x05a 
[ 
"10101010",
"01010101",
"10101010",
"01010101",
"10101010",
"01010101",
"10101010",
"01010101"
],
// #0x05b 
[ 
"11110000",
"11110000",
"11110000",
"11110000",
"00001111",
"00001111",
"00001111",
"00001111"
],
// #0x05c 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00001111",
"00001000",
"00001000",
"00001000"
],
// #0x05d 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"11111000",
"00001000",
"00001000",
"00001000"
],
// #0x05e 
[ 
"00001000",
"00001000",
"00001000",
"00001000",
"11111000",
"00001000",
"00001000",
"00001000"
],
// #0x05f 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"11111111",
"00001000",
"00001000",
"00001000"
],
// #0x060 
[ 
"00000000",
"00000000",
"00000001",
"00111110",
"01010100",
"00010100",
"00010100",
"00000000"
],
// #0x061 
[ 
"00001000",
"00001000",
"00001000",
"00001000",
"00000000",
"00000000",
"00001000",
"00000000"
],
// #0x062 
[ 
"00100100",
"00100100",
"00100100",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x063 
[ 
"00100100",
"00100100",
"01111110",
"00100100",
"01111110",
"00100100",
"00100100",
"00000000"
],
// #0x064 
[ 
"00001000",
"00011110",
"00101000",
"00011100",
"00001010",
"00111100",
"00001000",
"00000000"
],
// #0x065 
[ 
"00000000",
"01100010",
"01100100",
"00001000",
"00010000",
"00100110",
"01000110",
"00000000"
],
// #0x066 
[ 
"00110000",
"01001000",
"01001000",
"00110000",
"01001010",
"01000100",
"00111010",
"00000000"
],
// #0x067 
[ 
"00000100",
"00001000",
"00010000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x068 
[ 
"00000100",
"00001000",
"00010000",
"00010000",
"00010000",
"00001000",
"00000100",
"00000000"
],
// #0x069 
[ 
"00100000",
"00010000",
"00001000",
"00001000",
"00001000",
"00010000",
"00100000",
"00000000"
],
// #0x06a 
[ 
"00000000",
"00001000",
"00001000",
"00111110",
"00001000",
"00001000",
"00000000",
"00000000"
],
// #0x06b 
[ 
"00001000",
"00101010",
"00011100",
"00111110",
"00011100",
"00101010",
"00001000",
"00000000"
],
// #0x06c 
[ 
"00001111",
"00001111",
"00001111",
"00001111",
"11110000",
"11110000",
"11110000",
"11110000"
],
// #0x06d 
[ 
"10000001",
"01000010",
"00100100",
"00011000",
"00011000",
"00100100",
"01000010",
"10000001"
],
// #0x06e 
[ 
"00010000",
"00010000",
"00100000",
"11000000",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x06f 
[ 
"00001000",
"00001000",
"00000100",
"00000011",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x070 
[ 
"11111111",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x071 
[ 
"10000000",
"10000000",
"10000000",
"10000000",
"10000000",
"10000000",
"10000000",
"10000000"
],
// #0x072 
[ 
"11111111",
"10000000",
"10000000",
"10000000",
"10000000",
"10000000",
"10000000",
"10000000"
],
// #0x073 
[ 
"11111111",
"00000001",
"00000001",
"00000001",
"00000001",
"00000001",
"00000001",
"00000001"
],
// #0x074 
[ 
"00000000",
"00000000",
"11111111",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x075 
[ 
"00100000",
"00100000",
"00100000",
"00100000",
"00100000",
"00100000",
"00100000",
"00100000"
],
// #0x076 
[ 
"00000001",
"00000010",
"00000100",
"00001000",
"00010000",
"00100000",
"01000000",
"10000000"
],
// #0x077 
[ 
"10000000",
"01000000",
"00100000",
"00010000",
"00001000",
"00000100",
"00000010",
"00000001"
],
// #0x078 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"11111111",
"00000000",
"00000000",
"00000000"
],
// #0x079 
[ 
"00001000",
"00001000",
"00001000",
"00001000",
"00001000",
"00001000",
"00001000",
"00001000"
],
// #0x07a 
[ 
"11111111",
"11111111",
"11111111",
"11111111",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x07b 
[ 
"11110000",
"11110000",
"11110000",
"11110000",
"11110000",
"11110000",
"11110000",
"11110000"
],
// #0x07c 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"11111111",
"00000000"
],
// #0x07d 
[ 
"00000010",
"00000010",
"00000010",
"00000010",
"00000010",
"00000010",
"00000010",
"00000010"
],
// #0x07e 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"11111111",
"11111111",
"11111111"
],
// #0x07f 
[ 
"00000111",
"00000111",
"00000111",
"00000111",
"00000111",
"00000111",
"00000111",
"00000111"
],
// #0x080 
[ 
"00000000",
"00001000",
"00001000",
"00001000",
"00101010",
"00011100",
"00001000",
"00000000"
],
// #0x081 
[ 
"00000100",
"00111000",
"00001000",
"00111110",
"00001000",
"00001000",
"00010000",
"00000000"
],
// #0x082 
[ 
"00000000",
"00111110",
"00000010",
"00000010",
"00000010",
"00000010",
"00111110",
"00000000"
],
// #0x083 
[ 
"00000000",
"00100010",
"00100010",
"00010010",
"00000010",
"00000100",
"00011000",
"00000000"
],
// #0x084 
[ 
"00000000",
"00110000",
"00000010",
"00110010",
"00000010",
"00000100",
"00111000",
"00000000"
],
// #0x085 
[ 
"00000010",
"00000100",
"00001000",
"00011000",
"00101000",
"00001000",
"00001000",
"00000000"
],
// #0x086 
[ 
"00000000",
"00001000",
"00000100",
"00100010",
"00100010",
"00100010",
"00100010",
"00000000"
],
// #0x087 
[ 
"00001000",
"00111110",
"00001000",
"00111110",
"00001000",
"00001000",
"00001000",
"00000000"
],
// #0x088 
[ 
"00000000",
"00011110",
"00010010",
"00100010",
"00000010",
"00000100",
"00011000",
"00000000"
],
// #0x089 
[ 
"00000000",
"00011100",
"00000000",
"00000000",
"00000000",
"00000000",
"00111110",
"00000000"
],
// #0x08a 
[ 
"00000000",
"00111110",
"00000010",
"00000010",
"00010100",
"00001000",
"00000100",
"00000000"
],
// #0x08b 
[ 
"00000100",
"00000100",
"00000100",
"00000100",
"00000100",
"00001000",
"00010000",
"00000000"
],
// #0x08c 
[ 
"00100100",
"00100100",
"00100100",
"00100100",
"00000100",
"00001000",
"00010000",
"00000000"
],
// #0x08d 
[ 
"00000000",
"00111110",
"00010000",
"00111110",
"00010000",
"00010000",
"00001110",
"00000000"
],
// #0x08e 
[ 
"00000000",
"00011100",
"00000000",
"00011100",
"00000000",
"00111100",
"00000010",
"00000000"
],
// #0x08f 
[ 
"00011100",
"00000000",
"00111110",
"00000010",
"00000010",
"00000100",
"00001000",
"00000000"
],
// #0x090 
[ 
"00010000",
"00111110",
"00010010",
"00010100",
"00010000",
"00010000",
"00001110",
"00000000"
],
// #0x091 
[ 
"00000000",
"00011110",
"00010010",
"00101010",
"00000110",
"00000100",
"00011000",
"00000000"
],
// #0x092 
[ 
"00000000",
"00111110",
"00000010",
"00000100",
"00001000",
"00010100",
"00100010",
"00000000"
],
// #0x093 
[ 
"00010000",
"00010000",
"00010000",
"00011000",
"00010100",
"00010000",
"00010000",
"00000000"
],
// #0x094 
[ 
"00010000",
"00111110",
"00010010",
"00010010",
"00010010",
"00010010",
"00100100",
"00000000"
],
// #0x095 
[ 
"00001000",
"00001000",
"00111110",
"00001000",
"00001000",
"00010000",
"00100000",
"00000000"
],
// #0x096 
[ 
"00100000",
"00100000",
"00111110",
"00100000",
"00100000",
"00100000",
"00011110",
"00000000"
],
// #0x097 
[ 
"00011100",
"00000000",
"00111110",
"00001000",
"00001000",
"00001000",
"00010000",
"00000000"
],
// #0x098 
[ 
"00010100",
"00111110",
"00010100",
"00010100",
"00000100",
"00001000",
"00010000",
"00000000"
],
// #0x099 
[ 
"00000000",
"00110000",
"00000000",
"00000010",
"00000010",
"00000100",
"00111000",
"00000000"
],
// #0x09a 
[ 
"00000000",
"00101010",
"00101010",
"00101010",
"00000010",
"00000100",
"00001000",
"00000000"
],
// #0x09b 
[ 
"00000000",
"00111110",
"00100010",
"00100010",
"00100010",
"00100010",
"00111110",
"00000000"
],
// #0x09c 
[ 
"00010000",
"00011110",
"00100100",
"00000100",
"00000100",
"00000100",
"00001000",
"00000000"
],
// #0x09d 
[ 
"00011110",
"00010000",
"00010000",
"00010000",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x09e 
[ 
"00000000",
"00000000",
"00111110",
"00000010",
"00001100",
"00001000",
"00010000",
"00000000"
],
// #0x09f 
[ 
"00000000",
"00000000",
"00010000",
"00111110",
"00010010",
"00010100",
"00010000",
"00000000"
],
// #0x0a0 
[ 
"00000000",
"00111110",
"00100010",
"00100010",
"00000010",
"00000100",
"00001000",
"00000000"
],
// #0x0a1 
[ 
"00000000",
"00111110",
"00000010",
"00010100",
"00001000",
"00010100",
"00100000",
"00000000"
],
// #0x0a2 
[ 
"00000000",
"00111110",
"00000010",
"00000010",
"00000010",
"00000100",
"00011000",
"00000000"
],
// #0x0a3 
[ 
"00111110",
"00000010",
"00001010",
"00001100",
"00001000",
"00001000",
"00010000",
"00000000"
],
// #0x0a4 
[ 
"00001000",
"00111110",
"00100010",
"00100010",
"00000010",
"00000100",
"00001000",
"00000000"
],
// #0x0a5 
[ 
"00000000",
"00111110",
"00001000",
"00001000",
"00001000",
"00001000",
"00111110",
"00000000"
],
// #0x0a6 
[ 
"00000100",
"00111110",
"00000100",
"00001100",
"00010100",
"00100100",
"00000100",
"00000000"
],
// #0x0a7 
[ 
"00010000",
"00010000",
"00111110",
"00010010",
"00010100",
"00010000",
"00010000",
"00000000"
],
// #0x0a8 
[ 
"00000000",
"00011100",
"00000100",
"00000100",
"00000100",
"00000100",
"00111110",
"00000000"
],
// #0x0a9 
[ 
"00000000",
"00111110",
"00000010",
"00111110",
"00000010",
"00000010",
"00111110",
"00000000"
],
// #0x0aa 
[ 
"00001000",
"00111110",
"00001000",
"00001000",
"00101010",
"00101010",
"00001000",
"00000000"
],
// #0x0ab 
[ 
"00000000",
"00010000",
"00101000",
"00000100",
"00000010",
"00000010",
"00000000",
"00000000"
],
// #0x0ac 
[ 
"00000000",
"00100000",
"00100000",
"00100010",
"00100100",
"00101000",
"00110000",
"00000000"
],
// #0x0ad 
[ 
"00000000",
"00000010",
"00000010",
"00010100",
"00001000",
"00010100",
"00100000",
"00000000"
],
// #0x0ae 
[ 
"00000000",
"00001000",
"00101000",
"00101000",
"00101010",
"00101010",
"00101100",
"00000000"
],
// #0x0af 
[ 
"00001000",
"00111110",
"00000100",
"00001000",
"00011100",
"00101010",
"00001000",
"00000000"
],
// #0x0b0 
[ 
"00000000",
"00001000",
"00010000",
"00100000",
"00100010",
"00111110",
"00000010",
"00000000"
],
// #0x0b1 
[ 
"00000000",
"00000000",
"00000000",
"00001000",
"00001000",
"00001000",
"01111000",
"00000000"
],
// #0x0b2 
[ 
"00000000",
"00000000",
"00000100",
"00001000",
"00011000",
"00101000",
"00001000",
"00000000"
],
// #0x0b3 
[ 
"00000000",
"00000000",
"00000000",
"00011100",
"00000100",
"00000100",
"00111110",
"00000000"
],
// #0x0b4 
[ 
"00000000",
"00111110",
"00000010",
"00111110",
"00000010",
"00000100",
"00001000",
"00000000"
],
// #0x0b5 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"01000000",
"00100000",
"00010000",
"00000000"
],
// #0x0b6 
[ 
"00000000",
"00000000",
"00001000",
"00111110",
"00100010",
"00000010",
"00001100",
"00000000"
],
// #0x0b7 
[ 
"00000000",
"00000000",
"00111100",
"00000100",
"00111100",
"00000100",
"00111100",
"00000000"
],
// #0x0b8 
[ 
"01110000",
"01010000",
"01110000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x0b9 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00100000",
"00000000"
],
// #0x0ba 
[ 
"00000000",
"00000000",
"00000000",
"00111110",
"00001000",
"00001000",
"00111110",
"00000000"
],
// #0x0bb 
[ 
"00000000",
"00000000",
"00000000",
"00101010",
"00101010",
"00000010",
"00001100",
"00000000"
],
// #0x0bc 
[ 
"00010000",
"01001000",
"00100000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x0bd 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"01110000",
"01010000",
"01110000",
"00000000"
],
// #0x0be 
[ 
"00000000",
"00000000",
"00000100",
"00111110",
"00001100",
"00010100",
"00100100",
"00000000"
],
// #0x0bf 
[ 
"00000000",
"00000000",
"00000000",
"00011100",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x0c0 
[ 
"00011100",
"00011100",
"00111110",
"00011100",
"00001000",
"00000000",
"00111110",
"00000000"
],
// #0x0c1 
[ 
"11111111",
"11110111",
"11110111",
"11110111",
"11010101",
"11100011",
"11110111",
"11111111"
],
// #0x0c2 
[ 
"11111111",
"11110111",
"11100011",
"11010101",
"11110111",
"11110111",
"11110111",
"11111111"
],
// #0x0c3 
[ 
"11111111",
"11111111",
"11110111",
"11111011",
"10000001",
"11111011",
"11110111",
"11111111"
],
// #0x0c4 
[ 
"11111111",
"11111111",
"11101111",
"11011111",
"10000001",
"11011111",
"11101111",
"11111111"
],
// #0x0c5 
[ 
"10111011",
"10111011",
"10111011",
"10000011",
"10111011",
"10111011",
"10111011",
"11111111"
],
// #0x0c6 
[ 
"11100011",
"11011101",
"10111111",
"10111111",
"10111111",
"11011101",
"11100011",
"11111111"
],
// #0x0c7 
[ 
"00011000",
"00100100",
"01111110",
"11111111",
"01011010",
"00100100",
"00000000",
"00000000"
],
// #0x0c8 
[ 
"11100000",
"01000111",
"01000010",
"01111110",
"01000010",
"01000111",
"11100000",
"00000000"
],
// #0x0c9 
[ 
"00100010",
"00111110",
"00101010",
"00001000",
"00001000",
"01001001",
"01111111",
"01000001"
],
// #0x0ca 
[ 
"00011100",
"00011100",
"00001000",
"00111110",
"00001000",
"00001000",
"00010100",
"00100010"
],
// #0x0cb 
[ 
"00000000",
"00010001",
"11010010",
"11111100",
"11010010",
"00010001",
"00000000",
"00000000"
],
// #0x0cc 
[ 
"00000000",
"10001000",
"01001011",
"00111111",
"01001011",
"10001000",
"00000000",
"00000000"
],
// #0x0cd 
[ 
"00100010",
"00010100",
"00001000",
"00001000",
"00111110",
"00001000",
"00011100",
"00011100"
],
// #0x0ce 
[ 
"00111100",
"01111110",
"11111111",
"11011011",
"11111111",
"11100111",
"01111110",
"00111100"
],
// #0x0cf 
[ 
"00111100",
"01000010",
"10000001",
"10100101",
"10000001",
"10011001",
"01000010",
"00111100"
],
// #0x0d0 
[ 
"00111110",
"00100010",
"00100010",
"00111110",
"00100010",
"00100010",
"00111110",
"00000000"
],
// #0x0d1 
[ 
"00111110",
"00100010",
"00111110",
"00100010",
"00111110",
"00100010",
"01000010",
"00000000"
],
// #0x0d2 
[ 
"00001000",
"00101010",
"00101010",
"00001000",
"00010100",
"00100010",
"01000001",
"00000000"
],
// #0x0d3 
[ 
"00001000",
"00001001",
"00111010",
"00001100",
"00011100",
"00101010",
"01001001",
"00000000"
],
// #0x0d4 
[ 
"00001000",
"00001000",
"00111110",
"00001000",
"00011100",
"00101010",
"01001001",
"00000000"
],
// #0x0d5 
[ 
"00001000",
"00010100",
"00111110",
"01001001",
"00111110",
"00011100",
"01111111",
"00000000"
],
// #0x0d6 
[ 
"00000000",
"00001000",
"00001000",
"00111110",
"00001000",
"00001000",
"01111111",
"00000000"
],
// #0x0d7 
[ 
"00001000",
"01001000",
"01111110",
"01001000",
"00111110",
"00001000",
"01111111",
"00000000"
],
// #0x0d8 
[ 
"00100000",
"00111110",
"01001000",
"00111100",
"00101000",
"01111110",
"00001000",
"00000000"
],
// #0x0d9 
[ 
"00000100",
"01111110",
"01010100",
"01111111",
"01010010",
"01111111",
"00001010",
"00000000"
],
// #0x0da 
[ 
"00001000",
"00010100",
"00100010",
"01111111",
"00010010",
"00010010",
"00100100",
"00000000"
],
// #0x0db 
[ 
"00111000",
"00010010",
"01111111",
"00010111",
"00111011",
"01010010",
"00010100",
"00000000"
],
// #0x0dc 
[ 
"01111111",
"01001001",
"01001001",
"01111111",
"01000001",
"01000001",
"01000001",
"00000000"
],
// #0x0dd 
[ 
"00100010",
"00010100",
"00111110",
"00001000",
"00111110",
"00001000",
"00001000",
"00000000"
],
// #0x0de 
[ 
"00001100",
"00010010",
"00010000",
"00111000",
"00010000",
"00010000",
"00111110",
"00000000"
],
// #0x0df 
[ 
"00000000",
"11000000",
"11001000",
"01010100",
"01010100",
"01010101",
"00100010",
"00000000"
],
// #0x0e0 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000010",
"11111111",
"00000010"
],
// #0x0e1 
[ 
"00000010",
"00000010",
"00000010",
"00000010",
"00000010",
"00000010",
"00000111",
"00000010"
],
// #0x0e2 
[ 
"00000010",
"00000010",
"00000010",
"00000010",
"00000010",
"00000010",
"11111111",
"00000010"
],
// #0x0e3 
[ 
"00000000",
"00000000",
"00100000",
"01010000",
"10001000",
"00000101",
"00000010",
"00000000"
],
// #0x0e4 
[ 
"00000000",
"00001110",
"00010001",
"00100010",
"11000100",
"00000100",
"00000010",
"00000001"
],
// #0x0e5 
[ 
"00000000",
"11111111",
"00000000",
"10000001",
"01000010",
"01000010",
"10000001",
"00000000"
],
// #0x0e6 
[ 
"00000000",
"01110000",
"10001000",
"01000100",
"00100011",
"00100000",
"01000000",
"10000000"
],
// #0x0e7 
[ 
"00000000",
"11000100",
"10100100",
"10010100",
"10001111",
"10010100",
"10100100",
"11000100"
],
// #0x0e8 
[ 
"00000000",
"00100011",
"00100101",
"00101001",
"11110001",
"00101001",
"00100101",
"00100011"
],
// #0x0e9 
[ 
"10001000",
"10010000",
"10100000",
"11000000",
"11000000",
"10101000",
"10011000",
"10111000"
],
// #0x0ea 
[ 
"10101000",
"10110000",
"10111000",
"11000000",
"11000000",
"10100000",
"10010000",
"10001000"
],
// #0x0eb 
[ 
"10000000",
"01000000",
"00100000",
"00010000",
"00011111",
"00100000",
"01000000",
"10000000"
],
// #0x0ec 
[ 
"00000000",
"00000000",
"00100100",
"00100100",
"11100111",
"00100100",
"00100100",
"00000000"
],
// #0x0ed 
[ 
"00001000",
"00001000",
"00111110",
"00000000",
"00000000",
"00111110",
"00001000",
"00001000"
],
// #0x0ee 
[ 
"00001000",
"00010000",
"00100000",
"00010000",
"00001000",
"00000100",
"00000010",
"00000100"
],
// #0x0ef 
[ 
"01010101",
"10101010",
"01010101",
"10101010",
"01010101",
"10101010",
"01010101",
"10101010"
],
// #0x0f0 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x0f1 
[ 
"00000000",
"01110000",
"01110000",
"01110000",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x0f2 
[ 
"00000000",
"00000111",
"00000111",
"00000111",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x0f3 
[ 
"00000000",
"01110111",
"01110111",
"01110111",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x0f4 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"01110000",
"01110000",
"01110000"
],
// #0x0f5 
[ 
"00000000",
"01110000",
"01110000",
"01110000",
"00000000",
"01110000",
"01110000",
"01110000"
],
// #0x0f6 
[ 
"00000000",
"00000111",
"00000111",
"00000111",
"00000000",
"01110000",
"01110000",
"01110000"
],
// #0x0f7 
[ 
"00000000",
"01110111",
"01110111",
"01110111",
"00000000",
"01110000",
"01110000",
"01110000"
],
// #0x0f8 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000111",
"00000111",
"00000111"
],
// #0x0f9 
[ 
"00000000",
"01110000",
"01110000",
"01110000",
"00000000",
"00000111",
"00000111",
"00000111"
],
// #0x0fa 
[ 
"00000000",
"00000111",
"00000111",
"00000111",
"00000000",
"00000111",
"00000111",
"00000111"
],
// #0x0fb 
[ 
"00000000",
"01110111",
"01110111",
"01110111",
"00000000",
"00000111",
"00000111",
"00000111"
],
// #0x0fc 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"01110111",
"01110111",
"01110111"
],
// #0x0fd 
[ 
"00000000",
"01110000",
"01110000",
"01110000",
"00000000",
"01110111",
"01110111",
"01110111"
],
// #0x0fe 
[ 
"00000000",
"00000111",
"00000111",
"00000111",
"00000000",
"01110111",
"01110111",
"01110111"
],
// #0x0ff 
[ 
"00000000",
"01110111",
"01110111",
"01110111",
"00000000",
"01110111",
"01110111",
"01110111"
],
// #0x100 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x101 
[ 
"00000000",
"00000000",
"00111000",
"00000100",
"00111100",
"01000100",
"00111010",
"00000000"
],
// #0x102 
[ 
"01000000",
"01000000",
"01011100",
"01100010",
"01000010",
"01100010",
"01011100",
"00000000"
],
// #0x103 
[ 
"00000000",
"00000000",
"00111100",
"01000010",
"01000000",
"01000010",
"00111100",
"00000000"
],
// #0x104 
[ 
"00000010",
"00000010",
"00111010",
"01000110",
"01000010",
"01000110",
"00111010",
"00000000"
],
// #0x105 
[ 
"00000000",
"00000000",
"00111100",
"01000010",
"01111110",
"01000000",
"00111100",
"00000000"
],
// #0x106 
[ 
"00001100",
"00010010",
"00010000",
"01111100",
"00010000",
"00010000",
"00010000",
"00000000"
],
// #0x107 
[ 
"00000000",
"00000000",
"00111010",
"01000110",
"01000110",
"00111010",
"00000010",
"00111100"
],
// #0x108 
[ 
"01000000",
"01000000",
"01011100",
"01100010",
"01000010",
"01000010",
"01000010",
"00000000"
],
// #0x109 
[ 
"00001000",
"00000000",
"00011000",
"00001000",
"00001000",
"00001000",
"00011100",
"00000000"
],
// #0x10a 
[ 
"00000100",
"00000000",
"00001100",
"00000100",
"00000100",
"00000100",
"01000100",
"00111000"
],
// #0x10b 
[ 
"01000000",
"01000000",
"01000100",
"01001000",
"01010000",
"01101000",
"01000100",
"00000000"
],
// #0x10c 
[ 
"00011000",
"00001000",
"00001000",
"00001000",
"00001000",
"00001000",
"00011100",
"00000000"
],
// #0x10d 
[ 
"00000000",
"00000000",
"01110110",
"01001001",
"01001001",
"01001001",
"01001001",
"00000000"
],
// #0x10e 
[ 
"00000000",
"00000000",
"01011100",
"01100010",
"01000010",
"01000010",
"01000010",
"00000000"
],
// #0x10f 
[ 
"00000000",
"00000000",
"00111100",
"01000010",
"01000010",
"01000010",
"00111100",
"00000000"
],
// #0x110 
[ 
"00000000",
"00000000",
"01011100",
"01100010",
"01100010",
"01011100",
"01000000",
"01000000"
],
// #0x111 
[ 
"00000000",
"00000000",
"00111010",
"01000110",
"01000110",
"00111010",
"00000010",
"00000010"
],
// #0x112 
[ 
"00000000",
"00000000",
"01011100",
"01100010",
"01000000",
"01000000",
"01000000",
"00000000"
],
// #0x113 
[ 
"00000000",
"00000000",
"00111110",
"01000000",
"00111100",
"00000010",
"01111100",
"00000000"
],
// #0x114 
[ 
"00010000",
"00010000",
"01111100",
"00010000",
"00010000",
"00010010",
"00001100",
"00000000"
],
// #0x115 
[ 
"00000000",
"00000000",
"01000010",
"01000010",
"01000010",
"01000010",
"00111100",
"00000000"
],
// #0x116 
[ 
"00000000",
"00000000",
"01000010",
"01000010",
"01000010",
"00100100",
"00011000",
"00000000"
],
// #0x117 
[ 
"00000000",
"00000000",
"01000001",
"01001001",
"01001001",
"01001001",
"00110110",
"00000000"
],
// #0x118 
[ 
"00000000",
"00000000",
"01000100",
"00101000",
"00010000",
"00101000",
"01000100",
"00000000"
],
// #0x119 
[ 
"00000000",
"00000000",
"01000010",
"01000010",
"01000110",
"00111010",
"00000010",
"00111100"
],
// #0x11a 
[ 
"00000000",
"00000000",
"01111110",
"00000100",
"00011000",
"00100000",
"01111110",
"00000000"
],
// #0x11b 
[ 
"00001000",
"00001000",
"00001000",
"00001000",
"11111111",
"00001000",
"00001000",
"00001000"
],
// #0x11c 
[ 
"00001000",
"00001000",
"00001000",
"00001000",
"00001111",
"00000000",
"00000000",
"00000000"
],
// #0x11d 
[ 
"00001000",
"00001000",
"00001000",
"00001000",
"11111000",
"00000000",
"00000000",
"00000000"
],
// #0x11e 
[ 
"00001000",
"00001000",
"00001000",
"00001000",
"00001111",
"00001000",
"00001000",
"00001000"
],
// #0x11f 
[ 
"00001000",
"00001000",
"00001000",
"00001000",
"11111111",
"00000000",
"00000000",
"00000000"
],
// #0x120 
[ 
"00111100",
"01000010",
"01000110",
"01011010",
"01100010",
"01000010",
"00111100",
"00000000"
],
// #0x121 
[ 
"00001000",
"00011000",
"00101000",
"00001000",
"00001000",
"00001000",
"00111110",
"00000000"
],
// #0x122 
[ 
"00111100",
"01000010",
"00000010",
"00001100",
"00110000",
"01000000",
"01111110",
"00000000"
],
// #0x123 
[ 
"00111100",
"01000010",
"00000010",
"00111100",
"00000010",
"01000010",
"00111100",
"00000000"
],
// #0x124 
[ 
"00000100",
"00001100",
"00010100",
"00100100",
"01111110",
"00000100",
"00000100",
"00000000"
],
// #0x125 
[ 
"01111110",
"01000000",
"01111000",
"00000100",
"00000010",
"01000100",
"00111000",
"00000000"
],
// #0x126 
[ 
"00011100",
"00100000",
"01000000",
"01111100",
"01000010",
"01000010",
"00111100",
"00000000"
],
// #0x127 
[ 
"01111110",
"01000010",
"00000100",
"00001000",
"00010000",
"00010000",
"00010000",
"00000000"
],
// #0x128 
[ 
"00111100",
"01000010",
"01000010",
"00111100",
"01000010",
"01000010",
"00111100",
"00000000"
],
// #0x129 
[ 
"00111100",
"01000010",
"01000010",
"00111110",
"00000010",
"00000100",
"00111000",
"00000000"
],
// #0x12a 
[ 
"00000000",
"00000000",
"00000000",
"01111110",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x12b 
[ 
"00000000",
"00000000",
"01111110",
"00000000",
"01111110",
"00000000",
"00000000",
"00000000"
],
// #0x12c 
[ 
"00000000",
"00000000",
"00001000",
"00000000",
"00000000",
"00001000",
"00001000",
"00010000"
],
// #0x12d 
[ 
"00000000",
"00000010",
"00000100",
"00001000",
"00010000",
"00100000",
"01000000",
"00000000"
],
// #0x12e 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00011000",
"00011000",
"00000000"
],
// #0x12f 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00001000",
"00001000",
"00010000"
],
// #0x130 
[ 
"00000000",
"11111111",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x131 
[ 
"01000000",
"01000000",
"01000000",
"01000000",
"01000000",
"01000000",
"01000000",
"01000000"
],
// #0x132 
[ 
"10000000",
"10000000",
"10000000",
"10000000",
"10000000",
"10000000",
"10000000",
"11111111"
],
// #0x133 
[ 
"00000001",
"00000001",
"00000001",
"00000001",
"00000001",
"00000001",
"00000001",
"11111111"
],
// #0x134 
[ 
"00000000",
"00000000",
"00000000",
"11111111",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x135 
[ 
"00010000",
"00010000",
"00010000",
"00010000",
"00010000",
"00010000",
"00010000",
"00010000"
],
// #0x136 
[ 
"11111111",
"11111111",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x137 
[ 
"11000000",
"11000000",
"11000000",
"11000000",
"11000000",
"11000000",
"11000000",
"11000000"
],
// #0x138 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"11111111",
"00000000",
"00000000"
],
// #0x139 
[ 
"00000100",
"00000100",
"00000100",
"00000100",
"00000100",
"00000100",
"00000100",
"00000100"
],
// #0x13a 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"11111111",
"11111111",
"11111111",
"11111111"
],
// #0x13b 
[ 
"00001111",
"00001111",
"00001111",
"00001111",
"00001111",
"00001111",
"00001111",
"00001111"
],
// #0x13c 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"11111111"
],
// #0x13d 
[ 
"00000001",
"00000001",
"00000001",
"00000001",
"00000001",
"00000001",
"00000001",
"00000001"
],
// #0x13e 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"11111111",
"11111111"
],
// #0x13f 
[ 
"00000011",
"00000011",
"00000011",
"00000011",
"00000011",
"00000011",
"00000011",
"00000011"
],
// #0x140 
[ 
"00000000",
"00000000",
"00001000",
"00000100",
"11111110",
"00000100",
"00001000",
"00000000"
],
// #0x141 
[ 
"00001000",
"00011100",
"00111110",
"01111111",
"01111111",
"00011100",
"00111110",
"00000000"
],
// #0x142 
[ 
"11111111",
"01111111",
"00111111",
"00011111",
"00001111",
"00000111",
"00000011",
"00000001"
],
// #0x143 
[ 
"11111111",
"11111111",
"11111111",
"11111111",
"11111111",
"11111111",
"11111111",
"11111111"
],
// #0x144 
[ 
"00001000",
"00011100",
"00111110",
"01111111",
"00111110",
"00011100",
"00001000",
"00000000"
],
// #0x145 
[ 
"00000000",
"00000000",
"00010000",
"00100000",
"01111111",
"00100000",
"00010000",
"00000000"
],
// #0x146 
[ 
"00001000",
"00011100",
"00101010",
"01111111",
"00101010",
"00001000",
"00001000",
"00000000"
],
// #0x147 
[ 
"00000000",
"00111100",
"01111110",
"01111110",
"01111110",
"01111110",
"00111100",
"00000000"
],
// #0x148 
[ 
"00000000",
"00111100",
"01000010",
"01000010",
"01000010",
"01000010",
"00111100",
"00000000"
],
// #0x149 
[ 
"00111100",
"01000010",
"00000010",
"00001100",
"00010000",
"00000000",
"00010000",
"00000000"
],
// #0x14a 
[ 
"11111111",
"11000011",
"10000001",
"10000001",
"10000001",
"10000001",
"11000011",
"11111111"
],
// #0x14b 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00000011",
"00000100",
"00001000",
"00001000"
],
// #0x14c 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"11000000",
"00100000",
"00010000",
"00010000"
],
// #0x14d 
[ 
"10000000",
"11000000",
"11100000",
"11110000",
"11111000",
"11111100",
"11111110",
"11111111"
],
// #0x14e 
[ 
"00000001",
"00000011",
"00000111",
"00001111",
"00011111",
"00111111",
"01111111",
"11111111"
],
// #0x14f 
[ 
"00000000",
"00000000",
"00001000",
"00000000",
"00000000",
"00001000",
"00000000",
"00000000"
],
// #0x150 
[ 
"00000000",
"00001000",
"00011100",
"00101010",
"00001000",
"00001000",
"00001000",
"00000000"
],
// #0x151 
[ 
"00001110",
"00011000",
"00110000",
"01100000",
"00110000",
"00011000",
"00001110",
"00000000"
],
// #0x152 
[ 
"00111100",
"00100000",
"00100000",
"00100000",
"00100000",
"00100000",
"00111100",
"00000000"
],
// #0x153 
[ 
"00110110",
"01111111",
"01111111",
"01111111",
"00111110",
"00011100",
"00001000",
"00000000"
],
// #0x154 
[ 
"00111100",
"00000100",
"00000100",
"00000100",
"00000100",
"00000100",
"00111100",
"00000000"
],
// #0x155 
[ 
"00011100",
"00100010",
"01001010",
"01010110",
"01001100",
"00100000",
"00011110",
"00000000"
],
// #0x156 
[ 
"11111111",
"11111110",
"11111100",
"11111000",
"11110000",
"11100000",
"11000000",
"10000000"
],
// #0x157 
[ 
"01110000",
"00011000",
"00001100",
"00000110",
"00001100",
"00011000",
"01110000",
"00000000"
],
// #0x158 
[ 
"10100000",
"01010000",
"10100000",
"01010000",
"10100000",
"01010000",
"10100000",
"01010000"
],
// #0x159 
[ 
"00000000",
"01000000",
"00100000",
"00010000",
"00001000",
"00000100",
"00000010",
"00000000"
],
// #0x15a 
[ 
"10101010",
"01010101",
"10101010",
"01010101",
"10101010",
"01010101",
"10101010",
"01010101"
],
// #0x15b 
[ 
"11110000",
"11110000",
"11110000",
"11110000",
"00001111",
"00001111",
"00001111",
"00001111"
],
// #0x15c 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00001111",
"00001000",
"00001000",
"00001000"
],
// #0x15d 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"11111000",
"00001000",
"00001000",
"00001000"
],
// #0x15e 
[ 
"00001000",
"00001000",
"00001000",
"00001000",
"11111000",
"00001000",
"00001000",
"00001000"
],
// #0x15f 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"11111111",
"00001000",
"00001000",
"00001000"
],
// #0x160 
[ 
"00000000",
"00000000",
"00000001",
"00111110",
"01010100",
"00010100",
"00010100",
"00000000"
],
// #0x161 
[ 
"00001000",
"00001000",
"00001000",
"00001000",
"00000000",
"00000000",
"00001000",
"00000000"
],
// #0x162 
[ 
"00100100",
"00100100",
"00100100",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x163 
[ 
"00100100",
"00100100",
"01111110",
"00100100",
"01111110",
"00100100",
"00100100",
"00000000"
],
// #0x164 
[ 
"00001000",
"00011110",
"00101000",
"00011100",
"00001010",
"00111100",
"00001000",
"00000000"
],
// #0x165 
[ 
"00000000",
"01100010",
"01100100",
"00001000",
"00010000",
"00100110",
"01000110",
"00000000"
],
// #0x166 
[ 
"00110000",
"01001000",
"01001000",
"00110000",
"01001010",
"01000100",
"00111010",
"00000000"
],
// #0x167 
[ 
"00000100",
"00001000",
"00010000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x168 
[ 
"00000100",
"00001000",
"00010000",
"00010000",
"00010000",
"00001000",
"00000100",
"00000000"
],
// #0x169 
[ 
"00100000",
"00010000",
"00001000",
"00001000",
"00001000",
"00010000",
"00100000",
"00000000"
],
// #0x16a 
[ 
"00000000",
"00001000",
"00001000",
"00111110",
"00001000",
"00001000",
"00000000",
"00000000"
],
// #0x16b 
[ 
"00001000",
"00101010",
"00011100",
"00111110",
"00011100",
"00101010",
"00001000",
"00000000"
],
// #0x16c 
[ 
"00001111",
"00001111",
"00001111",
"00001111",
"11110000",
"11110000",
"11110000",
"11110000"
],
// #0x16d 
[ 
"10000001",
"01000010",
"00100100",
"00011000",
"00011000",
"00100100",
"01000010",
"10000001"
],
// #0x16e 
[ 
"00010000",
"00010000",
"00100000",
"11000000",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x16f 
[ 
"00001000",
"00001000",
"00000100",
"00000011",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x170 
[ 
"11111111",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x171 
[ 
"10000000",
"10000000",
"10000000",
"10000000",
"10000000",
"10000000",
"10000000",
"10000000"
],
// #0x172 
[ 
"11111111",
"10000000",
"10000000",
"10000000",
"10000000",
"10000000",
"10000000",
"10000000"
],
// #0x173 
[ 
"11111111",
"00000001",
"00000001",
"00000001",
"00000001",
"00000001",
"00000001",
"00000001"
],
// #0x174 
[ 
"00000000",
"00000000",
"11111111",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x175 
[ 
"00100000",
"00100000",
"00100000",
"00100000",
"00100000",
"00100000",
"00100000",
"00100000"
],
// #0x176 
[ 
"00000100",
"00001000",
"00010001",
"00100010",
"01000100",
"10001000",
"00010000",
"00100000"
],
// #0x177 
[ 
"00100000",
"00010000",
"10001000",
"01000100",
"00100010",
"00010001",
"00001000",
"00000100"
],
// #0x178 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"11111111",
"00000000",
"00000000",
"00000000"
],
// #0x179 
[ 
"00001000",
"00001000",
"00001000",
"00001000",
"00001000",
"00001000",
"00001000",
"00001000"
],
// #0x17a 
[ 
"11111111",
"11111111",
"11111111",
"11111111",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x17b 
[ 
"11110000",
"11110000",
"11110000",
"11110000",
"11110000",
"11110000",
"11110000",
"11110000"
],
// #0x17c 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"11111111",
"00000000"
],
// #0x17d 
[ 
"00000010",
"00000010",
"00000010",
"00000010",
"00000010",
"00000010",
"00000010",
"00000010"
],
// #0x17e 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"11111111",
"11111111",
"11111111"
],
// #0x17f 
[ 
"00000111",
"00000111",
"00000111",
"00000111",
"00000111",
"00000111",
"00000111",
"00000111"
],
// #0x180 
[ 
"00000000",
"00001000",
"00001000",
"00001000",
"00101010",
"00011100",
"00001000",
"00000000"
],
// #0x181 
[ 
"00010000",
"11111110",
"00100000",
"01111100",
"00000010",
"00000010",
"11111100",
"00000000"
],
// #0x182 
[ 
"00000000",
"11111100",
"00000010",
"00000000",
"00000000",
"10000000",
"01111110",
"00000000"
],
// #0x183 
[ 
"00111100",
"00001000",
"00010000",
"01111110",
"00001000",
"00010000",
"00001100",
"00000000"
],
// #0x184 
[ 
"01000000",
"01000000",
"01000000",
"01000000",
"01000100",
"01000100",
"00111000",
"00000000"
],
// #0x185 
[ 
"10000100",
"10000010",
"10000010",
"10000010",
"10000010",
"10010000",
"01100000",
"00000000"
],
// #0x186 
[ 
"10000100",
"10011110",
"10000100",
"10000100",
"10011100",
"10100110",
"01011100",
"00000000"
],
// #0x187 
[ 
"00010000",
"01111110",
"00001000",
"01111110",
"00000100",
"00000010",
"01100000",
"00011000"
],
// #0x188 
[ 
"00001100",
"00011000",
"00110000",
"01100000",
"00110000",
"00011000",
"00001100",
"00000000"
],
// #0x189 
[ 
"10011110",
"10000000",
"10000000",
"10000000",
"10000000",
"10010000",
"11011110",
"00000000"
],
// #0x18a 
[ 
"00010000",
"01111110",
"00010000",
"01111110",
"00010000",
"01110000",
"10011100",
"01110010"
],
// #0x18b 
[ 
"00111000",
"01010100",
"10010010",
"10010010",
"10010010",
"10010010",
"01100100",
"00000000"
],
// #0x18c 
[ 
"01000100",
"01000100",
"01000100",
"01100100",
"00000100",
"00001000",
"00010000",
"00000000"
],
// #0x18d 
[ 
"00100000",
"11111000",
"00100000",
"11111000",
"00100010",
"00100010",
"00011100",
"00000000"
],
// #0x18e 
[ 
"01110000",
"00010000",
"00010100",
"01111110",
"10010100",
"10010100",
"01100100",
"00000000"
],
// #0x18f 
[ 
"01100000",
"00000000",
"10011100",
"10100010",
"11000010",
"10000010",
"00011100",
"00000000"
],
// #0x190 
[ 
"01000100",
"01000100",
"11111110",
"01000100",
"01011000",
"01000000",
"00111110",
"00000000"
],
// #0x191 
[ 
"00100000",
"11111100",
"01000000",
"01011110",
"10000000",
"10100000",
"10111110",
"00000000"
],
// #0x192 
[ 
"00001000",
"11111110",
"00001000",
"00111000",
"01001000",
"00111000",
"00001000",
"00010000"
],
// #0x193 
[ 
"00100000",
"00100010",
"00101100",
"00110000",
"01000000",
"10000000",
"01111110",
"00000000"
],
// #0x194 
[ 
"00100010",
"11111001",
"00100101",
"00100100",
"00100100",
"00100100",
"01001000",
"00000000"
],
// #0x195 
[ 
"00100000",
"11111010",
"01000001",
"01000100",
"10011100",
"10100110",
"00011100",
"00000000"
],
// #0x196 
[ 
"11100000",
"00100110",
"01000101",
"10000100",
"10000100",
"10001000",
"01110000",
"00000000"
],
// #0x197 
[ 
"11111110",
"00000100",
"00001000",
"00010000",
"00010000",
"00001000",
"00000100",
"00000000"
],
// #0x198 
[ 
"00100000",
"11111110",
"00010000",
"00001000",
"01000100",
"00100000",
"00011000",
"00000000"
],
// #0x199 
[ 
"00010000",
"00100000",
"00100000",
"01110000",
"01001000",
"10001000",
"10000110",
"00000000"
],
// #0x19a 
[ 
"10000000",
"01111100",
"00000010",
"00000010",
"00000010",
"00000100",
"00011000",
"00000000"
],
// #0x19b 
[ 
"01111100",
"00001000",
"00010000",
"00101100",
"01000010",
"00000010",
"00100100",
"00011000"
],
// #0x19c 
[ 
"10000100",
"10111110",
"10000100",
"10000100",
"10000100",
"10000100",
"01001000",
"00000000"
],
// #0x19d 
[ 
"00011110",
"00010000",
"00010000",
"00010000",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x19e 
[ 
"00000000",
"00100000",
"01110000",
"00100000",
"01111000",
"10010100",
"01101000",
"00000000"
],
// #0x19f 
[ 
"00000000",
"00000000",
"01011000",
"11100100",
"00101000",
"00100000",
"00010000",
"00000000"
],
// #0x1a0 
[ 
"00100000",
"11100100",
"00101010",
"00110010",
"01100010",
"10100010",
"00100100",
"00000000"
],
// #0x1a1 
[ 
"00000100",
"01000100",
"01111100",
"01001010",
"10110010",
"10010111",
"01100110",
"00000000"
],
// #0x1a2 
[ 
"00111000",
"00000000",
"00010000",
"01001010",
"01001010",
"10001010",
"00110000",
"00000000"
],
// #0x1a3 
[ 
"00100000",
"11111100",
"00100000",
"01111100",
"10101010",
"10010010",
"01100100",
"00000000"
],
// #0x1a4 
[ 
"00011000",
"00000000",
"00111100",
"01000010",
"00000010",
"00000100",
"00001000",
"00000000"
],
// #0x1a5 
[ 
"00010000",
"00000000",
"01111100",
"00001000",
"00010000",
"00101000",
"01000110",
"00000000"
],
// #0x1a6 
[ 
"00100000",
"11111101",
"00100001",
"01111100",
"10100010",
"10100010",
"01100100",
"00000000"
],
// #0x1a7 
[ 
"01001000",
"01001100",
"00110010",
"11100010",
"00100100",
"00010000",
"00010000",
"00001000"
],
// #0x1a8 
[ 
"00001000",
"10011100",
"10101010",
"11001010",
"11001010",
"10001100",
"00011000",
"00000000"
],
// #0x1a9 
[ 
"00001000",
"00001110",
"00001000",
"00001000",
"01111000",
"10001110",
"01111000",
"00000000"
],
// #0x1aa 
[ 
"10011110",
"10000100",
"10011110",
"10000100",
"10011100",
"10100110",
"11011100",
"00000000"
],
// #0x1ab 
[ 
"00000000",
"00100000",
"01010000",
"10001000",
"00000100",
"00000010",
"00000010",
"00000000"
],
// #0x1ac 
[ 
"00100000",
"11100110",
"00101100",
"00110100",
"01100100",
"10100100",
"00100010",
"00000000"
],
// #0x1ad 
[ 
"00000100",
"01000100",
"01111100",
"01001010",
"10110010",
"10010010",
"01100100",
"00000000"
],
// #0x1ae 
[ 
"01111100",
"00001000",
"00010000",
"00111100",
"01000010",
"00011010",
"00100100",
"00011000"
],
// #0x1af 
[ 
"00100000",
"11100100",
"00101010",
"00110010",
"01100110",
"10101011",
"00100110",
"00000000"
],
// #0x1b0 
[ 
"00100000",
"11111101",
"00100001",
"01100000",
"10100000",
"01100010",
"00111110",
"00000000"
],
// #0x1b1 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00001000",
"00001000",
"00001000",
"01111000"
],
// #0x1b2 
[ 
"00000000",
"00000000",
"01001000",
"01000100",
"01000100",
"01000100",
"00100000",
"00000000"
],
// #0x1b3 
[ 
"00000000",
"00000000",
"00010000",
"10111000",
"11010100",
"10011000",
"00110000",
"00000000"
],
// #0x1b4 
[ 
"00010000",
"11111110",
"00100000",
"01110100",
"10111000",
"01001000",
"01111110",
"00000000"
],
// #0x1b5 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"01000000",
"00100000",
"00010000"
],
// #0x1b6 
[ 
"00000000",
"00100000",
"00000000",
"01111000",
"00000100",
"00000100",
"00001000",
"00000000"
],
// #0x1b7 
[ 
"00000000",
"00000000",
"00100000",
"00111000",
"00100000",
"01111000",
"01100000",
"00000000"
],
// #0x1b8 
[ 
"01110000",
"01010000",
"01110000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x1b9 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00100000",
"00000000"
],
// #0x1ba 
[ 
"00000000",
"00100000",
"00000000",
"01111000",
"00010000",
"00110000",
"01001100",
"00000000"
],
// #0x1bb 
[ 
"00000000",
"00000000",
"00000000",
"11111000",
"00000100",
"00000100",
"00011000",
"00000000"
],
// #0x1bc 
[ 
"00100000",
"10010000",
"01000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x1bd 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"01110000",
"01010000",
"01110000"
],
// #0x1be 
[ 
"00000000",
"00100000",
"01110100",
"00100000",
"01111000",
"10100100",
"01101000",
"00000000"
],
// #0x1bf 
[ 
"00000000",
"00000000",
"00000000",
"00011100",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x1c0 
[ 
"00011100",
"00011100",
"00111110",
"00011100",
"00001000",
"00000000",
"00111110",
"00000000"
],
// #0x1c1 
[ 
"11111111",
"11110111",
"11110111",
"11110111",
"11010101",
"11100011",
"11110111",
"11111111"
],
// #0x1c2 
[ 
"11111111",
"11110111",
"11100011",
"11010101",
"11110111",
"11110111",
"11110111",
"11111111"
],
// #0x1c3 
[ 
"11111111",
"11111111",
"11110111",
"11111011",
"10000001",
"11111011",
"11110111",
"11111111"
],
// #0x1c4 
[ 
"11111111",
"11111111",
"11101111",
"11011111",
"10000001",
"11011111",
"11101111",
"11111111"
],
// #0x1c5 
[ 
"10111011",
"10111011",
"10111011",
"10000011",
"10111011",
"10111011",
"10111011",
"11111111"
],
// #0x1c6 
[ 
"11100011",
"11011101",
"10111111",
"10111111",
"10111111",
"11011101",
"11100011",
"11111111"
],
// #0x1c7 
[ 
"00011000",
"00100100",
"01111110",
"11111111",
"01011010",
"00100100",
"00000000",
"00000000"
],
// #0x1c8 
[ 
"11100000",
"01000111",
"01000010",
"01111110",
"01000010",
"01000111",
"11100000",
"00000000"
],
// #0x1c9 
[ 
"00100010",
"00111110",
"00101010",
"00001000",
"00001000",
"01001001",
"01111111",
"01000001"
],
// #0x1ca 
[ 
"00011100",
"00011100",
"00001000",
"00111110",
"00001000",
"00001000",
"00010100",
"00100010"
],
// #0x1cb 
[ 
"00000000",
"00010001",
"11010010",
"11111100",
"11010010",
"00010001",
"00000000",
"00000000"
],
// #0x1cc 
[ 
"00000000",
"10001000",
"01001011",
"00111111",
"01001011",
"10001000",
"00000000",
"00000000"
],
// #0x1cd 
[ 
"00100010",
"00010100",
"00001000",
"00001000",
"00111110",
"00001000",
"00011100",
"00011100"
],
// #0x1ce 
[ 
"00111100",
"01111110",
"11111111",
"11011011",
"11111111",
"11100111",
"01111110",
"00111100"
],
// #0x1cf 
[ 
"00111100",
"01000010",
"10000001",
"10100101",
"10000001",
"10011001",
"01000010",
"00111100"
],
// #0x1d0 
[ 
"00111110",
"00100010",
"00100010",
"00111110",
"00100010",
"00100010",
"00111110",
"00000000"
],
// #0x1d1 
[ 
"00111110",
"00100010",
"00111110",
"00100010",
"00111110",
"00100010",
"01000010",
"00000000"
],
// #0x1d2 
[ 
"00001000",
"00101010",
"00101010",
"00001000",
"00010100",
"00100010",
"01000001",
"00000000"
],
// #0x1d3 
[ 
"00001000",
"00001001",
"00111010",
"00001100",
"00011100",
"00101010",
"01001001",
"00000000"
],
// #0x1d4 
[ 
"00001000",
"00001000",
"00111110",
"00001000",
"00011100",
"00101010",
"01001001",
"00000000"
],
// #0x1d5 
[ 
"00001000",
"00010100",
"00111110",
"01001001",
"00111110",
"00011100",
"01111111",
"00000000"
],
// #0x1d6 
[ 
"00000000",
"00001000",
"00001000",
"00111110",
"00001000",
"00001000",
"01111111",
"00000000"
],
// #0x1d7 
[ 
"00001000",
"01001000",
"01111110",
"01001000",
"00111110",
"00001000",
"01111111",
"00000000"
],
// #0x1d8 
[ 
"00100000",
"00111110",
"01001000",
"00111100",
"00101000",
"01111110",
"00001000",
"00000000"
],
// #0x1d9 
[ 
"00000100",
"01111110",
"01010100",
"01111111",
"01010010",
"01111111",
"00001010",
"00000000"
],
// #0x1da 
[ 
"00001000",
"00010100",
"00100010",
"01111111",
"00010010",
"00010010",
"00100100",
"00000000"
],
// #0x1db 
[ 
"00111000",
"00010010",
"01111111",
"00010111",
"00111011",
"01010010",
"00010100",
"00000000"
],
// #0x1dc 
[ 
"01111111",
"01001001",
"01001001",
"01111111",
"01000001",
"01000001",
"01000001",
"00000000"
],
// #0x1dd 
[ 
"00100010",
"00010100",
"00111110",
"00001000",
"00111110",
"00001000",
"00001000",
"00000000"
],
// #0x1de 
[ 
"00001100",
"00010010",
"00010000",
"00111000",
"00010000",
"00010000",
"00111110",
"00000000"
],
// #0x1df 
[ 
"00000000",
"11000000",
"11001000",
"01010100",
"01010100",
"01010101",
"00100010",
"00000000"
],
// #0x1e0 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000010",
"11111111",
"00000010"
],
// #0x1e1 
[ 
"00000010",
"00000010",
"00000010",
"00000010",
"00000010",
"00000010",
"00000111",
"00000010"
],
// #0x1e2 
[ 
"00000010",
"00000010",
"00000010",
"00000010",
"00000010",
"00000010",
"11111111",
"00000010"
],
// #0x1e3 
[ 
"00000000",
"00000000",
"00100000",
"01010000",
"10001000",
"00000101",
"00000010",
"00000000"
],
// #0x1e4 
[ 
"00000000",
"00001110",
"00010001",
"00100010",
"11000100",
"00000100",
"00000010",
"00000001"
],
// #0x1e5 
[ 
"00000000",
"11111111",
"00000000",
"10000001",
"01000010",
"01000010",
"10000001",
"00000000"
],
// #0x1e6 
[ 
"00000000",
"01110000",
"10001000",
"01000100",
"00100011",
"00100000",
"01000000",
"10000000"
],
// #0x1e7 
[ 
"00000000",
"11000100",
"10100100",
"10010100",
"10001111",
"10010100",
"10100100",
"11000100"
],
// #0x1e8 
[ 
"00000000",
"00100011",
"00100101",
"00101001",
"11110001",
"00101001",
"00100101",
"00100011"
],
// #0x1e9 
[ 
"10001000",
"10010000",
"10100000",
"11000000",
"11000000",
"10101000",
"10011000",
"10111000"
],
// #0x1ea 
[ 
"10101000",
"10110000",
"10111000",
"11000000",
"11000000",
"10100000",
"10010000",
"10001000"
],
// #0x1eb 
[ 
"10000000",
"01000000",
"00100000",
"00010000",
"00011111",
"00100000",
"01000000",
"10000000"
],
// #0x1ec 
[ 
"00000000",
"00000000",
"00100100",
"00100100",
"11100111",
"00100100",
"00100100",
"00000000"
],
// #0x1ed 
[ 
"00001000",
"00001000",
"00111110",
"00000000",
"00000000",
"00111110",
"00001000",
"00001000"
],
// #0x1ee 
[ 
"00001000",
"00010000",
"00100000",
"00010000",
"00001000",
"00000100",
"00000010",
"00000100"
],
// #0x1ef 
[ 
"01010101",
"10101010",
"01010101",
"10101010",
"01010101",
"10101010",
"01010101",
"10101010"
],
// #0x1f0 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x1f1 
[ 
"00000000",
"01110000",
"01110000",
"01110000",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x1f2 
[ 
"00000000",
"00000111",
"00000111",
"00000111",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x1f3 
[ 
"00000000",
"01110111",
"01110111",
"01110111",
"00000000",
"00000000",
"00000000",
"00000000"
],
// #0x1f4 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"01110000",
"01110000",
"01110000"
],
// #0x1f5 
[ 
"00000000",
"01110000",
"01110000",
"01110000",
"00000000",
"01110000",
"01110000",
"01110000"
],
// #0x1f6 
[ 
"00000000",
"00000111",
"00000111",
"00000111",
"00000000",
"01110000",
"01110000",
"01110000"
],
// #0x1f7 
[ 
"00000000",
"01110111",
"01110111",
"01110111",
"00000000",
"01110000",
"01110000",
"01110000"
],
// #0x1f8 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"00000111",
"00000111",
"00000111"
],
// #0x1f9 
[ 
"00000000",
"01110000",
"01110000",
"01110000",
"00000000",
"00000111",
"00000111",
"00000111"
],
// #0x1fa 
[ 
"00000000",
"00000111",
"00000111",
"00000111",
"00000000",
"00000111",
"00000111",
"00000111"
],
// #0x1fb 
[ 
"00000000",
"01110111",
"01110111",
"01110111",
"00000000",
"00000111",
"00000111",
"00000111"
],
// #0x1fc 
[ 
"00000000",
"00000000",
"00000000",
"00000000",
"00000000",
"01110111",
"01110111",
"01110111"
],
// #0x1fd 
[ 
"00000000",
"01110000",
"01110000",
"01110000",
"00000000",
"01110111",
"01110111",
"01110111"],
// #0x1fe 
[ 
"00000000",
"00000111",
"00000111",
"00000111",
"00000000",
"01110111",
"01110111",
"01110111"
],// #0x1ff 
[ 
"00000000",
"01110111",
"01110111",
"01110111",
"00000000",
"01110111",
"01110111",
"01110111"
]
];