shithub: m8c

Download patch

ref: 259f93c5a1e32de283d3e390fb27d94ad49f2650
parent: 8e0bad662f99eebde515dbc63c5670b0eb0e87e9
parent: 4a302438db0722fbf4d05cfb8839f47ee5bfdd44
author: Jonne Kokkonen <jonne.kokkonen@gmail.com>
date: Fri Apr 30 19:14:24 EDT 2021

Merge pull request #7 from laamaa/bitmap-font

use libserialport for communications, make cross-platform compilation ready, drop sdl2_ttf dependency, switch to sdl render functions only

--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
 *.o
 m8c
 .vscode
+font.c
--- a/Makefile
+++ b/Makefile
@@ -1,14 +1,14 @@
 #Set all your object files (the object files of all the .c files in your project, e.g. main.o my_sub_functions.o )
-OBJ = main.o serial.o slip.o command.o write.o render.o input.o
+OBJ = main.o serial.o slip.o command.o write.o render.o input.o font.o
 
 #Set any dependant header files so that if they are edited they cause a complete re-compile (e.g. main.h some_subfunctions.h some_definitions_file.h ), or leave blank
-DEPS = serial.h slip.h command.h write.h render.h input.h stealth57_ttf.h
+DEPS = serial.h slip.h command.h write.h render.h input.h
 
 #Any special libraries you are using in your project (e.g. -lbcm2835 -lrt `pkg-config --libs gtk+-3.0` ), or leave blank
-INCLUDES = -lSDL2_ttf
+INCLUDES = -lserialport
 
 #Set any compiler flags you want to use (e.g. -I/usr/include/somefolder `pkg-config --cflags gtk+-3.0` ), or leave blank
-CFLAGS = `sdl2-config --libs --cflags` -march=native -Wall -O2 -pipe -I.
+CFLAGS = `sdl2-config --libs --cflags` -march=native -Wall  -pipe -I. -g
 
 #Set the compiler you are using ( gcc for C or g++ for C++ )
 CC = gcc
@@ -25,11 +25,21 @@
 m8c: $(OBJ)
 	$(CC) -o $@ $^ $(CFLAGS) $(INCLUDES)
 
+font.c: inline_font.h
+	@echo "#include <SDL2/SDL.h>" > $@-tmp1
+	@cat inline_font.h >> $@-tmp1
+	@cat inprint2.c > $@-tmp2
+	@sed '/#include/d' $@-tmp2 >> $@-tmp1
+	@rm $@-tmp2
+	@mv $@-tmp1 $@
+	@echo "[~cat] inline_font.h inprint2.c > font.c"
+#	$(CC) -c -o font.o font.c $(CFLAGS)
+
 #Cleanup
 .PHONY: clean
 
 clean:
-	rm -f *.o *~ m8c *~ 
+	rm -f *.o *~ m8c *~ font.c
 
 # PREFIX is environment variable, but if it is not set, then set default value
 ifeq ($(PREFIX),)
--- a/README.md
+++ b/README.md
@@ -1,10 +1,12 @@
 # m8c
 
-m8c is a Linux client for Dirtywave M8 tracker's headless mode. It is intended for use with lower end systems like RPi zero.
+m8c is a Linux client for Dirtywave M8 tracker's headless mode. It is intended for use with lower end systems like RPi zero. The application should be cross-platform ready and can be built in Mac OS and Windows (with MSYS2/MINGW64).
 
 Please note that routing the headless M8 USB audio isn't in the scope of this program -- if this is needed, it can be achieved with tools like jackd, alsa\_in and alsa\_out for example. Check out the guide in file AUDIOGUIDE.md for some instructions on routing the audio.
 
-Many thanks to turbolent for the great Golang-based g0m8 application, which I used as reference on how the M8 serial protocol works.
+Many thanks to:
+driedfruit for a wonderful little routine to blit inline bitmap fonts (https://github.com/driedfruit/SDL_inprint/)
+turbolent for the great Golang-based g0m8 application, which I used as reference on how the M8 serial protocol works.
 
 Disclaimer: I'm not a coder and hardly understand C, use at your own risk :)
 
@@ -19,7 +21,7 @@
 ### Install required packages
 
 ```
-sudo apt update && sudo apt install -y git gcc make libsdl2-dev libsdl2-ttf-dev
+sudo apt update && sudo apt install -y git gcc make libsdl2-dev libserialport-dev
 ```
 
 ### Download source code
@@ -36,32 +38,12 @@
 make && sudo make install
  ```
 
-### Find out the correct device name
-
-Connect the Teensy to your computer and look up the device name:
-
-```
-sudo dmesg | grep ttyACM
-```
-
-This should output something like:
-
-```
-pi@raspberrypi:~/code/m8c $ sudo dmesg | grep ttyACM
-[    8.129649] cdc_acm 1-1.2:1.0: ttyACM0: USB ACM device
-```
-Note the ttyACM0 part -- this is the device name.
-
 ### Start the program
-```
-m8c /dev/<YOUR DEVICE NAME>
-```
 
+Connect the Teensy to your computer and start the program. It should automatically detect your device.
 
-for example:
-
 ```
-m8c /dev/ttyACM0
+m8c
 ```
 
 If the stars are aligned correctly, you should see the M8 screen.
@@ -102,3 +84,5 @@
 The driver can be enabled with ```sudo raspi-config``` and selecting "Advanced options" -> "GL Driver" -> "GL (Full KMS)" and rebooting.
 
 Please note that with some configurations (for example, composite video) this can lead to not getting video output at all. If that happens, you can delete the row ```dtoverlay=vc4-kms-v3d``` in bottom of /boot/config.txt.
+
+Further performance improvement can be achieved by not using X11 and running the program directly in framebuffer console, but this might require doing a custom build of SDL.
--- /dev/null
+++ b/SDL2_inprint.h
@@ -1,0 +1,18 @@
+#ifndef SDL2_inprint_h
+#define SDL2_inprint_h
+
+#include <SDL2/SDL.h>
+
+extern void prepare_inline_font(void);
+extern void kill_inline_font(void);
+
+extern void inrenderer(SDL_Renderer *renderer);
+extern void infont(SDL_Texture *font);
+extern void incolor1(SDL_Color *color);
+extern void incolor(Uint32 color, Uint32 unused); /* Color must be in 0x00RRGGBB format ! */
+extern void inprint(SDL_Renderer *dst, const char *str, Uint32 x, Uint32 y,
+             Uint32 fgcolor, Uint32 bgcolor);
+
+extern SDL_Texture *get_inline_font(void);
+
+#endif /* SDL2_inprint_h */
--- /dev/null
+++ b/inline_font.h
@@ -1,0 +1,82 @@
+#define inline_font_width 128
+#define inline_font_height 64
+static unsigned char inline_font_bits[] = {
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
+0xff, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 
+0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xe6, 0xfe, 0xee, 0xe6, 0xfe, 0xee, 
+0xe6, 0xfe, 0xee, 0xe6, 0xfe, 0xee, 0xe6, 0xfe, 0xee, 0xff, 0xfe, 0xee, 0xfe, 
+0xfe, 0xee, 0xfe, 0xfe, 0xee, 0xfe, 0xfe, 0xee, 0xfe, 0xfe, 0xee, 0xfe, 0xff, 
+0xef, 0xef, 0xee, 0xef, 0xef, 0xee, 0xef, 0xef, 0xee, 0xef, 0xef, 0xee, 0xef, 
+0xef, 0xee, 0xff, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 
+0xee, 0xee, 0xee, 0xee, 0xee, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 
+0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
+0xff, 0xe0, 0xe0, 0xe2, 0xe0, 0xe0, 0xe2, 0xe0, 0xe0, 0xe2, 0xe0, 0xe0, 0xe2, 
+0xe0, 0xe0, 0xe2, 0xe0, 0xfe, 0xfe, 0xee, 0xee, 0xe6, 0xee, 0xfe, 0xfe, 0xee, 
+0xee, 0xe6, 0xee, 0xfe, 0xfe, 0xee, 0xee, 0xee, 0xee, 0xee, 0xff, 0xfe, 0xee, 
+0xee, 0xee, 0xee, 0xff, 0xfe, 0xee, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xfe, 
+0xee, 0xef, 0xee, 0xef, 0xef, 0xfe, 0xee, 0xef, 0xfe, 0xef, 0xef, 0xfe, 0xee, 
+0xee, 0xee, 0xee, 0xee, 0xfe, 0xee, 0xee, 0xee, 0xee, 0xee, 0xfe, 0xee, 0xee, 
+0xee, 0xee, 0xee, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 
+0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf5, 0xff, 
+0xfb, 0xff, 0xf9, 0xfb, 0xef, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 
+0xfe, 0xf5, 0xf5, 0xe0, 0xec, 0xf6, 0xfb, 0xf7, 0xfd, 0xf5, 0xff, 0xff, 0xff, 
+0xff, 0xef, 0xff, 0xfe, 0xff, 0xe0, 0xfa, 0xf4, 0xfa, 0xff, 0xf7, 0xfd, 0xfb, 
+0xfb, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xfe, 0xff, 0xf5, 0xe0, 0xfb, 0xed, 0xff, 
+0xf7, 0xfd, 0xf5, 0xf1, 0xff, 0xf1, 0xff, 0xfb, 0xff, 0xfe, 0xff, 0xe0, 0xeb, 
+0xe5, 0xea, 0xff, 0xf7, 0xfd, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 
+0xff, 0xf5, 0xe0, 0xe6, 0xf6, 0xff, 0xf7, 0xfd, 0xff, 0xff, 0xfb, 0xff, 0xff, 
+0xfe, 0xff, 0xfe, 0xff, 0xff, 0xfb, 0xff, 0xe9, 0xff, 0xef, 0xfe, 0xff, 0xff, 
+0xfb, 0xff, 0xfb, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xf8, 0xe0, 0xe0, 0xee, 0xe0, 
+0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xee, 0xfb, 0xef, 
+0xef, 0xee, 0xfe, 0xfe, 0xef, 0xee, 0xee, 0xff, 0xff, 0xf7, 0xff, 0xfd, 0xee, 
+0xe6, 0xfb, 0xef, 0xef, 0xee, 0xfe, 0xfe, 0xef, 0xee, 0xee, 0xfd, 0xfd, 0xfb, 
+0xf1, 0xfb, 0xef, 0xea, 0xfb, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf7, 0xe0, 0xe0, 
+0xff, 0xff, 0xfd, 0xff, 0xf7, 0xf7, 0xec, 0xfb, 0xfe, 0xef, 0xef, 0xef, 0xee, 
+0xfb, 0xee, 0xef, 0xff, 0xff, 0xfb, 0xf1, 0xfb, 0xfb, 0xee, 0xfb, 0xfe, 0xef, 
+0xef, 0xef, 0xee, 0xfb, 0xee, 0xef, 0xfd, 0xfd, 0xf7, 0xff, 0xfd, 0xff, 0xe0, 
+0xe0, 0xe0, 0xe0, 0xef, 0xe0, 0xe0, 0xfb, 0xe0, 0xef, 0xff, 0xfd, 0xff, 0xff, 
+0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
+0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xf1, 0xf0, 0xf1, 0xf0, 0xe0, 0xe0, 0xf1, 
+0xee, 0xe0, 0xef, 0xee, 0xfe, 0xee, 0xee, 0xf1, 0xee, 0xee, 0xee, 0xee, 0xee, 
+0xfe, 0xfe, 0xee, 0xee, 0xfb, 0xef, 0xf6, 0xfe, 0xe4, 0xec, 0xee, 0xe2, 0xee, 
+0xee, 0xfe, 0xee, 0xfe, 0xfe, 0xfe, 0xee, 0xfb, 0xef, 0xfa, 0xfe, 0xea, 0xea, 
+0xee, 0xea, 0xe0, 0xf0, 0xfe, 0xee, 0xf0, 0xf0, 0xfe, 0xe0, 0xfb, 0xef, 0xfc, 
+0xfe, 0xee, 0xe6, 0xee, 0xe2, 0xee, 0xee, 0xfe, 0xee, 0xfe, 0xfe, 0xe6, 0xee, 
+0xfb, 0xee, 0xfa, 0xfe, 0xee, 0xee, 0xee, 0xfe, 0xee, 0xee, 0xee, 0xee, 0xfe, 
+0xfe, 0xee, 0xee, 0xfb, 0xee, 0xf6, 0xfe, 0xee, 0xee, 0xee, 0xf1, 0xee, 0xf0, 
+0xf1, 0xf0, 0xe0, 0xfe, 0xf1, 0xee, 0xe0, 0xf1, 0xee, 0xe0, 0xee, 0xee, 0xf1, 
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
+0xff, 0xff, 0xff, 0xf0, 0xf1, 0xf0, 0xe1, 0xe0, 0xee, 0xee, 0xee, 0xee, 0xee, 
+0xe0, 0xe7, 0xfe, 0xfc, 0xfb, 0xff, 0xee, 0xee, 0xee, 0xfe, 0xfb, 0xee, 0xee, 
+0xee, 0xee, 0xee, 0xef, 0xf7, 0xfe, 0xfd, 0xf5, 0xff, 0xee, 0xee, 0xee, 0xfe, 
+0xfb, 0xee, 0xee, 0xee, 0xf5, 0xee, 0xf7, 0xf7, 0xfd, 0xfd, 0xff, 0xff, 0xf0, 
+0xee, 0xf0, 0xf1, 0xfb, 0xee, 0xee, 0xee, 0xfb, 0xe1, 0xfb, 0xf7, 0xfb, 0xfd, 
+0xff, 0xff, 0xfe, 0xea, 0xf6, 0xef, 0xfb, 0xee, 0xf5, 0xea, 0xf5, 0xef, 0xfd, 
+0xf7, 0xf7, 0xfd, 0xff, 0xff, 0xfe, 0xf6, 0xee, 0xef, 0xfb, 0xee, 0xf5, 0xe4, 
+0xee, 0xef, 0xfe, 0xf7, 0xef, 0xfd, 0xff, 0xff, 0xfe, 0xe9, 0xee, 0xf0, 0xfb, 
+0xf1, 0xfb, 0xee, 0xee, 0xf0, 0xe0, 0xe7, 0xef, 0xfc, 0xff, 0xe0, 0xff, 0xff, 
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
+0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 
+0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xef, 0xff, 0xe3, 0xff, 0xff, 
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xf0, 0xe1, 0xe1, 0xf1, 
+0xfd, 0xe0, 0xfe, 0xfb, 0xef, 0xee, 0xfe, 0xe4, 0xf0, 0xf1, 0xff, 0xee, 0xee, 
+0xfe, 0xee, 0xee, 0xfd, 0xee, 0xf0, 0xfb, 0xef, 0xf6, 0xfe, 0xea, 0xee, 0xee, 
+0xff, 0xee, 0xee, 0xfe, 0xee, 0xe0, 0xe0, 0xe0, 0xee, 0xfb, 0xef, 0xf8, 0xfe, 
+0xea, 0xee, 0xee, 0xff, 0xee, 0xee, 0xfe, 0xee, 0xfe, 0xfd, 0xef, 0xee, 0xfb, 
+0xef, 0xf6, 0xfe, 0xea, 0xee, 0xee, 0xff, 0xe1, 0xf0, 0xe1, 0xe1, 0xe1, 0xfd, 
+0xf1, 0xee, 0xf1, 0xf0, 0xee, 0xe1, 0xea, 0xee, 0xf1, 0xff, 0xff, 0xff, 0xff, 
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xfe, 0xfe, 
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
+0xf7, 0xfe, 0xfd, 0xed, 0xff, 0xe0, 0xe1, 0xe1, 0xe1, 0xe0, 0xee, 0xee, 0xea, 
+0xee, 0xee, 0xe0, 0xf7, 0xfe, 0xfd, 0xf2, 0xff, 0xee, 0xee, 0xfe, 0xfe, 0xfd, 
+0xee, 0xee, 0xea, 0xf5, 0xee, 0xf7, 0xef, 0xfe, 0xfe, 0xff, 0xff, 0xee, 0xee, 
+0xfe, 0xe0, 0xfd, 0xee, 0xee, 0xea, 0xfb, 0xe1, 0xfb, 0xf7, 0xfe, 0xfd, 0xff, 
+0xff, 0xf0, 0xe0, 0xfe, 0xef, 0xfd, 0xee, 0xf5, 0xea, 0xf5, 0xef, 0xfd, 0xf7, 
+0xfe, 0xfd, 0xff, 0xff, 0xfe, 0xef, 0xfe, 0xf0, 0xe3, 0xf1, 0xfb, 0xf5, 0xee, 
+0xf0, 0xe0, 0xef, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff  };
--- /dev/null
+++ b/inprint2.c
@@ -1,0 +1,139 @@
+#include <SDL2/SDL.h>
+#include <SDL2/SDL_blendmode.h>
+#include <SDL2/SDL_rect.h>
+#include <SDL2/SDL_render.h>
+#include <SDL2/SDL_surface.h>
+
+#include "inline_font.h" /* Actual font data */
+
+#define CHARACTERS_PER_ROW 16   /* I like 16 x 8 fontsets. */
+#define CHARACTERS_PER_COLUMN 8 /* 128 x 1 is another popular format. */
+
+static SDL_Renderer *selected_renderer = NULL;
+static SDL_Texture *inline_font = NULL;
+static SDL_Texture *selected_font = NULL;
+static Uint16 selected_font_w, selected_font_h;
+
+void prepare_inline_font() {
+  Uint32 *pix_ptr, tmp;
+  int i, len, j;
+  SDL_Surface *surface;
+  Uint32 colors[2];
+
+  selected_font_w = inline_font_width;
+  selected_font_h = inline_font_height;
+
+  if (inline_font != NULL) {
+    selected_font = inline_font;
+    return;
+  }
+
+  surface = SDL_CreateRGBSurface(0, inline_font_width, inline_font_height, 32,
+#if SDL_BYTEORDER == SDL_BIG_ENDIAN
+                                 0xff000000, 0x00ff0000, 0x0000ff00, 0x000000ff
+#else
+                                 0x000000ff, 0x0000ff00, 0x00ff0000, 0xff000000
+#endif
+  );
+  colors[0] = SDL_MapRGBA(surface->format, 0xFF, 0xFF, 0xFF, 0xFF);
+  colors[1] = SDL_MapRGBA(surface->format, 0x00, 0x00, 0x00,
+                          0x00 /* or 0xFF, to have bg-color */);
+
+  /* Get pointer to pixels and array length */
+  pix_ptr = (Uint32 *)surface->pixels;
+  len = surface->h * surface->w / 8;
+
+  /* Copy */
+  for (i = 0; i < len; i++) {
+    tmp = (Uint8)inline_font_bits[i];
+    for (j = 0; j < 8; j++) {
+      Uint8 mask = (0x01 << j);
+      pix_ptr[i * 8 + j] = colors[(tmp & mask) >> j];
+    }
+  }
+
+  inline_font = SDL_CreateTextureFromSurface(selected_renderer, surface);
+  SDL_FreeSurface(surface);
+
+  selected_font = inline_font;
+}
+void kill_inline_font(void) {
+  SDL_DestroyTexture(inline_font);
+  inline_font = NULL;
+}
+void inrenderer(SDL_Renderer *renderer) { selected_renderer = renderer; }
+void infont(SDL_Texture *font) {
+  Uint32 format;
+  int access;
+  int w, h;
+
+  if (font == NULL) {
+    prepare_inline_font();
+    return;
+  }
+
+  SDL_QueryTexture(font, &format, &access, &w, &h);
+
+  selected_font = font;
+  selected_font_w = w;
+  selected_font_h = h;
+}
+void incolor1(SDL_Color *color) {
+  SDL_SetTextureColorMod(selected_font, color->r, color->g, color->b);
+}
+void incolor(Uint32 fore,
+             Uint32 unused) /* Color must be in 0x00RRGGBB format ! */
+{
+  SDL_Color pal[1];
+  pal[0].r = (Uint8)((fore & 0x00FF0000) >> 16);
+  pal[0].g = (Uint8)((fore & 0x0000FF00) >> 8);
+  pal[0].b = (Uint8)((fore & 0x000000FF));
+  SDL_SetTextureColorMod(selected_font, pal[0].r, pal[0].g, pal[0].b);
+}
+void inprint(SDL_Renderer *dst, const char *str, Uint32 x, Uint32 y,
+             Uint32 fgcolor, Uint32 bgcolor) {
+  SDL_Rect s_rect;
+  SDL_Rect d_rect;
+	SDL_Rect bg_rect;
+
+  d_rect.x = x;
+  d_rect.y = y;
+  s_rect.w = selected_font_w / CHARACTERS_PER_ROW;
+  s_rect.h = selected_font_h / CHARACTERS_PER_COLUMN;
+  d_rect.w = s_rect.w;
+  d_rect.h = s_rect.h;
+
+  if (dst == NULL)
+    dst = selected_renderer;
+
+  for (; *str; str++) {
+    int id = (int)*str;
+#if (CHARACTERS_PER_COLUMN != 1)
+    int row = id / CHARACTERS_PER_ROW;
+    int col = id % CHARACTERS_PER_ROW;
+    s_rect.x = col * s_rect.w;
+    s_rect.y = row * s_rect.h;
+#else
+    s_rect.x = id * s_rect.w;
+    s_rect.y = 0;
+#endif
+    if (id == '\n') {
+      d_rect.x = x;
+      d_rect.y += s_rect.h;
+      continue;
+    }
+    incolor(fgcolor, 0);
+    if (bgcolor != -1) {
+      SDL_SetRenderDrawColor(selected_renderer,
+                             (Uint8)((bgcolor & 0x00FF0000) >> 16),
+                             (Uint8)((bgcolor & 0x0000FF00) >> 8),
+                             (Uint8)((bgcolor & 0x000000FF)), 0xFF);
+			bg_rect = d_rect;
+			bg_rect.w = 6;
+      SDL_RenderFillRect(dst, &bg_rect);
+    }
+    SDL_RenderCopy(dst, selected_font, &s_rect, &d_rect);
+    d_rect.x += s_rect.w;
+  }
+}
+SDL_Texture *get_inline_font(void) { return selected_font; }
--- a/main.c
+++ b/main.c
@@ -1,13 +1,10 @@
+#include <stdio.h>
 #include <SDL2/SDL.h>
 #include <SDL2/SDL_timer.h>
-#include <errno.h>
+#include <libserialport.h>
 #include <signal.h>
-#include <stdio.h>
-#include <string.h>
-#include <unistd.h>
 
 #include "serial.h"
-
 #include "command.h"
 #include "input.h"
 #include "render.h"
@@ -14,6 +11,9 @@
 #include "slip.h"
 #include "write.h"
 
+// maximum amount of bytes to read from the serial in one read()
+#define serial_read_size 1024
+
 uint8_t run = 1;
 
 // Handles CTRL+C / SIGINT
@@ -21,13 +21,10 @@
 
 int main(int argc, char *argv[]) {
 
-  // maximum amount of bytes to read from the serial in one read()
-  const int serial_read_size = 1024;
-
   // allocate memory for serial buffer
-  uint8_t serial_buf[serial_read_size];
+  uint8_t *serial_buf = malloc(serial_read_size);
 
-  static uint8_t slip_buffer[1024]; // SLIP command buffer
+  static uint8_t slip_buffer[serial_read_size]; // SLIP command buffer
 
   // settings for the slip packet handler
   static const slip_descriptor_s slip_descriptor = {
@@ -40,18 +37,14 @@
   static slip_handler_s slip;
 
   signal(SIGINT, intHandler);
+  signal(SIGTERM, intHandler);
 
   slip_init(&slip, &slip_descriptor);
 
-  // open device
-  char *portname;
-  if (argc > 1) {
-    portname = argv[1];
-  } else {
-    portname = "/dev/ttyACM0";
-  }
-  int port = init_serial(portname);
-  if (port == -1)
+  struct sp_port *port;
+
+  port = init_serial();
+  if (port == NULL)
     return -1;
 
   if (enable_and_reset_display(port) == -1)
@@ -68,10 +61,10 @@
   // main loop
   while (run) {
 
-    // read data from serial port
-    size_t bytes_read = read(port, &serial_buf, sizeof(serial_buf));
-    if (bytes_read == -1) {
-      fprintf(stderr, "Error %d reading serial: %s\n", errno, strerror(errno));
+    // read serial port
+    size_t bytes_read = sp_nonblocking_read(port, serial_buf, serial_read_size);
+    if (bytes_read < 0) {
+      fprintf(stderr, "Error %zu reading serial. \n", bytes_read);
       run = 0;
     }
     if (bytes_read > 0) {
@@ -83,8 +76,11 @@
           fprintf(stderr, "SLIP error %d\n", n);
         }
       }
+    } else {
+      SDL_Delay(1);
     }
 
+    // get current inputs
     input_msg_s input = get_input_msg();
 
     switch (input.type) {
@@ -98,7 +94,7 @@
       if (input.value != prev_input) {
         prev_input = input.value;
         if (input.value != 0) {
-          send_msg_keyjazz(port, input.value, 64);
+          send_msg_keyjazz(port, input.value, 0xFF);
         } else {
           send_msg_keyjazz(port, 0, 0);
         }
@@ -114,8 +110,6 @@
     }
 
     render_screen();
-
-    usleep(10);
   }
 
   // exit, clean up
@@ -123,7 +117,9 @@
   close_input();
   close_renderer();
   disconnect(port);
-  close(port);
+  sp_close(port);
+  sp_free_port(port);
+  free(serial_buf);
 
   return 0;
 }
\ No newline at end of file
--- a/render.c
+++ b/render.c
@@ -1,18 +1,21 @@
 #include "render.h"
 
 #include <SDL2/SDL.h>
+#include <SDL2/SDL_pixels.h>
+#include <SDL2/SDL_render.h>
 #include <SDL2/SDL_rwops.h>
+#include <SDL2/SDL_surface.h>
 #include <SDL2/SDL_ttf.h>
+#include <stdio.h>
 
+#include "SDL2_inprint.h"
+
 #include "command.h"
-#include "stealth57_ttf.h"
 
 SDL_Window *win;
 SDL_Renderer *rend;
-TTF_Font *font;
-SDL_Texture *glyph_texture;
-SDL_Texture *background;
-SDL_Surface *surface;
+SDL_Texture *maintexture;
+
 static uint32_t ticks;
 #ifdef SHOW_FPS
 static uint32_t ticks_fps;
@@ -35,11 +38,6 @@
     return -1;
   }
 
-  if (TTF_Init() == -1) {
-    printf("TTF_Init: %s\n", TTF_GetError());
-    return -1;
-  }
-
   win = SDL_CreateWindow("m8c", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
                          window_width, window_height,
                          SDL_WINDOW_SHOWN | SDL_WINDOW_OPENGL |
@@ -47,27 +45,22 @@
 
   rend = SDL_CreateRenderer(win, -1, SDL_RENDERER_ACCELERATED);
 
-  font = TTF_OpenFontRW(SDL_RWFromMem(stealth57_ttf, stealth57_ttf_len), 1,
-                        font_size);
+  maintexture = SDL_CreateTexture(rend, SDL_PIXELFORMAT_ARGB8888,
+                                  SDL_TEXTUREACCESS_TARGET, 320, 240);
 
-  surface =
-      SDL_CreateRGBSurfaceWithFormat(0, 320, 240, 8, SDL_PIXELFORMAT_ARGB8888);
-  if (surface == NULL) {
-    SDL_Log("SDL_CreateRGBSurfaceWithFormat() failed: %s", SDL_GetError());
-    exit(1);
-  }
+  SDL_SetRenderTarget(rend, maintexture);
 
-  SDL_SetRenderTarget(rend, background);
+  SDL_SetRenderDrawColor(rend, 0x00, 0x00, 0x00, 0x00);
+  SDL_RenderClear(rend);
 
+  inrenderer(rend);
+  prepare_inline_font();
+
   return 1;
 }
 
 void close_renderer() {
-
-  SDL_FreeSurface(surface);
-  SDL_DestroyTexture(glyph_texture);
-  SDL_DestroyTexture(background);
-  TTF_CloseFont(font);
+  SDL_DestroyTexture(maintexture);
   SDL_DestroyRenderer(rend);
   SDL_DestroyWindow(win);
 }
@@ -82,36 +75,20 @@
 
 int draw_character(struct draw_character_command *command) {
 
-  SDL_Color fgcolor = {command->foreground.r, command->foreground.g,
-                       command->foreground.b};
+  uint32_t fgcolor = (command->foreground.r << 16) |
+                     (command->foreground.g << 8) | command->foreground.b;
+  uint32_t bgcolor = (command->background.r << 16) |
+                     (command->background.g << 8) | command->background.b;
 
-  SDL_Color bgcolor = {command->background.r, command->background.g,
-                       command->background.b};
-
-  SDL_Surface *char_surface;
-
-  // Trash80: yeah I think I did something silly that if both are the same color
-  // it means transparent background or something
-  if (fgcolor.r == bgcolor.r && fgcolor.g == bgcolor.g &&
-      fgcolor.b == bgcolor.b)
-    char_surface = TTF_RenderUTF8_Solid(font, (char *)&command->c, fgcolor);
-  else
-    char_surface =
-        TTF_RenderUTF8_Shaded(font, (char *)&command->c, fgcolor, bgcolor);
-
-  if (!char_surface) {
-    fprintf(stderr, "TTF_RenderUTF8_Solid error %s\n", TTF_GetError());
-    return -1;
+  if (bgcolor == fgcolor) {
+    // when bgcolor and fgcolor are the same, do not render a background
+    inprint(rend, (char *)&command->c, command->pos.x, command->pos.y + 3,
+            fgcolor, -1);
+  } else {
+    inprint(rend, (char *)&command->c, command->pos.x, command->pos.y + 3,
+            fgcolor, bgcolor);
   }
 
-  int texW, texH = 0;
-  TTF_SizeUTF8(font, (char *)&command->c, &texW, &texH);
-  SDL_Rect dstrect = {command->pos.x, command->pos.y + 3, texW, texH};
-
-  SDL_BlitSurface(char_surface, NULL, surface, &dstrect);
-
-  SDL_FreeSurface(char_surface);
-
   return 1;
 }
 
@@ -124,36 +101,26 @@
   render_rect.h = command->size.height;
   render_rect.w = command->size.width;
 
-  uint32_t color = SDL_MapRGBA(surface->format, command->color.r,
-                               command->color.g, command->color.b, 255);
-
-  SDL_FillRect(surface, &render_rect, color);
+  SDL_SetRenderDrawColor(rend, command->color.r, command->color.g,
+                         command->color.b, 0xFF);
+  SDL_RenderFillRect(rend, &render_rect);
 }
 
-// Direct pixel writing function by unwind, https://stackoverflow.com/a/20070273
-void set_pixel(SDL_Surface *surface, int x, int y, Uint32 pixel) {
-
-  Uint32 *const target_pixel =
-      (Uint32 *)((Uint8 *)surface->pixels + y * surface->pitch +
-                 x * surface->format->BytesPerPixel);
-  *target_pixel = pixel;
-}
-
 void draw_waveform(struct draw_oscilloscope_waveform_command *command) {
 
-  // clear the oscilloscope area
-  memset(surface->pixels, 0, surface->w * 21 * surface->format->BytesPerPixel);
+  const SDL_Rect wf_rect = {0,0,320,20};
 
-  // set oscilloscope color
-  uint32_t color = SDL_MapRGBA(surface->format, command->color.r,
-                               command->color.g, command->color.b, 255);
+  SDL_SetRenderDrawColor(rend, 0, 0, 0, 0xFF);
+  SDL_RenderFillRect(rend, &wf_rect);
 
+  SDL_SetRenderDrawColor(rend, command->color.r, command->color.g,
+                         command->color.b, 255);
+
   for (int i = 0; i < command->waveform_size; i++) {
     // limit value because the oscilloscope commands seem to glitch occasionally
     if (command->waveform[i] > 20)
       command->waveform[i] = 20;
-    // draw the pixels directly to the surface
-    set_pixel(surface, i, command->waveform[i], color);
+    SDL_RenderDrawPoint(rend, i, command->waveform[i]);
   }
 }
 
@@ -171,12 +138,12 @@
     struct draw_character_command dcc;
     dcc.background = (struct color){0, 0, 0};
     dcc.foreground = (struct color){200, 200, 200};
-    dcc.c = base_octave+48;
+    dcc.c = base_octave + 48;
     dcc.pos.x = 300;
     dcc.pos.y = 226;
 
     draw_character(&dcc);
-    
+
   } else {
     struct draw_rectangle_command drc;
     drc.color = (struct color){0, 0, 0};
@@ -195,13 +162,12 @@
   if (SDL_GetTicks() - ticks > 16) {
 
     ticks = SDL_GetTicks();
-
-    SDL_RenderClear(rend);
-
-    background = SDL_CreateTextureFromSurface(rend, surface);
-    SDL_RenderCopy(rend, background, NULL, NULL);
+    SDL_SetRenderTarget(rend, NULL);
+    // SDL_SetRenderDrawColor(rend, 0, 0, 0, 0);
+    // SDL_RenderClear(rend);
+    SDL_RenderCopy(rend, maintexture, NULL, NULL);
     SDL_RenderPresent(rend);
-    SDL_DestroyTexture(background);
+    SDL_SetRenderTarget(rend, maintexture);
 
 #ifdef SHOW_FPS
     fps++;
--- a/serial.c
+++ b/serial.c
@@ -1,83 +1,98 @@
-#include <errno.h>
-#include <fcntl.h>
+#include <libserialport.h>
 #include <stdio.h>
-#include <string.h>
-#include <termios.h>
-#include <unistd.h>
+#include <stdlib.h>
 
 #include "serial.h"
 
-/* This code is originally by wallyk,
-https://stackoverflow.com/questions/6947413/how-to-open-read-and-write-from-serial-port-in-c
-with small tweaks to the blocking settings. Big thanks to the
-original author. */
 
-static int set_interface_attribs(int fd, int speed, int parity) {
-  struct termios tty;
-  if (tcgetattr(fd, &tty) != 0) {
-    fprintf(stderr, "error %d from tcgetattr", errno);
-    return -1;
-  }
+// Helper function for error handling
+static int check(enum sp_return result);
 
-  cfsetospeed(&tty, speed);
-  cfsetispeed(&tty, speed);
+static int detect_m8_serial_device(struct sp_port *port) {
+  // Check the connection method - we want USB serial devices
+  enum sp_transport transport = sp_get_port_transport(port);
 
-  tty.c_cflag = (tty.c_cflag & ~CSIZE) | CS8; // 8-bit chars
-  // disable IGNBRK for mismatched speed tests; otherwise receive break
-  // as \000 chars
-  tty.c_iflag &= ~IGNBRK; // disable break processing
-  tty.c_lflag = 0;        // no signaling chars, no echo,
-                          // no canonical processing
-  tty.c_oflag = 0;        // no remapping, no delays
-  tty.c_cc[VMIN] = 0;     // read doesn't block
-  tty.c_cc[VTIME] = 5;    // 0.5 seconds read timeout
+  if (transport == SP_TRANSPORT_USB) {
+    // Get the USB vendor and product IDs.
+    int usb_vid, usb_pid;
+    sp_get_port_usb_vid_pid(port, &usb_vid, &usb_pid);
 
-  tty.c_iflag &= ~(IXON | IXOFF | IXANY); // shut off xon/xoff ctrl
-
-  tty.c_cflag |= (CLOCAL | CREAD);   // ignore modem controls,
-                                     // enable reading
-  tty.c_cflag &= ~(PARENB | PARODD); // shut off parity
-  tty.c_cflag |= parity;
-  tty.c_cflag &= ~CSTOPB;
-  tty.c_cflag &= ~CRTSCTS;
-
-  if (tcsetattr(fd, TCSANOW, &tty) != 0) {
-    fprintf(stderr, "Error %d from tcsetattr\n", errno);
-    return -1;
+    if (usb_vid == 0x16C0 && usb_pid == 0x048A)
+      return 1;
   }
+
   return 0;
 }
 
-static void set_blocking(int fd, int should_block) {
+struct sp_port *init_serial() {
+  /* A pointer to a null-terminated array of pointers to
+   * struct sp_port, which will contain the ports found.*/
+  struct sp_port *m8_port = NULL;
+  struct sp_port **port_list;
 
-  struct termios tty;
-  memset(&tty, 0, sizeof tty);
-  if (tcgetattr(fd, &tty) != 0) {
-    fprintf(stderr, "Error %d from tggetattr\n", errno);
-    return;
+  fprintf(stderr, "Looking for USB serial devices.\n");
+
+  /* Call sp_list_ports() to get the ports. The port_list
+   * pointer will be updated to refer to the array created. */
+  enum sp_return result = sp_list_ports(&port_list);
+
+  if (result != SP_OK) {
+    fprintf(stderr, "sp_list_ports() failed!\n");
+    abort();
   }
 
-  // non-blocking VMIN and VTIME should both be 0
-  tty.c_cc[VMIN] = should_block ? 1 : 0;
-  tty.c_cc[VTIME] = should_block ? 5 : 0;
+  /* Iterate through the ports. When port_list[i] is NULL
+   * this indicates the end of the list. */
+  for (int i = 0; port_list[i] != NULL; i++) {
+    struct sp_port *port = port_list[i];
 
-  if (tcsetattr(fd, TCSANOW, &tty) != 0)
-    fprintf(stderr, "Error %d setting term attributes\n", errno);
-}
+    if (detect_m8_serial_device(port)) {
+      fprintf(stderr, "Found M8 in %s.\n", sp_get_port_name(port));
+      sp_copy_port(port, &m8_port);
+    }
+  }
 
-int init_serial(char *portname) {
+  sp_free_port_list(port_list);
 
-  int fd = open(portname, O_RDWR);
+  if (m8_port != NULL) {
+    // Open the serial port and configure it
+    fprintf(stderr, "Opening port.\n");
+    check(sp_open(m8_port, SP_MODE_READ_WRITE));
 
-  if (fd < 0) {
-    fprintf(stderr, "Error %d opening %s: %s\n", errno, portname,
-            strerror(errno));
-    return -1;
+    check(sp_set_baudrate(m8_port, 115200));
+    check(sp_set_bits(m8_port, 8));
+    check(sp_set_parity(m8_port, SP_PARITY_NONE));
+    check(sp_set_stopbits(m8_port, 1));
+    check(sp_set_flowcontrol(m8_port, SP_FLOWCONTROL_NONE));
+  } else {
+    fprintf(stderr, "Cannot find a M8.\n");
   }
 
-  set_interface_attribs(fd, __MAX_BAUD,
-                        0); // set speed to max bps, 8n1 (no parity)
-  set_blocking(fd, 0);      // set no blocking
+  return (m8_port);
+}
 
-  return fd;
+// Helper function for error handling.
+static int check(enum sp_return result) {
+  
+  char *error_message;
+
+  switch (result) {
+  case SP_ERR_ARG:
+    fprintf(stderr,"Error: Invalid argument.\n");
+    abort();
+  case SP_ERR_FAIL:
+    error_message = sp_last_error_message();
+    fprintf(stderr,"Error: Failed: %s\n", error_message);
+    sp_free_error_message(error_message);
+    abort();
+  case SP_ERR_SUPP:
+    fprintf(stderr,"Error: Not supported.\n");
+    abort();
+  case SP_ERR_MEM:
+    fprintf(stderr,"Error: Couldn't allocate memory.\n");
+    abort();
+  case SP_OK:
+  default:
+    return result;
+  }
 }
\ No newline at end of file
--- a/serial.h
+++ b/serial.h
@@ -1,6 +1,8 @@
 #ifndef _SERIAL_H_
 #define _SERIAL_H_
 
-int init_serial(char *portname);
+#include <libserialport.h>
+
+struct sp_port *init_serial();
 
 #endif
\ No newline at end of file
--- a/stealth57_ttf.h
+++ /dev/null
@@ -1,1095 +1,0 @@
-#ifndef STEALTH57_TTF_H_
-#define STEALTH57_TTF_H_
-unsigned char stealth57_ttf[] = {
-  0x00, 0x01, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x80, 0x00, 0x03, 0x00, 0x20,
-  0x4f, 0x53, 0x2f, 0x32, 0x63, 0x78, 0xf7, 0xd4, 0x00, 0x00, 0x01, 0x28,
-  0x00, 0x00, 0x00, 0x60, 0x63, 0x6d, 0x61, 0x70, 0x43, 0xf7, 0x44, 0xb6,
-  0x00, 0x00, 0x03, 0x24, 0x00, 0x00, 0x02, 0x14, 0x67, 0x6c, 0x79, 0x66,
-  0xcf, 0x76, 0xfe, 0x7b, 0x00, 0x00, 0x06, 0xd8, 0x00, 0x00, 0x24, 0x84,
-  0x68, 0x65, 0x61, 0x64, 0x18, 0x4e, 0x8d, 0x3e, 0x00, 0x00, 0x00, 0xac,
-  0x00, 0x00, 0x00, 0x36, 0x68, 0x68, 0x65, 0x61, 0x06, 0x01, 0x03, 0xe8,
-  0x00, 0x00, 0x00, 0xe4, 0x00, 0x00, 0x00, 0x24, 0x68, 0x6d, 0x74, 0x78,
-  0x2d, 0x4e, 0x10, 0x00, 0x00, 0x00, 0x01, 0x88, 0x00, 0x00, 0x01, 0x9c,
-  0x6c, 0x6f, 0x63, 0x61, 0x00, 0x07, 0x6b, 0xd0, 0x00, 0x00, 0x05, 0x38,
-  0x00, 0x00, 0x01, 0xa0, 0x6d, 0x61, 0x78, 0x70, 0x00, 0x73, 0x00, 0x2e,
-  0x00, 0x00, 0x01, 0x08, 0x00, 0x00, 0x00, 0x20, 0x6e, 0x61, 0x6d, 0x65,
-  0x40, 0xb2, 0x07, 0xa0, 0x00, 0x00, 0x2b, 0x5c, 0x00, 0x00, 0x07, 0x8d,
-  0x70, 0x6f, 0x73, 0x74, 0x00, 0x69, 0x00, 0x33, 0x00, 0x00, 0x32, 0xec,
-  0x00, 0x00, 0x00, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
-  0x9d, 0x63, 0x68, 0x14, 0x5f, 0x0f, 0x3c, 0xf5, 0x00, 0x00, 0x04, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0xdb, 0x5d, 0xa4, 0x60, 0x00, 0x00, 0x00, 0x00,
-  0xdb, 0x5d, 0xa4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0x80,
-  0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x01, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x02, 0x80, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67,
-  0x00, 0x01, 0x00, 0x00, 0x00, 0x67, 0x00, 0x2c, 0x00, 0x0b, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0xec,
-  0x01, 0x90, 0x00, 0x05, 0x00, 0x04, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x33,
-  0x00, 0xcc, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x80, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x53, 0x54, 0x52, 0x00, 0x40,
-  0x00, 0x20, 0x20, 0x1d, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x80,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80,
-  0x03, 0x80, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x02, 0xce, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x80, 0x03, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x80, 0x03, 0x00, 0x01, 0x00,
-  0x03, 0x00, 0x00, 0x80, 0x03, 0x00, 0x01, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x80,
-  0x03, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x80,
-  0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x01, 0x80, 0x03, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x01, 0x80, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x03, 0x00, 0x01, 0x00,
-  0x03, 0x00, 0x01, 0x00, 0x03, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x14,
-  0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x01, 0x14, 0x00, 0x04, 0x01, 0x00,
-  0x00, 0x00, 0x00, 0x0a, 0x00, 0x08, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7e,
-  0x00, 0xc0, 0x20, 0x19, 0x20, 0x1d, 0xff, 0xff, 0x00, 0x00, 0x00, 0x20,
-  0x00, 0xc0, 0x20, 0x18, 0x20, 0x1c, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xa2,
-  0xe0, 0x4b, 0xe0, 0x49, 0x00, 0x01, 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, 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,
-  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, 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, 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, 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,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x08, 0x00, 0x02,
-  0x00, 0x02, 0x00, 0x7e, 0x00, 0xc0, 0x20, 0x19, 0x20, 0x1d, 0xff, 0xff,
-  0x00, 0x00, 0x00, 0x20, 0x00, 0xc0, 0x20, 0x18, 0x20, 0x1c, 0xff, 0xff,
-  0xff, 0xe3, 0xff, 0xa2, 0xe0, 0x4b, 0xe0, 0x49, 0x00, 0x01, 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, 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, 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, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78,
-  0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x78,
-  0x00, 0x00, 0x00, 0xb0, 0x00, 0x00, 0x00, 0xe8, 0x00, 0x00, 0x01, 0x98,
-  0x00, 0x00, 0x02, 0x38, 0x00, 0x00, 0x02, 0xe0, 0x00, 0x00, 0x03, 0xe0,
-  0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x04, 0x54, 0x00, 0x00, 0x04, 0xa4,
-  0x00, 0x00, 0x05, 0x20, 0x00, 0x00, 0x05, 0x6c, 0x00, 0x00, 0x05, 0x90,
-  0x00, 0x00, 0x05, 0xb4, 0x00, 0x00, 0x05, 0xd8, 0x00, 0x00, 0x06, 0x54,
-  0x00, 0x00, 0x06, 0xcc, 0x00, 0x00, 0x07, 0x0c, 0x00, 0x00, 0x07, 0x58,
-  0x00, 0x00, 0x07, 0xa4, 0x00, 0x00, 0x07, 0xe4, 0x00, 0x00, 0x08, 0x30,
-  0x00, 0x00, 0x08, 0x7c, 0x00, 0x00, 0x08, 0xd4, 0x00, 0x00, 0x09, 0x24,
-  0x00, 0x00, 0x09, 0x68, 0x00, 0x00, 0x09, 0xa0, 0x00, 0x00, 0x09, 0xd8,
-  0x00, 0x00, 0x0a, 0x54, 0x00, 0x00, 0x0a, 0x8c, 0x00, 0x00, 0x0b, 0x08,
-  0x00, 0x00, 0x0b, 0x98, 0x00, 0x00, 0x0c, 0x1c, 0x00, 0x00, 0x0c, 0x7c,
-  0x00, 0x00, 0x0c, 0xf4, 0x00, 0x00, 0x0d, 0x70, 0x00, 0x00, 0x0d, 0xbc,
-  0x00, 0x00, 0x0e, 0x08, 0x00, 0x00, 0x0e, 0x48, 0x00, 0x00, 0x0e, 0xcc,
-  0x00, 0x00, 0x0f, 0x18, 0x00, 0x00, 0x0f, 0x64, 0x00, 0x00, 0x0f, 0xb4,
-  0x00, 0x00, 0x10, 0x70, 0x00, 0x00, 0x10, 0x9c, 0x00, 0x00, 0x11, 0x14,
-  0x00, 0x00, 0x11, 0x8c, 0x00, 0x00, 0x11, 0xf0, 0x00, 0x00, 0x12, 0x48,
-  0x00, 0x00, 0x12, 0xf0, 0x00, 0x00, 0x13, 0x68, 0x00, 0x00, 0x13, 0xe4,
-  0x00, 0x00, 0x14, 0x1c, 0x00, 0x00, 0x14, 0x6c, 0x00, 0x00, 0x14, 0xe8,
-  0x00, 0x00, 0x15, 0x60, 0x00, 0x00, 0x16, 0x34, 0x00, 0x00, 0x16, 0x98,
-  0x00, 0x00, 0x17, 0x28, 0x00, 0x00, 0x17, 0x60, 0x00, 0x00, 0x17, 0xdc,
-  0x00, 0x00, 0x18, 0x14, 0x00, 0x00, 0x18, 0x64, 0x00, 0x00, 0x18, 0x88,
-  0x00, 0x00, 0x18, 0xac, 0x00, 0x00, 0x18, 0xf8, 0x00, 0x00, 0x19, 0x50,
-  0x00, 0x00, 0x19, 0xa0, 0x00, 0x00, 0x19, 0xf8, 0x00, 0x00, 0x1a, 0x64,
-  0x00, 0x00, 0x1a, 0xc4, 0x00, 0x00, 0x1b, 0x1c, 0x00, 0x00, 0x1b, 0x68,
-  0x00, 0x00, 0x1b, 0xb4, 0x00, 0x00, 0x1b, 0xec, 0x00, 0x00, 0x1c, 0x7c,
-  0x00, 0x00, 0x1c, 0xb4, 0x00, 0x00, 0x1d, 0x18, 0x00, 0x00, 0x1d, 0x5c,
-  0x00, 0x00, 0x1d, 0xc0, 0x00, 0x00, 0x1e, 0x0c, 0x00, 0x00, 0x1e, 0x58,
-  0x00, 0x00, 0x1e, 0x90, 0x00, 0x00, 0x1e, 0xf4, 0x00, 0x00, 0x1f, 0x54,
-  0x00, 0x00, 0x1f, 0xa4, 0x00, 0x00, 0x20, 0x20, 0x00, 0x00, 0x20, 0x9c,
-  0x00, 0x00, 0x21, 0x70, 0x00, 0x00, 0x21, 0xd4, 0x00, 0x00, 0x22, 0x4c,
-  0x00, 0x00, 0x22, 0xc8, 0x00, 0x00, 0x22, 0xec, 0x00, 0x00, 0x23, 0x68,
-  0x00, 0x00, 0x23, 0xcc, 0x00, 0x00, 0x23, 0xcc, 0x00, 0x00, 0x23, 0xf0,
-  0x00, 0x00, 0x24, 0x14, 0x00, 0x00, 0x24, 0x4c, 0x00, 0x00, 0x24, 0x84,
-  0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x02, 0x4e, 0x03, 0x00, 0x00, 0x02,
-  0x00, 0x06, 0x00, 0x0a, 0x00, 0x0e, 0x00, 0x12, 0x00, 0x00, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x09, 0xff, 0x1e, 0xff, 0x1e, 0xff,
-  0xed, 0x00, 0xe2, 0xff, 0x1e, 0x00, 0x00, 0x01, 0xea, 0x00, 0x00, 0xff,
-  0x1e, 0x00, 0xe2, 0xff, 0x0b, 0x00, 0xe2, 0xfe, 0x3c, 0x00, 0xe2, 0xfe,
-  0xd9, 0x00, 0x00, 0x02, 0x4e, 0x00, 0x00, 0x00, 0x32, 0x01, 0x3a, 0xfe,
-  0xc6, 0x00, 0x13, 0x01, 0x3b, 0x01, 0x3a, 0xfd, 0x8b, 0x00, 0x00, 0x02,
-  0x75, 0xfe, 0xc6, 0xfe, 0xc5, 0x01, 0x4e, 0x01, 0x3b, 0x00, 0x00, 0xfe,
-  0xc5, 0xfe, 0x6d, 0x03, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x80, 0x00, 0x03,
-  0x00, 0x07, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80,
-  0x01, 0x00, 0x02, 0x80, 0x00, 0x00, 0xfd, 0x80, 0x00, 0x02, 0x00, 0x80,
-  0x02, 0x80, 0x02, 0x00, 0x03, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x00,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x80, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0x02, 0x80, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x01, 0x00,
-  0x00, 0x00, 0xff, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x80, 0x02, 0x80,
-  0x03, 0x00, 0x00, 0x03, 0x00, 0x1f, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x80,
-  0x00, 0x00, 0xff, 0x80, 0xff, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80,
-  0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80,
-  0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80,
-  0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0x80, 0x00, 0x03,
-  0x00, 0x07, 0x00, 0x1b, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00,
-  0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x01, 0x00,
-  0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x01, 0x00,
-  0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0xfe, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0x01, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x80, 0x02, 0x80,
-  0x03, 0x00, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13,
-  0x00, 0x17, 0x00, 0x1b, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xfe, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0xff, 0x80,
-  0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80,
-  0x03, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13,
-  0x00, 0x17, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x23, 0x00, 0x27, 0x00, 0x2b,
-  0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x80,
-  0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xfe, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x01, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x80,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0xff, 0x80, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0xff, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00,
-  0x02, 0x80, 0x01, 0x80, 0x03, 0x80, 0x00, 0x03, 0x00, 0x00, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x02, 0x80,
-  0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x80,
-  0x00, 0x00, 0x02, 0x80, 0x03, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b,
-  0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80,
-  0x02, 0x80, 0x00, 0x00, 0xfd, 0x80, 0x02, 0x80, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
-  0x03, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x00, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80, 0x02, 0x80, 0x00, 0x00,
-  0xfd, 0x80, 0x02, 0x80, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00,
-  0x00, 0x05, 0x00, 0x80, 0x01, 0x80, 0x02, 0x00, 0x03, 0x00, 0x00, 0x03,
-  0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x00, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0x00, 0x01, 0x00, 0x80, 0x01, 0x00, 0x02, 0x00,
-  0x02, 0x80, 0x00, 0x0b, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0xff, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00,
-  0x00, 0x00, 0x01, 0x80, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x80,
-  0x01, 0x80, 0x02, 0x00, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x01, 0x01,
-  0x01, 0x01, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x01, 0x80,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00,
-  0x00, 0x00, 0x01, 0x80, 0x00, 0x80, 0x00, 0x03, 0x00, 0x00, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00,
-  0x00, 0x00, 0x02, 0x80, 0x03, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b,
-  0x00, 0x0f, 0x00, 0x13, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0xff, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00,
-  0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0x80, 0x00, 0x03,
-  0x00, 0x0f, 0x00, 0x13, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xfe, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80,
-  0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0xff, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0xff, 0x80, 0x03, 0x80, 0x00, 0x00, 0xfc, 0x80, 0x00, 0x00,
-  0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0x80, 0x00, 0x09,
-  0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00,
-  0x01, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xfd, 0x00,
-  0x00, 0x00, 0xff, 0x80, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80,
-  0x03, 0x80, 0x00, 0x0b, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
-  0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0xfe, 0x00,
-  0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00,
-  0xff, 0x00, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
-  0x00, 0x00, 0x02, 0x80, 0x03, 0x80, 0x00, 0x0b, 0x00, 0x00, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-  0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x02, 0x00,
-  0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xfc, 0x80, 0x00, 0x00,
-  0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0x80, 0x00, 0x09,
-  0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x02, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0x01, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80,
-  0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x01, 0x80,
-  0x00, 0x00, 0xfc, 0x80, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80,
-  0x03, 0x80, 0x00, 0x0b, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
-  0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0xfe, 0x00,
-  0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00,
-  0xff, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
-  0x00, 0x00, 0x02, 0x80, 0x03, 0x80, 0x00, 0x03, 0x00, 0x0b, 0x00, 0x00,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x02, 0x00, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00,
-  0x02, 0x80, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x80, 0x03, 0x80,
-  0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xfe, 0x00,
-  0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0x80, 0x00, 0x03,
-  0x00, 0x07, 0x00, 0x0d, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00,
-  0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0xfe, 0x80, 0x01, 0x80, 0x00, 0x80,
-  0x00, 0x00, 0xff, 0x80, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xfe, 0x80, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80,
-  0x03, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x00, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00,
-  0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0xfe, 0x80,
-  0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0x80, 0x01, 0x00, 0x00, 0x00,
-  0xff, 0x00, 0xfe, 0x00, 0x03, 0x80, 0x00, 0x00, 0xfc, 0x80, 0x00, 0x00,
-  0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0x80, 0x00, 0x03,
-  0x00, 0x09, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x01, 0x80,
-  0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x02, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0xfe, 0x00, 0x01, 0x80, 0x00, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0xfc, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x80,
-  0x00, 0x80, 0x01, 0x00, 0x02, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x00,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x80, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x01, 0x80, 0x00, 0x80,
-  0x00, 0x00, 0xff, 0x80, 0x00, 0x02, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00,
-  0x02, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
-  0x00, 0x00, 0xff, 0x00, 0x02, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80,
-  0x00, 0x05, 0x00, 0x80, 0x00, 0x80, 0x02, 0x00, 0x03, 0x00, 0x00, 0x03,
-  0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x00, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x80, 0x01, 0x00, 0x02, 0x00,
-  0x02, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00,
-  0xfe, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xff, 0x80, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80,
-  0x00, 0x05, 0x00, 0x80, 0x00, 0x80, 0x02, 0x00, 0x03, 0x00, 0x00, 0x03,
-  0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x00, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80,
-  0x03, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13,
-  0x00, 0x17, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0x01, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00,
-  0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80,
-  0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80, 0x00, 0x80,
-  0x00, 0x00, 0xff, 0x80, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80,
-  0xff, 0x80, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xff, 0x80, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80,
-  0x03, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x11, 0x00, 0x15,
-  0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x00, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0xfe, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xff, 0x80, 0x01, 0x80, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80,
-  0xff, 0x00, 0x02, 0x80, 0x00, 0x00, 0xfd, 0x80, 0x00, 0x80, 0x01, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xff, 0x80, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80,
-  0x03, 0x80, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,
-  0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xfd, 0x00,
-  0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0xfe, 0x80, 0x03, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xff, 0x80, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80,
-  0x03, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x13, 0x00, 0x00, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xfd, 0x80,
-  0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x01, 0x80,
-  0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0x80, 0x01, 0x00, 0x00, 0x00,
-  0xff, 0x00, 0xfe, 0x00, 0x03, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00,
-  0xff, 0x00, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80,
-  0x03, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13,
-  0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x80,
-  0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xfd, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x01, 0x80,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00,
-  0xfd, 0x80, 0x02, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
-  0x00, 0x00, 0x02, 0x80, 0x03, 0x80, 0x00, 0x03, 0x00, 0x0b, 0x00, 0x00,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xfd, 0x80, 0x00, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00,
-  0x00, 0x80, 0x02, 0x80, 0x00, 0x00, 0xfd, 0x80, 0xff, 0x80, 0x03, 0x80,
-  0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xfd, 0x80, 0x00, 0x00, 0xff, 0x80,
-  0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0x80, 0x00, 0x0b,
-  0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0xfe, 0x00,
-  0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x02, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00,
-  0xff, 0x00, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80,
-  0x03, 0x80, 0x00, 0x09, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00,
-  0xfe, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x00,
-  0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x00,
-  0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x05, 0x00, 0x00,
-  0x00, 0x00, 0x02, 0x80, 0x03, 0x80, 0x00, 0x03, 0x00, 0x09, 0x00, 0x0d,
-  0x00, 0x11, 0x00, 0x15, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0xfd, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80, 0x00, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x02, 0x80,
-  0x00, 0x00, 0xfd, 0x80, 0x02, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80,
-  0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x01, 0x00, 0x00,
-  0x00, 0x00, 0x02, 0x80, 0x03, 0x80, 0x00, 0x0b, 0x00, 0x00, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x00, 0x00,
-  0x03, 0x80, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00,
-  0xfc, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x00,
-  0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0x80, 0x00, 0x0b,
-  0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00,
-  0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x01, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xfd, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80,
-  0x03, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x00, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x80,
-  0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00,
-  0xff, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00,
-  0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0x80, 0x00, 0x03,
-  0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x1b, 0x00, 0x1f,
-  0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0xfd, 0x80, 0x03, 0x80, 0x00, 0x00,
-  0xfe, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xfe, 0x80, 0x03, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
-  0x00, 0x00, 0x02, 0x80, 0x03, 0x80, 0x00, 0x05, 0x00, 0x00, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0xfd, 0x00,
-  0x00, 0x00, 0xff, 0x80, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80,
-  0x03, 0x80, 0x00, 0x03, 0x00, 0x0b, 0x00, 0x13, 0x00, 0x00, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0xff, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x02, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0xfe, 0x00, 0x03, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xfd, 0x80, 0x00, 0x00,
-  0x02, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0xfc, 0x80, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80,
-  0x03, 0x80, 0x00, 0x03, 0x00, 0x0b, 0x00, 0x13, 0x00, 0x00, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0xff, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x02, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0xfe, 0x00, 0x03, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xfd, 0x80, 0x00, 0x00,
-  0x01, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00,
-  0xfc, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80,
-  0x03, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x00,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00,
-  0xfe, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80, 0x02, 0x80,
-  0x00, 0x00, 0xfd, 0x80, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0xfd, 0x80,
-  0x02, 0x80, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x02, 0x00, 0x00,
-  0x00, 0x00, 0x02, 0x80, 0x03, 0x80, 0x00, 0x03, 0x00, 0x0d, 0x00, 0x00,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xfd, 0x80,
-  0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x01, 0x80,
-  0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0xff, 0x00, 0xfe, 0x00, 0x03, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00,
-  0xff, 0x00, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x00,
-  0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0x80, 0x00, 0x03,
-  0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b,
-  0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x01, 0x80,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0xff, 0x80,
-  0x02, 0x80, 0x00, 0x00, 0xfd, 0x80, 0x00, 0x80, 0x02, 0x00, 0x00, 0x00,
-  0xfe, 0x00, 0x02, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00,
-  0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0x80, 0x00, 0x03,
-  0x00, 0x07, 0x00, 0x13, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xfd, 0x80, 0x00, 0x00, 0x02, 0x00,
-  0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0xff, 0x80,
-  0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0xff, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0xfe, 0x00,
-  0x03, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00,
-  0xff, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x00,
-  0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0x80, 0x00, 0x03,
-  0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x00, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xfe, 0x00,
-  0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00,
-  0xff, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80,
-  0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80,
-  0x03, 0x80, 0x00, 0x07, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x02, 0x80,
-  0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00,
-  0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0x80, 0x00, 0x03,
-  0x00, 0x07, 0x00, 0x0b, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80,
-  0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00,
-  0x00, 0x00, 0x02, 0x80, 0x03, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b,
-  0x00, 0x0f, 0x00, 0x13, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0xfe, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00,
-  0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0x80, 0x00, 0x03,
-  0x00, 0x0b, 0x00, 0x13, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xfe, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80,
-  0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0xff, 0x00, 0x03, 0x80, 0x00, 0x00, 0xfd, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0xfc, 0x80, 0x00, 0x00,
-  0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0x80, 0x00, 0x03,
-  0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b,
-  0x00, 0x1f, 0x00, 0x23, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xfe, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0xff, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00,
-  0x00, 0x00, 0x02, 0x80, 0x03, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0f,
-  0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
-  0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80,
-  0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x02, 0x00,
-  0x01, 0x80, 0x00, 0x00, 0xfe, 0x80, 0xfe, 0x80, 0x01, 0x00, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00,
-  0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0x80, 0x00, 0x05,
-  0x00, 0x09, 0x00, 0x0d, 0x00, 0x11, 0x00, 0x17, 0x00, 0x00, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xfe, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x01, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80,
-  0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00,
-  0x00, 0x01, 0x01, 0x80, 0x00, 0x00, 0x02, 0x80, 0x03, 0x80, 0x00, 0x07,
-  0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x80,
-  0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00,
-  0xfd, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00,
-  0x00, 0x00, 0x02, 0x80, 0x03, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b,
-  0x00, 0x0f, 0x00, 0x13, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0xff, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00,
-  0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x80, 0x00, 0x07,
-  0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x01, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xfc, 0x80, 0x00, 0x00, 0x00, 0x03, 0x00, 0x80,
-  0x02, 0x80, 0x02, 0x00, 0x03, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b,
-  0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x02, 0x80, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80,
-  0x00, 0x80, 0x00, 0x03, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-  0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02, 0x80, 0x00, 0x80,
-  0x03, 0x80, 0x00, 0x03, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x02, 0x80, 0x01, 0x00, 0x00, 0x00,
-  0xff, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80,
-  0x02, 0x80, 0x00, 0x03, 0x00, 0x0b, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00,
-  0xfe, 0x80, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x80,
-  0x00, 0x00, 0xfe, 0x80, 0xff, 0x80, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xfd, 0x80, 0x00, 0x02, 0x00, 0x00,
-  0x00, 0x00, 0x02, 0x80, 0x03, 0x00, 0x00, 0x03, 0x00, 0x0d, 0x00, 0x00,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xfd, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0xfe, 0x80,
-  0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x80, 0x01, 0x80, 0x00, 0x00,
-  0xfe, 0x80, 0xff, 0x80, 0x03, 0x00, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00,
-  0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x02, 0x80, 0x00, 0x03,
-  0x00, 0x07, 0x00, 0x0b, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x80, 0x00, 0x00, 0x02, 0x00,
-  0x00, 0x00, 0xfd, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x80, 0x01, 0x80, 0x00, 0x00, 0xfe, 0x80, 0x01, 0x80,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
-  0x00, 0x00, 0x02, 0x80, 0x03, 0x00, 0x00, 0x03, 0x00, 0x0d, 0x00, 0x00,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x01, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x01, 0x80, 0x00, 0x00,
-  0xfe, 0x80, 0xff, 0x80, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00,
-  0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x02, 0x80, 0x00, 0x03,
-  0x00, 0x0d, 0x00, 0x11, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x00, 0x80, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xfd, 0x80, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80, 0x01, 0x80,
-  0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x00,
-  0x00, 0x00, 0xff, 0x80, 0x01, 0x80, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80,
-  0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x03, 0x00, 0x00, 0x0b,
-  0x00, 0x0f, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0x01, 0x80, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x80,
-  0x00, 0x00, 0xff, 0x00, 0x02, 0x80, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80,
-  0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x02, 0x80, 0x00, 0x03,
-  0x00, 0x07, 0x00, 0x0d, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x80, 0x00, 0x00,
-  0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x00,
-  0x01, 0x80, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x01, 0x80, 0x00, 0x80,
-  0x00, 0x00, 0xff, 0x80, 0xff, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80,
-  0x00, 0x00, 0xfe, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80,
-  0x02, 0x80, 0x00, 0x03, 0x00, 0x0b, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xfd, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0x01, 0x80, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80,
-  0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0xff, 0x80,
-  0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x02, 0x00, 0x80,
-  0x00, 0x00, 0x02, 0x00, 0x03, 0x80, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x00,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xfe, 0x00,
-  0x00, 0x00, 0xff, 0x80, 0x03, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80,
-  0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x02, 0x80, 0x00, 0x03,
-  0x00, 0x07, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80,
-  0x00, 0x80, 0x02, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x05, 0x00, 0x00,
-  0x00, 0x00, 0x02, 0x80, 0x02, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b,
-  0x00, 0x13, 0x00, 0x17, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x01, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x01, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0xfe, 0x80, 0x02, 0x80, 0x00, 0x00,
-  0xff, 0x00, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x00, 0x02, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
-  0x00, 0x00, 0x02, 0x80, 0x02, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x00,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x80, 0x00, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0xfd, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80, 0x02, 0x00,
-  0x00, 0x00, 0xfe, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80,
-  0x02, 0x80, 0x00, 0x03, 0x00, 0x09, 0x00, 0x0f, 0x00, 0x00, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xfe, 0x80,
-  0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x01, 0x80,
-  0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xfd, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
-  0x00, 0x00, 0x02, 0x80, 0x02, 0x80, 0x00, 0x03, 0x00, 0x09, 0x00, 0x00,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xfd, 0x80, 0x00, 0x00, 0x02, 0x00,
-  0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0xfe, 0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00,
-  0xfe, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80,
-  0x02, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x00,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00,
-  0xfe, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80, 0x01, 0x80,
-  0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0xfe, 0x80,
-  0x01, 0x80, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x01, 0x00, 0x00,
-  0x00, 0x00, 0x02, 0x80, 0x02, 0x80, 0x00, 0x0b, 0x00, 0x00, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-  0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xfe, 0x80,
-  0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x00, 0x00,
-  0x02, 0x80, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0xff, 0x00, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00,
-  0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x02, 0x80, 0x00, 0x0b,
-  0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x02, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00,
-  0xff, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0xfd, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80,
-  0x02, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
-  0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80,
-  0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x02, 0x80, 0x00, 0x03,
-  0x00, 0x0b, 0x00, 0x0f, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-  0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xfe, 0x00,
-  0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0xff, 0x00, 0x01, 0x80, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80,
-  0x03, 0x00, 0x00, 0x03, 0x00, 0x0f, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0x01, 0x80, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xff, 0x80, 0x00, 0x80, 0x01, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80,
-  0x00, 0x00, 0xfe, 0x80, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80,
-  0x02, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x00, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x80,
-  0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80, 0x02, 0x00, 0x00, 0x00,
-  0xfe, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00,
-  0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x02, 0x80, 0x00, 0x03,
-  0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x00, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80,
-  0x01, 0x80, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00,
-  0xfe, 0x80, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80,
-  0x02, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13,
-  0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80, 0x02, 0x00, 0x00, 0x00,
-  0xfe, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00,
-  0x00, 0x00, 0x02, 0x80, 0x02, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b,
-  0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x23,
-  0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xfe, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80,
-  0x02, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x00, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xfe, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0xfe, 0x80,
-  0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x01, 0x80, 0x01, 0x00, 0x00, 0x00,
-  0xff, 0x00, 0xff, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00,
-  0x00, 0x00, 0x02, 0x80, 0x02, 0x80, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x13,
-  0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80,
-  0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0xff, 0x80,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x00, 0x05, 0x01, 0x80,
-  0x00, 0x00, 0x02, 0x80, 0x03, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b,
-  0x00, 0x0f, 0x00, 0x13, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00,
-  0xff, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00,
-  0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x80, 0x00, 0x03,
-  0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0xfc, 0x80, 0x00, 0x00,
-  0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x80, 0x00, 0x03,
-  0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x00, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x00,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00,
-  0xff, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80,
-  0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0xff, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x02, 0x00, 0x02, 0x80,
-  0x03, 0x00, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x00,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0x02, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x00, 0x80,
-  0x00, 0x00, 0xff, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80,
-  0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x01, 0x01, 0x00,
-  0x02, 0x80, 0x01, 0x80, 0x03, 0x80, 0x00, 0x03, 0x00, 0x00, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x02, 0x80,
-  0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00,
-  0x02, 0x80, 0x01, 0x80, 0x03, 0x80, 0x00, 0x03, 0x00, 0x00, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x02, 0x80,
-  0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x80,
-  0x02, 0x80, 0x02, 0x00, 0x03, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x00,
-  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x80, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0x02, 0x80, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x01, 0x00,
-  0x00, 0x00, 0xff, 0x00, 0x00, 0x02, 0x00, 0x80, 0x02, 0x80, 0x02, 0x00,
-  0x03, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,
-  0x01, 0x01, 0x01, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
-  0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x02, 0x80, 0x01, 0x00,
-  0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00,
-  0x00, 0x00, 0x00, 0x22, 0x01, 0x9e, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x01, 0x00, 0x09, 0x00, 0x16, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x02, 0x00, 0x07, 0x00, 0x1f, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x03, 0x00, 0x09, 0x00, 0x26, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x04, 0x00, 0x11, 0x00, 0x2f, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x05, 0x00, 0x0b, 0x00, 0x40, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x06, 0x00, 0x09, 0x00, 0x4b, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x07, 0x00, 0x2b, 0x00, 0x54, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x08, 0x00, 0x16, 0x00, 0x7f, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x09, 0x00, 0x07, 0x00, 0x95, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x0a, 0x00, 0x63, 0x00, 0x9c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x0b, 0x00, 0x3b, 0x00, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x0c, 0x00, 0x38, 0x01, 0x3a, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x0d, 0x00, 0x28, 0x01, 0x72, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x0e, 0x00, 0x2e, 0x01, 0x9a, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x13, 0x00, 0x29, 0x01, 0xc8, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x08, 0x01, 0xf1, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09,
-  0x00, 0x00, 0x00, 0x2c, 0x01, 0xf9, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09,
-  0x00, 0x01, 0x00, 0x12, 0x02, 0x25, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09,
-  0x00, 0x02, 0x00, 0x0e, 0x02, 0x37, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09,
-  0x00, 0x03, 0x00, 0x12, 0x02, 0x45, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09,
-  0x00, 0x04, 0x00, 0x22, 0x02, 0x57, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09,
-  0x00, 0x05, 0x00, 0x16, 0x02, 0x79, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09,
-  0x00, 0x06, 0x00, 0x12, 0x02, 0x8f, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09,
-  0x00, 0x07, 0x00, 0x56, 0x02, 0xa1, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09,
-  0x00, 0x08, 0x00, 0x2c, 0x02, 0xf7, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09,
-  0x00, 0x09, 0x00, 0x0e, 0x03, 0x23, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09,
-  0x00, 0x0a, 0x00, 0xca, 0x03, 0x31, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09,
-  0x00, 0x0b, 0x00, 0x76, 0x03, 0xfb, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09,
-  0x00, 0x0c, 0x00, 0x70, 0x04, 0x71, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09,
-  0x00, 0x0d, 0x00, 0x50, 0x04, 0xe1, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09,
-  0x00, 0x0e, 0x00, 0x5c, 0x05, 0x31, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09,
-  0x00, 0x13, 0x00, 0x52, 0x05, 0x8d, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09,
-  0x01, 0x00, 0x00, 0x10, 0x05, 0xdf, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69,
-  0x67, 0x68, 0x74, 0x20, 0x74, 0x72, 0x61, 0x73, 0x68, 0x38, 0x30, 0x20,
-  0x32, 0x30, 0x31, 0x30, 0x73, 0x74, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x35,
-  0x37, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x73, 0x74, 0x65, 0x61,
-  0x6c, 0x74, 0x68, 0x35, 0x37, 0x73, 0x74, 0x65, 0x61, 0x6c, 0x74, 0x68,
-  0x35, 0x37, 0x20, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x56, 0x65,
-  0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x31, 0x2e, 0x30, 0x73, 0x74, 0x65,
-  0x61, 0x6c, 0x74, 0x68, 0x35, 0x37, 0x46, 0x6f, 0x6e, 0x74, 0x53, 0x74,
-  0x72, 0x75, 0x63, 0x74, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x74, 0x72,
-  0x61, 0x64, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x20, 0x6f, 0x66, 0x20, 0x46,
-  0x6f, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x63, 0x6f,
-  0x6d, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x66, 0x6f, 0x6e,
-  0x74, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x74,
-  0x72, 0x61, 0x73, 0x68, 0x38, 0x30, 0xd2, 0x73, 0x74, 0x65, 0x61, 0x6c,
-  0x74, 0x68, 0x35, 0x37, 0xd3, 0x20, 0x77, 0x61, 0x73, 0x20, 0x62, 0x75,
-  0x69, 0x6c, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x46, 0x6f, 0x6e,
-  0x74, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x44, 0x65, 0x73, 0x69, 0x67,
-  0x6e, 0x65, 0x72, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
-  0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x49, 0x66, 0x20, 0x49, 0x20, 0x67, 0x6f,
-  0x20, 0x61, 0x6e, 0x79, 0x20, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x65, 0x72,
-  0x2c, 0x20, 0x69, 0x74, 0x20, 0x6d, 0x69, 0x67, 0x68, 0x74, 0x20, 0x65,
-  0x78, 0x70, 0x6c, 0x6f, 0x64, 0x65, 0x2e, 0x2e, 0x2e, 0x68, 0x74, 0x74,
-  0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x66, 0x6f, 0x6e, 0x74, 0x73, 0x74, 0x72,
-  0x75, 0x63, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6f, 0x6e, 0x74,
-  0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73,
-  0x68, 0x6f, 0x77, 0x2f, 0x34, 0x31, 0x33, 0x37, 0x33, 0x34, 0x2f, 0x73,
-  0x74, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x35, 0x37, 0x68, 0x74, 0x74, 0x70,
-  0x73, 0x3a, 0x2f, 0x2f, 0x66, 0x6f, 0x6e, 0x74, 0x73, 0x74, 0x72, 0x75,
-  0x63, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6f, 0x6e, 0x74, 0x73,
-  0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x73, 0x68, 0x6f,
-  0x77, 0x2f, 0x31, 0x30, 0x30, 0x34, 0x36, 0x33, 0x2f, 0x74, 0x72, 0x61,
-  0x73, 0x68, 0x38, 0x30, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x76, 0x65,
-  0x20, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x73, 0x20, 0x41, 0x74, 0x74,
-  0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x53, 0x68, 0x61,
-  0x72, 0x65, 0x20, 0x41, 0x6c, 0x69, 0x6b, 0x65, 0x68, 0x74, 0x74, 0x70,
-  0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x76, 0x65, 0x63,
-  0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x73, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c,
-  0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x2f, 0x62, 0x79, 0x2d, 0x73,
-  0x61, 0x2f, 0x33, 0x2e, 0x30, 0x2f, 0x46, 0x69, 0x76, 0x65, 0x20, 0x62,
-  0x69, 0x67, 0x20, 0x71, 0x75, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x20,
-  0x7a, 0x65, 0x70, 0x68, 0x79, 0x72, 0x73, 0x20, 0x6a, 0x6f, 0x6c, 0x74,
-  0x20, 0x6d, 0x79, 0x20, 0x77, 0x61, 0x78, 0x20, 0x62, 0x65, 0x64, 0x42,
-  0x67, 0x67, 0x4c, 0x63, 0x6c, 0x70, 0x67, 0x00, 0x43, 0x00, 0x6f, 0x00,
-  0x70, 0x00, 0x79, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, 0x00,
-  0x74, 0x00, 0x20, 0x00, 0x74, 0x00, 0x72, 0x00, 0x61, 0x00, 0x73, 0x00,
-  0x68, 0x00, 0x38, 0x00, 0x30, 0x00, 0x20, 0x00, 0x32, 0x00, 0x30, 0x00,
-  0x31, 0x00, 0x30, 0x00, 0x73, 0x00, 0x74, 0x00, 0x65, 0x00, 0x61, 0x00,
-  0x6c, 0x00, 0x74, 0x00, 0x68, 0x00, 0x35, 0x00, 0x37, 0x00, 0x52, 0x00,
-  0x65, 0x00, 0x67, 0x00, 0x75, 0x00, 0x6c, 0x00, 0x61, 0x00, 0x72, 0x00,
-  0x73, 0x00, 0x74, 0x00, 0x65, 0x00, 0x61, 0x00, 0x6c, 0x00, 0x74, 0x00,
-  0x68, 0x00, 0x35, 0x00, 0x37, 0x00, 0x73, 0x00, 0x74, 0x00, 0x65, 0x00,
-  0x61, 0x00, 0x6c, 0x00, 0x74, 0x00, 0x68, 0x00, 0x35, 0x00, 0x37, 0x00,
-  0x20, 0x00, 0x52, 0x00, 0x65, 0x00, 0x67, 0x00, 0x75, 0x00, 0x6c, 0x00,
-  0x61, 0x00, 0x72, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00,
-  0x69, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x31, 0x00, 0x2e, 0x00,
-  0x30, 0x00, 0x73, 0x00, 0x74, 0x00, 0x65, 0x00, 0x61, 0x00, 0x6c, 0x00,
-  0x74, 0x00, 0x68, 0x00, 0x35, 0x00, 0x37, 0x00, 0x46, 0x00, 0x6f, 0x00,
-  0x6e, 0x00, 0x74, 0x00, 0x53, 0x00, 0x74, 0x00, 0x72, 0x00, 0x75, 0x00,
-  0x63, 0x00, 0x74, 0x00, 0x20, 0x00, 0x69, 0x00, 0x73, 0x00, 0x20, 0x00,
-  0x61, 0x00, 0x20, 0x00, 0x74, 0x00, 0x72, 0x00, 0x61, 0x00, 0x64, 0x00,
-  0x65, 0x00, 0x6d, 0x00, 0x61, 0x00, 0x72, 0x00, 0x6b, 0x00, 0x20, 0x00,
-  0x6f, 0x00, 0x66, 0x00, 0x20, 0x00, 0x46, 0x00, 0x6f, 0x00, 0x6e, 0x00,
-  0x74, 0x00, 0x53, 0x00, 0x74, 0x00, 0x72, 0x00, 0x75, 0x00, 0x63, 0x00,
-  0x74, 0x00, 0x2e, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x68, 0x00,
-  0x74, 0x00, 0x74, 0x00, 0x70, 0x00, 0x73, 0x00, 0x3a, 0x00, 0x2f, 0x00,
-  0x2f, 0x00, 0x66, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x73, 0x00,
-  0x74, 0x00, 0x72, 0x00, 0x75, 0x00, 0x63, 0x00, 0x74, 0x00, 0x2e, 0x00,
-  0x63, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x74, 0x00, 0x72, 0x00, 0x61, 0x00,
-  0x73, 0x00, 0x68, 0x00, 0x38, 0x00, 0x30, 0x20, 0x1c, 0x00, 0x73, 0x00,
-  0x74, 0x00, 0x65, 0x00, 0x61, 0x00, 0x6c, 0x00, 0x74, 0x00, 0x68, 0x00,
-  0x35, 0x00, 0x37, 0x20, 0x1d, 0x00, 0x20, 0x00, 0x77, 0x00, 0x61, 0x00,
-  0x73, 0x00, 0x20, 0x00, 0x62, 0x00, 0x75, 0x00, 0x69, 0x00, 0x6c, 0x00,
-  0x74, 0x00, 0x20, 0x00, 0x77, 0x00, 0x69, 0x00, 0x74, 0x00, 0x68, 0x00,
-  0x20, 0x00, 0x46, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x53, 0x00,
-  0x74, 0x00, 0x72, 0x00, 0x75, 0x00, 0x63, 0x00, 0x74, 0x00, 0x0a, 0x00,
-  0x44, 0x00, 0x65, 0x00, 0x73, 0x00, 0x69, 0x00, 0x67, 0x00, 0x6e, 0x00,
-  0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x64, 0x00, 0x65, 0x00, 0x73, 0x00,
-  0x63, 0x00, 0x72, 0x00, 0x69, 0x00, 0x70, 0x00, 0x74, 0x00, 0x69, 0x00,
-  0x6f, 0x00, 0x6e, 0x00, 0x3a, 0x00, 0x20, 0x00, 0x49, 0x00, 0x66, 0x00,
-  0x20, 0x00, 0x49, 0x00, 0x20, 0x00, 0x67, 0x00, 0x6f, 0x00, 0x20, 0x00,
-  0x61, 0x00, 0x6e, 0x00, 0x79, 0x00, 0x20, 0x00, 0x73, 0x00, 0x6d, 0x00,
-  0x61, 0x00, 0x6c, 0x00, 0x6c, 0x00, 0x65, 0x00, 0x72, 0x00, 0x2c, 0x00,
-  0x20, 0x00, 0x69, 0x00, 0x74, 0x00, 0x20, 0x00, 0x6d, 0x00, 0x69, 0x00,
-  0x67, 0x00, 0x68, 0x00, 0x74, 0x00, 0x20, 0x00, 0x65, 0x00, 0x78, 0x00,
-  0x70, 0x00, 0x6c, 0x00, 0x6f, 0x00, 0x64, 0x00, 0x65, 0x00, 0x2e, 0x00,
-  0x2e, 0x00, 0x2e, 0x00, 0x0a, 0x00, 0x68, 0x00, 0x74, 0x00, 0x74, 0x00,
-  0x70, 0x00, 0x73, 0x00, 0x3a, 0x00, 0x2f, 0x00, 0x2f, 0x00, 0x66, 0x00,
-  0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x73, 0x00, 0x74, 0x00, 0x72, 0x00,
-  0x75, 0x00, 0x63, 0x00, 0x74, 0x00, 0x2e, 0x00, 0x63, 0x00, 0x6f, 0x00,
-  0x6d, 0x00, 0x2f, 0x00, 0x66, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00,
-  0x73, 0x00, 0x74, 0x00, 0x72, 0x00, 0x75, 0x00, 0x63, 0x00, 0x74, 0x00,
-  0x69, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x73, 0x00, 0x2f, 0x00, 0x73, 0x00,
-  0x68, 0x00, 0x6f, 0x00, 0x77, 0x00, 0x2f, 0x00, 0x34, 0x00, 0x31, 0x00,
-  0x33, 0x00, 0x37, 0x00, 0x33, 0x00, 0x34, 0x00, 0x2f, 0x00, 0x73, 0x00,
-  0x74, 0x00, 0x65, 0x00, 0x61, 0x00, 0x6c, 0x00, 0x74, 0x00, 0x68, 0x00,
-  0x35, 0x00, 0x37, 0x00, 0x68, 0x00, 0x74, 0x00, 0x74, 0x00, 0x70, 0x00,
-  0x73, 0x00, 0x3a, 0x00, 0x2f, 0x00, 0x2f, 0x00, 0x66, 0x00, 0x6f, 0x00,
-  0x6e, 0x00, 0x74, 0x00, 0x73, 0x00, 0x74, 0x00, 0x72, 0x00, 0x75, 0x00,
-  0x63, 0x00, 0x74, 0x00, 0x2e, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x6d, 0x00,
-  0x2f, 0x00, 0x66, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x73, 0x00,
-  0x74, 0x00, 0x72, 0x00, 0x75, 0x00, 0x63, 0x00, 0x74, 0x00, 0x6f, 0x00,
-  0x72, 0x00, 0x73, 0x00, 0x2f, 0x00, 0x73, 0x00, 0x68, 0x00, 0x6f, 0x00,
-  0x77, 0x00, 0x2f, 0x00, 0x31, 0x00, 0x30, 0x00, 0x30, 0x00, 0x34, 0x00,
-  0x36, 0x00, 0x33, 0x00, 0x2f, 0x00, 0x74, 0x00, 0x72, 0x00, 0x61, 0x00,
-  0x73, 0x00, 0x68, 0x00, 0x38, 0x00, 0x30, 0x00, 0x43, 0x00, 0x72, 0x00,
-  0x65, 0x00, 0x61, 0x00, 0x74, 0x00, 0x69, 0x00, 0x76, 0x00, 0x65, 0x00,
-  0x20, 0x00, 0x43, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x6d, 0x00, 0x6f, 0x00,
-  0x6e, 0x00, 0x73, 0x00, 0x20, 0x00, 0x41, 0x00, 0x74, 0x00, 0x74, 0x00,
-  0x72, 0x00, 0x69, 0x00, 0x62, 0x00, 0x75, 0x00, 0x74, 0x00, 0x69, 0x00,
-  0x6f, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x53, 0x00, 0x68, 0x00, 0x61, 0x00,
-  0x72, 0x00, 0x65, 0x00, 0x20, 0x00, 0x41, 0x00, 0x6c, 0x00, 0x69, 0x00,
-  0x6b, 0x00, 0x65, 0x00, 0x68, 0x00, 0x74, 0x00, 0x74, 0x00, 0x70, 0x00,
-  0x3a, 0x00, 0x2f, 0x00, 0x2f, 0x00, 0x63, 0x00, 0x72, 0x00, 0x65, 0x00,
-  0x61, 0x00, 0x74, 0x00, 0x69, 0x00, 0x76, 0x00, 0x65, 0x00, 0x63, 0x00,
-  0x6f, 0x00, 0x6d, 0x00, 0x6d, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x73, 0x00,
-  0x2e, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x67, 0x00, 0x2f, 0x00, 0x6c, 0x00,
-  0x69, 0x00, 0x63, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x73, 0x00, 0x65, 0x00,
-  0x73, 0x00, 0x2f, 0x00, 0x62, 0x00, 0x79, 0x00, 0x2d, 0x00, 0x73, 0x00,
-  0x61, 0x00, 0x2f, 0x00, 0x33, 0x00, 0x2e, 0x00, 0x30, 0x00, 0x2f, 0x00,
-  0x46, 0x00, 0x69, 0x00, 0x76, 0x00, 0x65, 0x00, 0x20, 0x00, 0x62, 0x00,
-  0x69, 0x00, 0x67, 0x00, 0x20, 0x00, 0x71, 0x00, 0x75, 0x00, 0x61, 0x00,
-  0x63, 0x00, 0x6b, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x67, 0x00, 0x20, 0x00,
-  0x7a, 0x00, 0x65, 0x00, 0x70, 0x00, 0x68, 0x00, 0x79, 0x00, 0x72, 0x00,
-  0x73, 0x00, 0x20, 0x00, 0x6a, 0x00, 0x6f, 0x00, 0x6c, 0x00, 0x74, 0x00,
-  0x20, 0x00, 0x6d, 0x00, 0x79, 0x00, 0x20, 0x00, 0x77, 0x00, 0x61, 0x00,
-  0x78, 0x00, 0x20, 0x00, 0x62, 0x00, 0x65, 0x00, 0x64, 0x00, 0x42, 0x00,
-  0x67, 0x00, 0x67, 0x00, 0x4c, 0x00, 0x63, 0x00, 0x6c, 0x00, 0x70, 0x00,
-  0x67, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x66, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-};
-unsigned int stealth57_ttf_len = 13068;
-#endif
\ No newline at end of file
--- a/write.c
+++ b/write.c
@@ -1,28 +1,26 @@
-#include <errno.h>
+#include <libserialport.h>
 #include <stdint.h>
 #include <stdio.h>
-#include <string.h>
 #include <unistd.h>
 
-int enable_and_reset_display(int port) {
+int enable_and_reset_display(struct sp_port *port) {
   uint8_t buf[2];
-  ssize_t bytes_written;
+  int result;
 
   fprintf(stderr, "Enabling and resetting M8 display\n");
 
   buf[0] = 0x44;
-  bytes_written = write(port, buf, 1);
-  if (bytes_written == -1) {
-    fprintf(stderr, "Error code %d: %s\n", errno, strerror(errno));
-    return -1;
+  result = sp_blocking_write(port, buf, 1, 5);
+  if (result != 1) {
+    fprintf(stderr, "Error enabling M8 display, code %d", result);
   }
+
   usleep(500);
   buf[0] = 0x45;
   buf[1] = 0x52;
-  bytes_written = write(port, buf, 2);
-  if (bytes_written == -1) {
-    fprintf(stderr, "Error code %d: %s\n", errno, strerror(errno));
-    return -1;
+  result = sp_blocking_write(port, buf, 2, 5);
+  if (result != 2) {
+    fprintf(stderr, "Error resetting M8 display, code %d", result);
   }
   sleep(1);
 
@@ -29,40 +27,27 @@
   return 1;
 }
 
-int disconnect(int port) {
+int disconnect(struct sp_port *port) {
   char buf[1] = {'D'};
-  size_t nbytes = 1;
-  ssize_t bytes_written;
+  int result;
 
   fprintf(stderr, "Disconnecting M8\n");
 
-  bytes_written = write(port, buf, nbytes);
-  if (bytes_written != nbytes) {
-    fprintf(stderr,
-            "Error disconnecting, expected to write %zu bytes, %zd written\n",
-            nbytes, bytes_written);
-
-    if (bytes_written == -1) {
-      fprintf(stderr, "Error code %d: %s\n", errno, strerror(errno));
-    }
+  result = sp_blocking_write(port, buf, 1, 5);
+  if (result != 1) {
+    fprintf(stderr, "Error sending disconnect, code %d", result);
     return -1;
   }
   return 1;
 }
 
-int send_msg_controller(int port, uint8_t input) {
+int send_msg_controller(struct sp_port *port, uint8_t input) {
   char buf[2] = {'C',input};
   size_t nbytes = 2;
-  ssize_t bytes_written;
-  bytes_written = write(port, buf, nbytes);
-  if (bytes_written != nbytes) {
-    fprintf(stderr,
-            "Error sending controller message, expected to write %zu bytes, %zd written\n",
-            nbytes, bytes_written);
-
-    if (bytes_written == -1) {
-      fprintf(stderr, "Error code %d: %s\n", errno, strerror(errno));
-    }
+  int result;
+  result = sp_blocking_write(port, buf, nbytes, 5);
+  if (result != nbytes) {
+    fprintf(stderr, "Error sending input, code %d", result);
     return -1;
   }
   return 1;
@@ -69,23 +54,17 @@
 
 }
 
-int send_msg_keyjazz(int port, uint8_t note, uint8_t velocity) {
+int send_msg_keyjazz(struct sp_port *port, uint8_t note, uint8_t velocity) {
   if (velocity > 64)
     velocity = 64;
   char buf[3] = {'K',note,velocity};
   size_t nbytes = 3;
-  ssize_t bytes_written;
-  bytes_written = write(port, buf, nbytes);
-  if (bytes_written != nbytes) {
-    fprintf(stderr,
-            "Error sending keyjazz message, expected to write %zu bytes, %zd written\n",
-            nbytes, bytes_written);
-
-    if (bytes_written == -1) {
-      fprintf(stderr, "Error code %d: %s\n", errno, strerror(errno));
-    }
+  int result;
+  result = sp_blocking_write(port, buf, nbytes,5);
+  if (result != nbytes) {
+    fprintf(stderr, "Error sending keyjazz, code %d", result);
     return -1;
   }
-  return 1;
 
+  return 1;
 }
\ No newline at end of file
--- a/write.h
+++ b/write.h
@@ -2,10 +2,11 @@
 #define WRITE_H_
 
 #include <stdint.h>
-int enable_and_reset_display(int port);
-int disconnect(int port);
-int send_msg_controller(int port, uint8_t input);
-int send_msg_keyjazz(int port, uint8_t note, uint8_t velocity);
+#include <libserialport.h>
 
+int enable_and_reset_display(struct sp_port *port);
+int disconnect(struct sp_port *port);
+int send_msg_controller(struct sp_port *port, uint8_t input);
+int send_msg_keyjazz(struct sp_port *port, uint8_t note, uint8_t velocity);
 
 #endif
\ No newline at end of file
--