Test program for my Multi_WS2811 library that started out as a fork of heroic/WS2811. My library uses hardware DMA on the FRDM-KL25Z to drive up to 16 strings of WS2811 or WS2812 LEDs in parallel.

Dependencies:   Multi_WS2811 mbed MMA8451Q

Fork of WS2811 by Heroic Robotics

NOTE: I have accidentally pushed changes for another fork of this program that I used in the recent Georgetown Carnival Power Tool Races. When I get some time, I will restore the test program to its original glory.

You can see my power tool racer (Nevermore's Revenge) here

/media/uploads/bikeNomad/img_0482.jpg

This tests my FRDM-KL25Z multi-string WS2811/WS2812 library. It uses the accelerometer to change the rainbow phase on two strings of LEDs as well as the touch sense to change brightness.

A video of this program in operation is here.

Here is the library that I developed to run the LEDs:

Import libraryMulti_WS2811

Library allowing up to 16 strings of 60 WS2811 or WS2812 LEDs to be driven from a single FRDM-KL25Z board. Uses hardware DMA to do a full 800 KHz rate without much CPU burden.

Files at this revision

API Documentation at this revision

Comitter:
Ned Konz
Date:
Fri Jun 10 08:56:46 2016 -0700
Parent:
39:e735259e1d2e
Commit message:
Added audio

Changed in this revision

1khz_1sec.h Show annotated file Show diff for this revision Revisions of this file
Multi_WS2811.lib Show annotated file Show diff for this revision Revisions of this file
audio.cpp Show annotated file Show diff for this revision Revisions of this file
audio.h Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/1khz_1sec.h	Fri Jun 10 08:56:46 2016 -0700
@@ -0,0 +1,670 @@
+const unsigned char __1khz_1sec_s8[] = {
+  0x00, 0x49, 0x66, 0x48, 0x00, 0xb7, 0x99, 0xb7, 0xff, 0x49, 0x67, 0x49,
+  0x00, 0xb8, 0x99, 0xb8, 0x01, 0x48, 0x67, 0x49, 0x00, 0xb7, 0x99, 0xb8,
+  0x01, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x49,
+  0x00, 0xb7, 0x9a, 0xb8, 0xff, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x49, 0x67, 0x48, 0x00, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x67, 0x49,
+  0x00, 0xb7, 0x99, 0xb8, 0x00, 0x49, 0x67, 0x48, 0xff, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x67, 0x49,
+  0x01, 0xb8, 0x9a, 0xb7, 0x01, 0x48, 0x66, 0x49, 0x01, 0xb8, 0x99, 0xb8,
+  0x00, 0x48, 0x66, 0x48, 0xff, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x67, 0x49,
+  0x00, 0xb7, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x48,
+  0x00, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb7,
+  0x01, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb7, 0x99, 0xb8, 0x00, 0x49, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x67, 0x48, 0xff, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb8, 0x99, 0xb8, 0xff, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb8,
+  0x01, 0x48, 0x67, 0x48, 0x00, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x48,
+  0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb8,
+  0x00, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x49,
+  0xff, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb8,
+  0x00, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x49,
+  0x00, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb7,
+  0xff, 0x48, 0x66, 0x49, 0x00, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x48, 0xff, 0xb7, 0x99, 0xb8,
+  0x00, 0x48, 0x67, 0x48, 0x00, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb7, 0x99, 0xb7, 0x00, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb7,
+  0x00, 0x49, 0x66, 0x48, 0x00, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x49, 0x67, 0x48, 0xff, 0xb8, 0x99, 0xb8,
+  0x00, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x49, 0x67, 0x48, 0xff, 0xb7, 0x9a, 0xb8, 0x00, 0x49, 0x67, 0x48,
+  0x00, 0xb7, 0x9a, 0xb8, 0x01, 0x49, 0x66, 0x48, 0x01, 0xb8, 0x9a, 0xb7,
+  0x00, 0x49, 0x66, 0x48, 0xff, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x49,
+  0x00, 0xb7, 0x9a, 0xb8, 0x01, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x99, 0xb8,
+  0xff, 0x48, 0x66, 0x49, 0x00, 0xb7, 0x99, 0xb8, 0x01, 0x48, 0x67, 0x48,
+  0xff, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x67, 0x48, 0x01, 0xb8, 0x9a, 0xb7,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb8,
+  0x00, 0x49, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb7, 0xff, 0x48, 0x67, 0x49,
+  0x01, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x49, 0x01, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb8, 0xff, 0x49, 0x67, 0x48,
+  0x00, 0xb7, 0x9a, 0xb7, 0xff, 0x48, 0x66, 0x48, 0x01, 0xb8, 0x99, 0xb8,
+  0x00, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x99, 0xb7, 0x01, 0x48, 0x67, 0x48,
+  0x00, 0xb7, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb8,
+  0x00, 0x48, 0x67, 0x48, 0xff, 0xb8, 0x9a, 0xb7, 0x01, 0x48, 0x66, 0x49,
+  0x01, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x67, 0x49, 0xff, 0xb7, 0x9a, 0xb7, 0x00, 0x49, 0x67, 0x49,
+  0x00, 0xb7, 0x9a, 0xb9, 0x00, 0x49, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x49, 0x01, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x49,
+  0x01, 0xb7, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x99, 0xb8, 0x01, 0x48, 0x66, 0x49,
+  0xff, 0xb8, 0x99, 0xb9, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb7,
+  0x00, 0x49, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x48,
+  0xff, 0xb7, 0x9a, 0xb8, 0x00, 0x49, 0x67, 0x49, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x99, 0xb7, 0x01, 0x48, 0x67, 0x49,
+  0x00, 0xb7, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8,
+  0xff, 0x49, 0x67, 0x48, 0x00, 0xb7, 0x99, 0xb8, 0x00, 0x49, 0x66, 0x49,
+  0x01, 0xb8, 0x99, 0xb8, 0x01, 0x48, 0x66, 0x49, 0xff, 0xb8, 0x9a, 0xb7,
+  0x01, 0x49, 0x67, 0x49, 0x00, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x67, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x49, 0x01, 0xb8, 0x99, 0xb8,
+  0x01, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8, 0x01, 0x48, 0x66, 0x48,
+  0x01, 0xb7, 0x99, 0xb7, 0x00, 0x48, 0x67, 0x49, 0x00, 0xb8, 0x99, 0xb7,
+  0x00, 0x48, 0x67, 0x48, 0xff, 0xb7, 0x99, 0xb8, 0x00, 0x49, 0x66, 0x49,
+  0x00, 0xb7, 0x99, 0xb7, 0x00, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x99, 0xb8,
+  0x00, 0x48, 0x67, 0x49, 0x01, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x48,
+  0x00, 0xb8, 0x99, 0xb7, 0x00, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8,
+  0xff, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb7, 0x9a, 0xb7, 0x00, 0x49, 0x66, 0x49, 0x00, 0xb7, 0x9a, 0xb8,
+  0x01, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb8, 0xff, 0x48, 0x67, 0x48,
+  0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x48, 0x01, 0xb7, 0x99, 0xb7,
+  0x01, 0x49, 0x67, 0x49, 0xff, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x48,
+  0x00, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb7,
+  0xff, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb7, 0x99, 0xb7, 0x01, 0x48, 0x66, 0x49, 0x00, 0xb7, 0x99, 0xb8,
+  0x00, 0x49, 0x67, 0x49, 0x01, 0xb7, 0x99, 0xb7, 0x01, 0x49, 0x66, 0x49,
+  0xff, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x49, 0xff, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x48,
+  0xff, 0xb8, 0x99, 0xb8, 0xff, 0x49, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb7,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x99, 0xb7, 0x00, 0x49, 0x66, 0x49,
+  0x00, 0xb7, 0x99, 0xb8, 0xff, 0x48, 0x66, 0x48, 0x01, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x67, 0x48, 0xff, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb7, 0x9a, 0xb8, 0xff, 0x49, 0x66, 0x49, 0x01, 0xb7, 0x9a, 0xb8,
+  0x01, 0x49, 0x66, 0x49, 0x00, 0xb7, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x49,
+  0x00, 0xb7, 0x99, 0xb7, 0x00, 0x48, 0x67, 0x48, 0x01, 0xb7, 0x9a, 0xb8,
+  0xff, 0x49, 0x67, 0x48, 0x01, 0xb7, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x48,
+  0xff, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb7,
+  0x00, 0x49, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x67, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x49, 0x67, 0x48, 0x00, 0xb8, 0x99, 0xb8, 0xff, 0x48, 0x66, 0x49,
+  0x01, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x49, 0xff, 0xb8, 0x9a, 0xb8,
+  0x00, 0x49, 0x66, 0x49, 0xff, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x66, 0x48,
+  0x00, 0xb8, 0x9a, 0xb9, 0x00, 0x48, 0x67, 0x49, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x67, 0x49, 0xff, 0xb7, 0x99, 0xb8, 0x00, 0x49, 0x66, 0x48,
+  0xff, 0xb7, 0x9a, 0xb7, 0x00, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb7,
+  0xff, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb7, 0x00, 0x49, 0x66, 0x48,
+  0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x99, 0xb7,
+  0x00, 0x49, 0x67, 0x48, 0x00, 0xb8, 0x99, 0xb7, 0x01, 0x48, 0x66, 0x48,
+  0x00, 0xb7, 0x9a, 0xb7, 0x00, 0x49, 0x66, 0x49, 0x00, 0xb7, 0x99, 0xb8,
+  0x00, 0x48, 0x66, 0x49, 0x01, 0xb8, 0x99, 0xb7, 0x00, 0x49, 0x67, 0x48,
+  0x00, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb7,
+  0x00, 0x49, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb9, 0xff, 0x48, 0x66, 0x49,
+  0x01, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x49, 0x00, 0xb8, 0x99, 0xb7,
+  0xff, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x49,
+  0x00, 0xb7, 0x9a, 0xb8, 0xff, 0x48, 0x67, 0x49, 0xff, 0xb7, 0x99, 0xb7,
+  0xff, 0x48, 0x66, 0x48, 0xff, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x48,
+  0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x49, 0x66, 0x49, 0x00, 0xb7, 0x9a, 0xb8,
+  0x00, 0x48, 0x67, 0x49, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48,
+  0xff, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x99, 0xb8,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x99, 0xb8, 0x00, 0x49, 0x66, 0x48,
+  0x00, 0xb7, 0x9a, 0xb8, 0x01, 0x49, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb7,
+  0x01, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x67, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x48, 0x00, 0xb7, 0x99, 0xb8,
+  0xff, 0x48, 0x67, 0x49, 0x01, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x66, 0x49,
+  0xff, 0xb7, 0x9a, 0xb8, 0x00, 0x49, 0x67, 0x49, 0x00, 0xb8, 0x99, 0xb8,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x49,
+  0x00, 0xb8, 0x9a, 0xb8, 0x01, 0x48, 0x66, 0x49, 0x01, 0xb8, 0x9a, 0xb8,
+  0x00, 0x49, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x48,
+  0x01, 0xb7, 0x9a, 0xb7, 0x00, 0x49, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb7,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x48,
+  0xff, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb7,
+  0x00, 0x49, 0x66, 0x48, 0x00, 0xb7, 0x99, 0xb8, 0xff, 0x49, 0x67, 0x48,
+  0x00, 0xb8, 0x99, 0xb8, 0xff, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x49,
+  0xff, 0xb8, 0x9a, 0xb7, 0xff, 0x48, 0x67, 0x49, 0x00, 0xb7, 0x99, 0xb8,
+  0x00, 0x49, 0x66, 0x49, 0x00, 0xb7, 0x9a, 0xb7, 0xff, 0x48, 0x66, 0x49,
+  0x00, 0xb7, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x48, 0x01, 0xb8, 0x99, 0xb7,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x67, 0x49,
+  0x00, 0xb8, 0x99, 0xb7, 0x01, 0x48, 0x67, 0x49, 0x00, 0xb8, 0x99, 0xb8,
+  0x00, 0x49, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x67, 0x48,
+  0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb7,
+  0x00, 0x49, 0x66, 0x49, 0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x49,
+  0x00, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x49, 0x01, 0xb8, 0x9a, 0xb8,
+  0x01, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x49, 0x65, 0x48,
+  0x01, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x67, 0x49, 0x00, 0xb8, 0x9a, 0xb7,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb7, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x49, 0x67, 0x49, 0xff, 0xb7, 0x9a, 0xb7,
+  0x00, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x49,
+  0x00, 0xb7, 0x9a, 0xb8, 0x01, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb7,
+  0xff, 0x49, 0x67, 0x49, 0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x48,
+  0xff, 0xb8, 0x9a, 0xb7, 0x01, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x48, 0x01, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x66, 0x48,
+  0xff, 0xb9, 0x99, 0xb7, 0xff, 0x48, 0x66, 0x48, 0x01, 0xb7, 0x99, 0xb8,
+  0x00, 0x48, 0x67, 0x48, 0x01, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb7, 0x99, 0xb8, 0x00, 0x49, 0x66, 0x49, 0x00, 0xb8, 0x99, 0xb8,
+  0x00, 0x49, 0x66, 0x48, 0xff, 0xb8, 0x9a, 0xb7, 0x00, 0x49, 0x67, 0x49,
+  0x01, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x99, 0xb8, 0x01, 0x48, 0x66, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x48, 0x01, 0xb8, 0x99, 0xb8,
+  0x00, 0x49, 0x67, 0x49, 0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x67, 0x48,
+  0x00, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x67, 0x48, 0x00, 0xb8, 0x99, 0xb8,
+  0x00, 0x49, 0x67, 0x48, 0xff, 0xb8, 0x99, 0xb7, 0x01, 0x48, 0x66, 0x48,
+  0x01, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x49, 0x00, 0xb7, 0x9a, 0xb8,
+  0x00, 0x49, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb8, 0xff, 0x49, 0x66, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0xff, 0x48, 0x67, 0x49, 0x00, 0xb7, 0x9a, 0xb8,
+  0x01, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb8, 0x99, 0xb7, 0x00, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb8,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb7, 0x01, 0x48, 0x66, 0x48,
+  0x00, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x99, 0xb7,
+  0x00, 0x49, 0x67, 0x48, 0x01, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x49,
+  0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb7,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x49,
+  0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x49, 0x00, 0xb7, 0x99, 0xb8,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x67, 0x48,
+  0x00, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x49, 0x00, 0xb8, 0x99, 0xb8,
+  0xff, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x49, 0x67, 0x49,
+  0x00, 0xb8, 0x99, 0xb8, 0xff, 0x48, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb7,
+  0x01, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x49, 0x66, 0x49,
+  0x01, 0xb7, 0x9a, 0xb7, 0x00, 0x49, 0x66, 0x49, 0x01, 0xb8, 0x9a, 0xb8,
+  0x01, 0x48, 0x67, 0x49, 0xff, 0xb8, 0x99, 0xb7, 0xff, 0x48, 0x66, 0x49,
+  0xff, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x66, 0x48,
+  0x00, 0xb7, 0x9a, 0xb8, 0x01, 0x48, 0x67, 0x49, 0x01, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x49, 0x01, 0xb8, 0x99, 0xb8, 0x01, 0x49, 0x66, 0x49,
+  0x00, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x49, 0x00, 0xb7, 0x9a, 0xb7,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x48,
+  0x00, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x48, 0xff, 0xb7, 0x9a, 0xb7,
+  0x00, 0x49, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x49,
+  0x00, 0xb8, 0x99, 0xb7, 0xff, 0x48, 0x66, 0x49, 0xff, 0xb8, 0x9a, 0xb7,
+  0x00, 0x49, 0x67, 0x48, 0xff, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x66, 0x49,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb7, 0x99, 0xb8, 0x01, 0x48, 0x66, 0x48,
+  0x00, 0xb7, 0x99, 0xb8, 0x00, 0x49, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb7,
+  0x00, 0x49, 0x67, 0x49, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48, 0x01, 0xb8, 0x9a, 0xb7,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x49,
+  0x01, 0xb7, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb8,
+  0x00, 0x48, 0x67, 0x49, 0x00, 0xb8, 0x9a, 0xb8, 0xff, 0x48, 0x66, 0x48,
+  0x00, 0xb7, 0x99, 0xb7, 0xff, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb7,
+  0xff, 0x48, 0x67, 0x48, 0xff, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x49,
+  0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb7,
+  0x00, 0x48, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x49,
+  0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb7,
+  0x00, 0x48, 0x66, 0x49, 0xff, 0xb7, 0x99, 0xb7, 0xff, 0x49, 0x66, 0x49,
+  0x01, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x48, 0xff, 0xb7, 0x9a, 0xb8,
+  0x01, 0x49, 0x67, 0x49, 0xff, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x49,
+  0x00, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x67, 0x49, 0xff, 0xb8, 0x9a, 0xb8,
+  0x01, 0x49, 0x67, 0x49, 0x00, 0xb7, 0x99, 0xb8, 0x00, 0x49, 0x67, 0x48,
+  0xff, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb7, 0x99, 0xb8, 0x01, 0x48, 0x66, 0x48,
+  0x01, 0xb7, 0x9a, 0xb7, 0xff, 0x49, 0x66, 0x49, 0x00, 0xb8, 0x99, 0xb7,
+  0x01, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x49, 0x66, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x99, 0xb7,
+  0xff, 0x48, 0x66, 0x48, 0xff, 0xb8, 0x9a, 0xb8, 0xff, 0x48, 0x67, 0x49,
+  0xff, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb7,
+  0x00, 0x48, 0x67, 0x49, 0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x67, 0x49,
+  0x00, 0xb8, 0x9a, 0xb8, 0xff, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x49,
+  0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb7,
+  0x00, 0x49, 0x66, 0x48, 0x00, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x49,
+  0x00, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x48, 0x01, 0xb8, 0x9a, 0xb7,
+  0x00, 0x48, 0x67, 0x48, 0xff, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x49,
+  0x01, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb8,
+  0x00, 0x49, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x48,
+  0x01, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x49, 0x00, 0xb7, 0x9a, 0xb7,
+  0x00, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x48,
+  0x01, 0xb8, 0x9a, 0xb7, 0x00, 0x49, 0x66, 0x48, 0x00, 0xb7, 0x99, 0xb8,
+  0x01, 0x49, 0x66, 0x49, 0x00, 0xb7, 0x9a, 0xb7, 0x00, 0x48, 0x67, 0x49,
+  0x00, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x48, 0xff, 0xb7, 0x9a, 0xb8,
+  0x00, 0x49, 0x67, 0x48, 0xff, 0xb8, 0x9a, 0xb7, 0x00, 0x49, 0x67, 0x48,
+  0x00, 0xb7, 0x9a, 0xb8, 0x01, 0x48, 0x67, 0x48, 0x01, 0xb7, 0x99, 0xb8,
+  0x01, 0x48, 0x66, 0x49, 0xff, 0xb7, 0x99, 0xb7, 0x00, 0x49, 0x66, 0x48,
+  0x00, 0xb7, 0x9a, 0xb7, 0x00, 0x49, 0x66, 0x49, 0x01, 0xb8, 0x99, 0xb8,
+  0x00, 0x48, 0x66, 0x48, 0x01, 0xb8, 0x9a, 0xb7, 0x00, 0x49, 0x66, 0x48,
+  0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x49, 0x00, 0xb7, 0x9a, 0xb8,
+  0x00, 0x49, 0x66, 0x49, 0x00, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x67, 0x48, 0xff, 0xb8, 0x9a, 0xb7,
+  0x00, 0x48, 0x67, 0x49, 0x00, 0xb7, 0x9a, 0xb7, 0x00, 0x49, 0x67, 0x48,
+  0xff, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb8,
+  0x01, 0x48, 0x67, 0x49, 0xff, 0xb7, 0x9a, 0xb8, 0x01, 0x48, 0x67, 0x49,
+  0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb8,
+  0xff, 0x48, 0x66, 0x49, 0x01, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x67, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb8,
+  0xff, 0x48, 0x67, 0x49, 0xff, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0x01, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb8,
+  0xff, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x49, 0x67, 0x49,
+  0x01, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x49, 0xff, 0xb7, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x49, 0x01, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x49,
+  0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x49, 0x67, 0x49, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x49, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x48,
+  0x00, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb7, 0x9a, 0xb7, 0x01, 0x48, 0x65, 0x48,
+  0x00, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x49, 0x00, 0xb7, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb9, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x49,
+  0x00, 0xb8, 0x9a, 0xb7, 0xff, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb7,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x49, 0x67, 0x48,
+  0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb7,
+  0x00, 0x48, 0x67, 0x48, 0x01, 0xb8, 0x9a, 0xb7, 0x00, 0x49, 0x66, 0x48,
+  0x00, 0xb7, 0x99, 0xb8, 0x00, 0x49, 0x67, 0x48, 0x00, 0xb8, 0x99, 0xb7,
+  0x00, 0x48, 0x67, 0x48, 0xff, 0xb7, 0x9a, 0xb8, 0xff, 0x48, 0x66, 0x49,
+  0x00, 0xb7, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb7,
+  0x00, 0x49, 0x66, 0x48, 0x00, 0xb7, 0x99, 0xb7, 0xff, 0x49, 0x67, 0x49,
+  0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x49, 0x00, 0xb7, 0x9a, 0xb7,
+  0x01, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x66, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x48, 0x00, 0xb7, 0x99, 0xb8,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb8, 0x01, 0x48, 0x66, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0xff, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb7,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x67, 0x49,
+  0x00, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x67, 0x48, 0x00, 0xb8, 0x99, 0xb7,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb7,
+  0xff, 0x48, 0x66, 0x48, 0x01, 0xb7, 0x99, 0xb7, 0xff, 0x49, 0x67, 0x48,
+  0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x49, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x48,
+  0x00, 0xb8, 0x9a, 0xb7, 0xff, 0x49, 0x66, 0x49, 0x00, 0xb7, 0x99, 0xb8,
+  0x01, 0x48, 0x66, 0x48, 0xff, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x49,
+  0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x49, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb7,
+  0xff, 0x49, 0x66, 0x49, 0x00, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x49,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x67, 0x49, 0x00, 0xb8, 0x99, 0xb7,
+  0xff, 0x48, 0x66, 0x49, 0xff, 0xb7, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb8,
+  0x00, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x49,
+  0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x49, 0x00, 0xb7, 0x99, 0xb7,
+  0x01, 0x49, 0x67, 0x48, 0x00, 0xb7, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x67, 0x49, 0x00, 0xb8, 0x99, 0xb7,
+  0x00, 0x49, 0x66, 0x49, 0x01, 0xb7, 0x9a, 0xb8, 0x00, 0x49, 0x67, 0x48,
+  0x00, 0xb7, 0x99, 0xb7, 0xff, 0x49, 0x66, 0x49, 0x01, 0xb8, 0x99, 0xb7,
+  0xff, 0x49, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x49, 0x67, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0xff, 0x48, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb8,
+  0x00, 0x48, 0x67, 0x49, 0x00, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x67, 0x48,
+  0xff, 0xb7, 0x99, 0xb8, 0xff, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb7,
+  0x00, 0x48, 0x66, 0x48, 0xff, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x49,
+  0x00, 0xb9, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb7,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x99, 0xb7, 0x00, 0x49, 0x67, 0x48,
+  0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x48, 0xff, 0xb7, 0x9a, 0xb8,
+  0x00, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48,
+  0x01, 0xb8, 0x9a, 0xb9, 0xff, 0x49, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb7,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb7, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x49, 0x00, 0xb7, 0x99, 0xb7,
+  0x00, 0x49, 0x66, 0x48, 0x01, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x66, 0x49,
+  0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb8,
+  0x00, 0x48, 0x67, 0x49, 0x00, 0xb8, 0x9a, 0xb8, 0xff, 0x49, 0x66, 0x48,
+  0x01, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb7,
+  0x00, 0x48, 0x67, 0x49, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb7, 0x9a, 0xb7, 0x00, 0x49, 0x66, 0x49, 0x00, 0xb8, 0x99, 0xb7,
+  0x01, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x49,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x67, 0x48, 0x00, 0xb8, 0x99, 0xb7,
+  0x01, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x67, 0x48,
+  0xff, 0xb8, 0x9a, 0xb8, 0x01, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x49,
+  0x01, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x49, 0xff, 0xb7, 0x9a, 0xb7,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x67, 0x48,
+  0x00, 0xb7, 0x9a, 0xb7, 0xff, 0x48, 0x66, 0x49, 0x01, 0xb8, 0x9a, 0xb8,
+  0x00, 0x49, 0x67, 0x49, 0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x49,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x49, 0xff, 0xb7, 0x9a, 0xb7,
+  0x01, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x67, 0x49,
+  0x00, 0xb7, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb8,
+  0xff, 0x49, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x49, 0x66, 0x48,
+  0x00, 0xb7, 0x9a, 0xb7, 0x00, 0x48, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb7,
+  0x00, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x99, 0xb7, 0xff, 0x48, 0x66, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0x01, 0x49, 0x67, 0x49, 0xff, 0xb7, 0x99, 0xb8,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x49,
+  0x00, 0xb8, 0x9a, 0xb8, 0xff, 0x48, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb8,
+  0xff, 0x48, 0x66, 0x48, 0xff, 0xb8, 0x9a, 0xb8, 0x01, 0x48, 0x66, 0x48,
+  0x00, 0xb8, 0x99, 0xb7, 0x01, 0x49, 0x66, 0x49, 0x00, 0xb7, 0x99, 0xb8,
+  0x00, 0x48, 0x67, 0x49, 0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x67, 0x48,
+  0x01, 0xb8, 0x99, 0xb7, 0x01, 0x49, 0x67, 0x49, 0xff, 0xb8, 0x99, 0xb8,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x48,
+  0x01, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x48, 0xff, 0xb7, 0x9a, 0xb8,
+  0xff, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb7, 0x00, 0x49, 0x67, 0x49,
+  0xff, 0xb7, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x49, 0xff, 0xb8, 0x99, 0xb7,
+  0x01, 0x49, 0x67, 0x48, 0x00, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x67, 0x49,
+  0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x49, 0x66, 0x48, 0x01, 0xb8, 0x9a, 0xb7,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb7, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x49, 0x00, 0xb8, 0x9b, 0xb8,
+  0x01, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x48,
+  0xff, 0xb8, 0x9a, 0xb7, 0x01, 0x48, 0x67, 0x47, 0xff, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x49,
+  0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x49, 0xff, 0xb8, 0x9a, 0xb8,
+  0x00, 0x49, 0x67, 0x49, 0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x48,
+  0x01, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x99, 0xb7, 0xff, 0x48, 0x66, 0x48,
+  0x00, 0xb8, 0x9a, 0xb7, 0xff, 0x48, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb7,
+  0x00, 0x48, 0x67, 0x48, 0xff, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x49,
+  0x00, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x49, 0x66, 0x49, 0xff, 0xb8, 0x99, 0xb9, 0x00, 0x48, 0x67, 0x49,
+  0x00, 0xb7, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb7,
+  0x00, 0x49, 0x67, 0x49, 0xff, 0xb8, 0x9a, 0xb7, 0x00, 0x49, 0x66, 0x48,
+  0x01, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x67, 0x49, 0x00, 0xb7, 0x99, 0xb8,
+  0x01, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x49,
+  0x00, 0xb7, 0x99, 0xb7, 0x00, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb7,
+  0x00, 0x48, 0x67, 0x49, 0x00, 0xb8, 0x99, 0xb8, 0xff, 0x49, 0x67, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0x01, 0x48, 0x67, 0x49, 0x01, 0xb8, 0x99, 0xb8,
+  0x00, 0x48, 0x67, 0x48, 0x01, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x49,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48, 0x01, 0xb8, 0x99, 0xb8,
+  0x00, 0x48, 0x65, 0x48, 0x00, 0xb7, 0x99, 0xb7, 0x00, 0x48, 0x67, 0x49,
+  0x00, 0xb8, 0x9a, 0xb7, 0x01, 0x48, 0x66, 0x49, 0x00, 0xb7, 0x99, 0xb7,
+  0x00, 0x48, 0x66, 0x48, 0x01, 0xb7, 0x99, 0xb8, 0x01, 0x49, 0x66, 0x48,
+  0xff, 0xb7, 0x9a, 0xb7, 0x00, 0x49, 0x66, 0x49, 0x00, 0xb8, 0x99, 0xb8,
+  0x00, 0x48, 0x67, 0x49, 0x01, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x49,
+  0x00, 0xb7, 0x9a, 0xb8, 0x01, 0x49, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb8,
+  0x00, 0x49, 0x67, 0x48, 0xff, 0xb8, 0x9a, 0xb7, 0x00, 0x49, 0x66, 0x49,
+  0x00, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb7,
+  0xff, 0x49, 0x67, 0x49, 0x00, 0xb7, 0x9a, 0xb7, 0x00, 0x49, 0x67, 0x49,
+  0x00, 0xb8, 0x99, 0xb9, 0x00, 0x48, 0x67, 0x49, 0x00, 0xb7, 0x9a, 0xb7,
+  0xff, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x67, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0x01, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8,
+  0xff, 0x49, 0x67, 0x49, 0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x49,
+  0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x65, 0x49, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x48,
+  0x00, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x48, 0x01, 0xb7, 0x99, 0xb8,
+  0x00, 0x49, 0x67, 0x49, 0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x67, 0x49, 0x00, 0xb7, 0x99, 0xb7,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x48,
+  0x00, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x67, 0x49, 0x01, 0xb7, 0x9a, 0xb8,
+  0x01, 0x48, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x48,
+  0xff, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x49, 0x01, 0xb8, 0x9a, 0xb8,
+  0xff, 0x49, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x49,
+  0x00, 0xb7, 0x9a, 0xb7, 0x00, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb7,
+  0x01, 0x48, 0x66, 0x49, 0x00, 0xb7, 0x99, 0xb8, 0xff, 0x48, 0x66, 0x49,
+  0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb8,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x49,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x48, 0x01, 0xb8, 0x99, 0xb7, 0x00, 0x49, 0x67, 0x48,
+  0xff, 0xb7, 0x99, 0xb7, 0x00, 0x49, 0x66, 0x49, 0x00, 0xb8, 0x99, 0xb8,
+  0x00, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x49, 0x00, 0xb8, 0x99, 0xb7,
+  0x00, 0x48, 0x67, 0x48, 0x00, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x48,
+  0xff, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8,
+  0xff, 0x49, 0x67, 0x48, 0x01, 0xb7, 0x99, 0xb7, 0x00, 0x49, 0x67, 0x48,
+  0x00, 0xb8, 0x99, 0xb8, 0x01, 0x49, 0x67, 0x48, 0x00, 0xb9, 0x9a, 0xb7,
+  0x01, 0x48, 0x65, 0x49, 0x00, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x67, 0x49,
+  0x00, 0xb8, 0x9b, 0xb8, 0xff, 0x49, 0x66, 0x49, 0x01, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0xff, 0x49, 0x67, 0x49, 0xff, 0xb8, 0x9a, 0xb7,
+  0x00, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb8, 0x01, 0x49, 0x66, 0x49,
+  0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x48, 0x01, 0xb8, 0x99, 0xb7,
+  0x01, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb7, 0xff, 0x48, 0x67, 0x49,
+  0x00, 0xb7, 0x99, 0xb7, 0x00, 0x48, 0x67, 0x49, 0x00, 0xb8, 0x99, 0xb8,
+  0xff, 0x49, 0x66, 0x49, 0xff, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x49,
+  0x00, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x49, 0x67, 0x49, 0x00, 0xb8, 0x9a, 0xb8, 0xff, 0x48, 0x66, 0x48,
+  0x00, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x66, 0x49, 0xff, 0xb8, 0x99, 0xb8,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x49, 0x66, 0x49,
+  0x00, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x65, 0x49, 0x00, 0xb8, 0x9a, 0xb7,
+  0x01, 0x48, 0x66, 0x49, 0xff, 0xb8, 0x99, 0xb7, 0xff, 0x48, 0x66, 0x48,
+  0x00, 0xb8, 0x99, 0xb8, 0x01, 0x48, 0x67, 0x49, 0x00, 0xb8, 0x99, 0xb7,
+  0x00, 0x49, 0x66, 0x49, 0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x66, 0x48, 0xff, 0xb7, 0x99, 0xb8,
+  0x00, 0x49, 0x66, 0x48, 0xff, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x66, 0x48,
+  0xff, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x49, 0x00, 0xb7, 0x99, 0xb7,
+  0x00, 0x49, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb7, 0x01, 0x48, 0x67, 0x48,
+  0xff, 0xb8, 0x99, 0xb8, 0x01, 0x49, 0x67, 0x48, 0x00, 0xb7, 0x99, 0xb8,
+  0x01, 0x48, 0x66, 0x48, 0x01, 0xb7, 0x9a, 0xb8, 0xff, 0x49, 0x67, 0x49,
+  0x00, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb7,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb7, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x49,
+  0x01, 0xb7, 0x99, 0xb7, 0x00, 0x49, 0x66, 0x48, 0x01, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x67, 0x49, 0x00, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x48,
+  0xff, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb8,
+  0xff, 0x49, 0x66, 0x48, 0x00, 0xb7, 0x99, 0xb8, 0x00, 0x49, 0x66, 0x48,
+  0x00, 0xb8, 0x99, 0xb7, 0x01, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb7,
+  0x00, 0x48, 0x66, 0x48, 0x01, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x49, 0x67, 0x48, 0xff, 0xb7, 0x9a, 0xb8,
+  0x00, 0x49, 0x66, 0x49, 0xff, 0xb7, 0x99, 0xb7, 0x00, 0x49, 0x67, 0x49,
+  0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb7,
+  0x00, 0x49, 0x67, 0x49, 0x00, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x48,
+  0x00, 0xb7, 0x9a, 0xb8, 0xff, 0x49, 0x66, 0x48, 0x01, 0xb8, 0x99, 0xb7,
+  0x01, 0x48, 0x67, 0x49, 0x00, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x66, 0x48,
+  0x00, 0xb8, 0x9a, 0xb7, 0x01, 0x49, 0x67, 0x48, 0xff, 0xb7, 0x99, 0xb8,
+  0x00, 0x49, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb8, 0x01, 0x48, 0x66, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0xff, 0x48, 0x66, 0x49, 0x01, 0xb8, 0x9a, 0xb8,
+  0x00, 0x49, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb7, 0x00, 0x49, 0x67, 0x48,
+  0x00, 0xb7, 0x9a, 0xb7, 0x00, 0x49, 0x66, 0x48, 0x00, 0xb7, 0x99, 0xb8,
+  0x00, 0x48, 0x66, 0x49, 0x01, 0xb7, 0x9a, 0xb7, 0x00, 0x49, 0x66, 0x49,
+  0xff, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x49, 0x01, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb7, 0x99, 0xb8, 0x01, 0x49, 0x66, 0x48, 0xff, 0xb7, 0x99, 0xb8,
+  0x00, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb7, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x49, 0x00, 0xb7, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x48,
+  0x01, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x49, 0x00, 0xb7, 0x99, 0xb8,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x48,
+  0x00, 0xb7, 0x9a, 0xb8, 0xff, 0x48, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb8,
+  0xff, 0x49, 0x67, 0x48, 0x01, 0xb8, 0x99, 0xb8, 0x01, 0x49, 0x66, 0x49,
+  0x00, 0xb8, 0x9a, 0xb8, 0x01, 0x48, 0x67, 0x49, 0x01, 0xb7, 0x99, 0xb8,
+  0x00, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x67, 0x48,
+  0x00, 0xb8, 0x9a, 0xb7, 0xff, 0x49, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x49, 0x66, 0x49, 0x00, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x49,
+  0x01, 0xb7, 0x9a, 0xb7, 0xff, 0x49, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb8,
+  0x00, 0x48, 0x67, 0x49, 0x01, 0xb8, 0x9a, 0xb7, 0x01, 0x48, 0x66, 0x48,
+  0x00, 0xb7, 0x9a, 0xb8, 0xff, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb8,
+  0xff, 0x49, 0x66, 0x49, 0x00, 0xb7, 0x99, 0xb8, 0xff, 0x48, 0x67, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x49, 0x00, 0xb8, 0x99, 0xb7,
+  0x00, 0x49, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x48,
+  0x01, 0xb7, 0x99, 0xb8, 0x00, 0x49, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb7,
+  0xff, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb7, 0x99, 0xb7, 0x00, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb8,
+  0x00, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb8, 0xff, 0x48, 0x67, 0x49,
+  0x00, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb7,
+  0x00, 0x49, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb8, 0x01, 0x49, 0x67, 0x49,
+  0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x49, 0xff, 0xb8, 0x99, 0xb8,
+  0x00, 0x49, 0x67, 0x49, 0x00, 0xb7, 0x9a, 0xb7, 0xff, 0x49, 0x67, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x49, 0x00, 0xb7, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x47,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb7,
+  0x00, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x48,
+  0xff, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb8,
+  0x01, 0x47, 0x66, 0x49, 0x00, 0xb7, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x49,
+  0x01, 0xb8, 0x9a, 0xb7, 0xff, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb8,
+  0x00, 0x48, 0x66, 0x49, 0x01, 0xb7, 0x9a, 0xb8, 0xff, 0x48, 0x66, 0x49,
+  0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb7,
+  0x00, 0x49, 0x66, 0x49, 0x01, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x67, 0x49,
+  0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x49, 0x01, 0xb8, 0x99, 0xb7,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x67, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48, 0x01, 0xb8, 0x9a, 0xb8,
+  0x00, 0x49, 0x66, 0x48, 0x00, 0xb7, 0x99, 0xb7, 0x00, 0x49, 0x67, 0x48,
+  0x00, 0xb8, 0x9a, 0xb7, 0xff, 0x48, 0x67, 0x49, 0x00, 0xb7, 0x9a, 0xb8,
+  0x00, 0x48, 0x67, 0x48, 0xff, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x49,
+  0x00, 0xb7, 0x9a, 0xb8, 0xff, 0x49, 0x66, 0x49, 0x01, 0xb8, 0x99, 0xb7,
+  0x00, 0x48, 0x67, 0x49, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x49,
+  0x00, 0xb8, 0x99, 0xb8, 0xff, 0x49, 0x67, 0x49, 0x01, 0xb7, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb7, 0x9a, 0xb7, 0x00, 0x48, 0x67, 0x48,
+  0x01, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x49, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x67, 0x49, 0x00, 0xb8, 0x9a, 0xb7, 0x01, 0x49, 0x67, 0x49,
+  0x00, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x99, 0xb7,
+  0x00, 0x48, 0x67, 0x48, 0x00, 0xb7, 0x99, 0xb8, 0xff, 0x48, 0x67, 0x49,
+  0x00, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x67, 0x49, 0x00, 0xb8, 0x9a, 0xb7,
+  0x00, 0x49, 0x66, 0x49, 0x00, 0xb7, 0x99, 0xb7, 0x00, 0x49, 0x66, 0x48,
+  0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x49, 0xff, 0xb8, 0x9a, 0xb7,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb7, 0x99, 0xb7, 0x00, 0x48, 0x67, 0x49,
+  0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x48, 0x00, 0xb7, 0x99, 0xb7,
+  0x00, 0x49, 0x66, 0x49, 0x01, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x48,
+  0xff, 0xb8, 0x9a, 0xb7, 0x00, 0x49, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb8,
+  0x00, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x48, 0x01, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x49, 0xff, 0xb7, 0x99, 0xb8, 0x00, 0x49, 0x67, 0x49,
+  0x01, 0xb8, 0x99, 0xb7, 0x01, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb7,
+  0x00, 0x48, 0x67, 0x49, 0x00, 0xb7, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x49, 0x00, 0xb8, 0x9a, 0xb7,
+  0x01, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb8, 0x01, 0x48, 0x66, 0x48,
+  0x01, 0xb7, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x48, 0xff, 0xb7, 0x9a, 0xb8,
+  0x00, 0x48, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb7, 0x00, 0x49, 0x66, 0x49,
+  0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x49, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb7,
+  0xff, 0x48, 0x67, 0x49, 0x00, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x49, 0x01, 0xb7, 0x9a, 0xb7,
+  0x00, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x67, 0x49,
+  0x00, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb7,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x49,
+  0x00, 0xb9, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x49, 0x00, 0xb7, 0x9a, 0xb7,
+  0x00, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x67, 0x48,
+  0x00, 0xb7, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb7,
+  0x00, 0x49, 0x67, 0x48, 0x01, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8,
+  0xff, 0x48, 0x66, 0x48, 0xff, 0xb8, 0x9a, 0xb8, 0x01, 0x49, 0x66, 0x48,
+  0xff, 0xb7, 0x99, 0xb8, 0x01, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb7,
+  0x00, 0x48, 0x66, 0x49, 0xff, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48, 0x01, 0xb7, 0x99, 0xb8,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb8, 0xff, 0x49, 0x67, 0x49,
+  0x00, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb8,
+  0xff, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x48,
+  0x00, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x49, 0x00, 0xb7, 0x99, 0xb8,
+  0x01, 0x48, 0x67, 0x49, 0xff, 0xb8, 0x9a, 0xb7, 0x00, 0x49, 0x66, 0x49,
+  0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x67, 0x48, 0x00, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x49,
+  0x00, 0xb7, 0x9b, 0xb7, 0x00, 0x49, 0x66, 0x49, 0x00, 0xb7, 0x9a, 0xb7,
+  0x01, 0x49, 0x66, 0x49, 0xff, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x67, 0x48,
+  0x00, 0xb7, 0x9a, 0xb7, 0x01, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb7,
+  0x00, 0x49, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb7, 0x01, 0x48, 0x67, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x67, 0x48, 0x00, 0xb8, 0x99, 0xb7,
+  0x00, 0x49, 0x66, 0x49, 0x00, 0xb7, 0x99, 0xb8, 0x01, 0x49, 0x66, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x48, 0xff, 0xb8, 0x9a, 0xb7,
+  0x00, 0x49, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb7, 0x00, 0x49, 0x66, 0x48,
+  0x00, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x49, 0x01, 0xb7, 0x99, 0xb7,
+  0x00, 0x48, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x49,
+  0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb7, 0x00, 0x49, 0x66, 0x48,
+  0x00, 0xb7, 0x99, 0xb8, 0x00, 0x49, 0x66, 0x49, 0xff, 0xb8, 0x99, 0xb7,
+  0xff, 0x49, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb8, 0x01, 0x49, 0x67, 0x48,
+  0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb8,
+  0x00, 0x49, 0x66, 0x49, 0x00, 0xb7, 0x99, 0xb8, 0xff, 0x49, 0x66, 0x48,
+  0x01, 0xb8, 0x9a, 0xb7, 0x01, 0x49, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb7,
+  0x00, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x67, 0x48, 0xff, 0xb7, 0x9a, 0xb8,
+  0x00, 0x49, 0x66, 0x49, 0x00, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x67, 0x48,
+  0xff, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x67, 0x48, 0x00, 0xb8, 0x99, 0xb7,
+  0x00, 0x48, 0x67, 0x49, 0xff, 0xb7, 0x99, 0xb8, 0x01, 0x49, 0x66, 0x49,
+  0xff, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x49, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb8, 0xff, 0x48, 0x67, 0x48,
+  0x00, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb8,
+  0x01, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x49, 0x66, 0x49,
+  0x00, 0xb7, 0x99, 0xb8, 0x00, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x48,
+  0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x49, 0x00, 0xb7, 0x99, 0xb7,
+  0x01, 0x49, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48,
+  0xff, 0xb7, 0x99, 0xb8, 0x01, 0x49, 0x67, 0x49, 0x00, 0xb8, 0x99, 0xb7,
+  0x00, 0x49, 0x66, 0x48, 0xff, 0xb7, 0x99, 0xb7, 0x00, 0x48, 0x67, 0x49,
+  0x00, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x49, 0xff, 0xb7, 0x9a, 0xb8,
+  0xff, 0x49, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x49, 0x67, 0x48,
+  0x00, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb7,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9b, 0xb7, 0x00, 0x49, 0x66, 0x48,
+  0x01, 0xb7, 0x9a, 0xb8, 0xff, 0x49, 0x66, 0x48, 0x01, 0xb8, 0x9a, 0xb7,
+  0x01, 0x49, 0x67, 0x48, 0x01, 0xb7, 0x9a, 0xb7, 0xff, 0x48, 0x67, 0x49,
+  0x00, 0xb7, 0x99, 0xb8, 0x00, 0x49, 0x66, 0x49, 0x00, 0xb8, 0x99, 0xb7,
+  0x01, 0x48, 0x67, 0x48, 0x01, 0xb8, 0x9a, 0xb7, 0x00, 0x49, 0x67, 0x48,
+  0xff, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x49, 0x66, 0x48, 0x00, 0xb7, 0x99, 0xb7, 0x00, 0x49, 0x66, 0x49,
+  0x01, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x49, 0x00, 0xb8, 0x9a, 0xb7,
+  0x00, 0x49, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x67, 0x49,
+  0x00, 0xb8, 0x9a, 0xb8, 0xff, 0x49, 0x67, 0x48, 0x00, 0xb8, 0x99, 0xb7,
+  0x00, 0x48, 0x67, 0x49, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x49,
+  0x01, 0xb8, 0x99, 0xb7, 0xff, 0x48, 0x67, 0x48, 0x01, 0xb8, 0x99, 0xb7,
+  0xff, 0x48, 0x66, 0x49, 0x01, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x49, 0x00, 0xb8, 0x9a, 0xb7,
+  0x00, 0x49, 0x67, 0x48, 0xff, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x67, 0x49,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x49, 0x00, 0xb8, 0x99, 0xb8,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x48,
+  0x00, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb7,
+  0x00, 0x49, 0x67, 0x48, 0xff, 0xb8, 0x99, 0xb7, 0xff, 0x48, 0x66, 0x49,
+  0xff, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb7,
+  0x00, 0x49, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb8, 0xff, 0x49, 0x67, 0x48,
+  0x01, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x99, 0xb8,
+  0x00, 0x49, 0x67, 0x49, 0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x48,
+  0xff, 0xb8, 0x9a, 0xb7, 0x00, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb8,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x99, 0xb7, 0xff, 0x48, 0x66, 0x48,
+  0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x49, 0xff, 0xb7, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x67, 0x48,
+  0x01, 0xb7, 0x99, 0xb8, 0xff, 0x48, 0x66, 0x48, 0xff, 0xb8, 0x9a, 0xb7,
+  0x00, 0x49, 0x67, 0x49, 0x00, 0xb7, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x49,
+  0x00, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x48, 0x01, 0xb7, 0x9a, 0xb8,
+  0x00, 0x48, 0x67, 0x48, 0xff, 0xb8, 0x9a, 0xb7, 0x00, 0x49, 0x67, 0x48,
+  0x00, 0xb7, 0x9a, 0xb8, 0x01, 0x48, 0x66, 0x48, 0x01, 0xb7, 0x99, 0xb8,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb8, 0x01, 0x48, 0x67, 0x49,
+  0xff, 0xb7, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x49, 0x00, 0xb7, 0x99, 0xb8,
+  0x00, 0x49, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x49, 0x67, 0x49,
+  0x01, 0xb8, 0x99, 0xb7, 0x00, 0x49, 0x66, 0x49, 0x01, 0xb7, 0x9a, 0xb8,
+  0x00, 0x49, 0x67, 0x48, 0x01, 0xb7, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x47,
+  0x00, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x49, 0xff, 0xb8, 0x99, 0xb8,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x49,
+  0x00, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x99, 0xb7,
+  0x00, 0x49, 0x66, 0x48, 0xff, 0xb8, 0x9a, 0xb7, 0xff, 0x49, 0x67, 0x48,
+  0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x67, 0x49, 0x00, 0xb8, 0x99, 0xb8,
+  0x00, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x49, 0x67, 0x49,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x49, 0x67, 0x48,
+  0x00, 0xb7, 0x99, 0xb7, 0x00, 0x49, 0x67, 0x49, 0x01, 0xb7, 0x9a, 0xb8,
+  0x00, 0x49, 0x66, 0x48, 0x01, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x49,
+  0x00, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x48, 0xff, 0xb8, 0x99, 0xb8,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x48,
+  0x00, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x67, 0x48, 0x00, 0xb7, 0x99, 0xb8,
+  0x00, 0x49, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x48,
+  0x00, 0xb7, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb8,
+  0x01, 0x49, 0x66, 0x48, 0x00, 0xb7, 0x99, 0xb8, 0x00, 0x49, 0x66, 0x48,
+  0x00, 0xb7, 0x9a, 0xb9, 0xff, 0x48, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb8, 0x01, 0x48, 0x66, 0x49,
+  0x00, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x66, 0x49, 0x00, 0xb7, 0x99, 0xb7,
+  0x00, 0x49, 0x66, 0x49, 0xff, 0xb7, 0x99, 0xb8, 0x00, 0x49, 0x66, 0x49,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb7,
+  0x00, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb8,
+  0x00, 0x49, 0x67, 0x49, 0x00, 0xb7, 0x99, 0xb8, 0x00, 0x49, 0x66, 0x48,
+  0x00, 0xb7, 0x9a, 0xb7, 0xff, 0x49, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb8,
+  0x00, 0x48, 0x67, 0x48, 0x01, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x49,
+  0xff, 0xb7, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x67, 0x48,
+  0x00, 0xb7, 0x9a, 0xb7, 0x00, 0x48, 0x67, 0x48, 0x01, 0xb8, 0x99, 0xb7,
+  0x00, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x48,
+  0x00, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x49, 0x00, 0xb8, 0x99, 0xb8,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb8, 0xff, 0x48, 0x67, 0x48,
+  0x00, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x67, 0x48, 0x00, 0xb7, 0x99, 0xb8,
+  0x00, 0x48, 0x67, 0x48, 0xff, 0xb7, 0x99, 0xb8, 0xff, 0x49, 0x67, 0x48,
+  0xff, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x48,
+  0xff, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x99, 0xb7,
+  0x00, 0x49, 0x66, 0x49, 0xff, 0xb8, 0x99, 0xb8, 0x01, 0x48, 0x66, 0x49,
+  0x00, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x49, 0x00, 0xb8, 0x99, 0xb7,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x99, 0xb7, 0x00, 0x49, 0x66, 0x49,
+  0x00, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb7,
+  0x00, 0x49, 0x67, 0x48, 0xff, 0xb7, 0x99, 0xb8, 0xff, 0x48, 0x67, 0x48,
+  0x00, 0xb8, 0x99, 0xb7, 0x00, 0x49, 0x66, 0x49, 0x00, 0xb7, 0x99, 0xb8,
+  0x00, 0x48, 0x67, 0x49, 0x00, 0xb7, 0x9a, 0xb7, 0x01, 0x48, 0x67, 0x49,
+  0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb8, 0xff, 0x48, 0x67, 0x48,
+  0xff, 0xb7, 0x99, 0xb7, 0x00, 0x49, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb8,
+  0x00, 0x48, 0x67, 0x48, 0x00, 0xb7, 0x99, 0xb7, 0x00, 0x49, 0x67, 0x48,
+  0xff, 0xb7, 0x9a, 0xb7, 0x00, 0x49, 0x66, 0x49, 0x00, 0xb8, 0x99, 0xb8,
+  0x00, 0x49, 0x66, 0x49, 0x01, 0xb7, 0x9a, 0xb7, 0x01, 0x48, 0x66, 0x49,
+  0x00, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb8,
+  0x00, 0x49, 0x67, 0x48, 0x00, 0xb7, 0x9a, 0xb7, 0xff, 0x48, 0x66, 0x49,
+  0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x48, 0x00, 0xb7, 0x99, 0xb8,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x48,
+  0x00, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x49, 0x00, 0xb7, 0x9a, 0xb8,
+  0x00, 0x49, 0x66, 0x48, 0xff, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x67, 0x48,
+  0x00, 0xb7, 0x9a, 0xb8, 0x00, 0x48, 0x67, 0x49, 0x00, 0xb8, 0x99, 0xb7,
+  0x00, 0x49, 0x67, 0x49, 0xff, 0xb8, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb7,
+  0x01, 0x49, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x48, 0x66, 0x49,
+  0x00, 0xb7, 0x9a, 0xb7, 0x00, 0x49, 0x67, 0x49, 0x00, 0xb7, 0x99, 0xb7,
+  0x01, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb8, 0x01, 0x48, 0x67, 0x48,
+  0xff, 0xb7, 0x99, 0xb8, 0x00, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x67, 0x48,
+  0x01, 0xb8, 0x99, 0xb7, 0x01, 0x49, 0x67, 0x49, 0x00, 0xb8, 0x9a, 0xb8,
+  0x00, 0x48, 0x66, 0x48, 0x01, 0xb8, 0x9a, 0xb7, 0x00, 0x48, 0x67, 0x49,
+  0x01, 0xb7, 0x9a, 0xb7, 0x00, 0x49, 0x66, 0x49, 0xff, 0xb8, 0x9a, 0xb7,
+  0x00, 0x48, 0x66, 0x49, 0x00, 0xb8, 0x9a, 0xb8, 0xff, 0x48, 0x67, 0x49,
+  0x01, 0xb8, 0x9a, 0xb8, 0xff, 0x48, 0x66, 0x49, 0xff, 0xb7, 0x99, 0xb7,
+  0x00, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x99, 0xb8, 0x00, 0x49, 0x67, 0x48,
+  0x00, 0xb8, 0x9a, 0xb8, 0x00, 0x49, 0x67, 0x48, 0xff, 0xb7, 0x9a, 0xb8,
+  0x00, 0x48, 0x67, 0x48, 0x00, 0xb8, 0x99, 0xb7, 0x00, 0x48, 0x67, 0x48,
+  0x01, 0xb7, 0x99, 0xb7, 0x01, 0x48, 0x66, 0x48, 0x00, 0xb8, 0x9a, 0xb7,
+  0x00, 0x49, 0x67, 0x49, 0x00, 0xb7, 0x99, 0xb7
+};
+unsigned int __1khz_1sec_s8_len = 8000;
--- a/Multi_WS2811.lib	Mon Jun 15 07:24:39 2015 -0700
+++ b/Multi_WS2811.lib	Fri Jun 10 08:56:46 2016 -0700
@@ -1,1 +1,1 @@
-http://mbed.org/users/bikeNomad/code/Multi_WS2811/#df4319053bfa
+http://mbed.org/users/bikeNomad/code/Multi_WS2811/#2c3b76ea0b40
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/audio.cpp	Fri Jun 10 08:56:46 2016 -0700
@@ -0,0 +1,56 @@
+#include "mbed.h"
+#include "audio.h"
+
+namespace NKAudio
+{
+
+AnalogOut speaker(AUDIO_DAC_PIN);
+Ticker sampleTicker;
+
+// audio samples
+// class static
+int8_t const * volatile AudioPlayer::nextSample;
+
+// class static
+uint16_t volatile AudioPlayer::samplesRemaining;
+
+// interrupt handler
+// class static
+void AudioPlayer::playAudioSample()
+{
+    static uint16_t dcBias = DC_BIAS;
+    if (samplesRemaining)
+    {
+        int8_t val     = *nextSample++;
+        uint16_t val16 = dcBias + (val * 256);
+        speaker.write_u16(val16);
+        samplesRemaining--;
+    }
+    else
+    {
+        sampleTicker.detach();
+        speaker.write_u16(dcBias);
+    }
+}
+
+bool AudioPlayer::playAudio(int8_t const *start, uint16_t nsamples, AudioCallback cb)
+{
+    if (!audioDone())
+    {
+        return false;
+    }
+    nextSample       = start;
+    samplesRemaining = nsamples;
+    sampleTicker.attach_us(&playAudioSample, SAMPLE_PERIOD_US);
+    while (samplesRemaining)
+    {
+        if (cb != NULL)
+        {
+            cb();
+        }
+        wait_us(AUDIO_WAIT_DURATION_US);
+    }
+    return true;
+}
+
+} // namespace NKAudio
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/audio.h	Fri Jun 10 08:56:46 2016 -0700
@@ -0,0 +1,67 @@
+#ifndef __included_audio_h
+#define __included_audio_h
+
+#include <stdint.h>
+
+#ifndef AUDIO_DAC_PIN
+#define AUDIO_DAC_PIN PTE30          // J10/11 on FRDM-KL25Z
+#endif
+
+namespace NKAudio
+{
+
+struct AudioFile
+{
+    const unsigned char *data;
+    unsigned int length;
+};
+
+extern const AudioFile audioFiles[];
+
+// Analog:
+// GND   J3/14
+// VrefH J3/16
+// output J10/11, PTE30
+
+const unsigned SAMPLE_RATE_HZ         = 8000;
+const unsigned SAMPLE_PERIOD_US       = (1000000U / SAMPLE_RATE_HZ);
+const unsigned SAMPLE_BUFFER_SIZE     = 14000;
+const unsigned AUDIO_WAIT_DURATION_US = 10000;
+const uint16_t DC_BIAS                = 0x8000;
+
+typedef void (*AudioCallback)();
+
+class AudioPlayer
+{
+public:
+    static unsigned numberOfFiles()
+    {
+        static unsigned nFiles;
+        if (!nFiles) {  // count files first time
+            for (AudioFile const *p = audioFiles; p->data != NULL; p++) {
+                nFiles++;
+            }
+        } else {
+            return nFiles;
+        }
+    }
+
+    static bool playFileNumbered(unsigned n, AudioCallback cb = NULL)
+    {
+        n %= numberOfFiles();
+        return playAudio(reinterpret_cast<int8_t const * const>(audioFiles[n].data), audioFiles[n].length, cb);
+    }
+
+    static bool playAudio(int8_t const *start, uint16_t nsamples, AudioCallback cb = 0);
+
+    static bool audioDone() { return !samplesRemaining; }
+
+private:
+    static void playAudioSample();
+    static int8_t const * volatile nextSample;
+    static uint16_t volatile samplesRemaining;
+};
+
+} // namespace NKAudio
+
+#endif
--- a/main.cpp	Mon Jun 15 07:24:39 2015 -0700
+++ b/main.cpp	Fri Jun 10 08:56:46 2016 -0700
@@ -7,11 +7,22 @@
 #define INSTANTIATE_TEMPLATES 1
 #include "WS2811.h"
 
+#include "audio.h"
+using namespace NKAudio;
+
+#include "1khz_1sec.h"
+
+AudioFile audioFiles[] = {
+    { __1khz_1sec_s8, __1khz_1sec_s8_len },
+    { 0, 0 } // mark end
+};
+
 // I/O pin usage
 // PTD2 (D11) data output for strip# 1
 // PTD3 (D12) data output for strip# 2
-// PTA2 (D3) blinking eyes output (HI = ON)
-// PTA5 (D5) servomotor (20 msec period; 1.0-2.0msec ON)
+// PTA12 (D3) servomotor (20 msec period; 1.0-2.0msec ON)
+// PTA5 (D5) blinking eyes output (HI = ON)
+// PTE30
 
 const unsigned DATA_OUT_PIN1 = 2; // PTD2
 const unsigned DATA_OUT_PIN2 = 3; // PTD3
@@ -37,18 +48,12 @@
 static MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS);
 
 // RGB LED on FRDM board
-static DigitalOut rled(LED_RED);       // max = 0.0
-static DigitalOut gled(LED_GREEN);     // max = 0.0
+static DigitalOut rled(LED_RED);       // PTB18 max = 0.0
+static DigitalOut gled(LED_GREEN);     // PTB19 max = 0.0
 // LED_BLUE is on PTD1
 
-// D0, D1 are out. D3-D7 are OK
-// D4 doesn't work.
-// D5 is original.
-// D6 doesn't work.
-// D7 doesn't work.
-// D3 works for eyes.
-static PwmOut servo(D3);    // PTA5
-static DigitalOut eyes(D5);     // PTA2       also redLED1; max = 1.0
+static PwmOut servo(D3);    // PTA12
+static DigitalOut eyes(D5);     // PTA5
 
 // static DigitalOut greenLED2(D4);   // max = 1.0
 static DigitalIn button1(D6);      // low=ON, debounced
@@ -62,33 +67,8 @@
 // const float minFlapTime = (maxServo - minServo) * 0.17; // 0.17 seconds / 60° at 4.8V
 const float minFlapTime = 0.5;
 const float maxFlapTime = 1.0;
-
-// Globals
-// test run was about 6 meters in about 5 seconds, for
-// a final velocity of 2.4m/s, and a uniform acceleration of 0.48 m/s^2
-// or about 0.048g
-static float restZAccel;    // in m/s^2 1g = 9.8 m/s^2
-static float currentZAccel;  // in m/s^2 
-static float currentSpeed;  // in m/s
-
-const float speedUpdateInterval = 0.1;
-static Ticker speedUpdateTicker;
-
-static float wingFlapTime = maxFlapTime;
-
-// we have to know delta T to compute speed.
-// So this is called at speedUpdateInterval seconds intervals.
-static void updateSpeedAndAcceleration()
-{
-    currentZAccel = acc.getAccZ() * 9.8;
-    currentSpeed += (currentZAccel - restZAccel) * speedUpdateInterval;
-}
-
-static void resetSpeedAndAcceleration()
-{
-    restZAccel   = currentZAccel;
-    currentSpeed = 0.0;
-}
+float currentPosition = 1.0;
+float currentSpeed = 1.0;
 
 // @brief sets different colors in each of the LEDs of a strip
 // @param strip the light strip
@@ -112,8 +92,7 @@
         last = nLEDs;
     }
 
-    for (int i = first; i != last; i += direction)
-    {
+    for (int i = first; i != last; i += direction) {
         uint8_t r, g, b;
         float hue = (i * hueRange / nLEDs) + hueShift;
         HSBtoRGB(hue, sat, brite, &r, &g, &b);
@@ -128,8 +107,7 @@
 static void showSolidColor(MyWS2811 &strip, uint8_t r, uint8_t g, uint8_t b)
 {
     unsigned nLEDs = strip.numPixels();
-    for (unsigned i = 0; i < nLEDs; i++)
-    {
+    for (unsigned i = 0; i < nLEDs; i++) {
         strip.setPixelColor(i, r, g, b);
     }
     strip.show();
@@ -146,18 +124,22 @@
     if (pos < 0.0) {
         rled = 0;
         gled = 1;
-    }
-    else if (pos > 0.0) {
+    } else if (pos > 0.0) {
         rled = 1;
         gled = 0;
-    }
-    else {
+    } else {
         rled = gled = 1;
     }
 
     servo.pulsewidth_us((1.5 + (pos / 2.0)) * 1000.0);
 }
 
+void flap()
+{
+    positionServo(currentPosition);
+    currentPosition = -currentPosition;
+}
+
 static void selfTestServo()
 {
     pc.printf("Servo:\r\n");
@@ -208,8 +190,7 @@
     blankLightStrips();
     pc.printf("light strips");
     uint8_t rgb[4] = { (uint8_t)(255 * maxBrite), 0, 0, 0 };
-    for (int i = 0; i < 3; i++)
-    {
+    for (int i = 0; i < 3; i++) {
         showSolidColor(lightStrip1, rgb[0], rgb[1], rgb[2]);
         showSolidColor(lightStrip2, rgb[1], rgb[2], rgb[0]);
         refreshLightStrips();
@@ -231,6 +212,8 @@
     selfTestLightStrips();
     selfTestServo();
     selfTestLEDs();
+    
+    pc.printf("done\n");
 }
 
 // rainbow that wraps around entire frame
@@ -245,21 +228,11 @@
     skip %= 3;
 }
 
-static float currentPosition = 0.0;
-
-void setWingFlapTime(float desired)
+void updateEyes()
 {
-    static float lastWingFlapTime = 0.0;
-    if (desired < minFlapTime)
-        desired = minFlapTime;
-    else if (desired > maxFlapTime)
-        desired = maxFlapTime;
-    wingFlapTime = desired;
-
-    if (lastWingFlapTime != wingFlapTime)
-    {
-        lastWingFlapTime = wingFlapTime;
-    }
+    static bool eyesOn;
+    eyes = eyesOn ? 1 : 0;
+    eyesOn = !eyesOn;
 }
 
 int main(void)
@@ -272,67 +245,41 @@
 
     rled      = 1.0;
     gled      = 1.0;
-//    greenLED2 = 0.0;
     servo.period_ms(20);
 
     selfTest();
 
-    resetSpeedAndAcceleration();
-    speedUpdateTicker.attach(updateSpeedAndAcceleration, speedUpdateInterval);
+    Timer elapsedTime;
 
-    Timer elapsedTime;
+    Ticker flapper;
+    flapper.attach(flap, maxFlapTime);
+    
+    Ticker stripUpdater;
+    stripUpdater.attach(updateStripsRainbow, 0.3);
+
+    Ticker eyeUpdater;
+    eyeUpdater.attach(updateEyes, 0.2);
+    
     elapsedTime.start();
-    float nextWingUpdate = elapsedTime.read();
-    float nextStripUpdate = nextWingUpdate;
-    float nextEyeUpdate = nextWingUpdate;
-    currentPosition = -1.0;
 
-    float stripUpdateTime = 0.3;
-    float eyeUpdateTime = 0.3;
-    bool eyesOn = true;
+    bool lastButton = button1.read();
 
-    float lastCurrentSpeed = 0.0;
-    for (;; )
-    {
-        float relativeAccel = fabs(currentZAccel - restZAccel);
-        if ((relativeAccel < 1.0) || !button1.read())
-        {
-            resetSpeedAndAcceleration();
-            setWingFlapTime(maxFlapTime);
-            stripUpdateTime = 0.3;
-        }
-        else
-        {
-            setWingFlapTime(minFlapTime);
-            stripUpdateTime = 0.1;
+    for (;; ) {
+        bool buttonValue = button1.read();
+        if (buttonValue != lastButton) {
+            if (!buttonValue) {
+                flapper.detach();
+                flapper.attach(flap, maxFlapTime);
+                stripUpdater.detach();
+                stripUpdater.attach(updateStripsRainbow, 0.3);
+            } else {
+                flapper.detach();
+                flapper.attach(flap, minFlapTime);
+                stripUpdater.detach();
+                stripUpdater.attach(updateStripsRainbow, 0.1);
+            }
         }
 
-        if (lastCurrentSpeed != currentSpeed)
-        {
-            lastCurrentSpeed = currentSpeed;
-            pc.printf("%f %f %f\r\n", relativeAccel, currentSpeed, wingFlapTime);
-        }
-
-        float now = elapsedTime.read();
-
-        if (now >= nextWingUpdate) {
-            positionServo(currentPosition);
-            currentPosition = -currentPosition;
-            nextWingUpdate = now + wingFlapTime;
-        }
-
-        if (now >= nextStripUpdate) {
-            updateStripsRainbow();
-            nextStripUpdate = now + stripUpdateTime;
-        }
-
-        if (now >= nextEyeUpdate) {
-            if (eyesOn) eyes = 1;
-            else eyes = 0;
-            eyesOn = !eyesOn;
-            nextEyeUpdate = now + eyeUpdateTime;
-        }
-
-        wait(0.05);
+        wait(0.1);
     }
 }
--- a/mbed.bld	Mon Jun 15 07:24:39 2015 -0700
+++ b/mbed.bld	Fri Jun 10 08:56:46 2016 -0700
@@ -1,1 +1,1 @@
-http://mbed.org/users/mbed_official/code/mbed/builds/7cff1c4259d7
\ No newline at end of file
+http://mbed.org/users/mbed_official/code/mbed/builds/6c34061e7c34
\ No newline at end of file