From 2dcdc52e6a05e458e5d4574a1d5ed3d65a32295e Mon Sep 17 00:00:00 2001 From: Sanel Zukan Date: Mon, 14 Jan 2008 12:02:43 +0000 Subject: [PATCH] Imported eabout, a small program that displays current EDE version, authors, contibutors, etc. Added ProgramBare rule in Program.jam so there could be built plain (command-line) programs and so they could be installed where other EDE programs resides. New etip on FLTK1 code. Also, instead hardcoded tips, etip now uses fortune-like files for tips. Ah yes, it is able to read fortune files too :) --- Jamfile | 15 +- build/Program.jam | 16 + eabout/Jamfile | 16 + eabout/eabout.cpp | 168 ++++++ eabout/eabout.fl | 34 ++ eabout/icons/ede.xpm | 402 +++++++++++++ etip/Fortune.cpp | 88 +++ etip/Fortune.h | 56 ++ etip/Jamfile | 30 +- etip/doc/etip.jpg | Bin 0 -> 24168 bytes etip/doc/etip.txt | 8 + etip/etip-compiler.c | 564 ++++++++++++++++++ etip/etip.conf | 2 + etip/etip.cpp | 233 +++++--- etip/etip.fl | 42 -- etip/etip.fld | 100 ---- etip/fl/etip.fl | 43 ++ etip/icons/hint.xpm | 1190 ++++++++++++-------------------------- etip/locale/id.po | 93 --- etip/locale/messages.pot | 81 --- etip/locale/ru.po | 93 --- etip/locale/sk.po | 94 --- etip/locale/sr.po | 95 --- etip/tips/ede | 26 + 24 files changed, 1972 insertions(+), 1517 deletions(-) create mode 100644 eabout/Jamfile create mode 100644 eabout/eabout.cpp create mode 100644 eabout/eabout.fl create mode 100644 eabout/icons/ede.xpm create mode 100644 etip/Fortune.cpp create mode 100644 etip/Fortune.h create mode 100644 etip/doc/etip.jpg create mode 100644 etip/doc/etip.txt create mode 100644 etip/etip-compiler.c create mode 100644 etip/etip.conf delete mode 100644 etip/etip.fl delete mode 100644 etip/etip.fld create mode 100644 etip/fl/etip.fl delete mode 100644 etip/locale/id.po delete mode 100644 etip/locale/messages.pot delete mode 100644 etip/locale/ru.po delete mode 100644 etip/locale/sk.po delete mode 100644 etip/locale/sr.po create mode 100644 etip/tips/ede diff --git a/Jamfile b/Jamfile index f3ce9de..e7b084b 100644 --- a/Jamfile +++ b/Jamfile @@ -14,15 +14,16 @@ EdeManual HACKING.txt ; Clean distclean : $(JCACHEFILE) $(HCACHEFILE) ; # SubInclude goes after local rules -SubInclude TOP econtrol ; +SubInclude TOP eabout ; SubInclude TOP ecalc ; +SubInclude TOP econtrol ; SubInclude TOP ecrasher ; -SubInclude TOP edewm ; -SubInclude TOP eiconman ; -SubInclude TOP evoke ; -SubInclude TOP eimage ; -SubInclude TOP efiler ; -SubInclude TOP etimedate ; SubInclude TOP edesktopconf ; +SubInclude TOP edewm ; +SubInclude TOP efiler ; +SubInclude TOP eiconman ; +SubInclude TOP eimage ; +SubInclude TOP etimedate ; +SubInclude TOP evoke ; SubInclude TOP docs ; SubInclude TOP datas ; diff --git a/build/Program.jam b/build/Program.jam index 878e8f0..aa19772 100644 --- a/build/Program.jam +++ b/build/Program.jam @@ -136,3 +136,19 @@ rule FltkProgramBare InstallEdeProgram $(1) ; } } + +# ProgramBare [target] : [sources] : [noinstall] ; +# Creates programs that will be linked only with standard library (no FLTK and X11 libraries). +# This rule is usefull for creating command line programs that should be installed at the same +# place where other EDE programs are installed. +rule ProgramBare +{ + MakeProgramPrivate $(1) : $(2) + : $(STDLIB) + : $(GLOBALFLAGS) ; + + # install it where ede binaries resides + if $(3) != "noinstall" { + InstallEdeProgram $(1) ; + } +} diff --git a/eabout/Jamfile b/eabout/Jamfile new file mode 100644 index 0000000..ae0e860 --- /dev/null +++ b/eabout/Jamfile @@ -0,0 +1,16 @@ +# +# $Id$ +# +# Part of Equinox Desktop Environment (EDE). +# Copyright (c) 2008 EDE Authors. +# +# This program is licensed under terms of the +# GNU General Public License version 2 or newer. +# See COPYING for details. + +SubDir TOP eabout ; + +SOURCE = eabout.cpp ; + +EdeProgram eabout : $(SOURCE) ; +TranslationStrings locale : $(SOURCE) ; diff --git a/eabout/eabout.cpp b/eabout/eabout.cpp new file mode 100644 index 0000000..006ff32 --- /dev/null +++ b/eabout/eabout.cpp @@ -0,0 +1,168 @@ +/* + * $Id$ + * + * Eabout, display version and authors + * Part of Equinox Desktop Environment (EDE). + * Copyright (c) 2008 EDE Authors. + * + * This program is licensed under terms of the + * GNU General Public License version 2 or newer. + * See COPYING for details. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include "icons/ede.xpm" + +#include // memset + +static Fl_Pixmap image_ede(ede_xpm); + +Fl_Window* win; +Fl_Text_Buffer* stylebuff; + +Fl_Text_Display::Style_Table_Entry style_table[] = { + { FL_BLACK, FL_HELVETICA, 12, }, // A - plain + { FL_BLACK, FL_HELVETICA_BOLD, 12} // B - bold text +}; + +const char* content = "\n\ + Heads:\n\n\ + Sanel Zukan (karijes@equinox-project.org)\n\ + Vedran Ljubovic (vljubovic@equinox-project.org)\n\ +\n\ + Contributors:\n\n\ + (to be added)\n\ +\n\ + Past developers:\n\n\ + Martin Pekar\n\ + Mikko Lahtenaaki\n\ + Dejan Lekic\n\ + Alexey Parshin\n\ +\n\ + Translators:\n\n\ + (to be added)\n\ +\n\ + Patches in 1.x series by:\n\n\ + Michael Sheldon\n\ + Anthony Wesley\n\ + and others! Thank you guys! :)\n\ +\n\ + Web:\n\n\ + http://equinox-project.org\n\n\ + Hosting provided by Sohlius,Inc. (thanks!)\n\ +\n\ + Bug reports:\n\n\ + http://trac.equinox-project.org/report/1\n\ +\n\ + License: \n\n\ + This program is based in part on the work of\n\ + FLTK project (www.fltk.org).\n\ +\n\ + This program is free software, you can redistribute\n\ + it and/or modify it under the terms of GNU General\n\ + Public License as published by the Free Software\n\ + Foundation, either version 2 of the License, or\n\ + (at your option) any later version.\n\n\ + This program is distributed in the hope that it will\n\ + be useful, but WITHOUT ANY WARRANTY;\n\ + without even the implied\n\ + warranty of MERCHANTABILITY or FITNESS\n\ + FOR A PARTICULAR PURPOSE.\n\n\ + See the GNU General Public License for more details.\n\ + You should have received a copy of the GNU General\n\ + Public Licence along with this program; if not, write\n\ + to the Free Software Foundation, Inc., 675 Mass Ave,\n\ + Cambridge, MA 02139, USA"; + +const char* bold_keywords[] = { + "Heads:", + "Contributors:", + "Past developers:", + "Patches in 1.x series by:", + "Translators:", + "Web:", + "Bug reports:", + "License:" +}; + +#define BOLD_KEYWORDS_LEN 8 + +void close_cb(Fl_Widget*, void*) { + win->hide(); +} + +char* prepare_style(char* txt, int len) { + // paint all with 'A' style at startup + char* style = new char[len + 1]; + memset(style, 'A', len); + style[len + 1] = '\0'; + + // find bold keywords and paint them + char* p = 0; + for(int i = 0; i < BOLD_KEYWORDS_LEN; i++) { + p = strstr(txt, bold_keywords[i]); + if(!p) + continue; + unsigned int len = strlen(bold_keywords[i]); + memset(&style[p - txt], 'B', len); + } + + return style; +} + +int main(int argc, char **argv) { + win = new Fl_Window(440, 335, _("About EDE")); + win->begin(); + Fl_Group* title_group = new Fl_Group(0, 0, 440, 65); + title_group->box(FL_ENGRAVED_BOX); + title_group->color(FL_BACKGROUND2_COLOR); + title_group->begin(); + Fl_Box* image_box = new Fl_Box(5, 5, 60, 55); + image_box->image(image_ede); + + Fl_Box* ede_label_box = new Fl_Box(70, 10, 365, 25, "Equinox Deskop Environment 2.0"); + ede_label_box->labelfont(1); + ede_label_box->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE); + + Fl_Box* ede_copy_box = new Fl_Box(70, 35, 365, 25, "Copyright (c) by EDE Authors 2000-2008"); + ede_copy_box->labelsize(11); + ede_copy_box->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE|FL_ALIGN_TOP); + + title_group->end(); + + Fl_Text_Display* txt_display = new Fl_Text_Display(10, 78, 420, 212); + txt_display->textsize(12); + + // remove bottom scrollbar, since text is already nicely formatted + txt_display->scrollbar_align(FL_ALIGN_RIGHT); + + Fl_Text_Buffer* buff = new Fl_Text_Buffer(); + buff->append(content); + + // load style buff + stylebuff = new Fl_Text_Buffer(buff->length()); + char* style = prepare_style(buff->text(), buff->length()); + + stylebuff->text(style); + delete [] style; + + txt_display->buffer(buff); + txt_display->highlight_data(stylebuff, style_table, + sizeof(style_table) / sizeof(style_table[0]), 'A', 0, 0); + + Fl_Button* close_button = new Fl_Button(340, 300, 90, 25, _("&Close")); + close_button->callback(close_cb); + + win->end(); + win->show(argc, argv); + return Fl::run(); +} diff --git a/eabout/eabout.fl b/eabout/eabout.fl new file mode 100644 index 0000000..3651030 --- /dev/null +++ b/eabout/eabout.fl @@ -0,0 +1,34 @@ +# data file for the Fltk User Interface Designer (fluid) +version 1.0108 +header_name {.h} +code_name {.cxx} +Function {} {open +} { + Fl_Window {} { + label {About EDE} open selected + xywh {292 190 440 335} type Double visible + } { + Fl_Group {} {open + xywh {0 0 440 65} box FLAT_BOX color 7 labelsize 14 + } { + Fl_Box {} { + image {icons/ede.xpm} xywh {5 5 60 55} labelsize 14 + } + Fl_Box {} { + label {Equinox Desktop Environment} + xywh {70 10 365 25} labelfont 1 align 20 + } + Fl_Box {} { + label {Copyright (c) by EDE Authors 2000-2008} + xywh {70 35 365 25} labelsize 11 align 21 + } + } + Fl_Text_Display {} { + xywh {10 78 420 212} labelsize 14 textsize 14 + } + Fl_Button {} { + label {&Close} + xywh {340 300 90 25} + } + } +} diff --git a/eabout/icons/ede.xpm b/eabout/icons/ede.xpm new file mode 100644 index 0000000..b598ea5 --- /dev/null +++ b/eabout/icons/ede.xpm @@ -0,0 +1,402 @@ +/* XPM */ +static char * ede_xpm[] = { +"48 48 351 2", +" c None", +". c #979696", +"+ c #686665", +"@ c #878686", +"# c #4F4D4B", +"$ c #433F3E", +"% c #413F3C", +"& c #433F3D", +"* c #878685", +"= c #706E6D", +"- c #2E2B28", +"; c #211C19", +"> c #2B2724", +", c #6C6968", +"' c #696766", +") c #282522", +"! c #201B18", +"~ c #1F1A17", +"{ c #1E1916", +"] c #282421", +"^ c #292421", +"/ c #393532", +"( c #3F3A38", +"_ c #403B39", +": c #403C39", +"< c #3F3B38", +"[ c #3E3936", +"} c #312C2A", +"| c #231E1B", +"1 c #241F1C", +"2 c #474240", +"3 c #8B8987", +"4 c #A4A3A1", +"5 c #A7A5A4", +"6 c #A7A6A4", +"7 c #A6A5A3", +"8 c #9F9D9B", +"9 c #6A6764", +"0 c #2F2B28", +"a c #26211F", +"b c #5B5756", +"c c #C6C5C4", +"d c #EDEDEC", +"e c #F0F0F0", +"f c #F1F1F1", +"g c #E4E3E3", +"h c #908E8C", +"i c #373230", +"j c #26221F", +"k c #5F5B59", +"l c #D0CFCF", +"m c #F9F9F9", +"n c #FEFEFE", +"o c #FDFDFD", +"p c #979594", +"q c #383431", +"r c #5F5C5A", +"s c #D1D0D0", +"t c #FBFAFA", +"u c #FFFFFF", +"v c #FCFBFB", +"w c #F8F7F7", +"x c #EDECEC", +"y c #EBEBEB", +"z c #EBEBEA", +"A c #F2F2F2", +"B c #F8F8F8", +"C c #989694", +"D c #FBFBFB", +"E c #F1F1F0", +"F c #DEDEDD", +"G c #C5C4C3", +"H c #ABA9A7", +"I c #999695", +"J c #928F8E", +"K c #918F8D", +"L c #ACAAA9", +"M c #C8C7C6", +"N c #E0DFDF", +"O c #F3F3F3", +"P c #F5F5F5", +"Q c #D9D7D7", +"R c #AAA8A7", +"S c #7B7876", +"T c #575351", +"U c #423D3B", +"V c #36322F", +"W c #322E2B", +"X c #36312F", +"Y c #5A5754", +"Z c #7F7C7A", +"` c #B1AFAE", +" . c #DDDCDC", +".. c #F5F5F4", +"+. c #FDFDFC", +"@. c #989695", +"#. c #C9C8C8", +"$. c #888584", +"%. c #4F4B48", +"&. c #25201E", +"*. c #221D1A", +"=. c #332E2C", +"-. c #524E4C", +";. c #898685", +">. c #C3C1C1", +",. c #FCFCFC", +"'. c #F2F1F1", +"). c #999795", +"!. c #EEEEEE", +"~. c #C1C0BF", +"{. c #757371", +"]. c #3E3A38", +"^. c #25211E", +"/. c #3B3734", +"(. c #6C6967", +"_. c #B4B2B1", +":. c #EBEAEA", +"<. c #F2F2F1", +"[. c #C0BFBE", +"}. c #6F6C6A", +"|. c #342F2C", +"1. c #1F1916", +"2. c #322D2A", +"3. c #666361", +"4. c #BBB9B8", +"5. c #393432", +"6. c #CECDCC", +"7. c #767371", +"8. c #332E2B", +"9. c #7B7776", +"0. c #DEDDDC", +"a. c #FEFEFD", +"b. c #FBFBFA", +"c. c #E6E6E6", +"d. c #8D8A89", +"e. c #35312E", +"f. c #E7E7E6", +"g. c #221E1B", +"h. c #706D6B", +"i. c #D6D6D5", +"j. c #F3F2F2", +"k. c #DBDAD9", +"l. c #AAA9A8", +"m. c #5E5A58", +"n. c #2A2623", +"o. c #C7C6C5", +"p. c #2A2523", +"q. c #2B2623", +"r. c #44403D", +"s. c #AEADAC", +"t. c #F6F6F6", +"u. c #E2E1E1", +"v. c #BAB9B8", +"w. c #858281", +"x. c #514D4B", +"y. c #2E2927", +"z. c #F0EFEF", +"A. c #A09E9D", +"B. c #433F3C", +"C. c #26211E", +"D. c #3A3533", +"E. c #63605E", +"F. c #9A9896", +"G. c #CCCBCA", +"H. c #F9F9F8", +"I. c #EAEAEA", +"J. c #93908F", +"K. c #5D5957", +"L. c #373330", +"M. c #25201D", +"N. c #1F1A18", +"O. c #7A7876", +"P. c #332F2C", +"Q. c #565250", +"R. c #8E8C8A", +"S. c #E9E9E8", +"T. c #EFEFEF", +"U. c #D2D0D0", +"V. c #656260", +"W. c #27221F", +"X. c #D3D2D1", +"Y. c #625E5D", +"Z. c #282320", +"`. c #1F1A16", +" + c #302B29", +".+ c #504C4A", +"++ c #83807E", +"@+ c #B9B8B7", +"#+ c #E3E3E3", +"$+ c #F7F6F6", +"%+ c #D8D7D7", +"&+ c #A9A7A7", +"*+ c #726E6D", +"=+ c #292422", +"-+ c #FAFAFA", +";+ c #5A5654", +">+ c #2C2724", +",+ c #45413E", +"'+ c #777372", +")+ c #ADABAB", +"!+ c #D9D8D8", +"~+ c #F4F4F4", +"{+ c #B7B6B5", +"]+ c #7E7B7A", +"^+ c #4E4A48", +"/+ c #CDCCCB", +"(+ c #585452", +"_+ c #24201D", +":+ c #3D3936", +"<+ c #9C9A99", +"[+ c #EEEEED", +"}+ c #FAF9F9", +"|+ c #E7E7E7", +"1+ c #C4C2C2", +"2+ c #8F8D8B", +"3+ c #342F2D", +"4+ c #2A2522", +"5+ c #413D3B", +"6+ c #64615F", +"7+ c #595553", +"8+ c #2D2825", +"9+ c #CFCFCE", +"0+ c #5C5957", +"a+ c #E9E8E8", +"b+ c #D1D0CF", +"c+ c #9D9A99", +"d+ c #65615F", +"e+ c #605D5A", +"f+ c #969493", +"g+ c #C0BEBD", +"h+ c #898785", +"i+ c #6B6866", +"j+ c #878583", +"k+ c #C1BFBF", +"l+ c #E6E6E5", +"m+ c #F7F7F7", +"n+ c #D6D5D5", +"o+ c #A6A4A3", +"p+ c #3E3A37", +"q+ c #4D4946", +"r+ c #8F8C8B", +"s+ c #979593", +"t+ c #E7E6E6", +"u+ c #4A4644", +"v+ c #7A7775", +"w+ c #B0AEAD", +"x+ c #DCDCDC", +"y+ c #F4F3F3", +"z+ c #B2B0AF", +"A+ c #7B7877", +"B+ c #4B4745", +"C+ c #2D2826", +"D+ c #312C29", +"E+ c #827F7D", +"F+ c #D7D6D6", +"G+ c #ABA9A8", +"H+ c #4C4845", +"I+ c #A4A2A0", +"J+ c #EFEFEE", +"K+ c #E5E5E4", +"L+ c #888684", +"M+ c #55514F", +"N+ c #332F2D", +"O+ c #ECEBEB", +"P+ c #D0CFCE", +"Q+ c #7C7978", +"R+ c #92908E", +"S+ c #CAC9C8", +"T+ c #FAFAF9", +"U+ c #ECECEC", +"V+ c #625F5C", +"W+ c #383331", +"X+ c #3C3735", +"Y+ c #A19F9D", +"Z+ c #CACAC9", +"`+ c #C7C6C6", +" @ c #E6E5E5", +".@ c #D5D4D4", +"+@ c #A3A1A0", +"@@ c #272320", +"#@ c #494543", +"$@ c #B5B3B2", +"%@ c #DCDBDA", +"&@ c #AFAEAD", +"*@ c #46423F", +"=@ c #CFCECD", +"-@ c #E3E2E2", +";@ c #868381", +">@ c #534F4D", +",@ c #312D2A", +"'@ c #E5E4E4", +")@ c #DCDBDB", +"!@ c #5E5B59", +"~@ c #272220", +"{@ c #B7B5B4", +"]@ c #CBCAC9", +"^@ c #767271", +"/@ c #3E3937", +"(@ c #8E8B8A", +"_@ c #B3B0B0", +":@ c #2D2926", +"<@ c #35302E", +"[@ c #75716F", +"}@ c #F7F7F6", +"|@ c #E8E7E7", +"1@ c #5D5A57", +"2@ c #1E1A17", +"3@ c #BDBCBB", +"4@ c #EFEEEE", +"5@ c #ADACAB", +"6@ c #3C3835", +"7@ c #2C2725", +"8@ c #817F7D", +"9@ c #C4C3C2", +"0@ c #8C8A88", +"a@ c #3B3634", +"b@ c #433E3C", +"c@ c #696564", +"d@ c #A09D9C", +"e@ c #D7D6D5", +"f@ c #E4E4E4", +"g@ c #9B9898", +"h@ c #797675", +"i@ c #55524F", +"j@ c #635F5D", +"k@ c #807D7B", +"l@ c #CECECD", +"m@ c #F6F6F5", +"n@ c #DBDADA", +"o@ c #C3C2C1", +"p@ c #C2C1C0", +"q@ c #C4C3C3", +"r@ c #CDCCCC", +"s@ c #DFDFDE", +"t@ c #989594", +"u@ c #5E5A59", +"v@ c #CECDCD", +"w@ c #969492", +"x@ c #B5B4B3", +"y@ c #D8D8D7", +"z@ c #DBDBDA", +"A@ c #34302D", +"B@ c #615E5B", +"C@ c #726F6D", +"D@ c #716F6C", +"E@ c #6D6A67", +"F@ c #4B4845", +"G@ c #292521", +"H@ c #272421", +"I@ c #6E6C6B", +"J@ c #302C29", +". + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . ", +"@ # $ % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % & # * ", +"= - ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; > , ", +"' ) ! ~ { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ~ ~ ] + ", +"+ ] ~ ~ ~ ~ ! ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ! ~ ~ ~ ] + ", +"+ ] ~ ~ ! ^ / ( _ : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : < [ } | ~ ~ ] + ", +"+ ] ~ ~ 1 2 3 4 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 8 9 0 ! ~ ] + ", +"+ ] ~ ~ a b c d e f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f e g h i ! ~ ] + ", +"+ ] ~ ~ j k l m n n n n n n n n n n n o o o o o o o o n n n n n n n n n n n n n o e p q ! ~ ] + ", +"+ ] ~ ~ j r s t u u u u u u u u n n v w f x y z x A B v o n u u u u u u u u u u n f C q ! ~ ] + ", +"+ ] ~ ~ j r s t u u u u u u u n D E F G H I J K C L M N O D n u u u u u u u u u n f C q ! ~ ] + ", +"+ ] ~ ~ j r s t u u u u u u o P Q R S T U V W W X & Y Z ` ...+.n u u u u u u u n f @.q ! ~ ] + ", +"+ ] ~ ~ j r s t u u u u u o f #.$.%.} &.; ! ! ! ! *.a =.-.;.>.z ,.n u u u u u u n '.)./ ! ~ ] + ", +"+ ] ~ ~ j r s t u u u u o !.~.{.].^.! { { { { { { { { ! &./.(._.:.,.u u u u u u n f )./ ! ~ ] + ", +"+ ] ~ ~ j r s t u u u n <.[.}.|.*.{ { { { { { 1.{ { { { { ; 2.3.4.O n u u u u u n e @.5.! ~ ] + ", +"+ ] ~ ~ j r s t u u n B 6.7.8.! { { { { ~ ~ ~ ~ ~ 1.{ { { { ! =.9.0.D u u u n a.b.c.d.e.! ~ ] + ", +"+ ] ~ ~ j r s t u u o f.).& *.{ { { ~ ~ ~ ~ ~ ~ ~ { { { { ~ g.=.h.i.b.u u n ,.j.k.l.m.n.~ ~ ] + ", +"+ ] ~ ~ j r s t u n m o.3.p.~ { { ~ ~ ~ ~ ~ ~ { { { { { ; q.r.h.s.:.,.n ,.t.u.v.w.x.y.; ~ ~ ] + ", +"+ ] ~ ~ j r s t u n z.A.B.; { { ~ ~ ~ ~ ~ { { { { { ! C.D.E.F.G.x D o H.I.M J.K.L.M.N.~ ~ ~ ] + ", +"+ ] ~ ~ j r s t u ,.N O.0 ~ { { ~ ~ ~ 1.{ { { { ~ 1 P.Q.R.c S.B o t T.U.A.V./.W.! { { { ~ ~ ] + ", +"+ ] ~ ~ j r s t u D X.Y.Z.`.{ ~ ~ ~ { { { { ~ *. +.+++@+#+$+,.D j.%+&+*+& =+! { { ~ ~ ~ ~ ~ ] + ", +"+ ] ~ ~ j r s t u -+6.;+M.~ { ~ { { { { ~ ; >+,+'+)+!+'.D D ~+N {+]+^+0 | ~ { ~ *.q.>+*.~ ~ ] + ", +"+ ] ~ ~ j r s t u -+/+(+_+{ { { { { { ! Z.:+3.<+s [+}+,.B |+1+2+;+3+1 ~ { { ; 4+5+6+7+8+! ~ ] + ", +"+ ] ~ ~ j r s t u -+9+0+C.{ { { { ~ 1 P.;+h G a+m ,.-+z.b+c+d+/.j ! { { { _+q e+f+g+h+V ! ~ ] + ", +"+ ] ~ ~ j r s t u D %+i+4+{ { ~ | } x.j+k+l+m+o D f n+o+i+p+Z.! { { { ~ M.q+r+c S.y s+q ! ~ ] + ", +"+ ] ~ ~ j r s t u o t+$.e.! ; 8+u+v+w+x+y+D D ~+ .z+A+B+C+*.~ { { { { ! D+E+F+..,.e C q ! ~ ] + ", +"+ ] ~ ~ j r s t u n O G+H+8+< (.I+X.J+-+,.$+K+k+L+M+N+1 ~ { { { { { { ! V s+O+o n f C q ! ~ ] + ", +"+ ] ~ ~ j r s t u u -+P+Q+V.R+S+:.m ,.T+U+G.F.V+W+C.! { { { { { ~ 1.{ ; X+Y+T.n n f C q ! ~ ] + ", +"+ ] ~ ~ j r s t u u o T.Z+`+ @B ,.D f .@+@i+< @@! { { { { { ~ ~ ~ { { | #@$@~+n n f C q ! ~ ] + ", +"+ ] ~ ~ j r s t u u u ,.m+m+,.D O %@&@7.*@>+; { { { { { ~ ~ ~ ~ 1.{ { Z.V+=@-+u n f C q ! ~ ] + ", +"+ ] ~ ~ j r s t u u u n n o m+-@4.;@>@,@| ~ { { { { ~ ~ ~ ~ ~ ~ { { ! L.L+'@o u n f C q ! ~ ] + ", +"+ ] ~ ~ j r s t u u u u n m )@<+!@W+M.~ { { { { `.~ ~ ~ ~ ~ ~ { { { ~@(+{@..n u n f C q ! ~ ] + ", +"+ ] ~ ~ j r s t u u u u n P ]@^@i *.{ { { { { ~ ~ ~ ~ ~ ~ { { { { ; /@(@N ,.u u n f C q ! ~ ] + ", +"+ ] ~ ~ j r s t u u u u u ,.O+_@r :@! { { { { ~ ~ ~ ~ `.{ { { { ; <@[@S+}@n u u n f C q ! ~ ] + ", +"+ ] ~ ~ j r s t u u u u u n D |@H 1@0 ; 2@{ { { { { { { { { ~ _+q *+3@4@o u u u n f C q ! ~ ] + ", +"+ ] ~ ~ j r s t u u u u u u n D K+5@i+6@@@; ~ ~ ~ ~ ~ ~ ~ *.7@#@8@9@[+,.u u u u n f C q ! ~ ] + ", +"+ ] ~ ~ j r s t u u u u u u u n D y G 0@7+a@7@M.| *.| C.y.b@c@d@e@~+o u u u u u n f C q ! ~ ] + ", +"+ ] ~ ~ j r s t u u u u u u u u n o m+f@k+g@h@k >@-.i@j@k@5 l@U+-+n u u u u u u n f C q ! ~ ] + ", +"+ ] ~ ~ j r s t u u u u u u u u u n n ,.m@z n@]@o@p@q@r@s@T.B o n u u u u u u u n f C q ! ~ ] + ", +"+ ] ~ ~ j r b+-+u u u u u u u u u u u n n o D m B B B m D o n n u u u u u u u u n f t@q ! ~ ] + ", +"+ ] ~ ~ a u@v@m+D ,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.D !.w@W+! ~ ] + ", +"+ ] ~ ~ ^.M+x@y@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@)@z@l w.A@! ~ ] + ", +"+ ] ~ ~ *.V B@h.C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@C@D@E@F@Z.~ ~ ] + ", +"+ ] ~ ~ ~ | G@>+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+>+q.C.! ~ ~ ] + ", +"+ ] ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ] + ", +"+ H@~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ H@+ ", +"I@J@H@] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] H@J@I@", +". I@' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ' I@. "}; diff --git a/etip/Fortune.cpp b/etip/Fortune.cpp new file mode 100644 index 0000000..2631723 --- /dev/null +++ b/etip/Fortune.cpp @@ -0,0 +1,88 @@ +/* + * $Id$ + * + * Etip, show some tips! + * Part of Equinox Desktop Environment (EDE). + * Copyright (c) 2008 EDE Authors. + * + * This program is licensed under the terms of the + * GNU General Public License version 2 or newer. + * See COPYING for the details. + */ + +#include "Fortune.h" +#include +#include + +FortuneFile* fortune_open(const char* str_path, const char* dat_path) { + FILE* sp = fopen(str_path, "r"); + if(!sp) + return NULL; + + FILE* dp = fopen(dat_path, "r"); + if(!dp) { + fclose(sp); + return NULL; + } + + FortuneFile* f = new FortuneFile; + f->str_file = sp; + f->dat_file = dp; + + fread((char*)&f->data, sizeof(StrFile), 1, f->dat_file); + f->data.str_version = ntohl(f->data.str_version); + f->data.str_numstr = ntohl(f->data.str_numstr); + f->data.str_longlen = ntohl(f->data.str_longlen); + f->data.str_shortlen = ntohl(f->data.str_shortlen); + f->data.str_flags = ntohl(f->data.str_flags); + + return f; +} + +void fortune_close(FortuneFile* f) { + fclose(f->str_file); + fclose(f->dat_file); + + delete f; +} + +unsigned int fortune_num_items(FortuneFile* f) { + return f->data.str_numstr; +} + +bool fortune_get(FortuneFile* f, unsigned int num, edelib::String& ret) { + if(num >= fortune_num_items(f)) + return false; + + // read position from .dat file + off_t seek_pts[2]; + + fseek(f->dat_file, (long)(sizeof(StrFile) + num * sizeof(seek_pts[0])), 0); + fread(seek_pts, sizeof(seek_pts), 1, f->dat_file); + seek_pts[0] = ntohl(seek_pts[0]); + seek_pts[1] = ntohl(seek_pts[1]); + + // now jump to that position in string file + fseek(f->str_file, (long)seek_pts[0], 0); + + char buff[1024]; + char* p; + char ch; + + ret.clear(); + + while(fgets((char*)buff, sizeof(buff), f->str_file) != NULL && !STR_ENDSTRING(buff, f->data)) { + if(f->data.str_flags & STR_ROTATED) { + for(p = buff; (ch = *p); p++) { + if(isupper(ch)) + *p = 'A' + (ch - 'A' + 13) % 26; + else if(islower(ch)) + *p = 'a' + (ch - 'a' + 13) % 26; + } + } + + ret += buff; + } + + return true; +} diff --git a/etip/Fortune.h b/etip/Fortune.h new file mode 100644 index 0000000..1e40c83 --- /dev/null +++ b/etip/Fortune.h @@ -0,0 +1,56 @@ +/* + * $Id$ + * + * Etip, show some tips! + * Part of Equinox Desktop Environment (EDE). + * Copyright (c) 2008 EDE Authors. + * + * This program is licensed under the terms of the + * GNU General Public License version 2 or newer. + * See COPYING for the details. + */ + +#ifndef __FORTUNE_H__ +#define __FORTUNE_H__ + +#include +#include + +/* + * This is a reader for fortune plain and their corresponding binary .dat files. + * Based on code from Amy A. Lewis since I was too lazy to search format specs + * around the net. + */ + +#define DAT_VERSION 2 // we know only for this + +#define STR_ENDSTRING(line, tbl) ((line)[0] == tbl.stuff[0] && (line)[1] == '\n') +#define STR_ROTATED 0x3 // rot-13'd text + +struct StrFile { + unsigned int str_version; // version number + unsigned int str_numstr; // number of strings in the file + unsigned int str_longlen; // length of the longest string + unsigned int str_shortlen; // length of the shortest string + unsigned int str_flags; // bit field for flags + char stuff[4]; // long aligned space, stuff[0] is delimiter +}; + +struct FortuneFile { + FILE* str_file; + FILE* dat_file; + StrFile data; +}; + +// TODO: this should be a class + +FortuneFile* fortune_open(const char* str_path, const char* dat_path); +void fortune_close(FortuneFile* f); + +// returns a number of known strings +unsigned int fortune_num_items(FortuneFile* f); + +// gets strings at num; first is at 0 and last at fortune_num_items() - 1 +bool fortune_get(FortuneFile* f, unsigned int num, edelib::String& ret); + +#endif diff --git a/etip/Jamfile b/etip/Jamfile index 577ddd0..0e0385e 100644 --- a/etip/Jamfile +++ b/etip/Jamfile @@ -10,5 +10,31 @@ SubDir TOP etip ; -MakeProgram etip : etip.cpp ; -ExtractStrings locale : etip.cpp ; +SOURCE = Fortune.cpp etip.cpp ; + +EdeProgram etip : $(SOURCE) ; +TranslationStrings locale : $(SOURCE) ; +EdeManual doc/etip.txt : doc/etip.jpg ; + +ProgramBare etip-compiler : etip-compiler.c ; + +# this rule is for compiling fortune files +rule FortuneCompile +{ + Depends $(<) : etip-compiler ; + Depends $(<) : $(>) ; + Depends all : $(<) ; + + SEARCH on $(>) = $(SUBDIR) ; + MakeLocate $(<) : $(SUBDIR) ; + + FortuneCompile1 $(<) : $(>) ; + Clean clean : $(<) ; +} + +actions FortuneCompile1 +{ + $(TOP)/etip/etip-compiler "$(>)" "$(<)" +} + +FortuneCompile tips/ede.dat : tips/ede ; diff --git a/etip/doc/etip.jpg b/etip/doc/etip.jpg new file mode 100644 index 0000000000000000000000000000000000000000..481ea6554c4bc3181e2b72e2d3b5aa0d12b8e086 GIT binary patch literal 24168 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 +#include +#include +#include +#include +#include +#include + +#ifndef MAXPATHLEN +#define MAXPATHLEN 1024 +#endif /* MAXPATHLEN */ + +#define STR_ENDSTRING(line,tbl) \ + ((line)[0] == (tbl).str_delim && (line)[1] == '\n') + +typedef struct { /* information table */ +#define VERSION 2 + u_int32_t str_version; /* version number */ + u_int32_t str_numstr; /* # of strings in the file */ + u_int32_t str_longlen; /* length of longest string */ + u_int32_t str_shortlen; /* length of shortest string */ +#define STR_RANDOM 0x1 /* randomized pointers */ +#define STR_ORDERED 0x2 /* ordered pointers */ +#define STR_ROTATED 0x4 /* rot-13'd text */ + u_int32_t str_flags; /* bit field for flags */ + u_int8_t stuff[4]; /* long aligned space */ +#define str_delim stuff[0] /* delimiting character */ +} STRFILE; + +/* + * This program takes a file composed of strings seperated by + * lines containing only the delimiting character (the default + * character is '%') and creates another file which consists of a table + * describing the file (structure from "strfile.h"), a table of seek + * pointers to the start of the strings, and the strings, each terminated + * by a null byte. Usage: + * + * % strfile [-iorsx] [ -cC ] sourcefile [ datafile ] + * + * c - Change delimiting character from '%' to 'C' + * s - Silent. Give no summary of data processed at the end of + * the run. + * o - order the strings in alphabetic order + * i - if ordering, ignore case + * r - randomize the order of the strings + * x - set rotated bit + * + * Ken Arnold Sept. 7, 1978 -- + * + * Added ordering options. + * + * Made ordering options do more than set the bloody flag, September 95 A. Lewis + * + * Always make sure that your loop control variables aren't set to bloody + * *zero* before distributing the bloody code, all right? + * + */ + +#define TRUE 1 +#define FALSE 0 + +#define STORING_PTRS (Oflag || Rflag) +#define CHUNKSIZE 512 + +#define ALWAYS 1 +#define ALLOC(ptr,sz) if (ALWAYS) { \ + if (ptr == NULL) \ + ptr = malloc((unsigned int) (CHUNKSIZE * sizeof *ptr)); \ + else if (((sz) + 1) % CHUNKSIZE == 0) \ + ptr = realloc((void *) ptr, ((unsigned int) ((sz) + CHUNKSIZE) * sizeof *ptr)); \ + if (ptr == NULL) { \ + fprintf(stderr, "out of space\n"); \ + exit(1); \ + } \ + } + +typedef struct +{ + char first; + int32_t pos; +} +STR; + +char *Infile = NULL, /* input file name */ + Outfile[MAXPATHLEN] = "", /* output file name */ + Delimch = '%'; /* delimiting character */ + +int Sflag = FALSE; /* silent run flag */ +int Oflag = FALSE; /* ordering flag */ +int Iflag = FALSE; /* ignore case flag */ +int Rflag = FALSE; /* randomize order flag */ +int Xflag = FALSE; /* set rotated bit */ +long Num_pts = 0; /* number of pointers/strings */ + +int32_t *Seekpts; + +FILE *Sort_1, *Sort_2; /* pointers for sorting */ + +STRFILE Tbl; /* statistics table */ + +STR *Firstch; /* first chars of each string */ + +void usage(void) +{ + fprintf(stderr, "etip-compiler [-iorsx] [-c char] sourcefile [datafile]\n"); + fprintf(stderr, "Creates .dat file from fortune source file\n"); + exit(1); +} + +/* + * This routine evaluates arguments from the command line + */ +void getargs(int argc, char **argv) +{ + extern char *optarg; + extern int optind; + int ch; + + while ((ch = getopt(argc, argv, "c:iorsx")) != EOF) + switch (ch) + { + case 'c': /* new delimiting char */ + Delimch = *optarg; + if (!isascii(Delimch)) + { + printf("bad delimiting character: '\\%o\n'", + Delimch); + } + break; + case 'i': /* ignore case in ordering */ + Iflag++; + break; + case 'o': /* order strings */ + Oflag++; + break; + case 'r': /* randomize pointers */ + Rflag++; + break; + case 's': /* silent */ + Sflag++; + break; + case 'x': /* set the rotated bit */ + Xflag++; + break; + case '?': + default: + usage(); + } + argv += optind; + + if (*argv) + { + Infile = *argv; + if (*++argv) + (void) strcpy(Outfile, *argv); + } + if (!Infile) + { + puts("No input file name"); + usage(); + } + if (*Outfile == '\0') + { + strcpy(Outfile, Infile); + strcat(Outfile, ".dat"); + } +} + +/* + * add_offset: + * Add an offset to the list, or write it out, as appropriate. + */ +void add_offset(FILE * fp, int32_t off) +{ + int32_t net; + + if (!STORING_PTRS) + { + net = htonl(off); + fwrite(&net, 1, sizeof net, fp); + } + else + { + ALLOC(Seekpts, Num_pts + 1); + Seekpts[Num_pts] = off; + } + Num_pts++; +} + +/* + * fix_last_offset: + * Used when we have two separators in a row. + */ +void fix_last_offset(FILE * fp, int32_t off) +{ + int32_t net; + + if (!STORING_PTRS) + { + net = htonl(off); + fseek(fp, -(sizeof net), SEEK_CUR); + fwrite(&net, 1, sizeof net, fp); + } + else + Seekpts[Num_pts - 1] = off; +} + +/* + * cmp_str: + * Compare two strings in the file + */ +int cmp_str(const void *v1, const void *v2) +{ + register int c1, c2; + register int n1, n2; + register STR *p1, *p2; + +#define SET_N(nf,ch) (nf = (ch == '\n')) +#define IS_END(ch,nf) (ch == Delimch && nf) + + p1 = (STR *) v1; + p2 = (STR *) v2; + c1 = p1->first; + c2 = p2->first; + if (c1 != c2) + return c1 - c2; + + fseek(Sort_1, p1->pos, 0); + fseek(Sort_2, p2->pos, 0); + + n1 = FALSE; + n2 = FALSE; + while (!isalnum(c1 = getc(Sort_1)) && c1 != '\0') + SET_N(n1, c1); + while (!isalnum(c2 = getc(Sort_2)) && c2 != '\0') + SET_N(n2, c2); + + while (!IS_END(c1, n1) && !IS_END(c2, n2)) + { + if (Iflag) + { + if (isupper(c1)) + c1 = tolower(c1); + if (isupper(c2)) + c2 = tolower(c2); + } + if (c1 != c2) + return c1 - c2; + SET_N(n1, c1); + SET_N(n2, c2); + c1 = getc(Sort_1); + c2 = getc(Sort_2); + } + if (IS_END(c1, n1)) + c1 = 0; + if (IS_END(c2, n2)) + c2 = 0; + return c1 - c2; +} + +/* + * do_order: + * Order the strings alphabetically (possibly ignoring case). + */ +void + do_order(void) +{ + register long i; + register int32_t *lp; + register STR *fp; + + Sort_1 = fopen(Infile, "r"); + Sort_2 = fopen(Infile, "r"); + qsort((char *) Firstch, (int) Num_pts - 1, sizeof *Firstch, cmp_str); +/* i = Tbl.str_numstr; + * Fucking brilliant. Tbl.str_numstr was initialized to zero, and is still zero + */ + i = Num_pts - 1; + lp = Seekpts; + fp = Firstch; + while (i--) + *lp++ = fp++->pos; + fclose(Sort_1); + fclose(Sort_2); + Tbl.str_flags |= STR_ORDERED; +} + +char * + unctrl(char c) +{ + static char buf[3]; + + if (isprint(c)) + { + buf[0] = c; + buf[1] = '\0'; + } + else if (c == 0177) + { + buf[0] = '^'; + buf[1] = '?'; + } + else + { + buf[0] = '^'; + buf[1] = c + 'A' - 1; + } + return buf; +} + +/* + * randomize: + * Randomize the order of the string table. We must be careful + * not to randomize across delimiter boundaries. All + * randomization is done within each block. + */ +void randomize(void) +{ + register int cnt, i; + register int32_t tmp; + register int32_t *sp; + extern time_t time(time_t *); + + srandom((int) (time((time_t *) NULL) + getpid())); + + Tbl.str_flags |= STR_RANDOM; +/* cnt = Tbl.str_numstr; + * See comment above. Isn't this stuff distributed worldwide? How embarrassing! + */ + cnt = Num_pts; + + /* + * move things around randomly + */ + + for (sp = Seekpts; cnt > 0; cnt--, sp++) + { + i = random() % cnt; + tmp = sp[0]; + sp[0] = sp[i]; + sp[i] = tmp; + } +} + +/* + * main: + * Drive the sucker. There are two main modes -- either we store + * the seek pointers, if the table is to be sorted or randomized, + * or we write the pointer directly to the file, if we are to stay + * in file order. If the former, we allocate and re-allocate in + * CHUNKSIZE blocks; if the latter, we just write each pointer, + * and then seek back to the beginning to write in the table. + */ +int main(int ac, char **av) +{ + register unsigned char *sp; + register FILE *inf, *outf; + register int32_t last_off, length, pos, *p; + register int first, cnt; + register char *nsp; + register STR *fp; + static char string[257]; + + getargs(ac, av); /* evalute arguments */ + if ((inf = fopen(Infile, "r")) == NULL) + { + perror(Infile); + exit(1); + } + + if ((outf = fopen(Outfile, "w")) == NULL) + { + perror(Outfile); + exit(1); + } + if (!STORING_PTRS) + (void) fseek(outf, sizeof Tbl, 0); + + /* + * Write the strings onto the file + */ + + Tbl.str_longlen = 0; + Tbl.str_shortlen = (unsigned int) 0xffffffff; + Tbl.str_delim = Delimch; + Tbl.str_version = VERSION; + first = Oflag; + add_offset(outf, ftell(inf)); + last_off = 0; + do + { + sp = fgets(string, 256, inf); + if (sp == NULL || STR_ENDSTRING(sp, Tbl)) + { + pos = ftell(inf); + length = pos - last_off - (sp ? strlen(sp) : 0); + if (!length) + /* Here's where we go back and fix things, if the + * 'fortune' just read was the null string. + * We had to make the assignment of last_off slightly + * redundant to achieve this. + */ + { + if (pos - last_off == 2) + fix_last_offset(outf, pos); + last_off = pos; + continue; + } + last_off = pos; + add_offset(outf, pos); + if (Tbl.str_longlen < length) + Tbl.str_longlen = length; + if (Tbl.str_shortlen > length) + Tbl.str_shortlen = length; + first = Oflag; + } + else if (first) + { + for (nsp = sp; !isalnum(*nsp); nsp++) + continue; + ALLOC(Firstch, Num_pts); + fp = &Firstch[Num_pts - 1]; + if (Iflag && isupper(*nsp)) + fp->first = tolower(*nsp); + else + fp->first = *nsp; + fp->pos = Seekpts[Num_pts - 1]; + first = FALSE; + } + } + while (sp != NULL); + + /* + * write the tables in + */ + + fclose(inf); + + if (Oflag) + do_order(); + else if (Rflag) + randomize(); + + if (Xflag) + Tbl.str_flags |= STR_ROTATED; + + if (!Sflag) + { + printf("\"%s\" created\n", Outfile); + if (Num_pts == 1) + puts("There was no string"); + else + { + if (Num_pts == 2) + puts("There was 1 string"); + else + printf("There were %ld strings\n", Num_pts - 1); + printf("Longest string: %lu byte%s\n", Tbl.str_longlen, + Tbl.str_longlen == 1 ? "" : "s"); + printf("Shortest string: %lu byte%s\n", Tbl.str_shortlen, + Tbl.str_shortlen == 1 ? "" : "s"); + } + } + + fseek(outf, (off_t) 0, 0); + Tbl.str_version = htonl(Tbl.str_version); + Tbl.str_numstr = htonl(Num_pts - 1); + /* Look, Ma! After using the variable three times, let's store + * something in it! + */ + Tbl.str_longlen = htonl(Tbl.str_longlen); + Tbl.str_shortlen = htonl(Tbl.str_shortlen); + Tbl.str_flags = htonl(Tbl.str_flags); + fwrite(&Tbl.str_version, sizeof Tbl.str_version, 1, outf); + fwrite(&Tbl.str_numstr, sizeof Tbl.str_numstr, 1, outf); + fwrite(&Tbl.str_longlen, sizeof Tbl.str_longlen, 1, outf); + fwrite(&Tbl.str_shortlen, sizeof Tbl.str_shortlen, 1, outf); + fwrite(&Tbl.str_flags, sizeof Tbl.str_flags, 1, outf); + fwrite( Tbl.stuff, sizeof Tbl.stuff, 1, outf); + if (STORING_PTRS) + { + for (p = Seekpts, cnt = Num_pts; cnt--; ++p) + { + *p = htonl(*p); + fwrite(p, sizeof *p, 1, outf); + } + } + fclose(outf); + exit(0); +} diff --git a/etip/etip.conf b/etip/etip.conf new file mode 100644 index 0000000..9e9cbd7 --- /dev/null +++ b/etip/etip.conf @@ -0,0 +1,2 @@ +[etip] + Path = tips/ede diff --git a/etip/etip.cpp b/etip/etip.cpp index b71abca..79c1a6e 100644 --- a/etip/etip.cpp +++ b/etip/etip.cpp @@ -1,136 +1,185 @@ /* * $Id: etip.cpp 1664 2006-06-14 00:21:44Z karijes $ * + * Etip, show some tips! * Part of Equinox Desktop Environment (EDE). - * Copyright (c) 2000-2006 EDE Authors. + * Copyright (c) 2008 EDE Authors. * - * This program is licenced under terms of the - * GNU General Public Licence version 2 or newer. - * See COPYING for details. + * This program is licensed under the terms of the + * GNU General Public License version 2 or newer. + * See COPYING for the details. */ -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include #include #include +#include #include "icons/hint.xpm" +#include "Fortune.h" -// TODO: should be replaced with NLS from edelib -#define _(s) s +static Fl_Pixmap image_hint(hint_xpm); -#define TIPS_NUM 7 -#define TITLE_TIPS_NUM 9 +Fl_Window* win; +Fl_Check_Button* check_button; +Fl_Box* title_box; +Fl_Box* tip_box; +int curr_tip = 0; -using namespace fltk; +FortuneFile* ffile = 0; +edelib::String fstring; -unsigned int curr_tip = 0; -const char* tiplist[TIPS_NUM] = -{ -_("To start any application is simple. Press on the button with your user name, go\ - to the Programs menu, select category and click on the wished program."), - -_("To exit the EDE, press button with your user name and then Logout."), - -_("To lock the computer, press button with your user name and then choose Lock."), - -_("To setup things on the computer, press button with your user name, Panel menu and then the Control panel."), - -_("To add a program that is not in the Programs menu, click on the button with your user,\ - Panel menu, and then Menu editor."), - -_("Notice that this is still development version, so please send your bug reports or\ - comments on EDE forum, EDE bug reporting system (on project's page), or check mails of current\ - maintainers located in AUTHORS file."), - -_("You can download latest release on http://sourceforge.net/projects/ede.") +#define TITLE_TIPS_NUM 4 +const char* title_tips[TITLE_TIPS_NUM] = { + _("Did you know ?"), + _("Tip of the Day"), + _("A tip..."), + _("Boring \"Did you know ?\"") }; -const char* title_tips[TITLE_TIPS_NUM] = -{ -_("Boring \"Did you know...\""), -_("How about this..."), -_("Smart idea..."), -_("Really smart idea..."), -_("Really really smart idea..."), -_("Uf..."), -_("Something new..."), -_("Or maybe this..."), -_("...") -}; +void preformat_tip(edelib::String& str) { + unsigned int sz = str.length(); + unsigned int j; -const char* random_txt(const char** lst, unsigned int max) -{ + for(unsigned int i = 0; i < sz; i++) { + if(str[i] == '\n') { + j = i; + j++; + if(j < sz && str[j] != '\n') + str[i] = ' '; + } + } +} + +const char* random_title(const char** lst, unsigned int max) { unsigned int val = rand() % max; - curr_tip = val; return lst[val]; } -void close_cb(Widget*, void* w) -{ - Window* win = (Window*)w; +const char* random_fortune(void) { + unsigned int val = rand() % (fortune_num_items(ffile) - 1); + curr_tip = val; + fortune_get(ffile, val, fstring); + return fstring.c_str(); +} + +void close_cb(Fl_Widget*, void*) { win->hide(); } -void next_cb(Widget*, void* tb) -{ - InvisibleBox* tipbox = (InvisibleBox*)tb; +void next_cb(Fl_Widget*, void*) { + if(!ffile) + return; + curr_tip++; - if(curr_tip >= TIPS_NUM) + if(curr_tip >= (int)fortune_num_items(ffile)) curr_tip = 0; - tipbox->label(tiplist[curr_tip]); - tipbox->redraw_label(); + + fortune_get(ffile, curr_tip, fstring); + //preformat_tip(fstring); + tip_box->label(fstring.c_str()); } -void prev_cb(Widget*, void* tb) -{ - InvisibleBox* tipbox = (InvisibleBox*)tb; - if(curr_tip == 0) - curr_tip = TIPS_NUM - 1; - else +void prev_cb(Fl_Widget*, void*) { + if(!ffile) + return; + + curr_tip--; + if(curr_tip < 0) { + curr_tip = fortune_num_items(ffile); curr_tip--; - tipbox->label(tiplist[curr_tip]); - tipbox->redraw_label(); + } + + fortune_get(ffile, curr_tip, fstring); + tip_box->label(fstring.c_str()); } -int main(int argc, char** argv) -{ - srand(time(NULL)); +FortuneFile* load_fortune_file(void) { + edelib::Config conf; + if(!conf.load("etip.conf")) + return NULL; - Window* win = new Window(460, 200, _("Tips...")); + char path[1024]; + if(!conf.get("etip", "Path", path, sizeof(path))) + return NULL; + + // check if file exists and at the same place we have .dat file + if(!edelib::file_exists(path)) + return NULL; + + edelib::String dat = path; + dat += ".dat"; + + if(!edelib::file_exists(dat.c_str())) + return NULL; + + return fortune_open(path, dat.c_str()); +} + +int main(int argc, char **argv) { + ffile = load_fortune_file(); + + // initialize random number only if we loaded tips + if(ffile) + srand(time(0)); + + win = new Fl_Window(535, 260, _("EDE Tips")); win->begin(); + Fl_Group* main_group = new Fl_Group(10, 10, 515, 205); + main_group->box(FL_DOWN_BOX); + main_group->color(FL_BACKGROUND2_COLOR); + main_group->begin(); + Fl_Box* image_box = new Fl_Box(11, 13, 121, 201); + image_box->image(image_hint); - InvisibleBox* img = new InvisibleBox(10, 10, 70, 65); - xpmImage pix(hint_xpm); - img->image(pix); - img->box(FLAT_BOX); + title_box = new Fl_Box(155, 23, 355, 25, random_title(title_tips, TITLE_TIPS_NUM)); + title_box->labelfont(FL_HELVETICA_BOLD); + title_box->align(196|FL_ALIGN_INSIDE); - InvisibleBox* title = new InvisibleBox(85, 15, 365, 25, random_txt(title_tips, TITLE_TIPS_NUM)); - title->box(fltk::FLAT_BOX); - title->labelfont(fltk::HELVETICA_BOLD); - title->align(fltk::ALIGN_LEFT|fltk::ALIGN_INSIDE); + tip_box = new Fl_Box(155, 60, 355, 140); + tip_box->align(197|FL_ALIGN_INSIDE); - InvisibleBox* tiptxt = new InvisibleBox(85, 45, 365, 110, random_txt(tiplist, TIPS_NUM)); - tiptxt->box(fltk::FLAT_BOX); - tiptxt->align(fltk::ALIGN_TOP|fltk::ALIGN_LEFT|fltk::ALIGN_INSIDE|fltk::ALIGN_WRAP); + if(!ffile) + tip_box->label(_("I'm unable to correctly load tip files. Please check what went wrong")); + else + tip_box->label(random_fortune()); - new fltk::CheckButton(10, 165, 155, 25, _("Do not bother me")); + main_group->end(); - Button* prev = new Button(170, 165, 90, 25, _("@< Previous")); - prev->callback(prev_cb, tiptxt); - Button* next = new Button(265, 165, 90, 25, _("Next @>")); - next->callback(next_cb, tiptxt); + check_button = new Fl_Check_Button(10, 224, 225, 25, _("Show tips on startup")); + check_button->down_box(FL_DOWN_BOX); + + Fl_Button* prev_button = new Fl_Button(240, 224, 90, 25, _("&Previous")); + prev_button->callback(prev_cb); + + Fl_Button* next_button = new Fl_Button(335, 224, 90, 25, _("&Next")); + next_button->callback(next_cb); + + Fl_Button* close_button = new Fl_Button(435, 224, 90, 25, _("&Close")); + close_button->callback(close_cb); + + // check_button somehow steal focus + close_button->take_focus(); - Button* close = new Button(360, 165, 90, 25, _("&Close")); - close->callback(close_cb, win); win->end(); + win->show(argc, argv); - win->set_modal(); - win->show(); - return run(); + Fl::run(); + + if(ffile) + fortune_close(ffile); + + return 0; } diff --git a/etip/etip.fl b/etip/etip.fl deleted file mode 100644 index 8408a93..0000000 --- a/etip/etip.fl +++ /dev/null @@ -1,42 +0,0 @@ -# data file for the FLTK User Interface Designer (FLUID) -version 2.1000 -header_name {.h} -code_name {.cxx} -gridx 5 -gridy 5 -snap 3 -Function {} {open -} { - {fltk::Window} {} {open - xywh {446 296 460 200} resizable visible - } { - {fltk::InvisibleBox} {} { - xywh {10 10 70 65} box FLAT_BOX - image {icons/hint.xpm} - } - {fltk::InvisibleBox} {} { - label {Did you know} - xywh {85 15 365 25} align 36 box FLAT_BOX labelfont 1 - } - {fltk::InvisibleBox} {} { - label {To start any application is simple. Press on the button with your user name, go to the Programs menu, select category and click on the wished program.} - xywh {85 45 365 110} align 165 box FLAT_BOX - } - {fltk::CheckButton} {} { - label {Do not bother me} - xywh {10 165 155 25} - } - {fltk::Button} {} { - label {@< Previous} - xywh {170 165 90 25} - } - {fltk::Button} {} { - label {Next @>} selected - xywh {265 165 90 25} - } - {fltk::Button} {} { - label {&Close} - xywh {360 165 90 25} - } - } -} diff --git a/etip/etip.fld b/etip/etip.fld deleted file mode 100644 index bd5ae9c..0000000 --- a/etip/etip.fld +++ /dev/null @@ -1,100 +0,0 @@ -# data file for the FLTK User Interface Designer (FLUID) -version 2.0100 -images_dir ./ -header_name {.h} -code_name {.cpp} -gridx 5 -gridy 5 -snap 3 -decl {// Tips for EDE is (C) Copyright 2001-2002 by Martin Pekar, this program is provided under the terms of GNU GPL v.2, see file COPYING for more information.} {} - -decl {\#include } {} - -decl {\#include } {} - -decl {\#include "EDE_Config.h"} {} - -decl {\#include "NLS.h"} {} - -decl {char *tips[5];} {} - -decl {int activeTip = 0;} {} - -decl {EDE_Config conf("EDE Team", "etip");} {} - -Function {} {open -} { - code {//fl_init_locale_support("etip", PREFIX"/share/locale"); -bool show = true; -conf.set_section("Tips"); -conf.read("Show", show, true); -if (!show) - return 0; -tips[0]=_("To start any application is simple. Press on the EDE button, go to the Programs menu, select category and click on the wished program."); -tips[1]=_("To exit the Equinox Desktop environment, press EDE button and then logout."); -tips[2]=_("To lock the computer, press EDE button and then lock."); -tips[3]=_("To setup things on the computer, press EDE button, Panel menu and then the Control panel."); -tips[4]=_("To add a program that is not in the Programs menu, click on the EDE button, Panel menu, and then Edit panels menu.");} {} - {fltk::Window} {} { - label {Startup tips} open selected - xywh {394 319 400 205} resizable - extra_code {o->size_range(o->w(), o->h());} visible - } { - {fltk::InvisibleBox} {} { - xywh {10 15 60 145} image {/home/vedran/ede/ede2/etip/icons/hint.xpm} - } - {fltk::CheckButton} show_check { - label {Do not show this dialog next time} - xywh {77 145 313 20} align 148 - } - {fltk::Group} {} {open - xywh {80 15 310 125} align 209 resizable box BORDER_FRAME color 0xf4da1200 labelsize 18 - } { - {fltk::InvisibleBox} tipsBox { - xywh {1 46 308 74} align 144 resizable box FLAT_BOX color 7 - extra_code {o->label(tips[activeTip]); -o->window()->redraw();} - } - {fltk::InvisibleBox} {} { - label {Welcome to Equinox Desktop Environment} - xywh {5 5 300 45} align 144 box FLAT_BOX color 0xf4da1200 labelcolor 32 labelsize 18 - } - } - {fltk::Group} {} {open - xywh {0 165 400 40} - } { - {fltk::Button} {} { - label {<< &Previous} - callback {if (activeTip>0 && activeTip<=4) { -activeTip--; -tipsBox->label(tips[activeTip]); -tipsBox->window()->redraw(); -}} - xywh {125 7 90 23} align 128 - } - {fltk::Button} {} { - label {&Next >>} - callback {if (activeTip>=0 && activeTip<4) { -activeTip++; -tipsBox->label(tips[activeTip]); -tipsBox->window()->redraw(); -}} - xywh {215 7 90 23} - } - {fltk::InvisibleBox} {} { - xywh {0 5 157 30} - extra_code {// Fluid sucks in layouting... -o->parent()->resizable(o);} - } - {fltk::Button} {} { - label {&Close} - callback {//Fl_Config conf(fl_find_config_file("apps/etip.conf", 1)); -conf.set_section("Tips"); -conf.write("Show", !show_check->value()); -conf.flush(); -exit(0);} - xywh {320 7 70 23} - } - } - } -} diff --git a/etip/fl/etip.fl b/etip/fl/etip.fl new file mode 100644 index 0000000..8697f8f --- /dev/null +++ b/etip/fl/etip.fl @@ -0,0 +1,43 @@ +# data file for the Fltk User Interface Designer (fluid) +version 1.0108 +header_name {.h} +code_name {.cxx} +Function {} {open +} { + Fl_Window {} { + label {EDE Tips And Tricks} open + xywh {299 206 535 260} type Double visible + } { + Fl_Check_Button {} { + label {Show tips on startup} selected + xywh {10 224 225 25} down_box DOWN_BOX labelsize 13 + } + Fl_Button {} { + label {&Previous} + xywh {240 224 90 25} + } + Fl_Button {} { + label {&Next} + xywh {335 224 90 25} + } + Fl_Button {} { + label {&Close} + xywh {435 224 90 25} + } + Fl_Group {} {open + xywh {10 10 515 205} box DOWN_BOX color 7 + } { + Fl_Box {} { + image {../icons/hint.xpm} xywh {11 13 121 201} labelsize 14 + } + Fl_Box {} { + label {Some tips...} + xywh {155 23 355 25} labelfont 1 align 212 + } + Fl_Box {} { + label {If you cannot access the titlebar, you can still move a window on the screen by holding the Alt key, clicking anywhere into the window and "dragging" it with the mouse.} + xywh {155 60 355 140} align 213 + } + } + } +} diff --git a/etip/icons/hint.xpm b/etip/icons/hint.xpm index 68959a6..47e3bae 100644 --- a/etip/icons/hint.xpm +++ b/etip/icons/hint.xpm @@ -1,820 +1,374 @@ /* XPM */ static char * hint_xpm[] = { -"48 48 769 2", -" c None", -". c #C8BC92", -"+ c #E4DBAC", -"@ c #F3EBC2", -"# c #FAF5DF", -"$ c #FBF9ED", -"% c #FCF9F2", -"& c #FBF9EC", -"* c #F8F3DC", -"= c #F3EABB", -"- c #E1D290", -"; c #AA975E", -"> c #D9D2B3", -", c #EDE9D3", -"' c #F6F5F1", -") c #FAF8F3", -"! c #FEFCF4", -"~ c #FEFDF5", -"{ c #FEFDF3", -"] c #FEFCF3", -"^ c #FEFCF2", -"/ c #FEFCF1", -"( c #FDFBEF", -"_ c #FBF8EE", -": c #F1E9B9", -"< c #C3B47C", -"[ c #929292", -"} c #EAE5C8", -"| c #F8F6F2", -"1 c #FCFBF6", -"2 c #FEFDF8", -"3 c #FEFDF7", -"4 c #FEFDF2", -"5 c #FEFDF1", -"6 c #FEFCF0", -"7 c #FEFCEE", -"8 c #FAF9EE", -"9 c #EAE2B9", -"0 c #AAAAAA", -"a c #DBD6C7", -"b c #EEECE1", -"c c #FBFAF6", -"d c #FEFDFA", -"e c #FEFDFB", -"f c #FEFDF4", -"g c #FEFDF0", -"h c #FEFDEF", -"i c #FEFCEF", -"j c #FCF9EE", -"k c #F1EED6", -"l c #BEB49E", -"m c #DBD7C7", -"n c #EEEDE5", -"o c #F8F7F4", -"p c #FEFDF9", -"q c #FEFDFC", -"r c #FEFDFD", -"s c #FEFDEE", -"t c #FCF9ED", -"u c #F5F2DC", -"v c #AEA384", -"w c #EEECE0", -"x c #FAF9F6", -"y c #FEFDFE", -"z c #CCCBCB", -"A c #D1D0CF", -"B c #C7C6BE", -"C c #D8D7CD", -"D c #F3EFD5", -"E c #777777", -"F c #E9E7D7", -"G c #F7F7F4", -"H c #FDFCF8", -"I c #787878", -"J c #656564", -"K c #FEFDF6", -"L c #71716C", -"M c #6A6A65", -"N c #FDFCED", -"O c #FAF7EC", -"P c #EDE7B9", -"Q c #E3E0D2", -"R c #F2F2F0", -"S c #5A5A59", -"T c #4D4D4C", -"U c #545451", -"V c #41413E", -"W c #F9F7EC", -"X c #C5B582", -"Y c #EBE9DE", -"Z c #515150", -"` c #FFFEF7", -" . c #FFFEF6", -".. c #FFFEF5", -"+. c #4E4E4B", -"@. c #FEFDED", -"#. c #F3EDC0", -"$. c #6B6B6B", -"%. c #DBD3B8", -"&. c #F3F3F0", -"*. c #5B5B5A", -"=. c #4F4F4E", -"-. c #FFFFF9", -";. c #FFFFF8", -">. c #FFFEF8", -",. c #4F4E4B", -"'. c #FEFDEC", -"). c #FEFDEB", -"!. c #FCFAEC", -"~. c #917E4C", -"{. c #E8E4CE", -"]. c #FFFFFF", -"^. c #545453", -"/. c #FFFFFB", -"(. c #FFFFFA", -"_. c #4D4C4A", -":. c #FFFEF4", -"<. c #E8DA86", -"[. c #8E8E8E", -"}. c #EEEBD8", -"|. c #585857", -"1. c #4C4B49", -"2. c #535250", -"3. c #F5EFBC", -"4. c #9A9A9A", -"5. c #F3F0E3", -"6. c #FDFCF7", -"7. c #60605E", -"8. c #585856", -"9. c #4A4947", -"0. c #FFFEF2", -"a. c #F8F6D7", -"b. c #C9C7C5", -"c. c #B2B1B0", -"d. c #959494", -"e. c #B3B2B0", -"f. c #BCBCBB", -"g. c #F5F4EF", -"h. c #FFFFFC", -"i. c #DEDEDB", -"j. c #EEEEEA", -"k. c #D9D9D3", -"l. c #FFFEF3", -"m. c #FFFEEF", -"n. c #FEFDEA", -"o. c #FAF7E8", -"p. c #707070", -"q. c #B6B5B4", -"r. c #E6E3DF", -"s. c #DAD6D1", -"t. c #5A5551", -"u. c #C1BAB2", -"v. c #DCD8D5", -"w. c #B5B2AF", -"x. c #F7F5F2", -"y. c #FFFFFE", -"z. c #9C9B90", -"A. c #FCFAED", -"B. c #5A5A5A", -"C. c #C2BFBA", -"D. c #EAE6E2", -"E. c #D5C9BE", -"F. c #7B7268", -"G. c #E8E3DE", -"H. c #E8E1DA", -"I. c #968A7E", -"J. c #898583", -"K. c #F4F4ED", -"L. c #FDFCF6", -"M. c #D8D7D3", -"N. c #FFFFFD", -"O. c #FFFEE6", -"P. c #FFFEF0", -"Q. c #FEFDE9", -"R. c #6F6F66", -"S. c #FDF9E8", -"T. c #5E5E5E", -"U. c #8D8A88", -"V. c #E6E2DC", -"W. c #D9C9B9", -"X. c #9C8979", -"Y. c #B4A89B", -"Z. c #E7DED3", -"`. c #CBBBA7", -" + c #94887A", -".+ c #C6C0B8", -"++ c #A6A4A2", -"@+ c #F2EFE2", -"#+ c #FDFCF4", -"$+ c #848380", -"%+ c #D2D1CC", -"&+ c #FFFEE8", -"*+ c #C7C6B7", -"=+ c #7A7A70", -"-+ c #FCF8D9", -";+ c #626262", -">+ c #B3AFAB", -",+ c #E8E1D9", -"'+ c #CBB4A0", -")+ c #7C6C5B", -"!+ c #E1D8CC", -"~+ c #DFCFBD", -"{+ c #A69482", -"]+ c #C3BBB2", -"^+ c #EDE9E6", -"/+ c #CFC9C2", -"(+ c #949391", -"_+ c #EEEAD4", -":+ c #FCFBF3", -"<+ c #D8D7D1", -"[+ c #686865", -"}+ c #FFFEE7", -"|+ c #FFFEE4", -"1+ c #7E7E74", -"2+ c #D8D7C7", -"3+ c #F8F2B6", -"4+ c #807150", -"5+ c #CAC5B9", -"6+ c #B3B3B3", -"7+ c #DCD7D1", -"8+ c #DBCEC1", -"9+ c #AB9884", -"0+ c #9E8F81", -"a+ c #E7DDD1", -"b+ c #D2BFA9", -"c+ c #958475", -"d+ c #E2DCD5", -"e+ c #DED3C6", -"f+ c #B4A694", -"g+ c #83807D", -"h+ c #E5DFBF", -"i+ c #FAF8F2", -"j+ c #9D9C97", -"k+ c #858481", -"l+ c #FEFDCD", -"m+ c #FFFEDE", -"n+ c #FFFEF1", -"o+ c #A09F93", -"p+ c #8B8A7F", -"q+ c #FEFCEB", -"r+ c #E6D579", -"s+ c #B49E58", -"t+ c #D3CCB0", -"u+ c #C2C0B9", -"v+ c #B5B3B0", -"w+ c #E6DFD6", -"x+ c #C3B4A5", -"y+ c #917F70", -"z+ c #D2C5B8", -"A+ c #DECEBD", -"B+ c #AB9984", -"C+ c #B5A99C", -"D+ c #E8E0D8", -"E+ c #BEAE9D", -"F+ c #B6ADA3", -"G+ c #B6B2AE", -"H+ c #9A9997", -"I+ c #CDC3A5", -"J+ c #FDFCF2", -"K+ c #7B7B75", -"L+ c #B2B1AB", -"M+ c #FEFCBF", -"N+ c #FFFDD6", -"O+ c #FFFEEE", -"P+ c #E1E0CE", -"Q+ c #828177", -"R+ c #D1D0BF", -"S+ c #FEFBED", -"T+ c #8A722C", -"U+ c #C8B876", -"V+ c #DBD3BD", -"W+ c #CBC3B4", -"X+ c #6B6865", -"Y+ c #E9E4DD", -"Z+ c #EDE8E3", -"`+ c #D5CDC5", -" @ c #B2A69A", -".@ c #B4A493", -"+@ c #8D7D6E", -"@@ c #DCD4CC", -"#@ c #DBCEC0", -"$@ c #BAAA9B", -"%@ c #EAE4E0", -"&@ c #E2DCD6", -"*@ c #999794", -"=@ c #EBE8D5", -"-@ c #FAF8F0", -";@ c #74746E", -">@ c #A09F98", -",@ c #FEFDE3", -"'@ c #FEFBAC", -")@ c #DDDCCA", -"!@ c #78786E", -"~@ c #BEBDAD", -"{@ c #FEFDE8", -"]@ c #F7EFB6", -"^@ c #463814", -"/@ c #D3C693", -"(@ c #DAD2BB", -"_@ c #D9D4C6", -":@ c #917E6B", -"<@ c #B7A68F", -"[@ c #E2D3C2", -"}@ c #EDE4D9", -"|@ c #F1EEE9", -"1@ c #F1EEEB", -"2@ c #D7D1CA", -"3@ c #A39489", -"4@ c #DFD6CD", -"5@ c #B4A292", -"6@ c #C3B8AD", -"7@ c #E3DBD3", -"8@ c #C4B9AC", -"9@ c #888683", -"0@ c #D5CEB5", -"a@ c #F9F6EF", -"b@ c #7B7B73", -"c@ c #8E8D86", -"d@ c #C3C2B7", -"e@ c #FEFDC6", -"f@ c #FDFAA0", -"g@ c #BFBEAF", -"h@ c #727268", -"i@ c #CCCBBB", -"j@ c #FDFBED", -"k@ c #A58939", -"l@ c #675325", -"m@ c #D1C69E", -"n@ c #D9D4C2", -"o@ c #DFDBD3", -"p@ c #BDAE9B", -"q@ c #927F6A", -"r@ c #D5C4B1", -"s@ c #E9DFD2", -"t@ c #EEE7DF", -"u@ c #F2EEEB", -"v@ c #F1EFED", -"w@ c #D9D2CB", -"x@ c #C8BAAB", -"y@ c #A09183", -"z@ c #D5C8B8", -"A@ c #948C82", -"B@ c #E7DFB9", -"C@ c #FCFAF1", -"D@ c #B2B1A4", -"E@ c #818077", -"F@ c #A3A26A", -"G@ c #B9B8AB", -"H@ c #FEFCBE", -"I@ c #C3C297", -"J@ c #717167", -"K@ c #7F7E74", -"L@ c #D8D7C5", -"M@ c #FDFBEA", -"N@ c #EFE6A8", -"O@ c #3E3E3E", -"P@ c #807252", -"Q@ c #CBBEA1", -"R@ c #D9D2C4", -"S@ c #E4DED6", -"T@ c #DBD2C5", -"U@ c #897664", -"V@ c #A59584", -"W@ c #E7DED2", -"X@ c #ECE5DE", -"Y@ c #F0EBE8", -"Z@ c #F3F1EE", -"`@ c #BDB1A8", -" # c #B9AFA5", -".# c #E4DBCF", -"+# c #C1B3A1", -"@# c #7F7C78", -"## c #797979", -"$# c #F3EED4", -"%# c #FCF9EF", -"&# c #FEFCEA", -"*# c #EDECDB", -"=# c #A7A56B", -"-# c #8E8D82", -";# c #74746A", -"># c #747469", -",# c #747356", -"'# c #807F75", -")# c #EDECD9", -"!# c #F6F1D1", -"~# c #6F6F6F", -"{# c #848484", -"]# c #8C867C", -"^# c #B3AA93", -"/# c #DCD2C8", -"(# c #E7DFD4", -"_# c #E7E2DC", -":# c #C7B5A0", -"<# c #A79481", -"[# c #CEC2B6", -"}# c #EBE5DE", -"|# c #EFEBE7", -"1# c #F3F0EE", -"2# c #F0EDEA", -"3# c #E3DAD3", -"4# c #D2C1B3", -"5# c #D2C4B2", -"6# c #988E82", -"7# c #858584", -"8# c #ADA48D", -"9# c #F3EFDF", -"0# c #FAF9EF", -"a# c #FEFDBD", -"b# c #D0CD7C", -"c# c #F8F4DC", -"d# c #988D72", -"e# c #939393", -"f# c #B1ABA1", -"g# c #E0D2C4", -"h# c #E8DFD1", -"i# c #EBE3DA", -"j# c #DED2C5", -"k# c #CEBDAB", -"l# c #D0C4B8", -"m# c #EBE5DF", -"n# c #F0EEEB", -"o# c #F4F1EF", -"p# c #F1EDEA", -"q# c #EBE4DD", -"r# c #DDCEBF", -"s# c #C1B19F", -"t# c #8C8884", -"u# c #AFA896", -"v# c #F0EBD1", -"w# c #FEFBEE", -"x# c #FEFCE8", -"y# c #FDFA9D", -"z# c #FEFDCF", -"A# c #FEFDCB", -"B# c #FEFDE7", -"C# c #FDF996", -"D# c #FEFDE2", -"E# c #FEFCE7", -"F# c #FBF9EA", -"G# c #F3F0D4", -"H# c #9B9077", -"I# c #838383", -"J# c #B6B3B1", -"K# c #CEC3B4", -"L# c #E6DACC", -"M# c #E9DED1", -"N# c #E7DCD1", -"O# c #DECFBF", -"P# c #E0D5C8", -"Q# c #EFEDE9", -"R# c #EFECE8", -"S# c #E8DBCD", -"T# c #D3C4B2", -"U# c #A3988C", -"V# c #A4A3A2", -"W# c #858585", -"X# c #E4DBB2", -"Y# c #F9F6EC", -"Z# c #FCF8E4", -"`# c #FCF6B6", -" $ c #FCF8B1", -".$ c #FEFAB0", -"+$ c #FEFBB3", -"@$ c #FEFBB7", -"#$ c #FEFCB6", -"$$ c #FEFCB8", -"%$ c #FEFBB2", -"&$ c #FEFAC5", -"*$ c #FCFBDA", -"=$ c #F8F8EB", -"-$ c #EAE4C2", -";$ c #8B8B8B", -">$ c #8D8883", -",$ c #DDCCB8", -"'$ c #E7D9C8", -")$ c #E9DCCC", -"!$ c #E7DBCA", -"~$ c #E7DCCF", -"{$ c #EAE3DC", -"]$ c #E8DFD3", -"^$ c #E3D7C8", -"/$ c #DBCCBA", -"($ c #B9AA97", -"_$ c #8E8A83", -":$ c #6C6C6C", -"<$ c #948454", -"[$ c #F5EBA6", -"}$ c #F6EDB3", -"|$ c #F7F0B2", -"1$ c #F9F2B2", -"2$ c #FCF6B7", -"3$ c #FCF7B7", -"4$ c #FDF9B7", -"5$ c #FDFAB8", -"6$ c #FCF8B7", -"7$ c #FBF7B6", -"8$ c #FAF4B5", -"9$ c #F4EB92", -"0$ c #A69D6D", -"a$ c #959595", -"b$ c #B1B1B1", -"c$ c #969592", -"d$ c #B4ACA2", -"e$ c #DFD2C2", -"f$ c #E0D2C1", -"g$ c #E5D7C7", -"h$ c #E7DBCB", -"i$ c #E5D9CB", -"j$ c #E2D5C7", -"k$ c #DCCFBE", -"l$ c #D2C3B0", -"m$ c #B9A997", -"n$ c #A09485", -"o$ c #93918F", -"p$ c #F7F1C0", -"q$ c #F1E7A4", -"r$ c #F3EAA3", -"s$ c #F6EEB7", -"t$ c #F8F1BF", -"u$ c #F8F1BE", -"v$ c #F9F3BC", -"w$ c #F9F3B5", -"x$ c #F9F3AE", -"y$ c #F8EF9F", -"z$ c #F8F0AB", -"A$ c #F4EA99", -"B$ c #D9C14F", -"C$ c #938355", -"D$ c #918E8A", -"E$ c #AEACA9", -"F$ c #BDB6AF", -"G$ c #C8BBAD", -"H$ c #CCBCAB", -"I$ c #CDBFAE", -"J$ c #CFC1B1", -"K$ c #CEBFAD", -"L$ c #C1B09F", -"M$ c #B19F8D", -"N$ c #A49483", -"O$ c #A19A91", -"P$ c #F5E79A", -"Q$ c #F6F0C1", -"R$ c #FAF8E6", -"S$ c #FBFAEE", -"T$ c #FAF5CE", -"U$ c #F9F5CA", -"V$ c #FAF6CE", -"W$ c #FBF7D0", -"X$ c #F6EEB3", -"Y$ c #F0E59A", -"Z$ c #DDC862", -"`$ c #968336", -" % c #A18D4B", -".% c #948960", -"+% c #7D7D7C", -"@% c #9D9C9C", -"#% c #6F6E6A", -"$% c #72665C", -"%% c #A18F7D", -"&% c #AD9984", -"*% c #9E8C77", -"=% c #A1907B", -"-% c #9D8F7E", -";% c #A9A096", -">% c #A39F9C", -",% c #F3E3A6", -"'% c #EADB9B", -")% c #F4E7A8", -"!% c #F7E9A9", -"~% c #F7EAA9", -"{% c #F5E89B", -"]% c #F2E187", -"^% c #EDDB7A", -"/% c #E7D573", -"(% c #DFCB6B", -"_% c #D7C367", -":% c #BCA85A", -"<% c #9D8B47", -"[% c #6C612F", -"}% c #928349", -"|% c #B6A977", -"1% c #B1AB98", -"2% c #969696", -"3% c #919191", -"4% c #918A6F", -"5% c #49422C", -"6% c #3C3835", -"7% c #8C8278", -"8% c #ABA196", -"9% c #9F9891", -"0% c #A09E9B", -"a% c #F8F3DD", -"b% c #F8F0D5", -"c% c #E6D69B", -"d% c #DACC96", -"e% c #D4C68E", -"f% c #D6C686", -"g% c #CDBC70", -"h% c #CAB766", -"i% c #C3B064", -"j% c #C6B477", -"k% c #C9BE8F", -"l% c #D3C38A", -"m% c #A28E55", -"n% c #3B3B3B", -"o% c #BDB083", -"p% c #DAC88C", -"q% c #D5C692", -"r% c #968E72", -"s% c #6E6E6E", -"t% c #999999", -"u% c #8C8C8C", -"v% c #C1B693", -"w% c #9D9269", -"x% c #545454", -"y% c #F0DC96", -"z% c #F6EBC1", -"A% c #FBF8EA", -"B% c #FCFBF1", -"C% c #FDFBF2", -"D% c #F9F4DA", -"E% c #F3EAC3", -"F% c #F1E6BD", -"G% c #ECE2BA", -"H% c #EBE2BD", -"I% c #DFD4A9", -"J% c #BDAA64", -"K% c #8B8054", -"L% c #828282", -"M% c #A1A1A1", -"N% c #9F9F9F", -"O% c #464646", -"P% c #D7C37C", -"Q% c #E4CD7B", -"R% c #E4CF86", -"S% c #E4D393", -"T% c #DDCD93", -"U% c #DECD92", -"V% c #CFBF82", -"W% c #C3B377", -"X% c #505050", -"Y% c #F3E6B6", -"Z% c #E3D296", -"`% c #F1E1A8", -" & c #F4E7B9", -".& c #F2E4B1", -"+& c #EFDD9C", -"@& c #E7D288", -"#& c #DFC97A", -"$& c #D9C374", -"%& c #CCB76D", -"&& c #C4B069", -"*& c #A29565", -"=& c #948A62", -"-& c #878787", -";& c #696969", -">& c #424242", -",& c #ACA076", -"'& c #BFB077", -")& c #C7B572", -"!& c #C6B472", -"~& c #887D57", -"{& c #494949", -"]& c #F7EFD6", -"^& c #F4EAC7", -"/& c #E6D8AA", -"(& c #D4C697", -"_& c #D1C59C", -":& c #CEC190", -"<& c #C4B275", -"[& c #BDAA67", -"}& c #B6A361", -"|& c #AE9D5D", -"1& c #C8BD9A", -"2& c #D1C599", -"3& c #9A8D55", -"4& c #727272", -"5& c #717171", -"6& c #EBD792", -"7& c #F1E5BA", -"8& c #F9F5E6", -"9& c #FCFAF4", -"0& c #FBF9EE", -"a& c #F9F6EA", -"b& c #F5EED7", -"c& c #ECE3C0", -"d& c #EADFBC", -"e& c #E8E0C3", -"f& c #D2C492", -"g& c #B8A462", -"h& c #837646", -"i& c #434343", -"j& c #EFE6BF", -"k& c #DFD099", -"l& c #EDE0B1", -"m& c #EEE2B3", -"n& c #EBDCA7", -"o& c #E6D597", -"p& c #DDC982", -"q& c #D3BF72", -"r& c #CDB86D", -"s& c #C9B46A", -"t& c #BCAA65", -"u& c #9F8F55", -"v& c #72673C", -"w& c #484848", -"x& c #F1E9CB", -"y& c #E6DCB9", -"z& c #D4C9A3", -"A& c #CCC19A", -"B& c #C3B480", -"C& c #B9A86C", -"D& c #B2A060", -"E& c #AC9B5C", -"F& c #A59558", -"G& c #BFB38B", -"H& c #CCBF92", -"I& c #92824E", -"J& c #535353", -"K& c #ABA48D", -"L& c #E4D4A3", -"M& c #F0E9CE", -"N& c #F8F6EB", -"O& c #F8F5E9", -"P& c #EFE7CC", -"Q& c #EBE2C2", -"R& c #E7DEBC", -"S& c #E7DEC1", -"T& c #D9D0A9", -"U& c #C4B57F", -"V& c #AEA070", -"W& c #605F5A", -"X& c #868686", -"Y& c #B1B0AD", -"Z& c #DCD5B8", -"`& c #E0D4A4", -" * c #E0D2A1", -".* c #E0D19D", -"+* c #DAC98F", -"@* c #D0BC7A", -"#* c #C7B46C", -"$* c #C3B068", -"%* c #BEAA66", -"&* c #AB9C62", -"** c #898578", -"=* c #8E8D8C", -"-* c #B7B7B7", -";* c #A9A8A4", -">* c #B6B098", -",* c #AFA682", -"'* c #AA9E73", -")* c #928553", -"!* c #847847", -"~* c #6B6242", -"{* c #36311D", -"]* c #3E3A2C", -"^* c #696968", -"/* c #515151", -"(* c #767676", -"_* c #242424", -":* c #191919", -"<* c #1F1F1F", -"[* c #666666", -"}* c #676767", -"|* c #353535", -"1* c #3C3C3C", -"2* c #757575", -"3* c #4E4E4E", -"4* c #8D8D8D", -" ", -" ", -" . + @ # $ % & * = - ; ", -" > , ' ) ! ~ { ] ^ / / ( _ : < [ ", -" } | 1 2 2 3 3 ~ { { 4 5 5 6 7 8 9 0 ", -" a b c 2 d e e d 3 ~ f { { 4 5 g h i j k l ", -" m n o p q r r e p 3 ~ ~ f { { 5 g g s h t u v ", -" w x d q r y z A p 3 3 ~ ~ f B C 5 g h s s t D E ", -" F G H e r r r I J p 2 3 K ~ f L M 5 g h s s N O P I ", -" Q R H d q r r r S T p p 3 3 ~ ~ U V 4 g g s s s N W X ", -" Y o d e q q q q S Z d p 2 ` ...+.+.4 g g s @.@.@.N #.$. ", -" %.&.H d e q r r r *.=.d -.;.>.` .,.,.{ 5 g s '.).).s !.~. ", -" {.o p d e q r ].r S ^./.(.-.;.>.` _.,.:.4 h @.'.).).@.7 <.[. ", -" }.1 p d e q r r r |.Z /./.(.(.-.>.1.2...:.g s ).).).@.s 3.4. ", -" 5.6.p d e e q q r 7.8././.(.(.-.-.9.2. ...0.h @.).).).s a.[. b.c.d.e.f. ", -" g.3 p p d e e e h.i.j./.h././././.k.k.>. .l.m.@.n.).'.s o.p. q.r.s.t.u.v.w. ", -" x.3 2 p p e e e /././.y.y.h.]./.].-.(.>.` :.m.s n.z.).s A.B. C.D.E.F.G.H.I.J. ", -" K.L.K M.p p d d N.N.N./.N.(.N.(.N.N.;.O. .:.P.'.Q.R.'.@.S.T. U.V.W.X.Y.Z.`. +.+++ ", -" @+#+3 $+%+p d d &+(.(.y./.]./.].-.-.;.P. .0.m.).*+=+n.@.-+;+ >+,+'+)+!+~+{+]+^+/+(+ ", -" _+:+~ <+[+2 2 p ~ }+(.(.-.-.-.-.-.>.|+..l.m.'.Q.1+2+n.@.3+4+5+ 6+7+8+9+0+a+b+c+d+e+f+g+ ", -" h+i+f f j+k+3 2 2 l+;.-.;.>.>.` ` .m+l.n+@.n.o+p+Q.n.q+r+s+t+u+ v+w+x+y+z+A+B+C+D+E+F+G+H+", -" I+g.J+g 4 K+L+f ~ M+K . . .......:.N+O+).n.P+Q+R+n.).S+T+U+V+W+X+]+Y+Z+`+ @.@+@@@#@$@%@&@*@", -" =@-@h h g ;@>@4 ,@{ { l.l.l.l.n+P.'@).Q.)@!@~@{@Q.).]@^@/@(@_@:@<@[@}@|@1@2@3@4@5@6@7@8@9@", -" 0@a@^ s @.s b@c@d@e@5 g g P.P.m.@.f@{@g@h@i@Q.Q.'.j@k@l@m@n@o@p@q@r@s@t@u@v@w@x@y@7@z@A@ ", -" B@C@/ ).'.'.D@E@F@G@).).Q.Q.Q.H@I@J@K@L@Q.{@).M@N@O@P@Q@R@S@T@U@V@W@X@Y@Z@^+`@ #.#+#@# ", -" ##$#%#&#n.n.n.*#=#-#;#J@;#>#>#,#'#)#{@{@{@Q.M@!#~#{#]#^#/#(#_#:#<#[#}#|#1#2#3#4#5#6#7# ", -" 8#9#0#6 n.n.n.a#e@2+R+R+R+R+b#Q.Q.Q.{@'.M@c#d#e# f#g#h#i#j#k#l#m#n#o#p#q#r#s#t# ", -" u#v#t w#x#{@,@y#z#l+A#A#B#C#D#B#B#E#F#G#H#I# J#K#L#M#N#O#P#q#Q#R#i#S#T#U#V# ", -" W#X#Y#Z#`# $.$+$@$#$$$$$%$%$&$*$=$-$[ ;$ >$,$'$)$!$~${$}#]$^$/$($_$ ", -" :$<$[$}$|$1$2$3$4$5$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$v$w$x$y$z$A$B$C$D$ E$F$G$H$I$J$K$L$M$N$O$ ", -" P$Q$R$S$F#T$U$V$W$X$Y$Z$`$ %.%+% @%#%$%%%&%*%=%-%;%>% ", -" ,%'%)%!%~%{%]%^%/%(%_%:%<%[%}%|%1%2% 3%4%5%6%7%8%9%0% ", -" a%b%c%d%e%f%g%h%i%j%k%l%m%n%T.o%p%q%r%s%{#[ t%u%v%w%x%e# ", -" y%z%A%B%C%D%E%F%G%H%I%J%K%L%M%N%O%P%Q%R%S%T%U%V%W%X%2% ", -" Y%Z%`% &.&+&@&#&$&%&&&*&=&-& ;&>&,&'&)&!&~&{& ", -" ]&^&/&(&_&:&<&[&}&|&1&2&3&;+ I 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&v&w& ", -" 9#x&y&z&A&B&C&D&E&F&G&H&I&J& ", -" K&L&M&N&O&P&Q&R&S&T&U&V&W&X& ", -" Y&Z&`& *.*+*@*#*$*%*&***=* ", -" -*;*>*,*'*)*!*~*{*]*^*-& ", -" N%/*I#(*_*:*<*[* ", -" }*;+4&|*1*2* ", -" 3*T.(*4* ", -" ", -" "}; +"118 197 174 2", +" c #F1F3F5", +". c #F2F4F6", +"+ c #F3F5F6", +"@ c #F0F3F5", +"# c #EEF0F3", +"$ c #EDF0F2", +"% c #EFF1F3", +"& c #F0F2F4", +"* c #F4F5F7", +"= c #F5F6F8", +"- c #F5F7F8", +"; c #F6F7F9", +"> c #F7F8F9", +", c #F8F9FA", +"' c #F9FAFB", +") c #FAFBFC", +"! c #FBFCFC", +"~ c #FCFCFD", +"{ c #FDFDFD", +"] c #FDFEFE", +"^ c #FEFEFE", +"/ c #ECEFF2", +"( c #F9F9FA", +"_ c #ECEEF1", +": c #E8EBEE", +"< c #E6E9ED", +"[ c #E7EAEE", +"} c #E8ECEF", +"| c #EBEEF1", +"1 c #E1E5EA", +"2 c #DFE4E9", +"3 c #E4E7EB", +"4 c #EAEDF0", +"5 c #DCE1E6", +"6 c #DBE0E6", +"7 c #DDE2E7", +"8 c #E0E5E9", +"9 c #E9ECEF", +"0 c #D7DDE3", +"a c #D8DEE3", +"b c #DFE3E8", +"c c #E4E8EC", +"d c #E5E9ED", +"e c #D3DAE0", +"f c #D6DCE2", +"g c #DBE0E5", +"h c #E3E7EB", +"i c #D1D7DE", +"j c #DEE3E7", +"k c #DADFE4", +"l c #D7DCE2", +"m c #E2E6EA", +"n c #D9DEE4", +"o c #D3D9DF", +"p c #CFD6DD", +"q c #CFD5DC", +"r c #CCD3DB", +"s c #CDD4DB", +"t c #D4DAE0", +"u c #CBD3DA", +"v c #CAD1D9", +"w c #C9D0D8", +"x c #C7CFD7", +"y c #C6CED7", +"z c #C5CDD5", +"A c #D5DBE1", +"B c #C8D0D8", +"C c #C6CED6", +"D c #C3CCD4", +"E c #C1CAD3", +"F c #C2CBD4", +"G c #C4CCD5", +"H c #BEC7D1", +"I c #D0D7DE", +"J c #D2D8DF", +"K c #BFC8D1", +"L c #BBC5CF", +"M c #BDC6D0", +"N c #CED5DC", +"O c #C0C9D2", +"P c #CAD2DA", +"Q c #B8C2CC", +"R c #B5C0CB", +"S c #B2BDC8", +"T c #B3BEC9", +"U c #B6C1CB", +"V c #BCC5CF", +"W c #ADB9C5", +"X c #AAB6C2", +"Y c #B5BFCA", +"Z c #B9C3CD", +"` c #BAC3CD", +" . c #BEC7D0", +".. c #B7C1CC", +"+. c #BAC4CE", +"@. c #B1BCC7", +"#. c #C2CAD3", +"$. c #A1AEBC", +"%. c #A6B3C0", +"&. c #ABB7C3", +"*. c #AEBAC5", +"=. c #B4BEC9", +"-. c #909FAF", +";. c #9AA8B7", +">. c #A4B1BE", +",. c #AFBAC6", +"'. c #8092A4", +"). c #8B9BAC", +"!. c #95A4B3", +"~. c #A9B5C1", +"{. c #768A9E", +"]. c #7D8FA2", +"^. c #8596A8", +"/. c #94A3B2", +"(. c #A2AFBD", +"_. c #A9B5C2", +":. c #B1BCC8", +"<. c #73879B", +"[. c #798C9F", +"}. c #8394A6", +"|. c #93A2B2", +"1. c #A3B0BD", +"2. c #ADB8C4", +"3. c #7A8CA0", +"4. c #7B8DA0", +"5. c #B0BBC7", +"6. c #8395A7", +"7. c #8B9CAD", +"8. c #98A7B6", +"9. c #A5B2BF", +"0. c #94A3B3", +"a. c #9CAAB9", +"b. c #A8B4C1", +"c. c #ACB8C4", +"d. c #A7B3C0", +"e. c #A5B1BE", +"f. c #9FACBA", +"g. c #8193A5", +"h. c #97A5B5", +"i. c #96A5B4", +"j. c #A0AEBC", +"k. c #A0ADBB", +"l. c #9DABB9", +"m. c #9CAAB8", +"n. c #99A8B6", +"o. c #9EACBA", +"p. c #98A6B5", +"q. c #8F9FAF", +"r. c #8D9DAE", +"s. c #8E9EAE", +"t. c #92A1B1", +"u. c #90A0B0", +"v. c #8798A9", +"w. c #8798AA", +"x. c #8899AA", +"y. c #899AAB", +"z. c #8A9AAB", +"A. c #8495A7", +"B. c #9BA9B8", +"C. c #7C8FA2", +"D. c #7E90A3", +"E. c #8C9CAD", +"F. c #8697A9", +"G. c #7F91A4", +"H. c #75889C", +"I. c #7B8EA1", +"J. c #91A1B1", +"K. c #778A9E", +"L. c #74889C", +"M. c #76899D", +"N. c #8293A6", +"O. c #788B9F", +"P. c #7F91A3", +"Q. c #72869B", +" . + . . + + . + @ # $ % & . + . @ % $ % @ @ . . * = - - - - ; ; ; - - ; > ; ; > > > > > , , , , ; = = = = = - ; ; , ' ) ) ) ) ) ) ) ! ! ! ! ~ ~ ~ ! ~ ~ ~ ~ ! ! ! ! { { { ~ ~ { { ~ ! ! ! ! ! ~ { { { ] ] ^ ^ ^ ] ] ] ^ ^ ^ ^ ^ ", +"* + + + . . + + . % / / # & . + + + + . @ % # & @ & % & + * = = - - - - - ; ; > > ; > , , , , ( ( ( ( ( , , , , > , ( ( ( ' ) ) ) ) ) ) ) ) ! ! ~ ~ ~ ~ ~ ! ! ~ ~ ! ! ! ~ ~ { ~ ~ ~ { { { ~ ! ! ~ ! ! ! ~ { { ] ^ ] ^ ^ ^ ] ] ^ ^ ^ ^ ^ ", +"* + + + . . + * + . % / # % % @ + * + . @ & % & % # # & + * + * - - = - ; > > ; > , ( ( , ( ' ' ( ' ' , , , , ( ( ( ( ( ' ) ) ) ) ) ) ) ) ! ! ~ { ~ ! ~ ~ ! ~ ~ ! ! ~ { { { ~ ~ { { { ~ ~ ! ! ~ ~ ~ ~ { { { ] ^ ^ ^ ] ] ^ ] ] ^ ^ ^ ^ ", +". . . + . + + = * + @ % @ @ & % @ . . . @ & % & % % & + + + * = ; - ; > > > > , ( ( ( ( ' ' ' ' ' ' , , , ( ( ( ( ( ( ' ) ) ) ' ' ' ) ) ) ! ! ~ ~ ! ~ ~ ~ ~ ~ ! ~ { { { { { { { { ~ ~ ! ) ! ~ { { { { { { ] ] ^ ^ ] ] ] ] ] ] ^ ^ ^ ", +" @ @ . + * = ; - * @ . . . . @ @ @ & & & @ & & & % & @ . + * * * = - ; > , , , , , ( ( ( ' ( ( ( ' ' ' , , , ( ( , , , ( ' ) ) ) ' ' ' ) ) ! ~ ! ! ! ~ ~ ~ ~ ~ ~ ! ~ { { { ~ { { { ~ ~ ! ) ) ! { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ] ] ] ^ ] ", +"& @ . . * ; ; - * . + * + . + + + . @ @ @ & @ . * = = * * = - ; > , , , , ( ( ( ( ( , , ( ' ' ( > > , , , ( , , ' ) ) ) ) ' ' ) ) ) ! ! ~ ~ ! ~ ~ ! ~ { ~ ~ ~ ~ ~ { { { { ~ ~ ! ) ) ! ~ { { { { { ] ] ] ] ] ^ ^ ^ ^ ^ ^ ] ] ] ] ", +"% @ . . . + = * * * . + = = + + + + + * * + . . . . * = - = + + = ; ; > , , , ( ( ( ( , , , , ( ( , > ; , , , ( ' ( ' ) ) ) ) ) ) ) ) ) ) ) ! ~ ~ ! ! ! ! ! ~ ~ ~ ~ ~ { { { { { { ~ ! ) ! ~ { { { ] ] ] { ] ] ] ] ] ^ ^ ^ ^ ^ ^ ] ] ] ", +"/ # & + + + + * * . . + * - = * * + + * * . . . . * = = * * * * * * - ; ; , , ( ' ( ( ( , , , , ( ( , > , ( ( ( ' ' ' ) ) ) ) ) ) ) ) ) ) ) ) ! ~ ~ ! ! ! ! ! ! ! ~ ~ ~ { { { { { { { ! ) ! { { { ] ] ] ] ] ] ] ] ^ ] ^ ] ^ ^ ^ ^ ^ ^ ] ", +"/ # & @ . . + * * + * * * = - - * + + + + + . . . + * = * + * = * + + * = - ; , ( ' ( ( ( , , , > > , , , ( ' ( ( ( ( ( ' ) ) ) ) ) ) ) ) ) ) ) ) ! ~ ~ ! ~ ~ ~ ~ ~ ~ ! ! ~ { { { { { { ~ ! ~ { { { ] ] ] ^ ^ ] { ] ^ ] ] ] ^ ^ ^ ^ ^ ^ ^ ", +"% @ @ . . . . + * = = = - - = * * + * * + . . . + + + + * = * . + * = - ; > ( ( ( ( , , , , ; ; > , > , ( ( , , ( ( ( ' ) ' ) ) ) ) ' ' ) ) ) ) ! ! ! ~ ~ ~ ~ ~ ~ ! ! ~ ~ { { { { { { ~ { { { ] ] ] ] ] ] ] ] ] ^ ^ ] ] ] ^ ^ ^ ^ ^ ^ ", +"@ @ @ . . . . . + * = - - - = * * * * * * + . . + * = + + * * = = - ; , , , , ; > > > ; ; > > > ( ( ( , ( ( ( ( ' ' ( ' ) ) ) ' ' ' ) ) ) ) ) ) ! ! ) ! ! ~ ! ! ~ ~ ~ ~ { { { { { ] ] ] ] ] ^ ^ ] ] ^ ] ] ^ ^ ^ ] ] ] ] ^ ^ ^ ^ ", +". & & @ @ @ . . + + * - - - = * * * + + + + + + . . . + + + + * * * = ; ; > > > ; - ; ; ; ; , , ( ' ( , , ( ( , ( ' ' ' ' ) ' ( ( ' ' ) ) ) ' ) ) ) ) ) ! ! ! ! ! ~ ~ ~ ~ ~ { { { { ] ] ^ ] ] ] ^ ] ] ] ] { ] ^ ^ ^ ] ^ ] ] ^ ^ ^ ", +" . & & % # % @ . * + = - - = * * * * * * + * * + + + + . . + * * + + * = = - - ; > > > > ; > > > , ( ( ( , , , , > > , ( ) ) ' ' ' ( ( ' ' ) ) ' ' ' ' ' ) ) ) ! ! ! ! ~ ~ ~ ~ ~ { { { { ] ] ^ ] { { ] { { { { ] ^ ^ ^ ] ] ^ ^ ] ^ ^ ^ ", +"@ @ & & & & & % % & . * * = = * . . + * * * * * * * . . . + = = * + * - ; ; ; ; > > , , > > , > > , , , , , , > ; ; > , ( ' ( ( ( ( ( ( ' ' ' ) ' ( ( ' ' ' ) ) ! ! ~ ~ { { { { { { { { { ] ^ ] { ] ] { { ] ] ] ] ^ ^ ] ^ ^ ] ] ] ^ ^ ", +"# # % % % @ @ & % % & @ . * + . . . + + + + = - = * . @ @ + = = * * = - - ; ; ; > , , , , , , , ; > > > > > > - * * - ; > , , , , > , , ( ( ( ' ( ( ( ( ( ( ' ) ! ! ~ ~ { { { { { { { { { ] ] ] ] ] ] { { ] ] ] ] ^ ^ ] ] ] ] ] ] ] ^ ", +"_ _ / / / % @ @ % # & @ . . + + * = - = * . @ & + = = - - - - = = ; ; > , > > , > > , > ; - - ; ; - + @ + = ; ; > , > ; > > > , , , , > > , , ( ' ) ) ) ! ~ ~ { { { { { { ] ] ] ] ] ] { ] ] { ] ^ ^ ^ ^ ^ ^ ] ] ] ] ] ^ ^ ", +": < [ } | $ % & % $ & . . @ & & & & & @ . * * * * = * . @ & + * - - - - - * = - ; ; > > > , > > > ; - - - = * + & $ # @ = ; ; ; ; - - - - - ; ; ; ; ; ; > > , ( ( ' ) ) ! ! ~ { { { { { { ] ] ] { { { ] ] ] ] ^ ^ ^ ] ] ] ] ] ] ] ] ^ ^ ", +"1 2 1 3 } _ _ / $ / & @ @ & & % # # & . + * * * * . @ & & * = - - - - = * = - ; > ; > > , > ; - - ; = . @ # 4 4 _ # . = = = * + * * = = - - = - - - - ; > > , ( ' ) ) ) ~ { { { { { { { { ] { { { { ] ] ] ] ] ^ ^ ] ] ] ] ] { ] ^ ^ ", +"5 6 7 8 < : : } 9 4 / % # % & % # / / / $ # & + * * + . @ & & @ + * = = = - - = = - ; ; ; ; ; > ; - = = = . & $ 4 < [ 4 / @ . . + . . . . + * * * + + * + * - ; > , ( ' ) ) ! ~ ~ { { { { { { { { { { { ] ^ ] ] ] ] ^ ^ ] ] ] ^ ^ ] ] ] ] ", +"0 a 6 b c d [ < < [ 4 _ _ / _ _ | 9 } 9 9 | / % @ . + + . @ & & @ . * = = = = - = = - - - - - ; ; - * * + . @ $ 4 [ 3 d } / % @ . . @ @ & @ @ & % % & * ; > , , ( ' ) ! ~ ~ ~ { { { { { { { ] ] ] ] ^ ] ] ] ^ ] ] ] ] ] ^ ^ ^ ] ] ] ", +"e f g 8 c < : [ d d : : : [ < d 3 1 1 h < 9 _ # & @ @ & & % & + = - = = = = = = = = = - ; - * * + . # | : c 3 < 4 $ & @ . . & % % $ _ | 4 4 4 | _ # . - > , , ' ' ) ! ! ! ! ~ { { { { ] ] ] ^ ^ ^ ] ] ] ^ ^ ] ] ^ ] ] ^ ^ ^ ] ] ^ ", +"i f j h d < < d 3 h c h 8 j g k 0 l 0 6 1 [ | $ % & @ & # # % # # % * = = = = * * + + + * - = * . + . & _ } c 3 [ 9 _ # % & @ @ & $ 4 9 : [ < c c d : 4 / = ; > , ' ) ) ) ) ! ! ~ ~ { { { { ] ] ] ^ ^ ] ] ^ ^ ^ ] ^ ^ ] ] ] ^ ] ] ] ] ", +"e 6 m 3 c c h 1 b j 5 n f o p q r s i l j d 9 / # % % # / _ $ $ $ # @ . * = = * + + @ @ + + . . + . @ / : c 1 d 4 | / # $ # $ _ 9 < 3 m 1 1 m m m 3 [ 4 $ = ; > , ( ' ' ' ) ! ! ~ ~ { { { { { { { ] ^ ] ] ^ ^ ] ^ ^ ^ ^ ] ] ^ ^ ^ ^ ] ", +"6 1 h h m 1 b g l t p u v w x y z x q A 7 < 9 _ # % # $ | 4 / / / # @ + * = * + * . & # $ # @ . . % 9 3 1 3 } 4 9 | / | } d m b 7 7 5 5 b 1 m m d 9 / & + = - ; > , ( ' ' ) ! ! ~ ~ { { { { { { { ] ^ ^ ^ ^ ] ] ^ ^ ] ^ ] ] ^ ^ ^ ^ ] ", +"1 3 m b 7 k t s B C D E E F G C C w p l 2 : 4 | $ # $ / 4 9 | _ _ # . + + + + + . # _ _ _ # @ & 4 3 1 3 : 9 [ [ 9 : 3 j n n 6 j 8 1 1 c [ : [ } / % + = - - ; > , ' ) ) ! ~ { { { { { { ] ] ] ^ ^ ^ ^ ] ] ] ^ ^ ^ ^ ] ^ ^ ^ ^ ^ ] ", +"h m 7 l p B E H H E D G C B r I I J l 6 m : 4 | _ / $ _ 9 } 4 | _ # & & & . @ $ 4 } } _ & @ & _ 3 b h } 4 [ c d 3 b k a k b c [ 9 4 | / $ $ / / # @ . * * = = - ; , ' ) ) ~ ~ { { { { { { { ] ] ^ ^ ] ] ] ] ] ] ] ^ ^ ] ] ^ ] ^ ^ ] ", +"2 g J x K L M D v N p J t 0 k 6 6 6 j 8 c } 4 4 | _ / 4 } } 4 | _ $ $ $ # % % & % % / } < [ | # @ & $ d 7 1 } | 9 d h b 6 g 6 8 d } | _ / / $ % # $ $ $ # @ + * * * = - > > ( ' ) ! ~ { { { { { { { { ] ] ] ] ] ^ ] { { ] ] ] ] ] ] ] ^ ] { ", +"l s D H O C r o a a 0 a k 7 j j b 2 2 m < } 9 9 | / / 4 } 4 | _ $ # $ $ # # % % $ $ | } d [ | $ % # } b 5 d | 4 [ h j 6 j h < 9 4 | | 4 9 9 4 | | | | / $ % @ . . + * = ; > , ' ) ! ! ~ { { { { { { { { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ", +"w F G w p A 0 a k a l f f n k k 6 5 7 m < : [ : 4 _ _ 4 9 | / # % & & & & @ & # / | : d : | _ $ / 3 6 2 [ 9 : d m 2 h < 9 _ | 4 9 : c 1 2 j b 2 8 m c } | $ % % @ + - ; > ( ' ) ! ! ~ ~ { { { { { { { { ] ] ] ] ] ] ] ] ^ ^ ] ] ] ] ] { ", +"y P J f 0 n a 0 A I u x C x w P p e f 5 h c 3 < 9 9 9 : 9 _ $ # % % % % & . @ % $ | [ c [ 4 4 _ 9 2 7 3 : } < c c [ 4 4 _ / | 9 } < m 7 n l A e e e l 6 1 < } 4 / % + = ; , ( ' ' ) ! ~ ~ { { { { { { { { ] ] ^ ^ ] ] ] ^ ^ ^ ^ ^ ] ] { ", +"I A a k n a a 0 o u G M Q R S T U V F r f g 7 1 c d d d [ | _ / $ # $ # % & @ @ % # _ < c : 9 : 4 c 7 1 [ : < 3 c } | / / $ $ / | | 9 [ 3 1 b 5 n l e i i A g 2 3 [ 4 / & . = - > , ( ' ) ! ~ { { { { { { { { { ] ] ^ ^ ] ] ^ ^ ^ ^ ^ ] ] { ", +"l k 6 7 6 6 5 6 k l o N B F V R W X W Y O v i l k 7 2 1 c } 4 | _ / $ # $ # % & & # | d c } 4 : : 1 b c [ : c m h : _ # # # # $ $ $ $ / 4 } : < c h 8 5 a 0 0 a g 2 3 [ 9 $ @ + - ; , ( ) ~ ~ { { { { { { { { { { ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] { ", +"g 7 b 2 b b 2 1 1 1 1 2 7 k l I y H Q T T Z K C P p t n b d } 9 | _ / / _ _ $ # # $ 9 c c 9 4 } c b 1 < [ [ d c 3 [ | # # # # % % % % # / | 9 } [ [ [ d 3 m b g 0 n 5 2 h < 4 # . = ; , ' ! ~ { { { { { { { { { { ] ] ^ ^ ^ ^ ^ ^ ^ ^ ] ] { ", +"5 b 1 m m m m c d d d c c c 3 8 5 n o w K Q T U M F y u e 6 m < } 4 _ _ _ _ / $ $ / : h c 9 4 } h 2 3 [ } : < [ [ [ 4 _ $ # # % % % # $ / _ | 9 [ d d d < < < h 7 k n g 7 2 3 : / @ * > ( ) ~ { { { { { { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ] ] ^ ", +"7 2 h h 3 c 3 < } } : : : 9 } < 3 h 2 k e v V Y R ` V H z q 0 2 d 9 _ _ / $ $ # # / [ 1 c } 9 : 3 1 d [ 9 } d : } } } | / $ $ / / $ / $ / _ | 9 [ d h 8 m d [ : < h b 5 6 7 8 c } $ . ; ( ' ! { { { { { { { { { ] ] ] ] ] ] ] ^ ^ ^ ^ ] ] ^ ", +"2 1 h m 3 c 3 < 9 9 4 4 4 | | 9 } 9 [ m b k i y .Z R ..M z N a m 9 / / $ # % % % / [ m 3 } 9 : c 3 < < 9 9 [ : } 9 9 4 | | _ _ / $ $ $ $ / _ 9 } [ m 6 a 7 3 } | | } c 2 b 1 c : $ + > ( ' ! ~ { { { { { { { { ] ] ] { { { ] ^ ^ ^ ] ] ] ^ ", +"8 h c h h 3 h d } 4 4 _ _ / _ | _ / _ : 3 h 1 6 o z +.Q M F P f 8 9 $ # % & @ @ @ % 9 h h : 9 : d 3 < < : } } } : 9 4 4 9 4 _ / $ $ # # $ / _ | 4 9 d 7 t i k c 4 / $ | [ c c [ | & = , ' ) ! ~ { { { { { { { { { { { { { { ] ^ ^ ^ ^ ] ^ ^ ", +"2 h d m 1 h 3 c } 4 4 _ / $ / _ _ / _ 9 < : : [ 8 A v G D x p k 3 4 $ # % @ & _ 3 m : 9 : d 3 < : [ : } } : } 9 9 9 4 | / / / $ # # $ $ $ / _ } 3 k q s a 3 4 # % $ _ | _ & * ; , ) ! ~ { { { { { { { { { { { { { { ] ] ] ^ ^ ^ ^ ] ] ", +"b 1 3 1 2 h c 3 [ 9 9 4 _ / / _ | 4 9 } } 9 4 9 d 2 k t I o k m } _ / $ # % & @ @ & / d m [ 9 : d d } 9 : [ : } } [ [ : : } | _ $ / / # # # # # # # | [ 1 0 r P 0 c _ % % % & @ * ; > ( ) ! ~ { { { { { { { { { { { { { { { ] ^ ^ ^ ^ ^ ] ] ", +"5 j 2 b b m c 3 c : [ [ } 4 | | 4 } } 4 | 4 9 } < 3 1 j 7 2 c } _ $ $ / / $ # & & # / < h [ 9 } [ [ 9 | 4 : : } : d d d < : 4 _ / _ / # # % % % & % $ 9 d 2 f v P n d _ # @ + * - , ( ) ! ~ ~ { { { { { { { { { { { { { { { ] ^ ^ ^ ] ^ ] ] ", +"k 5 j j j 1 m m h < d d [ : 9 4 } } 4 / / | } [ < < d c [ 9 4 _ # # $ $ / _ / $ $ / / : 3 [ 9 9 : [ } | 4 9 } : d 3 3 c d : 9 4 | _ $ # % % & & @ & # _ [ 3 b o x u 6 [ $ = - ; > , ) ~ ~ ~ { { { { { { { { { { { { { { { ] ] ] ^ ] ] ] ] ", +"6 j b b b 1 m 1 m c d < [ : : : : 9 _ $ _ 4 } : : } 9 4 / # $ $ % % # $ / | 9 4 | | | } c < 4 9 : : } 9 9 } } [ h m 3 d d [ } 9 | _ # % % % & @ @ @ # _ [ 3 m 5 q y q b 4 @ * - > > > ' ! ~ { { { { { { { { { { { { { { { { { { { ] ] ] ] ] ", +"5 b b j b m h 1 m 3 d < : [ < < : 4 _ _ 9 } } 9 4 _ / $ % & & % & @ % $ _ 9 [ [ 9 4 4 9 d < 4 9 [ } | | 4 9 : d m 1 h 3 3 d : } 4 _ $ # # % & & @ & # _ [ m 1 1 g s x t c $ = ; > , ) ! ~ { { { { { { { { { { { { { { { { { { { { ] ] ] ] ", +"k 5 7 7 j 1 m 8 m 3 c d < < < } 4 _ | 9 } } 4 _ / $ # % @ @ @ & & % $ _ 9 [ [ } | 4 } < < 9 : [ 9 4 | 4 4 : 3 1 8 8 1 m 3 [ } 4 | / $ # % % % & & # _ < 8 2 m 1 0 P s 6 [ $ . - , ' ! ! ~ ~ { { { { { { { { { { { { { { { { { { { { ] ^ ^ ", +"f a a k 7 2 8 2 2 1 h c c d [ 9 _ _ 4 9 4 4 _ $ $ # % & . @ % % $ _ 4 4 4 9 9 | 4 : [ : 9 : < } 9 9 9 9 : h 8 2 j b 8 h [ } 9 4 | / $ # # $ # % # _ < j k b h b o P e 2 } & * > ' ! ~ ~ { { { { { { { { { { { { { { { { { { { { { ] ^ ^ ", +"J t e A n 6 7 5 7 2 1 m 3 c < } | / | | _ _ / $ # # & @ @ & % $ _ 4 | / $ _ 4 | | 4 4 4 9 < < } } 9 9 : < m j 7 6 5 2 3 [ } } 9 4 _ / $ $ / / # $ 4 < 6 i 0 1 m n r s 0 h _ - ( ) ! ~ ~ { { { { { { { { { { { { { { { { { { ] ] ] ] ^ ", +"P p p i t f a k 6 7 b 2 m c d : 4 _ | _ | _ $ # # # & @ @ @ & % # / _ _ # % % $ | 4 _ / _ | 9 c d } 9 4 9 : < 1 7 6 k g b 3 [ } } } 9 4 | / / | | | 4 : h a v I 2 h 7 p w i 6 < % * , ' ! ! ! ~ { { { { { { { { { { { { { { { { { ] ] ] ^ ^ ", +"E y v r p I J A l k 6 j 1 c d [ 9 4 4 | | | / % % % & & @ & % % # / $ # & & % % / 9 | / _ _ 4 < d : 4 | 4 } < m 5 k g 7 8 h < : } } : : : } } : [ < d h b t G w 6 3 m A v s l 8 | - ( ) ! ! ~ { { { { { { { { { { { { { { { { { ] ] ^ ^ ^ ", +"U L K G x v u q i A a 5 8 3 d [ 9 4 4 | _ _ $ % & % % & & & # # # $ # & @ @ & % # 4 [ 9 | | 4 [ d : | 4 4 } c 2 6 n 6 2 h 3 3 d : [ < c h m m m m 1 2 b 5 o E E A 3 < 7 p r o 6 d # + > ' ! ! ~ { { { { { { { { { { { { { { { { ] ] ^ ^ ^ ^ ", +"W @.Y Z .O F x r p e n 7 m d [ 4 | 4 _ / $ $ % % # # # % # $ $ # % & & @ @ & % % _ < c [ 4 4 : < : 4 4 9 [ m 5 k 6 2 m h h 1 1 3 h 1 b 7 5 6 5 7 7 7 7 5 t #.L p h : 3 0 N q f 8 4 - , ) ) ! ~ { { { { { { { { { { { { ~ ~ { ] ] ] ] ^ ^ ", +"$.%.&.*.=.Q V #.w N o l g 8 3 [ 4 | | / $ $ # % % $ / / / / / $ % & @ & @ @ @ & % / : 3 h < 9 : : } } 9 : 3 b 5 7 m d 3 m 1 8 j g n a l l f l k 5 j j j j 0 G Z r 8 < < 5 I s J 6 < % * ; ( ' ! ~ { { { { { { { { { { { { ~ ~ { ] ] ] ] ^ ^ ", +"-.;.>.&.,.Y M C s o a 6 5 b h < 9 9 | / / $ # # # $ _ | 4 4 / # % & & & @ @ & % $ 4 d h h [ } 9 } : : c b b m c < [ d m j n t J J A 0 n n g 2 m 3 3 h 1 a F ..v j d [ 2 t I e n m _ . - > ( ) ! { { { { { { { { { { ~ ~ { { { ] ] ] ] ] ^ ", +"'.).!.$.~.@.L z N f 6 2 2 2 m < : } 4 / _ / $ $ $ $ _ 4 9 | $ % % % & & & & & % # $ 4 < 3 3 d } 9 9 [ 3 b 5 3 : : [ d m 6 t I p e 0 5 2 1 1 3 : } 9 9 : 3 a #.R x 5 c [ 3 6 l l k 8 9 @ = > ( ) ! ~ { { { { { { { ~ ~ ! ~ { { { ] ] ] ] ] ^ ", +"{.].^./.(._.:.L y J g 8 m m h < : : 9 _ / _ $ $ $ $ _ _ _ $ % & % % @ @ & % # # $ / 9 < c c [ } 9 } < 2 6 1 9 | 9 : 2 a t J A n j 8 1 1 h c < 9 | | | 9 h 0 E T z g 3 } : 3 j 6 j 3 | @ * ; ' ! ! ~ { { { { { { ~ ! ! ~ { { { { ] ] ] ] ] ^ ", +"<.[.}.|.1.&.2.S M u 0 j m 3 c [ 9 9 9 4 _ / $ $ $ / $ $ # # % & # # % & % # # $ / _ } < c d } 4 9 : h 6 5 < | 4 } 3 k f n 7 2 8 m h h m 1 m c [ } } } [ m f O S G g d 9 4 9 : < < 9 # . * ; ( ! ! ~ { { { ~ ~ ! ! ! ~ { { { { ] ] ^ ^ ^ ] ^ ", +"3.4.^.!.>.5.=.S ..z e 5 1 3 d [ } 9 9 9 | / $ # / | _ # % % % % # $ / $ _ _ $ / _ 4 : d 3 d : } } [ b g 2 < : : 3 2 7 b m 3 3 h m 8 j 6 a f f 0 6 8 m 1 7 J M :.G g d | # % % # # % * = > ' ! ~ ~ { { { ~ ! ) ! ~ { { { { { ] ^ ^ ] ^ ] ^ ", +"}.6.7.8.9.=.+.Q Q D i g 2 1 3 3 3 d < : 4 _ / $ _ 4 | $ % % % # _ 4 9 : < [ 9 4 } [ c m 1 d : [ < h g 6 m c d d h h d d < [ < 3 h 8 5 a A o I p N N q q N B Z :.F 0 h 4 # & @ @ @ * = - > ' ! ! ~ { { { ~ ! ! ~ { { { { { ] ^ ^ ^ ] ^ ^ ^ ", +"-.0.a.1.b.Y #.#.K D N f 6 j 8 8 8 h 3 < } } } 9 } : : } 9 } : [ d 3 h m m c [ : [ c h 1 m [ : d c j n b 3 d d d < [ : } } 9 : < d c h 2 j 7 7 6 A N w G E M S @.O J 7 c 4 # @ @ @ . * - ; > ' ! ! ~ ~ { { ~ { { { { { { { { ] ^ ^ ^ ^ ^ ^ ^ ", +"(.b.*.,.X R x w z G P p f g 6 6 5 b 2 8 1 1 m 3 d < < < [ [ < < < d c c d : 4 9 } [ c h 3 < c h 1 6 5 3 [ : : : } 4 4 9 9 9 9 } : [ d h m m 3 3 8 6 l i x Z c.*.V u l b d 4 / % @ + = - ; , ' ! ~ ~ ~ { ~ ~ { { { { { { { ] ] ^ ^ ^ ] ] ] ^ ", +"T R Q Y W Z v r x G C x s o f f 0 k 6 j 2 8 h < : 9 9 4 _ / / / $ / | 4 4 | _ _ _ | [ 3 c < 3 m j g 2 d } 9 4 4 4 | | 4 4 4 | | 9 9 : < c c c h 8 b j 6 I ` X W Z z i n b h : | % . = - > , ' ! ~ ~ ~ ~ ! ~ ~ { { { { { ] ] ] ^ ^ ] ] ] ^ ^ ", +"L V V ..,.` x w x z z x P p e A l k 7 8 h < 9 | | / _ _ _ / / $ # $ _ | / / / $ # / [ m 3 [ d 3 2 b c [ 9 _ _ _ / _ 4 4 _ / / / _ 4 4 9 } d 3 1 j 7 j 6 p ..&.:.+.D r t n 5 8 d 4 % + = - > ( ) ! ~ ~ ~ ! ! ~ { { { { { ] ] ] ] ] ] ] ] ] ^ ", +"V L V T ,.L G y B w r I o t 0 a g 2 m h d } 4 | _ / | 4 | | _ / # $ / / # # / $ # _ < 8 h : : d m 3 : 4 / # $ $ # $ _ | / $ $ / / _ _ _ 9 < h 8 7 g 0 e w R W R E r o A l n 7 m [ / @ + = > ( ) ! ~ ~ ~ ~ ~ { { { { { { { { { { { { ] ] ] ^ ", +"Y R ` @.S #.B P s p e l l n g g j h c d [ 9 | _ / _ | | _ _ | _ $ $ $ # % $ / $ $ | c b 1 [ [ c h d } _ / / / $ $ / / / / $ / _ _ $ # $ | } d m 8 5 t B L 5.,.Q C f j 6 n g 2 h < _ @ * - > ( ) ! ~ ! ~ { { { { { { { { { { { { { { ] ] ] ^ ", +"X R ..S ` y r p o f a k g 6 g k b 3 d < } 4 4 _ $ / _ / $ / | _ / / _ / $ / $ $ / | 3 7 2 c d 3 h c : 4 | _ / $ / _ / / / / / / $ % % # / | } d 8 5 A z :.~.c...B k 3 c h m 3 < 9 $ . - > , ( ) ! ~ ~ { { { { { { { { { { { { { { { ] ^ ^ ^ ", +"2.U :.=.#.s J A 0 k 5 7 5 5 5 5 b h d [ 4 | 4 | / / _ / $ / _ / / _ | | | _ / _ _ | < b 7 1 c c h h < : : 4 / / _ _ / $ / / $ % & & % # / _ 4 [ 1 5 A x =.b.~.R w 6 d 9 | 4 9 _ % + ; ( ' ) ) ! ! ~ { { { { { { { { { ~ { { { { ] ] ] ^ ^ ", +"S @.5.L v e 0 k 6 5 7 7 6 5 j 2 1 h c [ } 9 9 4 _ / / $ $ / _ / _ 4 9 9 } 9 4 4 4 | [ j g 8 c d 3 c [ : : } 4 4 4 _ / $ $ $ # & & & % # $ / / 4 d j A B Q W X :.C n h } _ $ % @ . * = ; ( ) ) ! ! ! ~ ~ ~ { { { { { { { ~ { { { { ] ] ] ] ^ ", +",.*.Y G I 0 g 6 6 5 6 k g 5 b 1 1 m c < : : : } 4 _ / $ $ _ _ / _ 4 } : [ < [ : } 9 < j g 8 d < d [ } } } 9 9 9 4 _ / $ # # % & & & % # # $ $ / 9 h n u M R :.@. .i b < | $ & . = - - > ' ) ) ! ! ! ! ! ~ ~ { { { { { { { { { { { { ] { { ] ", +"_.S M u A n 6 6 6 k a k 6 6 j 1 1 1 h d [ [ < : 9 | _ / / _ _ _ | 4 } < 3 h 3 d d d c b 6 1 d : : : } 9 9 9 | 4 | _ _ / $ # % & % % % % # # % % / } 1 A x H L Q Q z 0 c 4 # @ + - - ; , ' ) ) ) ! ! ! ~ ! ! ~ { { { { { { { { { { { { { ] ] ", +"9.U z q 0 5 7 7 g 0 0 6 5 6 2 h m 3 d d < < < : } 4 | | _ | | _ _ 4 : d h 1 m 3 h m h b 5 8 c : 4 } [ } 9 9 4 9 4 4 4 _ / # % % % % # % % % & & # _ } m a q P B E .u j } # + = - > ( ) ) ) ! ! ! ~ ~ ~ ~ ~ { { { { { { { { { { { { { ] ] ", +"d.Z y p 0 7 j 5 n f n j 5 5 m d < [ } : [ [ [ } 9 9 | 4 4 9 9 | / _ 9 < 3 8 2 2 1 m 1 b 5 2 c [ 9 4 9 9 9 9 9 9 } } 9 | _ / # % % % # # % # % # $ # $ | < 2 6 a i G F t d / & . = - > ( ) ) ! ! ! ! ! ~ ~ ~ ~ { { { { { { { { { { { { { { { ", +"~.Q C p A k g k 0 0 g 7 g 5 m < } : } } : } } } 9 | _ | 9 } } 9 4 9 : d h 1 j 5 b m 1 8 2 8 c [ 9 4 4 9 } 9 9 } : : 9 9 4 _ $ # # % # # # $ $ / # % & & $ 4 < 3 j i G u 5 < / = ; , ' ) ) ! ! ! ! ) ! ~ ~ ~ { { { { { { { { { { { { { { { ", +"X R F N J A f l a 6 7 5 6 2 c : 9 9 } } } : [ [ } 9 | 9 [ < [ : : : : < 3 8 7 6 b 1 1 m 1 1 3 < : } : [ [ } 9 } : 9 4 4 4 _ # # $ # # / / $ / / % @ . . @ $ } c 5 N x J 2 } & + ; ( ) ) ) ) ) ! ! ! ! ~ ~ ~ { { { { { { { { { { { { { { ] ", +"_.:.O u p I J l g 7 7 6 6 2 c : 4 4 9 } : [ < < < [ : [ c c d d < : : [ 3 b 7 7 j 2 m c 3 h 3 d } } : [ [ : } } : } } | / / # # $ $ $ $ $ / $ $ % + + * * . # } h l B u a 3 / . - , ' ) ! ! ! ! ! ~ ~ ~ ~ { { { { { { { { { { { { { { { ] ", +">.*. .x u N J l g j 6 k 6 8 3 [ 9 9 9 } [ [ [ [ < d d < d d d d [ : < c 1 2 1 8 j 2 3 < < < d d } 4 4 9 } 9 9 : [ : : 9 | _ / / / $ # # # # # % & + * = = * @ _ < 6 P y I 6 < % = , ' ) ! ~ ~ ~ ! ~ { ~ ~ { { { { { { { { { { { { { { { ] ", +"a.&...E v p o a 6 5 6 6 j m d [ } } : [ < [ [ d c c c d [ : : : [ d h 1 8 h d c 1 1 c : } } [ d } _ _ 4 9 4 | 9 : : : } } 4 | _ / / $ $ $ # % & @ . + * + . & / 9 1 I z P A 2 | + > ( ) ! ! ! ~ ! ! ~ ~ ~ ~ { { { { { { { { { { { { { { ] ", +"0.e.5. .u i e k 6 6 6 7 b m c < [ [ < c c c 3 m 1 m 3 d } 4 9 } [ 3 m h d [ [ [ [ c c : 9 9 : [ 9 | _ | | _ / | } : [ } 9 | _ / / / / $ # % % & @ @ @ . & # $ : n v B p n d & - , ' ) ) ! ~ ! ! ~ ~ { { { { { ~ { { { { ~ ~ { { { { ] ", +").f.c.V P i o f n g 7 2 8 1 h c d c h 1 8 8 8 2 b 8 h d } 4 9 : d 3 c < : } 9 4 | } < d : 9 } } } 9 | _ / $ $ / | 4 } : 4 | _ $ $ $ $ # & @ & & @ . . + * & & / m J w u e b | + ; ( ) ! ! ~ ! ~ ~ ~ ~ ~ ~ ~ ~ ~ { { { { { ~ { { { { { ", +"g.;.b.Q x I e t 0 6 j 2 8 1 m 3 3 m 8 2 2 8 1 8 2 8 h c [ } : d 3 < } 9 : } | / $ / 9 d d : 9 9 9 9 | $ # $ $ $ # # _ 4 9 4 _ $ # # # # & @ @ @ . . + + * * . @ @ # [ a P w p n < @ - , ) ! ~ ~ ~ ~ ~ ~ ! ! ~ ~ { { { { { { { { { { { ] ] ", +"3.h.%.:.G N e t f g 5 j b 2 m 3 h 2 2 1 m h h 8 b b 1 m 3 c 3 h d 9 | 4 } 9 / # # # / } < < : 9 | 4 4 / # $ $ % & & # / _ / # # % % % & @ @ & @ . . + + . @ % & % 9 5 I s I 0 m $ * > ' ! ! ~ ~ ~ ~ ~ ~ ~ ~ { { { { { { { ] ] { { ] ^ ^ ", +"3.i.d.,.K r t f f k j b 2 8 8 1 1 8 8 1 m 1 8 b 7 7 j b b 8 m 3 [ 4 | 4 9 4 / # # % # _ 4 [ < } | 4 9 | $ % % % & & & % & & @ @ @ @ @ . & @ . . @ % & # 4 m 0 e t a 8 _ + ; ( ) ! ! ~ ~ ~ ~ { { { { { { { { { { ] ] ] { ] ^ ^ ", +"^.;.X *.V r A a f n b 2 8 8 b b 2 8 8 8 2 2 2 j 5 5 7 b 8 h d [ } 4 9 } 9 _ # # # # $ / $ _ } } 4 4 } 9 / % & & @ @ & @ . . . . . . + + * + . . . . & % $ _ [ 2 k n 6 h / + ; ( ) ! ! ! ~ ~ ~ ~ { { { { { { { { { ] ] ] ] ] ^ ^ ", +"0.j.&.,.Z P f a f f 6 7 j j 7 7 b b b 2 2 8 1 b g n 6 8 c [ } 9 | | 4 9 4 / # # $ $ / / $ / 9 } } 4 4 } | # % % & @ & & . . . + + * * * = = * + * + . + + + + . & # _ : 3 h d 4 & * - , ) ! ! ! ~ ~ ! ~ { { { { { { { { { ] ] ] ] ] ^ ^ ", +"1.b.W @.U y t 0 l t 0 g 6 5 6 6 7 7 b 2 1 m 3 m j k 6 1 < } 4 | _ _ | | | / $ / _ _ _ _ / / | 4 4 | | 9 4 / $ # % @ + + . + * = - - - - = = - = * * = = = * * * + . & # # & * ; > ( ) ! ~ ~ ~ ! ~ ~ { { { { { { { { ] ] { ] ] ] ] ^ ", +"@.@.S S R G i f l e e a k g g g 5 j b 2 8 m 3 d 3 8 8 3 < } 4 | | | | _ _ / $ _ 4 9 9 4 / # $ _ _ / / _ | | _ $ # @ + * + * = - - - - - = = - - = - - - - - - - = = - = = - ; ; , ( ( ) ! ! ~ ~ ~ ~ { { { { { { { { { { ] ] ] ] ^ ^ ] ] ", +" .L +.Z .B J f A J J f 0 0 a k 5 j b 2 1 h d [ [ d < [ } 4 _ | 4 4 | _ _ _ / _ 4 } [ } | $ # $ $ $ $ $ / | | $ % & & @ + * = = = = = = - - - ; ; ; - ; ; - - ; ; ; ; ; ; > , , ( ' ' ) ! ~ ~ ~ ~ ~ ~ ~ { { { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ", +"P w B B u p e A e I i t A f 0 k 7 b 2 m 3 c < } 9 9 9 9 9 | / _ | | _ / _ _ _ _ | } } 9 | / / _ _ / $ # $ / _ $ & % % & & . * * * = = = - ; ; ; ; ; ; ; ; - ; ; > > ; ; ; > , ( ' ) ) ) ! ! ~ ~ ~ ~ ~ ~ ~ { { { ] ] { ] ] ] ] ^ ] ] ^ ^ ^ ", +"J i o e e o J o o i J t t A a 6 j 8 1 h c d < } 4 | | 4 9 4 | | | | _ / / / $ $ _ 4 9 | _ / / | 4 | / $ $ $ / $ & % % % % @ + + * * * = - > ; - - > > > ; ; ; > > > > , > , ( ( ( ' ) ) ! ! ! ! ~ ~ ~ ~ ~ { { { ] ] { { { ] ] ^ ] ] ^ ^ ] ", +"I I J e J p I o t o e e A l k 5 b 8 m 3 d d < : 9 4 4 9 } } 9 4 4 4 _ / # # % & $ | | _ / $ $ _ _ / / $ / / / $ & % % & @ . . + + . + + = - ; ; - - > > ; ; > > > > , , ( , , ( ( ( ' ' ) ! ! ! ! ~ ~ ~ ~ ~ ~ { { { { { { { ] ^ ] ^ ^ ^ ^ ] ", +"q q s u u N i o e o e o A a g 5 j 8 h c d d d [ : : } } : : } 9 9 4 _ / # % & & # / _ $ # % % # # # % % # $ $ # % % & @ . + + + . @ . + * - ; ; = = - - ; ; > > > , , , , , , ( ' ' ( ' ' ) ! ! ! ! ! ! ~ ~ ~ ~ { { { { { ] ] ^ ] ^ ^ ^ ^ ] ", +"N r x C v p I p I i o o t a g 5 j b m c d c c d < [ : } : [ : } 9 4 _ / $ # # % $ / / / # % % # # # % % % # # % @ @ @ . + * + . @ . * = - ; ; ; - - - - > , > > , , , , , ( ( ' ' ' ' ' ) ) ) ) ! ! ! ~ ! ~ ~ ~ { { { { ] ^ ] ] ^ ] ] ] ] ", +"w D F B r p I q I J o e f n g 5 j 2 8 h 3 c c d < [ : : : [ < < [ : : } | _ _ / | 4 _ / / $ # # % % # # # # % & . + * + . . * = ; ; > > > ; - - ; ; ; ; > > , , ( ' ' ' ' ' ' ' ) ! ! ) ! ! ! ! ! ~ ! ~ { { { ] ] ] ] ] ^ ] ] ^ ] ", +"F H z r q p p p J t A f a 6 7 7 b 8 1 m h 3 c c d d < < < c h h m 1 1 h d < [ : : : 9 | / $ $ $ # # # # # % % & . . + . . @ . . + = ; ; > , , ; ; ; ; ; ; ; ; > > , ( ' ) ) ' ) ) ) ! ~ ~ ! ! ! ! ! ~ ~ ~ ~ { ] ] ] ] ] ] ^ ^ ^ ^ ^ ] ", +"#.D v N q N N J A 0 0 n g 7 b 2 1 m 1 1 h 3 h h 3 c 3 3 3 h 8 2 b j b m 3 3 d [ : [ } 4 / / / / $ $ # % % % # % & @ @ . . . + + * - > , , , > ; ; > > ; ; > , , ( ( ' ' ) ) ! ) ) ! ! ~ ~ ~ ~ ! ~ ~ ~ ~ ~ { { ] ] ] ] ] ] ] ] ] ^ ] ", +"z B P s N s I A n n k g 6 j 2 8 1 m 1 1 m h m m 3 c c c d c h m h h 3 d d < : } 9 } } 4 | _ / # # # # % % & & & % & @ . . @ + * = ; , , , , , > > > > > > , , , ( ' ' ' ) ) ! ) ) ! ! ~ ~ ~ ~ ~ ~ ! ~ ~ ~ { { { { { { { { ] ] ^ ^ ] ", +"z B P r N I o l k k g 6 5 j 2 1 m m m m h 3 3 c < [ : : : : : : } 9 } } : : } } } : } 9 | / # % & & & % & @ . * = - > , , , , , , , , , , ( ( , , ( ' ' ' ' ) ' ' ) ! ! ~ ~ ~ ~ ~ ! ~ ~ ~ ~ { { { { { { { { ] ] ] ] ] ", +"y w r N J t l a k g 6 7 7 j 8 3 d c 3 c < < < < [ } 9 } 9 4 4 4 | 4 | | 9 : < d d [ 9 _ $ # & & @ @ @ @ @ . . . . + . . . . . * = = - > , , , , > , ( ( , , ( ' ( , , ( ( ' ' ' ( ' ) ! ! ~ ~ ~ ~ ~ ! ~ ~ { { { { { { { { { { { { { { ] ", +"v r I t 0 n g 6 5 7 5 7 b 8 3 < < d d < [ : : [ [ } 9 9 4 | | | | | / _ 4 : d d < } | $ % @ @ . . . . + . . * + + * = - - > , , , , , , , , , , ( ' ( , ( ( ' ' ' ( ( ( ' ) ! ! ! ~ ~ ~ ~ ~ ~ ~ ~ ~ { { { { { { { { ] ] ] ] ", +"I o f a g 5 7 j b b j j b m d d c d [ [ [ : : : } 9 4 4 | _ | | _ / _ | 4 } : : 9 _ / $ % . . . . . . . . @ @ . = = * = - - - ; > > , , , , , > , ( ( ( ' ( ( ' ' ' ( > > > , ' ) ) ! ! ! ! ~ { { ~ ~ ~ ~ ~ ~ ~ { { { { ] ] ^ ^ ", +"f a a n 6 j 2 2 8 b j 7 j 1 3 3 c < } } [ [ : } 9 4 | | _ | | | _ _ | | _ _ | 9 | $ # # % @ . + + + . . . + + . * - - - ; ; ; ; ; > , , , , , , ( ( ( ( ' ' ( ' ' ( > = * = > ( ) ) ) ' ' ) ! ! ! ! ) ! ! ! ! ~ ~ { { { ] ] ^ ^ ", +"t l l 0 k j 8 1 8 7 5 5 7 8 1 1 c [ } : [ [ : } 9 4 | _ | 9 } 9 9 4 4 | / / _ | / % & & & @ & & @ . . . . . + * + . . + - ; ; ; ; ; ; ; > , , ( ' ' ' ( ( ( ( ( ( ' ' ' , - + . * - , ' ' ( ( ( ( ' ' ) ) ) ) ) ) ! ! ~ { ] ] ] ] ^ ] ", +"J t f l a g j 2 b 5 5 5 b 1 1 1 3 < [ [ < < [ } } 9 4 4 } : [ [ [ } 4 4 | | | | / # % % % @ % % % . . + * . . + . . . = - ; ; ; ; ; > > , , ( ' ' ' ( ( ( ( , ( ' ( , - . @ @ . = ; , , , > > , ( ( ' ' ' ' ' ' ) ) ! ~ { { { ] ^ ^ ", +"J A 0 a a n g 7 j 6 6 5 b m h h h 3 d < d c d [ } } 9 } : [ [ [ : 9 | 4 4 9 9 4 | _ $ # # & & % # # & & . . + + . . + . . * - ; ; ; ; > , > > ( ' ' ( ( , , , , ( ( , ; = . % # % @ + = ; > > , > > , , , , ( , , , ( ' ! ~ { { { ] ^ ^ ", +"J A 0 a a n k 5 5 6 6 5 j 8 h h m 1 3 d c 3 d < [ [ [ [ < < [ : } } 9 4 9 } : } 9 4 / / $ # # # # $ # % @ . . @ @ @ . + = - ; ; ; , , > > ( ' ' ( , , , , , , , ; = + @ # / # & + = - ; , , > > ; - = = - = = = ; , ) ~ { { { ] ] ] ", +"q i A l l a g 5 6 g 6 7 b b 8 8 8 1 m 3 3 h 3 3 3 3 c c c d d [ : : : } } : [ [ } 4 | | _ _ _ / / / # % & & & @ @ % # % & & @ + * - ; ; > > ; > , , , , , ( , > > > > - + @ % $ $ & * - ; > > ; - - * + @ @ @ @ . * ; ' ! ~ { { { ] ] ", +"v u q I e a k 6 6 6 5 j b j j j b 8 8 1 m 1 8 8 2 2 1 1 1 1 1 m 3 d c c d c c d [ } 9 9 } 9 4 | | _ $ # % % $ # # / / $ $ % # & . + * = - > > ; ; ; ; - ; , , > > > > ; * % $ $ & + = - - - - * + & # $ $ / $ % + ; ' ) ! { { { ] ^ ", +"x v v v N e a g g g g 7 j j 7 5 7 b b b b j 7 7 5 6 5 6 k 0 A e A 0 n k 6 5 5 b 1 h c c c < [ : 9 4 | _ / / | _ _ | | | | / _ $ @ . * = - ; - = = = = - ; ; ; > > > - + @ # # @ . . + = = * . @ % $ _ | | 4 | | / % * > ) ! ! ~ { { ] ] ", +"C u r u r q e 0 n n k 6 7 7 6 k g 6 6 g a A e o o J i I p s u B w s i e f 0 0 k 5 j j b 8 h 3 c < [ } 9 4 4 9 4 4 9 9 : } 4 9 | $ $ # + * = = * + + + + = - > > > - * @ # % + . . + * . % / | 4 | 4 9 4 _ / $ # @ + = > ' ~ ~ ~ { { ] ] ", +"E w r p I s r q o f 0 a 0 f o I I I q N P y z C x B v P u r s N p J A 0 k 6 6 6 7 7 5 7 b 1 h h 3 d [ } } } 9 | 4 4 9 : } 9 } 9 4 4 | % + * * . + = ; ; = . # _ # @ . . % _ 9 4 | / # % # % @ . . . + = ; > ' ! ! ! ~ { ] ] ", +" .#.z v P B D K F y B x C D E O E #.E E O K E z x v r N I i J t l 0 n g 5 7 5 7 j j 7 j b 2 1 m m 3 d < < < : 9 9 4 9 : } 4 9 9 4 9 _ # @ . . . & & % & + = = + # 4 | % @ & % # _ 9 9 | % + + + + * = - = = - ; > , ' ' ) ! ! ~ ] ] ", +"Z Z ` +.U =.:.,.@.T Y R U ..Z L M K E #.F G B r q I J o e t A 0 n k k 6 5 5 6 5 j b b b 2 8 1 m m h c d c c d < d < [ [ } 4 4 _ / _ $ % & @ @ % $ $ % @ . * + & 4 } _ & & % $ | } } | $ @ + * * * + + * = = = = = - > , ( ( ' ! ! ~ { ] ", +"@.*.W &.d.>.>.d.X W @.=.Q ` M K E F D G y w r p i e f 0 0 0 0 n k 6 7 j j j j j b 2 8 8 m h 3 3 3 c < < d d c c m m 3 d } 4 / # % & & @ @ & # $ / % . @ _ [ 9 $ % % / | 9 | $ & . * * + & % # & . + * - ; , ( ( ) ) ~ { { ", +"_.~.b.~._.%.%.~.~.X 2.S Z L H E E E #.F C B v r q i A g 7 5 6 g 6 7 j 2 2 8 1 1 1 m h h c d < < [ : } : [ < < d 2 2 1 3 : 4 $ # % @ . + + @ % / _ # @ & & $ : [ | # % $ / _ $ % . + + . @ # _ } [ [ [ : } 4 $ & . * ; > , ( ' ! ~ { ", +"d.&.W *.,.2.X &.X b.b.&.@.Q V .M V M K E F D C w P p 0 5 j b b j j b 2 1 h c d < < < d < [ [ : } 4 4 4 9 : : < b 7 8 m c : | $ # & @ @ . + . @ % / / # % # $ 9 < } / # $ _ _ # @ . + + + . & $ | } < c m 1 m 3 < 4 # + - ; , ' ) ~ ", +"b.2.,.5.@.5.c.c.*.*.c.b.b.2.T R Y =.R U Q M E z B P s J l g j 8 8 8 8 8 h d [ : 9 4 } : } } } } 9 | _ $ $ _ 4 : 8 5 8 h c d : | # & . . @ & # _ / % # $ _ : [ | $ / _ 4 _ # + + + * * + * + @ % # / | } < 3 h c [ | # @ + - > ( ) ", +"b.X c.2.*.,.2.X 2.2.~.e.(.$.1.%.%.d._.&.,.Q #.B r p i J t n j m 3 3 3 h c } 9 9 4 | 4 4 4 4 4 4 | _ / # % # $ | c 2 m < } : : _ # % @ @ . @ & $ | / % # $ | [ } / $ / | | | $ @ . . + * = = - = * * . @ & # / | : [ [ } _ % @ . - ( ", +"_.b.d.d.d.b.%.(.>.>.k.l.m.n.h.i.h.m.k.1._.T M z u J f l 0 6 8 d : : [ < : 4 | | | _ _ _ | | 4 9 4 _ / # % % % $ 4 [ [ | $ / | / # & & @ & @ @ @ & # _ $ & % $ 4 } _ # # $ $ / _ / % @ + = - - - - - = * + @ @ @ @ & $ 9 [ } | $ # @ * ", +"%.>.(.j.f.o.m.h.p.n.n.8.i.|.q.r.s.|.p.l.>.*.Z K y I 0 g 7 2 c 9 | | 4 9 4 | _ / $ # % % $ / | 4 4 | / $ % & % & % / / % @ & % # & @ @ @ & @ % _ $ @ & $ 4 | $ % & % # % # $ # & . + * * * * = = = * + . @ & % @ @ % _ 4 9 | _ # @ ", +"o.m.p.0.|.t.u.r.7.r.-.u.-.r.).).).-.h.o.e.*.+.O F P A 5 2 3 } _ / / _ | | / # # & @ @ # / | 9 | _ _ $ % & % & @ . . . + . @ % _ $ @ & $ | | $ & @ & # % & % # & . . . . + * = = = * * . % / _ # @ + . & $ _ _ $ & ", +"s.).v.w.x.y.).).y.y.).7.7.z.x.z.q.!.a.(.~.S H z G y i 6 1 < 9 _ _ _ _ _ _ $ & @ . + . % / | | _ / / / # @ . . . . + + . + + + + . . + + . % | $ @ & # | _ $ % & & % % & & & & @ . . + * = = = = = * + / : < | & + - = * @ # % @ ", +"6.A.y.-./.0.i.h./.t.|.0.i./.s.s./.;.j.9.2.Q #.x B y s n 1 [ 4 | | | | | / # @ + + . . . & # $ / / / $ $ $ # % & & @ + + + + * * + . . + + + = = + & | / @ & # _ _ / $ # # # # % & @ & & @ . + * = = = = - - - = + & 4 h 1 9 @ = - ; = + . ", +"s.|.B.j.(.(.>.e.(.$.(.e.b.>.m.8.;.k.%._.,.Z F B v w P A b c } 4 | | | / # % & . @ @ & % # $ / | / # % # $ $ $ % + * * * * + . . + * = = + & _ / & & # / $ # # / / # % % & @ @ @ @ . * = = = = = - ; ; - * % } 8 8 } @ = ; > ; - - ", +"n.m.j.1.>.e.9.%.9.~.W @.:.&.e.1.>._.,.5.:.R M G B B v J 5 m d [ 9 | _ / % # $ & @ & & @ % $ / / $ # % # / _ $ # % + . + * + . * = = + & _ _ % & % # % @ & # / $ # % % % % % & + * * * * = - - - - = . & $ : 2 2 4 = > > , , ", +"l.a.f.$.(.>.>.e.9._.5.=.=.c.~._._.*.Y Z Z Z L H F C x q a b m c [ 9 9 9 _ _ / # & . . @ # # % % # # # $ | $ % & . + * . . + * * . @ / _ % & % % % @ @ % $ $ % % $ / $ % @ . + * * = - - - - ; - * & $ [ b 8 | . - > ( ' ", +"j.f.l.k.$.1.1.1.1.9.&.,.,._._.2.&.W T +. . . . .O D G v e k b h [ [ < : 9 4 | / % @ . & % & @ & % % % % # / # @ . . * * * * . @ @ . + . @ # / # @ % # # & & & % # # # $ / $ % @ @ + * = - - ; ; - - - * . @ % / c 5 1 / * ; , ' ", +"j.f.m.B.8.n.;.B.;.l.j.>.9.$.e.X X X ,.U M K H L M E F v A g j m < d c [ 9 9 4 _ # & @ @ @ & % & @ & & & & & & # / & + + * = = - + @ @ & & @ @ @ & / # & # % & & & % $ / / / # % % & @ + = = - ; ; ; - - - = + & # # _ m 5 c % = > ( ", +"a.B.n.!.q.z.x.v.^.y.-././.t.p.j.9.b._.,.R L V Z V F C s l 6 b m c 3 m c : } 9 | / % & & & & & @ @ @ & & & & & % # % + * = = = * . @ # $ % @ & / # @ % % @ @ & % $ _ _ / # % % & @ . + = = - - - - - - - - * & $ # % | 8 b } @ - > ", +"p.m.l.n.t.7.v.g.C.4.C.D.D.}.7./.;.o.$.d.*.R ..Y +.F C r e a 5 2 1 1 1 m c < : 9 | / # # # & @ . + @ @ & & & @ @ & @ & & . * * * * * . & % # # @ . % # # & % % @ @ @ @ & $ | | _ $ % & @ . + * = = = - - = = - - - * % _ $ & & : 2 h / . ; ", +";.o.(.j.B.i.0.t.E.F.G.3.H.H.I.6.7.t.i.m.1.c.5.*.T V #.B I f n 6 j b 2 8 1 h d [ 9 _ $ $ $ % @ + + . & & @ @ & @ & + + * = * @ & % @ . . @ & % & % & @ @ @ # _ 4 | / % @ + + + * * = - ; - = - ; - = @ 9 } # & $ c 1 } # = ", +"1.(.$.$.k.B.p.!.!.i.J.).'.K.L.M.I.}.z.-.!.o.>.d.*.R +.#.v I A a k g 7 b 8 1 3 < 9 | _ / / # @ + + . & @ . . & & @ @ . * = * . @ . + . @ & . . & # & . . . . & / | / $ % @ . * + + * * = - ; ; - ; ; ; = [ 3 _ % % } m c | ", +"X b.>.(.(.j.l.p.p.B.;.!.r.v.N.].O.O.D.^.E.t.!.a.~.@.=.+.F B N o A 0 6 j 2 8 h < : } } 4 _ $ & @ & @ @ @ . + . & & & @ + * + . + * * * . & @ . + + . @ # % . + * + % $ # % & & + * + + + * = - ; > > > ; = . d b } # & | m m } # ", +"&.X b.%.>.(.$.a.;.;.n.8.|.s.s.r.z.6.D.].N.v.z.|.a.e.c.T L #.C u p e a g 5 b 8 m c < [ 9 | / # % $ % @ . + * + & & @ + * = = - - = + @ # & + * * % & + * = + . @ # # @ @ & @ + + + + + * = - ; > > ; = . < 6 h $ % < m [ _ ", +"l.m.8.n.8.8.;.m.o.l.8.h./.-.u./.!./.7.}.P.P.}.z.u.i.o.~.T L K D x r i t l n g 5 8 3 < : 4 / # & & & & & + * * . @ & % @ @ + = = = - ; = = + & # @ * * . & @ . * = * + & & @ @ @ . + * + + + * - - ; ; = * . 9 6 b $ . + $ d d 9 ", +"-.s.z.-.|./.0.!.n.;.!.|./.|.J.|.i.n.8.|.y.G.P.}.z.q./.B.e.5...L K D B r s p t 0 g b 3 } 4 / % @ @ & # # & . . . @ % % @ + - = = - - - - = . & & . * . & & @ . * = = * + . @ @ @ & @ + * + . + + * - > > ; - * | 5 7 _ + @ } c : ", +"J.-.u.i.;.n.h.i./.u.s.r.-.J.|./.!.8.B.a.!.y.g.'.6.x.r.u.h.k._.:...L K C v s o 0 g b h < } | $ % % & & # % & & @ & & % % @ + * = - - - - - - = - + . + . @ @ + * * * * * + . @ @ . + + + . . * ; > > > ; = 4 k 5 | & + | d < ", +"/.0.h.B.m.a.B.m.8.|.s.s.E.).s.t.i.p.n.m.;.!.7.A.6.F.x.z.E.J.;.e.*.U M F w p f g b m 3 d [ | / / $ & @ % # # & @ % % % % & . + * - - - = - - - - - = + . . + * = = * * + + . . . . . + * * + * = ; ; ; ; - + 9 n k } & * . # } : ", +"!.i.;.l.B.a.l.f.o.B.p.!.-.w.6.x.u.h.n.8.m.f.B.t.).F.^.^.F.y.J.;.(.&.R M G r t g 2 h c [ } 4 _ _ $ & @ @ % # _ / # % % % & & * * = = - - = - - - - - = + . . . + = - - - - * * + + + + * + + * = = - > > > ; = . 4 k a [ % + * @ $ | ", +"p.8.a.o.m.a.o.k.(.k.l.a.h.7.G.C.A.s.0.;.(.d.d.(.p.E.F.^.^.w.r./.n.$.*.` K C N A 7 h d [ } | / / # & @ & # $ | 4 / % % % @ . * * * = ; > - - = = - = = = + . + . + = - - - ; - = * * + * = = * * = - ; > , > > - 4 g 0 d # . * + & ", +"B.m.l.o.a.m.B.k.9.>.$.k.B.-.^.C.[.'.7.p.e.c.2._.j.!.r.z.).r.u./.n.1.:.M F z w I g m d [ } | $ # # # # # $ $ / | _ # @ . . . + + * = - = = * * = * * * * * + . . * = - ; > > - = = * * = - = * * = - > , > > = 9 k 0 d % * - ; - - ", +"B.B.l.k.l.n.;.k.%.d.e.j.;.u.z.6.O.M.}.u.a.b.X %.(.o.p.t.|.h.n.n.m.9.T H x w w N a 1 c < } 4 _ / $ / / / _ / / | | # + + + . + * + + * = * + * * * * * * * + . + + * = - > > , , > ; - = - - - = = * = - > , > * @ : n 0 < @ - ( ' ( ( ", +"8.a.f.j.k.a.o.j.1.%.%.1.a./.7.v.D.L.{.F.|.m.f.$.b._.e.o.m.a.o.k.1.c.Y H w N s I 0 2 c [ } 4 4 | 4 _ # $ / _ _ | | # + = * + . + = * + * * * + . + * * = = = * * * * * = - ; > > , , > > ; - = = = - - - - - ; ; - . # d 0 k [ - ( ' ) ) ", +"l.j.(.(.$.k.1.e.1.e.d.>.f.h.E.w.^.4.<.3.^.r.!.(.2.5.,.c.9.(.e._.,...+.K u e e o l 7 h [ } } } 4 4 _ $ # $ / / / $ # @ + * = = + + * = = * + * = * * * + * = = = - - - = - ; > > > > > > > > ; - - * = - ; ; ; - = + @ | 8 l 6 [ @ - , ' ) ! ", +">.e.e.e.e.>.%._.b.b.d.(.l.p.q.).z.6.O.<.[.6.J.k.X @.T S 2.X W R V E H O s l 0 A l 6 1 < : } 9 4 4 | _ $ / $ # % % # & + * = * + * = - = * * = = = = + + + * = - ; ; ; ; ; > , > ; ; ; > > > > ; = * = - ; ; = * + & : 5 f 5 [ & - , ' ) ! ", +"9.d.d.%.d.~.&.2._.~.d.(.l.n./.s.E.x.P.<.Q.D.E.B.9.W T R =.5.@.` #.z #.F q 0 k a n 7 1 d : 9 9 4 | 4 | / # # % & % # # & . + * * + * * = - = = - ; ; - * * + * * * = - - = - > > > > > > , , , , > ; = * = = * + * * @ d 0 f 7 : @ - ( ) ) ~ ", +"e.%.%.d.b._.&.&.b.d.d.e.$.l.!.s.E.z.}.K.Q.3.w.0.$.X :...` R T ` D y D C i n 6 5 j m c < } 9 } 4 _ _ _ / # & & % # # # % @ . * * + + * = - = = ; > ; - - = * = = = = - - = ; > > > > , ( ( ( ( ( , > - = * + . + & 3 l l j : & ; ( ) ~ { ", +">.e.e.e.%.b.b.d.%.b.X _.%.o.!.r.).y.A.].M.M.'.s.B.d.5.R +.L Z +.F y G w A 5 2 1 h < < [ 9 4 } 9 _ _ / / / $ & % $ # # % & + = + + * = - - - ; > ; ; - - = = - ; ; ; ; ; > , ( , ( ( ' ' ' ( ( , > > ; = + . / 8 0 a j } > ' ! { { ", +"1.>.1.>.e.9.e.9.d._.c.c.d.o./.7.y.v.A.}.C.H.3.v.0.$.&.S Z V ` Z H F G N n 2 h c < : : [ } } : 4 _ / # # / _ # % $ # % % & & * = * * * = - - ; ; > ; - = - = = - ; - ; > , ( ( ' ' ' ' ' ' ' ( ( , , > - + . # } 7 l a b 4 + , ) ~ { ] ", +"$.1.>.%.%.e.1.1.>.b.c.2._.k.!.E.y.w.F.v.A.I.O.g.s.B.d.*.=.R Y ..L K y i k 2 3 < : } : [ : [ : 4 / # & & # / / % # # & % # % @ + = * + * - ; ; ; > ; - = = - = - - ; - ; > , ( ( ' ) ' ' ( ' ) ) ' ( , , > = + & _ 3 n f n 2 _ * ( ! ~ { ] ", +"j.1.9.~.~.9.>.(.(.~.2.W &.(.h.E.y.y.w.y.).A.4.].y.i.$._.2.,.Y +.+.M B t g 2 3 [ : } : : } } } | / # @ @ & $ / # # % @ & # % + * * + = - ; ; ; ; - = + * - - - ; ; ; > , , ( ( ' ' ' ' ) ) ) ) ' ( ( , , > = . % 4 1 k 0 k m $ = ( ! { { ] ", +"j.1.d.X _.b.d.9.e.&.,.W &.9.;.r.w.y.y.7.-.).P.I.^.-.n.$.%.5.+. .V K v A 5 8 c < : : : } } 9 4 | $ # @ @ % # # # & @ % % & @ . + + * = - - - - - = * + * - ; ; ; ; > , , ( ( ' ' ' ) ! ! ) ) ) ) ' ( , , , > = & 4 m 5 6 j d & ; ( ~ { { { ", +"f.j.%.c.*.W c.~.%.&.@.,.&.d.a.r.A.v.).r.J.u.^.C.g.z.J.;.e.:.L K D v i 0 5 8 3 < < < [ } 9 _ / $ # & @ @ @ & & % % @ & % & & @ . . . + + = = = = = * * * - ; ; > > ; > , , ( ' ' ' ) ) ! ! ) ) ! ) ' ' ( ' ( ( ; + $ d 8 b 1 } @ > ' ~ { { { ", +"l.o.1.&.@.:.@.*.&.2.@.5.&.9.m.s.N.6.r.-.t./.).G.P.A.E.8.%.5...K w o n 5 b 8 m 3 c c : } 4 / # % % & & & @ @ & @ & % @ @ . . . . + * * * + * * + * - ; > , , > > , ( ' ) ) ) ) ) ! ! ) ! ! ) ) ' ' ' ' ( , ; . / < 3 < / + , ) ~ { { { ", +"o.o.j.%.c.,.@.@.,.,.:.,._.(.;.s.G.g.r.J.|.0.r.g.D.N.).h.>.2.=.H u A 6 8 h h m m h < } 9 | $ & & % & @ @ . . @ . @ . . . . . . + * + * ; > , , , , > ( ' ) ) ! ) ) ) ) ) ) ! ! ! ) ) ) ) ' ' ( , ; + # _ / @ - ( ! { { { { ", +"(.$.k.(.%.X c.2.*.,.,.2.d.k.h.7.D.P.).J.|./.q.6.D.N.z.|.f.X =.H r A 6 1 3 c c 3 c : 9 9 _ # & @ @ @ . + . . . + + . . + . @ . @ & % @ + * * - > ( ( ( ( , > ( ' ) ) ! ) ) ' ' ' ) ! ! ! ) ) ) ) ) ) ' ' ( > - * + = ; ( ! { { { ] ", +"9.(.j.k.>._.&.c.2.c.X d.1.m.|.x.I.].y.J.i.p.|.w.'.N.w.q.;.b.=.H v e g 2 m 3 3 d : 9 } 9 $ & . . . . . + * * + * * + + . @ & # # @ . + * ; > ( ( ( ( , > , ' ' ) ) ! ! ' ' ' ) ) ) ) ) ) ) ) ) ) ) ) ' ' ( , > , ( ' ~ ~ { ] ^ ", +"_.>.k.a.j.&.@.S :.*.X 9.(.l./.w.4.D.z.0.l.k.;.E.}.6.w.E.i.e.T V z I a 5 b 1 3 [ 9 9 } 4 % . . . + + * + * = = * = = * . . + + & % # / # & @ = ; > , ( ( ( , > , ( ' ) ! ! ! ) ' ) ) ) ' ' ' ' ' ' ' ) ) ) ) ) ! ) ' ' ) ! ~ { { ] ^ ", +"2.9.j.m.k.W U ` ` U S 2.~.1.n.y.I.G.).h.1.d.j./.w.A.v.).t.$.@.Z E r A n 5 8 c } 4 9 9 _ & . . . + + + * = * * = = = - - - * + * + @ # / / / % & & . = ; > ( ( ( ( ( , ( ( ' ) ! ~ ! ) ) ) ) ' ' ' ' ' ' ' ( ) ! ! ! ! ~ ! ! ! ~ ~ { { { ] ] ", +"W ~.(.f.d.Y L . .+...T *.d.a.).C.G.).h.(.d.1.n.E.F.F.x.q.a.2.U .x I f g b c } } 9 | $ & . + + * * + * = * * * = ; - ; ; = * + & # / / # % % @ + = ; > ( ( ( ( ( ( ( ( ' ) ) ~ ! ) ) ) ) ) ' ) ) ) ' ) ' ) ! ! ! ~ ~ ~ ~ ~ { { { { { { ] ", +"c.c.%.>.,.+.M H .` ..=.,.%.n.w.3.].x.t.B.k.f.8.s.v.A.v.7.h.9.@.` F u o n j h < : 9 / # @ + * * * * * = = = = - > ; ; ; - = . & # # % & & % & . * = ; > , ( ' ( ( ( ( ( ' ) ) ~ ! ! ) ) ) ) ) ) ) ) ) ! ! ) ! ~ ~ ~ ~ ~ { { { { { { ] ] ] ", +"~.,.c.&.Y M H H .M +.Y c.k.t.N.O.C.^.q.8.f.k.;.J.y.^.F.y.t.f.2.R .y q f 6 1 c : 4 / # @ . + + * + + * * = = - ; ; ; - - * & # & @ @ @ + = - > , , , , , , , ( ' ) ) ! ! ! ! ) ) ) ! ! ) ) ! ! ! ! ~ ~ ~ ~ ~ ~ { { { { { { ] ^ ] ", +"9.*.5.:.` K O #.F E H R 9.i.E.G.O.D.x.|.o.%.%.k.i.r.y.w.z.u.B.~.S ` #.v J n b 3 : | / # & @ . . + + + * - - - ; > > > ; - + @ @ . . . . . + = ; > > > > , > , ( ' ' ) ) ! ! ! ) ) ) ! ! ! ! ! ! ! ! ! ~ ~ { { { { { { { { { ] ^ ] ", +"%._.,.=.` H F C C D K T o.u.).P.[.N.r.p.1.X 2.d.a.0.-.r.r.u.8.e.@.Q K C s f 5 m < 9 _ # % @ . . . + * - ; ; ; > , , , > > = + . * * + . . + + + . . * - > > > ; ; ; > , ( ( ' ) ) ) ) ) ) ) ! ~ ~ ! ! ! ! ! ! ~ { { { { { { { { { { ] ^ ] ", +"&.9.b.*.U .D y C D .2.n.u.z.P.4.6.-.B.9.W :.W e.m.h./.J.t.8.(.,.Q K z v i n b 3 : | / # + * * * - > > > > , , , , , > = * = - - * . + + * * + + + = ; ; - - = = - > , ( ' ' ' ) ) ) ) ) ) ! ! ! ! ! ~ ~ ~ ~ { { { { { { { { ] ] ] ^ ] ", +"T ~.1.d.S +.E z G D M ~.p.t.).'.C.^.t.o.~.@.Y T c.>.l.8.!.i.a.e.W U E w r i l 5 h < 9 / % + - - = ; ; ; ; > > > , , , > - ; ; ; - * . . + + * = * * + * = = + . + = > ( ( ' ( ( ' ' ' ' ' ) ) ) ) ) ! ! ~ ~ ~ { { { ] ] ] { { ] ^ ^ ^ ^ ", +"U @.~._.*.T M G z D V d.i.|.7.'.D.x.!.$.c.Y +.` =.2.%.j.a.l.>.c.:.R E r e l n 5 m < 9 / % @ + - - - - ; ; > > > > > , , > ; ; ; - = * + . . + + * * = = + . . @ @ . * ; > , , , , ( ' ' ( ( ' ) ) ) ) ) ! ! ! ~ ~ { { { ] ] { ] ] ] ] ] ^ ", +"R Q Z Z T ,.Y M #.E Q 1.!.|.y.G.g.).8.e.,.Z O #.H Z T 2.~.b.&.=...Q O r 0 7 b 2 h [ | $ % + = - - - = ; > > > > > > > > ; - - - = * = * + . + * = - - * & % # # @ + - ; ; ; > , , , , , , ( ( ( ( ( ' ) ! ~ ~ ~ ~ { { { { { ] ] ] ] ] ] ", +"Y M z y E Q T S Y R 2.a.i.t.v.G.6.s.B.b.:.V z B y D K +.Y @.T L .V E u n 1 c c c } / # & . . * = = = = ; ; ; > > ; ; > ; ; - - = = - - = * . + = = = * % $ / $ & + = ; > > , > > > - - - - - - - ; , ) ! ~ { ~ ~ { { { { { { ] ] ^ ] ^ ", +"Q F u s r C +.5._.d.o.p.!.q.A.'.F.u.l._.T .y P P B C #.+.U M z G E G N g 3 [ : [ 9 / % . . * * = = ; ; ; > ; > > > > ; - - = = - - - * . . * = * . & # / $ & + = ; > > > ; - = + . . . + = > ' ) ~ { { { { { { { { { ] ^ ^ ^ ^ ", +"O y N p q v K S 2.d.B.!.t.z.}.N.w.u.m.9.*.Q K z v u w F V H w q P C v e j d 9 9 9 | # & @ . + + + * = ; ; ; ; > , , , > ; ; - = = - - - = . . . + + & # / $ & . + * = - ; - = * + @ & & % # & . * ; ' ) ! { { { { { { { { { ] ] ^ ^ ] ", +"z x r s v D M ` Q 5.j.h.q.^.N.}.x.u.;.(.X T +.F v u y O E v o A i r i k 1 [ 4 | | $ % & & @ . * * * * = ; ; ; > , , , , > - ; - * * = - - - * + . . @ $ _ _ % . . + * * * * & % # $ / $ $ $ $ % * > ' ! ! ~ ~ ~ { ~ { { { ] ^ ^ ^ ^ ^ ", +"x y B C O L +.O H =.9.8.7.6.}.^.).0.f.d.:.V #.C B y G z r t a a t J A 7 3 : | / / $ % & & + * = * = - ; ; > , , , > > > ; > - = * * = = = * * + @ # _ _ # . + % / | | | _ _ _ $ # # % @ * > ' ! ! ! ! ~ { { { { ] ] ^ ^ ^ ^ ^ ", +"w C C #.V ` V F O R %.h.y.A.A.x.s.n.9.2.U O D G z y P J 0 g 6 k 0 f a b d } _ # % % % & @ . + = = = = ; ; > > > > > > > > , > ; = + * * = - = * + @ # _ _ % @ @ @ # _ 9 : 9 _ # & & % & . . = ; > , ' ) ) ! ~ { { ] ] ] ^ ^ ^ ^ ^ ^ ", +"u y G F H V K D E R 9./.x.^.v.).J.l.b.*.U H F C P I f 6 j b 2 j 5 g 5 1 < 9 | / # % % & . + = - - - ; ; ; > > > > > ; > > > - * . + * = - - = + % | 4 $ @ & % # _ 9 } 9 _ # @ . . @ @ . + * = ; > , , , ( ' ) ! { ] ] ] ] ^ ^ ^ ^ ^ ^ ", +"N w C D O .H E M :.$.J.x.w.y.r.0.$.c.T L D P I f k j 8 1 m m m m 1 m 3 [ } 9 | / $ # & . + = - - - - - - ; > > , > ; > > > = + . . + * = - = . $ 9 / & @ & # / 4 9 4 / # & . . & & & + = - ; > , ( ( , ( ' ) ~ { { { ] ] ] ^ ] ^ ^ ", +"I r x D O .V +.Y ~.B.q.x.x.).-.n.b.T V z N A k b 1 h 3 c c c c d < d < } } 9 | / $ # @ . + + = = = = = * = - ; ; > > ; ; ; ; * . & + * = + & _ | % @ @ % / 4 4 / # & @ @ @ @ & $ / # & @ . + * - ; , ( ( , ( ' ) ~ ~ ~ { { { ] ] ] ^ ] ", +"J q v C #. .` R 2.k.0.E.y.y.E.|.k.,.L D s A 6 8 h c d < : } : [ [ : : : } } 9 _ $ # & + = = = * * * * + * = - - - ; - = * + . @ % # @ . . + $ _ # @ # / _ # & @ @ & & & % # _ 4 4 | | _ $ % . * - > > , ( ( ) ! ! ~ ~ { { { ] ] ] ] ", +"e o q v z H Z =.~.;.t.r.z.7.-.8.b.R K B o g 2 3 < [ [ : } 9 } : : : } } : } 4 $ # # @ . * - - * + . + . + * = = = * + . . . @ & % @ . . @ / $ @ @ % # # # & @ & # % & & # / | 9 } : [ : | $ @ + = - > , ( ' ) ! ! ~ { { { { ] ] ", +"l f J s x #.` :.b.B.|.q.E.r.t.l.W Z F N 0 j m < : } : [ : [ < < [ : : : 9 4 _ $ # & . = - = + . + + = - - - = = = = = + @ & + . % / # @ & # # % % . @ & % & . + @ & & # / | 9 } 9 | $ @ . * - > ( ' ) ! ! ~ { { { { ] ", +"n 0 A i P C M :.d.a.!.J.s.u.h.1.:.V y o g b 1 c d < d c c d < < : : [ } | / $ # & @ . = - * + + + + + * = = - ; > > ; ; > ; - * + + @ $ $ @ @ % % & & & . @ @ + * * * + + + . @ % $ / _ / % @ . * ; , ( ' ! ~ ~ { { ] ] ", +"g a 0 f I v F U ~.l.p.0.J./.m.b.Y O P t g j 8 h h h h 3 c d [ [ } 9 } 4 / % & @ . + = - = * = = = = - ; ; ; ; , , > > > ; ; = . . * + % $ & . & & @ @ & @ . . . + = = - = * * + * * * + % / / # & + = ; , ' ! ! ~ { ] ] ", +"6 k k n f p B .*.$.;.i.0.p.k.W ` D p 0 5 j 8 h c d d [ : [ [ : 4 | | / % @ . . . * = - - - - ; - ; ; ; ; ; ; ; > , > > > ; ; - . . * + & & @ & @ . & & . . . . . * = - - = * + + . * = = = * % $ # % & . * ; ( ) ! ~ { ] ^ ", +"6 6 6 g n A q G Q _.f.;.;.a.%.Y H v A 5 2 8 m d : } } } : : } _ $ $ / # @ . . . . + = - - - - ; ; - - ; ; ; - ; ; ; > > > > > ; - . = * . & @ . & & . . + = - - ; - = * + @ * = - - = . @ % & . * - , ) ~ { { ] ^ ", +"7 7 7 6 g g f s D U &.9.e.d.5.+.F p k b 1 h d } 4 9 } : } 4 $ % & % # % . + + + * - = = = = - ; - - - ; - - - ; ; ; > ; ; ; > = . - = * + @ & + . . . @ @ . . + = - ; ; > ; - = . # / # . = > > ; * + * - , ! { { { ] ] ", +"8 j 7 6 5 7 g A N G +.=.:.=.L E x e 5 8 m d : } } : : 9 _ % @ & % & . + + + + * = = = = = - - - - - - - - ; ; ; ; ; ; ; ; ; - . - = * . @ @ . * * + . . . . . + * = - ; > > > ; = @ | } / . - > > ; = * * - > ' ! ~ { { ] ] ", +"8 2 b b b b j 5 l N y E M H F C r l j 1 h d : } } } | $ & . + + . . . . . . + = = = * = = = = = = - = - - - - = - - - - - ; - . + - - * . @ + + + * + . . . . . * * = - ; ; > ; - + & 9 : / . - > > > > > , ' ! ~ ~ ] ] ] ] ", +"2 8 1 1 1 1 8 8 j f q w z G y v o 5 1 m 3 [ 4 | 4 _ # @ . * = * * + + + + . . . * - = * = - = * * * * = = - - = = = = = = = - ; ; + + - - * . * * * + + + . @ & & & @ . + * * = - - - ; ; - = + % } [ / . - > , ( ' ' ! ~ ~ { ] ^ ] ^ ", +"1 m 3 h h 3 h m 1 b 0 I P v v q n m d 3 c } _ $ / $ & . + * = = * + + + + + + + = = = = = = * * = = * * = = - - = = = = = - - ; ; * + = = + + - - = * + + @ % % % & @ . + * = - - - ; - - ; - * + # : [ $ + ; , ' ) ) ! { { { ^ ^ ^ ^ ", +"3 3 c c c 3 3 m h c 1 n i N s A 2 < : d < 9 _ / $ # & . + = = = * + + * * * = * = - ; - = * + * = = - - = = - - = * = = = - - - ; = * * * + + * - - - = * . @ & & & @ . . . + * = - - - ; > ; - - - = * . $ [ : % * > ' ) ) ! ~ ~ ] ^ ^ ^ ^ ", +"< c c < < d c 3 3 c d 1 g A l 7 c : : [ 9 / / / $ # % + * = = * + + * = = = = - > ; = * * * = = - ; - = = - - = = - - = = - - ; ; = * = = * * - - - - * . @ & @ @ . + + + * * - ; - ; > > ; - - = * + + _ [ 4 - ( ' ) ! ! ~ ] ^ ^ ^ ] ", +": < < [ [ < [ < d c d < 3 m m c : } [ : | # % % % % & . + * * + * * = - - - ; > ; - = - ; ; - - - - = = = - - ; ; - - = = - - ; ; - = ; - = = ; ; ; - * . @ & @ . + + + * = - ; ; ; ; ; > ; - = + . . + @ | } $ + > ( ) ~ ~ { ] ^ ^ ^ ] ", +": : : } } : : : [ < < : } : : } 9 9 : 9 / # % & @ @ @ @ @ . . + * = = - ; > , > > > > > > ; ; - - - = = - - - ; > ; - - = - ; > > ; - - = = - - - - - * & @ . + * * * * = - ; ; > ; ; > > ; - + . + + & 4 | @ = , ) ~ { { ] ^ ^ ^ ^ ", +"3 < : 9 9 9 9 } } : [ } 4 4 | | 4 } : 4 # % % & @ . @ @ . + = - ; > , , , , > > > ; ; ; - - - - - - - - - ; > ; ; - - ; > > > - * + * - - - - - * @ * = = = = - ; ; > > ; ; > > ; - + & % + . / 4 # . ; ' ! ~ ] ] ] ] ] ^ ", +"2 m 3 < : } 9 9 } } : : 9 | / _ 4 } } _ # % & @ . . . . . * - > , ( , , > ; > > ; ; ; - - - - - ; ; - ; ; ; > ; - - > , > > = + . * - ; ; ; - * . + = - - = ; > > > > > > > > ; - + # _ @ + * & | _ & * , ) ~ { ] ^ ^ ^ ] ", +"c 3 h h c [ } 9 } } 9 } 9 | / / | 9 | $ # # & @ . . . + * * + . . + = - > ( , , > ; ; ; ; ; ; - = = - - ; ; ; ; ; ; > ; - = - > , ; - * . = ; > > > - * + . . . . + = - - - ; > > > > , , , > > - + $ 9 # + = . / | # . ; ' ! { ] ^ ^ ^ ^ ", +"4 } : < d < : } } } 9 9 : } _ $ _ 4 _ / $ # % @ . + + = - ; - * * + + = > ( , > ; - - - - - - - = = - - = - ; ; ; ; > > - = = ; > > > - = - > , , > ; - * + + + . + = - - ; ; > > > > > , , , > = . $ : 4 = = & / $ @ = , ) ~ ] ] ] ^ ^ ", +"4 9 } [ [ [ [ : : : [ : : : 4 _ | 4 _ / $ $ % @ . + * = ; ; - - - - - - ; , , > ; - = = = - = = = = - = = = - ; ; - ; > ; - ; - ; , , > - - > , , , > - = * + + . * = - - - ; ; > > > > > , > ; * . % } 9 - ; * % # @ . - ' ~ { ] ^ ^ ^ ", +"$ _ 4 } : : : : [ [ [ [ } 9 9 9 4 4 _ $ # % @ . + + * * - ; - - - ; > ; > > > > > ; - * = = * * = - - - - - = = = = ; > ; ; > ; - > , ( > > > , ( , ; - = * * * + * = - = = ; > > > > > , , > - + . & } } @ = ; - % % @ * , ! ~ { ^ ^ ] ", +"& & % # $ / / | 4 4 | | | | 9 } 9 | / # % & + * + + * = - - - - - ; ; ; > ; - - - - = = * * * * * * + * = = * + + * ; > ; > , , > ; , ( ( , , , ( , ; - - = = = * * = - = = - > , > > , , > ; = . % } : & = > ; + % # @ + > ) ! ~ ] ] ^ "}; diff --git a/etip/locale/id.po b/etip/locale/id.po deleted file mode 100644 index ffba7b6..0000000 --- a/etip/locale/id.po +++ /dev/null @@ -1,93 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR Free Software Foundation, Inc. -# FIRST AUTHOR , YEAR. -# -msgid "" -msgstr "" -"Project-Id-Version: emenueditor\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-02-04 11:58+0100\n" -"PO-Revision-Date: 2002-11-29 15:50+0700\n" -"Last-Translator: Bambang Purnomosidi D. P. \n" -"Language-Team: id \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=iso-8859-2\n" -"Content-Transfer-Encoding: 8bit\n" - -#: etip.cpp:809 -#, fuzzy -msgid "" -"To start any application is simple. Press on the button with your user name, " -"go to the Programs menu, select category and click on the wished program." -msgstr "" -"Untuk memulai suatu aplikasi, caranya sederhana. Tekan tombol EDE, gerakkan " -"ke menu Programs, pilih kategori dan klik pada program yang diinginkan." - -#: etip.cpp:810 -#, fuzzy -msgid "" -"To exit the Equinox Desktop environment, press button with your user name " -"and then logout." -msgstr "" -"Untuk keluar dari Equinox Desktop Environment, tekan tombol EDE dan kemudian " -"logout." - -#: etip.cpp:811 -#, fuzzy -msgid "To lock the computer, press button with your user name and then lock." -msgstr "Untuk mengunci komputer, tekan tombol EDE dan kemudian lock." - -#: etip.cpp:812 -#, fuzzy -msgid "" -"To setup things on the computer, press button with your user name, Panel " -"menu and then the Control panel." -msgstr "" -"Untuk mensetup hal-hal tertentu di komputer anda, tekan tombol EDE, menu " -"Panel dan kemudian Control panel." - -#: etip.cpp:813 -#, fuzzy -msgid "" -"To add a program that is not in the Programs menu, click on the button with " -"your user, Panel menu, and then Edit panels menu." -msgstr "" -"Untuk menambahkan suatu program yang tidak berada di menu Programs, klik " -"pada tombol EDE, menu Panel, dan kemudian menu Edit panel/" - -#: etip.cpp:814 -msgid "" -"Notice that this is still development version, so please send your bug " -"reports or comments on EDE forum, EDE bug reporting system (on project's " -"page), or karijes@users.sourceforge.net." -msgstr "" - -#: etip.cpp:815 -msgid "" -"You can download latest release on - http://sourceforge.net/projects/ede." -msgstr "" - -#: etip.cpp:820 -msgid "Startup tips" -msgstr "Tips startup" - -#: etip.cpp:825 -msgid "Do not show this dialog next time" -msgstr "Jangan perlihatkan dialog ini lain kali" - -#: etip.cpp:840 -#, fuzzy -msgid "Welcome to Equinox Desktop Environment version " -msgstr "Selamat datang di Equinox Desktop Environment" - -#: etip.cpp:850 -msgid "<< &Previous" -msgstr "<< &Sebelum" - -#: etip.cpp:854 -msgid "&Next >>" -msgstr "&Berikut >>" - -#: etip.cpp:859 -msgid "&Close" -msgstr "&Tutup" diff --git a/etip/locale/messages.pot b/etip/locale/messages.pot deleted file mode 100644 index c653490..0000000 --- a/etip/locale/messages.pot +++ /dev/null @@ -1,81 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-02-04 11:58+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#: etip.cpp:809 -msgid "" -"To start any application is simple. Press on the button with your user name, " -"go to the Programs menu, select category and click on the wished program." -msgstr "" - -#: etip.cpp:810 -msgid "" -"To exit the Equinox Desktop environment, press button with your user name " -"and then logout." -msgstr "" - -#: etip.cpp:811 -msgid "To lock the computer, press button with your user name and then lock." -msgstr "" - -#: etip.cpp:812 -msgid "" -"To setup things on the computer, press button with your user name, Panel " -"menu and then the Control panel." -msgstr "" - -#: etip.cpp:813 -msgid "" -"To add a program that is not in the Programs menu, click on the button with " -"your user, Panel menu, and then Edit panels menu." -msgstr "" - -#: etip.cpp:814 -msgid "" -"Notice that this is still development version, so please send your bug " -"reports or comments on EDE forum, EDE bug reporting system (on project's " -"page), or karijes@users.sourceforge.net." -msgstr "" - -#: etip.cpp:815 -msgid "" -"You can download latest release on - http://sourceforge.net/projects/ede." -msgstr "" - -#: etip.cpp:820 -msgid "Startup tips" -msgstr "" - -#: etip.cpp:825 -msgid "Do not show this dialog next time" -msgstr "" - -#: etip.cpp:840 -msgid "Welcome to Equinox Desktop Environment version " -msgstr "" - -#: etip.cpp:850 -msgid "<< &Previous" -msgstr "" - -#: etip.cpp:854 -msgid "&Next >>" -msgstr "" - -#: etip.cpp:859 -msgid "&Close" -msgstr "" diff --git a/etip/locale/ru.po b/etip/locale/ru.po deleted file mode 100644 index ad59f13..0000000 --- a/etip/locale/ru.po +++ /dev/null @@ -1,93 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR Free Software Foundation, Inc. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-02-04 11:58+0100\n" -"PO-Revision-Date: 2002-11-28 HO:MI+ZONE\n" -"Last-Translator: aabbvv \n" -"Language-Team: RUSSIAN \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=koi8-r\n" -"Content-Transfer-Encoding: 8bit\n" - -#: etip.cpp:809 -#, fuzzy -msgid "" -"To start any application is simple. Press on the button with your user name, " -"go to the Programs menu, select category and click on the wished program." -msgstr "" -" , EDE, " -", ݣ ." - -#: etip.cpp:810 -#, fuzzy -msgid "" -"To exit the Equinox Desktop environment, press button with your user name " -"and then logout." -msgstr " EDE EDE, ." - -#: etip.cpp:811 -#, fuzzy -msgid "To lock the computer, press button with your user name and then lock." -msgstr "" -" , EDE ." - -#: etip.cpp:812 -#, fuzzy -msgid "" -"To setup things on the computer, press button with your user name, Panel " -"menu and then the Control panel." -msgstr "" -" - EDE \"" -"\" ." - -#: etip.cpp:813 -#, fuzzy -msgid "" -"To add a program that is not in the Programs menu, click on the button with " -"your user, Panel menu, and then Edit panels menu." -msgstr "" -" EDE, ," -" , ." - -#: etip.cpp:814 -msgid "" -"Notice that this is still development version, so please send your bug " -"reports or comments on EDE forum, EDE bug reporting system (on project's " -"page), or karijes@users.sourceforge.net." -msgstr "" - -#: etip.cpp:815 -msgid "" -"You can download latest release on - http://sourceforge.net/projects/ede." -msgstr "" - -#: etip.cpp:820 -msgid "Startup tips" -msgstr " " - -#: etip.cpp:825 -msgid "Do not show this dialog next time" -msgstr " " - -#: etip.cpp:840 -#, fuzzy -msgid "Welcome to Equinox Desktop Environment version " -msgstr " Equinox Desktop Environment" - -#: etip.cpp:850 -msgid "<< &Previous" -msgstr "<< " - -#: etip.cpp:854 -msgid "&Next >>" -msgstr " >>" - -#: etip.cpp:859 -msgid "&Close" -msgstr "" diff --git a/etip/locale/sk.po b/etip/locale/sk.po deleted file mode 100644 index dbc5079..0000000 --- a/etip/locale/sk.po +++ /dev/null @@ -1,94 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR Free Software Foundation, Inc. -# FIRST AUTHOR , YEAR. -# -msgid "" -msgstr "" -"Project-Id-Version: etip 1.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-02-04 11:58+0100\n" -"PO-Revision-Date: 2002-04-21 14:50+0200\n" -"Last-Translator: Martin Pekar \n" -"Language-Team: Slovak \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: etip.cpp:809 -#, fuzzy -msgid "" -"To start any application is simple. Press on the button with your user name, " -"go to the Programs menu, select category and click on the wished program." -msgstr "" -"Spustiť aplikáciu je jednoduché. Stlačte EDE tlačidlo, chodte do ponuky " -"Programy, zvoľte kategóriu a kliknite na želaný program." - -#: etip.cpp:810 -#, fuzzy -msgid "" -"To exit the Equinox Desktop environment, press button with your user name " -"and then logout." -msgstr "" -"Ak chcete ukončiť prostredie Equinox Desktop environment, stlačte tlačidlo " -"EDE a potom odhlásenie." - -#: etip.cpp:811 -#, fuzzy -msgid "To lock the computer, press button with your user name and then lock." -msgstr "" -"Na zamknutie počitača, stlačte EDE tlačidlo a potom zablokovať obrazovku." - -#: etip.cpp:812 -#, fuzzy -msgid "" -"To setup things on the computer, press button with your user name, Panel " -"menu and then the Control panel." -msgstr "" -"Na nastavenie vecí na počítači, stlačte EDE tlačidlo, ponuku Panel a potom " -"Kontrólny panel." - -#: etip.cpp:813 -#, fuzzy -msgid "" -"To add a program that is not in the Programs menu, click on the button with " -"your user, Panel menu, and then Edit panels menu." -msgstr "" -"Na pridanie programu, ktorý nie je ponuke Programy, kliknite na EDE " -"tlačidlo, ponuku Panel a potom Editovať ponuku panelu." - -#: etip.cpp:814 -msgid "" -"Notice that this is still development version, so please send your bug " -"reports or comments on EDE forum, EDE bug reporting system (on project's " -"page), or karijes@users.sourceforge.net." -msgstr "" - -#: etip.cpp:815 -msgid "" -"You can download latest release on - http://sourceforge.net/projects/ede." -msgstr "" - -#: etip.cpp:820 -msgid "Startup tips" -msgstr "Úvodné typy" - -#: etip.cpp:825 -msgid "Do not show this dialog next time" -msgstr "Nabudúce už tento dialóg nezobrazovať" - -#: etip.cpp:840 -#, fuzzy -msgid "Welcome to Equinox Desktop Environment version " -msgstr "Vitajte v prostredí Equinox Desktop Environment" - -#: etip.cpp:850 -msgid "<< &Previous" -msgstr "<< &Späť" - -#: etip.cpp:854 -msgid "&Next >>" -msgstr "&Ďalej >>" - -#: etip.cpp:859 -msgid "&Close" -msgstr "&Zavrieť" diff --git a/etip/locale/sr.po b/etip/locale/sr.po deleted file mode 100644 index f8862e9..0000000 --- a/etip/locale/sr.po +++ /dev/null @@ -1,95 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR Free Software Foundation, Inc. -# Dejan Lekic , 2002. -# -msgid "" -msgstr "" -"Project-Id-Version: etip 1.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-02-04 11:58+0100\n" -"PO-Revision-Date: 2002-12-02 04:19+0100\n" -"Last-Translator: Dejan Lekic \n" -"Language-Team: LINUKS.org T.T. \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: etip.cpp:809 -#, fuzzy -msgid "" -"To start any application is simple. Press on the button with your user name, " -"go to the Programs menu, select category and click on the wished program." -msgstr "" -"Стартовање апликације је веома просто. Притисните ЕДЕ тастер \"Програми\", " -"селектујте категорију и кликните на жељени програм." - -#: etip.cpp:810 -#, fuzzy -msgid "" -"To exit the Equinox Desktop environment, press button with your user name " -"and then logout." -msgstr "" -"Да бисте изашли из ЕДЕ-а притисните ЕДЕ тастер и након тога кликните на " -"\"Излогуј ме\"." - -#: etip.cpp:811 -#, fuzzy -msgid "To lock the computer, press button with your user name and then lock." -msgstr "" -"Да бисте закључали рачунар притисните ЕДЕ тастер и након тога кликните на " -"\"закључај\"." - -#: etip.cpp:812 -#, fuzzy -msgid "" -"To setup things on the computer, press button with your user name, Panel " -"menu and then the Control panel." -msgstr "" -"Да бисте подесили разне ствари на вашем рачунару притисните ЕДЕ тастер, " -"након тога изаберите \"Панел\" мени и кликните на \"Контролни панел\" опцију." - -#: etip.cpp:813 -#, fuzzy -msgid "" -"To add a program that is not in the Programs menu, click on the button with " -"your user, Panel menu, and then Edit panels menu." -msgstr "" -"Да бисте додали програм који није у менију \"Програми\" кликните на ЕДЕ " -"тастер, \"Панел\" мени и онда на \"Едитовање панела\" опцију." - -#: etip.cpp:814 -msgid "" -"Notice that this is still development version, so please send your bug " -"reports or comments on EDE forum, EDE bug reporting system (on project's " -"page), or karijes@users.sourceforge.net." -msgstr "" - -#: etip.cpp:815 -msgid "" -"You can download latest release on - http://sourceforge.net/projects/ede." -msgstr "" - -#: etip.cpp:820 -msgid "Startup tips" -msgstr "Стартап савети" - -#: etip.cpp:825 -msgid "Do not show this dialog next time" -msgstr "Не желим приказивање овог дијалога у будуће" - -#: etip.cpp:840 -#, fuzzy -msgid "Welcome to Equinox Desktop Environment version " -msgstr "Добродошли у Иквинокс Десктоп Окружење :)" - -#: etip.cpp:850 -msgid "<< &Previous" -msgstr "<< &Претходни" - -#: etip.cpp:854 -msgid "&Next >>" -msgstr "&Следећи >>" - -#: etip.cpp:859 -msgid "&Close" -msgstr "&Затвори" diff --git a/etip/tips/ede b/etip/tips/ede new file mode 100644 index 0000000..798104d --- /dev/null +++ b/etip/tips/ede @@ -0,0 +1,26 @@ +To start any application is simple. Press on the button with your user +name, go to the Programs menu, select category and click on the wished program. +% +To exit the EDE, press button with your user name and then Logout. +% +To lock the computer, press button with your user name and then choose Lock. +% +To setup things on the computer, press button with your user name, Panel menu +and then the Control panel. +% +To add a program that is not in the Programs menu, click on the button with +your user name, Panel menu, and then Menu editor. +% +Notice that this is still development version, so please send your bug reports +or comments on EDE forum, EDE bug reporting system (on project page), or check mails of +current maintainers located in AUTHORS file. +% +You can download latest release on http://equinox-project.org. + +bla bla +% +If you are interested to help us, don't hesitate to write or visit our page. +You don't have to be a coding guru nor have expirience in GUI programming. If you don't have any +expirience in programming, there are always things you can do for us, like writing +or checking documentation, spreading a words or at the best, testing EDE to the limits. +%