From b22f25b711d260fe88c83d320dde89a9f56db7d6 Mon Sep 17 00:00:00 2001 From: Paul Webster Date: Thu, 14 Feb 2013 12:36:43 -0500 Subject: Bug 394216 - o.e.equinox.executables IUs must be in build repo Generate the correct feature and a secondary IU that doesn't include all executables. --- .../.cdtproject | 120 + .../.cproject | 144 + .../.cvsignore | 1 + .../.project | 86 + .../.settings/org.eclipse.cdt.core.prefs | 163 + .../.settings/org.eclipse.cdt.ui.prefs | 4 + .../macosx/ppc/Eclipse.app/Contents/Info.plist | 73 + .../ppc/Eclipse.app/Contents/MacOS/eclipse.ini | 9 + .../Eclipse.app/Contents/Resources/Eclipse.icns | Bin 0 -> 286605 bytes .../macosx/x86/Eclipse.app/Contents/Info.plist | 73 + .../x86/Eclipse.app/Contents/MacOS/eclipse.ini | 9 + .../Eclipse.app/Contents/Resources/Eclipse.icns | Bin 0 -> 286605 bytes .../macosx/ppc/Eclipse.app/Contents/Info.plist | 73 + .../ppc/Eclipse.app/Contents/MacOS/eclipse.ini | 9 + .../Eclipse.app/Contents/Resources/Eclipse.icns | Bin 0 -> 286605 bytes .../macosx/x86/Eclipse.app/Contents/Info.plist | 75 + .../x86/Eclipse.app/Contents/MacOS/eclipse.ini | 9 + .../Eclipse.app/Contents/Resources/Eclipse.icns | Bin 0 -> 286605 bytes .../macosx/x86_64/Eclipse.app/Contents/Info.plist | 75 + .../x86_64/Eclipse.app/Contents/MacOS/eclipse.ini | 9 + .../Eclipse.app/Contents/Resources/Eclipse.icns | Bin 0 -> 286605 bytes .../bin/gtk/linux/x86/icon.xpm | 16242 +++++++++++++++++++ .../bin/gtk/linux/x86_64/icon.xpm | 16242 +++++++++++++++++++ .../bin/gtk/solaris/sparc/Eclipse.l.pm | 311 + .../bin/gtk/solaris/sparc/Eclipse.m.pm | 295 + .../bin/gtk/solaris/sparc/Eclipse.s.pm | 287 + .../bin/gtk/solaris/sparc/Eclipse.t.pm | 279 + .../bin/gtk/solaris/x86/Eclipse.l.pm | 311 + .../bin/gtk/solaris/x86/Eclipse.m.pm | 295 + .../bin/gtk/solaris/x86/Eclipse.s.pm | 287 + .../bin/gtk/solaris/x86/Eclipse.t.pm | 279 + .../bin/motif/linux/x86/icon.xpm | 16242 +++++++++++++++++++ .../bin/motif/linux/x86/libXm.so.2 | Bin 0 -> 1915756 bytes .../build.properties | 67 + .../contributed/motif/solaris/sparc/Eclipse.l.pm | 311 + .../contributed/motif/solaris/sparc/Eclipse.m.pm | 295 + .../contributed/motif/solaris/sparc/Eclipse.s.pm | 287 + .../contributed/motif/solaris/sparc/Eclipse.t.pm | 279 + .../cp-content.xsl | 45 + .../eclipse_update_120.jpg | Bin 0 -> 21695 bytes .../feature.properties | 24 + .../feature.xml | 194 + .../gtk_root/about.html | 19 + .../library/carbon/.cvsignore | 3 + .../library/carbon/build.sh | 100 + .../library/carbon/build.xml | 20 + .../library/carbon/eclipseCarbon.c | 855 + .../library/carbon/eclipseCarbonCommon.c | 195 + .../library/carbon/eclipseCarbonMain.c | 237 + .../library/carbon/eclipseMain.c | 15 + .../library/carbon/make_carbon.mak | 93 + .../library/carbon/make_cocoa.mak | 97 + .../library/eclipse.c | 1781 ++ .../library/eclipseCommon.c | 570 + .../library/eclipseCommon.h | 106 + .../library/eclipseConfig.c | 186 + .../library/eclipseConfig.h | 62 + .../library/eclipseJNI.c | 568 + .../library/eclipseJNI.h | 87 + .../library/eclipseMain.c | 468 + .../library/eclipseMozilla.c | 300 + .../library/eclipseMozilla.h | 21 + .../library/eclipseNix.c | 234 + .../library/eclipseOS.h | 121 + .../library/eclipseShm.c | 273 + .../library/eclipseShm.h | 60 + .../library/eclipseUnicode.h | 112 + .../library/eclipseUtil.c | 333 + .../library/eclipseUtil.h | 61 + .../library/gtk/.gitignore | 3 + .../library/gtk/build.sh | 238 + .../library/gtk/build.xml | 28 + .../library/gtk/eclipseGtk.c | 347 + .../library/gtk/eclipseGtk.h | 77 + .../library/gtk/eclipseGtkCommon.c | 134 + .../library/gtk/eclipseGtkInit.c | 126 + .../library/gtk/make_aix.mak | 116 + .../library/gtk/make_hpux.mak | 102 + .../library/gtk/make_linux.mak | 112 + .../library/gtk/make_solaris.mak | 111 + .../library/make_version.mak | 14 + .../library/motif/.cvsignore | 4 + .../library/motif/NgCommon.c | 178 + .../library/motif/NgCommon.h | 95 + .../library/motif/NgImage.c | 246 + .../library/motif/NgImage.h | 54 + .../library/motif/NgImageData.c | 490 + .../library/motif/NgImageData.h | 170 + .../library/motif/NgWinBMPFileFormat.c | 367 + .../library/motif/NgWinBMPFileFormat.h | 34 + .../library/motif/build.sh | 164 + .../library/motif/build.xml | 20 + .../library/motif/eclipseMotif.c | 336 + .../library/motif/eclipseMotif.h | 96 + .../library/motif/eclipseMotifCommon.c | 219 + .../library/motif/eclipseMotifInit.c | 179 + .../library/motif/eclipseMotifShim.c | 17 + .../library/motif/make_aix.mak | 104 + .../library/motif/make_hpux_PA_RISC.mak | 94 + .../library/motif/make_hpux_ia64_32.mak | 101 + .../library/motif/make_linux.mak | 108 + .../library/motif/make_solaris.mak | 104 + .../library/photon/.cvsignore | 2 + .../library/photon/build.sh | 79 + .../library/photon/build.xml | 20 + .../library/photon/eclipsePhoton.c | 288 + .../library/photon/make_qnx.mak | 57 + .../library/win32/.cvsignore | 8 + .../library/win32/build.bat | 156 + .../library/win32/build.sh | 77 + .../library/win32/build.xml | 18 + .../library/win32/eclipse.exe.manifest | 11 + .../library/win32/eclipse.ico | Bin 0 -> 292878 bytes .../library/win32/eclipse.rc | 21 + .../library/win32/eclipseWin.c | 619 + .../library/win32/eclipseWinCommon.c | 116 + .../library/win32/make_mingw.mak | 127 + .../library/win32/make_win32.mak | 103 + .../library/win32/make_win64.mak | 107 + .../library/win32/make_win64_ia64.mak | 108 + .../library/wpf/.cvsignore | 12 + .../library/wpf/build.bat | 127 + .../library/wpf/build.xml | 19 + .../library/wpf/com.c | 28 + .../library/wpf/eclipse.ico | Bin 0 -> 317270 bytes .../library/wpf/eclipse.rc | 21 + .../library/wpf/eclipseWpf.cpp | 561 + .../library/wpf/eclipseWpfCommon.cpp | 87 + .../library/wpf/make_wpf.mak | 113 + .../motif_root/about.html | 20 + .../motif_root/about_files/about_open_motif.html | 38 + .../motif_root/about_files/mlpl-v10.html | 401 + .../org.eclipse.equinox.executable.feature/pom.xml | 425 + 133 files changed, 68838 insertions(+) create mode 100644 features/org.eclipse.equinox.executable.feature/.cdtproject create mode 100644 features/org.eclipse.equinox.executable.feature/.cproject create mode 100644 features/org.eclipse.equinox.executable.feature/.cvsignore create mode 100644 features/org.eclipse.equinox.executable.feature/.project create mode 100644 features/org.eclipse.equinox.executable.feature/.settings/org.eclipse.cdt.core.prefs create mode 100644 features/org.eclipse.equinox.executable.feature/.settings/org.eclipse.cdt.ui.prefs create mode 100644 features/org.eclipse.equinox.executable.feature/bin/carbon/macosx/ppc/Eclipse.app/Contents/Info.plist create mode 100644 features/org.eclipse.equinox.executable.feature/bin/carbon/macosx/ppc/Eclipse.app/Contents/MacOS/eclipse.ini create mode 100644 features/org.eclipse.equinox.executable.feature/bin/carbon/macosx/ppc/Eclipse.app/Contents/Resources/Eclipse.icns create mode 100644 features/org.eclipse.equinox.executable.feature/bin/carbon/macosx/x86/Eclipse.app/Contents/Info.plist create mode 100644 features/org.eclipse.equinox.executable.feature/bin/carbon/macosx/x86/Eclipse.app/Contents/MacOS/eclipse.ini create mode 100644 features/org.eclipse.equinox.executable.feature/bin/carbon/macosx/x86/Eclipse.app/Contents/Resources/Eclipse.icns create mode 100644 features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/ppc/Eclipse.app/Contents/Info.plist create mode 100644 features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/ppc/Eclipse.app/Contents/MacOS/eclipse.ini create mode 100644 features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/ppc/Eclipse.app/Contents/Resources/Eclipse.icns create mode 100644 features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/x86/Eclipse.app/Contents/Info.plist create mode 100644 features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/x86/Eclipse.app/Contents/MacOS/eclipse.ini create mode 100644 features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/x86/Eclipse.app/Contents/Resources/Eclipse.icns create mode 100644 features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/Info.plist create mode 100644 features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/MacOS/eclipse.ini create mode 100644 features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/Resources/Eclipse.icns create mode 100644 features/org.eclipse.equinox.executable.feature/bin/gtk/linux/x86/icon.xpm create mode 100644 features/org.eclipse.equinox.executable.feature/bin/gtk/linux/x86_64/icon.xpm create mode 100644 features/org.eclipse.equinox.executable.feature/bin/gtk/solaris/sparc/Eclipse.l.pm create mode 100644 features/org.eclipse.equinox.executable.feature/bin/gtk/solaris/sparc/Eclipse.m.pm create mode 100644 features/org.eclipse.equinox.executable.feature/bin/gtk/solaris/sparc/Eclipse.s.pm create mode 100644 features/org.eclipse.equinox.executable.feature/bin/gtk/solaris/sparc/Eclipse.t.pm create mode 100644 features/org.eclipse.equinox.executable.feature/bin/gtk/solaris/x86/Eclipse.l.pm create mode 100644 features/org.eclipse.equinox.executable.feature/bin/gtk/solaris/x86/Eclipse.m.pm create mode 100644 features/org.eclipse.equinox.executable.feature/bin/gtk/solaris/x86/Eclipse.s.pm create mode 100644 features/org.eclipse.equinox.executable.feature/bin/gtk/solaris/x86/Eclipse.t.pm create mode 100644 features/org.eclipse.equinox.executable.feature/bin/motif/linux/x86/icon.xpm create mode 100644 features/org.eclipse.equinox.executable.feature/bin/motif/linux/x86/libXm.so.2 create mode 100644 features/org.eclipse.equinox.executable.feature/build.properties create mode 100644 features/org.eclipse.equinox.executable.feature/contributed/motif/solaris/sparc/Eclipse.l.pm create mode 100644 features/org.eclipse.equinox.executable.feature/contributed/motif/solaris/sparc/Eclipse.m.pm create mode 100644 features/org.eclipse.equinox.executable.feature/contributed/motif/solaris/sparc/Eclipse.s.pm create mode 100644 features/org.eclipse.equinox.executable.feature/contributed/motif/solaris/sparc/Eclipse.t.pm create mode 100644 features/org.eclipse.equinox.executable.feature/cp-content.xsl create mode 100644 features/org.eclipse.equinox.executable.feature/eclipse_update_120.jpg create mode 100644 features/org.eclipse.equinox.executable.feature/feature.properties create mode 100644 features/org.eclipse.equinox.executable.feature/feature.xml create mode 100644 features/org.eclipse.equinox.executable.feature/gtk_root/about.html create mode 100644 features/org.eclipse.equinox.executable.feature/library/carbon/.cvsignore create mode 100644 features/org.eclipse.equinox.executable.feature/library/carbon/build.sh create mode 100644 features/org.eclipse.equinox.executable.feature/library/carbon/build.xml create mode 100644 features/org.eclipse.equinox.executable.feature/library/carbon/eclipseCarbon.c create mode 100644 features/org.eclipse.equinox.executable.feature/library/carbon/eclipseCarbonCommon.c create mode 100644 features/org.eclipse.equinox.executable.feature/library/carbon/eclipseCarbonMain.c create mode 100644 features/org.eclipse.equinox.executable.feature/library/carbon/eclipseMain.c create mode 100644 features/org.eclipse.equinox.executable.feature/library/carbon/make_carbon.mak create mode 100644 features/org.eclipse.equinox.executable.feature/library/carbon/make_cocoa.mak create mode 100644 features/org.eclipse.equinox.executable.feature/library/eclipse.c create mode 100644 features/org.eclipse.equinox.executable.feature/library/eclipseCommon.c create mode 100644 features/org.eclipse.equinox.executable.feature/library/eclipseCommon.h create mode 100644 features/org.eclipse.equinox.executable.feature/library/eclipseConfig.c create mode 100644 features/org.eclipse.equinox.executable.feature/library/eclipseConfig.h create mode 100644 features/org.eclipse.equinox.executable.feature/library/eclipseJNI.c create mode 100644 features/org.eclipse.equinox.executable.feature/library/eclipseJNI.h create mode 100644 features/org.eclipse.equinox.executable.feature/library/eclipseMain.c create mode 100644 features/org.eclipse.equinox.executable.feature/library/eclipseMozilla.c create mode 100644 features/org.eclipse.equinox.executable.feature/library/eclipseMozilla.h create mode 100644 features/org.eclipse.equinox.executable.feature/library/eclipseNix.c create mode 100644 features/org.eclipse.equinox.executable.feature/library/eclipseOS.h create mode 100644 features/org.eclipse.equinox.executable.feature/library/eclipseShm.c create mode 100644 features/org.eclipse.equinox.executable.feature/library/eclipseShm.h create mode 100644 features/org.eclipse.equinox.executable.feature/library/eclipseUnicode.h create mode 100644 features/org.eclipse.equinox.executable.feature/library/eclipseUtil.c create mode 100644 features/org.eclipse.equinox.executable.feature/library/eclipseUtil.h create mode 100644 features/org.eclipse.equinox.executable.feature/library/gtk/.gitignore create mode 100644 features/org.eclipse.equinox.executable.feature/library/gtk/build.sh create mode 100644 features/org.eclipse.equinox.executable.feature/library/gtk/build.xml create mode 100644 features/org.eclipse.equinox.executable.feature/library/gtk/eclipseGtk.c create mode 100644 features/org.eclipse.equinox.executable.feature/library/gtk/eclipseGtk.h create mode 100644 features/org.eclipse.equinox.executable.feature/library/gtk/eclipseGtkCommon.c create mode 100644 features/org.eclipse.equinox.executable.feature/library/gtk/eclipseGtkInit.c create mode 100644 features/org.eclipse.equinox.executable.feature/library/gtk/make_aix.mak create mode 100644 features/org.eclipse.equinox.executable.feature/library/gtk/make_hpux.mak create mode 100644 features/org.eclipse.equinox.executable.feature/library/gtk/make_linux.mak create mode 100644 features/org.eclipse.equinox.executable.feature/library/gtk/make_solaris.mak create mode 100644 features/org.eclipse.equinox.executable.feature/library/make_version.mak create mode 100644 features/org.eclipse.equinox.executable.feature/library/motif/.cvsignore create mode 100644 features/org.eclipse.equinox.executable.feature/library/motif/NgCommon.c create mode 100644 features/org.eclipse.equinox.executable.feature/library/motif/NgCommon.h create mode 100644 features/org.eclipse.equinox.executable.feature/library/motif/NgImage.c create mode 100644 features/org.eclipse.equinox.executable.feature/library/motif/NgImage.h create mode 100644 features/org.eclipse.equinox.executable.feature/library/motif/NgImageData.c create mode 100644 features/org.eclipse.equinox.executable.feature/library/motif/NgImageData.h create mode 100644 features/org.eclipse.equinox.executable.feature/library/motif/NgWinBMPFileFormat.c create mode 100644 features/org.eclipse.equinox.executable.feature/library/motif/NgWinBMPFileFormat.h create mode 100644 features/org.eclipse.equinox.executable.feature/library/motif/build.sh create mode 100644 features/org.eclipse.equinox.executable.feature/library/motif/build.xml create mode 100644 features/org.eclipse.equinox.executable.feature/library/motif/eclipseMotif.c create mode 100644 features/org.eclipse.equinox.executable.feature/library/motif/eclipseMotif.h create mode 100644 features/org.eclipse.equinox.executable.feature/library/motif/eclipseMotifCommon.c create mode 100644 features/org.eclipse.equinox.executable.feature/library/motif/eclipseMotifInit.c create mode 100644 features/org.eclipse.equinox.executable.feature/library/motif/eclipseMotifShim.c create mode 100644 features/org.eclipse.equinox.executable.feature/library/motif/make_aix.mak create mode 100644 features/org.eclipse.equinox.executable.feature/library/motif/make_hpux_PA_RISC.mak create mode 100644 features/org.eclipse.equinox.executable.feature/library/motif/make_hpux_ia64_32.mak create mode 100644 features/org.eclipse.equinox.executable.feature/library/motif/make_linux.mak create mode 100644 features/org.eclipse.equinox.executable.feature/library/motif/make_solaris.mak create mode 100644 features/org.eclipse.equinox.executable.feature/library/photon/.cvsignore create mode 100644 features/org.eclipse.equinox.executable.feature/library/photon/build.sh create mode 100644 features/org.eclipse.equinox.executable.feature/library/photon/build.xml create mode 100644 features/org.eclipse.equinox.executable.feature/library/photon/eclipsePhoton.c create mode 100644 features/org.eclipse.equinox.executable.feature/library/photon/make_qnx.mak create mode 100644 features/org.eclipse.equinox.executable.feature/library/win32/.cvsignore create mode 100644 features/org.eclipse.equinox.executable.feature/library/win32/build.bat create mode 100644 features/org.eclipse.equinox.executable.feature/library/win32/build.sh create mode 100644 features/org.eclipse.equinox.executable.feature/library/win32/build.xml create mode 100644 features/org.eclipse.equinox.executable.feature/library/win32/eclipse.exe.manifest create mode 100644 features/org.eclipse.equinox.executable.feature/library/win32/eclipse.ico create mode 100644 features/org.eclipse.equinox.executable.feature/library/win32/eclipse.rc create mode 100644 features/org.eclipse.equinox.executable.feature/library/win32/eclipseWin.c create mode 100644 features/org.eclipse.equinox.executable.feature/library/win32/eclipseWinCommon.c create mode 100644 features/org.eclipse.equinox.executable.feature/library/win32/make_mingw.mak create mode 100644 features/org.eclipse.equinox.executable.feature/library/win32/make_win32.mak create mode 100644 features/org.eclipse.equinox.executable.feature/library/win32/make_win64.mak create mode 100644 features/org.eclipse.equinox.executable.feature/library/win32/make_win64_ia64.mak create mode 100644 features/org.eclipse.equinox.executable.feature/library/wpf/.cvsignore create mode 100644 features/org.eclipse.equinox.executable.feature/library/wpf/build.bat create mode 100644 features/org.eclipse.equinox.executable.feature/library/wpf/build.xml create mode 100644 features/org.eclipse.equinox.executable.feature/library/wpf/com.c create mode 100644 features/org.eclipse.equinox.executable.feature/library/wpf/eclipse.ico create mode 100644 features/org.eclipse.equinox.executable.feature/library/wpf/eclipse.rc create mode 100644 features/org.eclipse.equinox.executable.feature/library/wpf/eclipseWpf.cpp create mode 100644 features/org.eclipse.equinox.executable.feature/library/wpf/eclipseWpfCommon.cpp create mode 100644 features/org.eclipse.equinox.executable.feature/library/wpf/make_wpf.mak create mode 100644 features/org.eclipse.equinox.executable.feature/motif_root/about.html create mode 100644 features/org.eclipse.equinox.executable.feature/motif_root/about_files/about_open_motif.html create mode 100644 features/org.eclipse.equinox.executable.feature/motif_root/about_files/mlpl-v10.html create mode 100644 features/org.eclipse.equinox.executable.feature/pom.xml (limited to 'features/org.eclipse.equinox.executable.feature') diff --git a/features/org.eclipse.equinox.executable.feature/.cdtproject b/features/org.eclipse.equinox.executable.feature/.cdtproject new file mode 100644 index 000000000..1f97f1385 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/.cdtproject @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +make +-f make_macosx.mak +all +false +false + + +make +-f make_macosx.mak +clean +false +false + + +make +-f make_mingw.mak +all +false +false + + +make +-f make_mingw.mak +clean +false +false + + +make +-f make_linux.mak JAVA_HOME=/usr/java/1.5 DEFAULT_WS=motif +all +false +false + + +make +-f make_linux.mak +clean +false +false + + +make +-f make_linux.mak JAVA_HOME=/usr/java/1.5 +all +false +false + + +make +-f make_linux.mak +clean +false +false + + + + + diff --git a/features/org.eclipse.equinox.executable.feature/.cproject b/features/org.eclipse.equinox.executable.feature/.cproject new file mode 100644 index 000000000..a7f3cb985 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/.cproject @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + make + -f make_linux.mak DEFAULT_OS_ARCH=x86_64 JAVA_HOME=/usr/java/ibm-150 + all + false + false + true + + + make + -f make_linux.mak + clean + false + false + true + + + make + -f make_macosx.mak + all + false + false + true + + + make + -f make_macosx.mak + clean + false + false + true + + + make + -f make_mingw.mak JAVA_HOME=C:/Dev/Java/IBM-1.6.0-20090519-SR5 + all + false + false + true + + + make + -f make_mingw.mak + clean + false + false + true + + + make + -f make_linux.mak JAVA_HOME=/usr/java/1.5 DEFAULT_WS=motif MOTIF_HOME=/eclipse/motif21 + all + false + false + true + + + make + -f make_linux.mak + clean + false + false + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/features/org.eclipse.equinox.executable.feature/.cvsignore b/features/org.eclipse.equinox.executable.feature/.cvsignore new file mode 100644 index 000000000..78fb1fcef --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/.cvsignore @@ -0,0 +1 @@ +.gdb_history diff --git a/features/org.eclipse.equinox.executable.feature/.project b/features/org.eclipse.equinox.executable.feature/.project new file mode 100644 index 000000000..f68290670 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/.project @@ -0,0 +1,86 @@ + + + org.eclipse.equinox.executable + + + + + + org.eclipse.cdt.make.core.makeBuilder + clean,full,incremental, + + + org.eclipse.cdt.core.errorOutputParser + org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.VCErrorParser; + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.build.arguments + -f make_${system:OS}.mak + + + org.eclipse.cdt.make.core.build.command + make + + + org.eclipse.cdt.make.core.build.location + /org.eclipse.equinox.executable/library/${system_property:osgi.ws} + + + org.eclipse.cdt.make.core.build.target.auto + all + + + org.eclipse.cdt.make.core.build.target.clean + clean + + + org.eclipse.cdt.make.core.build.target.inc + all + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.enabledIncrementalBuild + true + + + org.eclipse.cdt.make.core.environment + DEFAULT_OS=${system_property:osgi.os}|DEFAULT_OS_ARCH=${system_property:osgi.arch}|X11_HOME=/usr/X11R6|DEFAULT_WS=${system_property:osgi.ws}|JAVA_HOME=${system_property:java.home}/..|MOTIF_HOME=/usr/X11|PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/lib64/pkgconfig:/usr/share/pkgconfig:/opt/kde3/lib64/pkgconfig:/opt/gnome/lib64/pkgconfig:/opt/gnome/lib64/pkgconfig:/opt/gnome/share/pkgconfig| + + + org.eclipse.cdt.make.core.stopOnError + false + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + false + + + + + org.eclipse.cdt.make.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.make.core.makeNature + org.eclipse.cdt.make.core.ScannerConfigNature + org.eclipse.pde.FeatureNature + + diff --git a/features/org.eclipse.equinox.executable.feature/.settings/org.eclipse.cdt.core.prefs b/features/org.eclipse.equinox.executable.feature/.settings/org.eclipse.cdt.core.prefs new file mode 100644 index 000000000..9a13d6dfc --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/.settings/org.eclipse.cdt.core.prefs @@ -0,0 +1,163 @@ +#Mon Mar 21 13:05:40 EDT 2011 +eclipse.preferences.version=1 +indexer/filesToParseUpFront= +indexer/indexAllFiles=true +indexer/indexUnusedHeadersWithDefaultLang=false +indexer/indexerId=org.eclipse.cdt.core.fastIndexer +indexer/skipFilesLargerThanMB=8 +indexer/skipImplicitReferences=false +indexer/skipMacroReferences=false +indexer/skipReferences=false +indexer/skipTypeReferences=false +indexer/useHeuristicIncludeResolution=true +indexerId=org.eclipse.cdt.core.fastIndexer +org.eclipse.cdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.cdt.core.formatter.alignment_for_base_clause_in_type_declaration=16 +org.eclipse.cdt.core.formatter.alignment_for_compact_if=0 +org.eclipse.cdt.core.formatter.alignment_for_conditional_expression=80 +org.eclipse.cdt.core.formatter.alignment_for_declarator_list=16 +org.eclipse.cdt.core.formatter.alignment_for_enumerator_list=16 +org.eclipse.cdt.core.formatter.alignment_for_expression_list=0 +org.eclipse.cdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.cdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.cdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 +org.eclipse.cdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.cdt.core.formatter.brace_position_for_block=end_of_line +org.eclipse.cdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.cdt.core.formatter.brace_position_for_method_declaration=end_of_line +org.eclipse.cdt.core.formatter.brace_position_for_namespace_declaration=end_of_line +org.eclipse.cdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.cdt.core.formatter.brace_position_for_type_declaration=end_of_line +org.eclipse.cdt.core.formatter.compact_else_if=true +org.eclipse.cdt.core.formatter.continuation_indentation=2 +org.eclipse.cdt.core.formatter.continuation_indentation_for_array_initializer=2 +org.eclipse.cdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.cdt.core.formatter.indent_access_specifier_compare_to_type_header=false +org.eclipse.cdt.core.formatter.indent_body_declarations_compare_to_access_specifier=true +org.eclipse.cdt.core.formatter.indent_body_declarations_compare_to_namespace_header=true +org.eclipse.cdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.cdt.core.formatter.indent_declaration_compare_to_template_header=false +org.eclipse.cdt.core.formatter.indent_empty_lines=false +org.eclipse.cdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.cdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.cdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.cdt.core.formatter.indent_switchstatements_compare_to_switch=true +org.eclipse.cdt.core.formatter.indentation.size=4 +org.eclipse.cdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.cdt.core.formatter.insert_new_line_after_template_declaration=do not insert +org.eclipse.cdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert +org.eclipse.cdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert +org.eclipse.cdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.cdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert +org.eclipse.cdt.core.formatter.insert_new_line_before_identifier_in_function_declaration=do not insert +org.eclipse.cdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.cdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.cdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.cdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.cdt.core.formatter.insert_space_after_closing_angle_bracket_in_template_arguments=insert +org.eclipse.cdt.core.formatter.insert_space_after_closing_angle_bracket_in_template_parameters=insert +org.eclipse.cdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.cdt.core.formatter.insert_space_after_closing_paren_in_cast=insert +org.eclipse.cdt.core.formatter.insert_space_after_colon_in_base_clause=insert +org.eclipse.cdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.cdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.cdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.cdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.cdt.core.formatter.insert_space_after_comma_in_base_types=insert +org.eclipse.cdt.core.formatter.insert_space_after_comma_in_declarator_list=insert +org.eclipse.cdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.cdt.core.formatter.insert_space_after_comma_in_expression_list=insert +org.eclipse.cdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.cdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.cdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.cdt.core.formatter.insert_space_after_comma_in_template_arguments=insert +org.eclipse.cdt.core.formatter.insert_space_after_comma_in_template_parameters=insert +org.eclipse.cdt.core.formatter.insert_space_after_opening_angle_bracket_in_template_arguments=do not insert +org.eclipse.cdt.core.formatter.insert_space_after_opening_angle_bracket_in_template_parameters=do not insert +org.eclipse.cdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.cdt.core.formatter.insert_space_after_opening_bracket=do not insert +org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_exception_specification=do not insert +org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.cdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.cdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.cdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.cdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.cdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.cdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.cdt.core.formatter.insert_space_before_closing_angle_bracket_in_template_arguments=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_closing_angle_bracket_in_template_parameters=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.cdt.core.formatter.insert_space_before_closing_bracket=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_exception_specification=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_colon_in_base_clause=insert +org.eclipse.cdt.core.formatter.insert_space_before_colon_in_case=insert +org.eclipse.cdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.cdt.core.formatter.insert_space_before_colon_in_default=insert +org.eclipse.cdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_comma_in_base_types=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_comma_in_declarator_list=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_comma_in_expression_list=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_comma_in_template_arguments=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_comma_in_template_parameters=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_angle_bracket_in_template_arguments=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_angle_bracket_in_template_parameters=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_namespace_declaration=insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_bracket=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_exception_specification=insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.cdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.cdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.cdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.cdt.core.formatter.insert_space_between_empty_brackets=do not insert +org.eclipse.cdt.core.formatter.insert_space_between_empty_parens_in_exception_specification=do not insert +org.eclipse.cdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.cdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.cdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.cdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.cdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.cdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.cdt.core.formatter.lineSplit=800 +org.eclipse.cdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.cdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.cdt.core.formatter.tabulation.char=tab +org.eclipse.cdt.core.formatter.tabulation.size=4 +org.eclipse.cdt.core.formatter.use_tabs_only_for_leading_indentations=false diff --git a/features/org.eclipse.equinox.executable.feature/.settings/org.eclipse.cdt.ui.prefs b/features/org.eclipse.equinox.executable.feature/.settings/org.eclipse.cdt.ui.prefs new file mode 100644 index 000000000..05a38d497 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/.settings/org.eclipse.cdt.ui.prefs @@ -0,0 +1,4 @@ +#Thu Feb 04 13:33:58 EST 2010 +formatter_settings_version=1 +eclipse.preferences.version=1 +formatter_profile=_Equinox diff --git a/features/org.eclipse.equinox.executable.feature/bin/carbon/macosx/ppc/Eclipse.app/Contents/Info.plist b/features/org.eclipse.equinox.executable.feature/bin/carbon/macosx/ppc/Eclipse.app/Contents/Info.plist new file mode 100644 index 000000000..e784368f7 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/bin/carbon/macosx/ppc/Eclipse.app/Contents/Info.plist @@ -0,0 +1,73 @@ + + + + + + CFBundleExecutable + eclipse + CFBundleGetInfoString + Eclipse 3.8 for Mac OS X, Copyright IBM Corp. and others 2002, 2011. All rights reserved. + CFBundleIconFile + Eclipse.icns + CFBundleIdentifier + org.eclipse.eclipse + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + Eclipse + CFBundlePackageType + APPL + CFBundleShortVersionString + 3.8 + CFBundleSignature + ???? + CFBundleVersion + 3.8 + CFBundleDevelopmentRegion + English + CFBundleLocalizations + + ar + cs + da + el + en + es + de + fi + fr + hu + it + iw + ja + ko + nl + no + pl + pt_BR + pt + ru + sv + tr + zh_HK + zh_TW + zh + + + Eclipse + + + -keyring~/.eclipse_keyring + -showlocation + + + + + diff --git a/features/org.eclipse.equinox.executable.feature/bin/carbon/macosx/ppc/Eclipse.app/Contents/MacOS/eclipse.ini b/features/org.eclipse.equinox.executable.feature/bin/carbon/macosx/ppc/Eclipse.app/Contents/MacOS/eclipse.ini new file mode 100644 index 000000000..eedcd4c03 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/bin/carbon/macosx/ppc/Eclipse.app/Contents/MacOS/eclipse.ini @@ -0,0 +1,9 @@ +-showsplash +org.eclipse.platform +-vmargs +-Xdock:icon=../Resources/Eclipse.icns +-XstartOnFirstThread +-Xms40m +-Xmx256m +-XX:MaxPermSize=256m +-Dorg.eclipse.swt.internal.carbon.smallFonts \ No newline at end of file diff --git a/features/org.eclipse.equinox.executable.feature/bin/carbon/macosx/ppc/Eclipse.app/Contents/Resources/Eclipse.icns b/features/org.eclipse.equinox.executable.feature/bin/carbon/macosx/ppc/Eclipse.app/Contents/Resources/Eclipse.icns new file mode 100644 index 000000000..875e32dde Binary files /dev/null and b/features/org.eclipse.equinox.executable.feature/bin/carbon/macosx/ppc/Eclipse.app/Contents/Resources/Eclipse.icns differ diff --git a/features/org.eclipse.equinox.executable.feature/bin/carbon/macosx/x86/Eclipse.app/Contents/Info.plist b/features/org.eclipse.equinox.executable.feature/bin/carbon/macosx/x86/Eclipse.app/Contents/Info.plist new file mode 100644 index 000000000..b55548fb3 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/bin/carbon/macosx/x86/Eclipse.app/Contents/Info.plist @@ -0,0 +1,73 @@ + + + + + + CFBundleExecutable + eclipse + CFBundleGetInfoString + Eclipse 3.8 for Mac OS X, Copyright IBM Corp. and others 2002, 2011. All rights reserved. + CFBundleIconFile + Eclipse.icns + CFBundleIdentifier + org.eclipse.eclipse + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + Eclipse + CFBundlePackageType + APPL + CFBundleShortVersionString + 3.8 + CFBundleSignature + ???? + CFBundleVersion + 3.8 + CFBundleDevelopmentRegion + English + CFBundleLocalizations + + ar + cs + da + el + en + es + de + fi + fr + hu + it + iw + ja + ko + nl + no + pl + pt_BR + pt + ru + sv + tr + zh_HK + zh_TW + zh + + + Eclipse + + + -keyring~/.eclipse_keyring + -showlocation + + + + + diff --git a/features/org.eclipse.equinox.executable.feature/bin/carbon/macosx/x86/Eclipse.app/Contents/MacOS/eclipse.ini b/features/org.eclipse.equinox.executable.feature/bin/carbon/macosx/x86/Eclipse.app/Contents/MacOS/eclipse.ini new file mode 100644 index 000000000..eedcd4c03 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/bin/carbon/macosx/x86/Eclipse.app/Contents/MacOS/eclipse.ini @@ -0,0 +1,9 @@ +-showsplash +org.eclipse.platform +-vmargs +-Xdock:icon=../Resources/Eclipse.icns +-XstartOnFirstThread +-Xms40m +-Xmx256m +-XX:MaxPermSize=256m +-Dorg.eclipse.swt.internal.carbon.smallFonts \ No newline at end of file diff --git a/features/org.eclipse.equinox.executable.feature/bin/carbon/macosx/x86/Eclipse.app/Contents/Resources/Eclipse.icns b/features/org.eclipse.equinox.executable.feature/bin/carbon/macosx/x86/Eclipse.app/Contents/Resources/Eclipse.icns new file mode 100644 index 000000000..875e32dde Binary files /dev/null and b/features/org.eclipse.equinox.executable.feature/bin/carbon/macosx/x86/Eclipse.app/Contents/Resources/Eclipse.icns differ diff --git a/features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/ppc/Eclipse.app/Contents/Info.plist b/features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/ppc/Eclipse.app/Contents/Info.plist new file mode 100644 index 000000000..e784368f7 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/ppc/Eclipse.app/Contents/Info.plist @@ -0,0 +1,73 @@ + + + + + + CFBundleExecutable + eclipse + CFBundleGetInfoString + Eclipse 3.8 for Mac OS X, Copyright IBM Corp. and others 2002, 2011. All rights reserved. + CFBundleIconFile + Eclipse.icns + CFBundleIdentifier + org.eclipse.eclipse + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + Eclipse + CFBundlePackageType + APPL + CFBundleShortVersionString + 3.8 + CFBundleSignature + ???? + CFBundleVersion + 3.8 + CFBundleDevelopmentRegion + English + CFBundleLocalizations + + ar + cs + da + el + en + es + de + fi + fr + hu + it + iw + ja + ko + nl + no + pl + pt_BR + pt + ru + sv + tr + zh_HK + zh_TW + zh + + + Eclipse + + + -keyring~/.eclipse_keyring + -showlocation + + + + + diff --git a/features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/ppc/Eclipse.app/Contents/MacOS/eclipse.ini b/features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/ppc/Eclipse.app/Contents/MacOS/eclipse.ini new file mode 100644 index 000000000..72fea18c7 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/ppc/Eclipse.app/Contents/MacOS/eclipse.ini @@ -0,0 +1,9 @@ +-showsplash +org.eclipse.platform +-vmargs +-Xdock:icon=../Resources/Eclipse.icns +-XstartOnFirstThread +-Xms40m +-Xmx256m +-XX:MaxPermSize=256m +-Dorg.eclipse.swt.internal.carbon.smallFonts diff --git a/features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/ppc/Eclipse.app/Contents/Resources/Eclipse.icns b/features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/ppc/Eclipse.app/Contents/Resources/Eclipse.icns new file mode 100644 index 000000000..875e32dde Binary files /dev/null and b/features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/ppc/Eclipse.app/Contents/Resources/Eclipse.icns differ diff --git a/features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/x86/Eclipse.app/Contents/Info.plist b/features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/x86/Eclipse.app/Contents/Info.plist new file mode 100644 index 000000000..864546bac --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/x86/Eclipse.app/Contents/Info.plist @@ -0,0 +1,75 @@ + + + + + + CFBundleExecutable + eclipse + CFBundleGetInfoString + Eclipse 4.3 for Mac OS X, Copyright IBM Corp. and others 2002, 2012. All rights reserved. + CFBundleIconFile + Eclipse.icns + CFBundleIdentifier + org.eclipse.eclipse + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + Eclipse + CFBundlePackageType + APPL + CFBundleShortVersionString + 4.3 + CFBundleSignature + ???? + CFBundleVersion + 4.3 + NSHighResolutionCapable + + CFBundleDevelopmentRegion + English + CFBundleLocalizations + + ar + cs + da + el + en + es + de + fi + fr + hu + it + iw + ja + ko + nl + no + pl + pt_BR + pt + ru + sv + tr + zh_HK + zh_TW + zh + + + Eclipse + + + -keyring~/.eclipse_keyring + -showlocation + + + + + diff --git a/features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/x86/Eclipse.app/Contents/MacOS/eclipse.ini b/features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/x86/Eclipse.app/Contents/MacOS/eclipse.ini new file mode 100644 index 000000000..72fea18c7 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/x86/Eclipse.app/Contents/MacOS/eclipse.ini @@ -0,0 +1,9 @@ +-showsplash +org.eclipse.platform +-vmargs +-Xdock:icon=../Resources/Eclipse.icns +-XstartOnFirstThread +-Xms40m +-Xmx256m +-XX:MaxPermSize=256m +-Dorg.eclipse.swt.internal.carbon.smallFonts diff --git a/features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/x86/Eclipse.app/Contents/Resources/Eclipse.icns b/features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/x86/Eclipse.app/Contents/Resources/Eclipse.icns new file mode 100644 index 000000000..875e32dde Binary files /dev/null and b/features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/x86/Eclipse.app/Contents/Resources/Eclipse.icns differ diff --git a/features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/Info.plist b/features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/Info.plist new file mode 100644 index 000000000..864546bac --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/Info.plist @@ -0,0 +1,75 @@ + + + + + + CFBundleExecutable + eclipse + CFBundleGetInfoString + Eclipse 4.3 for Mac OS X, Copyright IBM Corp. and others 2002, 2012. All rights reserved. + CFBundleIconFile + Eclipse.icns + CFBundleIdentifier + org.eclipse.eclipse + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + Eclipse + CFBundlePackageType + APPL + CFBundleShortVersionString + 4.3 + CFBundleSignature + ???? + CFBundleVersion + 4.3 + NSHighResolutionCapable + + CFBundleDevelopmentRegion + English + CFBundleLocalizations + + ar + cs + da + el + en + es + de + fi + fr + hu + it + iw + ja + ko + nl + no + pl + pt_BR + pt + ru + sv + tr + zh_HK + zh_TW + zh + + + Eclipse + + + -keyring~/.eclipse_keyring + -showlocation + + + + + diff --git a/features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/MacOS/eclipse.ini b/features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/MacOS/eclipse.ini new file mode 100644 index 000000000..72fea18c7 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/MacOS/eclipse.ini @@ -0,0 +1,9 @@ +-showsplash +org.eclipse.platform +-vmargs +-Xdock:icon=../Resources/Eclipse.icns +-XstartOnFirstThread +-Xms40m +-Xmx256m +-XX:MaxPermSize=256m +-Dorg.eclipse.swt.internal.carbon.smallFonts diff --git a/features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/Resources/Eclipse.icns b/features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/Resources/Eclipse.icns new file mode 100644 index 000000000..875e32dde Binary files /dev/null and b/features/org.eclipse.equinox.executable.feature/bin/cocoa/macosx/x86_64/Eclipse.app/Contents/Resources/Eclipse.icns differ diff --git a/features/org.eclipse.equinox.executable.feature/bin/gtk/linux/x86/icon.xpm b/features/org.eclipse.equinox.executable.feature/bin/gtk/linux/x86/icon.xpm new file mode 100644 index 000000000..f4bd8d808 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/bin/gtk/linux/x86/icon.xpm @@ -0,0 +1,16242 @@ +/* XPM */ +static char * eclipse_256_xpm[] = { +"256 256 15983 3", +" c None", +". c #281140", +"+ c #27113F", +"@ c #26103E", +"# c #26103D", +"$ c #27103F", +"% c #26103F", +"& c #25103D", +"* c #24103B", +"= c #291241", +"- c #2A1342", +"; c #291341", +"> c #291342", +", c #2B1443", +"' c #2C1444", +") c #2C1544", +"! c #2C1545", +"~ c #2D1545", +"{ c #2D1645", +"] c #2B1444", +"^ c #250F3D", +"/ c #240F3C", +"( c #240E3B", +"_ c #230E3A", +": c #291242", +"< c #2A1443", +"[ c #2E1646", +"} c #2E1747", +"| c #2F1747", +"1 c #301848", +"2 c #301849", +"3 c #311949", +"4 c #321A4A", +"5 c #321A4B", +"6 c #331A4B", +"7 c #331B4B", +"8 c #331B4C", +"9 c #341B4C", +"0 c #341C4C", +"a c #31194A", +"b c #281141", +"c c #260F3E", +"d c #220E39", +"e c #210E38", +"f c #2A1442", +"g c #2B1543", +"h c #2D1646", +"i c #2F1748", +"j c #361E50", +"k c #382052", +"l c #392053", +"m c #392153", +"n c #392052", +"o c #361E4E", +"p c #371F4F", +"q c #382050", +"r c #392051", +"s c #392151", +"t c #3A2151", +"u c #3A2252", +"v c #361D4E", +"w c #351C4D", +"x c #341C4D", +"y c #2D1546", +"z c #2C1445", +"A c #2B1343", +"B c #2A1242", +"C c #240F3B", +"D c #2E1746", +"E c #2F1848", +"F c #361E4F", +"G c #40285A", +"H c #452D60", +"I c #4E356A", +"J c #533B70", +"K c #543B72", +"L c #523971", +"M c #513870", +"N c #50366E", +"O c #4F356D", +"P c #4E336B", +"Q c #4C326A", +"R c #4B3168", +"S c #482E63", +"T c #452C60", +"U c #432A5C", +"V c #412959", +"W c #412958", +"X c #422A59", +"Y c #422A5A", +"Z c #432B5A", +"` c #402858", +" . c #3F2757", +".. c #3E2656", +"+. c #3D2555", +"@. c #3C2454", +"#. c #3B2353", +"$. c #2E1647", +"%. c #2A1343", +"&. c #230F3B", +"*. c #200E37", +"=. c #301949", +"-. c #3B2354", +";. c #473062", +">. c #523B6E", +",. c #5D457A", +"'. c #5E467B", +"). c #5C4479", +"!. c #5B4278", +"~. c #594077", +"{. c #583F75", +"]. c #563D74", +"^. c #553B72", +"/. c #543B71", +"(. c #543A71", +"_. c #543A70", +":. c #53396F", +"<. c #533A6F", +"[. c #543B70", +"}. c #553C71", +"|. c #563D72", +"1. c #573E73", +"2. c #543B6E", +"3. c #503968", +"4. c #4E3664", +"5. c #4E3764", +"6. c #4E3765", +"7. c #4F3765", +"8. c #4F3865", +"9. c #4D3663", +"0. c #4C3563", +"a. c #4C3462", +"b. c #4B3361", +"c. c #4A3260", +"d. c #49315F", +"e. c #48305E", +"f. c #472F5D", +"g. c #452D5C", +"h. c #442C5B", +"i. c #422B5A", +"j. c #402757", +"k. c #3D2454", +"l. c #381F50", +"m. c #32194A", +"n. c #210E37", +"o. c #200E36", +"p. c #2A1542", +"q. c #382151", +"r. c #4B3464", +"s. c #594274", +"t. c #654F81", +"u. c #685183", +"v. c #674F83", +"w. c #654E82", +"x. c #634B80", +"y. c #62497F", +"z. c #60477D", +"A. c #5F467B", +"B. c #5E457B", +"C. c #5E457A", +"D. c #5E447A", +"E. c #5E4579", +"F. c #5D4479", +"G. c #5D4478", +"H. c #5E4679", +"I. c #60477A", +"J. c #61497B", +"K. c #624A7C", +"L. c #634B7D", +"M. c #644D7E", +"N. c #654D7F", +"O. c #644C7D", +"P. c #604977", +"Q. c #5C4671", +"R. c #5C4570", +"S. c #5B4570", +"T. c #5A4470", +"U. c #5A446F", +"V. c #59436E", +"W. c #58426D", +"X. c #57406C", +"Y. c #56406C", +"Z. c #553E6A", +"`. c #543D69", +" + c #523B68", +".+ c #513A67", +"++ c #4A3261", +"@+ c #3F2656", +"#+ c #3B2252", +"$+ c #392050", +"%+ c #371E4F", +"&+ c #250F3C", +"*+ c #301948", +"=+ c #3E2757", +"-+ c #574170", +";+ c #6A5484", +">+ c #705A8B", +",+ c #6F588A", +"'+ c #6D5788", +")+ c #6C5587", +"!+ c #6A5386", +"~+ c #685184", +"{+ c #664E82", +"]+ c #664E81", +"^+ c #674E81", +"/+ c #674F81", +"(+ c #675081", +"_+ c #685082", +":+ c #685182", +"<+ c #695282", +"[+ c #6B5484", +"}+ c #6C5685", +"|+ c #6E5786", +"1+ c #6F5987", +"2+ c #715A88", +"3+ c #725B89", +"4+ c #725C8A", +"5+ c #735D8A", +"6+ c #745E8B", +"7+ c #745D8B", +"8+ c #6F5A84", +"9+ c #6B567E", +"0+ c #6A567E", +"a+ c #6A557D", +"b+ c #69557D", +"c+ c #69547C", +"d+ c #68537C", +"e+ c #67527B", +"f+ c #66517A", +"g+ c #655079", +"h+ c #644F78", +"i+ c #624D77", +"j+ c #614B75", +"k+ c #5F4A74", +"l+ c #5E4872", +"m+ c #543D6A", +"n+ c #503966", +"o+ c #4D3664", +"p+ c #4B3462", +"q+ c #462F5D", +"r+ c #3D2554", +"s+ c #2F1647", +"t+ c #2A1541", +"u+ c #2B1643", +"v+ c #2F1847", +"w+ c #3F2858", +"x+ c #5F4A78", +"y+ c #74608D", +"z+ c #776290", +"A+ c #76608F", +"B+ c #745F8E", +"C+ c #735D8D", +"D+ c #715A8B", +"E+ c #6F5889", +"F+ c #6E5788", +"G+ c #6D5688", +"H+ c #6E5688", +"I+ c #6E5789", +"J+ c #705989", +"K+ c #70598A", +"L+ c #715A8A", +"M+ c #715B8B", +"N+ c #735C8B", +"O+ c #745E8C", +"P+ c #765F8D", +"Q+ c #77618E", +"R+ c #796490", +"S+ c #7B6591", +"T+ c #7C6793", +"U+ c #7E6994", +"V+ c #806B95", +"W+ c #806C96", +"X+ c #816D96", +"Y+ c #826E97", +"Z+ c #836F98", +"`+ c #837098", +" @ c #847198", +".@ c #826F96", +"+@ c #7D6B8F", +"@@ c #7B698C", +"#@ c #7B688C", +"$@ c #7A688C", +"%@ c #79678B", +"&@ c #79658A", +"*@ c #776589", +"=@ c #776489", +"-@ c #766388", +";@ c #756187", +">@ c #735F85", +",@ c #725E84", +"'@ c #705C82", +")@ c #6E5A81", +"!@ c #6C587F", +"~@ c #644E78", +"{@ c #614C76", +"]@ c #5F4973", +"^@ c #5A436F", +"/@ c #523A68", +"(@ c #493260", +"_@ c #3C2353", +":@ c #291640", +"<@ c #2B1642", +"[@ c #2D1745", +"}@ c #3B2553", +"|@ c #5E4A76", +"1@ c #75628D", +"2@ c #7D6A96", +"3@ c #7C6895", +"4@ c #7B6694", +"5@ c #796492", +"6@ c #776190", +"7@ c #745E8E", +"8@ c #745D8E", +"9@ c #755E8E", +"0@ c #755F8F", +"a@ c #786291", +"b@ c #796392", +"c@ c #7A6592", +"d@ c #7C6693", +"e@ c #7D6794", +"f@ c #7F6B95", +"g@ c #816C96", +"h@ c #847199", +"i@ c #86739B", +"j@ c #89769C", +"k@ c #8B789E", +"l@ c #8D7A9F", +"m@ c #8E7CA1", +"n@ c #907EA2", +"o@ c #917FA3", +"p@ c #9280A4", +"q@ c #9382A5", +"r@ c #9482A6", +"s@ c #9483A6", +"t@ c #9484A6", +"u@ c #9180A1", +"v@ c #8C7C9B", +"w@ c #8C7B9B", +"x@ c #8B7B9A", +"y@ c #8A7999", +"z@ c #8A7898", +"A@ c #887898", +"B@ c #877697", +"C@ c #857495", +"D@ c #847394", +"E@ c #827093", +"F@ c #806E91", +"G@ c #7F6D8F", +"H@ c #7C6A8D", +"I@ c #786589", +"J@ c #756287", +"K@ c #6D5980", +"L@ c #614C75", +"M@ c #5E4873", +"N@ c #5B4470", +"O@ c #58416D", +"P@ c #48305F", +"Q@ c #3F2756", +"R@ c #3C2453", +"S@ c #2B1743", +"T@ c #2E1846", +"U@ c #37204F", +"V@ c #523D69", +"W@ c #83719A", +"X@ c #826F99", +"Y@ c #816D98", +"Z@ c #7F6B97", +"`@ c #7D6996", +" # c #7A6593", +".# c #796493", +"+# c #7A6493", +"@# c #7C6696", +"## c #7D6796", +"$# c #7C6795", +"%# c #7D6896", +"&# c #7F6A97", +"*# c #806B97", +"=# c #826D99", +"-# c #836E9A", +";# c #85709B", +"># c #87729C", +",# c #88749D", +"'# c #8A779F", +")# c #8C79A0", +"!# c #8E7BA1", +"~# c #907EA3", +"{# c #9584A7", +"]# c #9787A9", +"^# c #9A89AB", +"/# c #9C8CAD", +"(# c #9E8EAE", +"_# c #A090B0", +":# c #A192B1", +"<# c #A394B2", +"[# c #A495B3", +"}# c #A597B4", +"|# c #A697B5", +"1# c #A698B5", +"2# c #A698B6", +"3# c #A596B3", +"4# c #A092AD", +"5# c #9F90AB", +"6# c #9D8FAA", +"7# c #9C8EA9", +"8# c #9A8DA8", +"9# c #9A8BA7", +"0# c #9889A6", +"a# c #9688A4", +"b# c #9586A2", +"c# c #9383A1", +"d# c #90819F", +"e# c #8E7E9C", +"f# c #8B7B9B", +"g# c #897898", +"h# c #867596", +"i# c #837293", +"j# c #7D6B8E", +"k# c #7A678B", +"l# c #776388", +"m# c #736085", +"n# c #69537C", +"o# c #5D4872", +"p# c #533C68", +"q# c #361D4D", +"r# c #291141", +"s# c #2A1740", +"t# c #2C1743", +"u# c #3D2755", +"v# c #6A5680", +"w# c #84729A", +"x# c #88769E", +"y# c #87749D", +"z# c #86729D", +"A# c #836F9A", +"B# c #806D98", +"C# c #7E6A96", +"D# c #7E6996", +"E# c #7F6997", +"F# c #816C9A", +"G# c #85709E", +"H# c #86719F", +"I# c #836E9B", +"J# c #84709C", +"K# c #86719D", +"L# c #88739E", +"M# c #89759F", +"N# c #8B78A1", +"O# c #8D7AA2", +"P# c #8F7DA4", +"Q# c #9280A6", +"R# c #9482A7", +"S# c #9785A9", +"T# c #9988AB", +"U# c #9C8BAD", +"V# c #9E8EAF", +"W# c #A091B0", +"X# c #A799B6", +"Y# c #AA9CB8", +"Z# c #AC9FBA", +"`# c #AFA2BD", +" $ c #B1A5BE", +".$ c #B3A7C0", +"+$ c #B5A9C1", +"@$ c #B6ABC3", +"#$ c #B8ACC4", +"$$ c #B8ADC4", +"%$ c #B9AEC5", +"&$ c #BAAFC5", +"*$ c #BAB0C6", +"=$ c #B4A9BF", +"-$ c #B2A8BC", +";$ c #B1A6BB", +">$ c #AFA4BA", +",$ c #AEA2B9", +"'$ c #ADA1B7", +")$ c #AA9FB6", +"!$ c #A89CB4", +"~$ c #A69AB2", +"{$ c #A497B0", +"]$ c #A194AE", +"^$ c #9F91AB", +"/$ c #998AA6", +"($ c #9686A3", +"_$ c #9283A0", +":$ c #8F7F9D", +"<$ c #8B7A9A", +"[$ c #887797", +"}$ c #847294", +"|$ c #806E90", +"1$ c #7C698D", +"2$ c #736086", +"3$ c #6F5B82", +"4$ c #634D77", +"5$ c #533C69", +"6$ c #472F5E", +"7$ c #2A1741", +"8$ c #2C1844", +"9$ c #2F1947", +"0$ c #311A49", +"a$ c #503B67", +"b$ c #78658E", +"c$ c #8E7DA3", +"d$ c #8C7BA2", +"e$ c #8B79A1", +"f$ c #89779F", +"g$ c #86749D", +"h$ c #84709B", +"i$ c #846F9B", +"j$ c #8975A2", +"k$ c #8C77A5", +"l$ c #8D79A5", +"m$ c #8B77A2", +"n$ c #8C78A2", +"o$ c #8E7BA3", +"p$ c #907DA5", +"q$ c #9280A7", +"r$ c #9583A9", +"s$ c #9886AB", +"t$ c #9B8AAD", +"u$ c #9D8DAF", +"v$ c #A091B1", +"w$ c #A394B4", +"x$ c #AC9FBB", +"y$ c #B0A3BD", +"z$ c #B7ABC3", +"A$ c #BDB3C8", +"B$ c #C0B7CB", +"C$ c #C3BACD", +"D$ c #C6BDCF", +"E$ c #C8BFD0", +"F$ c #CAC2D2", +"G$ c #CBC4D4", +"H$ c #CCC5D4", +"I$ c #CEC6D6", +"J$ c #CFC7D7", +"K$ c #CFC8D7", +"L$ c #CFC9D8", +"M$ c #CEC7D6", +"N$ c #CDC5D5", +"O$ c #CAC2D1", +"P$ c #C7C0CE", +"Q$ c #C6BECD", +"R$ c #C4BCCB", +"S$ c #C2BACA", +"T$ c #C0B8C8", +"U$ c #BEB5C6", +"V$ c #BCB3C5", +"W$ c #B9B0C2", +"X$ c #B7ADC0", +"Y$ c #B3A9BD", +"Z$ c #B0A5BB", +"`$ c #ADA2B8", +" % c #A99DB5", +".% c #A295AE", +"+% c #9E90AB", +"@% c #9687A3", +"#% c #9182A0", +"$% c #8D7D9C", +"%% c #897798", +"&% c #7F6D90", +"*% c #766287", +"=% c #715D83", +"-% c #68527B", +";% c #634E77", +">% c #5E4973", +",% c #563F6B", +"'% c #523A67", +")% c #462D5C", +"!% c #381F4F", +"~% c #2A1841", +"{% c #2D1844", +"]% c #311A4A", +"^% c #57436E", +"/% c #86769A", +"(% c #9282A5", +"_% c #9080A4", +":% c #8F7EA4", +"<% c #8E7BA2", +"[% c #8A789F", +"}% c #87749E", +"|% c #87739D", +"1% c #88749F", +"2% c #8975A0", +"3% c #8D79A4", +"4% c #917CA8", +"5% c #927EA9", +"6% c #9480AB", +"7% c #9481A9", +"8% c #9481A8", +"9% c #9684AA", +"0% c #9987AC", +"a% c #9C8BAE", +"b% c #9F8FB1", +"c% c #A292B3", +"d% c #A696B6", +"e% c #A99BB9", +"f% c #AD9FBC", +"g% c #B0A3BF", +"h% c #B4A8C1", +"i% c #B8ACC5", +"j% c #BCB1C7", +"k% c #BFB5CA", +"l% c #C4BACD", +"m% c #D0C8D7", +"n% c #D3CDDA", +"o% c #D6D1DD", +"p% c #D9D4DF", +"q% c #DCD8E1", +"r% c #DEDAE3", +"s% c #E0DCE5", +"t% c #E2DEE6", +"u% c #E3DFE6", +"v% c #E3E0E8", +"w% c #E4E0E8", +"x% c #E4E1E9", +"y% c #E4E2E9", +"z% c #E0DDE4", +"A% c #DDDAE2", +"B% c #DCD8E0", +"C% c #DBD6DE", +"D% c #D8D4DD", +"E% c #D6D0DB", +"F% c #D3CFD9", +"G% c #D1CBD7", +"H% c #CEC8D4", +"I% c #CBC4D1", +"J% c #C3BCCB", +"K% c #C0B7C8", +"L% c #BCB3C4", +"M% c #B8AEC1", +"N% c #AEA3B9", +"O% c #AA9DB5", +"P% c #A598B1", +"Q% c #A092AC", +"R% c #9B8CA8", +"S% c #867495", +"T% c #766288", +"U% c #6C577F", +"V% c #5C4771", +"W% c #543C69", +"X% c #2B1841", +"Y% c #2F1948", +"Z% c #382150", +"`% c #5F4C75", +" & c #8A7A9E", +".& c #9686A9", +"+& c #9484A8", +"@& c #9282A7", +"#& c #907FA5", +"$& c #8D7BA2", +"%& c #8B79A0", +"&& c #8A78A0", +"*& c #8B78A0", +"=& c #8D79A2", +"-& c #907DA7", +";& c #9481AB", +">& c #9683AD", +",& c #9985AF", +"'& c #9A88B0", +")& c #9C8BB1", +"!& c #9B8AAE", +"~& c #9F8EB1", +"{& c #A596B6", +"]& c #A99AB9", +"^& c #B1A4BF", +"/& c #B5A8C3", +"(& c #B9AEC6", +"_& c #BEB3C9", +":& c #C2B8CD", +"<& c #C6BED0", +"[& c #CBC3D4", +"}& c #D0C9D8", +"|& c #D5CFDC", +"1& c #DAD5E0", +"2& c #E2DFE7", +"3& c #E5E2E8", +"4& c #E6E3EA", +"5& c #E8E5EB", +"6& c #E9E6EC", +"7& c #E8E6EB", +"8& c #E7E5EA", +"9& c #E6E4E9", +"0& c #E5E3E8", +"a& c #E4E1E7", +"b& c #E2DFE6", +"c& c #E0DDE3", +"d& c #D4CFD9", +"e& c #CFC9D5", +"f& c #CAC4D1", +"g& c #C5BECD", +"h& c #BBB1C3", +"i& c #B5ABBF", +"j& c #A396AF", +"k& c #9E90AA", +"l& c #9889A5", +"m& c #91829F", +"n& c #746186", +"o& c #6F5A81", +"p& c #59436F", +"q& c #2B1942", +"r& c #2C1943", +"s& c #301A47", +"t& c #614D76", +"u& c #9385A5", +"v& c #998BAC", +"w& c #9788AA", +"x& c #9687A9", +"y& c #9483A7", +"z& c #8E7CA3", +"A& c #8E7CA4", +"B& c #927FA8", +"C& c #907EA5", +"D& c #9380A8", +"E& c #9784AD", +"F& c #9A87B0", +"G& c #9C8AB1", +"H& c #9E8CB3", +"I& c #A090B5", +"J& c #A493B7", +"K& c #A494B6", +"L& c #A797B7", +"M& c #AA9CBA", +"N& c #AEA0BE", +"O& c #B3A6C1", +"P& c #B7ABC5", +"Q& c #BCB0C8", +"R& c #C1B6CC", +"S& c #C6BCD0", +"T& c #CBC2D4", +"U& c #D1CAD8", +"V& c #D7D1DE", +"W& c #DDD8E2", +"X& c #E5E2E9", +"Y& c #E7E4EB", +"Z& c #E8E6EC", +"`& c #DEDBE2", +" * c #D9D5DE", +".* c #D3CED9", +"+* c #CDC7D3", +"@* c #C6BFCD", +"#* c #B9AFC2", +"$* c #B2A7BC", +"%* c #AB9FB6", +"&* c #A498B0", +"** c #9788A4", +"=* c #90809E", +"-* c #837193", +";* c #7D6A8E", +">* c #715C83", +",* c #553E6B", +"'* c #2C1A42", +")* c #2C1942", +"!* c #2F1A47", +"~* c #311B4A", +"{* c #5B4871", +"]* c #9081A2", +"^* c #9D8FAE", +"/* c #9B8CAD", +"(* c #9A8AAC", +"_* c #9787AA", +":* c #9383A7", +"<* c #9281A5", +"[* c #9180A5", +"}* c #917FA5", +"|* c #9886AE", +"1* c #9E8BB4", +"2* c #9785AD", +"3* c #9987AE", +"4* c #9C8BB2", +"5* c #9F8DB3", +"6* c #A190B5", +"7* c #A494B7", +"8* c #A797BA", +"9* c #AB9ABD", +"0* c #AD9EBF", +"a* c #B3A5C1", +"b* c #BCB0C9", +"c* c #C1B7CD", +"d* c #C6BDD1", +"e* c #CCC4D5", +"f* c #D4CCDB", +"g* c #DBD6E1", +"h* c #E1DDE6", +"i* c #E7E5EB", +"j* c #E9E7EC", +"k* c #E4E2E7", +"l* c #E0DCE3", +"m* c #D9D5DD", +"n* c #D1CCD7", +"o* c #C9C2D0", +"p* c #C1B9C9", +"q* c #BAB0C2", +"r* c #AA9EB5", +"s* c #9384A1", +"t* c #7E6C8F", +"u* c #78658A", +"v* c #6C577E", +"w* c #503866", +"x* c #3E2655", +"y* c #371E4E", +"z* c #2C1A43", +"A* c #2D1A45", +"B* c #311B49", +"C* c #4F3B65", +"D* c #9385A4", +"E* c #A093B1", +"F* c #9F91B0", +"G* c #9D8FAF", +"H* c #9484A7", +"I* c #9382A7", +"J* c #9584A9", +"K* c #9C8AB2", +"L* c #A18FB7", +"M* c #A290B8", +"N* c #9F8DB4", +"O* c #9E8DB3", +"P* c #A393B7", +"Q* c #A696B9", +"R* c #AA99BC", +"S* c #AD9DBF", +"T* c #B0A2C1", +"U* c #B4A7C4", +"V* c #B6AAC5", +"W* c #BBAFC8", +"X* c #C0B5CC", +"Y* c #C5BCD0", +"Z* c #D3CBDB", +"`* c #DBD5E1", +" = c #E2DEE7", +".= c #E9E7ED", +"+= c #E2DFE5", +"@= c #DBD7DF", +"#= c #C8C1CF", +"$= c #BFB6C7", +"%= c #B6ACC0", +"&= c #AEA2B8", +"*= c #A599B1", +"== c #9586A3", +"-= c #8D7E9D", +";= c #725D84", +">= c #654F79", +",= c #351D4D", +"'= c #2D1B43", +")= c #301B48", +"!= c #48335F", +"~= c #887999", +"{= c #A497B3", +"]= c #A295B2", +"^= c #A092B1", +"/= c #9F90B0", +"(= c #9A8BAC", +"_= c #9788A9", +":= c #9685A9", +"<= c #9787AB", +"[= c #A392B9", +"}= c #A493BA", +"|= c #A694BC", +"1= c #A695BB", +"2= c #A392B6", +"3= c #A595B8", +"4= c #A898BB", +"5= c #AB9BBD", +"6= c #AE9FC0", +"7= c #B2A4C3", +"8= c #B6A9C5", +"9= c #BBAEC9", +"0= c #BFB3CD", +"a= c #C2B7CE", +"b= c #C8BED2", +"c= c #CFC6D7", +"d= c #E0DBE6", +"e= c #E6E2E9", +"f= c #EAE8EE", +"g= c #EAE7ED", +"h= c #E1DEE4", +"i= c #D8D3DC", +"j= c #CDC6D3", +"k= c #A79AB2", +"l= c #5D4772", +"m= c #4D3563", +"n= c #311849", +"o= c #2D1B44", +"p= c #2E1B46", +"q= c #392451", +"r= c #746486", +"s= c #A69AB4", +"t= c #A599B4", +"u= c #A396B3", +"v= c #A294B3", +"w= c #9E90AF", +"x= c #9A8CAC", +"y= c #9989AB", +"z= c #9888AB", +"A= c #9988AC", +"B= c #A08FB4", +"C= c #A796BC", +"D= c #AA99C0", +"E= c #AC9BC1", +"F= c #A796B9", +"G= c #A999BC", +"H= c #AC9CBE", +"I= c #AFA0C1", +"J= c #B3A5C3", +"K= c #B7AAC6", +"L= c #BCAFCA", +"M= c #C0B4CE", +"N= c #C6BBD2", +"O= c #CAC0D4", +"P= c #D0C7D9", +"Q= c #D9D3E0", +"R= c #E3E1E6", +"S= c #DAD6DE", +"T= c #CEC9D4", +"U= c #AFA3B9", +"V= c #A599B2", +"W= c #9D8FA9", +"X= c #9485A2", +"Y= c #8C7B9A", +"Z= c #6E5981", +"`= c #462E5D", +" - c #271040", +".- c #2E1C45", +"+- c #2E1C44", +"@- c #301C47", +"#- c #57456C", +"$- c #A195B0", +"%- c #A89CB7", +"&- c #A79AB5", +"*- c #A598B4", +"=- c #A294B2", +"-- c #9E8FAE", +";- c #9B8DAD", +">- c #9B8BAC", +",- c #9B8BAD", +"'- c #A191B4", +")- c #A796BB", +"!- c #A897BC", +"~- c #A898BD", +"{- c #AA9AC0", +"]- c #AF9DC3", +"^- c #B0A0C4", +"/- c #AA9ABD", +"(- c #C5BAD2", +"_- c #CBC1D6", +":- c #D1C9DB", +"<- c #D9D4E0", +"[- c #E2DEE8", +"}- c #E8E5EC", +"|- c #EBE9EE", +"1- c #D8D5DD", +"2- c #CCC6D3", +"3- c #B6ADC0", +"4- c #ACA0B7", +"5- c #91819F", +"6- c #806F91", +"7- c #79668B", +"8- c #533B68", +"9- c #432B5B", +"0- c #2F1D45", +"a- c #2F1C45", +"b- c #402D58", +"c- c #8C7F9C", +"d- c #ABA0B9", +"e- c #A99DB7", +"f- c #A89BB7", +"g- c #A699B5", +"h- c #9D8EAE", +"i- c #9D8DAE", +"j- c #9C8CAE", +"k- c #A393B6", +"l- c #A999BD", +"m- c #A999BE", +"n- c #AA9ABE", +"o- c #AB9ABF", +"p- c #AE9EC3", +"q- c #B2A2C6", +"r- c #B4A4C7", +"s- c #AE9FC1", +"t- c #B6A9C6", +"u- c #BAAEC9", +"v- c #C4B9D1", +"w- c #C9BFD5", +"x- c #CFC7DA", +"y- c #D8D2E0", +"z- c #EBE9EF", +"A- c #BDB4C5", +"B- c #A89CB3", +"C- c #8D7C9B", +"D- c #6E5980", +"E- c #604B75", +"F- c #412858", +"G- c #301D46", +"H- c #2F1D46", +"I- c #68587B", +"J- c #A59AB3", +"K- c #ADA3BA", +"L- c #AB9FB9", +"M- c #A99DB8", +"N- c #A193B1", +"O- c #9E8FAF", +"P- c #A394B5", +"Q- c #AB9BBF", +"R- c #AC9CBF", +"S- c #AE9EC2", +"T- c #B4A5C8", +"U- c #B6A6C9", +"V- c #B3A3C5", +"W- c #B1A3C2", +"X- c #B5A7C5", +"Y- c #B9ACC8", +"Z- c #BDB1CC", +"`- c #C2B7CF", +" ; c #C7BDD3", +".; c #CDC4D8", +"+; c #D3CCDD", +"@; c #DED9E5", +"#; c #E7E2EB", +"$; c #E7E4EA", +"%; c #E6E3E9", +"&; c #E5E1E8", +"*; c #E4E1E8", +"=; c #E5E4E9", +"-; c #E6E5E9", +";; c #E6E5EA", +">; c #B6ACBF", +",; c #705C83", +"'; c #69547D", +"); c #301E47", +"!; c #402E56", +"~; c #8F839E", +"{; c #AFA5BB", +"]; c #ACA0BA", +"^; c #AA9EB8", +"/; c #A295B1", +"(; c #A092B0", +"_; c #AB9CBD", +":; c #AD9DC0", +"<; c #AD9EC1", +"[; c #B1A1C5", +"}; c #B6A7C9", +"|; c #B8A9CB", +"1; c #B6A7C8", +"2; c #B4A5C3", +"3; c #B7AAC7", +"4; c #BBAFCA", +"5; c #C0B4CD", +"6; c #D6CFDE", +"7; c #E1DDE7", +"8; c #E9E5EC", +"9; c #ECEAF0", +"0; c #ECE9EF", +"a; c #E4E0E7", +"b; c #E3E0E7", +"c; c #E3DFE7", +"d; c #E1DEE6", +"e; c #E1DDE5", +"f; c #E3E0E6", +"g; c #E3E0E5", +"h; c #E4E1E6", +"i; c #E5E3E7", +"j; c #E5E4E8", +"k; c #DAD7DF", +"l; c #C3BBCA", +"m; c #B8AFC1", +"n; c #9B8CA7", +"o; c #9282A0", +"p; c #8A7899", +"q; c #816F91", +"r; c #301748", +"s; c #250F3E", +"t; c #311F48", +"u; c #605173", +"v; c #A99FB6", +"w; c #B1A7BD", +"x; c #AEA4BB", +"y; c #ADA2BA", +"z; c #A395B2", +"A; c #A194B1", +"B; c #A295B3", +"C; c #AB9CBC", +"D; c #AE9EC1", +"E; c #B0A0C3", +"F; c #B4A4C8", +"G; c #B7A7CA", +"H; c #B8A8CA", +"I; c #B9ABCC", +"J; c #BAACCB", +"K; c #B6A8C5", +"L; c #B8ABC8", +"M; c #BDB0CB", +"N; c #C1B5CE", +"O; c #C6BAD2", +"P; c #CAC1D7", +"Q; c #D7D0E0", +"R; c #E2DDE8", +"S; c #E9E6ED", +"T; c #ECEBF0", +"U; c #EDEAF0", +"V; c #E0DDE5", +"W; c #E0DCE4", +"X; c #DFDCE4", +"Y; c #DFDBE3", +"Z; c #DEDBE3", +"`; c #DDDAE3", +" > c #E4E3E7", +".> c #D9D6DE", +"+> c #C3BBCB", +"@> c #AFA4B9", +"#> c #9C8DA9", +"$> c #8A7A99", +"%> c #827092", +"&> c #59426E", +"*> c #48315F", +"=> c #442B5B", +"-> c #230E3B", +";> c #311E47", +">> c #3D2A55", +",> c #8E829F", +"'> c #B3AABF", +")> c #B2A8BE", +"!> c #B0A5BC", +"~> c #AEA3BB", +"{> c #A598B3", +"]> c #A496B3", +"^> c #A99BBA", +"/> c #B0A2C2", +"(> c #B0A1C2", +"_> c #AFA0C2", +":> c #B3A3C6", +"<> c #B8A8CB", +"[> c #BAABCC", +"}> c #BAACCD", +"|> c #BCAECD", +"1> c #B8AAC8", +"2> c #BEB1CC", +"3> c #C2B6CF", +"4> c #C6BCD3", +"5> c #CBC2D6", +"6> c #D1C9DC", +"7> c #D8D1E0", +"8> c #E0DBE7", +"9> c #EDEBF0", +"0> c #EAE8ED", +"a> c #DCD9E3", +"b> c #DCD8E2", +"c> c #DBD7E2", +"d> c #DBD6E2", +"e> c #DDD9E2", +"f> c #DCD9E0", +"g> c #DDD9E0", +"h> c #DDDAE1", +"i> c #DEDAE1", +"j> c #DFDCE3", +"k> c #D7D3DC", +"l> c #8A7A9A", +"m> c #6D587F", +"n> c #321F49", +"o> c #322049", +"p> c #503E67", +"q> c #B5ACC0", +"r> c #B1A6BD", +"s> c #A89DB6", +"t> c #A699B4", +"u> c #A99BB8", +"v> c #B1A3C3", +"w> c #B1A2C2", +"x> c #B1A1C4", +"y> c #B5A6C8", +"z> c #B9A9CC", +"A> c #BBACCC", +"B> c #BBADCD", +"C> c #BDAFCF", +"D> c #BAACCA", +"E> c #BAACC9", +"F> c #C6BCD2", +"G> c #CBC2D7", +"H> c #D0C9DB", +"I> c #D7D0DF", +"J> c #DCD6E3", +"K> c #E3E0EA", +"L> c #EDEBF1", +"M> c #DFDBE4", +"N> c #DED9E3", +"O> c #D8D3DF", +"P> c #D8D2DE", +"Q> c #D7D2DE", +"R> c #D7D1DD", +"S> c #DAD4DF", +"T> c #D9D4DE", +"U> c #D8D4DE", +"V> c #D9D6DF", +"W> c #DBD8E0", +"X> c #DFDBE2", +"Y> c #E4E2E6", +"Z> c #E5E2E7", +"`> c #D3CED8", +" , c #C9C3D0", +"., c #9B8EA9", +"+, c #9283A1", +"@, c #827192", +"#, c #200D37", +"$, c #35214D", +"%, c #716285", +"&, c #B8AEC4", +"*, c #B3A9BF", +"=, c #B2A7BE", +"-, c #ADA3BB", +";, c #A79BB6", +">, c #AFA3BF", +",, c #B3A5C4", +"', c #B2A4C4", +"), c #B1A2C3", +"!, c #B3A4C6", +"~, c #B7A8CA", +"{, c #B9AACC", +"], c #BBACCD", +"^, c #BCAECE", +"/, c #BDB0CF", +"(, c #BAADC9", +"_, c #BDB1CB", +":, c #C1B5CF", +"<, c #C9BFD6", +"[, c #CEC6D9", +"}, c #D4CCDD", +"|, c #DAD3E1", +"1, c #DFD9E6", +"2, c #E3E0E9", +"3, c #E7E3EA", +"4, c #DEDAE4", +"5, c #DBD7E1", +"6, c #DAD6E0", +"7, c #D6D0DD", +"8, c #D6D0DC", +"9, c #D6CFDC", +"0, c #D4CFDB", +"a, c #D4CEDB", +"b, c #D5D1DB", +"c, c #D6D1DB", +"d, c #D6D2DB", +"e, c #DDD9E1", +"f, c #E2DFE4", +"g, c #D6D2DC", +"h, c #B4A9BE", +"i, c #A395AE", +"j, c #7B678B", +"k, c #6D577F", +"l, c #240E3C", +"m, c #200D36", +"n, c #33214A", +"o, c #332049", +"p, c #3E2C56", +"q, c #8B7F9D", +"r, c #BCB2C8", +"s, c #B4AAC0", +"t, c #A99DB6", +"u, c #A79BB5", +"v, c #ADA1BC", +"w, c #B4A6C5", +"x, c #B3A5C5", +"y, c #B1A3C4", +"z, c #B8AACB", +"A, c #BAAACC", +"B, c #BDAECE", +"C, c #BEB0CF", +"D, c #C4B8D1", +"E, c #C8BDD3", +"F, c #CCC3D7", +"G, c #DAD4E1", +"H, c #E1DCE7", +"I, c #E2DEE9", +"J, c #E4E1EA", +"K, c #E5E2EA", +"L, c #E4E0E9", +"M, c #E3DFE8", +"N, c #E0DCE6", +"O, c #DDD8E3", +"P, c #D5CFDB", +"Q, c #D4CFDC", +"R, c #D3CCDA", +"S, c #D2CCD9", +"T, c #D2CCDA", +"U, c #D1CCD9", +"V, c #D1CBD9", +"W, c #D0CAD8", +"X, c #D2CDDA", +"Y, c #D4CEDA", +"Z, c #D2CCD7", +"`, c #D2CDD8", +" ' c #D3CDD9", +".' c #D5D0DA", +"+' c #DAD6DF", +"@' c #DEDAE2", +"#' c #E1DDE4", +"$' c #D8D4DC", +"%' c #D1CBD6", +"&' c #C9C1D0", +"*' c #C1B8C9", +"=' c #9789A5", +"-' c #79678A", +";' c #735E84", +">' c #654F78", +",' c #58426E", +"'' c #1F0D35", +")' c #34214B", +"!' c #493760", +"~' c #A49AB2", +"{' c #BDB4C9", +"]' c #BBB2C8", +"^' c #B6ADC2", +"/' c #B3A8BF", +"(' c #ACA1B9", +"_' c #A99EB7", +":' c #B3A6C2", +"<' c #B4A7C5", +"[' c #B3A6C5", +"}' c #B3A4C4", +"|' c #B3A4C5", +"1' c #B9AACB", +"2' c #BCADCD", +"3' c #BFB1D0", +"4' c #BEB2CC", +"5' c #C1B6CF", +"6' c #C9BED5", +"7' c #D5CEDD", +"8' c #DBD5E2", +"9' c #DDD7E4", +"0' c #DED8E5", +"a' c #DED8E4", +"b' c #DCD7E2", +"c' c #DCD6E2", +"d' c #DAD5E1", +"e' c #D6D1DE", +"f' c #D4CDDB", +"g' c #CFC9D7", +"h' c #CEC8D7", +"i' c #CEC7D7", +"j' c #CDC6D6", +"k' c #CDC6D5", +"l' c #CFC9D6", +"m' c #CFCAD6", +"n' c #D1CAD6", +"o' c #D4CFDA", +"p' c #CAC3D1", +"q' c #9D8EA9", +"r' c #634E78", +"s' c #260F3F", +"t' c #34224B", +"u' c #35224C", +"v' c #54426B", +"w' c #B5ACC1", +"x' c #BEB6C9", +"y' c #BCB3C8", +"z' c #BAAFC6", +"A' c #ACA1B8", +"B' c #AA9FB7", +"C' c #AFA4BE", +"D' c #B6AAC6", +"E' c #B5A8C5", +"F' c #B5A7C7", +"G' c #BAABCB", +"H' c #BBADCC", +"I' c #BCB0CB", +"J' c #C0B3CD", +"K' c #C3B7D0", +"L' c #C8BED5", +"M' c #D2CADC", +"N' c #D5CDDD", +"O' c #D5CFDE", +"P' c #D6D0DE", +"Q' c #D8D2DF", +"R' c #D8D1DF", +"S' c #D7D0DE", +"T' c #D5CEDC", +"U' c #D3CDDB", +"V' c #D1CAD9", +"W' c #CFCAD7", +"X' c #CCC4D4", +"Y' c #CCC3D4", +"Z' c #CCC3D3", +"`' c #CCC2D4", +" ) c #CCC2D3", +".) c #CBC2D3", +"+) c #CDC4D5", +"@) c #CBC4D2", +"#) c #CBC5D2", +"$) c #D0CAD5", +"%) c #D2CDD7", +"&) c #D8D5DE", +"*) c #D5D2DB", +"=) c #BDB5C5", +"-) c #AFA3BA", +";) c #A093AD", +">) c #8B799A", +",) c #7C6A8E", +"') c #4C3562", +")) c #432A5A", +"!) c #35224B", +"~) c #36234E", +"{) c #6D5D81", +"]) c #BFB7CA", +"^) c #BDB3C9", +"/) c #ACA2B8", +"() c #B5AAC3", +"_) c #B8ACC7", +":) c #B8AACA", +"<) c #BAACCC", +"[) c #BCADCE", +"}) c #BDAFCE", +"|) c #BEB0D0", +"1) c #BDAFCD", +"2) c #B8AAC7", +"3) c #BAADCA", +"4) c #BDB0CC", +"5) c #C2B7D0", +"6) c #C5B9D1", +"7) c #CAC0D5", +"8) c #CEC5D8", +"9) c #CFC7D9", +"0) c #D0C8DA", +"a) c #D2CADB", +"b) c #D3CCDC", +"c) c #D2CBDB", +"d) c #D0C9D9", +"e) c #CFC8D8", +"f) c #CBC3D3", +"g) c #CAC2D3", +"h) c #CAC1D2", +"i) c #C9C1D2", +"j) c #C9C1D1", +"k) c #C8C0D2", +"l) c #C8C0D1", +"m) c #C8BFD1", +"n) c #C9C0D2", +"o) c #C7C0CF", +"p) c #C9C3D1", +"q) c #CCC6D2", +"r) c #CCC7D3", +"s) c #D0CAD6", +"t) c #D0CBD7", +"u) c #D5D1DA", +"v) c #C5BCCB", +"w) c #BEB6C6", +"x) c #B7ADC1", +"y) c #B1A5BB", +"z) c #9C8EA8", +"A) c #8E7E9D", +"B) c #877696", +"C) c #6D5880", +"D) c #5B456F", +"E) c #3E2555", +"F) c #230D3A", +"G) c #35234C", +"H) c #37254F", +"I) c #7E7192", +"J) c #C0B8CA", +"K) c #BEB7C9", +"L) c #BCB2C9", +"M) c #B6ACC3", +"N) c #ACA2B9", +"O) c #B1A7BF", +"P) c #B9AEC8", +"Q) c #B8ADC8", +"R) c #B7ABC7", +"S) c #B7A9C6", +"T) c #B5A8C6", +"U) c #B4A6C6", +"V) c #B9ACCA", +"W) c #B7A9C7", +"X) c #BFB2CD", +"Y) c #C5BAD1", +"Z) c #C8BED4", +"`) c #C9BFD4", +" ! c #C9C0D5", +".! c #CAC2D6", +"+! c #CCC4D6", +"@! c #CEC6D8", +"#! c #CDC5D7", +"$! c #CCC3D5", +"%! c #CBC3D5", +"&! c #CAC3D4", +"*! c #CAC1D3", +"=! c #C7BFD0", +"-! c #C7BED0", +";! c #C6BECF", +">! c #C5BDCF", +",! c #C5BDCE", +"'! c #C5BCCE", +")! c #C4BCCE", +"!! c #C6BFD0", +"~! c #C5BDCD", +"{! c #C4BCCC", +"]! c #C7BFCE", +"^! c #C8C0CF", +"/! c #C9C2D1", +"(! c #CBC6D2", +"_! c #CEC8D5", +":! c #CBC5D1", +"~ c #C3B8D0", +",~ c #C5BBD1", +"'~ c #C3BACE", +")~ c #C3B9CE", +"!~ c #C3B9CD", +"~~ c #C1B8CD", +"{~ c #C1B8CC", +"]~ c #C0B8CB", +"^~ c #C0B6CA", +"/~ c #C0B7CA", +"(~ c #BFB6CA", +"_~ c #BFB4CA", +":~ c #C0B5CA", +"<~ c #C1B8CB", +"[~ c #BEB4C5", +"}~ c #C0B6C6", +"|~ c #C0B7C7", +"1~ c #C1B8C8", +"2~ c #C3BACA", +"3~ c #C5BCCC", +"4~ c #C3BACB", +"5~ c #C1B9C8", +"6~ c #BBB1C4", +"7~ c #9486A3", +"8~ c #8F7E9D", +"9~ c #837092", +"0~ c #6B557D", +"a~ c #543E6A", +"b~ c #37254E", +"c~ c #473360", +"d~ c #C2BBCC", +"e~ c #BBB0C8", +"f~ c #BEB3CB", +"g~ c #BBAFC9", +"h~ c #B9ADC8", +"i~ c #B6AAC7", +"j~ c #B8ABC9", +"k~ c #BDB0CE", +"l~ c #B8ABCC", +"m~ c #B8A9CC", +"n~ c #BAABCD", +"o~ c #B2A3C3", +"p~ c #B3A4C3", +"q~ c #B8AAC6", +"r~ c #B9ACC7", +"s~ c #BAAECA", +"t~ c #C2B5CE", +"u~ c #C2B6CE", +"v~ c #BFB4CB", +"w~ c #BFB4C9", +"x~ c #BDB2C8", +"y~ c #BCB2C7", +"z~ c #BEB4C9", +"A~ c #BEB4C8", +"B~ c #BAB1C4", +"C~ c #BAB2C3", +"D~ c #BBB2C4", +"E~ c #BBB3C4", +"F~ c #BCB4C5", +"G~ c #BFB7C7", +"H~ c #B0A4BA", +"I~ c #9B8DA8", +"J~ c #624D76", +"K~ c #57416C", +"L~ c #452C5B", +"M~ c #351D4E", +"N~ c #281040", +"O~ c #38254E", +"P~ c #473460", +"Q~ c #AAA0B7", +"R~ c #C3BCCE", +"S~ c #B8AEC5", +"T~ c #BEB4CC", +"U~ c #C0B6CE", +"V~ c #BDB2CA", +"W~ c #B8ACC8", +"X~ c #BAADCB", +"Y~ c #BEB1CF", +"Z~ c #BCAFCE", +"`~ c #B9AACD", +" { c #B5A6C4", +".{ c #BAADC8", +"+{ c #BBB0CA", +"@{ c #BCB0CA", +"#{ c #BEB1CB", +"${ c #BDB2CB", +"%{ c #B9ADC5", +"&{ c #B9AEC4", +"*{ c #BAAEC5", +"={ c #BBAFC6", +"-{ c #BBB0C6", +";{ c #BCB0C6", +">{ c #B9AEC3", +",{ c #B8AEC0", +"'{ c #BAB1C3", +"){ c #BBB2C3", +"!{ c #B9B1C3", +"~{ c #B7ACBF", +"{{ c #B4AABE", +"]{ c #ADA1B8", +"^{ c #9587A4", +"/{ c #857395", +"({ c #5F4974", +"_{ c #503967", +":{ c #220D3A", +"<{ c #38264F", +"[{ c #392650", +"}{ c #4A3563", +"|{ c #ABA1B8", +"1{ c #C4BDCE", +"2{ c #C1BACC", +"3{ c #BBB1C7", +"4{ c #C1B7CF", +"5{ c #C3B9D1", +"6{ c #BDB3CB", +"7{ c #BCB0CD", +"8{ c #B7A9CB", +"9{ c #AF9FC1", +"0{ c #B0A0C1", +"a{ c #B0A1C1", +"b{ c #B5A8C4", +"c{ c #B8ABC7", +"d{ c #B9ADC7", +"e{ c #BAADC7", +"f{ c #B6AAC4", +"g{ c #B6AAC3", +"h{ c #B6A9C2", +"i{ c #B5AAC2", +"j{ c #B6AAC2", +"k{ c #B6ABC2", +"l{ c #B7ACC3", +"m{ c #B7ACC4", +"n{ c #B7ADC3", +"o{ c #B3A8BD", +"p{ c #B5AABE", +"q{ c #B5ABBE", +"r{ c #B6ABBF", +"s{ c #B7ADBF", +"t{ c #B7ACC0", +"u{ c #B5AABF", +"v{ c #B4A9BD", +"w{ c #AA9EB6", +"x{ c #A89BB3", +"y{ c #A396B0", +"z{ c #9A8CA7", +"A{ c #7B698D", +"B{ c #57416D", +"C{ c #240E3D", +"D{ c #210D37", +"E{ c #392751", +"F{ c #4A3764", +"G{ c #C5BECE", +"H{ c #C4BAD2", +"I{ c #BEB2CF", +"J{ c #B7A8CB", +"K{ c #B7A6C9", +"L{ c #AB9CBE", +"M{ c #AD9DBE", +"N{ c #AE9DBF", +"O{ c #AF9FBF", +"P{ c #AFA1C1", +"Q{ c #B2A4C2", +"R{ c #B4A6C4", +"S{ c #B5A7C4", +"T{ c #B6A9C4", +"U{ c #B5A9C5", +"V{ c #B5A9C4", +"W{ c #B2A6C0", +"X{ c #B1A5BF", +"Y{ c #B2A5BF", +"Z{ c #B2A6BF", +"`{ c #B3A6C0", +" ] c #B3A7C1", +".] c #B4A8C0", +"+] c #B0A5BA", +"@] c #B1A6BC", +"#] c #B1A7BC", +"$] c #B2A7BD", +"%] c #B3A7BD", +"&] c #B2A6BC", +"*] c #68537B", +"=] c #47305E", +"-] c #351C4C", +";] c #3A2751", +">] c #3A2851", +",] c #4B3765", +"'] c #ACA2BA", +")] c #C5BFCD", +"!] c #C2BCCD", +"~] c #C1B9CC", +"{] c #BEB6CB", +"]] c #C5BCD3", +"^] c #C2B8D1", +"/] c #BFB2CE", +"(] c #BFB2D0", +"_] c #B6A8CA", +":] c #B6A7CA", +"<] c #B5A6C9", +"[] c #B5A5C9", +"}] c #AC9DBE", +"|] c #AFA0C0", +"1] c #B1A2C1", +"2] c #B1A3C1", +"3] c #B2A5C2", +"4] c #B2A5C1", +"5] c #AEA1BD", +"6] c #AEA1BC", +"7] c #AEA1BB", +"8] c #AEA2BC", +"9] c #AFA2BC", +"0] c #AFA3BD", +"a] c #AFA3BE", +"b] c #B0A3BE", +"c] c #B0A4BE", +"d] c #B1A4BE", +"e] c #A99DB4", +"f] c #A79BB3", +"g] c #A598B0", +"h] c #A195AF", +"i] c #9E91AC", +"j] c #9C8DA7", +"k] c #725E85", +"l] c #493160", +"m] c #210D39", +"n] c #3B2852", +"o] c #4B3866", +"p] c #ACA3B9", +"q] c #C5BFCE", +"r] c #C3BCCD", +"s] c #BFB8CA", +"t] c #C3BBCF", +"u] c #C6BDD3", +"v] c #C4BBD2", +"w] c #BFB5CE", +"x] c #BAAEC8", +"y] c #BFB4D0", +"z] c #C0B4D0", +"A] c #B5A7C9", +"B] c #A897BB", +"C] c #A997BB", +"D] c #A797BB", +"E] c #A998BC", +"F] c #AA9ABC", +"G] c #AB9BBC", +"H] c #AD9EBE", +"I] c #AE9FBE", +"J] c #AE9FBF", +"K] c #AFA0BF", +"L] c #AEA0BF", +"M] c #AB9EBB", +"N] c #AB9DB9", +"O] c #AA9CB9", +"P] c #AB9EB9", +"Q] c #AC9EB9", +"R] c #AC9EBA", +"S] c #ADA0BA", +"T] c #ADA0BB", +"U] c #AEA0BB", +"V] c #ADA1BB", +"W] c #ACA0B8", +"X] c #A89DB4", +"Y] c #A094AE", +"Z] c #9F91AC", +"`] c #9A8BA6", +" ^ c #867496", +".^ c #816F92", +"+^ c #77658A", +"@^ c #604A75", +"#^ c #5B4571", +"$^ c #1F0D36", +"%^ c #3C2953", +"&^ c #453161", +"*^ c #9D92AD", +"=^ c #C6BFCF", +"-^ c #C2BBCD", +";^ c #C6BED1", +">^ c #C6BED4", +",^ c #C5BBD3", +"'^ c #C3BAD1", +")^ c #B9ADC9", +"!^ c #C1B5D0", +"~^ c #BFB2CF", +"{^ c #B3A3C8", +"]^ c #B2A3C7", +"^^ c #B2A2C7", +"/^ c #A695B9", +"(^ c #A695BA", +"_^ c #A796BA", +":^ c #A897BA", +"<^ c #A999BB", +"[^ c #AB9BBB", +"}^ c #AC9BBC", +"|^ c #AC9CBC", +"1^ c #A798B6", +"2^ c #A799B7", +"3^ c #A89AB7", +"4^ c #A89AB8", +"5^ c #A99CB9", +"6^ c #AA9DB9", +"7^ c #AB9EBA", +"8^ c #AC9FB9", +"9^ c #A79CB3", +"0^ c #A69AB3", +"a^ c #A498B1", +"b^ c #A296AF", +"c^ c #A193AE", +"d^ c #9F92AC", +"e^ c #9C8DA8", +"f^ c #9688A5", +"g^ c #8D7C9C", +"h^ c #857394", +"i^ c #6F5A82", +"j^ c #3C2455", +"k^ c #3A2251", +"l^ c #3C2A53", +"m^ c #463261", +"n^ c #9689A6", +"o^ c #C8C0D3", +"p^ c #C7BED4", +"q^ c #C2B8D0", +"r^ c #C0B5CE", +"s^ c #B8AEC8", +"t^ c #C2B6D1", +"u^ c #C1B5D1", +"v^ c #BFB3CF", +"w^ c #BDB1CE", +"x^ c #B5A4C8", +"y^ c #B3A2C7", +"z^ c #B1A1C6", +"A^ c #B1A1C7", +"B^ c #AA9ABF", +"C^ c #A392B8", +"D^ c #A594B8", +"E^ c #A492B8", +"F^ c #A493B8", +"G^ c #A594B7", +"H^ c #A594B9", +"I^ c #A695B8", +"J^ c #A796B8", +"K^ c #A797B9", +"L^ c #A798B9", +"M^ c #A798B8", +"N^ c #A898B8", +"O^ c #A898B7", +"P^ c #A394B3", +"Q^ c #A899B7", +"R^ c #A99AB8", +"S^ c #A397B0", +"T^ c #A295AF", +"U^ c #A294AE", +"V^ c #9E91AB", +"W^ c #9E8FAA", +"X^ c #9989A5", +"Y^ c #9687A4", +"Z^ c #9181A0", +"`^ c #513967", +" / c #422959", +"./ c #3B2253", +"+/ c #3D2A54", +"@/ c #473262", +"#/ c #8E81A0", +"$/ c #C6C0CF", +"%/ c #C5BECF", +"&/ c #C8C1D4", +"*/ c #C7BFD4", +"=/ c #C5BBD2", +"-/ c #C2B9D1", +";/ c #C1B7D0", +">/ c #BAAFCA", +",/ c #C2B7D1", +"'/ c #C0B3D0", +")/ c #BAADCC", +"!/ c #B8A9CA", +"~/ c #B3A4C7", +"{/ c #B0A1C6", +"]/ c #AE9CC3", +"^/ c #A291B7", +"// c #A291B6", +"(/ c #A390B6", +"_/ c #A290B6", +":/ c #A391B6", +"( c #AE9EC5", +",( c #AA98BF", +"'( c #9D8BB3", +")( c #9E8BB3", +"!( c #9D8BB2", +"~( c #9D8BB1", +"{( c #9D8CB1", +"]( c #9D8CB0", +"^( c #9C8DB1", +"/( c #998AAB", +"(( c #9B8CAC", +"_( c #9C8DAD", +":( c #9C8DAE", +"<( c #9F8FB0", +"[( c #A291B0", +"}( c #A291B1", +"|( c #A090AE", +"1( c #9A8AA6", +"2( c #988AA6", +"3( c #9385A2", +"4( c #9284A1", +"5( c #90809F", +"6( c #8F7F9E", +"7( c #877596", +"8( c #7E6C8E", +"9( c #6A547D", +"0( c #3E2B55", +"a( c #45315F", +"b( c #594674", +"c( c #BFB7C9", +"d( c #C7C0D1", +"e( c #CFC8DA", +"f( c #C9C2D4", +"g( c #C7BFD3", +"h( c #C5BDD2", +"i( c #BFB4CF", +"j( c #BBB0CB", +"k( c #C4B9D2", +"l( c #BFB3D0", +"m( c #B09FC5", +"n( c #AF9DC4", +"o( c #AB9BC2", +"p( c #9D8AB2", +"q( c #9C89B2", +"r( c #9B88B1", +"s( c #9A87AE", +"t( c #9988AF", +"u( c #9A87AF", +"v( c #9A88AF", +"w( c #9A88AE", +"x( c #9988AD", +"y( c #9A88AD", +"z( c #9A8AAF", +"A( c #9887A9", +"B( c #9887AA", +"C( c #9888AA", +"D( c #9889AB", +"E( c #998BAB", +"F( c #9A8BAB", +"G( c #9E8EB0", +"H( c #9E8FB0", +"I( c #9889A7", +"J( c #9486A2", +"K( c #9182A1", +"L( c #8D7D9B", +"M( c #847293", +"N( c #817092", +"O( c #78668B", +"P( c #705B82", +"Q( c #655078", +"R( c #442D5C", +"S( c #43305D", +"T( c #523E6E", +"U( c #B0A6BC", +"V( c #C7C1D0", +"W( c #C7C1D2", +"X( c #CAC3D5", +"Y( c #C7C0D4", +"Z( c #C5BED2", +"`( c #C3B9D2", +" _ c #C0B4CF", +"._ c #BFB4CE", +"+_ c #B7A8C9", +"@_ c #B1A2C6", +"#_ c #AE9DC4", +"$_ c #AD9BC3", +"%_ c #AD9AC2", +"&_ c #A594BC", +"*_ c #9B89B1", +"=_ c #9987B0", +"-_ c #9885AF", +";_ c #9985AE", +">_ c #9A86B0", +",_ c #9986AF", +"'_ c #9885AE", +")_ c #9885AD", +"!_ c #9784AC", +"~_ c #9783AB", +"{_ c #9784AB", +"]_ c #9784AA", +"^_ c #9785AB", +"/_ c #9684A8", +"(_ c #9584A6", +"__ c #9685A7", +":_ c #9685A8", +"<_ c #9889AA", +"[_ c #9A8CAD", +"}_ c #998AAA", +"|_ c #988AAA", +"1_ c #9889A9", +"2_ c #9889A8", +"3_ c #9788A8", +"4_ c #9788A7", +"5_ c #9688A7", +"6_ c #9A8AAA", +"7_ c #9A8CAE", +"8_ c #9183A1", +"9_ c #8C7C9A", +"0_ c #897797", +"a_ c #867394", +"b_ c #7F6C90", +"c_ c #79688B", +"d_ c #746187", +"e_ c #715D84", +"f_ c #614A75", +"g_ c #2B1243", +"h_ c #3F2D57", +"i_ c #43305C", +"j_ c #4C3768", +"k_ c #998DA9", +"l_ c #C8C2D2", +"m_ c #D1CBDC", +"n_ c #CCC5D7", +"o_ c #C4BCD1", +"p_ c #C1B8D0", +"q_ c #C4BAD3", +"r_ c #C3B7D1", +"s_ c #B2A1C6", +"t_ c #AD9BC2", +"u_ c #AB9AC2", +"v_ c #A997C1", +"w_ c #9886AF", +"x_ c #9884AE", +"y_ c #9784AE", +"z_ c #9582AC", +"A_ c #9783AE", +"B_ c #9682AC", +"C_ c #9581AC", +"D_ c #9581AB", +"E_ c #9381A9", +"F_ c #9380AA", +"G_ c #9480AA", +"H_ c #9380A9", +"I_ c #9480A8", +"J_ c #9480A9", +"K_ c #9480A7", +"L_ c #9580A7", +"M_ c #9682A9", +"N_ c #9683A9", +"O_ c #9381A6", +"P_ c #9381A5", +"Q_ c #9482A5", +"R_ c #9583A6", +"S_ c #9786A8", +"T_ c #9686A8", +"U_ c #9786A9", +"V_ c #9886A9", +"W_ c #9988AA", +"X_ c #9888A9", +"Y_ c #9787A8", +"Z_ c #9585A5", +"`_ c #9485A5", +" : c #9484A3", +".: c #9383A2", +"+: c #9282A2", +"@: c #9281A0", +"#: c #92829F", +"$: c #9384A3", +"%: c #9484A4", +"&: c #9585A4", +"*: c #9685A6", +"=: c #91819E", +"-: c #907F9E", +";: c #897899", +">: c #827193", +",: c #7A678C", +"': c #735F84", +"): c #604A74", +"!: c #563F6C", +"~: c #402D57", +"{: c #422F5A", +"]: c #4B3768", +"^: c #827495", +"/: c #C8C1D1", +"(: c #C8C0D0", +"_: c #C9C3D2", +":: c #D2CCDD", +"<: c #CDC7D9", +"[: c #C4BAD1", +"}: c #C0B6CF", +"|: c #C8BED6", +"1: c #C3B9D3", +"2: c #C0B3CF", +"3: c #BBAECC", +"4: c #B9ACCB", +"5: c #B7A9CA", +"6: c #B3A3C7", +"7: c #B1A2C5", +"8: c #AD9CC2", +"9: c #AB9AC1", +"0: c #A998C1", +"a: c #A290B9", +"b: c #9683AE", +"c: c #9682AD", +"d: c #9481AC", +"e: c #937FAA", +"f: c #947FAB", +"g: c #927FA9", +"h: c #927EAA", +"i: c #917DA7", +"j: c #907CA8", +"k: c #917DA8", +"l: c #917DA6", +"m: c #907DA6", +"n: c #917CA6", +"o: c #927EA6", +"p: c #937FA7", +"q: c #927EA4", +"r: c #8F7CA1", +"s: c #917EA3", +"t: c #917FA4", +"u: c #927FA4", +"v: c #9280A5", +"w: c #9684A7", +"x: c #9584A5", +"y: c #9383A4", +"z: c #9180A0", +"A: c #8F7F9F", +"B: c #8F7E9C", +"C: c #8E7D9C", +"D: c #887798", +"E: c #887697", +"F: c #79688C", +"G: c #735F86", +"H: c #462E5C", +"I: c #3C2554", +"J: c #2C1344", +"K: c #412E58", +"L: c #412F59", +"M: c #4B3767", +"N: c #63517C", +"O: c #C8C2D1", +"P: c #CAC3D3", +"Q: c #D3CDDD", +"R: c #C4BBD0", +"S: c #C1B6D0", +"T: c #C8BED7", +"U: c #C2B7D2", +"V: c #AE9DC3", +"W: c #AC9AC2", +"X: c #AB99C1", +"Y: c #A997C0", +"Z: c #A694BE", +"`: c #9783AD", +" < c #9480AC", +".< c #937FAB", +"+< c #917EAA", +"@< c #917CA9", +"#< c #907BA9", +"$< c #8F7BA8", +"%< c #8F7BA7", +"&< c #8F79A6", +"*< c #8E79A6", +"=< c #8E7AA5", +"-< c #8D79A6", +";< c #8C7AA4", +">< c #8D7AA4", +",< c #8D7AA3", +"'< c #8E7BA5", +")< c #8F7CA5", +"!< c #907CA6", +"~< c #8F7BA3", +"{< c #8C799F", +"]< c #8D7AA0", +"^< c #8E7BA0", +"/< c #8F7CA0", +"(< c #8F7DA1", +"_< c #907DA2", +":< c #917EA2", +"<< c #9180A4", +"[< c #917FA2", +"}< c #907EA0", +"|< c #8E7D9F", +"1< c #8D7B9C", +"2< c #8B7A99", +"3< c #8C7C9C", +"4< c #8D7D9D", +"5< c #8C7A9A", +"6< c #8B7999", +"7< c #897999", +"8< c #877595", +"9< c #725D83", +"0< c #6F5B81", +"a< c #67527A", +"b< c #4B3666", +"c< c #544170", +"d< c #B8B0C4", +"e< c #D4CEDD", +"f< c #D2CBDC", +"g< c #CAC4D6", +"h< c #C6BFD3", +"i< c #C2BAD0", +"j< c #BFB5CF", +"k< c #CAC0D9", +"l< c #C6BBD4", +"m< c #B6A8C9", +"n< c #B4A6C8", +"o< c #B2A3C6", +"p< c #AB9BC3", +"q< c #AA99C1", +"r< c #A997BF", +"s< c #A795BF", +"t< c #9F8CB6", +"u< c #9581AD", +"v< c #917DA9", +"w< c #8F7AA9", +"x< c #8E7AA7", +"y< c #8C78A5", +"z< c #8C77A4", +"A< c #8E78A6", +"B< c #8D78A5", +"C< c #8C77A3", +"D< c #8B76A3", +"E< c #8A76A3", +"F< c #8A76A2", +"G< c #8A76A1", +"H< c #8A77A1", +"I< c #8B77A1", +"J< c #8C79A2", +"K< c #8D79A3", +"L< c #8E7BA4", +"M< c #8C7AA2", +"N< c #89779E", +"O< c #8A789E", +"P< c #8B789F", +"Q< c #8D7B9F", +"R< c #8C7A9D", +"S< c #887696", +"T< c #877796", +"U< c #89789A", +"V< c #8A799A", +"W< c #8A799B", +"X< c #8B799B", +"Y< c #8A789A", +"Z< c #857294", +"`< c #756186", +" [ c #59446F", +".[ c #4B3461", +"+[ c #402857", +"@[ c #311848", +"#[ c #2B1342", +"$[ c #250E3E", +"%[ c #422F59", +"&[ c #493563", +"*[ c #4E396B", +"=[ c #A196B0", +"-[ c #CAC3D2", +";[ c #C9C2D2", +">[ c #D2CCDC", +",[ c #D4CDDE", +"'[ c #C3BAD0", +")[ c #C2B8CF", +"![ c #C6BDD5", +"~[ c #CBC1DA", +"{[ c #C9BFD8", +"][ c #BEB3CF", +"^[ c #BDB0CD", +"/[ c #B8ABCB", +"([ c #B6A9C9", +"_[ c #B0A1C5", +":[ c #AA99C2", +"<[ c #A897C0", +"[[ c #A491BC", +"}[ c #9380AB", +"|[ c #8D77A6", +"1[ c #8A76A4", +"2[ c #8A75A3", +"3[ c #8873A2", +"4[ c #8973A2", +"5[ c #8A74A2", +"6[ c #8974A2", +"7[ c #8973A0", +"8[ c #8773A0", +"9[ c #8872A0", +"0[ c #87729F", +"a[ c #87739F", +"b[ c #87729E", +"c[ c #86729E", +"d[ c #86739E", +"e[ c #87749F", +"f[ c #8A77A0", +"g[ c #8C78A1", +"h[ c #88759C", +"i[ c #89769D", +"j[ c #89789E", +"k[ c #89769B", +"l[ c #877498", +"m[ c #857296", +"n[ c #877597", +"o[ c #887698", +"p[ c #887899", +"q[ c #887799", +"r[ c #897799", +"s[ c #8A7799", +"t[ c #877698", +"u[ c #867597", +"v[ c #847395", +"w[ c #837294", +"x[ c #826F92", +"y[ c #806F90", +"z[ c #7F6E90", +"A[ c #7F6C8F", +"B[ c #746087", +"C[ c #705D82", +"D[ c #6B557E", +"E[ c #665179", +"F[ c #5F4873", +"G[ c #58436E", +"H[ c #57406B", +"I[ c #452D5B", +"J[ c #38204F", +"K[ c #311948", +"L[ c #2D1445", +"M[ c #281242", +"N[ c #240D3B", +"O[ c #42305A", +"P[ c #463460", +"Q[ c #4F3A6B", +"R[ c #7B6C91", +"S[ c #D3CDDC", +"T[ c #D4CEDF", +"U[ c #CEC8D9", +"V[ c #C6BED2", +"W[ c #C2B9CF", +"X[ c #C3BAD3", +"Y[ c #CBC2DA", +"Z[ c #C6BBD5", +"`[ c #BCAFCC", +" } c #B7A9C9", +".} c #AC9CC2", +"+} c #A996BF", +"@} c #A692BE", +"#} c #9D8AB5", +"$} c #937FA9", +"%} c #8F7AA7", +"&} c #8E79A7", +"*} c #8C78A6", +"=} c #8B76A5", +"-} c #8974A3", +";} c #8973A1", +">} c #8771A0", +",} c #86709F", +"'} c #856F9E", +")} c #846F9C", +"!} c #836F9C", +"~} c #836F9B", +"{} c #85719D", +"]} c #8976A0", +"^} c #86739A", +"/} c #87739B", +"(} c #847197", +"_} c #826F94", +":} c #806F92", +"<} c #827194", +"[} c #837194", +"}} c #847194", +"|} c #847295", +"1} c #857295", +"2} c #867395", +"3} c #867497", +"4} c #877497", +"5} c #877598", +"6} c #887597", +"7} c #887598", +"8} c #867397", +"9} c #867396", +"0} c #837094", +"a} c #806D91", +"b} c #7E6C90", +"c} c #7E6B8F", +"d} c #79678C", +"e} c #79668A", +"f} c #776488", +"g} c #6A557E", +"h} c #5E4974", +"i} c #5C4672", +"j} c #4A3360", +"k} c #442D5B", +"l} c #28103F", +"m} c #250E3C", +"n} c #210F37", +"o} c #43315B", +"p} c #45325D", +"q} c #503C6D", +"r} c #5E4B78", +"s} c #D1CADA", +"t} c #D5CFDF", +"u} c #C9C3D5", +"v} c #C5BCD1", +"w} c #C0B7CF", +"x} c #CCC3DA", +"y} c #CBC0D9", +"z} c #C4B8D3", +"A} c #C0B5D0", +"B} c #BEB2CE", +"C} c #B5A7C8", +"D} c #B4A3C7", +"E} c #B1A0C6", +"F} c #AE9FC4", +"G} c #A898C0", +"H} c #A794BE", +"I} c #A592BC", +"J} c #A28FBB", +"K} c #9681AD", +"L} c #907CA9", +"M} c #8D78A6", +"N} c #8B76A4", +"O} c #8A74A4", +"P} c #8874A3", +"Q} c #8872A2", +"R} c #8770A1", +"S} c #856FA0", +"T} c #846E9E", +"U} c #846D9E", +"V} c #826D9C", +"W} c #816C9C", +"X} c #816B9B", +"Y} c #826B9B", +"Z} c #826C9B", +"`} c #826C9A", +" | c #816B99", +".| c #816A99", +"+| c #826B99", +"@| c #826D9A", +"#| c #826E9A", +"$| c #86739F", +"%| c #826F98", +"&| c #7F6C93", +"*| c #7D6B90", +"=| c #7F6D91", +"-| c #816E92", +";| c #816E91", +">| c #826F93", +",| c #837093", +"'| c #847195", +")| c #847296", +"!| c #857396", +"~| c #857397", +"{| c #847196", +"]| c #816E93", +"^| c #7D6A8D", +"/| c #7B678C", +"(| c #78648A", +"_| c #776389", +":| c #644F79", +"<| c #624C77", +"[| c #49325F", +"}| c #44315B", +"|| c #513D6D", +"1| c #513C6E", +"2| c #A99FB7", +"3| c #CAC4D3", +"4| c #D6D0DF", +"5| c #CBC5D6", +"6| c #C6BDD2", +"7| c #C1B8CF", +"8| c #CBC3D9", +"9| c #C7BDD7", +"0| c #B6A8C8", +"a| c #B4A5C7", +"b| c #AD9DC3", +"c| c #A896BF", +"d| c #A491BD", +"e| c #A490BB", +"f| c #9B89B4", +"g| c #907BA8", +"h| c #8D78A7", +"i| c #8771A1", +"j| c #826C9D", +"k| c #826B9C", +"l| c #816B9C", +"m| c #7F699A", +"n| c #7E6899", +"o| c #7D6698", +"p| c #7E6797", +"q| c #7F6898", +"r| c #806998", +"s| c #7F6897", +"t| c #816A98", +"u| c #826E9B", +"v| c #7A668C", +"w| c #7C688C", +"x| c #816D91", +"y| c #806E92", +"z| c #826E93", +"A| c #837095", +"B| c #837195", +"C| c #827094", +"D| c #816D92", +"E| c #806D92", +"F| c #7F6C91", +"G| c #7E6A8F", +"H| c #7D6A8F", +"I| c #7C688E", +"J| c #7C688D", +"K| c #7B688D", +"L| c #79658B", +"M| c #745F86", +"N| c #65517A", +"O| c #604B74", +"P| c #5C4670", +"Q| c #513966", +"R| c #49305F", +"S| c #402958", +"T| c #392252", +"U| c #321B4B", +"V| c #271140", +"W| c #44325C", +"X| c #4F3B69", +"Y| c #554072", +"Z| c #847699", +"`| c #CDC7D6", +" 1 c #D7D1E0", +".1 c #D5CEDF", +"+1 c #CEC7D9", +"@1 c #C4BBD1", +"#1 c #C2B9D0", +"$1 c #C9C1D7", +"%1 c #C8BDD7", +"&1 c #C4BAD4", +"*1 c #BDB1CD", +"=1 c #B5A6C7", +"-1 c #AFA0C5", +";1 c #AD9EC3", +">1 c #A08DBA", +",1 c #9380AC", +"'1 c #8A76A5", +")1 c #8A74A3", +"!1 c #8671A1", +"~1 c #8570A0", +"{1 c #846D9F", +"]1 c #836D9E", +"^1 c #806A9B", +"/1 c #7E689A", +"(1 c #7D6697", +"_1 c #7C6597", +":1 c #7B6496", +"<1 c #7A6495", +"[1 c #7A6395", +"}1 c #7A6394", +"|1 c #7B6494", +"11 c #7D6596", +"21 c #7E6697", +"31 c #806898", +"41 c #816998", +"51 c #806896", +"61 c #7C6692", +"71 c #7A658E", +"81 c #79648D", +"91 c #7A668F", +"01 c #78648C", +"a1 c #77648A", +"b1 c #79648B", +"c1 c #7A668B", +"d1 c #7C698E", +"e1 c #7D698F", +"f1 c #7F6B90", +"g1 c #806C91", +"h1 c #816D93", +"i1 c #826E94", +"j1 c #816D94", +"k1 c #806C92", +"l1 c #7E6B91", +"m1 c #7E6A90", +"n1 c #7F6A8F", +"o1 c #7E698F", +"p1 c #7B688E", +"q1 c #7B678D", +"r1 c #7A658B", +"s1 c #78658B", +"t1 c #725F86", +"u1 c #6F5B83", +"v1 c #6C557F", +"w1 c #5D4672", +"x1 c #57426D", +"y1 c #563E6B", +"z1 c #503766", +"A1 c #4B3360", +"B1 c #45325C", +"C1 c #4A3763", +"D1 c #594476", +"E1 c #5C4978", +"F1 c #D6CFDF", +"G1 c #C8C0D6", +"H1 c #CCC4D9", +"I1 c #CAC1D9", +"J1 c #C7BCD6", +"K1 c #B4A6C7", +"L1 c #B2A4C6", +"M1 c #B1A0C5", +"N1 c #AF9EC3", +"O1 c #AC9BC2", +"P1 c #AA98C0", +"Q1 c #A795BE", +"R1 c #A693BD", +"S1 c #A38FBB", +"T1 c #A18EBA", +"U1 c #9B88B5", +"V1 c #8E7AA6", +"W1 c #8772A2", +"X1 c #866FA0", +"Y1 c #856E9E", +"Z1 c #836C9E", +"`1 c #826A9D", +" 2 c #816A9B", +".2 c #7F689A", +"+2 c #7E6799", +"@2 c #7C6698", +"#2 c #7B6498", +"$2 c #7B6396", +"%2 c #786293", +"&2 c #776092", +"*2 c #786092", +"=2 c #776091", +"-2 c #765F91", +";2 c #776192", +">2 c #7B6495", +",2 c #7C6495", +"'2 c #7A6392", +")2 c #77618D", +"!2 c #756089", +"~2 c #75608A", +"{2 c #77628B", +"]2 c #78628D", +"^2 c #79648E", +"/2 c #756087", +"(2 c #756188", +"_2 c #77638A", +":2 c #78648B", +"<2 c #7A658C", +"[2 c #7B668D", +"}2 c #7D688E", +"|2 c #7E6B90", +"12 c #7E6A91", +"22 c #7F6B91", +"32 c #806B92", +"42 c #806B91", +"52 c #816C92", +"62 c #7F6A91", +"72 c #7D6A90", +"82 c #7D6990", +"92 c #7A678D", +"02 c #7A668D", +"a2 c #7A658D", +"b2 c #79658C", +"c2 c #78638B", +"d2 c #78638A", +"e2 c #77628A", +"f2 c #766189", +"g2 c #735E86", +"h2 c #725E86", +"i2 c #715C84", +"j2 c #705B83", +"k2 c #6C5780", +"l2 c #69547E", +"m2 c #68527C", +"n2 c #5A456F", +"o2 c #573F6C", +"p2 c #4D3764", +"q2 c #42295A", +"r2 c #3E2556", +"s2 c #48345F", +"t2 c #5A4576", +"u2 c #594475", +"v2 c #A499B4", +"w2 c #CCC6D5", +"x2 c #C7C0D3", +"y2 c #CDC5DA", +"z2 c #CAC0D8", +"A2 c #C5BAD5", +"B2 c #BBAECB", +"C2 c #AD9FC4", +"D2 c #A896BE", +"E2 c #A493BC", +"F2 c #A390BB", +"G2 c #A18EB9", +"H2 c #9F8CB9", +"I2 c #937FAC", +"J2 c #8A75A4", +"K2 c #846FA0", +"L2 c #836E9F", +"M2 c #826B9D", +"N2 c #80699C", +"O2 c #7F689B", +"P2 c #7D6699", +"Q2 c #7B6497", +"R2 c #796295", +"S2 c #796194", +"T2 c #786094", +"U2 c #775F93", +"V2 c #755D90", +"W2 c #755D8F", +"X2 c #755E90", +"Y2 c #755E8F", +"Z2 c #705A86", +"`2 c #6F5A86", +" 3 c #725B88", +".3 c #735D89", +"+3 c #745F8A", +"@3 c #75608B", +"#3 c #76618B", +"$3 c #78618C", +"%3 c #77618B", +"&3 c #766188", +"*3 c #776289", +"=3 c #7B678E", +"-3 c #7D698E", +";3 c #7C688F", +">3 c #7D688F", +",3 c #7D6890", +"'3 c #7E6990", +")3 c #7F6991", +"!3 c #7F6990", +"~3 c #7C678F", +"{3 c #7C678E", +"]3 c #79648C", +"^3 c #766289", +"/3 c #745F88", +"(3 c #745E86", +"_3 c #725D86", +":3 c #715B83", +"<3 c #6E5982", +"[3 c #6D5881", +"}3 c #6B567F", +"|3 c #6A547E", +"13 c #66507B", +"23 c #624B76", +"33 c #5F4A75", +"43 c #5F4772", +"53 c #513A66", +"63 c #3D2455", +"73 c #331A4A", +"83 c #240D3C", +"93 c #47345E", +"03 c #584473", +"a3 c #5D487A", +"b3 c #76658D", +"c3 c #CBC5D4", +"d3 c #CFC8D9", +"e3 c #C9C3D4", +"f3 c #CDC6D9", +"g3 c #CAC1D8", +"h3 c #C6BBD6", +"i3 c #C3B8D3", +"j3 c #BBAFCB", +"k3 c #B8ACCA", +"l3 c #B5A8C7", +"m3 c #B3A5C6", +"n3 c #A897BF", +"o3 c #A593BD", +"p3 c #A291BB", +"q3 c #A08EB9", +"r3 c #9F8CB8", +"s3 c #9B87B5", +"t3 c #8975A3", +"u3 c #8773A2", +"v3 c #8570A1", +"w3 c #846E9F", +"x3 c #806B9D", +"y3 c #7E689B", +"z3 c #7C6598", +"A3 c #7B6397", +"B3 c #7A6296", +"C3 c #785F93", +"D3 c #765E92", +"E3 c #755E91", +"F3 c #745C90", +"G3 c #735B8F", +"H3 c #725B8D", +"I3 c #71598B", +"J3 c #6E5686", +"K3 c #6B5582", +"L3 c #6B5581", +"M3 c #6D5683", +"N3 c #6E5885", +"O3 c #6F5A87", +"P3 c #705B88", +"Q3 c #745E89", +"R3 c #745E8A", +"S3 c #76608B", +"T3 c #725D85", +"U3 c #725C85", +"V3 c #745E87", +"W3 c #745F87", +"X3 c #756088", +"Y3 c #77638B", +"Z3 c #7B658C", +"`3 c #7B668E", +" 4 c #7D678F", +".4 c #7C668E", +"+4 c #7A648D", +"@4 c #79638B", +"#4 c #78628B", +"$4 c #76618A", +"%4 c #745E88", +"&4 c #735D86", +"*4 c #715C85", +"=4 c #705B84", +"-4 c #705983", +";4 c #6F5983", +">4 c #6D5882", +",4 c #6C5680", +"'4 c #6B5580", +")4 c #6A547F", +"!4 c #69537E", +"~4 c #634D78", +"{4 c #614A76", +"]4 c #5E4874", +"^4 c #5C4571", +"/4 c #59416E", +"(4 c #543E6B", +"_4 c #523A69", +":4 c #311749", +"<4 c #47345F", +"[4 c #503D69", +"}4 c #614D7D", +"|4 c #5D497A", +"14 c #D3CCDB", +"24 c #D8D3E1", +"34 c #D6D0E0", +"44 c #D2CBDD", +"54 c #CAC4D5", +"64 c #C2BAD1", +"74 c #C0B8CF", +"84 c #CBC4D8", +"94 c #CDC5D9", +"04 c #CAC2D9", +"a4 c #C9BFD7", +"b4 c #C7BDD6", +"c4 c #C0B5D1", +"d4 c #BBAFCC", +"e4 c #B7AACA", +"f4 c #AFA0C4", +"g4 c #AD9DC2", +"h4 c #AB9AC0", +"i4 c #A594BE", +"j4 c #A390BC", +"k4 c #9E8BB8", +"l4 c #9D89B8", +"m4 c #947FAE", +"n4 c #8874A2", +"o4 c #8672A1", +"p4 c #786194", +"q4 c #776094", +"r4 c #755C91", +"s4 c #735B90", +"t4 c #725A8E", +"u4 c #72598E", +"v4 c #72598D", +"w4 c #6E5689", +"x4 c #6A5382", +"y4 c #67507E", +"z4 c #69517E", +"A4 c #6A5381", +"B4 c #6A5482", +"C4 c #6B5683", +"D4 c #6D5684", +"E4 c #6F5986", +"F4 c #705A87", +"G4 c #735C89", +"H4 c #755E8A", +"I4 c #715A83", +"J4 c #715B85", +"K4 c #735E87", +"L4 c #766089", +"M4 c #78638C", +"N4 c #79638C", +"O4 c #7B658D", +"P4 c #7B658E", +"Q4 c #7C668F", +"R4 c #7C658F", +"S4 c #7B648E", +"T4 c #7A648E", +"U4 c #7A638C", +"V4 c #78618B", +"W4 c #77618A", +"X4 c #76608A", +"Y4 c #755F89", +"Z4 c #755F88", +"`4 c #745D87", +" 5 c #735C86", +".5 c #725C86", +"+5 c #715A85", +"@5 c #705A85", +"#5 c #6E5983", +"$5 c #6E5882", +"%5 c #6D5681", +"&5 c #6B547F", +"*5 c #67517C", +"=5 c #664F7B", +"-5 c #654E79", +";5 c #634D79", +">5 c #624B77", +",5 c #604976", +"'5 c #5F4774", +")5 c #5B4471", +"!5 c #59426F", +"~5 c #57406D", +"{5 c #513A68", +"]5 c #4B3362", +"^5 c #4A3761", +"/5 c #614D7E", +"(5 c #9285A5", +"_5 c #D9D2E2", +":5 c #D8D2E1", +"<5 c #CCC7D7", +"[5 c #C8C1D5", +"}5 c #CEC6DB", +"|5 c #CCC3D9", +"15 c #C9C0D7", +"25 c #C7BED6", +"35 c #C4B8D4", +"45 c #BDB1CF", +"55 c #BAAECB", +"65 c #B5A8C8", +"75 c #A18FBA", +"85 c #9D89B7", +"95 c #9A86B5", +"05 c #8C77A6", +"a5 c #8571A0", +"b5 c #796195", +"c5 c #765F93", +"d5 c #765E93", +"e5 c #745C91", +"f5 c #735A8F", +"g5 c #72588E", +"h5 c #6D5488", +"i5 c #664E7F", +"j5 c #634B7B", +"k5 c #644C7C", +"l5 c #654E7E", +"m5 c #695180", +"n5 c #6B5583", +"o5 c #6C5683", +"p5 c #6E5785", +"q5 c #6F5886", +"r5 c #705A88", +"s5 c #715A89", +"t5 c #735B89", +"u5 c #705985", +"v5 c #705B85", +"w5 c #725B85", +"x5 c #735C87", +"y5 c #735D87", +"z5 c #79628B", +"A5 c #79628C", +"B5 c #79628D", +"C5 c #79638D", +"D5 c #7A638D", +"E5 c #78628C", +"F5 c #77618C", +"G5 c #765F8A", +"H5 c #765F89", +"I5 c #755E89", +"J5 c #745D89", +"K5 c #745D88", +"L5 c #735B86", +"M5 c #715C86", +"N5 c #6F5884", +"O5 c #6E5783", +"P5 c #6D5782", +"Q5 c #6C5681", +"R5 c #6B537F", +"S5 c #69527E", +"T5 c #68517D", +"U5 c #67507C", +"V5 c #664E7B", +"W5 c #654E7A", +"X5 c #634C79", +"Y5 c #614A78", +"Z5 c #614976", +"`5 c #5F4874", +" 6 c #5D4673", +".6 c #5C4572", +"+6 c #5B4270", +"@6 c #59406F", +"#6 c #553C6B", +"$6 c #4F3665", +"%6 c #4D3464", +"&6 c #4B3262", +"*6 c #331A4C", +"=6 c #321949", +"-6 c #483560", +";6 c #5A4674", +">6 c #665182", +",6 c #6E5B87", +"'6 c #C4BECF", +")6 c #D9D3E1", +"!6 c #D9D3E2", +"~6 c #D7D1E1", +"{6 c #D1CBDB", +"]6 c #CFC7DB", +"^6 c #C4B9D5", +"/6 c #C1B5D3", +"(6 c #B8ABCA", +"_6 c #B3A5C7", +":6 c #B0A2C5", +"<6 c #AE9FC3", +"[6 c #AC9CC1", +"}6 c #A998BF", +"|6 c #A695BE", +"16 c #9C89B6", +"26 c #9B86B6", +"36 c #9580B0", +"46 c #846F9F", +"56 c #826D9E", +"66 c #806A9C", +"76 c #7C6699", +"86 c #796196", +"96 c #755E92", +"06 c #735A90", +"a6 c #72598F", +"b6 c #71588E", +"c6 c #6C5489", +"d6 c #654C7F", +"e6 c #614879", +"f6 c #5F4778", +"g6 c #614A7A", +"h6 c #634C7B", +"i6 c #654D7D", +"j6 c #664E7E", +"k6 c #684F7E", +"l6 c #695080", +"m6 c #6A5281", +"n6 c #6B5483", +"o6 c #6C5584", +"p6 c #6D5685", +"q6 c #6F5887", +"r6 c #705988", +"s6 c #705987", +"t6 c #6D5781", +"u6 c #6E5883", +"v6 c #715B86", +"w6 c #745C88", +"x6 c #755D88", +"y6 c #755E88", +"z6 c #77608B", +"A6 c #77628C", +"B6 c #755F8A", +"C6 c #725B87", +"D6 c #705984", +"E6 c #6F5883", +"F6 c #6F5784", +"G6 c #6D5581", +"H6 c #6B5481", +"I6 c #6B5380", +"J6 c #69527F", +"K6 c #68507D", +"L6 c #654D7A", +"M6 c #644C79", +"N6 c #624A78", +"O6 c #614876", +"P6 c #5E4775", +"Q6 c #5E4674", +"R6 c #5C4473", +"S6 c #5B4371", +"T6 c #59416F", +"U6 c #583F6D", +"V6 c #563D6C", +"W6 c #543B6A", +"X6 c #523969", +"Y6 c #503767", +"Z6 c #4E3565", +"`6 c #4C3463", +" 7 c #472F5F", +".7 c #462D5D", +"+7 c #2E1645", +"@7 c #523F6A", +"#7 c #695685", +"$7 c #645082", +"%7 c #A196B3", +"&7 c #D6D1DF", +"*7 c #DAD4E3", +"=7 c #D8D2E2", +"-7 c #D5CFE0", +";7 c #C5BDD1", +">7 c #CEC6DA", +",7 c #CBC2D8", +"'7 c #C3BAD4", +")7 c #C3B7D4", +"!7 c #BFB3D1", +"~7 c #B7AAC8", +"{7 c #B1A3C6", +"]7 c #A99ABF", +"^7 c #A796BD", +"/7 c #A593BC", +"(7 c #A08DB9", +"_7 c #9E89B8", +":7 c #9B87B4", +"<7 c #9A85B4", +"[7 c #8E79A8", +"}7 c #836E9E", +"|7 c #836C9D", +"17 c #7C6599", +"27 c #765F94", +"37 c #745C92", +"47 c #71598F", +"57 c #6E558B", +"67 c #5E4677", +"77 c #5D4475", +"87 c #5F4777", +"97 c #604779", +"07 c #61487A", +"a7 c #624A7B", +"b7 c #644B7C", +"c7 c #654C7D", +"d7 c #674E7E", +"e7 c #684F7F", +"f7 c #685080", +"g7 c #6A5282", +"h7 c #6A5383", +"i7 c #6E5685", +"j7 c #6F5786", +"k7 c #705888", +"l7 c #6F5888", +"m7 c #6B5480", +"n7 c #6D5682", +"o7 c #6E5682", +"p7 c #705884", +"q7 c #735B87", +"r7 c #77608C", +"s7 c #76608C", +"t7 c #765F8B", +"u7 c #735D88", +"v7 c #735C88", +"w7 c #725B86", +"x7 c #715A86", +"y7 c #6C5482", +"z7 c #6A5480", +"A7 c #6A527F", +"B7 c #6A517F", +"C7 c #674F7C", +"D7 c #654D7B", +"E7 c #644C7A", +"F7 c #634B79", +"G7 c #604776", +"H7 c #5D4574", +"I7 c #5D4473", +"J7 c #5A4270", +"K7 c #583F6F", +"L7 c #563E6D", +"M7 c #543C6C", +"N7 c #533A69", +"O7 c #513968", +"P7 c #4F3766", +"Q7 c #4B3363", +"R7 c #472E5F", +"S7 c #462C5D", +"T7 c #432A5B", +"U7 c #3F2657", +"V7 c #3D2355", +"W7 c #230D3B", +"X7 c #665382", +"Y7 c #6A5686", +"Z7 c #72608D", +"`7 c #DCD7E4", +" 8 c #DAD4E2", +".8 c #D8D1E2", +"+8 c #D0CADB", +"@8 c #C3BBD1", +"#8 c #C9C1D6", +"$8 c #D0C8DC", +"%8 c #C9C1D8", +"&8 c #C5BDD5", +"*8 c #C2B9D3", +"=8 c #C2B6D3", +"-8 c #B7AAC9", +";8 c #AFA1C5", +">8 c #A898BF", +",8 c #A594BD", +"'8 c #A391BB", +")8 c #A18EB8", +"!8 c #9E8BB6", +"~8 c #9B88B6", +"{8 c #9885B4", +"]8 c #9682B1", +"^8 c #8772A1", +"/8 c #826C9C", +"(8 c #7D6599", +"_8 c #7A6396", +":8 c #786096", +"<8 c #735A91", +"[8 c #725A90", +"}8 c #6F568D", +"|8 c #664C81", +"18 c #5C4376", +"28 c #5A4274", +"38 c #5D4376", +"48 c #5D4477", +"58 c #5E4577", +"68 c #5F4677", +"78 c #62497B", +"88 c #634A7C", +"98 c #644B7D", +"08 c #654D7E", +"a8 c #674F7E", +"b8 c #674F7F", +"c8 c #6A5182", +"d8 c #6D5585", +"e8 c #6E5687", +"f8 c #6F5787", +"g8 c #6A537F", +"h8 c #6C5481", +"i8 c #6D5582", +"j8 c #6E5781", +"k8 c #6E5782", +"l8 c #715985", +"m8 c #725A86", +"n8 c #755D89", +"o8 c #765E8A", +"p8 c #765E8B", +"q8 c #755D8A", +"r8 c #735B88", +"s8 c #725A87", +"t8 c #715986", +"u8 c #715885", +"v8 c #705885", +"w8 c #6F5684", +"x8 c #6D5583", +"y8 c #6C5581", +"z8 c #6B5281", +"A8 c #6A5180", +"B8 c #6A517E", +"C8 c #664E7C", +"D8 c #614978", +"E8 c #614977", +"F8 c #5F4776", +"G8 c #5E4575", +"H8 c #5B4372", +"I8 c #5A4171", +"J8 c #58406F", +"K8 c #573E6E", +"L8 c #563D6D", +"M8 c #533B6A", +"N8 c #533969", +"O8 c #503768", +"P8 c #4F3566", +"Q8 c #4B3163", +"R8 c #492F61", +"S8 c #452C5D", +"T8 c #402759", +"U8 c #3B2153", +"V8 c #2C1443", +"W8 c #4A3762", +"X8 c #5B4874", +"Y8 c #6E5B89", +"Z8 c #695485", +"`8 c #AFA5BE", +" 9 c #DBD5E4", +".9 c #CCC4D7", +"+9 c #C9C2D5", +"@9 c #C7BED3", +"#9 c #C1B9CF", +"$9 c #CFC8DC", +"%9 c #CAC3D9", +"&9 c #C1B7D2", +"*9 c #C0B4D2", +"=9 c #BAAECC", +"-9 c #B6A9C7", +";9 c #AB9CC1", +">9 c #A899BF", +",9 c #A696BE", +"'9 c #A392BC", +")9 c #A08EBA", +"!9 c #9985B3", +"~9 c #9783B3", +"{9 c #917CAC", +"]9 c #7D689A", +"^9 c #7A6297", +"/9 c #786095", +"(9 c #71578F", +"_9 c #684F85", +":9 c #5C4277", +"<9 c #583F72", +"[9 c #5A4073", +"}9 c #5B4275", +"|9 c #5C4276", +"19 c #5F4678", +"29 c #654B7E", +"39 c #664C7E", +"49 c #674E7F", +"59 c #695081", +"69 c #6A5283", +"79 c #6B5385", +"89 c #6D5586", +"99 c #6F5687", +"09 c #6C5382", +"a9 c #69517F", +"b9 c #6B527F", +"c9 c #6B5381", +"d9 c #6E5683", +"e9 c #6F5783", +"f9 c #735A87", +"g9 c #745C89", +"h9 c #745D8A", +"i9 c #755C89", +"j9 c #745B89", +"k9 c #735A88", +"l9 c #725987", +"m9 c #705785", +"n9 c #705784", +"o9 c #6F5683", +"p9 c #6E5583", +"q9 c #6C5483", +"r9 c #6C5381", +"s9 c #6B5280", +"t9 c #6A5280", +"u9 c #69507F", +"v9 c #664D7B", +"w9 c #654C7A", +"x9 c #634B7A", +"y9 c #634A79", +"z9 c #624979", +"A9 c #614778", +"B9 c #614676", +"C9 c #5E4675", +"D9 c #5D4474", +"E9 c #5C4273", +"F9 c #594070", +"G9 c #573E6F", +"H9 c #563D6E", +"I9 c #533A6A", +"J9 c #513868", +"K9 c #503667", +"L9 c #4E3465", +"M9 c #4B3264", +"N9 c #4B3162", +"O9 c #472E5E", +"P9 c #452B5C", +"Q9 c #42295B", +"R9 c #412759", +"S9 c #4E3B66", +"T9 c #705D8B", +"U9 c #6E5B8A", +"V9 c #816F98", +"W9 c #DDD8E6", +"X9 c #CBC3D6", +"Y9 c #CBC4D9", +"Z9 c #C5BCD4", +"`9 c #C2B8D3", +" 0 c #C0B4D1", +".0 c #BEB1D0", +"+0 c #B7ABC9", +"@0 c #B4A7C7", +"#0 c #AFA1C4", +"$0 c #AD9DC1", +"%0 c #A99AC0", +"&0 c #A28FBA", +"*0 c #9C8AB6", +"=0 c #9986B4", +"-0 c #9782B2", +";0 c #9581B2", +">0 c #8A74A5", +",0 c #7D6899", +"'0 c #7B6597", +")0 c #796397", +"!0 c #735C92", +"~0 c #725A91", +"{0 c #6D538A", +"]0 c #5F457A", +"^0 c #563D71", +"/0 c #573D71", +"(0 c #593F73", +"_0 c #5A4074", +":0 c #5A4174", +"<0 c #5C4275", +"[0 c #5D4377", +"}0 c #5F4477", +"|0 c #5F4679", +"10 c #62497C", +"20 c #644B7E", +"30 c #654C7E", +"40 c #664D7E", +"50 c #674E80", +"60 c #694F80", +"70 c #6B5384", +"80 c #6C5485", +"90 c #6B5383", +"00 c #67507D", +"a0 c #69507E", +"b0 c #6A5380", +"c0 c #6C5582", +"d0 c #715886", +"e0 c #725988", +"f0 c #745B88", +"g0 c #735987", +"h0 c #715987", +"i0 c #715887", +"j0 c #6D5483", +"k0 c #6D5482", +"l0 c #664D7C", +"m0 c #664C7C", +"n0 c #644C7B", +"o0 c #644B7A", +"p0 c #624A79", +"q0 c #624878", +"r0 c #614878", +"s0 c #604777", +"t0 c #5C4373", +"u0 c #5B4172", +"v0 c #5A4071", +"w0 c #583F70", +"x0 c #553C6D", +"y0 c #543A6B", +"z0 c #52386A", +"A0 c #513768", +"B0 c #4D3365", +"C0 c #4A3062", +"D0 c #482E60", +"E0 c #462C5E", +"F0 c #442A5D", +"G0 c #412659", +"H0 c #3F2557", +"I0 c #351B4D", +"J0 c #31184A", +"K0 c #2F1648", +"L0 c #2C1345", +"M0 c #270F3F", +"N0 c #260E3E", +"O0 c #4C3963", +"P0 c #64517D", +"Q0 c #73608F", +"R0 c #6D5989", +"S0 c #B3A8C3", +"T0 c #DFDAE7", +"U0 c #DCD6E5", +"V0 c #D9D4E3", +"W0 c #D6CFE0", +"X0 c #C9C1D5", +"Y0 c #C3BCD2", +"Z0 c #C1B8CE", +"`0 c #D0C9DD", +" a c #CAC2D8", +".a c #BEB3D0", +"+a c #BBAFCE", +"@a c #AFA2C5", +"#a c #AB9BC1", +"$a c #A897BE", +"%a c #A290BA", +"&a c #9E8DB7", +"*a c #9C8BB7", +"=a c #9A87B5", +"-a c #9883B3", +";a c #957FB1", +">a c #927DAF", +",a c #7C6798", +"'a c #796296", +")a c #776095", +"!a c #755E93", +"~a c #735B92", +"{a c #70578F", +"]a c #634A80", +"^a c #553C6F", +"/a c #573D72", +"(a c #583E73", +"_a c #593F74", +":a c #5A4075", +"b c #796396", +",b c #755E94", +"'b c #745C93", +")b c #745B93", +"!b c #6B5188", +"~b c #594075", +"{b c #53396D", +"]b c #563C71", +"^b c #583D72", +"/b c #593E73", +"(b c #5B4175", +"_b c #5E4378", +":b c #5F4579", +"c c #937EB0", +",c c #917CAE", +"'c c #8872A5", +")c c #786195", +"!c c #765E94", +"~c c #765D94", +"{c c #725991", +"]c c #61487E", +"^c c #53396E", +"/c c #52386D", +"(c c #553B70", +"_c c #553B71", +":c c #563C72", +"d c #BCB1CF", +",d c #BAAFCC", +"'d c #B3A7C6", +")d c #AFA2C3", +"!d c #AD9EC2", +"~d c #AB9BC0", +"{d c #A798BE", +"]d c #A595BC", +"^d c #A291BA", +"/d c #9F8DB8", +"(d c #9B8AB6", +"_d c #9886B3", +":d c #9782B1", +"e c #DDD6E6", +",e c #D7D0E1", +"'e c #CDC5D8", +")e c #D0C9DC", +"!e c #CCC4DA", +"~e c #C2B8D4", +"{e c #C0B6D1", +"]e c #BDB3CF", +"^e c #BBAFCD", +"/e c #B8ACCB", +"(e c #B1A5C4", +"_e c #A998BE", +":e c #A696BD", +"f c #AFA3C1", +",f c #AC9EC0", +"'f c #AA9BC0", +")f c #A797BD", +"!f c #A393BB", +"~f c #A190B9", +"{f c #9D8CB7", +"]f c #9885B2", +"^f c #937EAF", +"/f c #907CAD", +"(f c #8E78AC", +"_f c #8972A7", +":f c #5A4277", +"g c #AEA2BF", +",g c #E5DFEB", +"'g c #DED8E7", +")g c #CBC3D7", +"!g c #C4BCD2", +"~g c #D1C9DD", +"{g c #C7BFD7", +"]g c #BEB2D0", +"^g c #BBAECE", +"/g c #B8ACCC", +"(g c #B4A8C9", +"_g c #ACA0C0", +":g c #A99CBF", +"h c #87769E", +",h c #82719B", +"'h c #86759E", +")h c #D6D0E1", +"!h c #E2DDEA", +"~h c #DDD7E6", +"{h c #D3CCDE", +"]h c #CCC4D8", +"^h c #CAC2D7", +"/h c #C6BFD5", +"(h c #D3CCDF", +"_h c #CFC6DB", +":h c #C8C0D8", +"i c #25113B", +",i c #24113B", +"'i c #513E69", +")i c #7C6B94", +"!i c #8878A0", +"~i c #7F6E98", +"{i c #A99CBC", +"]i c #E5E0EC", +"^i c #DAD3E3", +"/i c #C4BCD3", +"(i c #CDC5DB", +"_i c #CBC2D9", +":i c #C5BBD5", +"j c #594771", +",j c #8C7BA3", +"'j c #87779F", +")j c #8676A0", +"!j c #E4DFEB", +"~j c #C7BFD5", +"{j c #CCC5D9", +"]j c #CFC7DC", +"^j c #C4B9D3", +"/j c #B4A7C9", +"(j c #AD9FC2", +"_j c #A699BC", +":j c #A495BA", +"k c #B5A8CA", +",k c #B2A5C7", +"'k c #AA9CC0", +")k c #A597BB", +"!k c #9F90B7", +"~k c #9885B3", +"{k c #9582B2", +"]k c #927EAF", +"^k c #907AAD", +"/k c #7F689F", +"(k c #664D86", +"_k c #5F457E", +":k c #4F366C", +"l c #7B659B", +",l c #644B84", +"'l c #644A84", +")l c #5E447D", +"!l c #50366B", +"~l c #50356C", +"{l c #51346E", +"]l c #52356E", +"^l c #563873", +"/l c #573A74", +"(l c #5A3C77", +"_l c #5B3D78", +":l c #5C3E79", +"m c #583A74", +",m c #5B3C78", +"'m c #5D3E7A", +")m c #5E3F7B", +"!m c #5F407B", +"~m c #60417D", +"{m c #61427D", +"]m c #62437E", +"^m c #63447F", +"/m c #63457F", +"(m c #644581", +"_m c #654681", +":m c #654680", +"n c #5D3D7A", +",n c #5E3E7B", +"'n c #5F3F7B", +")n c #5F407C", +"!n c #61427E", +"~n c #62427E", +"{n c #644580", +"]n c #644681", +"^n c #654682", +"/n c #61437C", +"(n c #66467F", +"_n c #684981", +":n c #664781", +"o c #60417A", +",o c #63437D", +"'o c #674781", +")o c #664681", +"!o c #62427C", +"~o c #61417B", +"{o c #60407B", +"]o c #5D3E79", +"^o c #5B3B76", +"/o c #5A3B75", +"(o c #593A74", +"_o c #573772", +":o c #563771", +"p c #462862", +",p c #43255E", +"'p c #41235D", +")p c #40225C", +"!p c #3F215B", +"~p c #3C1F57", +"{p c #3B1E55", +"]p c #2E1847", +"^p c #2A1543", +"/p c #614F78", +"(p c #9B8DB0", +"_p c #9888AD", +":p c #998AB0", +"

Q c #81689A", +",Q c #81689B", +"'Q c #82689B", +")Q c #826A9C", +"!Q c #836A9C", +"~Q c #836A9D", +"{Q c #846B9D", +"]Q c #846B9E", +"^Q c #856B9E", +"/Q c #856C9F", +"(Q c #866CA0", +"_Q c #876CA1", +":Q c #876DA1", +"R c #432C5A", +",R c #402A57", +"'R c #3D2754", +")R c #3B2452", +"!R c #331F48", +"~R c #2E1C43", +"{R c #2C1B42", +"]R c #29173F", +"^R c #C3BACF", +"/R c #CBC1D9", +"(R c #DED8E9", +"_R c #DDD5E6", +":R c #D0C6DC", +"S c #7B5E95", +",S c #7A5D94", +"'S c #795C92", +")S c #785C92", +"!S c #775B91", +"~S c #775B90", +"{S c #765B8F", +"]S c #76598F", +"^S c #75598F", +"/S c #74598E", +"(S c #74588D", +"_S c #71568B", +":S c #71568A", +"T c #7C5A9A", +",T c #7D5A9B", +"'T c #7D5B9B", +")T c #7D5C9B", +"!T c #7E5C9B", +"~T c #7E5C9C", +"{T c #7F5C9C", +"]T c #7F5C9D", +"^T c #805C9E", +"/T c #815D9E", +"(T c #815D9F", +"_T c #815E9F", +":T c #815EA0", +"U c #755893", +",U c #6F528A", +"'U c #6F528B", +")U c #6E528C", +"!U c #6E528B", +"~U c #6F518B", +"{U c #6E4F8B", +"]U c #6E4F8C", +"^U c #6F508C", +"/U c #6F508D", +"(U c #6F508E", +"_U c #70518E", +":U c #70518F", +"V c #D6CCE1", +",V c #C4B6D5", +"'V c #CCC0DA", +")V c #D3C9DF", +"!V c #CCC0DB", +"~V c #C2B4D4", +"{V c #A38FBA", +"]V c #A08CB9", +"^V c #927AAE", +"/V c #8F77AC", +"(V c #8D75AA", +"_V c #8B72A8", +":V c #8970A7", +"W c #8F77AA", +",W c #8C74A9", +"'W c #8A72A8", +")W c #886DA5", +"!W c #7D629A", +"~W c #7C6099", +"{W c #7B5F99", +"]W c #7A5E99", +"^W c #795E99", +"/W c #735790", +"(W c #71558E", +"_W c #72558D", +":W c #72548D", +"X c #9E8AB8", +",X c #9D88B6", +"'X c #9A85B5", +")X c #9881B3", +"!X c #967FB1", +"~X c #8D75AB", +"{X c #8C73AA", +"]X c #8C72A9", +"^X c #856DA0", +"/X c #81699D", +"(X c #80669D", +"_X c #80659C", +":X c #7F659C", +"Y c #6B4E88", +",Y c #6A4E87", +"'Y c #694D86", +")Y c #664A84", +"!Y c #573E71", +"~Y c #563C70", +"{Y c #543A6C", +"]Y c #432B5C", +"^Y c #402859", +"/Y c #3D2657", +"(Y c #847399", +"_Y c #C8BFD2", +":Y c #DED6E9", +"Z c #7C6096", +",Z c #7B5F95", +"'Z c #7B5F94", +")Z c #7A5E93", +"!Z c #785D92", +"~Z c #785B91", +"{Z c #775A90", +"]Z c #755A90", +"^Z c #755A8F", +"/Z c #73578C", +"(Z c #72568C", +"_Z c #72568B", +":Z c #705589", +"` c #9679B0", +",` c #9478AE", +"'` c #9A80B3", +")` c #A991BD", +"!` c #A991BE", +"~` c #A992BE", +"{` c #A992BD", +"]` c #A993BE", +"^` c #AA93BE", +"/` c #A994BD", +"(` c #9478AB", +"_` c #9075A8", +":` c #9074A8", +"<` c #8F74A7", +"[` c #8F73A7", +"}` c #8E73A6", +"|` c #8C71A4", +"1` c #8B70A3", +"2` c #8B70A2", +"3` c #8A6FA2", +"4` c #896EA1", +"5` c #886DA1", +"6` c #886D9F", +"7` c #876D9F", +"8` c #866B9D", +"9` c #83699C", +"0` c #83689A", +"a` c #826899", +"b` c #7E6596", +"c` c #7C6294", +"d` c #7A6092", +"e` c #7A5F92", +"f` c #795F91", +"g` c #7D6398", +"h` c #7C6297", +"i` c #7B6196", +"j` c #7B6096", +"k` c #7A6095", +"l` c #7A6094", +"m` c #775E92", +"n` c #775C91", +"o` c #775D91", +"p` c #755B90", +"q` c #72598C", +"r` c #6D5485", +"s` c #68507F", +"t` c #644D7C", +"u` c #614A79", +"v` c #5E4877", +"w` c #584170", +"x` c #533B6B", +"y` c #4B3364", +"z` c #483060", +"A` c #452E5E", +"B` c #402959", +"C` c #36224C", +"D` c #311F46", +"E` c #9C8EAD", +"F` c #E2DAEB", +"G` c #CEC3DB", +"H` c #CABDD9", +"I` c #D7CDE3", +"J` c #D4CAE2", +"K` c #B19FC6", +"L` c #AF9EC4", +"M` c #AB99C2", +"N` c #A894BF", +"O` c #A590BC", +"P` c #A38EBB", +"Q` c #A08AB9", +"R` c #9883B0", +"S` c #9882AF", +"T` c #9782AF", +"U` c #9881B0", +"V` c #9781B0", +"W` c #9881B1", +"X` c #9981B1", +"Y` c #9880AF", +"Z` c #927BA8", +"`` c #917BA8", +" . c #937DAA", +". . c #937CAA", +"+ . c #947CAA", +"@ . c #947DAB", +"# . c #957DAB", +"$ . c #957DAC", +"% . c #967EAC", +"& . c #977FAD", +"* . c #9680AD", +"= . c #9880AE", +"- . c #9980AF", +"; . c #9981B0", +"> . c #9A82B1", +", . c #9A82B2", +"' . c #9B82B2", +") . c #9C83B2", +"! . c #9C84B3", +"~ . c #9D85B4", +"{ . c #9E85B4", +"] . c #9F85B4", +"^ . c #9F86B4", +"/ . c #9F86B5", +"( . c #A086B6", +"_ . c #A087B6", +": . c #A087B7", +"< . c #A087B8", +"[ . c #A187B8", +"} . c #A188B8", +"| . c #A288B9", +"1 . c #A288BA", +"2 . c #A388BA", +"3 . c #A389BB", +"4 . c #A086B7", +"5 . c #9F85B6", +"6 . c #A58CBB", +"7 . c #B29CC5", +"8 . c #B19BC4", +"9 . c #B19CC4", +"0 . c #B29CC4", +"a . c #B19CC3", +"b . c #B19DC3", +"c . c #B19DC2", +"d . c #B09CC1", +"e . c #9E86B4", +"f . c #9A81B1", +"g . c #9980AE", +"h . c #987FAE", +"i . c #977FAE", +"j . c #977EAD", +"k . c #967DAC", +"l . c #947CAB", +"m . c #937BA9", +"n . c #937AA9", +"o . c #9279A8", +"p . c #9179A7", +"q . c #9178A7", +"r . c #8E75A3", +"s . c #8D74A2", +"t . c #8C73A2", +"u . c #8A72A1", +"v . c #8A729F", +"w . c #88709E", +"x . c #866D9C", +"y . c #856C9B", +"z . c #846B9A", +"A . c #836B99", +"B . c #8870A0", +"C . c #8870A1", +"D . c #876E9F", +"E . c #866E9F", +"F . c #856E9F", +"G . c #856C9E", +"H . c #836B9C", +"I . c #836A9B", +"J . c #81699A", +"K . c #7F6798", +"L . c #796192", +"M . c #6E5985", +"N . c #68527E", +"O . c #664F7C", +"P . c #5D4674", +"Q . c #5A4372", +"R . c #513A69", +"S . c #4D3665", +"T . c #47305F", +"U . c #39264F", +"V . c #332248", +"W . c #312047", +"X . c #9C8FAE", +"Y . c #CAC2D5", +"Z . c #C7BFD2", +"` . c #E3DCEB", +" .. c #DAD1E6", +"... c #D1C7DE", +"+.. c #C6BAD4", +"@.. c #C3B7D3", +"#.. c #C2B5D2", +"$.. c #C0B3D1", +"%.. c #B6A6CA", +"&.. c #B5A3C9", +"*.. c #B3A2C8", +"=.. c #A995BE", +"-.. c #A794BD", +";.. c #A28EB7", +">.. c #A18EB6", +",.. c #A18DB6", +"'.. c #A18DB7", +").. c #A18DB8", +"!.. c #A28EB8", +"~.. c #A28DB8", +"{.. c #A28EB9", +"].. c #9E89B2", +"^.. c #9D88B2", +"/.. c #9F8BB4", +"(.. c #A18BB5", +"_.. c #A08BB5", +":.. c #A18CB5", +"<.. c #AB95C0", +"[.. c #AC96C1", +"}.. c #AD96C1", +"|.. c #AD96C2", +"1.. c #AD97C2", +"2.. c #AE97C2", +"3.. c #AE97C3", +"4.. c #AE98C3", +"5.. c #AF98C3", +"6.. c #AC95C1", +"7.. c #AC95C0", +"8.. c #AC94C0", +"9.. c #AB94C0", +"0.. c #AF99C2", +"a.. c #BAA7CB", +"b.. c #B9A7CA", +"c.. c #B9A7CB", +"d.. c #BAA7CA", +"e.. c #BAA8CA", +"f.. c #BAA7C9", +"g.. c #B9A8C9", +"h.. c #B9A7C9", +"i.. c #B8A6C7", +"j.. c #A58FB9", +"k.. c #A48EB7", +"l.. c #A28CB6", +"m.. c #A08AB3", +"n.. c #9E88B1", +"o.. c #9D87B0", +"p.. c #9C86B0", +"q.. c #9C85AF", +"r.. c #9A84AE", +"s.. c #9A84AD", +"t.. c #9882AC", +"u.. c #9780AA", +"v.. c #9680A9", +"w.. c #957FA8", +"x.. c #947EA7", +"y.. c #937DA7", +"z.. c #907AA4", +"A.. c #8F7AA4", +"B.. c #8E78A2", +"C.. c #8D77A1", +"D.. c #927CA8", +"E.. c #917BA7", +"F.. c #907AA7", +"G.. c #8E78A5", +"H.. c #8D77A4", +"I.. c #8C75A2", +"J.. c #8A74A0", +"K.. c #8974A0", +"L.. c #88729F", +"M.. c #86709E", +"N.. c #856F9D", +"O.. c #856E9C", +"P.. c #806997", +"Q.. c #745F89", +"R.. c #705C85", +"S.. c #6E5984", +"T.. c #654F7B", +"U.. c #614C78", +"V.. c #5A4472", +"W.. c #4F3867", +"X.. c #4B3463", +"Y.. c #483160", +"Z.. c #3C2A52", +"`.. c #35254A", +" +. c #29163F", +".+. c #CEC6D7", +"++. c #CFC6DA", +"@+. c #D4CBE0", +"#+. c #DBD3E6", +"$+. c #C6BAD5", +"%+. c #C5B9D5", +"&+. c #C3B5D2", +"*+. c #BDADCF", +"=+. c #B5A5C8", +"-+. c #B09EC4", +";+. c #AA99BE", +">+. c #A997BC", +",+. c #A998BD", +"'+. c #AA97BD", +")+. c #AA98BE", +"!+. c #AB98BE", +"~+. c #AB98BF", +"{+. c #AC9AC0", +"]+. c #A996BB", +"^+. c #A795B9", +"/+. c #A895BA", +"(+. c #A896BA", +"_+. c #A896BB", +":+. c #AA98BC", +"<+. c #AB98BD", +"[+. c #AB99BD", +"}+. c #AC9ABE", +"|+. c #AD9BBF", +"1+. c #AE9BC0", +"2+. c #AF9CC0", +"3+. c #AF9DC1", +"4+. c #B09DC1", +"5+. c #B09EC2", +"6+. c #B19EC2", +"7+. c #B29FC3", +"8+. c #B29FC4", +"9+. c #B29FC5", +"0+. c #B3A0C5", +"a+. c #B39FC5", +"b+. c #B4A1C6", +"c+. c #B4A2C6", +"d+. c #B4A2C7", +"e+. c #B5A2C7", +"f+. c #B5A2C8", +"g+. c #B6A2C8", +"h+. c #B6A3C8", +"i+. c #B6A3C9", +"j+. c #B7A3C9", +"k+. c #B7A3CA", +"l+. c #B7A4CA", +"m+. c #B8A4CA", +"n+. c #B8A4CB", +"o+. c #B8A5CC", +"p+. c #B6A2C9", +"q+. c #B7A2C8", +"r+. c #B7A2C9", +"s+. c #B8A4C9", +"t+. c #C1B1D1", +"u+. c #C1B2D1", +"v+. c #C2B2D1", +"w+. c #C3B2D1", +"x+. c #C2B3D0", +"y+. c #C2B2D0", +"z+. c #C3B3D0", +"A+. c #BFAFCE", +"B+. c #B3A0C4", +"C+. c #B2A0C4", +"D+. c #B2A0C3", +"E+. c #B19FC3", +"F+. c #B19EC3", +"G+. c #AE9BBF", +"H+. c #AD9ABE", +"I+. c #AC98BD", +"J+. c #AA97BB", +"K+. c #A894B9", +"L+. c #A793B9", +"M+. c #A593B8", +"N+. c #A591B7", +"O+. c #A591B6", +"P+. c #A490B5", +"Q+. c #A28FB5", +"R+. c #A18EB3", +"S+. c #A08DB2", +"T+. c #9F8BB1", +"U+. c #9E8AB0", +"V+. c #9D8AAF", +"W+. c #9C89AE", +"X+. c #9B88AE", +"Y+. c #9783A9", +"Z+. c #9A86AE", +"`+. c #9C88B1", +" @. c #937EA9", +".@. c #8F7BA5", +"+@. c #8E79A3", +"@@. c #8A75A0", +"#@. c #7C6892", +"$@. c #756289", +"%@. c #6B5780", +"&@. c #634F79", +"*@. c #5F4B76", +"=@. c #57416E", +"-@. c #533D6A", +";@. c #4F3866", +">@. c #3F2C55", +",@. c #36264B", +"'@. c #9E90B0", +")@. c #E0D9E8", +"!@. c #E4DFEE", +"~@. c #DED7E6", +"{@. c #DFD8E7", +"]@. c #DFDAE8", +"^@. c #E2DCE9", +"/@. c #E2DDE9", +"(@. c #E2DCEA", +"_@. c #E2DBEA", +":@. c #E2DAE8", +"<@. c #E2DBE9", +"[@. c #E1DAE7", +"}@. c #E7E1ED", +"|@. c #E8E1EE", +"1@. c #E8E2EE", +"2@. c #E9E4EE", +"3@. c #E9E4ED", +"4@. c #EBE5EE", +"5@. c #EBE7EF", +"6@. c #ECEAF1", +"7@. c #F0EEF3", +"8@. c #F1EFF4", +"9@. c #F4F2F6", +"0@. c #F5F2F6", +"a@. c #F6F4F8", +"b@. c #F7F4F8", +"c@. c #F7F5F9", +"d@. c #F8F6F8", +"e@. c #F9F8FA", +"f@. c #FBFBFC", +"g@. c #FCFCFD", +"h@. c #FEFEFE", +"i@. c #FEFFFE", +"j@. c #FEFDFE", +"k@. c #FBFAFB", +"l@. c #FAF8FB", +"m@. c #F9F7FB", +"n@. c #F9F7FA", +"o@. c #F8F6F9", +"p@. c #F8F6FA", +"q@. c #F7F4F9", +"r@. c #F5F3F8", +"s@. c #F6F4F9", +"t@. c #F6F3F8", +"u@. c #F6F2F8", +"v@. c #F5F2F8", +"w@. c #F5F1F7", +"x@. c #F4F0F7", +"y@. c #F4F0F6", +"z@. c #F2EEF5", +"A@. c #F2EEF4", +"B@. c #F2EDF4", +"C@. c #F1EDF5", +"D@. c #EEEAF3", +"E@. c #ECE8F1", +"F@. c #ECE8F0", +"G@. c #EBE7F0", +"H@. c #EBE6F0", +"I@. c #E9E4EF", +"J@. c #E8E3EE", +"K@. c #E9E3EE", +"L@. c #E8E2ED", +"M@. c #E7E1EC", +"N@. c #E7E0EB", +"O@. c #E4DFEA", +"P@. c #E2DCE7", +"Q@. c #DED9E6", +"R@. c #DED7E3", +"S@. c #DDD6E4", +"T@. c #DCD5E3", +"U@. c #DCD5E1", +"V@. c #DCD4E2", +"W@. c #D7CFDE", +"X@. c #D8CFDF", +"Y@. c #D8D0E1", +"Z@. c #D7CEE0", +"`@. c #D6CEDE", +" #. c #D4CBDD", +".#. c #D3CADC", +"+#. c #D1C8DC", +"@#. c #D0C7DA", +"##. c #CFC5D9", +"$#. c #CEC4D8", +"%#. c #C3B9CF", +"&#. c #BDB2C9", +"*#. c #BAAEC6", +"=#. c #B6A9C3", +"-#. c #B1A4C0", +";#. c #A598B5", +">#. c #9E8FAD", +",#. c #817193", +"'#. c #7A698C", +")#. c #6C5981", +"!#. c #503E64", +"~#. c #443457", +"{#. c #3F2E53", +"]#. c #34234A", +"^#. c #705C89", +"/#. c #9F91B1", +"(#. c #E8E4F0", +"_#. c #E5E0EE", +":#. c #E7E3EE", +"<#. c #E3DCEA", +"[#. c #E4E1EC", +"}#. c #E6E1EB", +"|#. c #E6E1EC", +"1#. c #E5DFED", +"2#. c #E3DCE8", +"3#. c #E3DEEA", +"4#. c #E6E0EB", +"5#. c #E7E2ED", +"6#. c #DFDAE6", +"7#. c #DED7E5", +"8#. c #DDD6E2", +"9#. c #DDD5E3", +"0#. c #DAD3E2", +"a#. c #D9D2E0", +"b#. c #DAD2E1", +"c#. c #DBD3E3", +"d#. c #DAD2E2", +"e#. c #D8D1E1", +"f#. c #D8D0E0", +"g#. c #D8CFE0", +"h#. c #D6CEE0", +"i#. c #D5CDDE", +"j#. c #D5CCDD", +"k#. c #D1C8DB", +"l#. c #CFC6D9", +"m#. c #CBC2D5", +"n#. c #C5BBD0", +"o#. c #C2B7CD", +"p#. c #BEB2C9", +"q#. c #B9ADC6", +"r#. c #B6A8C3", +"s#. c #AFA2BE", +"t#. c #8F809E", +"u#. c #877898", +"v#. c #69567D", +"w#. c #624E77", +"x#. c #534167", +"y#. c #463759", +"z#. c #413055", +"A#. c #35244B", +"B#. c #715D8A", +"C#. c #D0C9DA", +"D#. c #D2C9DC", +"E#. c #E7E3EF", +"F#. c #E4DFED", +"G#. c #DED7E7", +"H#. c #E0DCE9", +"I#. c #E1DAE8", +"J#. c #E4DCEA", +"K#. c #E0DAE7", +"L#. c #DCD4E1", +"M#. c #DBD3E2", +"N#. c #D7CEDF", +"O#. c #D8CFE1", +"P#. c #D7CFE0", +"Q#. c #D6CEDF", +"R#. c #D3C9DC", +"S#. c #D2C8DB", +"T#. c #D0C7DB", +"U#. c #CDC2D7", +"V#. c #C7BCD2", +"W#. c #B4A7C1", +"X#. c #B0A2BF", +"Y#. c #AC9DBB", +"Z#. c #A798B7", +"`#. c #9888A8", +" $. c #8F7E9E", +".$. c #877797", +"+$. c #807092", +"@$. c #6C5880", +"#$. c #655179", +"$$. c #5E4A74", +"%$. c #513E65", +"&$. c #443557", +"*$. c #725E8B", +"=$. c #A193B2", +"-$. c #CAC1D5", +";$. c #DDD6E8", +">$. c #D1C8DE", +",$. c #CDC2DB", +"'$. c #CEC2DC", +")$. c #CABED8", +"!$. c #C3B6D3", +"~$. c #C1B4D2", +"{$. c #C0B2D1", +"]$. c #BAACCE", +"^$. c #B4A2C8", +"/$. c #B2A0C6", +"($. c #AE9CC4", +"_$. c #AD9CC4", +":$. c #A997BD", +"<$. c #A896BD", +"[$. c #A896BC", +"}$. c #A996BE", +"|$. c #AA96BF", +"1$. c #AB97BF", +"2$. c #A794BB", +"3$. c #A692B9", +"4$. c #A793BA", +"5$. c #A894BC", +"6$. c #A995BC", +"7$. c #A995BD", +"8$. c #AB97BE", +"9$. c #AC98BF", +"0$. c #AD99C0", +"a$. c #AD99C1", +"b$. c #AE99C0", +"c$. c #AE9AC1", +"d$. c #AF9BC2", +"e$. c #B09BC2", +"f$. c #B09BC3", +"g$. c #B09CC3", +"h$. c #B09CC4", +"i$. c #B19DC4", +"j$. c #B19DC5", +"k$. c #B19DC6", +"l$. c #B29DC6", +"m$. c #B29EC6", +"n$. c #B29EC7", +"o$. c #B39EC7", +"p$. c #B49EC7", +"q$. c #B49EC8", +"r$. c #B49FC9", +"s$. c #B59FC9", +"t$. c #B5A0C9", +"u$. c #B6A0C9", +"v$. c #B5A0CA", +"w$. c #B6A0CA", +"x$. c #B7A0CA", +"y$. c #B7A1CA", +"z$. c #BAA6CB", +"A$. c #BDA9CD", +"B$. c #BCA9CD", +"C$. c #BCA9CE", +"D$. c #BDA9CE", +"E$. c #BDAACD", +"F$. c #BDABCD", +"G$. c #BCABCD", +"H$. c #BCAACD", +"I$. c #BCAACC", +"J$. c #AE99BF", +"K$. c #AD98BF", +"L$. c #AC97BE", +"M$. c #AC97BD", +"N$. c #AB97BD", +"O$. c #AA96BD", +"P$. c #AA96BC", +"Q$. c #A994BB", +"R$. c #A894BB", +"S$. c #A28EB5", +"T$. c #A18DB4", +"U$. c #9E89B1", +"V$. c #9C88AF", +"W$. c #9A85AD", +"X$. c #9984AC", +"Y$. c #9883AB", +"Z$. c #9782AA", +"`$. c #9C87B1", +" %. c #9984AF", +".%. c #9883AE", +"+%. c #9681AB", +"@%. c #907AA6", +"#%. c #8E79A5", +"$%. c #8A75A2", +"%%. c #88739F", +"&%. c #86719E", +"*%. c #846E9C", +"=%. c #826C99", +"-%. c #806A97", +";%. c #7E6897", +">%. c #604A76", +",%. c #594370", +"'%. c #553F6D", +")%. c #38274E", +"!%. c #301E46", +"~%. c #735F8C", +"{%. c #A194B3", +"]%. c #DBD3E7", +"^%. c #CEC4DD", +"/%. c #CCC2DB", +"(%. c #C7BBD6", +"_%. c #C3B5D3", +":%. c #B9A9CD", +"<%. c #B7A6CA", +"[%. c #B5A5CA", +"}%. c #B19FC7", +"|%. c #B09DC6", +"1%. c #AD9AC3", +"2%. c #AC98C1", +"3%. c #AA96C0", +"4%. c #A894C0", +"5%. c #A793C0", +"6%. c #A793BF", +"7%. c #A38EBA", +"8%. c #A28DB7", +"9%. c #A28DB9", +"0%. c #A38DB9", +"a%. c #A48DBA", +"b%. c #A18BB7", +"c%. c #9D87B3", +"d%. c #9E88B3", +"e%. c #9E89B4", +"f%. c #A18AB5", +"g%. c #A18AB6", +"h%. c #A28BB6", +"i%. c #A28BB8", +"j%. c #A38CB8", +"k%. c #A48DB9", +"l%. c #A58EB9", +"m%. c #A58EBA", +"n%. c #A68EBB", +"o%. c #A68FBB", +"p%. c #A790BC", +"q%. c #A890BD", +"r%. c #A891BD", +"s%. c #A891BE", +"t%. c #A892BE", +"u%. c #AA92BF", +"v%. c #AA92C0", +"w%. c #AA93C0", +"x%. c #AB93C0", +"y%. c #AB93C1", +"z%. c #AB94C1", +"A%. c #AB94C2", +"B%. c #AC94C2", +"C%. c #AD94C2", +"D%. c #AD95C2", +"E%. c #AD95C3", +"F%. c #AE95C3", +"G%. c #AE95C4", +"H%. c #AE96C4", +"I%. c #AF96C4", +"J%. c #AF97C4", +"K%. c #AC94C1", +"L%. c #B39DC7", +"M%. c #B49DC7", +"N%. c #B49EC6", +"O%. c #B39EC6", +"P%. c #B49FC6", +"Q%. c #A78FBC", +"R%. c #A78FBB", +"S%. c #A48EBA", +"T%. c #A48EB9", +"U%. c #A28BB7", +"V%. c #A28AB6", +"W%. c #9B84B1", +"X%. c #9B83B0", +"Y%. c #9981AE", +"Z%. c #967FAC", +"`%. c #957EAB", +" &. c #957DAA", +".&. c #947CA8", +"+&. c #9179A5", +"@&. c #9079A5", +"#&. c #8F78A4", +"$&. c #8F78A5", +"%&. c #8F79A8", +"&&. c #8F79A7", +"*&. c #8F78A6", +"=&. c #8B75A3", +"-&. c #8B74A3", +";&. c #8872A1", +">&. c #88719F", +",&. c #866E9E", +"'&. c #836D9C", +")&. c #806999", +"!&. c #7D6595", +"~&. c #7B6395", +"{&. c #7A6294", +"]&. c #796293", +"^&. c #654E7D", +"/&. c #563E6E", +"(&. c #4F3767", +"_&. c #4D3465", +":&. c #432D59", +"<&. c #37264C", +"[&. c #34234B", +"}&. c #DAD0E6", +"|&. c #C9BED8", +"1&. c #C9BCD9", +"2&. c #C6BAD3", +"3&. c #C8BCD6", +"4&. c #C5B9D3", +"5&. c #B7A6CB", +"6&. c #B4A3C8", +"7&. c #AF9CC4", +"8&. c #AD9AC4", +"9&. c #AC97C2", +"0&. c #AA95C1", +"a&. c #A893C0", +"b&. c #A591BE", +"c&. c #A48FBC", +"d&. c #A28DBB", +"e&. c #A18BBA", +"f&. c #A089B9", +"g&. c #9F89B9", +"h&. c #9F88B9", +"i&. c #9C85B5", +"j&. c #9982B0", +"k&. c #9982B1", +"l&. c #9882B1", +"m&. c #9882B2", +"n&. c #9982B2", +"o&. c #9981B2", +"p&. c #9A81B2", +"q&. c #9A81B3", +"r&. c #987FB2", +"s&. c #947BAC", +"t&. c #947CAD", +"u&. c #957CAD", +"v&. c #977EAF", +"w&. c #997EB0", +"x&. c #997FB1", +"y&. c #9A80B1", +"z&. c #9D82B5", +"A&. c #9D83B5", +"B&. c #9D83B6", +"C&. c #9E84B6", +"D&. c #9E83B7", +"E&. c #9F84B7", +"F&. c #9F84B8", +"G&. c #A084B8", +"H&. c #A185B9", +"I&. c #A186B9", +"J&. c #A186BA", +"K&. c #A286BA", +"L&. c #A186BB", +"M&. c #A286BB", +"N&. c #A387BB", +"O&. c #A388BC", +"P&. c #A488BC", +"Q&. c #A588BC", +"R&. c #A588BD", +"S&. c #A488BD", +"T&. c #A589BD", +"U&. c #A489BD", +"V&. c #A58ABD", +"W&. c #A287BA", +"X&. c #A48ABC", +"Y&. c #A990BF", +"Z&. c #A98FBF", +"`&. c #AA90BF", +" *. c #A991BF", +".*. c #AA91BF", +"+*. c #A990BE", +"@*. c #A085B7", +"#*. c #9B81B3", +"$*. c #9B80B2", +"%*. c #9A80B2", +"&*. c #987EAF", +"**. c #9379AB", +"=*. c #9378AA", +"-*. c #9076A8", +";*. c #8F75A7", +">*. c #8F74A6", +",*. c #8E74A5", +"'*. c #8D73A5", +")*. c #8D72A4", +"!*. c #8B71A3", +"~*. c #8A71A2", +"{*. c #896FA1", +"]*. c #886EA0", +"^*. c #886E9F", +"/*. c #876D9E", +"(*. c #866C9D", +"_*. c #856C9C", +":*. c #886EA2", +"<*. c #876DA0", +"[*. c #866C9F", +"}*. c #82699C", +"|*. c #82689C", +"1*. c #80679A", +"2*. c #7E6599", +"3*. c #7C6296", +"4*. c #7B6195", +"5*. c #786093", +"6*. c #775E91", +"7*. c #755C90", +"8*. c #755D91", +"9*. c #765D91", +"0*. c #4F3668", +"a*. c #35244A", +"b*. c #342149", +"c*. c #301D45", +"d*. c #DFD7E9", +"e*. c #C4B7D5", +"f*. c #C5B9D4", +"g*. c #C2B6D2", +"h*. c #B9A9CB", +"i*. c #AB97C1", +"j*. c #A691BE", +"k*. c #A38EBD", +"l*. c #A28BBC", +"m*. c #A089BA", +"n*. c #9E87B8", +"o*. c #9B84B6", +"p*. c #9A83B5", +"q*. c #9881B4", +"r*. c #9880B3", +"s*. c #967EB2", +"t*. c #9279AB", +"u*. c #9178AB", +"v*. c #9179AB", +"w*. c #9178AC", +"x*. c #9278AC", +"y*. c #9277AC", +"z*. c #9276AD", +"A*. c #9177AE", +"B*. c #8D71A7", +"C*. c #8B70A5", +"D*. c #8C70A6", +"E*. c #8C71A6", +"F*. c #8C70A7", +"G*. c #8D71A8", +"H*. c #8E72A8", +"I*. c #9073A9", +"J*. c #9173AA", +"K*. c #9174AA", +"L*. c #9275AB", +"M*. c #9375AC", +"N*. c #9376AD", +"O*. c #9477AE", +"P*. c #9478AF", +"Q*. c #9578AF", +"R*. c #9678B0", +"S*. c #9678B1", +"T*. c #9679B1", +"U*. c #9779B2", +"V*. c #977AB3", +"W*. c #987AB3", +"X*. c #997AB3", +"Y*. c #997AB4", +"Z*. c #9A7AB4", +"`*. c #997BB4", +" =. c #9A7BB4", +".=. c #9A7BB5", +"+=. c #9B7CB5", +"@=. c #9A7CB5", +"#=. c #9A7DB6", +"$=. c #9B7DB6", +"%=. c #9C7DB6", +"&=. c #9C7EB7", +"*=. c #9D7EB7", +"==. c #9D7FB7", +"-=. c #9C7EB6", +";=. c #997BB3", +">=. c #987BB3", +",=. c #9C7FB5", +"'=. c #A083B8", +")=. c #A084B9", +"!=. c #A084B7", +"~=. c #997AB1", +"{=. c #9576AF", +"]=. c #9577AF", +"^=. c #9476AE", +"/=. c #9476AF", +"(=. c #9476AD", +"_=. c #9375AD", +":=. c #9274AB", +"<=. c #8B6EA4", +"[=. c #896CA3", +"}=. c #876AA0", +"|=. c #86699F", +"1=. c #85699E", +"2=. c #84679D", +"3=. c #83679C", +"4=. c #82669B", +"5=. c #82659B", +"6=. c #7F6398", +"7=. c #7E6297", +"8=. c #7C6195", +"9=. c #83669E", +"0=. c #7E6399", +"a=. c #7D6399", +"b=. c #7D6299", +"c=. c #7C6197", +"d=. c #7A5F96", +"e=. c #765B92", +"f=. c #755B92", +"g=. c #755991", +"h=. c #72578E", +"i=. c #6F558C", +"j=. c #70558C", +"k=. c #70568D", +"l=. c #71578E", +"m=. c #73598F", +"n=. c #745B90", +"o=. c #4A3163", +"p=. c #472E62", +"q=. c #322149", +"r=. c #322048", +"s=. c #75618E", +"t=. c #D2C8DD", +"u=. c #D8CFE3", +"v=. c #D8CEE3", +"w=. c #C9BDD9", +"x=. c #C7BCD8", +"y=. c #C1B4D1", +"z=. c #BFB1CF", +"A=. c #B8A8CC", +"B=. c #B09DC4", +"C=. c #AE9BC3", +"D=. c #AC98C2", +"E=. c #A994C0", +"F=. c #A892BF", +"G=. c #A490BD", +"H=. c #A08ABA", +"I=. c #9F88B8", +"J=. c #9C86B7", +"K=. c #9B83B6", +"L=. c #9880B4", +"M=. c #977CB2", +"N=. c #947BB1", +"O=. c #9279AF", +"P=. c #9278AF", +"Q=. c #9177AF", +"R=. c #8C72A8", +"S=. c #8B70A7", +"T=. c #8A70A7", +"U=. c #8A6FA7", +"V=. c #8B6FA7", +"W=. c #8B6FA6", +"X=. c #8B6EA7", +"Y=. c #8B6DA7", +"Z=. c #8A6DA8", +"`=. c #8B6EA9", +" -. c #876AA3", +".-. c #83669F", +"+-. c #8566A1", +"@-. c #8566A2", +"#-. c #8667A2", +"$-. c #8768A3", +"%-. c #8868A3", +"&-. c #8969A3", +"*-. c #8969A4", +"=-. c #896AA5", +"--. c #896AA6", +";-. c #8A6BA6", +">-. c #8A6BA8", +",-. c #8B6BA7", +"'-. c #8B6CA8", +")-. c #8B6CA9", +"!-. c #8D6DAA", +"~-. c #8E6DAA", +"{-. c #8E6DAC", +"]-. c #8E6EAB", +"^-. c #8F6EAC", +"/-. c #8F6FAD", +"(-. c #906FAC", +"_-. c #906FAE", +":-. c #916FAD", +"<-. c #9170AF", +"[-. c #9270AF", +"}-. c #9271AF", +"|-. c #9371B0", +"1-. c #9372B0", +"2-. c #9472B0", +"3-. c #9473B0", +"4-. c #9473B1", +"5-. c #9474B1", +"6-. c #9574B1", +"7-. c #9575B1", +"8-. c #9575B2", +"9-. c #9373AF", +"0-. c #9170AC", +"a-. c #9070AC", +"b-. c #9374AE", +"c-. c #9777B1", +"d-. c #9878B1", +"e-. c #9778B1", +"f-. c #9878B2", +"g-. c #9778B2", +"h-. c #9879B2", +"i-. c #9677B0", +"j-. c #8D6BA9", +"k-. c #8C6CA8", +"l-. c #8B6BA8", +"m-. c #8B6AA6", +"n-. c #8968A4", +"o-. c #8767A4", +"p-. c #8564A0", +"q-. c #85649F", +"r-. c #83639E", +"s-. c #81629D", +"t-. c #81619C", +"u-. c #80619B", +"v-. c #7F609B", +"w-. c #7F5F9A", +"x-. c #7E5F99", +"y-. c #7D5E98", +"z-. c #7C5D97", +"A-. c #7B5D97", +"B-. c #7B5D96", +"C-. c #7A5C95", +"D-. c #795B94", +"E-. c #795A94", +"F-. c #765891", +"G-. c #75578F", +"H-. c #7A5C98", +"I-. c #785C95", +"J-. c #775A94", +"K-. c #765994", +"L-. c #765993", +"M-. c #755892", +"N-. c #745891", +"O-. c #735791", +"P-. c #6E528D", +"Q-. c #6C508A", +"R-. c #6B4F88", +"S-. c #6A4E88", +"T-. c #6B5089", +"U-. c #6C518A", +"V-. c #6D538C", +"W-. c #70568E", +"X-. c #735990", +"Y-. c #70588C", +"Z-. c #472D61", +"`-. c #472C61", +" ;. c #3D2655", +".;. c #311F47", +"+;. c #2E1D45", +"@;. c #76628F", +"#;. c #A295B4", +"$;. c #D2C7DE", +"%;. c #C3B6D2", +"&;. c #C0B2D0", +"*;. c #BEB0CE", +"=;. c #B29FC7", +"-;. c #AF9CC5", +";;. c #AC99C3", +">;. c #AB97C2", +",;. c #A691BD", +"';. c #A48DBC", +");. c #A18BBB", +"!;. c #9E87B9", +"~;. c #9C84B7", +"{;. c #9A82B5", +"];. c #987FB3", +"^;. c #967DB2", +"/;. c #947AB1", +"(;. c #9277B0", +"_;. c #9075AE", +":;. c #8D72AC", +"<;. c #8D71AB", +"[;. c #8C71AC", +"};. c #886CA5", +"|;. c #8569A1", +"1;. c #8568A2", +"2;. c #8567A2", +"3;. c #8468A2", +"4;. c #8467A2", +"5;. c #8466A2", +"6;. c #8465A2", +"7;. c #8365A3", +"8;. c #8465A3", +"9;. c #8364A1", +"0;. c #7C5C99", +"a;. c #7C5C9A", +"b;. c #7C5B9A", +"c;. c #7C5B9B", +"d;. c #7F5D9D", +"e;. c #805E9D", +"f;. c #805E9E", +"g;. c #805F9E", +"h;. c #805F9F", +"i;. c #81609F", +"j;. c #8160A0", +"k;. c #8260A0", +"l;. c #8361A2", +"m;. c #8361A3", +"n;. c #8462A3", +"o;. c #8562A4", +"p;. c #8864A6", +"q;. c #8865A8", +"r;. c #8965A8", +"s;. c #8A65A9", +"t;. c #8A66A9", +"u;. c #8B66A9", +"v;. c #8B67A9", +"w;. c #8B67AA", +"x;. c #8B68AA", +"y;. c #8C68AB", +"z;. c #8C69AB", +"A;. c #8D69AB", +"B;. c #8D69AC", +"C;. c #8D6AAC", +"D;. c #8D6AAD", +"E;. c #8E6BAD", +"F;. c #8A66A7", +"G;. c #8966A7", +"H;. c #8965A7", +"I;. c #8B68A8", +"J;. c #8F6CAA", +"K;. c #8F6DAB", +"L;. c #8F6EAB", +"M;. c #906EAB", +"N;. c #8C6AA9", +"O;. c #8561A4", +"P;. c #8662A4", +"Q;. c #8561A3", +"R;. c #8460A2", +"S;. c #835FA0", +"T;. c #815F9F", +"U;. c #815E9E", +"V;. c #805D9E", +"W;. c #7D5A9A", +"X;. c #7C5A99", +"Y;. c #7B5998", +"Z;. c #785695", +"`;. c #775694", +" >. c #775594", +".>. c #765492", +"+>. c #72528F", +"@>. c #72518E", +"#>. c #6D4E8A", +"$>. c #6C4D89", +"%>. c #745393", +"&>. c #745392", +"*>. c #715290", +"=>. c #705290", +"->. c #6E4F8D", +";>. c #6C4E8B", +">>. c #6A4D8A", +",>. c #6A4D89", +"'>. c #6A4C88", +")>. c #684B88", +"!>. c #684A87", +"~>. c #664985", +"{>. c #674A86", +"]>. c #684C86", +"^>. c #694D88", +"/>. c #6D538D", +"(>. c #70558E", +"_>. c #664D81", +":>. c #43285D", +"<>. c #442A5F", +"[>. c #301E45", +"}>. c #2E1B44", +"|>. c #A395B4", +"1>. c #DDD5E8", +"2>. c #D7CDE2", +"3>. c #C2B4D2", +"4>. c #BEAFCF", +"5>. c #B7A7CB", +"6>. c #B09DC5", +"7>. c #AE9AC4", +"8>. c #AA96C2", +"9>. c #A38EBC", +"0>. c #A08BBB", +"a>. c #9F87B9", +"b>. c #9981B5", +"c>. c #977DB3", +"d>. c #957BB2", +"e>. c #9278B0", +"f>. c #9076AF", +"g>. c #8F73AD", +"h>. c #8D71AA", +"i>. c #8A6EA9", +"j>. c #896DA9", +"k>. c #8A6CA9", +"l>. c #896CA9", +"m>. c #8669A6", +"n>. c #81639F", +"o>. c #8163A0", +"p>. c #8263A0", +"q>. c #81629F", +"r>. c #81619F", +"s>. c #80619F", +"t>. c #7F60A0", +"u>. c #8060A0", +"v>. c #7F5F9F", +"w>. c #805FA0", +"x>. c #7A5999", +"y>. c #785597", +"z>. c #7A5799", +"A>. c #7B589A", +"B>. c #7B589B", +"C>. c #7C599B", +"D>. c #7D5A9D", +"E>. c #7D5A9E", +"F>. c #805CA0", +"G>. c #815CA0", +"H>. c #815DA1", +"I>. c #815DA2", +"J>. c #825EA3", +"K>. c #835EA4", +"L>. c #845FA4", +"M>. c #845FA5", +"N>. c #855FA5", +"O>. c #855FA6", +"P>. c #8560A6", +"Q>. c #8660A6", +"R>. c #8661A6", +"S>. c #8761A7", +"T>. c #8762A7", +"U>. c #8863A7", +"V>. c #8863A8", +"W>. c #8964A8", +"X>. c #8964A9", +"Y>. c #8965A9", +"Z>. c #8661A4", +"`>. c #8560A4", +" ,. c #8460A4", +".,. c #8763A6", +"+,. c #8966A6", +"@,. c #8967A6", +"#,. c #8A67A7", +"$,. c #8560A3", +"%,. c #815CA1", +"&,. c #815BA0", +"*,. c #805A9F", +"=,. c #7F5A9E", +"-,. c #7F599E", +";,. c #7F599D", +">,. c #7D589C", +",,. c #7A569A", +"',. c #7A5699", +"),. c #7A5598", +"!,. c #795598", +"~,. c #785496", +"{,. c #775395", +"],. c #765395", +"^,. c #765294", +"/,. c #745294", +"(,. c #745193", +"_,. c #745192", +":,. c #735091", +"<,. c #724F8F", +"[,. c #704E8E", +"},. c #6E4D8D", +"|,. c #6E4B8B", +"1,. c #6D4B8A", +"2,. c #6C4A88", +"3,. c #6A4988", +"4,. c #6F4F8F", +"5,. c #705091", +"6,. c #704F90", +"7,. c #6F4E8F", +"8,. c #6F4D8E", +"9,. c #6D4D8C", +"0,. c #6C4C8B", +"a,. c #6B4C8A", +"b,. c #6A4B8A", +"c,. c #674887", +"d,. c #674786", +"e,. c #664785", +"f,. c #654785", +"g,. c #644584", +"h,. c #634583", +"i,. c #624482", +"j,. c #644683", +"k,. c #654784", +"l,. c #674986", +"m,. c #684B87", +"n,. c #694D89", +"o,. c #6D528C", +"p,. c #755C92", +"q,. c #796095", +"r,. c #766290", +"s,. c #9D8FB0", +"t,. c #DCD4E6", +"u,. c #D7CCE2", +"v,. c #C2B4D1", +"w,. c #BEAECE", +"x,. c #B4A3C9", +"y,. c #AA96C1", +"z,. c #A58FBE", +"A,. c #A28DBC", +"B,. c #9E86B8", +"C,. c #9C83B7", +"D,. c #9980B5", +"E,. c #947BB2", +"F,. c #9176AF", +"G,. c #9073AC", +"H,. c #8B6FA9", +"I,. c #8A6BA9", +"J,. c #8A6BAA", +"K,. c #886AA9", +"L,. c #8164A1", +"M,. c #82639F", +"N,. c #8162A0", +"O,. c #8061A1", +"P,. c #8061A0", +"Q,. c #8060A1", +"R,. c #805FA1", +"S,. c #7D5C9D", +"T,. c #785797", +"U,. c #795698", +"V,. c #7B579A", +"W,. c #815DA3", +"X,. c #825EA4", +"Y,. c #835EA3", +"Z,. c #845FA6", +"`,. c #8661A7", +" '. c #8762A8", +".'. c #8862A8", +"+'. c #8963A8", +"@'. c #8A65A8", +"#'. c #8A66AA", +"$'. c #8864A8", +"%'. c #8662A5", +"&'. c #8864A7", +"*'. c #8965A6", +"='. c #8865A6", +"-'. c #835DA2", +";'. c #835DA1", +">'. c #7B579B", +",'. c #795597", +"''. c #775396", +")'. c #755294", +"!'. c #755293", +"~'. c #735092", +"{'. c #734F90", +"]'. c #724F90", +"^'. c #704E8F", +"/'. c #6F4E8D", +"('. c #6E4C8B", +"_'. c #6D4B8B", +":'. c #6C4B8A", +"<'. c #6B4A8A", +"['. c #6B4A89", +"}'. c #714F90", +"|'. c #715192", +"1'. c #6F4D8F", +"2'. c #6F4C8F", +"3'. c #6E4C8E", +"4'. c #6E4C8D", +"5'. c #6D4C8C", +"6'. c #694A8A", +"7'. c #684888", +"8'. c #684887", +"9'. c #664685", +"0'. c #654684", +"a'. c #644684", +"b'. c #674987", +"c'. c #6C4F8B", +"d'. c #70548E", +"e'. c #725790", +"f'. c #755A92", +"g'. c #785E94", +"h'. c #7B6296", +"i'. c #80699B", +"j'. c #745C8F", +"k'. c #8E7EA3", +"l'. c #D3CBDC", +"m'. c #DCD4E7", +"n'. c #BFB0CF", +"o'. c #B5A4C9", +"p'. c #B2A1C7", +"q'. c #B09EC6", +"r'. c #A791BF", +"s'. c #A48EBD", +"t'. c #A28BBB", +"u'. c #9F88BA", +"v'. c #9D84B7", +"w'. c #9A82B6", +"x'. c #987FB4", +"y'. c #967CB2", +"z'. c #9377AF", +"A'. c #9175AE", +"B'. c #8E72AD", +"C'. c #8D70AC", +"D'. c #8B6EAB", +"E'. c #8B6DAB", +"F'. c #8B6DAA", +"G'. c #8568A4", +"H'. c #8364A0", +"I'. c #8363A1", +"J'. c #8263A2", +"K'. c #8163A1", +"L'. c #8263A1", +"M'. c #8262A2", +"N'. c #8262A1", +"O'. c #8261A1", +"P'. c #8161A2", +"Q'. c #8260A2", +"R'. c #7B5A99", +"S'. c #7A5899", +"T'. c #7B5899", +"U'. c #7C599A", +"V'. c #7D5A9C", +"W'. c #7D5B9D", +"X'. c #7F5DA0", +"Y'. c #805DA0", +"Z'. c #815EA1", +"`'. c #815EA2", +" ). c #825FA2", +".). c #835FA3", +"+). c #8461A5", +"@). c #8561A5", +"#). c #8661A5", +"$). c #8862A7", +"%). c #8963A7", +"&). c #8B66AA", +"*). c #8C67AA", +"=). c #8D68AB", +"-). c #8864A5", +";). c #8863A5", +">). c #8863A6", +",). c #8461A3", +"'). c #8460A3", +")). c #845FA3", +"!). c #845FA2", +"~). c #845EA2", +"{). c #835EA2", +"]). c #825DA2", +"^). c #765394", +"/). c #755393", +"(). c #745293", +"_). c #745292", +":). c #714F8F", +"<). c #704E8D", +"[). c #725191", +"}). c #745394", +"|). c #725293", +"1). c #715292", +"2). c #6F4E8E", +"3). c #6D4E8D", +"4). c #6D4D8D", +"5). c #6B4B8B", +"6). c #6A4A89", +"7). c #6A4A88", +"8). c #694988", +"9). c #664886", +"0). c #664885", +"a). c #674886", +"b). c #6A4C89", +"c). c #6D508C", +"d). c #71558F", +"e). c #785E95", +"f). c #80689B", +"g). c #351F4E", +"h). c #2F1E46", +"i). c #DDD4E8", +"j). c #D8D0E5", +"k). c #B0A0C2", +"l). c #AC9BC0", +"m). c #BEAFD0", +"n). c #BCACCF", +"o). c #B8A7CA", +"p). c #B5A4CA", +"q). c #B2A1C8", +"r). c #A792BF", +"s). c #A38CBC", +"t). c #A189BA", +"u). c #9E86B9", +"v). c #9B83B7", +"w). c #9A81B5", +"x). c #987EB5", +"y). c #977BB4", +"z). c #957AB2", +"A). c #9377B1", +"B). c #9075AF", +"C). c #8F73AE", +"D). c #9073AE", +"E). c #8C6FAA", +"F). c #876AA5", +"G). c #8869A5", +"H). c #8769A5", +"I). c #8769A6", +"J). c #8768A6", +"K). c #8767A5", +"L). c #8767A6", +"M). c #8867A6", +"N). c #8867A7", +"O). c #8464A2", +"P). c #7F609D", +"Q). c #82609F", +"R). c #8261A0", +"S). c #8361A0", +"T). c #8362A2", +"U). c #8463A3", +"V). c #8564A4", +"W). c #8664A4", +"X). c #8664A5", +"Y). c #8765A6", +"Z). c #8866A6", +"`). c #8866A7", +" !. c #8866A8", +".!. c #8967A8", +"+!. c #8A68A9", +"@!. c #8B68A9", +"#!. c #8C69A9", +"$!. c #8C69AA", +"%!. c #8D6AAB", +"&!. c #8D6BAC", +"*!. c #8E6BAC", +"=!. c #8E6CAC", +"-!. c #8E6CAD", +";!. c #8F6CAD", +">!. c #8F6DAD", +",!. c #906DAD", +"'!. c #906EAE", +")!. c #916EAE", +"!!. c #916FAE", +"~!. c #916FAF", +"{!. c #9271B0", +"]!. c #8F6CAB", +"^!. c #8E6CAB", +"/!. c #8E6CAA", +"(!. c #8D6CAA", +"_!. c #8D6BAA", +":!. c #8D6AAA", +"~. c #8D6EAA", +",~. c #8F70AB", +"'~. c #9071AC", +")~. c #9071AD", +"!~. c #9172AD", +"~~. c #9172AE", +"{~. c #9272AF", +"]~. c #9273AF", +"^~. c #9374AF", +"/~. c #9374B0", +"(~. c #9474B0", +"_~. c #9675B2", +":~. c #9676B2", +"<~. c #9776B2", +"[~. c #9776B3", +"}~. c #9676B3", +"|~. c #9777B3", +"1~. c #9878B3", +"2~. c #9878B4", +"3~. c #9879B4", +"4~. c #9979B4", +"5~. c #997AB5", +"6~. c #9A7AB5", +"7~. c #9B7BB5", +"8~. c #9B7BB6", +"9~. c #9B7CB6", +"0~. c #9C7CB7", +"a~. c #9677B1", +"b~. c #9676B1", +"c~. c #9577B0", +"d~. c #9576B0", +"e~. c #9676B0", +"f~. c #9575B0", +"g~. c #9475AF", +"h~. c #9474AF", +"i~. c #9373AE", +"j~. c #9372AE", +"k~. c #9272AD", +"l~. c #9271AD", +"m~. c #9171AD", +"n~. c #916FAC", +"o~. c #906FAB", +"p~. c #8E6EAA", +"q~. c #8B6BA6", +"r~. c #8A6AA5", +"s~. c #8869A4", +"t~. c #8767A1", +"u~. c #8666A1", +"v~. c #82629D", +"w~. c #81629C", +"x~. c #80629C", +"y~. c #7F619B", +"z~. c #7F609A", +"A~. c #7D5F98", +"B~. c #80619C", +"C~. c #81629E", +"D~. c #80619E", +"E~. c #7F619D", +"F~. c #7F609C", +"G~. c #7E609B", +"H~. c #7D5F9A", +"I~. c #7B5E99", +"J~. c #795C96", +"K~. c #785B96", +"L~. c #795B96", +"M~. c #745892", +"N~. c #765A93", +"O~. c #775B94", +"P~. c #7D629B", +"Q~. c #9074B3", +"R~. c #7E639B", +"S~. c #81689C", +"T~. c #8B75A4", +"U~. c #46325E", +"V~. c #B6A7C6", +"W~. c #B5A6C6", +"X~. c #C1B3D2", +"Y~. c #BFB0D0", +"Z~. c #BDAED0", +"`~. c #BAA9CD", +" {. c #B8A7CC", +".{. c #B6A4CB", +"+{. c #AE9AC5", +"@{. c #AC98C4", +"#{. c #A993C2", +"${. c #A791C0", +"%{. c #A68FBF", +"&{. c #A48DBD", +"*{. c #9F85B9", +"={. c #9D84B8", +"-{. c #9D83B8", +";{. c #9D83B9", +">{. c #997EB3", +",{. c #977DB1", +"'{. c #977DB2", +"){. c #987CB3", +"!{. c #997DB3", +"~{. c #997DB4", +"{{. c #977AB0", +"]{. c #9377AD", +"^{. c #977AB1", +"/{. c #9A7EB4", +"({. c #9B7EB5", +"_{. c #9B7EB6", +":{. c #9C7FB6", +"<{. c #9C80B7", +"[{. c #9D80B7", +"}{. c #9E80B7", +"|{. c #9E81B8", +"1{. c #9F82B9", +"2{. c #A082B9", +"3{. c #A083B9", +"4{. c #A083BA", +"5{. c #A184BA", +"6{. c #A184BB", +"7{. c #A285BB", +"8{. c #A286BC", +"9{. c #A386BC", +"0{. c #A387BC", +"a{. c #A487BC", +"b{. c #A487BD", +"c{. c #A085B9", +"d{. c #9F83B8", +"e{. c #9F82B8", +"f{. c #9E82B7", +"g{. c #9F82B7", +"h{. c #9F81B7", +"i{. c #9E81B6", +"j{. c #9D80B6", +"k{. c #9D7FB5", +"l{. c #9C7EB5", +"m{. c #9B7DB4", +"n{. c #9A7CB4", +"o{. c #987AB1", +"p{. c #9779B0", +"q{. c #9678AF", +"r{. c #9376AC", +"s{. c #9175AB", +"t{. c #9173AB", +"u{. c #9073AA", +"v{. c #896DA3", +"w{. c #8669A0", +"x{. c #85699F", +"y{. c #896CA4", +"z{. c #876BA3", +"A{. c #8669A2", +"B{. c #8468A0", +"C{. c #84689F", +"D{. c #82659E", +"E{. c #82659D", +"F{. c #81659D", +"G{. c #7E629A", +"H{. c #856AA2", +"I{. c #9C81C0", +"J{. c #A085C5", +"K{. c #856BA1", +"L{. c #836B9F", +"M{. c #876FA1", +"N{. c #8871A2", +"O{. c #8974A4", +"P{. c #8C76A5", +"Q{. c #9782AD", +"R{. c #5D4B73", +"S{. c #796593", +"T{. c #CEC8D8", +"U{. c #DED5E9", +"V{. c #B9AAC8", +"W{. c #C3B6D4", +"X{. c #C2B3D3", +"Y{. c #C0B0D1", +"Z{. c #BDACCE", +"`{. c #BBAACE", +" ]. c #B9A8CD", +".]. c #B8A6CC", +"+]. c #B6A4CA", +"@]. c #B5A1C9", +"#]. c #B3A0C8", +"$]. c #B29EC8", +"%]. c #B09CC6", +"&]. c #AC97C4", +"*]. c #A995C1", +"=]. c #A992C0", +"-]. c #A790C0", +";]. c #A68FC0", +">]. c #A58DBE", +",]. c #A58DBD", +"']. c #A58DBF", +")]. c #A38BBC", +"!]. c #9F87B7", +"~]. c #9F87B8", +"{]. c #A087B9", +"]]. c #A187B9", +"^]. c #A188BA", +"/]. c #A287BB", +"(]. c #A288BB", +"_]. c #9E85B6", +":]. c #9D84B5", +"<]. c #9F86B7", +"[]. c #A289BA", +"}]. c #A389BA", +"|]. c #A48ABB", +"1]. c #A48BBC", +"2]. c #A58BBD", +"3]. c #A68CBE", +"4]. c #A78DBE", +"5]. c #A88DBF", +"6]. c #A88EBF", +"7]. c #A98EC0", +"8]. c #A98FC0", +"9]. c #A98FC1", +"0]. c #AA8FC1", +"a]. c #AB90C1", +"b]. c #AB91C1", +"c]. c #AB91C2", +"d]. c #AC91C2", +"e]. c #AB92C2", +"f]. c #AC92C2", +"g]. c #AC93C2", +"h]. c #AC93C3", +"i]. c #AD93C3", +"j]. c #AD93C4", +"k]. c #AD94C4", +"l]. c #AE94C4", +"m]. c #AC93C1", +"n]. c #AB92C1", +"o]. c #AB92C0", +"p]. c #AB91C0", +"q]. c #AA91C0", +"r]. c #AA90C0", +"s]. c #A98FBE", +"t]. c #A88EBE", +"u]. c #A78EBE", +"v]. c #A78DBD", +"w]. c #A78CBD", +"x]. c #A68CBD", +"y]. c #A68BBD", +"z]. c #A68BBC", +"A]. c #A58ABC", +"B]. c #A489BB", +"C]. c #A488BB", +"D]. c #A287B8", +"E]. c #A186B8", +"F]. c #A086B8", +"G]. c #9F84B6", +"H]. c #9E83B5", +"I]. c #9D81B4", +"J]. c #957BAD", +"K]. c #9479AC", +"L]. c #9378AB", +"M]. c #9277AA", +"N]. c #9075A7", +"O]. c #9378AC", +"P]. c #9379AD", +"Q]. c #9276AA", +"R]. c #9076AA", +"S]. c #8F75AA", +"T]. c #8F74A9", +"U]. c #8E74A8", +"V]. c #8D73A7", +"W]. c #8C72A6", +"X]. c #8C71A5", +"Y]. c #856CA0", +"Z]. c #876CA0", +"`]. c #8F76AC", +" ^. c #A489C6", +".^. c #A88DCB", +"+^. c #A58CC8", +"@^. c #8E76A9", +"#^. c #8A73A3", +"$^. c #8C74A5", +"%^. c #927DA9", +"&^. c #9985B0", +"*^. c #756489", +"=^. c #7A6694", +"-^. c #CBC4D6", +";^. c #D4CDDD", +">^. c #D7CEE2", +",^. c #B9ABC9", +"'^. c #C2B4D3", +")^. c #C1B2D2", +"!^. c #B9A8CE", +"~^. c #B8A6CD", +"{^. c #B6A3CA", +"]^. c #B5A3CA", +"^^. c #B3A1C9", +"/^. c #B29FC8", +"(^. c #B09CC7", +"_^. c #AF9BC6", +":^. c #AF99C4", +"<^. c #AE99C4", +"[^. c #AE99C5", +"}^. c #AF99C5", +"|^. c #AF99C6", +"1^. c #AA95C0", +"2^. c #AA94C0", +"3^. c #AA94C1", +"4^. c #AB95C1", +"5^. c #AC96C2", +"6^. c #AC96C3", +"7^. c #AD96C3", +"8^. c #AD97C4", +"9^. c #AE97C4", +"0^. c #AE98C5", +"a^. c #AA94BF", +"b^. c #AB94BF", +"c^. c #AF98C4", +"d^. c #B099C4", +"e^. c #B19AC5", +"f^. c #B19BC6", +"g^. c #B19AC6", +"h^. c #B29BC7", +"i^. c #B29CC7", +"j^. c #B39CC7", +"k^. c #B49CC7", +"l^. c #B49CC8", +"m^. c #B49DC8", +"n^. c #B59EC9", +"o^. c #B69FC9", +"p^. c #B69FCA", +"q^. c #B6A1CA", +"r^. c #B7A1CB", +"s^. c #B8A2CB", +"t^. c #B8A2CC", +"u^. c #B9A2CC", +"v^. c #B9A3CC", +"w^. c #BAA4CC", +"x^. c #BAA3CC", +"y^. c #B9A4CC", +"z^. c #B9A5CC", +"A^. c #BAA5CC", +"B^. c #BAA5CD", +"C^. c #B7A2CA", +"D^. c #B7A1C9", +"E^. c #B6A1C9", +"F^. c #B6A0C8", +"G^. c #B6A1C8", +"H^. c #B5A0C8", +"I^. c #B59FC8", +"J^. c #B49FC8", +"K^. c #B59EC8", +"L^. c #B39CC6", +"M^. c #B29CC6", +"N^. c #B29BC6", +"O^. c #B29BC5", +"P^. c #B199C5", +"Q^. c #B099C5", +"R^. c #B099C3", +"S^. c #AE96C2", +"T^. c #AE95C2", +"U^. c #AD95C1", +"V^. c #AA93BF", +"W^. c #A68EBA", +"X^. c #A58DBA", +"Y^. c #9B82AF", +"Z^. c #9A82AF", +"`^. c #9F86B6", +" /. c #9E85B5", +"./. c #9D84B4", +"+/. c #9B84B2", +"@/. c #9A83B1", +"#/. c #967FAE", +"$/. c #967DAD", +"%/. c #957CAB", +"&/. c #947BAB", +"*/. c #927AAA", +"=/. c #9179A9", +"-/. c #9078A8", +";/. c #9D86BA", +">/. c #AC94CD", +",/. c #AD94CE", +"'/. c #AD94CC", +")/. c #AD95CD", +"!/. c #9881B2", +"~/. c #917BA9", +"{/. c #927CAB", +"]/. c #947EAB", +"^/. c #847698", +"//. c #37274D", +"(/. c #7B6794", +"_/. c #BFB5CB", +":/. c #D8CFE2", +"(. c #AA95BD", +",(. c #A793BD", +"'(. c #A791BC", +")(. c #A691BB", +"!(. c #A590BA", +"~(. c #A38EB8", +"{(. c #A38DB7", +"](. c #A08CB6", +"^(. c #9F8AB5", +"/(. c #9B85B1", +"((. c #9883AF", +"_(. c #9D86B4", +":(. c #AC95C8", +"<(. c #B59DD3", +"[(. c #B39CD1", +"}(. c #B39BD0", +"|(. c #B39CD0", +"1(. c #B49CD1", +"2(. c #9F8AB8", +"3(. c #9884AF", +"4(. c #9987AF", +"5(. c #9082A2", +"6(. c #403056", +"7(. c #D9D1E3", +"8(. c #CAC0D6", +"9(. c #CDC3D9", +"0(. c #E0D8E8", +"a(. c #E1D8E9", +"b(. c #E5DEEC", +"c(. c #E6DFED", +"d(. c #E6DFEC", +"e(. c #E7E0ED", +"f(. c #E9E3EF", +"g(. c #EAE4EF", +"h(. c #ECE6F1", +"i(. c #ECE7F1", +"j(. c #EDE8F2", +"k(. c #EEE9F2", +"l(. c #EFEBF3", +"m(. c #F0EBF5", +"n(. c #F3F1F7", +"o(. c #F4F2F7", +"p(. c #F5F2F7", +"q(. c #F8F5F9", +"r(. c #F8F7FA", +"s(. c #FBF8FC", +"t(. c #FAF9FC", +"u(. c #FBFAFC", +"v(. c #FCF9FC", +"w(. c #FBFBFB", +"x(. c #FDFBFC", +"y(. c #FCFCFC", +"z(. c #FDFCFD", +"A(. c #FDFDFE", +"B(. c #FEFCFE", +"C(. c #FFFFFD", +"D(. c #FFFFFE", +"E(. c #FDFDFD", +"F(. c #FAFAFA", +"G(. c #FAF9FB", +"H(. c #F9F9FB", +"I(. c #F9F8FB", +"J(. c #F8F8FA", +"K(. c #F9F5F9", +"L(. c #F6F3F9", +"M(. c #F2F0F6", +"N(. c #F3EEF6", +"O(. c #F2EDF6", +"P(. c #F1ECF6", +"Q(. c #F0ECF4", +"R(. c #EFECF3", +"S(. c #EEE9F3", +"T(. c #EDE7EF", +"U(. c #EAE6F0", +"V(. c #EAE4EE", +"W(. c #E3DCE9", +"X(. c #DDD4E5", +"Y(. c #DCD3E4", +"Z(. c #DAD1E3", +"`(. c #D5CCDF", +" _. c #D3C9DD", +"._. c #D2C8DC", +"+_. c #D0C5DB", +"@_. c #CDC2D8", +"#_. c #CABED5", +"$_. c #C8BDD5", +"%_. c #C9BDD7", +"&_. c #CDBFDD", +"*_. c #D1C3E3", +"=_. c #D2C3E5", +"-_. c #CFC0E2", +";_. c #CDBDE1", +">_. c #CBBBE0", +",_. c #CAB9DF", +"'_. c #C9B8DF", +")_. c #AE9EBF", +"!_. c #AB9ABE", +"~_. c #A392B7", +"{_. c #9B8FAC", +"]_. c #4E3E62", +"^_. c #AC9EBC", +"/_. c #D5CDDF", +"(_. c #CFC5DA", +"__. c #D3CBDE", +":_. c #EBE7F1", +"<_. c #ECE8F2", +"[_. c #EEEBF3", +"}_. c #EEECF3", +"|_. c #F0ECF5", +"1_. c #F0EBF4", +"2_. c #EFEBF5", +"3_. c #EFEAF4", +"4_. c #EFEBF4", +"5_. c #EFECF4", +"6_. c #F1ECF4", +"7_. c #F2EDF5", +"8_. c #F5F1F8", +"9_. c #F6F5F9", +"0_. c #FBF9FC", +"a_. c #FCFAFC", +"b_. c #F2EEF6", +"c_. c #F1EEF5", +"d_. c #EFEAF3", +"e_. c #EFEAF1", +"f_. c #EDE9F2", +"g_. c #ECE7F0", +"h_. c #EAE5EF", +"i_. c #E7E3ED", +"j_. c #E7E2EC", +"k_. c #DED7E4", +"l_. c #E2DAEC", +"m_. c #E4DBF1", +"n_. c #E2D9EE", +"o_. c #E0D6ED", +"p_. c #DED3EB", +"q_. c #DCD0EA", +"r_. c #D9CDE8", +"s_. c #D6CAE7", +"t_. c #D5C7E6", +"u_. c #AD9EC0", +"v_. c #A696B8", +"w_. c #9E93AF", +"x_. c #534467", +"y_. c #7D6997", +"z_. c #D8D0E2", +"A_. c #D2C9DD", +"B_. c #E4DEEB", +"C_. c #E8E2EF", +"D_. c #EAE5F1", +"E_. c #EAE4F0", +"F_. c #EAE4F1", +"G_. c #E9E3F0", +"H_. c #EAE6F1", +"I_. c #EBE6F1", +"J_. c #EDE7F1", +"K_. c #F3EFF7", +"L_. c #F3F0F7", +"M_. c #F5F4F8", +"N_. c #F8F7FB", +"O_. c #EEEAF4", +"P_. c #EEE9F0", +"Q_. c #E9E3ED", +"R_. c #E4DDEB", +"S_. c #E0D9E7", +"T_. c #DED6E5", +"U_. c #DCD5E4", +"V_. c #DED5EB", +"W_. c #DED4ED", +"X_. c #DDD2EB", +"Y_. c #DBCFEA", +"Z_. c #D9CCE8", +"`_. c #D7CAE7", +" :. c #D2C5E5", +".:. c #D1C2E4", +"+:. c #B3A3C4", +"@:. c #A596B7", +"#:. c #9E94AE", +"$:. c #524367", +"%:. c #9484AA", +"&:. c #D4CCDE", +"*:. c #CFC5DB", +"=:. c #C1B4CF", +"-:. c #C5BAD4", +";:. c #D2C8DE", +">:. c #D0C5DC", +",:. c #CFC3DC", +"':. c #CEC1DB", +"):. c #CCBFDA", +"!:. c #CBBED9", +"~:. c #C9BBD7", +"{:. c #C8BAD7", +"]:. c #C7B8D7", +"^:. c #C6B6D7", +"/:. c #C4B5D5", +"(:. c #C3B4D5", +"_:. c #C3B2D5", +"::. c #C2B2D3", +"<:. c #C1B1D3", +"[:. c #C0AFD2", +"}:. c #BEAED1", +"|:. c #BEADD1", +"1:. c #BDACD0", +"2:. c #BDABD0", +"3:. c #BDACD1", +"4:. c #BAA8CD", +"5:. c #BBA8CE", +"6:. c #BBA9CE", +"7:. c #BCA9CF", +"8:. c #BCAACF", +"9:. c #BDABCF", +"0:. c #BEACD0", +"a:. c #BEACD1", +"b:. c #BBA9CD", +"c:. c #C2AFD3", +"d:. c #C3B2D3", +"e:. c #C4B2D4", +"f:. c #C4B3D4", +"g:. c #C5B3D4", +"h:. c #C5B4D5", +"i:. c #C5B5D5", +"j:. c #C6B5D5", +"k:. c #C6B5D6", +"l:. c #C6B6D6", +"m:. c #C7B6D7", +"n:. c #C7B6D6", +"o:. c #C7B7D7", +"p:. c #C8B7D7", +"q:. c #C8B8D7", +"r:. c #C8B7D8", +"s:. c #C8B8D8", +"t:. c #C9B8D8", +"u:. c #C8B9D8", +"v:. c #C7B7D5", +"w:. c #C6B7D5", +"x:. c #C6B6D5", +"y:. c #C7B6D5", +"z:. c #C5B5D4", +"A:. c #C5B4D4", +"B:. c #C4B3D3", +"C:. c #C4B2D3", +"D:. c #C3B2D2", +"E:. c #C2B1D2", +"F:. c #C2B0D2", +"G:. c #C1B0D2", +"H:. c #BFACCF", +"I:. c #BAA8CC", +"J:. c #BAA6CA", +"K:. c #B5A1C6", +"L:. c #B29EC4", +"M:. c #AD9AC0", +"N:. c #AC99BF", +"O:. c #AF9BC3", +"P:. c #AE9AC2", +"Q:. c #AD99C2", +"R:. c #AC98C0", +"S:. c #A996BC", +"T:. c #A693BB", +"U:. c #B29DC9", +"V:. c #BBA5D4", +"W:. c #BDA8D7", +"X:. c #BCA7D7", +"Y:. c #BCA7D6", +"Z:. c #BCA6D6", +"`:. c #BBA6D6", +" <. c #BCA7D8", +".<. c #AD99C6", +"+<. c #A28FB7", +"@<. c #A28FB6", +"#<. c #A18FB6", +"$<. c #A391B7", +"%<. c #A192B4", +"&<. c #9B90AB", +"*<. c #4A395E", +"=<. c #D5CCE0", +"-<. c #BCAECC", +";<. c #BEB1CE", +"><. c #CEC3DC", +",<. c #CDC1DA", +"'<. c #C9BCD8", +")<. c #C8BBD7", +"!<. c #C7B9D7", +"~<. c #C6B7D6", +"{<. c #C3B4D4", +"]<. c #C1B3D3", +"^<. c #C1B1D2", +"/<. c #C0B0D2", +"(<. c #BBA9CF", +"_<. c #BAA7CD", +":<. c #B9A6CD", +"<<. c #B8A5CD", +"[<. c #B6A2CB", +"}<. c #B5A1CA", +"|<. c #B49FCA", +"1<. c #B4A0C9", +"2<. c #B4A0CB", +"3<. c #B5A0CB", +"4<. c #B09BC5", +"5<. c #B09BC6", +"6<. c #B19CC7", +"7<. c #B29CC8", +"8<. c #B39DC8", +"9<. c #B39EC8", +"0<. c #B39EC9", +"a<. c #B49EC9", +"b<. c #B49ECA", +"c<. c #B59FCA", +"d<. c #B19BC5", +"e<. c #B19CC6", +"f<. c #B8A3CB", +"g<. c #B9A3CB", +"h<. c #BAA6CD", +"i<. c #BBA6CE", +"j<. c #BBA7CE", +"k<. c #BCA7CE", +"l<. c #BCA8CF", +"m<. c #BCA7CF", +"n<. c #BDA8CF", +"o<. c #BDA9CF", +"p<. c #BDA9D0", +"q<. c #BDAAD0", +"r<. c #BEAAD1", +"s<. c #BFABD1", +"t<. c #BFAAD1", +"u<. c #BAA5CB", +"v<. c #B9A4CA", +"w<. c #B39DC6", +"x<. c #B098C4", +"y<. c #AE96C1", +"z<. c #A790BB", +"A<. c #A58DB9", +"B<. c #A28CB7", +"C<. c #A68FBC", +"D<. c #A68EBC", +"E<. c #A58DBC", +"F<. c #A48DBB", +"G<. c #A48CBA", +"H<. c #A08AB6", +"I<. c #A18BB8", +"J<. c #AB93C3", +"K<. c #B49BCF", +"L<. c #B69ED3", +"M<. c #B59DD2", +"N<. c #B59CD1", +"O<. c #B59ED2", +"P<. c #B69FD3", +"Q<. c #B8A1D5", +"R<. c #AA94C3", +"S<. c #9F8AB4", +"T<. c #9F8BB5", +"U<. c #998EA9", +"V<. c #433258", +"W<. c #7F6B99", +"X<. c #D0C8DB", +"Y<. c #BEB0CD", +"Z<. c #BBADCB", +"`<. c #B9AACA", +" [. c #B9A9CA", +".[. c #C9BBD8", +"+[. c #C1B2D3", +"@[. c #BEAED0", +"#[. c #BAA8CE", +"$[. c #B19BC8", +"%[. c #AF9AC7", +"&[. c #AE99C6", +"*[. c #AD96C4", +"=[. c #AC94C4", +"-[. c #AB94C3", +";[. c #AC93C4", +">[. c #AA92C2", +",[. c #A68EBE", +"'[. c #A68EBF", +")[. c #A78FBF", +"![. c #A78FC0", +"~[. c #A88FC0", +"{[. c #A88EC0", +"][. c #A990C1", +"^[. c #AA90C2", +"/[. c #AA90C3", +"([. c #AB91C3", +"_[. c #A88FBF", +":[. c #AA90C1", +"<[. c #AD94C3", +"[[. c #AF96C5", +"}[. c #B097C5", +"|[. c #AF97C5", +"1[. c #B098C5", +"2[. c #B098C6", +"3[. c #B099C6", +"4[. c #B198C6", +"5[. c #B298C6", +"6[. c #B298C7", +"7[. c #B299C7", +"8[. c #B29AC7", +"9[. c #B39BC7", +"0[. c #B39BC8", +"a[. c #B39CC9", +"b[. c #B39DC9", +"c[. c #B49DC9", +"d[. c #B59DC9", +"e[. c #B39BC6", +"f[. c #B29AC5", +"g[. c #B59DCA", +"h[. c #AF97C3", +"i[. c #AE96C3", +"j[. c #A78CBE", +"k[. c #A58BBC", +"l[. c #A58ABB", +"m[. c #A287B9", +"n[. c #A085B8", +"o[. c #9F85B7", +"p[. c #9E84B5", +"q[. c #9B81B2", +"r[. c #987FB0", +"s[. c #9C81B5", +"t[. c #9B81B5", +"u[. c #997EB2", +"v[. c #9C83B6", +"w[. c #A68CC1", +"x[. c #AE93CB", +"y[. c #B195CF", +"z[. c #AE93CE", +"A[. c #AD92CC", +"B[. c #AD93CD", +"C[. c #AD93CE", +"D[. c #AE94CE", +"E[. c #AF94CE", +"F[. c #AF95CE", +"G[. c #B096CF", +"H[. c #B097CF", +"I[. c #B198D0", +"J[. c #B299D0", +"K[. c #B39AD1", +"L[. c #B69CD3", +"M[. c #A891C2", +"N[. c #9286A3", +"O[. c #3A2951", +"P[. c #806C99", +"Q[. c #C2B3D1", +"R[. c #C5B7D5", +"S[. c #C4B5D3", +"T[. c #B7A4CC", +"U[. c #B4A0CA", +"V[. c #B09BC7", +"W[. c #AF9AC6", +"X[. c #AA92C3", +"Y[. c #A990C2", +"Z[. c #A78FC1", +"`[. c #A58DC1", +" }. c #A48CBF", +".}. c #A48ABE", +"+}. c #A389BD", +"@}. c #A288BD", +"#}. c #A388BE", +"$}. c #A388BF", +"%}. c #9F84BA", +"&}. c #9E82B8", +"*}. c #9E82B9", +"=}. c #9F83B9", +"-}. c #9F83BA", +";}. c #A083BB", +">}. c #A184BC", +",}. c #A285BD", +"'}. c #A082B8", +")}. c #A183B9", +"!}. c #A284BB", +"~}. c #A589BE", +"{}. c #A68ABD", +"]}. c #A68ABE", +"^}. c #A78BBE", +"/}. c #A78CBF", +"(}. c #A78BBF", +"_}. c #A78CC0", +":}. c #A78DBF", +"<}. c #A98DBF", +"[}. c #A88DC0", +"}}. c #A88EC1", +"|}. c #A98EC1", +"1}. c #AA8FC2", +"2}. c #A98EBE", +"3}. c #A88DBE", +"4}. c #A98FC2", +"5}. c #A589BB", +"6}. c #A387BA", +"7}. c #A286B9", +"8}. c #A285B9", +"9}. c #9F83B7", +"0}. c #9E80B6", +"a}. c #9B7EB4", +"b}. c #9A7CB3", +"c}. c #8F71A8", +"d}. c #9375AE", +"e}. c #8F72AA", +"f}. c #9A7CB7", +"g}. c #A385C2", +"h}. c #A98BCB", +"i}. c #AA8DCC", +"j}. c #A88BCA", +"k}. c #A789C9", +"l}. c #A689C9", +"m}. c #A78AC9", +"n}. c #A98CCA", +"o}. c #AA8DCA", +"p}. c #AB8FCC", +"q}. c #AC90CC", +"r}. c #AC91CD", +"s}. c #AE94CF", +"t}. c #B095CE", +"u}. c #A68EC1", +"v}. c #9781AF", +"w}. c #9B85B2", +"x}. c #9E8AB4", +"y}. c #A497B5", +"z}. c #897C9A", +"A}. c #BFB1CE", +"B}. c #B7A8C8", +"C}. c #B6A6C7", +"D}. c #C6B8D6", +"E}. c #BFAFD1", +"F}. c #B9A7CD", +"G}. c #B7A5CB", +"H}. c #B5A2CB", +"I}. c #B39FC9", +"J}. c #AC95C4", +"K}. c #AA93C2", +"L}. c #A992C2", +"M}. c #A890C1", +"N}. c #A48BBF", +"O}. c #A289BD", +"P}. c #A187BD", +"Q}. c #A085BC", +"R}. c #9F84BB", +"S}. c #9D82BA", +"T}. c #9C81B9", +"U}. c #9C80B9", +"V}. c #9C7FB9", +"W}. c #9D80BA", +"X}. c #9678B2", +"Y}. c #9778B3", +"Z}. c #9778B4", +"`}. c #9779B4", +" |. c #9779B5", +".|. c #9879B5", +"+|. c #9879B6", +"@|. c #987AB6", +"#|. c #9979B6", +"$|. c #997AB6", +"%|. c #9B7BB8", +"&|. c #9675B1", +"*|. c #9879B3", +"=|. c #9C7CB6", +"-|. c #9C7DB7", +";|. c #9D7FB8", +">|. c #9E7FB8", +",|. c #9E80B8", +"'|. c #9F80B9", +")|. c #9F81B9", +"!|. c #A183BA", +"~|. c #A084BA", +"{|. c #A285BC", +"]|. c #A184B8", +"^|. c #9E81B7", +"/|. c #A386BD", +"(|. c #9F81B8", +"_|. c #997AB2", +":|. c #9272AE", +"<|. c #8F6EAA", +"[|. c #8D6CA8", +"}|. c #8868A4", +"||. c #8767A3", +"1|. c #8C6CA9", +"2|. c #9172B0", +"3|. c #9B7CBC", +"4|. c #A382C5", +"5|. c #A786C9", +"6|. c #A685C9", +"7|. c #A483C8", +"8|. c #A282C7", +"9|. c #A182C6", +"0|. c #A182C5", +"a|. c #A383C7", +"b|. c #A484C7", +"c|. c #A485C8", +"d|. c #A587C8", +"e|. c #A98DCB", +"f|. c #AD90CC", +"g|. c #AE93CD", +"h|. c #B197D0", +"i|. c #A58CC0", +"j|. c #9983B1", +"k|. c #9C86B3", +"l|. c #A390B7", +"m|. c #A59AB6", +"n|. c #7C6F8E", +"o|. c #A899B9", +"p|. c #D2C9E0", +"q|. c #B5A4C6", +"r|. c #B2A2C5", +"s|. c #BAA9CE", +"t|. c #AC95C3", +"u|. c #A890C0", +"v|. c #A68DBF", +"w|. c #A48BBE", +"x|. c #A186BD", +"y|. c #9B7FB7", +"z|. c #9A7CB6", +"A|. c #987BB6", +"B|. c #9679B5", +"C|. c #9678B5", +"D|. c #9678B6", +"E|. c #9677B6", +"F|. c #9677B5", +"G|. c #9777B6", +"H|. c #9676B5", +"I|. c #9171AF", +"J|. c #9070AF", +"K|. c #8F6FAF", +"L|. c #906FAF", +"M|. c #906FB0", +"N|. c #916FB0", +"O|. c #916FB1", +"P|. c #926FB1", +"Q|. c #9270B1", +"R|. c #9370B2", +"S|. c #9471B4", +"T|. c #8F6DAE", +"U|. c #8D6BAB", +"V|. c #9371AF", +"W|. c #9574B2", +"X|. c #9777B4", +"Y|. c #9979B5", +"Z|. c #9A7BB6", +"`|. c #9C7CB8", +" 1. c #9473AF", +".1. c #8E6DAB", +"+1. c #8B69A9", +"@1. c #8562A3", +"#1. c #8461A1", +"$1. c #8260A1", +"%1. c #805D9D", +"&1. c #8463A4", +"*1. c #9B78BE", +"=1. c #A481C9", +"-1. c #A17EC6", +";1. c #9F7DC5", +">1. c #9F7CC5", +",1. c #9E7BC4", +"'1. c #9D7AC4", +")1. c #9C79C2", +"!1. c #9C7AC3", +"~1. c #9E7DC4", +"{1. c #9F7EC4", +"]1. c #9F7FC5", +"^1. c #A080C6", +"/1. c #A282C6", +"(1. c #A384C7", +"_1. c #A688C9", +":1. c #A78ACA", +"<1. c #A88CCA", +"[1. c #AB8ECB", +"}1. c #AD91CD", +"|1. c #B096D0", +"11. c #A28ABE", +"21. c #957EAD", +"31. c #A79CB6", +"41. c #6C5F80", +"51. c #816D9B", +"61. c #9786AD", +"71. c #B4A4C6", +"81. c #BFB1D1", +"91. c #BFB0D1", +"01. c #B19DC7", +"a1. c #A78EC0", +"b1. c #A48CBE", +"c1. c #A087BC", +"d1. c #9D81BA", +"e1. c #9B7FB9", +"f1. c #9577B4", +"g1. c #9475B3", +"h1. c #9274B2", +"i1. c #9272B2", +"j1. c #9271B2", +"k1. c #9270B2", +"l1. c #9171B2", +"m1. c #9270B3", +"n1. c #8F6CAF", +"o1. c #8A68AA", +"p1. c #8A68AB", +"q1. c #8A69AB", +"r1. c #8A69AC", +"s1. c #8B68AC", +"t1. c #8B68AD", +"u1. c #8C68AC", +"v1. c #8C68AD", +"w1. c #8C67AD", +"x1. c #8D68AE", +"y1. c #8D69AF", +"z1. c #8E69B0", +"A1. c #8E68AF", +"B1. c #8A64A9", +"C1. c #8E6AAC", +"D1. c #8D6BAD", +"E1. c #8F6CAE", +"F1. c #906DAE", +"G1. c #9170B0", +"H1. c #9270B0", +"I1. c #9371B1", +"J1. c #9271B1", +"K1. c #9272B1", +"L1. c #9372B1", +"M1. c #9472B1", +"N1. c #9675B3", +"O1. c #9271AE", +"P1. c #9171AE", +"Q1. c #9070AD", +"R1. c #9774B3", +"S1. c #9674B3", +"T1. c #9573B3", +"U1. c #8C6BAA", +"V1. c #8A67A8", +"W1. c #825CA1", +"X1. c #7D589D", +"Y1. c #7C589C", +"Z1. c #7C599D", +"`1. c #7F5CA0", +" 2. c #9673BB", +".2. c #9E7AC5", +"+2. c #9B78C3", +"@2. c #9B77C2", +"#2. c #9B76C2", +"$2. c #9B75C2", +"%2. c #9A75C2", +"&2. c #9974C2", +"*2. c #9974C1", +"=2. c #9A76C1", +"-2. c #9B78C2", +";2. c #9D7BC4", +">2. c #A586C8", +",2. c #A687C9", +"'2. c #A88ACA", +")2. c #AA8DCB", +"!2. c #AC90CD", +"~2. c #B095D0", +"{2. c #A289BE", +"]2. c #9A84B1", +"^2. c #9C87B3", +"/2. c #A693B9", +"(2. c #A89CB6", +"_2. c #5B4C6F", +":2. c #826E9C", +"<2. c #8875A1", +"[2. c #D4CBDC", +"}2. c #D1C7DD", +"|2. c #BBAACD", +"12. c #BCABCF", +"22. c #B5A2CA", +"32. c #B39FC8", +"42. c #A992C3", +"52. c #A58DC0", +"62. c #A38ABE", +"72. c #A187BC", +"82. c #9F85BB", +"92. c #9D82B9", +"02. c #9A7DB8", +"a2. c #987AB7", +"b2. c #9778B5", +"c2. c #9474B3", +"d2. c #9273B2", +"e2. c #9171B1", +"f2. c #9070B0", +"g2. c #906FB1", +"h2. c #906EB1", +"i2. c #906DB2", +"j2. c #8F6CB2", +"k2. c #8967AA", +"l2. c #8966A9", +"m2. c #8965AA", +"n2. c #8966AA", +"o2. c #8964AB", +"p2. c #8A64AB", +"q2. c #8A65AC", +"r2. c #8A65AD", +"s2. c #8B65AE", +"t2. c #8C65AE", +"u2. c #8D66AE", +"v2. c #8C66AD", +"w2. c #8864A9", +"x2. c #8B67AB", +"y2. c #8C67AB", +"z2. c #8F6DAF", +"A2. c #906DAF", +"B2. c #906EAF", +"C2. c #916EAF", +"D2. c #9573B2", +"E2. c #906EAC", +"F2. c #9370B0", +"G2. c #9471B2", +"H2. c #9470B1", +"I2. c #8F6CAC", +"J2. c #8B67A8", +"K2. c #8B68A7", +"L2. c #8762A5", +"M2. c #825CA0", +"N2. c #805AA0", +"O2. c #7F589F", +"P2. c #7E589F", +"Q2. c #7D579E", +"R2. c #7C579D", +"S2. c #7C569B", +"T2. c #7B559A", +"U2. c #7A5499", +"V2. c #795498", +"W2. c #785397", +"X2. c #775297", +"Y2. c #765295", +"Z2. c #7D589F", +"`2. c #7C589E", +" 3. c #9571BB", +".3. c #9C77C5", +"+3. c #9973C1", +"@3. c #9873C0", +"#3. c #9A76C0", +"$3. c #9A77C2", +"%3. c #9C78C3", +"&3. c #9E7CC4", +"*3. c #9F7EC5", +"=3. c #A080C5", +"-3. c #A88ACB", +";3. c #AA8ECC", +">3. c #AD92CD", +",3. c #967FAD", +"'3. c #A491B9", +")3. c #A799B8", +"!3. c #A499B2", +"~3. c #4B3A5F", +"{3. c #301C46", +"]3. c #836F9D", +"^3. c #C8BFD5", +"/3. c #D0C6DB", +"(3. c #D2C8DF", +"_3. c #CBBFD9", +":3. c #B1A0C4", +"<3. c #B09CC8", +"[3. c #AC96C4", +"}3. c #A790C2", +"|3. c #9F85BC", +"13. c #9D83BB", +"23. c #9B7DB8", +"33. c #997BB7", +"43. c #9778B6", +"53. c #9375B3", +"63. c #9374B2", +"73. c #906FB2", +"83. c #906CB2", +"93. c #906DB3", +"03. c #8C6AAE", +"a3. c #8865A9", +"b3. c #8864AA", +"c3. c #8865AA", +"d3. c #8965AB", +"e3. c #8965AC", +"f3. c #8A64AC", +"g3. c #8D65AE", +"h3. c #8D67AE", +"i3. c #8B66AD", +"j3. c #8A65AA", +"k3. c #8A67AA", +"l3. c #8E6BAE", +"m3. c #9471B1", +"n3. c #9473B2", +"o3. c #8F6DAC", +"p3. c #9472B2", +"q3. c #9371B2", +"r3. c #815AA0", +"s3. c #80599F", +"t3. c #7F599F", +"u3. c #7E579F", +"v3. c #7C569C", +"w3. c #7C559B", +"x3. c #7B559B", +"y3. c #7A549A", +"z3. c #795398", +"A3. c #765296", +"B3. c #7D58A0", +"C3. c #7D599F", +"D3. c #9672BD", +"E3. c #9975C1", +"F3. c #9A76C2", +"G3. c #9E7CC5", +"H3. c #A07FC6", +"I3. c #A282C8", +"J3. c #A38BBE", +"K3. c #9882B0", +"L3. c #9D87B4", +"M3. c #A08BB6", +"N3. c #A390B8", +"O3. c #A693BA", +"P3. c #9B91AA", +"Q3. c #3D2A52", +"R3. c #CFC4DB", +"S3. c #B3A1C6", +"T3. c #AC9AC1", +"U3. c #BBABCE", +"V3. c #AB95C4", +"W3. c #AA93C3", +"X3. c #A68DC0", +"Y3. c #A48ABF", +"Z3. c #A085BB", +"`3. c #9E82BB", +" 4. c #9B7EB9", +".4. c #9475B5", +"+4. c #9373B3", +"@4. c #9272B3", +"#4. c #9271B4", +"$4. c #9270B4", +"%4. c #9170B3", +"&4. c #916FB2", +"*4. c #8B69AC", +"=4. c #8A67AC", +"-4. c #8B67AC", +";4. c #8B67AD", +">4. c #8C68AE", +",4. c #8D67AF", +"'4. c #8E69AF", +")4. c #8F69AF", +"!4. c #8F6BB0", +"~4. c #906BB1", +"{4. c #8E69AE", +"]4. c #8B68AB", +"^4. c #8C6AAB", +"/4. c #8E6AAD", +"(4. c #8F6BAD", +"_4. c #9474B2", +":4. c #9575B3", +"<4. c #9677B3", +"[4. c #9878B5", +"}4. c #9372AF", +"|4. c #9171AC", +"14. c #9777B5", +"24. c #9676B4", +"34. c #9675B4", +"44. c #8B6AA8", +"54. c #835FA2", +"64. c #7F59A0", +"74. c #7E599F", +"84. c #7E589E", +"94. c #7C579C", +"04. c #7A559A", +"a4. c #795599", +"b4. c #7F5BA1", +"c4. c #7F5AA0", +"d4. c #805BA2", +"e4. c #9D7AC6", +"f4. c #9C78C4", +"g4. c #9C77C3", +"h4. c #9B76C3", +"i4. c #9A76C3", +"j4. c #9B77C3", +"k4. c #9D79C4", +"l4. c #9F7BC6", +"m4. c #A07EC6", +"n4. c #A281C8", +"o4. c #A383C9", +"p4. c #A586C9", +"q4. c #A788C9", +"r4. c #AB8ECD", +"s4. c #AD90CD", +"t4. c #AF94CF", +"u4. c #B298D1", +"v4. c #B69DD3", +"w4. c #A58EBF", +"x4. c #9B85B3", +"y4. c #AD9BBE", +"z4. c #8E829D", +"A4. c #84709E", +"B4. c #A596B9", +"C4. c #CEC5DA", +"D4. c #B5A5C7", +"E4. c #B4A3C6", +"F4. c #B2A0C5", +"G4. c #BCABCE", +"H4. c #B19CC8", +"I4. c #AD97C5", +"J4. c #AB94C4", +"K4. c #A991C2", +"L4. c #A68CC0", +"M4. c #A38ABF", +"N4. c #A287BD", +"O4. c #9F83BB", +"P4. c #9E81BB", +"Q4. c #9C7FBA", +"R4. c #9B7DB9", +"S4. c #997BB8", +"T4. c #9779B7", +"U4. c #9677B7", +"V4. c #9777B7", +"W4. c #9776B6", +"X4. c #9776B7", +"Y4. c #9877B7", +"Z4. c #9472B4", +"`4. c #926FB2", +" 5. c #936FB3", +".5. c #9470B3", +"+5. c #9471B3", +"@5. c #9572B4", +"#5. c #9573B4", +"$5. c #9673B5", +"%5. c #9675B5", +"&5. c #9472B3", +"*5. c #9373B0", +"=5. c #9573B1", +"-5. c #9877B4", +";5. c #9D80B8", +">5. c #9E80B9", +",5. c #9B7DB5", +"'5. c #9979B3", +")5. c #9D7DB8", +"!5. c #9D7EBA", +"~5. c #9D7FB9", +"{5. c #9D7EB9", +"]5. c #9C7EB9", +"^5. c #9C7DB8", +"/5. c #9576B1", +"(5. c #9475B0", +"_5. c #8D6DAB", +":5. c #8D6CAB", +"<5. c #8C6BA9", +"[5. c #8865A5", +"}5. c #8563A7", +"|5. c #8462A4", +"15. c #8764A8", +"25. c #A07DC6", +"35. c #A27FC8", +"45. c #A07EC7", +"55. c #9F7EC6", +"65. c #9F7DC6", +"75. c #A280C7", +"85. c #A483C9", +"95. c #A584C9", +"05. c #A787CB", +"a5. c #A888CB", +"b5. c #AB8DCD", +"c5. c #AE92CF", +"d5. c #B196D0", +"e5. c #B399D2", +"f5. c #B59CD2", +"g5. c #B9A1D6", +"h5. c #A38FB9", +"i5. c #B0A5BD", +"j5. c #7A6D8B", +"k5. c #2E1C46", +"l5. c #9583AB", +"m5. c #BDACCF", +"n5. c #BEADD0", +"o5. c #B6A3CC", +"p5. c #B29ECA", +"q5. c #AF99C7", +"r5. c #AD96C6", +"s5. c #AA91C3", +"t5. c #A890C3", +"u5. c #A58ABF", +"v5. c #A186BE", +"w5. c #9F83BD", +"x5. c #9E82BC", +"y5. c #9E80BB", +"z5. c #9C80BA", +"A5. c #9D7EBB", +"B5. c #9C7EBA", +"C5. c #9C7EBB", +"D5. c #9D7DBB", +"E5. c #9877B6", +"F5. c #9878B6", +"G5. c #9878B7", +"H5. c #9978B7", +"I5. c #9977B7", +"J5. c #9A77B8", +"K5. c #9B79B8", +"L5. c #9B79B7", +"M5. c #9B7BB9", +"N5. c #9B7CB9", +"O5. c #9C7DBA", +"P5. c #9E7EBB", +"Q5. c #9C7CB9", +"R5. c #9D7EB8", +"S5. c #9E7FB9", +"T5. c #9E80BA", +"U5. c #9F81BA", +"V5. c #A082BA", +"W5. c #A285BA", +"X5. c #A385BC", +"Y5. c #A387BD", +"Z5. c #A388BD", +"`5. c #A689BE", +" 6. c #A58ABE", +".6. c #A68ABF", +"+6. c #A185BA", +"@6. c #A184B9", +"#6. c #A589BF", +"$6. c #A588BF", +"%6. c #A588BE", +"&6. c #A488BE", +"*6. c #A487BE", +"=6. c #A387BE", +"-6. c #9D7FB6", +";6. c #9B7CB4", +">6. c #9777B2", +",6. c #8966A5", +"'6. c #8865A4", +")6. c #8E6BAB", +"!6. c #8B6AA9", +"~6. c #A684CA", +"{6. c #A685CA", +"]6. c #A484C9", +"^6. c #A485C9", +"/6. c #A786CB", +"(6. c #A788CB", +"_6. c #A98ACC", +":6. c #AA8BCD", +"<6. c #AC8FCD", +"[6. c #AE91CF", +"}6. c #AF92CF", +"|6. c #B195D0", +"16. c #B59BD3", +"26. c #B79ED3", +"36. c #B9A2D5", +"46. c #BCA5D7", +"56. c #A793BC", +"66. c #B0A0C0", +"76. c #B0A7BD", +"86. c #635577", +"96. c #2F1D47", +"06. c #85719F", +"a6. c #86729F", +"b6. c #B8A8C9", +"c6. c #B6A6C8", +"d6. c #B5A4C7", +"e6. c #B9A8CB", +"f6. c #BFAFD2", +"g6. c #BAA7CF", +"h6. c #B9A5CD", +"i6. c #B7A3CC", +"j6. c #B6A1CB", +"k6. c #B39FCA", +"l6. c #B19AC8", +"m6. c #AE98C7", +"n6. c #AD97C6", +"o6. c #AD95C5", +"p6. c #A991C3", +"q6. c #A88FC3", +"r6. c #A78DC2", +"s6. c #A58BC1", +"t6. c #A48AC0", +"u6. c #A389BF", +"v6. c #A286BE", +"w6. c #A386BE", +"x6. c #A386BF", +"y6. c #A385BF", +"z6. c #A486C0", +"A6. c #A183BE", +"B6. c #9D7FBA", +"C6. c #9E7FBA", +"D6. c #9E81BC", +"E6. c #9F81BC", +"F6. c #A081BC", +"G6. c #A181BD", +"H6. c #A182BD", +"I6. c #A283BD", +"J6. c #A384BE", +"K6. c #A486BF", +"L6. c #A487C0", +"M6. c #A587C1", +"N6. c #A688C1", +"O6. c #A487BF", +"P6. c #A286BD", +"Q6. c #A68BBF", +"R6. c #A98DC0", +"S6. c #AC92C3", +"T6. c #AC92C4", +"U6. c #AD95C4", +"V6. c #AE95C5", +"W6. c #AD94C5", +"X6. c #AA91C1", +"Y6. c #A991C1", +"Z6. c #A990C0", +"`6. c #A88FBE", +" 7. c #AD92C4", +".7. c #AC92C5", +"+7. c #A489BC", +"@7. c #A388BB", +"#7. c #9779B1", +"$7. c #9474AE", +"%7. c #8F70AC", +"&7. c #8F6FA9", +"*7. c #8E6EA9", +"=7. c #9979B7", +"-7. c #AD8DD0", +";7. c #AC8CCE", +">7. c #AB8BCC", +",7. c #A98BCC", +"'7. c #A88ACC", +")7. c #AA8BCC", +"!7. c #AB8CCD", +"~7. c #AC8ECE", +"{7. c #AD8FCF", +"]7. c #AE90CF", +"^7. c #AF92D0", +"/7. c #B194D0", +"(7. c #B195D1", +"_7. c #B397D1", +":7. c #B499D2", +"<7. c #B59CD3", +"[7. c #B79ED5", +"}7. c #B9A0D5", +"|7. c #BBA4D6", +"17. c #BDA7D8", +"27. c #BFAAD9", +"37. c #B2A1C3", +"47. c #ACA3B8", +"57. c #4E3E63", +"67. c #33204A", +"77. c #C0B5CD", +"87. c #CFC4DC", +"97. c #BDADCC", +"07. c #BBABCC", +"a7. c #B6A5C9", +"b7. c #B8A6CA", +"c7. c #C5B6D6", +"d7. c #C2B1D4", +"e7. c #BFADD2", +"f7. c #BDABD1", +"g7. c #BCAAD0", +"h7. c #BBA8CF", +"i7. c #B9A6CE", +"j7. c #B7A5CD", +"k7. c #B6A3CD", +"l7. c #B4A0CC", +"m7. c #B49DCA", +"n7. c #B29BC9", +"o7. c #AF99C8", +"p7. c #AF97C7", +"q7. c #AE95C7", +"r7. c #AC93C7", +"s7. c #AB92C6", +"t7. c #AB91C4", +"u7. c #AA8FC4", +"v7. c #A98EC3", +"w7. c #A98EC4", +"x7. c #AA8FC5", +"y7. c #AB8FC4", +"z7. c #AB8FC6", +"A7. c #A68BC0", +"B7. c #A68AC0", +"C7. c #A68BC1", +"D7. c #A68AC1", +"E7. c #A88BC1", +"F7. c #A88BC2", +"G7. c #A88CC2", +"H7. c #A98EC2", +"I7. c #AB8FC3", +"J7. c #AB90C4", +"K7. c #AC90C5", +"L7. c #AC91C5", +"M7. c #AD91C5", +"N7. c #AD93C6", +"O7. c #AE94C6", +"P7. c #AF94C7", +"Q7. c #AE93C5", +"R7. c #B097C6", +"S7. c #B19AC7", +"T7. c #B39CC8", +"U7. c #B59ECA", +"V7. c #B7A0CB", +"W7. c #B59ECB", +"X7. c #B49CC9", +"Y7. c #AC95C2", +"Z7. c #A68DBD", +"`7. c #9D81B6", +" 8. c #9B7DB3", +".8. c #997CB4", +"+8. c #9B7EB7", +"@8. c #A285BF", +"#8. c #B496D5", +"$8. c #B295D3", +"%8. c #B293D1", +"&8. c #B193D0", +"*8. c #B093D0", +"=8. c #B094D0", +"-8. c #B195D2", +";8. c #B296D2", +">8. c #B397D3", +",8. c #B498D3", +"'8. c #B499D3", +")8. c #B59AD3", +"!8. c #B79BD4", +"~8. c #B89DD5", +"{8. c #B89FD5", +"]8. c #BAA1D6", +"^8. c #BBA3D7", +"/8. c #BDA5D8", +"(8. c #BEA8D8", +"_8. c #C2ADDA", +":8. c #C2AFDA", +"<8. c #B09FC3", +"[8. c #B2A2C4", +"}8. c #B5A5C5", +"|8. c #B5A8C2", +"18. c #9F95AD", +"28. c #3E2C53", +"38. c #8672A0", +"48. c #A99ABB", +"58. c #C8BAD8", +"68. c #C7B8D8", +"78. c #C4B5D6", +"88. c #C1B1D4", +"98. c #C1B0D3", +"08. c #BBA9D0", +"a8. c #BAA8CF", +"b8. c #BAA6CE", +"c8. c #B9A4CE", +"d8. c #B7A2CE", +"e8. c #B6A0CD", +"f8. c #B59FCC", +"g8. c #B49ECC", +"h8. c #B39CCB", +"i8. c #B29ACA", +"j8. c #B199C9", +"k8. c #B098C8", +"l8. c #B097C8", +"m8. c #AF97C9", +"n8. c #B097C9", +"o8. c #B197CA", +"p8. c #B198CB", +"q8. c #AF96C8", +"r8. c #AC93C5", +"s8. c #AD93C5", +"t8. c #AE93C6", +"u8. c #AE93C7", +"v8. c #AF95C7", +"w8. c #B096C7", +"x8. c #B197C8", +"y8. c #B198C8", +"z8. c #B199C8", +"A8. c #B299CA", +"B8. c #B39BCA", +"C8. c #B49BCA", +"D8. c #B59CCB", +"E8. c #B59DCB", +"F8. c #B49ECB", +"G8. c #B69ECC", +"H8. c #B6A0CB", +"I8. c #B8A3CC", +"J8. c #BAA4CD", +"K8. c #BAA5CE", +"L8. c #C0ADD2", +"M8. c #C1ADD2", +"N8. c #BFACD2", +"O8. c #BFAAD0", +"P8. c #BFABD0", +"Q8. c #BCA7CD", +"R8. c #BBA6CC", +"S8. c #BBA6CD", +"T8. c #BDA8D1", +"U8. c #BDA8D0", +"V8. c #BCA8D0", +"W8. c #BBA7D0", +"X8. c #BBA6D0", +"Y8. c #AC93C0", +"Z8. c #9E82B6", +"`8. c #AC90C8", +" 9. c #B99FD8", +".9. c #B89DD6", +"+9. c #B89CD6", +"@9. c #B79BD5", +"#9. c #B69BD5", +"$9. c #B79CD5", +"%9. c #B79DD5", +"&9. c #B89ED6", +"*9. c #B99FD7", +"=9. c #B99FD6", +"-9. c #BAA0D6", +";9. c #BBA1D7", +">9. c #BCA3D8", +",9. c #BDA4D8", +"'9. c #BEA6D9", +")9. c #BFA8DA", +"!9. c #C0A9DA", +"~9. c #C2ACDA", +"{9. c #C3AEDC", +"]9. c #C4B0DC", +"^9. c #C6B3DD", +"/9. c #C5B3DB", +"(9. c #B19FC4", +"_9. c #B09EC3", +":9. c #B2A1C4", +"<9. c #B4A3C5", +"[9. c #B7A8C7", +"}9. c #8A7F99", +"|9. c #36234C", +"19. c #8773A1", +"29. c #9481AA", +"39. c #C7BAD6", +"49. c #D0C3DD", +"59. c #D4C9E2", +"69. c #D5CAE1", +"79. c #D6CAE2", +"89. c #D6CAE1", +"99. c #D6C9E3", +"09. c #D6CAE3", +"a9. c #D6C9E4", +"b9. c #D6CBE4", +"c9. c #D7CBE3", +"d9. c #D7CAE3", +"e9. c #D8CBE3", +"f9. c #D8CCE3", +"g9. c #D8CCE4", +"h9. c #D9CDE6", +"i9. c #DACDE6", +"j9. c #DBCFE6", +"k9. c #DCD0E7", +"l9. c #DCD1E8", +"m9. c #DED3E8", +"n9. c #DFD4E9", +"o9. c #E0D4EB", +"p9. c #E0D6EB", +"q9. c #E0D7EB", +"r9. c #E0D6E9", +"s9. c #E0D7EA", +"t9. c #E2D8EA", +"u9. c #E3D8EB", +"v9. c #E3DAEC", +"w9. c #E4DAEC", +"x9. c #E5DBEE", +"y9. c #E6DDEE", +"z9. c #E6DFEE", +"A9. c #E7DEEE", +"B9. c #E8E0EE", +"C9. c #E9E1EF", +"D9. c #E9E2F0", +"E9. c #EAE3F1", +"F9. c #EBE4F1", +"G9. c #ECE5F2", +"H9. c #ECE6F2", +"I9. c #EDE7F2", +"J9. c #EEE8F4", +"K9. c #EFE9F4", +"L9. c #F1ECF5", +"M9. c #F1EDF6", +"N9. c #F1EEF6", +"O9. c #F4EFF7", +"P9. c #FAFAFC", +"Q9. c #FCFBFD", +"R9. c #FCFDFD", +"S9. c #F4F1F5", +"T9. c #EEE8F2", +"U9. c #EDE7F3", +"V9. c #ECE5F1", +"W9. c #EAE2F0", +"X9. c #E7DFEE", +"Y9. c #E7DFEC", +"Z9. c #E3DBEA", +"`9. c #E2D9EA", +" 0. c #E0D8E9", +".0. c #E0D6E8", +"+0. c #E0D6E7", +"@0. c #DFD6E6", +"#0. c #DED3E5", +"$0. c #DDD2E5", +"%0. c #DBD1E4", +"&0. c #DAD0E3", +"*0. c #D8CEE2", +"=0. c #D8CCE2", +"-0. c #D6CAE0", +";0. c #D5C8DF", +">0. c #D3C7DE", +",0. c #D3C5DE", +"'0. c #D1C3DC", +")0. c #CFC1DC", +"!0. c #CEBFDA", +"~0. c #CDBED9", +"{0. c #CBBCD8", +"]0. c #C9BAD7", +"^0. c #C8B9D6", +"/0. c #C6B4D4", +"(0. c #C3B1D2", +"_0. c #C6B3DB", +":0. c #CDBAE4", +"<0. c #CBB7E2", +"[0. c #CBB6E1", +"}0. c #CAB7E1", +"|0. c #CBB8E2", +"10. c #CBB8E1", +"20. c #CBB9E2", +"30. c #CCB9E2", +"40. c #CCBAE2", +"50. c #CDBAE3", +"60. c #CEBBE3", +"70. c #CFBDE2", +"80. c #CEBFE4", +"90. c #D0C0E3", +"00. c #D0C1E4", +"a0. c #CDBEDE", +"b0. c #B7A5C8", +"c0. c #B7A6C7", +"d0. c #B8A8C8", +"e0. c #B9A9C9", +"f0. c #B9B1C4", +"g0. c #716382", +"h0. c #C9BDD6", +"i0. c #CBBFD8", +"j0. c #DCD3E6", +"k0. c #DDD4E7", +"l0. c #DED5E8", +"m0. c #DFD7E8", +"n0. c #E0D7E8", +"o0. c #E0D5E9", +"p0. c #DFD5E9", +"q0. c #DED3EA", +"r0. c #DED4E9", +"s0. c #DDD5E9", +"t0. c #DED4E8", +"u0. c #DED3E7", +"v0. c #DDD3E7", +"w0. c #DDD3E8", +"x0. c #DED3E9", +"y0. c #DFD5EA", +"z0. c #E0D6EA", +"A0. c #E1D7EB", +"B0. c #E2D7EC", +"C0. c #E2D8EC", +"D0. c #E2D9EC", +"E0. c #E1D8EA", +"F0. c #E1D8EB", +"G0. c #E3D9EB", +"H0. c #E4D9EC", +"I0. c #E4DBEC", +"J0. c #E5DCEE", +"K0. c #EAE3F0", +"L0. c #E9E2EF", +"M0. c #E8E0ED", +"N0. c #E5DDEB", +"O0. c #E4DCEB", +"P0. c #E4DBEB", +"Q0. c #E3DBEB", +"R0. c #E3DAEA", +"S0. c #E3DAE9", +"T0. c #E2D8E8", +"U0. c #E1D8E8", +"V0. c #DFD7E7", +"W0. c #DED6E7", +"X0. c #DED4E7", +"Y0. c #DED4E5", +"Z0. c #DDD3E5", +"`0. c #DCD2E5", +" a. c #DCD1E5", +".a. c #DAD0E4", +"+a. c #DBCFE4", +"@a. c #DACFE3", +"#a. c #D8CDE2", +"$a. c #D7CBE1", +"%a. c #D6C9E0", +"&a. c #D5C9DF", +"*a. c #D4C8DF", +"=a. c #D3C7DF", +"-a. c #D3C6DE", +";a. c #D4C7DE", +">a. c #D5C8E1", +",a. c #D4C7E1", +"'a. c #D4C7E0", +")a. c #DCCFEA", +"!a. c #DFD3EE", +"~a. c #DED1ED", +"{a. c #DECFEC", +"]a. c #DECFEB", +"^a. c #DED0EC", +"/a. c #DDD0EB", +"(a. c #DCD0EC", +"_a. c #DCCFEB", +":a. c #DCCEEB", +"b. c #BDAECF", +",b. c #C2B3D2", +"'b. c #C9BCDA", +")b. c #C8BBD9", +"!b. c #C7B9D9", +"~b. c #C6B6D8", +"{b. c #C5B5D7", +"]b. c #C4B4D7", +"^b. c #C1B1D5", +"/b. c #C0B1D4", +"(b. c #C0AFD4", +"_b. c #C0ADD3", +":b. c #BFABD3", +"c. c #C3ADDD", +",c. c #C4AFDD", +"'c. c #C6B0DE", +")c. c #C7B1DF", +"!c. c #C8B3DF", +"~c. c #C9B5DF", +"{c. c #CAB7E0", +"]c. c #CBB9E1", +"^c. c #CCBBE1", +"/c. c #CFC0E4", +"(c. c #C2B1D5", +"_c. c #B6A5C7", +":c. c #BAAACA", +"d. c #C5AFDD", +",d. c #C5B1DD", +"'d. c #C8B4DE", +")d. c #CCB9E1", +"!d. c #B5A3C6", +"~d. c #B8A7C9", +"{d. c #BAAAC9", +"]d. c #B8B1C4", +"^d. c #655778", +"/d. c #B9A8CA", +"(d. c #B19EC6", +"_d. c #C5B5D6", +":d. c #C0B0D4", +"e. c #49395E", +",e. c #A696BA", +"'e. c #D3C9DE", +")e. c #BAAACB", +"!e. c #B7A5C9", +"~e. c #B5A3C8", +"{e. c #BEADD2", +"]e. c #BCA9D0", +"^e. c #BAA6CF", +"/e. c #B8A5CF", +"(e. c #AD92C7", +"_e. c #AB90C7", +":e. c #AA90C5", +"f. c #9D7CBE", +",f. c #9E7CBE", +"'f. c #9E7CBD", +")f. c #9E7DBD", +"!f. c #9E7DBE", +"~f. c #9B79BA", +"{f. c #9876B7", +"]f. c #9A79B8", +"^f. c #9A7AB9", +"/f. c #9B7BBA", +"(f. c #9C7CBA", +"_f. c #A283BE", +":f. c #A284BE", +"g. c #9A79B9", +",g. c #9B79B9", +"'g. c #9B7AB9", +")g. c #9C7BBA", +"!g. c #9D7CBA", +"~g. c #9B7BB7", +"{g. c #9E7EB9", +"]g. c #9F7FBA", +"^g. c #9F80BA", +"/g. c #A081BA", +"(g. c #A081BB", +"_g. c #A283BB", +":g. c #A486BD", +"h. c #A081B9", +",h. c #A183BB", +"'h. c #E4DCEC", +")h. c #E1D7E9", +"!h. c #E1D7E8", +"~h. c #E0D5E8", +"{h. c #DFD5E7", +"]h. c #DFD4E7", +"^h. c #A385BE", +"/h. c #A485BE", +"(h. c #A485BD", +"_h. c #A384BD", +":h. c #9E7FB7", +"i. c #E5DCEC", +",i. c #E5DCEB", +"'i. c #9E7DBA", +")i. c #A082BC", +"!i. c #9C7CB5", +"~i. c #9F7EBA", +"{i. c #9C7BB9", +"]i. c #9876B6", +"^i. c #8B69AA", +"/i. c #7B569C", +"(i. c #7F59A1", +"_i. c #835DA6", +":i. c #825CA6", +"j. c #9D7BB9", +",j. c #9C7AB9", +"'j. c #9674B4", +")j. c #8562A5", +"!j. c #7C579F", +"~j. c #7B559D", +"{j. c #7B549D", +"]j. c #7A539C", +"^j. c #7A529B", +"/j. c #79519B", +"(j. c #7F57A2", +"_j. c #815AA5", +":j. c #8058A4", +"k. c #9D7CBB", +",k. c #9C7ABA", +"'k. c #9675B6", +")k. c #8A67A9", +"!k. c #8966A8", +"~k. c #8663A6", +"{k. c #7F5AA1", +"]k. c #7F58A0", +"^k. c #7D579F", +"/k. c #7C569E", +"(k. c #7C559D", +"_k. c #7B539C", +":k. c #78509B", +"l. c #966DBE", +",l. c #A37BCE", +"'l. c #A37ACC", +")l. c #A57CCE", +"!l. c #A680CE", +"~l. c #A781CF", +"{l. c #AB85D1", +"]l. c #AC87D2", +"^l. c #AE8AD3", +"/l. c #B08ED4", +"(l. c #B392D5", +"_l. c #B596D6", +":l. c #B79AD8", +"m. c #B29FC6", +",m. c #AF9BC5", +"'m. c #AB95C2", +")m. c #A68EC0", +"!m. c #A88FC1", +"~m. c #B6A1CE", +"{m. c #B199CA", +"]m. c #AB93C7", +"^m. c #AA8FC6", +"/m. c #A689C3", +"(m. c #A183C1", +"_m. c #A07FC0", +":m. c #9D7CBF", +"n. c #9D7CB9", +",n. c #A484BF", +"'n. c #A687C1", +")n. c #A686C0", +"!n. c #A183BD", +"~n. c #A382BF", +"{n. c #9D7ABA", +"]n. c #825DA3", +"^n. c #7C559E", +"/n. c #7B549E", +"(n. c #815AA6", +"_n. c #7E56A2", +":n. c #8A63B1", +"o. c #CDB9E1", +",o. c #D0BCE3", +"'o. c #D2C0E4", +")o. c #D5C4E5", +"!o. c #D7C8E7", +"~o. c #DBCDE9", +"{o. c #BEADCE", +"]o. c #C4B5D2", +"^o. c #716483", +"/o. c #927EAC", +"(o. c #A791C1", +"_o. c #A086BC", +":o. c #B49CCC", +"p. c #A687C2", +",p. c #A787C3", +"'p. c #A788C3", +")p. c #A888C4", +"!p. c #A78AC1", +"~p. c #AA8CC3", +"{p. c #AA8DC3", +"]p. c #AA8DC2", +"^p. c #A98CC2", +"/p. c #A88AC3", +"(p. c #A688C2", +"_p. c #9E7BBA", +":p. c #9776B5", +"q. c #CBB4E1", +",q. c #CDB8E2", +"'q. c #D3C1E5", +")q. c #D6C5E6", +"!q. c #DBCEEA", +"~q. c #DDD1EA", +"{q. c #C1B0D0", +"]q. c #C4B7D1", +"^q. c #B5ADC0", +"/q. c #524167", +"(q. c #3C2A54", +"_q. c #AA95C2", +":q. c #A489BF", +"r. c #AC8FC5", +",r. c #AD90C5", +"'r. c #AE91C5", +")r. c #AC8EC5", +"!r. c #AC8FC6", +"~r. c #AB8DC5", +"{r. c #A284C0", +"]r. c #815AA3", +"^r. c #865FAA", +"/r. c #855EA8", +"(r. c #855DA8", +"_r. c #865EA9", +":r. c #865FA9", +"s. c #D0BDE4", +",s. c #D4C2E6", +"'s. c #D7C6E8", +")s. c #DCCEEA", +"!s. c #DED2EB", +"~s. c #E0D5EB", +"{s. c #C7B7D6", +"]s. c #C7B8D5", +"^s. c #C3B8CE", +"/s. c #8F839D", +"(s. c #45345D", +"_s. c #A791BE", +":s. c #A489C0", +"t. c #9B77BB", +",t. c #9B79BC", +"'t. c #A281C1", +")t. c #A381C1", +"!t. c #A685C3", +"~t. c #AB8DC7", +"{t. c #AC8EC6", +"]t. c #AF90C9", +"^t. c #B093CA", +"/t. c #B093CB", +"(t. c #B196CC", +"_t. c #B297CC", +":t. c #B297CD", +"u. c #BEA8D2", +",u. c #BEA6D2", +"'u. c #BCA5D1", +")u. c #BBA4D0", +"!u. c #BBA3D0", +"~u. c #BAA2D0", +"{u. c #AC8DC5", +"]u. c #AB8EC6", +"^u. c #8861A9", +"/u. c #8861AA", +"(u. c #8B65AD", +"_u. c #A07CC4", +":u. c #B18FD6", +"v. c #C4B9CF", +",v. c #8D819C", +"'v. c #48365E", +")v. c #9581B0", +"!v. c #C9BDDA", +"~v. c #A78EBF", +"{v. c #A88EC3", +"]v. c #A68BC2", +"^v. c #9D7FBC", +"/v. c #9C7CBC", +"(v. c #A98BC6", +"_v. c #AB8EC8", +":v. c #A787C6", +"w. c #946FBA", +",w. c #9873BC", +"'w. c #9B77BD", +")w. c #A381C4", +"!w. c #A582C5", +"~w. c #A27EC0", +"{w. c #AA8AC6", +"]w. c #AD8EC7", +"^w. c #AF90C8", +"/w. c #AF93CB", +"(w. c #B599CE", +"_w. c #B69BCF", +":w. c #B69DCF", +"x. c #D7C8E4", +",x. c #D6C7E3", +"'x. c #D5C6E3", +")x. c #D3C4E1", +"!x. c #D2C2E0", +"~x. c #D1C1E0", +"{x. c #D1BFDF", +"]x. c #CFBFDF", +"^x. c #D0BEDF", +"/x. c #CFBDDF", +"(x. c #CFBDDE", +"_x. c #CEBCDD", +":x. c #CDBBDD", +"y. c #E3D8EE", +",y. c #E6DCEF", +"'y. c #C4BACF", +")y. c #80728F", +"!y. c #A694BD", +"~y. c #A082BF", +"{y. c #A788C7", +"]y. c #A483C5", +"^y. c #A380C3", +"/y. c #9B75BE", +"(y. c #9974BC", +"_y. c #9976BD", +":y. c #9D79C1", +"z. c #C0A8D5", +",z. c #C0A7D4", +"'z. c #BBA2CF", +")z. c #BCA3D0", +"!z. c #CEBBDE", +"~z. c #E4DAED", +"{z. c #E1D6EB", +"]z. c #E1D5EB", +"^z. c #DFD2EA", +"/z. c #DED1E9", +"(z. c #DDD0E8", +"_z. c #DCCFE7", +":z. c #DBCEE7", +"A. c #A197AF", +",A. c #4E3B65", +"'A. c #9B87B6", +")A. c #C6B9D8", +"!A. c #C4B8D7", +"~A. c #A084BB", +"{A. c #9975BB", +"]A. c #A482C4", +"^A. c #9672BB", +"/A. c #A683C6", +"(A. c #A784C6", +"_A. c #AA88C7", +":A. c #AD8ECB", +"B. c #E9E0F0", +",B. c #E9E0EF", +"'B. c #E8E0F0", +")B. c #E8DFEF", +"!B. c #E7DFEF", +"~B. c #E7DEEF", +"{B. c #E6DBEE", +"]B. c #CBB7DC", +"^B. c #C4AED8", +"/B. c #A080BA", +"(B. c #9C7EB8", +"_B. c #8C69AE", +":B. c #8E6AAF", +"C. c #B79AD3", +",C. c #B699D2", +"'C. c #B497CF", +")C. c #B498CF", +"!C. c #B599CF", +"~C. c #BB9FD1", +"{C. c #C1A7D4", +"]C. c #C5AFD9", +"^C. c #C6B0D9", +"/C. c #C6B0DA", +"(C. c #C6B1DA", +"_C. c #C7B2DB", +":C. c #C9B4DD", +"D. c #B193CE", +",D. c #B496CF", +"'D. c #B599D0", +")D. c #B598D0", +"!D. c #B69AD0", +"~D. c #C3ABD6", +"{D. c #C5B0DA", +"]D. c #C7B1DA", +"^D. c #C7B3DB", +"/D. c #CBB6DE", +"(D. c #CCB7DF", +"_D. c #CDB8DF", +":D. c #C9B5DD", +"E. c #C7B1DB", +",E. c #C8B2DC", +"'E. c #C8B4DC", +")E. c #CFBCE1", +"!E. c #D0BCE1", +"~E. c #D0BCE2", +"{E. c #D0BDE2", +"]E. c #D1BDE3", +"^E. c #CEBCE0", +"/E. c #CEBADF", +"(E. c #CDB9DE", +"_E. c #FDFCFE", +":E. c #FAF7FB", +"F. c #9F7BBF", +",F. c #9F7CBF", +"'F. c #A07EBF", +")F. c #AC8CC7", +"!F. c #B193CC", +"~F. c #BBA1D4", +"{F. c #BEA3D5", +"]F. c #BFA3D5", +"^F. c #C1A6D7", +"/F. c #C2A8D8", +"(F. c #C2AAD8", +"_F. c #C1A9D7", +":F. c #C1A8D4", +"G. c #AF93C5", +",G. c #A182BA", +"'G. c #9877B8", +")G. c #B395CF", +"!G. c #D0BBE4", +"~G. c #D5C2E6", +"{G. c #D9CBE9", +"]G. c #DFD2EB", +"^G. c #8C7E9C", +"/G. c #615177", +"(G. c #523F69", +"_G. c #AF9EC6", +":G. c #A18CBA", +"H. c #EAE1F1", +",H. c #D6C5E4", +"'H. c #D8CAE6", +")H. c #C5B0D6", +"!H. c #B196C7", +"~H. c #B094C5", +"{H. c #AF92C5", +"]H. c #B194CD", +"^H. c #E3D7ED", +"/H. c #CEBFDC", +"(H. c #5C4A72", +"_H. c #B2A2C8", +":H. c #9F8AB9", +"I. c #A28FBC", +",I. c #8261A3", +"'I. c #744B98", +")I. c #764E99", +"!I. c #8D68AF", +"~I. c #B396CC", +"{I. c #C3ABD8", +"]I. c #C9B2DD", +"^I. c #CAB3DD", +"/I. c #CEB9DF", +"(I. c #DAC9E8", +"_I. c #DBCEE9", +":I. c #DED0E9", +"J. c #D9C9E7", +",J. c #D9CAE8", +"'J. c #DECFEA", +")J. c #E1D4ED", +"!J. c #E2D6EC", +"~J. c #E2D8EB", +"{J. c #BBA3CF", +"]J. c #BBA3CE", +"^J. c #B79ECC", +"/J. c #BEA4D8", +"(J. c #D7C8E8", +"_J. c #BCB1C9", +":J. c #887B99", +"K. c #BFA9D2", +",K. c #BCA3CE", +"'K. c #BAA1CD", +")K. c #B69ECB", +"!K. c #B399C8", +"~K. c #BA9FD4", +"{K. c #C6B5D7", +"]K. c #C4B8D0", +"^K. c #998CA7", +"/K. c #6F5D83", +"(K. c #584570", +"_K. c #C0B1D2", +":K. c #BDAFD1", +"L. c #D4C2E3", +",L. c #D5C4E3", +"'L. c #D8C8E6", +")L. c #DACCE8", +"!L. c #E4D8EF", +"~L. c #E5D8EF", +"{L. c #E6DAEF", +"]L. c #E7DCF1", +"^L. c #E7DEF1", +"/L. c #E7DFF1", +"(L. c #E8DFF2", +"_L. c #E9DFF2", +":L. c #EADFF2", +"M. c #C1ABD2", +",M. c #B397CA", +"'M. c #A485C1", +")M. c #C4ACDC", +"!M. c #E5DDEF", +"~M. c #CFC0DF", +"{M. c #705F86", +"]M. c #5D4A75", +"^M. c #5C4974", +"/M. c #C8BDD9", +"(M. c #8E6BB0", +"_M. c #A584C0", +":M. c #CDB9DD", +"N. c #8D7F9F", +",N. c #634F7B", +"'N. c #604D78", +")N. c #B59ACD", +"!N. c #D9CCE5", +"~N. c #DBCDE6", +"{N. c #DBCFE8", +"]N. c #E8DEF0", +"^N. c #E9DEF1", +"/N. c #EFE9F6", +"(N. c #F0E9F7", +"_N. c #F0EBF7", +":N. c #F1EDF7", +"O. c #66537F", +",O. c #DAD2E5", +"'O. c #CBB6DB", +")O. c #F0E9F4", +"!O. c #F2ECF5", +"~O. c #F1EBF4", +"{O. c #EFE8F2", +"]O. c #E1D6E9", +"^O. c #CEBDDC", +"/O. c #CBC4D5", +"(O. c #9184A4", +"_O. c #695682", +":O. c #685480", +"P. c #C9B5DB", +",P. c #C1A7DA", +"'P. c #C8B2DF", +")P. c #B89FD1", +"!P. c #8E7EA2", +"~P. c #74618D", +"{P. c #D4C9E0", +"]P. c #B49ACA", +"^P. c #B9A1CE", +"/P. c #D0BFDD", +"(P. c #B298CC", +"_P. c #776490", +":P. c #ECE9F1", +"Q. c #A496B8", +",Q. c #8B78A3", +"'Q. c #84709D", +")Q. c #A48FBF", +"!Q. c #B2A0C9", +"~Q. c #AE93C4", +"{Q. c #B8A0CE", +"]Q. c #C3AED6", +"^Q. c #CDBDDD", +"/Q. c #AC9DBD", +"(Q. c #907DA8", +"_Q. c #8873A0", +":Q. c #A38EBE", +" - - , , ' ) ) ! ~ { { ~ ! ! ) ) ' ' ] , , - - > = = . . @ ^ / ( _ ", +" : : - < , ) { [ } | 1 1 2 3 4 4 5 6 7 8 9 0 0 0 9 7 6 5 4 4 a 3 1 1 | | [ ~ ! ' , : b . $ c / _ d e ", +" ; - f g ! h } i 2 j k l m n o p q r s r s s t u u u u u u u u s s r q q p p o v w x 8 7 4 3 1 | y z A B = . $ c C d e ", +" f , g ! h D E F G H I J K L M N O P Q R S T U V W V X Y Z Z Z Z Z Z Z Z Y X V W ` . .. +. @. #. u s q p o w 0 5 a 1 $. ~ ' %. : . $ ^ &. d *. ", +" f , ) { | =. -. ;. >. ,. '. ,. ). !. ~. {. ]. ^. /. (. _. :. <. [. }. |. 1. 2. 3. 4. 5. 6. 7. 7. 8. 7. 7. 6. 5. 4. 9. 0. a. b. c. d. e. f. g. h. i. W j. .. k. #. s l. o w 7 m. 1 | ~ ' %. = . % / d n. o. ", +" p. ) { | 1 q. r. s. t. u. v. w. x. y. z. A. B. C. D. E. F. F. G. G. G. H. I. J. K. L. M. N. O. P. Q. R. Q. Q. Q. R. S. S. T. U. V. W. X. Y. Z. `. + .+ 8. 4. a. ++ d. f. g. Z W @+ k. #+ $+ %+ w 7 3 1 [ ~ A : . % &+ d o. o. ", +" p. ) { | *+ =+ -+ ;+ >+ ,+ '+ )+ !+ ~+ v. {+ {+ {+ ]+ ]+ ]+ ^+ ^+ /+ (+ _+ :+ <+ [+ }+ |+ 1+ 2+ 3+ 4+ 5+ 6+ 7+ 8+ 9+ 9+ 9+ 0+ a+ b+ c+ d+ e+ f+ g+ h+ i+ j+ k+ l+ Q. U. W. Y. m+ + n+ o+ p+ d. q+ h. X . r+ #+ q o 0 4 1 s+ ~ A : . % C d o. o. ", +" t+ u+ D v+ =. w+ x+ y+ z+ A+ B+ C+ D+ E+ F+ G+ G+ G+ H+ H+ I+ E+ J+ K+ L+ M+ N+ 7+ O+ P+ Q+ R+ S+ T+ U+ V+ W+ X+ Y+ Z+ `+ @ .@ +@ @@ #@ $@ %@ &@ *@ =@ -@ ;@ >@ ,@ '@ )@ !@ 0+ d+ f+ ~@ {@ ]@ Q. ^@ X. m+ /@ 8. a. (@ q+ h. W .. _@ s %+ 0 4 1 [ ! A = $ c _ n. o. o. ", +" :@ <@ [@ } *+ }@ |@ 1@ 2@ 3@ 4@ 5@ 6@ B+ 7@ 8@ 8@ 8@ 7@ 9@ 0@ A+ 6@ a@ b@ c@ d@ e@ U+ f@ g@ Y+ h@ i@ j@ k@ l@ m@ n@ o@ p@ q@ r@ s@ t@ t@ t@ u@ v@ w@ x@ y@ z@ A@ B@ C@ D@ E@ F@ G@ H@ $@ I@ J@ >@ '@ K@ 0+ e+ h+ L@ M@ N@ O@ Z. .+ 5. b. P@ g. X Q@ R@ s o 9 a i y ' B . % C e o. o. ", +" :@ S@ T@ *+ U@ V@ 1@ W@ X@ Y@ Z@ `@ # .# 5@ 5@ +# @# ## 4@ $# %# &# *# =# -# ;# ># ,# '# )# !# ~# p@ {# ]# ^# /# (# _# :# <# [# }# |# 1# 1# 2# 1# 1# 3# 4# 5# 6# 7# 8# 9# 0# a# b# c# d# e# f# g# h# i# F@ j# k# l# m# '@ !@ n# g+ {@ o# U. Y. p# 8. a. P@ g. V .. #. q q# 6 2 [ z %. r# $ &+ d o. o. o. ", +" s# t# v+ =. u# v# w# x# y# z# A# B# &# C# D# E# &# F# G# H# I# J# K# L# M# N# O# P# Q# R# S# T# U# V# W# [# X# Y# Z# `# $ .$ +$ @$ #$ $$ %$ &$ *$ *$ &$ &$ %$ $$ =$ -$ ;$ >$ ,$ '$ )$ !$ ~$ {$ ]$ ^$ 7# /$ ($ _$ :$ <$ [$ }$ |$ 1$ I@ 2$ 3$ 9+ e+ 4$ ]@ N@ X. 5$ 8. b. 6$ h. ` +. t %+ 0 3 s+ ~ A = $ ^ d o. o. o. ", +" 7$ 8$ 9$ 0$ a$ b$ c$ d$ e$ f$ g$ h$ A# A# A# A# i$ K# j$ k$ l$ m$ n$ o$ p$ q$ r$ s$ t$ u$ v$ w$ 2# Y# x$ y$ .$ z$ *$ A$ B$ C$ D$ E$ F$ G$ H$ I$ J$ K$ L$ K$ K$ K$ M$ I$ N$ O$ P$ Q$ R$ S$ T$ U$ V$ W$ X$ Y$ Z$ `$ % ~$ .% +% 9# @% #% $% %% }$ &% $@ *% =% !@ -% ;% >% U. ,% '% o+ (@ )% X .. #+ !% 0 m. | ~ A = $ ^ d o. o. o. ", +" ~% {% *+ ]% ^% /% (% _% :% <% [% y# }% |% |% }% 1% 2% 3% 4% 5% 6% 7% 8% 9% 0% a% b% c% d% e% f% g% h% i% j% k% l% E$ G$ m% n% o% p% q% r% s% t% u% v% w% x% y% x% x% x% v% v% u% t% z% A% B% C% D% E% F% G% H% I% P$ J% K% L% M% Y$ N% O% P% Q% R% @% d# <$ S% F@ #@ T% =% U% f+ {@ V% O@ W% 8. b. f. Z Q@ #. q w 4 | ~ %. = $ &+ e o. o. o. ", +" X% {% Y% Z% `% & .& +& @& #& $& %& && *& N# N# n$ =& -& ;& >& ,& '& )& !& ~& c% {& ]& f% ^& /& (& _& :& <& [& }& |& 1& r% 2& 3& 4& 5& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 7& 8& 8& 8& 8& 9& 0& a& b& c& B% D% d& e& f& g& T$ h& i& >$ % j& k& l& m& w@ S% |$ k# n& o& c+ ~@ >% p& Z. n+ a. 6$ Z Q@ #. q w a | ' - b $ / n. o. o. o. ", +" q& r& s& 4 t& u& v& w& x& y& #& c$ z& o$ z& A& B& C& D& E& F& G& H& I& J& K& L& M& N& O& P& Q& R& S& T& U& V& W& t% X& Y& Z& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 7& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 9& 3& b& `& * .* +* @* K% #* $* %* &* k& ** =* y@ -* ;* -@ >* 9+ g+ k+ U. ,* n+ a. 6$ Z Q@ #. p 0 3 $. ] : . c _ o. o. o. o. ", +" '* )* !* ~* {* ]* ^* /* (* _* :* <* [* }* }* q$ |* 1* 2* 3* 4* 5* 6* 7* 8* 9* 0* N& a* P& b* c* d* e* f* g* h* X& i* j* 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 7& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 9& k* l* m* n* o* p* q* $* r* .% R% s* v@ C@ t* u* ,@ v* g+ k+ U. Z. w* b. q+ X x* u y* 7 1 y A r# $ ^ e o. o. o. o. ", +" z* z* A* B* C* D* E* F* G* /* ]# H* y& I* I* J* K* L* M* N* O* 6* P* Q* R* S* T* U* V* W* X* Y* [& Z* `* = 4& 6& .= .= .= 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 5& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 9& += @= n* #= $= %= &= *= 6# == -= h# &% u* ;= 9+ >= ]@ V. `. 7. c. g. W k. s ,= 4 | ' B . @ C o. o. o. o. ", +" '= '= )= != ~= {= ]= ^= /= (= _= x& .& := <= 5* [= }= |= 1= 2= 3= 4= 5= 6= 7= 8= 9= 0= a= b= c= V& d= e= 6& f= f= g= .= .= j* 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 5& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 9& h= i= j= S$ #* >$ k= k& == $% S% t* =@ '@ a+ ;% l= O@ + m= P@ h. . #. p 0 n= [ A b $ ^ e o. o. o. o. ", +" o= o= p= q= r= s= t= u= v= w= x= y= z= z= A= B= 1= 1= C= D= E= F= G= H= I= J= K= L= M= N= O= P= Q= = Y& .= f= f= f= g= .= .= .= 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& R= S= T= J% W$ U= V= W= X= Y= }$ H@ ;@ Z= e+ j+ N@ ,* n+ b. `= V +. s ,= 4 | ' : - c _ o. o. o. o. o. ", +" .- .- +- @- #- $- %- &- *- =- -- ;- >- (* ,- '- )- !- ~- {- ]- ^- /- S* I= J= K= L= M= (- _- :- <- [- }- f= |- f= f= f= g= g= .= .= 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& R= 1- 2- p* 3- 4- j& 9# 5- %% 6- 7- ,@ 9+ h+ l+ O@ 8- 9. P@ 9- Q@ #+ p 8 1 ~ A . c / n. o. o. o. o. ", +" 0- a- a- b- c- d- e- f- g- =- w= h- i- j- k- l- m- n- o- p- q- r- s- I= 7= t- u- 0= v- w- x- y- [- Y& f= z- z- f= f= f= g= g= .= .= j* 6& 6& 6& 6& 6& 6& 6& 6& 6& Z& Z& Z& 7& 7& i* i* i* 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& i* i* 7& 7& Z& Z& 6& 6& Z& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& z% d& #= A- $* B- ^$ == C- D@ ;* ;@ D- e+ E- U. Z. 8. c. g. F- @. q w 3 [ ] r# $ ^ e o. o. o. o. o. ", +" G- H- 0- G- I- J- K- L- M- g- N- F* w= O- P- /- Q- Q- R- S- q- T- U- V- W- X- Y- Z- `- ; .; +; @; #; f= z- z- z- f= f= f= f= g= .= .= .= 6& 6& 6& Z& 7& i* 8& $; 9& %; %; 3& 3& 3& 3& &; &; &; *; *; *; *; *; *; *; *; *; *; *; &; &; 3& 3& 3& %; %; 9& $; 9& =; -; ;; 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& a& 1- 2- p* >; 4- .% /$ =* B@ &% =@ ,; '; i+ Q. Y. .+ p+ f. X +. s ,= 4 | ' : $ ^ d o. o. o. o. o. ", +" ); G- G- !; ~; {; K- ]; ^; *- /; (; W# w$ _; :; :; :; <; [; T- }; |; 1; 2; 3; 4; 5; v- w- x- 6; 7; 8; 9; 0; z- z- |- f= f= f= g= g= .= .= Z& i* $; %; 3& 3& *; a; b; c; 2& = = d; h* h* h* h* e; e; e; e; e; e; e; e; e; e; e; e; h* h* h* h* = = 2& c; a; a; f; g; h; k* i; j; -; ;; 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& k* k; H% l; m; ,$ &* n; o; p; q; %@ ,@ 9+ h+ o# O@ + m= e. Z .. u o 6 r; ~ B - s; _ o. o. o. o. o. o. ", +" ); ); t; u; v; w; x; y; ^; {= z; A; B; C; I= s- s- D; E; F; G; H; I; J; K; L; M; N; O; P; :- Q; R; S; T; U; z- z- |- f= f= f= g= g= Z& i* %; &; a; c; t% d; e; V; W; W; X; Y; Y; Y; Z; Z; r% `; `; `; `; `; `; `; `; `; `; `; `; `; `; `; `; Z; Z; Y; Y; Y; W; W; s% V; Y; l* z% h= += g; h; > j; -; 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& h; .> H% +> #* @> P% #> s* $> %> $@ >@ U% g+ ]@ &> 5$ 4. *> => Q@ #. p 7 1 ~ %. . c -> o. o. o. o. o. o. ", +" t; t; ;> >> ,> '> )> !> ~> e- {> {= ]> ^> /> (> I= I= _> :> U- <> [> }> |> 1> Y- 2> 3> 4> 5> 6> 7> 8> }- 9; 9> 9; z- z- f= f= f= 0> 7& %; w% t% e; W; X; Y; r% `; a> b> b> c> c> c> d> g* g* g* g* g* g* g* 1& 1& 1& 1& 1& 1& 1& 1& 1& 1& g* g* g* g* g* d> d> c> c> b> a> `; e> f> g> h> i> `& j> z% h= += h; > j; ;; 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& h= k> 2- S$ m; U= P% 7# s* l> -* #@ >@ m> f+ k+ V. W% 4. d. h. . #. p 9 n= y %. . c ( o. o. o. o. o. o. ", +" n> t; o> p> e- q> )> r> ~> s> t> *- u> T* v> w> (> (> x> y> G; z> A> B> C> D> E> Z- 3> F> G> H> I> J> K> f= L> U; z- z- |- f= .= Y& *; t% V; M> N> b> c> d> g* g* 1& 1& 1& p% p% p% p% O> O> P> P> P> Q> Q> Q> Q> R> R> R> R> R> R> R> R> V& Q> Q> Q> P> P> O> O> p% p% S> 1& 1& 1& T> U> * V> k; W> f> h> i> X> W; h= g; Y> 0& -; 8& 8& 8& 8& 8& 8& 8& 8& 8& Z> B% `> , T$ X$ &= P% ., +, $> @, $@ >@ m> f+ k+ V. `. 5. d. h. . #. p 9 n= y %. . c ( #, o. o. o. o. o. o. ", +" o> o> $, %, *$ &, *, =, -, s> &- ;, >, ,, ', v> ), ), !, ~, ~, {, ], ^, /, |> (, _, :, (- <, [, }, |, 1, 2, S; 9; 9; z- |- .= 3, c; s% 4, b> 5, 6, 1& p% p% O> P> V& R> o% 7, 7, 8, 9, |& |& |& |& |& 0, 0, 0, a, a, a, a, a, a, a, a, a, a, a, a, a, 0, |& |& |& |& 9, 8, 7, 7, o% R> Q> b, c, d, k> k> D% * .> k; B% e, i> X> z% f, h; 0& -; 8& 8& 8& 8& 8& 8& 0& `& g, H% g& A- h, %* i, 9# o; y@ %> j, >@ k, g+ ]@ &> 5$ 4. d. h. . #. p 9 n= y %. b c l, m, o. o. o. o. o. o. ", +" n, n, o, p, q, r, *$ s, )> y; t, u, v, U* w, x, ', y, y, 1; |; z, A, ], B, C, C, E> M; M= D, E, F, :- 6; G, @; H, I, J, K, L, M, N, 4, O, g* 1& p% Q> o% 8, 9, P, Q, a, a, n% n% n% R, S, T, T, U, V, V, V, U& U& U& U& W, W, W, W, W, W, W, W, W, W, W, U& U& V, V, V, S, T, T, R, X, n% a, a, Y, Z, `, ' .* d& .' d, d, k> D% * +' W> e, @' l* #' f; i; 9& 8& 8& 8& i; X> $' %' &' *' #* Z$ B- Q% =' =* [$ 6- -' ;' v* >' >% ,' 5$ 4. d. h. . #. p 9 n= y %. . c l, '' o. o. o. o. o. o. ", +" )' n, n, !' ~' {' ]' ^' /' (' _' ^; :' 8= <' [' }' ', |' z, z, 1' [> 2' ^, C, 3' (, u- 4' 5' O; 6' .; :- 7' 7> 8' 9' 0' 0' a' b' c' d' <- P> e' |& f' n% T, T, V, V, W, }& }& g' K$ h' h' h' i' M$ M$ M$ M$ M$ M$ M$ M$ M$ j' j' j' j' j' k' k' j' j' j' j' M$ M$ M$ M$ M$ M$ i' h' h' K$ g' }& W, U& l' H% e& m' n' G% G% `, ' `> o' .' d, k> D% +' W> e, X> l* h= g; g; #' h> i= Z, p' +> L% h, 4- &* q' b# $% S% t* =@ =% a+ r' o# O@ 8- 9. e. Z . #. p 8 1 y %. . s' l, '' '' o. o. o. o. o. ", +" t' )' u' v' w' x' y' z' /' A' B' C' D' D' E' <' x, }' F' {, [> z, G' B> B, C> 3' H' Y- I' J' K' (- L' F, x- M' N' O' P' I> Q' R' S' 7, T' U' T, V' W' K$ i' i' I$ k' k' N$ N$ N$ N$ e* X' X' X' Y' Y' Z' Y' [& Y' `' ) .) .) .) .) .) .) .) .) .) .) .) .) .) .) ) Y' [& Y' Y' Y' X' X' +) N$ N$ k' j' j' @) f& #) #) 2- +* H% H% e& $) G% %) `> F% .' c, d, k> &) +' W> q% W> .> *) G% f& R$ =) >; -) B- ;) /$ o; >) -* ,) J@ o& d+ i+ Q. X. '% ') 6$ )) @+ #+ y* 7 1 ~ %. . s' -> '' '' o. o. o. o. o. o. ", +" !) !) ~) {) x' ]) ^) ]' *, /) y; () _) 3; t- E' w, ,, :) <) [> I; 1' ], [) }) |) 1) 2) 3) 4) J' 5) 6) ; 7) F, 8) 9) 0) :- a) b) c) d) d) e) i' j' N$ X' [& Y' f) .) .) g) h) h) h) i) i) i) j) k) k) l) l) l) l) l) l) E$ E$ E$ E$ E$ E$ E$ E$ m) m) E$ E$ E$ E$ E$ l) l) l) l) k) n) j) j) h) h) h) g) .) .) h) o) #= #= &' , p) f& f& #) q) r) H% e& s) t) n* `, `> .' .' b, b, u) .* e& , v) w) x) y) r* j& z) == A) B) F@ %@ >@ C) f+ E- D) ,* n+ b. `= X E) s v 5 i z B - c F) '' '' o. o. o. o. o. o. ", +" G) G) H) I) J) K) {' L) M) N) O) P) Q) R) S) T) U) w, V) B> }> I; I; [> [) ^, C> C> W) 2) (, I' X) 5' K' Y) 4> Z) `) ! .! +! 8) @! #! $! %! &! g) *! n) m) =! =! =! -! -! -! <& ;! ;! ;! ;! ;! ;! D$ >! ,! '! '! '! '! '! '! '! )! )! )! )! )! )! )! )! )! )! )! )! '! '! '! '! ,! D$ D$ ;! ;! ;! <& !! =! =! E$ E$ ~! {! ~! Q$ Q$ ]! ]! ]! ^! #= o* /! p' f& (! q) +* H% e& e& e& l' e& _! :! #= <) I; I; g! h! |> C> i! j! 2) Y- k! M; l! N; 5' m! K' n! F> o! p! ! q! r! m) -! s! t! u! v! w! w! w! C$ w! x! y! x! y! y! z! z! z! z! z! z! A! B! B! B! B! B! B! B! C! C! C! C! C! C! C! C! C! C! C! C! B! B! B! B! z! z! y! z! x! x! C$ C$ w! D! D! )! E! p* F! G! S$ l; l; +> R$ R$ H! Q$ @* I! P$ ^! ^! J! o* K! L! L! o* o* ^! ~! p* A- M% $* 4- M! Q% N! O! $% P! Q! 7- m# C) e+ L@ Q. Y. '% m= P@ 9- . #. !% 0 3 [ R! = $ 3! S! '' '' o. o. o. o. o. o. ", +" T! U! V! W! X! ]) Y! Z! `! ~ .~ +~ @~ Q) R) t- E' #~ $~ |> %~ }> I; {, {, ], &~ 2' *~ =~ -~ S) 2) Y- ;~ k! I' 4' l! J' 3> >~ 6) ,~ ,~ ,~ '~ )~ !~ ~~ {~ ]~ ^~ ^~ ^~ /~ /~ /~ ^~ ^~ ^~ ^~ ^~ ^~ ^~ ^~ ^~ (~ (~ (~ k% k% k% k% k% k% k% k% k% k% k% k% _~ _~ _~ k% k% k% k% k% k% k% (~ ^~ :~ :~ (~ ^~ ^~ ^~ /~ /~ <~ <~ <~ A! $= [~ U$ w) w) }~ |~ |~ 1~ T$ F! F! S$ 2~ ; ;$ 4- ~$ ;) n; 7~ 8~ %% 9~ ,) -@ '@ 0~ h+ ]@ V. a~ w* b. `= X E) u F 7 1 y A b c l, m, '' '' o. o. o. o. o. o. ", +" b~ T! c~ v; d~ ]~ (~ {' 0! e~ f~ +~ g~ h~ R) i~ T) j~ k~ $~ B> }> [> l~ m~ {, ], n~ <) o~ p~ =~ X- j! t- 3; q~ r~ s~ I' _, 0= 5; N; t~ N; u~ v~ _~ w~ ^) A$ A$ x~ x~ x~ x~ x~ x~ x~ x~ x~ x~ x~ x~ x~ x~ x~ y~ y~ y~ y~ j% j% j% j% j% j% j% j% j% j% j% j% j% j% j% j% j% j% j% j% y~ y~ x~ x~ x~ x~ x~ A$ A$ _& _& z~ w~ z~ _~ A~ B~ C~ D~ D~ E~ L% F~ F~ A- [~ U$ U$ w) $= $= G~ |~ T$ T$ T$ |~ |~ U$ A- C~ M% h, H~ )$ M! ;) I~ == =* p; }$ t* u* >@ C) e+ J~ Q. K~ 8- 4. d. L~ ` @. $+ M~ 4 i z B N~ c -> '' '' '' '' o. o. o. o. o. ", +" O~ O~ P~ Q~ R~ C! ]) 9! S~ T~ U~ V~ c! u- W~ i~ T) X~ Y~ Z~ |> <) [> 1' |; |; 1' {, `~ |' (> W- o~ 7= ,, ,, [' { K; L; .{ 9= +{ @{ _, #{ #{ ${ W* z' z' z' %{ &, &{ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ &$ &$ *{ *{ &$ &$ ={ ={ -{ -{ ;{ ;{ j% >{ X$ ,{ M% M% m; m; W$ W$ q* '{ '{ '{ C~ C~ D~ D~ D~ D~ D~ ){ '{ !{ m; ~{ {{ ;$ ]{ % P% Q% I~ ^{ d# <$ /{ |$ %@ n& 3$ a+ h+ ({ U. ,* _{ a. 6$ Z @+ #. p 0 a [ ] = $ 3! :{ '' '' '' '' o. o. o. o. o. ", +" <{ [{ }{ |{ 1{ 2{ ]~ (~ 3{ 4{ 5{ 6{ +{ u- Q) R) i~ 7{ Y~ }) ^, B> [> 1' |; 8{ H; |; <> y> s- 9{ I= 0{ a{ (> T* v> 7= 2; b{ t- c{ _) d{ d{ h~ e{ r~ f{ g{ g{ h{ +$ i{ i{ i{ i{ i{ j{ j{ k{ @$ @$ @$ @$ @$ @$ @$ @$ @$ @$ @$ @$ k{ k{ k{ k{ k{ k{ k{ k{ k{ k{ k{ k{ k{ k{ k{ k{ k{ k{ @$ @$ @$ @$ @$ @$ @$ @$ M) M) l{ l{ l{ m{ 0! $$ $$ $$ n{ h, o{ {{ {{ p{ p{ q{ i& r{ >; >; >; s{ s{ t{ X$ X$ X$ s{ >; r{ u{ v{ -$ y) &= w{ x{ y{ ^$ z{ == d# <$ S% F@ A{ T% >* 9+ f+ L@ Q. B{ 5$ 5. c. g. V +. s o 6 1 ~ A b c C{ D{ '' '' '' '' o. o. o. o. o. ", +" [{ E{ F{ N) G{ d~ <~ ]) y' H{ v- U~ +~ @~ h~ R) i~ k~ I{ k~ $~ ], <) 1' |; J{ }; }; G; K{ R- L{ R- M{ M{ M{ N{ O{ P{ T* W- Q{ J= R{ S{ b{ T{ U{ V{ /& W{ W{ X{ $ X{ Y{ Z{ W{ W{ W{ `{ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ ] ] h% h% .] h% h% .] h% ~ ~ ~ ~ ~ +$ i{ i{ =, +] y) ;$ @] @] ;$ @] @] #] $* -$ $] %] %] %] %] %] $* &] @] y) H~ &= ]{ w{ x{ P% ]$ 6# N! 7~ =* <$ S% q; A{ -@ ,@ C) *] i+ M@ V. a~ n+ a. =] => j. #. q -] m. s+ ' B - c ( '' '' '' '' '' o. o. o. o. o. ", +" ;] >] ,] '] )] !] ~] ]) {] ]] H{ ^] ${ c! h~ c{ L; /] (] /, }) B> [> I; |; _] :] <] [] <] D; R* /- /- /- /- /- _; }] 0* 6= |] 0{ T* 1] 2] W- 7= 3] Q{ 4] `# 5] 6] 7] 6] 8] 9] 9] `# `# `# 0] a] b] b] b] b] b] b] b] b] b] b] c] c] c] c] c] c] c] c] c] c] c] c] c] c] c] c] c] c] c] c] c] b] b] b] d] d] ^& ^& ^& ^& ^& ^& X{ Y{ Y{ Y{ Y{ W{ W{ Y{ ]{ ]{ ]{ ]{ ,$ ,$ &= ,$ ,$ U= U= U= U= U= U= U= ,$ ,$ ]{ ]{ 4- %* r* e] f] g] h] i] j] l& O! =* <$ h# %> H@ =@ k] Z= d+ ~@ ({ U. ,% /@ o+ l] g. V E) u o 7 1 y A r# $ 3! m] '' '' '' '' '' o. o. o. o. o. ", +" >] n] o] p] q] r] y! s] t] u] v] 5{ w] c! x] _) Y- y] z] Y~ C> |> <) 1' |; G; A] [] F; F; ^- B] C] B] D] B] 4= E] R* F] G] _; }] M{ H] I] J] K] K] L] K] K] M] N] O] N] P] Q] R] Z# ]; ]; S] S] T] U] T] T] V] V] 7] 7] 7] 7] 7] 7] 7] 6] 6] 6] 6] 7] 7] 7] 7] 7] 7] 7] 7] 7] 7] 7] 7] 7] 7] 7] 7] 7] 7] 6] 6] 6] 6] 6] 8] 8] 9] 9] 9] `# `# `# `# `# a] W] % t, % % w{ w{ w{ w{ )$ )$ )$ )$ w{ w{ w{ w{ r* % X] !$ f] ~$ P% y{ Y] Z] q' `] @% +, 8~ y@ ^ .^ ,) +^ >@ )@ '; >= @^ #^ K~ 5$ 7. b. f. Z . _@ q ,= 6 | ' B . c l, $^ '' '' '' '' '' o. o. o. o. o. ", +" n] %^ &^ *^ =^ 1{ -^ y! ;^ >^ ,^ '^ 5) ${ @~ Q) )^ !^ z] ~^ k~ |> <) I; H; ~, <] T- {^ ]^ ^^ !- /^ /^ (^ (^ Q* _^ _^ 8* B] :^ <^ R* F] F] [^ G] }^ }^ }^ |^ [^ X# 1# 1^ 2^ 3^ 4^ u> u> 5^ 5^ O] O] O] O] N] N] N] N] 6^ N] N] N] P] P] P] 7^ 7^ 7^ 7^ P] P] P] P] P] P] P] P] P] P] P] P] P] P] P] P] P] P] P] Q] Q] Q] 8^ 8^ 8^ Z# Z# Z# Z# Z# Z# Z# ]; S] 8^ f] f] f] f] f] f] f] 9^ f] f] 9^ 9^ f] f] ~$ 0^ ~$ M! *= a^ y{ b^ c^ d^ +% e^ `] f^ O! 5- g^ g# h^ q; ,) *@ >@ i^ 0~ f+ {@ Q. ,' m+ w* a. e. h. F- j^ k^ y* 9 n= [ A r# $ 3! :{ '' '' '' '' '' '' o. o. o. o. o. ", +" %^ l^ m^ n^ =^ G{ r] -^ o^ p^ 4> H{ q^ r^ c! s^ d! t^ u^ v^ w^ Z~ A> 1' 8{ :] <] x^ y^ z^ A^ B^ C^ D^ E^ J& J& F^ D^ D^ G^ H^ 3= I^ J^ K^ K^ K^ L^ K^ K^ M^ N^ O^ P^ <# [# 3# }# }# 1# 1# 2# 2# 2# X# 2^ X# 2^ Q^ Q^ 3^ 3^ 3^ 4^ 4^ 3^ 3^ 3^ 3^ 3^ 3^ 3^ 3^ 3^ 3^ 3^ 3^ 3^ 4^ 4^ 4^ 4^ 4^ 4^ 4^ 4^ 4^ 4^ 4^ 4^ 4^ 4^ 4^ R^ u> u> u> u> u> u> u> u> u> e% 5^ 5^ 5^ t> {$ {$ {$ {$ {$ {$ {$ {$ {$ {$ S^ S^ y{ y{ b^ T^ U^ ]$ ;) Z] V^ W^ z) n; X^ Y^ O! Z^ e# <$ B@ i# Q! 1$ *@ >@ o& 0~ f+ {@ o# V. Z. `^ m= l] g. / .. ./ q w 4 | ~ B . c C{ m, '' '' '' '' '' o. o. o. o. o. o. ", +" %^ +/ @/ #/ $/ =^ 1{ %/ &/ */ u] =/ -/ ;/ ${ P) >/ ,/ u^ '/ Y~ Z~ )/ *~ !/ :] <] ~/ ^^ z^ {/ ]/ C^ ^/ // ^/ (/ _/ _/ // // // :/ :/ t* $@ e/ >@ o& 0~ f+ f/ M@ U. ,% + 5. c. `= Z Q@ R@ s g/ 7 1 h/ A B $ 3! :{ '' '' '' '' '' '' o. o. o. o. o. o. ", +" +/ +/ i/ j/ k/ k/ G{ l/ m/ n/ o/ =/ p/ ;/ q/ r/ s~ s/ t/ z] Y~ }) f! I; 8{ }; <] u/ q- v/ w/ x/ y/ z/ z/ A/ A/ A/ A/ B/ B/ C/ C/ D/ D/ E/ F/ F/ F/ G/ H/ H/ I/ I/ J/ K/ i- i- h- L/ M/ /= _# N/ O/ O/ P/ 5/ 5/ 5/ 7/ 7/ 7/ 7/ 7/ Q/ <# <# R/ <# <# <# <# <# 8/ S/ S/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 9/ 9/ 9/ 9/ 9/ [# [# [# 9/ 9/ 9/ 9/ 9/ 9/ T/ U/ W= 6# 6# 6# 6# 6# W= W= q' q' q' z) e^ e^ n; n; V/ N! W/ [! Y^ 7~ O! X/ Y/ e# Y= z@ h# i# F@ j# %@ Z/ ,@ )@ a+ f+ f/ M@ U. X. `/ 7. b. 6$ => ` +. u p 9 3 | ' %. b c l, $^ '' '' '' '' '' '' o. o. o. o. o. ", +" ( ( .( +( =^ k/ q] @( #( n/ o/ $( H{ ^] q/ %( @~ &( *( !^ I{ k~ f! <) 8{ :] y> ~/ =( -( ;( >( ,( B/ N* H& '( )( )( '( '( !( !( !( ~( ~( )& ~( )& ~( {( {( {( ]( {( {( ^( (= /( (= (( /* _( :( i- h- V# V# V# O- M/ M/ <( /= _# _# _# _# _# W# W# 4/ 4/ 4/ 4/ 4/ 4/ 4/ O/ O/ O/ O/ O/ 4/ O/ O/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ [( [( 5/ 5/ P/ P/ [( [( [( [( [( [( }( }( |( `] 9# n; z{ V/ 9# `] `] 1( /$ /$ /$ 2( l& ** ** Y^ ^{ 7~ 3( 4( #% 5( 6( $% x@ g# 7( }$ 6- 8( A{ u* n& =% D- 9( g+ f/ M@ U. X. 5$ 8. a. e. h. V E) #+ l. ,= 4 i ! A : $ 3! 4! '' '' '' '' '' '' '' o. o. o. o. o. ", +" p, 0( a( b( c( k/ =^ d( e( f( g( h( H{ 5{ 5' i( j( k( s/ u^ l( w^ |> <) z, _] [] ~/ q- m( n( ]/ o( L* !( p( q( r( r( q( F& r( F& F& F& '& s( t( u( 3* v( w( w( w( x( x( y( z( z= A( B( C( D( y= /( E( F( (= (= x= /* /* _( _( _( :( i- i- :( i- i- i- i- i- h- h- h- (# (# V# V# V# V# V# V# V# V# V# G( G( H( O- O- O- O- O- V# V# G( G( V# V# L/ V# V# V# V# V# V# V# V# V# (# V# I( ** ** a# a# Y^ Y^ Y^ Y^ Y^ @% 7~ 7~ J( 3( O! 4( +, K( 5- =* :$ L( x@ y@ [$ P! M( N( G@ 1$ O( T% >@ P( U% d+ Q( L@ M@ U. X. 5$ 8. a. P@ R( / @+ #. q v 7 n= h/ ' B - c ( '' '' '' '' '' '' '' '' o. o. o. o. o. ", +" p, S( T( U( V( k/ W( :- X( Y( Z( =/ `( ;/ _ ._ k( k( ,/ y] I{ $~ %~ z, +_ y> ]^ @_ ^- #_ $_ %_ &_ G& *_ '& =_ -_ ;_ >_ ,_ '_ '_ )_ E& E& !_ E& !_ !_ !_ ~_ {_ ]_ ]_ 9% ^_ s$ /_ (_ __ :_ .& ]# A( B( C( C( C( <_ y= y= /( /( /( /( E( F( F( (= (= (= (= (= [_ [_ /* [_ [_ x= (= E( }_ }_ |_ 1_ 2_ 3_ 4_ 4_ 4_ 5_ 5_ 5_ 5_ 5_ 5_ 5_ 4_ 4_ 3_ 2_ 2_ }_ }_ 6_ F( F( (= /* /* /* /* 7_ 1_ 3( 3( 3( 3( O! O! s* 4( 4( +, 8_ #% #% Z^ 5( =* 6( A) $% 9_ <$ p; 0_ B) a_ i# .^ b_ ;* c_ =@ d_ e_ o& 9+ e+ h+ f_ l= U. X. 5$ 8. ') d. g. Y Q@ @. s o 9 n= | ! g_ b % 3! S! '' '' '' '' '' '' '' '' o. o. o. o. o. ", +" h_ i_ j_ k_ k/ k/ l_ m_ n_ n/ o/ o_ H{ p_ q/ q/ 4> q_ r_ !^ ~^ 7{ )/ I; ~, y> !, s_ m( ;( t_ u_ v_ '( =_ =_ w_ x_ y_ z_ >& A_ B_ C_ z_ D_ E_ F_ G_ 7% H_ I_ I_ J_ I_ K_ L_ M_ N_ O_ p@ P_ Q_ q@ R_ (_ {# :_ S_ T_ U_ U_ V_ A( B( B( A( B( W_ T# T# T# W_ C( X_ Y_ __ Z_ `_ : .: +: X/ #% #% o; @: @: 5- 5- 5- 5- 5- m& m& m& m& m& m& m& m& m& #: o; o; #% o; X/ X/ c# $: %: &: *: Y_ Y_ X/ Z^ Z^ Z^ 5- 5- Y/ =: =* =* -: 8~ e# $% C- v@ Y= <$ y@ ;: [$ 7( C@ }$ >: 6- &% ;* ,: *@ J@ ': '@ D- a+ f+ ;% ): l= p& !: 5$ 8. ') d. )% Z . @. t %+ 0 m. | ~ A = $ c F) '' '' '' '' '' '' '' '' '' o. o. o. o. o. ", +" ~: {: ]: ^: /: (: _: :: <: q! g( h( [: ^] }: i( |: ,^ 1: !^ 2: k~ 3: 4: 5: <] 6: 7: m( #_ 8: 9: 0: a: |* -_ y_ b: c: d: 6% e: f: 6% g: h: 5% i: j: -& k: i: i: l: m: n: m: l: o: p: q: r: n@ s: t: u: p@ v: <* P_ Q_ r@ R_ R_ (_ {# __ __ __ w: x: y: +: z: A: 6( :$ :$ :$ :$ :$ :$ :$ 6( -: -: -: -: -: -: -: -: -: -: =* =* =* =* =* =* =* =* =* =* -: -: 6( 6( 6( 6( :$ :$ :$ A) A) B: :$ 6( e# e# e# C: L( $% L( v@ v@ w@ <$ l> y@ p; ;: D: E: 7( S% h^ M( @, N( F@ t* H@ F: +^ Z/ G: =% o& U% d+ g+ J~ ({ Q. V. ,% 8- 7. ') d. H: Z j. I: u p 0 m. E h/ J: B - s' 3! m, '' '' '' '' '' '' '' '' o. o. o. o. o. o. ", +" K: L: M: N: O: J! P: Q: H> f( Y( Z( R: 5{ S: q/ T: T: `( U: z] w^ $~ J; :) 1; ~/ q- -( V: W: X: Y: Z: F& `: `: d: < .< +< @< #< $< @< j: %< &< *< =< =< -< ;< >< 3% >< ,< >< '< )< !< ~< {< ]< ^< /< (< _< n@ :< ~# o@ t: v: v: << [< }< |< 1< Y= <$ $> 2< 2< <$ Y= Y= Y= w@ w@ v@ 3< g^ g^ g^ g^ g^ $% $% $% $% $% $% 4< 4< 4< 4< 4< 4< 4< 4< 4< $% $% g^ g^ g^ g^ g^ C- v@ v@ w@ f# x@ Y= 5< x@ x@ <$ l> 6< y@ y@ 7< ;: ;: %% %% [$ B) B) 8< S% h^ }$ -* %> 6- &% t* j# A{ O( =@ Z/ G: 9< 0< C) a+ a< h+ E- M@ N@ ,' Z. + 7. a. P@ 2! Z j. r+ u !% w 5 r; $. ' B b s' 3! S! '' '' '' '' '' '' '' '' '' o. o. o. o. o. ", +" L: K: b< c< d< /! /! e< f< g< n/ h< o_ i< ;/ j< T: k< l< r_ !^ I{ $~ )/ :) m< n< o< -( ;( p< q< r< s< t< B_ u< < e: h: v< w< x< -< y< z< A< B< C< D< E< F< F< F< G< H< G< I< n$ J< K< L< M< N< O< P< {< {< ]< ]< !# r: !# Q< R< >) %% E: S< T< [$ D: g# ;: ;: U< p; p; y@ y@ y@ y@ V< V< V< V< W< W< W< W< W< X< X< X< X< X< X< X< >) >) >) >) >) >) >) >) X< W< V< W< V< V< Y< p; p; p; y@ p; p; 7< ;: ;: g# D: D: B@ E: 7( P! S% S% Z< }$ M( -* -* %> q; |$ &% t* ;* A{ %@ u* e/ `< >@ =% 0< C) 0~ -% g+ f/ ({ l= [ B{ Z. .+ 6. .[ P@ g. Z +[ k. u !% ,= 5 @[ s+ ~ #[ r# % $[ 4! '' '' '' '' '' '' '' '' '' '' *. *. o. o. o. ", +" %[ &[ *[ =[ -[ ;[ >[ ,[ n_ q! g( h( '[ )[ }: ![ ~[ {[ s/ S: ][ ^[ H' /[ ([ n< :> _[ V: t_ :[ <[ s< [[ y_ }[ e: v< @< $< x< |[ k$ 1[ 2[ 3[ 4[ 5[ 6[ 7[ 8[ 9[ 0[ a[ b[ c[ d[ e[ M# f[ N# g[ N# h[ h[ i[ N< j[ O< O< k[ l[ m[ }$ -* }$ /{ C@ S% h# 7( 7( n[ B@ B@ o[ o[ D: D: %% %% g# g# g# p[ q[ q[ r[ r[ r[ r[ r[ r[ r[ s[ s[ s[ s[ r[ r[ r[ r[ r[ r[ r[ r[ r[ r[ r[ %% %% %% %% D: D: o[ D: D: t[ t[ n[ 7( u[ h# ^ /{ /{ /{ v[ w[ -* %> x[ q; y[ z[ A[ t* j# H@ #@ %@ u* =@ *% B[ ;' C[ o& C) D[ d+ E[ r' j+ F[ S. G[ H[ `. n+ 4. b. e. I[ Y j. r+ u J[ M~ 5 K[ | L[ #[ M[ $ c N[ m, '' '' '' '' '' '' '' '' '' o. *. *. o. o. o. ", +" O[ P[ Q[ R[ _: /: S[ T[ U[ f( Y( V[ R: W[ }: X[ Y[ k< Z[ t^ _ w^ `[ 4: } y> 6: _[ ;( .} q< +} Z: @} #} $} h: 4% %} &} *} =} 2[ -} ;} >} ,} '} '} ,} ,} G# )} )} !} i$ ~} J# {} c[ }% e[ M# ]} ^} /} /} ^} (} _} :} |$ |$ q; %> %> >: <} [} }} }$ |} 1} 1} /{ 2} 2} S% ^ ^ 3} 3} 4} 3} 3} 4} n[ 5} n[ n[ 6} 6} 6} 7} 7} 7} 7} 7} 7} 7} 7} 7} n[ n[ n[ n[ n[ 4} 4} l[ 4} 4} 4} 4} 3} 3} 8} 8} 9} 2} /{ 1} 1} |} [} 0} 0} E@ E@ .^ .^ 6- F@ a} b} c} ;* H@ #@ d} e} I@ f} T% d_ >@ ;= '@ )@ m> g} *] f+ |! {@ h} i} U. K~ Z. 8- w* m= j} 6$ k} X . I: u J[ M~ 5 K[ | L[ A M[ l} c m} m, '' '' '' '' '' '' '' '' '' '' o. n} *. *. o. o. ", +" o} p} q} r} C! /! s} t} f< u} &/ h< v} i< w} 5{ x} y} T: z} A} B} $~ )/ :) C} D} E} F} .} q< G} H} I} J} K} L} $< &} M} N} O} P} Q} R} S} T} U} V} W} X} Y} Z} `} F# | .| +| @| #| ~} J# {} $| $| %| &| *| 1$ 1$ H@ ;* c} b_ =| F@ F@ -| ;| .^ >| x[ >| ,| 0} [} }} }} }} '| '| |} |} )| m[ m[ 1} 1} m[ m[ m[ m[ !| !| !| !| !| !| !| !| ~| ~| ~| !| !| !| !| )| |} 1} )| |} |} {| '| '| '| '| [} 0} 0} ,| E@ E@ >| ]| .^ -| -| a} Q! b_ b_ c} ;* ^| 1$ /| k# u* (| _| T% n& >@ ,@ '@ 0< Z= k, 9( e+ f+ :| <| k+ o# S. ,' H[ `. .+ 7. a. [| q+ h. X . @. t q M~ 5 K[ $. y R! : N~ s' 3! D{ '' '' '' '' '' '' '' '' '' '' '' n} n} n} *. *. ", +" }| || 1| 2| 3| }& 4| ,[ 5| f( g( 6| '[ 7| 4{ 8| Y[ {[ 9| t/ v^ ^[ )/ :) 0| a| @_ F} b| 9: c| Z: d| e| f| g| $< h| k$ N} -} Q} i| S} U} j| k| l| m| m| n| o| p| q| r| q| s| r| t| +| `} u| #| Y@ V+ v| f} u* e} ,: /| w| 1$ ;* ;* c} b} b_ Q! Q! x| F@ F@ y| ]| z| z| z| >| >| _} 0} 0} 0} 0} A| 0} 0} [} B| B| B| B| B| B| '| '| '| '| '| '| '| '| B| A| B| B| B| B| A| A| 0} 0} 0} C| >| >| >| ]| ]| ]| D| -| D| E| a} F| b_ b} G| H| H| I| J| K| ,: L| L| u* -@ Z/ ;@ M| k] e_ P( o& C) 9+ c+ e+ N| h+ J~ O| M@ P| V. B{ Z. p# Q| 4. p+ R| `= => S| @+ _@ T| !% w U| 2 | y R! = V| s' 3! m] '' '' '' '' '' '' '' '' '' '' '' '' n} n} n} *. *. ", +" W| X| Y| Z| P: `| 1 .1 +1 f( Y( V[ @1 #1 w} $1 x} k< %1 &1 y] *1 3: 4: m< =1 o< -1 ;1 W: Y: H} I} J} >1 ,1 -< M} '1 )1 Q} !1 ~1 {1 ]1 l| ^1 m| /1 (1 _1 :1 <1 [1 }1 |1 11 21 p| 31 41 51 61 71 81 91 01 -@ =@ a1 b1 L| c1 /| /| K| I| d1 e1 G| H| c} f1 f1 b_ g1 F| =| E| E| E| h1 ]| ]| -| ]| ]| >| >| z| i1 i1 i1 i1 i1 i1 i1 i1 i1 i1 i1 i1 i1 i1 i1 i1 z| z| z| z| i1 j1 h1 h1 D| D| D| D| D| k1 g1 F| F| l1 m1 n1 G| o1 ;* ,) p1 p1 q1 ,: v| r1 s1 (| _| T% ;@ B[ t1 ;= ,; u1 )@ C) v1 '; e+ f+ |! f/ @^ >% w1 p& x1 y1 1! /@ z1 0. A1 e. )% Z ` @+ _@ T| !% w U| 2 | y J: = . s' 3! F) '' '' '' '' '' '' '' '' '' '' '' '' o. n} n} n} n} *. ", +" B1 C1 D1 E1 d~ k' 4| F1 f< X( &/ h< v} i< w} G1 H1 I1 {[ J1 U: B} $~ <) 5: K1 L1 M1 N1 O1 P1 Q1 R1 S1 T1 U1 V1 k$ N} -} W1 X1 Y1 Z1 `1 2 .2 +2 @2 #2 $2 }1 %2 &2 *2 =2 -2 ;2 >2 ,2 '2 )2 !2 ~2 {2 ]2 ^2 {2 /2 (2 T% _| _2 :2 L| r1 <2 v| [2 q1 p1 p1 d1 I| }2 e1 H| G| G| *| |2 m1 12 22 22 22 32 22 42 42 42 g1 g1 k1 k1 k1 52 k1 k1 k1 k1 k1 k1 k1 k1 52 52 k1 k1 g1 42 42 42 22 22 62 12 12 12 12 72 82 e1 e1 e1 }2 }2 I| p1 92 q1 02 a2 b2 b1 c2 d2 e2 f2 /2 M| g2 h2 i2 j2 i^ Z= k2 D[ l2 m2 f+ :| 4$ j+ ({ w1 n2 ,' o2 m+ + `^ p2 a. d. q+ g. q2 +[ r2 #. s y* w 7 K[ | y ' = . s' 3! F) '' '' '' '' '' '' '' '' '' '' '' '' '' n} n} n} n} n} ", +" s2 t2 u2 v2 w2 O' 4| ,[ 5| f( x2 6| '^ 7| ]] y2 8| z2 9| A2 _ 7{ B2 :) }; ~/ _[ C2 8: D= D2 E2 F2 G2 H2 I2 =} J2 3[ i| K2 L2 M2 N2 O2 P2 _1 Q2 R2 S2 T2 U2 -2 V2 V2 W2 X2 Y2 4+ Z2 `2 3 .3 +3 @3 #3 $3 %3 g2 G: B[ ;@ &3 *3 *3 e2 d2 L| L| b2 <2 02 [2 q1 =3 =3 I| I| }2 -3 ;3 ;3 >3 ,3 ,3 ,3 82 '3 '3 '3 '3 '3 '3 '3 '3 '3 '3 )3 )3 )3 )3 !3 !3 !3 !3 '3 '3 '3 '3 '3 '3 '3 '3 ,3 ,3 ,3 ,3 ,3 ~3 ~3 {3 ;3 {3 =3 {3 [2 q1 [2 a2 b2 ]3 :2 d2 _2 ^3 f2 !2 /3 (3 g2 _3 i2 :3 i^ <3 [3 }3 |3 9( m2 13 >= 4$ 23 33 43 R. p& B{ y1 5$ 53 7. m= b. P@ `= h. V Q@ 63 #. s %+ w 73 3 $. y ] = . s' s; 83 '' '' '' '' '' '' '' '' '' '' '' '' '' '' n} n} n} n} n} ", +" 93 03 a3 b3 c3 S[ 1 .1 d3 e3 n/ V[ @1 #1 #1 f3 H1 g3 T: h3 i3 7{ j3 k3 l3 m3 7: x/ .} 9: n3 o3 p3 q3 r3 s3 M} t3 u3 v3 w3 Z1 x3 y3 +2 z3 A3 B3 S2 C3 D3 E3 F3 G3 G3 H3 I3 J3 K3 L3 M3 N3 O3 P3 3 Q3 R3 S3 S3 T3 U3 _3 (3 V3 W3 X3 f2 f2 f2 e2 Y3 c2 ]3 ]3 b2 <2 Z3 [2 [2 [2 `3 =3 =3 =3 {3 ~3 ~3 ~3 ~3 ~3 ~3 4 4 4 >3 >3 >3 >3 ,3 ,3 ,3 ,3 >3 >3 >3 >3 >3 >3 >3 ~3 4 ~3 ~3 ~3 {3 .4 `3 .4 `3 `3 `3 [2 [2 a2 +4 ]3 ]3 @4 c2 c2 #4 e2 $4 f2 f2 X3 %4 V3 &4 T3 *4 =4 -4 ;4 >4 ,4 '4 )4 !4 m2 13 :| ~4 {4 @^ ]4 ^4 ^@ /4 X. (4 _4 w* 4. a. d. 6$ g. i. ` Q@ @. u $+ o 0 4 :4 $. ~ A = . s' s; 83 m, '' '' '' '' '' '' '' '' '' '' '' '' '' o. n} n} n} n} n} ", +" <4 [4 }4 |4 ]' 14 24 34 44 54 &/ h< v} 64 74 84 94 04 a4 b4 A2 c4 d4 X~ e4 a| o< f4 g4 h4 r< i4 j4 G2 k4 l4 m4 n4 o4 ,} U} M2 N2 .2 P2 Q2 B3 p4 q4 D3 r4 s4 t4 u4 v4 w4 x4 y4 z4 A4 B4 C4 D4 N3 E4 F4 2+ 3+ G4 H4 *4 I4 J4 U3 T3 g2 K4 %4 /3 X3 L4 f2 $4 $4 e2 {2 #4 c2 M4 N4 N4 81 +4 <2 <2 a2 O4 O4 P4 P4 P4 P4 `3 `3 `3 .4 Q4 Q4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 `3 `3 R4 R4 P4 P4 P4 S4 T4 +4 +4 +4 +4 U4 N4 @4 #4 #4 V4 W4 X4 X4 L4 !2 Y4 Z4 %4 `4 5 .5 +5 @5 8+ #5 $5 %5 ,4 &5 l2 !4 *5 =5 -5 ;5 >5 ,5 '5 w1 )5 !5 ~5 ,* 5$ {5 z1 o+ ]5 R| `= h. / . E) _@ u !% v 9 4 E $. ~ A = . s' s; 83 m, '' '' '' '' '' '' '' '' '' '' '' '' '' '' n} n} n} n} n} ", +" ^5 }4 /5 (5 W, _5 :5 F1 <5 q! g( h( '^ 74 [5 }5 |5 15 25 Z[ 35 45 55 e4 65 ~/ 7: p- 9: n3 H} [[ 75 r3 85 95 05 a5 ~1 U} l| .2 P2 _1 $2 b5 c5 d5 e5 f5 t4 u4 g5 h5 i5 j5 k5 l5 y4 m5 A4 B4 n5 o5 p5 q5 F4 r5 s5 t5 u5 $5 ;4 8+ v5 w5 .5 x5 y5 `4 %4 Z4 Z4 !2 X4 X4 X4 X4 %3 V4 V4 #4 z5 N4 A5 B5 C5 C5 D5 D5 D5 D5 D5 D5 D5 D5 S4 S4 +4 +4 +4 +4 +4 +4 +4 +4 +4 D5 D5 D5 D5 N4 N4 U4 U4 N4 N4 A5 A5 E5 E5 F5 F5 %3 %3 X4 G5 H5 H5 I5 I5 J5 K5 y5 x5 L5 M5 J4 u5 N5 N5 O5 P5 Q5 '4 R5 S5 T5 U5 V5 W5 X5 Y5 Z5 `5 6 .6 +6 @6 !: #6 `/ `^ $6 %6 &6 P@ `= => V @+ k. #+ s p ,= *6 =6 E $. z A : . s' s; 83 m, '' '' '' '' '' '' '' '' '' '' '' '' '' '' o. n} n} n} n} n} ", +" -6 ;6 >6 ,6 '6 )6 !6 ~6 {6 X( n/ o/ @1 #1 v] ]6 94 $1 25 Z[ ^6 /6 3: (6 0| _6 :6 <6 [6 }6 |6 E2 J} r3 16 26 36 !1 46 56 66 .2 76 Q2 86 q4 96 e5 06 a6 g5 b6 c6 d6 e6 f6 g6 h6 i6 j6 k6 l6 m6 B4 n6 o6 p6 |+ q6 r6 s5 s6 Q5 t6 P5 u6 N5 u5 +5 v6 .5 L5 x5 w6 x6 K5 I5 I5 y6 H5 G5 X4 S3 S3 z6 #3 S3 F5 F5 A6 E5 E5 E5 E5 A5 A5 E5 E5 ]2 ]2 ]2 ]2 ]2 ]2 ]2 E5 E5 E5 E5 A5 E5 E5 E5 E5 A6 %3 %3 %3 %3 #3 S3 S3 G5 G5 B6 H5 I5 I5 K5 K5 K5 x5 C6 C6 v6 +5 @5 D6 E6 F6 O5 M3 G6 H6 I6 J6 S5 K6 U5 V5 L6 M6 N6 O6 P6 Q6 R6 S6 T6 U6 V6 W6 X6 Y6 Z6 `6 ++ 7 .7 => W @+ @. #+ q o 0 5 3 i +7 ' A : N~ s' 3! 83 m, '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' o. n} n} n} n} ", +" @7 #7 $7 %7 &7 *7 =7 -7 n_ q! h< ;7 64 7| >7 ]6 ,7 15 b4 '7 )7 !7 3) ~7 n< {7 f4 .} ]7 ^7 /7 a: (7 _7 :7 <7 [7 }7 |7 66 /1 17 A3 86 27 37 e5 f5 47 a6 57 d6 67 77 87 97 07 a7 b7 c7 d7 e7 f7 m6 g7 h7 o6 i7 J3 j7 k7 l7 m7 '4 n7 o7 O5 F6 p7 N5 D6 +5 v6 C6 q7 q7 y5 `4 K5 K5 %4 y6 I5 H4 G5 G5 G5 G5 S3 S3 S3 S3 S3 z6 z6 z6 z6 z6 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 z6 z6 s7 s7 s7 t7 t7 t7 B6 H4 B6 I5 I5 I5 x6 K5 u7 u7 v7 C6 C6 w7 x7 x7 D6 p7 N5 O5 P5 %5 n7 y7 z7 A7 B7 z4 K6 C7 D7 E7 F7 N6 O6 G7 H7 I7 S6 J7 K7 L7 M7 N7 O7 P7 Z6 Q7 l] R7 S7 T7 ` U7 V7 ./ q v 9 4 n= $. ~ ' %. = - c 3! W7 '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' n} n} n} n} n} ", +" ^5 X7 Y7 Z7 d) `7 8 .8 +8 .! Y( h( @8 7| #8 $8 H1 %8 a4 &8 *8 =8 /, -8 1; L1 ;8 p- o( >8 ,8 '8 )8 !8 ~8 {8 ]8 ^8 /8 ^1 n| (8 _8 :8 c5 37 <8 06 [8 }8 |8 18 28 38 48 58 68 97 78 88 98 08 a8 b8 l6 c8 h7 n6 [+ d8 J3 e8 f8 I6 g8 h8 i8 n7 j8 k8 O5 E6 p7 D6 l8 Z2 x7 m8 C6 3 x5 x5 v7 K5 K5 J5 n8 I5 I5 H4 H4 H4 G5 G5 o8 o8 o8 p8 p8 p8 p8 p8 p8 p8 p8 p8 p8 p8 p8 p8 p8 o8 o8 H4 q8 q8 H4 q8 q8 n8 J5 J5 w6 v7 r8 3 3 C6 s8 s8 t8 x7 l8 u8 v8 E6 w8 x8 i8 y8 H6 H6 z8 A8 B8 K6 C7 C8 D7 E7 F7 D8 E8 F8 G8 I7 H8 I8 J8 K8 L8 M8 N8 O8 P8 %6 Q8 R8 R7 S8 )) T8 @+ 63 U8 r %+ w 6 1 $. ~ V8 %. r# - c 3! W7 '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' n} n} n} n} n} ", +" W8 X8 Y8 Z8 `8 `7 9 !6 .1 .9 +9 @9 o_ #9 @1 $9 }5 %9 15 25 q_ &9 *9 =9 -9 a| 7: <6 ;9 >9 ,9 '9 )9 r3 16 !9 ~9 {9 j| ^1 ]9 z3 ^9 /9 d5 37 <8 <8 (9 _9 :9 <9 [9 }9 |9 18 48 58 19 97 78 88 29 39 j6 49 59 c8 c8 69 79 89 89 99 09 a9 b9 c9 h8 y8 y8 n7 o7 d9 e9 N5 v8 l8 t8 t8 t8 m8 m8 s8 f9 q7 r8 r8 G4 t5 v7 g9 g9 J5 J5 n8 n8 n8 n8 n8 q8 n8 n8 n8 n8 J5 h9 J5 J5 J5 J5 n8 i9 i9 n8 g9 g9 w6 g9 g9 j9 r8 k9 r8 f9 s8 s8 l9 t8 t8 u8 v8 m9 n9 w8 o9 p9 x8 q9 r9 c9 s9 t9 B7 u9 a8 C8 v9 w9 x9 y9 z9 A9 B9 C9 D9 E9 I8 F9 G9 H9 #6 I9 J9 K9 L9 M9 N9 R8 O9 P9 Q9 R9 U7 63 U8 r F w *6 n= } ~ A : b $ c 3! W7 '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' o. n} n} n} n} ", +" S9 T9 U9 V9 O' W9 *7 =7 H> X9 n/ F> '[ 7| f3 $9 Y9 g3 |: Z9 `9 0 .0 +0 @0 L1 #0 $0 %0 ^7 E2 &0 r3 *0 =0 -0 ;0 >0 m| ,0 '0 )0 q4 d5 !0 <8 ~0 {0 ]0 ^0 /0 (0 _0 :0 }9 <0 |9 [0 }0 |0 I. 10 88 20 30 40 50 60 59 c8 69 70 80 89 90 00 a0 m5 s9 b0 c9 y7 c0 x8 x8 d9 w8 w8 m9 N5 v8 v8 d0 l8 t8 s8 s8 s8 e0 k9 k9 r8 k9 k9 k9 r8 r8 r8 f0 f0 j9 g9 g9 g9 g9 g9 g9 f0 f0 f0 f0 r8 k9 k9 k9 k9 f9 g0 g0 l9 l9 l9 l9 h0 i0 t8 d0 v8 v8 F6 F6 w8 p9 p9 j0 k0 k0 y7 c9 s9 A8 l6 a0 k6 a8 l0 m0 n0 o0 p0 q0 r0 s0 G8 D9 t0 u0 v0 w0 K8 x0 y0 z0 A0 P8 B0 M9 C0 D0 E0 F0 q2 G0 H0 j^ ./ r j I0 *6 J0 K0 ~ L0 : . M0 N0 3! 4! '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' n} n} n} n} n} ", +" O0 P0 Q0 R0 S0 T0 U0 V0 W0 m/ X0 @9 Y0 Z0 ! `0 y2 a G1 ![ '7 &9 .a +a 65 L1 @a ;1 #a $a /7 %a &a *a =a -a ;a >a L2 ,a '0 'a )a !a 37 ~a {a ]a ^0 ^a /0 /a (a (0 _a :a Va Wa Xa i< -/ $9 Ya 8| $1 25 Za `9 `a b .b +b @_ <6 [6 }6 @b #b $b %b &b *b =b -b ;b y3 '0 >b /9 ,b 'b )b !b ~b {b [. ]b ^0 /a /a ^b /b _a _0 _0 (b :9 _b :b c ,c 'c Q2 _8 )c !c ~c {c ]c ^c /c <. (c (c _c :c &d ! o/ #1 *d `0 }5 8| =d -d &1 &9 ;d >d ,d 'd )d !d ~d {d ]d ^d /d (d _d :d e $d ,e 'e .! Wa v] p_ ]6 )e !e g3 .c Za ~e {e ]e ^e /e (e s- ;9 _e :e e $d f .f #8 +f #1 @f #f $f 8| %f &f *f =f l( -f ;f 8{ >f ,f 'f )f !f ~f {f U1 ]f ;c ^f /f (f _f _8 B3 [8 :f I 4d g ,g 'g >e .8 [, )g G1 !g p/ `0 ~g c I1 {g Za `9 c4 ]g ^g /g (g _g :g >8 h ,h 'h )h !h ~h U0 {h ]h ^h /h '^ 8| (h _h |5 :h -d q_ &9 y] i ,i =h %g %g Ve &g n. o. $^ '' '' '' '' '' '' '' '' '' '' '' '' o. `c `c `c `c `c ", +" 'i )i !i ~i {i ]i #d ~h ^i x- `b @f /i /i #f `0 (i _i {g :i j ,j 'j )j _h !j 'g ~h .1 f3 G> ~j p/ {j (h ]j !e %8 ![ ^j &9 .a #c ;f e4 /j (j _j :j i @k =h %g Ve Ve &g *. #k '' '' '' '' '' '' '' '' '' '' o. `c `c `c `c ", +" $k %k &k *k !h `e Sa $d )e ]h =k Z9 ]] -k ;k }5 Y[ .c Z9 k ,k 'k )k 4i !k 3h 6i ~k {k ]k ^k [d /k (k _k 8g :k 4d 4d ci ci a ;l >l ,l 'l )l !l :k 4d ci ~l i ,i =h =h %g Ve n} n. Il '' '' '' '' '' '' '' '' o. `c `c `c `c ", +" Jl Kl ,j Ll Ml ;e Wk ~h Nl 94 a Ol Z9 {h Pl ]j x} {[ Ql m 4k (l ,m :l 'm 'm )m !m ~m {m }l ]m ak ^m /m (m _m :m n 'm ,n 'n )n ~m !n ~n ]m ^m ^m {n ]n ^n /n xj 5l 5l bl bl 6m mk 6l kk kk ng hj 9l 9l si 3m (n ij 2m hk hk hk hk }m jj jj jj }m }m jj jj _n _n _n _n _n 1m 1m _n _n _n jj }m }m ck }m }m :n 2m 2m o 2n 1n /n al 6m ,o 5m 5m [n [n [n 9l 9l 3m :m :m :m :m 2m 2m :n :n :n 'o 'o 'o }m }m }m }m }m }m }m }m 'o 'o 'o 'o 'o 'o :n :n :n )o )o i @k =h $g $g Ve n. o. '' '' '' '' '' o. rn rn rn `c `c ", +" do eo Kl fo 'g ;e Wk >e f y2 a An go ho io jo ko z2 Za lo y] mo /g no Om @_ oo po Wl [j Tm qo ro so to uo vo (k Zm Rn wo xo 7e ci ci p in jn ,p 'p )p !p 7o 8o ~p {p 9o Bl Cl #j @h Xc 9$ v+ ]p T@ [@ [@ on on u+ ^p p. Bm Cm Nk Zj k Hl -j -j ,i ,i =h =h %g &g &g o. #k '' '' '' '' `c rn rn rn `c ", +" /p (p _p :p y] ]i `e Wk

8 5p Kn 6p 7p 8p 9p 0p ap bp (k Zm ,l cp (. 4d ci ci q `b ,q 15 'q -k )q !e k< !q ~q Cn {q I; |i ]q =( C2 ^q ,9 /q (q _q :q 9p p Tp Up Iq Jq Kq Xp Yp Lq Zp Mq Nq 9o Bl Cl 8 5 Oq ]% =. *+ E v+ T@ D Pq Qq on on g p. t+ ao Gl Zj k Rq -j +k #q * Sq %g Tq &g &g o. $^ '' '' `c rn rn rn rn ", +" Uq Vq Wq Xq Yq Zq `q =q r )e {j P; Z9 Yk 'q io $f x} {[ A2 lo l( .r +r A] @r Hn ^q #r $r %r &r *r =r -r ;r [q ap >r ,r Rn 'r )r !r ci 0h p qr Up Iq rr 'p sr !p Lq tr ~p `p ur vr `f 8 8 U| 5 ]% ]% =. Y% E v+ wr @q [@ zm on u+ g p. Bm Cm Nk `j k -j -j ;i #q @k =h %g $g n} n. m, '' n} rn rn rn rn ", +" xr yr zr Ar c4 Im Br Cr Dr Er H1 zn Fr Gr ;q Hr (i I1 9| &1 Ir [i Jr Nm n< =( Kr Lr :[ p3 Mr Nr Or Pr Qr Pr [q Rr }q Sr Tr `m Ur 0g 9h 0h }k Vr zo zo dp dp dp dp ~r ~r ~r ~r 2q ~r ]r {r {r {r fp 5q Wr Xr Yr ^r Zr 8q /r `r s .s :r bq np +s @s @s |r eq #s $s $s 1r %s up up 7k rq Ap 'n 'n oq oq 5r mq yp mq 7r %o %o Oo lq lq lq jq &s jq jq jq jq jq *s *s *s *s *s *s *s *s *s *s *s *s *s *s jq jq jq jq jq jq jq 2r lq lq lq =s sp %o -s 7r -s mq 8r oq oq 9r qq qq ;s >s ,s 's )s !s uq uq ~s {s br yq cr ]s fr fr ^s /s fp (s _s :s ir t ,t 't )t !p 6s !t Zp Al j ~t ~t Pb 9s x 0s 8 U| ]% ]% 3 =. *+ ]p T@ @q @q {t on pn Am p. Bm Gl ]t Zj `j .k +k ;i >i =h Dm %g $g n. n. rn ^t rn rn rn ", +" /t (t _t :t 4p t ,t Pt )p !p 6s Lq Qt Rt St Ma Tt ~t ~t Pb x Ut 8 U| Oq ]% Vt =. 1 v+ ]p D [@ zm on on g t+ 0o Gl Nk `j Wt .k -j >i >i *h %g $g &g n. -h ^t ^t rn rn ", +" Xt Yt Zt `t .a !h u .u +u }5 !e %f @u #u Xk $u %u Y[ &u *u Ir =u -u ;u Om {/ >u #r :[ ,u 'u )u !u at ~u {u ss ]u ^u /u (u _u ct :u 9g bh ei t ,t Au Bu Xp Cu 8o $i Du Eu Fu St St Tt Gu ~t Pb 0s 8 8 as 5 Hu a =. Y% v+ } @q [@ on on u+ g Bm Cm Gl Zj k Rq -j -j ,i * *h =h &g `c Iu Iu ^t rn ", +" Ju Ku _t Lu .c *q Br Wk Lm y2 8| ,q _h Mu hs Hr js Nu Ou ^6 Pu .0 Qu Ru Su Tu Uu p< Vu Wu Xu =r Yu at Zu {u ss ]u ^u `u ,r v .v +v @v #v bh v ,v pt pt 'v 'v Js )v rt 8u 8u bu !v tt tt au ~v {v Bt cq cq Rs Ps Ps Ps At At At fu fu fu xt eu du du du ]v du zt zt yt yt yt yt yt yt yt yt yt yt yt yt yt yt yt yt yt yt du du du du du xt fu fu fu gu At At |r |r ^v ^v /v {v i Sq %g Ve Iu Iu Iu ^t ^t ", +" hv iv jv e4 Bn kv lv |t mv y2 a Ol Xk ho nv ov 3t pv qv ls rv {q ms sv tv >u uv os vv wv xv yv zv Av Zu Bv Cv Dv bp /u ,r v Ev Fv @v 3j bh Gv 4j Hv Hv =m 3q Un 2q ft }u ]r zs }u ]r ]r ]r Iv Jv As |u 1u Kv %v Lv Mv Nv Ov -v Pv ;v >v Qv Rv pt 'v 'v Sv Tv Uv gu 8u Vv Wv tt tt au au Xv hu w su Ht $t ,w 'w )w !w ~w {w &t ]w ^w Nt 4s 0v /w av 5s Au )p (w _w _w Yd dv dv .h .h ev Fu St j Gu ~t Pb 9s :w 0s 7 Oq ]% =. =. *+ E ]p [@ [@ on pn u+ g t+ Cm v qw rw sw 'v 'v 'v Sv Uv tw uw uw vw ww xw yw yw zw qt hu @w /v /v Aw ^v qt At gu gu gu w fu bu bu Bw du du du Ms Ms Ms Ms Ms Ms Ms Zv Cw Cw Cw Dw tt tt Ms Ms Ms Ms Ms Ms Ms Bw bu bu bu Ew Ew gu gu Fw Fw qt qt .w Sv /v Gw @w @w Hw Iw Iw Jw _v Kw #w [v Lw $w |v Mw &w *w =w Nw Ow Ow ;w 3v Pw >w su tu 6v ,w Qw Qw !w ~w Rw Sw ]w Tw Nt Uw Vw Ww Xw Yw Zw `w x (w .x +x Tj Qe dv +j .h .h Eu St @x Tt Tt fv 9s x 0s as #x ]% a 3 Y% E v+ } [@ zm on $x ^p p. Bm ao Zj `j Hl Hl bs ,i Sq ^t Iu Iu Iu Iu ", +" %x &x iv *x lo ;e =x -x gs y2 |5 -d $f ;x >x ,x %u 'x T: )x !x ~x {x ]x ^x Hn /x 16 (x _x :x xv yv zv dw ew g Sx Tx z2 Ux .u Vx #f !e g3 ![ -k Wx Xx 2t 3t Yx qv ls Zx `x y .y tv +y @y #y $y %y &y *y =y t4 -y ;y >y 2d ,y 'y vo )y !y Zm ~y {y /. ]y !r ^y Fo /y Xn (y (y (y _y _y Cs Cs :y %v :y :y %v v 2y 3y 4y 5y 'v Tv tw 6y uw 7y vw !v !v 8y au au 9y 0y 0y 0y ay by cy dy 9y fu bu du Ms Ms `v Dw Cw Cw ey fy fy fy gy gy gy hy hy iy iy iy iy jy jy jy jy jy jy jy jy jy jy jy jy iy iy iy iy hy ky ky ky ky ky ly ~v ~v ey Cw Cw Dw Ms `v Xv vw bu Ew w gu Uv qt Aw /v Gw @w px px qx my Kw ny sx $w }v ux Mw [y wx =w -w it ;w As gt ru Gt Ht $t oy py }s |s qy ry 1s 4o sy ty uy vy vy wy xy xy yy zy Ay By Cy Dy (w Ey Yd Fy Fy l n Gy Hy Hy F Iy M~ Jy 0 Ky U| ]% 0$ Ly Y% My T@ Ny {t {t <@ Oy 0o Gl Zj Pk -j -i Py Py Iu Iu ", +" Qy Ry Sy Ty w^ Uy Vy Wy Xy ]6 go L' 25 |p Yy Zy `y z .z +z /6 @z #z $z %z &z uv *z =z -z ;z >z ,z 'z )z V2 F3 !z ~z {z ]z ^z /z (z _z :z A u q. ,A 'A )A !A ~A {A ]A ^A /A (A _A 8$ S@ :A B >B ,B ,B =B =B =B =B =B =B VA 'B 'B )B $B %B #B TA TA @B @B @B SA !B !B ~B {B {B ]B ^B /B MA (B _B :B IA , IB s/ Cr JB KB LB c I1 MB )q NB Xx OB PB QB RB 0A SB TB UB VB WB 75 XB XB YB ZB `B C ]1 .C +C @C _1 #C _8 R2 )c $C c5 %C %C f5 &C *C *C =C -C ;C -C >C kd ,C 'C 'C 'C 'C )C )C )C !C ~C ~C {C ]C ^C /C (C _C :C =] =D -D ;D mB >D ,D 'D )D !D ~D wB {D ]D ^D (A /D (D _D :D E MD ,E 'E )E )E HD !E ~E {E ]E ^E /E (E _E :E } ,} -F -F T} ;F |7 # >F >F b@ >F >F '2 b@ ,F ,F ,F 'F )F !F ~F ~F {F ]F ^F /F (F _F :F G ,G i} #^ T. V. K~ Y. 'G )G !G ~G {G ]G ^G /G (G _G AE :G DE & B& oG oG pG qG %< *< *< B< l$ y< k$ N} h$ rG sG -# #| -# -# -# tG -# uG -# vG wG xG yG zG yG yG AG BG CG DG EG FG GG HG IG JG KG LG MG NG OG PG QG QG RG SG TG TG TG TG TG UG VG VG WG WG XG YG ZG `G H H .H H +H @H TG #H #H #H #H $H $H $H %H %H $H $H $H $H &H &H $H $H *H =H =H =H =H -H -H -H $H $H $H $H &H &H $H $H $H %H %H %H %H ;H >H #H #H #H #H TG @H ,H 'H )H SG SG !H !H ~H ~H {H ]H ^H ^H MG /H (H _H :H IG 4 n7 qH qH v# rH sH tH uH vH wH :| i+ xH yH zH AH BH CH DH EH C* FH GH HH IH _G JH KH LH o, MH NH KE Py ", +" %x OH PH ;/ +c QH ]i RH & &I z_ z_ d: *I =I =I O# O# -I <% -I -I -I ;I ;I ;I ~< >I ,I 'I )I !I ~I {I ]I ^I /I (I _I :I J >J 02 ,J 01 'J )J ^3 (2 !J ~J h2 {J ]J ^J /J (J _J :J K ,K ,K ,K ,K 'K 'K 'K )K )K )K )K )K )K )K )K )K )K !K !K !K !K !K !K !K )K )K )K )K )K )K 'K 'K 'K ~K ~K ~K ~K ,K >K ;K -K -K =K -K -K -K =K =K =K {K `J ]K ]K ]K ^K /K (K _K :K | oK pK qK b_ c} ;* ,) rK d} O( sK tK uK vK wK xK yK zK AK BK CK DK EK FK GK HK IK JK %[ 9J ;] KK LK aJ LE Py ", +" MK 6{ NK vn |p OK PK QK 'g Zq r xn RK SK SK SK TK TK UK UK VK W9 )6 WK 9 ZK 7> 7> `K L )6 _5 !6 8 *7 G, <- `* `* c' .L a' +L +L M> @L #L $L %L &L *L =L -L ;L 6& >L ,L 'L )L !L ~L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L ]L ^L /L (L _L :L M ,M 'M )M !M ~M {M ]M Py ", +" ^M /M (M NK vn |p OK PK QK 'g Zq r xn RK SK SK SK TK TK UK UK VK W9 )6 WK 9 ZK 7> 7> `K L )6 _5 !6 8 *7 G, <- `* `* c' .L a' +L +L M> @L #L $L %L &L *L =L -L ;L 6& >L ,L 'L )L !L ~L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L ]L ^L /L (L _L :L M ,M 'M )M !M ~M {M _M :M ", +" ZK 7> 7> `K L )6 _5 !6 8 *7 G, <- `* `* c' .L a' +L +L M> @L #L $L %L &L *L =L -L ;L 6& >L ,L 'L )L !L ~L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L ]L ^L /L (L _L :L M ,M 'M )M !M ~M {M _M LE ", +" |M 1M [M ,^ z2 ;x UK 2M >e 3M VE ]j SH Jm QH 4M SH 5M TH 6M 7M w^ 8M 9M 0M aM bM L1 oJ cM dM eM Q- o- }6 7* P* fM ^/ // // gM I& B= hM z/ A/ iM 5* x( x( y( y( jM kM lM lM mM nM nM nM oM pM qM pM pM rM sM tM uM uM vM iM wM xM xM yM ^K ZJ zM AM BM BM CM DM EM 'K FM FM GM GM HM HM IM JM KM KM KM KM LM MM MM MM NM OM PM PM PM PM NM QM !K RM RM RM JM JM SM SM TM TM MM MM MM MM MM MM MM MM UM UM UM UM UM UM UM UM UM MM MM VM VM MM MM !K VM WM XM YM ZM ZM ZM ZM ZM ZM `M `M `M N `M `M `M .N +N @N #N =K K ;K $N {K {K %N ]K ]K ^K /K &N *N E/ =N -N ;N ;N >N rM ,N 'N )N lM !N ~N 0% {N bK BJ BJ /_ eK ]N ^N /N u: ~# _< r: r: ^< l@ (N _N :N k[ O ,O aI 3I 5I tI uI 2I 3I 'O BI P >P ,P 'P )P )P !P !P !P ~P ~P {P {P {P ]P ,P ^P =P =P =P =P -P -P -P ;P ;P ;P ;P ;P /P (P (P (P (P (P (P (P (P (P (P (P _P _P _P ;P ;P :P

Q >Q >Q >Q >Q ,Q 'Q 'Q 'Q )Q !Q ~Q {Q ]Q ^Q /Q (Q (Q (Q _Q :Q ;R >R ,R 'R )R !R ~R {R ]R FB ", +" v, ^R vO z2 /R (R .u _R :R 2R E= P1 D2 &_ yN WP 3R 4R 5R 6R 7R 8R Wm 9R 0R aR bR cR X1 dR {1 eR fR gR hR hR iR jR kR lR mR nR oR pR qR C3 qR pR rR rR pR pR rR sR tR uR uR vR vR wR wR xR yR ID JD ,E ,E zR AR AR BR CR YD %E DR ER FR FR GR GR HR IR JR IR KR LR MR NR OR PR PR PR QR QR QR RR SR TR TR TR UR VR TR LR WR LR LR LR LR LR LR LR LR LR LR LR LR XR XR XR XR XR XR XR XR XR XR XR XR LR KR YR ZR `R S .S .S +S #K @S .S @S @S .S #K #K @S #K #K #K #K #K #S &K #S $K #K $S %S &S GD *S *S ID =S =S -S ;S ;S ;S >S ^E ,S ,S ,S 'S )S zD !S ~S {S ]S ^S /S (S 4E 4E _S :S T ,T ,T 'T )T !T ~T ~T {T ]T ]T ^T /T /T /T (T _T :T 9: D= UT /7 VT (7 85 WT -a yS XT YT ZT `T U .U +U @U #U $U LS MS %U yR &U *U =U =U =U -U ;U >U ,U 'U )U !U 'U (C ~U GC /C /C {U ]U ]U {U ]U ]U ^U /U (U _U :U :U V QB .z ,V 'V )V WH !V sS ~V N1 E= D= Q1 I} {V ]V 85 95 -a yS -b ^V /V (V _V :V W ,W 'W :V )W IS #U #U $U !W !W ~W PS QS {W 3V ]W ]W ^W /W (W _W :W VS VS jT T >T >T 'T 2T gW hW iW jW kW kW kW (T lW lW mW mW nW oW pW pW qW qW qW iW jV rW sW sW sW sW tW tW tW tW tW tW tW tW tW tW tW tW tW tW tW tW uW eQ vW vV vV wW vV wW wW wW xW yW vV !P 'P 'P wV wV yV yV yV xV xV yV yV yV yV yV xV xV AV 3I zW YA AW BW BW BW CW CW 3W DW EW FW GW DC HW IW EV ^U ^U IU IU IC KC KC LC OU JW KW QU PC LW 1m |m ck bk ij 9l MW oh qi NW OW PW QW RW SW TW DA UW kg gg VW WU Hf WW Og Pg ZU XW 8B Gc QV Ie aB Fb dB YW ZW UV `W U $A X =A -. .X +X '= @X ]M ZV ", +" #X V[ ^R p^ $X VE %X &X Yy y} %1 *X =X sN dG lJ *X ~/ 7: -X 8: ;X c| R1 [[ T1 >X ,X 'X )X !X XT ^V ZT ~X {X ]X ^X gR /X iR jR (X _X :X :X Y ,Y 'Y )Y UW Gh <0 (0 TC !Y ~Y ^a WC {Y BT `C V +V FT Q8 fB iB $V ]Y &V ^Y /Y KT T| a- '* '* ]R ", +" (Y _Y '[ ! c Xk .u :Y 6: M1 p- O1 2Y c| 3Y 4Y 5Y 6Y 85 26 7Y 8Y 9Y 0Y -W aY bY +Q #Q cY dY eY eY fY fY fY fY gY hY hY hR iY jY kY kY kY lY lY mY mY nY nY mY CR CR oY pY pY qY rY sY tY tY uY uY vY wY xY xY xY yY zY zY AY BY CY DY DY DY EY FY FY FY FY GY GY GY HY IY 6T 6T JY KY KY KY LY MY NY NY OY OY PY PY QY QY RY RY SY TY TY UY TY TY VY VY WY WY WY WY WY WY WY WY UY UY UY UY UY XY 0Q YY ZY YY 7T hI 7T `Y `Y `Y iI iI iI iI iI iI VN VN iI iI VN VN VN VN VN VN Z Z VN VN Z .Z bI yY vY vY +Z @Z @Z #Z #Z $Z $Z %Z %Z %Z `D `D &Z *Z =Z -Z ;Z >Z >Z >Z ,Z 'Z )Z rR !Z ~Z {Z ]Z ^Z rD (S /Z (Z _Z :S :Z |S W CS zZ AZ BZ CZ DZ EZ EZ EZ FZ FZ FZ FZ GZ HZ HZ HZ IZ IZ IZ JZ KZ LZ MZ NZ NZ OZ PZ QZ RZ RZ RZ SZ TZ UZ VZ VZ WZ XZ WZ XZ YZ ZZ `Z ZZ `Z ` .` +` @` @` +` #` #` #` $` %` %` &` *` *` *` =` =` =` =` =` =` -` -` -` ;` .` .` .` .` .` .` .` .` >` >` >` >` >` >` >` .` .` ` ` ,` '` `R )` )` !` ~` ~` {` {` ~` ~` ~` {` HM ]` ]` ]` HM ^` ]` ]` HM HM HM HM HM !K !K HM HM !K /` %K (` OZ _` :` OZ <` [` [` }` KZ KZ KZ |` |` 1` 2` 3` 3` 4` 5` 6` 7` zQ 8` AQ CQ 9` 0` a` HQ IQ JQ b` LQ MQ c` OQ d` e` f` mR jY jY /F g` lR h` i` j` k` l` C3 m` n` o` p` q` r` s` C8 t` x9 u` v` H7 H8 w` L7 x` 3. @D y` z` A` cZ B` C` D` 0- ~% :D ", +" E` q! ;^ yn jo qN F` &X Xx G` y} H` zO I` J` 35 l( 3' C> [) {, ~, U- F; y^ K` L` $_ M` Y: N` @} O` P` WP 6Y Q` 4R R` R` S` T` T` U` U` U` V` W` W` U` X` Y` Z` `` MO MO .. .. .+ .@ .@ .# .$ .$ .$ .% .& .* .= .Y` - .xV ; .> ., .' .xU ) .! .QX QX ~ .~ .{ .] .] .^ ./ ./ .( .( ._ ._ .: .: .: .< .< .[ .[ .[ .[ .} .| .| .| .1 .| .1 .2 .2 .2 .2 .2 .2 .3 .3 .3 .3 .[ .( .( .( .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .5 .6 .7 .8 .8 .8 .8 .8 .8 .9 .9 .9 .9 .9 .9 .9 .9 .9 .9 .0 .a .b .b .b .b .b .b .b .b .b .b .b .c .d .e .f .AU AU AU AV AV yV g .= .= .h .i .j .% .k .@ .l .m .n .n .o .p .q .+P P 8P r .s .t .u .v .cP w .w .6H x .y .z .A .+| B .C .CZ D .E .F .G .{Q H .!Q I .J .K .K .21 11 ,2 L .7+ M .L3 )4 N .O .F7 ,5 P .Q .mE *R R .S .hS T .HT U .V .W .)* :D ", +" X .Y .Z .94 0G hJ ` .KB VE QE PB ..,..,..,..'..'..)..)..!..~..~..{..{..]..^..]..]..MJ bT NJ OJ /..dT dT (.._..:..:..wM WJ yM ^K zM AM BM +K $S EM EM #K %K GM !K !K RM IM KM KM MM MM MM NM NM NM NM <..<..<..[..[..[..[..}..}..}..|..|..}..1..1..2..3..3..3..4..4..4..4..4..5..5..3..6..7..7..7..7..7..7..7..8..8..8..8..8..8..8..8..8..7..9..0..a..b..b..c..c..b..d..d..b..c..d..d..d..d..d..d..d..e..e..d..d..e..e..e..e..WM f..WM g..h..$O i../` +K >K >K $S .K K j..j..zM YJ YJ k..VJ l..TJ (..cT m..NJ ]..n..o..p..q..r..s.. %..=+.u/ ^^ m( -+.-+.V: ;+.>+.,+.,+.'+.,+.'+.)+.)+.)+.!+.~+.;X {+.]+.^+./+.(+._+.]+.C] >+.>+.:+.:+.<+.[+.[+.}+.|+.|+.1+.2+.3+.4+.5+.6+.6+.7+.7+.8+.9+.0+.a+.0+.0+.0+.b+.b+.c+.d+.d+.d+.d+.e+.e+.f+.g+.g+.h+.i+.i+.j+.j+.j+.j+.j+.k+.k+.k+.l+.l+.l+.l+.m+.n+.n+.n+.n+.n+.n+.n+.o+.n+.p+.g+.q+.q+.q+.r+.r+.r+.r+.r+.r+.q+.q+.r+.r+.r+.q+.r+.s+.t+.u+.v+.v+.v+.v+.v+.v+.v+.v+.v+.v+.v+.w+.w+.v+.v+.w+.w+.v+.v+.v+.x+.x+.v+.x+.x+.y+.z+.x+.z+.A+.B+.C+.D+.7+.E+.F+.6+.6+.c .3+.2+.2+.G+.G+.H+.}+.I+.<+.:+.J+.]+./+.K+.L+.M+.N+.O+.P+.Q+.R+.R+.S+.T+.U+.V+.W+.X+.FJ EJ ^_ Y+.Z+.^..`+.>_ ,& NN LN E& JN B_ D_ J_ @.CN >I .@.+@.n$ @@.L# z# X@ #@.$@.h2 u1 %@.sH &@.*@.$R =@.-@.;@.X..>@.,@.gN +- ]R ", +" '@.d3 %! 6> Gr )@.SK !@.Ml 4A 4A Xy *q Br >e ~@.'g Jm {@.]@.Wk Wy `e Xb ^@./@.(@.(@.Br _@.Br Br Xb ^@.^@.:@.<@.(@.^@.[@.DL ^@./@.xL wL uL Vk *q }@.|@.1@.qL 2@.3@.4@.iL 5@.0; 6@.pL ,L dL aL 9L 7@.8@.5L oL nL 9@.0@.}L a@.b@.c@.d@.e@.f@.g@.h@.{L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L i@.j@.g@./L k@.l@.m@.n@.o@.p@.c@.c@.c@.q@.q@.b@.r@.s@.c@.q@.q@.s@.t@.t@.t@.u@.v@.v@.v@.w@.1L 1L x@.x@.y@.3L 4L 4L mL 4L z@.A@.A@.A@.B@.B@.7L C@.D@.E@.F@.F@.G@.G@.H@.iL PK I@.PK I@.SK J@.K@.L@.}@.M@.#; N@.-L uL O@.zL AL BL P@.EL 8> GL Q@.0' R@.S@.T@.U@.V@.LL L 7> S' W@.X@.Y@.Y@.Z@.`@.,[ #..#..#.+#.@#.##.$#.F, 7) o! N= %#.vO &#.*#.=#.-#.f% ;#.>#.^{ 6( ;: ,#.'#.2$ )#.N| k+ !#.~#.{#.]#.]M ", +" ^#./#.s} .9 Nl ho )@.(#._#.QH QH QH |t :#.(@.=q DL Xb (@.<#.;e ;e `q [t [#.}#.|#.*q kv 1#.7G Im Im !j ,g !j xL wL !j wL 2#.zL 3#.3#.tL ,g 4#.|#.5#.L@.1@.J@.qL 2@.3@.4@.iL 5@.0; 6@.pL ,L dL aL 9L 7@.8@.5L oL nL 9@.0@.}L a@.b@.c@.d@.e@.f@.g@.h@.{L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L i@.j@.g@./L k@.l@.m@.n@.o@.p@.c@.c@.c@.q@.q@.b@.r@.s@.c@.q@.q@.s@.t@.t@.t@.u@.v@.v@.v@.w@.1L 1L x@.x@.y@.3L 4L 4L mL 4L z@.A@.A@.A@.B@.B@.7L C@.D@.E@.F@.F@.G@.G@.H@.iL PK I@.PK I@.SK J@.K@.L@.}@.M@.#; N@.-L uL O@.zL AL BL P@.EL 8> FL 6#.HL IL 7#.S@.8#.9#.JL KL 0#.a#.a#.b#.c#.c#.d#. L e#.f#.g#.g#.h#.i#.j#. #.M' k#.l#..; m#.fZ n#.o#.p#.q#.r#.s#.X# 6# Y^ t#.u#.6- O( {J v#.w#.x#.y#.z#.A#.]M ", +" B#.^= C#.X9 D#.Gr Jm E#.F#.4A 4A aG Ml Im 'g >e ~@.'g G#.{@.Wk Wk Wy `e H#.BL ^@.(@._@..u lv lv Br lv <@.lv I#.DL ^@.^@.[@.DL Xb ^@.J#.wL uL Vk |#.M@.QK TK 2@.K@.3@.4@.iL 5@.0; 6@.pL ,L dL aL 9L 7@.8@.5L oL nL 9@.0@.}L a@.b@.c@.d@.e@.f@.g@.h@.{L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L i@.j@.g@./L k@.l@.m@.n@.o@.p@.c@.c@.c@.q@.q@.b@.r@.s@.c@.q@.q@.s@.t@.t@.t@.u@.v@.v@.v@.w@.1L 1L x@.x@.y@.3L 4L 4L mL 4L z@.A@.A@.A@.B@.B@.7L C@.D@.E@.F@.F@.G@.G@.H@.iL PK I@.PK I@.SK J@.K@.L@.}@.M@.#; N@.-L uL O@.zL AL BL P@.[@.K#.1, @; a' R@.S@.T@.L#.M#.|, a#.f#.W@.6; N#.O#.P#.Q#.i#. #..#.R#.S#.T#.##.$#.U#.=k `) V#.[: a= PP Q& i% W#.X#.Y#.Z#.O/ `#. $..$.+$.$@ 2$ @$.#$.$$.%$.&$.{#.KK ]M ", +" *$.=$.0) -$.x- hs Ml mN ;$.>$.=X ,$.'$.1p x} /R z2 )$.3D h3 $+.35 !$.~$.{$.3' |) [) ]$.{, J{ 7w F; ^$./$.m( #_ ($._$.$_ :$.<$.<$.<$.[$.D2 D2 }$.}$.+} r< |$.|$.1$.2$.CM 3$.3$.4$.FM 2$.2$.5$.5$.5$.6$.7$.%S 8$.8$.9$.9$.0$.a$.b$.c$.nQ d$.d$.e$.e$.f$.g$.h$.h$.h$.i$.i$.j$.k$.l$.l$.m$.n$.o$.o$.o$.o$.o$.p$.q$.q$.q$.r$.r$.r$.r$.s$.t$.t$.t$.u$.u$.u$.u$.v$.v$.w$.w$.x$.x$.x$.x$.x$.y$.u$.p$.p$.p$.p$.p$.p$.p$.p$.p$.p$.p$.p$.p$.p$.p$.p$.p$.z$.A$.B$.C$.D$.D$.D$.A$.A$.D$.D$.D$.A$.A$.E$.E$.E$.E$.E$.E$.E$.E$.F$.G$.G$.H$.I$.I$.F$.f+.f$.a .f$.e$.d$.d$.oQ nQ mQ b$.b$.J$.K$.L$.M$.N$.O$.P$.QM Q$.R$.4$.3$.3$.%N ^K ^K :K S$.T$.1K NJ MJ U$.JJ V$.HJ Z+.W$.X$.Y$.Z$.KN `+.`$.ON ON %..%.`: JN C_ +%.HN @.oG qG @%.#%.H..$%.%%.&%.*%.=%.-%.E# ;%.+C jA b0 >%.P6 ,%.'%.R .+D (G )%.A#.!%.]M ", +" ~%.{%.s} Y .++.io <%.[%.^$.}%.|%.n( 1%.2%.3%.$W 4%.5%.6%.7%.)..8%.'..8%.~..9%.~..9%.9%.0%.0%.0%.a%.b%.c%.d%.d%.e%.aT aT UN nI f%.oI g%.g%.h%.i%.j%.k%.k%.l%.m%.m%.n%.o%.o%.p%..S q%.q%.r%.s%.t%.~` u%.u%.u%.v%.w%.x%.x%.y%.z%.z%.z%.A%.A%.B%.B%.C%.C%.C%.D%.D%.E%.E%.F%.F%.F%.G%.G%.G%.G%.H%.H%.H%.H%.I%.I%.I%.J%.J%.J%.J%.D%.z%.z%.z%.z%.K%.K%.K%.K%.K%.K%.K%.z%.z%.z%.z%.y%.D%.L%.o$.L%.M%.M%.M%.M%.M%.o$.o$.p$.p$.p$.o$.o$.p$.p$.p$.p$.p$.N%.N%.O%.O%.O%.O%.P%.8 .q%.q%.q%.Q%.Q%.Q%.R%.o%.n%.n%.S%.T%.l%.YN j%. Z U%.V%.g%.oI mI bI 0I 8I 5I 4I W%.X%.AI BI Y%.EI /I Z%.`%. &.~I .&.Z` E..+&.@&.#&.$&.# .@ .. .NO tZ tZ %&.&&.*&. P ZO =&.-&.4[ ;&.>&.,&.'&.Y} )&.p| !&.>2 ~&.~&.{&.>2 ]&.^&.w` /&.x` (&._&.:&.<&.[&.!%.]M ", +" ~%.v= s} Y .l#.io hJ PT }&./%.|&.1&.|> 2&.3&.4&.i3 #..{$.C, B, ], z> 5&.[%.6&./$.-X 7&.8&.9&.0&.a&.b&.c&.d&.e&.f&.g&.h&.i&.j&.k&.l&.m&.n&.n&.n&.o&.p&.p&.p&.q&.q&.r&.s&.s&.s&.UG t&.u&.u&.u&.XG XG XG ZG v&.-P w&.x&.y&.'P y&.p&.tU tU sU MX z&.A&.B&.JX C&.D&.E&.E&.F&.F&.G&.H&.I&.J&.K&.J&.J&.J&.L&.M&.N&.N&.N&.N&.N&.O&.P&.P&.O&.P&.P&.Q&.R&.R&.S&.R&.T&.T&.T&.T&.U&.U&.T&.V&.V&.V&.V&.V&.W&.J&.J&.K&.K&.K&.K&.K&.K&.K&.K&.K&.J&.J&.J&.J&.I&.X&.Y&.Z&.Y&.`&.`&.Y&.Y&.`&.`&.Y&. *.`&.`&..*.Y&.Y&.`&.`&..*..*.`&..*..*.+*.!` q%.@*.z&.z&.z&.KX z&.MX tU ]P #*.$*.%*.'P 'P x&.w&.&*.&*.`G *P VG UG $H &P **.**.=*.OG ]H -*.;*.>*.,*.'*.)*.!*.~*.2` {*.]*.^*./*.(*._*._*.IZ IZ HZ 3` :*.eY :Q <*.[*.G .{Q }*.|*.,Q 1*.2*.]F 3*.4*.5*.6*.7*.7*.r4 r4 8*.9*.$C D3 58 O8 0*.FT dB ,R a*.b*.c*.~% ", +" y+ B; s} Y .[, ~g SH d*.yO XH [R e*.oJ *( f*.g*. 0 3' ^, ], h*.G; x^ *..}%.n( 1%.i*.4%.6%.j*.k*.l*.m*.n*.o*.p*.q*.r*.r*.s*.t*.u*.v*.w*.w*.x*.x*.x*.y*.y*.z*.z*.z*.A*.B*.rF C*.eF eF D*.E*.D*.F*.B*.B*.G*.H*.6Q I*.I*.J*.K*.bQ L*.dQ M*.N*.N*.O*.O*.P*.Q*.Q*.R*.R*.S*.S*.T*.U*.U*.V*.W*.W*.X*.Y*.Y*.Y*.Z*.`*. =..=.+=.+=.+=.@=.#=.$=.$=.$=.$=.$=.$=.%=.%=.%=.&=.&=.&=.*=.*=.*=.*=.*=.==.==.==.-=.;=.X*.X*.X*.X*.X*.X*.X*.X*.X*.X*.X*.X*.X*.X*.>=.W*.,=.F&.G&.'=.'=.G&.G&.G&.G&.G&.G&.G&.)=.)=.G&.G&.G&.G&.G&.G&.G&.G&.!=.!=.!=.~=.{=.]=.]=.^=./=.(=._=._=.M*.M*.cQ :=.J*.J*.I*.7Q 6Q 5Q jF hF 2Q |Q dF }Q <=.[Q [=.zW yF 6F }=.|=.1=.tY 2=.3=.4=.5=.KF *Z 6=.7=.;Z QF 8=.$Z 9=.@E pY _X CR BR 0=.a=.b=.c=.j` d=.d=.1X e=.f=.g=.uD h=.i=.i=.j=.k=.l=.b6 m=.06 %C n=.^a SV o=.p=.,D q=.r=.0- X% ", +" s=.B; c) Y .Km t=.u=.:Y v=.w=.x=.f! R- y=.ls $..z=.^, n~ A=.%..^$./$.B=.C=.D=.E=.F=.G=.d&.H=.I=.J=.K=.L=.M=.N=.O=.P=.P=.Q=.R=.S=.S=.T=.T=.U=.V=.W=.X=.Y=.Z=.Z=.Z=.`=. -.9=..-..-.UD UD UD WD WD XD +-.@-.JR #-.$-.%-.&-.*-.RR =-.--.;-.>-.,-.'-.'-.)-.TY !-.!-.~-.{-.]-.^-.OY /-.(-.PY PY _-.:-.QY RY <-.[-.[-.}-.}-.|-.|-.1-.1-.1-.1-.2-.2-.2-.2-.3-.2-.3-.4-.4-.5-.5-.5-.5-.6-.6-.6-.6-.7-.8-.9-.0-.0-.0-.0-.0-.0-.0-.0-.0-.0-.0-.0-.0-.0-.0-.0-.a-.b-.c-.d-.e-.f-.f-.e-.g-.e-.d-.e-.e-.e-.f-.f-.f-.d-.d-.d-.d-.d-.h-.i-.(-.j-.TY TY TY k-.l-.,-.,-.m-.UR TR SR RR n-.n-.%-.o-.MR LR JR GR p-.q-.DR %E r-.s-.t-.u-.v-.w-.w-.x-.y-.z-.A-.B-.C-.D-.E-.[E 3X F-.1E G-.`X H-.bX 9X UX VX I-.6X J-.K-.L-.M-.N-.O-.ZS XS [W P-.!U Q-.R-.S-.;Y T-.U-.V-.5Z W-.b6 X-.$C Y-.Qd Z-.`-. ;.r=..;.+;.1G ", +" @;.#;.14 X( .; $;.u=.:Y I` %1 +z nJ B^ ~^ %;.&;.*;.], |; U- 6&.=;.-;.;;.>;.E=.,;.';.);.!;.~;.{;.];.^;./;.(;._;.:;.<;.<;.[;.};.|;.1;.2;.3;.4;.5;.5;.6;.6;.6;.7;.7;.8;.9;.bX 0;.0;.0;.a;.a;.b;.a;.b;.c;.'T !T {T d;.e;.f;.g;.h;.i;.j;.k;.1T l;.l;.m;.n;.o;.o;.xX xX yX AX p;.BX BX BX q;.r;.r;.s;.s;.t;.t;.u;.v;.w;.w;.x;.x;.x;.y;.y;.y;.z;.z;.A;.A;.A;.B;.B;.B;.B;.C;.C;.C;.C;.C;.C;.C;.D;.E;.E;.E;.v;.F;.F;.F;.F;.F;.F;.F;.F;.F;.F;.F;.F;.F;.G;.G;.G;.H;.I;.J;.K;.L;.M;.K;.K;.K;.L;.K;.K;.L;.K;.L;.L;.K;.K;.L;.L;.L;.N;.yX O;.P;.O;.Q;.Q;.Q;.R;.1T 1T 1T S;.[T T;._T U;.V;.V;.d;.]T {T 2T 'T W;.X;.X;.;T Y;.cW cW 0W Z;.`;. >..>..>.BW 3W |U +>.@>.EU DV ^U IU #>.MU $>.2U 5U %>.&>.CV *>.*>.=>.:U (U (U ->.;>.>>.,>.'>.)>.!>.~>.DA DA {>.]>.^>.-Y U-./>.(>.a6 r4 A3 _>.:>.<>.tB [>.G- }>.q& ", +" @;.|>.b) +! F, Hr 4D 1>.2>..z =u eM m- |> 3>.4>.B> `~ 5>.F; /$.6>.7>.8>.4%.j*.9>.0>.a>.~;.b>.c>.d>.e>.f>.g>.h>.i>.j>.k>.l>.m>.n>.o>.p>.n>.q>.r>.s>.t>.t>.t>.u>.u>.v>.w>.x>.9W cV 0W dV dV y>.y>.y>.y>.0U aU z>.A>.A>.A>.B>.C>.gU D>.E>.jU mV mV mV F>.G>.H>.H>.I>.J>.J>.K>.K>.K>.L>.M>.N>.O>.P>.Q>.P>.Q>.Q>.R>.S>.S>.S>.T>.T>.T>.U>.U>.V>.V>.V>.V>.W>.W>.W>.W>.X>.X>.Y>.s;.s;.s;.s;.s;.s;.s;.s;.s;.r;.Z>.`>.`>.`>.`>.`>.`>.`>.`>.`>.`>.`>.`>.`>.`>.`>.`>. ,.`>..,.+,.@,.G;.F;.F;.G;.F;.F;.F;.F;.F;.F;.F;.#,.G;.p;.$,.%,.%,.%,.%,.&,.&,.&,.lU *,.kU =,.-,.;,.jV >,.>,.pU pU oU cU ,,.',.),.!,.y>.~,.~,.{,.],.^,./,.(,._,.:,.VA )B <,.[,.[,.},.OA |,.1,.1,.2,.IA 3,.ez }B 4,.5,.6,.7,.8,.},.},.9,.0,.0,.a,.b,.NV c,.d,.e,.f,.g,.h,.i,.j,.k,.l,.m,.n,.Q-.o,.(>.pA p,.q,.o| 6d `g T| aJ a- IE )* ", +" r,.s,.b) .9 )g Yk rN t,.u,.x=.!/ `H m- J; v,.w,.], z> <%.x,.K` n( 1%.y,.6%.z,.A,.H=.B,.C,.D,.c>.E,.e>.F,.G,.h>.H,.k>.I,.J,.K,.L,.o>.M,.q>.N,.j;.u>.O,.P,.u>.Q,.w>.w>.R,.S,.0W 0W T,.0U U,.U,.U,.U,.U,.aU ',.V,.V,.B>.B>.gU D>.sW iW iW mV F>.F>.G>.G>.H>.I>.W,.J>.X,.K>.Y,.L>.M>.Z,.N>.P>.P>.P>.R>.`,.`,.`,.T>. '. '. '..'..'.V>.V>.V>.V>.V>.V>.+'.W>.W>.W>.W>.W>.s;.@'.s;.s;.s;.s;.s;.t;.t;.t;.t;.#'.$'.O;.O;.O;.O;.O;.O;.O;.O;.O;.o;.o;.o;.O;.O;.O;.O;.O;.`>.$,.O;.%'.AX p;.p;.&'.p;.p;.*'.='.p;.='.p;.yX $,.-'.;'.-'.oW H>.%,.%,.G>.&,.&,.&,.&,.lU *,.=,.=,.;,.jV iV >,.>,.>'.V,.cU ',.aU ),.!,.,'.~,.~,.''.)'.!'.(,._,.~'.{'.{'.]'.^'.[,./'.{B ('._'.:'.<'.['.sz sz }'.|'.5,.6,.1'.2'.3'.4'.5'.NA 0,.KA 6'.7'.8'.d,.9'.0'.g,.a'.e,.b'.RW a,.c'.P-.d'.e'.f'.g'.h'.i'.j'.ty q. 0- 0- '= '* ", +" k'.l'.'e .9 $8 LB m'.I` EO V- $0 ;+.*~ #..n'.[) {, 5>.o'.p'.q'.7>.>;.E=.r'.s'.t'.u'.v'.w'.x'.y'./;.z'.A'.B'.C'.D'.E'.F'.E'.G'.H'.I'.I'.J'.K'.L'.J'.M'.M'.N'.O'.P'.Q'.Q'.R'.dW x>.S'.x>.S'.S'.T'.eW U'.,T V'.W'.gW iW jW jW X'.Y'.Z'.`'.`'. )..)..). ,. ,.+).+).@).@).#).R>.T>.T>.$).U>.U>.U>.%).+'.W>.W>.X>.W>.Y>.s;.s;.t;.t;.#'.&).&).w;.w;.w;.w;.*).y;.y;.y;.y;.y;.y;.y;.y;.y;.=).z;.z;.z;.z;.z;.A;.F;.p;.p;.p;.p;.p;.p;.p;.p;.p;.p;.-).-).-).-).;).;).>).yX yX yX yX zX AX p;.p;.p;.='.p;.yX xX @).O;.Q;.O;.,).').').').)).)).!).~).~).{).{).]).]).H>.H>.G>.mU mV iW iW tW iU gU >,.fU eU T'.z>.aU U,.U,.,'.~,.{,.^)./).()._)._,.:,.WA :).:).<).{B PA OA MA _B ['.[).}).|).1).5,.6,.6,.^'.2)./'.3).4).5).6).7).8).c,.9).0).a).NV b).;>.c).)U d).N-.f=.e).^9 (8 f).bR RC g).h).H- o= z* ", +" c$ 14 @! .9 1p LB i).j).&+.), k).l).:) z} u+.m).n).A, o).p).q).|%.C=.D=.0&.r).z,.s).t).u).v).w).x).y).z).A).B).C).C).C).D).E).F).G).H).I).H).H).I).I).J).K).K).L).M).N).O).P).jX jX jX kX i;.i;.Q).R).S).T).tX tX U).V).W).X).Y).='.Z).`). !..!.+!.+!.@!.@!.#!.#!.$!.A;.A;.%!.&!.*!.*!.=!.-!.-!.;!.;!.;!.>!.>!.,!.,!.SY '!.'!.)!.)!.!!.!!.!!.!!.!!.!!.~!.[-.[-.[-.[-.[-.[-.[-.}-.}-.}-.}-.}-.}-.{!.{!.[-.K;.]!.]!.]!.]!.^!.^!.^!./!./!./!./!./!./!./!.(!./!./!./!.(!.(!.(!._!._!.:!..aV 2W [U :U (U j!.k!.;>.l!.m!.n!.j!.}W o!.d).p!.q!.sR r!.NS s!.GS Z1 2[ L .t!.!%.!%.+- z* ", +" :% u!.v!..9 1p rN w!.j).x!.x, o~ y!.z!.A!.#..u+.4>.B!.C!.D!.%z E!.=;.F!.7>.G!.H!.I!.z,.J!.K!.L!.M!.N!.O!.P!.Q!.y'.d>.R!.S!.T!.U!.V!.W!.U!.U!.X!.Y!.Z!.`!.`!. ~. ~..~.+~.@~.DY #~.$~.;-.%~.&~.&~.*~.=~.-~.;~.>~.MY NY ,~.a-.'~.)~.!~.~~.{~.]~.^~./~./~.(~.(~.7-.7-.7-._~.:~.<~.[~.}~.|~.|~.|~.1~.1~.2~.3~.3~.4~.4~.4~.Y*.Z*.Z*.Y*.5~.6~..=..=..=.7~.7~.7~.8~.8~.8~.+=.+=.+=.+=.9~.9~.9~.9~.9~.9~.9~.9~.0~.Z*.g-.g-.g-.g-.g-.g-.g-.g-.U*.U*.U*.g-.g-.e-.e-.e-.S*.S*.c-.c-.e-.c-.a~.b~.b~.b~.a~.c~.d~.e~.f~.f~.d~.g~.g~.g~.g~.h~.h~.^~.b-.i~.j~.k~.k~.l~.m~.QY QY a-.n~.o~.NY p~.p~.WY UY k-.*~.,-.q~.r~.=-.s~.$-.NR t~.u~.+-.p-.DR r-.v~.w~.x~.y~.z~.LD A~.y-.z-.C-.C-.B~.C~.D~.E~.F~.G~.H~.I~.I~.aX 9X J~.K~.L~.K-.M-.O-.`S O-.M~.N~.O~.N~.P~.Q~.R~.LS IS S~.Z1 X1 ^8 T~.*< U~.0- t; 0- z* ", +" Z@ d3 d3 .9 1p 4D i).j).3: V~.W~.oJ !/ J1 35 &+.X~.Y~.Z~.&~ `~. {..{.x,.=;.|%.+{.@{.>;.#{.${.%{.&{.l*.K!.L!.*{.={.={.-{.-{.;{.>{.,{.,{.'{.'{.M=.=` =` =` ){.){.-` -` !{.~{.{{.]{.]{.,` ,` ,` ,` ` .` @` ^{.&` =` -` !{.~{./{.({._{.:{.:{.<{.[{.[{.}{.|{.|{.1{.1{.1{.2{.2{.3{.4{.4{.4{.5{.6{.6{.6{.7{.7{.M&.M&.M&.M&.8{.9{.9{.9{.9{.0{.0{.a{.a{.a{.a{.a{.a{.P&.S&.b{.b{.b{.b{.b{.R&.R&.R&.R&.R&.R&.R&.R&.R&.K&.I&.I&.I&.I&.I&.I&.I&.I&.H&.H&.H&.c{.c{.c{.c{.c{.)=.)=.G&.G&.G&.G&.'=.'=.'=.d{.d{.d{.d{.d{.e{.f{.f{.f{.g{.g{.h{.i{.i{.j{.j{.:{.k{.k{.,=.l{.m{.m{.m{.n{.-` -` ;=.;` o{.^{.p{.q{.Q*.P*.(=.(=.r{.s{.t{.u{.6Q 5Q jF iF fF |Q <=.[Q v{.zW yF vQ w{.x{.2=.2=.y{.EY CY zY zY z{.A{.|;.B{.C{.sY D{.E{.F{.CR G{.OS yR b=.}V }V b=.H{.I{.J{.K{.L{.^X M{.N{.O{.P{.&< Q{.R{.+- o> H- '= ", +" S{.T{.u!.8) +#.1t U{.5M 4) V{.#~ U) *~ |&..W A!.*X W{.X{.Y{.m).Z{.`{. ]..].+].@].#].$].%].+{.&].8>.*].=].-].;].>].>].>].,].'].)].!].~].h&.a>.~].{].]].]].^].1 ./].1 .(].3 .3 ._].:]._]._].5 .5 .<].< .[ .| .[].}].3 .|].1].2].2].3].3].4].5].6].6].7].7].8].9].9].0].0].a].a].b].c].c].d].d].e].e].f].g].g].h].h].i].i].h].j].k].k].k].k].k].l].l].l].l].l].G%.G%.G%.G%.G%.G%.G%.G%.G%.H%.H%.H%.H%.H%.H%.I%.G%.m].m].m].m].m].m].m].m].m].m].m].y%.y%.n].n].n].o].o].o].p].p].p].p].q].q].q].q].r].`&.`&.Y&.Y&.Z&.Z&.Z&.Z&.s].t].t].t].u].4].v].v].w].x].y].z].A].A].|].B].C].2 .1 .D].E].F].@*.5 .G].H].LX I].#*.$*.)P ,P >P -P *P WG J].K].**.L].M].OG _` N].MZ }` O].P].O].UZ Q].R].S].T].U].V].W].X].rF aF 0F fY Y].5F Z].<*./Q `]. ^..^.+^.@^.#^.$^.P{.A< &&.g| %^.&^.*^..;.o> H- o= ", +" =^.-^.;^.+1 +#.>^.:Y NB :, B2 55 ,^.3: 9G UE }R RT .W EO *X W{.'^.)^.Y{.m).7D Z{.`{.!^.~^.{^.]^.^^./^.n$.(^._^.:^.<^.[^.}^.|^.}^.1^.1^.2^.2^.3^.4^.4^.6..5^.5^.6^.7^.8^.9^.0^.5^.^` a^.b^.9..b^.<..}..|..2..4..c^.d^.d^.e^.f^.g^.h^.i^.j^.k^.l^.q$.m^.n^.n^.s$.o^.p^.p^.w$.w$.q^.x$.y$.r^.r^.r^.r^.s^.s^.s^.t^.s^.u^.u^.v^.v^.v^.v^.v^.v^.v^.v^.v^.w^.x^.w^.w^.w^.w^.y^.y^.z^.z^.A^.A^.A^.A^.B^.B^.B^.B^.B^.B^.v^.C^.r+.r+.r+.r+.r+.r+.r+.r+.r+.r+.r+.r+.r+.D^.D^.D^.D^.E^.E^.E^.E^.E^.u$.F^.G^.F^.F^.H^.u$.o^.I^.I^.I^.J^.J^.K^.p$.p$.M%.M%.L^.M^.M^.N^.N^.O^.e^.P^.Q^.d^.R^.5..3..S^.T^.U^.8..8..V^.u%.`R )` p%.Q%.n%.W^.X^.j%.VN gI .O oI bI RN 7I PN 2I 3I Y^.Z^.{ .`^. /../.RX ) .+/.@/.> .j&.Y` #/.$/.%/.&/.*/.=/.=/.-/.vZ ;/.>/.,/.'/.)/.!/.~/.{/.LO ]/.6% ^I B_ F& ^/.//.r=.0- o= ", +" (/._/.`@.0) 6> :/.;$.Wx (.Q$.'K -K {K `J k..WJ %K ,(.'(.)(.!(.j..T%.~(.{(.8%.](.^(.aT d%.4I /(./(.((._(.:(.<(.[(.}(.|(.1(.2(.Q{.((.3(.NN %.;_ 4(.G& 5(.6(.r=.0- ", +" 3@ V~ y- f< 44 6A RE 7(.+#.8(.,7 9(. c Ua Wk 'g 0(.Vx 0(.Wk Wy 1D 1D Wy 1D a(.Wy Wy Wy )@.oS pS a(.pS oS PT pS .u F` ` .` .b(.c(.kv d(.e(.1@.f(.g(.h(.i(.j(.k(.l(.m(.C@.C@.6L 6L 1L n(.o(.p(.t@.t@.q(.o@.r(.r(.e@.s(.t(.u(.v(./L f@./L /L u(.f@.f@.w(.x(.y(.z(.z(.A(.B(.z(.^L ~L C(.D(.D(.D(.{L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L D(.i@.h@.E(.y(.w(.k@.F(.G(.!L H(.H(.G(.I(.I(.I(.I(.I(.I(.J(.I(.I(.e@.n@.n@.r(.r(.p@.p@.p@.o@.o@.K(.q(.q(.c@.c@.c@.q@.s@.s@.L(.L(.t@.t@.t@.t@.}L p(.p(.p(.o(.M(.M(.N(.6L O(.P(.C@.Q(.Q(.R(.l(.l(.S(.j(.hL T(.H@.U(.V(.3@.5#.M@.M@.,g xL W(.CL [@.I#.1D 0(.~@.X(.Y(.Z(.Y@.Z@.`(. _.._.+_.@_.#_.$_.%_.&_.*_.=_.-_.;_.>_.,_.'_.A=.)_.S* !_.B] /^ M+.~_.2= {_.]_.b*.G- ", +" %# ^_.)6 ;^.;^.4A RE RE /_.(_.6> __./_.#d *q *q J@.I@.g(.U(.:_.<_.j(.k(.D@.S(.[_.}_.aL aL |_.|_.1_.m(.2_.3_.1_.4_.4_.5_.Q(.6_.6_.8L Q(.6_.C@.7_.z@.4L 3L 3L 3L 1L 8_.v@.v@.r@.r@.q@.s@.9_.c@.q(.q(.n@.e@.I(.I(.G(.0_.u(.u(.a_./L f@./L /L u(.f@.f@.w(.x(.y(.z(.z(.A(.B(.z(.^L ~L C(.D(.D(.D(.{L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L D(.i@.h@.E(.y(.w(.k@.F(.G(.!L H(.H(.G(.I(.I(.I(.I(.I(.I(.J(.I(.I(.e@.n@.n@.r(.r(.p@.p@.p@.o@.o@.K(.q(.q(.c@.c@.c@.q@.s@.s@.L(.L(.t@.t@.t@.t@.}L p(.p(.p(.o(.M(.M(.4L 6L b_.O(.c_.C@.C@.8L Q(.Q(.4_.d_.eL e_.f_.f_.hL F@.G@.g_.g_.iL h_.h_.V(.2@.h_.OK OK PK K@.K@.K@.i_.j_.wn ,g ,g wL [@.k_.Sa l_.m_.n_.o_.p_.q_.r_.s_.t_.EO L= ,^.W~.w> u_.5= 4= v_.w_.x_.KK ;> ", +" y_.{& )6 Q: b) z_. A_.Yb ;e B_.7G ]i kv *q TK SK C_.f(.I@.RK RK PK h_.h_.OK D_.E_.F_.F_.G_.E_.OK F_.H_.I_.h(.J_.E@.i(.J_.j(.k(.d_.1_.Q(.8L 7L b_.K_.L_.L_.n(.1L u@.r@.M_.a@.b@.q@.p@.n@.N_.m@.G(.0_.u(.u(.a_./L f@./L /L u(.f@.f@.w(.x(.y(.z(.z(.A(.B(.z(.^L ~L C(.D(.D(.D(.{L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L D(.i@.h@.E(.y(.w(.k@.F(.G(.!L H(.H(.G(.I(.I(.I(.I(.I(.I(.J(.I(.I(.e@.n@.n@.r(.r(.p@.p@.p@.o@.o@.K(.q(.q(.c@.c@.c@.q@.s@.s@.L(.L(.t@.t@.t@.t@.}L p(.p(.p(.o(.M(.M(.4L 6L b_.O(.c_.C@.C@.8L Q(.1_.O_.k(.k(.P_.E@.E@.g_.iL h_.h_.h_.Q_.L@.L@.M@.wn }@.}@.kv ]i tL R_.xL ^@.DL S_.G#.T_.U_.c#.Y(.1>.V_.W_.X_.Y_.Z_.`_.t_. :..:.`E 2) F' +:.9{ H= R* 8* @:.#:.$:.sO !%. ", +" y_.%:.I> f< u!.&:.gs >^.*:.=:.!^ A} 2: -:.VE io ;:....>:.,:.'$.':.XE ):.!:.H` ~:.{:.]:.^:./:.(:._:.::.<:.[:.}:.|:.w/.1:.2:.2:.3:.3:.2:.4:.4:.4:.`~.5:.6:.6:.7:.8:.8:.u/.9:.w/.0:.a:.z/.V/.b:.H$.Y/.W/.V/.x/.R/.S/.B/.B/.E/.K/.c:.H/.I/.d:.e:.f:.f:.f:.g:.h:.h:.h:.h:.i:.j:.j:.k:.l:.l:.l:.m:.m:.n:.m:.m:.o:.m:.p:.p:.p:.p:.q:.q:.q:.q:.p:.p:.r:.s:.s:.s:.s:.s:.s:.t:.s:.s:.s:.s:.s:.u:.s:.s:.s:.s:.s:.u:.u:.u:.u:.u:.u:.q:.v:.v:.v:.v:.v:.v:.v:.v:.v:.v:.v:.v:.v:.w:.x:.l:.l:.l:.l:.y:.x:.x:.x:.x:.x:.y:.j:.j:.o:.z:.z:.A:.A:.A:.A:.B:.B:.B:.C:.d:.d:.D:.E:.F:.K/.G:.L/.O/.B/.R/.T/.H:.V/.W/.Y/.C$.B$.`/.I:.q/.J:.n/.m+.m/.g+.f+.K:.l/.a+.9+.L:.c .*(.pQ 1+.M:.N:.N:.j$.F!.O:.O:.P:.Q:.2%.R:.8$.S:.T:.LM U:.V:.W:.X:.Y:.Z:.`:.Z:.Z:.`:.`:.`:. <..<.RJ +<.@<.;..#<.#<.$<.%<.&<.*<.); H- ", +" H< ,[ Nl k#.M' h#.=<.*:.B} x!.^[ -<.;<.><.G` ,<.):.)$.'<.)<.!<.~<./:.{<.]<.^<./<.6/.|:.2:.(<._<.:<.<<.9/.[<.}<.|<.r$.r$.r$.1<.2<.3<.l$.4<.5<.5<.f^.6<.6<.7<.7<.7<.8<.9<.0<.a<.b<.c<.c<.j^.d<.e<.L%.L%.8<.K^.s$.v$.q^.y$.r^.s^.s^.f<.g<.y^.y^.y^.B^.h<.h<.h<.i<.j<.j<.k<.k<.k<.t/.l<.m<.n<.n<.o<.o<.o<.p<.p<.p<.p<.p<.p<.q<.q<.v/.v/.v/.v/.r<.r<.s<.s<.s<.s<.s<.s<.s<.s<.s<.y/.y/.y/.y/.y/.y/.y/.y/.y/.y/.y/.y/.y/.y/.x/.Y/.D$.D$.D$.D$.D$.D$.D$.D$.D$.D$.D$.D$.D$.D$.A$.A$.B$.Z/.Z/.Z/.Z/.Z/.Z/.Z/.`/. (.Z/.t<.s/.q/.q/.q/.q/.u<.u<..(..(.v<.m+.+(.+(.+(.r+.D^.E^.G^.F^.H^.J^.p$.M%.w<.M^.N^.f^.e^.d^.x<.5..3..y<.U^.6..9..V^.]` {` .S p%.z<.W^.l%.A<.j%. Z h%.B<.C<.D<.E<.F<.G<.WN hI H<.TN I<.J<.K<.L<.M<.N<.1(.M<.M<.M<.O<.O<.L<.P<.P<.Q<.R<.^..S<.T<.QJ SJ >..$<.%<.U<.V<.;> G- ", +" W<.:- &:.X<.X<.=<.@+.QE Y<.Z<.J; `<. [..[.!:.~:.hZ ~<.,V ~V +[./<.@[.1:.8:.#[.~^.9/.0/.q^.r$.8<.$[.%[.&[.0^.*[.=[.-[.J<.J<.;[.J<.;[.>[.,[.'[.'[.)[.![.![.~[.{[.~[.9].][.][.^[./[./[.([.([.u].4].6]._[.8].r].:[.b].e].f].f].i].i].<[.G%.G%.I%.[[.[[.}[.|[.}[.1[.2[.3[.2[.4[.5[.6[.7[.8[.8[.h^.9[.9[.9[.0[.0[.0[.0[.0[.0[.a[.a[.a[.a[.b[.c[.c[.c[.c[.c[.c[.c[.c[.c[.c[.d[.d[.n^.n^.n^.n^.n^.n^.n^.n^.n^.n^.n^.n^.n^.n^.n^.m^.e[.N^.N^.N^.N^.N^.N^.N^.N^.N^.N^.N^.N^.N^.N^.d<.f[.f[.e^.e^.e^.e^.P^.P^.P^.Q^.h^.g[.8[.c^.c^.J%.J%.h[.h[.3..i[.S^.D%.D%.U^.B%.m].y%.n].n].o].q].Y&.`&._[.6].4].4].j[.z].k[.A].l[.3 .2 .m[.I&.n[.@*.o[.p[.H].MX tU q[.%*.'P w&.&*.ZG r[.z&.s[.t[.'` u[.`G v&.v[.w[.x[.y[.z[.A[.B[.C[.D[.D[.E[.F[.G[.H[.I[.J[.K[.L[.M[.}I c%.e%.S<.QJ #<.C^ w$ N[.O[.t; ); ", +" P[.NK t} 0) x- Pl @+.:R 1) !/ +_ y> :> Q[.)<.R[.S[.::./<.@[.n).`{._<.T[.[<.U[.$].V[.W[.[^.*[.=[.X[.Y[.Z[.`[. }..}.+}.+}.@}.#}.$}.$}.#}.%}.&}.*}.*}.=}.1{.e{.=}.-}.-}.4{.4{.;}.6{.6{.>}.,}.6{.[{.[{.|{.'}.3{.)}.)}.5{.!}.7{.M&.M&.0{.a{.b{.S&.U&.T&.~}.{}.{}.]}.^}./}.(}.(}.(}._}._}.:}.5].<}.[}.}}.|}.7].|}.|}.|}.9].0].1}.1}.1}.1}.^[.:[.:[.:[.b].b].b].c].c].e].e].c].c].c].c].c].c].c].c].c].c].c].d].d].d].d].d].c].c].8].s].s].2}.2}.2}.2}.t].t].t].t].t].t].t].t].t].3}.4].v].v].v].w].w].j[.j[.y].4}.([.1}.y].V&.A].A].l[.5}.B].C].2 .2 .6}.6}.W&.7}.7}.8}.H&.G&.3{.9}.d{.g{.i{.0}.j{.j{.l{.a}.m{.b}.b}.;=.;` o{.p{.R*.Q*.^=.(=._=.:=.cQ K*.I*.5Q c}.2Q 7Q /=.d}.G,.e}._=.f}.g}.h}.i}.j}.k}.l}.l}.m}.j}.n}.n}.o}.p}.q}.r}.z[.s}.t}.K[.u}.v}.w}.c%.x}.QJ @<.E^ y}.z}.o, .;.); ", +" F# Wb 7> 0) [, >$.UH is A}.B}.C}.D} -X A, D}.'^.^<.E}.n).6:.F}.G}.H}.I}.6<.W[.0^.J}.K}.L}.M}.'[.N}.O}.P}.Q}.R}.S}.T}.U}.U}.U}.U}.V}.W}.f}.X}.Y}.Z}.Y}.Y}.`}.`}. |. |..|.+|..|.@|.@|.#|.$|.%|.2~.f~.&|.<~.|~.Y}.1~.*|.4~.5~.6~..=.8~.9~.=|.$=.%=.-|.*=.==.;|.;|.>|.>|.,|.'|.)|.)|.1{.2{.2{.2{.2{.4{.!|.!|.!|.5{.~|.6{.6{.!}.!}.!}.!}.7{.{|.{|.{|.8{.9{.8{.8{.0{.0{.0{.0{.0{.0{.0{.0{.0{.0{.0{.0{.0{.0{.a{.a{.a{.a{.a{.0{.0{.M&.]|.]|.]|.]|.]|.]|.'=.G&.G&.'=.'=.'=.d{.d{.d{.d{.d{.g{.g{.g{.g{.f{.^|.^|.^|.,}./|./|.(|.:{.,=.,=.,=.l{.a}.m{.m{.n{.b}.n{.;=.;=.X*._|.h-.h-.g-.g-.c-.e~.d~.g~.h~.h~.9-.i~.:|.l~.QY 0-.(-.L;.<|.WY [|.k-.,-.UR UR SR }|.%-.||.LR +-.s~.1|.,-.2|.3|.4|.5|.6|.7|.8|.9|.0|.0|.9|.a|.b|.c|.d|.l}.m}.j}.e|.p}.f|.g|.h|.i|.#/.j|.k|.x}.,..l|.M+.m|.n|.a- ;> ", +" F# o|.a#.M' l#.0G p|....2: =1 q|.r|.]- y^ _%.)^.@[.n).s|..].{^.U[.n$.V[.0^.t|.L}.u|.v|.w|.+}.x|.R}.*}.T}.y|.z|.A|.B|.C|.D|.E|.F|.F|.G|.H|.I|._-.J|._-.K|.L|.M|.M|.N|.N|.M|.O|.O|.O|.P|.Q|.R|.S|.T|.U|.*!.;!.>!.,!.'!.!!.!!.[-.}-.V|.V|.1-.2-.2-.4-.5-.6-.W|.W|._~._~._~.<~.|~.|~.|~.|~.X|.Z}.2~.3~..|..|.Y|.Y|.5~.5~.6~..=..=.Z|.Z|.Z|.z|.z|.z|.9~.9~.9~.9~.9~.9~.=|.%=.%=.%=.%=.%=.-|.-|.-|.-|.-|.-|.-|.-|.-|.-|.-|.-|.-|.-|. =.;` ;` ;` ;` ;` ;` h-.h-.h-.h-.h-.U*.U*.U*.U*.g-.g-.g-.e-.c-.a~.a~.b~.Y}.`|.`|.`|.4~.g~.g~.h~.h~. 1.9-.i~.j~.:|.:|.l~.m~.m~.(-.(-.OY ^-.K;..1..1.(!.(!._!.N;.#!.+1.I;.2!.4!.G;.*'.='.AX xX P;.@1.7!.#1.$1.[T [T T;.%1.d;.9!.!T T;.&1.M'.*1.=1.-1.;1.>1.,1.,1.'1.)1.!1.~1.{1.]1.^1./1.(1.c|._1.:1.<1.[1.}1.|1.11.21.k&.k|.x}.>..E^ /^ 31.41.z* t; ", +" 51.61.P#.M' x- (_.io >$.*( 71.:> M1 8: t_ 81.91.n).`~..].{^.f/.01.W[.&].R<.M[.a1.b1.O}.c1.R}.d1.e1.f}.A|. |.f1.g1.h1.i1.j1.k1.k1.l1.l1.m1.n1.+!.o1.p1.q1.r1.s1.s1.t1.t1.u1.v1.w1.w1.v1.x1.y1.z1.A1.X>.V>.W>.B1.Y>.#'.#'.w;.x;.y;.z;.A;.C;.C1.*!.D1.-!.-!.E1.;!.F1.'!.'!.~!.~!.~!.~!.~!.G1.G1.H1.|-.I1.J1.K1.L1.L1.L1.L1.M1.4-.4-.4-.6-.6-.W|.W|.8-._~._~._~._~.N1.N1.N1.N1.N1.N1.N1.}~.}~.}~.}~.}~.}~.}~.[~.[~.[~.}~.}~.}~.}~.8-.j~.:|.:|.:|.j~.j~.j~.j~.:|.:|.l~.O1.P1.O1.m~.m~.m~.QY Q1.Q1.PY (-.OY 1-.R1.S1.S1.T1.K;.~-.~-./!.(!._!._!.U1.[!.N;.+1.+1.I;.V1..!.4!.#,.H;.BX ='.p;.yX xX %'.@).O;.`>.').)).{).-'.oW W1.&,.mU mV =,.nU X1.Y1.pU V,.bU ),.!,.~,.Z1.`1.kV 2..2.+2.@2.#2.$2.%2.&2.*2.=2.-2.!1.;2.~1.]1.^1.a|.>2.,2.'2.)2.!2.~2.{2.21.]2.^2.T<.xM /2.F= (2._2.o= t; ", +" :2.<2.[2.44 x- 8) }2.;:.(%.71.V- ^- t_ P1 |2.Y{.12.I:.8/.22.32.%].[^.J}.42.Z[.52.62.72.82.92.U}.02.a2.b2.f1.c2.d2.e2.f2.f2.M|.g2.h2.i2.i2.j2.k2.l2.m2.m2.n2.n2.m2.o2.p2.p2.q2.q2.q2.r2.s2.s2.t2.u2.v2.S>.S>.S>.T>.V>.$'.w2.X>.Y>.#'.w;.w;.x2.y2.y;.=).A;.A;.C;.&!.E;.E;.-!.-!.-!.E1.E1.T|.z2.A2.B2.B2.C2.~!.~!.<-.<-.G1.G1.H1.H1.H1.{!.|-.I1.I1.I1.L1.M1.M1.M1.4-.4-.4-.4-.D2.D2.D2.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.O1.QY QY 0-.0-.a-.n~.n~.PY PY (-.E2.E2.E2.L;.K;.K;.K;..1..1.^!.^!.^!.F2.G2.G2.G2.H2.I2..O;.`>.').)).Y,.]).W1.M2.&,.&,.mU N2.O2.O2.P2.Q2.R2.S2.T2.T2.U2.V2.W2.X2.Y2.R2.Z2.`2. 3..3.$2.%2.*2.*2.+3.@3.@3.#3.$3.%3.'1.&3.*3.=3.a|.c|.,2.-3.;3.>3.h|.62.,3.w}.e%.,..'3._+.)3.!3.~3.{3.t; ", +" ]3.^3..1 T#.>q /3.(3._3.1; !, :3.]- ~+.x^ ^<.n).4:.o+.22.I}.<3.&[.[3.42.}3.52..}.P}.|3.13.U}.23.33.43.f1.53.63.J1.f2.M|.73.73.i2.83.83.93.03.a3.m2.b3.c3.m2.d3.d3.d3.e3.f3.f3.q2.r2.s2.t2.g3.u2.h3.i3.S>.S>..'.V>.w2.w2.X>.j3.n2.#'.k3.w;.*).y2.y;.B;.B;.C;.E;.E;.E;.E;.l3.E1.E1.T|.A2.A2.B2.B2.C2.'!.~!.~!.~!.~!.[-.H1.H1.F2.|-.|-.|-.I1.m3.M1.M1.M1.4-.n3.D2.D2.D2.D2.n3.n3.D2.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.4-.QY PY PY Q1.Q1.:-.:-.PY PY E2.E2.E2.E2.E2.^-.^-.^-.o3.K;..1./!.E2.p3.q3.q3.G2.m3.H1..)).{).]).oW W1.G>.r3.N2.s3.t3.u3.u3.Q2.v3.w3.x3.y3.U2.z3.W2.X2.A3.`2.B3.C3.D3..3.$2.%2.&2.*2.&2.*2.E3.F3.+2.'1.G3.;1.H3.I3.c|.,2.'2.i}.!2.E[.K[.J3.K3.L3.M3.N3.O3.:+.M& P3.Q3.t; o> ", +" ]3.h~ YK 6> ++.*:.(3.R3.D> q|.S3.-+.T3.-+.)^.@[.U3. ].G}.22.9<.6<.0^.V3.W3.}3.X3.Y3.@}.Z3.`3.U}. 4.33.@|.C|..4.+4.@4.@4.#4.$4.m1.$4.%4.$4.&4.*4.=4.=4.-4.;4.;4.t1.t1.v1.x1.>4.h3.,4.A1.'4.)4.)4.!4.~4.{4.s;.t;.&).w;.]4.y;.^4.C;.D;.D;./4.E;.(4.T|.F1.'!.'!.B2.'!.~!.N|.<-.H1.J1.J1.I1.I1.L1.1-.2-.4-.4-._4.W|._4.W|.8-.8-.:4.}~.}~.}~.}~.}~.<4.X|.|~.|~.X|.X|.X|.X|.2~.2~.2~.[4.2~.2~.3~..|..|..|..|..|..|..|..|..|..|..|.3~.[4.&|.h~.h~.h~.h~.h~.h~.h~.^~.9-.9-.9-.9-.}4.{~.:|.:|.O1.l~.l~.|4.4-.14.X|.24.34.34.34.:-.^-.o3..1./!./!._!.j-._!.U1.N;.44.+1.I;.V1.V1.G;.H;.='.='.AX zX xX %'.o;.`>.$,.)).54.pW oW %,.%,.&,.N2.64.74.84.X1.94.cU 04.sV V2.a4.b4.c4.d4.F3.e4.f4.f4.g4.h4.i4.j4.f4.k4.l4.m4.H3.n4.o4.p4.q4.h}.r4.s4.t4.u4.v4.w4.x4.M3.yM DM S:.y4.6] z4.o, o, o> ", +" A4.B4._5 f @#.C4.(3.tN ;<.D4.E4.F4.#_ ]/ Y{.t+.@[.G4. ].T[.22.I}.H4.W[.I4.J4.K4.}}.L4.M4.N4.|3.O4.P4.Q4.R4.S4.T4.43.G|.G|.U4.V4.W4.X4.X4.Y4.Z4.M|.M|.g2.N|.O|.O|.&4.`4.`4.`4. 5. 5..5..5.+5.@5.#5.$5.%5.&5.~!.~!.[-.H1.|-.1-.*5.3-.4-.=5.W|._~.:~.}~.}~.[~.X|.Z}.2~.-5.2~..|.Y|.Y|.5~.5~.6~..=.Z|.z|.9~.9~.9~.$=.&=.-|.&=.*=.*=.*=.;|.;|.;|.;|.;|.;|.;5.,|.>5.,|.,|.>5.>5.'|.'|.>5.>5.'|.'|.'|.'|.'|.'|.'|.'|.'|.'|.'|.'|.'|.>5.>|.,5.,5.,5.+=.n{.n{.n{.n{.n{.n{. =. =.`*.`*.;=.X*.X*.X*.'5.h-.)5.!5.~5.~5.{5.]5.^5.Y*.e~.e~./5.f~.(5.(~.h~.h~.i~.j~.:|.k~.QY 0-.n~.E2.^-.^-.K;._5.:5._!.<5.N;.1!.I;.#,.4!.G;.='.[5.-).yX %'.O;.').54.54.}T nW (T ^T gW (T }5.|5.15.25.35.45.25.55.;1.;1.65.25.75.n4.85.95.05.a5.-3.b5.s4.c5.d5.e5.f5.g5.-].UN h5.EM S:.!_.N{ i5.j5.k5.n, ", +" G# l5.Q; 44 +#.++.>$.Xx !$.1; y> D} z^ ]- m5.{<.G:.n5.12.s|.~^.o5.}<.p5.H4.q5.r5.=[.s5.t5.u}.i|.u5.$}.v5.w5.x5.y5.z5.Q4.A5.A5.!5.B5.C5.A5.A5.D5.[4.14.E5.14.F5.F5.G5.H5.H5.I5.J5.K5.L5.K5.%|.M5.N5.O5.D5.P5.Q5.Y|.5~.6~..=.9~.9~.0~.-|.*=.R5.,|.>5.S5.>5.T5.'|.U5.V5.V5.4{.4{.!|.5{.5{.5{.W5.7{.{|.7{.X5.9{.9{.9{.Y5.b{.Z5.b{.S&.S&.S&.S&.S&.S&.S&.~}.~}.~}.~}.~}.~}.`5.]}. 6. 6. 6. 6.]}.]}.]}..6..6..6..6..6..6..6.]}.]}.]}. 6.]}.O&.W&.6}.W&.K&.K&.K&.K&.K&.8}.H&.H&.H&.H&.+6.H&.@6.@6.]|.+6.#6.$6.%6.&6.&6.*6.=6.8{.0}.j{.j{.-6.-6.,=.-=.({.m{.;6.n{.`*.;=.X*.W*.h-.e-.>6.a~.d~.d~.f~.h~. 1.}4.:|.l~.QY Q1.(-.L;.K;..1./!.j-.N;.+1.2!.3!.@,.,6.'6.W).@,.)6.!6.C2.~6.{6.95.95.]6.85.]6.^6.6|./6.(6._6.:6.b5.<6.[6.}6.|6.u4.16.26.36.46.H!.~(.56.'+.}+.D; 66.76.86.96.n, ", +" 06.a6.x- /_.mv T#.1p AO }/. [.b6.c6.d6.F4.e6.~<.{<.<:.f6.0:.(<.g6.h6.i6.j6.k6.U:.l6.m6.n6.o6.;[.p6.q6.r6.s6.t6.u6.=6.v6.w6.x6.y6.x6.x6.x6.y6.z6.A6.B6.C6.y5.P4.D6.E6.F6.F6.G6.G6.H6.I6.I6.J6.y6.y6.K6.L6.M6.N6.O6.6{.7{.M&.P6.P6.Y5.S&.R&..}.`5.]}.]}.Q6.Q6.Q6._}._}._}.[}.R6.7].7].9].9].9].9].:[.:[.^[.c].c].c].c].d].S6.S6.T6.S6.S6.h].h].i].i].i].j].k].j].j].k].k].k].k].k].k].U6.V6.V6.V6.V6.V6.V6.V6.V6.V6.V6.U6.k].k].k].W6.h].X6.q].p].q].X6.X6.Y6.][.Z6.Z6.Z6.Z6.Z6.Z&.Z&.Z&.`6.6].c].;[. 7..7.T6.([.([.([./[.j[.A].A].V&.A].+7.3 .@7.N&.W&.W&.K&.H&.c{.)=.3{.e{.f{.f{.i{.-6.,=.-=.,5.m{.n{.;=._|.h-.#7.e-.a~.e~.(5.h~.$7.i~.:|.O1.'~.%7.&7.*7.P1./~.k~.=7.-7.;7.>7.>7.,7.'7.)7.!7.~7.~7.{7.]7.^7./7.(7._7.:7.<7.[7.}7.|7.17.27.D=.56.!+.l).y!.37.2] 47.57.67.n, ", +" 06.77. L mv )e $8 @+.87.97.07.h*.H; a7.b7.!<.!<.c7.{<.d7.E/.e7.f7.g7.h7.i7.j7.k7.l7.|<.m7.n7.o7.p7.q7.r7.s7.t7.u7.v7.v7.w7.x7.u7.u7.u7.y7.z7.x7.A7.B7.C7.D7.B7.E7.F7.F7.F7.G7.v7.H7.I7.J7.J7.K7.L7.M7.N7.O7.P7.Q7.c].c].f].S6.;[.k].G%.G%.G%.H%.[[.R7.}[.2[.2[.3[.2[.3[.7[.S7.8[.h^.h^.0[.0[.T7.l^.l^.8<.c[.b[.c[.c[.a<.a<.U7.U7.c<.p^.w$.v$.w$.c<.p^.p^.V7.V7.r^.r^.r^.x$.r^.r^.V7.V7.V7.r^.r^.r^.r^.r^.r^.r^.r^.r^.V7.V7.V7.V7.w$.p$.M%.M%.L%.w<.w<.w<.L%.j^.j^.j^.M^.M^.N^.N^.f^.O^.d<.U7.W7.W7.W7.U7.m7.g[.b[.X7.g^.i[.i[.i[.i[.D%.Y7.B%.g].y%.n].o].r].Z6.Y&._[.6].u].Z7.x].k[.A].l[.B].@7./].I&.8}.G&.G&.9}.f{.^|.`7.,=.,=. 8.m{..8.;=.*` {{.>` ,5.+8.;=.@8.#8.$8.%8.&8.*8.*8.=8.-8.;8.>8.,8.'8.)8.!8.~8.{8.]8.^8./8.(8.27._8.:8.C=.R:.4P <8.[8.}8.|8.18.28.G) )' ", +" 38.48.^i +; Uy +#.3M >x y=.2' 2' [> A, D!.D}.TT 58.68.~<.78.(:.88.98.C/.|:.3:.08.a8.b8.c8.d8.e8.f8.g8.h8.i8.j8.k8.l8.m8.n8.m8.n8.n8.o8.o8.p8.p8.q8.r8.s8.N7.t8.O7.u8.P7.v8.w8.w8.x8.y8.z8.j8.A8.B8.C8.D8.E8.F8.G8.W7.0[.9[.m^.c[.a<.n^.n^.U7.p^.v$.H8.r^.r^.r^.i/.t^.I8.I8.I8.v^.y^.y^.J8.B^.B^.B^.K8.b8.i<.i<.i<.j<.j<.5:.l<.l<.l<.l<.7:.7:.p<.p<.L8.H/.J/.J/.J/.G/.c:.M8.N8.v/.O8.O8.O8.P8.P8.P8.w/.w/.w/.w/.w/.w/.w/.w/.w/.v/.v/.u/.Z/.Q8.Q8.s/.s/.s/.R8.q/.q/.q/.q/.q/.q/.q/.A^..(.S8.T8.U8.U8.l<.V8.m<.m<.W8.X8.b8.p+.E^.F^.u$.s$.J^.q$.M%.L%.w<.L^.O^.e^.e^.d^.:^.c^.h[.i[.|..C%.K%.Y8.o].q].Y&.Y&.t].4].v].x].k[.X&.B].@7.W&.m[.E].G&.G&.9}.Z8.N&.0{.H&.`8. 9..9.+9.@9.#9.!8.$9.%9.&9.*9.=9.-9.;9.>9.,9.'9.)9.!9.~9.{9.]9.^9./9.(9._9.:9.<9.W~.[9.S~ }9.!) |9. ", +" 19.29.e#.Q#.3M __.3M u=.%_.'/ y=.$..{$.|) 39.VH 49.jJ sN jJ jJ jJ jJ 59.69.79.79.89.79.99.09.a9.09.b9.c9.d9.e9.f9.g9.h9.i9.j9.k9.k9.l9.m9.n9.o9.p9.q9.r9.s9.t9.u9.v9.w9.x9.y9.z9.A9.B9.C9.D9.E9.F9.G9.H9.I9.J9.K9.3_.2_.|_.1_.1_.L9.M9.N9.b_.K_.O9.1L 2L 2L o(.o(.o(.}L M_.9_.c@.c@.c@.o@._L I(.G(.P9.Q9.R9.i@.]L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L ]L h@.h@.E(./L P9.e@.9_.v@.S9.z@.8L l(.D@.k(.T9.j(.j(.j(.i(.i(.h(.h(.U9.j(.h(.I_.h(.V9.F9.F_.D_.E_.W9.C9.X9.Y9.d(.b(.B_.R_.` .Z9.`9.t9. 0..0.+0.@0.#0.$0.%0.&0.*0.=0.-0.;0.>0.,0.'0.)0.!0.~0.{0.]0.^0.w:./0.B:.(0.M/.Q/.H:.u/.B$.b:.w/.q<.Z/._0.:0.<0.<0.[0.<0.<0.}0.|0.10.10.10.20.30.30.40.50.60.70.80.90.00.=_.a0.b0.c0.d0.e0.,^.E> f0.g0.t' U! ", +" n4 n4 [, _5 W0 h#.W0 Xy Yy h0.i0.y} UE ,<.CO j0.k0.k0.i).1>.l0.l0.2D :Y m0.n0.n0..0.r9.o0.p0.q0.r0.s0.t0.m9.u0.v0.w0.x0.x0.n9.n9.n9.y0.z0.A0.B0.C0.D0.E0.F0.G0.H0.I0.I0.J0.y9.z9.X9.B9.C9.D9.E9.F9.G9.H9.I9.J9.K9.3_.2_.|_.1_.1_.L9.M9.N9.b_.K_.O9.1L 2L 2L o(.o(.o(.}L M_.9_.c@.c@.c@.o@._L I(.G(.P9.Q9.R9.i@.]L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L ]L h@.h@.E(./L P9.e@.9_.v@.S9.z@.8L l(.D@.k(.T9.j(.j(.j(.i(.i(.h(.h(.U9.j(.h(.I_.h(.V9.F9.F_.D_.E_.K0.L0.B9.M0.e(.c(.7G b(.b(.N0.O0.P0.Q0.R0.S0.:@.T0.U0.0(.V0.W0.X0.Y0.Z0.`0. a.%0..a.+a.@a.*0.#a.#a.u,.$a.89.%a.&a.;0.*a.=a.-a.;a.>a.,a.'a.)a.!a.~a.{a.]a.^a.^a./a.(a._a.:a..C> >b.#z C!.,b.!V YH 'b.)b.!b.68.~b.{b.]b._:.^b./b.(b._b.:b.c.,c.'c.)c.!c.~c.{c.]c.^c./c.(c._c.H; :c. [> {, e6.K{ b7.2c.]:.3c.4c.5c.d7.6c._b.7c.8c.9c.g6.0c.ac.d8.bc.cc.dc.ec.fc.gc.n8.q8.hc.hc.hc.hc.ic.jc.kc.kc.lc.mc.nc.mc.oc.pc.qc.rc.sc.tc.N7.N7.uc.v8.hc.vc.x8.wc.j8.i8.xc.yc.zc.Ac.fb.Bc.Cc.Dc.4b.W7.T7.T7.m^.c[.n^.n^.s$.c<.w$.w$.r^.i/.i/.t^.I8.I8.Ec.Fc.h6.h6.B^.K8.K8.i<.Gc.Hc.Ic.m<.Jc.Jc.Jc.m<.Kc.Lc.=0.Mc.Mc.79.Nc.Oc.Pc.Qc.>a.>a.Rc.Sc.Tc.'a.Uc.Vc.s<.s<.s<.s<.t<.O8.O8.O8.O8.Wc.Vc.Vc.Vc.Vc.Vc.l<.S8.S8.S8.S8.h<.B^.B^.A^.z^.z^.y^.g<.J8.Xc.m<.m<.Hc.Hc.Gc.Yc.K8.Zc.Zc.Zc.jb.`c.o^.M%.M%.L%.L^.N^.N^.e^.e^.P^.x<.x<.h[.i[.7^.D%.C%.m].x%.v%.q].Y&.Z&.`6.u].Z7. d.z].k[.+7.C].2 .6}.7}.H&.c{.G&.!=.f{.f{.9{./|.6{.D7..d.+d.+d.+9.+9.@d.#d.$d.%d.&d.*d.=d.#c.%c.*c.-d.;d.>d.,d.'d.{c.)d.;_.m5.!d.~d.{d.a.Ad.Bd.Bd.Sc.Cd.Dd.Ed.Fd.Gd.Hd.V7.Id.Id.Id.Id.t^.Id.Id.Id.Jd.Jd.Jd.yd.yd.yd.Kd.p^.8<.j^.j^.j^.j^.9[.e[.N^.N^.N^.e^.P^.T7.E8.E8.g[.Ld.X7.Md.wd.wd.Nd.Od.Pd.Pd.y8.Qd.n].o].o].v%.q].Z6.Z&.Z&.t].t].v].w].x].y].A].B].C].@7.W&.W&.I&.H&.]|.d{.9}.g{.i{.i{.:{.-=.l{.m{.Rd.;=.;=.;` U*.e-.h-.R5.^5.$|.Sd.Td.Ud.Vd.Wd.Xd.Yd.Zd.`d. e..e.+e.*9.;9.,9.@e.#e.$e.%e.]9.&e.*e.=e.-e.c..E4.~d.:c.97.W* ;e.>e.b~ b~ ", +" 1[ ,e.Ua 'e.1p jo QE '$.)e.!e.~e.b/.(d.7>.#].<:.{e.f7.]e.^e./e.t^.H8.f8.|d.1d.l8.q7.(e._e.:e.w7.a.Ad.Bd.Bd.ue.Tc.Dd.Ed.Kc.Ed.Uc.2[.ud.ud.ud.ud.ud.ud.ud.ve.4[.4[.4[.ve.ve.2[.2[.R7.G%.<[.C%.g].f].f].e].c].b].X6.X6.X6.O7.we.O7.O7.O7.Q7. 7. 7.se.se.t7.xe.ye.1}.|}.+7.3 .@7.N&.M&.K&.7}.H&.c{.'=.'=.e{.f{.^|.ze.-6.:{.k{.,5.Ae.Ae.`*.;=.X*.h-.g-.S*.i-./5.7-.h~. 1.}4.:|.~~.m~.0-.(-.}-.24.Be.m3.Ce.De.Ee.Fe.Ge.He.Ie.Je.Ke.Xd.Le.Me.Ne..9.-9.>9.'9.Oe.$e.{9.Pe.Qe.Re.Se.~e.D} b6.:c.Te.A$ Ue.U .U .O~ ", +" Ve.x< Nl 3M t=._h $X WH B, d+.We.K` 7&.Xe.5^.h7.sb.5:.Ye.Ze.`e.W7.wd.j8. f..f..7.u7.9d.+f.@f.#f.$f.ie.%f.&f.*f.=f.-f.-f.;f.>f.>f.>f.,f.,f.,f.'f.)f.!f.!f.~f.{f.Y4.Y4.Y4.H5.]f.]f.^f.M5./f.(f.D5.D5.ce.ee.fe.ge.he.he.G6.H6.A6._f.:f.y6.K6.I6.)|.)|.V5.;}.6{.>}.a.0f.af.Gd.Rc.bf.pe.([.([.([.([.([.([.([.([.([.([.([.([.([.xe.xe.xe.7].j[.j[.j[.j[.cf.^}.{}.V&.T&.U&.(}.H7.df.df.G7.ef.E7.2f.2f.ff.gf.#6.#6.hf.if.w6.|{.jf.:{.:{.({.({.({.;6.n{.`*.;=.W*.;` U*.g-.e-.a~.d~.f~.(~.h~.9-.:|.:|.O1.Q1.PY OY ^-.{-..1.:5._!.N;.|!.I;.2!.4!.C1.kf.lf.C1.mf.nf.of.pf.qf.rf.sf.tf.uf.Je.vf.wf.`d.@9.+e.;9.xf.yf.zf.Af.Pe.Bf.Cf.Df.l/.Ef.g...7>.>;.=].i^.q<.i7.i6.Jf.m7.Od.k8.q7.N7.:e.Kf.Lf.kd.Mf.$f.Nf.Of.Pf.Qf.Rf.Sf.Tf.Uf.Vf.Vf.Wf.Xf.Yf.Zf.Zf.Zf.Wf.Wf.Wf.`f. g..g.+g. 5.@g..g.S|.#g.#g.$g.%g.&g.*g.{f.=g.-g.;g.>g.,g.'g.M5.Rf.)g.!g.D5.P5.fe.fe.P5.~g.Z|.~g.`|.^5.)5.{g.S5.]g.^g./g.(g.;}._g._g.!}.!}.h./g./g./g.8g.8g.,h.S5. 7.I0.'h.t9.t9.)h.!h.~h.{h.]h.u0.Eb.ra.[g.ma.Nc.E7.I6.w6.w6.w6.^h.^h.^h.^h./h.(h.^h.^h.^h._h.4g.h.(|.,|.,|.,|.:h.==.. ,..).{).{).]).W1.3h.mU %,.4h.5h.P>.6h.7h.8h.8h.9h.0h.ah.bh.ch.dh.eh.fh.gh.Le. e.~8.hh.,9.ih.%e.jh.kh.Re.lh.0:.b+.~d.mh.nh._& oh.[{ [{ [{ ", +" h| ph.}2.@+.0G js _i ~[ h*.6>.qh.yg.0&.Ag.>].$[.lb.`e.rh.sh. f.O7.th.q6.+f.[e.uh.vh.wh.)f.xh.yh.zh.Ah.Bh.Ch.Dh.Dh.Eh.Fh.Fh.Gh.Hh.Ih.Fh.Fh.Fh.Jh.Fh.Kh.Jh.Lh.Mh.Nh.Oh.Ph.Qh.,4.Rh.Rh.Tg.Ug.Sh.Xg.Yg.Yg.Yg.Th.Zg.Uh.@g. h.#g.#g.Vh.%g.Wh.Xh.Uf.;g.Yh.Zh.`h. i.S1..i.%h.+i.+i.&h.@i.=h.-h.-h.~g.0~.0~.`|.#i.)5.{5.{5.~5.C6.$i.]g.%i.Tb.L9.&i.C9.*i.X9.=i.-i.;i.>i.O0.Z9.,i.Y9.Kd.'i.H6.H6.7g.7g.7g.7g.7g.7g.7g.7g.)i.)i.F6.}h.)i.F6.F6.(g.;h.=|.=|.!i.+=.7~..=.6~.6~.$i.be.~i.'i.'i.'i.!g.Q5.{i.%|.%|.2h.%i.H5.H5.F5.]i.34.SY o3.^!.:5.U|._!.[!.^i.@!.+!.V1..!.G;.H;.BX p;..,.L2.%'.%'.O;. ,.))..).{).]).I>.%,.nV mU 64.74.74.P2.Q2./i.(i._i.:i.].u|.2b.Bg.pi.sh. f.qi.ri.Kf.Eg.Fg.$f.si.ti.ui.Ig.vi.wi.xi.yi.zi.Ai.Bi.Bi.Bi.Ci.Ci.Di.Ei.Bi.Ei.Fi.Fi.Gi.Gi.Ei.Ei.Gi.Hi.Ii.Ji.Ki.Li.Mi.Oh.Ni.Oi.Pi.Qi.Tg.Tg.Ri.Ug.Si.Ti.Yg.Th.Zg.`g.Ui.Lg.Vi.Wi.Xi.Xi.Yi.Zi.=g.$g.p3.p3.T1.S1.34.34.$h.%h.`i.&h.*h.#|.%i. j. j..j.~g.~g.+j.+j.Q5.@j.`|.#j.$j.o@.t@.z@.L9.m(.1_.d_.S(.%j.M9.S(.&j.{i.*j.=j.=j.=j.=j.F6.F6.F6.F6.0g.*j.*j.*j.0g.0g.|h.]g.~i.$i.`|.6~.6~.Y|.4~.Y|.2~.-5.-j.;j.!g.!g.>j.{i.,j.2h.'g.]f.%i.Zh.I5.Y4.W4.%5.$g.'j.T1.=!.N;.[!.+1.V1.V1.G;.G;.BX AX AX xX )j.@).`>.`>.')..).Y,.{).]).W1.%,.mU c4.64.74.P2.Q2.!j.~j.~j.{j.]j.^j./j.(j._j.:j.k.)g.,k.,j.,j.K5.;g.;g.-g.=g.{f.Wh.'k.@h.$5.Z4.+5.E;.@!.)k.!k.G;.='..,.~k.%'.)j.O;.O;. ,..).Y,.qW ]).oW %,.nV {k.c4.]k.P2.u3.^k./k.(k.{j._k.]j./j./j.:k.] >] ", +" w< w< <, =<.0G *:.|5 [/.o).ok.kj.6^.H!.pk.qk.M}.rk.f8.sk.m8.Dg.tk.uk.Lf.Fg.vk.wk.xk.ui.yh.vi.wi.yk.yj.zk.Ak.Gi.Bk.Ck.Cj.Dk.Ek.Ej.Fk.Cj.Cj.Hj.Fj.Ej.Dj.Hj.Gk.Dj.Hk.Kj.Lj.Ik.Hi.Mj.Jk.Oh.Qj.Qj.Rj.Oi.Sj.Tj.Uj.Kk.Lk.Wj.Wj.Yj.Zj.Mk..k.Nk.Wh.Xh.Ok.Vf.Pk.Qk.Rk.Sk.Wh.S1.Tk.`i.+i.E5.E5.F5.=7.%i..j.2h.%|.N5.Q5.O5.O5.!5.$i.P5.de.|h.|h.;g.Uk.Vk.Wk.o0.G0.ma.Xk.Yk.}h.%k.[h._f._f._f._f._f._f._f._f._f._f._f._f.H6.H6.G6.G6.G6.G6.=j.=j.|h.~g.-j.-j.-j.-k.Y|.Zk.=k.fe.fe.P5.D5.>k.)g.,j.,j.,g.K5.`k.-g.=g.{f.W4.&g.@h.$5. l.^i..l.)k.!k.!k.&'..,.+l.%'.)j.O;. ,.L>..).J>.]).]).@l.3h.nV c4.#l.P2.P2.Q2.$l.(k.~j._k.]j.%l./j.&l.*l.=l.:j.-l.}k.;l.>l.,l.'l.)l.!l.~l.{l.]l.^l./l.(l._l.:l.:.$X x} {$.ok.9l.0l.al.bl.>].O}.n7.bc.|d.cl.Dg.tk.x7.dl.@f.el.fl.gl.hl.il.Yf.jl.kl.ll.ml.nl.Gi.ol.pl.Fk.Fi.Fi.Fi.Fk.Cj.Dj.Dj.Bj.Bj.Hj.Hj.Hj.Dj.Ci.ql.Lj.rl.Mj.sl.sl.Qj.Qj.Rj.Rj.tl.Tj.Uj.ul.Lk.Wj.Yj.vl.Zj.Mk..k.Xi.@k.Xh.Tf.Pk.Pk.Rk.Rk.wl.;f.'f.xl.yl.+i.E5.H5.yl.%i.2h.%|.%|.Q5.Q5.%k.!5.P5.|h.|h.=k.=j.}h.}h.G6.H6.=j.zl.,j.Al.fe.'i.)g.P5._f.Bl.Bl.y6.y6.y6.y6.y6.y6.y6.y6.Bl.je.je.:f.:f.:f.:f._f._f._f._f.[h.H6.{g.0~.Cl.~g.8~.8~.ge.Dl.ge.ge.fe.fe.fe.P5.>k.zl.,k.,j.'g..j.>g.-g.=g.{f.&g.&g.q3.U|.^4.$!.@!.)k.!k.BX AX ~k.~k.)j.@).O;. ,.)).J>.J>.]).@l.El.nV N2.#l.74.P2.^k.$l./k.{j.{j.]j.Fl.%l.Gl.Hl.Il.Jl.Kl.-l.Ll.)l.Ml.6k.~l.Nl.Ol.Pl.Ql.Rl.Sl.Tl.Ul.Vl.Wl.Xl.Yl.Zl.`l. m..m.+m.@m.#m.$m.A+.%m.k% &m.*m.n] =m. ", +" -m.;m.$u VE :R $X 9G (%.>m.,m.oi.'m.bl.)m.+}.!m.~m.h8.{m.Dg.]m.^m.0d./m.el.(m._m.:m.il.k.2h.L5.2h.2h.{i.Q5.!g.'i.P5.be.|h.0g.=j.=j.}h.G6.[h.[h._f._f.Uk.0m.Bl.Bl.Bl.am.am.bm.z6.cm.dm.em.em.em.em.em.em.em.em.em.em.dm.dm.z6.am.y6.y6.y6.je.:f.:f.:f.(g.;h.;h.fm.-|.]g._f.gm.gm.Dl.hm.ge.ge.fe.fe.ce.>k.zl.,k.'g.'g..j.;g.=g.I5.{f.$g.-!.&!.%!.$!.x;.)k.!k.q;.&'..,.%'.)j.@).O;. ,..).Y,.im.]).@l.nV jm.c4.64.P2.P2.$l.$l.(k.~j._k.]j.%l./j.:j.km.:j.Kl.lm.|j.Ml.6k.~l.Nl.mm.Pl.Ql.Rl.nm.om.pm.qm.rm.sm.tm.um.vm.wm.lh.xm.ym.zm.Z{.Am.Bm.=:.Cm.Dm.[{ %^ ", +" -m.Em.55 'q )q WE Fm./R D!.Gm.7>.zg.Hm.![.Im.N4.Jm.cc.{m.Km.Lm.z7.Mm.Nm.rj.Om.Pm.!f.Qm.Rm.n.'i.Al.be.be.|h.=j.}h.G6.G6.[h.gm._f.Uk.1e.,n.Bl.am.am.dm.em.em.em.em.em.jd.'n.'n.N6.N6.N6.N6.N6.jd.jd.jd.jd.jd.jd.jd.jd.)n.)n.em.em.em.em.am.am.!n.>5.>5.S5.]g.,n.,n.Bl.Uk.~n.gm.Dl.Dl.ge.ge.fe.ee.ce.;j.zl.{n.'g.'g.>g.;g.=g.{f.B2.-!.*!.%!.[!.^i.+!..!.r;.BX .,.%'.)j.@).O;. ,..)..).]n.]).@l.3h.nV c4.64.74.P2.$l.^n.(k.{j.]j.%l./n.(n.km.Il._n.:n.$.QE Fm.9G mn.Gm.Gm.>;.K}.nn.'].N4.)m.on.1d.pn.qn.rn.sn.Nm.tn.un.wk.vn.hl.Rm.!.=!.C;.[!.^i.+!..!.!k.BX .,.%'.)j.@).`>. ,.)).J>.qW ]).@l.nV {k.c4.64.P2.u3.Q2.^n.(k.Sn.^j.Tn.Un.(n.Vn.Wn.Xn.Yn.~l.Zn.`n. o..o.+o.@o.#o.$o.%o.&o.*o.=o.-o.;o.>o.,o.'o.)o.!o.~o.f:.{o.y+.]o.]) ^o.%^ +/ +/ ", +" /o.kn.s/ Xk =X G` . ,.Y,.Y,.]).@l.%,.nV N2.64.#l.P2.^k.$l.(k.{j.Sn.mo.no.(n.(n.km.oo.po.qo.ro.Ol.so.to.uo.vo.wo.xo.Vl.yo.zo.Ao.Bo.Co.Do.Eo.Fo.Go.Ho.a9.G:.Io.Jo.3> Ko.Lo.Mo. ( ", +" /o.[= Wx )q qS No.Oo.A%.M[.Po.Im._o.Qo.Ro.So.To.}o.|o.Uo.Vo.Wo.Xo.Yo.5o.Zo.p.,p.'p.)p.,p.cm.Uk.J6.,n.K6.z6.L6.em.'n.N6.N6.N6.Ln.!p.le.le.F7.F7.F7.jo.pd.pd.pd.pd.~p.~p.~p.{p.{p.{p.{p.{p.~p.]p.]p.]p.~p.pd.pd.^p.^p.jo.F7.F7.F7.ke.Kn.[f.{|.ke./p.Ln.Ln.@f.(p.'n.M6.em.cm.Bl.1e.1e.Qn.Gg.G6.ge.ge.fe.P5.;j._p.{i.M5.:p.}-.q.,q.1l.'q.)q.4a.!q.~q.l:.{q.]o.]q.^q./q.(q.p, ", +" m4 pp._e LB =X ><. z QB a7._q.*[.W3.Z[.X3.:q..Y,.J>. q.@l.3h.nV c4.64.P2.Q2.^k.oq.oq.1p.pq.1p.qq.mm.#q.rq.sq.tq.uq.vq.%q.wq.&o.xq.yq.zq.Aq.Bq.Cq.'o.Fo.Dq.Eq.Fq.Gq.Hq.D:.Iq.c* Jq.Kq.0( Lq. ", +" m4 m4 %1 Xx WE /%. z Mq.1^.*[.W3.}3.Nq.ne.Oq.Pq.w7.Qq.Rq.rn.Sq.Tq.Uq.Vq.Wq.vn.Ap.Xq.Yq.7q.Zq.`q.qq.Hh.Fp.#p.Fp.Fp.Xm.nl.nl.Gp.nl.nl.nl.|m.|m.Ym.&p.Lh. r..r.0q.Tm. p.7o.Sm..n.Yj.`j.co.6m.Xi.@k.Vf.Pk.Rk.Rk.wl.;f.'f.%n.&n.*n.=n.Fn.;p.;p.Np.ae.io.Pp.+r.@r.Rp.#r.Sp.ed.gd.gd.$r.%r.%r.&r.*r.*r.eq.=r.jo.-r.{p.gq.;r.jq.>r.jq.K7.K7.K7.K7.,r.,r.,r.,r.,r.M7.M7.M7.'r.'r.'r.'r.'r.'r.'r.'r.'r.M7.,r.,r.,r.,r.K7.K7.jq.jq.hq.Tp.>r.>r.8d.)r.8d.!r.!r.8d.~r.Wp.Xp./p.Ln.N6.'n.'n.em.cm.,n.1e.1e.1e.~n.Yp.Yp.{r.ge._~.W|.M1.1-.}-.RY )!.-!.&!.%!.$!.@!..!.BX AX xX %'.)j.`>. ,.)).Y,.]). q.%,.nV N2.64.P2.Q2.]r.^r./r.(r._r.:r.r.>r.Ir.Ir.Ir.Jr.Jr.Jr.Kr.sc.sc.sc.t8.t8.Lr.Lr.Mr.Mr.Mr.Mr.Mr.Lr.Lr.Lr.Lr.t8.sc.sc.sc.Jr.'r.'r.,r.,r.K7.oc.oc.Nr.Or.Pr.Pr.Pr.Qr.Rr.Or.Sr.Tr.Ur.!r.Wp.fq.N6.M6.'n.tn.M6.On.On.Vr.Wr.Xr.}e.{r.X|.Yr.W|.4-.1-.}-.RY '!.;!.&!.%!.^i.x;.Zr.BX AX %'.%'.@).O;.L>..).J>.]).]).3h.nV N2.64.84.`r. s./r..s.+s.@s.#s.so.Pl.$s.Rl.vo.%s.&s.0p.ap.*s.=s.-s.;s.fp.>s.,s.'s.Va.)s.!s.~s.{s.Jo.]s.^s./s.(s.h_ ~: ", +" hr.hr.J1 $;.,$.y} _3.{$._s.-[.X[.jr.C7.:s.v6.<.eG fG .z 6>.)[.J<.Rs.w[.gf.x6.!n.t.Xi.Vf.Bn.~f.,t.$n.-p.!f.&n.&n.=n.'t.)t.Sd.Np.!t.,p.,p.Qp.Rp.Sp.dq.ed.gd.~t.{t.Br.Cr.ds.]t.es.Fr.^t./t.gs.hs.(t._t.:t..]).@l.nV kU lt.mt.nt.Cs.ot.6h.vr.sq.Ql.Rl.4n.pt.%q.7n.qt.rt.st.tt.ut.vt.wt.xt.yt.Dq.zt./a.At.Bt.Ct.A:.Dt.%#.Et.Ft.op.K: ", +" ]8 ZP @..tN XE TT fG |) Gt.Y6.K4.r6.[s.Ht.ie.It.Jt.Kt.rn.1q.Lt.Mt.Nt.Ot.Zs.Pt.Qt.Yq.Rt.8q.`q. r.&p.&p.$t.Gh.#t.Hh.$t.%t.%t.%t.Gh.Gh.Gh.Lh.Um.0q.St. p.vr.*t.6q.6s.Xq.`s.Tt.Ut.Vt.#n.~f.,t.$n.-p.Wt.&n.Dn.eo.)t.)t.Sd.ae.0s.,p.)p.Qp.Xt.dq.ed.dd.bs.cs.Br.Cr.ds.ds.es.Fr.^t.gs.gs.hs.(t._t.:t.u.,u.bt.'u.)u.!u.~u.~u.ls.ft.os.Sr.{u.!r.{t.]u.]u.!r.%r.!r.{g.4~.2~.X|._~.W|.4-.|-.|-.[-.PY =!.&!.^4.x;..!.!k.&'.xX %'.)j.`>. ,..).Y,.qW ]).nV nV ^u./u.Cs.mt.f3.(u._u.:u...).Y,.]).&,.Zu.`u./u./u. v..v.Ug.+v.@v.uq.vo.#v.$v.0p.ap.bp.cp.-s.>q.fp.%v.&v.+b.Wa.*v.=v.Os.-v.>a.x:.;v.>v.,v.'v.L: O[ ", +" }e )v.B, 7M z !v.1&.E}.Z7.~v.{v.]v.L6.@8.lr.^v./v.(v._v.mr.:v.!.*!.%!.$!.+!.!k.&'.~k.%'.%'.O;. ,.L>.Y,.]).]).Kv.`u.Lv. v.i3.Mv.Nv./l.Ov.Pv.Qv.xo.&q.qt.Gs.st.Rv.Aq.Is.Sv.Ks.yt.Dq.Tv./a.Uv.Vv.Wv.Xv.v:.Yv.9u.Zv.O[ `v.`v. ", +" w.}e 3R ><.PB TT .w.hZ Gm.1].Po.+w.kd.@w.#w.Rn.Qf.*f.$w.mr.%w.&w.*w.=w.Zs.-w.6s.6q.+t.;w.>w.5v.Ep.pu.%t.%t.%t.pu.ml.ml.Lh.ml.ml.yj.Dp.Tm.8o.,w.*t.6q.'w.Xq.`s.;t.6v.su.}v.iu.)w.!w.~w.Cn.En.eo.)t.8e.go.ho.0s.av.bv.Xt.{w.Ar.gd.$r.]w.Br.^w.es.Fr.Fr./w.nc.nc._t.xu.ev.ev.Yt.Yt.(w.fv._w._w._w.hv.:w.jv.jv.kv.!.&!.[!.x;.)k.r;.&'.~k.%'.@).O;.L>..).]).Z,.e3.`u. v.i3.Qh.y1.mf.ow.pw.%s.9p.7n.qt.rt.qw.zq.rw.sw.tw.4u.uw.6u.}a.vw.ww.xw.yw.zw.p:.q:.Aw.Bw.Cw.O[ o} ", +" w.}e {^ dG XH 1&..z TB Dw.V&.+w.@f.z6.#w.Ew.Fw.Gw.Hw.Iw.1s.Jw.Kw.Lw.Mw.Nw.Ow.Pw.,w.Qw.`q.yj.ml.pu.%t.Ep.Ep.ml.ml.ml.ml.yj.yj.Rw.9o.8o. p.8s.*t.'w.Xq.ru.;t.Ut.su.=w.iu.*w.!w.Sw.Tw.Uw.Vw.'t.7e.go.io.Ww.av.Xw.Yw.ed.Ar.gd.cs.]w.Zw.^w.es.fs.^t.gs.nc.[t._t.x.>x.,x.'x.)x.!x.!x.~x.ov.{x.7w.]x.^x./x.(x._x._x.:x.:x.:x..)).K>.b3.q2.3x.i3.Qh.Pi.Yg.4x.5x.6x.6n.|u.1r.2r.1u.7x.ut.8x.9x.%v.,s.'s.Wa.:a.0x.ax.bx.cx.dx.p:.]0.9u.ex.o} }| }| ", +" *W w.fx.EO PB w=.ZE gG n$.gx.Im.]v.#f.je.%f.Hg.7m.yh.hx.ix.Jw.Kw.Lw.jx.kx.-w.lx.8s.3v.mx.nu.qq.pu.Ep.0o.qq.qq.ml.ml.ml.yj.yj.Dp.St.8o.,w.*t.qu.*1.ru.;t.Tt.nx.su.Lw.*w.ox.px.qx.rx.sx.tx.ux.vx.Ww.,p.av.Xw.{w.ed.Ar.wx.cs.*r.Zw.Uu.xx./t.gs.wu.yx._t.y.,y.na.t:.Xv.'y.)y.Cw./G W| ", +" *W -a !y.PB TT ZE gG F 3]./].s6.[e.|e.~y.*f.=f.Ig.uj.{y.gu.]y.^y.su.Ut.-w./y.(y.Bp.mx.nu.qq.%t.0o.0o.tr.qq.ml.Um.yj.tr.Dp.9o.8o. p.8s._y.'w.Xq.`s.:y.6v.4s.x.ty.,x.uy.uy.Rx.4w.vy.Sx.vy.3w.9y.db. x..x..x.|f.'|.^g.;h.)5.0~.-h.Y|.2~.[~.Yr.4-.1-.[-.!!.o3.*!.^4.x;.V1.BX .,.~k.%'.@).`>.m2.;4.i3.>4.'4.wy.Wg.Lw.xy.yy.zy.0p.Ay.Gs.By.-s.>q.Is.Sv.Cy.Dy.Dq.Tv./a.Ey.Fy.Gy.Hy.lp.t:.Yv.Iy.Jy.B1 Ky. ", +" 'X -a [] @W !v.gG tS Ly.My.My.Ny.Xr.Oy.Py.Qy.wl.Ry.4o.Sy.Ty.Uy.su.Ut.`s.Vy.Wy.Bp.xn.Xy.qq.qq.qq.tr.tr.ml. r.Um.Um.nu.Dp.Tm.8o.,w.6q.qu.*1.ru.;t.Ut.su.Yy.iu.Zy.!w.qx.`y. z..z.+z.@z.#z.$z.,p.vu.{w.ed.4y.cs.Br.Dr.Er.^t.^t./t.hs.[t.xu.xu.ev.Yt.(w.%z._w.iv.jv.jv.[w.}w.&z.Bx.7y.Cx.+x.Dx.*z.Ix.Ix.=z.ay.ay.by.cy.cy.cy.dy.-z.;z.>z.>z.,z.at.!u.'z.!u.)z.)z.)z.)z.!u.!u.'z.'z.)z.dy.0y.!z.~z.{z.]z.]z.o9.^z./z.ta.sa.sa.(z.(z.Kx._z.ky.:z.Lx.Lx.i9.Nx.Nx.Nx.my.ny.4.;4..y.'4.!4.2z.S|.3z.4z.5z.6z.Fs.7z.8z.9z.Aq.0z.wt.az.uw.6u.9r.vw.At.Vv.bz.cz.x0.Nb.Nb.dz.ez.fz.gz.gz. ", +" 26 'X 95 91.hz.)b.tS iz.][.L&.jz.#f.{r.Jt.!f.uj.Sk.kz.lz.mz.Uy.=w.nz.oz.pz.6q.,w.8q.`q.+p.qq.qq.tr.nu.Um.nu.nu.yn.Dp.0q.qz. p.`o._y.'w.ru.;t.kx.6v.}v.Lw.)w.!w.rz.sz.tz..z.|y.uz.vz.wz.xz.yz.Sp.ed.4y.wx.zz.Er.fs.Gr.^t.Az.5y.z.>z.Gz.Hz.Iz.Iz.Iz.Iz.Iz.Jz.Hz.Su.Kz.Kz.Kz.Kz.Kz.'u.'u.dt.,u.Iz.Iz.by.Lz.Mz.~z.Nz.H0.Oz.Vv.Pz.{z.Qz.{z.Rz.Sz.Tz.Uz.Uz.Uz.hy.^z.Vz.Vz./z.Wz.Wz.Xz.Xz.Kx.Yz.sa.Zz.Ix.dy.`z.at.$6.,h.,h./g. A.;h.-|.~g.-j..|.X|.N1.n3.2-.}-.!!.,!.*!.[!.x;.V1.BX .,.~k.~k..A.+A..y.'4.!4.@A.#A.,t.$A.&s.wq.&o.%A.&A.*A.ut.6r.Do.%v.=A..b.Wa.A.,A.Ky.93 ", +" oZ 'A._7 ~V !v.)A.!A.a8.L&.~A.@w.vk.3o.gl.=f.,t.Yf.{A.]A.ox.=w.jx.;t.pz.Yq.,w.^A.;w.+p.qq.qq.nu.nu.Um.nu..r..r.Dp.0q.qz.7q.*t.qu.*1.ru.;t.Zs.su.Yy.7v.Kw./A.(A.`y._A._A.uz.#z.:A.:A.X >X 'A.BA.5D CA.DA.hG I4.;}.EA.Mf.In.FA.!f.Vt.GA.jl.HA.ox.Lw.ju.IA.JA.KA.8s. p.xn.nu.qq.LA..r.nu.nu..r.9o.9o.9o.Tm. p.8s.6q.'w.rr.MA.NA.6v.OA.B.,B.'B.xA.)B.!B.A9.~B.y9.y9.y9.gA.{B.J0.x9.cx.hA.hA.Nz.~z.Nz.Oz.~z.]B.7A.Dv.^B.Su.oA.(h.X5.!.&!.^4.@!.!k.BX &'._B.pA.:B.!4.@A.#A.@g.@k.w..r.nu.nu..r.9o.9o.Tm.yk.vr.`o.qu.*1.ru.;t.Zs.su.B.>B.>B.'B.)B.)B.Hy.~B.~B.A9.~B.FB.#u.^B.GB.HB.nA.IB.%6.if.X5.w.>w..r.9o.nu.9o.9o.`q.Cp.aq.8s.*t.qu.rr.MA.NA.6v.OA.^y.Zy.!w.qx.`y..z.|y.*C.PA.=C.iB.C.,C.'C.)C.Yt.|A.5y.!.U|.^4.+!..!.LB.0C.!4.@A.aC.MB.NB.@h.bC.0p.Fs.QB.8z.*A.ut.6r.cC.%v.&v..b.Va.)s.dC.ax.-v.,y.xA.~B.eC.Hd.!~ fC.gC.hC.hC. ", +" iC.iC.J} .C.'A.jC./b.kC.Rs.T5.!5.=n._m.zp.lC.GA.{A.mC.yk.Ut.6v.;t.6s.Yq.Rt.Zq.4v.>w.>w.nu.9o.9o.9o.9o..p.aq. p.8s._y.=t.ru.;t.Zs.su.y.Gy.cz.;B.Lb.Uc.2&.XC.YC.^5 ^5 ", +" ZC.`C.S1 .C.'X D..D.+D.@D.!5.D5._m.vn.#D.Rm.{A.$D.yk.%D.NA.ku.&D.dB.*D.Zq.Cp.>w.>w.9o.9o.9o.&C.0q.0q.aq.vr.`o.qu.*1.ru.ku.6v.OA.^y.Zy.!w.sz.rx..z.uz.*C.=D.}A.-D.[A.;D.>D.UA.,D.'D.)C.)D.!D.(w.xu.Zt.(w._w.iv.zx.}w.6y.Bx.XA.Dx.*z.Ix.ay.by.cy.dy.>z.Hz.5A.5A.~D.ZA.`A. B.^B.^B.^B.]C.}C.{D.^C.^C.(C.(C.]D.[C._C._C._C.^D.BC.zC.zC.zC.:C./D.(D.(D.(D.(D._D._D./D.:D.|.^5.~g.-k.2~.}~.=5.M1.}-.'!.-!.%!.^4.aD.aD.@A.aC.MB.S|.Vh.Wh.bD.qm.rt.1u.cD.dD.eD.fD.Js.Cy.Dy.gD.hD./a.ww.Vv.iD.~B.VB.w9.jD.]0.kD.lD.,A.W8 W8 ", +" s< H} j4 .C.WT 7B.mD.M[.de.O5.=f.4o.tu.il.nD.jl.mC.Rg.8o.Ut.;t.dB.Wy. p.Cp.`q.>w.9o.9o.`q.4v.0q.aq.%D.7o.6q.oD.Xq.;t.ku.nx.Yy.^y.[y.rz.}y..z.|y.*C.PA.pD.}A.xz.:A.qD.*r.*r.Fr.rD.sD.tD.uD.vD.vD.wD.1x.iv.kv.[w.Bx.XA.Cx.3A.0y.Ix.by.dy.;z.>z.Gz.5A.6A.6A.6A.xD.sB.^B.^B.]C.GB./C./C./C./C./C.[C.[C._C.^D.zC.zC.zC.zC.zC.zC.zC.:C./D.(D.(D.yD._D.zD.AD.AD.BD.BD.CD.DD.ED.ED.!.=!.OD.R|.aD.aC.MB.Z4.PD.{f.Qk.QD.qA.RD.SD.9z.Aq.0z.wt.4u.uw.8r.Va.TD.0x.xw.bx.UB.UD.6D.VD.Nb.n#.WD.XD.YD.ZD. ", +" v_ v_ `D.4Y oZ .C.26 26 E.ys.X4.,f.zp.Vt.GA.[m.Sm..E.yn.aq.;t. t.Wy.,w.8o.`q..r.9o.9o.4v.`q.0q.aq.%D.8s.6q.1v.ru.;t.Zs.su.E.[C._C.,E.zC.zC.'E.:C.:D.:D.:D.:D.ED._D.AD.CD.CD.CD.BD.BD.)E.!E.~E.~E.{E.1l.]E.^E./E.(E._D.6C._E.:E.m@.m@.F.,F.cq.'F.eo.Hn.go.Ww.)p.Sp.ed.)F.cs.]t.Fr.!F.|A.`t.ev.wD.tE.~F.vE.{F.]F.yE.^F./F.(F.(F._F.>z.>z.:F.B.aF.{L A(.bF.cF.Q9.Q9.Q9.dF.eF.0_.0_.t(.G(.KE.t(.g@.fF.Tz.xB.6w.gF.gF.Lz.gF.hF.>u.iF.7E.NE.I7.6f.0D.1z.oA.:g.X5.,h./g.>|.^5.8~.Y|.X|._~.=5.}-.n3.&g.#5.+5.&5.0E.*g.=g.>g.Sd.jF.bE.kF.rA.lF.fD.Js.xt.uw.mF.}a.vw.At.nF.oF.pF.qF.W9.Tc.yA.B$ rF.sF.S9 Sb ", +" tF.($.W: `B._7 oZ oZ uF.vF.wF.xF.yF.zF.}k.AF.BF.no..q.CF.Mj.DF.Lh.Fh.Fh.Kh.Fh.&F.Kh.DF.EF.FF.An.Mg.+n.+k.@k.#n.GF.Vt.-p.Cn.HF.)t.7e.!t.as.IF.Sp.JF.#E.KF.es.^t.|A.1A.ev.LF.gv.MF.vE.{F.NF.OF.PF./F.QF.RF.SF.TF.UF.TF.VF.%B.%B.$B.;E.]C.]C.GB.^C./C.(C._C._C.,E.WF.:C.:D.BE.BE.XF.ED.DD.DD./E.CE.~E.{E.{E.{E.3F.FE.FE.HE.'o.YF.YF.ZF.hp.7F.7F.7F.Fo.Fo.`F. G. G.)q.)q..G.+G.xB.@G.#G.O9.{L {L {L $G.j@.j@.j@.A(._E._E._E.%G.{L u(.=B.&G.*G.vy.'x.=G.=G.'x.dA.-G.;G.t8.>G.M7.I7.pe.6f.9D.|f.}f.:g.!}.,G. A.R5.0~.-k.Z}.}~.=5.=5.W4.&g.0E.0E.$g.*g.'G.>g.^f.)G.bp.7x.dD.lF.0z.!G.4u.~G.'s.{G.vw.]G.TB.bx.UB.'B.F9.j9.Uc.eE.^G./G.(G.S9 ", +" q'._G._G._$.:G._7 _7 E.[D.8C.[D.fG.x.hF.vG.vG.>x.ny.7w.wG.2t.xG.>G.iF.yG.pe.0D.1z.oA.:g.X5.,h./B.{g.0~.-j..|.[~._~.E5.;g.W4.@h.&g.&g.'G.zG.Rf.Sd.&d.kF.9z.Aq.Bq.9x.%v.,s..b.Wa.)s.!s.Ey.>y.Gy.xA.E9.AG.$j.BG.CG.DG.EG.FG. ", +" GG.GG.v/ _$.5Y _7 >X HG.IG.JG.KG.LG.}k.Wn.AF.Il.km.2p.3p.1p.|p.mt.MG.Tg.Zm.NG.NG.Tg.Uj.ul.OG.Ui.co.+k.Vf.Sk.,t.;f.Cn.9v.PG.8e.go.+r.Rp.QG.)F.RG.Dr.xx./t.hs.ev.ev.(w._w.iv.`w.Bx.SG.PF.TG.UG.aG.SF.SF.VG.bG.WG.dG.dG.sg.WF.WF.wC.BE.XG.xC./D.YG.(D.ZG._D.CD.`G. H. m.{E.EE.EE.EE.3F.FE.HE.HE.HE..H.'o.5F.hp.7F.7F.Fo.Fo.)o. G.+H.nG.lG.@H.#H.8r.$H.$H.%H.%H.&H.%H.*H.$H.*H.=H.uG.dA.pG.pG.-H.;H.x9.'B.>H.>H.'B.~z.Wz.-H.,H.hF.Jx.X x.dA.dA.gH.hH.vG.vG.-H.iH.iH.jH.jH.kH.Mx.Lx.Lx.jH.:z.lH.jH.mH.Pd.nH.oH.pH.we.qH.yG.pe.0D.1f.oA.:g.8E.QC.JB.)5.nw.Y|.#|.,j.,j.I5.I5.I5.=g.#k.^f.Qf.vk.rH.9z.ut.sH.fp.Js.tH.Dy.Dq.Tv./a.ww.Vv.uH.vH.VB.BB.,a.wH.~~ xH.yH.@7 zH. ", +" AH.x,.x,.m( `B.:H.:H.BH.KG.CH.DH.EH.:j.FH.(n.3p.1p.pq.oq.GH.:r.+s. v.,4.Tg.Tg.}H.Ti.OG.|H.co.Xi.Vf.Ig.6G.'f.Cn.HH.Hn.go.Ww.Rp.Sp.Ar.#E.qD.8G.gs.[t.ev.Zt.(w.=x.kv.}w. x.IH.3A.JH.aG.SF.VG.cG.cG.gk.gk.8H.wC.wC.KH.yC.LH.hG.MH.ZG._D.AD.AD.NH.CE.!E.{E.{E.FE.FE.jG.jG.'o.YF.OH.cn.hp.8F.Fo.kG.PH.)q.lG.#H.QH.$H.$H.%H.&H.Va.eH.Tv.RH.Ms.Ms.SH.TD.TH.UH.VH.Eq.~o.~o.WH.)s.VH.iH.&G.jH.jH.Mx.Mx.XH.YH.YH.ZH.`H.`H.`H.`H.`H.Yz.Yz.Yz.Kx.Yz. I.Xz.^z.pv.C8..I.+I.@I.!H.#I.$I.LE.OE.6f.9D.|f.%I.X5._g./B.;h.0~.-j.Q5.;j.,g.;g.;g.-g.>g.'g.Qf.D5.&I.SD.5r.eD.Is.Js.4u.`F.8r.9r.TH.0x.xw.yw.UB.-A.*I.ra.Uc.V#.=I.-I.;I.'i ", +" bA bA %z [%.GG.>I.:H.:H.,I.'I.DH.)I._n.km.(n.3p.1p.pq.oq.GH. s.Cs.Cs.Lv.f3.!I.Uj.Vj.OG.|H..k.wr.Tf.Sk.6G.'f.cq.HH.Hn.go.Ww.Rp.QG.)F.1H.]t.8G.sE.~I.Yt.Zt.%z.kv.[w. x.Cx.3A.Ix.Dz.{I.VG.bG.6H.gk.sg.8H.]I.^I.yC.xC.xC.hG.MH._D./I.CD.CE.CE.~E.{E.3F.HE.HE.jG.jG.jG.YF.5F.cn.bH.8F.`F.PH.)q.nG.lG.#H.$H.$H.(I.Va.dH.eH.Tv.VH.SH.TH.TH.TH.kp.kp.TD._I.WH.WH.)a.)a.kp.kp.Fq.iy.jy.lH. I. I.Yz.#G.#G. I.#G.#G.jy.jy.:I.:I.Wz.Wz.sa.I.dI._7 eI.fI.)I.gI.[k.2p.3p.1p.|p./r.GH. s.Cs./u.Lv.`u.d3.hI.Ug.Th.Zj.6m.@y.Tf.Rk.6G.Lp.7G.eo.8e.ho.+r.vu.Ar.)F.1H.iI./t.hs.k.)g.(f.Qf.>k.D5.ee.XI.Xl.Aq.;s.YI.ZI.Ks.Ls.Dq.Eq./a.At.Vv.yw.Mz.`I.eA.ar. J.$$ .J.+J.Em ", +" 8B.@J.@J.VB #J.G=. D.$J.%J.II.gI.Fl._j.1p.|p./r.:r.KI.Cs./u.Lv.`u.e3.q2..y.y1.wy.&J..5.%g.zG.$n.Wt.'F.eo.7e.rE.)p.Sp.Ar.*J.]t.8G.hs.J.,J.en.eH.Eq.Ms.Ms.:a.:a.)s.)a.)a.)a.kp.'J.mI.iy.=v.]G.]G.ww.ww.UE.Ey.Ey.)J.ax.TB.xw.xw.xw.xw.xw.Vv.xw.FD.FD.ua.ua.!J.ua.ua.!J.B0.B0.B0.B0.Pz.~J.C0.u9.jA.hA.Px.{J.]J.mH.TI.^J.8D.C8.@I.MD.xG.7E.yG.pe.E7..6.}f.y.>y.>y.bx.bx.bx.yw.Fy.B0.kA.kA.CC.Fy.Fy.cJ.H0.H0.Nz.~z.~z.~z.~z.CC.~z.u9.)H.Yc.dJ.]J.eJ.rI.;G.Ld.fJ.|I.gJ.>G.iF.pe.tI.1f.%I.v.PJ.QJ.RJ.SJ. ", +" TB TB TJ.TJ.aA UJ.VJ.WJ.&l.]j.{j.(k.XJ. s.Cs./u.Lv.`u.d3.q2. y.;4.!I.!4.3J.YJ.qJ.%g.Wh.zG.,k.hJ.ZJ.~n.cm.io.as.dq.{t.Vu.`J.`t.LF.Au.}w.sC.Dx.=z.dy.Gz.5A.`A.^B.]C.(C.wJ.^D.zC.Qe.zD.CE.CE.6J.3F.FE.HE.jG..H.YF.5F.cn.cn.xm.kG.PH.PH.nG.Go. K.8J..K.fH.eH.~o.~o.!q.)a.kp.kp.mI.dC.PI.BJ.ww.Ey.CJ.CJ.xw.DJ.wA.dE.dE.dE.uH.uH.+K.iD.iD.FJ.FJ.@K.#K.$K.%K.%K.2B.&K.&K.*K.UB.,y.gA.gA.=K.gA.UB.vH.~B.=K.=K.A9.~B.~B.6D.ma.-K.;K.>K.HJ.JJ.,K.'K.LJ.)K.X7.!K.wG.WI.2I.I7.tI.1f.ff.le.mq.em.1e.Dl.ge.ge.ge.Rn.ge.Ew.~K.3u.SB.9x.%v.Ks.Ls.4a.Eq.Fq.ww.Vv.yw.~B.6D.k9.{K.]K.^K./K.(K.RJ. ", +" F F _K._K.:K.4.pA.Wg.YJ.S|.$5.Wh.;g.,k.;j.ZJ.~n.cm.>p.as.dq.{t.zz.}t.Rr.mw.mv.|K.&x.1K.2K.3K.Su.4K.9t.&u.5K.vJ.^C.HB.fG.6K.-x.(E.7K.7K.6J.8K.xB.9K..H..H.0K.aK.bK.=G.PH.ip.cK.dK.>J.AJ.en.YH.~o.)s.kp.Fq.Fq.mI.]G.0r.ww.UE.ax.CJ.xw.wA.wA.>y.bx.oF.iD.iD.Gy.FJ.#K.#K.#K.%K.2B.2B.2B.&K.eK.fK.fK.fK.gK.gK.gK.VB.hK.cz.~B.fA.)B.)B.xA.xA.xA.xA.iK.xA.>B.qF.AG.jK.kK.lK.mK.nK.oK.pK.KJ.UI.qK.rK.fJ.MD.sK.qH.I7.6f.E7.pd.=r.mq.em.1e.Gg.G6.ge.he.Ew.Ew.Gr.Yl.tK.fp.*y.uK.yt.(J.9r.kp.]G.xw.bx.UB.'B.na.vK.wK.xK.yK.zK.Uq ", +" ~V ~V ~V ]<._K.bI.AK.M=.1J.(k.$l.^k.zs.BK.Lv.`u.e3.q2.i3.;4.>4.pA.Wg.CK.+5.$5.Wh.;g.'g.;j.ZJ.~n.cm.>p.ws.jt.{t.zz.}t.Rr.mw.rs.|K.Gx.DK.et.Kz.EK.#B.=u.[z.FK.vJ.7C.GK.jw.HK.tv.rv.IK.JK.KK.xB.9K.*G.aK.pG.oG.oG.LK.MK.NK.OK.zJ.9J.PK.PK.~o.WH.)a.kp.Fq.;H.^z.0r.ww.UE.ax.ax.xw.wA.>y.dE.EJ.oF.Gy.Gy.QK.RK.%K.2B.&K.&K.eK.fK.fK.fK.hK.VB.gK.SK.SK.SK.TK.UK.UK.-B.SK.'B.'B.>B.>B.6D.6D.VB.qF.6D.6D.6D.6D.EB.VK.WK.Mu.Ou.XK.;K.YK.JJ.ZK.'K.LJ.Ld.fJ.VI.xG.7E.yG.pe.`K.~r.Xp.(p.dm.1e._f.Dl.Dl.Gg.Gg.[e. L.;s.fp.Js.Cy.5u.6u.Va.)s.dC.FD.>y.,y.xA.sa..L.+L.@L.#L.$L.zK. ", +" 5D 5D 5D `E %L.m).E} ){.&L.$l.^k.P2.zs.5h.`u.e3.q2.i3.w1.>4.:B.Wg.#A..5.$5.Wh.;g.'g.;j.ZJ.Qn.Pn.io.as.Wp.{t.Ur.}t.Rr.mw.rs.|w.Gx.2K.ey.,u.*L.9t.@B.Dv.%u.|F.iw.Hu.HK.cw.=L.}x.-L./x.9K.;L.;L.>L.,L.=G.dA.hH.'L.H.W9.;B.;B.E9.|L.1L.E9.K0.F9.2L.3L.4L.5L.6L.}I.mK.nK.Xc.Vk.'K.LJ.rK.Md.@I.xG.7E.yG.Ir.7L.~r.me.N6.cm.Bl.Yp.gm.gm.8L.vh.9L.RB.Is.tw.0L.,s..b.,J.)s.=v.Ey.>y.x9.xA.Xz.yb.lN aL.bL.cL./t ", +" dL.eL.eL.,V ,V e*.fL.>{.gL.u3.P2.64.N2.hL.e3.q2.i3..y.>4.y1.!4.3J..5.#5.&g.I5.K5.!g.Zp.iL.Pn.tJ.mq.jt.{t.zz.}t.Rr.mw.lv.|w.Gx.2K.ct.Su.*L.@B.Dv.vJ.|F.jL.Hu.kL.tv.}x.qv.0w.Eu./x.xB.aK.oG.,H.dn.hH.'L.>J.zJ.en.PK.~o._I.)a.)a.kp.mI.^z.pI.o9.UE.FD.!J.Vv.Fy.>y.bx.+K.iD.@K.%K.%K.%K.eK.^L.^L.hK.lL.lL.TK.UK.UK.UK.-B.[L.}L.}L.}L.}L.}L.}L.mL.nL.nL.nL.mL.nL.mL.DB.BB.BB.F9.BB.oL.pL.BB.BB.=B.qL.rL.sL.tL.uL.Mu.vL.wL.;K.HJ.JJ.mH.TI.)K..I.@I.gJ.7E.7E.oc.Hr.hd./p.N6.cm.Bl.Yp.Yp.Yp.Yp.xL.yL.sw.wt.%v.&v.Ls.%H.~o.mI.0r.Vv.bz.~B.zL.Sb.h0.AL.BL.CL. d ", +" DL.DL.EO D}.1/..z >b.EL.^k.74.c4.nV 3h.M>.q2.i3..y.x1.y1.!4.3J.YJ.@5.%g.FL.GL.)g.Zp.Dl.2e.Vr.mq.=r.~r.ds.}t.Rr.ts.lv.%x.Gx.2K.3K.0t.*L.&u.Bv.vJ.jL.Zz.-x.cw.}x.0w.Eu.(x.5E.5E.HL.6E.=G.Go.'L.>J.iH.jH.IL._I.WH.)a.Fq.WC.=v.^z.0r.UE.FD.ua.B0.^H.dE.bx.bx.Gy.#K.#K.2B.&K.fK.hK.SK.SK.SK.TK.[L.[L.[L.[L.}L.}L.}L.mL.mL.mL.JL.KL.KL.LL.LL.LL.LL.6C.ML.NL.NL.NL.6C.6C.6C.OL.&k.&k.PL.&k.U9.m9.QL.RL.SL.TL.vK.uL.6L.UL.mK.nK.JJ.]J.UI.VL..I.!K.xG.2t.1t.oc.7L.WL./p.'n.cm.Bl.1e.Bl.Yp.~t.-o.sw.XL.YL.Ks.yt.Dq.Eq.kp.PI.ua.yw.UB.ZL.`L.+L. M..M.+M.X8 ", +" hZ hZ hZ hZ hZ z *X s).El.c4.nV %,.]).`p.d3.>4.+A.@M.LB.@A.`4.+5.$g.{f.;g.{i.Al.ge.1e.Wr.yr.lq.~r.Hr.}t.Iv.mw.lv.%x.Gx.2K.3K.0t.7A.&u.vJ.^C.#M.Zx.cw.$M.:x.0w./x.^x.ov.6E.+G.6w.Lz.dA.iH.PK.YH.~o.Y_.kp.kp.~q.iy.]G.PI.UE.FD.ua.xw.^H.dE.EJ.iD.Gy.#K.2B.2B.^L.^L.gK.SK.TK.UK.-B.[L.}L.mL.mL.mL.mL.nL.%M.%M.KL.KL.NL.NL.NL.&M.&M.&M.&M.5C.zB.zB.zB.zB.zB.U9.U9.*M.5C.zB.U9.*M.J9.n9.=M.-M.jK.sv.SL.TL.uL.;M.vL.>M.nK.JJ.{J.eJ.VL..I.@I.x8.,M.Or.Nr.!r.Wp.Ln.On.'M.,n.5e.Bl.M6.)M.;s.fp.UC.Cy.yt.6u.9r.)s.]G.ua.CC.!M.~M.Tb.L' $- {M.]M.^M. ", +" |/.)b.|/..z /M.WH 'V >;.H>.nV %,.]).qW .).V>.v1.@M.(M.KB.aC.MB.$5.&g.;g.,j.%k.ZJ.Qn._M.>p.ws.Wp.Br.Tr.Or.mw.rs.|w.Hx.et.3K.YA.9t.&u.vJ.7C.Zz.-x.=L.:M._x./x.7w.ov.3w.*G.gF.Tx.Sx.vy.hF.XH.)a.Fq.iy.dC.]G.pI.RI.Ey.CJ.xw.Vv.Fy.dE.EJ.oF.QK.#K.2B.2B.fK.hK.SK.SK. bM.cM.dM.dM. ", +" w=.!v.!v.!v.QB eM.=X fM.4!.%,.]).J>..). ,.+l.-4.(M.KB.3J.k1.Z4.%g.FL.,g.!g.Zp.iL.gM.io.xs.Wp.!r.Tr.Or.lw.mv.|w.hM.2K.3K.0t.9t..B.vJ.HB.jw.dw.-L.:x.(x.7w.ov.Wx.6w.Lz.4w.'x.uy.,x.iM.>x.jH.iy.]G.0r.Ey.Ey.CJ.^H.>y.dE.EJ.iD.jM.QK.#K.^L.hK.hK.VB.SK...). ,.O;.%'.Y>.LB.@A.`4.+5.$5.Wh.;g.{i.Al.hm.2e.On.mq.Xp.{t.Ur.xM.Qr.mv.=x.Gx.yM.ct.aA.9t..B.vJ.#M.fw.cw.aw.Eu.pv.zM.AM.6w.BM.vy.'x.,x.>x.sy.Jx.py.ny.Nx.^z.xw.Vv.wA.cJ.Nz.uH.+K.FJ.#K.RK.^L.fK._L.SK.UK.[L.[L.mL.mL.mL.KL.KL.LL.&M.5C.J9.|M.|M.|M.JC.kM.CM.DM.DM.DM.5D.5D.5D.DM.1C.EM.EM.FM.P(.FM.GM.P(.HM.P(.|_.L9.L9.L9.D9.zw.IM.JM.lM.KM.0M.2M.4M.LM.RL.vv.rM.MM.NM.mK.HJ.ZK.UI.^J.OM.|K.PM.QM.oc.RM.Wp.ws.N6.On.cm.cm.p.me.~r.Hr.1t.`M.ts.lv.@x.ms.Kz.0t.9t.Dv.vJ.#M.fw.rv.aw.=M.7w.~x.Wx.Tx. N.,x.Px.ry..N.ry.py.ny.my.Mx.:z.Wz.Vv.bx.uH.bz.{L.%K.2B.cz./L.gK.SK.UK.-B.[L.}L.mL.nL.%M.%M.LL.&M.zB.J9.|M.|M.|M.JC.kM.DM.DM.5D.5D.IC.EM.EM.EM.EM.EM.FM.FM.FM.O(.O(.O(.O(.O(.+N.7_.O(.z@.1_.@N.g9.#N.$N.%N.&N.VK.Xk.oM.3M.pM.*N.TL.vK.)H.vL.mK.HJ.ZK.UI.ls.@x.lv.mw.Or.is.)r.=r.Ln.M6.On.z6.nc.=N.sw.XL.UC.Ks.yt.Dq.9r.)a.]G.FD.ny.-N.^0.;N.>N.,N.'N. ", +" @W PB PB PB '$.rN gs -b.y%.Y,. ,.O;.%'.~k.AX BX !k.E;.Z4.$g.{f.;g.)g.Zp.G6.,n.tJ.Ln.WL.{t.Tr.Iv.mw.)N.p.M6.rn.fN.tK.YI.tw.az.5u.'s.-y.*v./a.Fq.gw.!.jN.;g.)g.Zp.Dl.sJ.tJ.fq.Wp.RM.Tr.Iv.ts.lv.!.[-.$h.{i.ZJ.Qn.dm.yr.=r.{u.Vu.Sr.`M.mv.|w.1K.yN.aA.9t.Dv.|F.Zz.cw.aw.=M.ov.6w.vy.zN.py.!N.:z.zL.Xz.Wz.Vz.x0.Vz.hy.Uz.Uz.y0.Sz.Rz.Rz.]z.AN.BN.C0.UB.mL.&M.zB.zB.zB.J9.JC.kM.DM.IC.IC.EM.GM.FM.:N.GM.GC.4D.FC.FC.KD.JD.x@.L_.L_.L_.x@.x@.2D.8_.3D.JD.x@.O9.I9.CN.DN.m9.ta.EN.qL.FN.WB.GN.|g.8f.2L.99.HN.%N.IN.JN.KN.tN.*N.qM.;M.wL.-u.`z.ey.1K.|w.PM.Rr.Nr.>r.=r.mq.'n.rn.Yl.lF.Is.SM.%v.Ks.LN.(J.Ho.kp.MN.9b. J.NN.ON.PN.^M ", +" bu.(3.bu.bu. W Xy QH QN.G:.:!.BX !k.V1.+!.+1.[!.=!._-.1-.W|.*h.P5.1e.tJ.Ln.Wp.RM.Tr.Iv.Cu.lv.Gx.ms.,u.*L.[z.vJ.jL.-x.:M.(x.ov.6w.vy.>x.py.pN.:z.sa.kN.Vz.x0.Uz.Uz.Sz.Sz.~s.z0.AN.BN.AN.{z.AN.RN.F0.B0.C0.J0.>H.=B.yB.DM.DM.IC._N.FM.GC.}N.4D.4D.EC.EC.EC.KD.JD.SN.JD.TN.ID.ID.ID.ID.UN.1D.|D.8_.v@.1_.W9.v9.AN.VN.o0.~h.n9.n9.1M.ma.qL.WN.Hb.XN.qN..N.Mb.Wk.IM.YN.KN.tN.RL.vK.MM.*u.7A.at.yM.!.<-.3-._~.2~.8~.+O./h.le.~r.Hr.Sr.Qr.Bu.|w.1K.@O.Su.7A.Bv.#O.fw.$M._x.7w.Wx.Sx.>x.py.pN._z.sa.q0.Sz.Uz.y0.z0.wa.z0.A0.F0.RN.u9.G0.C0.Oz.H0.CC.Wv.Nz.~z.~z.~z.y9.qF.6C.3C.GM.GC.}N.4D.EC.EC.EC.KD.EC.SN.SN.JD.$O.ID.%O.%O.%O.8_.p(.C@.&O.K0.hA.6I.t9.wa.AN.z0.r9.o0.p0.p0.DN.1M.u0.EN.ra.j9.;x.*O.=O.Rx.IM.VK.KN.-M.SL.uL.WK.*u.`z.}z.7t.=x.PM.Or.Ur.8d.me.N6.%r.uN.lF.6r.cC.>s.IE.uw..b.Wa.0F.ss._b.Nl _' -O.;O.>O. ", +" W W W W ,O.Wy Wy Jm J^..!.+!.+1.[!.U|.^!.SY }-.6-.[~.Y|.0~.{g.ko.3g.jo.Ur.Iv.mw.ht.=J.yM.3K.*L.[z.|F.Zz.'O.:x.pv.~x.Tx.,x.py.pN.Xz.Vz.Uz.AN.~J.~J.6I.G0.G0.Oz.Oz.G0.G0.v9.Oz.Oz.w9.~z.~z.FB.FB.FB.J0.gA.gA.y9.VE.~B.;B.G9.*M.)O.HM.HM.HM.O9.1D.8_.!O.!O.7_.~O.{O.V9.K0.;i.xO I0.w9.w9.@N.G0.G0.G0.~J.~J.RN.AN.s9.]O.o0..0.t0.EN.qL.j9.}g.=O.Qx.Sc.JN.^O.jK.qM.yv.Cv.*L.Cz..x.%x.nv.`M.oc.>r.pd.@f.Ts.fN.RB.6r.YI.tw.4u.,s..b.ip.sB.i8.y} /O.(O._O.:O. ", +" TH zO zO zO SH Wy .u (@.CO .bG bG bG RP RH u 8O.p+.P1.U1.:5.{-.^-.<-.1-._~.2~.-j.)5.^g.5g.if.1z.tI.NE.we..u.qs.9O.0A.-u.Bv.jL.rL.-L.=M.AM.Sx.0O.aO._z.Vz.o0.t9.Wv.AG.gA.y9.-i.}O.bO.y9.VE.-i.-i.-i.|O.}O.}O.y9.VE.Mz.Mz.cO.!B.!B.!B.dO.!B.!B.A9.X9.A9.A9.X9.!B.!B.!B.X9.A9.A9.A9.A9.VE.VE.zI.}O.}O.}O.[O.[O.[O.I0.Q0.Q0.Q0.@N.Q0.Q0.@N.@N.`9.E0.)h.eO.EN.GN.=O.$N.YN.^O.sv.rL.#O.6A.Su.|x.@x.lv.Tu.}t.fO.rd.le.gO.-s.ut.;s.Is.60.%v.Ks.70.hO.iO.jO.kO.lO.mO.-V NT ", +" u=.yO yO yO Xy =x `q `q nO./].:5.{-.^-.PY I|.4-.[~.4~.~g.;h./g.i.O0.>i.}O.>i.P0.`9..0.Eb.;x.Mb.JM.oM.LM.dw.gy.tO.`z.et.Gx.1w.Tu.Hv.Ur.8d.8d.uO.3u.ut.9M.SB.cC.>s.xt.vO.wO.ub.+; xO.yO.zO.AO. ", +" pN pN pN ia.Vx ]i Ux Ux ~:.Y*.o3.[p.PY }-.5-.}~.Y|.Cl.S5.(g.s.AE.sd.Ac.iN.JO.KO.LO.MO. ", +" ,O.NO.NO.RE ;e TK TK Wy r/./5.PY RY {~.5-.|~.Y|.0~.S5.8g.[f.%6.E7.OO.iF.xG.@I.Ld.TI.]J.HJ.lK.MM..L.RL.AI.PO.IM.Lb.|g.EN.r9.v9.EO.DO.=i.e(.|@.|@.qO.qO.DO.X9.=i.A9.z9.qO.X9.X9.X9.DO.QO.A9.A9.z9.DO.qO.!B.GO.GO.GO.*i.*i.*i.*i.*i.GO.GO.!B.!B.qO.DO.z9.A9.z9.z9.z9.z9.X9.z9.z9.z9.X9.|@.C9.C_.VK GO.=i.@N.~h.j9..N.RO.oM.-L.bw.HB.Dv.`z.dt.Hx.1w.mw.jc.Ur.8d.nc.uN.yL.=N.|B.6r.YI.dj.p8.SO.TO.c) %- UO.VO.WO. ", +" rN t,.t,.t,.Wy TK J@.SK XO.YO.RY P1.*5.7-.|~.Y|.Cl.>|.V5.X5.$6.9D.Tp.iF.xG.VI.Ld.rI.{J.HJ.&j.6L..L.SL.-L.nM.IM.Lb.zw.EN.ZO.`O.DO.z9.e(.|@.|@.GO.VK C_.C9. P.|@.QO.qO.qO.)B.GO.GO.*i.`I.D9.D9.`I..P..P.C_.*i.*i.*i.*i.*i.*i.*i.C_.C_.C_..P..P.`I.D9..P.*i.*i.GO.)B.!B.*i.*i.C_.1@. P.C_.*i.VK X9.@N.eO.j9.99.lM.2M.-L.lA.7C.`A.`z.et.Gx.1w.+P.jc.Ur.{t.@P.-s.3u.=N.RB.tK.#P.zu.x7.$P.,[ %P.eZ ^#.&P. ", +" UH *P.*P.RE u J@.OK E_.=P.:}.{~.*5.7-.|~.5~.Cl.>|.V5.{|.%6.2f.pe.iF.we.VI.C8.^J.KJ.JJ.mK.vL.uL.SL.pM.oM.lM.HN.g9.qa.o0.I0.z9.e(.-P.|@.|@.qO.*i.C_. P.;P.SK f(.K0.6D.6D.L0.C_.*i.`I.D9.D9.D9.D9.G_.G_.SK SK SK SK SK SK SK G_.G_.D9.D9.D9.`I.*i.C_.L0.D9.W9.W9.G_.f(.SK ;P.C9.C_.VK }O.t9.w0.zw.HN.VK.3M.qv.>P.|F.6A.Fz.|x.@x.rs.+u.Sr.(e.Hr.,P.-s.-s.=N.RB.'P.)P.me.V8.|p z! !P.~P.^#. ", +" [Y RP 2D m0.`q U(.U(.U(.{P._[./~.7-.Y}.5~.9~.>|.V5.5.4{.9{.%6.1f.df.re.WI.!H.+I.8D.rI.cP.Xc.>K.UL.)H.xv.RL.pM.oM.YN.%N.Px.8f.WN.u0.)h.@N.}O.X9.|@.1@.SK f(.f(.W9.W9.K0.K0.E_.RK RK RK E_.E_.E_.E_.E_.E_.E_.E_.RK RK RK RK E_.K0.K0.W9.*i.QO.}O.G0.z0.EN.dP.dN.$N.YN.^O.pO.wv.Zz.GB.[z.`z.}z.ns.*x.Bu.Qr.sd.rc.sM.7x.7P.0i.K.sP.MM.4L.sL.tv.pM.2M.Xk.VK.%N.Mb.=O.aO.pN.k9.m9.DN.r9.wa.`9.F` Q0.>i.AG.AG.}O.}O.}O.VE.EO.}O.}O.}O.AG.@N.@N.wa.r9.DN.EN.j9.!N.dN.HN.JM.Xk.2M.pM.SL..L.WK.%u.`A.kP.at.|x.Hx.tP.uP.o8.sd.vP.wP.xP.gv.i8.yP.U_.&! H( zP.=^.S{. ", +" 5/.eM.1#.1#.J@.pL AP.BP.CP.-0.s^.4{.7{.b{.|f.3f.pe.se.t8.w8.VI.C8.VL.qI.cP.2N.IJ.lK.NM.Mu..L.vv.tv.pM.3M.=M.KM.lM.%N.Wk.99.d9.Ox.aO.pN.j9.WN.qL.qL.qL.qL.sa.z.at.|x.db.#x.ss.+u.jc.5d.EP.FP.GP.aM.Ea.O' HP.IP.`@ 3@ (/. ", +" JP.]<.hJ }@.}@.h_.l(.6L KP.G@.[Y h6.8{.S&..6.ef.1}.se.Q7.gJ.VI.fJ.hP.rI.ib.[P.nb.>K.=u.LP.Mu.4L.jP.SL.5M.pM.AI.2M.=M.YN.~x.lM.MP.%N.Rx.Mb.Mb.Mb.Mb.Mb.NP.NP.NP.NP.NP.Rx.OP.%N.JM.VK.KM.=M.3M.pM.5M.SL.xv.Lu.}P.lK.>K.*L.PP.QP.yM.RP.SP.ss.+P.6t.vP.rc.vc.xb.>V &7 TP.UP.P[.y_.%# ", +" VP.%L.UH TK TK H_.D@.5L |L 5L =P.L8.G%.(}.oe.1}.se.Q7.xG.MD.+I.Ld.G8.qI.mH.6M.9A.8A.Qu.}I.}P.Mu.4L.xv.vv.SL.WP.rv.XP.4M.4M.2M.oM.=M.=M.nM.nM.nM.nM.nM.nM.YP._x._x.qv.pM.5M.RL.sL.xv.Lu.WK.LP.XK.pb.JJ.bt.@u.}z.ns.K.Qu.sP.UL.6L.Mu.Lu.yv.Iu.xv.sL.vv.&Q.SL.SL.SL.SL.SL.SL.vv.jP.jP..L.4L.5L.;M.}P.}I.XK.>K.nb.Vk.cP.*Q.=Q.hO.Hx.*x.ht.-Q.+u.9b.;Q.Kb.&:.OP >Q.,Q.'Q.51.F# F# ", +" )Q.!Q.If.}Y ]i D_.:_.[_.Q(.BP.KP.R_.-0.e:.yd.re.~Q.#I.%Q.Pd.wd.xd.hP.LJ.qI.mH.]J.Vk.2N.HJ.>u.>K.Qu.XK.XK.UL.UL.vL.}P.}P.}P.}P.}P.UL.}I.}I.wL.XK.Qu.>K.IJ.Xc.Vk.*Q.ib.TI.LJ.{Q.RP.7b.tP.Bu.]Q.^Q.Ib./_.Aw./Q.(Q._Q.06.]3.]3.:2. ", +" :Q.:Q.}%.nJ.eM.2D :_.i(..0>.jQ.BA.F; [> J1 |D X nZ uQ._$.{^ F; vQ.<] (%.J1 J1 MB J1 Z[ +c Z[ +..wQ.!, r|.x> dM xQ.yQ.zQ.AQ.;m./o.BQ.7l.w< [7 [7 h| ", +" .C.26 26 'X 'X *W *W w.}e }e ]8 ]8 ZP ZP hr.hr.m4 m4 pp.pp./o.kn. ", +" "}; diff --git a/features/org.eclipse.equinox.executable.feature/bin/gtk/linux/x86_64/icon.xpm b/features/org.eclipse.equinox.executable.feature/bin/gtk/linux/x86_64/icon.xpm new file mode 100644 index 000000000..f4bd8d808 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/bin/gtk/linux/x86_64/icon.xpm @@ -0,0 +1,16242 @@ +/* XPM */ +static char * eclipse_256_xpm[] = { +"256 256 15983 3", +" c None", +". c #281140", +"+ c #27113F", +"@ c #26103E", +"# c #26103D", +"$ c #27103F", +"% c #26103F", +"& c #25103D", +"* c #24103B", +"= c #291241", +"- c #2A1342", +"; c #291341", +"> c #291342", +", c #2B1443", +"' c #2C1444", +") c #2C1544", +"! c #2C1545", +"~ c #2D1545", +"{ c #2D1645", +"] c #2B1444", +"^ c #250F3D", +"/ c #240F3C", +"( c #240E3B", +"_ c #230E3A", +": c #291242", +"< c #2A1443", +"[ c #2E1646", +"} c #2E1747", +"| c #2F1747", +"1 c #301848", +"2 c #301849", +"3 c #311949", +"4 c #321A4A", +"5 c #321A4B", +"6 c #331A4B", +"7 c #331B4B", +"8 c #331B4C", +"9 c #341B4C", +"0 c #341C4C", +"a c #31194A", +"b c #281141", +"c c #260F3E", +"d c #220E39", +"e c #210E38", +"f c #2A1442", +"g c #2B1543", +"h c #2D1646", +"i c #2F1748", +"j c #361E50", +"k c #382052", +"l c #392053", +"m c #392153", +"n c #392052", +"o c #361E4E", +"p c #371F4F", +"q c #382050", +"r c #392051", +"s c #392151", +"t c #3A2151", +"u c #3A2252", +"v c #361D4E", +"w c #351C4D", +"x c #341C4D", +"y c #2D1546", +"z c #2C1445", +"A c #2B1343", +"B c #2A1242", +"C c #240F3B", +"D c #2E1746", +"E c #2F1848", +"F c #361E4F", +"G c #40285A", +"H c #452D60", +"I c #4E356A", +"J c #533B70", +"K c #543B72", +"L c #523971", +"M c #513870", +"N c #50366E", +"O c #4F356D", +"P c #4E336B", +"Q c #4C326A", +"R c #4B3168", +"S c #482E63", +"T c #452C60", +"U c #432A5C", +"V c #412959", +"W c #412958", +"X c #422A59", +"Y c #422A5A", +"Z c #432B5A", +"` c #402858", +" . c #3F2757", +".. c #3E2656", +"+. c #3D2555", +"@. c #3C2454", +"#. c #3B2353", +"$. c #2E1647", +"%. c #2A1343", +"&. c #230F3B", +"*. c #200E37", +"=. c #301949", +"-. c #3B2354", +";. c #473062", +">. c #523B6E", +",. c #5D457A", +"'. c #5E467B", +"). c #5C4479", +"!. c #5B4278", +"~. c #594077", +"{. c #583F75", +"]. c #563D74", +"^. c #553B72", +"/. c #543B71", +"(. c #543A71", +"_. c #543A70", +":. c #53396F", +"<. c #533A6F", +"[. c #543B70", +"}. c #553C71", +"|. c #563D72", +"1. c #573E73", +"2. c #543B6E", +"3. c #503968", +"4. c #4E3664", +"5. c #4E3764", +"6. c #4E3765", +"7. c #4F3765", +"8. c #4F3865", +"9. c #4D3663", +"0. c #4C3563", +"a. c #4C3462", +"b. c #4B3361", +"c. c #4A3260", +"d. c #49315F", +"e. c #48305E", +"f. c #472F5D", +"g. c #452D5C", +"h. c #442C5B", +"i. c #422B5A", +"j. c #402757", +"k. c #3D2454", +"l. c #381F50", +"m. c #32194A", +"n. c #210E37", +"o. c #200E36", +"p. c #2A1542", +"q. c #382151", +"r. c #4B3464", +"s. c #594274", +"t. c #654F81", +"u. c #685183", +"v. c #674F83", +"w. c #654E82", +"x. c #634B80", +"y. c #62497F", +"z. c #60477D", +"A. c #5F467B", +"B. c #5E457B", +"C. c #5E457A", +"D. c #5E447A", +"E. c #5E4579", +"F. c #5D4479", +"G. c #5D4478", +"H. c #5E4679", +"I. c #60477A", +"J. c #61497B", +"K. c #624A7C", +"L. c #634B7D", +"M. c #644D7E", +"N. c #654D7F", +"O. c #644C7D", +"P. c #604977", +"Q. c #5C4671", +"R. c #5C4570", +"S. c #5B4570", +"T. c #5A4470", +"U. c #5A446F", +"V. c #59436E", +"W. c #58426D", +"X. c #57406C", +"Y. c #56406C", +"Z. c #553E6A", +"`. c #543D69", +" + c #523B68", +".+ c #513A67", +"++ c #4A3261", +"@+ c #3F2656", +"#+ c #3B2252", +"$+ c #392050", +"%+ c #371E4F", +"&+ c #250F3C", +"*+ c #301948", +"=+ c #3E2757", +"-+ c #574170", +";+ c #6A5484", +">+ c #705A8B", +",+ c #6F588A", +"'+ c #6D5788", +")+ c #6C5587", +"!+ c #6A5386", +"~+ c #685184", +"{+ c #664E82", +"]+ c #664E81", +"^+ c #674E81", +"/+ c #674F81", +"(+ c #675081", +"_+ c #685082", +":+ c #685182", +"<+ c #695282", +"[+ c #6B5484", +"}+ c #6C5685", +"|+ c #6E5786", +"1+ c #6F5987", +"2+ c #715A88", +"3+ c #725B89", +"4+ c #725C8A", +"5+ c #735D8A", +"6+ c #745E8B", +"7+ c #745D8B", +"8+ c #6F5A84", +"9+ c #6B567E", +"0+ c #6A567E", +"a+ c #6A557D", +"b+ c #69557D", +"c+ c #69547C", +"d+ c #68537C", +"e+ c #67527B", +"f+ c #66517A", +"g+ c #655079", +"h+ c #644F78", +"i+ c #624D77", +"j+ c #614B75", +"k+ c #5F4A74", +"l+ c #5E4872", +"m+ c #543D6A", +"n+ c #503966", +"o+ c #4D3664", +"p+ c #4B3462", +"q+ c #462F5D", +"r+ c #3D2554", +"s+ c #2F1647", +"t+ c #2A1541", +"u+ c #2B1643", +"v+ c #2F1847", +"w+ c #3F2858", +"x+ c #5F4A78", +"y+ c #74608D", +"z+ c #776290", +"A+ c #76608F", +"B+ c #745F8E", +"C+ c #735D8D", +"D+ c #715A8B", +"E+ c #6F5889", +"F+ c #6E5788", +"G+ c #6D5688", +"H+ c #6E5688", +"I+ c #6E5789", +"J+ c #705989", +"K+ c #70598A", +"L+ c #715A8A", +"M+ c #715B8B", +"N+ c #735C8B", +"O+ c #745E8C", +"P+ c #765F8D", +"Q+ c #77618E", +"R+ c #796490", +"S+ c #7B6591", +"T+ c #7C6793", +"U+ c #7E6994", +"V+ c #806B95", +"W+ c #806C96", +"X+ c #816D96", +"Y+ c #826E97", +"Z+ c #836F98", +"`+ c #837098", +" @ c #847198", +".@ c #826F96", +"+@ c #7D6B8F", +"@@ c #7B698C", +"#@ c #7B688C", +"$@ c #7A688C", +"%@ c #79678B", +"&@ c #79658A", +"*@ c #776589", +"=@ c #776489", +"-@ c #766388", +";@ c #756187", +">@ c #735F85", +",@ c #725E84", +"'@ c #705C82", +")@ c #6E5A81", +"!@ c #6C587F", +"~@ c #644E78", +"{@ c #614C76", +"]@ c #5F4973", +"^@ c #5A436F", +"/@ c #523A68", +"(@ c #493260", +"_@ c #3C2353", +":@ c #291640", +"<@ c #2B1642", +"[@ c #2D1745", +"}@ c #3B2553", +"|@ c #5E4A76", +"1@ c #75628D", +"2@ c #7D6A96", +"3@ c #7C6895", +"4@ c #7B6694", +"5@ c #796492", +"6@ c #776190", +"7@ c #745E8E", +"8@ c #745D8E", +"9@ c #755E8E", +"0@ c #755F8F", +"a@ c #786291", +"b@ c #796392", +"c@ c #7A6592", +"d@ c #7C6693", +"e@ c #7D6794", +"f@ c #7F6B95", +"g@ c #816C96", +"h@ c #847199", +"i@ c #86739B", +"j@ c #89769C", +"k@ c #8B789E", +"l@ c #8D7A9F", +"m@ c #8E7CA1", +"n@ c #907EA2", +"o@ c #917FA3", +"p@ c #9280A4", +"q@ c #9382A5", +"r@ c #9482A6", +"s@ c #9483A6", +"t@ c #9484A6", +"u@ c #9180A1", +"v@ c #8C7C9B", +"w@ c #8C7B9B", +"x@ c #8B7B9A", +"y@ c #8A7999", +"z@ c #8A7898", +"A@ c #887898", +"B@ c #877697", +"C@ c #857495", +"D@ c #847394", +"E@ c #827093", +"F@ c #806E91", +"G@ c #7F6D8F", +"H@ c #7C6A8D", +"I@ c #786589", +"J@ c #756287", +"K@ c #6D5980", +"L@ c #614C75", +"M@ c #5E4873", +"N@ c #5B4470", +"O@ c #58416D", +"P@ c #48305F", +"Q@ c #3F2756", +"R@ c #3C2453", +"S@ c #2B1743", +"T@ c #2E1846", +"U@ c #37204F", +"V@ c #523D69", +"W@ c #83719A", +"X@ c #826F99", +"Y@ c #816D98", +"Z@ c #7F6B97", +"`@ c #7D6996", +" # c #7A6593", +".# c #796493", +"+# c #7A6493", +"@# c #7C6696", +"## c #7D6796", +"$# c #7C6795", +"%# c #7D6896", +"&# c #7F6A97", +"*# c #806B97", +"=# c #826D99", +"-# c #836E9A", +";# c #85709B", +"># c #87729C", +",# c #88749D", +"'# c #8A779F", +")# c #8C79A0", +"!# c #8E7BA1", +"~# c #907EA3", +"{# c #9584A7", +"]# c #9787A9", +"^# c #9A89AB", +"/# c #9C8CAD", +"(# c #9E8EAE", +"_# c #A090B0", +":# c #A192B1", +"<# c #A394B2", +"[# c #A495B3", +"}# c #A597B4", +"|# c #A697B5", +"1# c #A698B5", +"2# c #A698B6", +"3# c #A596B3", +"4# c #A092AD", +"5# c #9F90AB", +"6# c #9D8FAA", +"7# c #9C8EA9", +"8# c #9A8DA8", +"9# c #9A8BA7", +"0# c #9889A6", +"a# c #9688A4", +"b# c #9586A2", +"c# c #9383A1", +"d# c #90819F", +"e# c #8E7E9C", +"f# c #8B7B9B", +"g# c #897898", +"h# c #867596", +"i# c #837293", +"j# c #7D6B8E", +"k# c #7A678B", +"l# c #776388", +"m# c #736085", +"n# c #69537C", +"o# c #5D4872", +"p# c #533C68", +"q# c #361D4D", +"r# c #291141", +"s# c #2A1740", +"t# c #2C1743", +"u# c #3D2755", +"v# c #6A5680", +"w# c #84729A", +"x# c #88769E", +"y# c #87749D", +"z# c #86729D", +"A# c #836F9A", +"B# c #806D98", +"C# c #7E6A96", +"D# c #7E6996", +"E# c #7F6997", +"F# c #816C9A", +"G# c #85709E", +"H# c #86719F", +"I# c #836E9B", +"J# c #84709C", +"K# c #86719D", +"L# c #88739E", +"M# c #89759F", +"N# c #8B78A1", +"O# c #8D7AA2", +"P# c #8F7DA4", +"Q# c #9280A6", +"R# c #9482A7", +"S# c #9785A9", +"T# c #9988AB", +"U# c #9C8BAD", +"V# c #9E8EAF", +"W# c #A091B0", +"X# c #A799B6", +"Y# c #AA9CB8", +"Z# c #AC9FBA", +"`# c #AFA2BD", +" $ c #B1A5BE", +".$ c #B3A7C0", +"+$ c #B5A9C1", +"@$ c #B6ABC3", +"#$ c #B8ACC4", +"$$ c #B8ADC4", +"%$ c #B9AEC5", +"&$ c #BAAFC5", +"*$ c #BAB0C6", +"=$ c #B4A9BF", +"-$ c #B2A8BC", +";$ c #B1A6BB", +">$ c #AFA4BA", +",$ c #AEA2B9", +"'$ c #ADA1B7", +")$ c #AA9FB6", +"!$ c #A89CB4", +"~$ c #A69AB2", +"{$ c #A497B0", +"]$ c #A194AE", +"^$ c #9F91AB", +"/$ c #998AA6", +"($ c #9686A3", +"_$ c #9283A0", +":$ c #8F7F9D", +"<$ c #8B7A9A", +"[$ c #887797", +"}$ c #847294", +"|$ c #806E90", +"1$ c #7C698D", +"2$ c #736086", +"3$ c #6F5B82", +"4$ c #634D77", +"5$ c #533C69", +"6$ c #472F5E", +"7$ c #2A1741", +"8$ c #2C1844", +"9$ c #2F1947", +"0$ c #311A49", +"a$ c #503B67", +"b$ c #78658E", +"c$ c #8E7DA3", +"d$ c #8C7BA2", +"e$ c #8B79A1", +"f$ c #89779F", +"g$ c #86749D", +"h$ c #84709B", +"i$ c #846F9B", +"j$ c #8975A2", +"k$ c #8C77A5", +"l$ c #8D79A5", +"m$ c #8B77A2", +"n$ c #8C78A2", +"o$ c #8E7BA3", +"p$ c #907DA5", +"q$ c #9280A7", +"r$ c #9583A9", +"s$ c #9886AB", +"t$ c #9B8AAD", +"u$ c #9D8DAF", +"v$ c #A091B1", +"w$ c #A394B4", +"x$ c #AC9FBB", +"y$ c #B0A3BD", +"z$ c #B7ABC3", +"A$ c #BDB3C8", +"B$ c #C0B7CB", +"C$ c #C3BACD", +"D$ c #C6BDCF", +"E$ c #C8BFD0", +"F$ c #CAC2D2", +"G$ c #CBC4D4", +"H$ c #CCC5D4", +"I$ c #CEC6D6", +"J$ c #CFC7D7", +"K$ c #CFC8D7", +"L$ c #CFC9D8", +"M$ c #CEC7D6", +"N$ c #CDC5D5", +"O$ c #CAC2D1", +"P$ c #C7C0CE", +"Q$ c #C6BECD", +"R$ c #C4BCCB", +"S$ c #C2BACA", +"T$ c #C0B8C8", +"U$ c #BEB5C6", +"V$ c #BCB3C5", +"W$ c #B9B0C2", +"X$ c #B7ADC0", +"Y$ c #B3A9BD", +"Z$ c #B0A5BB", +"`$ c #ADA2B8", +" % c #A99DB5", +".% c #A295AE", +"+% c #9E90AB", +"@% c #9687A3", +"#% c #9182A0", +"$% c #8D7D9C", +"%% c #897798", +"&% c #7F6D90", +"*% c #766287", +"=% c #715D83", +"-% c #68527B", +";% c #634E77", +">% c #5E4973", +",% c #563F6B", +"'% c #523A67", +")% c #462D5C", +"!% c #381F4F", +"~% c #2A1841", +"{% c #2D1844", +"]% c #311A4A", +"^% c #57436E", +"/% c #86769A", +"(% c #9282A5", +"_% c #9080A4", +":% c #8F7EA4", +"<% c #8E7BA2", +"[% c #8A789F", +"}% c #87749E", +"|% c #87739D", +"1% c #88749F", +"2% c #8975A0", +"3% c #8D79A4", +"4% c #917CA8", +"5% c #927EA9", +"6% c #9480AB", +"7% c #9481A9", +"8% c #9481A8", +"9% c #9684AA", +"0% c #9987AC", +"a% c #9C8BAE", +"b% c #9F8FB1", +"c% c #A292B3", +"d% c #A696B6", +"e% c #A99BB9", +"f% c #AD9FBC", +"g% c #B0A3BF", +"h% c #B4A8C1", +"i% c #B8ACC5", +"j% c #BCB1C7", +"k% c #BFB5CA", +"l% c #C4BACD", +"m% c #D0C8D7", +"n% c #D3CDDA", +"o% c #D6D1DD", +"p% c #D9D4DF", +"q% c #DCD8E1", +"r% c #DEDAE3", +"s% c #E0DCE5", +"t% c #E2DEE6", +"u% c #E3DFE6", +"v% c #E3E0E8", +"w% c #E4E0E8", +"x% c #E4E1E9", +"y% c #E4E2E9", +"z% c #E0DDE4", +"A% c #DDDAE2", +"B% c #DCD8E0", +"C% c #DBD6DE", +"D% c #D8D4DD", +"E% c #D6D0DB", +"F% c #D3CFD9", +"G% c #D1CBD7", +"H% c #CEC8D4", +"I% c #CBC4D1", +"J% c #C3BCCB", +"K% c #C0B7C8", +"L% c #BCB3C4", +"M% c #B8AEC1", +"N% c #AEA3B9", +"O% c #AA9DB5", +"P% c #A598B1", +"Q% c #A092AC", +"R% c #9B8CA8", +"S% c #867495", +"T% c #766288", +"U% c #6C577F", +"V% c #5C4771", +"W% c #543C69", +"X% c #2B1841", +"Y% c #2F1948", +"Z% c #382150", +"`% c #5F4C75", +" & c #8A7A9E", +".& c #9686A9", +"+& c #9484A8", +"@& c #9282A7", +"#& c #907FA5", +"$& c #8D7BA2", +"%& c #8B79A0", +"&& c #8A78A0", +"*& c #8B78A0", +"=& c #8D79A2", +"-& c #907DA7", +";& c #9481AB", +">& c #9683AD", +",& c #9985AF", +"'& c #9A88B0", +")& c #9C8BB1", +"!& c #9B8AAE", +"~& c #9F8EB1", +"{& c #A596B6", +"]& c #A99AB9", +"^& c #B1A4BF", +"/& c #B5A8C3", +"(& c #B9AEC6", +"_& c #BEB3C9", +":& c #C2B8CD", +"<& c #C6BED0", +"[& c #CBC3D4", +"}& c #D0C9D8", +"|& c #D5CFDC", +"1& c #DAD5E0", +"2& c #E2DFE7", +"3& c #E5E2E8", +"4& c #E6E3EA", +"5& c #E8E5EB", +"6& c #E9E6EC", +"7& c #E8E6EB", +"8& c #E7E5EA", +"9& c #E6E4E9", +"0& c #E5E3E8", +"a& c #E4E1E7", +"b& c #E2DFE6", +"c& c #E0DDE3", +"d& c #D4CFD9", +"e& c #CFC9D5", +"f& c #CAC4D1", +"g& c #C5BECD", +"h& c #BBB1C3", +"i& c #B5ABBF", +"j& c #A396AF", +"k& c #9E90AA", +"l& c #9889A5", +"m& c #91829F", +"n& c #746186", +"o& c #6F5A81", +"p& c #59436F", +"q& c #2B1942", +"r& c #2C1943", +"s& c #301A47", +"t& c #614D76", +"u& c #9385A5", +"v& c #998BAC", +"w& c #9788AA", +"x& c #9687A9", +"y& c #9483A7", +"z& c #8E7CA3", +"A& c #8E7CA4", +"B& c #927FA8", +"C& c #907EA5", +"D& c #9380A8", +"E& c #9784AD", +"F& c #9A87B0", +"G& c #9C8AB1", +"H& c #9E8CB3", +"I& c #A090B5", +"J& c #A493B7", +"K& c #A494B6", +"L& c #A797B7", +"M& c #AA9CBA", +"N& c #AEA0BE", +"O& c #B3A6C1", +"P& c #B7ABC5", +"Q& c #BCB0C8", +"R& c #C1B6CC", +"S& c #C6BCD0", +"T& c #CBC2D4", +"U& c #D1CAD8", +"V& c #D7D1DE", +"W& c #DDD8E2", +"X& c #E5E2E9", +"Y& c #E7E4EB", +"Z& c #E8E6EC", +"`& c #DEDBE2", +" * c #D9D5DE", +".* c #D3CED9", +"+* c #CDC7D3", +"@* c #C6BFCD", +"#* c #B9AFC2", +"$* c #B2A7BC", +"%* c #AB9FB6", +"&* c #A498B0", +"** c #9788A4", +"=* c #90809E", +"-* c #837193", +";* c #7D6A8E", +">* c #715C83", +",* c #553E6B", +"'* c #2C1A42", +")* c #2C1942", +"!* c #2F1A47", +"~* c #311B4A", +"{* c #5B4871", +"]* c #9081A2", +"^* c #9D8FAE", +"/* c #9B8CAD", +"(* c #9A8AAC", +"_* c #9787AA", +":* c #9383A7", +"<* c #9281A5", +"[* c #9180A5", +"}* c #917FA5", +"|* c #9886AE", +"1* c #9E8BB4", +"2* c #9785AD", +"3* c #9987AE", +"4* c #9C8BB2", +"5* c #9F8DB3", +"6* c #A190B5", +"7* c #A494B7", +"8* c #A797BA", +"9* c #AB9ABD", +"0* c #AD9EBF", +"a* c #B3A5C1", +"b* c #BCB0C9", +"c* c #C1B7CD", +"d* c #C6BDD1", +"e* c #CCC4D5", +"f* c #D4CCDB", +"g* c #DBD6E1", +"h* c #E1DDE6", +"i* c #E7E5EB", +"j* c #E9E7EC", +"k* c #E4E2E7", +"l* c #E0DCE3", +"m* c #D9D5DD", +"n* c #D1CCD7", +"o* c #C9C2D0", +"p* c #C1B9C9", +"q* c #BAB0C2", +"r* c #AA9EB5", +"s* c #9384A1", +"t* c #7E6C8F", +"u* c #78658A", +"v* c #6C577E", +"w* c #503866", +"x* c #3E2655", +"y* c #371E4E", +"z* c #2C1A43", +"A* c #2D1A45", +"B* c #311B49", +"C* c #4F3B65", +"D* c #9385A4", +"E* c #A093B1", +"F* c #9F91B0", +"G* c #9D8FAF", +"H* c #9484A7", +"I* c #9382A7", +"J* c #9584A9", +"K* c #9C8AB2", +"L* c #A18FB7", +"M* c #A290B8", +"N* c #9F8DB4", +"O* c #9E8DB3", +"P* c #A393B7", +"Q* c #A696B9", +"R* c #AA99BC", +"S* c #AD9DBF", +"T* c #B0A2C1", +"U* c #B4A7C4", +"V* c #B6AAC5", +"W* c #BBAFC8", +"X* c #C0B5CC", +"Y* c #C5BCD0", +"Z* c #D3CBDB", +"`* c #DBD5E1", +" = c #E2DEE7", +".= c #E9E7ED", +"+= c #E2DFE5", +"@= c #DBD7DF", +"#= c #C8C1CF", +"$= c #BFB6C7", +"%= c #B6ACC0", +"&= c #AEA2B8", +"*= c #A599B1", +"== c #9586A3", +"-= c #8D7E9D", +";= c #725D84", +">= c #654F79", +",= c #351D4D", +"'= c #2D1B43", +")= c #301B48", +"!= c #48335F", +"~= c #887999", +"{= c #A497B3", +"]= c #A295B2", +"^= c #A092B1", +"/= c #9F90B0", +"(= c #9A8BAC", +"_= c #9788A9", +":= c #9685A9", +"<= c #9787AB", +"[= c #A392B9", +"}= c #A493BA", +"|= c #A694BC", +"1= c #A695BB", +"2= c #A392B6", +"3= c #A595B8", +"4= c #A898BB", +"5= c #AB9BBD", +"6= c #AE9FC0", +"7= c #B2A4C3", +"8= c #B6A9C5", +"9= c #BBAEC9", +"0= c #BFB3CD", +"a= c #C2B7CE", +"b= c #C8BED2", +"c= c #CFC6D7", +"d= c #E0DBE6", +"e= c #E6E2E9", +"f= c #EAE8EE", +"g= c #EAE7ED", +"h= c #E1DEE4", +"i= c #D8D3DC", +"j= c #CDC6D3", +"k= c #A79AB2", +"l= c #5D4772", +"m= c #4D3563", +"n= c #311849", +"o= c #2D1B44", +"p= c #2E1B46", +"q= c #392451", +"r= c #746486", +"s= c #A69AB4", +"t= c #A599B4", +"u= c #A396B3", +"v= c #A294B3", +"w= c #9E90AF", +"x= c #9A8CAC", +"y= c #9989AB", +"z= c #9888AB", +"A= c #9988AC", +"B= c #A08FB4", +"C= c #A796BC", +"D= c #AA99C0", +"E= c #AC9BC1", +"F= c #A796B9", +"G= c #A999BC", +"H= c #AC9CBE", +"I= c #AFA0C1", +"J= c #B3A5C3", +"K= c #B7AAC6", +"L= c #BCAFCA", +"M= c #C0B4CE", +"N= c #C6BBD2", +"O= c #CAC0D4", +"P= c #D0C7D9", +"Q= c #D9D3E0", +"R= c #E3E1E6", +"S= c #DAD6DE", +"T= c #CEC9D4", +"U= c #AFA3B9", +"V= c #A599B2", +"W= c #9D8FA9", +"X= c #9485A2", +"Y= c #8C7B9A", +"Z= c #6E5981", +"`= c #462E5D", +" - c #271040", +".- c #2E1C45", +"+- c #2E1C44", +"@- c #301C47", +"#- c #57456C", +"$- c #A195B0", +"%- c #A89CB7", +"&- c #A79AB5", +"*- c #A598B4", +"=- c #A294B2", +"-- c #9E8FAE", +";- c #9B8DAD", +">- c #9B8BAC", +",- c #9B8BAD", +"'- c #A191B4", +")- c #A796BB", +"!- c #A897BC", +"~- c #A898BD", +"{- c #AA9AC0", +"]- c #AF9DC3", +"^- c #B0A0C4", +"/- c #AA9ABD", +"(- c #C5BAD2", +"_- c #CBC1D6", +":- c #D1C9DB", +"<- c #D9D4E0", +"[- c #E2DEE8", +"}- c #E8E5EC", +"|- c #EBE9EE", +"1- c #D8D5DD", +"2- c #CCC6D3", +"3- c #B6ADC0", +"4- c #ACA0B7", +"5- c #91819F", +"6- c #806F91", +"7- c #79668B", +"8- c #533B68", +"9- c #432B5B", +"0- c #2F1D45", +"a- c #2F1C45", +"b- c #402D58", +"c- c #8C7F9C", +"d- c #ABA0B9", +"e- c #A99DB7", +"f- c #A89BB7", +"g- c #A699B5", +"h- c #9D8EAE", +"i- c #9D8DAE", +"j- c #9C8CAE", +"k- c #A393B6", +"l- c #A999BD", +"m- c #A999BE", +"n- c #AA9ABE", +"o- c #AB9ABF", +"p- c #AE9EC3", +"q- c #B2A2C6", +"r- c #B4A4C7", +"s- c #AE9FC1", +"t- c #B6A9C6", +"u- c #BAAEC9", +"v- c #C4B9D1", +"w- c #C9BFD5", +"x- c #CFC7DA", +"y- c #D8D2E0", +"z- c #EBE9EF", +"A- c #BDB4C5", +"B- c #A89CB3", +"C- c #8D7C9B", +"D- c #6E5980", +"E- c #604B75", +"F- c #412858", +"G- c #301D46", +"H- c #2F1D46", +"I- c #68587B", +"J- c #A59AB3", +"K- c #ADA3BA", +"L- c #AB9FB9", +"M- c #A99DB8", +"N- c #A193B1", +"O- c #9E8FAF", +"P- c #A394B5", +"Q- c #AB9BBF", +"R- c #AC9CBF", +"S- c #AE9EC2", +"T- c #B4A5C8", +"U- c #B6A6C9", +"V- c #B3A3C5", +"W- c #B1A3C2", +"X- c #B5A7C5", +"Y- c #B9ACC8", +"Z- c #BDB1CC", +"`- c #C2B7CF", +" ; c #C7BDD3", +".; c #CDC4D8", +"+; c #D3CCDD", +"@; c #DED9E5", +"#; c #E7E2EB", +"$; c #E7E4EA", +"%; c #E6E3E9", +"&; c #E5E1E8", +"*; c #E4E1E8", +"=; c #E5E4E9", +"-; c #E6E5E9", +";; c #E6E5EA", +">; c #B6ACBF", +",; c #705C83", +"'; c #69547D", +"); c #301E47", +"!; c #402E56", +"~; c #8F839E", +"{; c #AFA5BB", +"]; c #ACA0BA", +"^; c #AA9EB8", +"/; c #A295B1", +"(; c #A092B0", +"_; c #AB9CBD", +":; c #AD9DC0", +"<; c #AD9EC1", +"[; c #B1A1C5", +"}; c #B6A7C9", +"|; c #B8A9CB", +"1; c #B6A7C8", +"2; c #B4A5C3", +"3; c #B7AAC7", +"4; c #BBAFCA", +"5; c #C0B4CD", +"6; c #D6CFDE", +"7; c #E1DDE7", +"8; c #E9E5EC", +"9; c #ECEAF0", +"0; c #ECE9EF", +"a; c #E4E0E7", +"b; c #E3E0E7", +"c; c #E3DFE7", +"d; c #E1DEE6", +"e; c #E1DDE5", +"f; c #E3E0E6", +"g; c #E3E0E5", +"h; c #E4E1E6", +"i; c #E5E3E7", +"j; c #E5E4E8", +"k; c #DAD7DF", +"l; c #C3BBCA", +"m; c #B8AFC1", +"n; c #9B8CA7", +"o; c #9282A0", +"p; c #8A7899", +"q; c #816F91", +"r; c #301748", +"s; c #250F3E", +"t; c #311F48", +"u; c #605173", +"v; c #A99FB6", +"w; c #B1A7BD", +"x; c #AEA4BB", +"y; c #ADA2BA", +"z; c #A395B2", +"A; c #A194B1", +"B; c #A295B3", +"C; c #AB9CBC", +"D; c #AE9EC1", +"E; c #B0A0C3", +"F; c #B4A4C8", +"G; c #B7A7CA", +"H; c #B8A8CA", +"I; c #B9ABCC", +"J; c #BAACCB", +"K; c #B6A8C5", +"L; c #B8ABC8", +"M; c #BDB0CB", +"N; c #C1B5CE", +"O; c #C6BAD2", +"P; c #CAC1D7", +"Q; c #D7D0E0", +"R; c #E2DDE8", +"S; c #E9E6ED", +"T; c #ECEBF0", +"U; c #EDEAF0", +"V; c #E0DDE5", +"W; c #E0DCE4", +"X; c #DFDCE4", +"Y; c #DFDBE3", +"Z; c #DEDBE3", +"`; c #DDDAE3", +" > c #E4E3E7", +".> c #D9D6DE", +"+> c #C3BBCB", +"@> c #AFA4B9", +"#> c #9C8DA9", +"$> c #8A7A99", +"%> c #827092", +"&> c #59426E", +"*> c #48315F", +"=> c #442B5B", +"-> c #230E3B", +";> c #311E47", +">> c #3D2A55", +",> c #8E829F", +"'> c #B3AABF", +")> c #B2A8BE", +"!> c #B0A5BC", +"~> c #AEA3BB", +"{> c #A598B3", +"]> c #A496B3", +"^> c #A99BBA", +"/> c #B0A2C2", +"(> c #B0A1C2", +"_> c #AFA0C2", +":> c #B3A3C6", +"<> c #B8A8CB", +"[> c #BAABCC", +"}> c #BAACCD", +"|> c #BCAECD", +"1> c #B8AAC8", +"2> c #BEB1CC", +"3> c #C2B6CF", +"4> c #C6BCD3", +"5> c #CBC2D6", +"6> c #D1C9DC", +"7> c #D8D1E0", +"8> c #E0DBE7", +"9> c #EDEBF0", +"0> c #EAE8ED", +"a> c #DCD9E3", +"b> c #DCD8E2", +"c> c #DBD7E2", +"d> c #DBD6E2", +"e> c #DDD9E2", +"f> c #DCD9E0", +"g> c #DDD9E0", +"h> c #DDDAE1", +"i> c #DEDAE1", +"j> c #DFDCE3", +"k> c #D7D3DC", +"l> c #8A7A9A", +"m> c #6D587F", +"n> c #321F49", +"o> c #322049", +"p> c #503E67", +"q> c #B5ACC0", +"r> c #B1A6BD", +"s> c #A89DB6", +"t> c #A699B4", +"u> c #A99BB8", +"v> c #B1A3C3", +"w> c #B1A2C2", +"x> c #B1A1C4", +"y> c #B5A6C8", +"z> c #B9A9CC", +"A> c #BBACCC", +"B> c #BBADCD", +"C> c #BDAFCF", +"D> c #BAACCA", +"E> c #BAACC9", +"F> c #C6BCD2", +"G> c #CBC2D7", +"H> c #D0C9DB", +"I> c #D7D0DF", +"J> c #DCD6E3", +"K> c #E3E0EA", +"L> c #EDEBF1", +"M> c #DFDBE4", +"N> c #DED9E3", +"O> c #D8D3DF", +"P> c #D8D2DE", +"Q> c #D7D2DE", +"R> c #D7D1DD", +"S> c #DAD4DF", +"T> c #D9D4DE", +"U> c #D8D4DE", +"V> c #D9D6DF", +"W> c #DBD8E0", +"X> c #DFDBE2", +"Y> c #E4E2E6", +"Z> c #E5E2E7", +"`> c #D3CED8", +" , c #C9C3D0", +"., c #9B8EA9", +"+, c #9283A1", +"@, c #827192", +"#, c #200D37", +"$, c #35214D", +"%, c #716285", +"&, c #B8AEC4", +"*, c #B3A9BF", +"=, c #B2A7BE", +"-, c #ADA3BB", +";, c #A79BB6", +">, c #AFA3BF", +",, c #B3A5C4", +"', c #B2A4C4", +"), c #B1A2C3", +"!, c #B3A4C6", +"~, c #B7A8CA", +"{, c #B9AACC", +"], c #BBACCD", +"^, c #BCAECE", +"/, c #BDB0CF", +"(, c #BAADC9", +"_, c #BDB1CB", +":, c #C1B5CF", +"<, c #C9BFD6", +"[, c #CEC6D9", +"}, c #D4CCDD", +"|, c #DAD3E1", +"1, c #DFD9E6", +"2, c #E3E0E9", +"3, c #E7E3EA", +"4, c #DEDAE4", +"5, c #DBD7E1", +"6, c #DAD6E0", +"7, c #D6D0DD", +"8, c #D6D0DC", +"9, c #D6CFDC", +"0, c #D4CFDB", +"a, c #D4CEDB", +"b, c #D5D1DB", +"c, c #D6D1DB", +"d, c #D6D2DB", +"e, c #DDD9E1", +"f, c #E2DFE4", +"g, c #D6D2DC", +"h, c #B4A9BE", +"i, c #A395AE", +"j, c #7B678B", +"k, c #6D577F", +"l, c #240E3C", +"m, c #200D36", +"n, c #33214A", +"o, c #332049", +"p, c #3E2C56", +"q, c #8B7F9D", +"r, c #BCB2C8", +"s, c #B4AAC0", +"t, c #A99DB6", +"u, c #A79BB5", +"v, c #ADA1BC", +"w, c #B4A6C5", +"x, c #B3A5C5", +"y, c #B1A3C4", +"z, c #B8AACB", +"A, c #BAAACC", +"B, c #BDAECE", +"C, c #BEB0CF", +"D, c #C4B8D1", +"E, c #C8BDD3", +"F, c #CCC3D7", +"G, c #DAD4E1", +"H, c #E1DCE7", +"I, c #E2DEE9", +"J, c #E4E1EA", +"K, c #E5E2EA", +"L, c #E4E0E9", +"M, c #E3DFE8", +"N, c #E0DCE6", +"O, c #DDD8E3", +"P, c #D5CFDB", +"Q, c #D4CFDC", +"R, c #D3CCDA", +"S, c #D2CCD9", +"T, c #D2CCDA", +"U, c #D1CCD9", +"V, c #D1CBD9", +"W, c #D0CAD8", +"X, c #D2CDDA", +"Y, c #D4CEDA", +"Z, c #D2CCD7", +"`, c #D2CDD8", +" ' c #D3CDD9", +".' c #D5D0DA", +"+' c #DAD6DF", +"@' c #DEDAE2", +"#' c #E1DDE4", +"$' c #D8D4DC", +"%' c #D1CBD6", +"&' c #C9C1D0", +"*' c #C1B8C9", +"=' c #9789A5", +"-' c #79678A", +";' c #735E84", +">' c #654F78", +",' c #58426E", +"'' c #1F0D35", +")' c #34214B", +"!' c #493760", +"~' c #A49AB2", +"{' c #BDB4C9", +"]' c #BBB2C8", +"^' c #B6ADC2", +"/' c #B3A8BF", +"(' c #ACA1B9", +"_' c #A99EB7", +":' c #B3A6C2", +"<' c #B4A7C5", +"[' c #B3A6C5", +"}' c #B3A4C4", +"|' c #B3A4C5", +"1' c #B9AACB", +"2' c #BCADCD", +"3' c #BFB1D0", +"4' c #BEB2CC", +"5' c #C1B6CF", +"6' c #C9BED5", +"7' c #D5CEDD", +"8' c #DBD5E2", +"9' c #DDD7E4", +"0' c #DED8E5", +"a' c #DED8E4", +"b' c #DCD7E2", +"c' c #DCD6E2", +"d' c #DAD5E1", +"e' c #D6D1DE", +"f' c #D4CDDB", +"g' c #CFC9D7", +"h' c #CEC8D7", +"i' c #CEC7D7", +"j' c #CDC6D6", +"k' c #CDC6D5", +"l' c #CFC9D6", +"m' c #CFCAD6", +"n' c #D1CAD6", +"o' c #D4CFDA", +"p' c #CAC3D1", +"q' c #9D8EA9", +"r' c #634E78", +"s' c #260F3F", +"t' c #34224B", +"u' c #35224C", +"v' c #54426B", +"w' c #B5ACC1", +"x' c #BEB6C9", +"y' c #BCB3C8", +"z' c #BAAFC6", +"A' c #ACA1B8", +"B' c #AA9FB7", +"C' c #AFA4BE", +"D' c #B6AAC6", +"E' c #B5A8C5", +"F' c #B5A7C7", +"G' c #BAABCB", +"H' c #BBADCC", +"I' c #BCB0CB", +"J' c #C0B3CD", +"K' c #C3B7D0", +"L' c #C8BED5", +"M' c #D2CADC", +"N' c #D5CDDD", +"O' c #D5CFDE", +"P' c #D6D0DE", +"Q' c #D8D2DF", +"R' c #D8D1DF", +"S' c #D7D0DE", +"T' c #D5CEDC", +"U' c #D3CDDB", +"V' c #D1CAD9", +"W' c #CFCAD7", +"X' c #CCC4D4", +"Y' c #CCC3D4", +"Z' c #CCC3D3", +"`' c #CCC2D4", +" ) c #CCC2D3", +".) c #CBC2D3", +"+) c #CDC4D5", +"@) c #CBC4D2", +"#) c #CBC5D2", +"$) c #D0CAD5", +"%) c #D2CDD7", +"&) c #D8D5DE", +"*) c #D5D2DB", +"=) c #BDB5C5", +"-) c #AFA3BA", +";) c #A093AD", +">) c #8B799A", +",) c #7C6A8E", +"') c #4C3562", +")) c #432A5A", +"!) c #35224B", +"~) c #36234E", +"{) c #6D5D81", +"]) c #BFB7CA", +"^) c #BDB3C9", +"/) c #ACA2B8", +"() c #B5AAC3", +"_) c #B8ACC7", +":) c #B8AACA", +"<) c #BAACCC", +"[) c #BCADCE", +"}) c #BDAFCE", +"|) c #BEB0D0", +"1) c #BDAFCD", +"2) c #B8AAC7", +"3) c #BAADCA", +"4) c #BDB0CC", +"5) c #C2B7D0", +"6) c #C5B9D1", +"7) c #CAC0D5", +"8) c #CEC5D8", +"9) c #CFC7D9", +"0) c #D0C8DA", +"a) c #D2CADB", +"b) c #D3CCDC", +"c) c #D2CBDB", +"d) c #D0C9D9", +"e) c #CFC8D8", +"f) c #CBC3D3", +"g) c #CAC2D3", +"h) c #CAC1D2", +"i) c #C9C1D2", +"j) c #C9C1D1", +"k) c #C8C0D2", +"l) c #C8C0D1", +"m) c #C8BFD1", +"n) c #C9C0D2", +"o) c #C7C0CF", +"p) c #C9C3D1", +"q) c #CCC6D2", +"r) c #CCC7D3", +"s) c #D0CAD6", +"t) c #D0CBD7", +"u) c #D5D1DA", +"v) c #C5BCCB", +"w) c #BEB6C6", +"x) c #B7ADC1", +"y) c #B1A5BB", +"z) c #9C8EA8", +"A) c #8E7E9D", +"B) c #877696", +"C) c #6D5880", +"D) c #5B456F", +"E) c #3E2555", +"F) c #230D3A", +"G) c #35234C", +"H) c #37254F", +"I) c #7E7192", +"J) c #C0B8CA", +"K) c #BEB7C9", +"L) c #BCB2C9", +"M) c #B6ACC3", +"N) c #ACA2B9", +"O) c #B1A7BF", +"P) c #B9AEC8", +"Q) c #B8ADC8", +"R) c #B7ABC7", +"S) c #B7A9C6", +"T) c #B5A8C6", +"U) c #B4A6C6", +"V) c #B9ACCA", +"W) c #B7A9C7", +"X) c #BFB2CD", +"Y) c #C5BAD1", +"Z) c #C8BED4", +"`) c #C9BFD4", +" ! c #C9C0D5", +".! c #CAC2D6", +"+! c #CCC4D6", +"@! c #CEC6D8", +"#! c #CDC5D7", +"$! c #CCC3D5", +"%! c #CBC3D5", +"&! c #CAC3D4", +"*! c #CAC1D3", +"=! c #C7BFD0", +"-! c #C7BED0", +";! c #C6BECF", +">! c #C5BDCF", +",! c #C5BDCE", +"'! c #C5BCCE", +")! c #C4BCCE", +"!! c #C6BFD0", +"~! c #C5BDCD", +"{! c #C4BCCC", +"]! c #C7BFCE", +"^! c #C8C0CF", +"/! c #C9C2D1", +"(! c #CBC6D2", +"_! c #CEC8D5", +":! c #CBC5D1", +"~ c #C3B8D0", +",~ c #C5BBD1", +"'~ c #C3BACE", +")~ c #C3B9CE", +"!~ c #C3B9CD", +"~~ c #C1B8CD", +"{~ c #C1B8CC", +"]~ c #C0B8CB", +"^~ c #C0B6CA", +"/~ c #C0B7CA", +"(~ c #BFB6CA", +"_~ c #BFB4CA", +":~ c #C0B5CA", +"<~ c #C1B8CB", +"[~ c #BEB4C5", +"}~ c #C0B6C6", +"|~ c #C0B7C7", +"1~ c #C1B8C8", +"2~ c #C3BACA", +"3~ c #C5BCCC", +"4~ c #C3BACB", +"5~ c #C1B9C8", +"6~ c #BBB1C4", +"7~ c #9486A3", +"8~ c #8F7E9D", +"9~ c #837092", +"0~ c #6B557D", +"a~ c #543E6A", +"b~ c #37254E", +"c~ c #473360", +"d~ c #C2BBCC", +"e~ c #BBB0C8", +"f~ c #BEB3CB", +"g~ c #BBAFC9", +"h~ c #B9ADC8", +"i~ c #B6AAC7", +"j~ c #B8ABC9", +"k~ c #BDB0CE", +"l~ c #B8ABCC", +"m~ c #B8A9CC", +"n~ c #BAABCD", +"o~ c #B2A3C3", +"p~ c #B3A4C3", +"q~ c #B8AAC6", +"r~ c #B9ACC7", +"s~ c #BAAECA", +"t~ c #C2B5CE", +"u~ c #C2B6CE", +"v~ c #BFB4CB", +"w~ c #BFB4C9", +"x~ c #BDB2C8", +"y~ c #BCB2C7", +"z~ c #BEB4C9", +"A~ c #BEB4C8", +"B~ c #BAB1C4", +"C~ c #BAB2C3", +"D~ c #BBB2C4", +"E~ c #BBB3C4", +"F~ c #BCB4C5", +"G~ c #BFB7C7", +"H~ c #B0A4BA", +"I~ c #9B8DA8", +"J~ c #624D76", +"K~ c #57416C", +"L~ c #452C5B", +"M~ c #351D4E", +"N~ c #281040", +"O~ c #38254E", +"P~ c #473460", +"Q~ c #AAA0B7", +"R~ c #C3BCCE", +"S~ c #B8AEC5", +"T~ c #BEB4CC", +"U~ c #C0B6CE", +"V~ c #BDB2CA", +"W~ c #B8ACC8", +"X~ c #BAADCB", +"Y~ c #BEB1CF", +"Z~ c #BCAFCE", +"`~ c #B9AACD", +" { c #B5A6C4", +".{ c #BAADC8", +"+{ c #BBB0CA", +"@{ c #BCB0CA", +"#{ c #BEB1CB", +"${ c #BDB2CB", +"%{ c #B9ADC5", +"&{ c #B9AEC4", +"*{ c #BAAEC5", +"={ c #BBAFC6", +"-{ c #BBB0C6", +";{ c #BCB0C6", +">{ c #B9AEC3", +",{ c #B8AEC0", +"'{ c #BAB1C3", +"){ c #BBB2C3", +"!{ c #B9B1C3", +"~{ c #B7ACBF", +"{{ c #B4AABE", +"]{ c #ADA1B8", +"^{ c #9587A4", +"/{ c #857395", +"({ c #5F4974", +"_{ c #503967", +":{ c #220D3A", +"<{ c #38264F", +"[{ c #392650", +"}{ c #4A3563", +"|{ c #ABA1B8", +"1{ c #C4BDCE", +"2{ c #C1BACC", +"3{ c #BBB1C7", +"4{ c #C1B7CF", +"5{ c #C3B9D1", +"6{ c #BDB3CB", +"7{ c #BCB0CD", +"8{ c #B7A9CB", +"9{ c #AF9FC1", +"0{ c #B0A0C1", +"a{ c #B0A1C1", +"b{ c #B5A8C4", +"c{ c #B8ABC7", +"d{ c #B9ADC7", +"e{ c #BAADC7", +"f{ c #B6AAC4", +"g{ c #B6AAC3", +"h{ c #B6A9C2", +"i{ c #B5AAC2", +"j{ c #B6AAC2", +"k{ c #B6ABC2", +"l{ c #B7ACC3", +"m{ c #B7ACC4", +"n{ c #B7ADC3", +"o{ c #B3A8BD", +"p{ c #B5AABE", +"q{ c #B5ABBE", +"r{ c #B6ABBF", +"s{ c #B7ADBF", +"t{ c #B7ACC0", +"u{ c #B5AABF", +"v{ c #B4A9BD", +"w{ c #AA9EB6", +"x{ c #A89BB3", +"y{ c #A396B0", +"z{ c #9A8CA7", +"A{ c #7B698D", +"B{ c #57416D", +"C{ c #240E3D", +"D{ c #210D37", +"E{ c #392751", +"F{ c #4A3764", +"G{ c #C5BECE", +"H{ c #C4BAD2", +"I{ c #BEB2CF", +"J{ c #B7A8CB", +"K{ c #B7A6C9", +"L{ c #AB9CBE", +"M{ c #AD9DBE", +"N{ c #AE9DBF", +"O{ c #AF9FBF", +"P{ c #AFA1C1", +"Q{ c #B2A4C2", +"R{ c #B4A6C4", +"S{ c #B5A7C4", +"T{ c #B6A9C4", +"U{ c #B5A9C5", +"V{ c #B5A9C4", +"W{ c #B2A6C0", +"X{ c #B1A5BF", +"Y{ c #B2A5BF", +"Z{ c #B2A6BF", +"`{ c #B3A6C0", +" ] c #B3A7C1", +".] c #B4A8C0", +"+] c #B0A5BA", +"@] c #B1A6BC", +"#] c #B1A7BC", +"$] c #B2A7BD", +"%] c #B3A7BD", +"&] c #B2A6BC", +"*] c #68537B", +"=] c #47305E", +"-] c #351C4C", +";] c #3A2751", +">] c #3A2851", +",] c #4B3765", +"'] c #ACA2BA", +")] c #C5BFCD", +"!] c #C2BCCD", +"~] c #C1B9CC", +"{] c #BEB6CB", +"]] c #C5BCD3", +"^] c #C2B8D1", +"/] c #BFB2CE", +"(] c #BFB2D0", +"_] c #B6A8CA", +":] c #B6A7CA", +"<] c #B5A6C9", +"[] c #B5A5C9", +"}] c #AC9DBE", +"|] c #AFA0C0", +"1] c #B1A2C1", +"2] c #B1A3C1", +"3] c #B2A5C2", +"4] c #B2A5C1", +"5] c #AEA1BD", +"6] c #AEA1BC", +"7] c #AEA1BB", +"8] c #AEA2BC", +"9] c #AFA2BC", +"0] c #AFA3BD", +"a] c #AFA3BE", +"b] c #B0A3BE", +"c] c #B0A4BE", +"d] c #B1A4BE", +"e] c #A99DB4", +"f] c #A79BB3", +"g] c #A598B0", +"h] c #A195AF", +"i] c #9E91AC", +"j] c #9C8DA7", +"k] c #725E85", +"l] c #493160", +"m] c #210D39", +"n] c #3B2852", +"o] c #4B3866", +"p] c #ACA3B9", +"q] c #C5BFCE", +"r] c #C3BCCD", +"s] c #BFB8CA", +"t] c #C3BBCF", +"u] c #C6BDD3", +"v] c #C4BBD2", +"w] c #BFB5CE", +"x] c #BAAEC8", +"y] c #BFB4D0", +"z] c #C0B4D0", +"A] c #B5A7C9", +"B] c #A897BB", +"C] c #A997BB", +"D] c #A797BB", +"E] c #A998BC", +"F] c #AA9ABC", +"G] c #AB9BBC", +"H] c #AD9EBE", +"I] c #AE9FBE", +"J] c #AE9FBF", +"K] c #AFA0BF", +"L] c #AEA0BF", +"M] c #AB9EBB", +"N] c #AB9DB9", +"O] c #AA9CB9", +"P] c #AB9EB9", +"Q] c #AC9EB9", +"R] c #AC9EBA", +"S] c #ADA0BA", +"T] c #ADA0BB", +"U] c #AEA0BB", +"V] c #ADA1BB", +"W] c #ACA0B8", +"X] c #A89DB4", +"Y] c #A094AE", +"Z] c #9F91AC", +"`] c #9A8BA6", +" ^ c #867496", +".^ c #816F92", +"+^ c #77658A", +"@^ c #604A75", +"#^ c #5B4571", +"$^ c #1F0D36", +"%^ c #3C2953", +"&^ c #453161", +"*^ c #9D92AD", +"=^ c #C6BFCF", +"-^ c #C2BBCD", +";^ c #C6BED1", +">^ c #C6BED4", +",^ c #C5BBD3", +"'^ c #C3BAD1", +")^ c #B9ADC9", +"!^ c #C1B5D0", +"~^ c #BFB2CF", +"{^ c #B3A3C8", +"]^ c #B2A3C7", +"^^ c #B2A2C7", +"/^ c #A695B9", +"(^ c #A695BA", +"_^ c #A796BA", +":^ c #A897BA", +"<^ c #A999BB", +"[^ c #AB9BBB", +"}^ c #AC9BBC", +"|^ c #AC9CBC", +"1^ c #A798B6", +"2^ c #A799B7", +"3^ c #A89AB7", +"4^ c #A89AB8", +"5^ c #A99CB9", +"6^ c #AA9DB9", +"7^ c #AB9EBA", +"8^ c #AC9FB9", +"9^ c #A79CB3", +"0^ c #A69AB3", +"a^ c #A498B1", +"b^ c #A296AF", +"c^ c #A193AE", +"d^ c #9F92AC", +"e^ c #9C8DA8", +"f^ c #9688A5", +"g^ c #8D7C9C", +"h^ c #857394", +"i^ c #6F5A82", +"j^ c #3C2455", +"k^ c #3A2251", +"l^ c #3C2A53", +"m^ c #463261", +"n^ c #9689A6", +"o^ c #C8C0D3", +"p^ c #C7BED4", +"q^ c #C2B8D0", +"r^ c #C0B5CE", +"s^ c #B8AEC8", +"t^ c #C2B6D1", +"u^ c #C1B5D1", +"v^ c #BFB3CF", +"w^ c #BDB1CE", +"x^ c #B5A4C8", +"y^ c #B3A2C7", +"z^ c #B1A1C6", +"A^ c #B1A1C7", +"B^ c #AA9ABF", +"C^ c #A392B8", +"D^ c #A594B8", +"E^ c #A492B8", +"F^ c #A493B8", +"G^ c #A594B7", +"H^ c #A594B9", +"I^ c #A695B8", +"J^ c #A796B8", +"K^ c #A797B9", +"L^ c #A798B9", +"M^ c #A798B8", +"N^ c #A898B8", +"O^ c #A898B7", +"P^ c #A394B3", +"Q^ c #A899B7", +"R^ c #A99AB8", +"S^ c #A397B0", +"T^ c #A295AF", +"U^ c #A294AE", +"V^ c #9E91AB", +"W^ c #9E8FAA", +"X^ c #9989A5", +"Y^ c #9687A4", +"Z^ c #9181A0", +"`^ c #513967", +" / c #422959", +"./ c #3B2253", +"+/ c #3D2A54", +"@/ c #473262", +"#/ c #8E81A0", +"$/ c #C6C0CF", +"%/ c #C5BECF", +"&/ c #C8C1D4", +"*/ c #C7BFD4", +"=/ c #C5BBD2", +"-/ c #C2B9D1", +";/ c #C1B7D0", +">/ c #BAAFCA", +",/ c #C2B7D1", +"'/ c #C0B3D0", +")/ c #BAADCC", +"!/ c #B8A9CA", +"~/ c #B3A4C7", +"{/ c #B0A1C6", +"]/ c #AE9CC3", +"^/ c #A291B7", +"// c #A291B6", +"(/ c #A390B6", +"_/ c #A290B6", +":/ c #A391B6", +"( c #AE9EC5", +",( c #AA98BF", +"'( c #9D8BB3", +")( c #9E8BB3", +"!( c #9D8BB2", +"~( c #9D8BB1", +"{( c #9D8CB1", +"]( c #9D8CB0", +"^( c #9C8DB1", +"/( c #998AAB", +"(( c #9B8CAC", +"_( c #9C8DAD", +":( c #9C8DAE", +"<( c #9F8FB0", +"[( c #A291B0", +"}( c #A291B1", +"|( c #A090AE", +"1( c #9A8AA6", +"2( c #988AA6", +"3( c #9385A2", +"4( c #9284A1", +"5( c #90809F", +"6( c #8F7F9E", +"7( c #877596", +"8( c #7E6C8E", +"9( c #6A547D", +"0( c #3E2B55", +"a( c #45315F", +"b( c #594674", +"c( c #BFB7C9", +"d( c #C7C0D1", +"e( c #CFC8DA", +"f( c #C9C2D4", +"g( c #C7BFD3", +"h( c #C5BDD2", +"i( c #BFB4CF", +"j( c #BBB0CB", +"k( c #C4B9D2", +"l( c #BFB3D0", +"m( c #B09FC5", +"n( c #AF9DC4", +"o( c #AB9BC2", +"p( c #9D8AB2", +"q( c #9C89B2", +"r( c #9B88B1", +"s( c #9A87AE", +"t( c #9988AF", +"u( c #9A87AF", +"v( c #9A88AF", +"w( c #9A88AE", +"x( c #9988AD", +"y( c #9A88AD", +"z( c #9A8AAF", +"A( c #9887A9", +"B( c #9887AA", +"C( c #9888AA", +"D( c #9889AB", +"E( c #998BAB", +"F( c #9A8BAB", +"G( c #9E8EB0", +"H( c #9E8FB0", +"I( c #9889A7", +"J( c #9486A2", +"K( c #9182A1", +"L( c #8D7D9B", +"M( c #847293", +"N( c #817092", +"O( c #78668B", +"P( c #705B82", +"Q( c #655078", +"R( c #442D5C", +"S( c #43305D", +"T( c #523E6E", +"U( c #B0A6BC", +"V( c #C7C1D0", +"W( c #C7C1D2", +"X( c #CAC3D5", +"Y( c #C7C0D4", +"Z( c #C5BED2", +"`( c #C3B9D2", +" _ c #C0B4CF", +"._ c #BFB4CE", +"+_ c #B7A8C9", +"@_ c #B1A2C6", +"#_ c #AE9DC4", +"$_ c #AD9BC3", +"%_ c #AD9AC2", +"&_ c #A594BC", +"*_ c #9B89B1", +"=_ c #9987B0", +"-_ c #9885AF", +";_ c #9985AE", +">_ c #9A86B0", +",_ c #9986AF", +"'_ c #9885AE", +")_ c #9885AD", +"!_ c #9784AC", +"~_ c #9783AB", +"{_ c #9784AB", +"]_ c #9784AA", +"^_ c #9785AB", +"/_ c #9684A8", +"(_ c #9584A6", +"__ c #9685A7", +":_ c #9685A8", +"<_ c #9889AA", +"[_ c #9A8CAD", +"}_ c #998AAA", +"|_ c #988AAA", +"1_ c #9889A9", +"2_ c #9889A8", +"3_ c #9788A8", +"4_ c #9788A7", +"5_ c #9688A7", +"6_ c #9A8AAA", +"7_ c #9A8CAE", +"8_ c #9183A1", +"9_ c #8C7C9A", +"0_ c #897797", +"a_ c #867394", +"b_ c #7F6C90", +"c_ c #79688B", +"d_ c #746187", +"e_ c #715D84", +"f_ c #614A75", +"g_ c #2B1243", +"h_ c #3F2D57", +"i_ c #43305C", +"j_ c #4C3768", +"k_ c #998DA9", +"l_ c #C8C2D2", +"m_ c #D1CBDC", +"n_ c #CCC5D7", +"o_ c #C4BCD1", +"p_ c #C1B8D0", +"q_ c #C4BAD3", +"r_ c #C3B7D1", +"s_ c #B2A1C6", +"t_ c #AD9BC2", +"u_ c #AB9AC2", +"v_ c #A997C1", +"w_ c #9886AF", +"x_ c #9884AE", +"y_ c #9784AE", +"z_ c #9582AC", +"A_ c #9783AE", +"B_ c #9682AC", +"C_ c #9581AC", +"D_ c #9581AB", +"E_ c #9381A9", +"F_ c #9380AA", +"G_ c #9480AA", +"H_ c #9380A9", +"I_ c #9480A8", +"J_ c #9480A9", +"K_ c #9480A7", +"L_ c #9580A7", +"M_ c #9682A9", +"N_ c #9683A9", +"O_ c #9381A6", +"P_ c #9381A5", +"Q_ c #9482A5", +"R_ c #9583A6", +"S_ c #9786A8", +"T_ c #9686A8", +"U_ c #9786A9", +"V_ c #9886A9", +"W_ c #9988AA", +"X_ c #9888A9", +"Y_ c #9787A8", +"Z_ c #9585A5", +"`_ c #9485A5", +" : c #9484A3", +".: c #9383A2", +"+: c #9282A2", +"@: c #9281A0", +"#: c #92829F", +"$: c #9384A3", +"%: c #9484A4", +"&: c #9585A4", +"*: c #9685A6", +"=: c #91819E", +"-: c #907F9E", +";: c #897899", +">: c #827193", +",: c #7A678C", +"': c #735F84", +"): c #604A74", +"!: c #563F6C", +"~: c #402D57", +"{: c #422F5A", +"]: c #4B3768", +"^: c #827495", +"/: c #C8C1D1", +"(: c #C8C0D0", +"_: c #C9C3D2", +":: c #D2CCDD", +"<: c #CDC7D9", +"[: c #C4BAD1", +"}: c #C0B6CF", +"|: c #C8BED6", +"1: c #C3B9D3", +"2: c #C0B3CF", +"3: c #BBAECC", +"4: c #B9ACCB", +"5: c #B7A9CA", +"6: c #B3A3C7", +"7: c #B1A2C5", +"8: c #AD9CC2", +"9: c #AB9AC1", +"0: c #A998C1", +"a: c #A290B9", +"b: c #9683AE", +"c: c #9682AD", +"d: c #9481AC", +"e: c #937FAA", +"f: c #947FAB", +"g: c #927FA9", +"h: c #927EAA", +"i: c #917DA7", +"j: c #907CA8", +"k: c #917DA8", +"l: c #917DA6", +"m: c #907DA6", +"n: c #917CA6", +"o: c #927EA6", +"p: c #937FA7", +"q: c #927EA4", +"r: c #8F7CA1", +"s: c #917EA3", +"t: c #917FA4", +"u: c #927FA4", +"v: c #9280A5", +"w: c #9684A7", +"x: c #9584A5", +"y: c #9383A4", +"z: c #9180A0", +"A: c #8F7F9F", +"B: c #8F7E9C", +"C: c #8E7D9C", +"D: c #887798", +"E: c #887697", +"F: c #79688C", +"G: c #735F86", +"H: c #462E5C", +"I: c #3C2554", +"J: c #2C1344", +"K: c #412E58", +"L: c #412F59", +"M: c #4B3767", +"N: c #63517C", +"O: c #C8C2D1", +"P: c #CAC3D3", +"Q: c #D3CDDD", +"R: c #C4BBD0", +"S: c #C1B6D0", +"T: c #C8BED7", +"U: c #C2B7D2", +"V: c #AE9DC3", +"W: c #AC9AC2", +"X: c #AB99C1", +"Y: c #A997C0", +"Z: c #A694BE", +"`: c #9783AD", +" < c #9480AC", +".< c #937FAB", +"+< c #917EAA", +"@< c #917CA9", +"#< c #907BA9", +"$< c #8F7BA8", +"%< c #8F7BA7", +"&< c #8F79A6", +"*< c #8E79A6", +"=< c #8E7AA5", +"-< c #8D79A6", +";< c #8C7AA4", +">< c #8D7AA4", +",< c #8D7AA3", +"'< c #8E7BA5", +")< c #8F7CA5", +"!< c #907CA6", +"~< c #8F7BA3", +"{< c #8C799F", +"]< c #8D7AA0", +"^< c #8E7BA0", +"/< c #8F7CA0", +"(< c #8F7DA1", +"_< c #907DA2", +":< c #917EA2", +"<< c #9180A4", +"[< c #917FA2", +"}< c #907EA0", +"|< c #8E7D9F", +"1< c #8D7B9C", +"2< c #8B7A99", +"3< c #8C7C9C", +"4< c #8D7D9D", +"5< c #8C7A9A", +"6< c #8B7999", +"7< c #897999", +"8< c #877595", +"9< c #725D83", +"0< c #6F5B81", +"a< c #67527A", +"b< c #4B3666", +"c< c #544170", +"d< c #B8B0C4", +"e< c #D4CEDD", +"f< c #D2CBDC", +"g< c #CAC4D6", +"h< c #C6BFD3", +"i< c #C2BAD0", +"j< c #BFB5CF", +"k< c #CAC0D9", +"l< c #C6BBD4", +"m< c #B6A8C9", +"n< c #B4A6C8", +"o< c #B2A3C6", +"p< c #AB9BC3", +"q< c #AA99C1", +"r< c #A997BF", +"s< c #A795BF", +"t< c #9F8CB6", +"u< c #9581AD", +"v< c #917DA9", +"w< c #8F7AA9", +"x< c #8E7AA7", +"y< c #8C78A5", +"z< c #8C77A4", +"A< c #8E78A6", +"B< c #8D78A5", +"C< c #8C77A3", +"D< c #8B76A3", +"E< c #8A76A3", +"F< c #8A76A2", +"G< c #8A76A1", +"H< c #8A77A1", +"I< c #8B77A1", +"J< c #8C79A2", +"K< c #8D79A3", +"L< c #8E7BA4", +"M< c #8C7AA2", +"N< c #89779E", +"O< c #8A789E", +"P< c #8B789F", +"Q< c #8D7B9F", +"R< c #8C7A9D", +"S< c #887696", +"T< c #877796", +"U< c #89789A", +"V< c #8A799A", +"W< c #8A799B", +"X< c #8B799B", +"Y< c #8A789A", +"Z< c #857294", +"`< c #756186", +" [ c #59446F", +".[ c #4B3461", +"+[ c #402857", +"@[ c #311848", +"#[ c #2B1342", +"$[ c #250E3E", +"%[ c #422F59", +"&[ c #493563", +"*[ c #4E396B", +"=[ c #A196B0", +"-[ c #CAC3D2", +";[ c #C9C2D2", +">[ c #D2CCDC", +",[ c #D4CDDE", +"'[ c #C3BAD0", +")[ c #C2B8CF", +"![ c #C6BDD5", +"~[ c #CBC1DA", +"{[ c #C9BFD8", +"][ c #BEB3CF", +"^[ c #BDB0CD", +"/[ c #B8ABCB", +"([ c #B6A9C9", +"_[ c #B0A1C5", +":[ c #AA99C2", +"<[ c #A897C0", +"[[ c #A491BC", +"}[ c #9380AB", +"|[ c #8D77A6", +"1[ c #8A76A4", +"2[ c #8A75A3", +"3[ c #8873A2", +"4[ c #8973A2", +"5[ c #8A74A2", +"6[ c #8974A2", +"7[ c #8973A0", +"8[ c #8773A0", +"9[ c #8872A0", +"0[ c #87729F", +"a[ c #87739F", +"b[ c #87729E", +"c[ c #86729E", +"d[ c #86739E", +"e[ c #87749F", +"f[ c #8A77A0", +"g[ c #8C78A1", +"h[ c #88759C", +"i[ c #89769D", +"j[ c #89789E", +"k[ c #89769B", +"l[ c #877498", +"m[ c #857296", +"n[ c #877597", +"o[ c #887698", +"p[ c #887899", +"q[ c #887799", +"r[ c #897799", +"s[ c #8A7799", +"t[ c #877698", +"u[ c #867597", +"v[ c #847395", +"w[ c #837294", +"x[ c #826F92", +"y[ c #806F90", +"z[ c #7F6E90", +"A[ c #7F6C8F", +"B[ c #746087", +"C[ c #705D82", +"D[ c #6B557E", +"E[ c #665179", +"F[ c #5F4873", +"G[ c #58436E", +"H[ c #57406B", +"I[ c #452D5B", +"J[ c #38204F", +"K[ c #311948", +"L[ c #2D1445", +"M[ c #281242", +"N[ c #240D3B", +"O[ c #42305A", +"P[ c #463460", +"Q[ c #4F3A6B", +"R[ c #7B6C91", +"S[ c #D3CDDC", +"T[ c #D4CEDF", +"U[ c #CEC8D9", +"V[ c #C6BED2", +"W[ c #C2B9CF", +"X[ c #C3BAD3", +"Y[ c #CBC2DA", +"Z[ c #C6BBD5", +"`[ c #BCAFCC", +" } c #B7A9C9", +".} c #AC9CC2", +"+} c #A996BF", +"@} c #A692BE", +"#} c #9D8AB5", +"$} c #937FA9", +"%} c #8F7AA7", +"&} c #8E79A7", +"*} c #8C78A6", +"=} c #8B76A5", +"-} c #8974A3", +";} c #8973A1", +">} c #8771A0", +",} c #86709F", +"'} c #856F9E", +")} c #846F9C", +"!} c #836F9C", +"~} c #836F9B", +"{} c #85719D", +"]} c #8976A0", +"^} c #86739A", +"/} c #87739B", +"(} c #847197", +"_} c #826F94", +":} c #806F92", +"<} c #827194", +"[} c #837194", +"}} c #847194", +"|} c #847295", +"1} c #857295", +"2} c #867395", +"3} c #867497", +"4} c #877497", +"5} c #877598", +"6} c #887597", +"7} c #887598", +"8} c #867397", +"9} c #867396", +"0} c #837094", +"a} c #806D91", +"b} c #7E6C90", +"c} c #7E6B8F", +"d} c #79678C", +"e} c #79668A", +"f} c #776488", +"g} c #6A557E", +"h} c #5E4974", +"i} c #5C4672", +"j} c #4A3360", +"k} c #442D5B", +"l} c #28103F", +"m} c #250E3C", +"n} c #210F37", +"o} c #43315B", +"p} c #45325D", +"q} c #503C6D", +"r} c #5E4B78", +"s} c #D1CADA", +"t} c #D5CFDF", +"u} c #C9C3D5", +"v} c #C5BCD1", +"w} c #C0B7CF", +"x} c #CCC3DA", +"y} c #CBC0D9", +"z} c #C4B8D3", +"A} c #C0B5D0", +"B} c #BEB2CE", +"C} c #B5A7C8", +"D} c #B4A3C7", +"E} c #B1A0C6", +"F} c #AE9FC4", +"G} c #A898C0", +"H} c #A794BE", +"I} c #A592BC", +"J} c #A28FBB", +"K} c #9681AD", +"L} c #907CA9", +"M} c #8D78A6", +"N} c #8B76A4", +"O} c #8A74A4", +"P} c #8874A3", +"Q} c #8872A2", +"R} c #8770A1", +"S} c #856FA0", +"T} c #846E9E", +"U} c #846D9E", +"V} c #826D9C", +"W} c #816C9C", +"X} c #816B9B", +"Y} c #826B9B", +"Z} c #826C9B", +"`} c #826C9A", +" | c #816B99", +".| c #816A99", +"+| c #826B99", +"@| c #826D9A", +"#| c #826E9A", +"$| c #86739F", +"%| c #826F98", +"&| c #7F6C93", +"*| c #7D6B90", +"=| c #7F6D91", +"-| c #816E92", +";| c #816E91", +">| c #826F93", +",| c #837093", +"'| c #847195", +")| c #847296", +"!| c #857396", +"~| c #857397", +"{| c #847196", +"]| c #816E93", +"^| c #7D6A8D", +"/| c #7B678C", +"(| c #78648A", +"_| c #776389", +":| c #644F79", +"<| c #624C77", +"[| c #49325F", +"}| c #44315B", +"|| c #513D6D", +"1| c #513C6E", +"2| c #A99FB7", +"3| c #CAC4D3", +"4| c #D6D0DF", +"5| c #CBC5D6", +"6| c #C6BDD2", +"7| c #C1B8CF", +"8| c #CBC3D9", +"9| c #C7BDD7", +"0| c #B6A8C8", +"a| c #B4A5C7", +"b| c #AD9DC3", +"c| c #A896BF", +"d| c #A491BD", +"e| c #A490BB", +"f| c #9B89B4", +"g| c #907BA8", +"h| c #8D78A7", +"i| c #8771A1", +"j| c #826C9D", +"k| c #826B9C", +"l| c #816B9C", +"m| c #7F699A", +"n| c #7E6899", +"o| c #7D6698", +"p| c #7E6797", +"q| c #7F6898", +"r| c #806998", +"s| c #7F6897", +"t| c #816A98", +"u| c #826E9B", +"v| c #7A668C", +"w| c #7C688C", +"x| c #816D91", +"y| c #806E92", +"z| c #826E93", +"A| c #837095", +"B| c #837195", +"C| c #827094", +"D| c #816D92", +"E| c #806D92", +"F| c #7F6C91", +"G| c #7E6A8F", +"H| c #7D6A8F", +"I| c #7C688E", +"J| c #7C688D", +"K| c #7B688D", +"L| c #79658B", +"M| c #745F86", +"N| c #65517A", +"O| c #604B74", +"P| c #5C4670", +"Q| c #513966", +"R| c #49305F", +"S| c #402958", +"T| c #392252", +"U| c #321B4B", +"V| c #271140", +"W| c #44325C", +"X| c #4F3B69", +"Y| c #554072", +"Z| c #847699", +"`| c #CDC7D6", +" 1 c #D7D1E0", +".1 c #D5CEDF", +"+1 c #CEC7D9", +"@1 c #C4BBD1", +"#1 c #C2B9D0", +"$1 c #C9C1D7", +"%1 c #C8BDD7", +"&1 c #C4BAD4", +"*1 c #BDB1CD", +"=1 c #B5A6C7", +"-1 c #AFA0C5", +";1 c #AD9EC3", +">1 c #A08DBA", +",1 c #9380AC", +"'1 c #8A76A5", +")1 c #8A74A3", +"!1 c #8671A1", +"~1 c #8570A0", +"{1 c #846D9F", +"]1 c #836D9E", +"^1 c #806A9B", +"/1 c #7E689A", +"(1 c #7D6697", +"_1 c #7C6597", +":1 c #7B6496", +"<1 c #7A6495", +"[1 c #7A6395", +"}1 c #7A6394", +"|1 c #7B6494", +"11 c #7D6596", +"21 c #7E6697", +"31 c #806898", +"41 c #816998", +"51 c #806896", +"61 c #7C6692", +"71 c #7A658E", +"81 c #79648D", +"91 c #7A668F", +"01 c #78648C", +"a1 c #77648A", +"b1 c #79648B", +"c1 c #7A668B", +"d1 c #7C698E", +"e1 c #7D698F", +"f1 c #7F6B90", +"g1 c #806C91", +"h1 c #816D93", +"i1 c #826E94", +"j1 c #816D94", +"k1 c #806C92", +"l1 c #7E6B91", +"m1 c #7E6A90", +"n1 c #7F6A8F", +"o1 c #7E698F", +"p1 c #7B688E", +"q1 c #7B678D", +"r1 c #7A658B", +"s1 c #78658B", +"t1 c #725F86", +"u1 c #6F5B83", +"v1 c #6C557F", +"w1 c #5D4672", +"x1 c #57426D", +"y1 c #563E6B", +"z1 c #503766", +"A1 c #4B3360", +"B1 c #45325C", +"C1 c #4A3763", +"D1 c #594476", +"E1 c #5C4978", +"F1 c #D6CFDF", +"G1 c #C8C0D6", +"H1 c #CCC4D9", +"I1 c #CAC1D9", +"J1 c #C7BCD6", +"K1 c #B4A6C7", +"L1 c #B2A4C6", +"M1 c #B1A0C5", +"N1 c #AF9EC3", +"O1 c #AC9BC2", +"P1 c #AA98C0", +"Q1 c #A795BE", +"R1 c #A693BD", +"S1 c #A38FBB", +"T1 c #A18EBA", +"U1 c #9B88B5", +"V1 c #8E7AA6", +"W1 c #8772A2", +"X1 c #866FA0", +"Y1 c #856E9E", +"Z1 c #836C9E", +"`1 c #826A9D", +" 2 c #816A9B", +".2 c #7F689A", +"+2 c #7E6799", +"@2 c #7C6698", +"#2 c #7B6498", +"$2 c #7B6396", +"%2 c #786293", +"&2 c #776092", +"*2 c #786092", +"=2 c #776091", +"-2 c #765F91", +";2 c #776192", +">2 c #7B6495", +",2 c #7C6495", +"'2 c #7A6392", +")2 c #77618D", +"!2 c #756089", +"~2 c #75608A", +"{2 c #77628B", +"]2 c #78628D", +"^2 c #79648E", +"/2 c #756087", +"(2 c #756188", +"_2 c #77638A", +":2 c #78648B", +"<2 c #7A658C", +"[2 c #7B668D", +"}2 c #7D688E", +"|2 c #7E6B90", +"12 c #7E6A91", +"22 c #7F6B91", +"32 c #806B92", +"42 c #806B91", +"52 c #816C92", +"62 c #7F6A91", +"72 c #7D6A90", +"82 c #7D6990", +"92 c #7A678D", +"02 c #7A668D", +"a2 c #7A658D", +"b2 c #79658C", +"c2 c #78638B", +"d2 c #78638A", +"e2 c #77628A", +"f2 c #766189", +"g2 c #735E86", +"h2 c #725E86", +"i2 c #715C84", +"j2 c #705B83", +"k2 c #6C5780", +"l2 c #69547E", +"m2 c #68527C", +"n2 c #5A456F", +"o2 c #573F6C", +"p2 c #4D3764", +"q2 c #42295A", +"r2 c #3E2556", +"s2 c #48345F", +"t2 c #5A4576", +"u2 c #594475", +"v2 c #A499B4", +"w2 c #CCC6D5", +"x2 c #C7C0D3", +"y2 c #CDC5DA", +"z2 c #CAC0D8", +"A2 c #C5BAD5", +"B2 c #BBAECB", +"C2 c #AD9FC4", +"D2 c #A896BE", +"E2 c #A493BC", +"F2 c #A390BB", +"G2 c #A18EB9", +"H2 c #9F8CB9", +"I2 c #937FAC", +"J2 c #8A75A4", +"K2 c #846FA0", +"L2 c #836E9F", +"M2 c #826B9D", +"N2 c #80699C", +"O2 c #7F689B", +"P2 c #7D6699", +"Q2 c #7B6497", +"R2 c #796295", +"S2 c #796194", +"T2 c #786094", +"U2 c #775F93", +"V2 c #755D90", +"W2 c #755D8F", +"X2 c #755E90", +"Y2 c #755E8F", +"Z2 c #705A86", +"`2 c #6F5A86", +" 3 c #725B88", +".3 c #735D89", +"+3 c #745F8A", +"@3 c #75608B", +"#3 c #76618B", +"$3 c #78618C", +"%3 c #77618B", +"&3 c #766188", +"*3 c #776289", +"=3 c #7B678E", +"-3 c #7D698E", +";3 c #7C688F", +">3 c #7D688F", +",3 c #7D6890", +"'3 c #7E6990", +")3 c #7F6991", +"!3 c #7F6990", +"~3 c #7C678F", +"{3 c #7C678E", +"]3 c #79648C", +"^3 c #766289", +"/3 c #745F88", +"(3 c #745E86", +"_3 c #725D86", +":3 c #715B83", +"<3 c #6E5982", +"[3 c #6D5881", +"}3 c #6B567F", +"|3 c #6A547E", +"13 c #66507B", +"23 c #624B76", +"33 c #5F4A75", +"43 c #5F4772", +"53 c #513A66", +"63 c #3D2455", +"73 c #331A4A", +"83 c #240D3C", +"93 c #47345E", +"03 c #584473", +"a3 c #5D487A", +"b3 c #76658D", +"c3 c #CBC5D4", +"d3 c #CFC8D9", +"e3 c #C9C3D4", +"f3 c #CDC6D9", +"g3 c #CAC1D8", +"h3 c #C6BBD6", +"i3 c #C3B8D3", +"j3 c #BBAFCB", +"k3 c #B8ACCA", +"l3 c #B5A8C7", +"m3 c #B3A5C6", +"n3 c #A897BF", +"o3 c #A593BD", +"p3 c #A291BB", +"q3 c #A08EB9", +"r3 c #9F8CB8", +"s3 c #9B87B5", +"t3 c #8975A3", +"u3 c #8773A2", +"v3 c #8570A1", +"w3 c #846E9F", +"x3 c #806B9D", +"y3 c #7E689B", +"z3 c #7C6598", +"A3 c #7B6397", +"B3 c #7A6296", +"C3 c #785F93", +"D3 c #765E92", +"E3 c #755E91", +"F3 c #745C90", +"G3 c #735B8F", +"H3 c #725B8D", +"I3 c #71598B", +"J3 c #6E5686", +"K3 c #6B5582", +"L3 c #6B5581", +"M3 c #6D5683", +"N3 c #6E5885", +"O3 c #6F5A87", +"P3 c #705B88", +"Q3 c #745E89", +"R3 c #745E8A", +"S3 c #76608B", +"T3 c #725D85", +"U3 c #725C85", +"V3 c #745E87", +"W3 c #745F87", +"X3 c #756088", +"Y3 c #77638B", +"Z3 c #7B658C", +"`3 c #7B668E", +" 4 c #7D678F", +".4 c #7C668E", +"+4 c #7A648D", +"@4 c #79638B", +"#4 c #78628B", +"$4 c #76618A", +"%4 c #745E88", +"&4 c #735D86", +"*4 c #715C85", +"=4 c #705B84", +"-4 c #705983", +";4 c #6F5983", +">4 c #6D5882", +",4 c #6C5680", +"'4 c #6B5580", +")4 c #6A547F", +"!4 c #69537E", +"~4 c #634D78", +"{4 c #614A76", +"]4 c #5E4874", +"^4 c #5C4571", +"/4 c #59416E", +"(4 c #543E6B", +"_4 c #523A69", +":4 c #311749", +"<4 c #47345F", +"[4 c #503D69", +"}4 c #614D7D", +"|4 c #5D497A", +"14 c #D3CCDB", +"24 c #D8D3E1", +"34 c #D6D0E0", +"44 c #D2CBDD", +"54 c #CAC4D5", +"64 c #C2BAD1", +"74 c #C0B8CF", +"84 c #CBC4D8", +"94 c #CDC5D9", +"04 c #CAC2D9", +"a4 c #C9BFD7", +"b4 c #C7BDD6", +"c4 c #C0B5D1", +"d4 c #BBAFCC", +"e4 c #B7AACA", +"f4 c #AFA0C4", +"g4 c #AD9DC2", +"h4 c #AB9AC0", +"i4 c #A594BE", +"j4 c #A390BC", +"k4 c #9E8BB8", +"l4 c #9D89B8", +"m4 c #947FAE", +"n4 c #8874A2", +"o4 c #8672A1", +"p4 c #786194", +"q4 c #776094", +"r4 c #755C91", +"s4 c #735B90", +"t4 c #725A8E", +"u4 c #72598E", +"v4 c #72598D", +"w4 c #6E5689", +"x4 c #6A5382", +"y4 c #67507E", +"z4 c #69517E", +"A4 c #6A5381", +"B4 c #6A5482", +"C4 c #6B5683", +"D4 c #6D5684", +"E4 c #6F5986", +"F4 c #705A87", +"G4 c #735C89", +"H4 c #755E8A", +"I4 c #715A83", +"J4 c #715B85", +"K4 c #735E87", +"L4 c #766089", +"M4 c #78638C", +"N4 c #79638C", +"O4 c #7B658D", +"P4 c #7B658E", +"Q4 c #7C668F", +"R4 c #7C658F", +"S4 c #7B648E", +"T4 c #7A648E", +"U4 c #7A638C", +"V4 c #78618B", +"W4 c #77618A", +"X4 c #76608A", +"Y4 c #755F89", +"Z4 c #755F88", +"`4 c #745D87", +" 5 c #735C86", +".5 c #725C86", +"+5 c #715A85", +"@5 c #705A85", +"#5 c #6E5983", +"$5 c #6E5882", +"%5 c #6D5681", +"&5 c #6B547F", +"*5 c #67517C", +"=5 c #664F7B", +"-5 c #654E79", +";5 c #634D79", +">5 c #624B77", +",5 c #604976", +"'5 c #5F4774", +")5 c #5B4471", +"!5 c #59426F", +"~5 c #57406D", +"{5 c #513A68", +"]5 c #4B3362", +"^5 c #4A3761", +"/5 c #614D7E", +"(5 c #9285A5", +"_5 c #D9D2E2", +":5 c #D8D2E1", +"<5 c #CCC7D7", +"[5 c #C8C1D5", +"}5 c #CEC6DB", +"|5 c #CCC3D9", +"15 c #C9C0D7", +"25 c #C7BED6", +"35 c #C4B8D4", +"45 c #BDB1CF", +"55 c #BAAECB", +"65 c #B5A8C8", +"75 c #A18FBA", +"85 c #9D89B7", +"95 c #9A86B5", +"05 c #8C77A6", +"a5 c #8571A0", +"b5 c #796195", +"c5 c #765F93", +"d5 c #765E93", +"e5 c #745C91", +"f5 c #735A8F", +"g5 c #72588E", +"h5 c #6D5488", +"i5 c #664E7F", +"j5 c #634B7B", +"k5 c #644C7C", +"l5 c #654E7E", +"m5 c #695180", +"n5 c #6B5583", +"o5 c #6C5683", +"p5 c #6E5785", +"q5 c #6F5886", +"r5 c #705A88", +"s5 c #715A89", +"t5 c #735B89", +"u5 c #705985", +"v5 c #705B85", +"w5 c #725B85", +"x5 c #735C87", +"y5 c #735D87", +"z5 c #79628B", +"A5 c #79628C", +"B5 c #79628D", +"C5 c #79638D", +"D5 c #7A638D", +"E5 c #78628C", +"F5 c #77618C", +"G5 c #765F8A", +"H5 c #765F89", +"I5 c #755E89", +"J5 c #745D89", +"K5 c #745D88", +"L5 c #735B86", +"M5 c #715C86", +"N5 c #6F5884", +"O5 c #6E5783", +"P5 c #6D5782", +"Q5 c #6C5681", +"R5 c #6B537F", +"S5 c #69527E", +"T5 c #68517D", +"U5 c #67507C", +"V5 c #664E7B", +"W5 c #654E7A", +"X5 c #634C79", +"Y5 c #614A78", +"Z5 c #614976", +"`5 c #5F4874", +" 6 c #5D4673", +".6 c #5C4572", +"+6 c #5B4270", +"@6 c #59406F", +"#6 c #553C6B", +"$6 c #4F3665", +"%6 c #4D3464", +"&6 c #4B3262", +"*6 c #331A4C", +"=6 c #321949", +"-6 c #483560", +";6 c #5A4674", +">6 c #665182", +",6 c #6E5B87", +"'6 c #C4BECF", +")6 c #D9D3E1", +"!6 c #D9D3E2", +"~6 c #D7D1E1", +"{6 c #D1CBDB", +"]6 c #CFC7DB", +"^6 c #C4B9D5", +"/6 c #C1B5D3", +"(6 c #B8ABCA", +"_6 c #B3A5C7", +":6 c #B0A2C5", +"<6 c #AE9FC3", +"[6 c #AC9CC1", +"}6 c #A998BF", +"|6 c #A695BE", +"16 c #9C89B6", +"26 c #9B86B6", +"36 c #9580B0", +"46 c #846F9F", +"56 c #826D9E", +"66 c #806A9C", +"76 c #7C6699", +"86 c #796196", +"96 c #755E92", +"06 c #735A90", +"a6 c #72598F", +"b6 c #71588E", +"c6 c #6C5489", +"d6 c #654C7F", +"e6 c #614879", +"f6 c #5F4778", +"g6 c #614A7A", +"h6 c #634C7B", +"i6 c #654D7D", +"j6 c #664E7E", +"k6 c #684F7E", +"l6 c #695080", +"m6 c #6A5281", +"n6 c #6B5483", +"o6 c #6C5584", +"p6 c #6D5685", +"q6 c #6F5887", +"r6 c #705988", +"s6 c #705987", +"t6 c #6D5781", +"u6 c #6E5883", +"v6 c #715B86", +"w6 c #745C88", +"x6 c #755D88", +"y6 c #755E88", +"z6 c #77608B", +"A6 c #77628C", +"B6 c #755F8A", +"C6 c #725B87", +"D6 c #705984", +"E6 c #6F5883", +"F6 c #6F5784", +"G6 c #6D5581", +"H6 c #6B5481", +"I6 c #6B5380", +"J6 c #69527F", +"K6 c #68507D", +"L6 c #654D7A", +"M6 c #644C79", +"N6 c #624A78", +"O6 c #614876", +"P6 c #5E4775", +"Q6 c #5E4674", +"R6 c #5C4473", +"S6 c #5B4371", +"T6 c #59416F", +"U6 c #583F6D", +"V6 c #563D6C", +"W6 c #543B6A", +"X6 c #523969", +"Y6 c #503767", +"Z6 c #4E3565", +"`6 c #4C3463", +" 7 c #472F5F", +".7 c #462D5D", +"+7 c #2E1645", +"@7 c #523F6A", +"#7 c #695685", +"$7 c #645082", +"%7 c #A196B3", +"&7 c #D6D1DF", +"*7 c #DAD4E3", +"=7 c #D8D2E2", +"-7 c #D5CFE0", +";7 c #C5BDD1", +">7 c #CEC6DA", +",7 c #CBC2D8", +"'7 c #C3BAD4", +")7 c #C3B7D4", +"!7 c #BFB3D1", +"~7 c #B7AAC8", +"{7 c #B1A3C6", +"]7 c #A99ABF", +"^7 c #A796BD", +"/7 c #A593BC", +"(7 c #A08DB9", +"_7 c #9E89B8", +":7 c #9B87B4", +"<7 c #9A85B4", +"[7 c #8E79A8", +"}7 c #836E9E", +"|7 c #836C9D", +"17 c #7C6599", +"27 c #765F94", +"37 c #745C92", +"47 c #71598F", +"57 c #6E558B", +"67 c #5E4677", +"77 c #5D4475", +"87 c #5F4777", +"97 c #604779", +"07 c #61487A", +"a7 c #624A7B", +"b7 c #644B7C", +"c7 c #654C7D", +"d7 c #674E7E", +"e7 c #684F7F", +"f7 c #685080", +"g7 c #6A5282", +"h7 c #6A5383", +"i7 c #6E5685", +"j7 c #6F5786", +"k7 c #705888", +"l7 c #6F5888", +"m7 c #6B5480", +"n7 c #6D5682", +"o7 c #6E5682", +"p7 c #705884", +"q7 c #735B87", +"r7 c #77608C", +"s7 c #76608C", +"t7 c #765F8B", +"u7 c #735D88", +"v7 c #735C88", +"w7 c #725B86", +"x7 c #715A86", +"y7 c #6C5482", +"z7 c #6A5480", +"A7 c #6A527F", +"B7 c #6A517F", +"C7 c #674F7C", +"D7 c #654D7B", +"E7 c #644C7A", +"F7 c #634B79", +"G7 c #604776", +"H7 c #5D4574", +"I7 c #5D4473", +"J7 c #5A4270", +"K7 c #583F6F", +"L7 c #563E6D", +"M7 c #543C6C", +"N7 c #533A69", +"O7 c #513968", +"P7 c #4F3766", +"Q7 c #4B3363", +"R7 c #472E5F", +"S7 c #462C5D", +"T7 c #432A5B", +"U7 c #3F2657", +"V7 c #3D2355", +"W7 c #230D3B", +"X7 c #665382", +"Y7 c #6A5686", +"Z7 c #72608D", +"`7 c #DCD7E4", +" 8 c #DAD4E2", +".8 c #D8D1E2", +"+8 c #D0CADB", +"@8 c #C3BBD1", +"#8 c #C9C1D6", +"$8 c #D0C8DC", +"%8 c #C9C1D8", +"&8 c #C5BDD5", +"*8 c #C2B9D3", +"=8 c #C2B6D3", +"-8 c #B7AAC9", +";8 c #AFA1C5", +">8 c #A898BF", +",8 c #A594BD", +"'8 c #A391BB", +")8 c #A18EB8", +"!8 c #9E8BB6", +"~8 c #9B88B6", +"{8 c #9885B4", +"]8 c #9682B1", +"^8 c #8772A1", +"/8 c #826C9C", +"(8 c #7D6599", +"_8 c #7A6396", +":8 c #786096", +"<8 c #735A91", +"[8 c #725A90", +"}8 c #6F568D", +"|8 c #664C81", +"18 c #5C4376", +"28 c #5A4274", +"38 c #5D4376", +"48 c #5D4477", +"58 c #5E4577", +"68 c #5F4677", +"78 c #62497B", +"88 c #634A7C", +"98 c #644B7D", +"08 c #654D7E", +"a8 c #674F7E", +"b8 c #674F7F", +"c8 c #6A5182", +"d8 c #6D5585", +"e8 c #6E5687", +"f8 c #6F5787", +"g8 c #6A537F", +"h8 c #6C5481", +"i8 c #6D5582", +"j8 c #6E5781", +"k8 c #6E5782", +"l8 c #715985", +"m8 c #725A86", +"n8 c #755D89", +"o8 c #765E8A", +"p8 c #765E8B", +"q8 c #755D8A", +"r8 c #735B88", +"s8 c #725A87", +"t8 c #715986", +"u8 c #715885", +"v8 c #705885", +"w8 c #6F5684", +"x8 c #6D5583", +"y8 c #6C5581", +"z8 c #6B5281", +"A8 c #6A5180", +"B8 c #6A517E", +"C8 c #664E7C", +"D8 c #614978", +"E8 c #614977", +"F8 c #5F4776", +"G8 c #5E4575", +"H8 c #5B4372", +"I8 c #5A4171", +"J8 c #58406F", +"K8 c #573E6E", +"L8 c #563D6D", +"M8 c #533B6A", +"N8 c #533969", +"O8 c #503768", +"P8 c #4F3566", +"Q8 c #4B3163", +"R8 c #492F61", +"S8 c #452C5D", +"T8 c #402759", +"U8 c #3B2153", +"V8 c #2C1443", +"W8 c #4A3762", +"X8 c #5B4874", +"Y8 c #6E5B89", +"Z8 c #695485", +"`8 c #AFA5BE", +" 9 c #DBD5E4", +".9 c #CCC4D7", +"+9 c #C9C2D5", +"@9 c #C7BED3", +"#9 c #C1B9CF", +"$9 c #CFC8DC", +"%9 c #CAC3D9", +"&9 c #C1B7D2", +"*9 c #C0B4D2", +"=9 c #BAAECC", +"-9 c #B6A9C7", +";9 c #AB9CC1", +">9 c #A899BF", +",9 c #A696BE", +"'9 c #A392BC", +")9 c #A08EBA", +"!9 c #9985B3", +"~9 c #9783B3", +"{9 c #917CAC", +"]9 c #7D689A", +"^9 c #7A6297", +"/9 c #786095", +"(9 c #71578F", +"_9 c #684F85", +":9 c #5C4277", +"<9 c #583F72", +"[9 c #5A4073", +"}9 c #5B4275", +"|9 c #5C4276", +"19 c #5F4678", +"29 c #654B7E", +"39 c #664C7E", +"49 c #674E7F", +"59 c #695081", +"69 c #6A5283", +"79 c #6B5385", +"89 c #6D5586", +"99 c #6F5687", +"09 c #6C5382", +"a9 c #69517F", +"b9 c #6B527F", +"c9 c #6B5381", +"d9 c #6E5683", +"e9 c #6F5783", +"f9 c #735A87", +"g9 c #745C89", +"h9 c #745D8A", +"i9 c #755C89", +"j9 c #745B89", +"k9 c #735A88", +"l9 c #725987", +"m9 c #705785", +"n9 c #705784", +"o9 c #6F5683", +"p9 c #6E5583", +"q9 c #6C5483", +"r9 c #6C5381", +"s9 c #6B5280", +"t9 c #6A5280", +"u9 c #69507F", +"v9 c #664D7B", +"w9 c #654C7A", +"x9 c #634B7A", +"y9 c #634A79", +"z9 c #624979", +"A9 c #614778", +"B9 c #614676", +"C9 c #5E4675", +"D9 c #5D4474", +"E9 c #5C4273", +"F9 c #594070", +"G9 c #573E6F", +"H9 c #563D6E", +"I9 c #533A6A", +"J9 c #513868", +"K9 c #503667", +"L9 c #4E3465", +"M9 c #4B3264", +"N9 c #4B3162", +"O9 c #472E5E", +"P9 c #452B5C", +"Q9 c #42295B", +"R9 c #412759", +"S9 c #4E3B66", +"T9 c #705D8B", +"U9 c #6E5B8A", +"V9 c #816F98", +"W9 c #DDD8E6", +"X9 c #CBC3D6", +"Y9 c #CBC4D9", +"Z9 c #C5BCD4", +"`9 c #C2B8D3", +" 0 c #C0B4D1", +".0 c #BEB1D0", +"+0 c #B7ABC9", +"@0 c #B4A7C7", +"#0 c #AFA1C4", +"$0 c #AD9DC1", +"%0 c #A99AC0", +"&0 c #A28FBA", +"*0 c #9C8AB6", +"=0 c #9986B4", +"-0 c #9782B2", +";0 c #9581B2", +">0 c #8A74A5", +",0 c #7D6899", +"'0 c #7B6597", +")0 c #796397", +"!0 c #735C92", +"~0 c #725A91", +"{0 c #6D538A", +"]0 c #5F457A", +"^0 c #563D71", +"/0 c #573D71", +"(0 c #593F73", +"_0 c #5A4074", +":0 c #5A4174", +"<0 c #5C4275", +"[0 c #5D4377", +"}0 c #5F4477", +"|0 c #5F4679", +"10 c #62497C", +"20 c #644B7E", +"30 c #654C7E", +"40 c #664D7E", +"50 c #674E80", +"60 c #694F80", +"70 c #6B5384", +"80 c #6C5485", +"90 c #6B5383", +"00 c #67507D", +"a0 c #69507E", +"b0 c #6A5380", +"c0 c #6C5582", +"d0 c #715886", +"e0 c #725988", +"f0 c #745B88", +"g0 c #735987", +"h0 c #715987", +"i0 c #715887", +"j0 c #6D5483", +"k0 c #6D5482", +"l0 c #664D7C", +"m0 c #664C7C", +"n0 c #644C7B", +"o0 c #644B7A", +"p0 c #624A79", +"q0 c #624878", +"r0 c #614878", +"s0 c #604777", +"t0 c #5C4373", +"u0 c #5B4172", +"v0 c #5A4071", +"w0 c #583F70", +"x0 c #553C6D", +"y0 c #543A6B", +"z0 c #52386A", +"A0 c #513768", +"B0 c #4D3365", +"C0 c #4A3062", +"D0 c #482E60", +"E0 c #462C5E", +"F0 c #442A5D", +"G0 c #412659", +"H0 c #3F2557", +"I0 c #351B4D", +"J0 c #31184A", +"K0 c #2F1648", +"L0 c #2C1345", +"M0 c #270F3F", +"N0 c #260E3E", +"O0 c #4C3963", +"P0 c #64517D", +"Q0 c #73608F", +"R0 c #6D5989", +"S0 c #B3A8C3", +"T0 c #DFDAE7", +"U0 c #DCD6E5", +"V0 c #D9D4E3", +"W0 c #D6CFE0", +"X0 c #C9C1D5", +"Y0 c #C3BCD2", +"Z0 c #C1B8CE", +"`0 c #D0C9DD", +" a c #CAC2D8", +".a c #BEB3D0", +"+a c #BBAFCE", +"@a c #AFA2C5", +"#a c #AB9BC1", +"$a c #A897BE", +"%a c #A290BA", +"&a c #9E8DB7", +"*a c #9C8BB7", +"=a c #9A87B5", +"-a c #9883B3", +";a c #957FB1", +">a c #927DAF", +",a c #7C6798", +"'a c #796296", +")a c #776095", +"!a c #755E93", +"~a c #735B92", +"{a c #70578F", +"]a c #634A80", +"^a c #553C6F", +"/a c #573D72", +"(a c #583E73", +"_a c #593F74", +":a c #5A4075", +"b c #796396", +",b c #755E94", +"'b c #745C93", +")b c #745B93", +"!b c #6B5188", +"~b c #594075", +"{b c #53396D", +"]b c #563C71", +"^b c #583D72", +"/b c #593E73", +"(b c #5B4175", +"_b c #5E4378", +":b c #5F4579", +"c c #937EB0", +",c c #917CAE", +"'c c #8872A5", +")c c #786195", +"!c c #765E94", +"~c c #765D94", +"{c c #725991", +"]c c #61487E", +"^c c #53396E", +"/c c #52386D", +"(c c #553B70", +"_c c #553B71", +":c c #563C72", +"d c #BCB1CF", +",d c #BAAFCC", +"'d c #B3A7C6", +")d c #AFA2C3", +"!d c #AD9EC2", +"~d c #AB9BC0", +"{d c #A798BE", +"]d c #A595BC", +"^d c #A291BA", +"/d c #9F8DB8", +"(d c #9B8AB6", +"_d c #9886B3", +":d c #9782B1", +"e c #DDD6E6", +",e c #D7D0E1", +"'e c #CDC5D8", +")e c #D0C9DC", +"!e c #CCC4DA", +"~e c #C2B8D4", +"{e c #C0B6D1", +"]e c #BDB3CF", +"^e c #BBAFCD", +"/e c #B8ACCB", +"(e c #B1A5C4", +"_e c #A998BE", +":e c #A696BD", +"f c #AFA3C1", +",f c #AC9EC0", +"'f c #AA9BC0", +")f c #A797BD", +"!f c #A393BB", +"~f c #A190B9", +"{f c #9D8CB7", +"]f c #9885B2", +"^f c #937EAF", +"/f c #907CAD", +"(f c #8E78AC", +"_f c #8972A7", +":f c #5A4277", +"g c #AEA2BF", +",g c #E5DFEB", +"'g c #DED8E7", +")g c #CBC3D7", +"!g c #C4BCD2", +"~g c #D1C9DD", +"{g c #C7BFD7", +"]g c #BEB2D0", +"^g c #BBAECE", +"/g c #B8ACCC", +"(g c #B4A8C9", +"_g c #ACA0C0", +":g c #A99CBF", +"h c #87769E", +",h c #82719B", +"'h c #86759E", +")h c #D6D0E1", +"!h c #E2DDEA", +"~h c #DDD7E6", +"{h c #D3CCDE", +"]h c #CCC4D8", +"^h c #CAC2D7", +"/h c #C6BFD5", +"(h c #D3CCDF", +"_h c #CFC6DB", +":h c #C8C0D8", +"i c #25113B", +",i c #24113B", +"'i c #513E69", +")i c #7C6B94", +"!i c #8878A0", +"~i c #7F6E98", +"{i c #A99CBC", +"]i c #E5E0EC", +"^i c #DAD3E3", +"/i c #C4BCD3", +"(i c #CDC5DB", +"_i c #CBC2D9", +":i c #C5BBD5", +"j c #594771", +",j c #8C7BA3", +"'j c #87779F", +")j c #8676A0", +"!j c #E4DFEB", +"~j c #C7BFD5", +"{j c #CCC5D9", +"]j c #CFC7DC", +"^j c #C4B9D3", +"/j c #B4A7C9", +"(j c #AD9FC2", +"_j c #A699BC", +":j c #A495BA", +"k c #B5A8CA", +",k c #B2A5C7", +"'k c #AA9CC0", +")k c #A597BB", +"!k c #9F90B7", +"~k c #9885B3", +"{k c #9582B2", +"]k c #927EAF", +"^k c #907AAD", +"/k c #7F689F", +"(k c #664D86", +"_k c #5F457E", +":k c #4F366C", +"l c #7B659B", +",l c #644B84", +"'l c #644A84", +")l c #5E447D", +"!l c #50366B", +"~l c #50356C", +"{l c #51346E", +"]l c #52356E", +"^l c #563873", +"/l c #573A74", +"(l c #5A3C77", +"_l c #5B3D78", +":l c #5C3E79", +"m c #583A74", +",m c #5B3C78", +"'m c #5D3E7A", +")m c #5E3F7B", +"!m c #5F407B", +"~m c #60417D", +"{m c #61427D", +"]m c #62437E", +"^m c #63447F", +"/m c #63457F", +"(m c #644581", +"_m c #654681", +":m c #654680", +"n c #5D3D7A", +",n c #5E3E7B", +"'n c #5F3F7B", +")n c #5F407C", +"!n c #61427E", +"~n c #62427E", +"{n c #644580", +"]n c #644681", +"^n c #654682", +"/n c #61437C", +"(n c #66467F", +"_n c #684981", +":n c #664781", +"o c #60417A", +",o c #63437D", +"'o c #674781", +")o c #664681", +"!o c #62427C", +"~o c #61417B", +"{o c #60407B", +"]o c #5D3E79", +"^o c #5B3B76", +"/o c #5A3B75", +"(o c #593A74", +"_o c #573772", +":o c #563771", +"p c #462862", +",p c #43255E", +"'p c #41235D", +")p c #40225C", +"!p c #3F215B", +"~p c #3C1F57", +"{p c #3B1E55", +"]p c #2E1847", +"^p c #2A1543", +"/p c #614F78", +"(p c #9B8DB0", +"_p c #9888AD", +":p c #998AB0", +"

q c #CEC5D9", +",q c #C7BED5", +"'q c #D6CFE1", +")q c #D0C7DD", +"!q c #C5BCD6", +"~q c #C2B9D4", +"{q c #BCB0CF", +"]q c #B3A6C8", +"^q c #AC9DC4", +"/q c #9F8EB7", +"(q c #9C8BB5", +"_q c #9A8AB5", +":q c #907FAB", +"r c #644E82", +",r c #644C83", +"'r c #654A84", +")r c #614681", +"!r c #52396F", +"~r c #50326F", +"{r c #513270", +"]r c #513170", +"^r c #563775", +"/r c #593877", +"(r c #5A3978", +"_r c #5B3B7A", +":r c #5C3C7A", +"s c #5E3D7A", +",s c #5D3C7A", +"'s c #5D3B79", +")s c #5C3B79", +"!s c #5B3A78", +"~s c #5A3976", +"{s c #593876", +"]s c #563673", +"^s c #553470", +"/s c #543370", +"(s c #52316F", +"_s c #51316E", +":s c #51316D", +"t c #43245F", +",t c #42235E", +"'t c #41225C", +")t c #40215B", +"!t c #3C2059", +"~t c #351D4F", +"{t c #2C1744", +"]t c #28143F", +"^t c #23113A", +"/t c #594672", +"(t c #9C8EB0", +"_t c #A396B6", +":t c #A295B6", +"u c #AD9EC5", +",u c #A593BF", +"'u c #7E6A9B", +")u c #6D5889", +"!u c #6F5B8C", +"~u c #6C5789", +"{u c #6B5588", +"]u c #685186", +"^u c #665085", +"/u c #654E84", +"(u c #644C82", +"_u c #624B81", +":u c #5D437B", +"v c #5B397B", +",v c #5B3B7C", +"'v c #5E3C7E", +")v c #5F3D7F", +"!v c #624082", +"~v c #654183", +"{v c #5F3C7C", +"]v c #644080", +"^v c #603D7D", +"/v c #5F3C7D", +"(v c #5D3A7A", +"_v c #5C397A", +":v c #5C3978", +"w c #522F6F", +",w c #4F2D6C", +"'w c #4E2C6B", +")w c #4D2B6A", +"!w c #4C2B6A", +"~w c #4B2A69", +"{w c #4A2968", +"]w c #482866", +"^w c #472865", +"/w c #442461", +"(w c #3C2257", +"_w c #3B2156", +":w c #331C4D", +"x c #D3CBE0", +",x c #D1C8DF", +"'x c #CAC1DA", +")x c #C4B9D6", +"!x c #C1B5D4", +"~x c #BEB1D1", +"{x c #BAADCF", +"]x c #B7A9CC", +"^x c #B3A5C9", +"/x c #AF9FC7", +"(x c #7D689B", +"_x c #7D699C", +":x c #7D679C", +"y c #6D568B", +",y c #6B5389", +"'y c #695187", +")y c #674E85", +"!y c #664C84", +"~y c #60477F", +"{y c #543C71", +"]y c #533A70", +"^y c #52386F", +"/y c #553774", +"(y c #543673", +"_y c #543574", +":y c #553474", +"z c #816CA0", +",z c #7A6496", +"'z c #766091", +")z c #765E91", +"!z c #725B8E", +"~z c #71598D", +"{z c #70578D", +"]z c #6E568C", +"^z c #6D548B", +"/z c #6C538A", +"(z c #6B5289", +"_z c #6B518A", +":z c #674D85", +"A c #3A2353", +",A c #372050", +"'A c #36204F", +")A c #361F4E", +"!A c #351F4D", +"~A c #341E4C", +"{A c #331D4A", +"]A c #321C4A", +"^A c #301B49", +"/A c #2F1A48", +"(A c #2F1A46", +"_A c #2D1945", +":A c #2A1641", +"B c #74528F", +",B c #745190", +"'B c #73508F", +")B c #72508F", +"!B c #704E8C", +"~B c #704D8B", +"{B c #6F4D8C", +"]B c #6F4D8B", +"^B c #6E4D8A", +"/B c #6E4C8A", +"(B c #6D4B89", +"_B c #6C4B89", +":B c #6C4A89", +"C c #674E82", +",C c #694D85", +"'C c #6A4D86", +")C c #6B4D86", +"!C c #6C4D88", +"~C c #6B4D87", +"{C c #6D4E88", +"]C c #6D4F89", +"^C c #6D508A", +"/C c #6E508B", +"(C c #6F518C", +"_C c #70518C", +":C c #71528C", +"D c #402957", +",D c #3E2856", +"'D c #3C2754", +")D c #3A2552", +"!D c #392450", +"~D c #38234F", +"{D c #35204C", +"]D c #331E4A", +"^D c #311D48", +"/D c #2D1843", +"(D c #2B1940", +"_D c #29183F", +":D c #28163F", +"E c #7F619A", +",E c #7E6199", +"'E c #7E6098", +")E c #7E5F97", +"!E c #7D5E97", +"~E c #7D5F96", +"{E c #7C5E96", +"]E c #7C5D95", +"^E c #7B5D95", +"/E c #7C5D94", +"(E c #7B5D94", +"_E c #7A5D93", +":E c #795B92", +"F c #796391", +",F c #796292", +"'F c #7B6293", +")F c #7C6295", +"!F c #7D6295", +"~F c #7D6396", +"{F c #7D6297", +"]F c #7D6397", +"^F c #7E6397", +"/F c #7E6498", +"(F c #806498", +"_F c #806499", +":F c #806599", +"G c #5D4873", +",G c #5C4673", +"'G c #543F6A", +")G c #533D68", +"!G c #513C66", +"~G c #4E3965", +"{G c #4C3763", +"]G c #4A3561", +"^G c #48335E", +"/G c #45315C", +"(G c #432F59", +"_G c #402C57", +":G c #3C2752", +"H c #967AAB", +",H c #957AAA", +"'H c #9579AA", +")H c #9479AA", +"!H c #9378A9", +"~H c #9278A8", +"{H c #9277A8", +"]H c #9177A8", +"^H c #9177A7", +"/H c #9077A6", +"(H c #9076A5", +"_H c #8F75A6", +":H c #8F75A5", +"I c #907CA5", +",I c #927CA7", +"'I c #927DA8", +")I c #937DA9", +"!I c #937DA8", +"~I c #947DA9", +"{I c #947EAA", +"]I c #957EAA", +"^I c #9580AB", +"/I c #9780AC", +"(I c #9781AC", +"_I c #9781AD", +":I c #9981AD", +"J c #7B678F", +",J c #79658D", +"'J c #77638C", +")J c #76638A", +"!J c #746188", +"~J c #726087", +"{J c #715E85", +"]J c #705D83", +"^J c #6E5B82", +"/J c #6D5A81", +"(J c #6C5980", +"_J c #6B587E", +":J c #68567C", +"K c #A792BA", +",K c #A892BA", +"'K c #A893BB", +")K c #A993BB", +"!K c #A993BC", +"~K c #A893BA", +"{K c #A691B8", +"]K c #A590B7", +"^K c #A48FB7", +"/K c #A48FB6", +"(K c #A38FB6", +"_K c #A38FB5", +":K c #A38EB5", +"L c #ECE8EF", +",L c #EFEBF1", +"'L c #F2EFF3", +")L c #F6F4F7", +"!L c #FAF9FA", +"~L c #FEFEFD", +"{L c #FFFFFF", +"]L c #FEFFFF", +"^L c #FDFEFD", +"/L c #FCFBFC", +"(L c #FAFAFB", +"_L c #F9F7F9", +":L c #F7F6F8", +"M c #69597B", +",M c #615173", +"'M c #59486C", +")M c #513F65", +"!M c #47365A", +"~M c #3E2E51", +"{M c #39294D", +"]M c #2A1840", +"^M c #65517D", +"/M c #ACA1BC", +"(M c #C0B7CD", +"_M c #2F1E44", +":M c #26133C", +"N c #9F8CB0", +",N c #9D8BAF", +"'N c #9D8AAE", +")N c #9C8AAE", +"!N c #9B88AD", +"~N c #9A87AC", +"{N c #9986AB", +"]N c #9481A6", +"^N c #9380A5", +"/N c #927FA5", +"(N c #8C799E", +"_N c #8A789D", +":N c #8A789C", +"O c #C2B3CF", +",O c #B6A3C5", +"'O c #9C84B0", +")O c #9983AC", +"!O c #9882AB", +"~O c #9782AB", +"{O c #9781AB", +"]O c #9781AA", +"^O c #937EA7", +"/O c #937EA6", +"(O c #917DA5", +"_O c #907BA4", +":O c #8C78A0", +"P c #997EB1", +",P c #9A7EB1", +"'P c #9A7FB1", +")P c #9A7FB2", +"!P c #9B7FB2", +"~P c #9B7FB3", +"{P c #9B80B3", +"]P c #9C80B3", +"^P c #987CAE", +"/P c #997DB1", +"(P c #9A7DB1", +"_P c #997CB0", +":P c #977AAE", +"

Q c #81689A", +",Q c #81689B", +"'Q c #82689B", +")Q c #826A9C", +"!Q c #836A9C", +"~Q c #836A9D", +"{Q c #846B9D", +"]Q c #846B9E", +"^Q c #856B9E", +"/Q c #856C9F", +"(Q c #866CA0", +"_Q c #876CA1", +":Q c #876DA1", +"R c #432C5A", +",R c #402A57", +"'R c #3D2754", +")R c #3B2452", +"!R c #331F48", +"~R c #2E1C43", +"{R c #2C1B42", +"]R c #29173F", +"^R c #C3BACF", +"/R c #CBC1D9", +"(R c #DED8E9", +"_R c #DDD5E6", +":R c #D0C6DC", +"S c #7B5E95", +",S c #7A5D94", +"'S c #795C92", +")S c #785C92", +"!S c #775B91", +"~S c #775B90", +"{S c #765B8F", +"]S c #76598F", +"^S c #75598F", +"/S c #74598E", +"(S c #74588D", +"_S c #71568B", +":S c #71568A", +"T c #7C5A9A", +",T c #7D5A9B", +"'T c #7D5B9B", +")T c #7D5C9B", +"!T c #7E5C9B", +"~T c #7E5C9C", +"{T c #7F5C9C", +"]T c #7F5C9D", +"^T c #805C9E", +"/T c #815D9E", +"(T c #815D9F", +"_T c #815E9F", +":T c #815EA0", +"U c #755893", +",U c #6F528A", +"'U c #6F528B", +")U c #6E528C", +"!U c #6E528B", +"~U c #6F518B", +"{U c #6E4F8B", +"]U c #6E4F8C", +"^U c #6F508C", +"/U c #6F508D", +"(U c #6F508E", +"_U c #70518E", +":U c #70518F", +"V c #D6CCE1", +",V c #C4B6D5", +"'V c #CCC0DA", +")V c #D3C9DF", +"!V c #CCC0DB", +"~V c #C2B4D4", +"{V c #A38FBA", +"]V c #A08CB9", +"^V c #927AAE", +"/V c #8F77AC", +"(V c #8D75AA", +"_V c #8B72A8", +":V c #8970A7", +"W c #8F77AA", +",W c #8C74A9", +"'W c #8A72A8", +")W c #886DA5", +"!W c #7D629A", +"~W c #7C6099", +"{W c #7B5F99", +"]W c #7A5E99", +"^W c #795E99", +"/W c #735790", +"(W c #71558E", +"_W c #72558D", +":W c #72548D", +"X c #9E8AB8", +",X c #9D88B6", +"'X c #9A85B5", +")X c #9881B3", +"!X c #967FB1", +"~X c #8D75AB", +"{X c #8C73AA", +"]X c #8C72A9", +"^X c #856DA0", +"/X c #81699D", +"(X c #80669D", +"_X c #80659C", +":X c #7F659C", +"Y c #6B4E88", +",Y c #6A4E87", +"'Y c #694D86", +")Y c #664A84", +"!Y c #573E71", +"~Y c #563C70", +"{Y c #543A6C", +"]Y c #432B5C", +"^Y c #402859", +"/Y c #3D2657", +"(Y c #847399", +"_Y c #C8BFD2", +":Y c #DED6E9", +"Z c #7C6096", +",Z c #7B5F95", +"'Z c #7B5F94", +")Z c #7A5E93", +"!Z c #785D92", +"~Z c #785B91", +"{Z c #775A90", +"]Z c #755A90", +"^Z c #755A8F", +"/Z c #73578C", +"(Z c #72568C", +"_Z c #72568B", +":Z c #705589", +"` c #9679B0", +",` c #9478AE", +"'` c #9A80B3", +")` c #A991BD", +"!` c #A991BE", +"~` c #A992BE", +"{` c #A992BD", +"]` c #A993BE", +"^` c #AA93BE", +"/` c #A994BD", +"(` c #9478AB", +"_` c #9075A8", +":` c #9074A8", +"<` c #8F74A7", +"[` c #8F73A7", +"}` c #8E73A6", +"|` c #8C71A4", +"1` c #8B70A3", +"2` c #8B70A2", +"3` c #8A6FA2", +"4` c #896EA1", +"5` c #886DA1", +"6` c #886D9F", +"7` c #876D9F", +"8` c #866B9D", +"9` c #83699C", +"0` c #83689A", +"a` c #826899", +"b` c #7E6596", +"c` c #7C6294", +"d` c #7A6092", +"e` c #7A5F92", +"f` c #795F91", +"g` c #7D6398", +"h` c #7C6297", +"i` c #7B6196", +"j` c #7B6096", +"k` c #7A6095", +"l` c #7A6094", +"m` c #775E92", +"n` c #775C91", +"o` c #775D91", +"p` c #755B90", +"q` c #72598C", +"r` c #6D5485", +"s` c #68507F", +"t` c #644D7C", +"u` c #614A79", +"v` c #5E4877", +"w` c #584170", +"x` c #533B6B", +"y` c #4B3364", +"z` c #483060", +"A` c #452E5E", +"B` c #402959", +"C` c #36224C", +"D` c #311F46", +"E` c #9C8EAD", +"F` c #E2DAEB", +"G` c #CEC3DB", +"H` c #CABDD9", +"I` c #D7CDE3", +"J` c #D4CAE2", +"K` c #B19FC6", +"L` c #AF9EC4", +"M` c #AB99C2", +"N` c #A894BF", +"O` c #A590BC", +"P` c #A38EBB", +"Q` c #A08AB9", +"R` c #9883B0", +"S` c #9882AF", +"T` c #9782AF", +"U` c #9881B0", +"V` c #9781B0", +"W` c #9881B1", +"X` c #9981B1", +"Y` c #9880AF", +"Z` c #927BA8", +"`` c #917BA8", +" . c #937DAA", +". . c #937CAA", +"+ . c #947CAA", +"@ . c #947DAB", +"# . c #957DAB", +"$ . c #957DAC", +"% . c #967EAC", +"& . c #977FAD", +"* . c #9680AD", +"= . c #9880AE", +"- . c #9980AF", +"; . c #9981B0", +"> . c #9A82B1", +", . c #9A82B2", +"' . c #9B82B2", +") . c #9C83B2", +"! . c #9C84B3", +"~ . c #9D85B4", +"{ . c #9E85B4", +"] . c #9F85B4", +"^ . c #9F86B4", +"/ . c #9F86B5", +"( . c #A086B6", +"_ . c #A087B6", +": . c #A087B7", +"< . c #A087B8", +"[ . c #A187B8", +"} . c #A188B8", +"| . c #A288B9", +"1 . c #A288BA", +"2 . c #A388BA", +"3 . c #A389BB", +"4 . c #A086B7", +"5 . c #9F85B6", +"6 . c #A58CBB", +"7 . c #B29CC5", +"8 . c #B19BC4", +"9 . c #B19CC4", +"0 . c #B29CC4", +"a . c #B19CC3", +"b . c #B19DC3", +"c . c #B19DC2", +"d . c #B09CC1", +"e . c #9E86B4", +"f . c #9A81B1", +"g . c #9980AE", +"h . c #987FAE", +"i . c #977FAE", +"j . c #977EAD", +"k . c #967DAC", +"l . c #947CAB", +"m . c #937BA9", +"n . c #937AA9", +"o . c #9279A8", +"p . c #9179A7", +"q . c #9178A7", +"r . c #8E75A3", +"s . c #8D74A2", +"t . c #8C73A2", +"u . c #8A72A1", +"v . c #8A729F", +"w . c #88709E", +"x . c #866D9C", +"y . c #856C9B", +"z . c #846B9A", +"A . c #836B99", +"B . c #8870A0", +"C . c #8870A1", +"D . c #876E9F", +"E . c #866E9F", +"F . c #856E9F", +"G . c #856C9E", +"H . c #836B9C", +"I . c #836A9B", +"J . c #81699A", +"K . c #7F6798", +"L . c #796192", +"M . c #6E5985", +"N . c #68527E", +"O . c #664F7C", +"P . c #5D4674", +"Q . c #5A4372", +"R . c #513A69", +"S . c #4D3665", +"T . c #47305F", +"U . c #39264F", +"V . c #332248", +"W . c #312047", +"X . c #9C8FAE", +"Y . c #CAC2D5", +"Z . c #C7BFD2", +"` . c #E3DCEB", +" .. c #DAD1E6", +"... c #D1C7DE", +"+.. c #C6BAD4", +"@.. c #C3B7D3", +"#.. c #C2B5D2", +"$.. c #C0B3D1", +"%.. c #B6A6CA", +"&.. c #B5A3C9", +"*.. c #B3A2C8", +"=.. c #A995BE", +"-.. c #A794BD", +";.. c #A28EB7", +">.. c #A18EB6", +",.. c #A18DB6", +"'.. c #A18DB7", +").. c #A18DB8", +"!.. c #A28EB8", +"~.. c #A28DB8", +"{.. c #A28EB9", +"].. c #9E89B2", +"^.. c #9D88B2", +"/.. c #9F8BB4", +"(.. c #A18BB5", +"_.. c #A08BB5", +":.. c #A18CB5", +"<.. c #AB95C0", +"[.. c #AC96C1", +"}.. c #AD96C1", +"|.. c #AD96C2", +"1.. c #AD97C2", +"2.. c #AE97C2", +"3.. c #AE97C3", +"4.. c #AE98C3", +"5.. c #AF98C3", +"6.. c #AC95C1", +"7.. c #AC95C0", +"8.. c #AC94C0", +"9.. c #AB94C0", +"0.. c #AF99C2", +"a.. c #BAA7CB", +"b.. c #B9A7CA", +"c.. c #B9A7CB", +"d.. c #BAA7CA", +"e.. c #BAA8CA", +"f.. c #BAA7C9", +"g.. c #B9A8C9", +"h.. c #B9A7C9", +"i.. c #B8A6C7", +"j.. c #A58FB9", +"k.. c #A48EB7", +"l.. c #A28CB6", +"m.. c #A08AB3", +"n.. c #9E88B1", +"o.. c #9D87B0", +"p.. c #9C86B0", +"q.. c #9C85AF", +"r.. c #9A84AE", +"s.. c #9A84AD", +"t.. c #9882AC", +"u.. c #9780AA", +"v.. c #9680A9", +"w.. c #957FA8", +"x.. c #947EA7", +"y.. c #937DA7", +"z.. c #907AA4", +"A.. c #8F7AA4", +"B.. c #8E78A2", +"C.. c #8D77A1", +"D.. c #927CA8", +"E.. c #917BA7", +"F.. c #907AA7", +"G.. c #8E78A5", +"H.. c #8D77A4", +"I.. c #8C75A2", +"J.. c #8A74A0", +"K.. c #8974A0", +"L.. c #88729F", +"M.. c #86709E", +"N.. c #856F9D", +"O.. c #856E9C", +"P.. c #806997", +"Q.. c #745F89", +"R.. c #705C85", +"S.. c #6E5984", +"T.. c #654F7B", +"U.. c #614C78", +"V.. c #5A4472", +"W.. c #4F3867", +"X.. c #4B3463", +"Y.. c #483160", +"Z.. c #3C2A52", +"`.. c #35254A", +" +. c #29163F", +".+. c #CEC6D7", +"++. c #CFC6DA", +"@+. c #D4CBE0", +"#+. c #DBD3E6", +"$+. c #C6BAD5", +"%+. c #C5B9D5", +"&+. c #C3B5D2", +"*+. c #BDADCF", +"=+. c #B5A5C8", +"-+. c #B09EC4", +";+. c #AA99BE", +">+. c #A997BC", +",+. c #A998BD", +"'+. c #AA97BD", +")+. c #AA98BE", +"!+. c #AB98BE", +"~+. c #AB98BF", +"{+. c #AC9AC0", +"]+. c #A996BB", +"^+. c #A795B9", +"/+. c #A895BA", +"(+. c #A896BA", +"_+. c #A896BB", +":+. c #AA98BC", +"<+. c #AB98BD", +"[+. c #AB99BD", +"}+. c #AC9ABE", +"|+. c #AD9BBF", +"1+. c #AE9BC0", +"2+. c #AF9CC0", +"3+. c #AF9DC1", +"4+. c #B09DC1", +"5+. c #B09EC2", +"6+. c #B19EC2", +"7+. c #B29FC3", +"8+. c #B29FC4", +"9+. c #B29FC5", +"0+. c #B3A0C5", +"a+. c #B39FC5", +"b+. c #B4A1C6", +"c+. c #B4A2C6", +"d+. c #B4A2C7", +"e+. c #B5A2C7", +"f+. c #B5A2C8", +"g+. c #B6A2C8", +"h+. c #B6A3C8", +"i+. c #B6A3C9", +"j+. c #B7A3C9", +"k+. c #B7A3CA", +"l+. c #B7A4CA", +"m+. c #B8A4CA", +"n+. c #B8A4CB", +"o+. c #B8A5CC", +"p+. c #B6A2C9", +"q+. c #B7A2C8", +"r+. c #B7A2C9", +"s+. c #B8A4C9", +"t+. c #C1B1D1", +"u+. c #C1B2D1", +"v+. c #C2B2D1", +"w+. c #C3B2D1", +"x+. c #C2B3D0", +"y+. c #C2B2D0", +"z+. c #C3B3D0", +"A+. c #BFAFCE", +"B+. c #B3A0C4", +"C+. c #B2A0C4", +"D+. c #B2A0C3", +"E+. c #B19FC3", +"F+. c #B19EC3", +"G+. c #AE9BBF", +"H+. c #AD9ABE", +"I+. c #AC98BD", +"J+. c #AA97BB", +"K+. c #A894B9", +"L+. c #A793B9", +"M+. c #A593B8", +"N+. c #A591B7", +"O+. c #A591B6", +"P+. c #A490B5", +"Q+. c #A28FB5", +"R+. c #A18EB3", +"S+. c #A08DB2", +"T+. c #9F8BB1", +"U+. c #9E8AB0", +"V+. c #9D8AAF", +"W+. c #9C89AE", +"X+. c #9B88AE", +"Y+. c #9783A9", +"Z+. c #9A86AE", +"`+. c #9C88B1", +" @. c #937EA9", +".@. c #8F7BA5", +"+@. c #8E79A3", +"@@. c #8A75A0", +"#@. c #7C6892", +"$@. c #756289", +"%@. c #6B5780", +"&@. c #634F79", +"*@. c #5F4B76", +"=@. c #57416E", +"-@. c #533D6A", +";@. c #4F3866", +">@. c #3F2C55", +",@. c #36264B", +"'@. c #9E90B0", +")@. c #E0D9E8", +"!@. c #E4DFEE", +"~@. c #DED7E6", +"{@. c #DFD8E7", +"]@. c #DFDAE8", +"^@. c #E2DCE9", +"/@. c #E2DDE9", +"(@. c #E2DCEA", +"_@. c #E2DBEA", +":@. c #E2DAE8", +"<@. c #E2DBE9", +"[@. c #E1DAE7", +"}@. c #E7E1ED", +"|@. c #E8E1EE", +"1@. c #E8E2EE", +"2@. c #E9E4EE", +"3@. c #E9E4ED", +"4@. c #EBE5EE", +"5@. c #EBE7EF", +"6@. c #ECEAF1", +"7@. c #F0EEF3", +"8@. c #F1EFF4", +"9@. c #F4F2F6", +"0@. c #F5F2F6", +"a@. c #F6F4F8", +"b@. c #F7F4F8", +"c@. c #F7F5F9", +"d@. c #F8F6F8", +"e@. c #F9F8FA", +"f@. c #FBFBFC", +"g@. c #FCFCFD", +"h@. c #FEFEFE", +"i@. c #FEFFFE", +"j@. c #FEFDFE", +"k@. c #FBFAFB", +"l@. c #FAF8FB", +"m@. c #F9F7FB", +"n@. c #F9F7FA", +"o@. c #F8F6F9", +"p@. c #F8F6FA", +"q@. c #F7F4F9", +"r@. c #F5F3F8", +"s@. c #F6F4F9", +"t@. c #F6F3F8", +"u@. c #F6F2F8", +"v@. c #F5F2F8", +"w@. c #F5F1F7", +"x@. c #F4F0F7", +"y@. c #F4F0F6", +"z@. c #F2EEF5", +"A@. c #F2EEF4", +"B@. c #F2EDF4", +"C@. c #F1EDF5", +"D@. c #EEEAF3", +"E@. c #ECE8F1", +"F@. c #ECE8F0", +"G@. c #EBE7F0", +"H@. c #EBE6F0", +"I@. c #E9E4EF", +"J@. c #E8E3EE", +"K@. c #E9E3EE", +"L@. c #E8E2ED", +"M@. c #E7E1EC", +"N@. c #E7E0EB", +"O@. c #E4DFEA", +"P@. c #E2DCE7", +"Q@. c #DED9E6", +"R@. c #DED7E3", +"S@. c #DDD6E4", +"T@. c #DCD5E3", +"U@. c #DCD5E1", +"V@. c #DCD4E2", +"W@. c #D7CFDE", +"X@. c #D8CFDF", +"Y@. c #D8D0E1", +"Z@. c #D7CEE0", +"`@. c #D6CEDE", +" #. c #D4CBDD", +".#. c #D3CADC", +"+#. c #D1C8DC", +"@#. c #D0C7DA", +"##. c #CFC5D9", +"$#. c #CEC4D8", +"%#. c #C3B9CF", +"&#. c #BDB2C9", +"*#. c #BAAEC6", +"=#. c #B6A9C3", +"-#. c #B1A4C0", +";#. c #A598B5", +">#. c #9E8FAD", +",#. c #817193", +"'#. c #7A698C", +")#. c #6C5981", +"!#. c #503E64", +"~#. c #443457", +"{#. c #3F2E53", +"]#. c #34234A", +"^#. c #705C89", +"/#. c #9F91B1", +"(#. c #E8E4F0", +"_#. c #E5E0EE", +":#. c #E7E3EE", +"<#. c #E3DCEA", +"[#. c #E4E1EC", +"}#. c #E6E1EB", +"|#. c #E6E1EC", +"1#. c #E5DFED", +"2#. c #E3DCE8", +"3#. c #E3DEEA", +"4#. c #E6E0EB", +"5#. c #E7E2ED", +"6#. c #DFDAE6", +"7#. c #DED7E5", +"8#. c #DDD6E2", +"9#. c #DDD5E3", +"0#. c #DAD3E2", +"a#. c #D9D2E0", +"b#. c #DAD2E1", +"c#. c #DBD3E3", +"d#. c #DAD2E2", +"e#. c #D8D1E1", +"f#. c #D8D0E0", +"g#. c #D8CFE0", +"h#. c #D6CEE0", +"i#. c #D5CDDE", +"j#. c #D5CCDD", +"k#. c #D1C8DB", +"l#. c #CFC6D9", +"m#. c #CBC2D5", +"n#. c #C5BBD0", +"o#. c #C2B7CD", +"p#. c #BEB2C9", +"q#. c #B9ADC6", +"r#. c #B6A8C3", +"s#. c #AFA2BE", +"t#. c #8F809E", +"u#. c #877898", +"v#. c #69567D", +"w#. c #624E77", +"x#. c #534167", +"y#. c #463759", +"z#. c #413055", +"A#. c #35244B", +"B#. c #715D8A", +"C#. c #D0C9DA", +"D#. c #D2C9DC", +"E#. c #E7E3EF", +"F#. c #E4DFED", +"G#. c #DED7E7", +"H#. c #E0DCE9", +"I#. c #E1DAE8", +"J#. c #E4DCEA", +"K#. c #E0DAE7", +"L#. c #DCD4E1", +"M#. c #DBD3E2", +"N#. c #D7CEDF", +"O#. c #D8CFE1", +"P#. c #D7CFE0", +"Q#. c #D6CEDF", +"R#. c #D3C9DC", +"S#. c #D2C8DB", +"T#. c #D0C7DB", +"U#. c #CDC2D7", +"V#. c #C7BCD2", +"W#. c #B4A7C1", +"X#. c #B0A2BF", +"Y#. c #AC9DBB", +"Z#. c #A798B7", +"`#. c #9888A8", +" $. c #8F7E9E", +".$. c #877797", +"+$. c #807092", +"@$. c #6C5880", +"#$. c #655179", +"$$. c #5E4A74", +"%$. c #513E65", +"&$. c #443557", +"*$. c #725E8B", +"=$. c #A193B2", +"-$. c #CAC1D5", +";$. c #DDD6E8", +">$. c #D1C8DE", +",$. c #CDC2DB", +"'$. c #CEC2DC", +")$. c #CABED8", +"!$. c #C3B6D3", +"~$. c #C1B4D2", +"{$. c #C0B2D1", +"]$. c #BAACCE", +"^$. c #B4A2C8", +"/$. c #B2A0C6", +"($. c #AE9CC4", +"_$. c #AD9CC4", +":$. c #A997BD", +"<$. c #A896BD", +"[$. c #A896BC", +"}$. c #A996BE", +"|$. c #AA96BF", +"1$. c #AB97BF", +"2$. c #A794BB", +"3$. c #A692B9", +"4$. c #A793BA", +"5$. c #A894BC", +"6$. c #A995BC", +"7$. c #A995BD", +"8$. c #AB97BE", +"9$. c #AC98BF", +"0$. c #AD99C0", +"a$. c #AD99C1", +"b$. c #AE99C0", +"c$. c #AE9AC1", +"d$. c #AF9BC2", +"e$. c #B09BC2", +"f$. c #B09BC3", +"g$. c #B09CC3", +"h$. c #B09CC4", +"i$. c #B19DC4", +"j$. c #B19DC5", +"k$. c #B19DC6", +"l$. c #B29DC6", +"m$. c #B29EC6", +"n$. c #B29EC7", +"o$. c #B39EC7", +"p$. c #B49EC7", +"q$. c #B49EC8", +"r$. c #B49FC9", +"s$. c #B59FC9", +"t$. c #B5A0C9", +"u$. c #B6A0C9", +"v$. c #B5A0CA", +"w$. c #B6A0CA", +"x$. c #B7A0CA", +"y$. c #B7A1CA", +"z$. c #BAA6CB", +"A$. c #BDA9CD", +"B$. c #BCA9CD", +"C$. c #BCA9CE", +"D$. c #BDA9CE", +"E$. c #BDAACD", +"F$. c #BDABCD", +"G$. c #BCABCD", +"H$. c #BCAACD", +"I$. c #BCAACC", +"J$. c #AE99BF", +"K$. c #AD98BF", +"L$. c #AC97BE", +"M$. c #AC97BD", +"N$. c #AB97BD", +"O$. c #AA96BD", +"P$. c #AA96BC", +"Q$. c #A994BB", +"R$. c #A894BB", +"S$. c #A28EB5", +"T$. c #A18DB4", +"U$. c #9E89B1", +"V$. c #9C88AF", +"W$. c #9A85AD", +"X$. c #9984AC", +"Y$. c #9883AB", +"Z$. c #9782AA", +"`$. c #9C87B1", +" %. c #9984AF", +".%. c #9883AE", +"+%. c #9681AB", +"@%. c #907AA6", +"#%. c #8E79A5", +"$%. c #8A75A2", +"%%. c #88739F", +"&%. c #86719E", +"*%. c #846E9C", +"=%. c #826C99", +"-%. c #806A97", +";%. c #7E6897", +">%. c #604A76", +",%. c #594370", +"'%. c #553F6D", +")%. c #38274E", +"!%. c #301E46", +"~%. c #735F8C", +"{%. c #A194B3", +"]%. c #DBD3E7", +"^%. c #CEC4DD", +"/%. c #CCC2DB", +"(%. c #C7BBD6", +"_%. c #C3B5D3", +":%. c #B9A9CD", +"<%. c #B7A6CA", +"[%. c #B5A5CA", +"}%. c #B19FC7", +"|%. c #B09DC6", +"1%. c #AD9AC3", +"2%. c #AC98C1", +"3%. c #AA96C0", +"4%. c #A894C0", +"5%. c #A793C0", +"6%. c #A793BF", +"7%. c #A38EBA", +"8%. c #A28DB7", +"9%. c #A28DB9", +"0%. c #A38DB9", +"a%. c #A48DBA", +"b%. c #A18BB7", +"c%. c #9D87B3", +"d%. c #9E88B3", +"e%. c #9E89B4", +"f%. c #A18AB5", +"g%. c #A18AB6", +"h%. c #A28BB6", +"i%. c #A28BB8", +"j%. c #A38CB8", +"k%. c #A48DB9", +"l%. c #A58EB9", +"m%. c #A58EBA", +"n%. c #A68EBB", +"o%. c #A68FBB", +"p%. c #A790BC", +"q%. c #A890BD", +"r%. c #A891BD", +"s%. c #A891BE", +"t%. c #A892BE", +"u%. c #AA92BF", +"v%. c #AA92C0", +"w%. c #AA93C0", +"x%. c #AB93C0", +"y%. c #AB93C1", +"z%. c #AB94C1", +"A%. c #AB94C2", +"B%. c #AC94C2", +"C%. c #AD94C2", +"D%. c #AD95C2", +"E%. c #AD95C3", +"F%. c #AE95C3", +"G%. c #AE95C4", +"H%. c #AE96C4", +"I%. c #AF96C4", +"J%. c #AF97C4", +"K%. c #AC94C1", +"L%. c #B39DC7", +"M%. c #B49DC7", +"N%. c #B49EC6", +"O%. c #B39EC6", +"P%. c #B49FC6", +"Q%. c #A78FBC", +"R%. c #A78FBB", +"S%. c #A48EBA", +"T%. c #A48EB9", +"U%. c #A28BB7", +"V%. c #A28AB6", +"W%. c #9B84B1", +"X%. c #9B83B0", +"Y%. c #9981AE", +"Z%. c #967FAC", +"`%. c #957EAB", +" &. c #957DAA", +".&. c #947CA8", +"+&. c #9179A5", +"@&. c #9079A5", +"#&. c #8F78A4", +"$&. c #8F78A5", +"%&. c #8F79A8", +"&&. c #8F79A7", +"*&. c #8F78A6", +"=&. c #8B75A3", +"-&. c #8B74A3", +";&. c #8872A1", +">&. c #88719F", +",&. c #866E9E", +"'&. c #836D9C", +")&. c #806999", +"!&. c #7D6595", +"~&. c #7B6395", +"{&. c #7A6294", +"]&. c #796293", +"^&. c #654E7D", +"/&. c #563E6E", +"(&. c #4F3767", +"_&. c #4D3465", +":&. c #432D59", +"<&. c #37264C", +"[&. c #34234B", +"}&. c #DAD0E6", +"|&. c #C9BED8", +"1&. c #C9BCD9", +"2&. c #C6BAD3", +"3&. c #C8BCD6", +"4&. c #C5B9D3", +"5&. c #B7A6CB", +"6&. c #B4A3C8", +"7&. c #AF9CC4", +"8&. c #AD9AC4", +"9&. c #AC97C2", +"0&. c #AA95C1", +"a&. c #A893C0", +"b&. c #A591BE", +"c&. c #A48FBC", +"d&. c #A28DBB", +"e&. c #A18BBA", +"f&. c #A089B9", +"g&. c #9F89B9", +"h&. c #9F88B9", +"i&. c #9C85B5", +"j&. c #9982B0", +"k&. c #9982B1", +"l&. c #9882B1", +"m&. c #9882B2", +"n&. c #9982B2", +"o&. c #9981B2", +"p&. c #9A81B2", +"q&. c #9A81B3", +"r&. c #987FB2", +"s&. c #947BAC", +"t&. c #947CAD", +"u&. c #957CAD", +"v&. c #977EAF", +"w&. c #997EB0", +"x&. c #997FB1", +"y&. c #9A80B1", +"z&. c #9D82B5", +"A&. c #9D83B5", +"B&. c #9D83B6", +"C&. c #9E84B6", +"D&. c #9E83B7", +"E&. c #9F84B7", +"F&. c #9F84B8", +"G&. c #A084B8", +"H&. c #A185B9", +"I&. c #A186B9", +"J&. c #A186BA", +"K&. c #A286BA", +"L&. c #A186BB", +"M&. c #A286BB", +"N&. c #A387BB", +"O&. c #A388BC", +"P&. c #A488BC", +"Q&. c #A588BC", +"R&. c #A588BD", +"S&. c #A488BD", +"T&. c #A589BD", +"U&. c #A489BD", +"V&. c #A58ABD", +"W&. c #A287BA", +"X&. c #A48ABC", +"Y&. c #A990BF", +"Z&. c #A98FBF", +"`&. c #AA90BF", +" *. c #A991BF", +".*. c #AA91BF", +"+*. c #A990BE", +"@*. c #A085B7", +"#*. c #9B81B3", +"$*. c #9B80B2", +"%*. c #9A80B2", +"&*. c #987EAF", +"**. c #9379AB", +"=*. c #9378AA", +"-*. c #9076A8", +";*. c #8F75A7", +">*. c #8F74A6", +",*. c #8E74A5", +"'*. c #8D73A5", +")*. c #8D72A4", +"!*. c #8B71A3", +"~*. c #8A71A2", +"{*. c #896FA1", +"]*. c #886EA0", +"^*. c #886E9F", +"/*. c #876D9E", +"(*. c #866C9D", +"_*. c #856C9C", +":*. c #886EA2", +"<*. c #876DA0", +"[*. c #866C9F", +"}*. c #82699C", +"|*. c #82689C", +"1*. c #80679A", +"2*. c #7E6599", +"3*. c #7C6296", +"4*. c #7B6195", +"5*. c #786093", +"6*. c #775E91", +"7*. c #755C90", +"8*. c #755D91", +"9*. c #765D91", +"0*. c #4F3668", +"a*. c #35244A", +"b*. c #342149", +"c*. c #301D45", +"d*. c #DFD7E9", +"e*. c #C4B7D5", +"f*. c #C5B9D4", +"g*. c #C2B6D2", +"h*. c #B9A9CB", +"i*. c #AB97C1", +"j*. c #A691BE", +"k*. c #A38EBD", +"l*. c #A28BBC", +"m*. c #A089BA", +"n*. c #9E87B8", +"o*. c #9B84B6", +"p*. c #9A83B5", +"q*. c #9881B4", +"r*. c #9880B3", +"s*. c #967EB2", +"t*. c #9279AB", +"u*. c #9178AB", +"v*. c #9179AB", +"w*. c #9178AC", +"x*. c #9278AC", +"y*. c #9277AC", +"z*. c #9276AD", +"A*. c #9177AE", +"B*. c #8D71A7", +"C*. c #8B70A5", +"D*. c #8C70A6", +"E*. c #8C71A6", +"F*. c #8C70A7", +"G*. c #8D71A8", +"H*. c #8E72A8", +"I*. c #9073A9", +"J*. c #9173AA", +"K*. c #9174AA", +"L*. c #9275AB", +"M*. c #9375AC", +"N*. c #9376AD", +"O*. c #9477AE", +"P*. c #9478AF", +"Q*. c #9578AF", +"R*. c #9678B0", +"S*. c #9678B1", +"T*. c #9679B1", +"U*. c #9779B2", +"V*. c #977AB3", +"W*. c #987AB3", +"X*. c #997AB3", +"Y*. c #997AB4", +"Z*. c #9A7AB4", +"`*. c #997BB4", +" =. c #9A7BB4", +".=. c #9A7BB5", +"+=. c #9B7CB5", +"@=. c #9A7CB5", +"#=. c #9A7DB6", +"$=. c #9B7DB6", +"%=. c #9C7DB6", +"&=. c #9C7EB7", +"*=. c #9D7EB7", +"==. c #9D7FB7", +"-=. c #9C7EB6", +";=. c #997BB3", +">=. c #987BB3", +",=. c #9C7FB5", +"'=. c #A083B8", +")=. c #A084B9", +"!=. c #A084B7", +"~=. c #997AB1", +"{=. c #9576AF", +"]=. c #9577AF", +"^=. c #9476AE", +"/=. c #9476AF", +"(=. c #9476AD", +"_=. c #9375AD", +":=. c #9274AB", +"<=. c #8B6EA4", +"[=. c #896CA3", +"}=. c #876AA0", +"|=. c #86699F", +"1=. c #85699E", +"2=. c #84679D", +"3=. c #83679C", +"4=. c #82669B", +"5=. c #82659B", +"6=. c #7F6398", +"7=. c #7E6297", +"8=. c #7C6195", +"9=. c #83669E", +"0=. c #7E6399", +"a=. c #7D6399", +"b=. c #7D6299", +"c=. c #7C6197", +"d=. c #7A5F96", +"e=. c #765B92", +"f=. c #755B92", +"g=. c #755991", +"h=. c #72578E", +"i=. c #6F558C", +"j=. c #70558C", +"k=. c #70568D", +"l=. c #71578E", +"m=. c #73598F", +"n=. c #745B90", +"o=. c #4A3163", +"p=. c #472E62", +"q=. c #322149", +"r=. c #322048", +"s=. c #75618E", +"t=. c #D2C8DD", +"u=. c #D8CFE3", +"v=. c #D8CEE3", +"w=. c #C9BDD9", +"x=. c #C7BCD8", +"y=. c #C1B4D1", +"z=. c #BFB1CF", +"A=. c #B8A8CC", +"B=. c #B09DC4", +"C=. c #AE9BC3", +"D=. c #AC98C2", +"E=. c #A994C0", +"F=. c #A892BF", +"G=. c #A490BD", +"H=. c #A08ABA", +"I=. c #9F88B8", +"J=. c #9C86B7", +"K=. c #9B83B6", +"L=. c #9880B4", +"M=. c #977CB2", +"N=. c #947BB1", +"O=. c #9279AF", +"P=. c #9278AF", +"Q=. c #9177AF", +"R=. c #8C72A8", +"S=. c #8B70A7", +"T=. c #8A70A7", +"U=. c #8A6FA7", +"V=. c #8B6FA7", +"W=. c #8B6FA6", +"X=. c #8B6EA7", +"Y=. c #8B6DA7", +"Z=. c #8A6DA8", +"`=. c #8B6EA9", +" -. c #876AA3", +".-. c #83669F", +"+-. c #8566A1", +"@-. c #8566A2", +"#-. c #8667A2", +"$-. c #8768A3", +"%-. c #8868A3", +"&-. c #8969A3", +"*-. c #8969A4", +"=-. c #896AA5", +"--. c #896AA6", +";-. c #8A6BA6", +">-. c #8A6BA8", +",-. c #8B6BA7", +"'-. c #8B6CA8", +")-. c #8B6CA9", +"!-. c #8D6DAA", +"~-. c #8E6DAA", +"{-. c #8E6DAC", +"]-. c #8E6EAB", +"^-. c #8F6EAC", +"/-. c #8F6FAD", +"(-. c #906FAC", +"_-. c #906FAE", +":-. c #916FAD", +"<-. c #9170AF", +"[-. c #9270AF", +"}-. c #9271AF", +"|-. c #9371B0", +"1-. c #9372B0", +"2-. c #9472B0", +"3-. c #9473B0", +"4-. c #9473B1", +"5-. c #9474B1", +"6-. c #9574B1", +"7-. c #9575B1", +"8-. c #9575B2", +"9-. c #9373AF", +"0-. c #9170AC", +"a-. c #9070AC", +"b-. c #9374AE", +"c-. c #9777B1", +"d-. c #9878B1", +"e-. c #9778B1", +"f-. c #9878B2", +"g-. c #9778B2", +"h-. c #9879B2", +"i-. c #9677B0", +"j-. c #8D6BA9", +"k-. c #8C6CA8", +"l-. c #8B6BA8", +"m-. c #8B6AA6", +"n-. c #8968A4", +"o-. c #8767A4", +"p-. c #8564A0", +"q-. c #85649F", +"r-. c #83639E", +"s-. c #81629D", +"t-. c #81619C", +"u-. c #80619B", +"v-. c #7F609B", +"w-. c #7F5F9A", +"x-. c #7E5F99", +"y-. c #7D5E98", +"z-. c #7C5D97", +"A-. c #7B5D97", +"B-. c #7B5D96", +"C-. c #7A5C95", +"D-. c #795B94", +"E-. c #795A94", +"F-. c #765891", +"G-. c #75578F", +"H-. c #7A5C98", +"I-. c #785C95", +"J-. c #775A94", +"K-. c #765994", +"L-. c #765993", +"M-. c #755892", +"N-. c #745891", +"O-. c #735791", +"P-. c #6E528D", +"Q-. c #6C508A", +"R-. c #6B4F88", +"S-. c #6A4E88", +"T-. c #6B5089", +"U-. c #6C518A", +"V-. c #6D538C", +"W-. c #70568E", +"X-. c #735990", +"Y-. c #70588C", +"Z-. c #472D61", +"`-. c #472C61", +" ;. c #3D2655", +".;. c #311F47", +"+;. c #2E1D45", +"@;. c #76628F", +"#;. c #A295B4", +"$;. c #D2C7DE", +"%;. c #C3B6D2", +"&;. c #C0B2D0", +"*;. c #BEB0CE", +"=;. c #B29FC7", +"-;. c #AF9CC5", +";;. c #AC99C3", +">;. c #AB97C2", +",;. c #A691BD", +"';. c #A48DBC", +");. c #A18BBB", +"!;. c #9E87B9", +"~;. c #9C84B7", +"{;. c #9A82B5", +"];. c #987FB3", +"^;. c #967DB2", +"/;. c #947AB1", +"(;. c #9277B0", +"_;. c #9075AE", +":;. c #8D72AC", +"<;. c #8D71AB", +"[;. c #8C71AC", +"};. c #886CA5", +"|;. c #8569A1", +"1;. c #8568A2", +"2;. c #8567A2", +"3;. c #8468A2", +"4;. c #8467A2", +"5;. c #8466A2", +"6;. c #8465A2", +"7;. c #8365A3", +"8;. c #8465A3", +"9;. c #8364A1", +"0;. c #7C5C99", +"a;. c #7C5C9A", +"b;. c #7C5B9A", +"c;. c #7C5B9B", +"d;. c #7F5D9D", +"e;. c #805E9D", +"f;. c #805E9E", +"g;. c #805F9E", +"h;. c #805F9F", +"i;. c #81609F", +"j;. c #8160A0", +"k;. c #8260A0", +"l;. c #8361A2", +"m;. c #8361A3", +"n;. c #8462A3", +"o;. c #8562A4", +"p;. c #8864A6", +"q;. c #8865A8", +"r;. c #8965A8", +"s;. c #8A65A9", +"t;. c #8A66A9", +"u;. c #8B66A9", +"v;. c #8B67A9", +"w;. c #8B67AA", +"x;. c #8B68AA", +"y;. c #8C68AB", +"z;. c #8C69AB", +"A;. c #8D69AB", +"B;. c #8D69AC", +"C;. c #8D6AAC", +"D;. c #8D6AAD", +"E;. c #8E6BAD", +"F;. c #8A66A7", +"G;. c #8966A7", +"H;. c #8965A7", +"I;. c #8B68A8", +"J;. c #8F6CAA", +"K;. c #8F6DAB", +"L;. c #8F6EAB", +"M;. c #906EAB", +"N;. c #8C6AA9", +"O;. c #8561A4", +"P;. c #8662A4", +"Q;. c #8561A3", +"R;. c #8460A2", +"S;. c #835FA0", +"T;. c #815F9F", +"U;. c #815E9E", +"V;. c #805D9E", +"W;. c #7D5A9A", +"X;. c #7C5A99", +"Y;. c #7B5998", +"Z;. c #785695", +"`;. c #775694", +" >. c #775594", +".>. c #765492", +"+>. c #72528F", +"@>. c #72518E", +"#>. c #6D4E8A", +"$>. c #6C4D89", +"%>. c #745393", +"&>. c #745392", +"*>. c #715290", +"=>. c #705290", +"->. c #6E4F8D", +";>. c #6C4E8B", +">>. c #6A4D8A", +",>. c #6A4D89", +"'>. c #6A4C88", +")>. c #684B88", +"!>. c #684A87", +"~>. c #664985", +"{>. c #674A86", +"]>. c #684C86", +"^>. c #694D88", +"/>. c #6D538D", +"(>. c #70558E", +"_>. c #664D81", +":>. c #43285D", +"<>. c #442A5F", +"[>. c #301E45", +"}>. c #2E1B44", +"|>. c #A395B4", +"1>. c #DDD5E8", +"2>. c #D7CDE2", +"3>. c #C2B4D2", +"4>. c #BEAFCF", +"5>. c #B7A7CB", +"6>. c #B09DC5", +"7>. c #AE9AC4", +"8>. c #AA96C2", +"9>. c #A38EBC", +"0>. c #A08BBB", +"a>. c #9F87B9", +"b>. c #9981B5", +"c>. c #977DB3", +"d>. c #957BB2", +"e>. c #9278B0", +"f>. c #9076AF", +"g>. c #8F73AD", +"h>. c #8D71AA", +"i>. c #8A6EA9", +"j>. c #896DA9", +"k>. c #8A6CA9", +"l>. c #896CA9", +"m>. c #8669A6", +"n>. c #81639F", +"o>. c #8163A0", +"p>. c #8263A0", +"q>. c #81629F", +"r>. c #81619F", +"s>. c #80619F", +"t>. c #7F60A0", +"u>. c #8060A0", +"v>. c #7F5F9F", +"w>. c #805FA0", +"x>. c #7A5999", +"y>. c #785597", +"z>. c #7A5799", +"A>. c #7B589A", +"B>. c #7B589B", +"C>. c #7C599B", +"D>. c #7D5A9D", +"E>. c #7D5A9E", +"F>. c #805CA0", +"G>. c #815CA0", +"H>. c #815DA1", +"I>. c #815DA2", +"J>. c #825EA3", +"K>. c #835EA4", +"L>. c #845FA4", +"M>. c #845FA5", +"N>. c #855FA5", +"O>. c #855FA6", +"P>. c #8560A6", +"Q>. c #8660A6", +"R>. c #8661A6", +"S>. c #8761A7", +"T>. c #8762A7", +"U>. c #8863A7", +"V>. c #8863A8", +"W>. c #8964A8", +"X>. c #8964A9", +"Y>. c #8965A9", +"Z>. c #8661A4", +"`>. c #8560A4", +" ,. c #8460A4", +".,. c #8763A6", +"+,. c #8966A6", +"@,. c #8967A6", +"#,. c #8A67A7", +"$,. c #8560A3", +"%,. c #815CA1", +"&,. c #815BA0", +"*,. c #805A9F", +"=,. c #7F5A9E", +"-,. c #7F599E", +";,. c #7F599D", +">,. c #7D589C", +",,. c #7A569A", +"',. c #7A5699", +"),. c #7A5598", +"!,. c #795598", +"~,. c #785496", +"{,. c #775395", +"],. c #765395", +"^,. c #765294", +"/,. c #745294", +"(,. c #745193", +"_,. c #745192", +":,. c #735091", +"<,. c #724F8F", +"[,. c #704E8E", +"},. c #6E4D8D", +"|,. c #6E4B8B", +"1,. c #6D4B8A", +"2,. c #6C4A88", +"3,. c #6A4988", +"4,. c #6F4F8F", +"5,. c #705091", +"6,. c #704F90", +"7,. c #6F4E8F", +"8,. c #6F4D8E", +"9,. c #6D4D8C", +"0,. c #6C4C8B", +"a,. c #6B4C8A", +"b,. c #6A4B8A", +"c,. c #674887", +"d,. c #674786", +"e,. c #664785", +"f,. c #654785", +"g,. c #644584", +"h,. c #634583", +"i,. c #624482", +"j,. c #644683", +"k,. c #654784", +"l,. c #674986", +"m,. c #684B87", +"n,. c #694D89", +"o,. c #6D528C", +"p,. c #755C92", +"q,. c #796095", +"r,. c #766290", +"s,. c #9D8FB0", +"t,. c #DCD4E6", +"u,. c #D7CCE2", +"v,. c #C2B4D1", +"w,. c #BEAECE", +"x,. c #B4A3C9", +"y,. c #AA96C1", +"z,. c #A58FBE", +"A,. c #A28DBC", +"B,. c #9E86B8", +"C,. c #9C83B7", +"D,. c #9980B5", +"E,. c #947BB2", +"F,. c #9176AF", +"G,. c #9073AC", +"H,. c #8B6FA9", +"I,. c #8A6BA9", +"J,. c #8A6BAA", +"K,. c #886AA9", +"L,. c #8164A1", +"M,. c #82639F", +"N,. c #8162A0", +"O,. c #8061A1", +"P,. c #8061A0", +"Q,. c #8060A1", +"R,. c #805FA1", +"S,. c #7D5C9D", +"T,. c #785797", +"U,. c #795698", +"V,. c #7B579A", +"W,. c #815DA3", +"X,. c #825EA4", +"Y,. c #835EA3", +"Z,. c #845FA6", +"`,. c #8661A7", +" '. c #8762A8", +".'. c #8862A8", +"+'. c #8963A8", +"@'. c #8A65A8", +"#'. c #8A66AA", +"$'. c #8864A8", +"%'. c #8662A5", +"&'. c #8864A7", +"*'. c #8965A6", +"='. c #8865A6", +"-'. c #835DA2", +";'. c #835DA1", +">'. c #7B579B", +",'. c #795597", +"''. c #775396", +")'. c #755294", +"!'. c #755293", +"~'. c #735092", +"{'. c #734F90", +"]'. c #724F90", +"^'. c #704E8F", +"/'. c #6F4E8D", +"('. c #6E4C8B", +"_'. c #6D4B8B", +":'. c #6C4B8A", +"<'. c #6B4A8A", +"['. c #6B4A89", +"}'. c #714F90", +"|'. c #715192", +"1'. c #6F4D8F", +"2'. c #6F4C8F", +"3'. c #6E4C8E", +"4'. c #6E4C8D", +"5'. c #6D4C8C", +"6'. c #694A8A", +"7'. c #684888", +"8'. c #684887", +"9'. c #664685", +"0'. c #654684", +"a'. c #644684", +"b'. c #674987", +"c'. c #6C4F8B", +"d'. c #70548E", +"e'. c #725790", +"f'. c #755A92", +"g'. c #785E94", +"h'. c #7B6296", +"i'. c #80699B", +"j'. c #745C8F", +"k'. c #8E7EA3", +"l'. c #D3CBDC", +"m'. c #DCD4E7", +"n'. c #BFB0CF", +"o'. c #B5A4C9", +"p'. c #B2A1C7", +"q'. c #B09EC6", +"r'. c #A791BF", +"s'. c #A48EBD", +"t'. c #A28BBB", +"u'. c #9F88BA", +"v'. c #9D84B7", +"w'. c #9A82B6", +"x'. c #987FB4", +"y'. c #967CB2", +"z'. c #9377AF", +"A'. c #9175AE", +"B'. c #8E72AD", +"C'. c #8D70AC", +"D'. c #8B6EAB", +"E'. c #8B6DAB", +"F'. c #8B6DAA", +"G'. c #8568A4", +"H'. c #8364A0", +"I'. c #8363A1", +"J'. c #8263A2", +"K'. c #8163A1", +"L'. c #8263A1", +"M'. c #8262A2", +"N'. c #8262A1", +"O'. c #8261A1", +"P'. c #8161A2", +"Q'. c #8260A2", +"R'. c #7B5A99", +"S'. c #7A5899", +"T'. c #7B5899", +"U'. c #7C599A", +"V'. c #7D5A9C", +"W'. c #7D5B9D", +"X'. c #7F5DA0", +"Y'. c #805DA0", +"Z'. c #815EA1", +"`'. c #815EA2", +" ). c #825FA2", +".). c #835FA3", +"+). c #8461A5", +"@). c #8561A5", +"#). c #8661A5", +"$). c #8862A7", +"%). c #8963A7", +"&). c #8B66AA", +"*). c #8C67AA", +"=). c #8D68AB", +"-). c #8864A5", +";). c #8863A5", +">). c #8863A6", +",). c #8461A3", +"'). c #8460A3", +")). c #845FA3", +"!). c #845FA2", +"~). c #845EA2", +"{). c #835EA2", +"]). c #825DA2", +"^). c #765394", +"/). c #755393", +"(). c #745293", +"_). c #745292", +":). c #714F8F", +"<). c #704E8D", +"[). c #725191", +"}). c #745394", +"|). c #725293", +"1). c #715292", +"2). c #6F4E8E", +"3). c #6D4E8D", +"4). c #6D4D8D", +"5). c #6B4B8B", +"6). c #6A4A89", +"7). c #6A4A88", +"8). c #694988", +"9). c #664886", +"0). c #664885", +"a). c #674886", +"b). c #6A4C89", +"c). c #6D508C", +"d). c #71558F", +"e). c #785E95", +"f). c #80689B", +"g). c #351F4E", +"h). c #2F1E46", +"i). c #DDD4E8", +"j). c #D8D0E5", +"k). c #B0A0C2", +"l). c #AC9BC0", +"m). c #BEAFD0", +"n). c #BCACCF", +"o). c #B8A7CA", +"p). c #B5A4CA", +"q). c #B2A1C8", +"r). c #A792BF", +"s). c #A38CBC", +"t). c #A189BA", +"u). c #9E86B9", +"v). c #9B83B7", +"w). c #9A81B5", +"x). c #987EB5", +"y). c #977BB4", +"z). c #957AB2", +"A). c #9377B1", +"B). c #9075AF", +"C). c #8F73AE", +"D). c #9073AE", +"E). c #8C6FAA", +"F). c #876AA5", +"G). c #8869A5", +"H). c #8769A5", +"I). c #8769A6", +"J). c #8768A6", +"K). c #8767A5", +"L). c #8767A6", +"M). c #8867A6", +"N). c #8867A7", +"O). c #8464A2", +"P). c #7F609D", +"Q). c #82609F", +"R). c #8261A0", +"S). c #8361A0", +"T). c #8362A2", +"U). c #8463A3", +"V). c #8564A4", +"W). c #8664A4", +"X). c #8664A5", +"Y). c #8765A6", +"Z). c #8866A6", +"`). c #8866A7", +" !. c #8866A8", +".!. c #8967A8", +"+!. c #8A68A9", +"@!. c #8B68A9", +"#!. c #8C69A9", +"$!. c #8C69AA", +"%!. c #8D6AAB", +"&!. c #8D6BAC", +"*!. c #8E6BAC", +"=!. c #8E6CAC", +"-!. c #8E6CAD", +";!. c #8F6CAD", +">!. c #8F6DAD", +",!. c #906DAD", +"'!. c #906EAE", +")!. c #916EAE", +"!!. c #916FAE", +"~!. c #916FAF", +"{!. c #9271B0", +"]!. c #8F6CAB", +"^!. c #8E6CAB", +"/!. c #8E6CAA", +"(!. c #8D6CAA", +"_!. c #8D6BAA", +":!. c #8D6AAA", +"~. c #8D6EAA", +",~. c #8F70AB", +"'~. c #9071AC", +")~. c #9071AD", +"!~. c #9172AD", +"~~. c #9172AE", +"{~. c #9272AF", +"]~. c #9273AF", +"^~. c #9374AF", +"/~. c #9374B0", +"(~. c #9474B0", +"_~. c #9675B2", +":~. c #9676B2", +"<~. c #9776B2", +"[~. c #9776B3", +"}~. c #9676B3", +"|~. c #9777B3", +"1~. c #9878B3", +"2~. c #9878B4", +"3~. c #9879B4", +"4~. c #9979B4", +"5~. c #997AB5", +"6~. c #9A7AB5", +"7~. c #9B7BB5", +"8~. c #9B7BB6", +"9~. c #9B7CB6", +"0~. c #9C7CB7", +"a~. c #9677B1", +"b~. c #9676B1", +"c~. c #9577B0", +"d~. c #9576B0", +"e~. c #9676B0", +"f~. c #9575B0", +"g~. c #9475AF", +"h~. c #9474AF", +"i~. c #9373AE", +"j~. c #9372AE", +"k~. c #9272AD", +"l~. c #9271AD", +"m~. c #9171AD", +"n~. c #916FAC", +"o~. c #906FAB", +"p~. c #8E6EAA", +"q~. c #8B6BA6", +"r~. c #8A6AA5", +"s~. c #8869A4", +"t~. c #8767A1", +"u~. c #8666A1", +"v~. c #82629D", +"w~. c #81629C", +"x~. c #80629C", +"y~. c #7F619B", +"z~. c #7F609A", +"A~. c #7D5F98", +"B~. c #80619C", +"C~. c #81629E", +"D~. c #80619E", +"E~. c #7F619D", +"F~. c #7F609C", +"G~. c #7E609B", +"H~. c #7D5F9A", +"I~. c #7B5E99", +"J~. c #795C96", +"K~. c #785B96", +"L~. c #795B96", +"M~. c #745892", +"N~. c #765A93", +"O~. c #775B94", +"P~. c #7D629B", +"Q~. c #9074B3", +"R~. c #7E639B", +"S~. c #81689C", +"T~. c #8B75A4", +"U~. c #46325E", +"V~. c #B6A7C6", +"W~. c #B5A6C6", +"X~. c #C1B3D2", +"Y~. c #BFB0D0", +"Z~. c #BDAED0", +"`~. c #BAA9CD", +" {. c #B8A7CC", +".{. c #B6A4CB", +"+{. c #AE9AC5", +"@{. c #AC98C4", +"#{. c #A993C2", +"${. c #A791C0", +"%{. c #A68FBF", +"&{. c #A48DBD", +"*{. c #9F85B9", +"={. c #9D84B8", +"-{. c #9D83B8", +";{. c #9D83B9", +">{. c #997EB3", +",{. c #977DB1", +"'{. c #977DB2", +"){. c #987CB3", +"!{. c #997DB3", +"~{. c #997DB4", +"{{. c #977AB0", +"]{. c #9377AD", +"^{. c #977AB1", +"/{. c #9A7EB4", +"({. c #9B7EB5", +"_{. c #9B7EB6", +":{. c #9C7FB6", +"<{. c #9C80B7", +"[{. c #9D80B7", +"}{. c #9E80B7", +"|{. c #9E81B8", +"1{. c #9F82B9", +"2{. c #A082B9", +"3{. c #A083B9", +"4{. c #A083BA", +"5{. c #A184BA", +"6{. c #A184BB", +"7{. c #A285BB", +"8{. c #A286BC", +"9{. c #A386BC", +"0{. c #A387BC", +"a{. c #A487BC", +"b{. c #A487BD", +"c{. c #A085B9", +"d{. c #9F83B8", +"e{. c #9F82B8", +"f{. c #9E82B7", +"g{. c #9F82B7", +"h{. c #9F81B7", +"i{. c #9E81B6", +"j{. c #9D80B6", +"k{. c #9D7FB5", +"l{. c #9C7EB5", +"m{. c #9B7DB4", +"n{. c #9A7CB4", +"o{. c #987AB1", +"p{. c #9779B0", +"q{. c #9678AF", +"r{. c #9376AC", +"s{. c #9175AB", +"t{. c #9173AB", +"u{. c #9073AA", +"v{. c #896DA3", +"w{. c #8669A0", +"x{. c #85699F", +"y{. c #896CA4", +"z{. c #876BA3", +"A{. c #8669A2", +"B{. c #8468A0", +"C{. c #84689F", +"D{. c #82659E", +"E{. c #82659D", +"F{. c #81659D", +"G{. c #7E629A", +"H{. c #856AA2", +"I{. c #9C81C0", +"J{. c #A085C5", +"K{. c #856BA1", +"L{. c #836B9F", +"M{. c #876FA1", +"N{. c #8871A2", +"O{. c #8974A4", +"P{. c #8C76A5", +"Q{. c #9782AD", +"R{. c #5D4B73", +"S{. c #796593", +"T{. c #CEC8D8", +"U{. c #DED5E9", +"V{. c #B9AAC8", +"W{. c #C3B6D4", +"X{. c #C2B3D3", +"Y{. c #C0B0D1", +"Z{. c #BDACCE", +"`{. c #BBAACE", +" ]. c #B9A8CD", +".]. c #B8A6CC", +"+]. c #B6A4CA", +"@]. c #B5A1C9", +"#]. c #B3A0C8", +"$]. c #B29EC8", +"%]. c #B09CC6", +"&]. c #AC97C4", +"*]. c #A995C1", +"=]. c #A992C0", +"-]. c #A790C0", +";]. c #A68FC0", +">]. c #A58DBE", +",]. c #A58DBD", +"']. c #A58DBF", +")]. c #A38BBC", +"!]. c #9F87B7", +"~]. c #9F87B8", +"{]. c #A087B9", +"]]. c #A187B9", +"^]. c #A188BA", +"/]. c #A287BB", +"(]. c #A288BB", +"_]. c #9E85B6", +":]. c #9D84B5", +"<]. c #9F86B7", +"[]. c #A289BA", +"}]. c #A389BA", +"|]. c #A48ABB", +"1]. c #A48BBC", +"2]. c #A58BBD", +"3]. c #A68CBE", +"4]. c #A78DBE", +"5]. c #A88DBF", +"6]. c #A88EBF", +"7]. c #A98EC0", +"8]. c #A98FC0", +"9]. c #A98FC1", +"0]. c #AA8FC1", +"a]. c #AB90C1", +"b]. c #AB91C1", +"c]. c #AB91C2", +"d]. c #AC91C2", +"e]. c #AB92C2", +"f]. c #AC92C2", +"g]. c #AC93C2", +"h]. c #AC93C3", +"i]. c #AD93C3", +"j]. c #AD93C4", +"k]. c #AD94C4", +"l]. c #AE94C4", +"m]. c #AC93C1", +"n]. c #AB92C1", +"o]. c #AB92C0", +"p]. c #AB91C0", +"q]. c #AA91C0", +"r]. c #AA90C0", +"s]. c #A98FBE", +"t]. c #A88EBE", +"u]. c #A78EBE", +"v]. c #A78DBD", +"w]. c #A78CBD", +"x]. c #A68CBD", +"y]. c #A68BBD", +"z]. c #A68BBC", +"A]. c #A58ABC", +"B]. c #A489BB", +"C]. c #A488BB", +"D]. c #A287B8", +"E]. c #A186B8", +"F]. c #A086B8", +"G]. c #9F84B6", +"H]. c #9E83B5", +"I]. c #9D81B4", +"J]. c #957BAD", +"K]. c #9479AC", +"L]. c #9378AB", +"M]. c #9277AA", +"N]. c #9075A7", +"O]. c #9378AC", +"P]. c #9379AD", +"Q]. c #9276AA", +"R]. c #9076AA", +"S]. c #8F75AA", +"T]. c #8F74A9", +"U]. c #8E74A8", +"V]. c #8D73A7", +"W]. c #8C72A6", +"X]. c #8C71A5", +"Y]. c #856CA0", +"Z]. c #876CA0", +"`]. c #8F76AC", +" ^. c #A489C6", +".^. c #A88DCB", +"+^. c #A58CC8", +"@^. c #8E76A9", +"#^. c #8A73A3", +"$^. c #8C74A5", +"%^. c #927DA9", +"&^. c #9985B0", +"*^. c #756489", +"=^. c #7A6694", +"-^. c #CBC4D6", +";^. c #D4CDDD", +">^. c #D7CEE2", +",^. c #B9ABC9", +"'^. c #C2B4D3", +")^. c #C1B2D2", +"!^. c #B9A8CE", +"~^. c #B8A6CD", +"{^. c #B6A3CA", +"]^. c #B5A3CA", +"^^. c #B3A1C9", +"/^. c #B29FC8", +"(^. c #B09CC7", +"_^. c #AF9BC6", +":^. c #AF99C4", +"<^. c #AE99C4", +"[^. c #AE99C5", +"}^. c #AF99C5", +"|^. c #AF99C6", +"1^. c #AA95C0", +"2^. c #AA94C0", +"3^. c #AA94C1", +"4^. c #AB95C1", +"5^. c #AC96C2", +"6^. c #AC96C3", +"7^. c #AD96C3", +"8^. c #AD97C4", +"9^. c #AE97C4", +"0^. c #AE98C5", +"a^. c #AA94BF", +"b^. c #AB94BF", +"c^. c #AF98C4", +"d^. c #B099C4", +"e^. c #B19AC5", +"f^. c #B19BC6", +"g^. c #B19AC6", +"h^. c #B29BC7", +"i^. c #B29CC7", +"j^. c #B39CC7", +"k^. c #B49CC7", +"l^. c #B49CC8", +"m^. c #B49DC8", +"n^. c #B59EC9", +"o^. c #B69FC9", +"p^. c #B69FCA", +"q^. c #B6A1CA", +"r^. c #B7A1CB", +"s^. c #B8A2CB", +"t^. c #B8A2CC", +"u^. c #B9A2CC", +"v^. c #B9A3CC", +"w^. c #BAA4CC", +"x^. c #BAA3CC", +"y^. c #B9A4CC", +"z^. c #B9A5CC", +"A^. c #BAA5CC", +"B^. c #BAA5CD", +"C^. c #B7A2CA", +"D^. c #B7A1C9", +"E^. c #B6A1C9", +"F^. c #B6A0C8", +"G^. c #B6A1C8", +"H^. c #B5A0C8", +"I^. c #B59FC8", +"J^. c #B49FC8", +"K^. c #B59EC8", +"L^. c #B39CC6", +"M^. c #B29CC6", +"N^. c #B29BC6", +"O^. c #B29BC5", +"P^. c #B199C5", +"Q^. c #B099C5", +"R^. c #B099C3", +"S^. c #AE96C2", +"T^. c #AE95C2", +"U^. c #AD95C1", +"V^. c #AA93BF", +"W^. c #A68EBA", +"X^. c #A58DBA", +"Y^. c #9B82AF", +"Z^. c #9A82AF", +"`^. c #9F86B6", +" /. c #9E85B5", +"./. c #9D84B4", +"+/. c #9B84B2", +"@/. c #9A83B1", +"#/. c #967FAE", +"$/. c #967DAD", +"%/. c #957CAB", +"&/. c #947BAB", +"*/. c #927AAA", +"=/. c #9179A9", +"-/. c #9078A8", +";/. c #9D86BA", +">/. c #AC94CD", +",/. c #AD94CE", +"'/. c #AD94CC", +")/. c #AD95CD", +"!/. c #9881B2", +"~/. c #917BA9", +"{/. c #927CAB", +"]/. c #947EAB", +"^/. c #847698", +"//. c #37274D", +"(/. c #7B6794", +"_/. c #BFB5CB", +":/. c #D8CFE2", +"(. c #AA95BD", +",(. c #A793BD", +"'(. c #A791BC", +")(. c #A691BB", +"!(. c #A590BA", +"~(. c #A38EB8", +"{(. c #A38DB7", +"](. c #A08CB6", +"^(. c #9F8AB5", +"/(. c #9B85B1", +"((. c #9883AF", +"_(. c #9D86B4", +":(. c #AC95C8", +"<(. c #B59DD3", +"[(. c #B39CD1", +"}(. c #B39BD0", +"|(. c #B39CD0", +"1(. c #B49CD1", +"2(. c #9F8AB8", +"3(. c #9884AF", +"4(. c #9987AF", +"5(. c #9082A2", +"6(. c #403056", +"7(. c #D9D1E3", +"8(. c #CAC0D6", +"9(. c #CDC3D9", +"0(. c #E0D8E8", +"a(. c #E1D8E9", +"b(. c #E5DEEC", +"c(. c #E6DFED", +"d(. c #E6DFEC", +"e(. c #E7E0ED", +"f(. c #E9E3EF", +"g(. c #EAE4EF", +"h(. c #ECE6F1", +"i(. c #ECE7F1", +"j(. c #EDE8F2", +"k(. c #EEE9F2", +"l(. c #EFEBF3", +"m(. c #F0EBF5", +"n(. c #F3F1F7", +"o(. c #F4F2F7", +"p(. c #F5F2F7", +"q(. c #F8F5F9", +"r(. c #F8F7FA", +"s(. c #FBF8FC", +"t(. c #FAF9FC", +"u(. c #FBFAFC", +"v(. c #FCF9FC", +"w(. c #FBFBFB", +"x(. c #FDFBFC", +"y(. c #FCFCFC", +"z(. c #FDFCFD", +"A(. c #FDFDFE", +"B(. c #FEFCFE", +"C(. c #FFFFFD", +"D(. c #FFFFFE", +"E(. c #FDFDFD", +"F(. c #FAFAFA", +"G(. c #FAF9FB", +"H(. c #F9F9FB", +"I(. c #F9F8FB", +"J(. c #F8F8FA", +"K(. c #F9F5F9", +"L(. c #F6F3F9", +"M(. c #F2F0F6", +"N(. c #F3EEF6", +"O(. c #F2EDF6", +"P(. c #F1ECF6", +"Q(. c #F0ECF4", +"R(. c #EFECF3", +"S(. c #EEE9F3", +"T(. c #EDE7EF", +"U(. c #EAE6F0", +"V(. c #EAE4EE", +"W(. c #E3DCE9", +"X(. c #DDD4E5", +"Y(. c #DCD3E4", +"Z(. c #DAD1E3", +"`(. c #D5CCDF", +" _. c #D3C9DD", +"._. c #D2C8DC", +"+_. c #D0C5DB", +"@_. c #CDC2D8", +"#_. c #CABED5", +"$_. c #C8BDD5", +"%_. c #C9BDD7", +"&_. c #CDBFDD", +"*_. c #D1C3E3", +"=_. c #D2C3E5", +"-_. c #CFC0E2", +";_. c #CDBDE1", +">_. c #CBBBE0", +",_. c #CAB9DF", +"'_. c #C9B8DF", +")_. c #AE9EBF", +"!_. c #AB9ABE", +"~_. c #A392B7", +"{_. c #9B8FAC", +"]_. c #4E3E62", +"^_. c #AC9EBC", +"/_. c #D5CDDF", +"(_. c #CFC5DA", +"__. c #D3CBDE", +":_. c #EBE7F1", +"<_. c #ECE8F2", +"[_. c #EEEBF3", +"}_. c #EEECF3", +"|_. c #F0ECF5", +"1_. c #F0EBF4", +"2_. c #EFEBF5", +"3_. c #EFEAF4", +"4_. c #EFEBF4", +"5_. c #EFECF4", +"6_. c #F1ECF4", +"7_. c #F2EDF5", +"8_. c #F5F1F8", +"9_. c #F6F5F9", +"0_. c #FBF9FC", +"a_. c #FCFAFC", +"b_. c #F2EEF6", +"c_. c #F1EEF5", +"d_. c #EFEAF3", +"e_. c #EFEAF1", +"f_. c #EDE9F2", +"g_. c #ECE7F0", +"h_. c #EAE5EF", +"i_. c #E7E3ED", +"j_. c #E7E2EC", +"k_. c #DED7E4", +"l_. c #E2DAEC", +"m_. c #E4DBF1", +"n_. c #E2D9EE", +"o_. c #E0D6ED", +"p_. c #DED3EB", +"q_. c #DCD0EA", +"r_. c #D9CDE8", +"s_. c #D6CAE7", +"t_. c #D5C7E6", +"u_. c #AD9EC0", +"v_. c #A696B8", +"w_. c #9E93AF", +"x_. c #534467", +"y_. c #7D6997", +"z_. c #D8D0E2", +"A_. c #D2C9DD", +"B_. c #E4DEEB", +"C_. c #E8E2EF", +"D_. c #EAE5F1", +"E_. c #EAE4F0", +"F_. c #EAE4F1", +"G_. c #E9E3F0", +"H_. c #EAE6F1", +"I_. c #EBE6F1", +"J_. c #EDE7F1", +"K_. c #F3EFF7", +"L_. c #F3F0F7", +"M_. c #F5F4F8", +"N_. c #F8F7FB", +"O_. c #EEEAF4", +"P_. c #EEE9F0", +"Q_. c #E9E3ED", +"R_. c #E4DDEB", +"S_. c #E0D9E7", +"T_. c #DED6E5", +"U_. c #DCD5E4", +"V_. c #DED5EB", +"W_. c #DED4ED", +"X_. c #DDD2EB", +"Y_. c #DBCFEA", +"Z_. c #D9CCE8", +"`_. c #D7CAE7", +" :. c #D2C5E5", +".:. c #D1C2E4", +"+:. c #B3A3C4", +"@:. c #A596B7", +"#:. c #9E94AE", +"$:. c #524367", +"%:. c #9484AA", +"&:. c #D4CCDE", +"*:. c #CFC5DB", +"=:. c #C1B4CF", +"-:. c #C5BAD4", +";:. c #D2C8DE", +">:. c #D0C5DC", +",:. c #CFC3DC", +"':. c #CEC1DB", +"):. c #CCBFDA", +"!:. c #CBBED9", +"~:. c #C9BBD7", +"{:. c #C8BAD7", +"]:. c #C7B8D7", +"^:. c #C6B6D7", +"/:. c #C4B5D5", +"(:. c #C3B4D5", +"_:. c #C3B2D5", +"::. c #C2B2D3", +"<:. c #C1B1D3", +"[:. c #C0AFD2", +"}:. c #BEAED1", +"|:. c #BEADD1", +"1:. c #BDACD0", +"2:. c #BDABD0", +"3:. c #BDACD1", +"4:. c #BAA8CD", +"5:. c #BBA8CE", +"6:. c #BBA9CE", +"7:. c #BCA9CF", +"8:. c #BCAACF", +"9:. c #BDABCF", +"0:. c #BEACD0", +"a:. c #BEACD1", +"b:. c #BBA9CD", +"c:. c #C2AFD3", +"d:. c #C3B2D3", +"e:. c #C4B2D4", +"f:. c #C4B3D4", +"g:. c #C5B3D4", +"h:. c #C5B4D5", +"i:. c #C5B5D5", +"j:. c #C6B5D5", +"k:. c #C6B5D6", +"l:. c #C6B6D6", +"m:. c #C7B6D7", +"n:. c #C7B6D6", +"o:. c #C7B7D7", +"p:. c #C8B7D7", +"q:. c #C8B8D7", +"r:. c #C8B7D8", +"s:. c #C8B8D8", +"t:. c #C9B8D8", +"u:. c #C8B9D8", +"v:. c #C7B7D5", +"w:. c #C6B7D5", +"x:. c #C6B6D5", +"y:. c #C7B6D5", +"z:. c #C5B5D4", +"A:. c #C5B4D4", +"B:. c #C4B3D3", +"C:. c #C4B2D3", +"D:. c #C3B2D2", +"E:. c #C2B1D2", +"F:. c #C2B0D2", +"G:. c #C1B0D2", +"H:. c #BFACCF", +"I:. c #BAA8CC", +"J:. c #BAA6CA", +"K:. c #B5A1C6", +"L:. c #B29EC4", +"M:. c #AD9AC0", +"N:. c #AC99BF", +"O:. c #AF9BC3", +"P:. c #AE9AC2", +"Q:. c #AD99C2", +"R:. c #AC98C0", +"S:. c #A996BC", +"T:. c #A693BB", +"U:. c #B29DC9", +"V:. c #BBA5D4", +"W:. c #BDA8D7", +"X:. c #BCA7D7", +"Y:. c #BCA7D6", +"Z:. c #BCA6D6", +"`:. c #BBA6D6", +" <. c #BCA7D8", +".<. c #AD99C6", +"+<. c #A28FB7", +"@<. c #A28FB6", +"#<. c #A18FB6", +"$<. c #A391B7", +"%<. c #A192B4", +"&<. c #9B90AB", +"*<. c #4A395E", +"=<. c #D5CCE0", +"-<. c #BCAECC", +";<. c #BEB1CE", +"><. c #CEC3DC", +",<. c #CDC1DA", +"'<. c #C9BCD8", +")<. c #C8BBD7", +"!<. c #C7B9D7", +"~<. c #C6B7D6", +"{<. c #C3B4D4", +"]<. c #C1B3D3", +"^<. c #C1B1D2", +"/<. c #C0B0D2", +"(<. c #BBA9CF", +"_<. c #BAA7CD", +":<. c #B9A6CD", +"<<. c #B8A5CD", +"[<. c #B6A2CB", +"}<. c #B5A1CA", +"|<. c #B49FCA", +"1<. c #B4A0C9", +"2<. c #B4A0CB", +"3<. c #B5A0CB", +"4<. c #B09BC5", +"5<. c #B09BC6", +"6<. c #B19CC7", +"7<. c #B29CC8", +"8<. c #B39DC8", +"9<. c #B39EC8", +"0<. c #B39EC9", +"a<. c #B49EC9", +"b<. c #B49ECA", +"c<. c #B59FCA", +"d<. c #B19BC5", +"e<. c #B19CC6", +"f<. c #B8A3CB", +"g<. c #B9A3CB", +"h<. c #BAA6CD", +"i<. c #BBA6CE", +"j<. c #BBA7CE", +"k<. c #BCA7CE", +"l<. c #BCA8CF", +"m<. c #BCA7CF", +"n<. c #BDA8CF", +"o<. c #BDA9CF", +"p<. c #BDA9D0", +"q<. c #BDAAD0", +"r<. c #BEAAD1", +"s<. c #BFABD1", +"t<. c #BFAAD1", +"u<. c #BAA5CB", +"v<. c #B9A4CA", +"w<. c #B39DC6", +"x<. c #B098C4", +"y<. c #AE96C1", +"z<. c #A790BB", +"A<. c #A58DB9", +"B<. c #A28CB7", +"C<. c #A68FBC", +"D<. c #A68EBC", +"E<. c #A58DBC", +"F<. c #A48DBB", +"G<. c #A48CBA", +"H<. c #A08AB6", +"I<. c #A18BB8", +"J<. c #AB93C3", +"K<. c #B49BCF", +"L<. c #B69ED3", +"M<. c #B59DD2", +"N<. c #B59CD1", +"O<. c #B59ED2", +"P<. c #B69FD3", +"Q<. c #B8A1D5", +"R<. c #AA94C3", +"S<. c #9F8AB4", +"T<. c #9F8BB5", +"U<. c #998EA9", +"V<. c #433258", +"W<. c #7F6B99", +"X<. c #D0C8DB", +"Y<. c #BEB0CD", +"Z<. c #BBADCB", +"`<. c #B9AACA", +" [. c #B9A9CA", +".[. c #C9BBD8", +"+[. c #C1B2D3", +"@[. c #BEAED0", +"#[. c #BAA8CE", +"$[. c #B19BC8", +"%[. c #AF9AC7", +"&[. c #AE99C6", +"*[. c #AD96C4", +"=[. c #AC94C4", +"-[. c #AB94C3", +";[. c #AC93C4", +">[. c #AA92C2", +",[. c #A68EBE", +"'[. c #A68EBF", +")[. c #A78FBF", +"![. c #A78FC0", +"~[. c #A88FC0", +"{[. c #A88EC0", +"][. c #A990C1", +"^[. c #AA90C2", +"/[. c #AA90C3", +"([. c #AB91C3", +"_[. c #A88FBF", +":[. c #AA90C1", +"<[. c #AD94C3", +"[[. c #AF96C5", +"}[. c #B097C5", +"|[. c #AF97C5", +"1[. c #B098C5", +"2[. c #B098C6", +"3[. c #B099C6", +"4[. c #B198C6", +"5[. c #B298C6", +"6[. c #B298C7", +"7[. c #B299C7", +"8[. c #B29AC7", +"9[. c #B39BC7", +"0[. c #B39BC8", +"a[. c #B39CC9", +"b[. c #B39DC9", +"c[. c #B49DC9", +"d[. c #B59DC9", +"e[. c #B39BC6", +"f[. c #B29AC5", +"g[. c #B59DCA", +"h[. c #AF97C3", +"i[. c #AE96C3", +"j[. c #A78CBE", +"k[. c #A58BBC", +"l[. c #A58ABB", +"m[. c #A287B9", +"n[. c #A085B8", +"o[. c #9F85B7", +"p[. c #9E84B5", +"q[. c #9B81B2", +"r[. c #987FB0", +"s[. c #9C81B5", +"t[. c #9B81B5", +"u[. c #997EB2", +"v[. c #9C83B6", +"w[. c #A68CC1", +"x[. c #AE93CB", +"y[. c #B195CF", +"z[. c #AE93CE", +"A[. c #AD92CC", +"B[. c #AD93CD", +"C[. c #AD93CE", +"D[. c #AE94CE", +"E[. c #AF94CE", +"F[. c #AF95CE", +"G[. c #B096CF", +"H[. c #B097CF", +"I[. c #B198D0", +"J[. c #B299D0", +"K[. c #B39AD1", +"L[. c #B69CD3", +"M[. c #A891C2", +"N[. c #9286A3", +"O[. c #3A2951", +"P[. c #806C99", +"Q[. c #C2B3D1", +"R[. c #C5B7D5", +"S[. c #C4B5D3", +"T[. c #B7A4CC", +"U[. c #B4A0CA", +"V[. c #B09BC7", +"W[. c #AF9AC6", +"X[. c #AA92C3", +"Y[. c #A990C2", +"Z[. c #A78FC1", +"`[. c #A58DC1", +" }. c #A48CBF", +".}. c #A48ABE", +"+}. c #A389BD", +"@}. c #A288BD", +"#}. c #A388BE", +"$}. c #A388BF", +"%}. c #9F84BA", +"&}. c #9E82B8", +"*}. c #9E82B9", +"=}. c #9F83B9", +"-}. c #9F83BA", +";}. c #A083BB", +">}. c #A184BC", +",}. c #A285BD", +"'}. c #A082B8", +")}. c #A183B9", +"!}. c #A284BB", +"~}. c #A589BE", +"{}. c #A68ABD", +"]}. c #A68ABE", +"^}. c #A78BBE", +"/}. c #A78CBF", +"(}. c #A78BBF", +"_}. c #A78CC0", +":}. c #A78DBF", +"<}. c #A98DBF", +"[}. c #A88DC0", +"}}. c #A88EC1", +"|}. c #A98EC1", +"1}. c #AA8FC2", +"2}. c #A98EBE", +"3}. c #A88DBE", +"4}. c #A98FC2", +"5}. c #A589BB", +"6}. c #A387BA", +"7}. c #A286B9", +"8}. c #A285B9", +"9}. c #9F83B7", +"0}. c #9E80B6", +"a}. c #9B7EB4", +"b}. c #9A7CB3", +"c}. c #8F71A8", +"d}. c #9375AE", +"e}. c #8F72AA", +"f}. c #9A7CB7", +"g}. c #A385C2", +"h}. c #A98BCB", +"i}. c #AA8DCC", +"j}. c #A88BCA", +"k}. c #A789C9", +"l}. c #A689C9", +"m}. c #A78AC9", +"n}. c #A98CCA", +"o}. c #AA8DCA", +"p}. c #AB8FCC", +"q}. c #AC90CC", +"r}. c #AC91CD", +"s}. c #AE94CF", +"t}. c #B095CE", +"u}. c #A68EC1", +"v}. c #9781AF", +"w}. c #9B85B2", +"x}. c #9E8AB4", +"y}. c #A497B5", +"z}. c #897C9A", +"A}. c #BFB1CE", +"B}. c #B7A8C8", +"C}. c #B6A6C7", +"D}. c #C6B8D6", +"E}. c #BFAFD1", +"F}. c #B9A7CD", +"G}. c #B7A5CB", +"H}. c #B5A2CB", +"I}. c #B39FC9", +"J}. c #AC95C4", +"K}. c #AA93C2", +"L}. c #A992C2", +"M}. c #A890C1", +"N}. c #A48BBF", +"O}. c #A289BD", +"P}. c #A187BD", +"Q}. c #A085BC", +"R}. c #9F84BB", +"S}. c #9D82BA", +"T}. c #9C81B9", +"U}. c #9C80B9", +"V}. c #9C7FB9", +"W}. c #9D80BA", +"X}. c #9678B2", +"Y}. c #9778B3", +"Z}. c #9778B4", +"`}. c #9779B4", +" |. c #9779B5", +".|. c #9879B5", +"+|. c #9879B6", +"@|. c #987AB6", +"#|. c #9979B6", +"$|. c #997AB6", +"%|. c #9B7BB8", +"&|. c #9675B1", +"*|. c #9879B3", +"=|. c #9C7CB6", +"-|. c #9C7DB7", +";|. c #9D7FB8", +">|. c #9E7FB8", +",|. c #9E80B8", +"'|. c #9F80B9", +")|. c #9F81B9", +"!|. c #A183BA", +"~|. c #A084BA", +"{|. c #A285BC", +"]|. c #A184B8", +"^|. c #9E81B7", +"/|. c #A386BD", +"(|. c #9F81B8", +"_|. c #997AB2", +":|. c #9272AE", +"<|. c #8F6EAA", +"[|. c #8D6CA8", +"}|. c #8868A4", +"||. c #8767A3", +"1|. c #8C6CA9", +"2|. c #9172B0", +"3|. c #9B7CBC", +"4|. c #A382C5", +"5|. c #A786C9", +"6|. c #A685C9", +"7|. c #A483C8", +"8|. c #A282C7", +"9|. c #A182C6", +"0|. c #A182C5", +"a|. c #A383C7", +"b|. c #A484C7", +"c|. c #A485C8", +"d|. c #A587C8", +"e|. c #A98DCB", +"f|. c #AD90CC", +"g|. c #AE93CD", +"h|. c #B197D0", +"i|. c #A58CC0", +"j|. c #9983B1", +"k|. c #9C86B3", +"l|. c #A390B7", +"m|. c #A59AB6", +"n|. c #7C6F8E", +"o|. c #A899B9", +"p|. c #D2C9E0", +"q|. c #B5A4C6", +"r|. c #B2A2C5", +"s|. c #BAA9CE", +"t|. c #AC95C3", +"u|. c #A890C0", +"v|. c #A68DBF", +"w|. c #A48BBE", +"x|. c #A186BD", +"y|. c #9B7FB7", +"z|. c #9A7CB6", +"A|. c #987BB6", +"B|. c #9679B5", +"C|. c #9678B5", +"D|. c #9678B6", +"E|. c #9677B6", +"F|. c #9677B5", +"G|. c #9777B6", +"H|. c #9676B5", +"I|. c #9171AF", +"J|. c #9070AF", +"K|. c #8F6FAF", +"L|. c #906FAF", +"M|. c #906FB0", +"N|. c #916FB0", +"O|. c #916FB1", +"P|. c #926FB1", +"Q|. c #9270B1", +"R|. c #9370B2", +"S|. c #9471B4", +"T|. c #8F6DAE", +"U|. c #8D6BAB", +"V|. c #9371AF", +"W|. c #9574B2", +"X|. c #9777B4", +"Y|. c #9979B5", +"Z|. c #9A7BB6", +"`|. c #9C7CB8", +" 1. c #9473AF", +".1. c #8E6DAB", +"+1. c #8B69A9", +"@1. c #8562A3", +"#1. c #8461A1", +"$1. c #8260A1", +"%1. c #805D9D", +"&1. c #8463A4", +"*1. c #9B78BE", +"=1. c #A481C9", +"-1. c #A17EC6", +";1. c #9F7DC5", +">1. c #9F7CC5", +",1. c #9E7BC4", +"'1. c #9D7AC4", +")1. c #9C79C2", +"!1. c #9C7AC3", +"~1. c #9E7DC4", +"{1. c #9F7EC4", +"]1. c #9F7FC5", +"^1. c #A080C6", +"/1. c #A282C6", +"(1. c #A384C7", +"_1. c #A688C9", +":1. c #A78ACA", +"<1. c #A88CCA", +"[1. c #AB8ECB", +"}1. c #AD91CD", +"|1. c #B096D0", +"11. c #A28ABE", +"21. c #957EAD", +"31. c #A79CB6", +"41. c #6C5F80", +"51. c #816D9B", +"61. c #9786AD", +"71. c #B4A4C6", +"81. c #BFB1D1", +"91. c #BFB0D1", +"01. c #B19DC7", +"a1. c #A78EC0", +"b1. c #A48CBE", +"c1. c #A087BC", +"d1. c #9D81BA", +"e1. c #9B7FB9", +"f1. c #9577B4", +"g1. c #9475B3", +"h1. c #9274B2", +"i1. c #9272B2", +"j1. c #9271B2", +"k1. c #9270B2", +"l1. c #9171B2", +"m1. c #9270B3", +"n1. c #8F6CAF", +"o1. c #8A68AA", +"p1. c #8A68AB", +"q1. c #8A69AB", +"r1. c #8A69AC", +"s1. c #8B68AC", +"t1. c #8B68AD", +"u1. c #8C68AC", +"v1. c #8C68AD", +"w1. c #8C67AD", +"x1. c #8D68AE", +"y1. c #8D69AF", +"z1. c #8E69B0", +"A1. c #8E68AF", +"B1. c #8A64A9", +"C1. c #8E6AAC", +"D1. c #8D6BAD", +"E1. c #8F6CAE", +"F1. c #906DAE", +"G1. c #9170B0", +"H1. c #9270B0", +"I1. c #9371B1", +"J1. c #9271B1", +"K1. c #9272B1", +"L1. c #9372B1", +"M1. c #9472B1", +"N1. c #9675B3", +"O1. c #9271AE", +"P1. c #9171AE", +"Q1. c #9070AD", +"R1. c #9774B3", +"S1. c #9674B3", +"T1. c #9573B3", +"U1. c #8C6BAA", +"V1. c #8A67A8", +"W1. c #825CA1", +"X1. c #7D589D", +"Y1. c #7C589C", +"Z1. c #7C599D", +"`1. c #7F5CA0", +" 2. c #9673BB", +".2. c #9E7AC5", +"+2. c #9B78C3", +"@2. c #9B77C2", +"#2. c #9B76C2", +"$2. c #9B75C2", +"%2. c #9A75C2", +"&2. c #9974C2", +"*2. c #9974C1", +"=2. c #9A76C1", +"-2. c #9B78C2", +";2. c #9D7BC4", +">2. c #A586C8", +",2. c #A687C9", +"'2. c #A88ACA", +")2. c #AA8DCB", +"!2. c #AC90CD", +"~2. c #B095D0", +"{2. c #A289BE", +"]2. c #9A84B1", +"^2. c #9C87B3", +"/2. c #A693B9", +"(2. c #A89CB6", +"_2. c #5B4C6F", +":2. c #826E9C", +"<2. c #8875A1", +"[2. c #D4CBDC", +"}2. c #D1C7DD", +"|2. c #BBAACD", +"12. c #BCABCF", +"22. c #B5A2CA", +"32. c #B39FC8", +"42. c #A992C3", +"52. c #A58DC0", +"62. c #A38ABE", +"72. c #A187BC", +"82. c #9F85BB", +"92. c #9D82B9", +"02. c #9A7DB8", +"a2. c #987AB7", +"b2. c #9778B5", +"c2. c #9474B3", +"d2. c #9273B2", +"e2. c #9171B1", +"f2. c #9070B0", +"g2. c #906FB1", +"h2. c #906EB1", +"i2. c #906DB2", +"j2. c #8F6CB2", +"k2. c #8967AA", +"l2. c #8966A9", +"m2. c #8965AA", +"n2. c #8966AA", +"o2. c #8964AB", +"p2. c #8A64AB", +"q2. c #8A65AC", +"r2. c #8A65AD", +"s2. c #8B65AE", +"t2. c #8C65AE", +"u2. c #8D66AE", +"v2. c #8C66AD", +"w2. c #8864A9", +"x2. c #8B67AB", +"y2. c #8C67AB", +"z2. c #8F6DAF", +"A2. c #906DAF", +"B2. c #906EAF", +"C2. c #916EAF", +"D2. c #9573B2", +"E2. c #906EAC", +"F2. c #9370B0", +"G2. c #9471B2", +"H2. c #9470B1", +"I2. c #8F6CAC", +"J2. c #8B67A8", +"K2. c #8B68A7", +"L2. c #8762A5", +"M2. c #825CA0", +"N2. c #805AA0", +"O2. c #7F589F", +"P2. c #7E589F", +"Q2. c #7D579E", +"R2. c #7C579D", +"S2. c #7C569B", +"T2. c #7B559A", +"U2. c #7A5499", +"V2. c #795498", +"W2. c #785397", +"X2. c #775297", +"Y2. c #765295", +"Z2. c #7D589F", +"`2. c #7C589E", +" 3. c #9571BB", +".3. c #9C77C5", +"+3. c #9973C1", +"@3. c #9873C0", +"#3. c #9A76C0", +"$3. c #9A77C2", +"%3. c #9C78C3", +"&3. c #9E7CC4", +"*3. c #9F7EC5", +"=3. c #A080C5", +"-3. c #A88ACB", +";3. c #AA8ECC", +">3. c #AD92CD", +",3. c #967FAD", +"'3. c #A491B9", +")3. c #A799B8", +"!3. c #A499B2", +"~3. c #4B3A5F", +"{3. c #301C46", +"]3. c #836F9D", +"^3. c #C8BFD5", +"/3. c #D0C6DB", +"(3. c #D2C8DF", +"_3. c #CBBFD9", +":3. c #B1A0C4", +"<3. c #B09CC8", +"[3. c #AC96C4", +"}3. c #A790C2", +"|3. c #9F85BC", +"13. c #9D83BB", +"23. c #9B7DB8", +"33. c #997BB7", +"43. c #9778B6", +"53. c #9375B3", +"63. c #9374B2", +"73. c #906FB2", +"83. c #906CB2", +"93. c #906DB3", +"03. c #8C6AAE", +"a3. c #8865A9", +"b3. c #8864AA", +"c3. c #8865AA", +"d3. c #8965AB", +"e3. c #8965AC", +"f3. c #8A64AC", +"g3. c #8D65AE", +"h3. c #8D67AE", +"i3. c #8B66AD", +"j3. c #8A65AA", +"k3. c #8A67AA", +"l3. c #8E6BAE", +"m3. c #9471B1", +"n3. c #9473B2", +"o3. c #8F6DAC", +"p3. c #9472B2", +"q3. c #9371B2", +"r3. c #815AA0", +"s3. c #80599F", +"t3. c #7F599F", +"u3. c #7E579F", +"v3. c #7C569C", +"w3. c #7C559B", +"x3. c #7B559B", +"y3. c #7A549A", +"z3. c #795398", +"A3. c #765296", +"B3. c #7D58A0", +"C3. c #7D599F", +"D3. c #9672BD", +"E3. c #9975C1", +"F3. c #9A76C2", +"G3. c #9E7CC5", +"H3. c #A07FC6", +"I3. c #A282C8", +"J3. c #A38BBE", +"K3. c #9882B0", +"L3. c #9D87B4", +"M3. c #A08BB6", +"N3. c #A390B8", +"O3. c #A693BA", +"P3. c #9B91AA", +"Q3. c #3D2A52", +"R3. c #CFC4DB", +"S3. c #B3A1C6", +"T3. c #AC9AC1", +"U3. c #BBABCE", +"V3. c #AB95C4", +"W3. c #AA93C3", +"X3. c #A68DC0", +"Y3. c #A48ABF", +"Z3. c #A085BB", +"`3. c #9E82BB", +" 4. c #9B7EB9", +".4. c #9475B5", +"+4. c #9373B3", +"@4. c #9272B3", +"#4. c #9271B4", +"$4. c #9270B4", +"%4. c #9170B3", +"&4. c #916FB2", +"*4. c #8B69AC", +"=4. c #8A67AC", +"-4. c #8B67AC", +";4. c #8B67AD", +">4. c #8C68AE", +",4. c #8D67AF", +"'4. c #8E69AF", +")4. c #8F69AF", +"!4. c #8F6BB0", +"~4. c #906BB1", +"{4. c #8E69AE", +"]4. c #8B68AB", +"^4. c #8C6AAB", +"/4. c #8E6AAD", +"(4. c #8F6BAD", +"_4. c #9474B2", +":4. c #9575B3", +"<4. c #9677B3", +"[4. c #9878B5", +"}4. c #9372AF", +"|4. c #9171AC", +"14. c #9777B5", +"24. c #9676B4", +"34. c #9675B4", +"44. c #8B6AA8", +"54. c #835FA2", +"64. c #7F59A0", +"74. c #7E599F", +"84. c #7E589E", +"94. c #7C579C", +"04. c #7A559A", +"a4. c #795599", +"b4. c #7F5BA1", +"c4. c #7F5AA0", +"d4. c #805BA2", +"e4. c #9D7AC6", +"f4. c #9C78C4", +"g4. c #9C77C3", +"h4. c #9B76C3", +"i4. c #9A76C3", +"j4. c #9B77C3", +"k4. c #9D79C4", +"l4. c #9F7BC6", +"m4. c #A07EC6", +"n4. c #A281C8", +"o4. c #A383C9", +"p4. c #A586C9", +"q4. c #A788C9", +"r4. c #AB8ECD", +"s4. c #AD90CD", +"t4. c #AF94CF", +"u4. c #B298D1", +"v4. c #B69DD3", +"w4. c #A58EBF", +"x4. c #9B85B3", +"y4. c #AD9BBE", +"z4. c #8E829D", +"A4. c #84709E", +"B4. c #A596B9", +"C4. c #CEC5DA", +"D4. c #B5A5C7", +"E4. c #B4A3C6", +"F4. c #B2A0C5", +"G4. c #BCABCE", +"H4. c #B19CC8", +"I4. c #AD97C5", +"J4. c #AB94C4", +"K4. c #A991C2", +"L4. c #A68CC0", +"M4. c #A38ABF", +"N4. c #A287BD", +"O4. c #9F83BB", +"P4. c #9E81BB", +"Q4. c #9C7FBA", +"R4. c #9B7DB9", +"S4. c #997BB8", +"T4. c #9779B7", +"U4. c #9677B7", +"V4. c #9777B7", +"W4. c #9776B6", +"X4. c #9776B7", +"Y4. c #9877B7", +"Z4. c #9472B4", +"`4. c #926FB2", +" 5. c #936FB3", +".5. c #9470B3", +"+5. c #9471B3", +"@5. c #9572B4", +"#5. c #9573B4", +"$5. c #9673B5", +"%5. c #9675B5", +"&5. c #9472B3", +"*5. c #9373B0", +"=5. c #9573B1", +"-5. c #9877B4", +";5. c #9D80B8", +">5. c #9E80B9", +",5. c #9B7DB5", +"'5. c #9979B3", +")5. c #9D7DB8", +"!5. c #9D7EBA", +"~5. c #9D7FB9", +"{5. c #9D7EB9", +"]5. c #9C7EB9", +"^5. c #9C7DB8", +"/5. c #9576B1", +"(5. c #9475B0", +"_5. c #8D6DAB", +":5. c #8D6CAB", +"<5. c #8C6BA9", +"[5. c #8865A5", +"}5. c #8563A7", +"|5. c #8462A4", +"15. c #8764A8", +"25. c #A07DC6", +"35. c #A27FC8", +"45. c #A07EC7", +"55. c #9F7EC6", +"65. c #9F7DC6", +"75. c #A280C7", +"85. c #A483C9", +"95. c #A584C9", +"05. c #A787CB", +"a5. c #A888CB", +"b5. c #AB8DCD", +"c5. c #AE92CF", +"d5. c #B196D0", +"e5. c #B399D2", +"f5. c #B59CD2", +"g5. c #B9A1D6", +"h5. c #A38FB9", +"i5. c #B0A5BD", +"j5. c #7A6D8B", +"k5. c #2E1C46", +"l5. c #9583AB", +"m5. c #BDACCF", +"n5. c #BEADD0", +"o5. c #B6A3CC", +"p5. c #B29ECA", +"q5. c #AF99C7", +"r5. c #AD96C6", +"s5. c #AA91C3", +"t5. c #A890C3", +"u5. c #A58ABF", +"v5. c #A186BE", +"w5. c #9F83BD", +"x5. c #9E82BC", +"y5. c #9E80BB", +"z5. c #9C80BA", +"A5. c #9D7EBB", +"B5. c #9C7EBA", +"C5. c #9C7EBB", +"D5. c #9D7DBB", +"E5. c #9877B6", +"F5. c #9878B6", +"G5. c #9878B7", +"H5. c #9978B7", +"I5. c #9977B7", +"J5. c #9A77B8", +"K5. c #9B79B8", +"L5. c #9B79B7", +"M5. c #9B7BB9", +"N5. c #9B7CB9", +"O5. c #9C7DBA", +"P5. c #9E7EBB", +"Q5. c #9C7CB9", +"R5. c #9D7EB8", +"S5. c #9E7FB9", +"T5. c #9E80BA", +"U5. c #9F81BA", +"V5. c #A082BA", +"W5. c #A285BA", +"X5. c #A385BC", +"Y5. c #A387BD", +"Z5. c #A388BD", +"`5. c #A689BE", +" 6. c #A58ABE", +".6. c #A68ABF", +"+6. c #A185BA", +"@6. c #A184B9", +"#6. c #A589BF", +"$6. c #A588BF", +"%6. c #A588BE", +"&6. c #A488BE", +"*6. c #A487BE", +"=6. c #A387BE", +"-6. c #9D7FB6", +";6. c #9B7CB4", +">6. c #9777B2", +",6. c #8966A5", +"'6. c #8865A4", +")6. c #8E6BAB", +"!6. c #8B6AA9", +"~6. c #A684CA", +"{6. c #A685CA", +"]6. c #A484C9", +"^6. c #A485C9", +"/6. c #A786CB", +"(6. c #A788CB", +"_6. c #A98ACC", +":6. c #AA8BCD", +"<6. c #AC8FCD", +"[6. c #AE91CF", +"}6. c #AF92CF", +"|6. c #B195D0", +"16. c #B59BD3", +"26. c #B79ED3", +"36. c #B9A2D5", +"46. c #BCA5D7", +"56. c #A793BC", +"66. c #B0A0C0", +"76. c #B0A7BD", +"86. c #635577", +"96. c #2F1D47", +"06. c #85719F", +"a6. c #86729F", +"b6. c #B8A8C9", +"c6. c #B6A6C8", +"d6. c #B5A4C7", +"e6. c #B9A8CB", +"f6. c #BFAFD2", +"g6. c #BAA7CF", +"h6. c #B9A5CD", +"i6. c #B7A3CC", +"j6. c #B6A1CB", +"k6. c #B39FCA", +"l6. c #B19AC8", +"m6. c #AE98C7", +"n6. c #AD97C6", +"o6. c #AD95C5", +"p6. c #A991C3", +"q6. c #A88FC3", +"r6. c #A78DC2", +"s6. c #A58BC1", +"t6. c #A48AC0", +"u6. c #A389BF", +"v6. c #A286BE", +"w6. c #A386BE", +"x6. c #A386BF", +"y6. c #A385BF", +"z6. c #A486C0", +"A6. c #A183BE", +"B6. c #9D7FBA", +"C6. c #9E7FBA", +"D6. c #9E81BC", +"E6. c #9F81BC", +"F6. c #A081BC", +"G6. c #A181BD", +"H6. c #A182BD", +"I6. c #A283BD", +"J6. c #A384BE", +"K6. c #A486BF", +"L6. c #A487C0", +"M6. c #A587C1", +"N6. c #A688C1", +"O6. c #A487BF", +"P6. c #A286BD", +"Q6. c #A68BBF", +"R6. c #A98DC0", +"S6. c #AC92C3", +"T6. c #AC92C4", +"U6. c #AD95C4", +"V6. c #AE95C5", +"W6. c #AD94C5", +"X6. c #AA91C1", +"Y6. c #A991C1", +"Z6. c #A990C0", +"`6. c #A88FBE", +" 7. c #AD92C4", +".7. c #AC92C5", +"+7. c #A489BC", +"@7. c #A388BB", +"#7. c #9779B1", +"$7. c #9474AE", +"%7. c #8F70AC", +"&7. c #8F6FA9", +"*7. c #8E6EA9", +"=7. c #9979B7", +"-7. c #AD8DD0", +";7. c #AC8CCE", +">7. c #AB8BCC", +",7. c #A98BCC", +"'7. c #A88ACC", +")7. c #AA8BCC", +"!7. c #AB8CCD", +"~7. c #AC8ECE", +"{7. c #AD8FCF", +"]7. c #AE90CF", +"^7. c #AF92D0", +"/7. c #B194D0", +"(7. c #B195D1", +"_7. c #B397D1", +":7. c #B499D2", +"<7. c #B59CD3", +"[7. c #B79ED5", +"}7. c #B9A0D5", +"|7. c #BBA4D6", +"17. c #BDA7D8", +"27. c #BFAAD9", +"37. c #B2A1C3", +"47. c #ACA3B8", +"57. c #4E3E63", +"67. c #33204A", +"77. c #C0B5CD", +"87. c #CFC4DC", +"97. c #BDADCC", +"07. c #BBABCC", +"a7. c #B6A5C9", +"b7. c #B8A6CA", +"c7. c #C5B6D6", +"d7. c #C2B1D4", +"e7. c #BFADD2", +"f7. c #BDABD1", +"g7. c #BCAAD0", +"h7. c #BBA8CF", +"i7. c #B9A6CE", +"j7. c #B7A5CD", +"k7. c #B6A3CD", +"l7. c #B4A0CC", +"m7. c #B49DCA", +"n7. c #B29BC9", +"o7. c #AF99C8", +"p7. c #AF97C7", +"q7. c #AE95C7", +"r7. c #AC93C7", +"s7. c #AB92C6", +"t7. c #AB91C4", +"u7. c #AA8FC4", +"v7. c #A98EC3", +"w7. c #A98EC4", +"x7. c #AA8FC5", +"y7. c #AB8FC4", +"z7. c #AB8FC6", +"A7. c #A68BC0", +"B7. c #A68AC0", +"C7. c #A68BC1", +"D7. c #A68AC1", +"E7. c #A88BC1", +"F7. c #A88BC2", +"G7. c #A88CC2", +"H7. c #A98EC2", +"I7. c #AB8FC3", +"J7. c #AB90C4", +"K7. c #AC90C5", +"L7. c #AC91C5", +"M7. c #AD91C5", +"N7. c #AD93C6", +"O7. c #AE94C6", +"P7. c #AF94C7", +"Q7. c #AE93C5", +"R7. c #B097C6", +"S7. c #B19AC7", +"T7. c #B39CC8", +"U7. c #B59ECA", +"V7. c #B7A0CB", +"W7. c #B59ECB", +"X7. c #B49CC9", +"Y7. c #AC95C2", +"Z7. c #A68DBD", +"`7. c #9D81B6", +" 8. c #9B7DB3", +".8. c #997CB4", +"+8. c #9B7EB7", +"@8. c #A285BF", +"#8. c #B496D5", +"$8. c #B295D3", +"%8. c #B293D1", +"&8. c #B193D0", +"*8. c #B093D0", +"=8. c #B094D0", +"-8. c #B195D2", +";8. c #B296D2", +">8. c #B397D3", +",8. c #B498D3", +"'8. c #B499D3", +")8. c #B59AD3", +"!8. c #B79BD4", +"~8. c #B89DD5", +"{8. c #B89FD5", +"]8. c #BAA1D6", +"^8. c #BBA3D7", +"/8. c #BDA5D8", +"(8. c #BEA8D8", +"_8. c #C2ADDA", +":8. c #C2AFDA", +"<8. c #B09FC3", +"[8. c #B2A2C4", +"}8. c #B5A5C5", +"|8. c #B5A8C2", +"18. c #9F95AD", +"28. c #3E2C53", +"38. c #8672A0", +"48. c #A99ABB", +"58. c #C8BAD8", +"68. c #C7B8D8", +"78. c #C4B5D6", +"88. c #C1B1D4", +"98. c #C1B0D3", +"08. c #BBA9D0", +"a8. c #BAA8CF", +"b8. c #BAA6CE", +"c8. c #B9A4CE", +"d8. c #B7A2CE", +"e8. c #B6A0CD", +"f8. c #B59FCC", +"g8. c #B49ECC", +"h8. c #B39CCB", +"i8. c #B29ACA", +"j8. c #B199C9", +"k8. c #B098C8", +"l8. c #B097C8", +"m8. c #AF97C9", +"n8. c #B097C9", +"o8. c #B197CA", +"p8. c #B198CB", +"q8. c #AF96C8", +"r8. c #AC93C5", +"s8. c #AD93C5", +"t8. c #AE93C6", +"u8. c #AE93C7", +"v8. c #AF95C7", +"w8. c #B096C7", +"x8. c #B197C8", +"y8. c #B198C8", +"z8. c #B199C8", +"A8. c #B299CA", +"B8. c #B39BCA", +"C8. c #B49BCA", +"D8. c #B59CCB", +"E8. c #B59DCB", +"F8. c #B49ECB", +"G8. c #B69ECC", +"H8. c #B6A0CB", +"I8. c #B8A3CC", +"J8. c #BAA4CD", +"K8. c #BAA5CE", +"L8. c #C0ADD2", +"M8. c #C1ADD2", +"N8. c #BFACD2", +"O8. c #BFAAD0", +"P8. c #BFABD0", +"Q8. c #BCA7CD", +"R8. c #BBA6CC", +"S8. c #BBA6CD", +"T8. c #BDA8D1", +"U8. c #BDA8D0", +"V8. c #BCA8D0", +"W8. c #BBA7D0", +"X8. c #BBA6D0", +"Y8. c #AC93C0", +"Z8. c #9E82B6", +"`8. c #AC90C8", +" 9. c #B99FD8", +".9. c #B89DD6", +"+9. c #B89CD6", +"@9. c #B79BD5", +"#9. c #B69BD5", +"$9. c #B79CD5", +"%9. c #B79DD5", +"&9. c #B89ED6", +"*9. c #B99FD7", +"=9. c #B99FD6", +"-9. c #BAA0D6", +";9. c #BBA1D7", +">9. c #BCA3D8", +",9. c #BDA4D8", +"'9. c #BEA6D9", +")9. c #BFA8DA", +"!9. c #C0A9DA", +"~9. c #C2ACDA", +"{9. c #C3AEDC", +"]9. c #C4B0DC", +"^9. c #C6B3DD", +"/9. c #C5B3DB", +"(9. c #B19FC4", +"_9. c #B09EC3", +":9. c #B2A1C4", +"<9. c #B4A3C5", +"[9. c #B7A8C7", +"}9. c #8A7F99", +"|9. c #36234C", +"19. c #8773A1", +"29. c #9481AA", +"39. c #C7BAD6", +"49. c #D0C3DD", +"59. c #D4C9E2", +"69. c #D5CAE1", +"79. c #D6CAE2", +"89. c #D6CAE1", +"99. c #D6C9E3", +"09. c #D6CAE3", +"a9. c #D6C9E4", +"b9. c #D6CBE4", +"c9. c #D7CBE3", +"d9. c #D7CAE3", +"e9. c #D8CBE3", +"f9. c #D8CCE3", +"g9. c #D8CCE4", +"h9. c #D9CDE6", +"i9. c #DACDE6", +"j9. c #DBCFE6", +"k9. c #DCD0E7", +"l9. c #DCD1E8", +"m9. c #DED3E8", +"n9. c #DFD4E9", +"o9. c #E0D4EB", +"p9. c #E0D6EB", +"q9. c #E0D7EB", +"r9. c #E0D6E9", +"s9. c #E0D7EA", +"t9. c #E2D8EA", +"u9. c #E3D8EB", +"v9. c #E3DAEC", +"w9. c #E4DAEC", +"x9. c #E5DBEE", +"y9. c #E6DDEE", +"z9. c #E6DFEE", +"A9. c #E7DEEE", +"B9. c #E8E0EE", +"C9. c #E9E1EF", +"D9. c #E9E2F0", +"E9. c #EAE3F1", +"F9. c #EBE4F1", +"G9. c #ECE5F2", +"H9. c #ECE6F2", +"I9. c #EDE7F2", +"J9. c #EEE8F4", +"K9. c #EFE9F4", +"L9. c #F1ECF5", +"M9. c #F1EDF6", +"N9. c #F1EEF6", +"O9. c #F4EFF7", +"P9. c #FAFAFC", +"Q9. c #FCFBFD", +"R9. c #FCFDFD", +"S9. c #F4F1F5", +"T9. c #EEE8F2", +"U9. c #EDE7F3", +"V9. c #ECE5F1", +"W9. c #EAE2F0", +"X9. c #E7DFEE", +"Y9. c #E7DFEC", +"Z9. c #E3DBEA", +"`9. c #E2D9EA", +" 0. c #E0D8E9", +".0. c #E0D6E8", +"+0. c #E0D6E7", +"@0. c #DFD6E6", +"#0. c #DED3E5", +"$0. c #DDD2E5", +"%0. c #DBD1E4", +"&0. c #DAD0E3", +"*0. c #D8CEE2", +"=0. c #D8CCE2", +"-0. c #D6CAE0", +";0. c #D5C8DF", +">0. c #D3C7DE", +",0. c #D3C5DE", +"'0. c #D1C3DC", +")0. c #CFC1DC", +"!0. c #CEBFDA", +"~0. c #CDBED9", +"{0. c #CBBCD8", +"]0. c #C9BAD7", +"^0. c #C8B9D6", +"/0. c #C6B4D4", +"(0. c #C3B1D2", +"_0. c #C6B3DB", +":0. c #CDBAE4", +"<0. c #CBB7E2", +"[0. c #CBB6E1", +"}0. c #CAB7E1", +"|0. c #CBB8E2", +"10. c #CBB8E1", +"20. c #CBB9E2", +"30. c #CCB9E2", +"40. c #CCBAE2", +"50. c #CDBAE3", +"60. c #CEBBE3", +"70. c #CFBDE2", +"80. c #CEBFE4", +"90. c #D0C0E3", +"00. c #D0C1E4", +"a0. c #CDBEDE", +"b0. c #B7A5C8", +"c0. c #B7A6C7", +"d0. c #B8A8C8", +"e0. c #B9A9C9", +"f0. c #B9B1C4", +"g0. c #716382", +"h0. c #C9BDD6", +"i0. c #CBBFD8", +"j0. c #DCD3E6", +"k0. c #DDD4E7", +"l0. c #DED5E8", +"m0. c #DFD7E8", +"n0. c #E0D7E8", +"o0. c #E0D5E9", +"p0. c #DFD5E9", +"q0. c #DED3EA", +"r0. c #DED4E9", +"s0. c #DDD5E9", +"t0. c #DED4E8", +"u0. c #DED3E7", +"v0. c #DDD3E7", +"w0. c #DDD3E8", +"x0. c #DED3E9", +"y0. c #DFD5EA", +"z0. c #E0D6EA", +"A0. c #E1D7EB", +"B0. c #E2D7EC", +"C0. c #E2D8EC", +"D0. c #E2D9EC", +"E0. c #E1D8EA", +"F0. c #E1D8EB", +"G0. c #E3D9EB", +"H0. c #E4D9EC", +"I0. c #E4DBEC", +"J0. c #E5DCEE", +"K0. c #EAE3F0", +"L0. c #E9E2EF", +"M0. c #E8E0ED", +"N0. c #E5DDEB", +"O0. c #E4DCEB", +"P0. c #E4DBEB", +"Q0. c #E3DBEB", +"R0. c #E3DAEA", +"S0. c #E3DAE9", +"T0. c #E2D8E8", +"U0. c #E1D8E8", +"V0. c #DFD7E7", +"W0. c #DED6E7", +"X0. c #DED4E7", +"Y0. c #DED4E5", +"Z0. c #DDD3E5", +"`0. c #DCD2E5", +" a. c #DCD1E5", +".a. c #DAD0E4", +"+a. c #DBCFE4", +"@a. c #DACFE3", +"#a. c #D8CDE2", +"$a. c #D7CBE1", +"%a. c #D6C9E0", +"&a. c #D5C9DF", +"*a. c #D4C8DF", +"=a. c #D3C7DF", +"-a. c #D3C6DE", +";a. c #D4C7DE", +">a. c #D5C8E1", +",a. c #D4C7E1", +"'a. c #D4C7E0", +")a. c #DCCFEA", +"!a. c #DFD3EE", +"~a. c #DED1ED", +"{a. c #DECFEC", +"]a. c #DECFEB", +"^a. c #DED0EC", +"/a. c #DDD0EB", +"(a. c #DCD0EC", +"_a. c #DCCFEB", +":a. c #DCCEEB", +"b. c #BDAECF", +",b. c #C2B3D2", +"'b. c #C9BCDA", +")b. c #C8BBD9", +"!b. c #C7B9D9", +"~b. c #C6B6D8", +"{b. c #C5B5D7", +"]b. c #C4B4D7", +"^b. c #C1B1D5", +"/b. c #C0B1D4", +"(b. c #C0AFD4", +"_b. c #C0ADD3", +":b. c #BFABD3", +"c. c #C3ADDD", +",c. c #C4AFDD", +"'c. c #C6B0DE", +")c. c #C7B1DF", +"!c. c #C8B3DF", +"~c. c #C9B5DF", +"{c. c #CAB7E0", +"]c. c #CBB9E1", +"^c. c #CCBBE1", +"/c. c #CFC0E4", +"(c. c #C2B1D5", +"_c. c #B6A5C7", +":c. c #BAAACA", +"d. c #C5AFDD", +",d. c #C5B1DD", +"'d. c #C8B4DE", +")d. c #CCB9E1", +"!d. c #B5A3C6", +"~d. c #B8A7C9", +"{d. c #BAAAC9", +"]d. c #B8B1C4", +"^d. c #655778", +"/d. c #B9A8CA", +"(d. c #B19EC6", +"_d. c #C5B5D6", +":d. c #C0B0D4", +"e. c #49395E", +",e. c #A696BA", +"'e. c #D3C9DE", +")e. c #BAAACB", +"!e. c #B7A5C9", +"~e. c #B5A3C8", +"{e. c #BEADD2", +"]e. c #BCA9D0", +"^e. c #BAA6CF", +"/e. c #B8A5CF", +"(e. c #AD92C7", +"_e. c #AB90C7", +":e. c #AA90C5", +"f. c #9D7CBE", +",f. c #9E7CBE", +"'f. c #9E7CBD", +")f. c #9E7DBD", +"!f. c #9E7DBE", +"~f. c #9B79BA", +"{f. c #9876B7", +"]f. c #9A79B8", +"^f. c #9A7AB9", +"/f. c #9B7BBA", +"(f. c #9C7CBA", +"_f. c #A283BE", +":f. c #A284BE", +"g. c #9A79B9", +",g. c #9B79B9", +"'g. c #9B7AB9", +")g. c #9C7BBA", +"!g. c #9D7CBA", +"~g. c #9B7BB7", +"{g. c #9E7EB9", +"]g. c #9F7FBA", +"^g. c #9F80BA", +"/g. c #A081BA", +"(g. c #A081BB", +"_g. c #A283BB", +":g. c #A486BD", +"h. c #A081B9", +",h. c #A183BB", +"'h. c #E4DCEC", +")h. c #E1D7E9", +"!h. c #E1D7E8", +"~h. c #E0D5E8", +"{h. c #DFD5E7", +"]h. c #DFD4E7", +"^h. c #A385BE", +"/h. c #A485BE", +"(h. c #A485BD", +"_h. c #A384BD", +":h. c #9E7FB7", +"i. c #E5DCEC", +",i. c #E5DCEB", +"'i. c #9E7DBA", +")i. c #A082BC", +"!i. c #9C7CB5", +"~i. c #9F7EBA", +"{i. c #9C7BB9", +"]i. c #9876B6", +"^i. c #8B69AA", +"/i. c #7B569C", +"(i. c #7F59A1", +"_i. c #835DA6", +":i. c #825CA6", +"j. c #9D7BB9", +",j. c #9C7AB9", +"'j. c #9674B4", +")j. c #8562A5", +"!j. c #7C579F", +"~j. c #7B559D", +"{j. c #7B549D", +"]j. c #7A539C", +"^j. c #7A529B", +"/j. c #79519B", +"(j. c #7F57A2", +"_j. c #815AA5", +":j. c #8058A4", +"k. c #9D7CBB", +",k. c #9C7ABA", +"'k. c #9675B6", +")k. c #8A67A9", +"!k. c #8966A8", +"~k. c #8663A6", +"{k. c #7F5AA1", +"]k. c #7F58A0", +"^k. c #7D579F", +"/k. c #7C569E", +"(k. c #7C559D", +"_k. c #7B539C", +":k. c #78509B", +"l. c #966DBE", +",l. c #A37BCE", +"'l. c #A37ACC", +")l. c #A57CCE", +"!l. c #A680CE", +"~l. c #A781CF", +"{l. c #AB85D1", +"]l. c #AC87D2", +"^l. c #AE8AD3", +"/l. c #B08ED4", +"(l. c #B392D5", +"_l. c #B596D6", +":l. c #B79AD8", +"m. c #B29FC6", +",m. c #AF9BC5", +"'m. c #AB95C2", +")m. c #A68EC0", +"!m. c #A88FC1", +"~m. c #B6A1CE", +"{m. c #B199CA", +"]m. c #AB93C7", +"^m. c #AA8FC6", +"/m. c #A689C3", +"(m. c #A183C1", +"_m. c #A07FC0", +":m. c #9D7CBF", +"n. c #9D7CB9", +",n. c #A484BF", +"'n. c #A687C1", +")n. c #A686C0", +"!n. c #A183BD", +"~n. c #A382BF", +"{n. c #9D7ABA", +"]n. c #825DA3", +"^n. c #7C559E", +"/n. c #7B549E", +"(n. c #815AA6", +"_n. c #7E56A2", +":n. c #8A63B1", +"o. c #CDB9E1", +",o. c #D0BCE3", +"'o. c #D2C0E4", +")o. c #D5C4E5", +"!o. c #D7C8E7", +"~o. c #DBCDE9", +"{o. c #BEADCE", +"]o. c #C4B5D2", +"^o. c #716483", +"/o. c #927EAC", +"(o. c #A791C1", +"_o. c #A086BC", +":o. c #B49CCC", +"p. c #A687C2", +",p. c #A787C3", +"'p. c #A788C3", +")p. c #A888C4", +"!p. c #A78AC1", +"~p. c #AA8CC3", +"{p. c #AA8DC3", +"]p. c #AA8DC2", +"^p. c #A98CC2", +"/p. c #A88AC3", +"(p. c #A688C2", +"_p. c #9E7BBA", +":p. c #9776B5", +"q. c #CBB4E1", +",q. c #CDB8E2", +"'q. c #D3C1E5", +")q. c #D6C5E6", +"!q. c #DBCEEA", +"~q. c #DDD1EA", +"{q. c #C1B0D0", +"]q. c #C4B7D1", +"^q. c #B5ADC0", +"/q. c #524167", +"(q. c #3C2A54", +"_q. c #AA95C2", +":q. c #A489BF", +"r. c #AC8FC5", +",r. c #AD90C5", +"'r. c #AE91C5", +")r. c #AC8EC5", +"!r. c #AC8FC6", +"~r. c #AB8DC5", +"{r. c #A284C0", +"]r. c #815AA3", +"^r. c #865FAA", +"/r. c #855EA8", +"(r. c #855DA8", +"_r. c #865EA9", +":r. c #865FA9", +"s. c #D0BDE4", +",s. c #D4C2E6", +"'s. c #D7C6E8", +")s. c #DCCEEA", +"!s. c #DED2EB", +"~s. c #E0D5EB", +"{s. c #C7B7D6", +"]s. c #C7B8D5", +"^s. c #C3B8CE", +"/s. c #8F839D", +"(s. c #45345D", +"_s. c #A791BE", +":s. c #A489C0", +"t. c #9B77BB", +",t. c #9B79BC", +"'t. c #A281C1", +")t. c #A381C1", +"!t. c #A685C3", +"~t. c #AB8DC7", +"{t. c #AC8EC6", +"]t. c #AF90C9", +"^t. c #B093CA", +"/t. c #B093CB", +"(t. c #B196CC", +"_t. c #B297CC", +":t. c #B297CD", +"u. c #BEA8D2", +",u. c #BEA6D2", +"'u. c #BCA5D1", +")u. c #BBA4D0", +"!u. c #BBA3D0", +"~u. c #BAA2D0", +"{u. c #AC8DC5", +"]u. c #AB8EC6", +"^u. c #8861A9", +"/u. c #8861AA", +"(u. c #8B65AD", +"_u. c #A07CC4", +":u. c #B18FD6", +"v. c #C4B9CF", +",v. c #8D819C", +"'v. c #48365E", +")v. c #9581B0", +"!v. c #C9BDDA", +"~v. c #A78EBF", +"{v. c #A88EC3", +"]v. c #A68BC2", +"^v. c #9D7FBC", +"/v. c #9C7CBC", +"(v. c #A98BC6", +"_v. c #AB8EC8", +":v. c #A787C6", +"w. c #946FBA", +",w. c #9873BC", +"'w. c #9B77BD", +")w. c #A381C4", +"!w. c #A582C5", +"~w. c #A27EC0", +"{w. c #AA8AC6", +"]w. c #AD8EC7", +"^w. c #AF90C8", +"/w. c #AF93CB", +"(w. c #B599CE", +"_w. c #B69BCF", +":w. c #B69DCF", +"x. c #D7C8E4", +",x. c #D6C7E3", +"'x. c #D5C6E3", +")x. c #D3C4E1", +"!x. c #D2C2E0", +"~x. c #D1C1E0", +"{x. c #D1BFDF", +"]x. c #CFBFDF", +"^x. c #D0BEDF", +"/x. c #CFBDDF", +"(x. c #CFBDDE", +"_x. c #CEBCDD", +":x. c #CDBBDD", +"y. c #E3D8EE", +",y. c #E6DCEF", +"'y. c #C4BACF", +")y. c #80728F", +"!y. c #A694BD", +"~y. c #A082BF", +"{y. c #A788C7", +"]y. c #A483C5", +"^y. c #A380C3", +"/y. c #9B75BE", +"(y. c #9974BC", +"_y. c #9976BD", +":y. c #9D79C1", +"z. c #C0A8D5", +",z. c #C0A7D4", +"'z. c #BBA2CF", +")z. c #BCA3D0", +"!z. c #CEBBDE", +"~z. c #E4DAED", +"{z. c #E1D6EB", +"]z. c #E1D5EB", +"^z. c #DFD2EA", +"/z. c #DED1E9", +"(z. c #DDD0E8", +"_z. c #DCCFE7", +":z. c #DBCEE7", +"A. c #A197AF", +",A. c #4E3B65", +"'A. c #9B87B6", +")A. c #C6B9D8", +"!A. c #C4B8D7", +"~A. c #A084BB", +"{A. c #9975BB", +"]A. c #A482C4", +"^A. c #9672BB", +"/A. c #A683C6", +"(A. c #A784C6", +"_A. c #AA88C7", +":A. c #AD8ECB", +"B. c #E9E0F0", +",B. c #E9E0EF", +"'B. c #E8E0F0", +")B. c #E8DFEF", +"!B. c #E7DFEF", +"~B. c #E7DEEF", +"{B. c #E6DBEE", +"]B. c #CBB7DC", +"^B. c #C4AED8", +"/B. c #A080BA", +"(B. c #9C7EB8", +"_B. c #8C69AE", +":B. c #8E6AAF", +"C. c #B79AD3", +",C. c #B699D2", +"'C. c #B497CF", +")C. c #B498CF", +"!C. c #B599CF", +"~C. c #BB9FD1", +"{C. c #C1A7D4", +"]C. c #C5AFD9", +"^C. c #C6B0D9", +"/C. c #C6B0DA", +"(C. c #C6B1DA", +"_C. c #C7B2DB", +":C. c #C9B4DD", +"D. c #B193CE", +",D. c #B496CF", +"'D. c #B599D0", +")D. c #B598D0", +"!D. c #B69AD0", +"~D. c #C3ABD6", +"{D. c #C5B0DA", +"]D. c #C7B1DA", +"^D. c #C7B3DB", +"/D. c #CBB6DE", +"(D. c #CCB7DF", +"_D. c #CDB8DF", +":D. c #C9B5DD", +"E. c #C7B1DB", +",E. c #C8B2DC", +"'E. c #C8B4DC", +")E. c #CFBCE1", +"!E. c #D0BCE1", +"~E. c #D0BCE2", +"{E. c #D0BDE2", +"]E. c #D1BDE3", +"^E. c #CEBCE0", +"/E. c #CEBADF", +"(E. c #CDB9DE", +"_E. c #FDFCFE", +":E. c #FAF7FB", +"F. c #9F7BBF", +",F. c #9F7CBF", +"'F. c #A07EBF", +")F. c #AC8CC7", +"!F. c #B193CC", +"~F. c #BBA1D4", +"{F. c #BEA3D5", +"]F. c #BFA3D5", +"^F. c #C1A6D7", +"/F. c #C2A8D8", +"(F. c #C2AAD8", +"_F. c #C1A9D7", +":F. c #C1A8D4", +"G. c #AF93C5", +",G. c #A182BA", +"'G. c #9877B8", +")G. c #B395CF", +"!G. c #D0BBE4", +"~G. c #D5C2E6", +"{G. c #D9CBE9", +"]G. c #DFD2EB", +"^G. c #8C7E9C", +"/G. c #615177", +"(G. c #523F69", +"_G. c #AF9EC6", +":G. c #A18CBA", +"H. c #EAE1F1", +",H. c #D6C5E4", +"'H. c #D8CAE6", +")H. c #C5B0D6", +"!H. c #B196C7", +"~H. c #B094C5", +"{H. c #AF92C5", +"]H. c #B194CD", +"^H. c #E3D7ED", +"/H. c #CEBFDC", +"(H. c #5C4A72", +"_H. c #B2A2C8", +":H. c #9F8AB9", +"I. c #A28FBC", +",I. c #8261A3", +"'I. c #744B98", +")I. c #764E99", +"!I. c #8D68AF", +"~I. c #B396CC", +"{I. c #C3ABD8", +"]I. c #C9B2DD", +"^I. c #CAB3DD", +"/I. c #CEB9DF", +"(I. c #DAC9E8", +"_I. c #DBCEE9", +":I. c #DED0E9", +"J. c #D9C9E7", +",J. c #D9CAE8", +"'J. c #DECFEA", +")J. c #E1D4ED", +"!J. c #E2D6EC", +"~J. c #E2D8EB", +"{J. c #BBA3CF", +"]J. c #BBA3CE", +"^J. c #B79ECC", +"/J. c #BEA4D8", +"(J. c #D7C8E8", +"_J. c #BCB1C9", +":J. c #887B99", +"K. c #BFA9D2", +",K. c #BCA3CE", +"'K. c #BAA1CD", +")K. c #B69ECB", +"!K. c #B399C8", +"~K. c #BA9FD4", +"{K. c #C6B5D7", +"]K. c #C4B8D0", +"^K. c #998CA7", +"/K. c #6F5D83", +"(K. c #584570", +"_K. c #C0B1D2", +":K. c #BDAFD1", +"L. c #D4C2E3", +",L. c #D5C4E3", +"'L. c #D8C8E6", +")L. c #DACCE8", +"!L. c #E4D8EF", +"~L. c #E5D8EF", +"{L. c #E6DAEF", +"]L. c #E7DCF1", +"^L. c #E7DEF1", +"/L. c #E7DFF1", +"(L. c #E8DFF2", +"_L. c #E9DFF2", +":L. c #EADFF2", +"M. c #C1ABD2", +",M. c #B397CA", +"'M. c #A485C1", +")M. c #C4ACDC", +"!M. c #E5DDEF", +"~M. c #CFC0DF", +"{M. c #705F86", +"]M. c #5D4A75", +"^M. c #5C4974", +"/M. c #C8BDD9", +"(M. c #8E6BB0", +"_M. c #A584C0", +":M. c #CDB9DD", +"N. c #8D7F9F", +",N. c #634F7B", +"'N. c #604D78", +")N. c #B59ACD", +"!N. c #D9CCE5", +"~N. c #DBCDE6", +"{N. c #DBCFE8", +"]N. c #E8DEF0", +"^N. c #E9DEF1", +"/N. c #EFE9F6", +"(N. c #F0E9F7", +"_N. c #F0EBF7", +":N. c #F1EDF7", +"O. c #66537F", +",O. c #DAD2E5", +"'O. c #CBB6DB", +")O. c #F0E9F4", +"!O. c #F2ECF5", +"~O. c #F1EBF4", +"{O. c #EFE8F2", +"]O. c #E1D6E9", +"^O. c #CEBDDC", +"/O. c #CBC4D5", +"(O. c #9184A4", +"_O. c #695682", +":O. c #685480", +"P. c #C9B5DB", +",P. c #C1A7DA", +"'P. c #C8B2DF", +")P. c #B89FD1", +"!P. c #8E7EA2", +"~P. c #74618D", +"{P. c #D4C9E0", +"]P. c #B49ACA", +"^P. c #B9A1CE", +"/P. c #D0BFDD", +"(P. c #B298CC", +"_P. c #776490", +":P. c #ECE9F1", +"Q. c #A496B8", +",Q. c #8B78A3", +"'Q. c #84709D", +")Q. c #A48FBF", +"!Q. c #B2A0C9", +"~Q. c #AE93C4", +"{Q. c #B8A0CE", +"]Q. c #C3AED6", +"^Q. c #CDBDDD", +"/Q. c #AC9DBD", +"(Q. c #907DA8", +"_Q. c #8873A0", +":Q. c #A38EBE", +" - - , , ' ) ) ! ~ { { ~ ! ! ) ) ' ' ] , , - - > = = . . @ ^ / ( _ ", +" : : - < , ) { [ } | 1 1 2 3 4 4 5 6 7 8 9 0 0 0 9 7 6 5 4 4 a 3 1 1 | | [ ~ ! ' , : b . $ c / _ d e ", +" ; - f g ! h } i 2 j k l m n o p q r s r s s t u u u u u u u u s s r q q p p o v w x 8 7 4 3 1 | y z A B = . $ c C d e ", +" f , g ! h D E F G H I J K L M N O P Q R S T U V W V X Y Z Z Z Z Z Z Z Z Y X V W ` . .. +. @. #. u s q p o w 0 5 a 1 $. ~ ' %. : . $ ^ &. d *. ", +" f , ) { | =. -. ;. >. ,. '. ,. ). !. ~. {. ]. ^. /. (. _. :. <. [. }. |. 1. 2. 3. 4. 5. 6. 7. 7. 8. 7. 7. 6. 5. 4. 9. 0. a. b. c. d. e. f. g. h. i. W j. .. k. #. s l. o w 7 m. 1 | ~ ' %. = . % / d n. o. ", +" p. ) { | 1 q. r. s. t. u. v. w. x. y. z. A. B. C. D. E. F. F. G. G. G. H. I. J. K. L. M. N. O. P. Q. R. Q. Q. Q. R. S. S. T. U. V. W. X. Y. Z. `. + .+ 8. 4. a. ++ d. f. g. Z W @+ k. #+ $+ %+ w 7 3 1 [ ~ A : . % &+ d o. o. ", +" p. ) { | *+ =+ -+ ;+ >+ ,+ '+ )+ !+ ~+ v. {+ {+ {+ ]+ ]+ ]+ ^+ ^+ /+ (+ _+ :+ <+ [+ }+ |+ 1+ 2+ 3+ 4+ 5+ 6+ 7+ 8+ 9+ 9+ 9+ 0+ a+ b+ c+ d+ e+ f+ g+ h+ i+ j+ k+ l+ Q. U. W. Y. m+ + n+ o+ p+ d. q+ h. X . r+ #+ q o 0 4 1 s+ ~ A : . % C d o. o. ", +" t+ u+ D v+ =. w+ x+ y+ z+ A+ B+ C+ D+ E+ F+ G+ G+ G+ H+ H+ I+ E+ J+ K+ L+ M+ N+ 7+ O+ P+ Q+ R+ S+ T+ U+ V+ W+ X+ Y+ Z+ `+ @ .@ +@ @@ #@ $@ %@ &@ *@ =@ -@ ;@ >@ ,@ '@ )@ !@ 0+ d+ f+ ~@ {@ ]@ Q. ^@ X. m+ /@ 8. a. (@ q+ h. W .. _@ s %+ 0 4 1 [ ! A = $ c _ n. o. o. ", +" :@ <@ [@ } *+ }@ |@ 1@ 2@ 3@ 4@ 5@ 6@ B+ 7@ 8@ 8@ 8@ 7@ 9@ 0@ A+ 6@ a@ b@ c@ d@ e@ U+ f@ g@ Y+ h@ i@ j@ k@ l@ m@ n@ o@ p@ q@ r@ s@ t@ t@ t@ u@ v@ w@ x@ y@ z@ A@ B@ C@ D@ E@ F@ G@ H@ $@ I@ J@ >@ '@ K@ 0+ e+ h+ L@ M@ N@ O@ Z. .+ 5. b. P@ g. X Q@ R@ s o 9 a i y ' B . % C e o. o. ", +" :@ S@ T@ *+ U@ V@ 1@ W@ X@ Y@ Z@ `@ # .# 5@ 5@ +# @# ## 4@ $# %# &# *# =# -# ;# ># ,# '# )# !# ~# p@ {# ]# ^# /# (# _# :# <# [# }# |# 1# 1# 2# 1# 1# 3# 4# 5# 6# 7# 8# 9# 0# a# b# c# d# e# f# g# h# i# F@ j# k# l# m# '@ !@ n# g+ {@ o# U. Y. p# 8. a. P@ g. V .. #. q q# 6 2 [ z %. r# $ &+ d o. o. o. ", +" s# t# v+ =. u# v# w# x# y# z# A# B# &# C# D# E# &# F# G# H# I# J# K# L# M# N# O# P# Q# R# S# T# U# V# W# [# X# Y# Z# `# $ .$ +$ @$ #$ $$ %$ &$ *$ *$ &$ &$ %$ $$ =$ -$ ;$ >$ ,$ '$ )$ !$ ~$ {$ ]$ ^$ 7# /$ ($ _$ :$ <$ [$ }$ |$ 1$ I@ 2$ 3$ 9+ e+ 4$ ]@ N@ X. 5$ 8. b. 6$ h. ` +. t %+ 0 3 s+ ~ A = $ ^ d o. o. o. ", +" 7$ 8$ 9$ 0$ a$ b$ c$ d$ e$ f$ g$ h$ A# A# A# A# i$ K# j$ k$ l$ m$ n$ o$ p$ q$ r$ s$ t$ u$ v$ w$ 2# Y# x$ y$ .$ z$ *$ A$ B$ C$ D$ E$ F$ G$ H$ I$ J$ K$ L$ K$ K$ K$ M$ I$ N$ O$ P$ Q$ R$ S$ T$ U$ V$ W$ X$ Y$ Z$ `$ % ~$ .% +% 9# @% #% $% %% }$ &% $@ *% =% !@ -% ;% >% U. ,% '% o+ (@ )% X .. #+ !% 0 m. | ~ A = $ ^ d o. o. o. ", +" ~% {% *+ ]% ^% /% (% _% :% <% [% y# }% |% |% }% 1% 2% 3% 4% 5% 6% 7% 8% 9% 0% a% b% c% d% e% f% g% h% i% j% k% l% E$ G$ m% n% o% p% q% r% s% t% u% v% w% x% y% x% x% x% v% v% u% t% z% A% B% C% D% E% F% G% H% I% P$ J% K% L% M% Y$ N% O% P% Q% R% @% d# <$ S% F@ #@ T% =% U% f+ {@ V% O@ W% 8. b. f. Z Q@ #. q w 4 | ~ %. = $ &+ e o. o. o. ", +" X% {% Y% Z% `% & .& +& @& #& $& %& && *& N# N# n$ =& -& ;& >& ,& '& )& !& ~& c% {& ]& f% ^& /& (& _& :& <& [& }& |& 1& r% 2& 3& 4& 5& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 7& 8& 8& 8& 8& 9& 0& a& b& c& B% D% d& e& f& g& T$ h& i& >$ % j& k& l& m& w@ S% |$ k# n& o& c+ ~@ >% p& Z. n+ a. 6$ Z Q@ #. q w a | ' - b $ / n. o. o. o. ", +" q& r& s& 4 t& u& v& w& x& y& #& c$ z& o$ z& A& B& C& D& E& F& G& H& I& J& K& L& M& N& O& P& Q& R& S& T& U& V& W& t% X& Y& Z& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 7& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 9& 3& b& `& * .* +* @* K% #* $* %* &* k& ** =* y@ -* ;* -@ >* 9+ g+ k+ U. ,* n+ a. 6$ Z Q@ #. p 0 3 $. ] : . c _ o. o. o. o. ", +" '* )* !* ~* {* ]* ^* /* (* _* :* <* [* }* }* q$ |* 1* 2* 3* 4* 5* 6* 7* 8* 9* 0* N& a* P& b* c* d* e* f* g* h* X& i* j* 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 7& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 9& k* l* m* n* o* p* q* $* r* .% R% s* v@ C@ t* u* ,@ v* g+ k+ U. Z. w* b. q+ X x* u y* 7 1 y A r# $ ^ e o. o. o. o. ", +" z* z* A* B* C* D* E* F* G* /* ]# H* y& I* I* J* K* L* M* N* O* 6* P* Q* R* S* T* U* V* W* X* Y* [& Z* `* = 4& 6& .= .= .= 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 5& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 9& += @= n* #= $= %= &= *= 6# == -= h# &% u* ;= 9+ >= ]@ V. `. 7. c. g. W k. s ,= 4 | ' B . @ C o. o. o. o. ", +" '= '= )= != ~= {= ]= ^= /= (= _= x& .& := <= 5* [= }= |= 1= 2= 3= 4= 5= 6= 7= 8= 9= 0= a= b= c= V& d= e= 6& f= f= g= .= .= j* 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 5& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 9& h= i= j= S$ #* >$ k= k& == $% S% t* =@ '@ a+ ;% l= O@ + m= P@ h. . #. p 0 n= [ A b $ ^ e o. o. o. o. ", +" o= o= p= q= r= s= t= u= v= w= x= y= z= z= A= B= 1= 1= C= D= E= F= G= H= I= J= K= L= M= N= O= P= Q= = Y& .= f= f= f= g= .= .= .= 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& R= S= T= J% W$ U= V= W= X= Y= }$ H@ ;@ Z= e+ j+ N@ ,* n+ b. `= V +. s ,= 4 | ' : - c _ o. o. o. o. o. ", +" .- .- +- @- #- $- %- &- *- =- -- ;- >- (* ,- '- )- !- ~- {- ]- ^- /- S* I= J= K= L= M= (- _- :- <- [- }- f= |- f= f= f= g= g= .= .= 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& R= 1- 2- p* 3- 4- j& 9# 5- %% 6- 7- ,@ 9+ h+ l+ O@ 8- 9. P@ 9- Q@ #+ p 8 1 ~ A . c / n. o. o. o. o. ", +" 0- a- a- b- c- d- e- f- g- =- w= h- i- j- k- l- m- n- o- p- q- r- s- I= 7= t- u- 0= v- w- x- y- [- Y& f= z- z- f= f= f= g= g= .= .= j* 6& 6& 6& 6& 6& 6& 6& 6& 6& Z& Z& Z& 7& 7& i* i* i* 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& i* i* 7& 7& Z& Z& 6& 6& Z& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& z% d& #= A- $* B- ^$ == C- D@ ;* ;@ D- e+ E- U. Z. 8. c. g. F- @. q w 3 [ ] r# $ ^ e o. o. o. o. o. ", +" G- H- 0- G- I- J- K- L- M- g- N- F* w= O- P- /- Q- Q- R- S- q- T- U- V- W- X- Y- Z- `- ; .; +; @; #; f= z- z- z- f= f= f= f= g= .= .= .= 6& 6& 6& Z& 7& i* 8& $; 9& %; %; 3& 3& 3& 3& &; &; &; *; *; *; *; *; *; *; *; *; *; *; &; &; 3& 3& 3& %; %; 9& $; 9& =; -; ;; 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& a& 1- 2- p* >; 4- .% /$ =* B@ &% =@ ,; '; i+ Q. Y. .+ p+ f. X +. s ,= 4 | ' : $ ^ d o. o. o. o. o. ", +" ); G- G- !; ~; {; K- ]; ^; *- /; (; W# w$ _; :; :; :; <; [; T- }; |; 1; 2; 3; 4; 5; v- w- x- 6; 7; 8; 9; 0; z- z- |- f= f= f= g= g= .= .= Z& i* $; %; 3& 3& *; a; b; c; 2& = = d; h* h* h* h* e; e; e; e; e; e; e; e; e; e; e; e; h* h* h* h* = = 2& c; a; a; f; g; h; k* i; j; -; ;; 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& k* k; H% l; m; ,$ &* n; o; p; q; %@ ,@ 9+ h+ o# O@ + m= e. Z .. u o 6 r; ~ B - s; _ o. o. o. o. o. o. ", +" ); ); t; u; v; w; x; y; ^; {= z; A; B; C; I= s- s- D; E; F; G; H; I; J; K; L; M; N; O; P; :- Q; R; S; T; U; z- z- |- f= f= f= g= g= Z& i* %; &; a; c; t% d; e; V; W; W; X; Y; Y; Y; Z; Z; r% `; `; `; `; `; `; `; `; `; `; `; `; `; `; `; `; Z; Z; Y; Y; Y; W; W; s% V; Y; l* z% h= += g; h; > j; -; 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& h; .> H% +> #* @> P% #> s* $> %> $@ >@ U% g+ ]@ &> 5$ 4. *> => Q@ #. p 7 1 ~ %. . c -> o. o. o. o. o. o. ", +" t; t; ;> >> ,> '> )> !> ~> e- {> {= ]> ^> /> (> I= I= _> :> U- <> [> }> |> 1> Y- 2> 3> 4> 5> 6> 7> 8> }- 9; 9> 9; z- z- f= f= f= 0> 7& %; w% t% e; W; X; Y; r% `; a> b> b> c> c> c> d> g* g* g* g* g* g* g* 1& 1& 1& 1& 1& 1& 1& 1& 1& 1& g* g* g* g* g* d> d> c> c> b> a> `; e> f> g> h> i> `& j> z% h= += h; > j; ;; 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& h= k> 2- S$ m; U= P% 7# s* l> -* #@ >@ m> f+ k+ V. W% 4. d. h. . #. p 9 n= y %. . c ( o. o. o. o. o. o. ", +" n> t; o> p> e- q> )> r> ~> s> t> *- u> T* v> w> (> (> x> y> G; z> A> B> C> D> E> Z- 3> F> G> H> I> J> K> f= L> U; z- z- |- f= .= Y& *; t% V; M> N> b> c> d> g* g* 1& 1& 1& p% p% p% p% O> O> P> P> P> Q> Q> Q> Q> R> R> R> R> R> R> R> R> V& Q> Q> Q> P> P> O> O> p% p% S> 1& 1& 1& T> U> * V> k; W> f> h> i> X> W; h= g; Y> 0& -; 8& 8& 8& 8& 8& 8& 8& 8& 8& Z> B% `> , T$ X$ &= P% ., +, $> @, $@ >@ m> f+ k+ V. `. 5. d. h. . #. p 9 n= y %. . c ( #, o. o. o. o. o. o. ", +" o> o> $, %, *$ &, *, =, -, s> &- ;, >, ,, ', v> ), ), !, ~, ~, {, ], ^, /, |> (, _, :, (- <, [, }, |, 1, 2, S; 9; 9; z- |- .= 3, c; s% 4, b> 5, 6, 1& p% p% O> P> V& R> o% 7, 7, 8, 9, |& |& |& |& |& 0, 0, 0, a, a, a, a, a, a, a, a, a, a, a, a, a, 0, |& |& |& |& 9, 8, 7, 7, o% R> Q> b, c, d, k> k> D% * .> k; B% e, i> X> z% f, h; 0& -; 8& 8& 8& 8& 8& 8& 0& `& g, H% g& A- h, %* i, 9# o; y@ %> j, >@ k, g+ ]@ &> 5$ 4. d. h. . #. p 9 n= y %. b c l, m, o. o. o. o. o. o. ", +" n, n, o, p, q, r, *$ s, )> y; t, u, v, U* w, x, ', y, y, 1; |; z, A, ], B, C, C, E> M; M= D, E, F, :- 6; G, @; H, I, J, K, L, M, N, 4, O, g* 1& p% Q> o% 8, 9, P, Q, a, a, n% n% n% R, S, T, T, U, V, V, V, U& U& U& U& W, W, W, W, W, W, W, W, W, W, W, U& U& V, V, V, S, T, T, R, X, n% a, a, Y, Z, `, ' .* d& .' d, d, k> D% * +' W> e, @' l* #' f; i; 9& 8& 8& 8& i; X> $' %' &' *' #* Z$ B- Q% =' =* [$ 6- -' ;' v* >' >% ,' 5$ 4. d. h. . #. p 9 n= y %. . c l, '' o. o. o. o. o. o. ", +" )' n, n, !' ~' {' ]' ^' /' (' _' ^; :' 8= <' [' }' ', |' z, z, 1' [> 2' ^, C, 3' (, u- 4' 5' O; 6' .; :- 7' 7> 8' 9' 0' 0' a' b' c' d' <- P> e' |& f' n% T, T, V, V, W, }& }& g' K$ h' h' h' i' M$ M$ M$ M$ M$ M$ M$ M$ M$ j' j' j' j' j' k' k' j' j' j' j' M$ M$ M$ M$ M$ M$ i' h' h' K$ g' }& W, U& l' H% e& m' n' G% G% `, ' `> o' .' d, k> D% +' W> e, X> l* h= g; g; #' h> i= Z, p' +> L% h, 4- &* q' b# $% S% t* =@ =% a+ r' o# O@ 8- 9. e. Z . #. p 8 1 y %. . s' l, '' '' o. o. o. o. o. ", +" t' )' u' v' w' x' y' z' /' A' B' C' D' D' E' <' x, }' F' {, [> z, G' B> B, C> 3' H' Y- I' J' K' (- L' F, x- M' N' O' P' I> Q' R' S' 7, T' U' T, V' W' K$ i' i' I$ k' k' N$ N$ N$ N$ e* X' X' X' Y' Y' Z' Y' [& Y' `' ) .) .) .) .) .) .) .) .) .) .) .) .) .) .) ) Y' [& Y' Y' Y' X' X' +) N$ N$ k' j' j' @) f& #) #) 2- +* H% H% e& $) G% %) `> F% .' c, d, k> &) +' W> q% W> .> *) G% f& R$ =) >; -) B- ;) /$ o; >) -* ,) J@ o& d+ i+ Q. X. '% ') 6$ )) @+ #+ y* 7 1 ~ %. . s' -> '' '' o. o. o. o. o. o. ", +" !) !) ~) {) x' ]) ^) ]' *, /) y; () _) 3; t- E' w, ,, :) <) [> I; 1' ], [) }) |) 1) 2) 3) 4) J' 5) 6) ; 7) F, 8) 9) 0) :- a) b) c) d) d) e) i' j' N$ X' [& Y' f) .) .) g) h) h) h) i) i) i) j) k) k) l) l) l) l) l) l) E$ E$ E$ E$ E$ E$ E$ E$ m) m) E$ E$ E$ E$ E$ l) l) l) l) k) n) j) j) h) h) h) g) .) .) h) o) #= #= &' , p) f& f& #) q) r) H% e& s) t) n* `, `> .' .' b, b, u) .* e& , v) w) x) y) r* j& z) == A) B) F@ %@ >@ C) f+ E- D) ,* n+ b. `= X E) s v 5 i z B - c F) '' '' o. o. o. o. o. o. ", +" G) G) H) I) J) K) {' L) M) N) O) P) Q) R) S) T) U) w, V) B> }> I; I; [> [) ^, C> C> W) 2) (, I' X) 5' K' Y) 4> Z) `) ! .! +! 8) @! #! $! %! &! g) *! n) m) =! =! =! -! -! -! <& ;! ;! ;! ;! ;! ;! D$ >! ,! '! '! '! '! '! '! '! )! )! )! )! )! )! )! )! )! )! )! )! '! '! '! '! ,! D$ D$ ;! ;! ;! <& !! =! =! E$ E$ ~! {! ~! Q$ Q$ ]! ]! ]! ^! #= o* /! p' f& (! q) +* H% e& e& e& l' e& _! :! #= <) I; I; g! h! |> C> i! j! 2) Y- k! M; l! N; 5' m! K' n! F> o! p! ! q! r! m) -! s! t! u! v! w! w! w! C$ w! x! y! x! y! y! z! z! z! z! z! z! A! B! B! B! B! B! B! B! C! C! C! C! C! C! C! C! C! C! C! C! B! B! B! B! z! z! y! z! x! x! C$ C$ w! D! D! )! E! p* F! G! S$ l; l; +> R$ R$ H! Q$ @* I! P$ ^! ^! J! o* K! L! L! o* o* ^! ~! p* A- M% $* 4- M! Q% N! O! $% P! Q! 7- m# C) e+ L@ Q. Y. '% m= P@ 9- . #. !% 0 3 [ R! = $ 3! S! '' '' o. o. o. o. o. o. ", +" T! U! V! W! X! ]) Y! Z! `! ~ .~ +~ @~ Q) R) t- E' #~ $~ |> %~ }> I; {, {, ], &~ 2' *~ =~ -~ S) 2) Y- ;~ k! I' 4' l! J' 3> >~ 6) ,~ ,~ ,~ '~ )~ !~ ~~ {~ ]~ ^~ ^~ ^~ /~ /~ /~ ^~ ^~ ^~ ^~ ^~ ^~ ^~ ^~ ^~ (~ (~ (~ k% k% k% k% k% k% k% k% k% k% k% k% _~ _~ _~ k% k% k% k% k% k% k% (~ ^~ :~ :~ (~ ^~ ^~ ^~ /~ /~ <~ <~ <~ A! $= [~ U$ w) w) }~ |~ |~ 1~ T$ F! F! S$ 2~ ; ;$ 4- ~$ ;) n; 7~ 8~ %% 9~ ,) -@ '@ 0~ h+ ]@ V. a~ w* b. `= X E) u F 7 1 y A b c l, m, '' '' o. o. o. o. o. o. ", +" b~ T! c~ v; d~ ]~ (~ {' 0! e~ f~ +~ g~ h~ R) i~ T) j~ k~ $~ B> }> [> l~ m~ {, ], n~ <) o~ p~ =~ X- j! t- 3; q~ r~ s~ I' _, 0= 5; N; t~ N; u~ v~ _~ w~ ^) A$ A$ x~ x~ x~ x~ x~ x~ x~ x~ x~ x~ x~ x~ x~ x~ x~ y~ y~ y~ y~ j% j% j% j% j% j% j% j% j% j% j% j% j% j% j% j% j% j% j% j% y~ y~ x~ x~ x~ x~ x~ A$ A$ _& _& z~ w~ z~ _~ A~ B~ C~ D~ D~ E~ L% F~ F~ A- [~ U$ U$ w) $= $= G~ |~ T$ T$ T$ |~ |~ U$ A- C~ M% h, H~ )$ M! ;) I~ == =* p; }$ t* u* >@ C) e+ J~ Q. K~ 8- 4. d. L~ ` @. $+ M~ 4 i z B N~ c -> '' '' '' '' o. o. o. o. o. ", +" O~ O~ P~ Q~ R~ C! ]) 9! S~ T~ U~ V~ c! u- W~ i~ T) X~ Y~ Z~ |> <) [> 1' |; |; 1' {, `~ |' (> W- o~ 7= ,, ,, [' { K; L; .{ 9= +{ @{ _, #{ #{ ${ W* z' z' z' %{ &, &{ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ &$ &$ *{ *{ &$ &$ ={ ={ -{ -{ ;{ ;{ j% >{ X$ ,{ M% M% m; m; W$ W$ q* '{ '{ '{ C~ C~ D~ D~ D~ D~ D~ ){ '{ !{ m; ~{ {{ ;$ ]{ % P% Q% I~ ^{ d# <$ /{ |$ %@ n& 3$ a+ h+ ({ U. ,* _{ a. 6$ Z @+ #. p 0 a [ ] = $ 3! :{ '' '' '' '' o. o. o. o. o. ", +" <{ [{ }{ |{ 1{ 2{ ]~ (~ 3{ 4{ 5{ 6{ +{ u- Q) R) i~ 7{ Y~ }) ^, B> [> 1' |; 8{ H; |; <> y> s- 9{ I= 0{ a{ (> T* v> 7= 2; b{ t- c{ _) d{ d{ h~ e{ r~ f{ g{ g{ h{ +$ i{ i{ i{ i{ i{ j{ j{ k{ @$ @$ @$ @$ @$ @$ @$ @$ @$ @$ @$ @$ k{ k{ k{ k{ k{ k{ k{ k{ k{ k{ k{ k{ k{ k{ k{ k{ k{ k{ @$ @$ @$ @$ @$ @$ @$ @$ M) M) l{ l{ l{ m{ 0! $$ $$ $$ n{ h, o{ {{ {{ p{ p{ q{ i& r{ >; >; >; s{ s{ t{ X$ X$ X$ s{ >; r{ u{ v{ -$ y) &= w{ x{ y{ ^$ z{ == d# <$ S% F@ A{ T% >* 9+ f+ L@ Q. B{ 5$ 5. c. g. V +. s o 6 1 ~ A b c C{ D{ '' '' '' '' o. o. o. o. o. ", +" [{ E{ F{ N) G{ d~ <~ ]) y' H{ v- U~ +~ @~ h~ R) i~ k~ I{ k~ $~ ], <) 1' |; J{ }; }; G; K{ R- L{ R- M{ M{ M{ N{ O{ P{ T* W- Q{ J= R{ S{ b{ T{ U{ V{ /& W{ W{ X{ $ X{ Y{ Z{ W{ W{ W{ `{ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ ] ] h% h% .] h% h% .] h% ~ ~ ~ ~ ~ +$ i{ i{ =, +] y) ;$ @] @] ;$ @] @] #] $* -$ $] %] %] %] %] %] $* &] @] y) H~ &= ]{ w{ x{ P% ]$ 6# N! 7~ =* <$ S% q; A{ -@ ,@ C) *] i+ M@ V. a~ n+ a. =] => j. #. q -] m. s+ ' B - c ( '' '' '' '' '' o. o. o. o. o. ", +" ;] >] ,] '] )] !] ~] ]) {] ]] H{ ^] ${ c! h~ c{ L; /] (] /, }) B> [> I; |; _] :] <] [] <] D; R* /- /- /- /- /- _; }] 0* 6= |] 0{ T* 1] 2] W- 7= 3] Q{ 4] `# 5] 6] 7] 6] 8] 9] 9] `# `# `# 0] a] b] b] b] b] b] b] b] b] b] b] c] c] c] c] c] c] c] c] c] c] c] c] c] c] c] c] c] c] c] c] c] b] b] b] d] d] ^& ^& ^& ^& ^& ^& X{ Y{ Y{ Y{ Y{ W{ W{ Y{ ]{ ]{ ]{ ]{ ,$ ,$ &= ,$ ,$ U= U= U= U= U= U= U= ,$ ,$ ]{ ]{ 4- %* r* e] f] g] h] i] j] l& O! =* <$ h# %> H@ =@ k] Z= d+ ~@ ({ U. ,% /@ o+ l] g. V E) u o 7 1 y A r# $ 3! m] '' '' '' '' '' o. o. o. o. o. ", +" >] n] o] p] q] r] y! s] t] u] v] 5{ w] c! x] _) Y- y] z] Y~ C> |> <) 1' |; G; A] [] F; F; ^- B] C] B] D] B] 4= E] R* F] G] _; }] M{ H] I] J] K] K] L] K] K] M] N] O] N] P] Q] R] Z# ]; ]; S] S] T] U] T] T] V] V] 7] 7] 7] 7] 7] 7] 7] 6] 6] 6] 6] 7] 7] 7] 7] 7] 7] 7] 7] 7] 7] 7] 7] 7] 7] 7] 7] 7] 7] 6] 6] 6] 6] 6] 8] 8] 9] 9] 9] `# `# `# `# `# a] W] % t, % % w{ w{ w{ w{ )$ )$ )$ )$ w{ w{ w{ w{ r* % X] !$ f] ~$ P% y{ Y] Z] q' `] @% +, 8~ y@ ^ .^ ,) +^ >@ )@ '; >= @^ #^ K~ 5$ 7. b. f. Z . _@ q ,= 6 | ' B . c l, $^ '' '' '' '' '' o. o. o. o. o. ", +" n] %^ &^ *^ =^ 1{ -^ y! ;^ >^ ,^ '^ 5) ${ @~ Q) )^ !^ z] ~^ k~ |> <) I; H; ~, <] T- {^ ]^ ^^ !- /^ /^ (^ (^ Q* _^ _^ 8* B] :^ <^ R* F] F] [^ G] }^ }^ }^ |^ [^ X# 1# 1^ 2^ 3^ 4^ u> u> 5^ 5^ O] O] O] O] N] N] N] N] 6^ N] N] N] P] P] P] 7^ 7^ 7^ 7^ P] P] P] P] P] P] P] P] P] P] P] P] P] P] P] P] P] P] P] Q] Q] Q] 8^ 8^ 8^ Z# Z# Z# Z# Z# Z# Z# ]; S] 8^ f] f] f] f] f] f] f] 9^ f] f] 9^ 9^ f] f] ~$ 0^ ~$ M! *= a^ y{ b^ c^ d^ +% e^ `] f^ O! 5- g^ g# h^ q; ,) *@ >@ i^ 0~ f+ {@ Q. ,' m+ w* a. e. h. F- j^ k^ y* 9 n= [ A r# $ 3! :{ '' '' '' '' '' '' o. o. o. o. o. ", +" %^ l^ m^ n^ =^ G{ r] -^ o^ p^ 4> H{ q^ r^ c! s^ d! t^ u^ v^ w^ Z~ A> 1' 8{ :] <] x^ y^ z^ A^ B^ C^ D^ E^ J& J& F^ D^ D^ G^ H^ 3= I^ J^ K^ K^ K^ L^ K^ K^ M^ N^ O^ P^ <# [# 3# }# }# 1# 1# 2# 2# 2# X# 2^ X# 2^ Q^ Q^ 3^ 3^ 3^ 4^ 4^ 3^ 3^ 3^ 3^ 3^ 3^ 3^ 3^ 3^ 3^ 3^ 3^ 3^ 4^ 4^ 4^ 4^ 4^ 4^ 4^ 4^ 4^ 4^ 4^ 4^ 4^ 4^ 4^ R^ u> u> u> u> u> u> u> u> u> e% 5^ 5^ 5^ t> {$ {$ {$ {$ {$ {$ {$ {$ {$ {$ S^ S^ y{ y{ b^ T^ U^ ]$ ;) Z] V^ W^ z) n; X^ Y^ O! Z^ e# <$ B@ i# Q! 1$ *@ >@ o& 0~ f+ {@ o# V. Z. `^ m= l] g. / .. ./ q w 4 | ~ B . c C{ m, '' '' '' '' '' o. o. o. o. o. o. ", +" %^ +/ @/ #/ $/ =^ 1{ %/ &/ */ u] =/ -/ ;/ ${ P) >/ ,/ u^ '/ Y~ Z~ )/ *~ !/ :] <] ~/ ^^ z^ {/ ]/ C^ ^/ // ^/ (/ _/ _/ // // // :/ :/ t* $@ e/ >@ o& 0~ f+ f/ M@ U. ,% + 5. c. `= Z Q@ R@ s g/ 7 1 h/ A B $ 3! :{ '' '' '' '' '' '' o. o. o. o. o. o. ", +" +/ +/ i/ j/ k/ k/ G{ l/ m/ n/ o/ =/ p/ ;/ q/ r/ s~ s/ t/ z] Y~ }) f! I; 8{ }; <] u/ q- v/ w/ x/ y/ z/ z/ A/ A/ A/ A/ B/ B/ C/ C/ D/ D/ E/ F/ F/ F/ G/ H/ H/ I/ I/ J/ K/ i- i- h- L/ M/ /= _# N/ O/ O/ P/ 5/ 5/ 5/ 7/ 7/ 7/ 7/ 7/ Q/ <# <# R/ <# <# <# <# <# 8/ S/ S/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 9/ 9/ 9/ 9/ 9/ [# [# [# 9/ 9/ 9/ 9/ 9/ 9/ T/ U/ W= 6# 6# 6# 6# 6# W= W= q' q' q' z) e^ e^ n; n; V/ N! W/ [! Y^ 7~ O! X/ Y/ e# Y= z@ h# i# F@ j# %@ Z/ ,@ )@ a+ f+ f/ M@ U. X. `/ 7. b. 6$ => ` +. u p 9 3 | ' %. b c l, $^ '' '' '' '' '' '' o. o. o. o. o. ", +" ( ( .( +( =^ k/ q] @( #( n/ o/ $( H{ ^] q/ %( @~ &( *( !^ I{ k~ f! <) 8{ :] y> ~/ =( -( ;( >( ,( B/ N* H& '( )( )( '( '( !( !( !( ~( ~( )& ~( )& ~( {( {( {( ]( {( {( ^( (= /( (= (( /* _( :( i- h- V# V# V# O- M/ M/ <( /= _# _# _# _# _# W# W# 4/ 4/ 4/ 4/ 4/ 4/ 4/ O/ O/ O/ O/ O/ 4/ O/ O/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ [( [( 5/ 5/ P/ P/ [( [( [( [( [( [( }( }( |( `] 9# n; z{ V/ 9# `] `] 1( /$ /$ /$ 2( l& ** ** Y^ ^{ 7~ 3( 4( #% 5( 6( $% x@ g# 7( }$ 6- 8( A{ u* n& =% D- 9( g+ f/ M@ U. X. 5$ 8. a. e. h. V E) #+ l. ,= 4 i ! A : $ 3! 4! '' '' '' '' '' '' '' o. o. o. o. o. ", +" p, 0( a( b( c( k/ =^ d( e( f( g( h( H{ 5{ 5' i( j( k( s/ u^ l( w^ |> <) z, _] [] ~/ q- m( n( ]/ o( L* !( p( q( r( r( q( F& r( F& F& F& '& s( t( u( 3* v( w( w( w( x( x( y( z( z= A( B( C( D( y= /( E( F( (= (= x= /* /* _( _( _( :( i- i- :( i- i- i- i- i- h- h- h- (# (# V# V# V# V# V# V# V# V# V# G( G( H( O- O- O- O- O- V# V# G( G( V# V# L/ V# V# V# V# V# V# V# V# V# (# V# I( ** ** a# a# Y^ Y^ Y^ Y^ Y^ @% 7~ 7~ J( 3( O! 4( +, K( 5- =* :$ L( x@ y@ [$ P! M( N( G@ 1$ O( T% >@ P( U% d+ Q( L@ M@ U. X. 5$ 8. a. P@ R( / @+ #. q v 7 n= h/ ' B - c ( '' '' '' '' '' '' '' '' o. o. o. o. o. ", +" p, S( T( U( V( k/ W( :- X( Y( Z( =/ `( ;/ _ ._ k( k( ,/ y] I{ $~ %~ z, +_ y> ]^ @_ ^- #_ $_ %_ &_ G& *_ '& =_ -_ ;_ >_ ,_ '_ '_ )_ E& E& !_ E& !_ !_ !_ ~_ {_ ]_ ]_ 9% ^_ s$ /_ (_ __ :_ .& ]# A( B( C( C( C( <_ y= y= /( /( /( /( E( F( F( (= (= (= (= (= [_ [_ /* [_ [_ x= (= E( }_ }_ |_ 1_ 2_ 3_ 4_ 4_ 4_ 5_ 5_ 5_ 5_ 5_ 5_ 5_ 4_ 4_ 3_ 2_ 2_ }_ }_ 6_ F( F( (= /* /* /* /* 7_ 1_ 3( 3( 3( 3( O! O! s* 4( 4( +, 8_ #% #% Z^ 5( =* 6( A) $% 9_ <$ p; 0_ B) a_ i# .^ b_ ;* c_ =@ d_ e_ o& 9+ e+ h+ f_ l= U. X. 5$ 8. ') d. g. Y Q@ @. s o 9 n= | ! g_ b % 3! S! '' '' '' '' '' '' '' '' o. o. o. o. o. ", +" h_ i_ j_ k_ k/ k/ l_ m_ n_ n/ o/ o_ H{ p_ q/ q/ 4> q_ r_ !^ ~^ 7{ )/ I; ~, y> !, s_ m( ;( t_ u_ v_ '( =_ =_ w_ x_ y_ z_ >& A_ B_ C_ z_ D_ E_ F_ G_ 7% H_ I_ I_ J_ I_ K_ L_ M_ N_ O_ p@ P_ Q_ q@ R_ (_ {# :_ S_ T_ U_ U_ V_ A( B( B( A( B( W_ T# T# T# W_ C( X_ Y_ __ Z_ `_ : .: +: X/ #% #% o; @: @: 5- 5- 5- 5- 5- m& m& m& m& m& m& m& m& m& #: o; o; #% o; X/ X/ c# $: %: &: *: Y_ Y_ X/ Z^ Z^ Z^ 5- 5- Y/ =: =* =* -: 8~ e# $% C- v@ Y= <$ y@ ;: [$ 7( C@ }$ >: 6- &% ;* ,: *@ J@ ': '@ D- a+ f+ ;% ): l= p& !: 5$ 8. ') d. )% Z . @. t %+ 0 m. | ~ A = $ c F) '' '' '' '' '' '' '' '' '' o. o. o. o. o. ", +" ~: {: ]: ^: /: (: _: :: <: q! g( h( [: ^] }: i( |: ,^ 1: !^ 2: k~ 3: 4: 5: <] 6: 7: m( #_ 8: 9: 0: a: |* -_ y_ b: c: d: 6% e: f: 6% g: h: 5% i: j: -& k: i: i: l: m: n: m: l: o: p: q: r: n@ s: t: u: p@ v: <* P_ Q_ r@ R_ R_ (_ {# __ __ __ w: x: y: +: z: A: 6( :$ :$ :$ :$ :$ :$ :$ 6( -: -: -: -: -: -: -: -: -: -: =* =* =* =* =* =* =* =* =* =* -: -: 6( 6( 6( 6( :$ :$ :$ A) A) B: :$ 6( e# e# e# C: L( $% L( v@ v@ w@ <$ l> y@ p; ;: D: E: 7( S% h^ M( @, N( F@ t* H@ F: +^ Z/ G: =% o& U% d+ g+ J~ ({ Q. V. ,% 8- 7. ') d. H: Z j. I: u p 0 m. E h/ J: B - s' 3! m, '' '' '' '' '' '' '' '' o. o. o. o. o. o. ", +" K: L: M: N: O: J! P: Q: H> f( Y( Z( R: 5{ S: q/ T: T: `( U: z] w^ $~ J; :) 1; ~/ q- -( V: W: X: Y: Z: F& `: `: d: < .< +< @< #< $< @< j: %< &< *< =< =< -< ;< >< 3% >< ,< >< '< )< !< ~< {< ]< ^< /< (< _< n@ :< ~# o@ t: v: v: << [< }< |< 1< Y= <$ $> 2< 2< <$ Y= Y= Y= w@ w@ v@ 3< g^ g^ g^ g^ g^ $% $% $% $% $% $% 4< 4< 4< 4< 4< 4< 4< 4< 4< $% $% g^ g^ g^ g^ g^ C- v@ v@ w@ f# x@ Y= 5< x@ x@ <$ l> 6< y@ y@ 7< ;: ;: %% %% [$ B) B) 8< S% h^ }$ -* %> 6- &% t* j# A{ O( =@ Z/ G: 9< 0< C) a+ a< h+ E- M@ N@ ,' Z. + 7. a. P@ 2! Z j. r+ u !% w 5 r; $. ' B b s' 3! S! '' '' '' '' '' '' '' '' '' o. o. o. o. o. ", +" L: K: b< c< d< /! /! e< f< g< n/ h< o_ i< ;/ j< T: k< l< r_ !^ I{ $~ )/ :) m< n< o< -( ;( p< q< r< s< t< B_ u< < e: h: v< w< x< -< y< z< A< B< C< D< E< F< F< F< G< H< G< I< n$ J< K< L< M< N< O< P< {< {< ]< ]< !# r: !# Q< R< >) %% E: S< T< [$ D: g# ;: ;: U< p; p; y@ y@ y@ y@ V< V< V< V< W< W< W< W< W< X< X< X< X< X< X< X< >) >) >) >) >) >) >) >) X< W< V< W< V< V< Y< p; p; p; y@ p; p; 7< ;: ;: g# D: D: B@ E: 7( P! S% S% Z< }$ M( -* -* %> q; |$ &% t* ;* A{ %@ u* e/ `< >@ =% 0< C) 0~ -% g+ f/ ({ l= [ B{ Z. .+ 6. .[ P@ g. Z +[ k. u !% ,= 5 @[ s+ ~ #[ r# % $[ 4! '' '' '' '' '' '' '' '' '' '' *. *. o. o. o. ", +" %[ &[ *[ =[ -[ ;[ >[ ,[ n_ q! g( h( '[ )[ }: ![ ~[ {[ s/ S: ][ ^[ H' /[ ([ n< :> _[ V: t_ :[ <[ s< [[ y_ }[ e: v< @< $< x< |[ k$ 1[ 2[ 3[ 4[ 5[ 6[ 7[ 8[ 9[ 0[ a[ b[ c[ d[ e[ M# f[ N# g[ N# h[ h[ i[ N< j[ O< O< k[ l[ m[ }$ -* }$ /{ C@ S% h# 7( 7( n[ B@ B@ o[ o[ D: D: %% %% g# g# g# p[ q[ q[ r[ r[ r[ r[ r[ r[ r[ s[ s[ s[ s[ r[ r[ r[ r[ r[ r[ r[ r[ r[ r[ r[ %% %% %% %% D: D: o[ D: D: t[ t[ n[ 7( u[ h# ^ /{ /{ /{ v[ w[ -* %> x[ q; y[ z[ A[ t* j# H@ #@ %@ u* =@ *% B[ ;' C[ o& C) D[ d+ E[ r' j+ F[ S. G[ H[ `. n+ 4. b. e. I[ Y j. r+ u J[ M~ 5 K[ | L[ #[ M[ $ c N[ m, '' '' '' '' '' '' '' '' '' o. *. *. o. o. o. ", +" O[ P[ Q[ R[ _: /: S[ T[ U[ f( Y( V[ R: W[ }: X[ Y[ k< Z[ t^ _ w^ `[ 4: } y> 6: _[ ;( .} q< +} Z: @} #} $} h: 4% %} &} *} =} 2[ -} ;} >} ,} '} '} ,} ,} G# )} )} !} i$ ~} J# {} c[ }% e[ M# ]} ^} /} /} ^} (} _} :} |$ |$ q; %> %> >: <} [} }} }$ |} 1} 1} /{ 2} 2} S% ^ ^ 3} 3} 4} 3} 3} 4} n[ 5} n[ n[ 6} 6} 6} 7} 7} 7} 7} 7} 7} 7} 7} 7} n[ n[ n[ n[ n[ 4} 4} l[ 4} 4} 4} 4} 3} 3} 8} 8} 9} 2} /{ 1} 1} |} [} 0} 0} E@ E@ .^ .^ 6- F@ a} b} c} ;* H@ #@ d} e} I@ f} T% d_ >@ ;= '@ )@ m> g} *] f+ |! {@ h} i} U. K~ Z. 8- w* m= j} 6$ k} X . I: u J[ M~ 5 K[ | L[ A M[ l} c m} m, '' '' '' '' '' '' '' '' '' '' o. n} *. *. o. o. ", +" o} p} q} r} C! /! s} t} f< u} &/ h< v} i< w} 5{ x} y} T: z} A} B} $~ )/ :) C} D} E} F} .} q< G} H} I} J} K} L} $< &} M} N} O} P} Q} R} S} T} U} V} W} X} Y} Z} `} F# | .| +| @| #| ~} J# {} $| $| %| &| *| 1$ 1$ H@ ;* c} b_ =| F@ F@ -| ;| .^ >| x[ >| ,| 0} [} }} }} }} '| '| |} |} )| m[ m[ 1} 1} m[ m[ m[ m[ !| !| !| !| !| !| !| !| ~| ~| ~| !| !| !| !| )| |} 1} )| |} |} {| '| '| '| '| [} 0} 0} ,| E@ E@ >| ]| .^ -| -| a} Q! b_ b_ c} ;* ^| 1$ /| k# u* (| _| T% n& >@ ,@ '@ 0< Z= k, 9( e+ f+ :| <| k+ o# S. ,' H[ `. .+ 7. a. [| q+ h. X . @. t q M~ 5 K[ $. y R! : N~ s' 3! D{ '' '' '' '' '' '' '' '' '' '' '' n} n} n} *. *. ", +" }| || 1| 2| 3| }& 4| ,[ 5| f( g( 6| '[ 7| 4{ 8| Y[ {[ 9| t/ v^ ^[ )/ :) 0| a| @_ F} b| 9: c| Z: d| e| f| g| $< h| k$ N} -} Q} i| S} U} j| k| l| m| m| n| o| p| q| r| q| s| r| t| +| `} u| #| Y@ V+ v| f} u* e} ,: /| w| 1$ ;* ;* c} b} b_ Q! Q! x| F@ F@ y| ]| z| z| z| >| >| _} 0} 0} 0} 0} A| 0} 0} [} B| B| B| B| B| B| '| '| '| '| '| '| '| '| B| A| B| B| B| B| A| A| 0} 0} 0} C| >| >| >| ]| ]| ]| D| -| D| E| a} F| b_ b} G| H| H| I| J| K| ,: L| L| u* -@ Z/ ;@ M| k] e_ P( o& C) 9+ c+ e+ N| h+ J~ O| M@ P| V. B{ Z. p# Q| 4. p+ R| `= => S| @+ _@ T| !% w U| 2 | y R! = V| s' 3! m] '' '' '' '' '' '' '' '' '' '' '' '' n} n} n} *. *. ", +" W| X| Y| Z| P: `| 1 .1 +1 f( Y( V[ @1 #1 w} $1 x} k< %1 &1 y] *1 3: 4: m< =1 o< -1 ;1 W: Y: H} I} J} >1 ,1 -< M} '1 )1 Q} !1 ~1 {1 ]1 l| ^1 m| /1 (1 _1 :1 <1 [1 }1 |1 11 21 p| 31 41 51 61 71 81 91 01 -@ =@ a1 b1 L| c1 /| /| K| I| d1 e1 G| H| c} f1 f1 b_ g1 F| =| E| E| E| h1 ]| ]| -| ]| ]| >| >| z| i1 i1 i1 i1 i1 i1 i1 i1 i1 i1 i1 i1 i1 i1 i1 i1 z| z| z| z| i1 j1 h1 h1 D| D| D| D| D| k1 g1 F| F| l1 m1 n1 G| o1 ;* ,) p1 p1 q1 ,: v| r1 s1 (| _| T% ;@ B[ t1 ;= ,; u1 )@ C) v1 '; e+ f+ |! f/ @^ >% w1 p& x1 y1 1! /@ z1 0. A1 e. )% Z ` @+ _@ T| !% w U| 2 | y J: = . s' 3! F) '' '' '' '' '' '' '' '' '' '' '' '' o. n} n} n} n} *. ", +" B1 C1 D1 E1 d~ k' 4| F1 f< X( &/ h< v} i< w} G1 H1 I1 {[ J1 U: B} $~ <) 5: K1 L1 M1 N1 O1 P1 Q1 R1 S1 T1 U1 V1 k$ N} -} W1 X1 Y1 Z1 `1 2 .2 +2 @2 #2 $2 }1 %2 &2 *2 =2 -2 ;2 >2 ,2 '2 )2 !2 ~2 {2 ]2 ^2 {2 /2 (2 T% _| _2 :2 L| r1 <2 v| [2 q1 p1 p1 d1 I| }2 e1 H| G| G| *| |2 m1 12 22 22 22 32 22 42 42 42 g1 g1 k1 k1 k1 52 k1 k1 k1 k1 k1 k1 k1 k1 52 52 k1 k1 g1 42 42 42 22 22 62 12 12 12 12 72 82 e1 e1 e1 }2 }2 I| p1 92 q1 02 a2 b2 b1 c2 d2 e2 f2 /2 M| g2 h2 i2 j2 i^ Z= k2 D[ l2 m2 f+ :| 4$ j+ ({ w1 n2 ,' o2 m+ + `^ p2 a. d. q+ g. q2 +[ r2 #. s y* w 7 K[ | y ' = . s' 3! F) '' '' '' '' '' '' '' '' '' '' '' '' '' n} n} n} n} n} ", +" s2 t2 u2 v2 w2 O' 4| ,[ 5| f( x2 6| '^ 7| ]] y2 8| z2 9| A2 _ 7{ B2 :) }; ~/ _[ C2 8: D= D2 E2 F2 G2 H2 I2 =} J2 3[ i| K2 L2 M2 N2 O2 P2 _1 Q2 R2 S2 T2 U2 -2 V2 V2 W2 X2 Y2 4+ Z2 `2 3 .3 +3 @3 #3 $3 %3 g2 G: B[ ;@ &3 *3 *3 e2 d2 L| L| b2 <2 02 [2 q1 =3 =3 I| I| }2 -3 ;3 ;3 >3 ,3 ,3 ,3 82 '3 '3 '3 '3 '3 '3 '3 '3 '3 '3 )3 )3 )3 )3 !3 !3 !3 !3 '3 '3 '3 '3 '3 '3 '3 '3 ,3 ,3 ,3 ,3 ,3 ~3 ~3 {3 ;3 {3 =3 {3 [2 q1 [2 a2 b2 ]3 :2 d2 _2 ^3 f2 !2 /3 (3 g2 _3 i2 :3 i^ <3 [3 }3 |3 9( m2 13 >= 4$ 23 33 43 R. p& B{ y1 5$ 53 7. m= b. P@ `= h. V Q@ 63 #. s %+ w 73 3 $. y ] = . s' s; 83 '' '' '' '' '' '' '' '' '' '' '' '' '' '' n} n} n} n} n} ", +" 93 03 a3 b3 c3 S[ 1 .1 d3 e3 n/ V[ @1 #1 #1 f3 H1 g3 T: h3 i3 7{ j3 k3 l3 m3 7: x/ .} 9: n3 o3 p3 q3 r3 s3 M} t3 u3 v3 w3 Z1 x3 y3 +2 z3 A3 B3 S2 C3 D3 E3 F3 G3 G3 H3 I3 J3 K3 L3 M3 N3 O3 P3 3 Q3 R3 S3 S3 T3 U3 _3 (3 V3 W3 X3 f2 f2 f2 e2 Y3 c2 ]3 ]3 b2 <2 Z3 [2 [2 [2 `3 =3 =3 =3 {3 ~3 ~3 ~3 ~3 ~3 ~3 4 4 4 >3 >3 >3 >3 ,3 ,3 ,3 ,3 >3 >3 >3 >3 >3 >3 >3 ~3 4 ~3 ~3 ~3 {3 .4 `3 .4 `3 `3 `3 [2 [2 a2 +4 ]3 ]3 @4 c2 c2 #4 e2 $4 f2 f2 X3 %4 V3 &4 T3 *4 =4 -4 ;4 >4 ,4 '4 )4 !4 m2 13 :| ~4 {4 @^ ]4 ^4 ^@ /4 X. (4 _4 w* 4. a. d. 6$ g. i. ` Q@ @. u $+ o 0 4 :4 $. ~ A = . s' s; 83 m, '' '' '' '' '' '' '' '' '' '' '' '' '' o. n} n} n} n} n} ", +" <4 [4 }4 |4 ]' 14 24 34 44 54 &/ h< v} 64 74 84 94 04 a4 b4 A2 c4 d4 X~ e4 a| o< f4 g4 h4 r< i4 j4 G2 k4 l4 m4 n4 o4 ,} U} M2 N2 .2 P2 Q2 B3 p4 q4 D3 r4 s4 t4 u4 v4 w4 x4 y4 z4 A4 B4 C4 D4 N3 E4 F4 2+ 3+ G4 H4 *4 I4 J4 U3 T3 g2 K4 %4 /3 X3 L4 f2 $4 $4 e2 {2 #4 c2 M4 N4 N4 81 +4 <2 <2 a2 O4 O4 P4 P4 P4 P4 `3 `3 `3 .4 Q4 Q4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 `3 `3 R4 R4 P4 P4 P4 S4 T4 +4 +4 +4 +4 U4 N4 @4 #4 #4 V4 W4 X4 X4 L4 !2 Y4 Z4 %4 `4 5 .5 +5 @5 8+ #5 $5 %5 ,4 &5 l2 !4 *5 =5 -5 ;5 >5 ,5 '5 w1 )5 !5 ~5 ,* 5$ {5 z1 o+ ]5 R| `= h. / . E) _@ u !% v 9 4 E $. ~ A = . s' s; 83 m, '' '' '' '' '' '' '' '' '' '' '' '' '' '' n} n} n} n} n} ", +" ^5 }4 /5 (5 W, _5 :5 F1 <5 q! g( h( '^ 74 [5 }5 |5 15 25 Z[ 35 45 55 e4 65 ~/ 7: p- 9: n3 H} [[ 75 r3 85 95 05 a5 ~1 U} l| .2 P2 _1 $2 b5 c5 d5 e5 f5 t4 u4 g5 h5 i5 j5 k5 l5 y4 m5 A4 B4 n5 o5 p5 q5 F4 r5 s5 t5 u5 $5 ;4 8+ v5 w5 .5 x5 y5 `4 %4 Z4 Z4 !2 X4 X4 X4 X4 %3 V4 V4 #4 z5 N4 A5 B5 C5 C5 D5 D5 D5 D5 D5 D5 D5 D5 S4 S4 +4 +4 +4 +4 +4 +4 +4 +4 +4 D5 D5 D5 D5 N4 N4 U4 U4 N4 N4 A5 A5 E5 E5 F5 F5 %3 %3 X4 G5 H5 H5 I5 I5 J5 K5 y5 x5 L5 M5 J4 u5 N5 N5 O5 P5 Q5 '4 R5 S5 T5 U5 V5 W5 X5 Y5 Z5 `5 6 .6 +6 @6 !: #6 `/ `^ $6 %6 &6 P@ `= => V @+ k. #+ s p ,= *6 =6 E $. z A : . s' s; 83 m, '' '' '' '' '' '' '' '' '' '' '' '' '' '' o. n} n} n} n} n} ", +" -6 ;6 >6 ,6 '6 )6 !6 ~6 {6 X( n/ o/ @1 #1 v] ]6 94 $1 25 Z[ ^6 /6 3: (6 0| _6 :6 <6 [6 }6 |6 E2 J} r3 16 26 36 !1 46 56 66 .2 76 Q2 86 q4 96 e5 06 a6 g5 b6 c6 d6 e6 f6 g6 h6 i6 j6 k6 l6 m6 B4 n6 o6 p6 |+ q6 r6 s5 s6 Q5 t6 P5 u6 N5 u5 +5 v6 .5 L5 x5 w6 x6 K5 I5 I5 y6 H5 G5 X4 S3 S3 z6 #3 S3 F5 F5 A6 E5 E5 E5 E5 A5 A5 E5 E5 ]2 ]2 ]2 ]2 ]2 ]2 ]2 E5 E5 E5 E5 A5 E5 E5 E5 E5 A6 %3 %3 %3 %3 #3 S3 S3 G5 G5 B6 H5 I5 I5 K5 K5 K5 x5 C6 C6 v6 +5 @5 D6 E6 F6 O5 M3 G6 H6 I6 J6 S5 K6 U5 V5 L6 M6 N6 O6 P6 Q6 R6 S6 T6 U6 V6 W6 X6 Y6 Z6 `6 ++ 7 .7 => W @+ @. #+ q o 0 5 3 i +7 ' A : N~ s' 3! 83 m, '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' o. n} n} n} n} ", +" @7 #7 $7 %7 &7 *7 =7 -7 n_ q! h< ;7 64 7| >7 ]6 ,7 15 b4 '7 )7 !7 3) ~7 n< {7 f4 .} ]7 ^7 /7 a: (7 _7 :7 <7 [7 }7 |7 66 /1 17 A3 86 27 37 e5 f5 47 a6 57 d6 67 77 87 97 07 a7 b7 c7 d7 e7 f7 m6 g7 h7 o6 i7 J3 j7 k7 l7 m7 '4 n7 o7 O5 F6 p7 N5 D6 +5 v6 C6 q7 q7 y5 `4 K5 K5 %4 y6 I5 H4 G5 G5 G5 G5 S3 S3 S3 S3 S3 z6 z6 z6 z6 z6 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 z6 z6 s7 s7 s7 t7 t7 t7 B6 H4 B6 I5 I5 I5 x6 K5 u7 u7 v7 C6 C6 w7 x7 x7 D6 p7 N5 O5 P5 %5 n7 y7 z7 A7 B7 z4 K6 C7 D7 E7 F7 N6 O6 G7 H7 I7 S6 J7 K7 L7 M7 N7 O7 P7 Z6 Q7 l] R7 S7 T7 ` U7 V7 ./ q v 9 4 n= $. ~ ' %. = - c 3! W7 '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' n} n} n} n} n} ", +" ^5 X7 Y7 Z7 d) `7 8 .8 +8 .! Y( h( @8 7| #8 $8 H1 %8 a4 &8 *8 =8 /, -8 1; L1 ;8 p- o( >8 ,8 '8 )8 !8 ~8 {8 ]8 ^8 /8 ^1 n| (8 _8 :8 c5 37 <8 06 [8 }8 |8 18 28 38 48 58 68 97 78 88 98 08 a8 b8 l6 c8 h7 n6 [+ d8 J3 e8 f8 I6 g8 h8 i8 n7 j8 k8 O5 E6 p7 D6 l8 Z2 x7 m8 C6 3 x5 x5 v7 K5 K5 J5 n8 I5 I5 H4 H4 H4 G5 G5 o8 o8 o8 p8 p8 p8 p8 p8 p8 p8 p8 p8 p8 p8 p8 p8 p8 o8 o8 H4 q8 q8 H4 q8 q8 n8 J5 J5 w6 v7 r8 3 3 C6 s8 s8 t8 x7 l8 u8 v8 E6 w8 x8 i8 y8 H6 H6 z8 A8 B8 K6 C7 C8 D7 E7 F7 D8 E8 F8 G8 I7 H8 I8 J8 K8 L8 M8 N8 O8 P8 %6 Q8 R8 R7 S8 )) T8 @+ 63 U8 r %+ w 6 1 $. ~ V8 %. r# - c 3! W7 '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' n} n} n} n} n} ", +" W8 X8 Y8 Z8 `8 `7 9 !6 .1 .9 +9 @9 o_ #9 @1 $9 }5 %9 15 25 q_ &9 *9 =9 -9 a| 7: <6 ;9 >9 ,9 '9 )9 r3 16 !9 ~9 {9 j| ^1 ]9 z3 ^9 /9 d5 37 <8 <8 (9 _9 :9 <9 [9 }9 |9 18 48 58 19 97 78 88 29 39 j6 49 59 c8 c8 69 79 89 89 99 09 a9 b9 c9 h8 y8 y8 n7 o7 d9 e9 N5 v8 l8 t8 t8 t8 m8 m8 s8 f9 q7 r8 r8 G4 t5 v7 g9 g9 J5 J5 n8 n8 n8 n8 n8 q8 n8 n8 n8 n8 J5 h9 J5 J5 J5 J5 n8 i9 i9 n8 g9 g9 w6 g9 g9 j9 r8 k9 r8 f9 s8 s8 l9 t8 t8 u8 v8 m9 n9 w8 o9 p9 x8 q9 r9 c9 s9 t9 B7 u9 a8 C8 v9 w9 x9 y9 z9 A9 B9 C9 D9 E9 I8 F9 G9 H9 #6 I9 J9 K9 L9 M9 N9 R8 O9 P9 Q9 R9 U7 63 U8 r F w *6 n= } ~ A : b $ c 3! W7 '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' o. n} n} n} n} ", +" S9 T9 U9 V9 O' W9 *7 =7 H> X9 n/ F> '[ 7| f3 $9 Y9 g3 |: Z9 `9 0 .0 +0 @0 L1 #0 $0 %0 ^7 E2 &0 r3 *0 =0 -0 ;0 >0 m| ,0 '0 )0 q4 d5 !0 <8 ~0 {0 ]0 ^0 /0 (0 _0 :0 }9 <0 |9 [0 }0 |0 I. 10 88 20 30 40 50 60 59 c8 69 70 80 89 90 00 a0 m5 s9 b0 c9 y7 c0 x8 x8 d9 w8 w8 m9 N5 v8 v8 d0 l8 t8 s8 s8 s8 e0 k9 k9 r8 k9 k9 k9 r8 r8 r8 f0 f0 j9 g9 g9 g9 g9 g9 g9 f0 f0 f0 f0 r8 k9 k9 k9 k9 f9 g0 g0 l9 l9 l9 l9 h0 i0 t8 d0 v8 v8 F6 F6 w8 p9 p9 j0 k0 k0 y7 c9 s9 A8 l6 a0 k6 a8 l0 m0 n0 o0 p0 q0 r0 s0 G8 D9 t0 u0 v0 w0 K8 x0 y0 z0 A0 P8 B0 M9 C0 D0 E0 F0 q2 G0 H0 j^ ./ r j I0 *6 J0 K0 ~ L0 : . M0 N0 3! 4! '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' n} n} n} n} n} ", +" O0 P0 Q0 R0 S0 T0 U0 V0 W0 m/ X0 @9 Y0 Z0 ! `0 y2 a G1 ![ '7 &9 .a +a 65 L1 @a ;1 #a $a /7 %a &a *a =a -a ;a >a L2 ,a '0 'a )a !a 37 ~a {a ]a ^0 ^a /0 /a (a (0 _a :a Va Wa Xa i< -/ $9 Ya 8| $1 25 Za `9 `a b .b +b @_ <6 [6 }6 @b #b $b %b &b *b =b -b ;b y3 '0 >b /9 ,b 'b )b !b ~b {b [. ]b ^0 /a /a ^b /b _a _0 _0 (b :9 _b :b c ,c 'c Q2 _8 )c !c ~c {c ]c ^c /c <. (c (c _c :c &d ! o/ #1 *d `0 }5 8| =d -d &1 &9 ;d >d ,d 'd )d !d ~d {d ]d ^d /d (d _d :d e $d ,e 'e .! Wa v] p_ ]6 )e !e g3 .c Za ~e {e ]e ^e /e (e s- ;9 _e :e e $d f .f #8 +f #1 @f #f $f 8| %f &f *f =f l( -f ;f 8{ >f ,f 'f )f !f ~f {f U1 ]f ;c ^f /f (f _f _8 B3 [8 :f I 4d g ,g 'g >e .8 [, )g G1 !g p/ `0 ~g c I1 {g Za `9 c4 ]g ^g /g (g _g :g >8 h ,h 'h )h !h ~h U0 {h ]h ^h /h '^ 8| (h _h |5 :h -d q_ &9 y] i ,i =h %g %g Ve &g n. o. $^ '' '' '' '' '' '' '' '' '' '' '' '' o. `c `c `c `c `c ", +" 'i )i !i ~i {i ]i #d ~h ^i x- `b @f /i /i #f `0 (i _i {g :i j ,j 'j )j _h !j 'g ~h .1 f3 G> ~j p/ {j (h ]j !e %8 ![ ^j &9 .a #c ;f e4 /j (j _j :j i @k =h %g Ve Ve &g *. #k '' '' '' '' '' '' '' '' '' '' o. `c `c `c `c ", +" $k %k &k *k !h `e Sa $d )e ]h =k Z9 ]] -k ;k }5 Y[ .c Z9 k ,k 'k )k 4i !k 3h 6i ~k {k ]k ^k [d /k (k _k 8g :k 4d 4d ci ci a ;l >l ,l 'l )l !l :k 4d ci ~l i ,i =h =h %g Ve n} n. Il '' '' '' '' '' '' '' '' o. `c `c `c `c ", +" Jl Kl ,j Ll Ml ;e Wk ~h Nl 94 a Ol Z9 {h Pl ]j x} {[ Ql m 4k (l ,m :l 'm 'm )m !m ~m {m }l ]m ak ^m /m (m _m :m n 'm ,n 'n )n ~m !n ~n ]m ^m ^m {n ]n ^n /n xj 5l 5l bl bl 6m mk 6l kk kk ng hj 9l 9l si 3m (n ij 2m hk hk hk hk }m jj jj jj }m }m jj jj _n _n _n _n _n 1m 1m _n _n _n jj }m }m ck }m }m :n 2m 2m o 2n 1n /n al 6m ,o 5m 5m [n [n [n 9l 9l 3m :m :m :m :m 2m 2m :n :n :n 'o 'o 'o }m }m }m }m }m }m }m }m 'o 'o 'o 'o 'o 'o :n :n :n )o )o i @k =h $g $g Ve n. o. '' '' '' '' '' o. rn rn rn `c `c ", +" do eo Kl fo 'g ;e Wk >e f y2 a An go ho io jo ko z2 Za lo y] mo /g no Om @_ oo po Wl [j Tm qo ro so to uo vo (k Zm Rn wo xo 7e ci ci p in jn ,p 'p )p !p 7o 8o ~p {p 9o Bl Cl #j @h Xc 9$ v+ ]p T@ [@ [@ on on u+ ^p p. Bm Cm Nk Zj k Hl -j -j ,i ,i =h =h %g &g &g o. #k '' '' '' '' `c rn rn rn `c ", +" /p (p _p :p y] ]i `e Wk

8 5p Kn 6p 7p 8p 9p 0p ap bp (k Zm ,l cp (. 4d ci ci q `b ,q 15 'q -k )q !e k< !q ~q Cn {q I; |i ]q =( C2 ^q ,9 /q (q _q :q 9p p Tp Up Iq Jq Kq Xp Yp Lq Zp Mq Nq 9o Bl Cl 8 5 Oq ]% =. *+ E v+ T@ D Pq Qq on on g p. t+ ao Gl Zj k Rq -j +k #q * Sq %g Tq &g &g o. $^ '' '' `c rn rn rn rn ", +" Uq Vq Wq Xq Yq Zq `q =q r )e {j P; Z9 Yk 'q io $f x} {[ A2 lo l( .r +r A] @r Hn ^q #r $r %r &r *r =r -r ;r [q ap >r ,r Rn 'r )r !r ci 0h p qr Up Iq rr 'p sr !p Lq tr ~p `p ur vr `f 8 8 U| 5 ]% ]% =. Y% E v+ wr @q [@ zm on u+ g p. Bm Cm Nk `j k -j -j ;i #q @k =h %g $g n} n. m, '' n} rn rn rn rn ", +" xr yr zr Ar c4 Im Br Cr Dr Er H1 zn Fr Gr ;q Hr (i I1 9| &1 Ir [i Jr Nm n< =( Kr Lr :[ p3 Mr Nr Or Pr Qr Pr [q Rr }q Sr Tr `m Ur 0g 9h 0h }k Vr zo zo dp dp dp dp ~r ~r ~r ~r 2q ~r ]r {r {r {r fp 5q Wr Xr Yr ^r Zr 8q /r `r s .s :r bq np +s @s @s |r eq #s $s $s 1r %s up up 7k rq Ap 'n 'n oq oq 5r mq yp mq 7r %o %o Oo lq lq lq jq &s jq jq jq jq jq *s *s *s *s *s *s *s *s *s *s *s *s *s *s jq jq jq jq jq jq jq 2r lq lq lq =s sp %o -s 7r -s mq 8r oq oq 9r qq qq ;s >s ,s 's )s !s uq uq ~s {s br yq cr ]s fr fr ^s /s fp (s _s :s ir t ,t 't )t !p 6s !t Zp Al j ~t ~t Pb 9s x 0s 8 U| ]% ]% 3 =. *+ ]p T@ @q @q {t on pn Am p. Bm Gl ]t Zj `j .k +k ;i >i =h Dm %g $g n. n. rn ^t rn rn rn ", +" /t (t _t :t 4p t ,t Pt )p !p 6s Lq Qt Rt St Ma Tt ~t ~t Pb x Ut 8 U| Oq ]% Vt =. 1 v+ ]p D [@ zm on on g t+ 0o Gl Nk `j Wt .k -j >i >i *h %g $g &g n. -h ^t ^t rn rn ", +" Xt Yt Zt `t .a !h u .u +u }5 !e %f @u #u Xk $u %u Y[ &u *u Ir =u -u ;u Om {/ >u #r :[ ,u 'u )u !u at ~u {u ss ]u ^u /u (u _u ct :u 9g bh ei t ,t Au Bu Xp Cu 8o $i Du Eu Fu St St Tt Gu ~t Pb 0s 8 8 as 5 Hu a =. Y% v+ } @q [@ on on u+ g Bm Cm Gl Zj k Rq -j -j ,i * *h =h &g `c Iu Iu ^t rn ", +" Ju Ku _t Lu .c *q Br Wk Lm y2 8| ,q _h Mu hs Hr js Nu Ou ^6 Pu .0 Qu Ru Su Tu Uu p< Vu Wu Xu =r Yu at Zu {u ss ]u ^u `u ,r v .v +v @v #v bh v ,v pt pt 'v 'v Js )v rt 8u 8u bu !v tt tt au ~v {v Bt cq cq Rs Ps Ps Ps At At At fu fu fu xt eu du du du ]v du zt zt yt yt yt yt yt yt yt yt yt yt yt yt yt yt yt yt yt yt du du du du du xt fu fu fu gu At At |r |r ^v ^v /v {v i Sq %g Ve Iu Iu Iu ^t ^t ", +" hv iv jv e4 Bn kv lv |t mv y2 a Ol Xk ho nv ov 3t pv qv ls rv {q ms sv tv >u uv os vv wv xv yv zv Av Zu Bv Cv Dv bp /u ,r v Ev Fv @v 3j bh Gv 4j Hv Hv =m 3q Un 2q ft }u ]r zs }u ]r ]r ]r Iv Jv As |u 1u Kv %v Lv Mv Nv Ov -v Pv ;v >v Qv Rv pt 'v 'v Sv Tv Uv gu 8u Vv Wv tt tt au au Xv hu w su Ht $t ,w 'w )w !w ~w {w &t ]w ^w Nt 4s 0v /w av 5s Au )p (w _w _w Yd dv dv .h .h ev Fu St j Gu ~t Pb 9s :w 0s 7 Oq ]% =. =. *+ E ]p [@ [@ on pn u+ g t+ Cm v qw rw sw 'v 'v 'v Sv Uv tw uw uw vw ww xw yw yw zw qt hu @w /v /v Aw ^v qt At gu gu gu w fu bu bu Bw du du du Ms Ms Ms Ms Ms Ms Ms Zv Cw Cw Cw Dw tt tt Ms Ms Ms Ms Ms Ms Ms Bw bu bu bu Ew Ew gu gu Fw Fw qt qt .w Sv /v Gw @w @w Hw Iw Iw Jw _v Kw #w [v Lw $w |v Mw &w *w =w Nw Ow Ow ;w 3v Pw >w su tu 6v ,w Qw Qw !w ~w Rw Sw ]w Tw Nt Uw Vw Ww Xw Yw Zw `w x (w .x +x Tj Qe dv +j .h .h Eu St @x Tt Tt fv 9s x 0s as #x ]% a 3 Y% E v+ } [@ zm on $x ^p p. Bm ao Zj `j Hl Hl bs ,i Sq ^t Iu Iu Iu Iu ", +" %x &x iv *x lo ;e =x -x gs y2 |5 -d $f ;x >x ,x %u 'x T: )x !x ~x {x ]x ^x Hn /x 16 (x _x :x xv yv zv dw ew g Sx Tx z2 Ux .u Vx #f !e g3 ![ -k Wx Xx 2t 3t Yx qv ls Zx `x y .y tv +y @y #y $y %y &y *y =y t4 -y ;y >y 2d ,y 'y vo )y !y Zm ~y {y /. ]y !r ^y Fo /y Xn (y (y (y _y _y Cs Cs :y %v :y :y %v v 2y 3y 4y 5y 'v Tv tw 6y uw 7y vw !v !v 8y au au 9y 0y 0y 0y ay by cy dy 9y fu bu du Ms Ms `v Dw Cw Cw ey fy fy fy gy gy gy hy hy iy iy iy iy jy jy jy jy jy jy jy jy jy jy jy jy iy iy iy iy hy ky ky ky ky ky ly ~v ~v ey Cw Cw Dw Ms `v Xv vw bu Ew w gu Uv qt Aw /v Gw @w px px qx my Kw ny sx $w }v ux Mw [y wx =w -w it ;w As gt ru Gt Ht $t oy py }s |s qy ry 1s 4o sy ty uy vy vy wy xy xy yy zy Ay By Cy Dy (w Ey Yd Fy Fy l n Gy Hy Hy F Iy M~ Jy 0 Ky U| ]% 0$ Ly Y% My T@ Ny {t {t <@ Oy 0o Gl Zj Pk -j -i Py Py Iu Iu ", +" Qy Ry Sy Ty w^ Uy Vy Wy Xy ]6 go L' 25 |p Yy Zy `y z .z +z /6 @z #z $z %z &z uv *z =z -z ;z >z ,z 'z )z V2 F3 !z ~z {z ]z ^z /z (z _z :z A u q. ,A 'A )A !A ~A {A ]A ^A /A (A _A 8$ S@ :A B >B ,B ,B =B =B =B =B =B =B VA 'B 'B )B $B %B #B TA TA @B @B @B SA !B !B ~B {B {B ]B ^B /B MA (B _B :B IA , IB s/ Cr JB KB LB c I1 MB )q NB Xx OB PB QB RB 0A SB TB UB VB WB 75 XB XB YB ZB `B C ]1 .C +C @C _1 #C _8 R2 )c $C c5 %C %C f5 &C *C *C =C -C ;C -C >C kd ,C 'C 'C 'C 'C )C )C )C !C ~C ~C {C ]C ^C /C (C _C :C =] =D -D ;D mB >D ,D 'D )D !D ~D wB {D ]D ^D (A /D (D _D :D E MD ,E 'E )E )E HD !E ~E {E ]E ^E /E (E _E :E } ,} -F -F T} ;F |7 # >F >F b@ >F >F '2 b@ ,F ,F ,F 'F )F !F ~F ~F {F ]F ^F /F (F _F :F G ,G i} #^ T. V. K~ Y. 'G )G !G ~G {G ]G ^G /G (G _G AE :G DE & B& oG oG pG qG %< *< *< B< l$ y< k$ N} h$ rG sG -# #| -# -# -# tG -# uG -# vG wG xG yG zG yG yG AG BG CG DG EG FG GG HG IG JG KG LG MG NG OG PG QG QG RG SG TG TG TG TG TG UG VG VG WG WG XG YG ZG `G H H .H H +H @H TG #H #H #H #H $H $H $H %H %H $H $H $H $H &H &H $H $H *H =H =H =H =H -H -H -H $H $H $H $H &H &H $H $H $H %H %H %H %H ;H >H #H #H #H #H TG @H ,H 'H )H SG SG !H !H ~H ~H {H ]H ^H ^H MG /H (H _H :H IG 4 n7 qH qH v# rH sH tH uH vH wH :| i+ xH yH zH AH BH CH DH EH C* FH GH HH IH _G JH KH LH o, MH NH KE Py ", +" %x OH PH ;/ +c QH ]i RH & &I z_ z_ d: *I =I =I O# O# -I <% -I -I -I ;I ;I ;I ~< >I ,I 'I )I !I ~I {I ]I ^I /I (I _I :I J >J 02 ,J 01 'J )J ^3 (2 !J ~J h2 {J ]J ^J /J (J _J :J K ,K ,K ,K ,K 'K 'K 'K )K )K )K )K )K )K )K )K )K )K !K !K !K !K !K !K !K )K )K )K )K )K )K 'K 'K 'K ~K ~K ~K ~K ,K >K ;K -K -K =K -K -K -K =K =K =K {K `J ]K ]K ]K ^K /K (K _K :K | oK pK qK b_ c} ;* ,) rK d} O( sK tK uK vK wK xK yK zK AK BK CK DK EK FK GK HK IK JK %[ 9J ;] KK LK aJ LE Py ", +" MK 6{ NK vn |p OK PK QK 'g Zq r xn RK SK SK SK TK TK UK UK VK W9 )6 WK 9 ZK 7> 7> `K L )6 _5 !6 8 *7 G, <- `* `* c' .L a' +L +L M> @L #L $L %L &L *L =L -L ;L 6& >L ,L 'L )L !L ~L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L ]L ^L /L (L _L :L M ,M 'M )M !M ~M {M ]M Py ", +" ^M /M (M NK vn |p OK PK QK 'g Zq r xn RK SK SK SK TK TK UK UK VK W9 )6 WK 9 ZK 7> 7> `K L )6 _5 !6 8 *7 G, <- `* `* c' .L a' +L +L M> @L #L $L %L &L *L =L -L ;L 6& >L ,L 'L )L !L ~L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L ]L ^L /L (L _L :L M ,M 'M )M !M ~M {M _M :M ", +" ZK 7> 7> `K L )6 _5 !6 8 *7 G, <- `* `* c' .L a' +L +L M> @L #L $L %L &L *L =L -L ;L 6& >L ,L 'L )L !L ~L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L ]L ^L /L (L _L :L M ,M 'M )M !M ~M {M _M LE ", +" |M 1M [M ,^ z2 ;x UK 2M >e 3M VE ]j SH Jm QH 4M SH 5M TH 6M 7M w^ 8M 9M 0M aM bM L1 oJ cM dM eM Q- o- }6 7* P* fM ^/ // // gM I& B= hM z/ A/ iM 5* x( x( y( y( jM kM lM lM mM nM nM nM oM pM qM pM pM rM sM tM uM uM vM iM wM xM xM yM ^K ZJ zM AM BM BM CM DM EM 'K FM FM GM GM HM HM IM JM KM KM KM KM LM MM MM MM NM OM PM PM PM PM NM QM !K RM RM RM JM JM SM SM TM TM MM MM MM MM MM MM MM MM UM UM UM UM UM UM UM UM UM MM MM VM VM MM MM !K VM WM XM YM ZM ZM ZM ZM ZM ZM `M `M `M N `M `M `M .N +N @N #N =K K ;K $N {K {K %N ]K ]K ^K /K &N *N E/ =N -N ;N ;N >N rM ,N 'N )N lM !N ~N 0% {N bK BJ BJ /_ eK ]N ^N /N u: ~# _< r: r: ^< l@ (N _N :N k[ O ,O aI 3I 5I tI uI 2I 3I 'O BI P >P ,P 'P )P )P !P !P !P ~P ~P {P {P {P ]P ,P ^P =P =P =P =P -P -P -P ;P ;P ;P ;P ;P /P (P (P (P (P (P (P (P (P (P (P (P _P _P _P ;P ;P :P

Q >Q >Q >Q >Q ,Q 'Q 'Q 'Q )Q !Q ~Q {Q ]Q ^Q /Q (Q (Q (Q _Q :Q ;R >R ,R 'R )R !R ~R {R ]R FB ", +" v, ^R vO z2 /R (R .u _R :R 2R E= P1 D2 &_ yN WP 3R 4R 5R 6R 7R 8R Wm 9R 0R aR bR cR X1 dR {1 eR fR gR hR hR iR jR kR lR mR nR oR pR qR C3 qR pR rR rR pR pR rR sR tR uR uR vR vR wR wR xR yR ID JD ,E ,E zR AR AR BR CR YD %E DR ER FR FR GR GR HR IR JR IR KR LR MR NR OR PR PR PR QR QR QR RR SR TR TR TR UR VR TR LR WR LR LR LR LR LR LR LR LR LR LR LR LR XR XR XR XR XR XR XR XR XR XR XR XR LR KR YR ZR `R S .S .S +S #K @S .S @S @S .S #K #K @S #K #K #K #K #K #S &K #S $K #K $S %S &S GD *S *S ID =S =S -S ;S ;S ;S >S ^E ,S ,S ,S 'S )S zD !S ~S {S ]S ^S /S (S 4E 4E _S :S T ,T ,T 'T )T !T ~T ~T {T ]T ]T ^T /T /T /T (T _T :T 9: D= UT /7 VT (7 85 WT -a yS XT YT ZT `T U .U +U @U #U $U LS MS %U yR &U *U =U =U =U -U ;U >U ,U 'U )U !U 'U (C ~U GC /C /C {U ]U ]U {U ]U ]U ^U /U (U _U :U :U V QB .z ,V 'V )V WH !V sS ~V N1 E= D= Q1 I} {V ]V 85 95 -a yS -b ^V /V (V _V :V W ,W 'W :V )W IS #U #U $U !W !W ~W PS QS {W 3V ]W ]W ^W /W (W _W :W VS VS jT T >T >T 'T 2T gW hW iW jW kW kW kW (T lW lW mW mW nW oW pW pW qW qW qW iW jV rW sW sW sW sW tW tW tW tW tW tW tW tW tW tW tW tW tW tW tW tW uW eQ vW vV vV wW vV wW wW wW xW yW vV !P 'P 'P wV wV yV yV yV xV xV yV yV yV yV yV xV xV AV 3I zW YA AW BW BW BW CW CW 3W DW EW FW GW DC HW IW EV ^U ^U IU IU IC KC KC LC OU JW KW QU PC LW 1m |m ck bk ij 9l MW oh qi NW OW PW QW RW SW TW DA UW kg gg VW WU Hf WW Og Pg ZU XW 8B Gc QV Ie aB Fb dB YW ZW UV `W U $A X =A -. .X +X '= @X ]M ZV ", +" #X V[ ^R p^ $X VE %X &X Yy y} %1 *X =X sN dG lJ *X ~/ 7: -X 8: ;X c| R1 [[ T1 >X ,X 'X )X !X XT ^V ZT ~X {X ]X ^X gR /X iR jR (X _X :X :X Y ,Y 'Y )Y UW Gh <0 (0 TC !Y ~Y ^a WC {Y BT `C V +V FT Q8 fB iB $V ]Y &V ^Y /Y KT T| a- '* '* ]R ", +" (Y _Y '[ ! c Xk .u :Y 6: M1 p- O1 2Y c| 3Y 4Y 5Y 6Y 85 26 7Y 8Y 9Y 0Y -W aY bY +Q #Q cY dY eY eY fY fY fY fY gY hY hY hR iY jY kY kY kY lY lY mY mY nY nY mY CR CR oY pY pY qY rY sY tY tY uY uY vY wY xY xY xY yY zY zY AY BY CY DY DY DY EY FY FY FY FY GY GY GY HY IY 6T 6T JY KY KY KY LY MY NY NY OY OY PY PY QY QY RY RY SY TY TY UY TY TY VY VY WY WY WY WY WY WY WY WY UY UY UY UY UY XY 0Q YY ZY YY 7T hI 7T `Y `Y `Y iI iI iI iI iI iI VN VN iI iI VN VN VN VN VN VN Z Z VN VN Z .Z bI yY vY vY +Z @Z @Z #Z #Z $Z $Z %Z %Z %Z `D `D &Z *Z =Z -Z ;Z >Z >Z >Z ,Z 'Z )Z rR !Z ~Z {Z ]Z ^Z rD (S /Z (Z _Z :S :Z |S W CS zZ AZ BZ CZ DZ EZ EZ EZ FZ FZ FZ FZ GZ HZ HZ HZ IZ IZ IZ JZ KZ LZ MZ NZ NZ OZ PZ QZ RZ RZ RZ SZ TZ UZ VZ VZ WZ XZ WZ XZ YZ ZZ `Z ZZ `Z ` .` +` @` @` +` #` #` #` $` %` %` &` *` *` *` =` =` =` =` =` =` -` -` -` ;` .` .` .` .` .` .` .` .` >` >` >` >` >` >` >` .` .` ` ` ,` '` `R )` )` !` ~` ~` {` {` ~` ~` ~` {` HM ]` ]` ]` HM ^` ]` ]` HM HM HM HM HM !K !K HM HM !K /` %K (` OZ _` :` OZ <` [` [` }` KZ KZ KZ |` |` 1` 2` 3` 3` 4` 5` 6` 7` zQ 8` AQ CQ 9` 0` a` HQ IQ JQ b` LQ MQ c` OQ d` e` f` mR jY jY /F g` lR h` i` j` k` l` C3 m` n` o` p` q` r` s` C8 t` x9 u` v` H7 H8 w` L7 x` 3. @D y` z` A` cZ B` C` D` 0- ~% :D ", +" E` q! ;^ yn jo qN F` &X Xx G` y} H` zO I` J` 35 l( 3' C> [) {, ~, U- F; y^ K` L` $_ M` Y: N` @} O` P` WP 6Y Q` 4R R` R` S` T` T` U` U` U` V` W` W` U` X` Y` Z` `` MO MO .. .. .+ .@ .@ .# .$ .$ .$ .% .& .* .= .Y` - .xV ; .> ., .' .xU ) .! .QX QX ~ .~ .{ .] .] .^ ./ ./ .( .( ._ ._ .: .: .: .< .< .[ .[ .[ .[ .} .| .| .| .1 .| .1 .2 .2 .2 .2 .2 .2 .3 .3 .3 .3 .[ .( .( .( .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .5 .6 .7 .8 .8 .8 .8 .8 .8 .9 .9 .9 .9 .9 .9 .9 .9 .9 .9 .0 .a .b .b .b .b .b .b .b .b .b .b .b .c .d .e .f .AU AU AU AV AV yV g .= .= .h .i .j .% .k .@ .l .m .n .n .o .p .q .+P P 8P r .s .t .u .v .cP w .w .6H x .y .z .A .+| B .C .CZ D .E .F .G .{Q H .!Q I .J .K .K .21 11 ,2 L .7+ M .L3 )4 N .O .F7 ,5 P .Q .mE *R R .S .hS T .HT U .V .W .)* :D ", +" X .Y .Z .94 0G hJ ` .KB VE QE PB ..,..,..,..'..'..)..)..!..~..~..{..{..]..^..]..]..MJ bT NJ OJ /..dT dT (.._..:..:..wM WJ yM ^K zM AM BM +K $S EM EM #K %K GM !K !K RM IM KM KM MM MM MM NM NM NM NM <..<..<..[..[..[..[..}..}..}..|..|..}..1..1..2..3..3..3..4..4..4..4..4..5..5..3..6..7..7..7..7..7..7..7..8..8..8..8..8..8..8..8..8..7..9..0..a..b..b..c..c..b..d..d..b..c..d..d..d..d..d..d..d..e..e..d..d..e..e..e..e..WM f..WM g..h..$O i../` +K >K >K $S .K K j..j..zM YJ YJ k..VJ l..TJ (..cT m..NJ ]..n..o..p..q..r..s.. %..=+.u/ ^^ m( -+.-+.V: ;+.>+.,+.,+.'+.,+.'+.)+.)+.)+.!+.~+.;X {+.]+.^+./+.(+._+.]+.C] >+.>+.:+.:+.<+.[+.[+.}+.|+.|+.1+.2+.3+.4+.5+.6+.6+.7+.7+.8+.9+.0+.a+.0+.0+.0+.b+.b+.c+.d+.d+.d+.d+.e+.e+.f+.g+.g+.h+.i+.i+.j+.j+.j+.j+.j+.k+.k+.k+.l+.l+.l+.l+.m+.n+.n+.n+.n+.n+.n+.n+.o+.n+.p+.g+.q+.q+.q+.r+.r+.r+.r+.r+.r+.q+.q+.r+.r+.r+.q+.r+.s+.t+.u+.v+.v+.v+.v+.v+.v+.v+.v+.v+.v+.v+.w+.w+.v+.v+.w+.w+.v+.v+.v+.x+.x+.v+.x+.x+.y+.z+.x+.z+.A+.B+.C+.D+.7+.E+.F+.6+.6+.c .3+.2+.2+.G+.G+.H+.}+.I+.<+.:+.J+.]+./+.K+.L+.M+.N+.O+.P+.Q+.R+.R+.S+.T+.U+.V+.W+.X+.FJ EJ ^_ Y+.Z+.^..`+.>_ ,& NN LN E& JN B_ D_ J_ @.CN >I .@.+@.n$ @@.L# z# X@ #@.$@.h2 u1 %@.sH &@.*@.$R =@.-@.;@.X..>@.,@.gN +- ]R ", +" '@.d3 %! 6> Gr )@.SK !@.Ml 4A 4A Xy *q Br >e ~@.'g Jm {@.]@.Wk Wy `e Xb ^@./@.(@.(@.Br _@.Br Br Xb ^@.^@.:@.<@.(@.^@.[@.DL ^@./@.xL wL uL Vk *q }@.|@.1@.qL 2@.3@.4@.iL 5@.0; 6@.pL ,L dL aL 9L 7@.8@.5L oL nL 9@.0@.}L a@.b@.c@.d@.e@.f@.g@.h@.{L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L i@.j@.g@./L k@.l@.m@.n@.o@.p@.c@.c@.c@.q@.q@.b@.r@.s@.c@.q@.q@.s@.t@.t@.t@.u@.v@.v@.v@.w@.1L 1L x@.x@.y@.3L 4L 4L mL 4L z@.A@.A@.A@.B@.B@.7L C@.D@.E@.F@.F@.G@.G@.H@.iL PK I@.PK I@.SK J@.K@.L@.}@.M@.#; N@.-L uL O@.zL AL BL P@.EL 8> GL Q@.0' R@.S@.T@.U@.V@.LL L 7> S' W@.X@.Y@.Y@.Z@.`@.,[ #..#..#.+#.@#.##.$#.F, 7) o! N= %#.vO &#.*#.=#.-#.f% ;#.>#.^{ 6( ;: ,#.'#.2$ )#.N| k+ !#.~#.{#.]#.]M ", +" ^#./#.s} .9 Nl ho )@.(#._#.QH QH QH |t :#.(@.=q DL Xb (@.<#.;e ;e `q [t [#.}#.|#.*q kv 1#.7G Im Im !j ,g !j xL wL !j wL 2#.zL 3#.3#.tL ,g 4#.|#.5#.L@.1@.J@.qL 2@.3@.4@.iL 5@.0; 6@.pL ,L dL aL 9L 7@.8@.5L oL nL 9@.0@.}L a@.b@.c@.d@.e@.f@.g@.h@.{L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L i@.j@.g@./L k@.l@.m@.n@.o@.p@.c@.c@.c@.q@.q@.b@.r@.s@.c@.q@.q@.s@.t@.t@.t@.u@.v@.v@.v@.w@.1L 1L x@.x@.y@.3L 4L 4L mL 4L z@.A@.A@.A@.B@.B@.7L C@.D@.E@.F@.F@.G@.G@.H@.iL PK I@.PK I@.SK J@.K@.L@.}@.M@.#; N@.-L uL O@.zL AL BL P@.EL 8> FL 6#.HL IL 7#.S@.8#.9#.JL KL 0#.a#.a#.b#.c#.c#.d#. L e#.f#.g#.g#.h#.i#.j#. #.M' k#.l#..; m#.fZ n#.o#.p#.q#.r#.s#.X# 6# Y^ t#.u#.6- O( {J v#.w#.x#.y#.z#.A#.]M ", +" B#.^= C#.X9 D#.Gr Jm E#.F#.4A 4A aG Ml Im 'g >e ~@.'g G#.{@.Wk Wk Wy `e H#.BL ^@.(@._@..u lv lv Br lv <@.lv I#.DL ^@.^@.[@.DL Xb ^@.J#.wL uL Vk |#.M@.QK TK 2@.K@.3@.4@.iL 5@.0; 6@.pL ,L dL aL 9L 7@.8@.5L oL nL 9@.0@.}L a@.b@.c@.d@.e@.f@.g@.h@.{L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L i@.j@.g@./L k@.l@.m@.n@.o@.p@.c@.c@.c@.q@.q@.b@.r@.s@.c@.q@.q@.s@.t@.t@.t@.u@.v@.v@.v@.w@.1L 1L x@.x@.y@.3L 4L 4L mL 4L z@.A@.A@.A@.B@.B@.7L C@.D@.E@.F@.F@.G@.G@.H@.iL PK I@.PK I@.SK J@.K@.L@.}@.M@.#; N@.-L uL O@.zL AL BL P@.[@.K#.1, @; a' R@.S@.T@.L#.M#.|, a#.f#.W@.6; N#.O#.P#.Q#.i#. #..#.R#.S#.T#.##.$#.U#.=k `) V#.[: a= PP Q& i% W#.X#.Y#.Z#.O/ `#. $..$.+$.$@ 2$ @$.#$.$$.%$.&$.{#.KK ]M ", +" *$.=$.0) -$.x- hs Ml mN ;$.>$.=X ,$.'$.1p x} /R z2 )$.3D h3 $+.35 !$.~$.{$.3' |) [) ]$.{, J{ 7w F; ^$./$.m( #_ ($._$.$_ :$.<$.<$.<$.[$.D2 D2 }$.}$.+} r< |$.|$.1$.2$.CM 3$.3$.4$.FM 2$.2$.5$.5$.5$.6$.7$.%S 8$.8$.9$.9$.0$.a$.b$.c$.nQ d$.d$.e$.e$.f$.g$.h$.h$.h$.i$.i$.j$.k$.l$.l$.m$.n$.o$.o$.o$.o$.o$.p$.q$.q$.q$.r$.r$.r$.r$.s$.t$.t$.t$.u$.u$.u$.u$.v$.v$.w$.w$.x$.x$.x$.x$.x$.y$.u$.p$.p$.p$.p$.p$.p$.p$.p$.p$.p$.p$.p$.p$.p$.p$.p$.p$.z$.A$.B$.C$.D$.D$.D$.A$.A$.D$.D$.D$.A$.A$.E$.E$.E$.E$.E$.E$.E$.E$.F$.G$.G$.H$.I$.I$.F$.f+.f$.a .f$.e$.d$.d$.oQ nQ mQ b$.b$.J$.K$.L$.M$.N$.O$.P$.QM Q$.R$.4$.3$.3$.%N ^K ^K :K S$.T$.1K NJ MJ U$.JJ V$.HJ Z+.W$.X$.Y$.Z$.KN `+.`$.ON ON %..%.`: JN C_ +%.HN @.oG qG @%.#%.H..$%.%%.&%.*%.=%.-%.E# ;%.+C jA b0 >%.P6 ,%.'%.R .+D (G )%.A#.!%.]M ", +" ~%.{%.s} Y .++.io <%.[%.^$.}%.|%.n( 1%.2%.3%.$W 4%.5%.6%.7%.)..8%.'..8%.~..9%.~..9%.9%.0%.0%.0%.a%.b%.c%.d%.d%.e%.aT aT UN nI f%.oI g%.g%.h%.i%.j%.k%.k%.l%.m%.m%.n%.o%.o%.p%..S q%.q%.r%.s%.t%.~` u%.u%.u%.v%.w%.x%.x%.y%.z%.z%.z%.A%.A%.B%.B%.C%.C%.C%.D%.D%.E%.E%.F%.F%.F%.G%.G%.G%.G%.H%.H%.H%.H%.I%.I%.I%.J%.J%.J%.J%.D%.z%.z%.z%.z%.K%.K%.K%.K%.K%.K%.K%.z%.z%.z%.z%.y%.D%.L%.o$.L%.M%.M%.M%.M%.M%.o$.o$.p$.p$.p$.o$.o$.p$.p$.p$.p$.p$.N%.N%.O%.O%.O%.O%.P%.8 .q%.q%.q%.Q%.Q%.Q%.R%.o%.n%.n%.S%.T%.l%.YN j%. Z U%.V%.g%.oI mI bI 0I 8I 5I 4I W%.X%.AI BI Y%.EI /I Z%.`%. &.~I .&.Z` E..+&.@&.#&.$&.# .@ .. .NO tZ tZ %&.&&.*&. P ZO =&.-&.4[ ;&.>&.,&.'&.Y} )&.p| !&.>2 ~&.~&.{&.>2 ]&.^&.w` /&.x` (&._&.:&.<&.[&.!%.]M ", +" ~%.v= s} Y .l#.io hJ PT }&./%.|&.1&.|> 2&.3&.4&.i3 #..{$.C, B, ], z> 5&.[%.6&./$.-X 7&.8&.9&.0&.a&.b&.c&.d&.e&.f&.g&.h&.i&.j&.k&.l&.m&.n&.n&.n&.o&.p&.p&.p&.q&.q&.r&.s&.s&.s&.UG t&.u&.u&.u&.XG XG XG ZG v&.-P w&.x&.y&.'P y&.p&.tU tU sU MX z&.A&.B&.JX C&.D&.E&.E&.F&.F&.G&.H&.I&.J&.K&.J&.J&.J&.L&.M&.N&.N&.N&.N&.N&.O&.P&.P&.O&.P&.P&.Q&.R&.R&.S&.R&.T&.T&.T&.T&.U&.U&.T&.V&.V&.V&.V&.V&.W&.J&.J&.K&.K&.K&.K&.K&.K&.K&.K&.K&.J&.J&.J&.J&.I&.X&.Y&.Z&.Y&.`&.`&.Y&.Y&.`&.`&.Y&. *.`&.`&..*.Y&.Y&.`&.`&..*..*.`&..*..*.+*.!` q%.@*.z&.z&.z&.KX z&.MX tU ]P #*.$*.%*.'P 'P x&.w&.&*.&*.`G *P VG UG $H &P **.**.=*.OG ]H -*.;*.>*.,*.'*.)*.!*.~*.2` {*.]*.^*./*.(*._*._*.IZ IZ HZ 3` :*.eY :Q <*.[*.G .{Q }*.|*.,Q 1*.2*.]F 3*.4*.5*.6*.7*.7*.r4 r4 8*.9*.$C D3 58 O8 0*.FT dB ,R a*.b*.c*.~% ", +" y+ B; s} Y .[, ~g SH d*.yO XH [R e*.oJ *( f*.g*. 0 3' ^, ], h*.G; x^ *..}%.n( 1%.i*.4%.6%.j*.k*.l*.m*.n*.o*.p*.q*.r*.r*.s*.t*.u*.v*.w*.w*.x*.x*.x*.y*.y*.z*.z*.z*.A*.B*.rF C*.eF eF D*.E*.D*.F*.B*.B*.G*.H*.6Q I*.I*.J*.K*.bQ L*.dQ M*.N*.N*.O*.O*.P*.Q*.Q*.R*.R*.S*.S*.T*.U*.U*.V*.W*.W*.X*.Y*.Y*.Y*.Z*.`*. =..=.+=.+=.+=.@=.#=.$=.$=.$=.$=.$=.$=.%=.%=.%=.&=.&=.&=.*=.*=.*=.*=.*=.==.==.==.-=.;=.X*.X*.X*.X*.X*.X*.X*.X*.X*.X*.X*.X*.X*.X*.>=.W*.,=.F&.G&.'=.'=.G&.G&.G&.G&.G&.G&.G&.)=.)=.G&.G&.G&.G&.G&.G&.G&.G&.!=.!=.!=.~=.{=.]=.]=.^=./=.(=._=._=.M*.M*.cQ :=.J*.J*.I*.7Q 6Q 5Q jF hF 2Q |Q dF }Q <=.[Q [=.zW yF 6F }=.|=.1=.tY 2=.3=.4=.5=.KF *Z 6=.7=.;Z QF 8=.$Z 9=.@E pY _X CR BR 0=.a=.b=.c=.j` d=.d=.1X e=.f=.g=.uD h=.i=.i=.j=.k=.l=.b6 m=.06 %C n=.^a SV o=.p=.,D q=.r=.0- X% ", +" s=.B; c) Y .Km t=.u=.:Y v=.w=.x=.f! R- y=.ls $..z=.^, n~ A=.%..^$./$.B=.C=.D=.E=.F=.G=.d&.H=.I=.J=.K=.L=.M=.N=.O=.P=.P=.Q=.R=.S=.S=.T=.T=.U=.V=.W=.X=.Y=.Z=.Z=.Z=.`=. -.9=..-..-.UD UD UD WD WD XD +-.@-.JR #-.$-.%-.&-.*-.RR =-.--.;-.>-.,-.'-.'-.)-.TY !-.!-.~-.{-.]-.^-.OY /-.(-.PY PY _-.:-.QY RY <-.[-.[-.}-.}-.|-.|-.1-.1-.1-.1-.2-.2-.2-.2-.3-.2-.3-.4-.4-.5-.5-.5-.5-.6-.6-.6-.6-.7-.8-.9-.0-.0-.0-.0-.0-.0-.0-.0-.0-.0-.0-.0-.0-.0-.0-.0-.a-.b-.c-.d-.e-.f-.f-.e-.g-.e-.d-.e-.e-.e-.f-.f-.f-.d-.d-.d-.d-.d-.h-.i-.(-.j-.TY TY TY k-.l-.,-.,-.m-.UR TR SR RR n-.n-.%-.o-.MR LR JR GR p-.q-.DR %E r-.s-.t-.u-.v-.w-.w-.x-.y-.z-.A-.B-.C-.D-.E-.[E 3X F-.1E G-.`X H-.bX 9X UX VX I-.6X J-.K-.L-.M-.N-.O-.ZS XS [W P-.!U Q-.R-.S-.;Y T-.U-.V-.5Z W-.b6 X-.$C Y-.Qd Z-.`-. ;.r=..;.+;.1G ", +" @;.#;.14 X( .; $;.u=.:Y I` %1 +z nJ B^ ~^ %;.&;.*;.], |; U- 6&.=;.-;.;;.>;.E=.,;.';.);.!;.~;.{;.];.^;./;.(;._;.:;.<;.<;.[;.};.|;.1;.2;.3;.4;.5;.5;.6;.6;.6;.7;.7;.8;.9;.bX 0;.0;.0;.a;.a;.b;.a;.b;.c;.'T !T {T d;.e;.f;.g;.h;.i;.j;.k;.1T l;.l;.m;.n;.o;.o;.xX xX yX AX p;.BX BX BX q;.r;.r;.s;.s;.t;.t;.u;.v;.w;.w;.x;.x;.x;.y;.y;.y;.z;.z;.A;.A;.A;.B;.B;.B;.B;.C;.C;.C;.C;.C;.C;.C;.D;.E;.E;.E;.v;.F;.F;.F;.F;.F;.F;.F;.F;.F;.F;.F;.F;.F;.G;.G;.G;.H;.I;.J;.K;.L;.M;.K;.K;.K;.L;.K;.K;.L;.K;.L;.L;.K;.K;.L;.L;.L;.N;.yX O;.P;.O;.Q;.Q;.Q;.R;.1T 1T 1T S;.[T T;._T U;.V;.V;.d;.]T {T 2T 'T W;.X;.X;.;T Y;.cW cW 0W Z;.`;. >..>..>.BW 3W |U +>.@>.EU DV ^U IU #>.MU $>.2U 5U %>.&>.CV *>.*>.=>.:U (U (U ->.;>.>>.,>.'>.)>.!>.~>.DA DA {>.]>.^>.-Y U-./>.(>.a6 r4 A3 _>.:>.<>.tB [>.G- }>.q& ", +" @;.|>.b) +! F, Hr 4D 1>.2>..z =u eM m- |> 3>.4>.B> `~ 5>.F; /$.6>.7>.8>.4%.j*.9>.0>.a>.~;.b>.c>.d>.e>.f>.g>.h>.i>.j>.k>.l>.m>.n>.o>.p>.n>.q>.r>.s>.t>.t>.t>.u>.u>.v>.w>.x>.9W cV 0W dV dV y>.y>.y>.y>.0U aU z>.A>.A>.A>.B>.C>.gU D>.E>.jU mV mV mV F>.G>.H>.H>.I>.J>.J>.K>.K>.K>.L>.M>.N>.O>.P>.Q>.P>.Q>.Q>.R>.S>.S>.S>.T>.T>.T>.U>.U>.V>.V>.V>.V>.W>.W>.W>.W>.X>.X>.Y>.s;.s;.s;.s;.s;.s;.s;.s;.s;.r;.Z>.`>.`>.`>.`>.`>.`>.`>.`>.`>.`>.`>.`>.`>.`>.`>.`>. ,.`>..,.+,.@,.G;.F;.F;.G;.F;.F;.F;.F;.F;.F;.F;.#,.G;.p;.$,.%,.%,.%,.%,.&,.&,.&,.lU *,.kU =,.-,.;,.jV >,.>,.pU pU oU cU ,,.',.),.!,.y>.~,.~,.{,.],.^,./,.(,._,.:,.VA )B <,.[,.[,.},.OA |,.1,.1,.2,.IA 3,.ez }B 4,.5,.6,.7,.8,.},.},.9,.0,.0,.a,.b,.NV c,.d,.e,.f,.g,.h,.i,.j,.k,.l,.m,.n,.Q-.o,.(>.pA p,.q,.o| 6d `g T| aJ a- IE )* ", +" r,.s,.b) .9 )g Yk rN t,.u,.x=.!/ `H m- J; v,.w,.], z> <%.x,.K` n( 1%.y,.6%.z,.A,.H=.B,.C,.D,.c>.E,.e>.F,.G,.h>.H,.k>.I,.J,.K,.L,.o>.M,.q>.N,.j;.u>.O,.P,.u>.Q,.w>.w>.R,.S,.0W 0W T,.0U U,.U,.U,.U,.U,.aU ',.V,.V,.B>.B>.gU D>.sW iW iW mV F>.F>.G>.G>.H>.I>.W,.J>.X,.K>.Y,.L>.M>.Z,.N>.P>.P>.P>.R>.`,.`,.`,.T>. '. '. '..'..'.V>.V>.V>.V>.V>.V>.+'.W>.W>.W>.W>.W>.s;.@'.s;.s;.s;.s;.s;.t;.t;.t;.t;.#'.$'.O;.O;.O;.O;.O;.O;.O;.O;.O;.o;.o;.o;.O;.O;.O;.O;.O;.`>.$,.O;.%'.AX p;.p;.&'.p;.p;.*'.='.p;.='.p;.yX $,.-'.;'.-'.oW H>.%,.%,.G>.&,.&,.&,.&,.lU *,.=,.=,.;,.jV iV >,.>,.>'.V,.cU ',.aU ),.!,.,'.~,.~,.''.)'.!'.(,._,.~'.{'.{'.]'.^'.[,./'.{B ('._'.:'.<'.['.sz sz }'.|'.5,.6,.1'.2'.3'.4'.5'.NA 0,.KA 6'.7'.8'.d,.9'.0'.g,.a'.e,.b'.RW a,.c'.P-.d'.e'.f'.g'.h'.i'.j'.ty q. 0- 0- '= '* ", +" k'.l'.'e .9 $8 LB m'.I` EO V- $0 ;+.*~ #..n'.[) {, 5>.o'.p'.q'.7>.>;.E=.r'.s'.t'.u'.v'.w'.x'.y'./;.z'.A'.B'.C'.D'.E'.F'.E'.G'.H'.I'.I'.J'.K'.L'.J'.M'.M'.N'.O'.P'.Q'.Q'.R'.dW x>.S'.x>.S'.S'.T'.eW U'.,T V'.W'.gW iW jW jW X'.Y'.Z'.`'.`'. )..)..). ,. ,.+).+).@).@).#).R>.T>.T>.$).U>.U>.U>.%).+'.W>.W>.X>.W>.Y>.s;.s;.t;.t;.#'.&).&).w;.w;.w;.w;.*).y;.y;.y;.y;.y;.y;.y;.y;.y;.=).z;.z;.z;.z;.z;.A;.F;.p;.p;.p;.p;.p;.p;.p;.p;.p;.p;.-).-).-).-).;).;).>).yX yX yX yX zX AX p;.p;.p;.='.p;.yX xX @).O;.Q;.O;.,).').').').)).)).!).~).~).{).{).]).]).H>.H>.G>.mU mV iW iW tW iU gU >,.fU eU T'.z>.aU U,.U,.,'.~,.{,.^)./).()._)._,.:,.WA :).:).<).{B PA OA MA _B ['.[).}).|).1).5,.6,.6,.^'.2)./'.3).4).5).6).7).8).c,.9).0).a).NV b).;>.c).)U d).N-.f=.e).^9 (8 f).bR RC g).h).H- o= z* ", +" c$ 14 @! .9 1p LB i).j).&+.), k).l).:) z} u+.m).n).A, o).p).q).|%.C=.D=.0&.r).z,.s).t).u).v).w).x).y).z).A).B).C).C).C).D).E).F).G).H).I).H).H).I).I).J).K).K).L).M).N).O).P).jX jX jX kX i;.i;.Q).R).S).T).tX tX U).V).W).X).Y).='.Z).`). !..!.+!.+!.@!.@!.#!.#!.$!.A;.A;.%!.&!.*!.*!.=!.-!.-!.;!.;!.;!.>!.>!.,!.,!.SY '!.'!.)!.)!.!!.!!.!!.!!.!!.!!.~!.[-.[-.[-.[-.[-.[-.[-.}-.}-.}-.}-.}-.}-.{!.{!.[-.K;.]!.]!.]!.]!.^!.^!.^!./!./!./!./!./!./!./!.(!./!./!./!.(!.(!.(!._!._!.:!..aV 2W [U :U (U j!.k!.;>.l!.m!.n!.j!.}W o!.d).p!.q!.sR r!.NS s!.GS Z1 2[ L .t!.!%.!%.+- z* ", +" :% u!.v!..9 1p rN w!.j).x!.x, o~ y!.z!.A!.#..u+.4>.B!.C!.D!.%z E!.=;.F!.7>.G!.H!.I!.z,.J!.K!.L!.M!.N!.O!.P!.Q!.y'.d>.R!.S!.T!.U!.V!.W!.U!.U!.X!.Y!.Z!.`!.`!. ~. ~..~.+~.@~.DY #~.$~.;-.%~.&~.&~.*~.=~.-~.;~.>~.MY NY ,~.a-.'~.)~.!~.~~.{~.]~.^~./~./~.(~.(~.7-.7-.7-._~.:~.<~.[~.}~.|~.|~.|~.1~.1~.2~.3~.3~.4~.4~.4~.Y*.Z*.Z*.Y*.5~.6~..=..=..=.7~.7~.7~.8~.8~.8~.+=.+=.+=.+=.9~.9~.9~.9~.9~.9~.9~.9~.0~.Z*.g-.g-.g-.g-.g-.g-.g-.g-.U*.U*.U*.g-.g-.e-.e-.e-.S*.S*.c-.c-.e-.c-.a~.b~.b~.b~.a~.c~.d~.e~.f~.f~.d~.g~.g~.g~.g~.h~.h~.^~.b-.i~.j~.k~.k~.l~.m~.QY QY a-.n~.o~.NY p~.p~.WY UY k-.*~.,-.q~.r~.=-.s~.$-.NR t~.u~.+-.p-.DR r-.v~.w~.x~.y~.z~.LD A~.y-.z-.C-.C-.B~.C~.D~.E~.F~.G~.H~.I~.I~.aX 9X J~.K~.L~.K-.M-.O-.`S O-.M~.N~.O~.N~.P~.Q~.R~.LS IS S~.Z1 X1 ^8 T~.*< U~.0- t; 0- z* ", +" Z@ d3 d3 .9 1p 4D i).j).3: V~.W~.oJ !/ J1 35 &+.X~.Y~.Z~.&~ `~. {..{.x,.=;.|%.+{.@{.>;.#{.${.%{.&{.l*.K!.L!.*{.={.={.-{.-{.;{.>{.,{.,{.'{.'{.M=.=` =` =` ){.){.-` -` !{.~{.{{.]{.]{.,` ,` ,` ,` ` .` @` ^{.&` =` -` !{.~{./{.({._{.:{.:{.<{.[{.[{.}{.|{.|{.1{.1{.1{.2{.2{.3{.4{.4{.4{.5{.6{.6{.6{.7{.7{.M&.M&.M&.M&.8{.9{.9{.9{.9{.0{.0{.a{.a{.a{.a{.a{.a{.P&.S&.b{.b{.b{.b{.b{.R&.R&.R&.R&.R&.R&.R&.R&.R&.K&.I&.I&.I&.I&.I&.I&.I&.I&.H&.H&.H&.c{.c{.c{.c{.c{.)=.)=.G&.G&.G&.G&.'=.'=.'=.d{.d{.d{.d{.d{.e{.f{.f{.f{.g{.g{.h{.i{.i{.j{.j{.:{.k{.k{.,=.l{.m{.m{.m{.n{.-` -` ;=.;` o{.^{.p{.q{.Q*.P*.(=.(=.r{.s{.t{.u{.6Q 5Q jF iF fF |Q <=.[Q v{.zW yF vQ w{.x{.2=.2=.y{.EY CY zY zY z{.A{.|;.B{.C{.sY D{.E{.F{.CR G{.OS yR b=.}V }V b=.H{.I{.J{.K{.L{.^X M{.N{.O{.P{.&< Q{.R{.+- o> H- '= ", +" S{.T{.u!.8) +#.1t U{.5M 4) V{.#~ U) *~ |&..W A!.*X W{.X{.Y{.m).Z{.`{. ]..].+].@].#].$].%].+{.&].8>.*].=].-].;].>].>].>].,].'].)].!].~].h&.a>.~].{].]].]].^].1 ./].1 .(].3 .3 ._].:]._]._].5 .5 .<].< .[ .| .[].}].3 .|].1].2].2].3].3].4].5].6].6].7].7].8].9].9].0].0].a].a].b].c].c].d].d].e].e].f].g].g].h].h].i].i].h].j].k].k].k].k].k].l].l].l].l].l].G%.G%.G%.G%.G%.G%.G%.G%.G%.H%.H%.H%.H%.H%.H%.I%.G%.m].m].m].m].m].m].m].m].m].m].m].y%.y%.n].n].n].o].o].o].p].p].p].p].q].q].q].q].r].`&.`&.Y&.Y&.Z&.Z&.Z&.Z&.s].t].t].t].u].4].v].v].w].x].y].z].A].A].|].B].C].2 .1 .D].E].F].@*.5 .G].H].LX I].#*.$*.)P ,P >P -P *P WG J].K].**.L].M].OG _` N].MZ }` O].P].O].UZ Q].R].S].T].U].V].W].X].rF aF 0F fY Y].5F Z].<*./Q `]. ^..^.+^.@^.#^.$^.P{.A< &&.g| %^.&^.*^..;.o> H- o= ", +" =^.-^.;^.+1 +#.>^.:Y NB :, B2 55 ,^.3: 9G UE }R RT .W EO *X W{.'^.)^.Y{.m).7D Z{.`{.!^.~^.{^.]^.^^./^.n$.(^._^.:^.<^.[^.}^.|^.}^.1^.1^.2^.2^.3^.4^.4^.6..5^.5^.6^.7^.8^.9^.0^.5^.^` a^.b^.9..b^.<..}..|..2..4..c^.d^.d^.e^.f^.g^.h^.i^.j^.k^.l^.q$.m^.n^.n^.s$.o^.p^.p^.w$.w$.q^.x$.y$.r^.r^.r^.r^.s^.s^.s^.t^.s^.u^.u^.v^.v^.v^.v^.v^.v^.v^.v^.v^.w^.x^.w^.w^.w^.w^.y^.y^.z^.z^.A^.A^.A^.A^.B^.B^.B^.B^.B^.B^.v^.C^.r+.r+.r+.r+.r+.r+.r+.r+.r+.r+.r+.r+.r+.D^.D^.D^.D^.E^.E^.E^.E^.E^.u$.F^.G^.F^.F^.H^.u$.o^.I^.I^.I^.J^.J^.K^.p$.p$.M%.M%.L^.M^.M^.N^.N^.O^.e^.P^.Q^.d^.R^.5..3..S^.T^.U^.8..8..V^.u%.`R )` p%.Q%.n%.W^.X^.j%.VN gI .O oI bI RN 7I PN 2I 3I Y^.Z^.{ .`^. /../.RX ) .+/.@/.> .j&.Y` #/.$/.%/.&/.*/.=/.=/.-/.vZ ;/.>/.,/.'/.)/.!/.~/.{/.LO ]/.6% ^I B_ F& ^/.//.r=.0- o= ", +" (/._/.`@.0) 6> :/.;$.Wx (.Q$.'K -K {K `J k..WJ %K ,(.'(.)(.!(.j..T%.~(.{(.8%.](.^(.aT d%.4I /(./(.((._(.:(.<(.[(.}(.|(.1(.2(.Q{.((.3(.NN %.;_ 4(.G& 5(.6(.r=.0- ", +" 3@ V~ y- f< 44 6A RE 7(.+#.8(.,7 9(. c Ua Wk 'g 0(.Vx 0(.Wk Wy 1D 1D Wy 1D a(.Wy Wy Wy )@.oS pS a(.pS oS PT pS .u F` ` .` .b(.c(.kv d(.e(.1@.f(.g(.h(.i(.j(.k(.l(.m(.C@.C@.6L 6L 1L n(.o(.p(.t@.t@.q(.o@.r(.r(.e@.s(.t(.u(.v(./L f@./L /L u(.f@.f@.w(.x(.y(.z(.z(.A(.B(.z(.^L ~L C(.D(.D(.D(.{L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L D(.i@.h@.E(.y(.w(.k@.F(.G(.!L H(.H(.G(.I(.I(.I(.I(.I(.I(.J(.I(.I(.e@.n@.n@.r(.r(.p@.p@.p@.o@.o@.K(.q(.q(.c@.c@.c@.q@.s@.s@.L(.L(.t@.t@.t@.t@.}L p(.p(.p(.o(.M(.M(.N(.6L O(.P(.C@.Q(.Q(.R(.l(.l(.S(.j(.hL T(.H@.U(.V(.3@.5#.M@.M@.,g xL W(.CL [@.I#.1D 0(.~@.X(.Y(.Z(.Y@.Z@.`(. _.._.+_.@_.#_.$_.%_.&_.*_.=_.-_.;_.>_.,_.'_.A=.)_.S* !_.B] /^ M+.~_.2= {_.]_.b*.G- ", +" %# ^_.)6 ;^.;^.4A RE RE /_.(_.6> __./_.#d *q *q J@.I@.g(.U(.:_.<_.j(.k(.D@.S(.[_.}_.aL aL |_.|_.1_.m(.2_.3_.1_.4_.4_.5_.Q(.6_.6_.8L Q(.6_.C@.7_.z@.4L 3L 3L 3L 1L 8_.v@.v@.r@.r@.q@.s@.9_.c@.q(.q(.n@.e@.I(.I(.G(.0_.u(.u(.a_./L f@./L /L u(.f@.f@.w(.x(.y(.z(.z(.A(.B(.z(.^L ~L C(.D(.D(.D(.{L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L D(.i@.h@.E(.y(.w(.k@.F(.G(.!L H(.H(.G(.I(.I(.I(.I(.I(.I(.J(.I(.I(.e@.n@.n@.r(.r(.p@.p@.p@.o@.o@.K(.q(.q(.c@.c@.c@.q@.s@.s@.L(.L(.t@.t@.t@.t@.}L p(.p(.p(.o(.M(.M(.4L 6L b_.O(.c_.C@.C@.8L Q(.Q(.4_.d_.eL e_.f_.f_.hL F@.G@.g_.g_.iL h_.h_.V(.2@.h_.OK OK PK K@.K@.K@.i_.j_.wn ,g ,g wL [@.k_.Sa l_.m_.n_.o_.p_.q_.r_.s_.t_.EO L= ,^.W~.w> u_.5= 4= v_.w_.x_.KK ;> ", +" y_.{& )6 Q: b) z_. A_.Yb ;e B_.7G ]i kv *q TK SK C_.f(.I@.RK RK PK h_.h_.OK D_.E_.F_.F_.G_.E_.OK F_.H_.I_.h(.J_.E@.i(.J_.j(.k(.d_.1_.Q(.8L 7L b_.K_.L_.L_.n(.1L u@.r@.M_.a@.b@.q@.p@.n@.N_.m@.G(.0_.u(.u(.a_./L f@./L /L u(.f@.f@.w(.x(.y(.z(.z(.A(.B(.z(.^L ~L C(.D(.D(.D(.{L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L D(.i@.h@.E(.y(.w(.k@.F(.G(.!L H(.H(.G(.I(.I(.I(.I(.I(.I(.J(.I(.I(.e@.n@.n@.r(.r(.p@.p@.p@.o@.o@.K(.q(.q(.c@.c@.c@.q@.s@.s@.L(.L(.t@.t@.t@.t@.}L p(.p(.p(.o(.M(.M(.4L 6L b_.O(.c_.C@.C@.8L Q(.1_.O_.k(.k(.P_.E@.E@.g_.iL h_.h_.h_.Q_.L@.L@.M@.wn }@.}@.kv ]i tL R_.xL ^@.DL S_.G#.T_.U_.c#.Y(.1>.V_.W_.X_.Y_.Z_.`_.t_. :..:.`E 2) F' +:.9{ H= R* 8* @:.#:.$:.sO !%. ", +" y_.%:.I> f< u!.&:.gs >^.*:.=:.!^ A} 2: -:.VE io ;:....>:.,:.'$.':.XE ):.!:.H` ~:.{:.]:.^:./:.(:._:.::.<:.[:.}:.|:.w/.1:.2:.2:.3:.3:.2:.4:.4:.4:.`~.5:.6:.6:.7:.8:.8:.u/.9:.w/.0:.a:.z/.V/.b:.H$.Y/.W/.V/.x/.R/.S/.B/.B/.E/.K/.c:.H/.I/.d:.e:.f:.f:.f:.g:.h:.h:.h:.h:.i:.j:.j:.k:.l:.l:.l:.m:.m:.n:.m:.m:.o:.m:.p:.p:.p:.p:.q:.q:.q:.q:.p:.p:.r:.s:.s:.s:.s:.s:.s:.t:.s:.s:.s:.s:.s:.u:.s:.s:.s:.s:.s:.u:.u:.u:.u:.u:.u:.q:.v:.v:.v:.v:.v:.v:.v:.v:.v:.v:.v:.v:.v:.w:.x:.l:.l:.l:.l:.y:.x:.x:.x:.x:.x:.y:.j:.j:.o:.z:.z:.A:.A:.A:.A:.B:.B:.B:.C:.d:.d:.D:.E:.F:.K/.G:.L/.O/.B/.R/.T/.H:.V/.W/.Y/.C$.B$.`/.I:.q/.J:.n/.m+.m/.g+.f+.K:.l/.a+.9+.L:.c .*(.pQ 1+.M:.N:.N:.j$.F!.O:.O:.P:.Q:.2%.R:.8$.S:.T:.LM U:.V:.W:.X:.Y:.Z:.`:.Z:.Z:.`:.`:.`:. <..<.RJ +<.@<.;..#<.#<.$<.%<.&<.*<.); H- ", +" H< ,[ Nl k#.M' h#.=<.*:.B} x!.^[ -<.;<.><.G` ,<.):.)$.'<.)<.!<.~<./:.{<.]<.^<./<.6/.|:.2:.(<._<.:<.<<.9/.[<.}<.|<.r$.r$.r$.1<.2<.3<.l$.4<.5<.5<.f^.6<.6<.7<.7<.7<.8<.9<.0<.a<.b<.c<.c<.j^.d<.e<.L%.L%.8<.K^.s$.v$.q^.y$.r^.s^.s^.f<.g<.y^.y^.y^.B^.h<.h<.h<.i<.j<.j<.k<.k<.k<.t/.l<.m<.n<.n<.o<.o<.o<.p<.p<.p<.p<.p<.p<.q<.q<.v/.v/.v/.v/.r<.r<.s<.s<.s<.s<.s<.s<.s<.s<.s<.y/.y/.y/.y/.y/.y/.y/.y/.y/.y/.y/.y/.y/.y/.x/.Y/.D$.D$.D$.D$.D$.D$.D$.D$.D$.D$.D$.D$.D$.D$.A$.A$.B$.Z/.Z/.Z/.Z/.Z/.Z/.Z/.`/. (.Z/.t<.s/.q/.q/.q/.q/.u<.u<..(..(.v<.m+.+(.+(.+(.r+.D^.E^.G^.F^.H^.J^.p$.M%.w<.M^.N^.f^.e^.d^.x<.5..3..y<.U^.6..9..V^.]` {` .S p%.z<.W^.l%.A<.j%. Z h%.B<.C<.D<.E<.F<.G<.WN hI H<.TN I<.J<.K<.L<.M<.N<.1(.M<.M<.M<.O<.O<.L<.P<.P<.Q<.R<.^..S<.T<.QJ SJ >..$<.%<.U<.V<.;> G- ", +" W<.:- &:.X<.X<.=<.@+.QE Y<.Z<.J; `<. [..[.!:.~:.hZ ~<.,V ~V +[./<.@[.1:.8:.#[.~^.9/.0/.q^.r$.8<.$[.%[.&[.0^.*[.=[.-[.J<.J<.;[.J<.;[.>[.,[.'[.'[.)[.![.![.~[.{[.~[.9].][.][.^[./[./[.([.([.u].4].6]._[.8].r].:[.b].e].f].f].i].i].<[.G%.G%.I%.[[.[[.}[.|[.}[.1[.2[.3[.2[.4[.5[.6[.7[.8[.8[.h^.9[.9[.9[.0[.0[.0[.0[.0[.0[.a[.a[.a[.a[.b[.c[.c[.c[.c[.c[.c[.c[.c[.c[.c[.d[.d[.n^.n^.n^.n^.n^.n^.n^.n^.n^.n^.n^.n^.n^.n^.n^.m^.e[.N^.N^.N^.N^.N^.N^.N^.N^.N^.N^.N^.N^.N^.N^.d<.f[.f[.e^.e^.e^.e^.P^.P^.P^.Q^.h^.g[.8[.c^.c^.J%.J%.h[.h[.3..i[.S^.D%.D%.U^.B%.m].y%.n].n].o].q].Y&.`&._[.6].4].4].j[.z].k[.A].l[.3 .2 .m[.I&.n[.@*.o[.p[.H].MX tU q[.%*.'P w&.&*.ZG r[.z&.s[.t[.'` u[.`G v&.v[.w[.x[.y[.z[.A[.B[.C[.D[.D[.E[.F[.G[.H[.I[.J[.K[.L[.M[.}I c%.e%.S<.QJ #<.C^ w$ N[.O[.t; ); ", +" P[.NK t} 0) x- Pl @+.:R 1) !/ +_ y> :> Q[.)<.R[.S[.::./<.@[.n).`{._<.T[.[<.U[.$].V[.W[.[^.*[.=[.X[.Y[.Z[.`[. }..}.+}.+}.@}.#}.$}.$}.#}.%}.&}.*}.*}.=}.1{.e{.=}.-}.-}.4{.4{.;}.6{.6{.>}.,}.6{.[{.[{.|{.'}.3{.)}.)}.5{.!}.7{.M&.M&.0{.a{.b{.S&.U&.T&.~}.{}.{}.]}.^}./}.(}.(}.(}._}._}.:}.5].<}.[}.}}.|}.7].|}.|}.|}.9].0].1}.1}.1}.1}.^[.:[.:[.:[.b].b].b].c].c].e].e].c].c].c].c].c].c].c].c].c].c].c].d].d].d].d].d].c].c].8].s].s].2}.2}.2}.2}.t].t].t].t].t].t].t].t].t].3}.4].v].v].v].w].w].j[.j[.y].4}.([.1}.y].V&.A].A].l[.5}.B].C].2 .2 .6}.6}.W&.7}.7}.8}.H&.G&.3{.9}.d{.g{.i{.0}.j{.j{.l{.a}.m{.b}.b}.;=.;` o{.p{.R*.Q*.^=.(=._=.:=.cQ K*.I*.5Q c}.2Q 7Q /=.d}.G,.e}._=.f}.g}.h}.i}.j}.k}.l}.l}.m}.j}.n}.n}.o}.p}.q}.r}.z[.s}.t}.K[.u}.v}.w}.c%.x}.QJ @<.E^ y}.z}.o, .;.); ", +" F# Wb 7> 0) [, >$.UH is A}.B}.C}.D} -X A, D}.'^.^<.E}.n).6:.F}.G}.H}.I}.6<.W[.0^.J}.K}.L}.M}.'[.N}.O}.P}.Q}.R}.S}.T}.U}.U}.U}.U}.V}.W}.f}.X}.Y}.Z}.Y}.Y}.`}.`}. |. |..|.+|..|.@|.@|.#|.$|.%|.2~.f~.&|.<~.|~.Y}.1~.*|.4~.5~.6~..=.8~.9~.=|.$=.%=.-|.*=.==.;|.;|.>|.>|.,|.'|.)|.)|.1{.2{.2{.2{.2{.4{.!|.!|.!|.5{.~|.6{.6{.!}.!}.!}.!}.7{.{|.{|.{|.8{.9{.8{.8{.0{.0{.0{.0{.0{.0{.0{.0{.0{.0{.0{.0{.0{.0{.a{.a{.a{.a{.a{.0{.0{.M&.]|.]|.]|.]|.]|.]|.'=.G&.G&.'=.'=.'=.d{.d{.d{.d{.d{.g{.g{.g{.g{.f{.^|.^|.^|.,}./|./|.(|.:{.,=.,=.,=.l{.a}.m{.m{.n{.b}.n{.;=.;=.X*._|.h-.h-.g-.g-.c-.e~.d~.g~.h~.h~.9-.i~.:|.l~.QY 0-.(-.L;.<|.WY [|.k-.,-.UR UR SR }|.%-.||.LR +-.s~.1|.,-.2|.3|.4|.5|.6|.7|.8|.9|.0|.0|.9|.a|.b|.c|.d|.l}.m}.j}.e|.p}.f|.g|.h|.i|.#/.j|.k|.x}.,..l|.M+.m|.n|.a- ;> ", +" F# o|.a#.M' l#.0G p|....2: =1 q|.r|.]- y^ _%.)^.@[.n).s|..].{^.U[.n$.V[.0^.t|.L}.u|.v|.w|.+}.x|.R}.*}.T}.y|.z|.A|.B|.C|.D|.E|.F|.F|.G|.H|.I|._-.J|._-.K|.L|.M|.M|.N|.N|.M|.O|.O|.O|.P|.Q|.R|.S|.T|.U|.*!.;!.>!.,!.'!.!!.!!.[-.}-.V|.V|.1-.2-.2-.4-.5-.6-.W|.W|._~._~._~.<~.|~.|~.|~.|~.X|.Z}.2~.3~..|..|.Y|.Y|.5~.5~.6~..=..=.Z|.Z|.Z|.z|.z|.z|.9~.9~.9~.9~.9~.9~.=|.%=.%=.%=.%=.%=.-|.-|.-|.-|.-|.-|.-|.-|.-|.-|.-|.-|.-|.-|. =.;` ;` ;` ;` ;` ;` h-.h-.h-.h-.h-.U*.U*.U*.U*.g-.g-.g-.e-.c-.a~.a~.b~.Y}.`|.`|.`|.4~.g~.g~.h~.h~. 1.9-.i~.j~.:|.:|.l~.m~.m~.(-.(-.OY ^-.K;..1..1.(!.(!._!.N;.#!.+1.I;.2!.4!.G;.*'.='.AX xX P;.@1.7!.#1.$1.[T [T T;.%1.d;.9!.!T T;.&1.M'.*1.=1.-1.;1.>1.,1.,1.'1.)1.!1.~1.{1.]1.^1./1.(1.c|._1.:1.<1.[1.}1.|1.11.21.k&.k|.x}.>..E^ /^ 31.41.z* t; ", +" 51.61.P#.M' x- (_.io >$.*( 71.:> M1 8: t_ 81.91.n).`~..].{^.f/.01.W[.&].R<.M[.a1.b1.O}.c1.R}.d1.e1.f}.A|. |.f1.g1.h1.i1.j1.k1.k1.l1.l1.m1.n1.+!.o1.p1.q1.r1.s1.s1.t1.t1.u1.v1.w1.w1.v1.x1.y1.z1.A1.X>.V>.W>.B1.Y>.#'.#'.w;.x;.y;.z;.A;.C;.C1.*!.D1.-!.-!.E1.;!.F1.'!.'!.~!.~!.~!.~!.~!.G1.G1.H1.|-.I1.J1.K1.L1.L1.L1.L1.M1.4-.4-.4-.6-.6-.W|.W|.8-._~._~._~._~.N1.N1.N1.N1.N1.N1.N1.}~.}~.}~.}~.}~.}~.}~.[~.[~.[~.}~.}~.}~.}~.8-.j~.:|.:|.:|.j~.j~.j~.j~.:|.:|.l~.O1.P1.O1.m~.m~.m~.QY Q1.Q1.PY (-.OY 1-.R1.S1.S1.T1.K;.~-.~-./!.(!._!._!.U1.[!.N;.+1.+1.I;.V1..!.4!.#,.H;.BX ='.p;.yX xX %'.@).O;.`>.').)).{).-'.oW W1.&,.mU mV =,.nU X1.Y1.pU V,.bU ),.!,.~,.Z1.`1.kV 2..2.+2.@2.#2.$2.%2.&2.*2.=2.-2.!1.;2.~1.]1.^1.a|.>2.,2.'2.)2.!2.~2.{2.21.]2.^2.T<.xM /2.F= (2._2.o= t; ", +" :2.<2.[2.44 x- 8) }2.;:.(%.71.V- ^- t_ P1 |2.Y{.12.I:.8/.22.32.%].[^.J}.42.Z[.52.62.72.82.92.U}.02.a2.b2.f1.c2.d2.e2.f2.f2.M|.g2.h2.i2.i2.j2.k2.l2.m2.m2.n2.n2.m2.o2.p2.p2.q2.q2.q2.r2.s2.s2.t2.u2.v2.S>.S>.S>.T>.V>.$'.w2.X>.Y>.#'.w;.w;.x2.y2.y;.=).A;.A;.C;.&!.E;.E;.-!.-!.-!.E1.E1.T|.z2.A2.B2.B2.C2.~!.~!.<-.<-.G1.G1.H1.H1.H1.{!.|-.I1.I1.I1.L1.M1.M1.M1.4-.4-.4-.4-.D2.D2.D2.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.O1.QY QY 0-.0-.a-.n~.n~.PY PY (-.E2.E2.E2.L;.K;.K;.K;..1..1.^!.^!.^!.F2.G2.G2.G2.H2.I2..O;.`>.').)).Y,.]).W1.M2.&,.&,.mU N2.O2.O2.P2.Q2.R2.S2.T2.T2.U2.V2.W2.X2.Y2.R2.Z2.`2. 3..3.$2.%2.*2.*2.+3.@3.@3.#3.$3.%3.'1.&3.*3.=3.a|.c|.,2.-3.;3.>3.h|.62.,3.w}.e%.,..'3._+.)3.!3.~3.{3.t; ", +" ]3.^3..1 T#.>q /3.(3._3.1; !, :3.]- ~+.x^ ^<.n).4:.o+.22.I}.<3.&[.[3.42.}3.52..}.P}.|3.13.U}.23.33.43.f1.53.63.J1.f2.M|.73.73.i2.83.83.93.03.a3.m2.b3.c3.m2.d3.d3.d3.e3.f3.f3.q2.r2.s2.t2.g3.u2.h3.i3.S>.S>..'.V>.w2.w2.X>.j3.n2.#'.k3.w;.*).y2.y;.B;.B;.C;.E;.E;.E;.E;.l3.E1.E1.T|.A2.A2.B2.B2.C2.'!.~!.~!.~!.~!.[-.H1.H1.F2.|-.|-.|-.I1.m3.M1.M1.M1.4-.n3.D2.D2.D2.D2.n3.n3.D2.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.4-.QY PY PY Q1.Q1.:-.:-.PY PY E2.E2.E2.E2.E2.^-.^-.^-.o3.K;..1./!.E2.p3.q3.q3.G2.m3.H1..)).{).]).oW W1.G>.r3.N2.s3.t3.u3.u3.Q2.v3.w3.x3.y3.U2.z3.W2.X2.A3.`2.B3.C3.D3..3.$2.%2.&2.*2.&2.*2.E3.F3.+2.'1.G3.;1.H3.I3.c|.,2.'2.i}.!2.E[.K[.J3.K3.L3.M3.N3.O3.:+.M& P3.Q3.t; o> ", +" ]3.h~ YK 6> ++.*:.(3.R3.D> q|.S3.-+.T3.-+.)^.@[.U3. ].G}.22.9<.6<.0^.V3.W3.}3.X3.Y3.@}.Z3.`3.U}. 4.33.@|.C|..4.+4.@4.@4.#4.$4.m1.$4.%4.$4.&4.*4.=4.=4.-4.;4.;4.t1.t1.v1.x1.>4.h3.,4.A1.'4.)4.)4.!4.~4.{4.s;.t;.&).w;.]4.y;.^4.C;.D;.D;./4.E;.(4.T|.F1.'!.'!.B2.'!.~!.N|.<-.H1.J1.J1.I1.I1.L1.1-.2-.4-.4-._4.W|._4.W|.8-.8-.:4.}~.}~.}~.}~.}~.<4.X|.|~.|~.X|.X|.X|.X|.2~.2~.2~.[4.2~.2~.3~..|..|..|..|..|..|..|..|..|..|..|.3~.[4.&|.h~.h~.h~.h~.h~.h~.h~.^~.9-.9-.9-.9-.}4.{~.:|.:|.O1.l~.l~.|4.4-.14.X|.24.34.34.34.:-.^-.o3..1./!./!._!.j-._!.U1.N;.44.+1.I;.V1.V1.G;.H;.='.='.AX zX xX %'.o;.`>.$,.)).54.pW oW %,.%,.&,.N2.64.74.84.X1.94.cU 04.sV V2.a4.b4.c4.d4.F3.e4.f4.f4.g4.h4.i4.j4.f4.k4.l4.m4.H3.n4.o4.p4.q4.h}.r4.s4.t4.u4.v4.w4.x4.M3.yM DM S:.y4.6] z4.o, o, o> ", +" A4.B4._5 f @#.C4.(3.tN ;<.D4.E4.F4.#_ ]/ Y{.t+.@[.G4. ].T[.22.I}.H4.W[.I4.J4.K4.}}.L4.M4.N4.|3.O4.P4.Q4.R4.S4.T4.43.G|.G|.U4.V4.W4.X4.X4.Y4.Z4.M|.M|.g2.N|.O|.O|.&4.`4.`4.`4. 5. 5..5..5.+5.@5.#5.$5.%5.&5.~!.~!.[-.H1.|-.1-.*5.3-.4-.=5.W|._~.:~.}~.}~.[~.X|.Z}.2~.-5.2~..|.Y|.Y|.5~.5~.6~..=.Z|.z|.9~.9~.9~.$=.&=.-|.&=.*=.*=.*=.;|.;|.;|.;|.;|.;|.;5.,|.>5.,|.,|.>5.>5.'|.'|.>5.>5.'|.'|.'|.'|.'|.'|.'|.'|.'|.'|.'|.'|.'|.>5.>|.,5.,5.,5.+=.n{.n{.n{.n{.n{.n{. =. =.`*.`*.;=.X*.X*.X*.'5.h-.)5.!5.~5.~5.{5.]5.^5.Y*.e~.e~./5.f~.(5.(~.h~.h~.i~.j~.:|.k~.QY 0-.n~.E2.^-.^-.K;._5.:5._!.<5.N;.1!.I;.#,.4!.G;.='.[5.-).yX %'.O;.').54.54.}T nW (T ^T gW (T }5.|5.15.25.35.45.25.55.;1.;1.65.25.75.n4.85.95.05.a5.-3.b5.s4.c5.d5.e5.f5.g5.-].UN h5.EM S:.!_.N{ i5.j5.k5.n, ", +" G# l5.Q; 44 +#.++.>$.Xx !$.1; y> D} z^ ]- m5.{<.G:.n5.12.s|.~^.o5.}<.p5.H4.q5.r5.=[.s5.t5.u}.i|.u5.$}.v5.w5.x5.y5.z5.Q4.A5.A5.!5.B5.C5.A5.A5.D5.[4.14.E5.14.F5.F5.G5.H5.H5.I5.J5.K5.L5.K5.%|.M5.N5.O5.D5.P5.Q5.Y|.5~.6~..=.9~.9~.0~.-|.*=.R5.,|.>5.S5.>5.T5.'|.U5.V5.V5.4{.4{.!|.5{.5{.5{.W5.7{.{|.7{.X5.9{.9{.9{.Y5.b{.Z5.b{.S&.S&.S&.S&.S&.S&.S&.~}.~}.~}.~}.~}.~}.`5.]}. 6. 6. 6. 6.]}.]}.]}..6..6..6..6..6..6..6.]}.]}.]}. 6.]}.O&.W&.6}.W&.K&.K&.K&.K&.K&.8}.H&.H&.H&.H&.+6.H&.@6.@6.]|.+6.#6.$6.%6.&6.&6.*6.=6.8{.0}.j{.j{.-6.-6.,=.-=.({.m{.;6.n{.`*.;=.X*.W*.h-.e-.>6.a~.d~.d~.f~.h~. 1.}4.:|.l~.QY Q1.(-.L;.K;..1./!.j-.N;.+1.2!.3!.@,.,6.'6.W).@,.)6.!6.C2.~6.{6.95.95.]6.85.]6.^6.6|./6.(6._6.:6.b5.<6.[6.}6.|6.u4.16.26.36.46.H!.~(.56.'+.}+.D; 66.76.86.96.n, ", +" 06.a6.x- /_.mv T#.1p AO }/. [.b6.c6.d6.F4.e6.~<.{<.<:.f6.0:.(<.g6.h6.i6.j6.k6.U:.l6.m6.n6.o6.;[.p6.q6.r6.s6.t6.u6.=6.v6.w6.x6.y6.x6.x6.x6.y6.z6.A6.B6.C6.y5.P4.D6.E6.F6.F6.G6.G6.H6.I6.I6.J6.y6.y6.K6.L6.M6.N6.O6.6{.7{.M&.P6.P6.Y5.S&.R&..}.`5.]}.]}.Q6.Q6.Q6._}._}._}.[}.R6.7].7].9].9].9].9].:[.:[.^[.c].c].c].c].d].S6.S6.T6.S6.S6.h].h].i].i].i].j].k].j].j].k].k].k].k].k].k].U6.V6.V6.V6.V6.V6.V6.V6.V6.V6.V6.U6.k].k].k].W6.h].X6.q].p].q].X6.X6.Y6.][.Z6.Z6.Z6.Z6.Z6.Z&.Z&.Z&.`6.6].c].;[. 7..7.T6.([.([.([./[.j[.A].A].V&.A].+7.3 .@7.N&.W&.W&.K&.H&.c{.)=.3{.e{.f{.f{.i{.-6.,=.-=.,5.m{.n{.;=._|.h-.#7.e-.a~.e~.(5.h~.$7.i~.:|.O1.'~.%7.&7.*7.P1./~.k~.=7.-7.;7.>7.>7.,7.'7.)7.!7.~7.~7.{7.]7.^7./7.(7._7.:7.<7.[7.}7.|7.17.27.D=.56.!+.l).y!.37.2] 47.57.67.n, ", +" 06.77. L mv )e $8 @+.87.97.07.h*.H; a7.b7.!<.!<.c7.{<.d7.E/.e7.f7.g7.h7.i7.j7.k7.l7.|<.m7.n7.o7.p7.q7.r7.s7.t7.u7.v7.v7.w7.x7.u7.u7.u7.y7.z7.x7.A7.B7.C7.D7.B7.E7.F7.F7.F7.G7.v7.H7.I7.J7.J7.K7.L7.M7.N7.O7.P7.Q7.c].c].f].S6.;[.k].G%.G%.G%.H%.[[.R7.}[.2[.2[.3[.2[.3[.7[.S7.8[.h^.h^.0[.0[.T7.l^.l^.8<.c[.b[.c[.c[.a<.a<.U7.U7.c<.p^.w$.v$.w$.c<.p^.p^.V7.V7.r^.r^.r^.x$.r^.r^.V7.V7.V7.r^.r^.r^.r^.r^.r^.r^.r^.r^.V7.V7.V7.V7.w$.p$.M%.M%.L%.w<.w<.w<.L%.j^.j^.j^.M^.M^.N^.N^.f^.O^.d<.U7.W7.W7.W7.U7.m7.g[.b[.X7.g^.i[.i[.i[.i[.D%.Y7.B%.g].y%.n].o].r].Z6.Y&._[.6].u].Z7.x].k[.A].l[.B].@7./].I&.8}.G&.G&.9}.f{.^|.`7.,=.,=. 8.m{..8.;=.*` {{.>` ,5.+8.;=.@8.#8.$8.%8.&8.*8.*8.=8.-8.;8.>8.,8.'8.)8.!8.~8.{8.]8.^8./8.(8.27._8.:8.C=.R:.4P <8.[8.}8.|8.18.28.G) )' ", +" 38.48.^i +; Uy +#.3M >x y=.2' 2' [> A, D!.D}.TT 58.68.~<.78.(:.88.98.C/.|:.3:.08.a8.b8.c8.d8.e8.f8.g8.h8.i8.j8.k8.l8.m8.n8.m8.n8.n8.o8.o8.p8.p8.q8.r8.s8.N7.t8.O7.u8.P7.v8.w8.w8.x8.y8.z8.j8.A8.B8.C8.D8.E8.F8.G8.W7.0[.9[.m^.c[.a<.n^.n^.U7.p^.v$.H8.r^.r^.r^.i/.t^.I8.I8.I8.v^.y^.y^.J8.B^.B^.B^.K8.b8.i<.i<.i<.j<.j<.5:.l<.l<.l<.l<.7:.7:.p<.p<.L8.H/.J/.J/.J/.G/.c:.M8.N8.v/.O8.O8.O8.P8.P8.P8.w/.w/.w/.w/.w/.w/.w/.w/.w/.v/.v/.u/.Z/.Q8.Q8.s/.s/.s/.R8.q/.q/.q/.q/.q/.q/.q/.A^..(.S8.T8.U8.U8.l<.V8.m<.m<.W8.X8.b8.p+.E^.F^.u$.s$.J^.q$.M%.L%.w<.L^.O^.e^.e^.d^.:^.c^.h[.i[.|..C%.K%.Y8.o].q].Y&.Y&.t].4].v].x].k[.X&.B].@7.W&.m[.E].G&.G&.9}.Z8.N&.0{.H&.`8. 9..9.+9.@9.#9.!8.$9.%9.&9.*9.=9.-9.;9.>9.,9.'9.)9.!9.~9.{9.]9.^9./9.(9._9.:9.<9.W~.[9.S~ }9.!) |9. ", +" 19.29.e#.Q#.3M __.3M u=.%_.'/ y=.$..{$.|) 39.VH 49.jJ sN jJ jJ jJ jJ 59.69.79.79.89.79.99.09.a9.09.b9.c9.d9.e9.f9.g9.h9.i9.j9.k9.k9.l9.m9.n9.o9.p9.q9.r9.s9.t9.u9.v9.w9.x9.y9.z9.A9.B9.C9.D9.E9.F9.G9.H9.I9.J9.K9.3_.2_.|_.1_.1_.L9.M9.N9.b_.K_.O9.1L 2L 2L o(.o(.o(.}L M_.9_.c@.c@.c@.o@._L I(.G(.P9.Q9.R9.i@.]L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L ]L h@.h@.E(./L P9.e@.9_.v@.S9.z@.8L l(.D@.k(.T9.j(.j(.j(.i(.i(.h(.h(.U9.j(.h(.I_.h(.V9.F9.F_.D_.E_.W9.C9.X9.Y9.d(.b(.B_.R_.` .Z9.`9.t9. 0..0.+0.@0.#0.$0.%0.&0.*0.=0.-0.;0.>0.,0.'0.)0.!0.~0.{0.]0.^0.w:./0.B:.(0.M/.Q/.H:.u/.B$.b:.w/.q<.Z/._0.:0.<0.<0.[0.<0.<0.}0.|0.10.10.10.20.30.30.40.50.60.70.80.90.00.=_.a0.b0.c0.d0.e0.,^.E> f0.g0.t' U! ", +" n4 n4 [, _5 W0 h#.W0 Xy Yy h0.i0.y} UE ,<.CO j0.k0.k0.i).1>.l0.l0.2D :Y m0.n0.n0..0.r9.o0.p0.q0.r0.s0.t0.m9.u0.v0.w0.x0.x0.n9.n9.n9.y0.z0.A0.B0.C0.D0.E0.F0.G0.H0.I0.I0.J0.y9.z9.X9.B9.C9.D9.E9.F9.G9.H9.I9.J9.K9.3_.2_.|_.1_.1_.L9.M9.N9.b_.K_.O9.1L 2L 2L o(.o(.o(.}L M_.9_.c@.c@.c@.o@._L I(.G(.P9.Q9.R9.i@.]L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L ]L h@.h@.E(./L P9.e@.9_.v@.S9.z@.8L l(.D@.k(.T9.j(.j(.j(.i(.i(.h(.h(.U9.j(.h(.I_.h(.V9.F9.F_.D_.E_.K0.L0.B9.M0.e(.c(.7G b(.b(.N0.O0.P0.Q0.R0.S0.:@.T0.U0.0(.V0.W0.X0.Y0.Z0.`0. a.%0..a.+a.@a.*0.#a.#a.u,.$a.89.%a.&a.;0.*a.=a.-a.;a.>a.,a.'a.)a.!a.~a.{a.]a.^a.^a./a.(a._a.:a..C> >b.#z C!.,b.!V YH 'b.)b.!b.68.~b.{b.]b._:.^b./b.(b._b.:b.c.,c.'c.)c.!c.~c.{c.]c.^c./c.(c._c.H; :c. [> {, e6.K{ b7.2c.]:.3c.4c.5c.d7.6c._b.7c.8c.9c.g6.0c.ac.d8.bc.cc.dc.ec.fc.gc.n8.q8.hc.hc.hc.hc.ic.jc.kc.kc.lc.mc.nc.mc.oc.pc.qc.rc.sc.tc.N7.N7.uc.v8.hc.vc.x8.wc.j8.i8.xc.yc.zc.Ac.fb.Bc.Cc.Dc.4b.W7.T7.T7.m^.c[.n^.n^.s$.c<.w$.w$.r^.i/.i/.t^.I8.I8.Ec.Fc.h6.h6.B^.K8.K8.i<.Gc.Hc.Ic.m<.Jc.Jc.Jc.m<.Kc.Lc.=0.Mc.Mc.79.Nc.Oc.Pc.Qc.>a.>a.Rc.Sc.Tc.'a.Uc.Vc.s<.s<.s<.s<.t<.O8.O8.O8.O8.Wc.Vc.Vc.Vc.Vc.Vc.l<.S8.S8.S8.S8.h<.B^.B^.A^.z^.z^.y^.g<.J8.Xc.m<.m<.Hc.Hc.Gc.Yc.K8.Zc.Zc.Zc.jb.`c.o^.M%.M%.L%.L^.N^.N^.e^.e^.P^.x<.x<.h[.i[.7^.D%.C%.m].x%.v%.q].Y&.Z&.`6.u].Z7. d.z].k[.+7.C].2 .6}.7}.H&.c{.G&.!=.f{.f{.9{./|.6{.D7..d.+d.+d.+9.+9.@d.#d.$d.%d.&d.*d.=d.#c.%c.*c.-d.;d.>d.,d.'d.{c.)d.;_.m5.!d.~d.{d.a.Ad.Bd.Bd.Sc.Cd.Dd.Ed.Fd.Gd.Hd.V7.Id.Id.Id.Id.t^.Id.Id.Id.Jd.Jd.Jd.yd.yd.yd.Kd.p^.8<.j^.j^.j^.j^.9[.e[.N^.N^.N^.e^.P^.T7.E8.E8.g[.Ld.X7.Md.wd.wd.Nd.Od.Pd.Pd.y8.Qd.n].o].o].v%.q].Z6.Z&.Z&.t].t].v].w].x].y].A].B].C].@7.W&.W&.I&.H&.]|.d{.9}.g{.i{.i{.:{.-=.l{.m{.Rd.;=.;=.;` U*.e-.h-.R5.^5.$|.Sd.Td.Ud.Vd.Wd.Xd.Yd.Zd.`d. e..e.+e.*9.;9.,9.@e.#e.$e.%e.]9.&e.*e.=e.-e.c..E4.~d.:c.97.W* ;e.>e.b~ b~ ", +" 1[ ,e.Ua 'e.1p jo QE '$.)e.!e.~e.b/.(d.7>.#].<:.{e.f7.]e.^e./e.t^.H8.f8.|d.1d.l8.q7.(e._e.:e.w7.a.Ad.Bd.Bd.ue.Tc.Dd.Ed.Kc.Ed.Uc.2[.ud.ud.ud.ud.ud.ud.ud.ve.4[.4[.4[.ve.ve.2[.2[.R7.G%.<[.C%.g].f].f].e].c].b].X6.X6.X6.O7.we.O7.O7.O7.Q7. 7. 7.se.se.t7.xe.ye.1}.|}.+7.3 .@7.N&.M&.K&.7}.H&.c{.'=.'=.e{.f{.^|.ze.-6.:{.k{.,5.Ae.Ae.`*.;=.X*.h-.g-.S*.i-./5.7-.h~. 1.}4.:|.~~.m~.0-.(-.}-.24.Be.m3.Ce.De.Ee.Fe.Ge.He.Ie.Je.Ke.Xd.Le.Me.Ne..9.-9.>9.'9.Oe.$e.{9.Pe.Qe.Re.Se.~e.D} b6.:c.Te.A$ Ue.U .U .O~ ", +" Ve.x< Nl 3M t=._h $X WH B, d+.We.K` 7&.Xe.5^.h7.sb.5:.Ye.Ze.`e.W7.wd.j8. f..f..7.u7.9d.+f.@f.#f.$f.ie.%f.&f.*f.=f.-f.-f.;f.>f.>f.>f.,f.,f.,f.'f.)f.!f.!f.~f.{f.Y4.Y4.Y4.H5.]f.]f.^f.M5./f.(f.D5.D5.ce.ee.fe.ge.he.he.G6.H6.A6._f.:f.y6.K6.I6.)|.)|.V5.;}.6{.>}.a.0f.af.Gd.Rc.bf.pe.([.([.([.([.([.([.([.([.([.([.([.([.([.xe.xe.xe.7].j[.j[.j[.j[.cf.^}.{}.V&.T&.U&.(}.H7.df.df.G7.ef.E7.2f.2f.ff.gf.#6.#6.hf.if.w6.|{.jf.:{.:{.({.({.({.;6.n{.`*.;=.W*.;` U*.g-.e-.a~.d~.f~.(~.h~.9-.:|.:|.O1.Q1.PY OY ^-.{-..1.:5._!.N;.|!.I;.2!.4!.C1.kf.lf.C1.mf.nf.of.pf.qf.rf.sf.tf.uf.Je.vf.wf.`d.@9.+e.;9.xf.yf.zf.Af.Pe.Bf.Cf.Df.l/.Ef.g...7>.>;.=].i^.q<.i7.i6.Jf.m7.Od.k8.q7.N7.:e.Kf.Lf.kd.Mf.$f.Nf.Of.Pf.Qf.Rf.Sf.Tf.Uf.Vf.Vf.Wf.Xf.Yf.Zf.Zf.Zf.Wf.Wf.Wf.`f. g..g.+g. 5.@g..g.S|.#g.#g.$g.%g.&g.*g.{f.=g.-g.;g.>g.,g.'g.M5.Rf.)g.!g.D5.P5.fe.fe.P5.~g.Z|.~g.`|.^5.)5.{g.S5.]g.^g./g.(g.;}._g._g.!}.!}.h./g./g./g.8g.8g.,h.S5. 7.I0.'h.t9.t9.)h.!h.~h.{h.]h.u0.Eb.ra.[g.ma.Nc.E7.I6.w6.w6.w6.^h.^h.^h.^h./h.(h.^h.^h.^h._h.4g.h.(|.,|.,|.,|.:h.==.. ,..).{).{).]).W1.3h.mU %,.4h.5h.P>.6h.7h.8h.8h.9h.0h.ah.bh.ch.dh.eh.fh.gh.Le. e.~8.hh.,9.ih.%e.jh.kh.Re.lh.0:.b+.~d.mh.nh._& oh.[{ [{ [{ ", +" h| ph.}2.@+.0G js _i ~[ h*.6>.qh.yg.0&.Ag.>].$[.lb.`e.rh.sh. f.O7.th.q6.+f.[e.uh.vh.wh.)f.xh.yh.zh.Ah.Bh.Ch.Dh.Dh.Eh.Fh.Fh.Gh.Hh.Ih.Fh.Fh.Fh.Jh.Fh.Kh.Jh.Lh.Mh.Nh.Oh.Ph.Qh.,4.Rh.Rh.Tg.Ug.Sh.Xg.Yg.Yg.Yg.Th.Zg.Uh.@g. h.#g.#g.Vh.%g.Wh.Xh.Uf.;g.Yh.Zh.`h. i.S1..i.%h.+i.+i.&h.@i.=h.-h.-h.~g.0~.0~.`|.#i.)5.{5.{5.~5.C6.$i.]g.%i.Tb.L9.&i.C9.*i.X9.=i.-i.;i.>i.O0.Z9.,i.Y9.Kd.'i.H6.H6.7g.7g.7g.7g.7g.7g.7g.7g.)i.)i.F6.}h.)i.F6.F6.(g.;h.=|.=|.!i.+=.7~..=.6~.6~.$i.be.~i.'i.'i.'i.!g.Q5.{i.%|.%|.2h.%i.H5.H5.F5.]i.34.SY o3.^!.:5.U|._!.[!.^i.@!.+!.V1..!.G;.H;.BX p;..,.L2.%'.%'.O;. ,.))..).{).]).I>.%,.nV mU 64.74.74.P2.Q2./i.(i._i.:i.].u|.2b.Bg.pi.sh. f.qi.ri.Kf.Eg.Fg.$f.si.ti.ui.Ig.vi.wi.xi.yi.zi.Ai.Bi.Bi.Bi.Ci.Ci.Di.Ei.Bi.Ei.Fi.Fi.Gi.Gi.Ei.Ei.Gi.Hi.Ii.Ji.Ki.Li.Mi.Oh.Ni.Oi.Pi.Qi.Tg.Tg.Ri.Ug.Si.Ti.Yg.Th.Zg.`g.Ui.Lg.Vi.Wi.Xi.Xi.Yi.Zi.=g.$g.p3.p3.T1.S1.34.34.$h.%h.`i.&h.*h.#|.%i. j. j..j.~g.~g.+j.+j.Q5.@j.`|.#j.$j.o@.t@.z@.L9.m(.1_.d_.S(.%j.M9.S(.&j.{i.*j.=j.=j.=j.=j.F6.F6.F6.F6.0g.*j.*j.*j.0g.0g.|h.]g.~i.$i.`|.6~.6~.Y|.4~.Y|.2~.-5.-j.;j.!g.!g.>j.{i.,j.2h.'g.]f.%i.Zh.I5.Y4.W4.%5.$g.'j.T1.=!.N;.[!.+1.V1.V1.G;.G;.BX AX AX xX )j.@).`>.`>.')..).Y,.{).]).W1.%,.mU c4.64.74.P2.Q2.!j.~j.~j.{j.]j.^j./j.(j._j.:j.k.)g.,k.,j.,j.K5.;g.;g.-g.=g.{f.Wh.'k.@h.$5.Z4.+5.E;.@!.)k.!k.G;.='..,.~k.%'.)j.O;.O;. ,..).Y,.qW ]).oW %,.nV {k.c4.]k.P2.u3.^k./k.(k.{j._k.]j./j./j.:k.] >] ", +" w< w< <, =<.0G *:.|5 [/.o).ok.kj.6^.H!.pk.qk.M}.rk.f8.sk.m8.Dg.tk.uk.Lf.Fg.vk.wk.xk.ui.yh.vi.wi.yk.yj.zk.Ak.Gi.Bk.Ck.Cj.Dk.Ek.Ej.Fk.Cj.Cj.Hj.Fj.Ej.Dj.Hj.Gk.Dj.Hk.Kj.Lj.Ik.Hi.Mj.Jk.Oh.Qj.Qj.Rj.Oi.Sj.Tj.Uj.Kk.Lk.Wj.Wj.Yj.Zj.Mk..k.Nk.Wh.Xh.Ok.Vf.Pk.Qk.Rk.Sk.Wh.S1.Tk.`i.+i.E5.E5.F5.=7.%i..j.2h.%|.N5.Q5.O5.O5.!5.$i.P5.de.|h.|h.;g.Uk.Vk.Wk.o0.G0.ma.Xk.Yk.}h.%k.[h._f._f._f._f._f._f._f._f._f._f._f._f.H6.H6.G6.G6.G6.G6.=j.=j.|h.~g.-j.-j.-j.-k.Y|.Zk.=k.fe.fe.P5.D5.>k.)g.,j.,j.,g.K5.`k.-g.=g.{f.W4.&g.@h.$5. l.^i..l.)k.!k.!k.&'..,.+l.%'.)j.O;. ,.L>..).J>.]).]).@l.3h.nV c4.#l.P2.P2.Q2.$l.(k.~j._k.]j.%l./j.&l.*l.=l.:j.-l.}k.;l.>l.,l.'l.)l.!l.~l.{l.]l.^l./l.(l._l.:l.:.$X x} {$.ok.9l.0l.al.bl.>].O}.n7.bc.|d.cl.Dg.tk.x7.dl.@f.el.fl.gl.hl.il.Yf.jl.kl.ll.ml.nl.Gi.ol.pl.Fk.Fi.Fi.Fi.Fk.Cj.Dj.Dj.Bj.Bj.Hj.Hj.Hj.Dj.Ci.ql.Lj.rl.Mj.sl.sl.Qj.Qj.Rj.Rj.tl.Tj.Uj.ul.Lk.Wj.Yj.vl.Zj.Mk..k.Xi.@k.Xh.Tf.Pk.Pk.Rk.Rk.wl.;f.'f.xl.yl.+i.E5.H5.yl.%i.2h.%|.%|.Q5.Q5.%k.!5.P5.|h.|h.=k.=j.}h.}h.G6.H6.=j.zl.,j.Al.fe.'i.)g.P5._f.Bl.Bl.y6.y6.y6.y6.y6.y6.y6.y6.Bl.je.je.:f.:f.:f.:f._f._f._f._f.[h.H6.{g.0~.Cl.~g.8~.8~.ge.Dl.ge.ge.fe.fe.fe.P5.>k.zl.,k.,j.'g..j.>g.-g.=g.{f.&g.&g.q3.U|.^4.$!.@!.)k.!k.BX AX ~k.~k.)j.@).O;. ,.)).J>.J>.]).@l.El.nV N2.#l.74.P2.^k.$l./k.{j.{j.]j.Fl.%l.Gl.Hl.Il.Jl.Kl.-l.Ll.)l.Ml.6k.~l.Nl.Ol.Pl.Ql.Rl.Sl.Tl.Ul.Vl.Wl.Xl.Yl.Zl.`l. m..m.+m.@m.#m.$m.A+.%m.k% &m.*m.n] =m. ", +" -m.;m.$u VE :R $X 9G (%.>m.,m.oi.'m.bl.)m.+}.!m.~m.h8.{m.Dg.]m.^m.0d./m.el.(m._m.:m.il.k.2h.L5.2h.2h.{i.Q5.!g.'i.P5.be.|h.0g.=j.=j.}h.G6.[h.[h._f._f.Uk.0m.Bl.Bl.Bl.am.am.bm.z6.cm.dm.em.em.em.em.em.em.em.em.em.em.dm.dm.z6.am.y6.y6.y6.je.:f.:f.:f.(g.;h.;h.fm.-|.]g._f.gm.gm.Dl.hm.ge.ge.fe.fe.ce.>k.zl.,k.'g.'g..j.;g.=g.I5.{f.$g.-!.&!.%!.$!.x;.)k.!k.q;.&'..,.%'.)j.@).O;. ,..).Y,.im.]).@l.nV jm.c4.64.P2.P2.$l.$l.(k.~j._k.]j.%l./j.:j.km.:j.Kl.lm.|j.Ml.6k.~l.Nl.mm.Pl.Ql.Rl.nm.om.pm.qm.rm.sm.tm.um.vm.wm.lh.xm.ym.zm.Z{.Am.Bm.=:.Cm.Dm.[{ %^ ", +" -m.Em.55 'q )q WE Fm./R D!.Gm.7>.zg.Hm.![.Im.N4.Jm.cc.{m.Km.Lm.z7.Mm.Nm.rj.Om.Pm.!f.Qm.Rm.n.'i.Al.be.be.|h.=j.}h.G6.G6.[h.gm._f.Uk.1e.,n.Bl.am.am.dm.em.em.em.em.em.jd.'n.'n.N6.N6.N6.N6.N6.jd.jd.jd.jd.jd.jd.jd.jd.)n.)n.em.em.em.em.am.am.!n.>5.>5.S5.]g.,n.,n.Bl.Uk.~n.gm.Dl.Dl.ge.ge.fe.ee.ce.;j.zl.{n.'g.'g.>g.;g.=g.{f.B2.-!.*!.%!.[!.^i.+!..!.r;.BX .,.%'.)j.@).O;. ,..)..).]n.]).@l.3h.nV c4.64.74.P2.$l.^n.(k.{j.]j.%l./n.(n.km.Il._n.:n.$.QE Fm.9G mn.Gm.Gm.>;.K}.nn.'].N4.)m.on.1d.pn.qn.rn.sn.Nm.tn.un.wk.vn.hl.Rm.!.=!.C;.[!.^i.+!..!.!k.BX .,.%'.)j.@).`>. ,.)).J>.qW ]).@l.nV {k.c4.64.P2.u3.Q2.^n.(k.Sn.^j.Tn.Un.(n.Vn.Wn.Xn.Yn.~l.Zn.`n. o..o.+o.@o.#o.$o.%o.&o.*o.=o.-o.;o.>o.,o.'o.)o.!o.~o.f:.{o.y+.]o.]) ^o.%^ +/ +/ ", +" /o.kn.s/ Xk =X G` . ,.Y,.Y,.]).@l.%,.nV N2.64.#l.P2.^k.$l.(k.{j.Sn.mo.no.(n.(n.km.oo.po.qo.ro.Ol.so.to.uo.vo.wo.xo.Vl.yo.zo.Ao.Bo.Co.Do.Eo.Fo.Go.Ho.a9.G:.Io.Jo.3> Ko.Lo.Mo. ( ", +" /o.[= Wx )q qS No.Oo.A%.M[.Po.Im._o.Qo.Ro.So.To.}o.|o.Uo.Vo.Wo.Xo.Yo.5o.Zo.p.,p.'p.)p.,p.cm.Uk.J6.,n.K6.z6.L6.em.'n.N6.N6.N6.Ln.!p.le.le.F7.F7.F7.jo.pd.pd.pd.pd.~p.~p.~p.{p.{p.{p.{p.{p.~p.]p.]p.]p.~p.pd.pd.^p.^p.jo.F7.F7.F7.ke.Kn.[f.{|.ke./p.Ln.Ln.@f.(p.'n.M6.em.cm.Bl.1e.1e.Qn.Gg.G6.ge.ge.fe.P5.;j._p.{i.M5.:p.}-.q.,q.1l.'q.)q.4a.!q.~q.l:.{q.]o.]q.^q./q.(q.p, ", +" m4 pp._e LB =X ><. z QB a7._q.*[.W3.Z[.X3.:q..Y,.J>. q.@l.3h.nV c4.64.P2.Q2.^k.oq.oq.1p.pq.1p.qq.mm.#q.rq.sq.tq.uq.vq.%q.wq.&o.xq.yq.zq.Aq.Bq.Cq.'o.Fo.Dq.Eq.Fq.Gq.Hq.D:.Iq.c* Jq.Kq.0( Lq. ", +" m4 m4 %1 Xx WE /%. z Mq.1^.*[.W3.}3.Nq.ne.Oq.Pq.w7.Qq.Rq.rn.Sq.Tq.Uq.Vq.Wq.vn.Ap.Xq.Yq.7q.Zq.`q.qq.Hh.Fp.#p.Fp.Fp.Xm.nl.nl.Gp.nl.nl.nl.|m.|m.Ym.&p.Lh. r..r.0q.Tm. p.7o.Sm..n.Yj.`j.co.6m.Xi.@k.Vf.Pk.Rk.Rk.wl.;f.'f.%n.&n.*n.=n.Fn.;p.;p.Np.ae.io.Pp.+r.@r.Rp.#r.Sp.ed.gd.gd.$r.%r.%r.&r.*r.*r.eq.=r.jo.-r.{p.gq.;r.jq.>r.jq.K7.K7.K7.K7.,r.,r.,r.,r.,r.M7.M7.M7.'r.'r.'r.'r.'r.'r.'r.'r.'r.M7.,r.,r.,r.,r.K7.K7.jq.jq.hq.Tp.>r.>r.8d.)r.8d.!r.!r.8d.~r.Wp.Xp./p.Ln.N6.'n.'n.em.cm.,n.1e.1e.1e.~n.Yp.Yp.{r.ge._~.W|.M1.1-.}-.RY )!.-!.&!.%!.$!.@!..!.BX AX xX %'.)j.`>. ,.)).Y,.]). q.%,.nV N2.64.P2.Q2.]r.^r./r.(r._r.:r.r.>r.Ir.Ir.Ir.Jr.Jr.Jr.Kr.sc.sc.sc.t8.t8.Lr.Lr.Mr.Mr.Mr.Mr.Mr.Lr.Lr.Lr.Lr.t8.sc.sc.sc.Jr.'r.'r.,r.,r.K7.oc.oc.Nr.Or.Pr.Pr.Pr.Qr.Rr.Or.Sr.Tr.Ur.!r.Wp.fq.N6.M6.'n.tn.M6.On.On.Vr.Wr.Xr.}e.{r.X|.Yr.W|.4-.1-.}-.RY '!.;!.&!.%!.^i.x;.Zr.BX AX %'.%'.@).O;.L>..).J>.]).]).3h.nV N2.64.84.`r. s./r..s.+s.@s.#s.so.Pl.$s.Rl.vo.%s.&s.0p.ap.*s.=s.-s.;s.fp.>s.,s.'s.Va.)s.!s.~s.{s.Jo.]s.^s./s.(s.h_ ~: ", +" hr.hr.J1 $;.,$.y} _3.{$._s.-[.X[.jr.C7.:s.v6.<.eG fG .z 6>.)[.J<.Rs.w[.gf.x6.!n.t.Xi.Vf.Bn.~f.,t.$n.-p.!f.&n.&n.=n.'t.)t.Sd.Np.!t.,p.,p.Qp.Rp.Sp.dq.ed.gd.~t.{t.Br.Cr.ds.]t.es.Fr.^t./t.gs.hs.(t._t.:t..]).@l.nV kU lt.mt.nt.Cs.ot.6h.vr.sq.Ql.Rl.4n.pt.%q.7n.qt.rt.st.tt.ut.vt.wt.xt.yt.Dq.zt./a.At.Bt.Ct.A:.Dt.%#.Et.Ft.op.K: ", +" ]8 ZP @..tN XE TT fG |) Gt.Y6.K4.r6.[s.Ht.ie.It.Jt.Kt.rn.1q.Lt.Mt.Nt.Ot.Zs.Pt.Qt.Yq.Rt.8q.`q. r.&p.&p.$t.Gh.#t.Hh.$t.%t.%t.%t.Gh.Gh.Gh.Lh.Um.0q.St. p.vr.*t.6q.6s.Xq.`s.Tt.Ut.Vt.#n.~f.,t.$n.-p.Wt.&n.Dn.eo.)t.)t.Sd.ae.0s.,p.)p.Qp.Xt.dq.ed.dd.bs.cs.Br.Cr.ds.ds.es.Fr.^t.gs.gs.hs.(t._t.:t.u.,u.bt.'u.)u.!u.~u.~u.ls.ft.os.Sr.{u.!r.{t.]u.]u.!r.%r.!r.{g.4~.2~.X|._~.W|.4-.|-.|-.[-.PY =!.&!.^4.x;..!.!k.&'.xX %'.)j.`>. ,..).Y,.qW ]).nV nV ^u./u.Cs.mt.f3.(u._u.:u...).Y,.]).&,.Zu.`u./u./u. v..v.Ug.+v.@v.uq.vo.#v.$v.0p.ap.bp.cp.-s.>q.fp.%v.&v.+b.Wa.*v.=v.Os.-v.>a.x:.;v.>v.,v.'v.L: O[ ", +" }e )v.B, 7M z !v.1&.E}.Z7.~v.{v.]v.L6.@8.lr.^v./v.(v._v.mr.:v.!.*!.%!.$!.+!.!k.&'.~k.%'.%'.O;. ,.L>.Y,.]).]).Kv.`u.Lv. v.i3.Mv.Nv./l.Ov.Pv.Qv.xo.&q.qt.Gs.st.Rv.Aq.Is.Sv.Ks.yt.Dq.Tv./a.Uv.Vv.Wv.Xv.v:.Yv.9u.Zv.O[ `v.`v. ", +" w.}e 3R ><.PB TT .w.hZ Gm.1].Po.+w.kd.@w.#w.Rn.Qf.*f.$w.mr.%w.&w.*w.=w.Zs.-w.6s.6q.+t.;w.>w.5v.Ep.pu.%t.%t.%t.pu.ml.ml.Lh.ml.ml.yj.Dp.Tm.8o.,w.*t.6q.'w.Xq.`s.;t.6v.su.}v.iu.)w.!w.~w.Cn.En.eo.)t.8e.go.ho.0s.av.bv.Xt.{w.Ar.gd.$r.]w.Br.^w.es.Fr.Fr./w.nc.nc._t.xu.ev.ev.Yt.Yt.(w.fv._w._w._w.hv.:w.jv.jv.kv.!.&!.[!.x;.)k.r;.&'.~k.%'.@).O;.L>..).]).Z,.e3.`u. v.i3.Qh.y1.mf.ow.pw.%s.9p.7n.qt.rt.qw.zq.rw.sw.tw.4u.uw.6u.}a.vw.ww.xw.yw.zw.p:.q:.Aw.Bw.Cw.O[ o} ", +" w.}e {^ dG XH 1&..z TB Dw.V&.+w.@f.z6.#w.Ew.Fw.Gw.Hw.Iw.1s.Jw.Kw.Lw.Mw.Nw.Ow.Pw.,w.Qw.`q.yj.ml.pu.%t.Ep.Ep.ml.ml.ml.ml.yj.yj.Rw.9o.8o. p.8s.*t.'w.Xq.ru.;t.Ut.su.=w.iu.*w.!w.Sw.Tw.Uw.Vw.'t.7e.go.io.Ww.av.Xw.Yw.ed.Ar.gd.cs.]w.Zw.^w.es.fs.^t.gs.nc.[t._t.x.>x.,x.'x.)x.!x.!x.~x.ov.{x.7w.]x.^x./x.(x._x._x.:x.:x.:x..)).K>.b3.q2.3x.i3.Qh.Pi.Yg.4x.5x.6x.6n.|u.1r.2r.1u.7x.ut.8x.9x.%v.,s.'s.Wa.:a.0x.ax.bx.cx.dx.p:.]0.9u.ex.o} }| }| ", +" *W w.fx.EO PB w=.ZE gG n$.gx.Im.]v.#f.je.%f.Hg.7m.yh.hx.ix.Jw.Kw.Lw.jx.kx.-w.lx.8s.3v.mx.nu.qq.pu.Ep.0o.qq.qq.ml.ml.ml.yj.yj.Dp.St.8o.,w.*t.qu.*1.ru.;t.Tt.nx.su.Lw.*w.ox.px.qx.rx.sx.tx.ux.vx.Ww.,p.av.Xw.{w.ed.Ar.wx.cs.*r.Zw.Uu.xx./t.gs.wu.yx._t.y.,y.na.t:.Xv.'y.)y.Cw./G W| ", +" *W -a !y.PB TT ZE gG F 3]./].s6.[e.|e.~y.*f.=f.Ig.uj.{y.gu.]y.^y.su.Ut.-w./y.(y.Bp.mx.nu.qq.%t.0o.0o.tr.qq.ml.Um.yj.tr.Dp.9o.8o. p.8s._y.'w.Xq.`s.:y.6v.4s.x.ty.,x.uy.uy.Rx.4w.vy.Sx.vy.3w.9y.db. x..x..x.|f.'|.^g.;h.)5.0~.-h.Y|.2~.[~.Yr.4-.1-.[-.!!.o3.*!.^4.x;.V1.BX .,.~k.%'.@).`>.m2.;4.i3.>4.'4.wy.Wg.Lw.xy.yy.zy.0p.Ay.Gs.By.-s.>q.Is.Sv.Cy.Dy.Dq.Tv./a.Ey.Fy.Gy.Hy.lp.t:.Yv.Iy.Jy.B1 Ky. ", +" 'X -a [] @W !v.gG tS Ly.My.My.Ny.Xr.Oy.Py.Qy.wl.Ry.4o.Sy.Ty.Uy.su.Ut.`s.Vy.Wy.Bp.xn.Xy.qq.qq.qq.tr.tr.ml. r.Um.Um.nu.Dp.Tm.8o.,w.6q.qu.*1.ru.;t.Ut.su.Yy.iu.Zy.!w.qx.`y. z..z.+z.@z.#z.$z.,p.vu.{w.ed.4y.cs.Br.Dr.Er.^t.^t./t.hs.[t.xu.xu.ev.Yt.(w.%z._w.iv.jv.jv.[w.}w.&z.Bx.7y.Cx.+x.Dx.*z.Ix.Ix.=z.ay.ay.by.cy.cy.cy.dy.-z.;z.>z.>z.,z.at.!u.'z.!u.)z.)z.)z.)z.!u.!u.'z.'z.)z.dy.0y.!z.~z.{z.]z.]z.o9.^z./z.ta.sa.sa.(z.(z.Kx._z.ky.:z.Lx.Lx.i9.Nx.Nx.Nx.my.ny.4.;4..y.'4.!4.2z.S|.3z.4z.5z.6z.Fs.7z.8z.9z.Aq.0z.wt.az.uw.6u.9r.vw.At.Vv.bz.cz.x0.Nb.Nb.dz.ez.fz.gz.gz. ", +" 26 'X 95 91.hz.)b.tS iz.][.L&.jz.#f.{r.Jt.!f.uj.Sk.kz.lz.mz.Uy.=w.nz.oz.pz.6q.,w.8q.`q.+p.qq.qq.tr.nu.Um.nu.nu.yn.Dp.0q.qz. p.`o._y.'w.ru.;t.kx.6v.}v.Lw.)w.!w.rz.sz.tz..z.|y.uz.vz.wz.xz.yz.Sp.ed.4y.wx.zz.Er.fs.Gr.^t.Az.5y.z.>z.Gz.Hz.Iz.Iz.Iz.Iz.Iz.Jz.Hz.Su.Kz.Kz.Kz.Kz.Kz.'u.'u.dt.,u.Iz.Iz.by.Lz.Mz.~z.Nz.H0.Oz.Vv.Pz.{z.Qz.{z.Rz.Sz.Tz.Uz.Uz.Uz.hy.^z.Vz.Vz./z.Wz.Wz.Xz.Xz.Kx.Yz.sa.Zz.Ix.dy.`z.at.$6.,h.,h./g. A.;h.-|.~g.-j..|.X|.N1.n3.2-.}-.!!.,!.*!.[!.x;.V1.BX .,.~k.~k..A.+A..y.'4.!4.@A.#A.,t.$A.&s.wq.&o.%A.&A.*A.ut.6r.Do.%v.=A..b.Wa.A.,A.Ky.93 ", +" oZ 'A._7 ~V !v.)A.!A.a8.L&.~A.@w.vk.3o.gl.=f.,t.Yf.{A.]A.ox.=w.jx.;t.pz.Yq.,w.^A.;w.+p.qq.qq.nu.nu.Um.nu..r..r.Dp.0q.qz.7q.*t.qu.*1.ru.;t.Zs.su.Yy.7v.Kw./A.(A.`y._A._A.uz.#z.:A.:A.X >X 'A.BA.5D CA.DA.hG I4.;}.EA.Mf.In.FA.!f.Vt.GA.jl.HA.ox.Lw.ju.IA.JA.KA.8s. p.xn.nu.qq.LA..r.nu.nu..r.9o.9o.9o.Tm. p.8s.6q.'w.rr.MA.NA.6v.OA.B.,B.'B.xA.)B.!B.A9.~B.y9.y9.y9.gA.{B.J0.x9.cx.hA.hA.Nz.~z.Nz.Oz.~z.]B.7A.Dv.^B.Su.oA.(h.X5.!.&!.^4.@!.!k.BX &'._B.pA.:B.!4.@A.#A.@g.@k.w..r.nu.nu..r.9o.9o.Tm.yk.vr.`o.qu.*1.ru.;t.Zs.su.B.>B.>B.'B.)B.)B.Hy.~B.~B.A9.~B.FB.#u.^B.GB.HB.nA.IB.%6.if.X5.w.>w..r.9o.nu.9o.9o.`q.Cp.aq.8s.*t.qu.rr.MA.NA.6v.OA.^y.Zy.!w.qx.`y..z.|y.*C.PA.=C.iB.C.,C.'C.)C.Yt.|A.5y.!.U|.^4.+!..!.LB.0C.!4.@A.aC.MB.NB.@h.bC.0p.Fs.QB.8z.*A.ut.6r.cC.%v.&v..b.Va.)s.dC.ax.-v.,y.xA.~B.eC.Hd.!~ fC.gC.hC.hC. ", +" iC.iC.J} .C.'A.jC./b.kC.Rs.T5.!5.=n._m.zp.lC.GA.{A.mC.yk.Ut.6v.;t.6s.Yq.Rt.Zq.4v.>w.>w.nu.9o.9o.9o.9o..p.aq. p.8s._y.=t.ru.;t.Zs.su.y.Gy.cz.;B.Lb.Uc.2&.XC.YC.^5 ^5 ", +" ZC.`C.S1 .C.'X D..D.+D.@D.!5.D5._m.vn.#D.Rm.{A.$D.yk.%D.NA.ku.&D.dB.*D.Zq.Cp.>w.>w.9o.9o.9o.&C.0q.0q.aq.vr.`o.qu.*1.ru.ku.6v.OA.^y.Zy.!w.sz.rx..z.uz.*C.=D.}A.-D.[A.;D.>D.UA.,D.'D.)C.)D.!D.(w.xu.Zt.(w._w.iv.zx.}w.6y.Bx.XA.Dx.*z.Ix.ay.by.cy.dy.>z.Hz.5A.5A.~D.ZA.`A. B.^B.^B.^B.]C.}C.{D.^C.^C.(C.(C.]D.[C._C._C._C.^D.BC.zC.zC.zC.:C./D.(D.(D.(D.(D._D._D./D.:D.|.^5.~g.-k.2~.}~.=5.M1.}-.'!.-!.%!.^4.aD.aD.@A.aC.MB.S|.Vh.Wh.bD.qm.rt.1u.cD.dD.eD.fD.Js.Cy.Dy.gD.hD./a.ww.Vv.iD.~B.VB.w9.jD.]0.kD.lD.,A.W8 W8 ", +" s< H} j4 .C.WT 7B.mD.M[.de.O5.=f.4o.tu.il.nD.jl.mC.Rg.8o.Ut.;t.dB.Wy. p.Cp.`q.>w.9o.9o.`q.4v.0q.aq.%D.7o.6q.oD.Xq.;t.ku.nx.Yy.^y.[y.rz.}y..z.|y.*C.PA.pD.}A.xz.:A.qD.*r.*r.Fr.rD.sD.tD.uD.vD.vD.wD.1x.iv.kv.[w.Bx.XA.Cx.3A.0y.Ix.by.dy.;z.>z.Gz.5A.6A.6A.6A.xD.sB.^B.^B.]C.GB./C./C./C./C./C.[C.[C._C.^D.zC.zC.zC.zC.zC.zC.zC.:C./D.(D.(D.yD._D.zD.AD.AD.BD.BD.CD.DD.ED.ED.!.=!.OD.R|.aD.aC.MB.Z4.PD.{f.Qk.QD.qA.RD.SD.9z.Aq.0z.wt.4u.uw.8r.Va.TD.0x.xw.bx.UB.UD.6D.VD.Nb.n#.WD.XD.YD.ZD. ", +" v_ v_ `D.4Y oZ .C.26 26 E.ys.X4.,f.zp.Vt.GA.[m.Sm..E.yn.aq.;t. t.Wy.,w.8o.`q..r.9o.9o.4v.`q.0q.aq.%D.8s.6q.1v.ru.;t.Zs.su.E.[C._C.,E.zC.zC.'E.:C.:D.:D.:D.:D.ED._D.AD.CD.CD.CD.BD.BD.)E.!E.~E.~E.{E.1l.]E.^E./E.(E._D.6C._E.:E.m@.m@.F.,F.cq.'F.eo.Hn.go.Ww.)p.Sp.ed.)F.cs.]t.Fr.!F.|A.`t.ev.wD.tE.~F.vE.{F.]F.yE.^F./F.(F.(F._F.>z.>z.:F.B.aF.{L A(.bF.cF.Q9.Q9.Q9.dF.eF.0_.0_.t(.G(.KE.t(.g@.fF.Tz.xB.6w.gF.gF.Lz.gF.hF.>u.iF.7E.NE.I7.6f.0D.1z.oA.:g.X5.,h./g.>|.^5.8~.Y|.X|._~.=5.}-.n3.&g.#5.+5.&5.0E.*g.=g.>g.Sd.jF.bE.kF.rA.lF.fD.Js.xt.uw.mF.}a.vw.At.nF.oF.pF.qF.W9.Tc.yA.B$ rF.sF.S9 Sb ", +" tF.($.W: `B._7 oZ oZ uF.vF.wF.xF.yF.zF.}k.AF.BF.no..q.CF.Mj.DF.Lh.Fh.Fh.Kh.Fh.&F.Kh.DF.EF.FF.An.Mg.+n.+k.@k.#n.GF.Vt.-p.Cn.HF.)t.7e.!t.as.IF.Sp.JF.#E.KF.es.^t.|A.1A.ev.LF.gv.MF.vE.{F.NF.OF.PF./F.QF.RF.SF.TF.UF.TF.VF.%B.%B.$B.;E.]C.]C.GB.^C./C.(C._C._C.,E.WF.:C.:D.BE.BE.XF.ED.DD.DD./E.CE.~E.{E.{E.{E.3F.FE.FE.HE.'o.YF.YF.ZF.hp.7F.7F.7F.Fo.Fo.`F. G. G.)q.)q..G.+G.xB.@G.#G.O9.{L {L {L $G.j@.j@.j@.A(._E._E._E.%G.{L u(.=B.&G.*G.vy.'x.=G.=G.'x.dA.-G.;G.t8.>G.M7.I7.pe.6f.9D.|f.}f.:g.!}.,G. A.R5.0~.-k.Z}.}~.=5.=5.W4.&g.0E.0E.$g.*g.'G.>g.^f.)G.bp.7x.dD.lF.0z.!G.4u.~G.'s.{G.vw.]G.TB.bx.UB.'B.F9.j9.Uc.eE.^G./G.(G.S9 ", +" q'._G._G._$.:G._7 _7 E.[D.8C.[D.fG.x.hF.vG.vG.>x.ny.7w.wG.2t.xG.>G.iF.yG.pe.0D.1z.oA.:g.X5.,h./B.{g.0~.-j..|.[~._~.E5.;g.W4.@h.&g.&g.'G.zG.Rf.Sd.&d.kF.9z.Aq.Bq.9x.%v.,s..b.Wa.)s.!s.Ey.>y.Gy.xA.E9.AG.$j.BG.CG.DG.EG.FG. ", +" GG.GG.v/ _$.5Y _7 >X HG.IG.JG.KG.LG.}k.Wn.AF.Il.km.2p.3p.1p.|p.mt.MG.Tg.Zm.NG.NG.Tg.Uj.ul.OG.Ui.co.+k.Vf.Sk.,t.;f.Cn.9v.PG.8e.go.+r.Rp.QG.)F.RG.Dr.xx./t.hs.ev.ev.(w._w.iv.`w.Bx.SG.PF.TG.UG.aG.SF.SF.VG.bG.WG.dG.dG.sg.WF.WF.wC.BE.XG.xC./D.YG.(D.ZG._D.CD.`G. H. m.{E.EE.EE.EE.3F.FE.HE.HE.HE..H.'o.5F.hp.7F.7F.Fo.Fo.)o. G.+H.nG.lG.@H.#H.8r.$H.$H.%H.%H.&H.%H.*H.$H.*H.=H.uG.dA.pG.pG.-H.;H.x9.'B.>H.>H.'B.~z.Wz.-H.,H.hF.Jx.X x.dA.dA.gH.hH.vG.vG.-H.iH.iH.jH.jH.kH.Mx.Lx.Lx.jH.:z.lH.jH.mH.Pd.nH.oH.pH.we.qH.yG.pe.0D.1f.oA.:g.8E.QC.JB.)5.nw.Y|.#|.,j.,j.I5.I5.I5.=g.#k.^f.Qf.vk.rH.9z.ut.sH.fp.Js.tH.Dy.Dq.Tv./a.ww.Vv.uH.vH.VB.BB.,a.wH.~~ xH.yH.@7 zH. ", +" AH.x,.x,.m( `B.:H.:H.BH.KG.CH.DH.EH.:j.FH.(n.3p.1p.pq.oq.GH.:r.+s. v.,4.Tg.Tg.}H.Ti.OG.|H.co.Xi.Vf.Ig.6G.'f.Cn.HH.Hn.go.Ww.Rp.Sp.Ar.#E.qD.8G.gs.[t.ev.Zt.(w.=x.kv.}w. x.IH.3A.JH.aG.SF.VG.cG.cG.gk.gk.8H.wC.wC.KH.yC.LH.hG.MH.ZG._D.AD.AD.NH.CE.!E.{E.{E.FE.FE.jG.jG.'o.YF.OH.cn.hp.8F.Fo.kG.PH.)q.lG.#H.QH.$H.$H.%H.&H.Va.eH.Tv.RH.Ms.Ms.SH.TD.TH.UH.VH.Eq.~o.~o.WH.)s.VH.iH.&G.jH.jH.Mx.Mx.XH.YH.YH.ZH.`H.`H.`H.`H.`H.Yz.Yz.Yz.Kx.Yz. I.Xz.^z.pv.C8..I.+I.@I.!H.#I.$I.LE.OE.6f.9D.|f.%I.X5._g./B.;h.0~.-j.Q5.;j.,g.;g.;g.-g.>g.'g.Qf.D5.&I.SD.5r.eD.Is.Js.4u.`F.8r.9r.TH.0x.xw.yw.UB.-A.*I.ra.Uc.V#.=I.-I.;I.'i ", +" bA bA %z [%.GG.>I.:H.:H.,I.'I.DH.)I._n.km.(n.3p.1p.pq.oq.GH. s.Cs.Cs.Lv.f3.!I.Uj.Vj.OG.|H..k.wr.Tf.Sk.6G.'f.cq.HH.Hn.go.Ww.Rp.QG.)F.1H.]t.8G.sE.~I.Yt.Zt.%z.kv.[w. x.Cx.3A.Ix.Dz.{I.VG.bG.6H.gk.sg.8H.]I.^I.yC.xC.xC.hG.MH._D./I.CD.CE.CE.~E.{E.3F.HE.HE.jG.jG.jG.YF.5F.cn.bH.8F.`F.PH.)q.nG.lG.#H.$H.$H.(I.Va.dH.eH.Tv.VH.SH.TH.TH.TH.kp.kp.TD._I.WH.WH.)a.)a.kp.kp.Fq.iy.jy.lH. I. I.Yz.#G.#G. I.#G.#G.jy.jy.:I.:I.Wz.Wz.sa.I.dI._7 eI.fI.)I.gI.[k.2p.3p.1p.|p./r.GH. s.Cs./u.Lv.`u.d3.hI.Ug.Th.Zj.6m.@y.Tf.Rk.6G.Lp.7G.eo.8e.ho.+r.vu.Ar.)F.1H.iI./t.hs.k.)g.(f.Qf.>k.D5.ee.XI.Xl.Aq.;s.YI.ZI.Ks.Ls.Dq.Eq./a.At.Vv.yw.Mz.`I.eA.ar. J.$$ .J.+J.Em ", +" 8B.@J.@J.VB #J.G=. D.$J.%J.II.gI.Fl._j.1p.|p./r.:r.KI.Cs./u.Lv.`u.e3.q2..y.y1.wy.&J..5.%g.zG.$n.Wt.'F.eo.7e.rE.)p.Sp.Ar.*J.]t.8G.hs.J.,J.en.eH.Eq.Ms.Ms.:a.:a.)s.)a.)a.)a.kp.'J.mI.iy.=v.]G.]G.ww.ww.UE.Ey.Ey.)J.ax.TB.xw.xw.xw.xw.xw.Vv.xw.FD.FD.ua.ua.!J.ua.ua.!J.B0.B0.B0.B0.Pz.~J.C0.u9.jA.hA.Px.{J.]J.mH.TI.^J.8D.C8.@I.MD.xG.7E.yG.pe.E7..6.}f.y.>y.>y.bx.bx.bx.yw.Fy.B0.kA.kA.CC.Fy.Fy.cJ.H0.H0.Nz.~z.~z.~z.~z.CC.~z.u9.)H.Yc.dJ.]J.eJ.rI.;G.Ld.fJ.|I.gJ.>G.iF.pe.tI.1f.%I.v.PJ.QJ.RJ.SJ. ", +" TB TB TJ.TJ.aA UJ.VJ.WJ.&l.]j.{j.(k.XJ. s.Cs./u.Lv.`u.d3.q2. y.;4.!I.!4.3J.YJ.qJ.%g.Wh.zG.,k.hJ.ZJ.~n.cm.io.as.dq.{t.Vu.`J.`t.LF.Au.}w.sC.Dx.=z.dy.Gz.5A.`A.^B.]C.(C.wJ.^D.zC.Qe.zD.CE.CE.6J.3F.FE.HE.jG..H.YF.5F.cn.cn.xm.kG.PH.PH.nG.Go. K.8J..K.fH.eH.~o.~o.!q.)a.kp.kp.mI.dC.PI.BJ.ww.Ey.CJ.CJ.xw.DJ.wA.dE.dE.dE.uH.uH.+K.iD.iD.FJ.FJ.@K.#K.$K.%K.%K.2B.&K.&K.*K.UB.,y.gA.gA.=K.gA.UB.vH.~B.=K.=K.A9.~B.~B.6D.ma.-K.;K.>K.HJ.JJ.,K.'K.LJ.)K.X7.!K.wG.WI.2I.I7.tI.1f.ff.le.mq.em.1e.Dl.ge.ge.ge.Rn.ge.Ew.~K.3u.SB.9x.%v.Ks.Ls.4a.Eq.Fq.ww.Vv.yw.~B.6D.k9.{K.]K.^K./K.(K.RJ. ", +" F F _K._K.:K.4.pA.Wg.YJ.S|.$5.Wh.;g.,k.;j.ZJ.~n.cm.>p.as.dq.{t.zz.}t.Rr.mw.mv.|K.&x.1K.2K.3K.Su.4K.9t.&u.5K.vJ.^C.HB.fG.6K.-x.(E.7K.7K.6J.8K.xB.9K..H..H.0K.aK.bK.=G.PH.ip.cK.dK.>J.AJ.en.YH.~o.)s.kp.Fq.Fq.mI.]G.0r.ww.UE.ax.CJ.xw.wA.wA.>y.bx.oF.iD.iD.Gy.FJ.#K.#K.#K.%K.2B.2B.2B.&K.eK.fK.fK.fK.gK.gK.gK.VB.hK.cz.~B.fA.)B.)B.xA.xA.xA.xA.iK.xA.>B.qF.AG.jK.kK.lK.mK.nK.oK.pK.KJ.UI.qK.rK.fJ.MD.sK.qH.I7.6f.E7.pd.=r.mq.em.1e.Gg.G6.ge.he.Ew.Ew.Gr.Yl.tK.fp.*y.uK.yt.(J.9r.kp.]G.xw.bx.UB.'B.na.vK.wK.xK.yK.zK.Uq ", +" ~V ~V ~V ]<._K.bI.AK.M=.1J.(k.$l.^k.zs.BK.Lv.`u.e3.q2.i3.;4.>4.pA.Wg.CK.+5.$5.Wh.;g.'g.;j.ZJ.~n.cm.>p.ws.jt.{t.zz.}t.Rr.mw.rs.|K.Gx.DK.et.Kz.EK.#B.=u.[z.FK.vJ.7C.GK.jw.HK.tv.rv.IK.JK.KK.xB.9K.*G.aK.pG.oG.oG.LK.MK.NK.OK.zJ.9J.PK.PK.~o.WH.)a.kp.Fq.;H.^z.0r.ww.UE.ax.ax.xw.wA.>y.dE.EJ.oF.Gy.Gy.QK.RK.%K.2B.&K.&K.eK.fK.fK.fK.hK.VB.gK.SK.SK.SK.TK.UK.UK.-B.SK.'B.'B.>B.>B.6D.6D.VB.qF.6D.6D.6D.6D.EB.VK.WK.Mu.Ou.XK.;K.YK.JJ.ZK.'K.LJ.Ld.fJ.VI.xG.7E.yG.pe.`K.~r.Xp.(p.dm.1e._f.Dl.Dl.Gg.Gg.[e. L.;s.fp.Js.Cy.5u.6u.Va.)s.dC.FD.>y.,y.xA.sa..L.+L.@L.#L.$L.zK. ", +" 5D 5D 5D `E %L.m).E} ){.&L.$l.^k.P2.zs.5h.`u.e3.q2.i3.w1.>4.:B.Wg.#A..5.$5.Wh.;g.'g.;j.ZJ.Qn.Pn.io.as.Wp.{t.Ur.}t.Rr.mw.rs.|w.Gx.2K.ey.,u.*L.9t.@B.Dv.%u.|F.iw.Hu.HK.cw.=L.}x.-L./x.9K.;L.;L.>L.,L.=G.dA.hH.'L.H.W9.;B.;B.E9.|L.1L.E9.K0.F9.2L.3L.4L.5L.6L.}I.mK.nK.Xc.Vk.'K.LJ.rK.Md.@I.xG.7E.yG.Ir.7L.~r.me.N6.cm.Bl.Yp.gm.gm.8L.vh.9L.RB.Is.tw.0L.,s..b.,J.)s.=v.Ey.>y.x9.xA.Xz.yb.lN aL.bL.cL./t ", +" dL.eL.eL.,V ,V e*.fL.>{.gL.u3.P2.64.N2.hL.e3.q2.i3..y.>4.y1.!4.3J..5.#5.&g.I5.K5.!g.Zp.iL.Pn.tJ.mq.jt.{t.zz.}t.Rr.mw.lv.|w.Gx.2K.ct.Su.*L.@B.Dv.vJ.|F.jL.Hu.kL.tv.}x.qv.0w.Eu./x.xB.aK.oG.,H.dn.hH.'L.>J.zJ.en.PK.~o._I.)a.)a.kp.mI.^z.pI.o9.UE.FD.!J.Vv.Fy.>y.bx.+K.iD.@K.%K.%K.%K.eK.^L.^L.hK.lL.lL.TK.UK.UK.UK.-B.[L.}L.}L.}L.}L.}L.}L.mL.nL.nL.nL.mL.nL.mL.DB.BB.BB.F9.BB.oL.pL.BB.BB.=B.qL.rL.sL.tL.uL.Mu.vL.wL.;K.HJ.JJ.mH.TI.)K..I.@I.gJ.7E.7E.oc.Hr.hd./p.N6.cm.Bl.Yp.Yp.Yp.Yp.xL.yL.sw.wt.%v.&v.Ls.%H.~o.mI.0r.Vv.bz.~B.zL.Sb.h0.AL.BL.CL. d ", +" DL.DL.EO D}.1/..z >b.EL.^k.74.c4.nV 3h.M>.q2.i3..y.x1.y1.!4.3J.YJ.@5.%g.FL.GL.)g.Zp.Dl.2e.Vr.mq.=r.~r.ds.}t.Rr.ts.lv.%x.Gx.2K.3K.0t.*L.&u.Bv.vJ.jL.Zz.-x.cw.}x.0w.Eu.(x.5E.5E.HL.6E.=G.Go.'L.>J.iH.jH.IL._I.WH.)a.Fq.WC.=v.^z.0r.UE.FD.ua.B0.^H.dE.bx.bx.Gy.#K.#K.2B.&K.fK.hK.SK.SK.SK.TK.[L.[L.[L.[L.}L.}L.}L.mL.mL.mL.JL.KL.KL.LL.LL.LL.LL.6C.ML.NL.NL.NL.6C.6C.6C.OL.&k.&k.PL.&k.U9.m9.QL.RL.SL.TL.vK.uL.6L.UL.mK.nK.JJ.]J.UI.VL..I.!K.xG.2t.1t.oc.7L.WL./p.'n.cm.Bl.1e.Bl.Yp.~t.-o.sw.XL.YL.Ks.yt.Dq.Eq.kp.PI.ua.yw.UB.ZL.`L.+L. M..M.+M.X8 ", +" hZ hZ hZ hZ hZ z *X s).El.c4.nV %,.]).`p.d3.>4.+A.@M.LB.@A.`4.+5.$g.{f.;g.{i.Al.ge.1e.Wr.yr.lq.~r.Hr.}t.Iv.mw.lv.%x.Gx.2K.3K.0t.7A.&u.vJ.^C.#M.Zx.cw.$M.:x.0w./x.^x.ov.6E.+G.6w.Lz.dA.iH.PK.YH.~o.Y_.kp.kp.~q.iy.]G.PI.UE.FD.ua.xw.^H.dE.EJ.iD.Gy.#K.2B.2B.^L.^L.gK.SK.TK.UK.-B.[L.}L.mL.mL.mL.mL.nL.%M.%M.KL.KL.NL.NL.NL.&M.&M.&M.&M.5C.zB.zB.zB.zB.zB.U9.U9.*M.5C.zB.U9.*M.J9.n9.=M.-M.jK.sv.SL.TL.uL.;M.vL.>M.nK.JJ.{J.eJ.VL..I.@I.x8.,M.Or.Nr.!r.Wp.Ln.On.'M.,n.5e.Bl.M6.)M.;s.fp.UC.Cy.yt.6u.9r.)s.]G.ua.CC.!M.~M.Tb.L' $- {M.]M.^M. ", +" |/.)b.|/..z /M.WH 'V >;.H>.nV %,.]).qW .).V>.v1.@M.(M.KB.aC.MB.$5.&g.;g.,j.%k.ZJ.Qn._M.>p.ws.Wp.Br.Tr.Or.mw.rs.|w.Hx.et.3K.YA.9t.&u.vJ.7C.Zz.-x.=L.:M._x./x.7w.ov.3w.*G.gF.Tx.Sx.vy.hF.XH.)a.Fq.iy.dC.]G.pI.RI.Ey.CJ.xw.Vv.Fy.dE.EJ.oF.QK.#K.2B.2B.fK.hK.SK.SK. bM.cM.dM.dM. ", +" w=.!v.!v.!v.QB eM.=X fM.4!.%,.]).J>..). ,.+l.-4.(M.KB.3J.k1.Z4.%g.FL.,g.!g.Zp.iL.gM.io.xs.Wp.!r.Tr.Or.lw.mv.|w.hM.2K.3K.0t.9t..B.vJ.HB.jw.dw.-L.:x.(x.7w.ov.Wx.6w.Lz.4w.'x.uy.,x.iM.>x.jH.iy.]G.0r.Ey.Ey.CJ.^H.>y.dE.EJ.iD.jM.QK.#K.^L.hK.hK.VB.SK...). ,.O;.%'.Y>.LB.@A.`4.+5.$5.Wh.;g.{i.Al.hm.2e.On.mq.Xp.{t.Ur.xM.Qr.mv.=x.Gx.yM.ct.aA.9t..B.vJ.#M.fw.cw.aw.Eu.pv.zM.AM.6w.BM.vy.'x.,x.>x.sy.Jx.py.ny.Nx.^z.xw.Vv.wA.cJ.Nz.uH.+K.FJ.#K.RK.^L.fK._L.SK.UK.[L.[L.mL.mL.mL.KL.KL.LL.&M.5C.J9.|M.|M.|M.JC.kM.CM.DM.DM.DM.5D.5D.5D.DM.1C.EM.EM.FM.P(.FM.GM.P(.HM.P(.|_.L9.L9.L9.D9.zw.IM.JM.lM.KM.0M.2M.4M.LM.RL.vv.rM.MM.NM.mK.HJ.ZK.UI.^J.OM.|K.PM.QM.oc.RM.Wp.ws.N6.On.cm.cm.p.me.~r.Hr.1t.`M.ts.lv.@x.ms.Kz.0t.9t.Dv.vJ.#M.fw.rv.aw.=M.7w.~x.Wx.Tx. N.,x.Px.ry..N.ry.py.ny.my.Mx.:z.Wz.Vv.bx.uH.bz.{L.%K.2B.cz./L.gK.SK.UK.-B.[L.}L.mL.nL.%M.%M.LL.&M.zB.J9.|M.|M.|M.JC.kM.DM.DM.5D.5D.IC.EM.EM.EM.EM.EM.FM.FM.FM.O(.O(.O(.O(.O(.+N.7_.O(.z@.1_.@N.g9.#N.$N.%N.&N.VK.Xk.oM.3M.pM.*N.TL.vK.)H.vL.mK.HJ.ZK.UI.ls.@x.lv.mw.Or.is.)r.=r.Ln.M6.On.z6.nc.=N.sw.XL.UC.Ks.yt.Dq.9r.)a.]G.FD.ny.-N.^0.;N.>N.,N.'N. ", +" @W PB PB PB '$.rN gs -b.y%.Y,. ,.O;.%'.~k.AX BX !k.E;.Z4.$g.{f.;g.)g.Zp.G6.,n.tJ.Ln.WL.{t.Tr.Iv.mw.)N.p.M6.rn.fN.tK.YI.tw.az.5u.'s.-y.*v./a.Fq.gw.!.jN.;g.)g.Zp.Dl.sJ.tJ.fq.Wp.RM.Tr.Iv.ts.lv.!.[-.$h.{i.ZJ.Qn.dm.yr.=r.{u.Vu.Sr.`M.mv.|w.1K.yN.aA.9t.Dv.|F.Zz.cw.aw.=M.ov.6w.vy.zN.py.!N.:z.zL.Xz.Wz.Vz.x0.Vz.hy.Uz.Uz.y0.Sz.Rz.Rz.]z.AN.BN.C0.UB.mL.&M.zB.zB.zB.J9.JC.kM.DM.IC.IC.EM.GM.FM.:N.GM.GC.4D.FC.FC.KD.JD.x@.L_.L_.L_.x@.x@.2D.8_.3D.JD.x@.O9.I9.CN.DN.m9.ta.EN.qL.FN.WB.GN.|g.8f.2L.99.HN.%N.IN.JN.KN.tN.*N.qM.;M.wL.-u.`z.ey.1K.|w.PM.Rr.Nr.>r.=r.mq.'n.rn.Yl.lF.Is.SM.%v.Ks.LN.(J.Ho.kp.MN.9b. J.NN.ON.PN.^M ", +" bu.(3.bu.bu. W Xy QH QN.G:.:!.BX !k.V1.+!.+1.[!.=!._-.1-.W|.*h.P5.1e.tJ.Ln.Wp.RM.Tr.Iv.Cu.lv.Gx.ms.,u.*L.[z.vJ.jL.-x.:M.(x.ov.6w.vy.>x.py.pN.:z.sa.kN.Vz.x0.Uz.Uz.Sz.Sz.~s.z0.AN.BN.AN.{z.AN.RN.F0.B0.C0.J0.>H.=B.yB.DM.DM.IC._N.FM.GC.}N.4D.4D.EC.EC.EC.KD.JD.SN.JD.TN.ID.ID.ID.ID.UN.1D.|D.8_.v@.1_.W9.v9.AN.VN.o0.~h.n9.n9.1M.ma.qL.WN.Hb.XN.qN..N.Mb.Wk.IM.YN.KN.tN.RL.vK.MM.*u.7A.at.yM.!.<-.3-._~.2~.8~.+O./h.le.~r.Hr.Sr.Qr.Bu.|w.1K.@O.Su.7A.Bv.#O.fw.$M._x.7w.Wx.Sx.>x.py.pN._z.sa.q0.Sz.Uz.y0.z0.wa.z0.A0.F0.RN.u9.G0.C0.Oz.H0.CC.Wv.Nz.~z.~z.~z.y9.qF.6C.3C.GM.GC.}N.4D.EC.EC.EC.KD.EC.SN.SN.JD.$O.ID.%O.%O.%O.8_.p(.C@.&O.K0.hA.6I.t9.wa.AN.z0.r9.o0.p0.p0.DN.1M.u0.EN.ra.j9.;x.*O.=O.Rx.IM.VK.KN.-M.SL.uL.WK.*u.`z.}z.7t.=x.PM.Or.Ur.8d.me.N6.%r.uN.lF.6r.cC.>s.IE.uw..b.Wa.0F.ss._b.Nl _' -O.;O.>O. ", +" W W W W ,O.Wy Wy Jm J^..!.+!.+1.[!.U|.^!.SY }-.6-.[~.Y|.0~.{g.ko.3g.jo.Ur.Iv.mw.ht.=J.yM.3K.*L.[z.|F.Zz.'O.:x.pv.~x.Tx.,x.py.pN.Xz.Vz.Uz.AN.~J.~J.6I.G0.G0.Oz.Oz.G0.G0.v9.Oz.Oz.w9.~z.~z.FB.FB.FB.J0.gA.gA.y9.VE.~B.;B.G9.*M.)O.HM.HM.HM.O9.1D.8_.!O.!O.7_.~O.{O.V9.K0.;i.xO I0.w9.w9.@N.G0.G0.G0.~J.~J.RN.AN.s9.]O.o0..0.t0.EN.qL.j9.}g.=O.Qx.Sc.JN.^O.jK.qM.yv.Cv.*L.Cz..x.%x.nv.`M.oc.>r.pd.@f.Ts.fN.RB.6r.YI.tw.4u.,s..b.ip.sB.i8.y} /O.(O._O.:O. ", +" TH zO zO zO SH Wy .u (@.CO .bG bG bG RP RH u 8O.p+.P1.U1.:5.{-.^-.<-.1-._~.2~.-j.)5.^g.5g.if.1z.tI.NE.we..u.qs.9O.0A.-u.Bv.jL.rL.-L.=M.AM.Sx.0O.aO._z.Vz.o0.t9.Wv.AG.gA.y9.-i.}O.bO.y9.VE.-i.-i.-i.|O.}O.}O.y9.VE.Mz.Mz.cO.!B.!B.!B.dO.!B.!B.A9.X9.A9.A9.X9.!B.!B.!B.X9.A9.A9.A9.A9.VE.VE.zI.}O.}O.}O.[O.[O.[O.I0.Q0.Q0.Q0.@N.Q0.Q0.@N.@N.`9.E0.)h.eO.EN.GN.=O.$N.YN.^O.sv.rL.#O.6A.Su.|x.@x.lv.Tu.}t.fO.rd.le.gO.-s.ut.;s.Is.60.%v.Ks.70.hO.iO.jO.kO.lO.mO.-V NT ", +" u=.yO yO yO Xy =x `q `q nO./].:5.{-.^-.PY I|.4-.[~.4~.~g.;h./g.i.O0.>i.}O.>i.P0.`9..0.Eb.;x.Mb.JM.oM.LM.dw.gy.tO.`z.et.Gx.1w.Tu.Hv.Ur.8d.8d.uO.3u.ut.9M.SB.cC.>s.xt.vO.wO.ub.+; xO.yO.zO.AO. ", +" pN pN pN ia.Vx ]i Ux Ux ~:.Y*.o3.[p.PY }-.5-.}~.Y|.Cl.S5.(g.s.AE.sd.Ac.iN.JO.KO.LO.MO. ", +" ,O.NO.NO.RE ;e TK TK Wy r/./5.PY RY {~.5-.|~.Y|.0~.S5.8g.[f.%6.E7.OO.iF.xG.@I.Ld.TI.]J.HJ.lK.MM..L.RL.AI.PO.IM.Lb.|g.EN.r9.v9.EO.DO.=i.e(.|@.|@.qO.qO.DO.X9.=i.A9.z9.qO.X9.X9.X9.DO.QO.A9.A9.z9.DO.qO.!B.GO.GO.GO.*i.*i.*i.*i.*i.GO.GO.!B.!B.qO.DO.z9.A9.z9.z9.z9.z9.X9.z9.z9.z9.X9.|@.C9.C_.VK GO.=i.@N.~h.j9..N.RO.oM.-L.bw.HB.Dv.`z.dt.Hx.1w.mw.jc.Ur.8d.nc.uN.yL.=N.|B.6r.YI.dj.p8.SO.TO.c) %- UO.VO.WO. ", +" rN t,.t,.t,.Wy TK J@.SK XO.YO.RY P1.*5.7-.|~.Y|.Cl.>|.V5.X5.$6.9D.Tp.iF.xG.VI.Ld.rI.{J.HJ.&j.6L..L.SL.-L.nM.IM.Lb.zw.EN.ZO.`O.DO.z9.e(.|@.|@.GO.VK C_.C9. P.|@.QO.qO.qO.)B.GO.GO.*i.`I.D9.D9.`I..P..P.C_.*i.*i.*i.*i.*i.*i.*i.C_.C_.C_..P..P.`I.D9..P.*i.*i.GO.)B.!B.*i.*i.C_.1@. P.C_.*i.VK X9.@N.eO.j9.99.lM.2M.-L.lA.7C.`A.`z.et.Gx.1w.+P.jc.Ur.{t.@P.-s.3u.=N.RB.tK.#P.zu.x7.$P.,[ %P.eZ ^#.&P. ", +" UH *P.*P.RE u J@.OK E_.=P.:}.{~.*5.7-.|~.5~.Cl.>|.V5.{|.%6.2f.pe.iF.we.VI.C8.^J.KJ.JJ.mK.vL.uL.SL.pM.oM.lM.HN.g9.qa.o0.I0.z9.e(.-P.|@.|@.qO.*i.C_. P.;P.SK f(.K0.6D.6D.L0.C_.*i.`I.D9.D9.D9.D9.G_.G_.SK SK SK SK SK SK SK G_.G_.D9.D9.D9.`I.*i.C_.L0.D9.W9.W9.G_.f(.SK ;P.C9.C_.VK }O.t9.w0.zw.HN.VK.3M.qv.>P.|F.6A.Fz.|x.@x.rs.+u.Sr.(e.Hr.,P.-s.-s.=N.RB.'P.)P.me.V8.|p z! !P.~P.^#. ", +" [Y RP 2D m0.`q U(.U(.U(.{P._[./~.7-.Y}.5~.9~.>|.V5.5.4{.9{.%6.1f.df.re.WI.!H.+I.8D.rI.cP.Xc.>K.UL.)H.xv.RL.pM.oM.YN.%N.Px.8f.WN.u0.)h.@N.}O.X9.|@.1@.SK f(.f(.W9.W9.K0.K0.E_.RK RK RK E_.E_.E_.E_.E_.E_.E_.E_.RK RK RK RK E_.K0.K0.W9.*i.QO.}O.G0.z0.EN.dP.dN.$N.YN.^O.pO.wv.Zz.GB.[z.`z.}z.ns.*x.Bu.Qr.sd.rc.sM.7x.7P.0i.K.sP.MM.4L.sL.tv.pM.2M.Xk.VK.%N.Mb.=O.aO.pN.k9.m9.DN.r9.wa.`9.F` Q0.>i.AG.AG.}O.}O.}O.VE.EO.}O.}O.}O.AG.@N.@N.wa.r9.DN.EN.j9.!N.dN.HN.JM.Xk.2M.pM.SL..L.WK.%u.`A.kP.at.|x.Hx.tP.uP.o8.sd.vP.wP.xP.gv.i8.yP.U_.&! H( zP.=^.S{. ", +" 5/.eM.1#.1#.J@.pL AP.BP.CP.-0.s^.4{.7{.b{.|f.3f.pe.se.t8.w8.VI.C8.VL.qI.cP.2N.IJ.lK.NM.Mu..L.vv.tv.pM.3M.=M.KM.lM.%N.Wk.99.d9.Ox.aO.pN.j9.WN.qL.qL.qL.qL.sa.z.at.|x.db.#x.ss.+u.jc.5d.EP.FP.GP.aM.Ea.O' HP.IP.`@ 3@ (/. ", +" JP.]<.hJ }@.}@.h_.l(.6L KP.G@.[Y h6.8{.S&..6.ef.1}.se.Q7.gJ.VI.fJ.hP.rI.ib.[P.nb.>K.=u.LP.Mu.4L.jP.SL.5M.pM.AI.2M.=M.YN.~x.lM.MP.%N.Rx.Mb.Mb.Mb.Mb.Mb.NP.NP.NP.NP.NP.Rx.OP.%N.JM.VK.KM.=M.3M.pM.5M.SL.xv.Lu.}P.lK.>K.*L.PP.QP.yM.RP.SP.ss.+P.6t.vP.rc.vc.xb.>V &7 TP.UP.P[.y_.%# ", +" VP.%L.UH TK TK H_.D@.5L |L 5L =P.L8.G%.(}.oe.1}.se.Q7.xG.MD.+I.Ld.G8.qI.mH.6M.9A.8A.Qu.}I.}P.Mu.4L.xv.vv.SL.WP.rv.XP.4M.4M.2M.oM.=M.=M.nM.nM.nM.nM.nM.nM.YP._x._x.qv.pM.5M.RL.sL.xv.Lu.WK.LP.XK.pb.JJ.bt.@u.}z.ns.K.Qu.sP.UL.6L.Mu.Lu.yv.Iu.xv.sL.vv.&Q.SL.SL.SL.SL.SL.SL.vv.jP.jP..L.4L.5L.;M.}P.}I.XK.>K.nb.Vk.cP.*Q.=Q.hO.Hx.*x.ht.-Q.+u.9b.;Q.Kb.&:.OP >Q.,Q.'Q.51.F# F# ", +" )Q.!Q.If.}Y ]i D_.:_.[_.Q(.BP.KP.R_.-0.e:.yd.re.~Q.#I.%Q.Pd.wd.xd.hP.LJ.qI.mH.]J.Vk.2N.HJ.>u.>K.Qu.XK.XK.UL.UL.vL.}P.}P.}P.}P.}P.UL.}I.}I.wL.XK.Qu.>K.IJ.Xc.Vk.*Q.ib.TI.LJ.{Q.RP.7b.tP.Bu.]Q.^Q.Ib./_.Aw./Q.(Q._Q.06.]3.]3.:2. ", +" :Q.:Q.}%.nJ.eM.2D :_.i(..0>.jQ.BA.F; [> J1 |D X nZ uQ._$.{^ F; vQ.<] (%.J1 J1 MB J1 Z[ +c Z[ +..wQ.!, r|.x> dM xQ.yQ.zQ.AQ.;m./o.BQ.7l.w< [7 [7 h| ", +" .C.26 26 'X 'X *W *W w.}e }e ]8 ]8 ZP ZP hr.hr.m4 m4 pp.pp./o.kn. ", +" "}; diff --git a/features/org.eclipse.equinox.executable.feature/bin/gtk/solaris/sparc/Eclipse.l.pm b/features/org.eclipse.equinox.executable.feature/bin/gtk/solaris/sparc/Eclipse.l.pm new file mode 100644 index 000000000..995d7c9bb --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/bin/gtk/solaris/sparc/Eclipse.l.pm @@ -0,0 +1,311 @@ +/* XPM */ +static char *ProductIcon48[] = { +/* columns rows colors chars-per-pixel */ +"48 48 257 2", +" c black", +". c gray100", +"X c #69695A5AE8E8", +"o c #494949499191", +"O c #CECE9292BFBF", +"+ c #E7E7CACAE0E0", +"@ c #C8C88C8CBBBB", +"# c #C2C28A8ABABA", +"$ c #EAEAD7D7E8E8", +"% c #CFCFA9A9CCCC", +"& c #D9D9BCBCD8D8", +"* c #B6B68787B9B9", +"= c #C3C39999C7C7", +"- c #A7A77D7DB5B5", +"; c #BDBDA3A3CDCD", +": c #D8D8CACAE3E3", +"> c #A8A88D8DC4C4", +", c #92927575B2B2", +"< c #87876C6CAAAA", +"1 c #9A9A8383BABA", +"2 c #7B7B6363A3A3", +"3 c #666654549595", +"4 c #73735F5FADAD", +"5 c #626251519292", +"6 c #7F7F7272A7A7", +"7 c #6D6D5E5E9E9E", +"8 c #64645454A9A9", +"9 c #77776969B1B1", +"0 c #49493E3E8282", +"q c #7D7D7373B6B6", +"w c #5B5B4E4EADAD", +"e c #55554949BABA", +"r c #56564949BABA", +"t c #56564A4ABABA", +"y c #56564949B9B9", +"u c #55554949B8B8", +"i c #4F4F4444ACAC", +"p c #53534848B4B4", +"a c #53534848B3B3", +"s c #54544949B5B5", +"d c #52524747B0B0", +"f c #52524747AFAF", +"g c #54544949B3B3", +"h c #DEDEDCDCEEEE", +"j c #3E3E36369898", +"k c #43433B3B9F9F", +"l c #33332C2C7777", +"z c #42423A3A9C9C", +"x c #4A4A4040A8A8", +"c c #55554A4ABABA", +"v c #55554A4AB9B9", +"b c #54544949B7B7", +"n c #52524848B1B1", +"m c #51514747AEAE", +"M c #4E4E4545A9A9", +"N c #49494141A0A0", +"B c #52524848AFAF", +"V c #51514848AEAE", +"C c #50504747ACAC", +"Z c #4F4F4646AAAA", +"A c #51514848ADAD", +"S c #50504747ABAB", +"D c #50504848ACAC", +"F c #50504747A9A9", +"G c #4E4E4646A7A7", +"H c #4E4E4545A4A4", +"J c #4D4D4545A4A4", +"K c #4F4F4747A8A8", +"L c #4E4E4646A5A5", +"P c #4D4D4545A3A3", +"I c #3B3B35357D7D", +"U c #4E4E4646A3A3", +"Y c #55554D4D9F9F", +"T c #4A4A43438989", +"R c #51514B4B9090", +"E c #67676060A5A5", +"W c #1D1D18186A6A", +"Q c #272722227D7D", +"! c #282823237D7D", +"~ c #2B2B26268181", +"^ c #33332C2C8989", +"/ c #3B3B36368E8E", +"( c #454540409797", +") c #4D4D4646A4A4", +"_ c #4C4C4545A1A1", +"` c #4D4D4646A2A2", +"' c #4B4B4545A0A0", +"] c #4D4D4646A1A1", +"[ c #4C4C45459F9F", +"{ c #4B4B45459E9E", +"} c #4A4A44449C9C", +"| c #494944449898", +" . c #484843439696", +".. c #4A4A45459999", +"X. c #4F4F4A4AA0A0", +"o. c #68686363AAAA", +"O. c #21211D1D7676", +"+. c #242420207575", +"@. c #2D2D2A2A7F7F", +"#. c #2D2D2A2A7B7B", +"$. c #3D3D39398F8F", +"%. c #484844449696", +"&. c #474743439393", +"*. c #464643439191", +"=. c #454542428E8E", +"-. c #4D4D4A4A9C9C", +";. c #57575454A3A3", +":. c #5A5A58589797", +">. c #5F5F5D5D9999", +",. c #85858282C1C1", +"<. c #95959292C9C9", +"1. c #B8B8B6B6DCDC", +"2. c #070705055353", +"3. c #080807075555", +"4. c #0A0A09095757", +"5. c #0C0C0B0B5858", +"6. c #0F0F0D0D5C5C", +"7. c #10100F0F5C5C", +"8. c #131311116464", +"9. c #141413136060", +"0. c #141413135F5F", +"q. c #171715156767", +"w. c #161615156262", +"e. c #161615156161", +"r. c #181817176464", +"t. c #1A1A19196666", +"y. c #1C1C1A1A6464", +"u. c #1D1D1C1C6868", +"i. c #1F1F1E1E6A6A", +"p. c #222221216C6C", +"a. c #242423236F6F", +"s. c #272725257171", +"d. c #272726267272", +"f. c #272726267171", +"g. c #292928287474", +"h. c #2A2A29297474", +"j. c #2C2C2B2B7777", +"k. c #2F2F2E2E7C7C", +"l. c #2E2E2D2D7979", +"z. c #343433337E7E", +"x. c #393937378686", +"c. c #373736368181", +"v. c #3A3A39398484", +"b. c #3A3A39398383", +"n. c #3D3D3B3B8686", +"m. c #424241418C8C", +"M. c #424241418B8B", +"N. c #444442428B8B", +"B. c #434341418989", +"V. c #454544448E8E", +"C. c #454544448D8D", +"Z. c #424241418787", +"A. c #434342428888", +"S. c #444442428787", +"D. c #424241418585", +"F. c #414140408383", +"G. c #484847479090", +"H. c #434342428686", +"J. c #4A4A49499393", +"K. c #464645458A8A", +"L. c #4D4D4C4C9595", +"P. c #54545252A0A0", +"I. c #50504F4F9898", +"U. c #58585757A0A0", +"Y. c #525250509393", +"T. c #5B5B5959A2A2", +"R. c #585857579F9F", +"E. c #62626161A9A9", +"W. c #64646363ACAC", +"Q. c #6B6B6A6AB2B2", +"!. c #6B6B6A6AB1B1", +"~. c #75757474B8B8", +"^. c #7F7F7D7DBDBD", +"/. c #9C9C9B9BCFCF", +"(. c #0B0B0B0B5858", +"). c #0D0D0D0D5A5A", +"_. c #111111115E5E", +"`. c #131313136060", +"'. c #212121216D6D", +"]. c #242424246F6F", +"[. c #2B2B2C2C7777", +"{. c #2B2B2B2B7777", +"}. c #2C2C2C2C7777", +"|. c #2E2E2E2E7979", +" X c #313131317C7C", +".X c #313131317B7B", +"XX c #343434347E7E", +"oX c #3C3C3C3C8686", +"OX c #3F3F3F3F8989", +"+X c #414142428B8B", +"@X c #424242428B8B", +"#X c #474747479090", +"$X c #414141418484", +"%X c #404040408181", +"&X c #4A4A4A4A9494", +"*X c #4A4A4A4A9393", +"=X c #4D4D4D4D9696", +"-X c #4F4F4F4F9898", +";X c #505050509898", +":X c #525252529B9B", +">X c #555555559E9E", +",X c #555555559D9D", +".% + : vX1.1.cXmX/.dXaXaXsXpXiXQ.uXrXqX8X6X5XT.R.P.X.P ) H G K K S S S m o ", +"X D.$XD.D.D.D.D.S.6 & $ h bXvXvX1.xX/.kXfXaXsXpXiXQ.yXrXW.E.6X5X4XU.,X:XI.-.` L G G K F Z C C o ", +"X D.D.D.D.D.Z.H.6 & $ h h h bXvX1.cXmXkX,.dXpXiXQ.yXtXqXwX6X5XT.U.,X:XI.=X*X..` G K K Z S S m o ", +"X Z.D.Z.H.Z.Z.7 & $ h h nXh bXvX1.cXmXkX,.gXiXQ.uXrXW.E.6X5X4XU.,X:X-XL.J.#XV. .P G F S S C m o ", +"X Z.Z.Z.H.Z.R % + : bXh h h bXvX1.cX/.kXhX~.Q.yXrXqX9X6X5X4X2X,X:X;X=X*X#XV.M.OX( K Z S S C m o ", +"X Z.Z.Z.A.A.* & & vXvXbXbXbXvXvX1.xXlXjX^.pXuXrXeXwX6X5X4XU.,X:X-XL.*XG.V.@XOXoXb.( Z S C C V o ", +"X B.B.B.A.2 % % 1.1.vXvXvXvXvX1.cXzX<.,.gXiXrXW.E.6X5X4XU.,X:XI.=X*X#XV.@XOXn.b.c.x.N S S C m o ", +"X B.B.B.S.* % ; xX1.1.1.1.1.cXcXzXlXjX^.pXrXeX7X6X5X4XR.,X:X-XL.J.#XV.@XOXn.b.c.XX X$.S C C m o ", +"X N.N.N.2 O = /.mXxXcXcXcXcXxXzXlXjXhX~.uXeXE.6X5X4XU.,X:X-XL.J.#XV.M.OXn.v.c.z. X|.k.N D V f o ", +"X N.N.N.- @ > kX<././.mXzXzXlX<.jXhXgXuXeXE.6X5X4X1X,X:XI.L.*X#XV.m.OXn.b.c.z. Xl.j.g./ C m V o ", +"X N.N.R @ # ,.,.jXkXkX<.kXkXjX,.^.~.uXwXE.6X5X4X1X,X:XI.=XJ.#XC.M.OXn.v.c.z..X|.j.g.d.#.M m B o ", +"X =.M.< @ * fXfXhXhX,.,.,.hX^.gXpXuXqX9X6X5X4XU.,X:XI.L.*XG.V.+XOXn.b.c.z..X|.[.g.d.a.p.z V B o ", +"X =.N.- @ NXNXBXBXBXVXCXCXCXCXZXZXZXZXAXAXSXSXSXDXDXDXFXFXFXGXPXPXHXHXIXJXMXMXMXKXKXLXLXLXB d o ", +"X =.=.* @ 1 dXdXaXaXsXpXiX!.yXrXeXwX6X5X4XX:XI.L.*XG.V.m.OXoXv.c.z. X|.j.g.d.a.'.i.u.t.r.w.9.d n o ", +"X &.&.@ @ ~.sXpXiXQ.yXtXW.E.6X5X4X1X,X:XI.=X*X#XC.m.OXn.b.c.z. X|.[.g.f.a.p.i.u.t.r.w.9.0.n a o ", +"X &.&.@ @ NXNXBXBXVXVXVXCXCXCXZXZXZXZXAXAXSXSXSXDXDXDXFXFXGXGXPXPXHXIXIXJXMXMXKXKXKXLXLXLXn n o ", +"X %. .# @ q iXQ.yXrXW.0X6X5X4XU.>X:XI.L.*X#XV.@XOXn.b.c.XX.X|.{.g.f.].'.i.u.t.r.w.0._.7.W n a o ", +"X %. .* # , Q.yXtXeX7X6X5X4XU.,X:X-XL.*X#XV.@XOXn.b.c.XX Xl.{.g.d.a.p.i.u.t.r.e.0._.7.).+.a a o ", +"X | | - # NXNXNXBXVXVXCXCXCXCXZXZXZXAXAXAXAXSXSXDXDXDXFXFXGXGXPXPXHXHXIXJXMXMXMXKXKXLXLXLXa a o ", +"X | | < # - rXeX9X6X5X4XU.,X:X-XL.*X#XC.@XOXoXb.c.z. X|.j.h.s.a.'.i.u.t.r.w.9._.7.).5.4.j a p o ", +"X | } Y # * 9 8X6X5X4X3X,X:XI.=X*XG.V.@XOXn.v.c.XX X|.j.g.f.a.p.i.u.t.r.e.0._.7.).5.4.q.i g p o ", +"X } } | - # , 6X5X4XR.,X:XI.=X*XG.V.m.OXoXb.c.XX X|.j.g.f.a.p.i.u.t.r.e.9._.7.).5.4.3.~ a s s o ", +"X } } } 4 # - E 4XU.>X:X-X=XJ.#XV.M.OXoXb.c.XX X|.{.h.d.a.'.i.u.t.r.e.9._.7.).5.4.3.6.z p s s o ", +"X { { } } - # < U.,X:XI.=X*XG.V.+XOXoXb.c.z. X|.}.g.d.a.'.i.u.t.r.w.0._.7.).5.4.3.2.! g p s s o ", +"X [ { ' [ 4 * - E :X;XL.J.#XV.m.OXoXb.c.z..X|.j.h.f.a.'.i.u.t.r.w.9._.6.).(.4.3.2.8.k p s s s o ", +"X [ [ ' _ [ , * , ;XL.J.#XV.@XOXoXv.c.z..X|.{.g.f.a.p.i.u.t.r.w.`._.7.).(.4.3.2.2.^ s p s s s o ", +"X _ _ _ _ P ] - * 2 *X#XV.m.OXn.v.c.XX X|.j.h.f.a.p.i.u.t.r.w.`._.7.).(.4.3.2.2.Q p s s s b u o ", +"X ` ` ` ` ` ` 8 - - 7 V.@XOXoXv.c.XX.X|.j.g.d.a.'.i.u.t.r.w.0._.7.).5.4.3.2.2.O.x p s s s u u o ", +"X P P ) P U U ) 8 - - 7 OXn.v.c.XX X|.j.h.f.a.p.i.u.t.r.w.0._.7.).5.4.3.2.2.O.x s s s s b u u o ", +"X L L ) H ) L L L 8 1 - 7 b.c.z. X|.j.h.f.a.'.i.u.t.r.w.0._.7.).5.4.3.2.2.Q x p s s s b b u e o ", +"X L G L G G G G G G G , * 2 T .Xl.j.h.f.a.p.i.u.t.r.e.0._.7.).5.4.3.2.8.^ p p s s s s u u e e o ", +"X G G G G G G G K K M M 4 , , 3 I g.d.a.p.i.u.t.r.e.`._.7.).5.4.3.7.! k p s p s s s u u u e v o ", +"X K G K K K K K K Z Z M F F 4 , < 3 I p.i.u.t.r.w.9._.7.).5.4.W ~ z a p p s s b s u u u e e e o ", +"X F Z F F F F Z Z F F S S S S S w 9 < 2 5 0 l p.e.9.y.a.l ^ j i a p p p s s b b b u e v y r e o ", +"X S Z Z S Z S Z S S S S S C C C A m d V f m B m B d d n d a a a p s p s s b u u u u e v e r t o ", +"X S S S S S S S S S S C C C m m A V V B B B d d d n n a a a p p s p s s b u u u e e e c t r t o ", +"X C C C C C C C C m C A m A m f V f f B d d d n n n a a a a s s s s s u b u u u u v t t r t t o ", +"YXo o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o YX" +}; diff --git a/features/org.eclipse.equinox.executable.feature/bin/gtk/solaris/sparc/Eclipse.m.pm b/features/org.eclipse.equinox.executable.feature/bin/gtk/solaris/sparc/Eclipse.m.pm new file mode 100644 index 000000000..e64aa0cc0 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/bin/gtk/solaris/sparc/Eclipse.m.pm @@ -0,0 +1,295 @@ +/* XPM */ +static char *ProductIcon32[] = { +/* columns rows colors chars-per-pixel */ +"32 32 257 2", +" c black", +". c gray100", +"X c #69695A5AE8E8", +"o c #494949499191", +"O c #E8E8CBCBE0E0", +"+ c #DDDDB3B3D2D2", +"@ c #F0F0DDDDEBEB", +"# c #CDCD9191BEBE", +"$ c #C8C88B8BBBBB", +"% c #CACA9898C2C2", +"& c #C3C38A8ABBBB", +"* c #BABA8787B9B9", +"= c #DCDCC4C4DEDE", +"- c #C5C5A3A3CACA", +"; c #ADAD8181B8B8", +": c #A3A37A7AB5B5", +"> c #E2E2D6D6E9E9", +", c #B3B39A9AC4C4", +"< c #EBEBE3E3F0F0", +"1 c #C9C9B6B6D6D6", +"2 c #96967676B8B8", +"3 c #8C8C7171ABAB", +"4 c #A4A49292BEBE", +"5 c #7D7D6565A6A6", +"6 c #83836D6DABAB", +"7 c #9A9A8787C2C2", +"8 c #7B7B6464B7B7", +"9 c #5E5E50509191", +"0 c #646457579A9A", +"q c #85857B7BBEBE", +"w c #7C7C7373B6B6", +"e c #62625353D5D5", +"r c #61615353D4D4", +"t c #60605252D1D1", +"y c #5F5F5252D0D0", +"u c #5F5F5151CFCF", +"i c #60605353D2D2", +"p c #5F5F5252CFCF", +"a c #5E5E5151CDCD", +"s c #5C5C4F4FC7C7", +"d c #5F5F5252CDCD", +"f c #5E5E5151CBCB", +"g c #5B5B4F4FC4C4", +"h c #5A5A4E4EC1C1", +"j c #71716969B0B0", +"k c #48483E3EADAD", +"l c #5D5D5151CDCD", +"z c #5C5C5050C9C9", +"x c #5D5D5151CBCB", +"c c #5C5C5050C7C7", +"v c #5B5B4F4FC6C6", +"b c #5B5B5050C6C6", +"n c #59594E4EC1C1", +"m c #58584D4DBFBF", +"M c #59594F4FC2C2", +"N c #5A5A4F4FC2C2", +"B c #58584D4DBCBC", +"V c #57574D4DBCBC", +"C c #59594E4EBEBE", +"Z c #58584E4EBDBD", +"A c #58584D4DBBBB", +"S c #57574D4DBABA", +"D c #56564D4DB9B9", +"F c #56564C4CB6B6", +"G c #55554C4CB6B6", +"H c #54544B4BB4B4", +"J c #54544B4BB1B1", +"K c #53534B4BB1B1", +"L c #52524A4AAEAE", +"P c #51514949ACAC", +"I c #51514949ABAB", +"U c #474741418787", +"Y c #32322C2C8F8F", +"T c #2B2B25257777", +"R c #36362F2F9696", +"E c #2B2B26266E6E", +"W c #4D4D4545ACAC", +"Q c #55554D4DB8B8", +"! c #54544C4CB4B4", +"~ c #54544C4CB3B3", +"^ c #51514A4AACAC", +"/ c #51514A4AABAB", +"( c #50504949A9A9", +") c #4F4F4949A6A6", +"_ c #4C4C4747A1A1", +"` c #4E4E4848A3A3", +"' c #4D4D4848A1A1", +"] c #4B4B46469C9C", +"[ c #4C4C47479E9E", +"{ c #51514C4CA6A6", +"} c #A9A9A6A6D5D5", +"| c #1E1E1A1A6666", +" . c #292925258181", +".. c #3D3D39399292", +"X. c #4A4A46469B9B", +"o. c #53534E4EABAB", +"O. c #494945459797", +"+. c #4A4A46469999", +"@. c #474744449494", +"#. c #484845459494", +"$. c #474744449292", +"%. c #464643439090", +"&. c #464642428D8D", +"*. c #54545050A9A9", +"=. c #474744448F8F", +"-. c #4C4C49499999", +";. c #57575454A6A6", +":. c #5B5B5757AAAA", +">. c #545451519B9B", +",. c #5A5A57579C9C", +"<. c #65656262A7A7", +"1. c #68686666A2A2", +"2. c #CACAC9C9E5E5", +"3. c #050504045151", +"4. c #080807075454", +"5. c #0A0A09095858", +"6. c #0C0C0A0A5858", +"7. c #10100E0E6262", +"8. c #0E0E0D0D5A5A", +"9. c #121211115D5D", +"0. c #131312125D5D", +"q. c #161615156161", +"w. c #171716166161", +"e. c #1A1A19196565", +"r. c #20201E1E7070", +"t. c #1E1E1D1D6969", +"y. c #2A2A29297676", +"u. c #2F2F2D2D7676", +"i. c #3A3A39398787", +"p. c #3A3A39398383", +"a. c #3F3F3E3E8888", +"s. c #414140408989", +"d. c #454543438D8D", +"f. c #444442428B8B", +"g. c #444443438C8C", +"h. c #434342428A8A", +"j. c #434341418888", +"k. c #434342428989", +"l. c #424241418787", +"z. c #434342428787", +"x. c #424241418585", +"c. c #41413F3F8181", +"v. c #414140408282", +"b. c #484846468D8D", +"n. c #494948489090", +"m. c #4B4B4A4A9191", +"M. c #4B4B49498E8E", +"N. c #525251519A9A", +"B. c #525251519999", +"V. c #565654549A9A", +"C. c #545453539494", +"Z. c #60605F5FA7A7", +"A. c #64646363ABAB", +"S. c #5A5A59599797", +"D. c #68686767ADAD", +"F. c #6C6C6B6BB2B2", +"G. c #5E5E5D5D9A9A", +"H. c #76767575BABA", +"J. c #78787777BBBB", +"K. c #76767474B5B5", +"L. c #7E7E7D7DBABA", +"P. c #A5A5A4A4D2D2", +"I. c #040404045252", +"U. c #070707075454", +"Y. c #070708085353", +"T. c #080808085454", +"R. c #0A0A0B0B5757", +"E. c #0E0E0E0E5A5A", +"W. c #111112125E5E", +"Q. c #111111115E5E", +"!. c #111111115D5D", +"~. c #111112125D5D", +"^. c #161616166868", +"/. c #151516166161", +"(. c #151515156161", +"). c #19191A1A6565", +"_. c #191919196565", +"`. c #1A1A1A1A6464", +"'. c #1D1D1E1E6969", +"]. c #1E1E1E1E6969", +"[. c #222222226D6D", +"{. c #272727277171", +"}. c #2B2B2C2C7676", +"|. c #2B2B2B2B7676", +" X c #2B2B2B2B7575", +".X c #303030307A7A", +"XX c #303030307979", +"oX c #353535357F7F", +"OX c #393939398383", +"+X c #3A3A3A3A8383", +"@X c #3F3F3F3F8787", +"#X c #434343438C8C", +"$X c #434344448C8C", +"%X c #424242428686", +"&X c #414141418484", +"*X c #484848489191", +"=X c #484849499090", +"-X c #4D4D4D4D9696", +";X c #515151519D9D", +":X c #4D4D4D4D9595", +">X c #515152529A9A", +",X c #515152529999", +".-.+.] [ _ ` ) ( ^ L K H G D V C h o ", +"X &Xv.&Xx.x.l.j.M.1.4 - - , 7 q J.H.K.j :.*.P L K H F S B C n o ", +"X x.&Xx.x.z.j.S., = = 1 } iXuXH.rXwXF.qX7XZ.;.o.J ! F S B m n o ", +"X x.l.z.%Xz.G.1 @ > 2.dXaXiXuXrXwXF.qX8X5X4X2X;X{ H F S V C n o ", +"X z.j.j.j.C.1 @ < gX2.fXaXpXuXwXeX9X7X5X4X2XN.:X*X_ D S Z m h o ", +"X k.k.h.b., O > gXgX2.dXaXiXyXF.D.A.Z.4X3X1X:Xn.g.a._ V B m N o ", +"X f.f.f.3 + = 2.2.2.fXsXpXhXtXD.8XZ.4X2X1X:X*X$X@Xp.i.W C n N o ", +"X d.&.%.% + 1 dXdXdXsXP.iXyXK.8X5X4X2X>X:X*Xg.a.+XoX.X..m n N o ", +"X %.=.5 % - P.} aXP.pXiXyXK.D.Z.4X3X1X-Xn.$X@X+XoX.X Xy.W h g o ", +"X $.$.: # PXIXGXGXLXJXFXFXSXvXAXcXZXxXVXCXzXzXBXMXkXmXnXjXh g o ", +"X #.@.* $ 7 yXuXyXtXL.K.D.6X4X2X1X:Xo g.a.OXoX.X|.{.[.t. .g v o ", +"X O.#.$ $ q H.rXwXF.0XA.6X4X2X1X:Xo $Xa.p.oX.X|.{.[.'.`.r.g b o ", +"X X.+.$ $ PXKXbXbXLXJXDXFXSXvXAXcXZXxXCXCXzXBXBXMXNXmXlXjXb c o ", +"X ] ] $ $ H.wXF.0X7X6X4X2XX:Xo #Xa.+XoXXX|.{.[.t._.q.~.E.R.4.5.k x a o ", +"X ( ( I ; * 6 2X>X:X=X$X@X+XoX.X|.{.[.t.e./.W.E.R.Y.3. .z a a o ", +"X I ^ / 8 * : 0 :X*X#X@X+XoX.X|.{.[.'._.(.~.E.R.T.3.7.k x a p o ", +"X L L L ^ 2 * 3 m.$Xa.p.oX.X}.{.[.t.).(.~.E.6.T.3.I.R x a a y o ", +"X J K K K K 2 * 5 s.OXoX.X}.{.[.'._.(.9.8.R.4.3.I.Y x l a p t o ", +"X ~ H H ! ! ! 2 ; 5 U XX}.{.[.].e.(.W.E.R.U.3.7.R x l u u y t o ", +"X G F G G G Q Q 8 : 3 9 u.[.]._./.Q.E.R.T.6. .k x a a u t t t o ", +"X D S D S D S S S V 8 2 6 9 c.E w.0.| T Y k z z a a p t t i r o ", +"X A V B V V V B B m m n n h h g g g c z z z l l d p y t i r r o ", +"X m C C C C C C C n n n M N g g b c z z x a a a u y t t r r e o ", +"X n n n n n h h h N N g g v b s z z z x a p p u t t r r r e e o ", +"YXo o o o o o o o o o o o o o o o o o o o o o o o o o o o o o YX" +}; diff --git a/features/org.eclipse.equinox.executable.feature/bin/gtk/solaris/sparc/Eclipse.s.pm b/features/org.eclipse.equinox.executable.feature/bin/gtk/solaris/sparc/Eclipse.s.pm new file mode 100644 index 000000000..e2b9379f3 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/bin/gtk/solaris/sparc/Eclipse.s.pm @@ -0,0 +1,287 @@ +/* XPM */ +static char *ProductIcon24[] = { +/* columns rows colors chars-per-pixel */ +"24 24 257 2", +" c black", +". c gray100", +"X c #69695A5AE8E8", +"o c #494949499191", +"O c #F1F1DFDFECEC", +"+ c #D7D7ACACCDCD", +"@ c #DFDFBBBBD6D6", +"# c #E2E2C4C4DBDB", +"$ c #CECE9C9CC4C4", +"% c #C4C48B8BBABA", +"& c #C2C28A8ABABA", +"* c #C4C48E8EBCBC", +"= c #BFBF8A8AB9B9", +"- c #EBEBD9D9E9E9", +"; c #BFBF8888B9B9", +": c #D8D8B9B9D6D6", +"> c #B9B98686B9B9", +", c #B8B88989B9B9", +"< c #BBBB9393BFBF", +"1 c #A9A97B7BB2B2", +"2 c #E4E4D4D4E7E7", +"3 c #C6C6AFAFCECE", +"4 c #A6A68080B6B6", +"5 c #A2A27E7EB4B4", +"6 c #9E9E7E7EB1B1", +"7 c #ABAB9090BBBB", +"8 c #B7B7A0A0C5C5", +"9 c #9D9D7C7CB2B2", +"0 c #AAAA8B8BBEBE", +"q c #AAAA9090BCBC", +"w c #8C8C6B6BABAB", +"e c #90907070B1B1", +"r c #C4C4B3B3D7D7", +"t c #CDCDBFBFDDDD", +"y c #EAEAE4E4F1F1", +"u c #88886A6AADAD", +"i c #9E9E8585C1C1", +"p c #84846A6AAFAF", +"a c #81816B6BAAAA", +"s c #D7D7CFCFE6E6", +"d c #81816969B1B1", +"f c #78786363A5A5", +"g c #6E6E5D5D9C9C", +"h c #717160609D9D", +"j c #83837474AAAA", +"k c #6A6A5757A3A3", +"l c #6E6E5E5EA0A0", +"z c #5E5E50509292", +"x c #88887B7BBCBC", +"c c #68685858ABAB", +"v c #5A5A4D4DA2A2", +"b c #7D7D7373B4B4", +"n c #5A5A4E4EA6A6", +"m c #5F5F56569595", +"M c #56564A4ABBBB", +"N c #56564949B9B9", +"B c #55554949B8B8", +"V c #53534848B3B3", +"C c #54544949B4B4", +"Z c #52524747B0B0", +"A c #52524747AFAF", +"S c #5B5B53539393", +"D c #3E3E36369797", +"F c #49494040A6A6", +"G c #48484040A5A5", +"H c #55554A4ABABA", +"J c #54544949B7B7", +"K c #53534949B4B4", +"L c #51514747AFAF", +"P c #52524848B1B1", +"I c #51514848B0B0", +"U c #51514848AEAE", +"Y c #51514747ADAD", +"T c #51514848ADAD", +"R c #4F4F4747ABAB", +"E c #50504747ABAB", +"W c #50504646A9A9", +"Q c #4F4F4646A8A8", +"! c #4E4E4646A7A7", +"~ c #4E4E4545A4A4", +"^ c #4D4D4545A4A4", +"/ c #4E4E4646A5A5", +"( c #4D4D4545A1A1", +") c #3D3D36367E7E", +"_ c #4B4B44449C9C", +"` c #2A2A25257F7F", +"' c #3E3E37379898", +"] c #474740409C9C", +"[ c #4D4D4646A4A4", +"{ c #4C4C4545A2A2", +"} c #4D4D4646A2A2", +"| c #4D4D4646A1A1", +" . c #4B4B45459F9F", +".. c #4C4C45459F9F", +"X. c #4C4C46469F9F", +"o. c #4B4B45459D9D", +"O. c #494943439898", +"+. c #494944449A9A", +"@. c #4A4A45459A9A", +"#. c #494944449898", +"$. c #484843439696", +"%. c #494944449797", +"&. c #484843439595", +"*. c #51514C4CA1A1", +"=. c #6B6B6767AEAE", +"-. c #95959191C9C9", +";. c #23231F1F7676", +":. c #21211E1E7070", +">. c #292925257F7F", +",. c #252521217070", +"<. c #242421216D6D", +"1. c #2B2B27278080", +"2. c #393935358C8C", +"3. c #444440409494", +"4. c #3B3B38388282", +"5. c #474743439494", +"6. c #484844449595", +"7. c #474743439393", +"8. c #474744449393", +"9. c #464643439191", +"0. c #454542428F8F", +"q. c #4A4A47479898", +"w. c #464643438F8F", +"e. c #454542428D8D", +"r. c #444441418B8B", +"t. c #484844449191", +"y. c #444441418989", +"u. c #494946469090", +"i. c #4C4C48489393", +"p. c #51514E4E9E9E", +"a. c #73737070B6B6", +"s. c #77777474BBBB", +"d. c #A0A09E9ED1D1", +"f. c #D6D6D5D5EBEB", +"g. c #0E0E0D0D5A5A", +"h. c #11110F0F5E5E", +"j. c #121211115E5E", +"k. c #131312125F5F", +"l. c #171716166363", +"z. c #1D1D1B1B6868", +"x. c #1D1D1C1C6868", +"c. c #222221216E6E", +"v. c #222221216D6D", +"b. c #282827277474", +"n. c #282827277373", +"m. c #292928287373", +"M. c #2F2F2E2E7979", +"N. c #353534347F7F", +"B. c #363635358181", +"V. c #3C3C3B3B8585", +"C. c #424241418C8C", +"Z. c #424241418B8B", +"A. c #444442428B8B", +"S. c #434341418989", +"D. c #434342428989", +"F. c #424241418787", +"G. c #414140408484", +"H. c #474745458D8D", +"J. c #434342428787", +"K. c #424241418585", +"L. c #414140408282", +"P. c #494948489191", +"I. c #4F4F4E4E9797", +"U. c #59595757A6A6", +"Y. c #5F5F5D5DA4A4", +"T. c #6C6C6B6BB3B3", +"R. c #7C7C7B7BB9B9", +"E. c #A8A8A7A7D3D3", +"W. c #0D0D0D0D5A5A", +"Q. c #1F1F1F1F6C6C", +"!. c #222222226E6E", +"~. c #3B3B3B3B8585", +"^. c #414141418C8C", +"/. c #414141418B8B", +"(. c #424242428B8B", +"). c #484848489292", +"_. c #404040408181", +"`. c #4E4E4E4E9898", +"'. c #555555559E9E", +"]. c #555555559D9D", +"[. c #5B5B5B5BA3A3", +"{. c #5C5C5C5CA3A3", +"}. c #61616161A9A9", +"|. c #66666666AEAE", +" X c #66666666ADAD", +".X c #6B6B6B6BB2B2", +"XX c #70707070B7B7", +"oX c #6A6A6A6AADAD", +"OX c #74747474BBBB", +"+X c #89898989C2C2", +"@X c #90909090C8C8", +"#X c #8F8F8F8FC6C6", +"$X c #92929292C6C6", +"%X c #9F9F9F9FCFCF", +"&X c #A5A5A5A5D2D2", +"*X c #B5B5B5B5DBDB", +"=X c #B8B8B8B8DEDE", +"-X c #B7B7B7B7DCDC", +";X c #BBBBBBBBDEDE", +":X c #BDBDBDBDDFDF", +">X c #C9C9C9C9E5E5", +",X c #D1D1D1D1EAEA", +"X*X%X+X|.}.[.].I.P.^.~.B.] E Y o ", +"X e.u.q @ t :X-XE.$X 5 Y.].I.)./.~.N.M.b.v.x.l.k.h.' V C o ", +"X o.o.o.u , a I.).Z.V.N.M.n.c.z.l.j.W.` P V C o ", +"X .. .X.v e 4 l ^.V.N.M.m.!.x.l.j.g.;.F V C J o ", +"X ( | ( ( n p 9 g 4.M.n.c.x.l.j.h.>.G V K C J o ", +"X ~ [ [ ^ / / c d f z ) <.z.,.1.D P V C C B B o ", +"X ! Q ! Q Q Q Q W E E Y T A Z P V V K C J B B o ", +"X Q W Q W R W E E T T T L Z P V V K J J J B N o ", +"X R E E E E E Y Y U L Z P P P C V J J B B H M o ", +"YXo o o o o o o o o o o o o o o o o o o o o o YX" +}; diff --git a/features/org.eclipse.equinox.executable.feature/bin/gtk/solaris/sparc/Eclipse.t.pm b/features/org.eclipse.equinox.executable.feature/bin/gtk/solaris/sparc/Eclipse.t.pm new file mode 100644 index 000000000..3f6b21f42 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/bin/gtk/solaris/sparc/Eclipse.t.pm @@ -0,0 +1,279 @@ +/* XPM */ +static char *ProductIcon16[] = { +/* columns rows colors chars-per-pixel */ +"16 16 257 2", +" c black", +". c gray100", +"X c #E2E2C0C0D9D9", +"o c #EDEDD9D9E8E8", +"O c #D5D5ABABCDCD", +"+ c #E2E2C3C3DCDC", +"@ c #C5C58E8EBCBC", +"# c #D4D4ABABCDCD", +"$ c #CACA9F9FC6C6", +"% c #D6D6B4B4D3D3", +"& c #CACAA0A0C8C8", +"* c #C6C69D9DC6C6", +"= c #C5C59F9FC8C8", +"- c #CCCCACACCECE", +"; c #CCCCB0B0D3D3", +": c #A6A68383B3B3", +"> c #BABA9A9AC6C6", +", c #B7B79A9AC2C2", +"< c #E3E3D5D5E9E9", +"1 c #B0B08E8EC0C0", +"2 c #9F9F8080B8B8", +"3 c #AFAF9898C1C1", +"4 c #DBDBCFCFE5E5", +"5 c #96967878B2B2", +"6 c #9A9A7E7EBABA", +"7 c #8E8E7878AFAF", +"8 c #91917F7FBDBD", +"9 c #D3D3CCCCE4E4", +"0 c #535348488B8B", +"q c #69695A5AE8E8", +"w c #55554949B9B9", +"e c #55554949B8B8", +"r c #54544848B6B6", +"t c #53534848B4B4", +"y c #54544848B4B4", +"u c #53534848B3B3", +"i c #53534848B2B2", +"p c #52524747AFAF", +"a c #53534848B1B1", +"s c #54544949B8B8", +"d c #54544949B6B6", +"f c #52524848B3B3", +"g c #52524848B2B2", +"h c #53534949B3B3", +"j c #52524848B1B1", +"k c #52524848B0B0", +"l c #51514747AEAE", +"z c #52524848AFAF", +"x c #51514848AEAE", +"c c #51514747ADAD", +"v c #51514747ACAC", +"b c #4F4F4646AAAA", +"n c #51514848ADAD", +"m c #50504747ABAB", +"M c #50504747AAAA", +"N c #4F4F4646A8A8", +"B c #50504747A9A9", +"V c #4E4E4646A7A7", +"C c #4E4E4646A6A6", +"Z c #4F4F4646A6A6", +"A c #4F4F4747A7A7", +"S c #4D4D4545A3A3", +"D c #4D4D4545A2A2", +"F c #4C4C45459E9E", +"G c #74746E6EB3B3", +"H c #2E2E29298383", +"J c #383832329090", +"K c #464640409999", +"L c #4D4D4646A2A2", +"P c #4E4E4747A3A3", +"I c #4B4B45459F9F", +"U c #4B4B45459E9E", +"Y c #4C4C46469F9F", +"T c #4A4A44449B9B", +"R c #4A4A44449A9A", +"E c #494943439797", +"W c #494944449797", +"Q c #484843439494", +"! c #78787474B8B8", +"~ c #272724247878", +"^ c #2D2D2A2A7575", +"/ c #484844449797", +"( c #474743439393", +") c #454542429090", +"_ c #4B4B48489A9A", +"` c #464643438F8F", +"' c #464643438E8E", +"] c #454542428C8C", +"[ c #51514D4DA0A0", +"{ c #5C5C5959A5A5", +"} c #535350509090", +"| c #C8C8C7C7E3E3", +" . c #121211115D5D", +".. c #1A1A19196565", +"X. c #242422226D6D", +"o. c #3F3F3E3E8888", +"O. c #444442428D8D", +"+. c #444442428989", +"@. c #424241418787", +"#. c #454543438A8A", +"$. c #434342428888", +"%. c #424241418686", +"&. c #414140408484", +"*. c #414140408383", +"=. c #424240408383", +"-. c #414140408282", +";. c #474746468D8D", +":. c #464644448989", +">. c #525251519999", +",. c #64646363AAAA", +"<. c #61615F5FA2A2", +"1. c #6E6E6C6CB2B2", +"2. c #A5A5A4A4D3D3", +"3. c #B0B0AFAFD6D6", +"4. c #111112125D5D", +"5. c #19191A1A6565", +"6. c #1E1E1E1E6C6C", +"7. c #222222226D6D", +"8. c #2B2B2B2B7676", +"9. c #2B2B2B2B7575", +"0. c #2B2B2C2C7575", +"q. c #343435357F7F", +"w. c #343435357E7E", +"e. c #353535357F7F", +"r. c #3E3E3E3E8888", +"t. c #3E3E3E3E8787", +"y. c #414141418484", +"u. c #404040408282", +"i. c #484849499191", +"p. c #494949499191", +"a. c #484848489090", +"s. c #484849499090", +"d. c #404040408080", +"f. c #525252529A9A", +"g. c #525252529999", +"h. c #5B5B5B5BA3A3", +"j. c #5B5B5B5BA2A2", +"k. c #64646464ABAB", +"l. c #63636464AAAA", +"z. c #6B6B6C6CB2B2", +"x. c #72727373B9B9", +"c. c #71717171A4A4", +"v. c #78787878ABAB", +"b. c #7F7F7F7FB1B1", +"n. c #8C8C8C8CBEBE", +"m. c #A5A5A5A5D2D2", +"M. c #C9C9C9C9E5E5", +"N. c #85858686B7B7", +"B. c #91919292C4C4", +"V. c #71718989BCBC", +"C. c #73738B8BBEBE", +"Z. c #75758D8DC0C0", +"A. c #78789090C3C3", +"S. c #7A7A9292C5C5", +"D. c #71718A8ABDBD", +"F. c #76768E8EC0C0", +"G. c #78789090C2C2", +"H. c #7B7B9393C5C5", +"J. c #7D7D9595C7C7", +"K. c #80809999CACA", +"L. c #7E7E9696C7C7", +"P. c #83839B9BCDCD", +"I. c #83839B9BCCCC", +"U. c #86869E9ECFCF", +"Y. c #8888A1A1D1D1", +"T. c #8A8AA2A2D3D3", +"R. c #8989A1A1D1D1", +"E. c #8B8BA3A3D3D3", +"W. c gray100", +"Q. c black", +"!. c black", +"~. c black", +"^. c black", +"/. c black", +"(. c black", +"). c black", +"_. c black", +"`. c black", +"'. c black", +"]. c black", +"[. c black", +"{. c black", +"}. c black", +"|. c black", +" X c black", +".X c black", +"XX c black", +"oX c black", +"OX c black", +"+X c black", +"@X c black", +"#X c black", +"$X c black", +"%X c black", +"&X c black", +"*X c black", +"=X c black", +"-X c black", +";X c black", +":X c black", +">X c black", +",X c black", +"._ A m p.", +"q +.: X < M.m.z.l.j.g.s.r.K v p.", +"q ' $ + 9 | 3.B.n.N.b.v.c.<.n p.", +"q ` O T.Y.U.P.K.L.S.G.F.C.D.l p.", +"q ( # @ G k.h.g.i.t.e.9.7.6.z p.", +"q / * E.R.U.I.K.J.H.A.Z.C.V.a p.", +"q T 2 & 5 f.a.o.q.8.7...4.J u p.", +"q I Y 1 = 7 ;.w.0.7.5. .H f y p.", +"q L D P 6 > 3 0 ^ X.~ J i t d p.", +"q C C V A N M m n p k g y r e p.", +"q M b M m m c x p j h y d s w p.", +"YXp.p.p.p.p.p.p.p.p.p.p.p.p.p.YX" +}; diff --git a/features/org.eclipse.equinox.executable.feature/bin/gtk/solaris/x86/Eclipse.l.pm b/features/org.eclipse.equinox.executable.feature/bin/gtk/solaris/x86/Eclipse.l.pm new file mode 100644 index 000000000..995d7c9bb --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/bin/gtk/solaris/x86/Eclipse.l.pm @@ -0,0 +1,311 @@ +/* XPM */ +static char *ProductIcon48[] = { +/* columns rows colors chars-per-pixel */ +"48 48 257 2", +" c black", +". c gray100", +"X c #69695A5AE8E8", +"o c #494949499191", +"O c #CECE9292BFBF", +"+ c #E7E7CACAE0E0", +"@ c #C8C88C8CBBBB", +"# c #C2C28A8ABABA", +"$ c #EAEAD7D7E8E8", +"% c #CFCFA9A9CCCC", +"& c #D9D9BCBCD8D8", +"* c #B6B68787B9B9", +"= c #C3C39999C7C7", +"- c #A7A77D7DB5B5", +"; c #BDBDA3A3CDCD", +": c #D8D8CACAE3E3", +"> c #A8A88D8DC4C4", +", c #92927575B2B2", +"< c #87876C6CAAAA", +"1 c #9A9A8383BABA", +"2 c #7B7B6363A3A3", +"3 c #666654549595", +"4 c #73735F5FADAD", +"5 c #626251519292", +"6 c #7F7F7272A7A7", +"7 c #6D6D5E5E9E9E", +"8 c #64645454A9A9", +"9 c #77776969B1B1", +"0 c #49493E3E8282", +"q c #7D7D7373B6B6", +"w c #5B5B4E4EADAD", +"e c #55554949BABA", +"r c #56564949BABA", +"t c #56564A4ABABA", +"y c #56564949B9B9", +"u c #55554949B8B8", +"i c #4F4F4444ACAC", +"p c #53534848B4B4", +"a c #53534848B3B3", +"s c #54544949B5B5", +"d c #52524747B0B0", +"f c #52524747AFAF", +"g c #54544949B3B3", +"h c #DEDEDCDCEEEE", +"j c #3E3E36369898", +"k c #43433B3B9F9F", +"l c #33332C2C7777", +"z c #42423A3A9C9C", +"x c #4A4A4040A8A8", +"c c #55554A4ABABA", +"v c #55554A4AB9B9", +"b c #54544949B7B7", +"n c #52524848B1B1", +"m c #51514747AEAE", +"M c #4E4E4545A9A9", +"N c #49494141A0A0", +"B c #52524848AFAF", +"V c #51514848AEAE", +"C c #50504747ACAC", +"Z c #4F4F4646AAAA", +"A c #51514848ADAD", +"S c #50504747ABAB", +"D c #50504848ACAC", +"F c #50504747A9A9", +"G c #4E4E4646A7A7", +"H c #4E4E4545A4A4", +"J c #4D4D4545A4A4", +"K c #4F4F4747A8A8", +"L c #4E4E4646A5A5", +"P c #4D4D4545A3A3", +"I c #3B3B35357D7D", +"U c #4E4E4646A3A3", +"Y c #55554D4D9F9F", +"T c #4A4A43438989", +"R c #51514B4B9090", +"E c #67676060A5A5", +"W c #1D1D18186A6A", +"Q c #272722227D7D", +"! c #282823237D7D", +"~ c #2B2B26268181", +"^ c #33332C2C8989", +"/ c #3B3B36368E8E", +"( c #454540409797", +") c #4D4D4646A4A4", +"_ c #4C4C4545A1A1", +"` c #4D4D4646A2A2", +"' c #4B4B4545A0A0", +"] c #4D4D4646A1A1", +"[ c #4C4C45459F9F", +"{ c #4B4B45459E9E", +"} c #4A4A44449C9C", +"| c #494944449898", +" . c #484843439696", +".. c #4A4A45459999", +"X. c #4F4F4A4AA0A0", +"o. c #68686363AAAA", +"O. c #21211D1D7676", +"+. c #242420207575", +"@. c #2D2D2A2A7F7F", +"#. c #2D2D2A2A7B7B", +"$. c #3D3D39398F8F", +"%. c #484844449696", +"&. c #474743439393", +"*. c #464643439191", +"=. c #454542428E8E", +"-. c #4D4D4A4A9C9C", +";. c #57575454A3A3", +":. c #5A5A58589797", +">. c #5F5F5D5D9999", +",. c #85858282C1C1", +"<. c #95959292C9C9", +"1. c #B8B8B6B6DCDC", +"2. c #070705055353", +"3. c #080807075555", +"4. c #0A0A09095757", +"5. c #0C0C0B0B5858", +"6. c #0F0F0D0D5C5C", +"7. c #10100F0F5C5C", +"8. c #131311116464", +"9. c #141413136060", +"0. c #141413135F5F", +"q. c #171715156767", +"w. c #161615156262", +"e. c #161615156161", +"r. c #181817176464", +"t. c #1A1A19196666", +"y. c #1C1C1A1A6464", +"u. c #1D1D1C1C6868", +"i. c #1F1F1E1E6A6A", +"p. c #222221216C6C", +"a. c #242423236F6F", +"s. c #272725257171", +"d. c #272726267272", +"f. c #272726267171", +"g. c #292928287474", +"h. c #2A2A29297474", +"j. c #2C2C2B2B7777", +"k. c #2F2F2E2E7C7C", +"l. c #2E2E2D2D7979", +"z. c #343433337E7E", +"x. c #393937378686", +"c. c #373736368181", +"v. c #3A3A39398484", +"b. c #3A3A39398383", +"n. c #3D3D3B3B8686", +"m. c #424241418C8C", +"M. c #424241418B8B", +"N. c #444442428B8B", +"B. c #434341418989", +"V. c #454544448E8E", +"C. c #454544448D8D", +"Z. c #424241418787", +"A. c #434342428888", +"S. c #444442428787", +"D. c #424241418585", +"F. c #414140408383", +"G. c #484847479090", +"H. c #434342428686", +"J. c #4A4A49499393", +"K. c #464645458A8A", +"L. c #4D4D4C4C9595", +"P. c #54545252A0A0", +"I. c #50504F4F9898", +"U. c #58585757A0A0", +"Y. c #525250509393", +"T. c #5B5B5959A2A2", +"R. c #585857579F9F", +"E. c #62626161A9A9", +"W. c #64646363ACAC", +"Q. c #6B6B6A6AB2B2", +"!. c #6B6B6A6AB1B1", +"~. c #75757474B8B8", +"^. c #7F7F7D7DBDBD", +"/. c #9C9C9B9BCFCF", +"(. c #0B0B0B0B5858", +"). c #0D0D0D0D5A5A", +"_. c #111111115E5E", +"`. c #131313136060", +"'. c #212121216D6D", +"]. c #242424246F6F", +"[. c #2B2B2C2C7777", +"{. c #2B2B2B2B7777", +"}. c #2C2C2C2C7777", +"|. c #2E2E2E2E7979", +" X c #313131317C7C", +".X c #313131317B7B", +"XX c #343434347E7E", +"oX c #3C3C3C3C8686", +"OX c #3F3F3F3F8989", +"+X c #414142428B8B", +"@X c #424242428B8B", +"#X c #474747479090", +"$X c #414141418484", +"%X c #404040408181", +"&X c #4A4A4A4A9494", +"*X c #4A4A4A4A9393", +"=X c #4D4D4D4D9696", +"-X c #4F4F4F4F9898", +";X c #505050509898", +":X c #525252529B9B", +">X c #555555559E9E", +",X c #555555559D9D", +".% + : vX1.1.cXmX/.dXaXaXsXpXiXQ.uXrXqX8X6X5XT.R.P.X.P ) H G K K S S S m o ", +"X D.$XD.D.D.D.D.S.6 & $ h bXvXvX1.xX/.kXfXaXsXpXiXQ.yXrXW.E.6X5X4XU.,X:XI.-.` L G G K F Z C C o ", +"X D.D.D.D.D.Z.H.6 & $ h h h bXvX1.cXmXkX,.dXpXiXQ.yXtXqXwX6X5XT.U.,X:XI.=X*X..` G K K Z S S m o ", +"X Z.D.Z.H.Z.Z.7 & $ h h nXh bXvX1.cXmXkX,.gXiXQ.uXrXW.E.6X5X4XU.,X:X-XL.J.#XV. .P G F S S C m o ", +"X Z.Z.Z.H.Z.R % + : bXh h h bXvX1.cX/.kXhX~.Q.yXrXqX9X6X5X4X2X,X:X;X=X*X#XV.M.OX( K Z S S C m o ", +"X Z.Z.Z.A.A.* & & vXvXbXbXbXvXvX1.xXlXjX^.pXuXrXeXwX6X5X4XU.,X:X-XL.*XG.V.@XOXoXb.( Z S C C V o ", +"X B.B.B.A.2 % % 1.1.vXvXvXvXvX1.cXzX<.,.gXiXrXW.E.6X5X4XU.,X:XI.=X*X#XV.@XOXn.b.c.x.N S S C m o ", +"X B.B.B.S.* % ; xX1.1.1.1.1.cXcXzXlXjX^.pXrXeX7X6X5X4XR.,X:X-XL.J.#XV.@XOXn.b.c.XX X$.S C C m o ", +"X N.N.N.2 O = /.mXxXcXcXcXcXxXzXlXjXhX~.uXeXE.6X5X4XU.,X:X-XL.J.#XV.M.OXn.v.c.z. X|.k.N D V f o ", +"X N.N.N.- @ > kX<././.mXzXzXlX<.jXhXgXuXeXE.6X5X4X1X,X:XI.L.*X#XV.m.OXn.b.c.z. Xl.j.g./ C m V o ", +"X N.N.R @ # ,.,.jXkXkX<.kXkXjX,.^.~.uXwXE.6X5X4X1X,X:XI.=XJ.#XC.M.OXn.v.c.z..X|.j.g.d.#.M m B o ", +"X =.M.< @ * fXfXhXhX,.,.,.hX^.gXpXuXqX9X6X5X4XU.,X:XI.L.*XG.V.+XOXn.b.c.z..X|.[.g.d.a.p.z V B o ", +"X =.N.- @ NXNXBXBXBXVXCXCXCXCXZXZXZXZXAXAXSXSXSXDXDXDXFXFXFXGXPXPXHXHXIXJXMXMXMXKXKXLXLXLXB d o ", +"X =.=.* @ 1 dXdXaXaXsXpXiX!.yXrXeXwX6X5X4XX:XI.L.*XG.V.m.OXoXv.c.z. X|.j.g.d.a.'.i.u.t.r.w.9.d n o ", +"X &.&.@ @ ~.sXpXiXQ.yXtXW.E.6X5X4X1X,X:XI.=X*X#XC.m.OXn.b.c.z. X|.[.g.f.a.p.i.u.t.r.w.9.0.n a o ", +"X &.&.@ @ NXNXBXBXVXVXVXCXCXCXZXZXZXZXAXAXSXSXSXDXDXDXFXFXGXGXPXPXHXIXIXJXMXMXKXKXKXLXLXLXn n o ", +"X %. .# @ q iXQ.yXrXW.0X6X5X4XU.>X:XI.L.*X#XV.@XOXn.b.c.XX.X|.{.g.f.].'.i.u.t.r.w.0._.7.W n a o ", +"X %. .* # , Q.yXtXeX7X6X5X4XU.,X:X-XL.*X#XV.@XOXn.b.c.XX Xl.{.g.d.a.p.i.u.t.r.e.0._.7.).+.a a o ", +"X | | - # NXNXNXBXVXVXCXCXCXCXZXZXZXAXAXAXAXSXSXDXDXDXFXFXGXGXPXPXHXHXIXJXMXMXMXKXKXLXLXLXa a o ", +"X | | < # - rXeX9X6X5X4XU.,X:X-XL.*X#XC.@XOXoXb.c.z. X|.j.h.s.a.'.i.u.t.r.w.9._.7.).5.4.j a p o ", +"X | } Y # * 9 8X6X5X4X3X,X:XI.=X*XG.V.@XOXn.v.c.XX X|.j.g.f.a.p.i.u.t.r.e.0._.7.).5.4.q.i g p o ", +"X } } | - # , 6X5X4XR.,X:XI.=X*XG.V.m.OXoXb.c.XX X|.j.g.f.a.p.i.u.t.r.e.9._.7.).5.4.3.~ a s s o ", +"X } } } 4 # - E 4XU.>X:X-X=XJ.#XV.M.OXoXb.c.XX X|.{.h.d.a.'.i.u.t.r.e.9._.7.).5.4.3.6.z p s s o ", +"X { { } } - # < U.,X:XI.=X*XG.V.+XOXoXb.c.z. X|.}.g.d.a.'.i.u.t.r.w.0._.7.).5.4.3.2.! g p s s o ", +"X [ { ' [ 4 * - E :X;XL.J.#XV.m.OXoXb.c.z..X|.j.h.f.a.'.i.u.t.r.w.9._.6.).(.4.3.2.8.k p s s s o ", +"X [ [ ' _ [ , * , ;XL.J.#XV.@XOXoXv.c.z..X|.{.g.f.a.p.i.u.t.r.w.`._.7.).(.4.3.2.2.^ s p s s s o ", +"X _ _ _ _ P ] - * 2 *X#XV.m.OXn.v.c.XX X|.j.h.f.a.p.i.u.t.r.w.`._.7.).(.4.3.2.2.Q p s s s b u o ", +"X ` ` ` ` ` ` 8 - - 7 V.@XOXoXv.c.XX.X|.j.g.d.a.'.i.u.t.r.w.0._.7.).5.4.3.2.2.O.x p s s s u u o ", +"X P P ) P U U ) 8 - - 7 OXn.v.c.XX X|.j.h.f.a.p.i.u.t.r.w.0._.7.).5.4.3.2.2.O.x s s s s b u u o ", +"X L L ) H ) L L L 8 1 - 7 b.c.z. X|.j.h.f.a.'.i.u.t.r.w.0._.7.).5.4.3.2.2.Q x p s s s b b u e o ", +"X L G L G G G G G G G , * 2 T .Xl.j.h.f.a.p.i.u.t.r.e.0._.7.).5.4.3.2.8.^ p p s s s s u u e e o ", +"X G G G G G G G K K M M 4 , , 3 I g.d.a.p.i.u.t.r.e.`._.7.).5.4.3.7.! k p s p s s s u u u e v o ", +"X K G K K K K K K Z Z M F F 4 , < 3 I p.i.u.t.r.w.9._.7.).5.4.W ~ z a p p s s b s u u u e e e o ", +"X F Z F F F F Z Z F F S S S S S w 9 < 2 5 0 l p.e.9.y.a.l ^ j i a p p p s s b b b u e v y r e o ", +"X S Z Z S Z S Z S S S S S C C C A m d V f m B m B d d n d a a a p s p s s b u u u u e v e r t o ", +"X S S S S S S S S S S C C C m m A V V B B B d d d n n a a a p p s p s s b u u u e e e c t r t o ", +"X C C C C C C C C m C A m A m f V f f B d d d n n n a a a a s s s s s u b u u u u v t t r t t o ", +"YXo o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o YX" +}; diff --git a/features/org.eclipse.equinox.executable.feature/bin/gtk/solaris/x86/Eclipse.m.pm b/features/org.eclipse.equinox.executable.feature/bin/gtk/solaris/x86/Eclipse.m.pm new file mode 100644 index 000000000..e64aa0cc0 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/bin/gtk/solaris/x86/Eclipse.m.pm @@ -0,0 +1,295 @@ +/* XPM */ +static char *ProductIcon32[] = { +/* columns rows colors chars-per-pixel */ +"32 32 257 2", +" c black", +". c gray100", +"X c #69695A5AE8E8", +"o c #494949499191", +"O c #E8E8CBCBE0E0", +"+ c #DDDDB3B3D2D2", +"@ c #F0F0DDDDEBEB", +"# c #CDCD9191BEBE", +"$ c #C8C88B8BBBBB", +"% c #CACA9898C2C2", +"& c #C3C38A8ABBBB", +"* c #BABA8787B9B9", +"= c #DCDCC4C4DEDE", +"- c #C5C5A3A3CACA", +"; c #ADAD8181B8B8", +": c #A3A37A7AB5B5", +"> c #E2E2D6D6E9E9", +", c #B3B39A9AC4C4", +"< c #EBEBE3E3F0F0", +"1 c #C9C9B6B6D6D6", +"2 c #96967676B8B8", +"3 c #8C8C7171ABAB", +"4 c #A4A49292BEBE", +"5 c #7D7D6565A6A6", +"6 c #83836D6DABAB", +"7 c #9A9A8787C2C2", +"8 c #7B7B6464B7B7", +"9 c #5E5E50509191", +"0 c #646457579A9A", +"q c #85857B7BBEBE", +"w c #7C7C7373B6B6", +"e c #62625353D5D5", +"r c #61615353D4D4", +"t c #60605252D1D1", +"y c #5F5F5252D0D0", +"u c #5F5F5151CFCF", +"i c #60605353D2D2", +"p c #5F5F5252CFCF", +"a c #5E5E5151CDCD", +"s c #5C5C4F4FC7C7", +"d c #5F5F5252CDCD", +"f c #5E5E5151CBCB", +"g c #5B5B4F4FC4C4", +"h c #5A5A4E4EC1C1", +"j c #71716969B0B0", +"k c #48483E3EADAD", +"l c #5D5D5151CDCD", +"z c #5C5C5050C9C9", +"x c #5D5D5151CBCB", +"c c #5C5C5050C7C7", +"v c #5B5B4F4FC6C6", +"b c #5B5B5050C6C6", +"n c #59594E4EC1C1", +"m c #58584D4DBFBF", +"M c #59594F4FC2C2", +"N c #5A5A4F4FC2C2", +"B c #58584D4DBCBC", +"V c #57574D4DBCBC", +"C c #59594E4EBEBE", +"Z c #58584E4EBDBD", +"A c #58584D4DBBBB", +"S c #57574D4DBABA", +"D c #56564D4DB9B9", +"F c #56564C4CB6B6", +"G c #55554C4CB6B6", +"H c #54544B4BB4B4", +"J c #54544B4BB1B1", +"K c #53534B4BB1B1", +"L c #52524A4AAEAE", +"P c #51514949ACAC", +"I c #51514949ABAB", +"U c #474741418787", +"Y c #32322C2C8F8F", +"T c #2B2B25257777", +"R c #36362F2F9696", +"E c #2B2B26266E6E", +"W c #4D4D4545ACAC", +"Q c #55554D4DB8B8", +"! c #54544C4CB4B4", +"~ c #54544C4CB3B3", +"^ c #51514A4AACAC", +"/ c #51514A4AABAB", +"( c #50504949A9A9", +") c #4F4F4949A6A6", +"_ c #4C4C4747A1A1", +"` c #4E4E4848A3A3", +"' c #4D4D4848A1A1", +"] c #4B4B46469C9C", +"[ c #4C4C47479E9E", +"{ c #51514C4CA6A6", +"} c #A9A9A6A6D5D5", +"| c #1E1E1A1A6666", +" . c #292925258181", +".. c #3D3D39399292", +"X. c #4A4A46469B9B", +"o. c #53534E4EABAB", +"O. c #494945459797", +"+. c #4A4A46469999", +"@. c #474744449494", +"#. c #484845459494", +"$. c #474744449292", +"%. c #464643439090", +"&. c #464642428D8D", +"*. c #54545050A9A9", +"=. c #474744448F8F", +"-. c #4C4C49499999", +";. c #57575454A6A6", +":. c #5B5B5757AAAA", +">. c #545451519B9B", +",. c #5A5A57579C9C", +"<. c #65656262A7A7", +"1. c #68686666A2A2", +"2. c #CACAC9C9E5E5", +"3. c #050504045151", +"4. c #080807075454", +"5. c #0A0A09095858", +"6. c #0C0C0A0A5858", +"7. c #10100E0E6262", +"8. c #0E0E0D0D5A5A", +"9. c #121211115D5D", +"0. c #131312125D5D", +"q. c #161615156161", +"w. c #171716166161", +"e. c #1A1A19196565", +"r. c #20201E1E7070", +"t. c #1E1E1D1D6969", +"y. c #2A2A29297676", +"u. c #2F2F2D2D7676", +"i. c #3A3A39398787", +"p. c #3A3A39398383", +"a. c #3F3F3E3E8888", +"s. c #414140408989", +"d. c #454543438D8D", +"f. c #444442428B8B", +"g. c #444443438C8C", +"h. c #434342428A8A", +"j. c #434341418888", +"k. c #434342428989", +"l. c #424241418787", +"z. c #434342428787", +"x. c #424241418585", +"c. c #41413F3F8181", +"v. c #414140408282", +"b. c #484846468D8D", +"n. c #494948489090", +"m. c #4B4B4A4A9191", +"M. c #4B4B49498E8E", +"N. c #525251519A9A", +"B. c #525251519999", +"V. c #565654549A9A", +"C. c #545453539494", +"Z. c #60605F5FA7A7", +"A. c #64646363ABAB", +"S. c #5A5A59599797", +"D. c #68686767ADAD", +"F. c #6C6C6B6BB2B2", +"G. c #5E5E5D5D9A9A", +"H. c #76767575BABA", +"J. c #78787777BBBB", +"K. c #76767474B5B5", +"L. c #7E7E7D7DBABA", +"P. c #A5A5A4A4D2D2", +"I. c #040404045252", +"U. c #070707075454", +"Y. c #070708085353", +"T. c #080808085454", +"R. c #0A0A0B0B5757", +"E. c #0E0E0E0E5A5A", +"W. c #111112125E5E", +"Q. c #111111115E5E", +"!. c #111111115D5D", +"~. c #111112125D5D", +"^. c #161616166868", +"/. c #151516166161", +"(. c #151515156161", +"). c #19191A1A6565", +"_. c #191919196565", +"`. c #1A1A1A1A6464", +"'. c #1D1D1E1E6969", +"]. c #1E1E1E1E6969", +"[. c #222222226D6D", +"{. c #272727277171", +"}. c #2B2B2C2C7676", +"|. c #2B2B2B2B7676", +" X c #2B2B2B2B7575", +".X c #303030307A7A", +"XX c #303030307979", +"oX c #353535357F7F", +"OX c #393939398383", +"+X c #3A3A3A3A8383", +"@X c #3F3F3F3F8787", +"#X c #434343438C8C", +"$X c #434344448C8C", +"%X c #424242428686", +"&X c #414141418484", +"*X c #484848489191", +"=X c #484849499090", +"-X c #4D4D4D4D9696", +";X c #515151519D9D", +":X c #4D4D4D4D9595", +">X c #515152529A9A", +",X c #515152529999", +".-.+.] [ _ ` ) ( ^ L K H G D V C h o ", +"X &Xv.&Xx.x.l.j.M.1.4 - - , 7 q J.H.K.j :.*.P L K H F S B C n o ", +"X x.&Xx.x.z.j.S., = = 1 } iXuXH.rXwXF.qX7XZ.;.o.J ! F S B m n o ", +"X x.l.z.%Xz.G.1 @ > 2.dXaXiXuXrXwXF.qX8X5X4X2X;X{ H F S V C n o ", +"X z.j.j.j.C.1 @ < gX2.fXaXpXuXwXeX9X7X5X4X2XN.:X*X_ D S Z m h o ", +"X k.k.h.b., O > gXgX2.dXaXiXyXF.D.A.Z.4X3X1X:Xn.g.a._ V B m N o ", +"X f.f.f.3 + = 2.2.2.fXsXpXhXtXD.8XZ.4X2X1X:X*X$X@Xp.i.W C n N o ", +"X d.&.%.% + 1 dXdXdXsXP.iXyXK.8X5X4X2X>X:X*Xg.a.+XoX.X..m n N o ", +"X %.=.5 % - P.} aXP.pXiXyXK.D.Z.4X3X1X-Xn.$X@X+XoX.X Xy.W h g o ", +"X $.$.: # PXIXGXGXLXJXFXFXSXvXAXcXZXxXVXCXzXzXBXMXkXmXnXjXh g o ", +"X #.@.* $ 7 yXuXyXtXL.K.D.6X4X2X1X:Xo g.a.OXoX.X|.{.[.t. .g v o ", +"X O.#.$ $ q H.rXwXF.0XA.6X4X2X1X:Xo $Xa.p.oX.X|.{.[.'.`.r.g b o ", +"X X.+.$ $ PXKXbXbXLXJXDXFXSXvXAXcXZXxXCXCXzXBXBXMXNXmXlXjXb c o ", +"X ] ] $ $ H.wXF.0X7X6X4X2XX:Xo #Xa.+XoXXX|.{.[.t._.q.~.E.R.4.5.k x a o ", +"X ( ( I ; * 6 2X>X:X=X$X@X+XoX.X|.{.[.t.e./.W.E.R.Y.3. .z a a o ", +"X I ^ / 8 * : 0 :X*X#X@X+XoX.X|.{.[.'._.(.~.E.R.T.3.7.k x a p o ", +"X L L L ^ 2 * 3 m.$Xa.p.oX.X}.{.[.t.).(.~.E.6.T.3.I.R x a a y o ", +"X J K K K K 2 * 5 s.OXoX.X}.{.[.'._.(.9.8.R.4.3.I.Y x l a p t o ", +"X ~ H H ! ! ! 2 ; 5 U XX}.{.[.].e.(.W.E.R.U.3.7.R x l u u y t o ", +"X G F G G G Q Q 8 : 3 9 u.[.]._./.Q.E.R.T.6. .k x a a u t t t o ", +"X D S D S D S S S V 8 2 6 9 c.E w.0.| T Y k z z a a p t t i r o ", +"X A V B V V V B B m m n n h h g g g c z z z l l d p y t i r r o ", +"X m C C C C C C C n n n M N g g b c z z x a a a u y t t r r e o ", +"X n n n n n h h h N N g g v b s z z z x a p p u t t r r r e e o ", +"YXo o o o o o o o o o o o o o o o o o o o o o o o o o o o o o YX" +}; diff --git a/features/org.eclipse.equinox.executable.feature/bin/gtk/solaris/x86/Eclipse.s.pm b/features/org.eclipse.equinox.executable.feature/bin/gtk/solaris/x86/Eclipse.s.pm new file mode 100644 index 000000000..e2b9379f3 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/bin/gtk/solaris/x86/Eclipse.s.pm @@ -0,0 +1,287 @@ +/* XPM */ +static char *ProductIcon24[] = { +/* columns rows colors chars-per-pixel */ +"24 24 257 2", +" c black", +". c gray100", +"X c #69695A5AE8E8", +"o c #494949499191", +"O c #F1F1DFDFECEC", +"+ c #D7D7ACACCDCD", +"@ c #DFDFBBBBD6D6", +"# c #E2E2C4C4DBDB", +"$ c #CECE9C9CC4C4", +"% c #C4C48B8BBABA", +"& c #C2C28A8ABABA", +"* c #C4C48E8EBCBC", +"= c #BFBF8A8AB9B9", +"- c #EBEBD9D9E9E9", +"; c #BFBF8888B9B9", +": c #D8D8B9B9D6D6", +"> c #B9B98686B9B9", +", c #B8B88989B9B9", +"< c #BBBB9393BFBF", +"1 c #A9A97B7BB2B2", +"2 c #E4E4D4D4E7E7", +"3 c #C6C6AFAFCECE", +"4 c #A6A68080B6B6", +"5 c #A2A27E7EB4B4", +"6 c #9E9E7E7EB1B1", +"7 c #ABAB9090BBBB", +"8 c #B7B7A0A0C5C5", +"9 c #9D9D7C7CB2B2", +"0 c #AAAA8B8BBEBE", +"q c #AAAA9090BCBC", +"w c #8C8C6B6BABAB", +"e c #90907070B1B1", +"r c #C4C4B3B3D7D7", +"t c #CDCDBFBFDDDD", +"y c #EAEAE4E4F1F1", +"u c #88886A6AADAD", +"i c #9E9E8585C1C1", +"p c #84846A6AAFAF", +"a c #81816B6BAAAA", +"s c #D7D7CFCFE6E6", +"d c #81816969B1B1", +"f c #78786363A5A5", +"g c #6E6E5D5D9C9C", +"h c #717160609D9D", +"j c #83837474AAAA", +"k c #6A6A5757A3A3", +"l c #6E6E5E5EA0A0", +"z c #5E5E50509292", +"x c #88887B7BBCBC", +"c c #68685858ABAB", +"v c #5A5A4D4DA2A2", +"b c #7D7D7373B4B4", +"n c #5A5A4E4EA6A6", +"m c #5F5F56569595", +"M c #56564A4ABBBB", +"N c #56564949B9B9", +"B c #55554949B8B8", +"V c #53534848B3B3", +"C c #54544949B4B4", +"Z c #52524747B0B0", +"A c #52524747AFAF", +"S c #5B5B53539393", +"D c #3E3E36369797", +"F c #49494040A6A6", +"G c #48484040A5A5", +"H c #55554A4ABABA", +"J c #54544949B7B7", +"K c #53534949B4B4", +"L c #51514747AFAF", +"P c #52524848B1B1", +"I c #51514848B0B0", +"U c #51514848AEAE", +"Y c #51514747ADAD", +"T c #51514848ADAD", +"R c #4F4F4747ABAB", +"E c #50504747ABAB", +"W c #50504646A9A9", +"Q c #4F4F4646A8A8", +"! c #4E4E4646A7A7", +"~ c #4E4E4545A4A4", +"^ c #4D4D4545A4A4", +"/ c #4E4E4646A5A5", +"( c #4D4D4545A1A1", +") c #3D3D36367E7E", +"_ c #4B4B44449C9C", +"` c #2A2A25257F7F", +"' c #3E3E37379898", +"] c #474740409C9C", +"[ c #4D4D4646A4A4", +"{ c #4C4C4545A2A2", +"} c #4D4D4646A2A2", +"| c #4D4D4646A1A1", +" . c #4B4B45459F9F", +".. c #4C4C45459F9F", +"X. c #4C4C46469F9F", +"o. c #4B4B45459D9D", +"O. c #494943439898", +"+. c #494944449A9A", +"@. c #4A4A45459A9A", +"#. c #494944449898", +"$. c #484843439696", +"%. c #494944449797", +"&. c #484843439595", +"*. c #51514C4CA1A1", +"=. c #6B6B6767AEAE", +"-. c #95959191C9C9", +";. c #23231F1F7676", +":. c #21211E1E7070", +">. c #292925257F7F", +",. c #252521217070", +"<. c #242421216D6D", +"1. c #2B2B27278080", +"2. c #393935358C8C", +"3. c #444440409494", +"4. c #3B3B38388282", +"5. c #474743439494", +"6. c #484844449595", +"7. c #474743439393", +"8. c #474744449393", +"9. c #464643439191", +"0. c #454542428F8F", +"q. c #4A4A47479898", +"w. c #464643438F8F", +"e. c #454542428D8D", +"r. c #444441418B8B", +"t. c #484844449191", +"y. c #444441418989", +"u. c #494946469090", +"i. c #4C4C48489393", +"p. c #51514E4E9E9E", +"a. c #73737070B6B6", +"s. c #77777474BBBB", +"d. c #A0A09E9ED1D1", +"f. c #D6D6D5D5EBEB", +"g. c #0E0E0D0D5A5A", +"h. c #11110F0F5E5E", +"j. c #121211115E5E", +"k. c #131312125F5F", +"l. c #171716166363", +"z. c #1D1D1B1B6868", +"x. c #1D1D1C1C6868", +"c. c #222221216E6E", +"v. c #222221216D6D", +"b. c #282827277474", +"n. c #282827277373", +"m. c #292928287373", +"M. c #2F2F2E2E7979", +"N. c #353534347F7F", +"B. c #363635358181", +"V. c #3C3C3B3B8585", +"C. c #424241418C8C", +"Z. c #424241418B8B", +"A. c #444442428B8B", +"S. c #434341418989", +"D. c #434342428989", +"F. c #424241418787", +"G. c #414140408484", +"H. c #474745458D8D", +"J. c #434342428787", +"K. c #424241418585", +"L. c #414140408282", +"P. c #494948489191", +"I. c #4F4F4E4E9797", +"U. c #59595757A6A6", +"Y. c #5F5F5D5DA4A4", +"T. c #6C6C6B6BB3B3", +"R. c #7C7C7B7BB9B9", +"E. c #A8A8A7A7D3D3", +"W. c #0D0D0D0D5A5A", +"Q. c #1F1F1F1F6C6C", +"!. c #222222226E6E", +"~. c #3B3B3B3B8585", +"^. c #414141418C8C", +"/. c #414141418B8B", +"(. c #424242428B8B", +"). c #484848489292", +"_. c #404040408181", +"`. c #4E4E4E4E9898", +"'. c #555555559E9E", +"]. c #555555559D9D", +"[. c #5B5B5B5BA3A3", +"{. c #5C5C5C5CA3A3", +"}. c #61616161A9A9", +"|. c #66666666AEAE", +" X c #66666666ADAD", +".X c #6B6B6B6BB2B2", +"XX c #70707070B7B7", +"oX c #6A6A6A6AADAD", +"OX c #74747474BBBB", +"+X c #89898989C2C2", +"@X c #90909090C8C8", +"#X c #8F8F8F8FC6C6", +"$X c #92929292C6C6", +"%X c #9F9F9F9FCFCF", +"&X c #A5A5A5A5D2D2", +"*X c #B5B5B5B5DBDB", +"=X c #B8B8B8B8DEDE", +"-X c #B7B7B7B7DCDC", +";X c #BBBBBBBBDEDE", +":X c #BDBDBDBDDFDF", +">X c #C9C9C9C9E5E5", +",X c #D1D1D1D1EAEA", +"X*X%X+X|.}.[.].I.P.^.~.B.] E Y o ", +"X e.u.q @ t :X-XE.$X 5 Y.].I.)./.~.N.M.b.v.x.l.k.h.' V C o ", +"X o.o.o.u , a I.).Z.V.N.M.n.c.z.l.j.W.` P V C o ", +"X .. .X.v e 4 l ^.V.N.M.m.!.x.l.j.g.;.F V C J o ", +"X ( | ( ( n p 9 g 4.M.n.c.x.l.j.h.>.G V K C J o ", +"X ~ [ [ ^ / / c d f z ) <.z.,.1.D P V C C B B o ", +"X ! Q ! Q Q Q Q W E E Y T A Z P V V K C J B B o ", +"X Q W Q W R W E E T T T L Z P V V K J J J B N o ", +"X R E E E E E Y Y U L Z P P P C V J J B B H M o ", +"YXo o o o o o o o o o o o o o o o o o o o o o YX" +}; diff --git a/features/org.eclipse.equinox.executable.feature/bin/gtk/solaris/x86/Eclipse.t.pm b/features/org.eclipse.equinox.executable.feature/bin/gtk/solaris/x86/Eclipse.t.pm new file mode 100644 index 000000000..3f6b21f42 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/bin/gtk/solaris/x86/Eclipse.t.pm @@ -0,0 +1,279 @@ +/* XPM */ +static char *ProductIcon16[] = { +/* columns rows colors chars-per-pixel */ +"16 16 257 2", +" c black", +". c gray100", +"X c #E2E2C0C0D9D9", +"o c #EDEDD9D9E8E8", +"O c #D5D5ABABCDCD", +"+ c #E2E2C3C3DCDC", +"@ c #C5C58E8EBCBC", +"# c #D4D4ABABCDCD", +"$ c #CACA9F9FC6C6", +"% c #D6D6B4B4D3D3", +"& c #CACAA0A0C8C8", +"* c #C6C69D9DC6C6", +"= c #C5C59F9FC8C8", +"- c #CCCCACACCECE", +"; c #CCCCB0B0D3D3", +": c #A6A68383B3B3", +"> c #BABA9A9AC6C6", +", c #B7B79A9AC2C2", +"< c #E3E3D5D5E9E9", +"1 c #B0B08E8EC0C0", +"2 c #9F9F8080B8B8", +"3 c #AFAF9898C1C1", +"4 c #DBDBCFCFE5E5", +"5 c #96967878B2B2", +"6 c #9A9A7E7EBABA", +"7 c #8E8E7878AFAF", +"8 c #91917F7FBDBD", +"9 c #D3D3CCCCE4E4", +"0 c #535348488B8B", +"q c #69695A5AE8E8", +"w c #55554949B9B9", +"e c #55554949B8B8", +"r c #54544848B6B6", +"t c #53534848B4B4", +"y c #54544848B4B4", +"u c #53534848B3B3", +"i c #53534848B2B2", +"p c #52524747AFAF", +"a c #53534848B1B1", +"s c #54544949B8B8", +"d c #54544949B6B6", +"f c #52524848B3B3", +"g c #52524848B2B2", +"h c #53534949B3B3", +"j c #52524848B1B1", +"k c #52524848B0B0", +"l c #51514747AEAE", +"z c #52524848AFAF", +"x c #51514848AEAE", +"c c #51514747ADAD", +"v c #51514747ACAC", +"b c #4F4F4646AAAA", +"n c #51514848ADAD", +"m c #50504747ABAB", +"M c #50504747AAAA", +"N c #4F4F4646A8A8", +"B c #50504747A9A9", +"V c #4E4E4646A7A7", +"C c #4E4E4646A6A6", +"Z c #4F4F4646A6A6", +"A c #4F4F4747A7A7", +"S c #4D4D4545A3A3", +"D c #4D4D4545A2A2", +"F c #4C4C45459E9E", +"G c #74746E6EB3B3", +"H c #2E2E29298383", +"J c #383832329090", +"K c #464640409999", +"L c #4D4D4646A2A2", +"P c #4E4E4747A3A3", +"I c #4B4B45459F9F", +"U c #4B4B45459E9E", +"Y c #4C4C46469F9F", +"T c #4A4A44449B9B", +"R c #4A4A44449A9A", +"E c #494943439797", +"W c #494944449797", +"Q c #484843439494", +"! c #78787474B8B8", +"~ c #272724247878", +"^ c #2D2D2A2A7575", +"/ c #484844449797", +"( c #474743439393", +") c #454542429090", +"_ c #4B4B48489A9A", +"` c #464643438F8F", +"' c #464643438E8E", +"] c #454542428C8C", +"[ c #51514D4DA0A0", +"{ c #5C5C5959A5A5", +"} c #535350509090", +"| c #C8C8C7C7E3E3", +" . c #121211115D5D", +".. c #1A1A19196565", +"X. c #242422226D6D", +"o. c #3F3F3E3E8888", +"O. c #444442428D8D", +"+. c #444442428989", +"@. c #424241418787", +"#. c #454543438A8A", +"$. c #434342428888", +"%. c #424241418686", +"&. c #414140408484", +"*. c #414140408383", +"=. c #424240408383", +"-. c #414140408282", +";. c #474746468D8D", +":. c #464644448989", +">. c #525251519999", +",. c #64646363AAAA", +"<. c #61615F5FA2A2", +"1. c #6E6E6C6CB2B2", +"2. c #A5A5A4A4D3D3", +"3. c #B0B0AFAFD6D6", +"4. c #111112125D5D", +"5. c #19191A1A6565", +"6. c #1E1E1E1E6C6C", +"7. c #222222226D6D", +"8. c #2B2B2B2B7676", +"9. c #2B2B2B2B7575", +"0. c #2B2B2C2C7575", +"q. c #343435357F7F", +"w. c #343435357E7E", +"e. c #353535357F7F", +"r. c #3E3E3E3E8888", +"t. c #3E3E3E3E8787", +"y. c #414141418484", +"u. c #404040408282", +"i. c #484849499191", +"p. c #494949499191", +"a. c #484848489090", +"s. c #484849499090", +"d. c #404040408080", +"f. c #525252529A9A", +"g. c #525252529999", +"h. c #5B5B5B5BA3A3", +"j. c #5B5B5B5BA2A2", +"k. c #64646464ABAB", +"l. c #63636464AAAA", +"z. c #6B6B6C6CB2B2", +"x. c #72727373B9B9", +"c. c #71717171A4A4", +"v. c #78787878ABAB", +"b. c #7F7F7F7FB1B1", +"n. c #8C8C8C8CBEBE", +"m. c #A5A5A5A5D2D2", +"M. c #C9C9C9C9E5E5", +"N. c #85858686B7B7", +"B. c #91919292C4C4", +"V. c #71718989BCBC", +"C. c #73738B8BBEBE", +"Z. c #75758D8DC0C0", +"A. c #78789090C3C3", +"S. c #7A7A9292C5C5", +"D. c #71718A8ABDBD", +"F. c #76768E8EC0C0", +"G. c #78789090C2C2", +"H. c #7B7B9393C5C5", +"J. c #7D7D9595C7C7", +"K. c #80809999CACA", +"L. c #7E7E9696C7C7", +"P. c #83839B9BCDCD", +"I. c #83839B9BCCCC", +"U. c #86869E9ECFCF", +"Y. c #8888A1A1D1D1", +"T. c #8A8AA2A2D3D3", +"R. c #8989A1A1D1D1", +"E. c #8B8BA3A3D3D3", +"W. c gray100", +"Q. c black", +"!. c black", +"~. c black", +"^. c black", +"/. c black", +"(. c black", +"). c black", +"_. c black", +"`. c black", +"'. c black", +"]. c black", +"[. c black", +"{. c black", +"}. c black", +"|. c black", +" X c black", +".X c black", +"XX c black", +"oX c black", +"OX c black", +"+X c black", +"@X c black", +"#X c black", +"$X c black", +"%X c black", +"&X c black", +"*X c black", +"=X c black", +"-X c black", +";X c black", +":X c black", +">X c black", +",X c black", +"._ A m p.", +"q +.: X < M.m.z.l.j.g.s.r.K v p.", +"q ' $ + 9 | 3.B.n.N.b.v.c.<.n p.", +"q ` O T.Y.U.P.K.L.S.G.F.C.D.l p.", +"q ( # @ G k.h.g.i.t.e.9.7.6.z p.", +"q / * E.R.U.I.K.J.H.A.Z.C.V.a p.", +"q T 2 & 5 f.a.o.q.8.7...4.J u p.", +"q I Y 1 = 7 ;.w.0.7.5. .H f y p.", +"q L D P 6 > 3 0 ^ X.~ J i t d p.", +"q C C V A N M m n p k g y r e p.", +"q M b M m m c x p j h y d s w p.", +"YXp.p.p.p.p.p.p.p.p.p.p.p.p.p.YX" +}; diff --git a/features/org.eclipse.equinox.executable.feature/bin/motif/linux/x86/icon.xpm b/features/org.eclipse.equinox.executable.feature/bin/motif/linux/x86/icon.xpm new file mode 100644 index 000000000..f4bd8d808 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/bin/motif/linux/x86/icon.xpm @@ -0,0 +1,16242 @@ +/* XPM */ +static char * eclipse_256_xpm[] = { +"256 256 15983 3", +" c None", +". c #281140", +"+ c #27113F", +"@ c #26103E", +"# c #26103D", +"$ c #27103F", +"% c #26103F", +"& c #25103D", +"* c #24103B", +"= c #291241", +"- c #2A1342", +"; c #291341", +"> c #291342", +", c #2B1443", +"' c #2C1444", +") c #2C1544", +"! c #2C1545", +"~ c #2D1545", +"{ c #2D1645", +"] c #2B1444", +"^ c #250F3D", +"/ c #240F3C", +"( c #240E3B", +"_ c #230E3A", +": c #291242", +"< c #2A1443", +"[ c #2E1646", +"} c #2E1747", +"| c #2F1747", +"1 c #301848", +"2 c #301849", +"3 c #311949", +"4 c #321A4A", +"5 c #321A4B", +"6 c #331A4B", +"7 c #331B4B", +"8 c #331B4C", +"9 c #341B4C", +"0 c #341C4C", +"a c #31194A", +"b c #281141", +"c c #260F3E", +"d c #220E39", +"e c #210E38", +"f c #2A1442", +"g c #2B1543", +"h c #2D1646", +"i c #2F1748", +"j c #361E50", +"k c #382052", +"l c #392053", +"m c #392153", +"n c #392052", +"o c #361E4E", +"p c #371F4F", +"q c #382050", +"r c #392051", +"s c #392151", +"t c #3A2151", +"u c #3A2252", +"v c #361D4E", +"w c #351C4D", +"x c #341C4D", +"y c #2D1546", +"z c #2C1445", +"A c #2B1343", +"B c #2A1242", +"C c #240F3B", +"D c #2E1746", +"E c #2F1848", +"F c #361E4F", +"G c #40285A", +"H c #452D60", +"I c #4E356A", +"J c #533B70", +"K c #543B72", +"L c #523971", +"M c #513870", +"N c #50366E", +"O c #4F356D", +"P c #4E336B", +"Q c #4C326A", +"R c #4B3168", +"S c #482E63", +"T c #452C60", +"U c #432A5C", +"V c #412959", +"W c #412958", +"X c #422A59", +"Y c #422A5A", +"Z c #432B5A", +"` c #402858", +" . c #3F2757", +".. c #3E2656", +"+. c #3D2555", +"@. c #3C2454", +"#. c #3B2353", +"$. c #2E1647", +"%. c #2A1343", +"&. c #230F3B", +"*. c #200E37", +"=. c #301949", +"-. c #3B2354", +";. c #473062", +">. c #523B6E", +",. c #5D457A", +"'. c #5E467B", +"). c #5C4479", +"!. c #5B4278", +"~. c #594077", +"{. c #583F75", +"]. c #563D74", +"^. c #553B72", +"/. c #543B71", +"(. c #543A71", +"_. c #543A70", +":. c #53396F", +"<. c #533A6F", +"[. c #543B70", +"}. c #553C71", +"|. c #563D72", +"1. c #573E73", +"2. c #543B6E", +"3. c #503968", +"4. c #4E3664", +"5. c #4E3764", +"6. c #4E3765", +"7. c #4F3765", +"8. c #4F3865", +"9. c #4D3663", +"0. c #4C3563", +"a. c #4C3462", +"b. c #4B3361", +"c. c #4A3260", +"d. c #49315F", +"e. c #48305E", +"f. c #472F5D", +"g. c #452D5C", +"h. c #442C5B", +"i. c #422B5A", +"j. c #402757", +"k. c #3D2454", +"l. c #381F50", +"m. c #32194A", +"n. c #210E37", +"o. c #200E36", +"p. c #2A1542", +"q. c #382151", +"r. c #4B3464", +"s. c #594274", +"t. c #654F81", +"u. c #685183", +"v. c #674F83", +"w. c #654E82", +"x. c #634B80", +"y. c #62497F", +"z. c #60477D", +"A. c #5F467B", +"B. c #5E457B", +"C. c #5E457A", +"D. c #5E447A", +"E. c #5E4579", +"F. c #5D4479", +"G. c #5D4478", +"H. c #5E4679", +"I. c #60477A", +"J. c #61497B", +"K. c #624A7C", +"L. c #634B7D", +"M. c #644D7E", +"N. c #654D7F", +"O. c #644C7D", +"P. c #604977", +"Q. c #5C4671", +"R. c #5C4570", +"S. c #5B4570", +"T. c #5A4470", +"U. c #5A446F", +"V. c #59436E", +"W. c #58426D", +"X. c #57406C", +"Y. c #56406C", +"Z. c #553E6A", +"`. c #543D69", +" + c #523B68", +".+ c #513A67", +"++ c #4A3261", +"@+ c #3F2656", +"#+ c #3B2252", +"$+ c #392050", +"%+ c #371E4F", +"&+ c #250F3C", +"*+ c #301948", +"=+ c #3E2757", +"-+ c #574170", +";+ c #6A5484", +">+ c #705A8B", +",+ c #6F588A", +"'+ c #6D5788", +")+ c #6C5587", +"!+ c #6A5386", +"~+ c #685184", +"{+ c #664E82", +"]+ c #664E81", +"^+ c #674E81", +"/+ c #674F81", +"(+ c #675081", +"_+ c #685082", +":+ c #685182", +"<+ c #695282", +"[+ c #6B5484", +"}+ c #6C5685", +"|+ c #6E5786", +"1+ c #6F5987", +"2+ c #715A88", +"3+ c #725B89", +"4+ c #725C8A", +"5+ c #735D8A", +"6+ c #745E8B", +"7+ c #745D8B", +"8+ c #6F5A84", +"9+ c #6B567E", +"0+ c #6A567E", +"a+ c #6A557D", +"b+ c #69557D", +"c+ c #69547C", +"d+ c #68537C", +"e+ c #67527B", +"f+ c #66517A", +"g+ c #655079", +"h+ c #644F78", +"i+ c #624D77", +"j+ c #614B75", +"k+ c #5F4A74", +"l+ c #5E4872", +"m+ c #543D6A", +"n+ c #503966", +"o+ c #4D3664", +"p+ c #4B3462", +"q+ c #462F5D", +"r+ c #3D2554", +"s+ c #2F1647", +"t+ c #2A1541", +"u+ c #2B1643", +"v+ c #2F1847", +"w+ c #3F2858", +"x+ c #5F4A78", +"y+ c #74608D", +"z+ c #776290", +"A+ c #76608F", +"B+ c #745F8E", +"C+ c #735D8D", +"D+ c #715A8B", +"E+ c #6F5889", +"F+ c #6E5788", +"G+ c #6D5688", +"H+ c #6E5688", +"I+ c #6E5789", +"J+ c #705989", +"K+ c #70598A", +"L+ c #715A8A", +"M+ c #715B8B", +"N+ c #735C8B", +"O+ c #745E8C", +"P+ c #765F8D", +"Q+ c #77618E", +"R+ c #796490", +"S+ c #7B6591", +"T+ c #7C6793", +"U+ c #7E6994", +"V+ c #806B95", +"W+ c #806C96", +"X+ c #816D96", +"Y+ c #826E97", +"Z+ c #836F98", +"`+ c #837098", +" @ c #847198", +".@ c #826F96", +"+@ c #7D6B8F", +"@@ c #7B698C", +"#@ c #7B688C", +"$@ c #7A688C", +"%@ c #79678B", +"&@ c #79658A", +"*@ c #776589", +"=@ c #776489", +"-@ c #766388", +";@ c #756187", +">@ c #735F85", +",@ c #725E84", +"'@ c #705C82", +")@ c #6E5A81", +"!@ c #6C587F", +"~@ c #644E78", +"{@ c #614C76", +"]@ c #5F4973", +"^@ c #5A436F", +"/@ c #523A68", +"(@ c #493260", +"_@ c #3C2353", +":@ c #291640", +"<@ c #2B1642", +"[@ c #2D1745", +"}@ c #3B2553", +"|@ c #5E4A76", +"1@ c #75628D", +"2@ c #7D6A96", +"3@ c #7C6895", +"4@ c #7B6694", +"5@ c #796492", +"6@ c #776190", +"7@ c #745E8E", +"8@ c #745D8E", +"9@ c #755E8E", +"0@ c #755F8F", +"a@ c #786291", +"b@ c #796392", +"c@ c #7A6592", +"d@ c #7C6693", +"e@ c #7D6794", +"f@ c #7F6B95", +"g@ c #816C96", +"h@ c #847199", +"i@ c #86739B", +"j@ c #89769C", +"k@ c #8B789E", +"l@ c #8D7A9F", +"m@ c #8E7CA1", +"n@ c #907EA2", +"o@ c #917FA3", +"p@ c #9280A4", +"q@ c #9382A5", +"r@ c #9482A6", +"s@ c #9483A6", +"t@ c #9484A6", +"u@ c #9180A1", +"v@ c #8C7C9B", +"w@ c #8C7B9B", +"x@ c #8B7B9A", +"y@ c #8A7999", +"z@ c #8A7898", +"A@ c #887898", +"B@ c #877697", +"C@ c #857495", +"D@ c #847394", +"E@ c #827093", +"F@ c #806E91", +"G@ c #7F6D8F", +"H@ c #7C6A8D", +"I@ c #786589", +"J@ c #756287", +"K@ c #6D5980", +"L@ c #614C75", +"M@ c #5E4873", +"N@ c #5B4470", +"O@ c #58416D", +"P@ c #48305F", +"Q@ c #3F2756", +"R@ c #3C2453", +"S@ c #2B1743", +"T@ c #2E1846", +"U@ c #37204F", +"V@ c #523D69", +"W@ c #83719A", +"X@ c #826F99", +"Y@ c #816D98", +"Z@ c #7F6B97", +"`@ c #7D6996", +" # c #7A6593", +".# c #796493", +"+# c #7A6493", +"@# c #7C6696", +"## c #7D6796", +"$# c #7C6795", +"%# c #7D6896", +"&# c #7F6A97", +"*# c #806B97", +"=# c #826D99", +"-# c #836E9A", +";# c #85709B", +"># c #87729C", +",# c #88749D", +"'# c #8A779F", +")# c #8C79A0", +"!# c #8E7BA1", +"~# c #907EA3", +"{# c #9584A7", +"]# c #9787A9", +"^# c #9A89AB", +"/# c #9C8CAD", +"(# c #9E8EAE", +"_# c #A090B0", +":# c #A192B1", +"<# c #A394B2", +"[# c #A495B3", +"}# c #A597B4", +"|# c #A697B5", +"1# c #A698B5", +"2# c #A698B6", +"3# c #A596B3", +"4# c #A092AD", +"5# c #9F90AB", +"6# c #9D8FAA", +"7# c #9C8EA9", +"8# c #9A8DA8", +"9# c #9A8BA7", +"0# c #9889A6", +"a# c #9688A4", +"b# c #9586A2", +"c# c #9383A1", +"d# c #90819F", +"e# c #8E7E9C", +"f# c #8B7B9B", +"g# c #897898", +"h# c #867596", +"i# c #837293", +"j# c #7D6B8E", +"k# c #7A678B", +"l# c #776388", +"m# c #736085", +"n# c #69537C", +"o# c #5D4872", +"p# c #533C68", +"q# c #361D4D", +"r# c #291141", +"s# c #2A1740", +"t# c #2C1743", +"u# c #3D2755", +"v# c #6A5680", +"w# c #84729A", +"x# c #88769E", +"y# c #87749D", +"z# c #86729D", +"A# c #836F9A", +"B# c #806D98", +"C# c #7E6A96", +"D# c #7E6996", +"E# c #7F6997", +"F# c #816C9A", +"G# c #85709E", +"H# c #86719F", +"I# c #836E9B", +"J# c #84709C", +"K# c #86719D", +"L# c #88739E", +"M# c #89759F", +"N# c #8B78A1", +"O# c #8D7AA2", +"P# c #8F7DA4", +"Q# c #9280A6", +"R# c #9482A7", +"S# c #9785A9", +"T# c #9988AB", +"U# c #9C8BAD", +"V# c #9E8EAF", +"W# c #A091B0", +"X# c #A799B6", +"Y# c #AA9CB8", +"Z# c #AC9FBA", +"`# c #AFA2BD", +" $ c #B1A5BE", +".$ c #B3A7C0", +"+$ c #B5A9C1", +"@$ c #B6ABC3", +"#$ c #B8ACC4", +"$$ c #B8ADC4", +"%$ c #B9AEC5", +"&$ c #BAAFC5", +"*$ c #BAB0C6", +"=$ c #B4A9BF", +"-$ c #B2A8BC", +";$ c #B1A6BB", +">$ c #AFA4BA", +",$ c #AEA2B9", +"'$ c #ADA1B7", +")$ c #AA9FB6", +"!$ c #A89CB4", +"~$ c #A69AB2", +"{$ c #A497B0", +"]$ c #A194AE", +"^$ c #9F91AB", +"/$ c #998AA6", +"($ c #9686A3", +"_$ c #9283A0", +":$ c #8F7F9D", +"<$ c #8B7A9A", +"[$ c #887797", +"}$ c #847294", +"|$ c #806E90", +"1$ c #7C698D", +"2$ c #736086", +"3$ c #6F5B82", +"4$ c #634D77", +"5$ c #533C69", +"6$ c #472F5E", +"7$ c #2A1741", +"8$ c #2C1844", +"9$ c #2F1947", +"0$ c #311A49", +"a$ c #503B67", +"b$ c #78658E", +"c$ c #8E7DA3", +"d$ c #8C7BA2", +"e$ c #8B79A1", +"f$ c #89779F", +"g$ c #86749D", +"h$ c #84709B", +"i$ c #846F9B", +"j$ c #8975A2", +"k$ c #8C77A5", +"l$ c #8D79A5", +"m$ c #8B77A2", +"n$ c #8C78A2", +"o$ c #8E7BA3", +"p$ c #907DA5", +"q$ c #9280A7", +"r$ c #9583A9", +"s$ c #9886AB", +"t$ c #9B8AAD", +"u$ c #9D8DAF", +"v$ c #A091B1", +"w$ c #A394B4", +"x$ c #AC9FBB", +"y$ c #B0A3BD", +"z$ c #B7ABC3", +"A$ c #BDB3C8", +"B$ c #C0B7CB", +"C$ c #C3BACD", +"D$ c #C6BDCF", +"E$ c #C8BFD0", +"F$ c #CAC2D2", +"G$ c #CBC4D4", +"H$ c #CCC5D4", +"I$ c #CEC6D6", +"J$ c #CFC7D7", +"K$ c #CFC8D7", +"L$ c #CFC9D8", +"M$ c #CEC7D6", +"N$ c #CDC5D5", +"O$ c #CAC2D1", +"P$ c #C7C0CE", +"Q$ c #C6BECD", +"R$ c #C4BCCB", +"S$ c #C2BACA", +"T$ c #C0B8C8", +"U$ c #BEB5C6", +"V$ c #BCB3C5", +"W$ c #B9B0C2", +"X$ c #B7ADC0", +"Y$ c #B3A9BD", +"Z$ c #B0A5BB", +"`$ c #ADA2B8", +" % c #A99DB5", +".% c #A295AE", +"+% c #9E90AB", +"@% c #9687A3", +"#% c #9182A0", +"$% c #8D7D9C", +"%% c #897798", +"&% c #7F6D90", +"*% c #766287", +"=% c #715D83", +"-% c #68527B", +";% c #634E77", +">% c #5E4973", +",% c #563F6B", +"'% c #523A67", +")% c #462D5C", +"!% c #381F4F", +"~% c #2A1841", +"{% c #2D1844", +"]% c #311A4A", +"^% c #57436E", +"/% c #86769A", +"(% c #9282A5", +"_% c #9080A4", +":% c #8F7EA4", +"<% c #8E7BA2", +"[% c #8A789F", +"}% c #87749E", +"|% c #87739D", +"1% c #88749F", +"2% c #8975A0", +"3% c #8D79A4", +"4% c #917CA8", +"5% c #927EA9", +"6% c #9480AB", +"7% c #9481A9", +"8% c #9481A8", +"9% c #9684AA", +"0% c #9987AC", +"a% c #9C8BAE", +"b% c #9F8FB1", +"c% c #A292B3", +"d% c #A696B6", +"e% c #A99BB9", +"f% c #AD9FBC", +"g% c #B0A3BF", +"h% c #B4A8C1", +"i% c #B8ACC5", +"j% c #BCB1C7", +"k% c #BFB5CA", +"l% c #C4BACD", +"m% c #D0C8D7", +"n% c #D3CDDA", +"o% c #D6D1DD", +"p% c #D9D4DF", +"q% c #DCD8E1", +"r% c #DEDAE3", +"s% c #E0DCE5", +"t% c #E2DEE6", +"u% c #E3DFE6", +"v% c #E3E0E8", +"w% c #E4E0E8", +"x% c #E4E1E9", +"y% c #E4E2E9", +"z% c #E0DDE4", +"A% c #DDDAE2", +"B% c #DCD8E0", +"C% c #DBD6DE", +"D% c #D8D4DD", +"E% c #D6D0DB", +"F% c #D3CFD9", +"G% c #D1CBD7", +"H% c #CEC8D4", +"I% c #CBC4D1", +"J% c #C3BCCB", +"K% c #C0B7C8", +"L% c #BCB3C4", +"M% c #B8AEC1", +"N% c #AEA3B9", +"O% c #AA9DB5", +"P% c #A598B1", +"Q% c #A092AC", +"R% c #9B8CA8", +"S% c #867495", +"T% c #766288", +"U% c #6C577F", +"V% c #5C4771", +"W% c #543C69", +"X% c #2B1841", +"Y% c #2F1948", +"Z% c #382150", +"`% c #5F4C75", +" & c #8A7A9E", +".& c #9686A9", +"+& c #9484A8", +"@& c #9282A7", +"#& c #907FA5", +"$& c #8D7BA2", +"%& c #8B79A0", +"&& c #8A78A0", +"*& c #8B78A0", +"=& c #8D79A2", +"-& c #907DA7", +";& c #9481AB", +">& c #9683AD", +",& c #9985AF", +"'& c #9A88B0", +")& c #9C8BB1", +"!& c #9B8AAE", +"~& c #9F8EB1", +"{& c #A596B6", +"]& c #A99AB9", +"^& c #B1A4BF", +"/& c #B5A8C3", +"(& c #B9AEC6", +"_& c #BEB3C9", +":& c #C2B8CD", +"<& c #C6BED0", +"[& c #CBC3D4", +"}& c #D0C9D8", +"|& c #D5CFDC", +"1& c #DAD5E0", +"2& c #E2DFE7", +"3& c #E5E2E8", +"4& c #E6E3EA", +"5& c #E8E5EB", +"6& c #E9E6EC", +"7& c #E8E6EB", +"8& c #E7E5EA", +"9& c #E6E4E9", +"0& c #E5E3E8", +"a& c #E4E1E7", +"b& c #E2DFE6", +"c& c #E0DDE3", +"d& c #D4CFD9", +"e& c #CFC9D5", +"f& c #CAC4D1", +"g& c #C5BECD", +"h& c #BBB1C3", +"i& c #B5ABBF", +"j& c #A396AF", +"k& c #9E90AA", +"l& c #9889A5", +"m& c #91829F", +"n& c #746186", +"o& c #6F5A81", +"p& c #59436F", +"q& c #2B1942", +"r& c #2C1943", +"s& c #301A47", +"t& c #614D76", +"u& c #9385A5", +"v& c #998BAC", +"w& c #9788AA", +"x& c #9687A9", +"y& c #9483A7", +"z& c #8E7CA3", +"A& c #8E7CA4", +"B& c #927FA8", +"C& c #907EA5", +"D& c #9380A8", +"E& c #9784AD", +"F& c #9A87B0", +"G& c #9C8AB1", +"H& c #9E8CB3", +"I& c #A090B5", +"J& c #A493B7", +"K& c #A494B6", +"L& c #A797B7", +"M& c #AA9CBA", +"N& c #AEA0BE", +"O& c #B3A6C1", +"P& c #B7ABC5", +"Q& c #BCB0C8", +"R& c #C1B6CC", +"S& c #C6BCD0", +"T& c #CBC2D4", +"U& c #D1CAD8", +"V& c #D7D1DE", +"W& c #DDD8E2", +"X& c #E5E2E9", +"Y& c #E7E4EB", +"Z& c #E8E6EC", +"`& c #DEDBE2", +" * c #D9D5DE", +".* c #D3CED9", +"+* c #CDC7D3", +"@* c #C6BFCD", +"#* c #B9AFC2", +"$* c #B2A7BC", +"%* c #AB9FB6", +"&* c #A498B0", +"** c #9788A4", +"=* c #90809E", +"-* c #837193", +";* c #7D6A8E", +">* c #715C83", +",* c #553E6B", +"'* c #2C1A42", +")* c #2C1942", +"!* c #2F1A47", +"~* c #311B4A", +"{* c #5B4871", +"]* c #9081A2", +"^* c #9D8FAE", +"/* c #9B8CAD", +"(* c #9A8AAC", +"_* c #9787AA", +":* c #9383A7", +"<* c #9281A5", +"[* c #9180A5", +"}* c #917FA5", +"|* c #9886AE", +"1* c #9E8BB4", +"2* c #9785AD", +"3* c #9987AE", +"4* c #9C8BB2", +"5* c #9F8DB3", +"6* c #A190B5", +"7* c #A494B7", +"8* c #A797BA", +"9* c #AB9ABD", +"0* c #AD9EBF", +"a* c #B3A5C1", +"b* c #BCB0C9", +"c* c #C1B7CD", +"d* c #C6BDD1", +"e* c #CCC4D5", +"f* c #D4CCDB", +"g* c #DBD6E1", +"h* c #E1DDE6", +"i* c #E7E5EB", +"j* c #E9E7EC", +"k* c #E4E2E7", +"l* c #E0DCE3", +"m* c #D9D5DD", +"n* c #D1CCD7", +"o* c #C9C2D0", +"p* c #C1B9C9", +"q* c #BAB0C2", +"r* c #AA9EB5", +"s* c #9384A1", +"t* c #7E6C8F", +"u* c #78658A", +"v* c #6C577E", +"w* c #503866", +"x* c #3E2655", +"y* c #371E4E", +"z* c #2C1A43", +"A* c #2D1A45", +"B* c #311B49", +"C* c #4F3B65", +"D* c #9385A4", +"E* c #A093B1", +"F* c #9F91B0", +"G* c #9D8FAF", +"H* c #9484A7", +"I* c #9382A7", +"J* c #9584A9", +"K* c #9C8AB2", +"L* c #A18FB7", +"M* c #A290B8", +"N* c #9F8DB4", +"O* c #9E8DB3", +"P* c #A393B7", +"Q* c #A696B9", +"R* c #AA99BC", +"S* c #AD9DBF", +"T* c #B0A2C1", +"U* c #B4A7C4", +"V* c #B6AAC5", +"W* c #BBAFC8", +"X* c #C0B5CC", +"Y* c #C5BCD0", +"Z* c #D3CBDB", +"`* c #DBD5E1", +" = c #E2DEE7", +".= c #E9E7ED", +"+= c #E2DFE5", +"@= c #DBD7DF", +"#= c #C8C1CF", +"$= c #BFB6C7", +"%= c #B6ACC0", +"&= c #AEA2B8", +"*= c #A599B1", +"== c #9586A3", +"-= c #8D7E9D", +";= c #725D84", +">= c #654F79", +",= c #351D4D", +"'= c #2D1B43", +")= c #301B48", +"!= c #48335F", +"~= c #887999", +"{= c #A497B3", +"]= c #A295B2", +"^= c #A092B1", +"/= c #9F90B0", +"(= c #9A8BAC", +"_= c #9788A9", +":= c #9685A9", +"<= c #9787AB", +"[= c #A392B9", +"}= c #A493BA", +"|= c #A694BC", +"1= c #A695BB", +"2= c #A392B6", +"3= c #A595B8", +"4= c #A898BB", +"5= c #AB9BBD", +"6= c #AE9FC0", +"7= c #B2A4C3", +"8= c #B6A9C5", +"9= c #BBAEC9", +"0= c #BFB3CD", +"a= c #C2B7CE", +"b= c #C8BED2", +"c= c #CFC6D7", +"d= c #E0DBE6", +"e= c #E6E2E9", +"f= c #EAE8EE", +"g= c #EAE7ED", +"h= c #E1DEE4", +"i= c #D8D3DC", +"j= c #CDC6D3", +"k= c #A79AB2", +"l= c #5D4772", +"m= c #4D3563", +"n= c #311849", +"o= c #2D1B44", +"p= c #2E1B46", +"q= c #392451", +"r= c #746486", +"s= c #A69AB4", +"t= c #A599B4", +"u= c #A396B3", +"v= c #A294B3", +"w= c #9E90AF", +"x= c #9A8CAC", +"y= c #9989AB", +"z= c #9888AB", +"A= c #9988AC", +"B= c #A08FB4", +"C= c #A796BC", +"D= c #AA99C0", +"E= c #AC9BC1", +"F= c #A796B9", +"G= c #A999BC", +"H= c #AC9CBE", +"I= c #AFA0C1", +"J= c #B3A5C3", +"K= c #B7AAC6", +"L= c #BCAFCA", +"M= c #C0B4CE", +"N= c #C6BBD2", +"O= c #CAC0D4", +"P= c #D0C7D9", +"Q= c #D9D3E0", +"R= c #E3E1E6", +"S= c #DAD6DE", +"T= c #CEC9D4", +"U= c #AFA3B9", +"V= c #A599B2", +"W= c #9D8FA9", +"X= c #9485A2", +"Y= c #8C7B9A", +"Z= c #6E5981", +"`= c #462E5D", +" - c #271040", +".- c #2E1C45", +"+- c #2E1C44", +"@- c #301C47", +"#- c #57456C", +"$- c #A195B0", +"%- c #A89CB7", +"&- c #A79AB5", +"*- c #A598B4", +"=- c #A294B2", +"-- c #9E8FAE", +";- c #9B8DAD", +">- c #9B8BAC", +",- c #9B8BAD", +"'- c #A191B4", +")- c #A796BB", +"!- c #A897BC", +"~- c #A898BD", +"{- c #AA9AC0", +"]- c #AF9DC3", +"^- c #B0A0C4", +"/- c #AA9ABD", +"(- c #C5BAD2", +"_- c #CBC1D6", +":- c #D1C9DB", +"<- c #D9D4E0", +"[- c #E2DEE8", +"}- c #E8E5EC", +"|- c #EBE9EE", +"1- c #D8D5DD", +"2- c #CCC6D3", +"3- c #B6ADC0", +"4- c #ACA0B7", +"5- c #91819F", +"6- c #806F91", +"7- c #79668B", +"8- c #533B68", +"9- c #432B5B", +"0- c #2F1D45", +"a- c #2F1C45", +"b- c #402D58", +"c- c #8C7F9C", +"d- c #ABA0B9", +"e- c #A99DB7", +"f- c #A89BB7", +"g- c #A699B5", +"h- c #9D8EAE", +"i- c #9D8DAE", +"j- c #9C8CAE", +"k- c #A393B6", +"l- c #A999BD", +"m- c #A999BE", +"n- c #AA9ABE", +"o- c #AB9ABF", +"p- c #AE9EC3", +"q- c #B2A2C6", +"r- c #B4A4C7", +"s- c #AE9FC1", +"t- c #B6A9C6", +"u- c #BAAEC9", +"v- c #C4B9D1", +"w- c #C9BFD5", +"x- c #CFC7DA", +"y- c #D8D2E0", +"z- c #EBE9EF", +"A- c #BDB4C5", +"B- c #A89CB3", +"C- c #8D7C9B", +"D- c #6E5980", +"E- c #604B75", +"F- c #412858", +"G- c #301D46", +"H- c #2F1D46", +"I- c #68587B", +"J- c #A59AB3", +"K- c #ADA3BA", +"L- c #AB9FB9", +"M- c #A99DB8", +"N- c #A193B1", +"O- c #9E8FAF", +"P- c #A394B5", +"Q- c #AB9BBF", +"R- c #AC9CBF", +"S- c #AE9EC2", +"T- c #B4A5C8", +"U- c #B6A6C9", +"V- c #B3A3C5", +"W- c #B1A3C2", +"X- c #B5A7C5", +"Y- c #B9ACC8", +"Z- c #BDB1CC", +"`- c #C2B7CF", +" ; c #C7BDD3", +".; c #CDC4D8", +"+; c #D3CCDD", +"@; c #DED9E5", +"#; c #E7E2EB", +"$; c #E7E4EA", +"%; c #E6E3E9", +"&; c #E5E1E8", +"*; c #E4E1E8", +"=; c #E5E4E9", +"-; c #E6E5E9", +";; c #E6E5EA", +">; c #B6ACBF", +",; c #705C83", +"'; c #69547D", +"); c #301E47", +"!; c #402E56", +"~; c #8F839E", +"{; c #AFA5BB", +"]; c #ACA0BA", +"^; c #AA9EB8", +"/; c #A295B1", +"(; c #A092B0", +"_; c #AB9CBD", +":; c #AD9DC0", +"<; c #AD9EC1", +"[; c #B1A1C5", +"}; c #B6A7C9", +"|; c #B8A9CB", +"1; c #B6A7C8", +"2; c #B4A5C3", +"3; c #B7AAC7", +"4; c #BBAFCA", +"5; c #C0B4CD", +"6; c #D6CFDE", +"7; c #E1DDE7", +"8; c #E9E5EC", +"9; c #ECEAF0", +"0; c #ECE9EF", +"a; c #E4E0E7", +"b; c #E3E0E7", +"c; c #E3DFE7", +"d; c #E1DEE6", +"e; c #E1DDE5", +"f; c #E3E0E6", +"g; c #E3E0E5", +"h; c #E4E1E6", +"i; c #E5E3E7", +"j; c #E5E4E8", +"k; c #DAD7DF", +"l; c #C3BBCA", +"m; c #B8AFC1", +"n; c #9B8CA7", +"o; c #9282A0", +"p; c #8A7899", +"q; c #816F91", +"r; c #301748", +"s; c #250F3E", +"t; c #311F48", +"u; c #605173", +"v; c #A99FB6", +"w; c #B1A7BD", +"x; c #AEA4BB", +"y; c #ADA2BA", +"z; c #A395B2", +"A; c #A194B1", +"B; c #A295B3", +"C; c #AB9CBC", +"D; c #AE9EC1", +"E; c #B0A0C3", +"F; c #B4A4C8", +"G; c #B7A7CA", +"H; c #B8A8CA", +"I; c #B9ABCC", +"J; c #BAACCB", +"K; c #B6A8C5", +"L; c #B8ABC8", +"M; c #BDB0CB", +"N; c #C1B5CE", +"O; c #C6BAD2", +"P; c #CAC1D7", +"Q; c #D7D0E0", +"R; c #E2DDE8", +"S; c #E9E6ED", +"T; c #ECEBF0", +"U; c #EDEAF0", +"V; c #E0DDE5", +"W; c #E0DCE4", +"X; c #DFDCE4", +"Y; c #DFDBE3", +"Z; c #DEDBE3", +"`; c #DDDAE3", +" > c #E4E3E7", +".> c #D9D6DE", +"+> c #C3BBCB", +"@> c #AFA4B9", +"#> c #9C8DA9", +"$> c #8A7A99", +"%> c #827092", +"&> c #59426E", +"*> c #48315F", +"=> c #442B5B", +"-> c #230E3B", +";> c #311E47", +">> c #3D2A55", +",> c #8E829F", +"'> c #B3AABF", +")> c #B2A8BE", +"!> c #B0A5BC", +"~> c #AEA3BB", +"{> c #A598B3", +"]> c #A496B3", +"^> c #A99BBA", +"/> c #B0A2C2", +"(> c #B0A1C2", +"_> c #AFA0C2", +":> c #B3A3C6", +"<> c #B8A8CB", +"[> c #BAABCC", +"}> c #BAACCD", +"|> c #BCAECD", +"1> c #B8AAC8", +"2> c #BEB1CC", +"3> c #C2B6CF", +"4> c #C6BCD3", +"5> c #CBC2D6", +"6> c #D1C9DC", +"7> c #D8D1E0", +"8> c #E0DBE7", +"9> c #EDEBF0", +"0> c #EAE8ED", +"a> c #DCD9E3", +"b> c #DCD8E2", +"c> c #DBD7E2", +"d> c #DBD6E2", +"e> c #DDD9E2", +"f> c #DCD9E0", +"g> c #DDD9E0", +"h> c #DDDAE1", +"i> c #DEDAE1", +"j> c #DFDCE3", +"k> c #D7D3DC", +"l> c #8A7A9A", +"m> c #6D587F", +"n> c #321F49", +"o> c #322049", +"p> c #503E67", +"q> c #B5ACC0", +"r> c #B1A6BD", +"s> c #A89DB6", +"t> c #A699B4", +"u> c #A99BB8", +"v> c #B1A3C3", +"w> c #B1A2C2", +"x> c #B1A1C4", +"y> c #B5A6C8", +"z> c #B9A9CC", +"A> c #BBACCC", +"B> c #BBADCD", +"C> c #BDAFCF", +"D> c #BAACCA", +"E> c #BAACC9", +"F> c #C6BCD2", +"G> c #CBC2D7", +"H> c #D0C9DB", +"I> c #D7D0DF", +"J> c #DCD6E3", +"K> c #E3E0EA", +"L> c #EDEBF1", +"M> c #DFDBE4", +"N> c #DED9E3", +"O> c #D8D3DF", +"P> c #D8D2DE", +"Q> c #D7D2DE", +"R> c #D7D1DD", +"S> c #DAD4DF", +"T> c #D9D4DE", +"U> c #D8D4DE", +"V> c #D9D6DF", +"W> c #DBD8E0", +"X> c #DFDBE2", +"Y> c #E4E2E6", +"Z> c #E5E2E7", +"`> c #D3CED8", +" , c #C9C3D0", +"., c #9B8EA9", +"+, c #9283A1", +"@, c #827192", +"#, c #200D37", +"$, c #35214D", +"%, c #716285", +"&, c #B8AEC4", +"*, c #B3A9BF", +"=, c #B2A7BE", +"-, c #ADA3BB", +";, c #A79BB6", +">, c #AFA3BF", +",, c #B3A5C4", +"', c #B2A4C4", +"), c #B1A2C3", +"!, c #B3A4C6", +"~, c #B7A8CA", +"{, c #B9AACC", +"], c #BBACCD", +"^, c #BCAECE", +"/, c #BDB0CF", +"(, c #BAADC9", +"_, c #BDB1CB", +":, c #C1B5CF", +"<, c #C9BFD6", +"[, c #CEC6D9", +"}, c #D4CCDD", +"|, c #DAD3E1", +"1, c #DFD9E6", +"2, c #E3E0E9", +"3, c #E7E3EA", +"4, c #DEDAE4", +"5, c #DBD7E1", +"6, c #DAD6E0", +"7, c #D6D0DD", +"8, c #D6D0DC", +"9, c #D6CFDC", +"0, c #D4CFDB", +"a, c #D4CEDB", +"b, c #D5D1DB", +"c, c #D6D1DB", +"d, c #D6D2DB", +"e, c #DDD9E1", +"f, c #E2DFE4", +"g, c #D6D2DC", +"h, c #B4A9BE", +"i, c #A395AE", +"j, c #7B678B", +"k, c #6D577F", +"l, c #240E3C", +"m, c #200D36", +"n, c #33214A", +"o, c #332049", +"p, c #3E2C56", +"q, c #8B7F9D", +"r, c #BCB2C8", +"s, c #B4AAC0", +"t, c #A99DB6", +"u, c #A79BB5", +"v, c #ADA1BC", +"w, c #B4A6C5", +"x, c #B3A5C5", +"y, c #B1A3C4", +"z, c #B8AACB", +"A, c #BAAACC", +"B, c #BDAECE", +"C, c #BEB0CF", +"D, c #C4B8D1", +"E, c #C8BDD3", +"F, c #CCC3D7", +"G, c #DAD4E1", +"H, c #E1DCE7", +"I, c #E2DEE9", +"J, c #E4E1EA", +"K, c #E5E2EA", +"L, c #E4E0E9", +"M, c #E3DFE8", +"N, c #E0DCE6", +"O, c #DDD8E3", +"P, c #D5CFDB", +"Q, c #D4CFDC", +"R, c #D3CCDA", +"S, c #D2CCD9", +"T, c #D2CCDA", +"U, c #D1CCD9", +"V, c #D1CBD9", +"W, c #D0CAD8", +"X, c #D2CDDA", +"Y, c #D4CEDA", +"Z, c #D2CCD7", +"`, c #D2CDD8", +" ' c #D3CDD9", +".' c #D5D0DA", +"+' c #DAD6DF", +"@' c #DEDAE2", +"#' c #E1DDE4", +"$' c #D8D4DC", +"%' c #D1CBD6", +"&' c #C9C1D0", +"*' c #C1B8C9", +"=' c #9789A5", +"-' c #79678A", +";' c #735E84", +">' c #654F78", +",' c #58426E", +"'' c #1F0D35", +")' c #34214B", +"!' c #493760", +"~' c #A49AB2", +"{' c #BDB4C9", +"]' c #BBB2C8", +"^' c #B6ADC2", +"/' c #B3A8BF", +"(' c #ACA1B9", +"_' c #A99EB7", +":' c #B3A6C2", +"<' c #B4A7C5", +"[' c #B3A6C5", +"}' c #B3A4C4", +"|' c #B3A4C5", +"1' c #B9AACB", +"2' c #BCADCD", +"3' c #BFB1D0", +"4' c #BEB2CC", +"5' c #C1B6CF", +"6' c #C9BED5", +"7' c #D5CEDD", +"8' c #DBD5E2", +"9' c #DDD7E4", +"0' c #DED8E5", +"a' c #DED8E4", +"b' c #DCD7E2", +"c' c #DCD6E2", +"d' c #DAD5E1", +"e' c #D6D1DE", +"f' c #D4CDDB", +"g' c #CFC9D7", +"h' c #CEC8D7", +"i' c #CEC7D7", +"j' c #CDC6D6", +"k' c #CDC6D5", +"l' c #CFC9D6", +"m' c #CFCAD6", +"n' c #D1CAD6", +"o' c #D4CFDA", +"p' c #CAC3D1", +"q' c #9D8EA9", +"r' c #634E78", +"s' c #260F3F", +"t' c #34224B", +"u' c #35224C", +"v' c #54426B", +"w' c #B5ACC1", +"x' c #BEB6C9", +"y' c #BCB3C8", +"z' c #BAAFC6", +"A' c #ACA1B8", +"B' c #AA9FB7", +"C' c #AFA4BE", +"D' c #B6AAC6", +"E' c #B5A8C5", +"F' c #B5A7C7", +"G' c #BAABCB", +"H' c #BBADCC", +"I' c #BCB0CB", +"J' c #C0B3CD", +"K' c #C3B7D0", +"L' c #C8BED5", +"M' c #D2CADC", +"N' c #D5CDDD", +"O' c #D5CFDE", +"P' c #D6D0DE", +"Q' c #D8D2DF", +"R' c #D8D1DF", +"S' c #D7D0DE", +"T' c #D5CEDC", +"U' c #D3CDDB", +"V' c #D1CAD9", +"W' c #CFCAD7", +"X' c #CCC4D4", +"Y' c #CCC3D4", +"Z' c #CCC3D3", +"`' c #CCC2D4", +" ) c #CCC2D3", +".) c #CBC2D3", +"+) c #CDC4D5", +"@) c #CBC4D2", +"#) c #CBC5D2", +"$) c #D0CAD5", +"%) c #D2CDD7", +"&) c #D8D5DE", +"*) c #D5D2DB", +"=) c #BDB5C5", +"-) c #AFA3BA", +";) c #A093AD", +">) c #8B799A", +",) c #7C6A8E", +"') c #4C3562", +")) c #432A5A", +"!) c #35224B", +"~) c #36234E", +"{) c #6D5D81", +"]) c #BFB7CA", +"^) c #BDB3C9", +"/) c #ACA2B8", +"() c #B5AAC3", +"_) c #B8ACC7", +":) c #B8AACA", +"<) c #BAACCC", +"[) c #BCADCE", +"}) c #BDAFCE", +"|) c #BEB0D0", +"1) c #BDAFCD", +"2) c #B8AAC7", +"3) c #BAADCA", +"4) c #BDB0CC", +"5) c #C2B7D0", +"6) c #C5B9D1", +"7) c #CAC0D5", +"8) c #CEC5D8", +"9) c #CFC7D9", +"0) c #D0C8DA", +"a) c #D2CADB", +"b) c #D3CCDC", +"c) c #D2CBDB", +"d) c #D0C9D9", +"e) c #CFC8D8", +"f) c #CBC3D3", +"g) c #CAC2D3", +"h) c #CAC1D2", +"i) c #C9C1D2", +"j) c #C9C1D1", +"k) c #C8C0D2", +"l) c #C8C0D1", +"m) c #C8BFD1", +"n) c #C9C0D2", +"o) c #C7C0CF", +"p) c #C9C3D1", +"q) c #CCC6D2", +"r) c #CCC7D3", +"s) c #D0CAD6", +"t) c #D0CBD7", +"u) c #D5D1DA", +"v) c #C5BCCB", +"w) c #BEB6C6", +"x) c #B7ADC1", +"y) c #B1A5BB", +"z) c #9C8EA8", +"A) c #8E7E9D", +"B) c #877696", +"C) c #6D5880", +"D) c #5B456F", +"E) c #3E2555", +"F) c #230D3A", +"G) c #35234C", +"H) c #37254F", +"I) c #7E7192", +"J) c #C0B8CA", +"K) c #BEB7C9", +"L) c #BCB2C9", +"M) c #B6ACC3", +"N) c #ACA2B9", +"O) c #B1A7BF", +"P) c #B9AEC8", +"Q) c #B8ADC8", +"R) c #B7ABC7", +"S) c #B7A9C6", +"T) c #B5A8C6", +"U) c #B4A6C6", +"V) c #B9ACCA", +"W) c #B7A9C7", +"X) c #BFB2CD", +"Y) c #C5BAD1", +"Z) c #C8BED4", +"`) c #C9BFD4", +" ! c #C9C0D5", +".! c #CAC2D6", +"+! c #CCC4D6", +"@! c #CEC6D8", +"#! c #CDC5D7", +"$! c #CCC3D5", +"%! c #CBC3D5", +"&! c #CAC3D4", +"*! c #CAC1D3", +"=! c #C7BFD0", +"-! c #C7BED0", +";! c #C6BECF", +">! c #C5BDCF", +",! c #C5BDCE", +"'! c #C5BCCE", +")! c #C4BCCE", +"!! c #C6BFD0", +"~! c #C5BDCD", +"{! c #C4BCCC", +"]! c #C7BFCE", +"^! c #C8C0CF", +"/! c #C9C2D1", +"(! c #CBC6D2", +"_! c #CEC8D5", +":! c #CBC5D1", +"~ c #C3B8D0", +",~ c #C5BBD1", +"'~ c #C3BACE", +")~ c #C3B9CE", +"!~ c #C3B9CD", +"~~ c #C1B8CD", +"{~ c #C1B8CC", +"]~ c #C0B8CB", +"^~ c #C0B6CA", +"/~ c #C0B7CA", +"(~ c #BFB6CA", +"_~ c #BFB4CA", +":~ c #C0B5CA", +"<~ c #C1B8CB", +"[~ c #BEB4C5", +"}~ c #C0B6C6", +"|~ c #C0B7C7", +"1~ c #C1B8C8", +"2~ c #C3BACA", +"3~ c #C5BCCC", +"4~ c #C3BACB", +"5~ c #C1B9C8", +"6~ c #BBB1C4", +"7~ c #9486A3", +"8~ c #8F7E9D", +"9~ c #837092", +"0~ c #6B557D", +"a~ c #543E6A", +"b~ c #37254E", +"c~ c #473360", +"d~ c #C2BBCC", +"e~ c #BBB0C8", +"f~ c #BEB3CB", +"g~ c #BBAFC9", +"h~ c #B9ADC8", +"i~ c #B6AAC7", +"j~ c #B8ABC9", +"k~ c #BDB0CE", +"l~ c #B8ABCC", +"m~ c #B8A9CC", +"n~ c #BAABCD", +"o~ c #B2A3C3", +"p~ c #B3A4C3", +"q~ c #B8AAC6", +"r~ c #B9ACC7", +"s~ c #BAAECA", +"t~ c #C2B5CE", +"u~ c #C2B6CE", +"v~ c #BFB4CB", +"w~ c #BFB4C9", +"x~ c #BDB2C8", +"y~ c #BCB2C7", +"z~ c #BEB4C9", +"A~ c #BEB4C8", +"B~ c #BAB1C4", +"C~ c #BAB2C3", +"D~ c #BBB2C4", +"E~ c #BBB3C4", +"F~ c #BCB4C5", +"G~ c #BFB7C7", +"H~ c #B0A4BA", +"I~ c #9B8DA8", +"J~ c #624D76", +"K~ c #57416C", +"L~ c #452C5B", +"M~ c #351D4E", +"N~ c #281040", +"O~ c #38254E", +"P~ c #473460", +"Q~ c #AAA0B7", +"R~ c #C3BCCE", +"S~ c #B8AEC5", +"T~ c #BEB4CC", +"U~ c #C0B6CE", +"V~ c #BDB2CA", +"W~ c #B8ACC8", +"X~ c #BAADCB", +"Y~ c #BEB1CF", +"Z~ c #BCAFCE", +"`~ c #B9AACD", +" { c #B5A6C4", +".{ c #BAADC8", +"+{ c #BBB0CA", +"@{ c #BCB0CA", +"#{ c #BEB1CB", +"${ c #BDB2CB", +"%{ c #B9ADC5", +"&{ c #B9AEC4", +"*{ c #BAAEC5", +"={ c #BBAFC6", +"-{ c #BBB0C6", +";{ c #BCB0C6", +">{ c #B9AEC3", +",{ c #B8AEC0", +"'{ c #BAB1C3", +"){ c #BBB2C3", +"!{ c #B9B1C3", +"~{ c #B7ACBF", +"{{ c #B4AABE", +"]{ c #ADA1B8", +"^{ c #9587A4", +"/{ c #857395", +"({ c #5F4974", +"_{ c #503967", +":{ c #220D3A", +"<{ c #38264F", +"[{ c #392650", +"}{ c #4A3563", +"|{ c #ABA1B8", +"1{ c #C4BDCE", +"2{ c #C1BACC", +"3{ c #BBB1C7", +"4{ c #C1B7CF", +"5{ c #C3B9D1", +"6{ c #BDB3CB", +"7{ c #BCB0CD", +"8{ c #B7A9CB", +"9{ c #AF9FC1", +"0{ c #B0A0C1", +"a{ c #B0A1C1", +"b{ c #B5A8C4", +"c{ c #B8ABC7", +"d{ c #B9ADC7", +"e{ c #BAADC7", +"f{ c #B6AAC4", +"g{ c #B6AAC3", +"h{ c #B6A9C2", +"i{ c #B5AAC2", +"j{ c #B6AAC2", +"k{ c #B6ABC2", +"l{ c #B7ACC3", +"m{ c #B7ACC4", +"n{ c #B7ADC3", +"o{ c #B3A8BD", +"p{ c #B5AABE", +"q{ c #B5ABBE", +"r{ c #B6ABBF", +"s{ c #B7ADBF", +"t{ c #B7ACC0", +"u{ c #B5AABF", +"v{ c #B4A9BD", +"w{ c #AA9EB6", +"x{ c #A89BB3", +"y{ c #A396B0", +"z{ c #9A8CA7", +"A{ c #7B698D", +"B{ c #57416D", +"C{ c #240E3D", +"D{ c #210D37", +"E{ c #392751", +"F{ c #4A3764", +"G{ c #C5BECE", +"H{ c #C4BAD2", +"I{ c #BEB2CF", +"J{ c #B7A8CB", +"K{ c #B7A6C9", +"L{ c #AB9CBE", +"M{ c #AD9DBE", +"N{ c #AE9DBF", +"O{ c #AF9FBF", +"P{ c #AFA1C1", +"Q{ c #B2A4C2", +"R{ c #B4A6C4", +"S{ c #B5A7C4", +"T{ c #B6A9C4", +"U{ c #B5A9C5", +"V{ c #B5A9C4", +"W{ c #B2A6C0", +"X{ c #B1A5BF", +"Y{ c #B2A5BF", +"Z{ c #B2A6BF", +"`{ c #B3A6C0", +" ] c #B3A7C1", +".] c #B4A8C0", +"+] c #B0A5BA", +"@] c #B1A6BC", +"#] c #B1A7BC", +"$] c #B2A7BD", +"%] c #B3A7BD", +"&] c #B2A6BC", +"*] c #68537B", +"=] c #47305E", +"-] c #351C4C", +";] c #3A2751", +">] c #3A2851", +",] c #4B3765", +"'] c #ACA2BA", +")] c #C5BFCD", +"!] c #C2BCCD", +"~] c #C1B9CC", +"{] c #BEB6CB", +"]] c #C5BCD3", +"^] c #C2B8D1", +"/] c #BFB2CE", +"(] c #BFB2D0", +"_] c #B6A8CA", +":] c #B6A7CA", +"<] c #B5A6C9", +"[] c #B5A5C9", +"}] c #AC9DBE", +"|] c #AFA0C0", +"1] c #B1A2C1", +"2] c #B1A3C1", +"3] c #B2A5C2", +"4] c #B2A5C1", +"5] c #AEA1BD", +"6] c #AEA1BC", +"7] c #AEA1BB", +"8] c #AEA2BC", +"9] c #AFA2BC", +"0] c #AFA3BD", +"a] c #AFA3BE", +"b] c #B0A3BE", +"c] c #B0A4BE", +"d] c #B1A4BE", +"e] c #A99DB4", +"f] c #A79BB3", +"g] c #A598B0", +"h] c #A195AF", +"i] c #9E91AC", +"j] c #9C8DA7", +"k] c #725E85", +"l] c #493160", +"m] c #210D39", +"n] c #3B2852", +"o] c #4B3866", +"p] c #ACA3B9", +"q] c #C5BFCE", +"r] c #C3BCCD", +"s] c #BFB8CA", +"t] c #C3BBCF", +"u] c #C6BDD3", +"v] c #C4BBD2", +"w] c #BFB5CE", +"x] c #BAAEC8", +"y] c #BFB4D0", +"z] c #C0B4D0", +"A] c #B5A7C9", +"B] c #A897BB", +"C] c #A997BB", +"D] c #A797BB", +"E] c #A998BC", +"F] c #AA9ABC", +"G] c #AB9BBC", +"H] c #AD9EBE", +"I] c #AE9FBE", +"J] c #AE9FBF", +"K] c #AFA0BF", +"L] c #AEA0BF", +"M] c #AB9EBB", +"N] c #AB9DB9", +"O] c #AA9CB9", +"P] c #AB9EB9", +"Q] c #AC9EB9", +"R] c #AC9EBA", +"S] c #ADA0BA", +"T] c #ADA0BB", +"U] c #AEA0BB", +"V] c #ADA1BB", +"W] c #ACA0B8", +"X] c #A89DB4", +"Y] c #A094AE", +"Z] c #9F91AC", +"`] c #9A8BA6", +" ^ c #867496", +".^ c #816F92", +"+^ c #77658A", +"@^ c #604A75", +"#^ c #5B4571", +"$^ c #1F0D36", +"%^ c #3C2953", +"&^ c #453161", +"*^ c #9D92AD", +"=^ c #C6BFCF", +"-^ c #C2BBCD", +";^ c #C6BED1", +">^ c #C6BED4", +",^ c #C5BBD3", +"'^ c #C3BAD1", +")^ c #B9ADC9", +"!^ c #C1B5D0", +"~^ c #BFB2CF", +"{^ c #B3A3C8", +"]^ c #B2A3C7", +"^^ c #B2A2C7", +"/^ c #A695B9", +"(^ c #A695BA", +"_^ c #A796BA", +":^ c #A897BA", +"<^ c #A999BB", +"[^ c #AB9BBB", +"}^ c #AC9BBC", +"|^ c #AC9CBC", +"1^ c #A798B6", +"2^ c #A799B7", +"3^ c #A89AB7", +"4^ c #A89AB8", +"5^ c #A99CB9", +"6^ c #AA9DB9", +"7^ c #AB9EBA", +"8^ c #AC9FB9", +"9^ c #A79CB3", +"0^ c #A69AB3", +"a^ c #A498B1", +"b^ c #A296AF", +"c^ c #A193AE", +"d^ c #9F92AC", +"e^ c #9C8DA8", +"f^ c #9688A5", +"g^ c #8D7C9C", +"h^ c #857394", +"i^ c #6F5A82", +"j^ c #3C2455", +"k^ c #3A2251", +"l^ c #3C2A53", +"m^ c #463261", +"n^ c #9689A6", +"o^ c #C8C0D3", +"p^ c #C7BED4", +"q^ c #C2B8D0", +"r^ c #C0B5CE", +"s^ c #B8AEC8", +"t^ c #C2B6D1", +"u^ c #C1B5D1", +"v^ c #BFB3CF", +"w^ c #BDB1CE", +"x^ c #B5A4C8", +"y^ c #B3A2C7", +"z^ c #B1A1C6", +"A^ c #B1A1C7", +"B^ c #AA9ABF", +"C^ c #A392B8", +"D^ c #A594B8", +"E^ c #A492B8", +"F^ c #A493B8", +"G^ c #A594B7", +"H^ c #A594B9", +"I^ c #A695B8", +"J^ c #A796B8", +"K^ c #A797B9", +"L^ c #A798B9", +"M^ c #A798B8", +"N^ c #A898B8", +"O^ c #A898B7", +"P^ c #A394B3", +"Q^ c #A899B7", +"R^ c #A99AB8", +"S^ c #A397B0", +"T^ c #A295AF", +"U^ c #A294AE", +"V^ c #9E91AB", +"W^ c #9E8FAA", +"X^ c #9989A5", +"Y^ c #9687A4", +"Z^ c #9181A0", +"`^ c #513967", +" / c #422959", +"./ c #3B2253", +"+/ c #3D2A54", +"@/ c #473262", +"#/ c #8E81A0", +"$/ c #C6C0CF", +"%/ c #C5BECF", +"&/ c #C8C1D4", +"*/ c #C7BFD4", +"=/ c #C5BBD2", +"-/ c #C2B9D1", +";/ c #C1B7D0", +">/ c #BAAFCA", +",/ c #C2B7D1", +"'/ c #C0B3D0", +")/ c #BAADCC", +"!/ c #B8A9CA", +"~/ c #B3A4C7", +"{/ c #B0A1C6", +"]/ c #AE9CC3", +"^/ c #A291B7", +"// c #A291B6", +"(/ c #A390B6", +"_/ c #A290B6", +":/ c #A391B6", +"( c #AE9EC5", +",( c #AA98BF", +"'( c #9D8BB3", +")( c #9E8BB3", +"!( c #9D8BB2", +"~( c #9D8BB1", +"{( c #9D8CB1", +"]( c #9D8CB0", +"^( c #9C8DB1", +"/( c #998AAB", +"(( c #9B8CAC", +"_( c #9C8DAD", +":( c #9C8DAE", +"<( c #9F8FB0", +"[( c #A291B0", +"}( c #A291B1", +"|( c #A090AE", +"1( c #9A8AA6", +"2( c #988AA6", +"3( c #9385A2", +"4( c #9284A1", +"5( c #90809F", +"6( c #8F7F9E", +"7( c #877596", +"8( c #7E6C8E", +"9( c #6A547D", +"0( c #3E2B55", +"a( c #45315F", +"b( c #594674", +"c( c #BFB7C9", +"d( c #C7C0D1", +"e( c #CFC8DA", +"f( c #C9C2D4", +"g( c #C7BFD3", +"h( c #C5BDD2", +"i( c #BFB4CF", +"j( c #BBB0CB", +"k( c #C4B9D2", +"l( c #BFB3D0", +"m( c #B09FC5", +"n( c #AF9DC4", +"o( c #AB9BC2", +"p( c #9D8AB2", +"q( c #9C89B2", +"r( c #9B88B1", +"s( c #9A87AE", +"t( c #9988AF", +"u( c #9A87AF", +"v( c #9A88AF", +"w( c #9A88AE", +"x( c #9988AD", +"y( c #9A88AD", +"z( c #9A8AAF", +"A( c #9887A9", +"B( c #9887AA", +"C( c #9888AA", +"D( c #9889AB", +"E( c #998BAB", +"F( c #9A8BAB", +"G( c #9E8EB0", +"H( c #9E8FB0", +"I( c #9889A7", +"J( c #9486A2", +"K( c #9182A1", +"L( c #8D7D9B", +"M( c #847293", +"N( c #817092", +"O( c #78668B", +"P( c #705B82", +"Q( c #655078", +"R( c #442D5C", +"S( c #43305D", +"T( c #523E6E", +"U( c #B0A6BC", +"V( c #C7C1D0", +"W( c #C7C1D2", +"X( c #CAC3D5", +"Y( c #C7C0D4", +"Z( c #C5BED2", +"`( c #C3B9D2", +" _ c #C0B4CF", +"._ c #BFB4CE", +"+_ c #B7A8C9", +"@_ c #B1A2C6", +"#_ c #AE9DC4", +"$_ c #AD9BC3", +"%_ c #AD9AC2", +"&_ c #A594BC", +"*_ c #9B89B1", +"=_ c #9987B0", +"-_ c #9885AF", +";_ c #9985AE", +">_ c #9A86B0", +",_ c #9986AF", +"'_ c #9885AE", +")_ c #9885AD", +"!_ c #9784AC", +"~_ c #9783AB", +"{_ c #9784AB", +"]_ c #9784AA", +"^_ c #9785AB", +"/_ c #9684A8", +"(_ c #9584A6", +"__ c #9685A7", +":_ c #9685A8", +"<_ c #9889AA", +"[_ c #9A8CAD", +"}_ c #998AAA", +"|_ c #988AAA", +"1_ c #9889A9", +"2_ c #9889A8", +"3_ c #9788A8", +"4_ c #9788A7", +"5_ c #9688A7", +"6_ c #9A8AAA", +"7_ c #9A8CAE", +"8_ c #9183A1", +"9_ c #8C7C9A", +"0_ c #897797", +"a_ c #867394", +"b_ c #7F6C90", +"c_ c #79688B", +"d_ c #746187", +"e_ c #715D84", +"f_ c #614A75", +"g_ c #2B1243", +"h_ c #3F2D57", +"i_ c #43305C", +"j_ c #4C3768", +"k_ c #998DA9", +"l_ c #C8C2D2", +"m_ c #D1CBDC", +"n_ c #CCC5D7", +"o_ c #C4BCD1", +"p_ c #C1B8D0", +"q_ c #C4BAD3", +"r_ c #C3B7D1", +"s_ c #B2A1C6", +"t_ c #AD9BC2", +"u_ c #AB9AC2", +"v_ c #A997C1", +"w_ c #9886AF", +"x_ c #9884AE", +"y_ c #9784AE", +"z_ c #9582AC", +"A_ c #9783AE", +"B_ c #9682AC", +"C_ c #9581AC", +"D_ c #9581AB", +"E_ c #9381A9", +"F_ c #9380AA", +"G_ c #9480AA", +"H_ c #9380A9", +"I_ c #9480A8", +"J_ c #9480A9", +"K_ c #9480A7", +"L_ c #9580A7", +"M_ c #9682A9", +"N_ c #9683A9", +"O_ c #9381A6", +"P_ c #9381A5", +"Q_ c #9482A5", +"R_ c #9583A6", +"S_ c #9786A8", +"T_ c #9686A8", +"U_ c #9786A9", +"V_ c #9886A9", +"W_ c #9988AA", +"X_ c #9888A9", +"Y_ c #9787A8", +"Z_ c #9585A5", +"`_ c #9485A5", +" : c #9484A3", +".: c #9383A2", +"+: c #9282A2", +"@: c #9281A0", +"#: c #92829F", +"$: c #9384A3", +"%: c #9484A4", +"&: c #9585A4", +"*: c #9685A6", +"=: c #91819E", +"-: c #907F9E", +";: c #897899", +">: c #827193", +",: c #7A678C", +"': c #735F84", +"): c #604A74", +"!: c #563F6C", +"~: c #402D57", +"{: c #422F5A", +"]: c #4B3768", +"^: c #827495", +"/: c #C8C1D1", +"(: c #C8C0D0", +"_: c #C9C3D2", +":: c #D2CCDD", +"<: c #CDC7D9", +"[: c #C4BAD1", +"}: c #C0B6CF", +"|: c #C8BED6", +"1: c #C3B9D3", +"2: c #C0B3CF", +"3: c #BBAECC", +"4: c #B9ACCB", +"5: c #B7A9CA", +"6: c #B3A3C7", +"7: c #B1A2C5", +"8: c #AD9CC2", +"9: c #AB9AC1", +"0: c #A998C1", +"a: c #A290B9", +"b: c #9683AE", +"c: c #9682AD", +"d: c #9481AC", +"e: c #937FAA", +"f: c #947FAB", +"g: c #927FA9", +"h: c #927EAA", +"i: c #917DA7", +"j: c #907CA8", +"k: c #917DA8", +"l: c #917DA6", +"m: c #907DA6", +"n: c #917CA6", +"o: c #927EA6", +"p: c #937FA7", +"q: c #927EA4", +"r: c #8F7CA1", +"s: c #917EA3", +"t: c #917FA4", +"u: c #927FA4", +"v: c #9280A5", +"w: c #9684A7", +"x: c #9584A5", +"y: c #9383A4", +"z: c #9180A0", +"A: c #8F7F9F", +"B: c #8F7E9C", +"C: c #8E7D9C", +"D: c #887798", +"E: c #887697", +"F: c #79688C", +"G: c #735F86", +"H: c #462E5C", +"I: c #3C2554", +"J: c #2C1344", +"K: c #412E58", +"L: c #412F59", +"M: c #4B3767", +"N: c #63517C", +"O: c #C8C2D1", +"P: c #CAC3D3", +"Q: c #D3CDDD", +"R: c #C4BBD0", +"S: c #C1B6D0", +"T: c #C8BED7", +"U: c #C2B7D2", +"V: c #AE9DC3", +"W: c #AC9AC2", +"X: c #AB99C1", +"Y: c #A997C0", +"Z: c #A694BE", +"`: c #9783AD", +" < c #9480AC", +".< c #937FAB", +"+< c #917EAA", +"@< c #917CA9", +"#< c #907BA9", +"$< c #8F7BA8", +"%< c #8F7BA7", +"&< c #8F79A6", +"*< c #8E79A6", +"=< c #8E7AA5", +"-< c #8D79A6", +";< c #8C7AA4", +">< c #8D7AA4", +",< c #8D7AA3", +"'< c #8E7BA5", +")< c #8F7CA5", +"!< c #907CA6", +"~< c #8F7BA3", +"{< c #8C799F", +"]< c #8D7AA0", +"^< c #8E7BA0", +"/< c #8F7CA0", +"(< c #8F7DA1", +"_< c #907DA2", +":< c #917EA2", +"<< c #9180A4", +"[< c #917FA2", +"}< c #907EA0", +"|< c #8E7D9F", +"1< c #8D7B9C", +"2< c #8B7A99", +"3< c #8C7C9C", +"4< c #8D7D9D", +"5< c #8C7A9A", +"6< c #8B7999", +"7< c #897999", +"8< c #877595", +"9< c #725D83", +"0< c #6F5B81", +"a< c #67527A", +"b< c #4B3666", +"c< c #544170", +"d< c #B8B0C4", +"e< c #D4CEDD", +"f< c #D2CBDC", +"g< c #CAC4D6", +"h< c #C6BFD3", +"i< c #C2BAD0", +"j< c #BFB5CF", +"k< c #CAC0D9", +"l< c #C6BBD4", +"m< c #B6A8C9", +"n< c #B4A6C8", +"o< c #B2A3C6", +"p< c #AB9BC3", +"q< c #AA99C1", +"r< c #A997BF", +"s< c #A795BF", +"t< c #9F8CB6", +"u< c #9581AD", +"v< c #917DA9", +"w< c #8F7AA9", +"x< c #8E7AA7", +"y< c #8C78A5", +"z< c #8C77A4", +"A< c #8E78A6", +"B< c #8D78A5", +"C< c #8C77A3", +"D< c #8B76A3", +"E< c #8A76A3", +"F< c #8A76A2", +"G< c #8A76A1", +"H< c #8A77A1", +"I< c #8B77A1", +"J< c #8C79A2", +"K< c #8D79A3", +"L< c #8E7BA4", +"M< c #8C7AA2", +"N< c #89779E", +"O< c #8A789E", +"P< c #8B789F", +"Q< c #8D7B9F", +"R< c #8C7A9D", +"S< c #887696", +"T< c #877796", +"U< c #89789A", +"V< c #8A799A", +"W< c #8A799B", +"X< c #8B799B", +"Y< c #8A789A", +"Z< c #857294", +"`< c #756186", +" [ c #59446F", +".[ c #4B3461", +"+[ c #402857", +"@[ c #311848", +"#[ c #2B1342", +"$[ c #250E3E", +"%[ c #422F59", +"&[ c #493563", +"*[ c #4E396B", +"=[ c #A196B0", +"-[ c #CAC3D2", +";[ c #C9C2D2", +">[ c #D2CCDC", +",[ c #D4CDDE", +"'[ c #C3BAD0", +")[ c #C2B8CF", +"![ c #C6BDD5", +"~[ c #CBC1DA", +"{[ c #C9BFD8", +"][ c #BEB3CF", +"^[ c #BDB0CD", +"/[ c #B8ABCB", +"([ c #B6A9C9", +"_[ c #B0A1C5", +":[ c #AA99C2", +"<[ c #A897C0", +"[[ c #A491BC", +"}[ c #9380AB", +"|[ c #8D77A6", +"1[ c #8A76A4", +"2[ c #8A75A3", +"3[ c #8873A2", +"4[ c #8973A2", +"5[ c #8A74A2", +"6[ c #8974A2", +"7[ c #8973A0", +"8[ c #8773A0", +"9[ c #8872A0", +"0[ c #87729F", +"a[ c #87739F", +"b[ c #87729E", +"c[ c #86729E", +"d[ c #86739E", +"e[ c #87749F", +"f[ c #8A77A0", +"g[ c #8C78A1", +"h[ c #88759C", +"i[ c #89769D", +"j[ c #89789E", +"k[ c #89769B", +"l[ c #877498", +"m[ c #857296", +"n[ c #877597", +"o[ c #887698", +"p[ c #887899", +"q[ c #887799", +"r[ c #897799", +"s[ c #8A7799", +"t[ c #877698", +"u[ c #867597", +"v[ c #847395", +"w[ c #837294", +"x[ c #826F92", +"y[ c #806F90", +"z[ c #7F6E90", +"A[ c #7F6C8F", +"B[ c #746087", +"C[ c #705D82", +"D[ c #6B557E", +"E[ c #665179", +"F[ c #5F4873", +"G[ c #58436E", +"H[ c #57406B", +"I[ c #452D5B", +"J[ c #38204F", +"K[ c #311948", +"L[ c #2D1445", +"M[ c #281242", +"N[ c #240D3B", +"O[ c #42305A", +"P[ c #463460", +"Q[ c #4F3A6B", +"R[ c #7B6C91", +"S[ c #D3CDDC", +"T[ c #D4CEDF", +"U[ c #CEC8D9", +"V[ c #C6BED2", +"W[ c #C2B9CF", +"X[ c #C3BAD3", +"Y[ c #CBC2DA", +"Z[ c #C6BBD5", +"`[ c #BCAFCC", +" } c #B7A9C9", +".} c #AC9CC2", +"+} c #A996BF", +"@} c #A692BE", +"#} c #9D8AB5", +"$} c #937FA9", +"%} c #8F7AA7", +"&} c #8E79A7", +"*} c #8C78A6", +"=} c #8B76A5", +"-} c #8974A3", +";} c #8973A1", +">} c #8771A0", +",} c #86709F", +"'} c #856F9E", +")} c #846F9C", +"!} c #836F9C", +"~} c #836F9B", +"{} c #85719D", +"]} c #8976A0", +"^} c #86739A", +"/} c #87739B", +"(} c #847197", +"_} c #826F94", +":} c #806F92", +"<} c #827194", +"[} c #837194", +"}} c #847194", +"|} c #847295", +"1} c #857295", +"2} c #867395", +"3} c #867497", +"4} c #877497", +"5} c #877598", +"6} c #887597", +"7} c #887598", +"8} c #867397", +"9} c #867396", +"0} c #837094", +"a} c #806D91", +"b} c #7E6C90", +"c} c #7E6B8F", +"d} c #79678C", +"e} c #79668A", +"f} c #776488", +"g} c #6A557E", +"h} c #5E4974", +"i} c #5C4672", +"j} c #4A3360", +"k} c #442D5B", +"l} c #28103F", +"m} c #250E3C", +"n} c #210F37", +"o} c #43315B", +"p} c #45325D", +"q} c #503C6D", +"r} c #5E4B78", +"s} c #D1CADA", +"t} c #D5CFDF", +"u} c #C9C3D5", +"v} c #C5BCD1", +"w} c #C0B7CF", +"x} c #CCC3DA", +"y} c #CBC0D9", +"z} c #C4B8D3", +"A} c #C0B5D0", +"B} c #BEB2CE", +"C} c #B5A7C8", +"D} c #B4A3C7", +"E} c #B1A0C6", +"F} c #AE9FC4", +"G} c #A898C0", +"H} c #A794BE", +"I} c #A592BC", +"J} c #A28FBB", +"K} c #9681AD", +"L} c #907CA9", +"M} c #8D78A6", +"N} c #8B76A4", +"O} c #8A74A4", +"P} c #8874A3", +"Q} c #8872A2", +"R} c #8770A1", +"S} c #856FA0", +"T} c #846E9E", +"U} c #846D9E", +"V} c #826D9C", +"W} c #816C9C", +"X} c #816B9B", +"Y} c #826B9B", +"Z} c #826C9B", +"`} c #826C9A", +" | c #816B99", +".| c #816A99", +"+| c #826B99", +"@| c #826D9A", +"#| c #826E9A", +"$| c #86739F", +"%| c #826F98", +"&| c #7F6C93", +"*| c #7D6B90", +"=| c #7F6D91", +"-| c #816E92", +";| c #816E91", +">| c #826F93", +",| c #837093", +"'| c #847195", +")| c #847296", +"!| c #857396", +"~| c #857397", +"{| c #847196", +"]| c #816E93", +"^| c #7D6A8D", +"/| c #7B678C", +"(| c #78648A", +"_| c #776389", +":| c #644F79", +"<| c #624C77", +"[| c #49325F", +"}| c #44315B", +"|| c #513D6D", +"1| c #513C6E", +"2| c #A99FB7", +"3| c #CAC4D3", +"4| c #D6D0DF", +"5| c #CBC5D6", +"6| c #C6BDD2", +"7| c #C1B8CF", +"8| c #CBC3D9", +"9| c #C7BDD7", +"0| c #B6A8C8", +"a| c #B4A5C7", +"b| c #AD9DC3", +"c| c #A896BF", +"d| c #A491BD", +"e| c #A490BB", +"f| c #9B89B4", +"g| c #907BA8", +"h| c #8D78A7", +"i| c #8771A1", +"j| c #826C9D", +"k| c #826B9C", +"l| c #816B9C", +"m| c #7F699A", +"n| c #7E6899", +"o| c #7D6698", +"p| c #7E6797", +"q| c #7F6898", +"r| c #806998", +"s| c #7F6897", +"t| c #816A98", +"u| c #826E9B", +"v| c #7A668C", +"w| c #7C688C", +"x| c #816D91", +"y| c #806E92", +"z| c #826E93", +"A| c #837095", +"B| c #837195", +"C| c #827094", +"D| c #816D92", +"E| c #806D92", +"F| c #7F6C91", +"G| c #7E6A8F", +"H| c #7D6A8F", +"I| c #7C688E", +"J| c #7C688D", +"K| c #7B688D", +"L| c #79658B", +"M| c #745F86", +"N| c #65517A", +"O| c #604B74", +"P| c #5C4670", +"Q| c #513966", +"R| c #49305F", +"S| c #402958", +"T| c #392252", +"U| c #321B4B", +"V| c #271140", +"W| c #44325C", +"X| c #4F3B69", +"Y| c #554072", +"Z| c #847699", +"`| c #CDC7D6", +" 1 c #D7D1E0", +".1 c #D5CEDF", +"+1 c #CEC7D9", +"@1 c #C4BBD1", +"#1 c #C2B9D0", +"$1 c #C9C1D7", +"%1 c #C8BDD7", +"&1 c #C4BAD4", +"*1 c #BDB1CD", +"=1 c #B5A6C7", +"-1 c #AFA0C5", +";1 c #AD9EC3", +">1 c #A08DBA", +",1 c #9380AC", +"'1 c #8A76A5", +")1 c #8A74A3", +"!1 c #8671A1", +"~1 c #8570A0", +"{1 c #846D9F", +"]1 c #836D9E", +"^1 c #806A9B", +"/1 c #7E689A", +"(1 c #7D6697", +"_1 c #7C6597", +":1 c #7B6496", +"<1 c #7A6495", +"[1 c #7A6395", +"}1 c #7A6394", +"|1 c #7B6494", +"11 c #7D6596", +"21 c #7E6697", +"31 c #806898", +"41 c #816998", +"51 c #806896", +"61 c #7C6692", +"71 c #7A658E", +"81 c #79648D", +"91 c #7A668F", +"01 c #78648C", +"a1 c #77648A", +"b1 c #79648B", +"c1 c #7A668B", +"d1 c #7C698E", +"e1 c #7D698F", +"f1 c #7F6B90", +"g1 c #806C91", +"h1 c #816D93", +"i1 c #826E94", +"j1 c #816D94", +"k1 c #806C92", +"l1 c #7E6B91", +"m1 c #7E6A90", +"n1 c #7F6A8F", +"o1 c #7E698F", +"p1 c #7B688E", +"q1 c #7B678D", +"r1 c #7A658B", +"s1 c #78658B", +"t1 c #725F86", +"u1 c #6F5B83", +"v1 c #6C557F", +"w1 c #5D4672", +"x1 c #57426D", +"y1 c #563E6B", +"z1 c #503766", +"A1 c #4B3360", +"B1 c #45325C", +"C1 c #4A3763", +"D1 c #594476", +"E1 c #5C4978", +"F1 c #D6CFDF", +"G1 c #C8C0D6", +"H1 c #CCC4D9", +"I1 c #CAC1D9", +"J1 c #C7BCD6", +"K1 c #B4A6C7", +"L1 c #B2A4C6", +"M1 c #B1A0C5", +"N1 c #AF9EC3", +"O1 c #AC9BC2", +"P1 c #AA98C0", +"Q1 c #A795BE", +"R1 c #A693BD", +"S1 c #A38FBB", +"T1 c #A18EBA", +"U1 c #9B88B5", +"V1 c #8E7AA6", +"W1 c #8772A2", +"X1 c #866FA0", +"Y1 c #856E9E", +"Z1 c #836C9E", +"`1 c #826A9D", +" 2 c #816A9B", +".2 c #7F689A", +"+2 c #7E6799", +"@2 c #7C6698", +"#2 c #7B6498", +"$2 c #7B6396", +"%2 c #786293", +"&2 c #776092", +"*2 c #786092", +"=2 c #776091", +"-2 c #765F91", +";2 c #776192", +">2 c #7B6495", +",2 c #7C6495", +"'2 c #7A6392", +")2 c #77618D", +"!2 c #756089", +"~2 c #75608A", +"{2 c #77628B", +"]2 c #78628D", +"^2 c #79648E", +"/2 c #756087", +"(2 c #756188", +"_2 c #77638A", +":2 c #78648B", +"<2 c #7A658C", +"[2 c #7B668D", +"}2 c #7D688E", +"|2 c #7E6B90", +"12 c #7E6A91", +"22 c #7F6B91", +"32 c #806B92", +"42 c #806B91", +"52 c #816C92", +"62 c #7F6A91", +"72 c #7D6A90", +"82 c #7D6990", +"92 c #7A678D", +"02 c #7A668D", +"a2 c #7A658D", +"b2 c #79658C", +"c2 c #78638B", +"d2 c #78638A", +"e2 c #77628A", +"f2 c #766189", +"g2 c #735E86", +"h2 c #725E86", +"i2 c #715C84", +"j2 c #705B83", +"k2 c #6C5780", +"l2 c #69547E", +"m2 c #68527C", +"n2 c #5A456F", +"o2 c #573F6C", +"p2 c #4D3764", +"q2 c #42295A", +"r2 c #3E2556", +"s2 c #48345F", +"t2 c #5A4576", +"u2 c #594475", +"v2 c #A499B4", +"w2 c #CCC6D5", +"x2 c #C7C0D3", +"y2 c #CDC5DA", +"z2 c #CAC0D8", +"A2 c #C5BAD5", +"B2 c #BBAECB", +"C2 c #AD9FC4", +"D2 c #A896BE", +"E2 c #A493BC", +"F2 c #A390BB", +"G2 c #A18EB9", +"H2 c #9F8CB9", +"I2 c #937FAC", +"J2 c #8A75A4", +"K2 c #846FA0", +"L2 c #836E9F", +"M2 c #826B9D", +"N2 c #80699C", +"O2 c #7F689B", +"P2 c #7D6699", +"Q2 c #7B6497", +"R2 c #796295", +"S2 c #796194", +"T2 c #786094", +"U2 c #775F93", +"V2 c #755D90", +"W2 c #755D8F", +"X2 c #755E90", +"Y2 c #755E8F", +"Z2 c #705A86", +"`2 c #6F5A86", +" 3 c #725B88", +".3 c #735D89", +"+3 c #745F8A", +"@3 c #75608B", +"#3 c #76618B", +"$3 c #78618C", +"%3 c #77618B", +"&3 c #766188", +"*3 c #776289", +"=3 c #7B678E", +"-3 c #7D698E", +";3 c #7C688F", +">3 c #7D688F", +",3 c #7D6890", +"'3 c #7E6990", +")3 c #7F6991", +"!3 c #7F6990", +"~3 c #7C678F", +"{3 c #7C678E", +"]3 c #79648C", +"^3 c #766289", +"/3 c #745F88", +"(3 c #745E86", +"_3 c #725D86", +":3 c #715B83", +"<3 c #6E5982", +"[3 c #6D5881", +"}3 c #6B567F", +"|3 c #6A547E", +"13 c #66507B", +"23 c #624B76", +"33 c #5F4A75", +"43 c #5F4772", +"53 c #513A66", +"63 c #3D2455", +"73 c #331A4A", +"83 c #240D3C", +"93 c #47345E", +"03 c #584473", +"a3 c #5D487A", +"b3 c #76658D", +"c3 c #CBC5D4", +"d3 c #CFC8D9", +"e3 c #C9C3D4", +"f3 c #CDC6D9", +"g3 c #CAC1D8", +"h3 c #C6BBD6", +"i3 c #C3B8D3", +"j3 c #BBAFCB", +"k3 c #B8ACCA", +"l3 c #B5A8C7", +"m3 c #B3A5C6", +"n3 c #A897BF", +"o3 c #A593BD", +"p3 c #A291BB", +"q3 c #A08EB9", +"r3 c #9F8CB8", +"s3 c #9B87B5", +"t3 c #8975A3", +"u3 c #8773A2", +"v3 c #8570A1", +"w3 c #846E9F", +"x3 c #806B9D", +"y3 c #7E689B", +"z3 c #7C6598", +"A3 c #7B6397", +"B3 c #7A6296", +"C3 c #785F93", +"D3 c #765E92", +"E3 c #755E91", +"F3 c #745C90", +"G3 c #735B8F", +"H3 c #725B8D", +"I3 c #71598B", +"J3 c #6E5686", +"K3 c #6B5582", +"L3 c #6B5581", +"M3 c #6D5683", +"N3 c #6E5885", +"O3 c #6F5A87", +"P3 c #705B88", +"Q3 c #745E89", +"R3 c #745E8A", +"S3 c #76608B", +"T3 c #725D85", +"U3 c #725C85", +"V3 c #745E87", +"W3 c #745F87", +"X3 c #756088", +"Y3 c #77638B", +"Z3 c #7B658C", +"`3 c #7B668E", +" 4 c #7D678F", +".4 c #7C668E", +"+4 c #7A648D", +"@4 c #79638B", +"#4 c #78628B", +"$4 c #76618A", +"%4 c #745E88", +"&4 c #735D86", +"*4 c #715C85", +"=4 c #705B84", +"-4 c #705983", +";4 c #6F5983", +">4 c #6D5882", +",4 c #6C5680", +"'4 c #6B5580", +")4 c #6A547F", +"!4 c #69537E", +"~4 c #634D78", +"{4 c #614A76", +"]4 c #5E4874", +"^4 c #5C4571", +"/4 c #59416E", +"(4 c #543E6B", +"_4 c #523A69", +":4 c #311749", +"<4 c #47345F", +"[4 c #503D69", +"}4 c #614D7D", +"|4 c #5D497A", +"14 c #D3CCDB", +"24 c #D8D3E1", +"34 c #D6D0E0", +"44 c #D2CBDD", +"54 c #CAC4D5", +"64 c #C2BAD1", +"74 c #C0B8CF", +"84 c #CBC4D8", +"94 c #CDC5D9", +"04 c #CAC2D9", +"a4 c #C9BFD7", +"b4 c #C7BDD6", +"c4 c #C0B5D1", +"d4 c #BBAFCC", +"e4 c #B7AACA", +"f4 c #AFA0C4", +"g4 c #AD9DC2", +"h4 c #AB9AC0", +"i4 c #A594BE", +"j4 c #A390BC", +"k4 c #9E8BB8", +"l4 c #9D89B8", +"m4 c #947FAE", +"n4 c #8874A2", +"o4 c #8672A1", +"p4 c #786194", +"q4 c #776094", +"r4 c #755C91", +"s4 c #735B90", +"t4 c #725A8E", +"u4 c #72598E", +"v4 c #72598D", +"w4 c #6E5689", +"x4 c #6A5382", +"y4 c #67507E", +"z4 c #69517E", +"A4 c #6A5381", +"B4 c #6A5482", +"C4 c #6B5683", +"D4 c #6D5684", +"E4 c #6F5986", +"F4 c #705A87", +"G4 c #735C89", +"H4 c #755E8A", +"I4 c #715A83", +"J4 c #715B85", +"K4 c #735E87", +"L4 c #766089", +"M4 c #78638C", +"N4 c #79638C", +"O4 c #7B658D", +"P4 c #7B658E", +"Q4 c #7C668F", +"R4 c #7C658F", +"S4 c #7B648E", +"T4 c #7A648E", +"U4 c #7A638C", +"V4 c #78618B", +"W4 c #77618A", +"X4 c #76608A", +"Y4 c #755F89", +"Z4 c #755F88", +"`4 c #745D87", +" 5 c #735C86", +".5 c #725C86", +"+5 c #715A85", +"@5 c #705A85", +"#5 c #6E5983", +"$5 c #6E5882", +"%5 c #6D5681", +"&5 c #6B547F", +"*5 c #67517C", +"=5 c #664F7B", +"-5 c #654E79", +";5 c #634D79", +">5 c #624B77", +",5 c #604976", +"'5 c #5F4774", +")5 c #5B4471", +"!5 c #59426F", +"~5 c #57406D", +"{5 c #513A68", +"]5 c #4B3362", +"^5 c #4A3761", +"/5 c #614D7E", +"(5 c #9285A5", +"_5 c #D9D2E2", +":5 c #D8D2E1", +"<5 c #CCC7D7", +"[5 c #C8C1D5", +"}5 c #CEC6DB", +"|5 c #CCC3D9", +"15 c #C9C0D7", +"25 c #C7BED6", +"35 c #C4B8D4", +"45 c #BDB1CF", +"55 c #BAAECB", +"65 c #B5A8C8", +"75 c #A18FBA", +"85 c #9D89B7", +"95 c #9A86B5", +"05 c #8C77A6", +"a5 c #8571A0", +"b5 c #796195", +"c5 c #765F93", +"d5 c #765E93", +"e5 c #745C91", +"f5 c #735A8F", +"g5 c #72588E", +"h5 c #6D5488", +"i5 c #664E7F", +"j5 c #634B7B", +"k5 c #644C7C", +"l5 c #654E7E", +"m5 c #695180", +"n5 c #6B5583", +"o5 c #6C5683", +"p5 c #6E5785", +"q5 c #6F5886", +"r5 c #705A88", +"s5 c #715A89", +"t5 c #735B89", +"u5 c #705985", +"v5 c #705B85", +"w5 c #725B85", +"x5 c #735C87", +"y5 c #735D87", +"z5 c #79628B", +"A5 c #79628C", +"B5 c #79628D", +"C5 c #79638D", +"D5 c #7A638D", +"E5 c #78628C", +"F5 c #77618C", +"G5 c #765F8A", +"H5 c #765F89", +"I5 c #755E89", +"J5 c #745D89", +"K5 c #745D88", +"L5 c #735B86", +"M5 c #715C86", +"N5 c #6F5884", +"O5 c #6E5783", +"P5 c #6D5782", +"Q5 c #6C5681", +"R5 c #6B537F", +"S5 c #69527E", +"T5 c #68517D", +"U5 c #67507C", +"V5 c #664E7B", +"W5 c #654E7A", +"X5 c #634C79", +"Y5 c #614A78", +"Z5 c #614976", +"`5 c #5F4874", +" 6 c #5D4673", +".6 c #5C4572", +"+6 c #5B4270", +"@6 c #59406F", +"#6 c #553C6B", +"$6 c #4F3665", +"%6 c #4D3464", +"&6 c #4B3262", +"*6 c #331A4C", +"=6 c #321949", +"-6 c #483560", +";6 c #5A4674", +">6 c #665182", +",6 c #6E5B87", +"'6 c #C4BECF", +")6 c #D9D3E1", +"!6 c #D9D3E2", +"~6 c #D7D1E1", +"{6 c #D1CBDB", +"]6 c #CFC7DB", +"^6 c #C4B9D5", +"/6 c #C1B5D3", +"(6 c #B8ABCA", +"_6 c #B3A5C7", +":6 c #B0A2C5", +"<6 c #AE9FC3", +"[6 c #AC9CC1", +"}6 c #A998BF", +"|6 c #A695BE", +"16 c #9C89B6", +"26 c #9B86B6", +"36 c #9580B0", +"46 c #846F9F", +"56 c #826D9E", +"66 c #806A9C", +"76 c #7C6699", +"86 c #796196", +"96 c #755E92", +"06 c #735A90", +"a6 c #72598F", +"b6 c #71588E", +"c6 c #6C5489", +"d6 c #654C7F", +"e6 c #614879", +"f6 c #5F4778", +"g6 c #614A7A", +"h6 c #634C7B", +"i6 c #654D7D", +"j6 c #664E7E", +"k6 c #684F7E", +"l6 c #695080", +"m6 c #6A5281", +"n6 c #6B5483", +"o6 c #6C5584", +"p6 c #6D5685", +"q6 c #6F5887", +"r6 c #705988", +"s6 c #705987", +"t6 c #6D5781", +"u6 c #6E5883", +"v6 c #715B86", +"w6 c #745C88", +"x6 c #755D88", +"y6 c #755E88", +"z6 c #77608B", +"A6 c #77628C", +"B6 c #755F8A", +"C6 c #725B87", +"D6 c #705984", +"E6 c #6F5883", +"F6 c #6F5784", +"G6 c #6D5581", +"H6 c #6B5481", +"I6 c #6B5380", +"J6 c #69527F", +"K6 c #68507D", +"L6 c #654D7A", +"M6 c #644C79", +"N6 c #624A78", +"O6 c #614876", +"P6 c #5E4775", +"Q6 c #5E4674", +"R6 c #5C4473", +"S6 c #5B4371", +"T6 c #59416F", +"U6 c #583F6D", +"V6 c #563D6C", +"W6 c #543B6A", +"X6 c #523969", +"Y6 c #503767", +"Z6 c #4E3565", +"`6 c #4C3463", +" 7 c #472F5F", +".7 c #462D5D", +"+7 c #2E1645", +"@7 c #523F6A", +"#7 c #695685", +"$7 c #645082", +"%7 c #A196B3", +"&7 c #D6D1DF", +"*7 c #DAD4E3", +"=7 c #D8D2E2", +"-7 c #D5CFE0", +";7 c #C5BDD1", +">7 c #CEC6DA", +",7 c #CBC2D8", +"'7 c #C3BAD4", +")7 c #C3B7D4", +"!7 c #BFB3D1", +"~7 c #B7AAC8", +"{7 c #B1A3C6", +"]7 c #A99ABF", +"^7 c #A796BD", +"/7 c #A593BC", +"(7 c #A08DB9", +"_7 c #9E89B8", +":7 c #9B87B4", +"<7 c #9A85B4", +"[7 c #8E79A8", +"}7 c #836E9E", +"|7 c #836C9D", +"17 c #7C6599", +"27 c #765F94", +"37 c #745C92", +"47 c #71598F", +"57 c #6E558B", +"67 c #5E4677", +"77 c #5D4475", +"87 c #5F4777", +"97 c #604779", +"07 c #61487A", +"a7 c #624A7B", +"b7 c #644B7C", +"c7 c #654C7D", +"d7 c #674E7E", +"e7 c #684F7F", +"f7 c #685080", +"g7 c #6A5282", +"h7 c #6A5383", +"i7 c #6E5685", +"j7 c #6F5786", +"k7 c #705888", +"l7 c #6F5888", +"m7 c #6B5480", +"n7 c #6D5682", +"o7 c #6E5682", +"p7 c #705884", +"q7 c #735B87", +"r7 c #77608C", +"s7 c #76608C", +"t7 c #765F8B", +"u7 c #735D88", +"v7 c #735C88", +"w7 c #725B86", +"x7 c #715A86", +"y7 c #6C5482", +"z7 c #6A5480", +"A7 c #6A527F", +"B7 c #6A517F", +"C7 c #674F7C", +"D7 c #654D7B", +"E7 c #644C7A", +"F7 c #634B79", +"G7 c #604776", +"H7 c #5D4574", +"I7 c #5D4473", +"J7 c #5A4270", +"K7 c #583F6F", +"L7 c #563E6D", +"M7 c #543C6C", +"N7 c #533A69", +"O7 c #513968", +"P7 c #4F3766", +"Q7 c #4B3363", +"R7 c #472E5F", +"S7 c #462C5D", +"T7 c #432A5B", +"U7 c #3F2657", +"V7 c #3D2355", +"W7 c #230D3B", +"X7 c #665382", +"Y7 c #6A5686", +"Z7 c #72608D", +"`7 c #DCD7E4", +" 8 c #DAD4E2", +".8 c #D8D1E2", +"+8 c #D0CADB", +"@8 c #C3BBD1", +"#8 c #C9C1D6", +"$8 c #D0C8DC", +"%8 c #C9C1D8", +"&8 c #C5BDD5", +"*8 c #C2B9D3", +"=8 c #C2B6D3", +"-8 c #B7AAC9", +";8 c #AFA1C5", +">8 c #A898BF", +",8 c #A594BD", +"'8 c #A391BB", +")8 c #A18EB8", +"!8 c #9E8BB6", +"~8 c #9B88B6", +"{8 c #9885B4", +"]8 c #9682B1", +"^8 c #8772A1", +"/8 c #826C9C", +"(8 c #7D6599", +"_8 c #7A6396", +":8 c #786096", +"<8 c #735A91", +"[8 c #725A90", +"}8 c #6F568D", +"|8 c #664C81", +"18 c #5C4376", +"28 c #5A4274", +"38 c #5D4376", +"48 c #5D4477", +"58 c #5E4577", +"68 c #5F4677", +"78 c #62497B", +"88 c #634A7C", +"98 c #644B7D", +"08 c #654D7E", +"a8 c #674F7E", +"b8 c #674F7F", +"c8 c #6A5182", +"d8 c #6D5585", +"e8 c #6E5687", +"f8 c #6F5787", +"g8 c #6A537F", +"h8 c #6C5481", +"i8 c #6D5582", +"j8 c #6E5781", +"k8 c #6E5782", +"l8 c #715985", +"m8 c #725A86", +"n8 c #755D89", +"o8 c #765E8A", +"p8 c #765E8B", +"q8 c #755D8A", +"r8 c #735B88", +"s8 c #725A87", +"t8 c #715986", +"u8 c #715885", +"v8 c #705885", +"w8 c #6F5684", +"x8 c #6D5583", +"y8 c #6C5581", +"z8 c #6B5281", +"A8 c #6A5180", +"B8 c #6A517E", +"C8 c #664E7C", +"D8 c #614978", +"E8 c #614977", +"F8 c #5F4776", +"G8 c #5E4575", +"H8 c #5B4372", +"I8 c #5A4171", +"J8 c #58406F", +"K8 c #573E6E", +"L8 c #563D6D", +"M8 c #533B6A", +"N8 c #533969", +"O8 c #503768", +"P8 c #4F3566", +"Q8 c #4B3163", +"R8 c #492F61", +"S8 c #452C5D", +"T8 c #402759", +"U8 c #3B2153", +"V8 c #2C1443", +"W8 c #4A3762", +"X8 c #5B4874", +"Y8 c #6E5B89", +"Z8 c #695485", +"`8 c #AFA5BE", +" 9 c #DBD5E4", +".9 c #CCC4D7", +"+9 c #C9C2D5", +"@9 c #C7BED3", +"#9 c #C1B9CF", +"$9 c #CFC8DC", +"%9 c #CAC3D9", +"&9 c #C1B7D2", +"*9 c #C0B4D2", +"=9 c #BAAECC", +"-9 c #B6A9C7", +";9 c #AB9CC1", +">9 c #A899BF", +",9 c #A696BE", +"'9 c #A392BC", +")9 c #A08EBA", +"!9 c #9985B3", +"~9 c #9783B3", +"{9 c #917CAC", +"]9 c #7D689A", +"^9 c #7A6297", +"/9 c #786095", +"(9 c #71578F", +"_9 c #684F85", +":9 c #5C4277", +"<9 c #583F72", +"[9 c #5A4073", +"}9 c #5B4275", +"|9 c #5C4276", +"19 c #5F4678", +"29 c #654B7E", +"39 c #664C7E", +"49 c #674E7F", +"59 c #695081", +"69 c #6A5283", +"79 c #6B5385", +"89 c #6D5586", +"99 c #6F5687", +"09 c #6C5382", +"a9 c #69517F", +"b9 c #6B527F", +"c9 c #6B5381", +"d9 c #6E5683", +"e9 c #6F5783", +"f9 c #735A87", +"g9 c #745C89", +"h9 c #745D8A", +"i9 c #755C89", +"j9 c #745B89", +"k9 c #735A88", +"l9 c #725987", +"m9 c #705785", +"n9 c #705784", +"o9 c #6F5683", +"p9 c #6E5583", +"q9 c #6C5483", +"r9 c #6C5381", +"s9 c #6B5280", +"t9 c #6A5280", +"u9 c #69507F", +"v9 c #664D7B", +"w9 c #654C7A", +"x9 c #634B7A", +"y9 c #634A79", +"z9 c #624979", +"A9 c #614778", +"B9 c #614676", +"C9 c #5E4675", +"D9 c #5D4474", +"E9 c #5C4273", +"F9 c #594070", +"G9 c #573E6F", +"H9 c #563D6E", +"I9 c #533A6A", +"J9 c #513868", +"K9 c #503667", +"L9 c #4E3465", +"M9 c #4B3264", +"N9 c #4B3162", +"O9 c #472E5E", +"P9 c #452B5C", +"Q9 c #42295B", +"R9 c #412759", +"S9 c #4E3B66", +"T9 c #705D8B", +"U9 c #6E5B8A", +"V9 c #816F98", +"W9 c #DDD8E6", +"X9 c #CBC3D6", +"Y9 c #CBC4D9", +"Z9 c #C5BCD4", +"`9 c #C2B8D3", +" 0 c #C0B4D1", +".0 c #BEB1D0", +"+0 c #B7ABC9", +"@0 c #B4A7C7", +"#0 c #AFA1C4", +"$0 c #AD9DC1", +"%0 c #A99AC0", +"&0 c #A28FBA", +"*0 c #9C8AB6", +"=0 c #9986B4", +"-0 c #9782B2", +";0 c #9581B2", +">0 c #8A74A5", +",0 c #7D6899", +"'0 c #7B6597", +")0 c #796397", +"!0 c #735C92", +"~0 c #725A91", +"{0 c #6D538A", +"]0 c #5F457A", +"^0 c #563D71", +"/0 c #573D71", +"(0 c #593F73", +"_0 c #5A4074", +":0 c #5A4174", +"<0 c #5C4275", +"[0 c #5D4377", +"}0 c #5F4477", +"|0 c #5F4679", +"10 c #62497C", +"20 c #644B7E", +"30 c #654C7E", +"40 c #664D7E", +"50 c #674E80", +"60 c #694F80", +"70 c #6B5384", +"80 c #6C5485", +"90 c #6B5383", +"00 c #67507D", +"a0 c #69507E", +"b0 c #6A5380", +"c0 c #6C5582", +"d0 c #715886", +"e0 c #725988", +"f0 c #745B88", +"g0 c #735987", +"h0 c #715987", +"i0 c #715887", +"j0 c #6D5483", +"k0 c #6D5482", +"l0 c #664D7C", +"m0 c #664C7C", +"n0 c #644C7B", +"o0 c #644B7A", +"p0 c #624A79", +"q0 c #624878", +"r0 c #614878", +"s0 c #604777", +"t0 c #5C4373", +"u0 c #5B4172", +"v0 c #5A4071", +"w0 c #583F70", +"x0 c #553C6D", +"y0 c #543A6B", +"z0 c #52386A", +"A0 c #513768", +"B0 c #4D3365", +"C0 c #4A3062", +"D0 c #482E60", +"E0 c #462C5E", +"F0 c #442A5D", +"G0 c #412659", +"H0 c #3F2557", +"I0 c #351B4D", +"J0 c #31184A", +"K0 c #2F1648", +"L0 c #2C1345", +"M0 c #270F3F", +"N0 c #260E3E", +"O0 c #4C3963", +"P0 c #64517D", +"Q0 c #73608F", +"R0 c #6D5989", +"S0 c #B3A8C3", +"T0 c #DFDAE7", +"U0 c #DCD6E5", +"V0 c #D9D4E3", +"W0 c #D6CFE0", +"X0 c #C9C1D5", +"Y0 c #C3BCD2", +"Z0 c #C1B8CE", +"`0 c #D0C9DD", +" a c #CAC2D8", +".a c #BEB3D0", +"+a c #BBAFCE", +"@a c #AFA2C5", +"#a c #AB9BC1", +"$a c #A897BE", +"%a c #A290BA", +"&a c #9E8DB7", +"*a c #9C8BB7", +"=a c #9A87B5", +"-a c #9883B3", +";a c #957FB1", +">a c #927DAF", +",a c #7C6798", +"'a c #796296", +")a c #776095", +"!a c #755E93", +"~a c #735B92", +"{a c #70578F", +"]a c #634A80", +"^a c #553C6F", +"/a c #573D72", +"(a c #583E73", +"_a c #593F74", +":a c #5A4075", +"b c #796396", +",b c #755E94", +"'b c #745C93", +")b c #745B93", +"!b c #6B5188", +"~b c #594075", +"{b c #53396D", +"]b c #563C71", +"^b c #583D72", +"/b c #593E73", +"(b c #5B4175", +"_b c #5E4378", +":b c #5F4579", +"c c #937EB0", +",c c #917CAE", +"'c c #8872A5", +")c c #786195", +"!c c #765E94", +"~c c #765D94", +"{c c #725991", +"]c c #61487E", +"^c c #53396E", +"/c c #52386D", +"(c c #553B70", +"_c c #553B71", +":c c #563C72", +"d c #BCB1CF", +",d c #BAAFCC", +"'d c #B3A7C6", +")d c #AFA2C3", +"!d c #AD9EC2", +"~d c #AB9BC0", +"{d c #A798BE", +"]d c #A595BC", +"^d c #A291BA", +"/d c #9F8DB8", +"(d c #9B8AB6", +"_d c #9886B3", +":d c #9782B1", +"e c #DDD6E6", +",e c #D7D0E1", +"'e c #CDC5D8", +")e c #D0C9DC", +"!e c #CCC4DA", +"~e c #C2B8D4", +"{e c #C0B6D1", +"]e c #BDB3CF", +"^e c #BBAFCD", +"/e c #B8ACCB", +"(e c #B1A5C4", +"_e c #A998BE", +":e c #A696BD", +"f c #AFA3C1", +",f c #AC9EC0", +"'f c #AA9BC0", +")f c #A797BD", +"!f c #A393BB", +"~f c #A190B9", +"{f c #9D8CB7", +"]f c #9885B2", +"^f c #937EAF", +"/f c #907CAD", +"(f c #8E78AC", +"_f c #8972A7", +":f c #5A4277", +"g c #AEA2BF", +",g c #E5DFEB", +"'g c #DED8E7", +")g c #CBC3D7", +"!g c #C4BCD2", +"~g c #D1C9DD", +"{g c #C7BFD7", +"]g c #BEB2D0", +"^g c #BBAECE", +"/g c #B8ACCC", +"(g c #B4A8C9", +"_g c #ACA0C0", +":g c #A99CBF", +"h c #87769E", +",h c #82719B", +"'h c #86759E", +")h c #D6D0E1", +"!h c #E2DDEA", +"~h c #DDD7E6", +"{h c #D3CCDE", +"]h c #CCC4D8", +"^h c #CAC2D7", +"/h c #C6BFD5", +"(h c #D3CCDF", +"_h c #CFC6DB", +":h c #C8C0D8", +"i c #25113B", +",i c #24113B", +"'i c #513E69", +")i c #7C6B94", +"!i c #8878A0", +"~i c #7F6E98", +"{i c #A99CBC", +"]i c #E5E0EC", +"^i c #DAD3E3", +"/i c #C4BCD3", +"(i c #CDC5DB", +"_i c #CBC2D9", +":i c #C5BBD5", +"j c #594771", +",j c #8C7BA3", +"'j c #87779F", +")j c #8676A0", +"!j c #E4DFEB", +"~j c #C7BFD5", +"{j c #CCC5D9", +"]j c #CFC7DC", +"^j c #C4B9D3", +"/j c #B4A7C9", +"(j c #AD9FC2", +"_j c #A699BC", +":j c #A495BA", +"k c #B5A8CA", +",k c #B2A5C7", +"'k c #AA9CC0", +")k c #A597BB", +"!k c #9F90B7", +"~k c #9885B3", +"{k c #9582B2", +"]k c #927EAF", +"^k c #907AAD", +"/k c #7F689F", +"(k c #664D86", +"_k c #5F457E", +":k c #4F366C", +"l c #7B659B", +",l c #644B84", +"'l c #644A84", +")l c #5E447D", +"!l c #50366B", +"~l c #50356C", +"{l c #51346E", +"]l c #52356E", +"^l c #563873", +"/l c #573A74", +"(l c #5A3C77", +"_l c #5B3D78", +":l c #5C3E79", +"m c #583A74", +",m c #5B3C78", +"'m c #5D3E7A", +")m c #5E3F7B", +"!m c #5F407B", +"~m c #60417D", +"{m c #61427D", +"]m c #62437E", +"^m c #63447F", +"/m c #63457F", +"(m c #644581", +"_m c #654681", +":m c #654680", +"n c #5D3D7A", +",n c #5E3E7B", +"'n c #5F3F7B", +")n c #5F407C", +"!n c #61427E", +"~n c #62427E", +"{n c #644580", +"]n c #644681", +"^n c #654682", +"/n c #61437C", +"(n c #66467F", +"_n c #684981", +":n c #664781", +"o c #60417A", +",o c #63437D", +"'o c #674781", +")o c #664681", +"!o c #62427C", +"~o c #61417B", +"{o c #60407B", +"]o c #5D3E79", +"^o c #5B3B76", +"/o c #5A3B75", +"(o c #593A74", +"_o c #573772", +":o c #563771", +"p c #462862", +",p c #43255E", +"'p c #41235D", +")p c #40225C", +"!p c #3F215B", +"~p c #3C1F57", +"{p c #3B1E55", +"]p c #2E1847", +"^p c #2A1543", +"/p c #614F78", +"(p c #9B8DB0", +"_p c #9888AD", +":p c #998AB0", +"

q c #CEC5D9", +",q c #C7BED5", +"'q c #D6CFE1", +")q c #D0C7DD", +"!q c #C5BCD6", +"~q c #C2B9D4", +"{q c #BCB0CF", +"]q c #B3A6C8", +"^q c #AC9DC4", +"/q c #9F8EB7", +"(q c #9C8BB5", +"_q c #9A8AB5", +":q c #907FAB", +"r c #644E82", +",r c #644C83", +"'r c #654A84", +")r c #614681", +"!r c #52396F", +"~r c #50326F", +"{r c #513270", +"]r c #513170", +"^r c #563775", +"/r c #593877", +"(r c #5A3978", +"_r c #5B3B7A", +":r c #5C3C7A", +"s c #5E3D7A", +",s c #5D3C7A", +"'s c #5D3B79", +")s c #5C3B79", +"!s c #5B3A78", +"~s c #5A3976", +"{s c #593876", +"]s c #563673", +"^s c #553470", +"/s c #543370", +"(s c #52316F", +"_s c #51316E", +":s c #51316D", +"t c #43245F", +",t c #42235E", +"'t c #41225C", +")t c #40215B", +"!t c #3C2059", +"~t c #351D4F", +"{t c #2C1744", +"]t c #28143F", +"^t c #23113A", +"/t c #594672", +"(t c #9C8EB0", +"_t c #A396B6", +":t c #A295B6", +"u c #AD9EC5", +",u c #A593BF", +"'u c #7E6A9B", +")u c #6D5889", +"!u c #6F5B8C", +"~u c #6C5789", +"{u c #6B5588", +"]u c #685186", +"^u c #665085", +"/u c #654E84", +"(u c #644C82", +"_u c #624B81", +":u c #5D437B", +"v c #5B397B", +",v c #5B3B7C", +"'v c #5E3C7E", +")v c #5F3D7F", +"!v c #624082", +"~v c #654183", +"{v c #5F3C7C", +"]v c #644080", +"^v c #603D7D", +"/v c #5F3C7D", +"(v c #5D3A7A", +"_v c #5C397A", +":v c #5C3978", +"w c #522F6F", +",w c #4F2D6C", +"'w c #4E2C6B", +")w c #4D2B6A", +"!w c #4C2B6A", +"~w c #4B2A69", +"{w c #4A2968", +"]w c #482866", +"^w c #472865", +"/w c #442461", +"(w c #3C2257", +"_w c #3B2156", +":w c #331C4D", +"x c #D3CBE0", +",x c #D1C8DF", +"'x c #CAC1DA", +")x c #C4B9D6", +"!x c #C1B5D4", +"~x c #BEB1D1", +"{x c #BAADCF", +"]x c #B7A9CC", +"^x c #B3A5C9", +"/x c #AF9FC7", +"(x c #7D689B", +"_x c #7D699C", +":x c #7D679C", +"y c #6D568B", +",y c #6B5389", +"'y c #695187", +")y c #674E85", +"!y c #664C84", +"~y c #60477F", +"{y c #543C71", +"]y c #533A70", +"^y c #52386F", +"/y c #553774", +"(y c #543673", +"_y c #543574", +":y c #553474", +"z c #816CA0", +",z c #7A6496", +"'z c #766091", +")z c #765E91", +"!z c #725B8E", +"~z c #71598D", +"{z c #70578D", +"]z c #6E568C", +"^z c #6D548B", +"/z c #6C538A", +"(z c #6B5289", +"_z c #6B518A", +":z c #674D85", +"A c #3A2353", +",A c #372050", +"'A c #36204F", +")A c #361F4E", +"!A c #351F4D", +"~A c #341E4C", +"{A c #331D4A", +"]A c #321C4A", +"^A c #301B49", +"/A c #2F1A48", +"(A c #2F1A46", +"_A c #2D1945", +":A c #2A1641", +"B c #74528F", +",B c #745190", +"'B c #73508F", +")B c #72508F", +"!B c #704E8C", +"~B c #704D8B", +"{B c #6F4D8C", +"]B c #6F4D8B", +"^B c #6E4D8A", +"/B c #6E4C8A", +"(B c #6D4B89", +"_B c #6C4B89", +":B c #6C4A89", +"C c #674E82", +",C c #694D85", +"'C c #6A4D86", +")C c #6B4D86", +"!C c #6C4D88", +"~C c #6B4D87", +"{C c #6D4E88", +"]C c #6D4F89", +"^C c #6D508A", +"/C c #6E508B", +"(C c #6F518C", +"_C c #70518C", +":C c #71528C", +"D c #402957", +",D c #3E2856", +"'D c #3C2754", +")D c #3A2552", +"!D c #392450", +"~D c #38234F", +"{D c #35204C", +"]D c #331E4A", +"^D c #311D48", +"/D c #2D1843", +"(D c #2B1940", +"_D c #29183F", +":D c #28163F", +"E c #7F619A", +",E c #7E6199", +"'E c #7E6098", +")E c #7E5F97", +"!E c #7D5E97", +"~E c #7D5F96", +"{E c #7C5E96", +"]E c #7C5D95", +"^E c #7B5D95", +"/E c #7C5D94", +"(E c #7B5D94", +"_E c #7A5D93", +":E c #795B92", +"F c #796391", +",F c #796292", +"'F c #7B6293", +")F c #7C6295", +"!F c #7D6295", +"~F c #7D6396", +"{F c #7D6297", +"]F c #7D6397", +"^F c #7E6397", +"/F c #7E6498", +"(F c #806498", +"_F c #806499", +":F c #806599", +"G c #5D4873", +",G c #5C4673", +"'G c #543F6A", +")G c #533D68", +"!G c #513C66", +"~G c #4E3965", +"{G c #4C3763", +"]G c #4A3561", +"^G c #48335E", +"/G c #45315C", +"(G c #432F59", +"_G c #402C57", +":G c #3C2752", +"H c #967AAB", +",H c #957AAA", +"'H c #9579AA", +")H c #9479AA", +"!H c #9378A9", +"~H c #9278A8", +"{H c #9277A8", +"]H c #9177A8", +"^H c #9177A7", +"/H c #9077A6", +"(H c #9076A5", +"_H c #8F75A6", +":H c #8F75A5", +"I c #907CA5", +",I c #927CA7", +"'I c #927DA8", +")I c #937DA9", +"!I c #937DA8", +"~I c #947DA9", +"{I c #947EAA", +"]I c #957EAA", +"^I c #9580AB", +"/I c #9780AC", +"(I c #9781AC", +"_I c #9781AD", +":I c #9981AD", +"J c #7B678F", +",J c #79658D", +"'J c #77638C", +")J c #76638A", +"!J c #746188", +"~J c #726087", +"{J c #715E85", +"]J c #705D83", +"^J c #6E5B82", +"/J c #6D5A81", +"(J c #6C5980", +"_J c #6B587E", +":J c #68567C", +"K c #A792BA", +",K c #A892BA", +"'K c #A893BB", +")K c #A993BB", +"!K c #A993BC", +"~K c #A893BA", +"{K c #A691B8", +"]K c #A590B7", +"^K c #A48FB7", +"/K c #A48FB6", +"(K c #A38FB6", +"_K c #A38FB5", +":K c #A38EB5", +"L c #ECE8EF", +",L c #EFEBF1", +"'L c #F2EFF3", +")L c #F6F4F7", +"!L c #FAF9FA", +"~L c #FEFEFD", +"{L c #FFFFFF", +"]L c #FEFFFF", +"^L c #FDFEFD", +"/L c #FCFBFC", +"(L c #FAFAFB", +"_L c #F9F7F9", +":L c #F7F6F8", +"M c #69597B", +",M c #615173", +"'M c #59486C", +")M c #513F65", +"!M c #47365A", +"~M c #3E2E51", +"{M c #39294D", +"]M c #2A1840", +"^M c #65517D", +"/M c #ACA1BC", +"(M c #C0B7CD", +"_M c #2F1E44", +":M c #26133C", +"N c #9F8CB0", +",N c #9D8BAF", +"'N c #9D8AAE", +")N c #9C8AAE", +"!N c #9B88AD", +"~N c #9A87AC", +"{N c #9986AB", +"]N c #9481A6", +"^N c #9380A5", +"/N c #927FA5", +"(N c #8C799E", +"_N c #8A789D", +":N c #8A789C", +"O c #C2B3CF", +",O c #B6A3C5", +"'O c #9C84B0", +")O c #9983AC", +"!O c #9882AB", +"~O c #9782AB", +"{O c #9781AB", +"]O c #9781AA", +"^O c #937EA7", +"/O c #937EA6", +"(O c #917DA5", +"_O c #907BA4", +":O c #8C78A0", +"P c #997EB1", +",P c #9A7EB1", +"'P c #9A7FB1", +")P c #9A7FB2", +"!P c #9B7FB2", +"~P c #9B7FB3", +"{P c #9B80B3", +"]P c #9C80B3", +"^P c #987CAE", +"/P c #997DB1", +"(P c #9A7DB1", +"_P c #997CB0", +":P c #977AAE", +"

Q c #81689A", +",Q c #81689B", +"'Q c #82689B", +")Q c #826A9C", +"!Q c #836A9C", +"~Q c #836A9D", +"{Q c #846B9D", +"]Q c #846B9E", +"^Q c #856B9E", +"/Q c #856C9F", +"(Q c #866CA0", +"_Q c #876CA1", +":Q c #876DA1", +"R c #432C5A", +",R c #402A57", +"'R c #3D2754", +")R c #3B2452", +"!R c #331F48", +"~R c #2E1C43", +"{R c #2C1B42", +"]R c #29173F", +"^R c #C3BACF", +"/R c #CBC1D9", +"(R c #DED8E9", +"_R c #DDD5E6", +":R c #D0C6DC", +"S c #7B5E95", +",S c #7A5D94", +"'S c #795C92", +")S c #785C92", +"!S c #775B91", +"~S c #775B90", +"{S c #765B8F", +"]S c #76598F", +"^S c #75598F", +"/S c #74598E", +"(S c #74588D", +"_S c #71568B", +":S c #71568A", +"T c #7C5A9A", +",T c #7D5A9B", +"'T c #7D5B9B", +")T c #7D5C9B", +"!T c #7E5C9B", +"~T c #7E5C9C", +"{T c #7F5C9C", +"]T c #7F5C9D", +"^T c #805C9E", +"/T c #815D9E", +"(T c #815D9F", +"_T c #815E9F", +":T c #815EA0", +"U c #755893", +",U c #6F528A", +"'U c #6F528B", +")U c #6E528C", +"!U c #6E528B", +"~U c #6F518B", +"{U c #6E4F8B", +"]U c #6E4F8C", +"^U c #6F508C", +"/U c #6F508D", +"(U c #6F508E", +"_U c #70518E", +":U c #70518F", +"V c #D6CCE1", +",V c #C4B6D5", +"'V c #CCC0DA", +")V c #D3C9DF", +"!V c #CCC0DB", +"~V c #C2B4D4", +"{V c #A38FBA", +"]V c #A08CB9", +"^V c #927AAE", +"/V c #8F77AC", +"(V c #8D75AA", +"_V c #8B72A8", +":V c #8970A7", +"W c #8F77AA", +",W c #8C74A9", +"'W c #8A72A8", +")W c #886DA5", +"!W c #7D629A", +"~W c #7C6099", +"{W c #7B5F99", +"]W c #7A5E99", +"^W c #795E99", +"/W c #735790", +"(W c #71558E", +"_W c #72558D", +":W c #72548D", +"X c #9E8AB8", +",X c #9D88B6", +"'X c #9A85B5", +")X c #9881B3", +"!X c #967FB1", +"~X c #8D75AB", +"{X c #8C73AA", +"]X c #8C72A9", +"^X c #856DA0", +"/X c #81699D", +"(X c #80669D", +"_X c #80659C", +":X c #7F659C", +"Y c #6B4E88", +",Y c #6A4E87", +"'Y c #694D86", +")Y c #664A84", +"!Y c #573E71", +"~Y c #563C70", +"{Y c #543A6C", +"]Y c #432B5C", +"^Y c #402859", +"/Y c #3D2657", +"(Y c #847399", +"_Y c #C8BFD2", +":Y c #DED6E9", +"Z c #7C6096", +",Z c #7B5F95", +"'Z c #7B5F94", +")Z c #7A5E93", +"!Z c #785D92", +"~Z c #785B91", +"{Z c #775A90", +"]Z c #755A90", +"^Z c #755A8F", +"/Z c #73578C", +"(Z c #72568C", +"_Z c #72568B", +":Z c #705589", +"` c #9679B0", +",` c #9478AE", +"'` c #9A80B3", +")` c #A991BD", +"!` c #A991BE", +"~` c #A992BE", +"{` c #A992BD", +"]` c #A993BE", +"^` c #AA93BE", +"/` c #A994BD", +"(` c #9478AB", +"_` c #9075A8", +":` c #9074A8", +"<` c #8F74A7", +"[` c #8F73A7", +"}` c #8E73A6", +"|` c #8C71A4", +"1` c #8B70A3", +"2` c #8B70A2", +"3` c #8A6FA2", +"4` c #896EA1", +"5` c #886DA1", +"6` c #886D9F", +"7` c #876D9F", +"8` c #866B9D", +"9` c #83699C", +"0` c #83689A", +"a` c #826899", +"b` c #7E6596", +"c` c #7C6294", +"d` c #7A6092", +"e` c #7A5F92", +"f` c #795F91", +"g` c #7D6398", +"h` c #7C6297", +"i` c #7B6196", +"j` c #7B6096", +"k` c #7A6095", +"l` c #7A6094", +"m` c #775E92", +"n` c #775C91", +"o` c #775D91", +"p` c #755B90", +"q` c #72598C", +"r` c #6D5485", +"s` c #68507F", +"t` c #644D7C", +"u` c #614A79", +"v` c #5E4877", +"w` c #584170", +"x` c #533B6B", +"y` c #4B3364", +"z` c #483060", +"A` c #452E5E", +"B` c #402959", +"C` c #36224C", +"D` c #311F46", +"E` c #9C8EAD", +"F` c #E2DAEB", +"G` c #CEC3DB", +"H` c #CABDD9", +"I` c #D7CDE3", +"J` c #D4CAE2", +"K` c #B19FC6", +"L` c #AF9EC4", +"M` c #AB99C2", +"N` c #A894BF", +"O` c #A590BC", +"P` c #A38EBB", +"Q` c #A08AB9", +"R` c #9883B0", +"S` c #9882AF", +"T` c #9782AF", +"U` c #9881B0", +"V` c #9781B0", +"W` c #9881B1", +"X` c #9981B1", +"Y` c #9880AF", +"Z` c #927BA8", +"`` c #917BA8", +" . c #937DAA", +". . c #937CAA", +"+ . c #947CAA", +"@ . c #947DAB", +"# . c #957DAB", +"$ . c #957DAC", +"% . c #967EAC", +"& . c #977FAD", +"* . c #9680AD", +"= . c #9880AE", +"- . c #9980AF", +"; . c #9981B0", +"> . c #9A82B1", +", . c #9A82B2", +"' . c #9B82B2", +") . c #9C83B2", +"! . c #9C84B3", +"~ . c #9D85B4", +"{ . c #9E85B4", +"] . c #9F85B4", +"^ . c #9F86B4", +"/ . c #9F86B5", +"( . c #A086B6", +"_ . c #A087B6", +": . c #A087B7", +"< . c #A087B8", +"[ . c #A187B8", +"} . c #A188B8", +"| . c #A288B9", +"1 . c #A288BA", +"2 . c #A388BA", +"3 . c #A389BB", +"4 . c #A086B7", +"5 . c #9F85B6", +"6 . c #A58CBB", +"7 . c #B29CC5", +"8 . c #B19BC4", +"9 . c #B19CC4", +"0 . c #B29CC4", +"a . c #B19CC3", +"b . c #B19DC3", +"c . c #B19DC2", +"d . c #B09CC1", +"e . c #9E86B4", +"f . c #9A81B1", +"g . c #9980AE", +"h . c #987FAE", +"i . c #977FAE", +"j . c #977EAD", +"k . c #967DAC", +"l . c #947CAB", +"m . c #937BA9", +"n . c #937AA9", +"o . c #9279A8", +"p . c #9179A7", +"q . c #9178A7", +"r . c #8E75A3", +"s . c #8D74A2", +"t . c #8C73A2", +"u . c #8A72A1", +"v . c #8A729F", +"w . c #88709E", +"x . c #866D9C", +"y . c #856C9B", +"z . c #846B9A", +"A . c #836B99", +"B . c #8870A0", +"C . c #8870A1", +"D . c #876E9F", +"E . c #866E9F", +"F . c #856E9F", +"G . c #856C9E", +"H . c #836B9C", +"I . c #836A9B", +"J . c #81699A", +"K . c #7F6798", +"L . c #796192", +"M . c #6E5985", +"N . c #68527E", +"O . c #664F7C", +"P . c #5D4674", +"Q . c #5A4372", +"R . c #513A69", +"S . c #4D3665", +"T . c #47305F", +"U . c #39264F", +"V . c #332248", +"W . c #312047", +"X . c #9C8FAE", +"Y . c #CAC2D5", +"Z . c #C7BFD2", +"` . c #E3DCEB", +" .. c #DAD1E6", +"... c #D1C7DE", +"+.. c #C6BAD4", +"@.. c #C3B7D3", +"#.. c #C2B5D2", +"$.. c #C0B3D1", +"%.. c #B6A6CA", +"&.. c #B5A3C9", +"*.. c #B3A2C8", +"=.. c #A995BE", +"-.. c #A794BD", +";.. c #A28EB7", +">.. c #A18EB6", +",.. c #A18DB6", +"'.. c #A18DB7", +").. c #A18DB8", +"!.. c #A28EB8", +"~.. c #A28DB8", +"{.. c #A28EB9", +"].. c #9E89B2", +"^.. c #9D88B2", +"/.. c #9F8BB4", +"(.. c #A18BB5", +"_.. c #A08BB5", +":.. c #A18CB5", +"<.. c #AB95C0", +"[.. c #AC96C1", +"}.. c #AD96C1", +"|.. c #AD96C2", +"1.. c #AD97C2", +"2.. c #AE97C2", +"3.. c #AE97C3", +"4.. c #AE98C3", +"5.. c #AF98C3", +"6.. c #AC95C1", +"7.. c #AC95C0", +"8.. c #AC94C0", +"9.. c #AB94C0", +"0.. c #AF99C2", +"a.. c #BAA7CB", +"b.. c #B9A7CA", +"c.. c #B9A7CB", +"d.. c #BAA7CA", +"e.. c #BAA8CA", +"f.. c #BAA7C9", +"g.. c #B9A8C9", +"h.. c #B9A7C9", +"i.. c #B8A6C7", +"j.. c #A58FB9", +"k.. c #A48EB7", +"l.. c #A28CB6", +"m.. c #A08AB3", +"n.. c #9E88B1", +"o.. c #9D87B0", +"p.. c #9C86B0", +"q.. c #9C85AF", +"r.. c #9A84AE", +"s.. c #9A84AD", +"t.. c #9882AC", +"u.. c #9780AA", +"v.. c #9680A9", +"w.. c #957FA8", +"x.. c #947EA7", +"y.. c #937DA7", +"z.. c #907AA4", +"A.. c #8F7AA4", +"B.. c #8E78A2", +"C.. c #8D77A1", +"D.. c #927CA8", +"E.. c #917BA7", +"F.. c #907AA7", +"G.. c #8E78A5", +"H.. c #8D77A4", +"I.. c #8C75A2", +"J.. c #8A74A0", +"K.. c #8974A0", +"L.. c #88729F", +"M.. c #86709E", +"N.. c #856F9D", +"O.. c #856E9C", +"P.. c #806997", +"Q.. c #745F89", +"R.. c #705C85", +"S.. c #6E5984", +"T.. c #654F7B", +"U.. c #614C78", +"V.. c #5A4472", +"W.. c #4F3867", +"X.. c #4B3463", +"Y.. c #483160", +"Z.. c #3C2A52", +"`.. c #35254A", +" +. c #29163F", +".+. c #CEC6D7", +"++. c #CFC6DA", +"@+. c #D4CBE0", +"#+. c #DBD3E6", +"$+. c #C6BAD5", +"%+. c #C5B9D5", +"&+. c #C3B5D2", +"*+. c #BDADCF", +"=+. c #B5A5C8", +"-+. c #B09EC4", +";+. c #AA99BE", +">+. c #A997BC", +",+. c #A998BD", +"'+. c #AA97BD", +")+. c #AA98BE", +"!+. c #AB98BE", +"~+. c #AB98BF", +"{+. c #AC9AC0", +"]+. c #A996BB", +"^+. c #A795B9", +"/+. c #A895BA", +"(+. c #A896BA", +"_+. c #A896BB", +":+. c #AA98BC", +"<+. c #AB98BD", +"[+. c #AB99BD", +"}+. c #AC9ABE", +"|+. c #AD9BBF", +"1+. c #AE9BC0", +"2+. c #AF9CC0", +"3+. c #AF9DC1", +"4+. c #B09DC1", +"5+. c #B09EC2", +"6+. c #B19EC2", +"7+. c #B29FC3", +"8+. c #B29FC4", +"9+. c #B29FC5", +"0+. c #B3A0C5", +"a+. c #B39FC5", +"b+. c #B4A1C6", +"c+. c #B4A2C6", +"d+. c #B4A2C7", +"e+. c #B5A2C7", +"f+. c #B5A2C8", +"g+. c #B6A2C8", +"h+. c #B6A3C8", +"i+. c #B6A3C9", +"j+. c #B7A3C9", +"k+. c #B7A3CA", +"l+. c #B7A4CA", +"m+. c #B8A4CA", +"n+. c #B8A4CB", +"o+. c #B8A5CC", +"p+. c #B6A2C9", +"q+. c #B7A2C8", +"r+. c #B7A2C9", +"s+. c #B8A4C9", +"t+. c #C1B1D1", +"u+. c #C1B2D1", +"v+. c #C2B2D1", +"w+. c #C3B2D1", +"x+. c #C2B3D0", +"y+. c #C2B2D0", +"z+. c #C3B3D0", +"A+. c #BFAFCE", +"B+. c #B3A0C4", +"C+. c #B2A0C4", +"D+. c #B2A0C3", +"E+. c #B19FC3", +"F+. c #B19EC3", +"G+. c #AE9BBF", +"H+. c #AD9ABE", +"I+. c #AC98BD", +"J+. c #AA97BB", +"K+. c #A894B9", +"L+. c #A793B9", +"M+. c #A593B8", +"N+. c #A591B7", +"O+. c #A591B6", +"P+. c #A490B5", +"Q+. c #A28FB5", +"R+. c #A18EB3", +"S+. c #A08DB2", +"T+. c #9F8BB1", +"U+. c #9E8AB0", +"V+. c #9D8AAF", +"W+. c #9C89AE", +"X+. c #9B88AE", +"Y+. c #9783A9", +"Z+. c #9A86AE", +"`+. c #9C88B1", +" @. c #937EA9", +".@. c #8F7BA5", +"+@. c #8E79A3", +"@@. c #8A75A0", +"#@. c #7C6892", +"$@. c #756289", +"%@. c #6B5780", +"&@. c #634F79", +"*@. c #5F4B76", +"=@. c #57416E", +"-@. c #533D6A", +";@. c #4F3866", +">@. c #3F2C55", +",@. c #36264B", +"'@. c #9E90B0", +")@. c #E0D9E8", +"!@. c #E4DFEE", +"~@. c #DED7E6", +"{@. c #DFD8E7", +"]@. c #DFDAE8", +"^@. c #E2DCE9", +"/@. c #E2DDE9", +"(@. c #E2DCEA", +"_@. c #E2DBEA", +":@. c #E2DAE8", +"<@. c #E2DBE9", +"[@. c #E1DAE7", +"}@. c #E7E1ED", +"|@. c #E8E1EE", +"1@. c #E8E2EE", +"2@. c #E9E4EE", +"3@. c #E9E4ED", +"4@. c #EBE5EE", +"5@. c #EBE7EF", +"6@. c #ECEAF1", +"7@. c #F0EEF3", +"8@. c #F1EFF4", +"9@. c #F4F2F6", +"0@. c #F5F2F6", +"a@. c #F6F4F8", +"b@. c #F7F4F8", +"c@. c #F7F5F9", +"d@. c #F8F6F8", +"e@. c #F9F8FA", +"f@. c #FBFBFC", +"g@. c #FCFCFD", +"h@. c #FEFEFE", +"i@. c #FEFFFE", +"j@. c #FEFDFE", +"k@. c #FBFAFB", +"l@. c #FAF8FB", +"m@. c #F9F7FB", +"n@. c #F9F7FA", +"o@. c #F8F6F9", +"p@. c #F8F6FA", +"q@. c #F7F4F9", +"r@. c #F5F3F8", +"s@. c #F6F4F9", +"t@. c #F6F3F8", +"u@. c #F6F2F8", +"v@. c #F5F2F8", +"w@. c #F5F1F7", +"x@. c #F4F0F7", +"y@. c #F4F0F6", +"z@. c #F2EEF5", +"A@. c #F2EEF4", +"B@. c #F2EDF4", +"C@. c #F1EDF5", +"D@. c #EEEAF3", +"E@. c #ECE8F1", +"F@. c #ECE8F0", +"G@. c #EBE7F0", +"H@. c #EBE6F0", +"I@. c #E9E4EF", +"J@. c #E8E3EE", +"K@. c #E9E3EE", +"L@. c #E8E2ED", +"M@. c #E7E1EC", +"N@. c #E7E0EB", +"O@. c #E4DFEA", +"P@. c #E2DCE7", +"Q@. c #DED9E6", +"R@. c #DED7E3", +"S@. c #DDD6E4", +"T@. c #DCD5E3", +"U@. c #DCD5E1", +"V@. c #DCD4E2", +"W@. c #D7CFDE", +"X@. c #D8CFDF", +"Y@. c #D8D0E1", +"Z@. c #D7CEE0", +"`@. c #D6CEDE", +" #. c #D4CBDD", +".#. c #D3CADC", +"+#. c #D1C8DC", +"@#. c #D0C7DA", +"##. c #CFC5D9", +"$#. c #CEC4D8", +"%#. c #C3B9CF", +"&#. c #BDB2C9", +"*#. c #BAAEC6", +"=#. c #B6A9C3", +"-#. c #B1A4C0", +";#. c #A598B5", +">#. c #9E8FAD", +",#. c #817193", +"'#. c #7A698C", +")#. c #6C5981", +"!#. c #503E64", +"~#. c #443457", +"{#. c #3F2E53", +"]#. c #34234A", +"^#. c #705C89", +"/#. c #9F91B1", +"(#. c #E8E4F0", +"_#. c #E5E0EE", +":#. c #E7E3EE", +"<#. c #E3DCEA", +"[#. c #E4E1EC", +"}#. c #E6E1EB", +"|#. c #E6E1EC", +"1#. c #E5DFED", +"2#. c #E3DCE8", +"3#. c #E3DEEA", +"4#. c #E6E0EB", +"5#. c #E7E2ED", +"6#. c #DFDAE6", +"7#. c #DED7E5", +"8#. c #DDD6E2", +"9#. c #DDD5E3", +"0#. c #DAD3E2", +"a#. c #D9D2E0", +"b#. c #DAD2E1", +"c#. c #DBD3E3", +"d#. c #DAD2E2", +"e#. c #D8D1E1", +"f#. c #D8D0E0", +"g#. c #D8CFE0", +"h#. c #D6CEE0", +"i#. c #D5CDDE", +"j#. c #D5CCDD", +"k#. c #D1C8DB", +"l#. c #CFC6D9", +"m#. c #CBC2D5", +"n#. c #C5BBD0", +"o#. c #C2B7CD", +"p#. c #BEB2C9", +"q#. c #B9ADC6", +"r#. c #B6A8C3", +"s#. c #AFA2BE", +"t#. c #8F809E", +"u#. c #877898", +"v#. c #69567D", +"w#. c #624E77", +"x#. c #534167", +"y#. c #463759", +"z#. c #413055", +"A#. c #35244B", +"B#. c #715D8A", +"C#. c #D0C9DA", +"D#. c #D2C9DC", +"E#. c #E7E3EF", +"F#. c #E4DFED", +"G#. c #DED7E7", +"H#. c #E0DCE9", +"I#. c #E1DAE8", +"J#. c #E4DCEA", +"K#. c #E0DAE7", +"L#. c #DCD4E1", +"M#. c #DBD3E2", +"N#. c #D7CEDF", +"O#. c #D8CFE1", +"P#. c #D7CFE0", +"Q#. c #D6CEDF", +"R#. c #D3C9DC", +"S#. c #D2C8DB", +"T#. c #D0C7DB", +"U#. c #CDC2D7", +"V#. c #C7BCD2", +"W#. c #B4A7C1", +"X#. c #B0A2BF", +"Y#. c #AC9DBB", +"Z#. c #A798B7", +"`#. c #9888A8", +" $. c #8F7E9E", +".$. c #877797", +"+$. c #807092", +"@$. c #6C5880", +"#$. c #655179", +"$$. c #5E4A74", +"%$. c #513E65", +"&$. c #443557", +"*$. c #725E8B", +"=$. c #A193B2", +"-$. c #CAC1D5", +";$. c #DDD6E8", +">$. c #D1C8DE", +",$. c #CDC2DB", +"'$. c #CEC2DC", +")$. c #CABED8", +"!$. c #C3B6D3", +"~$. c #C1B4D2", +"{$. c #C0B2D1", +"]$. c #BAACCE", +"^$. c #B4A2C8", +"/$. c #B2A0C6", +"($. c #AE9CC4", +"_$. c #AD9CC4", +":$. c #A997BD", +"<$. c #A896BD", +"[$. c #A896BC", +"}$. c #A996BE", +"|$. c #AA96BF", +"1$. c #AB97BF", +"2$. c #A794BB", +"3$. c #A692B9", +"4$. c #A793BA", +"5$. c #A894BC", +"6$. c #A995BC", +"7$. c #A995BD", +"8$. c #AB97BE", +"9$. c #AC98BF", +"0$. c #AD99C0", +"a$. c #AD99C1", +"b$. c #AE99C0", +"c$. c #AE9AC1", +"d$. c #AF9BC2", +"e$. c #B09BC2", +"f$. c #B09BC3", +"g$. c #B09CC3", +"h$. c #B09CC4", +"i$. c #B19DC4", +"j$. c #B19DC5", +"k$. c #B19DC6", +"l$. c #B29DC6", +"m$. c #B29EC6", +"n$. c #B29EC7", +"o$. c #B39EC7", +"p$. c #B49EC7", +"q$. c #B49EC8", +"r$. c #B49FC9", +"s$. c #B59FC9", +"t$. c #B5A0C9", +"u$. c #B6A0C9", +"v$. c #B5A0CA", +"w$. c #B6A0CA", +"x$. c #B7A0CA", +"y$. c #B7A1CA", +"z$. c #BAA6CB", +"A$. c #BDA9CD", +"B$. c #BCA9CD", +"C$. c #BCA9CE", +"D$. c #BDA9CE", +"E$. c #BDAACD", +"F$. c #BDABCD", +"G$. c #BCABCD", +"H$. c #BCAACD", +"I$. c #BCAACC", +"J$. c #AE99BF", +"K$. c #AD98BF", +"L$. c #AC97BE", +"M$. c #AC97BD", +"N$. c #AB97BD", +"O$. c #AA96BD", +"P$. c #AA96BC", +"Q$. c #A994BB", +"R$. c #A894BB", +"S$. c #A28EB5", +"T$. c #A18DB4", +"U$. c #9E89B1", +"V$. c #9C88AF", +"W$. c #9A85AD", +"X$. c #9984AC", +"Y$. c #9883AB", +"Z$. c #9782AA", +"`$. c #9C87B1", +" %. c #9984AF", +".%. c #9883AE", +"+%. c #9681AB", +"@%. c #907AA6", +"#%. c #8E79A5", +"$%. c #8A75A2", +"%%. c #88739F", +"&%. c #86719E", +"*%. c #846E9C", +"=%. c #826C99", +"-%. c #806A97", +";%. c #7E6897", +">%. c #604A76", +",%. c #594370", +"'%. c #553F6D", +")%. c #38274E", +"!%. c #301E46", +"~%. c #735F8C", +"{%. c #A194B3", +"]%. c #DBD3E7", +"^%. c #CEC4DD", +"/%. c #CCC2DB", +"(%. c #C7BBD6", +"_%. c #C3B5D3", +":%. c #B9A9CD", +"<%. c #B7A6CA", +"[%. c #B5A5CA", +"}%. c #B19FC7", +"|%. c #B09DC6", +"1%. c #AD9AC3", +"2%. c #AC98C1", +"3%. c #AA96C0", +"4%. c #A894C0", +"5%. c #A793C0", +"6%. c #A793BF", +"7%. c #A38EBA", +"8%. c #A28DB7", +"9%. c #A28DB9", +"0%. c #A38DB9", +"a%. c #A48DBA", +"b%. c #A18BB7", +"c%. c #9D87B3", +"d%. c #9E88B3", +"e%. c #9E89B4", +"f%. c #A18AB5", +"g%. c #A18AB6", +"h%. c #A28BB6", +"i%. c #A28BB8", +"j%. c #A38CB8", +"k%. c #A48DB9", +"l%. c #A58EB9", +"m%. c #A58EBA", +"n%. c #A68EBB", +"o%. c #A68FBB", +"p%. c #A790BC", +"q%. c #A890BD", +"r%. c #A891BD", +"s%. c #A891BE", +"t%. c #A892BE", +"u%. c #AA92BF", +"v%. c #AA92C0", +"w%. c #AA93C0", +"x%. c #AB93C0", +"y%. c #AB93C1", +"z%. c #AB94C1", +"A%. c #AB94C2", +"B%. c #AC94C2", +"C%. c #AD94C2", +"D%. c #AD95C2", +"E%. c #AD95C3", +"F%. c #AE95C3", +"G%. c #AE95C4", +"H%. c #AE96C4", +"I%. c #AF96C4", +"J%. c #AF97C4", +"K%. c #AC94C1", +"L%. c #B39DC7", +"M%. c #B49DC7", +"N%. c #B49EC6", +"O%. c #B39EC6", +"P%. c #B49FC6", +"Q%. c #A78FBC", +"R%. c #A78FBB", +"S%. c #A48EBA", +"T%. c #A48EB9", +"U%. c #A28BB7", +"V%. c #A28AB6", +"W%. c #9B84B1", +"X%. c #9B83B0", +"Y%. c #9981AE", +"Z%. c #967FAC", +"`%. c #957EAB", +" &. c #957DAA", +".&. c #947CA8", +"+&. c #9179A5", +"@&. c #9079A5", +"#&. c #8F78A4", +"$&. c #8F78A5", +"%&. c #8F79A8", +"&&. c #8F79A7", +"*&. c #8F78A6", +"=&. c #8B75A3", +"-&. c #8B74A3", +";&. c #8872A1", +">&. c #88719F", +",&. c #866E9E", +"'&. c #836D9C", +")&. c #806999", +"!&. c #7D6595", +"~&. c #7B6395", +"{&. c #7A6294", +"]&. c #796293", +"^&. c #654E7D", +"/&. c #563E6E", +"(&. c #4F3767", +"_&. c #4D3465", +":&. c #432D59", +"<&. c #37264C", +"[&. c #34234B", +"}&. c #DAD0E6", +"|&. c #C9BED8", +"1&. c #C9BCD9", +"2&. c #C6BAD3", +"3&. c #C8BCD6", +"4&. c #C5B9D3", +"5&. c #B7A6CB", +"6&. c #B4A3C8", +"7&. c #AF9CC4", +"8&. c #AD9AC4", +"9&. c #AC97C2", +"0&. c #AA95C1", +"a&. c #A893C0", +"b&. c #A591BE", +"c&. c #A48FBC", +"d&. c #A28DBB", +"e&. c #A18BBA", +"f&. c #A089B9", +"g&. c #9F89B9", +"h&. c #9F88B9", +"i&. c #9C85B5", +"j&. c #9982B0", +"k&. c #9982B1", +"l&. c #9882B1", +"m&. c #9882B2", +"n&. c #9982B2", +"o&. c #9981B2", +"p&. c #9A81B2", +"q&. c #9A81B3", +"r&. c #987FB2", +"s&. c #947BAC", +"t&. c #947CAD", +"u&. c #957CAD", +"v&. c #977EAF", +"w&. c #997EB0", +"x&. c #997FB1", +"y&. c #9A80B1", +"z&. c #9D82B5", +"A&. c #9D83B5", +"B&. c #9D83B6", +"C&. c #9E84B6", +"D&. c #9E83B7", +"E&. c #9F84B7", +"F&. c #9F84B8", +"G&. c #A084B8", +"H&. c #A185B9", +"I&. c #A186B9", +"J&. c #A186BA", +"K&. c #A286BA", +"L&. c #A186BB", +"M&. c #A286BB", +"N&. c #A387BB", +"O&. c #A388BC", +"P&. c #A488BC", +"Q&. c #A588BC", +"R&. c #A588BD", +"S&. c #A488BD", +"T&. c #A589BD", +"U&. c #A489BD", +"V&. c #A58ABD", +"W&. c #A287BA", +"X&. c #A48ABC", +"Y&. c #A990BF", +"Z&. c #A98FBF", +"`&. c #AA90BF", +" *. c #A991BF", +".*. c #AA91BF", +"+*. c #A990BE", +"@*. c #A085B7", +"#*. c #9B81B3", +"$*. c #9B80B2", +"%*. c #9A80B2", +"&*. c #987EAF", +"**. c #9379AB", +"=*. c #9378AA", +"-*. c #9076A8", +";*. c #8F75A7", +">*. c #8F74A6", +",*. c #8E74A5", +"'*. c #8D73A5", +")*. c #8D72A4", +"!*. c #8B71A3", +"~*. c #8A71A2", +"{*. c #896FA1", +"]*. c #886EA0", +"^*. c #886E9F", +"/*. c #876D9E", +"(*. c #866C9D", +"_*. c #856C9C", +":*. c #886EA2", +"<*. c #876DA0", +"[*. c #866C9F", +"}*. c #82699C", +"|*. c #82689C", +"1*. c #80679A", +"2*. c #7E6599", +"3*. c #7C6296", +"4*. c #7B6195", +"5*. c #786093", +"6*. c #775E91", +"7*. c #755C90", +"8*. c #755D91", +"9*. c #765D91", +"0*. c #4F3668", +"a*. c #35244A", +"b*. c #342149", +"c*. c #301D45", +"d*. c #DFD7E9", +"e*. c #C4B7D5", +"f*. c #C5B9D4", +"g*. c #C2B6D2", +"h*. c #B9A9CB", +"i*. c #AB97C1", +"j*. c #A691BE", +"k*. c #A38EBD", +"l*. c #A28BBC", +"m*. c #A089BA", +"n*. c #9E87B8", +"o*. c #9B84B6", +"p*. c #9A83B5", +"q*. c #9881B4", +"r*. c #9880B3", +"s*. c #967EB2", +"t*. c #9279AB", +"u*. c #9178AB", +"v*. c #9179AB", +"w*. c #9178AC", +"x*. c #9278AC", +"y*. c #9277AC", +"z*. c #9276AD", +"A*. c #9177AE", +"B*. c #8D71A7", +"C*. c #8B70A5", +"D*. c #8C70A6", +"E*. c #8C71A6", +"F*. c #8C70A7", +"G*. c #8D71A8", +"H*. c #8E72A8", +"I*. c #9073A9", +"J*. c #9173AA", +"K*. c #9174AA", +"L*. c #9275AB", +"M*. c #9375AC", +"N*. c #9376AD", +"O*. c #9477AE", +"P*. c #9478AF", +"Q*. c #9578AF", +"R*. c #9678B0", +"S*. c #9678B1", +"T*. c #9679B1", +"U*. c #9779B2", +"V*. c #977AB3", +"W*. c #987AB3", +"X*. c #997AB3", +"Y*. c #997AB4", +"Z*. c #9A7AB4", +"`*. c #997BB4", +" =. c #9A7BB4", +".=. c #9A7BB5", +"+=. c #9B7CB5", +"@=. c #9A7CB5", +"#=. c #9A7DB6", +"$=. c #9B7DB6", +"%=. c #9C7DB6", +"&=. c #9C7EB7", +"*=. c #9D7EB7", +"==. c #9D7FB7", +"-=. c #9C7EB6", +";=. c #997BB3", +">=. c #987BB3", +",=. c #9C7FB5", +"'=. c #A083B8", +")=. c #A084B9", +"!=. c #A084B7", +"~=. c #997AB1", +"{=. c #9576AF", +"]=. c #9577AF", +"^=. c #9476AE", +"/=. c #9476AF", +"(=. c #9476AD", +"_=. c #9375AD", +":=. c #9274AB", +"<=. c #8B6EA4", +"[=. c #896CA3", +"}=. c #876AA0", +"|=. c #86699F", +"1=. c #85699E", +"2=. c #84679D", +"3=. c #83679C", +"4=. c #82669B", +"5=. c #82659B", +"6=. c #7F6398", +"7=. c #7E6297", +"8=. c #7C6195", +"9=. c #83669E", +"0=. c #7E6399", +"a=. c #7D6399", +"b=. c #7D6299", +"c=. c #7C6197", +"d=. c #7A5F96", +"e=. c #765B92", +"f=. c #755B92", +"g=. c #755991", +"h=. c #72578E", +"i=. c #6F558C", +"j=. c #70558C", +"k=. c #70568D", +"l=. c #71578E", +"m=. c #73598F", +"n=. c #745B90", +"o=. c #4A3163", +"p=. c #472E62", +"q=. c #322149", +"r=. c #322048", +"s=. c #75618E", +"t=. c #D2C8DD", +"u=. c #D8CFE3", +"v=. c #D8CEE3", +"w=. c #C9BDD9", +"x=. c #C7BCD8", +"y=. c #C1B4D1", +"z=. c #BFB1CF", +"A=. c #B8A8CC", +"B=. c #B09DC4", +"C=. c #AE9BC3", +"D=. c #AC98C2", +"E=. c #A994C0", +"F=. c #A892BF", +"G=. c #A490BD", +"H=. c #A08ABA", +"I=. c #9F88B8", +"J=. c #9C86B7", +"K=. c #9B83B6", +"L=. c #9880B4", +"M=. c #977CB2", +"N=. c #947BB1", +"O=. c #9279AF", +"P=. c #9278AF", +"Q=. c #9177AF", +"R=. c #8C72A8", +"S=. c #8B70A7", +"T=. c #8A70A7", +"U=. c #8A6FA7", +"V=. c #8B6FA7", +"W=. c #8B6FA6", +"X=. c #8B6EA7", +"Y=. c #8B6DA7", +"Z=. c #8A6DA8", +"`=. c #8B6EA9", +" -. c #876AA3", +".-. c #83669F", +"+-. c #8566A1", +"@-. c #8566A2", +"#-. c #8667A2", +"$-. c #8768A3", +"%-. c #8868A3", +"&-. c #8969A3", +"*-. c #8969A4", +"=-. c #896AA5", +"--. c #896AA6", +";-. c #8A6BA6", +">-. c #8A6BA8", +",-. c #8B6BA7", +"'-. c #8B6CA8", +")-. c #8B6CA9", +"!-. c #8D6DAA", +"~-. c #8E6DAA", +"{-. c #8E6DAC", +"]-. c #8E6EAB", +"^-. c #8F6EAC", +"/-. c #8F6FAD", +"(-. c #906FAC", +"_-. c #906FAE", +":-. c #916FAD", +"<-. c #9170AF", +"[-. c #9270AF", +"}-. c #9271AF", +"|-. c #9371B0", +"1-. c #9372B0", +"2-. c #9472B0", +"3-. c #9473B0", +"4-. c #9473B1", +"5-. c #9474B1", +"6-. c #9574B1", +"7-. c #9575B1", +"8-. c #9575B2", +"9-. c #9373AF", +"0-. c #9170AC", +"a-. c #9070AC", +"b-. c #9374AE", +"c-. c #9777B1", +"d-. c #9878B1", +"e-. c #9778B1", +"f-. c #9878B2", +"g-. c #9778B2", +"h-. c #9879B2", +"i-. c #9677B0", +"j-. c #8D6BA9", +"k-. c #8C6CA8", +"l-. c #8B6BA8", +"m-. c #8B6AA6", +"n-. c #8968A4", +"o-. c #8767A4", +"p-. c #8564A0", +"q-. c #85649F", +"r-. c #83639E", +"s-. c #81629D", +"t-. c #81619C", +"u-. c #80619B", +"v-. c #7F609B", +"w-. c #7F5F9A", +"x-. c #7E5F99", +"y-. c #7D5E98", +"z-. c #7C5D97", +"A-. c #7B5D97", +"B-. c #7B5D96", +"C-. c #7A5C95", +"D-. c #795B94", +"E-. c #795A94", +"F-. c #765891", +"G-. c #75578F", +"H-. c #7A5C98", +"I-. c #785C95", +"J-. c #775A94", +"K-. c #765994", +"L-. c #765993", +"M-. c #755892", +"N-. c #745891", +"O-. c #735791", +"P-. c #6E528D", +"Q-. c #6C508A", +"R-. c #6B4F88", +"S-. c #6A4E88", +"T-. c #6B5089", +"U-. c #6C518A", +"V-. c #6D538C", +"W-. c #70568E", +"X-. c #735990", +"Y-. c #70588C", +"Z-. c #472D61", +"`-. c #472C61", +" ;. c #3D2655", +".;. c #311F47", +"+;. c #2E1D45", +"@;. c #76628F", +"#;. c #A295B4", +"$;. c #D2C7DE", +"%;. c #C3B6D2", +"&;. c #C0B2D0", +"*;. c #BEB0CE", +"=;. c #B29FC7", +"-;. c #AF9CC5", +";;. c #AC99C3", +">;. c #AB97C2", +",;. c #A691BD", +"';. c #A48DBC", +");. c #A18BBB", +"!;. c #9E87B9", +"~;. c #9C84B7", +"{;. c #9A82B5", +"];. c #987FB3", +"^;. c #967DB2", +"/;. c #947AB1", +"(;. c #9277B0", +"_;. c #9075AE", +":;. c #8D72AC", +"<;. c #8D71AB", +"[;. c #8C71AC", +"};. c #886CA5", +"|;. c #8569A1", +"1;. c #8568A2", +"2;. c #8567A2", +"3;. c #8468A2", +"4;. c #8467A2", +"5;. c #8466A2", +"6;. c #8465A2", +"7;. c #8365A3", +"8;. c #8465A3", +"9;. c #8364A1", +"0;. c #7C5C99", +"a;. c #7C5C9A", +"b;. c #7C5B9A", +"c;. c #7C5B9B", +"d;. c #7F5D9D", +"e;. c #805E9D", +"f;. c #805E9E", +"g;. c #805F9E", +"h;. c #805F9F", +"i;. c #81609F", +"j;. c #8160A0", +"k;. c #8260A0", +"l;. c #8361A2", +"m;. c #8361A3", +"n;. c #8462A3", +"o;. c #8562A4", +"p;. c #8864A6", +"q;. c #8865A8", +"r;. c #8965A8", +"s;. c #8A65A9", +"t;. c #8A66A9", +"u;. c #8B66A9", +"v;. c #8B67A9", +"w;. c #8B67AA", +"x;. c #8B68AA", +"y;. c #8C68AB", +"z;. c #8C69AB", +"A;. c #8D69AB", +"B;. c #8D69AC", +"C;. c #8D6AAC", +"D;. c #8D6AAD", +"E;. c #8E6BAD", +"F;. c #8A66A7", +"G;. c #8966A7", +"H;. c #8965A7", +"I;. c #8B68A8", +"J;. c #8F6CAA", +"K;. c #8F6DAB", +"L;. c #8F6EAB", +"M;. c #906EAB", +"N;. c #8C6AA9", +"O;. c #8561A4", +"P;. c #8662A4", +"Q;. c #8561A3", +"R;. c #8460A2", +"S;. c #835FA0", +"T;. c #815F9F", +"U;. c #815E9E", +"V;. c #805D9E", +"W;. c #7D5A9A", +"X;. c #7C5A99", +"Y;. c #7B5998", +"Z;. c #785695", +"`;. c #775694", +" >. c #775594", +".>. c #765492", +"+>. c #72528F", +"@>. c #72518E", +"#>. c #6D4E8A", +"$>. c #6C4D89", +"%>. c #745393", +"&>. c #745392", +"*>. c #715290", +"=>. c #705290", +"->. c #6E4F8D", +";>. c #6C4E8B", +">>. c #6A4D8A", +",>. c #6A4D89", +"'>. c #6A4C88", +")>. c #684B88", +"!>. c #684A87", +"~>. c #664985", +"{>. c #674A86", +"]>. c #684C86", +"^>. c #694D88", +"/>. c #6D538D", +"(>. c #70558E", +"_>. c #664D81", +":>. c #43285D", +"<>. c #442A5F", +"[>. c #301E45", +"}>. c #2E1B44", +"|>. c #A395B4", +"1>. c #DDD5E8", +"2>. c #D7CDE2", +"3>. c #C2B4D2", +"4>. c #BEAFCF", +"5>. c #B7A7CB", +"6>. c #B09DC5", +"7>. c #AE9AC4", +"8>. c #AA96C2", +"9>. c #A38EBC", +"0>. c #A08BBB", +"a>. c #9F87B9", +"b>. c #9981B5", +"c>. c #977DB3", +"d>. c #957BB2", +"e>. c #9278B0", +"f>. c #9076AF", +"g>. c #8F73AD", +"h>. c #8D71AA", +"i>. c #8A6EA9", +"j>. c #896DA9", +"k>. c #8A6CA9", +"l>. c #896CA9", +"m>. c #8669A6", +"n>. c #81639F", +"o>. c #8163A0", +"p>. c #8263A0", +"q>. c #81629F", +"r>. c #81619F", +"s>. c #80619F", +"t>. c #7F60A0", +"u>. c #8060A0", +"v>. c #7F5F9F", +"w>. c #805FA0", +"x>. c #7A5999", +"y>. c #785597", +"z>. c #7A5799", +"A>. c #7B589A", +"B>. c #7B589B", +"C>. c #7C599B", +"D>. c #7D5A9D", +"E>. c #7D5A9E", +"F>. c #805CA0", +"G>. c #815CA0", +"H>. c #815DA1", +"I>. c #815DA2", +"J>. c #825EA3", +"K>. c #835EA4", +"L>. c #845FA4", +"M>. c #845FA5", +"N>. c #855FA5", +"O>. c #855FA6", +"P>. c #8560A6", +"Q>. c #8660A6", +"R>. c #8661A6", +"S>. c #8761A7", +"T>. c #8762A7", +"U>. c #8863A7", +"V>. c #8863A8", +"W>. c #8964A8", +"X>. c #8964A9", +"Y>. c #8965A9", +"Z>. c #8661A4", +"`>. c #8560A4", +" ,. c #8460A4", +".,. c #8763A6", +"+,. c #8966A6", +"@,. c #8967A6", +"#,. c #8A67A7", +"$,. c #8560A3", +"%,. c #815CA1", +"&,. c #815BA0", +"*,. c #805A9F", +"=,. c #7F5A9E", +"-,. c #7F599E", +";,. c #7F599D", +">,. c #7D589C", +",,. c #7A569A", +"',. c #7A5699", +"),. c #7A5598", +"!,. c #795598", +"~,. c #785496", +"{,. c #775395", +"],. c #765395", +"^,. c #765294", +"/,. c #745294", +"(,. c #745193", +"_,. c #745192", +":,. c #735091", +"<,. c #724F8F", +"[,. c #704E8E", +"},. c #6E4D8D", +"|,. c #6E4B8B", +"1,. c #6D4B8A", +"2,. c #6C4A88", +"3,. c #6A4988", +"4,. c #6F4F8F", +"5,. c #705091", +"6,. c #704F90", +"7,. c #6F4E8F", +"8,. c #6F4D8E", +"9,. c #6D4D8C", +"0,. c #6C4C8B", +"a,. c #6B4C8A", +"b,. c #6A4B8A", +"c,. c #674887", +"d,. c #674786", +"e,. c #664785", +"f,. c #654785", +"g,. c #644584", +"h,. c #634583", +"i,. c #624482", +"j,. c #644683", +"k,. c #654784", +"l,. c #674986", +"m,. c #684B87", +"n,. c #694D89", +"o,. c #6D528C", +"p,. c #755C92", +"q,. c #796095", +"r,. c #766290", +"s,. c #9D8FB0", +"t,. c #DCD4E6", +"u,. c #D7CCE2", +"v,. c #C2B4D1", +"w,. c #BEAECE", +"x,. c #B4A3C9", +"y,. c #AA96C1", +"z,. c #A58FBE", +"A,. c #A28DBC", +"B,. c #9E86B8", +"C,. c #9C83B7", +"D,. c #9980B5", +"E,. c #947BB2", +"F,. c #9176AF", +"G,. c #9073AC", +"H,. c #8B6FA9", +"I,. c #8A6BA9", +"J,. c #8A6BAA", +"K,. c #886AA9", +"L,. c #8164A1", +"M,. c #82639F", +"N,. c #8162A0", +"O,. c #8061A1", +"P,. c #8061A0", +"Q,. c #8060A1", +"R,. c #805FA1", +"S,. c #7D5C9D", +"T,. c #785797", +"U,. c #795698", +"V,. c #7B579A", +"W,. c #815DA3", +"X,. c #825EA4", +"Y,. c #835EA3", +"Z,. c #845FA6", +"`,. c #8661A7", +" '. c #8762A8", +".'. c #8862A8", +"+'. c #8963A8", +"@'. c #8A65A8", +"#'. c #8A66AA", +"$'. c #8864A8", +"%'. c #8662A5", +"&'. c #8864A7", +"*'. c #8965A6", +"='. c #8865A6", +"-'. c #835DA2", +";'. c #835DA1", +">'. c #7B579B", +",'. c #795597", +"''. c #775396", +")'. c #755294", +"!'. c #755293", +"~'. c #735092", +"{'. c #734F90", +"]'. c #724F90", +"^'. c #704E8F", +"/'. c #6F4E8D", +"('. c #6E4C8B", +"_'. c #6D4B8B", +":'. c #6C4B8A", +"<'. c #6B4A8A", +"['. c #6B4A89", +"}'. c #714F90", +"|'. c #715192", +"1'. c #6F4D8F", +"2'. c #6F4C8F", +"3'. c #6E4C8E", +"4'. c #6E4C8D", +"5'. c #6D4C8C", +"6'. c #694A8A", +"7'. c #684888", +"8'. c #684887", +"9'. c #664685", +"0'. c #654684", +"a'. c #644684", +"b'. c #674987", +"c'. c #6C4F8B", +"d'. c #70548E", +"e'. c #725790", +"f'. c #755A92", +"g'. c #785E94", +"h'. c #7B6296", +"i'. c #80699B", +"j'. c #745C8F", +"k'. c #8E7EA3", +"l'. c #D3CBDC", +"m'. c #DCD4E7", +"n'. c #BFB0CF", +"o'. c #B5A4C9", +"p'. c #B2A1C7", +"q'. c #B09EC6", +"r'. c #A791BF", +"s'. c #A48EBD", +"t'. c #A28BBB", +"u'. c #9F88BA", +"v'. c #9D84B7", +"w'. c #9A82B6", +"x'. c #987FB4", +"y'. c #967CB2", +"z'. c #9377AF", +"A'. c #9175AE", +"B'. c #8E72AD", +"C'. c #8D70AC", +"D'. c #8B6EAB", +"E'. c #8B6DAB", +"F'. c #8B6DAA", +"G'. c #8568A4", +"H'. c #8364A0", +"I'. c #8363A1", +"J'. c #8263A2", +"K'. c #8163A1", +"L'. c #8263A1", +"M'. c #8262A2", +"N'. c #8262A1", +"O'. c #8261A1", +"P'. c #8161A2", +"Q'. c #8260A2", +"R'. c #7B5A99", +"S'. c #7A5899", +"T'. c #7B5899", +"U'. c #7C599A", +"V'. c #7D5A9C", +"W'. c #7D5B9D", +"X'. c #7F5DA0", +"Y'. c #805DA0", +"Z'. c #815EA1", +"`'. c #815EA2", +" ). c #825FA2", +".). c #835FA3", +"+). c #8461A5", +"@). c #8561A5", +"#). c #8661A5", +"$). c #8862A7", +"%). c #8963A7", +"&). c #8B66AA", +"*). c #8C67AA", +"=). c #8D68AB", +"-). c #8864A5", +";). c #8863A5", +">). c #8863A6", +",). c #8461A3", +"'). c #8460A3", +")). c #845FA3", +"!). c #845FA2", +"~). c #845EA2", +"{). c #835EA2", +"]). c #825DA2", +"^). c #765394", +"/). c #755393", +"(). c #745293", +"_). c #745292", +":). c #714F8F", +"<). c #704E8D", +"[). c #725191", +"}). c #745394", +"|). c #725293", +"1). c #715292", +"2). c #6F4E8E", +"3). c #6D4E8D", +"4). c #6D4D8D", +"5). c #6B4B8B", +"6). c #6A4A89", +"7). c #6A4A88", +"8). c #694988", +"9). c #664886", +"0). c #664885", +"a). c #674886", +"b). c #6A4C89", +"c). c #6D508C", +"d). c #71558F", +"e). c #785E95", +"f). c #80689B", +"g). c #351F4E", +"h). c #2F1E46", +"i). c #DDD4E8", +"j). c #D8D0E5", +"k). c #B0A0C2", +"l). c #AC9BC0", +"m). c #BEAFD0", +"n). c #BCACCF", +"o). c #B8A7CA", +"p). c #B5A4CA", +"q). c #B2A1C8", +"r). c #A792BF", +"s). c #A38CBC", +"t). c #A189BA", +"u). c #9E86B9", +"v). c #9B83B7", +"w). c #9A81B5", +"x). c #987EB5", +"y). c #977BB4", +"z). c #957AB2", +"A). c #9377B1", +"B). c #9075AF", +"C). c #8F73AE", +"D). c #9073AE", +"E). c #8C6FAA", +"F). c #876AA5", +"G). c #8869A5", +"H). c #8769A5", +"I). c #8769A6", +"J). c #8768A6", +"K). c #8767A5", +"L). c #8767A6", +"M). c #8867A6", +"N). c #8867A7", +"O). c #8464A2", +"P). c #7F609D", +"Q). c #82609F", +"R). c #8261A0", +"S). c #8361A0", +"T). c #8362A2", +"U). c #8463A3", +"V). c #8564A4", +"W). c #8664A4", +"X). c #8664A5", +"Y). c #8765A6", +"Z). c #8866A6", +"`). c #8866A7", +" !. c #8866A8", +".!. c #8967A8", +"+!. c #8A68A9", +"@!. c #8B68A9", +"#!. c #8C69A9", +"$!. c #8C69AA", +"%!. c #8D6AAB", +"&!. c #8D6BAC", +"*!. c #8E6BAC", +"=!. c #8E6CAC", +"-!. c #8E6CAD", +";!. c #8F6CAD", +">!. c #8F6DAD", +",!. c #906DAD", +"'!. c #906EAE", +")!. c #916EAE", +"!!. c #916FAE", +"~!. c #916FAF", +"{!. c #9271B0", +"]!. c #8F6CAB", +"^!. c #8E6CAB", +"/!. c #8E6CAA", +"(!. c #8D6CAA", +"_!. c #8D6BAA", +":!. c #8D6AAA", +"~. c #8D6EAA", +",~. c #8F70AB", +"'~. c #9071AC", +")~. c #9071AD", +"!~. c #9172AD", +"~~. c #9172AE", +"{~. c #9272AF", +"]~. c #9273AF", +"^~. c #9374AF", +"/~. c #9374B0", +"(~. c #9474B0", +"_~. c #9675B2", +":~. c #9676B2", +"<~. c #9776B2", +"[~. c #9776B3", +"}~. c #9676B3", +"|~. c #9777B3", +"1~. c #9878B3", +"2~. c #9878B4", +"3~. c #9879B4", +"4~. c #9979B4", +"5~. c #997AB5", +"6~. c #9A7AB5", +"7~. c #9B7BB5", +"8~. c #9B7BB6", +"9~. c #9B7CB6", +"0~. c #9C7CB7", +"a~. c #9677B1", +"b~. c #9676B1", +"c~. c #9577B0", +"d~. c #9576B0", +"e~. c #9676B0", +"f~. c #9575B0", +"g~. c #9475AF", +"h~. c #9474AF", +"i~. c #9373AE", +"j~. c #9372AE", +"k~. c #9272AD", +"l~. c #9271AD", +"m~. c #9171AD", +"n~. c #916FAC", +"o~. c #906FAB", +"p~. c #8E6EAA", +"q~. c #8B6BA6", +"r~. c #8A6AA5", +"s~. c #8869A4", +"t~. c #8767A1", +"u~. c #8666A1", +"v~. c #82629D", +"w~. c #81629C", +"x~. c #80629C", +"y~. c #7F619B", +"z~. c #7F609A", +"A~. c #7D5F98", +"B~. c #80619C", +"C~. c #81629E", +"D~. c #80619E", +"E~. c #7F619D", +"F~. c #7F609C", +"G~. c #7E609B", +"H~. c #7D5F9A", +"I~. c #7B5E99", +"J~. c #795C96", +"K~. c #785B96", +"L~. c #795B96", +"M~. c #745892", +"N~. c #765A93", +"O~. c #775B94", +"P~. c #7D629B", +"Q~. c #9074B3", +"R~. c #7E639B", +"S~. c #81689C", +"T~. c #8B75A4", +"U~. c #46325E", +"V~. c #B6A7C6", +"W~. c #B5A6C6", +"X~. c #C1B3D2", +"Y~. c #BFB0D0", +"Z~. c #BDAED0", +"`~. c #BAA9CD", +" {. c #B8A7CC", +".{. c #B6A4CB", +"+{. c #AE9AC5", +"@{. c #AC98C4", +"#{. c #A993C2", +"${. c #A791C0", +"%{. c #A68FBF", +"&{. c #A48DBD", +"*{. c #9F85B9", +"={. c #9D84B8", +"-{. c #9D83B8", +";{. c #9D83B9", +">{. c #997EB3", +",{. c #977DB1", +"'{. c #977DB2", +"){. c #987CB3", +"!{. c #997DB3", +"~{. c #997DB4", +"{{. c #977AB0", +"]{. c #9377AD", +"^{. c #977AB1", +"/{. c #9A7EB4", +"({. c #9B7EB5", +"_{. c #9B7EB6", +":{. c #9C7FB6", +"<{. c #9C80B7", +"[{. c #9D80B7", +"}{. c #9E80B7", +"|{. c #9E81B8", +"1{. c #9F82B9", +"2{. c #A082B9", +"3{. c #A083B9", +"4{. c #A083BA", +"5{. c #A184BA", +"6{. c #A184BB", +"7{. c #A285BB", +"8{. c #A286BC", +"9{. c #A386BC", +"0{. c #A387BC", +"a{. c #A487BC", +"b{. c #A487BD", +"c{. c #A085B9", +"d{. c #9F83B8", +"e{. c #9F82B8", +"f{. c #9E82B7", +"g{. c #9F82B7", +"h{. c #9F81B7", +"i{. c #9E81B6", +"j{. c #9D80B6", +"k{. c #9D7FB5", +"l{. c #9C7EB5", +"m{. c #9B7DB4", +"n{. c #9A7CB4", +"o{. c #987AB1", +"p{. c #9779B0", +"q{. c #9678AF", +"r{. c #9376AC", +"s{. c #9175AB", +"t{. c #9173AB", +"u{. c #9073AA", +"v{. c #896DA3", +"w{. c #8669A0", +"x{. c #85699F", +"y{. c #896CA4", +"z{. c #876BA3", +"A{. c #8669A2", +"B{. c #8468A0", +"C{. c #84689F", +"D{. c #82659E", +"E{. c #82659D", +"F{. c #81659D", +"G{. c #7E629A", +"H{. c #856AA2", +"I{. c #9C81C0", +"J{. c #A085C5", +"K{. c #856BA1", +"L{. c #836B9F", +"M{. c #876FA1", +"N{. c #8871A2", +"O{. c #8974A4", +"P{. c #8C76A5", +"Q{. c #9782AD", +"R{. c #5D4B73", +"S{. c #796593", +"T{. c #CEC8D8", +"U{. c #DED5E9", +"V{. c #B9AAC8", +"W{. c #C3B6D4", +"X{. c #C2B3D3", +"Y{. c #C0B0D1", +"Z{. c #BDACCE", +"`{. c #BBAACE", +" ]. c #B9A8CD", +".]. c #B8A6CC", +"+]. c #B6A4CA", +"@]. c #B5A1C9", +"#]. c #B3A0C8", +"$]. c #B29EC8", +"%]. c #B09CC6", +"&]. c #AC97C4", +"*]. c #A995C1", +"=]. c #A992C0", +"-]. c #A790C0", +";]. c #A68FC0", +">]. c #A58DBE", +",]. c #A58DBD", +"']. c #A58DBF", +")]. c #A38BBC", +"!]. c #9F87B7", +"~]. c #9F87B8", +"{]. c #A087B9", +"]]. c #A187B9", +"^]. c #A188BA", +"/]. c #A287BB", +"(]. c #A288BB", +"_]. c #9E85B6", +":]. c #9D84B5", +"<]. c #9F86B7", +"[]. c #A289BA", +"}]. c #A389BA", +"|]. c #A48ABB", +"1]. c #A48BBC", +"2]. c #A58BBD", +"3]. c #A68CBE", +"4]. c #A78DBE", +"5]. c #A88DBF", +"6]. c #A88EBF", +"7]. c #A98EC0", +"8]. c #A98FC0", +"9]. c #A98FC1", +"0]. c #AA8FC1", +"a]. c #AB90C1", +"b]. c #AB91C1", +"c]. c #AB91C2", +"d]. c #AC91C2", +"e]. c #AB92C2", +"f]. c #AC92C2", +"g]. c #AC93C2", +"h]. c #AC93C3", +"i]. c #AD93C3", +"j]. c #AD93C4", +"k]. c #AD94C4", +"l]. c #AE94C4", +"m]. c #AC93C1", +"n]. c #AB92C1", +"o]. c #AB92C0", +"p]. c #AB91C0", +"q]. c #AA91C0", +"r]. c #AA90C0", +"s]. c #A98FBE", +"t]. c #A88EBE", +"u]. c #A78EBE", +"v]. c #A78DBD", +"w]. c #A78CBD", +"x]. c #A68CBD", +"y]. c #A68BBD", +"z]. c #A68BBC", +"A]. c #A58ABC", +"B]. c #A489BB", +"C]. c #A488BB", +"D]. c #A287B8", +"E]. c #A186B8", +"F]. c #A086B8", +"G]. c #9F84B6", +"H]. c #9E83B5", +"I]. c #9D81B4", +"J]. c #957BAD", +"K]. c #9479AC", +"L]. c #9378AB", +"M]. c #9277AA", +"N]. c #9075A7", +"O]. c #9378AC", +"P]. c #9379AD", +"Q]. c #9276AA", +"R]. c #9076AA", +"S]. c #8F75AA", +"T]. c #8F74A9", +"U]. c #8E74A8", +"V]. c #8D73A7", +"W]. c #8C72A6", +"X]. c #8C71A5", +"Y]. c #856CA0", +"Z]. c #876CA0", +"`]. c #8F76AC", +" ^. c #A489C6", +".^. c #A88DCB", +"+^. c #A58CC8", +"@^. c #8E76A9", +"#^. c #8A73A3", +"$^. c #8C74A5", +"%^. c #927DA9", +"&^. c #9985B0", +"*^. c #756489", +"=^. c #7A6694", +"-^. c #CBC4D6", +";^. c #D4CDDD", +">^. c #D7CEE2", +",^. c #B9ABC9", +"'^. c #C2B4D3", +")^. c #C1B2D2", +"!^. c #B9A8CE", +"~^. c #B8A6CD", +"{^. c #B6A3CA", +"]^. c #B5A3CA", +"^^. c #B3A1C9", +"/^. c #B29FC8", +"(^. c #B09CC7", +"_^. c #AF9BC6", +":^. c #AF99C4", +"<^. c #AE99C4", +"[^. c #AE99C5", +"}^. c #AF99C5", +"|^. c #AF99C6", +"1^. c #AA95C0", +"2^. c #AA94C0", +"3^. c #AA94C1", +"4^. c #AB95C1", +"5^. c #AC96C2", +"6^. c #AC96C3", +"7^. c #AD96C3", +"8^. c #AD97C4", +"9^. c #AE97C4", +"0^. c #AE98C5", +"a^. c #AA94BF", +"b^. c #AB94BF", +"c^. c #AF98C4", +"d^. c #B099C4", +"e^. c #B19AC5", +"f^. c #B19BC6", +"g^. c #B19AC6", +"h^. c #B29BC7", +"i^. c #B29CC7", +"j^. c #B39CC7", +"k^. c #B49CC7", +"l^. c #B49CC8", +"m^. c #B49DC8", +"n^. c #B59EC9", +"o^. c #B69FC9", +"p^. c #B69FCA", +"q^. c #B6A1CA", +"r^. c #B7A1CB", +"s^. c #B8A2CB", +"t^. c #B8A2CC", +"u^. c #B9A2CC", +"v^. c #B9A3CC", +"w^. c #BAA4CC", +"x^. c #BAA3CC", +"y^. c #B9A4CC", +"z^. c #B9A5CC", +"A^. c #BAA5CC", +"B^. c #BAA5CD", +"C^. c #B7A2CA", +"D^. c #B7A1C9", +"E^. c #B6A1C9", +"F^. c #B6A0C8", +"G^. c #B6A1C8", +"H^. c #B5A0C8", +"I^. c #B59FC8", +"J^. c #B49FC8", +"K^. c #B59EC8", +"L^. c #B39CC6", +"M^. c #B29CC6", +"N^. c #B29BC6", +"O^. c #B29BC5", +"P^. c #B199C5", +"Q^. c #B099C5", +"R^. c #B099C3", +"S^. c #AE96C2", +"T^. c #AE95C2", +"U^. c #AD95C1", +"V^. c #AA93BF", +"W^. c #A68EBA", +"X^. c #A58DBA", +"Y^. c #9B82AF", +"Z^. c #9A82AF", +"`^. c #9F86B6", +" /. c #9E85B5", +"./. c #9D84B4", +"+/. c #9B84B2", +"@/. c #9A83B1", +"#/. c #967FAE", +"$/. c #967DAD", +"%/. c #957CAB", +"&/. c #947BAB", +"*/. c #927AAA", +"=/. c #9179A9", +"-/. c #9078A8", +";/. c #9D86BA", +">/. c #AC94CD", +",/. c #AD94CE", +"'/. c #AD94CC", +")/. c #AD95CD", +"!/. c #9881B2", +"~/. c #917BA9", +"{/. c #927CAB", +"]/. c #947EAB", +"^/. c #847698", +"//. c #37274D", +"(/. c #7B6794", +"_/. c #BFB5CB", +":/. c #D8CFE2", +"(. c #AA95BD", +",(. c #A793BD", +"'(. c #A791BC", +")(. c #A691BB", +"!(. c #A590BA", +"~(. c #A38EB8", +"{(. c #A38DB7", +"](. c #A08CB6", +"^(. c #9F8AB5", +"/(. c #9B85B1", +"((. c #9883AF", +"_(. c #9D86B4", +":(. c #AC95C8", +"<(. c #B59DD3", +"[(. c #B39CD1", +"}(. c #B39BD0", +"|(. c #B39CD0", +"1(. c #B49CD1", +"2(. c #9F8AB8", +"3(. c #9884AF", +"4(. c #9987AF", +"5(. c #9082A2", +"6(. c #403056", +"7(. c #D9D1E3", +"8(. c #CAC0D6", +"9(. c #CDC3D9", +"0(. c #E0D8E8", +"a(. c #E1D8E9", +"b(. c #E5DEEC", +"c(. c #E6DFED", +"d(. c #E6DFEC", +"e(. c #E7E0ED", +"f(. c #E9E3EF", +"g(. c #EAE4EF", +"h(. c #ECE6F1", +"i(. c #ECE7F1", +"j(. c #EDE8F2", +"k(. c #EEE9F2", +"l(. c #EFEBF3", +"m(. c #F0EBF5", +"n(. c #F3F1F7", +"o(. c #F4F2F7", +"p(. c #F5F2F7", +"q(. c #F8F5F9", +"r(. c #F8F7FA", +"s(. c #FBF8FC", +"t(. c #FAF9FC", +"u(. c #FBFAFC", +"v(. c #FCF9FC", +"w(. c #FBFBFB", +"x(. c #FDFBFC", +"y(. c #FCFCFC", +"z(. c #FDFCFD", +"A(. c #FDFDFE", +"B(. c #FEFCFE", +"C(. c #FFFFFD", +"D(. c #FFFFFE", +"E(. c #FDFDFD", +"F(. c #FAFAFA", +"G(. c #FAF9FB", +"H(. c #F9F9FB", +"I(. c #F9F8FB", +"J(. c #F8F8FA", +"K(. c #F9F5F9", +"L(. c #F6F3F9", +"M(. c #F2F0F6", +"N(. c #F3EEF6", +"O(. c #F2EDF6", +"P(. c #F1ECF6", +"Q(. c #F0ECF4", +"R(. c #EFECF3", +"S(. c #EEE9F3", +"T(. c #EDE7EF", +"U(. c #EAE6F0", +"V(. c #EAE4EE", +"W(. c #E3DCE9", +"X(. c #DDD4E5", +"Y(. c #DCD3E4", +"Z(. c #DAD1E3", +"`(. c #D5CCDF", +" _. c #D3C9DD", +"._. c #D2C8DC", +"+_. c #D0C5DB", +"@_. c #CDC2D8", +"#_. c #CABED5", +"$_. c #C8BDD5", +"%_. c #C9BDD7", +"&_. c #CDBFDD", +"*_. c #D1C3E3", +"=_. c #D2C3E5", +"-_. c #CFC0E2", +";_. c #CDBDE1", +">_. c #CBBBE0", +",_. c #CAB9DF", +"'_. c #C9B8DF", +")_. c #AE9EBF", +"!_. c #AB9ABE", +"~_. c #A392B7", +"{_. c #9B8FAC", +"]_. c #4E3E62", +"^_. c #AC9EBC", +"/_. c #D5CDDF", +"(_. c #CFC5DA", +"__. c #D3CBDE", +":_. c #EBE7F1", +"<_. c #ECE8F2", +"[_. c #EEEBF3", +"}_. c #EEECF3", +"|_. c #F0ECF5", +"1_. c #F0EBF4", +"2_. c #EFEBF5", +"3_. c #EFEAF4", +"4_. c #EFEBF4", +"5_. c #EFECF4", +"6_. c #F1ECF4", +"7_. c #F2EDF5", +"8_. c #F5F1F8", +"9_. c #F6F5F9", +"0_. c #FBF9FC", +"a_. c #FCFAFC", +"b_. c #F2EEF6", +"c_. c #F1EEF5", +"d_. c #EFEAF3", +"e_. c #EFEAF1", +"f_. c #EDE9F2", +"g_. c #ECE7F0", +"h_. c #EAE5EF", +"i_. c #E7E3ED", +"j_. c #E7E2EC", +"k_. c #DED7E4", +"l_. c #E2DAEC", +"m_. c #E4DBF1", +"n_. c #E2D9EE", +"o_. c #E0D6ED", +"p_. c #DED3EB", +"q_. c #DCD0EA", +"r_. c #D9CDE8", +"s_. c #D6CAE7", +"t_. c #D5C7E6", +"u_. c #AD9EC0", +"v_. c #A696B8", +"w_. c #9E93AF", +"x_. c #534467", +"y_. c #7D6997", +"z_. c #D8D0E2", +"A_. c #D2C9DD", +"B_. c #E4DEEB", +"C_. c #E8E2EF", +"D_. c #EAE5F1", +"E_. c #EAE4F0", +"F_. c #EAE4F1", +"G_. c #E9E3F0", +"H_. c #EAE6F1", +"I_. c #EBE6F1", +"J_. c #EDE7F1", +"K_. c #F3EFF7", +"L_. c #F3F0F7", +"M_. c #F5F4F8", +"N_. c #F8F7FB", +"O_. c #EEEAF4", +"P_. c #EEE9F0", +"Q_. c #E9E3ED", +"R_. c #E4DDEB", +"S_. c #E0D9E7", +"T_. c #DED6E5", +"U_. c #DCD5E4", +"V_. c #DED5EB", +"W_. c #DED4ED", +"X_. c #DDD2EB", +"Y_. c #DBCFEA", +"Z_. c #D9CCE8", +"`_. c #D7CAE7", +" :. c #D2C5E5", +".:. c #D1C2E4", +"+:. c #B3A3C4", +"@:. c #A596B7", +"#:. c #9E94AE", +"$:. c #524367", +"%:. c #9484AA", +"&:. c #D4CCDE", +"*:. c #CFC5DB", +"=:. c #C1B4CF", +"-:. c #C5BAD4", +";:. c #D2C8DE", +">:. c #D0C5DC", +",:. c #CFC3DC", +"':. c #CEC1DB", +"):. c #CCBFDA", +"!:. c #CBBED9", +"~:. c #C9BBD7", +"{:. c #C8BAD7", +"]:. c #C7B8D7", +"^:. c #C6B6D7", +"/:. c #C4B5D5", +"(:. c #C3B4D5", +"_:. c #C3B2D5", +"::. c #C2B2D3", +"<:. c #C1B1D3", +"[:. c #C0AFD2", +"}:. c #BEAED1", +"|:. c #BEADD1", +"1:. c #BDACD0", +"2:. c #BDABD0", +"3:. c #BDACD1", +"4:. c #BAA8CD", +"5:. c #BBA8CE", +"6:. c #BBA9CE", +"7:. c #BCA9CF", +"8:. c #BCAACF", +"9:. c #BDABCF", +"0:. c #BEACD0", +"a:. c #BEACD1", +"b:. c #BBA9CD", +"c:. c #C2AFD3", +"d:. c #C3B2D3", +"e:. c #C4B2D4", +"f:. c #C4B3D4", +"g:. c #C5B3D4", +"h:. c #C5B4D5", +"i:. c #C5B5D5", +"j:. c #C6B5D5", +"k:. c #C6B5D6", +"l:. c #C6B6D6", +"m:. c #C7B6D7", +"n:. c #C7B6D6", +"o:. c #C7B7D7", +"p:. c #C8B7D7", +"q:. c #C8B8D7", +"r:. c #C8B7D8", +"s:. c #C8B8D8", +"t:. c #C9B8D8", +"u:. c #C8B9D8", +"v:. c #C7B7D5", +"w:. c #C6B7D5", +"x:. c #C6B6D5", +"y:. c #C7B6D5", +"z:. c #C5B5D4", +"A:. c #C5B4D4", +"B:. c #C4B3D3", +"C:. c #C4B2D3", +"D:. c #C3B2D2", +"E:. c #C2B1D2", +"F:. c #C2B0D2", +"G:. c #C1B0D2", +"H:. c #BFACCF", +"I:. c #BAA8CC", +"J:. c #BAA6CA", +"K:. c #B5A1C6", +"L:. c #B29EC4", +"M:. c #AD9AC0", +"N:. c #AC99BF", +"O:. c #AF9BC3", +"P:. c #AE9AC2", +"Q:. c #AD99C2", +"R:. c #AC98C0", +"S:. c #A996BC", +"T:. c #A693BB", +"U:. c #B29DC9", +"V:. c #BBA5D4", +"W:. c #BDA8D7", +"X:. c #BCA7D7", +"Y:. c #BCA7D6", +"Z:. c #BCA6D6", +"`:. c #BBA6D6", +" <. c #BCA7D8", +".<. c #AD99C6", +"+<. c #A28FB7", +"@<. c #A28FB6", +"#<. c #A18FB6", +"$<. c #A391B7", +"%<. c #A192B4", +"&<. c #9B90AB", +"*<. c #4A395E", +"=<. c #D5CCE0", +"-<. c #BCAECC", +";<. c #BEB1CE", +"><. c #CEC3DC", +",<. c #CDC1DA", +"'<. c #C9BCD8", +")<. c #C8BBD7", +"!<. c #C7B9D7", +"~<. c #C6B7D6", +"{<. c #C3B4D4", +"]<. c #C1B3D3", +"^<. c #C1B1D2", +"/<. c #C0B0D2", +"(<. c #BBA9CF", +"_<. c #BAA7CD", +":<. c #B9A6CD", +"<<. c #B8A5CD", +"[<. c #B6A2CB", +"}<. c #B5A1CA", +"|<. c #B49FCA", +"1<. c #B4A0C9", +"2<. c #B4A0CB", +"3<. c #B5A0CB", +"4<. c #B09BC5", +"5<. c #B09BC6", +"6<. c #B19CC7", +"7<. c #B29CC8", +"8<. c #B39DC8", +"9<. c #B39EC8", +"0<. c #B39EC9", +"a<. c #B49EC9", +"b<. c #B49ECA", +"c<. c #B59FCA", +"d<. c #B19BC5", +"e<. c #B19CC6", +"f<. c #B8A3CB", +"g<. c #B9A3CB", +"h<. c #BAA6CD", +"i<. c #BBA6CE", +"j<. c #BBA7CE", +"k<. c #BCA7CE", +"l<. c #BCA8CF", +"m<. c #BCA7CF", +"n<. c #BDA8CF", +"o<. c #BDA9CF", +"p<. c #BDA9D0", +"q<. c #BDAAD0", +"r<. c #BEAAD1", +"s<. c #BFABD1", +"t<. c #BFAAD1", +"u<. c #BAA5CB", +"v<. c #B9A4CA", +"w<. c #B39DC6", +"x<. c #B098C4", +"y<. c #AE96C1", +"z<. c #A790BB", +"A<. c #A58DB9", +"B<. c #A28CB7", +"C<. c #A68FBC", +"D<. c #A68EBC", +"E<. c #A58DBC", +"F<. c #A48DBB", +"G<. c #A48CBA", +"H<. c #A08AB6", +"I<. c #A18BB8", +"J<. c #AB93C3", +"K<. c #B49BCF", +"L<. c #B69ED3", +"M<. c #B59DD2", +"N<. c #B59CD1", +"O<. c #B59ED2", +"P<. c #B69FD3", +"Q<. c #B8A1D5", +"R<. c #AA94C3", +"S<. c #9F8AB4", +"T<. c #9F8BB5", +"U<. c #998EA9", +"V<. c #433258", +"W<. c #7F6B99", +"X<. c #D0C8DB", +"Y<. c #BEB0CD", +"Z<. c #BBADCB", +"`<. c #B9AACA", +" [. c #B9A9CA", +".[. c #C9BBD8", +"+[. c #C1B2D3", +"@[. c #BEAED0", +"#[. c #BAA8CE", +"$[. c #B19BC8", +"%[. c #AF9AC7", +"&[. c #AE99C6", +"*[. c #AD96C4", +"=[. c #AC94C4", +"-[. c #AB94C3", +";[. c #AC93C4", +">[. c #AA92C2", +",[. c #A68EBE", +"'[. c #A68EBF", +")[. c #A78FBF", +"![. c #A78FC0", +"~[. c #A88FC0", +"{[. c #A88EC0", +"][. c #A990C1", +"^[. c #AA90C2", +"/[. c #AA90C3", +"([. c #AB91C3", +"_[. c #A88FBF", +":[. c #AA90C1", +"<[. c #AD94C3", +"[[. c #AF96C5", +"}[. c #B097C5", +"|[. c #AF97C5", +"1[. c #B098C5", +"2[. c #B098C6", +"3[. c #B099C6", +"4[. c #B198C6", +"5[. c #B298C6", +"6[. c #B298C7", +"7[. c #B299C7", +"8[. c #B29AC7", +"9[. c #B39BC7", +"0[. c #B39BC8", +"a[. c #B39CC9", +"b[. c #B39DC9", +"c[. c #B49DC9", +"d[. c #B59DC9", +"e[. c #B39BC6", +"f[. c #B29AC5", +"g[. c #B59DCA", +"h[. c #AF97C3", +"i[. c #AE96C3", +"j[. c #A78CBE", +"k[. c #A58BBC", +"l[. c #A58ABB", +"m[. c #A287B9", +"n[. c #A085B8", +"o[. c #9F85B7", +"p[. c #9E84B5", +"q[. c #9B81B2", +"r[. c #987FB0", +"s[. c #9C81B5", +"t[. c #9B81B5", +"u[. c #997EB2", +"v[. c #9C83B6", +"w[. c #A68CC1", +"x[. c #AE93CB", +"y[. c #B195CF", +"z[. c #AE93CE", +"A[. c #AD92CC", +"B[. c #AD93CD", +"C[. c #AD93CE", +"D[. c #AE94CE", +"E[. c #AF94CE", +"F[. c #AF95CE", +"G[. c #B096CF", +"H[. c #B097CF", +"I[. c #B198D0", +"J[. c #B299D0", +"K[. c #B39AD1", +"L[. c #B69CD3", +"M[. c #A891C2", +"N[. c #9286A3", +"O[. c #3A2951", +"P[. c #806C99", +"Q[. c #C2B3D1", +"R[. c #C5B7D5", +"S[. c #C4B5D3", +"T[. c #B7A4CC", +"U[. c #B4A0CA", +"V[. c #B09BC7", +"W[. c #AF9AC6", +"X[. c #AA92C3", +"Y[. c #A990C2", +"Z[. c #A78FC1", +"`[. c #A58DC1", +" }. c #A48CBF", +".}. c #A48ABE", +"+}. c #A389BD", +"@}. c #A288BD", +"#}. c #A388BE", +"$}. c #A388BF", +"%}. c #9F84BA", +"&}. c #9E82B8", +"*}. c #9E82B9", +"=}. c #9F83B9", +"-}. c #9F83BA", +";}. c #A083BB", +">}. c #A184BC", +",}. c #A285BD", +"'}. c #A082B8", +")}. c #A183B9", +"!}. c #A284BB", +"~}. c #A589BE", +"{}. c #A68ABD", +"]}. c #A68ABE", +"^}. c #A78BBE", +"/}. c #A78CBF", +"(}. c #A78BBF", +"_}. c #A78CC0", +":}. c #A78DBF", +"<}. c #A98DBF", +"[}. c #A88DC0", +"}}. c #A88EC1", +"|}. c #A98EC1", +"1}. c #AA8FC2", +"2}. c #A98EBE", +"3}. c #A88DBE", +"4}. c #A98FC2", +"5}. c #A589BB", +"6}. c #A387BA", +"7}. c #A286B9", +"8}. c #A285B9", +"9}. c #9F83B7", +"0}. c #9E80B6", +"a}. c #9B7EB4", +"b}. c #9A7CB3", +"c}. c #8F71A8", +"d}. c #9375AE", +"e}. c #8F72AA", +"f}. c #9A7CB7", +"g}. c #A385C2", +"h}. c #A98BCB", +"i}. c #AA8DCC", +"j}. c #A88BCA", +"k}. c #A789C9", +"l}. c #A689C9", +"m}. c #A78AC9", +"n}. c #A98CCA", +"o}. c #AA8DCA", +"p}. c #AB8FCC", +"q}. c #AC90CC", +"r}. c #AC91CD", +"s}. c #AE94CF", +"t}. c #B095CE", +"u}. c #A68EC1", +"v}. c #9781AF", +"w}. c #9B85B2", +"x}. c #9E8AB4", +"y}. c #A497B5", +"z}. c #897C9A", +"A}. c #BFB1CE", +"B}. c #B7A8C8", +"C}. c #B6A6C7", +"D}. c #C6B8D6", +"E}. c #BFAFD1", +"F}. c #B9A7CD", +"G}. c #B7A5CB", +"H}. c #B5A2CB", +"I}. c #B39FC9", +"J}. c #AC95C4", +"K}. c #AA93C2", +"L}. c #A992C2", +"M}. c #A890C1", +"N}. c #A48BBF", +"O}. c #A289BD", +"P}. c #A187BD", +"Q}. c #A085BC", +"R}. c #9F84BB", +"S}. c #9D82BA", +"T}. c #9C81B9", +"U}. c #9C80B9", +"V}. c #9C7FB9", +"W}. c #9D80BA", +"X}. c #9678B2", +"Y}. c #9778B3", +"Z}. c #9778B4", +"`}. c #9779B4", +" |. c #9779B5", +".|. c #9879B5", +"+|. c #9879B6", +"@|. c #987AB6", +"#|. c #9979B6", +"$|. c #997AB6", +"%|. c #9B7BB8", +"&|. c #9675B1", +"*|. c #9879B3", +"=|. c #9C7CB6", +"-|. c #9C7DB7", +";|. c #9D7FB8", +">|. c #9E7FB8", +",|. c #9E80B8", +"'|. c #9F80B9", +")|. c #9F81B9", +"!|. c #A183BA", +"~|. c #A084BA", +"{|. c #A285BC", +"]|. c #A184B8", +"^|. c #9E81B7", +"/|. c #A386BD", +"(|. c #9F81B8", +"_|. c #997AB2", +":|. c #9272AE", +"<|. c #8F6EAA", +"[|. c #8D6CA8", +"}|. c #8868A4", +"||. c #8767A3", +"1|. c #8C6CA9", +"2|. c #9172B0", +"3|. c #9B7CBC", +"4|. c #A382C5", +"5|. c #A786C9", +"6|. c #A685C9", +"7|. c #A483C8", +"8|. c #A282C7", +"9|. c #A182C6", +"0|. c #A182C5", +"a|. c #A383C7", +"b|. c #A484C7", +"c|. c #A485C8", +"d|. c #A587C8", +"e|. c #A98DCB", +"f|. c #AD90CC", +"g|. c #AE93CD", +"h|. c #B197D0", +"i|. c #A58CC0", +"j|. c #9983B1", +"k|. c #9C86B3", +"l|. c #A390B7", +"m|. c #A59AB6", +"n|. c #7C6F8E", +"o|. c #A899B9", +"p|. c #D2C9E0", +"q|. c #B5A4C6", +"r|. c #B2A2C5", +"s|. c #BAA9CE", +"t|. c #AC95C3", +"u|. c #A890C0", +"v|. c #A68DBF", +"w|. c #A48BBE", +"x|. c #A186BD", +"y|. c #9B7FB7", +"z|. c #9A7CB6", +"A|. c #987BB6", +"B|. c #9679B5", +"C|. c #9678B5", +"D|. c #9678B6", +"E|. c #9677B6", +"F|. c #9677B5", +"G|. c #9777B6", +"H|. c #9676B5", +"I|. c #9171AF", +"J|. c #9070AF", +"K|. c #8F6FAF", +"L|. c #906FAF", +"M|. c #906FB0", +"N|. c #916FB0", +"O|. c #916FB1", +"P|. c #926FB1", +"Q|. c #9270B1", +"R|. c #9370B2", +"S|. c #9471B4", +"T|. c #8F6DAE", +"U|. c #8D6BAB", +"V|. c #9371AF", +"W|. c #9574B2", +"X|. c #9777B4", +"Y|. c #9979B5", +"Z|. c #9A7BB6", +"`|. c #9C7CB8", +" 1. c #9473AF", +".1. c #8E6DAB", +"+1. c #8B69A9", +"@1. c #8562A3", +"#1. c #8461A1", +"$1. c #8260A1", +"%1. c #805D9D", +"&1. c #8463A4", +"*1. c #9B78BE", +"=1. c #A481C9", +"-1. c #A17EC6", +";1. c #9F7DC5", +">1. c #9F7CC5", +",1. c #9E7BC4", +"'1. c #9D7AC4", +")1. c #9C79C2", +"!1. c #9C7AC3", +"~1. c #9E7DC4", +"{1. c #9F7EC4", +"]1. c #9F7FC5", +"^1. c #A080C6", +"/1. c #A282C6", +"(1. c #A384C7", +"_1. c #A688C9", +":1. c #A78ACA", +"<1. c #A88CCA", +"[1. c #AB8ECB", +"}1. c #AD91CD", +"|1. c #B096D0", +"11. c #A28ABE", +"21. c #957EAD", +"31. c #A79CB6", +"41. c #6C5F80", +"51. c #816D9B", +"61. c #9786AD", +"71. c #B4A4C6", +"81. c #BFB1D1", +"91. c #BFB0D1", +"01. c #B19DC7", +"a1. c #A78EC0", +"b1. c #A48CBE", +"c1. c #A087BC", +"d1. c #9D81BA", +"e1. c #9B7FB9", +"f1. c #9577B4", +"g1. c #9475B3", +"h1. c #9274B2", +"i1. c #9272B2", +"j1. c #9271B2", +"k1. c #9270B2", +"l1. c #9171B2", +"m1. c #9270B3", +"n1. c #8F6CAF", +"o1. c #8A68AA", +"p1. c #8A68AB", +"q1. c #8A69AB", +"r1. c #8A69AC", +"s1. c #8B68AC", +"t1. c #8B68AD", +"u1. c #8C68AC", +"v1. c #8C68AD", +"w1. c #8C67AD", +"x1. c #8D68AE", +"y1. c #8D69AF", +"z1. c #8E69B0", +"A1. c #8E68AF", +"B1. c #8A64A9", +"C1. c #8E6AAC", +"D1. c #8D6BAD", +"E1. c #8F6CAE", +"F1. c #906DAE", +"G1. c #9170B0", +"H1. c #9270B0", +"I1. c #9371B1", +"J1. c #9271B1", +"K1. c #9272B1", +"L1. c #9372B1", +"M1. c #9472B1", +"N1. c #9675B3", +"O1. c #9271AE", +"P1. c #9171AE", +"Q1. c #9070AD", +"R1. c #9774B3", +"S1. c #9674B3", +"T1. c #9573B3", +"U1. c #8C6BAA", +"V1. c #8A67A8", +"W1. c #825CA1", +"X1. c #7D589D", +"Y1. c #7C589C", +"Z1. c #7C599D", +"`1. c #7F5CA0", +" 2. c #9673BB", +".2. c #9E7AC5", +"+2. c #9B78C3", +"@2. c #9B77C2", +"#2. c #9B76C2", +"$2. c #9B75C2", +"%2. c #9A75C2", +"&2. c #9974C2", +"*2. c #9974C1", +"=2. c #9A76C1", +"-2. c #9B78C2", +";2. c #9D7BC4", +">2. c #A586C8", +",2. c #A687C9", +"'2. c #A88ACA", +")2. c #AA8DCB", +"!2. c #AC90CD", +"~2. c #B095D0", +"{2. c #A289BE", +"]2. c #9A84B1", +"^2. c #9C87B3", +"/2. c #A693B9", +"(2. c #A89CB6", +"_2. c #5B4C6F", +":2. c #826E9C", +"<2. c #8875A1", +"[2. c #D4CBDC", +"}2. c #D1C7DD", +"|2. c #BBAACD", +"12. c #BCABCF", +"22. c #B5A2CA", +"32. c #B39FC8", +"42. c #A992C3", +"52. c #A58DC0", +"62. c #A38ABE", +"72. c #A187BC", +"82. c #9F85BB", +"92. c #9D82B9", +"02. c #9A7DB8", +"a2. c #987AB7", +"b2. c #9778B5", +"c2. c #9474B3", +"d2. c #9273B2", +"e2. c #9171B1", +"f2. c #9070B0", +"g2. c #906FB1", +"h2. c #906EB1", +"i2. c #906DB2", +"j2. c #8F6CB2", +"k2. c #8967AA", +"l2. c #8966A9", +"m2. c #8965AA", +"n2. c #8966AA", +"o2. c #8964AB", +"p2. c #8A64AB", +"q2. c #8A65AC", +"r2. c #8A65AD", +"s2. c #8B65AE", +"t2. c #8C65AE", +"u2. c #8D66AE", +"v2. c #8C66AD", +"w2. c #8864A9", +"x2. c #8B67AB", +"y2. c #8C67AB", +"z2. c #8F6DAF", +"A2. c #906DAF", +"B2. c #906EAF", +"C2. c #916EAF", +"D2. c #9573B2", +"E2. c #906EAC", +"F2. c #9370B0", +"G2. c #9471B2", +"H2. c #9470B1", +"I2. c #8F6CAC", +"J2. c #8B67A8", +"K2. c #8B68A7", +"L2. c #8762A5", +"M2. c #825CA0", +"N2. c #805AA0", +"O2. c #7F589F", +"P2. c #7E589F", +"Q2. c #7D579E", +"R2. c #7C579D", +"S2. c #7C569B", +"T2. c #7B559A", +"U2. c #7A5499", +"V2. c #795498", +"W2. c #785397", +"X2. c #775297", +"Y2. c #765295", +"Z2. c #7D589F", +"`2. c #7C589E", +" 3. c #9571BB", +".3. c #9C77C5", +"+3. c #9973C1", +"@3. c #9873C0", +"#3. c #9A76C0", +"$3. c #9A77C2", +"%3. c #9C78C3", +"&3. c #9E7CC4", +"*3. c #9F7EC5", +"=3. c #A080C5", +"-3. c #A88ACB", +";3. c #AA8ECC", +">3. c #AD92CD", +",3. c #967FAD", +"'3. c #A491B9", +")3. c #A799B8", +"!3. c #A499B2", +"~3. c #4B3A5F", +"{3. c #301C46", +"]3. c #836F9D", +"^3. c #C8BFD5", +"/3. c #D0C6DB", +"(3. c #D2C8DF", +"_3. c #CBBFD9", +":3. c #B1A0C4", +"<3. c #B09CC8", +"[3. c #AC96C4", +"}3. c #A790C2", +"|3. c #9F85BC", +"13. c #9D83BB", +"23. c #9B7DB8", +"33. c #997BB7", +"43. c #9778B6", +"53. c #9375B3", +"63. c #9374B2", +"73. c #906FB2", +"83. c #906CB2", +"93. c #906DB3", +"03. c #8C6AAE", +"a3. c #8865A9", +"b3. c #8864AA", +"c3. c #8865AA", +"d3. c #8965AB", +"e3. c #8965AC", +"f3. c #8A64AC", +"g3. c #8D65AE", +"h3. c #8D67AE", +"i3. c #8B66AD", +"j3. c #8A65AA", +"k3. c #8A67AA", +"l3. c #8E6BAE", +"m3. c #9471B1", +"n3. c #9473B2", +"o3. c #8F6DAC", +"p3. c #9472B2", +"q3. c #9371B2", +"r3. c #815AA0", +"s3. c #80599F", +"t3. c #7F599F", +"u3. c #7E579F", +"v3. c #7C569C", +"w3. c #7C559B", +"x3. c #7B559B", +"y3. c #7A549A", +"z3. c #795398", +"A3. c #765296", +"B3. c #7D58A0", +"C3. c #7D599F", +"D3. c #9672BD", +"E3. c #9975C1", +"F3. c #9A76C2", +"G3. c #9E7CC5", +"H3. c #A07FC6", +"I3. c #A282C8", +"J3. c #A38BBE", +"K3. c #9882B0", +"L3. c #9D87B4", +"M3. c #A08BB6", +"N3. c #A390B8", +"O3. c #A693BA", +"P3. c #9B91AA", +"Q3. c #3D2A52", +"R3. c #CFC4DB", +"S3. c #B3A1C6", +"T3. c #AC9AC1", +"U3. c #BBABCE", +"V3. c #AB95C4", +"W3. c #AA93C3", +"X3. c #A68DC0", +"Y3. c #A48ABF", +"Z3. c #A085BB", +"`3. c #9E82BB", +" 4. c #9B7EB9", +".4. c #9475B5", +"+4. c #9373B3", +"@4. c #9272B3", +"#4. c #9271B4", +"$4. c #9270B4", +"%4. c #9170B3", +"&4. c #916FB2", +"*4. c #8B69AC", +"=4. c #8A67AC", +"-4. c #8B67AC", +";4. c #8B67AD", +">4. c #8C68AE", +",4. c #8D67AF", +"'4. c #8E69AF", +")4. c #8F69AF", +"!4. c #8F6BB0", +"~4. c #906BB1", +"{4. c #8E69AE", +"]4. c #8B68AB", +"^4. c #8C6AAB", +"/4. c #8E6AAD", +"(4. c #8F6BAD", +"_4. c #9474B2", +":4. c #9575B3", +"<4. c #9677B3", +"[4. c #9878B5", +"}4. c #9372AF", +"|4. c #9171AC", +"14. c #9777B5", +"24. c #9676B4", +"34. c #9675B4", +"44. c #8B6AA8", +"54. c #835FA2", +"64. c #7F59A0", +"74. c #7E599F", +"84. c #7E589E", +"94. c #7C579C", +"04. c #7A559A", +"a4. c #795599", +"b4. c #7F5BA1", +"c4. c #7F5AA0", +"d4. c #805BA2", +"e4. c #9D7AC6", +"f4. c #9C78C4", +"g4. c #9C77C3", +"h4. c #9B76C3", +"i4. c #9A76C3", +"j4. c #9B77C3", +"k4. c #9D79C4", +"l4. c #9F7BC6", +"m4. c #A07EC6", +"n4. c #A281C8", +"o4. c #A383C9", +"p4. c #A586C9", +"q4. c #A788C9", +"r4. c #AB8ECD", +"s4. c #AD90CD", +"t4. c #AF94CF", +"u4. c #B298D1", +"v4. c #B69DD3", +"w4. c #A58EBF", +"x4. c #9B85B3", +"y4. c #AD9BBE", +"z4. c #8E829D", +"A4. c #84709E", +"B4. c #A596B9", +"C4. c #CEC5DA", +"D4. c #B5A5C7", +"E4. c #B4A3C6", +"F4. c #B2A0C5", +"G4. c #BCABCE", +"H4. c #B19CC8", +"I4. c #AD97C5", +"J4. c #AB94C4", +"K4. c #A991C2", +"L4. c #A68CC0", +"M4. c #A38ABF", +"N4. c #A287BD", +"O4. c #9F83BB", +"P4. c #9E81BB", +"Q4. c #9C7FBA", +"R4. c #9B7DB9", +"S4. c #997BB8", +"T4. c #9779B7", +"U4. c #9677B7", +"V4. c #9777B7", +"W4. c #9776B6", +"X4. c #9776B7", +"Y4. c #9877B7", +"Z4. c #9472B4", +"`4. c #926FB2", +" 5. c #936FB3", +".5. c #9470B3", +"+5. c #9471B3", +"@5. c #9572B4", +"#5. c #9573B4", +"$5. c #9673B5", +"%5. c #9675B5", +"&5. c #9472B3", +"*5. c #9373B0", +"=5. c #9573B1", +"-5. c #9877B4", +";5. c #9D80B8", +">5. c #9E80B9", +",5. c #9B7DB5", +"'5. c #9979B3", +")5. c #9D7DB8", +"!5. c #9D7EBA", +"~5. c #9D7FB9", +"{5. c #9D7EB9", +"]5. c #9C7EB9", +"^5. c #9C7DB8", +"/5. c #9576B1", +"(5. c #9475B0", +"_5. c #8D6DAB", +":5. c #8D6CAB", +"<5. c #8C6BA9", +"[5. c #8865A5", +"}5. c #8563A7", +"|5. c #8462A4", +"15. c #8764A8", +"25. c #A07DC6", +"35. c #A27FC8", +"45. c #A07EC7", +"55. c #9F7EC6", +"65. c #9F7DC6", +"75. c #A280C7", +"85. c #A483C9", +"95. c #A584C9", +"05. c #A787CB", +"a5. c #A888CB", +"b5. c #AB8DCD", +"c5. c #AE92CF", +"d5. c #B196D0", +"e5. c #B399D2", +"f5. c #B59CD2", +"g5. c #B9A1D6", +"h5. c #A38FB9", +"i5. c #B0A5BD", +"j5. c #7A6D8B", +"k5. c #2E1C46", +"l5. c #9583AB", +"m5. c #BDACCF", +"n5. c #BEADD0", +"o5. c #B6A3CC", +"p5. c #B29ECA", +"q5. c #AF99C7", +"r5. c #AD96C6", +"s5. c #AA91C3", +"t5. c #A890C3", +"u5. c #A58ABF", +"v5. c #A186BE", +"w5. c #9F83BD", +"x5. c #9E82BC", +"y5. c #9E80BB", +"z5. c #9C80BA", +"A5. c #9D7EBB", +"B5. c #9C7EBA", +"C5. c #9C7EBB", +"D5. c #9D7DBB", +"E5. c #9877B6", +"F5. c #9878B6", +"G5. c #9878B7", +"H5. c #9978B7", +"I5. c #9977B7", +"J5. c #9A77B8", +"K5. c #9B79B8", +"L5. c #9B79B7", +"M5. c #9B7BB9", +"N5. c #9B7CB9", +"O5. c #9C7DBA", +"P5. c #9E7EBB", +"Q5. c #9C7CB9", +"R5. c #9D7EB8", +"S5. c #9E7FB9", +"T5. c #9E80BA", +"U5. c #9F81BA", +"V5. c #A082BA", +"W5. c #A285BA", +"X5. c #A385BC", +"Y5. c #A387BD", +"Z5. c #A388BD", +"`5. c #A689BE", +" 6. c #A58ABE", +".6. c #A68ABF", +"+6. c #A185BA", +"@6. c #A184B9", +"#6. c #A589BF", +"$6. c #A588BF", +"%6. c #A588BE", +"&6. c #A488BE", +"*6. c #A487BE", +"=6. c #A387BE", +"-6. c #9D7FB6", +";6. c #9B7CB4", +">6. c #9777B2", +",6. c #8966A5", +"'6. c #8865A4", +")6. c #8E6BAB", +"!6. c #8B6AA9", +"~6. c #A684CA", +"{6. c #A685CA", +"]6. c #A484C9", +"^6. c #A485C9", +"/6. c #A786CB", +"(6. c #A788CB", +"_6. c #A98ACC", +":6. c #AA8BCD", +"<6. c #AC8FCD", +"[6. c #AE91CF", +"}6. c #AF92CF", +"|6. c #B195D0", +"16. c #B59BD3", +"26. c #B79ED3", +"36. c #B9A2D5", +"46. c #BCA5D7", +"56. c #A793BC", +"66. c #B0A0C0", +"76. c #B0A7BD", +"86. c #635577", +"96. c #2F1D47", +"06. c #85719F", +"a6. c #86729F", +"b6. c #B8A8C9", +"c6. c #B6A6C8", +"d6. c #B5A4C7", +"e6. c #B9A8CB", +"f6. c #BFAFD2", +"g6. c #BAA7CF", +"h6. c #B9A5CD", +"i6. c #B7A3CC", +"j6. c #B6A1CB", +"k6. c #B39FCA", +"l6. c #B19AC8", +"m6. c #AE98C7", +"n6. c #AD97C6", +"o6. c #AD95C5", +"p6. c #A991C3", +"q6. c #A88FC3", +"r6. c #A78DC2", +"s6. c #A58BC1", +"t6. c #A48AC0", +"u6. c #A389BF", +"v6. c #A286BE", +"w6. c #A386BE", +"x6. c #A386BF", +"y6. c #A385BF", +"z6. c #A486C0", +"A6. c #A183BE", +"B6. c #9D7FBA", +"C6. c #9E7FBA", +"D6. c #9E81BC", +"E6. c #9F81BC", +"F6. c #A081BC", +"G6. c #A181BD", +"H6. c #A182BD", +"I6. c #A283BD", +"J6. c #A384BE", +"K6. c #A486BF", +"L6. c #A487C0", +"M6. c #A587C1", +"N6. c #A688C1", +"O6. c #A487BF", +"P6. c #A286BD", +"Q6. c #A68BBF", +"R6. c #A98DC0", +"S6. c #AC92C3", +"T6. c #AC92C4", +"U6. c #AD95C4", +"V6. c #AE95C5", +"W6. c #AD94C5", +"X6. c #AA91C1", +"Y6. c #A991C1", +"Z6. c #A990C0", +"`6. c #A88FBE", +" 7. c #AD92C4", +".7. c #AC92C5", +"+7. c #A489BC", +"@7. c #A388BB", +"#7. c #9779B1", +"$7. c #9474AE", +"%7. c #8F70AC", +"&7. c #8F6FA9", +"*7. c #8E6EA9", +"=7. c #9979B7", +"-7. c #AD8DD0", +";7. c #AC8CCE", +">7. c #AB8BCC", +",7. c #A98BCC", +"'7. c #A88ACC", +")7. c #AA8BCC", +"!7. c #AB8CCD", +"~7. c #AC8ECE", +"{7. c #AD8FCF", +"]7. c #AE90CF", +"^7. c #AF92D0", +"/7. c #B194D0", +"(7. c #B195D1", +"_7. c #B397D1", +":7. c #B499D2", +"<7. c #B59CD3", +"[7. c #B79ED5", +"}7. c #B9A0D5", +"|7. c #BBA4D6", +"17. c #BDA7D8", +"27. c #BFAAD9", +"37. c #B2A1C3", +"47. c #ACA3B8", +"57. c #4E3E63", +"67. c #33204A", +"77. c #C0B5CD", +"87. c #CFC4DC", +"97. c #BDADCC", +"07. c #BBABCC", +"a7. c #B6A5C9", +"b7. c #B8A6CA", +"c7. c #C5B6D6", +"d7. c #C2B1D4", +"e7. c #BFADD2", +"f7. c #BDABD1", +"g7. c #BCAAD0", +"h7. c #BBA8CF", +"i7. c #B9A6CE", +"j7. c #B7A5CD", +"k7. c #B6A3CD", +"l7. c #B4A0CC", +"m7. c #B49DCA", +"n7. c #B29BC9", +"o7. c #AF99C8", +"p7. c #AF97C7", +"q7. c #AE95C7", +"r7. c #AC93C7", +"s7. c #AB92C6", +"t7. c #AB91C4", +"u7. c #AA8FC4", +"v7. c #A98EC3", +"w7. c #A98EC4", +"x7. c #AA8FC5", +"y7. c #AB8FC4", +"z7. c #AB8FC6", +"A7. c #A68BC0", +"B7. c #A68AC0", +"C7. c #A68BC1", +"D7. c #A68AC1", +"E7. c #A88BC1", +"F7. c #A88BC2", +"G7. c #A88CC2", +"H7. c #A98EC2", +"I7. c #AB8FC3", +"J7. c #AB90C4", +"K7. c #AC90C5", +"L7. c #AC91C5", +"M7. c #AD91C5", +"N7. c #AD93C6", +"O7. c #AE94C6", +"P7. c #AF94C7", +"Q7. c #AE93C5", +"R7. c #B097C6", +"S7. c #B19AC7", +"T7. c #B39CC8", +"U7. c #B59ECA", +"V7. c #B7A0CB", +"W7. c #B59ECB", +"X7. c #B49CC9", +"Y7. c #AC95C2", +"Z7. c #A68DBD", +"`7. c #9D81B6", +" 8. c #9B7DB3", +".8. c #997CB4", +"+8. c #9B7EB7", +"@8. c #A285BF", +"#8. c #B496D5", +"$8. c #B295D3", +"%8. c #B293D1", +"&8. c #B193D0", +"*8. c #B093D0", +"=8. c #B094D0", +"-8. c #B195D2", +";8. c #B296D2", +">8. c #B397D3", +",8. c #B498D3", +"'8. c #B499D3", +")8. c #B59AD3", +"!8. c #B79BD4", +"~8. c #B89DD5", +"{8. c #B89FD5", +"]8. c #BAA1D6", +"^8. c #BBA3D7", +"/8. c #BDA5D8", +"(8. c #BEA8D8", +"_8. c #C2ADDA", +":8. c #C2AFDA", +"<8. c #B09FC3", +"[8. c #B2A2C4", +"}8. c #B5A5C5", +"|8. c #B5A8C2", +"18. c #9F95AD", +"28. c #3E2C53", +"38. c #8672A0", +"48. c #A99ABB", +"58. c #C8BAD8", +"68. c #C7B8D8", +"78. c #C4B5D6", +"88. c #C1B1D4", +"98. c #C1B0D3", +"08. c #BBA9D0", +"a8. c #BAA8CF", +"b8. c #BAA6CE", +"c8. c #B9A4CE", +"d8. c #B7A2CE", +"e8. c #B6A0CD", +"f8. c #B59FCC", +"g8. c #B49ECC", +"h8. c #B39CCB", +"i8. c #B29ACA", +"j8. c #B199C9", +"k8. c #B098C8", +"l8. c #B097C8", +"m8. c #AF97C9", +"n8. c #B097C9", +"o8. c #B197CA", +"p8. c #B198CB", +"q8. c #AF96C8", +"r8. c #AC93C5", +"s8. c #AD93C5", +"t8. c #AE93C6", +"u8. c #AE93C7", +"v8. c #AF95C7", +"w8. c #B096C7", +"x8. c #B197C8", +"y8. c #B198C8", +"z8. c #B199C8", +"A8. c #B299CA", +"B8. c #B39BCA", +"C8. c #B49BCA", +"D8. c #B59CCB", +"E8. c #B59DCB", +"F8. c #B49ECB", +"G8. c #B69ECC", +"H8. c #B6A0CB", +"I8. c #B8A3CC", +"J8. c #BAA4CD", +"K8. c #BAA5CE", +"L8. c #C0ADD2", +"M8. c #C1ADD2", +"N8. c #BFACD2", +"O8. c #BFAAD0", +"P8. c #BFABD0", +"Q8. c #BCA7CD", +"R8. c #BBA6CC", +"S8. c #BBA6CD", +"T8. c #BDA8D1", +"U8. c #BDA8D0", +"V8. c #BCA8D0", +"W8. c #BBA7D0", +"X8. c #BBA6D0", +"Y8. c #AC93C0", +"Z8. c #9E82B6", +"`8. c #AC90C8", +" 9. c #B99FD8", +".9. c #B89DD6", +"+9. c #B89CD6", +"@9. c #B79BD5", +"#9. c #B69BD5", +"$9. c #B79CD5", +"%9. c #B79DD5", +"&9. c #B89ED6", +"*9. c #B99FD7", +"=9. c #B99FD6", +"-9. c #BAA0D6", +";9. c #BBA1D7", +">9. c #BCA3D8", +",9. c #BDA4D8", +"'9. c #BEA6D9", +")9. c #BFA8DA", +"!9. c #C0A9DA", +"~9. c #C2ACDA", +"{9. c #C3AEDC", +"]9. c #C4B0DC", +"^9. c #C6B3DD", +"/9. c #C5B3DB", +"(9. c #B19FC4", +"_9. c #B09EC3", +":9. c #B2A1C4", +"<9. c #B4A3C5", +"[9. c #B7A8C7", +"}9. c #8A7F99", +"|9. c #36234C", +"19. c #8773A1", +"29. c #9481AA", +"39. c #C7BAD6", +"49. c #D0C3DD", +"59. c #D4C9E2", +"69. c #D5CAE1", +"79. c #D6CAE2", +"89. c #D6CAE1", +"99. c #D6C9E3", +"09. c #D6CAE3", +"a9. c #D6C9E4", +"b9. c #D6CBE4", +"c9. c #D7CBE3", +"d9. c #D7CAE3", +"e9. c #D8CBE3", +"f9. c #D8CCE3", +"g9. c #D8CCE4", +"h9. c #D9CDE6", +"i9. c #DACDE6", +"j9. c #DBCFE6", +"k9. c #DCD0E7", +"l9. c #DCD1E8", +"m9. c #DED3E8", +"n9. c #DFD4E9", +"o9. c #E0D4EB", +"p9. c #E0D6EB", +"q9. c #E0D7EB", +"r9. c #E0D6E9", +"s9. c #E0D7EA", +"t9. c #E2D8EA", +"u9. c #E3D8EB", +"v9. c #E3DAEC", +"w9. c #E4DAEC", +"x9. c #E5DBEE", +"y9. c #E6DDEE", +"z9. c #E6DFEE", +"A9. c #E7DEEE", +"B9. c #E8E0EE", +"C9. c #E9E1EF", +"D9. c #E9E2F0", +"E9. c #EAE3F1", +"F9. c #EBE4F1", +"G9. c #ECE5F2", +"H9. c #ECE6F2", +"I9. c #EDE7F2", +"J9. c #EEE8F4", +"K9. c #EFE9F4", +"L9. c #F1ECF5", +"M9. c #F1EDF6", +"N9. c #F1EEF6", +"O9. c #F4EFF7", +"P9. c #FAFAFC", +"Q9. c #FCFBFD", +"R9. c #FCFDFD", +"S9. c #F4F1F5", +"T9. c #EEE8F2", +"U9. c #EDE7F3", +"V9. c #ECE5F1", +"W9. c #EAE2F0", +"X9. c #E7DFEE", +"Y9. c #E7DFEC", +"Z9. c #E3DBEA", +"`9. c #E2D9EA", +" 0. c #E0D8E9", +".0. c #E0D6E8", +"+0. c #E0D6E7", +"@0. c #DFD6E6", +"#0. c #DED3E5", +"$0. c #DDD2E5", +"%0. c #DBD1E4", +"&0. c #DAD0E3", +"*0. c #D8CEE2", +"=0. c #D8CCE2", +"-0. c #D6CAE0", +";0. c #D5C8DF", +">0. c #D3C7DE", +",0. c #D3C5DE", +"'0. c #D1C3DC", +")0. c #CFC1DC", +"!0. c #CEBFDA", +"~0. c #CDBED9", +"{0. c #CBBCD8", +"]0. c #C9BAD7", +"^0. c #C8B9D6", +"/0. c #C6B4D4", +"(0. c #C3B1D2", +"_0. c #C6B3DB", +":0. c #CDBAE4", +"<0. c #CBB7E2", +"[0. c #CBB6E1", +"}0. c #CAB7E1", +"|0. c #CBB8E2", +"10. c #CBB8E1", +"20. c #CBB9E2", +"30. c #CCB9E2", +"40. c #CCBAE2", +"50. c #CDBAE3", +"60. c #CEBBE3", +"70. c #CFBDE2", +"80. c #CEBFE4", +"90. c #D0C0E3", +"00. c #D0C1E4", +"a0. c #CDBEDE", +"b0. c #B7A5C8", +"c0. c #B7A6C7", +"d0. c #B8A8C8", +"e0. c #B9A9C9", +"f0. c #B9B1C4", +"g0. c #716382", +"h0. c #C9BDD6", +"i0. c #CBBFD8", +"j0. c #DCD3E6", +"k0. c #DDD4E7", +"l0. c #DED5E8", +"m0. c #DFD7E8", +"n0. c #E0D7E8", +"o0. c #E0D5E9", +"p0. c #DFD5E9", +"q0. c #DED3EA", +"r0. c #DED4E9", +"s0. c #DDD5E9", +"t0. c #DED4E8", +"u0. c #DED3E7", +"v0. c #DDD3E7", +"w0. c #DDD3E8", +"x0. c #DED3E9", +"y0. c #DFD5EA", +"z0. c #E0D6EA", +"A0. c #E1D7EB", +"B0. c #E2D7EC", +"C0. c #E2D8EC", +"D0. c #E2D9EC", +"E0. c #E1D8EA", +"F0. c #E1D8EB", +"G0. c #E3D9EB", +"H0. c #E4D9EC", +"I0. c #E4DBEC", +"J0. c #E5DCEE", +"K0. c #EAE3F0", +"L0. c #E9E2EF", +"M0. c #E8E0ED", +"N0. c #E5DDEB", +"O0. c #E4DCEB", +"P0. c #E4DBEB", +"Q0. c #E3DBEB", +"R0. c #E3DAEA", +"S0. c #E3DAE9", +"T0. c #E2D8E8", +"U0. c #E1D8E8", +"V0. c #DFD7E7", +"W0. c #DED6E7", +"X0. c #DED4E7", +"Y0. c #DED4E5", +"Z0. c #DDD3E5", +"`0. c #DCD2E5", +" a. c #DCD1E5", +".a. c #DAD0E4", +"+a. c #DBCFE4", +"@a. c #DACFE3", +"#a. c #D8CDE2", +"$a. c #D7CBE1", +"%a. c #D6C9E0", +"&a. c #D5C9DF", +"*a. c #D4C8DF", +"=a. c #D3C7DF", +"-a. c #D3C6DE", +";a. c #D4C7DE", +">a. c #D5C8E1", +",a. c #D4C7E1", +"'a. c #D4C7E0", +")a. c #DCCFEA", +"!a. c #DFD3EE", +"~a. c #DED1ED", +"{a. c #DECFEC", +"]a. c #DECFEB", +"^a. c #DED0EC", +"/a. c #DDD0EB", +"(a. c #DCD0EC", +"_a. c #DCCFEB", +":a. c #DCCEEB", +"b. c #BDAECF", +",b. c #C2B3D2", +"'b. c #C9BCDA", +")b. c #C8BBD9", +"!b. c #C7B9D9", +"~b. c #C6B6D8", +"{b. c #C5B5D7", +"]b. c #C4B4D7", +"^b. c #C1B1D5", +"/b. c #C0B1D4", +"(b. c #C0AFD4", +"_b. c #C0ADD3", +":b. c #BFABD3", +"c. c #C3ADDD", +",c. c #C4AFDD", +"'c. c #C6B0DE", +")c. c #C7B1DF", +"!c. c #C8B3DF", +"~c. c #C9B5DF", +"{c. c #CAB7E0", +"]c. c #CBB9E1", +"^c. c #CCBBE1", +"/c. c #CFC0E4", +"(c. c #C2B1D5", +"_c. c #B6A5C7", +":c. c #BAAACA", +"d. c #C5AFDD", +",d. c #C5B1DD", +"'d. c #C8B4DE", +")d. c #CCB9E1", +"!d. c #B5A3C6", +"~d. c #B8A7C9", +"{d. c #BAAAC9", +"]d. c #B8B1C4", +"^d. c #655778", +"/d. c #B9A8CA", +"(d. c #B19EC6", +"_d. c #C5B5D6", +":d. c #C0B0D4", +"e. c #49395E", +",e. c #A696BA", +"'e. c #D3C9DE", +")e. c #BAAACB", +"!e. c #B7A5C9", +"~e. c #B5A3C8", +"{e. c #BEADD2", +"]e. c #BCA9D0", +"^e. c #BAA6CF", +"/e. c #B8A5CF", +"(e. c #AD92C7", +"_e. c #AB90C7", +":e. c #AA90C5", +"f. c #9D7CBE", +",f. c #9E7CBE", +"'f. c #9E7CBD", +")f. c #9E7DBD", +"!f. c #9E7DBE", +"~f. c #9B79BA", +"{f. c #9876B7", +"]f. c #9A79B8", +"^f. c #9A7AB9", +"/f. c #9B7BBA", +"(f. c #9C7CBA", +"_f. c #A283BE", +":f. c #A284BE", +"g. c #9A79B9", +",g. c #9B79B9", +"'g. c #9B7AB9", +")g. c #9C7BBA", +"!g. c #9D7CBA", +"~g. c #9B7BB7", +"{g. c #9E7EB9", +"]g. c #9F7FBA", +"^g. c #9F80BA", +"/g. c #A081BA", +"(g. c #A081BB", +"_g. c #A283BB", +":g. c #A486BD", +"h. c #A081B9", +",h. c #A183BB", +"'h. c #E4DCEC", +")h. c #E1D7E9", +"!h. c #E1D7E8", +"~h. c #E0D5E8", +"{h. c #DFD5E7", +"]h. c #DFD4E7", +"^h. c #A385BE", +"/h. c #A485BE", +"(h. c #A485BD", +"_h. c #A384BD", +":h. c #9E7FB7", +"i. c #E5DCEC", +",i. c #E5DCEB", +"'i. c #9E7DBA", +")i. c #A082BC", +"!i. c #9C7CB5", +"~i. c #9F7EBA", +"{i. c #9C7BB9", +"]i. c #9876B6", +"^i. c #8B69AA", +"/i. c #7B569C", +"(i. c #7F59A1", +"_i. c #835DA6", +":i. c #825CA6", +"j. c #9D7BB9", +",j. c #9C7AB9", +"'j. c #9674B4", +")j. c #8562A5", +"!j. c #7C579F", +"~j. c #7B559D", +"{j. c #7B549D", +"]j. c #7A539C", +"^j. c #7A529B", +"/j. c #79519B", +"(j. c #7F57A2", +"_j. c #815AA5", +":j. c #8058A4", +"k. c #9D7CBB", +",k. c #9C7ABA", +"'k. c #9675B6", +")k. c #8A67A9", +"!k. c #8966A8", +"~k. c #8663A6", +"{k. c #7F5AA1", +"]k. c #7F58A0", +"^k. c #7D579F", +"/k. c #7C569E", +"(k. c #7C559D", +"_k. c #7B539C", +":k. c #78509B", +"l. c #966DBE", +",l. c #A37BCE", +"'l. c #A37ACC", +")l. c #A57CCE", +"!l. c #A680CE", +"~l. c #A781CF", +"{l. c #AB85D1", +"]l. c #AC87D2", +"^l. c #AE8AD3", +"/l. c #B08ED4", +"(l. c #B392D5", +"_l. c #B596D6", +":l. c #B79AD8", +"m. c #B29FC6", +",m. c #AF9BC5", +"'m. c #AB95C2", +")m. c #A68EC0", +"!m. c #A88FC1", +"~m. c #B6A1CE", +"{m. c #B199CA", +"]m. c #AB93C7", +"^m. c #AA8FC6", +"/m. c #A689C3", +"(m. c #A183C1", +"_m. c #A07FC0", +":m. c #9D7CBF", +"n. c #9D7CB9", +",n. c #A484BF", +"'n. c #A687C1", +")n. c #A686C0", +"!n. c #A183BD", +"~n. c #A382BF", +"{n. c #9D7ABA", +"]n. c #825DA3", +"^n. c #7C559E", +"/n. c #7B549E", +"(n. c #815AA6", +"_n. c #7E56A2", +":n. c #8A63B1", +"o. c #CDB9E1", +",o. c #D0BCE3", +"'o. c #D2C0E4", +")o. c #D5C4E5", +"!o. c #D7C8E7", +"~o. c #DBCDE9", +"{o. c #BEADCE", +"]o. c #C4B5D2", +"^o. c #716483", +"/o. c #927EAC", +"(o. c #A791C1", +"_o. c #A086BC", +":o. c #B49CCC", +"p. c #A687C2", +",p. c #A787C3", +"'p. c #A788C3", +")p. c #A888C4", +"!p. c #A78AC1", +"~p. c #AA8CC3", +"{p. c #AA8DC3", +"]p. c #AA8DC2", +"^p. c #A98CC2", +"/p. c #A88AC3", +"(p. c #A688C2", +"_p. c #9E7BBA", +":p. c #9776B5", +"q. c #CBB4E1", +",q. c #CDB8E2", +"'q. c #D3C1E5", +")q. c #D6C5E6", +"!q. c #DBCEEA", +"~q. c #DDD1EA", +"{q. c #C1B0D0", +"]q. c #C4B7D1", +"^q. c #B5ADC0", +"/q. c #524167", +"(q. c #3C2A54", +"_q. c #AA95C2", +":q. c #A489BF", +"r. c #AC8FC5", +",r. c #AD90C5", +"'r. c #AE91C5", +")r. c #AC8EC5", +"!r. c #AC8FC6", +"~r. c #AB8DC5", +"{r. c #A284C0", +"]r. c #815AA3", +"^r. c #865FAA", +"/r. c #855EA8", +"(r. c #855DA8", +"_r. c #865EA9", +":r. c #865FA9", +"s. c #D0BDE4", +",s. c #D4C2E6", +"'s. c #D7C6E8", +")s. c #DCCEEA", +"!s. c #DED2EB", +"~s. c #E0D5EB", +"{s. c #C7B7D6", +"]s. c #C7B8D5", +"^s. c #C3B8CE", +"/s. c #8F839D", +"(s. c #45345D", +"_s. c #A791BE", +":s. c #A489C0", +"t. c #9B77BB", +",t. c #9B79BC", +"'t. c #A281C1", +")t. c #A381C1", +"!t. c #A685C3", +"~t. c #AB8DC7", +"{t. c #AC8EC6", +"]t. c #AF90C9", +"^t. c #B093CA", +"/t. c #B093CB", +"(t. c #B196CC", +"_t. c #B297CC", +":t. c #B297CD", +"u. c #BEA8D2", +",u. c #BEA6D2", +"'u. c #BCA5D1", +")u. c #BBA4D0", +"!u. c #BBA3D0", +"~u. c #BAA2D0", +"{u. c #AC8DC5", +"]u. c #AB8EC6", +"^u. c #8861A9", +"/u. c #8861AA", +"(u. c #8B65AD", +"_u. c #A07CC4", +":u. c #B18FD6", +"v. c #C4B9CF", +",v. c #8D819C", +"'v. c #48365E", +")v. c #9581B0", +"!v. c #C9BDDA", +"~v. c #A78EBF", +"{v. c #A88EC3", +"]v. c #A68BC2", +"^v. c #9D7FBC", +"/v. c #9C7CBC", +"(v. c #A98BC6", +"_v. c #AB8EC8", +":v. c #A787C6", +"w. c #946FBA", +",w. c #9873BC", +"'w. c #9B77BD", +")w. c #A381C4", +"!w. c #A582C5", +"~w. c #A27EC0", +"{w. c #AA8AC6", +"]w. c #AD8EC7", +"^w. c #AF90C8", +"/w. c #AF93CB", +"(w. c #B599CE", +"_w. c #B69BCF", +":w. c #B69DCF", +"x. c #D7C8E4", +",x. c #D6C7E3", +"'x. c #D5C6E3", +")x. c #D3C4E1", +"!x. c #D2C2E0", +"~x. c #D1C1E0", +"{x. c #D1BFDF", +"]x. c #CFBFDF", +"^x. c #D0BEDF", +"/x. c #CFBDDF", +"(x. c #CFBDDE", +"_x. c #CEBCDD", +":x. c #CDBBDD", +"y. c #E3D8EE", +",y. c #E6DCEF", +"'y. c #C4BACF", +")y. c #80728F", +"!y. c #A694BD", +"~y. c #A082BF", +"{y. c #A788C7", +"]y. c #A483C5", +"^y. c #A380C3", +"/y. c #9B75BE", +"(y. c #9974BC", +"_y. c #9976BD", +":y. c #9D79C1", +"z. c #C0A8D5", +",z. c #C0A7D4", +"'z. c #BBA2CF", +")z. c #BCA3D0", +"!z. c #CEBBDE", +"~z. c #E4DAED", +"{z. c #E1D6EB", +"]z. c #E1D5EB", +"^z. c #DFD2EA", +"/z. c #DED1E9", +"(z. c #DDD0E8", +"_z. c #DCCFE7", +":z. c #DBCEE7", +"A. c #A197AF", +",A. c #4E3B65", +"'A. c #9B87B6", +")A. c #C6B9D8", +"!A. c #C4B8D7", +"~A. c #A084BB", +"{A. c #9975BB", +"]A. c #A482C4", +"^A. c #9672BB", +"/A. c #A683C6", +"(A. c #A784C6", +"_A. c #AA88C7", +":A. c #AD8ECB", +"B. c #E9E0F0", +",B. c #E9E0EF", +"'B. c #E8E0F0", +")B. c #E8DFEF", +"!B. c #E7DFEF", +"~B. c #E7DEEF", +"{B. c #E6DBEE", +"]B. c #CBB7DC", +"^B. c #C4AED8", +"/B. c #A080BA", +"(B. c #9C7EB8", +"_B. c #8C69AE", +":B. c #8E6AAF", +"C. c #B79AD3", +",C. c #B699D2", +"'C. c #B497CF", +")C. c #B498CF", +"!C. c #B599CF", +"~C. c #BB9FD1", +"{C. c #C1A7D4", +"]C. c #C5AFD9", +"^C. c #C6B0D9", +"/C. c #C6B0DA", +"(C. c #C6B1DA", +"_C. c #C7B2DB", +":C. c #C9B4DD", +"D. c #B193CE", +",D. c #B496CF", +"'D. c #B599D0", +")D. c #B598D0", +"!D. c #B69AD0", +"~D. c #C3ABD6", +"{D. c #C5B0DA", +"]D. c #C7B1DA", +"^D. c #C7B3DB", +"/D. c #CBB6DE", +"(D. c #CCB7DF", +"_D. c #CDB8DF", +":D. c #C9B5DD", +"E. c #C7B1DB", +",E. c #C8B2DC", +"'E. c #C8B4DC", +")E. c #CFBCE1", +"!E. c #D0BCE1", +"~E. c #D0BCE2", +"{E. c #D0BDE2", +"]E. c #D1BDE3", +"^E. c #CEBCE0", +"/E. c #CEBADF", +"(E. c #CDB9DE", +"_E. c #FDFCFE", +":E. c #FAF7FB", +"F. c #9F7BBF", +",F. c #9F7CBF", +"'F. c #A07EBF", +")F. c #AC8CC7", +"!F. c #B193CC", +"~F. c #BBA1D4", +"{F. c #BEA3D5", +"]F. c #BFA3D5", +"^F. c #C1A6D7", +"/F. c #C2A8D8", +"(F. c #C2AAD8", +"_F. c #C1A9D7", +":F. c #C1A8D4", +"G. c #AF93C5", +",G. c #A182BA", +"'G. c #9877B8", +")G. c #B395CF", +"!G. c #D0BBE4", +"~G. c #D5C2E6", +"{G. c #D9CBE9", +"]G. c #DFD2EB", +"^G. c #8C7E9C", +"/G. c #615177", +"(G. c #523F69", +"_G. c #AF9EC6", +":G. c #A18CBA", +"H. c #EAE1F1", +",H. c #D6C5E4", +"'H. c #D8CAE6", +")H. c #C5B0D6", +"!H. c #B196C7", +"~H. c #B094C5", +"{H. c #AF92C5", +"]H. c #B194CD", +"^H. c #E3D7ED", +"/H. c #CEBFDC", +"(H. c #5C4A72", +"_H. c #B2A2C8", +":H. c #9F8AB9", +"I. c #A28FBC", +",I. c #8261A3", +"'I. c #744B98", +")I. c #764E99", +"!I. c #8D68AF", +"~I. c #B396CC", +"{I. c #C3ABD8", +"]I. c #C9B2DD", +"^I. c #CAB3DD", +"/I. c #CEB9DF", +"(I. c #DAC9E8", +"_I. c #DBCEE9", +":I. c #DED0E9", +"J. c #D9C9E7", +",J. c #D9CAE8", +"'J. c #DECFEA", +")J. c #E1D4ED", +"!J. c #E2D6EC", +"~J. c #E2D8EB", +"{J. c #BBA3CF", +"]J. c #BBA3CE", +"^J. c #B79ECC", +"/J. c #BEA4D8", +"(J. c #D7C8E8", +"_J. c #BCB1C9", +":J. c #887B99", +"K. c #BFA9D2", +",K. c #BCA3CE", +"'K. c #BAA1CD", +")K. c #B69ECB", +"!K. c #B399C8", +"~K. c #BA9FD4", +"{K. c #C6B5D7", +"]K. c #C4B8D0", +"^K. c #998CA7", +"/K. c #6F5D83", +"(K. c #584570", +"_K. c #C0B1D2", +":K. c #BDAFD1", +"L. c #D4C2E3", +",L. c #D5C4E3", +"'L. c #D8C8E6", +")L. c #DACCE8", +"!L. c #E4D8EF", +"~L. c #E5D8EF", +"{L. c #E6DAEF", +"]L. c #E7DCF1", +"^L. c #E7DEF1", +"/L. c #E7DFF1", +"(L. c #E8DFF2", +"_L. c #E9DFF2", +":L. c #EADFF2", +"M. c #C1ABD2", +",M. c #B397CA", +"'M. c #A485C1", +")M. c #C4ACDC", +"!M. c #E5DDEF", +"~M. c #CFC0DF", +"{M. c #705F86", +"]M. c #5D4A75", +"^M. c #5C4974", +"/M. c #C8BDD9", +"(M. c #8E6BB0", +"_M. c #A584C0", +":M. c #CDB9DD", +"N. c #8D7F9F", +",N. c #634F7B", +"'N. c #604D78", +")N. c #B59ACD", +"!N. c #D9CCE5", +"~N. c #DBCDE6", +"{N. c #DBCFE8", +"]N. c #E8DEF0", +"^N. c #E9DEF1", +"/N. c #EFE9F6", +"(N. c #F0E9F7", +"_N. c #F0EBF7", +":N. c #F1EDF7", +"O. c #66537F", +",O. c #DAD2E5", +"'O. c #CBB6DB", +")O. c #F0E9F4", +"!O. c #F2ECF5", +"~O. c #F1EBF4", +"{O. c #EFE8F2", +"]O. c #E1D6E9", +"^O. c #CEBDDC", +"/O. c #CBC4D5", +"(O. c #9184A4", +"_O. c #695682", +":O. c #685480", +"P. c #C9B5DB", +",P. c #C1A7DA", +"'P. c #C8B2DF", +")P. c #B89FD1", +"!P. c #8E7EA2", +"~P. c #74618D", +"{P. c #D4C9E0", +"]P. c #B49ACA", +"^P. c #B9A1CE", +"/P. c #D0BFDD", +"(P. c #B298CC", +"_P. c #776490", +":P. c #ECE9F1", +"Q. c #A496B8", +",Q. c #8B78A3", +"'Q. c #84709D", +")Q. c #A48FBF", +"!Q. c #B2A0C9", +"~Q. c #AE93C4", +"{Q. c #B8A0CE", +"]Q. c #C3AED6", +"^Q. c #CDBDDD", +"/Q. c #AC9DBD", +"(Q. c #907DA8", +"_Q. c #8873A0", +":Q. c #A38EBE", +" - - , , ' ) ) ! ~ { { ~ ! ! ) ) ' ' ] , , - - > = = . . @ ^ / ( _ ", +" : : - < , ) { [ } | 1 1 2 3 4 4 5 6 7 8 9 0 0 0 9 7 6 5 4 4 a 3 1 1 | | [ ~ ! ' , : b . $ c / _ d e ", +" ; - f g ! h } i 2 j k l m n o p q r s r s s t u u u u u u u u s s r q q p p o v w x 8 7 4 3 1 | y z A B = . $ c C d e ", +" f , g ! h D E F G H I J K L M N O P Q R S T U V W V X Y Z Z Z Z Z Z Z Z Y X V W ` . .. +. @. #. u s q p o w 0 5 a 1 $. ~ ' %. : . $ ^ &. d *. ", +" f , ) { | =. -. ;. >. ,. '. ,. ). !. ~. {. ]. ^. /. (. _. :. <. [. }. |. 1. 2. 3. 4. 5. 6. 7. 7. 8. 7. 7. 6. 5. 4. 9. 0. a. b. c. d. e. f. g. h. i. W j. .. k. #. s l. o w 7 m. 1 | ~ ' %. = . % / d n. o. ", +" p. ) { | 1 q. r. s. t. u. v. w. x. y. z. A. B. C. D. E. F. F. G. G. G. H. I. J. K. L. M. N. O. P. Q. R. Q. Q. Q. R. S. S. T. U. V. W. X. Y. Z. `. + .+ 8. 4. a. ++ d. f. g. Z W @+ k. #+ $+ %+ w 7 3 1 [ ~ A : . % &+ d o. o. ", +" p. ) { | *+ =+ -+ ;+ >+ ,+ '+ )+ !+ ~+ v. {+ {+ {+ ]+ ]+ ]+ ^+ ^+ /+ (+ _+ :+ <+ [+ }+ |+ 1+ 2+ 3+ 4+ 5+ 6+ 7+ 8+ 9+ 9+ 9+ 0+ a+ b+ c+ d+ e+ f+ g+ h+ i+ j+ k+ l+ Q. U. W. Y. m+ + n+ o+ p+ d. q+ h. X . r+ #+ q o 0 4 1 s+ ~ A : . % C d o. o. ", +" t+ u+ D v+ =. w+ x+ y+ z+ A+ B+ C+ D+ E+ F+ G+ G+ G+ H+ H+ I+ E+ J+ K+ L+ M+ N+ 7+ O+ P+ Q+ R+ S+ T+ U+ V+ W+ X+ Y+ Z+ `+ @ .@ +@ @@ #@ $@ %@ &@ *@ =@ -@ ;@ >@ ,@ '@ )@ !@ 0+ d+ f+ ~@ {@ ]@ Q. ^@ X. m+ /@ 8. a. (@ q+ h. W .. _@ s %+ 0 4 1 [ ! A = $ c _ n. o. o. ", +" :@ <@ [@ } *+ }@ |@ 1@ 2@ 3@ 4@ 5@ 6@ B+ 7@ 8@ 8@ 8@ 7@ 9@ 0@ A+ 6@ a@ b@ c@ d@ e@ U+ f@ g@ Y+ h@ i@ j@ k@ l@ m@ n@ o@ p@ q@ r@ s@ t@ t@ t@ u@ v@ w@ x@ y@ z@ A@ B@ C@ D@ E@ F@ G@ H@ $@ I@ J@ >@ '@ K@ 0+ e+ h+ L@ M@ N@ O@ Z. .+ 5. b. P@ g. X Q@ R@ s o 9 a i y ' B . % C e o. o. ", +" :@ S@ T@ *+ U@ V@ 1@ W@ X@ Y@ Z@ `@ # .# 5@ 5@ +# @# ## 4@ $# %# &# *# =# -# ;# ># ,# '# )# !# ~# p@ {# ]# ^# /# (# _# :# <# [# }# |# 1# 1# 2# 1# 1# 3# 4# 5# 6# 7# 8# 9# 0# a# b# c# d# e# f# g# h# i# F@ j# k# l# m# '@ !@ n# g+ {@ o# U. Y. p# 8. a. P@ g. V .. #. q q# 6 2 [ z %. r# $ &+ d o. o. o. ", +" s# t# v+ =. u# v# w# x# y# z# A# B# &# C# D# E# &# F# G# H# I# J# K# L# M# N# O# P# Q# R# S# T# U# V# W# [# X# Y# Z# `# $ .$ +$ @$ #$ $$ %$ &$ *$ *$ &$ &$ %$ $$ =$ -$ ;$ >$ ,$ '$ )$ !$ ~$ {$ ]$ ^$ 7# /$ ($ _$ :$ <$ [$ }$ |$ 1$ I@ 2$ 3$ 9+ e+ 4$ ]@ N@ X. 5$ 8. b. 6$ h. ` +. t %+ 0 3 s+ ~ A = $ ^ d o. o. o. ", +" 7$ 8$ 9$ 0$ a$ b$ c$ d$ e$ f$ g$ h$ A# A# A# A# i$ K# j$ k$ l$ m$ n$ o$ p$ q$ r$ s$ t$ u$ v$ w$ 2# Y# x$ y$ .$ z$ *$ A$ B$ C$ D$ E$ F$ G$ H$ I$ J$ K$ L$ K$ K$ K$ M$ I$ N$ O$ P$ Q$ R$ S$ T$ U$ V$ W$ X$ Y$ Z$ `$ % ~$ .% +% 9# @% #% $% %% }$ &% $@ *% =% !@ -% ;% >% U. ,% '% o+ (@ )% X .. #+ !% 0 m. | ~ A = $ ^ d o. o. o. ", +" ~% {% *+ ]% ^% /% (% _% :% <% [% y# }% |% |% }% 1% 2% 3% 4% 5% 6% 7% 8% 9% 0% a% b% c% d% e% f% g% h% i% j% k% l% E$ G$ m% n% o% p% q% r% s% t% u% v% w% x% y% x% x% x% v% v% u% t% z% A% B% C% D% E% F% G% H% I% P$ J% K% L% M% Y$ N% O% P% Q% R% @% d# <$ S% F@ #@ T% =% U% f+ {@ V% O@ W% 8. b. f. Z Q@ #. q w 4 | ~ %. = $ &+ e o. o. o. ", +" X% {% Y% Z% `% & .& +& @& #& $& %& && *& N# N# n$ =& -& ;& >& ,& '& )& !& ~& c% {& ]& f% ^& /& (& _& :& <& [& }& |& 1& r% 2& 3& 4& 5& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 7& 8& 8& 8& 8& 9& 0& a& b& c& B% D% d& e& f& g& T$ h& i& >$ % j& k& l& m& w@ S% |$ k# n& o& c+ ~@ >% p& Z. n+ a. 6$ Z Q@ #. q w a | ' - b $ / n. o. o. o. ", +" q& r& s& 4 t& u& v& w& x& y& #& c$ z& o$ z& A& B& C& D& E& F& G& H& I& J& K& L& M& N& O& P& Q& R& S& T& U& V& W& t% X& Y& Z& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 7& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 9& 3& b& `& * .* +* @* K% #* $* %* &* k& ** =* y@ -* ;* -@ >* 9+ g+ k+ U. ,* n+ a. 6$ Z Q@ #. p 0 3 $. ] : . c _ o. o. o. o. ", +" '* )* !* ~* {* ]* ^* /* (* _* :* <* [* }* }* q$ |* 1* 2* 3* 4* 5* 6* 7* 8* 9* 0* N& a* P& b* c* d* e* f* g* h* X& i* j* 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 7& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 9& k* l* m* n* o* p* q* $* r* .% R% s* v@ C@ t* u* ,@ v* g+ k+ U. Z. w* b. q+ X x* u y* 7 1 y A r# $ ^ e o. o. o. o. ", +" z* z* A* B* C* D* E* F* G* /* ]# H* y& I* I* J* K* L* M* N* O* 6* P* Q* R* S* T* U* V* W* X* Y* [& Z* `* = 4& 6& .= .= .= 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 5& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 9& += @= n* #= $= %= &= *= 6# == -= h# &% u* ;= 9+ >= ]@ V. `. 7. c. g. W k. s ,= 4 | ' B . @ C o. o. o. o. ", +" '= '= )= != ~= {= ]= ^= /= (= _= x& .& := <= 5* [= }= |= 1= 2= 3= 4= 5= 6= 7= 8= 9= 0= a= b= c= V& d= e= 6& f= f= g= .= .= j* 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 5& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 9& h= i= j= S$ #* >$ k= k& == $% S% t* =@ '@ a+ ;% l= O@ + m= P@ h. . #. p 0 n= [ A b $ ^ e o. o. o. o. ", +" o= o= p= q= r= s= t= u= v= w= x= y= z= z= A= B= 1= 1= C= D= E= F= G= H= I= J= K= L= M= N= O= P= Q= = Y& .= f= f= f= g= .= .= .= 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& R= S= T= J% W$ U= V= W= X= Y= }$ H@ ;@ Z= e+ j+ N@ ,* n+ b. `= V +. s ,= 4 | ' : - c _ o. o. o. o. o. ", +" .- .- +- @- #- $- %- &- *- =- -- ;- >- (* ,- '- )- !- ~- {- ]- ^- /- S* I= J= K= L= M= (- _- :- <- [- }- f= |- f= f= f= g= g= .= .= 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 6& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& R= 1- 2- p* 3- 4- j& 9# 5- %% 6- 7- ,@ 9+ h+ l+ O@ 8- 9. P@ 9- Q@ #+ p 8 1 ~ A . c / n. o. o. o. o. ", +" 0- a- a- b- c- d- e- f- g- =- w= h- i- j- k- l- m- n- o- p- q- r- s- I= 7= t- u- 0= v- w- x- y- [- Y& f= z- z- f= f= f= g= g= .= .= j* 6& 6& 6& 6& 6& 6& 6& 6& 6& Z& Z& Z& 7& 7& i* i* i* 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& i* i* 7& 7& Z& Z& 6& 6& Z& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& z% d& #= A- $* B- ^$ == C- D@ ;* ;@ D- e+ E- U. Z. 8. c. g. F- @. q w 3 [ ] r# $ ^ e o. o. o. o. o. ", +" G- H- 0- G- I- J- K- L- M- g- N- F* w= O- P- /- Q- Q- R- S- q- T- U- V- W- X- Y- Z- `- ; .; +; @; #; f= z- z- z- f= f= f= f= g= .= .= .= 6& 6& 6& Z& 7& i* 8& $; 9& %; %; 3& 3& 3& 3& &; &; &; *; *; *; *; *; *; *; *; *; *; *; &; &; 3& 3& 3& %; %; 9& $; 9& =; -; ;; 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& a& 1- 2- p* >; 4- .% /$ =* B@ &% =@ ,; '; i+ Q. Y. .+ p+ f. X +. s ,= 4 | ' : $ ^ d o. o. o. o. o. ", +" ); G- G- !; ~; {; K- ]; ^; *- /; (; W# w$ _; :; :; :; <; [; T- }; |; 1; 2; 3; 4; 5; v- w- x- 6; 7; 8; 9; 0; z- z- |- f= f= f= g= g= .= .= Z& i* $; %; 3& 3& *; a; b; c; 2& = = d; h* h* h* h* e; e; e; e; e; e; e; e; e; e; e; e; h* h* h* h* = = 2& c; a; a; f; g; h; k* i; j; -; ;; 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& k* k; H% l; m; ,$ &* n; o; p; q; %@ ,@ 9+ h+ o# O@ + m= e. Z .. u o 6 r; ~ B - s; _ o. o. o. o. o. o. ", +" ); ); t; u; v; w; x; y; ^; {= z; A; B; C; I= s- s- D; E; F; G; H; I; J; K; L; M; N; O; P; :- Q; R; S; T; U; z- z- |- f= f= f= g= g= Z& i* %; &; a; c; t% d; e; V; W; W; X; Y; Y; Y; Z; Z; r% `; `; `; `; `; `; `; `; `; `; `; `; `; `; `; `; Z; Z; Y; Y; Y; W; W; s% V; Y; l* z% h= += g; h; > j; -; 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& h; .> H% +> #* @> P% #> s* $> %> $@ >@ U% g+ ]@ &> 5$ 4. *> => Q@ #. p 7 1 ~ %. . c -> o. o. o. o. o. o. ", +" t; t; ;> >> ,> '> )> !> ~> e- {> {= ]> ^> /> (> I= I= _> :> U- <> [> }> |> 1> Y- 2> 3> 4> 5> 6> 7> 8> }- 9; 9> 9; z- z- f= f= f= 0> 7& %; w% t% e; W; X; Y; r% `; a> b> b> c> c> c> d> g* g* g* g* g* g* g* 1& 1& 1& 1& 1& 1& 1& 1& 1& 1& g* g* g* g* g* d> d> c> c> b> a> `; e> f> g> h> i> `& j> z% h= += h; > j; ;; 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& 8& h= k> 2- S$ m; U= P% 7# s* l> -* #@ >@ m> f+ k+ V. W% 4. d. h. . #. p 9 n= y %. . c ( o. o. o. o. o. o. ", +" n> t; o> p> e- q> )> r> ~> s> t> *- u> T* v> w> (> (> x> y> G; z> A> B> C> D> E> Z- 3> F> G> H> I> J> K> f= L> U; z- z- |- f= .= Y& *; t% V; M> N> b> c> d> g* g* 1& 1& 1& p% p% p% p% O> O> P> P> P> Q> Q> Q> Q> R> R> R> R> R> R> R> R> V& Q> Q> Q> P> P> O> O> p% p% S> 1& 1& 1& T> U> * V> k; W> f> h> i> X> W; h= g; Y> 0& -; 8& 8& 8& 8& 8& 8& 8& 8& 8& Z> B% `> , T$ X$ &= P% ., +, $> @, $@ >@ m> f+ k+ V. `. 5. d. h. . #. p 9 n= y %. . c ( #, o. o. o. o. o. o. ", +" o> o> $, %, *$ &, *, =, -, s> &- ;, >, ,, ', v> ), ), !, ~, ~, {, ], ^, /, |> (, _, :, (- <, [, }, |, 1, 2, S; 9; 9; z- |- .= 3, c; s% 4, b> 5, 6, 1& p% p% O> P> V& R> o% 7, 7, 8, 9, |& |& |& |& |& 0, 0, 0, a, a, a, a, a, a, a, a, a, a, a, a, a, 0, |& |& |& |& 9, 8, 7, 7, o% R> Q> b, c, d, k> k> D% * .> k; B% e, i> X> z% f, h; 0& -; 8& 8& 8& 8& 8& 8& 0& `& g, H% g& A- h, %* i, 9# o; y@ %> j, >@ k, g+ ]@ &> 5$ 4. d. h. . #. p 9 n= y %. b c l, m, o. o. o. o. o. o. ", +" n, n, o, p, q, r, *$ s, )> y; t, u, v, U* w, x, ', y, y, 1; |; z, A, ], B, C, C, E> M; M= D, E, F, :- 6; G, @; H, I, J, K, L, M, N, 4, O, g* 1& p% Q> o% 8, 9, P, Q, a, a, n% n% n% R, S, T, T, U, V, V, V, U& U& U& U& W, W, W, W, W, W, W, W, W, W, W, U& U& V, V, V, S, T, T, R, X, n% a, a, Y, Z, `, ' .* d& .' d, d, k> D% * +' W> e, @' l* #' f; i; 9& 8& 8& 8& i; X> $' %' &' *' #* Z$ B- Q% =' =* [$ 6- -' ;' v* >' >% ,' 5$ 4. d. h. . #. p 9 n= y %. . c l, '' o. o. o. o. o. o. ", +" )' n, n, !' ~' {' ]' ^' /' (' _' ^; :' 8= <' [' }' ', |' z, z, 1' [> 2' ^, C, 3' (, u- 4' 5' O; 6' .; :- 7' 7> 8' 9' 0' 0' a' b' c' d' <- P> e' |& f' n% T, T, V, V, W, }& }& g' K$ h' h' h' i' M$ M$ M$ M$ M$ M$ M$ M$ M$ j' j' j' j' j' k' k' j' j' j' j' M$ M$ M$ M$ M$ M$ i' h' h' K$ g' }& W, U& l' H% e& m' n' G% G% `, ' `> o' .' d, k> D% +' W> e, X> l* h= g; g; #' h> i= Z, p' +> L% h, 4- &* q' b# $% S% t* =@ =% a+ r' o# O@ 8- 9. e. Z . #. p 8 1 y %. . s' l, '' '' o. o. o. o. o. ", +" t' )' u' v' w' x' y' z' /' A' B' C' D' D' E' <' x, }' F' {, [> z, G' B> B, C> 3' H' Y- I' J' K' (- L' F, x- M' N' O' P' I> Q' R' S' 7, T' U' T, V' W' K$ i' i' I$ k' k' N$ N$ N$ N$ e* X' X' X' Y' Y' Z' Y' [& Y' `' ) .) .) .) .) .) .) .) .) .) .) .) .) .) .) ) Y' [& Y' Y' Y' X' X' +) N$ N$ k' j' j' @) f& #) #) 2- +* H% H% e& $) G% %) `> F% .' c, d, k> &) +' W> q% W> .> *) G% f& R$ =) >; -) B- ;) /$ o; >) -* ,) J@ o& d+ i+ Q. X. '% ') 6$ )) @+ #+ y* 7 1 ~ %. . s' -> '' '' o. o. o. o. o. o. ", +" !) !) ~) {) x' ]) ^) ]' *, /) y; () _) 3; t- E' w, ,, :) <) [> I; 1' ], [) }) |) 1) 2) 3) 4) J' 5) 6) ; 7) F, 8) 9) 0) :- a) b) c) d) d) e) i' j' N$ X' [& Y' f) .) .) g) h) h) h) i) i) i) j) k) k) l) l) l) l) l) l) E$ E$ E$ E$ E$ E$ E$ E$ m) m) E$ E$ E$ E$ E$ l) l) l) l) k) n) j) j) h) h) h) g) .) .) h) o) #= #= &' , p) f& f& #) q) r) H% e& s) t) n* `, `> .' .' b, b, u) .* e& , v) w) x) y) r* j& z) == A) B) F@ %@ >@ C) f+ E- D) ,* n+ b. `= X E) s v 5 i z B - c F) '' '' o. o. o. o. o. o. ", +" G) G) H) I) J) K) {' L) M) N) O) P) Q) R) S) T) U) w, V) B> }> I; I; [> [) ^, C> C> W) 2) (, I' X) 5' K' Y) 4> Z) `) ! .! +! 8) @! #! $! %! &! g) *! n) m) =! =! =! -! -! -! <& ;! ;! ;! ;! ;! ;! D$ >! ,! '! '! '! '! '! '! '! )! )! )! )! )! )! )! )! )! )! )! )! '! '! '! '! ,! D$ D$ ;! ;! ;! <& !! =! =! E$ E$ ~! {! ~! Q$ Q$ ]! ]! ]! ^! #= o* /! p' f& (! q) +* H% e& e& e& l' e& _! :! #= <) I; I; g! h! |> C> i! j! 2) Y- k! M; l! N; 5' m! K' n! F> o! p! ! q! r! m) -! s! t! u! v! w! w! w! C$ w! x! y! x! y! y! z! z! z! z! z! z! A! B! B! B! B! B! B! B! C! C! C! C! C! C! C! C! C! C! C! C! B! B! B! B! z! z! y! z! x! x! C$ C$ w! D! D! )! E! p* F! G! S$ l; l; +> R$ R$ H! Q$ @* I! P$ ^! ^! J! o* K! L! L! o* o* ^! ~! p* A- M% $* 4- M! Q% N! O! $% P! Q! 7- m# C) e+ L@ Q. Y. '% m= P@ 9- . #. !% 0 3 [ R! = $ 3! S! '' '' o. o. o. o. o. o. ", +" T! U! V! W! X! ]) Y! Z! `! ~ .~ +~ @~ Q) R) t- E' #~ $~ |> %~ }> I; {, {, ], &~ 2' *~ =~ -~ S) 2) Y- ;~ k! I' 4' l! J' 3> >~ 6) ,~ ,~ ,~ '~ )~ !~ ~~ {~ ]~ ^~ ^~ ^~ /~ /~ /~ ^~ ^~ ^~ ^~ ^~ ^~ ^~ ^~ ^~ (~ (~ (~ k% k% k% k% k% k% k% k% k% k% k% k% _~ _~ _~ k% k% k% k% k% k% k% (~ ^~ :~ :~ (~ ^~ ^~ ^~ /~ /~ <~ <~ <~ A! $= [~ U$ w) w) }~ |~ |~ 1~ T$ F! F! S$ 2~ ; ;$ 4- ~$ ;) n; 7~ 8~ %% 9~ ,) -@ '@ 0~ h+ ]@ V. a~ w* b. `= X E) u F 7 1 y A b c l, m, '' '' o. o. o. o. o. o. ", +" b~ T! c~ v; d~ ]~ (~ {' 0! e~ f~ +~ g~ h~ R) i~ T) j~ k~ $~ B> }> [> l~ m~ {, ], n~ <) o~ p~ =~ X- j! t- 3; q~ r~ s~ I' _, 0= 5; N; t~ N; u~ v~ _~ w~ ^) A$ A$ x~ x~ x~ x~ x~ x~ x~ x~ x~ x~ x~ x~ x~ x~ x~ y~ y~ y~ y~ j% j% j% j% j% j% j% j% j% j% j% j% j% j% j% j% j% j% j% j% y~ y~ x~ x~ x~ x~ x~ A$ A$ _& _& z~ w~ z~ _~ A~ B~ C~ D~ D~ E~ L% F~ F~ A- [~ U$ U$ w) $= $= G~ |~ T$ T$ T$ |~ |~ U$ A- C~ M% h, H~ )$ M! ;) I~ == =* p; }$ t* u* >@ C) e+ J~ Q. K~ 8- 4. d. L~ ` @. $+ M~ 4 i z B N~ c -> '' '' '' '' o. o. o. o. o. ", +" O~ O~ P~ Q~ R~ C! ]) 9! S~ T~ U~ V~ c! u- W~ i~ T) X~ Y~ Z~ |> <) [> 1' |; |; 1' {, `~ |' (> W- o~ 7= ,, ,, [' { K; L; .{ 9= +{ @{ _, #{ #{ ${ W* z' z' z' %{ &, &{ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ %$ &$ &$ *{ *{ &$ &$ ={ ={ -{ -{ ;{ ;{ j% >{ X$ ,{ M% M% m; m; W$ W$ q* '{ '{ '{ C~ C~ D~ D~ D~ D~ D~ ){ '{ !{ m; ~{ {{ ;$ ]{ % P% Q% I~ ^{ d# <$ /{ |$ %@ n& 3$ a+ h+ ({ U. ,* _{ a. 6$ Z @+ #. p 0 a [ ] = $ 3! :{ '' '' '' '' o. o. o. o. o. ", +" <{ [{ }{ |{ 1{ 2{ ]~ (~ 3{ 4{ 5{ 6{ +{ u- Q) R) i~ 7{ Y~ }) ^, B> [> 1' |; 8{ H; |; <> y> s- 9{ I= 0{ a{ (> T* v> 7= 2; b{ t- c{ _) d{ d{ h~ e{ r~ f{ g{ g{ h{ +$ i{ i{ i{ i{ i{ j{ j{ k{ @$ @$ @$ @$ @$ @$ @$ @$ @$ @$ @$ @$ k{ k{ k{ k{ k{ k{ k{ k{ k{ k{ k{ k{ k{ k{ k{ k{ k{ k{ @$ @$ @$ @$ @$ @$ @$ @$ M) M) l{ l{ l{ m{ 0! $$ $$ $$ n{ h, o{ {{ {{ p{ p{ q{ i& r{ >; >; >; s{ s{ t{ X$ X$ X$ s{ >; r{ u{ v{ -$ y) &= w{ x{ y{ ^$ z{ == d# <$ S% F@ A{ T% >* 9+ f+ L@ Q. B{ 5$ 5. c. g. V +. s o 6 1 ~ A b c C{ D{ '' '' '' '' o. o. o. o. o. ", +" [{ E{ F{ N) G{ d~ <~ ]) y' H{ v- U~ +~ @~ h~ R) i~ k~ I{ k~ $~ ], <) 1' |; J{ }; }; G; K{ R- L{ R- M{ M{ M{ N{ O{ P{ T* W- Q{ J= R{ S{ b{ T{ U{ V{ /& W{ W{ X{ $ X{ Y{ Z{ W{ W{ W{ `{ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ .$ ] ] h% h% .] h% h% .] h% ~ ~ ~ ~ ~ +$ i{ i{ =, +] y) ;$ @] @] ;$ @] @] #] $* -$ $] %] %] %] %] %] $* &] @] y) H~ &= ]{ w{ x{ P% ]$ 6# N! 7~ =* <$ S% q; A{ -@ ,@ C) *] i+ M@ V. a~ n+ a. =] => j. #. q -] m. s+ ' B - c ( '' '' '' '' '' o. o. o. o. o. ", +" ;] >] ,] '] )] !] ~] ]) {] ]] H{ ^] ${ c! h~ c{ L; /] (] /, }) B> [> I; |; _] :] <] [] <] D; R* /- /- /- /- /- _; }] 0* 6= |] 0{ T* 1] 2] W- 7= 3] Q{ 4] `# 5] 6] 7] 6] 8] 9] 9] `# `# `# 0] a] b] b] b] b] b] b] b] b] b] b] c] c] c] c] c] c] c] c] c] c] c] c] c] c] c] c] c] c] c] c] c] b] b] b] d] d] ^& ^& ^& ^& ^& ^& X{ Y{ Y{ Y{ Y{ W{ W{ Y{ ]{ ]{ ]{ ]{ ,$ ,$ &= ,$ ,$ U= U= U= U= U= U= U= ,$ ,$ ]{ ]{ 4- %* r* e] f] g] h] i] j] l& O! =* <$ h# %> H@ =@ k] Z= d+ ~@ ({ U. ,% /@ o+ l] g. V E) u o 7 1 y A r# $ 3! m] '' '' '' '' '' o. o. o. o. o. ", +" >] n] o] p] q] r] y! s] t] u] v] 5{ w] c! x] _) Y- y] z] Y~ C> |> <) 1' |; G; A] [] F; F; ^- B] C] B] D] B] 4= E] R* F] G] _; }] M{ H] I] J] K] K] L] K] K] M] N] O] N] P] Q] R] Z# ]; ]; S] S] T] U] T] T] V] V] 7] 7] 7] 7] 7] 7] 7] 6] 6] 6] 6] 7] 7] 7] 7] 7] 7] 7] 7] 7] 7] 7] 7] 7] 7] 7] 7] 7] 7] 6] 6] 6] 6] 6] 8] 8] 9] 9] 9] `# `# `# `# `# a] W] % t, % % w{ w{ w{ w{ )$ )$ )$ )$ w{ w{ w{ w{ r* % X] !$ f] ~$ P% y{ Y] Z] q' `] @% +, 8~ y@ ^ .^ ,) +^ >@ )@ '; >= @^ #^ K~ 5$ 7. b. f. Z . _@ q ,= 6 | ' B . c l, $^ '' '' '' '' '' o. o. o. o. o. ", +" n] %^ &^ *^ =^ 1{ -^ y! ;^ >^ ,^ '^ 5) ${ @~ Q) )^ !^ z] ~^ k~ |> <) I; H; ~, <] T- {^ ]^ ^^ !- /^ /^ (^ (^ Q* _^ _^ 8* B] :^ <^ R* F] F] [^ G] }^ }^ }^ |^ [^ X# 1# 1^ 2^ 3^ 4^ u> u> 5^ 5^ O] O] O] O] N] N] N] N] 6^ N] N] N] P] P] P] 7^ 7^ 7^ 7^ P] P] P] P] P] P] P] P] P] P] P] P] P] P] P] P] P] P] P] Q] Q] Q] 8^ 8^ 8^ Z# Z# Z# Z# Z# Z# Z# ]; S] 8^ f] f] f] f] f] f] f] 9^ f] f] 9^ 9^ f] f] ~$ 0^ ~$ M! *= a^ y{ b^ c^ d^ +% e^ `] f^ O! 5- g^ g# h^ q; ,) *@ >@ i^ 0~ f+ {@ Q. ,' m+ w* a. e. h. F- j^ k^ y* 9 n= [ A r# $ 3! :{ '' '' '' '' '' '' o. o. o. o. o. ", +" %^ l^ m^ n^ =^ G{ r] -^ o^ p^ 4> H{ q^ r^ c! s^ d! t^ u^ v^ w^ Z~ A> 1' 8{ :] <] x^ y^ z^ A^ B^ C^ D^ E^ J& J& F^ D^ D^ G^ H^ 3= I^ J^ K^ K^ K^ L^ K^ K^ M^ N^ O^ P^ <# [# 3# }# }# 1# 1# 2# 2# 2# X# 2^ X# 2^ Q^ Q^ 3^ 3^ 3^ 4^ 4^ 3^ 3^ 3^ 3^ 3^ 3^ 3^ 3^ 3^ 3^ 3^ 3^ 3^ 4^ 4^ 4^ 4^ 4^ 4^ 4^ 4^ 4^ 4^ 4^ 4^ 4^ 4^ 4^ R^ u> u> u> u> u> u> u> u> u> e% 5^ 5^ 5^ t> {$ {$ {$ {$ {$ {$ {$ {$ {$ {$ S^ S^ y{ y{ b^ T^ U^ ]$ ;) Z] V^ W^ z) n; X^ Y^ O! Z^ e# <$ B@ i# Q! 1$ *@ >@ o& 0~ f+ {@ o# V. Z. `^ m= l] g. / .. ./ q w 4 | ~ B . c C{ m, '' '' '' '' '' o. o. o. o. o. o. ", +" %^ +/ @/ #/ $/ =^ 1{ %/ &/ */ u] =/ -/ ;/ ${ P) >/ ,/ u^ '/ Y~ Z~ )/ *~ !/ :] <] ~/ ^^ z^ {/ ]/ C^ ^/ // ^/ (/ _/ _/ // // // :/ :/ t* $@ e/ >@ o& 0~ f+ f/ M@ U. ,% + 5. c. `= Z Q@ R@ s g/ 7 1 h/ A B $ 3! :{ '' '' '' '' '' '' o. o. o. o. o. o. ", +" +/ +/ i/ j/ k/ k/ G{ l/ m/ n/ o/ =/ p/ ;/ q/ r/ s~ s/ t/ z] Y~ }) f! I; 8{ }; <] u/ q- v/ w/ x/ y/ z/ z/ A/ A/ A/ A/ B/ B/ C/ C/ D/ D/ E/ F/ F/ F/ G/ H/ H/ I/ I/ J/ K/ i- i- h- L/ M/ /= _# N/ O/ O/ P/ 5/ 5/ 5/ 7/ 7/ 7/ 7/ 7/ Q/ <# <# R/ <# <# <# <# <# 8/ S/ S/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 8/ 9/ 9/ 9/ 9/ 9/ [# [# [# 9/ 9/ 9/ 9/ 9/ 9/ T/ U/ W= 6# 6# 6# 6# 6# W= W= q' q' q' z) e^ e^ n; n; V/ N! W/ [! Y^ 7~ O! X/ Y/ e# Y= z@ h# i# F@ j# %@ Z/ ,@ )@ a+ f+ f/ M@ U. X. `/ 7. b. 6$ => ` +. u p 9 3 | ' %. b c l, $^ '' '' '' '' '' '' o. o. o. o. o. ", +" ( ( .( +( =^ k/ q] @( #( n/ o/ $( H{ ^] q/ %( @~ &( *( !^ I{ k~ f! <) 8{ :] y> ~/ =( -( ;( >( ,( B/ N* H& '( )( )( '( '( !( !( !( ~( ~( )& ~( )& ~( {( {( {( ]( {( {( ^( (= /( (= (( /* _( :( i- h- V# V# V# O- M/ M/ <( /= _# _# _# _# _# W# W# 4/ 4/ 4/ 4/ 4/ 4/ 4/ O/ O/ O/ O/ O/ 4/ O/ O/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ 4/ [( [( 5/ 5/ P/ P/ [( [( [( [( [( [( }( }( |( `] 9# n; z{ V/ 9# `] `] 1( /$ /$ /$ 2( l& ** ** Y^ ^{ 7~ 3( 4( #% 5( 6( $% x@ g# 7( }$ 6- 8( A{ u* n& =% D- 9( g+ f/ M@ U. X. 5$ 8. a. e. h. V E) #+ l. ,= 4 i ! A : $ 3! 4! '' '' '' '' '' '' '' o. o. o. o. o. ", +" p, 0( a( b( c( k/ =^ d( e( f( g( h( H{ 5{ 5' i( j( k( s/ u^ l( w^ |> <) z, _] [] ~/ q- m( n( ]/ o( L* !( p( q( r( r( q( F& r( F& F& F& '& s( t( u( 3* v( w( w( w( x( x( y( z( z= A( B( C( D( y= /( E( F( (= (= x= /* /* _( _( _( :( i- i- :( i- i- i- i- i- h- h- h- (# (# V# V# V# V# V# V# V# V# V# G( G( H( O- O- O- O- O- V# V# G( G( V# V# L/ V# V# V# V# V# V# V# V# V# (# V# I( ** ** a# a# Y^ Y^ Y^ Y^ Y^ @% 7~ 7~ J( 3( O! 4( +, K( 5- =* :$ L( x@ y@ [$ P! M( N( G@ 1$ O( T% >@ P( U% d+ Q( L@ M@ U. X. 5$ 8. a. P@ R( / @+ #. q v 7 n= h/ ' B - c ( '' '' '' '' '' '' '' '' o. o. o. o. o. ", +" p, S( T( U( V( k/ W( :- X( Y( Z( =/ `( ;/ _ ._ k( k( ,/ y] I{ $~ %~ z, +_ y> ]^ @_ ^- #_ $_ %_ &_ G& *_ '& =_ -_ ;_ >_ ,_ '_ '_ )_ E& E& !_ E& !_ !_ !_ ~_ {_ ]_ ]_ 9% ^_ s$ /_ (_ __ :_ .& ]# A( B( C( C( C( <_ y= y= /( /( /( /( E( F( F( (= (= (= (= (= [_ [_ /* [_ [_ x= (= E( }_ }_ |_ 1_ 2_ 3_ 4_ 4_ 4_ 5_ 5_ 5_ 5_ 5_ 5_ 5_ 4_ 4_ 3_ 2_ 2_ }_ }_ 6_ F( F( (= /* /* /* /* 7_ 1_ 3( 3( 3( 3( O! O! s* 4( 4( +, 8_ #% #% Z^ 5( =* 6( A) $% 9_ <$ p; 0_ B) a_ i# .^ b_ ;* c_ =@ d_ e_ o& 9+ e+ h+ f_ l= U. X. 5$ 8. ') d. g. Y Q@ @. s o 9 n= | ! g_ b % 3! S! '' '' '' '' '' '' '' '' o. o. o. o. o. ", +" h_ i_ j_ k_ k/ k/ l_ m_ n_ n/ o/ o_ H{ p_ q/ q/ 4> q_ r_ !^ ~^ 7{ )/ I; ~, y> !, s_ m( ;( t_ u_ v_ '( =_ =_ w_ x_ y_ z_ >& A_ B_ C_ z_ D_ E_ F_ G_ 7% H_ I_ I_ J_ I_ K_ L_ M_ N_ O_ p@ P_ Q_ q@ R_ (_ {# :_ S_ T_ U_ U_ V_ A( B( B( A( B( W_ T# T# T# W_ C( X_ Y_ __ Z_ `_ : .: +: X/ #% #% o; @: @: 5- 5- 5- 5- 5- m& m& m& m& m& m& m& m& m& #: o; o; #% o; X/ X/ c# $: %: &: *: Y_ Y_ X/ Z^ Z^ Z^ 5- 5- Y/ =: =* =* -: 8~ e# $% C- v@ Y= <$ y@ ;: [$ 7( C@ }$ >: 6- &% ;* ,: *@ J@ ': '@ D- a+ f+ ;% ): l= p& !: 5$ 8. ') d. )% Z . @. t %+ 0 m. | ~ A = $ c F) '' '' '' '' '' '' '' '' '' o. o. o. o. o. ", +" ~: {: ]: ^: /: (: _: :: <: q! g( h( [: ^] }: i( |: ,^ 1: !^ 2: k~ 3: 4: 5: <] 6: 7: m( #_ 8: 9: 0: a: |* -_ y_ b: c: d: 6% e: f: 6% g: h: 5% i: j: -& k: i: i: l: m: n: m: l: o: p: q: r: n@ s: t: u: p@ v: <* P_ Q_ r@ R_ R_ (_ {# __ __ __ w: x: y: +: z: A: 6( :$ :$ :$ :$ :$ :$ :$ 6( -: -: -: -: -: -: -: -: -: -: =* =* =* =* =* =* =* =* =* =* -: -: 6( 6( 6( 6( :$ :$ :$ A) A) B: :$ 6( e# e# e# C: L( $% L( v@ v@ w@ <$ l> y@ p; ;: D: E: 7( S% h^ M( @, N( F@ t* H@ F: +^ Z/ G: =% o& U% d+ g+ J~ ({ Q. V. ,% 8- 7. ') d. H: Z j. I: u p 0 m. E h/ J: B - s' 3! m, '' '' '' '' '' '' '' '' o. o. o. o. o. o. ", +" K: L: M: N: O: J! P: Q: H> f( Y( Z( R: 5{ S: q/ T: T: `( U: z] w^ $~ J; :) 1; ~/ q- -( V: W: X: Y: Z: F& `: `: d: < .< +< @< #< $< @< j: %< &< *< =< =< -< ;< >< 3% >< ,< >< '< )< !< ~< {< ]< ^< /< (< _< n@ :< ~# o@ t: v: v: << [< }< |< 1< Y= <$ $> 2< 2< <$ Y= Y= Y= w@ w@ v@ 3< g^ g^ g^ g^ g^ $% $% $% $% $% $% 4< 4< 4< 4< 4< 4< 4< 4< 4< $% $% g^ g^ g^ g^ g^ C- v@ v@ w@ f# x@ Y= 5< x@ x@ <$ l> 6< y@ y@ 7< ;: ;: %% %% [$ B) B) 8< S% h^ }$ -* %> 6- &% t* j# A{ O( =@ Z/ G: 9< 0< C) a+ a< h+ E- M@ N@ ,' Z. + 7. a. P@ 2! Z j. r+ u !% w 5 r; $. ' B b s' 3! S! '' '' '' '' '' '' '' '' '' o. o. o. o. o. ", +" L: K: b< c< d< /! /! e< f< g< n/ h< o_ i< ;/ j< T: k< l< r_ !^ I{ $~ )/ :) m< n< o< -( ;( p< q< r< s< t< B_ u< < e: h: v< w< x< -< y< z< A< B< C< D< E< F< F< F< G< H< G< I< n$ J< K< L< M< N< O< P< {< {< ]< ]< !# r: !# Q< R< >) %% E: S< T< [$ D: g# ;: ;: U< p; p; y@ y@ y@ y@ V< V< V< V< W< W< W< W< W< X< X< X< X< X< X< X< >) >) >) >) >) >) >) >) X< W< V< W< V< V< Y< p; p; p; y@ p; p; 7< ;: ;: g# D: D: B@ E: 7( P! S% S% Z< }$ M( -* -* %> q; |$ &% t* ;* A{ %@ u* e/ `< >@ =% 0< C) 0~ -% g+ f/ ({ l= [ B{ Z. .+ 6. .[ P@ g. Z +[ k. u !% ,= 5 @[ s+ ~ #[ r# % $[ 4! '' '' '' '' '' '' '' '' '' '' *. *. o. o. o. ", +" %[ &[ *[ =[ -[ ;[ >[ ,[ n_ q! g( h( '[ )[ }: ![ ~[ {[ s/ S: ][ ^[ H' /[ ([ n< :> _[ V: t_ :[ <[ s< [[ y_ }[ e: v< @< $< x< |[ k$ 1[ 2[ 3[ 4[ 5[ 6[ 7[ 8[ 9[ 0[ a[ b[ c[ d[ e[ M# f[ N# g[ N# h[ h[ i[ N< j[ O< O< k[ l[ m[ }$ -* }$ /{ C@ S% h# 7( 7( n[ B@ B@ o[ o[ D: D: %% %% g# g# g# p[ q[ q[ r[ r[ r[ r[ r[ r[ r[ s[ s[ s[ s[ r[ r[ r[ r[ r[ r[ r[ r[ r[ r[ r[ %% %% %% %% D: D: o[ D: D: t[ t[ n[ 7( u[ h# ^ /{ /{ /{ v[ w[ -* %> x[ q; y[ z[ A[ t* j# H@ #@ %@ u* =@ *% B[ ;' C[ o& C) D[ d+ E[ r' j+ F[ S. G[ H[ `. n+ 4. b. e. I[ Y j. r+ u J[ M~ 5 K[ | L[ #[ M[ $ c N[ m, '' '' '' '' '' '' '' '' '' o. *. *. o. o. o. ", +" O[ P[ Q[ R[ _: /: S[ T[ U[ f( Y( V[ R: W[ }: X[ Y[ k< Z[ t^ _ w^ `[ 4: } y> 6: _[ ;( .} q< +} Z: @} #} $} h: 4% %} &} *} =} 2[ -} ;} >} ,} '} '} ,} ,} G# )} )} !} i$ ~} J# {} c[ }% e[ M# ]} ^} /} /} ^} (} _} :} |$ |$ q; %> %> >: <} [} }} }$ |} 1} 1} /{ 2} 2} S% ^ ^ 3} 3} 4} 3} 3} 4} n[ 5} n[ n[ 6} 6} 6} 7} 7} 7} 7} 7} 7} 7} 7} 7} n[ n[ n[ n[ n[ 4} 4} l[ 4} 4} 4} 4} 3} 3} 8} 8} 9} 2} /{ 1} 1} |} [} 0} 0} E@ E@ .^ .^ 6- F@ a} b} c} ;* H@ #@ d} e} I@ f} T% d_ >@ ;= '@ )@ m> g} *] f+ |! {@ h} i} U. K~ Z. 8- w* m= j} 6$ k} X . I: u J[ M~ 5 K[ | L[ A M[ l} c m} m, '' '' '' '' '' '' '' '' '' '' o. n} *. *. o. o. ", +" o} p} q} r} C! /! s} t} f< u} &/ h< v} i< w} 5{ x} y} T: z} A} B} $~ )/ :) C} D} E} F} .} q< G} H} I} J} K} L} $< &} M} N} O} P} Q} R} S} T} U} V} W} X} Y} Z} `} F# | .| +| @| #| ~} J# {} $| $| %| &| *| 1$ 1$ H@ ;* c} b_ =| F@ F@ -| ;| .^ >| x[ >| ,| 0} [} }} }} }} '| '| |} |} )| m[ m[ 1} 1} m[ m[ m[ m[ !| !| !| !| !| !| !| !| ~| ~| ~| !| !| !| !| )| |} 1} )| |} |} {| '| '| '| '| [} 0} 0} ,| E@ E@ >| ]| .^ -| -| a} Q! b_ b_ c} ;* ^| 1$ /| k# u* (| _| T% n& >@ ,@ '@ 0< Z= k, 9( e+ f+ :| <| k+ o# S. ,' H[ `. .+ 7. a. [| q+ h. X . @. t q M~ 5 K[ $. y R! : N~ s' 3! D{ '' '' '' '' '' '' '' '' '' '' '' n} n} n} *. *. ", +" }| || 1| 2| 3| }& 4| ,[ 5| f( g( 6| '[ 7| 4{ 8| Y[ {[ 9| t/ v^ ^[ )/ :) 0| a| @_ F} b| 9: c| Z: d| e| f| g| $< h| k$ N} -} Q} i| S} U} j| k| l| m| m| n| o| p| q| r| q| s| r| t| +| `} u| #| Y@ V+ v| f} u* e} ,: /| w| 1$ ;* ;* c} b} b_ Q! Q! x| F@ F@ y| ]| z| z| z| >| >| _} 0} 0} 0} 0} A| 0} 0} [} B| B| B| B| B| B| '| '| '| '| '| '| '| '| B| A| B| B| B| B| A| A| 0} 0} 0} C| >| >| >| ]| ]| ]| D| -| D| E| a} F| b_ b} G| H| H| I| J| K| ,: L| L| u* -@ Z/ ;@ M| k] e_ P( o& C) 9+ c+ e+ N| h+ J~ O| M@ P| V. B{ Z. p# Q| 4. p+ R| `= => S| @+ _@ T| !% w U| 2 | y R! = V| s' 3! m] '' '' '' '' '' '' '' '' '' '' '' '' n} n} n} *. *. ", +" W| X| Y| Z| P: `| 1 .1 +1 f( Y( V[ @1 #1 w} $1 x} k< %1 &1 y] *1 3: 4: m< =1 o< -1 ;1 W: Y: H} I} J} >1 ,1 -< M} '1 )1 Q} !1 ~1 {1 ]1 l| ^1 m| /1 (1 _1 :1 <1 [1 }1 |1 11 21 p| 31 41 51 61 71 81 91 01 -@ =@ a1 b1 L| c1 /| /| K| I| d1 e1 G| H| c} f1 f1 b_ g1 F| =| E| E| E| h1 ]| ]| -| ]| ]| >| >| z| i1 i1 i1 i1 i1 i1 i1 i1 i1 i1 i1 i1 i1 i1 i1 i1 z| z| z| z| i1 j1 h1 h1 D| D| D| D| D| k1 g1 F| F| l1 m1 n1 G| o1 ;* ,) p1 p1 q1 ,: v| r1 s1 (| _| T% ;@ B[ t1 ;= ,; u1 )@ C) v1 '; e+ f+ |! f/ @^ >% w1 p& x1 y1 1! /@ z1 0. A1 e. )% Z ` @+ _@ T| !% w U| 2 | y J: = . s' 3! F) '' '' '' '' '' '' '' '' '' '' '' '' o. n} n} n} n} *. ", +" B1 C1 D1 E1 d~ k' 4| F1 f< X( &/ h< v} i< w} G1 H1 I1 {[ J1 U: B} $~ <) 5: K1 L1 M1 N1 O1 P1 Q1 R1 S1 T1 U1 V1 k$ N} -} W1 X1 Y1 Z1 `1 2 .2 +2 @2 #2 $2 }1 %2 &2 *2 =2 -2 ;2 >2 ,2 '2 )2 !2 ~2 {2 ]2 ^2 {2 /2 (2 T% _| _2 :2 L| r1 <2 v| [2 q1 p1 p1 d1 I| }2 e1 H| G| G| *| |2 m1 12 22 22 22 32 22 42 42 42 g1 g1 k1 k1 k1 52 k1 k1 k1 k1 k1 k1 k1 k1 52 52 k1 k1 g1 42 42 42 22 22 62 12 12 12 12 72 82 e1 e1 e1 }2 }2 I| p1 92 q1 02 a2 b2 b1 c2 d2 e2 f2 /2 M| g2 h2 i2 j2 i^ Z= k2 D[ l2 m2 f+ :| 4$ j+ ({ w1 n2 ,' o2 m+ + `^ p2 a. d. q+ g. q2 +[ r2 #. s y* w 7 K[ | y ' = . s' 3! F) '' '' '' '' '' '' '' '' '' '' '' '' '' n} n} n} n} n} ", +" s2 t2 u2 v2 w2 O' 4| ,[ 5| f( x2 6| '^ 7| ]] y2 8| z2 9| A2 _ 7{ B2 :) }; ~/ _[ C2 8: D= D2 E2 F2 G2 H2 I2 =} J2 3[ i| K2 L2 M2 N2 O2 P2 _1 Q2 R2 S2 T2 U2 -2 V2 V2 W2 X2 Y2 4+ Z2 `2 3 .3 +3 @3 #3 $3 %3 g2 G: B[ ;@ &3 *3 *3 e2 d2 L| L| b2 <2 02 [2 q1 =3 =3 I| I| }2 -3 ;3 ;3 >3 ,3 ,3 ,3 82 '3 '3 '3 '3 '3 '3 '3 '3 '3 '3 )3 )3 )3 )3 !3 !3 !3 !3 '3 '3 '3 '3 '3 '3 '3 '3 ,3 ,3 ,3 ,3 ,3 ~3 ~3 {3 ;3 {3 =3 {3 [2 q1 [2 a2 b2 ]3 :2 d2 _2 ^3 f2 !2 /3 (3 g2 _3 i2 :3 i^ <3 [3 }3 |3 9( m2 13 >= 4$ 23 33 43 R. p& B{ y1 5$ 53 7. m= b. P@ `= h. V Q@ 63 #. s %+ w 73 3 $. y ] = . s' s; 83 '' '' '' '' '' '' '' '' '' '' '' '' '' '' n} n} n} n} n} ", +" 93 03 a3 b3 c3 S[ 1 .1 d3 e3 n/ V[ @1 #1 #1 f3 H1 g3 T: h3 i3 7{ j3 k3 l3 m3 7: x/ .} 9: n3 o3 p3 q3 r3 s3 M} t3 u3 v3 w3 Z1 x3 y3 +2 z3 A3 B3 S2 C3 D3 E3 F3 G3 G3 H3 I3 J3 K3 L3 M3 N3 O3 P3 3 Q3 R3 S3 S3 T3 U3 _3 (3 V3 W3 X3 f2 f2 f2 e2 Y3 c2 ]3 ]3 b2 <2 Z3 [2 [2 [2 `3 =3 =3 =3 {3 ~3 ~3 ~3 ~3 ~3 ~3 4 4 4 >3 >3 >3 >3 ,3 ,3 ,3 ,3 >3 >3 >3 >3 >3 >3 >3 ~3 4 ~3 ~3 ~3 {3 .4 `3 .4 `3 `3 `3 [2 [2 a2 +4 ]3 ]3 @4 c2 c2 #4 e2 $4 f2 f2 X3 %4 V3 &4 T3 *4 =4 -4 ;4 >4 ,4 '4 )4 !4 m2 13 :| ~4 {4 @^ ]4 ^4 ^@ /4 X. (4 _4 w* 4. a. d. 6$ g. i. ` Q@ @. u $+ o 0 4 :4 $. ~ A = . s' s; 83 m, '' '' '' '' '' '' '' '' '' '' '' '' '' o. n} n} n} n} n} ", +" <4 [4 }4 |4 ]' 14 24 34 44 54 &/ h< v} 64 74 84 94 04 a4 b4 A2 c4 d4 X~ e4 a| o< f4 g4 h4 r< i4 j4 G2 k4 l4 m4 n4 o4 ,} U} M2 N2 .2 P2 Q2 B3 p4 q4 D3 r4 s4 t4 u4 v4 w4 x4 y4 z4 A4 B4 C4 D4 N3 E4 F4 2+ 3+ G4 H4 *4 I4 J4 U3 T3 g2 K4 %4 /3 X3 L4 f2 $4 $4 e2 {2 #4 c2 M4 N4 N4 81 +4 <2 <2 a2 O4 O4 P4 P4 P4 P4 `3 `3 `3 .4 Q4 Q4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 `3 `3 R4 R4 P4 P4 P4 S4 T4 +4 +4 +4 +4 U4 N4 @4 #4 #4 V4 W4 X4 X4 L4 !2 Y4 Z4 %4 `4 5 .5 +5 @5 8+ #5 $5 %5 ,4 &5 l2 !4 *5 =5 -5 ;5 >5 ,5 '5 w1 )5 !5 ~5 ,* 5$ {5 z1 o+ ]5 R| `= h. / . E) _@ u !% v 9 4 E $. ~ A = . s' s; 83 m, '' '' '' '' '' '' '' '' '' '' '' '' '' '' n} n} n} n} n} ", +" ^5 }4 /5 (5 W, _5 :5 F1 <5 q! g( h( '^ 74 [5 }5 |5 15 25 Z[ 35 45 55 e4 65 ~/ 7: p- 9: n3 H} [[ 75 r3 85 95 05 a5 ~1 U} l| .2 P2 _1 $2 b5 c5 d5 e5 f5 t4 u4 g5 h5 i5 j5 k5 l5 y4 m5 A4 B4 n5 o5 p5 q5 F4 r5 s5 t5 u5 $5 ;4 8+ v5 w5 .5 x5 y5 `4 %4 Z4 Z4 !2 X4 X4 X4 X4 %3 V4 V4 #4 z5 N4 A5 B5 C5 C5 D5 D5 D5 D5 D5 D5 D5 D5 S4 S4 +4 +4 +4 +4 +4 +4 +4 +4 +4 D5 D5 D5 D5 N4 N4 U4 U4 N4 N4 A5 A5 E5 E5 F5 F5 %3 %3 X4 G5 H5 H5 I5 I5 J5 K5 y5 x5 L5 M5 J4 u5 N5 N5 O5 P5 Q5 '4 R5 S5 T5 U5 V5 W5 X5 Y5 Z5 `5 6 .6 +6 @6 !: #6 `/ `^ $6 %6 &6 P@ `= => V @+ k. #+ s p ,= *6 =6 E $. z A : . s' s; 83 m, '' '' '' '' '' '' '' '' '' '' '' '' '' '' o. n} n} n} n} n} ", +" -6 ;6 >6 ,6 '6 )6 !6 ~6 {6 X( n/ o/ @1 #1 v] ]6 94 $1 25 Z[ ^6 /6 3: (6 0| _6 :6 <6 [6 }6 |6 E2 J} r3 16 26 36 !1 46 56 66 .2 76 Q2 86 q4 96 e5 06 a6 g5 b6 c6 d6 e6 f6 g6 h6 i6 j6 k6 l6 m6 B4 n6 o6 p6 |+ q6 r6 s5 s6 Q5 t6 P5 u6 N5 u5 +5 v6 .5 L5 x5 w6 x6 K5 I5 I5 y6 H5 G5 X4 S3 S3 z6 #3 S3 F5 F5 A6 E5 E5 E5 E5 A5 A5 E5 E5 ]2 ]2 ]2 ]2 ]2 ]2 ]2 E5 E5 E5 E5 A5 E5 E5 E5 E5 A6 %3 %3 %3 %3 #3 S3 S3 G5 G5 B6 H5 I5 I5 K5 K5 K5 x5 C6 C6 v6 +5 @5 D6 E6 F6 O5 M3 G6 H6 I6 J6 S5 K6 U5 V5 L6 M6 N6 O6 P6 Q6 R6 S6 T6 U6 V6 W6 X6 Y6 Z6 `6 ++ 7 .7 => W @+ @. #+ q o 0 5 3 i +7 ' A : N~ s' 3! 83 m, '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' o. n} n} n} n} ", +" @7 #7 $7 %7 &7 *7 =7 -7 n_ q! h< ;7 64 7| >7 ]6 ,7 15 b4 '7 )7 !7 3) ~7 n< {7 f4 .} ]7 ^7 /7 a: (7 _7 :7 <7 [7 }7 |7 66 /1 17 A3 86 27 37 e5 f5 47 a6 57 d6 67 77 87 97 07 a7 b7 c7 d7 e7 f7 m6 g7 h7 o6 i7 J3 j7 k7 l7 m7 '4 n7 o7 O5 F6 p7 N5 D6 +5 v6 C6 q7 q7 y5 `4 K5 K5 %4 y6 I5 H4 G5 G5 G5 G5 S3 S3 S3 S3 S3 z6 z6 z6 z6 z6 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 r7 z6 z6 s7 s7 s7 t7 t7 t7 B6 H4 B6 I5 I5 I5 x6 K5 u7 u7 v7 C6 C6 w7 x7 x7 D6 p7 N5 O5 P5 %5 n7 y7 z7 A7 B7 z4 K6 C7 D7 E7 F7 N6 O6 G7 H7 I7 S6 J7 K7 L7 M7 N7 O7 P7 Z6 Q7 l] R7 S7 T7 ` U7 V7 ./ q v 9 4 n= $. ~ ' %. = - c 3! W7 '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' n} n} n} n} n} ", +" ^5 X7 Y7 Z7 d) `7 8 .8 +8 .! Y( h( @8 7| #8 $8 H1 %8 a4 &8 *8 =8 /, -8 1; L1 ;8 p- o( >8 ,8 '8 )8 !8 ~8 {8 ]8 ^8 /8 ^1 n| (8 _8 :8 c5 37 <8 06 [8 }8 |8 18 28 38 48 58 68 97 78 88 98 08 a8 b8 l6 c8 h7 n6 [+ d8 J3 e8 f8 I6 g8 h8 i8 n7 j8 k8 O5 E6 p7 D6 l8 Z2 x7 m8 C6 3 x5 x5 v7 K5 K5 J5 n8 I5 I5 H4 H4 H4 G5 G5 o8 o8 o8 p8 p8 p8 p8 p8 p8 p8 p8 p8 p8 p8 p8 p8 p8 o8 o8 H4 q8 q8 H4 q8 q8 n8 J5 J5 w6 v7 r8 3 3 C6 s8 s8 t8 x7 l8 u8 v8 E6 w8 x8 i8 y8 H6 H6 z8 A8 B8 K6 C7 C8 D7 E7 F7 D8 E8 F8 G8 I7 H8 I8 J8 K8 L8 M8 N8 O8 P8 %6 Q8 R8 R7 S8 )) T8 @+ 63 U8 r %+ w 6 1 $. ~ V8 %. r# - c 3! W7 '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' n} n} n} n} n} ", +" W8 X8 Y8 Z8 `8 `7 9 !6 .1 .9 +9 @9 o_ #9 @1 $9 }5 %9 15 25 q_ &9 *9 =9 -9 a| 7: <6 ;9 >9 ,9 '9 )9 r3 16 !9 ~9 {9 j| ^1 ]9 z3 ^9 /9 d5 37 <8 <8 (9 _9 :9 <9 [9 }9 |9 18 48 58 19 97 78 88 29 39 j6 49 59 c8 c8 69 79 89 89 99 09 a9 b9 c9 h8 y8 y8 n7 o7 d9 e9 N5 v8 l8 t8 t8 t8 m8 m8 s8 f9 q7 r8 r8 G4 t5 v7 g9 g9 J5 J5 n8 n8 n8 n8 n8 q8 n8 n8 n8 n8 J5 h9 J5 J5 J5 J5 n8 i9 i9 n8 g9 g9 w6 g9 g9 j9 r8 k9 r8 f9 s8 s8 l9 t8 t8 u8 v8 m9 n9 w8 o9 p9 x8 q9 r9 c9 s9 t9 B7 u9 a8 C8 v9 w9 x9 y9 z9 A9 B9 C9 D9 E9 I8 F9 G9 H9 #6 I9 J9 K9 L9 M9 N9 R8 O9 P9 Q9 R9 U7 63 U8 r F w *6 n= } ~ A : b $ c 3! W7 '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' o. n} n} n} n} ", +" S9 T9 U9 V9 O' W9 *7 =7 H> X9 n/ F> '[ 7| f3 $9 Y9 g3 |: Z9 `9 0 .0 +0 @0 L1 #0 $0 %0 ^7 E2 &0 r3 *0 =0 -0 ;0 >0 m| ,0 '0 )0 q4 d5 !0 <8 ~0 {0 ]0 ^0 /0 (0 _0 :0 }9 <0 |9 [0 }0 |0 I. 10 88 20 30 40 50 60 59 c8 69 70 80 89 90 00 a0 m5 s9 b0 c9 y7 c0 x8 x8 d9 w8 w8 m9 N5 v8 v8 d0 l8 t8 s8 s8 s8 e0 k9 k9 r8 k9 k9 k9 r8 r8 r8 f0 f0 j9 g9 g9 g9 g9 g9 g9 f0 f0 f0 f0 r8 k9 k9 k9 k9 f9 g0 g0 l9 l9 l9 l9 h0 i0 t8 d0 v8 v8 F6 F6 w8 p9 p9 j0 k0 k0 y7 c9 s9 A8 l6 a0 k6 a8 l0 m0 n0 o0 p0 q0 r0 s0 G8 D9 t0 u0 v0 w0 K8 x0 y0 z0 A0 P8 B0 M9 C0 D0 E0 F0 q2 G0 H0 j^ ./ r j I0 *6 J0 K0 ~ L0 : . M0 N0 3! 4! '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' n} n} n} n} n} ", +" O0 P0 Q0 R0 S0 T0 U0 V0 W0 m/ X0 @9 Y0 Z0 ! `0 y2 a G1 ![ '7 &9 .a +a 65 L1 @a ;1 #a $a /7 %a &a *a =a -a ;a >a L2 ,a '0 'a )a !a 37 ~a {a ]a ^0 ^a /0 /a (a (0 _a :a Va Wa Xa i< -/ $9 Ya 8| $1 25 Za `9 `a b .b +b @_ <6 [6 }6 @b #b $b %b &b *b =b -b ;b y3 '0 >b /9 ,b 'b )b !b ~b {b [. ]b ^0 /a /a ^b /b _a _0 _0 (b :9 _b :b c ,c 'c Q2 _8 )c !c ~c {c ]c ^c /c <. (c (c _c :c &d ! o/ #1 *d `0 }5 8| =d -d &1 &9 ;d >d ,d 'd )d !d ~d {d ]d ^d /d (d _d :d e $d ,e 'e .! Wa v] p_ ]6 )e !e g3 .c Za ~e {e ]e ^e /e (e s- ;9 _e :e e $d f .f #8 +f #1 @f #f $f 8| %f &f *f =f l( -f ;f 8{ >f ,f 'f )f !f ~f {f U1 ]f ;c ^f /f (f _f _8 B3 [8 :f I 4d g ,g 'g >e .8 [, )g G1 !g p/ `0 ~g c I1 {g Za `9 c4 ]g ^g /g (g _g :g >8 h ,h 'h )h !h ~h U0 {h ]h ^h /h '^ 8| (h _h |5 :h -d q_ &9 y] i ,i =h %g %g Ve &g n. o. $^ '' '' '' '' '' '' '' '' '' '' '' '' o. `c `c `c `c `c ", +" 'i )i !i ~i {i ]i #d ~h ^i x- `b @f /i /i #f `0 (i _i {g :i j ,j 'j )j _h !j 'g ~h .1 f3 G> ~j p/ {j (h ]j !e %8 ![ ^j &9 .a #c ;f e4 /j (j _j :j i @k =h %g Ve Ve &g *. #k '' '' '' '' '' '' '' '' '' '' o. `c `c `c `c ", +" $k %k &k *k !h `e Sa $d )e ]h =k Z9 ]] -k ;k }5 Y[ .c Z9 k ,k 'k )k 4i !k 3h 6i ~k {k ]k ^k [d /k (k _k 8g :k 4d 4d ci ci a ;l >l ,l 'l )l !l :k 4d ci ~l i ,i =h =h %g Ve n} n. Il '' '' '' '' '' '' '' '' o. `c `c `c `c ", +" Jl Kl ,j Ll Ml ;e Wk ~h Nl 94 a Ol Z9 {h Pl ]j x} {[ Ql m 4k (l ,m :l 'm 'm )m !m ~m {m }l ]m ak ^m /m (m _m :m n 'm ,n 'n )n ~m !n ~n ]m ^m ^m {n ]n ^n /n xj 5l 5l bl bl 6m mk 6l kk kk ng hj 9l 9l si 3m (n ij 2m hk hk hk hk }m jj jj jj }m }m jj jj _n _n _n _n _n 1m 1m _n _n _n jj }m }m ck }m }m :n 2m 2m o 2n 1n /n al 6m ,o 5m 5m [n [n [n 9l 9l 3m :m :m :m :m 2m 2m :n :n :n 'o 'o 'o }m }m }m }m }m }m }m }m 'o 'o 'o 'o 'o 'o :n :n :n )o )o i @k =h $g $g Ve n. o. '' '' '' '' '' o. rn rn rn `c `c ", +" do eo Kl fo 'g ;e Wk >e f y2 a An go ho io jo ko z2 Za lo y] mo /g no Om @_ oo po Wl [j Tm qo ro so to uo vo (k Zm Rn wo xo 7e ci ci p in jn ,p 'p )p !p 7o 8o ~p {p 9o Bl Cl #j @h Xc 9$ v+ ]p T@ [@ [@ on on u+ ^p p. Bm Cm Nk Zj k Hl -j -j ,i ,i =h =h %g &g &g o. #k '' '' '' '' `c rn rn rn `c ", +" /p (p _p :p y] ]i `e Wk

8 5p Kn 6p 7p 8p 9p 0p ap bp (k Zm ,l cp (. 4d ci ci q `b ,q 15 'q -k )q !e k< !q ~q Cn {q I; |i ]q =( C2 ^q ,9 /q (q _q :q 9p p Tp Up Iq Jq Kq Xp Yp Lq Zp Mq Nq 9o Bl Cl 8 5 Oq ]% =. *+ E v+ T@ D Pq Qq on on g p. t+ ao Gl Zj k Rq -j +k #q * Sq %g Tq &g &g o. $^ '' '' `c rn rn rn rn ", +" Uq Vq Wq Xq Yq Zq `q =q r )e {j P; Z9 Yk 'q io $f x} {[ A2 lo l( .r +r A] @r Hn ^q #r $r %r &r *r =r -r ;r [q ap >r ,r Rn 'r )r !r ci 0h p qr Up Iq rr 'p sr !p Lq tr ~p `p ur vr `f 8 8 U| 5 ]% ]% =. Y% E v+ wr @q [@ zm on u+ g p. Bm Cm Nk `j k -j -j ;i #q @k =h %g $g n} n. m, '' n} rn rn rn rn ", +" xr yr zr Ar c4 Im Br Cr Dr Er H1 zn Fr Gr ;q Hr (i I1 9| &1 Ir [i Jr Nm n< =( Kr Lr :[ p3 Mr Nr Or Pr Qr Pr [q Rr }q Sr Tr `m Ur 0g 9h 0h }k Vr zo zo dp dp dp dp ~r ~r ~r ~r 2q ~r ]r {r {r {r fp 5q Wr Xr Yr ^r Zr 8q /r `r s .s :r bq np +s @s @s |r eq #s $s $s 1r %s up up 7k rq Ap 'n 'n oq oq 5r mq yp mq 7r %o %o Oo lq lq lq jq &s jq jq jq jq jq *s *s *s *s *s *s *s *s *s *s *s *s *s *s jq jq jq jq jq jq jq 2r lq lq lq =s sp %o -s 7r -s mq 8r oq oq 9r qq qq ;s >s ,s 's )s !s uq uq ~s {s br yq cr ]s fr fr ^s /s fp (s _s :s ir t ,t 't )t !p 6s !t Zp Al j ~t ~t Pb 9s x 0s 8 U| ]% ]% 3 =. *+ ]p T@ @q @q {t on pn Am p. Bm Gl ]t Zj `j .k +k ;i >i =h Dm %g $g n. n. rn ^t rn rn rn ", +" /t (t _t :t 4p t ,t Pt )p !p 6s Lq Qt Rt St Ma Tt ~t ~t Pb x Ut 8 U| Oq ]% Vt =. 1 v+ ]p D [@ zm on on g t+ 0o Gl Nk `j Wt .k -j >i >i *h %g $g &g n. -h ^t ^t rn rn ", +" Xt Yt Zt `t .a !h u .u +u }5 !e %f @u #u Xk $u %u Y[ &u *u Ir =u -u ;u Om {/ >u #r :[ ,u 'u )u !u at ~u {u ss ]u ^u /u (u _u ct :u 9g bh ei t ,t Au Bu Xp Cu 8o $i Du Eu Fu St St Tt Gu ~t Pb 0s 8 8 as 5 Hu a =. Y% v+ } @q [@ on on u+ g Bm Cm Gl Zj k Rq -j -j ,i * *h =h &g `c Iu Iu ^t rn ", +" Ju Ku _t Lu .c *q Br Wk Lm y2 8| ,q _h Mu hs Hr js Nu Ou ^6 Pu .0 Qu Ru Su Tu Uu p< Vu Wu Xu =r Yu at Zu {u ss ]u ^u `u ,r v .v +v @v #v bh v ,v pt pt 'v 'v Js )v rt 8u 8u bu !v tt tt au ~v {v Bt cq cq Rs Ps Ps Ps At At At fu fu fu xt eu du du du ]v du zt zt yt yt yt yt yt yt yt yt yt yt yt yt yt yt yt yt yt yt du du du du du xt fu fu fu gu At At |r |r ^v ^v /v {v i Sq %g Ve Iu Iu Iu ^t ^t ", +" hv iv jv e4 Bn kv lv |t mv y2 a Ol Xk ho nv ov 3t pv qv ls rv {q ms sv tv >u uv os vv wv xv yv zv Av Zu Bv Cv Dv bp /u ,r v Ev Fv @v 3j bh Gv 4j Hv Hv =m 3q Un 2q ft }u ]r zs }u ]r ]r ]r Iv Jv As |u 1u Kv %v Lv Mv Nv Ov -v Pv ;v >v Qv Rv pt 'v 'v Sv Tv Uv gu 8u Vv Wv tt tt au au Xv hu w su Ht $t ,w 'w )w !w ~w {w &t ]w ^w Nt 4s 0v /w av 5s Au )p (w _w _w Yd dv dv .h .h ev Fu St j Gu ~t Pb 9s :w 0s 7 Oq ]% =. =. *+ E ]p [@ [@ on pn u+ g t+ Cm v qw rw sw 'v 'v 'v Sv Uv tw uw uw vw ww xw yw yw zw qt hu @w /v /v Aw ^v qt At gu gu gu w fu bu bu Bw du du du Ms Ms Ms Ms Ms Ms Ms Zv Cw Cw Cw Dw tt tt Ms Ms Ms Ms Ms Ms Ms Bw bu bu bu Ew Ew gu gu Fw Fw qt qt .w Sv /v Gw @w @w Hw Iw Iw Jw _v Kw #w [v Lw $w |v Mw &w *w =w Nw Ow Ow ;w 3v Pw >w su tu 6v ,w Qw Qw !w ~w Rw Sw ]w Tw Nt Uw Vw Ww Xw Yw Zw `w x (w .x +x Tj Qe dv +j .h .h Eu St @x Tt Tt fv 9s x 0s as #x ]% a 3 Y% E v+ } [@ zm on $x ^p p. Bm ao Zj `j Hl Hl bs ,i Sq ^t Iu Iu Iu Iu ", +" %x &x iv *x lo ;e =x -x gs y2 |5 -d $f ;x >x ,x %u 'x T: )x !x ~x {x ]x ^x Hn /x 16 (x _x :x xv yv zv dw ew g Sx Tx z2 Ux .u Vx #f !e g3 ![ -k Wx Xx 2t 3t Yx qv ls Zx `x y .y tv +y @y #y $y %y &y *y =y t4 -y ;y >y 2d ,y 'y vo )y !y Zm ~y {y /. ]y !r ^y Fo /y Xn (y (y (y _y _y Cs Cs :y %v :y :y %v v 2y 3y 4y 5y 'v Tv tw 6y uw 7y vw !v !v 8y au au 9y 0y 0y 0y ay by cy dy 9y fu bu du Ms Ms `v Dw Cw Cw ey fy fy fy gy gy gy hy hy iy iy iy iy jy jy jy jy jy jy jy jy jy jy jy jy iy iy iy iy hy ky ky ky ky ky ly ~v ~v ey Cw Cw Dw Ms `v Xv vw bu Ew w gu Uv qt Aw /v Gw @w px px qx my Kw ny sx $w }v ux Mw [y wx =w -w it ;w As gt ru Gt Ht $t oy py }s |s qy ry 1s 4o sy ty uy vy vy wy xy xy yy zy Ay By Cy Dy (w Ey Yd Fy Fy l n Gy Hy Hy F Iy M~ Jy 0 Ky U| ]% 0$ Ly Y% My T@ Ny {t {t <@ Oy 0o Gl Zj Pk -j -i Py Py Iu Iu ", +" Qy Ry Sy Ty w^ Uy Vy Wy Xy ]6 go L' 25 |p Yy Zy `y z .z +z /6 @z #z $z %z &z uv *z =z -z ;z >z ,z 'z )z V2 F3 !z ~z {z ]z ^z /z (z _z :z A u q. ,A 'A )A !A ~A {A ]A ^A /A (A _A 8$ S@ :A B >B ,B ,B =B =B =B =B =B =B VA 'B 'B )B $B %B #B TA TA @B @B @B SA !B !B ~B {B {B ]B ^B /B MA (B _B :B IA , IB s/ Cr JB KB LB c I1 MB )q NB Xx OB PB QB RB 0A SB TB UB VB WB 75 XB XB YB ZB `B C ]1 .C +C @C _1 #C _8 R2 )c $C c5 %C %C f5 &C *C *C =C -C ;C -C >C kd ,C 'C 'C 'C 'C )C )C )C !C ~C ~C {C ]C ^C /C (C _C :C =] =D -D ;D mB >D ,D 'D )D !D ~D wB {D ]D ^D (A /D (D _D :D E MD ,E 'E )E )E HD !E ~E {E ]E ^E /E (E _E :E } ,} -F -F T} ;F |7 # >F >F b@ >F >F '2 b@ ,F ,F ,F 'F )F !F ~F ~F {F ]F ^F /F (F _F :F G ,G i} #^ T. V. K~ Y. 'G )G !G ~G {G ]G ^G /G (G _G AE :G DE & B& oG oG pG qG %< *< *< B< l$ y< k$ N} h$ rG sG -# #| -# -# -# tG -# uG -# vG wG xG yG zG yG yG AG BG CG DG EG FG GG HG IG JG KG LG MG NG OG PG QG QG RG SG TG TG TG TG TG UG VG VG WG WG XG YG ZG `G H H .H H +H @H TG #H #H #H #H $H $H $H %H %H $H $H $H $H &H &H $H $H *H =H =H =H =H -H -H -H $H $H $H $H &H &H $H $H $H %H %H %H %H ;H >H #H #H #H #H TG @H ,H 'H )H SG SG !H !H ~H ~H {H ]H ^H ^H MG /H (H _H :H IG 4 n7 qH qH v# rH sH tH uH vH wH :| i+ xH yH zH AH BH CH DH EH C* FH GH HH IH _G JH KH LH o, MH NH KE Py ", +" %x OH PH ;/ +c QH ]i RH & &I z_ z_ d: *I =I =I O# O# -I <% -I -I -I ;I ;I ;I ~< >I ,I 'I )I !I ~I {I ]I ^I /I (I _I :I J >J 02 ,J 01 'J )J ^3 (2 !J ~J h2 {J ]J ^J /J (J _J :J K ,K ,K ,K ,K 'K 'K 'K )K )K )K )K )K )K )K )K )K )K !K !K !K !K !K !K !K )K )K )K )K )K )K 'K 'K 'K ~K ~K ~K ~K ,K >K ;K -K -K =K -K -K -K =K =K =K {K `J ]K ]K ]K ^K /K (K _K :K | oK pK qK b_ c} ;* ,) rK d} O( sK tK uK vK wK xK yK zK AK BK CK DK EK FK GK HK IK JK %[ 9J ;] KK LK aJ LE Py ", +" MK 6{ NK vn |p OK PK QK 'g Zq r xn RK SK SK SK TK TK UK UK VK W9 )6 WK 9 ZK 7> 7> `K L )6 _5 !6 8 *7 G, <- `* `* c' .L a' +L +L M> @L #L $L %L &L *L =L -L ;L 6& >L ,L 'L )L !L ~L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L ]L ^L /L (L _L :L M ,M 'M )M !M ~M {M ]M Py ", +" ^M /M (M NK vn |p OK PK QK 'g Zq r xn RK SK SK SK TK TK UK UK VK W9 )6 WK 9 ZK 7> 7> `K L )6 _5 !6 8 *7 G, <- `* `* c' .L a' +L +L M> @L #L $L %L &L *L =L -L ;L 6& >L ,L 'L )L !L ~L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L ]L ^L /L (L _L :L M ,M 'M )M !M ~M {M _M :M ", +" ZK 7> 7> `K L )6 _5 !6 8 *7 G, <- `* `* c' .L a' +L +L M> @L #L $L %L &L *L =L -L ;L 6& >L ,L 'L )L !L ~L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L ]L ^L /L (L _L :L M ,M 'M )M !M ~M {M _M LE ", +" |M 1M [M ,^ z2 ;x UK 2M >e 3M VE ]j SH Jm QH 4M SH 5M TH 6M 7M w^ 8M 9M 0M aM bM L1 oJ cM dM eM Q- o- }6 7* P* fM ^/ // // gM I& B= hM z/ A/ iM 5* x( x( y( y( jM kM lM lM mM nM nM nM oM pM qM pM pM rM sM tM uM uM vM iM wM xM xM yM ^K ZJ zM AM BM BM CM DM EM 'K FM FM GM GM HM HM IM JM KM KM KM KM LM MM MM MM NM OM PM PM PM PM NM QM !K RM RM RM JM JM SM SM TM TM MM MM MM MM MM MM MM MM UM UM UM UM UM UM UM UM UM MM MM VM VM MM MM !K VM WM XM YM ZM ZM ZM ZM ZM ZM `M `M `M N `M `M `M .N +N @N #N =K K ;K $N {K {K %N ]K ]K ^K /K &N *N E/ =N -N ;N ;N >N rM ,N 'N )N lM !N ~N 0% {N bK BJ BJ /_ eK ]N ^N /N u: ~# _< r: r: ^< l@ (N _N :N k[ O ,O aI 3I 5I tI uI 2I 3I 'O BI P >P ,P 'P )P )P !P !P !P ~P ~P {P {P {P ]P ,P ^P =P =P =P =P -P -P -P ;P ;P ;P ;P ;P /P (P (P (P (P (P (P (P (P (P (P (P _P _P _P ;P ;P :P

Q >Q >Q >Q >Q ,Q 'Q 'Q 'Q )Q !Q ~Q {Q ]Q ^Q /Q (Q (Q (Q _Q :Q ;R >R ,R 'R )R !R ~R {R ]R FB ", +" v, ^R vO z2 /R (R .u _R :R 2R E= P1 D2 &_ yN WP 3R 4R 5R 6R 7R 8R Wm 9R 0R aR bR cR X1 dR {1 eR fR gR hR hR iR jR kR lR mR nR oR pR qR C3 qR pR rR rR pR pR rR sR tR uR uR vR vR wR wR xR yR ID JD ,E ,E zR AR AR BR CR YD %E DR ER FR FR GR GR HR IR JR IR KR LR MR NR OR PR PR PR QR QR QR RR SR TR TR TR UR VR TR LR WR LR LR LR LR LR LR LR LR LR LR LR LR XR XR XR XR XR XR XR XR XR XR XR XR LR KR YR ZR `R S .S .S +S #K @S .S @S @S .S #K #K @S #K #K #K #K #K #S &K #S $K #K $S %S &S GD *S *S ID =S =S -S ;S ;S ;S >S ^E ,S ,S ,S 'S )S zD !S ~S {S ]S ^S /S (S 4E 4E _S :S T ,T ,T 'T )T !T ~T ~T {T ]T ]T ^T /T /T /T (T _T :T 9: D= UT /7 VT (7 85 WT -a yS XT YT ZT `T U .U +U @U #U $U LS MS %U yR &U *U =U =U =U -U ;U >U ,U 'U )U !U 'U (C ~U GC /C /C {U ]U ]U {U ]U ]U ^U /U (U _U :U :U V QB .z ,V 'V )V WH !V sS ~V N1 E= D= Q1 I} {V ]V 85 95 -a yS -b ^V /V (V _V :V W ,W 'W :V )W IS #U #U $U !W !W ~W PS QS {W 3V ]W ]W ^W /W (W _W :W VS VS jT T >T >T 'T 2T gW hW iW jW kW kW kW (T lW lW mW mW nW oW pW pW qW qW qW iW jV rW sW sW sW sW tW tW tW tW tW tW tW tW tW tW tW tW tW tW tW tW uW eQ vW vV vV wW vV wW wW wW xW yW vV !P 'P 'P wV wV yV yV yV xV xV yV yV yV yV yV xV xV AV 3I zW YA AW BW BW BW CW CW 3W DW EW FW GW DC HW IW EV ^U ^U IU IU IC KC KC LC OU JW KW QU PC LW 1m |m ck bk ij 9l MW oh qi NW OW PW QW RW SW TW DA UW kg gg VW WU Hf WW Og Pg ZU XW 8B Gc QV Ie aB Fb dB YW ZW UV `W U $A X =A -. .X +X '= @X ]M ZV ", +" #X V[ ^R p^ $X VE %X &X Yy y} %1 *X =X sN dG lJ *X ~/ 7: -X 8: ;X c| R1 [[ T1 >X ,X 'X )X !X XT ^V ZT ~X {X ]X ^X gR /X iR jR (X _X :X :X Y ,Y 'Y )Y UW Gh <0 (0 TC !Y ~Y ^a WC {Y BT `C V +V FT Q8 fB iB $V ]Y &V ^Y /Y KT T| a- '* '* ]R ", +" (Y _Y '[ ! c Xk .u :Y 6: M1 p- O1 2Y c| 3Y 4Y 5Y 6Y 85 26 7Y 8Y 9Y 0Y -W aY bY +Q #Q cY dY eY eY fY fY fY fY gY hY hY hR iY jY kY kY kY lY lY mY mY nY nY mY CR CR oY pY pY qY rY sY tY tY uY uY vY wY xY xY xY yY zY zY AY BY CY DY DY DY EY FY FY FY FY GY GY GY HY IY 6T 6T JY KY KY KY LY MY NY NY OY OY PY PY QY QY RY RY SY TY TY UY TY TY VY VY WY WY WY WY WY WY WY WY UY UY UY UY UY XY 0Q YY ZY YY 7T hI 7T `Y `Y `Y iI iI iI iI iI iI VN VN iI iI VN VN VN VN VN VN Z Z VN VN Z .Z bI yY vY vY +Z @Z @Z #Z #Z $Z $Z %Z %Z %Z `D `D &Z *Z =Z -Z ;Z >Z >Z >Z ,Z 'Z )Z rR !Z ~Z {Z ]Z ^Z rD (S /Z (Z _Z :S :Z |S W CS zZ AZ BZ CZ DZ EZ EZ EZ FZ FZ FZ FZ GZ HZ HZ HZ IZ IZ IZ JZ KZ LZ MZ NZ NZ OZ PZ QZ RZ RZ RZ SZ TZ UZ VZ VZ WZ XZ WZ XZ YZ ZZ `Z ZZ `Z ` .` +` @` @` +` #` #` #` $` %` %` &` *` *` *` =` =` =` =` =` =` -` -` -` ;` .` .` .` .` .` .` .` .` >` >` >` >` >` >` >` .` .` ` ` ,` '` `R )` )` !` ~` ~` {` {` ~` ~` ~` {` HM ]` ]` ]` HM ^` ]` ]` HM HM HM HM HM !K !K HM HM !K /` %K (` OZ _` :` OZ <` [` [` }` KZ KZ KZ |` |` 1` 2` 3` 3` 4` 5` 6` 7` zQ 8` AQ CQ 9` 0` a` HQ IQ JQ b` LQ MQ c` OQ d` e` f` mR jY jY /F g` lR h` i` j` k` l` C3 m` n` o` p` q` r` s` C8 t` x9 u` v` H7 H8 w` L7 x` 3. @D y` z` A` cZ B` C` D` 0- ~% :D ", +" E` q! ;^ yn jo qN F` &X Xx G` y} H` zO I` J` 35 l( 3' C> [) {, ~, U- F; y^ K` L` $_ M` Y: N` @} O` P` WP 6Y Q` 4R R` R` S` T` T` U` U` U` V` W` W` U` X` Y` Z` `` MO MO .. .. .+ .@ .@ .# .$ .$ .$ .% .& .* .= .Y` - .xV ; .> ., .' .xU ) .! .QX QX ~ .~ .{ .] .] .^ ./ ./ .( .( ._ ._ .: .: .: .< .< .[ .[ .[ .[ .} .| .| .| .1 .| .1 .2 .2 .2 .2 .2 .2 .3 .3 .3 .3 .[ .( .( .( .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .5 .6 .7 .8 .8 .8 .8 .8 .8 .9 .9 .9 .9 .9 .9 .9 .9 .9 .9 .0 .a .b .b .b .b .b .b .b .b .b .b .b .c .d .e .f .AU AU AU AV AV yV g .= .= .h .i .j .% .k .@ .l .m .n .n .o .p .q .+P P 8P r .s .t .u .v .cP w .w .6H x .y .z .A .+| B .C .CZ D .E .F .G .{Q H .!Q I .J .K .K .21 11 ,2 L .7+ M .L3 )4 N .O .F7 ,5 P .Q .mE *R R .S .hS T .HT U .V .W .)* :D ", +" X .Y .Z .94 0G hJ ` .KB VE QE PB ..,..,..,..'..'..)..)..!..~..~..{..{..]..^..]..]..MJ bT NJ OJ /..dT dT (.._..:..:..wM WJ yM ^K zM AM BM +K $S EM EM #K %K GM !K !K RM IM KM KM MM MM MM NM NM NM NM <..<..<..[..[..[..[..}..}..}..|..|..}..1..1..2..3..3..3..4..4..4..4..4..5..5..3..6..7..7..7..7..7..7..7..8..8..8..8..8..8..8..8..8..7..9..0..a..b..b..c..c..b..d..d..b..c..d..d..d..d..d..d..d..e..e..d..d..e..e..e..e..WM f..WM g..h..$O i../` +K >K >K $S .K K j..j..zM YJ YJ k..VJ l..TJ (..cT m..NJ ]..n..o..p..q..r..s.. %..=+.u/ ^^ m( -+.-+.V: ;+.>+.,+.,+.'+.,+.'+.)+.)+.)+.!+.~+.;X {+.]+.^+./+.(+._+.]+.C] >+.>+.:+.:+.<+.[+.[+.}+.|+.|+.1+.2+.3+.4+.5+.6+.6+.7+.7+.8+.9+.0+.a+.0+.0+.0+.b+.b+.c+.d+.d+.d+.d+.e+.e+.f+.g+.g+.h+.i+.i+.j+.j+.j+.j+.j+.k+.k+.k+.l+.l+.l+.l+.m+.n+.n+.n+.n+.n+.n+.n+.o+.n+.p+.g+.q+.q+.q+.r+.r+.r+.r+.r+.r+.q+.q+.r+.r+.r+.q+.r+.s+.t+.u+.v+.v+.v+.v+.v+.v+.v+.v+.v+.v+.v+.w+.w+.v+.v+.w+.w+.v+.v+.v+.x+.x+.v+.x+.x+.y+.z+.x+.z+.A+.B+.C+.D+.7+.E+.F+.6+.6+.c .3+.2+.2+.G+.G+.H+.}+.I+.<+.:+.J+.]+./+.K+.L+.M+.N+.O+.P+.Q+.R+.R+.S+.T+.U+.V+.W+.X+.FJ EJ ^_ Y+.Z+.^..`+.>_ ,& NN LN E& JN B_ D_ J_ @.CN >I .@.+@.n$ @@.L# z# X@ #@.$@.h2 u1 %@.sH &@.*@.$R =@.-@.;@.X..>@.,@.gN +- ]R ", +" '@.d3 %! 6> Gr )@.SK !@.Ml 4A 4A Xy *q Br >e ~@.'g Jm {@.]@.Wk Wy `e Xb ^@./@.(@.(@.Br _@.Br Br Xb ^@.^@.:@.<@.(@.^@.[@.DL ^@./@.xL wL uL Vk *q }@.|@.1@.qL 2@.3@.4@.iL 5@.0; 6@.pL ,L dL aL 9L 7@.8@.5L oL nL 9@.0@.}L a@.b@.c@.d@.e@.f@.g@.h@.{L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L i@.j@.g@./L k@.l@.m@.n@.o@.p@.c@.c@.c@.q@.q@.b@.r@.s@.c@.q@.q@.s@.t@.t@.t@.u@.v@.v@.v@.w@.1L 1L x@.x@.y@.3L 4L 4L mL 4L z@.A@.A@.A@.B@.B@.7L C@.D@.E@.F@.F@.G@.G@.H@.iL PK I@.PK I@.SK J@.K@.L@.}@.M@.#; N@.-L uL O@.zL AL BL P@.EL 8> GL Q@.0' R@.S@.T@.U@.V@.LL L 7> S' W@.X@.Y@.Y@.Z@.`@.,[ #..#..#.+#.@#.##.$#.F, 7) o! N= %#.vO &#.*#.=#.-#.f% ;#.>#.^{ 6( ;: ,#.'#.2$ )#.N| k+ !#.~#.{#.]#.]M ", +" ^#./#.s} .9 Nl ho )@.(#._#.QH QH QH |t :#.(@.=q DL Xb (@.<#.;e ;e `q [t [#.}#.|#.*q kv 1#.7G Im Im !j ,g !j xL wL !j wL 2#.zL 3#.3#.tL ,g 4#.|#.5#.L@.1@.J@.qL 2@.3@.4@.iL 5@.0; 6@.pL ,L dL aL 9L 7@.8@.5L oL nL 9@.0@.}L a@.b@.c@.d@.e@.f@.g@.h@.{L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L i@.j@.g@./L k@.l@.m@.n@.o@.p@.c@.c@.c@.q@.q@.b@.r@.s@.c@.q@.q@.s@.t@.t@.t@.u@.v@.v@.v@.w@.1L 1L x@.x@.y@.3L 4L 4L mL 4L z@.A@.A@.A@.B@.B@.7L C@.D@.E@.F@.F@.G@.G@.H@.iL PK I@.PK I@.SK J@.K@.L@.}@.M@.#; N@.-L uL O@.zL AL BL P@.EL 8> FL 6#.HL IL 7#.S@.8#.9#.JL KL 0#.a#.a#.b#.c#.c#.d#. L e#.f#.g#.g#.h#.i#.j#. #.M' k#.l#..; m#.fZ n#.o#.p#.q#.r#.s#.X# 6# Y^ t#.u#.6- O( {J v#.w#.x#.y#.z#.A#.]M ", +" B#.^= C#.X9 D#.Gr Jm E#.F#.4A 4A aG Ml Im 'g >e ~@.'g G#.{@.Wk Wk Wy `e H#.BL ^@.(@._@..u lv lv Br lv <@.lv I#.DL ^@.^@.[@.DL Xb ^@.J#.wL uL Vk |#.M@.QK TK 2@.K@.3@.4@.iL 5@.0; 6@.pL ,L dL aL 9L 7@.8@.5L oL nL 9@.0@.}L a@.b@.c@.d@.e@.f@.g@.h@.{L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L i@.j@.g@./L k@.l@.m@.n@.o@.p@.c@.c@.c@.q@.q@.b@.r@.s@.c@.q@.q@.s@.t@.t@.t@.u@.v@.v@.v@.w@.1L 1L x@.x@.y@.3L 4L 4L mL 4L z@.A@.A@.A@.B@.B@.7L C@.D@.E@.F@.F@.G@.G@.H@.iL PK I@.PK I@.SK J@.K@.L@.}@.M@.#; N@.-L uL O@.zL AL BL P@.[@.K#.1, @; a' R@.S@.T@.L#.M#.|, a#.f#.W@.6; N#.O#.P#.Q#.i#. #..#.R#.S#.T#.##.$#.U#.=k `) V#.[: a= PP Q& i% W#.X#.Y#.Z#.O/ `#. $..$.+$.$@ 2$ @$.#$.$$.%$.&$.{#.KK ]M ", +" *$.=$.0) -$.x- hs Ml mN ;$.>$.=X ,$.'$.1p x} /R z2 )$.3D h3 $+.35 !$.~$.{$.3' |) [) ]$.{, J{ 7w F; ^$./$.m( #_ ($._$.$_ :$.<$.<$.<$.[$.D2 D2 }$.}$.+} r< |$.|$.1$.2$.CM 3$.3$.4$.FM 2$.2$.5$.5$.5$.6$.7$.%S 8$.8$.9$.9$.0$.a$.b$.c$.nQ d$.d$.e$.e$.f$.g$.h$.h$.h$.i$.i$.j$.k$.l$.l$.m$.n$.o$.o$.o$.o$.o$.p$.q$.q$.q$.r$.r$.r$.r$.s$.t$.t$.t$.u$.u$.u$.u$.v$.v$.w$.w$.x$.x$.x$.x$.x$.y$.u$.p$.p$.p$.p$.p$.p$.p$.p$.p$.p$.p$.p$.p$.p$.p$.p$.p$.z$.A$.B$.C$.D$.D$.D$.A$.A$.D$.D$.D$.A$.A$.E$.E$.E$.E$.E$.E$.E$.E$.F$.G$.G$.H$.I$.I$.F$.f+.f$.a .f$.e$.d$.d$.oQ nQ mQ b$.b$.J$.K$.L$.M$.N$.O$.P$.QM Q$.R$.4$.3$.3$.%N ^K ^K :K S$.T$.1K NJ MJ U$.JJ V$.HJ Z+.W$.X$.Y$.Z$.KN `+.`$.ON ON %..%.`: JN C_ +%.HN @.oG qG @%.#%.H..$%.%%.&%.*%.=%.-%.E# ;%.+C jA b0 >%.P6 ,%.'%.R .+D (G )%.A#.!%.]M ", +" ~%.{%.s} Y .++.io <%.[%.^$.}%.|%.n( 1%.2%.3%.$W 4%.5%.6%.7%.)..8%.'..8%.~..9%.~..9%.9%.0%.0%.0%.a%.b%.c%.d%.d%.e%.aT aT UN nI f%.oI g%.g%.h%.i%.j%.k%.k%.l%.m%.m%.n%.o%.o%.p%..S q%.q%.r%.s%.t%.~` u%.u%.u%.v%.w%.x%.x%.y%.z%.z%.z%.A%.A%.B%.B%.C%.C%.C%.D%.D%.E%.E%.F%.F%.F%.G%.G%.G%.G%.H%.H%.H%.H%.I%.I%.I%.J%.J%.J%.J%.D%.z%.z%.z%.z%.K%.K%.K%.K%.K%.K%.K%.z%.z%.z%.z%.y%.D%.L%.o$.L%.M%.M%.M%.M%.M%.o$.o$.p$.p$.p$.o$.o$.p$.p$.p$.p$.p$.N%.N%.O%.O%.O%.O%.P%.8 .q%.q%.q%.Q%.Q%.Q%.R%.o%.n%.n%.S%.T%.l%.YN j%. Z U%.V%.g%.oI mI bI 0I 8I 5I 4I W%.X%.AI BI Y%.EI /I Z%.`%. &.~I .&.Z` E..+&.@&.#&.$&.# .@ .. .NO tZ tZ %&.&&.*&. P ZO =&.-&.4[ ;&.>&.,&.'&.Y} )&.p| !&.>2 ~&.~&.{&.>2 ]&.^&.w` /&.x` (&._&.:&.<&.[&.!%.]M ", +" ~%.v= s} Y .l#.io hJ PT }&./%.|&.1&.|> 2&.3&.4&.i3 #..{$.C, B, ], z> 5&.[%.6&./$.-X 7&.8&.9&.0&.a&.b&.c&.d&.e&.f&.g&.h&.i&.j&.k&.l&.m&.n&.n&.n&.o&.p&.p&.p&.q&.q&.r&.s&.s&.s&.UG t&.u&.u&.u&.XG XG XG ZG v&.-P w&.x&.y&.'P y&.p&.tU tU sU MX z&.A&.B&.JX C&.D&.E&.E&.F&.F&.G&.H&.I&.J&.K&.J&.J&.J&.L&.M&.N&.N&.N&.N&.N&.O&.P&.P&.O&.P&.P&.Q&.R&.R&.S&.R&.T&.T&.T&.T&.U&.U&.T&.V&.V&.V&.V&.V&.W&.J&.J&.K&.K&.K&.K&.K&.K&.K&.K&.K&.J&.J&.J&.J&.I&.X&.Y&.Z&.Y&.`&.`&.Y&.Y&.`&.`&.Y&. *.`&.`&..*.Y&.Y&.`&.`&..*..*.`&..*..*.+*.!` q%.@*.z&.z&.z&.KX z&.MX tU ]P #*.$*.%*.'P 'P x&.w&.&*.&*.`G *P VG UG $H &P **.**.=*.OG ]H -*.;*.>*.,*.'*.)*.!*.~*.2` {*.]*.^*./*.(*._*._*.IZ IZ HZ 3` :*.eY :Q <*.[*.G .{Q }*.|*.,Q 1*.2*.]F 3*.4*.5*.6*.7*.7*.r4 r4 8*.9*.$C D3 58 O8 0*.FT dB ,R a*.b*.c*.~% ", +" y+ B; s} Y .[, ~g SH d*.yO XH [R e*.oJ *( f*.g*. 0 3' ^, ], h*.G; x^ *..}%.n( 1%.i*.4%.6%.j*.k*.l*.m*.n*.o*.p*.q*.r*.r*.s*.t*.u*.v*.w*.w*.x*.x*.x*.y*.y*.z*.z*.z*.A*.B*.rF C*.eF eF D*.E*.D*.F*.B*.B*.G*.H*.6Q I*.I*.J*.K*.bQ L*.dQ M*.N*.N*.O*.O*.P*.Q*.Q*.R*.R*.S*.S*.T*.U*.U*.V*.W*.W*.X*.Y*.Y*.Y*.Z*.`*. =..=.+=.+=.+=.@=.#=.$=.$=.$=.$=.$=.$=.%=.%=.%=.&=.&=.&=.*=.*=.*=.*=.*=.==.==.==.-=.;=.X*.X*.X*.X*.X*.X*.X*.X*.X*.X*.X*.X*.X*.X*.>=.W*.,=.F&.G&.'=.'=.G&.G&.G&.G&.G&.G&.G&.)=.)=.G&.G&.G&.G&.G&.G&.G&.G&.!=.!=.!=.~=.{=.]=.]=.^=./=.(=._=._=.M*.M*.cQ :=.J*.J*.I*.7Q 6Q 5Q jF hF 2Q |Q dF }Q <=.[Q [=.zW yF 6F }=.|=.1=.tY 2=.3=.4=.5=.KF *Z 6=.7=.;Z QF 8=.$Z 9=.@E pY _X CR BR 0=.a=.b=.c=.j` d=.d=.1X e=.f=.g=.uD h=.i=.i=.j=.k=.l=.b6 m=.06 %C n=.^a SV o=.p=.,D q=.r=.0- X% ", +" s=.B; c) Y .Km t=.u=.:Y v=.w=.x=.f! R- y=.ls $..z=.^, n~ A=.%..^$./$.B=.C=.D=.E=.F=.G=.d&.H=.I=.J=.K=.L=.M=.N=.O=.P=.P=.Q=.R=.S=.S=.T=.T=.U=.V=.W=.X=.Y=.Z=.Z=.Z=.`=. -.9=..-..-.UD UD UD WD WD XD +-.@-.JR #-.$-.%-.&-.*-.RR =-.--.;-.>-.,-.'-.'-.)-.TY !-.!-.~-.{-.]-.^-.OY /-.(-.PY PY _-.:-.QY RY <-.[-.[-.}-.}-.|-.|-.1-.1-.1-.1-.2-.2-.2-.2-.3-.2-.3-.4-.4-.5-.5-.5-.5-.6-.6-.6-.6-.7-.8-.9-.0-.0-.0-.0-.0-.0-.0-.0-.0-.0-.0-.0-.0-.0-.0-.0-.a-.b-.c-.d-.e-.f-.f-.e-.g-.e-.d-.e-.e-.e-.f-.f-.f-.d-.d-.d-.d-.d-.h-.i-.(-.j-.TY TY TY k-.l-.,-.,-.m-.UR TR SR RR n-.n-.%-.o-.MR LR JR GR p-.q-.DR %E r-.s-.t-.u-.v-.w-.w-.x-.y-.z-.A-.B-.C-.D-.E-.[E 3X F-.1E G-.`X H-.bX 9X UX VX I-.6X J-.K-.L-.M-.N-.O-.ZS XS [W P-.!U Q-.R-.S-.;Y T-.U-.V-.5Z W-.b6 X-.$C Y-.Qd Z-.`-. ;.r=..;.+;.1G ", +" @;.#;.14 X( .; $;.u=.:Y I` %1 +z nJ B^ ~^ %;.&;.*;.], |; U- 6&.=;.-;.;;.>;.E=.,;.';.);.!;.~;.{;.];.^;./;.(;._;.:;.<;.<;.[;.};.|;.1;.2;.3;.4;.5;.5;.6;.6;.6;.7;.7;.8;.9;.bX 0;.0;.0;.a;.a;.b;.a;.b;.c;.'T !T {T d;.e;.f;.g;.h;.i;.j;.k;.1T l;.l;.m;.n;.o;.o;.xX xX yX AX p;.BX BX BX q;.r;.r;.s;.s;.t;.t;.u;.v;.w;.w;.x;.x;.x;.y;.y;.y;.z;.z;.A;.A;.A;.B;.B;.B;.B;.C;.C;.C;.C;.C;.C;.C;.D;.E;.E;.E;.v;.F;.F;.F;.F;.F;.F;.F;.F;.F;.F;.F;.F;.F;.G;.G;.G;.H;.I;.J;.K;.L;.M;.K;.K;.K;.L;.K;.K;.L;.K;.L;.L;.K;.K;.L;.L;.L;.N;.yX O;.P;.O;.Q;.Q;.Q;.R;.1T 1T 1T S;.[T T;._T U;.V;.V;.d;.]T {T 2T 'T W;.X;.X;.;T Y;.cW cW 0W Z;.`;. >..>..>.BW 3W |U +>.@>.EU DV ^U IU #>.MU $>.2U 5U %>.&>.CV *>.*>.=>.:U (U (U ->.;>.>>.,>.'>.)>.!>.~>.DA DA {>.]>.^>.-Y U-./>.(>.a6 r4 A3 _>.:>.<>.tB [>.G- }>.q& ", +" @;.|>.b) +! F, Hr 4D 1>.2>..z =u eM m- |> 3>.4>.B> `~ 5>.F; /$.6>.7>.8>.4%.j*.9>.0>.a>.~;.b>.c>.d>.e>.f>.g>.h>.i>.j>.k>.l>.m>.n>.o>.p>.n>.q>.r>.s>.t>.t>.t>.u>.u>.v>.w>.x>.9W cV 0W dV dV y>.y>.y>.y>.0U aU z>.A>.A>.A>.B>.C>.gU D>.E>.jU mV mV mV F>.G>.H>.H>.I>.J>.J>.K>.K>.K>.L>.M>.N>.O>.P>.Q>.P>.Q>.Q>.R>.S>.S>.S>.T>.T>.T>.U>.U>.V>.V>.V>.V>.W>.W>.W>.W>.X>.X>.Y>.s;.s;.s;.s;.s;.s;.s;.s;.s;.r;.Z>.`>.`>.`>.`>.`>.`>.`>.`>.`>.`>.`>.`>.`>.`>.`>.`>. ,.`>..,.+,.@,.G;.F;.F;.G;.F;.F;.F;.F;.F;.F;.F;.#,.G;.p;.$,.%,.%,.%,.%,.&,.&,.&,.lU *,.kU =,.-,.;,.jV >,.>,.pU pU oU cU ,,.',.),.!,.y>.~,.~,.{,.],.^,./,.(,._,.:,.VA )B <,.[,.[,.},.OA |,.1,.1,.2,.IA 3,.ez }B 4,.5,.6,.7,.8,.},.},.9,.0,.0,.a,.b,.NV c,.d,.e,.f,.g,.h,.i,.j,.k,.l,.m,.n,.Q-.o,.(>.pA p,.q,.o| 6d `g T| aJ a- IE )* ", +" r,.s,.b) .9 )g Yk rN t,.u,.x=.!/ `H m- J; v,.w,.], z> <%.x,.K` n( 1%.y,.6%.z,.A,.H=.B,.C,.D,.c>.E,.e>.F,.G,.h>.H,.k>.I,.J,.K,.L,.o>.M,.q>.N,.j;.u>.O,.P,.u>.Q,.w>.w>.R,.S,.0W 0W T,.0U U,.U,.U,.U,.U,.aU ',.V,.V,.B>.B>.gU D>.sW iW iW mV F>.F>.G>.G>.H>.I>.W,.J>.X,.K>.Y,.L>.M>.Z,.N>.P>.P>.P>.R>.`,.`,.`,.T>. '. '. '..'..'.V>.V>.V>.V>.V>.V>.+'.W>.W>.W>.W>.W>.s;.@'.s;.s;.s;.s;.s;.t;.t;.t;.t;.#'.$'.O;.O;.O;.O;.O;.O;.O;.O;.O;.o;.o;.o;.O;.O;.O;.O;.O;.`>.$,.O;.%'.AX p;.p;.&'.p;.p;.*'.='.p;.='.p;.yX $,.-'.;'.-'.oW H>.%,.%,.G>.&,.&,.&,.&,.lU *,.=,.=,.;,.jV iV >,.>,.>'.V,.cU ',.aU ),.!,.,'.~,.~,.''.)'.!'.(,._,.~'.{'.{'.]'.^'.[,./'.{B ('._'.:'.<'.['.sz sz }'.|'.5,.6,.1'.2'.3'.4'.5'.NA 0,.KA 6'.7'.8'.d,.9'.0'.g,.a'.e,.b'.RW a,.c'.P-.d'.e'.f'.g'.h'.i'.j'.ty q. 0- 0- '= '* ", +" k'.l'.'e .9 $8 LB m'.I` EO V- $0 ;+.*~ #..n'.[) {, 5>.o'.p'.q'.7>.>;.E=.r'.s'.t'.u'.v'.w'.x'.y'./;.z'.A'.B'.C'.D'.E'.F'.E'.G'.H'.I'.I'.J'.K'.L'.J'.M'.M'.N'.O'.P'.Q'.Q'.R'.dW x>.S'.x>.S'.S'.T'.eW U'.,T V'.W'.gW iW jW jW X'.Y'.Z'.`'.`'. )..)..). ,. ,.+).+).@).@).#).R>.T>.T>.$).U>.U>.U>.%).+'.W>.W>.X>.W>.Y>.s;.s;.t;.t;.#'.&).&).w;.w;.w;.w;.*).y;.y;.y;.y;.y;.y;.y;.y;.y;.=).z;.z;.z;.z;.z;.A;.F;.p;.p;.p;.p;.p;.p;.p;.p;.p;.p;.-).-).-).-).;).;).>).yX yX yX yX zX AX p;.p;.p;.='.p;.yX xX @).O;.Q;.O;.,).').').').)).)).!).~).~).{).{).]).]).H>.H>.G>.mU mV iW iW tW iU gU >,.fU eU T'.z>.aU U,.U,.,'.~,.{,.^)./).()._)._,.:,.WA :).:).<).{B PA OA MA _B ['.[).}).|).1).5,.6,.6,.^'.2)./'.3).4).5).6).7).8).c,.9).0).a).NV b).;>.c).)U d).N-.f=.e).^9 (8 f).bR RC g).h).H- o= z* ", +" c$ 14 @! .9 1p LB i).j).&+.), k).l).:) z} u+.m).n).A, o).p).q).|%.C=.D=.0&.r).z,.s).t).u).v).w).x).y).z).A).B).C).C).C).D).E).F).G).H).I).H).H).I).I).J).K).K).L).M).N).O).P).jX jX jX kX i;.i;.Q).R).S).T).tX tX U).V).W).X).Y).='.Z).`). !..!.+!.+!.@!.@!.#!.#!.$!.A;.A;.%!.&!.*!.*!.=!.-!.-!.;!.;!.;!.>!.>!.,!.,!.SY '!.'!.)!.)!.!!.!!.!!.!!.!!.!!.~!.[-.[-.[-.[-.[-.[-.[-.}-.}-.}-.}-.}-.}-.{!.{!.[-.K;.]!.]!.]!.]!.^!.^!.^!./!./!./!./!./!./!./!.(!./!./!./!.(!.(!.(!._!._!.:!..aV 2W [U :U (U j!.k!.;>.l!.m!.n!.j!.}W o!.d).p!.q!.sR r!.NS s!.GS Z1 2[ L .t!.!%.!%.+- z* ", +" :% u!.v!..9 1p rN w!.j).x!.x, o~ y!.z!.A!.#..u+.4>.B!.C!.D!.%z E!.=;.F!.7>.G!.H!.I!.z,.J!.K!.L!.M!.N!.O!.P!.Q!.y'.d>.R!.S!.T!.U!.V!.W!.U!.U!.X!.Y!.Z!.`!.`!. ~. ~..~.+~.@~.DY #~.$~.;-.%~.&~.&~.*~.=~.-~.;~.>~.MY NY ,~.a-.'~.)~.!~.~~.{~.]~.^~./~./~.(~.(~.7-.7-.7-._~.:~.<~.[~.}~.|~.|~.|~.1~.1~.2~.3~.3~.4~.4~.4~.Y*.Z*.Z*.Y*.5~.6~..=..=..=.7~.7~.7~.8~.8~.8~.+=.+=.+=.+=.9~.9~.9~.9~.9~.9~.9~.9~.0~.Z*.g-.g-.g-.g-.g-.g-.g-.g-.U*.U*.U*.g-.g-.e-.e-.e-.S*.S*.c-.c-.e-.c-.a~.b~.b~.b~.a~.c~.d~.e~.f~.f~.d~.g~.g~.g~.g~.h~.h~.^~.b-.i~.j~.k~.k~.l~.m~.QY QY a-.n~.o~.NY p~.p~.WY UY k-.*~.,-.q~.r~.=-.s~.$-.NR t~.u~.+-.p-.DR r-.v~.w~.x~.y~.z~.LD A~.y-.z-.C-.C-.B~.C~.D~.E~.F~.G~.H~.I~.I~.aX 9X J~.K~.L~.K-.M-.O-.`S O-.M~.N~.O~.N~.P~.Q~.R~.LS IS S~.Z1 X1 ^8 T~.*< U~.0- t; 0- z* ", +" Z@ d3 d3 .9 1p 4D i).j).3: V~.W~.oJ !/ J1 35 &+.X~.Y~.Z~.&~ `~. {..{.x,.=;.|%.+{.@{.>;.#{.${.%{.&{.l*.K!.L!.*{.={.={.-{.-{.;{.>{.,{.,{.'{.'{.M=.=` =` =` ){.){.-` -` !{.~{.{{.]{.]{.,` ,` ,` ,` ` .` @` ^{.&` =` -` !{.~{./{.({._{.:{.:{.<{.[{.[{.}{.|{.|{.1{.1{.1{.2{.2{.3{.4{.4{.4{.5{.6{.6{.6{.7{.7{.M&.M&.M&.M&.8{.9{.9{.9{.9{.0{.0{.a{.a{.a{.a{.a{.a{.P&.S&.b{.b{.b{.b{.b{.R&.R&.R&.R&.R&.R&.R&.R&.R&.K&.I&.I&.I&.I&.I&.I&.I&.I&.H&.H&.H&.c{.c{.c{.c{.c{.)=.)=.G&.G&.G&.G&.'=.'=.'=.d{.d{.d{.d{.d{.e{.f{.f{.f{.g{.g{.h{.i{.i{.j{.j{.:{.k{.k{.,=.l{.m{.m{.m{.n{.-` -` ;=.;` o{.^{.p{.q{.Q*.P*.(=.(=.r{.s{.t{.u{.6Q 5Q jF iF fF |Q <=.[Q v{.zW yF vQ w{.x{.2=.2=.y{.EY CY zY zY z{.A{.|;.B{.C{.sY D{.E{.F{.CR G{.OS yR b=.}V }V b=.H{.I{.J{.K{.L{.^X M{.N{.O{.P{.&< Q{.R{.+- o> H- '= ", +" S{.T{.u!.8) +#.1t U{.5M 4) V{.#~ U) *~ |&..W A!.*X W{.X{.Y{.m).Z{.`{. ]..].+].@].#].$].%].+{.&].8>.*].=].-].;].>].>].>].,].'].)].!].~].h&.a>.~].{].]].]].^].1 ./].1 .(].3 .3 ._].:]._]._].5 .5 .<].< .[ .| .[].}].3 .|].1].2].2].3].3].4].5].6].6].7].7].8].9].9].0].0].a].a].b].c].c].d].d].e].e].f].g].g].h].h].i].i].h].j].k].k].k].k].k].l].l].l].l].l].G%.G%.G%.G%.G%.G%.G%.G%.G%.H%.H%.H%.H%.H%.H%.I%.G%.m].m].m].m].m].m].m].m].m].m].m].y%.y%.n].n].n].o].o].o].p].p].p].p].q].q].q].q].r].`&.`&.Y&.Y&.Z&.Z&.Z&.Z&.s].t].t].t].u].4].v].v].w].x].y].z].A].A].|].B].C].2 .1 .D].E].F].@*.5 .G].H].LX I].#*.$*.)P ,P >P -P *P WG J].K].**.L].M].OG _` N].MZ }` O].P].O].UZ Q].R].S].T].U].V].W].X].rF aF 0F fY Y].5F Z].<*./Q `]. ^..^.+^.@^.#^.$^.P{.A< &&.g| %^.&^.*^..;.o> H- o= ", +" =^.-^.;^.+1 +#.>^.:Y NB :, B2 55 ,^.3: 9G UE }R RT .W EO *X W{.'^.)^.Y{.m).7D Z{.`{.!^.~^.{^.]^.^^./^.n$.(^._^.:^.<^.[^.}^.|^.}^.1^.1^.2^.2^.3^.4^.4^.6..5^.5^.6^.7^.8^.9^.0^.5^.^` a^.b^.9..b^.<..}..|..2..4..c^.d^.d^.e^.f^.g^.h^.i^.j^.k^.l^.q$.m^.n^.n^.s$.o^.p^.p^.w$.w$.q^.x$.y$.r^.r^.r^.r^.s^.s^.s^.t^.s^.u^.u^.v^.v^.v^.v^.v^.v^.v^.v^.v^.w^.x^.w^.w^.w^.w^.y^.y^.z^.z^.A^.A^.A^.A^.B^.B^.B^.B^.B^.B^.v^.C^.r+.r+.r+.r+.r+.r+.r+.r+.r+.r+.r+.r+.r+.D^.D^.D^.D^.E^.E^.E^.E^.E^.u$.F^.G^.F^.F^.H^.u$.o^.I^.I^.I^.J^.J^.K^.p$.p$.M%.M%.L^.M^.M^.N^.N^.O^.e^.P^.Q^.d^.R^.5..3..S^.T^.U^.8..8..V^.u%.`R )` p%.Q%.n%.W^.X^.j%.VN gI .O oI bI RN 7I PN 2I 3I Y^.Z^.{ .`^. /../.RX ) .+/.@/.> .j&.Y` #/.$/.%/.&/.*/.=/.=/.-/.vZ ;/.>/.,/.'/.)/.!/.~/.{/.LO ]/.6% ^I B_ F& ^/.//.r=.0- o= ", +" (/._/.`@.0) 6> :/.;$.Wx (.Q$.'K -K {K `J k..WJ %K ,(.'(.)(.!(.j..T%.~(.{(.8%.](.^(.aT d%.4I /(./(.((._(.:(.<(.[(.}(.|(.1(.2(.Q{.((.3(.NN %.;_ 4(.G& 5(.6(.r=.0- ", +" 3@ V~ y- f< 44 6A RE 7(.+#.8(.,7 9(. c Ua Wk 'g 0(.Vx 0(.Wk Wy 1D 1D Wy 1D a(.Wy Wy Wy )@.oS pS a(.pS oS PT pS .u F` ` .` .b(.c(.kv d(.e(.1@.f(.g(.h(.i(.j(.k(.l(.m(.C@.C@.6L 6L 1L n(.o(.p(.t@.t@.q(.o@.r(.r(.e@.s(.t(.u(.v(./L f@./L /L u(.f@.f@.w(.x(.y(.z(.z(.A(.B(.z(.^L ~L C(.D(.D(.D(.{L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L D(.i@.h@.E(.y(.w(.k@.F(.G(.!L H(.H(.G(.I(.I(.I(.I(.I(.I(.J(.I(.I(.e@.n@.n@.r(.r(.p@.p@.p@.o@.o@.K(.q(.q(.c@.c@.c@.q@.s@.s@.L(.L(.t@.t@.t@.t@.}L p(.p(.p(.o(.M(.M(.N(.6L O(.P(.C@.Q(.Q(.R(.l(.l(.S(.j(.hL T(.H@.U(.V(.3@.5#.M@.M@.,g xL W(.CL [@.I#.1D 0(.~@.X(.Y(.Z(.Y@.Z@.`(. _.._.+_.@_.#_.$_.%_.&_.*_.=_.-_.;_.>_.,_.'_.A=.)_.S* !_.B] /^ M+.~_.2= {_.]_.b*.G- ", +" %# ^_.)6 ;^.;^.4A RE RE /_.(_.6> __./_.#d *q *q J@.I@.g(.U(.:_.<_.j(.k(.D@.S(.[_.}_.aL aL |_.|_.1_.m(.2_.3_.1_.4_.4_.5_.Q(.6_.6_.8L Q(.6_.C@.7_.z@.4L 3L 3L 3L 1L 8_.v@.v@.r@.r@.q@.s@.9_.c@.q(.q(.n@.e@.I(.I(.G(.0_.u(.u(.a_./L f@./L /L u(.f@.f@.w(.x(.y(.z(.z(.A(.B(.z(.^L ~L C(.D(.D(.D(.{L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L D(.i@.h@.E(.y(.w(.k@.F(.G(.!L H(.H(.G(.I(.I(.I(.I(.I(.I(.J(.I(.I(.e@.n@.n@.r(.r(.p@.p@.p@.o@.o@.K(.q(.q(.c@.c@.c@.q@.s@.s@.L(.L(.t@.t@.t@.t@.}L p(.p(.p(.o(.M(.M(.4L 6L b_.O(.c_.C@.C@.8L Q(.Q(.4_.d_.eL e_.f_.f_.hL F@.G@.g_.g_.iL h_.h_.V(.2@.h_.OK OK PK K@.K@.K@.i_.j_.wn ,g ,g wL [@.k_.Sa l_.m_.n_.o_.p_.q_.r_.s_.t_.EO L= ,^.W~.w> u_.5= 4= v_.w_.x_.KK ;> ", +" y_.{& )6 Q: b) z_. A_.Yb ;e B_.7G ]i kv *q TK SK C_.f(.I@.RK RK PK h_.h_.OK D_.E_.F_.F_.G_.E_.OK F_.H_.I_.h(.J_.E@.i(.J_.j(.k(.d_.1_.Q(.8L 7L b_.K_.L_.L_.n(.1L u@.r@.M_.a@.b@.q@.p@.n@.N_.m@.G(.0_.u(.u(.a_./L f@./L /L u(.f@.f@.w(.x(.y(.z(.z(.A(.B(.z(.^L ~L C(.D(.D(.D(.{L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L D(.i@.h@.E(.y(.w(.k@.F(.G(.!L H(.H(.G(.I(.I(.I(.I(.I(.I(.J(.I(.I(.e@.n@.n@.r(.r(.p@.p@.p@.o@.o@.K(.q(.q(.c@.c@.c@.q@.s@.s@.L(.L(.t@.t@.t@.t@.}L p(.p(.p(.o(.M(.M(.4L 6L b_.O(.c_.C@.C@.8L Q(.1_.O_.k(.k(.P_.E@.E@.g_.iL h_.h_.h_.Q_.L@.L@.M@.wn }@.}@.kv ]i tL R_.xL ^@.DL S_.G#.T_.U_.c#.Y(.1>.V_.W_.X_.Y_.Z_.`_.t_. :..:.`E 2) F' +:.9{ H= R* 8* @:.#:.$:.sO !%. ", +" y_.%:.I> f< u!.&:.gs >^.*:.=:.!^ A} 2: -:.VE io ;:....>:.,:.'$.':.XE ):.!:.H` ~:.{:.]:.^:./:.(:._:.::.<:.[:.}:.|:.w/.1:.2:.2:.3:.3:.2:.4:.4:.4:.`~.5:.6:.6:.7:.8:.8:.u/.9:.w/.0:.a:.z/.V/.b:.H$.Y/.W/.V/.x/.R/.S/.B/.B/.E/.K/.c:.H/.I/.d:.e:.f:.f:.f:.g:.h:.h:.h:.h:.i:.j:.j:.k:.l:.l:.l:.m:.m:.n:.m:.m:.o:.m:.p:.p:.p:.p:.q:.q:.q:.q:.p:.p:.r:.s:.s:.s:.s:.s:.s:.t:.s:.s:.s:.s:.s:.u:.s:.s:.s:.s:.s:.u:.u:.u:.u:.u:.u:.q:.v:.v:.v:.v:.v:.v:.v:.v:.v:.v:.v:.v:.v:.w:.x:.l:.l:.l:.l:.y:.x:.x:.x:.x:.x:.y:.j:.j:.o:.z:.z:.A:.A:.A:.A:.B:.B:.B:.C:.d:.d:.D:.E:.F:.K/.G:.L/.O/.B/.R/.T/.H:.V/.W/.Y/.C$.B$.`/.I:.q/.J:.n/.m+.m/.g+.f+.K:.l/.a+.9+.L:.c .*(.pQ 1+.M:.N:.N:.j$.F!.O:.O:.P:.Q:.2%.R:.8$.S:.T:.LM U:.V:.W:.X:.Y:.Z:.`:.Z:.Z:.`:.`:.`:. <..<.RJ +<.@<.;..#<.#<.$<.%<.&<.*<.); H- ", +" H< ,[ Nl k#.M' h#.=<.*:.B} x!.^[ -<.;<.><.G` ,<.):.)$.'<.)<.!<.~<./:.{<.]<.^<./<.6/.|:.2:.(<._<.:<.<<.9/.[<.}<.|<.r$.r$.r$.1<.2<.3<.l$.4<.5<.5<.f^.6<.6<.7<.7<.7<.8<.9<.0<.a<.b<.c<.c<.j^.d<.e<.L%.L%.8<.K^.s$.v$.q^.y$.r^.s^.s^.f<.g<.y^.y^.y^.B^.h<.h<.h<.i<.j<.j<.k<.k<.k<.t/.l<.m<.n<.n<.o<.o<.o<.p<.p<.p<.p<.p<.p<.q<.q<.v/.v/.v/.v/.r<.r<.s<.s<.s<.s<.s<.s<.s<.s<.s<.y/.y/.y/.y/.y/.y/.y/.y/.y/.y/.y/.y/.y/.y/.x/.Y/.D$.D$.D$.D$.D$.D$.D$.D$.D$.D$.D$.D$.D$.D$.A$.A$.B$.Z/.Z/.Z/.Z/.Z/.Z/.Z/.`/. (.Z/.t<.s/.q/.q/.q/.q/.u<.u<..(..(.v<.m+.+(.+(.+(.r+.D^.E^.G^.F^.H^.J^.p$.M%.w<.M^.N^.f^.e^.d^.x<.5..3..y<.U^.6..9..V^.]` {` .S p%.z<.W^.l%.A<.j%. Z h%.B<.C<.D<.E<.F<.G<.WN hI H<.TN I<.J<.K<.L<.M<.N<.1(.M<.M<.M<.O<.O<.L<.P<.P<.Q<.R<.^..S<.T<.QJ SJ >..$<.%<.U<.V<.;> G- ", +" W<.:- &:.X<.X<.=<.@+.QE Y<.Z<.J; `<. [..[.!:.~:.hZ ~<.,V ~V +[./<.@[.1:.8:.#[.~^.9/.0/.q^.r$.8<.$[.%[.&[.0^.*[.=[.-[.J<.J<.;[.J<.;[.>[.,[.'[.'[.)[.![.![.~[.{[.~[.9].][.][.^[./[./[.([.([.u].4].6]._[.8].r].:[.b].e].f].f].i].i].<[.G%.G%.I%.[[.[[.}[.|[.}[.1[.2[.3[.2[.4[.5[.6[.7[.8[.8[.h^.9[.9[.9[.0[.0[.0[.0[.0[.0[.a[.a[.a[.a[.b[.c[.c[.c[.c[.c[.c[.c[.c[.c[.c[.d[.d[.n^.n^.n^.n^.n^.n^.n^.n^.n^.n^.n^.n^.n^.n^.n^.m^.e[.N^.N^.N^.N^.N^.N^.N^.N^.N^.N^.N^.N^.N^.N^.d<.f[.f[.e^.e^.e^.e^.P^.P^.P^.Q^.h^.g[.8[.c^.c^.J%.J%.h[.h[.3..i[.S^.D%.D%.U^.B%.m].y%.n].n].o].q].Y&.`&._[.6].4].4].j[.z].k[.A].l[.3 .2 .m[.I&.n[.@*.o[.p[.H].MX tU q[.%*.'P w&.&*.ZG r[.z&.s[.t[.'` u[.`G v&.v[.w[.x[.y[.z[.A[.B[.C[.D[.D[.E[.F[.G[.H[.I[.J[.K[.L[.M[.}I c%.e%.S<.QJ #<.C^ w$ N[.O[.t; ); ", +" P[.NK t} 0) x- Pl @+.:R 1) !/ +_ y> :> Q[.)<.R[.S[.::./<.@[.n).`{._<.T[.[<.U[.$].V[.W[.[^.*[.=[.X[.Y[.Z[.`[. }..}.+}.+}.@}.#}.$}.$}.#}.%}.&}.*}.*}.=}.1{.e{.=}.-}.-}.4{.4{.;}.6{.6{.>}.,}.6{.[{.[{.|{.'}.3{.)}.)}.5{.!}.7{.M&.M&.0{.a{.b{.S&.U&.T&.~}.{}.{}.]}.^}./}.(}.(}.(}._}._}.:}.5].<}.[}.}}.|}.7].|}.|}.|}.9].0].1}.1}.1}.1}.^[.:[.:[.:[.b].b].b].c].c].e].e].c].c].c].c].c].c].c].c].c].c].c].d].d].d].d].d].c].c].8].s].s].2}.2}.2}.2}.t].t].t].t].t].t].t].t].t].3}.4].v].v].v].w].w].j[.j[.y].4}.([.1}.y].V&.A].A].l[.5}.B].C].2 .2 .6}.6}.W&.7}.7}.8}.H&.G&.3{.9}.d{.g{.i{.0}.j{.j{.l{.a}.m{.b}.b}.;=.;` o{.p{.R*.Q*.^=.(=._=.:=.cQ K*.I*.5Q c}.2Q 7Q /=.d}.G,.e}._=.f}.g}.h}.i}.j}.k}.l}.l}.m}.j}.n}.n}.o}.p}.q}.r}.z[.s}.t}.K[.u}.v}.w}.c%.x}.QJ @<.E^ y}.z}.o, .;.); ", +" F# Wb 7> 0) [, >$.UH is A}.B}.C}.D} -X A, D}.'^.^<.E}.n).6:.F}.G}.H}.I}.6<.W[.0^.J}.K}.L}.M}.'[.N}.O}.P}.Q}.R}.S}.T}.U}.U}.U}.U}.V}.W}.f}.X}.Y}.Z}.Y}.Y}.`}.`}. |. |..|.+|..|.@|.@|.#|.$|.%|.2~.f~.&|.<~.|~.Y}.1~.*|.4~.5~.6~..=.8~.9~.=|.$=.%=.-|.*=.==.;|.;|.>|.>|.,|.'|.)|.)|.1{.2{.2{.2{.2{.4{.!|.!|.!|.5{.~|.6{.6{.!}.!}.!}.!}.7{.{|.{|.{|.8{.9{.8{.8{.0{.0{.0{.0{.0{.0{.0{.0{.0{.0{.0{.0{.0{.0{.a{.a{.a{.a{.a{.0{.0{.M&.]|.]|.]|.]|.]|.]|.'=.G&.G&.'=.'=.'=.d{.d{.d{.d{.d{.g{.g{.g{.g{.f{.^|.^|.^|.,}./|./|.(|.:{.,=.,=.,=.l{.a}.m{.m{.n{.b}.n{.;=.;=.X*._|.h-.h-.g-.g-.c-.e~.d~.g~.h~.h~.9-.i~.:|.l~.QY 0-.(-.L;.<|.WY [|.k-.,-.UR UR SR }|.%-.||.LR +-.s~.1|.,-.2|.3|.4|.5|.6|.7|.8|.9|.0|.0|.9|.a|.b|.c|.d|.l}.m}.j}.e|.p}.f|.g|.h|.i|.#/.j|.k|.x}.,..l|.M+.m|.n|.a- ;> ", +" F# o|.a#.M' l#.0G p|....2: =1 q|.r|.]- y^ _%.)^.@[.n).s|..].{^.U[.n$.V[.0^.t|.L}.u|.v|.w|.+}.x|.R}.*}.T}.y|.z|.A|.B|.C|.D|.E|.F|.F|.G|.H|.I|._-.J|._-.K|.L|.M|.M|.N|.N|.M|.O|.O|.O|.P|.Q|.R|.S|.T|.U|.*!.;!.>!.,!.'!.!!.!!.[-.}-.V|.V|.1-.2-.2-.4-.5-.6-.W|.W|._~._~._~.<~.|~.|~.|~.|~.X|.Z}.2~.3~..|..|.Y|.Y|.5~.5~.6~..=..=.Z|.Z|.Z|.z|.z|.z|.9~.9~.9~.9~.9~.9~.=|.%=.%=.%=.%=.%=.-|.-|.-|.-|.-|.-|.-|.-|.-|.-|.-|.-|.-|.-|. =.;` ;` ;` ;` ;` ;` h-.h-.h-.h-.h-.U*.U*.U*.U*.g-.g-.g-.e-.c-.a~.a~.b~.Y}.`|.`|.`|.4~.g~.g~.h~.h~. 1.9-.i~.j~.:|.:|.l~.m~.m~.(-.(-.OY ^-.K;..1..1.(!.(!._!.N;.#!.+1.I;.2!.4!.G;.*'.='.AX xX P;.@1.7!.#1.$1.[T [T T;.%1.d;.9!.!T T;.&1.M'.*1.=1.-1.;1.>1.,1.,1.'1.)1.!1.~1.{1.]1.^1./1.(1.c|._1.:1.<1.[1.}1.|1.11.21.k&.k|.x}.>..E^ /^ 31.41.z* t; ", +" 51.61.P#.M' x- (_.io >$.*( 71.:> M1 8: t_ 81.91.n).`~..].{^.f/.01.W[.&].R<.M[.a1.b1.O}.c1.R}.d1.e1.f}.A|. |.f1.g1.h1.i1.j1.k1.k1.l1.l1.m1.n1.+!.o1.p1.q1.r1.s1.s1.t1.t1.u1.v1.w1.w1.v1.x1.y1.z1.A1.X>.V>.W>.B1.Y>.#'.#'.w;.x;.y;.z;.A;.C;.C1.*!.D1.-!.-!.E1.;!.F1.'!.'!.~!.~!.~!.~!.~!.G1.G1.H1.|-.I1.J1.K1.L1.L1.L1.L1.M1.4-.4-.4-.6-.6-.W|.W|.8-._~._~._~._~.N1.N1.N1.N1.N1.N1.N1.}~.}~.}~.}~.}~.}~.}~.[~.[~.[~.}~.}~.}~.}~.8-.j~.:|.:|.:|.j~.j~.j~.j~.:|.:|.l~.O1.P1.O1.m~.m~.m~.QY Q1.Q1.PY (-.OY 1-.R1.S1.S1.T1.K;.~-.~-./!.(!._!._!.U1.[!.N;.+1.+1.I;.V1..!.4!.#,.H;.BX ='.p;.yX xX %'.@).O;.`>.').)).{).-'.oW W1.&,.mU mV =,.nU X1.Y1.pU V,.bU ),.!,.~,.Z1.`1.kV 2..2.+2.@2.#2.$2.%2.&2.*2.=2.-2.!1.;2.~1.]1.^1.a|.>2.,2.'2.)2.!2.~2.{2.21.]2.^2.T<.xM /2.F= (2._2.o= t; ", +" :2.<2.[2.44 x- 8) }2.;:.(%.71.V- ^- t_ P1 |2.Y{.12.I:.8/.22.32.%].[^.J}.42.Z[.52.62.72.82.92.U}.02.a2.b2.f1.c2.d2.e2.f2.f2.M|.g2.h2.i2.i2.j2.k2.l2.m2.m2.n2.n2.m2.o2.p2.p2.q2.q2.q2.r2.s2.s2.t2.u2.v2.S>.S>.S>.T>.V>.$'.w2.X>.Y>.#'.w;.w;.x2.y2.y;.=).A;.A;.C;.&!.E;.E;.-!.-!.-!.E1.E1.T|.z2.A2.B2.B2.C2.~!.~!.<-.<-.G1.G1.H1.H1.H1.{!.|-.I1.I1.I1.L1.M1.M1.M1.4-.4-.4-.4-.D2.D2.D2.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.O1.QY QY 0-.0-.a-.n~.n~.PY PY (-.E2.E2.E2.L;.K;.K;.K;..1..1.^!.^!.^!.F2.G2.G2.G2.H2.I2..O;.`>.').)).Y,.]).W1.M2.&,.&,.mU N2.O2.O2.P2.Q2.R2.S2.T2.T2.U2.V2.W2.X2.Y2.R2.Z2.`2. 3..3.$2.%2.*2.*2.+3.@3.@3.#3.$3.%3.'1.&3.*3.=3.a|.c|.,2.-3.;3.>3.h|.62.,3.w}.e%.,..'3._+.)3.!3.~3.{3.t; ", +" ]3.^3..1 T#.>q /3.(3._3.1; !, :3.]- ~+.x^ ^<.n).4:.o+.22.I}.<3.&[.[3.42.}3.52..}.P}.|3.13.U}.23.33.43.f1.53.63.J1.f2.M|.73.73.i2.83.83.93.03.a3.m2.b3.c3.m2.d3.d3.d3.e3.f3.f3.q2.r2.s2.t2.g3.u2.h3.i3.S>.S>..'.V>.w2.w2.X>.j3.n2.#'.k3.w;.*).y2.y;.B;.B;.C;.E;.E;.E;.E;.l3.E1.E1.T|.A2.A2.B2.B2.C2.'!.~!.~!.~!.~!.[-.H1.H1.F2.|-.|-.|-.I1.m3.M1.M1.M1.4-.n3.D2.D2.D2.D2.n3.n3.D2.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.W|.4-.QY PY PY Q1.Q1.:-.:-.PY PY E2.E2.E2.E2.E2.^-.^-.^-.o3.K;..1./!.E2.p3.q3.q3.G2.m3.H1..)).{).]).oW W1.G>.r3.N2.s3.t3.u3.u3.Q2.v3.w3.x3.y3.U2.z3.W2.X2.A3.`2.B3.C3.D3..3.$2.%2.&2.*2.&2.*2.E3.F3.+2.'1.G3.;1.H3.I3.c|.,2.'2.i}.!2.E[.K[.J3.K3.L3.M3.N3.O3.:+.M& P3.Q3.t; o> ", +" ]3.h~ YK 6> ++.*:.(3.R3.D> q|.S3.-+.T3.-+.)^.@[.U3. ].G}.22.9<.6<.0^.V3.W3.}3.X3.Y3.@}.Z3.`3.U}. 4.33.@|.C|..4.+4.@4.@4.#4.$4.m1.$4.%4.$4.&4.*4.=4.=4.-4.;4.;4.t1.t1.v1.x1.>4.h3.,4.A1.'4.)4.)4.!4.~4.{4.s;.t;.&).w;.]4.y;.^4.C;.D;.D;./4.E;.(4.T|.F1.'!.'!.B2.'!.~!.N|.<-.H1.J1.J1.I1.I1.L1.1-.2-.4-.4-._4.W|._4.W|.8-.8-.:4.}~.}~.}~.}~.}~.<4.X|.|~.|~.X|.X|.X|.X|.2~.2~.2~.[4.2~.2~.3~..|..|..|..|..|..|..|..|..|..|..|.3~.[4.&|.h~.h~.h~.h~.h~.h~.h~.^~.9-.9-.9-.9-.}4.{~.:|.:|.O1.l~.l~.|4.4-.14.X|.24.34.34.34.:-.^-.o3..1./!./!._!.j-._!.U1.N;.44.+1.I;.V1.V1.G;.H;.='.='.AX zX xX %'.o;.`>.$,.)).54.pW oW %,.%,.&,.N2.64.74.84.X1.94.cU 04.sV V2.a4.b4.c4.d4.F3.e4.f4.f4.g4.h4.i4.j4.f4.k4.l4.m4.H3.n4.o4.p4.q4.h}.r4.s4.t4.u4.v4.w4.x4.M3.yM DM S:.y4.6] z4.o, o, o> ", +" A4.B4._5 f @#.C4.(3.tN ;<.D4.E4.F4.#_ ]/ Y{.t+.@[.G4. ].T[.22.I}.H4.W[.I4.J4.K4.}}.L4.M4.N4.|3.O4.P4.Q4.R4.S4.T4.43.G|.G|.U4.V4.W4.X4.X4.Y4.Z4.M|.M|.g2.N|.O|.O|.&4.`4.`4.`4. 5. 5..5..5.+5.@5.#5.$5.%5.&5.~!.~!.[-.H1.|-.1-.*5.3-.4-.=5.W|._~.:~.}~.}~.[~.X|.Z}.2~.-5.2~..|.Y|.Y|.5~.5~.6~..=.Z|.z|.9~.9~.9~.$=.&=.-|.&=.*=.*=.*=.;|.;|.;|.;|.;|.;|.;5.,|.>5.,|.,|.>5.>5.'|.'|.>5.>5.'|.'|.'|.'|.'|.'|.'|.'|.'|.'|.'|.'|.'|.>5.>|.,5.,5.,5.+=.n{.n{.n{.n{.n{.n{. =. =.`*.`*.;=.X*.X*.X*.'5.h-.)5.!5.~5.~5.{5.]5.^5.Y*.e~.e~./5.f~.(5.(~.h~.h~.i~.j~.:|.k~.QY 0-.n~.E2.^-.^-.K;._5.:5._!.<5.N;.1!.I;.#,.4!.G;.='.[5.-).yX %'.O;.').54.54.}T nW (T ^T gW (T }5.|5.15.25.35.45.25.55.;1.;1.65.25.75.n4.85.95.05.a5.-3.b5.s4.c5.d5.e5.f5.g5.-].UN h5.EM S:.!_.N{ i5.j5.k5.n, ", +" G# l5.Q; 44 +#.++.>$.Xx !$.1; y> D} z^ ]- m5.{<.G:.n5.12.s|.~^.o5.}<.p5.H4.q5.r5.=[.s5.t5.u}.i|.u5.$}.v5.w5.x5.y5.z5.Q4.A5.A5.!5.B5.C5.A5.A5.D5.[4.14.E5.14.F5.F5.G5.H5.H5.I5.J5.K5.L5.K5.%|.M5.N5.O5.D5.P5.Q5.Y|.5~.6~..=.9~.9~.0~.-|.*=.R5.,|.>5.S5.>5.T5.'|.U5.V5.V5.4{.4{.!|.5{.5{.5{.W5.7{.{|.7{.X5.9{.9{.9{.Y5.b{.Z5.b{.S&.S&.S&.S&.S&.S&.S&.~}.~}.~}.~}.~}.~}.`5.]}. 6. 6. 6. 6.]}.]}.]}..6..6..6..6..6..6..6.]}.]}.]}. 6.]}.O&.W&.6}.W&.K&.K&.K&.K&.K&.8}.H&.H&.H&.H&.+6.H&.@6.@6.]|.+6.#6.$6.%6.&6.&6.*6.=6.8{.0}.j{.j{.-6.-6.,=.-=.({.m{.;6.n{.`*.;=.X*.W*.h-.e-.>6.a~.d~.d~.f~.h~. 1.}4.:|.l~.QY Q1.(-.L;.K;..1./!.j-.N;.+1.2!.3!.@,.,6.'6.W).@,.)6.!6.C2.~6.{6.95.95.]6.85.]6.^6.6|./6.(6._6.:6.b5.<6.[6.}6.|6.u4.16.26.36.46.H!.~(.56.'+.}+.D; 66.76.86.96.n, ", +" 06.a6.x- /_.mv T#.1p AO }/. [.b6.c6.d6.F4.e6.~<.{<.<:.f6.0:.(<.g6.h6.i6.j6.k6.U:.l6.m6.n6.o6.;[.p6.q6.r6.s6.t6.u6.=6.v6.w6.x6.y6.x6.x6.x6.y6.z6.A6.B6.C6.y5.P4.D6.E6.F6.F6.G6.G6.H6.I6.I6.J6.y6.y6.K6.L6.M6.N6.O6.6{.7{.M&.P6.P6.Y5.S&.R&..}.`5.]}.]}.Q6.Q6.Q6._}._}._}.[}.R6.7].7].9].9].9].9].:[.:[.^[.c].c].c].c].d].S6.S6.T6.S6.S6.h].h].i].i].i].j].k].j].j].k].k].k].k].k].k].U6.V6.V6.V6.V6.V6.V6.V6.V6.V6.V6.U6.k].k].k].W6.h].X6.q].p].q].X6.X6.Y6.][.Z6.Z6.Z6.Z6.Z6.Z&.Z&.Z&.`6.6].c].;[. 7..7.T6.([.([.([./[.j[.A].A].V&.A].+7.3 .@7.N&.W&.W&.K&.H&.c{.)=.3{.e{.f{.f{.i{.-6.,=.-=.,5.m{.n{.;=._|.h-.#7.e-.a~.e~.(5.h~.$7.i~.:|.O1.'~.%7.&7.*7.P1./~.k~.=7.-7.;7.>7.>7.,7.'7.)7.!7.~7.~7.{7.]7.^7./7.(7._7.:7.<7.[7.}7.|7.17.27.D=.56.!+.l).y!.37.2] 47.57.67.n, ", +" 06.77. L mv )e $8 @+.87.97.07.h*.H; a7.b7.!<.!<.c7.{<.d7.E/.e7.f7.g7.h7.i7.j7.k7.l7.|<.m7.n7.o7.p7.q7.r7.s7.t7.u7.v7.v7.w7.x7.u7.u7.u7.y7.z7.x7.A7.B7.C7.D7.B7.E7.F7.F7.F7.G7.v7.H7.I7.J7.J7.K7.L7.M7.N7.O7.P7.Q7.c].c].f].S6.;[.k].G%.G%.G%.H%.[[.R7.}[.2[.2[.3[.2[.3[.7[.S7.8[.h^.h^.0[.0[.T7.l^.l^.8<.c[.b[.c[.c[.a<.a<.U7.U7.c<.p^.w$.v$.w$.c<.p^.p^.V7.V7.r^.r^.r^.x$.r^.r^.V7.V7.V7.r^.r^.r^.r^.r^.r^.r^.r^.r^.V7.V7.V7.V7.w$.p$.M%.M%.L%.w<.w<.w<.L%.j^.j^.j^.M^.M^.N^.N^.f^.O^.d<.U7.W7.W7.W7.U7.m7.g[.b[.X7.g^.i[.i[.i[.i[.D%.Y7.B%.g].y%.n].o].r].Z6.Y&._[.6].u].Z7.x].k[.A].l[.B].@7./].I&.8}.G&.G&.9}.f{.^|.`7.,=.,=. 8.m{..8.;=.*` {{.>` ,5.+8.;=.@8.#8.$8.%8.&8.*8.*8.=8.-8.;8.>8.,8.'8.)8.!8.~8.{8.]8.^8./8.(8.27._8.:8.C=.R:.4P <8.[8.}8.|8.18.28.G) )' ", +" 38.48.^i +; Uy +#.3M >x y=.2' 2' [> A, D!.D}.TT 58.68.~<.78.(:.88.98.C/.|:.3:.08.a8.b8.c8.d8.e8.f8.g8.h8.i8.j8.k8.l8.m8.n8.m8.n8.n8.o8.o8.p8.p8.q8.r8.s8.N7.t8.O7.u8.P7.v8.w8.w8.x8.y8.z8.j8.A8.B8.C8.D8.E8.F8.G8.W7.0[.9[.m^.c[.a<.n^.n^.U7.p^.v$.H8.r^.r^.r^.i/.t^.I8.I8.I8.v^.y^.y^.J8.B^.B^.B^.K8.b8.i<.i<.i<.j<.j<.5:.l<.l<.l<.l<.7:.7:.p<.p<.L8.H/.J/.J/.J/.G/.c:.M8.N8.v/.O8.O8.O8.P8.P8.P8.w/.w/.w/.w/.w/.w/.w/.w/.w/.v/.v/.u/.Z/.Q8.Q8.s/.s/.s/.R8.q/.q/.q/.q/.q/.q/.q/.A^..(.S8.T8.U8.U8.l<.V8.m<.m<.W8.X8.b8.p+.E^.F^.u$.s$.J^.q$.M%.L%.w<.L^.O^.e^.e^.d^.:^.c^.h[.i[.|..C%.K%.Y8.o].q].Y&.Y&.t].4].v].x].k[.X&.B].@7.W&.m[.E].G&.G&.9}.Z8.N&.0{.H&.`8. 9..9.+9.@9.#9.!8.$9.%9.&9.*9.=9.-9.;9.>9.,9.'9.)9.!9.~9.{9.]9.^9./9.(9._9.:9.<9.W~.[9.S~ }9.!) |9. ", +" 19.29.e#.Q#.3M __.3M u=.%_.'/ y=.$..{$.|) 39.VH 49.jJ sN jJ jJ jJ jJ 59.69.79.79.89.79.99.09.a9.09.b9.c9.d9.e9.f9.g9.h9.i9.j9.k9.k9.l9.m9.n9.o9.p9.q9.r9.s9.t9.u9.v9.w9.x9.y9.z9.A9.B9.C9.D9.E9.F9.G9.H9.I9.J9.K9.3_.2_.|_.1_.1_.L9.M9.N9.b_.K_.O9.1L 2L 2L o(.o(.o(.}L M_.9_.c@.c@.c@.o@._L I(.G(.P9.Q9.R9.i@.]L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L ]L h@.h@.E(./L P9.e@.9_.v@.S9.z@.8L l(.D@.k(.T9.j(.j(.j(.i(.i(.h(.h(.U9.j(.h(.I_.h(.V9.F9.F_.D_.E_.W9.C9.X9.Y9.d(.b(.B_.R_.` .Z9.`9.t9. 0..0.+0.@0.#0.$0.%0.&0.*0.=0.-0.;0.>0.,0.'0.)0.!0.~0.{0.]0.^0.w:./0.B:.(0.M/.Q/.H:.u/.B$.b:.w/.q<.Z/._0.:0.<0.<0.[0.<0.<0.}0.|0.10.10.10.20.30.30.40.50.60.70.80.90.00.=_.a0.b0.c0.d0.e0.,^.E> f0.g0.t' U! ", +" n4 n4 [, _5 W0 h#.W0 Xy Yy h0.i0.y} UE ,<.CO j0.k0.k0.i).1>.l0.l0.2D :Y m0.n0.n0..0.r9.o0.p0.q0.r0.s0.t0.m9.u0.v0.w0.x0.x0.n9.n9.n9.y0.z0.A0.B0.C0.D0.E0.F0.G0.H0.I0.I0.J0.y9.z9.X9.B9.C9.D9.E9.F9.G9.H9.I9.J9.K9.3_.2_.|_.1_.1_.L9.M9.N9.b_.K_.O9.1L 2L 2L o(.o(.o(.}L M_.9_.c@.c@.c@.o@._L I(.G(.P9.Q9.R9.i@.]L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L {L ]L h@.h@.E(./L P9.e@.9_.v@.S9.z@.8L l(.D@.k(.T9.j(.j(.j(.i(.i(.h(.h(.U9.j(.h(.I_.h(.V9.F9.F_.D_.E_.K0.L0.B9.M0.e(.c(.7G b(.b(.N0.O0.P0.Q0.R0.S0.:@.T0.U0.0(.V0.W0.X0.Y0.Z0.`0. a.%0..a.+a.@a.*0.#a.#a.u,.$a.89.%a.&a.;0.*a.=a.-a.;a.>a.,a.'a.)a.!a.~a.{a.]a.^a.^a./a.(a._a.:a..C> >b.#z C!.,b.!V YH 'b.)b.!b.68.~b.{b.]b._:.^b./b.(b._b.:b.c.,c.'c.)c.!c.~c.{c.]c.^c./c.(c._c.H; :c. [> {, e6.K{ b7.2c.]:.3c.4c.5c.d7.6c._b.7c.8c.9c.g6.0c.ac.d8.bc.cc.dc.ec.fc.gc.n8.q8.hc.hc.hc.hc.ic.jc.kc.kc.lc.mc.nc.mc.oc.pc.qc.rc.sc.tc.N7.N7.uc.v8.hc.vc.x8.wc.j8.i8.xc.yc.zc.Ac.fb.Bc.Cc.Dc.4b.W7.T7.T7.m^.c[.n^.n^.s$.c<.w$.w$.r^.i/.i/.t^.I8.I8.Ec.Fc.h6.h6.B^.K8.K8.i<.Gc.Hc.Ic.m<.Jc.Jc.Jc.m<.Kc.Lc.=0.Mc.Mc.79.Nc.Oc.Pc.Qc.>a.>a.Rc.Sc.Tc.'a.Uc.Vc.s<.s<.s<.s<.t<.O8.O8.O8.O8.Wc.Vc.Vc.Vc.Vc.Vc.l<.S8.S8.S8.S8.h<.B^.B^.A^.z^.z^.y^.g<.J8.Xc.m<.m<.Hc.Hc.Gc.Yc.K8.Zc.Zc.Zc.jb.`c.o^.M%.M%.L%.L^.N^.N^.e^.e^.P^.x<.x<.h[.i[.7^.D%.C%.m].x%.v%.q].Y&.Z&.`6.u].Z7. d.z].k[.+7.C].2 .6}.7}.H&.c{.G&.!=.f{.f{.9{./|.6{.D7..d.+d.+d.+9.+9.@d.#d.$d.%d.&d.*d.=d.#c.%c.*c.-d.;d.>d.,d.'d.{c.)d.;_.m5.!d.~d.{d.a.Ad.Bd.Bd.Sc.Cd.Dd.Ed.Fd.Gd.Hd.V7.Id.Id.Id.Id.t^.Id.Id.Id.Jd.Jd.Jd.yd.yd.yd.Kd.p^.8<.j^.j^.j^.j^.9[.e[.N^.N^.N^.e^.P^.T7.E8.E8.g[.Ld.X7.Md.wd.wd.Nd.Od.Pd.Pd.y8.Qd.n].o].o].v%.q].Z6.Z&.Z&.t].t].v].w].x].y].A].B].C].@7.W&.W&.I&.H&.]|.d{.9}.g{.i{.i{.:{.-=.l{.m{.Rd.;=.;=.;` U*.e-.h-.R5.^5.$|.Sd.Td.Ud.Vd.Wd.Xd.Yd.Zd.`d. e..e.+e.*9.;9.,9.@e.#e.$e.%e.]9.&e.*e.=e.-e.c..E4.~d.:c.97.W* ;e.>e.b~ b~ ", +" 1[ ,e.Ua 'e.1p jo QE '$.)e.!e.~e.b/.(d.7>.#].<:.{e.f7.]e.^e./e.t^.H8.f8.|d.1d.l8.q7.(e._e.:e.w7.a.Ad.Bd.Bd.ue.Tc.Dd.Ed.Kc.Ed.Uc.2[.ud.ud.ud.ud.ud.ud.ud.ve.4[.4[.4[.ve.ve.2[.2[.R7.G%.<[.C%.g].f].f].e].c].b].X6.X6.X6.O7.we.O7.O7.O7.Q7. 7. 7.se.se.t7.xe.ye.1}.|}.+7.3 .@7.N&.M&.K&.7}.H&.c{.'=.'=.e{.f{.^|.ze.-6.:{.k{.,5.Ae.Ae.`*.;=.X*.h-.g-.S*.i-./5.7-.h~. 1.}4.:|.~~.m~.0-.(-.}-.24.Be.m3.Ce.De.Ee.Fe.Ge.He.Ie.Je.Ke.Xd.Le.Me.Ne..9.-9.>9.'9.Oe.$e.{9.Pe.Qe.Re.Se.~e.D} b6.:c.Te.A$ Ue.U .U .O~ ", +" Ve.x< Nl 3M t=._h $X WH B, d+.We.K` 7&.Xe.5^.h7.sb.5:.Ye.Ze.`e.W7.wd.j8. f..f..7.u7.9d.+f.@f.#f.$f.ie.%f.&f.*f.=f.-f.-f.;f.>f.>f.>f.,f.,f.,f.'f.)f.!f.!f.~f.{f.Y4.Y4.Y4.H5.]f.]f.^f.M5./f.(f.D5.D5.ce.ee.fe.ge.he.he.G6.H6.A6._f.:f.y6.K6.I6.)|.)|.V5.;}.6{.>}.a.0f.af.Gd.Rc.bf.pe.([.([.([.([.([.([.([.([.([.([.([.([.([.xe.xe.xe.7].j[.j[.j[.j[.cf.^}.{}.V&.T&.U&.(}.H7.df.df.G7.ef.E7.2f.2f.ff.gf.#6.#6.hf.if.w6.|{.jf.:{.:{.({.({.({.;6.n{.`*.;=.W*.;` U*.g-.e-.a~.d~.f~.(~.h~.9-.:|.:|.O1.Q1.PY OY ^-.{-..1.:5._!.N;.|!.I;.2!.4!.C1.kf.lf.C1.mf.nf.of.pf.qf.rf.sf.tf.uf.Je.vf.wf.`d.@9.+e.;9.xf.yf.zf.Af.Pe.Bf.Cf.Df.l/.Ef.g...7>.>;.=].i^.q<.i7.i6.Jf.m7.Od.k8.q7.N7.:e.Kf.Lf.kd.Mf.$f.Nf.Of.Pf.Qf.Rf.Sf.Tf.Uf.Vf.Vf.Wf.Xf.Yf.Zf.Zf.Zf.Wf.Wf.Wf.`f. g..g.+g. 5.@g..g.S|.#g.#g.$g.%g.&g.*g.{f.=g.-g.;g.>g.,g.'g.M5.Rf.)g.!g.D5.P5.fe.fe.P5.~g.Z|.~g.`|.^5.)5.{g.S5.]g.^g./g.(g.;}._g._g.!}.!}.h./g./g./g.8g.8g.,h.S5. 7.I0.'h.t9.t9.)h.!h.~h.{h.]h.u0.Eb.ra.[g.ma.Nc.E7.I6.w6.w6.w6.^h.^h.^h.^h./h.(h.^h.^h.^h._h.4g.h.(|.,|.,|.,|.:h.==.. ,..).{).{).]).W1.3h.mU %,.4h.5h.P>.6h.7h.8h.8h.9h.0h.ah.bh.ch.dh.eh.fh.gh.Le. e.~8.hh.,9.ih.%e.jh.kh.Re.lh.0:.b+.~d.mh.nh._& oh.[{ [{ [{ ", +" h| ph.}2.@+.0G js _i ~[ h*.6>.qh.yg.0&.Ag.>].$[.lb.`e.rh.sh. f.O7.th.q6.+f.[e.uh.vh.wh.)f.xh.yh.zh.Ah.Bh.Ch.Dh.Dh.Eh.Fh.Fh.Gh.Hh.Ih.Fh.Fh.Fh.Jh.Fh.Kh.Jh.Lh.Mh.Nh.Oh.Ph.Qh.,4.Rh.Rh.Tg.Ug.Sh.Xg.Yg.Yg.Yg.Th.Zg.Uh.@g. h.#g.#g.Vh.%g.Wh.Xh.Uf.;g.Yh.Zh.`h. i.S1..i.%h.+i.+i.&h.@i.=h.-h.-h.~g.0~.0~.`|.#i.)5.{5.{5.~5.C6.$i.]g.%i.Tb.L9.&i.C9.*i.X9.=i.-i.;i.>i.O0.Z9.,i.Y9.Kd.'i.H6.H6.7g.7g.7g.7g.7g.7g.7g.7g.)i.)i.F6.}h.)i.F6.F6.(g.;h.=|.=|.!i.+=.7~..=.6~.6~.$i.be.~i.'i.'i.'i.!g.Q5.{i.%|.%|.2h.%i.H5.H5.F5.]i.34.SY o3.^!.:5.U|._!.[!.^i.@!.+!.V1..!.G;.H;.BX p;..,.L2.%'.%'.O;. ,.))..).{).]).I>.%,.nV mU 64.74.74.P2.Q2./i.(i._i.:i.].u|.2b.Bg.pi.sh. f.qi.ri.Kf.Eg.Fg.$f.si.ti.ui.Ig.vi.wi.xi.yi.zi.Ai.Bi.Bi.Bi.Ci.Ci.Di.Ei.Bi.Ei.Fi.Fi.Gi.Gi.Ei.Ei.Gi.Hi.Ii.Ji.Ki.Li.Mi.Oh.Ni.Oi.Pi.Qi.Tg.Tg.Ri.Ug.Si.Ti.Yg.Th.Zg.`g.Ui.Lg.Vi.Wi.Xi.Xi.Yi.Zi.=g.$g.p3.p3.T1.S1.34.34.$h.%h.`i.&h.*h.#|.%i. j. j..j.~g.~g.+j.+j.Q5.@j.`|.#j.$j.o@.t@.z@.L9.m(.1_.d_.S(.%j.M9.S(.&j.{i.*j.=j.=j.=j.=j.F6.F6.F6.F6.0g.*j.*j.*j.0g.0g.|h.]g.~i.$i.`|.6~.6~.Y|.4~.Y|.2~.-5.-j.;j.!g.!g.>j.{i.,j.2h.'g.]f.%i.Zh.I5.Y4.W4.%5.$g.'j.T1.=!.N;.[!.+1.V1.V1.G;.G;.BX AX AX xX )j.@).`>.`>.')..).Y,.{).]).W1.%,.mU c4.64.74.P2.Q2.!j.~j.~j.{j.]j.^j./j.(j._j.:j.k.)g.,k.,j.,j.K5.;g.;g.-g.=g.{f.Wh.'k.@h.$5.Z4.+5.E;.@!.)k.!k.G;.='..,.~k.%'.)j.O;.O;. ,..).Y,.qW ]).oW %,.nV {k.c4.]k.P2.u3.^k./k.(k.{j._k.]j./j./j.:k.] >] ", +" w< w< <, =<.0G *:.|5 [/.o).ok.kj.6^.H!.pk.qk.M}.rk.f8.sk.m8.Dg.tk.uk.Lf.Fg.vk.wk.xk.ui.yh.vi.wi.yk.yj.zk.Ak.Gi.Bk.Ck.Cj.Dk.Ek.Ej.Fk.Cj.Cj.Hj.Fj.Ej.Dj.Hj.Gk.Dj.Hk.Kj.Lj.Ik.Hi.Mj.Jk.Oh.Qj.Qj.Rj.Oi.Sj.Tj.Uj.Kk.Lk.Wj.Wj.Yj.Zj.Mk..k.Nk.Wh.Xh.Ok.Vf.Pk.Qk.Rk.Sk.Wh.S1.Tk.`i.+i.E5.E5.F5.=7.%i..j.2h.%|.N5.Q5.O5.O5.!5.$i.P5.de.|h.|h.;g.Uk.Vk.Wk.o0.G0.ma.Xk.Yk.}h.%k.[h._f._f._f._f._f._f._f._f._f._f._f._f.H6.H6.G6.G6.G6.G6.=j.=j.|h.~g.-j.-j.-j.-k.Y|.Zk.=k.fe.fe.P5.D5.>k.)g.,j.,j.,g.K5.`k.-g.=g.{f.W4.&g.@h.$5. l.^i..l.)k.!k.!k.&'..,.+l.%'.)j.O;. ,.L>..).J>.]).]).@l.3h.nV c4.#l.P2.P2.Q2.$l.(k.~j._k.]j.%l./j.&l.*l.=l.:j.-l.}k.;l.>l.,l.'l.)l.!l.~l.{l.]l.^l./l.(l._l.:l.:.$X x} {$.ok.9l.0l.al.bl.>].O}.n7.bc.|d.cl.Dg.tk.x7.dl.@f.el.fl.gl.hl.il.Yf.jl.kl.ll.ml.nl.Gi.ol.pl.Fk.Fi.Fi.Fi.Fk.Cj.Dj.Dj.Bj.Bj.Hj.Hj.Hj.Dj.Ci.ql.Lj.rl.Mj.sl.sl.Qj.Qj.Rj.Rj.tl.Tj.Uj.ul.Lk.Wj.Yj.vl.Zj.Mk..k.Xi.@k.Xh.Tf.Pk.Pk.Rk.Rk.wl.;f.'f.xl.yl.+i.E5.H5.yl.%i.2h.%|.%|.Q5.Q5.%k.!5.P5.|h.|h.=k.=j.}h.}h.G6.H6.=j.zl.,j.Al.fe.'i.)g.P5._f.Bl.Bl.y6.y6.y6.y6.y6.y6.y6.y6.Bl.je.je.:f.:f.:f.:f._f._f._f._f.[h.H6.{g.0~.Cl.~g.8~.8~.ge.Dl.ge.ge.fe.fe.fe.P5.>k.zl.,k.,j.'g..j.>g.-g.=g.{f.&g.&g.q3.U|.^4.$!.@!.)k.!k.BX AX ~k.~k.)j.@).O;. ,.)).J>.J>.]).@l.El.nV N2.#l.74.P2.^k.$l./k.{j.{j.]j.Fl.%l.Gl.Hl.Il.Jl.Kl.-l.Ll.)l.Ml.6k.~l.Nl.Ol.Pl.Ql.Rl.Sl.Tl.Ul.Vl.Wl.Xl.Yl.Zl.`l. m..m.+m.@m.#m.$m.A+.%m.k% &m.*m.n] =m. ", +" -m.;m.$u VE :R $X 9G (%.>m.,m.oi.'m.bl.)m.+}.!m.~m.h8.{m.Dg.]m.^m.0d./m.el.(m._m.:m.il.k.2h.L5.2h.2h.{i.Q5.!g.'i.P5.be.|h.0g.=j.=j.}h.G6.[h.[h._f._f.Uk.0m.Bl.Bl.Bl.am.am.bm.z6.cm.dm.em.em.em.em.em.em.em.em.em.em.dm.dm.z6.am.y6.y6.y6.je.:f.:f.:f.(g.;h.;h.fm.-|.]g._f.gm.gm.Dl.hm.ge.ge.fe.fe.ce.>k.zl.,k.'g.'g..j.;g.=g.I5.{f.$g.-!.&!.%!.$!.x;.)k.!k.q;.&'..,.%'.)j.@).O;. ,..).Y,.im.]).@l.nV jm.c4.64.P2.P2.$l.$l.(k.~j._k.]j.%l./j.:j.km.:j.Kl.lm.|j.Ml.6k.~l.Nl.mm.Pl.Ql.Rl.nm.om.pm.qm.rm.sm.tm.um.vm.wm.lh.xm.ym.zm.Z{.Am.Bm.=:.Cm.Dm.[{ %^ ", +" -m.Em.55 'q )q WE Fm./R D!.Gm.7>.zg.Hm.![.Im.N4.Jm.cc.{m.Km.Lm.z7.Mm.Nm.rj.Om.Pm.!f.Qm.Rm.n.'i.Al.be.be.|h.=j.}h.G6.G6.[h.gm._f.Uk.1e.,n.Bl.am.am.dm.em.em.em.em.em.jd.'n.'n.N6.N6.N6.N6.N6.jd.jd.jd.jd.jd.jd.jd.jd.)n.)n.em.em.em.em.am.am.!n.>5.>5.S5.]g.,n.,n.Bl.Uk.~n.gm.Dl.Dl.ge.ge.fe.ee.ce.;j.zl.{n.'g.'g.>g.;g.=g.{f.B2.-!.*!.%!.[!.^i.+!..!.r;.BX .,.%'.)j.@).O;. ,..)..).]n.]).@l.3h.nV c4.64.74.P2.$l.^n.(k.{j.]j.%l./n.(n.km.Il._n.:n.$.QE Fm.9G mn.Gm.Gm.>;.K}.nn.'].N4.)m.on.1d.pn.qn.rn.sn.Nm.tn.un.wk.vn.hl.Rm.!.=!.C;.[!.^i.+!..!.!k.BX .,.%'.)j.@).`>. ,.)).J>.qW ]).@l.nV {k.c4.64.P2.u3.Q2.^n.(k.Sn.^j.Tn.Un.(n.Vn.Wn.Xn.Yn.~l.Zn.`n. o..o.+o.@o.#o.$o.%o.&o.*o.=o.-o.;o.>o.,o.'o.)o.!o.~o.f:.{o.y+.]o.]) ^o.%^ +/ +/ ", +" /o.kn.s/ Xk =X G` . ,.Y,.Y,.]).@l.%,.nV N2.64.#l.P2.^k.$l.(k.{j.Sn.mo.no.(n.(n.km.oo.po.qo.ro.Ol.so.to.uo.vo.wo.xo.Vl.yo.zo.Ao.Bo.Co.Do.Eo.Fo.Go.Ho.a9.G:.Io.Jo.3> Ko.Lo.Mo. ( ", +" /o.[= Wx )q qS No.Oo.A%.M[.Po.Im._o.Qo.Ro.So.To.}o.|o.Uo.Vo.Wo.Xo.Yo.5o.Zo.p.,p.'p.)p.,p.cm.Uk.J6.,n.K6.z6.L6.em.'n.N6.N6.N6.Ln.!p.le.le.F7.F7.F7.jo.pd.pd.pd.pd.~p.~p.~p.{p.{p.{p.{p.{p.~p.]p.]p.]p.~p.pd.pd.^p.^p.jo.F7.F7.F7.ke.Kn.[f.{|.ke./p.Ln.Ln.@f.(p.'n.M6.em.cm.Bl.1e.1e.Qn.Gg.G6.ge.ge.fe.P5.;j._p.{i.M5.:p.}-.q.,q.1l.'q.)q.4a.!q.~q.l:.{q.]o.]q.^q./q.(q.p, ", +" m4 pp._e LB =X ><. z QB a7._q.*[.W3.Z[.X3.:q..Y,.J>. q.@l.3h.nV c4.64.P2.Q2.^k.oq.oq.1p.pq.1p.qq.mm.#q.rq.sq.tq.uq.vq.%q.wq.&o.xq.yq.zq.Aq.Bq.Cq.'o.Fo.Dq.Eq.Fq.Gq.Hq.D:.Iq.c* Jq.Kq.0( Lq. ", +" m4 m4 %1 Xx WE /%. z Mq.1^.*[.W3.}3.Nq.ne.Oq.Pq.w7.Qq.Rq.rn.Sq.Tq.Uq.Vq.Wq.vn.Ap.Xq.Yq.7q.Zq.`q.qq.Hh.Fp.#p.Fp.Fp.Xm.nl.nl.Gp.nl.nl.nl.|m.|m.Ym.&p.Lh. r..r.0q.Tm. p.7o.Sm..n.Yj.`j.co.6m.Xi.@k.Vf.Pk.Rk.Rk.wl.;f.'f.%n.&n.*n.=n.Fn.;p.;p.Np.ae.io.Pp.+r.@r.Rp.#r.Sp.ed.gd.gd.$r.%r.%r.&r.*r.*r.eq.=r.jo.-r.{p.gq.;r.jq.>r.jq.K7.K7.K7.K7.,r.,r.,r.,r.,r.M7.M7.M7.'r.'r.'r.'r.'r.'r.'r.'r.'r.M7.,r.,r.,r.,r.K7.K7.jq.jq.hq.Tp.>r.>r.8d.)r.8d.!r.!r.8d.~r.Wp.Xp./p.Ln.N6.'n.'n.em.cm.,n.1e.1e.1e.~n.Yp.Yp.{r.ge._~.W|.M1.1-.}-.RY )!.-!.&!.%!.$!.@!..!.BX AX xX %'.)j.`>. ,.)).Y,.]). q.%,.nV N2.64.P2.Q2.]r.^r./r.(r._r.:r.r.>r.Ir.Ir.Ir.Jr.Jr.Jr.Kr.sc.sc.sc.t8.t8.Lr.Lr.Mr.Mr.Mr.Mr.Mr.Lr.Lr.Lr.Lr.t8.sc.sc.sc.Jr.'r.'r.,r.,r.K7.oc.oc.Nr.Or.Pr.Pr.Pr.Qr.Rr.Or.Sr.Tr.Ur.!r.Wp.fq.N6.M6.'n.tn.M6.On.On.Vr.Wr.Xr.}e.{r.X|.Yr.W|.4-.1-.}-.RY '!.;!.&!.%!.^i.x;.Zr.BX AX %'.%'.@).O;.L>..).J>.]).]).3h.nV N2.64.84.`r. s./r..s.+s.@s.#s.so.Pl.$s.Rl.vo.%s.&s.0p.ap.*s.=s.-s.;s.fp.>s.,s.'s.Va.)s.!s.~s.{s.Jo.]s.^s./s.(s.h_ ~: ", +" hr.hr.J1 $;.,$.y} _3.{$._s.-[.X[.jr.C7.:s.v6.<.eG fG .z 6>.)[.J<.Rs.w[.gf.x6.!n.t.Xi.Vf.Bn.~f.,t.$n.-p.!f.&n.&n.=n.'t.)t.Sd.Np.!t.,p.,p.Qp.Rp.Sp.dq.ed.gd.~t.{t.Br.Cr.ds.]t.es.Fr.^t./t.gs.hs.(t._t.:t..]).@l.nV kU lt.mt.nt.Cs.ot.6h.vr.sq.Ql.Rl.4n.pt.%q.7n.qt.rt.st.tt.ut.vt.wt.xt.yt.Dq.zt./a.At.Bt.Ct.A:.Dt.%#.Et.Ft.op.K: ", +" ]8 ZP @..tN XE TT fG |) Gt.Y6.K4.r6.[s.Ht.ie.It.Jt.Kt.rn.1q.Lt.Mt.Nt.Ot.Zs.Pt.Qt.Yq.Rt.8q.`q. r.&p.&p.$t.Gh.#t.Hh.$t.%t.%t.%t.Gh.Gh.Gh.Lh.Um.0q.St. p.vr.*t.6q.6s.Xq.`s.Tt.Ut.Vt.#n.~f.,t.$n.-p.Wt.&n.Dn.eo.)t.)t.Sd.ae.0s.,p.)p.Qp.Xt.dq.ed.dd.bs.cs.Br.Cr.ds.ds.es.Fr.^t.gs.gs.hs.(t._t.:t.u.,u.bt.'u.)u.!u.~u.~u.ls.ft.os.Sr.{u.!r.{t.]u.]u.!r.%r.!r.{g.4~.2~.X|._~.W|.4-.|-.|-.[-.PY =!.&!.^4.x;..!.!k.&'.xX %'.)j.`>. ,..).Y,.qW ]).nV nV ^u./u.Cs.mt.f3.(u._u.:u...).Y,.]).&,.Zu.`u./u./u. v..v.Ug.+v.@v.uq.vo.#v.$v.0p.ap.bp.cp.-s.>q.fp.%v.&v.+b.Wa.*v.=v.Os.-v.>a.x:.;v.>v.,v.'v.L: O[ ", +" }e )v.B, 7M z !v.1&.E}.Z7.~v.{v.]v.L6.@8.lr.^v./v.(v._v.mr.:v.!.*!.%!.$!.+!.!k.&'.~k.%'.%'.O;. ,.L>.Y,.]).]).Kv.`u.Lv. v.i3.Mv.Nv./l.Ov.Pv.Qv.xo.&q.qt.Gs.st.Rv.Aq.Is.Sv.Ks.yt.Dq.Tv./a.Uv.Vv.Wv.Xv.v:.Yv.9u.Zv.O[ `v.`v. ", +" w.}e 3R ><.PB TT .w.hZ Gm.1].Po.+w.kd.@w.#w.Rn.Qf.*f.$w.mr.%w.&w.*w.=w.Zs.-w.6s.6q.+t.;w.>w.5v.Ep.pu.%t.%t.%t.pu.ml.ml.Lh.ml.ml.yj.Dp.Tm.8o.,w.*t.6q.'w.Xq.`s.;t.6v.su.}v.iu.)w.!w.~w.Cn.En.eo.)t.8e.go.ho.0s.av.bv.Xt.{w.Ar.gd.$r.]w.Br.^w.es.Fr.Fr./w.nc.nc._t.xu.ev.ev.Yt.Yt.(w.fv._w._w._w.hv.:w.jv.jv.kv.!.&!.[!.x;.)k.r;.&'.~k.%'.@).O;.L>..).]).Z,.e3.`u. v.i3.Qh.y1.mf.ow.pw.%s.9p.7n.qt.rt.qw.zq.rw.sw.tw.4u.uw.6u.}a.vw.ww.xw.yw.zw.p:.q:.Aw.Bw.Cw.O[ o} ", +" w.}e {^ dG XH 1&..z TB Dw.V&.+w.@f.z6.#w.Ew.Fw.Gw.Hw.Iw.1s.Jw.Kw.Lw.Mw.Nw.Ow.Pw.,w.Qw.`q.yj.ml.pu.%t.Ep.Ep.ml.ml.ml.ml.yj.yj.Rw.9o.8o. p.8s.*t.'w.Xq.ru.;t.Ut.su.=w.iu.*w.!w.Sw.Tw.Uw.Vw.'t.7e.go.io.Ww.av.Xw.Yw.ed.Ar.gd.cs.]w.Zw.^w.es.fs.^t.gs.nc.[t._t.x.>x.,x.'x.)x.!x.!x.~x.ov.{x.7w.]x.^x./x.(x._x._x.:x.:x.:x..)).K>.b3.q2.3x.i3.Qh.Pi.Yg.4x.5x.6x.6n.|u.1r.2r.1u.7x.ut.8x.9x.%v.,s.'s.Wa.:a.0x.ax.bx.cx.dx.p:.]0.9u.ex.o} }| }| ", +" *W w.fx.EO PB w=.ZE gG n$.gx.Im.]v.#f.je.%f.Hg.7m.yh.hx.ix.Jw.Kw.Lw.jx.kx.-w.lx.8s.3v.mx.nu.qq.pu.Ep.0o.qq.qq.ml.ml.ml.yj.yj.Dp.St.8o.,w.*t.qu.*1.ru.;t.Tt.nx.su.Lw.*w.ox.px.qx.rx.sx.tx.ux.vx.Ww.,p.av.Xw.{w.ed.Ar.wx.cs.*r.Zw.Uu.xx./t.gs.wu.yx._t.y.,y.na.t:.Xv.'y.)y.Cw./G W| ", +" *W -a !y.PB TT ZE gG F 3]./].s6.[e.|e.~y.*f.=f.Ig.uj.{y.gu.]y.^y.su.Ut.-w./y.(y.Bp.mx.nu.qq.%t.0o.0o.tr.qq.ml.Um.yj.tr.Dp.9o.8o. p.8s._y.'w.Xq.`s.:y.6v.4s.x.ty.,x.uy.uy.Rx.4w.vy.Sx.vy.3w.9y.db. x..x..x.|f.'|.^g.;h.)5.0~.-h.Y|.2~.[~.Yr.4-.1-.[-.!!.o3.*!.^4.x;.V1.BX .,.~k.%'.@).`>.m2.;4.i3.>4.'4.wy.Wg.Lw.xy.yy.zy.0p.Ay.Gs.By.-s.>q.Is.Sv.Cy.Dy.Dq.Tv./a.Ey.Fy.Gy.Hy.lp.t:.Yv.Iy.Jy.B1 Ky. ", +" 'X -a [] @W !v.gG tS Ly.My.My.Ny.Xr.Oy.Py.Qy.wl.Ry.4o.Sy.Ty.Uy.su.Ut.`s.Vy.Wy.Bp.xn.Xy.qq.qq.qq.tr.tr.ml. r.Um.Um.nu.Dp.Tm.8o.,w.6q.qu.*1.ru.;t.Ut.su.Yy.iu.Zy.!w.qx.`y. z..z.+z.@z.#z.$z.,p.vu.{w.ed.4y.cs.Br.Dr.Er.^t.^t./t.hs.[t.xu.xu.ev.Yt.(w.%z._w.iv.jv.jv.[w.}w.&z.Bx.7y.Cx.+x.Dx.*z.Ix.Ix.=z.ay.ay.by.cy.cy.cy.dy.-z.;z.>z.>z.,z.at.!u.'z.!u.)z.)z.)z.)z.!u.!u.'z.'z.)z.dy.0y.!z.~z.{z.]z.]z.o9.^z./z.ta.sa.sa.(z.(z.Kx._z.ky.:z.Lx.Lx.i9.Nx.Nx.Nx.my.ny.4.;4..y.'4.!4.2z.S|.3z.4z.5z.6z.Fs.7z.8z.9z.Aq.0z.wt.az.uw.6u.9r.vw.At.Vv.bz.cz.x0.Nb.Nb.dz.ez.fz.gz.gz. ", +" 26 'X 95 91.hz.)b.tS iz.][.L&.jz.#f.{r.Jt.!f.uj.Sk.kz.lz.mz.Uy.=w.nz.oz.pz.6q.,w.8q.`q.+p.qq.qq.tr.nu.Um.nu.nu.yn.Dp.0q.qz. p.`o._y.'w.ru.;t.kx.6v.}v.Lw.)w.!w.rz.sz.tz..z.|y.uz.vz.wz.xz.yz.Sp.ed.4y.wx.zz.Er.fs.Gr.^t.Az.5y.z.>z.Gz.Hz.Iz.Iz.Iz.Iz.Iz.Jz.Hz.Su.Kz.Kz.Kz.Kz.Kz.'u.'u.dt.,u.Iz.Iz.by.Lz.Mz.~z.Nz.H0.Oz.Vv.Pz.{z.Qz.{z.Rz.Sz.Tz.Uz.Uz.Uz.hy.^z.Vz.Vz./z.Wz.Wz.Xz.Xz.Kx.Yz.sa.Zz.Ix.dy.`z.at.$6.,h.,h./g. A.;h.-|.~g.-j..|.X|.N1.n3.2-.}-.!!.,!.*!.[!.x;.V1.BX .,.~k.~k..A.+A..y.'4.!4.@A.#A.,t.$A.&s.wq.&o.%A.&A.*A.ut.6r.Do.%v.=A..b.Wa.A.,A.Ky.93 ", +" oZ 'A._7 ~V !v.)A.!A.a8.L&.~A.@w.vk.3o.gl.=f.,t.Yf.{A.]A.ox.=w.jx.;t.pz.Yq.,w.^A.;w.+p.qq.qq.nu.nu.Um.nu..r..r.Dp.0q.qz.7q.*t.qu.*1.ru.;t.Zs.su.Yy.7v.Kw./A.(A.`y._A._A.uz.#z.:A.:A.X >X 'A.BA.5D CA.DA.hG I4.;}.EA.Mf.In.FA.!f.Vt.GA.jl.HA.ox.Lw.ju.IA.JA.KA.8s. p.xn.nu.qq.LA..r.nu.nu..r.9o.9o.9o.Tm. p.8s.6q.'w.rr.MA.NA.6v.OA.B.,B.'B.xA.)B.!B.A9.~B.y9.y9.y9.gA.{B.J0.x9.cx.hA.hA.Nz.~z.Nz.Oz.~z.]B.7A.Dv.^B.Su.oA.(h.X5.!.&!.^4.@!.!k.BX &'._B.pA.:B.!4.@A.#A.@g.@k.w..r.nu.nu..r.9o.9o.Tm.yk.vr.`o.qu.*1.ru.;t.Zs.su.B.>B.>B.'B.)B.)B.Hy.~B.~B.A9.~B.FB.#u.^B.GB.HB.nA.IB.%6.if.X5.w.>w..r.9o.nu.9o.9o.`q.Cp.aq.8s.*t.qu.rr.MA.NA.6v.OA.^y.Zy.!w.qx.`y..z.|y.*C.PA.=C.iB.C.,C.'C.)C.Yt.|A.5y.!.U|.^4.+!..!.LB.0C.!4.@A.aC.MB.NB.@h.bC.0p.Fs.QB.8z.*A.ut.6r.cC.%v.&v..b.Va.)s.dC.ax.-v.,y.xA.~B.eC.Hd.!~ fC.gC.hC.hC. ", +" iC.iC.J} .C.'A.jC./b.kC.Rs.T5.!5.=n._m.zp.lC.GA.{A.mC.yk.Ut.6v.;t.6s.Yq.Rt.Zq.4v.>w.>w.nu.9o.9o.9o.9o..p.aq. p.8s._y.=t.ru.;t.Zs.su.y.Gy.cz.;B.Lb.Uc.2&.XC.YC.^5 ^5 ", +" ZC.`C.S1 .C.'X D..D.+D.@D.!5.D5._m.vn.#D.Rm.{A.$D.yk.%D.NA.ku.&D.dB.*D.Zq.Cp.>w.>w.9o.9o.9o.&C.0q.0q.aq.vr.`o.qu.*1.ru.ku.6v.OA.^y.Zy.!w.sz.rx..z.uz.*C.=D.}A.-D.[A.;D.>D.UA.,D.'D.)C.)D.!D.(w.xu.Zt.(w._w.iv.zx.}w.6y.Bx.XA.Dx.*z.Ix.ay.by.cy.dy.>z.Hz.5A.5A.~D.ZA.`A. B.^B.^B.^B.]C.}C.{D.^C.^C.(C.(C.]D.[C._C._C._C.^D.BC.zC.zC.zC.:C./D.(D.(D.(D.(D._D._D./D.:D.|.^5.~g.-k.2~.}~.=5.M1.}-.'!.-!.%!.^4.aD.aD.@A.aC.MB.S|.Vh.Wh.bD.qm.rt.1u.cD.dD.eD.fD.Js.Cy.Dy.gD.hD./a.ww.Vv.iD.~B.VB.w9.jD.]0.kD.lD.,A.W8 W8 ", +" s< H} j4 .C.WT 7B.mD.M[.de.O5.=f.4o.tu.il.nD.jl.mC.Rg.8o.Ut.;t.dB.Wy. p.Cp.`q.>w.9o.9o.`q.4v.0q.aq.%D.7o.6q.oD.Xq.;t.ku.nx.Yy.^y.[y.rz.}y..z.|y.*C.PA.pD.}A.xz.:A.qD.*r.*r.Fr.rD.sD.tD.uD.vD.vD.wD.1x.iv.kv.[w.Bx.XA.Cx.3A.0y.Ix.by.dy.;z.>z.Gz.5A.6A.6A.6A.xD.sB.^B.^B.]C.GB./C./C./C./C./C.[C.[C._C.^D.zC.zC.zC.zC.zC.zC.zC.:C./D.(D.(D.yD._D.zD.AD.AD.BD.BD.CD.DD.ED.ED.!.=!.OD.R|.aD.aC.MB.Z4.PD.{f.Qk.QD.qA.RD.SD.9z.Aq.0z.wt.4u.uw.8r.Va.TD.0x.xw.bx.UB.UD.6D.VD.Nb.n#.WD.XD.YD.ZD. ", +" v_ v_ `D.4Y oZ .C.26 26 E.ys.X4.,f.zp.Vt.GA.[m.Sm..E.yn.aq.;t. t.Wy.,w.8o.`q..r.9o.9o.4v.`q.0q.aq.%D.8s.6q.1v.ru.;t.Zs.su.E.[C._C.,E.zC.zC.'E.:C.:D.:D.:D.:D.ED._D.AD.CD.CD.CD.BD.BD.)E.!E.~E.~E.{E.1l.]E.^E./E.(E._D.6C._E.:E.m@.m@.F.,F.cq.'F.eo.Hn.go.Ww.)p.Sp.ed.)F.cs.]t.Fr.!F.|A.`t.ev.wD.tE.~F.vE.{F.]F.yE.^F./F.(F.(F._F.>z.>z.:F.B.aF.{L A(.bF.cF.Q9.Q9.Q9.dF.eF.0_.0_.t(.G(.KE.t(.g@.fF.Tz.xB.6w.gF.gF.Lz.gF.hF.>u.iF.7E.NE.I7.6f.0D.1z.oA.:g.X5.,h./g.>|.^5.8~.Y|.X|._~.=5.}-.n3.&g.#5.+5.&5.0E.*g.=g.>g.Sd.jF.bE.kF.rA.lF.fD.Js.xt.uw.mF.}a.vw.At.nF.oF.pF.qF.W9.Tc.yA.B$ rF.sF.S9 Sb ", +" tF.($.W: `B._7 oZ oZ uF.vF.wF.xF.yF.zF.}k.AF.BF.no..q.CF.Mj.DF.Lh.Fh.Fh.Kh.Fh.&F.Kh.DF.EF.FF.An.Mg.+n.+k.@k.#n.GF.Vt.-p.Cn.HF.)t.7e.!t.as.IF.Sp.JF.#E.KF.es.^t.|A.1A.ev.LF.gv.MF.vE.{F.NF.OF.PF./F.QF.RF.SF.TF.UF.TF.VF.%B.%B.$B.;E.]C.]C.GB.^C./C.(C._C._C.,E.WF.:C.:D.BE.BE.XF.ED.DD.DD./E.CE.~E.{E.{E.{E.3F.FE.FE.HE.'o.YF.YF.ZF.hp.7F.7F.7F.Fo.Fo.`F. G. G.)q.)q..G.+G.xB.@G.#G.O9.{L {L {L $G.j@.j@.j@.A(._E._E._E.%G.{L u(.=B.&G.*G.vy.'x.=G.=G.'x.dA.-G.;G.t8.>G.M7.I7.pe.6f.9D.|f.}f.:g.!}.,G. A.R5.0~.-k.Z}.}~.=5.=5.W4.&g.0E.0E.$g.*g.'G.>g.^f.)G.bp.7x.dD.lF.0z.!G.4u.~G.'s.{G.vw.]G.TB.bx.UB.'B.F9.j9.Uc.eE.^G./G.(G.S9 ", +" q'._G._G._$.:G._7 _7 E.[D.8C.[D.fG.x.hF.vG.vG.>x.ny.7w.wG.2t.xG.>G.iF.yG.pe.0D.1z.oA.:g.X5.,h./B.{g.0~.-j..|.[~._~.E5.;g.W4.@h.&g.&g.'G.zG.Rf.Sd.&d.kF.9z.Aq.Bq.9x.%v.,s..b.Wa.)s.!s.Ey.>y.Gy.xA.E9.AG.$j.BG.CG.DG.EG.FG. ", +" GG.GG.v/ _$.5Y _7 >X HG.IG.JG.KG.LG.}k.Wn.AF.Il.km.2p.3p.1p.|p.mt.MG.Tg.Zm.NG.NG.Tg.Uj.ul.OG.Ui.co.+k.Vf.Sk.,t.;f.Cn.9v.PG.8e.go.+r.Rp.QG.)F.RG.Dr.xx./t.hs.ev.ev.(w._w.iv.`w.Bx.SG.PF.TG.UG.aG.SF.SF.VG.bG.WG.dG.dG.sg.WF.WF.wC.BE.XG.xC./D.YG.(D.ZG._D.CD.`G. H. m.{E.EE.EE.EE.3F.FE.HE.HE.HE..H.'o.5F.hp.7F.7F.Fo.Fo.)o. G.+H.nG.lG.@H.#H.8r.$H.$H.%H.%H.&H.%H.*H.$H.*H.=H.uG.dA.pG.pG.-H.;H.x9.'B.>H.>H.'B.~z.Wz.-H.,H.hF.Jx.X x.dA.dA.gH.hH.vG.vG.-H.iH.iH.jH.jH.kH.Mx.Lx.Lx.jH.:z.lH.jH.mH.Pd.nH.oH.pH.we.qH.yG.pe.0D.1f.oA.:g.8E.QC.JB.)5.nw.Y|.#|.,j.,j.I5.I5.I5.=g.#k.^f.Qf.vk.rH.9z.ut.sH.fp.Js.tH.Dy.Dq.Tv./a.ww.Vv.uH.vH.VB.BB.,a.wH.~~ xH.yH.@7 zH. ", +" AH.x,.x,.m( `B.:H.:H.BH.KG.CH.DH.EH.:j.FH.(n.3p.1p.pq.oq.GH.:r.+s. v.,4.Tg.Tg.}H.Ti.OG.|H.co.Xi.Vf.Ig.6G.'f.Cn.HH.Hn.go.Ww.Rp.Sp.Ar.#E.qD.8G.gs.[t.ev.Zt.(w.=x.kv.}w. x.IH.3A.JH.aG.SF.VG.cG.cG.gk.gk.8H.wC.wC.KH.yC.LH.hG.MH.ZG._D.AD.AD.NH.CE.!E.{E.{E.FE.FE.jG.jG.'o.YF.OH.cn.hp.8F.Fo.kG.PH.)q.lG.#H.QH.$H.$H.%H.&H.Va.eH.Tv.RH.Ms.Ms.SH.TD.TH.UH.VH.Eq.~o.~o.WH.)s.VH.iH.&G.jH.jH.Mx.Mx.XH.YH.YH.ZH.`H.`H.`H.`H.`H.Yz.Yz.Yz.Kx.Yz. I.Xz.^z.pv.C8..I.+I.@I.!H.#I.$I.LE.OE.6f.9D.|f.%I.X5._g./B.;h.0~.-j.Q5.;j.,g.;g.;g.-g.>g.'g.Qf.D5.&I.SD.5r.eD.Is.Js.4u.`F.8r.9r.TH.0x.xw.yw.UB.-A.*I.ra.Uc.V#.=I.-I.;I.'i ", +" bA bA %z [%.GG.>I.:H.:H.,I.'I.DH.)I._n.km.(n.3p.1p.pq.oq.GH. s.Cs.Cs.Lv.f3.!I.Uj.Vj.OG.|H..k.wr.Tf.Sk.6G.'f.cq.HH.Hn.go.Ww.Rp.QG.)F.1H.]t.8G.sE.~I.Yt.Zt.%z.kv.[w. x.Cx.3A.Ix.Dz.{I.VG.bG.6H.gk.sg.8H.]I.^I.yC.xC.xC.hG.MH._D./I.CD.CE.CE.~E.{E.3F.HE.HE.jG.jG.jG.YF.5F.cn.bH.8F.`F.PH.)q.nG.lG.#H.$H.$H.(I.Va.dH.eH.Tv.VH.SH.TH.TH.TH.kp.kp.TD._I.WH.WH.)a.)a.kp.kp.Fq.iy.jy.lH. I. I.Yz.#G.#G. I.#G.#G.jy.jy.:I.:I.Wz.Wz.sa.I.dI._7 eI.fI.)I.gI.[k.2p.3p.1p.|p./r.GH. s.Cs./u.Lv.`u.d3.hI.Ug.Th.Zj.6m.@y.Tf.Rk.6G.Lp.7G.eo.8e.ho.+r.vu.Ar.)F.1H.iI./t.hs.k.)g.(f.Qf.>k.D5.ee.XI.Xl.Aq.;s.YI.ZI.Ks.Ls.Dq.Eq./a.At.Vv.yw.Mz.`I.eA.ar. J.$$ .J.+J.Em ", +" 8B.@J.@J.VB #J.G=. D.$J.%J.II.gI.Fl._j.1p.|p./r.:r.KI.Cs./u.Lv.`u.e3.q2..y.y1.wy.&J..5.%g.zG.$n.Wt.'F.eo.7e.rE.)p.Sp.Ar.*J.]t.8G.hs.J.,J.en.eH.Eq.Ms.Ms.:a.:a.)s.)a.)a.)a.kp.'J.mI.iy.=v.]G.]G.ww.ww.UE.Ey.Ey.)J.ax.TB.xw.xw.xw.xw.xw.Vv.xw.FD.FD.ua.ua.!J.ua.ua.!J.B0.B0.B0.B0.Pz.~J.C0.u9.jA.hA.Px.{J.]J.mH.TI.^J.8D.C8.@I.MD.xG.7E.yG.pe.E7..6.}f.y.>y.>y.bx.bx.bx.yw.Fy.B0.kA.kA.CC.Fy.Fy.cJ.H0.H0.Nz.~z.~z.~z.~z.CC.~z.u9.)H.Yc.dJ.]J.eJ.rI.;G.Ld.fJ.|I.gJ.>G.iF.pe.tI.1f.%I.v.PJ.QJ.RJ.SJ. ", +" TB TB TJ.TJ.aA UJ.VJ.WJ.&l.]j.{j.(k.XJ. s.Cs./u.Lv.`u.d3.q2. y.;4.!I.!4.3J.YJ.qJ.%g.Wh.zG.,k.hJ.ZJ.~n.cm.io.as.dq.{t.Vu.`J.`t.LF.Au.}w.sC.Dx.=z.dy.Gz.5A.`A.^B.]C.(C.wJ.^D.zC.Qe.zD.CE.CE.6J.3F.FE.HE.jG..H.YF.5F.cn.cn.xm.kG.PH.PH.nG.Go. K.8J..K.fH.eH.~o.~o.!q.)a.kp.kp.mI.dC.PI.BJ.ww.Ey.CJ.CJ.xw.DJ.wA.dE.dE.dE.uH.uH.+K.iD.iD.FJ.FJ.@K.#K.$K.%K.%K.2B.&K.&K.*K.UB.,y.gA.gA.=K.gA.UB.vH.~B.=K.=K.A9.~B.~B.6D.ma.-K.;K.>K.HJ.JJ.,K.'K.LJ.)K.X7.!K.wG.WI.2I.I7.tI.1f.ff.le.mq.em.1e.Dl.ge.ge.ge.Rn.ge.Ew.~K.3u.SB.9x.%v.Ks.Ls.4a.Eq.Fq.ww.Vv.yw.~B.6D.k9.{K.]K.^K./K.(K.RJ. ", +" F F _K._K.:K.4.pA.Wg.YJ.S|.$5.Wh.;g.,k.;j.ZJ.~n.cm.>p.as.dq.{t.zz.}t.Rr.mw.mv.|K.&x.1K.2K.3K.Su.4K.9t.&u.5K.vJ.^C.HB.fG.6K.-x.(E.7K.7K.6J.8K.xB.9K..H..H.0K.aK.bK.=G.PH.ip.cK.dK.>J.AJ.en.YH.~o.)s.kp.Fq.Fq.mI.]G.0r.ww.UE.ax.CJ.xw.wA.wA.>y.bx.oF.iD.iD.Gy.FJ.#K.#K.#K.%K.2B.2B.2B.&K.eK.fK.fK.fK.gK.gK.gK.VB.hK.cz.~B.fA.)B.)B.xA.xA.xA.xA.iK.xA.>B.qF.AG.jK.kK.lK.mK.nK.oK.pK.KJ.UI.qK.rK.fJ.MD.sK.qH.I7.6f.E7.pd.=r.mq.em.1e.Gg.G6.ge.he.Ew.Ew.Gr.Yl.tK.fp.*y.uK.yt.(J.9r.kp.]G.xw.bx.UB.'B.na.vK.wK.xK.yK.zK.Uq ", +" ~V ~V ~V ]<._K.bI.AK.M=.1J.(k.$l.^k.zs.BK.Lv.`u.e3.q2.i3.;4.>4.pA.Wg.CK.+5.$5.Wh.;g.'g.;j.ZJ.~n.cm.>p.ws.jt.{t.zz.}t.Rr.mw.rs.|K.Gx.DK.et.Kz.EK.#B.=u.[z.FK.vJ.7C.GK.jw.HK.tv.rv.IK.JK.KK.xB.9K.*G.aK.pG.oG.oG.LK.MK.NK.OK.zJ.9J.PK.PK.~o.WH.)a.kp.Fq.;H.^z.0r.ww.UE.ax.ax.xw.wA.>y.dE.EJ.oF.Gy.Gy.QK.RK.%K.2B.&K.&K.eK.fK.fK.fK.hK.VB.gK.SK.SK.SK.TK.UK.UK.-B.SK.'B.'B.>B.>B.6D.6D.VB.qF.6D.6D.6D.6D.EB.VK.WK.Mu.Ou.XK.;K.YK.JJ.ZK.'K.LJ.Ld.fJ.VI.xG.7E.yG.pe.`K.~r.Xp.(p.dm.1e._f.Dl.Dl.Gg.Gg.[e. L.;s.fp.Js.Cy.5u.6u.Va.)s.dC.FD.>y.,y.xA.sa..L.+L.@L.#L.$L.zK. ", +" 5D 5D 5D `E %L.m).E} ){.&L.$l.^k.P2.zs.5h.`u.e3.q2.i3.w1.>4.:B.Wg.#A..5.$5.Wh.;g.'g.;j.ZJ.Qn.Pn.io.as.Wp.{t.Ur.}t.Rr.mw.rs.|w.Gx.2K.ey.,u.*L.9t.@B.Dv.%u.|F.iw.Hu.HK.cw.=L.}x.-L./x.9K.;L.;L.>L.,L.=G.dA.hH.'L.H.W9.;B.;B.E9.|L.1L.E9.K0.F9.2L.3L.4L.5L.6L.}I.mK.nK.Xc.Vk.'K.LJ.rK.Md.@I.xG.7E.yG.Ir.7L.~r.me.N6.cm.Bl.Yp.gm.gm.8L.vh.9L.RB.Is.tw.0L.,s..b.,J.)s.=v.Ey.>y.x9.xA.Xz.yb.lN aL.bL.cL./t ", +" dL.eL.eL.,V ,V e*.fL.>{.gL.u3.P2.64.N2.hL.e3.q2.i3..y.>4.y1.!4.3J..5.#5.&g.I5.K5.!g.Zp.iL.Pn.tJ.mq.jt.{t.zz.}t.Rr.mw.lv.|w.Gx.2K.ct.Su.*L.@B.Dv.vJ.|F.jL.Hu.kL.tv.}x.qv.0w.Eu./x.xB.aK.oG.,H.dn.hH.'L.>J.zJ.en.PK.~o._I.)a.)a.kp.mI.^z.pI.o9.UE.FD.!J.Vv.Fy.>y.bx.+K.iD.@K.%K.%K.%K.eK.^L.^L.hK.lL.lL.TK.UK.UK.UK.-B.[L.}L.}L.}L.}L.}L.}L.mL.nL.nL.nL.mL.nL.mL.DB.BB.BB.F9.BB.oL.pL.BB.BB.=B.qL.rL.sL.tL.uL.Mu.vL.wL.;K.HJ.JJ.mH.TI.)K..I.@I.gJ.7E.7E.oc.Hr.hd./p.N6.cm.Bl.Yp.Yp.Yp.Yp.xL.yL.sw.wt.%v.&v.Ls.%H.~o.mI.0r.Vv.bz.~B.zL.Sb.h0.AL.BL.CL. d ", +" DL.DL.EO D}.1/..z >b.EL.^k.74.c4.nV 3h.M>.q2.i3..y.x1.y1.!4.3J.YJ.@5.%g.FL.GL.)g.Zp.Dl.2e.Vr.mq.=r.~r.ds.}t.Rr.ts.lv.%x.Gx.2K.3K.0t.*L.&u.Bv.vJ.jL.Zz.-x.cw.}x.0w.Eu.(x.5E.5E.HL.6E.=G.Go.'L.>J.iH.jH.IL._I.WH.)a.Fq.WC.=v.^z.0r.UE.FD.ua.B0.^H.dE.bx.bx.Gy.#K.#K.2B.&K.fK.hK.SK.SK.SK.TK.[L.[L.[L.[L.}L.}L.}L.mL.mL.mL.JL.KL.KL.LL.LL.LL.LL.6C.ML.NL.NL.NL.6C.6C.6C.OL.&k.&k.PL.&k.U9.m9.QL.RL.SL.TL.vK.uL.6L.UL.mK.nK.JJ.]J.UI.VL..I.!K.xG.2t.1t.oc.7L.WL./p.'n.cm.Bl.1e.Bl.Yp.~t.-o.sw.XL.YL.Ks.yt.Dq.Eq.kp.PI.ua.yw.UB.ZL.`L.+L. M..M.+M.X8 ", +" hZ hZ hZ hZ hZ z *X s).El.c4.nV %,.]).`p.d3.>4.+A.@M.LB.@A.`4.+5.$g.{f.;g.{i.Al.ge.1e.Wr.yr.lq.~r.Hr.}t.Iv.mw.lv.%x.Gx.2K.3K.0t.7A.&u.vJ.^C.#M.Zx.cw.$M.:x.0w./x.^x.ov.6E.+G.6w.Lz.dA.iH.PK.YH.~o.Y_.kp.kp.~q.iy.]G.PI.UE.FD.ua.xw.^H.dE.EJ.iD.Gy.#K.2B.2B.^L.^L.gK.SK.TK.UK.-B.[L.}L.mL.mL.mL.mL.nL.%M.%M.KL.KL.NL.NL.NL.&M.&M.&M.&M.5C.zB.zB.zB.zB.zB.U9.U9.*M.5C.zB.U9.*M.J9.n9.=M.-M.jK.sv.SL.TL.uL.;M.vL.>M.nK.JJ.{J.eJ.VL..I.@I.x8.,M.Or.Nr.!r.Wp.Ln.On.'M.,n.5e.Bl.M6.)M.;s.fp.UC.Cy.yt.6u.9r.)s.]G.ua.CC.!M.~M.Tb.L' $- {M.]M.^M. ", +" |/.)b.|/..z /M.WH 'V >;.H>.nV %,.]).qW .).V>.v1.@M.(M.KB.aC.MB.$5.&g.;g.,j.%k.ZJ.Qn._M.>p.ws.Wp.Br.Tr.Or.mw.rs.|w.Hx.et.3K.YA.9t.&u.vJ.7C.Zz.-x.=L.:M._x./x.7w.ov.3w.*G.gF.Tx.Sx.vy.hF.XH.)a.Fq.iy.dC.]G.pI.RI.Ey.CJ.xw.Vv.Fy.dE.EJ.oF.QK.#K.2B.2B.fK.hK.SK.SK. bM.cM.dM.dM. ", +" w=.!v.!v.!v.QB eM.=X fM.4!.%,.]).J>..). ,.+l.-4.(M.KB.3J.k1.Z4.%g.FL.,g.!g.Zp.iL.gM.io.xs.Wp.!r.Tr.Or.lw.mv.|w.hM.2K.3K.0t.9t..B.vJ.HB.jw.dw.-L.:x.(x.7w.ov.Wx.6w.Lz.4w.'x.uy.,x.iM.>x.jH.iy.]G.0r.Ey.Ey.CJ.^H.>y.dE.EJ.iD.jM.QK.#K.^L.hK.hK.VB.SK...). ,.O;.%'.Y>.LB.@A.`4.+5.$5.Wh.;g.{i.Al.hm.2e.On.mq.Xp.{t.Ur.xM.Qr.mv.=x.Gx.yM.ct.aA.9t..B.vJ.#M.fw.cw.aw.Eu.pv.zM.AM.6w.BM.vy.'x.,x.>x.sy.Jx.py.ny.Nx.^z.xw.Vv.wA.cJ.Nz.uH.+K.FJ.#K.RK.^L.fK._L.SK.UK.[L.[L.mL.mL.mL.KL.KL.LL.&M.5C.J9.|M.|M.|M.JC.kM.CM.DM.DM.DM.5D.5D.5D.DM.1C.EM.EM.FM.P(.FM.GM.P(.HM.P(.|_.L9.L9.L9.D9.zw.IM.JM.lM.KM.0M.2M.4M.LM.RL.vv.rM.MM.NM.mK.HJ.ZK.UI.^J.OM.|K.PM.QM.oc.RM.Wp.ws.N6.On.cm.cm.p.me.~r.Hr.1t.`M.ts.lv.@x.ms.Kz.0t.9t.Dv.vJ.#M.fw.rv.aw.=M.7w.~x.Wx.Tx. N.,x.Px.ry..N.ry.py.ny.my.Mx.:z.Wz.Vv.bx.uH.bz.{L.%K.2B.cz./L.gK.SK.UK.-B.[L.}L.mL.nL.%M.%M.LL.&M.zB.J9.|M.|M.|M.JC.kM.DM.DM.5D.5D.IC.EM.EM.EM.EM.EM.FM.FM.FM.O(.O(.O(.O(.O(.+N.7_.O(.z@.1_.@N.g9.#N.$N.%N.&N.VK.Xk.oM.3M.pM.*N.TL.vK.)H.vL.mK.HJ.ZK.UI.ls.@x.lv.mw.Or.is.)r.=r.Ln.M6.On.z6.nc.=N.sw.XL.UC.Ks.yt.Dq.9r.)a.]G.FD.ny.-N.^0.;N.>N.,N.'N. ", +" @W PB PB PB '$.rN gs -b.y%.Y,. ,.O;.%'.~k.AX BX !k.E;.Z4.$g.{f.;g.)g.Zp.G6.,n.tJ.Ln.WL.{t.Tr.Iv.mw.)N.p.M6.rn.fN.tK.YI.tw.az.5u.'s.-y.*v./a.Fq.gw.!.jN.;g.)g.Zp.Dl.sJ.tJ.fq.Wp.RM.Tr.Iv.ts.lv.!.[-.$h.{i.ZJ.Qn.dm.yr.=r.{u.Vu.Sr.`M.mv.|w.1K.yN.aA.9t.Dv.|F.Zz.cw.aw.=M.ov.6w.vy.zN.py.!N.:z.zL.Xz.Wz.Vz.x0.Vz.hy.Uz.Uz.y0.Sz.Rz.Rz.]z.AN.BN.C0.UB.mL.&M.zB.zB.zB.J9.JC.kM.DM.IC.IC.EM.GM.FM.:N.GM.GC.4D.FC.FC.KD.JD.x@.L_.L_.L_.x@.x@.2D.8_.3D.JD.x@.O9.I9.CN.DN.m9.ta.EN.qL.FN.WB.GN.|g.8f.2L.99.HN.%N.IN.JN.KN.tN.*N.qM.;M.wL.-u.`z.ey.1K.|w.PM.Rr.Nr.>r.=r.mq.'n.rn.Yl.lF.Is.SM.%v.Ks.LN.(J.Ho.kp.MN.9b. J.NN.ON.PN.^M ", +" bu.(3.bu.bu. W Xy QH QN.G:.:!.BX !k.V1.+!.+1.[!.=!._-.1-.W|.*h.P5.1e.tJ.Ln.Wp.RM.Tr.Iv.Cu.lv.Gx.ms.,u.*L.[z.vJ.jL.-x.:M.(x.ov.6w.vy.>x.py.pN.:z.sa.kN.Vz.x0.Uz.Uz.Sz.Sz.~s.z0.AN.BN.AN.{z.AN.RN.F0.B0.C0.J0.>H.=B.yB.DM.DM.IC._N.FM.GC.}N.4D.4D.EC.EC.EC.KD.JD.SN.JD.TN.ID.ID.ID.ID.UN.1D.|D.8_.v@.1_.W9.v9.AN.VN.o0.~h.n9.n9.1M.ma.qL.WN.Hb.XN.qN..N.Mb.Wk.IM.YN.KN.tN.RL.vK.MM.*u.7A.at.yM.!.<-.3-._~.2~.8~.+O./h.le.~r.Hr.Sr.Qr.Bu.|w.1K.@O.Su.7A.Bv.#O.fw.$M._x.7w.Wx.Sx.>x.py.pN._z.sa.q0.Sz.Uz.y0.z0.wa.z0.A0.F0.RN.u9.G0.C0.Oz.H0.CC.Wv.Nz.~z.~z.~z.y9.qF.6C.3C.GM.GC.}N.4D.EC.EC.EC.KD.EC.SN.SN.JD.$O.ID.%O.%O.%O.8_.p(.C@.&O.K0.hA.6I.t9.wa.AN.z0.r9.o0.p0.p0.DN.1M.u0.EN.ra.j9.;x.*O.=O.Rx.IM.VK.KN.-M.SL.uL.WK.*u.`z.}z.7t.=x.PM.Or.Ur.8d.me.N6.%r.uN.lF.6r.cC.>s.IE.uw..b.Wa.0F.ss._b.Nl _' -O.;O.>O. ", +" W W W W ,O.Wy Wy Jm J^..!.+!.+1.[!.U|.^!.SY }-.6-.[~.Y|.0~.{g.ko.3g.jo.Ur.Iv.mw.ht.=J.yM.3K.*L.[z.|F.Zz.'O.:x.pv.~x.Tx.,x.py.pN.Xz.Vz.Uz.AN.~J.~J.6I.G0.G0.Oz.Oz.G0.G0.v9.Oz.Oz.w9.~z.~z.FB.FB.FB.J0.gA.gA.y9.VE.~B.;B.G9.*M.)O.HM.HM.HM.O9.1D.8_.!O.!O.7_.~O.{O.V9.K0.;i.xO I0.w9.w9.@N.G0.G0.G0.~J.~J.RN.AN.s9.]O.o0..0.t0.EN.qL.j9.}g.=O.Qx.Sc.JN.^O.jK.qM.yv.Cv.*L.Cz..x.%x.nv.`M.oc.>r.pd.@f.Ts.fN.RB.6r.YI.tw.4u.,s..b.ip.sB.i8.y} /O.(O._O.:O. ", +" TH zO zO zO SH Wy .u (@.CO .bG bG bG RP RH u 8O.p+.P1.U1.:5.{-.^-.<-.1-._~.2~.-j.)5.^g.5g.if.1z.tI.NE.we..u.qs.9O.0A.-u.Bv.jL.rL.-L.=M.AM.Sx.0O.aO._z.Vz.o0.t9.Wv.AG.gA.y9.-i.}O.bO.y9.VE.-i.-i.-i.|O.}O.}O.y9.VE.Mz.Mz.cO.!B.!B.!B.dO.!B.!B.A9.X9.A9.A9.X9.!B.!B.!B.X9.A9.A9.A9.A9.VE.VE.zI.}O.}O.}O.[O.[O.[O.I0.Q0.Q0.Q0.@N.Q0.Q0.@N.@N.`9.E0.)h.eO.EN.GN.=O.$N.YN.^O.sv.rL.#O.6A.Su.|x.@x.lv.Tu.}t.fO.rd.le.gO.-s.ut.;s.Is.60.%v.Ks.70.hO.iO.jO.kO.lO.mO.-V NT ", +" u=.yO yO yO Xy =x `q `q nO./].:5.{-.^-.PY I|.4-.[~.4~.~g.;h./g.i.O0.>i.}O.>i.P0.`9..0.Eb.;x.Mb.JM.oM.LM.dw.gy.tO.`z.et.Gx.1w.Tu.Hv.Ur.8d.8d.uO.3u.ut.9M.SB.cC.>s.xt.vO.wO.ub.+; xO.yO.zO.AO. ", +" pN pN pN ia.Vx ]i Ux Ux ~:.Y*.o3.[p.PY }-.5-.}~.Y|.Cl.S5.(g.s.AE.sd.Ac.iN.JO.KO.LO.MO. ", +" ,O.NO.NO.RE ;e TK TK Wy r/./5.PY RY {~.5-.|~.Y|.0~.S5.8g.[f.%6.E7.OO.iF.xG.@I.Ld.TI.]J.HJ.lK.MM..L.RL.AI.PO.IM.Lb.|g.EN.r9.v9.EO.DO.=i.e(.|@.|@.qO.qO.DO.X9.=i.A9.z9.qO.X9.X9.X9.DO.QO.A9.A9.z9.DO.qO.!B.GO.GO.GO.*i.*i.*i.*i.*i.GO.GO.!B.!B.qO.DO.z9.A9.z9.z9.z9.z9.X9.z9.z9.z9.X9.|@.C9.C_.VK GO.=i.@N.~h.j9..N.RO.oM.-L.bw.HB.Dv.`z.dt.Hx.1w.mw.jc.Ur.8d.nc.uN.yL.=N.|B.6r.YI.dj.p8.SO.TO.c) %- UO.VO.WO. ", +" rN t,.t,.t,.Wy TK J@.SK XO.YO.RY P1.*5.7-.|~.Y|.Cl.>|.V5.X5.$6.9D.Tp.iF.xG.VI.Ld.rI.{J.HJ.&j.6L..L.SL.-L.nM.IM.Lb.zw.EN.ZO.`O.DO.z9.e(.|@.|@.GO.VK C_.C9. P.|@.QO.qO.qO.)B.GO.GO.*i.`I.D9.D9.`I..P..P.C_.*i.*i.*i.*i.*i.*i.*i.C_.C_.C_..P..P.`I.D9..P.*i.*i.GO.)B.!B.*i.*i.C_.1@. P.C_.*i.VK X9.@N.eO.j9.99.lM.2M.-L.lA.7C.`A.`z.et.Gx.1w.+P.jc.Ur.{t.@P.-s.3u.=N.RB.tK.#P.zu.x7.$P.,[ %P.eZ ^#.&P. ", +" UH *P.*P.RE u J@.OK E_.=P.:}.{~.*5.7-.|~.5~.Cl.>|.V5.{|.%6.2f.pe.iF.we.VI.C8.^J.KJ.JJ.mK.vL.uL.SL.pM.oM.lM.HN.g9.qa.o0.I0.z9.e(.-P.|@.|@.qO.*i.C_. P.;P.SK f(.K0.6D.6D.L0.C_.*i.`I.D9.D9.D9.D9.G_.G_.SK SK SK SK SK SK SK G_.G_.D9.D9.D9.`I.*i.C_.L0.D9.W9.W9.G_.f(.SK ;P.C9.C_.VK }O.t9.w0.zw.HN.VK.3M.qv.>P.|F.6A.Fz.|x.@x.rs.+u.Sr.(e.Hr.,P.-s.-s.=N.RB.'P.)P.me.V8.|p z! !P.~P.^#. ", +" [Y RP 2D m0.`q U(.U(.U(.{P._[./~.7-.Y}.5~.9~.>|.V5.5.4{.9{.%6.1f.df.re.WI.!H.+I.8D.rI.cP.Xc.>K.UL.)H.xv.RL.pM.oM.YN.%N.Px.8f.WN.u0.)h.@N.}O.X9.|@.1@.SK f(.f(.W9.W9.K0.K0.E_.RK RK RK E_.E_.E_.E_.E_.E_.E_.E_.RK RK RK RK E_.K0.K0.W9.*i.QO.}O.G0.z0.EN.dP.dN.$N.YN.^O.pO.wv.Zz.GB.[z.`z.}z.ns.*x.Bu.Qr.sd.rc.sM.7x.7P.0i.K.sP.MM.4L.sL.tv.pM.2M.Xk.VK.%N.Mb.=O.aO.pN.k9.m9.DN.r9.wa.`9.F` Q0.>i.AG.AG.}O.}O.}O.VE.EO.}O.}O.}O.AG.@N.@N.wa.r9.DN.EN.j9.!N.dN.HN.JM.Xk.2M.pM.SL..L.WK.%u.`A.kP.at.|x.Hx.tP.uP.o8.sd.vP.wP.xP.gv.i8.yP.U_.&! H( zP.=^.S{. ", +" 5/.eM.1#.1#.J@.pL AP.BP.CP.-0.s^.4{.7{.b{.|f.3f.pe.se.t8.w8.VI.C8.VL.qI.cP.2N.IJ.lK.NM.Mu..L.vv.tv.pM.3M.=M.KM.lM.%N.Wk.99.d9.Ox.aO.pN.j9.WN.qL.qL.qL.qL.sa.z.at.|x.db.#x.ss.+u.jc.5d.EP.FP.GP.aM.Ea.O' HP.IP.`@ 3@ (/. ", +" JP.]<.hJ }@.}@.h_.l(.6L KP.G@.[Y h6.8{.S&..6.ef.1}.se.Q7.gJ.VI.fJ.hP.rI.ib.[P.nb.>K.=u.LP.Mu.4L.jP.SL.5M.pM.AI.2M.=M.YN.~x.lM.MP.%N.Rx.Mb.Mb.Mb.Mb.Mb.NP.NP.NP.NP.NP.Rx.OP.%N.JM.VK.KM.=M.3M.pM.5M.SL.xv.Lu.}P.lK.>K.*L.PP.QP.yM.RP.SP.ss.+P.6t.vP.rc.vc.xb.>V &7 TP.UP.P[.y_.%# ", +" VP.%L.UH TK TK H_.D@.5L |L 5L =P.L8.G%.(}.oe.1}.se.Q7.xG.MD.+I.Ld.G8.qI.mH.6M.9A.8A.Qu.}I.}P.Mu.4L.xv.vv.SL.WP.rv.XP.4M.4M.2M.oM.=M.=M.nM.nM.nM.nM.nM.nM.YP._x._x.qv.pM.5M.RL.sL.xv.Lu.WK.LP.XK.pb.JJ.bt.@u.}z.ns.K.Qu.sP.UL.6L.Mu.Lu.yv.Iu.xv.sL.vv.&Q.SL.SL.SL.SL.SL.SL.vv.jP.jP..L.4L.5L.;M.}P.}I.XK.>K.nb.Vk.cP.*Q.=Q.hO.Hx.*x.ht.-Q.+u.9b.;Q.Kb.&:.OP >Q.,Q.'Q.51.F# F# ", +" )Q.!Q.If.}Y ]i D_.:_.[_.Q(.BP.KP.R_.-0.e:.yd.re.~Q.#I.%Q.Pd.wd.xd.hP.LJ.qI.mH.]J.Vk.2N.HJ.>u.>K.Qu.XK.XK.UL.UL.vL.}P.}P.}P.}P.}P.UL.}I.}I.wL.XK.Qu.>K.IJ.Xc.Vk.*Q.ib.TI.LJ.{Q.RP.7b.tP.Bu.]Q.^Q.Ib./_.Aw./Q.(Q._Q.06.]3.]3.:2. ", +" :Q.:Q.}%.nJ.eM.2D :_.i(..0>.jQ.BA.F; [> J1 |D X nZ uQ._$.{^ F; vQ.<] (%.J1 J1 MB J1 Z[ +c Z[ +..wQ.!, r|.x> dM xQ.yQ.zQ.AQ.;m./o.BQ.7l.w< [7 [7 h| ", +" .C.26 26 'X 'X *W *W w.}e }e ]8 ]8 ZP ZP hr.hr.m4 m4 pp.pp./o.kn. ", +" "}; diff --git a/features/org.eclipse.equinox.executable.feature/bin/motif/linux/x86/libXm.so.2 b/features/org.eclipse.equinox.executable.feature/bin/motif/linux/x86/libXm.so.2 new file mode 100644 index 000000000..dc827a974 Binary files /dev/null and b/features/org.eclipse.equinox.executable.feature/bin/motif/linux/x86/libXm.so.2 differ diff --git a/features/org.eclipse.equinox.executable.feature/build.properties b/features/org.eclipse.equinox.executable.feature/build.properties new file mode 100644 index 000000000..6d20955c1 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/build.properties @@ -0,0 +1,67 @@ +############################################################################### +# Copyright (c) 2000, 2010 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +############################################################################### + +#custom = true +bin.includes = bin/,\ + feature.xml,\ + target.build.properties,\ + feature.properties,\ + gtk_root/,\ + motif_root/,\ + target.build.xml,\ + eclipse_update_120.jpg,\ + contributed/ + +####Even though marked as custom, the content of the build.properties needs to be updated to ensure correctness of RCP app exported +#root.permissions.755=${launcherName} + +root.win32.win32.x86=file:bin/win32/win32/x86/launcher.exe +root.win32.win32.x86.permissions.755=launcher.exe +root.win32.win32.x86_64=file:bin/win32/win32/x86_64/launcher.exe +root.win32.win32.x86_64.permissions.755=launcher.exe + +root.linux.gtk.x86=bin/gtk/linux/x86,gtk_root +root.linux.gtk.x86.permissions.755=launcher,libcairo-swt.so + +root.linux.gtk.ppc=bin/gtk/linux/ppc,gtk_root +root.linux.gtk.ppc.permissions.755=launcher + +root.linux.gtk.ppc64=bin/gtk/linux/ppc64,gtk_root +root.linux.gtk.ppc64.permissions.755=launcher + +root.macosx.cocoa.x86=bin/cocoa/macosx/x86 +root.macosx.cocoa.x86.permissions.755=Eclipse.app/Contents/MacOS/launcher + +root.macosx.cocoa.x86_64=bin/cocoa/macosx/x86_64 +root.macosx.cocoa.x86_64.permissions.755=Eclipse.app/Contents/MacOS/launcher + +root.aix.gtk.ppc64=bin/gtk/aix/ppc64 +root.aix.gtk.ppc64.permissions.755=launcher +root.aix.gtk.ppc=bin/gtk/aix/ppc +root.aix.gtk.ppc.permissions.755=launcher + +root.hpux.gtk.ia64=bin/gtk/hpux/ia64 +root.hpux.gtk.ia64.permissions.755=launcher + +root.solaris.gtk.x86=bin/gtk/solaris/x86 +root.solaris.gtk.x86.permissions.755=launcher +root.solaris.gtk.sparc=bin/gtk/solaris/sparc +root.solaris.gtk.sparc.permissions.755=launcher + +root.linux.gtk.x86_64=bin/gtk/linux/x86_64,gtk_root +root.linux.gtk.x86_64.permissions.755=libcairo-swt.so + +root.linux.gtk.s390x=contributed/gtk/linux/s390x,gtk_root +root.linux.gtk.s390x.permissions.755=launcher +root.linux.gtk.s390=contributed/gtk/linux/s390,gtk_root +root.linux.gtk.s390.permissions.755=launcher + + diff --git a/features/org.eclipse.equinox.executable.feature/contributed/motif/solaris/sparc/Eclipse.l.pm b/features/org.eclipse.equinox.executable.feature/contributed/motif/solaris/sparc/Eclipse.l.pm new file mode 100644 index 000000000..995d7c9bb --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/contributed/motif/solaris/sparc/Eclipse.l.pm @@ -0,0 +1,311 @@ +/* XPM */ +static char *ProductIcon48[] = { +/* columns rows colors chars-per-pixel */ +"48 48 257 2", +" c black", +". c gray100", +"X c #69695A5AE8E8", +"o c #494949499191", +"O c #CECE9292BFBF", +"+ c #E7E7CACAE0E0", +"@ c #C8C88C8CBBBB", +"# c #C2C28A8ABABA", +"$ c #EAEAD7D7E8E8", +"% c #CFCFA9A9CCCC", +"& c #D9D9BCBCD8D8", +"* c #B6B68787B9B9", +"= c #C3C39999C7C7", +"- c #A7A77D7DB5B5", +"; c #BDBDA3A3CDCD", +": c #D8D8CACAE3E3", +"> c #A8A88D8DC4C4", +", c #92927575B2B2", +"< c #87876C6CAAAA", +"1 c #9A9A8383BABA", +"2 c #7B7B6363A3A3", +"3 c #666654549595", +"4 c #73735F5FADAD", +"5 c #626251519292", +"6 c #7F7F7272A7A7", +"7 c #6D6D5E5E9E9E", +"8 c #64645454A9A9", +"9 c #77776969B1B1", +"0 c #49493E3E8282", +"q c #7D7D7373B6B6", +"w c #5B5B4E4EADAD", +"e c #55554949BABA", +"r c #56564949BABA", +"t c #56564A4ABABA", +"y c #56564949B9B9", +"u c #55554949B8B8", +"i c #4F4F4444ACAC", +"p c #53534848B4B4", +"a c #53534848B3B3", +"s c #54544949B5B5", +"d c #52524747B0B0", +"f c #52524747AFAF", +"g c #54544949B3B3", +"h c #DEDEDCDCEEEE", +"j c #3E3E36369898", +"k c #43433B3B9F9F", +"l c #33332C2C7777", +"z c #42423A3A9C9C", +"x c #4A4A4040A8A8", +"c c #55554A4ABABA", +"v c #55554A4AB9B9", +"b c #54544949B7B7", +"n c #52524848B1B1", +"m c #51514747AEAE", +"M c #4E4E4545A9A9", +"N c #49494141A0A0", +"B c #52524848AFAF", +"V c #51514848AEAE", +"C c #50504747ACAC", +"Z c #4F4F4646AAAA", +"A c #51514848ADAD", +"S c #50504747ABAB", +"D c #50504848ACAC", +"F c #50504747A9A9", +"G c #4E4E4646A7A7", +"H c #4E4E4545A4A4", +"J c #4D4D4545A4A4", +"K c #4F4F4747A8A8", +"L c #4E4E4646A5A5", +"P c #4D4D4545A3A3", +"I c #3B3B35357D7D", +"U c #4E4E4646A3A3", +"Y c #55554D4D9F9F", +"T c #4A4A43438989", +"R c #51514B4B9090", +"E c #67676060A5A5", +"W c #1D1D18186A6A", +"Q c #272722227D7D", +"! c #282823237D7D", +"~ c #2B2B26268181", +"^ c #33332C2C8989", +"/ c #3B3B36368E8E", +"( c #454540409797", +") c #4D4D4646A4A4", +"_ c #4C4C4545A1A1", +"` c #4D4D4646A2A2", +"' c #4B4B4545A0A0", +"] c #4D4D4646A1A1", +"[ c #4C4C45459F9F", +"{ c #4B4B45459E9E", +"} c #4A4A44449C9C", +"| c #494944449898", +" . c #484843439696", +".. c #4A4A45459999", +"X. c #4F4F4A4AA0A0", +"o. c #68686363AAAA", +"O. c #21211D1D7676", +"+. c #242420207575", +"@. c #2D2D2A2A7F7F", +"#. c #2D2D2A2A7B7B", +"$. c #3D3D39398F8F", +"%. c #484844449696", +"&. c #474743439393", +"*. c #464643439191", +"=. c #454542428E8E", +"-. c #4D4D4A4A9C9C", +";. c #57575454A3A3", +":. c #5A5A58589797", +">. c #5F5F5D5D9999", +",. c #85858282C1C1", +"<. c #95959292C9C9", +"1. c #B8B8B6B6DCDC", +"2. c #070705055353", +"3. c #080807075555", +"4. c #0A0A09095757", +"5. c #0C0C0B0B5858", +"6. c #0F0F0D0D5C5C", +"7. c #10100F0F5C5C", +"8. c #131311116464", +"9. c #141413136060", +"0. c #141413135F5F", +"q. c #171715156767", +"w. c #161615156262", +"e. c #161615156161", +"r. c #181817176464", +"t. c #1A1A19196666", +"y. c #1C1C1A1A6464", +"u. c #1D1D1C1C6868", +"i. c #1F1F1E1E6A6A", +"p. c #222221216C6C", +"a. c #242423236F6F", +"s. c #272725257171", +"d. c #272726267272", +"f. c #272726267171", +"g. c #292928287474", +"h. c #2A2A29297474", +"j. c #2C2C2B2B7777", +"k. c #2F2F2E2E7C7C", +"l. c #2E2E2D2D7979", +"z. c #343433337E7E", +"x. c #393937378686", +"c. c #373736368181", +"v. c #3A3A39398484", +"b. c #3A3A39398383", +"n. c #3D3D3B3B8686", +"m. c #424241418C8C", +"M. c #424241418B8B", +"N. c #444442428B8B", +"B. c #434341418989", +"V. c #454544448E8E", +"C. c #454544448D8D", +"Z. c #424241418787", +"A. c #434342428888", +"S. c #444442428787", +"D. c #424241418585", +"F. c #414140408383", +"G. c #484847479090", +"H. c #434342428686", +"J. c #4A4A49499393", +"K. c #464645458A8A", +"L. c #4D4D4C4C9595", +"P. c #54545252A0A0", +"I. c #50504F4F9898", +"U. c #58585757A0A0", +"Y. c #525250509393", +"T. c #5B5B5959A2A2", +"R. c #585857579F9F", +"E. c #62626161A9A9", +"W. c #64646363ACAC", +"Q. c #6B6B6A6AB2B2", +"!. c #6B6B6A6AB1B1", +"~. c #75757474B8B8", +"^. c #7F7F7D7DBDBD", +"/. c #9C9C9B9BCFCF", +"(. c #0B0B0B0B5858", +"). c #0D0D0D0D5A5A", +"_. c #111111115E5E", +"`. c #131313136060", +"'. c #212121216D6D", +"]. c #242424246F6F", +"[. c #2B2B2C2C7777", +"{. c #2B2B2B2B7777", +"}. c #2C2C2C2C7777", +"|. c #2E2E2E2E7979", +" X c #313131317C7C", +".X c #313131317B7B", +"XX c #343434347E7E", +"oX c #3C3C3C3C8686", +"OX c #3F3F3F3F8989", +"+X c #414142428B8B", +"@X c #424242428B8B", +"#X c #474747479090", +"$X c #414141418484", +"%X c #404040408181", +"&X c #4A4A4A4A9494", +"*X c #4A4A4A4A9393", +"=X c #4D4D4D4D9696", +"-X c #4F4F4F4F9898", +";X c #505050509898", +":X c #525252529B9B", +">X c #555555559E9E", +",X c #555555559D9D", +".% + : vX1.1.cXmX/.dXaXaXsXpXiXQ.uXrXqX8X6X5XT.R.P.X.P ) H G K K S S S m o ", +"X D.$XD.D.D.D.D.S.6 & $ h bXvXvX1.xX/.kXfXaXsXpXiXQ.yXrXW.E.6X5X4XU.,X:XI.-.` L G G K F Z C C o ", +"X D.D.D.D.D.Z.H.6 & $ h h h bXvX1.cXmXkX,.dXpXiXQ.yXtXqXwX6X5XT.U.,X:XI.=X*X..` G K K Z S S m o ", +"X Z.D.Z.H.Z.Z.7 & $ h h nXh bXvX1.cXmXkX,.gXiXQ.uXrXW.E.6X5X4XU.,X:X-XL.J.#XV. .P G F S S C m o ", +"X Z.Z.Z.H.Z.R % + : bXh h h bXvX1.cX/.kXhX~.Q.yXrXqX9X6X5X4X2X,X:X;X=X*X#XV.M.OX( K Z S S C m o ", +"X Z.Z.Z.A.A.* & & vXvXbXbXbXvXvX1.xXlXjX^.pXuXrXeXwX6X5X4XU.,X:X-XL.*XG.V.@XOXoXb.( Z S C C V o ", +"X B.B.B.A.2 % % 1.1.vXvXvXvXvX1.cXzX<.,.gXiXrXW.E.6X5X4XU.,X:XI.=X*X#XV.@XOXn.b.c.x.N S S C m o ", +"X B.B.B.S.* % ; xX1.1.1.1.1.cXcXzXlXjX^.pXrXeX7X6X5X4XR.,X:X-XL.J.#XV.@XOXn.b.c.XX X$.S C C m o ", +"X N.N.N.2 O = /.mXxXcXcXcXcXxXzXlXjXhX~.uXeXE.6X5X4XU.,X:X-XL.J.#XV.M.OXn.v.c.z. X|.k.N D V f o ", +"X N.N.N.- @ > kX<././.mXzXzXlX<.jXhXgXuXeXE.6X5X4X1X,X:XI.L.*X#XV.m.OXn.b.c.z. Xl.j.g./ C m V o ", +"X N.N.R @ # ,.,.jXkXkX<.kXkXjX,.^.~.uXwXE.6X5X4X1X,X:XI.=XJ.#XC.M.OXn.v.c.z..X|.j.g.d.#.M m B o ", +"X =.M.< @ * fXfXhXhX,.,.,.hX^.gXpXuXqX9X6X5X4XU.,X:XI.L.*XG.V.+XOXn.b.c.z..X|.[.g.d.a.p.z V B o ", +"X =.N.- @ NXNXBXBXBXVXCXCXCXCXZXZXZXZXAXAXSXSXSXDXDXDXFXFXFXGXPXPXHXHXIXJXMXMXMXKXKXLXLXLXB d o ", +"X =.=.* @ 1 dXdXaXaXsXpXiX!.yXrXeXwX6X5X4XX:XI.L.*XG.V.m.OXoXv.c.z. X|.j.g.d.a.'.i.u.t.r.w.9.d n o ", +"X &.&.@ @ ~.sXpXiXQ.yXtXW.E.6X5X4X1X,X:XI.=X*X#XC.m.OXn.b.c.z. X|.[.g.f.a.p.i.u.t.r.w.9.0.n a o ", +"X &.&.@ @ NXNXBXBXVXVXVXCXCXCXZXZXZXZXAXAXSXSXSXDXDXDXFXFXGXGXPXPXHXIXIXJXMXMXKXKXKXLXLXLXn n o ", +"X %. .# @ q iXQ.yXrXW.0X6X5X4XU.>X:XI.L.*X#XV.@XOXn.b.c.XX.X|.{.g.f.].'.i.u.t.r.w.0._.7.W n a o ", +"X %. .* # , Q.yXtXeX7X6X5X4XU.,X:X-XL.*X#XV.@XOXn.b.c.XX Xl.{.g.d.a.p.i.u.t.r.e.0._.7.).+.a a o ", +"X | | - # NXNXNXBXVXVXCXCXCXCXZXZXZXAXAXAXAXSXSXDXDXDXFXFXGXGXPXPXHXHXIXJXMXMXMXKXKXLXLXLXa a o ", +"X | | < # - rXeX9X6X5X4XU.,X:X-XL.*X#XC.@XOXoXb.c.z. X|.j.h.s.a.'.i.u.t.r.w.9._.7.).5.4.j a p o ", +"X | } Y # * 9 8X6X5X4X3X,X:XI.=X*XG.V.@XOXn.v.c.XX X|.j.g.f.a.p.i.u.t.r.e.0._.7.).5.4.q.i g p o ", +"X } } | - # , 6X5X4XR.,X:XI.=X*XG.V.m.OXoXb.c.XX X|.j.g.f.a.p.i.u.t.r.e.9._.7.).5.4.3.~ a s s o ", +"X } } } 4 # - E 4XU.>X:X-X=XJ.#XV.M.OXoXb.c.XX X|.{.h.d.a.'.i.u.t.r.e.9._.7.).5.4.3.6.z p s s o ", +"X { { } } - # < U.,X:XI.=X*XG.V.+XOXoXb.c.z. X|.}.g.d.a.'.i.u.t.r.w.0._.7.).5.4.3.2.! g p s s o ", +"X [ { ' [ 4 * - E :X;XL.J.#XV.m.OXoXb.c.z..X|.j.h.f.a.'.i.u.t.r.w.9._.6.).(.4.3.2.8.k p s s s o ", +"X [ [ ' _ [ , * , ;XL.J.#XV.@XOXoXv.c.z..X|.{.g.f.a.p.i.u.t.r.w.`._.7.).(.4.3.2.2.^ s p s s s o ", +"X _ _ _ _ P ] - * 2 *X#XV.m.OXn.v.c.XX X|.j.h.f.a.p.i.u.t.r.w.`._.7.).(.4.3.2.2.Q p s s s b u o ", +"X ` ` ` ` ` ` 8 - - 7 V.@XOXoXv.c.XX.X|.j.g.d.a.'.i.u.t.r.w.0._.7.).5.4.3.2.2.O.x p s s s u u o ", +"X P P ) P U U ) 8 - - 7 OXn.v.c.XX X|.j.h.f.a.p.i.u.t.r.w.0._.7.).5.4.3.2.2.O.x s s s s b u u o ", +"X L L ) H ) L L L 8 1 - 7 b.c.z. X|.j.h.f.a.'.i.u.t.r.w.0._.7.).5.4.3.2.2.Q x p s s s b b u e o ", +"X L G L G G G G G G G , * 2 T .Xl.j.h.f.a.p.i.u.t.r.e.0._.7.).5.4.3.2.8.^ p p s s s s u u e e o ", +"X G G G G G G G K K M M 4 , , 3 I g.d.a.p.i.u.t.r.e.`._.7.).5.4.3.7.! k p s p s s s u u u e v o ", +"X K G K K K K K K Z Z M F F 4 , < 3 I p.i.u.t.r.w.9._.7.).5.4.W ~ z a p p s s b s u u u e e e o ", +"X F Z F F F F Z Z F F S S S S S w 9 < 2 5 0 l p.e.9.y.a.l ^ j i a p p p s s b b b u e v y r e o ", +"X S Z Z S Z S Z S S S S S C C C A m d V f m B m B d d n d a a a p s p s s b u u u u e v e r t o ", +"X S S S S S S S S S S C C C m m A V V B B B d d d n n a a a p p s p s s b u u u e e e c t r t o ", +"X C C C C C C C C m C A m A m f V f f B d d d n n n a a a a s s s s s u b u u u u v t t r t t o ", +"YXo o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o YX" +}; diff --git a/features/org.eclipse.equinox.executable.feature/contributed/motif/solaris/sparc/Eclipse.m.pm b/features/org.eclipse.equinox.executable.feature/contributed/motif/solaris/sparc/Eclipse.m.pm new file mode 100644 index 000000000..e64aa0cc0 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/contributed/motif/solaris/sparc/Eclipse.m.pm @@ -0,0 +1,295 @@ +/* XPM */ +static char *ProductIcon32[] = { +/* columns rows colors chars-per-pixel */ +"32 32 257 2", +" c black", +". c gray100", +"X c #69695A5AE8E8", +"o c #494949499191", +"O c #E8E8CBCBE0E0", +"+ c #DDDDB3B3D2D2", +"@ c #F0F0DDDDEBEB", +"# c #CDCD9191BEBE", +"$ c #C8C88B8BBBBB", +"% c #CACA9898C2C2", +"& c #C3C38A8ABBBB", +"* c #BABA8787B9B9", +"= c #DCDCC4C4DEDE", +"- c #C5C5A3A3CACA", +"; c #ADAD8181B8B8", +": c #A3A37A7AB5B5", +"> c #E2E2D6D6E9E9", +", c #B3B39A9AC4C4", +"< c #EBEBE3E3F0F0", +"1 c #C9C9B6B6D6D6", +"2 c #96967676B8B8", +"3 c #8C8C7171ABAB", +"4 c #A4A49292BEBE", +"5 c #7D7D6565A6A6", +"6 c #83836D6DABAB", +"7 c #9A9A8787C2C2", +"8 c #7B7B6464B7B7", +"9 c #5E5E50509191", +"0 c #646457579A9A", +"q c #85857B7BBEBE", +"w c #7C7C7373B6B6", +"e c #62625353D5D5", +"r c #61615353D4D4", +"t c #60605252D1D1", +"y c #5F5F5252D0D0", +"u c #5F5F5151CFCF", +"i c #60605353D2D2", +"p c #5F5F5252CFCF", +"a c #5E5E5151CDCD", +"s c #5C5C4F4FC7C7", +"d c #5F5F5252CDCD", +"f c #5E5E5151CBCB", +"g c #5B5B4F4FC4C4", +"h c #5A5A4E4EC1C1", +"j c #71716969B0B0", +"k c #48483E3EADAD", +"l c #5D5D5151CDCD", +"z c #5C5C5050C9C9", +"x c #5D5D5151CBCB", +"c c #5C5C5050C7C7", +"v c #5B5B4F4FC6C6", +"b c #5B5B5050C6C6", +"n c #59594E4EC1C1", +"m c #58584D4DBFBF", +"M c #59594F4FC2C2", +"N c #5A5A4F4FC2C2", +"B c #58584D4DBCBC", +"V c #57574D4DBCBC", +"C c #59594E4EBEBE", +"Z c #58584E4EBDBD", +"A c #58584D4DBBBB", +"S c #57574D4DBABA", +"D c #56564D4DB9B9", +"F c #56564C4CB6B6", +"G c #55554C4CB6B6", +"H c #54544B4BB4B4", +"J c #54544B4BB1B1", +"K c #53534B4BB1B1", +"L c #52524A4AAEAE", +"P c #51514949ACAC", +"I c #51514949ABAB", +"U c #474741418787", +"Y c #32322C2C8F8F", +"T c #2B2B25257777", +"R c #36362F2F9696", +"E c #2B2B26266E6E", +"W c #4D4D4545ACAC", +"Q c #55554D4DB8B8", +"! c #54544C4CB4B4", +"~ c #54544C4CB3B3", +"^ c #51514A4AACAC", +"/ c #51514A4AABAB", +"( c #50504949A9A9", +") c #4F4F4949A6A6", +"_ c #4C4C4747A1A1", +"` c #4E4E4848A3A3", +"' c #4D4D4848A1A1", +"] c #4B4B46469C9C", +"[ c #4C4C47479E9E", +"{ c #51514C4CA6A6", +"} c #A9A9A6A6D5D5", +"| c #1E1E1A1A6666", +" . c #292925258181", +".. c #3D3D39399292", +"X. c #4A4A46469B9B", +"o. c #53534E4EABAB", +"O. c #494945459797", +"+. c #4A4A46469999", +"@. c #474744449494", +"#. c #484845459494", +"$. c #474744449292", +"%. c #464643439090", +"&. c #464642428D8D", +"*. c #54545050A9A9", +"=. c #474744448F8F", +"-. c #4C4C49499999", +";. c #57575454A6A6", +":. c #5B5B5757AAAA", +">. c #545451519B9B", +",. c #5A5A57579C9C", +"<. c #65656262A7A7", +"1. c #68686666A2A2", +"2. c #CACAC9C9E5E5", +"3. c #050504045151", +"4. c #080807075454", +"5. c #0A0A09095858", +"6. c #0C0C0A0A5858", +"7. c #10100E0E6262", +"8. c #0E0E0D0D5A5A", +"9. c #121211115D5D", +"0. c #131312125D5D", +"q. c #161615156161", +"w. c #171716166161", +"e. c #1A1A19196565", +"r. c #20201E1E7070", +"t. c #1E1E1D1D6969", +"y. c #2A2A29297676", +"u. c #2F2F2D2D7676", +"i. c #3A3A39398787", +"p. c #3A3A39398383", +"a. c #3F3F3E3E8888", +"s. c #414140408989", +"d. c #454543438D8D", +"f. c #444442428B8B", +"g. c #444443438C8C", +"h. c #434342428A8A", +"j. c #434341418888", +"k. c #434342428989", +"l. c #424241418787", +"z. c #434342428787", +"x. c #424241418585", +"c. c #41413F3F8181", +"v. c #414140408282", +"b. c #484846468D8D", +"n. c #494948489090", +"m. c #4B4B4A4A9191", +"M. c #4B4B49498E8E", +"N. c #525251519A9A", +"B. c #525251519999", +"V. c #565654549A9A", +"C. c #545453539494", +"Z. c #60605F5FA7A7", +"A. c #64646363ABAB", +"S. c #5A5A59599797", +"D. c #68686767ADAD", +"F. c #6C6C6B6BB2B2", +"G. c #5E5E5D5D9A9A", +"H. c #76767575BABA", +"J. c #78787777BBBB", +"K. c #76767474B5B5", +"L. c #7E7E7D7DBABA", +"P. c #A5A5A4A4D2D2", +"I. c #040404045252", +"U. c #070707075454", +"Y. c #070708085353", +"T. c #080808085454", +"R. c #0A0A0B0B5757", +"E. c #0E0E0E0E5A5A", +"W. c #111112125E5E", +"Q. c #111111115E5E", +"!. c #111111115D5D", +"~. c #111112125D5D", +"^. c #161616166868", +"/. c #151516166161", +"(. c #151515156161", +"). c #19191A1A6565", +"_. c #191919196565", +"`. c #1A1A1A1A6464", +"'. c #1D1D1E1E6969", +"]. c #1E1E1E1E6969", +"[. c #222222226D6D", +"{. c #272727277171", +"}. c #2B2B2C2C7676", +"|. c #2B2B2B2B7676", +" X c #2B2B2B2B7575", +".X c #303030307A7A", +"XX c #303030307979", +"oX c #353535357F7F", +"OX c #393939398383", +"+X c #3A3A3A3A8383", +"@X c #3F3F3F3F8787", +"#X c #434343438C8C", +"$X c #434344448C8C", +"%X c #424242428686", +"&X c #414141418484", +"*X c #484848489191", +"=X c #484849499090", +"-X c #4D4D4D4D9696", +";X c #515151519D9D", +":X c #4D4D4D4D9595", +">X c #515152529A9A", +",X c #515152529999", +".-.+.] [ _ ` ) ( ^ L K H G D V C h o ", +"X &Xv.&Xx.x.l.j.M.1.4 - - , 7 q J.H.K.j :.*.P L K H F S B C n o ", +"X x.&Xx.x.z.j.S., = = 1 } iXuXH.rXwXF.qX7XZ.;.o.J ! F S B m n o ", +"X x.l.z.%Xz.G.1 @ > 2.dXaXiXuXrXwXF.qX8X5X4X2X;X{ H F S V C n o ", +"X z.j.j.j.C.1 @ < gX2.fXaXpXuXwXeX9X7X5X4X2XN.:X*X_ D S Z m h o ", +"X k.k.h.b., O > gXgX2.dXaXiXyXF.D.A.Z.4X3X1X:Xn.g.a._ V B m N o ", +"X f.f.f.3 + = 2.2.2.fXsXpXhXtXD.8XZ.4X2X1X:X*X$X@Xp.i.W C n N o ", +"X d.&.%.% + 1 dXdXdXsXP.iXyXK.8X5X4X2X>X:X*Xg.a.+XoX.X..m n N o ", +"X %.=.5 % - P.} aXP.pXiXyXK.D.Z.4X3X1X-Xn.$X@X+XoX.X Xy.W h g o ", +"X $.$.: # PXIXGXGXLXJXFXFXSXvXAXcXZXxXVXCXzXzXBXMXkXmXnXjXh g o ", +"X #.@.* $ 7 yXuXyXtXL.K.D.6X4X2X1X:Xo g.a.OXoX.X|.{.[.t. .g v o ", +"X O.#.$ $ q H.rXwXF.0XA.6X4X2X1X:Xo $Xa.p.oX.X|.{.[.'.`.r.g b o ", +"X X.+.$ $ PXKXbXbXLXJXDXFXSXvXAXcXZXxXCXCXzXBXBXMXNXmXlXjXb c o ", +"X ] ] $ $ H.wXF.0X7X6X4X2XX:Xo #Xa.+XoXXX|.{.[.t._.q.~.E.R.4.5.k x a o ", +"X ( ( I ; * 6 2X>X:X=X$X@X+XoX.X|.{.[.t.e./.W.E.R.Y.3. .z a a o ", +"X I ^ / 8 * : 0 :X*X#X@X+XoX.X|.{.[.'._.(.~.E.R.T.3.7.k x a p o ", +"X L L L ^ 2 * 3 m.$Xa.p.oX.X}.{.[.t.).(.~.E.6.T.3.I.R x a a y o ", +"X J K K K K 2 * 5 s.OXoX.X}.{.[.'._.(.9.8.R.4.3.I.Y x l a p t o ", +"X ~ H H ! ! ! 2 ; 5 U XX}.{.[.].e.(.W.E.R.U.3.7.R x l u u y t o ", +"X G F G G G Q Q 8 : 3 9 u.[.]._./.Q.E.R.T.6. .k x a a u t t t o ", +"X D S D S D S S S V 8 2 6 9 c.E w.0.| T Y k z z a a p t t i r o ", +"X A V B V V V B B m m n n h h g g g c z z z l l d p y t i r r o ", +"X m C C C C C C C n n n M N g g b c z z x a a a u y t t r r e o ", +"X n n n n n h h h N N g g v b s z z z x a p p u t t r r r e e o ", +"YXo o o o o o o o o o o o o o o o o o o o o o o o o o o o o o YX" +}; diff --git a/features/org.eclipse.equinox.executable.feature/contributed/motif/solaris/sparc/Eclipse.s.pm b/features/org.eclipse.equinox.executable.feature/contributed/motif/solaris/sparc/Eclipse.s.pm new file mode 100644 index 000000000..e2b9379f3 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/contributed/motif/solaris/sparc/Eclipse.s.pm @@ -0,0 +1,287 @@ +/* XPM */ +static char *ProductIcon24[] = { +/* columns rows colors chars-per-pixel */ +"24 24 257 2", +" c black", +". c gray100", +"X c #69695A5AE8E8", +"o c #494949499191", +"O c #F1F1DFDFECEC", +"+ c #D7D7ACACCDCD", +"@ c #DFDFBBBBD6D6", +"# c #E2E2C4C4DBDB", +"$ c #CECE9C9CC4C4", +"% c #C4C48B8BBABA", +"& c #C2C28A8ABABA", +"* c #C4C48E8EBCBC", +"= c #BFBF8A8AB9B9", +"- c #EBEBD9D9E9E9", +"; c #BFBF8888B9B9", +": c #D8D8B9B9D6D6", +"> c #B9B98686B9B9", +", c #B8B88989B9B9", +"< c #BBBB9393BFBF", +"1 c #A9A97B7BB2B2", +"2 c #E4E4D4D4E7E7", +"3 c #C6C6AFAFCECE", +"4 c #A6A68080B6B6", +"5 c #A2A27E7EB4B4", +"6 c #9E9E7E7EB1B1", +"7 c #ABAB9090BBBB", +"8 c #B7B7A0A0C5C5", +"9 c #9D9D7C7CB2B2", +"0 c #AAAA8B8BBEBE", +"q c #AAAA9090BCBC", +"w c #8C8C6B6BABAB", +"e c #90907070B1B1", +"r c #C4C4B3B3D7D7", +"t c #CDCDBFBFDDDD", +"y c #EAEAE4E4F1F1", +"u c #88886A6AADAD", +"i c #9E9E8585C1C1", +"p c #84846A6AAFAF", +"a c #81816B6BAAAA", +"s c #D7D7CFCFE6E6", +"d c #81816969B1B1", +"f c #78786363A5A5", +"g c #6E6E5D5D9C9C", +"h c #717160609D9D", +"j c #83837474AAAA", +"k c #6A6A5757A3A3", +"l c #6E6E5E5EA0A0", +"z c #5E5E50509292", +"x c #88887B7BBCBC", +"c c #68685858ABAB", +"v c #5A5A4D4DA2A2", +"b c #7D7D7373B4B4", +"n c #5A5A4E4EA6A6", +"m c #5F5F56569595", +"M c #56564A4ABBBB", +"N c #56564949B9B9", +"B c #55554949B8B8", +"V c #53534848B3B3", +"C c #54544949B4B4", +"Z c #52524747B0B0", +"A c #52524747AFAF", +"S c #5B5B53539393", +"D c #3E3E36369797", +"F c #49494040A6A6", +"G c #48484040A5A5", +"H c #55554A4ABABA", +"J c #54544949B7B7", +"K c #53534949B4B4", +"L c #51514747AFAF", +"P c #52524848B1B1", +"I c #51514848B0B0", +"U c #51514848AEAE", +"Y c #51514747ADAD", +"T c #51514848ADAD", +"R c #4F4F4747ABAB", +"E c #50504747ABAB", +"W c #50504646A9A9", +"Q c #4F4F4646A8A8", +"! c #4E4E4646A7A7", +"~ c #4E4E4545A4A4", +"^ c #4D4D4545A4A4", +"/ c #4E4E4646A5A5", +"( c #4D4D4545A1A1", +") c #3D3D36367E7E", +"_ c #4B4B44449C9C", +"` c #2A2A25257F7F", +"' c #3E3E37379898", +"] c #474740409C9C", +"[ c #4D4D4646A4A4", +"{ c #4C4C4545A2A2", +"} c #4D4D4646A2A2", +"| c #4D4D4646A1A1", +" . c #4B4B45459F9F", +".. c #4C4C45459F9F", +"X. c #4C4C46469F9F", +"o. c #4B4B45459D9D", +"O. c #494943439898", +"+. c #494944449A9A", +"@. c #4A4A45459A9A", +"#. c #494944449898", +"$. c #484843439696", +"%. c #494944449797", +"&. c #484843439595", +"*. c #51514C4CA1A1", +"=. c #6B6B6767AEAE", +"-. c #95959191C9C9", +";. c #23231F1F7676", +":. c #21211E1E7070", +">. c #292925257F7F", +",. c #252521217070", +"<. c #242421216D6D", +"1. c #2B2B27278080", +"2. c #393935358C8C", +"3. c #444440409494", +"4. c #3B3B38388282", +"5. c #474743439494", +"6. c #484844449595", +"7. c #474743439393", +"8. c #474744449393", +"9. c #464643439191", +"0. c #454542428F8F", +"q. c #4A4A47479898", +"w. c #464643438F8F", +"e. c #454542428D8D", +"r. c #444441418B8B", +"t. c #484844449191", +"y. c #444441418989", +"u. c #494946469090", +"i. c #4C4C48489393", +"p. c #51514E4E9E9E", +"a. c #73737070B6B6", +"s. c #77777474BBBB", +"d. c #A0A09E9ED1D1", +"f. c #D6D6D5D5EBEB", +"g. c #0E0E0D0D5A5A", +"h. c #11110F0F5E5E", +"j. c #121211115E5E", +"k. c #131312125F5F", +"l. c #171716166363", +"z. c #1D1D1B1B6868", +"x. c #1D1D1C1C6868", +"c. c #222221216E6E", +"v. c #222221216D6D", +"b. c #282827277474", +"n. c #282827277373", +"m. c #292928287373", +"M. c #2F2F2E2E7979", +"N. c #353534347F7F", +"B. c #363635358181", +"V. c #3C3C3B3B8585", +"C. c #424241418C8C", +"Z. c #424241418B8B", +"A. c #444442428B8B", +"S. c #434341418989", +"D. c #434342428989", +"F. c #424241418787", +"G. c #414140408484", +"H. c #474745458D8D", +"J. c #434342428787", +"K. c #424241418585", +"L. c #414140408282", +"P. c #494948489191", +"I. c #4F4F4E4E9797", +"U. c #59595757A6A6", +"Y. c #5F5F5D5DA4A4", +"T. c #6C6C6B6BB3B3", +"R. c #7C7C7B7BB9B9", +"E. c #A8A8A7A7D3D3", +"W. c #0D0D0D0D5A5A", +"Q. c #1F1F1F1F6C6C", +"!. c #222222226E6E", +"~. c #3B3B3B3B8585", +"^. c #414141418C8C", +"/. c #414141418B8B", +"(. c #424242428B8B", +"). c #484848489292", +"_. c #404040408181", +"`. c #4E4E4E4E9898", +"'. c #555555559E9E", +"]. c #555555559D9D", +"[. c #5B5B5B5BA3A3", +"{. c #5C5C5C5CA3A3", +"}. c #61616161A9A9", +"|. c #66666666AEAE", +" X c #66666666ADAD", +".X c #6B6B6B6BB2B2", +"XX c #70707070B7B7", +"oX c #6A6A6A6AADAD", +"OX c #74747474BBBB", +"+X c #89898989C2C2", +"@X c #90909090C8C8", +"#X c #8F8F8F8FC6C6", +"$X c #92929292C6C6", +"%X c #9F9F9F9FCFCF", +"&X c #A5A5A5A5D2D2", +"*X c #B5B5B5B5DBDB", +"=X c #B8B8B8B8DEDE", +"-X c #B7B7B7B7DCDC", +";X c #BBBBBBBBDEDE", +":X c #BDBDBDBDDFDF", +">X c #C9C9C9C9E5E5", +",X c #D1D1D1D1EAEA", +"X*X%X+X|.}.[.].I.P.^.~.B.] E Y o ", +"X e.u.q @ t :X-XE.$X 5 Y.].I.)./.~.N.M.b.v.x.l.k.h.' V C o ", +"X o.o.o.u , a I.).Z.V.N.M.n.c.z.l.j.W.` P V C o ", +"X .. .X.v e 4 l ^.V.N.M.m.!.x.l.j.g.;.F V C J o ", +"X ( | ( ( n p 9 g 4.M.n.c.x.l.j.h.>.G V K C J o ", +"X ~ [ [ ^ / / c d f z ) <.z.,.1.D P V C C B B o ", +"X ! Q ! Q Q Q Q W E E Y T A Z P V V K C J B B o ", +"X Q W Q W R W E E T T T L Z P V V K J J J B N o ", +"X R E E E E E Y Y U L Z P P P C V J J B B H M o ", +"YXo o o o o o o o o o o o o o o o o o o o o o YX" +}; diff --git a/features/org.eclipse.equinox.executable.feature/contributed/motif/solaris/sparc/Eclipse.t.pm b/features/org.eclipse.equinox.executable.feature/contributed/motif/solaris/sparc/Eclipse.t.pm new file mode 100644 index 000000000..3f6b21f42 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/contributed/motif/solaris/sparc/Eclipse.t.pm @@ -0,0 +1,279 @@ +/* XPM */ +static char *ProductIcon16[] = { +/* columns rows colors chars-per-pixel */ +"16 16 257 2", +" c black", +". c gray100", +"X c #E2E2C0C0D9D9", +"o c #EDEDD9D9E8E8", +"O c #D5D5ABABCDCD", +"+ c #E2E2C3C3DCDC", +"@ c #C5C58E8EBCBC", +"# c #D4D4ABABCDCD", +"$ c #CACA9F9FC6C6", +"% c #D6D6B4B4D3D3", +"& c #CACAA0A0C8C8", +"* c #C6C69D9DC6C6", +"= c #C5C59F9FC8C8", +"- c #CCCCACACCECE", +"; c #CCCCB0B0D3D3", +": c #A6A68383B3B3", +"> c #BABA9A9AC6C6", +", c #B7B79A9AC2C2", +"< c #E3E3D5D5E9E9", +"1 c #B0B08E8EC0C0", +"2 c #9F9F8080B8B8", +"3 c #AFAF9898C1C1", +"4 c #DBDBCFCFE5E5", +"5 c #96967878B2B2", +"6 c #9A9A7E7EBABA", +"7 c #8E8E7878AFAF", +"8 c #91917F7FBDBD", +"9 c #D3D3CCCCE4E4", +"0 c #535348488B8B", +"q c #69695A5AE8E8", +"w c #55554949B9B9", +"e c #55554949B8B8", +"r c #54544848B6B6", +"t c #53534848B4B4", +"y c #54544848B4B4", +"u c #53534848B3B3", +"i c #53534848B2B2", +"p c #52524747AFAF", +"a c #53534848B1B1", +"s c #54544949B8B8", +"d c #54544949B6B6", +"f c #52524848B3B3", +"g c #52524848B2B2", +"h c #53534949B3B3", +"j c #52524848B1B1", +"k c #52524848B0B0", +"l c #51514747AEAE", +"z c #52524848AFAF", +"x c #51514848AEAE", +"c c #51514747ADAD", +"v c #51514747ACAC", +"b c #4F4F4646AAAA", +"n c #51514848ADAD", +"m c #50504747ABAB", +"M c #50504747AAAA", +"N c #4F4F4646A8A8", +"B c #50504747A9A9", +"V c #4E4E4646A7A7", +"C c #4E4E4646A6A6", +"Z c #4F4F4646A6A6", +"A c #4F4F4747A7A7", +"S c #4D4D4545A3A3", +"D c #4D4D4545A2A2", +"F c #4C4C45459E9E", +"G c #74746E6EB3B3", +"H c #2E2E29298383", +"J c #383832329090", +"K c #464640409999", +"L c #4D4D4646A2A2", +"P c #4E4E4747A3A3", +"I c #4B4B45459F9F", +"U c #4B4B45459E9E", +"Y c #4C4C46469F9F", +"T c #4A4A44449B9B", +"R c #4A4A44449A9A", +"E c #494943439797", +"W c #494944449797", +"Q c #484843439494", +"! c #78787474B8B8", +"~ c #272724247878", +"^ c #2D2D2A2A7575", +"/ c #484844449797", +"( c #474743439393", +") c #454542429090", +"_ c #4B4B48489A9A", +"` c #464643438F8F", +"' c #464643438E8E", +"] c #454542428C8C", +"[ c #51514D4DA0A0", +"{ c #5C5C5959A5A5", +"} c #535350509090", +"| c #C8C8C7C7E3E3", +" . c #121211115D5D", +".. c #1A1A19196565", +"X. c #242422226D6D", +"o. c #3F3F3E3E8888", +"O. c #444442428D8D", +"+. c #444442428989", +"@. c #424241418787", +"#. c #454543438A8A", +"$. c #434342428888", +"%. c #424241418686", +"&. c #414140408484", +"*. c #414140408383", +"=. c #424240408383", +"-. c #414140408282", +";. c #474746468D8D", +":. c #464644448989", +">. c #525251519999", +",. c #64646363AAAA", +"<. c #61615F5FA2A2", +"1. c #6E6E6C6CB2B2", +"2. c #A5A5A4A4D3D3", +"3. c #B0B0AFAFD6D6", +"4. c #111112125D5D", +"5. c #19191A1A6565", +"6. c #1E1E1E1E6C6C", +"7. c #222222226D6D", +"8. c #2B2B2B2B7676", +"9. c #2B2B2B2B7575", +"0. c #2B2B2C2C7575", +"q. c #343435357F7F", +"w. c #343435357E7E", +"e. c #353535357F7F", +"r. c #3E3E3E3E8888", +"t. c #3E3E3E3E8787", +"y. c #414141418484", +"u. c #404040408282", +"i. c #484849499191", +"p. c #494949499191", +"a. c #484848489090", +"s. c #484849499090", +"d. c #404040408080", +"f. c #525252529A9A", +"g. c #525252529999", +"h. c #5B5B5B5BA3A3", +"j. c #5B5B5B5BA2A2", +"k. c #64646464ABAB", +"l. c #63636464AAAA", +"z. c #6B6B6C6CB2B2", +"x. c #72727373B9B9", +"c. c #71717171A4A4", +"v. c #78787878ABAB", +"b. c #7F7F7F7FB1B1", +"n. c #8C8C8C8CBEBE", +"m. c #A5A5A5A5D2D2", +"M. c #C9C9C9C9E5E5", +"N. c #85858686B7B7", +"B. c #91919292C4C4", +"V. c #71718989BCBC", +"C. c #73738B8BBEBE", +"Z. c #75758D8DC0C0", +"A. c #78789090C3C3", +"S. c #7A7A9292C5C5", +"D. c #71718A8ABDBD", +"F. c #76768E8EC0C0", +"G. c #78789090C2C2", +"H. c #7B7B9393C5C5", +"J. c #7D7D9595C7C7", +"K. c #80809999CACA", +"L. c #7E7E9696C7C7", +"P. c #83839B9BCDCD", +"I. c #83839B9BCCCC", +"U. c #86869E9ECFCF", +"Y. c #8888A1A1D1D1", +"T. c #8A8AA2A2D3D3", +"R. c #8989A1A1D1D1", +"E. c #8B8BA3A3D3D3", +"W. c gray100", +"Q. c black", +"!. c black", +"~. c black", +"^. c black", +"/. c black", +"(. c black", +"). c black", +"_. c black", +"`. c black", +"'. c black", +"]. c black", +"[. c black", +"{. c black", +"}. c black", +"|. c black", +" X c black", +".X c black", +"XX c black", +"oX c black", +"OX c black", +"+X c black", +"@X c black", +"#X c black", +"$X c black", +"%X c black", +"&X c black", +"*X c black", +"=X c black", +"-X c black", +";X c black", +":X c black", +">X c black", +",X c black", +"._ A m p.", +"q +.: X < M.m.z.l.j.g.s.r.K v p.", +"q ' $ + 9 | 3.B.n.N.b.v.c.<.n p.", +"q ` O T.Y.U.P.K.L.S.G.F.C.D.l p.", +"q ( # @ G k.h.g.i.t.e.9.7.6.z p.", +"q / * E.R.U.I.K.J.H.A.Z.C.V.a p.", +"q T 2 & 5 f.a.o.q.8.7...4.J u p.", +"q I Y 1 = 7 ;.w.0.7.5. .H f y p.", +"q L D P 6 > 3 0 ^ X.~ J i t d p.", +"q C C V A N M m n p k g y r e p.", +"q M b M m m c x p j h y d s w p.", +"YXp.p.p.p.p.p.p.p.p.p.p.p.p.p.YX" +}; diff --git a/features/org.eclipse.equinox.executable.feature/cp-content.xsl b/features/org.eclipse.equinox.executable.feature/cp-content.xsl new file mode 100644 index 000000000..6ec358664 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/cp-content.xsl @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/features/org.eclipse.equinox.executable.feature/eclipse_update_120.jpg b/features/org.eclipse.equinox.executable.feature/eclipse_update_120.jpg new file mode 100644 index 000000000..bfdf708ad Binary files /dev/null and b/features/org.eclipse.equinox.executable.feature/eclipse_update_120.jpg differ diff --git a/features/org.eclipse.equinox.executable.feature/feature.properties b/features/org.eclipse.equinox.executable.feature/feature.properties new file mode 100644 index 000000000..1ea4e2555 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/feature.properties @@ -0,0 +1,24 @@ +############################################################################### +# Copyright (c) 2000, 2012 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Eclipse Platform Launcher Executables + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse.org + +# "description" property - description of the feature +description=Platform specific launchers. diff --git a/features/org.eclipse.equinox.executable.feature/feature.xml b/features/org.eclipse.equinox.executable.feature/feature.xml new file mode 100644 index 000000000..85b33f943 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/feature.xml @@ -0,0 +1,194 @@ + + + + + %description + + + + %license + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/features/org.eclipse.equinox.executable.feature/gtk_root/about.html b/features/org.eclipse.equinox.executable.feature/gtk_root/about.html new file mode 100644 index 000000000..3e4542a0b --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/gtk_root/about.html @@ -0,0 +1,19 @@ + + + +About + + + +

About This Content

+ +

February 22, 2006

+

License

+ +

This directory contains third-party libraries that are required by the Eclipse launcher. Refer below for further information.

+ +

None

+ + + + diff --git a/features/org.eclipse.equinox.executable.feature/library/carbon/.cvsignore b/features/org.eclipse.equinox.executable.feature/library/carbon/.cvsignore new file mode 100644 index 000000000..f0fdae47c --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/carbon/.cvsignore @@ -0,0 +1,3 @@ +*.o +eclipse +*.so diff --git a/features/org.eclipse.equinox.executable.feature/library/carbon/build.sh b/features/org.eclipse.equinox.executable.feature/library/carbon/build.sh new file mode 100644 index 000000000..ac923d2ff --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/carbon/build.sh @@ -0,0 +1,100 @@ +#!/bin/sh +#******************************************************************************* +# Copyright (c) 2000, 2009 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +# Kevin Cornell (Rational Software Corporation) +#******************************************************************************* +# +# Usage: sh build.sh [] [clean] +# +# where the optional switches are: +# -output - executable filename ("eclipse") +# -os - default Eclipse "-os" value +# -arch - default Eclipse "-arch" value +# -ws - default Eclipse "-ws" value +# +# +# This script can also be invoked with the "clean" argument. + +cd `dirname $0` + +# Define default values for environment variables used in the makefiles. +programOutput="eclipse" +defaultOS="macosx" +defaultOSArch="x86" +defaultWS="carbon" +makefile="make_carbon.mak" +if [ "$OS" = "" ]; then + OS=`uname -s` +fi + +# Parse the command line arguments and override the default values. +extraArgs="" +while [ "$1" != "" ]; do + if [ "$1" = "-os" ] && [ "$2" != "" ]; then + defaultOS="$2" + shift + elif [ "$1" = "-arch" ] && [ "$2" != "" ]; then + defaultOSArch="$2" + shift + elif [ "$1" = "-ws" ] && [ "$2" != "" ]; then + defaultWS="$2" + shift + elif [ "$1" = "-output" ] && [ "$2" != "" ]; then + programOutput="$2" + shift + else + extraArgs="$extraArgs $1" + fi + shift +done + +# Set up environment variables needed by the makefiles. +PROGRAM_OUTPUT="$programOutput" +DEFAULT_OS="$defaultOS" +DEFAULT_OS_ARCH="$defaultOSArch" +DEFAULT_WS="$defaultWS" +EXEC_DIR=../../../../../rt.equinox.binaries/org.eclipse.equinox.executable +PPC_OUTPUT_DIR="$EXEC_DIR/bin/$defaultWS/$defaultOS/ppc/Eclipse.app/Contents/MacOS" +X86_OUTPUT_DIR="$EXEC_DIR/bin/$defaultWS/$defaultOS/x86/Eclipse.app/Contents/MacOS" +X86_64_OUTPUT_DIR="$EXEC_DIR/bin/$defaultWS/$defaultOS/x86_64/Eclipse.app/Contents/MacOS" + +if [ "$DEFAULT_WS" == "cocoa" ]; then + makefile="make_cocoa.mak" + export MACOSX_DEPLOYMENT_TARGET=10.5 +else + export MACOSX_DEPLOYMENT_TARGET=10.3 +fi + +if [ "$DEFAULT_OS_ARCH" == "x86_64" ]; then + echo "build x86_64" + ARCHS="-arch x86_64" + PROGRAM_OUTPUT_DIR=$X86_64_OUTPUT_DIR + DEFAULT_OS_ARCH="x86_64" +else + echo "build x86 and ppc" + ARCHS="-arch i386 -arch ppc" + PROGRAM_OUTPUT_DIR=$X86_OUTPUT_DIR +fi + +export PPC_OUTPUT_DIR X86_OUTPUT_DIR X86_64_OUTPUT_DIR PROGRAM_OUTPUT DEFAULT_OS DEFAULT_OS_ARCH DEFAULT_WS ARCHS PROGRAM_OUTPUT_DIR + +# If the OS is supported (a makefile exists) +if [ "$makefile" != "" ]; then + if [ "$extraArgs" != "" ]; then + make -f $makefile $extraArgs + else + echo "Building $OS launcher. Defaults: -os $DEFAULT_OS -arch $DEFAULT_OS_ARCH -ws $DEFAULT_WS" + make -f $makefile clean + make -f $makefile all + make -f $makefile install + fi +else + echo "Unknown OS ($OS) -- build aborted" +fi diff --git a/features/org.eclipse.equinox.executable.feature/library/carbon/build.xml b/features/org.eclipse.equinox.executable.feature/library/carbon/build.xml new file mode 100644 index 000000000..990298e64 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/carbon/build.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/features/org.eclipse.equinox.executable.feature/library/carbon/eclipseCarbon.c b/features/org.eclipse.equinox.executable.feature/library/carbon/eclipseCarbon.c new file mode 100644 index 000000000..29348fc56 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/carbon/eclipseCarbon.c @@ -0,0 +1,855 @@ +/* + * Copyright (c) 2000, 2010 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Andre Weinand (OTI Labs) + * David Green - OpenJDK bsd port integration + */ + +/* MacOS X Carbon specific logic for displaying the splash screen. */ + +#include "eclipseOS.h" +#include "eclipseCommon.h" +#include "eclipseJNI.h" +#include "eclipseUtil.h" + +#include +#include +#include +#ifdef COCOA +#include +#else +#include +#include "NgCommon.h" +#include "NgImageData.h" +#include "NgWinBMPFileFormat.h" +#endif +#include +#include + +#define startupJarName "startup.jar" +#define LAUNCHER "-launcher" +#define SPLASH_LAUNCHER "/Resources/Splash.app/Contents/" + +#define DEBUG 0 + +static _TCHAR* noForkingMsg = _T_ECLIPSE("Internal Error, forking the jvm is not supported on MacOS.\n"); + +char *findCommand(char *command); + +/* Global Variables */ +char* defaultVM = "java"; +char* vmLibrary = "JavaVM"; +char* shippedVMDir = "../../../jre/Contents/Home/jre/bin/"; +int isSUN = 0; + +static void adjustLibraryPath(char * vmLibrary); +static char * findLib(char * command); + +#ifdef i386 +#define JAVA_ARCH "i386" +#define JAVA_HOME_ARCH "i386" +#elif defined(__ppc__) || defined(__powerpc64__) +#define JAVA_ARCH "ppc" +#define JAVA_HOME_ARCH "ppc" +#elif defined(__amd64__) || defined(__x86_64__) +#define JAVA_ARCH "amd64" +#define JAVA_HOME_ARCH "x86_64" +#else +#define JAVA_ARCH DEFAULT_OS_ARCH +#define JAVA_HOME_ARCH DEFAULT_OS_ARCH +#endif + +#define LIB_PATH_VAR _T_ECLIPSE("LD_LIBRARY_PATH") +#define DYLD_FALLBACK_VAR _T_ECLIPSE("DYLD_FALLBACK_LIBRARY_PATH") + +#define MAX_LOCATION_LENGTH 40 /* none of the jvmLocations strings should be longer than this */ +#define MAX_JVMLIB_LENGTH 15 /* none of the jvmLibs strings should be longer than this */ +static const char* jvmLocations[] = { "../lib/" JAVA_ARCH "/client", + "../lib/" JAVA_ARCH "/server", + "../jre/lib/" JAVA_ARCH "/client", + "../jre/lib/" JAVA_ARCH "/server", + "../jre/lib/client", + "../jre/lib/server", NULL }; +static const char* jvmLibs[] = { "libjvm.dylib", "libjvm.jnilib", "libjvm.so", NULL }; + +/* Define the window system arguments for the various Java VMs. */ +static char* argVM_JAVA[] = { "-XstartOnFirstThread", NULL }; + +/* thread stuff */ +typedef struct { + _TCHAR * libPath; + _TCHAR ** vmArgs; + _TCHAR ** progArgs; + _TCHAR * jarFile; + JavaResults* result; +} StartVMArgs; + +#ifdef COCOA +static NSWindow* window = nil; +@interface KeyWindow : NSWindow { } +- (BOOL)canBecomeKeyWindow; +@end + +@implementation KeyWindow +- (BOOL)canBecomeKeyWindow { + return YES; +} + +- (void)close { + [super close]; + window = nil; +} + +@end + +@interface AppleEventDelegate : NSObject +- (void)handleOpenDocuments:(NSAppleEventDescriptor *)event withReplyEvent: (NSAppleEventDescriptor *)replyEvent; +@end +@implementation AppleEventDelegate + NSTimer *timer; + NSMutableArray *files; + +- (void)handleOpenDocuments:(NSAppleEventDescriptor *)event withReplyEvent: (NSAppleEventDescriptor *)replyEvent { + NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init]; + int count = [event numberOfItems]; + int index = 1; + + if (!files) { + files = [NSMutableArray arrayWithCapacity:count]; + [files retain]; + } + + for (index = 1; index<=count; index++) { + CFURLRef url = NULL; + NSAppleEventDescriptor *desc = [event descriptorAtIndex:index], *coerceDesc; + if (!desc) continue; + if ((coerceDesc = [desc coerceToDescriptorType: typeFSRef]) != NULL) { + url = CFURLCreateFromFSRef(kCFAllocatorDefault, [[coerceDesc data] bytes]); + } else if ((coerceDesc = [desc coerceToDescriptorType: typeFileURL]) != NULL) { + NSData *data = [coerceDesc data]; + url = CFURLCreateWithBytes(kCFAllocatorDefault, [data bytes], [data length], kCFStringEncodingUTF8, NULL); + } + if (url) { + NSString *pathName = (NSString *)CFURLCopyFileSystemPath(url, kCFURLPOSIXPathStyle); + [files addObject:pathName]; + [pathName release]; + CFRelease(url); + } + } + + if (!timer) { + timer = [NSTimer scheduledTimerWithTimeInterval: 1.0 + target: self + selector: @selector(handleTimer:) + userInfo: nil + repeats: YES]; + } + [pool release]; +} +- (void) handleTimer: (NSTimer *) timer { + NSObject *delegate = [[NSApplication sharedApplication] delegate]; + if (delegate != NULL && [delegate respondsToSelector: @selector(application:openFiles:)]) { + [delegate performSelector:@selector(application:openFiles:) withObject:[NSApplication sharedApplication] withObject:files]; + [files release]; + [timer invalidate]; + } +} +@end +#endif + +static CFRunLoopRef loopRef = NULL; +static void * startThread(void * init); +static void runEventLoop(CFRunLoopRef ref); +static void dummyCallback(void * info) {} +#ifndef COCOA +static CFMutableArrayRef files; +static EventHandlerRef appHandler; +static int SWT_CLASS = 'SWT-'; +static int SWT_OPEN_FILE_KIND = 1; +static int SWT_OPEN_FILE_PARAM = 'odoc'; +#endif + +int main() { + return -1; +} + +void installAppleEventHandler(); + +int reuseWorkbench(_TCHAR** filePath, int timeout) { + installAppleEventHandler(); + return 0; +} + +#ifdef COCOA + +/* Show the Splash Window + * + * Create the splash window, load the bitmap and display the splash window. + */ +int showSplash( const _TCHAR* featureImage ) +{ + if (window != NULL) + return 0; /*already showing */ + if (featureImage == NULL) + return ENOENT; + + int result = ENOENT; + NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init]; + [NSApplication sharedApplication]; + NSImage* image = [[NSImage alloc] initByReferencingFile: [NSString stringWithUTF8String: featureImage]]; + if (image != NULL) { + NSImageRep* imageRep = [image bestRepresentationForDevice: [[NSScreen mainScreen] deviceDescription]]; + NSRect rect = {{0, 0}, {[imageRep pixelsWide], [imageRep pixelsHigh]}}; + [image setSize: NSMakeSize([imageRep pixelsWide], [imageRep pixelsHigh])]; + [image autorelease]; + window = [[KeyWindow alloc] initWithContentRect: rect styleMask: NSBorderlessWindowMask backing: NSBackingStoreBuffered defer: 0]; + if (window != nil) { + [window center]; + [window setBackgroundColor: [NSColor colorWithPatternImage: image]]; + [window makeKeyAndOrderFront: nil]; + dispatchMessages(); + result = 0; + } + } + [pool release]; + return result; +} + +void takeDownSplash() { + if (window != 0) { + NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init]; + [window close]; + window = nil; + [pool release]; + } +} + +void dispatchMessages() { + NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init]; + NSEvent* event; + NSApplication* application = [NSApplication sharedApplication]; + while ((event = [application nextEventMatchingMask: 0 untilDate: nil inMode: NSDefaultRunLoopMode dequeue: TRUE]) != nil) { + [application sendEvent: event]; + } + [pool release]; +} + +#else +static WindowRef window; +static ControlRef pane = NULL; +static CGImageRef image = NULL; +static CGImageRef loadBMPImage(const char *image); + +typedef CGImageSourceRef (*CGImageSourceCreateWithURL_FUNC) (CFURLRef, CFDictionaryRef); +typedef CGImageRef (*CGImageSourceCreateImageAtIndex_FUNC)(CGImageSourceRef, size_t, CFDictionaryRef); +static CGImageSourceCreateWithURL_FUNC createWithURL = NULL; +static CGImageSourceCreateImageAtIndex_FUNC createAtIndex = NULL; + +static pascal OSErr openDocumentsProc(const AppleEvent *theAppleEvent, AppleEvent *reply, long handlerRefcon); + +static OSStatus drawProc (EventHandlerCallRef eventHandlerCallRef, EventRef eventRef, void * data) { + int result = CallNextEventHandler(eventHandlerCallRef, eventRef); + if (image) { + ControlRef control; + CGContextRef context; + + GetEventParameter(eventRef, kEventParamDirectObject, typeControlRef, NULL, 4, NULL, &control); + GetEventParameter(eventRef, kEventParamCGContextRef, typeCGContextRef, NULL, 4, NULL, &context); + + HIRect rect; + HIViewGetBounds(control, &rect); + HIViewDrawCGImage(context, &rect, image); + } + return result; +} + +static OSStatus disposeProc (EventHandlerCallRef eventHandlerCallRef, EventRef eventRef, void * data) { + window = NULL; + return eventNotHandledErr; +} + +void loadImageFns() +{ + static int initialized = 0; + static CFBundleRef bundle = NULL; + + if (!initialized) { + if (!bundle) bundle = CFBundleGetBundleWithIdentifier(CFSTR("com.apple.Carbon")); + if (bundle) createAtIndex = (CGImageSourceCreateImageAtIndex_FUNC)CFBundleGetFunctionPointerForName(bundle, CFSTR("CGImageSourceCreateImageAtIndex")); + if (bundle) createWithURL = (CGImageSourceCreateWithURL_FUNC)CFBundleGetFunctionPointerForName(bundle, CFSTR("CGImageSourceCreateWithURL")); + initialized = 1; + } +} + +static OSStatus appleEventProc(EventHandlerCallRef inCaller, EventRef theEvent, void* inRefcon) { + EventRecord eventRecord; + Boolean release = false; + EventQueueRef queue; + + queue = GetCurrentEventQueue(); + if (IsEventInQueue (queue, theEvent)) { + RetainEvent (theEvent); + release = true; + RemoveEventFromQueue (queue, theEvent); + } + ConvertEventRefToEventRecord (theEvent, &eventRecord); + AEProcessAppleEvent (&eventRecord); + if (release) ReleaseEvent (theEvent); + return noErr; +} + +static void timerProc(EventLoopTimerRef timer, void *userData) { + EventTargetRef target = GetApplicationEventTarget(); + CFIndex count = CFArrayGetCount (files); + int i; + for (i=0; i start) { + length = end - start; + version = malloc(length + 1); + strncpy(version, start, length); + version[length] = 0; + + /*only set a version if it starts with a number */ + if(strtol(version, NULL, 10) != 0 || version[0] == '0') { + setenv("JAVA_JVM_VERSION", version, 1); + } + + free(version); + } + } + cmd = command; + if (strstr(cmd, "/JavaVM.framework/") != NULL && (strstr(cmd, "/Current/") != NULL || strstr(cmd, "/A/") != NULL)) { + cmd = getJavaHome(); + } + result = JAVA_FRAMEWORK; + if (strstr(cmd, "/JavaVM.framework/") == NULL) { + char * lib = findLib(cmd); + if (lib != NULL) { + adjustLibraryPath(lib); + result = lib; + } + } + if (cmd != command) free(cmd); + return result; +} + +static char * findLib(char * command) { + int i, q; + int pathLength; + struct stat stats; + char * path; /* path to resulting jvm shared library */ + char * location; /* points to begining of jvmLocations section of path */ + + if (command != NULL) { + /*check first to see if command already points to the library */ + if (isVMLibrary(command)) { + if (stat(command, &stats) == 0 && (stats.st_mode & S_IFREG) != 0) { /* found it */ + return strdup(command); + } + return NULL; + } + + location = strrchr(command, dirSeparator) + 1; + pathLength = location - command; + path = malloc((pathLength + MAX_LOCATION_LENGTH + 1 + MAX_JVMLIB_LENGTH + 1) * sizeof(char)); + strncpy(path, command, pathLength); + location = &path[pathLength]; + + /* + * We are trying base/jvmLocations[*]/vmLibrary + * where base is the directory containing the given java command, normally jre/bin + */ + for (q = 0; jvmLibs[q] != NULL; ++q) { + const char *jvmLib = jvmLibs[q]; + i = -1; + while (jvmLocations[++i] != NULL) { + sprintf(location, "%s%c%s", jvmLocations[i], dirSeparator, jvmLib); + /*fprintf(stderr,"checking path: %s\n",path);*/ + if (stat(path, &stats) == 0 && (stats.st_mode & S_IFREG) != 0) + { /* found it */ + return path; + } + } + } + } + return NULL; +} + +/* adjust the LD_LIBRARY_PATH for the vmLibrary */ +static void adjustLibraryPath(char * vmLibrary) { + char * c; + char * ldPath, *dylibPath; + char * newPath; + int i; + int numPaths = 0; + int length = 0; + int needAdjust = 0, needDylibAdjust = 0; + + char ** paths = getVMLibrarySearchPath(vmLibrary); + + ldPath = (char*) getenv(LIB_PATH_VAR); + if (!ldPath) { + ldPath = _T_ECLIPSE(""); + needAdjust = 1; + } else { + needAdjust = !containsPaths(ldPath, paths); + } + + dylibPath = (char*) getenv(DYLD_FALLBACK_VAR); + if (!dylibPath) { + dylibPath = _T_ECLIPSE(""); + needDylibAdjust = 1; + } else { + needDylibAdjust = !containsPaths(dylibPath, paths); + } + + if (!needAdjust && !needDylibAdjust) { + for (i = 0; paths[i] != NULL; i++) + free(paths[i]); + free(paths); + return; + } + + c = concatStrings(paths); + + /* set the value for LD_LIBRARY_PATH */ + length = strlen(ldPath); + newPath = malloc((_tcslen(c) + length + 1) * sizeof(_TCHAR)); + _stprintf(newPath, _T_ECLIPSE("%s%s"), c, ldPath); + setenv(LIB_PATH_VAR, newPath, 1); + free(newPath); + + /* set the value for DYLD_FALLBACK_LIBRARY_PATH */ + length = strlen(dylibPath); + newPath = malloc((_tcslen(c) + length + 1) * sizeof(_TCHAR)); + _stprintf(newPath, _T_ECLIPSE("%s%s"), c, dylibPath); + setenv(DYLD_FALLBACK_VAR, newPath, 1); + free(newPath); + free(c); + + for (i = 0; i < numPaths; i++) + free(paths[i]); + free(paths); + + /* now we must restart for this to take affect*/ + restartLauncher(initialArgv[0], initialArgv); +} + +void restartLauncher(char* program, char* args[]) { + pid_t pid= fork(); + if (pid == 0) { + /* Child process ... start the JVM */ + execv(program != NULL ? program : args[0], args); + + /* The JVM would not start ... return error code to parent process. */ + _exit(errno); + } else { + exit(0); + } +} + +JavaResults* launchJavaVM( _TCHAR* args[] ) +{ + /*for now always do JNI on Mac, should not come in here */ + JavaResults * results = malloc(sizeof(JavaResults)); + results->launchResult = -1; + results->runResult = 0; + results->errorMessage = _tcsdup(noForkingMsg); + return results; +} + +JavaResults* startJavaVM( _TCHAR* libPath, _TCHAR* vmArgs[], _TCHAR* progArgs[], _TCHAR* jarFile ) +{ + if (secondThread == 0) { + /* Set an environment variable that tells the AWT (if started) we started the JVM on the main thread. */ + char firstThreadEnvVariable[80]; + sprintf(firstThreadEnvVariable, "JAVA_STARTED_ON_FIRST_THREAD_%d", getpid()); + setenv(firstThreadEnvVariable, "1", 1); + return startJavaJNI(libPath, vmArgs, progArgs, jarFile); + } + + /* else, --launcher.secondThread was specified, create a new thread and run the + * vm on it. This main thread will run the CFRunLoop + */ + pthread_t thread; + struct rlimit limit = {0, 0}; + int stackSize = 0; + if (getrlimit(RLIMIT_STACK, &limit) == 0) { + if (limit.rlim_cur != 0) { + stackSize = limit.rlim_cur; + } + } + + /* initialize thread attributes */ + pthread_attr_t attributes; + pthread_attr_init(&attributes); + pthread_attr_setscope(&attributes, PTHREAD_SCOPE_SYSTEM); + pthread_attr_setdetachstate(&attributes, PTHREAD_CREATE_DETACHED); + if (stackSize != 0) + pthread_attr_setstacksize(&attributes, stackSize); + + /* arguments to start the vm */ + StartVMArgs args; + args.libPath = libPath; + args.vmArgs = vmArgs; + args.progArgs = progArgs; + args.jarFile = jarFile; + args.result = 0; + + loopRef = CFRunLoopGetCurrent(); + + /* create the thread */ + pthread_create( &thread, &attributes, &startThread, &args); + pthread_attr_destroy(&attributes); + + runEventLoop(loopRef); + + return args.result; +} + +void * startThread(void * init) { + StartVMArgs *args = (StartVMArgs *) init; + args->result = startJavaJNI(args->libPath, args->vmArgs, args->progArgs, args->jarFile); + return NULL; +} + +void runEventLoop(CFRunLoopRef ref) { + CFRunLoopSourceContext sourceContext = { .version = 0, .info = NULL, .retain = NULL, .release = NULL, + .copyDescription = NULL, .equal = NULL, .hash = NULL, + .schedule = NULL, .cancel = NULL, .perform = &dummyCallback }; + + CFRunLoopSourceRef sourceRef = CFRunLoopSourceCreate(NULL, 0, &sourceContext); + CFRunLoopAddSource(ref, sourceRef, kCFRunLoopCommonModes); + + CFRunLoopRun(); + CFRelease(sourceRef); +} + +#ifndef COCOA +void disposeData(void *info, void *data, size_t size) +{ + DisposePtr(data); +} + +/** + * loadBMPImage + * Create a QuickDraw PixMap representing the given BMP file. + * + * bmpPathname: absolute path and name to the bmp file + * + * returned value: the PixMapHandle newly created if successful. 0 otherwise. + */ +static CGImageRef loadBMPImage (const char *bmpPathname) { + ng_stream_t in; + ng_bitmap_image_t image; + ng_err_t err= ERR_OK; + CGImageRef ref; + UBYTE1* data = NULL; + + NgInit(); + + if (NgStreamInit(&in, (char*) bmpPathname) != ERR_OK) { + NgError(ERR_NG, "Error can't open BMP file"); + return 0; + } + + NgBitmapImageInit(&image); + err= NgBmpDecoderReadImage (&in, &image); + NgStreamClose(&in); + + if (err != ERR_OK) { + NgBitmapImageFree(&image); + return 0; + } + + UBYTE4 srcDepth= NgBitmapImageBitCount(&image); + if (srcDepth != 24) { /* We only support image depth of 24 bits */ + NgBitmapImageFree(&image); + NgError (ERR_NG, "Error unsupported depth - only support 24 bit"); + return 0; + } + + int width= (int)NgBitmapImageWidth(&image); + int height= (int)NgBitmapImageHeight(&image); + int rowBytes= width * 4; + int alphainfo = kCGImageAlphaNoneSkipFirst | (NgIsMSB() ? 0 : kCGBitmapByteOrder32Little); + data = (UBYTE1*)NewPtr(rowBytes * height); + CGDataProviderRef provider = CGDataProviderCreateWithData(0, data, rowBytes * height, (CGDataProviderReleaseDataCallback)disposeData); + + ref = CGImageCreate(width, height, 8, 32, width * 4, CGColorSpaceCreateDeviceRGB(), alphainfo, provider, NULL, 1, 0); + CGDataProviderRelease(provider); + + /* 24 bit source to direct screen destination */ + NgBitmapImageBlitDirectToDirect(NgBitmapImageImageData(&image), NgBitmapImageBytesPerRow(&image), width, height, + data, 32, rowBytes, NgIsMSB(), 0xff0000, 0x00ff00, 0x0000ff); + + NgBitmapImageFree(&image); + + return ref; +} +#endif + +#define DOCK_ICON_PREFIX "-Xdock:icon=" +#define DOCK_NAME_PREFIX "-Xdock:name=" +#define APP_ICON_PATTERN "APP_ICON_%d" +#define APP_NAME_PATTERN "APP_NAME_%d" + +void processVMArgs(char **vmargs[] ) +{ + int i = -1; + int pid = 0, pidLength = 1, temp = 0; + char * name = NULL, *icon = NULL; + char * c; + + if( *vmargs == NULL) + return; + + while( (*vmargs)[++i] != NULL ) { + /*-Xdock:icon -> APP_ICON_*/ + if(_tcsncmp((*vmargs)[i], DOCK_ICON_PREFIX, _tcslen(DOCK_ICON_PREFIX)) == 0) { + icon = (*vmargs)[i] + _tcslen(DOCK_ICON_PREFIX); + } + /*-Xdock:name -> APP_NAME_*/ + else if(_tcsncmp((*vmargs)[i], DOCK_NAME_PREFIX, _tcslen(DOCK_NAME_PREFIX)) == 0) { + name = (*vmargs)[i] + _tcslen(DOCK_NAME_PREFIX); + } + if (name != NULL && icon != NULL) + break; + } + + if (name == NULL && icon == NULL) + return; /* don't need to do anything */ + + temp = pid = getpid(); + /* how many digits in pid? */ + while (temp > 9) { + pidLength++; + temp /= 10; + } + + if (name != NULL) { + c = malloc( (_tcslen(APP_NAME_PATTERN) + pidLength + 1) * sizeof(char*)); + _stprintf( c, APP_NAME_PATTERN, pid ); + setenv(c, name, 1); + } + + if (icon != NULL) { + c = malloc( (_tcslen(icon) + _tcslen(APP_ICON_PATTERN) + pidLength + 1) * sizeof(char*)); + _stprintf( c, APP_ICON_PATTERN, pid ); + setenv(c, icon, 1); + } +} + +int isSunVM( _TCHAR * javaVM, _TCHAR * jniLib ) { + return isSUN; +} diff --git a/features/org.eclipse.equinox.executable.feature/library/carbon/eclipseCarbonCommon.c b/features/org.eclipse.equinox.executable.feature/library/carbon/eclipseCarbonCommon.c new file mode 100644 index 000000000..2870c62e8 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/carbon/eclipseCarbonCommon.c @@ -0,0 +1,195 @@ +/******************************************************************************* + * Copyright (c) 2006, 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Andrew Niefer + *******************************************************************************/ + +#include "eclipseCommon.h" +#include "eclipseOS.h" + +#include +#include +#include +#include +#ifdef COCOA +#include +#else +#include +#endif +#include + +char dirSeparator = '/'; +char pathSeparator = ':'; + +static CFBundleRef javaVMBundle = NULL; + +int initialized = 0; + +static void init() { + if (!initialized) { + ProcessSerialNumber psn; + if (GetCurrentProcess(&psn) == noErr) { + TransformProcessType(&psn, kProcessTransformToForegroundApplication); + SetFrontProcess(&psn); + } +#ifdef COCOA + [NSApplication sharedApplication]; +#else + ClearMenuBar(); +#endif + initialized= true; + } +} + + +/* Initialize Window System + * + * Initialize Carbon. + */ +int initWindowSystem( int* pArgc, char* argv[], int showSplash ) +{ + char *homeDir = getProgramDir(); + /*debug("install dir: %s\n", homeDir);*/ + if (homeDir != NULL) + chdir(homeDir); + + if (showSplash) + init(); + + return 0; +} + +/* Display a Message */ +void displayMessage(char *title, char *message) +{ + CFStringRef inError, inDescription= NULL; + + /* try to break the message into a first sentence and the rest */ + char *pos= strstr(message, ". "); + if (pos != NULL) { + char *to, *from, *buffer= calloc(pos-message+2, sizeof(char)); + /* copy and replace line separators with blanks */ + for (to= buffer, from= message; from <= pos; from++, to++) { + char c= *from; + if (c == '\n') c= ' '; + *to= c; + } + inError= CFStringCreateWithCString(kCFAllocatorDefault, buffer, kCFStringEncodingUTF8); + free(buffer); + inDescription= CFStringCreateWithCString(kCFAllocatorDefault, pos+2, kCFStringEncodingUTF8); + } else { + inError= CFStringCreateWithCString(kCFAllocatorDefault, message, kCFStringEncodingUTF8); + } + + init(); + +#ifdef COCOA + NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init]; + NSAlert* alert = [NSAlert alertWithMessageText: (NSString*)(inDescription != nil ? inError : nil) defaultButton: nil alternateButton: nil otherButton: nil informativeTextWithFormat: (NSString*)(inDescription != nil ? inDescription : inError)]; + [[alert window] setTitle: [NSString stringWithUTF8String: title]]; + [alert setAlertStyle: NSCriticalAlertStyle]; + [alert runModal]; + [pool release]; +#else + DialogRef outAlert; + OSStatus status= CreateStandardAlert(kAlertStopAlert, inError, inDescription, NULL, &outAlert); + if (status == noErr) { + DialogItemIndex outItemHit; + RunStandardAlert(outAlert, NULL, &outItemHit); + } else { + /*debug("%s: displayMessage: %s\n", title, message);*/ + } +#endif + CFRelease(inError); + if (inDescription != NULL) + CFRelease(inDescription); +} + +static int isLibrary( _TCHAR* vm ){ + _TCHAR *ch = NULL; + if (vm == NULL) return 0; + ch = _tcsrchr( vm, '.' ); + if(ch == NULL) + return 0; + return (_tcsicmp(ch, _T_ECLIPSE(".so")) == 0) || (_tcsicmp(ch, _T_ECLIPSE(".jnilib")) == 0) || (_tcsicmp(ch, _T_ECLIPSE(".dylib")) == 0); +} + +/* Load the specified shared library + */ +void * loadLibrary( char * library ){ + if (!isLibrary(library)) { + CFURLRef url = CFURLCreateFromFileSystemRepresentation(kCFAllocatorDefault, (const UInt8 *)library, strlen(library), true); + javaVMBundle = CFBundleCreate(kCFAllocatorDefault, url); + CFRelease(url); + return (void*) &javaVMBundle; + } else { + void * result= dlopen(library, RTLD_NOW); + if(result == 0) + printf("%s\n",dlerror()); + return result; + } +} + +/* Unload the shared library + */ +void unloadLibrary( void * handle ){ + if (handle == &javaVMBundle) + CFRelease(javaVMBundle); + else + dlclose(handle); +} + +/* Find the given symbol in the shared library + */ +void * findSymbol( void * handle, char * symbol ){ + if(handle == &javaVMBundle) { + CFStringRef string = CFStringCreateWithCString(kCFAllocatorDefault, symbol, kCFStringEncodingASCII); + void * ptr = CFBundleGetFunctionPointerForName(javaVMBundle, string); + CFRelease(string); + return ptr; + } else + return dlsym(handle, symbol); +} + +char * resolveSymlinks( char * path ) { + char * result = 0; + CFURLRef url, resolved; + CFStringRef string; + FSRef fsRef; + Boolean isFolder, wasAliased; + + if(path == NULL) + return path; + + string = CFStringCreateWithCString(kCFAllocatorDefault, path, kCFStringEncodingUTF8); + url = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, string, kCFURLPOSIXPathStyle, false); + CFRelease(string); + if(url == NULL) + return path; + + if(CFURLGetFSRef(url, &fsRef)) { + if( FSResolveAliasFile(&fsRef, true, &isFolder, &wasAliased) == noErr) { + resolved = CFURLCreateFromFSRef(kCFAllocatorDefault, &fsRef); + if(resolved != NULL) { + string = CFURLCopyFileSystemPath(resolved, kCFURLPOSIXPathStyle); + CFIndex length = CFStringGetMaximumSizeForEncoding(CFStringGetLength(string), kCFStringEncodingUTF8); + char *s = malloc(length); + if (CFStringGetCString(string, s, length, kCFStringEncodingUTF8)) { + result = s; + } else { + free(s); + } + CFRelease(string); + CFRelease(resolved); + } + } + } + CFRelease(url); + return result; +} \ No newline at end of file diff --git a/features/org.eclipse.equinox.executable.feature/library/carbon/eclipseCarbonMain.c b/features/org.eclipse.equinox.executable.feature/library/carbon/eclipseCarbonMain.c new file mode 100644 index 000000000..51cafc275 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/carbon/eclipseCarbonMain.c @@ -0,0 +1,237 @@ +/* + * Copyright (c) 2006, 2009 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Andrew Niefer + */ + +#include "eclipseCommon.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + + +#define APP_PACKAGE_PATTERN ".app/Contents/MacOS/" +#define APP_PACKAGE "APP_PACKAGE" +#define JAVAROOT "JAVAROOT" + +static void debug(const char *fmt, ...); +static void dumpArgs(char *tag, int argc, char* argv[]); +static char *append(char *buffer, const char *s); +static char *appendc(char *buffer, char c); +static char *expandShell(char *arg, const char *appPackage, const char *javaRoot); +static char *my_strcasestr(const char *big, const char *little); + +static FILE *fgConsoleLog; +static char *fgAppPackagePath; +static int fgPid; + +extern int original_main(int argc, char* argv[]); +int main( int argc, char* argv[] ) { + + SInt32 systemVersion= 0; + if (Gestalt(gestaltSystemVersion, &systemVersion) == noErr) { + systemVersion &= 0xffff; +#ifdef COCOA + if (systemVersion < 0x1050) { + displayMessage("Error", "This application requires Mac OS X 10.5 (Leopard) or greater."); + return 0; + } +#else + if (systemVersion < 0x1020) { + displayMessage("Error", "This application requires Jaguar (Mac OS X >= 10.2)"); + return 0; + } +#endif + } + + fgConsoleLog= fopen("/dev/console", "w"); + fgPid= getpid(); + + dumpArgs("start", argc, argv); + if ( (argc > 1 && strncmp(argv[1], "-psn_", 5) == 0) || argc == 1) { + /* find path to application bundle (ignoring case) */ + char *pos= my_strcasestr(argv[0], APP_PACKAGE_PATTERN); + if (pos != NULL) { + int l= pos-argv[0] + 4; // reserve space for ".app" + fgAppPackagePath= malloc(l+1); + strncpy(fgAppPackagePath, argv[0], l); + fgAppPackagePath[l]= '\0'; // terminate result + } + + /* Get the main bundle for the app */ + CFBundleRef mainBundle= CFBundleGetMainBundle(); + if (mainBundle != NULL) { + + /* Get an instance of the info plist.*/ + CFDictionaryRef bundleInfoDict= CFBundleGetInfoDictionary(mainBundle); + + /* If we succeeded, look for our property. */ + if (bundleInfoDict != NULL) { + CFArrayRef ar= CFDictionaryGetValue(bundleInfoDict, CFSTR("Eclipse")); + if (ar) { + CFIndex size= CFArrayGetCount(ar); + if (size > 0) { + int i; + char **old_argv= argv; + argv= (char**) calloc(size+2, sizeof(char*)); + argc= 0; + argv[argc++]= old_argv[0]; + for (i= 0; i < size; i++) { + CFStringRef sr= (CFStringRef) CFArrayGetValueAtIndex (ar, i); + CFIndex argStringSize= CFStringGetMaximumSizeForEncoding(CFStringGetLength(sr), kCFStringEncodingUTF8); + char *s= malloc(argStringSize); + if (CFStringGetCString(sr, s, argStringSize, kCFStringEncodingUTF8)) { + argv[argc++]= expandShell(s, fgAppPackagePath, NULL); + } else { + fprintf(fgConsoleLog, "can't extract bytes\n"); + } + //free(s); + } + } + } else { + fprintf(fgConsoleLog, "no Eclipse dict found\n"); + } + } else { + fprintf(fgConsoleLog, "no bundle dict found\n"); + } + } else { + fprintf(fgConsoleLog, "no bundle found\n"); + } + } + int exitcode= original_main(argc, argv); + debug("<<<< exit(%d)\n", exitcode); + fclose(fgConsoleLog); + return exitcode; +} + +static void debug(const char *fmt, ...) { +#if DEBUG + va_list ap; + va_start(ap, fmt); + fprintf(fgConsoleLog, "%05d: ", fgPid); + vfprintf(fgConsoleLog, fmt, ap); + va_end(ap); +#endif +} + +static void dumpArgs(char *tag, int argc, char* argv[]) { +#if DEBUG + int i; + if (argc < 0) { + argc= 0; + for (i= 0; argv[i] != NULL; i++) + argc++; + } + debug(">>>> %s:", tag); + for (i= 0; i < argc && argv[i] != NULL; i++) + fprintf(fgConsoleLog, " <%s>", argv[i]); + fprintf(fgConsoleLog, "\n"); +#endif +} + +/* + * Expand $APP_PACKAGE, $JAVA_HOME, and does tilde expansion. + + A word beginning with an unquoted tilde character (~) is + subject to tilde expansion. All the characters up to a + slash (/) or the end of the word are treated as a username + and are replaced with the user's home directory. If the + username is missing (as in ~/foobar), the tilde is + replaced with the value of the HOME variable (the current + user's home directory). + */ +static char *expandShell(char *arg, const char *appPackage, const char *javaRoot) { + + if (index(arg, '~') == NULL && index(arg, '$') == NULL) + return arg; + + char *buffer= strdup(""); + char c, lastChar= ' '; + const char *cp= arg; + while ((c = *cp++) != 0) { + if (isspace(lastChar) && c == '~') { + char name[100], *dir= NULL; + int j= 0; + for (; (c = *cp) != 0; cp++) { + if (! isalnum(c)) + break; + name[j++]= c; + lastChar= c; + } + name[j]= '\0'; + if (j > 0) { + struct passwd *pw= getpwnam(name); + if (pw != NULL) + dir= pw->pw_dir; + } else { + dir= getenv("HOME"); + } + if (dir != NULL) + buffer= append(buffer, dir); + + } else if (c == '$') { + int l= strlen(APP_PACKAGE); + if (appPackage != NULL && strncmp(cp, APP_PACKAGE, l) == 0) { + cp+= l; + buffer= append(buffer, appPackage); + } else { + int l= strlen(JAVAROOT); + if (javaRoot != NULL && strncmp(cp, JAVAROOT, l) == 0) { + cp+= l; + buffer= append(buffer, javaRoot); + } else { + buffer= appendc(buffer, c); + } + } + } else + buffer= appendc(buffer, c); + lastChar= c; + } + return buffer; +} + +static char *my_strcasestr(const char *big, const char *little) { + char *cp, *s, *t; + for (cp= (char*) big; *cp; cp++) { + for (s= cp, t= (char*) little; *s && *t; s++, t++) + if (toupper(*s) != toupper(*t)) + break; + if (*t == '\0') + return cp; + } + return NULL; +} + +static char *append(char *buffer, const char *s) { + int bl= strlen(buffer); + int sl= strlen(s); + buffer= realloc(buffer, bl+sl+1); + strcpy(&buffer[bl], s); + return buffer; +} + +static char *appendc(char *buffer, char c) { + int bl= strlen(buffer); + buffer= realloc(buffer, bl+2); + buffer[bl++]= c; + buffer[bl]= '\0'; + return buffer; +} \ No newline at end of file diff --git a/features/org.eclipse.equinox.executable.feature/library/carbon/eclipseMain.c b/features/org.eclipse.equinox.executable.feature/library/carbon/eclipseMain.c new file mode 100644 index 000000000..c0eaffa13 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/carbon/eclipseMain.c @@ -0,0 +1,15 @@ +/* + * Copyright (c) 2000, 2006 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Andre Weinand (OTI Labs) + */ + +#define main original_main + +#include "../eclipseMain.c" diff --git a/features/org.eclipse.equinox.executable.feature/library/carbon/make_carbon.mak b/features/org.eclipse.equinox.executable.feature/library/carbon/make_carbon.mak new file mode 100644 index 000000000..34843b739 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/carbon/make_carbon.mak @@ -0,0 +1,93 @@ +#********************************************************************** +# Copyright (c) 2000, 2008 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Kevin Cornell (Rational Software Corporation) +#********************************************************************** +include ../make_version.mak +# Makefile for creating the Carbon eclipse launcher program. + +# This makefile expects the following environment variables set: +# +# PROGRAM_OUTPUT - the filename of the output executable +# DEFAULT_OS - the default value of the "-os" switch +# DEFAULT_OS_ARCH - the default value of the "-arch" switch +# DEFAULT_WS - the default value of the "-ws" switch + +#default value for PROGRAM_OUTPUT +ifeq ($(PROGRAM_OUTPUT),) + PROGRAM_OUTPUT=eclipse +endif +PROGRAM_LIBRARY=eclipse_$(LIB_VERSION).so + +# Define the object modules to be compiled and flags. +MAIN_OBJS = eclipseMain.o eclipseCarbonMain.o +COMMON_OBJS = eclipseConfig.o eclipseCommon.o eclipseCarbonCommon.o +DLL_OBJS = eclipse.o eclipseCarbon.o eclipseUtil.o eclipseJNI.o eclipseShm.o NgImageData.o NgWinBMPFileFormat.o NgCommon.o + +EXEC = $(PROGRAM_OUTPUT) +DLL = $(PROGRAM_LIBRARY) +LIBS = -framework Carbon +ARCHS = -arch i386 -arch ppc +CFLAGS = -O -s \ + -mmacosx-version-min=10.3 \ + -Wall \ + $(ARCHS) \ + -DMACOSX \ + -DDEFAULT_OS="\"$(DEFAULT_OS)\"" \ + -DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \ + -DDEFAULT_WS="\"$(DEFAULT_WS)\"" \ + -I.. -I../motif -I/System/Library/Frameworks/JavaVM.framework/Headers + +all: $(EXEC) $(DLL) + +eclipse.o: ../eclipse.c ../eclipseOS.h ../eclipseCommon.h ../eclipseJNI.h + $(CC) $(CFLAGS) -c ../eclipse.c -o $@ + +eclipseCarbonMain.o : eclipseCarbonMain.c + $(CC) $(CFLAGS) -c eclipseCarbonMain.c -o $@ + +eclipseMain.o: ../eclipseUnicode.h ../eclipseCommon.h eclipseMain.c ../eclipseMain.c + $(CC) $(CFLAGS) -c eclipseMain.c -o $@ + +eclipseJNI.o: ../eclipseJNI.c ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.h + $(CC) $(CFLAGS) -c ../eclipseJNI.c -o $@ + +eclipseUtil.o: ../eclipseUtil.c ../eclipseUtil.h ../eclipseOS.h + $(CC) $(CFLAGS) -c ../eclipseUtil.c -o $@ + +eclipseConfig.o: ../eclipseConfig.c ../eclipseConfig.h ../eclipseOS.h + $(CC) $(CFLAGS) -c ../eclipseConfig.c -o $@ + +eclipseCommon.o: ../eclipseCommon.h ../eclipseUnicode.h ../eclipseCommon.c + $(CC) $(CFLAGS) -c ../eclipseCommon.c -o $@ + +eclipseShm.o: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c + $(CC) $(CFLAGS) -c ../eclipseShm.c -o $@ + +NgCommon.o: ../motif/NgCommon.c + $(CC) $(CFLAGS) -c ../motif/NgCommon.c -o $@ + +NgWinBMPFileFormat.o: ../motif/NgWinBMPFileFormat.c + $(CC) $(CFLAGS) -c ../motif/NgWinBMPFileFormat.c -o $@ + +NgImageData.o: ../motif/NgImageData.c + $(CC) $(CFLAGS) -c ../motif/NgImageData.c -o $@ + +$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS) + $(CC) -o $(EXEC) $(ARCHS) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS) + +$(DLL): $(DLL_OBJS) $(COMMON_OBJS) + $(CC) -bundle -o $(DLL) $(ARCHS) $(DLL_OBJS) $(COMMON_OBJS) $(LIBS) + +install: all + cp $(EXEC) $(PPC_OUTPUT_DIR) + cp $(EXEC) $(X86_OUTPUT_DIR) + rm -f $(EXEC) $(OBJS) + +clean: + rm -f $(EXEC) $(DLL) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS) diff --git a/features/org.eclipse.equinox.executable.feature/library/carbon/make_cocoa.mak b/features/org.eclipse.equinox.executable.feature/library/carbon/make_cocoa.mak new file mode 100644 index 000000000..868c34bbf --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/carbon/make_cocoa.mak @@ -0,0 +1,97 @@ +#********************************************************************** +# Copyright (c) 2000, 2008 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Kevin Cornell (Rational Software Corporation) +#********************************************************************** +include ../make_version.mak +# Makefile for creating the Carbon eclipse launcher program. + +# This makefile expects the following environment variables set: +# +# PROGRAM_OUTPUT - the filename of the output executable +# DEFAULT_OS - the default value of the "-os" switch +# DEFAULT_OS_ARCH - the default value of the "-arch" switch +# DEFAULT_WS - the default value of the "-ws" switch + +#default value for PROGRAM_OUTPUT +ifeq ($(PROGRAM_OUTPUT),) + PROGRAM_OUTPUT=eclipse +endif +PROGRAM_LIBRARY=eclipse_$(LIB_VERSION).so + +# Define the object modules to be compiled and flags. +MAIN_OBJS = eclipseMain.o eclipseCarbonMain.o +COMMON_OBJS = eclipseConfig.o eclipseCommon.o eclipseCarbonCommon.o +DLL_OBJS = eclipse.o eclipseCarbon.o eclipseUtil.o eclipseJNI.o eclipseShm.o +#NgImageData.o NgWinBMPFileFormat.o NgCommon.o + +EXEC = $(PROGRAM_OUTPUT) +DLL = $(PROGRAM_LIBRARY) +LIBS = -framework Cocoa + +ifeq ($(ARCHS),) +ARCHS = -arch i386 -arch ppc +endif + +CFLAGS = -O -s \ + -Wall \ + -DCOCOA -xobjective-c \ + $(ARCHS) \ + -DMACOSX \ + -DDEFAULT_OS="\"$(DEFAULT_OS)\"" \ + -DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \ + -DDEFAULT_WS="\"$(DEFAULT_WS)\"" \ + -I.. -I../motif -I/System/Library/Frameworks/JavaVM.framework/Headers + +all: $(EXEC) $(DLL) + +eclipse.o: ../eclipse.c ../eclipseOS.h ../eclipseCommon.h ../eclipseJNI.h + $(CC) $(CFLAGS) -c ../eclipse.c -o $@ + +eclipseCarbonMain.o : eclipseCarbonMain.c + $(CC) $(CFLAGS) -c eclipseCarbonMain.c -o $@ + +eclipseMain.o: ../eclipseUnicode.h ../eclipseCommon.h eclipseMain.c ../eclipseMain.c + $(CC) $(CFLAGS) -c eclipseMain.c -o $@ + +eclipseJNI.o: ../eclipseJNI.c ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.h + $(CC) $(CFLAGS) -c ../eclipseJNI.c -o $@ + +eclipseUtil.o: ../eclipseUtil.c ../eclipseUtil.h ../eclipseOS.h + $(CC) $(CFLAGS) -c ../eclipseUtil.c -o $@ + +eclipseConfig.o: ../eclipseConfig.c ../eclipseConfig.h ../eclipseOS.h + $(CC) $(CFLAGS) -c ../eclipseConfig.c -o $@ + +eclipseCommon.o: ../eclipseCommon.h ../eclipseUnicode.h ../eclipseCommon.c + $(CC) $(CFLAGS) -c ../eclipseCommon.c -o $@ + +eclipseShm.o: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c + $(CC) $(CFLAGS) -c ../eclipseShm.c -o $@ + +NgCommon.o: ../motif/NgCommon.c + $(CC) $(CFLAGS) -c ../motif/NgCommon.c -o $@ + +NgWinBMPFileFormat.o: ../motif/NgWinBMPFileFormat.c + $(CC) $(CFLAGS) -c ../motif/NgWinBMPFileFormat.c -o $@ + +NgImageData.o: ../motif/NgImageData.c + $(CC) $(CFLAGS) -c ../motif/NgImageData.c -o $@ + +$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS) + $(CC) -o $(EXEC) $(ARCHS) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS) + +$(DLL): $(DLL_OBJS) $(COMMON_OBJS) + $(CC) -bundle -o $(DLL) $(ARCHS) $(DLL_OBJS) $(COMMON_OBJS) $(LIBS) + +install: all + cp -v $(EXEC) $(PROGRAM_OUTPUT_DIR) + rm -f $(EXEC) $(OBJS) + +clean: + rm -f $(EXEC) $(DLL) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS) diff --git a/features/org.eclipse.equinox.executable.feature/library/eclipse.c b/features/org.eclipse.equinox.executable.feature/library/eclipse.c new file mode 100644 index 000000000..be01c9ccc --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/eclipse.c @@ -0,0 +1,1781 @@ +/******************************************************************************* + * Copyright (c) 2000, 2010 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Kevin Cornell (Rational Software Corporation) + * Markus Schorn (Wind River Systems), bug 193340 + * Martin Oberhuber (Wind River) - [149994] Add --launcher.appendVmargs + *******************************************************************************/ + +/* Eclipse Program Launcher + * + * This file forms the base of the eclipse_*.dll/so. This dll is loaded by eclipse.exe + * to start a Java VM, or alternatively it is loaded from Java to show the splash + * screen or write to the shared memory. See eclipseJNI.c for descriptions of the methods + * exposed to the Java program using JNI. + * + * To display a splash screen before starting the java vm, the launcher should be started + * with the location of the splash bitmap to use: + * -showsplash + * Otherwise, when the Java program starts, it should determine the location of + * the splash bitmap to be used and use the JNI method show_splash. + * + * When the Java program initialization is complete, the splash window + * is brought down by calling the JNI method takedown_splash. + * + * The Java program can also call the get_splash_handle method to get the handle to the splash + * window. This can be passed to SWT to create SWT widgets in the splash screen. + * + * The Java application will receive two other arguments: + * -exitdata + * + * The java program can call set_exit_data with this shared-memory-id + * to provide specific exit data to the launcher. + * + * The exit data size must not exceed MAX_SHARED_LENGTH which is + * 16Kb. The interpretation of the exit data is dependent on the + * exit value of the java application. + * + * The main launcher recognizes the following exit codes from the + * Java application: + * + * 0 - Exit normally. + * RESTART_LAST_EC = 23 + * - restart the java VM again with the same arguments as the previous one. + * RESTART_NEW_EC = 24 + * - restart the java VM again with the arguments taken from the exit data. + * The exit data format is a list of arguments separated by '\n'. The Java + * application should build this list using the arguments passed to it on + * startup. See below. + * + * Additionally, if the Java application exits with an exit code other than the + * ones above, the main launcher will display an error message with the contents + * of the exit data. If the exit data is empty, a generic error message is + * displayed. The generic error message shows the exit code and the arguments + * passed to the Java application. + * + * The options that can be specified by the user to the launcher are: + * -vm the Java VM to be used + * -os the operating system being run on + * -arch the hardware architecture of the OS: x86, sparc, hp9000 + * -ws the window system to be used: win32, motif, gtk, ... + * -nosplash do not display the splash screen. The java application will + * not receive the -showsplash command. + * -showsplash show the given bitmap in the splash screen. + * -name application name displayed in error message dialogs and + * splash screen window. Default value is computed from the + * name of the executable - with the first letter capitalized + * if possible. e.g. eclipse.exe defaults to the name Eclipse. + * -startup the startup jar to execute. The argument is first assumed to be + * relative to the path of the launcher. If such a file does not + * exist, the argument is then treated as an absolute path. + * The default is find the plugins/org.eclipse.equinox.launcher jar + * with the highest version number. + * The jar must contain an org.eclipse.equinox.launcher.Main class. + * (unless JNI invocation is not being used, then the jar only needs to be + * an executable jar) + * -library the location of the eclipse launcher shared library (this library) to use + * By default, the launcher exe (see eclipseMain.c) finds + * arguments that are passed along to the Java application + * (i.e, -data , -debug, -console, -consoleLog, etc) + * -vmargs ... a list of arguments for the VM itself + * + * The -vmargs option and all user specified VM arguments must appear + * at the end of the command line, after all arguments that are + * being passed to Java application. + * + * The argument order for the new Java VM process is as follows: + * + * + * -os + * -ws + * -arch + * -launcher + * -name + * -library + * -startup + * [-showsplash] + * [-exitdata ] + * + * -vm + * -vmargs + * + * where: + * = + * [] + * -jar + * + * + * The startup jar must be an executable jar. + * + * + * See "Main.java" for a simple implementation of the Java + * application. + * + * Configuration file + * The launcher gets arguments from the command line and/or from a configuration file. + * The configuration file must have the same name and location as the launcher executable + * and the extension .ini. For example, the eclipse.ini configuration file must be + * in the same folder as the eclipse.exe or eclipse executable. + * The format of the ini file matches that of the command line arguments - one + * argument per line. + * In general, the settings of the config file are expected to be overriden by the + * command line. + * - launcher arguments (-os, -arch...) set in the config file are overriden by the command line + * - the -vmargs from the command line replaces in its entirety the -vmargs from the config file. + * - user arguments from the config file are prepended to the user arguments defined in the + * config file. This is consistent with the java behaviour in the following case: + * java -Dtest="one" -Dtest="two" ... : test is set to the value "two" + */ + +#include "eclipseOS.h" +#include "eclipseUtil.h" +#include "eclipseShm.h" +#include "eclipseJNI.h" +#include "eclipseConfig.h" +#include "eclipseCommon.h" + +#ifdef _WIN32 +#include +#include +#include +#include +#else +#include +#include +#endif + +#include +#include +#include +#include +#include +#include +#include +#include + +#define MAX_PATH_LENGTH 2000 +#define MAX_SHARED_LENGTH (16 * 1024) + +/* Global Data */ +static _TCHAR* program = NULL; /* full pathname of the program */ +static _TCHAR* programDir = NULL; /* directory where program resides */ +static _TCHAR* javaVM = NULL; /* full pathname of the Java VM to run */ +static _TCHAR* jniLib = NULL; /* full path of a java vm library for JNI invocation */ +static _TCHAR* jarFile = NULL; /* full pathname of the startup jar file to run */ +static _TCHAR* sharedID = NULL; /* ID for the shared memory */ +static _TCHAR* officialName = NULL; + +_TCHAR* exitData = NULL; /* exit data set from Java */ +int initialArgc; +_TCHAR** initialArgv = NULL; + + +/* Define the special exit codes returned from Eclipse. */ +#define RESTART_LAST_EC 23 +#define RESTART_NEW_EC 24 + +/* constants for launch mode */ +#define LAUNCH_JNI 1 +#define LAUNCH_EXE 2 + +#define DEFAULT_EE _T_ECLIPSE("default.ee") + +/* Define error messages. (non-NLS) */ +static _TCHAR* exitMsg = _T_ECLIPSE("JVM terminated. Exit code=%d\n%s"); +static _TCHAR* javaFailureMsg = _T_ECLIPSE("Internal Error, unable to determine the results of running the JVM."); +static _TCHAR* returnCodeMsg = _T_ECLIPSE("Java was started but returned exit code=%d\n%s"); +static _TCHAR* goVMMsg = _T_ECLIPSE("Start VM: %s\n"); +static _TCHAR* pathMsg = _T_ECLIPSE("%s in your current PATH"); +static _TCHAR* shareMsg = _T_ECLIPSE("No exit data available."); +static _TCHAR* noVMMsg = +_T_ECLIPSE("A Java Runtime Environment (JRE) or Java Development Kit (JDK)\n\ +must be available in order to run %s. No Java virtual machine\n\ +was found after searching the following locations:\n\ +%s"); +static _TCHAR* startupMsg = +_T_ECLIPSE("The %s executable launcher was unable to locate its \n\ +companion launcher jar."); + +static _TCHAR* homeMsg = +_T_ECLIPSE("The %s executable launcher was unable to locate its \n\ +home directory."); + +#define OLD_STARTUP _T_ECLIPSE("startup.jar") +#define CLASSPATH_PREFIX _T_ECLIPSE("-Djava.class.path=") + +/* Define constants for the options recognized by the launcher. */ +#define CONSOLE _T_ECLIPSE("-console") +#define CONSOLELOG _T_ECLIPSE("-consoleLog") +#define DEBUG _T_ECLIPSE("-debug") +#define OS _T_ECLIPSE("-os") +#define OSARCH _T_ECLIPSE("-arch") +#define NOSPLASH _T_ECLIPSE("-nosplash") +#define LAUNCHER _T_ECLIPSE("-launcher") +#define SHOWSPLASH _T_ECLIPSE("-showsplash") +#define EXITDATA _T_ECLIPSE("-exitdata") +#define STARTUP _T_ECLIPSE("-startup") +#define VM _T_ECLIPSE("-vm") +#define WS _T_ECLIPSE("-ws") +#define NAME _T_ECLIPSE("-name") +#define VMARGS _T_ECLIPSE("-vmargs") /* special option processing required */ +#define CP _T_ECLIPSE("-cp") +#define CLASSPATH _T_ECLIPSE("-classpath") +#define JAR _T_ECLIPSE("-jar") + +#define OPENFILE _T_ECLIPSE("--launcher.openFile") +#define DEFAULTACTION _T_ECLIPSE("--launcher.defaultAction") +#define TIMEOUT _T_ECLIPSE("--launcher.timeout") +#define LIBRARY _T_ECLIPSE("--launcher.library") +#define SUPRESSERRORS _T_ECLIPSE("--launcher.suppressErrors") +#define INI _T_ECLIPSE("--launcher.ini") +#define APPEND_VMARGS _T_ECLIPSE("--launcher.appendVmargs") +#define OVERRIDE_VMARGS _T_ECLIPSE("--launcher.overrideVmargs") +#define SECOND_THREAD _T_ECLIPSE("--launcher.secondThread") +#define PERM_GEN _T_ECLIPSE("--launcher.XXMaxPermSize") + +#define XXPERMGEN _T_ECLIPSE("-XX:MaxPermSize=") +#define ACTION_OPENFILE _T_ECLIPSE("openFile") + +/* constants for ee options file */ +#define EE_EXECUTABLE _T_ECLIPSE("-Dee.executable=") +#define EE_CONSOLE _T_ECLIPSE("-Dee.executable.console=") +#define EE_VM_LIBRARY _T_ECLIPSE("-Dee.vm.library=") +#define EE_LIBRARY_PATH _T_ECLIPSE("-Dee.library.path=") +#define EE_HOME _T_ECLIPSE("-Dee.home=") +#define EE_FILENAME _T_ECLIPSE("-Dee.filename=") +#define EE_HOME_VAR _T_ECLIPSE("${ee.home}") + +/* Define the variables to receive the option values. */ +static int needConsole = 0; /* True: user wants a console */ +static int debug = 0; /* True: output debugging info */ +static int noSplash = 0; /* True: do not show splash win */ +static int suppressErrors = 0; /* True: do not display errors dialogs */ + int secondThread = 0; /* True: start the VM on a second thread */ +static int appendVmargs = 0; /* True: append cmdline vmargs to launcher.ini vmargs */ + +static _TCHAR* showSplashArg = NULL; /* showsplash data (main launcher window) */ +static _TCHAR* splashBitmap = NULL; /* the actual splash bitmap */ +static _TCHAR * startupArg = NULL; /* path of the startup.jar the user wants to run relative to the program path */ +static _TCHAR* vmName = NULL; /* Java VM that the user wants to run */ +static _TCHAR* name = NULL; /* program name */ +static _TCHAR* permGen = NULL; /* perm gen size for sun */ +static _TCHAR** filePath = NULL; /* list of files to open */ +static _TCHAR* timeoutString = NULL; /* timeout value for opening a file */ +static _TCHAR* defaultAction = NULL; /* default action for non '-' command line arguments */ +static _TCHAR* iniFile = NULL; /* the launcher.ini file set if --launcher.ini was specified */ + +/* variables for ee options */ +static _TCHAR* eeExecutable = NULL; +static _TCHAR* eeConsole = NULL; +static _TCHAR* eeLibrary = NULL; + +_TCHAR* eeLibPath = NULL; /* this one is global so others can see it */ +_TCHAR* eclipseLibrary = NULL; /* the shared library */ + +/* Define a table for processing command line options. */ +typedef struct +{ + _TCHAR* name; /* the option recognized by the launcher */ + void* value; /* the variable where the option value is saved */ + /* value is a _TCHAR** or int* depending on if VALUE_IS_FLAG is set */ + int flag; /* flags */ + int remove; /* the number of argments to remove from the list, -1 can be used with VALUE_IS_LIST */ +} Option; + +/* flags for the Option struct */ +#define VALUE_IS_FLAG 1 /* value is an int*, if not set, value is a _TCHAR** or _TCHAR*** (VALUE_IS_LIST) */ +#define OPTIONAL_VALUE 2 /* value is optional, if next arg does not start with '-', */ + /* don't assign it and only remove (remove - 1) arguments */ +#define ADJUST_PATH 4 /* value is a path, do processing on relative paths to try and make them absolute */ +#define VALUE_IS_LIST 8 /* value is a pointer to a tokenized _TCHAR* string for EE files, or a _TCHAR** list for the command line */ +#define INVERT_FLAG 16 /* invert the meaning of a flag, i.e. reset it */ + +static Option options[] = { + { CONSOLE, &needConsole, VALUE_IS_FLAG, 0 }, + { CONSOLELOG, &needConsole, VALUE_IS_FLAG, 0 }, + { DEBUG, &debug, VALUE_IS_FLAG, 0 }, + { NOSPLASH, &noSplash, VALUE_IS_FLAG, 1 }, + { SUPRESSERRORS, &suppressErrors, VALUE_IS_FLAG, 1}, + { SECOND_THREAD, &secondThread, VALUE_IS_FLAG, 1 }, + { APPEND_VMARGS, &appendVmargs, VALUE_IS_FLAG, 1 }, + { OVERRIDE_VMARGS, &appendVmargs, VALUE_IS_FLAG | INVERT_FLAG, 1 }, + { LIBRARY, NULL, 0, 2 }, /* library was parsed by exe, just remove it */ + { INI, &iniFile, 0, 2 }, + { OS, &osArg, 0, 2 }, + { OSARCH, &osArchArg, 0, 2 }, + { SHOWSPLASH, &showSplashArg, OPTIONAL_VALUE, 2 }, + { STARTUP, &startupArg, 0, 2 }, + { VM, &vmName, 0, 2 }, + { NAME, &name, 0, 2 }, + { PERM_GEN, &permGen, 0, 2 }, + { OPENFILE, &filePath, ADJUST_PATH | VALUE_IS_LIST, -1 }, + { TIMEOUT, &timeoutString, 0, 2 }, + { DEFAULTACTION,&defaultAction, 0, 2 }, + { WS, &wsArg, 0, 2 } }; +static int optionsSize = (sizeof(options) / sizeof(options[0])); + +static Option eeOptions[] = { + { EE_EXECUTABLE, &eeExecutable, ADJUST_PATH, 0 }, + { EE_CONSOLE, &eeConsole, ADJUST_PATH, 0 }, + { EE_VM_LIBRARY, &eeLibrary, ADJUST_PATH, 0 }, + { EE_LIBRARY_PATH, &eeLibPath, ADJUST_PATH | VALUE_IS_LIST, 0 } +}; +static int eeOptionsSize = (sizeof(eeOptions) / sizeof(eeOptions[0])); + +/* Define the required VM arguments (all platforms). */ +static _TCHAR* cp = NULL; +static _TCHAR* cpValue = NULL; +static _TCHAR** reqVMarg[] = { &cp, &cpValue, NULL }; /* required VM args */ +static _TCHAR** userVMarg = NULL; /* user specific args for the Java VM */ +static _TCHAR** eeVMarg = NULL; /* vm args specified in ee file */ +static int nEEargs = 0; + +/* Local methods */ +static void parseArgs( int* argc, _TCHAR* argv[] ); +static void processDefaultAction(int argc, _TCHAR* argv[]); +static void mergeUserVMArgs( _TCHAR **vmArgs[] ); +static void getVMCommand( int launchMode, int argc, _TCHAR* argv[], _TCHAR **vmArgv[], _TCHAR **progArgv[] ); +static int determineVM(_TCHAR** msg); +static int vmEEProps(_TCHAR* eeFile, _TCHAR** msg); +static int processEEProps(_TCHAR* eeFile); +static _TCHAR** buildLaunchCommand( _TCHAR* program, _TCHAR** vmArgs, _TCHAR** progArgs ); +static _TCHAR** parseArgList( _TCHAR *data ); +static _TCHAR* formatVmCommandMsg( _TCHAR* args[], _TCHAR* vmArgs[], _TCHAR* progArgs[] ); +static _TCHAR* getDefaultOfficialName(); +static _TCHAR* findStartupJar(); +static _TCHAR* findSplash(_TCHAR* splashArg); +static _TCHAR** getRelaunchCommand( _TCHAR **vmCommand ); +static const _TCHAR* getVMArch(); + +#ifdef _WIN32 +static void createConsole(); +static void fixDLLSearchPath(); +static int isConsoleLauncher(); +#endif +static int consoleLauncher = 0; + +/* Record the arguments that were used to start the original executable */ +JNIEXPORT void setInitialArgs(int argc, _TCHAR** argv, _TCHAR* lib) { + initialArgc = argc; + initialArgv = argv; + eclipseLibrary = lib; +} + +/* this method must match the RunMethod typedef in eclipseMain.c */ +/* vmArgs must be NULL terminated */ +JNIEXPORT int run(int argc, _TCHAR* argv[], _TCHAR* vmArgs[]) +{ + _TCHAR** vmCommand = NULL; + _TCHAR** vmCommandArgs = NULL; + _TCHAR** progCommandArgs = NULL; + _TCHAR** relaunchCommand = NULL; + _TCHAR* errorMsg = NULL, *msg = NULL; + JavaResults* javaResults = NULL; + int launchMode; + int running = 1; + + /* arg[0] should be the full pathname of this program. */ + program = _tcsdup( argv[0] ); + + /* Parse command line arguments (looking for the VM to use). */ + /* Override configuration file arguments */ + parseArgs( &argc, argv ); + + /* Initialize official program name */ + officialName = name != NULL ? _tcsdup( name ) : getDefaultOfficialName(); + + if (defaultAction != NULL) { + processDefaultAction(initialArgc, initialArgv); + } + + /* try to open the specified file in an already running eclipse */ + /* on Mac we are only registering an event handler here, always do this */ +#ifndef MACOSX + if (filePath != NULL && filePath[0] != NULL) +#endif + { + int timeout = 60; + if (timeoutString != NULL) + _stscanf(timeoutString, _T_ECLIPSE("%d"), &timeout); + if (reuseWorkbench(filePath, timeout) > 0) + return 0; + } + +#ifdef MACOSX + /* Most platforms, we will initialize the window system later before trying to do any + * graphics. On Mac, we need it initialized to get the dock icon properly, so always do + * it now. + */ + initWindowSystem( &argc, argv, !noSplash ); +#elif _WIN32 + /* this must be before doing any console stuff, platforms other than win32 leave this set to 0 */ + consoleLauncher = isConsoleLauncher(); + + /*fix the DLL search path for security */ + fixDLLSearchPath(); +#endif + + /* Find the directory where the Eclipse program is installed. */ + programDir = getProgramDir(); + if (programDir == NULL) + { + errorMsg = malloc( (_tcslen(homeMsg) + _tcslen(officialName) + 10) * sizeof(_TCHAR) ); + _stprintf( errorMsg, homeMsg, officialName ); + if (!suppressErrors) + displayMessage( officialName, errorMsg ); + else + _ftprintf(stderr, _T_ECLIPSE("%s:\n%s\n"), officialName, errorMsg); + free( errorMsg ); + exit( 1 ); + } + + if (vmArgs != NULL) { + /* reconcile VM Args from commandline with launcher.ini (append or override), + * this always allocates new memory */ + mergeUserVMArgs(&vmArgs); + /* platform specific processing of user's vmargs */ + processVMArgs(&vmArgs); + } + + launchMode = determineVM(&msg); + if (launchMode == -1) { + /* problem */ + errorMsg = malloc((_tcslen(noVMMsg) + _tcslen(officialName) + _tcslen(msg) + 1) * sizeof(_TCHAR)); + _stprintf( errorMsg, noVMMsg, officialName, msg ); + if (!suppressErrors) + displayMessage( officialName, errorMsg ); + else + _ftprintf(stderr, _T_ECLIPSE("%s:\n%s\n"), officialName, errorMsg); + free( errorMsg ); + free( msg ); + exit(1); + } + + /* Find the startup.jar */ + jarFile = findStartupJar(); + if(jarFile == NULL) { + errorMsg = malloc( (_tcslen(startupMsg) + _tcslen(officialName) + 10) * sizeof(_TCHAR) ); + _stprintf( errorMsg, startupMsg, officialName ); + if (!suppressErrors) + displayMessage( officialName, errorMsg ); + else + _ftprintf(stderr, _T_ECLIPSE("%s:\n%s\n"), officialName, errorMsg); + free( errorMsg ); + exit( 1 ); + } + +#ifdef _WIN32 + if( launchMode == LAUNCH_JNI && (debug || needConsole) ) { + createConsole(); + } +#endif + + /* If the showsplash option was given and we are using JNI */ + if (!noSplash && showSplashArg) + { + splashBitmap = findSplash(showSplashArg); + if (splashBitmap != NULL && launchMode == LAUNCH_JNI) { + showSplash(splashBitmap); + } + } + + /* not using JNI launching, need some shared data */ + if (launchMode == LAUNCH_EXE && createSharedData( &sharedID, MAX_SHARED_LENGTH )) { + if (debug) { + if (!suppressErrors) + displayMessage( officialName, shareMsg ); + else + _ftprintf(stderr, _T_ECLIPSE("%s:\n%s\n"), officialName, shareMsg); + } + } + + /* the startup jarFile goes on the classpath */ + if (launchMode == LAUNCH_JNI) { + /* JNI launching, classpath is set using -Djava.class.path */ + cp = malloc((_tcslen(CLASSPATH_PREFIX) + _tcslen(jarFile) + 1) * sizeof(_TCHAR)); + cp = _tcscpy(cp, CLASSPATH_PREFIX); + _tcscat(cp, jarFile); + } else { + /* exec java, jar is specified with -jar */ + cp = JAR; + cpValue = malloc((_tcslen(jarFile) + 1) * sizeof(_TCHAR)); + _tcscpy(cpValue, jarFile); + } + + /* Get the command to start the Java VM. */ + userVMarg = vmArgs; + getVMCommand( launchMode, argc, argv, &vmCommandArgs, &progCommandArgs ); + + if (launchMode == LAUNCH_EXE) { + vmCommand = buildLaunchCommand(javaVM, vmCommandArgs, progCommandArgs); + } + + /* While the Java VM should be restarted */ + while(running) + { + msg = formatVmCommandMsg( vmCommand, vmCommandArgs, progCommandArgs ); + if (debug) _tprintf( goVMMsg, msg ); + + if(launchMode == LAUNCH_JNI) { + javaResults = startJavaVM(jniLib, vmCommandArgs, progCommandArgs, jarFile); + } else { + javaResults = launchJavaVM(vmCommand); + } + + if (javaResults == NULL) { + /* shouldn't happen, but just in case */ + javaResults = malloc(sizeof(JavaResults)); + javaResults->launchResult = -11; + javaResults->runResult = 0; + javaResults->errorMessage = _tcsdup(javaFailureMsg); + } + + switch( javaResults->launchResult + javaResults->runResult ) { + case 0: /* normal exit */ + running = 0; + break; + case RESTART_LAST_EC: + if (launchMode == LAUNCH_JNI) { + /* copy for relaunch, +1 to ensure NULL terminated */ + relaunchCommand = malloc((initialArgc + 1) * sizeof(_TCHAR*)); + memcpy(relaunchCommand, initialArgv, (initialArgc + 1) * sizeof(_TCHAR*)); + relaunchCommand[initialArgc] = 0; + relaunchCommand[0] = program; + running = 0; + } + break; + + case RESTART_NEW_EC: + if(launchMode == LAUNCH_EXE) { + if (exitData != NULL) free(exitData); + if (getSharedData( sharedID, &exitData ) != 0) + exitData = NULL; + } + if (exitData != 0) { + if (vmCommand != NULL) free( vmCommand ); + vmCommand = parseArgList( exitData ); + if (launchMode == LAUNCH_JNI) { + relaunchCommand = getRelaunchCommand(vmCommand); + running = 0; + } + } else { + running = 0; + if (debug) { + if (!suppressErrors) + displayMessage( officialName, shareMsg ); + else + _ftprintf(stderr, _T_ECLIPSE("%s:\n%s\n"), officialName, shareMsg); + } + } + break; + default: { + _TCHAR *title = _tcsdup(officialName); + running = 0; + errorMsg = NULL; + if (launchMode == LAUNCH_EXE) { + if (exitData != NULL) free(exitData); + if (getSharedData( sharedID, &exitData ) != 0) + exitData = NULL; + } + if (exitData != 0) { + errorMsg = exitData; + exitData = NULL; + if (_tcslen( errorMsg ) > 0) { + _TCHAR *str; + if (_tcsncmp(errorMsg, _T_ECLIPSE(""), _tcslen(_T_ECLIPSE("<title>"))) == 0) { + str = _tcsstr(errorMsg, _T_ECLIPSE("")); + if (str != NULL) { + free( title ); + str[0] = _T_ECLIPSE('\0'); + title = _tcsdup( errorMsg + _tcslen(_T_ECLIPSE("")) ); + str = _tcsdup( str + _tcslen(_T_ECLIPSE("")) ); + free( errorMsg ); + errorMsg = str; + } + } + } + } else { + if (debug) { + if (!suppressErrors) + displayMessage( title, shareMsg ); + else + _ftprintf(stderr, _T_ECLIPSE("%s:\n%s\n"), title, shareMsg); + } + } + if (errorMsg == NULL) { + if (javaResults->runResult) { + /* java was started ok, but returned non-zero exit code */ + errorMsg = malloc( (_tcslen(returnCodeMsg) + _tcslen(msg) + 10) *sizeof(_TCHAR)); + _stprintf(errorMsg, returnCodeMsg,javaResults->runResult, msg); + } else if (javaResults->errorMessage != NULL){ + /* else we had a problem launching java, use custom error message */ + errorMsg = javaResults->errorMessage; + } else { + /* no custom message, use generic message */ + errorMsg = malloc( (_tcslen(exitMsg) + _tcslen(msg) + 10) * sizeof(_TCHAR) ); + _stprintf( errorMsg, exitMsg, javaResults->launchResult, msg ); + } + } + + if (_tcslen(errorMsg) > 0) { + if (!suppressErrors) + displayMessage( title, errorMsg ); + else + _ftprintf(stderr, _T_ECLIPSE("%s:\n%s\n"), title, errorMsg); + } + free( errorMsg ); + free( title ); + break; + } + } + free( msg ); + } + + if(relaunchCommand != NULL) + restartLauncher(NULL, relaunchCommand); + + if (launchMode == LAUNCH_JNI) + cleanupVM(javaResults->launchResult ? javaResults->launchResult : javaResults->runResult); + + if (sharedID != NULL) { + destroySharedData( sharedID ); + free( sharedID ); + } + + /* Cleanup time. */ + free( vmCommandArgs ); + free( progCommandArgs ); + free( jarFile ); + free( programDir ); + free( program ); + free( officialName ); + if(vmCommand != NULL) free(vmCommand); + if(launchMode == LAUNCH_JNI) free(cp); + if(cpValue != NULL) free(cpValue); + if(exitData != NULL) free(exitData); + if(splashBitmap != NULL) free(splashBitmap); + if(vmArgs != NULL) free(vmArgs); + + if (javaResults == NULL) + return -1; + + /* reuse the running variable for convenience */ + running = javaResults->launchResult != 0 ? javaResults->launchResult : javaResults->runResult; + free(javaResults); + return running; +} + +static _TCHAR** buildLaunchCommand( _TCHAR* program, _TCHAR** vmArgs, _TCHAR** progArgs ) { + int nVM = -1, nProg = -1; + _TCHAR** result; + + while(vmArgs[++nVM] != NULL) {} + while(progArgs[++nProg] != NULL) {} + + result = malloc((nVM + nProg + 2) * sizeof(_TCHAR*)); + memset(result, 0, (nVM + nProg + 2) * sizeof(_TCHAR*)); + result[0] = program; + memcpy(result + 1, vmArgs, nVM * sizeof(_TCHAR*)); + memcpy(result + 1 + nVM, progArgs, nProg * sizeof(_TCHAR*)); + return result; +} + +static void processDefaultAction(int argc, _TCHAR* argv[]) { + /* scan the arg list, no default if any start with '-' */ + int i = 0; + for (i = 0; i < argc; i++) { + if (argv[i][0] == _T_ECLIPSE('-')) + return; + } + /* argv[0] is the program (eclipse), we process the default actions by inserting + * the appropriate -argument at argv[1] + */ + if (argc <= 1) + return; + + if (_tcsicmp(defaultAction, ACTION_OPENFILE) == 0) { + int newArgc = argc + 1; + _TCHAR ** newArgv = malloc((newArgc + 1) * sizeof(_TCHAR*)); + newArgv[0] = argv[0]; + newArgv[1] = OPENFILE; + memcpy(&newArgv[2], &argv[1], argc * sizeof(_TCHAR*)); + parseArgs(&newArgc, newArgv); + free(newArgv); + } +} + +/* + * Parse arguments of the command. + */ +static void parseArgs(int* pArgc, _TCHAR* argv[]) { + Option* option; + int remArgs; + int index; + int i; + _TCHAR * c; + + /* For each user defined argument (excluding the program) */ + for (index = 1; index < *pArgc; index++) { + remArgs = 0; + + /* Find the corresponding argument is a option supported by the launcher */ + option = NULL; + for (i = 0; option == NULL && i < optionsSize; i++) { + if (_tcsicmp(argv[index], options[i].name) == 0) { + option = &options[i]; + break; + } + } + + /* If the option is recognized by the launcher */ + if (option != NULL) { + int optional = 0; + c = option->name; + /* If the option requires a value and there is one, extract the value. */ + if (option->value != NULL) { + if (option->flag & VALUE_IS_FLAG) + *((int *) option->value) = (option->flag & INVERT_FLAG) ? 0 : 1; + else { + int count = 1; + if (option->flag & VALUE_IS_LIST) { + /* count how many args, this is the -argument itself + following the non'-' args */ + while (count + index < *pArgc && argv[count + index][0] != _T_ECLIPSE('-')) + count++; + + /* allocate memory for a _TCHAR* list and initialize it with NULLs*/ + *((void**) option->value) = malloc(count * sizeof(_TCHAR *)); + memset(*((void **) option->value), 0, count * sizeof(_TCHAR *)); + + if (option->remove != 0) + option->remove = count; + } + + for (i = 0; i < count; i++) { + if ((index + i + 1) < *pArgc) { + _TCHAR * next = argv[index + i + 1]; + if (option->flag & ADJUST_PATH) + next = checkPath(next, getProgramDir(), 0); + if (next[0] != _T_ECLIPSE('-')) { + if (option->flag & VALUE_IS_LIST) + (*((_TCHAR***) option->value))[i] = next; + else + *((_TCHAR**) option->value) = next; + } else if (option->flag & OPTIONAL_VALUE) { + /* value was optional, and the next arg starts with '-' */ + optional = 1; + } + } + } + } + } + + /* If the option requires a flag to be set, set it. */ + remArgs = option->remove - optional; + } + + /* Remove any matched arguments from the list. */ + if (remArgs > 0) { + for (i = (index + remArgs); i <= *pArgc; i++) { + argv[i - remArgs] = argv[i]; + } + index--; + *pArgc -= remArgs; + } + } +} + +/* + * Parse the data into a list of arguments separated by \n. + */ +static _TCHAR** parseArgList( _TCHAR* data ) { + int totalArgs = 0, dst = 0; + size_t length; + _TCHAR *ch1, *ch2, **execArg; + length = _tcslen( data ); + ch1 = ch2 = data; + while ((ch2 = _tcschr( ch1, _T_ECLIPSE('\n') )) != NULL) { + totalArgs++; + ch1 = ch2 + 1; + } + if (ch1 != data + length) totalArgs++; + execArg = malloc( (totalArgs + 1) * sizeof( _TCHAR* ) ); + ch1 = ch2 = data; + while ((ch2 = _tcschr( ch1, _T_ECLIPSE('\n') )) != NULL) { + execArg[ dst++ ] = ch1; + ch2[ 0 ] = _T_ECLIPSE('\0'); + ch1 = ch2 + 1; + } + if (ch1 != data + length) execArg[ dst++ ] = ch1; + execArg[ dst++ ] = NULL; + return execArg; +} + +/* Return the list of args from the launcher ini file (if it exists). Caller is responsible to free(). */ +static _TCHAR** getConfigArgs() { + _TCHAR** configArgv = NULL; + _TCHAR * configFile = NULL; + int configArgc = 0; + int ret = 0; + + configFile = (iniFile != NULL) ? iniFile : getIniFile(program, consoleLauncher); + ret = readConfigFile(configFile, &configArgc, &configArgv); + if (ret == 0) + return configArgv; + return NULL; +} + +/** Append Commandline VM Args to VM Args that came from the launcher.ini + * Always returns new memory even if no new arguments were appended */ +static void mergeUserVMArgs(_TCHAR **vmArgs[]) { + _TCHAR** configVMArgs = NULL; + _TCHAR** configArgs = NULL; + + if (appendVmargs != 0 && indexOf(VMARGS, initialArgv) > 0) { + /* Get vmargs from the launcher.ini, if any */ + configArgs = getConfigArgs(); + if (configArgs != NULL) { + int vmArg = indexOf(VMARGS, configArgs); + if (vmArg >= 0) + configVMArgs = configArgs + vmArg + 1; + } + } + + /* This always allocates new memory so we don't need to guess if it is safe + * to free later */ + *vmArgs = concatArgs(configVMArgs, *vmArgs); + if (configArgs != NULL) + free(configArgs); +} + +static void adjustVMArgs(_TCHAR *javaVM, _TCHAR *jniLib, _TCHAR **vmArgv[]) { + /* Sun VMs need some extra perm gen space */ + /* Detecting Sun VM is expensive - only do so if necessary */ + if (permGen != NULL) { + int specified = 0, i = -1; + + /* first check to see if it is already specified */ + while ((*vmArgv)[++i] != NULL) { + /* we are also counting the number of args here */ + if (!specified && _tcsncmp((*vmArgv)[i], XXPERMGEN, _tcslen(XXPERMGEN)) == 0) { + specified = 1; + } + } + + if (!specified && isSunVM(javaVM, jniLib)) { + _TCHAR ** oldArgs = *vmArgv; + _TCHAR *newArg = malloc((_tcslen(XXPERMGEN) + _tcslen(permGen) + 1) * sizeof(_TCHAR)); + _stprintf(newArg, _T_ECLIPSE("%s%s"), XXPERMGEN, permGen); + + *vmArgv = malloc((i + 2) * sizeof(_TCHAR *)); + memcpy(*vmArgv, oldArgs, i * sizeof(_TCHAR *)); + (*vmArgv)[i] = newArg; + (*vmArgv)[i + 1] = 0; + } + } +} + +/* + * Get the command and arguments to start the Java VM. + * + * Memory allocated by this function is assumed to be + * deallocated when the program terminates. + * + * Some of the arguments returned by this function were + * passed directly from the main( argv ) array so they + * should not be deallocated. + * + * Arguments are split into 2: vm arguments and program arguments + */ +static void getVMCommand( int launchMode, int argc, _TCHAR* argv[], _TCHAR **vmArgv[], _TCHAR **progArgv[] ) +{ + _TCHAR** vmArg; + int nReqVMarg = 0; + int nVMarg = 0; + int totalVMArgs; + int totalProgArgs; + int src; + int dst; + + /* If the user specified "-vmargs", add them instead of the default VM args. */ + vmArg = (userVMarg != NULL) ? userVMarg : getArgVM( (launchMode == LAUNCH_JNI) ? jniLib : javaVM ); + + adjustVMArgs(javaVM, jniLib, &vmArg); + + /* Calculate the number of VM arguments. */ + while (vmArg[ nVMarg ] != NULL) + nVMarg++; + + /* Calculate the number of required VM arguments. */ + while (reqVMarg[ nReqVMarg ] != NULL) + nReqVMarg++; + + /* VM argument list */ + totalVMArgs = nVMarg + nReqVMarg + nEEargs + 1; + *vmArgv = malloc( totalVMArgs * sizeof(_TCHAR*) ); + + dst = 0; + for (src = 0; src < nVMarg; src++){ + /*if the user specified a classpath, skip it */ + if(_tcscmp(vmArg[src], cp) == 0){ + src++; + continue; + } + (*vmArgv)[ dst++ ] = vmArg[ src ]; + } + + if (eeVMarg != NULL) + for (src = 0; src < nEEargs; src++) + (*vmArgv)[ dst++ ] = eeVMarg[ src ]; + + /* For each required VM arg */ + for (src = 0; src < nReqVMarg; src++) + if( *(reqVMarg[src]) != NULL) + (*vmArgv)[ dst++ ] = *(reqVMarg[ src ]); + + + (*vmArgv)[dst] = NULL; + + /* Program arguments */ + /* OS + WS + ARCH + LAUNCHER + NAME + + * + LIBRARY + SHOWSPLASH + EXITDATA + STARTUP + OVERRIDE/APPEND + argv[] + VM + + + * VMARGS + vmArg + requiredVMargs + * + NULL) + */ + totalProgArgs = 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 1 + argc + 2 + 1 + nVMarg + nEEargs + nReqVMarg + 1; + *progArgv = malloc( totalProgArgs * sizeof( _TCHAR* ) ); + dst = 0; + + /* Append the required options. */ + (*progArgv)[ dst++ ] = OS; + (*progArgv)[ dst++ ] = osArg; + (*progArgv)[ dst++ ] = WS; + (*progArgv)[ dst++ ] = wsArg; + if (_tcslen(osArchArg) > 0) { + (*progArgv)[ dst++ ] = OSARCH; + (*progArgv)[ dst++ ] = osArchArg; + } + + /* Append the show splash window command, if defined. */ + if (!noSplash) + { + (*progArgv)[ dst++ ] = SHOWSPLASH; + if(splashBitmap != NULL) + (*progArgv)[ dst++ ] = splashBitmap; + } + + /* Append the launcher command */ + (*progArgv)[ dst++ ] = LAUNCHER; + (*progArgv)[ dst++ ] = program; + + /* Append the name command */ + (*progArgv)[ dst++ ] = NAME; + (*progArgv)[ dst++ ] = officialName; + + /* And the shared library */ + if (eclipseLibrary != NULL) { + (*progArgv)[ dst++ ] = LIBRARY; + (*progArgv)[ dst++ ] = eclipseLibrary; + } + + /* the startup jar */ + (*progArgv)[ dst++ ] = STARTUP; + (*progArgv)[ dst++ ] = jarFile; + + /* override or append vm args */ + (*progArgv)[ dst++ ] = appendVmargs ? APPEND_VMARGS : OVERRIDE_VMARGS; + + /* Append the exit data command. */ + if (sharedID) { + (*progArgv)[ dst++ ] = EXITDATA; + (*progArgv)[ dst++ ] = sharedID; + } + + /* Append the remaining user defined arguments. */ + for (src = 1; src < argc; src++) + { + (*progArgv)[ dst++ ] = argv[ src ]; + } + + /* Append VM and VMARGS to be able to relaunch using exit data. */ + (*progArgv)[ dst++ ] = VM; + if(jniLib != NULL) + (*progArgv)[ dst++ ] = jniLib; + else + (*progArgv)[ dst++ ] = javaVM; + (*progArgv)[ dst++ ] = VMARGS; + + for (src = 0; src < nVMarg; src++) + (*progArgv)[ dst++ ] = vmArg[ src ]; + + if (eeVMarg != NULL) + for (src = 0; src < nEEargs; src++) + (*progArgv)[ dst++ ] = eeVMarg[ src ]; + + /* For each required VM arg */ + for (src = 0; src < nReqVMarg; src++) + if (*(reqVMarg[src]) != NULL) + (*progArgv)[ dst++ ] = *(reqVMarg[ src ]); + + (*progArgv)[ dst++ ] = NULL; + + } + + /* Format the JVM start command for error messages + * + * This method formats a string with the JVM start command (and all arguments) + * that can be used in displaying error messages. The string returned from this + * method is probably not NLS compliant and must be deallocated by the caller. + * + * The arguments in the message are either args (if not null) or the combination + * of vmArgs + progArgs + */ +static _TCHAR* formatVmCommandMsg( _TCHAR* args[], _TCHAR* vmArgs[], _TCHAR* progArgs[] ) +{ + int index; + size_t length = 0; + _TCHAR** list; + _TCHAR* ch; + _TCHAR* message; + + /* Determine the length of the message buffer. */ + if(args != NULL) list = args; + else list = vmArgs; + while(list != NULL) { + for (index = 0; list[index] != NULL; index++) + { + length += _tcslen(list[index]) + 1; + } + if(list == vmArgs) list = progArgs; + else list = NULL; + } + message = malloc( (length + 5) * sizeof(_TCHAR) ); + + /* Format the message such that options (args starting with '-') begin + on a new line. Otherwise, the Motif MessageBox does not automatically wrap + the messages and the message window can extend beyond both sides of the display. */ + ch = message; + if(args != NULL) list = args; + else list = vmArgs; + while(list != NULL) { + for (index = 0; list[index] != NULL; index++) + { + if (ch != message && list[index][0] == _T_ECLIPSE('-') && *(ch-1) == _T_ECLIPSE(' ')) + *(ch-1) = _T_ECLIPSE('\n'); + _tcscpy( ch, list[index] ); + ch += _tcslen( list[index] ); + *ch++ = _T_ECLIPSE(' '); + } + if(list == vmArgs) list = progArgs; + else list = NULL; + } + *ch = _T_ECLIPSE('\0'); + + return message; +} + +_TCHAR* getOfficialName() { + return officialName; +} + +void setOfficialName(_TCHAR* name) { + officialName = name; +} + +_TCHAR* getProgramPath() { + return program; +} + +void setProgramPath(_TCHAR* path) { + program = path; +} + +/* + * Determine the default official application name + * + * This function provides the default application name that appears in a variety of + * places such as: title of message dialog, title of splash screen window + * that shows up in Windows task bar. + * It is computed from the name of the launcher executable and + * by capitalizing the first letter. e.g. "c:/ide/eclipse.exe" provides + * a default name of "Eclipse". + */ +static _TCHAR* getDefaultOfficialName() +{ + _TCHAR *ch = NULL; + + /* Skip the directory part */ + ch = lastDirSeparator( program ); + if (ch == NULL) ch = program; + else ch++; + + ch = _tcsdup( ch ); +#ifdef _WIN32 + { + /* Search for the extension .exe and cut it */ + _TCHAR *extension = _tcsrchr(ch, _T_ECLIPSE('.')); + if (extension != NULL) + { + *extension = _T_ECLIPSE('\0'); + } + } +#endif + /* Upper case the first character */ +#ifndef LINUX + { + *ch = _totupper(*ch); + } +#else + { + if (*ch >= 'a' && *ch <= 'z') + { + *ch -= 32; + } + } +#endif + return ch; +} + +/* Determine the Program Directory + * + * This function takes the directory where program executable resides and + * determines the installation directory. + */ +_TCHAR* getProgramDir( ) +{ + _TCHAR* ch; + _TCHAR* programDir; + if (program == NULL) + return NULL; + programDir = malloc( (_tcslen( program ) + 1) * sizeof(_TCHAR) ); + _tcscpy( programDir, program ); + ch = lastDirSeparator( programDir ); + if (ch != NULL) + { + *(ch+1) = _T_ECLIPSE('\0'); + return programDir; + } + + free( programDir ); + return NULL; +} + +static _TCHAR* findSplash(_TCHAR* splashArg) { + struct _stat stats; + _TCHAR *ch; + _TCHAR *path, *prefix; + size_t length; + + if (splashArg == NULL) + return NULL; + + splashArg = _tcsdup(splashArg); + length = _tcslen(splashArg); + /* _tstat doesn't seem to like dirSeparators on the end */ + while (IS_DIR_SEPARATOR(splashArg[length - 1])) { + splashArg[--length] = 0; + } + + /* does splashArg exist */ + if (_tstat(splashArg, &stats) == 0) { + /* pointing to a file */ + if (stats.st_mode & S_IFREG) { + /* file, use it*/ + return splashArg; + } else if (stats.st_mode & S_IFDIR) { + /*directory, look for splash.bmp*/ + ch = malloc( (length + 12) * sizeof(_TCHAR)); + _stprintf( ch, _T_ECLIPSE("%s%c%s"), splashArg, dirSeparator, _T_ECLIPSE("splash.bmp") ); + if (_tstat(ch, &stats) == 0 && stats.st_mode & S_IFREG) { + free(splashArg); + return ch; + } + free(ch); + } + free(splashArg); + return NULL; + } + + /* doesn't exist, separate into path & prefix and look for a /path/prefix_ */ + ch = lastDirSeparator( splashArg ); + if (ch != NULL) { + if (IS_ABSOLUTE(splashArg)) + { /*absolute path*/ + path = _tcsdup(splashArg); + path[ch - splashArg] = 0; + } else { + /* relative path, prepend with programDir */ + path = malloc( (_tcslen(programDir) + ch - splashArg + 2) * sizeof(_TCHAR)); + *ch = 0; + _stprintf(path, _T_ECLIPSE("%s%c%s"), programDir, dirSeparator, splashArg); + *ch = dirSeparator; + } + prefix = _tcsdup(ch + 1); + } else { + /* No separator, treat splashArg as the prefix and look in the plugins dir */ + path = malloc( (_tcslen(programDir) + 9) * sizeof(_TCHAR)); + _stprintf(path, _T_ECLIPSE("%s%c%s"), programDir, dirSeparator, _T_ECLIPSE("plugins")); + prefix = _tcsdup(splashArg); + } + + ch = findFile(path, prefix); + free(path); + free(prefix); + free(splashArg); + if (ch != NULL) { + path = malloc((_tcslen(ch) + 12) * sizeof(_TCHAR)); + _stprintf( path, _T_ECLIPSE("%s%c%s"), ch, dirSeparator, _T_ECLIPSE("splash.bmp") ); + return path; + } + return NULL; +} + +static _TCHAR* findStartupJar(){ + _TCHAR * file, *ch; + _TCHAR * pluginsPath; + struct _stat stats; + size_t pathLength, progLength; + + if( startupArg != NULL ) { + /* startup jar was specified on the command line */ + ch = _tcsdup(startupArg); + /* check path will check relative paths against programDir and workingDir */ + file = checkPath(ch, programDir, 1); + if(file != ch) + free(ch); + /* check existence */ + if (_tstat( file, &stats ) != 0) { + free(file); + file = NULL; + } + return file; + } + + progLength = pathLength = _tcslen(programDir); +#ifdef MACOSX + pathLength += 9; +#endif + pluginsPath = malloc( (pathLength + 1 + 7 + 1) * sizeof(_TCHAR)); + _tcscpy(pluginsPath, programDir); + if(!IS_DIR_SEPARATOR(pluginsPath[progLength - 1])) { + pluginsPath[progLength] = dirSeparator; + pluginsPath[progLength + 1] = 0; + } +#ifdef MACOSX + _tcscat(pluginsPath, _T_ECLIPSE("../../../")); +#endif + _tcscat(pluginsPath, _T_ECLIPSE("plugins")); + + /* equinox startup jar? */ + file = findFile(pluginsPath, DEFAULT_EQUINOX_STARTUP); + if(file != NULL) + return file; + + /* old startup.jar? */ + ch = OLD_STARTUP; + file = checkPath(ch, programDir, 1); + if (_tstat( file, &stats ) == 0) + return (file == ch) ? _tcsdup(ch) : file; + + return NULL; +} + +/* + * Return the portion of the vmCommand that should be used for relaunching + * + * The memory allocated for the command array must be freed + */ +static _TCHAR ** getRelaunchCommand( _TCHAR **vmCommand ) +{ + int i = -1, req = 0, begin = -1; + int idx = 0; + _TCHAR ** relaunch; + + if (vmCommand == NULL) return NULL; + while(vmCommand[++i] != NULL){ + if ( begin == -1 && _tcsicmp( vmCommand[i], *reqVMarg[req] ) == 0) { + if(reqVMarg[++req] == NULL || *reqVMarg[req] == NULL){ + begin = i + 1; + } + } + } + + relaunch = malloc((1 + i + 1) * sizeof(_TCHAR *)); + relaunch[idx++] = program; + if(begin == -1) { + begin = 1; + } + for (i = begin; vmCommand[i] != NULL; i++){ + if (_tcsicmp(vmCommand[i], SHOWSPLASH) == 0) { + /* remove if the next argument is not the bitmap to show */ + if(vmCommand[i + 1] != NULL && vmCommand[i + 1][0] == _T_ECLIPSE('-')) { + continue; + } + } else if(_tcsncmp(vmCommand[i], CLASSPATH_PREFIX, _tcslen(CLASSPATH_PREFIX)) == 0) { + /* skip -Djava.class.path=... */ + continue; + } + relaunch[idx++] = vmCommand[i]; + } + if(_tcsicmp(relaunch[idx - 1], VMARGS) == 0) + relaunch[idx - 1] = NULL; + relaunch[idx] = NULL; + return relaunch; +} + +#ifdef _WIN32 +static void createConsole() { +#ifndef WIN64 +#define intptr_t long +#endif + intptr_t stdHandle; + int conHandle; + FILE *fp; + + AllocConsole(); + + /* redirect stdout */ + stdHandle = (intptr_t) GetStdHandle(STD_OUTPUT_HANDLE); + conHandle = _open_osfhandle(stdHandle, _O_TEXT); + if (conHandle != -1) { + fp = _fdopen(conHandle, "w"); + *stdout = *fp; + } + + /* redirect stdin */ + stdHandle = (intptr_t) GetStdHandle(STD_INPUT_HANDLE); + conHandle = _open_osfhandle(stdHandle, _O_TEXT); + if (conHandle != -1) { + fp = _fdopen(conHandle, "r"); + *stdin = *fp; + } + + /* stderr */ + stdHandle = (intptr_t) GetStdHandle(STD_ERROR_HANDLE); + conHandle = _open_osfhandle(stdHandle, _O_TEXT); + if (conHandle != -1) { + fp = _fdopen(conHandle, "r"); + *stderr = *fp; + } +} + +/* Determine if the launcher was the eclipsec.exe or not based on whether we have an attached console. + * This will only be correct if called before createConsole. + */ +static int isConsoleLauncher() { + HWND (WINAPI *GetConsoleWindow)(); + void * handle = loadLibrary(_T_ECLIPSE("Kernel32.dll")); + if (handle != NULL) { + if ( (GetConsoleWindow = findSymbol(handle, _T_ECLIPSE("GetConsoleWindow"))) != NULL) { + return GetConsoleWindow() != NULL; + } + } + return 0; +} + +static void fixDLLSearchPath() { +#ifdef UNICODE + _TCHAR* functionName = _T_ECLIPSE("SetDllDirectoryW"); +#else + _TCHAR* functionName = _T_ECLIPSE("SetDllDirectoryA"); +#endif + + BOOL (WINAPI *SetDLLDirectory)(LPCTSTR); + void * handle = loadLibrary(_T_ECLIPSE("Kernel32.dll")); + if (handle != NULL) { + if ( (SetDLLDirectory = findSymbol(handle, functionName)) != NULL) { + SetDLLDirectory(_T_ECLIPSE("")); + } + } +} + +#endif + +/* Set the vm to use based on the given .ee file. + */ +static int vmEEProps(_TCHAR * eeFile, _TCHAR ** msg) { + if (processEEProps(eeFile) != 0) { + *msg = _tcsdup(eeFile); + return -1; + } + if (eeLibrary != NULL) { + jniLib = findVMLibrary(eeLibrary); + if (jniLib != NULL) + return LAUNCH_JNI; + } + + if (eeConsole != NULL && (debug || needConsole || consoleLauncher) ) { + javaVM = findSymlinkCommand(eeConsole, 0); + if (javaVM != NULL) + return LAUNCH_EXE; + } + + if (eeExecutable != NULL) { + javaVM = findSymlinkCommand(eeExecutable, 0); + if (javaVM != NULL) + return LAUNCH_EXE; + } + + *msg = _tcsdup(eeFile); + return -1; +} + +/* + * determine the vm to use. + * return LAUNCH_JNI for launching with JNI invocation API. jniLib contains the name of the library + * returh LAUNCH_EXE for execing java, javaVM contains the path to the exe + * return -1 if problem finding vm, the passed in msg points to the places we looked. Caller should free + * this memory. + */ +static int determineVM(_TCHAR** msg) { + _TCHAR* ch = NULL; + _TCHAR* result = NULL; + _TCHAR* vmSearchPath = NULL; + _TCHAR* defaultJava = defaultVM; /* default exe to look for */ + int type = 0; + +#ifdef _WIN32 + if (debug || needConsole || consoleLauncher) + defaultJava = consoleVM; /* windows will want java.exe for the console, not javaw.exe */ +#endif + + /* vmName is passed in on command line with -vm */ + if (vmName != NULL) { + size_t length = _tcslen(vmName); + /* remove the trailing separator */ + if (vmName[length - 1] == _T_ECLIPSE('/') || vmName[length - 1] == _T_ECLIPSE('\\')) { + vmName[length - 1] = 0; + } + + vmName = checkPath(vmName, programDir, 1); + type = checkProvidedVMType(vmName); + switch (type) { + case VM_DIRECTORY: + /* vmName is a directory, look for default.ee */ + ch = malloc((_tcslen(vmName) + 1 + _tcslen(DEFAULT_EE) + 1) * sizeof(_TCHAR)); + _stprintf( ch, _T_ECLIPSE("%s%c%s"), vmName, dirSeparator, DEFAULT_EE ); + + result = findCommand(ch); + free(ch); + if (result == NULL) { + /* No default.ee file, look for default VM */ + ch = malloc((_tcslen(vmName) + 1 + _tcslen(defaultJava) + 1) * sizeof(_TCHAR)); + _stprintf( ch, _T_ECLIPSE("%s%c%s"), vmName, dirSeparator, defaultJava ); + javaVM = findSymlinkCommand(ch, 0); + free(ch); + if (javaVM == NULL) { + /* No vm executable, look for library */ + ch = malloc((_tcslen(vmName) + 1 + _tcslen(vmLibrary) + 1) * sizeof(_TCHAR)); + _stprintf( ch, _T_ECLIPSE("%s%c%s"), vmName, dirSeparator, vmLibrary ); + jniLib = findVMLibrary(ch); + if (jniLib != ch) + free(ch); + if (jniLib != NULL) { + return LAUNCH_JNI; + } + /* found nothing, return error */ + *msg = malloc( (3 * (_tcslen(vmName) + 2) + _tcslen(DEFAULT_EE) + _tcslen(defaultJava) + _tcslen(vmLibrary) + 1) * sizeof(_TCHAR)); + _stprintf( *msg, _T_ECLIPSE("%s%c%s\n%s%c%s\n%s%c%s"), vmName, dirSeparator, DEFAULT_EE, + vmName, dirSeparator, defaultJava, + vmName, dirSeparator, vmLibrary); + return -1; + } + break; + } + + /* else default.ee does exist */ + vmName = result; + /* fall through to VM_EE_PROPS*/ + case VM_EE_PROPS: + return vmEEProps(vmName, msg); + + case VM_LIBRARY: + ch = findCommand(vmName); + if(ch != NULL) { + jniLib = findVMLibrary(ch); + if (ch != jniLib) + free(ch); + return LAUNCH_JNI; + } + /* file didn't exist, error */ + if (firstDirSeparator( vmName ) == NULL) { + /* if vmName doesn't contain a dirSeparator, we looked on the path */ + *msg = malloc((_tcslen(pathMsg) + _tcslen(vmName)) * sizeof(_TCHAR)); + _stprintf( *msg, pathMsg,vmName ); + } else { + *msg = _tcsdup(vmName); + } + return -1; + + default: + /*otherwise, assume executable */ + javaVM = findSymlinkCommand(vmName, 0); + if(javaVM != NULL) { +#ifdef MACOSX + /* right now, we are always doing JNI on Mac */ + break; +#else + return LAUNCH_EXE; +#endif + } + /* file didn't exist, error */ + if (firstDirSeparator( vmName ) == NULL) { + /* if vmName doesn't contain a dirSeparator, we looked on the path */ + *msg = malloc((_tcslen(pathMsg) + _tcslen(vmName)) * sizeof(_TCHAR)); + _stprintf( *msg, pathMsg, vmName ); + } else { + *msg = _tcsdup(vmName); + } + return -1; + } + } + + if (vmName == NULL) { + /* no vm specified, Try to find the VM shipped with eclipse. */ + + /* look first for default.ee */ + ch = malloc( (_tcslen( programDir ) + _tcslen( shippedVMDir ) + _tcslen( DEFAULT_EE ) + 1) * sizeof(_TCHAR) ); + _stprintf( ch, _T_ECLIPSE("%s%s%s"), programDir, shippedVMDir, DEFAULT_EE ); + result = findCommand(ch); + free(ch); + if (result != NULL) { + type = vmEEProps(result, msg); + free(result); + return type; + } + + /* then look for java(w).exe */ + ch = malloc( (_tcslen( programDir ) + _tcslen( shippedVMDir ) + _tcslen( defaultJava ) + 10) * sizeof(_TCHAR) ); + _stprintf( ch, _T_ECLIPSE("%s%s%s"), programDir, shippedVMDir, defaultJava ); + vmSearchPath = _tcsdup(ch); + + javaVM = findSymlinkCommand( ch, 0 ); + free(ch); + } + + if (javaVM == NULL) { + /* vm not found yet, look for one on the search path, but don't resolve symlinks */ + javaVM = findSymlinkCommand(defaultJava, 0); + if (javaVM == NULL) { + /* can't find vm, error */ + ch = malloc( (_tcslen(pathMsg) + _tcslen(defaultJava) + 1) * sizeof(_TCHAR)); + _stprintf(ch, pathMsg, defaultJava); + + if(vmSearchPath != NULL) { + *msg = malloc((_tcslen(ch) + 1 + _tcslen(vmSearchPath) + 1) * sizeof(_TCHAR)); + _stprintf(*msg, _T_ECLIPSE("%s\n%s"), vmSearchPath, ch); + free(ch); + } else { + *msg = ch; + } + return -1; + } + } + + if (vmSearchPath != NULL) + free(vmSearchPath); + +#ifndef DEFAULT_JAVA_EXEC + /* resolve symlinks for finding the library */ + ch = resolveSymlinks(javaVM); + jniLib = findVMLibrary(ch); + if (ch != jniLib && ch != javaVM) + free(ch); + if (jniLib != NULL) + return LAUNCH_JNI; +#endif + + return LAUNCH_EXE; +} + +static int processEEProps(_TCHAR* eeFile) +{ + _TCHAR ** argv; + _TCHAR * c1, * c2; + _TCHAR * eeDir; + int argc; + int index, i; + int matches = 0; + Option *option; + + if(readConfigFile(eeFile, &argc, &argv) != 0) + return -1; + + nEEargs = argc; + eeVMarg = argv; + + eeDir = _tcsdup(eeFile); + c1 = lastDirSeparator( eeDir ); + while (c1 != NULL) + { + *c1 = _T_ECLIPSE('\0'); + c1--; /* IS_DIR_SEPARATOR evalutes c twice, decrement out here */ + if (!IS_DIR_SEPARATOR(*c1)) + c1 = NULL; + } + + for (index = 0; index < argc; index++){ + /* replace ${ee.home} with eeDir, loop in case there is more than one per argument */ + while( (c1 = _tcsstr(argv[index], EE_HOME_VAR)) != NULL) + { + /* the space needed for c1 is included in _tcslen(argv[index]) */ + c2 = malloc( (_tcslen(argv[index]) + _tcslen(eeDir) + 1) * sizeof(_TCHAR)); + *c1 = _T_ECLIPSE('\0'); + _stprintf(c2, _T_ECLIPSE("%s%s%s"), argv[index], eeDir, c1 + 10); /* ${ee.home} is 10 characters */ + free(argv[index]); + argv[index] = c2; + } + + /* Find the corresponding argument is a option supported by the launcher */ + option = NULL; + for (i = 0; option == NULL && i < eeOptionsSize; i++) + { + if (_tcsncmp( argv[index], eeOptions[i].name, _tcslen(eeOptions[i].name) ) == 0) { + option = &eeOptions[i]; + break; + } + } + if(option != NULL) { + ++matches; + if (option->flag & VALUE_IS_FLAG) + *((int*)option->value) = 1; + else { + c1 = malloc( (_tcslen(argv[index]) - _tcslen(option->name) + 1) *sizeof(_TCHAR)); + _tcscpy(c1, argv[index] + _tcslen(option->name)); + if (option->flag & ADJUST_PATH && option->flag & VALUE_IS_LIST) { + c2 = checkPathList(c1, eeDir, 1); + free(c1); + c1 = c2; + } else if (option->flag & ADJUST_PATH) { + c2 = checkPath(c1, eeDir, 1); + if (c2 != c1) { + free(c1); + c1 = c2; + } + } + *((_TCHAR**)option->value) = c1; + } + if(matches == eeOptionsSize) + break; + } + } + /* set ee.home, ee.filename variables, and NULL */ + argv = realloc(argv, (nEEargs + 3) * sizeof(_TCHAR*)); + + c1 = malloc( (_tcslen(EE_HOME) + _tcslen(eeDir) + 1) * sizeof(_TCHAR)); + _stprintf(c1, _T_ECLIPSE("%s%s"), EE_HOME, eeDir); + argv[nEEargs++] = c1; + + c1 = malloc( (_tcslen(EE_FILENAME) + _tcslen(eeFile) + 1) * sizeof(_TCHAR)); + _stprintf(c1, _T_ECLIPSE("%s%s"), EE_FILENAME, eeFile); + argv[nEEargs++] = c1; + + argv[nEEargs] = NULL; + + free(eeDir); + return 0; +} + +/* returns an array of paths that should be place on the search path for loading + * the vm shared libraries. + * Each entry is terminated with the platform path separator. + * Entries are either from the ee.library.path or calculated from the path to the + * vm shared library itself. + */ +_TCHAR ** getVMLibrarySearchPath(_TCHAR * vmLibrary) { + _TCHAR ** paths = NULL; + _TCHAR * buffer = NULL; + _TCHAR * path, * entry, *c; + _TCHAR separator; + int numPaths = 3; + int i; + struct _stat stats; + + buffer = (eeLibPath != NULL) ? _tcsdup(eeLibPath) : _tcsdup(vmLibrary); +#ifdef WIN32 + /* On windows we sometimes get '/' instead of '\', just always use '/' */ + i = -1; + while (buffer[++i] != 0) { + if (buffer[i] == _T_ECLIPSE('\\')) + buffer[i] = _T_ECLIPSE('/'); + } +#endif + + separator = (eeLibPath != NULL) ? pathSeparator : _T_ECLIPSE('/'); + + if (eeLibPath != NULL) { + /* count number of path elements */ + numPaths = 1; + c = eeLibPath; + while( (c = _tcschr(c, pathSeparator)) != NULL) { + numPaths++; + c++; + } + } + + paths = malloc((numPaths + 1) * sizeof(_TCHAR*)); + paths[numPaths] = NULL; + + /* We are either splitting eeLibPath (eg path1:path2), or we are extracting + * from libPath where we want the directory containing the library and the + * parent directory of that, and also grandparent/lib/arch */ + for (i = 0; i < numPaths; i++) { + c = _tcsrchr(buffer, separator); + if (c != 0) { + *c++ = 0; + if (eeLibPath != NULL) { + path = c; /* we want from c to the end */ + } else { + path = buffer; /* we want from the start to c */ + } + } else { + if (eeLibPath != NULL) { + path = buffer; + } else { + paths[i] = NULL; + break; + } + } + if (path != NULL) { + entry = resolveSymlinks(path); /* this may be a new string */ + if (eeLibPath == NULL && i == 2) { + /* trying grandparent/lib/arch */ + const _TCHAR * arch = getVMArch(); + paths[i] = malloc((_tcslen(entry) + 7 + _tcslen(arch)) * sizeof(_TCHAR)); + _stprintf(paths[i], _T_ECLIPSE("%s/lib/%s"), entry, arch); + /* only add if the path actually exists */ + if (_tstat(paths[i], &stats) == 0) { + _TCHAR separatorString[] = { pathSeparator, 0 }; + _tcscat(paths[i], separatorString); + } else { + free(paths[i]); + paths[i] = NULL; + } + } else { + paths[i] = malloc((_tcslen(entry) + 2) * sizeof(_TCHAR)); + _stprintf( paths[i], _T_ECLIPSE("%s%c"), entry, pathSeparator ); + } + if (entry != path) + free(entry); + path = NULL; + } + } + + free(buffer); + return paths; +} + +/* translate the osArchArg into the value that we expect the jre to use */ +const _TCHAR* getVMArch() { + if (_tcscmp(osArchArg, _T_ECLIPSE("x86_64")) == 0) + return _T_ECLIPSE("amd64"); + else if (_tcscmp(osArchArg, _T_ECLIPSE("x86")) == 0) + return _T_ECLIPSE("i386"); + else + return osArchArg; +} diff --git a/features/org.eclipse.equinox.executable.feature/library/eclipseCommon.c b/features/org.eclipse.equinox.executable.feature/library/eclipseCommon.c new file mode 100644 index 000000000..923b3c22e --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/eclipseCommon.c @@ -0,0 +1,570 @@ +/******************************************************************************* + * Copyright (c) 2006, 2011 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Andrew Niefer + * Martin Oberhuber (Wind River) - [176805] Support Solaris9 by adding setenv() + *******************************************************************************/ + +#include "eclipseCommon.h" +#include "eclipseUnicode.h" + +#ifdef _WIN32 +#include +#include +#else +#include +#include +#include +#include +#endif +#include +#include +#include +#include + +/* Global Variables */ +_TCHAR* osArg = _T_ECLIPSE(DEFAULT_OS); +#ifdef MACOSX + /* on the mac we have a universal binary, decide ppc vs x86 based on endianness */ + #ifdef __BIG_ENDIAN__ + _TCHAR* osArchArg = _T_ECLIPSE("ppc"); + #else + _TCHAR* osArchArg = _T_ECLIPSE(DEFAULT_OS_ARCH); + #endif +#else +_TCHAR* osArchArg = _T_ECLIPSE(DEFAULT_OS_ARCH); +#endif +_TCHAR* wsArg = _T_ECLIPSE(DEFAULT_WS); /* the SWT supported GUI to be used */ + +/* Local Variables */ +static _TCHAR* filterPrefix = NULL; /* prefix for the find files filter */ +static size_t prefixLength = 0; + +static int isFolder(const _TCHAR* path, const _TCHAR* entry); + +typedef struct { + int segment[3]; + _TCHAR * qualifier; +} Version; + +static void freeVersion(Version *version) +{ + if(version->qualifier) + free(version->qualifier); + free(version); +} + +static Version* parseVersion(const _TCHAR * str) { + _TCHAR *copy; + _TCHAR *c1, *c2 = NULL; + int i = 0; + + Version *version = malloc(sizeof(Version)); + memset(version, 0, sizeof(Version)); + + c1 = copy = _tcsdup(str); + while (c1 && *c1 != 0) + { + if (i < 3) { + version->segment[i] = (int)_tcstol(c1, &c2, 10); + /* if the next character is not '.', then we couldn't + * parse as a int, the remainder is not valid (or we are at the end)*/ + if (*c2 && *c2 != _T_ECLIPSE('.')) + break; + c2++; /* increment past the . */ + } else { + c2 = _tcschr(c1, _T_ECLIPSE('.')); + if(c2 != NULL) { + *c2 = 0; + version->qualifier = _tcsdup(c1); + *c2 = _T_ECLIPSE('.'); /* put the dot back */ + } else { + if(_tcsicmp(c1, _T_ECLIPSE("jar")) == 0) + version->qualifier = 0; + else + version->qualifier = _tcsdup(c1); + } + break; + } + c1 = c2; + i++; + } + free(copy); + return version; +} + +static int compareVersions(const _TCHAR* str1, const _TCHAR* str2) { + int result = 0, i = 0; + Version *v1 = parseVersion(str1); + Version *v2 = parseVersion(str2); + + while (result == 0 && i < 3) { + result = v1->segment[i] - v2->segment[i]; + i++; + } + if(result == 0) { + _TCHAR * q1 = v1->qualifier ? v1->qualifier : _T_ECLIPSE(""); + _TCHAR * q2 = v2->qualifier ? v2->qualifier : _T_ECLIPSE(""); + result = _tcscmp(q1, q2); + } + + freeVersion(v1); + freeVersion(v2); + return result; +} + +/** + * Convert a wide string to a narrow one + * Caller must free the null terminated string returned. + */ +char *toNarrow(const _TCHAR* src) +{ +#ifdef UNICODE + int byteCount = WideCharToMultiByte (CP_ACP, 0, (wchar_t *)src, -1, NULL, 0, NULL, NULL); + char *dest = malloc(byteCount+1); + dest[byteCount] = 0; + WideCharToMultiByte (CP_ACP, 0, (wchar_t *)src, -1, dest, byteCount, NULL, NULL); + return dest; +#else + return (char*)_tcsdup(src); +#endif +} + + +/** + * Set an environment variable. + * Solaris versions <= Solaris 9 did not know setenv in libc, + * so emulate it here. + */ +#if defined(SOLARIS) || defined(HPUX) +int setenv (const char *name, const char *value, int replace) +{ + int namelen, valuelen, rc; + char *var; + if (replace == 0) { + const char *oldval = getenv(name); + if (oldval != NULL) { + return 0; + } + } + namelen = strlen(name); + valuelen = strlen(value); + var = malloc( (namelen + valuelen + 2) * sizeof(char) ); + if (var == NULL) { + return -1; + } + /* Use strncpy as protection, in case a thread modifies var + * after we obtained its length */ + strncpy(var, name, namelen); + var[namelen] = '='; + strncpy( &var[namelen + 1], value, valuelen); + var[namelen + valuelen + 1] = '\0'; + rc = putenv(var); + if (rc != 0) rc = -1; /*putenv returns non-zero on error; setenv -1*/ + return rc; +} +#endif + + /* + * Find the absolute pathname to where a command resides. + * + * The string returned by the function must be freed. + */ +#define EXTRA 20 +_TCHAR* findCommand( _TCHAR* command ) +{ + return findSymlinkCommand( command, 1 ); +} + +_TCHAR* findSymlinkCommand( _TCHAR* command, int resolve ) +{ + _TCHAR* cmdPath; + size_t length; + _TCHAR* ch; + _TCHAR* dir; + _TCHAR* path; + struct _stat stats; + + /* If the command was an abolute pathname, use it as is. */ + if (IS_ABSOLUTE(command)) + { + length = _tcslen( command ); + cmdPath = malloc( (length + EXTRA) * sizeof(_TCHAR) ); /* add extra space for a possible ".exe" extension */ + _tcscpy( cmdPath, command ); + } + + else + { + /* If the command string contains a path separator */ + if (firstDirSeparator( command ) != NULL) + { + /* It must be relative to the current directory. */ + length = MAX_PATH_LENGTH + EXTRA + _tcslen( command ); + cmdPath = malloc( length * sizeof (_TCHAR)); + _tgetcwd( cmdPath, length ); + length = _tcslen(cmdPath); + if (!IS_DIR_SEPARATOR(cmdPath[ length - 1 ])) + { + cmdPath[ length ] = dirSeparator; + cmdPath[ length+1 ] = _T_ECLIPSE('\0'); + } + _tcscat( cmdPath, command ); + } + + /* else the command must be in the PATH somewhere */ + else + { + /* Get the directory PATH where executables reside. */ + path = _tgetenv( _T_ECLIPSE("PATH") ); +#ifdef _WIN32 + /* on windows, prepend the current directory */ + if (path == NULL) + path = _T_ECLIPSE(""); + ch = malloc((_tcslen(path) + MAX_PATH_LENGTH + 2) * sizeof(_TCHAR)); + _tgetcwd( ch, MAX_PATH_LENGTH ); + length = _tcslen(ch); + ch[length] = pathSeparator; + _tcscpy(&ch[length + 1], path); + path = ch; +#endif + if (!path) + { + return NULL; + } + else + { + length = _tcslen( path ) + _tcslen( command ) + MAX_PATH_LENGTH; + cmdPath = malloc( length * sizeof(_TCHAR)); + + /* Foreach directory in the PATH */ + dir = path; + while (dir != NULL && *dir != _T_ECLIPSE('\0')) + { + ch = _tcschr( dir, pathSeparator ); + if (ch == NULL) + { + _tcscpy( cmdPath, dir ); + } + else + { + length = ch - dir; + _tcsncpy( cmdPath, dir, length ); + cmdPath[ length ] = _T_ECLIPSE('\0'); + ch++; + } + dir = ch; /* advance for the next iteration */ + +#ifdef _WIN32 + /* Remove quotes */ + if (_tcschr( cmdPath, _T_ECLIPSE('"') ) != NULL) + { + size_t i = 0, j = 0; + _TCHAR c; + length = _tcslen( cmdPath ); + while (i < length) { + c = cmdPath[ i++ ]; + if (c == _T_ECLIPSE('"')) continue; + cmdPath[ j++ ] = c; + } + cmdPath[ j ] = _T_ECLIPSE('\0'); + } +#endif + /* Determine if the executable resides in this directory. */ + if (_tcslen(cmdPath) == 0 || /*an empty path entry is treated as '.' */ + (cmdPath[0] == _T_ECLIPSE('.') && (_tcslen(cmdPath) == 1 || (_tcslen(cmdPath) == 2 && IS_DIR_SEPARATOR(cmdPath[1]))))) + { + _tgetcwd( cmdPath, MAX_PATH_LENGTH ); + } + length = _tcslen(cmdPath); + if (!IS_DIR_SEPARATOR(cmdPath[ length - 1 ])) + { + cmdPath[ length ] = dirSeparator; + cmdPath[ length+1 ] = _T_ECLIPSE('\0'); + } + _tcscat( cmdPath, command ); + + /* If the file is not a directory and can be executed */ + if (_tstat( cmdPath, &stats ) == 0 && (stats.st_mode & S_IFREG) != 0) + { + /* Stop searching */ + dir = NULL; + } + } + } + } + } + +#ifdef _WIN32 + /* If the command does not exist */ + if (_tstat( cmdPath, &stats ) != 0 || (stats.st_mode & S_IFREG) == 0) + { + /* If the command does not end with .exe, append it an try again. */ + length = _tcslen( cmdPath ); + if (length > 4 && _tcsicmp( &cmdPath[ length - 4 ], _T_ECLIPSE(".exe") ) != 0) + _tcscat( cmdPath, _T_ECLIPSE(".exe") ); + } +#endif + + /* Verify the resulting command actually exists. */ + if (_tstat( cmdPath, &stats ) != 0 || (stats.st_mode & S_IFREG) == 0) + { + free( cmdPath ); + cmdPath = NULL; + return cmdPath; + } + + if (resolve) { + ch = resolveSymlinks(cmdPath); + if (ch != cmdPath) { + free(cmdPath); + cmdPath = ch; + } + } + return cmdPath; +} + +#if !defined(_WIN32) && !defined(MACOSX) +char * resolveSymlinks( char * path ) { + char * ch, *buffer; + if(path == NULL) + return path; + /* resolve symlinks */ + ch = path; + buffer = malloc(PATH_MAX); + path = realpath(path, buffer); + if (path != buffer) + free(buffer); + if (path == NULL) + return ch; /* failed to resolve the links, return original path */ + return path; +} +#endif + +#ifdef _WIN32 +static int filter(_TCHAR* candidate, int isFolder) { +#else +#ifdef MACOSX +static int filter(struct dirent *dir, int isFolder) { +#else +static int filter(const struct dirent *dir, int isFolder) { +#endif + char * candidate = (char *)dir->d_name; +#endif + _TCHAR *lastDot, *lastUnderscore; + int result; + + if(_tcslen(candidate) <= prefixLength) + return 0; + if (_tcsncmp(candidate, filterPrefix, prefixLength) != 0 || candidate[prefixLength] != _T_ECLIPSE('_')) + return 0; + + candidate = _tcsdup(candidate); + + /* remove trailing .jar and .zip extensions, leave other extensions because we need the '.' */ + lastDot = _tcsrchr(candidate, _T_ECLIPSE('.')); + if (!isFolder && lastDot != NULL && (_tcscmp(lastDot, _T_ECLIPSE(".jar")) == 0 || _tcscmp(lastDot, _T_ECLIPSE(".zip")) == 0)) { + *lastDot = 0; + lastDot = _tcsrchr(candidate, _T_ECLIPSE('.')); + } + + if (lastDot < &candidate[prefixLength]) { + free(candidate); + return 0; + } + + lastUnderscore = _tcsrchr(candidate, _T_ECLIPSE('_')); + + /* get past all the '_' that are part of the qualifier */ + while(lastUnderscore > lastDot) { + *lastUnderscore = 0; + lastUnderscore = _tcsrchr(candidate, _T_ECLIPSE('_')); + } + /* is this the underscore at the end of the prefix? */ + result = (lastUnderscore == &candidate[prefixLength]); + free(candidate); + return result; +} + + /* + * Looks for files of the form /path/prefix_version. and returns the full path to + * the file with the largest version number + */ +_TCHAR* findFile( _TCHAR* path, _TCHAR* prefix) +{ + struct _stat stats; + size_t pathLength; + _TCHAR* candidate = NULL; + _TCHAR* result = NULL; + +#ifdef _WIN32 + _TCHAR* fileName = NULL; + WIN32_FIND_DATA data; + HANDLE handle; +#else + DIR *dir = NULL; + struct dirent * entry = NULL; +#endif + + path = _tcsdup(path); + pathLength = _tcslen(path); + + /* strip dirSeparators off the end */ + while (IS_DIR_SEPARATOR(path[pathLength - 1])) { + path[--pathLength] = 0; + } + + /* does path exist? */ + if( _tstat(path, &stats) != 0 ) { + free(path); + return NULL; + } + + filterPrefix = prefix; + prefixLength = _tcslen(prefix); +#ifdef _WIN32 + fileName = malloc( (_tcslen(path) + 1 + _tcslen(prefix) + 3) * sizeof(_TCHAR)); + _stprintf(fileName, _T_ECLIPSE("%s%c%s_*"), path, dirSeparator, prefix); + + handle = FindFirstFile(fileName, &data); + if(handle != INVALID_HANDLE_VALUE) { + if (filter(data.cFileName, isFolder(path, data.cFileName))) + candidate = _tcsdup(data.cFileName); + while(FindNextFile(handle, &data) != 0) { + if (filter(data.cFileName, isFolder(path, data.cFileName))) { + if (candidate == NULL) { + candidate = _tcsdup(data.cFileName); + } else if( compareVersions(candidate + prefixLength + 1, data.cFileName + prefixLength + 1) < 0) { + /* compare, take the highest version */ + free(candidate); + candidate = _tcsdup(data.cFileName); + } + } + } + FindClose(handle); + } +#else + if ((dir = opendir(path)) == NULL) { + free(path); + return NULL; + } + + while ((entry = readdir(dir)) != NULL) { + if (filter(entry, isFolder(path, entry->d_name))) { + if (candidate == NULL) { + candidate = _tcsdup(entry->d_name); + } else if (compareVersions(candidate + prefixLength + 1, entry->d_name + prefixLength + 1) < 0) { + free(candidate); + candidate = _tcsdup(entry->d_name); + } + } + } + closedir(dir); +#endif + + if(candidate != NULL) { + result = malloc((pathLength + 1 + _tcslen(candidate) + 1) * sizeof(_TCHAR)); + _tcscpy(result, path); + result[pathLength] = dirSeparator; + result[pathLength + 1] = 0; + _tcscat(result, candidate); + free(candidate); + } + free(path); + return result; +} + +int isFolder(const _TCHAR* path, const _TCHAR* entry) { + int result = 0; + struct _stat stats; + _TCHAR * fullPath = malloc((_tcslen(path) + _tcslen(entry) + 2) * sizeof(_TCHAR)); + _stprintf(fullPath, _T_ECLIPSE("%s%c%s"), path, dirSeparator, entry); + + result = _tstat(fullPath, &stats); + free(fullPath); + return (result == 0 && (stats.st_mode & S_IFDIR) != 0); +} + +/* + * If path is relative, attempt to make it absolute by + * 1) check relative to working directory + * 2) check relative to provided programDir + * If reverseOrder, then check the programDir before the working dir + */ +_TCHAR* checkPath( _TCHAR* path, _TCHAR* programDir, int reverseOrder ) +{ + int cwdLength = MAX_PATH_LENGTH; + int i; + _TCHAR * workingDir, * buffer, * result = NULL; + _TCHAR * paths[2]; + struct _stat stats; + + /* If the command was an abolute pathname, use it as is. */ + if (IS_ABSOLUTE(path)) { + return path; + } + + /* get the current working directory */ + workingDir = malloc(cwdLength * sizeof(_TCHAR)); + while ( _tgetcwd( workingDir, cwdLength ) == NULL ){ + if (errno == ERANGE) { + /* ERANGE : the buffer isn't big enough, allocate more memory */ + cwdLength *= 2; + workingDir = realloc(workingDir, cwdLength * sizeof(_TCHAR)); + continue; + } else { + /* some other error occurred, perhaps ENOENT (directory has been unlinked) */ + /* the contents of workingDir are undefined, set it to empty, we will end up testing against root */ + workingDir[0] = _T_ECLIPSE('\0'); + break; + } + } + + paths[0] = reverseOrder ? programDir : workingDir; + paths[1] = reverseOrder ? workingDir : programDir; + + /* just make a buffer big enough to hold everything */ + buffer = malloc((_tcslen(paths[0]) + _tcslen(paths[1]) + _tcslen(path) + 2) * sizeof(_TCHAR)); + for ( i = 0; i < 2; i++ ) { + if (_tcslen(paths[i]) == 0) + continue; + _stprintf(buffer, _T_ECLIPSE("%s%c%s"), paths[i], dirSeparator, path); + if (_tstat(buffer, &stats) == 0) { + result = _tcsdup(buffer); + break; + } + } + + free(buffer); + free(workingDir); + + /* if we found something, return it, otherwise, return the original */ + return result != NULL ? result : path; +} + +_TCHAR * lastDirSeparator(_TCHAR* str) { +#ifndef _WIN32 + return _tcsrchr(str, dirSeparator); +#else + int i = -1; + _TCHAR * c = NULL; + while (str[++i] != 0) { + if (str[i] == _T_ECLIPSE('\\') || str[i] == _T_ECLIPSE('/')) + c = &str[i]; + } + return c; +#endif +} + +_TCHAR * firstDirSeparator(_TCHAR* str) { +#ifdef _WIN32 + return _tcspbrk(str, _T_ECLIPSE("\\/")); +#else + return _tcschr(str, dirSeparator); +#endif +} diff --git a/features/org.eclipse.equinox.executable.feature/library/eclipseCommon.h b/features/org.eclipse.equinox.executable.feature/library/eclipseCommon.h new file mode 100644 index 000000000..655f90122 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/eclipseCommon.h @@ -0,0 +1,106 @@ +/******************************************************************************* + * Copyright (c) 2006, 2009 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Andrew Niefer + *******************************************************************************/ + +#ifndef ECLIPSE_COMMON_H +#define ECLIPSE_COMMON_H + +#include "eclipseUnicode.h" + +/* Variables and Methods that will be needed by both the executable and the library */ + +#define MAX_PATH_LENGTH 2000 + +#ifdef UNICODE +#define run runW +#define setInitialArgs setInitialArgsW +#define RUN_METHOD _T_ECLIPSE("runW") +#define SET_INITIAL_ARGS _T_ECLIPSE("setInitialArgsW") +#else +#define RUN_METHOD _T_ECLIPSE("run") +#define SET_INITIAL_ARGS _T_ECLIPSE("setInitialArgs") +#endif + +#define DEFAULT_EQUINOX_STARTUP _T_ECLIPSE("org.eclipse.equinox.launcher") + +#ifdef _WIN32 +#define IS_ABSOLUTE(path) (path[0] == _T_ECLIPSE('/') || path[0] == _T_ECLIPSE('\\') || (path[0] != 0 && path[1] == _T_ECLIPSE(':'))) +#define IS_DIR_SEPARATOR(c) (c == _T_ECLIPSE('/') || c == _T_ECLIPSE('\\')) +#else +#define IS_ABSOLUTE(path) (path[0] == dirSeparator) +#define IS_DIR_SEPARATOR(c) (c == dirSeparator) +#endif + +extern _TCHAR* osArg; +extern _TCHAR* osArchArg; +extern _TCHAR* wsArg; + +extern _TCHAR dirSeparator; /* '/' or '\\' */ +extern _TCHAR pathSeparator; /* separator used in PATH variable */ +extern _TCHAR* eclipseLibrary; /* path the the eclipse_.so shared library */ + +extern char *toNarrow(const _TCHAR* src); + + /* + * Find the absolute pathname to where a command resides. + * + * The string returned by the function must be freed. + * Symlinks are resolved + */ +extern _TCHAR* findCommand( _TCHAR* command ); + +/* + * Same as findCommand but optionally resolve symlinks + */ +extern _TCHAR* findSymlinkCommand( _TCHAR* command, int resolve ); + +extern _TCHAR* findFile( _TCHAR* path, _TCHAR* prefix); + +extern _TCHAR* getProgramDir(); + +extern _TCHAR* getOfficialName(); + +extern void setOfficialName(_TCHAR * name); + +extern _TCHAR* getProgramPath(); + +extern void setProgramPath(_TCHAR* name); + +extern _TCHAR* resolveSymlinks( _TCHAR* path ); + +/** Display a Message + * + * This method is called to display an error message to the user before exiting. + * The method should not return until the user has acknowledged + * the message. This method may be called before the window + * system has been initialized. The program should exit after calling this method. + */ +extern void displayMessage( _TCHAR* title, _TCHAR* message ); + +/* Load the specified shared library + */ +extern void * loadLibrary( _TCHAR * library ); + +/* Unload the shared library + */ +extern void unloadLibrary( void * handle ); + +/* Find the given symbol in the shared library + */ +extern void * findSymbol( void * handle, _TCHAR * symbol ); + +/* check the given path and attempt to make it absolute if it is relative */ +extern _TCHAR* checkPath( _TCHAR* path, _TCHAR* programDir, int reverseOrder ); + +extern _TCHAR * lastDirSeparator(_TCHAR* str); + +extern _TCHAR * firstDirSeparator(_TCHAR* str); +#endif diff --git a/features/org.eclipse.equinox.executable.feature/library/eclipseConfig.c b/features/org.eclipse.equinox.executable.feature/library/eclipseConfig.c new file mode 100644 index 000000000..bc7a5cdc0 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/eclipseConfig.c @@ -0,0 +1,186 @@ +/******************************************************************************* + * Copyright (c) 2000, 2010 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Martin Oberhuber (Wind River) - [316975] memory leak on failure reading .ini file + *******************************************************************************/ + +#include "eclipseOS.h" +#include "eclipseConfig.h" + +#ifdef _WIN32 + +#include +#include + +#ifdef __MINGW32__ +#include +#endif + +#else /* Unix like platforms */ + +#include +#include +#include +#include +#include + +#endif + +int readIniFile(_TCHAR* program, int *argc, _TCHAR ***argv) +{ + _TCHAR* config_file = NULL; + int result; + + if (program == NULL || argc == NULL || argv == NULL) return -1; + +#if defined(_WIN32) && defined(_WIN32_CONSOLE) + config_file = getIniFile(program, 1); +#else + config_file = getIniFile(program, 0); +#endif + + result = readConfigFile(config_file, argc, argv); + free(config_file); + return result; +} + +_TCHAR* getIniFile(_TCHAR* program, int consoleLauncher){ + _TCHAR* config_file = NULL; + + /* Get a copy with room for .ini at the end */ + config_file = malloc( (_tcslen(program) + 5) * sizeof(_TCHAR)); + _tcscpy(config_file, program); + +#ifdef _WIN32 + { + /* Search for the extension .exe and replace it with .ini */ + _TCHAR *extension = _tcsrchr(config_file, _T_ECLIPSE('.')); + if (extension == NULL) + { + /* does not end with an extension, just append .ini */ + extension = config_file + _tcslen(config_file); + } + _tcscpy(extension, _T_ECLIPSE(".ini")); + if(consoleLauncher){ + /* We are the console version, if the ini file does not exist, try + * removing the 'c' from the end of the program name */ + struct _stat stats; + if (_tstat( config_file, &stats ) != 0 && *(extension - 1) == _T('c')) { + _tcscpy(extension - 1, extension); + } + } + } +#else + /* Append the extension */ + strcat(config_file, ".ini"); +#endif + return config_file; +} + +int readConfigFile( _TCHAR * config_file, int *argc, _TCHAR ***argv ) +{ + _TCHAR * buffer; + _TCHAR * argument; + _TCHAR * arg; + FILE *file = NULL; + int maxArgs = 128; + int index; + size_t bufferSize = 1024; + size_t length; + + + /* Open the config file as a text file + * Note that carriage return-linefeed combination \r\n are automatically + * translated into single linefeeds on input in the t (translated) mode + * on windows, on other platforms we will strip the \r as whitespace. + */ + file = _tfopen(config_file, _T_ECLIPSE("rt")); + if (file == NULL) return -3; + + /* allocate buffers */ + buffer = (_TCHAR*)malloc(bufferSize * sizeof(_TCHAR)); + argument = (_TCHAR*)malloc(bufferSize * sizeof(_TCHAR)); + *argv = (_TCHAR **)malloc((1 + maxArgs) * sizeof(_TCHAR*)); + + index = 0; + + /* Parse every line */ + while (_fgetts(buffer, bufferSize, file) != NULL) + { + /* did we fill the buffer without reaching the end of a line? */ + while (buffer[bufferSize - 2] != _T_ECLIPSE('\n') && _tcslen(buffer) == (bufferSize - 1)) { + bufferSize += 1024; + buffer = (_TCHAR*)realloc(buffer, bufferSize * sizeof(_TCHAR)); + argument = (_TCHAR*)realloc(argument, bufferSize * sizeof(_TCHAR)); + buffer[bufferSize - 2] = 0; + + /* read the next chunk to overwrite the \0 left by the last read */ + if(_fgetts(buffer + bufferSize - 1025, 1025, file) == NULL) + break; + } + + /* Extract the string prior to the first newline character. + * We don't have to worry about \r\n combinations since the file + * is opened in translated mode. + */ + if (_stscanf(buffer, _T_ECLIPSE("%[^\n]"), argument) == 1) + { + /* watch for comments */ + if(argument[0] == _T_ECLIPSE('#')) + continue; + + arg = _tcsdup(argument); + length = _tcslen(arg); + + /* basic whitespace trimming */ + while (length > 0 && (arg[length - 1] == _T_ECLIPSE(' ') || + arg[length - 1] == _T_ECLIPSE('\t') || + arg[length - 1] == _T_ECLIPSE('\r'))) + { + arg[--length] = 0; + } + /* ignore empty lines */ + if (length == 0) { + free(arg); + continue; + } + + (*argv)[index] = arg; + index++; + + /* Grow the array of TCHAR*. Ensure one more entry is + * available for the final NULL entry + */ + if (index == maxArgs - 1) + { + maxArgs += 128; + *argv = (_TCHAR **)realloc(*argv, maxArgs * sizeof(_TCHAR*)); + } + } + } + (*argv)[index] = NULL; + *argc = index; + + fclose(file); + free(buffer); + free(argument); + return 0; +} + +void freeConfig(_TCHAR **argv) +{ + int index = 0; + if (argv == NULL) return; + while (argv[index] != NULL) + { + free(argv[index]); + index++; + } + free(argv); +} diff --git a/features/org.eclipse.equinox.executable.feature/library/eclipseConfig.h b/features/org.eclipse.equinox.executable.feature/library/eclipseConfig.h new file mode 100644 index 000000000..cd8ef9c97 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/eclipseConfig.h @@ -0,0 +1,62 @@ +/******************************************************************************* + * Copyright (c) 2000, 2010 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ + +#ifndef ECLIPSE_CONFIG_H +#define ECLIPSE_CONFIG_H + +/* Configuration file reading utilities */ + +/** + * Reads a configuration file for the corresponding + * program argument. + * e.g if the program argument contains "c:/folder/eclipse.exe" + * then the config file "c:/folder/eclipse.ini" will be parsed. + * On a Unix like platform, for a program argument "/usr/eclipse/eclipse" + * should correspond a configuration file "/usr/eclipse/eclipse.ini" + * + * This method will call readConfigFile to read the actual ini file + * + * This method will use getIniFile with a value for consoleLauncher that + * is determined at compile time. Clients who are not the actual + * win32 console executable should instead use getIniFile and readConfigFile. + * + * Returns 0 if success. + */ +extern int readIniFile(_TCHAR* program, int *argc, _TCHAR ***argv); + +/** + * Return the path to the launcher ini file for the corresponding program + * argument. On win32, an "eclipsec.exe' console launcher can use the "eclipse.ini" + * ini file. + * consoleLauncher : whether or not we are using the win32 "eclipsec" console launcher + * has no affect on other platforms + */ +extern _TCHAR* getIniFile(_TCHAR* program, int consoleLauncher); + +/** + * Reads the given configuration file + * The argument argv refers to a newly allocated array of strings. + * The first entry is the program name to mimic the expectations + * from a typical argv list. + * The last entry of that array is NULL. + * Each non NULL entry in that array must be freed by the caller + * as well as the array itself, using freeConfig(). + * The argument argc contains the number of string allocated. + * + * Returns 0 if success. + */ +extern int readConfigFile( _TCHAR * config_file, int *argc, _TCHAR ***argv ); +/** + * Free the memory allocated by readConfigFile(). + */ +extern void freeConfig(_TCHAR **args); + +#endif /* ECLIPSE_CONFIG_H */ diff --git a/features/org.eclipse.equinox.executable.feature/library/eclipseJNI.c b/features/org.eclipse.equinox.executable.feature/library/eclipseJNI.c new file mode 100644 index 000000000..845c646c6 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/eclipseJNI.c @@ -0,0 +1,568 @@ +/******************************************************************************* + * Copyright (c) 2006, 2009 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Andrew Niefer + *******************************************************************************/ + +#include "eclipseJNI.h" +#include "eclipseCommon.h" +#include "eclipseOS.h" +#include "eclipseShm.h" + +#include +#include + + +static _TCHAR* failedToLoadLibrary = _T_ECLIPSE("Failed to load the JNI shared library \"%s\".\n"); +static _TCHAR* createVMSymbolNotFound = _T_ECLIPSE("The JVM shared library \"%s\"\ndoes not contain the JNI_CreateJavaVM symbol.\n"); +static _TCHAR* failedCreateVM = _T_ECLIPSE("Failed to create the Java Virtual Machine.\n"); +static _TCHAR* internalExpectedVMArgs = _T_ECLIPSE("Internal Error, the JVM argument list is empty.\n"); +static _TCHAR* mainClassNotFound = _T_ECLIPSE("Failed to find a Main Class in \"%s\".\n"); + +static JNINativeMethod natives[] = {{"_update_splash", "()V", (void *)&update_splash}, + {"_get_splash_handle", "()J", (void *)&get_splash_handle}, + {"_set_exit_data", "(Ljava/lang/String;Ljava/lang/String;)V", (void *)&set_exit_data}, + {"_set_launcher_info", "(Ljava/lang/String;Ljava/lang/String;)V", (void *)&set_launcher_info}, + {"_show_splash", "(Ljava/lang/String;)V", (void *)&show_splash}, + {"_takedown_splash", "()V", (void *)&takedown_splash}}; + +/* local methods */ +static jstring newJavaString(JNIEnv *env, _TCHAR * str); +static void registerNatives(JNIEnv *env); +static int shouldShutdown(JNIEnv *env); +static void JNI_ReleaseStringChars(JNIEnv *env, jstring s, const _TCHAR* data); +static const _TCHAR* JNI_GetStringChars(JNIEnv *env, jstring str); +static char * getMainClass(JNIEnv *env, _TCHAR * jarFile); +static void setLibraryLocation(JNIEnv *env, jobject obj); + +static JavaVM * jvm = 0; +static JNIEnv *env = 0; + +/* cache String class and methods to avoid looking them up all the time */ +static jclass string_class = NULL; +#if !defined(UNICODE) && !defined(MACOSX) +static jmethodID string_getBytesMethod = NULL; +static jmethodID string_ctor = NULL; +#endif + +/* JNI Callback methods */ +JNIEXPORT void JNICALL set_exit_data(JNIEnv * env, jobject obj, jstring id, jstring s){ + const _TCHAR* data = NULL; + const _TCHAR* sharedId = NULL; + size_t length; + + if(s != NULL) { + length = (*env)->GetStringLength(env, s); + if(!(*env)->ExceptionOccurred(env)) { + data = JNI_GetStringChars(env, s); + if (data != NULL) { + if(id != NULL) { + sharedId = JNI_GetStringChars(env, id); + if(sharedId != NULL) { + setSharedData(sharedId, data); + JNI_ReleaseStringChars(env, id, sharedId); + } + } else { + exitData = malloc((length + 1) * sizeof(_TCHAR*)); + _tcsncpy( exitData, data, length); + exitData[length] = _T_ECLIPSE('\0'); + } + JNI_ReleaseStringChars(env, s, data); + } + } + if(data == NULL && sharedId == NULL) { + (*env)->ExceptionDescribe(env); + (*env)->ExceptionClear(env); + } + } +} + +JNIEXPORT void JNICALL set_launcher_info(JNIEnv * env, jobject obj, jstring launcher, jstring name){ + const _TCHAR* launcherPath = NULL; + const _TCHAR* launcherName = NULL; + + if (launcher != NULL) { + launcherPath = JNI_GetStringChars(env, launcher); + if (launcherPath != NULL) { + setProgramPath(_tcsdup(launcherPath)); + JNI_ReleaseStringChars(env, launcher, launcherPath); + } + } + + if (name != NULL) { + launcherName = JNI_GetStringChars(env, name); + if (launcherName != NULL) { + setOfficialName(_tcsdup(launcherName)); + JNI_ReleaseStringChars(env, name, launcherName); + } + } +} + + +JNIEXPORT void JNICALL update_splash(JNIEnv * env, jobject obj){ + dispatchMessages(); +} + +JNIEXPORT jlong JNICALL get_splash_handle(JNIEnv * env, jobject obj){ + return getSplashHandle(); +} + +JNIEXPORT void JNICALL show_splash(JNIEnv * env, jobject obj, jstring s){ + const _TCHAR* data = NULL; + + setLibraryLocation(env, obj); + + if(s != NULL) { + data = JNI_GetStringChars(env, s); + if(data != NULL) { + showSplash(data); + JNI_ReleaseStringChars(env, s, data); + } else { + (*env)->ExceptionDescribe(env); + (*env)->ExceptionClear(env); + } + } +} + +JNIEXPORT void JNICALL takedown_splash(JNIEnv * env, jobject obj){ + takeDownSplash(); +} + +/* + * On AIX we need the location of the eclipse shared library so that we + * can find the libeclipse-motif.so library. Reach into the JNIBridge + * object to get the "library" field. + */ +static void setLibraryLocation(JNIEnv * env, jobject obj) { + jclass bridge = (*env)->FindClass(env, "org/eclipse/equinox/launcher/JNIBridge"); + if (bridge != NULL) { + jfieldID libraryField = (*env)->GetFieldID(env, bridge, "library", "Ljava/lang/String;"); + if (libraryField != NULL) { + jstring stringObject = (jstring) (*env)->GetObjectField(env, obj, libraryField); + if (stringObject != NULL) { + const _TCHAR * str = JNI_GetStringChars(env, stringObject); + eclipseLibrary = _tcsdup(str); + JNI_ReleaseStringChars(env, stringObject, str); + } + } + } + if( (*env)->ExceptionOccurred(env) != 0 ){ + (*env)->ExceptionDescribe(env); + (*env)->ExceptionClear(env); + } +} + +static void registerNatives(JNIEnv *env) { + jclass bridge = (*env)->FindClass(env, "org/eclipse/equinox/launcher/JNIBridge"); + if(bridge != NULL) { + int numNatives = sizeof(natives) / sizeof(natives[0]); + (*env)->RegisterNatives(env, bridge, natives, numNatives); + } + if( (*env)->ExceptionOccurred(env) != 0 ){ + (*env)->ExceptionDescribe(env); + (*env)->ExceptionClear(env); + } +} + + +/* Get a _TCHAR* from a jstring, string should be released later with JNI_ReleaseStringChars */ +static const _TCHAR * JNI_GetStringChars(JNIEnv *env, jstring str) { + const _TCHAR * result = NULL; +#ifdef UNICODE + /* GetStringChars is not null terminated, make a copy */ + const _TCHAR * stringChars = (*env)->GetStringChars(env, str, 0); + int length = (*env)->GetStringLength(env, str); + _TCHAR * copy = malloc( (length + 1) * sizeof(_TCHAR)); + _tcsncpy(copy, stringChars, length); + copy[length] = _T_ECLIPSE('\0'); + (*env)->ReleaseStringChars(env, str, stringChars); + result = copy; +#elif MACOSX + /* Use UTF on the Mac */ + result = (*env)->GetStringUTFChars(env, str, 0); +#else + /* Other platforms, use java's default encoding */ + _TCHAR* buffer = NULL; + if (string_class == NULL) + string_class = (*env)->FindClass(env, "java/lang/String"); + if (string_class != NULL) { + if (string_getBytesMethod == NULL) + string_getBytesMethod = (*env)->GetMethodID(env, string_class, "getBytes", "()[B"); + if (string_getBytesMethod != NULL) { + jbyteArray bytes = (*env)->CallObjectMethod(env, str, string_getBytesMethod); + if (!(*env)->ExceptionOccurred(env)) { + jsize length = (*env)->GetArrayLength(env, bytes); + buffer = malloc( (length + 1) * sizeof(_TCHAR*)); + (*env)->GetByteArrayRegion(env, bytes, 0, length, (jbyte*)buffer); + buffer[length] = 0; + } + (*env)->DeleteLocalRef(env, bytes); + } + } + if(buffer == NULL) { + (*env)->ExceptionDescribe(env); + (*env)->ExceptionClear(env); + } + result = buffer; +#endif + return result; +} + +/* Release the string that was obtained using JNI_GetStringChars */ +static void JNI_ReleaseStringChars(JNIEnv *env, jstring s, const _TCHAR* data) { +#ifdef UNICODE + free((_TCHAR*)data); +#elif MACOSX + (*env)->ReleaseStringUTFChars(env, s, data); +#else + free((_TCHAR*)data); +#endif +} + +static jstring newJavaString(JNIEnv *env, _TCHAR * str) +{ + jstring newString = NULL; +#ifdef UNICODE + size_t length = _tcslen(str); + newString = (*env)->NewString(env, str, length); +#elif MACOSX + newString = (*env)->NewStringUTF(env, str); +#else + size_t length = _tcslen(str); + jbyteArray bytes = (*env)->NewByteArray(env, length); + if(bytes != NULL) { + (*env)->SetByteArrayRegion(env, bytes, 0, length, (jbyte *)str); + if (!(*env)->ExceptionOccurred(env)) { + if (string_class == NULL) + string_class = (*env)->FindClass(env, "java/lang/String"); + if(string_class != NULL) { + if (string_ctor == NULL) + string_ctor = (*env)->GetMethodID(env, string_class, "", "([B)V"); + if(string_ctor != NULL) { + newString = (*env)->NewObject(env, string_class, string_ctor, bytes); + } + } + } + (*env)->DeleteLocalRef(env, bytes); + } +#endif + if(newString == NULL) { + (*env)->ExceptionDescribe(env); + (*env)->ExceptionClear(env); + } + return newString; +} + +static jobjectArray createRunArgs( JNIEnv *env, _TCHAR * args[] ) { + int index = 0, length = -1; + jobjectArray stringArray = NULL; + jstring string; + + /*count the number of elements first*/ + while(args[++length] != NULL); + + if (string_class == NULL) + string_class = (*env)->FindClass(env, "java/lang/String"); + if(string_class != NULL) { + stringArray = (*env)->NewObjectArray(env, length, string_class, 0); + if(stringArray != NULL) { + for( index = 0; index < length; index++) { + string = newJavaString(env, args[index]); + if(string != NULL) { + (*env)->SetObjectArrayElement(env, stringArray, index, string); + (*env)->DeleteLocalRef(env, string); + } else { + (*env)->DeleteLocalRef(env, stringArray); + (*env)->ExceptionDescribe(env); + (*env)->ExceptionClear(env); + return NULL; + } + } + } + } + if(stringArray == NULL) { + (*env)->ExceptionDescribe(env); + (*env)->ExceptionClear(env); + } + return stringArray; +} + +JavaResults * startJavaJNI( _TCHAR* libPath, _TCHAR* vmArgs[], _TCHAR* progArgs[], _TCHAR* jarFile ) +{ + int i; + int numVMArgs = -1; + void * jniLibrary; + JNI_createJavaVM createJavaVM; + JavaVMInitArgs init_args; + JavaVMOption * options; + char * mainClassName = NULL; + JavaResults * results = NULL; + + /* JNI reflection */ + jclass mainClass = NULL; /* The Main class to load */ + jmethodID mainConstructor = NULL; /* Main's default constructor Main() */ + jobject mainObject = NULL; /* An instantiation of the main class */ + jmethodID runMethod = NULL; /* Main.run(String[]) */ + jobjectArray methodArgs = NULL; /* Arguments to pass to run */ + + results = malloc(sizeof(JavaResults)); + memset(results, 0, sizeof(JavaResults)); + + jniLibrary = loadLibrary(libPath); + if(jniLibrary == NULL) { + results->launchResult = -1; + results->errorMessage = malloc((_tcslen(failedToLoadLibrary) + _tcslen(libPath) + 1) * sizeof(_TCHAR)); + _stprintf(results->errorMessage, failedToLoadLibrary, libPath); + return results; /*error*/ + } + + createJavaVM = (JNI_createJavaVM)findSymbol(jniLibrary, _T_ECLIPSE("JNI_CreateJavaVM")); + if(createJavaVM == NULL) { + results->launchResult = -2; + results->errorMessage = malloc((_tcslen(createVMSymbolNotFound) + _tcslen(libPath) + 1) * sizeof(_TCHAR)); + _stprintf(results->errorMessage, createVMSymbolNotFound, libPath); + return results; /*error*/ + } + + /* count the vm args */ + while(vmArgs[++numVMArgs] != NULL) {} + + if(numVMArgs <= 0) { + /*error, we expect at least the required vm arg */ + results->launchResult = -3; + results->errorMessage = _tcsdup(internalExpectedVMArgs); + return results; + } + + options = malloc(numVMArgs * sizeof(JavaVMOption)); + for(i = 0; i < numVMArgs; i++){ + options[i].optionString = toNarrow(vmArgs[i]); + options[i].extraInfo = 0; + } + +#ifdef MACOSX + init_args.version = JNI_VERSION_1_4; +#else + init_args.version = JNI_VERSION_1_2; +#endif + init_args.options = options; + init_args.nOptions = numVMArgs; + init_args.ignoreUnrecognized = JNI_TRUE; + + if( createJavaVM(&jvm, &env, &init_args) == 0 ) { + registerNatives(env); + + mainClassName = getMainClass(env, jarFile); + if (mainClassName != NULL) { + mainClass = (*env)->FindClass(env, mainClassName); + free(mainClassName); + } + + if (mainClass == NULL) { + if ((*env)->ExceptionOccurred(env)) { + (*env)->ExceptionDescribe(env); + (*env)->ExceptionClear(env); + } + mainClass = (*env)->FindClass(env, "org/eclipse/equinox/launcher/Main"); + } + + if(mainClass != NULL) { + results->launchResult = -6; /* this will be reset to 0 below on success */ + mainConstructor = (*env)->GetMethodID(env, mainClass, "", "()V"); + if(mainConstructor != NULL) { + mainObject = (*env)->NewObject(env, mainClass, mainConstructor); + if(mainObject != NULL) { + runMethod = (*env)->GetMethodID(env, mainClass, "run", "([Ljava/lang/String;)I"); + if(runMethod != NULL) { + methodArgs = createRunArgs(env, progArgs); + if(methodArgs != NULL) { + results->launchResult = 0; + results->runResult = (*env)->CallIntMethod(env, mainObject, runMethod, methodArgs); + (*env)->DeleteLocalRef(env, methodArgs); + } + } + (*env)->DeleteLocalRef(env, mainObject); + } + } + } else { + results->launchResult = -5; + results->errorMessage = malloc((_tcslen(mainClassNotFound) + _tcslen(jarFile) + 1) * sizeof(_TCHAR)); + _stprintf(results->errorMessage, mainClassNotFound, jarFile); + } + if((*env)->ExceptionOccurred(env)){ + (*env)->ExceptionDescribe(env); + (*env)->ExceptionClear(env); + } + + } else { + results->launchResult = -4; + results->errorMessage = _tcsdup(failedCreateVM); + } + + /* toNarrow allocated new strings, free them */ + for(i = 0; i < numVMArgs; i++){ + free( options[i].optionString ); + } + free(options); + return results; +} + +static char * getMainClass(JNIEnv *env, _TCHAR * jarFile) { + jclass jarFileClass = NULL, manifestClass = NULL, attributesClass = NULL; + jmethodID jarFileConstructor = NULL, getManifestMethod = NULL, getMainAttributesMethod = NULL, closeJarMethod = NULL, getValueMethod = NULL; + jobject jarFileObject, manifest, attributes; + jstring mainClassString = NULL; + jstring jarFileString, headerString; + const _TCHAR *mainClass; + + /* get the classes we need */ + jarFileClass = (*env)->FindClass(env, "java/util/jar/JarFile"); + if (jarFileClass != NULL) { + manifestClass = (*env)->FindClass(env, "java/util/jar/Manifest"); + if (manifestClass != NULL) { + attributesClass = (*env)->FindClass(env, "java/util/jar/Attributes"); + } + } + if ((*env)->ExceptionOccurred(env)) { + (*env)->ExceptionDescribe(env); + (*env)->ExceptionClear(env); + } + if (attributesClass == NULL) + return NULL; + + /* find the methods */ + jarFileConstructor = (*env)->GetMethodID(env, jarFileClass, "", "(Ljava/lang/String;Z)V"); + if(jarFileConstructor != NULL) { + getManifestMethod = (*env)->GetMethodID(env, jarFileClass, "getManifest", "()Ljava/util/jar/Manifest;"); + if(getManifestMethod != NULL) { + closeJarMethod = (*env)->GetMethodID(env, jarFileClass, "close", "()V"); + if (closeJarMethod != NULL) { + getMainAttributesMethod = (*env)->GetMethodID(env, manifestClass, "getMainAttributes", "()Ljava/util/jar/Attributes;"); + if (getMainAttributesMethod != NULL) { + getValueMethod = (*env)->GetMethodID(env, attributesClass, "getValue", "(Ljava/lang/String;)Ljava/lang/String;"); + } + } + } + } + if ((*env)->ExceptionOccurred(env)) { + (*env)->ExceptionDescribe(env); + (*env)->ExceptionClear(env); + } + if (getValueMethod == NULL) + return NULL; + + /* jarFileString = new String(jarFile); */ + jarFileString = newJavaString(env, jarFile); + /* headerString = new String("Main-Class"); */ + headerString = newJavaString(env, _T_ECLIPSE("Main-Class")); + if (jarFileString != NULL && headerString != NULL) { + /* jarfileObject = new JarFile(jarFileString, false); */ + jarFileObject = (*env)->NewObject(env, jarFileClass, jarFileConstructor, jarFileString, JNI_FALSE); + if (jarFileObject != NULL) { + /* manifest = jarFileObject.getManifest(); */ + manifest = (*env)->CallObjectMethod(env, jarFileObject, getManifestMethod); + if (manifest != NULL) { + /*jarFileObject.close() */ + (*env)->CallVoidMethod(env, jarFileObject, closeJarMethod); + if (!(*env)->ExceptionOccurred(env)) { + /* attributes = manifest.getMainAttributes(); */ + attributes = (*env)->CallObjectMethod(env, manifest, getMainAttributesMethod); + if (attributes != NULL) { + /* mainClassString = attributes.getValue(headerString); */ + mainClassString = (*env)->CallObjectMethod(env, attributes, getValueMethod, headerString); + } + } + } + (*env)->DeleteLocalRef(env, jarFileObject); + } + } + + if (jarFileString != NULL) + (*env)->DeleteLocalRef(env, jarFileString); + if (headerString != NULL) + (*env)->DeleteLocalRef(env, headerString); + + if ((*env)->ExceptionOccurred(env)) { + (*env)->ExceptionDescribe(env); + (*env)->ExceptionClear(env); + } + + if (mainClassString == NULL) + return NULL; + + mainClass = JNI_GetStringChars(env, mainClassString); + if(mainClass != NULL) { + int i = -1; + char *result = toNarrow(mainClass); + JNI_ReleaseStringChars(env, mainClassString, mainClass); + + /* replace all the '.' with '/' */ + while(result[++i] != '\0') { + if(result[i] == '.') + result[i] = '/'; + } + return result; + } + return NULL; +} + +void cleanupVM(int exitCode) { + JNIEnv * localEnv = env; + if (jvm == 0) + return; + + if (secondThread) + (*jvm)->AttachCurrentThread(jvm, (void**)&localEnv, NULL); + else + localEnv = env; + if (localEnv == 0) + return; + + /* we call System.exit() unless osgi.noShutdown is set */ + if (shouldShutdown(env)) { + jclass systemClass = NULL; + jmethodID exitMethod = NULL; + systemClass = (*env)->FindClass(env, "java/lang/System"); + if (systemClass != NULL) { + exitMethod = (*env)->GetStaticMethodID(env, systemClass, "exit", "(I)V"); + if (exitMethod != NULL) { + (*env)->CallStaticVoidMethod(env, systemClass, exitMethod, exitCode); + } + } + if ((*env)->ExceptionOccurred(env)) { + (*env)->ExceptionDescribe(env); + (*env)->ExceptionClear(env); + } + } + (*jvm)->DestroyJavaVM(jvm); +} + +static int shouldShutdown(JNIEnv * env) { + jclass booleanClass = NULL; + jmethodID method = NULL; + jstring arg = NULL; + jboolean result = 0; + + booleanClass = (*env)->FindClass(env, "java/lang/Boolean"); + if (booleanClass != NULL) { + method = (*env)->GetStaticMethodID(env, booleanClass, "getBoolean", "(Ljava/lang/String;)Z"); + if (method != NULL) { + arg = newJavaString(env, _T_ECLIPSE("osgi.noShutdown")); + result = (*env)->CallStaticBooleanMethod(env, booleanClass, method, arg); + (*env)->DeleteLocalRef(env, arg); + } + } + if ((*env)->ExceptionOccurred(env)) { + (*env)->ExceptionDescribe(env); + (*env)->ExceptionClear(env); + } + return (result == 0); +} + + diff --git a/features/org.eclipse.equinox.executable.feature/library/eclipseJNI.h b/features/org.eclipse.equinox.executable.feature/library/eclipseJNI.h new file mode 100644 index 000000000..3ef4b89dc --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/eclipseJNI.h @@ -0,0 +1,87 @@ +/******************************************************************************* + * Copyright (c) 2006, 2009 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +#ifndef ECLIPSE_JNI_H +#define ECLIPSE_JNI_H + +#include "eclipseUnicode.h" +#include + +typedef struct { + int launchResult; + int runResult; + _TCHAR * errorMessage; +} JavaResults; + +typedef jint (JNICALL *JNI_createJavaVM)(JavaVM **pvm, JNIEnv **env, void *args); + +/* JNI Callback methods */ +/* Use name mangling since we may be linking these from java with System.LoadLibrary */ +#define set_exit_data Java_org_eclipse_equinox_launcher_JNIBridge__1set_1exit_1data +#define set_launcher_info Java_org_eclipse_equinox_launcher_JNIBridge__1set_1launcher_1info +#define update_splash Java_org_eclipse_equinox_launcher_JNIBridge__1update_1splash +#define show_splash Java_org_eclipse_equinox_launcher_JNIBridge__1show_1splash +#define get_splash_handle Java_org_eclipse_equinox_launcher_JNIBridge__1get_1splash_1handle +#define takedown_splash Java_org_eclipse_equinox_launcher_JNIBridge__1takedown_1splash + +#ifdef __cplusplus +extern "C" { +#endif +/* + * org_eclipse_equinox_launcher_JNIBridge#_set_exit_data + * Signature: (Ljava/lang/String;Ljava/lang/String;)V + */ +JNIEXPORT void JNICALL set_exit_data(JNIEnv *, jobject, jstring, jstring); + +/* + * org_eclipse_equinox_launcher_JNIBridge#_set_launcher_info + * Signature: (Ljava/lang/String;Ljava/lang/String;)V + */ +JNIEXPORT void JNICALL set_launcher_info(JNIEnv *, jobject, jstring, jstring); + +/* + * org_eclipse_equinox_launcher_JNIBridge#_update_splash + * Signature: ()V + */ +JNIEXPORT void JNICALL update_splash(JNIEnv *, jobject); + +/* + * org_eclipse_equinox_launcher_JNIBridge#_get_splash_handle + * Signature: ()J + */ +JNIEXPORT jlong JNICALL get_splash_handle(JNIEnv *, jobject); + +/* + * org_eclipse_equinox_launcher_JNIBridge#_show_splash + * Signature: (Ljava/lang/String;)V + */ +JNIEXPORT void JNICALL show_splash(JNIEnv *, jobject, jstring); + +/* + * org_eclipse_equinox_launcher_JNIBridge#_takedown_splash + * Signature: ()V + */ +JNIEXPORT void JNICALL takedown_splash(JNIEnv *, jobject); + +#ifdef __cplusplus +} +#endif + +/* Start the Java VM and Wait For It to Terminate + * + * This method is responsible for starting the Java VM and for + * detecting its termination. The resulting JVM exit code should + * be returned to the main launcher, which will display a message if + * the termination was not normal. + */ +extern JavaResults* startJavaJNI( _TCHAR* libPath, _TCHAR* vmArgs[], _TCHAR* progArgs[], _TCHAR* jarFile ); + +extern void cleanupVM( int ); +#endif diff --git a/features/org.eclipse.equinox.executable.feature/library/eclipseMain.c b/features/org.eclipse.equinox.executable.feature/library/eclipseMain.c new file mode 100644 index 000000000..c45f3656f --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/eclipseMain.c @@ -0,0 +1,468 @@ +/******************************************************************************* + * Copyright (c) 2006, 2011 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Andrew Niefer + *******************************************************************************/ + +#include "eclipseUnicode.h" +#include "eclipseCommon.h" +#include "eclipseConfig.h" + +#ifdef _WIN32 +#include +#else +#include +#endif +#include +#include +#include +#include +#include +#include + +static _TCHAR* libraryMsg = +_T_ECLIPSE("The %s executable launcher was unable to locate its \n\ +companion shared library."); + +static _TCHAR* entryMsg = +_T_ECLIPSE("There was a problem loading the shared library and \n\ +finding the entry point."); + +#define NAME _T_ECLIPSE("-name") +#define VMARGS _T_ECLIPSE("-vmargs") /* special option processing required */ +/* New arguments have the form --launcher. to avoid collisions */ +#define LIBRARY _T_ECLIPSE("--launcher.library") +#define SUPRESSERRORS _T_ECLIPSE("--launcher.suppressErrors") +#define INI _T_ECLIPSE("--launcher.ini") + +/* this typedef must match the run method in eclipse.c */ +typedef int (*RunMethod)(int argc, _TCHAR* argv[], _TCHAR* vmArgs[]); +typedef void (*SetInitialArgs)(int argc, _TCHAR*argv[], _TCHAR* library); + +static _TCHAR* name = NULL; /* program name */ +static _TCHAR** userVMarg = NULL; /* user specific args for the Java VM */ +static _TCHAR* programDir = NULL; /* directory where program resides */ +static _TCHAR* officialName = NULL; +static int suppressErrors = 0; /* supress error dialogs */ + +static int createUserArgs(int configArgc, _TCHAR **configArgv, int *argc, _TCHAR ***argv); +static void parseArgs( int* argc, _TCHAR* argv[] ); +static _TCHAR* getDefaultOfficialName(_TCHAR* program); +static _TCHAR* findProgram(_TCHAR* argv[]); +static _TCHAR* findLibrary(_TCHAR* library, _TCHAR* program); +static _TCHAR* checkForIni(int argc, _TCHAR* argv[]); +static _TCHAR* getDirFromProgram(_TCHAR* program); + +static int initialArgc; +static _TCHAR** initialArgv; + +_TCHAR* eclipseLibrary = NULL; /* path to the eclipse shared library */ + +#ifdef UNICODE +extern int main(int, char**); +int mainW(int, wchar_t**); +int wmain( int argc, wchar_t** argv ) { + return mainW(argc, argv); +} + +int main(int argc, char* argv[]) { + /* + * Run the UNICODE version, convert the arguments from MBCS to UNICODE + */ + int i, result; + wchar_t **newArgv = malloc((argc + 1) * sizeof(wchar_t *)); + for (i=0; i from the last argument. If a shell script + * on Linux is created in DOS format (lines end with ), the C-shell + * does not strip off the and hence the argument is bogus and may + * not be recognized by the launcher or eclipse itself. + */ + ch = _tcschr( argv[ argc - 1 ], _T_ECLIPSE('\r') ); + if (ch != NULL) + { + *ch = _T_ECLIPSE('\0'); + } + + /* Determine the full pathname of this program. */ + program = findProgram(argv); + + /* Parse configuration file arguments */ + iniFile = checkForIni(argc, argv); + if (iniFile != NULL) + ret = readConfigFile(iniFile, &configArgc, &configArgv); + else + ret = readIniFile(program, &configArgc, &configArgv); + if (ret == 0) + { + parseArgs (&configArgc, configArgv); + } + + /* Parse command line arguments */ + /* Overrides configuration file arguments */ + parseArgs( &argc, argv ); + + /* Special case - user arguments specified in the config file + * are appended to the user arguments passed from the command line. + */ + if (configArgc > 0) + { + createUserArgs(configArgc, configArgv, &argc, &argv); + } + + /* Initialize official program name */ + officialName = name != NULL ? _tcsdup( name ) : getDefaultOfficialName(program); + + /* Find the directory where the Eclipse program is installed. */ + programDir = getDirFromProgram(program); + + /* Find the eclipse library */ + eclipseLibrary = findLibrary(eclipseLibrary, program); + + if(eclipseLibrary != NULL) + handle = loadLibrary(eclipseLibrary); + if(handle == NULL) { + errorMsg = malloc( (_tcslen(libraryMsg) + _tcslen(officialName) + 10) * sizeof(_TCHAR) ); + _stprintf( errorMsg, libraryMsg, officialName ); + if (!suppressErrors) + displayMessage( officialName, errorMsg ); + else + _ftprintf(stderr, _T_ECLIPSE("%s:\n%s\n"), officialName, errorMsg); + free( errorMsg ); + exit( 1 ); + } + + setArgs = (SetInitialArgs)findSymbol(handle, SET_INITIAL_ARGS); + if(setArgs != NULL) + setArgs(initialArgc, initialArgv, eclipseLibrary); + else { + if(!suppressErrors) + displayMessage(officialName, entryMsg); + else + _ftprintf(stderr, _T_ECLIPSE("%s:\n%s\n"), officialName, entryMsg); + exit(1); + } + + runMethod = (RunMethod)findSymbol(handle, RUN_METHOD); + if(runMethod != NULL) + exitCode = runMethod(argc, argv, userVMarg); + else { + if(!suppressErrors) + displayMessage(officialName, entryMsg); + else + _ftprintf(stderr, _T_ECLIPSE("%s:\n%s\n"), officialName, entryMsg); + exit(1); + } + unloadLibrary(handle); + + free( eclipseLibrary ); + free( programDir ); + free( program ); + free( officialName ); + + return exitCode; +} + +_TCHAR* getProgramPath() { + return NULL; +} + +static _TCHAR* findProgram(_TCHAR* argv[]) { + _TCHAR * program; +#ifdef _WIN32 + /* windows, make sure we are looking for the .exe */ + _TCHAR * ch; + int length = _tcslen(argv[0]); + ch = malloc( (length + 5) * sizeof(_TCHAR)); + _tcscpy(ch, argv[0]); + + if (length <= 4 || _tcsicmp( &ch[ length - 4 ], _T_ECLIPSE(".exe") ) != 0) + _tcscat(ch, _T_ECLIPSE(".exe")); + + program = findCommand(ch); + if (ch != program) + free(ch); +#else + program = findCommand( argv[0] ); +#endif + if (program == NULL) + { +#ifdef _WIN32 + program = malloc( MAX_PATH_LENGTH + 1 ); + GetModuleFileName( NULL, program, MAX_PATH_LENGTH ); + argv[0] = program; +#else + program = malloc( (strlen( argv[0] ) + 1) * sizeof(_TCHAR) ); + strcpy( program, argv[0] ); +#endif + } else if (_tcscmp(argv[0], program) != 0) { + argv[0] = program; + } + return program; +} + +/* + * Parse arguments of the command. + */ +static void parseArgs( int* pArgc, _TCHAR* argv[] ) +{ + int index; + + /* Ensure the list of user argument is NULL terminated. */ + argv[ *pArgc ] = NULL; + + /* For each user defined argument */ + for (index = 0; index < *pArgc; index++){ + if(_tcsicmp(argv[index], VMARGS) == 0) { + userVMarg = &argv[ index+1 ]; + argv[ index ] = NULL; + *pArgc = index; + } else if(_tcsicmp(argv[index], NAME) == 0) { + name = argv[++index]; + } else if(_tcsicmp(argv[index], LIBRARY) == 0) { + eclipseLibrary = argv[++index]; + } else if(_tcsicmp(argv[index], SUPRESSERRORS) == 0) { + suppressErrors = 1; + } + } +} + +/* We need to look for --launcher.ini before parsing the other args */ +static _TCHAR* checkForIni(int argc, _TCHAR* argv[]) +{ + int index; + for(index = 0; index < (argc - 1); index++) { + if(_tcsicmp(argv[index], INI) == 0) { + return argv[++index]; + } + } + return NULL; +} + +/* + * Create a new array containing user arguments from the config file first and + * from the command line second. + * Allocate an array large enough to host all the strings passed in from + * the argument configArgv and argv. That array is passed back to the + * argv argument. That array must be freed with the regular free(). + * Note that both arg lists are expected to contain the argument 0 from the C + * main method. That argument contains the path/executable name. It is + * only copied once in the resulting list. + * + * Returns 0 if success. + */ +static int createUserArgs(int configArgc, _TCHAR **configArgv, int *argc, _TCHAR ***argv) +{ + _TCHAR** newArray = (_TCHAR **)malloc((configArgc + *argc + 1) * sizeof(_TCHAR *)); + + newArray[0] = (*argv)[0]; /* use the original argv[0] */ + memcpy(newArray + 1, configArgv, configArgc * sizeof(_TCHAR *)); + + /* Skip the argument zero (program path and name) */ + memcpy(newArray + 1 + configArgc, *argv + 1, (*argc - 1) * sizeof(_TCHAR *)); + + /* Null terminate the new list of arguments and return it. */ + *argv = newArray; + *argc += configArgc; + (*argv)[*argc] = NULL; + + return 0; +} + +/* Determine the Program Directory + * + * This function takes the directory where program executable resides and + * determines the installation directory. + */ +_TCHAR* getDirFromProgram(_TCHAR* program) +{ + _TCHAR* ch; + + if(programDir != NULL) + return programDir; + + programDir = malloc( (_tcslen( program ) + 1) * sizeof(_TCHAR) ); + _tcscpy( programDir, program ); + ch = lastDirSeparator( programDir ); + if (ch != NULL) + { + *(ch+1) = _T_ECLIPSE('\0'); + return programDir; + } + + /* Can't figure out from the program, lets use the cwd */ + free(programDir); + programDir = malloc( MAX_PATH_LENGTH * sizeof (_TCHAR)); + _tgetcwd( programDir, MAX_PATH_LENGTH ); + return programDir; +} + +_TCHAR* getProgramDir() +{ + return programDir; +} + +_TCHAR* getOfficialName() { + return officialName; +} + +/* + * Determine the default official application name + * + * This function provides the default application name that appears in a variety of + * places such as: title of message dialog, title of splash screen window + * that shows up in Windows task bar. + * It is computed from the name of the launcher executable and + * by capitalizing the first letter. e.g. "c:/ide/eclipse.exe" provides + * a default name of "Eclipse". + */ +static _TCHAR* getDefaultOfficialName(_TCHAR* program) +{ + _TCHAR *ch = NULL; + + /* Skip the directory part */ + ch = lastDirSeparator( program ); + if (ch == NULL) ch = program; + else ch++; + + ch = _tcsdup( ch ); +#ifdef _WIN32 + { + /* Search for the extension .exe and cut it */ + _TCHAR *extension = _tcsrchr(ch, _T_ECLIPSE('.')); + if (extension != NULL) + { + *extension = _T_ECLIPSE('\0'); + } + } +#endif + /* Upper case the first character */ +#ifndef LINUX + { + *ch = _totupper(*ch); + } +#else + { + if (*ch >= 'a' && *ch <= 'z') + { + *ch -= 32; + } + } +#endif + return ch; +} + +static _TCHAR* findLibrary(_TCHAR* library, _TCHAR* program) +{ + _TCHAR* c; + _TCHAR* path; + _TCHAR* fragment; + _TCHAR* result; + _TCHAR* dot = _T_ECLIPSE("."); + size_t progLength, pathLength; + size_t fragmentLength; + struct _stat stats; + + if (library != NULL) { + path = checkPath(library, programDir, 1); + if (_tstat(path, &stats) == 0 && (stats.st_mode & S_IFDIR) != 0) + { + /* directory, find the highest version eclipse_* library */ + result = findFile(path, _T_ECLIPSE("eclipse")); + } else { + /* file, return it */ + result = _tcsdup(path); + } + + if (path != library) + free(path); + return result; + } + + /* build the equinox.launcher fragment name */ + fragmentLength = _tcslen(DEFAULT_EQUINOX_STARTUP) + 1 + _tcslen(wsArg) + 1 + _tcslen(osArg) + 1 + _tcslen(osArchArg) + 1; + fragment = malloc(fragmentLength * sizeof(_TCHAR)); + _tcscpy(fragment, DEFAULT_EQUINOX_STARTUP); + _tcscat(fragment, dot); + _tcscat(fragment, wsArg); + _tcscat(fragment, dot); + _tcscat(fragment, osArg); + //!(fragmentOS.equals(Constants.OS_MACOSX) && !Constants.ARCH_X86_64.equals(fragmentArch)) +#if !(defined(MACOSX) && !defined(__x86_64__)) + /* The Mac fragment covers both archs and does not have that last segment */ + _tcscat(fragment, dot); + _tcscat(fragment, osArchArg); +#endif + progLength = pathLength = _tcslen(programDir); +#ifdef MACOSX + pathLength += 9; +#endif + path = malloc( (pathLength + 1 + 7 + 1) * sizeof(_TCHAR)); + _tcscpy(path, programDir); + if (!IS_DIR_SEPARATOR(path[progLength - 1])) { + path[progLength] = dirSeparator; + path[progLength + 1] = 0; + } +#ifdef MACOSX + _tcscat(path, _T_ECLIPSE("../../../")); +#endif + _tcscat(path, _T_ECLIPSE("plugins")); + + c = findFile(path, fragment); + free(fragment); + if (c == NULL) + return c; + fragment = c; + + result = findFile(fragment, _T_ECLIPSE("eclipse")); + + free(fragment); + free(path); + + return result; +} diff --git a/features/org.eclipse.equinox.executable.feature/library/eclipseMozilla.c b/features/org.eclipse.equinox.executable.feature/library/eclipseMozilla.c new file mode 100644 index 000000000..a599589d5 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/eclipseMozilla.c @@ -0,0 +1,300 @@ +/******************************************************************************* + * Copyright (c) 2000, 2011 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ + +/* Eclipse Mozilla Utility Methods */ + +#ifdef MOZILLA_FIX + +#include "eclipseMozilla.h" +#include +#include +#include +#include +#include + +static char* prefixes[] = { + "xulrunner-1", + "mozilla-seamonkey-1", + "seamonkey-1", + "mozilla-1", + "mozilla-firefox-2", + "firefox-2", + "mozilla-firefox-3", + "firefox-3", + NULL +}; +static const int XULRUNNER_INDEX = 0; + +/* Filter function used by fixEnvForMozilla() for finding directories + * with a desired prefix. + */ +int filter(const struct dirent *dir) +{ +#if defined(__amd64__) || defined(__x86_64__) || defined(__powerpc64__) + char* root = "/usr/lib64/"; +#else + char* root = "/usr/lib/"; +#endif + +#if defined (SOLARIS) + /* + * The solaris compiler does not do static linking, so just check + * for a common lib to ensure that the install seems valid. + */ + char* testlib = "/libxpcom.so"; +#else + /* Ensure that the install is dynamically-linked and is built with GTK2 */ + char* testlib = "/components/libwidget_gtk2.so"; +#endif + + struct stat buf; + int index = 0; + char* dirname = (char *)dir->d_name; + + char* prefix = prefixes [index]; + while (prefix != NULL) + { + int prefixLength = strlen(prefix); + if (strncmp(dirname, prefix, prefixLength) == 0) + { + /* If a xulrunner install is found then success is immediate since + * xulrunner always provides an embeddable GRE. + */ + if (index == XULRUNNER_INDEX) return 1; /* include in scandir result */ + + int dirLength = strlen(dirname); + char* testpath = malloc (strlen(root) + dirLength + strlen(testlib) + 1); + strcpy(testpath, root); + strcat(testpath, dirname); + strcat(testpath, testlib); + int success = stat(testpath, &buf) == 0; + free(testpath); + if (success) + { + return 1; /* include in scandir result */ + } + } + prefix = prefixes [++index]; + } + return 0; /* exclude from scandir result */ +} + +#if defined (SOLARIS) +/* + * A replacement for + * scandir(const char *dir, struct dirent ***namelist, filter, alphasort); + * because scandir & alphasort don't exist on Solaris 9. + * Return the dirent->d_name that was sorted the highest according to strcoll, + * or NULL on error or if no entries matched the filter. + * The caller is responsible for freeing the returned string + */ +char * scan(const char * path) { + DIR *dir = NULL; + struct dirent * entry = NULL; + char * candidate = NULL; + + if ((dir = opendir(path)) == NULL) { + return NULL; + } + + while ((entry = readdir(dir)) != NULL) { + if (filter(entry)) { + if (candidate == NULL) { + candidate = strdup(entry->d_name); + } else if (strcoll(candidate, entry->d_name) < 0) { + free(candidate); + candidate = strdup(entry->d_name); + } + } + } + closedir(dir); + + return candidate; +} +#endif + +/* Set the environmnent required by the SWT Browser widget to bind to Mozilla. + * The SWT Browser widget relies on Mozilla on Linux. The LD_LIBRARY_PATH + * and the Mozilla environment variable MOZILLA_FIVE_HOME must point + * to the installation directory of Mozilla. + * + * 1. Use the location set by MOZILLA_FIVE_HOME if it is defined + * 2. Parse the file /etc/gre.conf if it is defined. This file is + * set by the RedtHat RPM manager. + * 3. Try some common installation locations. + */ +void fixEnvForMozilla() { + static int fixed = 0; + if (fixed) return; + { + char *ldPath = (char*)getenv("LD_LIBRARY_PATH"); + char *mozillaFiveHome = (char*)getenv("MOZILLA_FIVE_HOME"); + char *grePath = NULL; /* Gecko Runtime Environment Location */ + fixed = 1; + /* Always dup the string so we can free later */ + if (ldPath != NULL) ldPath = strdup(ldPath); + else ldPath = strdup(""); + + /* MOZILLA_FIVE_HOME (if defined) points to the Mozilla + * install directory. Don't look any further if it is set. + */ + if (mozillaFiveHome != NULL) + { + grePath = strdup(mozillaFiveHome); + } + + /* The file gre.conf (if available) points to the + * Mozilla install directory. Don't look any further if + * it is set. + */ + if (grePath == NULL) + { + struct stat buf; + FILE *file = NULL; +#if defined(__amd64__) || defined(__x86_64__) || defined(__powerpc64__) + if (stat("/etc/gre64.conf", &buf) == 0) + { + file = fopen("/etc/gre64.conf", "r"); + } + else if (stat("/etc/gre.d/gre64.conf", &buf) == 0) + { + file = fopen("/etc/gre.d/gre64.conf", "r"); + } else +#endif + if (stat("/etc/gre.conf", &buf) == 0) + { + file = fopen("/etc/gre.conf", "r"); + } + else if (stat("/etc/gre.d/gre.conf", &buf) == 0) + { + file = fopen("/etc/gre.d/gre.conf", "r"); + } + if (file != NULL) + { + char buffer[1024]; + char path[1024]; + while (fgets(buffer, 1024, file) != NULL) + { + if (sscanf(buffer, "GRE_PATH=%s", path) == 1) + { + int index = 0; + char* prefix = prefixes [index]; + while (prefix != NULL) + { + if (strstr(path, prefix)) + { + grePath = strdup(path); + break; + } + prefix = prefixes [++index]; + } + } + } + fclose(file); + } + } + + /* Try some common installation locations. */ + if (grePath == NULL) + { + /* try xulrunner-1*, mozilla-1*, firefox-2/3*, seamonkey-1* directories in /usr/lib/ */ +#if defined(__amd64__) || defined(__x86_64__) || defined(__powerpc64__) + char* dir = "/usr/lib64/"; +#else + char* dir = "/usr/lib/"; +#endif +#if defined (SOLARIS) + char * name = scan(dir); + if (name != NULL) { +#else + struct dirent **namelist; + int i; + int count = scandir(dir, &namelist, filter, alphasort); + if (count > 0) + { + /* count-1 is used below in an attempt to choose XULRunner + * any time one is found + */ + char* name = namelist [count - 1]->d_name; +#endif + grePath = malloc (strlen(dir) + strlen(name) + 1); + strcpy(grePath, dir); + strcat(grePath, name); +#if defined (SOLARIS) + free(name); +#else + for (i = 0; i < count; i++) { + free(namelist [i]); + } + free(namelist); +#endif + } + +#if defined (SOLARIS) + if (grePath == NULL) + { + /* some other typical installation locations */ + char* dirs[] = { + "/usr/sfw/lib/mozilla/", /* Solaris location */ + "/usr/lib/firefox/", /* OpenSolaris location */ + NULL + }; + + /* + * The solaris compiler does not do static linking, so just check + * for a common lib to ensure that the install seems valid. + */ + char* testlib = "libxpcom.so"; + + struct stat buf; + int index = 0; + + char* dir = dirs [index++]; + while (dir != NULL) + { + char* testpath = malloc (strlen(dir) + strlen(testlib) + 1); + strcpy(testpath, dir); + strcat(testpath, testlib); + int success = stat(testpath, &buf) == 0; + free(testpath); + if (success) + { + grePath = strdup(dir); + break; + } + dir = dirs [index++]; + } + } +#endif // SOLARIS + } + + if (grePath != NULL) + { + /* If grePath contains "xulrunner" then do not change the LD_LIBRARY_PATH, + * since it is likely that a xulrunner (not a mozilla or firefox) + * will be found at runtime. Note that MOZILLA_FIVE_HOME is still + * updated if grePath contains "xul" since this variable can act as + * a backup GRE to try if an initially-detected one fails to load. + */ + if (!strstr(grePath, "xulrunner")) { + ldPath = (char*)realloc(ldPath, strlen(ldPath) + strlen(grePath) + 2); + if (strlen(ldPath) > 0) strcat(ldPath, ":"); + strcat(ldPath, grePath); + setenv("LD_LIBRARY_PATH", ldPath, 1); + } + + if (mozillaFiveHome == NULL) setenv("MOZILLA_FIVE_HOME", grePath, 1); + free(grePath); + } + free(ldPath); + } +} +#endif /* MOZILLA_FIX */ diff --git a/features/org.eclipse.equinox.executable.feature/library/eclipseMozilla.h b/features/org.eclipse.equinox.executable.feature/library/eclipseMozilla.h new file mode 100644 index 000000000..e227741af --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/eclipseMozilla.h @@ -0,0 +1,21 @@ +/******************************************************************************* + * Copyright (c) 2000, 2006 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ + +#ifndef ECLIPSE_MOZILLA_H +#define ECLIPSE_MOZILLA_H + +/* Eclipse Mozilla Utility Methods */ + +#ifdef MOZILLA_FIX +extern void fixEnvForMozilla(); +#endif /* MOZILLA_FIX */ + +#endif /* ECLIPSE_MOZILLA_H */ diff --git a/features/org.eclipse.equinox.executable.feature/library/eclipseNix.c b/features/org.eclipse.equinox.executable.feature/library/eclipseNix.c new file mode 100644 index 000000000..bc57e2250 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/eclipseNix.c @@ -0,0 +1,234 @@ +/******************************************************************************* + * Copyright (c) 2008, 2009 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ + +/* This file contains code common between GTK & Motif */ +#include "eclipseOS.h" +#include "eclipseCommon.h" +#include "eclipseMozilla.h" +#include "eclipseUtil.h" +#include "eclipseJNI.h" + +#include +#include +#include +#include +#include +#include +#include + +#ifdef i386 +#define JAVA_ARCH "i386" +#elif defined(__ppc__) || defined(__powerpc64__) +#define JAVA_ARCH "ppc" +#elif defined(SOLARIS) +#define JAVA_ARCH "sparc" +#elif defined(__amd64__) || defined(__x86_64__) +#define JAVA_ARCH "amd64" +#else +#define JAVA_ARCH DEFAULT_OS_ARCH +#endif + +#ifdef AIX +#define LIB_PATH_VAR _T_ECLIPSE("LIBPATH") +#else +#define LIB_PATH_VAR _T_ECLIPSE("LD_LIBRARY_PATH") +#endif + +#define MAX_LOCATION_LENGTH 40 /* none of the jvmLocations strings should be longer than this */ +static const char* jvmLocations [] = { "j9vm", "../jre/bin/j9vm", + "classic", "../jre/bin/classic", + "../lib/" JAVA_ARCH "/client", + "../lib/" JAVA_ARCH "/server", + "../lib/" JAVA_ARCH "/jrockit", + "../jre/lib/" JAVA_ARCH "/client", + "../jre/lib/" JAVA_ARCH "/server", + "../jre/lib/" JAVA_ARCH "/jrockit", + "../lib/jvm/jre/lib/" JAVA_ARCH "/client", + NULL }; + +static void adjustLibraryPath( char * vmLibrary ); +static char * findLib(char * command); +#ifdef NETSCAPE_FIX +extern void fixEnvForNetscape(); +#endif /* NETSCAPE_FIX */ + +char * findVMLibrary( char* command ) { + char * lib = findLib(command); + if( lib != NULL ) { + adjustLibraryPath(lib); + } + return lib; +} + +static char * findLib(char * command) { + int i; + int pathLength; + struct stat stats; + char * path; /* path to resulting jvm shared library */ + char * location; /* points to begining of jvmLocations section of path */ + + if (command != NULL) { + /*check first to see if command already points to the library */ + if (isVMLibrary(command)) { + if (stat( command, &stats ) == 0 && (stats.st_mode & S_IFREG) != 0) + { /* found it */ + return strdup(command); + } + return NULL; + } + + location = strrchr( command, dirSeparator ) + 1; + pathLength = location - command; + path = malloc((pathLength + MAX_LOCATION_LENGTH + 1 + strlen(vmLibrary) + 1) * sizeof(char)); + strncpy(path, command, pathLength); + location = &path[pathLength]; + + /* + * We are trying base/jvmLocations[*]/vmLibrary + * where base is the directory containing the given java command, normally jre/bin + */ + i = -1; + while(jvmLocations[++i] != NULL) { + sprintf(location, "%s%c%s", jvmLocations[i], dirSeparator, vmLibrary); + if (stat( path, &stats ) == 0 && (stats.st_mode & S_IFREG) != 0) + { /* found it */ + return path; + } + } + } + return NULL; +} + +/* adjust the LD_LIBRARY_PATH for the vmLibrary */ +static void adjustLibraryPath( char * vmLibrary ) { + char * c; + char * ldPath; + char * newPath; + int i; + int numPaths = 0; + int length = 0; + int needAdjust = 0; + + char ** paths = NULL; +#ifdef MOZILLA_FIX + fixEnvForMozilla(); +#endif /* MOZILLA_FIX */ +#ifdef NETSCAPE_FIX + fixEnvForNetscape(); +#endif /* NETSCAPE_FIX */ + + paths = getVMLibrarySearchPath(vmLibrary); + + ldPath = (char*)getenv(LIB_PATH_VAR); + if (!ldPath) { + ldPath = _T_ECLIPSE(""); + needAdjust = 1; + } else { + needAdjust = !containsPaths(ldPath, paths); + } + if (!needAdjust) { + for (i = 0; paths[i] != NULL; i++) + free(paths[i]); + free(paths); + return; + } + + /* set the value for LD_LIBRARY_PATH */ + length = strlen(ldPath); + c = concatStrings(paths); + newPath = malloc((_tcslen(c) + length + 1) * sizeof(_TCHAR)); + _stprintf(newPath, _T_ECLIPSE("%s%s"), c, ldPath); + + setenv( LIB_PATH_VAR, newPath, 1); + free(newPath); + free(c); + + for (i = 0; i < numPaths; i++) + free(paths[i]); + free(paths); + + /* now we must restart for this to take affect */ + restartLauncher(initialArgv[0], initialArgv); +} + +void restartLauncher( char* program, char* args[] ) +{ + /* just restart in-place */ + execvp( program != NULL ? program : args[0], args); +} + +void processVMArgs(_TCHAR **vmargs[] ) { + /* nothing yet */ +} + +JavaResults* startJavaVM( _TCHAR* libPath, _TCHAR* vmArgs[], _TCHAR* progArgs[], _TCHAR* jarFile ) +{ + return startJavaJNI(libPath, vmArgs, progArgs, jarFile); +} + +int isSunVM( _TCHAR * javaVM, _TCHAR * jniLib ) { + int descriptors[2]; + int result = 0; + int pid = -1; + + if (javaVM == NULL) + return 0; + + /* create pipe, [0] is read end, [1] is write end */ + if (pipe(descriptors) != 0) + return 0; /* error */ + + pid = fork(); + if (pid == 0 ) { + /* child, connect stdout & stderr to write end of the pipe*/ + dup2(descriptors[1], STDERR_FILENO); + dup2(descriptors[1], STDOUT_FILENO); + + /* close descriptors */ + close(descriptors[0]); + close(descriptors[1]); + + { + /* exec java -version */ + _TCHAR *args [] = { javaVM, _T_ECLIPSE("-version"), NULL }; + execv(args[0], args); + /* if we make it here, there was a problem with exec, just exit */ + exit(0); + } + } else if (pid > 0){ + /* parent */ + FILE * stream = NULL; + int status = 0; + close(descriptors[1]); + stream = fdopen( descriptors[0], "r"); + if (stream != NULL) { + _TCHAR buffer[256]; + while ( fgets(buffer, 256, stream) != NULL) { + if (_tcsstr(buffer, _T_ECLIPSE("Java HotSpot(TM)")) || _tcsstr(buffer, _T_ECLIPSE("OpenJDK"))) { + result = 1; + break; + } + if (_tcsstr(buffer, _T_ECLIPSE("IBM")) != NULL) { + result = 0; + break; + } + } + fclose(stream); + close(descriptors[0]); + } + waitpid(pid, &status, 0); + } else { + /* failed to fork */ + close(descriptors[0]); + close(descriptors[1]); + } + return result; +} diff --git a/features/org.eclipse.equinox.executable.feature/library/eclipseOS.h b/features/org.eclipse.equinox.executable.feature/library/eclipseOS.h new file mode 100644 index 000000000..a0e0902d1 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/eclipseOS.h @@ -0,0 +1,121 @@ +/******************************************************************************* + * Copyright (c) 2000, 2010 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Kevin Cornell (Rational Software Corporation) + *******************************************************************************/ + +#ifndef ECLIPSE_OS_H +#define ECLIPSE_OS_H + +#include "eclipseJNI.h" +#include "eclipseUnicode.h" + +#ifdef MACOSX +#define JAVA_FRAMEWORK "/System/Library/Frameworks/JavaVM.framework" +#endif + +/* Operating System Dependent Information */ + +/*** See eclipse.c for information on the launcher runtime architecture ***/ + +/* Global Variables */ +extern _TCHAR* defaultVM; /* name of VM to use normally */ +#ifdef _WIN32 +extern _TCHAR* consoleVM; /* windows needs a different vm executable for the console */ +#endif +extern _TCHAR* shippedVMDir; /* VM bin directory with separator */ +extern _TCHAR* exitData; /* exit data set from Java */ +extern _TCHAR* vmLibrary; /* name of the VM shared library */ +extern int initialArgc; /* argc originally used to start launcher */ +extern _TCHAR** initialArgv; /* argv originally used to start launcher */ +extern _TCHAR* eeLibPath; /* library path specified in a .ee file */ +extern int secondThread; /* whether or not to start the vm on a second thread */ + +/* OS Specific Functions */ + +/** Display a Message + * + * This method is called to display a message to the user. + * The method should not return until the user has acknowledged + * the message. This method will only be called after the window + * system has been initialized. + */ +extern void displayMessage( _TCHAR* title, _TCHAR* message ); + + +/** Initialize the Window System + * + * This method is called after the command line arguments have been + * parsed. Its purpose is to initialize the corresponding window system. + * + * The showSplash flag indicates the splash window will be displayed by + * this process (e.g., value will be zero for the main launcher). + */ +extern int initWindowSystem( int* argc, _TCHAR* argv[], int showSplash ); + + +/** Show the Splash Window + * + * This method is called to display the actual splash window. It will only + * be called by the splash window process and not the main launcher process. + * The splash ID passed corresponds to the string returned from initWindowSystem(). + * If possible, this ID should be used to communicate some piece of data back + * to the main launcher program for two reasons: + * 1) to detect when the splash window process terminates + * 2) to terminate the splash window process should the JVM terminate before it + * completes its initialization. + * + * Two parameters are passed: the install home directory and a specific bitmap image + * file for a feature. The feature's image file is tried first and if it cannot be + * displayed, the images from the install directory are used. + * + * Return (exit code): + * 0 - success + * non-zero - could not find a splash image to display + */ +extern int showSplash( const _TCHAR* featureImage ); + +/** Get List of Java VM Arguments + * + * A given Java VM might require a special set of arguments in order to + * optimize its performance. This method returns a NULL terminated array + * of strings, where each string is a separate VM argument. + */ +extern _TCHAR** getArgVM( _TCHAR *vm ); + +/* Find the vm shared library associated with the given java executable */ +extern _TCHAR * findVMLibrary( _TCHAR * command ); + +extern void dispatchMessages(); + +extern jlong getSplashHandle(); + +extern void takeDownSplash(); + +extern void restartLauncher( _TCHAR* program, _TCHAR* args[] ); + +/* launch the vm in a separate process and wait for it to finish */ +extern JavaResults* launchJavaVM( _TCHAR* args[] ); + +/* launch the vm in this process using JNI invocation */ +extern JavaResults* startJavaVM( _TCHAR* libPath, _TCHAR* vmArgs[], _TCHAR* progArgs[], _TCHAR* jarFile ); + +/* do any platform specific processing of the user vmargs */ +extern void processVMArgs(_TCHAR **vmargs[] ); + +/* is this a Sun VM, returns 0 if we don't know */ +extern int isSunVM( _TCHAR * javaVM, _TCHAR * jniLib ); + +/* an array of paths that will need to be on the search path to load the vm shared library */ +extern _TCHAR ** getVMLibrarySearchPath(_TCHAR * vmLibrary); + +extern int reuseWorkbench(_TCHAR** filePath, int timeout); + +#endif /* ECLIPSE_OS_H */ + diff --git a/features/org.eclipse.equinox.executable.feature/library/eclipseShm.c b/features/org.eclipse.equinox.executable.feature/library/eclipseShm.c new file mode 100644 index 000000000..e46c1f5bc --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/eclipseShm.c @@ -0,0 +1,273 @@ +/******************************************************************************* + * Copyright (c) 2000, 2009 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Silenio Quarti + *******************************************************************************/ + +#include "eclipseOS.h" +#include "eclipseShm.h" + +static _TCHAR* ECLIPSE_UNITIALIZED = _T_ECLIPSE("ECLIPSE_UNINITIALIZED"); + +#ifdef _WIN32 + +#include + +#ifdef __MINGW32__ +#include +#endif + +int createSharedData(_TCHAR** id, int size) { + HANDLE mapHandle = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, size, NULL); + if (mapHandle == 0) return -1; + if (id != NULL) { + *id = malloc(18 * sizeof(_TCHAR)); +#ifdef WIN64 + _stprintf(*id, _T_ECLIPSE("%lx_%lx"), GetCurrentProcessId(), (DWORDLONG) mapHandle); +#else + _stprintf(*id, _T_ECLIPSE("%lx_%lx"), GetCurrentProcessId(), (DWORD) mapHandle); +#endif + } + /* set the shared data to "uninitialized" */ + setSharedData(*id, ECLIPSE_UNITIALIZED); + return 0; +} + +static int getShmID(const _TCHAR* id, LPDWORD processID, LPHANDLE handle) { + if (id != NULL && _tcslen(id) > 0) { + DWORD i1; +#ifdef WIN64 + DWORDLONG i2; +#else + DWORD i2; +#endif + if (_stscanf(id, _T_ECLIPSE("%lx_%lx"), &i1, &i2) != 2) return -1; + *processID = (DWORD)i1; + *handle = (HANDLE)i2; + return 0; + } + return -1; +} + +int destroySharedData(_TCHAR* id) { + DWORD processID; + HANDLE handle; + if (getShmID(id, &processID, &handle) == -1) return -1; + if (!CloseHandle(handle)) return -1; + return 0; +} + +int getSharedData(_TCHAR* id, _TCHAR** data) { + _TCHAR *sharedData, *newData = NULL; + DWORD processID; + HANDLE handle, mapHandle = NULL, processHandle; + if (getShmID(id, &processID, &handle) == -1) return -1; + if (processID == GetCurrentProcessId()) { + mapHandle = handle; + } else { + processHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, processID); + if (processHandle == NULL) return -1; + DuplicateHandle(processHandle, handle, GetCurrentProcess(), &mapHandle, DUPLICATE_SAME_ACCESS, FALSE, DUPLICATE_SAME_ACCESS); + CloseHandle(processHandle); + } + if (mapHandle == NULL) return -1; + sharedData = MapViewOfFile(handle, FILE_MAP_WRITE, 0, 0, 0); + if (sharedData == NULL) return -1; + if (_tcscmp(sharedData, ECLIPSE_UNITIALIZED)== 0) return 0; + if (data != NULL) { + size_t length = (_tcslen(sharedData) + 1) * sizeof(_TCHAR); + newData = malloc(length); + memcpy(newData, sharedData, length); + } + if (!UnmapViewOfFile(sharedData)) { + free(newData); + return -1; + } + if (handle != mapHandle) { + CloseHandle(mapHandle); + } + *data = newData; + return 0; +} + +int setSharedData(const _TCHAR* id, const _TCHAR* data) { + _TCHAR* sharedData; + DWORD processID; + HANDLE handle, mapHandle = NULL, processHandle; + if (getShmID(id, &processID, &handle) == -1) return -1; + if (processID == GetCurrentProcessId()) { + mapHandle = handle; + } else { + processHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, processID); + if (processHandle == NULL) return -1; + DuplicateHandle(processHandle, handle, GetCurrentProcess(), &mapHandle, DUPLICATE_SAME_ACCESS, FALSE, DUPLICATE_SAME_ACCESS); + CloseHandle(processHandle); + } + if (mapHandle == NULL) return -1; + sharedData = MapViewOfFile(mapHandle, FILE_MAP_WRITE, 0, 0, 0); + if (sharedData == NULL) return -1; + if (data != NULL) { + size_t length = (_tcslen(data) + 1) * sizeof(_TCHAR); + memcpy(sharedData, data, length); + } else { + memset(sharedData, 0, sizeof(_TCHAR)); + } + if (!UnmapViewOfFile(sharedData)) { + return -1; + } + if (handle != mapHandle) { + CloseHandle(mapHandle); + } + return 0; +} + +#elif PHOTON + +#include +#include +#include +#include +#include + +int createSharedData(char** id, int size) { + int fd; + char* location = "/tmp/eclipse_%x"; + char* name = malloc(strlen(location) + 9); + sprintf(name, location, getpid()); + if ((fd = shm_open(name, O_RDWR | O_CREAT, 0666 )) == -1) return -1; + if (ftruncate(fd, size) == -1 ) { + shm_unlink(name); + return -1; + } + close( fd ); + if (id != NULL) { + *id = name; + } + return 0; +} + +int destroySharedData(char* id) { + return shm_unlink(id); +} + +int getSharedData(char* id, char** data) { + int fd, length, size; + char *sharedData, *newData = NULL; + if ((fd = shm_open(id, O_RDWR, 0666 )) == -1) return -1; + size = lseek(fd, 0, SEEK_END); + sharedData = mmap( 0, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0 ); + if (sharedData != MAP_FAILED) { + if (data != NULL) { + length = strlen(sharedData) + 1; + newData = malloc(length); + memcpy(newData, sharedData, length); + } + munmap(sharedData, size); + } + close(fd); + *data = newData; + return newData == NULL ? -1 : 0; +} + +int setSharedData(char* id, char* data) { + int fd, length, size; + char *sharedData; + if ((fd = shm_open(id, O_RDWR, 0666 )) == -1) return -1; + size = lseek(fd, 0, SEEK_END); + sharedData = mmap( 0, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0 ); + if (sharedData != MAP_FAILED) { + if (data != NULL) { + length = strlen(data) + 1; + memcpy(sharedData, data, length); + } else { + memset(sharedData, 0, sizeof(char)); + } + munmap(sharedData, size); + } + close(fd); + return 0; +} + +#else /* Unix like platforms */ + +#include +#include +#include +#include +#include +#include + +int createSharedData(char** id, int size) { + int shmid; + key_t key = getpid(); + if ((shmid = shmget(key, size, IPC_CREAT | 0666)) < 0) { + return -1; + } + if (id != NULL) { + *id = malloc(9 * sizeof(char)); + sprintf(*id, "%x", shmid); + } + setSharedData(*id, ECLIPSE_UNITIALIZED); + return 0; +} + +static int getShmID(const char* id) { + int shmid = -1; + /* Determine the shared memory id. */ + if (id != NULL && strlen(id) > 0) { + sscanf(id, "%x", &shmid); + } + return shmid; +} + +int destroySharedData(char* id) { + int shmid = getShmID(id); + if (shmid == -1) return -1; + return shmctl(shmid, IPC_RMID, NULL); +} + +int getSharedData( char* id, char** data ) { + char *sharedData, *newData = NULL; + int length; + int shmid = getShmID(id); + if (shmid == -1) return -1; + sharedData = shmat(shmid, (void *)0, 0); + if (sharedData == (char *)(-1)) return -1; + if (_tcscmp(sharedData, ECLIPSE_UNITIALIZED) == 0) return 0; + length = strlen(sharedData) + 1; + newData = malloc(length); + memcpy(newData, sharedData, length); + if (shmdt(sharedData) != 0) { + free(newData); + return -1; + } + *data = newData; + return 0; +} + +int setSharedData(const char* id, const char* data) { + char* sharedData; + int length; + int shmid = getShmID(id); + if (shmid == -1) return -1; + sharedData = shmat(shmid, (void *)0, 0); + if (sharedData == (char *)(-1)) return -1; + if (data != NULL) { + length = strlen(data) + 1; + memcpy(sharedData, data, length); + } else { + memset(sharedData, 0, sizeof(char)); + } + if (shmdt(sharedData) != 0) { + return -1; + } + return 0; +} + +#endif /* Unix like platforms */ diff --git a/features/org.eclipse.equinox.executable.feature/library/eclipseShm.h b/features/org.eclipse.equinox.executable.feature/library/eclipseShm.h new file mode 100644 index 000000000..9cac1aa34 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/eclipseShm.h @@ -0,0 +1,60 @@ +/******************************************************************************* + * Copyright (c) 2000, 2009 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Silenio Quarti + *******************************************************************************/ + +#ifndef ECLIPSE_SHM_H +#define ECLIPSE_SHM_H + +/* Shared memory utilities */ + +/** + * Creates and initializes a shared memory segment + * with the specified size in bytes. The id for the + * shared memory segment is stored in the id argument + * and can be used from any process. It must be freed + * with free(). + * + * Returns 0 if success. + */ +extern int createSharedData(_TCHAR** id, int size); + +/** + * Destroy the shared memory segment specified by the + * id argument. The id is the same as the one return + * by createSharedData(). This function must be called + * by the same process that created the segment. + * + * Returns 0 if success. + */ +extern int destroySharedData(_TCHAR* id); + +/** + * Gets a copy of the shared memory segment specified + * by the id argument. The copy is stored in the data + * argument as a null terminated string and must be + * freed by free(). + * + * Returns 0 if success. + */ +extern int getSharedData(_TCHAR* id, _TCHAR** data); + +/** + * Sets the shared memory segment specified by the id + * argument with a null terminated string specified by + * data. + * + * Returns 0 if sucess. + */ +extern int setSharedData(const _TCHAR* id, const _TCHAR* data); + +#endif /* ECLIPSE_SHM_H */ + + diff --git a/features/org.eclipse.equinox.executable.feature/library/eclipseUnicode.h b/features/org.eclipse.equinox.executable.feature/library/eclipseUnicode.h new file mode 100644 index 000000000..f98b77dc7 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/eclipseUnicode.h @@ -0,0 +1,112 @@ +/******************************************************************************* + * Copyright (c) 2000, 2007 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Silenio Quarti + *******************************************************************************/ + +#ifndef ECLIPSE_UNICODE_H +#define ECLIPSE_UNICODE_H + +#ifdef _WIN32 + +#ifdef UNICODE +#define _UNICODE +#endif +#include +#include +#include + +#ifdef __MINGW32__ +# ifdef UNICODE +# ifndef _TCHAR +# define _TCHAR TCHAR +# endif /* _TCHAR */ +# ifndef _tgetcwd +# define _tgetcwd _wgetcwd +# endif /* _tgetcwd */ +# ifndef _tstat +# define _tstat _wstat +# endif /* _tstat */ +# ifndef _topendir +# define _topendir _wopendir +# endif /* _topendir */ +# ifndef _treaddir +# define _treaddir _wreaddir +# endif /* _treaddir */ +# ifndef _tclosedir +# define _tclosedir _wclosedir +# endif /* _tclosedir */ +# ifndef _tDIR +# define _tDIR _WDIR +# endif /* _tDIR */ +# else /* UNICODE */ +# ifndef _TCHAR +# define _TCHAR char +# endif /* _TCHAR */ +# ifndef _tgetcwd +# define _tgetcwd getcwd +# endif /* _tgetcwd */ +# ifndef _tstat +# define _tstat _stat +# endif /* _tstat */ +# ifndef _topendir +#error message! +# define _topendir opendir +# endif /* _topendir */ +# ifndef _treaddir +# define _treaddir readdir +# endif /* _treaddir */ +# ifndef _tclosedir +# define _tclosedir closedir +# endif /* _tclosedir */ +# ifndef _tDIR +# define _tDIR DIR +# endif /* _tDIR */ +# endif /* UNICODE */ +#endif /* __MINGW32__ */ + +#define _T_ECLIPSE _T + +#else /* Platforms other than Windows */ + +#define _TCHAR char +#define _T_ECLIPSE(s) s +#define _fgetts fgets +#define _stat stat +#define _stprintf sprintf +#define _ftprintf fprintf +#define _stscanf sscanf +#define _tcscat strcat +#define _tcschr strchr +#define _tcspbrk strpbrk +#define _tcscmp strcmp +#define _tcscpy strcpy +#define _tcsdup strdup +#define _tcsicmp strcasecmp +#define _tcslen strlen +#define _tcsncpy strncpy +#define _tcsrchr strrchr +#define _tfopen fopen +#define _tgetcwd getcwd +#define _tgetenv getenv +#define _tcstol strtol +#ifndef LINUX +#define _totupper toupper +#endif /* LINUX */ +#define _tprintf printf +#define _tstat stat +#define _tcsncmp strncmp +#define _tcsstr strstr +#define _topendir opendir +#define _treaddir readdir +#define _tclosedir closedir +#define _tDIR DIR +#endif /* _WIN32 */ + +#endif /* ECLIPSE_UNICODE_H */ diff --git a/features/org.eclipse.equinox.executable.feature/library/eclipseUtil.c b/features/org.eclipse.equinox.executable.feature/library/eclipseUtil.c new file mode 100644 index 000000000..130afb347 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/eclipseUtil.c @@ -0,0 +1,333 @@ +/******************************************************************************* + * Copyright (c) 2000, 2010 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Kevin Cornell (Rational Software Corporation) + * Martin Oberhuber (Wind River) - [149994] Add --launcher.appendVmargs + *******************************************************************************/ + +/* Eclipse Launcher Utility Methods */ + +#include "eclipseOS.h" +#include "eclipseCommon.h" +#include "eclipseUtil.h" + +#include +#include +#include +#include +#ifdef _WIN32 +#include +#else +#include +#include +#endif + +#define MAX_LINE_LENGTH 256 + +/* Is the given VM J9 */ +int isJ9VM( _TCHAR* vm ) +{ + _TCHAR * ch = NULL, *ch2 = NULL; + int res = 0; + + if (vm == NULL) + return 0; + + ch = lastDirSeparator( vm ); + if (isVMLibrary(vm)) { + /* a library, call it j9 if the parent dir is j9vm */ + if(ch == NULL) + return 0; + ch[0] = 0; + ch2 = lastDirSeparator(vm); + if(ch2 != NULL) { + res = (_tcsicmp(ch2 + 1, _T_ECLIPSE("j9vm")) == 0); + } + ch[0] = dirSeparator; + return res; + } else { + if (ch == NULL) + ch = vm; + else + ch++; + return (_tcsicmp( ch, _T_ECLIPSE("j9") ) == 0); + } +} + +int checkProvidedVMType( _TCHAR* vm ) +{ + _TCHAR* ch = NULL; + struct _stat stats; + + if (vm == NULL) return VM_NOTHING; + + if (_tstat(vm, &stats) == 0 && (stats.st_mode & S_IFDIR) != 0) { + /* directory */ + return VM_DIRECTORY; + } + + ch = _tcsrchr( vm, _T_ECLIPSE('.') ); + if(ch == NULL) + return VM_OTHER; + +#ifdef _WIN32 + if (_tcsicmp(ch, _T_ECLIPSE(".dll")) == 0) +#else + if ((_tcsicmp(ch, _T_ECLIPSE(".so")) == 0) || (_tcsicmp(ch, _T_ECLIPSE(".jnilib")) == 0) || (_tcsicmp(ch, _T_ECLIPSE(".dylib")) == 0)) +#endif + { + return VM_LIBRARY; + } + + if (_tcsicmp(ch, _T_ECLIPSE(".ee")) == 0) + return VM_EE_PROPS; + + return VM_OTHER; +} + +/* + * pathList is a pathSeparator separated list of paths, run each through + * checkPath and recombine the results. + * New memory is always allocated for the result + */ +_TCHAR * checkPathList( _TCHAR* pathList, _TCHAR* programDir, int reverseOrder) { + _TCHAR * c1, *c2; + _TCHAR * checked, *result; + size_t checkedLength = 0, resultLength = 0; + size_t bufferLength = _tcslen(pathList); + + result = malloc(bufferLength * sizeof(_TCHAR)); + c1 = pathList; + while (c1 != NULL && *c1 != _T_ECLIPSE('\0')) + { + c2 = _tcschr(c1, pathSeparator); + if (c2 != NULL) + *c2 = 0; + + checked = checkPath(c1, programDir, reverseOrder); + checkedLength = _tcslen(checked); + if (resultLength + checkedLength + 1> bufferLength) { + bufferLength += checkedLength + 1; + result = realloc(result, bufferLength * sizeof(_TCHAR)); + } + + if(resultLength > 0) { + result[resultLength++] = pathSeparator; + result[resultLength] = _T_ECLIPSE('\0'); + } + _tcscpy(result + resultLength, checked); + resultLength += checkedLength; + + if(checked != c1) + free(checked); + if(c2 != NULL) + *(c2++) = pathSeparator; + c1 = c2; + } + + return result; +} + +_TCHAR * concatStrings(_TCHAR**strs) { + return concatPaths(strs, 0); +} + +_TCHAR * concatPaths(_TCHAR** strs, _TCHAR separator) { + _TCHAR separatorString[] = { separator, 0 }; + _TCHAR * result; + int i = -1; + size_t length = 0; + /* first count how large a buffer we need */ + while (strs[++i] != NULL) { + length += _tcslen(strs[i]) + (separator != 0 ? 1 : 0); + } + + result = malloc((length + 1) * sizeof(_TCHAR)); + result[0] = 0; + i = -1; + while (strs[++i] != NULL) { + result = _tcscat(result, strs[i]); + if (separator != 0) + result = _tcscat(result, separatorString); + } + return result; +} + +/* + * Concatenates two NULL-terminated arrays of Strings, + * returning a new NULL-terminated array. + * The returned array must be freed with the regular free(). + */ +_TCHAR** concatArgs(_TCHAR** l1, _TCHAR** l2) { + _TCHAR** newArray = NULL; + int size1 = 0; + int size2 = 0; + + if (l1 != NULL) + while (l1[size1] != NULL) size1++; + if (l2 != NULL) + while (l2[size2] != NULL) size2++; + + newArray = (_TCHAR **) malloc((size1 + size2 + 1) * sizeof(_TCHAR *)); + if (size1 > 0) { + memcpy(newArray, l1, size1 * sizeof(_TCHAR *)); + } + if (size2 > 0) { + memcpy(newArray + size1, l2, size2 * sizeof(_TCHAR *)); + } + newArray[size1 + size2] = NULL; + return newArray; +} + +/* + * returns the relative position of arg in the NULL-terminated list of args, + * or -1 if args does not contain arg. + */ +int indexOf(_TCHAR *arg, _TCHAR **args) { + int i = -1; + if (arg != NULL && args != NULL) { + while (args[++i] != NULL) { + if (_tcsicmp(arg, args[i]) == 0) { + return i; + } + } + } + return -1; +} + +/* + * buffer contains a pathSeparator separated list of paths, check + * that it contains all the paths given. Each path is expected to be + * terminated with a pathSeparator character. + */ +int containsPaths(_TCHAR * str, _TCHAR** paths) { + _TCHAR * buffer; + _TCHAR * c; + int i; + + /* terminate the string with a pathSeparator */ + buffer = malloc((_tcslen(str) + 2) * sizeof(_TCHAR)); + _stprintf(buffer, _T_ECLIPSE("%s%c"), str, pathSeparator); + + for (i = 0; paths[i] != NULL; i++) { + c = _tcsstr(buffer, paths[i]); + if ( c == NULL || !(c == buffer || *(c - 1) == pathSeparator)) + { + /* entry not found */ + free(buffer); + return 0; + } + } + free(buffer); + return 1; +} + +int isVMLibrary( _TCHAR* vm ) +{ + _TCHAR *ch = NULL; + if (vm == NULL) return 0; + ch = _tcsrchr( vm, '.' ); + if(ch == NULL) + return 0; +#ifdef _WIN32 + return (_tcsicmp(ch, _T_ECLIPSE(".dll")) == 0); +#else + return (_tcsicmp(ch, _T_ECLIPSE(".so")) == 0) || (_tcsicmp(ch, _T_ECLIPSE(".jnilib")) == 0) || (_tcsicmp(ch, _T_ECLIPSE(".dylib")) == 0); +#endif +} + +#ifdef AIX + +#include +#include + +/* Return the JVM version in the format x.x.x + */ +char* getVMVersion( char *vmPath ) +{ + char cmd[MAX_LINE_LENGTH]; + char lineString[MAX_LINE_LENGTH]; + char* firstChar; + char fileName[MAX_LINE_LENGTH]; + time_t curTime; + FILE* fp; + int numChars = 0; + char* version = NULL; + + /* Define a unique filename for the java output. */ + (void) time(&curTime); + (void) sprintf(fileName, "/tmp/tmp%ld.txt", curTime); + + /* Write java -version output to a temp file */ + (void) sprintf(cmd,"%s -version 2> %s", vmPath, fileName); + (void) system(cmd); + + fp = fopen(fileName, "r"); + if (fp != NULL) + { + /* Read java -version output from a temp file */ + if (fgets(lineString, MAX_LINE_LENGTH, fp) == NULL) + lineString[0] = '\0'; + fclose(fp); + unlink(fileName); + + /* Extract version number */ + firstChar = (char *) (strchr(lineString, '"') + 1); + if (firstChar != NULL) + numChars = (int) (strrchr(lineString, '"') - firstChar); + + /* Allocate a buffer and copy the version string into it. */ + if (numChars > 0) + { + version = malloc( numChars + 1 ); + strncpy(version, firstChar, numChars); + version[numChars] = '\0'; + } + } + + return version; +} +#endif /* AIX */ + +/* Compare JVM Versions of the form "x.x.x..." + * + * Returns -1 if ver1 < ver2 + * Returns 0 if ver1 = ver2 + * Returns 1 if ver1 > ver2 + */ +int versionCmp(char *ver1, char *ver2) +{ + char* dot1; + char* dot2; + int num1; + int num2; + + dot1 = strchr(ver1, '.'); + dot2 = strchr(ver2, '.'); + + num1 = atoi(ver1); + num2 = atoi(ver2); + + if (num1 > num2) + return 1; + + if (num1 < num2) + return -1; + + if (dot1 && !dot2) /* x.y > x */ + return 1; + + if (!dot1 && dot2) /* x < x.y */ + return -1; + + if (!dot1 && !dot2) /* x == x */ + return 0; + + return versionCmp((char*)(dot1 + 1), (char*)(dot2 + 1) ); +} diff --git a/features/org.eclipse.equinox.executable.feature/library/eclipseUtil.h b/features/org.eclipse.equinox.executable.feature/library/eclipseUtil.h new file mode 100644 index 000000000..7843a3f9b --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/eclipseUtil.h @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2000, 2010 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Kevin Cornell (Rational Software Corporation) + * Martin Oberhuber (Wind River) - [149994] Add --launcher.appendVmargs + *******************************************************************************/ + +#ifndef ECLIPSE_UTIL_H +#define ECLIPSE_UTIL_H + +/* constants for checkProvidedVMType */ +#define VM_NOTHING 0 /* NULL was given as input */ +#define VM_OTHER 1 /* don't know, could be executable or could be nothing */ +#define VM_DIRECTORY 2 /* it is a directory */ +#define VM_LIBRARY 3 /* it is a library (isVmLibrary would return true) */ +#define VM_EE_PROPS 4 /* it is a vm .ee properties file */ + +/* Eclipse Launcher Utility Methods */ + +/* Is the given Java VM J9 */ +extern int isJ9VM( _TCHAR* vm ); + +/* Is the given file a shared library? */ +extern int isVMLibrary( _TCHAR* vm ); + +/* determine what the provided -vm argument is referring to */ +extern int checkProvidedVMType( _TCHAR* vm ); + +/* take a list of path separated with pathSeparator and run them through checkPath */ +extern _TCHAR * checkPathList( _TCHAR* pathList, _TCHAR* programDir, int reverseOrder); + +/* take a NULL terminated array of strings and concatenate them together into one string */ +extern _TCHAR * concatStrings(_TCHAR** strs); + +/* Concatenates two NULL-terminated arrays of strings into a new array of strings */ +extern _TCHAR** concatArgs(_TCHAR** l1, _TCHAR** l2); + +/* Returns the relative position of arg in the NULL-terminated list of args, or -1 */ +extern int indexOf(_TCHAR *arg, _TCHAR **args); + +/* take a NULL terminated array of strings and concatenate them together using the give pathSeparator */ +extern _TCHAR* concatPaths(_TCHAR** paths, _TCHAR pathSeparator); + +/* check that the buffer contains all the given paths */ +extern int containsPaths(_TCHAR * str, _TCHAR** paths); + +#ifdef AIX +/* Get the version of the VM */ +extern char* getVMVersion( char* vm ); +#endif + +/* Compare JVM Versions */ +extern int versionCmp( char* ver1, char* ver2 ); + +#endif /* ECLIPSE_UTIL_H */ diff --git a/features/org.eclipse.equinox.executable.feature/library/gtk/.gitignore b/features/org.eclipse.equinox.executable.feature/library/gtk/.gitignore new file mode 100644 index 000000000..8d396827f --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/gtk/.gitignore @@ -0,0 +1,3 @@ +/*.o +/eclipse +/eclipse_*.so \ No newline at end of file diff --git a/features/org.eclipse.equinox.executable.feature/library/gtk/build.sh b/features/org.eclipse.equinox.executable.feature/library/gtk/build.sh new file mode 100644 index 000000000..29d3871cb --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/gtk/build.sh @@ -0,0 +1,238 @@ +#!/bin/sh +#******************************************************************************* +# Copyright (c) 2000, 2010 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +# Kevin Cornell (Rational Software Corporation) +# Martin Oberhuber (Wind River) - [176805] Support building with gcc and debug +#******************************************************************************* +# +# Usage: sh build.sh [] [clean] +# +# where the optional switches are: +# -output - executable filename ("eclipse") +# -os - default Eclipse "-os" value +# -arch - default Eclipse "-arch" value +# -ws - default Eclipse "-ws" value +# -java - java install for jni headers +# +# All other arguments are directly passed to the "make" program. +# This script can also be invoked with the "clean" argument. +# +# Examples: +# sh build.sh clean +# sh build.sh -java /usr/j2se OPTFLAG=-g PICFLAG=-fpic + +cd `dirname $0` + +# Define default values for environment variables used in the makefiles. +programOutput="eclipse" +defaultOS="" +defaultOSArch="" +defaultWS="gtk" +EXEC_DIR=../../../../../rt.equinox.binaries/org.eclipse.equinox.executable +defaultJava=DEFAULT_JAVA_JNI +defaultJavaHome="" +javaHome="" +makefile="" +if [ "${CC}" = "" ]; then + CC=cc + export CC +fi + +# Parse the command line arguments and override the default values. +extraArgs="" +while [ "$1" != "" ]; do + if [ "$1" = "-os" ] && [ "$2" != "" ]; then + defaultOS="$2" + shift + elif [ "$1" = "-arch" ] && [ "$2" != "" ]; then + defaultOSArch="$2" + shift + elif [ "$1" = "-ws" ] && [ "$2" != "" ]; then + defaultWS="$2" + shift + elif [ "$1" = "-output" ] && [ "$2" != "" ]; then + programOutput="$2" + shift + elif [ "$1" = "-java" ] && [ "$2" != "" ]; then + javaHome="$2" + shift + else + extraArgs="$extraArgs $1" + fi + shift +done +if [ "$defaultOS" = "" ]; then + defaultOS=`uname -s` +fi +if [ "$defaultOSArch" = "" ]; then + defaultOSArch=`uname -m` +fi + + +case $defaultOS in + "Linux" | "linux") + makefile="make_linux.mak" + defaultOS="linux" + case $defaultOSArch in + "x86_64") + defaultOSArch="x86_64" + defaultJava=DEFAULT_JAVA_EXEC + [ -d /bluebird/teamswt/swt-builddir/build/JRE/x64/jdk1.6.0_14 ] && defaultJavaHome="/bluebird/teamswt/swt-builddir/build/JRE/x64/jdk1.6.0_14" + OUTPUT_DIR="$EXEC_DIR/bin/$defaultWS/$defaultOS/$defaultOSArch" + ;; + i?86 | "x86") + defaultOSArch="x86" + [ -d /bluebird/teamswt/swt-builddir/build/JRE/x32/jdk1.6.0_14 ] && defaultJavaHome="/bluebird/teamswt/swt-builddir/build/JRE/x32/jdk1.6.0_14" + OUTPUT_DIR="$EXEC_DIR/bin/$defaultWS/$defaultOS/$defaultOSArch" + ;; + "ppc") + defaultOSArch="ppc" + defaultJava=DEFAULT_JAVA_EXEC + [ -d /bluebird/teamswt/swt-builddir/JDKs/PPC/ibm-java2-ppc-50 ] && defaultJavaHome="/bluebird/teamswt/swt-builddir/JDKs/PPC/ibm-java2-ppc-50" + OUTPUT_DIR="$EXEC_DIR/bin/$defaultWS/$defaultOS/$defaultOSArch" + ;; + "ppc64") + defaultOSArch="ppc64" + defaultJava=DEFAULT_JAVA_EXEC + [ -d /bluebird/teamswt/swt-builddir/JDKs/PPC64/ibm-java2-ppc64-50 ] && defaultJavaHome="/bluebird/teamswt/swt-builddir/JDKs/PPC64/ibm-java2-ppc64-50" + OUTPUT_DIR="$EXEC_DIR/bin/$defaultWS/$defaultOS/$defaultOSArch" + ;; + "s390") + defaultOSArch="s390" + defaultJava=DEFAULT_JAVA_EXEC + OUTPUT_DIR="$EXEC_DIR/contributed/$defaultWS/$defaultOS/$defaultOSArch" + ;; + "s390x") + defaultOSArch="s390x" + defaultJava=DEFAULT_JAVA_EXEC + OUTPUT_DIR="$EXEC_DIR/contributed/$defaultWS/$defaultOS/$defaultOSArch" + ;; + "ia64") + defaultOSArch="ia64" + defaultJava=DEFAULT_JAVA_EXEC + OUTPUT_DIR="$EXEC_DIR/bin/$defaultWS/$defaultOS/$defaultOSArch" + ;; + *) + echo "*** Unknown MODEL <${MODEL}>" + ;; + esac + ;; + "AIX" | "aix") + makefile="make_aix.mak" + defaultOS="aix" + if [ -z "$defaultOSArch" ]; then + defaultOSArch="ppc64" + fi + [ -d /bluebird/teamswt/swt-builddir/JDKs/AIX/PPC64/j564/sdk ] && defaultJavaHome="/bluebird/teamswt/swt-builddir/JDKs/AIX/PPC64/j564/sdk" + ;; + "HP-UX" | "hpux") + makefile="make_hpux.mak" + defaultOS="hpux" + case $defaultOSArch in + "ia64_32") + PATH=$PATH:/opt/hp-gcc/bin:/opt/gtk2.6/bin + PKG_CONFIG_PATH="/opt/gtk2.6/lib/pkgconfig" + ;; + "ia64") + PATH=$PATH:/opt/hp-gcc/bin:/opt/gtk_64bit/bin + PKG_CONFIG_PATH="/opt/gtk_64bit/lib/hpux64/pkgconfig" + ;; + esac + export PATH PKG_CONFIG_PATH + [ -d /opt/java1.5 ] && defaultJavaHome="/opt/java1.5" + ;; + "SunOS" | "solaris") + makefile="make_solaris.mak" + defaultOS="solaris" + OUTPUT_DIR="$EXEC_DIR/bin/$defaultWS/$defaultOS/$defaultOSArch" + #PATH=/usr/ccs/bin:/opt/SUNWspro/bin:$PATH + PATH=/usr/ccs/bin:/export/home/SUNWspro/bin:$PATH + export PATH + if [ "$PROC" = "" ]; then + PROC=`uname -p` + fi + case ${PROC} in + "i386" | "x86") + defaultOSArch="x86" + [ -d /bluebird/teamswt/swt-builddir/build/JRE/Solaris_x86/jdk1.6.0_14 ] && defaultJavaHome="/bluebird/teamswt/swt-builddir/build/JRE/Solaris_x86/jdk1.6.0_14" + CC=cc + ;; + "sparc") + defaultOSArch="sparc" + [ -d /bluebird/teamswt/swt-builddir/build/JRE/SPARC/jdk1.6.0_14 ] && defaultJavaHome="/bluebird/teamswt/swt-builddir/build/JRE/SPARC/jdk1.6.0_14" + CC=cc + ;; + *) + echo "*** Unknown processor type <${PROC}>" + ;; + esac + ;; + *) + echo "Unknown OS -- build aborted" + ;; +esac +export CC + + +# Set up environment variables needed by the makefiles. +PROGRAM_OUTPUT="$programOutput" +DEFAULT_OS="$defaultOS" +DEFAULT_OS_ARCH="$defaultOSArch" +DEFAULT_WS="$defaultWS" +DEFAULT_JAVA=$defaultJava + +origJavaHome=$JAVA_HOME +if [ -n "$javaHome" ]; then + JAVA_HOME=$javaHome + export JAVA_HOME +elif [ -z "$JAVA_HOME" -a -n "$defaultJavaHome" ]; then + JAVA_HOME="$defaultJavaHome" + export JAVA_HOME +fi + +if [ "$defaultOSArch" = "ppc64" ]; then + if [ "$defaultOS" = "aix" ]; then + M_ARCH=-maix64 + else + M_ARCH=-m64 + fi + export M_ARCH +elif [ "$defaultOSArch" = "s390" ]; then + M_ARCH=-m31 + export M_ARCH +elif [ "$defaultOSArch" = "ia64" ]; then + M_ARCH=-mlp64 + export M_ARCH +fi + +LIBRARY_DIR="$EXEC_DIR/../org.eclipse.equinox.launcher.$defaultWS.$defaultOS.$defaultOSArch" +OUTPUT_DIR="$EXEC_DIR/bin/$defaultWS/$defaultOS/$defaultOSArch" + +export OUTPUT_DIR PROGRAM_OUTPUT DEFAULT_OS DEFAULT_OS_ARCH DEFAULT_WS DEFAULT_JAVA LIBRARY_DIR + +# If the OS is supported (a makefile exists) +if [ "$makefile" != "" ]; then + if [ "$extraArgs" != "" ]; then + make -f $makefile $extraArgs + else + echo "Building $OS launcher. Defaults: -os $DEFAULT_OS -arch $DEFAULT_OS_ARCH -ws $DEFAULT_WS" + make -f $makefile clean + case x$CC in + x*gcc*) make -f $makefile all PICFLAG=-fpic ;; + *) make -f $makefile all ;; + esac + fi +else + echo "Unknown OS $OS -- build aborted" +fi + +#restore original JAVA_HOME +JAVA_HOME="$origJavaHome" +export JAVA_HOME diff --git a/features/org.eclipse.equinox.executable.feature/library/gtk/build.xml b/features/org.eclipse.equinox.executable.feature/library/gtk/build.xml new file mode 100644 index 000000000..f485479d3 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/gtk/build.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/features/org.eclipse.equinox.executable.feature/library/gtk/eclipseGtk.c b/features/org.eclipse.equinox.executable.feature/library/gtk/eclipseGtk.c new file mode 100644 index 000000000..6ec48e79f --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/gtk/eclipseGtk.c @@ -0,0 +1,347 @@ +/******************************************************************************* + * Copyright (c) 2000, 2011 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Kevin Cornell (Rational Software Corporation) + * Tom Tromey (Red Hat, Inc.) + *******************************************************************************/ + +#include "eclipseMozilla.h" +#include "eclipseCommon.h" +#include "eclipseOS.h" +#include "eclipseUtil.h" +#include "eclipseGtk.h" + +#include +#include +#include +#include +#include +#include +#include +#ifdef SOLARIS +#include +#endif +#include +#include +#include +#include +#include +#include +#include + +#ifdef HPUX +#define SEM_FAILED (void *)-1 +#endif + +/* Global Variables */ +char* defaultVM = "java"; +char* vmLibrary = "libjvm.so"; +char* shippedVMDir = "jre/bin/"; + +/* Define the special arguments for the various Java VMs. */ +static char* argVM_JAVA[] = { NULL }; + +/* Define local variables . */ +static long splashHandle = 0; +static GtkWidget* shellHandle = 0; + +static sem_t* mutex; +static Atom appWindowAtom, launcherWindowAtom; +static _TCHAR** openFilePath = NULL; /* the files we want to open */ +static int openFileTimeout = 60; /* number of seconds to wait before timeout */ +static int windowPropertySet = 0; /* set to 1 on success */ + +static struct sigaction quitAction; +static struct sigaction intAction; + +/* Local functions */ +static void catch_signal(int sig) { + //catch signals, free the lock, reinstall the original + //signal handlers and reraise the signal. + sem_post(mutex); + sem_close(mutex); + sigaction(SIGINT, &intAction, NULL); + sigaction(SIGQUIT, &intAction, NULL); + raise(sig); +} + +typedef int (*LockFunc)(); +int executeWithLock(char *name, LockFunc func) { + int result = -1; + int lock = -1; + struct sigaction action; + + mutex = sem_open(name, O_CREAT | O_EXCL, S_IRWXU | S_IRWXG | S_IRWXO, 1); + if (mutex == SEM_FAILED) { + //create failed. Probably lock is already created so try opening the existing lock. + mutex = sem_open(name, 0); + } + if (mutex == SEM_FAILED) + return -1; //this is an error. + + // install signal handler to free the lock if something bad happens. + // sem_t is not freed automatically when a process ends. + action.sa_handler = catch_signal; + sigaction(SIGINT, &action, &intAction); + sigaction(SIGQUIT, &action, &quitAction); + + while ((lock = sem_trywait(mutex)) != 0) { + if (errno == EAGAIN) { + //couldn't acquire lock, sleep a bit and try again + sleep(1); + if (--openFileTimeout > 0) + continue; + } + break; + } + + if (lock == 0) + result = func(); + + sem_post(mutex); + sem_close(mutex); + + //reinstall the original signal handlers + sigaction(SIGINT, &intAction, NULL); + sigaction(SIGQUIT, &quitAction, NULL); + return result; +} + +/* Create a "SWT_Window_" + APP_NAME string with optional suffix. + * Caller should free the memory when finished */ +static char * createSWTWindowString(char * suffix, int semaphore) { +#ifdef SOLARIS + /* solaris requires semaphore names to start with '/' */ + char * prefix = semaphore != 0 ? _T_ECLIPSE("/SWT_Window_") : _T_ECLIPSE("SWT_Window_"); +#else + char * prefix = _T_ECLIPSE("SWT_Window_"); +#endif + + char * result = malloc((_tcslen(prefix) + _tcslen(getOfficialName()) + (suffix != NULL ? _tcslen(suffix) : 0) + 1) * sizeof(char)); + if (suffix != NULL) + _stprintf(result, _T_ECLIPSE("%s%s%s"), prefix, getOfficialName(), suffix); + else + _stprintf(result, _T_ECLIPSE("%s%s"), prefix, getOfficialName()); + return result; +} + +static int setAppWindowPropertyFn() { + Window appWindow; + Atom propAtom; + _TCHAR *propVal; + + //Look for the SWT window. If it's there, set a property on it. + appWindow = gtk.XGetSelectionOwner(gtk_GDK_DISPLAY, appWindowAtom); + if (appWindow) { + propAtom = gtk.XInternAtom(gtk_GDK_DISPLAY, "org.eclipse.swt.filePath.message", FALSE); + //append a colon delimiter in case more than one file gets appended to the app windows property. + propVal = concatPaths(openFilePath, _T_ECLIPSE(':')); + gtk.XChangeProperty(gtk_GDK_DISPLAY, appWindow, propAtom, propAtom, 8, PropModeAppend, (unsigned char *)propVal, _tcslen(propVal)); + free(propVal); + windowPropertySet = 1; + return 1; + } + return 0; +} + +/* set the Application window property by executing _setWindowPropertyFn within a semaphore */ +int setAppWindowProperty() { + int result; + char * mutexName = createSWTWindowString(NULL, 1); + result = executeWithLock(mutexName, setAppWindowPropertyFn); + gtk.XSync(gtk_GDK_DISPLAY, False); + free(mutexName); + return result; +} + +/* timer callback function to call setAppWindowProperty */ +static gboolean setAppWindowTimerProc(gpointer data) { + //try to set the app window property. If unsuccessful return true to reschedule the timer. + openFileTimeout--; + return !setAppWindowProperty() && openFileTimeout > 0; +} + +int createLauncherWindow() { + Window window, launcherWindow; + //check if a launcher window exists. If none exists, we know we are the first and we should be launching the app. + window = gtk.XGetSelectionOwner(gtk_GDK_DISPLAY, launcherWindowAtom); + if (window == 0) { + //create a launcher window that other processes can find. + launcherWindow = gtk.XCreateWindow(gtk_GDK_DISPLAY, gtk.XRootWindow(gtk_GDK_DISPLAY, gtk.XDefaultScreen(gtk_GDK_DISPLAY)), -10, -10, 1, + 1, 0, 0, InputOnly, CopyFromParent, (unsigned long) 0, (XSetWindowAttributes *) NULL); + //for some reason Set and Get are both necessary. Set alone does nothing. + gtk.XSetSelectionOwner(gtk_GDK_DISPLAY, launcherWindowAtom, launcherWindow, CurrentTime); + gtk.XGetSelectionOwner(gtk_GDK_DISPLAY, launcherWindowAtom); + //add a timeout to set the property on the apps window once the app is launched. + gtk.g_timeout_add(1000, setAppWindowTimerProc, 0); + return 0; + } + return 1; +} + +int reuseWorkbench(_TCHAR** filePath, int timeout) { + char *appName, *launcherName; + int result = 0; + + if (initWindowSystem(&initialArgc, initialArgv, 1) != 0) + return -1; + + openFileTimeout = timeout; + openFilePath = filePath; + + //App name is defined in SWT as well. Values must be consistent. + appName = createSWTWindowString(NULL, 0); + appWindowAtom = gtk.XInternAtom(gtk_GDK_DISPLAY, appName, FALSE); + free(appName); + + //check if app is already running. Just set property if it is. + if (setAppWindowProperty() > 0) + return 1; + + /* app is not running, create a launcher window to act as a mutex so we don't need to keep the semaphore locked */ + launcherName = createSWTWindowString(_T_ECLIPSE("_Launcher"), 1); + launcherWindowAtom = gtk.XInternAtom(gtk_GDK_DISPLAY, launcherName, FALSE); + result = executeWithLock(launcherName, createLauncherWindow); + free(launcherName); + + if (result == 1) { + //The app is already being launched in another process. Set the property on that app window and exit + while (openFileTimeout > 0) { + if (setAppWindowProperty() > 0) + return 1; //success + else { + openFileTimeout--; + sleep(1); + } + } + //timed out trying to set the app property + result = 0; + } + return result; +} + +/* Create and Display the Splash Window */ +int showSplash( const char* featureImage ) +{ + GtkWidget *image; + GdkPixbuf *pixbuf; + + if (splashHandle != 0) + return 0; /* already showing splash */ + if (featureImage == NULL) + return -1; + + if (initialArgv == NULL) + initialArgc = 0; + + if( initWindowSystem(&initialArgc, initialArgv, 1) != 0) + return -1; + + shellHandle = gtk.gtk_window_new(GTK_WINDOW_TOPLEVEL); + gtk.gtk_window_set_decorated((GtkWindow*)(shellHandle), FALSE); + gtk.g_signal_connect_data((gpointer)shellHandle, "destroy", (GtkSignalFunc)(gtk.gtk_widget_destroyed), &shellHandle, NULL, 0); + + pixbuf = gtk.gdk_pixbuf_new_from_file(featureImage, NULL); + image = gtk.gtk_image_new_from_pixbuf(pixbuf); + if (pixbuf) { + gtk.g_object_unref(pixbuf); + } + gtk.gtk_container_add((GtkContainer*)(shellHandle), image); + + if (getOfficialName() != NULL) + gtk.gtk_window_set_title((GtkWindow*)(shellHandle), getOfficialName()); + gtk.gtk_window_set_position((GtkWindow*)(shellHandle), GTK_WIN_POS_CENTER); + gtk.gtk_window_resize((GtkWindow*)(shellHandle), gtk.gdk_pixbuf_get_width(pixbuf), gtk.gdk_pixbuf_get_height(pixbuf)); + gtk.gtk_widget_show_all((GtkWidget*)(shellHandle)); + splashHandle = (long)shellHandle; + dispatchMessages(); + return 0; +} + +void dispatchMessages() { + if (gtk.g_main_context_iteration != 0) + while(gtk.g_main_context_iteration(0,0) != 0) {} +} + +jlong getSplashHandle() { + return splashHandle; +} + +void takeDownSplash() { + if(shellHandle != 0) { + gtk.gtk_widget_destroy(shellHandle); + dispatchMessages(); + splashHandle = 0; + shellHandle = NULL; + } +} + +/* Get the window system specific VM arguments */ +char** getArgVM( char* vm ) +{ + char** result; + +/* if (isJ9VM( vm )) + return argVM_J9;*/ + + /* Use the default arguments for a standard Java VM */ + result = argVM_JAVA; + return result; +} + +JavaResults* launchJavaVM( char* args[] ) +{ + JavaResults* jvmResults = NULL; + pid_t jvmProcess, finishedProcess = 0; + int exitCode; + +#ifdef MOZILLA_FIX + fixEnvForMozilla(); +#endif /* MOZILLA_FIX */ + + jvmProcess = fork(); + if (jvmProcess == 0) + { + /* Child process ... start the JVM */ + execv(args[0], args); + + /* The JVM would not start ... return error code to parent process. */ + /* TODO, how to distinguish this as a launch problem to the other process? */ + _exit(errno); + } + + jvmResults = malloc(sizeof(JavaResults)); + memset(jvmResults, 0, sizeof(JavaResults)); + + /* If the JVM is still running, wait for it to terminate. */ + if (jvmProcess != 0) + { + /* When attempting a file open, we need to spin the event loop + * for setAppWindowTimerProc to run. When that succeeds or times out, + * we can stop the event loop and just wait on the child process. + */ + if (openFilePath != NULL) { + struct timespec sleepTime; + sleepTime.tv_sec = 0; + sleepTime.tv_nsec = 5e+8; // 500 milliseconds + + while(openFileTimeout > 0 && !windowPropertySet && (finishedProcess = waitpid(jvmProcess, &exitCode, WNOHANG)) == 0) { + dispatchMessages(); + nanosleep(&sleepTime, NULL); + } + } + if (finishedProcess == 0) + waitpid(jvmProcess, &exitCode, 0); + if (WIFEXITED(exitCode)) + /* TODO, this should really be a runResult if we could distinguish the launch problem above */ + jvmResults->launchResult = WEXITSTATUS(exitCode); + } + + return jvmResults; +} diff --git a/features/org.eclipse.equinox.executable.feature/library/gtk/eclipseGtk.h b/features/org.eclipse.equinox.executable.feature/library/gtk/eclipseGtk.h new file mode 100644 index 000000000..503c9a5f9 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/gtk/eclipseGtk.h @@ -0,0 +1,77 @@ +/******************************************************************************* + * Copyright (c) 2007, 2010 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +#ifndef ECLIPSE_GTK_H +#define ECLIPSE_GTK_H + +#include +#include +#include + +struct GTK_PTRS { + short not_initialized; + void (*gtk_container_add) (GtkContainer*, GtkWidget*); + gint (*gtk_dialog_run) (GtkDialog *); + GtkWidget* (*gtk_image_new_from_pixbuf)(GdkPixbuf*); + gboolean (*gtk_init_check) (int*, char***); + gboolean (*gtk_init_with_args) (int*, char***, const char *, void *, const char *, GError **); + GtkWidget* (*gtk_message_dialog_new) (GtkWindow*, GtkDialogFlags, GtkMessageType, GtkButtonsType, const gchar*, ...); + gchar* (*gtk_set_locale) (); + void (*gtk_widget_destroy) (GtkWidget*); + void (*gtk_widget_destroyed) (GtkWidget*, GtkWidget**); + void (*gtk_widget_show_all) (GtkWidget*); + GtkWidget* (*gtk_window_new) (GtkWindowType); + void (*gtk_window_resize) (GtkWindow*, gint, gint); + void (*gtk_window_set_title) (GtkWindow*, const gchar*); + void (*gtk_window_set_decorated) (GtkWindow*, gboolean); + void (*gtk_window_set_position) (GtkWindow*, GtkWindowPosition); + + gulong (*g_signal_connect_data) (gpointer, const gchar*, GCallback, gpointer, GClosureNotify, GConnectFlags); + gboolean (*g_main_context_iteration) (GMainContext*, gboolean); + void (*g_object_unref) (gpointer); + GObject* (*g_object_new) (GType, const gchar*, ...); + guint (*g_timeout_add) (guint, GSourceFunc, gpointer); + void (*g_error_free) (GError *); + +#ifdef SOLARIS + GString* (*g_string_insert_c) (GString *, gssize, gchar); +#endif + + GdkDisplay* (*gdk_display_get_default) (); + Display* (*gdk_x11_display_get_xdisplay) (GdkDisplay*); + GdkPixbuf* (*gdk_pixbuf_new_from_file) (const char*, GError **); + int (*gdk_pixbuf_get_width) (const GdkPixbuf*); + int (*gdk_pixbuf_get_height) (const GdkPixbuf*); + void (*gdk_set_program_class) (const char*); + + Window (*XGetSelectionOwner) (Display*, Atom); + void (*XSetSelectionOwner) (Display*, Atom, Window, Time); + void (*XChangeProperty) (Display*, Window, Atom, Atom, int, int, unsigned char *, int); + Window (*XCreateWindow) (Display*, Window, int, int, unsigned int, unsigned int, unsigned int, int, unsigned int, Visual*, unsigned long, XSetWindowAttributes*); + void (*XSync) (Display*, Bool); + int (*XDefaultScreen) (Display*); + Window (*XRootWindow) (Display*, int); + Atom (*XInternAtom) (Display*, _Xconst char*, Bool ); +}; + +#define gtk_GDK_DISPLAY gtk.gdk_x11_display_get_xdisplay(gtk.gdk_display_get_default()) +extern struct GTK_PTRS gtk; + +#define FN_TABLE_ENTRY(fn, required) { (void**)& gtk.fn, #fn, required } +typedef struct { + void ** fnPtr; + char * fnName; + int required; +} FN_TABLE; + +/* load the gtk libraries and initialize the function pointers */ +extern int loadGtk(); + +#endif diff --git a/features/org.eclipse.equinox.executable.feature/library/gtk/eclipseGtkCommon.c b/features/org.eclipse.equinox.executable.feature/library/gtk/eclipseGtkCommon.c new file mode 100644 index 000000000..b30327ec5 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/gtk/eclipseGtkCommon.c @@ -0,0 +1,134 @@ +/******************************************************************************* + * Copyright (c) 2006, 2009 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Andrew Niefer + *******************************************************************************/ + +#include "eclipseCommon.h" +#include "eclipseOS.h" +#include "eclipseGtk.h" + +#include +#include +#include + +#define ECLIPSE_ICON 401 + +char dirSeparator = '/'; +char pathSeparator = ':'; + +/* Define local variables for the main window. */ +static int saveArgc = 0; /* arguments after they were parsed, for window system */ +static char** saveArgv = 0; + +gboolean gtkInitialized = FALSE; + +#ifdef SOLARIS +/* a call to this function appears inline in glib/gstring.h on Solaris, + so provide a definition here and hook it up + */ +GString* g_string_insert_c (GString *string, gssize pos, gchar c) { + /* see bug 264615, we can get here without having initialized the gtk pointers */ + if (gtk.not_initialized) + loadGtk(); + return gtk.g_string_insert_c(string, pos, c); +} +#endif + +/* Display a Message */ +void displayMessage(char* title, char* message) +{ + GtkWidget* dialog; + + /* If GTK has not been initialized yet, do it now. */ + if (initWindowSystem( &saveArgc, saveArgv, 1 ) != 0) { + printf("%s:\n%s\n", title, message); + return; + } + + dialog = gtk.gtk_message_dialog_new(NULL, GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, + "%s", message); + gtk.gtk_window_set_title((GtkWindow*)dialog, title); + gtk.gtk_dialog_run((GtkDialog*)dialog); + gtk.gtk_widget_destroy(dialog); +} + +/* Initialize the Window System */ +int initWindowSystem(int* pArgc, char* argv[], int showSplash) +{ + int defaultArgc = 1; + char * defaultArgv [] = { "", 0 }; + + if(gtkInitialized) + return 0; + + /* load the GTK libraries and initialize function pointers */ + if (loadGtk() != 0) + return -1; + + if (getOfficialName() != NULL) + defaultArgv[0] = getOfficialName(); + + if (argv == NULL) { + /* gtk_init_check on Solaris 9 doesn't like NULL or empty argv */ + pArgc = &defaultArgc; + argv = defaultArgv; + } + + /* Save the arguments in case displayMessage() is called in the main launcher. */ + if (saveArgv == 0) + { + saveArgc = *pArgc; + saveArgv = argv; + } + + /* Initialize GTK. */ + if (gtk.gtk_set_locale) gtk.gtk_set_locale(); + if (gtk.gtk_init_with_args) { + GError *error = NULL; + if (!gtk.gtk_init_with_args(pArgc, &argv, NULL, NULL, NULL, &error)) { + if (error) { + fprintf(stderr, "%s: %s\n", getOfficialName(), error->message); + if (gtk.g_error_free) gtk.g_error_free(error); + } + return -1; + } + } else { + if (!gtk.gtk_init_check(pArgc, &argv)) { + return -1; + } + } + + /*_gdk_set_program_class(getOfficialName());*/ + gtkInitialized = TRUE; + return 0; +} + +/* Load the specified shared library + */ +void * loadLibrary( char * library ){ + void * result= dlopen(library, RTLD_LAZY); + if(result == 0) + printf("%s\n",dlerror()); + return result; +} + +/* Unload the shared library + */ +void unloadLibrary( void * handle ){ + dlclose(handle); +} + +/* Find the given symbol in the shared library + */ +void * findSymbol( void * handle, char * symbol ){ + return dlsym(handle, symbol); +} + diff --git a/features/org.eclipse.equinox.executable.feature/library/gtk/eclipseGtkInit.c b/features/org.eclipse.equinox.executable.feature/library/gtk/eclipseGtkInit.c new file mode 100644 index 000000000..51ed70a9f --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/gtk/eclipseGtkInit.c @@ -0,0 +1,126 @@ +/******************************************************************************* + * Copyright (c) 2007, 2010 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ + +#include "eclipseGtk.h" +#include "eclipseCommon.h" +#include +#include +#include + +struct GTK_PTRS gtk = { 1 }; /* initialize the first field "not_initialized" so we can tell when we've loaded the pointers */ + +/* tables to help initialize the function pointers */ +/* functions from libgtk-x11-2.0 or libgtk-3.so.0*/ +static FN_TABLE gtkFunctions[] = { + FN_TABLE_ENTRY(gtk_container_add, 1), + FN_TABLE_ENTRY(gtk_dialog_run, 1), + FN_TABLE_ENTRY(gtk_image_new_from_pixbuf, 1), + FN_TABLE_ENTRY(gtk_init_check, 1), + FN_TABLE_ENTRY(gtk_init_with_args, 0), + FN_TABLE_ENTRY(gtk_message_dialog_new, 1), + FN_TABLE_ENTRY(gtk_set_locale, 0), + FN_TABLE_ENTRY(gtk_widget_destroy, 1), + FN_TABLE_ENTRY(gtk_widget_destroyed, 1), + FN_TABLE_ENTRY(gtk_widget_show_all, 1), + FN_TABLE_ENTRY(gtk_window_new, 1), + FN_TABLE_ENTRY(gtk_window_resize, 1), + FN_TABLE_ENTRY(gtk_window_set_title, 1), + FN_TABLE_ENTRY(gtk_window_set_decorated, 1), + FN_TABLE_ENTRY(gtk_window_set_position, 1), + { NULL, NULL } +}; +/* functions from libgdk-x11-2.0 or libgdk-3.so.0*/ +static FN_TABLE gdkFunctions[] = { + FN_TABLE_ENTRY(gdk_set_program_class, 1), + FN_TABLE_ENTRY(gdk_display_get_default, 1), + FN_TABLE_ENTRY(gdk_x11_display_get_xdisplay, 1), + { NULL, NULL } +}; +/* functions from libgdk_pixbuf-2.0 */ +static FN_TABLE pixFunctions[] = { + FN_TABLE_ENTRY(gdk_pixbuf_new_from_file, 1), + FN_TABLE_ENTRY(gdk_pixbuf_get_width, 1), + FN_TABLE_ENTRY(gdk_pixbuf_get_height, 1), + { NULL, NULL } +}; +/* functions from libgobject-2.0 */ +static FN_TABLE gobjFunctions[] = { + FN_TABLE_ENTRY(g_signal_connect_data, 1), + FN_TABLE_ENTRY(g_main_context_iteration, 1), + FN_TABLE_ENTRY(g_object_unref, 1), + FN_TABLE_ENTRY(g_timeout_add, 1), + FN_TABLE_ENTRY(g_error_free, 1), +#ifdef SOLARIS + FN_TABLE_ENTRY(g_string_insert_c, 1), +#endif + { NULL, NULL } +}; + +/* functions from libX11 */ +static FN_TABLE x11Functions[] = { + FN_TABLE_ENTRY(XGetSelectionOwner, 1), + FN_TABLE_ENTRY(XSetSelectionOwner, 1), + FN_TABLE_ENTRY(XCreateWindow, 1), + FN_TABLE_ENTRY(XChangeProperty, 1), + FN_TABLE_ENTRY(XSync, 1), + FN_TABLE_ENTRY(XRootWindow, 1), + FN_TABLE_ENTRY(XDefaultScreen, 1), + FN_TABLE_ENTRY(XInternAtom, 1), + { NULL, NULL } +}; + + +static int loadGtkSymbols( void * library, FN_TABLE * table) { + int i = 0; + void * fn; + for (i = 0; table[i].fnName != NULL; i++) { + fn = findSymbol(library, table[i].fnName); + if (fn != 0) { + *(table[i].fnPtr) = fn; + } else { + if (table[i].required) return -1; + } + } + return 0; +} + +int loadGtk() { +#ifdef AIX +#define DLFLAGS RTLD_LAZY | RTLD_MEMBER +#else +#define DLFLAGS RTLD_LAZY +#endif + + void *gdkLib = NULL, *gtkLib = NULL, *objLib = NULL, *pixLib = NULL, *x11Lib = NULL; + + if (getenv("SWT_GTK3")) { + gdkLib = dlopen(GDK3_LIB, DLFLAGS); + gtkLib = dlopen(GTK3_LIB, DLFLAGS); + } + if (!gtkLib || !gdkLib) { + gdkLib = dlopen(GDK_LIB, DLFLAGS); + gtkLib = dlopen(GTK_LIB, DLFLAGS); + } + objLib = dlopen(GOBJ_LIB, DLFLAGS); + pixLib = dlopen(PIXBUF_LIB, DLFLAGS); + x11Lib = dlopen(X11_LIB, DLFLAGS); + + /* initialize ptr struct to 0's */ + memset(>k, 0, sizeof(struct GTK_PTRS)); + + if ( gtkLib == NULL || loadGtkSymbols(gtkLib, gtkFunctions) != 0) return -1; + if ( gdkLib == NULL || loadGtkSymbols(gdkLib, gdkFunctions) != 0) return -1; + if ( pixLib == NULL || loadGtkSymbols(pixLib, pixFunctions) != 0) return -1; + if ( objLib == NULL || loadGtkSymbols(objLib, gobjFunctions) != 0) return -1; + if ( x11Lib == NULL || loadGtkSymbols(x11Lib, x11Functions) != 0) return -1; + + return 0; +} diff --git a/features/org.eclipse.equinox.executable.feature/library/gtk/make_aix.mak b/features/org.eclipse.equinox.executable.feature/library/gtk/make_aix.mak new file mode 100644 index 000000000..2d3a71d9b --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/gtk/make_aix.mak @@ -0,0 +1,116 @@ +#******************************************************************************* +# Copyright (c) 2010, 2011 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +# Kevin Cornell (Rational Software Corporation) +# Tom Tromey (Red Hat, Inc.) +#******************************************************************************* +include ../make_version.mak +# Makefile for creating the GTK eclipse launcher program. +# +# This makefile expects the utility "pkg-config" to be in the PATH. + +# This makefile expects the following environment variables set: +# +# PROGRAM_OUTPUT - the filename of the output executable +# DEFAULT_OS - the default value of the "-os" switch +# DEFAULT_OS_ARCH - the default value of the "-arch" switch +# DEFAULT_WS - the default value of the "-ws" switch +# JAVA_HOME - JAVA_HOME for jni headers +#default value for PROGRAM_OUTPUT + +PROGRAM_OUTPUT=eclipse +PROGRAM_LIBRARY=$(PROGRAM_OUTPUT)_$(LIB_VERSION).so + + +# Define the object modules to be compiled and flags. +CC=gcc +MAIN_OBJS = eclipseMain.o +COMMON_OBJS = eclipseConfig.o eclipseCommon.o eclipseGtkCommon.o eclipseGtkInit.o +DLL_OBJS = eclipse.o eclipseGtk.o eclipseUtil.o eclipseJNI.o eclipseMozilla.o eclipseShm.o eclipseNix.o + +EXEC = $(PROGRAM_OUTPUT) +DLL = $(PROGRAM_LIBRARY) +#LIBS = `pkg-config --libs-only-L gtk+-2.0` -lgtk-x11-2.0 -lgdk_pixbuf-2.0 -lgobject-2.0 -lgdk-x11-2.0 -lpthread -ldl -lX11 +LIBS = -lpthread -ldl + +X11_LIB_ppc = shr4.o +X11_LIB_ppc64 = shr_64.o +X11_LIB = -DX11_LIB="\"libX11.a($(X11_LIB_$(DEFAULT_OS_ARCH)))\"" +GTK_LIBS = -DGTK_LIB="\"libgtk-x11-2.0.a(libgtk-x11-2.0.so.0)\"" \ + -DGDK_LIB="\"libgdk-x11-2.0.a(libgdk-x11-2.0.so.0)\"" \ + -DGTK3_LIB="\"libgtk-3.a(libgtk-3.so.0)\"" \ + -DGDK3_LIB="\"libgdk-3.a(libgdk-3.so.0)\"" \ + -DPIXBUF_LIB="\"libgdk_pixbuf-2.0.a(libgdk_pixbuf-2.0.so.0)\"" \ + -DGOBJ_LIB="\"libgobject-2.0.a(libgobject-2.0.so.0)\"" \ + $(X11_LIB) + +LFLAGS = ${M_ARCH} -shared +CFLAGS = ${M_ARCH} -g -s -Wall\ + -fpic \ + -DAIX \ + -DMOZILLA_FIX \ + -DDEFAULT_OS="\"$(DEFAULT_OS)\"" \ + -DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \ + -DDEFAULT_WS="\"$(DEFAULT_WS)\"" \ + -D$(DEFAULT_JAVA) \ + $(GTK_LIBS) \ + -I. \ + -I.. \ + -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux \ + `pkg-config --cflags gtk+-2.0` + +all: $(EXEC) $(DLL) + +eclipse.o: ../eclipse.c ../eclipseOS.h ../eclipseCommon.h ../eclipseJNI.h + $(CC) $(CFLAGS) -c ../eclipse.c -o eclipse.o + +eclipseMain.o: ../eclipseUnicode.h ../eclipseCommon.h ../eclipseMain.c + $(CC) $(CFLAGS) -c ../eclipseMain.c -o eclipseMain.o + +eclipseCommon.o: ../eclipseCommon.h ../eclipseUnicode.h ../eclipseCommon.c + $(CC) $(CFLAGS) -c ../eclipseCommon.c + +eclipseGtkCommon.o: ../eclipseCommon.h ../eclipseOS.h eclipseGtk.h eclipseGtkCommon.c + $(CC) $(CFLAGS) -c eclipseGtkCommon.c -o eclipseGtkCommon.o + +eclipseGtkInit.o: ../eclipseCommon.h eclipseGtk.h eclipseGtkInit.c + $(CC) $(CFLAGS) -c eclipseGtkInit.c -o eclipseGtkInit.o + +eclipseUtil.o: ../eclipseUtil.c ../eclipseUtil.h ../eclipseOS.h + $(CC) $(CFLAGS) -c ../eclipseUtil.c -o eclipseUtil.o + +eclipseJNI.o: ../eclipseJNI.c ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.h + $(CC) $(CFLAGS) -c ../eclipseJNI.c -o eclipseJNI.o + +eclipseConfig.o: ../eclipseConfig.c ../eclipseConfig.h ../eclipseOS.h + $(CC) $(CFLAGS) -c ../eclipseConfig.c -o eclipseConfig.o + +eclipseMozilla.o: ../eclipseMozilla.c ../eclipseMozilla.h ../eclipseOS.h + $(CC) $(CFLAGS) -c ../eclipseMozilla.c -o eclipseMozilla.o + +eclipseShm.o: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c + $(CC) $(CFLAGS) -c ../eclipseShm.c -o eclipseShm.o + +eclipseNix.o: ../eclipseNix.c + $(CC) $(CFLAGS) -c ../eclipseNix.c -o eclipseNix.o + +$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS) + $(CC) ${M_ARCH} -Wl,-bM:UR -o $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS) + sedmgr -c exempt $(EXEC) + +$(DLL): $(DLL_OBJS) $(COMMON_OBJS) + $(CC) $(LFLAGS) -o $(DLL) $(DLL_OBJS) $(COMMON_OBJS) $(LIBS) + +install: all + cp $(EXEC) $(OUTPUT_DIR) + cp $(DLL) $(LIBRARY_DIR) + rm -f $(EXEC) $(DLL) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS) + +clean: + rm -f $(EXEC) $(DLL) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS) diff --git a/features/org.eclipse.equinox.executable.feature/library/gtk/make_hpux.mak b/features/org.eclipse.equinox.executable.feature/library/gtk/make_hpux.mak new file mode 100644 index 000000000..d0227efc2 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/gtk/make_hpux.mak @@ -0,0 +1,102 @@ +#******************************************************************************* +# Copyright (c) 2000, 2010 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +# Kevin Cornell (Rational Software Corporation) +# Sumit Sarkar (Hewlett-Packard) +#******************************************************************************* +include ../make_version.mak +# Makefile for creating the HPUX/Motif eclipse launcher program. + +# This makefile expects the following environment variables set: +# +# PROGRAM_OUTPUT - the filename of the output executable +# DEFAULT_OS - the default value of the "-os" switch +# DEFAULT_OS_ARCH - the default value of the "-arch" switch +# DEFAULT_WS - the default value of the "-ws" switch +# X11_HOME - the full path to X11 header files +# MOTIF_HOME - the full path to Motif header files + +#ifeq ($(PROGRAM_OUTPUT),) +# PROGRAM_OUTPUT=eclipse +#endif + +DEFAULT_JAVA=DEFAULT_JAVA_EXEC +PROGRAM_LIBRARY=eclipse_$(LIB_VERSION).so + +# Define the object modules to be compiled and flags. +CC=gcc +MAIN_OBJS = eclipseMain.o +COMMON_OBJS = eclipseConfig.o eclipseCommon.o eclipseGtkCommon.o eclipseGtkInit.o +DLL_OBJS = eclipse.o eclipseGtk.o eclipseUtil.o eclipseJNI.o eclipseShm.o eclipseNix.o + +EXEC = $(PROGRAM_OUTPUT) +DLL = $(PROGRAM_LIBRARY) +LIBS = -L$(MOTIF_HOME)/lib -L$(X11_HOME)/lib -lpthread -lrt +GTK_LIBS = \ + -DGTK_LIB="\"libgtk-x11-2.0.so\"" -DGDK_LIB="\"libgdk-x11-2.0.so\"" \ + -DGTK3_LIB="\"libgtk-3.so\"" -DGDK3_LIB="\"libgdk-3.so\"" \ + -DPIXBUF_LIB="\"libgdk_pixbuf-2.0.so\"" \ + -DGOBJ_LIB="\"libgobject-2.0.so\"" -DX11_LIB="\"libX11.so\"" +LFLAGS = ${M_ARCH} -shared -static-libgcc +# -Wl,--export-dynamic +CFLAGS = ${M_ARCH} -O -s \ + -DNETSCAPE_FIX \ + -DDEFAULT_OS="\"$(DEFAULT_OS)\"" \ + -DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \ + -DDEFAULT_WS="\"$(DEFAULT_WS)\"" \ + -D$(DEFAULT_JAVA) \ + -DHPUX \ + $(GTK_LIBS) \ + -I./ \ + -I../ \ + -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/hp-ux \ + `pkg-config --cflags gtk+-2.0` + +all: $(EXEC) $(DLL) + +.c.o: + $(CC) $(CFLAGS) -c $< -o $@ + +eclipse.o: ../eclipse.c ../eclipseOS.h ../eclipseCommon.h ../eclipseJNI.h + $(CC) $(CFLAGS) -c ../eclipse.c -o $@ + +eclipseMain.o: ../eclipseMain.c ../eclipseUnicode.h ../eclipseCommon.h + $(CC) $(CFLAGS) -c ../eclipseMain.c -o $@ + +eclipseCommon.o: ../eclipseCommon.c ../eclipseCommon.h ../eclipseUnicode.h + $(CC) $(CFLAGS) -c ../eclipseCommon.c -o $@ + +eclipseUtil.o: ../eclipseUtil.c ../eclipseUtil.h ../eclipseOS.h + $(CC) $(CFLAGS) -c ../eclipseUtil.c -o $@ + +eclipseJNI.o: ../eclipseJNI.c ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.h + $(CC) $(CFLAGS) -c ../eclipseJNI.c -o $@ + +eclipseConfig.o: ../eclipseConfig.c ../eclipseConfig.h ../eclipseOS.h + $(CC) $(CFLAGS) -c ../eclipseConfig.c -o $@ + +eclipseShm.o: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c + $(CC) $(CFLAGS) -c ../eclipseShm.c -o $@ + +eclipseNix.o: ../eclipseNix.c + $(CC) $(CFLAGS) -c ../eclipseNix.c -o $@ + +$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS) + $(CC) ${M_ARCH} -o $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS) + +$(DLL): $(DLL_OBJS) $(COMMON_OBJS) + $(CC) $(LFLAGS) -o $(DLL) $(DLL_OBJS) $(COMMON_OBJS) $(LIBS) + +install: all + cp $(EXEC) $(OUTPUT_DIR) + cp $(DLL) $(LIBRARY_DIR) + rm -f $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS) + +clean: + rm -f $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS) diff --git a/features/org.eclipse.equinox.executable.feature/library/gtk/make_linux.mak b/features/org.eclipse.equinox.executable.feature/library/gtk/make_linux.mak new file mode 100644 index 000000000..6abe01702 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/gtk/make_linux.mak @@ -0,0 +1,112 @@ +#******************************************************************************* +# Copyright (c) 2000, 2010 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +# Kevin Cornell (Rational Software Corporation) +# Tom Tromey (Red Hat, Inc.) +#******************************************************************************* +include ../make_version.mak +# Makefile for creating the GTK eclipse launcher program. +# +# This makefile expects the utility "pkg-config" to be in the PATH. + +# This makefile expects the following environment variables set: +# +# PROGRAM_OUTPUT - the filename of the output executable +# DEFAULT_OS - the default value of the "-os" switch +# DEFAULT_OS_ARCH - the default value of the "-arch" switch +# DEFAULT_WS - the default value of the "-ws" switch +# JAVA_HOME - JAVA_HOME for jni headers +#default value for PROGRAM_OUTPUT +ifeq ($(PROGRAM_OUTPUT),) + PROGRAM_OUTPUT=eclipse +endif + +PROGRAM_LIBRARY=$(PROGRAM_OUTPUT)_$(LIB_VERSION).so + +ifeq ($(DEFAULT_JAVA),) + DEFAULT_JAVA=DEFAULT_JAVA_JNI +endif + +# Define the object modules to be compiled and flags. +CC?=gcc +MAIN_OBJS = eclipseMain.o +COMMON_OBJS = eclipseConfig.o eclipseCommon.o eclipseGtkCommon.o eclipseGtkInit.o +DLL_OBJS = eclipse.o eclipseGtk.o eclipseUtil.o eclipseJNI.o eclipseMozilla.o eclipseShm.o eclipseNix.o + +EXEC = $(PROGRAM_OUTPUT) +DLL = $(PROGRAM_LIBRARY) +#LIBS = `pkg-config --libs-only-L gtk+-2.0` -lgtk-x11-2.0 -lgdk_pixbuf-2.0 -lgobject-2.0 -lgdk-x11-2.0 -lpthread -ldl -lX11 +LIBS = -lpthread -ldl +GTK_LIBS = \ + -DGTK_LIB="\"libgtk-x11-2.0.so.0\"" -DGDK_LIB="\"libgdk-x11-2.0.so.0\"" \ + -DGTK3_LIB="\"libgtk-3.so.0\"" -DGDK3_LIB="\"libgdk-3.so.0\"" \ + -DPIXBUF_LIB="\"libgdk_pixbuf-2.0.so.0\"" -DGOBJ_LIB="\"libgobject-2.0.so.0\"" -DX11_LIB="\"libX11.so.6\"" +LFLAGS = ${M_ARCH} -shared -fpic -Wl,--export-dynamic +CFLAGS = ${M_ARCH} -g -s -Wall\ + -fpic \ + -DLINUX \ + -DMOZILLA_FIX \ + -DDEFAULT_OS="\"$(DEFAULT_OS)\"" \ + -DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \ + -DDEFAULT_WS="\"$(DEFAULT_WS)\"" \ + -D$(DEFAULT_JAVA) \ + $(GTK_LIBS) \ + -I. \ + -I.. \ + -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux \ + `pkg-config --cflags gtk+-2.0` + +all: $(EXEC) $(DLL) + +eclipse.o: ../eclipse.c ../eclipseOS.h ../eclipseCommon.h ../eclipseJNI.h + $(CC) $(CFLAGS) -c ../eclipse.c -o eclipse.o + +eclipseMain.o: ../eclipseUnicode.h ../eclipseCommon.h ../eclipseMain.c + $(CC) $(CFLAGS) -c ../eclipseMain.c -o eclipseMain.o + +eclipseCommon.o: ../eclipseCommon.h ../eclipseUnicode.h ../eclipseCommon.c + $(CC) $(CFLAGS) -c ../eclipseCommon.c + +eclipseGtkCommon.o: ../eclipseCommon.h ../eclipseOS.h eclipseGtk.h eclipseGtkCommon.c + $(CC) $(CFLAGS) -c eclipseGtkCommon.c -o eclipseGtkCommon.o + +eclipseGtkInit.o: ../eclipseCommon.h eclipseGtk.h eclipseGtkInit.c + $(CC) $(CFLAGS) -c eclipseGtkInit.c -o eclipseGtkInit.o + +eclipseUtil.o: ../eclipseUtil.c ../eclipseUtil.h ../eclipseOS.h + $(CC) $(CFLAGS) -c ../eclipseUtil.c -o eclipseUtil.o + +eclipseJNI.o: ../eclipseJNI.c ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.h + $(CC) $(CFLAGS) -c ../eclipseJNI.c -o eclipseJNI.o + +eclipseConfig.o: ../eclipseConfig.c ../eclipseConfig.h ../eclipseOS.h + $(CC) $(CFLAGS) -c ../eclipseConfig.c -o eclipseConfig.o + +eclipseMozilla.o: ../eclipseMozilla.c ../eclipseMozilla.h ../eclipseOS.h + $(CC) $(CFLAGS) -c ../eclipseMozilla.c -o eclipseMozilla.o + +eclipseShm.o: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c + $(CC) $(CFLAGS) -c ../eclipseShm.c -o eclipseShm.o + +eclipseNix.o: ../eclipseNix.c + $(CC) $(CFLAGS) -c ../eclipseNix.c -o eclipseNix.o + +$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS) + $(CC) ${M_ARCH} -o $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS) + +$(DLL): $(DLL_OBJS) $(COMMON_OBJS) + $(CC) $(LFLAGS) -o $(DLL) $(DLL_OBJS) $(COMMON_OBJS) $(LIBS) + +install: all + cp $(EXEC) $(OUTPUT_DIR) + cp $(DLL) $(LIBRARY_DIR) + rm -f $(EXEC) $(DLL) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS) + +clean: + rm -f $(EXEC) $(DLL) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS) diff --git a/features/org.eclipse.equinox.executable.feature/library/gtk/make_solaris.mak b/features/org.eclipse.equinox.executable.feature/library/gtk/make_solaris.mak new file mode 100644 index 000000000..945becf9e --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/gtk/make_solaris.mak @@ -0,0 +1,111 @@ +#******************************************************************************* +# Copyright (c) 2000, 2010 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +# Kevin Cornell (Rational Software Corporation) +# Tom Tromey (Red Hat, Inc.) +# Martin Oberhuber (Wind River) - [176805] Support building with gcc and debug +#******************************************************************************* +include ../make_version.mak +# Makefile for creating the GTK eclipse launcher program. +# +# This makefile expects the utility "pkg-config" to be in the PATH. + +# This makefile expects the following environment variables set: +# +# PROGRAM_OUTPUT - the filename of the output executable +# DEFAULT_OS - the default value of the "-os" switch +# DEFAULT_OS_ARCH - the default value of the "-arch" switch +# DEFAULT_WS - the default value of the "-ws" switch +# JAVA_HOME - JAVA_HOME for JNI headers + +#ifeq ($(PROGRAM_OUTPUT),) + PROGRAM_OUTPUT=eclipse +#endif + +PROGRAM_LIBRARY=$(PROGRAM_OUTPUT)_$(LIB_VERSION).so + +# Define the object modules to be compiled and flags. +MAIN_OBJS = eclipseMain.o +COMMON_OBJS = eclipseConfig.o eclipseCommon.o eclipseGtkCommon.o eclipseGtkInit.o +DLL_OBJS = eclipse.o eclipseGtk.o eclipseUtil.o eclipseJNI.o eclipseMozilla.o eclipseShm.o eclipseNix.o +PICFLAG = -K PIC +# Optimize and remove all debugging information by default +OPTFLAG = -O -s +# OPTFLAG = -g + +EXEC = $(PROGRAM_OUTPUT) +DLL = $(PROGRAM_LIBRARY) +#LIBS = `pkg-config --libs-only-L gtk+-2.0` -lgtk-x11-2.0 -lgdk_pixbuf-2.0 -lgobject-2.0 -lgdk-x11-2.0 -lglib-2.0 -lthread -ldl -lc +LIBS = -lthread -ldl -lc -lrt +GTK_LIBS = \ + -DGTK_LIB="\"libgtk-x11-2.0.so.0\"" -DGDK_LIB="\"libgdk-x11-2.0.so.0\"" \ + -DGTK3_LIB="\"libgtk-3.so.0\"" -DGDK3_LIB="\"libgdk-3.so.0\"" \ + -DPIXBUF_LIB="\"libgdk_pixbuf-2.0.so.0\"" -DGOBJ_LIB="\"libgobject-2.0.so.0\"" -DX11_LIB="\"libX11.so.4\"" +LFLAGS = -G +CFLAGS = $(OPTFLAG) \ + -DSOLARIS \ + $(PICFLAG) \ + -DMOZILLA_FIX \ + -DDEFAULT_OS="\"$(DEFAULT_OS)\"" \ + -DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \ + -DDEFAULT_WS="\"$(DEFAULT_WS)\"" \ + $(GTK_LIBS) \ + -I. \ + -I.. \ + -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/solaris \ + `pkg-config --cflags gtk+-2.0` + +all: $(EXEC) $(DLL) + +eclipse.o: ../eclipse.c ../eclipseOS.h ../eclipseCommon.h ../eclipseJNI.h + $(CC) $(CFLAGS) -c ../eclipse.c -o eclipse.o + +eclipseMain.o: ../eclipseUnicode.h ../eclipseCommon.h ../eclipseMain.c + $(CC) $(CFLAGS) -c ../eclipseMain.c -o eclipseMain.o + +eclipseCommon.o: ../eclipseCommon.h ../eclipseUnicode.h ../eclipseCommon.c + $(CC) $(CFLAGS) -c ../eclipseCommon.c + +eclipseGtkCommon.o: ../eclipseCommon.h ../eclipseOS.h eclipseGtk.h eclipseGtkCommon.c + $(CC) $(CFLAGS) -c eclipseGtkCommon.c -o eclipseGtkCommon.o + +eclipseGtkInit.o: ../eclipseCommon.h eclipseGtk.h eclipseGtkInit.c + $(CC) $(CFLAGS) -c eclipseGtkInit.c -o eclipseGtkInit.o + +eclipseUtil.o: ../eclipseUtil.c ../eclipseUtil.h ../eclipseOS.h + $(CC) $(CFLAGS) -c ../eclipseUtil.c -o eclipseUtil.o + +eclipseJNI.o: ../eclipseJNI.c ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.h + $(CC) $(CFLAGS) -c ../eclipseJNI.c -o eclipseJNI.o + +eclipseConfig.o: ../eclipseConfig.c ../eclipseConfig.h ../eclipseOS.h + $(CC) $(CFLAGS) -c ../eclipseConfig.c -o eclipseConfig.o + +eclipseMozilla.o: ../eclipseMozilla.c ../eclipseMozilla.h ../eclipseOS.h + $(CC) $(CFLAGS) -c ../eclipseMozilla.c -o eclipseMozilla.o + +eclipseShm.o: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c + $(CC) $(CFLAGS) -c ../eclipseShm.c -o eclipseShm.o + +eclipseNix.o: ../eclipseNix.c + $(CC) $(CFLAGS) -c ../eclipseNix.c -o eclipseNix.o + +$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS) + $(CC) -o $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS) + +$(DLL): $(DLL_OBJS) $(COMMON_OBJS) + $(CC) $(LFLAGS) -o $(DLL) $(DLL_OBJS) $(COMMON_OBJS) $(LIBS) + +install: all + cp $(EXEC) $(OUTPUT_DIR) + cp $(DLL) $(LIBRARY_DIR) + rm -f $(EXEC) $(DLL) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS) + +clean: + rm -f $(EXEC) $(DLL) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS) diff --git a/features/org.eclipse.equinox.executable.feature/library/make_version.mak b/features/org.eclipse.equinox.executable.feature/library/make_version.mak new file mode 100644 index 000000000..41c9b799c --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/make_version.mak @@ -0,0 +1,14 @@ +#******************************************************************************* +# Copyright (c) 2006, 2011 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +#******************************************************************************* + +maj_ver=1 +min_ver=505 +LIB_VERSION = $(maj_ver)$(min_ver) diff --git a/features/org.eclipse.equinox.executable.feature/library/motif/.cvsignore b/features/org.eclipse.equinox.executable.feature/library/motif/.cvsignore new file mode 100644 index 000000000..e64b3dbf5 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/motif/.cvsignore @@ -0,0 +1,4 @@ +*.o +eclipse +eclipse_*.so +libeclipse-motif.so diff --git a/features/org.eclipse.equinox.executable.feature/library/motif/NgCommon.c b/features/org.eclipse.equinox.executable.feature/library/motif/NgCommon.c new file mode 100644 index 000000000..2f4e525b0 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/motif/NgCommon.c @@ -0,0 +1,178 @@ +/******************************************************************************* + * Copyright (c) 2000, 2006 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ + +#include +#include +#include "NgCommon.h" + +/* Non-zero = big-endian architecture */ +static BYTE4 hostIsMSB = 0; + +/* Store last error msg */ +#define MAX_MSG_SIZE 100 +char errorMsg[MAX_MSG_SIZE]; + +/* Library initialization */ +void NgInit() +{ + BYTE4 result = (BYTE4) 'A'; + + /* determine the byte ordering of the host machine */ + hostIsMSB = (BYTE4) (*((char *) &result) != 'A'); + + errorMsg[0] = 0; +} + +/** + * Memory allocation routine + */ +void *NgMalloc (UBYTE4 size) +{ + return malloc (size); +} + +/** + * Memory allocation routine + */ +void NgFree (void *memblock) +{ + if (memblock != NULL) + free (memblock); +} + +void NgMemSet (void *dest, UBYTE1 c, BYTE4 count) +{ + memset (dest, c, count); +} + +void NgMemCpy (void *dest, void *src, BYTE4 count) +{ + memcpy (dest, src, count); +} + +/** + * Error Reporting + */ + +ng_err_t NgError (ng_err_t error_type, char* msg) { + if (msg != NULL) + { + /* Store a copy of the last error msg - truncate if necessary */ + size_t size = strlen (msg); + if (size >= MAX_MSG_SIZE) size = MAX_MSG_SIZE - 1; + NgMemCpy (errorMsg, msg, size); + errorMsg[size] = 0; + } + return error_type; +} + +const char *NgGetLastErrorMsg() +{ + return errorMsg; +} + +/** + * Stream manipulation routines + */ +ng_err_t NgStreamInit (ng_stream_t *stream, char *fullname) +{ + stream->file = fopen (fullname, "rb"); + stream->size = 0; + stream->pos = 0; + if (stream->file == NULL) return NgError (ERR_NG, "Can't open file"); + return ERR_OK; +} + +void NgStreamClose (ng_stream_t *stream) +{ + if (stream->file != NULL) + { + fclose (stream->file); + stream->file = NULL; + } + stream->size = -1; +} + +char NgStreamEof (ng_stream_t *stream) +{ + return stream->size == -1; +} + +BYTE4 NgStreamGetPosition (ng_stream_t *stream) +{ + return stream->pos; +} + +BYTE4 NgStreamSkip (ng_stream_t *stream, BYTE4 nbr) +{ + if (stream->size == -1) return 0; + if (fseek (stream->file, nbr, SEEK_CUR)) + { + NgStreamClose (stream); + return 0; + } + stream->pos += nbr; + return nbr; +} + +BYTE4 NgStreamRead (ng_stream_t *stream, char *buffer, BYTE4 nbr) +{ + size_t cnt; + if (stream->size == -1) return 0; + cnt = fread (buffer, sizeof (char), nbr, stream->file); + if (cnt != nbr) + { + NgStreamClose (stream); + return 0; + } + stream->pos += nbr; + return nbr; +} + +BYTE1 NgIsMSB() +{ + return hostIsMSB != 0; +} + +UBYTE2 SystemToLittleEndianUBYTE2 (UBYTE2 value) +{ + return hostIsMSB ? ((value&0xFF) << 8)|((value&0xFF00)>>8) : value; +} + +UBYTE4 SystemToLittleEndianUBYTE4 (UBYTE4 value) +{ + return hostIsMSB ? ((value&0xFF000000L)>>24)|((value&0xFF0000L)>>8) | ((value&0xFF00L)<<8) | ((value&0xFFL)<<24) : value; +} + +UBYTE2 SystemToBigEndianUBYTE2 (UBYTE2 value) +{ + return hostIsMSB ? value : ((value&0xFF) << 8)|((value&0xFF00)>>8); +} + +UBYTE2 LittleEndianToSystemUBYTE2 (UBYTE2 value) +{ + return hostIsMSB ? ((value&0xFF) << 8)|((value&0xFF00)>>8) : value; +} + +UBYTE4 LittleEndianToSystemUBYTE4 (UBYTE4 value) +{ + return hostIsMSB ? ((value&0xFF000000L)>>24)|((value&0xFF0000L)>>8) | ((value&0xFF00L)<<8) | ((value&0xFFL)<<24) : value; +} + +UBYTE2 BigEndianToSystemUBYTE2 (UBYTE2 value) +{ + return hostIsMSB ? value : ((value&0xFF) << 8)|((value&0xFF00)>>8); +} + +UBYTE4 BigEndianToSystemUBYTE4 (UBYTE4 value) +{ + return hostIsMSB ? value : ((value&0xFF000000L)>>24)|((value&0xFF0000L)>>8)|((value&0xFF00L)<<8) | ((value&0xFFL)<<24); +} diff --git a/features/org.eclipse.equinox.executable.feature/library/motif/NgCommon.h b/features/org.eclipse.equinox.executable.feature/library/motif/NgCommon.h new file mode 100644 index 000000000..31252d753 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/motif/NgCommon.h @@ -0,0 +1,95 @@ +/******************************************************************************* + * Copyright (c) 2000, 2006 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ + +#ifndef __NG_COMMON_H +#define __NG_COMMON_H + +#include +#include + +typedef char BYTE1; +typedef unsigned char UBYTE1; +typedef short BYTE2; +typedef unsigned short UBYTE2; +typedef long BYTE4; +typedef unsigned long UBYTE4; + +/* error reporting */ +#define ERR_OK 1 +#define ERR_SUBSCRIPT_OUT_OF_RANGE -1 +#define ERR_INVALID_BIT_COUNT -2 +#define ERR_NG -4 + +typedef BYTE4 ng_err_t; +ng_err_t NgError (ng_err_t error_type, char* msg); +const char *NgGetLastErrorMsg(); + +/** + * NgInit + * Must be called prior to using the image decoders + */ +void NgInit(); + +/* memory management */ +void *NgMalloc (UBYTE4 size); +void NgFree (void *memblock); +void NgMemSet (void *dest, UBYTE1 c, BYTE4 count); +void NgMemCpy (void *dest, void *src, BYTE4 count); + +/* stream api */ +typedef struct { + FILE *file; + BYTE4 size; + BYTE4 pos; +} ng_stream_t; + +/** + * Init a stream given the path and name of a file + * Note. NgStreamClose should be called to release + * the related OS resource. + */ +ng_err_t NgStreamInit (ng_stream_t *stream, char *fullname); + +/** + * Close any OS resource managed the given stream. + * In particular, close the file if the stream is using one. + */ +void NgStreamClose (ng_stream_t *stream); + +char NgStreamEof (ng_stream_t *stream); + +BYTE4 NgStreamGetPosition (ng_stream_t *stream); +/** + * Skips nbr bytes. + * Return nbr if all bytes were skipped. + * If nbr bytes can't be skipped, the stream is closed + * (NgStreamEof returns 1). 0 is returned. + */ +BYTE4 NgStreamSkip (ng_stream_t *stream, BYTE4 nbr); +/** + * Copies nbr bytes to buffer from stream. + * Returns nbr if all bytes were copied. + * If nbr bytes can't be read, no bytes are copied. The stream + * is closed (NgStreamEof returns 1). 0 is returned. + */ +BYTE4 NgStreamRead (ng_stream_t *stream, char *buffer, BYTE4 nbr); + +/* little/big endian conversion */ +BYTE1 NgIsMSB(); +UBYTE2 SystemToLittleEndianUBYTE2 (UBYTE2); +UBYTE4 SystemToLittleEndianUBYTE4 (UBYTE4); +UBYTE2 SystemToBigEndianUBYTE2 (UBYTE2); +UBYTE2 LittleEndianToSystemUBYTE2 (UBYTE2); +UBYTE4 LittleEndianToSystemUBYTE4 (UBYTE4); +UBYTE2 BigEndianToSystemUBYTE2 (UBYTE2); +UBYTE4 BigEndianToSystemUBYTE4 (UBYTE4); + +#endif /* NG_COMMON_H */ diff --git a/features/org.eclipse.equinox.executable.feature/library/motif/NgImage.c b/features/org.eclipse.equinox.executable.feature/library/motif/NgImage.c new file mode 100644 index 000000000..056b09de3 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/motif/NgImage.c @@ -0,0 +1,246 @@ +/******************************************************************************* + * Copyright (c) 2000, 2007 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ + +#include "NgCommon.h" +#include "NgImageData.h" +#include "NgImage.h" +#include "NgWinBMPFileFormat.h" +#include + +struct NG_PTRS ng; + +#define FN_TABLE_ENTRY(fn) { (void**)&ng.fn, #fn } +typedef struct { + void ** fnPtr; + char * fnName; +} FN_TABLE; +static FN_TABLE x11Functions[] = { FN_TABLE_ENTRY(XCreateGC), + FN_TABLE_ENTRY(XCreateImage), + FN_TABLE_ENTRY(XCreatePixmap), + FN_TABLE_ENTRY(XDefaultColormap), + FN_TABLE_ENTRY(XDefaultDepthOfScreen), + FN_TABLE_ENTRY(XDefaultRootWindow), + FN_TABLE_ENTRY(XDefaultScreen), + FN_TABLE_ENTRY(XDefaultScreenOfDisplay), + FN_TABLE_ENTRY(XDefaultVisual), + FN_TABLE_ENTRY(XFreeGC), + FN_TABLE_ENTRY(XFreePixmap), + FN_TABLE_ENTRY(XPutImage), + FN_TABLE_ENTRY(XQueryColor), + { NULL, NULL } + }; + +static FN_TABLE xtFunctions[] = { FN_TABLE_ENTRY(XtMalloc), {NULL, NULL} }; + +int NGImageInit() { + int i = 0; + void * fn; +#ifdef AIX + void * x11Lib = dlopen(X11_LIB, RTLD_LAZY | RTLD_MEMBER); + void * xtLib = dlopen(XT_LIB, RTLD_LAZY | RTLD_MEMBER); +#else + void * x11Lib = dlopen(X11_LIB, RTLD_LAZY); + void * xtLib = dlopen(XT_LIB, RTLD_LAZY); +#endif + /* initialize ptr struct to 0's */ + memset(&ng, 0, sizeof(struct NG_PTRS)); + + + if (x11Lib == NULL || xtLib == NULL) + return -1; + + for (i = 0; x11Functions[i].fnName != NULL; i++) { + fn = dlsym(x11Lib, x11Functions[i].fnName); + if (fn != 0) + *(x11Functions[i].fnPtr) = fn; + else + return -1; + } + + for (i = 0; xtFunctions[i].fnName != NULL; i++) { + fn = dlsym(xtLib, xtFunctions[i].fnName); + if (fn != 0) + *(xtFunctions[i].fnPtr) = fn; + else + return -1; + } + return 0; +} +/** + * Return the nbr of entries in the default color palette + */ +int getNbrColorsXPalette(Display *xDisplay) +{ + Visual *visual = ng.XDefaultVisual (xDisplay, ng.XDefaultScreen(xDisplay)); + return visual->map_entries; +} + +/** + * Return the RGB codes of the default palette + * palette: buffer of size numColors * 3, holding the RGB values + */ +ng_err_t getXPalette (Display *xDisplay, int numColors, char* palette) +{ + XColor color; + int i; + int index = 0; + int colormap = ng.XDefaultColormap (xDisplay, ng.XDefaultScreen(xDisplay)); + for (i = 0; i < numColors; i++) + { + color.pixel = i; + ng.XQueryColor (xDisplay, colormap, &color); + palette[index++] = ((color.red >> 8) & 0xFF); + palette[index++] = ((color.green >> 8) & 0xFF); + palette[index++] = ((color.blue >> 8) & 0xFF); + } + return ERR_OK; +} + +/** + * Put a device-independent image of any depth into a drawable of the same size, + */ +ng_err_t putImage(ng_bitmap_image_t *image, int srcX, int srcY, int srcWidth, int srcHeight, int destX, int destY, + Display *xDisplay, Visual *visual, int screenDepth, + int drawable) +{ + + XImage *xImagePtr; + int bufSize; + int destRedMask = 0, destGreenMask = 0, destBlueMask = 0; + BYTE1 screenDirect; + UBYTE1 *srcData = NgBitmapImageImageData(image); + UBYTE4 srcDepth = NgBitmapImageBitCount(image); + BYTE4 sbpp, dbpp; + GC tempGC; + int numColors = 0; + + /* We only support image depth of 24 bits */ + if (srcDepth != 24) return NgError (ERR_NG, "Error unsupported depth - only support 24 bit"); + if (screenDepth <= 8) + { + numColors = getNbrColorsXPalette (xDisplay); + if (numColors == 0) + return NgError (ERR_NG, "Error pseudo-color mode detected, no colors available"); + numColors = 1 << ng.XDefaultDepthOfScreen (ng.XDefaultScreenOfDisplay (xDisplay)); + screenDirect = 0; + } else + { + destRedMask = visual->red_mask; + destGreenMask = visual->green_mask; + destBlueMask = visual->blue_mask; + screenDirect = 1; + } + + xImagePtr = ng.XCreateImage(xDisplay, visual, screenDepth, ZPixmap, 0, 0, srcWidth, srcHeight, 32, 0); + if (xImagePtr == NULL) return NgError (ERR_NG, "Error XCreateImage failed"); + bufSize = xImagePtr->bytes_per_line * srcHeight; + + xImagePtr->data = (char*) ng.XtMalloc (bufSize); + sbpp = NgBitmapImageBytesPerRow(image); + dbpp = xImagePtr->bytes_per_line; + + if (screenDirect) + { + /* 24 bit source to direct screen destination */ + NgBitmapImageBlitDirectToDirect(srcData, sbpp, srcWidth, srcHeight, + (UBYTE1*)xImagePtr->data, xImagePtr->bits_per_pixel, dbpp, xImagePtr->byte_order, + destRedMask, destGreenMask, destBlueMask); + } else + { + /* 24 bit source to palette screen destination */ + char *palette = (char*) NgMalloc (numColors * 3); + getXPalette (xDisplay, numColors, palette); + NgBitmapImageBlitDirectToPalette(srcData, sbpp, srcWidth, srcHeight, + (UBYTE1*)xImagePtr->data, xImagePtr->bits_per_pixel, dbpp, xImagePtr->byte_order, + (UBYTE1*)palette, numColors); + NgFree (palette); + } + + tempGC = ng.XCreateGC (xDisplay, drawable, 0, NULL); + ng.XPutImage(xDisplay, drawable, tempGC, xImagePtr, 0, 0, 0, 0, srcWidth, srcHeight); + + XDestroyImage (xImagePtr); + ng.XFreeGC (xDisplay, tempGC); + return ERR_OK; +} + +ng_err_t init(ng_bitmap_image_t *image, Display *xDisplay, int screenDepth, int drawable, Pixmap *pixmap) +{ + ng_err_t err; + int width = (int)NgBitmapImageWidth(image); + int height = (int)NgBitmapImageHeight(image); + + Visual *visual = ng.XDefaultVisual(xDisplay, ng.XDefaultScreen(xDisplay)); + *pixmap = ng.XCreatePixmap(xDisplay, drawable, width, height, screenDepth); + if (*pixmap == 0) + { + return NgError (ERR_NG, "Error XCreatePixmap failed"); + } + err = putImage(image, 0, 0, width, height, 0, 0, xDisplay, visual, screenDepth, *pixmap); + if (err != ERR_OK) + { + ng.XFreePixmap (xDisplay, *pixmap); + return NgError (err, "Error putImage failed"); + } + + return ERR_OK; +} + +/** + * loadBMPImage + * Create a pixmap representing the given BMP file, for the specified display and screen. + * + * display: connection to X server + * screen: the screen to create the pixmap for + * bmpPathname: absolute path and name to the bmp file + * + * returned value: the pixmap newly created if successful. 0 otherwise. + */ +Pixmap loadBMPImage (Display *display, Screen *screen, char *bmpPathname) { + Window drawable; + ng_stream_t in; + ng_bitmap_image_t image; + ng_err_t err = ERR_OK; + int screenDepth; + Pixmap pixmap; + + /* this must be called before any X functions are used */ + NGImageInit(); + NgInit(); + + drawable = ng.XDefaultRootWindow (display); + screenDepth = ng.XDefaultDepthOfScreen (screen); + + if (NgStreamInit (&in, bmpPathname) != ERR_OK) + { + NgError (ERR_NG, "Error can't open BMP file"); + return 0; + } + NgBitmapImageInit (&image); + err = NgBmpDecoderReadImage (&in, &image); + NgStreamClose (&in); + + if (err != ERR_OK) + { + NgBitmapImageFree (&image); + return 0; + } + + err = init (&image, display, screenDepth, drawable, &pixmap); + NgBitmapImageFree (&image); + + return err == ERR_OK ? pixmap : 0; +} + +const char *getBMPErrorMessage () +{ + return NgGetLastErrorMsg (); +} diff --git a/features/org.eclipse.equinox.executable.feature/library/motif/NgImage.h b/features/org.eclipse.equinox.executable.feature/library/motif/NgImage.h new file mode 100644 index 000000000..a12218fb2 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/motif/NgImage.h @@ -0,0 +1,54 @@ +/******************************************************************************* + * Copyright (c) 2000, 2007 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ + +#ifndef __NG_IMAGE_H +#define __NG_IMAGE_H + +#include +#include +#include +#include + +struct NG_PTRS { + GC (*XCreateGC) (Display*, Drawable, unsigned long, XGCValues*); + XImage * (*XCreateImage) (Display*, Visual*, unsigned int, int, int, char*, unsigned int, unsigned int, int, int); + Pixmap (*XCreatePixmap) (Display*, Drawable, unsigned int, unsigned int, unsigned int); + Colormap (*XDefaultColormap) (Display*, int); + int (*XDefaultDepthOfScreen)(Screen*); + Window (*XDefaultRootWindow) (Display*); + int (*XDefaultScreen) (Display*); + Screen * (*XDefaultScreenOfDisplay)(Display*); + Visual * (*XDefaultVisual) (Display*, int); + int (*XFreeGC) (Display*, GC); + int (*XFreePixmap) (Display*, Pixmap); + int (*XPutImage) (Display*, Drawable, GC, XImage*, int, int, int, int, unsigned int, unsigned int); + int (*XQueryColor) (Display*, Colormap, XColor*); + char * (*XtMalloc) (Cardinal); +}; + +/** + * loadBMPImage + * Create a pixmap representing the given BMP file, for the specified display and screen. + * + * display: connection to X server + * screen: the screen to create the pixmap for + * bmpPathname: absolute path and name to the bmp file + * + * returned value: the pixmap newly created if successful. 0 otherwise. + */ +Pixmap loadBMPImage (Display *display, Screen *screen, char *bmpPathname); + +/** + * Return error message describing why the BMP file could not be displayed + */ +const char *getBMPErrorMessage(); + +#endif /* NG_IMAGE_H */ diff --git a/features/org.eclipse.equinox.executable.feature/library/motif/NgImageData.c b/features/org.eclipse.equinox.executable.feature/library/motif/NgImageData.c new file mode 100644 index 000000000..96053b305 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/motif/NgImageData.c @@ -0,0 +1,490 @@ +/******************************************************************************* + * Copyright (c) 2000, 2006 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ + +#include "NgImageData.h" + +static UBYTE4 RoundRow (UBYTE4 width) +{ + UBYTE4 result = (width + RowRounding - 1) + & ~(RowRounding - 1) ; + return result ; +} + +void NgBitmapImageInit (ng_bitmap_image_t *image) +{ + NgBitmapImageClearData (image); +} + +void NgBitmapImageFree (ng_bitmap_image_t *image) +{ + NgFree (image->color_map); + NgFree (image->image_data); + NgFree (image->alpha_data); +} + +void NgBitmapImageClearData (ng_bitmap_image_t *image) +{ + image->bit_count = 0; + image->image_width = 0; + image->image_height = 0; + image->color_count = 0; + image->color_map = NULL; + image->image_data = NULL; + image->alpha_data = NULL; + image->transparent_pixel = -1; +} + +void NgBitmapImageSetSize(ng_bitmap_image_t *image, + UBYTE4 color_count, + UBYTE4 bits, + UBYTE4 width, + UBYTE4 height) +{ + NgFree (image->color_map); + NgFree (image->image_data); + NgBitmapImageClearData (image); + + switch (bits) + { + case 1: + case 2: + case 4: + case 8: + { + UBYTE4 bitsize; + UBYTE4 bytecount; + + image->bit_count = bits; + image->color_count = color_count; + image->image_width = width; + image->image_height = height; + + image->color_map = (ng_color_map_entry_t *) NgMalloc (sizeof(ng_color_map_entry_t) * image->color_count); + NgMemSet (image->color_map, 0, sizeof (ng_color_map_entry_t) * image->color_count); + bitsize = image->bit_count * image->image_width; + image->row_width = RoundRow ((bitsize + 7)/8); + bytecount = image->row_width * image->image_height; + image->image_data = (UBYTE1 *) NgMalloc (bytecount); + NgMemSet (image->image_data, 0, (BYTE4)bytecount); + } + break ; + case 16: + { + image->bit_count = bits; + image->color_count = color_count; + image->image_width = width; + image->image_height = height; + image->row_width = RoundRow (2 * image->image_width); + image->image_data = (UBYTE1 *) NgMalloc (image->row_width * image->image_height); + NgMemSet (image->image_data, 0, image->row_width * image->image_height); + } + break; + case 24: + { + image->bit_count = bits; + image->color_count = color_count; + image->image_width = width; + image->image_height = height; + image->row_width = RoundRow (3 * image->image_width); + image->image_data = (UBYTE1 *) NgMalloc (image->row_width * image->image_height); + NgMemSet (image->image_data, 0, image->row_width * image->image_height); + } + break; + case 32: + { + image->bit_count = bits; + image->color_count = color_count; + image->image_width = width; + image->image_height = height; + image->row_width = RoundRow (4 * image->image_width); + image->image_data = (UBYTE1 *) NgMalloc (image->row_width * image->image_height); + NgMemSet (image->image_data, 0, image->row_width * image->image_height); + } + break ; + default: + NgError (ERR_INVALID_BIT_COUNT, NULL); + } +} + +ng_color_map_entry_t *NgBitmapImageColorMap (ng_bitmap_image_t *image, UBYTE4 index) +{ + if (index >= image->color_count) + { + NgError (ERR_SUBSCRIPT_OUT_OF_RANGE, "Error NgBitmapImageColorMap failed"); + return NULL; + } + + return &image->color_map [index] ; +} + +/* blit constants */ +#define TYPE_INDEX_1_MSB 1 +#define TYPE_INDEX_1_LSB 2 +#define TYPE_INDEX_2 3 +#define TYPE_INDEX_4 4 +#define TYPE_INDEX_8 5 +#define TYPE_GENERIC_24 6 +#define TYPE_GENERIC_8 7 +#define TYPE_GENERIC_16_MSB 8 +#define TYPE_GENERIC_16_LSB 9 +#define TYPE_GENERIC_32_MSB 10 +#define TYPE_GENERIC_32_LSB 11 + +/** + * Computes the required channel shift from a mask. + */ +UBYTE4 getChannelShift(UBYTE4 mask) +{ + UBYTE4 i; + if (mask == 0) return 0; + for (i = 0; ((mask & 1) == 0) && (i < 32); ++i) + { + mask >>= 1; + } + return i; +} + +/** + * Computes the required channel width (depth) from a mask. + */ +UBYTE4 getChannelWidth(UBYTE4 mask, UBYTE4 shift) +{ + UBYTE4 i; + if (mask == 0) return 0; + mask >>= shift; + for (i = shift; ((mask & 1) != 0) && (i < 32); ++i) + { + mask >>= 1; + } + return i - shift; +} + +/** + * Blits a direct palette image into a direct palette image. + * + * srcData the source byte array containing image data + * srcStride the source number of bytes per line + * srcWidth the width of the source blit region + * srcHeight the height of the source blit region + * destData the destination byte array containing image data + * destDepth the destination depth: one of 8, 16, 24, 32 + * destStride the destination number of bytes per line + * destOrder the destination byte ordering: 0 for LSB, 1 otherwise + * ignored if destDepth is not 16 or 32 + * destRedMask the destination red channel mask + * destGreenMask the destination green channel mask + * destBlueMask the destination blue channel mask + * + * It is assumed that. + * srcDepth: 24 - BGR ordering (BMP format) + * no alpha + * srcX: 0 + * srcY: 0 + * destX: 0 + * destY: 0 + * destWidth: same as srcWidth + * destHeight: same as srcHeight + */ +void NgBitmapImageBlitDirectToDirect( + UBYTE1 *srcData, BYTE4 srcStride, + BYTE4 srcWidth, BYTE4 srcHeight, + UBYTE1 *destData, BYTE4 destDepth, BYTE4 destStride, BYTE4 destOrder, + UBYTE4 destRedMask, UBYTE4 destGreenMask, UBYTE4 destBlueMask) +{ + BYTE4 srcX = 0, srcY = 0, destX = 0, destY = 0, destWidth = srcWidth, destHeight = srcHeight; + + BYTE4 sbpp, stype, spr, dbpp, dtype, dpr, dprxi, dpryi, dp, sp, dy, dx; + BYTE4 destRedShift, destRedWidth; + BYTE4 destRedPreShift, destGreenShift, destGreenWidth, destGreenPreShift; + BYTE4 destBlueShift, destBlueWidth, destBluePreShift; + UBYTE1 r, g, b; + UBYTE4 data; + + /*** Prepare source-related data ***/ + sbpp = 3; + stype = TYPE_GENERIC_24; + + spr = srcY * srcStride + srcX * sbpp; + + /*** Prepare destination-related data ***/ + switch (destDepth) + { + case 8: + dbpp = 1; + dtype = TYPE_GENERIC_8; + break; + case 16: + dbpp = 2; + dtype = (destOrder != 0) ? TYPE_GENERIC_16_MSB : TYPE_GENERIC_16_LSB; + break; + case 24: + dbpp = 3; + dtype = TYPE_GENERIC_24; + break; + case 32: + dbpp = 4; + dtype = (destOrder != 0) ? TYPE_GENERIC_32_MSB : TYPE_GENERIC_32_LSB; + break; + default: + return; + } + + dpr = destY * destStride + destX * dbpp; + dprxi = dbpp; + dpryi = destStride; + + /*** Blit ***/ + dp = dpr; + sp = spr; + + /*** Comprehensive blit (apply transformations) ***/ + destRedShift = getChannelShift(destRedMask); + destRedWidth = getChannelWidth(destRedMask, destRedShift); + destRedPreShift = 8 - destRedWidth; + destGreenShift = getChannelShift(destGreenMask); + destGreenWidth = getChannelWidth(destGreenMask, destGreenShift); + destGreenPreShift = 8 - destGreenWidth; + destBlueShift = getChannelShift(destBlueMask); + destBlueWidth = getChannelWidth(destBlueMask, destBlueShift); + destBluePreShift = 8 - destBlueWidth; + + r = 0; g = 0; b = 0; + for (dy = destHeight; dy > 0; --dy, sp = spr += srcStride, dp = dpr += dpryi) + { + for (dx = destWidth; dx > 0; --dx, dp += dprxi) + { + /*** READ NEXT PIXEL ASSUMING BGR ordering (BMP format) ***/ + b = srcData[sp]; + g = srcData[sp + 1]; + r = srcData[sp + 2]; + sp += 3; + /*** WRITE NEXT PIXEL ***/ + data = + (r >> destRedPreShift << destRedShift) | + (g >> destGreenPreShift << destGreenShift) | + (b >> destBluePreShift << destBlueShift); + switch (dtype) + { + case TYPE_GENERIC_8: + { + destData[dp] = (UBYTE1) data; + } break; + case TYPE_GENERIC_16_MSB: + { + destData[dp] = (UBYTE1) (data >> 8); + destData[dp + 1] = (UBYTE1) (data & 0xff); + } break; + case TYPE_GENERIC_16_LSB: + { + destData[dp] = (UBYTE1) (data & 0xff); + destData[dp + 1] = (UBYTE1) (data >> 8); + } break; + case TYPE_GENERIC_24: + { + destData[dp] = (UBYTE1) (data >> 16); + destData[dp + 1] = (UBYTE1) (data >> 8); + destData[dp + 2] = (UBYTE1) (data & 0xff); + } break; + case TYPE_GENERIC_32_MSB: + { + destData[dp] = (UBYTE1) (data >> 24); + destData[dp + 1] = (UBYTE1) (data >> 16); + destData[dp + 2] = (UBYTE1) (data >> 8); + destData[dp + 3] = (UBYTE1) (data & 0xff); + } break; + case TYPE_GENERIC_32_LSB: + { + destData[dp] = (UBYTE1) (data & 0xff); + destData[dp + 1] = (UBYTE1) (data >> 8); + destData[dp + 2] = (UBYTE1) (data >> 16); + destData[dp + 3] = (UBYTE1) (data >> 24); + } break; + } + } + } +} + +/** + * Create a simple hash table used when converting direct colors to values in a palette + * Each bucket stores the RGB codes and the corresponding palette index. + * The key is made from the RGB values. + * It is used as a cache. New entries colliding with older ones simply + * replace them. + */ +ng_palette_bucket_t *NgRGBIndexCreate () +{ + ng_palette_bucket_t *table = (ng_palette_bucket_t *)NgMalloc (RGBIndexTableSize * sizeof (ng_palette_bucket_t)); + NgMemSet (table, 0, RGBIndexTableSize * sizeof (ng_palette_bucket_t)); + return table; +} + +void NgRGBIndexFree (ng_palette_bucket_t *table) +{ + NgFree (table); +} + +void NgRGBIndexSet (ng_palette_bucket_t *table, UBYTE1 r, UBYTE1 g, UBYTE1 b, UBYTE1 index) +{ + int i = (r * g * b) % RGBIndexTableSize; + table[i].blue = b; + table[i].green = g; + table[i].red = r; + table[i].index = index; + table[i].isSet = 1; +} + +int NgRGBIndexGet (ng_palette_bucket_t *table, UBYTE1 r, UBYTE1 g, UBYTE1 b) +{ + int i = (r * g * b) % RGBIndexTableSize; + if (table[i].isSet && table[i].blue == b && table[i].green == g && table[i].red == r) + return table[i].index; + return -1; +} + +/** + * Blits a direct palette image into an index palette image. + * + * srcData the source byte array containing image data + * srcStride the source number of bytes per line + * srcX the top-left x-coord of the source blit region + * srcY the top-left y-coord of the source blit region + * srcWidth the width of the source blit region + * srcHeight the height of the source blit region + * destData the destination byte array containing image data + * destDepth the destination depth: one of 1, 2, 4, 8 + * destStride the destination number of bytes per line + * destOrder the destination byte ordering: 0 if LSB, 1 otherwise; + * ignored if destDepth is not 1 + * destX the top-left x-coord of the destination blit region + * destY the top-left y-coord of the destination blit region + * destWidth the width of the destination blit region + * destHeight the height of the destination blit region + * destColors the destination palette red green blue component intensities + * destNumColors the number of colors in destColors + * + * It is assumed that. + * srcDepth: 24 - BGR ordering (BMP format) + * no alpha + * srcX: 0 + * srcY: 0 + * destX: 0 + * destY: 0 + * destWidth: same as srcWidth + * destHeight: same as srcHeight + */ + +void NgBitmapImageBlitDirectToPalette( + UBYTE1 *srcData, BYTE4 srcStride, + BYTE4 srcWidth, BYTE4 srcHeight, + UBYTE1 *destData, BYTE4 destDepth, BYTE4 destStride, BYTE4 destOrder, + UBYTE1 *destColors, int destNumColors) +{ + BYTE4 srcX = 0, srcY = 0, destX = 0, destY = 0, destWidth = srcWidth, destHeight = srcHeight; + BYTE4 sbpp, spr, dtype, dpr, dp, sp, destPaletteSize, dy, dx, j, dr, dg, db, distance, minDistance; + + UBYTE1 r = 0, g = 0, b = 0, index = 0; + int storedIndex; + ng_palette_bucket_t *RGBIndexTable; + + /*** Prepare source-related data ***/ + sbpp = 3; + spr = srcY * srcStride + srcX * sbpp; + + /*** Prepare destination-related data ***/ + switch (destDepth) + { + case 8: + dtype = TYPE_INDEX_8; + break; + case 4: + destStride <<= 1; + dtype = TYPE_INDEX_4; + break; + case 2: + destStride <<= 2; + dtype = TYPE_INDEX_2; + break; + case 1: + destStride <<= 3; + dtype = (destOrder != 0) ? TYPE_INDEX_1_MSB : TYPE_INDEX_1_LSB; + break; + default: + return; + } + dpr = destY * destStride + destX; + + dp = dpr; + sp = spr; + destPaletteSize = destNumColors; + + RGBIndexTable = NgRGBIndexCreate (); + for (dy = destHeight; dy > 0; --dy, sp = spr += srcStride, dp = dpr += destStride) + { + for (dx = destWidth; dx > 0; --dx, dp += 1) + { + /*** READ NEXT PIXEL ASSUMING BGR ordering (BMP format) ***/ + b = srcData[sp]; + g = srcData[sp+1]; + r = srcData[sp+2]; + sp += 3; + + /*** MAP COLOR TO THE PALETTE ***/ + storedIndex = NgRGBIndexGet (RGBIndexTable, r, g, b); + if (storedIndex >= 0) + { + index = (UBYTE1) storedIndex; + } else + { + for (j = 0, minDistance = 0x7fffffff; j < destPaletteSize; ++j) + { + dr = (destColors[j*3] & 0xff) - r; + dg = (destColors[j*3+1] & 0xff) - g; + db = (destColors[j*3+2] & 0xff) - b; + distance = dr * dr + dg * dg + db * db; + if (distance < minDistance) + { + index = (UBYTE1)j; + if (distance == 0) break; + minDistance = distance; + } + } + NgRGBIndexSet (RGBIndexTable, r, g, b, index); + } + + /*** WRITE NEXT PIXEL ***/ + switch (dtype) { + case TYPE_INDEX_8: + destData[dp] = (UBYTE1) index; + break; + case TYPE_INDEX_4: + if ((dp & 1) != 0) destData[dp >> 1] = ((destData[dp >> 1] & 0xf0) | index); + else destData[dp >> 1] = ((destData[dp >> 1] & 0x0f) | (index << 4)); + break; + case TYPE_INDEX_2: + { + int shift = 6 - (dp & 3) * 2; + destData[dp >> 2] = ((destData[dp >> 2] & ~(0x03 << shift)) | (index << shift)); + } break; + case TYPE_INDEX_1_MSB: + { + int shift = 7 - (dp & 7); + destData[dp >> 3] = ((destData[dp >> 3] & ~(0x01 << shift)) | (index << shift)); + } break; + case TYPE_INDEX_1_LSB: + { + int shift = dp & 7; + destData[dp >> 3] = ((destData[dp >> 3] & ~(0x01 << shift)) | (index << shift)); + } break; + } + } + } + NgRGBIndexFree (RGBIndexTable); +} diff --git a/features/org.eclipse.equinox.executable.feature/library/motif/NgImageData.h b/features/org.eclipse.equinox.executable.feature/library/motif/NgImageData.h new file mode 100644 index 000000000..2b0f9f4af --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/motif/NgImageData.h @@ -0,0 +1,170 @@ +/******************************************************************************* + * Copyright (c) 2000, 2006 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ + +#ifndef __NG_IMAGEDATA_H +#define __NG_IMAGEDATA_H + +/** + * Type ng_bitmap_image_t (C version of SWT ImageData) + * + * Unlike ImageData, ng_bitmap_image_t and all its api are 'internal'. + * The api marked 'public' is in the sense that it can be used + * by the rest of the native graphic library. + */ + +#include "NgCommon.h" + +typedef struct ng_bitmap_image_t ng_bitmap_image_t; + +typedef struct { + UBYTE1 blue; + UBYTE1 green; + UBYTE1 red; +} ng_color_map_entry_t; + +/* ImageData in SWT expects RGB not BGR */ +enum { RedOffset=0, GreenOffset=1, BlueOffset=2 }; + +struct ng_bitmap_image_t { + /* Width in bytes of each row */ + UBYTE4 row_width; + /* Number of bits per pixel (depth) 1, 2, 4, 8, 16 or 24 */ + UBYTE4 bit_count; + UBYTE4 image_width; + UBYTE4 image_height; + /* image data + * 24-bit images, 3 bytes per pixel representing RGB values + * 32 bit images, 4 bytes per pixel representing RGB values + one wasted byte + * 16 bit images, 2 bytes per pixel + * rest (1, 2, 4, 8): index into color map + */ + UBYTE1 *image_data; + /* alpha data (either NULL or of size image_width*image_height) */ + UBYTE1 *alpha_data; + /* transparent pixel - default is -1 which means no transparent pixel */ + BYTE4 transparent_pixel; + /* number of entries in color map */ + UBYTE4 color_count; + ng_color_map_entry_t *color_map; +}; + +/************************************************ + * Public API ng_bitmap_image_t + ************************************************/ + +/** + * Init an image + */ +void NgBitmapImageInit (ng_bitmap_image_t *); + +/** + * Dispose the resources allocated by the image. + */ +void NgBitmapImageFree (ng_bitmap_image_t *); + +/** + * Access start of image data + * return: a pointer to an array of UBYTE1 of size image_row * image_width + * signature: UBYTE1 *NgBitmapImageImageData (ng_bitmap_image_t *image) + */ +#define NgBitmapImageImageData(image) ((image)->image_data) + +/** + * signature: UBYTE4 NgBitmapImageWidth (ng_bitmap_image_t *image) + */ +#define NgBitmapImageWidth(image) ((image)->image_width) + +/** + * signature: UBYTE4 NgBitmapImageHeight (ng_bitmap_image_t *image) + */ +#define NgBitmapImageHeight(image) ((image)->image_height) + +/** + * signature: UBYTE4 NgBitmapImageBitCount (ng_bitmap_image_t *image) + */ +#define NgBitmapImageBitCount(image) ((image)->bit_count) + +/** + * signature: UBYTE4 NgBitmapImageColorCount (ng_bitmap_image_t *image) + */ +#define NgBitmapImageColorCount(image) ((image)->color_count) + +/** + * Access a row of the image + * row: a value which must be between 0 and image_height-1 + * return: a pointer to the desired row, which is an array of size row_width + * signature: UBYTE1 *NgBitmapImageGetRow (ng_bitmap_image_t *image, UBYTE4 row) + */ +#define NgBitmapImageGetRow(image, row) (&image->image_data[row * image->row_width]) + +/** + * signature: UBYTE4 NgBitmapImageBytesPerRow (ng_bitmap_image_t *image) + */ +#define NgBitmapImageBytesPerRow(image) ((image)->row_width) + +/** + * Retrieve an entry from the color map + * index: a value which must be between 0 and color_count-1 + */ +ng_color_map_entry_t *NgBitmapImageColorMap (ng_bitmap_image_t *, UBYTE4 index); + +/** + * Get the value of the transparent pixel + * signature: BYTE4 NgBitmapImageGetTransparent (ng_bitmap_image_t *image) + */ +#define NgBitmapImageGetTransparent(image) ((image)->transparent_pixel) + +/** + * Get the alpha data + * signature: UBYTE1 *NgBitmapImageGetAlpha (ng_bitmap_image_t* image) + */ +#define NgBitmapImageGetAlpha(image) ((image)->alpha_data) + +void NgBitmapImageBlitDirectToDirect( + UBYTE1 *srcData, BYTE4 srcStride, + BYTE4 srcWidth, BYTE4 srcHeight, + UBYTE1 *destData, BYTE4 destDepth, BYTE4 destStride, BYTE4 destOrder, + UBYTE4 destRedMask, UBYTE4 destGreenMask, UBYTE4 destBlueMask); + +/* Size of hash table used in NgBitmapImageBlitDirectToPalette */ +#define RGBIndexTableSize 103 + +typedef struct { + UBYTE1 isSet; + UBYTE1 blue; + UBYTE1 green; + UBYTE1 red; + UBYTE1 index; +} ng_palette_bucket_t; + +void NgBitmapImageBlitDirectToPalette( + UBYTE1 *srcData, BYTE4 srcStride, + BYTE4 srcWidth, BYTE4 srcHeight, + UBYTE1 *destData, BYTE4 destDepth, BYTE4 destStride, BYTE4 destOrder, + UBYTE1 *destColors, int destNumColors); + +/************************************************ + * Private API ng_bitmap_image_t + ************************************************/ + +/* Number of bytes to round each row to */ +#define RowRounding 4 + +void NgBitmapImageInitialize (ng_bitmap_image_t *); +void NgBitmapImageClearData (ng_bitmap_image_t *); + +void NgBitmapImageSetSize(ng_bitmap_image_t *, + UBYTE4 color_count, + UBYTE4 bits, + UBYTE4 width, + UBYTE4 height); + +#endif /* NG_IMAGEDATA_H */ diff --git a/features/org.eclipse.equinox.executable.feature/library/motif/NgWinBMPFileFormat.c b/features/org.eclipse.equinox.executable.feature/library/motif/NgWinBMPFileFormat.c new file mode 100644 index 000000000..57989f649 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/motif/NgWinBMPFileFormat.c @@ -0,0 +1,367 @@ +/******************************************************************************* + * Copyright (c) 2000, 2006 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ + +#include "NgCommon.h" +#include "NgWinBMPFileFormat.h" + +#define BMPHeaderFixedSize 40 + +BYTE4 decompressRLE4Data(BYTE1 *src, BYTE4 numBytes, BYTE4 stride, BYTE1 *dest, BYTE4 destSize) +{ + BYTE4 sp = 0; + BYTE4 se = numBytes; + BYTE4 dp = 0; + BYTE4 de = destSize; + BYTE4 x = 0, y = 0; + BYTE4 i; + while (sp < se) + { + int len = src[sp] & 0xFF; + sp++; + if (len == 0) + { + len = src[sp] & 0xFF; + sp++; + switch (len) + { + case 0: /* end of line */ + y++; + x = 0; + dp = y * stride; + if (dp >= de) + return -1; + break; + case 1: /* end of bitmap */ + return 1; + case 2: /* delta */ + x += src[sp] & 0xFF; + sp++; + y += src[sp] & 0xFF; + sp++; + dp = y * stride + x / 2; + if (dp >= de) + return -1; + break; + default: /* absolute mode run */ + if ((len & 1) != 0) /* odd run lengths not currently supported */ + return -1; + x += len; + len = len / 2; + if (len > (se - sp)) + return -1; + if (len > (de - dp)) + return -1; + for (i = 0; i < len; i++) + { + dest[dp] = src[sp]; + dp++; + sp++; + } + if ((sp & 1) != 0) + sp++; /* word align sp? */ + break; + } + } else + { + BYTE1 theByte; + if ((len & 1) != 0) + return -1; + x += len; + len = len / 2; + theByte = src[sp]; + sp++; + if (len > (de - dp)) + return -1; + for (i = 0; i < len; i++) + { + dest[dp] = theByte; + dp++; + } + } + } + return 1; +} + +BYTE4 decompressRLE8Data(BYTE1 *src, BYTE4 numBytes, BYTE4 stride, BYTE1 *dest, BYTE4 destSize) +{ + BYTE4 sp = 0; + BYTE4 se = numBytes; + BYTE4 dp = 0; + BYTE4 de = destSize; + BYTE4 x = 0, y = 0; + BYTE4 i; + while (sp < se) { + int len = src[sp] & 0xFF; + sp++; + if (len == 0) { + len = src[sp] & 0xFF; + sp++; + switch (len) + { + case 0: /* end of line */ + y++; + x = 0; + dp = y * stride; + if (dp >= de) + return -1; + break; + case 1: /* end of bitmap */ + return 1; + case 2: /* delta */ + x += src[sp] & 0xFF; + sp++; + y += src[sp] & 0xFF; + sp++; + dp = y * stride + x; + if (dp >= de) + return -1; + break; + default: /* absolute mode run */ + if (len > (se - sp)) + return -1; + if (len > (de - dp)) + return -1; + for (i = 0; i < len; i++) + { + dest[dp] = src[sp]; + dp++; + sp++; + } + if ((sp & 1) != 0) + sp++; /* word align sp? */ + x += len; + break; + } + } else + { + BYTE1 theByte = src[sp]; + sp++; + if (len > (de - dp)) + return -1; + for (i = 0; i < len; i++) + { + dest[dp] = theByte; + dp++; + } + x += len; + } + } + return 1; +} + +ng_err_t decompressData (BYTE1 *src, BYTE4 numBytes, BYTE1 *dest, BYTE4 destSize, BYTE4 stride, BYTE4 cmp) +{ + if (cmp == 1) + { + /* BMP_RLE8_COMPRESSION */ + if (decompressRLE8Data (src, numBytes, stride, dest, destSize) <= 0) + return NgError (ERR_NG, "Error decompressRLE8Data failed"); + } else if (cmp == 2) + { + /* BMP_RLE4_COMPRESSION */ + if (decompressRLE4Data (src, numBytes, stride, dest, destSize) <= 0) + return NgError (ERR_NG, "Error decompressRLE4Data failed"); + } else + { + return NgError (ERR_NG, "Error decompressData failed - unsupported compression"); + } + return ERR_OK; +} + +void flipScanLines(BYTE1 *data, BYTE4 numBytes, int stride, int height) +{ + BYTE4 i1 = 0; + BYTE4 i2 = (height - 1) * stride; + BYTE4 i, index; + for (i = 0; i < height / 2; i++) + { + for (index = 0; index < stride; index++) + { + BYTE1 b = data[index + i1]; + data[index + i1] = data[index + i2]; + data[index + i2] = b; + } + i1 += stride; + i2 -= stride; + } +} + +/** + * BmpDecoderReadImage + * + * Decode the content of a bmp file. + * + * in : the input stream + * image : a pointer to a ng_bitmap_image_t + * + * return: ERR_OK if the image was correctly built from the input stream + * ERR_NG otherwise. + */ +ng_err_t NgBmpDecoderReadImage (ng_stream_t *in, ng_bitmap_image_t *image) +{ + BYTE4 *fileHeader = (BYTE4*) NgMalloc (5 * sizeof(BYTE4)); + BYTE1 *infoHeader, *data; + BYTE4 width, height, stride, dataSize, cmp, pos; + BYTE2 depth; + BYTE2 d0; + + NgStreamRead (in, (char *) &d0, sizeof(BYTE2)); + fileHeader[0] = (BYTE4)LittleEndianToSystemUBYTE2(d0); + NgStreamRead (in, (char *) &fileHeader[1], sizeof(BYTE4)); + fileHeader[1] = LittleEndianToSystemUBYTE4(fileHeader[1]); + NgStreamRead (in, (char *) &d0, sizeof(BYTE2)); + fileHeader[2] = (BYTE4)LittleEndianToSystemUBYTE2(d0); + NgStreamRead (in, (char *) &d0, sizeof(BYTE2)); + fileHeader[3] = (BYTE4)LittleEndianToSystemUBYTE2(d0); + NgStreamRead (in, (char *) &fileHeader[4], sizeof(BYTE4)); + fileHeader[4] = LittleEndianToSystemUBYTE4(fileHeader[4]); + + if (NgStreamEof (in)) + { + NgFree (fileHeader); + return NgError (ERR_NG, "Error invalid header file"); + } + if (fileHeader[0] != 0x4D42) + { + NgFree (fileHeader); + return NgError (ERR_NG, "Error not a BMP file"); + } + + infoHeader = (BYTE1*) NgMalloc (BMPHeaderFixedSize * sizeof (BYTE1)); + NgStreamRead (in, infoHeader, BMPHeaderFixedSize * sizeof (BYTE1)); + + if (NgStreamEof (in)) + { + NgFree (fileHeader); + NgFree (infoHeader); + return NgError (ERR_NG, "Error invalid info header"); + } + + NgMemCpy (&width, &infoHeader[4], sizeof (BYTE4)); + width = LittleEndianToSystemUBYTE4(width); + + NgMemCpy (&height, &infoHeader[8], sizeof (BYTE4)); + height = LittleEndianToSystemUBYTE4(height); + + NgMemCpy (&depth, &infoHeader[14], sizeof (BYTE2)); + depth = LittleEndianToSystemUBYTE2(depth); + + stride = (width * depth + 7) / 8; + stride = (stride + 3) / 4 * 4; /* Round up to 4 byte multiple */ + + if (depth <= 8) + { + BYTE4 i, index; + BYTE1 *colors; + BYTE4 numColors; + NgMemCpy (&numColors, &infoHeader[32], sizeof (BYTE4)); + numColors = LittleEndianToSystemUBYTE4(numColors); + if (numColors == 0) + { + BYTE2 value; + NgMemCpy (&value, &infoHeader[14], sizeof (BYTE2)); + value = LittleEndianToSystemUBYTE2(value); + numColors = 1 << value; + } else + { + if (numColors > 256) + numColors = 256; + } + colors = (BYTE1*) NgMalloc (numColors * 4); + NgStreamRead (in, colors, numColors * 4); + + if (NgStreamEof (in)) + { + NgFree (fileHeader); + NgFree (infoHeader); + NgFree (colors); + return NgError (ERR_NG, "Error invalid palette info"); + } + + index = 0; + + NgBitmapImageSetSize(image, (UBYTE4)numColors, (UBYTE4)depth, + (UBYTE4)width, (UBYTE4)height); + + for (i = 0; i < numColors; i++) + { + ng_color_map_entry_t *color_map = NgBitmapImageColorMap (image, i); + color_map->blue = colors[index++]; + color_map->green = colors[index++]; + color_map->red = colors[index++]; + index++; + } + + NgFree (colors); + } else + { + /* direct - 16 and 24 bits */ + NgBitmapImageSetSize(image, 0, (UBYTE4)depth, + (UBYTE4)width, (UBYTE4)height); + } + + pos = NgStreamGetPosition (in); + if (pos < fileHeader[4]) + { + NgStreamSkip (in, fileHeader[4] - pos); + } + + dataSize = height * stride; + + data = (BYTE1*)NgBitmapImageImageData(image); + NgMemCpy (&cmp, &infoHeader[16], sizeof (BYTE4)); + cmp = LittleEndianToSystemUBYTE4(cmp); + if (cmp == 0) + { + /* BMP_NO_COMPRESSION */ + BYTE4 cnt; + cnt = NgStreamRead (in, data, dataSize); + if (cnt != dataSize) + { + NgFree (fileHeader); + NgFree (infoHeader); + return NgError (ERR_NG, "Error failed reading uncompressed data"); + } + } else + { + BYTE4 compressedSize; + BYTE1 *compressed; + BYTE4 cnt; + ng_err_t res; + NgMemCpy (&compressedSize, &infoHeader[20], sizeof (BYTE4)); + compressedSize = LittleEndianToSystemUBYTE4(compressedSize); + compressed = (BYTE1*) NgMalloc (compressedSize * sizeof (BYTE1)); + cnt = NgStreamRead (in, compressed, compressedSize); + if (cnt != compressedSize) + { + NgFree (fileHeader); + NgFree (infoHeader); + NgFree (compressed); + return NgError (ERR_NG, "Error failed reading compressed data"); + } + res = decompressData (compressed, compressedSize, data, dataSize, stride, cmp); + if (res != ERR_OK) + { + NgFree (fileHeader); + NgFree (infoHeader); + NgFree (compressed); + return NgError (res, "Error failed data decompression"); + } + + NgFree (compressed); + } + + flipScanLines(data, dataSize, stride, height); + + NgFree (fileHeader); + NgFree (infoHeader); + return ERR_OK; +} diff --git a/features/org.eclipse.equinox.executable.feature/library/motif/NgWinBMPFileFormat.h b/features/org.eclipse.equinox.executable.feature/library/motif/NgWinBMPFileFormat.h new file mode 100644 index 000000000..8ef7dda6b --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/motif/NgWinBMPFileFormat.h @@ -0,0 +1,34 @@ +/******************************************************************************* + * Copyright (c) 2000, 2006 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ + +#ifndef __NG_WINBMPFILEFORMAT_H +#define __NG_WINBMPFILEFORMAT_H + +/** + * BMP Decoder + */ +#include "NgCommon.h" +#include "NgImageData.h" + +/** + * BmpDecoderReadImage + * + * Decode the content of a bmp file. + * + * in : the input stream + * image : a pointer to a ng_bitmap_image_t + * + * return: ERR_OK if the image was correctly built from the input stream + * ERR_NG otherwise. + */ +ng_err_t NgBmpDecoderReadImage (ng_stream_t *in, ng_bitmap_image_t *image); + +#endif /* __NG_WINBMPFILEFORMAT_H */ diff --git a/features/org.eclipse.equinox.executable.feature/library/motif/build.sh b/features/org.eclipse.equinox.executable.feature/library/motif/build.sh new file mode 100644 index 000000000..7bc48e7d6 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/motif/build.sh @@ -0,0 +1,164 @@ +#!/bin/sh +#******************************************************************************* +# Copyright (c) 2000, 2009 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +# Kevin Cornell (Rational Software Corporation) +# Sumit Sarkar (Hewlett-Packard) +# Martin Oberhuber (Wind River) - [185734] Support building with gcc and debug +#******************************************************************************* +# +# Usage: sh build.sh [] [clean] +# +# where the optional switches are: +# -output - executable filename ("eclipse") +# -os - default Eclipse "-os" value +# -arch - default Eclipse "-arch" value +# -ws - default Eclipse "-ws" value +# -java - java insgtall for jni headers +# +# All other arguments are directly passed to the "make" program. +# This script can also be invoked with the "clean" argument. +# +# Examples: +# sh build.sh clean +# sh build.sh -java /usr/j2se OPTFLAG=-g PICFLAG=-fpic + +cd `dirname $0` + +# Define default values for environment variables used in the makefiles. +programOutput="eclipse" +defaultOS="" +defaultOSArch="" +defaultWS="motif" +defaultJava=DEFAULT_JAVA_JNI +EXEC_DIR=../../../../../rt.equinox.binaries/org.eclipse.equinox.executable +makefile="" +javaHome="" +outputRoot="bin" +if [ "$OS" = "" ]; then + OS=`uname -s` +fi +if [ "$MODEL" = "" ]; then + MODEL=`uname -m` +fi + +case $OS in + "AIX") + makefile="make_aix.mak" + defaultOS="aix" + defaultOSArch="ppc" + defaultWS="motif" + MOTIF_HOME=/usr + OUTPUT_DIR="$EXEC_DIR/bin/$defaultWS/$defaultOS/$defaultOSArch" + ;; + "Linux") + makefile="make_linux.mak" + defaultOS="linux" + defaultOSArch="x86" + defaultWS="motif" + X11_HOME=/usr/X11R6 + MOTIF_HOME=~/motif21 + OUTPUT_DIR="$EXEC_DIR/bin/$defaultWS/$defaultOS/$defaultOSArch" + ;; + "SunOS") +# PATH=/usr/ccs/bin:/opt/SUNWspro/bin:$PATH + PATH=/usr/ccs/bin:/export/home/SUNWspro/bin:$PATH + [ -d /bluebird/teamswt/swt-builddir/build/JRE/SPARC/jdk1.6.0_14 ] && javaHome="/bluebird/teamswt/swt-builddir/build/JRE/SPARC/jdk1.6.0_14" + outputRoot="contributed" + export PATH + makefile="make_solaris.mak" + defaultOS="solaris" + defaultOSArch="sparc" + defaultWS="motif" + OS="Solaris" + X11_HOME=/usr/openwin + MOTIF_HOME=/usr/dt + OUTPUT_DIR="$EXEC_DIR/bin/$defaultWS/$defaultOS/$defaultOSArch" + ;; + "HP-UX") + X11_HOME=/usr + MOTIF_HOME=/usr + case $MODEL in + "ia64") + makefile="make_hpux_ia64_32.mak" + defaultOS="hpux" + defaultOSArch="ia64_32" + defaultWS="motif" + OUTPUT_DIR="$EXEC_DIR/bin/$defaultWS/$defaultOS/$defaultOSArch" + javaHome="/opt/java1.5" + defaultJava=DEFAULT_JAVA_EXEC + PATH=/opt/hp-gcc/bin:$PATH + export PATH + ;; + *) + makefile="make_hpux_PA_RISC.mak" + defaultOS="hpux" + defaultOSArch="PA_RISC" + defaultWS="motif" + OUTPUT_DIR="$EXEC_DIR/bin/$defaultWS/$defaultOS/$defaultOSArch" + ;; + esac + ;; + *) + echo "Unknown OS -- build aborted" + ;; +esac + +# Parse the command line arguments and override the default values. +extraArgs="" +while [ "$1" != "" ]; do + if [ "$1" = "-os" ] && [ "$2" != "" ]; then + defaultOS="$2" + shift + elif [ "$1" = "-arch" ] && [ "$2" != "" ]; then + defaultOSArch="$2" + shift + elif [ "$1" = "-ws" ] && [ "$2" != "" ]; then + defaultWS="$2" + shift + elif [ "$1" = "-output" ] && [ "$2" != "" ]; then + programOutput="$2" + shift + elif [ "$1" = "-java" ] && [ "$2" != "" ]; then + javaHome="$2" + shift + else + extraArgs="$extraArgs $1" + fi + shift +done + +# Set up environment variables needed by the makefiles. +PROGRAM_OUTPUT="$programOutput" +DEFAULT_OS="$defaultOS" +DEFAULT_OS_ARCH="$defaultOSArch" +DEFAULT_WS="$defaultWS" +JAVA_HOME=$javaHome +DEFAULT_JAVA=$defaultJava + +LIBRARY_DIR="$EXEC_DIR/../org.eclipse.equinox.launcher.$defaultWS.$defaultOS.$defaultOSArch" +OUTPUT_DIR="$EXEC_DIR/$outputRoot/$defaultWS/$defaultOS/$defaultOSArch" + +export OUTPUT_DIR PROGRAM_OUTPUT DEFAULT_OS DEFAULT_OS_ARCH DEFAULT_WS X11_HOME MOTIF_HOME JAVA_HOME DEFAULT_JAVA LIBRARY_DIR + +# If the OS is supported (a makefile exists) +if [ "$makefile" != "" ]; then + if [ "$extraArgs" != "" ]; then + make -f $makefile $extraArgs + else + echo "Building $OS launcher. Defaults: -os $DEFAULT_OS -arch $DEFAULT_OS_ARCH -ws $DEFAULT_WS" + make -f $makefile clean + case x$CC in + x*gcc*) make -f $makefile all PICFLAG=-fpic ;; + *) make -f $makefile all ;; + esac + fi +else + echo "Unknown OS ($OS) -- build aborted" +fi diff --git a/features/org.eclipse.equinox.executable.feature/library/motif/build.xml b/features/org.eclipse.equinox.executable.feature/library/motif/build.xml new file mode 100644 index 000000000..990298e64 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/motif/build.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/features/org.eclipse.equinox.executable.feature/library/motif/eclipseMotif.c b/features/org.eclipse.equinox.executable.feature/library/motif/eclipseMotif.c new file mode 100644 index 000000000..049cb7837 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/motif/eclipseMotif.c @@ -0,0 +1,336 @@ +/******************************************************************************* + * Copyright (c) 2000, 2010 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Kevin Cornell (Rational Software Corporation) + *******************************************************************************/ + + +/* UNIX/Motif specific logic for displaying the splash screen. */ +#include "eclipseCommon.h" +#include "eclipseMozilla.h" +#include "eclipseMotif.h" +#include "eclipseOS.h" +#include "eclipseUtil.h" +#include "NgImage.h" + +#include +#include +#include +#include +#ifdef SOLARIS +#include +#endif +#include +#include +#include +#include +#include +#include +#include + +/* Global Variables */ +char* defaultVM = "java"; +char* vmLibrary = "libjvm.so"; +char* shippedVMDir = "jre/bin/"; + +/* Define the special arguments for the various Java VMs. */ +static char* argVM_JAVA[] = { NULL }; +#if AIX +static char* argVM_JAVA_AIX131[] = { "-Xquickstart", NULL }; +#endif +static char* argVM_J9[] = { "-jit", "-mca:1024", "-mco:1024", "-mn:256", "-mo:4096", + "-moi:16384", "-mx:262144", "-ms:16", "-mr:16", NULL }; + +/* Define local variables for the main window. */ +extern XtAppContext appContext; +extern Widget topWindow; + +static pid_t jvmProcess = 0; +static int jvmExitCode; + +/* Define local variables for handling the splash window and its image. */ +static Widget shellHandle = 0; + +extern void centreShell( Widget widget, Widget expose ); + +#ifdef NETSCAPE_FIX +void fixEnvForNetscape(); +#endif /* NETSCAPE_FIX */ + +void takeDownSplashCB( Widget shell, XtPointer app_data, XtPointer widget_data ) { + shellHandle = NULL; +} + +/* Show the Splash Window + * + * Create the splash window, load the pixmap and display the splash window. + */ +int showSplash( const char* featureImage ) +{ + int x, y; + unsigned int width, height, depth, border; + ArgList args; + unsigned int nArgs; + Pixmap splashPixmap = 0; + Window root; + Display *xDisplay; + Screen* screen; + Widget scrolledHandle, drawingHandle, image; + + if (shellHandle != 0) + return 0; /* already showing splash */ + + if (initialArgv == NULL) + initialArgc = 0; + + if (initWindowSystem(&initialArgc, initialArgv, 1) != 0) { + return -1; + } + + xDisplay = motif_XtDisplay(topWindow); + screen = motif.XDefaultScreenOfDisplay( xDisplay ); + if (featureImage != NULL) + { + splashPixmap = loadBMPImage(xDisplay, screen, (char*)featureImage); + } + /* If the splash image could not be found, return an error. */ + if (splashPixmap == 0) + return ENOENT; + + motif.XGetGeometry (xDisplay, splashPixmap, &root, &x, &y, &width, &height, &border, &depth); + + /* make sure we never pass more than 20 args */ + args = malloc(10 * sizeof(Arg)); + + nArgs = 0; + /* Note that XtSetArg is a macro, and the 1st argument will be evaluated twice + * so increment nArgs on its own */ + motif_XtSetArg(args[nArgs], XmNmwmDecorations, 0); nArgs++; + motif_XtSetArg(args[nArgs], XmNtitle, getOfficialName()); nArgs++; + motif_XtSetArg(args[nArgs], XmNwidth, width); nArgs++; + motif_XtSetArg(args[nArgs], XmNheight, height); nArgs++; + shellHandle = motif.XtAppCreateShell(getOfficialName(), "", *motif.applicationShellWidgetClass, xDisplay, args, nArgs); + motif.XtAddCallback(shellHandle, XmNdestroyCallback, (XtCallbackProc) takeDownSplashCB, NULL); + + nArgs = 0; + motif_XtSetArg(args[nArgs++], XmNancestorSensitive, 1); + scrolledHandle = motif.XmCreateMainWindow(shellHandle, NULL, args, nArgs); + if(scrolledHandle == 0) + return -1; + motif.XtManageChild(scrolledHandle); + + nArgs = 0; + motif_XtSetArg(args[nArgs], XmNancestorSensitive, 1); nArgs++; + motif_XtSetArg(args[nArgs], XmNborderWidth, 0); nArgs++; + /*motif_XtSetArg(args[nArgs], XmNbackground, 0xFF00FF); nArgs++; */ + motif_XtSetArg(args[nArgs], XmNmarginWidth, 0); nArgs++; + motif_XtSetArg(args[nArgs], XmNmarginHeight, 0); nArgs++; + motif_XtSetArg(args[nArgs], XmNresizePolicy, XmRESIZE_NONE); nArgs++; + motif_XtSetArg(args[nArgs], XmNtraversalOn, 1); nArgs++; + drawingHandle = motif.XmCreateDrawingArea(scrolledHandle, NULL, args, nArgs); + if(drawingHandle == 0) + return -1; + motif.XtManageChild(drawingHandle); + + nArgs = 0; + motif_XtSetArg(args[nArgs], XmNlabelType, XmPIXMAP); nArgs++; + motif_XtSetArg(args[nArgs], XmNlabelPixmap, splashPixmap); nArgs++; + motif_XtSetArg(args[nArgs], XmNwidth, width); nArgs++; + motif_XtSetArg(args[nArgs], XmNheight, height); nArgs++; + motif_XtSetArg(args[nArgs], XmNmarginWidth, 0); nArgs++; + motif_XtSetArg(args[nArgs], XmNmarginHeight, 0); nArgs++; + image = motif.XmCreateLabelGadget ( drawingHandle, "", args, nArgs ); + motif.XtManageChild( image ); + + motif.XtRealizeWidget(shellHandle); + motif.XtSetMappedWhenManaged(shellHandle, 1); + + if(motif_XtIsTopLevelShell(shellHandle)) + motif_XtMapWidget(shellHandle); + else + motif.XtPopup(shellHandle, XtGrabNone); + + /* Centre the splash screen and display it. */ + centreShell( shellHandle, drawingHandle ); + dispatchMessages(); + + free(args); + return 0; +} + +/* Get the window system specific VM arguments */ +char** getArgVM( char* vm ) +{ + char** result; + +#ifdef AIX + char* version; +#endif + + if (isJ9VM( vm )) + return argVM_J9; + + /* Use the default arguments for a standard Java VM */ + result = argVM_JAVA; + +#ifdef AIX + /* Determine whether Java version is 1.3.1 or later */ + version = getVMVersion( vm ); + if (version != NULL) + { + if (versionCmp(version, "1.3.1") >= 0) + result = argVM_JAVA_AIX131; + free(version); + } +#endif + + return result; +} + + +jlong getSplashHandle() { + return (jlong)shellHandle; +} + +void dispatchMessages() { + XtInputMask mask; + if (appContext != NULL && motif.XtAppPending != 0) { + /* Process any outstanding messages */ + while ((mask = motif.XtAppPending(appContext)) != 0) { + motif.XtAppProcessEvent(appContext, mask); + } + } +} + +void takeDownSplash() +{ + if (shellHandle != 0) + { + motif.XtDestroyWidget( shellHandle ); + /*XFlush( XtDisplay( shellHandle ) );*/ + shellHandle = NULL; + } +} + +#ifdef NETSCAPE_FIX +extern char* findCommand( char*); +static const char* XFILESEARCHPATH = "XFILESEARCHPATH"; + +void fixEnvForNetscape() +{ + char* netscapePath = NULL; + char* netscapeResource = NULL; + char* ch; + char* envValue; + struct stat stats; + + /* If netscape appears to be installed */ + netscapePath = findCommand("netscape"); + if (netscapePath != NULL) + { + /* Look for the resource file Netscape.ad in the same directory as "netscape". */ + netscapeResource = malloc( strlen(netscapePath) + 50 ); + strcpy( netscapeResource, netscapePath ); + ch = strrchr( netscapeResource, (int) dirSeparator ); + ch =(ch == NULL ? netscapeResource : (ch+1)); + strcpy( ch, "Netscape.ad" ); + + /* If it does not exist there, try "/opt/netscape/Netscape.ad". */ + if (stat( netscapeResource, &stats ) != 0) + { + strcpy( netscapeResource, "/opt/netscape/Netscape.ad" ); + } + + /* If the resource file exists */ + if (stat( netscapeResource, &stats ) == 0 && (stats.st_mode & S_IFREG) != 0) + { + /* Either define XFILESEARCHPATH or append the Netscape resource file. */ + envValue = getenv( XFILESEARCHPATH ); + if (envValue == NULL) + { + ch = malloc( strlen(XFILESEARCHPATH) + strlen(netscapeResource) + 5 ); + sprintf( ch, "%s=%s", XFILESEARCHPATH, netscapeResource ); + } + else + { + ch = malloc( strlen(XFILESEARCHPATH) + strlen(netscapeResource) + + strlen(envValue) + 5 ); + sprintf( ch, "%s=%s:%s", XFILESEARCHPATH, envValue, netscapeResource ); + } + putenv( ch ); + free( ch ); + } + + /* Clean up. */ + free( netscapePath ); + free( netscapeResource ); + } +} +#endif /* NETSCAPE_FIX */ + +JavaResults* launchJavaVM( char* args[] ) +{ + JavaResults* jvmResults = NULL; + int exitCode; + +#ifdef NETSCAPE_FIX + fixEnvForNetscape(); +#endif /* NETSCAPE_FIX */ +#ifdef MOZILLA_FIX + fixEnvForMozilla(); +#endif /* MOZILLA_FIX */ + +#ifdef LINUX + { + /* put the root of eclipse on the LD_LIBRARY_PATH */ + char * ldPath = (char*)getenv(_T_ECLIPSE("LD_LIBRARY_PATH")); + if (ldPath == NULL) + ldPath = _T_ECLIPSE(""); + char * root = getProgramDir(); + if (root != NULL) { + char * newPath = malloc((strlen(root) + strlen(ldPath) + 2) * sizeof(char)); + sprintf(newPath, "%s%c%s", root, pathSeparator, ldPath); + setenv("LD_LIBRARY_PATH", newPath, 1); + free(newPath); + } + } +#endif + + /* Create a child process for the JVM. */ + jvmProcess = fork(); + if (jvmProcess == 0) + { + /* Child process ... start the JVM */ + execv( args[0], args ); + + /* The JVM would not start ... return error code to parent process. */ + /* TODO, how to distinguish this as a launch problem to the other process? */ + jvmExitCode = errno; + exit( jvmExitCode ); + } + + jvmResults = malloc(sizeof(JavaResults)); + memset(jvmResults, 0, sizeof(JavaResults)); + + /* If the JVM is still running, wait for it to terminate. */ + if (jvmProcess != 0) + { + waitpid(jvmProcess, &exitCode, 0); + /* TODO, this should really be a runResult if we could distinguish the launch problem above */ + jvmResults->launchResult = ((exitCode & 0x00ff) == 0 ? (exitCode >> 8) : exitCode); /* see wait(2) */ + } + + /* Return the exit code from the JVM. */ + return jvmResults; +} + +int reuseWorkbench(_TCHAR** filePath, int timeout) { + /* not yet implemented on motif */ + return -1; +} diff --git a/features/org.eclipse.equinox.executable.feature/library/motif/eclipseMotif.h b/features/org.eclipse.equinox.executable.feature/library/motif/eclipseMotif.h new file mode 100644 index 000000000..26b807b8a --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/motif/eclipseMotif.h @@ -0,0 +1,96 @@ +/******************************************************************************* + * Copyright (c) 2007, 2009 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ + +#ifndef ECLIPSE_MOTIF_H +#define ECLIPSE_MOTIF_H + +#include +#include +#include +#include +#include +#include + +#ifndef NO_XINERAMA_EXTENSIONS +#include +#endif + +struct MOTIF_PTRS { +#ifndef NO_XINERAMA_EXTENSIONS + Bool (*XineramaIsActive) (Display*); + XineramaScreenInfo* (*XineramaQueryScreens) (Display*, int*); +#endif + Widget (*XmCreateDrawingArea) (Widget, String, ArgList, Cardinal); + Widget (*XmCreateLabelGadget) (Widget, char *, Arg *, Cardinal); + Widget (*XmCreateMainWindow) (Widget, char *, ArgList, Cardinal); + Widget (*XmCreateMessageDialog)(Widget, String, ArgList, Cardinal); + Widget (*XmMessageBoxGetChild) (Widget, unsigned char); + void (*XmStringFree) (XmString); + XmString (*XmStringGenerate) (XtPointer, XmStringTag, XmTextType, XmStringTag); + + void (*XtAddCallback) (Widget, String, XtCallbackProc, XtPointer); + Widget (*XtAppCreateShell) (String, String, WidgetClass, Display*, ArgList, Cardinal); + void (*XtAppNextEvent) (XtAppContext, XEvent*); + XtInputMask (*XtAppPending) (XtAppContext); + void (*XtAppProcessEvent) (XtAppContext, XtInputMask); + void (*XtDestroyWidget) (Widget); + Boolean (*XtDispatchEvent) (XEvent*); + void (*XtGetValues) (Widget, ArgList, Cardinal); + Widget (*XtInitialize) (String, String, XrmOptionDescRec*, Cardinal, int*, char**); +#ifdef AIX + Widget (*eclipseXtInitialize) (String, String, XrmOptionDescRec*, Cardinal, int*, char**); +#endif + Boolean (*XtIsManaged) (Widget); + void (*XtManageChild) (Widget); + int (*XtMapWidget) (Widget); + void (*XtPopup) (Widget, XtGrabKind); + void (*XtRealizeWidget) (Widget); + Widget (*XtSetLanguageProc) (XtAppContext, XtLanguageProc, XtPointer); + void (*XtSetMappedWhenManaged)(Widget, Boolean); + void (*XtSetValues) (Widget, ArgList, Cardinal); + void (*XtUnmanageChild) (Widget); + XtAppContext (*XtWidgetToApplicationContext) (Widget); + Window (*XtWindowOfObject) (Widget); + + Screen * (*XDefaultScreenOfDisplay)(Display*); + int (*XFree) (void*); + int (*XFlush) (Display*); + Status (*XGetGeometry) (Display*, Drawable, Window*, int*, int*, unsigned int*, unsigned int*, unsigned int*, unsigned int*); + int (*XMapWindow) (Display*, Window); + + char * _XmStrings; + char * XtShellStrings; + char * XtStrings; + WidgetClass *applicationShellWidgetClass; +}; + +extern struct MOTIF_PTRS motif; + +#define motif_XtDisplay XtDisplay +#define motif_XtSetArg XtSetArg +#define motif_XtWindow XtWindow +#define motif_XtIsTopLevelShell XtIsTopLevelShell +#define motif_XtIsRealized(object) (motif.XtWindowOfObject(object) != None) +#define motif_XtMapWidget(widget) motif.XMapWindow(XtDisplay(widget), XtWindow(widget)) + +#define _XmStrings motif._XmStrings +#define XtShellStrings motif.XtShellStrings +#define XtStrings motif.XtStrings + +/* macro resolves to { (void**)&motif.foo, "foo" }, use it to initialize FN_TABLEs */ +#define FN_TABLE_ENTRY(fn) { (void**)&motif.fn, #fn } +typedef struct { + void ** fnPtr; + char * fnName; +} FN_TABLE; + +extern int loadMotif(); +#endif diff --git a/features/org.eclipse.equinox.executable.feature/library/motif/eclipseMotifCommon.c b/features/org.eclipse.equinox.executable.feature/library/motif/eclipseMotifCommon.c new file mode 100644 index 000000000..93f21cbd3 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/motif/eclipseMotifCommon.c @@ -0,0 +1,219 @@ +/******************************************************************************* + * Copyright (c) 2006, 2009 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Andrew Niefer + *******************************************************************************/ + +#include "eclipseCommon.h" +#include "eclipseOS.h" +#include "eclipseMotif.h" + +#include +#include +#include + +#define ECLIPSE_ICON 401 + +char dirSeparator = '/'; +char pathSeparator = ':'; + +void centreShell( Widget widget, Widget expose ); + +/* Global Variables */ +XtAppContext appContext = 0; +Widget topWindow = 0; + +/* Define local variables for the main window. */ +static int saveArgc = 0; /* arguments after they were parsed, for window system */ +static char** saveArgv = 0; + +int motifInitialized = 0; + +/* Display a Message */ +void displayMessage( char* title, char* message ) +{ + char* displayName = NULL; + Widget msgBox = NULL; + XmString msg; + Arg arg[20]; + int nArgs; + XEvent event; + + /* If there is no associated display, or we fail to initialize Xt, just print the error and return. */ + displayName = getenv("DISPLAY"); + if ( displayName == NULL || strlen(displayName) == 0 || + (topWindow == 0 && initWindowSystem( &saveArgc, saveArgv, 1 ) != 0) ) + { + printf("%s:\n%s\n", title, message); + return; + } + msg = motif.XmStringGenerate( message, NULL, XmCHARSET_TEXT, NULL ); + + /* Output a simple message box. */ + nArgs = 0; + + motif_XtSetArg( arg[ nArgs ], XmNdialogType, XmDIALOG_MESSAGE ); nArgs++; + motif_XtSetArg( arg[ nArgs ], XmNtitle, title ); nArgs++; + motif_XtSetArg( arg[ nArgs ], XmNmessageString, msg ); nArgs++; + msgBox = motif.XmCreateMessageDialog( topWindow, getOfficialName(), arg, nArgs ); + + motif.XtUnmanageChild( motif.XmMessageBoxGetChild( msgBox, XmDIALOG_CANCEL_BUTTON ) ); + motif.XtUnmanageChild( motif.XmMessageBoxGetChild( msgBox, XmDIALOG_HELP_BUTTON ) ); + motif.XtManageChild( msgBox ); + centreShell( msgBox, msgBox ); + if (msg != 0) motif.XmStringFree (msg); + + /* Wait for the OK button to be pressed. */ + while (motif_XtIsRealized( msgBox ) && motif.XtIsManaged( msgBox )) + { + motif.XtAppNextEvent( appContext, &event ); + motif.XtDispatchEvent( &event ); + } + motif.XtDestroyWidget( msgBox ); +} + +/* Initialize Window System + * + * Initialize the Xt and Xlib. + */ +int initWindowSystem( int* pArgc, char* argv[], int showSplash ) +{ + Arg arg[20]; + char * officialName; + + if(motifInitialized == 1) + return 0; + + if (loadMotif() != 0) + return -1; + + /* Save the arguments in case displayMessage() is called in the main launcher. */ + if (saveArgv == 0) + { + saveArgc = *pArgc; + saveArgv = argv; + } + + officialName = getOfficialName(); + if (officialName != NULL) + setenv("RESOURCE_NAME", getOfficialName(), 1); + + /* Create the top level shell that will not be used other than + to initialize the application. + */ +#ifdef AIX + topWindow = motif.eclipseXtInitialize(NULL, officialName, NULL, 0, pArgc, argv); +#else + topWindow = motif.XtInitialize(NULL, officialName, NULL, 0, pArgc, argv); +#endif + appContext = motif.XtWidgetToApplicationContext(topWindow); + motif.XtSetLanguageProc (appContext, NULL, NULL); + motif_XtSetArg( arg[ 0 ], XmNmappedWhenManaged, False ); + motif.XtSetValues( topWindow, arg, 1 ); + motif.XtRealizeWidget( topWindow ); + motifInitialized = 1; + return 0; +} + +/* Centre the shell on the screen. */ +void centreShell( Widget widget, Widget expose ) +{ + XtAppContext context; + XEvent event; + Arg arg[20]; + int nArgs; + Position x, y; + Dimension width, height; + Screen* screen; + int waiting; + short screenWidth, screenHeight; + +#ifndef NO_XINERAMA_EXTENSIONS + Display* display; + int monitorCount; + XineramaScreenInfo* info; +#endif + + /* Realize the shell to calculate its width/height. */ + motif.XtRealizeWidget( widget ); + + /* Get the desired dimensions of the shell. */ + nArgs = 0; + motif_XtSetArg( arg[ nArgs ], XmNwidth, &width ); nArgs++; + motif_XtSetArg( arg[ nArgs ], XmNheight, &height ); nArgs++; + motif_XtSetArg( arg[ nArgs ], XmNscreen, &screen ); nArgs++; + motif.XtGetValues( widget, arg, nArgs ); + + screenWidth = screen->width; + screenHeight = screen->height; +#ifndef NO_XINERAMA_EXTENSIONS + display = motif_XtDisplay( widget ); + if (motif.XineramaIsActive != 0 && motif.XineramaIsActive( display )) { + info = motif.XineramaQueryScreens( display, &monitorCount ); + if (info != 0) { + if (monitorCount > 1) { + screenWidth = info->width; + screenHeight = info->height; + } + motif.XFree (info); + } + } +#endif + + /* Calculate the X and Y position for the shell. */ + x = (screenWidth - width) / 2; + y = (screenHeight - height) / 2; + + /* Set the new shell position and display it. */ + nArgs = 0; + motif_XtSetArg( arg[ nArgs ], XmNx, x ); nArgs++; + motif_XtSetArg( arg[ nArgs ], XmNy, y ); nArgs++; + motif.XtSetValues( widget, arg, nArgs ); + motif_XtMapWidget( widget ); + + /* Wait for an expose event on the desired widget. This wait loop is required when + * the startVM command fails and the message box is created before the splash + * window is displayed. Without this wait, the message box sometimes appears + * under the splash window and the user cannot see it. + */ + context = motif.XtWidgetToApplicationContext( widget ); + waiting = True; + while (waiting) + { + motif.XtAppNextEvent( context, &event ); + if (event.xany.type == Expose && event.xany.window == motif_XtWindow( expose )) + { + waiting = False; + } + motif.XtDispatchEvent( &event ); + } + motif.XFlush( motif_XtDisplay( widget ) ); +} + +/* Load the specified shared library + */ +void * loadLibrary( char * library ){ + void * result= dlopen(library, RTLD_LAZY); + if(result == 0) + printf("%s\n",dlerror()); + return result; +} + +/* Unload the shared library + */ +void unloadLibrary( void * handle ){ + dlclose(handle); +} + +/* Find the given symbol in the shared library + */ +void * findSymbol( void * handle, char * symbol ){ + return dlsym(handle, symbol); +} + diff --git a/features/org.eclipse.equinox.executable.feature/library/motif/eclipseMotifInit.c b/features/org.eclipse.equinox.executable.feature/library/motif/eclipseMotifInit.c new file mode 100644 index 000000000..c9ca22e7c --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/motif/eclipseMotifInit.c @@ -0,0 +1,179 @@ +/******************************************************************************* + * Copyright (c) 2007, 2011 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ + +#include "eclipseMotif.h" +#include "eclipseCommon.h" +#include +#include + +struct MOTIF_PTRS motif; + +/* need to undef these so the FN_TABLE works ok */ +#undef _XmStrings +#undef XtShellStrings +#undef XtStrings + +/* functions from libXm */ +static FN_TABLE xmFunctions[] = { FN_TABLE_ENTRY(XmCreateDrawingArea), + FN_TABLE_ENTRY(XmCreateLabelGadget), + FN_TABLE_ENTRY(XmCreateMainWindow), + FN_TABLE_ENTRY(XmCreateMessageDialog), + FN_TABLE_ENTRY(XmMessageBoxGetChild), + FN_TABLE_ENTRY(XmStringFree), + FN_TABLE_ENTRY(XmStringGenerate), + FN_TABLE_ENTRY(_XmStrings), /* not a function */ + { NULL, NULL } + }; + +/* functions from libXt */ +static FN_TABLE xtFunctions[] = { FN_TABLE_ENTRY(XtAddCallback), + FN_TABLE_ENTRY(XtAppCreateShell), + FN_TABLE_ENTRY(XtAppNextEvent), + FN_TABLE_ENTRY(XtAppPending), + FN_TABLE_ENTRY(XtAppProcessEvent), + FN_TABLE_ENTRY(XtDestroyWidget), + FN_TABLE_ENTRY(XtDispatchEvent), + FN_TABLE_ENTRY(XtGetValues), +#ifndef AIX + FN_TABLE_ENTRY(XtInitialize), +#endif + FN_TABLE_ENTRY(XtIsManaged), + FN_TABLE_ENTRY(XtManageChild), + FN_TABLE_ENTRY(XtMapWidget), + FN_TABLE_ENTRY(XtPopup), + FN_TABLE_ENTRY(XtRealizeWidget), + FN_TABLE_ENTRY(XtSetLanguageProc), + FN_TABLE_ENTRY(XtSetMappedWhenManaged), + FN_TABLE_ENTRY(XtSetValues), + FN_TABLE_ENTRY(XtUnmanageChild), + FN_TABLE_ENTRY(XtWidgetToApplicationContext), + FN_TABLE_ENTRY(XtWindowOfObject), + FN_TABLE_ENTRY(XtShellStrings), /* not a function */ + FN_TABLE_ENTRY(XtStrings), /* not a function */ + FN_TABLE_ENTRY(applicationShellWidgetClass), /* not a function */ + { NULL, NULL } + }; + +#ifdef AIX +static FN_TABLE shimFunctions[] = { FN_TABLE_ENTRY(eclipseXtInitialize), {NULL, NULL} }; +#endif + +/* functions from libX11 */ +static FN_TABLE x11Functions[] = { FN_TABLE_ENTRY(XDefaultScreenOfDisplay), + FN_TABLE_ENTRY(XFree), + FN_TABLE_ENTRY(XFlush), + FN_TABLE_ENTRY(XGetGeometry), + FN_TABLE_ENTRY(XMapWindow), + { NULL, NULL } + }; + +#ifndef NO_XINERAMA_EXTENSIONS +static FN_TABLE xinFunctions[] = { FN_TABLE_ENTRY(XineramaIsActive), + FN_TABLE_ENTRY(XineramaQueryScreens), + { NULL, NULL } + }; +#endif + +static int loadMotifSymbols( void * library, FN_TABLE * table) { + int i = 0; + void * fn; + for (i = 0; table[i].fnName != NULL; i++) { + fn = findSymbol(library, table[i].fnName); + if (fn != 0) { + *(table[i].fnPtr) = fn; + } else { + *(table[i].fnPtr) = 0; + return -1; + } + } + return 0; +} + +#ifdef AIX +void * loadMotifShimLibrary() { + if (eclipseLibrary != NULL) { + /* library is the normal eclipse_.so, look for libeclipse-motif.so beside it */ + _TCHAR* eclipseMotifLib = _T_ECLIPSE("libeclipse-motif.so"); + _TCHAR* path = strdup(eclipseLibrary); + _TCHAR* c = strrchr(path, '/'); + if (c == NULL) { + free(path); + return NULL; + } + + *c = 0; + c = malloc((strlen(path) + 2 + strlen(eclipseMotifLib)) * sizeof(char)); + _stprintf(c, _T_ECLIPSE("%s/%s"), path, eclipseMotifLib); + free(path); + return dlopen(c, RTLD_LAZY); + } + return 0; +} +#endif + +int loadMotif() { + void * xmLib = NULL, *xtLib = NULL, *x11Lib = NULL, *xinLib = NULL; +#ifdef AIX + void * motifShim = NULL; +#endif + char * path = getProgramDir(); + int dlFlags = RTLD_LAZY; + + /* initialize ptr struct to 0's */ + memset(&motif, 0, sizeof(struct MOTIF_PTRS)); + +#ifndef AIX + if (path != NULL) { + /* look for libXm first in the root of eclipse */ + char * lib = malloc((strlen(path) + strlen(_T_ECLIPSE(XM_LIB)) + 2) * sizeof(char)); + sprintf( lib, "%s%c%s", path, dirSeparator, XM_LIB); + xmLib = dlopen(lib, dlFlags); + free(lib); + } +#else + dlFlags |= RTLD_MEMBER; + motifShim = loadMotifShimLibrary(); + if (motifShim == NULL) + return -1; +#endif + + if (xmLib == NULL) { + xmLib = dlopen(XM_LIB, dlFlags); + } + + if (xmLib == NULL) { + /* bail now, don't load the others, libXm must be loaded first, so leave things for + * swt to do later */ + return -1; + } + + xtLib = dlopen(XT_LIB, dlFlags); + x11Lib = dlopen(X11_LIB, dlFlags); + + /* printf("XmLib: %s: %x\nXtLib: %s: %x\nX11Lib:%s, %x\n", XM_LIB, xmLib, XT_LIB, xtLib, X11_LIB, x11Lib);*/ +#ifndef NO_XINERAMA_EXTENSIONS + /* don't fail without Xinerama */ + xinLib = dlopen(XIN_LIB, dlFlags); + if (xinLib != NULL) + loadMotifSymbols(xinLib, xinFunctions); +#endif + if( xtLib == NULL || x11Lib == NULL) + return -1; + + if (loadMotifSymbols(xmLib, xmFunctions) != 0) return -1; + if (loadMotifSymbols(xtLib, xtFunctions) != 0) return -1; + if (loadMotifSymbols(x11Lib, x11Functions) != 0) return -1; +#ifdef AIX + if (loadMotifSymbols(motifShim, shimFunctions) !=0) return -1; +#endif + + return 0; +} diff --git a/features/org.eclipse.equinox.executable.feature/library/motif/eclipseMotifShim.c b/features/org.eclipse.equinox.executable.feature/library/motif/eclipseMotifShim.c new file mode 100644 index 000000000..2648ec65e --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/motif/eclipseMotifShim.c @@ -0,0 +1,17 @@ +/******************************************************************************* + * Copyright (c) 2009 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +#include +#include +#include + +Widget eclipseXtInitialize(String shellName, String appClass, XrmOptionDescRec* options, Cardinal numOptions, int* argc, char** argv) { + return XtInitialize(shellName, appClass, options, numOptions, argc, argv); +} diff --git a/features/org.eclipse.equinox.executable.feature/library/motif/make_aix.mak b/features/org.eclipse.equinox.executable.feature/library/motif/make_aix.mak new file mode 100644 index 000000000..1d4689e1c --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/motif/make_aix.mak @@ -0,0 +1,104 @@ +#******************************************************************************* +# Copyright (c) 2000, 2009 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +# Kevin Cornell (Rational Software Corporation) +#******************************************************************************* +include ../make_version.mak +# Makefile for creating the AIX/Motif eclipse launcher program. + +# This makefile expects the following environment variables set: +# +# PROGRAM_OUTPUT - the filename of the output executable +# PROGRAM_LIBRARY - the filename of the output library +# DEFAULT_OS - the default value of the "-os" switch +# DEFAULT_OS_ARCH - the default value of the "-arch" switch +# DEFAULT_WS - the default value of the "-ws" switch +# X11_HOME - the full path to X11 header files +# MOTIF_HOME - the full path to Motif header files +# JAVA_JNI - the full path to the java jni header files + +PROGRAM_OUTPUT=eclipse +PROGRAM_LIBRARY=eclipse_$(LIB_VERSION).so +SHIM=libeclipse-motif.so + +CC = gcc +# Define the object modules to be compiled and flags. +MAIN_OBJS = eclipseMain.o +SHIM_OBJS = eclipseMotifShim.o +COMMON_OBJS = eclipseConfig.o eclipseCommon.o eclipseMotifCommon.o eclipseMotifInit.o +DLL_OBJS = eclipse.o eclipseMotif.o eclipseUtil.o eclipseJNI.o eclipseShm.o eclipseNix.o\ + NgCommon.o NgImage.o NgImageData.o NgWinBMPFileFormat.o + +EXEC = $(PROGRAM_OUTPUT) +DLL = $(PROGRAM_LIBRARY) +LIBS = -L$(MOTIF_HOME)/lib -ldl +SHIM_LIBS = -L$(MOTIF_HOME)/lib -lXm -lXt -lX11 +MOTIF_LIBS = -DXM_LIB="\"libXm.a(shr_32.o)\"" -DXT_LIB="\"libXt.a(shr4.o)\"" -DX11_LIB="\"libX11.a(shr4.o)\"" +LFLAGS = -G -bnoentry -bexpall -lm -lc_r -lC_r +CFLAGS = -O -s \ + -DMOTIF \ + -DNO_XINERAMA_EXTENSIONS \ + -DDEFAULT_OS="\"$(DEFAULT_OS)\"" \ + -DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \ + -DDEFAULT_WS="\"$(DEFAULT_WS)\"" \ + $(MOTIF_LIBS) \ + -DAIX \ + -I./ \ + -I../ \ + -I$(MOTIF_HOME)/include \ + -I/usr/java5/include + +all: $(EXEC) $(DLL) $(SHIM) + +.c.o: + $(CC) $(CFLAGS) -c $< -o $@ + +eclipseMain.o: ../eclipseMain.c ../eclipseUnicode.h ../eclipseCommon.h + $(CC) $(CFLAGS) -c $< -o $@ + +eclipse.o: ../eclipse.c ../eclipseOS.h ../eclipseCommon.h ../eclipseJNI.h + $(CC) $(CFLAGS) -c $< -o $@ + +eclipseCommon.o: ../eclipseCommon.c ../eclipseCommon.h ../eclipseUnicode.h + $(CC) $(CFLAGS) -c $< -o $@ + +eclipseUtil.o: ../eclipseUtil.c ../eclipseUtil.h ../eclipseOS.h + $(CC) $(CFLAGS) -c $< -o $@ + +eclipseJNI.o: ../eclipseJNI.c ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.h + $(CC) $(CFLAGS) -c $< -o $@ + +eclipseConfig.o: ../eclipseConfig.c ../eclipseConfig.h ../eclipseOS.h + $(CC) $(CFLAGS) -c $< -o $@ + +eclipseShm.o: ../eclipseShm.c ../eclipseShm.h ../eclipseUnicode.h + $(CC) $(CFLAGS) -c $< -o $@ + +eclipseNix.o: ../eclipseNix.c + $(CC) $(CFLAGS) -c $< -o $@ + +$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS) + $(CC) -Wl,-bM:UR -o $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS) + sedmgr -c exempt $(EXEC) + +$(DLL): $(DLL_OBJS) $(COMMON_OBJS) + ld $(LFLAGS) -o $(DLL) $(DLL_OBJS) $(COMMON_OBJS) $(LIBS) + +$(SHIM): $(SHIM_OBJS) + ld $(LFLAGS) -o $(SHIM) $(SHIM_OBJS) $(SHIM_LIBS) + +install: all + cp $(EXEC) $(OUTPUT_DIR) + cp $(SHIM) $(OUTPUT_DIR) + cp $(DLL) $(LIBRARY_DIR) + rm -f $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS) + +clean: + rm -f $(EXEC) $(DLL) $(SHIM) $(SHIM_OBJS) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS) + diff --git a/features/org.eclipse.equinox.executable.feature/library/motif/make_hpux_PA_RISC.mak b/features/org.eclipse.equinox.executable.feature/library/motif/make_hpux_PA_RISC.mak new file mode 100644 index 000000000..2552b56fc --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/motif/make_hpux_PA_RISC.mak @@ -0,0 +1,94 @@ +#******************************************************************************* +# Copyright (c) 2000, 2007 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +# Kevin Cornell (Rational Software Corporation) +#******************************************************************************* +include ../make_version.mak +# Makefile for creating the HPUX/Motif eclipse launcher program. + +# This makefile expects the following environment variables set: +# +# PROGRAM_OUTPUT - the filename of the output executable +# DEFAULT_OS - the default value of the "-os" switch +# DEFAULT_OS_ARCH - the default value of the "-arch" switch +# DEFAULT_WS - the default value of the "-ws" switch +# X11_HOME - the full path to X11 header files +# MOTIF_HOME - the full path to Motif header files + +ifeq ($(PROGRAM_OUTPUT),) + PROGRAM_OUTPUT=eclipse +endif + +PROGRAM_LIBRARY=eclipse_$(LIB_VERSION).so + +# Define the object modules to be compiled and flags. +MAIN_OBJS = eclipseMain.o +COMMON_OBJS = eclipseConfig.o eclipseCommon.o eclipseMotifCommon.o +DLL_OBJS = eclipse.o eclipseMotif.o eclipseUtil.o eclipseJNI.o eclipseNix.o eclipseShm.o\ + NgCommon.o NgImage.o NgImageData.o NgWinBMPFileFormat.o + +EXEC = $(PROGRAM_OUTPUT) +DLL = $(PROGRAM_LIBRARY) +LIBS = -L$(MOTIF_HOME)/lib -L$(X11_HOME)/lib -lXm -lXt -lX11 -lpthread +LFLAGS = -shared -Wl,--export-dynamic +CFLAGS = -O -s \ + -DNO_XINERAMA_EXTENSIONS \ + -DNETSCAPE_FIX \ + -DDEFAULT_OS="\"$(DEFAULT_OS)\"" \ + -DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \ + -DDEFAULT_WS="\"$(DEFAULT_WS)\"" \ + +Z \ + -I./ \ + -I../ \ + -I$(MOTIF_HOME)/include \ + -I$(X11_HOME)/include \ + -I$(JAVA_JNI) \ + +DAportable + +all: $(EXEC) + +.c.o: + $(CC) $(CFLAGS) -c $< -o $@ + +eclipseMain.o: ../eclipseMain.c ../eclipseUnicode.h ../eclipseCommon.h + $(CC) $(CFLAGS) -c ../eclipseMain.c -o $@ + +eclipse.o: ../eclipse.c ../eclipseOS.h ../eclipseCommon.h ../eclipseJNI.h + $(CC) $(CFLAGS) -c ../eclipse.c -o $@ + +eclipseCommon.o: ../eclipseCommon.c ../eclipseCommon.h ../eclipseUnicode.h + $(CC) $(CFLAGS) -c ../eclipseCommon.c -o $@ + +eclipseUtil.o: ../eclipseUtil.c ../eclipseUtil.h ../eclipseOS.h + $(CC) $(CFLAGS) -c ../eclipseUtil.c -o $@ + +eclipseJNI.o: ../eclipseJNI.c ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.h + $(CC) $(CFLAGS) -c ../eclipseJNI.c -o $@ + +eclipseConfig.o: ../eclipseConfig.c ../eclipseConfig.h ../eclipseOS.h + $(CC) $(CFLAGS) -c ../eclipseConfig.c -o $@ + +eclipseShm.o: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c + $(CC) $(CFLAGS) -c ../eclipseShm.c -o $@ + +eclipseNix.o: ../eclipseNix.c + $(CC) $(CFLAGS) -c ../eclipseNix.c -o $@ + +$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS) + $(CC) -o $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS) + +$(DLL): $(DLL_OBJS) $(COMMON_OBJS) + $(CC) $(LFLAGS) -o $(DLL) $(DLL_OBJS) $(COMMON_OBJS) $(LIBS) + +install: all + cp $(EXEC) $(DLL) $(OUTPUT_DIR) + rm -f $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS) + +clean: + rm -f $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS) diff --git a/features/org.eclipse.equinox.executable.feature/library/motif/make_hpux_ia64_32.mak b/features/org.eclipse.equinox.executable.feature/library/motif/make_hpux_ia64_32.mak new file mode 100644 index 000000000..92667dac0 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/motif/make_hpux_ia64_32.mak @@ -0,0 +1,101 @@ +#******************************************************************************* +# Copyright (c) 2000, 2008 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +# Kevin Cornell (Rational Software Corporation) +# Sumit Sarkar (Hewlett-Packard) +#******************************************************************************* +include ../make_version.mak +# Makefile for creating the HPUX/Motif eclipse launcher program. + +# This makefile expects the following environment variables set: +# +# PROGRAM_OUTPUT - the filename of the output executable +# DEFAULT_OS - the default value of the "-os" switch +# DEFAULT_OS_ARCH - the default value of the "-arch" switch +# DEFAULT_WS - the default value of the "-ws" switch +# X11_HOME - the full path to X11 header files +# MOTIF_HOME - the full path to Motif header files + +#ifeq ($(PROGRAM_OUTPUT),) +# PROGRAM_OUTPUT=eclipse +#endif + +DEFAULT_JAVA=DEFAULT_JAVA_EXEC +PROGRAM_LIBRARY=eclipse_$(LIB_VERSION).so + +# Define the object modules to be compiled and flags. +CC=gcc +MAIN_OBJS = eclipseMain.o +COMMON_OBJS = eclipseConfig.o eclipseCommon.o eclipseMotifCommon.o eclipseMotifInit.o +DLL_OBJS = eclipse.o eclipseMotif.o eclipseUtil.o eclipseJNI.o eclipseNix.o eclipseShm.o \ + NgCommon.o NgImage.o NgImageData.o NgWinBMPFileFormat.o + +EXEC = $(PROGRAM_OUTPUT) +DLL = $(PROGRAM_LIBRARY) +LIBS = -L$(MOTIF_HOME)/lib -L$(X11_HOME)/lib -lpthread +MOTIF_LIBS = -DXM_LIB="\"libXm.so.1\"" -DXT_LIB="\"libXt.so.1\"" -DX11_LIB="\"libX11.so.1\"" +LFLAGS = -shared -static-libgcc +# -Wl,--export-dynamic +CFLAGS = -O -s \ + -DNO_XINERAMA_EXTENSIONS \ + -DNETSCAPE_FIX \ + -DDEFAULT_OS="\"$(DEFAULT_OS)\"" \ + -DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \ + -DDEFAULT_WS="\"$(DEFAULT_WS)\"" \ + -D$(DEFAULT_JAVA) \ + -DHPUX \ + $(MOTIF_LIBS) \ + -I./ \ + -I../ \ + -I$(MOTIF_HOME)/include \ + -I$(X11_HOME)/include \ + -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/hp-ux + +all: $(EXEC) $(DLL) + +.c.o: + $(CC) $(CFLAGS) -c $< -o $@ + +eclipse.o: ../eclipse.c ../eclipseOS.h ../eclipseCommon.h ../eclipseJNI.h + $(CC) $(CFLAGS) -c ../eclipse.c -o $@ + +eclipseMain.o: ../eclipseMain.c ../eclipseUnicode.h ../eclipseCommon.h + $(CC) $(CFLAGS) -c ../eclipseMain.c -o $@ + +eclipseCommon.o: ../eclipseCommon.c ../eclipseCommon.h ../eclipseUnicode.h + $(CC) $(CFLAGS) -c ../eclipseCommon.c -o $@ + +eclipseUtil.o: ../eclipseUtil.c ../eclipseUtil.h ../eclipseOS.h + $(CC) $(CFLAGS) -c ../eclipseUtil.c -o $@ + +eclipseJNI.o: ../eclipseJNI.c ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.h + $(CC) $(CFLAGS) -c ../eclipseJNI.c -o $@ + +eclipseConfig.o: ../eclipseConfig.c ../eclipseConfig.h ../eclipseOS.h + $(CC) $(CFLAGS) -c ../eclipseConfig.c -o $@ + +eclipseShm.o: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c + $(CC) $(CFLAGS) -c ../eclipseShm.c -o $@ + +eclipseNix.o: ../eclipseNix.c + $(CC) $(CFLAGS) -c ../eclipseNix.c -o $@ + +$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS) + $(CC) -o $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS) + +$(DLL): $(DLL_OBJS) $(COMMON_OBJS) + $(CC) $(LFLAGS) -o $(DLL) $(DLL_OBJS) $(COMMON_OBJS) $(LIBS) + +install: all + cp $(EXEC) $(OUTPUT_DIR) + cp $(DLL) $(LIBRARY_DIR) + rm -f $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS) + +clean: + rm -f $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS) diff --git a/features/org.eclipse.equinox.executable.feature/library/motif/make_linux.mak b/features/org.eclipse.equinox.executable.feature/library/motif/make_linux.mak new file mode 100644 index 000000000..a29d1b9b6 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/motif/make_linux.mak @@ -0,0 +1,108 @@ +#******************************************************************************* +# Copyright (c) 2000, 2010 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +# Kevin Cornell (Rational Software Corporation) +#******************************************************************************* +include ../make_version.mak +# Makefile for creating the Linux/Motif eclipse launcher program. + +# This makefile expects the following environment variables set: +# +# PROGRAM_OUTPUT - the filename of the output executable +# PROGRAM_LIBRARY - the filename of the output library +# DEFAULT_OS - the default value of the "-os" switch +# DEFAULT_OS_ARCH - the default value of the "-arch" switch +# DEFAULT_WS - the default value of the "-ws" switch +# X11_HOME - the full path to X11 header files +# MOTIF_HOME - the full path to Motif header files +# JAVA_HOME - JAVA_HOME for the java jni header files + +ifeq ($(PROGRAM_OUTPUT),) + PROGRAM_OUTPUT=eclipse +endif + +PROGRAM_LIBRARY=eclipse_$(LIB_VERSION).so + +ifeq ($(DEFAULT_JAVA),) + DEFAULT_JAVA=DEFAULT_JAVA_JNI +endif + +# Define the object modules to be compiled and flags. +CC?=gcc +MAIN_OBJS = eclipseMain.o +COMMON_OBJS = eclipseConfig.o eclipseCommon.o eclipseMotifCommon.o eclipseMotifInit.o +DLL_OBJS = eclipse.o eclipseMotif.o eclipseUtil.o eclipseJNI.o eclipseMozilla.o eclipseShm.o eclipseNix.o \ + NgCommon.o NgImage.o NgImageData.o NgWinBMPFileFormat.o + +EXEC = $(PROGRAM_OUTPUT) +DLL = $(PROGRAM_LIBRARY) +LIBS = -Xlinker -rpath -Xlinker . -L$(MOTIF_HOME)/lib -L$(X11_HOME)/lib -lpthread -ldl +MOTIF_LIBS = -DXM_LIB="\"libXm.so.2\"" -DXT_LIB="\"libXt.so.6\"" -DX11_LIB="\"libX11.so.6\"" -DXIN_LIB="\"libXinerama.so.1\"" +LFLAGS = -shared -fpic -Wl,--export-dynamic +CFLAGS = -g -s -Wall \ + -DLINUX \ + -DMOTIF \ + -DMOZILLA_FIX \ + -DDEFAULT_OS="\"$(DEFAULT_OS)\"" \ + -DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \ + -DDEFAULT_WS="\"$(DEFAULT_WS)\"" \ + $(MOTIF_LIBS) \ + -D$(DEFAULT_JAVA)\ + -fPIC \ + -I./ \ + -I../ \ + -I$(MOTIF_HOME)/include \ + -I$(X11_HOME)/include \ + -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux + +all: $(EXEC) $(DLL) + +.c.o: + $(CC) $(CFLAGS) -c $< -o $@ + +eclipseMain.o: ../eclipseMain.c ../eclipseUnicode.h ../eclipseCommon.h + $(CC) $(CFLAGS) -c $< -o $@ + +eclipse.o: ../eclipse.c ../eclipseOS.h ../eclipseCommon.h ../eclipseJNI.h + $(CC) $(CFLAGS) -c $< -o $@ + +eclipseCommon.o: ../eclipseCommon.c ../eclipseCommon.h ../eclipseUnicode.h + $(CC) $(CFLAGS) -c $< -o $@ + +eclipseUtil.o: ../eclipseUtil.c ../eclipseUtil.h ../eclipseOS.h + $(CC) $(CFLAGS) -c $< -o $@ + +eclipseJNI.o: ../eclipseJNI.c ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.h + $(CC) $(CFLAGS) -c $< -o $@ + +eclipseConfig.o: ../eclipseConfig.c ../eclipseConfig.h ../eclipseOS.h + $(CC) $(CFLAGS) -c $< -o $@ + +eclipseMozilla.o: ../eclipseMozilla.c ../eclipseMozilla.h ../eclipseOS.h + $(CC) $(CFLAGS) -c $< -o $@ + +eclipseShm.o: ../eclipseShm.c ../eclipseShm.h ../eclipseUnicode.h + $(CC) $(CFLAGS) -c $< -o $@ + +eclipseNix.o: ../eclipseNix.c + $(CC) $(CFLAGS) -c $< -o $@ + +$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS) + $(CC) -o $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS) + +$(DLL): $(DLL_OBJS) $(COMMON_OBJS) + $(CC) $(LFLAGS) -o $(DLL) $(DLL_OBJS) $(COMMON_OBJS) $(LIBS) + +install: all + cp $(EXEC) $(OUTPUT_DIR) + cp $(DLL) $(LIBRARY_DIR) + rm -f $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS) + +clean: + rm -f $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS) diff --git a/features/org.eclipse.equinox.executable.feature/library/motif/make_solaris.mak b/features/org.eclipse.equinox.executable.feature/library/motif/make_solaris.mak new file mode 100644 index 000000000..3438ce369 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/motif/make_solaris.mak @@ -0,0 +1,104 @@ +#******************************************************************************* +# Copyright (c) 2000, 2008 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +# Kevin Cornell (Rational Software Corporation) +# Martin Oberhuber (Wind River) - [185734] Support building with gcc and debug +#******************************************************************************* +include ../make_version.mak +# Makefile for creating the Solaris/Motif eclipse launcher program. + +# This makefile expects the following environment variables set: +# +# PROGRAM_OUTPUT - the filename of the output executable +# DEFAULT_OS - the default value of the "-os" switch +# DEFAULT_OS_ARCH - the default value of the "-arch" switch +# DEFAULT_WS - the default value of the "-ws" switch +# X11_HOME - the full path to X11 header files +# MOTIF_HOME - the full path to Motif header files +# JAVA_HOME - path to java for JNI headers + +#ifeq ($(PROGRAM_OUTPUT),) + PROGRAM_OUTPUT=eclipse +#endif + +PROGRAM_LIBRARY=eclipse_$(LIB_VERSION).so + +# Define the object modules to be compiled and flags. +MAIN_OBJS = eclipseMain.o +COMMON_OBJS = eclipseConfig.o eclipseCommon.o eclipseMotifCommon.o eclipseMotifInit.o +DLL_OBJS = eclipse.o eclipseMotif.o eclipseUtil.o eclipseJNI.o eclipseShm.o eclipseNix.o\ + NgCommon.o NgImage.o NgImageData.o NgWinBMPFileFormat.o +PICFLAG = -K PIC +# Optimize and remove all debugging information by default +OPTFLAG = -O -s +# OPTFLAG = -g + +EXEC = $(PROGRAM_OUTPUT) +DLL = $(PROGRAM_LIBRARY) +LIBS = -L$(MOTIF_HOME)/lib -L$(X11_HOME)/lib -lintl -lthread -ldl -lc +MOTIF_LIBS = -DXM_LIB="\"libXm.so.4\"" -DXT_LIB="\"libXt.so.4\"" -DX11_LIB="\"libX11.so.4\"" -DXIN_LIB="\"libXinerama.so.1\"" +#LFLAGS = -shared -Wl,--export-dynamic +LFLAGS = -G +CFLAGS =$(OPTFLAG) \ + -DSOLARIS \ + $(PICFLAG) \ + -DNO_XINERAMA_EXTENSIONS \ + -DNETSCAPE_FIX \ + -DDEFAULT_OS="\"$(DEFAULT_OS)\"" \ + -DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \ + -DDEFAULT_WS="\"$(DEFAULT_WS)\"" \ + $(MOTIF_LIBS) \ + -I./ \ + -I../ \ + -I$(MOTIF_HOME)/include \ + -I$(X11_HOME)/include \ + -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/solaris + +all: $(EXEC) $(DLL) + +.c.o: + $(CC) $(CFLAGS) -c $< -o $@ + +eclipseMain.o: ../eclipseMain.c ../eclipseUnicode.h ../eclipseCommon.h + $(CC) $(CFLAGS) -c ../eclipseMain.c -o $@ + +eclipse.o: ../eclipse.c ../eclipseOS.h ../eclipseCommon.h ../eclipseJNI.h + $(CC) $(CFLAGS) -c ../eclipse.c -o $@ + +eclipseCommon.o: ../eclipseCommon.c ../eclipseCommon.h ../eclipseUnicode.h + $(CC) $(CFLAGS) -c ../eclipseCommon.c -o $@ + +eclipseUtil.o: ../eclipseUtil.c ../eclipseUtil.h ../eclipseOS.h + $(CC) $(CFLAGS) -c ../eclipseUtil.c -o $@ + +eclipseJNI.o: ../eclipseJNI.c ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.h + $(CC) $(CFLAGS) -c ../eclipseJNI.c -o $@ + +eclipseConfig.o: ../eclipseConfig.c ../eclipseConfig.h ../eclipseOS.h + $(CC) $(CFLAGS) -c ../eclipseConfig.c -o $@ + +eclipseShm.o: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c + $(CC) $(CFLAGS) -c ../eclipseShm.c -o $@ + +eclipseNix.o: ../eclipseNix.c + $(CC) $(CFLAGS) -c ../eclipseNix.c -o $@ + +$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS) + $(CC) -o $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS) + +$(DLL): $(DLL_OBJS) $(COMMON_OBJS) + $(CC) $(LFLAGS) -o $(DLL) $(DLL_OBJS) $(COMMON_OBJS) $(LIBS) + +install: all + cp $(EXEC) $(OUTPUT_DIR) + cp $(DLL) $(LIBRARY_DIR) + rm -f $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS) + +clean: + rm -f $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS) diff --git a/features/org.eclipse.equinox.executable.feature/library/photon/.cvsignore b/features/org.eclipse.equinox.executable.feature/library/photon/.cvsignore new file mode 100644 index 000000000..5535df034 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/photon/.cvsignore @@ -0,0 +1,2 @@ +*.o +eclipse diff --git a/features/org.eclipse.equinox.executable.feature/library/photon/build.sh b/features/org.eclipse.equinox.executable.feature/library/photon/build.sh new file mode 100644 index 000000000..43ef9b167 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/photon/build.sh @@ -0,0 +1,79 @@ +#!/bin/sh +#******************************************************************************* +# Copyright (c) 2000, 2006 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +# Kevin Cornell (Rational Software Corporation) +#******************************************************************************* +# +# Usage: sh build.sh [] [clean] +# +# where the optional switches are: +# -output - executable filename ("eclipse") +# -os - default Eclipse "-os" value +# -arch - default Eclipse "-arch" value +# -ws - default Eclipse "-ws" value +# +# +# This script can also be invoked with the "clean" argument. + +cd `dirname $0` + +# Define default values for environment variables used in the makefiles. +programOutput="eclipse" +defaultOS="qnx" +defaultOSArch="x86" +defaultWS="photon" +makefile="make_qnx.mak" +if [ "$OS" = "" ]; then + OS=`uname -s` +fi + +# Parse the command line arguments and override the default values. +extraArgs="" +while [ "$1" != "" ]; do + if [ "$1" = "-os" ] && [ "$2" != "" ]; then + defaultOS="$2" + shift + elif [ "$1" = "-arch" ] && [ "$2" != "" ]; then + defaultOSArch="$2" + shift + elif [ "$1" = "-ws" ] && [ "$2" != "" ]; then + defaultWS="$2" + shift + elif [ "$1" = "-output" ] && [ "$2" != "" ]; then + programOutput="$2" + shift + else + extraArgs="$extraArgs $1" + fi + shift +done + +# Set up environment variables needed by the makefiles. +PROGRAM_OUTPUT="$programOutput" +DEFAULT_OS="$defaultOS" +DEFAULT_OS_ARCH="$defaultOSArch" +DEFAULT_WS="$defaultWS" +EXEC_DIR=../../../../../rt.equinox.binaries/org.eclipse.equinox.executable +OUTPUT_DIR="$EXEC_DIR/bin/$defaultWS/$defaultOS/$defaultOSArch" + +export OUTPUT_DIR PROGRAM_OUTPUT DEFAULT_OS DEFAULT_OS_ARCH DEFAULT_WS + +# If the OS is supported (a makefile exists) +if [ "$makefile" != "" ]; then + if [ "$extraArgs" != "" ]; then + make -f $makefile $extraArgs + else + echo "Building $OS launcher. Defaults: -os $DEFAULT_OS -arch $DEFAULT_OS_ARCH -ws $DEFAULT_WS" + make -f $makefile clean + make -f $makefile all + fi +else + echo "Unknown OS ($OS) -- build aborted" +fi diff --git a/features/org.eclipse.equinox.executable.feature/library/photon/build.xml b/features/org.eclipse.equinox.executable.feature/library/photon/build.xml new file mode 100644 index 000000000..990298e64 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/photon/build.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/features/org.eclipse.equinox.executable.feature/library/photon/eclipsePhoton.c b/features/org.eclipse.equinox.executable.feature/library/photon/eclipsePhoton.c new file mode 100644 index 000000000..e5dfbd2a1 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/photon/eclipsePhoton.c @@ -0,0 +1,288 @@ +/******************************************************************************* + * Copyright (c) 2000, 2007 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Kevin Cornell (Rational Software Corporation) + *******************************************************************************/ + +/* Photon specific logic for displaying the splash screen. */ + +#include "eclipseOS.h" +#include "eclipseUtil.h" +#include + +#define PX_IMAGE_MODULES +#define PX_BMP_SUPPORT + +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +/* Global Variables */ +char dirSeparator = '/'; +char pathSeparator = ':'; +#ifndef J9VM +char* defaultVM = "java"; +char* shippedVMDir = "jre/bin/"; +#else +char* defaultVM = "j9"; +char* shippedVMDir = "ive/bin/"; +#endif + +/* Define the window system arguments for the various Java VMs. */ +static char* argVM_JAVA[] = { NULL }; +static char* argVM_J9[] = { "-jit", "-ms:32", "-mso:256", NULL }; + + +/* Define local variables for the main window. */ +static PtWidget_t* topWindow = NULL; + +/* Define local variables for running the JVM and detecting its exit. */ +static pid_t jvmProcess = 0; +static int jvmExitCode; + +/* Local functions */ +static void bringDownSplashWindow( int ); +static void centreWindow( PtWidget_t *widget, PtWidget_t *label); +static int splashTimeout( PtWidget_t* widget, void* data, PtCallbackInfo_t* id ); + +/* Display a Message */ +void displayMessage( char* title, char* message ) +{ + if (topWindow == 0) + { + initWindowSystem( NULL, NULL, 0 ); + } + + PtNotice( NULL,NULL, title, NULL, message, NULL, NULL, NULL, Pt_CENTER | Pt_MODAL ); +} + + +/* Initialize Window System + * + * Initialize Photon. + */ +void initWindowSystem( int* pArgc, char* argv[], int showSplash ) +{ + PtArg_t arg[5]; + int nArgs; + + /* Create a top level window with no decorations. */ + setlocale(LC_ALL, ""); + PtInit( NULL ); + nArgs = 0; + PtSetArg( &arg[ nArgs++ ], Pt_ARG_WINDOW_RENDER_FLAGS, 0, ~0 ); + PtSetArg( &arg[ nArgs++ ], Pt_ARG_WINDOW_MANAGED_FLAGS, Ph_WM_TASKBAR | Ph_WM_CLOSE, ~0 ); + PtSetArg( &arg[ nArgs++ ], Pt_ARG_WINDOW_STATE, Ph_WM_STATE_ISFRONT, ~0 ); + PtSetArg( &arg[ nArgs++ ], Pt_ARG_WINDOW_TITLE, getOfficialName(), ~0 ); + topWindow = PtCreateWidget( PtWindow, Pt_NO_PARENT, nArgs, arg ); +} + + +/* Show the Splash Window + * + * Create the splash window, load the bitmap and display the splash window. + * + */ +int showSplash( char* timeoutString, char* featureImage ) +{ + int timeout = 0; + PtWidget_t* label; + PtArg_t arg[10]; + PhImage_t* image = NULL; + int nArgs; + int depth; + PgDisplaySettings_t settings; + PgVideoModeInfo_t mode_info; + + /* Determine the splash timeout value (in seconds). */ + if (timeoutString != NULL && strlen( timeoutString ) > 0) + { + sscanf( timeoutString, "%d", &timeout ); + } + + /* Install a signal handler to catch SIGUSR2 (which will shut down the window). */ + signal( SIGUSR2, bringDownSplashWindow ); + + /* Load the splash image from the feature directory. */ + PgGetVideoMode( &settings ); + PgGetVideoModeInfo( settings.mode, &mode_info ); + depth = mode_info.bits_per_pixel; + if (featureImage != NULL) + image = PxLoadImage( featureImage, NULL ); + + /* If the splash image could not be found, return an error. */ + if (image == NULL) + return ENOENT; + + /* Create a label widget (only child of top window) with the image. */ + nArgs = 0; + image->flags |= Ph_RELEASE_IMAGE_ALL; + PtSetArg( &arg[ nArgs++ ], Pt_ARG_LABEL_TYPE, Pt_IMAGE, 0 ); + PtSetArg( &arg[ nArgs++ ], Pt_ARG_LABEL_IMAGE, image, 0 ); + PtSetArg( &arg[ nArgs++ ], Pt_ARG_TEXT_STRING, officialName, 0 ); + PtSetArg( &arg[ nArgs++ ], Pt_ARG_MARGIN_WIDTH, 0, 0 ); + PtSetArg( &arg[ nArgs++ ], Pt_ARG_MARGIN_HEIGHT, 0, 0 ); + label = PtCreateWidget( PtLabel, topWindow, nArgs, arg ); + + /* Free the image */ + free( image ); + + /* Centre the splash window and display it. */ + centreWindow( topWindow, label ); + + /* If a timeout for the splash window was given */ + if (timeout != 0) + { + PtAddEventHandler( topWindow, Ph_EV_TIMER, splashTimeout, NULL ); + PtTimerArm( topWindow, (timeout * 1000) ); + } + + /* Process messages until the splash window is closed or process is terminated. */ + while (PtWidgetIsRealized( topWindow )) + { + PtProcessEvent(); + } + + /* Destroy the splash window. */ + PtDestroyWidget( topWindow ); + topWindow = 0; + + return 0; +} + + +/* Get the window system specific VM arguments */ +char** getArgVM( char* vm ) +{ + return (isJ9VM( vm ) ? argVM_J9 : argVM_JAVA); +} + +void fixEnvForJ9( char* vm ) { + if (isJ9VM( vm )) { + char *ldpath; + char newpath[PATH_MAX+1]; + + ldpath = getenv( "LD_LIBRARY_PATH" ); + + /* Always dup the string so we can free later */ + if( ldpath != NULL ) + ldpath = strdup( ldpath ); + else + ldpath = strdup( "" ); + + /* Get the j9 binary location */ + strncpy( newpath, vm, PATH_MAX ); + dirname( newpath ); + + /* Add j9 binary location to LD_LIBRARY_PATH */ + ldpath = realloc( ldpath, strlen( ldpath ) + strlen( newpath ) + 2 ); + if( ldpath != NULL ) + { + strcat( ldpath, ":" ); + strcat( ldpath, newpath ); + } + + setenv( "LD_LIBRARY_PATH", ldpath, 1 ); + + free( ldpath ); + } +} + +/* Start the Java VM + * + * This method is called to start the Java virtual machine and to wait until it + * terminates. The function returns the exit code from the JVM. + */ +int startJavaVM( char* args[] ) +{ + int exitCode; + + fixEnvForJ9 (args [0]); + + /* Create a child process for the JVM. */ + jvmProcess = fork(); + if (jvmProcess == 0) + { + /* Child process ... start the JVM */ + execv( args[0], args ); + + /* The JVM would not start ... return error code to parent process. */ + jvmExitCode = errno; + exit( jvmExitCode ); + } + + /* If the JVM is still running, wait for it to terminate. */ + if (jvmProcess != 0) + { + wait( &exitCode ); + jvmExitCode = ((exitCode & 0x00ff) == 0 ? (exitCode >> 8) : exitCode); /* see wait(2) */ + } + + /* Return the exit code from the JVM. */ + return jvmExitCode; +} + +/*------ Local functions -----*/ + + +/* Catch a signal that indicates the splash window is to be brought down. */ +static void bringDownSplashWindow( int sig ) +{ + if (topWindow != 0) + { + PtUnrealizeWidget( topWindow ); + } +} + + +/* Centre the top window on the screen. */ + +static void centreWindow( PtWidget_t* window, PtWidget_t* expose ) +{ + PtArg_t arg[2]; + int nArgs; + PhPoint_t pos; + PhArea_t area; + PhRect_t rect; + int width, height; + + /* Realize the top window to calculate its width/height. */ + PtExtentWidgetFamily( window ); + + /* Get the desired dimensions of the window. */ + PtWidgetArea( window, &area ); + + /* Calculate the X and Y position for the window. */ + PhWindowQueryVisible( Ph_QUERY_WORKSPACE, 0, PhInputGroup(0), &rect ); + width = rect.lr.x - rect.ul.x + 1; + height = rect.lr.y - rect.ul.y + 1; + pos.x = rect.ul.x + (width - area.size.w) / 2; + pos.y = rect.ul.y + (height - area.size.h) / 2; + + /* Set the new shell position and display it. */ + nArgs = 0; + PtSetArg( &arg[ nArgs++ ], Pt_ARG_POS, &pos, 0 ); + PtSetResources( window, nArgs, arg ); + PtRealizeWidget( window ); +} + + +/* Splash Timeout */ +static int splashTimeout( PtWidget_t* widget, void* data, PtCallbackInfo_t* info ) +{ + bringDownSplashWindow( 0 ); + return 1; +} diff --git a/features/org.eclipse.equinox.executable.feature/library/photon/make_qnx.mak b/features/org.eclipse.equinox.executable.feature/library/photon/make_qnx.mak new file mode 100644 index 000000000..475cf48a3 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/photon/make_qnx.mak @@ -0,0 +1,57 @@ +#******************************************************************************* +# Copyright (c) 2000, 2006 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +# Kevin Cornell (Rational Software Corporation) +#******************************************************************************* + +# Makefile for creating the Photon eclipse launcher program. + +# This makefile expects the following environment variables set: +# +# PROGRAM_OUTPUT - the filename of the output executable +# DEFAULT_OS - the default value of the "-os" switch +# DEFAULT_OS_ARCH - the default value of the "-arch" switch +# DEFAULT_WS - the default value of the "-ws" switch + +# Define the object modules to be compiled and flags. +OBJS = eclipse.o eclipseUtil.o eclipseShm.o eclipseConfig.o eclipsePhoton.o +EXEC = $(PROGRAM_OUTPUT) +LIBS = -lph -lphrender -lphexlib +CFLAGS = -O -s -Wall \ + -DDEFAULT_OS="\"$(DEFAULT_OS)\"" \ + -DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \ + -DDEFAULT_WS="\"$(DEFAULT_WS)\"" \ + -DJ9VM -I.. -DPHOTON + +all: $(EXEC) + +.c.o: + $(CC) $(CFLAGS) -c $< -o $@ + +eclipse.o: ../eclipse.c ../eclipseOS.h + $(CC) $(CFLAGS) -c ../eclipse.c -o $@ + +eclipseShm.o: ../eclipseShm.c ../eclipseShm.h ../eclipseOS.h + $(CC) $(CFLAGS) -c ../eclipseShm.c -o $@ + +eclipseConfig.o: ../eclipseConfig.c ../eclipseConfig.h ../eclipseOS.h + $(CC) $(CFLAGS) -c ../eclipseConfig.c -o $@ + +eclipseUtil.o: ../eclipseUtil.c ../eclipseUtil.h ../eclipseOS.h + $(CC) $(CFLAGS) -c ../eclipseUtil.c -o $@ + +$(EXEC): $(OBJS) + $(CC) -o $(EXEC) $(OBJS) $(LIBS) + +install: all + cp $(EXEC) $(OUTPUT_DIR) + rm -f $(EXEC) $(OBJS) + +clean: + rm -f $(EXEC) $(OBJS) diff --git a/features/org.eclipse.equinox.executable.feature/library/win32/.cvsignore b/features/org.eclipse.equinox.executable.feature/library/win32/.cvsignore new file mode 100644 index 000000000..431170f6f --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/win32/.cvsignore @@ -0,0 +1,8 @@ +*.obj +eclipse.exe +eclipse.res +*.pdb +*.exp +*.lib +eclipse_*.dll +eclipsec.exe diff --git a/features/org.eclipse.equinox.executable.feature/library/win32/build.bat b/features/org.eclipse.equinox.executable.feature/library/win32/build.bat new file mode 100644 index 000000000..81f5afcd1 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/win32/build.bat @@ -0,0 +1,156 @@ +@rem ******************************************************************************* +@rem Copyright (c) 2000, 2009 IBM Corporation and others. +@rem All rights reserved. This program and the accompanying materials +@rem are made available under the terms of the Eclipse Public License v1.0 +@rem which accompanies this distribution, and is available at +@rem http://www.eclipse.org/legal/epl-v10.html +@rem +@rem Contributors: +@rem IBM Corporation - initial API and implementation +@rem Kevin Cornell (Rational Software Corporation) +@rem ********************************************************************** +@rem +@rem Usage: sh build.sh [] [clean] +@rem +@rem where the optional switches are: +@rem -output - executable filename ("eclipse") +@rem -library - dll filename (eclipse.dll) +@rem -os - default Eclipse "-os" value (qnx) +@rem -arch - default Eclipse "-arch" value (x86) +@rem -ws - default Eclipse "-ws" value (photon) +@rem -java - location of a Java SDK for JNI headers +@rem +@rem +@rem This script can also be invoked with the "clean" argument. +@rem +@rem NOTE: The C compiler needs to be setup. This script has been +@rem tested against Microsoft Visual C and C++ Compiler 6.0. +@rem +@rem Uncomment the lines below and edit MSVC_HOME to point to the +@rem correct root directory of the compiler installation, if you +@rem want this to be done by this script. +@rem +@rem ****** +@echo off + +IF EXIST C:\BUILD\swt-builddir set LAUNCHER_BUILDDIR=C:\BUILD\swt-builddir +IF x.%LAUNCHER_BUILDDIR%==x. set LAUNCHER_BUILDDIR=S:\swt-builddir +echo LAUNCHER build dir: %LAUNCHER_BUILDDIR% + +IF x.%1==x.x86_64 GOTO X86_64 +IF x.%1==x.ia64 GOTO IA64 + +:X86 +IF x.%DEV_TOOLS%==x. set DEV_TOOLS=%LAUNCHER_BUILDDIR% +IF x.%JAVA_HOME%==x. set JAVA_HOME=%LAUNCHER_BUILDDIR%\ibm-java2-sdk-50-win-i386 +set javaHome=%JAVA_HOME% +if not x.%MSVC_HOME% == x. goto MAKE +set MSVC_HOME="%LAUNCHER_BUILDDIR%\MSVCs\msvc60\VC98" +call %MSVC_HOME%\bin\vcvars32.bat +if not "%MSSDK%" == "" goto MAKE +set MSSDK="%LAUNCHER_BUILDDIR%\MSSDKs\feb2003" +call %MSSDK%\setenv.bat +IF x.%1==x.x86 shift +set defaultOSArch=x86 +set makefile=make_win32.mak +GOTO MAKE + +:X86_64 +shift +set defaultOSArch=x86_64 +IF x.%JAVA_HOME%==x. set JAVA_HOME=%LAUNCHER_BUILDDIR%\ibm-sdk50-x86_64 +IF "x.%MSSDK%" == "x." set MSSDK="%LAUNCHER_BUILDDIR%\MSSDKs\Windows Server 2003 SP1 SDK" +set javaHome=%JAVA_HOME% +set makefile=make_win64.mak +call %MSSDK%\setenv /X64 /RETAIL +GOTO MAKE + +:IA64 +shift +set defaultOSArch=ia64 +IF x.%JAVA_HOME%==x. set JAVA_HOME=%LAUNCHER_BUILDDIR%\ibm-sdk142-ia64 +IF "x.%MSSDK%" == "x." set MSSDK="%LAUNCHER_BUILDDIR%\MSSDKs\Windows Server 2003 SP1 SDK" +set javaHome=%JAVA_HOME% +set makefile=make_win64_ia64.mak +call %MSSDK%\setenv /SRV64 /RETAIL +GOTO MAKE + +:MAKE +rem -------------------------- +rem Define default values for environment variables used in the makefiles. +rem -------------------------- +set programOutput=eclipse.exe +set programLibrary=eclipse.dll +set defaultOS=win32 +set defaultWS=win32 +set OS=Windows + +rem -------------------------- +rem Parse the command line arguments and override the default values. +rem -------------------------- +set extraArgs= +:WHILE +if "%1" == "" goto WHILE_END + if "%2" == "" goto LAST_ARG + + if "%1" == "-os" ( + set defaultOS=%2 + shift + goto NEXT ) + if "%1" == "-arch" ( + set defaultOSArch=%2 + shift + goto NEXT ) + if "%1" == "-ws" ( + set defaultWS=%2 + shift + goto NEXT ) + if "%1" == "-output" ( + set programOutput=%2 + shift + goto NEXT ) + if "%1" == "-library" ( + set programLibrary=%2 + shift + goto NEXT ) + if "%1" == "-java" ( + set javaHome=%2 + echo %javaHome% + shift + goto NEXT ) +:LAST_ARG + set extraArgs=%extraArgs% %1 + +:NEXT + shift + goto WHILE +:WHILE_END + +rem -------------------------- +rem Set up environment variables needed by the makefile. +rem -------------------------- +set PROGRAM_OUTPUT=%programOutput% +set PROGRAM_LIBRARY=%programLibrary% +set DEFAULT_OS=%defaultOS% +set DEFAULT_OS_ARCH=%defaultOSArch% +set DEFAULT_WS=%defaultWS% +set EXEC_DIR=..\..\.\..\..\rt.equinox.binaries\org.eclipse.equinox.executable +set OUTPUT_DIR=%EXEC_DIR%\bin\%defaultWS%\%defaultOS%\%defaultOSArch% +set JAVA_HOME=%javaHome% + +rem -------------------------- +rem Run nmake to build the executable. +rem -------------------------- +if "%extraArgs%" == "" goto MAKE_ALL + +nmake -f %makefile% %extraArgs% +goto DONE + +:MAKE_ALL +echo Building %OS% launcher. Defaults: -os %DEFAULT_OS% -arch %DEFAULT_OS_ARCH% -ws %DEFAULT_WS% +nmake -f %makefile% clean +nmake -f %makefile% %1 %2 %3 %4 +goto DONE + + +:DONE diff --git a/features/org.eclipse.equinox.executable.feature/library/win32/build.sh b/features/org.eclipse.equinox.executable.feature/library/win32/build.sh new file mode 100644 index 000000000..853eaf4cf --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/win32/build.sh @@ -0,0 +1,77 @@ +#!/bin/sh +#******************************************************************************* +# Copyright (c) 2000, 2006 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +# Kevin Cornell (Rational Software Corporation) +#******************************************************************************* +# +# Usage: sh build.sh [] [clean] +# +# where the optional switches are: +# -output - executable filename ("eclipse") +# -os - default Eclipse "-os" value +# -arch - default Eclipse "-arch" value +# -ws - default Eclipse "-ws" value +# +# +# This script can also be invoked with the "clean" argument. + +cd `dirname $0` + +# Define default values for environment variables used in the makefiles. +programOutput="eclipse.exe" +defaultOS="win32" +defaultOSArch="x86" +defaultWS="win32" +makefile="make_mingw.mak" +OS="Windows" + +# Parse the command line arguments and override the default values. +extraArgs="" +while [ "$1" != "" ]; do + if [ "$1" = "-os" ] && [ "$2" != "" ]; then + defaultOS="$2" + shift + elif [ "$1" = "-arch" ] && [ "$2" != "" ]; then + defaultOSArch="$2" + shift + elif [ "$1" = "-ws" ] && [ "$2" != "" ]; then + defaultWS="$2" + shift + elif [ "$1" = "-output" ] && [ "$2" != "" ]; then + programOutput="$2" + shift + else + extraArgs="$extraArgs $1" + fi + shift +done + +# Set up environment variables needed by the makefiles. +PROGRAM_OUTPUT="$programOutput" +DEFAULT_OS="$defaultOS" +DEFAULT_OS_ARCH="$defaultOSArch" +DEFAULT_WS="$defaultWS" +EXEC_DIR=../../../../../rt.equinox.binaries/org.eclipse.equinox.executable +OUTPUT_DIR=$EXEC_DIR/bin/$defaultWS/$defaultOS/$defaultOSArch + +export OUTPUT_DIR PROGRAM_OUTPUT DEFAULT_OS DEFAULT_OS_ARCH DEFAULT_WS + +# If the OS is supported (a makefile exists) +if [ "$makefile" != "" ]; then + if [ "$extraArgs" != "" ]; then + make -f $makefile $extraArgs + else + echo "Building $OS launcher. Defaults: -os $DEFAULT_OS -arch $DEFAULT_OS_ARCH -ws $DEFAULT_WS" + make -f $makefile clean + make -f $makefile all + fi +else + echo "Unknown OS ($OS) -- build aborted" +fi diff --git a/features/org.eclipse.equinox.executable.feature/library/win32/build.xml b/features/org.eclipse.equinox.executable.feature/library/win32/build.xml new file mode 100644 index 000000000..056b85926 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/win32/build.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/features/org.eclipse.equinox.executable.feature/library/win32/eclipse.exe.manifest b/features/org.eclipse.equinox.executable.feature/library/win32/eclipse.exe.manifest new file mode 100644 index 000000000..dda153470 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/win32/eclipse.exe.manifest @@ -0,0 +1,11 @@ + + + + Standard Widget Toolkit + + + + + + + \ No newline at end of file diff --git a/features/org.eclipse.equinox.executable.feature/library/win32/eclipse.ico b/features/org.eclipse.equinox.executable.feature/library/win32/eclipse.ico new file mode 100644 index 000000000..d73e6869c Binary files /dev/null and b/features/org.eclipse.equinox.executable.feature/library/win32/eclipse.ico differ diff --git a/features/org.eclipse.equinox.executable.feature/library/win32/eclipse.rc b/features/org.eclipse.equinox.executable.feature/library/win32/eclipse.rc new file mode 100644 index 000000000..c05708362 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/win32/eclipse.rc @@ -0,0 +1,21 @@ +/******************************************************************************* + * Copyright (c) 2000, 2006 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ + +#define ECLIPSE_ICON 401 + +#include "windows.h" +#include "winver.h" + + +ECLIPSE_ICON ICON DISCARDABLE "eclipse.ico" + +CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "eclipse.exe.manifest" + diff --git a/features/org.eclipse.equinox.executable.feature/library/win32/eclipseWin.c b/features/org.eclipse.equinox.executable.feature/library/win32/eclipseWin.c new file mode 100644 index 000000000..387576994 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/win32/eclipseWin.c @@ -0,0 +1,619 @@ +/******************************************************************************* + * Copyright (c) 2000, 2010 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Kevin Cornell (Rational Software Corporation) + *******************************************************************************/ + +#include "eclipseOS.h" +#include "eclipseUtil.h" +#include "eclipseCommon.h" +#include "eclipseJNI.h" +#include "eclipseShm.h" + +#include +#include +#include +#include +#include +#include +#include + +#ifdef __MINGW32__ +#include +#endif + +extern HWND topWindow; + +/* Global Variables */ +_TCHAR* defaultVM = _T("javaw.exe"); +_TCHAR* consoleVM = _T("java.exe"); +_TCHAR* vmLibrary = _T("jvm.dll"); +_TCHAR* shippedVMDir = _T("jre\\bin\\"); + +/* Define local variables for communicating with running eclipse instance. */ +static HANDLE mutex; +static UINT findWindowTimeout = 1000; +static UINT_PTR findWindowTimerId = 97; +static UINT timerCount = 0; +static UINT openFileTimeout = 60; +static _TCHAR** openFilePath; + +/* Define the window system arguments for the Java VM. */ +static _TCHAR* argVM[] = { NULL }; + +/* Define local variables for running the JVM and detecting its exit. */ +static HANDLE jvmProcess = 0; +static JavaResults* jvmResults = NULL; +static UINT jvmExitTimeout = 100; +static UINT_PTR jvmExitTimerId = 99; + +static void CALLBACK findWindowProc(HWND hwnd, UINT message, UINT idTimer, DWORD dwTime); +static void CALLBACK detectJvmExit( HWND hwnd, UINT uMsg, UINT id, DWORD dwTime ); +static _TCHAR* checkVMRegistryKey(HKEY jrekey, _TCHAR* subKeyName); +static void adjustSearchPath( _TCHAR * vmLibrary ); +static _TCHAR* findLib( _TCHAR* command ); + +/* define default locations in which to find the jvm shared library + * these are paths relative to the java exe, the shared library is + * for example jvmLocations[0] + dirSeparator + vmLibrary */ +#define MAX_LOCATION_LENGTH 25 /* none of the jvmLocations strings should be longer than this */ +static const _TCHAR* jvmLocations [] = { _T("j9vm"), _T("..\\jre\\bin\\j9vm"), + _T("client"), _T("..\\jre\\bin\\client"), + _T("server"), _T("..\\jre\\bin\\server"), + _T("classic"), _T("..\\jre\\bin\\classic"), + _T("jrockit"), _T("..\\jre\\bin\\jrockit"), + NULL }; + +/* for detecting sun vms */ +typedef struct { + WORD language; + WORD codepage; +} TRANSLATIONS; + +#define COMPANY_NAME_KEY _T_ECLIPSE("\\StringFileInfo\\%04x%04x\\CompanyName") +#define SUN_MICROSYSTEMS _T_ECLIPSE("Sun Microsystems") +#define ORACLE _T_ECLIPSE("Oracle") + +static void sendOpenFileMessage(HWND window) { + _TCHAR* id; + UINT msg; + int index = 0; + int size = 0; + DWORD wParam; +#ifdef WIN64 + DWORDLONG lParam; +#else + DWORD lParam; +#endif + + /* what's the longest path? */ + while (openFilePath[index] != NULL) { + int length = _tcslen(openFilePath[index++]); + if (size <= length) + size = length + 1; + } + + createSharedData(&id, size * sizeof(_TCHAR)); + _stscanf(id, _T_ECLIPSE("%lx_%lx"), &wParam, &lParam); + msg = RegisterWindowMessage(_T("SWT_OPENDOC")); + + index = 0; + for(index = 0; openFilePath[index] != NULL; index++) { + /* SendMessage does not return until the message has been processed */ + setSharedData(id, openFilePath[index]); + SendMessage(window, msg, wParam, lParam); + } + destroySharedData(id); + free(id); +} + +static HWND findSWTMessageWindow() { + HWND window = NULL; + _TCHAR *windowTitle, *windowPrefix, *name; + + windowPrefix = _T("SWT_Window_"); + name = getOfficialName(); + windowTitle = malloc((_tcslen(windowPrefix) + _tcslen(name) + 1) * sizeof(_TCHAR)); + _stprintf(windowTitle, _T_ECLIPSE("%s%s"), windowPrefix, name); + window = FindWindow(NULL, windowTitle); + free(windowTitle); + return window; +} + +static void CALLBACK findWindowProc(HWND hwnd, UINT message, UINT idTimer, DWORD dwTime) { + HWND window = findSWTMessageWindow(); + if (window != NULL) { + sendOpenFileMessage(window); + ReleaseMutex(mutex); + CloseHandle(mutex); + KillTimer(hwnd, findWindowTimerId); + return; + } + + /* no window yet, set timer to try again later */ + if (timerCount++ >= openFileTimeout) { + KillTimer(hwnd, findWindowTimerId); + ReleaseMutex(mutex); + CloseHandle(mutex); + } +} + +/* return > 0 if we successfully send a message to another eclipse instance */ +int reuseWorkbench(_TCHAR** filePath, int timeout) { + _TCHAR* mutexPrefix = _T("SWT_Mutex_"); + _TCHAR* mutexName, *name; + DWORD lock; + HWND window = NULL; + + /* store for later */ + openFilePath = filePath; + openFileTimeout = timeout; + + name = getOfficialName(); + mutexName = malloc((_tcslen(mutexPrefix) + _tcslen(name) + 1) * sizeof(_TCHAR)); + _stprintf(mutexName, _T_ECLIPSE("%s%s"), mutexPrefix, name); + mutex = CreateMutex(NULL, FALSE, mutexName); + free(mutexName); + if (mutex == NULL) return -1; + + //wait for timeout seconds + lock = WaitForSingleObject(mutex, timeout * 1000); + if (lock != WAIT_OBJECT_0) { + /* failed to get the lock before timeout, We won't be reusing an existing eclipse. */ + CloseHandle(mutex); + return 0; + } + + /* we have the mutex, look for the SWT window */ + window = findSWTMessageWindow(); + if (window != NULL) { + sendOpenFileMessage(window); + ReleaseMutex(mutex); + CloseHandle(mutex); + return 1; /* success! */ + } + + /* no window, set a timer to look again later */ + if (initWindowSystem(0, NULL, 0) == 0) + SetTimer( topWindow, findWindowTimerId, findWindowTimeout, findWindowProc ); + + return 0; +} + +/* Show the Splash Window + * + * Open the bitmap, insert into the splash window and display it. + * + */ +int showSplash( const _TCHAR* featureImage ) +{ + static int splashing = 0; + HBITMAP hBitmap = 0; + BITMAP bmp; + HDC hDC; + int depth; + int x, y; + int width, height; + + if(splashing) { + /*splash screen is already showing, do nothing */ + return 0; + } + if (featureImage == NULL) + return -1; + + /* if Java was started first and is calling back to show the splash, we might not + * have initialized the window system yet + */ + initWindowSystem(0, NULL, 1); + + /* Load the bitmap for the feature. */ + hDC = GetDC( NULL); + depth = GetDeviceCaps( hDC, BITSPIXEL ) * GetDeviceCaps( hDC, PLANES); + ReleaseDC(NULL, hDC); + if (featureImage != NULL) + hBitmap = LoadImage(NULL, featureImage, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE); + + /* If the bitmap could not be found, return an error. */ + if (hBitmap == 0) + return ERROR_FILE_NOT_FOUND; + + GetObject(hBitmap, sizeof(BITMAP), &bmp); + + /* figure out position */ + width = GetSystemMetrics (SM_CXSCREEN); + height = GetSystemMetrics (SM_CYSCREEN); + x = (width - bmp.bmWidth) / 2; + y = (height - bmp.bmHeight) / 2; + + /* Centre the splash window and display it. */ + SetWindowPos (topWindow, 0, x, y, bmp.bmWidth, bmp.bmHeight, SWP_NOZORDER | SWP_NOSIZE | SWP_NOACTIVATE); + SendMessage( topWindow, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM) hBitmap ); + ShowWindow( topWindow, SW_SHOW ); + BringWindowToTop( topWindow ); + splashing = 1; + + /* Process messages */ + dispatchMessages(); + return 0; +} + +void dispatchMessages() { + MSG msg; + + if(topWindow == 0) + return; + while (PeekMessage( &msg, NULL, 0, 0, PM_REMOVE)) + { + TranslateMessage( &msg ); + DispatchMessage( &msg ); + } +} + +jlong getSplashHandle() { + return (jlong)topWindow; +} + +void takeDownSplash() { + if(topWindow != NULL) { + DestroyWindow(topWindow); + dispatchMessages(); + topWindow = 0; + } +} + +/* Get the window system specific VM args */ +_TCHAR** getArgVM( _TCHAR *vm ) +{ + return argVM; +} + +/* Local functions */ + +_TCHAR * findVMLibrary( _TCHAR* command ) { + _TCHAR* lib = findLib(command); + if( lib != NULL ) { + adjustSearchPath(lib); + } + return lib; +} + +void adjustSearchPath( _TCHAR* vmLib ){ + _TCHAR ** paths; + _TCHAR* cwd = NULL; + _TCHAR * path = NULL, *newPath = NULL; + _TCHAR * c; + int i, length; + int needAdjust = 0, freePath = 0; + + paths = getVMLibrarySearchPath(vmLib); + + /* bug 325902 - add current working dir to the end of the search path */ + length = GetCurrentDirectory(0, NULL); + cwd = malloc((length + 1)* sizeof(_TCHAR)); + GetCurrentDirectory(length, cwd); + cwd[length - 1] = pathSeparator; + cwd[length] = 0; + + /* first call to GetEnvironmentVariable tells us how big to make the buffer */ + length = GetEnvironmentVariable(_T_ECLIPSE("PATH"), path, 0); + if (length > 0) { + _TCHAR* current [] = { cwd, NULL }; + path = malloc(length * sizeof(_TCHAR)); + GetEnvironmentVariable(_T_ECLIPSE("PATH"), path, length); + needAdjust = !containsPaths(path, paths) || !containsPaths(path, current); + freePath = 1; + } else { + path = _T_ECLIPSE(""); + freePath = 0; + needAdjust = 1; + } + + if (needAdjust) { + c = concatStrings(paths); + newPath = malloc((_tcslen(c) + length + 1 + _tcslen(cwd) + 1) * sizeof(_TCHAR)); + _stprintf(newPath, _T_ECLIPSE("%s%s%c%s"), c, path, pathSeparator, cwd); + SetEnvironmentVariable( _T_ECLIPSE("PATH"), newPath); + free(c); + free(newPath); + } + + for (i = 0; paths[i] != NULL; i++) + free(paths[i]); + free(paths); + free(cwd); + if (freePath) + free(path); +} +/* + * Find the VM shared library starting from the java executable + */ +static _TCHAR* findLib( _TCHAR* command ) { + int i, j; + size_t pathLength; + struct _stat stats; + _TCHAR * path; /* path to resulting jvm shared library */ + _TCHAR * location; /* points to begining of jvmLocations section of path */ + + /* for looking in the registry */ + HKEY jreKey = NULL; + DWORD length = MAX_PATH; + _TCHAR keyName[MAX_PATH]; + _TCHAR * jreKeyName; + + if (command != NULL) { + location = lastDirSeparator( command ) + 1; + + /*check first to see if command already points to the library */ + if (isVMLibrary(command)) { + if (_tstat( command, &stats ) == 0 && (stats.st_mode & S_IFREG) != 0) + return command; /* exists */ + return NULL; /* doesn't exist */ + } + + pathLength = (size_t) (location - command); + path = malloc((pathLength + MAX_LOCATION_LENGTH + 1 + _tcslen(vmLibrary) + 1) * sizeof(_TCHAR)); + _tcsncpy(path, command, pathLength); + location = &path[pathLength]; + + /* + * We are trying base/jvmLocations[*]/vmLibrary + * where base is the directory containing the given java command, normally jre/bin + */ + i = -1; + while(jvmLocations[++i] != NULL) { + _stprintf(location, _T_ECLIPSE("%s%c%s"), jvmLocations[i], dirSeparator, vmLibrary); + if (_tstat( path, &stats ) == 0 && (stats.st_mode & S_IFREG) != 0) + { /* found it */ + return path; + } + } + + /* if command is eclipse/jre, don't look in registry */ + location = malloc( (_tcslen( getProgramDir() ) + _tcslen( shippedVMDir ) + 1) * sizeof(_TCHAR) ); + _stprintf( location, _T_ECLIPSE("%s%s"), getProgramDir(), shippedVMDir ); + if( _tcsncmp(command, location, _tcslen(location)) == 0) { + free(location); + return NULL; + } + free(location); + } + + /* Not found yet, try the registry, we will use the first vm >= 1.4 */ + jreKeyName = _T("Software\\JavaSoft\\Java Runtime Environment"); + if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, jreKeyName, 0, KEY_READ, &jreKey) == ERROR_SUCCESS) { + if(RegQueryValueEx(jreKey, _T_ECLIPSE("CurrentVersion"), NULL, NULL, (void*)&keyName, &length) == ERROR_SUCCESS) { + path = checkVMRegistryKey(jreKey, keyName); + if (path != NULL) { + RegCloseKey(jreKey); + return path; + } + } + j = 0; + length = MAX_PATH; + while (RegEnumKeyEx(jreKey, j++, keyName, &length, 0, 0, 0, 0) == ERROR_SUCCESS) { + /*look for a 1.4 or 1.5 vm*/ + if( _tcsncmp(_T("1.4"), keyName, 3) <= 0 ) { + path = checkVMRegistryKey(jreKey, keyName); + if (path != NULL) { + RegCloseKey(jreKey); + return path; + } + } + } + RegCloseKey(jreKey); + } + return NULL; +} + +/* + * Read the subKeyName subKey of jreKey and look to see if it has a Value + * "RuntimeLib" which points to a jvm library we can use + * + * Does not close jreKey + */ +static _TCHAR* checkVMRegistryKey(HKEY jreKey, _TCHAR* subKeyName) { + _TCHAR value[MAX_PATH]; + HKEY subKey = NULL; + DWORD length = MAX_PATH; + _TCHAR *result = NULL; + struct _stat stats; + + if(RegOpenKeyEx(jreKey, subKeyName, 0, KEY_READ, &subKey) == ERROR_SUCCESS) { + /*The RuntimeLib value should point to the library we want*/ + if(RegQueryValueEx(subKey, _T("RuntimeLib"), NULL, NULL, (void*)&value, &length) == ERROR_SUCCESS) { + if (_tstat( value, &stats ) == 0 && (stats.st_mode & S_IFREG) != 0) + { /*library exists*/ + result = _tcsdup(value); + } + } + RegCloseKey(subKey); + } + return result; +} + +static _TCHAR* buildCommandLine( _TCHAR* program, _TCHAR* args[] ) +{ + int index, slash; + size_t length = 0; + _TCHAR *commandLine, *ch, *space; + + /* + * Build the command line. Any argument with spaces must be in + * double quotes in the command line. + */ + if(program != NULL) + length = _tcslen(program) + 1; + for (index = 0; args[index] != NULL; index++) + { + /* String length plus space character */ + length += _tcslen( args[ index ] ) + 1; + /* Quotes + potential escaping '\' */ + if (_tcschr( args[ index ], _T(' ') ) != NULL) length += 3; + } + + commandLine = ch = malloc ( (length + 1) * sizeof(_TCHAR) ); + if (program != NULL) { + _tcscpy(ch, program); + ch += _tcslen(program); + *ch++ = _T(' '); + } + for (index = 0; args[index] != NULL; index++) + { + space = _tcschr( args[ index ], _T(' ')); + if (space != NULL) *ch++ = _T('\"'); + _tcscpy( ch, args[index] ); + ch += _tcslen( args[index] ); + if (space != NULL) { + if ( *(ch - 1) == _T('\\') ) { + /* escape a trailing unescaped '\' or it will escape our closing '"' and mess things up */ + slash = 1; + while ( *(ch - 1 - slash) == _T('\\')) slash++; + if (slash % 2) *ch++ = _T('\\'); + } + *ch++ = _T('\"'); + } + *ch++ = _T(' '); + } + *ch = _T('\0'); + return commandLine; +} +void restartLauncher( _TCHAR* program, _TCHAR* args[] ) +{ + _TCHAR* commandLine = buildCommandLine(program, args); + + { + STARTUPINFO si; + PROCESS_INFORMATION pi; + GetStartupInfo(&si); + if (CreateProcess(NULL, commandLine, NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi)) { + CloseHandle( pi.hThread ); + } + } + free(commandLine); +} + +JavaResults* launchJavaVM( _TCHAR* args[] ) +{ + MSG msg; + _TCHAR* commandLine; + jvmProcess = 0; + commandLine = buildCommandLine(NULL, args); + jvmResults = malloc(sizeof(JavaResults)); + memset(jvmResults, 0, sizeof(JavaResults)); + + /* + * Start the Java virtual machine. Use CreateProcess() instead of spawnv() + * otherwise the arguments cannot be freed since spawnv() segments fault. + */ + { + STARTUPINFO si; + PROCESS_INFORMATION pi; + GetStartupInfo(&si); + if (CreateProcess(NULL, commandLine, NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi)) { + CloseHandle( pi.hThread ); + jvmProcess = pi.hProcess; + } else { + jvmResults->launchResult = errno; + } + } + + free( commandLine ); + + if (jvmProcess > 0) + { + /* Set a timer to detect JVM process termination. */ + SetTimer( topWindow, jvmExitTimerId, jvmExitTimeout, detectJvmExit ); + + /* Process messages until the JVM terminates. + This launcher process must continue to process events until the JVM exits + or else Windows 2K will hang if the desktop properties (e.g., background) are + changed by the user. Windows does a SendMessage() to every top level window + process, which blocks the caller until the process responds. */ + while (jvmProcess != 0) + { + GetMessage( &msg, NULL, 0, 0 ); + TranslateMessage( &msg ); + DispatchMessage( &msg ); + } + + /* Kill the timer. */ + KillTimer( topWindow, jvmExitTimerId ); + } + + /* Return the exit code from the JVM. */ + return jvmResults; +} + +/* Detect JVM Process Termination */ +static void CALLBACK detectJvmExit( HWND hwnd, UINT uMsg, UINT id, DWORD dwTime ) +{ + DWORD exitCode; + + /* If the JVM process has terminated */ + if (!GetExitCodeProcess( (HANDLE)jvmProcess, &exitCode ) || + exitCode != STILL_ACTIVE) + { + /* Save the JVM exit code. This should cause the loop in launchJavaVM() to exit. */ + jvmResults->runResult = exitCode; + jvmProcess = 0; + } +} + +void processVMArgs(_TCHAR **vmargs[] ) { + /* nothing yet */ +} + +JavaResults* startJavaVM( _TCHAR* libPath, _TCHAR* vmArgs[], _TCHAR* progArgs[], _TCHAR* jarFile ) +{ + return startJavaJNI(libPath, vmArgs, progArgs, jarFile); +} + +int isSunVM( _TCHAR * javaVM, _TCHAR * jniLib ) { + _TCHAR *vm = (jniLib != NULL) ? jniLib : javaVM; + int result = 0; + DWORD infoSize; + DWORD handle; + void * info; + + _TCHAR * key, *value; + size_t i; + int valueSize; + + if (vm == NULL) + return 0; + + infoSize = GetFileVersionInfoSize(vm, &handle); + if (infoSize > 0) { + info = malloc(infoSize); + if (GetFileVersionInfo(vm, 0, infoSize, info)) { + TRANSLATIONS * translations; + int translationsSize; + VerQueryValue(info, _T_ECLIPSE("\\VarFileInfo\\Translation"), (void *) &translations, &translationsSize); + + /* this size is only right because %04x is 4 characters */ + key = malloc( (_tcslen(COMPANY_NAME_KEY) + 1) * sizeof(_TCHAR)); + for (i = 0; i < (translationsSize / sizeof(TRANSLATIONS)); i++) { + _stprintf(key, COMPANY_NAME_KEY, translations[i].language, translations[i].codepage); + + VerQueryValue(info, key, (void *)&value, &valueSize); + if (_tcsncmp(value, SUN_MICROSYSTEMS, _tcslen(SUN_MICROSYSTEMS)) == 0) { + result = 1; + break; + } else if (_tcsncmp(value, ORACLE, _tcslen(ORACLE)) == 0) { + result = 1; + break; + } + } + free(key); + } + free(info); + } + return result; +} diff --git a/features/org.eclipse.equinox.executable.feature/library/win32/eclipseWinCommon.c b/features/org.eclipse.equinox.executable.feature/library/win32/eclipseWinCommon.c new file mode 100644 index 000000000..27546bfaa --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/win32/eclipseWinCommon.c @@ -0,0 +1,116 @@ +/******************************************************************************* + * Copyright (c) 2006, 2009 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Andrew Niefer + *******************************************************************************/ + +#include "eclipseCommon.h" +#include "eclipseOS.h" + +#include +#include +#include + +#define ECLIPSE_ICON 401 + +_TCHAR dirSeparator = _T('\\'); +_TCHAR pathSeparator = _T(';'); + +/* Global Main Window*/ +HWND topWindow = 0; + +/* Define local variables for the main window. */ +/*static WNDPROC oldProc;*/ + +static int initialized = 0; + +/* Display a Message */ +void displayMessage( _TCHAR* title, _TCHAR* message ) +{ + if(!initialized) + initWindowSystem(0, NULL, 0); + MessageBox( topWindow, message, title, MB_OK ); +} + +/* Initialize Window System + * + * Create a pop window to display the bitmap image. + * + * Return the window handle as the data for the splash command. + * + */ +int initWindowSystem( int* pArgc, _TCHAR* argv[], int showSplash ) +{ + HINSTANCE module = GetModuleHandle(NULL); + HICON icon = NULL; + + if(initialized) + return 0; + + icon = LoadIcon(module, MAKEINTRESOURCE(ECLIPSE_ICON)); + if (icon == NULL) { + HMODULE hm = LoadLibraryEx(getProgramPath(), 0, LOAD_LIBRARY_AS_DATAFILE & 0x2 /*LOAD_LIBRARY_AS_IMAGE_RESOURCE*/); + if (hm != NULL) + icon = LoadIcon(hm, MAKEINTRESOURCE(ECLIPSE_ICON)); + } + + /* Create a window that has no decorations. */ + InitCommonControls(); + topWindow = CreateWindowEx ( icon != NULL ? 0 : WS_EX_TOOLWINDOW, + _T("STATIC"), + getOfficialName(), + SS_BITMAP | WS_POPUP | WS_CLIPCHILDREN, + CW_USEDEFAULT, + 0, + CW_USEDEFAULT, + 0, + NULL, + NULL, + module, + NULL); + + if (icon != NULL) +#ifdef WIN64 + SetClassLongPtr(topWindow, GCLP_HICON, (LONG_PTR)icon); +#else + SetClassLong(topWindow, GCL_HICON, (LONG)icon); +#endif + + initialized = 1; + return 0; +} + +/* Load the specified shared library + */ +void * loadLibrary( _TCHAR * library ){ + return LoadLibrary(library); +} + +/* Unload the shared library + */ +void unloadLibrary( void * handle ){ + FreeLibrary(handle); +} + +/* Find the given symbol in the shared library + */ +void * findSymbol( void * handle, _TCHAR * symbol ){ + char * str = NULL; + void * result; + + str = toNarrow(symbol); + result = GetProcAddress(handle, str); + free(str); + return result; +} + +_TCHAR* resolveSymlinks( _TCHAR* path ) { + /* no symlinks on windows */ + return path; +} diff --git a/features/org.eclipse.equinox.executable.feature/library/win32/make_mingw.mak b/features/org.eclipse.equinox.executable.feature/library/win32/make_mingw.mak new file mode 100644 index 000000000..aaee41e85 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/win32/make_mingw.mak @@ -0,0 +1,127 @@ +#******************************************************************************* +# Copyright (c) 2000, 2010 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +# Kevin Cornell (Rational Software Corporation) +# Silenio Quarti (IBM) +# Sam Robb (TimeSys Corporation) +#******************************************************************************* +include ../make_version.mak +# Makefile for creating the eclipse launcher program. + +# This makefile expects the following environment variables set: +# +# PROGRAM_OUTPUT - the filename of the output executable +# PROGRAM_LIBRARY - the file of the output shared library +# DEFAULT_OS - the default value of the "-os" switch +# DEFAULT_OS_ARCH - the default value of the "-arch" switch +# DEFAULT_WS - the default value of the "-ws" switch + +#if PROGRAM_OUTPUT is not set, assume eclipse.exe +ifeq ($(PROGRAM_OUTPUT),) + PROGRAM_OUTPUT=eclipse.exe +endif + +# Separate filename from extention +PROGRAM_NAME=$(PROGRAM_OUTPUT:.exe=) + +PROGRAM_LIBRARY=eclipse_$(LIB_VERSION).dll + +# Allow for cross-compiling under linux +OSTYPE ?= $(shell if uname -s | grep -iq cygwin ; then echo cygwin; else echo linux; fi) + +ifeq ($(OSTYPE),cygwin) +CCVER = i686 +CC = i686-pc-cygwin-gcc-3 +RC = windres +else +CCVER = i586 +CC = $(shell which i586-pc-cygwin-gcc) +TDIR = $(dir $(shell test -L $(CC) && readlink $(CC) || echo $(CC))) +RC = $(TDIR)/i586-pc-cygwin-windres +SYSINC = -isystem $(TDIR)/../include/mingw +endif + +ifeq ($(CC),) +$(error Unable to find $(CCVER)-pc-cygwin-gcc) +endif + +# Define the object modules to be compiled and flags. +MAIN_OBJS = eclipseMain.o +COMMON_OBJS = eclipseConfig.o eclipseCommon.o eclipseWinCommon.o +DLL_OBJS = eclipse.o eclipseWin.o eclipseUtil.o eclipseJNI.o eclipseShm.o + +LIBS = -lkernel32 -luser32 -lgdi32 -lcomctl32 -lmsvcrt -lversion +LDFLAGS = -mwindows -mno-cygwin +CONSOLEFLAGS = -mconsole -mno-cygwin +DLL_LDFLAGS = -mno-cygwin -shared -Wl,--export-all-symbols -Wl,--kill-at,--image-base=0x72000000 +RES = $(PROGRAM_NAME).res +CONSOLE = $(PROGRAM_NAME)c.exe +EXEC = $(PROGRAM_OUTPUT) +DLL = $(PROGRAM_LIBRARY) +DEBUG = $(CDEBUG) +CFLAGS = -g -s -Wall \ + -I. -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/win32 $(SYSINC) \ + -D_WIN32 \ + -DWIN32_LEAN_AND_MEAN \ + -mno-cygwin -D__int64="long long" +WCFLAGS = -DUNICODE -I.. -DDEFAULT_OS="\"$(DEFAULT_OS)\"" \ + -DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \ + -DDEFAULT_WS="\"$(DEFAULT_WS)\"" \ + $(DEBUG) $(CFLAGS) + +all: $(EXEC) $(DLL) $(CONSOLE) + +eclipseMain.o: ../eclipseUnicode.h ../eclipseCommon.h ../eclipseMain.c + $(CC) $(DEBUG) $(WCFLAGS) -c -o $@ ../eclipseMain.c + +eclipseCommon.o: ../eclipseCommon.h ../eclipseUnicode.h ../eclipseCommon.c + $(CC) $(DEBUG) $(WCFLAGS) -c -o $@ ../eclipseCommon.c + +eclipseWinCommon.o: ../eclipseCommon.h eclipseWinCommon.c + $(CC) $(DEBUG) $(WCFLAGS) -c -o $@ eclipseWinCommon.c + +eclipse.o: ../eclipseOS.h ../eclipseUnicode.h ../eclipseJNI.h ../eclipseCommon.h ../eclipse.c + $(CC) $(DEBUG) $(WCFLAGS) -c -o $@ ../eclipse.c + +eclipseUtil.o: ../eclipseUtil.h ../eclipseUnicode.h ../eclipseUtil.c + $(CC) $(DEBUG) $(WCFLAGS) -c -o $@ ../eclipseUtil.c + +eclipseConfig.o: ../eclipseConfig.h ../eclipseUnicode.h ../eclipseConfig.c + $(CC) $(DEBUG) $(WCFLAGS) -c -o $@ ../eclipseConfig.c + +eclipseWin.o: ../eclipseOS.h ../eclipseUnicode.h eclipseWin.c + $(CC) $(DEBUG) $(WCFLAGS) -c -o $@ eclipseWin.c + +eclipseJNI.o: ../eclipseUnicode.h ../eclipseJNI.c + $(CC) $(DEBUG) $(WCFLAGS) -c -o $@ ../eclipseJNI.c + +eclipseShm.o: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c + $(CC) $(DEBUG) $(WCFLAGS) -c -o $@ ../eclipseShm.c + +$(RES): $(PROGRAM_NAME).rc + $(RC) --output-format=coff --include-dir=.. -o $@ $< + +$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS) $(RES) + $(CC) $(LDFLAGS) -o $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(RES) $(LIBS) + +#the console version needs a flag set, should look for a better way to do this +$(CONSOLE): $(MAIN_OBJS) $(COMMON_OBJS) + rm -f eclipseConfig.o aeclipseConfig.o + $(CC) $(DEBUG) $(WCFLAGS) -D_WIN32_CONSOLE -c -o eclipseConfig.o ../eclipseConfig.c + $(CC) $(CONSOLEFLAGS) -o $(CONSOLE) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS) + +$(DLL): $(DLL_OBJS) $(COMMON_OBJS) + $(CC) $(DLL_LDFLAGS) -o $(DLL) $(DLL_OBJS) $(COMMON_OBJS) $(LIBS) + +install: all + cp $(EXEC) $(DLL) $(CONSOLE) $(OUTPUT_DIR) + rm -f $(EXEC) $(DLL_OBJS) $(COMMON_OBJS) $(MAIN_OBJS) $(RES) $(CONSOLE) + +clean: + $(RM) $(EXEC) $(DLL) $(DLL_OBJS) $(COMMON_OBJS) $(MAIN_OBJS) $(RES) $(CONSOLE) diff --git a/features/org.eclipse.equinox.executable.feature/library/win32/make_win32.mak b/features/org.eclipse.equinox.executable.feature/library/win32/make_win32.mak new file mode 100644 index 000000000..252708832 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/win32/make_win32.mak @@ -0,0 +1,103 @@ +#****************************************************************************** +# Copyright (c) 2000, 2009 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +# Kevin Cornell (Rational Software Corporation) +#******************************************************************************* + +# Makefile for creating the eclipse launcher program. + +# This makefile expects the following environment variables set: +# +# PROGRAM_OUTPUT - the filename of the output executable +# PROGRAM_LIBRARY - the filename of the output dll library +# DEFAULT_OS - the default value of the "-os" switch +# DEFAULT_OS_ARCH - the default value of the "-arch" switch +# DEFAULT_WS - the default value of the "-ws" switch +# JAVA_HOME - the location of the Java for JNI includes +NODEBUG=1 +!include +!include <..\make_version.mak> + +PROGRAM_OUTPUT=eclipse.exe +# Separate filename from extention +PROGRAM_NAME=$(PROGRAM_OUTPUT:.exe=) + +PROGRAM_LIBRARY = eclipse_$(LIB_VERSION).dll + +# Define the object modules to be compiled and flags. +MAIN_OBJS = eclipseMain.obj +COMMON_OBJS = eclipseConfig.obj eclipseCommon.obj eclipseWinCommon.obj +DLL_OBJS = eclipse.obj eclipseWin.obj eclipseUtil.obj eclipseJNI.obj eclipseShm.obj + +LIBS = kernel32.lib user32.lib comctl32.lib msvcrt.lib +DLL_LIBS = kernel32.lib user32.lib comctl32.lib gdi32.lib Advapi32.lib msvcrt.lib version.lib +LFLAGS = /NODEFAULTLIB /INCREMENTAL:NO /LARGEADDRESSAWARE /RELEASE /NOLOGO -subsystem:windows,4.0 -entry:wmainCRTStartup +CONSOLEFLAGS = /NODEFAULTLIB /INCREMENTAL:NO /LARGEADDRESSAWARE /RELEASE /NOLOGO -subsystem:console,4.0 -entry:wmainCRTStartup +DLL_LFLAGS = /NODEFAULTLIB /INCREMENTAL:NO /LARGEADDRESSAWARE /PDB:NONE /RELEASE /NOLOGO -entry:_DllMainCRTStartup@12 -dll /BASE:0x72000000 /DLL +RES = $(PROGRAM_NAME).res +EXEC = $(PROGRAM_OUTPUT) +CONSOLE = $(PROGRAM_NAME)c.exe +DLL = $(PROGRAM_LIBRARY) +DEBUG = #$(cdebug) +wcflags = -DUNICODE -I.. -DDEFAULT_OS="\"$(DEFAULT_OS)\"" \ + -DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \ + -DDEFAULT_WS="\"$(DEFAULT_WS)\"" \ + -I$(JAVA_HOME)\include -I$(JAVA_HOME)\include\win32 \ + $(cflags) + +all: $(EXEC) $(DLL) $(CONSOLE) + +eclipseMain.obj: ../eclipseUnicode.h ../eclipseCommon.h ../eclipseMain.c + $(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipseMain.c + +eclipseCommon.obj: ../eclipseCommon.h ../eclipseUnicode.h ../eclipseCommon.c + $(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipseCommon.c + +eclipse.obj: ../eclipseOS.h ../eclipseUnicode.h ../eclipse.c + $(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipse.c + +eclipseUtil.obj: ../eclipseUtil.h ../eclipseUnicode.h ../eclipseUtil.c + $(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipseUtil.c + +eclipseConfig.obj: ../eclipseConfig.h ../eclipseUnicode.h ../eclipseConfig.c + $(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipseConfig.c + +eclipseWin.obj: ../eclipseOS.h ../eclipseUnicode.h eclipseWin.c + $(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj eclipseWin.c + +eclipseWinCommon.obj: ../eclipseCommon.h eclipseWinCommon.c + $(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj eclipseWinCommon.c + +eclipseJNI.obj: ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.c + $(CC) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipseJNI.c + +eclipseShm.obj: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c + $(CC) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipseShm.c + +$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS) $(RES) + $(link) $(LFLAGS) -out:$(PROGRAM_OUTPUT) $(MAIN_OBJS) $(COMMON_OBJS) $(RES) $(LIBS) + +#the console version needs a flag set, should look for a better way to do this +$(CONSOLE): $(MAIN_OBJS) $(COMMON_OBJS) + del -f eclipseConfig.obj aeclipseConfig.obj + $(cc) $(DEBUG) $(wcflags) $(cvarsdll) -D_WIN32_CONSOLE /FoeclipseConfig.obj ../eclipseConfig.c + $(link) $(CONSOLEFLAGS) -out:$(CONSOLE) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS) + +$(DLL): $(DLL_OBJS) $(COMMON_OBJS) + $(link) $(DLL_LFLAGS) -out:$(PROGRAM_LIBRARY) $(DLL_OBJS) $(COMMON_OBJS) $(DLL_LIBS) + +$(RES): $(PROGRAM_NAME).rc + $(rc) -r -fo $(RES) eclipse.rc + +install: all + copy $(EXEC) $(OUTPUT_DIR) + del -f $(EXEC) $(MAIN_OBJS) $(DLL_OBJS) $(COMMON_OBJS) $(RES) + +clean: + del $(EXEC) $(DLL) $(MAIN_OBJS) $(DLL_OBJS) $(COMMON_OBJS) $(RES) diff --git a/features/org.eclipse.equinox.executable.feature/library/win32/make_win64.mak b/features/org.eclipse.equinox.executable.feature/library/win32/make_win64.mak new file mode 100644 index 000000000..f1faaabca --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/win32/make_win64.mak @@ -0,0 +1,107 @@ +#****************************************************************************** +# Copyright (c) 2007, 2009 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +#******************************************************************************* + +# Makefile for creating the eclipse launcher program. + +# This makefile expects the following environment variables set: +# +# PROGRAM_OUTPUT - the filename of the output executable +# PROGRAM_LIBRARY - the filename of the output dll library +# DEFAULT_OS - the default value of the "-os" switch +# DEFAULT_OS_ARCH - the default value of the "-arch" switch +# DEFAULT_WS - the default value of the "-ws" switch +# JAVA_HOME - the location of the Java for JNI includes +NODEBUG=1 + +APPVER=4.0 +_WIN32_WINNT=0x0400 +_WIN32_IE=0x0300 + +!include +!include <..\make_version.mak> + +PROGRAM_OUTPUT=eclipse.exe +# Separate filename from extention +PROGRAM_NAME=$(PROGRAM_OUTPUT:.exe=) + +PROGRAM_LIBRARY = eclipse_$(LIB_VERSION).dll + +# Define the object modules to be compiled and flags. +MAIN_OBJS = eclipseMain.obj +COMMON_OBJS = eclipseConfig.obj eclipseCommon.obj eclipseWinCommon.obj +DLL_OBJS = eclipse.obj eclipseWin.obj eclipseUtil.obj eclipseJNI.obj eclipseShm.obj + +LIBS = kernel32.lib user32.lib comctl32.lib msvcrt.lib bufferoverflowU.lib +DLL_LIBS = kernel32.lib user32.lib comctl32.lib gdi32.lib Advapi32.lib msvcrt.lib version.lib bufferoverflowU.lib +LFLAGS = /NODEFAULTLIB /INCREMENTAL:NO /RELEASE /NOLOGO -subsystem:windows -entry:wmainCRTStartup +CONSOLEFLAGS = /NODEFAULTLIB /INCREMENTAL:NO /RELEASE /NOLOGO -subsystem:console -entry:wmainCRTStartup +#DLL_LFLAGS = /NODEFAULTLIB /INCREMENTAL:NO /PDB:NONE /RELEASE /NOLOGO -entry:_DllMainCRTStartup@12 -dll /BASE:0x72000000 /DLL +DLL_LFLAGS = /NODEFAULTLIB /INCREMENTAL:NO /PDB:NONE /RELEASE /NOLOGO -dll /BASE:0x72000000 /DLL +RES = $(PROGRAM_NAME).res +EXEC = $(PROGRAM_OUTPUT) +CONSOLE = $(PROGRAM_NAME)c.exe +DLL = $(PROGRAM_LIBRARY) +DEBUG = #$(cdebug) +wcflags = -DUNICODE -I.. -DDEFAULT_OS="\"$(DEFAULT_OS)\"" \ + -DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \ + -DDEFAULT_WS="\"$(DEFAULT_WS)\"" \ + -I$(JAVA_HOME)\include -I$(JAVA_HOME)\include\win32 \ + $(cflags) +all: $(EXEC) $(DLL) $(CONSOLE) + +eclipseMain.obj: ../eclipseUnicode.h ../eclipseCommon.h ../eclipseMain.c + $(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipseMain.c + +eclipseCommon.obj: ../eclipseCommon.h ../eclipseUnicode.h ../eclipseCommon.c + $(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipseCommon.c + +eclipse.obj: ../eclipseOS.h ../eclipseUnicode.h ../eclipse.c + $(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipse.c + +eclipseUtil.obj: ../eclipseUtil.h ../eclipseUnicode.h ../eclipseUtil.c + $(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipseUtil.c + +eclipseConfig.obj: ../eclipseConfig.h ../eclipseUnicode.h ../eclipseConfig.c + $(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipseConfig.c + +eclipseWin.obj: ../eclipseOS.h ../eclipseUnicode.h eclipseWin.c + $(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj eclipseWin.c + +eclipseWinCommon.obj: ../eclipseCommon.h eclipseWinCommon.c + $(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj eclipseWinCommon.c + +eclipseJNI.obj: ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.c + $(CC) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipseJNI.c + +eclipseShm.obj: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c + $(CC) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipseShm.c + +$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS) $(RES) + $(link) $(LFLAGS) -out:$(PROGRAM_OUTPUT) $(MAIN_OBJS) $(COMMON_OBJS) $(RES) $(LIBS) + +#the console version needs a flag set, should look for a better way to do this +$(CONSOLE): $(MAIN_OBJS) $(COMMON_OBJS) + del -f eclipseConfig.obj aeclipseConfig.obj + $(cc) $(DEBUG) $(wcflags) $(cvarsdll) -D_WIN32_CONSOLE /FoeclipseConfig.obj ../eclipseConfig.c + $(link) $(CONSOLEFLAGS) -out:$(CONSOLE) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS) + +$(DLL): $(DLL_OBJS) $(COMMON_OBJS) + $(link) $(DLL_LFLAGS) -out:$(PROGRAM_LIBRARY) $(DLL_OBJS) $(COMMON_OBJS) $(DLL_LIBS) + +$(RES): $(PROGRAM_NAME).rc + $(rc) -r -fo $(RES) eclipse.rc + +install: all + copy $(EXEC) $(OUTPUT_DIR) + del -f $(EXEC) $(MAIN_OBJS) $(DLL_OBJS) $(COMMON_OBJS) $(RES) + +clean: + del $(EXEC) $(DLL) $(MAIN_OBJS) $(DLL_OBJS) $(COMMON_OBJS) $(RES) diff --git a/features/org.eclipse.equinox.executable.feature/library/win32/make_win64_ia64.mak b/features/org.eclipse.equinox.executable.feature/library/win32/make_win64_ia64.mak new file mode 100644 index 000000000..5d9ff5c86 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/win32/make_win64_ia64.mak @@ -0,0 +1,108 @@ +#****************************************************************************** +# Copyright (c) 2000, 2009 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +# Kevin Cornell (Rational Software Corporation) +#******************************************************************************* + +# Makefile for creating the eclipse launcher program. + +# This makefile expects the following environment variables set: +# +# PROGRAM_OUTPUT - the filename of the output executable +# PROGRAM_LIBRARY - the filename of the output dll library +# DEFAULT_OS - the default value of the "-os" switch +# DEFAULT_OS_ARCH - the default value of the "-arch" switch +# DEFAULT_WS - the default value of the "-ws" switch +# JAVA_HOME - the location of the Java for JNI includes +NODEBUG=1 +!include +!include <..\make_version.mak> + +PROGRAM_LIBRARY = eclipse_$(LIB_VERSION).dll + +# Define the object modules to be compiled and flags. +MAIN_OBJS = eclipseMain.obj +COMMON_OBJS = eclipseConfig.obj eclipseCommon.obj eclipseWinCommon.obj +DLL_OBJS = eclipse.obj eclipseWin.obj eclipseUtil.obj eclipseJNI.obj eclipseShm.obj + +# using dynamic lib +#LIBS = kernel32.lib user32.lib comctl32.lib msvcrt.lib +#DLL_LIBS = kernel32.lib user32.lib comctl32.lib gdi32.lib Advapi32.lib msvcrt.lib version.lib + +LIBS = kernel32.lib user32.lib comctl32.lib libcmt.lib bufferoverflowU.lib +DLL_LIBS = kernel32.lib user32.lib comctl32.lib gdi32.lib Advapi32.lib libcmt.lib version.lib bufferoverflowU.lib +# LIBS = kernel32.lib user32.lib gdi32.lib comctl32.lib bufferoverflowu.lib +# LFLAGS = /INCREMENTAL:NO /NOLOGO -subsystem:windows -entry:wmainCRTStartup -machine:IA64 + +# was: windows +LFLAGS = /NODEFAULTLIB /INCREMENTAL:NO /RELEASE /NOLOGO -subsystem:windows -entry:wmainCRTStartup -machine:IA64 +CONSOLEFLAGS = /NODEFAULTLIB /INCREMENTAL:NO /RELEASE /NOLOGO -subsystem:console -entry:wmainCRTStartup -machine:IA64 +DLL_LFLAGS = /NODEFAULTLIB /INCREMENTAL:NO /RELEASE /NOLOGO /PDB:NONE -entry:_DllMainCRTStartup -dll /BASE:0x72000000 /DLL -machine:IA64 +RES = eclipse.res +EXEC = eclipse.exe +CONSOLE = eclipsec.exe +DLL = $(PROGRAM_LIBRARY) +DEBUG = #$(cdebug) +wcflags = -DUNICODE -I.. -DDEFAULT_OS="\"$(DEFAULT_OS)\"" \ + -DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \ + -DDEFAULT_WS="\"$(DEFAULT_WS)\"" \ + -I$(JAVA_HOME)\include -I$(JAVA_HOME)\include\win32 \ + $(cflags) -D_CRT_SECURE_NO_WARNINGS -D_CRT_NON_CONFORMING_SWPRINTFS +all: $(EXEC) $(DLL) $(CONSOLE) + +eclipseMain.obj: ../eclipseUnicode.h ../eclipseCommon.h ../eclipseMain.c + $(cc) $(DEBUG) $(wcflags) $(cvars) /Fo$*.obj ../eclipseMain.c + +eclipseCommon.obj: ../eclipseCommon.h ../eclipseUnicode.h ../eclipseCommon.c + $(cc) $(DEBUG) $(wcflags) $(cvars) /Fo$*.obj ../eclipseCommon.c + +eclipse.obj: ../eclipseOS.h ../eclipseUnicode.h ../eclipse.c + $(cc) $(DEBUG) $(wcflags) $(cvars) /Fo$*.obj ../eclipse.c + +eclipseUtil.obj: ../eclipseUtil.h ../eclipseUnicode.h ../eclipseUtil.c + $(cc) $(DEBUG) $(wcflags) $(cvars) /Fo$*.obj ../eclipseUtil.c + +eclipseConfig.obj: ../eclipseConfig.h ../eclipseUnicode.h ../eclipseConfig.c + $(cc) $(DEBUG) $(wcflags) $(cvars) /Fo$*.obj ../eclipseConfig.c + +eclipseWin.obj: ../eclipseOS.h ../eclipseUnicode.h eclipseWin.c + $(cc) $(DEBUG) $(wcflags) $(cvars) /Fo$*.obj eclipseWin.c + +eclipseWinCommon.obj: ../eclipseCommon.h eclipseWinCommon.c + $(cc) $(DEBUG) $(wcflags) $(cvars) /Fo$*.obj eclipseWinCommon.c + +eclipseJNI.obj: ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.c + $(CC) $(DEBUG) $(wcflags) $(cvars) /Fo$*.obj ../eclipseJNI.c + +eclipseShm.obj: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c + $(CC) $(DEBUG) $(wcflags) $(cvars) /Fo$*.obj ../eclipseShm.c + +$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS) $(RES) + $(link) $(LFLAGS) -out:$(PROGRAM_OUTPUT) $(MAIN_OBJS) $(COMMON_OBJS) $(RES) $(LIBS) +#$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS) $(RES) +# $(link) $(LFLAGS) -out:$(PROGRAM_OUTPUT) $(MAIN_OBJS) $(COMMON_OBJS) $(RES) $(LIBS) + +#the console version needs a flag set, should look for a better way to do this +$(CONSOLE): $(MAIN_OBJS) $(COMMON_OBJS) + del -f eclipseConfig.obj aeclipseConfig.obj + $(cc) $(DEBUG) $(wcflags) $(cvars) -D_WIN32_CONSOLE /FoeclipseConfig.obj ../eclipseConfig.c + $(link) $(CONSOLEFLAGS) -out:$(CONSOLE) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS) + +$(DLL): $(DLL_OBJS) $(COMMON_OBJS) + $(link) $(DLL_LFLAGS) -out:$(PROGRAM_LIBRARY) $(DLL_OBJS) $(COMMON_OBJS) $(DLL_LIBS) + +$(RES): eclipse.rc + $(rc) -v -r -fo $(RES) eclipse.rc + +install: all + copy $(EXEC) $(OUTPUT_DIR) + del -f $(EXEC) $(MAIN_OBJS) $(DLL_OBJS) $(COMMON_OBJS) $(RES) + +clean: + del $(EXEC) $(DLL) $(MAIN_OBJS) $(DLL_OBJS) $(COMMON_OBJS) $(RES) diff --git a/features/org.eclipse.equinox.executable.feature/library/wpf/.cvsignore b/features/org.eclipse.equinox.executable.feature/library/wpf/.cvsignore new file mode 100644 index 000000000..b5e85ecb0 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/wpf/.cvsignore @@ -0,0 +1,12 @@ +*.obj +eclipse.exe +eclipse.res +*.pdb +*.exp +*.lib +eclipse_*.dll +com_*.dll +eclipsec.exe +eclipsec.exe.manifest +eclipse_*.dll.manifest +eclipse.exe.manifest diff --git a/features/org.eclipse.equinox.executable.feature/library/wpf/build.bat b/features/org.eclipse.equinox.executable.feature/library/wpf/build.bat new file mode 100644 index 000000000..57e1d7525 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/wpf/build.bat @@ -0,0 +1,127 @@ +@rem ******************************************************************************* +@rem Copyright (c) 2000, 2009 IBM Corporation and others. +@rem All rights reserved. This program and the accompanying materials +@rem are made available under the terms of the Eclipse Public License v1.0 +@rem which accompanies this distribution, and is available at +@rem http://www.eclipse.org/legal/epl-v10.html +@rem +@rem Contributors: +@rem IBM Corporation - initial API and implementation +@rem Kevin Cornell (Rational Software Corporation) +@rem ********************************************************************** +@rem +@rem Usage: sh build.sh [] [clean] +@rem +@rem where the optional switches are: +@rem -output - executable filename ("eclipse") +@rem -library - dll filename (eclipse.dll) +@rem -os - default Eclipse "-os" value (qnx) +@rem -arch - default Eclipse "-arch" value (x86) +@rem -ws - default Eclipse "-ws" value (photon) +@rem -java - location of a Java SDK for JNI headers +@rem +@rem +@rem This script can also be invoked with the "clean" argument. +@rem +@rem NOTE: The C compiler needs to be setup. This script has been +@rem tested against Microsoft Visual C and C++ Compiler 6.0. +@rem +@rem Uncomment the lines below and edit MSVC_HOME to point to the +@rem correct root directory of the compiler installation, if you +@rem want this to be done by this script. +@rem +@rem ****** +@echo off + +IF x.%1==x.x86 shift + +rem ***** +rem Javah +rem ***** +IF x."%JAVA_HOME%"==x. set JAVA_HOME="S:\swt-builddir\ibm-java2-sdk-50-win-i386" +set javaHome=%JAVA_HOME% + +:MSVC + +call "S:\swt-builddir\MSSDKs\Microsoft SDK 6.0 Vista\Bin\setenv.cmd" /x86 /vista +:MAKE + +rem -------------------------- +rem Define default values for environment variables used in the makefiles. +rem -------------------------- +set programOutput=eclipse.exe +set programLibrary=eclipse.dll +set defaultOS=win32 +set defaultOSArch=x86 +set defaultWS=wpf +set makefile=make_wpf.mak +set OS=Windows + +rem -------------------------- +rem Parse the command line arguments and override the default values. +rem -------------------------- +set extraArgs= +:WHILE +if "%1" == "" goto WHILE_END + if "%2" == "" goto LAST_ARG + + if "%1" == "-os" ( + set defaultOS=%2 + shift + goto NEXT ) + if "%1" == "-arch" ( + set defaultOSArch=%2 + shift + goto NEXT ) + if "%1" == "-ws" ( + set defaultWS=%2 + shift + goto NEXT ) + if "%1" == "-output" ( + set programOutput=%2 + shift + goto NEXT ) + if "%1" == "-library" ( + set programLibrary=%2 + shift + goto NEXT ) + if "%1" == "-java" ( + set javaHome=%2 + shift + goto NEXT ) +:LAST_ARG + set extraArgs=%extraArgs% %1 + +:NEXT + shift + goto WHILE +:WHILE_END + +rem -------------------------- +rem Set up environment variables needed by the makefile. +rem -------------------------- +set PROGRAM_OUTPUT=%programOutput% +set PROGRAM_LIBRARY=%programLibrary% +set DEFAULT_OS=%defaultOS% +set DEFAULT_OS_ARCH=%defaultOSArch% +set DEFAULT_WS=%defaultWS% +set EXEC_DIR=..\..\.\..\..\rt.equinox.binaries\org.eclipse.equinox.executable +set OUTPUT_DIR=%EXEC_DIR%\bin\%defaultWS%\%defaultOS%\%defaultOSArch% +set JAVA_HOME=%javaHome% + +rem -------------------------- +rem Run nmake to build the executable. +rem -------------------------- +if "%extraArgs%" == "" goto MAKE_ALL + +nmake -f %makefile% %extraArgs% +goto DONE + +:MAKE_ALL +echo Building %OS% launcher. Defaults: -os %DEFAULT_OS% -arch %DEFAULT_OS_ARCH% -ws %DEFAULT_WS% +nmake -f %makefile% clean +nmake -f %makefile% %1 %2 %3 %4 +goto DONE + + +:DONE diff --git a/features/org.eclipse.equinox.executable.feature/library/wpf/build.xml b/features/org.eclipse.equinox.executable.feature/library/wpf/build.xml new file mode 100644 index 000000000..f4b96fe70 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/wpf/build.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/features/org.eclipse.equinox.executable.feature/library/wpf/com.c b/features/org.eclipse.equinox.executable.feature/library/wpf/com.c new file mode 100644 index 000000000..35ce38514 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/wpf/com.c @@ -0,0 +1,28 @@ +/******************************************************************************* + * Copyright (c) 2000, 2007 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ + +#include +#include + +#define COM_NATIVE(func) Java_org_eclipse_equinox_launcher_JNIBridge_##func + +JNIEXPORT jint JNICALL COM_NATIVE(OleInitialize) + (JNIEnv *env, jclass that, jint arg0) +{ + return (jint)OleInitialize((LPVOID)arg0); +} + +JNIEXPORT void JNICALL COM_NATIVE(OleUninitialize) + (JNIEnv *env, jclass that) +{ + OleUninitialize(); +} + diff --git a/features/org.eclipse.equinox.executable.feature/library/wpf/eclipse.ico b/features/org.eclipse.equinox.executable.feature/library/wpf/eclipse.ico new file mode 100644 index 000000000..9fb5b5b94 Binary files /dev/null and b/features/org.eclipse.equinox.executable.feature/library/wpf/eclipse.ico differ diff --git a/features/org.eclipse.equinox.executable.feature/library/wpf/eclipse.rc b/features/org.eclipse.equinox.executable.feature/library/wpf/eclipse.rc new file mode 100644 index 000000000..874a4b94e --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/wpf/eclipse.rc @@ -0,0 +1,21 @@ +/******************************************************************************* + * Copyright (c) 2000, 2007 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ + +#define ECLIPSE_ICON 401 + +#include "windows.h" +#include "winver.h" + + +ECLIPSE_ICON ICON DISCARDABLE "eclipse.ico" + +//CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "eclipse.exe.manifest" + diff --git a/features/org.eclipse.equinox.executable.feature/library/wpf/eclipseWpf.cpp b/features/org.eclipse.equinox.executable.feature/library/wpf/eclipseWpf.cpp new file mode 100644 index 000000000..f96523995 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/wpf/eclipseWpf.cpp @@ -0,0 +1,561 @@ +/******************************************************************************* + * Copyright (c) 2000, 2010 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Kevin Cornell (Rational Software Corporation) + *******************************************************************************/ + +extern "C" { + +#include "eclipseOS.h" +#include "eclipseUtil.h" +#include "eclipseCommon.h" +#include "eclipseJNI.h" + +#include +#include +#include +#include +#include + +using namespace System; +using namespace System::IO; +using namespace System::Windows; +using namespace System::Windows::Input; +using namespace System::Windows::Media; +using namespace System::Windows::Media::Imaging; +using namespace System::Windows::Controls; +using namespace System::Windows::Threading; +using namespace System::Runtime::InteropServices; +using namespace System::ComponentModel; + + +/* Global Variables */ +_TCHAR* defaultVM = _T("javaw.exe"); +_TCHAR* consoleVM = _T("java.exe"); +_TCHAR* vmLibrary = _T("jvm.dll"); +_TCHAR* shippedVMDir = _T("jre\\bin\\"); + +/* Define the window system arguments for the Java VM. */ +static _TCHAR* argVM[] = { NULL }; + +/* Define local variables for running the JVM and detecting its exit. */ +static int jvmProcess = 0; +static JavaResults* jvmResults = NULL; +static int jvmExitTimeout = 100; +static int jvmExitTimerId = 99; + +static void CALLBACK detectJvmExit (); +static _TCHAR* checkVMRegistryKey(HKEY jrekey, _TCHAR* subKeyName); +static void adjustSearchPath( _TCHAR * vmLibrary ); +static _TCHAR* findLib( _TCHAR* command ); + +/* define default locations in which to find the jvm shared library + * these are paths relative to the java exe, the shared library is + * for example jvmLocations[0] + dirSeparator + vmLibrary */ +#define MAX_LOCATION_LENGTH 25 /* none of the jvmLocations strings should be longer than this */ +static const _TCHAR* jvmLocations [] = { _T("j9vm"), _T("..\\jre\\bin\\j9vm"), + _T("client"), _T("..\\jre\\bin\\client"), + _T("server"), _T("..\\jre\\bin\\server"), + _T("classic"), _T("..\\jre\\bin\\classic"), + _T("jrockit"), _T("..\\jre\\bin\\jrockit"), + NULL }; +/* for detecting sun vms */ +typedef struct { + WORD language; + WORD codepage; +} TRANSLATIONS; + +#define COMPANY_NAME_KEY _T_ECLIPSE("\\StringFileInfo\\%04x%04x\\CompanyName") +#define SUN_MICROSYSTEMS _T_ECLIPSE("Sun Microsystems") + +delegate void NoArgsHandler (); + +public ref class Globals { +public: + static Window^ window = nullptr; + static DispatcherFrame^ frame = nullptr; + + static void HandleDispatcherInactive (Object^ o, EventArgs^ e) { + if (frame != nullptr) frame->Continue = false; + } + static void HandleClosing (Object^ o, CancelEventArgs^ e) { + window = nullptr; + } + static void HandleTimer (Object^ o, EventArgs^ e) { + detectJvmExit(); + if (jvmProcess == 0) { + if (frame != nullptr) { + frame->Continue = false; + } + } + } + static void CloseWindow () { + if (window != nullptr) { + window->Close(); + window = nullptr; + } + } +}; + + +/* Show the Splash Window + * + * Open the bitmap, insert into the splash window and display it. + * + */ +int showSplash( const _TCHAR* featureImage ) +{ + static int splashing = 0; + + if(splashing) { + /*splash screen is already showing, do nothing */ + return 0; + } + if (featureImage == NULL) + return -1; + + /* if Java was started first and is calling back to show the splash, we might not + * have initialized the window system yet + */ + initWindowSystem(0, NULL, 1); + + /* Load the bitmap for the feature. */ + BitmapSource^ image = nullptr; + if (featureImage != NULL) { + String^ string = gcnew String (featureImage); + if (File::Exists (string)) { + Uri^ uri = gcnew Uri (string); + image = gcnew BitmapImage (uri); + } + } + + /* If the bitmap could not be found, return an error. */ + if (image == nullptr) + return ERROR_FILE_NOT_FOUND; + + /* Create a window that has no decorations. */ + Window^ window = Globals::window = gcnew Window(); + window->Closing += gcnew CancelEventHandler(&Globals::HandleClosing); + window->WindowStyle = WindowStyle::None; + window->ShowInTaskbar = false; + window->ResizeMode = ResizeMode::NoResize; + window->WindowStartupLocation = WindowStartupLocation::CenterScreen; + KeyboardNavigation::SetTabNavigation (window, KeyboardNavigationMode::None); + + Grid^ grid = gcnew Grid(); + GridLength length (1, GridUnitType::Auto); + ColumnDefinition^ column = gcnew ColumnDefinition(); + grid->ColumnDefinitions->Add (column); + column = gcnew ColumnDefinition(); + column->Width = length; + grid->ColumnDefinitions->Add (column); + RowDefinition^ row = gcnew RowDefinition (); + row->Height = length; + grid->RowDefinitions->Add (row); + row = gcnew RowDefinition (); + grid->RowDefinitions->Add (row); + row = gcnew RowDefinition (); + row->Height = length; + grid->RowDefinitions->Add (row); + window->Content = grid; + + Canvas^ canvas = gcnew Canvas (); + canvas->FocusVisualStyle = nullptr; + canvas->Focusable = true; + Grid::SetRow (canvas, 1); + Grid::SetColumn (canvas, 0); + grid->Children->Add (canvas); + + ImageBrush^ brush = gcnew ImageBrush(image); + canvas->Background = brush; + + window->Width = image->Width; + window->Height = image->Height; + window->Show(); + + splashing = 1; + + /* Process messages */ + dispatchMessages(); + return 0; +} + +void dispatchMessages() { + DispatcherFrame^ frame = gcnew DispatcherFrame(); + Globals::frame = frame; + EventHandler^ handler = gcnew EventHandler (&Globals::HandleDispatcherInactive); + Dispatcher^ dispatcher = Dispatcher::CurrentDispatcher; + DispatcherHooks^ hooks = dispatcher->Hooks; + hooks->DispatcherInactive += handler; + Dispatcher::PushFrame (frame); + hooks->DispatcherInactive -= handler; + Globals::frame = nullptr; +} + +jlong getSplashHandle() { + Window^ window = Globals::window; + return (jlong)(int)GCHandle::ToIntPtr(GCHandle::Alloc(window)); +} + +void takeDownSplash() { + if (false) { + NoArgsHandler^ handler = gcnew NoArgsHandler(&Globals::CloseWindow); + Dispatcher::CurrentDispatcher->BeginInvoke(DispatcherPriority::Send, handler); + } else { + Window^ window = Globals::window; + if(window != nullptr) { + window->Close (); + window = nullptr; + dispatchMessages(); + } + } +} + +/* Get the window system specific VM args */ +_TCHAR** getArgVM( _TCHAR *vm ) +{ + return argVM; +} + +/* Local functions */ + +/* + * Find the VM shared library starting from the java executable + */ +_TCHAR * findVMLibrary( _TCHAR* command ) { + _TCHAR* lib = findLib(command); + if( lib != NULL ) { + adjustSearchPath(lib); + } + return lib; +} + +void adjustSearchPath( _TCHAR* vmLib ){ + _TCHAR ** paths; + _TCHAR * path = NULL, *newPath = NULL; + _TCHAR * buffer, *c; + int i, length; + int needAdjust = 0, freePath = 0; + + /* we want the directory containing the library, and the parent directory of that */ + paths = getVMLibrarySearchPath(vmLib); + + /* first call to GetEnvironmentVariable tells us how big to make the buffer */ + length = GetEnvironmentVariable(_T_ECLIPSE("PATH"), path, 0); + if (length > 0) { + path = (_TCHAR*)malloc(length * sizeof(_TCHAR)); + GetEnvironmentVariable(_T_ECLIPSE("PATH"), path, length); + needAdjust = !containsPaths(path, paths); + freePath = 1; + } else { + path = _T_ECLIPSE(""); + freePath = 0; + needAdjust = 1; + } + + if (needAdjust) { + c = concatStrings(paths); + newPath = (_TCHAR*)malloc((_tcslen(c) + length + 1) * sizeof(_TCHAR)); + _stprintf(newPath, _T_ECLIPSE("%s%s"), c, path); + SetEnvironmentVariable( _T_ECLIPSE("PATH"), newPath); + free(c); + free(newPath); + } + + for (i = 0; i < 2 && paths[i] != NULL; i++) + free(paths[i]); + free(paths); + if (freePath) + free(path); +} + +static _TCHAR* findLib( _TCHAR* command ) { + int i, j; + int pathLength; + struct _stat stats; + _TCHAR * path; /* path to resulting jvm shared library */ + _TCHAR * location; /* points to begining of jvmLocations section of path */ + + /* for looking in the registry */ + HKEY jreKey = NULL; + DWORD length = MAX_PATH; + _TCHAR keyName[MAX_PATH]; + _TCHAR * jreKeyName; + + if (command != NULL) { + location = lastDirSeparator( command ) + 1; + + /*check first to see if command already points to the library */ + if (isVMLibrary(command)) { + if (_tstat( command, &stats ) == 0 && (stats.st_mode & S_IFREG) != 0) + return command; /* exists */ + return NULL; /* doesn't exist */ + } + + pathLength = location - command; + path = (_TCHAR *)malloc((pathLength + MAX_LOCATION_LENGTH + 1 + _tcslen(vmLibrary) + 1) * sizeof(_TCHAR)); + _tcsncpy(path, command, pathLength); + location = &path[pathLength]; + + /* + * We are trying base/jvmLocations[*]/vmLibrary + * where base is the directory containing the given java command, normally jre/bin + */ + i = -1; + while(jvmLocations[++i] != NULL) { + _stprintf(location, _T_ECLIPSE("%s%c%s"), jvmLocations[i], dirSeparator, vmLibrary); + if (_tstat( path, &stats ) == 0 && (stats.st_mode & S_IFREG) != 0) + { /* found it */ + return path; + } + } + } + + /* Not found yet, try the registry, we will use the first vm >= 1.4 */ + jreKeyName = _T("Software\\JavaSoft\\Java Runtime Environment"); + if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, jreKeyName, 0, KEY_READ, &jreKey) == ERROR_SUCCESS) { + if(RegQueryValueEx(jreKey, _T_ECLIPSE("CurrentVersion"), NULL, NULL, (LPBYTE)&keyName, &length) == ERROR_SUCCESS) { + path = checkVMRegistryKey(jreKey, keyName); + if (path != NULL) { + RegCloseKey(jreKey); + return path; + } + } + j = 0; + length = MAX_PATH; + while (RegEnumKeyEx(jreKey, j++, keyName, &length, 0, 0, 0, 0) == ERROR_SUCCESS) { + /*look for a 1.4 or 1.5 vm*/ + if( _tcsncmp(_T("1.4"), keyName, 3) <= 0 ) { + path = checkVMRegistryKey(jreKey, keyName); + if (path != NULL) { + RegCloseKey(jreKey); + return path; + } + } + } + RegCloseKey(jreKey); + } + return NULL; +} + +/* + * Read the subKeyName subKey of jreKey and look to see if it has a Value + * "RuntimeLib" which points to a jvm library we can use + * + * Does not close jreKey + */ +static _TCHAR* checkVMRegistryKey(HKEY jreKey, _TCHAR* subKeyName) { + _TCHAR value[MAX_PATH]; + HKEY subKey = NULL; + DWORD length = MAX_PATH; + _TCHAR *result = NULL; + struct _stat stats; + + if(RegOpenKeyEx(jreKey, subKeyName, 0, KEY_READ, &subKey) == ERROR_SUCCESS) { + /*The RuntimeLib value should point to the library we want*/ + if(RegQueryValueEx(subKey, _T("RuntimeLib"), NULL, NULL, (LPBYTE)&value, &length) == ERROR_SUCCESS) { + if (_tstat( value, &stats ) == 0 && (stats.st_mode & S_IFREG) != 0) + { /*library exists*/ + result = _tcsdup(value); + } + } + RegCloseKey(subKey); + } + return result; +} + +static _TCHAR* buildCommandLine( _TCHAR* program, _TCHAR* args[] ) +{ + int index, length = 0, slash; + _TCHAR *commandLine, *ch, *space; + + /* + * Build the command line. Any argument with spaces must be in + * double quotes in the command line. + */ + if(program != NULL) + length = _tcslen(program) + 1; + for (index = 0; args[index] != NULL; index++) + { + /* String length plus space character */ + length += _tcslen( args[ index ] ) + 1; + /* Quotes + potential escaping '\' */ + if (_tcschr( args[ index ], _T(' ') ) != NULL) length += 3; + } + + commandLine = ch = (_TCHAR *)malloc ( (length + 1) * sizeof(_TCHAR) ); + if (program != NULL) { + _tcscpy(ch, program); + ch += _tcslen(program); + *ch++ = _T(' '); + } + for (index = 0; args[index] != NULL; index++) + { + space = _tcschr( args[ index ], _T(' ')); + if (space != NULL) *ch++ = _T('\"'); + _tcscpy( ch, args[index] ); + ch += _tcslen( args[index] ); + if (space != NULL) { + if ( *(ch - 1) == _T('\\') ) { + /* escape a trailing unescaped '\' or it will escape our closing '"' and mess things up */ + slash = 1; + while ( *(ch - 1 - slash) == _T('\\')) slash++; + if (slash % 2) *ch++ = _T('\\'); + } + *ch++ = _T('\"'); + } + *ch++ = _T(' '); + } + *ch = _T('\0'); + return commandLine; +} +void restartLauncher( _TCHAR* program, _TCHAR* args[] ) +{ + _TCHAR* commandLine = buildCommandLine(program, args); + + { + STARTUPINFO si; + PROCESS_INFORMATION pi; + GetStartupInfo(&si); + if (CreateProcess(NULL, commandLine, NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi)) { + CloseHandle( pi.hThread ); + } + } + free(commandLine); +} + +JavaResults* launchJavaVM( _TCHAR* args[] ) +{ + MSG msg; + _TCHAR* commandLine; + jvmProcess = -1; + commandLine = buildCommandLine(NULL, args); + jvmResults = (JavaResults*) malloc(sizeof(JavaResults)); + memset(jvmResults, 0, sizeof(JavaResults)); + + /* + * Start the Java virtual machine. Use CreateProcess() instead of spawnv() + * otherwise the arguments cannot be freed since spawnv() segments fault. + */ + { + STARTUPINFO si; + PROCESS_INFORMATION pi; + GetStartupInfo(&si); + if (CreateProcess(NULL, commandLine, NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi)) { + CloseHandle( pi.hThread ); + jvmProcess = (int)pi.hProcess; + } + } + + free( commandLine ); + + /* If the child process (JVM) would not start */ + if (jvmProcess == -1) + { + /* Return the error number. */ + jvmResults->launchResult = errno; + jvmProcess = 0; + } + + /* else */ + else + { + + /* Set a timer to detect JVM process termination. */ + DispatcherTimer^ timer = gcnew DispatcherTimer(); + timer->Interval = TimeSpan::FromMilliseconds (jvmExitTimeout); + timer->Tick += gcnew EventHandler(&Globals::HandleTimer); + + /* Process messages until the JVM terminates. + This launcher process must continue to process events until the JVM exits + or else Windows 2K will hang if the desktop properties (e.g., background) are + changed by the user. Windows does a SendMessage() to every top level window + process, which blocks the caller until the process responds. */ + + DispatcherFrame^ frame = gcnew DispatcherFrame(); + Globals::frame = frame; + timer->Start(); + Dispatcher::PushFrame(frame); + Globals::frame = nullptr; + timer->Stop(); + + } + + /* Return the exit code from the JVM. */ + return jvmResults; +} + +/* Detect JVM Process Termination */ +static void CALLBACK detectJvmExit () +{ + DWORD exitCode; + /* If the JVM process has terminated */ + if (!GetExitCodeProcess( (HANDLE)jvmProcess, &exitCode ) || + exitCode != STILL_ACTIVE) + { + /* Save the JVM exit code. This should cause the loop in launchJavaVM() to exit. */ + jvmResults->runResult = exitCode; + jvmProcess = 0; + } +} + +void processVMArgs(_TCHAR **vmargs[] ) { +// /* nothing yet */ +} + +JavaResults* startJavaVM( _TCHAR* libPath, _TCHAR* vmArgs[], _TCHAR* progArgs[], _TCHAR* jarFile ) +{ + return startJavaJNI(libPath, vmArgs, progArgs, jarFile); +} + +int isSunVM( _TCHAR * javaVM, _TCHAR * jniLib ) { + _TCHAR *vm = (jniLib != NULL) ? jniLib : javaVM; + int result = 0; + DWORD infoSize; + DWORD handle; + void * info; + + _TCHAR * key, *value; + size_t i; + int valueSize; + + if (vm == NULL) + return 0; + + infoSize = GetFileVersionInfoSize(vm, &handle); + if (infoSize > 0) { + info = malloc(infoSize); + if (GetFileVersionInfo(vm, 0, infoSize, info)) { + TRANSLATIONS * translations; + int translationsSize; + VerQueryValue(info, _T_ECLIPSE("\\VarFileInfo\\Translation"), (LPVOID *) &translations, (PUINT)&translationsSize); + + /* this size is only right because %04x is 4 characters */ + key = (_TCHAR *) malloc( (_tcslen(COMPANY_NAME_KEY) + 1) * sizeof(_TCHAR)); + for (i = 0; i < (translationsSize / sizeof(TRANSLATIONS)); i++) { + _stprintf(key, COMPANY_NAME_KEY, translations[i].language, translations[i].codepage); + + VerQueryValue(info, key, (LPVOID *)&value, (PUINT)&valueSize); + if (_tcsncmp(value, SUN_MICROSYSTEMS, _tcslen(SUN_MICROSYSTEMS)) == 0) { + result = 1; + break; + } + } + free(key); + } + free(info); + } + return result; +} + +int reuseWorkbench(_TCHAR** filePath, int timeout) { + /* not implemented for WPF */ + return -1; +} +} // extern "C" diff --git a/features/org.eclipse.equinox.executable.feature/library/wpf/eclipseWpfCommon.cpp b/features/org.eclipse.equinox.executable.feature/library/wpf/eclipseWpfCommon.cpp new file mode 100644 index 000000000..03ce3fceb --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/wpf/eclipseWpfCommon.cpp @@ -0,0 +1,87 @@ +/******************************************************************************* + * Copyright (c) 2006, 2007 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Andrew Niefer + *******************************************************************************/ + + +extern "C" { + +#include "eclipseCommon.h" +#include "eclipseOS.h" + +#include +#include +#include + + +#define ECLIPSE_ICON 401 + +_TCHAR dirSeparator = _T('\\'); +_TCHAR pathSeparator = _T(';'); + +static int initialized = 0; + +/* Load the specified shared library + */ +void * loadLibrary( _TCHAR * library ){ + return (void *)LoadLibrary(library); +} + +/* Unload the shared library + */ +void unloadLibrary( void * handle ){ + FreeLibrary((HMODULE)handle); +} + +/* Find the given symbol in the shared library + */ +void * findSymbol( void * handle, _TCHAR * symbol ){ + char * str = NULL; + void * result; + + str = toNarrow(symbol); + result = GetProcAddress((HMODULE)handle, str); + free(str); + return result; +} + +_TCHAR* resolveSymlinks( _TCHAR* path ) { + /* no symlinks on windows */ + return path; +} + +} //end extern C + +/* Display a Message */ +void displayMessage( _TCHAR* title, _TCHAR* message ) +{ + if(!initialized) + initWindowSystem(0, NULL, 0); + + System::String^ titleStr = gcnew System::String (title); + System::String^ messageStr = gcnew System::String (message); + System::Windows::MessageBox::Show (messageStr, titleStr, System::Windows::MessageBoxButton::OK); +} + +/* Initialize Window System + * + * Create a pop window to display the bitmap image. + * + * Return the window handle as the data for the splash command. + * + */ +int initWindowSystem( int* pArgc, _TCHAR* argv[], int showSplash ) +{ + + if(initialized) + return 0; + initialized = 1; + return 0; +} diff --git a/features/org.eclipse.equinox.executable.feature/library/wpf/make_wpf.mak b/features/org.eclipse.equinox.executable.feature/library/wpf/make_wpf.mak new file mode 100644 index 000000000..1d92df461 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/library/wpf/make_wpf.mak @@ -0,0 +1,113 @@ +#****************************************************************************** +# Copyright (c) 2000, 2007 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +# Kevin Cornell (Rational Software Corporation) +#******************************************************************************* + +# Makefile for creating the eclipse launcher program. + +# This makefile expects the following environment variables set: +# +# PROGRAM_OUTPUT - the filename of the output executable +# PROGRAM_LIBRARY - the filename of the output dll library +# DEFAULT_OS - the default value of the "-os" switch +# DEFAULT_OS_ARCH - the default value of the "-arch" switch +# DEFAULT_WS - the default value of the "-ws" switch +# JAVA_HOME - the location of the Java for JNI includes +NODEBUG=1 +!include <..\make_version.mak> + +PROGRAM_LIBRARY = eclipse_$(LIB_VERSION).dll +PROGRAM_OUTPUT=eclipse.exe +# Separate filename from extention +PROGRAM_NAME=$(PROGRAM_OUTPUT:.exe=) + +# Define the object modules to be compiled and flags. +MAIN_OBJS = eclipseMain.obj +COMMON_OBJS = eclipseConfig.obj eclipseCommon.obj eclipseWpfCommon.obj +DLL_OBJS = eclipse.obj eclipseWpf.obj eclipseUtil.obj eclipseJNI.obj eclipseShm.obj + +LIBS = kernel32.lib msvcrt.lib mscoree.lib +DLL_LIBS = kernel32.lib Advapi32.lib msvcrt.lib version.lib +LFLAGS = -CLRTHREADATTRIBUTE:STA /NODEFAULTLIB:LIBCMT /INCREMENTAL:NO /LARGEADDRESSAWARE /RELEASE /NOLOGO -subsystem:windows,4.0 -entry:wmainCRTStartup +CONSOLEFLAGS = -CLRTHREADATTRIBUTE:STA /NODEFAULTLIB:LIBCMT /INCREMENTAL:NO /LARGEADDRESSAWARE /RELEASE /NOLOGO -subsystem:console,4.0 -entry:wmainCRTStartup +DLL_LFLAGS = -CLRTHREADATTRIBUTE:STA /NODEFAULTLIB:LIBCMT /INCREMENTAL:NO /LARGEADDRESSAWARE /PDB:NONE -dll /BASE:0x72000000 /DLL +RES = $(PROGRAM_NAME).res +EXEC = $(PROGRAM_OUTPUT) +CONSOLE = $(PROGRAM_NAME)c.exe +DLL = $(PROGRAM_LIBRARY) +DEBUG = #$(cdebug) + +CFLAGS = -c -DUNICODE -DVISTA -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NON_CONFORMING_SWPRINTFS -I.. -DDEFAULT_OS="\"$(DEFAULT_OS)\"" \ + -DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \ + -DDEFAULT_WS="\"$(DEFAULT_WS)\"" \ + -I$(JAVA_HOME)\include -I$(JAVA_HOME)\include\win32 \ + $(cflags) + +WPF_HOME = C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0 +DOTNET_HOME = C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 +CPPFLAGS = -clr /FU"$(WPF_HOME)\PresentationCore.dll" /FU"$(WPF_HOME)\PresentationFramework.dll" /FU$(DOTNET_HOME)\System.Data.dll /FU$(DOTNET_HOME)\System.dll /FU$(DOTNET_HOME)\System.Xml.dll /FU"$(WPF_HOME)\UIAutomationProvider.dll" /FU"$(WPF_HOME)\UIAutomationTypes.dll" /FU"$(WPF_HOME)\WindowsBase.dll" + + +all: $(EXEC) $(DLL) com $(CONSOLE) + +eclipseMain.obj: ../eclipseUnicode.h ../eclipseCommon.h ../eclipseMain.c + $(CC) $(DEBUG) $(CFLAGS) $(cvarsdll) /Fo$*.obj ../eclipseMain.c + +eclipseCommon.obj: ../eclipseCommon.h ../eclipseUnicode.h ../eclipseCommon.c + $(CC) $(DEBUG) $(CFLAGS) $(cvarsdll) /Fo$*.obj ../eclipseCommon.c + +eclipse.obj: ../eclipseOS.h ../eclipseUnicode.h ../eclipse.c + $(CC) $(DEBUG) $(CFLAGS) $(cvarsdll) /Fo$*.obj ../eclipse.c + +eclipseUtil.obj: ../eclipseUtil.h ../eclipseUnicode.h ../eclipseUtil.c + $(CC) $(DEBUG) $(CFLAGS) $(cvarsdll) /Fo$*.obj ../eclipseUtil.c + +eclipseConfig.obj: ../eclipseConfig.h ../eclipseUnicode.h ../eclipseConfig.c + $(CC) $(DEBUG) $(CFLAGS) $(cvarsdll) /Fo$*.obj ../eclipseConfig.c + +eclipseWpf.obj: ../eclipseOS.h ../eclipseUnicode.h eclipseWpf.cpp + $(CC) $(DEBUG) $(CFLAGS) $(CPPFLAGS) $(cvarsdll) /Fo$*.obj eclipseWpf.cpp + +eclipseWpfCommon.obj: ../eclipseCommon.h eclipseWpfCommon.cpp + $(CC) $(DEBUG) $(CFLAGS) $(CPPFLAGS) $(cvarsdll) /Fo$*.obj eclipseWpfCommon.cpp + +eclipseJNI.obj: ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.c + $(CC) $(DEBUG) $(CFLAGS) $(cvarsdll) /Fo$*.obj ../eclipseJNI.c + +eclipseShm.obj: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c + $(CC) $(DEBUG) $(CFLAGS) $(cvarsdll) /Fo$*.obj ../eclipseShm.c + +$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS) + rc.exe -r -fo $(RES) $(PROGRAM_NAME).rc + link $(LFLAGS) -out:$(PROGRAM_OUTPUT) $(MAIN_OBJS) $(COMMON_OBJS) $(RES) $(LIBS) + mt.exe -manifest $(PROGRAM_OUTPUT).manifest -outputresource:$(PROGRAM_OUTPUT);2 + +$(CONSOLE): $(MAIN_OBJS) $(COMMON_OBJS) + del -f eclipseConfig.obj + $(CC) $(DEBUG) $(CFLAGS) $(cvarsdll) -D_WIN32_CONSOLE /FoeclipseConfig.obj ../eclipseConfig.c + link $(CONSOLEFLAGS) -out:$(CONSOLE) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS) + mt.exe -manifest $(PROGRAM_OUTPUT).manifest -outputresource:$(CONSOLE);2 + +$(DLL): $(DLL_OBJS) $(COMMON_OBJS) + link $(DLL_LFLAGS) -out:$(PROGRAM_LIBRARY) $(DLL_OBJS) $(COMMON_OBJS) $(DLL_LIBS) + mt.exe -manifest $(PROGRAM_LIBRARY).manifest -outputresource:$(PROGRAM_LIBRARY);2 + +com.obj: com.c + $(CC) $(DEBUG) $(CFLAGS) $(cvarsdll) /Fo$*.obj com.c + +com: com.obj + link /DLL -out:com_$(LIB_VERSION).dll com.obj ole32.lib + +install: all + copy $(EXEC) $(OUTPUT_DIR) + del -f $(EXEC) $(MAIN_OBJS) $(DLL_OBJS) $(COMMON_OBJS) $(RES) + +clean: + del $(EXEC) $(DLL) $(MAIN_OBJS) $(DLL_OBJS) $(COMMON_OBJS) $(RES) *.manifest *.exp *.lib *.dll diff --git a/features/org.eclipse.equinox.executable.feature/motif_root/about.html b/features/org.eclipse.equinox.executable.feature/motif_root/about.html new file mode 100644 index 000000000..ef7a8afd3 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/motif_root/about.html @@ -0,0 +1,20 @@ + + + +About + + + +

About This Content

+ +

February 22, 2006

+

License

+ +

This directory contains third-party libraries that are required by the Eclipse launcher. Refer below for further information.

+ +

Open Motif for Linux

+ +
+ + + diff --git a/features/org.eclipse.equinox.executable.feature/motif_root/about_files/about_open_motif.html b/features/org.eclipse.equinox.executable.feature/motif_root/about_files/about_open_motif.html new file mode 100644 index 000000000..28625208f --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/motif_root/about_files/about_open_motif.html @@ -0,0 +1,38 @@ + + + +About + + + +

About This Content

+ +

June 20, 2005

+

License

+ +

The Eclipse Foundation has included the following package for your convenience:

+ +

Open Motif for Linux 2.1.30 Release 4

+ +

Open Motif for Linux ("Open Motif") is developed by Metro Link as part of The Open Motif project. Open Motif is:

+ +
+ Copyright (C) May, 2000 The Open Group, Metro Link, Incorporated and others. All Rights Reserved +
+ +

Open Motif includes the following files:

+
    +
  • libXm.so.2
  • +
+ +

Open Motif is not considered part of the content provided by the Eclipse Foundation. Your use of the Open Motif code in binary form is subject to +the terms and conditions of Metro Link Public License 1.00 ("MLPL"). A copy of the MLPL is provided (mlpl-v10.html) +and is also available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html.

+ +

Source code for Open Motif is available at http://www.opengroup.org/openmotif/supporters/metrolink/.

+ +

If you did not receive Open Motif directly from the Eclipse Foundation, the package is being redistributed by another party ("Redistributor") and different terms and conditions may +apply its use. Check the Redistributor's license that was provided with the content. If no such license exists, contact the Redistributor.

+ + + \ No newline at end of file diff --git a/features/org.eclipse.equinox.executable.feature/motif_root/about_files/mlpl-v10.html b/features/org.eclipse.equinox.executable.feature/motif_root/about_files/mlpl-v10.html new file mode 100644 index 000000000..5c692a5f3 --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/motif_root/about_files/mlpl-v10.html @@ -0,0 +1,401 @@ + + +Metro Link Open Motif License + + + + + + + +
+

METRO LINK PUBLIC LICENSE +
MOTIF GRAPHICAL USER INTERFACE SOFTWARE
Version 1.00

+

 

+

 

+

THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS +METRO LINK PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION +OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.

+

1. DEFINITIONS

+

"Contribution" means:

+

 

+
    +
  1. in + the case of METRO LINK, INCORPORATED ("METRO LINK"), the Metro Link Program, + and
+

 

+
    +
  1. in + the case of each Contributor,
+

 

+
    +
      +
    1. changes + to the Program, and +
    2. additions + to the Program;
+

 

+

where such +changes and/or additions to the Program originate from and are distributed by +that particular Contributor. A Contribution 'originates' from a Contributor if +it was added to the Program by such Contributor itself or anyone acting on such +Contributor's behalf. Contributions do not include additions to the Program +which: (i) are separate modules of software distributed in conjunction with the +Program under their own license agreement, and (ii) are not derivative works of +the Program.

+

 

+

"Contributor" means The Open Group, METRO LINK and any other +entity that distributes the Program.

+

 

+

"Licensed Patents" mean patent claims licensable by a +Contributor which are necessarily infringed by the use or sale of its +Contribution alone or when combined with the Program.

+

 

+

"Open Source"  +programs mean software for the source code is available without +confidential or trade secret restrictions and for which  the source code and object code are +available for distribution without license charges.

+

 

+

"Metro Link Program" means the original version of the +software accompanying this Agreement as released by METRO LINK, including source +code, object code and documentation, if any.

+

 

+

"Program" means the Metro Link Program and Contributions. +

+

 

+

"Recipient" means anyone who receives the Program under this +Agreement, including all Contributors.

+

 

+

2.     +GRANT OF RIGHTS

+

 

+

The rights granted under this license are limited solely to +distribution and sublicensing of the Contribution(s) on, with or  for operating systems which are +themselves Open Source programs.

+

 

+
    +
  1. Subject + to the terms of this Agreement, The Open Group Public License Agreement + attached hereto (“The Open Group Agreement”) and  the limitations of this Section 2, + each Contributor hereby grants Recipient a non-exclusive, worldwide, + royalty-free copyright license to reproduce, prepare derivative works of, + publicly display, publicly perform, distribute and sublicense the Contribution + of such Contributor, if any, and such derivative works, in source code and + object code form.
+

 

+
    +
  1. Subject + to the terms of this Agreement, The Open Group Agreement and this Section 2, + each Contributor hereby grants Recipient a non-exclusive, worldwide, + royalty-free patent license under Licensed Patents to make, use, sell, offer + to sell, import and otherwise transfer the Contribution of such Contributor, + if any, in source code and object code form. This patent license shall apply + to the combination of the Contribution and the Program if, at the time the + Contribution is added by the Contributor, such addition of the Contribution + causes such combination to be covered by the Licensed Patents. The patent + license shall not apply to any other combinations which include the + Contribution. No hardware per se is licensed hereunder.
+

 

+

 

+
    +
  1. Recipient + understands that although each Contributor grants the licenses to its + Contributions set forth herein, no assurances are provided by any Contributor + that the Program does not infringe the patent or other intellectual property + rights of any other entity. Each Contributor disclaims any liability to + Recipient for claims brought by any other entity based on infringement of + intellectual property rights or otherwise. As a condition to exercising the + rights and licenses granted hereunder, each Recipient hereby assumes sole + responsibility to secure any other intellectual property rights needed, if + any. For example, if a third party patent license is required to allow + Recipient to distribute the Program, it is Recipient's responsibility to + acquire that license before distributing the Program.
+

 

+
    +
  1. Each + Contributor represents that to its knowledge it has sufficient copyright + rights in its Contribution, if any, to grant the copyright license set forth + in this Agreement.
+

 

+

 

+

3. REQUIREMENTS

+

A Contributor may choose to distribute the Program in object +code form under its own license agreement, provided that:

+
    +
  1. it + complies with the terms and conditions of this Agreement and The Open Group Agreement; and +
+

 

+
    +
  1. its + license agreement:
+

 

+

 

+
    +
      +
    1. effectively + disclaims on behalf of all Contributors all warranties and conditions, + express and implied, including warranties or conditions of title and + non-infringement, and implied warranties or conditions of merchantability + and fitness for a particular purpose; +
    2. effectively + excludes on behalf of all Contributors all liability for damages, including + direct, indirect, special, incidental and consequential damages, such as + lost profits; +
    3. states + that any provisions which differ from this Agreement are offered by that + Contributor alone and not by any other party; and +
    4. states + that source code for the Program is available from such Contributor, and + informs licensees how to obtain it in a reasonable manner on or through a + medium customarily used for software exchange.
+

 

+

When the Program is made available in source code form:

+
    +
  1. it + must be made available under this Agreement and the Open Group Agreement; and +
+

 

+
    +
  1. a + copy of this Agreement must be included with each copy of the Program. +
+

 

+

 

+

Each Contributor must include the following in a conspicuous +location in the Program:

+

Copyright (C) May, 2000 The Open Group, Metro Link, +Incorporated and others. All Rights Reserved

+

 

+

In addition, each Contributor must identify itself as the +originator of its Contribution, if any, in a manner that reasonably allows +subsequent Recipients to identify the originator of the Contribution.

+

4. COMMERCIAL DISTRIBUTION

+

Commercial distributors of software may accept certain +responsibilities with respect to end users, business partners and the like. +While this license is intended to facilitate the commercial use of the Program, +the Contributor who includes the Program in a commercial product offering should +do so in a manner which does not create potential liability for other +Contributors. Therefore, if a Contributor includes the Program in a commercial +product offering, such Contributor ("Commercial Contributor") hereby agrees to +defend and indemnify every other Contributor ("Indemnified Contributor") against +any losses, damages and costs (collectively "Losses") arising from claims, +lawsuits and other legal actions brought by a third party against the +Indemnified Contributor to the extent caused by the acts or omissions of such +Commercial Contributor in connection with its distribution of the Program in a +commercial product offering. The obligations in this section do not apply to any +claims or Losses relating to any actual or alleged intellectual property +infringement. In order to qualify, an Indemnified Contributor must:

+

 

+

a)       promptly notify the Commercial Contributor in writing of such +claim, and

+

 

+

b)       allow the Commercial Contributor to control, and cooperate with +the Commercial Contributor in, the defense and any related settlement +negotiations.

+

 

+

The Indemnified Contributor may participate in any such claim +at its own expense.

+

For example, a Contributor might include the Program in a +commercial product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance claims, or +offers warranties related to Product X, those performance claims and warranties +are such Commercial Contributor's responsibility alone. Under this section, the +Commercial Contributor would have to defend claims against the other +Contributors related to those performance claims and warranties, and if a court +requires any other Contributor to pay any damages as a result, the Commercial +Contributor must pay those damages.

+

5. NO WARRANTY

+

EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM +IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, +EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR +CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the +appropriateness of using and distributing the Program and assumes all risks +associated with its exercise of rights under this Agreement, including but not +limited to the risks and costs of program errors, compliance with applicable +laws, damage to or loss of data, programs or equipment, and unavailability or +interruption of operations.

+

6. DISCLAIMER OF LIABILITY

+

EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER +RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING +WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR +THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY +OF SUCH DAMAGES.

+

7. GENERAL

+

If any provision of this Agreement is invalid or +unenforceable under applicable law, it shall not affect the validity or +enforceability of the remainder of the terms of this Agreement, and without +further action by the parties hereto, such provision shall be reformed to the +minimum extent necessary to make such provision valid and enforceable.

+

 

+

If Recipient institutes patent litigation against a +Contributor with respect to a patent applicable to software (including a +cross-claim or counterclaim in a lawsuit), then any patent licenses granted by +that Contributor to such Recipient under this Agreement shall terminate as of +the date such litigation is filed. In addition, if Recipient institutes patent +litigation against any entity (including a cross-claim or counterclaim in a +lawsuit) alleging that the Program itself (excluding combinations of the Program +with other software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the date +such litigation is filed.

+

 

+

All Recipient's rights under this Agreement shall terminate +if it fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of time after +becoming aware of such noncompliance. If all Recipient's rights under this +Agreement terminate, Recipient agrees to cease use and distribution of the +Program as soon as reasonably practicable. However, Recipient's obligations +under this Agreement and any licenses granted by Recipient relating to the +Program shall continue and survive.

+

 

+

METRO LINK may publish new versions (including revisions) of +this Agreement from time to time. Each new version of the Agreement will be +given a distinguishing version number. The Program (including Contributions) may +always be distributed subject to the version of the Agreement under which it was +received. In addition, after a new version of the Agreement is published, +Contributor may elect to distribute the Program (including its Contributions) +under the new version. No one other than METRO LINK has the right to modify this +Agreement. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient +receives no rights or licenses to the intellectual property of any Contributor +under this Agreement, whether expressly, by implication, estoppel or otherwise. +All rights in the Program not expressly granted under this Agreement are +reserved.

+

 

+

This Agreement is governed by the laws of the State of +Florida and the intellectual property laws of the United States of America.

+

 

+

No party to this Agreement will bring a legal action under +this Agreement more than one year after the cause of action arose. Each party +waives its rights to a jury trial in any resulting litigation.

+

 

diff --git a/features/org.eclipse.equinox.executable.feature/pom.xml b/features/org.eclipse.equinox.executable.feature/pom.xml new file mode 100644 index 000000000..3260cef6c --- /dev/null +++ b/features/org.eclipse.equinox.executable.feature/pom.xml @@ -0,0 +1,425 @@ + + + + 4.0.0 + + rt.equinox.framework + org.eclipse.equinox.framework + 3.8.0-SNAPSHOT + ../../ + + org.eclipse.equinox.framework + org.eclipse.equinox.executable + 3.6.0-SNAPSHOT + eclipse-feature + + + + + org.codehaus.mojo + xml-maven-plugin + 1.0 + + + generate-extra-iu + verify + + transform + + + + + + + target + + p2content.xml + + cp-content.xsl + + + + + + maven-resources-plugin + 2.6 + + + copy-extra-iu + verify + + copy-resources + + + ${basedir}/target + + + ${basedir}/target/generated-resources/xml/xslt + + p2content.xml + + + + + + + + + + + + + build-native-launchers-gtk.linux.x86_64 + + + native + gtk.linux.x86_64 + + + + + + maven-antrun-plugin + 1.7 + + + compile-executable-natives + generate-resources + + + + + + + run + + + + + + bsf + bsf + 2.4.0 + + + rhino + js + 1.7R2 + + + org.apache.ant + ant-apache-bsf + 1.8.3 + + + org.apache.ant + ant-nodeps + 1.8.1 + + + + + + + + build-native-launchers-gtk.linux.x86 + + + native + gtk.linux.x86 + + + + + + maven-antrun-plugin + 1.7 + + + compile-executable-natives + generate-resources + + + + + + + run + + + + + + bsf + bsf + 2.4.0 + + + rhino + js + 1.7R2 + + + org.apache.ant + ant-apache-bsf + 1.8.3 + + + org.apache.ant + ant-nodeps + 1.8.1 + + + + + + + + build-native-launchers-win32.win32.x86_64 + + + native + win32.win32.x86_64 + + + + + + maven-antrun-plugin + 1.7 + + + compile-executable-natives + generate-resources + + + + + + + run + + + + + + bsf + bsf + 2.4.0 + + + rhino + js + 1.7R2 + + + org.apache.ant + ant-apache-bsf + 1.8.3 + + + org.apache.ant + ant-nodeps + 1.8.1 + + + + + + + + build-native-launchers-win32.win32.x86 + + + native + win32.win32.x86 + + + + + + maven-antrun-plugin + 1.7 + + + compile-executable-natives + generate-resources + + + + + + + run + + + + + + bsf + bsf + 2.4.0 + + + rhino + js + 1.7R2 + + + org.apache.ant + ant-apache-bsf + 1.8.3 + + + org.apache.ant + ant-nodeps + 1.8.1 + + + + + + + + build-native-launchers-cocoa.macosx.x86_64 + + + native + cocoa.macosx.x86_64 + + + + + + maven-antrun-plugin + 1.7 + + + compile-executable-natives + generate-resources + + + + + + + run + + + + + + bsf + bsf + 2.4.0 + + + rhino + js + 1.7R2 + + + org.apache.ant + ant-apache-bsf + 1.8.3 + + + org.apache.ant + ant-nodeps + 1.8.1 + + + + + + + + assemble-launchers + + + + !longnotexistingproperty + + + + + + maven-antrun-plugin + 1.7 + + + copy-executable-natives + process-resources + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + run + + + + + + bsf + bsf + 2.4.0 + + + rhino + js + 1.7R2 + + + org.apache.ant + ant-apache-bsf + 1.8.3 + + + org.apache.ant + ant-nodeps + 1.8.1 + + + + + + + + -- cgit v1.2.3

Refer to the file about_open_motif.html for licensing details about "Open Motif for Linux".

q c #CEC5D9", +",q c #C7BED5", +"'q c #D6CFE1", +")q c #D0C7DD", +"!q c #C5BCD6", +"~q c #C2B9D4", +"{q c #BCB0CF", +"]q c #B3A6C8", +"^q c #AC9DC4", +"/q c #9F8EB7", +"(q c #9C8BB5", +"_q c #9A8AB5", +":q c #907FAB", +"r c #644E82", +",r c #644C83", +"'r c #654A84", +")r c #614681", +"!r c #52396F", +"~r c #50326F", +"{r c #513270", +"]r c #513170", +"^r c #563775", +"/r c #593877", +"(r c #5A3978", +"_r c #5B3B7A", +":r c #5C3C7A", +"s c #5E3D7A", +",s c #5D3C7A", +"'s c #5D3B79", +")s c #5C3B79", +"!s c #5B3A78", +"~s c #5A3976", +"{s c #593876", +"]s c #563673", +"^s c #553470", +"/s c #543370", +"(s c #52316F", +"_s c #51316E", +":s c #51316D", +"t c #43245F", +",t c #42235E", +"'t c #41225C", +")t c #40215B", +"!t c #3C2059", +"~t c #351D4F", +"{t c #2C1744", +"]t c #28143F", +"^t c #23113A", +"/t c #594672", +"(t c #9C8EB0", +"_t c #A396B6", +":t c #A295B6", +"u c #AD9EC5", +",u c #A593BF", +"'u c #7E6A9B", +")u c #6D5889", +"!u c #6F5B8C", +"~u c #6C5789", +"{u c #6B5588", +"]u c #685186", +"^u c #665085", +"/u c #654E84", +"(u c #644C82", +"_u c #624B81", +":u c #5D437B", +"v c #5B397B", +",v c #5B3B7C", +"'v c #5E3C7E", +")v c #5F3D7F", +"!v c #624082", +"~v c #654183", +"{v c #5F3C7C", +"]v c #644080", +"^v c #603D7D", +"/v c #5F3C7D", +"(v c #5D3A7A", +"_v c #5C397A", +":v c #5C3978", +"w c #522F6F", +",w c #4F2D6C", +"'w c #4E2C6B", +")w c #4D2B6A", +"!w c #4C2B6A", +"~w c #4B2A69", +"{w c #4A2968", +"]w c #482866", +"^w c #472865", +"/w c #442461", +"(w c #3C2257", +"_w c #3B2156", +":w c #331C4D", +"x c #D3CBE0", +",x c #D1C8DF", +"'x c #CAC1DA", +")x c #C4B9D6", +"!x c #C1B5D4", +"~x c #BEB1D1", +"{x c #BAADCF", +"]x c #B7A9CC", +"^x c #B3A5C9", +"/x c #AF9FC7", +"(x c #7D689B", +"_x c #7D699C", +":x c #7D679C", +"y c #6D568B", +",y c #6B5389", +"'y c #695187", +")y c #674E85", +"!y c #664C84", +"~y c #60477F", +"{y c #543C71", +"]y c #533A70", +"^y c #52386F", +"/y c #553774", +"(y c #543673", +"_y c #543574", +":y c #553474", +"z c #816CA0", +",z c #7A6496", +"'z c #766091", +")z c #765E91", +"!z c #725B8E", +"~z c #71598D", +"{z c #70578D", +"]z c #6E568C", +"^z c #6D548B", +"/z c #6C538A", +"(z c #6B5289", +"_z c #6B518A", +":z c #674D85", +"A c #3A2353", +",A c #372050", +"'A c #36204F", +")A c #361F4E", +"!A c #351F4D", +"~A c #341E4C", +"{A c #331D4A", +"]A c #321C4A", +"^A c #301B49", +"/A c #2F1A48", +"(A c #2F1A46", +"_A c #2D1945", +":A c #2A1641", +"B c #74528F", +",B c #745190", +"'B c #73508F", +")B c #72508F", +"!B c #704E8C", +"~B c #704D8B", +"{B c #6F4D8C", +"]B c #6F4D8B", +"^B c #6E4D8A", +"/B c #6E4C8A", +"(B c #6D4B89", +"_B c #6C4B89", +":B c #6C4A89", +"C c #674E82", +",C c #694D85", +"'C c #6A4D86", +")C c #6B4D86", +"!C c #6C4D88", +"~C c #6B4D87", +"{C c #6D4E88", +"]C c #6D4F89", +"^C c #6D508A", +"/C c #6E508B", +"(C c #6F518C", +"_C c #70518C", +":C c #71528C", +"D c #402957", +",D c #3E2856", +"'D c #3C2754", +")D c #3A2552", +"!D c #392450", +"~D c #38234F", +"{D c #35204C", +"]D c #331E4A", +"^D c #311D48", +"/D c #2D1843", +"(D c #2B1940", +"_D c #29183F", +":D c #28163F", +"E c #7F619A", +",E c #7E6199", +"'E c #7E6098", +")E c #7E5F97", +"!E c #7D5E97", +"~E c #7D5F96", +"{E c #7C5E96", +"]E c #7C5D95", +"^E c #7B5D95", +"/E c #7C5D94", +"(E c #7B5D94", +"_E c #7A5D93", +":E c #795B92", +"F c #796391", +",F c #796292", +"'F c #7B6293", +")F c #7C6295", +"!F c #7D6295", +"~F c #7D6396", +"{F c #7D6297", +"]F c #7D6397", +"^F c #7E6397", +"/F c #7E6498", +"(F c #806498", +"_F c #806499", +":F c #806599", +"G c #5D4873", +",G c #5C4673", +"'G c #543F6A", +")G c #533D68", +"!G c #513C66", +"~G c #4E3965", +"{G c #4C3763", +"]G c #4A3561", +"^G c #48335E", +"/G c #45315C", +"(G c #432F59", +"_G c #402C57", +":G c #3C2752", +"H c #967AAB", +",H c #957AAA", +"'H c #9579AA", +")H c #9479AA", +"!H c #9378A9", +"~H c #9278A8", +"{H c #9277A8", +"]H c #9177A8", +"^H c #9177A7", +"/H c #9077A6", +"(H c #9076A5", +"_H c #8F75A6", +":H c #8F75A5", +"I c #907CA5", +",I c #927CA7", +"'I c #927DA8", +")I c #937DA9", +"!I c #937DA8", +"~I c #947DA9", +"{I c #947EAA", +"]I c #957EAA", +"^I c #9580AB", +"/I c #9780AC", +"(I c #9781AC", +"_I c #9781AD", +":I c #9981AD", +"J c #7B678F", +",J c #79658D", +"'J c #77638C", +")J c #76638A", +"!J c #746188", +"~J c #726087", +"{J c #715E85", +"]J c #705D83", +"^J c #6E5B82", +"/J c #6D5A81", +"(J c #6C5980", +"_J c #6B587E", +":J c #68567C", +"K c #A792BA", +",K c #A892BA", +"'K c #A893BB", +")K c #A993BB", +"!K c #A993BC", +"~K c #A893BA", +"{K c #A691B8", +"]K c #A590B7", +"^K c #A48FB7", +"/K c #A48FB6", +"(K c #A38FB6", +"_K c #A38FB5", +":K c #A38EB5", +"L c #ECE8EF", +",L c #EFEBF1", +"'L c #F2EFF3", +")L c #F6F4F7", +"!L c #FAF9FA", +"~L c #FEFEFD", +"{L c #FFFFFF", +"]L c #FEFFFF", +"^L c #FDFEFD", +"/L c #FCFBFC", +"(L c #FAFAFB", +"_L c #F9F7F9", +":L c #F7F6F8", +"M c #69597B", +",M c #615173", +"'M c #59486C", +")M c #513F65", +"!M c #47365A", +"~M c #3E2E51", +"{M c #39294D", +"]M c #2A1840", +"^M c #65517D", +"/M c #ACA1BC", +"(M c #C0B7CD", +"_M c #2F1E44", +":M c #26133C", +"N c #9F8CB0", +",N c #9D8BAF", +"'N c #9D8AAE", +")N c #9C8AAE", +"!N c #9B88AD", +"~N c #9A87AC", +"{N c #9986AB", +"]N c #9481A6", +"^N c #9380A5", +"/N c #927FA5", +"(N c #8C799E", +"_N c #8A789D", +":N c #8A789C", +"O c #C2B3CF", +",O c #B6A3C5", +"'O c #9C84B0", +")O c #9983AC", +"!O c #9882AB", +"~O c #9782AB", +"{O c #9781AB", +"]O c #9781AA", +"^O c #937EA7", +"/O c #937EA6", +"(O c #917DA5", +"_O c #907BA4", +":O c #8C78A0", +"P c #997EB1", +",P c #9A7EB1", +"'P c #9A7FB1", +")P c #9A7FB2", +"!P c #9B7FB2", +"~P c #9B7FB3", +"{P c #9B80B3", +"]P c #9C80B3", +"^P c #987CAE", +"/P c #997DB1", +"(P c #9A7DB1", +"_P c #997CB0", +":P c #977AAE", +"