diff --git a/WPrefs.app/Docks.c b/WPrefs.app/Docks.c new file mode 100644 index 00000000..b3b821c1 --- /dev/null +++ b/WPrefs.app/Docks.c @@ -0,0 +1,292 @@ +/* Workspace.c- workspace options + * + * WPrefs - Window Maker Preferences Program + * + * Copyright (c) 2012 Daniel Déchelotte (heavily inspired from file (c) Alfredo K. Kojima) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "WPrefs.h" + +typedef struct _Panel { + WMBox *box; + + char *sectionName; + + char *description; + + CallbackRec callbacks; + + WMWidget *parent; + + WMFrame *autoDelayF[2]; + WMLabel *autoDelayL[4]; + WMButton *autoDelayB[4][5]; + WMTextField *autoDelayT[4]; + + WMFrame *dockF; + WMButton *dockB; + WMButton *clipB; +} _Panel; + +#define ICON_FILE "dockclipsection" + +#define ARQUIVO_XIS "xis" +#define DELAY_ICON "timer%i" +#define DELAY_ICON_S "timer%is" +#define DOCK_FILE "dock" +#define CLIP_FILE "clip" + +static char *autoDelayStrings[4]; +static char *autoDelayKeys[4] = { "ClipAutoexpandDelay", "ClipAutocollapseDelay", "ClipAutoraiseDelay", "ClipAutolowerDelay" }; +static char *autoDelayPresetValues[5] = { "0", "100", "250", "600", "1000" }; + +static void showData(_Panel *panel); +static void storeData(_Panel *panel); + + +static void pushAutoDelayButton(WMWidget *w, void *data) +{ + _Panel *panel = (_Panel *) data; + int i, j; + for (i = 0; i < 4; i++) + { + for (j = 0; j < 5; j++) + { + if (w == panel->autoDelayB[i][j]) + { + WMSetTextFieldText(panel->autoDelayT[i], autoDelayPresetValues[j]); + return; + } + } + } +} + +static void adjustButtonSelectionBasedOnValue(_Panel *panel, int row, char *value) +{ + int j; + for (j = 0; j < 5; j++) + { + int isThatOne = !strcmp(autoDelayPresetValues[j], value); + WMSetButtonSelected(panel->autoDelayB[row][j], isThatOne); + if (isThatOne) + return; + } +} + +static void autoDelayChanged(void *observerData, WMNotification *notification) +{ + _Panel *panel = (_Panel *) observerData; + int row; + WMTextField *anAutoDelayT = (WMTextField *) WMGetNotificationObject(notification); + for (row = 0; row < 4; row++) + { + if (anAutoDelayT != panel->autoDelayT[row]) + { + continue; + } + char *value = WMGetTextFieldText(anAutoDelayT); + adjustButtonSelectionBasedOnValue(panel, row, value); + return; + } +} + +static void createPanel(Panel *p) +{ + _Panel *panel = (_Panel *) p; + WMScreen *scr = WMWidgetScreen(panel->parent); + WMPixmap *icon1, *icon2; + RImage *xis = NULL; + RContext *rc = WMScreenRContext(scr); + char *path; + int i, j, k; + char *buf1, *buf2; + + path = LocateImage(ARQUIVO_XIS); + if (path) { + xis = RLoadImage(rc, path, 0); + if (!xis) { + wwarning(_("could not load image file %s"), path); + } + wfree(path); + } + + panel->box = WMCreateBox(panel->parent); + WMSetViewExpandsToParent(WMWidgetView(panel->box), 2, 2, 2, 2); + + /***************** Auto-delays *****************/ + buf1 = wmalloc(strlen(DELAY_ICON) + 1); + buf2 = wmalloc(strlen(DELAY_ICON_S) + 1); + + for (k = 0; k < 2; k++) + { + panel->autoDelayF[k] = WMCreateFrame(panel->box); + WMResizeWidget(panel->autoDelayF[k], 365, 100); + WMMoveWidget(panel->autoDelayF[k], 15, 10 + k * 110); + if (k == 0) + WMSetFrameTitle(panel->autoDelayF[k], _("Delays in milliseconds for autocollapsing clips")); + else + WMSetFrameTitle(panel->autoDelayF[k], _("Delays in milliseconds for autoraising clips")); + + for (i = 0; i < 2; i++) + { + panel->autoDelayL[i + k * 2] = WMCreateLabel(panel->autoDelayF[k]); + WMResizeWidget(panel->autoDelayL[i + k * 2], 165, 20); + WMMoveWidget(panel->autoDelayL[i + k * 2], 10, 27 + 40 * i); + WMSetLabelText(panel->autoDelayL[i + k * 2], autoDelayStrings[i + k * 2]); + WMSetLabelTextAlignment(panel->autoDelayL[i + k * 2], WARight); + + for (j = 0; j < 5; j++) + { + panel->autoDelayB[i + k * 2][j] = WMCreateCustomButton(panel->autoDelayF[k], WBBStateChangeMask); + WMResizeWidget(panel->autoDelayB[i + k * 2][j], 25, 25); + WMMoveWidget(panel->autoDelayB[i + k * 2][j], 175 + (25 * j), 25 + 40 * i); + WMSetButtonBordered(panel->autoDelayB[i + k * 2][j], False); + WMSetButtonImagePosition(panel->autoDelayB[i + k * 2][j], WIPImageOnly); + WMSetButtonAction(panel->autoDelayB[i + k * 2][j], pushAutoDelayButton, panel); + if (j > 0) + WMGroupButtons(panel->autoDelayB[i + k * 2][0], panel->autoDelayB[i + k * 2][j]); + sprintf(buf1, DELAY_ICON, j); + CreateImages(scr, rc, NULL, buf1, &icon1, NULL); + if (icon1) { + WMSetButtonImage(panel->autoDelayB[i + k * 2][j], icon1); + WMReleasePixmap(icon1); + } else { + wwarning(_("could not load icon file %s"), buf1); + } + sprintf(buf2, DELAY_ICON_S, j); + CreateImages(scr, rc, NULL, buf2, &icon2, NULL); + if (icon2) { + WMSetButtonAltImage(panel->autoDelayB[i + k * 2][j], icon2); + WMReleasePixmap(icon2); + } else { + wwarning(_("could not load icon file %s"), buf2); + } + } + + panel->autoDelayT[i + k * 2] = WMCreateTextField(panel->autoDelayF[k]); + WMResizeWidget(panel->autoDelayT[i + k * 2], 36, 20); + WMMoveWidget(panel->autoDelayT[i + k * 2], 310, 27 + 40 * i); + WMAddNotificationObserver(autoDelayChanged, panel, WMTextDidChangeNotification, panel->autoDelayT[i + k * 2]); + } + + WMMapSubwidgets(panel->autoDelayF[k]); + } + wfree(buf1); + wfree(buf2); + + /***************** Enable/disable clip/dock *****************/ + panel->dockF = WMCreateFrame(panel->box); + WMResizeWidget(panel->dockF, 115, 210); + WMMoveWidget(panel->dockF, 390, 10); + WMSetFrameTitle(panel->dockF, _("Dock/Clip")); + + panel->dockB = WMCreateButton(panel->dockF, WBTToggle); + WMResizeWidget(panel->dockB, 64, 64); + WMMoveWidget(panel->dockB, 25, 35); + WMSetButtonImagePosition(panel->dockB, WIPImageOnly); + CreateImages(scr, rc, xis, DOCK_FILE, &icon1, &icon2); + if (icon2) { + WMSetButtonImage(panel->dockB, icon2); + WMReleasePixmap(icon2); + } + if (icon1) { + WMSetButtonAltImage(panel->dockB, icon1); + WMReleasePixmap(icon1); + } + WMSetBalloonTextForView(_("Disable/enable the application Dock (the\n" + "vertical icon bar in the side of the screen)."), WMWidgetView(panel->dockB)); + + panel->clipB = WMCreateButton(panel->dockF, WBTToggle); + WMResizeWidget(panel->clipB, 64, 64); + WMMoveWidget(panel->clipB, 25, 120); + WMSetButtonImagePosition(panel->clipB, WIPImageOnly); + CreateImages(scr, rc, xis, CLIP_FILE, &icon1, &icon2); + if (icon2) { + WMSetButtonImage(panel->clipB, icon2); + WMReleasePixmap(icon2); + } + if (icon1) { + WMSetButtonAltImage(panel->clipB, icon1); + WMReleasePixmap(icon1); + } + WMSetBalloonTextForView(_("Disable/enable the Clip (that thing with\n" + "a paper clip icon)."), WMWidgetView(panel->clipB)); + + WMMapSubwidgets(panel->dockF); + + if (xis) + RReleaseImage(xis); + + WMRealizeWidget(panel->box); + WMMapSubwidgets(panel->box); + + showData(panel); +} + +static void storeData(_Panel *panel) +{ + int i; + for (i = 0; i < 4; i++) + { + SetStringForKey(WMGetTextFieldText(panel->autoDelayT[i]), autoDelayKeys[i]); + } + + SetBoolForKey(!WMGetButtonSelected(panel->dockB), "DisableDock"); + SetBoolForKey(!WMGetButtonSelected(panel->clipB), "DisableClip"); +} + +static void showData(_Panel *panel) +{ + char *value; + int i; + for (i = 0; i < 4; i++) + { + value = GetStringForKey(autoDelayKeys[i]); + WMSetTextFieldText(panel->autoDelayT[i], value); + adjustButtonSelectionBasedOnValue(panel, i, value); + } + + WMSetButtonSelected(panel->dockB, !GetBoolForKey("DisableDock")); + WMSetButtonSelected(panel->clipB, !GetBoolForKey("DisableClip")); +} + +Panel *InitDocks(WMScreen *scr, WMWidget *parent) +{ + _Panel *panel; + + autoDelayStrings[0] = _("Delay before auto-expansion"); + autoDelayStrings[1] = _("Delay before auto-collapsing"); + autoDelayStrings[2] = _("Delay before auto-raise"); + autoDelayStrings[3] = _("Delay before auto-lowering"); + + panel = wmalloc(sizeof(_Panel)); + memset(panel, 0, sizeof(_Panel)); + + panel->sectionName = _("Dock Preferences"); + + panel->description = _("Dock and clip features.\n" + "Enable/disable the Dock and Clip, and tune some delays."); + + panel->parent = parent; + + panel->callbacks.createWidgets = createPanel; + panel->callbacks.updateDomain = storeData; + + AddSection(panel, ICON_FILE); + + return panel; +} diff --git a/WPrefs.app/Makefile.am b/WPrefs.app/Makefile.am index 7929f4a1..15f0b6e8 100644 --- a/WPrefs.app/Makefile.am +++ b/WPrefs.app/Makefile.am @@ -18,6 +18,7 @@ WPrefs_SOURCES = \ WPrefs.h \ Appearance.c \ Configurations.c \ + Docks.c \ Expert.c \ Focus.c \ FontSimple.c \ diff --git a/WPrefs.app/WPrefs.c b/WPrefs.app/WPrefs.c index 17ef8640..94b248fe 100644 --- a/WPrefs.app/WPrefs.c +++ b/WPrefs.app/WPrefs.c @@ -32,6 +32,8 @@ extern Panel *InitKeyboardShortcuts(WMScreen * scr, WMWidget * parent); extern Panel *InitWorkspace(WMScreen * scr, WMWidget * parent); +extern Panel *InitDocks(WMScreen *scr, WMWidget *parent); + extern Panel *InitFocus(WMScreen * scr, WMWidget * parent); extern Panel *InitPreferences(WMScreen * scr, WMWidget * parent); @@ -663,6 +665,7 @@ void Initialize(WMScreen * scr) InitPreferences(scr, WPrefs.banner); InitPaths(scr, WPrefs.banner); + InitDocks(scr, WPrefs.banner); InitWorkspace(scr, WPrefs.banner); InitConfigurations(scr, WPrefs.banner); diff --git a/WPrefs.app/Workspace.c b/WPrefs.app/Workspace.c index 83cdccdc..24064a48 100644 --- a/WPrefs.app/Workspace.c +++ b/WPrefs.app/Workspace.c @@ -44,10 +44,6 @@ typedef struct _Panel { WMLabel *posiL; WMLabel *posL; WMPopUpButton *posP; - - WMFrame *dockF; - WMButton *dockB; - WMButton *clipB; } _Panel; #define ICON_FILE "workspace" @@ -57,8 +53,6 @@ typedef struct _Panel { #define CYCLE_FILE "cycleworkspaces" #define ADVANCE_FILE "advancetonewworkspace" #define WSNAME_FILE "workspacename" -#define DOCK_FILE "dock" -#define CLIP_FILE "clip" static char *WSNamePositions[] = { "none", @@ -82,10 +76,6 @@ static void showData(_Panel * panel) WMSetButtonSelected(panel->newB, GetBoolForKey("AdvanceToNewWorkspace")); - WMSetButtonSelected(panel->dockB, !GetBoolForKey("DisableDock")); - - WMSetButtonSelected(panel->clipB, !GetBoolForKey("DisableClip")); - str = GetStringForKey("WorkspaceNameDisplayPosition"); if (!str) str = "center"; @@ -123,12 +113,12 @@ static void createPanel(Panel * p) /***************** Workspace Navigation *****************/ panel->navF = WMCreateFrame(panel->box); - WMResizeWidget(panel->navF, 365, 210); + WMResizeWidget(panel->navF, 490, 210); WMMoveWidget(panel->navF, 15, 10); WMSetFrameTitle(panel->navF, _("Workspace Navigation")); panel->cyclB = WMCreateSwitchButton(panel->navF); - WMResizeWidget(panel->cyclB, 280, 34); + WMResizeWidget(panel->cyclB, 410, 34); WMMoveWidget(panel->cyclB, 75, 30); WMSetButtonText(panel->cyclB, _("Wrap to the first workspace from the last workspace.")); @@ -144,7 +134,7 @@ static void createPanel(Panel * p) } /**/ panel->linkB = WMCreateSwitchButton(panel->navF); - WMResizeWidget(panel->linkB, 280, 34); + WMResizeWidget(panel->linkB, 410, 34); WMMoveWidget(panel->linkB, 75, 75); WMSetButtonText(panel->linkB, _("Switch workspaces while dragging windows.")); @@ -160,7 +150,7 @@ static void createPanel(Panel * p) } /**/ panel->newB = WMCreateSwitchButton(panel->navF); - WMResizeWidget(panel->newB, 280, 34); + WMResizeWidget(panel->newB, 410, 34); WMMoveWidget(panel->newB, 75, 120); WMSetButtonText(panel->newB, _("Automatically create new workspaces.")); @@ -176,10 +166,10 @@ static void createPanel(Panel * p) } /**/ panel->posL = WMCreateLabel(panel->navF); - WMResizeWidget(panel->posL, 140, 30); + WMResizeWidget(panel->posL, 200, 30); WMMoveWidget(panel->posL, 75, 165); - WMSetLabelTextAlignment(panel->posL, WARight); - WMSetLabelText(panel->posL, _("Position of workspace\nname display")); + // WMSetLabelTextAlignment(panel->posL, WARight); + WMSetLabelText(panel->posL, _("Position of workspace name display")); panel->posiL = WMCreateLabel(panel->navF); WMResizeWidget(panel->posiL, 60, 40); @@ -194,7 +184,7 @@ static void createPanel(Panel * p) panel->posP = WMCreatePopUpButton(panel->navF); WMResizeWidget(panel->posP, 125, 20); - WMMoveWidget(panel->posP, 225, 175); + WMMoveWidget(panel->posP, 290, 170); WMAddPopUpButtonItem(panel->posP, _("Disable")); WMAddPopUpButtonItem(panel->posP, _("Center")); WMAddPopUpButtonItem(panel->posP, _("Top")); @@ -206,46 +196,6 @@ static void createPanel(Panel * p) WMMapSubwidgets(panel->navF); - /***************** Dock/Clip *****************/ - panel->dockF = WMCreateFrame(panel->box); - WMResizeWidget(panel->dockF, 115, 210); - WMMoveWidget(panel->dockF, 390, 10); - WMSetFrameTitle(panel->dockF, _("Dock/Clip")); - - panel->dockB = WMCreateButton(panel->dockF, WBTToggle); - WMResizeWidget(panel->dockB, 64, 64); - WMMoveWidget(panel->dockB, 25, 35); - WMSetButtonImagePosition(panel->dockB, WIPImageOnly); - CreateImages(scr, rc, xis, DOCK_FILE, &icon1, &icon2); - if (icon2) { - WMSetButtonImage(panel->dockB, icon2); - WMReleasePixmap(icon2); - } - if (icon1) { - WMSetButtonAltImage(panel->dockB, icon1); - WMReleasePixmap(icon1); - } - WMSetBalloonTextForView(_("Disable/enable the application Dock (the\n" - "vertical icon bar in the side of the screen)."), WMWidgetView(panel->dockB)); - - panel->clipB = WMCreateButton(panel->dockF, WBTToggle); - WMResizeWidget(panel->clipB, 64, 64); - WMMoveWidget(panel->clipB, 25, 120); - WMSetButtonImagePosition(panel->clipB, WIPImageOnly); - CreateImages(scr, rc, xis, CLIP_FILE, &icon1, &icon2); - if (icon2) { - WMSetButtonImage(panel->clipB, icon2); - WMReleasePixmap(icon2); - } - if (icon1) { - WMSetButtonAltImage(panel->clipB, icon1); - WMReleasePixmap(icon1); - } - WMSetBalloonTextForView(_("Disable/enable the Clip (that thing with\n" - "a paper clip icon)."), WMWidgetView(panel->clipB)); - - WMMapSubwidgets(panel->dockF); - if (xis) RReleaseImage(xis); @@ -261,9 +211,6 @@ static void storeData(_Panel * panel) SetBoolForKey(WMGetButtonSelected(panel->cyclB), "CycleWorkspaces"); SetBoolForKey(WMGetButtonSelected(panel->newB), "AdvanceToNewWorkspace"); - SetBoolForKey(!WMGetButtonSelected(panel->dockB), "DisableDock"); - SetBoolForKey(!WMGetButtonSelected(panel->clipB), "DisableClip"); - SetStringForKey(WSNamePositions[WMGetPopUpButtonSelectedItem(panel->posP)], "WorkspaceNameDisplayPosition"); } diff --git a/WPrefs.app/tiff/Makefile.am b/WPrefs.app/tiff/Makefile.am index fe21243a..76fced4a 100644 --- a/WPrefs.app/tiff/Makefile.am +++ b/WPrefs.app/tiff/Makefile.am @@ -8,6 +8,7 @@ EXTRA_DIST = \ configs.tiff \ cycleworkspaces.tiff \ dock.tiff \ + dockclipsection.tiff \ dontlinkworkspaces.tiff \ ergonomic.tiff \ expert.tiff \ diff --git a/WPrefs.app/tiff/dockclipsection.tiff b/WPrefs.app/tiff/dockclipsection.tiff new file mode 100644 index 00000000..22801e11 Binary files /dev/null and b/WPrefs.app/tiff/dockclipsection.tiff differ diff --git a/WPrefs.app/xpm/Makefile.am b/WPrefs.app/xpm/Makefile.am index 0f08ef4f..637fffc5 100644 --- a/WPrefs.app/xpm/Makefile.am +++ b/WPrefs.app/xpm/Makefile.am @@ -9,6 +9,7 @@ EXTRA_DIST = \ configs.xpm \ cycleworkspaces.xpm \ dock.xpm \ + dockclipsection.xpm \ dontlinkworkspaces.xpm \ ergonomic.xpm \ expert.xpm \ diff --git a/WPrefs.app/xpm/dockclipsection.xpm b/WPrefs.app/xpm/dockclipsection.xpm new file mode 100644 index 00000000..9603fa2f --- /dev/null +++ b/WPrefs.app/xpm/dockclipsection.xpm @@ -0,0 +1,946 @@ +/* XPM */ +static char * dockclipsection_xpm[] = { +"48 48 895 2", +" c #000000", +". c #FBFBFD", +"+ c #F1F2F8", +"@ c #F1F1F8", +"# c #F0F0F8", +"$ c #EFEFF7", +"% c #EEEFF6", +"& c #EDEEF5", +"* c #ECEDF4", +"= c #EBECF3", +"- c #EAEBF2", +"; c #EAEAF2", +"> c #E9E9F1", +", c #E8E8F0", +"' c #E7E8EF", +") c #E6E7EE", +"! c #E5E6ED", +"~ c #E4E5EC", +"{ c #E3E4EB", +"] c #E2E3EA", +"^ c #E1E2E9", +"/ c #E0E1E8", +"( c #B1B1B3", +"_ c #DEDEE2", +": c #F2F2F8", +"< c #F0F1F8", +"[ c #EEEEF6", +"} c #EDEDF5", +"| c #ECECF4", +"1 c #EBEBF3", +"2 c #E9EAF1", +"3 c #E4E4EC", +"4 c #E3E3EB", +"5 c #E1E1E9", +"6 c #9A9A9B", +"7 c #FFFFFF", +"8 c #9798A8", +"9 c #9A9AAA", +"0 c #9999A9", +"a c #9697A6", +"b c #9595A5", +"c c #9393A3", +"d c #9192A1", +"e c #8F909F", +"f c #8D8E9D", +"g c #8B8C9B", +"h c #8A8B9A", +"i c #888998", +"j c #868796", +"k c #848594", +"l c #828492", +"m c #818291", +"n c #7F808F", +"o c #7D7F8D", +"p c #7B7D8B", +"q c #797B89", +"r c #777987", +"s c #2D2E34", +"t c #EEEEF0", +"u c #9B9BAB", +"v c #9798A7", +"w c #9596A5", +"x c #9394A3", +"y c #9293A2", +"z c #9091A0", +"A c #8E8F9E", +"B c #8C8D9C", +"C c #898A99", +"D c #878897", +"E c #858695", +"F c #838593", +"G c #818391", +"H c #7F818F", +"I c #7E7F8E", +"J c #7C7D8C", +"K c #7A7C8A", +"L c #787A88", +"M c #3B3C43", +"N c #F1F1F9", +"O c #9D9DAD", +"P c #9A9BAA", +"Q c #888A99", +"R c #868896", +"S c #2E2F35", +"T c #DDDDE3", +"U c #9D9EAD", +"V c #9B9CAB", +"W c #999AA9", +"X c #9495A4", +"Y c #8A8C9A", +"Z c #878997", +"` c #858795", +" . c #808190", +".. c #7E808E", +"+. c #7C7E8C", +"@. c #3D3E45", +"#. c #9898A8", +"$. c #9D9DAA", +"%. c #9E9FAB", +"&. c #9C9DA7", +"*. c #A6A7B0", +"=. c #ABACB4", +"-. c #A2A3AA", +";. c #A4A4A9", +">. c #ABABAD", +",. c #AAAAAA", +"'. c #B8B8B4", +"). c #ACADA7", +"!. c #9D9F94", +"~. c #7D8073", +"{. c #474745", +"]. c #747682", +"^. c #DCDCE3", +"/. c #9698A6", +"(. c #8E8F9D", +"_. c #7D7E8A", +":. c #6F707A", +"<. c #6C6D78", +"[. c #6B6C77", +"}. c #81828F", +"|. c #7D808D", +"1. c #A2A3AB", +"2. c #F2F2F2", +"3. c #F8F8F5", +"4. c #FAFBF6", +"5. c #FFFFFA", +"6. c #FEFEF3", +"7. c #E9EADD", +"8. c #D2D3C6", +"9. c #BABAAD", +"0. c #A1A293", +"a. c #888780", +"b. c #6F7072", +"c. c #5E615C", +"d. c #989986", +"e. c #242516", +"f. c #56575C", +"g. c #767886", +"h. c #2C2D33", +"i. c #DBDBE2", +"j. c #9394A2", +"k. c #9597A6", +"l. c #6E6F75", +"m. c #242426", +"n. c #0E0E0F", +"o. c #060607", +"p. c #060606", +"q. c #070707", +"r. c #111113", +"s. c #4F5057", +"t. c #828392", +"u. c #A8A9B0", +"v. c #C2C2BE", +"w. c #574B77", +"x. c #42385D", +"y. c #241B41", +"z. c #08003A", +"A. c #070039", +"B. c #070034", +"C. c #02002E", +"D. c #000027", +"E. c #000023", +"F. c #00001E", +"G. c #090A25", +"H. c #BAB9AD", +"I. c #2E2E1E", +"J. c #747684", +"K. c #2B2C32", +"L. c #DADBE1", +"M. c #9696A6", +"N. c #9192A2", +"O. c #525258", +"P. c #010102", +"Q. c #212123", +"R. c #737581", +"S. c #717380", +"T. c #6F717E", +"U. c #767887", +"V. c #757785", +"W. c #3A3B42", +"X. c #AAABB2", +"Y. c #A1A09D", +"Z. c #060048", +"`. c #14014E", +" + c #312755", +".+ c #1D1931", +"++ c #1D192E", +"@+ c #191821", +"#+ c #282639", +"$+ c #2A2746", +"%+ c #171636", +"&+ c #010222", +"*+ c #0C0E27", +"=+ c #BBBBAE", +"-+ c #353525", +";+ c #585A5D", +">+ c #727482", +",+ c #DADAE1", +"'+ c #49494E", +")+ c #202021", +"!+ c #B3B3B3", +"~+ c #A8A8A8", +"{+ c #919191", +"]+ c #050507", +"^+ c #787A89", +"/+ c #737583", +"(+ c #393A41", +"_+ c #8F90A0", +":+ c #A8A8AE", +"<+ c #A3A29F", +"[+ c #0D004D", +"}+ c #3C305E", +"|+ c #0F0E0F", +"1+ c #121212", +"2+ c #A9A9A9", +"3+ c #7E7E80", +"4+ c #191927", +"5+ c #060727", +"6+ c #BCBCAE", +"7+ c #3F3F2E", +"8+ c #414239", +"9+ c #747685", +"0+ c #717381", +"a+ c #292B30", +"b+ c #D9D9E0", +"c+ c #747581", +"d+ c #2B2B2B", +"e+ c #FEFEFE", +"f+ c #FDFDFD", +"g+ c #818183", +"h+ c #767987", +"i+ c #383940", +"j+ c #8D8E9E", +"k+ c #A1A29C", +"l+ c #160057", +"m+ c #1E1A2A", +"n+ c #121112", +"o+ c #D2D2D2", +"p+ c #F5F5F5", +"q+ c #3F3F4A", +"r+ c #070727", +"s+ c #BEBFB1", +"t+ c #4D4E3B", +"u+ c #404033", +"v+ c #6F7180", +"w+ c #6E717E", +"x+ c #292A30", +"y+ c #D8D9DF", +"z+ c #9899A9", +"A+ c #19191C", +"B+ c #D7D7D8", +"C+ c #0C0C0C", +"D+ c #6F727F", +"E+ c #37383F", +"F+ c #8B8C9C", +"G+ c #A7A7AD", +"H+ c #A09F9B", +"I+ c #1C065C", +"J+ c #0B0814", +"K+ c #161616", +"L+ c #373737", +"M+ c #4E4D4E", +"N+ c #D9D9D9", +"O+ c #FBFBFB", +"P+ c #6F6F79", +"Q+ c #0C0E28", +"R+ c #C3C4B7", +"S+ c #5F614C", +"T+ c #4D4F3F", +"U+ c #6C6F7C", +"V+ c #6D6F7D", +"W+ c #28292F", +"X+ c #D7D8DE", +"Y+ c #82838F", +"Z+ c #FAFAFA", +"`+ c #292827", +" @ c #737683", +".@ c #6D707D", +"+@ c #36373E", +"@@ c #8E8E9E", +"#@ c #A4A5AB", +"$@ c #A0A09B", +"%@ c #1B055B", +"&@ c #0F0C18", +"*@ c #656565", +"=@ c #FCFCFC", +"-@ c #61616A", +";@ c #080929", +">@ c #0D0F28", +",@ c #CACBBD", +"'@ c #6B7158", +")@ c #5A594B", +"!@ c #6A6C7B", +"~@ c #6A6D7A", +"{@ c #27282E", +"]@ c #D7D7DD", +"^@ c #55555F", +"/@ c #2A2A2A", +"(@ c #6A6A69", +"_@ c #6B6E7B", +":@ c #35363D", +"<@ c #878998", +"[@ c #A3A4AA", +"}@ c #140055", +"|@ c #302B41", +"1@ c #090909", +"2@ c #696969", +"3@ c #F6F6F6", +"4@ c #1D1D26", +"5@ c #0C0D2C", +"6@ c #0D0F29", +"7@ c #CFD0C3", +"8@ c #797B63", +"9@ c #5E6152", +"0@ c #676A79", +"a@ c #696C79", +"b@ c #26272D", +"c@ c #D6D6DD", +"d@ c #55565E", +"e@ c #464647", +"f@ c #575757", +"g@ c #565656", +"h@ c #555555", +"i@ c #787878", +"j@ c #686867", +"k@ c #6D707E", +"l@ c #6A6C7A", +"m@ c #34353C", +"n@ c #A2A3A8", +"o@ c #A09F9A", +"p@ c #19035A", +"q@ c #110D1A", +"r@ c #CECECD", +"s@ c #C5C5C5", +"t@ c #252526", +"u@ c #0F0F15", +"v@ c #0E0F2D", +"w@ c #D5D5CA", +"x@ c #808369", +"y@ c #606253", +"z@ c #666877", +"A@ c #676A77", +"B@ c #25272D", +"C@ c #D5D6DC", +"D@ c #53535C", +"E@ c #B9B9B9", +"F@ c #F9F9F9", +"G@ c #6B6E7C", +"H@ c #686A78", +"I@ c #33353B", +"J@ c #838694", +"K@ c #A1A2A7", +"L@ c #A5A3A0", +"M@ c #200C5A", +"N@ c #2C2641", +"O@ c #2D2838", +"P@ c #43414F", +"Q@ c #757380", +"R@ c #666470", +"S@ c #312F3B", +"T@ c #26252F", +"U@ c #242432", +"V@ c #0E0E2B", +"W@ c #14162D", +"X@ c #DDDED2", +"Y@ c #7F836A", +"Z@ c #67685D", +"`@ c #646775", +" # c #656875", +".# c #25262C", +"+# c #D4D5DB", +"@# c #888A98", +"## c #7D7D8A", +"$# c #BBBBBB", +"%# c #30302F", +"&# c #666976", +"*# c #32343A", +"=# c #9C9DA2", +"-# c #E9E9E4", +";# c #CBC8D0", +"># c #CFCCD3", +",# c #CDCBD1", +"'# c #C8C7CC", +")# c #C3C2C6", +"!# c #C1C0C3", +"~# c #C2C1C3", +"{# c #C0C0C1", +"]# c #BBBBBC", +"^# c #B5B6B5", +"/# c #B5B6B2", +"(# c #CFCEC3", +"_# c #7B8067", +":# c #6F7171", +"<# c #636673", +"[# c #24252B", +"}# c #D3D4DA", +"|# c #8C8E9D", +"1# c #18181B", +"2# c #D6D6D6", +"3# c #0C0C0B", +"4# c #696C7A", +"5# c #646774", +"6# c #313339", +"7# c #818491", +"8# c #808291", +"9# c #8E8F97", +"0# c #D1D1CF", +"a# c #D1D1CE", +"b# c #DBDCD5", +"c# c #E1E1DA", +"d# c #E7E7E0", +"e# c #EBECE5", +"f# c #EDEDE8", +"g# c #ECEBE5", +"h# c #E8E8E2", +"i# c #E4E4DC", +"j# c #DFDED6", +"k# c #C3C3B5", +"l# c #6D6F58", +"m# c #656868", +"n# c #636674", +"o# c #616471", +"p# c #23252A", +"q# c #D2D3DA", +"r# c #848694", +"s# c #838594", +"t# c #686B78", +"u# c #626572", +"v# c #313239", +"w# c #80818F", +"x# c #7C7E8D", +"y# c #767883", +"z# c #8D8D89", +"A# c #8C8E86", +"B# c #909088", +"C# c #88897C", +"D# c #828173", +"E# c #7E7E71", +"F# c #7E7F72", +"G# c #6D6E62", +"H# c #4E4E3E", +"I# c #696B5C", +"J# c #6E716B", +"K# c #5D5F66", +"L# c #5F626F", +"M# c #606370", +"N# c #222429", +"O# c #D1D2D9", +"P# c #848695", +"Q# c #6B6C78", +"R# c #45454D", +"S# c #151518", +"T# c #434344", +"U# c #545454", +"V# c #454545", +"W# c #D3D3D3", +"X# c #969696", +"Y# c #656876", +"Z# c #606470", +"`# c #2F3137", +" $ c #808290", +".$ c #6E707E", +"+$ c #828389", +"@$ c #7E7E75", +"#$ c #6E6E5B", +"$$ c #565747", +"%$ c #2E2F20", +"&$ c #1B1B0F", +"*$ c #2F2F21", +"=$ c #5F5F4C", +"-$ c #4F5054", +";$ c #57585E", +">$ c #606371", +",$ c #5F636F", +"'$ c #5E616E", +")$ c #222328", +"!$ c #D1D1D8", +"~$ c #4E4F57", +"{$ c #0A0A0A", +"]$ c #C0C0C0", +"^$ c #707072", +"/$ c #040404", +"($ c #5E626E", +"_$ c #2F3037", +":$ c #7F808E", +"<$ c #9A9B9E", +"[$ c #D7D8D6", +"}$ c #D5D5D3", +"|$ c #D7D8D5", +"1$ c #D6D6D1", +"2$ c #B2B2AA", +"3$ c #88887F", +"4$ c #67675E", +"5$ c #3C3C32", +"6$ c #454739", +"7$ c #6F706A", +"8$ c #616470", +"9$ c #5D616D", +"0$ c #5C5F6C", +"a$ c #212227", +"b$ c #D0D1D7", +"c$ c #838493", +"d$ c #4C4D55", +"e$ c #4C4C4C", +"f$ c #DBDBDB", +"g$ c #E4E4E4", +"h$ c #ACACAC", +"i$ c #282828", +"j$ c #616572", +"k$ c #5D606D", +"l$ c #2D2F35", +"m$ c #E2E2EA", +"n$ c #757684", +"o$ c #6C6E7C", +"p$ c #676977", +"q$ c #646672", +"r$ c #636672", +"s$ c #636571", +"t$ c #61636F", +"u$ c #5E606C", +"v$ c #5A5D6A", +"w$ c #202127", +"x$ c #CFD0D6", +"y$ c #6B6D79", +"z$ c #4F5059", +"A$ c #4E4F58", +"B$ c #4C4E57", +"C$ c #464851", +"D$ c #40414B", +"E$ c #5A5C64", +"F$ c #6B6D76", +"G$ c #6A6C74", +"H$ c #4B4C55", +"I$ c #3B3D46", +"J$ c #40424A", +"K$ c #42444C", +"L$ c #40424B", +"M$ c #3F414A", +"N$ c #3C3E46", +"O$ c #5B5E6B", +"P$ c #2D2E35", +"Q$ c #707280", +"R$ c #696B79", +"S$ c #595C69", +"T$ c #1F2126", +"U$ c #CECFD5", +"V$ c #727582", +"W$ c #5A5E6A", +"X$ c #2C2E34", +"Y$ c #7A7C8B", +"Z$ c #7D7F8E", +"`$ c #7B7D8C", +" % c #797B8A", +".% c #777A88", +"+% c #757886", +"@% c #707381", +"#% c #6C6F7D", +"$% c #6A6D7B", +"%% c #5F6370", +"&% c #595D6A", +"*% c #202126", +"=% c #D0D1D8", +"-% c #787B89", +";% c #767986", +">% c #727583", +",% c #6F717F", +"'% c #6B6D7B", +")% c #676A78", +"!% c #5C5F6D", +"~% c #2C2E35", +"{% c #989898", +"]% c #19191D", +"^% c #191A1E", +"/% c #18191D", +"(% c #17181C", +"_% c #16171B", +":% c #15161A", +"<% c #141519", +"[% c #131418", +"}% c #131417", +"|% c #121317", +"1% c #121316", +"2% c #111216", +"3% c #111215", +"4% c #101115", +"5% c #101114", +"6% c #0F1014", +"7% c #050607", +"8% c #131317", +"9% c #121216", +"0% c #101014", +"a% c #0F0F13", +"b% c #0E0F13", +"c% c #0E0E12", +"d% c #0F1013", +"e% c #0C0D10", +"f% c #0B0D10", +"g% c #0B0C0F", +"h% c #0A0C0F", +"i% c #0A0B0E", +"j% c #090A0E", +"k% c #5D627C", +"l% c #E7E8EB", +"m% c #FBFBFF", +"n% c #F8F8FF", +"o% c #F7F7FF", +"p% c #F6F6FF", +"q% c #F5F6FE", +"r% c #F4F5FD", +"s% c #F3F3FB", +"t% c #F2F2FA", +"u% c #F1F2F9", +"v% c #EFF0F7", +"w% c #CACAD0", +"x% c #EAEBF3", +"y% c #E9EAF2", +"z% c #E8E9F1", +"A% c #E7E8F0", +"B% c #737477", +"C% c #E6E7ED", +"D% c #747480", +"E% c #62626C", +"F% c #878898", +"G% c #858793", +"H% c #595A65", +"I% c #666875", +"J% c #444550", +"K% c #43454F", +"L% c #545560", +"M% c #E6E6ED", +"N% c #9192A0", +"O% c #2E2E33", +"P% c #676772", +"Q% c #8D8E9A", +"R% c #2A2B2D", +"S% c #3C3D43", +"T% c #E5E5ED", +"U% c #9899A8", +"V% c #828390", +"W% c #0D0D0D", +"X% c #9A9BAC", +"Y% c #898B99", +"Z% c #7F8190", +"`% c #8A8B97", +" & c #545561", +".& c #2A2A31", +"+& c #27272A", +"@& c #3B3C42", +"#& c #E4E5ED", +"$& c #9495A3", +"%& c #858593", +"&& c #7F818D", +"*& c #4C4E59", +"=& c #5D5F69", +"-& c #E3E5ED", +";& c #82818F", +">& c #7B7781", +",& c #747278", +"'& c #85848C", +")& c #3E3F49", +"!& c #E3E4ED", +"~& c #8B899B", +"{& c #8F8A9B", +"]& c #888393", +"^& c #807A87", +"/& c #7F7985", +"(& c #7F7B85", +"_& c #9A919A", +":& c #727179", +"<& c #52545F", +"[& c #E2E3ED", +"}& c #7D7F8B", +"|& c #908DA3", +"1& c #8A8494", +"2& c #A8A5B7", +"3& c #B3ADBA", +"4& c #7F7B80", +"5& c #575A62", +"6& c #5D5E66", +"7& c #726E79", +"8& c #686870", +"9& c #7A7C89", +"0& c #1F2025", +"a& c #E1E3EC", +"b& c #828592", +"c& c #878796", +"d& c #9B91A6", +"e& c #827985", +"f& c #797381", +"g& c #4F4E54", +"h& c #46484D", +"i& c #8D858D", +"j& c #6B676E", +"k& c #60616A", +"l& c #72717B", +"m& c #696B77", +"n& c #6E717F", +"o& c #3D3E44", +"p& c #E0E1EB", +"q& c #7B7E8B", +"r& c #A29CAF", +"s& c #918895", +"t& c #87808D", +"u& c #5D5A64", +"v& c #3D3E43", +"w& c #48494F", +"x& c #5C5E66", +"y& c #706E78", +"z& c #67656C", +"A& c #62626B", +"B& c #E0E1EA", +"C& c #858694", +"D& c #ADA4B4", +"E& c #7B757B", +"F& c #898390", +"G& c #494A50", +"H& c #3E3E43", +"I& c #52535A", +"J& c #6A6B75", +"K& c #70727E", +"L& c #7B7883", +"M& c #666771", +"N& c #71717E", +"O& c #55565D", +"P& c #61646E", +"Q& c #E0E0EA", +"R& c #80828F", +"S& c #9D9BAA", +"T& c #9B929D", +"U& c #908892", +"V& c #737079", +"W& c #3E4045", +"X& c #46464C", +"Y& c #5D5E67", +"Z& c #6F707C", +"`& c #6E717D", +" * c #7E7C8D", +".* c #777481", +"+* c #777584", +"@* c #4E4F55", +"#* c #626570", +"$* c #DFDFE9", +"%* c #848593", +"&* c #A9A3AF", +"** c #8C848C", +"=* c #9A949F", +"-* c #505057", +";* c #404045", +">* c #505158", +",* c #686974", +"'* c #727481", +")* c #737682", +"!* c #988FA4", +"~* c #7A7484", +"{* c #6B6873", +"]* c #44454B", +"^* c #45474C", +"/* c #585A62", +"(* c #666975", +"_* c #D4D5DE", +":* c #8B8D9B", +"<* c #8F8F9C", +"[* c #A69EA6", +"}* c #9C949C", +"|* c #827F88", +"1* c #424449", +"2* c #6E707C", +"3* c #817F8D", +"4* c #958D9E", +"5* c #7E7787", +"6* c #615F69", +"7* c #3E3F45", +"8* c #44464C", +"9* c #595A63", +"0* c #666977", +"a* c #C2C3CA", +"b* c #4F505D", +"c* c #8B8E9D", +"d* c #B3A8B0", +"e* c #99929A", +"f* c #606068", +"g* c #414248", +"h* c #4D4F55", +"i* c #656670", +"j* c #727581", +"k* c #767885", +"l* c #98919E", +"m* c #948C9A", +"n* c #73707B", +"o* c #3F4146", +"p* c #5F616B", +"q* c #666874", +"r* c #DEDFE7", +"s* c #81828D", +"t* c #535561", +"u* c #89838F", +"v* c #7E7377", +"w* c #484A51", +"x* c #6D6E7A", +"y* c #787883", +"z* c #A9A0AD", +"A* c #918B97", +"B* c #5B5C63", +"C* c #414147", +"D* c #45464D", +"E* c #DBDDE6", +"F* c #73747F", +"G* c #535661", +"H* c #978A95", +"I* c #6D686C", +"J* c #63646E", +"K* c #767682", +"L* c #958F9A", +"M* c #AAA3AE", +"N* c #736F79", +"O* c #4C4D54", +"P* c #404147", +"Q* c #60626C", +"R* c #676A76", +"S* c #DBDCE6", +"T* c #7B7C87", +"U* c #978C92", +"V* c #7A757B", +"W* c #BAB3BF", +"X* c #928D97", +"Y* c #5A5A62", +"Z* c #43454A", +"`* c #45474D", +" = c #595B63", +".= c #656873", +"+= c #DADCE5", +"@= c #7D7E8C", +"#= c #383943", +"$= c #777988", +"%= c #51505A", +"&= c #B2A5AB", +"*= c #7A7982", +"== c #4D4E53", +"-= c #323438", +";= c #5C5E68", +">= c #565862", +",= c #454751", +"'= c #2E3036", +")= c #DADBE4", +"!= c #23242A", +"~= c #44444D", +"{= c #606169", +"]= c #2A2B2F", +"^= c #17171B", +"/= c #323339", +"(= c #50535D", +"_= c #24262A", +":= c #0C0D0E", +"<= c #50535E", +"[= c #2A2C32", +"}= c #474953", +"|= c #121315", +"1= c #DADAE3", +"2= c #797B88", +"3= c #1A1B1F", +"4= c #797A85", +"5= c #393A46", +"6= c #53555F", +"7= c #1F2024", +"8= c #121214", +"9= c #51535E", +"0= c #33343B", +"a= c #121215", +"b= c #4D505A", +"c= c #34363D", +"d= c #777884", +"e= c #757681", +"f= c #797C89", +"g= c #4C4E5A", +"h= c #5F626E", +"i= c #5A5D68", +"j= c #5E616D", +"k= c #4E515A", +"l= c #626573", +"m= c #595C68", +"n= c #555864", +"o= c #555863", +"p= c #43454E", +"q= c #515460", +"r= c #0D0E10", +"s= c #939395", +"t= c #1A1A1E", +"u= c #19191E", +"v= c #18181C", +"w= c #0E0E11", +"x= c #0F0F12", +"y= c #141518", +"z= c #121417", +"A= c #111316", +"B= c #0D0E11", +" ", +" . + @ # $ % & * = - ; > , ' ) ! ~ { ] ^ / / ( _ : @ < $ % [ } | 1 ; 2 , ' ) ! ~ 3 4 ] 5 / 6 7 ", +" : 8 9 0 a b c d e f g h i j k l m n o p q r s t u u 0 v w x y z A B h C D E F G H I J K L M 7 ", +" N 9 O P 0 a w x d z A B h Q R E l G H o p K S T U O V W v a X y d A f Y C Z ` F l ...+.K @.7 ", +" < #.P #.x $.%.&.*.=.-.;.>.,.'.).!.~.{.].K L s ^.u V W /.w x x (._.:.<.[.[.}.R G H |.p K q M 7 ", +" # a 0 w 1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.K g.h.i.W W v w j.k.l.m.n.o.p.p.q.r.s.t.o p q q g.M 7 ", +" % X a x u.v.w.x.y.z.A.B.C.D.E.F.G.H.I.f.L J.K.L.v v M.x N.O. P. Q.R.S.T.U.V.W.7 ", +" [ y w d X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+g.>+K.,+w a x z '+ )+!+~+{+]+q.^+/+(+7 ", +" * d x _+:+<+[+}+|+ 1+2+3+4+5+*+6+7+8+9+0+a+b+X X x c+ d+7 e+f+g+ h+0+i+7 ", +" | A d j+:+k+l+m+ n+o+p+q+r+*+s+t+u+v+w+x+y+y y z+A+ d+7 e+f+B+C+V.D+E+7 ", +" 1 f e F+G+H+I+J+ K+L+M+N+O+P+5+Q+R+S+T+U+V+W+X+z N.Y+ d+7 e+e+Z+`+ @.@+@7 ", +" ; g @@h #@$@%@&@ *@O+7 =@O+-@;@>@,@'@)@!@~@{@]@A y ^@ /@7 e+e+7 (@D+_@:@7 ", +" > C B <@[@$@}@|@1@2@3@Z+7 o+4@5@6@7@8@9@0@a@b@c@B z d@ e@f@g@g@h@i@7 e+e+7 j@k@l@m@7 ", +" , Z h j n@o@p@q@L+r@f+e+s@t@u@v@6@w@x@y@z@A@B@C@g A D@ E@e+F@F@F@O+e+e+e+7 (@G@H@I@7 ", +" ' ` i J@K@L@M@N@O@P@Q@R@S@T@U@V@W@X@Y@Z@`@ #.#+#@#h ## $#7 e+e+e+e+e+e+e+7 %#G@&#*#7 ", +" ) k R t.=#-#;#>#,#'#)#!#~#{#]#^#/#(#_#:#`@<#[#}#D R |#1# $#7 e+e+e+e+e+e+f+2#3#4#5#6#7 ", +" ! 7#E 8#9#0#a#b#c#d#e#f#f#g#h#i#j#k#l#m#n#o#p#q#r#` s#[. $#7 e+e+e+e+f+e+f+g+ t#u#v#7 ", +" ~ .l w#x#U.y#z#A#B#C#D#E#F#G#H#I#J#K#L#o#M#N#O#F P#Q#R#S#T#U#V#W#7 e+e+e+e+e+7 X# Y#Z#`#7 ", +" { ..m $+.K L .$+$@$#$$$%$&$*$=$-$;$o#>$,$'$)$!$G E ~$ {$]$7 f+e+e+e+f+7 7 ^$/$ 5#($_$7 ", +" ] +...:$K L 9+<$[$}$|$1$2$3$4$5$6$7$8$L#9$0$a$b$H c$d$ e$]$f$g$g$2#h$i$ j$k$l$7 ", +" m$K o K L g.n$0+o$p$5#q$r$s$t$u$o#>$($k$0$v$w$x$o H y$z$z$A$B$C$D$E$F$G$H$I$J$K$L$M$N$'$O$P$7 ", +" / q p q r V.J.>+Q$w+V+~@R$&# #<#o#M#'$0$v$S$T$U$p +.K L g.V.V$0+w+.@_@a@A@#u#o#($k$W$S$X$7 ", +" { Y$Z$`$ %.%+%J.V$@%w+#%$%a@A@ #<#o#%%9$0$&%*%=%....+.K -%;%V.>%0+,%.@'%a@)%Y#5#j$M#'$!%W$~%7 ", +" {%]%^%]%/%(%(%_%_%:%:%<%<%[%}%|%1%2%3%4%5%6%7%{+[%[%8%|%9%2%3%4%0%6%a%b%c%d%6%e%e%f%g%h%i%j%7 ", +" k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%l%m%n%o%p%q%r%s%t%u%# v%[ $ ]@w%x%y%> z%A%) B%7 ", +" k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%C%u u 0 w D%E%w z A B h C R F%G%H%F I%J%K%L%M 7 ", +" k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%M%U O V N%O%P%v y d A f Y C Z ` Q%J%k W+ R%S%7 ", +" k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%T%u V U%w V%W%X%e f B Y%i R r#l Z%`% &`$.&+&@&7 ", +" k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%#&W W a $&%&:$d f B Y%i R r#l m n Z$&&*&p =&W.7 ", +" k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%-&v v w x d e f B Y%i R r#l s#%&;&>&,&'&)&L W.7 ", +" k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%!&w a x d e f B Y%i R E G ~&{&]&^&/&(&_&:&<&i+7 ", +" k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%[&X X d e f B Y%i R E }&|&1&2&3&4&5&6&7&8&9&0&7 ", +" k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%a&y y e f B Y%i R b&c&d&e&f&g&h&i&j&k&l&m&n&o&7 ", +" k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%p&z z f B Y%i R q&r&s&t&u&v&w&x&y&z&A&P%I%w++@7 ", +" k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%B&A A B Y%i ` C&D&E&F&G&H&I&J&K&L&M&N&O&P&#%:@7 ", +" k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%Q&B f Y%i R&S&T&U&V&W&X&Y&Z&`& *.*+*@*s.#*~@m@7 ", +" k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%$*g Y i %*&***=*-*;*>*,*'*)*!*~*{*]*^*/*(*H@I@7 ", +" k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%_*:*i <*[*}*|*1*]*E$2*>+3*4*5*6*7*8*9*q$0*&#*#7 ", +" k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%a*b*c*d*e*f*g*h*i*j*k*l*m*n*G&o*s.p*q*&# #5#6#7 ", +" k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%r*s*t*u*v*w*O&x*k*y*z*A*B*C*D*9*q$t#&# #<#u#v#7 ", +" k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%E*s#F*G*H*I*J*K*L*M*N*O*P*~$Q*R*H@p$ #<#o#o#`#7 ", +" k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%S* $J T*)&U*V*W*X*Y*Z*`* =.=t#t#&##o#M#($_$7 ", +" k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%+=@=#=$=y#%=&=*===-=D*;=>=_@$%A@4#,=*&o#,$'$'=7 ", +" k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%)=K i%!=`$<.~={=s.r.]=E+^=B$/=(=_=:=I@<=[=}=|=7 ", +" k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%1=2=c% 3=9+4=5=g.6=7=8=9=I@K.'=N$0=a=b=c=a$/$7 ", +" k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%E*Z$d=y#e=f=h+Z&g=J.h=i=w+j=k=l=m=n=o=o=p=q=r=7 ", +" k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%k%s=t=3=^%u=/%v=v=w=x=_%:%<%<%y=[%z=|%A=2%3%4%B=7 ", +" 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 "};