[med-svn] r16503 - in trunk/packages/camitk/trunk/debian: . patches
Emmanuel Promayon
promayon-guest at moszumanska.debian.org
Sun Mar 23 18:57:45 UTC 2014
Author: promayon-guest
Date: 2014-03-23 18:57:45 +0000 (Sun, 23 Mar 2014)
New Revision: 16503
Added:
trunk/packages/camitk/trunk/debian/libcamitk3-data.lintian-overrides
trunk/packages/camitk/trunk/debian/patches/applications-man-pixmap-desktop.diff
trunk/packages/camitk/trunk/debian/patches/config-console-redirection.diff
Modified:
trunk/packages/camitk/trunk/debian/changelog
trunk/packages/camitk/trunk/debian/control
trunk/packages/camitk/trunk/debian/copyright
trunk/packages/camitk/trunk/debian/libcamitk3.lintian-overrides
trunk/packages/camitk/trunk/debian/patches/series
trunk/packages/camitk/trunk/debian/rules
Log:
New upstream release (automatic testing disabled from now as it is not completely relevant)
Modified: trunk/packages/camitk/trunk/debian/changelog
===================================================================
--- trunk/packages/camitk/trunk/debian/changelog 2014-03-22 22:11:19 UTC (rev 16502)
+++ trunk/packages/camitk/trunk/debian/changelog 2014-03-23 18:57:45 UTC (rev 16503)
@@ -1,3 +1,12 @@
+camitk (3.3.0-1) UNRELEASED; urgency=low
+
+ * New upstream release.
+ * Patches:
+ - avoid console redirection (config-console-redirection.diff)
+ - missing manpages, desktop and icon (applications-man-pixmap-desktop.diff)
+
+ -- Emmanuel Promayon <Emmanuel.Promayon at imag.fr> Tue, 18 Mar 2014 11:43:34 +0100
+
camitk (3.2.2-2) unstable; urgency=medium
* debian/control:
Modified: trunk/packages/camitk/trunk/debian/control
===================================================================
--- trunk/packages/camitk/trunk/debian/control 2014-03-22 22:11:19 UTC (rev 16502)
+++ trunk/packages/camitk/trunk/debian/control 2014-03-23 18:57:45 UTC (rev 16503)
@@ -16,7 +16,8 @@
libgdcm2-dev,
libfftw3-dev,
libqtwebkit-dev | libqt4-dev (<< 4.7),
- libvtkgdcm2-dev
+ libvtkgdcm2-dev,
+ libqt4-opengl-dev
Build-Depends-Indep: doxygen,
graphviz
Standards-Version: 3.9.5
Modified: trunk/packages/camitk/trunk/debian/copyright
===================================================================
--- trunk/packages/camitk/trunk/debian/copyright 2014-03-22 22:11:19 UTC (rev 16502)
+++ trunk/packages/camitk/trunk/debian/copyright 2014-03-23 18:57:45 UTC (rev 16503)
@@ -26,10 +26,10 @@
see `/usr/share/common-licenses/LGPL-2.1'
Comment: This file is part of the projXMLEditor project which in turn belongs to the Image Markup Tool version 2.0
-Files: modeling/libraries/qcustomplot
-Copyright: © 2012 Emanuel Eichhammer
-License: GPL-3+
-Comment: Website/Contact http://www.WorksLikeClockwork.com/
+Files: sdk/components/stl/testdata/LICENSE
+Copyright: GlassyGoat
+License: CC-BY-SA-3.0
+Comment: see origintal sources at http://www.thingiverse.com/thing:236873
License: BSD
Redistribution and use in source and binary forms, with or without
@@ -76,18 +76,304 @@
in the file ‘/usr/share/common-licenses/LGPL-3’, and the GNU GPL license
version 3 is included in the file ‘/usr/share/common-licenses/GPL-3’.
-License: GPL-3+
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
- Foundation, either version 3 of the License, or (at your option) any later
- version.
+License: CC-BY-SA-3.0
+ THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE
+ COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY
+ COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS
+ AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
.
- This program is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE
+ BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE
+ CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE
+ IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
.
- You should have received a copy of the GNU General Public License along with
- this program. If not, see <http://www.gnu.org/licenses/>.
+ 1. Definitions
.
- On Debian systems, the complete text of the GNU General
- Public License can be found in `/usr/share/common-licenses/GPL-3'.
+ "Adaptation" means a work based upon the Work, or upon the Work and other
+ pre-existing works, such as a translation, adaptation, derivative work,
+ arrangement of music or other alterations of a literary or artistic work, or
+ phonogram or performance and includes cinematographic adaptations or any other
+ form in which the Work may be recast, transformed, or adapted including in any
+ form recognizably derived from the original, except that a work that
+ constitutes a Collection will not be considered an Adaptation for the purpose
+ of this License. For the avoidance of doubt, where the Work is a musical work,
+ performance or phonogram, the synchronization of the Work in timed-relation
+ with a moving image ("synching") will be considered an Adaptation for the
+ purpose of this License.
+ "Collection" means a collection of literary or artistic works, such as
+ encyclopedias and anthologies, or performances, phonograms or broadcasts, or
+ other works or subject matter other than works listed in Section 1(f) below,
+ which, by reason of the selection and arrangement of their contents,
+ constitute intellectual creations, in which the Work is included in its
+ entirety in unmodified form along with one or more other contributions, each
+ constituting separate and independent works in themselves, which together are
+ assembled into a collective whole. A work that constitutes a Collection will
+ not be considered an Adaptation (as defined below) for the purposes of this
+ License.
+ "Creative Commons Compatible License" means a license that is listed at
+ http://creativecommons.org/compatiblelicenses that has been approved by
+ Creative Commons as being essentially equivalent to this License, including,
+ at a minimum, because that license: (i) contains terms that have the same
+ purpose, meaning and effect as the License Elements of this License; and, (ii)
+ explicitly permits the relicensing of adaptations of works made available
+ under that license under this License or a Creative Commons jurisdiction
+ license with the same License Elements as this License.
+ "Distribute" means to make available to the public the original and copies
+ of the Work or Adaptation, as appropriate, through sale or other transfer of
+ ownership.
+ "License Elements" means the following high-level license attributes as
+ selected by Licensor and indicated in the title of this License: Attribution,
+ ShareAlike.
+ "Licensor" means the individual, individuals, entity or entities that
+ offer(s) the Work under the terms of this License.
+ "Original Author" means, in the case of a literary or artistic work, the
+ individual, individuals, entity or entities who created the Work or if no
+ individual or entity can be identified, the publisher; and in addition (i) in
+ the case of a performance the actors, singers, musicians, dancers, and other
+ persons who act, sing, deliver, declaim, play in, interpret or otherwise
+ perform literary or artistic works or expressions of folklore; (ii) in the
+ case of a phonogram the producer being the person or legal entity who first
+ fixes the sounds of a performance or other sounds; and, (iii) in the case of
+ broadcasts, the organization that transmits the broadcast.
+ "Work" means the literary and/or artistic work offered under the terms of
+ this License including without limitation any production in the literary,
+ scientific and artistic domain, whatever may be the mode or form of its
+ expression including digital form, such as a book, pamphlet and other writing;
+ a lecture, address, sermon or other work of the same nature; a dramatic or
+ dramatico-musical work; a choreographic work or entertainment in dumb show; a
+ musical composition with or without words; a cinematographic work to which are
+ assimilated works expressed by a process analogous to cinematography; a work
+ of drawing, painting, architecture, sculpture, engraving or lithography; a
+ photographic work to which are assimilated works expressed by a process
+ analogous to photography; a work of applied art; an illustration, map, plan,
+ sketch or three-dimensional work relative to geography, topography,
+ architecture or science; a performance; a broadcast; a phonogram; a
+ compilation of data to the extent it is protected as a copyrightable work; or
+ a work performed by a variety or circus performer to the extent it is not
+ otherwise considered a literary or artistic work.
+ "You" means an individual or entity exercising rights under this License
+ who has not previously violated the terms of this License with respect to the
+ Work, or who has received express permission from the Licensor to exercise
+ rights under this License despite a previous violation.
+ "Publicly Perform" means to perform public recitations of the Work and to
+ communicate to the public those public recitations, by any means or process,
+ including by wire or wireless means or public digital performances; to make
+ available to the public Works in such a way that members of the public may
+ access these Works from a place and at a place individually chosen by them; to
+ perform the Work to the public by any means or process and the communication
+ to the public of the performances of the Work, including by public digital
+ performance; to broadcast and rebroadcast the Work by any means including
+ signs, sounds or images.
+ "Reproduce" means to make copies of the Work by any means including
+ without limitation by sound or visual recordings and the right of fixation and
+ reproducing fixations of the Work, including storage of a protected
+ performance or phonogram in digital form or other electronic medium.
+ .
+ 2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit,
+ or restrict any uses free from copyright or rights arising from limitations or
+ exceptions that are provided for in connection with the copyright protection
+ under copyright law or other applicable laws.
+ .
+ 3. License Grant. Subject to the terms and conditions of this License,
+ Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual
+ (for the duration of the applicable copyright) license to exercise the rights
+ in the Work as stated below:
+ .
+ to Reproduce the Work, to incorporate the Work into one or more
+ Collections, and to Reproduce the Work as incorporated in the Collections;
+ to create and Reproduce Adaptations provided that any such Adaptation,
+ including any translation in any medium, takes reasonable steps to clearly
+ label, demarcate or otherwise identify that changes were made to the original
+ Work. For example, a translation could be marked "The original work was
+ translated from English to Spanish," or a modification could indicate "The
+ original work has been modified.";
+ to Distribute and Publicly Perform the Work including as incorporated in
+ Collections; and,
+ to Distribute and Publicly Perform Adaptations.
+ .
+ For the avoidance of doubt:
+ Non-waivable Compulsory License Schemes. In those jurisdictions in
+ which the right to collect royalties through any statutory or compulsory
+ licensing scheme cannot be waived, the Licensor reserves the exclusive right
+ to collect such royalties for any exercise by You of the rights granted under
+ this License;
+ Waivable Compulsory License Schemes. In those jurisdictions in which
+ the right to collect royalties through any statutory or compulsory licensing
+ scheme can be waived, the Licensor waives the exclusive right to collect such
+ royalties for any exercise by You of the rights granted under this License;
+ and,
+ Voluntary License Schemes. The Licensor waives the right to collect
+ royalties, whether individually or, in the event that the Licensor is a member
+ of a collecting society that administers voluntary licensing schemes, via that
+ society, from any exercise by You of the rights granted under this License.
+ .
+ The above rights may be exercised in all media and formats whether now known
+ or hereafter devised. The above rights include the right to make such
+ modifications as are technically necessary to exercise the rights in other
+ media and formats. Subject to Section 8(f), all rights not expressly granted
+ by Licensor are hereby reserved.
+ .
+ 4. Restrictions. The license granted in Section 3 above is expressly made
+ subject to and limited by the following restrictions:
+ .
+ You may Distribute or Publicly Perform the Work only under the terms of
+ this License. You must include a copy of, or the Uniform Resource Identifier
+ (URI) for, this License with every copy of the Work You Distribute or Publicly
+ Perform. You may not offer or impose any terms on the Work that restrict the
+ terms of this License or the ability of the recipient of the Work to exercise
+ the rights granted to that recipient under the terms of the License. You may
+ not sublicense the Work. You must keep intact all notices that refer to this
+ License and to the disclaimer of warranties with every copy of the Work You
+ Distribute or Publicly Perform. When You Distribute or Publicly Perform the
+ Work, You may not impose any effective technological measures on the Work that
+ restrict the ability of a recipient of the Work from You to exercise the
+ rights granted to that recipient under the terms of the License. This Section
+ 4(a) applies to the Work as incorporated in a Collection, but this does not
+ require the Collection apart from the Work itself to be made subject to the
+ terms of this License. If You create a Collection, upon notice from any
+ Licensor You must, to the extent practicable, remove from the Collection any
+ credit as required by Section 4(c), as requested. If You create an Adaptation,
+ upon notice from any Licensor You must, to the extent practicable, remove from
+ the Adaptation any credit as required by Section 4(c), as requested.
+ You may Distribute or Publicly Perform an Adaptation only under the terms
+ of: (i) this License; (ii) a later version of this License with the same
+ License Elements as this License; (iii) a Creative Commons jurisdiction
+ license (either this or a later license version) that contains the same
+ License Elements as this License (e.g., Attribution-ShareAlike 3.0 US)); (iv)
+ a Creative Commons Compatible License. If you license the Adaptation under one
+ of the licenses mentioned in (iv), you must comply with the terms of that
+ license. If you license the Adaptation under the terms of any of the licenses
+ mentioned in (i), (ii) or (iii) (the "Applicable License"), you must comply
+ with the terms of the Applicable License generally and the following
+ provisions: (I) You must include a copy of, or the URI for, the Applicable
+ License with every copy of each Adaptation You Distribute or Publicly Perform;
+ (II) You may not offer or impose any terms on the Adaptation that restrict the
+ terms of the Applicable License or the ability of the recipient of the
+ Adaptation to exercise the rights granted to that recipient under the terms of
+ the Applicable License; (III) You must keep intact all notices that refer to
+ the Applicable License and to the disclaimer of warranties with every copy of
+ the Work as included in the Adaptation You Distribute or Publicly Perform;
+ (IV) when You Distribute or Publicly Perform the Adaptation, You may not
+ impose any effective technological measures on the Adaptation that restrict
+ the ability of a recipient of the Adaptation from You to exercise the rights
+ granted to that recipient under the terms of the Applicable License. This
+ Section 4(b) applies to the Adaptation as incorporated in a Collection, but
+ this does not require the Collection apart from the Adaptation itself to be
+ made subject to the terms of the Applicable License.
+ If You Distribute, or Publicly Perform the Work or any Adaptations or
+ Collections, You must, unless a request has been made pursuant to Section
+ 4(a), keep intact all copyright notices for the Work and provide, reasonable
+ to the medium or means You are utilizing: (i) the name of the Original Author
+ (or pseudonym, if applicable) if supplied, and/or if the Original Author
+ and/or Licensor designate another party or parties (e.g., a sponsor institute,
+ publishing entity, journal) for attribution ("Attribution Parties") in
+ Licensor's copyright notice, terms of service or by other reasonable means,
+ the name of such party or parties; (ii) the title of the Work if supplied;
+ (iii) to the extent reasonably practicable, the URI, if any, that Licensor
+ specifies to be associated with the Work, unless such URI does not refer to
+ the copyright notice or licensing information for the Work; and (iv) ,
+ consistent with Ssection 3(b), in the case of an Adaptation, a credit
+ identifying the use of the Work in the Adaptation (e.g., "French translation
+ of the Work by Original Author," or "Screenplay based on original Work by
+ Original Author"). The credit required by this Section 4(c) may be implemented
+ in any reasonable manner; provided, however, that in the case of a Adaptation
+ or Collection, at a minimum such credit will appear, if a credit for all
+ contributing authors of the Adaptation or Collection appears, then as part of
+ these credits and in a manner at least as prominent as the credits for the
+ other contributing authors. For the avoidance of doubt, You may only use the
+ credit required by this Section for the purpose of attribution in the manner
+ set out above and, by exercising Your rights under this License, You may not
+ implicitly or explicitly assert or imply any connection with, sponsorship or
+ endorsement by the Original Author, Licensor and/or Attribution Parties, as
+ appropriate, of You or Your use of the Work, without the separate, express
+ prior written permission of the Original Author, Licensor and/or Attribution
+ Parties.
+ Except as otherwise agreed in writing by the Licensor or as may be
+ otherwise permitted by applicable law, if You Reproduce, Distribute or
+ Publicly Perform the Work either by itself or as part of any Adaptations or
+ Collections, You must not distort, mutilate, modify or take other derogatory
+ action in relation to the Work which would be prejudicial to the Original
+ Author's honor or reputation. Licensor agrees that in those jurisdictions
+ (e.g. Japan), in which any exercise of the right granted in Section 3(b) of
+ this License (the right to make Adaptations) would be deemed to be a
+ distortion, mutilation, modification or other derogatory action prejudicial to
+ the Original Author's honor and reputation, the Licensor will waive or not
+ assert, as appropriate, this Section, to the fullest extent permitted by the
+ applicable national law, to enable You to reasonably exercise Your right under
+ Section 3(b) of this License (right to make Adaptations) but not otherwise.
+ .
+ 5. Representations, Warranties and Disclaimer
+ .
+ UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS
+ THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND
+ CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING,
+ WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A
+ PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER
+ DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT
+ DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED
+ WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
+ .
+ 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW,
+ IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY
+ SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT
+ OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF
+ THE POSSIBILITY OF SUCH DAMAGES.
+ .
+ 7. Termination
+ .
+ This License and the rights granted hereunder will terminate automatically
+ upon any breach by You of the terms of this License. Individuals or entities
+ who have received Adaptations or Collections from You under this License,
+ however, will not have their licenses terminated provided such individuals or
+ entities remain in full compliance with those licenses. Sections 1, 2, 5, 6,
+ 7, and 8 will survive any termination of this License.
+ Subject to the above terms and conditions, the license granted here is
+ perpetual (for the duration of the applicable copyright in the Work).
+ Notwithstanding the above, Licensor reserves the right to release the Work
+ under different license terms or to stop distributing the Work at any time;
+ provided, however that any such election will not serve to withdraw this
+ License (or any other license that has been, or is required to be, granted
+ under the terms of this License), and this License will continue in full force
+ and effect unless terminated as stated above.
+ .
+ 8. Miscellaneous
+ .
+ Each time You Distribute or Publicly Perform the Work or a Collection, the
+ Licensor offers to the recipient a license to the Work on the same terms and
+ conditions as the license granted to You under this License.
+ Each time You Distribute or Publicly Perform an Adaptation, Licensor
+ offers to the recipient a license to the original Work on the same terms and
+ conditions as the license granted to You under this License.
+ If any provision of this License is invalid or unenforceable under
+ applicable law, it shall not affect the validity or enforceability of the
+ remainder of the terms of this License, and without further action by the
+ parties to this agreement, such provision shall be reformed to the minimum
+ extent necessary to make such provision valid and enforceable.
+ No term or provision of this License shall be deemed waived and no breach
+ consented to unless such waiver or consent shall be in writing and signed by
+ the party to be charged with such waiver or consent.
+ This License constitutes the entire agreement between the parties with
+ respect to the Work licensed here. There are no understandings, agreements or
+ representations with respect to the Work not specified here. Licensor shall
+ not be bound by any additional provisions that may appear in any communication
+ from You. This License may not be modified without the mutual written
+ agreement of the Licensor and You.
+ The rights granted under, and the subject matter referenced, in this
+ License were drafted utilizing the terminology of the Berne Convention for the
+ Protection of Literary and Artistic Works (as amended on September 28, 1979),
+ the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO
+ Performances and Phonograms Treaty of 1996 and the Universal Copyright
+ Convention (as revised on July 24, 1971). These rights and subject matter take
+ effect in the relevant jurisdiction in which the License terms are sought to
+ be enforced according to the corresponding provisions of the implementation of
+ those treaty provisions in the applicable national law. If the standard suite
+ of rights granted under applicable copyright law includes additional rights
+ not granted under this License, such additional rights are deemed to be
+ included in the License; this License is not intended to restrict the license
+ of any rights under applicable law.
+ .
+ END OF LICENSE
+ .
+ See on-line: http://creativecommons.org/licenses/by-sa/3.0/
+
+
Added: trunk/packages/camitk/trunk/debian/libcamitk3-data.lintian-overrides
===================================================================
--- trunk/packages/camitk/trunk/debian/libcamitk3-data.lintian-overrides (rev 0)
+++ trunk/packages/camitk/trunk/debian/libcamitk3-data.lintian-overrides 2014-03-23 18:57:45 UTC (rev 16503)
@@ -0,0 +1,4 @@
+# In this test data files, I think the best is to leave the LICENSE file
+# in order to not add a violation of the CC-BY-SA-3.0 licence
+# see also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=740118
+libcamitk3-data: extra-license-file usr/share/camitk-3.3/testdata/LICENSE
Modified: trunk/packages/camitk/trunk/debian/libcamitk3.lintian-overrides
===================================================================
--- trunk/packages/camitk/trunk/debian/libcamitk3.lintian-overrides 2014-03-22 22:11:19 UTC (rev 16502)
+++ trunk/packages/camitk/trunk/debian/libcamitk3.lintian-overrides 2014-03-23 18:57:45 UTC (rev 16503)
@@ -4,17 +4,19 @@
# is "libcamitkcore3"
# but the package is called libcamitk3 (which is more than just the corelib)
libcamitk3: package-name-doesnt-match-sonames libcamitkcore3
+
+# not needed anymore with version 3.3.0
# W overrides for hardening-no-fortify-functions because of false positives [1]
# To verify this is only false positives, I used hardening-check --verbose on all the
# on all reported binaries. They are all about: memmove and memcpy (apart from libitkfilters.so
# which adds a memset as well)
# [1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=673112
-libcamitk3: hardening-no-fortify-functions usr/lib/camitk-3.2/actions/libbasicmesh.so.3.2.0
-libcamitk3: hardening-no-fortify-functions usr/lib/camitk-3.2/actions/libitkfilters.so.3.2.0
-libcamitk3: hardening-no-fortify-functions usr/lib/camitk-3.2/actions/libitksegmentation.so.3.2.0
-libcamitk3: hardening-no-fortify-functions usr/lib/camitk-3.2/actions/libmml.so.3.2.0
-libcamitk3: hardening-no-fortify-functions usr/lib/camitk-3.2/components/libdicom.so.3.2.0
-libcamitk3: hardening-no-fortify-functions usr/lib/camitk-3.2/components/libitkimage.so.3.2.0
-libcamitk3: hardening-no-fortify-functions usr/lib/camitk-3.2/components/libmml.so.3.2.0
-libcamitk3: hardening-no-fortify-functions usr/lib/camitk-3.2/components/libphysicalmodel.so.3.2.0
-libcamitk3: hardening-no-fortify-functions usr/lib/camitk-3.2/libmonitoring.so.3.2.0
+#libcamitk3: hardening-no-fortify-functions usr/lib/camitk-3.2/actions/libbasicmesh.so.3.2.0
+#libcamitk3: hardening-no-fortify-functions usr/lib/camitk-3.2/actions/libitkfilters.so.3.2.0
+#libcamitk3: hardening-no-fortify-functions usr/lib/camitk-3.2/actions/libitksegmentation.so.3.2.0
+#libcamitk3: hardening-no-fortify-functions usr/lib/camitk-3.2/actions/libmml.so.3.2.0
+#libcamitk3: hardening-no-fortify-functions usr/lib/camitk-3.2/components/libdicom.so.3.2.0
+#libcamitk3: hardening-no-fortify-functions usr/lib/camitk-3.2/components/libitkimage.so.3.2.0
+#libcamitk3: hardening-no-fortify-functions usr/lib/camitk-3.2/components/libmml.so.3.2.0
+#libcamitk3: hardening-no-fortify-functions usr/lib/camitk-3.2/components/libphysicalmodel.so.3.2.0
+#libcamitk3: hardening-no-fortify-functions usr/lib/camitk-3.2/libmonitoring.so.3.2.0
Added: trunk/packages/camitk/trunk/debian/patches/applications-man-pixmap-desktop.diff
===================================================================
--- trunk/packages/camitk/trunk/debian/patches/applications-man-pixmap-desktop.diff (rev 0)
+++ trunk/packages/camitk/trunk/debian/patches/applications-man-pixmap-desktop.diff 2014-03-23 18:57:45 UTC (rev 16503)
@@ -0,0 +1,6502 @@
+Index: camitk/sdk/applications/wizard/CommandLineOptions.cxx
+===================================================================
+--- camitk/sdk/applications/wizard/CommandLineOptions.cxx (revision 0)
++++ camitk/sdk/applications/wizard/CommandLineOptions.cxx (revision 1369)
+@@ -0,0 +1,472 @@
++// This code was generated by CLI, a command line interface
++// compiler for C++.
++//
++
++#include "CommandLineOptions.hxx"
++
++#include <map>
++#include <set>
++#include <string>
++#include <vector>
++#include <ostream>
++#include <sstream>
++
++namespace cli
++{
++ // unknown_option
++ //
++ unknown_option::
++ ~unknown_option () throw ()
++ {
++ }
++
++ void unknown_option::
++ print (std::ostream& os) const
++ {
++ os << "unknown option '" << option () << "'";
++ }
++
++ const char* unknown_option::
++ what () const throw ()
++ {
++ return "unknown option";
++ }
++
++ // unknown_argument
++ //
++ unknown_argument::
++ ~unknown_argument () throw ()
++ {
++ }
++
++ void unknown_argument::
++ print (std::ostream& os) const
++ {
++ os << "unknown argument '" << argument () << "'";
++ }
++
++ const char* unknown_argument::
++ what () const throw ()
++ {
++ return "unknown argument";
++ }
++
++ // missing_value
++ //
++ missing_value::
++ ~missing_value () throw ()
++ {
++ }
++
++ void missing_value::
++ print (std::ostream& os) const
++ {
++ os << "missing value for option '" << option () << "'";
++ }
++
++ const char* missing_value::
++ what () const throw ()
++ {
++ return "missing option value";
++ }
++
++ // invalid_value
++ //
++ invalid_value::
++ ~invalid_value () throw ()
++ {
++ }
++
++ void invalid_value::
++ print (std::ostream& os) const
++ {
++ os << "invalid value '" << value () << "' for option '"
++ << option () << "'";
++ }
++
++ const char* invalid_value::
++ what () const throw ()
++ {
++ return "invalid option value";
++ }
++
++ // eos_reached
++ //
++ void eos_reached::
++ print (std::ostream& os) const
++ {
++ os << what ();
++ }
++
++ const char* eos_reached::
++ what () const throw ()
++ {
++ return "end of argument stream reached";
++ }
++
++ // scanner
++ //
++ scanner::
++ ~scanner ()
++ {
++ }
++
++ // argv_scanner
++ //
++ bool argv_scanner::
++ more ()
++ {
++ return i_ < argc_;
++ }
++
++ const char* argv_scanner::
++ peek ()
++ {
++ if (i_ < argc_)
++ return argv_[i_];
++ else
++ throw eos_reached ();
++ }
++
++ const char* argv_scanner::
++ next ()
++ {
++ if (i_ < argc_)
++ {
++ const char* r (argv_[i_]);
++
++ if (erase_)
++ {
++ for (int i (i_ + 1); i < argc_; ++i)
++ argv_[i - 1] = argv_[i];
++
++ --argc_;
++ argv_[argc_] = 0;
++ }
++ else
++ ++i_;
++
++ return r;
++ }
++ else
++ throw eos_reached ();
++ }
++
++ void argv_scanner::
++ skip ()
++ {
++ if (i_ < argc_)
++ ++i_;
++ else
++ throw eos_reached ();
++ }
++
++ template <typename X>
++ struct parser
++ {
++ static void
++ parse (X& x, scanner& s)
++ {
++ const char* o (s.next ());
++
++ if (s.more ())
++ {
++ const char* v (s.next ());
++ std::istringstream is (v);
++ if (!(is >> x && is.eof ()))
++ throw invalid_value (o, v);
++ }
++ else
++ throw missing_value (o);
++ }
++ };
++
++ template <>
++ struct parser<bool>
++ {
++ static void
++ parse (bool& x, scanner& s)
++ {
++ s.next ();
++ x = true;
++ }
++ };
++
++ template <>
++ struct parser<std::string>
++ {
++ static void
++ parse (std::string& x, scanner& s)
++ {
++ const char* o (s.next ());
++
++ if (s.more ())
++ x = s.next ();
++ else
++ throw missing_value (o);
++ }
++ };
++
++ template <typename X>
++ struct parser<std::vector<X> >
++ {
++ static void
++ parse (std::vector<X>& c, scanner& s)
++ {
++ X x;
++ parser<X>::parse (x, s);
++ c.push_back (x);
++ }
++ };
++
++ template <typename X>
++ struct parser<std::set<X> >
++ {
++ static void
++ parse (std::set<X>& c, scanner& s)
++ {
++ X x;
++ parser<X>::parse (x, s);
++ c.insert (x);
++ }
++ };
++
++ template <typename K, typename V>
++ struct parser<std::map<K, V> >
++ {
++ static void
++ parse (std::map<K, V>& m, scanner& s)
++ {
++ const char* o (s.next ());
++
++ if (s.more ())
++ {
++ std::string ov (s.next ());
++ std::string::size_type p = ov.find ('=');
++
++ if (p == std::string::npos)
++ {
++ K k = K ();
++
++ if (!ov.empty ())
++ {
++ std::istringstream ks (ov);
++
++ if (!(ks >> k && ks.eof ()))
++ throw invalid_value (o, ov);
++ }
++
++ m[k] = V ();
++ }
++ else
++ {
++ K k = K ();
++ V v = V ();
++ std::string kstr (ov, 0, p);
++ std::string vstr (ov, p + 1);
++
++ if (!kstr.empty ())
++ {
++ std::istringstream ks (kstr);
++
++ if (!(ks >> k && ks.eof ()))
++ throw invalid_value (o, ov);
++ }
++
++ if (!vstr.empty ())
++ {
++ std::istringstream vs (vstr);
++
++ if (!(vs >> v && vs.eof ()))
++ throw invalid_value (o, ov);
++ }
++
++ m[k] = v;
++ }
++ }
++ else
++ throw missing_value (o);
++ }
++ };
++
++ template <typename X, typename T, T X::*P>
++ void
++ thunk (X& x, scanner& s)
++ {
++ parser<T>::parse (x.*P, s);
++ }
++}
++
++#include <map>
++#include <cstring>
++
++// options
++//
++
++options::
++options (int& argc,
++ char** argv,
++ bool erase,
++ ::cli::unknown_mode opt,
++ ::cli::unknown_mode arg)
++: help_ (),
++ version_ ()
++{
++ ::cli::argv_scanner s (argc, argv, erase);
++ _parse (s, opt, arg);
++}
++
++options::
++options (int start,
++ int& argc,
++ char** argv,
++ bool erase,
++ ::cli::unknown_mode opt,
++ ::cli::unknown_mode arg)
++: help_ (),
++ version_ ()
++{
++ ::cli::argv_scanner s (start, argc, argv, erase);
++ _parse (s, opt, arg);
++}
++
++options::
++options (int& argc,
++ char** argv,
++ int& end,
++ bool erase,
++ ::cli::unknown_mode opt,
++ ::cli::unknown_mode arg)
++: help_ (),
++ version_ ()
++{
++ ::cli::argv_scanner s (argc, argv, erase);
++ _parse (s, opt, arg);
++ end = s.end ();
++}
++
++options::
++options (int start,
++ int& argc,
++ char** argv,
++ int& end,
++ bool erase,
++ ::cli::unknown_mode opt,
++ ::cli::unknown_mode arg)
++: help_ (),
++ version_ ()
++{
++ ::cli::argv_scanner s (start, argc, argv, erase);
++ _parse (s, opt, arg);
++ end = s.end ();
++}
++
++options::
++options (::cli::scanner& s,
++ ::cli::unknown_mode opt,
++ ::cli::unknown_mode arg)
++: help_ (),
++ version_ ()
++{
++ _parse (s, opt, arg);
++}
++
++void options::
++print_usage (::std::ostream& os)
++{
++ os << "--help|-h Print usage information and exit." << ::std::endl;
++
++ os << "--version|-v Print CamiTK version message and exit" << ::std::endl;
++}
++
++typedef
++std::map<std::string, void (*) (options&, ::cli::scanner&)>
++_cli_options_map;
++
++static _cli_options_map _cli_options_map_;
++
++struct _cli_options_map_init
++{
++ _cli_options_map_init ()
++ {
++ _cli_options_map_["--help"] =
++ &::cli::thunk< options, bool, &options::help_ >;
++ _cli_options_map_["-h"] =
++ &::cli::thunk< options, bool, &options::help_ >;
++ _cli_options_map_["--version"] =
++ &::cli::thunk< options, bool, &options::version_ >;
++ _cli_options_map_["-v"] =
++ &::cli::thunk< options, bool, &options::version_ >;
++ }
++} _cli_options_map_init_;
++
++void options::
++_parse (::cli::scanner& s,
++ ::cli::unknown_mode opt_mode,
++ ::cli::unknown_mode arg_mode)
++{
++ bool opt = true;
++
++ while (s.more ())
++ {
++ const char* o = s.peek ();
++
++ if (std::strcmp (o, "--") == 0)
++ {
++ s.skip ();
++ opt = false;
++ continue;
++ }
++
++ _cli_options_map::const_iterator i (
++ opt ? _cli_options_map_.find (o) : _cli_options_map_.end ());
++
++ if (i != _cli_options_map_.end ())
++ {
++ (*(i->second)) (*this, s);
++ }
++ else if (opt && std::strncmp (o, "-", 1) == 0 && o[1] != '\0')
++ {
++ switch (opt_mode)
++ {
++ case ::cli::unknown_mode::skip:
++ {
++ s.skip ();
++ continue;
++ }
++ case ::cli::unknown_mode::stop:
++ {
++ break;
++ }
++ case ::cli::unknown_mode::fail:
++ {
++ throw ::cli::unknown_option (o);
++ }
++ }
++
++ break;
++ }
++ else
++ {
++ switch (arg_mode)
++ {
++ case ::cli::unknown_mode::skip:
++ {
++ s.skip ();
++ continue;
++ }
++ case ::cli::unknown_mode::stop:
++ {
++ break;
++ }
++ case ::cli::unknown_mode::fail:
++ {
++ throw ::cli::unknown_argument (o);
++ }
++ }
++
++ break;
++ }
++ }
++}
++
+Index: camitk/sdk/applications/wizard/resources/manpage-prologue.1.in
+===================================================================
+--- camitk/sdk/applications/wizard/resources/manpage-prologue.1.in (revision 0)
++++ camitk/sdk/applications/wizard/resources/manpage-prologue.1.in (revision 1369)
+@@ -0,0 +1,34 @@
++.TH CAMITK- at APPLICATION_NAME@ "1" "@CURRENT_DATE@" "camitk- at APPLICATION_NAME@ @CAMITK_VERSION_MAJOR at .@CAMITK_VERSION_MINOR@" "User Commands"
++.SH NAME
++camitk- at APPLICATION_NAME@ \- extension wizard for CamiTK developers
++.SH SYNOPSIS
++.B camitk- at APPLICATION_NAME@
++[\fIOPTIONS\fR]...
++.SH DESCRIPTION
++.B camitk\- at APPLICATION_NAME@ is build using CamiTK @CAMITK_VERSION_MAJOR at .@CAMITK_VERSION_MINOR@
++.br
++Please visit http://camitk.imag.fr for more information.
++.br
++(c) UJF\-Grenoble 1, CNRS, TIMC\-IMAG UMR 5525
++.PP
++camitk\- at APPLICATION_NAME@ is a developer tool for CamiTK, the Computer
++Assisted Medical Intervention Tool Kit.
++It is a GUI only application that helps you start with CamiTK Extension
++Projects (CEP).
++camitk\- at APPLICATION_NAME@ application is the best application to
++start working with CamiTK: it generates complete CamiTK Extension Project
++for you, and guides you through the different steps to add your own Actions
++and Components extensions.
++The wizard generate your CEP's files and the skeleton of your C++ classes of
++your extensions.
++.PP
++Using this application you can generate a new component extension or a
++new action extension. It helps you fill all the needed information
++(extension names, parameters, inheritance...).
++It generates a CamiTK core XML document and parse it to write
++C++ source classes and CMake configuration.
++.PP
++The targeted users are developers in R&D departments or laboratories.
++.PP
++.SH "OPTIONS"
++
+Index: camitk/sdk/applications/wizard/resources/camitk-wizard.xpm
+===================================================================
+--- camitk/sdk/applications/wizard/resources/camitk-wizard.xpm (revision 0)
++++ camitk/sdk/applications/wizard/resources/camitk-wizard.xpm (revision 1369)
+@@ -0,0 +1,4143 @@
++/* XPM */
++static char * camitk_wizard_xpm[] = {
++"152 196 3944 2",
++" c None",
++". c #7681B1",
++"+ c #6875AD",
++"@ c #2139A2",
++"# c #2138A0",
++"$ c #1D359D",
++"% c #193195",
++"& c #172C88",
++"* c #273882",
++"= c #3C487D",
++"- c #233CA7",
++"; c #2039A5",
++"> c #213AA1",
++", c #1F369E",
++"' c #193298",
++") c #162E8F",
++"! c #152B84",
++"~ c #14277A",
++"{ c #132676",
++"] c #122472",
++"^ c #132470",
++"/ c #253475",
++"( c #3F4C7B",
++"_ c #3147A6",
++": c #1B35A1",
++"< c #21399E",
++"[ c #394C9C",
++"} c #5867A4",
++"| c #384A97",
++"1 c #1E3393",
++"2 c #182E90",
++"3 c #162B86",
++"4 c #152980",
++"5 c #13277A",
++"6 c #132677",
++"7 c #122573",
++"8 c #122471",
++"9 c #12236F",
++"0 c #192A70",
++"a c #344176",
++"b c #44539C",
++"c c #172E8E",
++"d c #172F8F",
++"e c #1D338F",
++"f c #3D4E93",
++"g c #B0B5CD",
++"h c #EEEFF4",
++"i c #6E79A8",
++"j c #293B8C",
++"k c #192F8A",
++"l c #152B86",
++"m c #152A83",
++"n c #14287C",
++"o c #132678",
++"p c #132574",
++"q c #122470",
++"r c #11236D",
++"s c #17286D",
++"t c #354175",
++"u c #12246F",
++"v c #102166",
++"w c #0F1E5E",
++"x c #0E1C58",
++"y c #0D1B54",
++"z c #0F1D5B",
++"A c #12226A",
++"B c #1B2D79",
++"C c #455390",
++"D c #6D78A6",
++"E c #4D5B96",
++"F c #283B89",
++"G c #1A2F88",
++"H c #162C87",
++"I c #15287F",
++"J c #11226B",
++"K c #11226A",
++"L c #202E6C",
++"M c #414A73",
++"N c #232742",
++"O c #0A1131",
++"P c #060C26",
++"Q c #050A1F",
++"R c #04091B",
++"S c #050B21",
++"T c #070E2B",
++"U c #0A133C",
++"V c #0E1B56",
++"W c #15266F",
++"X c #2F4085",
++"Y c #546198",
++"Z c #485793",
++"` c #2D3F89",
++" . c #1C3086",
++".. c #172C85",
++"+. c #152A82",
++"@. c #14287D",
++"#. c #132779",
++"$. c #132575",
++"%. c #112168",
++"&. c #172668",
++"*. c #38426F",
++"=. c #030307",
++"-. c #000102",
++";. c #010103",
++">. c #010207",
++",. c #02050F",
++"'. c #0B1542",
++"). c #0E1D5A",
++"!. c #162771",
++"~. c #314185",
++"{. c #4D5A94",
++"]. c #435291",
++"^. c #2D3E88",
++"/. c #1D3184",
++"(. c #172C83",
++"_. c #162A83",
++":. c #14297F",
++"<. c #132778",
++"[. c #11236C",
++"}. c #102065",
++"|. c #132266",
++"1. c #333D6D",
++"2. c #000000",
++"3. c #010205",
++"4. c #02040D",
++"5. c #040818",
++"6. c #060C25",
++"7. c #091238",
++"8. c #0D1A52",
++"9. c #122368",
++"0. c #1D2F79",
++"a. c #344487",
++"b. c #404F8E",
++"c. c #38478B",
++"d. c #2C3D87",
++"e. c #1E3183",
++"f. c #172C82",
++"g. c #162A80",
++"h. c #14297E",
++"i. c #132675",
++"j. c #112269",
++"k. c #102063",
++"l. c #152464",
++"m. c #37406A",
++"n. c #010206",
++"o. c #060D27",
++"p. c #091237",
++"q. c #0C184B",
++"r. c #112163",
++"s. c #192973",
++"t. c #27387F",
++"u. c #39498A",
++"v. c #2E3F86",
++"w. c #253783",
++"x. c #1C2F81",
++"y. c #182C80",
++"z. c #15297F",
++"A. c #13287C",
++"B. c #142678",
++"C. c #101F62",
++"D. c #101F61",
++"E. c #1B2863",
++"F. c #41496B",
++"G. c #010308",
++"H. c #030510",
++"I. c #040819",
++"J. c #091239",
++"K. c #0C194C",
++"L. c #102061",
++"M. c #22337C",
++"N. c #2A3B81",
++"O. c #2E3F84",
++"P. c #2F4086",
++"Q. c #2B3C85",
++"R. c #213381",
++"S. c #1A2D7F",
++"T. c #162B7F",
++"U. c #16297F",
++"V. c #0F1E5F",
++"W. c #101E5D",
++"X. c #2B3763",
++"Y. c #02040B",
++"Z. c #030714",
++"`. c #070E2D",
++" + c #0A143F",
++".+ c #0E1A53",
++"++ c #112164",
++"@+ c #15266E",
++"#+ c #1C2E77",
++"$+ c #26377F",
++"%+ c #2D3D83",
++"&+ c #2B3B82",
++"*+ c #2B3B83",
++"=+ c #2A3B84",
++"-+ c #203381",
++";+ c #1A2E7F",
++">+ c #162A7D",
++",+ c #15287B",
++"'+ c #142677",
++")+ c #132573",
++"!+ c #102064",
++"~+ c #0F1D5C",
++"{+ c #1C285D",
++"]+ c #060B23",
++"^+ c #081033",
++"/+ c #122266",
++"(+ c #172971",
++"_+ c #1E3079",
++":+ c #24357D",
++"<+ c #293A81",
++"[+ c #283981",
++"}+ c #253680",
++"|+ c #253681",
++"1+ c #1C2F7E",
++"2+ c #172A7D",
++"3+ c #15297D",
++"4+ c #132473",
++"5+ c #12236E",
++"6+ c #0F1F60",
++"7+ c #0F1E5D",
++"8+ c #0E1D59",
++"9+ c #13215A",
++"0+ c #394062",
++"a+ c #010307",
++"b+ c #020309",
++"c+ c #040716",
++"d+ c #0D1A4F",
++"e+ c #101F60",
++"f+ c #14256C",
++"g+ c #182972",
++"h+ c #1F317A",
++"i+ c #23347C",
++"j+ c #25367E",
++"k+ c #293A82",
++"l+ c #243580",
++"m+ c #213380",
++"n+ c #1A2D7D",
++"o+ c #15297A",
++"p+ c #14287A",
++"q+ c #0E1C59",
++"r+ c #101E57",
++"s+ c #333C5E",
++"t+ c #050609",
++"u+ c #040717",
++"v+ c #05091D",
++"w+ c #070D29",
++"x+ c #0C1748",
++"y+ c #112165",
++"z+ c #162770",
++"A+ c #1A2C74",
++"B+ c #1C2E76",
++"C+ c #20317A",
++"D+ c #26377E",
++"E+ c #23347D",
++"F+ c #24357E",
++"G+ c #23357E",
++"H+ c #21337F",
++"I+ c #1C2F7D",
++"J+ c #172A79",
++"K+ c #142778",
++"L+ c #122574",
++"M+ c #12246E",
++"N+ c #102167",
++"O+ c #0E1B55",
++"P+ c #0F1D54",
++"Q+ c #31395C",
++"R+ c #04060F",
++"S+ c #030614",
++"T+ c #05091C",
++"U+ c #0B1543",
++"V+ c #112063",
++"W+ c #1D2D76",
++"X+ c #1E2F79",
++"Y+ c #1E2F78",
++"Z+ c #1F3079",
++"`+ c #21327C",
++" @ c #20317D",
++".@ c #1D307D",
++"+@ c #162A78",
++"@@ c #142777",
++"#@ c #0E1C57",
++"$@ c #0F1C52",
++"%@ c #323B5A",
++"&@ c #080A10",
++"*@ c #030715",
++"=@ c #060C24",
++"-@ c #080F2F",
++";@ c #0A143E",
++">@ c #0E1E5C",
++",@ c #1A2B75",
++"'@ c #1C2D77",
++")@ c #1D2F77",
++"!@ c #1D2F7A",
++"~@ c #1C2E7B",
++"{@ c #182A79",
++"]@ c #142776",
++"^@ c #12226C",
++"/@ c #111E51",
++"(@ c #050814",
++"_@ c #070F2D",
++":@ c #09133B",
++"<@ c #0C184A",
++"[@ c #0F1D5A",
++"}@ c #132267",
++"|@ c #16276F",
++"1@ c #192B74",
++"2@ c #1B2C75",
++"3@ c #1D2E78",
++"4@ c #20327B",
++"5@ c #1F307A",
++"6@ c #172A78",
++"7@ c #142775",
++"8@ c #11246F",
++"9@ c #0D1B53",
++"0@ c #0D194F",
++"a@ c #14204F",
++"b@ c #0B0D18",
++"c@ c #132369",
++"d@ c #192A73",
++"e@ c #1A2B74",
++"f@ c #1B2D76",
++"g@ c #1C2E79",
++"h@ c #192B77",
++"i@ c #162875",
++"j@ c #142573",
++"k@ c #112167",
++"l@ c #0C184C",
++"m@ c #20294F",
++"n@ c #12141C",
++"o@ c #080F30",
++"p@ c #0F1C59",
++"q@ c #15266C",
++"r@ c #192A72",
++"s@ c #1C2C76",
++"t@ c #1D2E77",
++"u@ c #1A2C79",
++"v@ c #162976",
++"w@ c #142572",
++"x@ c #12236D",
++"y@ c #102165",
++"z@ c #0E1C56",
++"A@ c #0D1A50",
++"B@ c #0D1849",
++"C@ c #2F3750",
++"D@ c #070B1E",
++"E@ c #060D28",
++"F@ c #081031",
++"G@ c #0C1749",
++"H@ c #0E1B57",
++"I@ c #15256D",
++"J@ c #1B2D75",
++"K@ c #1C2E78",
++"L@ c #1A2C77",
++"M@ c #152774",
++"N@ c #132571",
++"O@ c #112169",
++"P@ c #0B1747",
++"Q@ c #162049",
++"R@ c #0A0F23",
++"S@ c #070E2A",
++"T@ c #112266",
++"U@ c #182971",
++"V@ c #1C2D78",
++"W@ c #182A77",
++"X@ c #142673",
++"Y@ c #0C1745",
++"Z@ c #2F354D",
++"`@ c #0E1325",
++" # c #070E2C",
++".# c #081135",
++"+# c #0A1541",
++"@# c #122167",
++"## c #16266F",
++"$# c #17286F",
++"%# c #1B2D77",
++"&# c #162874",
++"*# c #13246F",
++"=# c #0F1E5C",
++"-# c #0C194E",
++";# c #0B1644",
++"># c #182046",
++",# c #111529",
++"'# c #070D2A",
++")# c #0D1A51",
++"!# c #182A75",
++"~# c #142570",
++"{# c #11216A",
++"]# c #0E1741",
++"^# c #13182E",
++"/# c #081032",
++"(# c #0F2062",
++"_# c #13246C",
++":# c #172871",
++"<# c #172870",
++"[# c #192A74",
++"}# c #192B76",
++"|# c #172874",
++"1# c #13246E",
++"2# c #101F63",
++"3# c #0B1643",
++"4# c #242B43",
++"5# c #141A32",
++"6# c #091136",
++"7# c #0A143D",
++"8# c #112064",
++"9# c #14256D",
++"0# c #182973",
++"a# c #13256E",
++"b# c #171E3F",
++"c# c #131A33",
++"d# c #122269",
++"e# c #152670",
++"f# c #12236A",
++"g# c #0F183C",
++"h# c #111834",
++"i# c #112267",
++"j# c #16266D",
++"k# c #1B2C77",
++"l# c #162872",
++"m# c #12246C",
++"n# c #0B1338",
++"o# c #0E1739",
++"p# c #0F1F61",
++"q# c #1A2C75",
++"r# c #182974",
++"s# c #0E1C55",
++"t# c #0A1540",
++"u# c #09133A",
++"v# c #091236",
++"w# c #CDCECE",
++"x# c #CFCFD1",
++"y# c #D2D3D5",
++"z# c #0B143B",
++"A# c #0B1645",
++"B# c #112268",
++"C# c #14266F",
++"D# c #13246D",
++"E# c #0F1F62",
++"F# c #0E1B54",
++"G# c #0A1440",
++"H# c #24283B",
++"I# c #CDCECF",
++"J# c #CFD0D1",
++"K# c #D1D2D3",
++"L# c #D4D4D6",
++"M# c #D8D9DA",
++"N# c #DEDEDE",
++"O# c #E4E4E4",
++"P# c #172972",
++"Q# c #0F2063",
++"R# c #1E2337",
++"S# c #CFD0D2",
++"T# c #D3D4D5",
++"U# c #D7D7D9",
++"V# c #DCDCDD",
++"W# c #E1E1E2",
++"X# c #E7E6E7",
++"Y# c #EBEBEB",
++"Z# c #EEEEEE",
++"`# c #282D45",
++" $ c #0D194E",
++".$ c #182A73",
++"+$ c #1C1F33",
++"@$ c #D2D2D4",
++"#$ c #D3D5D6",
++"$$ c #D6D7D9",
++"%$ c #DADBDC",
++"&$ c #E0E1E1",
++"*$ c #E5E5E5",
++"=$ c #EAEAEA",
++"-$ c #F2F2F2",
++";$ c #F5F5F5",
++">$ c #F7F7F7",
++",$ c #192146",
++"'$ c #0C194D",
++")$ c #101F5F",
++"!$ c #152772",
++"~$ c #081134",
++"{$ c #070F2E",
++"]$ c #1C2130",
++"^$ c #D0D2D3",
++"/$ c #D5D6D8",
++"($ c #E9EAEA",
++"_$ c #EDEDED",
++":$ c #F1F1F1",
++"<$ c #F4F4F4",
++"[$ c #F9F9F9",
++"}$ c #0E1947",
++"|$ c #132570",
++"1$ c #192B73",
++"2$ c #112166",
++"3$ c #1B1F2F",
++"4$ c #CACACC",
++"5$ c #D3D3D4",
++"6$ c #D6D6D7",
++"7$ c #E0E0E1",
++"8$ c #E4E4E5",
++"9$ c #E8E9E9",
++"0$ c #F3F3F3",
++"a$ c #F6F6F6",
++"b$ c #F8F8F8",
++"c$ c #FAFAFA",
++"d$ c #162773",
++"e$ c #192B75",
++"f$ c #5F5F61",
++"g$ c #8D8D8F",
++"h$ c #B2B3B5",
++"i$ c #CCCDCD",
++"j$ c #E2E2E2",
++"k$ c #E9E9E9",
++"l$ c #ECECEC",
++"m$ c #EFEFEF",
++"n$ c #EDEEEE",
++"o$ c #E5E6E6",
++"p$ c #DEDFDF",
++"q$ c #969595",
++"r$ c #969495",
++"s$ c #979596",
++"t$ c #969395",
++"u$ c #959394",
++"v$ c #959494",
++"w$ c #949393",
++"x$ c #949293",
++"y$ c #929191",
++"z$ c #939191",
++"A$ c #202952",
++"B$ c #142571",
++"C$ c #070B1F",
++"D$ c #1E1C1F",
++"E$ c #373637",
++"F$ c #575657",
++"G$ c #838284",
++"H$ c #AFAFB1",
++"I$ c #C7C8C9",
++"J$ c #CFCFD0",
++"K$ c #E6E6E6",
++"L$ c #FAF9F9",
++"M$ c #E2E3E3",
++"N$ c #D9DADA",
++"O$ c #939394",
++"P$ c #929091",
++"Q$ c #928F90",
++"R$ c #918F90",
++"S$ c #908E8F",
++"T$ c #8F8D8F",
++"U$ c #8E8C8D",
++"V$ c #8D8B8C",
++"W$ c #8E8C8C",
++"X$ c #8F8D8D",
++"Y$ c #908E8E",
++"Z$ c #908F8F",
++"`$ c #918F8F",
++" % c #919090",
++".% c #929090",
++"+% c #918E8F",
++"@% c #0F1B50",
++"#% c #172976",
++"$% c #1D2D77",
++"%% c #0E1D5B",
++"&% c #0B1440",
++"*% c #0D132E",
++"=% c #1E1F2D",
++"-% c #383940",
++";% c #5E5E61",
++">% c #8C8B8C",
++",% c #AAAAAB",
++"'% c #C0C1C1",
++")% c #C6C8C8",
++"!% c #BBBDBD",
++"~% c #BFC0C0",
++"{% c #F9F9F8",
++"]% c #EFEFF0",
++"^% c #DEDEDF",
++"/% c #D0D1D2",
++"(% c #949292",
++"_% c #939292",
++":% c #908F90",
++"<% c #8F8E8E",
++"[% c #8D8B8B",
++"}% c #8B8989",
++"|% c #898787",
++"1% c #878586",
++"2% c #868384",
++"3% c #858283",
++"4% c #838182",
++"5% c #838181",
++"6% c #828080",
++"7% c #818080",
++"8% c #817F80",
++"9% c #848282",
++"0% c #848383",
++"a% c #858383",
++"b% c #858484",
++"c% c #868484",
++"d% c #878585",
++"e% c #888686",
++"f% c #8C8A8A",
++"g% c #8E8B8B",
++"h% c #383F5A",
++"i% c #12236C",
++"j% c #142674",
++"k% c #1A2B78",
++"l% c #192A6B",
++"m% c #16235B",
++"n% c #1B224B",
++"o% c #2B2F46",
++"p% c #474953",
++"q% c #6F6E71",
++"r% c #959595",
++"s% c #B2B2B2",
++"t% c #C5C6C6",
++"u% c #B0B2B2",
++"v% c #919493",
++"w% c #757777",
++"x% c #949696",
++"y% c #DFE1E1",
++"z% c #D8D8D9",
++"A% c #CCCCCE",
++"B% c #918E8E",
++"C% c #878686",
++"D% c #838081",
++"E% c #807E7F",
++"F% c #7E7C7D",
++"G% c #7E7C7C",
++"H% c #7C7A7A",
++"I% c #7B7879",
++"J% c #7A7778",
++"K% c #787777",
++"L% c #787776",
++"M% c #787676",
++"N% c #777676",
++"O% c #777575",
++"P% c #767575",
++"Q% c #797777",
++"R% c #7A7878",
++"S% c #7F7D7D",
++"T% c #807E7E",
++"U% c #828081",
++"V% c #838283",
++"W% c #858385",
++"X% c #868486",
++"Y% c #8A8888",
++"Z% c #898789",
++"`% c #898688",
++" & c #172356",
++".& c #172977",
++"+& c #192970",
++"@& c #1A2766",
++"#& c #1E295D",
++"$& c #272F54",
++"%& c #3A3D54",
++"&& c #575761",
++"*& c #7C7B7C",
++"=& c #9E9E9E",
++"-& c #BBBBBB",
++";& c #BDBFBF",
++">& c #A6A8A7",
++",& c #858686",
++"'& c #616463",
++")& c #414342",
++"!& c #313333",
++"~& c #797B7B",
++"{& c #E6E6E7",
++"]& c #DADBDB",
++"^& c #CCCECE",
++"/& c #908D8E",
++"(& c #8B898A",
++"_& c #817F7F",
++":& c #7D7B7B",
++"<& c #7B7979",
++"[& c #767475",
++"}& c #757373",
++"|& c #747272",
++"1& c #737171",
++"2& c #716F70",
++"3& c #716F6F",
++"4& c #706E6E",
++"5& c #6F6D6D",
++"6& c #6E6C6C",
++"7& c #6D6C6C",
++"8& c #6E6C6D",
++"9& c #6E6C6E",
++"0& c #6F6D6E",
++"a& c #727070",
++"b& c #737172",
++"c& c #747273",
++"d& c #767474",
++"e& c #777576",
++"f& c #787677",
++"g& c #878485",
++"h& c #878484",
++"i& c #878383",
++"j& c #20307A",
++"k& c #17286A",
++"l& c #182663",
++"m& c #202B5A",
++"n& c #2C3352",
++"o& c #414553",
++"p& c #636267",
++"q& c #888889",
++"r& c #ABABAB",
++"s& c #C3C3C3",
++"t& c #C7C8C8",
++"u& c #B6B8B8",
++"v& c #979999",
++"w& c #737675",
++"x& c #505352",
++"y& c #343636",
++"z& c #212321",
++"A& c #171917",
++"B& c #252626",
++"C& c #808282",
++"D& c #C4C6C7",
++"E& c #7F7D7E",
++"F& c #737272",
++"G& c #727171",
++"H& c #6F6E6E",
++"I& c #6D6B6B",
++"J& c #6C6A6A",
++"K& c #6B6969",
++"L& c #6A6868",
++"M& c #696767",
++"N& c #686666",
++"O& c #686566",
++"P& c #676565",
++"Q& c #676566",
++"R& c #686667",
++"S& c #696768",
++"T& c #6A6869",
++"U& c #6C6969",
++"V& c #727071",
++"W& c #797778",
++"X& c #7C7A7B",
++"Y& c #7F7C7D",
++"Z& c #807D7E",
++"`& c #827F80",
++" * c #848182",
++".* c #848181",
++"+* c #828181",
++"@* c #303863",
++"#* c #17255F",
++"$* c #15246C",
++"%* c #182B78",
++"&* c #192972",
++"** c #19296D",
++"=* c #1B2861",
++"-* c #222A50",
++";* c #2E3348",
++">* c #4C4C51",
++",* c #727272",
++"'* c #999999",
++")* c #BABBBB",
++"!* c #CACCCC",
++"~* c #C4C6C6",
++"{* c #AAACAC",
++"]* c #868988",
++"^* c #5F6262",
++"/* c #3F4241",
++"(* c #2B2D2C",
++"_* c #1D1E1D",
++":* c #111112",
++"<* c #080908",
++"[* c #0C0D0C",
++"}* c #3A3B3B",
++"|* c #8D8C8C",
++"1* c #8A8889",
++"2* c #7B797A",
++"3* c #6D6B6C",
++"4* c #6C6A6B",
++"5* c #666464",
++"6* c #656363",
++"7* c #646262",
++"8* c #646162",
++"9* c #636162",
++"0* c #626061",
++"a* c #615F60",
++"b* c #615F5F",
++"c* c #626060",
++"d* c #636161",
++"e* c #646161",
++"f* c #656262",
++"g* c #6B686A",
++"h* c #6E6B6C",
++"i* c #7D7B7C",
++"j* c #817E80",
++"k* c #817E7F",
++"l* c #817D7E",
++"m* c #79787B",
++"n* c #575B72",
++"o* c #474D6F",
++"p* c #36406F",
++"q* c #293774",
++"r* c #213279",
++"s* c #213179",
++"t* c #20327A",
++"u* c #1C2E75",
++"v* c #182870",
++"w* c #192665",
++"x* c #1B2555",
++"y* c #252A48",
++"z* c #3A3B4A",
++"A* c #5C5B5E",
++"B* c #838383",
++"C* c #ADAEAE",
++"D* c #C8C9C9",
++"E* c #B7B9B9",
++"F* c #989B9A",
++"G* c #727574",
++"H* c #4D504F",
++"I* c #363837",
++"J* c #272827",
++"K* c #191B1B",
++"L* c #0E1010",
++"M* c #070708",
++"N* c #01030B",
++"O* c #060912",
++"P* c #8C8888",
++"Q* c #777577",
++"R* c #656364",
++"S* c #646263",
++"T* c #605E5F",
++"U* c #5F5D5E",
++"V* c #5E5C5D",
++"W* c #5E5C5C",
++"X* c #5D5B5C",
++"Y* c #5D5B5B",
++"Z* c #5C5A5B",
++"`* c #5C5A5A",
++" = c #5F5D5D",
++".= c #615E60",
++"+= c #625F60",
++"@= c #636061",
++"#= c #706E6F",
++"$= c #757273",
++"%= c #787576",
++"&= c #797677",
++"*= c #7A797A",
++"== c #777679",
++"-= c #747378",
++";= c #6D6D79",
++">= c #616479",
++",= c #565B79",
++"'= c #4D557B",
++")= c #3D4877",
++"!= c #2C3872",
++"~= c #213071",
++"{= c #1A2B6F",
++"]= c #17276A",
++"^= c #17235A",
++"/= c #1C244B",
++"(= c #2E3046",
++"_= c #4A4B53",
++":= c #707174",
++"<= c #B7B8B8",
++"[= c #C3C4C5",
++"}= c #BDBEBF",
++"|= c #A5A7A7",
++"1= c #828584",
++"2= c #606261",
++"3= c #444645",
++"4= c #313332",
++"5= c #222423",
++"6= c #171817",
++"7= c #0C0D0D",
++"8= c #06070E",
++"9= c #050818",
++"0= c #040A1F",
++"a= c #050A20",
++"b= c #04091D",
++"c= c #040718",
++"d= c #0E1018",
++"e= c #6B696A",
++"f= c #6A6768",
++"g= c #696667",
++"h= c #605E5E",
++"i= c #5C5B5B",
++"j= c #5B595A",
++"k= c #5B5959",
++"l= c #5A5859",
++"m= c #5A5858",
++"n= c #5A5757",
++"o= c #595858",
++"p= c #5A5758",
++"q= c #595758",
++"r= c #595757",
++"s= c #595657",
++"t= c #5A5759",
++"u= c #5B5859",
++"v= c #5B5A5A",
++"w= c #666364",
++"x= c #737071",
++"y= c #757374",
++"z= c #757477",
++"A= c #757378",
++"B= c #727077",
++"C= c #6D6D77",
++"D= c #656776",
++"E= c #5C6077",
++"F= c #4F5573",
++"G= c #3C446E",
++"H= c #283263",
++"I= c #1B2452",
++"J= c #242947",
++"K= c #3A3D4C",
++"L= c #5B5C63",
++"M= c #828285",
++"N= c #A4A5A6",
++"O= c #B9BABB",
++"P= c #BEC0C0",
++"Q= c #939595",
++"R= c #717473",
++"S= c #545655",
++"T= c #3D3F3E",
++"U= c #2C2D2D",
++"V= c #1E1F1F",
++"W= c #131413",
++"X= c #0A0B0E",
++"Y= c #090C1A",
++"Z= c #0B1231",
++"`= c #0E1948",
++" - c #071032",
++".- c #888787",
++"+- c #878687",
++"@- c #615E5E",
++"#- c #605D5D",
++"$- c #5B5858",
++"%- c #595656",
++"&- c #585656",
++"*- c #585556",
++"=- c #585456",
++"-- c #575556",
++";- c #565455",
++">- c #565454",
++",- c #565354",
++"'- c #555354",
++")- c #555254",
++"!- c #555253",
++"~- c #555353",
++"{- c #575555",
++"]- c #5C595A",
++"^- c #5D5A5B",
++"/- c #6C696A",
++"(- c #706D6E",
++"_- c #726F71",
++":- c #69686A",
++"<- c #57565B",
++"[- c #44444E",
++"}- c #3D3D4A",
++"|- c #4A4B58",
++"1- c #6C6C71",
++"2- c #919091",
++"3- c #ADADAD",
++"4- c #BBBCBC",
++"5- c #B7B8B9",
++"6- c #A2A4A4",
++"7- c #848786",
++"8- c #656766",
++"9- c #4A4C4B",
++"0- c #373838",
++"a- c #262726",
++"b- c #181A19",
++"c- c #0F100F",
++"d- c #0A0D14",
++"e- c #0B1127",
++"f- c #111940",
++"g- c #162256",
++"h- c #192968",
++"i- c #18296F",
++"j- c #13246A",
++"k- c #060914",
++"l- c #858384",
++"m- c #5D5A5A",
++"n- c #5C5959",
++"o- c #5B5958",
++"p- c #575456",
++"q- c #575455",
++"r- c #565353",
++"s- c #545253",
++"t- c #545252",
++"u- c #545152",
++"v- c #535152",
++"w- c #535151",
++"x- c #525050",
++"y- c #524F50",
++"z- c #514F50",
++"A- c #514E4F",
++"B- c #504E4E",
++"C- c #504E4D",
++"D- c #4F4D4D",
++"E- c #4F4D4E",
++"F- c #504E4F",
++"G- c #514F4F",
++"H- c #535051",
++"I- c #585657",
++"J- c #5E5B5C",
++"K- c #605D5E",
++"L- c #4D4B4C",
++"M- c #636262",
++"N- c #7D7D7D",
++"O- c #9A9A9B",
++"P- c #B1B2B2",
++"Q- c #AFB1B1",
++"R- c #959998",
++"S- c #767978",
++"T- c #5A5C5B",
++"U- c #424443",
++"V- c #2E302E",
++"W- c #1F2120",
++"X- c #161616",
++"Y- c #0E1014",
++"Z- c #0C1022",
++"`- c #0E1533",
++" ; c #121C4A",
++".; c #182560",
++"+; c #1C2C6F",
++"@; c #030612",
++"#; c #858284",
++"$; c #7E7B7C",
++"%; c #696668",
++"&; c #615F61",
++"*; c #5F5C5D",
++"=; c #5B595B",
++"-; c #575454",
++";; c #575554",
++">; c #595658",
++",; c #5C5A5C",
++"'; c #5F5E5E",
++"); c #5C5B5A",
++"!; c #5A5958",
++"~; c #585757",
++"{; c #575656",
++"]; c #525051",
++"^; c #4E4B4C",
++"/; c #4D4A4B",
++"(; c #4B4949",
++"_; c #4C494A",
++":; c #4C4A4A",
++"<; c #4D4B4B",
++"[; c #4E4C4D",
++"}; c #504D4F",
++"|; c #4F4C4D",
++"1; c #474545",
++"2; c #484546",
++"3; c #666566",
++"4; c #848485",
++"5; c #A2A3A3",
++"6; c #B6B7B7",
++"7; c #B8BABA",
++"8; c #A8AAAA",
++"9; c #8B8D8D",
++"0; c #6B6E6D",
++"a; c #353836",
++"b; c #0B0B0B",
++"c; c #050505",
++"d; c #030610",
++"e; c #0B1332",
++"f; c #142053",
++"g; c #1A296B",
++"h; c #21337C",
++"i; c #0B1642",
++"j; c #03060F",
++"k; c #767374",
++"l; c #676465",
++"m; c #656263",
++"n; c #625F61",
++"o; c #615E5F",
++"p; c #5D5D5D",
++"q; c #605F5F",
++"r; c #616060",
++"s; c #616061",
++"t; c #626162",
++"u; c #626262",
++"v; c #626161",
++"w; c #646464",
++"x; c #656564",
++"y; c #605F60",
++"z; c #5F5E5F",
++"A; c #60605F",
++"B; c #5E5E5E",
++"C; c #5C5C5C",
++"D; c #4E4C4C",
++"E; c #494747",
++"F; c #494647",
++"G; c #484647",
++"H; c #484646",
++"I; c #464444",
++"J; c #444242",
++"K; c #424040",
++"L; c #6E6D6E",
++"M; c #8F8F8F",
++"N; c #ACACAD",
++"O; c #B9BBBB",
++"P; c #B3B5B5",
++"Q; c #9D9F9E",
++"R; c #7D817F",
++"S; c #5C5F5E",
++"T; c #3E4140",
++"U; c #2E2F2F",
++"V; c #242525",
++"W; c #1B1C1B",
++"X; c #121312",
++"Y; c #0A0A0A",
++"Z; c #020202",
++"`; c #02040A",
++" > c #070B1D",
++".> c #0C1331",
++"+> c #121B43",
++"@> c #1B2657",
++"#> c #25326B",
++"$> c #283776",
++"%> c #253477",
++"&> c #223278",
++"*> c #1E2F77",
++"=> c #122267",
++"-> c #02050E",
++";> c #07090C",
++">> c #5F5C5C",
++",> c #565253",
++"'> c #555252",
++")> c #545151",
++"!> c #535052",
++"~> c #5D5C5C",
++"{> c #5F5F5F",
++"]> c #636363",
++"^> c #616161",
++"/> c #5C5D5C",
++"(> c #5A5A5A",
++"_> c #585858",
++":> c #555555",
++"<> c #535353",
++"[> c #505050",
++"}> c #4E4E4E",
++"|> c #4C4C4C",
++"1> c #4A4A4A",
++"2> c #4B4B4B",
++"3> c #494949",
++"4> c #4D4D4D",
++"5> c #525152",
++"6> c #545454",
++"7> c #565656",
++"8> c #575757",
++"9> c #585957",
++"0> c #595959",
++"a> c #555454",
++"b> c #525151",
++"c> c #4A4949",
++"d> c #474646",
++"e> c #424141",
++"f> c #403E3E",
++"g> c #3D3B3B",
++"h> c #3E3C3D",
++"i> c #474647",
++"j> c #5D5C5D",
++"k> c #7D7C7C",
++"l> c #9E9F9F",
++"m> c #A8AAAB",
++"n> c #8D8F8F",
++"o> c #6B6D6C",
++"p> c #4B4E4C",
++"q> c #363937",
++"r> c #2B2C2B",
++"s> c #222323",
++"t> c #191919",
++"u> c #060706",
++"v> c #010101",
++"w> c #080808",
++"x> c #181718",
++"y> c #313038",
++"z> c #474A5A",
++"A> c #4C4F6B",
++"B> c #40496F",
++"C> c #364172",
++"D> c #2C3973",
++"E> c #223172",
++"F> c #19296C",
++"G> c #111F5B",
++"H> c #0A153F",
++"I> c #7F7E7E",
++"J> c #666465",
++"K> c #524F4F",
++"L> c #5E5D5D",
++"M> c #646363",
++"N> c #565756",
++"O> c #515151",
++"P> c #484848",
++"Q> c #474747",
++"R> c #464646",
++"S> c #454646",
++"T> c #454545",
++"U> c #444444",
++"V> c #4D4C4C",
++"W> c #3D3C3C",
++"X> c #3D3C3D",
++"Y> c #6C6B6C",
++"Z> c #8D8D8E",
++"`> c #A9AAAA",
++" , c #B2B4B4",
++"., c #9A9D9D",
++"+, c #797D7C",
++"@, c #595B5B",
++"#, c #404242",
++"$, c #2A2B2A",
++"%, c #222221",
++"&, c #030303",
++"*, c #1C1C1B",
++"=, c #333132",
++"-, c #4A4748",
++";, c #605E61",
++">, c #5D5C63",
++",, c #545664",
++"', c #494D66",
++"), c #3A4167",
++"!, c #293362",
++"~, c #1A2350",
++"{, c #0E163A",
++"], c #080C24",
++"^, c #030613",
++"/, c #030509",
++"(, c #726F70",
++"_, c #504D4E",
++":, c #5B5B5B",
++"<, c #545353",
++"[, c #434343",
++"}, c #424242",
++"|, c #414141",
++"1, c #3D3D3D",
++"2, c #393939",
++"3, c #484747",
++"4, c #9D9D9E",
++"5, c #B1B3B3",
++"6, c #B5B7B7",
++"7, c #A6A8A8",
++"8, c #888B8A",
++"9, c #676A69",
++"0, c #313232",
++"a, c #282928",
++"b, c #111111",
++"c, c #070707",
++"d, c #0E0E0E",
++"e, c #201F1F",
++"f, c #434142",
++"g, c #4B494A",
++"h, c #524E50",
++"i, c #5C5A5F",
++"j, c #57555F",
++"k, c #4D4D5C",
++"l, c #3D3F51",
++"m, c #2A2D3D",
++"n, c #181B26",
++"o, c #090B13",
++"p, c #7E7E7E",
++"q, c #6B6869",
++"r, c #4F4D4C",
++"s, c #4A4B4B",
++"t, c #424142",
++"u, c #414041",
++"v, c #404040",
++"w, c #3F403F",
++"x, c #3F3F3F",
++"y, c #3C3B3B",
++"z, c #373536",
++"A, c #343233",
++"B, c #3A3939",
++"C, c #4D4C4D",
++"D, c #8E8E8E",
++"E, c #AAABAB",
++"F, c #B4B6B7",
++"G, c #ACAEAF",
++"H, c #959897",
++"I, c #767878",
++"J, c #575959",
++"K, c #383B3A",
++"L, c #2F302F",
++"M, c #161717",
++"N, c #0F0F0F",
++"O, c #151515",
++"P, c #242323",
++"Q, c #323031",
++"R, c #3B3939",
++"S, c #3F3D3E",
++"T, c #424041",
++"U, c #454243",
++"V, c #464344",
++"W, c #4A4848",
++"X, c #585557",
++"Y, c #595759",
++"Z, c #585759",
++"`, c #565457",
++" ' c #4D4C4F",
++".' c #3F3E41",
++"+' c #2D2D2F",
++"@' c #2A2829",
++"#' c #4C4B4B",
++"$' c #535252",
++"%' c #414241",
++"&' c #404140",
++"*' c #3E3F3E",
++"=' c #3C3D3C",
++"-' c #373737",
++";' c #343434",
++">' c #363535",
++",' c #5A595A",
++"'' c #797879",
++")' c #979798",
++"!' c #AAABAC",
++"~' c #878A8A",
++"{' c #686B6A",
++"]' c #505251",
++"^' c #404241",
++"/' c #333434",
++"(' c #1D1E1E",
++"_' c #111212",
++":' c #101010",
++"<' c #141414",
++"[' c #131313",
++"}' c #0E0D0E",
++"|' c #090909",
++"1' c #040404",
++"2' c #060606",
++"3' c #2E2D2D",
++"4' c #343232",
++"5' c #393637",
++"6' c #3A3738",
++"7' c #3B3839",
++"8' c #3C3A3A",
++"9' c #3E3D3D",
++"0' c #444141",
++"a' c #454242",
++"b' c #474445",
++"c' c #4B4849",
++"d' c #565254",
++"e' c #7D7A7A",
++"f' c #4C4A4B",
++"g' c #4A4849",
++"h' c #565554",
++"i' c #464746",
++"j' c #3D3E3D",
++"k' c #3B3C3B",
++"l' c #3A3B3A",
++"m' c #383837",
++"n' c #353535",
++"o' c #363635",
++"p' c #666667",
++"q' c #828283",
++"r' c #9B9B9D",
++"s' c #A7A9A9",
++"t' c #969898",
++"u' c #7C7E7D",
++"v' c #606262",
++"w' c #4A4D4C",
++"x' c #393B39",
++"y' c #2D2E2D",
++"z' c #232424",
++"A' c #1C1C1C",
++"B' c #181918",
++"C' c #181818",
++"D' c #1E1E1E",
++"E' c #1A1B1A",
++"F' c #1C1D1C",
++"G' c #1B1B1B",
++"H' c #161716",
++"I' c #2B2B2B",
++"J' c #333233",
++"K' c #333333",
++"L' c #333131",
++"M' c #343132",
++"N' c #353233",
++"O' c #353333",
++"P' c #363435",
++"Q' c #373636",
++"R' c #3A3838",
++"S' c #3C3939",
++"T' c #3D3A3B",
++"U' c #3E3C3C",
++"V' c #403D3E",
++"W' c #413E40",
++"X' c #434041",
++"Y' c #454344",
++"Z' c #575353",
++"`' c #555453",
++" ) c #4B4749",
++".) c #494748",
++"+) c #585857",
++"@) c #515251",
++"#) c #3D3F3D",
++"$) c #393A39",
++"%) c #383938",
++"&) c #353534",
++"*) c #353434",
++"=) c #393838",
++"-) c #706F70",
++";) c #8B8B8C",
++">) c #A0A1A2",
++",) c #A0A2A3",
++"') c #707372",
++")) c #565857",
++"!) c #333433",
++"~) c #292A2A",
++"{) c #222322",
++"]) c #1C1D1D",
++"^) c #191A19",
++"/) c #1E1F1E",
++"() c #303130",
++"_) c #202020",
++":) c #1A1A1A",
++"<) c #4A4A49",
++"[) c #403F3F",
++"}) c #383637",
++"|) c #322F30",
++"1) c #2F2C2C",
++"2) c #2F2D2D",
++"3) c #302D2E",
++"4) c #302E2E",
++"5) c #312E2F",
++"6) c #323030",
++"7) c #353435",
++"8) c #373535",
++"9) c #3A3839",
++"0) c #3B393A",
++"a) c #3D3B3C",
++"b) c #403D3D",
++"c) c #423F40",
++"d) c #464445",
++"e) c #535050",
++"f) c #555455",
++"g) c #4A4B4A",
++"h) c #373837",
++"i) c #363736",
++"j) c #353635",
++"k) c #343534",
++"l) c #3B3B3B",
++"m) c #494849",
++"n) c #5E5E5F",
++"o) c #797A7A",
++"p) c #A4A6A6",
++"q) c #989A9B",
++"r) c #7F8282",
++"s) c #626564",
++"t) c #494C4B",
++"u) c #383A39",
++"v) c #2D2F2E",
++"w) c #292A29",
++"x) c #232423",
++"y) c #171717",
++"z) c #202120",
++"A) c #252625",
++"B) c #454645",
++"C) c #454444",
++"D) c #3C3B3C",
++"E) c #2E2C2C",
++"F) c #2D2B2B",
++"G) c #2E2B2C",
++"H) c #302E2F",
++"I) c #333031",
++"J) c #363334",
++"K) c #393737",
++"L) c #3C393A",
++"M) c #3F3B3C",
++"N) c #413E3F",
++"O) c #4A4747",
++"P) c #4F4C4C",
++"Q) c #797676",
++"R) c #757272",
++"S) c #696666",
++"T) c #343433",
++"U) c #4E4E4F",
++"V) c #686869",
++"W) c #858586",
++"X) c #9D9F9F",
++"Y) c #A9ABAB",
++"Z) c #A3A5A6",
++"`) c #8D9090",
++" ! c #535656",
++".! c #3D3F3F",
++"+! c #2A2B2B",
++"@! c #212121",
++"#! c #242524",
++"$! c #2E2F2E",
++"%! c #323332",
++"&! c #212221",
++"*! c #434444",
++"=! c #2C2A2A",
++"-! c #2A2828",
++";! c #2B2929",
++">! c #2D2B2C",
++",! c #2F2C2D",
++"'! c #383536",
++")! c #3C3A3B",
++"!! c #3F3D3D",
++"~! c #413F3F",
++"{! c #444142",
++"]! c #504D4D",
++"^! c #4E4B4B",
++"/! c #4D4949",
++"(! c #454343",
++"_! c #333332",
++":! c #323130",
++"<! c #313030",
++"[! c #414040",
++"}! c #585758",
++"|! c #757576",
++"1! c #7E8080",
++"2! c #5E6160",
++"3! c #424544",
++"4! c #363737",
++"5! c #292929",
++"6! c #121212",
++"7! c #1F1F1F",
++"8! c #313231",
++"9! c #1F201F",
++"0! c #1D1D1D",
++"a! c #2B2829",
++"b! c #292527",
++"c! c #282627",
++"d! c #282626",
++"e! c #282628",
++"f! c #292728",
++"g! c #2B292A",
++"h! c #2D2A2B",
++"i! c #312F2F",
++"j! c #403E3F",
++"k! c #4D4A4A",
++"l! c #4B4748",
++"m! c #444243",
++"n! c #4F4F4F",
++"o! c #2E2E2E",
++"p! c #303030",
++"q! c #393837",
++"r! c #A0A4A3",
++"s! c #898D8C",
++"t! c #6A6D6D",
++"u! c #3B3D3C",
++"v! c #383939",
++"w! c #363636",
++"x! c #2F3030",
++"y! c #232323",
++"z! c #151615",
++"A! c #111211",
++"B! c #242424",
++"C! c #2C2D2C",
++"D! c #262424",
++"E! c #272525",
++"F! c #262525",
++"G! c #262425",
++"H! c #272626",
++"I! c #292727",
++"J! c #353334",
++"K! c #413E3E",
++"L! c #4B4848",
++"M! c #747172",
++"N! c #474546",
++"O! c #434141",
++"P! c #2D2D2C",
++"Q! c #343333",
++"R! c #5A5959",
++"S! c #767676",
++"T! c #8F9091",
++"U! c #929695",
++"V! c #787B7A",
++"W! c #5B5E5D",
++"X! c #474A49",
++"Y! c #3E3F3F",
++"Z! c #393A3A",
++"`! c #2A2A2A",
++" ~ c #1D1F1D",
++".~ c #252324",
++"+~ c #252323",
++"@~ c #272526",
++"#~ c #292627",
++"$~ c #2E2C2D",
++"%~ c #2F2E2F",
++"&~ c #373435",
++"*~ c #403D3C",
++"=~ c #6F6C6D",
++"-~ c #514D4F",
++";~ c #413F40",
++">~ c #302F2F",
++",~ c #3B3A39",
++"'~ c #666666",
++")~ c #808182",
++"!~ c #959797",
++"~~ c #848787",
++"{~ c #525555",
++"]~ c #2F2F2F",
++"^~ c #232324",
++"/~ c #333232",
++"(~ c #242222",
++"_~ c #232222",
++":~ c #232122",
++"<~ c #242223",
++"[~ c #282526",
++"}~ c #2C2A2B",
++"|~ c #2F2D2E",
++"1~ c #3A3737",
++"2~ c #3E3B3B",
++"3~ c #3E3B3C",
++"4~ c #716E6F",
++"5~ c #454445",
++"6~ c #2C2C2B",
++"7~ c #707171",
++"8~ c #888989",
++"9~ c #97989A",
++"0~ c #999C9C",
++"a~ c #8E9191",
++"b~ c #4C4F4E",
++"c~ c #414343",
++"d~ c #3B3C3C",
++"e~ c #323333",
++"f~ c #222222",
++"g~ c #222020",
++"h~ c #232121",
++"i~ c #222021",
++"j~ c #232021",
++"k~ c #252322",
++"l~ c #2F2C2E",
++"m~ c #353232",
++"n~ c #3A3736",
++"o~ c #434242",
++"p~ c #272828",
++"q~ c #272727",
++"r~ c #4A494A",
++"s~ c #616162",
++"t~ c #797A7B",
++"u~ c #8D8E8F",
++"v~ c #959898",
++"w~ c #858989",
++"x~ c #6D7070",
++"y~ c #575A59",
++"z~ c #474948",
++"A~ c #3C3D3D",
++"B~ c #303131",
++"C~ c #232523",
++"D~ c #232524",
++"E~ c #252424",
++"F~ c #211F20",
++"G~ c #232022",
++"H~ c #292628",
++"I~ c #343131",
++"J~ c #373434",
++"K~ c #3B3838",
++"L~ c #4A4647",
++"M~ c #494646",
++"N~ c #696868",
++"O~ c #4E4B4D",
++"P~ c #3F3C3D",
++"Q~ c #3D3D3C",
++"R~ c #313331",
++"S~ c #252725",
++"T~ c #2A2A29",
++"U~ c #302F30",
++"V~ c #3E3D3E",
++"W~ c #515051",
++"X~ c #686969",
++"Y~ c #949697",
++"Z~ c #9A9D9E",
++"`~ c #919594",
++" { c #7D8080",
++".{ c #636666",
++"+{ c #4D4F4F",
++"@{ c #353636",
++"#{ c #242122",
++"${ c #272425",
++"%{ c #2A292A",
++"&{ c #2C2A2C",
++"*{ c #322E2F",
++"={ c #383535",
++"-{ c #4B4648",
++";{ c #444343",
++">{ c #585859",
++",{ c #727273",
++"'{ c #898A8B",
++"){ c #989A9A",
++"!{ c #999B9B",
++"~{ c #8A8D8D",
++"{{ c #717474",
++"]{ c #565957",
++"^{ c #282828",
++"/{ c #0E0F0E",
++"({ c #31302F",
++"_{ c #484445",
++":{ c #403C3D",
++"<{ c #161415",
++"[{ c #6E6B6D",
++"}{ c #494948",
++"|{ c #464545",
++"1{ c #303230",
++"2{ c #3A3A3A",
++"3{ c #4C4C4D",
++"4{ c #646565",
++"5{ c #7E7F7F",
++"6{ c #919495",
++"7{ c #999C9D",
++"8{ c #909394",
++"9{ c #7A7D7D",
++"0{ c #474A48",
++"a{ c #393B3A",
++"b{ c #3C3C3C",
++"c{ c #2C2B2B",
++"d{ c #272424",
++"e{ c #181616",
++"f{ c #151314",
++"g{ c #141213",
++"h{ c #6D6A6B",
++"i{ c #403F3E",
++"j{ c #393738",
++"k{ c #434243",
++"l{ c #59595A",
++"m{ c #737474",
++"n{ c #898B8B",
++"o{ c #939797",
++"p{ c #838787",
++"q{ c #6A6D6C",
++"r{ c #3F4040",
++"s{ c #262626",
++"t{ c #141514",
++"u{ c #312F30",
++"v{ c #373334",
++"w{ c #3F3C3C",
++"x{ c #474344",
++"y{ c #3D3A3A",
++"z{ c #1A1818",
++"A{ c #141313",
++"B{ c #383636",
++"C{ c #1E1F1D",
++"D{ c #2B2B2A",
++"E{ c #4E4D4E",
++"F{ c #676768",
++"G{ c #808283",
++"H{ c #919494",
++"I{ c #8B8E8D",
++"J{ c #5C5F5F",
++"K{ c #464848",
++"L{ c #2D2D2D",
++"M{ c #1A1C1A",
++"N{ c #1D1D1C",
++"O{ c #2E2D2C",
++"P{ c #3D393A",
++"Q{ c #211E1F",
++"R{ c #1A1819",
++"S{ c #161516",
++"T{ c #151414",
++"U{ c #151313",
++"V{ c #363434",
++"W{ c #323131",
++"X{ c #5A5A5B",
++"Y{ c #757677",
++"Z{ c #8B8C8D",
++"`{ c #929595",
++" ] c #818484",
++".] c #686C6B",
++"+] c #505252",
++"@] c #414242",
++"#] c #404141",
++"$] c #242322",
++"%] c #262323",
++"&] c #252222",
++"*] c #252223",
++"=] c #2F2E2E",
++"-] c #444041",
++";] c #474444",
++">] c #1F1D1E",
++",] c #1B1919",
++"'] c #171515",
++")] c #1A1A19",
++"!] c #1F201E",
++"~] c #383737",
++"{] c #8F9192",
++"]] c #949798",
++"^] c #8B8F8E",
++"/] c #787B7B",
++"(] c #5E6161",
++"_] c #4A4C4C",
++":] c #3E3E3F",
++"<] c #101110",
++"[] c #171818",
++"}] c #262426",
++"|] c #464243",
++"1] c #4E4A4B",
++"2] c #131111",
++"3] c #111010",
++"4] c #363234",
++"5] c #343031",
++"6] c #2D2C2C",
++"7] c #707071",
++"8] c #848587",
++"9] c #919394",
++"0] c #707473",
++"a] c #585B5A",
++"b] c #484A49",
++"c] c #3B3B3C",
++"d] c #3C3C3D",
++"e] c #0D0D0D",
++"f] c #262324",
++"g] c #4C4949",
++"h] c #4D494A",
++"i] c #444241",
++"j] c #1D1A1B",
++"k] c #141211",
++"l] c #0E0D0D",
++"m] c #070606",
++"n] c #676365",
++"o] c #292828",
++"p] c #232322",
++"q] c #1E1D1D",
++"r] c #79797A",
++"s] c #8A8C8D",
++"t] c #8E9192",
++"u] c #7D8180",
++"v] c #656968",
++"w] c #4F5251",
++"x] c #39393A",
++"y] c #121211",
++"z] c #141413",
++"A] c #1F1E1D",
++"B] c #222121",
++"C] c #272325",
++"D] c #393638",
++"E] c #484545",
++"F] c #1A1919",
++"G] c #181617",
++"H] c #17171D",
++"I] c #141520",
++"J] c #0F1018",
++"K] c #5E5B5D",
++"L] c #434040",
++"M] c #302C2D",
++"N] c #313131",
++"O] c #404041",
++"P] c #6C6C6D",
++"Q] c #828384",
++"R] c #919393",
++"S] c #949797",
++"T] c #898C8C",
++"U] c #717574",
++"V] c #595C5B",
++"W] c #454746",
++"X] c #383839",
++"Y] c #111311",
++"Z] c #0D0E0D",
++"`] c #0D0E0E",
++" ^ c #0F0F0E",
++".^ c #191918",
++"+^ c #1D1C1C",
++"@^ c #212020",
++"#^ c #272324",
++"$^ c #2A2728",
++"%^ c #2C292A",
++"&^ c #312E2E",
++"*^ c #1D1B1C",
++"=^ c #19181B",
++"-^ c #1A1A23",
++";^ c #1A1C2F",
++">^ c #161C3E",
++",^ c #0F163C",
++"'^ c #070C21",
++")^ c #010104",
++"!^ c #433F41",
++"~^ c #858486",
++"{^ c #9E9FA1",
++"]^ c #A5A6A9",
++"^^ c #A3A3A5",
++"/^ c #A2A2A3",
++"(^ c #9D9FA0",
++"_^ c #7F8382",
++":^ c #4D4F4E",
++"<^ c #3A3C3B",
++"[^ c #353736",
++"}^ c #0B0B0A",
++"|^ c #0B0C0B",
++"1^ c #111110",
++"2^ c #151514",
++"3^ c #282525",
++"4^ c #4C494B",
++"5^ c #282727",
++"6^ c #201E1E",
++"7^ c #1C191A",
++"8^ c #1A181A",
++"9^ c #1B1A1E",
++"0^ c #1D1D28",
++"a^ c #1F233D",
++"b^ c #1F2854",
++"c^ c #1C2A67",
++"d^ c #142669",
++"e^ c #4A4648",
++"f^ c #383436",
++"g^ c #9C9C9E",
++"h^ c #BCBCBE",
++"i^ c #CECFD1",
++"j^ c #D5D6D7",
++"k^ c #D4D4D5",
++"l^ c #CFD0D0",
++"m^ c #9EA0A0",
++"n^ c #595D5B",
++"o^ c #0A0B0A",
++"p^ c #1E1C1C",
++"q^ c #211F1F",
++"r^ c #514D4E",
++"s^ c #1B191B",
++"t^ c #1B191A",
++"u^ c #1B1B1F",
++"v^ c #1F2234",
++"w^ c #242C4F",
++"x^ c #2C3769",
++"y^ c #2B3A7B",
++"z^ c #27387E",
++"A^ c #15276D",
++"B^ c #636264",
++"C^ c #8B8B8D",
++"D^ c #AEAFB0",
++"E^ c #C4C5C6",
++"F^ c #D7D8D9",
++"G^ c #DFDFE0",
++"H^ c #EAEAEB",
++"I^ c #F0F0F0",
++"J^ c #ACADAD",
++"K^ c #515353",
++"L^ c #0C0C0B",
++"M^ c #0A0C0A",
++"N^ c #090A09",
++"O^ c #0B0D0C",
++"P^ c #0C0C0C",
++"Q^ c #181717",
++"R^ c #1C1B1B",
++"S^ c #1E1D1E",
++"T^ c #201F1E",
++"U^ c #1C1A1B",
++"V^ c #1B191D",
++"W^ c #1D1F2E",
++"X^ c #232945",
++"Y^ c #27315E",
++"Z^ c #2B3974",
++"`^ c #2E3E80",
++" / c #2F3F82",
++"./ c #2E3E84",
++"+/ c #464345",
++"@/ c #343133",
++"#/ c #555355",
++"$/ c #767677",
++"%/ c #9A9B9C",
++"&/ c #B5B5B7",
++"*/ c #C7C7CA",
++"=/ c #D5D5D6",
++"-/ c #DDDDDE",
++";/ c #E2E2E3",
++">/ c #E7E7E8",
++",/ c #F7F6F6",
++"'/ c #F1F2F1",
++")/ c #AFB0B0",
++"!/ c #1B1A1B",
++"~/ c #151415",
++"{/ c #121112",
++"]/ c #111011",
++"^/ c #171617",
++"// c #1B1A1A",
++"(/ c #171716",
++"_/ c #161515",
++":/ c #141312",
++"</ c #151413",
++"[/ c #161615",
++"}/ c #171616",
++"|/ c #181817",
++"1/ c #1F1D1D",
++"2/ c #21201F",
++"3/ c #1D1B1B",
++"4/ c #1B1A1D",
++"5/ c #1B1D29",
++"6/ c #1E243C",
++"7/ c #222A53",
++"8/ c #273369",
++"9/ c #2E3C78",
++"0/ c #2F3F80",
++"a/ c #304085",
++"b/ c #334387",
++"c/ c #334386",
++"d/ c #514E4E",
++"e/ c #464343",
++"f/ c #636263",
++"g/ c #A4A4A6",
++"h/ c #BDBDBF",
++"i/ c #D9DADB",
++"j/ c #DFDFE1",
++"k/ c #E4E4E6",
++"l/ c #F4F4F3",
++"m/ c #F6F5F5",
++"n/ c #EBECEC",
++"o/ c #C5C6C7",
++"p/ c #747475",
++"q/ c #2B2A2B",
++"r/ c #131212",
++"s/ c #110F10",
++"t/ c #232221",
++"u/ c #1C1A1D",
++"v/ c #1C1D27",
++"w/ c #1C2035",
++"x/ c #1D2548",
++"y/ c #212C5C",
++"z/ c #24326C",
++"A/ c #273779",
++"B/ c #364588",
++"C/ c #15256B",
++"D/ c #0D184D",
++"E/ c #969698",
++"F/ c #B2B2B4",
++"G/ c #C7C8CA",
++"H/ c #D6D7D8",
++"I/ c #E6E7E7",
++"J/ c #ECECED",
++"K/ c #F1F1F2",
++"L/ c #F4F4F5",
++"M/ c #F2F2F3",
++"N/ c #D8D8DA",
++"O/ c #B5B6B7",
++"P/ c #78797A",
++"Q/ c #353536",
++"R/ c #100F0F",
++"S/ c #191819",
++"T/ c #201E1F",
++"U/ c #232223",
++"V/ c #2A2727",
++"W/ c #292626",
++"X/ c #1E202E",
++"Y/ c #1D2240",
++"Z/ c #1D2752",
++"`/ c #1E2A63",
++" ( c #223173",
++".( c #283980",
++"+( c #15256A",
++"@( c #050B22",
++"#( c #3B383A",
++"$( c #C8C9CA",
++"%( c #DCDDDE",
++"&( c #E3E3E4",
++"*( c #E9E9EA",
++"=( c #EEEEEF",
++"-( c #E2E3E4",
++";( c #CDCED0",
++">( c #B3B3B5",
++",( c #5D5D5F",
++"'( c #343334",
++")( c #1C1A1A",
++"!( c #282726",
++"~( c #1F1E1E",
++"{( c #3C3C3F",
++"]( c #1E2C6A",
++"^( c #2A3B82",
++"/( c #324286",
++"(( c #344588",
++"_( c #3A4A8A",
++":( c #374689",
++"<( c #142569",
++"[( c #0C174A",
++"}( c #8B8A8B",
++"|( c #D2D2D3",
++"1( c #E5E5E6",
++"2( c #E8E8E9",
++"3( c #DADADB",
++"4( c #C6C7C8",
++"5( c #A9AAAB",
++"6( c #7D7D7F",
++"7( c #545355",
++"8( c #191718",
++"9( c #4B4C4C",
++"0( c #56595F",
++"a( c #303D6E",
++"b( c #242121",
++"c( c #4E4A4C",
++"d( c #A7A6A8",
++"e( c #D4D3D6",
++"f( c #DEDEE0",
++"g( c #ECECEE",
++"h( c #949496",
++"i( c #2A2929",
++"j( c #2B2A2A",
++"k( c #2F2B2D",
++"l( c #484949",
++"m( c #525454",
++"n( c #313D6D",
++"o( c #1F3078",
++"p( c #354588",
++"q( c #132368",
++"r( c #04081A",
++"s( c #201D1D",
++"t( c #5B585A",
++"u( c #A3A2A3",
++"v( c #DDDEDF",
++"w( c #E6E7E8",
++"x( c #EDEDEE",
++"y( c #DFE0E1",
++"z( c #A8A8AA",
++"A( c #807F80",
++"B( c #2C292B",
++"C( c #514E4D",
++"D( c #3E3E3E",
++"E( c #444545",
++"F( c #464747",
++"G( c #474949",
++"H( c #595B5F",
++"I( c #35406C",
++"J( c #213177",
++"K( c #293981",
++"L( c #2E3D84",
++"M( c #39498B",
++"N( c #3C4B8C",
++"O( c #3B4A8B",
++"P( c #384789",
++"Q( c #112264",
++"R( c #7F7E7F",
++"S( c #E5E6E7",
++"T( c #DBDCDD",
++"U( c #BCBDBE",
++"V( c #939495",
++"W( c #6A696A",
++"X( c #2A2827",
++"Y( c #575453",
++"Z( c #4C4D4D",
++"`( c #48494A",
++" _ c #454747",
++"._ c #595C60",
++"+_ c #37426D",
++"@_ c #223277",
++"#_ c #39488A",
++"$_ c #122162",
++"%_ c #232020",
++"&_ c #2D2A2A",
++"*_ c #868587",
++"=_ c #B0B0B1",
++"-_ c #BFC0C1",
++";_ c #AEAEAF",
++">_ c #5E5D5F",
++",_ c #444344",
++"'_ c #2B292B",
++")_ c #2A282A",
++"!_ c #292729",
++"~_ c #474748",
++"{_ c #545555",
++"]_ c #555656",
++"^_ c #535454",
++"/_ c #515252",
++"(_ c #4E4F4F",
++"__ c #4B4C4D",
++":_ c #203175",
++"<_ c #112060",
++"[_ c #02040C",
++"}_ c #1E1B1C",
++"|_ c #6B6A6B",
++"1_ c #2F2D2C",
++"2_ c #2D2B2A",
++"3_ c #393537",
++"4_ c #605E5D",
++"5_ c #5B5C5C",
++"6_ c #5D5E5E",
++"7_ c #5C5D5D",
++"8_ c #585959",
++"9_ c #36426C",
++"0_ c #1F3074",
++"a_ c #0F1D59",
++"b_ c #010309",
++"c_ c #484746",
++"d_ c #403E3D",
++"e_ c #464244",
++"f_ c #676464",
++"g_ c #656565",
++"h_ c #696969",
++"i_ c #696A6A",
++"j_ c #666767",
++"k_ c #626363",
++"l_ c #5E5F5F",
++"m_ c #575858",
++"n_ c #4B4D4D",
++"o_ c #494A4A",
++"p_ c #474849",
++"q_ c #474848",
++"r_ c #545656",
++"s_ c #5A5D61",
++"t_ c #37426C",
++"u_ c #203075",
++"v_ c #3F4E8D",
++"w_ c #423F3F",
++"x_ c #6B6868",
++"y_ c #565556",
++"z_ c #646465",
++"A_ c #767777",
++"B_ c #717272",
++"C_ c #6C6D6D",
++"D_ c #616262",
++"E_ c #525353",
++"F_ c #4F5151",
++"G_ c #4E4F50",
++"H_ c #5B5D5D",
++"I_ c #5D6064",
++"J_ c #38446F",
++"K_ c #24357A",
++"L_ c #26367E",
++"M_ c #0C1A50",
++"N_ c #6D6A6A",
++"O_ c #6F6F70",
++"P_ c #828383",
++"Q_ c #7C7C7D",
++"R_ c #777778",
++"S_ c #727373",
++"T_ c #6F7070",
++"U_ c #6B6C6C",
++"V_ c #575758",
++"W_ c #565757",
++"X_ c #555757",
++"Y_ c #565858",
++"Z_ c #5E6060",
++"`_ c #616363",
++" : c #656767",
++".: c #626569",
++"+: c #3B4772",
++"@: c #25357A",
++"#: c #0C1647",
++"$: c #1E1C1D",
++"%: c #706D6D",
++"&: c #606060",
++"*: c #787878",
++"=: c #8D8E8E",
++"-: c #8C8C8D",
++";: c #878888",
++">: c #7A7B7B",
++",: c #646666",
++"': c #626463",
++"): c #5F6060",
++"!: c #5E5F60",
++"~: c #676969",
++"{: c #696B6B",
++"]: c #6B6D6E",
++"^: c #6D6F6F",
++"/: c #6E6F70",
++"(: c #686B6F",
++"_: c #3D4874",
++":: c #233379",
++"<: c #132367",
++"[: c #1E1B1B",
++"}: c #666363",
++"|: c #656464",
++"1: c #7B7A7B",
++"2: c #8B8C8C",
++"3: c #939494",
++"4: c #949595",
++"5: c #929293",
++"6: c #8F8F90",
++"7: c #8B8A8C",
++"8: c #868787",
++"9: c #6F7071",
++"0: c #6B6C6D",
++"a: c #68696A",
++"b: c #676968",
++"c: c #6A6A6B",
++"d: c #6D6E6E",
++"e: c #717271",
++"f: c #737475",
++"g: c #767979",
++"h: c #77797A",
++"i: c #777979",
++"j: c #737575",
++"k: c #6B6F73",
++"l: c #404B75",
++"m: c #243479",
++"n: c #40508E",
++"o: c #3E3A3B",
++"p: c #737273",
++"q: c #868686",
++"r: c #939393",
++"s: c #989898",
++"t: c #969797",
++"u: c #929393",
++"v: c #777878",
++"w: c #767778",
++"x: c #7B7C7D",
++"y: c #7E7F80",
++"z: c #818283",
++"A: c #828484",
++"B: c #818383",
++"C: c #7F8182",
++"D: c #7D7F80",
++"E: c #7B7D7D",
++"F: c #787A7A",
++"G: c #6E7174",
++"H: c #454F75",
++"I: c #28377A",
++"J: c #293980",
++"K: c #3D4C8C",
++"L: c #101E5C",
++"M: c #565555",
++"N: c #525150",
++"O: c #2A2729",
++"P: c #464546",
++"Q: c #929192",
++"R: c #9B9B9B",
++"S: c #A0A0A0",
++"T: c #A0A1A1",
++"U: c #9C9C9C",
++"V: c #7A7A7B",
++"W: c #808181",
++"X: c #848586",
++"Y: c #88888A",
++"Z: c #8A8B8C",
++"`: c #8C8D8E",
++" < c #8B8D8E",
++".< c #8A8C8C",
++"+< c #888A8A",
++"@< c #858788",
++"#< c #828485",
++"$< c #7F8181",
++"%< c #7C7E7E",
++"&< c #7A7C7C",
++"*< c #6F7275",
++"=< c #2A3A7B",
++"-< c #343332",
++";< c #3B3A3A",
++">< c #3F3E3E",
++",< c #232123",
++"'< c #797878",
++")< c #8A898A",
++"!< c #9D9D9D",
++"~< c #A6A6A6",
++"{< c #AAAAAA",
++"]< c #ACACAC",
++"^< c #A3A3A3",
++"/< c #9D9E9E",
++"(< c #8A8B8B",
++"_< c #878788",
++":< c #848585",
++"<< c #818282",
++"[< c #838485",
++"}< c #868788",
++"|< c #8A8A8B",
++"1< c #959697",
++"2< c #969799",
++"3< c #979899",
++"4< c #959798",
++"5< c #919293",
++"6< c #8B8D8C",
++"7< c #878989",
++"8< c #838586",
++"9< c #7D7F7F",
++"0< c #6C6F72",
++"a< c #414B71",
++"b< c #2B3A7C",
++"c< c #3E4D8D",
++"d< c #15256C",
++"e< c #3B3A3B",
++"f< c #292827",
++"g< c #262526",
++"h< c #70706F",
++"i< c #7D7D7C",
++"j< c #8A8989",
++"k< c #979797",
++"l< c #A4A4A4",
++"m< c #B3B3B3",
++"n< c #B9B8B9",
++"o< c #B7B7B7",
++"p< c #B4B4B4",
++"q< c #B1B1B1",
++"r< c #AEAEAE",
++"s< c #A7A7A7",
++"t< c #A5A5A5",
++"u< c #A2A2A2",
++"v< c #9FA0A0",
++"w< c #989999",
++"x< c #949494",
++"y< c #8C8D8D",
++"z< c #898A8A",
++"A< c #919192",
++"B< c #999A9B",
++"C< c #9C9D9E",
++"D< c #9E9FA0",
++"E< c #A0A1A3",
++"F< c #9FA0A2",
++"G< c #9D9E9F",
++"H< c #999B9C",
++"I< c #838686",
++"J< c #808383",
++"K< c #7B7E7E",
++"L< c #6C6E6E",
++"M< c #4A4C4D",
++"N< c #2C3558",
++"O< c #253374",
++"P< c #0A133B",
++"Q< c #1E1E1F",
++"R< c #4F5051",
++"S< c #58595A",
++"T< c #69696A",
++"U< c #797979",
++"V< c #828182",
++"W< c #9F9E9E",
++"X< c #A7A8A8",
++"Y< c #BABBBA",
++"Z< c #C0C1C0",
++"`< c #C1C1C1",
++" [ c #BEBEBE",
++".[ c #BABABA",
++"+[ c #AFAFAF",
++"@[ c #929292",
++"#[ c #959696",
++"$[ c #999A9A",
++"%[ c #A2A4A5",
++"&[ c #A7A8A9",
++"*[ c #A7A8AA",
++"=[ c #A4A6A8",
++"-[ c #A2A3A5",
++";[ c #9FA0A1",
++">[ c #9B9C9D",
++",[ c #878A8B",
++"'[ c #818384",
++")[ c #636565",
++"![ c #191A1A",
++"~[ c #131A3B",
++"{[ c #1F2E6D",
++"][ c #465391",
++"^[ c #313132",
++"/[ c #4D4E4F",
++"([ c #636465",
++"_[ c #6F7171",
++":[ c #878889",
++"<[ c #89898A",
++"[[ c #89898B",
++"}[ c #A1A1A1",
++"|[ c #ABACAD",
++"1[ c #B3B4B4",
++"2[ c #B9BABA",
++"3[ c #BBBCBB",
++"4[ c #BDBEBE",
++"5[ c #BEBFBF",
++"6[ c #C2C2C3",
++"7[ c #C5C5C5",
++"8[ c #C6C7C6",
++"9[ c #C3C4C4",
++"0[ c #C2C4C2",
++"a[ c #C2C2C2",
++"b[ c #C0C0C0",
++"c[ c #BFBFBF",
++"d[ c #BDBDBD",
++"e[ c #B9B9B9",
++"f[ c #B6B6B6",
++"g[ c #98999A",
++"h[ c #9B9B9C",
++"i[ c #A1A2A3",
++"j[ c #A6A7A7",
++"k[ c #ABACAC",
++"l[ c #B0B1B1",
++"m[ c #B3B4B5",
++"n[ c #B3B5B6",
++"o[ c #B1B2B4",
++"p[ c #AAACAD",
++"q[ c #A6A8A9",
++"r[ c #97999A",
++"s[ c #8C8E8F",
++"t[ c #888A8B",
++"u[ c #707172",
++"v[ c #2B2C2C",
++"w[ c #0E1534",
++"x[ c #304084",
++"y[ c #374688",
++"z[ c #41508E",
++"A[ c #848686",
++"B[ c #A2A3A4",
++"C[ c #AEB0B1",
++"D[ c #B8B9B9",
++"E[ c #BCBDBD",
++"F[ c #BFC1C1",
++"G[ c #C3C5C4",
++"H[ c #C4C5C5",
++"I[ c #C4C5C4",
++"J[ c #C1C2C1",
++"K[ c #9E9E9F",
++"L[ c #9C9D9D",
++"M[ c #9B9D9D",
++"N[ c #A0A0A1",
++"O[ c #B4B4B5",
++"P[ c #B9B9BA",
++"Q[ c #BABBBC",
++"R[ c #B4B5B6",
++"S[ c #AFB0B2",
++"T[ c #ABACAE",
++"U[ c #A3A4A6",
++"V[ c #949596",
++"W[ c #1B1B1C",
++"X[ c #070607",
++"Y[ c #0F1633",
++"Z[ c #23306E",
++"`[ c #3E4D8C",
++" } c #5A5B5B",
++".} c #8C8E8E",
++"+} c #919292",
++"@} c #A5A6A7",
++"#} c #A8A9AB",
++"$} c #ACADAF",
++"%} c #B1B2B3",
++"&} c #C1C3C2",
++"*} c #C2C4C4",
++"=} c #C3C4C3",
++"-} c #C2C4C3",
++";} c #C2C3C3",
++">} c #A5A6A6",
++",} c #A3A4A5",
++"'} c #A9A8A9",
++")} c #AFAFB0",
++"!} c #B6B7B8",
++"~} c #C6C6C7",
++"{} c #C0C1C2",
++"]} c #B0B1B2",
++"^} c #ACADAE",
++"/} c #A8A9AA",
++"(} c #0C0B0C",
++"_} c #0A090A",
++":} c #030202",
++"<} c #0D132C",
++"[} c #222F6A",
++"}} c #091339",
++"|} c #0D0C0C",
++"1} c #8E9090",
++"2} c #929494",
++"3} c #969697",
++"4} c #98999B",
++"5} c #A4A4A5",
++"6} c #A4A5A5",
++"7} c #B1B1B2",
++"8} c #C9CACB",
++"9} c #D0D1D1",
++"0} c #CCCDCE",
++"a} c #C1C2C3",
++"b} c #A6A7A8",
++"c} c #5C5C5D",
++"d} c #393839",
++"e} c #0F0E0F",
++"f} c #0D122A",
++"g} c #22306A",
++"h} c #0F0D0D",
++"i} c #323233",
++"j} c #7C7D7D",
++"k} c #8F9191",
++"l} c #A9A9AA",
++"m} c #B3B3B4",
++"n} c #C3C3C4",
++"o} c #CBCCCC",
++"p} c #D2D3D3",
++"q} c #D2D3D4",
++"r} c #CECFD0",
++"s} c #CACBCC",
++"t} c #C2C3C4",
++"u} c #BEBFC0",
++"v} c #BABCBD",
++"w} c #ABADAE",
++"x} c #6D6D6E",
++"y} c #4F4F50",
++"z} c #383738",
++"A} c #262627",
++"B} c #1C1B1C",
++"C} c #0C1126",
++"D} c #253267",
++"E} c #0D184C",
++"F} c #0F0E0E",
++"G} c #141212",
++"H} c #2C2C2C",
++"I} c #AAABAD",
++"J} c #B0B0B0",
++"K} c #AFAEAF",
++"L} c #B2B2B3",
++"M} c #BDBDBE",
++"N} c #D8D9D9",
++"O} c #DCDDDD",
++"P} c #DCDDDF",
++"Q} c #D4D5D6",
++"R} c #D1D2D2",
++"S} c #5B5B5C",
++"T} c #454546",
++"U} c #323132",
++"V} c #252425",
++"W} c #1D1C1D",
++"X} c #0B1022",
++"Y} c #222E64",
++"Z} c #495792",
++"`} c #242324",
++" | c #6C6D6E",
++".| c #7F8081",
++"+| c #929394",
++"@| c #BABABB",
++"#| c #C1C2C2",
++"$| c #C4C6C5",
++"%| c #BFBFBE",
++"&| c #BDBEBD",
++"*| c #BCBCBC",
++"=| c #B5B6B6",
++"-| c #B5B5B6",
++";| c #B8B8B8",
++">| c #BCBCBD",
++",| c #C8C8C9",
++"'| c #D5D6D6",
++")| c #DEDFE0",
++"!| c #E0E1E2",
++"~| c #B2B3B4",
++"{| c #606061",
++"]| c #191818",
++"^| c #0A0E1E",
++"/| c #212C5F",
++"(| c #252525",
++"_| c #7B7C7C",
++":| c #8E8D8E",
++"<| c #A8AAA9",
++"[| c #C4C4C4",
++"}| c #C2C3C2",
++"|| c #BFC0BF",
++"1| c #C9CAC9",
++"2| c #E1E2E2",
++"3| c #E4E5E6",
++"4| c #CBCBCC",
++"5| c #B1B0B1",
++"6| c #888788",
++"7| c #201F20",
++"8| c #0B0A0A",
++"9| c #080B18",
++"0| c #1F295A",
++"a| c #454443",
++"b| c #686868",
++"c| c #969696",
++"d| c #9FA09F",
++"e| c #A7A7A6",
++"f| c #ACACAB",
++"g| c #BCBCBB",
++"h| c #BEBFBE",
++"i| c #C7C7C7",
++"j| c #CBCBCB",
++"k| c #CFCFCF",
++"l| c #D7D7D8",
++"m| c #D7D7D7",
++"n| c #CDCDCF",
++"o| c #9F9FA0",
++"p| c #2C2B2C",
++"q| c #262524",
++"r| c #222122",
++"s| c #1F1E1F",
++"t| c #040303",
++"u| c #070A14",
++"v| c #1E2857",
++"w| c #112162",
++"x| c #121111",
++"y| c #575655",
++"z| c #686767",
++"A| c #7A7A7A",
++"B| c #848384",
++"C| c #8C8C8C",
++"D| c #A8A8A8",
++"E| c #A9A9A9",
++"F| c #ADADAE",
++"G| c #B4B5B5",
++"H| c #A6A6A7",
++"I| c #939293",
++"J| c #888688",
++"K| c #7D7D7E",
++"L| c #737373",
++"M| c #676667",
++"N| c #3A393A",
++"O| c #363536",
++"P| c #2E2D2E",
++"Q| c #080707",
++"R| c #050404",
++"S| c #1F2951",
++"T| c #394887",
++"U| c #0C0B0B",
++"V| c #474645",
++"W| c #4A4948",
++"X| c #5D5D5E",
++"Y| c #5F6061",
++"Z| c #616263",
++"`| c #646566",
++" 1 c #6A6B6C",
++".1 c #6D6E6F",
++"+1 c #717274",
++"@1 c #757779",
++"#1 c #77797B",
++"$1 c #78797C",
++"%1 c #797A7D",
++"&1 c #7A7B7D",
++"*1 c #7B7B7D",
++"=1 c #79797B",
++"-1 c #77787A",
++";1 c #757577",
++">1 c #727274",
++",1 c #6F6F71",
++"'1 c #6C6B6D",
++")1 c #686668",
++"!1 c #5E5D5E",
++"~1 c #5B5A5B",
++"{1 c #545354",
++"]1 c #0A0909",
++"^1 c #040509",
++"/1 c #1F274D",
++"(1 c #384886",
++"_1 c #3B3B3A",
++":1 c #4F4E4E",
++"<1 c #626365",
++"[1 c #656668",
++"}1 c #6A6B6D",
++"|1 c #6E6F71",
++"11 c #737476",
++"21 c #777A7C",
++"31 c #7A7B7F",
++"41 c #797B7E",
++"51 c #797B7D",
++"61 c #797A7C",
++"71 c #717173",
++"81 c #6E6E71",
++"91 c #6D6C6E",
++"01 c #6A696B",
++"a1 c #666567",
++"b1 c #040406",
++"c1 c #1D2447",
++"d1 c #374683",
++"e1 c #424140",
++"f1 c #4B4A4A",
++"g1 c #656566",
++"h1 c #68696B",
++"i1 c #6D6D6F",
++"j1 c #717273",
++"k1 c #7A7C7F",
++"l1 c #7E8083",
++"m1 c #808185",
++"n1 c #7F8084",
++"o1 c #7E7F83",
++"p1 c #7D7E80",
++"q1 c #7B7C7E",
++"r1 c #78797B",
++"s1 c #777779",
++"t1 c #747476",
++"u1 c #717174",
++"v1 c #212021",
++"w1 c #040405",
++"x1 c #1A2140",
++"y1 c #384681",
++"z1 c #0D194D",
++"A1 c #3F3F3E",
++"B1 c #434241",
++"C1 c #474544",
++"D1 c #4D4C4B",
++"E1 c #646365",
++"F1 c #676869",
++"G1 c #6C6C6E",
++"H1 c #6F7072",
++"I1 c #7C7D7F",
++"J1 c #808284",
++"K1 c #838689",
++"L1 c #848689",
++"M1 c #838488",
++"N1 c #7F8082",
++"O1 c #7C7D80",
++"P1 c #141314",
++"Q1 c #181F3A",
++"R1 c #38457C",
++"S1 c #504F4F",
++"T1 c #545352",
++"U1 c #69696B",
++"V1 c #6C6D6F",
++"W1 c #707272",
++"X1 c #747576",
++"Y1 c #78787A",
++"Z1 c #7B7D7F",
++"`1 c #828487",
++" 2 c #85888B",
++".2 c #838589",
++"+2 c #818286",
++"@2 c #7F8083",
++"#2 c #7C7D81",
++"$2 c #151B31",
++"%2 c #354174",
++"&2 c #6A6A6A",
++"*2 c #707072",
++"=2 c #808183",
++"-2 c #838588",
++";2 c #86888B",
++">2 c #86898C",
++",2 c #818386",
++"'2 c #1A191A",
++")2 c #111629",
++"!2 c #323D6D",
++"~2 c #5F5D5C",
++"{2 c #656465",
++"]2 c #6C6C6C",
++"^2 c #6F6F6F",
++"/2 c #747577",
++"(2 c #7E7F81",
++"_2 c #818284",
++":2 c #848688",
++"<2 c #87898C",
++"[2 c #100F10",
++"}2 c #0E1120",
++"|2 c #2E3965",
++"12 c #465491",
++"22 c #465490",
++"32 c #676666",
++"42 c #6D6D6D",
++"52 c #706F71",
++"62 c #757678",
++"72 c #7B7B7E",
++"82 c #7F7F82",
++"92 c #818285",
++"02 c #0C0F1B",
++"a2 c #2B355E",
++"b2 c #4E5C95",
++"c2 c #0B1541",
++"d2 c #7F7F81",
++"e2 c #0D1018",
++"f2 c #2D3558",
++"g2 c #4F5D96",
++"h2 c #4A5893",
++"i2 c #0C0D12",
++"j2 c #282F4E",
++"k2 c #495790",
++"l2 c #0B0C0E",
++"m2 c #1E2542",
++"n2 c #3E4C87",
++"o2 c #1A2037",
++"p2 c #38457E",
++"q2 c #151A2C",
++"r2 c #2B3870",
++"s2 c #1E1E1D",
++"t2 c #131213",
++"u2 c #0F1322",
++"v2 c #1E2A60",
++"w2 c #0B0E1A",
++"x2 c #15204F",
++"y2 c #0D173E",
++"z2 c #0F1E5B",
++"A2 c #0D0C0D",
++"B2 c #0B0C11",
++"C2 c #0E0E10",
++"D2 c #0D0B0C",
++"E2 c #01030C",
++"F2 c #000104",
++"G2 c #131312",
++"H2 c #010204",
++"I2 c #323232",
++"J2 c #0A0B0B",
++"K2 c #141415",
++"L2 c #070808",
++"M2 c #090808",
++"N2 c #0B0A0B",
++"O2 c #090809",
++"P2 c #080708",
++"Q2 c #020101",
++"R2 c #010201",
++"S2 c #0E0C0D",
++"T2 c #B9A096",
++"U2 c #9E7D71",
++"V2 c #907267",
++"W2 c #151516",
++"X2 c #A07D6F",
++"Y2 c #A67D6C",
++"Z2 c #B4988D",
++"`2 c #B2998F",
++" 3 c #8F624F",
++".3 c #814228",
++"+3 c #764B38",
++"@3 c #382D28",
++"#3 c #1C1C1D",
++"$3 c #86523E",
++"%3 c #82462D",
++"&3 c #9E8175",
++"*3 c #CAC6C5",
++"=3 c #856659",
++"-3 c #422113",
++";3 c #14100E",
++">3 c #6C483A",
++",3 c #733820",
++"'3 c #7C5C4E",
++")3 c #141110",
++"!3 c #0F0D0F",
++"~3 c #573123",
++"{3 c #432215",
++"]3 c #110F0E",
++"^3 c #372A25",
++"/3 c #0F0907",
++"(3 c #4B4A4B",
++"_3 c #0E0C0B",
++":3 c #4C4B4C",
++"<3 c #222223",
++"[3 c #494848",
++"}3 c #2D2C2D",
++"|3 c #292829",
++"13 c #272627",
++"23 c #6D6C6F",
++"33 c #636364",
++"43 c #403F40",
++"53 c #313031",
++"63 c #707070",
++"73 c #808184",
++"83 c #808286",
++"93 c #727174",
++"03 c #6E6E70",
++"a3 c #313130",
++"b3 c #77777A",
++"c3 c #838487",
++"d3 c #85878B",
++"e3 c #828587",
++"f3 c #808285",
++"g3 c #7E7F82",
++"h3 c #7B7C7F",
++"i3 c #767779",
++"j3 c #676668",
++"k3 c #646466",
++"l3 c #626163",
++"m3 c #605E60",
++"n3 c #2A292B",
++"o3 c #0C0C0D",
++"p3 c #6F6E70",
++"q3 c #757476",
++"r3 c #7A7A7D",
++"s3 c #7D7D81",
++"t3 c #808083",
++"u3 c #85878A",
++"v3 c #7F8185",
++"w3 c #7D7F81",
++"x3 c #787A7C",
++"y3 c #737477",
++"z3 c #666668",
++"A3 c #504F50",
++"B3 c #3C3C3B",
++"C3 c #282728",
++"D3 c #040304",
++"E3 c #0D0D0C",
++"F3 c #515050",
++"G3 c #727173",
++"H3 c #7D7E81",
++"I3 c #818387",
++"J3 c #7F8184",
++"K3 c #7A7C7E",
++"L3 c #767679",
++"M3 c #747376",
++"N3 c #636365",
++"O3 c #5F5E60",
++"P3 c #5D5B5D",
++"Q3 c #1F1F1E",
++"R3 c #050405",
++"S3 c #383838",
++"T3 c #19100D",
++"U3 c #030101",
++"V3 c #666565",
++"W3 c #696869",
++"X3 c #6B6B6C",
++"Y3 c #717073",
++"Z3 c #79797C",
++"`3 c #7C7E81",
++" 4 c #7A7B7E",
++".4 c #77787B",
++"+4 c #757679",
++"@4 c #737376",
++"#4 c #6B6A6C",
++"$4 c #676769",
++"%4 c #656567",
++"&4 c #626264",
++"*4 c #605F61",
++"=4 c #5C5B5C",
++"-4 c #4B494B",
++";4 c #493C36",
++">4 c #20130E",
++",4 c #060302",
++"'4 c #646364",
++")4 c #727275",
++"!4 c #757578",
++"~4 c #7B7D80",
++"{4 c #747578",
++"]4 c #616062",
++"^4 c #5D5C5E",
++"/4 c #020102",
++"(4 c #7C7471",
++"_4 c #5C382A",
++":4 c #301C15",
++"<4 c #0C0705",
++"[4 c #7D7F82",
++"}4 c #727376",
++"|4 c #707073",
++"14 c #6A6A6C",
++"24 c #68686A",
++"34 c #606062",
++"44 c #4F4E4F",
++"54 c #010202",
++"64 c #7F4D39",
++"74 c #744735",
++"84 c #492D21",
++"94 c #160E0A",
++"04 c #575756",
++"a4 c #6B6B6D",
++"b4 c #707173",
++"c4 c #76777A",
++"d4 c #747678",
++"e4 c #6B6C6E",
++"f4 c #5F5F60",
++"g4 c #5C5B5D",
++"h4 c #555456",
++"i4 c #535254",
++"j4 c #484748",
++"k4 c #84503B",
++"l4 c #86513C",
++"m4 c #643F30",
++"n4 c #3E3029",
++"o4 c #120D0A",
++"p4 c #7C7F82",
++"q4 c #7A7C80",
++"r4 c #77797D",
++"s4 c #6E6F72",
++"t4 c #6C6D70",
++"u4 c #6A6A6D",
++"v4 c #616163",
++"w4 c #5A595B",
++"x4 c #555557",
++"y4 c #484648",
++"z4 c #8B5A47",
++"A4 c #8A513B",
++"B4 c #8F563D",
++"C4 c #895540",
++"D4 c #816254",
++"E4 c #5A4238",
++"F4 c #271A15",
++"G4 c #0A0807",
++"H4 c #595859",
++"I4 c #6B6A6D",
++"J4 c #6D6D70",
++"K4 c #717375",
++"L4 c #737578",
++"M4 c #76787B",
++"N4 c #797B7F",
++"O4 c #797C7F",
++"P4 c #75767A",
++"Q4 c #717275",
++"R4 c #696A6D",
++"S4 c #67686A",
++"T4 c #5E5E60",
++"U4 c #5A585A",
++"V4 c #535253",
++"W4 c #504E50",
++"X4 c #4E4C4E",
++"Y4 c #454745",
++"Z4 c #916250",
++"`4 c #8D5138",
++" 5 c #90553B",
++".5 c #915942",
++"+5 c #956F5F",
++"@5 c #886555",
++"#5 c #5B3E32",
++"$5 c #2C2522",
++"%5 c #69696C",
++"&5 c #6C6C6F",
++"*5 c #727477",
++"=5 c #75777A",
++"-5 c #787A7D",
++";5 c #787A7E",
++">5 c #6D6E70",
++",5 c #68696C",
++"'5 c #636466",
++")5 c #5C5C5E",
++"!5 c #59595B",
++"~5 c #575658",
++"{5 c #545455",
++"]5 c #4F4E50",
++"^5 c #4D4C4E",
++"/5 c #050605",
++"(5 c #945E4A",
++"_5 c #904F34",
++":5 c #935238",
++"<5 c #91573F",
++"[5 c #946B5B",
++"}5 c #916959",
++"|5 c #724E3D",
++"15 c #473B35",
++"25 c #191717",
++"35 c #4F4E4D",
++"45 c #6D6F72",
++"55 c #75777B",
++"65 c #717376",
++"75 c #656669",
++"85 c #525153",
++"95 c #444544",
++"05 c #965941",
++"a5 c #954D31",
++"b5 c #965135",
++"c5 c #93553D",
++"d5 c #997162",
++"e5 c #926A59",
++"f5 c #724B3B",
++"g5 c #483C36",
++"h5 c #353735",
++"i5 c #565657",
++"j5 c #67686B",
++"k5 c #6A6C6F",
++"l5 c #6D6F71",
++"m5 c #6F7174",
++"n5 c #727478",
++"o5 c #707276",
++"p5 c #6E7073",
++"q5 c #636366",
++"r5 c #606163",
++"s5 c #5E5F61",
++"t5 c #545456",
++"u5 c #474648",
++"v5 c #985236",
++"w5 c #964B2B",
++"x5 c #984E31",
++"y5 c #94553C",
++"z5 c #9F7B6D",
++"A5 c #906553",
++"B5 c #6C4636",
++"C5 c #3E3531",
++"D5 c #525253",
++"E5 c #606063",
++"F5 c #6A6C6E",
++"G5 c #6F7175",
++"H5 c #6D6F73",
++"I5 c #6C6D71",
++"J5 c #6A6B6E",
++"K5 c #5D5E60",
++"L5 c #5B5C5E",
++"M5 c #58585A",
++"N5 c #535354",
++"O5 c #4F4F51",
++"P5 c #4B4B4D",
++"Q5 c #484849",
++"R5 c #424143",
++"S5 c #3E3D3F",
++"T5 c #3B393B",
++"U5 c #994728",
++"V5 c #984826",
++"W5 c #994B2C",
++"X5 c #94543B",
++"Y5 c #A27D6E",
++"Z5 c #8B5B47",
++"`5 c #623E2F",
++" 6 c #322D2A",
++".6 c #141C14",
++"+6 c #0D120D",
++"@6 c #0F0F0D",
++"#6 c #3F3E3F",
++"$6 c #4A4A4B",
++"%6 c #4D4D4F",
++"&6 c #505052",
++"*6 c #57585A",
++"=6 c #606264",
++"-6 c #636568",
++";6 c #66686B",
++">6 c #686A6D",
++",6 c #686A6E",
++"'6 c #66686C",
++")6 c #646569",
++"!6 c #636467",
++"~6 c #606164",
++"{6 c #5D5E61",
++"]6 c #5B5B5E",
++"^6 c #57575A",
++"/6 c #515153",
++"(6 c #4E4E50",
++"_6 c #4A4A4C",
++":6 c #474749",
++"<6 c #434344",
++"[6 c #3F3F40",
++"}6 c #373738",
++"|6 c #9B4320",
++"16 c #9B4423",
++"26 c #994827",
++"36 c #94563D",
++"46 c #A47F70",
++"56 c #834E38",
++"66 c #543326",
++"76 c #252221",
++"86 c #7B967B",
++"96 c #346E33",
++"06 c #2C5A2C",
++"a6 c #294728",
++"b6 c #2E392C",
++"c6 c #1C1D1B",
++"d6 c #343435",
++"e6 c #383739",
++"f6 c #3B3B3D",
++"g6 c #3E3E40",
++"h6 c #424244",
++"i6 c #464749",
++"j6 c #4A4B4D",
++"k6 c #4B4C4E",
++"l6 c #4E5052",
++"m6 c #515356",
++"n6 c #55575A",
++"o6 c #585A5D",
++"p6 c #585A5E",
++"q6 c #56585C",
++"r6 c #545559",
++"s6 c #525356",
++"t6 c #4E4F52",
++"u6 c #4B4C4F",
++"v6 c #49494C",
++"w6 c #464548",
++"x6 c #373739",
++"y6 c #333335",
++"z6 c #2F2F31",
++"A6 c #2B2B2D",
++"B6 c #272729",
++"C6 c #9D411D",
++"D6 c #9D4420",
++"E6 c #994625",
++"F6 c #965C45",
++"G6 c #A47D6D",
++"H6 c #7A412A",
++"I6 c #44291E",
++"J6 c #A5B7A5",
++"K6 c #3B863B",
++"L6 c #3C853C",
++"M6 c #418141",
++"N6 c #578457",
++"O6 c #9FAC9E",
++"P6 c #889188",
++"Q6 c #4D624D",
++"R6 c #334833",
++"S6 c #2A3C2A",
++"T6 c #263324",
++"U6 c #212A21",
++"V6 c #1E241E",
++"W6 c #1E211E",
++"X6 c #1E201E",
++"Y6 c #282829",
++"Z6 c #2B2B2C",
++"`6 c #2E2F30",
++" 7 c #313233",
++".7 c #353537",
++"+7 c #37373A",
++"@7 c #393A3C",
++"#7 c #3D3F41",
++"$7 c #404244",
++"%7 c #424447",
++"&7 c #434548",
++"*7 c #414346",
++"=7 c #3E4043",
++"-7 c #3B3D40",
++";7 c #393A3D",
++">7 c #36373A",
++",7 c #343437",
++"'7 c #313133",
++")7 c #2E2E30",
++"!7 c #2A2A2C",
++"~7 c #272829",
++"{7 c #232325",
++"]7 c #222224",
++"^7 c #202022",
++"/7 c #1F1F20",
++"(7 c #6B6B6B",
++"_7 c #AD745D",
++":7 c #9F401B",
++"<7 c #9E421D",
++"[7 c #974727",
++"}7 c #9F6E5A",
++"|7 c #9D715F",
++"17 c #6E351E",
++"27 c #321D15",
++"37 c #398639",
++"47 c #368336",
++"57 c #3C843C",
++"67 c #508850",
++"77 c #92AE92",
++"87 c #E8E9E8",
++"97 c #C7D0C7",
++"07 c #839D83",
++"a7 c #577E56",
++"b7 c #477247",
++"c7 c #416B41",
++"d7 c #3E653E",
++"e7 c #3C5F3C",
++"f7 c #395B39",
++"g7 c #385738",
++"h7 c #375337",
++"i7 c #354E35",
++"j7 c #334933",
++"k7 c #324434",
++"l7 c #314033",
++"m7 c #323F33",
++"n7 c #333D36",
++"o7 c #343840",
++"p7 c #373944",
++"q7 c #363943",
++"r7 c #363841",
++"s7 c #383B44",
++"t7 c #3B3D46",
++"u7 c #3C3F48",
++"v7 c #3C4048",
++"w7 c #393E46",
++"x7 c #373942",
++"y7 c #33373F",
++"z7 c #32353A",
++"A7 c #313237",
++"B7 c #2D2D2E",
++"C7 c #2E2E2F",
++"D7 c #303031",
++"E7 c #535355",
++"F7 c #606161",
++"G7 c #A65433",
++"H7 c #9F401A",
++"I7 c #9D3F1B",
++"J7 c #95492C",
++"K7 c #AD8778",
++"L7 c #93604C",
++"M7 c #602B17",
++"N7 c #21130D",
++"O7 c #3E883E",
++"P7 c #2D802D",
++"Q7 c #328032",
++"R7 c #438343",
++"S7 c #7B9E7B",
++"T7 c #DAE0DA",
++"U7 c #D8DED9",
++"V7 c #93AC93",
++"W7 c #678E67",
++"X7 c #4E7D4E",
++"Y7 c #477947",
++"Z7 c #467846",
++"`7 c #457545",
++" 8 c #437344",
++".8 c #457445",
++"+8 c #477547",
++"@8 c #487548",
++"#8 c #497449",
++"$8 c #497249",
++"%8 c #4A704A",
++"&8 c #496F4A",
++"*8 c #4B6D4E",
++"=8 c #536077",
++"-8 c #525A7C",
++";8 c #535B7C",
++">8 c #535B7B",
++",8 c #505877",
++"'8 c #4E5676",
++")8 c #4B5374",
++"!8 c #484F6F",
++"~8 c #454C67",
++"{8 c #41475C",
++"]8 c #3F414D",
++"^8 c #3B3C3D",
++"/8 c #7B7B7B",
++"(8 c #A3411A",
++"_8 c #A14019",
++":8 c #9C401D",
++"<8 c #97543A",
++"[8 c #B7988B",
++"}8 c #864931",
++"|8 c #4C200F",
++"18 c #130B07",
++"28 c #488C48",
++"38 c #217A21",
++"48 c #287C28",
++"58 c #367E36",
++"68 c #6A956A",
++"78 c #CDD7CD",
++"88 c #EBECEB",
++"98 c #9AB29A",
++"08 c #648C64",
++"a8 c #4D7D4D",
++"b8 c #417541",
++"c8 c #3D713D",
++"d8 c #3F733F",
++"e8 c #3F713F",
++"f8 c #3F723F",
++"g8 c #457745",
++"h8 c #497A49",
++"i8 c #497B49",
++"j8 c #4B7C4B",
++"k8 c #4D7E4D",
++"l8 c #4E7F4E",
++"m8 c #518055",
++"n8 c #5F7190",
++"o8 c #636E9E",
++"p8 c #626D9C",
++"q8 c #616D9C",
++"r8 c #5C6998",
++"s8 c #5A6595",
++"t8 c #546091",
++"u8 c #505B8B",
++"v8 c #4C567F",
++"w8 c #4A5071",
++"x8 c #464B5F",
++"y8 c #434448",
++"z8 c #737372",
++"A8 c #B9826E",
++"B8 c #A4411A",
++"C8 c #A2401B",
++"D8 c #994322",
++"E8 c #A16D59",
++"F8 c #B08C7D",
++"G8 c #76361C",
++"H8 c #38180A",
++"I8 c #0A0503",
++"J8 c #488B48",
++"K8 c #187518",
++"L8 c #1D761D",
++"M8 c #2A782A",
++"N8 c #568B56",
++"O8 c #BECEBE",
++"P8 c #F3F4F3",
++"Q8 c #B0C3B0",
++"R8 c #3D733D",
++"S8 c #386F38",
++"T8 c #346B34",
++"U8 c #366D36",
++"V8 c #376E37",
++"W8 c #396F39",
++"X8 c #437643",
++"Y8 c #417641",
++"Z8 c #437843",
++"`8 c #467946",
++" 9 c #497750",
++".9 c #576A8A",
++"+9 c #5A6698",
++"@9 c #596598",
++"#9 c #576497",
++"$9 c #525F93",
++"%9 c #4E5B8F",
++"&9 c #4C588C",
++"*9 c #495381",
++"=9 c #444D71",
++"-9 c #42485E",
++";9 c #3E4048",
++">9 c #AB5533",
++",9 c #A6421B",
++"'9 c #A0421D",
++")9 c #974D2F",
++"!9 c #B79587",
++"~9 c #A07260",
++"{9 c #692B13",
++"]9 c #2D1207",
++"^9 c #060201",
++"/9 c #0C0706",
++"(9 c #4A884A",
++"_9 c #147114",
++":9 c #177117",
++"<9 c #237423",
++"[9 c #4D864D",
++"}9 c #B3C6B3",
++"|9 c #C0CFC0",
++"19 c #709670",
++"29 c #467A46",
++"39 c #346E34",
++"49 c #2D682D",
++"59 c #2E682E",
++"69 c #2B662B",
++"79 c #2D672D",
++"89 c #326B32",
++"99 c #376F37",
++"09 c #3B713B",
++"a9 c #3C723C",
++"b9 c #3E743E",
++"c9 c #41704F",
++"d9 c #4B5D89",
++"e9 c #4E5B93",
++"f9 c #4B588F",
++"g9 c #49568E",
++"h9 c #46538B",
++"i9 c #424E83",
++"j9 c #404B7B",
++"k9 c #3C466E",
++"l9 c #393F57",
++"m9 c #363842",
++"n9 c #A6421A",
++"o9 c #9D4321",
++"p9 c #9E634B",
++"q9 c #CCB6AE",
++"r9 c #8D553E",
++"s9 c #5C2510",
++"t9 c #281006",
++"u9 c #0C0502",
++"v9 c #040302",
++"w9 c #0D0603",
++"x9 c #36251F",
++"y9 c #4F864F",
++"z9 c #136D13",
++"A9 c #156F15",
++"B9 c #227122",
++"C9 c #498349",
++"D9 c #ACC2AC",
++"E9 c #F8F9F8",
++"F9 c #CED9CE",
++"G9 c #779B77",
++"H9 c #437943",
++"I9 c #2F6B2F",
++"J9 c #266426",
++"K9 c #226122",
++"L9 c #276427",
++"M9 c #246124",
++"N9 c #2B672B",
++"O9 c #2B682B",
++"P9 c #306B30",
++"Q9 c #38654D",
++"R9 c #405087",
++"S9 c #404E8A",
++"T9 c #3D4B88",
++"U9 c #3A4782",
++"V9 c #37457E",
++"W9 c #354176",
++"X9 c #323B63",
++"Y9 c #2F364F",
++"Z9 c #2B2E39",
++"`9 c #B46B4E",
++" 0 c #A8431C",
++".0 c #A4431D",
++"+0 c #9A4A2B",
++"@0 c #B59082",
++"#0 c #CDB8B0",
++"$0 c #804128",
++"%0 c #56220E",
++"&0 c #1C0B04",
++"*0 c #1B0B04",
++"=0 c #2F1307",
++"-0 c #4A814A",
++";0 c #186C18",
++">0 c #1B6E1B",
++",0 c #297429",
++"'0 c #4E874E",
++")0 c #A8BFA8",
++"!0 c #F8FAF8",
++"~0 c #D7E0D7",
++"{0 c #83A483",
++"]0 c #417841",
++"^0 c #276627",
++"/0 c #216121",
++"(0 c #1E5E1E",
++"_0 c #1C5C1C",
++":0 c #206020",
++"<0 c #1F601F",
++"[0 c #256425",
++"}0 c #266526",
++"|0 c #286528",
++"10 c #256325",
++"20 c #2C574D",
++"30 c #354585",
++"40 c #314080",
++"50 c #2F3E7D",
++"60 c #2D3A77",
++"70 c #2A376D",
++"80 c #27315D",
++"90 c #252B49",
++"00 c #21242D",
++"a0 c #A9431B",
++"b0 c #A7431B",
++"c0 c #A14420",
++"d0 c #9D5D44",
++"e0 c #D9C9C2",
++"f0 c #B69588",
++"g0 c #7A381E",
++"h0 c #55210D",
++"i0 c #371609",
++"j0 c #301308",
++"k0 c #3A1709",
++"l0 c #5F4034",
++"m0 c #427C42",
++"n0 c #236F23",
++"o0 c #267226",
++"p0 c #377937",
++"q0 c #619161",
++"r0 c #AEC4AE",
++"s0 c #EFF3EF",
++"t0 c #C8D6C8",
++"u0 c #81A381",
++"v0 c #447944",
++"w0 c #276527",
++"x0 c #1C5D1C",
++"y0 c #195C19",
++"z0 c #195B19",
++"A0 c #165916",
++"B0 c #1A5C1A",
++"C0 c #1A5B1A",
++"D0 c #1D5E1D",
++"E0 c #1B5A1D",
++"F0 c #224654",
++"G0 c #26367B",
++"H0 c #243274",
++"I0 c #202F6C",
++"J0 c #1F2C63",
++"K0 c #1C2550",
++"L0 c #191F39",
++"M0 c #151821",
++"N0 c #B66B4D",
++"O0 c #AA441C",
++"P0 c #A6431D",
++"Q0 c #9C4A2A",
++"R0 c #B28A7A",
++"S0 c #EAE2DE",
++"T0 c #A27664",
++"U0 c #76341A",
++"V0 c #59230F",
++"W0 c #481C0C",
++"X0 c #4B1D0C",
++"Y0 c #5E2914",
++"Z0 c #3B763B",
++"`0 c #2D732D",
++" a c #387938",
++".a c #7BA27B",
++"+a c #C5D5C5",
++"@a c #F4F7F4",
++"#a c #CDDACD",
++"$a c #749A74",
++"%a c #457B45",
++"&a c #2C692C",
++"*a c #1C5F1C",
++"=a c #145814",
++"-a c #155915",
++";a c #115611",
++">a c #105410",
++",a c #115511",
++"'a c #124E20",
++")a c #1B3460",
++"!a c #1A2866",
++"~a c #172458",
++"{a c #131E47",
++"]a c #10162E",
++"^a c #0D0E13",
++"/a c #AA441B",
++"(a c #A9441C",
++"_a c #A2451F",
++":a c #9E5F46",
++"<a c #E1D4CF",
++"[a c #95614D",
++"}a c #753319",
++"|a c #612610",
++"1a c #5F2610",
++"2a c #672911",
++"3a c #2B6D2B",
++"4a c #347534",
++"5a c #468046",
++"6a c #629262",
++"7a c #95B395",
++"8a c #CCDACC",
++"9a c #E0E8E0",
++"0a c #C0D1C0",
++"aa c #80A380",
++"ba c #407740",
++"ca c #2A692A",
++"da c #145914",
++"ea c #125712",
++"fa c #105510",
++"ga c #0C510C",
++"ha c #0D520D",
++"ia c #0A4E0A",
++"ja c #0E3E2D",
++"ka c #142662",
++"la c #13215D",
++"ma c #101C4F",
++"na c #0D1537",
++"oa c #0A0E22",
++"pa c #06070B",
++"qa c #B15732",
++"ra c #AB451C",
++"sa c #A7441D",
++"ta c #B69081",
++"ua c #F3EEEC",
++"va c #C3A99F",
++"wa c #8E553E",
++"xa c #78351C",
++"ya c #6D2D14",
++"za c #702E14",
++"Aa c #81523F",
++"Ba c #216521",
++"Ca c #347334",
++"Da c #598A59",
++"Ea c #82A582",
++"Fa c #AAC1AA",
++"Ga c #CCD9CC",
++"Ha c #9EB89E",
++"Ia c #709870",
++"Ja c #467B46",
++"Ka c #266626",
++"La c #1A5E1A",
++"Ma c #0F550F",
++"Na c #0B510B",
++"Oa c #0A500A",
++"Pa c #084C08",
++"Qa c #064B06",
++"Ra c #054508",
++"Sa c #0B2C3D",
++"Ta c #0E1B52",
++"Ua c #0B1640",
++"Va c #08102F",
++"Wa c #BE8065",
++"Xa c #AD451C",
++"Ya c #A24622",
++"Za c #A0644D",
++"`a c #DFD1CC",
++" b c #EFE8E6",
++".b c #AF8B7D",
++"+b c #8A4F38",
++"@b c #7B381F",
++"#b c #753219",
++"$b c #7E442C",
++"%b c #537251",
++"&b c #1C611C",
++"*b c #377337",
++"=b c #5C8B5C",
++"-b c #A2BBA2",
++";b c #BECFBE",
++">b c #ADC3AD",
++",b c #799E79",
++"'b c #508250",
++")b c #387238",
++"!b c #236423",
++"~b c #155A15",
++"{b c #094F09",
++"]b c #054805",
++"^b c #014101",
++"/b c #043118",
++"(b c #0A193F",
++"_b c #AB441C",
++":b c #A54520",
++"<b c #9C5234",
++"[b c #C0A094",
++"}b c #F8F5F4",
++"|b c #D6C5BE",
++"1b c #A07362",
++"2b c #874931",
++"3b c #7D3B21",
++"4b c #7D4026",
++"5b c #385A35",
++"6b c #1E611E",
++"7b c #316E31",
++"8b c #4C804C",
++"9b c #699369",
++"0b c #88A988",
++"ab c #82A482",
++"bb c #618E61",
++"cb c #3B743B",
++"db c #1D5F1D",
++"eb c #135813",
++"fb c #0C520C",
++"gb c #054905",
++"hb c #034503",
++"ib c #013C01",
++"jb c #013207",
++"kb c #071C29",
++"lb c #B1522C",
++"mb c #AC451C",
++"nb c #A8451E",
++"ob c #9E4A28",
++"pb c #AB7C69",
++"qb c #EBE3E0",
++"rb c #B7978A",
++"sb c #935E49",
++"tb c #83452D",
++"ub c #80422B",
++"vb c #345424",
++"wb c #1D601D",
++"xb c #286828",
++"yb c #3D763D",
++"zb c #4E814E",
++"Ab c #548554",
++"Bb c #638F63",
++"Cb c #4B7F4B",
++"Db c #336F33",
++"Eb c #084D08",
++"Fb c #023F02",
++"Gb c #013901",
++"Hb c #002E00",
++"Ib c #031A13",
++"Jb c #050B1C",
++"Kb c #B55C37",
++"Lb c #AE451D",
++"Mb c #A04723",
++"Nb c #A1654E",
++"Ob c #DBCBC4",
++"Pb c #F5F1F0",
++"Qb c #CAB4AB",
++"Rb c #894D36",
++"Sb c #7E422A",
++"Tb c #34541D",
++"Ub c #185C18",
++"Vb c #346F34",
++"Wb c #367136",
++"Xb c #326E32",
++"Yb c #316D31",
++"Zb c #236323",
++"`b c #074C07",
++" c c #044604",
++".c c #013B01",
++"+c c #003000",
++"@c c #002400",
++"#c c #011608",
++"$c c #02070C",
++"%c c #B96847",
++"&c c #AE461D",
++"*c c #A34622",
++"=c c #9F5A40",
++"-c c #CBB2A9",
++";c c #FBFAF9",
++">c c #D5C3BC",
++",c c #A98171",
++"'c c #905842",
++")c c #7E442A",
++"!c c #315219",
++"~c c #1E601E",
++"{c c #175B17",
++"]c c #0D530D",
++"^c c #024102",
++"/c c #013A01",
++"(c c #003200",
++"_c c #002700",
++":c c #001C00",
++"<c c #000C03",
++"[c c #000101",
++"}c c #BC7257",
++"|c c #AC451D",
++"1c c #A44520",
++"2c c #9D5539",
++"3c c #BB998C",
++"4c c #F9F7F6",
++"5c c #E5DAD6",
++"6c c #B49184",
++"7c c #97634F",
++"8c c #7A4A2E",
++"9c c #265316",
++"0c c #003100",
++"ac c #001E00",
++"bc c #001100",
++"cc c #000300",
++"dc c #B9684A",
++"ec c #AE451C",
++"fc c #A64620",
++"gc c #9D5133",
++"hc c #BA9688",
++"ic c #F4F0EE",
++"jc c #F0EAE8",
++"kc c #705230",
++"lc c #1E5514",
++"mc c #034303",
++"nc c #001D00",
++"oc c #001000",
++"pc c #000500",
++"qc c #B55D3A",
++"rc c #A5451F",
++"sc c #B58D7E",
++"tc c #BFA398",
++"uc c #915C46",
++"vc c #555428",
++"wc c #145813",
++"xc c #024202",
++"yc c #013D01",
++"zc c #013701",
++"Ac c #002D00",
++"Bc c #000400",
++"Cc c #9E5234",
++"Dc c #B89486",
++"Ec c #BB9D91",
++"Fc c #855F44",
++"Gc c #305319",
++"Hc c #074D07",
++"Ic c #013801",
++"Jc c #002C00",
++"Kc c #002200",
++"Lc c #001600",
++"Mc c #000B00",
++"Nc c #000100",
++"Oc c #AE4820",
++"Pc c #A24621",
++"Qc c #9E5539",
++"Rc c #C1A296",
++"Sc c #FDFCFB",
++"Tc c #DED1CC",
++"Uc c #A37B6A",
++"Vc c #56572B",
++"Wc c #0E500C",
++"Xc c #044704",
++"Yc c #024002",
++"Zc c #001A00",
++"`c c #001200",
++" d c #000700",
++".d c #B05B3D",
++"+d c #AC441B",
++"@d c #AD451D",
++"#d c #A9451D",
++"$d c #A04926",
++"%d c #A26952",
++"&d c #D8C7C1",
++"*d c #BFA498",
++"=d c #6E5F3B",
++"-d c #194F0E",
++";d c #003600",
++">d c #002900",
++",d c #001400",
++"'d c #9C6D6D",
++")d c #AB441B",
++"!d c #A4451F",
++"~d c #FAF8F8",
++"{d c #D8C9C2",
++"]d c #786242",
++"^d c #204A0E",
++"/d c #002B00",
++"(d c #000E00",
++"_d c #78556E",
++":d c #9C4228",
++"<d c #AA431B",
++"[d c #A9441B",
++"}d c #A5441E",
++"|d c #9D4C2C",
++"1d c #AE8170",
++"2d c #F7F3F2",
++"3d c #D9CAC4",
++"4d c #6E5D3A",
++"5d c #194508",
++"6d c #000A00",
++"7d c #5563AD",
++"8d c #5E3E65",
++"9d c #9C4025",
++"0d c #A7421B",
++"ad c #A2441E",
++"bd c #9B5133",
++"cd c #BB998B",
++"dd c #FEFDFD",
++"ed c #B8A295",
++"fd c #444918",
++"gd c #0A3802",
++"hd c #000800",
++"id c #4358AF",
++"jd c #3E3B88",
++"kd c #703E56",
++"ld c #9F4325",
++"md c #A6431C",
++"nd c #9B4E30",
++"od c #AB7D6A",
++"pd c #D6C9C2",
++"qd c #5F582F",
++"rd c #193D06",
++"sd c #002000",
++"td c #000900",
++"ud c #755568",
++"vd c #904A39",
++"wd c #9E4B2A",
++"xd c #9E5538",
++"yd c #A7725E",
++"zd c #D0BBB3",
++"Ad c #BEAFA2",
++"Bd c #515022",
++"Cd c #163604",
++"Dd c #000600",
++"Ed c #9E705C",
++"Fd c #96573E",
++"Gd c #904729",
++"Hd c #894127",
++"Id c #713C37",
++"Jd c #494413",
++"Kd c #243C07",
++"Ld c #062A01",
++"Md c #4C4047",
++"Nd c #161A45",
++"Od c #010D05",
++" . + ",
++" @ # $ % & * = ",
++" - ; > , ' ) ! ~ { ] ^ / ( ",
++" _ : < [ } | 1 2 3 4 5 6 { 7 8 9 0 a ",
++" b ) c d e f g h i j k l m 4 n o p 7 q 9 r s t ",
++" u v w x y y z A B C D E F G H ! I n o { 7 u r J K L M ",
++" N O P Q R R S T U V W X Y Z ` ...+.4 @.#.$.8 9 J %.%.&.*. ",
++" =.-.-.;.>.,.R T '.).!.~.{.].^./.(._.:.n <.7 9 [.J %.}.|.1. ",
++" 2.2.2.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.~ i.7 9 J j.}.k.l.m. ",
++" 2.2.2.n.4.5.o.p.q.r.s.t.u.u.v.w.x.y.z.A.B.i.7 J %.}.C.D.E.F. ",
++" 2.2.-.G.H.I.o.J.K.L.!.M.N.O.P.Q.R.S.T.U.A.i.] r %.}.C.V.W.X. ",
++" 2.-.n.Y.Z.Q `. +.+++ at +#+$+%+&+*+=+-+;+>+,+'+)+9 j.!+D.V.~+{+ ",
++" ;.3.Y.H.5.]+^+'..+/+(+_+:+<+O.[+}+|+1+2+3+o 4+5+K !+6+7+8+9+0+ ",
++" a+b+4.c+S T U d+e+f+g+h+:+i+j+&+k+l+m+n+o+p+)+5+K !+7+z q+r+s+ ",
++" t+Y.H.u+v+w+7.x+x y+z+A+B+C+D+$+E+F+G+H+I+J+K+L+M+N+C.w 8+O+P+Q+ ",
++" R+H.S+T+P ^+U+.+V+f+g+W+X+Y+Y+Z+M.E+`+ @. at +@@@7 5+j.D.).#@y $@%@ ",
++" &@H.*@R =@-@;@d+>@9.z+,@'@)@)@Y+X+h+E+G+!@~@{@]@7 ^@!+w 8+O+8./@ ",
++" (@u+T+]+_@:@<@[@}@|@1 at A+2@2@)@Y+C+Z+3 at 4@5@~@6 at 7@8 at K !+z #@9 at 0@a@ ",
++" b at I.v+=@_@:@K.~+c@|@g+d at e@2 at 2@)@B+f at Y+C+4@g at h@i at j@q k at C.).9 at 0@l at m@ ",
++" n at R Q P o at U <@p at y+q@g+d@, at e@2 at e@r@)@Y+'@s at t@g at u@v at w@x at y@7+z at A@q.B at C@ ",
++" D@]+E at F@U G at H@y+I at g+d@, at e@r at r@2 at e@r at e@J at _+K@'@L at M@N at O@D.x A at q.P@Q@ ",
++" R at 6.S@^+;@K.z T at I@g+U at d@e at r@r at U@U at r@r at 2@, at s@4 at V@W at X@r !+).8.l at x+Y@Z@ ",
++" `@P #.#+#d+7+@#I@##$#d at U@U at U@U at U@U at e@r at 2@X+f at K@%#&#*#%.=#y -#P@;#># ",
++" ,#'#- at 7.U+)#7+c@|@g+, at g+U@U at U@U at U@r at U@e at e@r at f@#+'@!#~#{#e+#@-#x+;#]# ",
++" ^#_@/#:@P at 9@(#_#:#d at d@r at U@U at U@U at U@<#U@<#U at e@2@'@[#}#|#1#2#q+A at G@3# +4# ",
++" 5#F at 6#7#x+#@8#9#:#g+d at r@r at U@U at U@U at U@<#r at e@e at e@,@#+t at 0#a#}.=#9 at G@'.7#b# ",
++" c#^+7. +q.=#d#W |@g+e at r@<#U at U@<#<#U at r@g+g+U at r@2 at A+,@[#e#f#e+9 at G@'.U g# ",
++" h#p.7#P at 8.w i#W [#, at g+<#r at U@j#<#U@<#$#U at g+r@e at e@B+3 at k#l#m#D.y <@+#U n# ",
++" o#:@+#<@z at p#_#s.d at d@r at r@<#j#U at U@<#U at g+U@U at U@g+e at 2@A+q#r#a#C.s#<@t#u#v# w#x#y# ",
++" z#7#A#A@=#B#C#:#g+d at U@j#j#U at U@<#<#$#U@<#<#U at d@d at e@X+_+}#D#E#F#G at G#7..#H# I#J#K#L#M#N#O# ",
++" 7#'.G at 9@D.f#e#:#, at r@<#U at r@U at j#<#U at g+$#U at d@d at e@2@)@B+s at P#D#Q#s#G@;@7.^+R# S#K#T#U#V#W#X#Y#Z# ",
++" `#'.P@ $8+}.a#s.'@d at U@r at U@<#j#U at U@<#$#U at d@d at d@d at e@e at e@d at .$C#!+z at G@;@.#F at +$ @$#$$$%$&$*$=$Z#-$;$>$>$",
++" ,$P@'$O+)$x@!$.$d at d@U at j#j#j#U at U@U at U@g+d at U@U at U@U at d@e at e@'@q#9#8#x P@:@~${$]$ ^$y#/$%$&$*$($_$:$<$>$[$[$[$ ",
++" }$q.8.=#j.|$r#q#d at r@U at U@U at r@U at U@U at U@d at U@g+U at U@1$d at e@)@B+g+##2$9 at 3#J.F@`.3$ 4$5$6$%$7$8$9$_$:$0$a$b$c$c$b$<$_$ ",
++" <@0 at 8+!+M+d$e$f at 2@r at U@U at U@<#U at U@U at r@g+d at d@d at d@1$d at B+)@'@q#W (#)#3#7._ at w+ f$g$h$i$j$k$l$m$-$a$[$c$c$[$a$n$o$p$ ",
++" q$r$r$s$s$s$t$u$r$r$r$r$u$u$u$v$v$u$w$x$x$y$z$y$ A$ $y 7+%.B$!#'@A+r at U@<#j#j#U at U@<#<#$#d at d@d at d@d at 1$, at J@)@B+g+W 6+A at t#/#o.C$D$E$F$G$H$I$J$K$:$a$[$L$c$[$a$l$M$N$ ",
++" O$u$u$w$u$x$P$Q$R$S$T$U$V$W$W$W$W$W$U$X$X$Y$S$Z$Z$`$ %.%.%z$.%.% %`$+%Y$ @%y ).k.*##%'@#+2 at r@<#<#U at r@U at j#<#r@, at e@g+U at d@A+W+$%Y+)@'@q#9#%%&%*%=%-%;%>%,%'%)%!%~%l${%c$c$a$]%K$^%/% ",
++" z$(%_%y$:%<%V$[%}%|%1%2%3%4%5%6%7%7%8%8%6%6%6%5%9%0%a%b%c%d%e%|%}%}%f%V$V$W$U$U$X$U$[%g%g%[% h%O+8+C.i%j%k%K at A+r@U at U@U at U@<#j#U at e@r at d@d at g+1$, at W+W+W+J@)@l%m%n%o%p%q%r%s%t%t%u%v%w%x%=$b$:$9$y%z%A% ",
++" B%.%Y$X$[%}%C%a%D%E%F%G%H%I%J%K%L%M%N%O%P%P%P%P%O%O%M%M%M%M%Q%R%R%H%G%S%T%8%U%V%W%X%e%|%|%Y%}%}%}%}%}%Z%`% &x 6+K N at .&g@#+2 at r@<#<#U at U@<#U at e@U at g+d@d at d@1$d at d@+&@&#&$&%&&&*&=&-&t%;&>&,&'&)&!&~&N${&]&^& ",
++" +%/&W$[%(&e%9%_&S%:&<&Q%M%[&}&|&1&2&3&4&4&5&5&6&7&7&6&6&6&6&6&8&9&0&4&4&3&3&a&b&c&}&d&e&f&R%H%G%T%_&5%a%c%1%1%1%g&d%h&i&d% x 7+}.5+7@!@j&Y+e at U@r at r@U@<#U at e@U at U@d at d@d at U@k&l&m&n&o&p&q&r&s&t&u&v&w&x&y&z&A&B&C&~%D& ",
++" W$U$U$}%d%U%E&:&R%M%O%}&F&G&3&H&6&I&J&K&K&L&M&N&O&P&P&P&P&P&P&P&P&P&Q&Q&R&M&S&R&M&L&T&K&U&J&I&6&5&4&3&V&c&[&f&W&X&Y&Z&`& *9%a%9%9%.*5%+* @*#*l.$*M@%*0.C+)@e at r@<#<#<#<#r at U@U at d@&***=*-*;*>*,*'*)*!*~*{*]*^*/*(*_*:*<*[*}* ",
++" |*W$1*1%4%E&X&2*f&}&1&2&4&5&3*4*K&L&N&P&5*6*6*7*8*9*0*0*a*a*a*a*a*b*b*b*b*b*a*a*c*c*c*c*d*d*e*f*6*5*5*5*Q&R&S&g*4*4*h*5&4&1&d&O%Q%<&i*E&E%j*j*k*l*m*n*o*p*q*r*s*t*u*r@<#@+<#<#<#r at v*$#w*x*y*z*A*B*C*t%D*E*F*G*H*I*J*K*L*M*n.N*O* ",
++" P*f%Y%a%T%G%2*Q*c&1&2&0&6&J&T&R&Q&R*5*S*d*c*b*T*U*U*V*W*W*X*X*Y*Y*Z*Z*`*`*`*`*`*`*`*`*`*`*`*`*Y*W*V*V* = = =U*T*.=+=@=9*S*6*6*P&N&M&L&4*8&#=V&$=%=&=<&:&*===-=;=>=,='=)=!=~={=<#U at U@]=^=/=(=_=:='*<=[=}=|=1=2=3=4=5=6=7=8=9=0=a=b=c=d= ",
++" Y%|%9%T%:&R%d&1&3&5&I&e=f=g=P&6*9*0*a*b*h= =W*W*X*Z*i=Z*`*j=k=k=k=k=l=l=m=m=m=n=o=p=p=p=q=r=r=r=r=q=q=s=r=r=q=q=p=t=u=u=k=v=`*Y*W* = =h=a*@=8*w=O&f=K&I&5&3&x=$=y=z=A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=P=u%Q=R=S=T=U=V=W=X=Y=Z=`=A at U+ -6.R c+ ",
++" .-+-9%E&H%Q%}&a&4&6&K&M&P&R*7*d*b*@-#-W*X*Y*`*`*k=k=k=k=$-m=m=m=m=m=m=m=q=r=r=r=%-%-&-*-=-----;-;-;->-,-'-)-!-!-!-!-!-~-~-~-~-~-'->-{---{-&-s=p=u=]-^-W* =h=c*d*R*Q&f=/-h*(-x=_-:-<-[-}-|-1-2-3-4-5-6-7-8-9-0-a-b-c-d-e-f-g-h-i-j-V + #a=u+k- ",
++" 1%l-E%2*f&c&2&8&J&T&R&5*7*d*T*U*W*Y*m-n-o-m=n=r=&-%-%-&-&-&-&-&-&-&-&-&-*-p-q-q-q-;-,-r-!-s-t-u-u-v-v-w-x-y-z-A-A-B-B-C-D-D-E-E-E-E-B-B-F-F-G-y-y-H-w-u-~-~-;-I-s=p=]-J-K-b* =*-F-L-v-M-N-O-P-O=Q-R-S-T-U-V-W-X-Y-Z-`- ;.;+;Z+Y+2@<#++'$6#6.I.@; ",
++" #;U%$;%=c&V&h*g*%;Q&R*9*&;U**;Z*=;k=m=s=&-&-{-{-{--;;;;;>->->->->->->-;---I->;p=l=]-Z*,;X*V*V*'; =J-Z*v=v=k=]-);`*!;r=~;{;>-'-v-];z-B-B-D-^;/;(;_;_;:;:;:;<;^;[;};A-y-w-x-|;(;1;2;z-3;4;5;6;7;8;9;0;H*a;J*_*W=b;c;d;e;f;g;X+h+h;Z+)@J at q@).i; #v+S+j; ",
++" .*9%Z&R%k;x=5&K&O&l;m;n;o;K-X*l=u=q=I---;->-'-'-'-~-~-~-~-~-~-~->-{-&-r=m=k=i=p;';';';q;r;s;t;u;v;w;x;t;y;z;';';A;M-M-q;';';B;C;C;j=!;I-{;{-'-v-y-B-D-D;<;(;E;F;F;G;F;F;H;I;J;K;I;s-L;M;N;O;P;Q;R;S;T;U;V;W;X;Y;Z;2.2.`; >.>+>@>#>$>%>&>*>d@=>)#6#]+c+->;> ",
++" _&7%H%d&|&3&J&N&P&7*b*h=>>]-l=q=--q-,>'>u-t-u-u-)>v-v-!>H-u-t-~->-~;v=~>{>u;]>^>{>/>(>_>:><>[>}>|>1>2>2>1>1>1>1>3>3>1>1>3>3>2>4>}>[>5>6>7>8>8>9>0>(>i=v=o=a>b>E-L-c>d>e>f>g>h>i>j>k>l>P;5-m>n>o>p>q>r>s>t>c-u>2.2.2.2.2.v>Z;w>x>y>z>A>B>C>D>E>F>G>H>T R H.Y. ",
++" I>Z&2*b&a&5&S&J>S*c*h=W*`*m=&->->-'-u-H-x-x-y-y-y-K>y-y-y-x-t-I-L>M-M>^>/>N>O>}>|>1>P>Q>Q>P>P>Q>Q>Q>Q>Q>Q>Q>Q>Q>R>R>R>R>R>R>R>R>R>S>T>T>T>U>U>T>R>Q>P>P>1>4>O>a>{;7>6>V>W>X>E-Y>Z>`>5- ,.,+,@,#,!&$,%,X-b;&,2.2.2.2.2.2.&,b;*,=,-,u=+=+=;,>,,,',),!,~,{,],^,Y./, ",
++" T%F%&=(,2&I&Q&S*0*U*X*Z*k=&->-t-w-w-G-G-B-B-B-B-E-E-D-_,B->-W*t;^>:,<,4>3>Q>Q>R>T>T>T>T>T>T>T>T>T>U>U>U>U>U>U>U>U>U>[,[,[,[,[,[,[,[,[,},},},},},},},},},|,|,},},|,1,2,g>3,Y*N-4,5,6,7,8,9,9-}*0,a,_*b,c,Z;2.2.2.2.2.2.&,d,e,=,f,g,|;h,u-,-r=l=^-*;i,j,k,l,m,n,o,>. ",
++" p,G%M%3&(-q,R*8*+=V*j=l=q=;-s-];G-B-D-D;r,D;D;D;<;<;/;D;~;{>q;(>O>s,Q>R>U>U>[,[,[,[,[,[,},[,[,[,[,},},},},},},t,t,t,|,|,|,|,|,u,u,u,u,u,v,v,v,u,v,w,v,v,v,v,x,y,z,A,B,C,Y>D,E,F,G,H,I,J,U-K,L,s>M,N,Y;&,2.2.2.2.2.2.c,O,P,Q,R,S,T,U,V,1;F;W,:;D;y-!-q-X,Y,Z,`, '.'+'@' ",
++" H%M%3&6&K&7*d*b*J-u=p=*-!-H-y-F-E-D;L-#'<;<;<;:;(;<;$'`*B;8>4>Q>U>},|,t,|,},},},},%'%'%'|,|,|,|,|,&'&'&'&'&'v,v,v,v,v,v,w,w,x,x,x,x,x,x,*'*'*'*'*'*'*'*'='-';'>'f,,''')'!'Q-6-~'{']'^'/'a,('X-_':'<'X-['}'|'1'2'b;X-P,3'4'5'6'7'7'8'g>9'f>K;0'a'b'F;c'/;_,w-,-&->-z-g,d'd' ",
++" e'M%3&I&K&6*b*h=Y*m=%-q-u-y-B-_,^;/;f'f'g,g,g,(;g'D;h'v=8>}>i'&'*'x,w,w,w,w,w,w,w,w,w,*'*'*'*'*'*'*'*'j'j'j'j'j'j'j'j'j'j'='='='='='='='='='k'k'='k'l'm'n'o'X>}>p'q'r'm>s't'u'v'w'x'y'z'A'B'C'D'_*t>E'F'G'C'H't>I'J'K'L'L'L'M'L'M'N'O'P'Q'5'R'S'T'U'V'W'X'Y'H;(;^;G-u-d',--;Z'~- ",
++" 2*Q%a&J&f=R*h= =Y*r={-`'x-A-D-D;/;(;c'c'c' )-,.)W,|;;-+)@)i'#)j'*'j'j'j'j'j'j'j'j'j'j'='='='='='='='='k'k'k'k'k'k'k'k'k'k'k'l'l'l'l'l'l'l'l'l'$)%)-'&)*)=)[,7>-);)>)m>,)9;'))))&!)~){)])t>^)/)J*()$,_)W;W;E':)W;a-&'<)3,[)})|)1)2)3)4)4)5)|)6)L'O'7)8)5'9)0)a)b)c)f,d)-,/;_,e))>'>)>y-F- ",
++" J%V&4*g=w=T*J-^-s={-~-x-D-D;<;:;W,E;E;H;F;F;H;F;D;;-f)g)w,l'k'k'k'k'k'k'k'k'k'l'l'l'l'l'l'l'l'$)$)$)$)$)$)$)$)$)$)%)%)%)%)%)%)%)%)%)h)h)h)h)i)j)k)n'l)m)n)o)Q=p)7,q)r)s)t)u)v)w)x)A'y)B'z)r>!)j)!)A)_*W;W;G':)E'a-j)j'B)3>C)D)M'E)F)F)F)F)G)E)E)2)H)6)I)4'J)8)K)7'L)M)N)f,I;O)/;_,y-y-F-|;P) ",
++" Q)R)J&S)l;o;Z*]-F$,-s-z-[;<;:;W,G;H;1;1;1;1;1;1;(;'-O>U>l'$)$)$)$)$)%)%)%)%)%)%)%)%)%)%)%)h)h)h)%)h)h)h)h)i)i)i)i)i)i)i)i)i)i)j)j)j)i)j)k)k)T)!)n'9'U)V)W)X)Y)Z)`)') !.!!)L,+!@!t><':)#!$!!)!)%!%!y'&!F'A'A'G':)F'$,()()%!$)*!1>U>4'=!-!-!@'@'-!-!;!=!>!G),!5)|)L'N'J)'!6')!!!~!{!b'g,|;_,]!]!^!/! ",
++" d&d&6&N&5*c*Z*u=s=s-t-y-|;f'g,g'F;d)I;Y'Y'Y'(!(!G;b>4>w,h)h)h)h)h)h)h)i)i)i)i)i)i)i)i)i)i)j)j)j)j)j)j)j)j)k)k)k)k)k)k)k)k)k)k)k)!)!)!)!)_!:!<!*)[!}!|!Q=s'{*.,1!2!3!4!n'K'5!A'6!['7!r>()8!()()()()()a,9!0!F'F'W;E'9!r>L,L,$!y'L,%)Q>3,n'a!b!c!c!c!c!d!c!e!f!@'g!h!E)4)i!I)N'8)5'6'g>j!T,b'k!P)P)^;/;l!",
++" }&3&N&5*e*W*l=q=~-w-z-[;:;c'-,H;b'Y'm!J;J;J;J;(!V>n!*'i)j)j)j)j)k)k)k)k)k)k)k)k)k)!)!)!)!)!)!)!)!)!)%!%!%!%!%!%!%!%!%!8!8!8!8!8!8!8!L,o!p!q!1>p',&>)Y)r!s!t!H*u!v!w!x!y!z!A!t>B!C!$!$!$!$!$!$!$!y'y'#!/)0!0!F'E'W;{)C!C!C!C!C!C!C!L,|,R>z,-!D!E!E!F!G!G!G!F!H!I!f!@'g!E)4)i!=,J!z,z,7'V'K!a'L!^;/;_;c'",
++" |&M!L&w=d*W*m=s=,-x-x-D;_;-,G;N!Y'{!f,T,X'X'K;O!d>V>%'j)%!!)!)!)%!8!8!8!8!%!%!%!%!%!8!()()()8!8!8!8!8!()()L,L,()()()()()L,L,L,$!$!P!3'Q!t,R!S!T!>)6-U!V!W!X!Y!Z!;'`!A'O,6=/)#!w)r>C!C!C!C!C!C!C!C!r>$,&! ~F'A'A'W;0!A)w)$,w)w)$,$,w)$,$!U>[,<!.~.~+~P,+~+~+~+~+~D!@~c!#~-!=!$~%~<!A,P'&~S'*~b){!c'_;c'-,",
++" x==~6*8*h=m={-q-H--~|;:;E;2;b'U,f,X'c);~;~~!f>T,i>R>i)8!()()()()()()()()()L,L,L,L,L,L,L,L,L,$!$!$!$!$!$!$!$!$!y'y'y'y'y'C!r>$,I'>~,~V>'~)~!~X)v&~~t!{~3=T=%)]~^~:)C'E'/)x)J*$,$,$,$,$,$,$,w)w)w)w)w)A)7!0!F'F'W;G'/)A)a,a,a,a,J*J*J*J*a-='U>/~(~(~(~_~(~(~(~_~:~<~D!E![~d!-!}~$~|~<!J!N'1~2~3~W'G;g,-,F;",
++" (,4~g=c*b*]-*-,-u-_,|;:;E;1;V,a'X'c)~!f>f>V'S,!!u,5~j'L,$!$!$!y'y'y'y'y'y'y'y'y'C!C!C!C!C!C!C!C!C!r>r>r>r>r>r>r>r>r>$,$,w)5!6~/~u,8>7~8~9~0~a~~&v'b~c~d~e~`!f~G'B':)/)x)J*a,a,a,J*J*J*J*J*J*J*a-a-a-a-&!D'0!F'W;E'W;9!A)A)A)A)A)A)#!#!#!J*k'X>>!g~h~:~i~i~j~j~j~j~h~k~D![~d!f!}~G)l~|)m~m~n~T'3~X'F;-,O)O)",
++" 4&h*d*T*J-s=,-u-A-D;<;E;1;(!o~K;N)f>!!h>U'U'3~U'[)|,w!C!r>C!r>r>r>r>r>r>r>r>r>$,$,$,$,$,$,$,$,$,w)w)w)w)w)w)w)w)a,p~q~5!o!=)r~s~t~u~q)v~w~x~y~z~A~k)B~+!@!:)H'B'_*C~J*a-a-A)A)A)A)A)A)A)A)A)#!#!#!#!x)/)0!F'W;E'^)W;9!x)x)x)x)x){)&!{)D~]~l'<!E~F~j~G~i~i~j~j~j~j~(~+~D![~H~@'}~,!5)I~m~J~K~3~N)V,L~O)M~~!",
++" 6&N~h=U*u=,-u-H-O~f'g'N!(!o~T,j!P~U'a)a)g>)!)!)!X>Q~R~$,w)w)w)a,a,a,a,a,a,a,a,a,J*J*J*J*J*J*J*J*J*a-a-a-a-a-S~A)q~T~U~V~W~X~C&Y~Z~`~ {.{+{u!j)@{e~5!V=z!X;B'z)#!A)#!x)x)x)x){){){){){){){){){)&!&!&!@!F'A'W;E'^)^)W;z)z)z)z)z)z)z)z)#!w);'>~G!i~j~j~j~i~i~j~j~j~#{+~${[~f!%{&{,!*{I~J)={S'3~c)b'-{L~J;T'=!",
++" 0&3*M>';L>&-t-H-A-/;(;H;V,O!T,;~S,3~T')!)!)!0)0)0))!$)()a,J*a,J*a-a-a-a-a-a-a-J*a-A)A)A)A)A)A)A)a-A)#!#!#!#!A)a-I';';{>{,{'{){!{~{{{]{^'y&w!v!;'^{C'/{W=F'{){){){)&!&!&!&!{)&!z)z)z)z)z)z)z)&!z)9!9!9!/)A'W;E'^)^)^)W;9!/)/)/)/)9!9!x)I'({P!_~g~j~j~j~j~j~j~j~:~(~+~${#~-!}~>!H)I)N'={7'3~c)U,F;L~_{:{5)h~<{",
++" [{e=a*W*v=s-x-G-D;c>}{|{o~~!j!!!g>T'L)7'R,9)R'R'9)9)-'1{a-A)A)#!#!#!#!#!#!#!#!#!x)x)x)x)x)x)x)x)x){){){)x)a-3'2{3{4{5{6{7{8{9{^*0{a{v!b{2{]~0!b,:'y)D'z)z)z)9!9!9!9!9!9!9!9!/)/)/)/)/)/)/)/)/)/)_*_*_*F'E':)^)B'B'B'E'F'F'F'F'F'9!a-I'c{E!h~h~h~j~j~j~j~h~:~+~d{E!c!@'}~|~H)|)N'={K~2~c)U,2;-,b'M)*{h~e{f{g{",
++" J&h{g=J-^-l=5>G-D-(;E;E;J;[!i{!!g>8'R,9)j{j{K)K)K)K)Q';'()J*x){){){){){){)&!&!&!&!&!&!&!&!&!z)z)z)z)z)%,^{/~k{l{m{n{t'o{p{q{x&r{l'T=r{-'s{X-b,t{^)F'_*_*_*_*_*_*_*_*_*F'F'F'F'F'F'F'F'F'W;W;W;W;W;W;W;E'^)^)B'6=6=6=6=^)E'E'W;/)x)p~5!H!(~h~#{#{:~#{#{:~<~+~E!d!-!g!>!|~u{=,v{'!7'w{c)V,F;-,x{y{E)F~z{<{f{A{ ",
++" T&T&w=]-]-*-z-_,^;-,H;b'X'i{!!W>8'R,R'K)B{B{8)8)8)8)>'Q!x!a,{)9!9!z)z)z)z)9!9!/)9!9!9!9!9!/)/)_*C{%,D{B,E{F{G{H{v~I{S-J{K{u!r{[,1,L{0!['X;z!B'E'W;F'W;M{W;W;W;W;W;W;W;E'^)E'E'E'E'E'E'E'^)^)^)^)^)^)^)B'6=6=H'H'H'z!H'6=^)N{{)F!H!D!P,(~(~#{#{<~<~<~.~G!E!d!@'c{O{H)Q,A,P'6'P{K!{!2;c'c'{!})=!Q{R{S{T{U{ ",
++" L&S&d*m=u=r-]!|;_;2;b'U,c)b)3~D)0)j{})z,>'8)V{J!V{V{O'Q!W{P!A)z)/)_*_*_*_*_*F'F'F'F'F'W;W;E'_*E~U~t,X{Y{Z{!~`{ ].]+]@]#]T>Y!@{q~^)W=['t{H'B'^)^)^)^)B'B'B'B'B'B'B'B'B'B'6=6=6=6=6=6=6=6=6=H'H'H'H'H'H'H'H'H't{t{t{z!B'F'_)$]E~D!%]&](~<~*]*]*].~G!E!c!-!=!F)=]<!=,J)5'7'w{-];]L!/;.)j!O'I!>],]']T{U{ ",
++" L&N&b*r=r=$'[;D;c'b'V,{!N)P~a))!9)})'!&~V{J)J!J!O'O'A,4'4'6)D{s{z)F'W;W;W;W;E'E'^)^)B')]!]^{~]E{F{1!{]]]^]/](]_]U-#]:]d~J'@!t>W=<]A!z!6=6=6=6=6=6=6=6=H'H'H'H'H'H'H'H'H'z!z!z!z!z!z!z!z!z!t{t{t{t{t{t{t{W=W=t{z![]A'_)_~+~D!+~+~&]*]<~.~D!G!}]d!f!;!F)|~i!I)*)'!9)3~c)|]O)1]k!x{3~|)G!>]z{<{2]3] ",
++" S)P&h=&-~;w-V>L-g';]U,X'!!3~)!0)j{B{&~J)4]J)O'N'N'A,M'5]M'I~H)6]H!z)F'^)B'B'H'H'B'W;f~o!|,_>7]8]9]`~w~0]a]b]T=c]d]2,]~y!y)[*e]X;z!H'z!z!z!z!z!z!z!z!t{t{t{t{t{t{t{t{t{t{W=W=W=W=W=W=W=W=W=X;X;X;A!A!X;X;t{H'^)A'e,_~D!f]%]+~+~.~f]D!G!@~c!f!@'h!E)4)Q,J!z,6'g>V'{!M~g]h]O)i]7'2)+~j]e{<{k]l]w>m] ",
++" m;n]*;{-*-x-<;f'.)Y'{!K;!!T'0)6'5'8)J)J)N'N'4'L'=,M'I)6)6)Q,u{H)$~o]p]F'C'C'B'q]s{n'1>s~r]s]`{t]u]v]w]^'}*='1,x]o!0!/{Y;/{X;t{W=W=W=W=X;X;X;X;X;X;X;X;A!A!A!A!A!A!A!A!A!A!<]<]<]<]<]<]<]<]c-c-c-<]y]z]H'E'A]B]P,D!D!D!f]f]C]${@~[~#~-!g!}~E)3)I)O'&~D])!S,T,b'-,g]g]E]K!P';!Q{F]G]H]I]J]w>&,2.2. ",
++" K]l;*;,-q-x-:;(;E;(!L]c)U'8'R'K)B{V{O'O'4'M'L'6)6)Q,6)i!i!u{H)3)M],!$~3'N]2{O]r~}!P]Q]R]S]T]U]V]W]l'$)Y!t,X]s{X;Y;b;N,Y]X;A!<]<]<]<]<]<]<]<]<]c-c-c-c-c-c-c-c-c-/{/{/{/{/{/{/{/{/{Z]`]/{/{ ^c-A!O,.^+^@^<~D!#^D!d{d{d{E!d!#~$^a!%^F)E)&^I)O'8)5'8'P~T,d).)_;h]g](!S'&^.~*^R{=^-^;^>^,^'^)^2.2.2. ",
++";~*-m;K-,-,-H-(;W,E;(!!^c)U'R,K)B{8)J)O'4'L'Q,Q,u{i!i!i!>~|~3)=]|~3)N'{!z;~^{^]^^^/^(^`~_^v]:^<^[^x,P>U>N]E'}^<*|^/{c-c-c-c-c-/{/{/{/{/{/{/{/{/{Z]Z]Z]Z]Z]Z]Z]Z]Z][*[*[*[*[*[*[*[*[*e]d,c-1^2^R{q]i~<~f]${${${d{E!3^d!#~$^;!g!h!,!4)6)O'8)K)8'!!;~Y'F;4^D;^!L~V'4'5^6^7^8^9^0^a^b^c^d^A@=@-.2.2.2. ",
++" G-+=K-,-u-y-_;e^H;(!N)N)P~7'6'5'f^J)M'I)6)u{u{i!4)=]=]4)2)1)6]A,E-|!g^h^i^L#j^k^l^m^n^T=k)r{}>|>b{B!N,c,o^[*[*[*[*[*[*[*[*[*|^|^|^|^|^|^|^|^|^o^o^o^o^o^o^o^o^o^o^o^o^|^|^Z]/{y]t{y)F]p^q^<~f]${${${E!E!d!d!c!f!f!;!=!F)2)5)I)N'&~K)8'P~c)V,E;/;_,r^/;{!={=!i~*^s^t^u^v^w^x^y^z^Z+A^0@]+-.2.2.2. ",
++" d>i=c**-w-H-/;F;2;Y'c)V'P~7'6''!&~J)M'I)|)u{4)H)H)2)>!}~2)[!B^C^D^E^x#F^G^*$H^m$I^J^K^Q>}>Q>N]t>N,e]L^o^o^M^N^o^o^o^N^<*<*<*<*<*<*<*<*<*<*<*<*N^N^N^o^b;O^P^d,c-y]T{Q^F]R^S^T^B]<~.~D!D!E![~E!E![~[~d!I!f!-!@'}~>!2)i!L'O'8)5'y{P~c)V,-,<;A-t-h,2;L)2)+~6^p^U^V^W^X^Y^Z^`^ /./<+C+A^0 at 6.)^2.2.2. ",
++" 8't-7*n-w-x-D-E;b'+/X'V'P~8'6''!J~J)@/I)|)5)4)E);!F)9)#/$/%/&/*/=/-/;/>/_$-$a$,/'/)/8>2{q~!/~/{/]/{/y]b,3]A{^/:)//t>Q^(/(/(/_/z]:/</[/}/(/}/X-|/C't>//U^p^1/Q{2/g~h~<~*].~G!G![~[~E![~[~[~d!d!@~#~-!a!%^>!>!2)u{L'O''!6'8'!!L];]-,^;H-,-s-[;{!8);!(~6^3/4/5/6/7/8/9/0/a/b/c/~.%+C+A^0 at 6.-.2.2.2. ",
++" ,!V,o;*;r-G-d/g];]e/a'~!h>U'R,B{&~N'M'I)|)2)F)J!i>f/~^g/h/J#i/j/k/H^m$l/a$m/<$n/o/p/q/R^r/s/r/<{S{S{G]F]q]B].~H!d!E!G!D!D!D!+~_~h~t/(~P,P,P,P,+~.~.~E~D!d{E!3^3^@~@~[~[~[~[~[~[~[~E!d!d!d!I!$^@'g!F)1)3)6)L'O''!R'T'V'L]e/W,P)u-q-*-u-c'V'4'I!F~+^u/v/w/x/y/z/A/O.~.~.~.B/B/~.%+C+C/D/]+2.2.2.2. ",
++" :~P'!-+=p=H-d/P)O)e/a'e>!!U'8'=)8)O'4'I)|)O'$'$/E/F/G/H/^%j$I/J/K/;$a$L/M/H^N/O/P/Q/R/2]_/G]e{G]S/U^T/U/H!f!@'-!-!-!-!$^$^$^V/f!I!I!#~#~#~d!d!W/d!@~E!E!E!@~@~3^[~@~[~[~[~[~[~d!#~I!f!-!;!}~G)$~H)|)M'J)B{R'g>V'O!;]L!|;t-I-u=*-y-2;8'H)D!6^q]f~X/Y/Z/`/ (z^.(%+~.~.~.~.B/B/~.%+C++(q.@(2.2.2.2. ",
++" f!S,]-J-q-A-_,/;2;U,{!~!U'T'#(5'&~O'L'4''-4,$(%(&(M$8$*(m$0$a$a$<$=(-(;(>(Z>,('(+^Q^,]t>F])(q]g~.~c!f!f!f!f!I!5^c!c!c!c!d!d!d!d!d![~[~[~E!E!3^3^E!E!E!E!@~[~[~[~[~[~[~d!!(f!-!;!g!}~E)3)u{I)A,P'5'7'a)f>O!b'L!]!r-p=]-Z*I-F-{!P'-!g~~(@^F!]~{($&](Z+C+:+.(^(a//(~.~.((_(:(~.%+C+<([(S 2.2.2.2. ",
++" T/g!F;]-]-u-_,^;c'b'{!{!N)3~T'R,})P'4'B,}(|(&(1(*(Z#-$;$>$a$M/2(3(4(5(6(7(>~R^8(//R^)(+^@^+~d!-!-!f!f!f!I!5^5^c!c!c!d!d!d![~[~d!d!d![~[~E!3^[~[~[~[~[~[~[~[~[~[~d!#~I!-!;!}~>!$~4)i!L'J!8)K)7'3~N){!1;_;d/r-n=J-o;U*--g,)!$~(~~(6^h~5^<!d~9(0(a(Z+C+C+:+.(%+a/X ~.~.:(_(((~.%+C+<(x+v+2.2.2.2. ",
++" b(|)^;^-p=w-D-c(c'b'X'X'N)U')!#(5'B{1;d(e(f(W#2(K/>$<$g(&(N/h/h(F{V~@^)(+^+^+^q]@^&]d!-!-!-!-!-!-!o]o]I!I!I!I!I!I!I!I!c!c!c!c!c!c!c![~[~[~[~[~[~[~[~[~[~d!#~I!-!i(j(F)k(3)|)M'J)'!6'L)U'~!{!F;/;_,'>n=T*w=w=T*v-;~H)+~q^~(_~o]p!v!r{U>l(m(0(n(o(C+C+:+.(%+%+%+~.((_(:(((p(%+C+q(;#r(2.2.2.2. ",
++" s(h~4'f't(u=s-E-h]c'1;{!c)N)P~)!9)9)N!u(@$v(y%w(x(n/y(A%z(A(5><!P,@^q^6^q^g~(~E!I!-!;!;!@'@'@'@'-!-!-!-!f!f!f!f!f!I!I!c!c!c!c!c!c!#~c!c!c!c!d!d!c!#~I!f!-!;!B(F),!3)i!M'P''!7'T'V'c)U,O)k!C(!-]-e*M&K&S*s-T,=,@~g~q^&];!;'D(E(F(S>E(E(G(m(H(I(J(C+M.K(L(a/a/b/M(N(O(P(O(p(^(Y+Q('.c+2.2.2.2. ",
++" ~(b(5)H;n=m--;F-/;c'.)U,c)N)V'3~0)h>R(E^%(-(S(T(U(V(W(i>A,@'.~_~_~_~+~E!X(@'g!g!g!g!g!@'@'@'@'@'@'@'@'-!-!f!f!f!f!f!f!#~#~#~#~#~I!I!f!f!f!-!-!@'g!=!F)G)3)5)6)A,J!z,7'8'!!X'V,-,/;d/Y(W*5*J&J&S*;-Y'P'g!(~g~.~6]=)[,1>Z(Z(9(`( _E(E(G(m(._+_ at _C+:+N.L(L(a/p(M(#_P(O(O(b/N.)@$_H>H.2.2.2. ",
++" 1/%_&_f>x-n-n=)>D-(;O)1;J;K;j!P~U'z-*_=_-_;_*_>_,_V{F)-!c!c!I!i(j(F)F)>!>!}~}~}~'_=!g!)_)_)_;!;!;!;!;!@'@'@'!_!_!_@'$^o]-!@'a!;!;!g!=!=!h!G),!3)i!|)L'N'P'})7'T'S,X'b'-,<;A--;#-N&h*I&6*{-H;j{>!.~h~@~<!a)~_[>{_]_^_/_(___`(W]E(E(K{K^._+_:_M.$+.(.(^(a//(~.((O(O(((/(N.2@<_7.[_2.2.2. ",
++" }_6^D!V{M~~-$-*-e)]!:;E;1;C)J;K;c)D-M-|_V*d)'!i!=]=]4)4)H)i!6)6)6)u{i!4)|~2)1_$~E)>!>!>!>!F)2_F)F)F)}~'_}~}~}~}~}~}~}~F)>!E)1)2)|~4)5)|)L'M'N'&~3_6'8'3~j!{!b'-,k!r^-;4_N&3*J&6*p=(;)!2)+~h~f!'([!V>7>5_6_n)7_8_{_/_(___`(S>E(E(G(m(._9_0_:+$+$+.(%+a/X ((O(O(P(#_p(.(r at a_/#b_2.2.2. ",
++" +^3/%_F)R,g]!-n=%-!-y-|;k!W,c_I;~!d_!!R,B{5'K)K)~]K)K)B{})z,P'V{*)O'4'=,L'Q,6)6)i!i!i!i!i!4)4)4)4)|~|~4)4)4)4)&^i!u{|)6)I)I~4'N'J)&~'!6'7'L)3~N)X'e_2;-,^!e)s=@-f_J&I&Q&Z*L-U'|~.~<~@'*)k{5>B;g_h_i_j_k_l_5_m_{_/_(_n_o_p_q_G(n_r_s_t_u_$+$+K(L(a/a/b/N(v_N(N(N(b/$+g+z at _@)^2.2.2. ",
++" p^p^p^g~E)8':;H-,-q--;,>u-y-_,<;O)1;(!O!K;[!w_[!K;~!!!a))!0)R,9)R'K)})})z,8)P'V{J)J)O'O'O'N'N'4'm~N'O'O'N'J)J)J~8)'!'!5'6'9)0)T'3~V'c){!|]E]c'P)y--;n- at -f_x_I&K&S*'-[!H).~.~g!7)d)y_z_7]A_A_B_C_X~4{D_l_5_m_{_E_F_(_+{+{G_+]{_H_I_J_K_L_$+N.L(a/c/B/N(v_N(N(N(a/:+<#M_P 2.2.2.2. ",
++" 3/+^p^q^g!&~N)O)_,u-q-q-q-~-)>y-};[;<;:;(;W,F;1;(!J;O!K;;~N)f>!!U'3~3~g>T'8'8'L)L)L)L)R,R,R,L)L)L)L)L)T'T'3~P~P~V'N)T,{!U,V,2;-,/;_,)>-;$-#-e*S)N_8&4*6*~-J;=,@~<~@'z,3>j>O_p,P_)~Q_R_S_T_U_X~4{D_l_5_8_V_W_X_Y_8_@,H_Z_`_ :.:+:@:M.:+.(^(a/c/B/N(O(P(O(N(L(C+C/#:v+2.2.2.2. ",
++" R^}_p^$:>]q^D!E)&~P~b'L-y-u-q-*-q-,-'-s-];y-_,L-f'g,g'.)G;N!N!d)Y'U,U,f,f,f,X'X'X'X'X'X'X'X'X'{!{!{!U,V,b'b'F;-,_;^;|;A-H-q-p=^-b*5*U&%:3&5&Q&Z*L-a)H)@~+~5^A,G;&:*:8~=:-:;:P_5{>:R_S_T_U_X~,:':2=):l_!:D_k_,:~:{:]:^:^:/:(:_:::M.$+.(%+a/a/p(N(N(N(v_#_.()@<:t#*@2.2.2.2. ",
++" p^[:p^1/6^q^h~+~f!H)z,P~U,c'_,u-q-q-*-*-q-q-;-'-u-H-z-z-F-_,_,E-^;L-L-/;/;/;/;/;/;/;^;^;^;|;_,A-y-!>'>,-*-$->>b*}:g=h*4~a&4&J&S*s=c'!!L'-!<~:~f!P'V>|:1:2:3:4:5:6:7:8:P_5{>:R_S_9:0:{:a:b:~:a:c:d:e:f:w%g:h:h:i:w%j:k:l:m::+K(N.a/a/b/M(N(b.n:b.p($+2@$_7.->2.2.2.2. ",
++" +^+^+^p^1/6^q^g~h~D!f!}~5)&~o:X'd)-,/;_,H-!-*-p=p=p=u=u=u=u=p=p=p=p=p=u=u=u=]-J-J-*;b*d*}:N&K&J&I&5&5&6&6&K&m;^-!-f'T,'!3)f!:~T/<~>~f,l=p:q:r:s:'*s:t:4:u:6:7:8:P_5{>:v:f:B_7]9:B_f:w:P/x:y:z:Q]A:B:C:D:E:F:w%G:H:I:$+J:N.a/c/B/K:n:b.b.n:B/L_e at L:o at 3.2.2.2. ",
++" )(+^+^q]q]1/6^T/F~:~f]E![~f!>!5)6)A,'!R,!!J;W,^;_,u-*-n=m=j=^-W*K-b*d*7*d*c*+=T*L>X*]-q=M:N:f'Y'h>j{N'$~d!g~6^i~O:&~P:X*G&B*Q:R:=&S:T:l>U:'*t:3:u:6:7:8:P_1!E:t~h:P/V:Q_W:X:Y:Z:Z{`: <.<+<@<#<$<%<&<I,*<H:=<K(N.L(a/c/B/N(b.n:b.N(c/:+U at z@o.2.2.2.2. ",
++" p^~(q^g~E!(~q^>]$:p^1/6^T/g~#{D!I!F)4)i!-<Q'=)B,;<W>!!><f>f>f>><9'y,0)B{J!6),!g!H!*],<<~D!#~H)y,(;R!T&'<)<r:!<~<{<]<r&~<^<T:/<R:'*t:3:u:6:(<_<:<B:<<q'[<}<|<u~u:1<2<3<4<V(5<n>6<7<8<C&9<&</]0<a<b<J:N.L(a/B/c<n:b.b.n:K:a/C+d<G at I.2.2.2.2. ",
++" 0!L{B,9'e<Q'K'u{$~=!f<g<<~g~F~q^F~g~h~B]h~_~(~<~P,(~(~P,E~P,P,G!${g!2)M'})a)(!E-R!|:h<i<j<k<l<3-m<n<o<p<q<r<{<s<t<u<v</<R:w<t:x<5:6:y<|<z<Z:Z>A<1<B<C<D<>)E<F<G<H<2<V(T! <~'I<J<$<K<L<M<N<O<$+.(^(a/B/M(K:n:b.N(M(L()@Q(P<->2.2.2.2. ",
++" N,Q<2{R<X{7_5_S<7>^_O>n!|>1>m)d>5~N!N!J;t,k{Y'5~P:Q>#'O>$'<>8>p;r;T<-)U<V<}(v$W<X<q<Y<Z<`<`<`< [.[o<p<q<+[3-{<s<t<u<v</<R:'*t:r%V(u:@[u:#[$[D<%[&[5(!'5(*[=[-[;[>[9~V({] <,[~~'[i:)[#]![~[{[K(L(a/c/B/M(b.][n:K:p(.(r@[@F at 3.2.2.2. ",
++" 2'&,O,^[/[([_[I,o)&<9<B::<7<n{q&:[Z:>%<[[[-:6:5:#['*}[`>|[C*1[2[3[4[5[~%6[7[8[t%9[0[a['%b[c[d[-&e[f[m<q<+[3-{<s<t<u<v</<R:$[w<3<g[h[=&i[j[k[l[m[n[m[o[D^p[q[Z)>)>[r[V({]s[t[r)u[r_v[e]v>w[L N.x[c/y[c<z[][C n:z[y[$+$#M_P 2.2.2.2. ",
++" 2'1'2'Y;*,2,J,^:A_E:<<A[+<n>R]t:%/G<B[&[p[C[m[D[E[F[G[~*~*t%H[I[G[9[9[s&a[a[J[J['%Z<b[~%c[c[d[-&e[f[m<q<+[3-{<s<t<u<v<K[L[M[4,N[N=!')/O[P[U(}=4[Q[5-R[S[T[*[U[T:>[r[V[T!n{%<v'}*W[X[1'Z;Y[Z[N.a/c/y[u.K:n:b.b.`[L(C+C/#:I.2.2.2.2. ",
++" 1'1'c,|'b;N,D'A~ }I,W:A[+<.}+}#[g[C<>)@}#}$}%}O/2[;&&}*}9[9[9[=}-};};}a[a[a[J[J['%Z<b[~%c[c[d[-&e[f[m<q<+[3-{<s<>}5;}[T:>),}'})}!}}=9[~}4(4(E^{}U(O=R[]}^}/}N=N[>[r[V([<([:]7!N,(}_}c;:}<}[}N.a/c/c/B/b.][n:b.M(K()@Q(}}Y.2.2.2.2. ",
++" 1'1'c,|'b;|}R/_/@^l)8>u[X:1}2}3}4}C<>)@}#}$}%}O/2[;&&}*}9[9[9[=}-};};}a[a[a[J[J['%Z<b[~%c[c[d[-&e[f[m<q<+[3-{<s<@}5}6}j[r&7}.[;}8}I#9}J#0}8}o/a}}=O=R[]}^}5(b}i[V(Q_c}d}f~y)6!e}(}_}c;:}f}g}L(c/y[y[c<][C n:n:u.L_r@[@S at 2.2.2.2. ",
++" 1'1'c,|'b;|}h}3]r/F]_~i}s,4{j}k}H<;[B[j[5($}%}O/2[;&&}*}9[9[9[=}-};};}a[a[a[J[J['%Z<b[~%c[c[d[-&e[f[m<q<+[3-r&{<l},%;_m}-&n}o}p}H/F^j^q}r}s}4(t}u}v}5-n[w}{^|<x}y}z}A}B}X-['b,N,P^Y;c;:}C}D}a.y[y[_(z[n:C ][c<c/M.d<E}R 2.2.2.2. ",
++" &,1'c,|'b;|}F}3]r/G}<'Q^7!H}9'^_P]q'V[B[I}S[R[5-)*;&&}*}9[9[9[=}-};};}a[a[a[J[J['%Z<b[~%c[c[d[-&e[o<p<q<J}+[K}J}L}6;M}H[i$5$N}O}P}T(N}Q}R}I#8}o/-_F,B[u~p/S}T}U}V}W}t>y)M,<'b,N,[*Y;c;&,X}Y}x[c/y[c<z[z[Z}Z}_(L(Y+Q( +4.2.2.2.2. ",
++" &,c;c,|'b;|}F}3]r/T{_/T{<'_/F]`}J'T>0> |.|+|B[D^@|#|$|~*t%t%H[I[-};};}a[a[a[J[J['%Z<b[~%c[%|&|*|e[o<=|p<O[-|;|>|#|,|J$'|%$)|!|M$;/!|-/M#r}a}~|i[u~R_{|3>~]i(_)B}B}B}//]|y)<'b,N,|}Y;2'&,^|/|a/c/_(z[z[z[][b.c/K(e at a_S@2.2.2.2.2. ",
++" &,c;c,|'b;|}F}3]r/T{_/_/X-Q^]|]|z{p^(|N]k{7>h__|:|L[<| ,)*5[#|=}G[t%t%H[[|=}0[}|#|J[`<'%b[||c[ [*|-&4-d[b[[|1|l^6$V#2|3|3|&(&$V#=/4|>|5|4,6|p:n)r~z}j(B]7|_)7!D'S^W}//]|y)<'b,N,|}8|2'&,9|0|a/B/c<z[z[z[n:K:a/M.q at G@r(2.2.2.2. ",
++" 6!&,c;c,|'b;|}F}3]r/T{_/O,X-Q^F]//+^~(B]E~E!I!=]K)a|a>b|_|(<c|d|e|f|p<=|;|.[-&g|E[4[h| [ [h|5[c[c[c[b[;}i|j|k|p}'|l|z%m|k^n|E^@|r<o|>%p/t;z-T,z,U~|~p|o]q|<~r|_)s|S^W}//]|y)<'b,N,|}8|2't|u|v|c/c<z[z[z[z[z[c<L()@w|p.Y.2.2.2.2. ",
++" e]Z;2'w>|'b;|}F}x|r/<'O,O,X-Q^F]//+^e,_~H!i(E)i!/~>'R';<9'o~#'y|a*z|,*A|B|C|r:s:!<^<D|E|`>!'F|D^=_s%G|<=-&P[<=R[D^H|4,I|J|K|L|M|j=5>E-r~d)T,S,N|O|Q,P|o]F!P,r|_)~(q]W}//]|y)<'b,N,|}8|Q|R|8=S|T|z[z[z[z[z[z[_(K(r at a_w+2.2.2.2.2. ",
++" |'Z;2'w>|'U|e]N,x|r/<'O,O,X-Q^F]//+^e,_~H!i(E)i!Q!Q';<W>[!;{V|W|<;D-x-6>}!(>X|Y|Z|`|a: 1.1+1 at 1#1$1%1&1&1*1=1-1;1>1,1'1)1B^{|!1~1}!{1z-f'G;m!S,0)O|Q,P|o]F!P,B]7|D'0!A':)C'y)<'b,N,|}8|]1c,^1/1(1z[z[z[z[z[c<c/M.C/G at c+2.2.2.2. ",
++" c;1'2'w>|'U|l]R/x|r/<'O,_/}/Q^t>//+^e,_~H!i(E)({T)Q'_1Q~K;(!d>c>#':1b><>:>V_X{X|Y|<1[1}1|111213131415161-1w:f:71819101a1B^{|!1~1}!{1z-f'G;m!S,0)O|Q,P|o]E~_~B]7|D'N{A':)C'y)<'b,N,|}b;|}|'b1c1d1z[z[z[z[z[_(N.e at L:~$;.2.2.2.2. ",
++" 1'w>c,w>|'U|l]R/x|r/<'O,_/}/Q^]|//+^e,_~H!i(3'<!*)~]y,9'e1(!3,f1D;G-$'M:}!~1!1s~g1h1i1j1w:k1l1m1n1o1p1q1r1s1t1u1819101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]E~_~v1e,D'A'B}:)C'y)<'b,N,l]e]:'P^w1x1y1z[z[z[z[z[y[:+ at +z1T+2.2.2.2. ",
++" 1'P^|'w>|'U|l]R/x|r/<'O,_/X-C']|F]+^e,_~H!j(3'6)*)=)y,A1B1C1W,D1G-t-{-R!j>s;E1F1G1H1t1r1I1J1K1L1M1m1N1O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]E~_~v1e,q]R^B}:)C'y)<'b,N,d,e}P1b,2'Q1R1z[z[z[z[c<L()@w|7.b+2.2.2.2. ",
++" c;N,P^|'|'U|l]R/x|r/<'T{_/}/Q^]|:)0!e,P,q~I'=]/~w!B,9'[!a|E;<;S1T1&-]-';t;3;U1V1W1X1Y1Z1N1`1 2 2.2+2 at 2#2%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]E~t/@^e,q]G'B}:)Q^}/<'b,N,F}b,S{~/w>$2%2z[z[z[z[y[:+<#)#=@2.2.2.2.2. ",
++" w>['N,Y;Y;U|l]R/b,r/<'T{_/y)]|F]G'D'@^E~^{6]<!Q!~]y,[!;{H;:;B-t-~;`*T*M-3;&2x}*2f:w:61p1=2-2;2>2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]E~_~@^e,q]G'B}'2Q^y)<'b,R/R/['C't>_})2!2z[z[z[c<L()@Q(7#,.2.2.2.2. ",
++" P^X-6!e]Y;b;l]R/b,r/<'T{_/y)]|F]R^~(B]F!i(3'W{>'B,9'e>1;c>D-w-{-k=~2v;{2b|]2^2j1/2Y1&1(2_2:2;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]E~B]@^s|0!G'G''2Q^}/<'b,[2]/_/G'0!P^}2|2z[1222_(K(U at z@w+2.2.2.2.2. ",
++" d,:)O,F}b;b;l]R/b,r/<'<'O,}/]|:)R^~(_~F!j(=]/~B{;<[);{Q>#'S1<,~;`*h=M-32h_4252>162-1728292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]E~B]e,s|W}//!/t>y)X-['b,:'b,y)0!@^N,02a212b222a.M.<:c2^,2.2.2.2. ",
++" 6!A'C'3]b;b;e]R/3]r/<'A{T{}/C't>G'~(P,H!I'=]/~B{8'f>(!3,V>G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]E~B]e,~(+^:):)S/y)X-['b,[2]/t>7!P,A{e2f2g2h2y[$+U at s#w+2.2.2.2.2. ",
++" w>y)_)t>6!P^b;e]R/3]r/['r/T{}/C't>G'~(P,H!I'=]/~B{8'f>(!3,V>G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]E~B]7!D'A':)'2S/y)X-['b,N,:'t>_)s{C'i2j2k2`[L(Y+Q(t#H.2.2.2.2. ",
++" Y;G'@!:)['P^b;e]R/3]6!['r/T{}/Q^t>G'~(P,H!I'=]/~B{8'f>(!3,V>G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]E~v1s|D'A':)S/S/y)X-['b,e}R/:)@!5!A'l2m2n2y[L_U at z@w+2.2.2.2.2. ",
++" e]7!f~A'6!b;b;e]N,3]b,6!x|<'X-}/]|G'~(P,H!I'=]/~B{8'f>(!3,V>G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]E~@^s|0!A':)C'C'^/_/['b,e}R/:)y!`!_)b;o2p2L()@Q(t#4.2.2.2.2. ",
++" :'B!B!0!6!b;Y;e]N,:'b,6!x|A{X-}/C'G'~(P,H!I'=]/~B{8'f>(!3,V>G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]E~@^D'W}G')]y)C'}/_/[']/e}N,t>B!I'(|d,q2r2:+<#s#6.2.2.2.2.2. ",
++" ['5!s{D'b,Y;Y;e]N,:'b,6!x|A{O,X-C'G'~(P,H!I'=]/~B{8'f>(!3,V>G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]E~@^s2+^G'.^^/x>X-O,t2]/e}e}x>B!c{`!['u2v2)@r.}}G.2.2.2.2. ",
++" X-L{q~7!N,|'Y;e]F}:'b,b,b,r/<'_/Q^G'~(P,H!I'=]/~B{8'f>(!3,V>G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]E~@^q]R^//]|}/^/O,<'t2]/F}F}O,B!c{o!X-w2x2 at +q.R 2.2.2.2.2. ",
++" Y;t>L{q~7!N,|'Y;|}h}R/b,:'b,6!<'O,y)G'~(P,H!I'=]/~B{8'f>(!3,V>G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]E~7|W}!/:)C'X-X-O,<'r/]/F}l]['B!I'N]G'o,y2z2{$-.2.2.2.2. ",
++" F}e,]~^{D'd,|'b;e]d,N,:'N,b,6!<'O,y)G'~(P,H!I'=]/~B{8'f>(!3,V>G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]E~@^W}U^F]C'X-O,O,<'6!:'d,A2b,f~I'N]@!B2_ at G#^,2.2.2.2.2. ",
++" :'s{]~^{G'b;w>b;e]l]F}:'N,3]x|A{O,y)G'~(P,H!I'=]/~B{8'f>(!3,V>G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]E~@^W}s^F]Q^O,<'<'['6!:'d,A2R/_)`!N]s{C2R a=2.2.2.2.2. ",
++" ['`!o!q~t>Y;w>Y;P^e]d,F}d,:'x|['<'y)G'~(P,H!I'=]/~B{8'f>(!3,V>G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]E~@^A''2S/y)O,P1<'['{/:'d,D2|}q]o]p!`!6!E2F22.2.2.2. ",
++" y)o!L{(|X-|'w>Y;P^e]l]l]l]:'x|6!<'y)G'~(P,H!I'=]/~B{8'f>(!3,V>G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]E~@^A't>C'X-O,t2['G2{/:'d,U|b;:)H!o!L{y)H22.2.2.2.2. ",
++" c,A'I2I'y!['w>w>Y;U||}e]|}e]R/3]x|['y)G'~(P,H!I'=]/~B{8'f>(!3,V>G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]E~@^A't>y)_/<'{/6!6!b,[2d,U|Y;X-B!H}p!0!&,2.2.2.2. ",
++" b;_)K'`!f~N,w>w>]1b;P^e]P^e]F}R/3]A{y)G'~(P,H!I'=]/~B{8'f>(!3,V>G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]E~@^A'C'X-O,['{/6!x|3]N,e]|^Y;6!@!I'N]@!c,2.2.2. ",
++" :'B!I25!_)P^c,Q||'J2U|P^b;|}d,F}3]A{y)G'~(P,H!I'=]/~B{8'f>(!3,V>G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]E~@^A'C'O,K2['{/]/b,:'e}e](}Y;N,7!^{]~(|P^2.2.2. ",
++" X-`!]~q~G'|'c,L2|'Y;b;b;Y;|}d,d,R/A{y)G'~(P,H!I'=]/~B{8'f>(!3,V>G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]E~@^A'C'O,['t2]/R/3][2F}A2(}Y;P^G'B!H}o]['2.2. ",
++" 2.G'L{L{B!y)w>c,w>|'|'Y;Y;]1U|e]`]R/A{y)G'~(P,H!I'=]/~B{8'f>(!3,V>G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]E~@^A'C'<'6!6!3]d,N,R/F}A2(}_}_}}/f~`!I':)2.2. ",
++" c,D'o!`!@!6!c,c,c,w>|'|'M2|'8|P^e]R/A{y)G'~(P,H!I'=]/~B{8'f>(!3,V>G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]E~@^A'C'<'b,]/N,e]d,d,l]D2N2|'O26!D's{I'_)1'2. ",
++" P^f~o!H!0!e]c;2'c,w>|'|'Q||'Y;P^|}R/A{y)G'~(P,H!I'=]/~B{8'f>(!3,V>G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]E~@^A'C'P1]/:'d,A2P^e]A2U|Y;|'w>d,:)f~5!B!b;2. ",
++" 6!V;I'y!t>|'c;2'm]Q|w>w>Q|M2Y;P^e]R/A{y)G'~(P,H!I'=]/~B{8'f>(!3,V>G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]E~@^A'C'P1]/:'d,A2(}P^P^N2_}|'c,N2X-7!s{(|['2. ",
++" 2.y)s{q~7!<'2'1'c;2'c,c,c,Q|M2Y;P^|}R/A{y)G'~(P,H!I'=]/~B{8'f>(!3,V>G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]E~@^A'C'<']/:'d,A2b;b;b;Y;|'w>c,P2b,:)@!B!t>Q2 ",
++" 1'G'q~y!//N,1'1'c;2'c,c,c,c,|'Y;P^e]R/A{y)G'~(P,H!I'=]/~B{8'f>(!3,V>G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]E~@^A'C'<'b,:'d,A2N2Y;b;Y;|'w>c,2'|}O,0!f~q]m]R2 ",
++" b;D'(|7!X-Y;&,1'c;2'c,c,c,Q||'Y;e]d,:'A{y)G'~(P,H!I'=]/~B{8'f>(!3,V>G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]E~@^A'C'<'6!b,F}A2b;b;b;Y;O2w>c,c;O2:'C'7!~(d,Z; ",
++" 1'b,_)@!:)b,c,&,1'c;2'c,w>w>Q|]1b;l]R/3]A{y)G'~(P,H!I'=]/~B{8'f>(!3,V>G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]E~@^A'C'X-<'6![2S2(}P^b;_}O2c,c,c;2'U|[':)0!<'&, ",
++" c;C'7!A'O,P^1'&,1'c;2'2'w>|'Q|]1P^F}:'6!<'y)G'~(P,H!I'=]/~B{8'f>(!3,V>G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]E~@^A't>x>[/r/]/}'P^P^b;Y;|'c,c,c;1'w>d,O,t>X-&,c; ",
++" T2U2V2 w>G'0!y):'w>Z;&,1'c;2'2'w>|'M2]1|}F}3]A{_/C'G'~(P,H!I'=]/~B{8'f>(!3,V>G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]E~7|W}!/S/W2P1x|l]e]l]P^Y;|'w>c,c;&,1'|':'<'<'&,&, ",
++" X2Y2Z2`2 3.3+3 at 3e]t>C'6!Y;&,Z;&,1'c;2'c,|'Y;Y;Y;l]R/6!<'y)t>G'~(P,H!I'=]/~B{8'f>(!3,V>G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|o]V}B]7!#3:)(/O,x|[2[2d,P^b;|'w>c,c;&,Z;c;Y;d,b,&,Z; ",
++" $3%3&3*3=3-3;3X-['P^c;v>Z;&,c;c;2'w>|'b;e]P^l]3]A{_/C'G'q]@^P,H!I'=]/~B{8'f>(!3,V>G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,0)O|Q,P|i(H!P,7|S^*,.^_/r/6!b,N,}'(}|'|'c,c;1'Z;Z;c;|'P^&,Z; ",
++" >3,3'342)3b,e]c,Z;2.Z;&,c;2'c,w>Y;P^l]N,N,3]A{Q^F]R^~(B]E~5^I'=]/~B{8'f>(!3,V>G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!S,N|>'W{=]c{o]E~@!7!0!t>[/~/<'6!]/!3(}Y;|'c,c;1'Z;Z;Z;1'2'v>Z; ",
++" ~3{3]3P^w>&,2.2.Z;1'c;c,c,|'b;e]F}3]x|r/T{]|G'q]@^P,H!5!H}>~/~B{8'f>(!3,V>G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-f'G;m!V'0)Q'Q!<!3'%{H!y!@!D':)]|y)O,['b,e}A2N2|'w>2'1'Z;Z;Z;v>v>2.&, ",
++" ^3/32'&,v>2.v>Z;1'c;c,w>|'b;d,R/3]A{O,}/t>A'7!B]E~5^I'o!<!Q!B{8'[)(!3,V>G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-(3G;m!j!D)=)>'U}=]q/o]V}@!7!W}!/S/X-<'6!N,}'(}|'w>c,1'Z;Z;Z;v>2.2.w> ",
++" _3:}v>v>v>v>Z;1'c;c,w>Y;P^d,3]x|<'y)t>G'0!7!_~F!o]c{]~/~>'=)y,[!(!3,V>G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1z-:3.)C)u,V~N|Q'J'<!6]o]V}<3@!s|B}S/Q^O,6![2d,|^|'w>2'1'Z;Z;Z;v>2.2.:' ",
++" 6!t|2.v>v>v>Z;1'2'c,w>b;e]F}b,['_/Q^//0!7!@^_~F!j(3'>~/~8);<!!e>|{[3D;G-~-r=Y*h=M>32W(8&52>162-172d292L1;2<2L1,2 at 2O1%1s1|!u181i101a1B^{|!1Z*}!{1W~[;g,N!f,S,e<=)7)<!}3|313(|y!s|W}'2x>_/t2]/d,(}_}|'c,1'Z;Z;v>2.2.&,_) ",
++" 5!2'v>v>v>v>Z;1'2'w>|'b;e]R/b,A{X-Q^G'q]e,_~E~5^j(L{W{*)~]y,[)o~H;(;D-x->-o=~>h=M>32W(8&-)>162-172d292L1;2<2L1,2 at 2O1%1s1|!u1812301a133s;U*^-q=f)v-E-f'G;,_43a)=)P'53%~p||313`}7|S^!/8(}/<'b,d,P^Y;|'c,1'&,Z;v>2.2.P^ ",
++" <'&,2.v>v>Z;1'2'w>|'J2e]R/r/<'X-]|R^~(@^P,F!o]6]=]W{*)=)W>[!J;E;f1:1w-{-k= =a*M>'~W(4263,{;1-1&1(273-2 2;2-283l1O1%1s1|!9303G1U1M|{2t;T*X*l=y_s-F-L-.)Y';~X>d}B{Q!a3}3%{13E~v1D'R^]|y)<'b,e}|}8|w>2'c;&,v>2.2.1'B! ",
++" d,Q22.v>Z;1'c;Q|M2b;l]R/r/T{y)t>R^~(B]E~H!i(3'<!Q!>'R'W>[!;{E;#'S1t-&-k= =a*M>32T<91O_,{;1b3&1p1=2c3d3d3e3f3g3h361i3/2j103P]T<j3k3l3m3V*j=F$'-S1V>m)d)t,S,y,j{*)W{P|n35^V}v1s|+^F]y)<'b,N,o3_}w>2'1'Z;v>2.v>O, ",
++" H}b;2.v>Z;1'c;c,M2U|l]R/6!T{y)t>R^~(B]E~5^j(3'<!*)B{;<D([!(!E;#'G-<,&-`*U*a*M>32T<P]p371q3s1r3s3t3`1u3u3`1v3w3h3x3i3y3u103G1:-z3k3l3y;V*j=}!'-A3C,r~i>m![)B3d}*)W{|~q/C3(|B]e,+^t>X-['b,N,|}]1w>X[D3v>2.v>N, ",
++" (|E3v>2.Z;c;c,w>8|l]R/6!<'}/F]R^~(B]E~H!j(2)6)*)~]8'><e>I;E;#'F3<,&-v=L>a*M>32T<P]/:G3q3b3r3H3 at 2`1L1L1I3J3w3K3$1L3M37103'1:-z3N3s~O3P3j=I-'-z-E{g,G;U,;~a)d}*)U}|~q/C3(|B]Q3A't>X-['b,d,U|]1w>R3Z;2.v>N,S3 ",
++" J*T3U32.1'2'w>Y;P^F}x|A{}/]|R^~(B]E~H!i(2)<!*)~]8'!!O!I;W,#'S1<,{;R!~>T*M-V3W3X303Y3M3s1Z3O1 at 2,2-2-2,2l1`3 4.4+4 at 4*203#4$4%4&4*4>_=4l=--'-z-E--4G;m!;~a)B,*)U}3'j(C3V}v1s2G'S/X-t2[2e]b;M22'Z;2.Z;b,2, ",
++" ;4>4,4v>1'c,|'8|l]3]A{X-C'//q]@^P,H!i(E)>~Q!Q';<9'K;(![3:;B-t-{-m==4U*v;'4F{c:91,1)4!4.4 4H3J3`1`1v3`3~4x3i3{4+1p3G1U1z3E1]4O3^4,;Y,;-s-F-C,g,i>k{j!)!=)*)W{3'g!13`}7|q]!/x>O,b,d,P^Y;m]/42.1'X-D( ",
++" (4_4:4<4Q2&,2'|'P^d,x|_/Q^//+^e,_~F!o]6]>~/~>'R'g>~!J;3,f1B-w->-~;~1j>y;M-'~T<'103:=@4+4.4k1[4f3f3o1I1 4.4+4}4|4i11424%4&434,(S},'F$'-v-44L-[3|{e>S,)!=)Q!<!c{o]g<y!7|$:F]X-t2[2e]|'c;54v>c;_) ",
++" 64748494:}Z;2'|'e]N,6!O,]|R^e,B]P,H!j(3'/~>'=)y,f>e>I;E;D;K><,04v==4!1s;33F{U1a4|1b411c4$1~4[4l1~441#1d4}4b4|1e424$4z_s~f4g4,'}!h4i4A3L-(3j4d)T,V~0)Q'W{=]j(5^V}f~S^t^}/T{x|l]M21'2.v>6!I2 ",
++" k4l4k4m4n4o42.&,c,P^:'r/_/F]+^@^P,E!-!6]>~Q!Q';<!!O!I;O)<;B-w-a>~;,'=4f4l3%42414i1|4+1d4.441`3p4q4r4c4{4+1s4t4u4V)%4v4{|^4w4}!x47(5>44L-g,y4,_j!)!j{*)W{|~j(H!_~~(!/]|_/3]8|c;v>v>Y;B! ",
++" z4A4B4C4D4E4F4G4v>1'w>e]x|_/]|+^@^+~I!c{=]W{*)K)y,><J;1;(;D-x-~-{;H4~1!1{|33g1$4I4J4H1K4L4M4N4O4r4P4{4Q4H1t4R4S4%4N334T4g4U4F$f)V4W4X4r~j4Y'T,h>;<~]Q!%~}~13U/7|A'x>{/|}2'v>&,(}9!Y4 ",
++" Z4`4 5.5+5 at 5#5$5['|'&,R||'F}G}Q^R^e,+~^{6]>~4'B{R,U'K;(!3,:;D-x-<,F$H4=4n)s~E1z3%5&5|1:=*5=5-5;5M4L4y3b4>5e4,5[1'5&4T4)5!5~5{55>]5^5-4j4P:k{j!D)=)*)u{p|f!U/S^t>['e]c,D3/5d,&!%' ",
++" (5_5:5<5[5}5|515H}&!X-l]|'c,]1l]r/25+^@!H!j(4)Q!~]8'b)O!1;W,<;35b>{1F$l{S}n)]4N3$4%5e445:=*555M4d465:=>5}1,575'5v4f$)5!5~57(85y}^5(3j45~k{43a)j{'(H)%{V}e,]|r/e]w>2'b;O,q~95 ",
++" 05a5b5c5d5e5f5g5j)h5()^{^{y)F}8|]1|}x|}/R^B]H!c{>~O'R'U'O!1;W,<;44W~{1i5>{S}n)34N3z3j5k5l5m5*5n5o5p5t4}1S4[1q5r5s5)5!5V_t585]5^5-4u5,_43X>d}J!u{g!.~S^Q^]/(}]1b;b,B}K'7> ",
++" v5w5x5y5z5A5B5C5N]!)i)l) C)I!O,d,e]F}3]T{F]~(_~o]o!4'K)U'K;I;[3#'44D5:>>{S}T4E5q575,5F545G5o5H5I5J5j575'5r5K5L5M5x4N5O5P5Q5T}R5S5T57)53H}13F~'2P1[2d,}']/:)o!}> ",
++" U5V5W5X5Y5Z5`5 6H}]~N]l' n!]~_*.6+6 at 6G2(///e,P,o]3'W{Q';<#6k{i>$6%6&6t5*6L5!:=6-6;6>6,6'6)6!6~6{6]6^6t5/6(6_6:6<6[6c]}6J'P|%{B!7!//}/t2]/{/x>f~B,(> ",
++" |616263646566676#!^{$,2{ 869606a6b6%!P,c6(/t>+^v1V}o]6]U~d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6w6h6g6f6x6y6z6A6B6`}7|W}t>^/x>!/@!o!|,0> ",
++" C6D6E6F6G6H6I6:)D'@!x)D( J6K6L6M6N6O6b[P6Q6R6S6T6U6V6W6X6z)y!B&Y6Z6`6 7.7+7 at 7#7$7%7&7*7=7-7;7>7,7'7)7!7~7{7]7^7/7/7U/|3p!2,[,f)(7 ",
++" _7:7<7[7}7|71727['X-^)F' 3747576777879707a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7A7z6`6U;+'B7C7D7l)E7F7(7 ",
++" G7H7I7J7K7L7M7N7e]N,6!O, O7P7Q7R7S7T7U7V7W7X7Y7Z7`7 8.8+8 at 8#8$8%8&8*8=8-8;8>8,8'8'8)8!8~8{8]8^8^8b{d~d~1,1,R>/8 ",
++" (8_8:8<8[8}8|818c,|'P^6! 283848586878889808a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8},|,|,[!|,v,[,z8 ",
++" A8B8C8D8E8F8G8H8I81'c;c, J8K8L8M8N8O8P8Q8W7Y7R8S8T8U8V8W8d8X8Y8Z8`8 9.9+9 at 9#9$9%9&9*9=9-9;9b{l)b{b{l)Z!2{[> ",
++" >9,9'9)9!9~9{9]9^9v>Z;/9 (9_9:9<9[9}9>$|91929394959697989899909a9b9c9d9e9f9g9h9i9j9k9l9m9;';';'K'K'K'%!j' ",
++" n9,9o9p9q9r9s9t9u9v9w9x9 y9z9A9B9C9D9E9F9G9H9I9J9K9L9M9L9N9O9P9P989Q9R9S9T9U9V9W9X9Y9Z95!`!I'`!`!`!5!o! ",
++" `9 0.0+0 at 0#0$0%0]9&0*0=0 -0;0>0,0'0)0!0~0{0]0^0/0(0_0:0<0:0[0}0|0102030405060708090007!7!_)_)_)_)_)f~l) ",
++" a0b0c0d0e0f0g0h0i0j0k0l0 m0n0o0p0q0r0s0t0u0v0w0x0y0z0A0B0B0C0D0x0E0F0G0H0I0J0K0L0M0O,X-y)y)y)C'C't>`! ",
++" N0O0P0Q0R0S0T0U0V0W0X0Y0 Z0`0 ay9.a+a at a#a$a%a&a*a=a=a-a;a=a=a>a,a'a)a+;!a~a{a]a^aP^P^e]d,d,d,d,N,G' ",
++" /a(a_a:ae0<a[a}a|a1a2a 3a4a5a6a7a8a9a0aaabaca*adaea;afagahahaiajakalamanaoapa2'2'2'2'w>w>w>w>e] ",
++" qarasaQ0tauavawaxayazaAa BaCaDaEaFaGat0HaIaJaKaLa;aMaMaNaOaPaQaRaSaTaUaVa9=v>Z;Z;Z;&,&,&,&,1'2' ",
++" WaXa(aYaZa`a b.b+b at b#b$b%b&b*b=bEa-b;b>b,b'b)b!b~bMaOaOa{bQa]b^b/b(b.#S b+2.2.2.2.2.2.v>v>v>v> ",
++" Xa_b:b<b[b}b|b1b2b3b4b5b6b7b8b9b0b0babbbcbKadbebfb{bQagbhbibjbkb #u+;.2.2.2.2.2.2.2.2.2. ",
++" lbmbnbobpbqb brbsbtbubvbwbxbybzbAbBbCbbaDb*a~bMaEbgbhbFbGbHbIbJbY.2.2.2.2.2.2.2.2.2.2. ",
++" KbLb(aMbNbObPbQb~9RbSbTbUb*aKaVbWbXbYbZbdb-aOa`b cFb.c+c at c#c$c2.2.2.2.2.2.2.2.2.2.2. ",
++" %c&cra*c=c-c;c>c,c'c)c!ceaday0~c~cLa{ceb]c{bgb^c/c(c_c:c<c[c2.2.2.2.2.2.2.2.2.2.2. ",
++" }cXa|c1c2c3c4c5c6c7c8c9c;aMa;aeb;afb{bEb]b^c.c0c_cacbccc2.2.2.2.2.2.2.2.2.2.2. ",
++" dcecXafcgchcicjc6c7ckclcMa]cOa{bEbgbmcFb.c0c_cncocpc2.2.2.2.2.2.2.2.2.2.2.2. ",
++" qcecmbrcgcsc}buatcucvcwcOa{bQahbxcyczcAc at c:cbcBc2.2.2.2.2.2.2.2.2.2.2.2. ",
++" lbec|crcCcDc}bqbEcFcGc]cHcmcFbIc0cJcKcLcMcNc2.2.2.2.2.2.2.2.2.2.2.2. ",
++" OcXa|cPcQcRcScTcUcVcWcXcYczcAc at cZc`c d2.2.2.2.2.2.2.2.2.2.2.2.2.2. ",
++" .d+d at d#d$d%d&d;c*d=d-dxc;d>dac,dMcNc2.2.2.2.2.2.2.2.2.2.2.2.2.2. ",
++" 'd(a)d(a!dgchc~d{d]d^dyc/dnc(dcc2.2.2.2.2.2.2.2.2.2.2.2.2.2. ",
++" _d:d<d[d}d|d1d2d3d4d5d0c:c6d2.2.2.2.2.2.2.2.2.2.2.2.2.2.2. ",
++" 7d8d9d0db0adbdcdddedfdgdachd2.2.2.2.2.2.2.2.2.2.2.2.2.2.2. ",
++" idjdkdldmdc0ndod bpdqdrdsdtd2.2.2.2.2.2.2.2.2.2.2.2.2.2. ",
++" udvdwdxdydzdddAdBdCdncDd2.2.2.2.2.2.2.2.2.2.2.2.2. ",
++"EdFdGdHdIdJdKdLdbc2.2.2.2.2.2.2.2.2.2.2.2.2. ",
++" MdNd'.- at Od2.2.2.2.2.2.2.2.2.2.2. ",
++" I.4.2.2.2.2.2.2.2.2. ",
++" j;-.2.2.2. "};
+Index: camitk/sdk/applications/wizard/resources/camitk-wizard.1.in
+===================================================================
+--- camitk/sdk/applications/wizard/resources/camitk-wizard.1.in (revision 0)
++++ camitk/sdk/applications/wizard/resources/camitk-wizard.1.in (revision 1369)
+@@ -0,0 +1,51 @@
++.TH CAMITK- at APPLICATION_NAME@ "1" "@CURRENT_DATE@" "camitk- at APPLICATION_NAME@ @CAMITK_VERSION_MAJOR at .@CAMITK_VERSION_MINOR@" "User Commands"
++.SH NAME
++camitk- at APPLICATION_NAME@ \- extension wizard for CamiTK developers
++.SH SYNOPSIS
++.B camitk- at APPLICATION_NAME@
++[\fIOPTIONS\fR]...
++.SH DESCRIPTION
++.B camitk\- at APPLICATION_NAME@ is build using CamiTK @CAMITK_VERSION_MAJOR at .@CAMITK_VERSION_MINOR@
++.br
++Please visit http://camitk.imag.fr for more information.
++.br
++(c) UJF\-Grenoble 1, CNRS, TIMC\-IMAG UMR 5525
++.PP
++camitk\- at APPLICATION_NAME@ is a developer tool for CamiTK, the Computer
++Assisted Medical Intervention Tool Kit.
++It is a GUI only application that helps you start with CamiTK Extension
++Projects (CEP).
++camitk\- at APPLICATION_NAME@ application is the best application to
++start working with CamiTK: it generates complete CamiTK Extension Project
++for you, and guides you through the different steps to add your own Actions
++and Components extensions.
++The wizard generate your CEP's files and the skeleton of your C++ classes of
++your extensions.
++.PP
++Using this application you can generate a new component extension or a
++new action extension. It helps you fill all the needed information
++(extension names, parameters, inheritance...).
++It generates a CamiTK core XML document and parse it to write
++C++ source classes and CMake configuration.
++.PP
++The targeted users are developers in R&D departments or laboratories.
++.PP
++.SH "OPTIONS"
++
++.\"
++.\" The following documentation was generated by CLI, a command
++.\" line interface compiler for C++.
++.\"
++.IP "\fB--help\fP|\fB-h\fP"
++Print usage information and exit\.
++
++.IP "\fB--version\fP|\fB-v\fP"
++Print CamiTK version message and exit
++
++.SH "AUTHORS"
++CamiTK and camitk\- at APPLICATION_NAME@ is currently developed by the UJF\-Grenoble 1, CNRS,
++in the TIMC\-IMAG UMR 5525 laboratory.
++.SH "SEE ALSO"
++The full documentation and tutorials for
++.B CamiTK
++are available at <\fBhttp://camitk.imag.fr\fR>
+Index: camitk/sdk/applications/wizard/resources/manpage-epilogue.1.in
+===================================================================
+--- camitk/sdk/applications/wizard/resources/manpage-epilogue.1.in (revision 0)
++++ camitk/sdk/applications/wizard/resources/manpage-epilogue.1.in (revision 1369)
+@@ -0,0 +1,7 @@
++.SH "AUTHORS"
++CamiTK and camitk\- at APPLICATION_NAME@ is currently developed by the UJF\-Grenoble 1, CNRS,
++in the TIMC\-IMAG UMR 5525 laboratory.
++.SH "SEE ALSO"
++The full documentation and tutorials for
++.B CamiTK
++are available at <\fBhttp://camitk.imag.fr\fR>
+Index: camitk/sdk/applications/wizard/resources/camitk-wizard.desktop
+===================================================================
+--- camitk/sdk/applications/wizard/resources/camitk-wizard.desktop (revision 0)
++++ camitk/sdk/applications/wizard/resources/camitk-wizard.desktop (revision 1369)
+@@ -0,0 +1,12 @@
++[Desktop Entry]
++Version=1.0
++Type=Application
++Name=CamiTK-wizard
++GenericName=Computer Assisted Medical Intervention ToolKit Wizard
++GenericName[fr]=Computer Assisted Medical Intervention ToolKit Wizard
++Comment[en_GB]=CamiTK extension wizard
++Comment[fr]=Wizard pour créer des extensions CamiTK
++Exec=camitk-wizard
++Icon=camitk-wizard
++Categories=Development;Building
++Keywords=CamiTK;Extension;CEP;Plugin
+\ No newline at end of file
+Index: camitk/sdk/applications/wizard/Main.cpp
+===================================================================
+--- camitk/sdk/applications/wizard/Main.cpp (revision 1367)
++++ camitk/sdk/applications/wizard/Main.cpp (revision 1369)
+@@ -22,23 +22,73 @@
+ *
+ * $CAMITK_LICENCE_END$
+ ****************************************************************************/
+-//Import .h file
++
+ #include "WizardController.h"
+
+-//#include "DataWizard.h"
++// CamiTK stuff
++#include <Core.h>
+
+ //Imports from Qt
+ #include <QApplication>
+ #include <iostream>
+
++// CLI stuff
++#include "CommandLineOptions.hxx"
++
++// usage for this application
++void usage(char *appName) {
++ std::cerr << appName << std::endl;
++ std::cerr << std::endl;
++ std::cerr << "Usage: " << appName << " [options]" << std::endl;
++ std::cerr << "Build using " << camitk::Core::version << std::endl;
++ std::cerr << std::endl;
++ std::cerr << "Options:" << endl;
++ options::print_usage(std::cerr);
++}
++
++
+ int main(int argc, char * argv[]) {
+- QApplication app(argc, argv);
++ try {
++ QApplication app(argc, argv);
+
+- // call to controller
+- WizardController *controller = new WizardController();
+- controller->launch();
+- return app.exec();
++ int end; // End of options.
++ options o(argc, argv, end);
+
++ if (o.help()) {
++ usage(argv[0]);
++ return EXIT_SUCCESS;
++ }
++ else {
++ // print all types of versions (just using the char* defined in CamiTKVersion.h at configuration time)
++ if (o.version()) {
++ std::cout << argv[0] << " build using " << camitk::Core::version << std::endl;
++ return EXIT_SUCCESS;
++ }
++ else {
++ // call to controller
++ WizardController *controller = new WizardController();
++ controller->launch();
++ return app.exec();
++ }
++ }
++ }
++ catch (const cli::exception& e) {
++ cerr << e << endl;
++ usage(argv[0]);
++ return EXIT_FAILURE;
++ }
++ catch (camitk::AbortException& e) {
++ std::cout << argv[0] << " aborted..." << std::endl << "camitk AbortException:" << std::endl << e.what() << std::endl;
++ return EXIT_FAILURE;
++ }
++ catch (std::exception& e) {
++ std::cout << argv[0] << " aborted..." << std::endl << "std AbortException:" << std::endl << e.what() << std::endl;
++ return EXIT_FAILURE;
++ }
++ catch (...) {
++ std::cout << argv[0] << " aborted..." << std::endl << "Unknown Exception" << std::endl;
++ return EXIT_FAILURE;
++ }
+ }
+
+
+Index: camitk/sdk/applications/wizard/CommandLineOptions.hxx
+===================================================================
+--- camitk/sdk/applications/wizard/CommandLineOptions.hxx (revision 0)
++++ camitk/sdk/applications/wizard/CommandLineOptions.hxx (revision 1369)
+@@ -0,0 +1,260 @@
++// This code was generated by CLI, a command line interface
++// compiler for C++.
++//
++
++#ifndef COMMAND_LINE_OPTIONS_HXX
++#define COMMAND_LINE_OPTIONS_HXX
++
++#include <iosfwd>
++#include <string>
++#include <exception>
++
++namespace cli
++{
++ class unknown_mode
++ {
++ public:
++ enum value
++ {
++ skip,
++ stop,
++ fail
++ };
++
++ unknown_mode (value v);
++
++ operator value () const
++ {
++ return v_;
++ }
++
++ private:
++ value v_;
++ };
++
++ // Exceptions.
++ //
++
++ class exception: public std::exception
++ {
++ public:
++ virtual void
++ print (std::ostream&) const = 0;
++ };
++
++ std::ostream&
++ operator<< (std::ostream&, const exception&);
++
++ class unknown_option: public exception
++ {
++ public:
++ virtual
++ ~unknown_option () throw ();
++
++ unknown_option (const std::string& option);
++
++ const std::string&
++ option () const;
++
++ virtual void
++ print (std::ostream&) const;
++
++ virtual const char*
++ what () const throw ();
++
++ private:
++ std::string option_;
++ };
++
++ class unknown_argument: public exception
++ {
++ public:
++ virtual
++ ~unknown_argument () throw ();
++
++ unknown_argument (const std::string& argument);
++
++ const std::string&
++ argument () const;
++
++ virtual void
++ print (std::ostream&) const;
++
++ virtual const char*
++ what () const throw ();
++
++ private:
++ std::string argument_;
++ };
++
++ class missing_value: public exception
++ {
++ public:
++ virtual
++ ~missing_value () throw ();
++
++ missing_value (const std::string& option);
++
++ const std::string&
++ option () const;
++
++ virtual void
++ print (std::ostream&) const;
++
++ virtual const char*
++ what () const throw ();
++
++ private:
++ std::string option_;
++ };
++
++ class invalid_value: public exception
++ {
++ public:
++ virtual
++ ~invalid_value () throw ();
++
++ invalid_value (const std::string& option,
++ const std::string& value);
++
++ const std::string&
++ option () const;
++
++ const std::string&
++ value () const;
++
++ virtual void
++ print (std::ostream&) const;
++
++ virtual const char*
++ what () const throw ();
++
++ private:
++ std::string option_;
++ std::string value_;
++ };
++
++ class eos_reached: public exception
++ {
++ public:
++ virtual void
++ print (std::ostream&) const;
++
++ virtual const char*
++ what () const throw ();
++ };
++
++ class scanner
++ {
++ public:
++ virtual
++ ~scanner ();
++
++ virtual bool
++ more () = 0;
++
++ virtual const char*
++ peek () = 0;
++
++ virtual const char*
++ next () = 0;
++
++ virtual void
++ skip () = 0;
++ };
++
++ class argv_scanner: public scanner
++ {
++ public:
++ argv_scanner (int& argc, char** argv, bool erase = false);
++ argv_scanner (int start, int& argc, char** argv, bool erase = false);
++
++ int
++ end () const;
++
++ virtual bool
++ more ();
++
++ virtual const char*
++ peek ();
++
++ virtual const char*
++ next ();
++
++ virtual void
++ skip ();
++
++ private:
++ int i_;
++ int& argc_;
++ char** argv_;
++ bool erase_;
++ };
++}
++
++#include <string>
++
++class options
++{
++ public:
++
++ options (int& argc,
++ char** argv,
++ bool erase = false,
++ ::cli::unknown_mode option = ::cli::unknown_mode::fail,
++ ::cli::unknown_mode argument = ::cli::unknown_mode::stop);
++
++ options (int start,
++ int& argc,
++ char** argv,
++ bool erase = false,
++ ::cli::unknown_mode option = ::cli::unknown_mode::fail,
++ ::cli::unknown_mode argument = ::cli::unknown_mode::stop);
++
++ options (int& argc,
++ char** argv,
++ int& end,
++ bool erase = false,
++ ::cli::unknown_mode option = ::cli::unknown_mode::fail,
++ ::cli::unknown_mode argument = ::cli::unknown_mode::stop);
++
++ options (int start,
++ int& argc,
++ char** argv,
++ int& end,
++ bool erase = false,
++ ::cli::unknown_mode option = ::cli::unknown_mode::fail,
++ ::cli::unknown_mode argument = ::cli::unknown_mode::stop);
++
++ options (::cli::scanner&,
++ ::cli::unknown_mode option = ::cli::unknown_mode::fail,
++ ::cli::unknown_mode argument = ::cli::unknown_mode::stop);
++
++ // Option accessors.
++ //
++
++ const bool&
++ help () const;
++
++ const bool&
++ version () const;
++
++ // Print usage information.
++ //
++ static void
++ print_usage (::std::ostream&);
++
++ private:
++ void
++ _parse (::cli::scanner&,
++ ::cli::unknown_mode option,
++ ::cli::unknown_mode argument);
++
++ public:
++ bool help_;
++ bool version_;
++};
++
++#include "CommandLineOptions.ixx"
++
++#endif // COMMAND_LINE_OPTIONS_HXX
+Index: camitk/sdk/applications/wizard/CommandLineOptions.cli
+===================================================================
+--- camitk/sdk/applications/wizard/CommandLineOptions.cli (revision 0)
++++ camitk/sdk/applications/wizard/CommandLineOptions.cli (revision 1369)
+@@ -0,0 +1,15 @@
++// Code Synthesis CLI configuration
++// see http://codesynthesis.com/projects/cli
++//
++// cli must be run everytime this file is modified:
++// clicxx CommandLineOptions.cli
++//
++// to update the manpage:
++// clicxx --stdout --man-prologue manpage-prologue.1.in --man-epilogue manpage-epilogue.1.in --generate-man CommandLineOptions.cli > camitk-wizard.1.in
++
++include <string>;
++
++class options {
++ bool --help | -h {"Print usage information and exit."};
++ bool --version | -v {"Print CamiTK version message and exit"};
++};
+\ No newline at end of file
+Index: camitk/sdk/applications/wizard/CMakeLists.txt
+===================================================================
+--- camitk/sdk/applications/wizard/CMakeLists.txt (revision 1367)
++++ camitk/sdk/applications/wizard/CMakeLists.txt (revision 1369)
+@@ -1,8 +1,9 @@
+-camitk_application( DEFAULT
+- NEEDS_XSD
+- NEEDS_XERCESC
+- NEEDS_CEP_LIBRARIES cepgenerator cepcoreschema
+- CEP_NAME OZ
+- DESCRIPTION "Create CEP and file skeletons from GUI"
++camitk_application(DEFAULT
++ NEEDS_XSD
++ NEEDS_XERCESC
++ NEEDS_CEP_LIBRARIES cepgenerator cepcoreschema
++ CEP_NAME SDK
++ ADDITIONAL_SOURCES CommandLineOptions.cxx CommandLineOptions.hxx CommandLineOptions.ixx
++ DESCRIPTION "Create CEP and file skeletons from GUI"
+ )
+
+Index: camitk/sdk/applications/wizard/CommandLineOptions.ixx
+===================================================================
+--- camitk/sdk/applications/wizard/CommandLineOptions.ixx (revision 0)
++++ camitk/sdk/applications/wizard/CommandLineOptions.ixx (revision 1369)
+@@ -0,0 +1,122 @@
++// This code was generated by CLI, a command line interface
++// compiler for C++.
++//
++
++namespace cli
++{
++ // unknown_mode
++ //
++ inline unknown_mode::
++ unknown_mode (value v)
++ : v_ (v)
++ {
++ }
++
++ // exception
++ //
++ inline std::ostream&
++ operator<< (std::ostream& os, const exception& e)
++ {
++ e.print (os);
++ return os;
++ }
++
++ // unknown_option
++ //
++ inline unknown_option::
++ unknown_option (const std::string& option)
++ : option_ (option)
++ {
++ }
++
++ inline const std::string& unknown_option::
++ option () const
++ {
++ return option_;
++ }
++
++ // unknown_argument
++ //
++ inline unknown_argument::
++ unknown_argument (const std::string& argument)
++ : argument_ (argument)
++ {
++ }
++
++ inline const std::string& unknown_argument::
++ argument () const
++ {
++ return argument_;
++ }
++
++ // missing_value
++ //
++ inline missing_value::
++ missing_value (const std::string& option)
++ : option_ (option)
++ {
++ }
++
++ inline const std::string& missing_value::
++ option () const
++ {
++ return option_;
++ }
++
++ // invalid_value
++ //
++ inline invalid_value::
++ invalid_value (const std::string& option,
++ const std::string& value)
++ : option_ (option), value_ (value)
++ {
++ }
++
++ inline const std::string& invalid_value::
++ option () const
++ {
++ return option_;
++ }
++
++ inline const std::string& invalid_value::
++ value () const
++ {
++ return value_;
++ }
++
++ // argv_scanner
++ //
++ inline argv_scanner::
++ argv_scanner (int& argc, char** argv, bool erase)
++ : i_ (1), argc_ (argc), argv_ (argv), erase_ (erase)
++ {
++ }
++
++ inline argv_scanner::
++ argv_scanner (int start, int& argc, char** argv, bool erase)
++ : i_ (start), argc_ (argc), argv_ (argv), erase_ (erase)
++ {
++ }
++
++ inline int argv_scanner::
++ end () const
++ {
++ return i_;
++ }
++}
++
++// options
++//
++
++inline const bool& options::
++help () const
++{
++ return this->help_;
++}
++
++inline const bool& options::
++version () const
++{
++ return this->version_;
++}
++
+Index: camitk/sdk/applications/cepgenerator/CommandLineOptions.cxx
+===================================================================
+--- camitk/sdk/applications/cepgenerator/CommandLineOptions.cxx (revision 0)
++++ camitk/sdk/applications/cepgenerator/CommandLineOptions.cxx (revision 1369)
+@@ -0,0 +1,495 @@
++// This code was generated by CLI, a command line interface
++// compiler for C++.
++//
++
++#include "CommandLineOptions.hxx"
++
++#include <map>
++#include <set>
++#include <string>
++#include <vector>
++#include <ostream>
++#include <sstream>
++
++namespace cli
++{
++ // unknown_option
++ //
++ unknown_option::
++ ~unknown_option () throw ()
++ {
++ }
++
++ void unknown_option::
++ print (std::ostream& os) const
++ {
++ os << "unknown option '" << option () << "'";
++ }
++
++ const char* unknown_option::
++ what () const throw ()
++ {
++ return "unknown option";
++ }
++
++ // unknown_argument
++ //
++ unknown_argument::
++ ~unknown_argument () throw ()
++ {
++ }
++
++ void unknown_argument::
++ print (std::ostream& os) const
++ {
++ os << "unknown argument '" << argument () << "'";
++ }
++
++ const char* unknown_argument::
++ what () const throw ()
++ {
++ return "unknown argument";
++ }
++
++ // missing_value
++ //
++ missing_value::
++ ~missing_value () throw ()
++ {
++ }
++
++ void missing_value::
++ print (std::ostream& os) const
++ {
++ os << "missing value for option '" << option () << "'";
++ }
++
++ const char* missing_value::
++ what () const throw ()
++ {
++ return "missing option value";
++ }
++
++ // invalid_value
++ //
++ invalid_value::
++ ~invalid_value () throw ()
++ {
++ }
++
++ void invalid_value::
++ print (std::ostream& os) const
++ {
++ os << "invalid value '" << value () << "' for option '"
++ << option () << "'";
++ }
++
++ const char* invalid_value::
++ what () const throw ()
++ {
++ return "invalid option value";
++ }
++
++ // eos_reached
++ //
++ void eos_reached::
++ print (std::ostream& os) const
++ {
++ os << what ();
++ }
++
++ const char* eos_reached::
++ what () const throw ()
++ {
++ return "end of argument stream reached";
++ }
++
++ // scanner
++ //
++ scanner::
++ ~scanner ()
++ {
++ }
++
++ // argv_scanner
++ //
++ bool argv_scanner::
++ more ()
++ {
++ return i_ < argc_;
++ }
++
++ const char* argv_scanner::
++ peek ()
++ {
++ if (i_ < argc_)
++ return argv_[i_];
++ else
++ throw eos_reached ();
++ }
++
++ const char* argv_scanner::
++ next ()
++ {
++ if (i_ < argc_)
++ {
++ const char* r (argv_[i_]);
++
++ if (erase_)
++ {
++ for (int i (i_ + 1); i < argc_; ++i)
++ argv_[i - 1] = argv_[i];
++
++ --argc_;
++ argv_[argc_] = 0;
++ }
++ else
++ ++i_;
++
++ return r;
++ }
++ else
++ throw eos_reached ();
++ }
++
++ void argv_scanner::
++ skip ()
++ {
++ if (i_ < argc_)
++ ++i_;
++ else
++ throw eos_reached ();
++ }
++
++ template <typename X>
++ struct parser
++ {
++ static void
++ parse (X& x, scanner& s)
++ {
++ const char* o (s.next ());
++
++ if (s.more ())
++ {
++ const char* v (s.next ());
++ std::istringstream is (v);
++ if (!(is >> x && is.eof ()))
++ throw invalid_value (o, v);
++ }
++ else
++ throw missing_value (o);
++ }
++ };
++
++ template <>
++ struct parser<bool>
++ {
++ static void
++ parse (bool& x, scanner& s)
++ {
++ s.next ();
++ x = true;
++ }
++ };
++
++ template <>
++ struct parser<std::string>
++ {
++ static void
++ parse (std::string& x, scanner& s)
++ {
++ const char* o (s.next ());
++
++ if (s.more ())
++ x = s.next ();
++ else
++ throw missing_value (o);
++ }
++ };
++
++ template <typename X>
++ struct parser<std::vector<X> >
++ {
++ static void
++ parse (std::vector<X>& c, scanner& s)
++ {
++ X x;
++ parser<X>::parse (x, s);
++ c.push_back (x);
++ }
++ };
++
++ template <typename X>
++ struct parser<std::set<X> >
++ {
++ static void
++ parse (std::set<X>& c, scanner& s)
++ {
++ X x;
++ parser<X>::parse (x, s);
++ c.insert (x);
++ }
++ };
++
++ template <typename K, typename V>
++ struct parser<std::map<K, V> >
++ {
++ static void
++ parse (std::map<K, V>& m, scanner& s)
++ {
++ const char* o (s.next ());
++
++ if (s.more ())
++ {
++ std::string ov (s.next ());
++ std::string::size_type p = ov.find ('=');
++
++ if (p == std::string::npos)
++ {
++ K k = K ();
++
++ if (!ov.empty ())
++ {
++ std::istringstream ks (ov);
++
++ if (!(ks >> k && ks.eof ()))
++ throw invalid_value (o, ov);
++ }
++
++ m[k] = V ();
++ }
++ else
++ {
++ K k = K ();
++ V v = V ();
++ std::string kstr (ov, 0, p);
++ std::string vstr (ov, p + 1);
++
++ if (!kstr.empty ())
++ {
++ std::istringstream ks (kstr);
++
++ if (!(ks >> k && ks.eof ()))
++ throw invalid_value (o, ov);
++ }
++
++ if (!vstr.empty ())
++ {
++ std::istringstream vs (vstr);
++
++ if (!(vs >> v && vs.eof ()))
++ throw invalid_value (o, ov);
++ }
++
++ m[k] = v;
++ }
++ }
++ else
++ throw missing_value (o);
++ }
++ };
++
++ template <typename X, typename T, T X::*P>
++ void
++ thunk (X& x, scanner& s)
++ {
++ parser<T>::parse (x.*P, s);
++ }
++}
++
++#include <map>
++#include <cstring>
++
++// options
++//
++
++options::
++options (int& argc,
++ char** argv,
++ bool erase,
++ ::cli::unknown_mode opt,
++ ::cli::unknown_mode arg)
++: help_ (),
++ version_ (),
++ file_ (),
++ directory_ ()
++{
++ ::cli::argv_scanner s (argc, argv, erase);
++ _parse (s, opt, arg);
++}
++
++options::
++options (int start,
++ int& argc,
++ char** argv,
++ bool erase,
++ ::cli::unknown_mode opt,
++ ::cli::unknown_mode arg)
++: help_ (),
++ version_ (),
++ file_ (),
++ directory_ ()
++{
++ ::cli::argv_scanner s (start, argc, argv, erase);
++ _parse (s, opt, arg);
++}
++
++options::
++options (int& argc,
++ char** argv,
++ int& end,
++ bool erase,
++ ::cli::unknown_mode opt,
++ ::cli::unknown_mode arg)
++: help_ (),
++ version_ (),
++ file_ (),
++ directory_ ()
++{
++ ::cli::argv_scanner s (argc, argv, erase);
++ _parse (s, opt, arg);
++ end = s.end ();
++}
++
++options::
++options (int start,
++ int& argc,
++ char** argv,
++ int& end,
++ bool erase,
++ ::cli::unknown_mode opt,
++ ::cli::unknown_mode arg)
++: help_ (),
++ version_ (),
++ file_ (),
++ directory_ ()
++{
++ ::cli::argv_scanner s (start, argc, argv, erase);
++ _parse (s, opt, arg);
++ end = s.end ();
++}
++
++options::
++options (::cli::scanner& s,
++ ::cli::unknown_mode opt,
++ ::cli::unknown_mode arg)
++: help_ (),
++ version_ (),
++ file_ (),
++ directory_ ()
++{
++ _parse (s, opt, arg);
++}
++
++void options::
++print_usage (::std::ostream& os)
++{
++ os << "--help|-h Print usage information and exit." << ::std::endl;
++
++ os << "--version|-v Print CamiTK version message and exit" << ::std::endl;
++
++ os << "--file|-f <file> input CamiTK CEPCoreSchema XML document describing the" << ::std::endl
++ << " extension to generate (needed)." << ::std::endl;
++
++ os << "--directory|-d <path> CamiTK Extension Project output directory (needed)." << ::std::endl;
++}
++
++typedef
++std::map<std::string, void (*) (options&, ::cli::scanner&)>
++_cli_options_map;
++
++static _cli_options_map _cli_options_map_;
++
++struct _cli_options_map_init
++{
++ _cli_options_map_init ()
++ {
++ _cli_options_map_["--help"] =
++ &::cli::thunk< options, bool, &options::help_ >;
++ _cli_options_map_["-h"] =
++ &::cli::thunk< options, bool, &options::help_ >;
++ _cli_options_map_["--version"] =
++ &::cli::thunk< options, bool, &options::version_ >;
++ _cli_options_map_["-v"] =
++ &::cli::thunk< options, bool, &options::version_ >;
++ _cli_options_map_["--file"] =
++ &::cli::thunk< options, std::string, &options::file_ >;
++ _cli_options_map_["-f"] =
++ &::cli::thunk< options, std::string, &options::file_ >;
++ _cli_options_map_["--directory"] =
++ &::cli::thunk< options, std::string, &options::directory_ >;
++ _cli_options_map_["-d"] =
++ &::cli::thunk< options, std::string, &options::directory_ >;
++ }
++} _cli_options_map_init_;
++
++void options::
++_parse (::cli::scanner& s,
++ ::cli::unknown_mode opt_mode,
++ ::cli::unknown_mode arg_mode)
++{
++ bool opt = true;
++
++ while (s.more ())
++ {
++ const char* o = s.peek ();
++
++ if (std::strcmp (o, "--") == 0)
++ {
++ s.skip ();
++ opt = false;
++ continue;
++ }
++
++ _cli_options_map::const_iterator i (
++ opt ? _cli_options_map_.find (o) : _cli_options_map_.end ());
++
++ if (i != _cli_options_map_.end ())
++ {
++ (*(i->second)) (*this, s);
++ }
++ else if (opt && std::strncmp (o, "-", 1) == 0 && o[1] != '\0')
++ {
++ switch (opt_mode)
++ {
++ case ::cli::unknown_mode::skip:
++ {
++ s.skip ();
++ continue;
++ }
++ case ::cli::unknown_mode::stop:
++ {
++ break;
++ }
++ case ::cli::unknown_mode::fail:
++ {
++ throw ::cli::unknown_option (o);
++ }
++ }
++
++ break;
++ }
++ else
++ {
++ switch (arg_mode)
++ {
++ case ::cli::unknown_mode::skip:
++ {
++ s.skip ();
++ continue;
++ }
++ case ::cli::unknown_mode::stop:
++ {
++ break;
++ }
++ case ::cli::unknown_mode::fail:
++ {
++ throw ::cli::unknown_argument (o);
++ }
++ }
++
++ break;
++ }
++ }
++}
++
+Index: camitk/sdk/applications/cepgenerator/main.cpp
+===================================================================
+--- camitk/sdk/applications/cepgenerator/main.cpp (revision 1367)
++++ camitk/sdk/applications/cepgenerator/main.cpp (revision 1369)
+@@ -24,28 +24,35 @@
+ ****************************************************************************/
+ #include "CepGenerator.h"
+
++// CamiTK stuff
++#include <Core.h>
++
+ // includes from std
+ #include <iostream>
+
+-static const char* DESCRIPTION="cepgenerator aims at creating CamiTK Extension Project files skeleton from\
+- a description given in a XML file.\
+- Parameters:\n \
+- --help | -h display this message. \n \
+- --file | -f <file> is the XML description filename.\n \
+- --directory | -d <path> is the path to the directory where the CEP skeleton files will be stored.\n \
+-";
++// CLI stuff
++#include "CommandLineOptions.hxx"
+
++// description of the application. Please update the manpage-prologue.1.in also if you modify this string.
++const char* description="Please visit http://camitk.imag.fr for more information.\n"
++ "(c) UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525\n\n"
++ "camitk-cepgenerator aims at creating CamiTK Extension Project skeleton from\n"
++ "a description given in a XML file (valid CamiTK cepcoreschema language).";
+
+-static void usage() {
+- std::cout << "cepgenerator" << std::endl;
++// usage for this application
++void usage(char *appName) {
++ std::cerr << appName << std::endl;
++ std::cerr << std::endl;
++ std::cerr << "Usage: " << appName << " [options]" << std::endl;
++ std::cerr << "Built using " << camitk::Core::version << std::endl;
++ std::cerr << std::endl;
++ std::cout << description << std::endl;
+ std::cout << std::endl;
+- std::cout << DESCRIPTION << std::endl;
+- std::cout << std::endl;
+- std::cout << "Usage: " << "cepgenerator " << "-f <file> -d <path>" << std::endl;
+- std::cout << std::endl;
+-
++ std::cerr << "Options:" << endl;
++ options::print_usage(cerr);
+ }
+
++
+ /**
+ * @ingroup group_sdk_application_cepgenerator
+ *
+@@ -54,63 +61,58 @@
+ *
+ */
+ int main(int argc, char * argv[]) {
+-
+-
+ try {
+- bool helpTest = false;
+- bool inputTest = false;
+- bool outputTest = false;
++ int end; // End of options.
++ options o(argc, argv, end);
+
+- QString filename;
+- QString dirname;
+-
+- for (int i = 1; i < argc-1; i++)
+- {
+- if ((strcmp(argv[i], "-h") ==0) || (strcmp(argv[i], "--help") == 0)) {
+- helpTest = true;
++ // if specific help or no options provided
++ if (o.help()) {
++ usage(argv[0]);
++ return EXIT_SUCCESS;
++ }
++ else {
++ // print the CamiTK version
++ if (o.version()) {
++ std::cout << argv[0] << " build using " << camitk::Core::version << std::endl;
++ return EXIT_SUCCESS;
+ }
+- if ((strcmp( argv[i],"-f" ) == 0) || (strcmp(argv[i], "--file") == 0)) {
+- filename = QString(argv[i+1]);
+- inputTest = true;
++ else {
++ // file and directory are mandatory options!
++ if (o.file().empty()) {
++ std::cout << "Argument error: Please provide an input XML file" << std::endl << std::endl;
++ usage(argv[0]);
++ return EXIT_FAILURE;
++ }
++ else if (o.directory().empty()) {
++ std::cout << "Argument error: Please provide an output directory" << std::endl << std::endl;
++ usage(argv[0]);
++ return EXIT_FAILURE;
++ }
++ else {
++ // now we can work!
++ // for the translation from argument to QString, see http://qt-project.org/doc/qt-4.8/qcoreapplication.html#accessing-command-line-arguments
++ CepGenerator::generateCEP(QString::fromLocal8Bit(o.file().c_str()), QString::fromLocal8Bit(o.directory().c_str()));
++ }
+ }
+- if ((strcmp( argv[i],"-d" ) == 0) || (strcmp(argv[i], "--directory") == 0)) {
+- dirname = QString(argv[i+1]);
+- outputTest = true;
+- }
+ }
+- // also test -h or --help option even if it is the last argument
+- if ((strcmp(argv[argc-1], "-h") ==0) || (strcmp(argv[argc-1], "--help") == 0)) {
+- helpTest = true;
+- }
+-
+- if (helpTest) {
+- usage();
+- return 0;
+- }
+- else if ((inputTest) && (outputTest)) {
+- CepGenerator::generateCEP(filename, dirname);
+- }
+- else if (! inputTest) {
+- std::cout << "Please provide an input XML file (-f <file>)" << std::endl;
+- usage();
+- return 0;
+- }
+- else { // ! outputTest
+- std::cout << "Please provide an input XML file (-f <file>)" << std::endl;
+- usage();
+- return 0;
+- }
+-
+ }
++ catch (const cli::exception& e) {
++ cerr << e << endl;
++ usage(argv[0]);
++ return EXIT_FAILURE;
++ }
++ catch (camitk::AbortException& e) {
++ std::cout << argv[0] << " aborted..." << std::endl << "camitk AbortException:" << std::endl << e.what() << std::endl;
++ return EXIT_FAILURE;
++ }
+ catch (std::exception& e) {
+ std::cout << argv[0] << " aborted..." << std::endl << "std AbortException:" << std::endl << e.what() << std::endl;
+- return 1;
++ return EXIT_FAILURE;
+ }
+ catch (...) {
+ std::cout << argv[0] << " aborted..." << std::endl << "Unknown Exception" << std::endl;
+- return 1;
++ return EXIT_FAILURE;
+ }
+
+- return 0;
+ }
+
+Index: camitk/sdk/applications/cepgenerator/CommandLineOptions.cli
+===================================================================
+--- camitk/sdk/applications/cepgenerator/CommandLineOptions.cli (revision 0)
++++ camitk/sdk/applications/cepgenerator/CommandLineOptions.cli (revision 1369)
+@@ -0,0 +1,25 @@
++// Code Synthesis CLI configuration
++// see http://codesynthesis.com/projects/cli
++//
++// cli must be run everytime this file is modified:
++// clicxx CommandLineOptions.cli
++//
++// to update the manpage:
++// clicxx --stdout --man-prologue manpage-prologue.1.in --man-epilogue manpage-epilogue.1.in --generate-man CommandLineOptions.cli > camitk-cepgenerator.1.in
++
++include <string>;
++
++class options {
++ bool --help | -h {"Print usage information and exit."};
++ bool --version | -v {"Print CamiTK version message and exit"};
++ std::string --file | -f {"<file>",
++ "input CamiTK CEPCoreSchema XML document describing the extension to generate (needed).
++
++ This should be a valid CEPCoreSchema XML document.
++ The input XML <file> is \b{mandatory}."};
++ std::string --directory | -d {"<path>",
++ "CamiTK Extension Project output directory (needed).
++
++ This is the path to the directory where the CEP skeleton files will be generated.
++ The output <path> is \b{mandatory}."};
++};
+Index: camitk/sdk/applications/cepgenerator/CommandLineOptions.hxx
+===================================================================
+--- camitk/sdk/applications/cepgenerator/CommandLineOptions.hxx (revision 0)
++++ camitk/sdk/applications/cepgenerator/CommandLineOptions.hxx (revision 1369)
+@@ -0,0 +1,268 @@
++// This code was generated by CLI, a command line interface
++// compiler for C++.
++//
++
++#ifndef COMMAND_LINE_OPTIONS_HXX
++#define COMMAND_LINE_OPTIONS_HXX
++
++#include <iosfwd>
++#include <string>
++#include <exception>
++
++namespace cli
++{
++ class unknown_mode
++ {
++ public:
++ enum value
++ {
++ skip,
++ stop,
++ fail
++ };
++
++ unknown_mode (value v);
++
++ operator value () const
++ {
++ return v_;
++ }
++
++ private:
++ value v_;
++ };
++
++ // Exceptions.
++ //
++
++ class exception: public std::exception
++ {
++ public:
++ virtual void
++ print (std::ostream&) const = 0;
++ };
++
++ std::ostream&
++ operator<< (std::ostream&, const exception&);
++
++ class unknown_option: public exception
++ {
++ public:
++ virtual
++ ~unknown_option () throw ();
++
++ unknown_option (const std::string& option);
++
++ const std::string&
++ option () const;
++
++ virtual void
++ print (std::ostream&) const;
++
++ virtual const char*
++ what () const throw ();
++
++ private:
++ std::string option_;
++ };
++
++ class unknown_argument: public exception
++ {
++ public:
++ virtual
++ ~unknown_argument () throw ();
++
++ unknown_argument (const std::string& argument);
++
++ const std::string&
++ argument () const;
++
++ virtual void
++ print (std::ostream&) const;
++
++ virtual const char*
++ what () const throw ();
++
++ private:
++ std::string argument_;
++ };
++
++ class missing_value: public exception
++ {
++ public:
++ virtual
++ ~missing_value () throw ();
++
++ missing_value (const std::string& option);
++
++ const std::string&
++ option () const;
++
++ virtual void
++ print (std::ostream&) const;
++
++ virtual const char*
++ what () const throw ();
++
++ private:
++ std::string option_;
++ };
++
++ class invalid_value: public exception
++ {
++ public:
++ virtual
++ ~invalid_value () throw ();
++
++ invalid_value (const std::string& option,
++ const std::string& value);
++
++ const std::string&
++ option () const;
++
++ const std::string&
++ value () const;
++
++ virtual void
++ print (std::ostream&) const;
++
++ virtual const char*
++ what () const throw ();
++
++ private:
++ std::string option_;
++ std::string value_;
++ };
++
++ class eos_reached: public exception
++ {
++ public:
++ virtual void
++ print (std::ostream&) const;
++
++ virtual const char*
++ what () const throw ();
++ };
++
++ class scanner
++ {
++ public:
++ virtual
++ ~scanner ();
++
++ virtual bool
++ more () = 0;
++
++ virtual const char*
++ peek () = 0;
++
++ virtual const char*
++ next () = 0;
++
++ virtual void
++ skip () = 0;
++ };
++
++ class argv_scanner: public scanner
++ {
++ public:
++ argv_scanner (int& argc, char** argv, bool erase = false);
++ argv_scanner (int start, int& argc, char** argv, bool erase = false);
++
++ int
++ end () const;
++
++ virtual bool
++ more ();
++
++ virtual const char*
++ peek ();
++
++ virtual const char*
++ next ();
++
++ virtual void
++ skip ();
++
++ private:
++ int i_;
++ int& argc_;
++ char** argv_;
++ bool erase_;
++ };
++}
++
++#include <string>
++
++class options
++{
++ public:
++
++ options (int& argc,
++ char** argv,
++ bool erase = false,
++ ::cli::unknown_mode option = ::cli::unknown_mode::fail,
++ ::cli::unknown_mode argument = ::cli::unknown_mode::stop);
++
++ options (int start,
++ int& argc,
++ char** argv,
++ bool erase = false,
++ ::cli::unknown_mode option = ::cli::unknown_mode::fail,
++ ::cli::unknown_mode argument = ::cli::unknown_mode::stop);
++
++ options (int& argc,
++ char** argv,
++ int& end,
++ bool erase = false,
++ ::cli::unknown_mode option = ::cli::unknown_mode::fail,
++ ::cli::unknown_mode argument = ::cli::unknown_mode::stop);
++
++ options (int start,
++ int& argc,
++ char** argv,
++ int& end,
++ bool erase = false,
++ ::cli::unknown_mode option = ::cli::unknown_mode::fail,
++ ::cli::unknown_mode argument = ::cli::unknown_mode::stop);
++
++ options (::cli::scanner&,
++ ::cli::unknown_mode option = ::cli::unknown_mode::fail,
++ ::cli::unknown_mode argument = ::cli::unknown_mode::stop);
++
++ // Option accessors.
++ //
++
++ const bool&
++ help () const;
++
++ const bool&
++ version () const;
++
++ const std::string&
++ file () const;
++
++ const std::string&
++ directory () const;
++
++ // Print usage information.
++ //
++ static void
++ print_usage (::std::ostream&);
++
++ private:
++ void
++ _parse (::cli::scanner&,
++ ::cli::unknown_mode option,
++ ::cli::unknown_mode argument);
++
++ public:
++ bool help_;
++ bool version_;
++ std::string file_;
++ std::string directory_;
++};
++
++#include "CommandLineOptions.ixx"
++
++#endif // COMMAND_LINE_OPTIONS_HXX
+Index: camitk/sdk/applications/cepgenerator/CommandLineOptions.ixx
+===================================================================
+--- camitk/sdk/applications/cepgenerator/CommandLineOptions.ixx (revision 0)
++++ camitk/sdk/applications/cepgenerator/CommandLineOptions.ixx (revision 1369)
+@@ -0,0 +1,134 @@
++// This code was generated by CLI, a command line interface
++// compiler for C++.
++//
++
++namespace cli
++{
++ // unknown_mode
++ //
++ inline unknown_mode::
++ unknown_mode (value v)
++ : v_ (v)
++ {
++ }
++
++ // exception
++ //
++ inline std::ostream&
++ operator<< (std::ostream& os, const exception& e)
++ {
++ e.print (os);
++ return os;
++ }
++
++ // unknown_option
++ //
++ inline unknown_option::
++ unknown_option (const std::string& option)
++ : option_ (option)
++ {
++ }
++
++ inline const std::string& unknown_option::
++ option () const
++ {
++ return option_;
++ }
++
++ // unknown_argument
++ //
++ inline unknown_argument::
++ unknown_argument (const std::string& argument)
++ : argument_ (argument)
++ {
++ }
++
++ inline const std::string& unknown_argument::
++ argument () const
++ {
++ return argument_;
++ }
++
++ // missing_value
++ //
++ inline missing_value::
++ missing_value (const std::string& option)
++ : option_ (option)
++ {
++ }
++
++ inline const std::string& missing_value::
++ option () const
++ {
++ return option_;
++ }
++
++ // invalid_value
++ //
++ inline invalid_value::
++ invalid_value (const std::string& option,
++ const std::string& value)
++ : option_ (option), value_ (value)
++ {
++ }
++
++ inline const std::string& invalid_value::
++ option () const
++ {
++ return option_;
++ }
++
++ inline const std::string& invalid_value::
++ value () const
++ {
++ return value_;
++ }
++
++ // argv_scanner
++ //
++ inline argv_scanner::
++ argv_scanner (int& argc, char** argv, bool erase)
++ : i_ (1), argc_ (argc), argv_ (argv), erase_ (erase)
++ {
++ }
++
++ inline argv_scanner::
++ argv_scanner (int start, int& argc, char** argv, bool erase)
++ : i_ (start), argc_ (argc), argv_ (argv), erase_ (erase)
++ {
++ }
++
++ inline int argv_scanner::
++ end () const
++ {
++ return i_;
++ }
++}
++
++// options
++//
++
++inline const bool& options::
++help () const
++{
++ return this->help_;
++}
++
++inline const bool& options::
++version () const
++{
++ return this->version_;
++}
++
++inline const std::string& options::
++file () const
++{
++ return this->file_;
++}
++
++inline const std::string& options::
++directory () const
++{
++ return this->directory_;
++}
++
+Index: camitk/sdk/applications/cepgenerator/resources/manpage-epilogue.1.in
+===================================================================
+--- camitk/sdk/applications/cepgenerator/resources/manpage-epilogue.1.in (revision 0)
++++ camitk/sdk/applications/cepgenerator/resources/manpage-epilogue.1.in (revision 1369)
+@@ -0,0 +1,7 @@
++.SH "AUTHORS"
++CamiTK and camitk\- at APPLICATION_NAME@ is currently developed by the UJF\-Grenoble 1, CNRS,
++in the TIMC\-IMAG UMR 5525 laboratory.
++.SH "SEE ALSO"
++The full documentation and tutorials for
++.B CamiTK
++are available at <\fBhttp://camitk.imag.fr\fR>
+Index: camitk/sdk/applications/cepgenerator/resources/manpage-prologue.1.in
+===================================================================
+--- camitk/sdk/applications/cepgenerator/resources/manpage-prologue.1.in (revision 0)
++++ camitk/sdk/applications/cepgenerator/resources/manpage-prologue.1.in (revision 1369)
+@@ -0,0 +1,31 @@
++.TH CAMITK- at APPLICATION_NAME@ "1" "@CURRENT_DATE@" "camitk- at APPLICATION_NAME@ @CAMITK_VERSION_MAJOR at .@CAMITK_VERSION_MINOR@" "User Commands"
++.SH NAME
++camitk- at APPLICATION_NAME@ \- CamiTK Extension Project skeleton generator
++.SH SYNOPSIS
++.B camitk- at APPLICATION_NAME@
++[\fIOPTIONS\fR]...
++.SH DESCRIPTION
++.B camitk\- at APPLICATION_NAME@ is build using CamiTK @CAMITK_VERSION_MAJOR at .@CAMITK_VERSION_MINOR@
++.br
++Please visit http://camitk.imag.fr for more information.
++.br
++(c) UJF\-Grenoble 1, CNRS, TIMC\-IMAG UMR 5525
++.PP
++camitk\- at APPLICATION_NAME@ is a developer tool for CamiTK, the Computer Assisted
++Medical Intervention Tool Kit.
++.PP
++camitk-cepgenerator aims at creating CamiTK Extension Project (CEP) skeleton
++from a description given in a XML file (valid CamiTK cepcoreschema language)
++.PP
++Using this command line only you can generate a CEP directory tree and
++the component and action extension C++ code corresponding to the
++content of the given XML file.
++.PP
++To successfully run camitk\- at APPLICATION_NAME@ you need to provide two
++arguments: the CamiTK core XML document and a directory where
++the C++ classes and CMake configuration files will be written.
++.PP
++The targeted users are developers in R&D departments or laboratories.
++.PP
++.SH "OPTIONS"
++
+Index: camitk/sdk/applications/cepgenerator/resources/camitk-cepgenerator.1.in
+===================================================================
+--- camitk/sdk/applications/cepgenerator/resources/camitk-cepgenerator.1.in (revision 0)
++++ camitk/sdk/applications/cepgenerator/resources/camitk-cepgenerator.1.in (revision 1369)
+@@ -0,0 +1,61 @@
++.TH CAMITK- at APPLICATION_NAME@ "1" "@CURRENT_DATE@" "camitk- at APPLICATION_NAME@ @CAMITK_VERSION_MAJOR at .@CAMITK_VERSION_MINOR@" "User Commands"
++.SH NAME
++camitk- at APPLICATION_NAME@ \- CamiTK Extension Project skeleton generator
++.SH SYNOPSIS
++.B camitk- at APPLICATION_NAME@
++[\fIOPTIONS\fR]...
++.SH DESCRIPTION
++.B camitk\- at APPLICATION_NAME@ is build using CamiTK @CAMITK_VERSION_MAJOR at .@CAMITK_VERSION_MINOR@
++.br
++Please visit http://camitk.imag.fr for more information.
++.br
++(c) UJF\-Grenoble 1, CNRS, TIMC\-IMAG UMR 5525
++.PP
++camitk\- at APPLICATION_NAME@ is a developer tool for CamiTK, the Computer Assisted
++Medical Intervention Tool Kit.
++.PP
++camitk-cepgenerator aims at creating CamiTK Extension Project (CEP) skeleton
++from a description given in a XML file (valid CamiTK cepcoreschema language)
++.PP
++Using this command line only you can generate a CEP directory tree and
++the component and action extension C++ code corresponding to the
++content of the given XML file.
++.PP
++To successfully run camitk\- at APPLICATION_NAME@ you need to provide two
++arguments: the CamiTK core XML document and a directory where
++the C++ classes and CMake configuration files will be written.
++.PP
++The targeted users are developers in R&D departments or laboratories.
++.PP
++.SH "OPTIONS"
++
++.\"
++.\" The following documentation was generated by CLI, a command
++.\" line interface compiler for C++.
++.\"
++.IP "\fB--help\fP|\fB-h\fP"
++Print usage information and exit\.
++
++.IP "\fB--version\fP|\fB-v\fP"
++Print CamiTK version message and exit
++
++.IP "\fB--file\fP|\fB-f\fP \fIfile\fP"
++input CamiTK CEPCoreSchema XML document describing the extension to generate
++(needed)\.
++
++This should be a valid CEPCoreSchema XML document\. The input XML \fIfile\fP
++is \fBmandatory\fP\.
++
++.IP "\fB--directory\fP|\fB-d\fP \fIpath\fP"
++CamiTK Extension Project output directory (needed)\.
++
++This is the path to the directory where the CEP skeleton files will be
++generated\. The output \fIpath\fP is \fBmandatory\fP\.
++
++.SH "AUTHORS"
++CamiTK and camitk\- at APPLICATION_NAME@ is currently developed by the UJF\-Grenoble 1, CNRS,
++in the TIMC\-IMAG UMR 5525 laboratory.
++.SH "SEE ALSO"
++The full documentation and tutorials for
++.B CamiTK
++are available at <\fBhttp://camitk.imag.fr\fR>
+Index: camitk/sdk/applications/cepgenerator/CMakeLists.txt
+===================================================================
+--- camitk/sdk/applications/cepgenerator/CMakeLists.txt (revision 1367)
++++ camitk/sdk/applications/cepgenerator/CMakeLists.txt (revision 1369)
+@@ -1,8 +1,9 @@
+-camitk_application( DEFAULT
+- NEEDS_XSD
+- NEEDS_XERCESC
+- NEEDS_CEP_LIBRARIES cepgenerator cepcoreschema
+- CEP_NAME OZ
+- DESCRIPTION "Create CEP and file skeletons from XML files (without GUI)"
++camitk_application(DEFAULT
++ NEEDS_XSD
++ NEEDS_XERCESC
++ NEEDS_CEP_LIBRARIES cepgenerator cepcoreschema
++ CEP_NAME SDK
++ ADDITIONAL_SOURCES CommandLineOptions.cxx CommandLineOptions.hxx CommandLineOptions.ixx
++ DESCRIPTION "Create CEP and file skeletons from XML files (no GUI)"
+ )
+
Added: trunk/packages/camitk/trunk/debian/patches/config-console-redirection.diff
===================================================================
--- trunk/packages/camitk/trunk/debian/patches/config-console-redirection.diff (rev 0)
+++ trunk/packages/camitk/trunk/debian/patches/config-console-redirection.diff 2014-03-23 18:57:45 UTC (rev 16503)
@@ -0,0 +1,23 @@
+Index: camitk/sdk/applications/config/main.cpp
+===================================================================
+--- camitk/sdk/applications/config/main.cpp (revision 1365)
++++ camitk/sdk/applications/config/main.cpp (revision 1366)
+@@ -27,6 +27,7 @@
+ #include <Application.h>
+ #include <Core.h>
+ #include <ExtensionManager.h>
++#include <MainWindow.h>
+ using namespace camitk;
+
+ #include <iostream>
+@@ -99,6 +100,10 @@
+ else if (o.config()) {
+ // init the camitk application context (auto-load of all extensions)
+ Application a("camitk-config", argc, argv);
++ // avoid all redirection to console
++ MainWindow *defaultMainWindow = dynamic_cast<MainWindow*>(a.getMainWindow());
++ defaultMainWindow->redirectToConsole(false);
++ // print the configuration on the std::cout
+ std::cout << Core::getConfig().toStdString() << std::endl;
+ return EXIT_SUCCESS;
+ }
Modified: trunk/packages/camitk/trunk/debian/patches/series
===================================================================
--- trunk/packages/camitk/trunk/debian/patches/series 2014-03-22 22:11:19 UTC (rev 16502)
+++ trunk/packages/camitk/trunk/debian/patches/series 2014-03-23 18:57:45 UTC (rev 16503)
@@ -0,0 +1,2 @@
+config-console-redirection.diff
+applications-man-pixmap-desktop.diff
Modified: trunk/packages/camitk/trunk/debian/rules
===================================================================
--- trunk/packages/camitk/trunk/debian/rules 2014-03-22 22:11:19 UTC (rev 16502)
+++ trunk/packages/camitk/trunk/debian/rules 2014-03-23 18:57:45 UTC (rev 16503)
@@ -4,9 +4,12 @@
export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
+#skip all tests
+DEB_BUILD_OPTIONS += nocheck
+
# CamiTK version
VER_MAJOR=3
-VER_MINOR=2
+VER_MINOR=3
VER_SHORT=$(VER_MAJOR).$(VER_MINOR)
# package aliases (see d/control)
@@ -70,10 +73,11 @@
dh_install -p$(pkg_lib) --autodest debian/tmp/usr/share/pixmaps/camitk-config.xpm
dh_installman -p$(pkg_lib) debian/tmp/usr/share/man/man1/camitk-config.1
- # separate tools qtpropertybrowser
+ # separate packaging for qtpropertybrowser (can be used independently from camitk)
dh_install -p$(pkg_qpb) debian/tmp/usr/lib/libqtpropertybrowser.so.* usr/lib
- # camitk so and headers and static libs + wizard
+ # camitk developer package
+ # camitk so and headers and static libs
dh_install -p$(pkg_dev) debian/tmp/usr/lib/libcamitkcore.so usr/lib
dh_install -p$(pkg_dev) --autodest debian/tmp/usr/lib/camitk-$(VER_SHORT)/lib*.so
dh_install -p$(pkg_dev) --autodest debian/tmp/usr/lib/camitk-$(VER_SHORT)/actions/lib*.so
@@ -91,10 +95,19 @@
dh_install -p$(pkg_dev) --autodest debian/tmp/usr/share/camitk-$(VER_SHORT)/cmake/*.cmake
dh_install -p$(pkg_dev) --autodest debian/tmp/usr/share/camitk-$(VER_SHORT)/cmake/macros/*.cmake
dh_install -p$(pkg_dev) --autodest debian/tmp/usr/share/camitk-$(VER_SHORT)/cmake/launcher-templates/*.in
+ # wizard
dh_install -p$(pkg_dev) --autodest debian/tmp/usr/bin/camitk-wizard
+ dh_installman -p$(pkg_dev) debian/tmp/usr/share/man/man1/camitk-wizard.1
dh_install -p$(pkg_dev) --autodest debian/tmp/usr/share/applications/camitk-wizard.desktop
dh_install -p$(pkg_dev) --autodest debian/tmp/usr/share/pixmaps/camitk-wizard.xpm
- dh_installman -p$(pkg_dev) debian/tmp/usr/share/man/man1/camitk-wizard.1
+ # cepgenerator
+ dh_install -p$(pkg_dev) --autodest debian/tmp/usr/bin/camitk-cepgenerator
+ dh_installman -p$(pkg_dev) debian/tmp/usr/share/man/man1/camitk-cepgenerator.1
+ # test programs
+ dh_install -p$(pkg_dev) --autodest debian/tmp/usr/bin/camitk-testactions
+ dh_installman -p$(pkg_dev) debian/tmp/usr/share/man/man1/camitk-testactions.1
+ dh_install -p$(pkg_dev) --autodest debian/tmp/usr/bin/camitk-testcomponents
+ dh_installman -p$(pkg_dev) debian/tmp/usr/share/man/man1/camitk-testcomponents.1
# qtpropertybrowser so and headers (includes are put directly in usr/include as package should be generic/independant from CamiTK)
dh_install -p$(pkg_qpb_dev) debian/tmp/usr/lib/libqtpropertybrowser.so usr/lib
More information about the debian-med-commit
mailing list