commit d67c35b7103b80da323f3ff8874b55eb8cd0fc66
parent ccf7a28e6cbed9cf79e6fe2adb72feedea25b9ce
Author: fundamental <mark.d.mccurry@gmail.com>
Date: Sat, 30 May 2015 13:06:50 -0400
UI: Color Icon Support
Diffstat:
5 files changed, 315 insertions(+), 35 deletions(-)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
@@ -268,7 +268,7 @@ if(FltkGui)
set(GUI_LIBRARIES zynaddsubfx_gui ${FLTK_LIBRARIES} ${FLTK_LIBRARIES} ${OPENGL_LIBRARIES})
if(X11_FOUND)
- set(GUI_LIBRARIES ${GUI_LIBRARIES} ${X11_LIBRARIES})
+ set(GUI_LIBRARIES ${GUI_LIBRARIES} ${X11_LIBRARIES} -lXpm)
endif()
add_definitions(-DFLTK_GUI)
@@ -292,7 +292,7 @@ if(NtkGui)
set(GUI_LIBRARIES zynaddsubfx_gui ${NTK_LIBRARIES} ${NTK_IMAGES_LIBRARIES} ${OPENGL_LIBRARIES})
if(X11_FOUND)
- set(GUI_LIBRARIES ${GUI_LIBRARIES} ${X11_LIBRARIES})
+ set(GUI_LIBRARIES ${GUI_LIBRARIES} ${X11_LIBRARIES} -lXpm)
endif()
add_definitions(-DNTK_GUI)
diff --git a/src/UI/CMakeLists.txt b/src/UI/CMakeLists.txt
@@ -33,12 +33,18 @@ endif()
if(FltkGui)
add_executable(zynaddsubfx-ext-gui guimain.cpp)
target_link_libraries(zynaddsubfx-ext-gui zynaddsubfx_gui ${FLTK_LIBRARIES}
- ${FLTK_LIBRARIES} ${OPENGL_LIBRARIES} ${X11_LIBRARIES} ${LIBLO_LIBRARIES} rtosc rtosc-cpp)
+ ${FLTK_LIBRARIES} ${OPENGL_LIBRARIES} ${LIBLO_LIBRARIES} rtosc rtosc-cpp)
+ if(X11_FOUND)
+ target_link_libraries(zynaddsubfx-ext-gui ${X11_LIBRARIES} -lXpm)
+ endif()
install(TARGETS zynaddsubfx-ext-gui RUNTIME DESTINATION bin)
elseif(NtkGui)
add_executable(zynaddsubfx-ext-gui guimain.cpp)
target_link_libraries(zynaddsubfx-ext-gui zynaddsubfx_gui ${NTK_LDFLAGS}
- ${OPENGL_LIBRARIES} ${X11_LIBRARIES} ${LIBLO_LIBRARIES} rtosc rtosc-cpp)
+ ${OPENGL_LIBRARIES} ${LIBLO_LIBRARIES} rtosc rtosc-cpp)
+ if(X11_FOUND)
+ target_link_libraries(zynaddsubfx-ext-gui ${X11_LIBRARIES} -lXpm)
+ endif()
install(TARGETS zynaddsubfx-ext-gui RUNTIME DESTINATION bin)
endif()
diff --git a/src/UI/MasterUI.fl b/src/UI/MasterUI.fl
@@ -17,7 +17,7 @@ decl {\#include <stdio.h>} {public local
decl {\#include <string.h>} {public local
}
-decl {\#include "zynaddsubfx.xbm"} {private local
+decl {\#include "zynaddsubfx.xpm"} {private local
}
decl {\#include "WidgetPDial.h"} {public local
@@ -74,6 +74,11 @@ extern NSM_Client *nsm;
\#endif} {public local
}
+decl {\#if __linux__
+\#include <X11/xpm.h>
+\#endif} {public local
+}
+
decl {\#include "../globals.h"} {public local
}
@@ -1496,8 +1501,9 @@ make_window();
fl_open_display();
\#ifdef __linux__
-Pixmap p = XCreateBitmapFromData(fl_display, DefaultRootWindow(fl_display),
- (char*)zynaddsubfx_bits, zynaddsubfx_width, zynaddsubfx_height);
+Pixmap p, mask;
+XCreatePixmapFromData(fl_display, DefaultRootWindow(fl_display),
+ (char**)zynaddsubfx_xpm, &p, &mask, NULL);
masterwindow->icon((char *)p);
\#endif
assert(osc);
diff --git a/src/UI/zynaddsubfx.xbm b/src/UI/zynaddsubfx.xbm
@@ -1,28 +0,0 @@
-#define zynaddsubfx_width 48
-#define zynaddsubfx_height 48
-static unsigned char zynaddsubfx_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x20, 0x00, 0xC2, 0xB3,
- 0x00, 0x85, 0x11, 0x00, 0xED, 0xFF, 0x10, 0x0A, 0x00, 0x00, 0xC2, 0xF7,
- 0x4C, 0x52, 0x09, 0x08, 0xF0, 0xFF, 0x60, 0xA5, 0x26, 0x00, 0xF0, 0xFF,
- 0x94, 0x29, 0x3A, 0x08, 0xF8, 0xFF, 0x48, 0x52, 0x05, 0x04, 0xF8, 0xBF,
- 0x20, 0xAB, 0x01, 0xB4, 0xC0, 0xF7, 0x90, 0x64, 0x80, 0x68, 0xC0, 0xFF,
- 0x90, 0x90, 0x01, 0xA5, 0x60, 0xFF, 0x24, 0xAB, 0xC2, 0x5A, 0xE0, 0xFF,
- 0xC0, 0xFF, 0xE7, 0xFF, 0xE7, 0xFF, 0xF0, 0xFF, 0xF7, 0xFF, 0x6F, 0xBF,
- 0x00, 0x59, 0x80, 0xD7, 0xEA, 0xFF, 0x00, 0xA6, 0x50, 0xAB, 0x55, 0xF6,
- 0x00, 0x15, 0xA0, 0xAA, 0xEA, 0xFE, 0x00, 0x02, 0x50, 0x55, 0x65, 0xB6,
- 0x00, 0x1A, 0x60, 0x9A, 0xF7, 0xFF, 0x00, 0x15, 0xA0, 0xA5, 0x5A, 0xF6,
- 0x10, 0x00, 0x54, 0x5A, 0xE6, 0xF7, 0x00, 0x00, 0xA8, 0xAC, 0x79, 0xFE,
- 0x00, 0x00, 0x50, 0x57, 0xEA, 0xF7, 0x04, 0x00, 0xA8, 0xA8, 0x75, 0xEE,
- 0x00, 0xA3, 0xAA, 0xBF, 0xDB, 0xFF, 0x00, 0x80, 0x00, 0x00, 0x42, 0xFF,
- 0x30, 0x3C, 0xC0, 0xF7, 0xF0, 0xFE, 0x60, 0x3C, 0xC8, 0xF3, 0x44, 0xFF,
- 0xF0, 0x18, 0x90, 0x73, 0x40, 0xFE, 0xE0, 0x10, 0x01, 0x01, 0x7D, 0xFE,
- 0x40, 0xC0, 0x03, 0x01, 0xCE, 0xF7, 0x10, 0xC0, 0x3B, 0x01, 0x7F, 0xF7,
- 0x0E, 0x00, 0x3F, 0x02, 0x50, 0xFE, 0x2E, 0x00, 0xB8, 0x00, 0xC0, 0xE7,
- 0x4C, 0x02, 0x34, 0x02, 0x60, 0xF6, 0x08, 0x03, 0x38, 0x0E, 0xE0, 0xFF,
- 0x8C, 0x01, 0x0F, 0x0E, 0xFC, 0xF7, 0xCC, 0x00, 0x7F, 0x03, 0x7C, 0xFE,
- 0x5C, 0x00, 0x7F, 0x01, 0x70, 0xFF, 0x0C, 0x00, 0xBE, 0x00, 0xF0, 0xFF,
- 0xC4, 0x80, 0x21, 0xC2, 0x66, 0xF7, 0xD4, 0x70, 0x88, 0xEF, 0x61, 0xEE,
- 0xC4, 0xF0, 0x01, 0xCF, 0xDB, 0xF7, 0xD0, 0x34, 0x54, 0xA7, 0xE7, 0xFE,
- 0xC0, 0x39, 0x9C, 0x2B, 0xD9, 0xFF, 0x30, 0x7A, 0xC3, 0xB3, 0xF6, 0xFF,
- 0xF2, 0x3C, 0xCF, 0xFB, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- };
diff --git a/src/UI/zynaddsubfx.xpm b/src/UI/zynaddsubfx.xpm
@@ -0,0 +1,296 @@
+/* XPM */
+static const char *zynaddsubfx_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"48 48 242 2 ",
+" c #014A01570163",
+". c #0B280BD30C7E",
+"X c #0F0F10101212",
+"o c #11BC121213BE",
+"O c #17171E1E1717",
+"+ c #161617171919",
+"@ c #161618181999",
+"# c #19C41BC61DC8",
+"$ c #1E1E1E1E2020",
+"% c #20B622822545",
+"& c #25252F2F2626",
+"* c #24A426A62A2A",
+"= c #262628282C2C",
+"- c #28282A2A2D2D",
+"; c #252530302525",
+": c #282834342828",
+"> c #25252A2A3131",
+", c #29292C2C3030",
+"< c #2D2D30303333",
+"1 c #2E2E33333ABA",
+"2 c #31B133333636",
+"3 c #3389358B3939",
+"4 c #37373A3A3D3D",
+"5 c #39393B3B3DE8",
+"6 c #0D635D071AC5",
+"7 c #0DB866BC1C72",
+"8 c #0E5B6C051E38",
+"9 c #10106C4C1F1F",
+"0 c #0D0D731D1DC8",
+"q c #0D8D79C31E9F",
+"w c #17174F4F2222",
+"e c #181848482222",
+"r c #14145B5B2121",
+"t c #3AE349D53C3C",
+"y c #121264642020",
+"u c #10106D362020",
+"i c #35353C3C4646",
+"p c #3B3B3E3E4242",
+"a c #3D93414145F0",
+"s c #3E3E44044B4B",
+"d c #3D3D4A4A4B4B",
+"f c #3CBC454552D2",
+"g c #3F3F54D454D4",
+"h c #418A46464E1D",
+"j c #43F448484F2F",
+"k c #444455554545",
+"l c #44B949035067",
+"z c #4AF54EF95437",
+"x c #45454F4F5E5E",
+"c c #429E563151F6",
+"v c #4CCC52525555",
+"b c #44595A455421",
+"n c #48485ADA5386",
+"m c #5252555559AF",
+"M c #545458585E5E",
+"N c #446362BF5391",
+"B c #46E061475BC2",
+"V c #48F361B75EB4",
+"C c #545470705F5F",
+"Z c #505056566060",
+"A c #55555ADA62A2",
+"S c #59035D5D6439",
+"D c #56565E5E6868",
+"F c #484860606060",
+"G c #5D5D63636B6B",
+"H c #535369696A6A",
+"J c #54547BFB6565",
+"K c #5C5C64647070",
+"L c #5600640E7A7A",
+"P c #61A166266DAD",
+"I c #64646C6C6E6E",
+"U c #616167677070",
+"Y c #649D69F8728F",
+"T c #6B6B6E6E7474",
+"R c #66666E6E7A7A",
+"E c #69136F197923",
+"W c #636370F076F6",
+"Q c #6D6D71717777",
+"! c #69697A7A7575",
+"~ c #6472734A790D",
+"^ c #6CEC74D07CD8",
+"/ c #6EEE7A3A7C3C",
+"( c #71C776767CD2",
+") c #741B7CB77EFF",
+"_ c #03038A8A1616",
+"` c #030391911717",
+"' c #00009C9C1515",
+"] c #040492921818",
+"[ c #04AF9E481AC5",
+"{ c #0000A5251616",
+"} c #0404A6D11B1B",
+"| c #0049B3451962",
+" . c #0000BCAF1A1A",
+".. c #575785856969",
+"X. c #5945855D6B6B",
+"o. c #5EB68C2173FD",
+"O. c #5F5B84FA7C50",
+"+. c #5F5F88D1789D",
+"@. c #6D6D80807575",
+"#. c #60E98CA0760B",
+"$. c #6107856D7D91",
+"%. c #61A1899A7A17",
+"&. c #6A2A93D37EBE",
+"*. c #6E6E98987F7F",
+"=. c #5F5F7F7F8080",
+"-. c #656570708080",
+";. c #6A6A75758585",
+":. c #74347A8F81EC",
+">. c #79797E2882AD",
+",. c #76767E288A8A",
+"<. c #6B6B7D7D9A9A",
+"1. c #5F5F80E780B3",
+"2. c #612D81EC81BE",
+"3. c #696987878787",
+"4. c #67678C8C8080",
+"5. c #6AEA8E8E8484",
+"6. c #6DC38B358CE2",
+"7. c #7E28831184AF",
+"8. c #7BFB83438E2E",
+"9. c #6E6E95958282",
+"0. c #6F6F90908989",
+"q. c #74749C1C8504",
+"w. c #737391918D8D",
+"e. c #757599998989",
+"r. c #7D7D9F9F8A8A",
+"t. c #777782829292",
+"y. c #7C27850E92C9",
+"u. c #7DED8ACA9595",
+"i. c #7E7E8B8B9F9F",
+"p. c #757590909212",
+"a. c #7A7A97169414",
+"s. c #7F7F99999898",
+"d. c #7D7DA3A38C8C",
+"f. c #7E7E8C0CA222",
+"g. c #70708787ABAB",
+"h. c #76768C8CAFAF",
+"j. c #7B3B8E8EAD2C",
+"k. c #74D88EABB736",
+"l. c #79798E8EB1B1",
+"z. c #77219090B7B7",
+"x. c #7AC3916CB522",
+"c. c #77779090B8B8",
+"v. c #7C619443B94D",
+"b. c #82C287068CCC",
+"n. c #87478B8B8F0E",
+"m. c #89DF8C368F8F",
+"M. c #808087879494",
+"N. c #83468AE095C9",
+"B. c #8BB88EBB9347",
+"V. c #842E8DA29C1C",
+"C. c #89898F6F9898",
+"Z. c #858590909797",
+"A. c #8EE491589321",
+"S. c #8E8E98989292",
+"D. c #857191569898",
+"F. c #8DA992BC9A8C",
+"G. c #924396429C14",
+"H. c #950698989D9D",
+"J. c #999999999A9A",
+"K. c #8484A7A79393",
+"L. c #8A8AA4249F9F",
+"P. c #8C36ABAB9C46",
+"I. c #9090AFAF9E9E",
+"U. c #81E88F28A43D",
+"Y. c #842E90E6A5A5",
+"T. c #8C8C94D4A222",
+"R. c #88889F9FA1A1",
+"E. c #852F93E9AA54",
+"W. c #8B8B9918AD2C",
+"Q. c #9B9B9C9CA0A0",
+"!. c #94149E1EAC2C",
+"~. c #85859696B1B1",
+"^. c #85859898B6B6",
+"/. c #8B359BF1B55F",
+"(. c #811A96FDBA53",
+"). c #84C499E6BB21",
+"_. c #8B119E3FBC1A",
+"`. c #90909E9EB3B3",
+"'. c #8F8FA5A5A7A7",
+"]. c #8E8EAAAAA120",
+"[. c #9D9DA3A3A1A1",
+"{. c #9292A9A9A726",
+"}. c #9898A0A0ADAD",
+"|. c #9A9AAFAFAEAE",
+" X c #9595B1B1A4A4",
+".X c #9999B434A7A7",
+"XX c #9CF2B4B4AD57",
+"oX c #9F9FBBBBAAAA",
+"OX c #8E8EA0D9BD84",
+"+X c #9494A1A1B4B4",
+"@X c #9C1CA6A6B636",
+"#X c #9F1EA8A8B736",
+"$X c #947DA519BEBE",
+"%X c #9A1AA7A7BD3C",
+"&X c #9ADAA969BEBE",
+"*X c #A2A2A4A4A7A7",
+"=X c #A6A6ACACADAD",
+"-X c #ACACACACACAC",
+";X c #AEAEB0B0AFAF",
+":X c #A322AE2EBEBE",
+">X c #A2A2B7B7B2B2",
+",X c #A6A6BCBCB55F",
+"<X c #A969BEBEB736",
+"1X c #A7A7B8B8B9B9",
+"2X c #ADADBDBDBE3E",
+"3X c #B2B2B2B2B2B2",
+"4X c #BDBDBEBEBEBE",
+"5X c #A7A7C3C3B5B5",
+"6X c #AC8FC309BB65",
+"7X c #B25CC630BCBC",
+"8X c #B623C9A4BE50",
+"9X c #BB74CCCCBF30",
+"0X c #9CD8AB50C139",
+"qX c #A221AF04C26C",
+"wX c #A660B1C8C31F",
+"eX c #ABEBB5DCC484",
+"rX c #AFAFB8B8C56F",
+"tX c #B45EBC22C6E8",
+"yX c #B938BFBFC7C7",
+"uX c #BB3AC0C0C7C7",
+"iX c #B64FCAFDC127",
+"pX c #BB54CE1AC42A",
+"aX c #BDBDC2C2C8C8",
+"sX c #BABAC8C8C8C8",
+"dX c #BEE3D1ACC557",
+"fX c #C16BD3A8C5DA",
+"gX c #C46ED454CC21",
+"hX c #CACAD680D37D",
+"jX c #CECEDC5CD454",
+"kX c #D352DBDBDB5A",
+"lX c #CACAE9E9CDCD",
+"zX c #DD0FE44AE27B",
+"xX c #E136E690E63B",
+"cX c #E48EEA94E7E7",
+"vX c #E6E6EBB8EA83",
+"bX c #EA50EE87ECEC",
+"nX c #EDEDF0F0EFEF",
+"mX c #EF44F247F146",
+"MX c #F55BF6A9F628",
+"NX c #F7F7F8F8F8F8",
+"BX c #FA74FA95FA7F",
+"VX c None",
+/* pixels */
+"lXgXfXfXfXfXfXfXfXfXfXfXfXfXdXdXdXfXpXfXpXpXpXpXpX9XpXpX8X8XiX7XiXiXiX6XiX6X6X6XiX6XiX5X6X<X6XVX",
+"fXJ.m.b.7.b.b.@.b.b.@.b.7.7.7.7.@.b.>.>.>.>.>.>.) >.:.:.:.:.:.:.:.;.;.^ ;.C.:.Y K Y R K Y ^ y.k ",
+"9XG.J o.#.#.#.#.%.%.#.%.@.%.%.%.%.$.$.$.$.4.$.$.$.a.gXbXzX6X3.;.1.1.=.=.O.~ v % % % e y r j y.t ",
+"9XA.X.#.#.#.#.#.#.#.%.%.%.%.%.%.%.%.$.%.$.$.$.$.{.MXNXkXcXBXzXp.<.=.=.3.;.~ v $ $ % q .} j M.t ",
+"9XA.X.o.#.#.#.#.#.%.#.%.%.%.%.%.%.%.$.%.$.$.$.L.NXvXa.1.2.XXNXvX6.1.1.2.=.~ v % % % q .} l u.t ",
+"9XA.X.o.#.#.#.#.#.#.%.#.%.%.%.%.%.$.$.$.%.$.0.mXbXe.1.4.2.2.{.BXkX1.2.2.2.~ z % % % q .} l u.t ",
+"9XA.X.o.#.#.#.#.#.#.#.%.%.#.%.%.%.%.%.$.4.$.hXBX].1.1.1.1.1.1.iXBX1X1.1.=.~ z % % % q .} l y.t ",
+"9XA.X.o.#.#.#.#.&.#.%.#.%.%.%.%.%.$.%.4.$.].BXsX1.O.1.4.1.1.1.;.zXNXp.;.2.~ z % % % q .} l y.a ",
+"9XA.X.#.o.o.o.o.o.o.#.*.%.#.%.@.%.%.4.%.4.cXmX5.$.2.2.$.2.$.2.2.s.NXhX1.=.~ v % % % q .} j u.t ",
+"9XA.X.#.o.o.*.o.o.o.o.o.%.%.%.%.%.$.$.%.XXBX>X$.$.$.$.$.2.2.2.2.2.sXBX'.1.~ n q q w q .} j M.t ",
+"9XA.X.#.o.o.o.o.#.#.o.o.#.%.%.%.%.%.$.%.vXvX4.O.$.$.4.2.2.2.4.1.2.0.MXzX1.~ b | | 7 0 | [ j M.t ",
+"9XS.X.#.*.o.#.o.#.#.#.#.#.#.%.%.%.%.O.XXBXXXO.O.$.$.O.2.$.$.2.2.1.~ 2XBX'.-.n } { 7 8 { ] j M.t ",
+"9XJ.S.! k N N N N N N N N N N N N B B [.;XV B B B B B B B B F F B F H 7X=XW n . .9 q .} j M.t ",
+"9XA.S.3XC N N N N N N N N N N N N N ! -X! N b N N b g g b g g b g g g W J./ n . .9 q .} j y.t ",
+"9XA.r.BX9X#.#.#.#.#.#.#.#.#.#.#.%.%.zXmX4.$.$.O.O.1.$.4.O.1.1.2.$.;.2.2.6.W n . .9 q .} j M.t ",
+"9Xm...jXNX*.#.#.#.#.#.#.#.#.#.#.%.P.BX6X%.$.%.%.O.O.O.O.2.O.1.4.2.2.2.2.1.~ n . .9 q .} j M.t ",
+"9Xm...d.BXfXo.o.o.#.o.%.o.#.#.+.%.zXmX9.$.%.O.$.+.$.$.O.$.1.1.1.1.2.1.2.1.~ n . .u q .} j u.t ",
+"9XS...o.fXBXK.o.o.#.o.o.#.#.+.+..XBX,X+.+.O.+.$.$.$.O.$.$.! O.1.2.O.2.2.2.~ n . .u q .} j y.t ",
+"9Xm...o.*.MXzX#.o.#.#.o.o.%.+.&.nXvX%.$.+.+.O.+.+.O.$.$.$.O.O.1.1.2.1.1.1.~ n . .u q .} j M.t ",
+"9Xm...o...5XNX8Xo.o.o.+.o.o.#.fXBXI.+.%.+.O.+.+.$.O.$.O.O.1.O.1.1.2.1.1.2.~ n . .u q .} j y.t ",
+"8Xm.....o.o.lXNXP.o.o.o.#.o.{.BXgX+.+.+.+.+.O.+.O.O.O.O.O.O.4.O.1.1.1.1.$.W b . .u q .} l y.t ",
+"8Xm...o...o.*.cXMXP.o.o.#.P.MXcX&.+.+.+.O.+.+.O.+.O.O.O.O.1.O.1.O.1.O.1.;.W n . .u q .} j u.t ",
+"8Xm...o.o.o.o.*.bXNXfX.XpXBXvXe.o.+.+.+.+.+.+.+.O.O.O.O.O.O.O.O.O.1.1.1.O.W n . .u q .} j y.t ",
+"8XS.....o.o.o.o.*.hXNXNXNXhX*.%.o.+.+.+.+.O.O.O.+.+.O.O.O.O.O.1.1.O.1.O.1.W n . .u q .} j y.t ",
+"8XS.b.@.) 7.) ) ) ) m.*Xm.@.) ) :.:.>.@.) :.( ( :./ / / / ^ / ^ ^ ^ ^ ^ ^ y.n ' ' 6 7 ' _ h y.t ",
+"7XJ.H.H.J.J.H.H.H.H.H.H.H.H.G.G.H.G.G.G.F.F.G.F.F.F.F.F.C.b.C.C.N.C.C.C.C.M.b . .8 q .} l y.t ",
+"7XJ.J.G.G.H.A.H.G.H.G.h m n.H.G.G.G.G.F.G.F.G.B.A F.F.C.C.3 X v C.N.C.N.N.N.b . .u q .} j y.t ",
+"7XA.G.G.b.3 $ G.H.H.A. ( G.G.G.F.F.G.F.F.b.o Y C.C.C.* S C.N.N.N.M.N.n . .9 q .} h y.t ",
+"6XG.G.G.) . ) G.G.F.v 5 G.F.G.F.F.G.F.F.F.F.h X P U.U.U.V.K N.N.N.N.N.N.N.n . .9 q .} h t.t ",
+"7XG.F.G.G.P ( E.x.v.v.^.W.F.G.G.G.F.F.F.F.F.C.C.y.l.k.v.(.).).W.C.C.M.^ N.M.b . .9 q .} l t.t ",
+"7XC.G.G.G.Y.l.v.v.).)._.OX_.T.b.3 v F.F.C.F.C.U.k.v.v.).)._._._./.:.+ . 8.M.c . .9 q .} h y.t ",
+"7X>.N.G.T.c.c.v.)._.OXOX0X$X$XA . F.Q z b.C.k.k.v.)._._._.0X0X$XW.X . Y M.c . .9 q .} h y.t ",
+"<X$ . T l.c.v.)._.0X0X0X0X0X0X+X5 I C.5 5 j.c.c.(._._.$X&X0XqX0X0X:.y.M.M.n . .9 q .} h y.t ",
+",X. ,.c.c.v.).).0X0X0X0XwXwXqXG.C.C.v * P k.k.v.)._.$X&XqXqXwXwXqX!.M.M.M.b . .9 q .} h t.t ",
+"7XN.( Y.k.l.(._._.$X0XwXeXrXeXwX!.C.C.C.C.V.c.k.(.)./.-.qXwXeXrXrXwX%XM.y.y.c . .9 q .} h t.t ",
+"<XF.C.Y.k.v.(._.i < :XeXtXtXtXrX!.C.C.C.C.V.k.c.(.).i V.wXtXtXtXtX@Xy.b.M.c . .8 q .} s t.t ",
+"<XC.C.U.k.v.).x X R wXrXtXaXuXrXG j ^ C.C.N.k.k.(.f > U.:XeXtXyXyXtXT . 1 y.c . .8 q .} h t.t ",
+"6XC.C.N.k.v.L f /.0XwXrXtXaXtXrX# S C.^ G h.k.L L OX$XqXwXtXtXtXeXh a y.c . .8 q .} h t.t ",
+"<XM o j j.g.<._.0X0XqXeXrXtXrX:XS % b.P . t.k.l.)._.$X0XwXwXeXeX:Xy.G ^ y.c { { 6 7 { ] s 8.t ",
+"<XS # V.k.(.)._.OX0XqXwXwXqXF.C.M.C.M.@ , 7.f.v.(._.$X$X0XqXwX#XM.y.y.y.y.c | | 8 0 | [ s t.t ",
+"5XN.m M.N.V.x.)._.0X$X&X:X%XF.C.N.N.N.C.8.M.N.C.V.v.)._.$X$X0Xy.y.y.y.y.y.y.c . .8 q .} h y.t ",
+"<XM.C.C.C.C.8.U.~.(.OX/.K + ^ M.C.N.N.N.N.N.M.N.,.l ;.E.Y.U.Z = y.y.t.,.y.c . .8 q .} h t.t ",
+"<XN.C.M.M.C.a Z M.C.C.2 - N.C.M.C.N.M.M.N.M.z = y.y.y.E , ,.y.,.t.y.c . .8 q .} h t.t ",
+",XN.N.N.M.M.# A M.M.N.Q j M.N.M.M.M.M.N.N.u.M.D = p M.u.y.y.W y.y.y.y.t.y.c . .u q .} f ,.t ",
+",XM.M.N.N.C.M.^ ,.C.N.N.M.N.N.M.M.N.N.M.M.M.M.M.y.M.y.y.y.y.y.y.y.y.,.t.t.t.c . .9 0 | [ h y.t ",
+",XM.N.M.M.M.M.M.M.M.M.M.M.M.M.N.M.u.u.M.M.M.M.y.M.y.y.M.u.y.y.y.y.y.t.t.t.t.D d s s s s s D ,.t ",
+"5XD.D.D.D.D.D.D.D.D.D.D.D.D.D.D.Z.N.Z.Z.V.N.Z.a.N.Z.N.N.u.N.N.M.M.u.u.u.u.u.u.u.u.u.u.u.u.u.D.& ",
+"VX: ; & ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; & ; ; ; ; ; ; ; & & ; ; ; ; O "
+};