initial commit

Signed-off-by: Peter Siegmund <mars3142@noreply.mars3142.dev>
This commit is contained in:
2025-10-31 23:37:30 +01:00
commit bf6b52fd94
9654 changed files with 4035664 additions and 0 deletions

View File

@@ -0,0 +1,210 @@
# =========================================================================
# This makefile was generated by
# Bakefile 0.2.13 (http://www.bakefile.org)
# Do not modify, all changes will be overwritten!
# =========================================================================
@MAKE_SET@
prefix = @prefix@
exec_prefix = @exec_prefix@
datarootdir = @datarootdir@
INSTALL = @INSTALL@
EXEEXT = @EXEEXT@
WINDRES = @WINDRES@
NM = @NM@
BK_DEPS = @BK_DEPS@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
LIBS = @LIBS@
LDFLAGS_GUI = @LDFLAGS_GUI@
CXX = @CXX@
CXXFLAGS = @CXXFLAGS@
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
USE_DPI_AWARE_MANIFEST = @USE_DPI_AWARE_MANIFEST@
WX_LIB_FLAVOUR = @WX_LIB_FLAVOUR@
TOOLKIT = @TOOLKIT@
TOOLKIT_LOWERCASE = @TOOLKIT_LOWERCASE@
TOOLKIT_VERSION = @TOOLKIT_VERSION@
TOOLCHAIN_FULLNAME = @TOOLCHAIN_FULLNAME@
EXTRALIBS = @EXTRALIBS@
EXTRALIBS_XML = @EXTRALIBS_XML@
EXTRALIBS_HTML = @EXTRALIBS_HTML@
EXTRALIBS_GUI = @EXTRALIBS_GUI@
WX_CPPFLAGS = @WX_CPPFLAGS@
WX_CXXFLAGS = @WX_CXXFLAGS@
WX_LDFLAGS = @WX_LDFLAGS@
HOST_SUFFIX = @HOST_SUFFIX@
DYLIB_RPATH_FLAG = @DYLIB_RPATH_FLAG@
SAMPLES_CXXFLAGS = @SAMPLES_CXXFLAGS@
wx_top_builddir = @wx_top_builddir@
### Variables: ###
DESTDIR =
WX_RELEASE = 3.3
WX_VERSION = $(WX_RELEASE).1
LIBDIRNAME = $(wx_top_builddir)/lib
RICHTEXT_CXXFLAGS = $(WX_CPPFLAGS) -D__WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p) \
$(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
$(__THREAD_DEFINE_p) -I$(srcdir) $(__DLLFLAG_p) -I$(srcdir)/../../samples \
$(WX_CXXFLAGS) $(SAMPLES_CXXFLAGS) $(CPPFLAGS) $(CXXFLAGS)
RICHTEXT_OBJECTS = \
$(__richtext___win32rc) \
richtext_richtext.o
### Conditionally set variables: ###
@COND_DEPS_TRACKING_0@CXXC = $(CXX)
@COND_DEPS_TRACKING_1@CXXC = $(BK_DEPS) $(CXX)
@COND_USE_GUI_0@PORTNAME = base
@COND_USE_GUI_1@PORTNAME = $(TOOLKIT_LOWERCASE)$(TOOLKIT_VERSION)
@COND_TOOLKIT_MAC@WXBASEPORT = _carbon
@COND_BUILD_debug@WXDEBUGFLAG = d
@COND_WXUNIV_1@WXUNIVNAME = univ
@COND_MONOLITHIC_0@EXTRALIBS_FOR_BASE = $(EXTRALIBS)
@COND_MONOLITHIC_1@EXTRALIBS_FOR_BASE = $(EXTRALIBS) \
@COND_MONOLITHIC_1@ $(EXTRALIBS_XML) $(EXTRALIBS_GUI)
@COND_MONOLITHIC_0@EXTRALIBS_FOR_GUI = $(EXTRALIBS_GUI)
@COND_MONOLITHIC_1@EXTRALIBS_FOR_GUI =
@COND_WXUNIV_1@__WXUNIV_DEFINE_p = -D__WXUNIVERSAL__
@COND_WXUNIV_1@__WXUNIV_DEFINE_p_1 = --define __WXUNIVERSAL__
@COND_DEBUG_FLAG_0@__DEBUG_DEFINE_p = -DwxDEBUG_LEVEL=0
@COND_DEBUG_FLAG_0@__DEBUG_DEFINE_p_1 = --define wxDEBUG_LEVEL=0
@COND_USE_EXCEPTIONS_0@__EXCEPTIONS_DEFINE_p = -DwxNO_EXCEPTIONS
@COND_USE_EXCEPTIONS_0@__EXCEPTIONS_DEFINE_p_1 = --define wxNO_EXCEPTIONS
@COND_USE_RTTI_0@__RTTI_DEFINE_p = -DwxNO_RTTI
@COND_USE_RTTI_0@__RTTI_DEFINE_p_1 = --define wxNO_RTTI
@COND_USE_THREADS_0@__THREAD_DEFINE_p = -DwxNO_THREADS
@COND_USE_THREADS_0@__THREAD_DEFINE_p_1 = --define wxNO_THREADS
@COND_SHARED_1@__DLLFLAG_p = -DWXUSINGDLL
@COND_SHARED_1@__DLLFLAG_p_1 = --define WXUSINGDLL
@COND_PLATFORM_WIN32_1@__WIN32_DPI_MANIFEST_p = \
@COND_PLATFORM_WIN32_1@ --define \
@COND_PLATFORM_WIN32_1@ wxUSE_DPI_AWARE_MANIFEST=$(USE_DPI_AWARE_MANIFEST)
COND_PLATFORM_OS2_1___richtext___os2_emxbindcmd = $(NM) richtext$(EXEEXT) | if \
grep -q pmwin.763 ; then emxbind -ep richtext$(EXEEXT) ; fi
@COND_PLATFORM_OS2_1@__richtext___os2_emxbindcmd = $(COND_PLATFORM_OS2_1___richtext___os2_emxbindcmd)
@COND_TOOLKIT_MSW@__RCDEFDIR_p = --include-dir \
@COND_TOOLKIT_MSW@ $(LIBDIRNAME)/wx/include/$(TOOLCHAIN_FULLNAME)
@COND_PLATFORM_WIN32_1@__richtext___win32rc = richtext_sample_rc.o
@COND_PLATFORM_MACOSX_1@__richtext_app_Contents_PkgInfo___depname \
@COND_PLATFORM_MACOSX_1@ = richtext.app/Contents/PkgInfo
@COND_PLATFORM_MACOSX_1@__richtext_bundle___depname = richtext_bundle
@COND_TOOLKIT_MAC@____richtext_BUNDLE_TGT_REF_DEP = \
@COND_TOOLKIT_MAC@ $(__richtext_app_Contents_PkgInfo___depname)
@COND_TOOLKIT_OSX_CARBON@____richtext_BUNDLE_TGT_REF_DEP \
@COND_TOOLKIT_OSX_CARBON@ = $(__richtext_app_Contents_PkgInfo___depname)
@COND_TOOLKIT_OSX_COCOA@____richtext_BUNDLE_TGT_REF_DEP \
@COND_TOOLKIT_OSX_COCOA@ = $(__richtext_app_Contents_PkgInfo___depname)
@COND_TOOLKIT_OSX_IPHONE@____richtext_BUNDLE_TGT_REF_DEP \
@COND_TOOLKIT_OSX_IPHONE@ = $(__richtext_app_Contents_PkgInfo___depname)
@COND_TOOLKIT_COCOA@____richtext_BUNDLE_TGT_REF_DEP = \
@COND_TOOLKIT_COCOA@ $(__richtext_app_Contents_PkgInfo___depname)
COND_MONOLITHIC_0___WXLIB_RICHTEXT_p = \
-lwx_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_richtext-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_MONOLITHIC_0@__WXLIB_RICHTEXT_p = $(COND_MONOLITHIC_0___WXLIB_RICHTEXT_p)
COND_MONOLITHIC_0___WXLIB_HTML_p = \
-lwx_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_html-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_MONOLITHIC_0@__WXLIB_HTML_p = $(COND_MONOLITHIC_0___WXLIB_HTML_p)
COND_MONOLITHIC_0___WXLIB_CORE_p = \
-lwx_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_MONOLITHIC_0@__WXLIB_CORE_p = $(COND_MONOLITHIC_0___WXLIB_CORE_p)
COND_MONOLITHIC_0___WXLIB_XML_p = \
-lwx_base$(WXBASEPORT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_MONOLITHIC_0@__WXLIB_XML_p = $(COND_MONOLITHIC_0___WXLIB_XML_p)
COND_MONOLITHIC_0___WXLIB_BASE_p = \
-lwx_base$(WXBASEPORT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_MONOLITHIC_0@__WXLIB_BASE_p = $(COND_MONOLITHIC_0___WXLIB_BASE_p)
COND_MONOLITHIC_1___WXLIB_MONO_p = \
-lwx_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_MONOLITHIC_1@__WXLIB_MONO_p = $(COND_MONOLITHIC_1___WXLIB_MONO_p)
@COND_MONOLITHIC_1_USE_STC_1@__LIB_SCINTILLA_IF_MONO_p \
@COND_MONOLITHIC_1_USE_STC_1@ = $(__LIB_SCINTILLA_p)
@COND_USE_STC_1@__LIB_SCINTILLA_p = \
@COND_USE_STC_1@ -lwxscintilla$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_MONOLITHIC_1_USE_STC_1@__LIB_LEXILLA_IF_MONO_p = $(__LIB_LEXILLA_p)
@COND_USE_STC_1@__LIB_LEXILLA_p = \
@COND_USE_STC_1@ -lwxlexilla$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_USE_GUI_1_wxUSE_LIBTIFF_builtin@__LIB_TIFF_p \
@COND_USE_GUI_1_wxUSE_LIBTIFF_builtin@ = \
@COND_USE_GUI_1_wxUSE_LIBTIFF_builtin@ -lwxtiff$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_USE_GUI_1_wxUSE_LIBJPEG_builtin@__LIB_JPEG_p \
@COND_USE_GUI_1_wxUSE_LIBJPEG_builtin@ = \
@COND_USE_GUI_1_wxUSE_LIBJPEG_builtin@ -lwxjpeg$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_USE_GUI_1_wxUSE_LIBPNG_builtin@__LIB_PNG_p \
@COND_USE_GUI_1_wxUSE_LIBPNG_builtin@ = \
@COND_USE_GUI_1_wxUSE_LIBPNG_builtin@ -lwxpng$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_USE_GUI_1_wxUSE_LIBWEBP_builtin@__LIB_WEBP_p \
@COND_USE_GUI_1_wxUSE_LIBWEBP_builtin@ = \
@COND_USE_GUI_1_wxUSE_LIBWEBP_builtin@ -lwxwebp$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_wxUSE_ZLIB_builtin@__LIB_ZLIB_p = \
@COND_wxUSE_ZLIB_builtin@ -lwxzlib$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_wxUSE_REGEX_builtin@__LIB_REGEX_p = \
@COND_wxUSE_REGEX_builtin@ -lwxregexu$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_wxUSE_EXPAT_builtin@__LIB_EXPAT_p = \
@COND_wxUSE_EXPAT_builtin@ -lwxexpat$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
### Targets: ###
all: richtext$(EXEEXT) $(__richtext_bundle___depname)
install:
uninstall:
install-strip: install
clean:
rm -rf ./.deps ./.pch
rm -f ./*.o
rm -f richtext$(EXEEXT)
rm -rf richtext.app
distclean: clean
rm -f config.cache config.log config.status bk-deps bk-make-pch Makefile
richtext$(EXEEXT): $(RICHTEXT_OBJECTS) $(__richtext___win32rc)
$(CXX) -o $@ $(RICHTEXT_OBJECTS) -L$(LIBDIRNAME) $(DYLIB_RPATH_FLAG) $(LDFLAGS_GUI) $(LDFLAGS) $(WX_LDFLAGS) $(__WXLIB_RICHTEXT_p) $(__WXLIB_HTML_p) $(EXTRALIBS_HTML) $(__WXLIB_CORE_p) $(__WXLIB_XML_p) $(EXTRALIBS_XML) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_LEXILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(__LIB_WEBP_p) $(EXTRALIBS_FOR_GUI) $(__LIB_ZLIB_p) $(__LIB_REGEX_p) $(__LIB_EXPAT_p) $(EXTRALIBS_FOR_BASE) $(LIBS)
$(__richtext___os2_emxbindcmd)
@COND_PLATFORM_MACOSX_1@richtext.app/Contents/PkgInfo: richtext$(EXEEXT) $(top_srcdir)/src/osx/carbon/Info.plist.in $(top_srcdir)/src/osx/carbon/wxmac.icns
@COND_PLATFORM_MACOSX_1@ mkdir -p richtext.app/Contents
@COND_PLATFORM_MACOSX_1@ mkdir -p richtext.app/Contents/MacOS
@COND_PLATFORM_MACOSX_1@ mkdir -p richtext.app/Contents/Resources
@COND_PLATFORM_MACOSX_1@
@COND_PLATFORM_MACOSX_1@
@COND_PLATFORM_MACOSX_1@ sed -e "s/\$${MACOSX_BUNDLE_GUI_IDENTIFIER}/org.wxwidgets.richtext/" \
@COND_PLATFORM_MACOSX_1@ -e "s/\$${MACOSX_BUNDLE_EXECUTABLE_NAME}/richtext/" \
@COND_PLATFORM_MACOSX_1@ -e "s/\$${MACOSX_BUNDLE_BUNDLE_NAME}/richtext/" \
@COND_PLATFORM_MACOSX_1@ -e "s/\$${MACOSX_BUNDLE_COPYRIGHT}/Copyright 2002-2025 wxWidgets/" \
@COND_PLATFORM_MACOSX_1@ -e "s/\$${MACOSX_BUNDLE_BUNDLE_VERSION}/$(WX_VERSION)/" \
@COND_PLATFORM_MACOSX_1@ -e "s/\$${MACOSX_BUNDLE_INFO_STRING}/richtext version $(WX_VERSION), (c) 2002-2025 wxWidgets/" \
@COND_PLATFORM_MACOSX_1@ -e "s/\$${MACOSX_BUNDLE_LONG_VERSION_STRING}/$(WX_VERSION), (c) 2002-2025 wxWidgets/" \
@COND_PLATFORM_MACOSX_1@ -e "s/\$${MACOSX_BUNDLE_SHORT_VERSION_STRING}/$(WX_RELEASE)/" \
@COND_PLATFORM_MACOSX_1@ $(top_srcdir)/src/osx/carbon/Info.plist.in >richtext.app/Contents/Info.plist
@COND_PLATFORM_MACOSX_1@
@COND_PLATFORM_MACOSX_1@
@COND_PLATFORM_MACOSX_1@ /bin/echo "APPL????" >richtext.app/Contents/PkgInfo
@COND_PLATFORM_MACOSX_1@
@COND_PLATFORM_MACOSX_1@
@COND_PLATFORM_MACOSX_1@ ln -f richtext$(EXEEXT) richtext.app/Contents/MacOS/richtext
@COND_PLATFORM_MACOSX_1@
@COND_PLATFORM_MACOSX_1@
@COND_PLATFORM_MACOSX_1@ cp -f $(top_srcdir)/src/osx/carbon/wxmac.icns richtext.app/Contents/Resources/wxmac.icns
@COND_PLATFORM_MACOSX_1@richtext_bundle: $(____richtext_BUNDLE_TGT_REF_DEP)
richtext_sample_rc.o: $(srcdir)/../../samples/sample.rc
$(WINDRES) -i$< -o$@ --define __WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p_1) $(__DEBUG_DEFINE_p_1) $(__EXCEPTIONS_DEFINE_p_1) $(__RTTI_DEFINE_p_1) $(__THREAD_DEFINE_p_1) --include-dir $(srcdir) $(__DLLFLAG_p_1) $(__WIN32_DPI_MANIFEST_p) --include-dir $(srcdir)/../../samples $(__RCDEFDIR_p) --include-dir $(top_srcdir)/include
richtext_richtext.o: $(srcdir)/richtext.cpp
$(CXXC) -c -o $@ $(RICHTEXT_CXXFLAGS) $(srcdir)/richtext.cpp
# Include dependency info, if present:
@IF_GNU_MAKE@-include ./.deps/*.d
.PHONY: all install uninstall clean distclean richtext_bundle

View File

@@ -0,0 +1,24 @@
/* XPM */
static const char *const alignleft_xpm[] = {
/* columns rows colors chars-per-pixel */
"16 16 2 1",
". c #4D4D4D",
" c None",
/* pixels */
" ",
" ",
" .............. ",
" ",
" .......... ",
" ",
" .............. ",
" ",
" .......... ",
" ",
" .............. ",
" ",
" .......... ",
" ",
" ",
" "
};

View File

@@ -0,0 +1,24 @@
/* XPM */
static const char *const alignright_xpm[] = {
/* columns rows colors chars-per-pixel */
"16 16 2 1",
". c #4D4D4D",
" c None",
/* pixels */
" ",
" ",
" .............. ",
" ",
" .......... ",
" ",
" .............. ",
" ",
" .......... ",
" ",
" .............. ",
" ",
" .......... ",
" ",
" ",
" "
};

View File

@@ -0,0 +1,24 @@
/* XPM */
static const char *const bold_xpm[] = {
/* columns rows colors chars-per-pixel */
"16 16 2 1",
". c Black",
" c None",
/* pixels */
" ",
" ",
" ",
" ........ ",
" ... ... ",
" ... ... ",
" ... ... ",
" ....... ",
" ... ... ",
" ... ... ",
" ... ... ",
" ........ ",
" ",
" ",
" ",
" "
};

View File

@@ -0,0 +1,24 @@
/* XPM */
static const char *const centre_xpm[] = {
/* columns rows colors chars-per-pixel */
"16 16 2 1",
". c #4D4D4D",
" c None",
/* pixels */
" ",
" ",
" .............. ",
" ",
" .......... ",
" ",
" .............. ",
" ",
" .......... ",
" ",
" .............. ",
" ",
" .......... ",
" ",
" ",
" "
};

View File

@@ -0,0 +1,45 @@
/* XPM */
static const char *const copy_xpm[] = {
/* columns rows colors chars-per-pixel */
"16 16 23 1",
"o c #97C4E7",
"* c #FFFFFF",
"@ c #60A9DA",
"= c #D1E5F5",
"& c #C3DDF1",
". c #7EA6C0",
" c None",
"X c #2F93CD",
"O c #85BBE2",
", c #EFF6FC",
"; c #DEEDF8",
"+ c #72B2DD",
"3 c #F7FBFD",
"4 c #FAFCFE",
": c #DAEAF7",
"< c #E9F3FA",
"1 c #E2EFF8",
"- c #FDFDFE",
"% c #B6D5EE",
"$ c #A5CCEA",
"> c #E5F0F9",
"# c #AFD1EC",
"2 c #F4F9FD",
/* pixels */
" .....XX ",
" .oO+@X#X ",
" .$oO+X##X ",
" .%$o........ ",
" .&%$.*=&#o.-. ",
" .=&%.*;=&#.--. ",
" .:=&.*>;=&.... ",
" .>:=.*,>;=&#o. ",
" .<1:.*2,>:=&#. ",
" .2<1.*32,>:=&. ",
" .32<.*432,>:=. ",
" .32<.*-432,>:. ",
" .....**-432,>. ",
" .***-432,. ",
" .......... ",
" "
};

View File

@@ -0,0 +1,47 @@
/* XPM */
static const char *const cut_xpm[] = {
/* columns rows colors chars-per-pixel */
"16 16 25 1",
"6 c #D8BDC0",
": c #C3C3C4",
"- c #FFFFFF",
". c #6C6D70",
"2 c #AD3A45",
"o c #DBDBDB",
"# c #939495",
"< c #E42234",
"& c #C3C5C8",
"; c #C6CCD3",
"% c #B7B7B8",
" c None",
"* c #DFE0E2",
"5 c #B69596",
"3 c #9C2A35",
"1 c #CFCFD0",
", c #AB5C64",
"+ c #D2D3D4",
"$ c #BCBDBE",
"@ c #C6C8CA",
"> c #CDC0C1",
"O c #826F72",
"X c #979BA0",
"4 c #9B8687",
"= c #9FA0A0",
/* pixels */
" .X .o ",
" O.+ @. ",
" O. .. ",
" O#$ %.& ",
" O.*.. ",
" #%#.. ",
" O=-.. ",
" #%#;. ",
" OO:=O ",
" >,,<, ,<,,1 ",
" ><23<1 1<32<1 ",
" ,2 4< <5 2, ",
" <, ,2 2, ,< ",
" 23,<5 5<,32 ",
" 6225 522> ",
" "
};

View File

@@ -0,0 +1,25 @@
/* XPM */
static const char *const font_xpm[] = {
/* columns rows colors chars-per-pixel */
"16 16 3 1",
"X c #A6A6A6",
" c None",
". c #4D4DA6",
/* pixels */
" ",
" ",
" . ",
" X.X ",
" ... ",
" X...X ",
" .. .. ",
" X. ..X ",
" ....... ",
" X. ..X ",
" .. X.. ",
" X. X..X ",
" .... ...... ",
" ",
" ",
" "
};

View File

@@ -0,0 +1,47 @@
/* XPM */
static const char *const idea_xpm[] = {
/* columns rows colors chars-per-pixel */
"32 32 9 1",
"$ c Black",
"O c #FFFFFF",
"@ c #808080",
"+ c #000080",
"o c #E8EB01",
" c None",
"X c #FFFF40",
"# c #C0C0C0",
". c #ABAD01",
/* pixels */
" ",
" ..... ",
" ..XXXXX.. ",
" ..XXXXXXXXo.. ",
" .XXXOXXXXXXXoo. ",
" .XOOXXX+XXXXXo. ",
" .XOOOXX+++XXXXoo. ",
" .XOOXXX+++XXXXXo. ",
" .XOOOXXX+++XXXXXXo. ",
" .XOOXXXX+++XXXXXXo. ",
" .XXXXXXX+++XXXXXXX. ",
" .XXXXXXX+++XXXXXXo. ",
" .XXXXXXX+++XXXXXoo. ",
" .XXXXXX+++XXXXXo. ",
" .XXXXXXX+XXXXXXo. ",
" .XXXXXXXXXXXXo. ",
" .XXXXX+++XXXoo. ",
" .XXXX+++XXoo. ",
" .XXXXXXXXo. ",
" ..XXXXXXo.. ",
" .XXXXXo.. ",
" @#######@ ",
" @@@@@@@@@ ",
" @#######@ ",
" @@@@@@@@@ ",
" @#######@ ",
" @@@@@@@ ",
" ### ",
" $$$ ",
" ",
" ",
" "
};

View File

@@ -0,0 +1,25 @@
/* XPM */
static const char *const indentless_xpm[] = {
/* columns rows colors chars-per-pixel */
"16 16 3 1",
". c #4D4D4D",
" c None",
"X c #4D4DA6",
/* pixels */
" . ",
" ",
" .... .........",
" ",
" X .........",
" XX .........",
"XXXXX ",
" XX ...... ",
" X ...... ",
" ",
" .... .........",
" ",
" .... .. ",
" ",
" . ",
" "
};

View File

@@ -0,0 +1,25 @@
/* XPM */
static const char *const indentmore_xpm[] = {
/* columns rows colors chars-per-pixel */
"16 16 3 1",
". c #4D4D4D",
" c None",
"X c #4D4DA6",
/* pixels */
" . ",
" ",
" .... .........",
" ",
" X .........",
" XX .........",
"XXXXX ",
" XX ...... ",
" X ...... ",
" ",
" .... .........",
" ",
" .... .. ",
" ",
" . ",
" "
};

View File

@@ -0,0 +1,25 @@
/* XPM */
static const char *const italic_xpm[] = {
/* columns rows colors chars-per-pixel */
"16 16 3 1",
". c Black",
"X c #A6A6A6",
" c None",
/* pixels */
" ",
" ",
" ",
" ..... ",
" ..X ",
" X.. ",
" ..X ",
" X.. ",
" ..X ",
" X.. ",
" ..X ",
" ...... ",
" ",
" ",
" ",
" "
};

View File

@@ -0,0 +1,58 @@
/* XPM */
static const char *const open_xpm[] = {
/* columns rows colors chars-per-pixel */
"16 16 36 1",
"6 c #9BACC2",
"< c #9AEA53",
"9 c #94A5BD",
"5 c #839CB5",
"; c #4D7492",
". c #376485",
"$ c #7F99B4",
"r c #D1D9E5",
"7 c #EAEDF3",
"@ c #CAD2DC",
"% c #718BA7",
"t c #BECAD9",
"& c #65839D",
"0 c #DCE2EA",
"4 c #F5F6F7",
"w c #597B9A",
"O c #8DA0B9",
" c None",
"+ c #467291",
"u c #305F81",
"= c #B4C4D3",
"# c #CAE2AA",
"1 c #FAFCFE",
"3 c #A8B6CA",
"q c #E4E9ED",
"8 c #EEF1F3",
"X c #215579",
"2 c #7F97B0",
": c #B3BFD1",
"y c #7A90AC",
", c #C2CBDB",
"- c #ADD668",
"* c #B6D791",
"e c #CAD6E1",
"o c #DFF0D0",
"> c #BBC4D6",
/* pixels */
" ",
" .... ",
"XXXXX .oo. ",
"XOOOO+@.#o. ",
"XOOOO$%&.*oXXX ",
"XOOOOOOO.*oX=X ",
"XOXXXX...-oXXXX;",
"XOX:>,.<<<<<oX1;",
"X2X3:>,.<<<oX4=;",
"XX563:>>.<oX78; ",
"XXO963:>>.X0q7; ",
"Xw2O963:>>er0t; ",
"X&y2O963:>,er; ",
"uXXXXXXXXXXXX; ",
" ",
" "
};

View File

@@ -0,0 +1,47 @@
/* XPM */
static const char *const paste_xpm[] = {
/* columns rows colors chars-per-pixel */
"16 16 25 1",
"< c #FEECE4",
"> c #FEE3D7",
"O c #FFFFFF",
"o c #7B767D",
"% c #F79586",
"& c #CAE1F3",
"@ c #F08B62",
"# c #FCCBB8",
"- c #FDD8C9",
"4 c #FFF8F4",
"5 c #FFF5F0",
" c None",
"$ c #F8AA8F",
", c #EFF6FC",
"1 c #F7FBFD",
"2 c #FAFCFE",
"; c #DAEAF7",
": c #E9F3FA",
"6 c #FFFAF8",
". c #3C78A6",
"3 c #FFF1ED",
"X c #9B8687",
"+ c #FBBCA4",
"* c #B6D5EE",
"= c #F4F9FD",
/* pixels */
" ...... ",
" .XoOOOOoo. ",
".+XOOOOOOX@. ",
".+XXXXXXXX@. ",
".#++$$%@..... ",
".##++$$%.&*.=. ",
".-##++$$.;&.==. ",
".--##++$.:;.... ",
".>--##++.,:;&*. ",
".<>--##+.1,:;&. ",
".<<>--##.21,:;. ",
".3<<>--#.O21=:. ",
".45<<>--....... ",
".6453<>----. ",
"............ ",
" "
};

View File

@@ -0,0 +1,59 @@
/* XPM */
static const char *const redo_xpm[] = {
/* columns rows colors chars-per-pixel */
"16 16 37 1",
"4 c #9BACC2",
"; c #4C7398",
"3 c #547B99",
"* c #547897",
"# c #5A89A6",
"8 c #3A749C",
"5 c #5A809C",
", c #7F99B4",
"& c #3F6F93",
"9 c #85A7BC",
"+ c #749BB4",
"> c #718BA7",
"e c #A5B3C8",
"w c #BECAD9",
": c #65839D",
"u c #E1E6EE",
"o c #236289",
"r c #ADBED2",
"= c #597B9A",
"2 c #8DA0B9",
" c None",
"% c #467291",
"1 c #7393AB",
"i c #4C809F",
"- c #A0BACB",
"O c #6591AE",
"X c #407598",
"6 c #6F90A6",
"t c #D2D9E0",
"7 c #ADBACE",
"@ c #326A8F",
"0 c #467A9C",
". c #ACC4D3",
"< c #7F97B0",
"y c #B3BFD1",
"q c #A2B3C5",
"$ c #8FB0C3",
/* pixels */
" .XoooO ",
" +o@@@@@o# +",
" $@%%&@&%%&@ +o",
" X*=@+-+@*=;@#&@",
" @:=+ @=:=*:@",
" &>:$ @:>>>@",
" &,<X X>,,,&",
" +123 @<2222&",
" X44X #@56<44X",
" O1748 .9#&o",
" 0qwe8 ",
" 8rty8 ",
" 8wu+ ",
" i## ",
" ",
" "
};

View File

@@ -0,0 +1,43 @@
/* XPM */
static const char *const save_xpm[] = {
/* columns rows colors chars-per-pixel */
"16 16 21 1",
"O c #FFFFFF",
"> c #D5D6D8",
"; c #446A8C",
"1 c #CAD2DC",
": c #C0C7D1",
" c #5F666D",
"% c #A5B0BA",
"o c #65839D",
", c #DCE2EA",
"< c #C3C5C8",
"- c #E1E6EE",
"* c #C6CCD3",
". c None",
"$ c #305F81",
"2 c #D6DFE7",
"= c #D2D9E0",
"& c #B7BFC7",
"X c #1B4467",
"# c #BCBDBE",
"@ c #7A90AC",
"+ c #5D7C93",
/* pixels */
" .",
" XoOOOOOOOOO+X .",
" @oO#######O+@ .",
" @oOOOOOOOOO+@ .",
" @oO#######O+@ .",
" @oOOOOOOOOO+@ .",
" @@+++++++++@@ .",
" @@@@@@@@@@@@@ .",
" @@@$$$$$$$$@@ .",
" @@$%%%&*=-O$@ .",
" @@$%X;;*=-O$@ .",
" @@$%X;;:>,O$@ .",
" @@$%X;;<12O$@ .",
" @@$<<2OOOOO$@ .",
". ..",
" "
};

View File

@@ -0,0 +1,42 @@
/* XPM */
static const char *const smiley_xpm[] = {
/* columns rows colors chars-per-pixel */
"32 32 4 1",
". c Black",
"X c #FFFF00",
" c None",
"o c #C00000",
/* pixels */
" ",
" ..... ",
" ...XXXXX... ",
" ..XXXXXXXXXXX.. ",
" .XXXXXXXXXXXXXXX. ",
" ..XXXXXXXXXXXXXXXXX.. ",
" .XXXXXXXXXXXXXXXXXXXX. ",
" .XXXXXX.XXXXXXX.XXXXXX. ",
" .XXXXXX.X.XXXXX.X.XXXXXX. ",
" .XXXXX.XXX.XXX.XXX.XXXXXX. ",
" .XXXXX.XXXXXXXXXXXXX.XXXXX. ",
" .XXXXXXXX.XXXXXXX.XXXXXXXX. ",
" .XXXXXXXX.XXXXXXX.XXXXXXXX. ",
" .XXXXXXXXXXXXXXXXXXXXXXXXXXX. ",
" .XXXXXXXXXXXXXXXXXXXXXXXXXXX. ",
" .XXXXXXXXXXXXXXXXXXXXXXXXXXX. ",
" .XXXXXXXXXXXXXXXXXXXXXXXXXXX. ",
" .XXXXXXX.XXXXXXXXXXX.XXXXXXX. ",
" .XXXXXX...XXXXXXX...XXXXXX. ",
" .XXXXXX.oo..XXX..oo.XXXXXX. ",
" .XXXXXXX.ooo...ooo.XXXXXXX. ",
" .XXXXXXX.ooooooo.XXXXXXXX. ",
" .XXXXXXXX..ooo..XXXXXXXX. ",
" .XXXXXXXXX...XXXXXXXXX. ",
" .XXXXXXXXXXXXXXXXXXXX. ",
" ..XXXXXXXXXXXXXXXXX.. ",
" .XXXXXXXXXXXXXXX. ",
" ..XXXXXXXXXXX.. ",
" ...XXXXX... ",
" ..... ",
" ",
" "
};

View File

@@ -0,0 +1,25 @@
/* XPM */
static const char *const underline_xpm[] = {
/* columns rows colors chars-per-pixel */
"16 16 3 1",
". c Black",
"X c #A6A6A6",
" c None",
/* pixels */
" ",
" ",
" ",
" .... .... ",
" .. .. ",
" .. .. ",
" .. .. ",
" .. .. ",
" .. .. ",
" .. .. ",
" ..X X.. ",
" ..... ",
" ",
" ......... ",
" ",
" "
};

View File

@@ -0,0 +1,59 @@
/* XPM */
static const char *const undo_xpm[] = {
/* columns rows colors chars-per-pixel */
"16 16 37 1",
"4 c #9BACC2",
"* c #4C7398",
"2 c #547B99",
"- c #547897",
"@ c #5A89A6",
"8 c #3A749C",
"6 c #5A809C",
", c #7F99B4",
"$ c #3F6F93",
"7 c #85A7BC",
"+ c #749BB4",
"> c #718BA7",
"0 c #A5B3C8",
"q c #BECAD9",
": c #65839D",
"u c #E1E6EE",
"X c #236289",
"y c #ADBED2",
"= c #597B9A",
"1 c #8DA0B9",
" c None",
"% c #467291",
"3 c #7393AB",
"i c #4C809F",
"; c #A0BACB",
". c #6591AE",
"o c #407598",
"5 c #6F90A6",
"t c #D2D9E0",
"9 c #ADBACE",
"# c #326A8F",
"e c #467A9C",
"O c #ACC4D3",
"< c #7F97B0",
"r c #B3BFD1",
"w c #A2B3C5",
"& c #8FB0C3",
/* pixels */
" .XXXoO ",
"+ @X#####X+ ",
"X+ #$%%$#$%%#& ",
"#$@#*=-#+;+#=-o ",
"#:-=:=# +=:# ",
"#>>>:# &:>$ ",
"$,,,>o o<,$ ",
"$1111<# 213+ ",
"o44<56#@ o44o ",
"X$@7O 8493. ",
" 80qwe ",
" 8rty8 ",
" +uq8 ",
" @@i ",
" ",
" "
};

View File

@@ -0,0 +1,409 @@
/* XPM */
static const char *const zebra_xpm[] = {
/* columns rows colors chars-per-pixel */
"200 167 236 2",
"` c #A68369",
" c #FCFEFC",
"). c #9AA45B",
"wX c #CBCEA4",
"0. c #C7CB71",
"aX c #5A7120",
"S. c #1E180D",
"+. c #D9CAAB",
"f. c #96A43B",
"L c #51501B",
"4. c #FAF2CF",
"tX c #401E0C",
"x. c #979459",
"&X c #B5835B",
"jX c #838D77",
"e c #3A3014",
"zX c #424734",
"z. c #DCBF7D",
"X. c #8E8D2F",
"o. c #939441",
"r. c #98785B",
"_. c #6E7828",
"W. c #748C28",
"E. c #D6C866",
"Z. c #ACAE61",
"T c #AAB460",
"yX c #3A3025",
"< c #D0BD89",
",. c #E6CDA4",
"/ c #A69147",
"^ c #97823C",
"qX c #4E4031",
"& c #998254",
"-X c #7C4829",
"P c #C5A287",
"kX c #54573D",
"8X c #ACBA94",
"%X c #A47150",
"'. c #7F7828",
"1. c #8C7056",
"U c #B9A088",
"Q. c #8F942E",
"B. c #C6A35F",
" . c #6A7818",
"X c #ECEDE1",
";X c #A77855",
"3X c #6E492C",
"$ c #95947A",
"bX c #142108",
"% c #99826B",
"vX c #1C2F0A",
"N. c #3A4710",
"[ c #A4B444",
"xX c #4A6012",
"w c #3E3816",
"9. c #9DAD31",
"m c #6E692B",
"x c #B5945B",
"H c #26310B",
"F. c #966644",
"3 c #D0B4A0",
"j. c #838F48",
"} c #A5BB39",
"M c #6F5029",
"F c #52680E",
"C. c #A6A544",
"; c #CEB18C",
"*. c #B4C748",
"= c #B8A175",
"=X c #603E1F",
"4 c #D9DBCC",
":X c #DCA47C",
"]. c #948C42",
"9 c #6E6028",
"I c #D1BEA3",
"s c #918B63",
"=. c #ACBC5E",
"R c #AABC49",
"l. c #4F351F",
"i. c #D8D06B",
"{ c #B6BE4F",
"v c #5F542F",
"|. c #F4E0C8",
"%. c #977052",
"A. c #939C3C",
".. c #44401B",
": c #E8D8B5",
"/. c #959C55",
"L. c #A69C45",
"c. c #BBC873",
"@ c #A8AB98",
"uX c #534F38",
"6 c #747D67",
"Y c #BBBF61",
"v. c #CEBF69",
"5 c #BCBEAC",
"K. c #7E7028",
"k. c #2D1D10",
"fX c #545F3F",
"k c #302712",
"+X c #C7CA8D",
"u c #96773F",
"p c #BAAC64",
"U. c #415010",
"y c #4E3F1F",
"4X c #81512C",
"<. c #8C785F",
", c #DEC1A2",
",X c #D1D8A8",
"J. c #44570E",
"6X c #6E5743",
"M. c #5F6517",
"7X c #727148",
"N c #A58354",
"lX c #2C3020",
"#. c #C1B399",
"R. c #9CA52B",
"t. c #737E43",
"+ c #C9CDC4",
"> c #E6CFB8",
"t c #6F6446",
"Y. c #59710E",
"dX c #5C7B10",
"W c #A1AC43",
"J c #7E7058",
"n c #836832",
"8 c #635F49",
"y. c #727161",
"z c #1E280B",
"2X c #DCB89A",
"q. c #81912B",
"u. c #BEC082",
"@X c #806149",
"2. c #F6DFB2",
"}. c #D49868",
":. c #728229",
"-. c #738C15",
"2 c #BFAD97",
"d. c #8E9D27",
"@. c #D9CB8A",
"~ c #5F5617",
"V. c #A1AC60",
"5. c #E6DA83",
"w. c #444815",
"C c #E8E9CD",
"K c #83684F",
"oX c #82783C",
"g. c #546113",
"b c #5E4931",
"f c #878259",
"`. c #6E8216",
"h c #89826F",
"OX c #B58D5E",
"5X c #C6905C",
"*X c #749314",
"8. c #9EB331",
"rX c #714025",
"#X c #7E583C",
"!. c #DCD8B1",
"| c #8FA426",
";. c #60632B",
"g c #A99179",
"E c #94AB37",
"eX c #5E402E",
"l c #3E2813",
"O c #D9CEBE",
"iX c #413828",
"S c #B9C75B",
"0 c #5F5643",
") c #E6CE8E",
"D. c #B5A448",
".X c #ECB684",
"I. c #819C18",
"{. c #7E9219",
"hX c #4A563A",
"0X c #80785B",
"i c #B7A15D",
". c #F5EFE2",
"h. c #1F200E",
"XX c #84A317",
"3. c #E9DEB3",
"1X c #9C9F8E",
"gX c #636748",
"<X c #68361A",
"[. c #84833A",
"! c #505815",
"G. c #2B3F0A",
"e. c #CEB569",
"d c #83703C",
"* c #A88F62",
"q c #4F481E",
"- c #C1AC86",
"j c #514835",
"o c #E9DECC",
"(. c #8CAB23",
"O. c #6E702A",
" X c #825728",
">. c #806031",
"m. c #808326",
"7 c #6F6657",
"Q c #849D28",
"c c #6F572B",
"' c #E3E7BA",
"^. c #94B625",
"b. c #B9B562",
"p. c #B7B54D",
"V c #F6EACE",
"( c #CEAC63",
"# c #AB9C84",
"a. c #CDBF58",
"$X c #8C5F3C",
"] c #C9CE63",
">X c #4E2C15",
"1 c #C2B385",
"pX c #F0BE88",
"B c #C6A176",
"$. c #958C78",
"&. c #D5D98F",
"r c #5E481F",
"sX c #434032",
"A c #C9D487",
"P. c #DFB27C",
"~. c #94B336",
"_ c #B79275",
"6. c #D8D770",
"n. c #B7AC4E",
"T. c #94AD27",
"H. c #687017",
"s. c #C4BE52",
"cX c #14160B",
"D c #849A49",
"9X c #805135",
"Z c #DAE0B2",
"7. c #C7C85E",
"G c #383F10",
"a c #A8A059",
/* pixels */
" . . . ",
" X X o O + @ # $ % & # * = # = - ; : > , < 1 2 < 3 O O o o o . . ",
" . 4 5 # 6 7 8 9 0 q w e e r t y q y r u * = i p # a s & d & & u s = f t & g g 3 : o . ",
" + 2 h 8 j w e k e l e w e z e e e y r w w y 9 9 x = * & t t c v b n d m c & & M N * B < , , : V > : V . ",
" C Z A S D F G k k H k e k e k e H e k e H e w e e r m r n J K 9 v L y e e y c b r n * i * x = P 3 , I ; P U , , > > o o X ",
" X A Y T R R R E W Q ! e e k k H k e k k e e e w k k e y ~ ^ v c v y b y y w e k e e e c / & u N x ( ) , ; # _ g g ; I < ; P ` g 3 I V ",
" ' Z ] S S W [ T { [ E R } | .G k k H k H k e z e H e w e ..X.o.O.q y r r e l k e l e k l y u u ^ & N N B ; +.@.U # = g ; #.= - = $.%.` _ ; > V ",
" C &.] S *.S S =.=.R { R R =.[ R W E -.G H k k l H k e k e k e e w w ;.:.e e e k l k k l k k e l y >.>.d d N i - = < ,.I = P = ; - = = = <.%.1.%._ P ,.2.3.O 4 . ",
" 4.3.5.5.6.7.7.{ S R [ 8.9.{ *.{ S 0.=.T W 9.q.w.k k k k k H k k k H k H w.L :.G k k k k k k k k k k e y q r r M & = = e.> 3.: a & = = = B - = = & * r.= ; < ,.2.Z t.y.@ C ",
" . Z ' u.7.7.i.] 7.S { ] 7.{ p.W W p.{ a.6.s.7.9.d.R f.g.H k k H k e k k k h.k w.~ j.G H k h.h.k.h.k.k k w l.q y ..y r ^ - = = z.@.) = N x = a & - < - = # 1.* B ,.) : 2.u.;.;.x.T o ",
" . A T W c.Y A A A i.v.Y s.7.b.i.v.i.Y p.n.n.{ p.T [ [ { Y =.m.G z k k z k z z z z e M.t.! N.h.k.e z k l ~ e M.w.L ....w.~ i z.< ; = B e.B.x i = < < 1 - - = x x.* % B , ) @.u.b.V.C.Z.1 u.o ",
" X &.c.[ E W =.=.{ Y =.=.S 7.Y s.{ Y 7.] i.7.{ { s.7.Y p.R [ ] ] ] A.G z k k k z k z G ! ;.O.M.w.z S.H w k q L M.! M.w...w.~ 9 x < e.B.D.e.x a i B.p ; ( p - p 1 # g ` d F.; u.b.b.a p = B = ; < ; : . ",
" . A ] c.S S R [ [ { Y 0.] S c.S =.R R { =.Y 7.i.0.] ] 0.S 0.{ { S { [ | D G z k z z z k G.G H.j.m.m.~ e e G k m.:.q. .F ! N.J.L K./ e.e.e.b.v.b.e.n.n.v.D.L./ / x @.z.1 <.d x , 1 b.p i _ i B.B.B.P.D.( < o . ",
" 4.&.7.0.7.] 0.S { { S { =.] S =.S S S *.R R *.S S 7.7.] ] 6.] 7.6.7.7.=.I.E =.q.N.G.~ w.U.! U.U. .m.m.X.-.Y.M.m.g.q.W f.T.q.d.m.m.R.X.n.p.b.e.E.Y p.[ T p.7.b.D.n.b.s.e.E.p x B.; < 1 ; e.e.( ( ( e.( ( ( B.B.( z.: ",
" 4.V 5.: &.7.c.T { =.=.Y 7.=.=.S V.R =.[ =.=.*.S ] *.R Y Y 7.7.] 7.Y A 6.] R Q [ S =.W :.W.f.Q.f.f.m.W f.[ f.d.W A.f.C.p.W f.[ W [ W [ Z.C.s.s.b.Y 7.T R [ 7.R 7.p.n.p.a.v.E.i.v.0.e.@.v.b.v.v.v.( ( ( z.( P.( ( e.E.z.z.E.3. ",
" . !.v.1 z.3.: &.Y =.[ T { T V.[ E V.~.[ =.R [ f.W E T.=.[ } R [ [ V.{ [ R =.c.=.8.8.8.^.R } [ =.W f.d.f.b.Y T R Y c.{ { { { R [ 9.[ [ W [ W [ Z.=.p.p.{ R 9.[ S p.Y Y Y Y 7.s.E.i.) i.0.7.Y p.p.p.{ a.E.n.a.( e.e.E.5.E.i.) e.v.@.V ",
" V u.p p p p @.: 2.3.@.=.[ T Z.{ T W =.T Y T b./.:.m.d.A.[ W E A.[ R 9.Y W =.[ [ [ ~.E E T.(.^.^.} R [ W =.c.S S Y *.c.R { R } R [ 8.[ 9.C.[ 9.W { W C.{ { W 9.{ 7.R.[ { { { p.=.{ { 7.a.7.a.i.i.E.a.s.s.s.n.s.a.E.E.E.i.) E.E.7.E.i.i.: 4. ",
" C 0.=./.o.u.=.W p.n.e.< @.5.u.p b.@.u.[ =.W R ).W.:.M.m.V.A.W =.[ R [ [ 9.} R ~.[ ~.[ } R } } R [ R { R R R Y S R } 8.R R R S [ [ 8.[ 8.W 9.9.p.{ W p.p.Z.L.p.p.p.{ { L.C.{ C.{ { Y 7.s.Y { 7.7.7.i.E.E.e.B.a.a.a.E.v.a.s.Q.^ p.a.e.a.a.v.s.7.3. ",
" . Z =.W W T | 9.[ W [ [ b.s.1 e.b.T a C.V.W T f.V.W /.f.E W { =.R R R R [ ~.} R } R } } } ~.[ [ } S *.{ E ~.8.R R =.E [ } R R *.*.R R E [ W W [ { Y S Z.R.C.p.p C.{ p.s.7.7.7.s.7.E.7.s.{ p.[ s.7.{ p.s.a.s.( L.B.i e.i.a.s.b.p.p.C.p.i L.E.s.C.7.s.# o ",
" X A =.W [ [ T E E =.f.q.f.f.Z.T V./.:.t._.o.W ).q.D f.[ R S *.} R R } R } } } [ } ~.R ^.^.~.8.~.^.8.} { R W | E E ~.[ [ [ R R S Y R *.{ R p.{ Y 7.s.{ s.S p.{ p.{ 7.{ s.s.{ a.i.] a.7.7.7.S p.C.C.n.a.a.s.s.{ p.( ; e.e.n.p p s.7.s.7.a.v.i.i.i.i.v./ 9 & : ",
" . #._.m.A.W A.C.f.f.q.D A.A.f.E E q.W.`.W.q.q.[ f.d.E 8.[ R R R R R } } [ R =.*.} R ^.~.} ^.} ^.} *.} ^.8.8.9.{ d.d.V.=.=.=.R *.} *.*.p.7.{ Z.[ W p.C.D.n.a.{ A.Q.A.R.{ } { { p.{ { 7.7.s.7.Y { { S p.n.e.s.9.p.p.a.a.p b.e.b.C./ L.L.p.p.p.a.E.7.a.s.u u d n u ,.. ",
" o $ '.].a Y Y { Y c.[ [ [ R =.R [ R R R R [ R [ [ R R R } R R } } } } 8.~.E R ~.E } ~.^.^.} *.^.} } *.*.R R *.{ 9.[ =.S R } { *.[ } 7.p.D.s.p.n.a X.d.m.^ '.^ m.[.K.m.K.Q.{.| D.a.9.C.C.p.{ s.S Y } { { { s.{ { s.7.7.7.s.{ Y Y { T b.i n.n.a.b.a.p.L.K.'.u n n >.}.) |. ",
" o p s.v.7.7.7.Y Y 7.i.7.c.*.{ { 8.[ R S *.=.=.} [ R } } } ~.~.[ [ R ~.~.(.(.E E ~.(.Q (.(.~.} ^.^.*.*.*.*.*.} R S { *.[ R [ 9.} R *.s.7.{ p.D.x / u r r ~ ~ M Xc >.c 9 ~ m.{.X.Q.D.n.C.C.{ { S Y *.} { { p.{ Y Y S 7.R Y Y Y S 7.{ p.s.e.v.b.s.n.a o.u n u / u '.>.u e..X@. ",
" : E.v.7.7.0.7.{ S Y s.a.S 7.W 9.f.8.*.*.S [ ~.[ } R R ~.~.} ~.} ~.E ~.~.~.(.| E | Q ~.Q (.(.XX} } ~.^.} ^.XX} } [ } R [ [ 9.| [ 9.8.} { *.*.] b.B.i B./ m.m.m.X.X.^ oXn ~ X.R.*.A./ b.Y p.C.[ 7.[ { { { { { { S s.7.{ S p.{ Y { { p.v.7.Y s.Y s.=.p.C.'.'.m.L.n.e.s.p./ B.v.B., . ",
" V < e.e.a.7.7.E.i.s.Y { p.W D.{ f.Z.8.8.=.R R 8.8.8.8.} } ~.} ~.^.*.~.~.E ~.[ ~.=.~.~.R (.E (.~.E ~.E 9.d.8.8.8.} R } [ R [ } 9.[ R R *.*.R } } { s.7.s.b.p.p.n.W W C.n.p.n.C.} [ p.C.C.C.{ { R { [ } } { Y { { s.Y s.{ p.{ 7.{ S 7.{ { { Y Y 7.{ Z.[ [ W R.9.W [ p.n.p.[ p.n.i e.e.@.o ",
" . < s.E.7.i.i.i.7.i.] S 7.S { p.[ R [ [ } R *.R } [ } ~.~.} ~.~.~.~.R ~.~.~.[ } R ~.} R [ E E W [ [ p.p = = p p p.} } *.Y Y [ } } } R *.R *.} { } p.R.n.p.W p.8.8.9.} } R.p.s.*.} 8.9.8.*.} *.{ { [ [ 8.[ [ W W { { { { R { { { { { { =.{ [ { R { R n.W d.d.E W R.R.W 9.W R.p.W L.D.p b.n.!. ",
" V 0.E.0.7.s.7.] ] 7.7.7.{ { { } } 8.W | 8.E 8.7.R } ~.8.} ^.~.8.~.~.8.[ } R R ~.~.} ~.~.} R [ V.i = OXOX` * OXOXOX_ i p.p.i.7.7.R =.W | 9.9.9.9.8.{ [ X.C.[ R.| 9.} ^.} } { *.} 8.*.*.*.*.R } *.R { C.d.Q.X./ ^ ^ D.a.p.p.{ [ [ A.C.W T W p.R [ p.p.{ { { p.W f.f.9.W W p.C.Q.L.C.R.X.Q.].X.A.+X. ",
" Z b.{ Y b.Y b.s.s.Y { { { R W 8.[ [ ~.8.R R E | ~.8.} ~.E XX} R ~.(.XX| E E E (.~.(.| [ T.} =./.r.u ` B , +.g @X#X$X$X%X&X; 5.1 Y T Z.f.R.W 9.[ d.Q.C.7.{ R [ 9.R.} } } } } 8.} 8.8.} [ R R | {.8.[ W ].'.K.M M r X XL.D.A.Q.A.f.W [ p.p.p.[ p.8.n.=.0.Z !.c.W W [ C.9.p.p.p.R.D.n.Q. .'.H.;.M.[.s . ",
" 3.W C.A.R.C.{ s.Y n.W n.[ 9.W 9.} W 8.} ~.~.^.E E ~.8.E ~.E } Q I.Q W.{.*X*X-.*XQ (.E | [ E f.A.i < : 2.4.4.4.I 7 b =X-X$X%X;X:Xo C : +Xu.C.A.o.n.C.L./ W R.D.*.[ } } 8.8.T.} 9.d.I.T.9.W W T f.q.d.A.x.<.9 v r y >Xr =X/ D.D.Q.L.m.C.a.s.s.S { W p.@.V C : o C ,XT C.W p.p.a.p.n.Q.o.m w...w e H e H 7 o ",
" !.{ A.A.q.Q.C.s.a.C.C.f.d.Q q.| W } 8.[ (.I.I.E T.XX(.Q XXQ I.q.XX| (.| | E ~.E [ ~.~.R ~.~.W W ) 4.4.2.2.: 4.4.3.5 g b <X-X$XF.F.P |.V V V o !.x.n K./ ].C.L.R.} } } } ^.R.| R.d.{.| R.9.C.i.4.,XZ.x.s d @X@Xr t q y 9 =X>.L.v.p.=.C.s.Y s.{ W p.s.a % g g 1X# I 4.&.7.a.p.p.a.C.m.9 g.w.G w H e m L w.k y.o ",
" u.q.d.d.d.A.Q.C.C.C.o.Q.q.{.m.| d.| W 8.R E (.XXXX| E E (.} ~.~.Q f.E } R =.*.*.=.~.[ R } } R { 5.2.@.B 2X2X,.z.> |.2.o @ @X3X-X4X$XF.5Xo o O O o V o +XD.p.n.p.{ 8.p.{ } } } 8.[ T.XXT.T.[ v. . X = f 7 v 0 @X0 t 6X0 K 6X>XM L.{ =.{ { s.a.s.n.e.7Xw k.k.l.0 y.1.I : v.i.E.5.o.;.L L G w q ..L '.o.[.o.G M.D C ",
" . 8Xd.{.q.Q.Q.| d.R.W d.d.d.Q.q.E [ 8.9.8.| ~.I.| Q E Q (.~.~.E ^.} [ } } } R [ [ [ R R ~.} ~.8.7.< ; P OX= B - P 3 ; +.V C V !.g #X-X9XF.F._ |.. > > o |.C 3.@.s.p.p.n.[ { Y S R R 8.T.8.^.8.R p !.O % 0Xt b qXb 0 @X8 t 0 t f e >Xn W C.p.p.b.s.v.E.a e k.k.k k k.k.k =Xx z.E.E.E.m.~ ~ M.q ~ L ~ M.C.p.C.C.C.f.d.T X ",
" ,XQ.W A.d.f.Q d.f.{.| `.X.-.d.f.R ~.~.E E XXf.d.`.-.| Q {.f.f.E 9.8.~.8.R } 8.8.E } R *.~.[ 9.0.; * & r.g _ _ B _ P > I ; > . . . wXr.#X$X$X%X&X> . : O > o X C 5 [.oX/ A.C.} } R 8.R ^.8.} 8.T & ` K @X3X8 qXl 0 b t 6XJ 7 8 % e e =XQ.p.[ D.p.v.v.b.t k k.>XeX3Xl.k.S.k.M a.a.E.E.p.Q.D.L.Q.X.L.p./ p.a.( C.{ { R.[ c.. ",
" ,XY E E f.| Q.d.{.{.{.{.{.`.{.f.Q Q Q.A.C.[ | R.C.W d.d.m.`.W.E 9.R { W W [ [ 8.} T.~.~.~.8.{ < - J @XK r.%.;XP % ; I g P o : 3 > 4.. o # @X$XF.%.&X2X. X o o o V . wX^ ^ Q.[ R } R } } R 8.E f.A.r >XrX9X#XM j k l.0 6X0 6 t 6Xh 6Xr >X^ p.s.s.p.7.a.f >XtX=X9X#X$X#XyXS.k.rXn.p.p.E.p.s.s.a.a.s.7.p.D.L.L.s.a.n.{ 9.{ 8.Y . ",
" Z ~.(.E f.XXQ *Xq.Q q.| 8.[ E E E | *XO.'./ C.f.9.T.9.f.f.| W 9.8.*.9.| L.].].m.`.{.W.`. .R.a B.U h 6Xt @X@X<.` r.; g ` +.O 2 3 : o I +.. . O %.@X$XF.;XP > o o |.X |.. C u.b.[ 8.[ R [ E W | Q Q.f l.tX<XrX4X$X6XqXk t 0 uX0X8 8 0XK uXtX>.n.E.7.s.a.p.r e eX$X9X$XF.$Xl.k.k.M n.p.s.s.( E.s.( p.p.s.p.n.n.D.D.p.s.s.p.} W 9.A ",
" 4 ~.E | f.(.Q {.{.| E E ~.[ [ W f.E [ q.Y.m.A.[ 9.8.9.[ } W R p.*.8.R.I.{.X.X.K.;.M.M.J.w.'.V.* * s 6X6Xt K %.r.%.; r.` +.U g 3 o I 3 > |.+.o . O r.F.F.F.%X_ > X > > o . . V ,XA.A.X.[.m.m.A.C.A.o.[.l tX<X<X-X4X$X@XyXt 0 uX7 8 8 0XK b k. Xe.a.7.s.7./.b K N ` $XF.F.F.M k.l n s.a.E.a.( e.v.v.a.s.a.a.s.s.p.D.p.p.s.p.n.[ p.p.&. ",
" C XXQ q.Q | XXXX-.{.8.R [ R [ =.[ W [ [ V.| E [ =.R R R } [ [ =.[ 8.9.p.C.R.R.L.m.X.~ L w.'.X.o.<.& <.7 0 6X1.1.@X_ @X;XO g r.+.+.g 2 o O 3 > C O o o # K F.F.%X;X3 . . . . V 1 ].[.~ 9 [.oX]./ & @X>XtX>X<XrX-X4X%X$XM t 0 b 8 7 0X8 iXk.rX= n.D.p.s.[.%.; pX, , P x %X Xl =XD.a.s.a.D./ }.B.( e.E.5.i.E.a.i.p.p.p.n.s.p.p.{ p.p.@. ",
" X [ {.*X-.*XI.*X*X-.Q.W [ E 8.=.R [ ~.[ E ^.E 9.~.=.~.E E E ~.[ { S 8.[ [ n.m.n L.X.L.:.m.-.R.A.m t r.J 0 b 6X6X6X` @Xr.I 1.r.O # r.3 O U 3 o I P I |.o O 2 ` F.F.F.%XP , |.o |.o . V +.Z.o.].N ^ / a & @Xe >XtXtX>X<X-X5X2.1 0Xy.j 0 7 7 eXk.S.>XK u %./ Z./ P _ _ ; 4. : d M.D.s.s.a.n.].N / B.n.n.n.E.E.i.] E.E.s.a.a.a.E.p.s.p.p.7.3. ",
" ).-.-.I.*X-.`.`.-.I.{.W.:.A.W [ V.E E T.(.| (.XXf.f.f.Q XXQ 9.[ [ [ R *.S } { W p.n.{ =.[ 8.} D v j 7 0 0 j qX3X@X6X6X2 @XK , % 1.; #.` 2 O # g , o 2 P |.. I % %.F.F.%X_ , X |.. V V V !.b.p ( p a a x.<.y l k.>XrX>.` 2X4.V g @Xj qXl.qXyXk.S.k.<XF.OXB.x * ,.P $X;X|. wXT W 7.7.*.a.{ R.'.A.p.p.p.E.s.*.s.s.a.E.s.p.a.7.{ [ { p.p.7.7.X ",
" 8XF `.W.{.*XF Y.F g.[.aXF :.q.Q W.q.Q Q {.d.E E f.~.V.~.E | [ [ ~.*.R *.*.R R } } ^.} R [ R } [ O.uX0 b 0 sXj qXqX7 l.` 6X3X2 <.M U 2 @XU I <.;X> I g _ , |.O I o 2 r.F.F.%X&X_ O . . . . . V ,XY Y Y p <.K 6XyXy d s $.$ U +.> u %.6XqXqXb l.S.S.S.>X$XOXB , ; _ ` OX&X, ' =.} R p.{ { { 8.{ p.9.n.} { { s.R C.p.s.E.7.p.p.p.[ p.W p.n.[ W S ",
" 5 ! M. .{.-. .dXU.N.G H L q.E q.W. .q.{.:.`.q.Q f.~.~.R =.} E [ [ E R =.} R } E E 8.} 8.8.d.f.=.D fXuX0 uXsXqXsXqX8 yX@X8 l.U 7 eX_ # 3X` I @XK , U 1._ > I g P |.o 3 U g ;X1.%X&XP 3 > |.. X o V > u.b.a t b c 0 y v J s $.$.= ` F.5Xr.0 0 j qXk.S.S.>XF.2.,.4.I r.$XP ` 2X3.u.W [ n.{ 9.} 8.n.7.8.8.9.9.R R s.{ 7.s.s.b.a.s.{ p.p.[ R.p.8.p.C.p.A ",
" o gX~ A.Q.A.Q.q. .G G G w.O.Q W.`.Y.N.J.! J.H.d.[ E ~.[ } *.[ R R c.[ R *.R R ~.| E f.} *.[ | [ +XD hX0 j 0 uXj qXqX0 yX7 yX1.7 l.%.# eX$X2 6X3X3 # @X` > g % ; O 2 U : o P U _ ` ;X&X_ P > > V o o 3.3.I $ 6XqXiXb uXqXv J f <.K @X` r.eX7 uXj j k.S.tX>X%X> : > C +.- ,.|.+.b.[ 9.9.R.{ 8.{ 7.R ] S 8.p.{ { 8.{ { s.p.p.n.p.n.p.p.a.a.s.*.{ { p.p.[ !. ",
" jX..H.Q.^ x a A._.m w.~ m.q.`.`.H.J.H w.! N.:.E [ ~.R } R R *.=.9.S R [ Y } } [ E E E } c.=.dXD ).7X8 y 8 j qXqXuXj j 6XiXb J l.%.3 j eXP 7 rX_ 2 3X;X+.% K 3 I ` g > I 3 : O _ _ g ` &X_ P 3 > |.|.o > #.0XqXl yXl.j b v 0 0X9 6Xt K 1.0XJ uX6Xj iXk.tXtX-X; V |., > o 4. Z =.[ p.[ { S Y 7.7.R 7.{ R { } s.{ p.8.s.p.p.p.R s.a.a.a.E.a.p.s.7.7.s.p.a.. ",
" ,X'.K.X.X.m.Z.i Y C.X.X.o.C._.`.m.oXO.M.'.q.W.8.~.E (.[ } } ~.*.R [ *.[ [ } ~.~.E XXE Q R ~.W.f.V.E ;.w.8 yXuXuXsXqX8 sX6XiXJ iXF.2 7 eXP $.<Xg I 6X` , <.%., #.1._ > g _ > I I o 2 U _ _ P _ P P 3 3 3 # J qXiXiXiXiX7 j 8 v 7XJ 0Xf h $.h y.7 uXiXk.k.tX>X-X2X: o o +.: C b.=.R.n.W L.W C.9.s.{ { a.7.p.s.C.a.[ p.{ p.} p.p.E.E.s.p.a.a.s.C.X.9.a.s.s.i. ",
" . b.Z.p.R W [ Y } =.W T o.L.L./ / C.L./ q.f.W d.| E R ~.~.~.~.E 8.~.(.[ E ~.R [ E Q *X*Xq.~.[ E Q Q D fX8 sXt 0 qXj sX7 qXuX8 qXqX_ 7 eX_ # eX%.I <.%., % %.O U @X; I % _ I _ 3 O 3 > I % # , P U 3 3 3 I g J 0 qXj b j j j uXqX0 9 0Xf $.$ h y.8 sXyXS.k.>X>XrX; I O : C |.V c.T T R.C.o.X.d.Q.D.C.L.L./ L.C.[ p.7.7.s.s.p.p.} n.p.p.a.6.6.a.B.D.D.p.p.a.p.p.,X ",
" ,X[ R { R } R } } E [ 9.R.f.C.].L.L.C.T R R } ~.} 8.R ~.~.[ [ ~.8.~.(.| E =.=.~.E f.E E f.R [ E Q Q f.;.q 8 j qXj uXqX0 8 yX7 yX@X0 k.l.#.b eXU <.K 2X% % +.% 1.3 #.r.P 3 ` 3 U _ +.O U 3 o 2 U , 2 ; P g <.0 qX0 qXuXsXj j j iXuXj t f h $.h y.j uXyXl l >XeX$X_ 3 O #.I 3.+X=.=.{ [ { p.d.n.9.D.Q.K.~ K.'.L.W { s.0.s.p.n.R.n.D.D.p.a.i.E.E.a.n.a.E.s.s.p.9.W X ",
" C } 8.8.} } E (.~.} ~.8.R R R } } 8.W 8.R } ~.~.} ~.[ 7.[ } R ~.} 8.[ 8.[ E Q E ~.D {.E [ E [ (.E ~.[ ~.fXt iXw 0 qX0 qXb 7 qXj yXh k S.l.<.k eX$.3XP g 1., g K , U %.I #.* 3 % _ !.` ` +.O ` P I 2 ; _ % 1.0 uXuXj 0 sXb qXj uXl 0 qXq J s s y.uX8 iXiXyXyXl.F.` 3 I +.4 2 ,XT W R.[ [ [ { p.s.*.{ { C.].'.^ X.L.9.} p.7.e.b.C.n./ ^ D.a.i.E.a.E.a.n.p.s.s.s.W W A ",
" . c.E (.^.E ~.~.~.(.~.^.~.~.~.^.~.~.(.~.~.E XX(.T.E d.p.Y R ~.~.~.~.8.~.E E E | E E (.8.8.W Q E XX(.Q Q q.fXw t 7 qXj 0 j sX0 b yX6Xh S.S.b uXk.6Xb K g #X3 g @X2X# r.+.# U 2 1.; I %.P o # r.I U ; U U ` <.6X0 qX0 iXuXiXkXyXj uXk.0 w qX9 % $ kX0 j qXqXl.l.$X` OXP I : O o wXW R.W W W [ s.s.8.} 8.8.{ p.W L./ Q.p.[ { { T W p.a.v.z.) e.a.p.a.a.a.E.a.a.7.i.s.E.7.V ",
" ,XT.XX| q.(.R } ~.8.E 8.(.I.Q Q [ (.(.(.Q (.| Q f.E | W.d.E E W | T.E 8.E T.9.9.9.T.| | Q Q Q [ f.Q *X-.Q g.8 j lXj uX0 j sXkXb yXb y.S.S.#XzXk.7 yX% b g # #XP U 1.I _ 2 U %.I 2 1.; +.% N I g ; g _ ` <.0 uXj b iX0 iX0 sXyXqXuXh.b ..iX8 0X6 8 uXj qXj yXl.;X2 ` I g 2X+.o +X[ [ R { [ p.Y R } 8.T.8.8.{ 7.s.0.s.{ p.p.[ p.[ { v.v.) E.a.a.E.a.E.i.E.i.7.7.s.7.] { 0. ",
" =.E E E ~.[ ~.(.| 8.~.| | T.E Q Q XXXXQ XX(.(.Q Q | E E Q q.Q d.| E | | | | | {.XXm.d.q.Q I.Q D q.q.I.W.| gXw q 7 t 0 uXzXqXj qXyXqX0XS.S.@XsXk.7 qX0 eXU 6X;XI 6X; g ; # 1.> # K 2XwXK N +.% ; % U r.% b uX7 yX8 yX0 qX0 yXk iXiXiXw qXj 0 y.7 0 j sXj sXqXj %.3 U P # 2 I > wX[ [ p.{ [ R } 8.^.I.9.T.8.8.T f.[ { p.{ { { p.{ Y { s.a.p.( ( P.e.n.E.a.E.7.s.p.*.{ { { ' ",
" A } 8.E E E E XXI.E | Q | Q f.Q ~.XXE E ~.(.Q E E E D | f.:.{.f.E q.q.f.Q d.| {.`.`.M. .{.Q q.Q {.Q f.f.E E xXt 0 iXj 0 0 qXqXuXiXsXyX0XcXk.@XyXk 8 uXyXK uX3XU 6X_ ` # ` %.> # F.I #.#XU I 1.; 1._ J <.j 7 j 0 qXqXqXuXqX0 yXyXl k.j l iXuXb 0 7 j sXsXuXkXqX6X6X_ 2 % U * I +.+.=.[ [ R 8.8.^.[ R 7.} *.R R 8.W 9.R Y T p.7.7.7.7.s.s.n.n.n.a.( s.n.p.s.{ s.7.7.7.*.{ { 0. ",
" X [ ~.^.E XX*XXX(.E f.q.q.W.`.q.Q XXXXI.XXQ XXI.Q Q {.{.q.q.q.f.W | {.-.Q.Q.9.T.XXm.M.M.W.W.*X{.Q d.f.E ~.(.(.gXsXw e e 0 uXsXj 0 k 8 k.h S.S.y.lXk.0 qXqX7 k.J 6X9Xg ;X% #X< g @X< U 6X= I K P <.r.r.1.6X6XqX7 yX7 lX7 qXqXj iXiXk k j e qXqXuX0 fXiXqX0 j j K 8 @X` U U g _ 2 5 +.Z W [ } ~.} 8.} 8.R R R R R [ R Y R { =.{ 7.Y p.p.{ s.{ { s.s.p.p.} 8.{ } S *.*.} { } { } Z ",
" A Q I.XXE *X*XXXI.f.).A.A.`.`.H.-.{.Q *XQ -.-.*X`.-.*X`._.q.| 9.E Q XX*Xm.d.9.| R.{ R.q.Q {.-.{.[ E E E E (.E J.fX7X0X8 qX0 qX0 j yX8 k J h.k.<.h.l 0 k.6XiXyXJ l.J @X` qX_ ` M P U b ;XI 6X` g 6X$.b % iX7 iX0 qXj qXuXj j j sXsXk.yXiXyXsX..0 8 j sXqXy.iX0 6X%.K % <.% U U - ; I V =.[ } ~.[ } E [ R } [ 8.R R p.{ T p.[ s.b.Z.W Z.Z.s.{ { { *.[ { } } [ 8.p.s.[ 8.9.{ [ p.S ",
" X E *X*XXXQ I.| Q q.W R.9.9.q.q.*X{.Q Q -.`.`.dXdX{. .A.q.q.f.Q | (.(.XX| | d.| T.9.[ R d.W E E ~.E (.(.I.E E | j.uXe k.0 j qXuXuXiX0 b iXJ k k.h lXk 8 k y.k.7 sXl.0 @XqX3X% qX$X2 eX6XP 0 6X# l.<.qX% qX0 qX6XqX8 k 6XiXqX0 j yXqXk.j iXw sXiXj uXsXj qX0 b qX@XK @X7 3X6X%.P #.U +.V T E E 8.8.[ ~.8.[ 8.~.W [ [ [ R [ p.W T Y n.n.n.p.{ } p.[ [ [ } [ } } R 8.8.9.p.8.9.n.[ } Z ",
" u.W.I.Q Q Q Q Q I.d.| XXXXXXQ q.*XW.`.-.-.`.dX .:.Y.H.m.R.f.| | (.~.(.E T.A.{.d.| 9.8.{ R ~.E ~.~.~.E ~.(.~.} ~.t.N.sXw k 6XlXb uXiX8 yXk J lXk.% S.yX8 qXj k h k 0 qX7 yXJ qXeX$.0 yXr.7 >X% 0 J 0 b 6XqX7 yX7 iXuXiXuXuXyX0 0 S.j S.0 iXiXqXiXuXj sXsXj sXuXb K eXr.@X@X6X1.K ` - 2 o c.W E ~.(.E | (.T.E f.T.f.E W W C.[ n.p.p.Y s.p.W W C.} } 9.9.p.[ p.[ 9.[ 8.{ } 8.R.} { { Y ",
" . D q.XXE | Q Q {.I.(.I.XX(.| XX(.I.dXY. .F `.`.q.`.W.f.E f.E | (.(.| | d.| Q.X.{.| 8.~.[ ~.E XXXXE (.(.Q (.| =.E D 7XJ J uXw 8 >X0 uXqXsXS.7 yXk.h S.qX0 qXyXl.y.iXb 7 sXb y.k.6X<.k eX<.yX@X7 eX% qX7 k 7 sX0 sX8 yX0 yX0 k 0 8 S.j S.6XiXiXiXiXj sXj qXsXuXl.g b K K J @XM r.` b _ U : wX~.T.| | I.I.(.E 9.8.9.E f.| | 8.C.[ s.W 9.n.C.[ W 9.p.s.{ [ R.d.^ b.p C.C.p.n.p.R.R p.} } ' ",
" Z D Q | (.~.f.[ Q {.(.(.^.T.^.~.~.XX(.I.`.dX-.{.9.E f.f.{.I.-.{.Q XX(.I.`.`.m. .m.d.| Q XXXXQ I.| Q *X*X(.~.E ~.D D G.k.e 6Xy j uXk 7 k 7 S.b zXk 6 cXeXuXb yX0 7 k j y.k.y.sXyXh sXk.K zXyX% l.J qX0 j qX7 yX7 yX7 k 8 iXj iXqX7 S.j cXuXiXl.yXsXuXj sXzXuXyXr.<.@X@XJ @XK 6XK >.g r.U !.wX| E Q E -.XX| | | 8.[ [ | Q d.T.T.9.p.| Q.Q.L.R.C.R.9.R.n.} R.d.| A.z.< i e.C.W C.{ [ 9.8.] ",
" ).Q XXXX{.8.~.E Q I.XXXXXX^.(.I.I.^.~.(.(.8.T.(.d.9.f.XXdX`.dXdX`.-.T.(.9.9.9.p.f.`.*X*X*XI.*XI.Q XXI.(.D ~.R D E D O.uXk k b j 8 sXl.uX8 iXyXj yX7 S.6XsXuXyX8 sXk.K iXl.y.k.6Xy.k.qX0 k @Xj b y.k 7 yXJ yXb j 7 iXuXiX0 yX0 sX8 S.qXcXb yXzXiXiX0 kX7 yXk k 6X0 @XK 1.<.K @X;X% >._ % . Z D I.I.*XdX-.{.I.f.9.W W {.XXI.| T.9.8.R.X.X.'./ C.C.C.9.d.R.R.{.Q.q.'.1 ,.z.) p D.{ [ 8.9.R C ",
" C | 9.8.R ~.(.^.(.| *XI.I.XX(.(.I.I.8.~.} E E E E E E Q Q -.I.`.`.*X{.| E E E f.W A.-.Q *X*X*X-.*XI.(.~.*XQ ~.E (.(.*XhXt 8 w k y e t iX6XqXuXS.0 iX8 S.7 yX6XyX8 yXsXy.h.7 j k.h j k.7 yXiXy.k 7 j b 0 yXy.k 7 yXJ k 7 yX8 h.6Xj 0 S.j cXqXyXj j ..uX0 y.7 lXj yX6X@XJ % J 6X1.r.# # ` g % Z.f.I.T.~.E | | | q.d.A.f.| | d.XXT.T.T.9.C.Q./ X.X.R.R.R.Q.R.Q.`.`.X.X.f.@.: ,.) b.n.p.8.9.9.&. ",
" +X(.E } ~.~.XXXX(.(.I.XXXXI.XXXXI.T.~.~.[ ~.E E ~.(.~.~.(.(.(.I.{.| f.9.E ~.E E | Q *X*XI.XXXX*XXXXX(.(.Q E E Q I.-.`.L l y 7Xt sXh.l.7 qXiX7 S.0 qX0 k.J k 6XlX6Xk 0 0 k.<.yXl.h k yX7 k.6XuXl.y.k J yX6X8 qX0 b j yX0 qXsXk.7 0 uXS.j cXsXiXuX0 sXuXj y.kXqX8 sXb K 1.$.K qX@X` - U # t & /.XX(.9.R R =.R Y [ 9.{ [ [ R | R.} 9.R.9.[ C.X.L.Q.R.L.d.R.R.| Q.^ .Q.A.p.b.@.@.e.[ L.R.R.9.{ . ",
" X =.E E D | Q *X*XI.(.(.(.^.XXXXI.Q E E ~.} ~.~.[ =.| (.~.XXXX(.~.E ~.E [ ~.Q ^.T.~.=.T Q XX~.(.*XXXXX(.(.(.*X*XQ *X*X`._.L h.k.iXt t yXy 7Xk.0 sX0 j j k 7 k.y.lX0 k K sXyX7 S.7 kXk.6XsXyXy.yX6Xj sX8 k J yX0 qXy.S.0 sX8 h.yX7 8 qXcXqXS.qXiXuX8 zX0 kXj yX0 0 8 yX6X6X% J qXb U ` O +.f +.f.{.| 8.=.8.[ [ 8.R [ [ 9.R [ 8.9.R 8.I.Q.R.p.a.[ 9.[ C.d.X.R.p.Q.W.H.d.| W [ W f.| C.R.R.9.C.R.&. ",
" ,XW.aXdX:.W.:.W.Q XX~.~.XX(.(.A.A.L.E E f.~.E E q.~.Q {.I.XXI.(.^.~.| XXE [ XX*XXXQ E W.Q *XI.*XdX*X*XI.(.(.XXXX*X-.*Xq.gX9 fXiXk.k.j 7 yX0 0 k 8 qXuXj yX7 S.J k 0 k 7 k 6Xj k.h yXyXJ h.j 7 k.y.yX0 iXqX7 k 8 uXj k.7 yX8 k.b kX7 yXS.qXcXiXsX0 0 ..8 uXj e qX6Xj qX7 6Xg J qXl.* # I : - o D -.`.I.f.d.d.| I.T.~.8.[ [ 9.| 9.} 8.R.9.W [ p.{ R p.9.C.Q.m.Q.{ p.R.9.T.T.T.| | 9.f.R.9.9.9.| Y ",
" @ J.N.J.xXM.W.-.Q | [ 8.(.(.| m.o.[.A.Q W.`.dX-.`.| Q I.XXd.| XXI.q.I.Q -.q.E Q I.E E W.Y. .dXq.:.dX*X-.W.*XXX*X:.:.q.j.t.w iXv 8 ..k.iXj S.7 iX8 qXuXsXyX8 S.7 k.8 k 7 k J lXl.y.S.6X7 S.J qXiX7 k 7 h.7 j qXj 7 h.qX7 yXfXk.7 qXy.k cXqXS.l j 0 0 j uX0 kXj w 0 0 j 7 eX_ 0Xb b $.1 I 3.4.C D q.W.C.f.W f.| XX| | 9.~.} W C.9.[ [ } } { } { { { *.} { } A.L.n.Z.9.8.T.T.T.T.| | | d.d.9.9.| [ . ",
" X t.H H G U.M.`.I.:.m.-.o.Q 9.f.q.A.D W.q.`.*XQ {.-.q.[ Q {.Q.dX-.dX`.W.*XdX-.-.f.f.).o.].^ & [.& O.X.W.dXdXdXdXY.U.F M._.f gXe k.l.t 7XuXiXS.>X7 iX0 j j >X8 k.7 k 7 k 0 k J S.0 8 k.h sXk.h yX7 sXqX0 k 7 yX0 sX8 S.J j j sXyXy.yXy.k cXj S.k.b 0 8 b iXv 7X0 <.J 0 8 0 b g g 7 6X% I I V o +.T [ s.C.W f.d.| d.I.| 8.} 8.} p.} } p.} 8.} *.} } } R { *.{ p.C.W p.R.| T.T.| } 8.W [ 9.| T.9.9.W Z ",
" O ;.H e w ! M.`.j.q.H.;.M.o.=.A.q.:.:.:.W.Q Q | (.Q q.C.Y :.:.`.q.| W.dXXXQ *XQ d.x.m 9 M >.n XF.%.& d :.H.aXF J.F G.v s f gXt w.k k.b t J 8 z y 0 uXuXj iX0 k.8 yX0 yXj yX8 S.J sXyX<.lXl.6 yXJ S.7 iXyXK yX0 8 sXyXh yX0 yXiXh k 7 h.cXb S.k.uX0 8 qXj j zXb ;.J 7 8 j b 1.g <.@Xg I > V g !.).9.[ R.f.Q `.I.*X{.| | R.R.} 8.R.} 8.8.9.8.8.8.p.8.9.} } } } [ { =.[ [ 8.8.[ [ 8.8.9.E ~.T.9.[ W +X ",
" 1 x.K.n ~ H.'._._.Y.U.e r o.V._.m.:.| A.d.W.Q {.{.m.d.W W j.q.W.`.*X*X*X^.E ~.f.Q [.g._.;.v M & >.M v r O.D `.F N.J.N.7Xh 6 kXiX0 uXw S.h.l t t yXy 0 uXj iXkXk.0 iXuXiXj iXuXk.<.lXeXy.S.0 7 yXy.k.J yXqX8 sXqXJ k 7 kXk.y.h.qXy.S.7 k.cX0 S.S.j 8 0 sX8 ..0 8 8 0 7 8 0 0 7 % ` $.U 3 > V wX4 A.| T.| XX(.| I.(.q.d.{.{.m.Q.R.9.9.9.9.9.} 9.8.9.9.9.R.8.8.8.9.[ [ } 8.7.S R R E E E 9.| d.9.=.Y Y ",
" s OX/ N ^ L.o.[.M.G k k y ~ C.q.[.q.f.f.D m.M._.m.Q.W [ f.f.W.dXY.-.Q | XX*X[ =.E {.q.m.[.].N x b e l e k H.-.-.W.F .f h gXj e k.y 0 b e S.S.qX7 w qXkXzXiX0 k j l.j qXsXqXsXiXy.S.6X8 S.7 j qX8 yXy.h.0 uXkXqX7 yX<.sXyXJ k.j y.k.6XS.cXb S.S.qX0 b j 0 j 7X7 0 8 7 7 0 0 6X` _ P 3 +.,.V . !.f.9.| I.(.XXI.I.Q W.F . . . .m.m.X.Q.R.R.8.R [ } 8.R.R.XXR.T.XXQ.C.9.9.R { R 9.8.8.8.~.T.8.[ | W [ C ",
" ( K.n K.^ / OXo.M.w.L e ~ / C.A.{.W.m.o.m H.m.{.{.{.`.| [ E Q *XdX-.Q *X`.dXf.V.E f.| Q Q.'.~ >.%.n [.;.L m.q.Q | q.o.jXy.hXiX0 G k.k.qXv j k h.>Xt e r j qX0 k uXqXj j iXuXyXb 8 S.J zXk.h iX0 uXl.7 h.6Xj b uXsXj uX8 iXh k qX7 S.7 S.cX8 S.h.j 7 iX7 l.8 8 j 0 8 7 8 8 0 6Xg _ I , ,.+.3.. 5 f.T.~.I.I.^.I.| f.{.`.`.-.M.H.m.{.C.f.{.9.R.8.9.8.R.| XXXX| I.d.{.| d.R.9.9.9.| E E 8.T.9.T.8.8.[ } ,X ",
" V = L.).Q.L.L.C.o.A. .w.r u ^ p.[ E q.m.].m 9 C.W | R.d.q.d.D Q D Q Q W.dXdXm.j.:.W.*X:.W E D ! 3Xn / a ~ m '.Q.A.D /.$ f fXyXyXiXv q k k.k.y b w h.e 6Xy q sXv k j y j j iXuXyX0 sXS.h yXk.h k 6XsXqX8 S.8 uXj 7 yX7 qXkXyXJ k qX8 k 8 cXS.8 cXk.j 7 yXy.h.t 0 sX8 0 7 8 8 0 @X_ 2 > > > +.+.O 1 D | T.(.XX(.(.^.9.| d.q.d.m.Q.Q.d.C.f.R.9.8.8.9.| XXXX| | XX{.d.{.R.{.| | T.9.9.| 9.[ W (.f.| E 8.8.c. ",
" Z W T p.T Z.b.).X.o.L.L.'.m.L.=.W Q.L.].^ N & u ].D.Q.A.Q.Q d.-.q.W.W.W.:.q.q.:.F g.dX .f.W q.M.K.u n c c n a m.q.W /.jX6 sXlXyX....r v y k S.l b uXk.e y y iXj e j e uXj e 0 S.7 yXk.h k k h h.7 lXb kXS.6X0 iX7 k 7 8 qXiX7 yXj 0 k 0 S.k.8 cXS.uX8 k 7 yXw t 8 uX7 8 7 8 uX@XU ; +.V 3.O O # +Xq.Q | 8.T.^.T.(.8.} R { { Y s.[ W f.[ 9.W W 9.T.{.*XXX| XXd.{.Q.| { { W T.| | 9.8.W E 8.~.8.E | Q | =.. ",
" p C.C.9.C.8.W [ R.p.p.{ [ p.8.[ } W m.u >.^ r =X-X$Xn D.T.| d.9.{ f.f.f.=.D Q W A.W E W.o.W d.X.9 y y l rXn a o.A./.x.6 fXlXh.lX~ :.w k l.r y h.k.e 9 yXk.q y j iXuXl uXy yX0 h.t lXk h h.yX0Xk.y.lXb 0 S.b kXk.J qX0 7 0 qX6XsXqX0 qXkXcXk.7 cXS.0 8 yXqX8 h.b 8 t 0 7 0 0 0 7 3 , > V 4.!.4 - +Xf.T.| ^.8.T.8.^.} *.{ { 9.} 8.9.[ | W W R.9.{.d.-.{.*X| R.{. .{.R.C.9.I.| I.I.8.} 8.E (.T.8.R f.d.{.E X ",
" . f K.m.{.d.W [ W p.n.b.7.{ [ { [ [ A.^ c >.X.L l e M >.Q.8.| W W =.V.=.T =.f.[ *.R S R [ | d.A.^ / oXoX9 '.i b.A.A./.6 7XsXh.h.w m.D M.w.k k.l =Xw k l v ..e r ..q uXe uXiXw 0 k 8 k yX0XS.l.7 k.7 h.qXkXS.qX8 k.0XqX0 8 qXqX0 j qXkXj uXcXk 7 cXS.uX0 sXh.J sXz 0 y 8 gX7 uX7 6XP > |.4.. o O I =.[ T.(.T.9.8.8.9.T.} { p.T.T.^.(.T.| T.9.E 9.| {.I.XXI.(.T.L.A.A.W W W 9.f.q.d.d.| d.XXT.(.(.9.d.q.m.q.,X ",
" X t ~ '.`.X.R.n.C.Z.a p.{ W C.p.9.A.K.3Xr rXoX>.L ~ K.X.d.| Q.| R 9.E [ [ { [ =.=.[ R { E | d.o./ ^ / OX^ b.b.Z.Z.f.j.f hXvXh.h.L C.| _.q L y e h.l y e e q ..q w.uXy ..j iXiX0 k.7 k yX7 h.uX0 k.7Xh.qXt cXl.7Xk y.qX8 qX8 kXqXuXqX0 qXuXcXyXy.cXcX0 qX8 S.y 7Xk v iX..uX7 8 6X7 3 > 4. 4.O 1 =.R (.8.T.8.~.9.T.T.R.p.} 9.(.T.T.^.T.~.| T.T.8.| R.9.T.T.8.R.C.} 8.8.8.9.d.d.{.{.`.I.I.| (.(.^.T.d.Q.m.< ",
" C ].H.{.Q.L.n.Z.p.[ { { R 8.C.{ a o.g.l.>.n K.'.X.R.f.| E 8.| d.| E ~.W f.[ [ [ R { W R p.8.9.Q.R.Q.L.C.L.V.C.f.Z.).j.7XlXk z e m.| | q.g.l e y =Xw k.h.l y r q ~ v ..uXiXw uXj e t yXe 7 S.t sXiXt h.l.7XS.e y.k t qX7 7 sX8 k 0 qX0 sX0 cXtX6 S.S.0 yX0XlXS.t gXw j 0Xj 0 7 7 <.3 : 4. o +X| 9.T.T.T.8.T.^.T.| 9.{ R.I.(.^.^.T.| 8.T.9.E W E W f.| [ [ 8.R.9.I.d.d.{.| W 9.R.{.{.q.d.| (.8.| XXR.X.u. ",
" o [ [ 9.W | [ 9.9.W [ [ } [ 9.C.f.L.m.m M.^ A.W W E d.d.| XX| (.9.E | {.[ W W [ R W { A.X.L.p.W f.].^ L.n.[ C.f.f./.t.zXlXz k ! q.d.f.[ Q L ..l k l r w y y w w L O.q v w j 0 y iX0 w k 7 k.t k 0 7XS.l.7Xh.l 0Xw 8 j 8 kXyX8 l 8 j uXiX8 cXk.h h.S.0 iX0 8 S.l f kXw 7 h v 7 y.% , |.V 4.+Xo.| d.| I.(.XXXXI.XXR.9.E d.XX8.(.T.^.T.^.T.T.| Q E f.f.R E E (.E | 8.8.| T.9.[ 9.T.XX(.XXXXXX^.(.9.| d.b. ",
" Z } W 9.9.[ 8.f.[ 8.[ R 8.E T.(.| | d.R.W W T [ [ 8.R f.Q Q 9.8.[ R E A.[ [ R b.=.f.W [ A.T T [ W A.d.W T R [ f.j.x.aXG e e L X.A.d.W W E g.e y y k l M L ......~ [.m.v ..0 b iXuXy j k.J h.t k b t S.w 0Xe h.t iXqXv t uX7 0 yX7 b uXyX8 S.S.h yXcXk 8 yXf k S.y f 8 uXs 7 7 6 r.2X2.: 4. X u.[.A.d.X.{.d.{.{.Q.d.W W | {.XX8.T.XX(.(.I.T.^.(.(.(.[ 9.| I.(.XX(.(.E 8.(.| 8.T.I.d.| T.XX(.(.(.(.^.8.8.c. ",
" &.[ [ W f.R.f.[ R [ [ [ E | (.~.^.(.E 8.S S *.R R R } f.[ 8.| (.8.R R =.=.=.b.[ =.T R.9.[ R 9.9.R W W W =.8.E | f.j.! U.G ! m.A.| 9.8.} R :.L e tXy y k l.q y w.Q.C.x.;.uX8 q j 0 e 0 h.K lX0 e q t S.>X0XsXS.c kXk t 0 j 0 j iX8 b 0 iX7 cXS.% hXcXcX0 yX0 8 S.S.r f oXuXf 7Xh r.3 |.|.4. V !.Z.A.C.A.A.C.X.Q.L.d.R.W | d.{.I.| XX| T.T.T.9.8.^.^.^.(.~.XXXXT.| | (.| | I.{.T.9.-.dX{.T.9.(.XXXX(.^.} [ S X ",
" c.[ W | I.| [ C.{ R Q (.| ~.E T.8.[ 8.} R *.=.*.R { =.8.[ E T.| 9.9.} Y R T S =.=.Y [ E [ E f.E f.~.~.[ ~.| | | f.:.g.;.U.m.f.C.{ R [ W E W.e ..y e e r r ..y m.[ ).j.t 9 ;.j v uXw 8 e b j w uXe 7 h.k 0XkXS.y 0Xk.9 uXt uXj j 0 j 8 yXy.S.cXy.y.cXcXl t iX6 ..S.S.y d t 8 h h K U |.|.2.|.o - C.f.n.R.R.8.R.d.R.d.d.| XXT.8.| T.8.T.T.9.*.} {.-.T.XX(.XXT.T.| I.| (.XXXXI.XX| I.(.| XXd.T.9.T.XXXXT.^.9.=.X ",
" c.T.9.| | d.R.9.R.f.Q.W 9.R } 9.9.R E 9.8.} 8.R } R } R R } } 8.9.[ =.{ W W R { { S [ [ [ W E E E E R [ ~.D ~.V.Q aXM.U. .| W T { [ E E q.D ..h.k y y w e w w.R.8.W ;.b 9 ;.v ;.y 0 j hXw 8 e t k 9 iXS.>.7Xz >Xf zXb t kX0 j j 0 sX7 k.7 S.S.6Xh sXcXcXk l b 0X..cXS.k d 7X7 0XqX%.> |.pX,.o +Xf.W f.| | | R.9.9.R.d.I.{.d.8.8.} } 9.{ R.R.n.T.d.| | T.T.^.| T.T.T.9.{.| {.d.I.d.I.d.R.9.| [ [ T.XXXXXX8.[ C ",
" c.| 8.9.8.T.d.XXd.m.C.S =.S T E I.q.{.f.E f.[ } 8.} } } } ~.} 8.} { Y c.A.| 9.R.T R [ R [ R =.[ [ 8.~.[ [ [ T E m.H.g.H.A.| f.W [ =.V.E [ :.8 v e k.l y q w ~ R.f.q.w v l.t d v v t ..7Xe 7 w t e qX7Xh.y 0XiXk J gX..d hXuXuXuX8 yXJ k y.h.S.yXh 7 cXcXcXcXS.j 0XhXh.S.k j qXK l.9X:X, .XpX4.!.T 9.9.T.| d.| T.R.9.9.9.d.I.d.E W W 9.).Q.R.d.R.Q.R.R.| 8.8.(.T.8.9.9. .m.d.W d.I.| T.9.R [ R T.T.XXI.I.| 8.' ",
" c.| 9.R.9.d.X.H.~ L.R [ Y =.E W d.| Q.A.-.-.{.T.[ ^.| 8.^.8.8.~.} } 9.[ | Q d.A.C.[ W [ T.8.[ ~.=.[ ~.[ ~.E [ f.t.M.H.R.W C.W Y [ V.| } R D G b v kXq y y w.M.| q._.d q uXe v m 7Xv v v v v 0 v gXe f ..e oXgXk J 0X..0X7X0 0 0 0 yXJ yXh lXcXS.J jXzXcXcXcXcXcXk t 9 w S.uX7Xy.l.<X%.P }..X4.o T W T.d.I.| | | T.T.E T.T.9.d.d.[ f.W f.A.Q.`.X.Q.{.X.{.d.R.9.T.| | f.Q.Q.W.C.[ W Q.| Q.d.d.R.R.9.8.8.9.f.| Z ",
" Y R.W Q.R.L.L.n.p.f.W W E W 9.W W R { W R.R.R.9.9.| 8.8.~.8.~.8.W [ [ W E T W T [ [ [ 9.E E T [ [ E f.A.E W R D .:.q.W [ W R R Y =.R =.[ ).! k k e y y w L X.T f.w.b uXy v w w 7Xm m t t.v 7Xj 0X..d 7 qXm 0Xw t s v J hXqX0 0 0 iX7 iXy.sXS.S.j % jXuXS.cXcXcXS.S.b m ..q h y.>Xl.9XF.}..XV +Xp f.d.9.R.9.W f.f.9.} E 9.[ 8.E [ E W W W [ A.9.9.d.R.Q.Q.d.| d.| | d.A.Q.Q | E f.| q. .f.A.d.| 8.8.R } E [ Z ",
" =.[ E R.L.C.p.{ V.Q.d.[ W [ f.W 8.} } [ R W C.C.R.9.[ E ~.E E W ~.W [ [ ).A.f.d.W 9.[ E ~.W [ f.E D Q Q ~.| f.:.`.{.9.~.8.E R [ { c.[ [ R ~.fXv w k k w q ~ A.[ o.gXy r q y 7Xt m m d d oX7Xt t 0Xt 0 t.b 0Xf 7Xv s 7X0X7 8 j 8 b uX0 uX0 7 S.cXk.J h $.gXiXS.S.cXS.S.w c v 7 J l.>X<X9X&X:X2.+.Y { W 9.9.f.[ W W [ [ [ T.8.^.T.T.| | A.W W f.W 8.9.W W W A.R.f.9.| f.| E Q I.9.f.A.[ f.o.f.f.E [ [ 8.[ =.[ Z ",
" *.9.8.} { p.C.V.d.q.Q.W [ [ [ W E 8.8.9.A.d.d.f.{ R } 9.[ E | E [ f.f.V.W A.).| f.E E E 8.~.E [ E [ [ W =.f.q.{.Q | 8.E 9.~.R *.[ W R ~.[ V.kXe r v ;.;.q v C.T ;.L v uXy 0 w ..iXw v m oXoXoXoX7Xf ;.& t oXf h m h h f 0 qXj 0 j 7 qX8 qXy.sXcXS.l h $.s jX7XuXG k h.S.h.e 7Xy.>X>Xl.<XF.5X2.3.Y R | W [ | A.f.[ W f.T.| XXI.I.XX~.W E 9.d.T.| 8.8.9.{ [ W W 9.| | E [ W [ E T.} [ [ q.m.W D | W [ W W T.~.&.",
" =.9.8.[ [ { Y =.T E 9.8.8.9.E Q | 9.[ f.W [ | f.{ =.[ W T E 9.Q f.f.f.| A.f.I.I.| E [ R } (.(.^.[ [ ~.[ A ~.| Q | E Q ~.E | T.[ ~.} [ E =.j.~ q w w w q v m f.[.j v q q uXw w j v q q m.o.[.[.oXoXoX0XoX0Xf f s f s f f 8 7 v j 0 0 qXy.0 0 7 h.S.S.qXh f h f f t.t.'.m ;.m 0X0 k l.>XrXF.F..X2.E.R 9.d.R.p.9.C.f.W Q Q Q I.`.`.{.8.9.E E f.W E T.(.XX8.| 8.W [ d.f.E E E E f.E | E Q.W ).Q.A.f.q.f.q.{.I.I.A ",
". { C.} [ S S Y Y R { { ~.T.[ [ 8.E 8.[ R { R W f.W =.[ =.{ 9.9.9.W Y [ [ 9.| | | [ ~.8.R } (.(.^.E 8.~.E ~.E ~.E 8.8.R 8.[ E 8.E [ W *.[ =.aX..y q v 0 L w m ).m r iXb j qX;.7XgXkX~ `.Q f.q.j.[.[.oXoXd d oXf & s s f f 8 uX0 v fXb uX7 j 7 j yXcXS.S.eXf s f j.f f oXK.O.7Xy.qXl e <X<X;X%X;X:X,.s.} C.R.f.f.W Q.f.f.d.W T.I.q.d.9.T.8.T.f.E E ^.| T.T.| [ 9.9.| | I.W E E W f.Q.d.A.W p.A.W q.f.| | q.Q I.,X",
" 0.p.p.C.[ { =.W [ [ R =.8.R [ 8.[ 8.| 9.[ T [ W W R [ R 8.8.8.8.[ R [ 8.E [ 8.8.9.T.~.~.~.XXXX(.8.} 8.| ^.8.} 8.E 8.=.=.R E { } f.(.W | 8._.uXy v L uX;.v .| ;.iXy qXw w k e e w ~ f.} Q I.-.q.O.oXoXoXoXO.d f f s f f 7XhXuXv b 8 0 0 j 6Xy.lXcXS.S.S.y J s s f [.[.t.d 7Xb yXl l.=X=X%X}.N N s u.C.R.A.Z.C.].j.m.Q.A.{.d.9.8.8.8.8.[ } } } E T.8.^.^.XX} T.T.d.Q.{.d.| 9.W [ =.f.A.[ b.C.Z.R.9.=.=.9.| Q wX",
" u.[ f.d.C.[ W W T { W n.R n.C.d.[ R.Q.R R [ [ 9.[ 8.} T.| 9.8.8.} R ~.[ 8.8.} T.I.XX8.} I.*XI.T.| Q T.| I.8.E [ } R 8.~.8.8.E f.Q d.| *Xf.U...w w q j G q g.A._.b b v 0 7 7X7Xm q [.f.d.9.9.f.f.M.j.q.j.oXK.O.K.oXoX[.t.kXt 8 v kX8 uXb t iXJ gXlXS.S.S.k.k v 7X7XgXuXv t uXiXk l l.r rXM u K N 1 Z.R.9.A.R.X. .'.M.9 m.Q.C.[ R.T.8.8.*.8.} } 8.8.XXXXXXI.T.T.R.} } [ d.{.9.9.f.[ R W W u.c.[ Q W [ R 9.8.} ' ",
" Y [ f.A.9.f.[ 9.W Y Y W R.R.f.L.R.C.| [ [ { 8.9.T.8.^.8.8.T.} } 8.8.R [ ~.| XXQ {.d.T.} T.d.T.9.{.{.R.R [ [ 8.[ [ [ E E E E f.D -.q.f.f.Q aXw.e y q q q y r d.j.w.uXj iXe yXqXqXr a q.m.A.C.W W A.9.W W ).V.o.X.[.[.m.m.;.uXuX8 v uXv 8 v kXy 0X7XlXS.S.S.S.k.e ;.gXw.e e w y k k.y r ~ r r r _ @.=.p.R R.[ C.A.^ '.H. .C.T A.-.| R.| | 8.*.8.8.8.T.I.I.I.I.R.9.8.[ { [ R.| | I.9.9.R } { Y Y R 8.8.[ R f.[ ' ",
" +X[ [ [ 8.| T.T.^.[ 8.8.d.R.9.8.n.9.n.C.R.} | {.XXT.8.T.T.8.R R } =.R } R 8.^.{.| T.9.*.8.8.R.C.p.W W { { } [ E [ ).E d.| E W E E D ).).E D v w w b L v L ..'.o.L j b 7X7 kXv L u s.W C.X.R.C.W R.8.| 9.C.S Z.W A.d.f.[ D w.8 qX9 v c uXv 8 j c 6 6 w h.S.S.h.k 6Xf f 7X8 w zXk e w y ~ L q =X- +X7.S Y R { [ C.A.'._.Q.m.[._. .A.9.d.R.| R.R.T.T.^.(.I.XXI.| | [ 9.9.R.XX| XXI.XX9.8.9.} *.{ [ 8.8.R R 8.W C ",
" A p.[ f.9.XX| T.} 8.} [ { 9.[ n.d.^ / ^ Q.I.d.{.| 9.9.8.9.} } [ T.E [ 8.(.(.} ^.T.d.I.Q.Q.Q.m.'.x 7.T S T E E | | E | Q Q E 8.[ E W E ~.[ D aXl y q qXy y w K.O.v v w z e e e =XN Y S T { f.Q d.Q 8.} p.[ p.C.A.R.f.f.[ E j uX7 uXv kX;.b L t iXc f f gXN.k h.k k ;.f 0X....gXw.iXw y L uXq r @.v.{ { =.[ } R [ W | R./.:.W.A.A.f.f.{.I.-.*XI.R.XXI.T.9.8.| 9.} 9.R.| d.| T.{.{.I.| } *.8.} } } { } 8.8.9.R X ",
" &.W p.n.9.XXT.8.} { { R { { p.R.X.X.u ~ ~ '. .Q.R.Z.c.=.9.| 9.d.W R.| 9.XXXXT.8.| *X .`.A.Q.o.o.A.Z.p.T W E T.E E Q Q I.E E E E f.[ 8.E R | _.q w b y w y y ].].! b t t fXy l.v p V.R.[ 9.[ | A.R.[ [ 9.R p.n.p.p.[ W Q A.;.8 L 8 uX;.j v b ;.8 e v f f f t.L lXk k q uXe 7X0Xv L w w q y w.& @.u.=.{ 8.9.[ R | | 9.=.f.).b.].p.=.=.f.XX| {.{.{.d.| {.d.{.9.XX8.8.9.^.T.8.8.9.| XXI.XX8.8.R.8.} T.} } 8.8.c. ",
" Z C.p.Z.R.9.9.8.} p.*.p.D.B.B.e.a.L./ m ..! X.| T T f.T E :.m.q.d.W.-.d.| Q.| {.d.-.F .o.o.Q.X.W [ 8.} [ 9.| I.| ).*X| E W [ E E f.[ R.A.8.:.e w y y q y ~ / / 0XL iXw iXq q F.C.W | | R.R.C.Z.W C.C.9.p.[ p.W { [ [ | f._.hX8 q v uXv v q b t.;.lXy d f f f t.8 G k e ;.7X8 ..L L G G w q p v.R Z.[ f.T.9.9.| 9.[ [ R S T [ V.=.{ Y A.Q Q.E -.R.T.Q.| | I.| XXXXT.(.XX8.8.E 8.9.| | | T.8.9.9.[ 8.8.8.9.S ",
" C C.A.9.R.p.8.9.8.L.D.B.B.[.n 5X) 3.a O.`._.q.Y =.[ T [ f.{.-.A.A.-.H. .X.X.d.A.W `.`.Q.q.m X.W { [ [ } T.T.| ^.8.8.| [ W Q {.d.R.d.W | f.f._.e q v L ..y O.C.x oXb 7X7X;.y l.d b.[ A.f.f.R.f.Q.C.C.{ [ [ [ [ 9.W } 9.T.~.Q ~ L 0 J t.w.r ;.v w J _.e y d s f h f t.;.;.~ q L 7X;.;._.! g.m.[ W A.| R.W } E [ 8.R R [ } R R R R R [ [ W =.f.T T T T 8.[ R 9.| XXI.I.T.T.9.f.9.[ 9.8.9.[ [ R R 8.9.8.8.8.E c. ",
" . p.C.n.{ p.*.8.9.d.C.C./.m.K.x E.( e.j.X.A.R.C.T T [.W Q | [ W V.q.W.d.q.m._.X.D :.`.A.o.[.H./ W {.Q.A.{.d.XX{.Q.I.`.R.d.Q {.-.q.'.Q.X.d.W j.y y iXw y y ^ [.1.oX8 j j y y M ^ Z.E E XXd.W f.E W W T W [ R 8.(.| | | T.XX| m.fX;.iXy J fXv ;.O.v 7X[.gX;.;.t m t m 9 ~ ~ ;.'.[.0X* a f.8.| 8.S S { { =.[ E E 8.} R *.{ } } 8.R R [ 9.E W [ [ W T { R p.C.b.[ W 9.Q I.{.f.=.=.W | 8.f.R 8.=.=.W 8.} T.8.8.A ",
" . V.W W { } 9.9.} 9.8.C.W R.C.C.C.Y n.Z.A.o.).A././.q.q.Q d.E 8.[ W | f.f.f.T ).A.f.f.W j.).m.A.f.A.d.C.XXd.T.d.Q.Q.Q.C.V.R.A.q.q.~ 9 `.Q.[ H.q q v y y ..X.;.n m.m uXv j w c N f.[ | | E | E f.R [ E 9.E T.| ~.| I.| T.T.| f.~ 8 h gXw t 7X;.O.oX;.oX[.f ;.y ..w.9 H.'._.'.7Xv ..c a W T.T.8.} R [ W W } W R *.} ^.} 8.T.8.8.Y { [ R.9.} [ Y { [ Z.b.W Q.[ p.[ [ V.d.R.W W E | | T.T.[ [ [ [ [ =.E | [ 9.Z ",
" 0.{ [ p.8.9.d.Q.R.R.9.{ R.W { A.n.{ { b.p.b.W j.H.X.o.Q.f.9.[ [ [ 8.Y *.T { [ | E [ T R [ E 8.9.W 8.[ [ | 9.{ [ [ 7.n.e.T W W W :.H.q.X.D _.O.q e y y r Q.Q.X.X.H.v L q y M x f.f.[ W W [ ~.8.8.8.E T.T.E I.| (.XX| | Q d.(.W.w l.y.0XiXr 7XoX'.t.[.f [.m._.H.m H.'.m.O.m m 7Xf a b.8.9.| T.8.{ { R f.E A.f.W | ^.} ^.^.T.| 9.9.Y s.R [ W { [ W C.n.{ 7.Y R 8.{ W 9.9.| Q q.| ~.f.(.~.E [ =.E [ [ 8.9.9.C ",
" +XR.d.-.Q.9.9.d.d.R.D.Z.q.C.p.{ p.Y { 7.=.C./.X._.m.C.A.W p.[ [ 8.[ [ R V.f.d.E W 8.[ 9.=.8.T.E | | | 9.| [ { R R [ W Z.C.C.C.V.V.f.V.V.A.`.D v v y e O.Q.Q.d.{.H.uXw w b %.i [ C.o.m o.f.| W =.R E E I.| XXXXE | T.XX| XXT.W.7XgXyXqX7X7XuX! 7X'.[.m.W.Q _.O.O.K._.d m ;.uXuX..6XC.].{.m.Q.| | 9.W W f.f.).Q.d.{.T.^.^.| A.f.C.R.n.{ 7.p.C.9.9.R p.{ W 8.8.W [ f.(.| | Q `.F D | T.E E f.E E | 8.} R S . ",
" Z -.M.m.'.m.C.X.C.m.Q.o.o.Q.C.L.( D.n.b.0.p.n.p /.A.L.p [ W W Q d.C.p.W W Q.f.f.f.| f.q.8.8.9.9.Q A.[ 9.[ { 8.{ *.} { R Z.R Z.p.[ C.8.f.Q {.Q ;.q w >X'.Q.| | Q j.t v v b X* o.m.K.'.[.A.q.C.W f.(.Q (.Q (.XXE Q E XX(.(.(.*XsXv y.7X0 j t 7XoXt.[.m.| | Q.O.m m oXd m t 7XoX7Xa o.[.Q.-.d.R.W [ R [ f.f.f.A.Q {.| 9.9.C.C.D.T R.A.C.Z.Q.9.q.d.9.{ Y p.{ =.9.R | | 9.f.q.`.m.W A.q.f.R R 8.E (.(.^.} *. ",
" X .'.'.'.^ ]./ C.p.).Q.C.o.p ^ ]./ p p.0.Y Y Y u.wXb.D.[ 9.W A.A.W W p.T W =.9.8.d.| Q.R.9.C.Q.{ R { p.} } p.} 9.{ s.W W 9.9.[ W 9.9.Q I.d.f.O.uXe e m.Q Q q.f.V.gXj w l.$Xx [.H.9 K.oX].m.f.E Q Q I.I.XXE Q E Q q.q.W E | Q ;.uXe iXsXyXe ..;.t.q.| T.| D oXm m 7XoX7X8 q iXd Z.C.Q.Z.A.q.Q.C.f.9.W Q d.A.A.W.d.D.e.L.p.n.L.Z.d.C.C.f.W 9.f.9.[ [ 9.W W [ 8.[ R [ R [ W | A.V.o.q.m.I.8.~.(.(.XXXX(.A ",
" W.M.~ u ^ L.C.C.V.A.C.o.o.Q.o.^ L.C.{ Y =.R 8.C.A.a C.n.R [ [ [ W W =.8.~.9.9.9.W [ [ W d.n.C.Q.m.m.{.R.} 9.R.XXQ.d.W [ 9.9.E 9.R.[ d.d.W T t.G e e '.R.=.R W E t.m 0 w XOX[.X.].m.^ '.d.d.| f.W.I.(.XXI.| E [ q.d.[ I.I.Q U.y 8 t J 0Xf f 7Xd o.| XX[ /.oX7XO.oXt L j q q /.f.[ T A.R.{ [ W W Y [ W W E E -.].L.D.n.[ p.Q.Q.8.9.} } R [ } 8.} } R } 8.8.8.W R R ~.} [ E T [ V.d.d.| T.(.| {.| {.I.Z ",
" Z.^ m.^ L.^ n.f.d.X.o.A.W Q.C.D.W R [ 8.p.[ W W V.o.L.a b.b.).A.| C.[ (.| | | 9.d.[ d.C.W 9.A.X.H.m. .X.R.W q.m.d.C.[ [ f.W [ | E f.W W W =.aXv w e O.9.[ [ E 8.s v v b 3Xu Z.d.Q.q.Q.j.m.Q D f.| XX(.XXXXXX| [ [ E {.(.XXI.;.kX..e k e G uX7X[.E T.9.9.Q.t.t oX7Xt 8 v 0 m W 9.T.8.~.[ R [ =.R [ ~.[ | f.9.d.[.L.f.C.[ R [ | 9.R 8.8.9.8.T.T.^.^.^.T.(.T.| 8.8.9.E | 8.[ { [ { ).f.| T.8.E m.q.W.`.X ",
" !./.Q.Q.Q.].C.9.9.9.W T C.oXL.Z.W =.q.j.Q.^ ].n.b.( 5.< Y e.Y C.A.d.d.C.8.T.| E f.d.d.9.[ 9.W Z.Z.A.C.R.f.Z.A.Q.A.f.f.d.q.{.E `.| 8.[ T =.E :.sXe l.9 R.T.T.E ~.o.t y w l F.Z.| 8.f.).[ f.Q | E f.XX(.^.^.(.^.8.[ ~.I.XX*X`.F G y j q t 7Xt gXD | T.| (.| 0Xm 0X0X7Xv q q [.f.| (.(.XX| T.W [ 9.8.} [ 9.[ } } W [ E | | 9.T.| | f.Q I.T.I.{.-.XXXXI.T.(.| 9.| [ d.E q.I.8.[ 9.8.T.} [ =.c.f.A.A.b.Y ",
" X f.| | d.Q.d.W 8.8.[ Y T [.o.C.q.m.M.x.;.>.;XB.B.x - L.C.9.9.[ T f.A.Q.9.9.E | `.-.Q.| 9.| W R.[ W [ f.f.W d.| q.Q.m.o.Q Q A.W.| ).W W d.W.:.L y l ~ d.9.| d.XX*X..j j l.&Xp | 8.9.8.[ [ [ W R R 9.8.8.(.T.8.XXf.E | {.{.H.O.uXq w k e ..gXoXq.Q (.T.| d.7Xd f t.t y 0 t o.I.*XI.d.| I.C.8.8.R } T.T.E 8.8.[ [ f.| ~.8.T.8.(.f.d.`.`.8.*X`.-.I.-.*XXXT.XX| R.| q.f.q.Q d.9.8.[ 8.W [ 0.Z.Y b.Z.b.wX ",
" R E 9.W 8.| 8.T.9.[ Z.A.).A.A.j.m.m /.o.N N / u / p o.A.R.C.W [ [ f.R T W [ T [ (.T.| T.8.8.| W R W W W 8.| | :.H.:.A.d.E E E E [ W f.E I.:...k e r m.Q.Q.d.Q A.t.v y y 3Xp Q (.(.T.E E T p.B.p.W 9.[ Q `.{.:.Q :.f.Q.d.X.m.q w w q j j sXgXf.E | W E Q m gX0Xt uX8 uXO.V.E | {.9.W W W R } [ E | | XXT.| T.| d.9.| | E ^.E f.=.C.o.X.-.{.{.`.*XI.{.| | I.R.A.R.W f.W =.[ [ E [ R 9.W } { [ T [ X ",
" A | E f.| {.| } } R 8.R =.[ f.V.=.A.C.L.N L.[.A.[ R [ p.W [ Q.W W d.f.9.f.E E E E 8.[ I.8.=.E E =.=.9.} 8.E E f.Q Q Q | Q ~.(.| 8.E E f.d.W.q y w M ^ [.X.o.Q.f.O.uXy l $X; E XX| E | f.f.L.].].f.W E | Q aX:.*X-.m.R.L.[.Q.H.j q j q 0 7X;.A.8.E E Q q.v J t.v 8 w j ].W [ [ | W W W W [ W [ E E E (.T.T.d.| | | d.| W R W W T j.q.o. . .F Y. .`.-.-.T.d.W C.C.C.D.p.T f.| ~.8.} 8.f.9.E [ R [ ",
" C [ [ d.T A.d.C.[ f.9.} [ [ f.9.s.Y R p.Z.n.[ [ s.{ [ f.[ W f.q.| W V.W A.f.V.W {.9.XX*Xd.[ [ [ Y =.[ [ 8.~.~.E Q 8.f.E E Q XX*X{.| A.W q.:...e e rXC.C.L.o.o.o.[.uXq e l.N Z.[ E [ Y =.f.W f.m.Q.9.f.f.f.q.-.q.Q | f.q.H.m.t.q q G e e kX0XA.f.[ E W.d.gXd t t qX8 9 [.W E A.I.E | | 9.E E 8.8.~.~.~.^.(.| I.(.9.E Q | E 8.9.9.d.f.:.m.:.H._.H.m.Q.`.{.m.Q.A.'.N ].o.W R T.~.} ^.} T.d.q.8.T.+X ",
" T D V.o.D )./.s ^ C.p.{ [ W R.7.R 8.[ [ W C.Z.Y =.f.A.f.q.f.Q E f.f.E E f.E f.q.q.A.Q f.~.[ W [ R ~.E (.I.T.~.~.| E Q D Q dX{.d.{.o.f.o.W q w w c D.Z.T f.d.Q j.9 v e =XOXY [ c.W =.V.E { R [ 9.{ W f.d.:.q.Q.f.f.E | d.Q A.! y j uXb uXL D } E E D q.oXgXt uXuXb d T Q [ Q {.d.I.| 9.[ } } 8.T.T.T.^.(.XXXXXXT.^.(.(.XX{.| (.| 9.T D f.m.M.m. .H.{.{.X.L.].'.m.X.W R T.XX(.(.| T.} T.9.R.f.' ",
" I ].b.f.T _.t.[.q >.'.Q.R.A.A.W W 8.[ R T R b.=.a W W D W.q.d.T.T.T.T.T.E W f.q.A.E q.q.W./.f.f.E [ | ~.(.T.| } ~.E (.(.D dX`.-.m.[.b.T D q w l. Xp W T.8.| *XQ w.qXe l.u < E E 8.E [ [ =.[ [ W f.E E f.Q E f.E XXQ | XXT.| m uXkXL uX8 t o.9.9.E f.o.gX0Xj 0 v j * p.d.=.E {.{.*XXX9.{ [ W 9.| d.XXXXT.(.E XX| (.XX(.XXI.I.I.| | =.C.T ).f.D f.Q.d.R.D.C.C.{ W 8.T.9.I.I.XXXXXXXXT.XX| [ b.. ",
" o / = b.).D O.:.'.L.o.'.R.X.d.W W ).f.Y Z.C.[ { S c.R 9.E d.| d.T.| | ~.[ R E Q D f.f.o.o.W.f.=.E ~.} ^.R R R =.[ E (.E (.q.Q A.f.q.V.[ D w e y c p Q | XXE *Xo.;.b y y $X< (.(.(.8.~.E [ f.8.[ W [ T f.| I.Q I.{.{.XX| T.Q :...qXw e w fX[.9.d.C.f.x.7Xv j 0 b y * V.f.} | XXI.{.d.R.A.^ A.Q.X.Q.{.I.I.| E (.~.(.~.E ~.(.XXE 9.W C.f.[ T b.Z.W W d.9.R.C.L.f.d.`.{.XXI.*XI.XX*XXX| d.| [ ,X ",
" u.C./.o.D q.C.).W D.C.A.X.Q.W W /.A.C.W W A.R.W R [ R 9.W d.{.| XXd.Q c.=.R *.R =.=.=.[ R [ [ E T.^.~.} ~.~.~.[ E E ~.~.~.E f.[ f.W [ /...e l.4Xe.f.f.q.`.A.W v b w l.$X@.[ E (.8.} [ E I.8.[ W [ [ f.Q I.I.Q *Xf.Q | | | q.;.uXq v t 0 d C.A.L./.K.d ..8 y uX=X* a -.| | XX9.R.R.9.Q.X.X.Q.d.q.XXXXXXXX*XXXXX(.8.E ~.E | E E V.W [ C.W /.C.f.Q.`.A.f.W f.:.g.Y.:._.dXY.-.*X-.| d.o.o.C.. ",
" 4 d.A.9.W E | f.W p.@.u.V.f.f.o.o.1 /./.A.f.R C.[ [ } { [ f.f.| T.E f.E [ *.S R =.E W } [ [ | ~.(.(.XXT.(.T.8.} [ } R } [ [ ~.[ =.[ =.t.j y e 3XI T E E A.Q m.L y y =XF.2Xu.| d.| [ E f.:.A.q.f.W j.A.f.f.E E | f.Q XX{.-.`.v j q iXe y t L.b.n./ oXm 8 j q j v g b.q.I.{.XXR.T.R.9.R.d.W Q.| I.{.I.T.(.(.I.{.I.q.W =.E f.[ [ | R.W 9.R.C.A.d.| Q.C.W V.f.D `.g.g.N.M.`.F Y. .o._.m.o.u. ",
" c.=.[ [ R [ 9.[ W A S [ 9.9.[ { /.m.W.m.Y T C.[ { } S S E E E | 8.[ [ R c.R [ W [ E E (.XX(.| (.XX*XI.I.I.Q./ L.C.8.~.8.8.8.R ~.} } aXw qXqX=X5X- f.W W =.j.kXy y =XF.B b.Q.9.Q.C.)._.[.^ O._.[.:.f.f.E E Q D Q Q q.{.-.`.;.uXw j v j t L.a L.x.[.v t ..qXy c * @ q.d.`.-.{.9.d.R.W f.A.| Q Q `.I.XXXX| | d.f.j.Q.d.f.E E (.| | | T.[ E 9.Q.{.d.C.n.C.W W A.:. .F U.! ! H. .m.t._.o.4 ",
" 3.T *.8.[ [ 8.d.R./ W 9.W d.d.f.f.T /.q.W D q.f.R f.R [ Q | } ~.E } R } R R =.E f.(.8.~.~.~.I.E [ I.{.m.K.N N N x.o.| E (.8.} (.} ~.U.e e e l.& a =.[ W Y ).v iXqXl.>.* U a Y m.m.q.]./ & ].]./.o.Z.f.q.Q Q Q *X*XQ Q `.M.O.y j w iXb v ].x.Z.Z.j.;.qXuXq j eXN p ).A.| | d.f.W T f.W E f.f.q.| `.-.{.{.| A.d.W W d.XX| | T.^.[ | d.[ f.R.R.Q.A.X.X./ b.[ V.V.f._.H.M.o.f.).W ).o.Z. ",
" Y [ [ 9.8.9.q.m.'.L.L.f.m.q.q.f.f.E V.[ V.W E W E E E Q q.| | E f.~.E [ R ~.).W.q.W.{.*X-.*XE I.Q q.9 3XrXM %.K.W.I.(.| 9.E -.(.R aX..yXl iX%.p S R W T /.G e e iXr ;X; x.].o.j.[.oX].u ^ x.o.A.f.f.| Q | | | D f.f.q.:.t.zXw b v j v f Z.[ R.j.v j qXj q M ` ; C.C.[ [ 9.[ W | W E f.W R f.).R.m.W q.q.d.f.d.{.-.{.{.{.{.I.| 9.9.W W f.| | Q.C.A.C.p.W [ [ =.W T ).9.[ Y S =.c.C ",
" 4 W | d.-.f.`.Q.X.oX/ f.q.Q A.[ E ~.V.f.f.d.f.E E E V.f.{.D Q A.A.W Z.T V.W ).m.;.w.{.(.XX{.XX| [ W.N.k e k rXL.A.d.E f.Q.H.{.T.=.V.N.e e l.* 1 E R 8.[ ).;.iXe e l.%.< u.A.q./.X.X.].].x.L./.V.A.f.W Q Q Q E V.E V.f.E j.q y w qXL gX7Xf.R f.D w.b y qXuXr r.= C.C.A.R.9.W R.R.9.T.E E 9.f.[ T.(.f.W d.Q Q q.q.`.q.{.`. .M.`.d.f.f.W ).f.[ A.A.n.p.W W [ p.[ { 8.9.T 9.T [ Z.c. ",
" Z.f.A.f.p.o./ A.A.A.E I.I.I.Q d.A.E f.D q.q.A.f.E E E D f./.o.o.'.[.^ L.n 9 O.j.O.:.-.XXd.q.d.9.H.G.h.q S.k K.A.).W V.A.f.E 9.Y [ W.sXiXeX_ ,.V.~.[ | T [...y y y F.P < V.A.f.f.f.f.L.W W C.0.f.E Q W.`.Q q.A.f.D q.q.t...iXqXj b g f A.R.E /.g.iXb y y b N = p.W Q.A.p.Z.9.R.9.9.9.T.8.E Q T.E T.| I.d.d.d.f./.q.Q q.Y. .`.R.A.A.A.| [ T W T A.C.).R.C.[ 9.R.[ { { W C.d.C.C ",
" X A.j.f.L.a C.C.W 9.=.Q Q {.E 9.[ [ [ f.D m.q.q.I.Q Q I.:.'.o.d ^ ;Xu OXN oX=Xy ! m ~ :.E [ q.A.O.z h.h.k q X.C.W W p [ b.T /.D o.Q.kXe yX3XP T f.E d.W V.q.;.j iXrX%.` x.d.| W V.d.C.p.T =.W W f.Q Q d.q.Q.d.A.).Q {._...l.e y b x - f [ E f.L w y y y j u i f.9.[ A.Q.T.9.| R.n.9.| f.[ R 8.f.I.I.d.f.f.A.).W ).f.W 9.f.W A.X.'.m.X.W W f.{ R W A.d.[ C.W R.C.W C.d.f.d.+X ",
" u.A.a V.o.Q.q.[ E [ f.[ } f.Z.W p.[ R E f.).D q. .`.`.q.m.q.oX^ n u & * ^ t 9 ;.w.G m.D f.V.W j.J.w c [.[.X./.].X.f.C.V.W.H.m.K.m.m z k.k.>X% o.| d.W C.f./.kXe l.6X@X1.x.W f.E f.q.d.Z.[ 8.f.I.f.f.W Y Q.R.C.R.f.D ;.w w qXy q r.1 1 T =.~.;.q y y qXr & a d.9.R.Q.9.[ W p.C.C.d.d.d.E [ E E | | {.| q.d.d.d.f.| E | [ T [ X.'.! H.[.'.Q.b.=.Z.9.W W W A.f.f.W {.d.| 9.X ",
" o ).].j.Q.q.q.| 8.9.T.[ W X./ L.A.R 8.E | E A.W.j.q.`.M.m.X.X.x.X.A.C.L.a ].[.[.j.g.:.A.f.E Q f.o.'.x 1 D o.]./.m./.A.D H.M.w...M.;.h.cXcXS.l.x.W.m.q.q.q.D g.k l eX@X% - +XQ Q Q Q Q I.f.E E E A.o.x.].K.m.Z.W c.).;.w iXk sXb $X= +.T W W aXq l.y e r n Q.Q.d.d.C.a Q.a L.C.W o.A.8.~.E f.E E f.Q f.d.j.f.| d.XXQ Q [ W =.).f.'.m.].X.X.o.Q.f.d.[ W { A.[ 9.E {.Q q.c. ",
" wX].x.Z.f.-.H.A.Q.A.L.'.oX9 K.'.`.d.(.| Q q.W A.V.).[.o.f.Z.R W f.E W [ f.T f.Q.q.f.W q.Q Q f.~.D A.n.p V.W T Q.X./.:.xXH e k w.w h.S.k.yXqX>.x.W.H.:.H.m.O.z yX3X&X,.2.!.A.f.f.[ f.E Q {.d.f.D a / x.].m.Q.n.Y D ;.k iXw y qX6X_ = T E } Q ..y e l.w 9 A.{.q.d.Q.X.L.n.b.a { p.{ [ R.8.[ } ~.~.R T ).f.9.=.W | f.Q (.| [ ~.[ ).W ).a X.).C.[.d.[ [ [ p.T [ [ R E V.. ",
" . p ].L.A.d.x.C.C.L.L.^ u ^ o.m.{.R.W 9.d.X.W f.[ T f.f.o.o.C.Z.W | Q f.Q.f.A.f.9.o.d.d.d.j.Q A.A.f.).W [ [.D j.[.F m M.U.G.e w H h.yXiXyXe l._. .! ! xXH.N.k w r M N :Xz.f.| D f.W =.V.:.A.Q.X.oXoXL.W C.9.C.n.Y gXw iXy iXy r * = o.[ E f.! y y e y ^ C.A.W.m.o.A.W C.b.n.[ b.C.f.m.| E [ } [ R =.[ } [ [ [ ~.~.Q | | E 8.8.[ [ A.o.o.f.).q.f.c.0.{ { c.R R [ =.' ",
" 4 o.X.L.f.f.f.A.m./ / / oXA.Q.Q.R.p.p.C.R.W f.f.C.).:.w.w y oXo.o.q. . .m.X.Q.f.W.`.W.Q.Q.q.m.:.W.[.[.;.J.! hXJ.N.G G.N.G U.N.G k e w.lXk w L H.U.F H._.F U...y l.%X( , /.R.).A.A.b.Z.b.V.q.m.d ^ R.9.A.L./ L.L.0Xe e e iXy M _ i A.9.| d.m ~ r y r N o.C.a L.V.f.9.W n.A.o.W ).f.f.o.f.[ [ [ T { { W [ 8.T.[ E Q | W Y =.R R R W /.C.C.T V.T c.Y [ =.9.E [ 8.A ",
" . u.C.f.f.E R.d.m.m ^ ].a V.R.R.L.D.p.n.A.C.q.x.hXO.L H z k e q ! M.N.G.G ..J.M.O.m.[.O.L ~ w.w.w.w H lXlXG U.aXN.U.;.xXxX_.g.xXN.U.N.w lXG m g.'.Q.f.W.q. .H.J.~ K./ i o.q.A.q.I.A.A.A.f.q.X.oXX.q. .~ d m.9 =Xl.e l iXw l.y F.L.| | q.{.m y y w M = L.p Y b.{ W W R { =.Y [ [ { b.V.Q.A.R.R.C.T d.Q.| T.^.^.T.8.E [ C.p.S S S R R.W W Y { p.Y T A.C.d.T.| f.C ",
" C f.f.W R C.C.p /.A.f.C.W W C.A.Q.m.m._.H.w.e H e H H H H H H e G.H H vXH H k k H w lXz h.z z k vXz e G F H.-.W.q.D -.-.D W.D A.D W.xXM.O.j.H.m Q.q.W.W E f.d.Q {.f.f.A.d.{.`.Q I.| Q f.f.d.A.Q.q.A.t.w.~ w k k e H l l e e >.R.R.[ f.9.j.m v c u p b.[ Z.W [ R [ W [ [ 8.R =.9.f.E f.f.X.X.m.D.f.f.| T.8.8.| | (.8.[ f.T.} } R *.{ p.T { R p.T { [ 8.8.[ &. ",
" wXA.[.o.[.s x./ j.[.:.q.f.q.m.:.M.U.G H z z H h.h.k H H H H G.H vXvXH z k z z z h.bXh.h.z z H z H G xXq.d.W.K.L.{.{.I.q.f.f.Q f.Q :.q.`.j.q.m.q.:.W.Q f.d.E f.Y R W [ E E f.(.(.E f.E f.f.[ A.d.A._.O.~ ! w.U.;.e e e e w u W f.D.W | o.t v w c p V.A.C.X.Q.9.[ } 9.d.f.9.f.Q.| d.{.Q.a A.Q.W [ 8.8.} } } } E (.(.| | T.8.T.T.T.[ ] Y W f.R.R.[ { 8.R c. ",
" $ G G G e G ..G G w.'.Q.{.H.! G.H vXz h.h.k.S.S.S.h.H H vXz vXvXH H k k k H H z h.h.h.H w H k H g.`.{.d.:.~ Q.q.| *X{.XXQ A.[ E E f.).f.D q.q.q.d.| Q Q E f.[ W E 8.E ~.| E T.T.9.[ | R.9.R.f.A.T V.O.m.A.[.j.! w w e M C.C.o.o.d.Q [.q b M K 1 p.C.f.[ | d.R f.W d.X.L.L.[.Q.W A.W C.p.{ } 8.9.} *.^.^.^.^.^.T.T.9.[ 8.8.T.{.d.[ S p.S { R.R.Q.R b.X ",
" X hXz bXh.z z H z H ..m O.! H h.h.S.S.cXcXS.S.S.k.H h.h.z z z h.h.h.h.h.h.H H H H H z z e 8 m '.o.m.W.m.X.m.Q.q.{.{.q.d.W f.f.V.j.A.W | Q | Q W E } R [ Y Y T f.f.8.8.8.T.| 8.8.[ [ R.C.f.W W [ { b.C.V.W [ f.:...w y m X.I.I.R.f.W A.oXb .. XL.W } W =.[ T W [ E Q.m.u * & / f.C.9.{ 9.} 9.(.T.T.8.9.} T.XX(.| 9.[ [ f.W E T.{.{.9.f.n.[ C.L.o._.C ",
" + G bXh.z z z z z z k e z h.cXcXcXcXcXcXcXS.S.h.h.cXh.h.k.k.h.S.k.S.S.h.z H H H H G.H G N.O.].m.L./.oXL.A.A./.q.m.Q D q.f.Q.Q.q.q.| XX| f.| R.[ p.W W A./.'.o.C.=.8.8.[ 8.[ [ 9.W [ f.C.W R.W C.C.V.9.[ E | d.uXq y & | | | T.| d./.;.v b c i | R.[ [ 9.| 9.R W Q.q.X.N N / a f.d.| I.T.T.(.T.R.| | 9.8.T.d.[ f.{.d.E (.T.} W Q.C.f._.X.V.[.q.+X ",
" 1XH z z H h.z h.h.bXS.cXcXcXcXcXS.cXcXcXcXS.h.bXS.h.S.h.k h.S.S.bXh.S.h.z vXH vXG.N.j.f.o.j.[.[.o.X.A.A.A.f.).A.q.D f.{.Y.X.Q.-.-.q.| f.f.-.C.].:.o.X.j.O.t.'.p p.Y *.8.{ { R 9.C.A.Q.W f.i C.Z.C.A.A.Q.{.Q.g.j b a W XXT.8.~.(.A.0Xc b q & d.m.X.A.d.m.Q.C.9.| Q.]./ N oXa f.Q E d.XXXX| | ^.| 9.} E | d.R f.| E | | f.R [ W. .j.m.[.C.A.T ",
" $ H H H H z h.h.h.h.S.S.cXcXh.h.z S.S.cXS.S.cXS.h.S.h.h.h.S.S.h.bXbXz bXz H vXH g.j.O.q.f.Z./.o.q.q.A.j.Q.f.q.D W f.I.{.{.d.m.'.'.q.W.`.M.[.L ~ g.m._.;.`.[.o.W f.[ 9.9.C.9.R.R.R.C.Z.C.A.o.X.K.Q.C.q.m. .;.b r N T f.d.W R } W v ;.0 r a C.m._.H.A.Q.X.R.R.f.A.]./ N / N X.d.f.T.I.I.XXXX(.T.8.[ 8.8.W [ f.[ ~.E E E E =.d.:.q.f.D { b.X ",
" X 6 H H H H h.bXbXcXh.h.h.z z z z z cXcXcXcXcXh.S.h.S.h.cXh.h.z h.h.h.h.z vXvXH G G M._.o.o.:.[.q._.'.H.o.:.W.o.q.-.{.I.m.Q._._.m.q.q. .xXH G U.m q.q.m.R.W =.f.W C.A.C.X.Q.m.d.f.9.9.f.f.f.f.m.d.W d.f.q.gX..y * ].O.m.d.A.d.o.f t b 3X* p C.x./ a L.A.C.W W | C.Q.X./ oXm.{.I.d.XX(.| { T.8.T.| (.I.(.| 8.[ | E E 8.[ [ E Q f.W W c.X ",
" X gXvXH H H z h.h.h.z z H z h.z h.bXcXcXh.S.h.h.h.S.bXh.z z z h.cXbXbXz z z z vXvXH G G G G w.w.J.M.m.:.q.o.m.Q :.{.| W [ W T.f.f.V.W._.N.N.O.oXo.).W 9.9.W | E [ 9.W W f.{.| T [ 9.9.9.d.| f.9.R A.9.f.:...b & x._.R.R.A.W [.t v c r N & u ^ ].].o.L.L.n.f.d.XX| R.A.X.o.A.T.{.| T.T.T.T.XX| | ~.*XI.I.I.XX| 8.9.[ E 8.[ V.[ [ E C ",
" 4 8 vXvXH z z z z h.h.bXh.bXh.h.cXh.cXcXcXS.k.z z z z H z z z bXcXh.z cXh.h.z z z z h.h.z z H H H G `.`.q.W.q.-.*Xf.| f.| | d.E T E q.D W.m.X.o./ s.T 9.| | | T.[ [ T [ D A.| f.[ d.d.q.I.{.{.Q {.d.| W.q b 1.b.d.d.R.f.[ o.v 8 y y ;Xx.'.m.X.A.^ ^ K.u i C.I.| R.W ).d.d.9.T.8.T.T.T.8.T.(.XX(.E Q XXQ Q Q R [ E [ [ E Q [ [ Z ",
" 4 hXz vXvXvXz lXh.h.h.h.z bXcXbXS.cXS.cXz z h.lXz z z H z z z bXcXbXcXcXbXz z z bXbXz vXH z z H H G w.! xXF xX`.-.q.E f.E I.| W W 9.f.W T W m.K.x 1 A.q.f.| | 9.E f.E | | Q q.D m.`.`.{.`. .d.{.d.| W.j v u p f.d.XXd.f.[.8 b 3XM OX- ).R.f.R.Q./.`.{.X.q.| | | 9.W d.d.f.T.~.T.T.T.~.} ~.~.~.E T.Q ~.E f.[ V.~.f.D Q | E ,X ",
" + G H H H z bXz vXz vXH z z z bXbXcXcXh.H z h.h.z z H H vXz bXbXbXbXbXbXbXh.z z z H vXH H z z H H H G.G.G.N.xXF :.A.Q {.Q d.d.d.Q.W A.].K.M. .^ n.Z.D Q d.| | q.Q | {.Q Q q. .o.H.m.q.d.Q.{.X.R.d.q.L r ;XT f.d.XX| q.! b eXqX3Xr.= b.E | | T f.q.| T.Q | T.^.E E Q Q | T.| | E ~.} } E ~.(.^.^.(.} 8.~.E =.[ Q W Q Q +X ",
" 5 sXvXH H H vXvXvXvXvXH H vXh.bXbXh.vXz z h.h.k z lXz z vXz z vXz bXvXz z z z z H z z H vXz z H H H H H H G.G xXH. .`.-.Q.Q. . .q.`.W.L -.{.q.q.R.W A.E f.W E | | | | E | q.o._.m.X.q.Q.X.A.A.Q.f.y b N u.Q.I.T.9.| ;.q l.y l.%.` V.d.| (.| E 8.XXT.(.(.(.(.^.Q (.I.Q Q | XXXXE [ ~.(.^.(.XX^.^.} } ~.E [ [ ~.V.E c. ",
" + fXH vXvXG.vXvXH H vXvXH vXz bXz z z bXbXz z vXbXvXz z z z vXz h.z H z z H z z z vXvXH vXH vXH G.H vXvXvXH G.N.g.Y.H.`.d.[ :.m.Q.T `. . .A.W.{.f.A.).f.W | I.T.f.d.Q.f.A.W V.A.q.Q.o.'.oXq.Q.t.uXM * 1 d.{.d.| Q :.w l.e iX=X& V.T.(.(.| f.Q XXXX(.XXI.(.XX*X(.(.Q | Q Q Q ~.E ~.T.^.^.XXI.T.T.~.~.(.~.=.~.(.,X ",
" 4 fXvXH vXvXz z z bXz H z bXz bXbXbXh.bXh.z z bXz z bXvXbXz bXh.z h.z H z H vXz H z H G.vXvXvXz vXz z z z z G.G G G J.'.q. .Y.Q.W f.[ W f.A.W [ f.T W f.Q d.| A.A.d.d.R.W W W T A.o.X.'.X.Q.m q b OX,.E q.`.`.{.Y.g.w.y r uX` 1 Q | I.(.(.XX-.*XXX*X-.XXXX*X*XI.Q *X{.| E E I.(.(.XXXX(.XXXXXX(.T.XX8.} [ ,X ",
" X fXvXz vXvXh.bXh.z z bXz z bXz bXbXcXbXbXz bXz bXbXvXbXz z bXz z z z H z vXvXH vXvXvXG.vXvXz z z z bXz z vXH vXH G N.F xXF d.q.d.d.d.[ Z.[ R { ).d.d.q.q.f.R.R.| {.A.A.A.9.{ =.C.p f.f.A.g.qXl.%X,.+XA.`.H.! U.H. .L b b r.I W | I.I.XXI.XX*X*X-.dX*XXXXX-.`.*XI.dXq.E E Q Q I.I.XX8.^.(.XXI.| E E [ ,X ",
" X y.vXvXvXbXz bXz bXvXvXbXz z bXbXbXh.h.z bXz z z bXbXvXbXz bXbXbXh.z z z vXH H H z vXH vXvXvXvXvXbXz bXz H z z z H G.G.F I.{.I.{.{.f.W W 9.p.| | | f.9.f.d.f.f.W A.! Q.o.u.Y b.Z.f.9.).w.qXl.$XB < x.X.H.w.J.! M.~ j j %._ 2 ).(.-.I.I.| `.-.dXxXF xX-.Q -.-.Q :.o.j.q.q.:. .d.T.I.XX^.XXI.| T.[ Z ",
" X jXvXvXvXz vXz vXz vXz z bXbXbXbXbXbXz bXbXbXbXbXbXbXbXbXbXbXbXbXz bXz z z h.h.h.z vXH vXG.H vXbXz bXh.z bXz bXz z G.dX*X`.*XXXXXW 9.R.f.| f.| d.| Q | Q m.{.q.Q.M.X./ ].o.V./.[ [ D q w iX3X` ; / N K.[.m :.U.;...y 0 r.g = ).dX`.*X`.W.W.`.g.U.G :.H.M.m.`.`.M.O.~ ~ w.H.A.f.8.(.(.I.-.I.~.' ",
" jXG.H bXbXz bXz bXz vXz z bXbXcXcXz bXbXbXbXbXbXbXcXbXbXz z bXbXbXbXS.cXbXcXcXS.h.bXz H H H H vXH z z bXz z z vXG.F `.-.XXXX(.| [ | Q q.f.Q I.| d.9.| f.q.W.A.o.M.Q.[.o.o.f.b.V.).J.k yX=X1.= d u u L.[.o._.g.k yX6XJ % # = j.-.-.`.Y.M.U.aX_.aXt.aXG ..M.`.M.~ '.~ L 9 [.'.q.*X| (.{.E X ",
" 5 fXbXbXbXbXz bXz z z z z bXcXcXbXz bXbXbXh.z bXbXbXz z z cXbXcXbXcXcXS.S.S.S.cXbXh.h.z vXH H H vXbXz bXbXz H J.F Y.F -.-.(.XX| | {.Q -.-.-.{.`.Q f.f.f.Z.Z.=.`.-.W =.q.A.W.).j.aXiXe b _ wX[.'.O._.o./.:.k h.l.b @Xr._ - p A.Q :.W._.xX;._.t.;.:.J.G M.H.m O.K.d 9 M M m m.d.XX~.A . ",
" C gXz bXbXbXbXz bXbXz h.cXS.cXh.h.bXbXh.z z bXbXbXz bXcXcXcXcXcXbXcXh.S.h.h.h.cXcXh.z z z z bXbXbXbXbXbXz G.xXxXJ.xXY.-.I.d.XX| Q *XW.`.*X{.`.m.V.V.{ [ [ A.m.Q.Q. .M.M.g.! M.O.w.iX#XP I j. .M._.m.W.gXe lXk e qX4Xu B Y W Q W.f.D j.[.:.q.aXW. . .-.q.L M.'.v q ! ..m M.:.d.,X ",
" X jXH bXbXbXbXbXbXbXbXh.bXh.bXbXbXh.bXz z vXvXvXz cXbXcXbXcXcXcXcXcXcXS.h.S.h.S.h.h.h.z z h.bXbXcXbXz z J.q.dXY.dX{.-.m.d.{.{.q.W. .`.A. .`.:.A.f.A./.]. .M.M.! N.G H G.G H N.q w #XU +.j.H.J.J. .! U.H k w w w r u N L.| XXQ f.A.V.E ).~.| E V.f.A.d.dX .m._.F H.M.q.A.T Z ",
" 5 G z bXbXz z z bXz z h.h.bXz z z vXz vXvXvXvXbXbXbXcXcXcXcXcXcXcXcXh.S.h.h.h.h.h.h.z bXS.bXbXbXh.H U.U.F Y.M.H.O.L m.`.F F :.M._.H. .q.Q.f.j.[.a [.M...e G.H G.z k U.G.J.! sX@X_ I ).:.dX:.dXJ.U.G.H J.w.! ~ oX/ W E } ~.E ).[ V.V.f.f.E R [ ~.Q | Q V.D W.`.:.A.u.X ",
" . jXN.z z bXz vXH H H vXh.h.z z H vXH H vXvXz bXcXcXcXcXcXcXS.h.z lXh.z z h.h.h.z z z bXh.h.bXh.N. .:.q.q.m.m.H.K.[.t.~ m ! N.G G g.m [.O.m ! w.N.G G.G.J.J.xXJ.H Y.`.-.N.r <.$ U #.D Q Q ~.I.-.dXdXY.`.{.{.X.Q.f.[ | E ~.E W Y b.D d.Q f.D :.Q f.E V.W D f.=.' ",
" 5 hXvXvXH z z vXH vXvXbXvXH H vXH vXvXz bXbXbXcXcXcXcXcXh.z z H z z z z h.h.z lXlXz z vXz H U.H.Y.H.;.m oXr ~ 9 w.H lXH vXH vXH G w.N.U.N.N.U.N.J.N. .:.q._.F `.`. .M.t.& & g 2 @ q.| XXI.Q d.-.-.I.I.{.d.{.Q.A.o.Q.q.).H.D T [ Q D A.f.Q D E [ W f.W u.X ",
" X jXG H z z z z H vXvXz H H vXvXlXvXvXvXbXbXbXcXcXcXcXbXz bXbXh.z h.h.z vXz vXvXH vXH H H .._._.g.w.r v k y w H k z z vXH G.G G.G.U.J.J.Y.W.dXdXY.`.q.f.Q W.`.-.`._.m.j.[.# ( < D Q XXd.| f.E {.{.XX{.q.Q./.a /.L _.o.q.V.=.S ).f.f.E =.R E E E V.,X ",
" + fXH H H vXz z vXvXz bXvXz vXz vXvXz bXbXcXcXcXcXh.h.bXcXbXz bXz z z z vXlXvXG.vXvXe M.[.9 ~ '.m G z k h.z z z z z H G.U.xXvXF dXdX*X{.| Q *X*Xq.Q E E | | E Q -.q.m.f.x @.A.{.I.Q f.9.f.W f.d.W { D s e./.t.b.).W.[.f.T =.[ V.[ R V.| [ +X ",
" X @ hXH H H vXvXvXz z vXvXvXz z vXvXvXbXz bXbXh.h.z z h.z H z vXH H z z vXvXvXH H H ..q ;.G oXd t lXz z z H bXvXz H J.F :.dX-.I.XX{.-.{.q.Q Q Q | {.`.-.| 9.{.I.{.d.9.9.v.[ Q I.E | W E =.Y ).W v././.[ Z.b.p V.o.q.q.).f.W f.A.E E V.Z ",
" 4 jXN.H H vXH vXvXz z bXz z z vXvXvXvXlXlXH lXlXH z z vXH vXH H vXz H z H z vXH H z H w q q w H H z z H z G.N.J.W.q.Q Q Q (.I.-.-.*X{.{.d.f.Q.| Q.-.{.I.{.| I.I.XX9.8.T.| ~.E E =.[ Y V.[ W b.{ b.Z.p a L.a o.[.[.^ K._.O.g.j.,X. ",
" 4 y.G.vXvXvXvXvXvXvXbXz vXvXvXz H z H lXe lXlXz z z z z vXH vXz vXbXz z bXbXz z h.z H H H H k h.z H H U.W.E E f.W.Q I.I.8.| *XY.`.d.A.d.Q.X.R.m.X.d.Q XX*XI.I.XXXX| | | f.f.b.Y D [ W 9.f.Z.p.=.v.o.L.L.C.o.K.K.9 ;.7X@ X ",
" 5 y.G.vXvXvXvXvXz bXz bXbXcXbXh.k k z z h.h.cXbXh.bXh.bXz vXz z z bXz bXbXbXbXz z z z H H H H H G. .Q E Q I.Q W.`. .`.`.Y.-.{.m.M.'.Q.'.X.m.X.{.W.q.I.I.-.I.I.| d.f.V.T u.A.f.Y [ E Q f.p.b.W 9.d.C.C.Q.'.m d - X ",
" . + 6 zXH z z bXbXbXh.cXcXS.h.S.h.S.h.S.h.z h.bXh.bXbXh.vXvXvXz vXbXz bXbXh.z z z z z H G.U.J.F q.{.I.| E D W.:. .Y.*XY.m.[.H.g.~ m.X.m.'.X.q.:.`.*X-.`.I.| [ ).Q A.A.T o.9.[ E [ W f.[ [ | R.d.R.9.C.).I X ",
" + jXG.z bXcXbXh.bXcXcXS.cXcXcXS.S.z h.h.z z bXbXbXz vXz z bXvXbXvXz z vXH vXvXG.N.xXF `.d.W f.Q ).A.D q.q.W. .f.q.*XW.:.-.`.Q.{.m.m.H. ._.! :.F dX*X| Q q.Q | A.[ {.| T.d.8.| | Q.d.I.I.d.Q.{ ,X. ",
" X @ fXvXz z H z h.bXcXcXcXcXS.h.h.h.z vXvXvXH bXbXbXvXvXvXvXG.G.z H vXvXU.`.`.-.*X| Q (.| | Q o.d.d.W f.8.XXd.~.Q W.q. .8.d.X.Q.X.H. .xX:.q.`.`.W.q.f.Q | E R } (.E f.q.W Q 9.8.[ f.c.Z ",
" X 5 6 sXvXvXz vXz z lXz bXz h.bXvXz z z H vXz z vXvXvXH N.N.G.H G.U.xX-.Q Q Q E 9.9.d.| 9.[ [ [ R Q XXXX| | | D W.f.[ W Q.{.Q.{.Q.`.H.q.:.m.q.q.{.Q Q ~.[ | E =.E f.E [ f.+X,XX ",
" 4 $ hXH H z lXz vXlXlXlXlXlXh.h.h.z G.H vXvXG.G.F F xXF F F `.W.Q E f.Q | W 8.| f.R [ ~.=.*.E | {.{.f.E Q D .C.R.R.X.-.d.d.d. .:.A.q.q. .q.Q I.XXE (.E 9.[ f.E u.' . ",
" + $ kXlXlXz z vXz z lXbXbXz z z G.G.G.xXF `.*X-.*X*XXXD Q W.f.D Q I.Q {.E f.d.| W ~.[ R ~.T.[ c.E W | q.f.Q.R.8.d.| | W Q.d.A.Q.A.q.*XW.{.XXQ | Q | =.,XX ",
" X 4 1XgXzXvXz vXlXvXvXz vXz H G.G Y.W.Q E (.~.E | f.Q V.~.E *X*XXX| d.8.E [ R =.R R 8.[ [ =.| T.| E A.m.A.A.W T f.d.W d.f.q.d.f.| {.{.| [ 8X,XX ",
" . 4 8XjXfXN.lXlXH vXlXH G.g.{.| E f.[ c.T Q Q Q V.D XXQ Q *XI.Q Q f.d.[ R 8.[ ^.} R { E T.| | A.q.Q q.A.W | f.q.E T.{.Q f.T T A ' X ",
" 4 5 jXgXzXH N.! `.I.| d.Q E [ D | f.I.E XX^.^.*X{.E W D `.M.q.f.d.| | 9.} T.XXI.| ~.[ A.| Q Q Q | V.E | V.=.A C . ",
" X 4 5 u.V.C.| | | T.8.(.E | Q I.-.| XXXXI.f.A.Q.f.f.q.| W.-.-.d.XX| XXI.| 9.[ E V.~.~.).8XA Z X ",
" X X ' Z A A Y =.V.=.T E Q (.(.`.q.q.j.:.f.f.| q.d.| E | 8.V.f.).,XwX,XZ X X X ",
" X X X C ' ' + wXwXwXO Z Z 4 ,X' C X X X . "
};

View File

@@ -0,0 +1,77 @@
#*****************************************************************************
# *
# Make file for VMS *
# Author : J.Jansen (joukj@hrem.nano.tudelft.nl) *
# Date : 2 October 2009 *
# *
#*****************************************************************************
.first
define wx [--.include.wx]
.ifdef __WXMOTIF__
CXX_DEFINE = /define=(__WXMOTIF__=1)/name=(as_is,short)\
/assume=(nostdnew,noglobal_array_new)
.else
.ifdef __WXGTK__
CXX_DEFINE = /define=(__WXGTK__=1)/float=ieee/name=(as_is,short)/ieee=denorm\
/assume=(nostdnew,noglobal_array_new)
.else
.ifdef __WXGTK2__
CXX_DEFINE = /define=(__WXGTK__=1,VMS_GTK2=1)/float=ieee/name=(as_is,short)/ieee=denorm\
/assume=(nostdnew,noglobal_array_new)
.else
.ifdef __WXX11__
CXX_DEFINE = /define=(__WXX11__=1,__WXUNIVERSAL__==1)/float=ieee\
/name=(as_is,short)/assume=(nostdnew,noglobal_array_new)
.else
CXX_DEFINE =
.endif
.endif
.endif
.endif
.suffixes : .cpp
.cpp.obj :
cxx $(CXXFLAGS)$(CXX_DEFINE) $(MMS$TARGET_NAME).cpp
all :
.ifdef __WXMOTIF__
$(MMS)$(MMSQUALIFIERS) richtext.exe
.else
.ifdef __WXGTK__
$(MMS)$(MMSQUALIFIERS) richtext_gtk.exe
.else
.ifdef __WXGTK2__
$(MMS)$(MMSQUALIFIERS) richtext_gtk2.exe
.else
.ifdef __WXX11__
$(MMS)$(MMSQUALIFIERS) richtext_x11.exe
.endif
.endif
.endif
.endif
OBJS=richtext.obj
.ifdef __WXMOTIF__
richtext.exe : $(OBJS)
cxxlink $(OBJS),[--.lib]vms/opt
.else
.ifdef __WXGTK__
richtext_gtk.exe : $(OBJS)
cxxlink/exec=richtext_gtk.exe $(OBJS),[--.lib]vms_gtk/opt
.else
.ifdef __WXGTK2__
richtext_gtk2.exe : $(OBJS)
cxxlink/exec=richtext_gtk2.exe $(OBJS),[--.lib]vms_gtk2/opt
.else
.ifdef __WXX11__
richtext_x11.exe : $(OBJS)
cxxlink/exec=richtext_x11.exe $(OBJS),[--.lib]vms_x11_univ/opt
.endif
.endif
.endif
.endif
richtext.obj : richtext.cpp

View File

@@ -0,0 +1,240 @@
# =========================================================================
# This makefile was generated by
# Bakefile 0.2.13 (http://www.bakefile.org)
# Do not modify, all changes will be overwritten!
# =========================================================================
include ../../build/msw/config.gcc
# -------------------------------------------------------------------------
# Do not modify the rest of this file!
# -------------------------------------------------------------------------
### Variables: ###
CPPDEPS = -MT$@ -MF$@.d -MD -MP
WX_RELEASE_NODOT = 33
COMPILER_PREFIX = gcc
OBJS = \
$(COMPILER_PREFIX)$(COMPILER_VERSION)_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)
LIBDIRNAME = \
.\..\..\lib\$(COMPILER_PREFIX)$(COMPILER_VERSION)_$(LIBTYPE_SUFFIX)$(CFG)
SETUPHDIR = $(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)
RICHTEXT_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG_2) $(__THREADSFLAG) \
-D__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__NDEBUG_DEFINE_p) \
$(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) \
-I$(SETUPHDIR) -I.\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES_p) -W \
-Wall -I. $(__DLLFLAG_p) -I.\..\..\samples -DNOPCH $(__RTTIFLAG_5) \
$(__EXCEPTIONSFLAG_6) -Wno-ctor-dtor-privacy $(CPPFLAGS) $(CXXFLAGS)
RICHTEXT_OBJECTS = \
$(OBJS)\richtext_sample_rc.o \
$(OBJS)\richtext_richtext.o
### Conditionally set variables: ###
ifeq ($(USE_GUI),0)
PORTNAME = base
endif
ifeq ($(USE_GUI),1)
PORTNAME = msw$(TOOLKIT_VERSION)
endif
ifeq ($(OFFICIAL_BUILD),1)
COMPILER_VERSION = ERROR-COMPILER-VERSION-MUST-BE-SET-FOR-OFFICIAL-BUILD
endif
ifeq ($(BUILD),debug)
WXDEBUGFLAG = d
endif
ifeq ($(WXUNIV),1)
WXUNIVNAME = univ
endif
ifeq ($(SHARED),1)
WXDLLFLAG = dll
endif
ifeq ($(SHARED),0)
LIBTYPE_SUFFIX = lib
endif
ifeq ($(SHARED),1)
LIBTYPE_SUFFIX = dll
endif
ifeq ($(MONOLITHIC),0)
EXTRALIBS_FOR_BASE =
endif
ifeq ($(MONOLITHIC),1)
EXTRALIBS_FOR_BASE =
endif
ifeq ($(BUILD),debug)
__OPTIMIZEFLAG_2 = -O0
endif
ifeq ($(BUILD),release)
__OPTIMIZEFLAG_2 = -O2
endif
ifeq ($(USE_RTTI),0)
__RTTIFLAG_5 = -fno-rtti
endif
ifeq ($(USE_RTTI),1)
__RTTIFLAG_5 =
endif
ifeq ($(USE_EXCEPTIONS),0)
__EXCEPTIONSFLAG_6 = -fno-exceptions
endif
ifeq ($(USE_EXCEPTIONS),1)
__EXCEPTIONSFLAG_6 =
endif
ifeq ($(WXUNIV),1)
__WXUNIV_DEFINE_p = -D__WXUNIVERSAL__
endif
ifeq ($(WXUNIV),1)
__WXUNIV_DEFINE_p_1 = --define __WXUNIVERSAL__
endif
ifeq ($(DEBUG_FLAG),0)
__DEBUG_DEFINE_p = -DwxDEBUG_LEVEL=0
endif
ifeq ($(DEBUG_FLAG),0)
__DEBUG_DEFINE_p_1 = --define wxDEBUG_LEVEL=0
endif
ifeq ($(BUILD),release)
__NDEBUG_DEFINE_p = -DNDEBUG
endif
ifeq ($(BUILD),release)
__NDEBUG_DEFINE_p_1 = --define NDEBUG
endif
ifeq ($(USE_EXCEPTIONS),0)
__EXCEPTIONS_DEFINE_p = -DwxNO_EXCEPTIONS
endif
ifeq ($(USE_EXCEPTIONS),0)
__EXCEPTIONS_DEFINE_p_1 = --define wxNO_EXCEPTIONS
endif
ifeq ($(USE_RTTI),0)
__RTTI_DEFINE_p = -DwxNO_RTTI
endif
ifeq ($(USE_RTTI),0)
__RTTI_DEFINE_p_1 = --define wxNO_RTTI
endif
ifeq ($(USE_THREADS),0)
__THREAD_DEFINE_p = -DwxNO_THREADS
endif
ifeq ($(USE_THREADS),0)
__THREAD_DEFINE_p_1 = --define wxNO_THREADS
endif
ifeq ($(USE_CAIRO),1)
____CAIRO_INCLUDEDIR_FILENAMES_p = -I$(CAIRO_ROOT)\include\cairo
endif
ifeq ($(USE_CAIRO),1)
__CAIRO_INCLUDEDIR_p = --include-dir $(CAIRO_ROOT)/include/cairo
endif
ifeq ($(SHARED),1)
__DLLFLAG_p = -DWXUSINGDLL
endif
ifeq ($(SHARED),1)
__DLLFLAG_p_1 = --define WXUSINGDLL
endif
ifeq ($(MONOLITHIC),0)
__WXLIB_RICHTEXT_p = \
-lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_richtext
endif
ifeq ($(MONOLITHIC),0)
__WXLIB_HTML_p = \
-lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_html
endif
ifeq ($(MONOLITHIC),0)
__WXLIB_CORE_p = \
-lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core
endif
ifeq ($(MONOLITHIC),0)
__WXLIB_XML_p = \
-lwxbase$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml
endif
ifeq ($(MONOLITHIC),0)
__WXLIB_BASE_p = -lwxbase$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)
endif
ifeq ($(MONOLITHIC),1)
__WXLIB_MONO_p = \
-lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)
endif
ifeq ($(MONOLITHIC),1)
ifeq ($(USE_STC),1)
__LIB_SCINTILLA_IF_MONO_p = -lwxscintilla$(WXDEBUGFLAG)
endif
endif
ifeq ($(MONOLITHIC),1)
ifeq ($(USE_STC),1)
__LIB_LEXILLA_IF_MONO_p = $(__LIB_LEXILLA_p)
endif
endif
ifeq ($(USE_STC),1)
__LIB_LEXILLA_p = -lwxlexilla$(WXDEBUGFLAG)
endif
ifeq ($(USE_GUI),1)
__LIB_TIFF_p = -lwxtiff$(WXDEBUGFLAG)
endif
ifeq ($(USE_GUI),1)
__LIB_JPEG_p = -lwxjpeg$(WXDEBUGFLAG)
endif
ifeq ($(USE_GUI),1)
__LIB_PNG_p = -lwxpng$(WXDEBUGFLAG)
endif
ifeq ($(USE_GUI),1)
__LIB_WEBP_p = -lwxwebp$(WXDEBUGFLAG)
endif
ifeq ($(USE_CAIRO),1)
__CAIRO_LIB_p = -lcairo
endif
ifeq ($(USE_CAIRO),1)
____CAIRO_LIBDIR_FILENAMES_p = -L$(CAIRO_ROOT)\lib
endif
ifeq ($(BUILD),debug)
ifeq ($(DEBUG_INFO),default)
__DEBUGINFO = -g
endif
endif
ifeq ($(BUILD),release)
ifeq ($(DEBUG_INFO),default)
__DEBUGINFO =
endif
endif
ifeq ($(DEBUG_INFO),0)
__DEBUGINFO =
endif
ifeq ($(DEBUG_INFO),1)
__DEBUGINFO = -g
endif
ifeq ($(USE_THREADS),0)
__THREADSFLAG =
endif
ifeq ($(USE_THREADS),1)
__THREADSFLAG = -mthreads
endif
all: $(OBJS)
$(OBJS):
-if not exist $(OBJS) mkdir $(OBJS)
### Targets: ###
all: $(OBJS)\richtext.exe
clean:
-if exist $(OBJS)\*.o del $(OBJS)\*.o
-if exist $(OBJS)\*.d del $(OBJS)\*.d
-if exist $(OBJS)\richtext.exe del $(OBJS)\richtext.exe
$(OBJS)\richtext.exe: $(RICHTEXT_OBJECTS) $(OBJS)\richtext_sample_rc.o
$(foreach f,$(subst \,/,$(RICHTEXT_OBJECTS)),$(shell echo $f >> $(subst \,/,$@).rsp.tmp))
@move /y $@.rsp.tmp $@.rsp >nul
$(CXX) -o $@ @$@.rsp $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME) -Wl,--subsystem,windows -mwindows $(____CAIRO_LIBDIR_FILENAMES_p) $(LDFLAGS) $(__WXLIB_RICHTEXT_p) $(__WXLIB_HTML_p) $(__WXLIB_CORE_p) $(__WXLIB_XML_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_LEXILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(__LIB_WEBP_p) -lwxzlib$(WXDEBUGFLAG) -lwxregexu$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) -lkernel32 -luser32 -lgdi32 -lgdiplus -lmsimg32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lshlwapi -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lversion -lws2_32 -lwininet -loleacc -luxtheme
@-del $@.rsp
$(OBJS)\richtext_sample_rc.o: ./../../samples/sample.rc
$(WINDRES) -i$< -o$@ --define __WXMSW__ $(__WXUNIV_DEFINE_p_1) $(__DEBUG_DEFINE_p_1) $(__NDEBUG_DEFINE_p_1) $(__EXCEPTIONS_DEFINE_p_1) $(__RTTI_DEFINE_p_1) $(__THREAD_DEFINE_p_1) --include-dir $(SETUPHDIR) --include-dir ./../../include $(__CAIRO_INCLUDEDIR_p) --include-dir . $(__DLLFLAG_p_1) --define wxUSE_DPI_AWARE_MANIFEST=$(USE_DPI_AWARE_MANIFEST) --include-dir ./../../samples --define NOPCH
$(OBJS)\richtext_richtext.o: ./richtext.cpp
$(CXX) -c -o $@ $(RICHTEXT_CXXFLAGS) $(CPPDEPS) $<
.PHONY: all clean
SHELL := $(COMSPEC)
# Dependencies tracking:
-include $(OBJS)/*.d

View File

@@ -0,0 +1,100 @@
# =========================================================================
# This makefile was generated by
# Bakefile 0.2.13 (http://www.bakefile.org)
# Do not modify, all changes will be overwritten!
# =========================================================================
# -------------------------------------------------------------------------
# These are configurable options:
# -------------------------------------------------------------------------
# C++ compiler
CXX = `$(WX_CONFIG) --cxx`
# Standard flags for C++
CXXFLAGS ?=
# Standard preprocessor flags (common for CC and CXX)
CPPFLAGS ?=
# Standard linker flags
LDFLAGS ?=
# Location and arguments of wx-config script
WX_CONFIG ?= wx-config
# Port of the wx library to build against [gtk2,msw,x11,osx_cocoa,osx_carbon,dfb]
WX_PORT ?= $(shell $(WX_CONFIG) --query-toolkit)
# Use DLL build of wx library to use? [0,1]
WX_SHARED ?= $(shell if test -z `$(WX_CONFIG) --query-linkage`; then echo 1; else echo 0; fi)
# Compile Unicode build of wxWidgets? [0,1]
WX_UNICODE ?= $(shell $(WX_CONFIG) --query-chartype | sed 's/unicode/1/;s/ansi/0/')
# Version of the wx library to build against.
WX_VERSION ?= $(shell $(WX_CONFIG) --query-version | sed -e 's/\([0-9]*\)\.\([0-9]*\)/\1\2/')
# -------------------------------------------------------------------------
# Do not modify the rest of this file!
# -------------------------------------------------------------------------
### Variables: ###
CPPDEPS = -MT$@ -MF`echo $@ | sed -e 's,\.o$$,.d,'` -MD -MP
WX_VERSION_MAJOR = $(shell echo $(WX_VERSION) | cut -c1,1)
WX_VERSION_MINOR = $(shell echo $(WX_VERSION) | cut -c2,2)
WX_CONFIG_FLAGS = $(WX_CONFIG_UNICODE_FLAG) $(WX_CONFIG_SHARED_FLAG) \
--toolkit=$(WX_PORT) --version=$(WX_VERSION_MAJOR).$(WX_VERSION_MINOR)
RICHTEXT_CXXFLAGS = -I. `$(WX_CONFIG) --cxxflags $(WX_CONFIG_FLAGS)` $(CPPFLAGS) \
$(CXXFLAGS)
RICHTEXT_OBJECTS = \
richtext_richtext.o
### Conditionally set variables: ###
ifeq ($(WX_UNICODE),0)
WX_CONFIG_UNICODE_FLAG = --unicode=no
endif
ifeq ($(WX_UNICODE),1)
WX_CONFIG_UNICODE_FLAG = --unicode=yes
endif
ifeq ($(WX_SHARED),0)
WX_CONFIG_SHARED_FLAG = --static=yes
endif
ifeq ($(WX_SHARED),1)
WX_CONFIG_SHARED_FLAG = --static=no
endif
### Targets: ###
all: test_for_selected_wxbuild richtext
install:
uninstall:
clean:
rm -f ./*.o
rm -f ./*.d
rm -f richtext
test_for_selected_wxbuild:
@$(WX_CONFIG) $(WX_CONFIG_FLAGS)
richtext: $(RICHTEXT_OBJECTS)
$(CXX) -o $@ $(RICHTEXT_OBJECTS) $(LDFLAGS) `$(WX_CONFIG) $(WX_CONFIG_FLAGS) --libs richtext,html,core,xml,base`
richtext_richtext.o: ./richtext.cpp
$(CXX) -c -o $@ $(RICHTEXT_CXXFLAGS) $(CPPDEPS) $<
.PHONY: all install uninstall clean
# Dependencies tracking:
-include ./*.d

View File

@@ -0,0 +1,453 @@
# =========================================================================
# This makefile was generated by
# Bakefile 0.2.13 (http://www.bakefile.org)
# Do not modify, all changes will be overwritten!
# =========================================================================
!include <../../build/msw/config.vc>
# -------------------------------------------------------------------------
# Do not modify the rest of this file!
# -------------------------------------------------------------------------
### Variables: ###
WX_RELEASE_NODOT = 33
COMPILER_PREFIX = vc
OBJS = \
$(COMPILER_PREFIX)$(COMPILER_VERSION)$(ARCH_SUFFIX)_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)
LIBDIRNAME = \
.\..\..\lib\$(COMPILER_PREFIX)$(COMPILER_VERSION)$(ARCH_SUFFIX)_$(LIBTYPE_SUFFIX)$(CFG)
SETUPHDIR = $(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)
RICHTEXT_CXXFLAGS = /M$(__RUNTIME_LIBS_10)$(__DEBUGRUNTIME_4) /DWIN32 \
$(__DEBUGINFO_0) /Fd$(OBJS)\richtext.pdb $(____DEBUGRUNTIME_3_p) \
$(__OPTIMIZEFLAG_6) /D_CRT_SECURE_NO_DEPRECATE=1 \
/D_CRT_NON_CONFORMING_SWPRINTFS=1 /D_SCL_SECURE_NO_WARNINGS=1 \
$(__NO_VC_CRTDBG_p) $(__TARGET_CPU_COMPFLAG_p) /D__WXMSW__ \
$(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__NDEBUG_DEFINE_p) \
$(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) \
/I$(SETUPHDIR) /I.\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES_p) /W4 /I. \
$(__DLLFLAG_p) /D_WINDOWS /I.\..\..\samples /DNOPCH $(__RTTIFLAG_11) \
$(__EXCEPTIONSFLAG_12) $(CPPFLAGS) $(CXXFLAGS)
RICHTEXT_OBJECTS = \
$(OBJS)\richtext_richtext.obj
RICHTEXT_RESOURCES = \
$(OBJS)\richtext_sample.res
### Conditionally set variables: ###
!if "$(TARGET_CPU)" == "AMD64"
ARCH_SUFFIX = _x64
!endif
!if "$(TARGET_CPU)" == "ARM"
ARCH_SUFFIX = _arm
!endif
!if "$(TARGET_CPU)" == "ARM64"
ARCH_SUFFIX = _arm64
!endif
!if "$(TARGET_CPU)" == "IA64"
ARCH_SUFFIX = _ia64
!endif
!if "$(TARGET_CPU)" == "X64"
ARCH_SUFFIX = _x64
!endif
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "X64"
ARCH_SUFFIX = _x64
!endif
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "x64"
ARCH_SUFFIX = _x64
!endif
!if "$(TARGET_CPU)" == "amd64"
ARCH_SUFFIX = _x64
!endif
!if "$(TARGET_CPU)" == "arm"
ARCH_SUFFIX = _arm
!endif
!if "$(TARGET_CPU)" == "arm64"
ARCH_SUFFIX = _arm64
!endif
!if "$(TARGET_CPU)" == "ia64"
ARCH_SUFFIX = _ia64
!endif
!if "$(TARGET_CPU)" == "x64"
ARCH_SUFFIX = _x64
!endif
!if "$(USE_GUI)" == "0"
PORTNAME = base
!endif
!if "$(USE_GUI)" == "1"
PORTNAME = msw$(TOOLKIT_VERSION)
!endif
!if "$(OFFICIAL_BUILD)" == "1"
COMPILER_VERSION = ERROR-COMPILER-VERSION-MUST-BE-SET-FOR-OFFICIAL-BUILD
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
WXDEBUGFLAG = d
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
WXDEBUGFLAG = d
!endif
!if "$(WXUNIV)" == "1"
WXUNIVNAME = univ
!endif
!if "$(SHARED)" == "1"
WXDLLFLAG = dll
!endif
!if "$(SHARED)" == "0"
LIBTYPE_SUFFIX = lib
!endif
!if "$(SHARED)" == "1"
LIBTYPE_SUFFIX = dll
!endif
!if "$(TARGET_CPU)" == "AMD64"
LINK_TARGET_CPU = /MACHINE:X64
!endif
!if "$(TARGET_CPU)" == "ARM"
LINK_TARGET_CPU = /MACHINE:ARM
!endif
!if "$(TARGET_CPU)" == "ARM64"
LINK_TARGET_CPU = /MACHINE:ARM64
!endif
!if "$(TARGET_CPU)" == "IA64"
LINK_TARGET_CPU = /MACHINE:IA64
!endif
!if "$(TARGET_CPU)" == "X64"
LINK_TARGET_CPU = /MACHINE:X64
!endif
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "X64"
LINK_TARGET_CPU = /MACHINE:X64
!endif
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "x64"
LINK_TARGET_CPU = /MACHINE:X64
!endif
!if "$(TARGET_CPU)" == "amd64"
LINK_TARGET_CPU = /MACHINE:X64
!endif
!if "$(TARGET_CPU)" == "arm"
LINK_TARGET_CPU = /MACHINE:ARM
!endif
!if "$(TARGET_CPU)" == "arm64"
LINK_TARGET_CPU = /MACHINE:ARM64
!endif
!if "$(TARGET_CPU)" == "ia64"
LINK_TARGET_CPU = /MACHINE:IA64
!endif
!if "$(TARGET_CPU)" == "x64"
LINK_TARGET_CPU = /MACHINE:X64
!endif
!if "$(USE_DPI_AWARE_MANIFEST)" == "1" && "$(VISUALSTUDIOVERSION)" == "14.0"
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
/MANIFESTINPUT:./../../include/wx/msw/wx_dpi_aware.manifest
!endif
!if "$(USE_DPI_AWARE_MANIFEST)" == "1" && "$(VISUALSTUDIOVERSION)" == "15.0"
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
/MANIFESTINPUT:./../../include/wx/msw/wx_dpi_aware.manifest
!endif
!if "$(USE_DPI_AWARE_MANIFEST)" == "1" && "$(VISUALSTUDIOVERSION)" == "16.0"
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
/MANIFESTINPUT:./../../include/wx/msw/wx_dpi_aware.manifest
!endif
!if "$(USE_DPI_AWARE_MANIFEST)" == "1" && "$(VISUALSTUDIOVERSION)" == "17.0"
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
/MANIFESTINPUT:./../../include/wx/msw/wx_dpi_aware.manifest
!endif
!if "$(USE_DPI_AWARE_MANIFEST)" == "2" && "$(VISUALSTUDIOVERSION)" == "14.0"
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
/MANIFESTINPUT:./../../include/wx/msw/wx_dpi_aware_pmv2.manifest
!endif
!if "$(USE_DPI_AWARE_MANIFEST)" == "2" && "$(VISUALSTUDIOVERSION)" == "15.0"
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
/MANIFESTINPUT:./../../include/wx/msw/wx_dpi_aware_pmv2.manifest
!endif
!if "$(USE_DPI_AWARE_MANIFEST)" == "2" && "$(VISUALSTUDIOVERSION)" == "16.0"
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
/MANIFESTINPUT:./../../include/wx/msw/wx_dpi_aware_pmv2.manifest
!endif
!if "$(USE_DPI_AWARE_MANIFEST)" == "2" && "$(VISUALSTUDIOVERSION)" == "17.0"
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
/MANIFESTINPUT:./../../include/wx/msw/wx_dpi_aware_pmv2.manifest
!endif
!if "$(MONOLITHIC)" == "0"
EXTRALIBS_FOR_BASE =
!endif
!if "$(MONOLITHIC)" == "1"
EXTRALIBS_FOR_BASE =
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
__DEBUGINFO_0 = /Zi
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
__DEBUGINFO_0 =
!endif
!if "$(DEBUG_INFO)" == "0"
__DEBUGINFO_0 =
!endif
!if "$(DEBUG_INFO)" == "1"
__DEBUGINFO_0 = /Zi
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
__DEBUGINFO_1 = /DEBUG
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
__DEBUGINFO_1 =
!endif
!if "$(DEBUG_INFO)" == "0"
__DEBUGINFO_1 =
!endif
!if "$(DEBUG_INFO)" == "1"
__DEBUGINFO_1 = /DEBUG
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
__DEBUGINFO_2 = $(__DEBUGRUNTIME_5)
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
__DEBUGINFO_2 =
!endif
!if "$(DEBUG_INFO)" == "0"
__DEBUGINFO_2 =
!endif
!if "$(DEBUG_INFO)" == "1"
__DEBUGINFO_2 = $(__DEBUGRUNTIME_5)
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
____DEBUGRUNTIME_3_p = /D_DEBUG
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
____DEBUGRUNTIME_3_p =
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
____DEBUGRUNTIME_3_p =
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
____DEBUGRUNTIME_3_p = /D_DEBUG
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
____DEBUGRUNTIME_3_p_1 = /d _DEBUG
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
____DEBUGRUNTIME_3_p_1 =
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
____DEBUGRUNTIME_3_p_1 =
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
____DEBUGRUNTIME_3_p_1 = /d _DEBUG
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
__DEBUGRUNTIME_4 = d
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
__DEBUGRUNTIME_4 =
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
__DEBUGRUNTIME_4 =
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
__DEBUGRUNTIME_4 = d
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
__DEBUGRUNTIME_5 =
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
__DEBUGRUNTIME_5 = /opt:ref /opt:icf
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
__DEBUGRUNTIME_5 = /opt:ref /opt:icf
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
__DEBUGRUNTIME_5 =
!endif
!if "$(BUILD)" == "debug"
__OPTIMIZEFLAG_6 = /Od
!endif
!if "$(BUILD)" == "release"
__OPTIMIZEFLAG_6 = /O2
!endif
!if "$(USE_THREADS)" == "0"
__THREADSFLAG_9 = L
!endif
!if "$(USE_THREADS)" == "1"
__THREADSFLAG_9 = T
!endif
!if "$(RUNTIME_LIBS)" == "dynamic"
__RUNTIME_LIBS_10 = D
!endif
!if "$(RUNTIME_LIBS)" == "static"
__RUNTIME_LIBS_10 = $(__THREADSFLAG_9)
!endif
!if "$(USE_RTTI)" == "0"
__RTTIFLAG_11 = /GR-
!endif
!if "$(USE_RTTI)" == "1"
__RTTIFLAG_11 = /GR
!endif
!if "$(USE_EXCEPTIONS)" == "0"
__EXCEPTIONSFLAG_12 =
!endif
!if "$(USE_EXCEPTIONS)" == "1"
__EXCEPTIONSFLAG_12 = /EHsc
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "0"
__NO_VC_CRTDBG_p = /D__NO_VC_CRTDBG__
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_FLAG)" == "1"
__NO_VC_CRTDBG_p = /D__NO_VC_CRTDBG__
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "0"
__NO_VC_CRTDBG_p_1 = /d __NO_VC_CRTDBG__
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_FLAG)" == "1"
__NO_VC_CRTDBG_p_1 = /d __NO_VC_CRTDBG__
!endif
!if "$(TARGET_CPU)" == ""
__TARGET_CPU_COMPFLAG_p = /DTARGET_CPU_COMPFLAG=0
!endif
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "X64"
__TARGET_CPU_COMPFLAG_p =
!endif
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "x64"
__TARGET_CPU_COMPFLAG_p =
!endif
!if "$(TARGET_CPU)" == ""
__TARGET_CPU_COMPFLAG_p_1 = /d TARGET_CPU_COMPFLAG=0
!endif
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "X64"
__TARGET_CPU_COMPFLAG_p_1 =
!endif
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "x64"
__TARGET_CPU_COMPFLAG_p_1 =
!endif
!if "$(WXUNIV)" == "1"
__WXUNIV_DEFINE_p = /D__WXUNIVERSAL__
!endif
!if "$(WXUNIV)" == "1"
__WXUNIV_DEFINE_p_1 = /d __WXUNIVERSAL__
!endif
!if "$(DEBUG_FLAG)" == "0"
__DEBUG_DEFINE_p = /DwxDEBUG_LEVEL=0
!endif
!if "$(DEBUG_FLAG)" == "0"
__DEBUG_DEFINE_p_1 = /d wxDEBUG_LEVEL=0
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
__NDEBUG_DEFINE_p = /DNDEBUG
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
__NDEBUG_DEFINE_p = /DNDEBUG
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
__NDEBUG_DEFINE_p_1 = /d NDEBUG
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
__NDEBUG_DEFINE_p_1 = /d NDEBUG
!endif
!if "$(USE_EXCEPTIONS)" == "0"
__EXCEPTIONS_DEFINE_p = /DwxNO_EXCEPTIONS
!endif
!if "$(USE_EXCEPTIONS)" == "0"
__EXCEPTIONS_DEFINE_p_1 = /d wxNO_EXCEPTIONS
!endif
!if "$(USE_RTTI)" == "0"
__RTTI_DEFINE_p = /DwxNO_RTTI
!endif
!if "$(USE_RTTI)" == "0"
__RTTI_DEFINE_p_1 = /d wxNO_RTTI
!endif
!if "$(USE_THREADS)" == "0"
__THREAD_DEFINE_p = /DwxNO_THREADS
!endif
!if "$(USE_THREADS)" == "0"
__THREAD_DEFINE_p_1 = /d wxNO_THREADS
!endif
!if "$(USE_CAIRO)" == "1"
____CAIRO_INCLUDEDIR_FILENAMES_p = /I$(CAIRO_ROOT)\include\cairo
!endif
!if "$(USE_CAIRO)" == "1"
____CAIRO_INCLUDEDIR_FILENAMES_1_p = /i $(CAIRO_ROOT)\include\cairo
!endif
!if "$(SHARED)" == "1"
__DLLFLAG_p = /DWXUSINGDLL
!endif
!if "$(SHARED)" == "1"
__DLLFLAG_p_1 = /d WXUSINGDLL
!endif
!if "$(MONOLITHIC)" == "0"
__WXLIB_RICHTEXT_p = \
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_richtext.lib
!endif
!if "$(MONOLITHIC)" == "0"
__WXLIB_HTML_p = \
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_html.lib
!endif
!if "$(MONOLITHIC)" == "0"
__WXLIB_CORE_p = \
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib
!endif
!if "$(MONOLITHIC)" == "0"
__WXLIB_XML_p = \
wxbase$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml.lib
!endif
!if "$(MONOLITHIC)" == "0"
__WXLIB_BASE_p = \
wxbase$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
!endif
!if "$(MONOLITHIC)" == "1"
__WXLIB_MONO_p = \
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
!endif
!if "$(MONOLITHIC)" == "1" && "$(USE_STC)" == "1"
__LIB_SCINTILLA_IF_MONO_p = wxscintilla$(WXDEBUGFLAG).lib
!endif
!if "$(MONOLITHIC)" == "1" && "$(USE_STC)" == "1"
__LIB_LEXILLA_IF_MONO_p = $(__LIB_LEXILLA_p)
!endif
!if "$(USE_STC)" == "1"
__LIB_LEXILLA_p = wxlexilla$(WXDEBUGFLAG).lib
!endif
!if "$(USE_GUI)" == "1"
__LIB_TIFF_p = wxtiff$(WXDEBUGFLAG).lib
!endif
!if "$(USE_GUI)" == "1"
__LIB_JPEG_p = wxjpeg$(WXDEBUGFLAG).lib
!endif
!if "$(USE_GUI)" == "1"
__LIB_PNG_p = wxpng$(WXDEBUGFLAG).lib
!endif
!if "$(USE_GUI)" == "1"
__LIB_WEBP_p = wxwebp$(WXDEBUGFLAG).lib
!endif
!if "$(USE_CAIRO)" == "1"
__CAIRO_LIB_p = cairo.lib
!endif
!if "$(USE_CAIRO)" == "1"
____CAIRO_LIBDIR_FILENAMES_p = /LIBPATH:$(CAIRO_ROOT)\lib
!endif
all: $(OBJS)
$(OBJS):
-if not exist $(OBJS) mkdir $(OBJS)
### Targets: ###
all: $(OBJS)\richtext.exe
clean:
-if exist $(OBJS)\*.obj del $(OBJS)\*.obj
-if exist $(OBJS)\*.res del $(OBJS)\*.res
-if exist $(OBJS)\*.pch del $(OBJS)\*.pch
-if exist $(OBJS)\richtext.exe del $(OBJS)\richtext.exe
-if exist $(OBJS)\richtext.ilk del $(OBJS)\richtext.ilk
-if exist $(OBJS)\richtext.pdb del $(OBJS)\richtext.pdb
$(OBJS)\richtext.exe: $(RICHTEXT_OBJECTS) $(OBJS)\richtext_sample.res
link /NOLOGO /OUT:$@ $(__DEBUGINFO_1) /pdb:"$(OBJS)\richtext.pdb" $(__DEBUGINFO_2) $(LINK_TARGET_CPU) /LIBPATH:$(LIBDIRNAME) $(WIN32_DPI_LINKFLAG) /SUBSYSTEM:WINDOWS $(____CAIRO_LIBDIR_FILENAMES_p) $(LDFLAGS) @<<
$(RICHTEXT_OBJECTS) $(RICHTEXT_RESOURCES) $(__WXLIB_RICHTEXT_p) $(__WXLIB_HTML_p) $(__WXLIB_CORE_p) $(__WXLIB_XML_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_LEXILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(__LIB_WEBP_p) wxzlib$(WXDEBUGFLAG).lib wxregexu$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) kernel32.lib user32.lib gdi32.lib gdiplus.lib msimg32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib shlwapi.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib version.lib ws2_32.lib wininet.lib
<<
$(OBJS)\richtext_sample.res: .\..\..\samples\sample.rc
rc /fo$@ /d WIN32 $(____DEBUGRUNTIME_3_p_1) /d _CRT_SECURE_NO_DEPRECATE=1 /d _CRT_NON_CONFORMING_SWPRINTFS=1 /d _SCL_SECURE_NO_WARNINGS=1 $(__NO_VC_CRTDBG_p_1) $(__TARGET_CPU_COMPFLAG_p_1) /d __WXMSW__ $(__WXUNIV_DEFINE_p_1) $(__DEBUG_DEFINE_p_1) $(__NDEBUG_DEFINE_p_1) $(__EXCEPTIONS_DEFINE_p_1) $(__RTTI_DEFINE_p_1) $(__THREAD_DEFINE_p_1) /i $(SETUPHDIR) /i .\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES_1_p) /i . $(__DLLFLAG_p_1) /d _WINDOWS /i .\..\..\samples /d NOPCH .\..\..\samples\sample.rc
$(OBJS)\richtext_richtext.obj: .\richtext.cpp
$(CXX) /c /nologo /TP /Fo$@ $(RICHTEXT_CXXFLAGS) .\richtext.cpp

View File

@@ -0,0 +1,100 @@
wxRichTextCtrl README
=====================
Welcome to wxRichTextCtrl. It includes the following functionality:
* Text entry, paragraph wrapping
* Scrolling, keyboard navigation
* Application of character styles:
bold, italic, underlined, font face, text colour
* Application of paragraph styles:
left/right indentation, sub-indentation (first-line indent),
paragraph spacing (before and after), line spacing,
left/centre/right alignment, numbered bullets
* Insertion of images
* Copy/paste
* Undo/Redo with optional batching and undo history suppression
* Named paragraph and character styles management and application
* File handlers allow addition of file formats
* Text saving and loading, XML saving and loading, HTML saving (unfinished)
Sorry, this is a Windows-only demo for now but the code should
compile on other platforms.
Design
======
Data is represented by a hierarchy of objects, all derived from
wxRichTextObject.
The top of the hierarchy is the buffer, a kind of wxRichTextParagraphLayoutBox.
These boxes will allow flexible placement of text boxes on a page, but
for now there will be a single box representing the document,
and this box will a wxRichTextParagraphLayoutBox which contains further
wxRichTextParagraph objects, each of which can include text and images.
Each object maintains a range (start and end position) measured
from the start of the main parent box.
A paragraph object knows its range, and a text fragment knows its range
too. So, a character or image in a page has a position relative to the
start of the document, and a character in an embedded text box has
a position relative to that text box. For now, we will not be dealing with
embedded objects but it's something to bear in mind for later.
Before display, a changed buffer must have Layout() called on it,
to do wrapping, alignment etc. Ranges representing wrapped lines are stored
with each paragraph.
Since wxRichTextBuffer is separate from wxRichTextCtrl, the storage
and rendering facilities can be used by other controls.
API
===
It's basically the wxTextCtrl with some additions. There is a new
wxTextAttrEx class deriving from wxTextAttr, to accommodate new
style attributes. This could be merged with wxTextAttr. There
is also a wxRichTextAttr which is similar to wxTextAttrEx but
doesn't store the font as a wxFont: this allows much more
efficient operations, especially when querying styles in a
UI update handler. We would not want to create several new wxFonts
when querying for italics, bold, etc. every few milliseconds.
See "Functionality specific to wxRichTextCtrl" section in richtextctrl.h.
One addition is Set/GetBasicStyle, which is needed in addition to
Set/GetDefaultStyle to get the overall style for the buffer
from which content will inherit (after apply the default style).
wxRichTextRange is a new class representing start and end positions.
It's used in the implementation so that pieces of content
know their range, and also in the API in preference to using
two positions.
What next?
==========
- Decision about where to put it: wxCode, wxWidgets
- Makefiles/bakefiles
- Refining the API
- Documentation
- Bug fixing/improvements
See todo.txt for a list of bugs, improvements and features,
and also TODO throughout the source.
==
Julian Smart, October 18th 2005

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" ?>
<makefile>
<include file="../../build/bakefiles/common_samples.bkl"/>
<exe id="richtext" template="wx_sample" template_append="wx_append">
<sources>
richtext.cpp
</sources>
<wx-lib>richtext</wx-lib>
<wx-lib>html</wx-lib>
<wx-lib>core</wx-lib>
<wx-lib>xml</wx-lib>
<wx-lib>base</wx-lib>
</exe>
</makefile>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,450 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DLL Debug|Win32">
<Configuration>DLL Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DLL Debug|x64">
<Configuration>DLL Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DLL Release|Win32">
<Configuration>DLL Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DLL Release|x64">
<Configuration>DLL Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{2131C9D5-5D6F-4298-8EDB-DFAD75647E4B}</ProjectGuid>
</PropertyGroup>
<Import Project="..\..\build\msw\wx_config.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets">
<Import Project="..\..\build\msw\wx_setup.props" />
<Import Project="..\..\build\msw\wx_local.props" Condition="Exists('..\..\build\msw\wx_local.props')" />
<Import Project="..\samples.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>14.0.24720.0</_ProjectFileVersion>
<OutDir>$(wxIntRootDir)</OutDir>
<IntDir>$(wxIntRootDir)$(ProjectName)\</IntDir>
<GenerateManifest>true</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Midl>
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Sync</ExceptionHandling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>$(wxToolkitLibNamePrefix)richtext.lib;$(wxToolkitLibNamePrefix)html.lib;$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix)_xml.lib;$(wxBaseLibNamePrefix).lib;wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxwebp$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Bscmake>
<Manifest>
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
</Manifest>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Midl>
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</Midl>
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Sync</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>$(wxToolkitLibNamePrefix)richtext.lib;$(wxToolkitLibNamePrefix)html.lib;$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix)_xml.lib;$(wxBaseLibNamePrefix).lib;wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxwebp$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Bscmake>
<Manifest>
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
</Manifest>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'">
<Midl>
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Sync</ExceptionHandling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>$(wxToolkitLibNamePrefix)richtext.lib;$(wxToolkitLibNamePrefix)html.lib;$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix)_xml.lib;$(wxBaseLibNamePrefix).lib;wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxwebp$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Bscmake>
<Manifest>
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
</Manifest>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'">
<Midl>
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</Midl>
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Sync</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>$(wxToolkitLibNamePrefix)richtext.lib;$(wxToolkitLibNamePrefix)html.lib;$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix)_xml.lib;$(wxBaseLibNamePrefix).lib;wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxwebp$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Bscmake>
<Manifest>
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
</Manifest>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Sync</ExceptionHandling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>$(wxToolkitLibNamePrefix)richtext.lib;$(wxToolkitLibNamePrefix)html.lib;$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix)_xml.lib;$(wxBaseLibNamePrefix).lib;wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxwebp$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Bscmake>
<Manifest>
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
</Manifest>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</Midl>
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Sync</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>$(wxToolkitLibNamePrefix)richtext.lib;$(wxToolkitLibNamePrefix)html.lib;$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix)_xml.lib;$(wxBaseLibNamePrefix).lib;wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxwebp$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Bscmake>
<Manifest>
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
</Manifest>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|x64'">
<Midl>
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Sync</ExceptionHandling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>$(wxToolkitLibNamePrefix)richtext.lib;$(wxToolkitLibNamePrefix)html.lib;$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix)_xml.lib;$(wxBaseLibNamePrefix).lib;wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxwebp$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Bscmake>
<Manifest>
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
</Manifest>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'">
<Midl>
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</Midl>
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Sync</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>$(wxToolkitLibNamePrefix)richtext.lib;$(wxToolkitLibNamePrefix)html.lib;$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix)_xml.lib;$(wxBaseLibNamePrefix).lib;wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxwebp$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Bscmake>
<Manifest>
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
</Manifest>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="richtext.cpp" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\sample.rc" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="richtext.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\sample.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,124 @@
wxRichTextCtrl To-Do List
=========================
BUGS:
=====
- Setting selection with mouse sometimes causes negative selection
lengths. See wxRichTextCtrl::ExtendSelection.
- Word forward can miss first word on line.
- Doesn't correctly undo deletion of bulleted paragraphs.
- Sizing doesn't restore the scroll position correctly (related
to the use of buffer layout optimization and OnIdle full layout.)
IMPROVEMENTS:
=============
- Add bakefiles, choose location for further development - wxCode or wxWidgets.
- Document.
- Rework scrolling code so (a) can scroll one line at a time (uneven
scroll increments and (b) can derive from wxTextCtrl if this is desirable.
- Implement auto-scroll when selecting.
- Implement auto-wrap option (currently it's always on) with option for
horizontal scrollbars.
- Implement overwrite mode.
- Collapse multiple keystrokes into single undo command.
- Unicode adaptation (e.g. in OnChar).
- Implement "Paste Special".
- Pass wxRichTextDrawContext to Draw and Layout with data such as
selection colour.
- Have virtual functions for customisation, e.g. CreateTextObject, CreateImageObject,
CreateParagraph object. Should be a separate factory object that can be
plugged in.
- Implement more event generation.
- Implement roman numerals in bullet points.
- Make as wxTextCtrl-compatible as possible.
- Allow use as single-line edit control, so potentially the class can
replace both wxUniversal wxTextCtrl implementations.
- Adjust behaviour on each platform to conform to native standards.
This might be a run-time option.
- Custom attributes (simply add an integer field to wxRichTextAttr and
maybe wxTextAttrEx).
- Improve image support: margins, resizing, storage of image as native format
data (e.g. JPEG) so no lossiness.
- Ensure read-only mode works.
- Don't store whole paragraph in Undo stack if just changing the paragraph's style.
- Use binary chop to find character position for (x,y).
- Allow specification of word separators, and whether hyphenation will be done
(language-dependent).
API ISSUES:
===========
- Consider whether to merge wxTextAttrEx with wxTextAttr.
- Implementation-independent API for traversing rich text controls, e.g. getting spans
of text, retrieving images, etc.
- FindString: search for a substring within a range, returning a range. Will make it
easy to add styles to text you just added.
- WriteString, WriteImage should really return a range. However, can query insertion point.
- Bullets: suggest we are able to specify symbols in a specific named font
(maybe keep mapping from name to actual symbol font in style manager).
We wouldn't want to store a wxFont with each paragraph, just for the symbol,
since this will be inefficient. If no font is specified, use the font
for this paragraph.
Also allow bitmaps to be specified for bullets.
- For adding floating text boxes and images, suggest e.g.
bool wxRichTextBuffer::AddFloatingImage(long paragraphPosition, const wxImage& image);
FEATURES:
=========
- XML I/O (a prototype implementation done, maybe the syntax/verbosity could be improved)
- HTML (I)/O and clipboard support
- RTF (I)/O and clipboard support
- OpenOffice.org I/O
- C++ output, i.e. generate set of buffer commands from a buffer
so that the data can be included in an app, possibly with translation.
- Line breaks. How will we implement these? Suggest special non-ASCII code.
- Hard (non-breaking) spaces. Insert special code in text string. Shift-Return.
- Borders on paragraphs, with special attention to how they join up.
- Bitmap bullets.
- Tab stops, with ruler display.
- Rules (lines).
- Hyperlinks.
- Ready-made find and replace implementation
- Ready-made toolbars, standard identifiers.
- Floating text boxes and images, with appropriate wrapping: have a separate list of
these, and when formatting each line, simply restrict the available space accordingly.
Boxes can optionally be tied to a paragraph so they move relative to it (may need to introduce
paragraph identifiers for that).
- Set of convenience controls and dialogs including wxRichTextStyleListBox,
wxRichTextParagraphFormattingDialog, wxRichTextStyleEditorDialog,
wxRichTextBulletDialog, wxRichTextInsertSymbolDialog, wxRichTextTabsDialog
(also displayed as a page on wxRichTextParagraphFormattingDialog),
- Template manager.
- ADVANCED: Implement tables. This is a kind of paragraph that knows how to lay
out a 2D grid of paragraph layout boxes. A few assumptions
about the hierarchy will need correcting but in general, paragraph
layout is self-contained and should just work within table cells.
- ADVANCED: Implement printing, including headers and footers.
- ADVANCED: Implement page view mode where pagination is shown while editing.
- ADVANCED: Field codes that can be hidden/shown: for example, cross-references,
HTML links, page number, heading number, etc.
- ADVANCED: Implement justification, by distributing space over the line (draw one
word at a time but store in the usual way).
- ADVANCED: Implement headings.
- ADVANCED: Zoom.
- ADVANCED: Versioning and markup facility (for e.g. collaboration).
- ADVANCED: Columns.
- ADVANCED: Table of contents, index.
- ADVANCED: Autocorrect.
DEMO:
=====
- Drop-down lists for style, face, font size.
- Rework formatting icons.