Removed them *really* old sources - Alex
authorterminatorX <>
Thu, 31 Aug 2000 08:23:18 +0000 (08:23 +0000)
committerterminatorX <>
Thu, 31 Aug 2000 08:23:18 +0000 (08:23 +0000)
40 files changed:
src/3dnow.h [deleted file]
src/Makefile.am [deleted file]
src/Makefile.cygwin [deleted file]
src/Makefile.in [deleted file]
src/endian.c [deleted file]
src/endian.h [deleted file]
src/licmak.awk [deleted file]
src/main.cc [deleted file]
src/mmx.h [deleted file]
src/tX_audiodevice.cc [deleted file]
src/tX_audiodevice.h [deleted file]
src/tX_dialog.cc [deleted file]
src/tX_dialog.h [deleted file]
src/tX_engine.cc [deleted file]
src/tX_engine.h [deleted file]
src/tX_flash.c [deleted file]
src/tX_flash.h [deleted file]
src/tX_global.c [deleted file]
src/tX_global.h [deleted file]
src/tX_logo.c [deleted file]
src/tX_mastergui.cc [deleted file]
src/tX_mastergui.h [deleted file]
src/tX_mouse.cc [deleted file]
src/tX_mouse.h [deleted file]
src/tX_smlog.c [deleted file]
src/tX_tape.cc [deleted file]
src/tX_tape.h [deleted file]
src/tX_types.h [deleted file]
src/tX_vtt.cc [deleted file]
src/tX_vtt.h [deleted file]
src/tX_vttgui.cc [deleted file]
src/tX_vttgui.h [deleted file]
src/tX_wavfunc.cc [deleted file]
src/tX_wavfunc.h [deleted file]
src/tX_widget.c [deleted file]
src/tX_widget.h [deleted file]
src/version.h [deleted file]
src/wav_file.h [deleted file]
src/wav_read.c [deleted file]
src/wav_write.c [deleted file]

diff --git a/src/3dnow.h b/src/3dnow.h
deleted file mode 100644 (file)
index 58db1ab..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-/*  3DNow! interface library
- *  Copyright (C) 1998 Robert Dale
- *  
- *  This depends on mmx.h which should have been included.
- *
- */ 
-
-#include "mmx.h"
-
-/* 3DNow! instructions */
-
-#define femms() \
-        __asm__ __volatile__ ("femms")
-
-#define pf2id_m2r(var, reg)    mmx_m2r(pf2id, var, reg)
-#define pf2id_r2r(regs, regd)  mmx_r2r(pf2id, regs, regd)
-#define pf2id(vars, vard)      mmx_m2m(pf2id, vars, vard)
-
-#define pfacc_m2r(var, reg)    mmx_m2r(pfacc, var, reg)
-#define pfacc_r2r(regs, regd)  mmx_r2r(pfacc, regs, regd)
-#define pfacc(vars, vard)      mmx_m2m(pfacc, vars, vard)
-
-#define pfadd_i2r(imm, reg)    mmx_i2r(pfadd, imm, reg)
-#define pfadd_m2r(var, reg)    mmx_m2r(pfadd, var, reg)
-#define pfadd_r2r(regs, regd)  mmx_r2r(pfadd, regs, regd)
-#define pfadd(vars, vard)      mmx_m2m(pfadd, vars, vard)
-
-#define pfcmpeq_m2r(var, reg)  mmx_m2r(pfcmpeq, var, reg)
-#define pfcmpeq_r2r(regs, regd) mmx_r2r(pfcmpeq, regs, regd)
-#define pfcmpeq(vars, vard)     mmx_m2m(pfcmpeq, vars, vard)
-
-#define pfcmpge_m2r(var, reg)   mmx_m2r(pfcmpge, var, reg)
-#define pfcmpge_r2r(regs, regd) mmx_r2r(pfcmpge, regs, regd)
-#define pfcmpge(vars, vard)     mmx_m2m(pfcmpge, vars, vard)
-
-#define pfcmpgt_m2r(var, reg)   mmx_m2r(pfcmpgt, var, reg)
-#define pfcmpgt_r2r(regs, regd) mmx_r2r(pfcmpgt, regs, regd)
-#define pfcmpgt(vars, vard)     mmx_m2m(pfcmpgt, vars, vard)
-
-#define pfmax_m2r(var, reg)     mmx_m2r(pfmax, var, reg)
-#define pfmax_r2r(regs, regd)   mmx_r2r(pfmax, regs, regd)
-#define pfmax(vars, vard)       mmx_m2m(pfmax, vars, vard)
-
-#define pfmin_m2r(var, reg)     mmx_m2r(pfmin, var, reg)
-#define pfmin_r2r(regs, regd)   mmx_r2r(pfmin, regs, regd)
-#define pfmin(vars, vard)       mmx_m2m(pfmin, vars, vard)
-
-#define pfmul_i2r(imm, reg)     mmx_i2r(pfmul, imm, reg)
-#define pfmul_m2r(var, reg)     mmx_m2r(pfmul, var, reg)
-#define pfmul_r2r(regs, regd)   mmx_r2r(pfmul, regs, regd)
-#define pfmul(vars, vard)       mmx_m2m(pfmul, vars, vard)
-
-#define pfrcp_m2r(var, reg)     mmx_m2r(pfrcp, var, reg)
-#define pfrcp_r2r(regs, regd)   mmx_r2r(pfrcp, regs, regd)
-#define pfrcp(vars, vard)       mmx_m2m(pfrcp, vars, vard)
-
-#define pfrcpit1_m2r(var, reg)  mmx_m2r(pfrcpit1, var, reg)
-#define pfrcpit1_r2r(regs, regd) mmx_r2r(pfrcpit1, regs, regd)
-#define pfrcpit1(vars, vard)    mmx_m2m(pfrcpit1, vars, vard)
-
-#define pfrcpit2_m2r(var, reg)  mmx_m2r(pfrcpit2, var, reg)
-#define pfrcpit2_r2r(regs, regd) mmx_r2r(pfrcpit2, regs, regd)
-#define pfrcpit2(vars, vard)    mmx_m2m(pfrcpit2, vars, vard)
-
-#define pfrsqrt_m2r(var, reg)   mmx_m2r(pfrsqrt, var, reg)
-#define pfrsqrt_r2r(regs, regd) mmx_r2r(pfrsqrt, regs, regd)
-#define pfrsqrt(vars, vard)     mmx_m2m(pfrsqrt, vars, vard)
-
-#define pfrsqit1_m2r(var, reg)   mmx_m2r(pfrsqit1, var, reg)
-#define pfrsqit1_r2r(regs, regd) mmx_r2r(pfrsqit1, regs, regd)
-#define pfrsqit1(vars, vard)     mmx_m2m(pfrsqit1, vars, vard)
-
-#define pfsub_m2r(var, reg)     mmx_m2r(pfsub, var, reg)
-#define pfsub_r2r(regs, regd)   mmx_r2r(pfsub, regs, regd)
-#define pfsub(vars, vard)       mmx_m2m(pfsub, vars, vard)
-
-#define pfsubr_m2r(var, reg)    mmx_m2r(pfsubr, var, reg)
-#define pfsubr_r2r(regs, regd)  mmx_r2r(pfsubr, regs, regd)
-#define pfsubr(vars, vard)      mmx_m2m(pfsubr, vars, vard)
-
-#define pi2fd_m2r(var, reg)     mmx_m2r(pi2fd, var, reg)
-#define pi2fd_r2r(regs, regd)   mmx_r2r(pi2fd, regs, regd)
-#define pi2fd(vars, vard)       mmx_m2m(pi2fd, vars, vard)
-
-#define pavgusb_m2r(var, reg)   mmx_m2r(pavgusb, var, reg)
-#define pavgusb_r2r(regs, regd) mmx_r2r(pavgusb, regs, regd)
-#define pavgusb(vars, vard)     mmx_m2m(pavgusb, vars, vard)
-
-#define pmulhrw_m2r(var, reg)   mmx_m2r(pmulhrw, var, reg)
-#define pmulhrw_r2r(regs, regd) mmx_r2r(pmulhrw, regs, regd)
-#define pmulhrw(vars, vard)     mmx_m2m(pmulhrw, vars, vard)
-
-#define prefetch()           __asm__ __volatile__ ("prefetch") 
-
-#define prefetchw()          __asm__ __volatile__ ("prefetchw") 
diff --git a/src/Makefile.am b/src/Makefile.am
deleted file mode 100644 (file)
index 23c82d3..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-LIBS=@GTK_LIBS@ -lXi -lXxf86dga -lpthread
-
-CFLAGS=@CFLAGS@ @GTK_CFLAGS@ -D_REENTRANT
-CXXFLAGS=@CFLAGS@ @GTK_CFLAGS@ -D_REENTRANT
-
-license.c: $(top_srcdir)/COPYING
-       @AWK@ -f $(srcdir)/licmak.awk < $(top_srcdir)/COPYING > $(srcdir)/license.c
-
-BUILT_SOURCES = license.c
-
-bin_PROGRAMS = terminatorX
-
-terminatorX_DEPENDENCIES = license.c
-
-terminatorX_SOURCES =  endian.c tX_dialog.cc tX_widget.c wav_write.c \
-                       tX_engine.cc tX_logo.c tX_mouse.cc tX_mouse.h \
-                       main.cc tX_global.c tX_wavfunc.cc wav_read.c licmak.awk \
-                       endian.h tX_engine.h tX_types.h tX_flash.c tX_flash.h \
-                       tX_global.h tX_wavfunc.h version.h tX_tape.h tX_tape.cc \
-                       tX_dialog.h tX_mastergui.h tX_widget.h wav_file.h \
-                       tX_vtt.cc tX_vtt.h tX_vttgui.h tX_vttgui.cc \
-                       tX_audiodevice.cc tX_audiodevice.h tX_mastergui.cc \
-                       Makefile.cygwin 3dnow.h mmx.h tX_smlog.c
diff --git a/src/Makefile.cygwin b/src/Makefile.cygwin
deleted file mode 100644 (file)
index 390e7ca..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-# Makefile for cygwin
-
-# Location for the required includes/libs
-TXLIBS=//f/TXLIB
-
-# Inlcude path
-INCLUDES=-I/$(TXLIBS)/include -I$(TXLIBS)/include/gdk/win32
-
-# The objects
-OBJECTS=endian.o main.o turntable.o tX_dialog.o tX_engine.o \
-       tX_global.o tX_gui.o tX_logo.o tX_wavfunc.o tX_widget.o \
-       wav_read.o wav_write.o 
-
-# The libs
-LIBS=$(TXLIBS)/lib/libgtk.a $(TXLIBS)/lib/libglib.a $(TXLIBS)/lib/libgdk.a $(TXLIBS)/lib/libpthread.a
-
-CFLAGS=-D_REENTRANT -DWIN32 -DUSE_SOX_INPUT -O2 -g $(INCLUDES)
-
-all:   terminatorX.exe
-
-clean: Makefile.cygwin
-       rm -f $(OBJECTS) terminatorX.exe
-                       
-terminatorX.exe:        $(OBJECTS)
-                       gcc -o terminatorX.exe $(OBJECTS) $(LIBS)
diff --git a/src/Makefile.in b/src/Makefile.in
deleted file mode 100644 (file)
index cbe1bf4..0000000
+++ /dev/null
@@ -1,341 +0,0 @@
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = ..
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-AWK = @AWK@
-CC = @CC@
-CXX = @CXX@
-GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_CONFIG = @GLIB_CONFIG@
-GLIB_LIBS = @GLIB_LIBS@
-GTK_CFLAGS = @GTK_CFLAGS@
-GTK_CONFIG = @GTK_CONFIG@
-GTK_LIBS = @GTK_LIBS@
-LN_S = @LN_S@
-MAKEINFO = @MAKEINFO@
-MPG123_PROG = @MPG123_PROG@
-PACKAGE = @PACKAGE@
-RANLIB = @RANLIB@
-SOX_PROG = @SOX_PROG@
-VERSION = @VERSION@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-x_libraries = @x_libraries@
-
-LIBS = @GTK_LIBS@ -lXi -lXxf86dga -lpthread
-
-CFLAGS = @CFLAGS@ @GTK_CFLAGS@ -D_REENTRANT
-CXXFLAGS = @CFLAGS@ @GTK_CFLAGS@ -D_REENTRANT
-
-BUILT_SOURCES = license.c
-
-bin_PROGRAMS = terminatorX
-
-terminatorX_DEPENDENCIES = license.c
-
-terminatorX_SOURCES = endian.c tX_dialog.cc tX_widget.c wav_write.c                    tX_engine.cc tX_logo.c tX_mouse.cc tX_mouse.h                   main.cc tX_global.c tX_wavfunc.cc wav_read.c licmak.awk                         endian.h tX_engine.h tX_types.h tX_flash.c tX_flash.h                   tX_global.h tX_wavfunc.h version.h tX_tape.h tX_tape.cc                         tX_dialog.h tX_mastergui.h tX_widget.h wav_file.h                       tX_vtt.cc tX_vtt.h tX_vttgui.h tX_vttgui.cc                     tX_audiodevice.cc tX_audiodevice.h tX_mastergui.cc                      Makefile.cygwin 3dnow.h mmx.h tX_smlog.c
-
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = ../config.h
-CONFIG_CLEAN_FILES = 
-PROGRAMS =  $(bin_PROGRAMS)
-
-
-DEFS = @DEFS@ -I. -I$(srcdir) -I..
-CPPFLAGS = @CPPFLAGS@
-LDFLAGS = @LDFLAGS@
-terminatorX_OBJECTS =  endian.o tX_dialog.o tX_widget.o wav_write.o \
-tX_engine.o tX_logo.o tX_mouse.o main.o tX_global.o tX_wavfunc.o \
-wav_read.o tX_flash.o tX_tape.o tX_vtt.o tX_vttgui.o tX_audiodevice.o \
-tX_mastergui.o tX_smlog.o
-terminatorX_LDADD = $(LDADD)
-terminatorX_LDFLAGS = 
-CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@
-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
-DIST_COMMON =  Makefile.am Makefile.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = gtar
-GZIP_ENV = --best
-SOURCES = $(terminatorX_SOURCES)
-OBJECTS = $(terminatorX_OBJECTS)
-
-all: all-redirect
-.SUFFIXES:
-.SUFFIXES: .S .c .cc .o .s
-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-       cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps src/Makefile
-
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) \
-         && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-
-mostlyclean-binPROGRAMS:
-
-clean-binPROGRAMS:
-       -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
-
-distclean-binPROGRAMS:
-
-maintainer-clean-binPROGRAMS:
-
-install-binPROGRAMS: $(bin_PROGRAMS)
-       @$(NORMAL_INSTALL)
-       $(mkinstalldirs) $(DESTDIR)$(bindir)
-       @list='$(bin_PROGRAMS)'; for p in $$list; do \
-         if test -f $$p; then \
-           echo "  $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
-            $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
-         else :; fi; \
-       done
-
-uninstall-binPROGRAMS:
-       @$(NORMAL_UNINSTALL)
-       list='$(bin_PROGRAMS)'; for p in $$list; do \
-         rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
-       done
-
-.c.o:
-       $(COMPILE) -c $<
-
-.s.o:
-       $(COMPILE) -c $<
-
-.S.o:
-       $(COMPILE) -c $<
-
-mostlyclean-compile:
-       -rm -f *.o core *.core
-
-clean-compile:
-
-distclean-compile:
-       -rm -f *.tab.c
-
-maintainer-clean-compile:
-
-terminatorX: $(terminatorX_OBJECTS) $(terminatorX_DEPENDENCIES)
-       @rm -f terminatorX
-       $(CXXLINK) $(terminatorX_LDFLAGS) $(terminatorX_OBJECTS) $(terminatorX_LDADD) $(LIBS)
-.cc.o:
-       $(CXXCOMPILE) -c $<
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP)
-       list='$(SOURCES) $(HEADERS)'; \
-       unique=`for i in $$list; do echo $$i; done | \
-         awk '    { files[$$0] = 1; } \
-              END { for (i in files) print i; }'`; \
-       here=`pwd` && cd $(srcdir) \
-         && mkid -f$$here/ID $$unique $(LISP)
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP)
-       tags=; \
-       here=`pwd`; \
-       list='$(SOURCES) $(HEADERS)'; \
-       unique=`for i in $$list; do echo $$i; done | \
-         awk '    { files[$$0] = 1; } \
-              END { for (i in files) print i; }'`; \
-       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
-
-mostlyclean-tags:
-
-clean-tags:
-
-distclean-tags:
-       -rm -f TAGS ID
-
-maintainer-clean-tags:
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-
-subdir = src
-
-distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         d=$(srcdir); \
-         if test -d $$d/$$file; then \
-           cp -pr $$/$$file $(distdir)/$$file; \
-         else \
-           test -f $(distdir)/$$file \
-           || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
-           || cp -p $$d/$$file $(distdir)/$$file || :; \
-         fi; \
-       done
-endian.o: endian.c
-main.o: main.cc tX_mastergui.h endian.h ../config.h 3dnow.h mmx.h \
-       tX_types.h tX_wavfunc.h tX_global.h version.h tX_dialog.h
-tX_audiodevice.o: tX_audiodevice.cc tX_audiodevice.h tX_types.h endian.h \
-       ../config.h tX_global.h
-tX_dialog.o: tX_dialog.cc tX_types.h endian.h ../config.h tX_global.h \
-       tX_dialog.h license.c tX_wavfunc.h tX_mastergui.h version.h
-tX_engine.o: tX_engine.cc tX_types.h endian.h ../config.h tX_engine.h \
-       tX_audiodevice.h tX_global.h tX_mouse.h tX_vtt.h tX_vttgui.h \
-       tX_mastergui.h tX_tape.h wav_file.h tX_widget.h
-tX_flash.o: tX_flash.c tX_flash.h tX_types.h endian.h ../config.h
-tX_global.o: tX_global.c endian.h ../config.h tX_types.h tX_global.h
-tX_logo.o: tX_logo.c
-tX_mastergui.o: tX_mastergui.cc endian.h ../config.h version.h \
-       tX_global.h tX_types.h tX_engine.h tX_vttgui.h tX_vtt.h \
-       tX_flash.h tX_smlog.c tX_dialog.h
-tX_mouse.o: tX_mouse.cc tX_mouse.h tX_types.h endian.h ../config.h \
-       tX_mastergui.h tX_global.h tX_engine.h tX_vtt.h tX_vttgui.h
-tX_smlog.o: tX_smlog.c
-tX_tape.o: tX_tape.cc tX_tape.h wav_file.h ../config.h tX_global.h \
-       tX_types.h endian.h
-tX_vtt.o: tX_vtt.cc tX_vtt.h endian.h ../config.h tX_types.h tX_vttgui.h \
-       tX_global.h tX_wavfunc.h 3dnow.h mmx.h
-tX_vttgui.o: tX_vttgui.cc tX_vttgui.h tX_vtt.h endian.h ../config.h \
-       tX_types.h tX_widget.h tX_wavfunc.h tX_mastergui.h tX_flash.h
-tX_wavfunc.o: tX_wavfunc.cc tX_types.h endian.h ../config.h \
-       tX_mastergui.h wav_file.h tX_global.h tX_wavfunc.h
-tX_widget.o: tX_widget.c tX_widget.h tX_types.h endian.h ../config.h
-wav_read.o: wav_read.c endian.h ../config.h wav_file.h tX_global.h \
-       tX_types.h
-wav_write.o: wav_write.c endian.h ../config.h wav_file.h tX_global.h \
-       tX_types.h
-
-info-am:
-info: info-am
-dvi-am:
-dvi: dvi-am
-check-am: all-am
-check: check-am
-installcheck-am:
-installcheck: installcheck-am
-install-exec-am: install-binPROGRAMS
-install-exec: install-exec-am
-
-install-data-am:
-install-data: install-data-am
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-am
-uninstall-am: uninstall-binPROGRAMS
-uninstall: uninstall-am
-all-am: Makefile $(PROGRAMS)
-all-redirect: all-am
-install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs:
-       $(mkinstalldirs)  $(DESTDIR)$(bindir)
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES)
-       -rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-       -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
-mostlyclean-am:  mostlyclean-binPROGRAMS mostlyclean-compile \
-               mostlyclean-tags mostlyclean-generic
-
-mostlyclean: mostlyclean-am
-
-clean-am:  clean-binPROGRAMS clean-compile clean-tags clean-generic \
-               mostlyclean-am
-
-clean: clean-am
-
-distclean-am:  distclean-binPROGRAMS distclean-compile distclean-tags \
-               distclean-generic clean-am
-
-distclean: distclean-am
-
-maintainer-clean-am:  maintainer-clean-binPROGRAMS \
-               maintainer-clean-compile maintainer-clean-tags \
-               maintainer-clean-generic distclean-am
-       @echo "This command is intended for maintainers to use;"
-       @echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-am
-
-.PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \
-maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \
-mostlyclean-compile distclean-compile clean-compile \
-maintainer-clean-compile tags mostlyclean-tags distclean-tags \
-clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
-check-am installcheck-am installcheck install-exec-am install-exec \
-install-data-am install-data install-am install uninstall-am uninstall \
-all-redirect all-am all installdirs mostlyclean-generic \
-distclean-generic clean-generic maintainer-clean-generic clean \
-mostlyclean distclean maintainer-clean
-
-
-license.c: $(top_srcdir)/COPYING
-       @AWK@ -f $(srcdir)/licmak.awk < $(top_srcdir)/COPYING > $(srcdir)/license.c
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/src/endian.c b/src/endian.c
deleted file mode 100644 (file)
index 0090a2d..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
-    terminatorX - realtime audio scratching software
-    Copyright (C) 1999  Alexander König
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-    File: endian.c
-    Description: swap byte order for big endian systems/audiohardware.
-*/    
-
-
-#if defined (BIG_ENDIAN_MACHINE) || defined(BIG_ENDIAN_AUDIO) || defined (TEST_ENDIAN)
-
-#include "tX_types.h"
-
-void swap16(int16_t * val)
-{
-       int8_t temp;
-       int8_t *p;
-       
-       p=(int8_t *) val;
-       temp=*p;
-       *p=*++p;
-       *p=temp;
-}
-
-void swap32(int32_t * val)
-{
-       /*
-               This one is very inefficient but it wont be
-               called from performace critical areas so
-               who cares...
-       */
-       int8_t temp;
-       int8_t *p;
-       
-       p=(int8_t *) val;
-       temp=p[0];
-       p[0]=p[3];
-       p[3]=temp;
-       
-       temp=p[1];
-       p[1]=p[2];
-       p[2]=temp;
-}
-
-void swapbuffer(int16_t *buffer, int samples)
-{
-       int i;
-       int8_t temp;
-       int8_t *p;
-       int16_t *val;
-       
-       val=buffer;
-
-       for (i=0; i<samples; i++)
-       {
-               p=(int8_t *) val;               
-               temp=*p;
-               *p=*++p;
-               *p=temp;                
-               val++;
-       }
-}
-
-
-/* The following main() is just for testing */
-
-#ifdef TEST_ENDIAN
-
-#include <netinet/in.h>
-
-int main(int argc, char **argv)
-{
-       int16_t t16=0x1234;
-       int32_t t32=0x12345678;
-       
-       int16_t buffer[8]={0x1234, 0x5678, 0x9ABC, 0xDEF0, 10, 20, 30, 0};
-
-       int i;
-       
-       printf("16: %4x\n", (int) t16);
-       swap16(&t16);
-       printf("16: %4x\n", (int) t16);
-       swap16(&t16);
-       printf("16: %4x\n", (int) t16);
-       t16=htons(t16);
-       printf("16: %4x\n", (int) t16);
-       t16=htons(t16);
-       printf("16: %4x\n", (int) t16);
-
-       printf("32: %8x\n", (int) t32);
-       swap32(&t32);
-       printf("32: %8x\n", (int) t32);
-       swap32(&t32);
-       printf("32: %8x\n", (int) t32);
-       t32=htonl(t32);
-       printf("32: %8x\n", (int) t32);
-       t32=htonl(t32);
-       printf("32: %8x\n", (int) t32);
-       
-       printf("buf: ");
-       for (i=0; i<8; i++) printf("%4hx ", buffer[i]); 
-       swapbuffer(buffer, 8);
-       printf("\nbuf: ");      
-       for (i=0; i<8; i++) printf("%4hx ",  buffer[i]);
-       swapbuffer(buffer, 8);
-       printf("\nbuf: ");      
-       for (i=0; i<8; i++) printf("%4hx ", buffer[i]);
-       
-       puts("\nDone.\n");
-}
-#endif
-
-#endif
diff --git a/src/endian.h b/src/endian.h
deleted file mode 100644 (file)
index d20c14b..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-    terminatorX - realtime audio scratching software
-    Copyright (C) 1999  Alexander König
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-    File: endian.h
-    Description: header to endian.c
-    
-    27 apr 1999: include config.h to automatically recognize 
-                big endian machines via configure.
-*/    
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#ifdef WORDS_BIGENDIAN
-#define BIG_ENDIAN_MACHINE 1
-#else
-#undef BIG_ENDIAN_MACHINE
-#endif
-#endif
-
-#if defined (BIG_ENDIAN_MACHINE) || defined(BIG_ENDIAN_AUDIO)
-
-#include "tX_types.h"
-
-extern void swap16(int16_t * val);
-extern void swap32(int32_t * val);
-extern void swapbuffer(int16_t *buffer, int samples);
-
-#endif
diff --git a/src/licmak.awk b/src/licmak.awk
deleted file mode 100644 (file)
index 56bdb83..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-BEGIN   { printf "char license[]=\"\\\n" }
-{ gsub(/\"/,"\\\"") ; printf $0"\\n\\\n" }
-END     { printf "\";\n" }
\ No newline at end of file
diff --git a/src/main.cc b/src/main.cc
deleted file mode 100644 (file)
index 732727b..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
-    terminatorX - realtime audio scratching software
-    Copyright (C) 1999  Alexander K÷nig
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-    
-    File: main.c
-    
-    Description: This contains the main() function. All the initializing
-                happens here.
-    
-    Changes:
-    
-    19 Mar 1999: Applied a patch by Andrew C. Bul+hac?k (eMail: acb@zikzak.net)
-                 that fixes wavfile reading routine for the overreading bug.
-                
-    20 Mar 1999: Big endian support.
-    
-    23 Mar 1999: display of new keys (<-, ->)
-    
-    4 October 1999: Rewrite ;) - back to C++
-*/
-
-#include <stdio.h>
-#include "tX_mastergui.h"
-#include <malloc.h>
-#include <math.h>
-#include <stdio.h>
-#ifndef WIN32
-#include <unistd.h>
-#endif
-
-#ifdef USE_3DNOW
-#include "3dnow.h"
-#endif
-
-#include "endian.h"
-#include "tX_types.h"
-#include "tX_wavfunc.h"
-#include "tX_global.h"
-#include "version.h"
-#include "tX_dialog.h"
-#include <gtk/gtk.h>
-#include <glib.h>
-
-GTimer *my_time;
-gint idle_tag;
-/* main(): */
-
-void idle()
-{
-       gdouble time;
-       gulong ms;
-       
-       time=g_timer_elapsed(my_time, &ms);
-       if (time > 1.5)
-       {
-               gtk_idle_remove(idle_tag);
-               destroy_about();                
-               display_mastergui();            
-       }
-}
-
-int main(int argc, char **argv)
-{
-#ifndef WIN32
-       fprintf(stderr, "%s, Copyright(C)1999 Alexander König, alkoit00@fht-esslingen.de\n", VERSIONSTRING);
-#else
-        fprintf(stderr, "%s, Copyright(C)1999 Alexander König, alkoit00@fht-esslingen.de\n", VERSIONSTRING);
-        setenv ("CYGWIN", "binmode");
-#endif
-       fprintf(stderr, "terminatorX comes with ABSOLUTELY NO WARRANTY - for details read the license.\n");
-
-#ifdef USE_3DNOW
-       if (mm_support()!=5)
-       {
-               printf("3DNow! not detected. Giving up.\n");
-               return(1);
-       }
-       else
-        printf("3DNow! accelerations available.\n");   
-#endif
-
-#ifndef CREATE_BENCHMARK
-
-        gtk_init (&argc, &argv);         
-
-       load_globals();         
-
-       if (globals.show_nag)
-       {       
-               show_about(1);
-
-               my_time=g_timer_new();
-               g_timer_start(my_time);         
-       
-               idle_tag=gtk_idle_add((GtkFunction)idle, NULL);
-       }
-       /*      
-       if (strlen(globals.scratch_name))
-       {
-               fprintf (stderr, "Loading: %s\n", globals.scratch_name);
-               if (load_wav(globals.scratch_name, &globals.scratch_data, &globals.scratch_size))
-               {
-                       strcpy(globals.scratch_name , "");
-                       globals.scratch_size=0;
-                       globals.scratch_len=0;
-               }
-               {
-                       globals.scratch_len=globals.scratch_size/sizeof(int16_t);
-               }
-       }
-
-       if  (strlen(globals.loop_name))
-       {
-               fprintf (stderr, "Loading: %s\n", globals.loop_name);
-               if (load_wav(globals.loop_name, &globals.loop_data, &globals.loop_size))
-               {
-                       strcpy(globals.loop_name , "");
-                       globals.loop_size=0;
-                       globals.loop_len=0;
-                       globals.do_mix=0;
-               }
-               {
-                       globals.loop_len=globals.loop_size/sizeof(int16_t);
-               }
-       }
-       else
-       {
-               globals.do_mix=0;
-       } */
-       
-       globals.rec_buffer=0;
-               
-       create_mastergui(globals.width, globals.height);
-               
-       if (!globals.show_nag)  display_mastergui();
-               
-       gtk_main();
-
-       if (globals.scratch_data) free(globals.scratch_data);
-       if (globals.loop_data) free(globals.loop_data);
-       if (globals.rec_buffer) free(globals.rec_buffer);
-       
-       store_globals();
-
-       fprintf(stderr, "Have a nice life.\n");
-       
-       return (0);
-#else
-#endif
-       return (0);
-}
diff --git a/src/mmx.h b/src/mmx.h
deleted file mode 100644 (file)
index 6e87e5c..0000000
--- a/src/mmx.h
+++ /dev/null
@@ -1,710 +0,0 @@
-/*     mmx.h
-
-       MultiMedia eXtensions GCC interface library for IA32.
-
-       To use this library, simply include this header file
-       and compile with GCC.  You MUST have inlining enabled
-       in order for mmx_ok() to work; this can be done by
-       simply using -O on the GCC command line.
-
-       Compiling with -DMMX_TRACE will cause detailed trace
-       output to be sent to stderr for each mmx operation.
-       This adds lots of code, and obviously slows execution to
-       a crawl, but can be very useful for debugging.
-
-       THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY
-       EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT
-       LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY
-       AND FITNESS FOR ANY PARTICULAR PURPOSE.
-
-       1997-99 by H. Dietz and R. Fisher
-
- Notes:
-       It appears that the latest gas has the pand problem fixed, therefore
-         I'll undefine BROKEN_PAND by default.
-*/
-
-#ifndef _MMX_H
-#define _MMX_H
-
-
-/*     Warning:  at this writing, the version of GAS packaged
-       with most Linux distributions does not handle the
-       parallel AND operation mnemonic correctly.  If the
-       symbol BROKEN_PAND is defined, a slower alternative
-       coding will be used.  If execution of mmxtest results
-       in an illegal instruction fault, define this symbol.
-*/
-#undef BROKEN_PAND
-
-
-/*     The type of an value that fits in an MMX register
-       (note that long long constant values MUST be suffixed
-        by LL and unsigned long long values by ULL, lest
-        they be truncated by the compiler)
-*/
-typedef        union {
-       long long               q;      /* Quadword (64-bit) value */
-       unsigned long long      uq;     /* Unsigned Quadword */
-       int                     d[2];   /* 2 Doubleword (32-bit) values */
-       unsigned int            ud[2];  /* 2 Unsigned Doubleword */
-       short                   w[4];   /* 4 Word (16-bit) values */
-       unsigned short          uw[4];  /* 4 Unsigned Word */
-       char                    b[8];   /* 8 Byte (8-bit) values */
-       unsigned char           ub[8];  /* 8 Unsigned Byte */
-       float                   s[2];   /* Single-precision (32-bit) value */
-} __attribute__ ((aligned (8))) mmx_t; /* On an 8-byte (64-bit) boundary */
-
-
-
-/*     Function to test if multimedia instructions are supported...
-*/
-#ifdef NEED_EXTERN
-inline int extern
-#else
-inline int
-#endif
-mm_support(void)
-{
-       /* Returns 1 if MMX instructions are supported,
-          3 if Cyrix MMX and Extended MMX instructions are supported
-          5 if AMD MMX and 3DNow! instructions are supported
-          0 if hardware does not support any of these
-       */
-       register int rval = 0;
-
-       __asm__ __volatile__ (
-               /* See if CPUID instruction is supported ... */
-               /* ... Get copies of EFLAGS into eax and ecx */
-               "pushf\n\t"
-               "popl %%eax\n\t"
-               "movl %%eax, %%ecx\n\t"
-
-               /* ... Toggle the ID bit in one copy and store */
-               /*     to the EFLAGS reg */
-               "xorl $0x200000, %%eax\n\t"
-               "push %%eax\n\t"
-               "popf\n\t"
-
-               /* ... Get the (hopefully modified) EFLAGS */
-               "pushf\n\t"
-               "popl %%eax\n\t"
-
-               /* ... Compare and test result */
-               "xorl %%eax, %%ecx\n\t"
-               "testl $0x200000, %%ecx\n\t"
-               "jz NotSupported1\n\t"          /* CPUID not supported */
-
-
-               /* Get standard CPUID information, and
-                      go to a specific vendor section */
-               "movl $0, %%eax\n\t"
-               "cpuid\n\t"
-
-               /* Check for Intel */
-               "cmpl $0x756e6547, %%ebx\n\t"
-               "jne TryAMD\n\t"
-               "cmpl $0x49656e69, %%edx\n\t"
-               "jne TryAMD\n\t"
-               "cmpl $0x6c65746e, %%ecx\n"
-               "jne TryAMD\n\t"
-               "jmp Intel\n\t"
-
-               /* Check for AMD */
-               "\nTryAMD:\n\t"
-               "cmpl $0x68747541, %%ebx\n\t"
-               "jne TryCyrix\n\t"
-               "cmpl $0x69746e65, %%edx\n\t"
-               "jne TryCyrix\n\t"
-               "cmpl $0x444d4163, %%ecx\n"
-               "jne TryCyrix\n\t"
-               "jmp AMD\n\t"
-
-               /* Check for Cyrix */
-               "\nTryCyrix:\n\t"
-               "cmpl $0x69727943, %%ebx\n\t"
-               "jne NotSupported2\n\t"
-               "cmpl $0x736e4978, %%edx\n\t"
-               "jne NotSupported3\n\t"
-               "cmpl $0x64616574, %%ecx\n\t"
-               "jne NotSupported4\n\t"
-               /* Drop through to Cyrix... */
-
-
-               /* Cyrix Section */
-               /* See if extended CPUID level 80000001 is supported */
-               /* The value of CPUID/80000001 for the 6x86MX is undefined
-                  according to the Cyrix CPU Detection Guide (Preliminary
-                  Rev. 1.01 table 1), so we'll check the value of eax for
-                  CPUID/0 to see if standard CPUID level 2 is supported.
-                  According to the table, the only CPU which supports level
-                  2 is also the only one which supports extended CPUID levels.
-               */
-               "cmpl $0x2, %%eax\n\t"
-               "jne MMXtest\n\t"       /* Use standard CPUID instead */
-
-               /* Extended CPUID supported (in theory), so get extended
-                  features */
-               "movl $0x80000001, %%eax\n\t"
-               "cpuid\n\t"
-               "testl $0x00800000, %%eax\n\t"  /* Test for MMX */
-               "jz NotSupported5\n\t"          /* MMX not supported */
-               "testl $0x01000000, %%eax\n\t"  /* Test for Ext'd MMX */
-               "jnz EMMXSupported\n\t"
-               "movl $1, %0:\n\n\t"            /* MMX Supported */
-               "jmp Return\n\n"
-               "EMMXSupported:\n\t"
-               "movl $3, %0:\n\n\t"            /* EMMX and MMX Supported */
-               "jmp Return\n\t"
-
-
-               /* AMD Section */
-               "AMD:\n\t"
-
-               /* See if extended CPUID is supported */
-               "movl $0x80000000, %%eax\n\t"
-               "cpuid\n\t"
-               "cmpl $0x80000000, %%eax\n\t"
-               "jl MMXtest\n\t"        /* Use standard CPUID instead */
-
-               /* Extended CPUID supported, so get extended features */
-               "movl $0x80000001, %%eax\n\t"
-               "cpuid\n\t"
-               "testl $0x00800000, %%edx\n\t"  /* Test for MMX */
-               "jz NotSupported6\n\t"          /* MMX not supported */
-               "testl $0x80000000, %%edx\n\t"  /* Test for 3DNow! */
-               "jnz ThreeDNowSupported\n\t"
-               "movl $1, %0:\n\n\t"            /* MMX Supported */
-               "jmp Return\n\n"
-               "ThreeDNowSupported:\n\t"
-               "movl $5, %0:\n\n\t"            /* 3DNow! and MMX Supported */
-               "jmp Return\n\t"
-
-
-               /* Intel Section */
-               "Intel:\n\t"
-
-               /* Check for MMX */
-               "MMXtest:\n\t"
-               "movl $1, %%eax\n\t"
-               "cpuid\n\t"
-               "testl $0x00800000, %%edx\n\t"  /* Test for MMX */
-               "jz NotSupported7\n\t"          /* MMX Not supported */
-               "movl $1, %0:\n\n\t"            /* MMX Supported */
-               "jmp Return\n\t"
-
-               /* Nothing supported */
-               "\nNotSupported1:\n\t"
-               "#movl $101, %0:\n\n\t"
-               "\nNotSupported2:\n\t"
-               "#movl $102, %0:\n\n\t"
-               "\nNotSupported3:\n\t"
-               "#movl $103, %0:\n\n\t"
-               "\nNotSupported4:\n\t"
-               "#movl $104, %0:\n\n\t"
-               "\nNotSupported5:\n\t"
-               "#movl $105, %0:\n\n\t"
-               "\nNotSupported6:\n\t"
-               "#movl $106, %0:\n\n\t"
-               "\nNotSupported7:\n\t"
-               "#movl $107, %0:\n\n\t"
-               "movl $0, %0:\n\n\t"
-
-               "Return:\n\t"
-               : "=a" (rval)
-               : /* no input */
-               : "eax", "ebx", "ecx", "edx"
-       );
-
-       /* Return */
-       return(rval);
-}
-
-/*     Function to test if mmx instructions are supported...
-*/
-inline extern int
-mmx_ok(void)
-{
-       /* Returns 1 if MMX instructions are supported, 0 otherwise */
-       return ( mm_support() & 0x1 );
-}
-
-
-/*     Helper functions for the instruction macros that follow...
-       (note that memory-to-register, m2r, instructions are nearly
-        as efficient as register-to-register, r2r, instructions;
-        however, memory-to-memory instructions are really simulated
-        as a convenience, and are only 1/3 as efficient)
-*/
-#ifdef MMX_TRACE
-
-/*     Include the stuff for printing a trace to stderr...
-*/
-
-#include <stdio.h>
-
-#define        mmx_i2r(op, imm, reg) \
-       { \
-               mmx_t mmx_trace; \
-               mmx_trace.uq = (imm); \
-               fprintf(stderr, #op "_i2r(" #imm "=0x%08x%08x, ", \
-                       mmx_trace.d[1], mmx_trace.d[0]); \
-               __asm__ __volatile__ ("movq %%" #reg ", %0" \
-                                     : "=X" (mmx_trace) \
-                                     : /* nothing */ ); \
-               fprintf(stderr, #reg "=0x%08x%08x) => ", \
-                       mmx_trace.d[1], mmx_trace.d[0]); \
-               __asm__ __volatile__ (#op " %0, %%" #reg \
-                                     : /* nothing */ \
-                                     : "X" (imm)); \
-               __asm__ __volatile__ ("movq %%" #reg ", %0" \
-                                     : "=X" (mmx_trace) \
-                                     : /* nothing */ ); \
-               fprintf(stderr, #reg "=0x%08x%08x\n", \
-                       mmx_trace.d[1], mmx_trace.d[0]); \
-       }
-
-#define        mmx_m2r(op, mem, reg) \
-       { \
-               mmx_t mmx_trace; \
-               mmx_trace = (mem); \
-               fprintf(stderr, #op "_m2r(" #mem "=0x%08x%08x, ", \
-                       mmx_trace.d[1], mmx_trace.d[0]); \
-               __asm__ __volatile__ ("movq %%" #reg ", %0" \
-                                     : "=X" (mmx_trace) \
-                                     : /* nothing */ ); \
-               fprintf(stderr, #reg "=0x%08x%08x) => ", \
-                       mmx_trace.d[1], mmx_trace.d[0]); \
-               __asm__ __volatile__ (#op " %0, %%" #reg \
-                                     : /* nothing */ \
-                                     : "X" (mem)); \
-               __asm__ __volatile__ ("movq %%" #reg ", %0" \
-                                     : "=X" (mmx_trace) \
-                                     : /* nothing */ ); \
-               fprintf(stderr, #reg "=0x%08x%08x\n", \
-                       mmx_trace.d[1], mmx_trace.d[0]); \
-       }
-
-#define        mmx_r2m(op, reg, mem) \
-       { \
-               mmx_t mmx_trace; \
-               __asm__ __volatile__ ("movq %%" #reg ", %0" \
-                                     : "=X" (mmx_trace) \
-                                     : /* nothing */ ); \
-               fprintf(stderr, #op "_r2m(" #reg "=0x%08x%08x, ", \
-                       mmx_trace.d[1], mmx_trace.d[0]); \
-               mmx_trace = (mem); \
-               fprintf(stderr, #mem "=0x%08x%08x) => ", \
-                       mmx_trace.d[1], mmx_trace.d[0]); \
-               __asm__ __volatile__ (#op " %%" #reg ", %0" \
-                                     : "=X" (mem) \
-                                     : /* nothing */ ); \
-               mmx_trace = (mem); \
-               fprintf(stderr, #mem "=0x%08x%08x\n", \
-                       mmx_trace.d[1], mmx_trace.d[0]); \
-       }
-
-#define        mmx_r2r(op, regs, regd) \
-       { \
-               mmx_t mmx_trace; \
-               __asm__ __volatile__ ("movq %%" #regs ", %0" \
-                                     : "=X" (mmx_trace) \
-                                     : /* nothing */ ); \
-               fprintf(stderr, #op "_r2r(" #regs "=0x%08x%08x, ", \
-                       mmx_trace.d[1], mmx_trace.d[0]); \
-               __asm__ __volatile__ ("movq %%" #regd ", %0" \
-                                     : "=X" (mmx_trace) \
-                                     : /* nothing */ ); \
-               fprintf(stderr, #regd "=0x%08x%08x) => ", \
-                       mmx_trace.d[1], mmx_trace.d[0]); \
-               __asm__ __volatile__ (#op " %" #regs ", %" #regd); \
-               __asm__ __volatile__ ("movq %%" #regd ", %0" \
-                                     : "=X" (mmx_trace) \
-                                     : /* nothing */ ); \
-               fprintf(stderr, #regd "=0x%08x%08x\n", \
-                       mmx_trace.d[1], mmx_trace.d[0]); \
-       }
-
-#define        mmx_m2m(op, mems, memd) \
-       { \
-               mmx_t mmx_trace; \
-               mmx_trace = (mems); \
-               fprintf(stderr, #op "_m2m(" #mems "=0x%08x%08x, ", \
-                       mmx_trace.d[1], mmx_trace.d[0]); \
-               mmx_trace = (memd); \
-               fprintf(stderr, #memd "=0x%08x%08x) => ", \
-                       mmx_trace.d[1], mmx_trace.d[0]); \
-               __asm__ __volatile__ ("movq %0, %%mm0\n\t" \
-                                     #op " %1, %%mm0\n\t" \
-                                     "movq %%mm0, %0" \
-                                     : "=X" (memd) \
-                                     : "X" (mems)); \
-               mmx_trace = (memd); \
-               fprintf(stderr, #memd "=0x%08x%08x\n", \
-                       mmx_trace.d[1], mmx_trace.d[0]); \
-       }
-
-#else
-
-/*     These macros are a lot simpler without the tracing...
-*/
-
-#define        mmx_i2r(op, imm, reg) \
-       __asm__ __volatile__ (#op " %0, %%" #reg \
-                             : /* nothing */ \
-                             : "X" (imm) )
-
-#define        mmx_m2r(op, mem, reg) \
-       __asm__ __volatile__ (#op " %0, %%" #reg \
-                             : /* nothing */ \
-                             : "X" (mem))
-
-#define        mmx_r2m(op, reg, mem) \
-       __asm__ __volatile__ (#op " %%" #reg ", %0" \
-                             : "=X" (mem) \
-                             : /* nothing */ )
-
-#define        mmx_r2r(op, regs, regd) \
-       __asm__ __volatile__ (#op " %" #regs ", %" #regd)
-
-#define        mmx_m2m(op, mems, memd) \
-       __asm__ __volatile__ ("movq %0, %%mm0\n\t" \
-                             #op " %1, %%mm0\n\t" \
-                             "movq %%mm0, %0" \
-                             : "=X" (memd) \
-                             : "X" (mems))
-
-#endif
-
-
-/*     1x64 MOVe Quadword
-       (this is both a load and a store...
-        in fact, it is the only way to store)
-*/
-#define        movq_m2r(var, reg)      mmx_m2r(movq, var, reg)
-#define        movq_r2m(reg, var)      mmx_r2m(movq, reg, var)
-#define        movq_r2r(regs, regd)    mmx_r2r(movq, regs, regd)
-#define        movq(vars, vard) \
-       __asm__ __volatile__ ("movq %1, %%mm0\n\t" \
-                             "movq %%mm0, %0" \
-                             : "=X" (vard) \
-                             : "X" (vars))
-
-
-/*     1x32 MOVe Doubleword
-       (like movq, this is both load and store...
-        but is most useful for moving things between
-        mmx registers and ordinary registers)
-*/
-#define        movd_m2r(var, reg)      mmx_m2r(movd, var, reg)
-#define        movd_r2m(reg, var)      mmx_r2m(movd, reg, var)
-#define        movd_r2r(regs, regd)    mmx_r2r(movd, regs, regd)
-#define        movd(vars, vard) \
-       __asm__ __volatile__ ("movd %1, %%mm0\n\t" \
-                             "movd %%mm0, %0" \
-                             : "=X" (vard) \
-                             : "X" (vars))
-
-
-/*     2x32, 4x16, and 8x8 Parallel ADDs
-*/
-#define        paddd_m2r(var, reg)     mmx_m2r(paddd, var, reg)
-#define        paddd_r2r(regs, regd)   mmx_r2r(paddd, regs, regd)
-#define        paddd(vars, vard)       mmx_m2m(paddd, vars, vard)
-
-#define        paddw_m2r(var, reg)     mmx_m2r(paddw, var, reg)
-#define        paddw_r2r(regs, regd)   mmx_r2r(paddw, regs, regd)
-#define        paddw(vars, vard)       mmx_m2m(paddw, vars, vard)
-
-#define        paddb_m2r(var, reg)     mmx_m2r(paddb, var, reg)
-#define        paddb_r2r(regs, regd)   mmx_r2r(paddb, regs, regd)
-#define        paddb(vars, vard)       mmx_m2m(paddb, vars, vard)
-
-
-/*     4x16 and 8x8 Parallel ADDs using Saturation arithmetic
-*/
-#define        paddsw_m2r(var, reg)    mmx_m2r(paddsw, var, reg)
-#define        paddsw_r2r(regs, regd)  mmx_r2r(paddsw, regs, regd)
-#define        paddsw(vars, vard)      mmx_m2m(paddsw, vars, vard)
-
-#define        paddsb_m2r(var, reg)    mmx_m2r(paddsb, var, reg)
-#define        paddsb_r2r(regs, regd)  mmx_r2r(paddsb, regs, regd)
-#define        paddsb(vars, vard)      mmx_m2m(paddsb, vars, vard)
-
-
-/*     4x16 and 8x8 Parallel ADDs using Unsigned Saturation arithmetic
-*/
-#define        paddusw_m2r(var, reg)   mmx_m2r(paddusw, var, reg)
-#define        paddusw_r2r(regs, regd) mmx_r2r(paddusw, regs, regd)
-#define        paddusw(vars, vard)     mmx_m2m(paddusw, vars, vard)
-
-#define        paddusb_m2r(var, reg)   mmx_m2r(paddusb, var, reg)
-#define        paddusb_r2r(regs, regd) mmx_r2r(paddusb, regs, regd)
-#define        paddusb(vars, vard)     mmx_m2m(paddusb, vars, vard)
-
-
-/*     2x32, 4x16, and 8x8 Parallel SUBs
-*/
-#define        psubd_m2r(var, reg)     mmx_m2r(psubd, var, reg)
-#define        psubd_r2r(regs, regd)   mmx_r2r(psubd, regs, regd)
-#define        psubd(vars, vard)       mmx_m2m(psubd, vars, vard)
-
-#define        psubw_m2r(var, reg)     mmx_m2r(psubw, var, reg)
-#define        psubw_r2r(regs, regd)   mmx_r2r(psubw, regs, regd)
-#define        psubw(vars, vard)       mmx_m2m(psubw, vars, vard)
-
-#define        psubb_m2r(var, reg)     mmx_m2r(psubb, var, reg)
-#define        psubb_r2r(regs, regd)   mmx_r2r(psubb, regs, regd)
-#define        psubb(vars, vard)       mmx_m2m(psubb, vars, vard)
-
-
-/*     4x16 and 8x8 Parallel SUBs using Saturation arithmetic
-*/
-#define        psubsw_m2r(var, reg)    mmx_m2r(psubsw, var, reg)
-#define        psubsw_r2r(regs, regd)  mmx_r2r(psubsw, regs, regd)
-#define        psubsw(vars, vard)      mmx_m2m(psubsw, vars, vard)
-
-#define        psubsb_m2r(var, reg)    mmx_m2r(psubsb, var, reg)
-#define        psubsb_r2r(regs, regd)  mmx_r2r(psubsb, regs, regd)
-#define        psubsb(vars, vard)      mmx_m2m(psubsb, vars, vard)
-
-
-/*     4x16 and 8x8 Parallel SUBs using Unsigned Saturation arithmetic
-*/
-#define        psubusw_m2r(var, reg)   mmx_m2r(psubusw, var, reg)
-#define        psubusw_r2r(regs, regd) mmx_r2r(psubusw, regs, regd)
-#define        psubusw(vars, vard)     mmx_m2m(psubusw, vars, vard)
-
-#define        psubusb_m2r(var, reg)   mmx_m2r(psubusb, var, reg)
-#define        psubusb_r2r(regs, regd) mmx_r2r(psubusb, regs, regd)
-#define        psubusb(vars, vard)     mmx_m2m(psubusb, vars, vard)
-
-
-/*     4x16 Parallel MULs giving Low 4x16 portions of results
-*/
-#define        pmullw_m2r(var, reg)    mmx_m2r(pmullw, var, reg)
-#define        pmullw_r2r(regs, regd)  mmx_r2r(pmullw, regs, regd)
-#define        pmullw(vars, vard)      mmx_m2m(pmullw, vars, vard)
-
-
-/*     4x16 Parallel MULs giving High 4x16 portions of results
-*/
-#define        pmulhw_m2r(var, reg)    mmx_m2r(pmulhw, var, reg)
-#define        pmulhw_r2r(regs, regd)  mmx_r2r(pmulhw, regs, regd)
-#define        pmulhw(vars, vard)      mmx_m2m(pmulhw, vars, vard)
-
-
-/*     4x16->2x32 Parallel Mul-ADD
-       (muls like pmullw, then adds adjacent 16-bit fields
-        in the multiply result to make the final 2x32 result)
-*/
-#define        pmaddwd_m2r(var, reg)   mmx_m2r(pmaddwd, var, reg)
-#define        pmaddwd_r2r(regs, regd) mmx_r2r(pmaddwd, regs, regd)
-#define        pmaddwd(vars, vard)     mmx_m2m(pmaddwd, vars, vard)
-
-
-/*     1x64 bitwise AND
-*/
-#ifdef BROKEN_PAND
-#define        pand_m2r(var, reg) \
-       { \
-               mmx_m2r(pandn, (mmx_t) -1LL, reg); \
-               mmx_m2r(pandn, var, reg); \
-       }
-#define        pand_r2r(regs, regd) \
-       { \
-               mmx_m2r(pandn, (mmx_t) -1LL, regd); \
-               mmx_r2r(pandn, regs, regd) \
-       }
-#define        pand(vars, vard) \
-       { \
-               movq_m2r(vard, mm0); \
-               mmx_m2r(pandn, (mmx_t) -1LL, mm0); \
-               mmx_m2r(pandn, vars, mm0); \
-               movq_r2m(mm0, vard); \
-       }
-#else
-#define        pand_m2r(var, reg)      mmx_m2r(pand, var, reg)
-#define        pand_r2r(regs, regd)    mmx_r2r(pand, regs, regd)
-#define        pand(vars, vard)        mmx_m2m(pand, vars, vard)
-#endif
-
-
-/*     1x64 bitwise AND with Not the destination
-*/
-#define        pandn_m2r(var, reg)     mmx_m2r(pandn, var, reg)
-#define        pandn_r2r(regs, regd)   mmx_r2r(pandn, regs, regd)
-#define        pandn(vars, vard)       mmx_m2m(pandn, vars, vard)
-
-
-/*     1x64 bitwise OR
-*/
-#define        por_m2r(var, reg)       mmx_m2r(por, var, reg)
-#define        por_r2r(regs, regd)     mmx_r2r(por, regs, regd)
-#define        por(vars, vard) mmx_m2m(por, vars, vard)
-
-
-/*     1x64 bitwise eXclusive OR
-*/
-#define        pxor_m2r(var, reg)      mmx_m2r(pxor, var, reg)
-#define        pxor_r2r(regs, regd)    mmx_r2r(pxor, regs, regd)
-#define        pxor(vars, vard)        mmx_m2m(pxor, vars, vard)
-
-
-/*     2x32, 4x16, and 8x8 Parallel CoMPare for EQuality
-       (resulting fields are either 0 or -1)
-*/
-#define        pcmpeqd_m2r(var, reg)   mmx_m2r(pcmpeqd, var, reg)
-#define        pcmpeqd_r2r(regs, regd) mmx_r2r(pcmpeqd, regs, regd)
-#define        pcmpeqd(vars, vard)     mmx_m2m(pcmpeqd, vars, vard)
-
-#define        pcmpeqw_m2r(var, reg)   mmx_m2r(pcmpeqw, var, reg)
-#define        pcmpeqw_r2r(regs, regd) mmx_r2r(pcmpeqw, regs, regd)
-#define        pcmpeqw(vars, vard)     mmx_m2m(pcmpeqw, vars, vard)
-
-#define        pcmpeqb_m2r(var, reg)   mmx_m2r(pcmpeqb, var, reg)
-#define        pcmpeqb_r2r(regs, regd) mmx_r2r(pcmpeqb, regs, regd)
-#define        pcmpeqb(vars, vard)     mmx_m2m(pcmpeqb, vars, vard)
-
-
-/*     2x32, 4x16, and 8x8 Parallel CoMPare for Greater Than
-       (resulting fields are either 0 or -1)
-*/
-#define        pcmpgtd_m2r(var, reg)   mmx_m2r(pcmpgtd, var, reg)
-#define        pcmpgtd_r2r(regs, regd) mmx_r2r(pcmpgtd, regs, regd)
-#define        pcmpgtd(vars, vard)     mmx_m2m(pcmpgtd, vars, vard)
-
-#define        pcmpgtw_m2r(var, reg)   mmx_m2r(pcmpgtw, var, reg)
-#define        pcmpgtw_r2r(regs, regd) mmx_r2r(pcmpgtw, regs, regd)
-#define        pcmpgtw(vars, vard)     mmx_m2m(pcmpgtw, vars, vard)
-
-#define        pcmpgtb_m2r(var, reg)   mmx_m2r(pcmpgtb, var, reg)
-#define        pcmpgtb_r2r(regs, regd) mmx_r2r(pcmpgtb, regs, regd)
-#define        pcmpgtb(vars, vard)     mmx_m2m(pcmpgtb, vars, vard)
-
-
-/*     1x64, 2x32, and 4x16 Parallel Shift Left Logical
-*/
-#define        psllq_i2r(imm, reg)     mmx_i2r(psllq, imm, reg)
-#define        psllq_m2r(var, reg)     mmx_m2r(psllq, var, reg)
-#define        psllq_r2r(regs, regd)   mmx_r2r(psllq, regs, regd)
-#define        psllq(vars, vard)       mmx_m2m(psllq, vars, vard)
-
-#define        pslld_i2r(imm, reg)     mmx_i2r(pslld, imm, reg)
-#define        pslld_m2r(var, reg)     mmx_m2r(pslld, var, reg)
-#define        pslld_r2r(regs, regd)   mmx_r2r(pslld, regs, regd)
-#define        pslld(vars, vard)       mmx_m2m(pslld, vars, vard)
-
-#define        psllw_i2r(imm, reg)     mmx_i2r(psllw, imm, reg)
-#define        psllw_m2r(var, reg)     mmx_m2r(psllw, var, reg)
-#define        psllw_r2r(regs, regd)   mmx_r2r(psllw, regs, regd)
-#define        psllw(vars, vard)       mmx_m2m(psllw, vars, vard)
-
-
-/*     1x64, 2x32, and 4x16 Parallel Shift Right Logical
-*/
-#define        psrlq_i2r(imm, reg)     mmx_i2r(psrlq, imm, reg)
-#define        psrlq_m2r(var, reg)     mmx_m2r(psrlq, var, reg)
-#define        psrlq_r2r(regs, regd)   mmx_r2r(psrlq, regs, regd)
-#define        psrlq(vars, vard)       mmx_m2m(psrlq, vars, vard)
-
-#define        psrld_i2r(imm, reg)     mmx_i2r(psrld, imm, reg)
-#define        psrld_m2r(var, reg)     mmx_m2r(psrld, var, reg)
-#define        psrld_r2r(regs, regd)   mmx_r2r(psrld, regs, regd)
-#define        psrld(vars, vard)       mmx_m2m(psrld, vars, vard)
-
-#define        psrlw_i2r(imm, reg)     mmx_i2r(psrlw, imm, reg)
-#define        psrlw_m2r(var, reg)     mmx_m2r(psrlw, var, reg)
-#define        psrlw_r2r(regs, regd)   mmx_r2r(psrlw, regs, regd)
-#define        psrlw(vars, vard)       mmx_m2m(psrlw, vars, vard)
-
-
-/*     2x32 and 4x16 Parallel Shift Right Arithmetic
-*/
-#define        psrad_i2r(imm, reg)     mmx_i2r(psrad, imm, reg)
-#define        psrad_m2r(var, reg)     mmx_m2r(psrad, var, reg)
-#define        psrad_r2r(regs, regd)   mmx_r2r(psrad, regs, regd)
-#define        psrad(vars, vard)       mmx_m2m(psrad, vars, vard)
-
-#define        psraw_i2r(imm, reg)     mmx_i2r(psraw, imm, reg)
-#define        psraw_m2r(var, reg)     mmx_m2r(psraw, var, reg)
-#define        psraw_r2r(regs, regd)   mmx_r2r(psraw, regs, regd)
-#define        psraw(vars, vard)       mmx_m2m(psraw, vars, vard)
-
-
-/*     2x32->4x16 and 4x16->8x8 PACK and Signed Saturate
-       (packs source and dest fields into dest in that order)
-*/
-#define        packssdw_m2r(var, reg)  mmx_m2r(packssdw, var, reg)
-#define        packssdw_r2r(regs, regd) mmx_r2r(packssdw, regs, regd)
-#define        packssdw(vars, vard)    mmx_m2m(packssdw, vars, vard)
-
-#define        packsswb_m2r(var, reg)  mmx_m2r(packsswb, var, reg)
-#define        packsswb_r2r(regs, regd) mmx_r2r(packsswb, regs, regd)
-#define        packsswb(vars, vard)    mmx_m2m(packsswb, vars, vard)
-
-
-/*     4x16->8x8 PACK and Unsigned Saturate
-       (packs source and dest fields into dest in that order)
-*/
-#define        packuswb_m2r(var, reg)  mmx_m2r(packuswb, var, reg)
-#define        packuswb_r2r(regs, regd) mmx_r2r(packuswb, regs, regd)
-#define        packuswb(vars, vard)    mmx_m2m(packuswb, vars, vard)
-
-
-/*     2x32->1x64, 4x16->2x32, and 8x8->4x16 UNPaCK Low
-       (interleaves low half of dest with low half of source
-        as padding in each result field)
-*/
-#define        punpckldq_m2r(var, reg) mmx_m2r(punpckldq, var, reg)
-#define        punpckldq_r2r(regs, regd) mmx_r2r(punpckldq, regs, regd)
-#define        punpckldq(vars, vard)   mmx_m2m(punpckldq, vars, vard)
-
-#define        punpcklwd_m2r(var, reg) mmx_m2r(punpcklwd, var, reg)
-#define        punpcklwd_r2r(regs, regd) mmx_r2r(punpcklwd, regs, regd)
-#define        punpcklwd(vars, vard)   mmx_m2m(punpcklwd, vars, vard)
-
-#define        punpcklbw_m2r(var, reg) mmx_m2r(punpcklbw, var, reg)
-#define        punpcklbw_r2r(regs, regd) mmx_r2r(punpcklbw, regs, regd)
-#define        punpcklbw(vars, vard)   mmx_m2m(punpcklbw, vars, vard)
-
-
-/*     2x32->1x64, 4x16->2x32, and 8x8->4x16 UNPaCK High
-       (interleaves high half of dest with high half of source
-        as padding in each result field)
-*/
-#define        punpckhdq_m2r(var, reg) mmx_m2r(punpckhdq, var, reg)
-#define        punpckhdq_r2r(regs, regd) mmx_r2r(punpckhdq, regs, regd)
-#define        punpckhdq(vars, vard)   mmx_m2m(punpckhdq, vars, vard)
-
-#define        punpckhwd_m2r(var, reg) mmx_m2r(punpckhwd, var, reg)
-#define        punpckhwd_r2r(regs, regd) mmx_r2r(punpckhwd, regs, regd)
-#define        punpckhwd(vars, vard)   mmx_m2m(punpckhwd, vars, vard)
-
-#define        punpckhbw_m2r(var, reg) mmx_m2r(punpckhbw, var, reg)
-#define        punpckhbw_r2r(regs, regd) mmx_r2r(punpckhbw, regs, regd)
-#define        punpckhbw(vars, vard)   mmx_m2m(punpckhbw, vars, vard)
-
-
-/*     Empty MMx State
-       (used to clean-up when going from mmx to float use
-        of the registers that are shared by both; note that
-        there is no float-to-mmx operation needed, because
-        only the float tag word info is corruptible)
-*/
-#ifdef MMX_TRACE
-
-#define        emms() \
-       { \
-               fprintf(stderr, "emms()\n"); \
-               __asm__ __volatile__ ("emms"); \
-       }
-
-#else
-
-#define        emms()                  __asm__ __volatile__ ("emms")
-
-#endif
-
-#endif
-
diff --git a/src/tX_audiodevice.cc b/src/tX_audiodevice.cc
deleted file mode 100644 (file)
index e846c73..0000000
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
-    terminatorX - realtime audio scratching software
-    Copyright (C) 1999  Alexander König
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-    File: tX_aduiodevice.cc
-    Description: Implements Audiodevice handling... 
-*/    
-
-#include "tX_audiodevice.h"
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/ioctl.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/soundcard.h>
-
-#ifdef USE_WRITER_THREAD
-
-void* writer_thread(void *parm)
-{
-       audiodevice *audio=(audiodevice *) parm;
-       int16_t *buffer;
-
-       puts("writer thread");
-
-       pthread_mutex_lock(&audio->write_mutex);
-       
-       while (pthread_mutex_trylock(&audio->stop_mutex))
-       {
-       
-               pthread_mutex_lock(&audio->buffer_read_mutex);
-               pthread_mutex_unlock(&audio->write_mutex);
-               pthread_mutex_lock(&audio->buffer_ready_mutex);
-               buffer=audio->current_buffer;
-               pthread_mutex_unlock(&audio->buffer_read_mutex);
-               pthread_mutex_unlock(&audio->buffer_ready_mutex);
-               pthread_mutex_lock(&audio->write_mutex);
-               
-               write(audio->fd, buffer, audio->blocksize);     
-       }
-       pthread_mutex_unlock(&audio->stop_mutex);
-       pthread_mutex_unlock(&audio->write_mutex);
-       
-       puts("wt quits");
-       return NULL;
-}
-
-int audiodevice :: eat(int16_t *buffer)
-{
-       if (pthread_mutex_trylock(&stop_mutex))
-       {
-               pthread_mutex_lock(&write_mutex);
-
-               current_buffer=buffer;
-               pthread_mutex_unlock(&buffer_ready_mutex);      
-       
-               pthread_mutex_lock(&buffer_read_mutex);
-       
-               pthread_mutex_lock(&buffer_ready_mutex);
-       
-               pthread_mutex_unlock(&buffer_read_mutex);
-               pthread_mutex_unlock(&write_mutex);     
-       }
-}
-
-#endif
-
-int audiodevice :: dev_open(int dont_use_rt_buffsize)
-{
-       int i=0;
-       int p;
-       int buff_cfg;
-
-       if (fd) return (1);
-
-       if (globals.use_stdout)
-       {
-               fd=STDOUT_FILENO;
-               blocksize=1 << globals.buff_size;
-               return(0);
-       }
-
-        fd = open(globals.audio_device, O_WRONLY, 0);
-       
-       /* setting buffer size */       
-       if (dont_use_rt_buffsize)
-       {
-               buff_cfg=(globals.buff_no<<16) | NON_RT_BUFF;   
-       }       
-       else
-       {
-               buff_cfg=(globals.buff_no<<16) | globals.buff_size;
-       }
-       
-       p=buff_cfg;
-               
-       i = ioctl(fd, SNDCTL_DSP_SETFRAGMENT, &p);
-
-        ioctl(fd, SNDCTL_DSP_RESET, 0);                
-
-       /* 16 Bits */
-       
-        p =  16;
-
-        i +=  ioctl(fd, SOUND_PCM_WRITE_BITS, &p);
-
-       /* MONO */
-       
-        p =  1;
-        i += ioctl(fd, SOUND_PCM_WRITE_CHANNELS, &p);
-       
-       /* 44.1 khz */
-
-        p =  44100;
-        i += ioctl(fd, SOUND_PCM_WRITE_RATE, &p);
-               
-        i += ioctl(fd, SNDCTL_DSP_GETBLKSIZE, &blocksize);
-       
-        ioctl(fd, SNDCTL_DSP_SYNC, 0);
-
-#ifdef USE_WRITER_THREAD
-       
-       puts("A");
-       pthread_mutex_lock(&stop_mutex);
-       puts("A");
-       pthread_mutex_trylock(&buffer_ready_mutex);
-       puts("A");
-       pthread_create(&writer, NULL, writer_thread, (void *) this);
-#endif 
-       
-        return(i);     
-}
-
-int audiodevice :: getblocksize()
-{
-       return(blocksize);
-}
-
-int audiodevice :: dev_close()
-{
-       void *dummy;
-
-#ifdef USE_WRITER_THREAD
-       pthread_mutex_unlock(&buffer_ready_mutex);
-       pthread_mutex_unlock(&stop_mutex);
-       
-       pthread_join(writer, &dummy);   
-       puts("okidoki");
-#endif 
-
-       if (!fd)
-       {       
-               return(1);              
-       }
-
-       if (!globals.use_stdout)
-       {
-               close(fd);
-       }
-       fd=0;
-       blocksize=0;
-       
-       return(0);      
-}
-
-audiodevice :: audiodevice()
-{
-       fd=0;
-       blocksize=0;
-#ifdef USE_WRITER_THREAD       
-       pthread_mutex_init(&stop_mutex, NULL);
-       pthread_mutex_init(&write_mutex, NULL);
-       pthread_mutex_init(&buffer_read_mutex, NULL);
-       pthread_mutex_init(&buffer_ready_mutex, NULL);
-#endif 
-}
-
-#ifndef USE_WRITER_THREAD
-int audiodevice :: eat(int16_t *buffer)
-{
-       write(fd, buffer, blocksize);   
-}
-#endif
diff --git a/src/tX_audiodevice.h b/src/tX_audiodevice.h
deleted file mode 100644 (file)
index 4248f0a..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
-    terminatorX - realtime audio scratching software
-    Copyright (C) 1999  Alexander König
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-    File: tX_audiodevice.h
-    Description: Header to tX_mastergui.cc
-*/    
-
-#ifndef _h_tx_audiodevice
-#define _h_tx_audiodevice 1
-
-#include "tX_types.h"
-#include "tX_global.h"
-#include "pthread.h"
-
-#define NON_RT_BUFF 12
-
-
-class audiodevice
-{
-       friend void* writer_thread(void *parm);
-       int fd;
-       int blocksize;
-       
-       public:
-       int dev_open(int);
-       int dev_close();
-       
-       int getblocksize();
-       
-       int eat(int16_t*);
-       
-       audiodevice();
-
-#ifdef USE_WRITER_THREAD       
-       pthread_mutex_t stop_mutex;
-       pthread_mutex_t write_mutex;
-       pthread_mutex_t buffer_ready_mutex;
-       pthread_mutex_t buffer_read_mutex;
-       int16_t *current_buffer;
-       pthread_t writer;
-#endif 
-};
-
-#endif
diff --git a/src/tX_dialog.cc b/src/tX_dialog.cc
deleted file mode 100644 (file)
index fcbe3d4..0000000
+++ /dev/null
@@ -1,665 +0,0 @@
-/*
-    terminatorX - realtime audio scratching software
-    Copyright (C) 1999  Alexander K÷nig
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-    File: tX_dialog.c
-    Description: Contains the implementation of the Options and About
-                Dialogs. (And some really ugly "WE WANT TO 
-                TYPE LESS" macros)
-                
-    Changes:
-    
-    28 Jul 1999: Now display compiletime settings in the about dialog.
-*/    
-
-#include "tX_types.h"
-#include "tX_global.h"
-#include "tX_dialog.h"
-#include <gtk/gtk.h>
-#include <string.h>
-#include <gdk/gdk.h>
-
-#ifndef WIN32
-#include <X11/extensions/XInput.h>
-#include <X11/X.h>
-#endif
-
-#include "license.c"
-#include "tX_wavfunc.h"
-#include "tX_mastergui.h"
-#include "version.h"
-
-extern char *logo_xpm[];
-
-GdkWindow *opt_window=NULL;
-GtkWidget *opt_dialog;
-GtkWidget *menu=NULL;
-
-GtkWidget *prefix;
-GtkWidget *reset_filectr;
-GtkWidget *audio_device;
-GtkWidget *use_stdout;
-GtkWidget *prelis;
-
-GtkAdjustment *buff_no=NULL;
-GtkWidget *buff_no_slider;
-GtkAdjustment *buff_size=NULL;
-GtkWidget *buff_size_slider;
-
-GtkAdjustment *rec_size;
-GtkWidget *rec_size_slider;
-
-GtkAdjustment *sense_cycles=NULL;
-GtkWidget *sense_cycles_slider;
-
-GtkAdjustment *vtt_default_speed=NULL;
-GtkWidget *vtt_default_speed_slider;
-
-GtkWidget *xinput_enable;
-GtkWidget *xinput_device;
-GtkAdjustment *mouse_speed=NULL;
-GtkWidget *mouse_speed_slider;
-GtkWidget *use_y;
-
-GtkWidget *tooltips;
-GtkWidget *show_nag;
-GtkAdjustment *update_idle=NULL;
-GtkWidget *update_idle_slider;
-
-GtkWidget *time_enable;
-GtkAdjustment *time_update=NULL;
-GtkWidget *time_update_slider;
-
-GtkWidget *opt_ok;
-GtkWidget *opt_apply;
-GtkWidget *opt_cancel;
-
-GtkTooltips *opt_tips;
-
-int opt_hidden=0;
-
-void apply_options()
-{
-       char *text;
-       
-       strcpy(globals.prefix, gtk_entry_get_text(GTK_ENTRY(prefix)));
-       globals.reset_filectr=gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(reset_filectr));
-       
-       strcpy(globals.audio_device, gtk_entry_get_text(GTK_ENTRY(audio_device)));
-       globals.use_stdout=gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(use_stdout));
-       globals.buff_no=(int)buff_no->value;    
-       globals.buff_size=(int)buff_size->value;
-       
-       globals.prelis=gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(prelis));
-       
-       globals.rec_size=(int)rec_size->value*1024;
-       if (malloc_recbuffer()) tx_note("Error: Failed to allocate recbuffer.");
-       
-       globals.sense_cycles=(int) sense_cycles->value;
-       globals.vtt_default_speed=vtt_default_speed->value;
-       globals.xinput_enable=gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(xinput_enable));
-       gtk_label_get(GTK_LABEL(GTK_BUTTON(xinput_device)->child), &text);
-       strcpy(globals.xinput_device, text);    
-       globals.use_y=gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(use_y));
-       
-       globals.mouse_speed=mouse_speed->value;
-       globals.tooltips=gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(tooltips));
-       globals.show_nag=gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(show_nag));
-       globals.update_idle=(int) update_idle->value;
-       
-       globals.time_enable=gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(time_enable));
-       globals.time_update=(int)time_update->value;
-}
-
-#define WID_DYN TRUE, TRUE, 0
-#define WID_FIX FALSE, FALSE, 0
-
-#define my_new_subsec(s); \
-       separator=gtk_hseparator_new(); \
-       gtk_box_pack_start(GTK_BOX(vbox), separator, WID_DYN);\
-       gtk_widget_show(separator); \
-       label=gtk_label_new(s); \
-       gtk_misc_set_alignment (GTK_MISC(label), 0 ,0.5); \
-       gtk_box_pack_start(GTK_BOX(vbox), label, WID_DYN); \
-       gtk_widget_show(label); 
-
-#define my_new_button(btn, s); \
-       btn=gtk_button_new_with_label(s); \
-       gtk_box_pack_start(GTK_BOX(aa), btn, WID_DYN); \
-       gtk_widget_show(btn);
-       
-
-#define begin_box(); box=gtk_hbox_new(FALSE, 5);
-
-#define begin_hom_box(); box=gtk_hbox_new(TRUE, 5);
-
-#define end_box(); gtk_box_pack_start(GTK_BOX(vbox), box, WID_DYN); \
-       gtk_widget_show(box);
-
-#define add_widget_dyn(wid); gtk_box_pack_start(GTK_BOX(box), wid, WID_DYN);\
-       gtk_widget_show(wid);
-       
-#define add_widget_fix(wid); gtk_box_pack_start(GTK_BOX(box), wid, WID_FIX);\
-       gtk_widget_show(wid);
-
-#define add_expl(s); label=gtk_label_new(s); \
-       gtk_misc_set_alignment(GTK_MISC(label), 0.5, 0.5);\
-       add_widget_fix(label);
-
-#define add_expl_dyn(s); label=gtk_label_new(s); \
-       gtk_misc_set_alignment(GTK_MISC(label), 0.5, 0.5);\
-       add_widget_dyn(label);
-       
-static gint showdevmenu(GtkWidget *widget, GdkEvent *event)
-{
-       if (event->type == GDK_BUTTON_PRESS) {
-               GdkEventButton *bevent = (GdkEventButton *) event; 
-               gtk_menu_popup (GTK_MENU (widget), NULL, NULL, NULL, NULL,
-               bevent->button, bevent->time);
-       return TRUE;
-       }
-       
-       return FALSE;   
-}
-
-#ifndef WIN32
-XDeviceInfo *xdev=NULL;
-#endif
-
-void options_destroy(GtkWidget *widget)
-{
-       /* Destroying everything that is NOT a direct part of
-         the dialog: adjustments, menu and XDeviceList.
-       */
-
-       gdk_window_hide(opt_window);    
-       opt_hidden=1;
-       
-       gtk_object_destroy(GTK_OBJECT(opt_dialog));
-
-#ifndef WIN32
-       XFreeDeviceList(xdev);  
-#endif 
-       opt_window=NULL;
-}
-
-void ok_options(GtkWidget *widget)
-{
-       apply_options();
-       options_destroy(widget);
-}
-
-void select_input(GtkWidget *w, char *dev)
-{
-       gtk_label_set(GTK_LABEL(GTK_BUTTON(xinput_device)->child), dev);
-}
-
-void create_options()
-{
-       GtkWidget *box;
-       GtkWidget *vbox;
-       GtkWidget *aa;
-       GtkWidget *label;
-       GtkWidget *separator;
-       GtkWindow *w;
-       GtkWidget *item;
-       Display *dpy;
-       
-       int i, devmax;
-               
-       opt_dialog=gtk_dialog_new();
-       w=&(GTK_DIALOG(opt_dialog)->window);
-       gtk_window_set_title(w, "terminatorX - Options");
-
-       opt_tips=gtk_tooltips_new();
-       
-       vbox=GTK_WIDGET(GTK_DIALOG(opt_dialog)->vbox);
-       gtk_box_set_spacing(GTK_BOX(vbox), 5);
-       gtk_container_set_border_width(GTK_CONTAINER(w), 5);
-//     gtk_box_set_homogeneous(GTK_BOX(vbox), FALSE);
-       aa=GTK_WIDGET(GTK_DIALOG(opt_dialog)->action_area);
-       gtk_box_set_spacing(GTK_BOX(aa), 5);
-//     gtk_box_set_homogeneous(GTK_BOX(aa), FALSE);
-       
-       label=gtk_label_new("Options:");
-       gtk_misc_set_alignment (GTK_MISC(label), 0.5 ,0.5);     
-       gtk_box_pack_start(GTK_BOX(vbox), label, WID_DYN);
-       gtk_widget_show(label);
-       
-       my_new_subsec("[ Audio: ]");
-       
-       begin_box();
-
-       add_expl("Device:");
-       
-       audio_device=gtk_entry_new_with_max_length(PATH_MAX);
-       gtk_entry_set_text(GTK_ENTRY(audio_device), globals.audio_device);
-       gtk_tooltips_set_tip(opt_tips, audio_device, "Enter the path to your audio device here. For most systems this should be /dev/dsp.", NULL);
-       add_widget_dyn(audio_device);
-       
-       end_box();
-
-       begin_box();
-       use_stdout=gtk_check_button_new_with_label("Use standard output instead of the above device");
-       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(use_stdout), globals.use_stdout);        
-       add_widget_fix(use_stdout);     
-       end_box();      
-               
-       begin_box();
-       
-       add_expl("No. of Buffers:");
-       
-       buff_no=(GtkAdjustment*) gtk_adjustment_new(globals.buff_no, 1, 16, 1, 1, 1);
-       buff_no_slider=gtk_hscale_new(buff_no);
-       gtk_scale_set_digits(GTK_SCALE(buff_no_slider), 0);
-       gtk_scale_set_value_pos(GTK_SCALE(buff_no_slider), GTK_POS_LEFT);
-       gtk_tooltips_set_tip(opt_tips, buff_no_slider, "Sets the number of kernel level audio buffers. Actually most systems should run just fine with two.", NULL);
-       add_widget_dyn(buff_no_slider);
-
-       end_box();
-
-       begin_box();
-
-       add_expl("Size of Buffers:");
-       
-       buff_size=(GtkAdjustment*) gtk_adjustment_new(globals.buff_size, 1, 16, 1, 1, 1);
-       buff_size_slider=gtk_hscale_new(buff_size);
-       gtk_scale_set_digits(GTK_SCALE(buff_size_slider), 0);
-       gtk_scale_set_value_pos(GTK_SCALE(buff_size_slider), GTK_POS_LEFT);
-       gtk_tooltips_set_tip(opt_tips, buff_size_slider, "Sets the size of the kernel level audio buffers. On slower systems you might have to increase this value (if you hear \"clicks\"). Lower values mean lower latency though.", NULL);
-       add_widget_dyn(buff_size_slider);
-               
-       end_box();
-
-       begin_box();
-
-       add_expl("Turntable Default Speed:");
-       
-       vtt_default_speed=(GtkAdjustment*) gtk_adjustment_new(globals.vtt_default_speed, -2.5, 2.5, 0.1, 0.01, 0.01);
-       vtt_default_speed_slider=gtk_hscale_new(vtt_default_speed);
-       gtk_scale_set_digits(GTK_SCALE(vtt_default_speed_slider), 2);
-       gtk_scale_set_value_pos(GTK_SCALE(vtt_default_speed_slider), GTK_POS_LEFT);
-       gtk_tooltips_set_tip(opt_tips, vtt_default_speed_slider, "Sets the \"motor\" speed of the turntable. 1.0 => real speed, 2.0 => double speed, negative values => play backwards.", NULL);
-       add_widget_dyn(vtt_default_speed_slider);
-       
-       end_box();
-
-       begin_box();
-
-       prelis=gtk_check_button_new_with_label("Pre-Listen to audio files in scratch/loop dialog");
-       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(prelis), globals.prelis);
-       add_widget_fix(prelis);         
-       
-       end_box();
-
-       my_new_subsec("[ Recording: ]");
-       
-       begin_box();
-
-       add_expl("Fast Save Prefix:");
-       
-       prefix=gtk_entry_new_with_max_length(PATH_MAX);
-       gtk_entry_set_text(GTK_ENTRY(prefix), globals.prefix);
-       add_widget_dyn(prefix);
-       
-       end_box();
-
-       begin_box();
-
-       reset_filectr=gtk_check_button_new_with_label("Reset the file counter on startup");
-       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(reset_filectr), globals.reset_filectr);  
-       add_widget_fix(reset_filectr);  
-       
-       end_box();
-       
-       begin_box();
-
-       add_expl("Record Buffer Size (KB):");
-
-       rec_size=(GtkAdjustment*) gtk_adjustment_new(globals.rec_size/1024, 100, 50000, 1000, 100, 100);
-
-       rec_size_slider=gtk_hscale_new(rec_size);
-       gtk_scale_set_digits(GTK_SCALE(rec_size_slider), 0);
-       gtk_scale_set_value_pos(GTK_SCALE(rec_size_slider), GTK_POS_LEFT);
-       gtk_tooltips_set_tip(opt_tips,  rec_size_slider, "Sets the size of the buffer that stores recorded scratches. If you want to record longer scratches you need to increase this value.", NULL);
-       add_widget_dyn(rec_size_slider);
-               
-       end_box();
-       
-       my_new_subsec("[ Mouse / Input: ]");
-
-#ifndef WIN32  
-       dpy=XOpenDisplay(NULL);
-       xdev=XListInputDevices(dpy, &devmax);
-       XCloseDisplay(dpy);
-
-       if (menu) gtk_object_destroy(GTK_OBJECT(menu));
-               
-       menu = gtk_menu_new();  
-       
-       for (i=0; i<devmax; i++)
-       {
-               item = gtk_menu_item_new_with_label(xdev[i].name);
-               gtk_menu_append(GTK_MENU(menu), item);
-               gtk_signal_connect(GTK_OBJECT(item), "activate", GTK_SIGNAL_FUNC(select_input), xdev[i].name);
-               gtk_widget_show(item);
-       }
-
-       begin_box();
-
-       xinput_enable=gtk_check_button_new_with_label("XInput Device:");
-       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(xinput_enable), globals.xinput_enable);          
-       gtk_tooltips_set_tip(opt_tips,  xinput_enable, "Enable this if you want to use other input than your default X-Pointer. You have to select your desired device as well.", NULL);
-       add_widget_fix(xinput_enable);
-       
-       if (strlen(globals.xinput_device)>0)    
-       {
-               xinput_device=gtk_button_new_with_label(globals.xinput_device);
-       }
-       else
-       {
-               xinput_device=gtk_button_new_with_label("< NONE >");
-       }
-               
-       gtk_signal_connect_object (GTK_OBJECT (xinput_device), "event", GTK_SIGNAL_FUNC (showdevmenu), GTK_OBJECT (menu));
-       add_widget_dyn(xinput_device);
-               
-       end_box();
-       
-#endif 
-       
-       begin_box();
-       
-       add_expl("Mouse Speed:");
-               
-       mouse_speed=(GtkAdjustment*) gtk_adjustment_new(globals.mouse_speed, -10, 10, 0.5, 0.1, 0.1);
-       mouse_speed_slider=gtk_hscale_new(mouse_speed);
-       gtk_scale_set_digits(GTK_SCALE(mouse_speed_slider), 1);
-       gtk_scale_set_value_pos(GTK_SCALE(mouse_speed_slider), GTK_POS_LEFT);
-       gtk_tooltips_set_tip(opt_tips, mouse_speed_slider, "The speed of your mouse in scratch mode. Use negative values to invert motion.", NULL);
-       add_widget_dyn(mouse_speed_slider);
-       
-       end_box();
-       
-       begin_box();
-       
-       add_expl("Stop Sense Cycles:");
-       
-       sense_cycles=(GtkAdjustment*) gtk_adjustment_new(globals.sense_cycles, 1, 50, 5, 1, 1);
-       sense_cycles_slider=gtk_hscale_new(sense_cycles);
-       gtk_scale_set_digits(GTK_SCALE(sense_cycles_slider), 0);
-       gtk_scale_set_value_pos(GTK_SCALE(sense_cycles_slider), GTK_POS_LEFT);
-       gtk_tooltips_set_tip(opt_tips, sense_cycles_slider, "If there is no \"motion-event\" for x cycles, where x is the number of cycles you select here, terminatorX assumes mouse motion has stopped. For smaller buffer sizes (=> shorter cycle times) you might have to increase this value", NULL);
-       add_widget_dyn(sense_cycles_slider);
-       
-       end_box();
-       
-       begin_box();
-
-       use_y=gtk_check_button_new_with_label("Use Y instead of X axis");
-       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(use_y), globals.use_y);  
-       add_widget_dyn(use_y);          
-       
-       end_box();
-       
-       my_new_subsec("[ Graphics / GUI: ]");
-       
-       begin_box();
-       
-       tooltips=gtk_check_button_new_with_label("Main Window Tooltips");
-       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tooltips), globals.tooltips);    
-       add_widget_dyn(tooltips);       
-       
-       end_box();
-       
-       begin_box();
-       
-       add_expl("Pos Update Idle:");
-               
-       update_idle=(GtkAdjustment*) gtk_adjustment_new(globals.update_idle, 1, 100, 1, 10, 10);
-       update_idle_slider=gtk_hscale_new(update_idle);
-       gtk_scale_set_digits(GTK_SCALE(update_idle_slider), 0);
-       gtk_scale_set_value_pos(GTK_SCALE(update_idle_slider), GTK_POS_LEFT);
-       gtk_tooltips_set_tip(opt_tips,  update_idle_slider, "The update thread will idle for the selcted amount of milliseconds. If you want to have a more responsive display update increase this value - if you have performance problems reduce this value.", NULL);
-       add_widget_dyn(update_idle_slider);
-               
-       end_box();
-
-       begin_box();
-       
-       time_enable=gtk_check_button_new_with_label("Time Update:");
-       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(time_enable), globals.time_enable);      
-       add_widget_fix(time_enable);
-
-       time_update=(GtkAdjustment*) gtk_adjustment_new(globals.time_update, 1, 50, 1, 5, 5);
-       time_update_slider=gtk_hscale_new(time_update);
-       gtk_scale_set_digits(GTK_SCALE(time_update_slider), 0);
-       gtk_scale_set_value_pos(GTK_SCALE(time_update_slider), GTK_POS_LEFT);
-       gtk_tooltips_set_tip(opt_tips, time_update_slider, "The update thread will update the time display every n-th position display update, where n is the value you select. If you want to have a more responsive display update increase this value - if you have performance problems reduce this value.", NULL);
-       add_widget_dyn(time_update_slider);
-       end_box();
-
-       begin_box();
-
-       show_nag=gtk_check_button_new_with_label("Display nagbox on startup while loading data");
-       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(show_nag), globals.show_nag);    
-       add_widget_dyn(show_nag);               
-       
-       end_box();
-       
-       
-       my_new_button(opt_ok, "Ok");
-       gtk_signal_connect(GTK_OBJECT(opt_ok), "clicked", (GtkSignalFunc) ok_options, NULL);
-       my_new_button(opt_apply, "Apply");
-       gtk_signal_connect(GTK_OBJECT(opt_apply), "clicked", (GtkSignalFunc) apply_options, NULL);
-       my_new_button(opt_cancel, "Cancel");
-       gtk_signal_connect(GTK_OBJECT(opt_cancel), "clicked", (GtkSignalFunc) options_destroy, NULL);
-
-       
-       gtk_widget_show(opt_dialog);
-       opt_window=opt_dialog->window;
-       gtk_signal_connect(GTK_OBJECT(opt_dialog), "delete-event", (GtkSignalFunc) options_destroy, NULL);      
-
-}
-
-void display_options()
-{
-        if (opt_window)
-       {
-               gdk_window_raise(opt_window);   
-        }
-        else
-       {
-               create_options();
-       }
-}
-
-GtkWidget *about=NULL;
-
-void raise_about()
-{
-       if (about)
-       gdk_window_raise(about->window);
-}
-
-
-void destroy_about()
-{
-       if (about)
-       {       
-               gtk_widget_destroy(about);
-               about=NULL;
-       }
-}
-
-
-
-#define add_about_wid(wid); gtk_box_pack_start(GTK_BOX(box), wid, WID_DYN); \
-       gtk_widget_show(wid);
-
-GdkFont *GPL_font=NULL;
-
-void show_about(int nag)
-{
-       GtkWidget *window, *pwid;
-       GdkBitmap *mask;
-       GtkStyle *style;
-       GtkWidget *btn;
-       GtkWidget *box;
-       GtkWidget *hbox;
-       GtkWidget *label;
-       GtkWidget *sep;
-       GtkWidget *text;
-       GtkWidget *scroll;
-       GdkPixmap *pmap=NULL;
-       
-       int loop;
-       
-       if (about) 
-       {
-               gdk_window_raise(about->window);
-               return;
-       }
-       
-       window = gtk_window_new(GTK_WINDOW_TOPLEVEL);   
-       gtk_container_set_border_width(GTK_CONTAINER(window), 5);
-
-//     GTK_WINDOW(window)->use_uposition=TRUE;
-
-       gtk_widget_realize(window);
-       
-       gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
-       gtk_window_set_title(GTK_WINDOW(window), "terminatorX - About");
-       
-       if (nag)
-       {
-               gdk_window_set_decorations(window->window, (enum GdkWMDecoration) 0);
-       }
-
-       
-       style = gtk_widget_get_style( window );
-
-       if (!pmap)
-       {
-               pmap=gdk_pixmap_create_from_xpm_d(window->window, &mask, &style->bg[GTK_STATE_NORMAL], (gchar **)logo_xpm );
-       }
-
-
-       pwid = gtk_pixmap_new( pmap, mask );
-       
-       gtk_widget_show( pwid );
-
-       if (nag)
-       {
-               gtk_container_add(GTK_CONTAINER(window), pwid);
-               gtk_widget_show(window);
-               
-               while (gtk_events_pending()) gtk_main_iteration();      
-       }
-       else
-       {
-               box=gtk_vbox_new(FALSE, 5);
-               add_about_wid(pwid);
-               
-               sep=gtk_hseparator_new();
-               add_about_wid(sep);
-               
-               label=gtk_label_new(
-               "\nThis is "PACKAGE" Release "VERSION" - Copyright (C) 1999 by Alexander König" 
-               "\n\nSend comments, patches and scratches to: alkoit00@fht-esslingen.de\n"
-               "terminatorX-homepage: http://termX.cjb.net\n\nThis binary has been compiled with the following flags: "
-               "Sox support: "
-#ifdef USE_SOX_INPUT
-               "ON"
-#else
-               "OFF"
-#endif         
-               " - mpg123 support: "
-#ifdef USE_MPG123_INPUT
-               "ON"
-#else
-               "OFF"
-#endif
-               " - \nenhanced scheduling: "
-#ifdef USE_SCHEDULER
-               "ON"
-#else
-               "OFF"
-#endif
-               " - keep device open: "
-#ifdef KEEP_DEV_OPEN
-               "ON"
-#else
-               "OFF"
-#endif
-               " - for a "
-#ifdef BIG_ENDIAN_MACHINE
-               "big"
-               
-#else
-               "little"
-#endif
-               " endian machine.\n"    
-               );
-               gtk_misc_set_alignment (GTK_MISC(label), 0.5 ,0.5);
-               add_about_wid(label);
-               
-               sep=gtk_hseparator_new();
-               add_about_wid(sep);
-
-               label=gtk_label_new("License (GPL V2):");
-               gtk_misc_set_alignment (GTK_MISC(label), 0.5 ,0.5);
-               add_about_wid(label);
-
-               hbox=gtk_hbox_new(FALSE, 5);            
-               
-               text=gtk_text_new(NULL,NULL);
-               scroll=gtk_vscrollbar_new(GTK_TEXT(text)->vadj);
-               gtk_text_set_editable(GTK_TEXT(text),0);
-               gtk_text_set_word_wrap( GTK_TEXT(text), 0);
-
-               if (!GPL_font)
-               {
-                       GPL_font=gdk_font_load ("-misc-fixed-medium-r-*-*-*-120-*-*-*-*-*-*");
-               }               
-               gtk_text_insert(GTK_TEXT(text), GPL_font, NULL, NULL, license, strlen(license));
-
-               gtk_box_pack_start(GTK_BOX(hbox), text, WID_DYN);
-               gtk_widget_show(text);
-               
-               gtk_box_pack_start(GTK_BOX(hbox), scroll, WID_FIX);
-               gtk_widget_show(scroll);
-               
-               add_about_wid(hbox);
-
-               sep=gtk_hseparator_new();
-               add_about_wid(sep);
-
-               btn=gtk_button_new_with_label("Close");
-               add_about_wid(btn);
-
-               gtk_container_add(GTK_CONTAINER(window), box);
-               gtk_widget_show(box);
-               
-               gtk_signal_connect(GTK_OBJECT(btn), "clicked", (GtkSignalFunc) destroy_about, NULL);            
-               gtk_signal_connect(GTK_OBJECT(window), "delete-event", (GtkSignalFunc) destroy_about, NULL);            
-       }
-       gtk_widget_show(window);
-       
-       about=window;
-}
diff --git a/src/tX_dialog.h b/src/tX_dialog.h
deleted file mode 100644 (file)
index 016b686..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
-    terminatorX - realtime audio scratching software
-    Copyright (C) 1999  Alexander König
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-    File: tX_dialog.h
-    Description: Header to tX_dialog.c
-*/    
-
-#ifndef _H_TX_DIALOG_
-#define _H_TX_DIALOG_
-
-extern void display_options();
-extern void show_about(int nag);
-extern void destroy_about();
-#endif
diff --git a/src/tX_engine.cc b/src/tX_engine.cc
deleted file mode 100644 (file)
index cdb11b1..0000000
+++ /dev/null
@@ -1,268 +0,0 @@
-/*
-    terminatorX - realtime audio scratching software
-    Copyright (C) 1999  Alexander König
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-    File: tX_engine.c
-    Description: Contains the code that does the real "Scratching
-                business": XInput, DGA, Mouse and Keyboardgrabbing
-                etc.
-
-    02 Jun 1999: Implemented high-priority/rt-FIFO-Scheduling use for
-                 engine-thread.
-                
-    04 Jun 1999: Changed warp-feature behaviour: still connected to
-                 mouse-speed (should be changed to maybe) but now
-                depends on sample size -> you can warp through all
-                samples with the same mouse-distance.
-*/    
-
-#include "tX_types.h"
-#include "tX_engine.h"
-#include "tX_audiodevice.h"
-#include "tX_mouse.h"
-#include "tX_vtt.h"
-#include <pthread.h>
-#include <gtk/gtk.h>
-#include <gdk/gdkprivate.h>
-#include "tX_mastergui.h"
-#include "tX_global.h"
-#include "tX_tape.h"
-#include "tX_widget.h"
-#include <config.h>
-
-pthread_t engine_thread=0;
-
-pthread_mutex_t stat_lock=PTHREAD_MUTEX_INITIALIZER;
-pthread_mutex_t thread_lock=PTHREAD_MUTEX_INITIALIZER;
-pthread_mutex_t pos_lock=PTHREAD_MUTEX_INITIALIZER;
-pthread_mutex_t run_lock=PTHREAD_MUTEX_INITIALIZER;
-
-tx_mouse *mouse=new tx_mouse();
-audiodevice *device=new audiodevice();
-tx_tapedeck *tape=new tx_tapedeck();
-
-int engine_quit=0;
-
-int engine_status=ENG_STOPPED;
-
-int realpos=0;
-
-int do_grab_mouse=0;
-int new_grab_mouse=0;
-
-int want_recording=0;
-int is_recording=0;
-
-int grab_mouse(int newstate)
-{
-       new_grab_mouse=newstate;
-}
-
-int get_engine_status()
-{
-       int tmp;
-       pthread_mutex_lock(&stat_lock);
-       tmp=engine_status;
-       pthread_mutex_unlock(&stat_lock);
-       return(tmp);
-}
-
-void set_engine_status(int status)
-{
-       pthread_mutex_lock(&stat_lock);
-       engine_status=status;
-       pthread_mutex_unlock(&stat_lock);
-}
-
-void *engine(void *nil)
-{
-       int scratch=0;          
-       int stop_sense=globals.sense_cycles;
-       f_prec warp=1.0;
-       int16_t *temp;
-       
-/*     want_recording=0;
-       is_recording=0; */
-       
-#ifdef ENABLE_DEBUG_OUTPUT
-       fprintf(stderr, "[engine()] Engine thread up, PID: %i\n", getpid());
-#endif                 
-       pthread_mutex_lock(&run_lock);
-
-       set_engine_status(ENG_RUNNING);
-
-       while (!engine_quit)
-       {       
-               if (new_grab_mouse!=do_grab_mouse)
-               {
-               
-                       do_grab_mouse=new_grab_mouse;
-                       
-                       if (do_grab_mouse) mouse->grab();
-                       else
-                       {
-                               mouse->ungrab();
-                               grab_off();
-                       }
-               }
-               
-               if (do_grab_mouse)
-               if (mouse->check_event())
-               {
-                       new_grab_mouse=0;
-               }
-               
-               if (is_recording)
-               {
-                       temp=vtt_class::render_all_turntables();
-                       device->eat(temp);
-                       tape->eat(temp);                        
-               }
-               else
-               {
-                       device->eat(vtt_class::render_all_turntables());                
-               }
-       }
-       
-//     device->dev_close();
-
-       if (engine_quit==1) set_engine_status(ENG_STOPPED);
-       else set_engine_status(ENG_FINISHED);
-
-       pthread_mutex_unlock(&run_lock);
-               
-       pthread_exit(NULL);
-}
-
-int run_engine()
-{
-#ifdef USE_SCHEDULER
-       pthread_attr_t pattr;
-       struct sched_param sparm;
-#endif
-       char buffer[PATH_MAX];
-       list <vtt_class *> :: iterator vtt;
-
-       pthread_mutex_lock(&run_lock);
-       
-       pthread_mutex_lock(&thread_lock);
-
-       device->dev_open(0);
-       
-       is_recording=0;
-       
-       if (want_recording)
-       {
-               if (!tape->start_record(globals.record_filename, device->getblocksize()))
-                       is_recording=1;
-       }
-
-       vtt_class::set_mix_buffer_size(device->getblocksize()/sizeof(int16_t));
-
-       if (engine_thread)
-       {
-               pthread_mutex_unlock(&thread_lock);
-               return(ENG_ERR_BUSY);
-       }
-       
-       engine_quit=0;
-#ifdef USE_SCHEDULER   
-        if (!geteuid())
-       {
-#ifdef ENABLE_DEBUG_OUTPUT
-               fprintf(stderr, "[run_engine()] enabling fifo scheduling.\n");
-#endif
-               pthread_attr_init(&pattr);
-               pthread_attr_setdetachstate(&pattr, PTHREAD_CREATE_JOINABLE);
-               pthread_attr_setschedpolicy(&pattr, SCHED_FIFO);
-       
-               sched_getparam(getpid(), &sparm);
-               sparm.sched_priority=sched_get_priority_max(SCHED_FIFO);
-       
-               pthread_attr_setschedparam(&pattr, &sparm);
-               pthread_attr_setinheritsched(&pattr, PTHREAD_EXPLICIT_SCHED);
-               pthread_attr_setscope(&pattr, PTHREAD_SCOPE_SYSTEM);
-               
-               pthread_create(&engine_thread, &pattr, engine, NULL);
-       }
-       else
-       {
-#ifdef ENABLE_DEBUG_OUTPUT
-               fprintf(stderr, "[run_engine()] NO fifo scheduling.\n");
-#endif
-               pthread_create(&engine_thread, NULL, engine, NULL);             
-       }
-#else
-       pthread_create(&engine_thread, NULL, engine, NULL);     
-#endif
-       
-       if (!engine_thread)
-       {
-               pthread_mutex_unlock(&thread_lock);
-               return(ENG_ERR_THREAD);
-       }
-
-//     gtk_label_set(GTK_LABEL(GTK_BUTTON(action_btn)->child), "Stop");        
-
-       for (vtt=vtt_class::main_list.begin(); vtt!=vtt_class::main_list.end(); vtt++)
-       {
-               if ((*vtt)->autotrigger) (*vtt)->trigger();
-       }
-
-       pthread_detach(engine_thread);
-
-       set_engine_status(ENG_INIT);
-       
-       pthread_mutex_unlock(&thread_lock);
-       
-       pthread_mutex_unlock(&run_lock);
-               
-       return (ENG_RUNNING);
-}
-
-int stop_engine()
-{
-       list <vtt_class *> :: iterator vtt;
-       void *ret;
-
-       pthread_mutex_lock(&thread_lock);       
-       if (!engine_thread)
-       {
-               pthread_mutex_unlock(&thread_lock);
-               return(1);
-       }
-       
-       engine_quit=1;
-       
-       pthread_join(engine_thread, &ret);
-       
-       engine_thread=0;
-       
-       pthread_mutex_unlock(&thread_lock);
-       device->dev_close();
-       
-       for (vtt=vtt_class::main_list.begin(); vtt!=vtt_class::main_list.end(); vtt++)
-       {
-               (*vtt)->stop();
-               (*vtt)->ec_clear_buffer();
-       }
-       
-       if (is_recording) tape->stop_record();
-       is_recording=0;
-       return (0);
-}
diff --git a/src/tX_engine.h b/src/tX_engine.h
deleted file mode 100644 (file)
index 2f83375..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
-    terminatorX - realtime audio scratching software
-    Copyright (C) 1999  Alexander König
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-    File: tX_engine.h
-    Description: Header to tX_engine.cc
-*/    
-
-#ifndef _TX_ENGINE_H_
-#define _TX_ENGINE_H_
-
-extern int run_engine();
-extern int stop_engine();
-
-extern int grab_mouse(int);
-
-#define ENG_ERR 4
-
-#define ENG_RUNNING 0
-#define ENG_INIT 1
-#define ENG_STOPPED 2
-#define ENG_FINISHED 3
-#define ENG_ERR_XOPEN 4
-#define ENG_ERR_XINPUT 5
-#define ENG_ERR_DGA 6
-#define ENG_ERR_SOUND 7
-#define ENG_ERR_THREAD 8
-#define ENG_ERR_GRABMOUSE 9
-#define ENG_ERR_GRABKEY 10
-#define ENG_ERR_BUSY 11
-
-extern int get_engine_status();
-extern void set_engine_status(int );
-
-extern int want_recording;
-
-#endif
diff --git a/src/tX_flash.c b/src/tX_flash.c
deleted file mode 100644 (file)
index d1cbeca..0000000
+++ /dev/null
@@ -1,438 +0,0 @@
-/*
-    terminatorX - realtime audio scratching software
-    Copyright (C) 1999  Alexander König
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-    File: tX_flash.c
-    Description: This contains the implementation of the tx_flash_flash widget.
-*/    
-
-#include <math.h>
-
-#include <gtk/gtkwindow.h>
-#define IS_TX_FLASH 1
-#include "tX_flash.h"
-#include "tX_types.h"
-#include <malloc.h>
-
-#ifndef WIN32
-#include <unistd.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define MAX_VALUE 32767
-#define RED_BORDER 25000
-#define TX_FLASH_DEFAULT_SIZE_X 17
-#define TX_FLASH_DEFAULT_SIZE_Y 30
-#define DY 5
-#define DX 5
-#define DMINIX 2
-#define S_MINIX 2
-#define L_MINIX 3
-#define DLEVEL 3
-#define MAX_MAX_CYCLES 20;
-
-/* pre dec */
-static void gtk_tx_flash_class_init (GtkTxFlashClass *);
-static void gtk_tx_flash_init (GtkTxFlash *tx_flash);
-GtkWidget* gtk_tx_flash_new ();
-static void gtk_tx_flash_destroy (GtkObject *object);
-static void gtk_tx_flash_realize (GtkWidget *widget);
-static void gtk_tx_flash_size_request (GtkWidget *widget, GtkRequisition *requisition);
-static void gtk_tx_flash_size_allocate (GtkWidget *widget, GtkAllocation *allocation);
-static gint gtk_tx_flash_expose (GtkWidget *widget, GdkEventExpose *event);
-//static void gtk_tx_flash_prepare (GtkWidget *widget);
-//static void gtk_tx_flash_set_level(GtkWidget *widget, f_prec new_value);
-
-/* Local data */
-
-static GtkWidgetClass *parent_class = NULL;
-
-guint
-gtk_tx_flash_get_type ()
-{
-  static guint tx_flash_type = 0;
-
-  if (!tx_flash_type)
-    {
-      GtkTypeInfo tx_flash_info =
-      {
-       "GtkTxFlash",
-       sizeof (GtkTxFlash),
-       sizeof (GtkTxFlashClass),
-       (GtkClassInitFunc) gtk_tx_flash_class_init,
-       (GtkObjectInitFunc) gtk_tx_flash_init,
-       (GtkArgSetFunc) NULL,
-       (GtkArgGetFunc) NULL,
-      };
-
-      tx_flash_type = gtk_type_unique (gtk_widget_get_type (), &tx_flash_info);
-    }
-
-  return tx_flash_type;
-}
-
-static void
-gtk_tx_flash_class_init (GtkTxFlashClass *gclass)
-{
-  GtkObjectClass *object_class;
-  GtkWidgetClass *widget_class;
-
-  object_class = (GtkObjectClass*) gclass;
-  widget_class = (GtkWidgetClass*) gclass;
-
-  parent_class = gtk_type_class (gtk_widget_get_type ());
-
-  object_class->destroy = gtk_tx_flash_destroy;
-
-  widget_class->realize = gtk_tx_flash_realize;
-  widget_class->expose_event = gtk_tx_flash_expose;
-  widget_class->size_request = gtk_tx_flash_size_request;
-  widget_class->size_allocate = gtk_tx_flash_size_allocate;
-//  widget_class->button_press_event = gtk_tx_flash_button_press;
-//  widget_class->button_release_event = gtk_tx_flash_button_release;
-//  widget_class->motion_notify_event = gtk_tx_flash_motion_notify;
-}
-
-void gtk_tx_flash_mk_col(GtkTxFlash *tx_flash, GdkColor *col, float r, float g, float b)
-{
-       float max=65535.0;
-       
-       col->red=(gint) (r*max);
-       col->green=(gint) (g*max);
-       col->blue=(gint) (b*max);
-       gdk_colormap_alloc_color (gtk_widget_get_colormap (GTK_WIDGET(tx_flash)), col, 1, 1);           
-}
-
-static void
-gtk_tx_flash_init (GtkTxFlash *tx_flash)
-{
-       GdkColormap *priv;
-                       
-       priv=gdk_colormap_new(gtk_widget_get_visual(GTK_WIDGET(tx_flash)), 6);
-
-       gtk_widget_set_colormap(GTK_WIDGET(tx_flash), priv);
-
-       gtk_tx_flash_mk_col(tx_flash, &tx_flash->black, 0, 0, 0);
-       gtk_tx_flash_mk_col(tx_flash, &tx_flash->red, 1, 0.5, 0.5);
-       gtk_tx_flash_mk_col(tx_flash, &tx_flash->green, 0.5, 1, 0.5);   
-       gtk_tx_flash_mk_col(tx_flash, &tx_flash->lightgreen, 0, 0.7, 0);
-       gtk_tx_flash_mk_col(tx_flash, &tx_flash->redgreen, 0.7, 0, 0);
-}
-
-GtkWidget*
-gtk_tx_flash_new ()
-{
-  GtkTxFlash *tx_flash;
-
-  tx_flash = gtk_type_new (gtk_tx_flash_get_type ());
-
-  return GTK_WIDGET (tx_flash);
-}
-
-static void
-gtk_tx_flash_destroy (GtkObject *object)
-{
-  g_return_if_fail (object != NULL);
-  g_return_if_fail (GTK_IS_TX_FLASH (object));
-
-  if (GTK_OBJECT_CLASS (parent_class)->destroy)
-    (* GTK_OBJECT_CLASS (parent_class)->destroy) (object);
-}
-
-static void
-gtk_tx_flash_realize (GtkWidget *widget)
-{
-  GtkTxFlash *tx_flash;
-  GdkWindowAttr attributes;
-  gint attributes_mask;
-
-  g_return_if_fail (widget != NULL);
-  g_return_if_fail (GTK_IS_TX_FLASH (widget));
-
-  GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED);
-  tx_flash = GTK_TX_FLASH (widget);
-
-  attributes.x = widget->allocation.x;
-  attributes.y = widget->allocation.y;
-  attributes.width = widget->allocation.width;
-  attributes.height = widget->allocation.height;
-  attributes.wclass = GDK_INPUT_OUTPUT;
-  attributes.window_type = GDK_WINDOW_CHILD;
-  attributes.event_mask = gtk_widget_get_events (widget) | 
-    GDK_EXPOSURE_MASK;
-  attributes.visual = gtk_widget_get_visual (widget);
-  attributes.colormap = gtk_widget_get_colormap (widget);
-  
-  attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP;
-
-  widget->window = gdk_window_new (widget->parent->window, &attributes, attributes_mask);
-
-  widget->style = gtk_style_attach (widget->style, widget->window);
-
-  gdk_window_set_user_data (widget->window, widget);
-
-  gtk_style_set_background (widget->style, widget->window, GTK_STATE_NORMAL);
-}
-
-static void 
-gtk_tx_flash_size_request (GtkWidget *widget, GtkRequisition *requisition)
-{
-       requisition->width = TX_FLASH_DEFAULT_SIZE_X;
-       requisition->height = TX_FLASH_DEFAULT_SIZE_Y;
-}
-
-static void
-gtk_tx_flash_prepare (GtkWidget *widget)
-{
-       GtkTxFlash *tx_flash;
-
-       g_return_if_fail (widget != NULL);
-       g_return_if_fail (GTK_IS_TX_FLASH (widget));
-       
-       tx_flash=GTK_TX_FLASH(widget);
-
-       tx_flash->levels=(widget->allocation.height-(2*DY))/DLEVEL;
-       tx_flash->last_level=0;
-       tx_flash->level_value=MAX_VALUE/(f_prec) tx_flash->levels;
-       tx_flash->red_level=(RED_BORDER/tx_flash->level_value);
-       
-       tx_flash->x1=DMINIX+S_MINIX+2;
-       tx_flash->x2=widget->allocation.width-tx_flash->x1-1;
-       tx_flash->max=0;
-}
-
-static void
-gtk_tx_flash_size_allocate (GtkWidget *widget, GtkAllocation *allocation)
-{
-  GtkTxFlash *tx_flash;
-
-  g_return_if_fail (widget != NULL);
-  g_return_if_fail (GTK_IS_TX_FLASH (widget));
-  g_return_if_fail (allocation != NULL);
-
-  widget->allocation = *allocation;
-
-  gtk_tx_flash_prepare(widget);
-
-  if (GTK_WIDGET_REALIZED (widget))
-    {
-      tx_flash = GTK_TX_FLASH (widget);
-
-      gdk_window_move_resize (widget->window,
-                             allocation->x, allocation->y,
-                             allocation->width, allocation->height);
-
-    }
-}
-
-static void gtk_tx_flash_paint_yourself(GtkWidget *widget)
-{
-  GtkTxFlash *tx_flash;
-  gint i, x11, x12,x21, x22, y;
-  int long_level;
-
-  tx_flash = GTK_TX_FLASH (widget);
-
-  gdk_gc_set_foreground(widget->style->fg_gc[widget->state], &tx_flash->black);
-  
-  gdk_draw_rectangle(widget->window, widget->style->fg_gc[widget->state], 1, 0, 0, widget->allocation.width,widget->allocation.height); 
-
-  gdk_gc_set_foreground(widget->style->fg_gc[widget->state], &tx_flash->lightgreen);
-
-  x12=DMINIX+S_MINIX;
-  x21=widget->allocation.width-1-x12;
-
-  for (i=0, y=widget->allocation.height-DY; i<=tx_flash->levels; y-=DLEVEL, i++)
-  {
-       if (i==0)
-       {
-               long_level=1;
-       }
-       else if (i==tx_flash->red_level-1)
-       {
-               long_level=1;
-       }
-       else if (i==tx_flash->red_level)
-       {
-               long_level=1;
-               gdk_gc_set_foreground(widget->style->fg_gc[widget->state], &tx_flash->redgreen);
-       }
-       else if (i==tx_flash->levels)
-       {
-               long_level=1;
-       }
-       else long_level=0;
-       
-       if (long_level)
-       {
-               x11=x12-L_MINIX;
-               x22=x21+L_MINIX;
-       }
-       else
-       {
-               x11=x12-S_MINIX;
-               x22=x21+S_MINIX;                
-       }
-       
-       gdk_draw_line(widget->window, widget->style->fg_gc[widget->state], x11, y, x12, y);
-       gdk_draw_line(widget->window, widget->style->fg_gc[widget->state], x21, y, x22, y);
-  }
-}
-
-static gint gtk_tx_flash_expose (GtkWidget *widget, GdkEventExpose *event)
-{
-
-  g_return_val_if_fail (widget != NULL, FALSE);
-  g_return_val_if_fail (GTK_IS_TX_FLASH (widget), FALSE);
-  g_return_val_if_fail (event != NULL, FALSE);
-
-  if (event->count > 0)
-    return FALSE;
-
-  gtk_tx_flash_prepare(widget);
-  gtk_tx_flash_paint_yourself(widget);  
-
-  return FALSE;
-} 
-
-static void
-gtk_tx_flash_update (GtkTxFlash *tx_flash)
-{
-  g_return_if_fail (tx_flash != NULL);
-  g_return_if_fail (GTK_IS_TX_FLASH (tx_flash));
-
-  gtk_widget_draw (GTK_WIDGET(tx_flash), NULL);
-}
-
-void
-gtk_tx_flash_set_level(GtkWidget *widget, f_prec new_value)
-{
-  GtkTxFlash *tx_flash;
-  gint i, y;
-  int new_level, end_level;
-  int red=0;
-
-  g_return_if_fail (widget != NULL);
-  g_return_if_fail (GTK_IS_TX_FLASH (widget));
-
-  tx_flash = GTK_TX_FLASH (widget);
-
-  new_level=(int) (new_value/tx_flash->level_value);
-  
-  if (new_level>tx_flash->levels) new_level=tx_flash->levels;
-  
-//  printf ("%f, %i, %i\n", tx_flash->level_value,new_level, tx_flash->last_level);
-  
-
-  if (new_level>tx_flash->max)
-  {
-       tx_flash->max=new_level;
-       tx_flash->max_cycles=MAX_MAX_CYCLES;
-  }
-  else
-  {
-       tx_flash->max_cycles--;
-  }
-  
-  if (tx_flash->max_cycles <= 0)
-  {    
-       y=widget->allocation.height-(DY+(tx_flash->max)*DLEVEL);
-       gdk_gc_set_foreground(widget->style->fg_gc[widget->state], &tx_flash->black);
-       gdk_draw_line(widget->window, widget->style->fg_gc[widget->state], tx_flash->x1, y, tx_flash->x2, y);
-
-       if (tx_flash->max>0)
-       {
-               tx_flash->max--;
-               y+=DLEVEL;
-               if (tx_flash->max>tx_flash->red_level)
-               {
-                       gdk_gc_set_foreground(widget->style->fg_gc[widget->state], &tx_flash->red);             
-               }
-               else
-               {
-                       gdk_gc_set_foreground(widget->style->fg_gc[widget->state], &tx_flash->green);           
-               }
-               gdk_draw_line(widget->window, widget->style->fg_gc[widget->state], tx_flash->x1, y, tx_flash->x2, y);   
-       }
-  }
-
-  if (new_level==tx_flash->last_level) return;
-
-  if (new_level<tx_flash->last_level) // make it look more realistic
-  {
-       new_level=tx_flash->last_level*0.95;
-  }
-  
-  if (new_level>tx_flash->last_level)
-  {
-         gdk_gc_set_foreground(widget->style->fg_gc[widget->state], &tx_flash->green);
-  
-         for (i=tx_flash->last_level, y=widget->allocation.height-(DY+tx_flash->last_level*DLEVEL); i<=new_level; y-=DLEVEL, i++)
-         {
-               if (!red)
-               {
-                       if (i>=tx_flash->red_level)
-                       {
-                               gdk_gc_set_foreground(widget->style->fg_gc[widget->state], &tx_flash->red);
-                               red=1;
-                       }
-               }
-               gdk_draw_line(widget->window, widget->style->fg_gc[widget->state], tx_flash->x1, y, tx_flash->x2, y);
-         }
-  }
-  else
-  {
-         gdk_gc_set_foreground(widget->style->fg_gc[widget->state], &tx_flash->black);
-
-         if (tx_flash->last_level==tx_flash->max)
-         {
-               i=tx_flash->last_level-1;
-         }
-         else
-         {
-               i=tx_flash->last_level;
-         }
-
-         for (y=widget->allocation.height-(DY+i*DLEVEL); i>new_level; y+=DLEVEL, i--)
-         {
-               gdk_draw_line(widget->window, widget->style->fg_gc[widget->state], tx_flash->x1, y, tx_flash->x2, y);
-         }
-  }
-  tx_flash->last_level=new_level;
-}
-
-void
-gtk_tx_flash_clear (GtkWidget *widget)
-{
-       GtkTxFlash *tx_flash;
-
-       tx_flash = GTK_TX_FLASH (widget);
-       
-       tx_flash->max=0;
-       tx_flash->max_cycles=0;
-       tx_flash->last_level=0;
-       
-       gtk_tx_flash_paint_yourself(widget);
-}
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
diff --git a/src/tX_flash.h b/src/tX_flash.h
deleted file mode 100644 (file)
index d97a304..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-    terminatorX - realtime audio scratching software
-    Copyright (C) 1999  Alexander König
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-    File: tX_flash.h
-    Description: Header to tX_flash.c
-*/    
-
-
-#ifndef __GTK_TX_FLASH_H__
-#define __GTK_TX_FLASH_H__
-#include <gdk/gdk.h>
-#include <gtk/gtkwidget.h>
-
-#include "tX_types.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-
-#define GTK_TX_FLASH(obj)          GTK_CHECK_CAST (obj, gtk_tx_flash_get_type (), GtkTxFlash)
-#define GTK_TX_FLASH_CLASS(klass)  GTK_CHECK_CLASS_CAST (klass, gtk_tx_flash_get_type (), GtkTxFlashClass)
-#define GTK_IS_TX_FLASH(obj)       GTK_CHECK_TYPE (obj, gtk_tx_flash_get_type ())
-
-typedef struct _GtkTxFlash        GtkTxFlash;
-typedef struct _GtkTxFlashClass   GtkTxFlashClass;
-
-struct _GtkTxFlash
-{
-        GtkWidget widget;
-       
-       GdkColor black;
-       GdkColor red;
-       GdkColor green;
-       GdkColor lightgreen;
-       GdkColor redgreen;
-       
-       int levels;
-       int last_level;
-       int red_level;
-       f_prec level_value;
-       
-       int x1, x2;
-       
-       int max, max_cycles;
-};
-
-struct _GtkTxFlashClass
-{
-       GtkWidgetClass parent_class;
-};
-
-GtkWidget*     gtk_tx_flash_new        ();
-guint         gtk_tx_flash_get_type (void);
-static void           gtk_tx_flash_prepare (GtkWidget *widget);
-void           gtk_tx_flash_set_level (GtkWidget *widget, f_prec new_value);
-void           gtk_tx_flash_clear (GtkWidget *widget);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-#endif
diff --git a/src/tX_global.c b/src/tX_global.c
deleted file mode 100644 (file)
index 9a3b0ec..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
-    terminatorX - realtime audio scratching software
-    Copyright (C) 1999  Alexander König
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-    File: tX_global.c
-    Description:  This file contains the routines for handling the
-                 "globals" block. Intializing, reading setup from
-                 disk and storing it.
-                 
-    Changes:
-    
-    21 Jul 1999: introduced the lowpass globals.                         
-*/    
-
-#include <stdio.h>
-#include <stdlib.h>
-#include "tX_types.h"
-#include "tX_global.h"
-#include "string.h"
-
-tx_global globals;
-
-void get_rc_name(char *buffer)
-{
-       strcpy(buffer,"");
-       
-       if (getenv("HOME"))
-       {
-               strcpy(buffer, getenv("HOME"));
-               if (buffer[strlen(buffer)-1]!='/')
-               strcat(buffer, "/");
-       }
-       strcat(buffer, ".terminatorXrc.bin");
-}
-
-void load_globals()
-{
-       char rc_name[PATH_MAX]="";
-       FILE *rc;
-       
-       strcpy(globals.scratch_name, "scratch.wav");
-       strcpy(globals.loop_name, "");
-       
-       strcpy(globals.prefix, "tX_scratch");
-       strcpy(globals.audio_device, "/dev/dsp");
-       
-       strcpy(globals.xinput_device, "");
-       globals.xinput_enable=0;
-       
-       globals.update_idle=18;
-       
-       globals.buff_no=2;
-       globals.buff_size=9;
-       
-       globals.rec_size=1024000;
-
-       globals.do_mix=1;
-       globals.scratch_vol=0.5;
-       
-       globals.sense_cycles=12;
-       
-       globals.mouse_speed=0.8;
-       
-       globals.width=800;
-       globals.height=440;     
-       
-       globals.vtt_default_speed=1.0;
-       globals.tooltips=1;
-
-       globals.time_update=15;
-       globals.time_enable=1;
-       
-       globals.filectr=0;
-       globals.reset_filectr=1;
-       
-       globals.use_y=0;
-       globals.use_stdout=0;
-       
-       globals.show_nag=1;
-       globals.prelis=1;
-       
-       globals.lowpass_enable=0;
-       globals.lowpass_reso=0.9;
-       
-       strcpy(globals.last_fn,"");
-       
-       globals.pitch=1.0;
-       globals.volume=1.0;
-       globals.gui_wrap=3;
-       
-       strcpy(globals.tables_filename, "");
-       strcpy(globals.record_filename, "");
-       globals.autoname=0;
-
-       get_rc_name(rc_name);
-
-       rc=fopen(rc_name, "r");
-       if (rc)
-       {
-               fread(&globals, sizeof(tx_global), 1, rc);
-               fclose(rc);
-       }
-       
-       globals.scratch_size=0;
-       globals.scratch_len=0;
-       globals.scratch_data=NULL;
-
-       globals.loop_size=0;
-       globals.loop_len=0;
-       globals.loop_data=NULL;
-       
-       globals.rec_buffer=NULL;
-       globals.rec_len=0;
-       if (globals.reset_filectr) globals.filectr=0;
-}
-
-void store_globals()
-{
-       char rc_name[PATH_MAX]="";
-       FILE *rc;
-       
-       get_rc_name(rc_name);
-
-       rc=fopen(rc_name, "w");
-       if (rc)
-       {
-               fwrite(&globals, sizeof(tx_global), 1, rc);
-               fclose(rc);
-       }       
-}
diff --git a/src/tX_global.h b/src/tX_global.h
deleted file mode 100644 (file)
index 82856f1..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
-    terminatorX - realtime audio scratching software
-    Copyright (C) 1999  Alexander König
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-    File: tX_global.h
-    Description: Header to tX_global.c / defines the heavily used
-                tX_global struct.
-                
-    Changes:
-    
-    21 Jul 1999: Introduced the lowpass globals.
-*/    
-
-#ifndef _TX_GLOBAL_H
-#define _TX_GLOBAL_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#include <limits.h>
-#include <stdio.h>
-#include "tX_types.h"
-
-#ifndef PATH_MAX
-#define PATH_MAX 1024
-#endif
-
-typedef struct {
-       char    scratch_name[PATH_MAX];
-       unsigned int    scratch_size; // In Bytes
-       unsigned int    scratch_len; // In samples
-       int16_t *scratch_data; 
-       
-       char    loop_name[PATH_MAX];
-       unsigned int    loop_len;
-       unsigned int    loop_size;
-       int16_t *loop_data;
-       
-       char    prefix[PATH_MAX];
-       char    audio_device[PATH_MAX];
-       
-       int     xinput_enable;
-       char    xinput_device[256]; // If your device's name is longer than that
-                                   // you are insane and you simply don't deserve
-                                   // running terminatorX ;) (said the guy who invented 8+3)                                                               
-
-       int     do_mix;
-       f_prec  scratch_vol;
-       
-       int     update_idle;
-       
-       int     buff_no;
-       int     buff_size;
-       
-       int     rec_size; // In Bytes   
-       int16_t *rec_buffer;
-       
-       int     sense_cycles;
-       
-       int     width;
-       int     height;
-       
-       f_prec  vtt_default_speed;
-       
-       int tooltips;
-       
-       f_prec mouse_speed;
-       
-       int time_enable;
-       int time_update;
-
-       int rec_len;
-       
-       int filectr;
-       int reset_filectr;
-       
-       char last_fn[PATH_MAX];
-       int use_y;
-       int use_stdout;
-       int show_nag;
-       
-       int prelis;
-       
-       int lowpass_enable;
-       f_prec lowpass_reso;
-       
-       f_prec pitch;
-       f_prec volume;
-       
-       int gui_wrap;
-       
-       char tables_filename[PATH_MAX];
-       char record_filename[PATH_MAX];
-       int autoname;
-       
-} tx_global;
-
-extern tx_global globals;
-
-extern void load_globals();
-extern void store_globals();
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif
diff --git a/src/tX_logo.c b/src/tX_logo.c
deleted file mode 100644 (file)
index 3b0cb4d..0000000
+++ /dev/null
@@ -1,392 +0,0 @@
-/*
-    terminatorX - realtime audio scratching software
-    Copyright (C) 1999  Alexander König
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-    File: tX_logo.c
-    Description: Contians terminatorX-logo.
-*/    
-
-/* XPM */
-char * logo_xpm[] = {
-"590 110 256 2",
-"      c None",
-".     c #020204",
-"+     c #9B832B",
-"@     c #823E0C",
-"#     c #51420D",
-"$     c #CDC58B",
-"%     c #C98227",
-"&     c #84450A",
-"*     c #7D6305",
-"=     c #C75A64",
-"-     c #452411",
-";     c #826607",
-">     c #68441B",
-",     c #AAA284",
-"'     c #A56428",
-")     c #A7842D",
-"!     c #E8E4BE",
-"~     c #6B5404",
-"{     c #8E7214",
-"]     c #483606",
-"^     c #272420",
-"/     c #C7A560",
-"(     c #653512",
-"_     c #A38A87",
-":     c #E5C377",
-"<     c #675454",
-"[     c #867460",
-"}     c #EAAE6C",
-"|     c #555453",
-"1     c #583418",
-"2     c #C2AAB5",
-"3     c #251111",
-"4     c #757474",
-"5     c #A24E0C",
-"6     c #353433",
-"7     c #856557",
-"8     c #634538",
-"9     c #454444",
-"0     c #646464",
-"a     c #858484",
-"b     c #735508",
-"c     c #88541B",
-"d     c #A99358",
-"e     c #BAB58A",
-"f     c #FBF3CB",
-"g     c #97632F",
-"h     c #372413",
-"i     c #DAD398",
-"j     c #774416",
-"k     c #E7D49B",
-"l     c #A8997F",
-"m     c #9C957B",
-"n     c #E5841E",
-"o     c #776464",
-"p     c #A4A4A4",
-"q     c #937512",
-"r     c #A87333",
-"s     c #473435",
-"t     c #967563",
-"u     c #2B1818",
-"v     c #C36D1C",
-"w     c #652E0A",
-"x     c #392C0F",
-"y     c #C7C4C6",
-"z     c #574443",
-"A     c #CAB678",
-"B     c #E8E3E5",
-"C     c #C7BA9D",
-"D     c #96848B",
-"E     c #E9D4E4",
-"F     c #725448",
-"G     c #845664",
-"H     c #765C05",
-"I     c #945417",
-"J     c #B6843B",
-"K     c #321E1E",
-"L     c #886D0E",
-"M     c #432E2B",
-"N     c #533E3C",
-"O     c #7B6C67",
-"P     c #B59C78",
-"Q     c #99733D",
-"R     c #743407",
-"S     c #8B7C7E",
-"T     c #E96872",
-"U     c #FCD4E2",
-"V     c #F8E4F3",
-"W     c #C79445",
-"X     c #6B5B56",
-"Y     c #171412",
-"Z     c #5C4B49",
-"`     c #9C8C92",
-" .    c #654D08",
-"..    c #875C23",
-"+.    c #B8A4B1",
-"@.    c #784C1B",
-"#.    c #A57C5F",
-"$.    c #563C0B",
-"%.    c #5D4B11",
-"&.    c #D6BBA1",
-"*.    c #D8A34C",
-"=.    c #291E18",
-"-.    c #6B5A31",
-";.    c #B79551",
-">.    c #BA741F",
-",.    c #4C3B3C",
-"'.    c #AA99A3",
-").    c #D9C4D3",
-"!.    c #562C12",
-"~.    c #FDECF9",
-"{.    c #8E424C",
-"].    c #4A3A05",
-"^.    c #AA844C",
-"/.    c #673C17",
-"(.    c #976C2D",
-"_.    c #3D2A2C",
-":.    c #FE849C",
-"<.    c #B2635C",
-"[.    c #685433",
-"}.    c #FDF4FA",
-"|.    c #B9A36E",
-"1.    c #977C40",
-"2.    c #B28674",
-"3.    c #785430",
-"4.    c #382425",
-"5.    c #886434",
-"6.    c #B86B1B",
-"7.    c #775B34",
-"8.    c #BDAAB6",
-"9.    c #FE062A",
-"0.    c #FE284A",
-"a.    c #FE4A6A",
-"b.    c #E2BE68",
-"c.    c #C7741C",
-"d.    c #FD9224",
-"e.    c #FD758C",
-"f.    c #A35915",
-"g.    c #E3CAB1",
-"h.    c #FEB9CD",
-"i.    c #FD94AD",
-"j.    c #FE193B",
-"k.    c #FE3858",
-"l.    c #FE5674",
-"m.    c #C9955E",
-"n.    c #AC5A5C",
-"o.    c #CA625C",
-"p.    c #FEA4B9",
-"q.    c #D9841E",
-"r.    c #FEC4D6",
-"s.    c #D9D4D3",
-"t.    c #A64D55",
-"u.    c #D6C597",
-"v.    c #FAE4C1",
-"w.    c #D8B569",
-"x.    c #D8943C",
-"y.    c #966A68",
-"z.    c #F2DA7C",
-"A.    c #E6CC96",
-"B.    c #FE6482",
-"C.    c #D77D1D",
-"D.    c #190B12",
-"E.    c #99454F",
-"F.    c #998451",
-"G.    c #C58C4B",
-"H.    c #8A7343",
-"I.    c #B4B4B4",
-"J.    c #949494",
-"K.    c #954D17",
-"L.    c #764D3B",
-"M.    c #C8AC6A",
-"N.    c #987C5C",
-"O.    c #B68C48",
-"P.    c #783D11",
-"Q.    c #D7AB5E",
-"R.    c #7B6B38",
-"S.    c #F58D20",
-"T.    c #A49199",
-"U.    c #5C5C5C",
-"V.    c #C5B0BD",
-"W.    c #7C7C7C",
-"X.    c #3C3C3C",
-"Y.    c #846D69",
-"Z.    c #E7DCA4",
-"`.    c #A77C3D",
-" +    c #F3DDEC",
-".+    c #B89C59",
-"++    c #B57D39",
-"@+    c #B29EAA",
-"#+    c #A76C1E",
-"$+    c #6C6C6C",
-"%+    c #8C8C8C",
-"&+    c #EDDAEB",
-"*+    c #735E5A",
-"=+    c #BBAB76",
-"-+    c #D7CC98",
-";+    c #F4EEC0",
-">+    c #D7BC75",
-",+    c #BC575F",
-"'+    c #4F2511",
-")+    c #CCB8C6",
-"!+    c #D3BDCC",
-"~+    c #F69E4C",
-"{+    c #DA636C",
-"]+    c #854C16",
-"^+    c #2C2C2B",
-"/+    c #634E4B",
-"(+    c #A79B5C",
-"_+    c #975C24",
-":+    c #C89C4E",
-"<+    c #DDCAD9",
-"[+    c #C49D61",
-"}+    c #DDDDD6",
-"|+    c #632D37",
-"1+    c #B6525C",
-"2+    c #C98D35",
-"3+    c #AE8E3C",
-"4+    c #EBEBC9",
-"5+    c #4C4C4C",
-"6+    c #ACACAC",
-"7+    c #987A15",
-"8+    c #CCCCCA",
-"9+    c #AB8C53",
-"0+    c #FEFEFC",
-"a+    c #CC7A20",
-"b+    c #9C8D56",
-"c+    c #8C7B48",
-"d+    c #BCBBB9",
-"e+    c #9C9C9C",
-"f+    c #B69179",
-"g+    c #E3CDDB",
-"h+    c #ECECEA",
-"i+    c #1D1C1A",
-"j+    c #8A4C44",
-"k+    c #D89D3A",
-"l+    c #FC6D88",
-"m+    c #FEFDC1",
-"n+    c #FE7D98",
-"o+    c #896C3D",
-"p+    c #937D8B",
-"q+    c #796437",
-"r+    c #FE9BB0",
-"s+    c #9A4D4C",
-"t+    c #F8D6AC",
-"u+    c #F6B654",
-"v+    c #0E0C09",
-"w+    c #E98B1C",
-"x+    c #C9C5A2",
-"y+    c #893E46",
-"z+    c #D05E66",
-"A+    c #5A4417",
-"B+    c #7A363F",
-"C+    c #FE8CA3",
-"D+    c #FEACC2",
-"E+    c #FECCDD",
-"F+    c #66332F",
-"G+    c #87747D",
-". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i+h ]. .H H H H H H H H H H H H H H H H H H H H H H H ~ H b H ~ H b H ~ H ~ b b ~ H ~ ~ H ~ ~ b ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~  .~  .~  .~  .~  .A+] h Y v+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ].L L h ] 7+7+7+Q o.T z+j+q 7+7+7+7+7+7+7+7+7+7+7+7+7+# . . . . . . . . K = T {+|+v+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v+Y x ]. .H H H H H H H H H H H H H H b H b H ~ H b H ~ b ~ b ~ b H b H b H ~ H b H ~ H H ~ H b H H ~ H H ~ H H b H b H b H b b b b b b b b b b b ~ b b ~ b ~ b ~ b ~ b ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~  .~  .~  .~  .~  . . . . . . . . .~  .~  .~  .~  . .~ ~ ~  .%.$.] =.Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A+L ; =.x 7+7+7+7+q <.T T s+o+7+7+7+7+7+7+7+7+7+7+7+{ ] . . . . . . . . . v+y+T T t.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v+i+x $.~ H H H H H H H H H H H H H H H H H b H H H H H H H ~ H H H H H H H H ~ H ~ H ~ H ~ H b ~ H ~ H ~ ~ H H H H H H ~ b ~ b ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ b ~ ~ ~ ~ b ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~  .~  .~  .b ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~  .~ ~ ~  .~  .~ ~  . . .~ ~ ~  .~  . .%.].x u v+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  .; * =.] 7+7+7+7+7+q ' {+T t...7+7+c+q q q q q q 7+{ =.. . . . . . . . . . . '+= l+= |+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v+=.] # ~ H H H * H H H * H H H H H H H H H H H H H ~ * ~ H H ~ H H H H H H H H ~ H ~ H H ~ H H H H ~ H ~ H H ~ H 5.H P.( /...O.1.; R.~ H ~ H ~ H ~ H H ~ H ~ H ~ ~ b ~ ~ b ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ b ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~  .~ ~ ~ ~ ~ ~ ~  .~ ~  . .~ ~  .~  . .~ ~ ~  . . . . .~ ~  .~ ~ ~  .%.].x i+v+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ~ L * i+x 7+c+7+7+7+7+7+(.z+T ,+j+q q 7+7+1.7+c+7+7+q =.. . . . . . . . . . . . 3 E.T {+E.D.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y =.] A+H H H H H H * * H H * H H * H H H H H H H H H H H H H H H H H H H H H ~ H -.H ~ H H H H ~ H H ~ H ~ H H H ~ H ~ H A+& L._.=.s 5+X =+H.) ) H b H ~ H ~ ~ H ~ ~ ~ ~ ~ H ~ ~ H ~ ~ b ~ b ~ b ~ b ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~  .~  .~  .~ ~  .~  . . .~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~  . . .~ ~ ~ ~ ~  . .~  . . .~  . . . . . .A+] h Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i+A+A+$.$.A+A+$.$.A+/.$./.A+$././././././.].# - . . . . v+1 /./.P.> > P.> j /./.j /./.j /.> $.] /.D.. . . . . . . . . . . . . . . . . . . . . . . . . * ; H Y ] q 7+7+7+7+7+7+7+q o.T {+j+{ 7+7+7+7+7+q 7+{ Y . . . . . . . . . . . . . . |+{+l+,+'+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . . . . . . . . . . . . . . . . . . . x x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y h ].%.H H * H * H * * * * * H H H * H * H H * H * H H H H H H H H H H H H H H H H H H H H H H H H ~ H H H -.H H H H b ~ H H b H & f.M 6 $+0 U.| | 5+9 D :+*.H ~ H ~ H ~ ~ H -.H H ~ ~ ~ ~ ~ ~ -.~ b ~ ~ b ~ ~ ~ b b ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ b ~ ~ ~ b ~ ~ ~ ~ ~ b ~ ~ ~  . .~ ~  .~  .~  .~ ~ ~ ~ ~  .~  . .~ ~  .~ ~ ~  .~ ~ ~ ~  . .~  .~  .~ $.] h Y . . . . . . . . . . . . . . . . h u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x Z.[ M - M M M !.M '+M M M '+h - x h - h _.F._+9+@.D.. . (.=.3 x u u u u u u u u u u u u u - P c+r ..v+. . . . . . . . . . . . . . . . . . . . . . . . ; ; ~ Y M 7+{ { { H.{ L H.{ { <.T T s+q+7+q 7+q 7+q L v+. . . . . . . . . . . . . . . 3 1+l+{+y+D.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . . . . . . . . . . . . . . . . . v+z 2+|.Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y x ].~ H * * H * * * * H * H H H H H * * * H H H * H H * H * H H H H H H H H H H H H H H H H H H H H H H H H H b H H H ~ H -.H H H ~ H H ]+c ^+$+U.U.%+%+a W.W.a $+%+(.3+ .~ ~ H ~ b ~ ~ ~ H -.H ~ H ~ ~ H ~ ~ ~ b ~ ~ b ~ ~ ~ b ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~  .b ~ ~  .~ ~ ~  .~ ~ ~ ~  . .~ ~ ~ ~  . .~  . . .~  . . . .~ ~  .~  .~  .~  . . .~ %.$.x =.v+. . . . . . . . . . v+@._+D.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . s ~.8+a W.X 0 0 0 0 0 0 0 0 0 U.0 0 0 U.0 0 U.$+e+C %.. Y q+[.| %+0 $+0 0 0 X 0 U.0 0 0 U.0 0 4 5+X 3.D.. . . . . . . . . . . . . . . . . . . . i+z o G+G+G+G+Y.O O $+o *+*+X /+,._.s /+L.{+T 1+..q c+7+7+{ ; . . . . . . . . . . . . . . . . . . B+{+T 1+- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . . . . . . . . . . . . . . . . v+u c+6+`.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v+i+x # ~ * * * * * * * H ; H * H * * * * * * * * H H H H * * H * H H H H H H q+H H H H H H H H H H H H H H H H H H H H H H H ~ H H H H H ~ H H -.H /.c ^ 4 5+%+4 0 U.| U.| | U.a 6 3.7.%.~ ~ ~ H ~ H ~ ~ ~ b ~ ~ H ~ ~ H ~ H ~ -.~ b ~ ~ b ~ b b b ~ b ~ b ~ ~ ~ ~ ~ ~ ~  .~ ~ ~ ~ ~  .~ ~ ~ ~ ~ ~ ~  .~ ~ ~  . .~ ~ ~ ~  . . .~ ~  .~ ~ ~  .~ ~ ~ ~  . .~  .~  .~  . . .~  . .~ ~  . . .].x i+v+. . . . v+q+c.z (.Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y e 0+8+| %+W.W.W.W.W.W.W.W.W.W.W.W.W.a W.W.a $+e+0+C Y Y > Z.I.$+, J.a W.W.a W.a a W.a a W.4 0 0 q+7.. . . . . . . . . . . . . . . . . . ^ /+G+` T.'.@+@+@+'.'.T.T.T.` ` D D D p+o K K *+G z+T = c { { 7+7+H . . . . . . . . . . . v+v+v+v+v+v+D.D.!.,+z+1+|+Y D.v+D.Y D.Y D.Y Y Y Y Y Y v+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . . . . . . . . . . . . . . . 3 3 $.0 o @.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v+=.] # ~ * * * * * * * * * * * * * * * * H * H * * H * H * * * * H H * H * * H * * * H H * H H q+H * H H H H -.H H H H H H H H -.H H H H H H H ~ H H ~ H H * ]+6 0 5+%+0 U.U.U.| | | 5+| a 5+-+~ # %.~ ~ H ~ H H ~ H ~ H ~ H ~ b ~ ~ H ~ H ~ b ~ b ~ ~ ~ ~ b ~ ~ b ~ ~ b ~ ~ ~ ~ b ~ ~ ~ ~ ~ b ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~  .~ ~ ~  .~ ~ ~  .~ ~  . . . .~ ~  . . .~  .~ ~ ~  . .~  . .~ ~  . . . . . .A+] h x - 3.4 | > D.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . q+0+0+W.U.^+^ ^ ^ ^ ^ ^ ^ ^+^+^+^+^ ^+^+^+^+| J.0+Z.z . z g.}.I.%+9 9 X.6 6 6 6 X.X.6 X.0 | 0 i+u x . . . . . . . . . . . . . . v+6 o D '.@++.8.2 8.8.8.8.+.+.@+@+T.T.'.T.` ` D D ,.u N G+Y.,+T {+{.z [.*  .. . . . . . . . . . ~ * A+$.$.$.# # $.# # # # ].# # # $.# $.# $.$.$.$.$.$.$.].h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . . . . . . . . . . . . . . v+D.3 $+0 $+A v+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v+=.] A+H * * * * ; * ; * * * * * * * H * * * * * * * * * * H ; H * * H * H * * H H H H * H H H H * H H * H * H * H * H H H H H H H H H H H H H H H ~ H H H H H H H H /.z 6 U.%+U.5+| | | | 5+5+5+9 $+| S w.x ] %.~ ~ H ~ ~ H ~ H b ~ b ~ H ~ b ~ ~ ~ ~ H ~ ~ b ~ b ~ ~ ~ ~ ~ ~ ~ b ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~  .~  .~ ~ ~  .~ ~  .~  .~ ~ ~ ~ ~ ~  .~  .~ ~  .~ ~ ~ ~  . .~ ~ ~  .~  . . . .~  . .~  . . .~ ~  .~  .~  .* ( 3 0 X.0 w.Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 ;+0+p %+^ i+i+i+i+i+i+i+i+i+i+i+^ i+i+i+i+^+J.p 0+, X.| 0+0+s.s.| ^+^+^+^+^+^+^ ^+^+X.a 0 ^ =.'+v+. . . . . . . . . . . Y ,.O T.@+8.V.V.V.V.V.V.V.V.V.V.2 2 +.+.+.@+'.'.T.T.T.` p+u u o G+G+n.{+T t./+/+z 4.u . . . . . . . . ; q { ~ # # # $.# $.$.$.# # $.# $.# $.# $.# # # # # # # # $.] Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . . . . . . . . . . . . . Y - u | $+6 F.++. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y h ]. .* ; ; ; * ; ; ; ; ; * ; * ; * ; * * * ; * * * * * H * * * H ; * * H * * H ; * H * * * * H * H * H H * H H H H H H * H * H H H H H H H H H H H H H H H H H H H ~ H H H * 1 _.$+| $+| 5+5+| | | 9 9 X.6 | | W.H.h h ]. .~ H ~ b ~ H ~ H ~ H ~ -.H ~ H ~ H ~ ~ H ~ H ~ ~ b ~ b ~ ~ ~ ~ b ~ b ~ b ~ ~ ~ ~ ~ ~ ~ ~ ~ b ~ ~ ~ ~ ~ ~ ~  .~ ~ ~ ~ ~  .~  .~ ~ ~ ~ ~  .~ ~  . .~ ~ ~  .~  .~  .~  .~ ~  .~ ~  .~ ~ ~  . .~  . . .~ ~ 1 3 i+0 0 $+]+%.x =.i+D.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . , 0+}+W.6 i+i+i+i+i+Y i+Y i+i+Y i+i+i+i+^ ^ 0 4 f e+6 9 4+0+0+d+U.^ ^ i+^ ^ ^ ^ ^ ^+| U.4 Y u x . . . . . . . . . v+5+S +.8.)+!+)+!+!+!+!+!+)+!+)+)+)+V.V.V.V.2 2 8.+.+.@+@+'.T.T./+u M D D G+y.{+T 1+j+0 X < /+,.Y . . . . v+L L q 7+L * * * * * * ; ; ; ; ; ; ; ; ; ; ; L ; L ; L L L ; L ; =.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . . . . . . . . . . . . h j M 0 $+9 $+4 G.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y x ]. .* ; ; ; ; ; ; ; ; ; ; ; ; * * ; ; ; * * ; ; * * * * * * * * ; * H * ; * H * ; H * * * H * * H H H * H * H * * H * * * H H H H H H H * H * H H H H H H H H H H H H H H H H H H H H j i+0 W.| 5+5+5+5+5+5+9 6 ^ ^ 5+U.$+j %.i+x %.~ ~ H -.H ~ H ~ H ~ H ~ ~ H ~ b ~ ~ H ~ -.~ ~ H ~ H ~ b ~ b ~ ~ b ~ ~ b ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ b  .~ ~ ~ ~ ~ ~ ~ ~  .~ ~ ~ ~  .~ ~  .~ ~ ~ ~ ~ ~ ~  .~ ~  .~ ~  .~  .~ ~ ~  . .~  . . . .~  . .~  .H ] 3 i+W.U.$+X.!.# =.h ] %.%.].x u v+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . N }.0+4 0 i+i+i+i+i+i+i+i+Y i+i+i+i+^ i+i+i+6 4 J.v.M ^ %+0+0+p e+X.^ ^ i+i+i+i+^ ^ 4 U.X.i+'+Y . . . . . . . . _.T.V.!+!+).!+).).).).).!+).).!+!+!+!+!+!+)+)+V.V.2 2 2 +.+.+.@+@+T.K 3 *+D D p+y.z+T z+{.o o *+*+X z i+. . Y L L L + 7+7+7++ 7++ 7+7+7+7+7+7+7+7++ 7+7+7+7+7+7+7+7+7+7+7+q q ] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . . . . . . . . . . . z f.%.4 $+$+^+0 S :+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i+x # H * ; L ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; * ; ; * ; ; ..; ; ; * * * * * * * ; * * * * * H ; * ..* * H * * * * H * H * H H * H H H * * q+H H * H H * -.H H * H H H H H H H H H H H H H H H H H H 1.i+0 %+5+| 5+5+5+| 5+9 6 ^ i+$+U.| P.| Y =.].~ ~ H ~ H ~ H ~ H ~ H ~ b ~ H -.H ~ b ~ ~ H ~ -.~ -.~ H ~ b ~ b ~ ~ ~ ~ b ~ ~ ~ b ~ ~ ~ ~ ~ ~ b ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~  .~ ~  .~  .~ ~  .~ ~  .~ ~  .~  .~ ~  . .~ ~  .~ ~ ~ ~  . .~  .~ H - K Y 4 5+W.$+^ '+].Y =.] A+ .~ ~  . .A+].x Y v+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v+(+0+%+W.6 ^+^ ^ ^ ^+^+^+^+^ ^ i+i+i+i+^ ^ ^ $+| ;+c+^ ^ Z.0+}+p 5+^ i+^ ^ i+i+i+X.$+4 Y 3 $.. . . . . . . . o +.!+).g+<+g+<+<+<+<+<+<+).).<+<+<+).).).!+!+!+)+)+)+V.V.2 2 2 +.+.@+o 3 K T.` ` D p+= T {+t.o Y.Y.o o *+Z ^ =.L { L 7+7+q { q q q 7+{ 7+q { 7+{ { { q { { q { q { { { { { q L =.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . . . . . . . . . . [.c.F a 0 0 ^ X.U.F./ v+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v+=.x A+H L ; ; ; ; L ; ; L ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; * ; ; * * ; * * * ; * ; * ; * * * * * * * * * * * * H * * * ..H * * * * * * * H * H * H H H * * H * H H * H * H H H * H H H H H H H H H H H H H H * O.^ 0 %+U.U.U.U.0 U.U.| X.^+X.$+4 ^ P.6 . =.]. .~ ~ H ~ -.H ~ ~ H ~ H ~ H ~ ~ ~ ~ H ~ H ~ ~ ~ ~ ~ H ~ ~ -.~ b ~ -.b ~ ~ b b b ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~  .~ ~ ~ ~ ~ ~ ~ ~ ~ ~  .~ ~  .~ ~ ~  .~ ~  .~  .~ ~  .~  . . . . . . .%.%.b 1 ] i+4 5+a 4 0 ^ K ^+v+i+] %. . . .~  .~  . .~  .# ] h Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ^+: a | 4 5+5+5+5+| | | 5+5+9 X.6 6 ^+^+^+^+5+0 p =+i+v+p 0+0+6+W.^+^ ^ i+i+i+i+0 | | Y - i+. . . . . . ^ T.)+<+<+g+E E E E g+E g+g+E E E g+<+<+<+<+).).!+!+!+)+)+)+)+V.V.2 2 +.8.'.u D.Y.T.T.T.T.` <.{+T 1+G G+G+Y.Y.o o q+{ L L 7+{ 7+{ q { { { { { q { { 7+{ { 7+{ q { { q { { { q { { L Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . . . . . . . . . X.v 3.%+| 4 i+^ X.U.D M.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v+=.] %.H ; L L ; ; L L L ; ; L ; ; L L ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; * ; ; ; ; * ; * ; * * * * * * * * * * * * H * ; * * H * * H * H H H * H * H * H * H * H H H H * H H * H H q+H H H * H H H -.H H H H H H H H H H g =+4 4 a W.W.W.W.W.4 $+U.U.W.0 5+v+ .3 . i+]  .H ~ H ~ b H ~ H ~ H ~ H ~ H H ~ b ~ b b H ~ H ~ b ~ H ~ H ~ H ~ ~ H ~ ~ ~ ~ ~ b ~ b ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~  .~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~  .~ ~ ~  .~ ~  .~ ~  .~ ~  .%.~ ~  .%.%.-.q+`.G.^ $+9 J.0 %+0 ^+- =.. i+] %. . . . . . . . . .~  . . .~  .$.] =.Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0 ] $+4 %+a a a a %+a a W.4 0 | 5+5+5+5+9 5+a 0 A # ^ 0 0+0+y p | ^+^+^+^ i+^+W.4 i+3 x . . . . . . X V.).g+E E E E E &+&+E &+&+E E E E E g+g+g+<+<+<+).).!+!+!+)+V.V.V.V.2 8.+.+.N D.s '.T.T.T.T.T.t {+T = G G+G+G+G+G+o+L L q 7+q { 7+{ q q { 7+{ { c+{ { q { { { { q { { q { { { q { L v+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . . . . . . . . ] K.z a | $+i+i+^ 9 U.F.M.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v+h ]. .H L L ; L L L ; L L L ; ; ; L L ; L L ; ; L L L L ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; * * ; ; * ; * 5.* * 5.* * * * * * * ; * * H * * * * ; H * * * H * H * H * H * H * H q+* H H H H H H H H * H H H H * H H H H H H H H H H H { 5.4 5+e+e+J.e+e+e+J.J.J.4 | | i+u 1 . v+Y ]  .~ H ~ H H ~ H b H ~ H ~ H b ~ H H ~ H ~ ~ H ~ H ~ ~ b ~ ~ ~ b ~ ~ ~ b ~ b ~ ~ ~ b ~ b ~ b ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ b ~ ~ ~ ~ ~  .~ ~ ~ ~ ~  .~ ~  .~ ~ ~  .~ ~  .~  .~  .~ %.~  .%.%.q+;+0+0+W.0 5+%+a 4 %+U.^+!.^ v+3 ] A+ .~  .~  .~ ~  . . . . .~  . . . .~  . .].x =.v+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . - j 5+9 J.e+e+e+e+e+e+e+e+e+J.%+a W.W.4 4 4 J.5+N.`.v+6 , 0+}+$+W.| 9 X.X.X.$+| | ^ u u . . . . i+` !+<+E E E &+ + +V  + +V &+&+&+&+E E E E E g+g+g+<+<+).).!+!+!+)+)+V.V.2 2 2 2 G+D.3 '.Z K K K 4.K - 1+T z+{.4._.M s ..L L { 7+q { { q { c+{ { { q { { q { q q q { { { { { { { q { { * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . . . . . . . [.P.x 4 U.4 ^ Y i+Y | U.o :+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y h ].~ ; L L L L L L L L L ; L L ; L L L L ; ; L ; ; ; L ; ; ; ; L ; L L ; ; ; ; ; ; ; ; * ; ; ; ; ; * ; * ; ; * ; * * * ; * * 5.* * * * * * * * * * H ; * * * * * * * * H * H * H * H H * * * H * * H * H H q+H * H H * H H H H H H H H H H * r '+0 4 $+W.p e+e+a $+9 $+5+6 z u i+. v+=.]. .~ H H ~ H ~ H ~ H ~ H ~ H ~ H ~ ~ H ~ H ~ H ~ H ~ H ~ H ~ b ~ H ~ H ~ ~ ~ -.~ b ~ ~ ~ ~ ~ b ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~  .~ ~  .~ ~  .~ ~  .~ ~  .~ ~ ~ ~ ~ ~ ~ %. .~  .%.%.~ %.-.$ 0+0+0+p U.a J.%+a %+U.6 R i+v+i+] %. .~  .~  . .~  . .~ ~  . .~  . . . . .~  . .~  .A+].x i+v+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v+R.^+0 | %+%+%+%+%+%+%+J.e+e+p e+e+e+e+e+J.e+| 4 [.^+v+x e+Q W.W.W.$+0 0 $+4 $+^+L.u . . . . X.@+).E E E  + + +V V V V V V  + +&+ +&+E E E E E g+<+<+<+<+).!+!+!+!+)+)+V.V.V.2 2 2 u D.G ,.D.D.D.D.D.D.D.E.T T E.u D.D. .L L q 7+q q q { { { 7+{ q { q { { q { { { q { q { q { q { { { b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . . . . . . x u 3 U.$+4 6 Y v+v+Y $+U.9 Q . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y x # ~ L L L { L L L L L L L L L L L L L L L ; L L ; L L L ; L L ; ; ; L ; ; L ; ; ; ; * L * ; ; ; ; ; ; ; ; ; ; ; * ; * ; * ; ; ..; * * * * * * * * * * * H * ; H H * H * H * H H * q+* H * * H * H H H * H H * H H * H * H H H H * -.* H H H H H H H H q k+J 6 p %+W.0 $+4 $+| 6 | 7.'+h . . Y h # ~ H H ~ H H H ~ -.H ~ b H ~ H ~ -.H ~ H ~ b ~ b ~ -.~ ~ ~ ~ ~ H ~ ~ ~ ~ H ~ ~ H ~ b ~ H ~ b ~ b b ~ b ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ b ~ ~ ~  .~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~  .~  .~ ~  .%. .%.%. .; d }.0+0+}+%+4 e+e+%+%+%+U.6 w i+. i+] A+ . . . . . . .~  . . . . . . .~  . . . .~  . . .~  . . . .A+] h Y v+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.s | 6 0 W.W.W.W.W.W.a %+%+J.J.e+e+e+e+e+e+4 0 u 3.v+. 4.c+U.5+e+J.%+%+e+5+5+4 #+3 . . . Z @+<+&+&+ +V V V ~.V V V V V V V V  + +&+&+&+E E E E E g+<+<+<+).).!+)+!+)+)+)+V.V.2 2 Z D.,.G D.D.D.D.D.D.D.D.B+{+B.1+'+D.H L L 7+{ q { q { q { { { 7+{ q q q { q q { q { { { { { q { { {  .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . . . . . 3 @ x 6 $+$+| ^+^+6 6 6 a 0 i+7.v+. . . . . . . . . . . . . . . . . . . . . . . i+x A+H L L L L L L { L L L L L L L L L ; L L ; L ; L L ; ; L ; ; ; L ; ; L L L ; L ; ; ; L ; ; ; H * * ; * ; ; ; ; ; ; ; ; ; ; * ; * * * ; * * ; * * * * * * * * * * * * * ; * * * * * * * H H H * H H * H * * q+H * H H H * H H H H H * H H H H H H H H H H H H H H ; r @.0+s.J.e+$+5+5+0 *+> '+] . . v+i+] %.~ ~ ~ H ~ H H H ~ H H ~ H ~ H H ~ ~ H ~ H ~ H ~ H H H ~ H -.~ ~ ~ ~ -.~ ~ ~ ~ ~ H ~ ~ ~ H ~ ~ ~ b ~ b ~ ~ b ~ b ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ b ~ ~ ~ ~ ~ ~ ~ ~ ~  .~ ~ ~ ~ ~ ~ ~  . .%.%.q+-.e m+0+B 8+6+U.e+e+e+e+J.%+U.X.R i+v+3 ].%. .~ ~ ~ ~  . .~  .~  .~  .~  . . .~  . .~  . . . . . . . .~  . . .%.# ] =.Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . u b 6 $+5+W.W.W.a W.a a %+%+%+J.%+J.J.e+e+J.%+9 5+1 x . v+1.Y $+$+e+e+e+0 $+| $ j v+. v+9 ` ).E  +V V V V ~.~.~.~.V V V V V V  +V  +&+&+E E E E g+g+<+<+<+).).).!+!+!+)+)+V.V.V.2 _ D.D.p+D.D.D.D.D.D.D.D.D.'+= B.= |+> L L 7+{ q q q q q q { { { q { { { q H.{ { { q { q { { { { { { ].. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . . . . ] A.b+^+$+0 $+9 9 | U.U.$+a 0 9 9+D.. . . . . . . . . . . . . . . . . v+=.]  .H L { { { L { { { { { L { L { { L L L L L (.L L L L L { ; ; ; ; ; L L L ; L L ; ; ; L ; L L L ; ; * H H H * H * ; ; ; ; ; ; * ; ; ; ; ; ; ; ; ; ; * * ; * * * * * * * * * H * * H * * ..* H * * * * * * * * H * H H H * H * * * H H H * H * H * H H H * H H * H H H H H ~ H H `.i <+m+0+e o /+P.%.M ^ . . . Y h ] # A+# z A+z A+z A+%.A+Z %.Z %.z %.%.%.A+Z %.%.%.%.%.%. . .[. .~ [.~ %. .~ %. .[.~ ~ H -.~ ~ ~ ~ ~ ~ ~ ~ b b ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~  .~  .~ ~ ~ ~ ~ ~  . .~  . .%.$+=+-+0+m+}+$+%+| %+e+e+p e+J.%+0 ^ - i+. i+] %. . . . . .~  . . . . . . . . .~  . . . . . .~  .~  . . . .%. .~  . . . .~  . .$.x =.D.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .._.0 X.a %+%+%+%+%+%+%+J.J.J.J.J.e+J.J.J.J.5+$+3  .. . s $.U.X.e+e+J.5+$+s.m+x . . ^+O 8.E V V V ~.~.~.~.~.~.~.~.~.~.V V V V  + + +&+ +&+E E E E g+g+<+<+).).).!+)+!+)+)+)+V.V.2 u D.G 3 D.D.D.D.D.D.D.D.D.u 1+T {+y+] ; 7+q { q { q { q { q { c+q { { { q { q { { { q { { { { { L ] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . . . - ;+0+9 4 U.W.5+| U.$+$+4 W.J.9 m v.- v+v+Y v+. . . . . . . . v+=.]  .* L L L L q ; L { { { L { { L L { L L L L L { L (.L L L (.L L ; { >.J 2+J #+' L (.g L L (.L L L ; { ; L ; * ; + u.u./ + r ; ; * ; ; ; ; ; ; * ; ; L L L L ; L 5.L L (.(.L 5.; ; ..* * * ; H * * ; ; 5.* ; ; ; * * 5.; * H H H H * H H 7.q+-.H [.-. .z A+Z A+z N z z z N ,.,.,.s s s s ,.s N q+6+f F.3.1 3 v+. . v+v+D.=._.s s 7.f+o+< N z z N z N z z 8 z z ,.z z s s ,.,.z N z z z 8 z s z ,.s ,.s s ,.,.,.,.,.N z N z z z z z A+z 8 %./+ ./+%. . .%.[.~ ~ ~ ~ [.H ~ ~  .~ ~ ~ ~ ~  .~ %.~  .~ ~ %.%. .%.-.C 0+0+0+}.J.J.W.6+p e+e+e+e+e+e+X.$+o+x Y h ].~ ~ ~ ~  .~  .~  .~  .~  . . . .~ ~ ~ ~ * ~  . . .~ ~ b ~ b ~  .%. . . . . . .~  . . . .A+].x i+v+. v+Y Y D.3 3 Y 3 3 3 3 Y D.3 v+v+v+. . . . ^ 6 ^+].s X.$.3 D.. . . . . . . . . . . M $.X.5+a J.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+J.a | 6 8 D.. . (.^ 0 W.p $+%+e+0+k 6 v+i+5+T.). +~.~.~.}.}.~.~.~.~.~.~.~.~.V V V V V V V  +&+&+&+E E E g+g+<+<+<+).).).!+!+!+)+)+)+V.V./+D.s s D.D.D.D.D.D.D.D.D.D.3 E.T l+{+t.g ..q+* q+H q+H 7.H H H 7.H 7.* 7.H 7.7...7.H 7...H 3.c c P.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . . u Q.l 5+4 | a 5+5+| U.U.$+$+$+W.%+%+u+g ..b+c g u . . Y h ].~ ; { q { { L 7+J 2+Q.6.]+/.; { { 2+k+:+) 7+r ; L { (.L L L L L L L L L L L L m+0+0+m+A.Q.:+;.;.3+3+3+^.q c g w.+ ; ; * ;.;+0+0+0+;+(.3.O.@.; ; ; ; ; ; ; ; 3+& /./.& I I ..I K.& ]+j K.Q `.:+$.H * H L 2+} } t+2 9+F.`.1.Q Q (.Q j J ( c N s ,.L.1 & g 1.F.H.c 7.5.8 s s ,.N ,.s s ,.s s s s N /.j [.-.*+[ T.5.( R w ( /.7.1 %.=._.s s < u.0+0+A d 5.c @.& @ P.@ & & w O.7 l z ,.,.1 P.P.1 1 1 j o+5.7.[ O o X ,.,.,.s ,.N ,.s N ,.,.,.,.N N z z z 8 Z Z N s ,.s N < L./././.F+P.5.(.q+3.~ [. .%. .~ %.~ ~ ~ %.~ %. .e }.0+0+0+}+a W.e+e+e+e+e+e+J.%+%+m W.: o+c c L w.`.~ ~  .~  . .~  .~  .~ * H > > $.] F.Q.7+ .~ ~ /.1 c d / =+|.;  . . . . . .%.~  .~  . .~  . . .; ( R b o+c+1.1.H.L q+....H /.o+R (+^+. . 9 -+0+0+;+-+r h .+A+] Y . . . . . . . . . D.(.i+0 4 e+e+p e+e+p e+p e+p p p e+e+p e+p e+9 $+u [.. . z K $+5+6+5+p h+0+d+6 v+_.$+V.&+~.~.~.}.~.~.}.}.}.}.~.~.~.~.~.~.V V V V  + + +&+&+&+E E E g+g+g+<+<+).).).!+!+)+)+)+)+)+p+D.D.y+D.D.D.D.D.D.D.D.D.D.D.D.B+{+e.e.e.T {+= = = = z+z+z+= z+= z+z+= z+z+z+z+z+{+z+z+z+z+z+z+1+t.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . D.f.R.6 $+0 W.| 9 9 9 5+5+| | | | U.| m 5+S S 0 F.W H L { q { { q { { q 7+..'+u h c+q+9 3+L (.7+1 h F.h+Z.c r ++* L L (.L L L L L L (.L L 9+;+0+h+s.6+a 4 4 q+0 X U.[.Z [.%.@.(.L * ) 0+0+0+0+I.W.0 $+m !.2+L ; ; ; ; ; (.g ^ h ,.9 9 A+A+N $.,.,.6 x X.o c+^.(.8 8 9+x [ x+d+6+S 4 X U.[.Z Z Z ,.*+Z 1 s s z !.6 M 5+/+[.U.[.> ^ ^.s.7.,.s ,.,.s s s s ,.,...9+j - h s h 9 ] 6 h _._.] N.o+*+@.s ,.s < ;+}.0+I.4 [.Z N ,.] 6 s s s s *+W.q+7.,.N ..J.Z _.6 6 6 _.,.g z.u.g.B a O Z ,.,.N N ,.,.,.,.,.s ,.N P.]+( R J ^.o+T.X 8 ^./.>.(.L.$._.^+_.4.1 J ;.3.F < ,.,.N N # A+%.%.%.4 v.E 0+0+B 8+y J.$+$+$+$+0 0 0 0 0 0 $+m | S [ *+m 3+H ~  .~ ~  .~  .~ ~ /.#+c.c 1 ^+U.U.W.H.H  .b $.X.^+W.g.0+~.' + H  . .~  . . . . .~ %. . . .b & o+[.N %./+| [.Z 8 z N A+z 9 $+$+7.[.v+] C 0+0+0+, $+0 0 a < (.(+^ . . . . . . . . . Z - $+9 p e+p e+p e+p p e+p e+p p e+e+e+e+e+a U.^ q+. . D.c+6 | J.J.d+0+0+%+Y Y 5+` <+h+}.}.}.}.}.}.~.}.~.}.}.~.~.~.~.~.~.V V V V V  +&+&+&+E E E E g+<+<+<+).).).!+!+!+)+)+V.)+)+3 D.,.D.D.D.D.D.D.D.D.D.D.D.D.- ..]+E.1+1+1+= = ,+= = ,+= = ,+= ,+,+= ,+,+,+,+1+,+,+,+,+,+1+t.y+4.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . 3 & N ^+$+0 4 5+9 X.X.X.X.X.X.X.9 9 X.X.0 W.U.U.U.O + ; L L { { q q { 7+/.- =.i+U.4 U.0 U.c+; L 7+u | 0 | | 9 ^ `.*.b ; { L { L (.L L L L L O.l e+4 J.a $+$+0 0 0 0 0 U.U.X.| 0 L H 9+f h+h+I.s.J.| 5+X.6 $+( 1 ..* * ; ; ; 3+^+W.0 $+$+$+$+$+$+0 0 U.0 U.U.0 ++8 s N @.Y a 9 $+4 $+$+$+$+0 0 U.U.| 9 U...,.M N (.5+4 0 $+$+0 0 U.$+I.0+&.j > s s ,.s ,.s s N Q | U.$+0 0 0 $+0 $+0 0 0 0 0 0 U.#+z ,.s 8 M.J.e+W.4 $+0 0 U.U.| | | | | $+U.[ 3.s N Q 4 5+U.Z | | U.4 a p }+}.0+0+s.U.,.,.,.s ,.N s N N N c k+d [.^+9 U.C [+0+}+e+N.S X.0 U.| U.| | | | 0 m i [+;.x+a 5+z ,.9 ,.Z R.}.f h+h+0+}+$+U.| X.^+i+Y Y Y Y i+i+^ ^ 5+4 U.| 4 0 W  .%. . . . . .H > % G.Z ^+0 0 U.| W.$+F.%.%. .( ^ W.5+$+J.6+%.- ;.q  . . . . . . . . . . . .~ j Z 5+$+U.0 U.U.U.0 U.U.U.U.U.4 U.(+N . q+0+0+}.h+J.U.5+U.U.$+e+Q @.v+. . . . . . . . Y c+6 | J.e+p e+p e+p e+p e+p e+e+e+p p e+p J.X.$+'+].. . 7.i+$+W.8+0+0+0+U.i+^ o I.B ~.}.}.}.0+}.}.}.}.}.}.}.}.}.~.~.~.V ~.~.V V  +V  + +&+&+E E E E g+g+<+<+).).).!+!+)+)+)+)+)+N D.4.D.D.D.D.D.D.D.D.D.D.D.D.] ; L L H  .@.N $./.$.L. .L.%.@.>  .> >  .>  .>  .> A+> 8  . .3.H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . D.'+x X.0 $+$+9 6 X.6 6 6 6 6 X.6 6 6 9 9 9 5+U.W.0 ^+Q b b * L { { q ; 1 x i+0 $+| $+$+U.$+j * ~ { 3 0 | 4 | $+W.%+=+P.] H L (.L L L L L L L 2+o+0 4 i+i+i+i+^ ^ ^ ^+6 X.5+9 5+X (..+0+8+J.W.$+U.a e+J.e+m 4 6 w.@.%. .8 %.Z b.%+| | ^+6 X.9 | U.0 4 4 W.a | U.=.]+h s @ Y 0 a X.^ i+v+Y Y i+^+6 5+| U.0 A 4.4.M |.J.| | 9 U.W.a %+a W.W.4 ^.P.N ,.,.M s s s N G.X.0 4 J.J.%+a a W.W.W.4 $+5+U.a 1.,.s M z (.0 4 0 v+i+i+^+9 U.$+a %+e+p | 9 r z 4.1 1.0 | 4 I.6+I.d+d+d+s.h+0+0+0+0+I.N s ,.s s N ,.s ( ++/ < X.0 | U.0 a 6+0+0+&+C Q =+9 $+p 6+I.I.6+p %+$+U.0 !+0+}.J.z ,.,.z I.h+0+0+0+h+h+%+B p $+$+$+$+| | 5+X.6 ^ i+v+Y Y ^ 5+0 | ]+%.].# %. .~ ~ _+*.R.6 $+U.5+W.J.J.U.6 !.# ].%.1 ^+U.J.%+J.e+a U.g k #+ .~  . . . .~  . . . .b /.,.$+5+J.e+e+e+J.e+e+J.e+m J.| $+..A+x b.8+%+8+W.e+p e+J.e+J.J.^+H.=.. . . . . . . . v+5.Y $+U.e+p p p e+p e+p p e+p e+e+e+e+e+e+e+0 $+3 3.. . =.@.$+W.}.0+0+h+5+i+X.` <+~.}.}.}.}.0+}.0+}.0+}.}.~.}.}.~.~.~.~.V ~.V V V V  +&+&+&+E E E E g+g+<+<+).).).!+!+!+)+)+)+)+y.D.3 3 D.D.D.D.D.D.D.D.D.D.D./.L L L 7+{ { q { { { { { { q q { q q { q { q { { q { q { { { { H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . x F.$+| U.4 0 X.X.6 6 ^+6 ^+6 ^+^+6 6 | a $+0 0 U.9 W.Y b ] ] A+H { { c !.h 6 4 5+W.$+9 U.U.5+h %.] ; u 0 | | ^+^+6 9 9 ^+++#+* ; L L (.L L L L 3+z 0 $+Y i+i+i+i+^ ^+^+^+^+^+| 9 Z q+w.0+I.| | ^+W.$+W.4 W.W.0 6 | g M 4.M s N $ e+U.^ X.6 ^+^ i+i+i+Y Y Y 6 | $+u [.u h 7.^ U.W.^ Y Y v+v+i+i+^+6 X.i+| J.=+=.Y h A J.| i+i+Y Y i+^+9 4 %+p 4 1 L.s M s ,.s s N M.5+0 %+%+W.4 0 | | 9 X.X.^+0 U.| - 6 =.4.,.P.9 $+5+v+Y ^ 6 9 0 W.J.6+I.p | X.w.x u M (.| 5+J.6+6+6+p 6+I.B 0+0+0+0+h+s.,.,.1 ,.,.s N z ++P 9 | | 0 6+6+I.8+0+0+0+C P *+^.W.| I.6+p 6+6+6+6+I.s.0+0+0+0+}.X ,.z O ! }.0+0+0+h+0+0+0+8+I.6+6+6+p p e+J.a 0 i+5+U.0 $+W.| U.(.x ^+x # %. .& J 9 5+0 5+%+J.%+%+J.0 6 @.- =.1 $.6 U.J.4 4 W.W.J.e+, *./ ~  . . .~  . . .~  .~ /.8 0 0 J.J.J.%+J.%+a a a %+J.5+0 , 5.[ m | %+$+I.p e+J.e+J.e+e+X., ^.v+. . . . . . . . u > 5+5+%+e+e+e+e+e+e+e+e+e+e+e+e+J.J.J.J.J.%+9 5+$.h . . 1.` I.}+0+0+y 5+^ 0 6+B }.0+0+0+0+0+0+}.}.}.}.}.0+~.}.}.}.~.~.~.V V V V  + + + +&+&+E E g+E g+g+<+<+).).).!+!+!+)+)+)+@+D.D.D.D.D.D.D.D.D.D.D.D.D.D. .L L q q q { { q { { { { { { { q { { { { { { { { { { { { { { { %.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . Y q+0 $+e+a 5+X.6 X.6 6 6 6 ^+^+^+^+^+6 W.5+4 $+$+4 0 ^+i+> K =.] b L H 1 ^ 9 0 $+4 9 6 6 $+U.X.u 6 3 c 3 0 | U.6 ^+^+^+^+9 e+:+) H ; L L L L L L ) ^ 0 4 Y v+v+Y v+Y v+Y Y Y v+4 5+Z f.c+%+$+4 Y i+^+^ ^+^+6 6 6 ^+| c+j =.4.M ,.>+e+U.^ | U.U.| 5+5+9 9 X.6 i+U.W._+| v+3 1.9 U.4 Y Y Y Y v+v+Y Y i+i+i+| %+(.=.v+K |.J.| ^ 5+9 9 ^+^ Y i+^ 9 J.$+0+_ M M s s s N u.0 U.W.e+e+J.a 4 $+U.5+X.X.0 U.5+K ^ D.i+$.P.X.0 5+v+v+Y i+^+5+$+a e+6+J.| 9 M.4.v+h g | | e+6+p p p I.s.}+h+0+0+0+m+9+o ,.s ,.N ,.N & M.5+U.9 e+6+p 6+d+I.s.}.d+u.o+o o+9+| %+6+p p p p 6+6+y h+0+0+0+}+x+< | f 0+0+0+0+0+0+0+0+}.h+}+8+I.d+I.d+I.d+I.W.U.X.9 9 9 | e+%+>+v+v+i+M %.M !.^ 0 | W.%+%+%+J.J.%+U.X.o+3 v+h ]+6 U.J.a a %+%+%+J.J.e+3+)  .%.%. .~  . . . .b j q+$+0 J.J.%+%+a %+%+a a %+e+5+W.q+q+H.5+$+| 6+e+e+e+e+e+e+e+p X.$+'+$.. . . . . . . . v+(.Y $+| J.e+J.e+e+e+e+e+e+e+J.e+J.J.J.e+J.J.9 $+D.A+. . x =+%+y 0+}.W.i+X.p+8+h+0+}.0+}.0+0+0+0+0+0+}.}.}.}.~.~.}.~.~.~.~.V V V V  + +&+&+&+E E E E g+g+<+<+).).).!+!+!+!+)+!+)+K D.D.D.D.D.D.D.D.D.D.D.D.D.b L L q { q q { { q q { { q { { { { { { { { { { { { { { { { { L $.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . & Q o+K b+a 4 5+6 ^+6 ^+6 6 ^+^+^+^+X.a U.^ i+3 K - h !.o+v+D.x ~ ..1 ^ X.0 4 U.X.6 6 6 $+U.9 3 ^ Y b Y 0 | U.6 6 6 6 ^+X.a 9 ( ; H ; L L L L L + Y $+4 ^+i+i+Y i+Y Y Y Y Y ^ 4 U.[.9+$+J.| U.i+Y Y Y Y Y Y Y Y 6 | , b+=.u 4.s ;.W.0 ^ ^+X.X.9 5+| | | | | ^ U.W./ %.. Y / [ U.U.v+v+Y v+Y v+Y Y Y Y ^+U.W.j =.. h ++%+| ^ U.$+$+$+0 | 6 ^ Y X.W.h+&.M 4.s s s N Q.0 0 $+p e+e+e+%+W.0 | 5+X.4 U.Z 3 ^ v+D.s P.9 $+5+v+Y v+i+i+^+5+$+%+p %+| X.M.^ . ^ 5.5+5+e+6+6+6+p I.I.6+}+}.}.y s.z.N _.s s ,.s 8 q.$+9 5+p 6+p p p p p 8+d+I.%+w.$.z 5.| 9 I.6+p p p p 6+y y 0+0+}.x+^.l s.0+0+0+0+0+0+0+0+0+}.s.}+y 6+6+I.6+I.I.I.%+| U.x+|.y.[ N.G.;.D.v+i+Z :+N 5+4 U.$+5+| 0 W.a J.%+0 X.^.v+. =.Q X.0 J.e+J.J.J.e+J.J.e+5+h q+%.A+%.%.~ ~  .~ ~ ]+$+0 0 e+%+%+a a a a %+%+J.e+9 e+X H.0 X.5+J.e+e+p p e+p p p e+| U./+# . . . . . . . . . ,.h U.X.a J.J.J.J.J.e+e+e+e+e+J.J.e+J.J.J.J.W.| 6 > D.. D.!.$+p [+4 ^ ^+U.p }+}.0+0+0+0+0+0+0+0+0+}.0+}.0+}.}.}.~.~.~.~.~.~.V V  +V  + +&+&+E E E g+E g+<+<+<+).).).!+!+!+!+!+!+G D.D.D.D.D.D.D.D.D.D.D.D.D.H L L 7+q { { { q { { { { { { { { { { { { { { { { { { { { { { { ] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-"x A+H L { J ;.) >.H.| a X.6 6 ^+6 6 ^+^+^+^+6 a 0 3 u [.| [.[.| h v+Y ] ~ !.x ^+$+4 | 6 ^+6 ^+6 $+U.9 3 i+v+b 3 0 | U.^+^+6 6 ^+^+5+4 8 I ~ b ; L L L ; 7+Y $+4 6 ^+^ ^+^ ^ ^ ^ ^ ^+6 W.$+/+k+4 a $+5+6 6 X.6 6 6 ^+^+6 0 | U.5.Y 3 K s & 9 $+5+v+Y i+i+i+^ ^+^+6 6 i+U.a ;.| v+D.w.N.U.5+Y v+Y v+v+Y i+^ ^+i+i+U.W.j ^ . x 5.%+U.^ 0 W.%+J.J.%+W.U.9 i+4 a i 1 u _.s s N (.9 0 a e+e+e+J.%+W.0 | 5+X.4 U.5+u i+. Y s & 5+0 5+v+v+Y v+Y i+6 5+0 W.$+U.9 >+h . h (.5+5+J.6+p 6+6+p p 6+s.y y 8+4 X 7.=.4.s s ,./.;.6 U.a 6+p p e+e+p 6+I.p 8+| N 5.h [.h U.J.6+p p p p p p d+s.s.h+a g.o+*+B 0+0+0+0+0+0+0+h+h+I.6+p 6+6+6+6+6+6+I.J.| | :+h !.!.!.'+h . v+^+-+0+8+4 0 6 i+Y Y ^ 6 | 4 J.0 9 J v+v+u :+5+0 W.p p e+e+e+e+e+e+a < >+9+| A+%. .~  .~ ~ & -.0 0 J.%+a a W.W.W.a %+%+e+9 J.U.H.0 4 5+p e+e+e+p e+e+p e+p 0 U.$+j i+. . . . . . . . D.q+^ 0 $+J.e+J.e+J.e+J.e+e+e+e+J.J.J.J.J.J.J.X.$+u %.. v+1.9+/ b+0 6 X.W.y }.0+0+0+0+0+0+0+0+0+0+}.0+}.}.}.}.}.}.}.~.~.V ~.V V V V  + +&+&+&+E E E g+g+<+<+<+).).).!+!+!+!+!+!+!+8 D.D.D.D.D.D.D.D.D.D.D.D.5.L L 7+{ { q { { { { { { { { { { { { { { { { { { { { { L { L L =.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-"7+7+7+7+7+q 7+{ 7+s W.0 5+6 6 ^+6 6 6 ^+^+^+X.a 0 i+w i+. v+Y i+Y i+^ # $.1 i+4 0 0 6 6 6 6 6 6 4 U.9 3 ^ v+b 3 0 | U.6 6 ^+^+6 ^+X.W.U.}.b+A+ .@.> > ,.F Y $+4 9 6 6 6 ^+^+6 ^+^+6 9 4 W.o z.4 U.a 5+9 5+9 5+| 9 5+5+9 W.U.X.u 6 v+u ,.- ^ 0 4 ^+i+i+Y Y v+Y v+Y v+i+U.S /.[.. v+W $+| U.v+Y v+Y v+i+^ 6 9 9 i+| %+Q Y . h Q a | ^ U.W.J.e+p p e+a 0 X.5+U..+| Y =._.M N !.^+U.J.%+%+W.W.$+U.| 5+X.X.4 U.5+3 ^ . v+] @.9 $+9 Y v+v+Y v+Y i+^+X.U.9 U.| -+h . u (.| | J.6+6+6+p 6+p 6+d+p I.}+| ^+o+Y ^ _.s N j N.9 | 6+p p p p p e+p p p y | 6 3.i+s @.U.U.6+p p p p p p I.I.6+}+| a Q.< W.B 0+s.h+0+0+0+I.0+h+I.6+6+p 6+6+p 6+6+J.5+5+g 3 . . v+v+v+D.i+X 0+0+p $+X.W.4 U.9 ^+i+Y ^+4 0 X.c D.. Y M.U.0 $+e+e+p e+e+e+J.J.I.%+}.0+-+%.A+%. . . .~ /./+0 4 %+a W.4 4 W.W.a a %+e+5+4 Y.c+a $+W.e+e+e+e+e+p p e+p e+0 U.$+5.=.i+h ] x i+v+. . v+..Y $+X.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+W.0 ^ q+. . $+Z.2.)+` < 0 p }+}.0+0+0+0+0+0+0+0+0+0+0+}.0+}.}.}.}.~.~.~.~.~.V ~.V V V V  +&+&+E E E E E g+g+<+<+).).).).!+!+!+!+).!+!++.D.D.D.D.D.D.D.D.D.D.3 L L L 7+{ q { { { { { { { { { { { { { { { { { { { { { { { L { L i+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-"7+7+7+7+7+7+7+q q u $+U.5+6 6 6 ^+6 ^+6 6 6 X.W.0 Y /.3 v+Y x ] ].].# b !.^ 0 5+W.X.6 6 ^+6 6 X.4 U.X.3 =.v+]+3 0 | 0 6 6 6 6 6 X.X.U.0 s.=+h ^ M M s s [.Y $+4 5+X.X.X.X.X.6 X.6 X.5+4 W.m / 0 | %+| | | | | | | 5+5+5+%+0 ^ u %.v+Y ,.- ^ 0 a 5+X.X.^+^+i+i+i+i+i+9 U.4 u [.. Y H.,.0 $+Y Y Y v+Y Y ^ 6 5+| ^+U.%+|.D.. K ^.%+| i+| $+a %+e+J.e+a 4 5+6 0 9+c+D.Y 4._.N h X.U.W.| 5+5+9 X.X.^+6 6 6 $+U.9 3 i+v+v+s P.9 0 5+v+Y v+Y Y Y Y i+^+X.^+0 U.i x . u 1.U.| J.I.6+6+6+6+6+I.6+p 6+s.| ^+!.^ 3 ^ s z & | U.0 6+p p e+e+p p e+p p I.| 6 !.# K c | | 6+p p p p p p 6+p 6+y 0 $+h H.$+9 0 X e+C 0+8+p d+y 8+I.p p p 6+6+p 6+e+| 9 ]+Y . D.3 i+=.=.4.1.0+}+%+5+6+I.6+p J.a 0 9 ^ 6 0 5+u u . 3 .+U.0 U.J.J.e+e+e+e+e+J.p 8+}+0+}+[.]. . . .~ ~ /.] U.W.W.W.4 4 4 W.W.a a %+e+5+$+x+.+e+0 %+J.J.J.J.J.J.e+e+e+e+| 0 $+o+u Y =.].A+ . .A+] x x ..9 5+%+e+e+e+e+p e+e+e+e+p e+e+e+e+p e+e+e+X.$+1 x i+T.<+ +E I.%+J.y h+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.}.}.}.}.}.~.~.~.V ~.V V  +V V  + +&+E E E E g+g+<+g+<+).).).).).!+!+!+!+).!+K D.D.D.D.D.D.D.D.D.K L L L 7+{ { { { { { { { { { { { { { { { { { { { { { { { { { L ; v+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-"7+7+7+7+7+7+7+q + ^ $+U.| X.X.X.X.6 6 6 6 6 X.a 0 i+$.3 v+h # ~ H H * $.1 ^ 0 W.| 9 X.X.X.X.X.9 W.U.X.u i+v+@.=.| | $+5+9 5+5+5+9 9 | a 4 *.s i+4._.s M [.=.$+$+U.5+9 5+9 9 X.9 X.9 | $+4 o+& U.0 a 0 U.U.U.0 0 | | 5+U.4 $+i+u ^ . v+X.- i+0 %+U.| 5+9 X.^+^+^+^+6 U.| U.Y /.v+u 7.i+U.a ^+^ ^ i+i+v+Y i+^+X.i+| J.=+D.. K ^.J.U.i+6 9 | 0 $+4 $+$+| 9 ^ 0 _ :+v+Y =._.N h | U.0 ^+^ ^ ^ ^ i+i+^ ^+^+$+| 9 u i+. D.X.!.6 $+5+Y v+Y Y Y i+i+^ ^+6 i+0 $+B $.. u `.U.5+%+I.6+I.6+6+6+6+6+p 6+y | X.!.x D.^ M 8 /.9 | J.6+p e+p p e+e+p p p 6+| 6 1 R.K 7.| | 6+p p p p p p p p p 6+U.U.s /+^ 4.z | /+b+t+$+p I.p p p p p p p p p 6+e+| 9 ]+u . v+^ M 6 s s w.I.$+U.p I.I.d+d+I.I.6+e+W.^+| W.1 i+v+h 5.9 0 U.%+J.J.e+p e+e+e+e+d+p B m+# ].#  . . .b /.x 0 W.W.4 4 4 4 4 W.W.a a J.5+| N..+m $+a J.%+%+%+%+%+J.J.e+e+5+| a ; Y v+=.] A+ .%. . . .~ O.i+$+$+p e+p p e+p e+p p e+e+p e+p e+p p e+4 0 K 5.s D ).B ~.s.y y B 0+0+0+0+0+0+0+0+0+0+0+0+}.0+}.0+0+}.}.}.~.~.~.~.~.V V V V  + + +&+&+&+E E g+E g+<+<+<+<+).).!+).).<+).).).!+|+D.D.D.D.D.D.D.D.D.- L L L 7+{ { { { { { { { { { { { { { { { { { { { { L L { { { { ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-"7+) 7+7+7+7+7+7++ x $+U.U.5+9 9 9 9 9 9 9 X.5+a U.3 ( Y Y x ~ ; { { { > 6 $+| W.| 5+5+5+X.5+9 | a U.6 =.i+v+P.h 5+| W.U.| U.U.0 U.U.U.%+U./+(.Y =.4.M s /+x $+$+$+U.| | | 5+9 9 9 9 U.$+$+^ b+m.J.0 4 0 $+$+0 0 U.| | W.5+U.^ K i+. D.6 - ^ 0 %+$+0 U.5+9 X.6 6 X.9 $+U.| K ( . =.( ^ 0 W.| 5+9 X.^+^+i+v+Y Y i+U.J.) 3 . h ..W.U.^+Y i+i+^+6 6 6 6 ^ i+^ 0 W.`.v+v+u _.N - | U.| i+i+i+i+i+i+Y Y i+i+0 U.9 3 ^ . D.,.- X.$+9 Y i+^+^+6 6 X.X.9 9 ^ 0 $+}.H.. u ^.0 | %+I.I.6+6+6+6+6+6+p 6+I.| 5+N !.v+u _.N j 9 U.e+I.d+e+e+p p e+e+p 6+e+| X.8 q+u 3.5+| 6+p p p p p p p p 6+6+U.U.7.,.v+Y z X.,.F.Q.9 W.s.p p p p p p p p p 6+e+5+9 ]+i+. 3 4.s N z /.>+| 0 0 I.I.6+6+I.I.I.I.I.6+0 | a |.D.. x _.^+0 W.J.J.%+%+J.e+e+p e+p 6+a l F.^ ] # ~  .~ /.6 0 W.4 $+$+$+$+$+$+4 4 W.J.| | x M.q+a 0 J.a a a %+%+%+J.e+4 0 6 , ]+Y v+i+] A+ . . .%. . .7. .0 X.e+e+e+p e+p e+e+p p e+p e+e+e+p p p e+9 U.5.,.o I.B }.h+B h+}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.}.}.}.}.}.}.}.~.~.~.~.V V V V  + +&+&+E E E E g+E <+<+<+).).).).).).).!+).).!+< D.D.D.D.D.D.D.D.D.!.L L { 7+{ { { { { { { { { { { { { { { { { L { { { q { { { { { H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-"7+7+7+) 7+7+7+q + s 0 | $+U.| | U.| | U.5+| | a 0 i+( 3 v+x ~ L { q ]+c ^ 0 a 0 U.U.U.| | 5+5+| %+U.6 K Y . 1 x 5+| %+$+4 4 4 4 4 4 $+%+| 0 o+3 Y ^ _._.[.6 $+0 4 $+$+0 0 U.5+5+9 9 U.$+$+Y /._+%+9 %+$+4 4 4 $+0 0 W.U.4 ^ !.K v+. v+,._.^+U.%+4 $+$+U.| 5+5+5+| U.a | 9 1 M . ^ !.6 0 W.4 0 0 U.| 5+9 6 ^+^ 5+| $+1 i+. ^+'+U.U.5+i+Y Y v+Y v+Y v+Y Y 9 | 0 /.3 . i+^ N K 5+U.U.^+i+i+i+Y Y i+Y i+i+| U.5+u i+. Y ,./.9 $+6 ^ 9 | U.$+$+$+$+$+4 5+U.U.! ] . u Q U.5+%+I.I.I.I.6+I.6+6+6+6+I.5+5+@.h . Y _.s H.^+%+e+8+I.p 6+p p p p p 6+0 U.| ..5+u F | | I.p p p p p p p p p 6+| U.(.K . Y X.s s t m.X.| 8+6+p p p p p p p p 6+e+| 9 ]+u . i+_.N N z g (+X.| 6+6+6+6+I.I.I.I.I.I.d+a | 0 e v+. h @.5+5+e+e+e+J.%+a a %+J.e+p e+5+o Q h ^ 6 N z [./.s 0 4 4 $+U.U.U.U.0 0 $+4 a 5+| 8 1 ^.p 9 J.W.W.W.a a %+J.%+5+| 4 A - . . 3 ] A+%. . . .%. .@.O.^+U.a p p e+p e+p e+e+e+e+e+e+p p e+e+p e+0 4 h q+| '.s.}.0+}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.}.}.}.~.~.~.~.V ~.V V  +V V  +&+&+E E E E g+g+g+<+<+<+).).<+).).<+).).<+y.D.D.D.D.D.D.D.D.D.$.L L L 7+{ { { { { { { { { { { { { { { { { { { { { { { { L { { -.=.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-"7+7+7+7+7+7+7+7++ /.0 | 4 0 0 0 $+0 0 U.U.| | a 0 Y ( 3 Y x ~ L q 7+& [.| 5+J.$+4 $+0 U.U.| U.0 %+0 ^+- i+. 1 /.9 | e+a a %+%+%+a a a a | $+- ,.v+u 4._./.8 0 U.a W.W.4 4 $+U.| | | 0 $+$+=.x 5.A+^+J.$+4 4 4 4 W.%+U.4 ^+X.- u . . D.s '+^ 0 %+4 4 $+$+0 U.U.U.0 4 J.U.9 > x . ^+w z 0 4 a 4 4 $+0 0 U.| 5+5+W.U.X.u =.. ^+u X.U.W.9 X.X.6 6 ^+6 ^+^+6 $+U.X.u ^ . u 4.N u X.0 $+6 ^+^+^+i+i+i+i+Y Y 5+U.U.u ^ . Y M c 0 0 ^+5+$+a %+J.e+p p p e+W.| 5+$ h . =.(.U.| %+I.I.I.I.I.I.I.I.6+6+I.| 5+g ^ . Y 4.Z Q ( I.e+B d+I.y I.p p p 6+p | X.W.]+=.u c 5+5+6+p p p p p p p p 6+6+U.U...K v+D.^ s ,.O `.9 | I.p p p p p p p p p 6+e+5+X.& i+. Y ^+s N < x.0 U.| I.6+6+6+6+6+6+I.I.I.I.J.U.| |.v+. u .+J.5+4 $+%+e+J.%+a a a %+J.e+5+$+u  .u 4.s ,.Z ( s 0 W.4 0 U.| | U.U.U.0 $+a | U.L.x 5.N 6 J.4 4 4 a %+e+W.9 0 | 6+J D.. v+=.].A+ . . . . . . .* 1 4 5+e+p e+p e+p e+p p p p e+e+p p e+p p J.5+9 7 6 S y h+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.}.0+}.}.}.}.}.~.~.~.V ~.V V V  + +&+&+&+&+E E E E <+g+<+<+<+).<+).).<+).).).<+D D.D.D.D.D.D.D.D.D.> L L q 7+{ { { { { { { { { { { { { { L { { { L { L L { { { L { 7.X ^ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-"7+7+7+7+r 7+7+q 1.z U.| W.$+$+4 W.4 $+$+U.| U.a 0 i+!.i+v+x ~ L q q 6.X.$+0 %+W.a W.W.W.$+$+$+$+J.U.6 !.3 . M ..X.| e+J.e+J.J.J.e+J.J.J.U.0 u $.v+Y 4._./.3.0 | %+%+a a a W.4 0 U.0 4 0 0 x =.^+W , a J.J.J.%+a | U.$+^+X.$.K Y . v+Y X.x ^+U.J.$+$+$+0 0 0 0 $+$+4 J.| 9 @.x . ^+1 ,.U.W.W.$+$+$+0 0 0 0 0 0 %+U.6 u i+. h h 6 U.%+0 U.U.U.U.U.| | | | %+U.6 K i+. Y ^ N h 6 U.a 5+9 9 X.6 6 ^+i+i+i+5+U.0 - i+. v+s Q 4 0 ^ U.4 %+e+p 6+I.I.I.I.J.| 9 A h . u F.$+| 4 I.I.d+I.d+I.I.I.I.I.I.5+5+r h . v+=.s _ -+0+d+0+h+B d+p p p 6+6+9 U.| |.!.v+K r 5+| I.6+p p p p p p p p I.| U...u . v+u M ,.*+g X.| I.p p p p p p p p p 6+e+| 9 & 3 v+i+4.N N /./ X.U.%+6+6+6+6+6+6+6+6+6+6+I.p | X.++v+. Y C J.0 ^ i+5+W.e+e+%+a W.a a a U.0 4.[.Y ^ s N Z $.,.0 4 4 0 U.| U.| U.U.0 $+a 5+| 3.h ^+3+m %+J.J.J.%+$+9 0 | 5+m Q.K v+. v+=.].%. . . . . . . .> 9+5+5+e+e+e+e+p e+p p e+e+e+p p e+p p e+e+e+5+4 '+X U.6+B 0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.}.}.}.}.~.}.~.~.~.V ~.V  +V  + + +&+E E E E g+g+g+<+<+<+).<+).<+).<+).).).+.D.D.D.D.D.D.D.D.D.~ L L { q { { { { { { { { { { { { { L { { { { { { { { L { L { L o+p+*+4.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-"7+7+) 7+7+7+7+7+7+%.0 | %+W.W.W.a a W.4 $+0 $+W.0 =.'+=.v+x A+ .A+/.[+6 0 %+J.J.J.J.J.%+%+%+a %+J.0 6 c D.. x G.X.| e+e+p p p e+p e+e+e+$+0 $.s v+D.^ _.( 7 0 | J.a %+a %+a W.4 $+$+W.0 0 M =.. /.c.=+X.X.| U.0 $+6 ^+5+( K u . . v+u ,.'+^+U.%+$+0 0 $+0 0 $+0 $+$+J.| 9 /.M . ^ !.^+0 W.$+U.U.U.U.0 0 0 $+0 J.U.6 - Y . h '+6 U.J.W.4 4 $+0 U.U.U.U.U.%+U.6 - i+. D.h ,.M 6 U.%+0 U.U.U.| 9 9 6 ^+^+U.| U.- ^ . v+- 1.4 0 ^+9 U.4 a e+e+6+6+I.I.J.| 5+-+x . 3 M.e+| 9 J.J.e+p p I.I.d+I.I.d+5+| `.h . Y =.s O t+0+0+0+0+h+d+I.I.6+J.5+U.9 %+2+D.. ^ `.5+5+I.p p p p p p 6+p 6+I.U.U.5.u . v+i+M s *+_+9 5+I.6+p p p p p p p p 6+e+5+X.]+Y . Y _.,.z j l X.| I.6+6+6+6+6+6+6+6+I.6+I.p U.X.(.v+. 3 [+0 U.^+6 Y ^ | W.e+e+%+a W.W.0 0 X./.h i+_.,.8 /.z 0 4 W.$+$+0 $+$+$+$+4 4 %+| | _+^ . A+w., ^+| 0 0 0 | X.4 m G.- v+. v+Y x # %. . . . . . .# ] q+h $+$+p e+e+e+e+e+p p p e+e+p e+e+p p p p a U.^+(.9 %+s.}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.}.}.}.}.~.}.~.~.~.V V V V V  + +&+ +&+E E E E g+<+g+<+).<+).<+<+).<+<+).g+V.D.D.D.D.D.D.D.D.D.c L L q q { { { { { { { { { { { L { { { { L { L { { { { { { L L D @+p+*+_.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-"7+7+7+7+7+7+7+q + /+U.5+%+a %+%+%+%+%+%+W.W.W.W.0 M '+i+v+Y 4.M s c m 5+5+e+e+e+e+e+e+e+e+e+e+e+%+U.9 (.v+. ^+w.9 U.%+p p e+e+p e+p p p $+U.[.P.3 v+u 4.1 7.0 | %+a W.W.W.W.W.W.W.W.a U.$+] =.. v+!.:+(.4 %+6 i+^+9 1 - x D.. . . 3 =.,.M ^+0 %+4 $+0 $+0 $+0 $+$+$+%+| 9 $.M . h !.^ U.a U.5+5+5+| U.U.0 0 $+%+0 ^+- u . =./.6 U.J.J.%+a W.$+U.| 5+5+| %+U.6 K u . Y =.1 1 ^+0 J.W.$+4 $+$+U.| 5+9 X.$+U.| K i+. Y M Q 0 0 ^+^+X.5+| $+W.a J.J.e+0 U.U.Z.> . Y |.%+0 ^+^+9 5+$+W.e+6+I.I.I.I.5+5+++K . Y ^+s $+h+0+0+0+0+h+y d+W.| U.5+5+J.w.!.D.. 4.`.5+| I.6+6+6+p 6+6+p 6+p 6+| U.g K . v+i+_.N *+5.9 5+I.6+p p p p p p p p 6+p | X.& =.. Y _.s 8 g 4 U.5+I.6+6+p 6+6+6+6+6+6+6+6+p | X.g D.. i+^.5+U.0 a 0 6 Y ^+| a e+e+%+a $+9 9 r x v+^ s Z P.-.0 $+%+a W.a a a a %+a %+e+5+| `.x . Y R.>+1 x+$+^ 5+W.d r /.u D.. . v+=.].A+ . . . . .~  .] x $.o+0 9 e+e+e+e+e+e+e+e+e+e+e+e+p p e+e+e+e+e+9 4 > 5+0 I.h+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.0+}.}.}.~.}.~.~.~.~.~.~.V V  +V  + +&+E E E E E E g+g+<+).<+<+<+g+).g+).<+).r.3 D.D.D.D.D.D.D.D.; L L 7+{ { { { { { { { { L { { { { { L L { { { { { { L { { { L G+8.+.S o M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-"7+7+7+7+7+7+7+q 7+c U.5+e+%+J.J.J.J.J.J.%+a %+$+0 %.!.i+. Y ^ M s `.4 0 9 p e+e+e+e+e+e+e+e+e+p %+U.9 r v+. x A 9 U.%+e+p p e+p e+e+e+e+W.U.| R ^ v+u 4./.z $+U.W.0 $+$+$+$+4 $+4 4 %+U.0 ,.K . . 3 M o+Q 5.1.X [.A+M x v+. . v+Y u 4.,.!.^+U.J.W.4 $+4 $+$+$+4 4 W.%+| 9 /.M . ^ !.^ 0 a U.| | | | U.U.$+$+W.J.U.6 /.3 . u o+X.0 a e+e+e+%+4 U.X.X.6 X.W.U.X.u =.. D.^ s 1 ^+0 J.W.W.W.4 4 $+0 U.5+5+W.U.5+K ^ . D.M (.0 0 ^+Y ^ ^ ^+6 X.5+| U.U.^+U.W.#+| v+K ( ^+0 $+i+Y i+6 U.%+p I.d+I.d+5+5+^.h . v+=.M ,.J.0+0+0+h+d+$+U.U.5+6 $+p >+1 . . . '+;.5+5+I.6+6+6+p p 6+6+6+6+I.U.U.5.K . v+=.M s *+_+9 5+I.p p p p p p p p p 6+e+5+9 & i+v+Y _.s z r | U.4 6+6+6+p p 6+6+6+6+6+6+6+6+| 6 ..D.. u Q 9 | J.I.p %+U.^+Y ^+U.a e+e+%+X.U./ _.v+i+M z ]+$+0 0 e+J.J.J.e+e+J.e+e+e+e+| U.A $.. v+x %.q (.f R.j /.> x =.. . v+Y =.] # %. .~  . .%. .A+x x ] ++i+0 4 p p p p e+e+e+p p e+e+e+p p p p p e+4 $+u R.5+e+s.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.0+}.}.}.}.}.}.~.~.V V ~.V V  + + + + +&+E E E g+g+g+<+g+<+<+<+<+<+<+<+g+).<+<+4.D.D.D.D.D.D.D.D.L L L 7+{ { { { { { { { { { { { { { { { { { { { { { { { L { L L p+T.@+V.p+o s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-"7+7+7+7+7+7+7+7++ #+| 5+J.J.J.J.J.J.J.J.J.J.J.$+0 Z !.i+v+D.K _.Z r X.0 W.J.e+e+e+e+e+e+e+e+e+e+%+0 X.o+D.. 4./ 9 U.J.p e+e+p e+p p e+p W.U.5+]+i+. Y 4.$._.0 $+0 5+| 5+| | U.0 $+$+W.U.$+1 u . v+Y K M M s h Y Y v+. . . . v+D.u ^ M ,.M ^+U.%+W.W.W.W.4 W.4 W.W.a e+| 9 3.x . ^+!.6 U.W.4 0 0 $+$+$+4 W.a %+%+0 X.Q v+. 3 ;.U.0 0 J.e+p J.W.| X.^+^ ^ 0 U.9 3 i+. v+K ,._.6 U.J.W.W.4 4 4 $+$+0 U.| W.U.5+K i+. Y _.o+U.0 X.v+Y Y Y i+i+^ ^ ^ ^ Y U.W.K  .. ^+!.^+U.a X.Y Y 6 0 J.6+d+I.I.I.5+5+^.h . v+^ s N U.y 0+0+x+i e+6 ^ ^+,.@.K.h v+. . v+M P 5+| I.6+6+6+6+6+6+p p 6+6+| U.(.K . v+i+M ,.*+5.X.| I.6+p p p p p p p p 6+p | X.& 3 . 3 ^+,./+% X.U.e+6+6+6+6+6+p 6+6+6+6+6+6+p U.X...D.. u o+X.| e+I.I.I.p a | ^ Y 6 U.W.J.| U.F./.D.3 ^+Z P.X 0 0 e+J.e+e+e+e+p e+e+p J.| $+}...Y v+=.6 N z # x K =.3 v+. v+D.Y =.x $.A+ . . . . . .~ $.x x x [.- 0 X.J.e+e+e+p p p e+e+p p p e+e+e+p e+p J.9 | > X.4 y h+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.0+}.}.}.~.~.~.~.~.~.V V V V V  +&+&+&+&+E E E E g+g+<+g+<+<+<+g+<+<+g+<+<+<+|+D.D.D.D.D.D.D.u L L L 7+{ { { { L { { L { { { { { { { { { L { L L L { L { L { * V.'.` '.V.p+O s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-"7+7+7+7+7+7+7+q 7+r U.5+J.J.%+J.J.J.J.%+%+J.J.$+0 N !.i+. 3 K 4.< @.^+U.J.W.a a a %+%+J.J.J.J.J.J.U.6 3.D.. > 1 U.| J.%+a a a a W.a a W.5+$+5+]+^ . 3 =.z x $+$+U.9 9 9 9 5+5+| | 0 4 0 $+M =.. . Y K 4._.4.h u u Y Y D.Y 3 u =.4.4._.,.'+^ 0 %+W.W.4 W.W.W.W.a a %+e+| X.6.4.. ^+w /+0 $+%+a a a a %+%+J.J.e+a 0 | .+v+. Y M.0 0 U.%+J.e+e+a U.6 ^ i+i+| U.| u =.. D.=.N - 6 U.J.$+$+$+$+$+0 0 U.| 5+4 U.5+K =.. D.- 5.U.0 9 v+Y v+Y v+v+Y Y v+Y i+U.4 3 @.. x P.6 U.W.^+v+^+0 %+6+I.I.I.I.I.5+5+^.h . v+^ 6 s z | S T.&.m.8 $.P.( - - - D.=.Y v+3 1 =+5+5+I.6+6+6+6+6+6+6+6+6+I.| U.o+K . D.i+_.,.7.g X.| 6+6+p p p p p p p p p e+5+9 & i+. Y _.,.[.G.6 | 6+6+p p 6+6+p p 6+p 6+6+6+p | 6 c D.. u 5.X.| p I.I.I.I.I.e+W.5+^ i+^ X.a 0 6 /.3 D.4.z /.].0 4 %+%+%+J.J.e+e+e+e+p e+$+e+0+d+^+Y =.s ,.N s s x =.i+i+u =.^ x ].A+ . . . . . . . .%.] x x x ] H.^ U.W.e+p e+e+e+p p p e+p p , p e+e+e+p e+U.4 u 7.| p }+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.0+}.}.}.}.}.}.}.~.~.~.~.V V V V V  +&+&+&+&+E E E g+g+g+<+<+g+g+g+<+g+<+g+).g+g+Z D.D.D.D.D.D.D.- ; L L 7+{ { { { { { { { { L { L L { { L { L { { { L { { { L L * 2 !+@+T.T.)+D o _.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-") 7+) 7+7+7+; 7.q+r | 5+J.%+%+%+%+%+%+%+%+%+%+4 0 x '+i+. Y =._./+1 9 | %+$+$+$+4 4 W.a %+%+J.%+J.0 x ( 3 . ] m 0 4 0 0 0 0 0 0 0 0 0 0 $+9 0 @ i+. Y K $.^ 0 $+U.5+X.9 9 9 9 5+5+| 0 $+0 h =.. v+3 ^ _._._._.^+4.u K =.u ^ 4.4._._._.s x ^ U.J.4 $+4 4 4 W.W.a a %+e+| 9 #+h . ^ R 0 0 0 e+J.J.J.J.J.e+e+e+p 4 0 U.=+. . 3 =+U.0 $+e+p e+J.W.U.X.^ i+i+| U.| u ^ . v+^ ,.=.6 U.%+U.U.U.U.U.| | 5+9 9 4 | | K i+. Y M ..5+0 5+v+v+Y v+Y v+v+Y v+v+i+U.W.u [.. ^+h ^+0 | i+9 W.e+I.I.I.I.I.6+I.| 5+^.K . D.=.M s ,.s O 7.l [ O [ F.[ R.O [.g > $.^ 4./.x+5+| I.I.6+I.6+6+6+I.6+6+I.5+U.Q K . . u x ,.*+..9 5+I.6+p p p p p p p p 6+e+| X.& i+v+Y _.s 3.J X.| I.p 6+6+6+p 6+6+p 6+6+p 6+6+| 6 c D.. u 5.X.U.p I.I.I.I.I.I.6+e+W.U.X.^ X.$+z 5.v+v+^ N ..i+0 W.U.U.$+$+W.a %+J.e+e+e+U.a 0+|.^ D.^ s N N N s s M x h x x ].A+%.%. . . .~  . .~  .# x $.] x ] 5.=.4 5+p e+p p p e+e+e+e+e+e+e+J.J.J.J.J.e+%+| ^+[.X.a 8+}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.0+0+}.}.}.}.~.~.~.~.V ~.V V  + +V  +&+&+E E E E E g+g+g+<+g+<+g+g+g+<+g+g+<+g+G D.D.D.D.D.D.D.- L L L 7+{ { L { { L { { L { { { { { L { { { { L { { L L L { { 5.+.8.).+.T.` )+T.O i+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-"7+q ; b > s _.M 8 ^.| 5+e+J.%+J.J.J.J.J.%+%+%+4 0 ^+'+i+. Y K _.[.4.0 | 4 U.U.0 0 0 $+4 W.W.W.W.J.U.^+h u . > [+W.0 ^+Y Y Y i+i+i+i+i+i+^ X.| '+i+. D.^ N 4.$+$+0 5+5+9 9 9 9 5+5+5+0 $+$+i+K . . 3 K 4._.4._.4.M _.4._.4._._._._.M M s '+i+0 %+0 0 $+$+4 4 4 4 W.a e+| X..._.. ^+R -.0 0 J.J.J.J.J.J.e+e+e+e+W.0 | .+v+. Y J 9 0 a e+J.J.W.0 5+6 ^ i+i+| U.5+3 ^ . D.=.N u X.U.a 5+5+9 9 9 9 X.X.6 ^+0 | U.- ^ . D.s c 5+0 5+Y v+Y Y v+Y v+v+Y Y Y U.a @.| . u (.$+$+^+0 J.6+I.I.I.I.6+6+I.I.| 5+;.h . v+=.s s ,.s l Q.^.Q Z X W.%+J.W.5+5+5+g M M j x+5+5+I.I.I.I.I.I.I.6+I.I.I.5+U.N.- . v+=._.s *+' 9 | 6+6+p p p p p p p p 6+e+5+X.& Y v+Y _.,.F J 9 | I.p 6+p 6+6+p 6+p 6+6+6+6+6+| 6 c v+. u 5.X.| p I.I.I.I.I.d+I.I.6+6+J.a 6 | e+=+v+v+u M .+| 0 $+i+i+^ ^+6 9 5+U.$+4 J.| $+C 8 v+v+=.s ,.z N N ,.,.s ,.,.,.,.N A+%.~  . . .~ %. . .] H 3.b+] x $.:+4 | e+%+J.J.J.J.J.J.%+%+%+%+a W.4 4 W.%+e+| $+u -.U.6+B 0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.0+}.}.~.}.}.~.~.~.V ~.V V V  + + +&+ +&+E E E g+g+g+g+<+g+g+g+g+g+g+g+g+g+g+_ D.D.D.D.D.D.D.1 L L { 7+{ { { { { { { { { L { { L { { L L L { L { { { { L L { o++.+.+.!+8.T.D V.@+o v+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-"/.s M M _._.M _.@.=+| 5+e+e+e+e+e+e+e+e+J.J.J.4 $+x !.3 v+D.u _.7.Y $+U.U.9 9 5+| | 0 $+4 W.4 4 J.U.6 u ^ . u P.M.7.;.[ q+0 X -.U.-.U.-.| -.-.].. . Y u A+^ $+$+0 | 5+5+9 9 5+5+| 5+0 $+$+u ^ . v+Y K _._._._._._._.M M M _._.M _._.4.,._.i+0 %+U.| U.0 0 $+0 $+0 $+%+| 9 /.x . ^ !.z 0 4 %+a %+%+%+J.J.e+J.e+J.U.X.(.D.. u L.X.U.J.W.W.$+U.5+X.^+^+^ ^ U.U.5+3 i+. v+=.,.h X.U.4 X.6 6 ^+^+^+^+^ i+i+5+U.X K i+. v+s @.5+0 5+Y v+v+v+Y v+Y i+^ ^+i+0 W.>+> . 3 $ e+5+| 6+I.I.I.I.I.6+6+6+6+I.5+5+e '+. v+i+_.s /+y.j ^+6 a a U.5+9 5+$+W.U.W.Q s s 3.}+5+| I.d+I.I.I.I.I.I.I.I.d+5+| F.K . v+i+6 N X g X.| 6+6+p p p p p p p p 6+p | 9 & i+. Y _.s X r 5+5+I.6+p 6+p p 6+6+6+6+p 6+6+p U.X...D.. u (.X.U.p I.I.I.I.I.I.d+I.I.I.I.6+U.| %+: v+. i+s w.d+| 6 6 ^+^+i+Y Y Y Y i+^+5+U.$+1 6 v+v+=.s s N ,.N ,.,.z ,.,.,.,.,.z 9 N z %.%.~  .~ A+].@.q+-+q+x A+l 8+J.e+4 $+4 4 W.4 4 4 4 4 4 4 $+U.U.U.$+a %+U.4.[.9 %+s.}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.0+}.}.}.}.}.~.~.~.~.~.~.V V V V V  +&+&+&+E E E E E g+g+g+g+g+g+g+g+g+g+g+g+g+2.D.D.D.D.D.D.D.A+L L { q L { { { L { L { { { { { { { L { { { { { L { L { { { L [ +.+.+.+.!+2 T.D +.2 < . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-"_.M M M s _.M _.P.x+| 5+J.p p p p e+e+e+e+e+e+0 0 ,.!.i+. Y =._._+Y $+0 X.6 6 6 X.9 5+U.0 $+$+$+J.U.6 u =.. v+K M s h =.D.v+v+v+v+v+v+v+. v+v+. v+. 3 u z u $+$+0 5+5+9 9 9 9 5+| | 0 $+$+Y h . . 3 =._._.4.M 4.4._._._.M M _.M _.M _.s '+^ 0 a 5+5+5+| | U.| | | U.a U.5+1 M . ^+!.N 0 4 %+W.a a %+J.J.J.%+%+J.0 6 /.3 . h - 6 U.%+U.| 5+5+X.X.^+^+^+^+$+U.9 3 ^ . D.=.,.K 9 U.$+^+i+i+i+i+Y Y Y Y i+9 U.0 K =.. v+s ..U.0 X.Y Y i+i+i+^ 6 X.| U.9 U.U.! $.. 3 .+a 5+a I.I.I.6+6+6+I.I.I.I.I.| < }.o+. v+=.s z /.u i+0 $+9 $+%+J.e+%+$+W.U.0 m.^ ^+N.0+0 5+I.I.I.I.I.I.I.I.I.I.I.5+U.b+- . D.u M ,.7.#+X.| I.6+p p p p p p p p 6+e+5+9 ]+i+v+Y _.s X g | | I.6+6+6+6+6+6+6+6+6+6+6+6+p | 6 5.D.. u (.X.| e+I.I.I.d+d+I.I.I.I.I.I.6+| U.%+*.Y v+u ,.+.8+U.^+%+a a 4 $+U.| 9 6 ^+i+0 4 h > . v+=.s ,.,.N N N ,.N N N N z N N z N N 9 N N A+%.].] K U.F./.] ] -+0+h+J.$+| U.U.U.U.0 U.U.U.U.U.U.5+| | U.$+a U.4 c 9 $+d+h+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.}.}.}.}.}.}.~.~.~.~.~.V V V  + + +&+&+&+E E E E g+g+g+g+g+g+g+g+g+g+g+g+g+g+2 D.D.D.D.D.D.D.> L L q q { { L { { { { L { L L { L { { { { L L { L { L { { { L F.8.+.+.+.+.!+2 T.D '.+.z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-"M _.M M M M _.M /.}+5+5+J.e+p e+e+p p p e+e+e+0 $+%.!.i+. Y K 4.7.u 4 0 X.^+^ ^+6 X.5+| U.$+0 $+%+0 6 - i+. v+u 4.4.4.=.Y v+D.v+v+D.v+D.D.v+v+D.v+Y u ^ # ^ $+$+0 | 5+9 9 9 5+| | | 0 $+4 3 ^ . v+Y K 4.4.M 4.M M _._._._.M M _._._._.,._.^ 0 W.X.X.9 9 5+| | | | U.a | 9 /.M . ^ 1 ,.0 $+%+a %+a %+%+%+%+%+a J.U.^+K i+. ^ u X.U.W.X.X.X.X.X.X.6 6 6 X.4 U.X.u i+. v+=.,.u 9 U.U.i+Y Y Y v+v+Y v+v+Y 5+U.| u ^ . D.M `.W.0 ^ X.9 5+| U.$+4 %+J.p a U.9 A ^ . =.Q | | %+I.I.6+I.6+I.I.I.I.I.p 5+U.! a v+v+i+,.!.3 i+$+| 4 W.0 0 U.| 9 6 0 U.a W 3 i+b+0+$+| I.I.I.I.I.I.I.I.I.I.d+9 | m - . v+u 6 ,.*+' X.| 6+6+p p p p p p p p p e+| 9 & u . Y _.,.7.3.5+5+I.6+6+6+6+6+6+6+6+6+6+6+I.p U.X.Q v+. Y J 5+| J.I.d+I.I.I.6+p e+%+J.%+%+6 U.d+f D.. Y $.F.p U.9 p 6+6+6+p p e+e+%+a 0 | U.M.U.. v+=.M ,.N N N N N N N N z N N N N ,.z s N ,.N N N - - 5+4 f # h b+0+0+e+%+9 9 5+5+| 5+5+| | | 5+5+5+5+5+| | $+%+U.7.c+| e+}+}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.0+0+}.}.}.~.~.~.~.~.V V ~.V V V V  + +&+&+&+E E g+E g+g+g+E g+E g+E g+E g+g+E !+D.D.D.D.D.D.D.H L ; q { L { { { L { { { L { { { { { L L L { { L { { { L L L L _ 8.2 +.+.+.@+!+2 T.D T.'._.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-"M _._._._.M M s P.x+| 5+e+e+e+J.J.J.J.J.J.J.e+0 0 X ( ^ . D.^ _./+u $+U.5+6 6 X.X.9 5+U.U.$+4 4 J.U.6 !.3 . v+i+h 4.4.4.h u u u u =.=.=.u K =.u u u K 4.z M $+0 $+| 5+5+9 9 5+5+| | 0 $+$+Y h . . Y 4._._._.4.4._._._._.4._._.M _._.M s !.^+0 W.6 6 9 9 5+5+U.U.0 $+%+U.9 ..x . ^+P.-.0 0 J.%+%+%+%+a W.W.4 $+%+U.X.3 =.. ^+u 9 U.4 X.X.6 6 6 X.X.X.X.X.4 U.X.u i+. v+^ N K | U.5+Y v+v+v+Y Y v+Y v+Y | U.5+3 ^ . Y _.A.6+U.6 W.%+J.e+e+p I.I.I.I.p | X.W h . h ..5+| J.I.6+I.I.I.I.I.6+6+J.4 | U.|.| . v+K 8 u ^+4 U.U.^ i+Y i+Y i+Y Y 6 $+I.i 3 i+@.h+U.5+I.I.I.I.6+I.I.6+I.I.d+5+| l '+. v+i+M ,.X 6.X.| I.6+p p p p p p 6+6+6+e+5+9 ]+i+. i+_.,.L.@.9 5+I.6+I.I.6+6+I.I.I.I.d+I.I.J.U.5+O.v+. u =+U.U.4 6+6+6+p e+a $+U.5+5+5+9 9 | 6+k v+. Y 1 A y U.X.p 6+6+I.I.I.I.I.I.6+e+| 5+}+7.. v+^ s ,.z N z N z N z ,.N ,.N ,.N N N z ,.N ,.N Z '+^ U.5+m+H.x 9 ! 0+d+J.5+9 9 9 9 9 9 X.X.9 5+5+5+5+5+| | | $+U.D *.^+4 y h+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.0+}.}.}.}.}.~.~.~.~.V V V V  +V  +&+&+&+&+E E E E E E g+E g+E g+E g+E g+E g+E 3 D.D.D.D.D.D...L L 7+{ { L { L { L { { { { L L L { { { L { { L L L { { { L ; T.2 2 8.+.+.+.+.!+V.'.D '.` =.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-"_.M _._._._._._./.x+| 5+e+J.a a a a a a %+%+J.0 0 *+R i+. Y K 4.z !.| | W.U.U.U.U.0 $+$+4 W.W.a J.0 6 @.D.. v+u 4._.4.4.4.4.4.4.^+4.4.4._.4.4.4.^+4.4.x /.,.$+U.W.U.U.| 5+| | | U.U.0 $+$+u ^ . v+3 ^ _._._.M _._._.4._._._._.M _.M 4.,.M ^ 0 W.9 X.5+U.U.0 4 W.a %+e+U.X.G.^ . ^ @.W.0 U.e+J.a a W.4 $+U.5+5+4 U.9 u i+. x u 9 U.4 X.6 X.X.X.X.9 9 X.X.4 U.9 3 ^ . D.=.,.h 0 U.6 v+v+Y v+v+v+v+Y Y i+$+U.X.u i+. 3 X.0+}+0 U.6+I.I.I.d+I.I.I.I.I.6+| X.a+^ . ^ ..5+| %+I.I.I.6+p %+a 4 0 U.6 0 $+r | . v+# ' | a U.6 6 X.9 5+5+| | U.U.^+4 h+f 9 v+1 $ 5+| I.I.6+I.I.I.I.I.I.I.I.9 | m '+. v+i+M ,.*+>.X.| I.p 6+6+p p 6+6+p p p e+| 9 ]+3 v+Y _.,.L./.X.5+I.I.6+I.d+I.I.d+I.d+I.I.I.4 | 0 e . v+Y C W.| X.a a W.4 U.5+^+i+Y Y Y Y 0 4 /+J . v+Y M A.d+U.^+4 %+%+e+p 6+I.I.I.d+6+5+5+x+'+. D.=.s ,.N N N N N ,.,.N ,.z ,.N ,.N N ,.,.N N N !.^ X.$+U., v.] 6 F.}.0+W.$+X.6 6 6 6 6 X.6 6 X.X.9 9 9 5+| 5+| a 0 A [.U.p B 0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.0+}.}.}.}.}.~.}.~.~.~.~.~.V V V  + + +&+&+E &+E E g+g+g+E g+E g+E g+E g+E g+E+g+'+D.D.D.D.D.D.; L L 7+{ { L { { { { L { L L { { { { L L { L { { { { L L L L ; +.2 8.8.8.+.@+@+@+V.2 T.D @+D v+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-"_._._._._._._._.> |.| | J.a W.W.W.W.W.a a a J.0 0 q+R ^ . D.=.h M c ^+U.J.W.W.W.W.W.W.a a a %+%+J.U.6 5.D.. v+u ^ M _._.4._.4.4.4.4._.4.^+M M _._.4._.4./.A+$+U.W.$+0 U.U.U.U.| U.U.$+$+$+=.=.. . 3 u 4.M _._._._._._._.4._._.4.M M _.s '+^ 0 %+| U.0 $+W.a %+J.J.e+J.U.9 Q.^ . h ..W.0 U.J.a 4 $+U.| 9 X.6 6 0 U.5+u ^ . ^+u 9 U.W.9 X.9 9 9 5+9 9 X.9 4 U.9 3 ^ . v+=.N 1 4 U.6 v+Y v+Y v+Y v+Y ^ 6 W.0 6 u ^ . Y 9 0+}+$+$+I.d+I.I.I.d+I.I.I.I.6+| X.J h . h o+U.| 4 6+e+a 0 9 6 ^ i+^ i+i+0 $+^.| . v+[ W m | 6 U.4 W.a %+%+%+J.J.J.5+W.h+0+< Y !.C 5+5+I.d+I.I.I.I.I.I.I.I.d+5+| , !.. v+u _.,.*+% X.| I.6+p 6+6+p 6+6+6+6+6+e+| 9 ]+Y v+Y _.,.Z ( 6 | p I.I.I.d+I.I.I.p p J.%+a 9 | a A v+. h |.J.U.i+X.9 X.^+i+i+v+Y Y Y i+X.U.4 Y $.. . u _..+X 0 9 ^+9 | U.4 a e+p 6+I.6+5+5+x+!.. v+=.s N N N ,.N ,.N ,.N ,.,.N ,.,.,.N N ,.N N 5.K Y 4 0 4 e+0+=+$+Z g.0+6+%+^+i+^ i+i+i+i+^ i+i+^ ^+6 6 6 6 6 6 U.0 -+i U.W.y }.0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.0+}.}.}.}.~.~.~.~.V V V V V V V  + +&+&+&+&+E E E E g+E E E E E E E g+E E g+E M D.D.D.D.D.u L L ; 7+{ L { L { L { L { { L { { L { { { { L L L L { { { { L * V.V.2 2 8.8.+.+.+.@+)+8.` p+8.G+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-"_._._._._._._.4.8 9+| 5+J.%+W.W.W.a a %+%+%+J.$+0 X R i+. Y K ^ M H.Y 0 %+a %+W.W.W.%+%+J.J.J.e+%+0 X.5.D.. v+u 4._._._._._._.M 4._.4.4._.X q+s _._._._./.8 0 U.a W.$+$+0 U.U.| U.U.0 $+$+h h . . Y ^ 4.4._._.M 4._._.4.M - 4._._.4.M ,.x ^ U.J.W.W.%+%+%+J.e+J.e+e+J.U.9 A h . ^+@.4 U.$+a $+| 5+X.6 ^+^ ^ ^ U.U.| u i+. ^+u X.U.W.5+9 9 5+5+5+5+5+X.X.4 U.5+u i+. D.=.N & 4 U.^+v+Y v+Y v+Y i+^+6 5+a U.6 u i+. 3 ^+0+s.U.0 I.I.d+d+I.I.I.I.I.I.6+| X./ ^ . u 9+a | X.0 5+^+Y v+Y i+Y v+v+v+$+$+;.[.. D.=+, 0 0 X.$+4 4 W.W.a %+%+%+%+5+$+}+m+9 Y 1 x+5+5+I.I.I.I.I.I.I.I.I.d+6+X.U.=+1 . v+i+M ,.*+G.X.| I.6+6+6+6+6+p 6+p 6+6+e+| 9 c 3 . u ^+,.8 3.6 | a d+I.I.I.6+p J.a $+U.5+9 i+U.%+Q u . ^+..W.U.^+v+Y v+Y v+Y Y i+^ ^+^+4 U.6 u s . v+Y s o+^+0 0 Y Y i+^+6 5+$+a e+p e+| U.}+> v+v+=._.,.,.N N ,.N ,.N N N ,.,.N N N ,.N N N ,.Q K U.U.W.U.}+0+0+}+| (+B s.W.i+Y v+Y Y Y v+Y v+Y Y v+v+Y Y Y Y Y i+%+I.0+s.U.6+B 0+0+0+0+0+0+0+0+0+0+0+0+0+}.0+}.}.}.}.~.}.}.~.~.~.~.~.V V V  + + +&+&+&+E E E E E E E E E E g+E E E E E E E 8 D.D.D.D.D.K L L L 7+{ { { L { { { { L L { L L { { L L L { { { { L L L { L R.V.V.V.2 2 8.8.+.@+@+@+V.'.` p++.o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-"_.M M 4._.4.M _./+`.U.5+J.a W.a a %+a a a a %+$+0 /+w i+. D.^ 4._.7.i+$+$+%+W.W.W.W.a %+J.e+J.e+%+0 X.(.v+. v+u ^ 4._.M _._._._._.4._.,., |.4+F._._._._.8 ,.$+U.a 4 $+$+U.| 5+| 5+| 0 $+$+^ =.. v+D.K 4._.4._.M M _._._._._.4.4._._._.s !.^+U.%+J.J.J.J.J.J.%+J.J.J.e+| 9 ++^ . ^ ( A+0 4 0 5+X.6 ^+^+i+i+i+i+U.U.5+u =.. ^+u X.U.W.5+5+5+5+5+5+9 9 9 X.$+| 5+u ^ . v+=.,...W.U.^+v+Y v+v+Y i+^+X.5+| %+U.6 u ^ . D.h i 6+U.X.J.p 6+6+I.I.I.d+I.I.%+U.5+k x . 3 $ I.U.i+i+v+Y i+^ ^ i+i+v+Y Y $+$+l | . ].w.J.| 9 ^+X.X.X.9 5+| 0 $+4 4 6 W.h+0+| Y j s.| 5+p I.I.d+I.I.d+I.I.I.6+X.| I.A+. v+=.6 ,.7.W X.| 6+6+6+6+6+6+6+6+6+p 6+J.| 5+..i+. 3 _.,.z Q ,.U.U.I.6+p p J.a $+| 6 ^+i+Y ^ U.W.1 =.. x M U.U.9 i+Y i+i+i+^ ^ ^ ^+^+X.W.$+i+u '+. v+u ,.c Y 0 W.^ Y v+Y Y i+6 | $+a W.U.a 0+d i+Y i+s ,.N ,.N ,.N ,.N N N z ,.N ,.N N ,.,.,./+' ,.W.0 ^ 6 8+0+0+0+0 s 1.-+U.6 i+^+^+^+^+^+^+6 ^+^+^ i+i+i+i+i+i+Y X.y 0+s.U.%+8+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.0+}.}.}.}.~.}.~.~.~.V V V V V V  + +&+&+&+&+E E g+E E E g+E E E E E E E g+E g+/+D.D.D.D.D.'+L L L q { L { L { L { { { { { { L L { L { L L L L L L L L { L H.)+V.V.V.2 8.8.8.+.@+@+@+V.T.D p++.Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-"_._.M _._._._.- [.r | 5+J.W.W.a W.a a W.W.W.a 4 U.,.!.^ v+D.u 4._./.1.$+| a $+$+$+$+W.W.%+%+J.e+%+U.X...D.. v+u 4.4.4.4._.4._._.4.4.6 9+0+B 4+o+_.4.4.4.%.^ 0 $+$+0 U.| | 9 9 X.X.5+U.$+0 x u . . Y K _.4._._.4._.M M _._.M _._.M 4.4.s j X.U.a J.J.%+%+%+W.4 $+$+$+%+| 9 /.M . h '+^+U.a 9 6 ^+^+^ i+^ i+i+^ 0 U.5+3 i+. x u X.U.W.5+5+5+5+5+5+9 X.X.6 $+U.| K i+. Y u ,.g W.U.^+v+v+Y Y i+^+9 5+U.0 %+U.^+u i+. Y h d a U.^ | 0 4 a %+J.J.J.%+a | U.0 ! ... Y ;.4 U.| i+^ ^+^+^+^+i+Y v+v+Y 0 $+++| . < ++J.| 6 Y v+v+v+i+^ X.9 U.$+$+9 a 0+0+0 6 9+0+4 | p I.I.I.I.I.I.I.6+I.p X.| d+$.. v+=.M ,.*+W X.| I.I.6+6+6+6+6+6+6+6+I.J.| $+Q u v+Y _.,.z 7.x | X.J.e+%+a 4 0 5+6 i+Y v+v+6 U.$+- ^ . x u | U.U.i+^ ^ ^+^+6 ^+^+^+6 0 | 0 ^+K ^ . v+=.,.P.i+U.a 9 6 ^+i+i+Y Y ^ X.| | 0 e+0+I.^+v+^ M ,.N N N N N N N ,.N ,.N ,.N N ,.N ,.,.N.K.a 5+U.Y 6 4 }.0+4+X ^ L...9 U.6 5+| U.U.| U.| 5+5+5+5+9 9 X.X.6 6 ^+%+6+g.-.0 d+h+0+0+0+0+0+0+0+0+0+0+0+0+}.0+}.}.}.}.~.}.~.~.~.~.~.~.V V V  +V  + +&+&+E E E E E E E E E E E E E E E E E E G D.D.D.D.D.M L L L 7+{ { { { L L L L { L L L { L L { L L L { { { { { L L L N.)+)+V.V.V.2 2 +.8.+.@+@+@+2 ` D p+T._.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-"4._._._._.4.M 4./+r U.5+%+W.W.W.W.W.W.W.4 4 W.W.0 x '+i+. Y =.4._.z [+` $+J.0 U.U.0 $+$+W.W.a a e+U.6 @.D.. v+u 4.4._.4._.4._._._.4.F _ 0+}.V.> _.4.4._.[.Y $+4 5+X.9 X.X.6 6 X.X.5+0 $+0 $.K . D.Y K 4._._._.4._.4.M _._._._._._._._.s & X.U.%+W.W.$+0 U.5+9 X.X.9 $+| U.u ( . =.( i+0 a X.^+^+^+^ ^+^ ^ ^+^+$+U.X.u =.. ^+u 6 U.a | 5+5+5+5+9 9 X.6 ^+0 U.U.- ^ . v+=.,.g a U.^+Y v+Y i+^+X.5+U.U.$+J.U.6 u ^ . v+M ..U.0 6 i+^+6 9 5+5+5+| 5+9 i+U.W.r | . =.@.6 0 W.X.^+^+^+i+i+Y v+Y v+Y 0 4 c | v+| ]+%+U.6 Y i+i+Y v+i+^+5+0 W.W.9 W.h+0+Z ^+P 0+4 | p I.I.I.I.I.I.I.I.I.6+X.| e $.. v+i+s ,.q+:+X.| 6+I.6+I.I.I.I.I.I.I.I.%+0 e+A x v+i+_.,.z z @.^+U.U.a 4 0 U.5+X.^+i+i+Y v+^+U.$+- ^ . 6 K 5+U.$+^+^+6 6 X.X.X.X.9 9 a 0 ^+$.K v+. v+^ z ( ^+0 W.0 U.| 5+X.^+i+v+Y i+i+$+%+g.J.Y D.=.s s N ,.N ,.N ,.N ,.N N N N ,.N ,.,.N z Q.o+a 0 i+i+i+5+I.s.0+Z Y h 7.5.U.^ U.U.0 0 U.U.U.| | 5+9 9 X.X.6 6 ^+^ X.%+0+e | J.}+0+0+0+0+0+0+0+0+0+0+0+0+0+}.}.}.}.}.}.~.}.~.~.~.V ~.V V V  + +&+ +&+&+E E E E E E E E E E E E E E E E E E Y.D.D.D.D.D./.; L { q L { L { { { { L { { { L { { L { { { L L L L L { { L L _ !+)+V.V.V.V.2 2 8.+.+.@+'.2 '.D D S o i+i+Y Y v+. . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-"_.4._.4._._._._./+' | | a $+4 W.W.W.W.4 4 $+W.W.0 ^+'+i+v+D.u 4._.s |.0+6+a 0 | | | | U.0 0 0 $+%+0 6 P.D.. v+Y 4._._._.4._._.4._.s $.y.y f e 9+4.4.4.4.F Y $+4 ^+^ ^+^+^+6 X.9 5+| 4 U.0 c u . . 3 ^ 4._._.4._.4.M 4._._.M _._.4._._.s !.^+U.%+| 9 9 X.X.^+^+^ ^ ^ 5+U.$+D.@.. 3 @.i+0 W.6 ^+^+^+^+^+^+6 6 X.W.0 6 u i+. h h 6 U.%+| 5+| 5+5+9 X.6 ^+^+| U.U.- i+. Y u ,.5.W.| 6 Y Y i+^+X.5+| U.0 U.%+U.6 u i+. Y s R X.0 5+Y v+Y Y i+i+i+i+i+Y i+U.a 1 [.. x h i+U.a X.6 ^ ^ i+Y v+Y v+v+Y $+4 M [.. U./.W.0 6 ^+^+^+i+v+i+X.U.4 %+J.5+0 s.m+6 Y c f 0 5+p I.d+I.d+I.I.I.I.I.p X.| I./.. v+=.M ,.*+Q.9 | 6+I.I.I.I.I.I.I.d+I.d+W.$+}+0+| i+Y _.,.z N r _.U.^+| 5+5+9 X.^+^+i+i+i+i+^ U.4 !.i+. ^+u X.U.4 9 9 9 5+| | | U.U.W.U.0 X.K.=.. . Y h z /.6 0 W.W.4 $+0 U.5+X.^+i+Y i+$+a A+q+Y v+=.M N N N ,.N ,.N N ,.,.,.,.,.N s N ,.s t Q.e+5+9 ^+6 ^+6 X.%+i L.3 3 L.L.X.5+X.5+| 5+5+X.X.X.^+^+^+i+i+i+Y Y Y Y i+e+h+~.U.4 y h+0+0+0+0+0+0+0+0+0+0+0+}.0+0+}.}.}.~.}.~.~.~.~.~.V V V V V  + + +&+&+&+E E E E E E E E E E E E E E &+E E 2.D.D.D.D.D. .L L { q L { L L { L { { L L L L L L { L L L L L { { L L L L L l <+).)+V.V.V.2 8.2 +.+.+.@+'.V.` D p+G+<+~.~.h+V B <+!+V.@+` D G+0 < 9 s ^+^ Y v+. . . . . . . . . . . ",
-"4._._.4._.4.4.4.[.c U.| a $+$+4 W.W.W.W.4 $+W.W.0 ] - i+. Y u 4._.M m B h+0 W.| | 5+5+9 9 9 5+| %+0 6 P.D.. D.u ^ 4._._.4.4._.4.s M j | %+J.2.5.4.i+=.4.*+^ $+W.^ i+^ ^+6 9 5+U.$+4 %+| 0 t - . . 3 ^ _._._.M _.4.M 4._.4._.M M _.M 4.s - ^+0 4 ^+^ ^ i+^ i+i+i+i+i+X.| 4 3 [.. 3  .i+0 a 6 6 ^+6 ^+X.6 6 9 9 W.0 6 u i+. ^ h 6 U.%+U.U.| | | 9 9 6 ^+^+| U.U.'+i+. v+u ,.I W.U.X.Y i+^ 6 X.5+5+| | U.%+U.6 u =.. v+,.1 6 $+U.Y Y Y v+v+Y v+Y v+v+^+U.4 u [.. ^+- ^ 0 W.X.^+i+i+Y Y Y Y Y Y i+0 W.3 /.v+[.& W.0 9 ^+^+i+i+v+i+6 | $+a %+X.U.8+0+i+v+/.}+| 5+p 6+I.I.I.I.6+6+p 6+e+X.| d+A+. v+i+M N 7.i 9 | J.I.I.I.I.I.6+6+6+p e+5+$+B 0+X.Y i+_.,.z z q+1 6 U.^ ^+^ i+^ i+i+Y Y Y v+^+U.$+- ^ . 6 =.X.U.W.| 5+| | U.U.0 0 $+%+U.6 o w 3 . v+Y M z ( _.0 W.4 $+0 0 U.U.5+9 6 ^+X.0 4 u /.. v+=.s s N ,.N ,.N ,.,.N ,.N ,.,.,.,.,.N 8 $ d a 0 ^ | | 5+5+^+$+U...x Y h 3.X $+i+X.6 ^+^ i+i+Y v+v+Y v+v+Y v+Y Y Y i+%+p 0+q+| 6+B 0+0+0+0+0+0+0+0+0+0+0+}.}.}.}.}.}.~.}.~.~.~.V ~.V V V V V  + +&+ +&+&+E E E E &+&+&+E &+E &+&+E E E E &+T.D.D.D.D.D.b L L q { { { { L L L L { { { { { { L L { { { { L L { { L { L ; @+!+).).V.V.2 2 8.8.+.+.+.@+@+@+@+D D G+p+}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.}.~.B &+).V.'.D O < 9 _.^ v+. ",
-"_.4._.4._.4._.4./+3.U.| a $+W.W.a a a a W.W.a 4 0 N !.i+v+v+=.4.4.h z / 0+4 a 0 U.| 5+5+9 9 9 | %+U.6 c D.. v+u 4._._.4.4._.- N ( v /+U.a 4 _.L.i+3 u h F i+0 W.^+^+6 9 | 0 4 W.%+%+e+5+0 b+- . v+Y K 4._._._._._._._._._.4._._.M 4._.N @.X.0 | Y Y i+i+i+i+i+i+Y Y X.U.4 u [.v+3 [.Y 0 W.X.^+6 6 X.X.9 9 9 5+%+U.6 u u . ^ u 6 U.%+U.| U.| 5+5+X.X.^+^+U.| 0 - ^ . v+=.,.c 4 U.5+^ ^+X.X.9 9 5+9 5+5+W.U.X.3 i+. Y s !.^+0 $+i+i+Y Y Y Y v+Y Y Y 6 | $+3 > v+^+K ^ 0 W.^+^ ^ i+i+i+i+Y i+i+6 0 4 D.( . ] N.W.| 5+^+^+i+Y v+Y ^ X.| U.0 ^+U.d+0+v+v+R.0+| 5+W.e+e+J.J.%+%+a a 4 0 X.| d+U.. v+=.s N 5.0+$+U.U.%+%+%+a a a W.4 $+U.^ $+p w.=.v+Y M N z z N ^.^+U.6 v+Y v+v+v+v+v+v+v+v+X.U.0 u ^ . x u X.U.W.9 5+5+5+5+5+| | a 5+$+^+> u . . v+^ M z j i+0 a 5+9 X.X.X.6 6 ^+^+^ X.0 4 D.( . v+i+M ,.,.N ,.N N ,.,.,.,.,.N N N ,.,.,.*+q.a 5+| 6 | | | 5+5+^ | ' _.v+u > [.9 5+i+^ i+Y v+v+Y Y i+i+i+^ i+i+i+i+^ ^ U.$+s.d 9 a 8+}.0+0+0+0+0+0+0+0+0+0+0+0+0+}.}.}.}.~.}.~.~.~.~.~.V V V  +V  + +&+&+E &+&+E &+E E E &+E &+E E &+&+&+E E+V.D.D.D.D.D.H L ; q { L L { { { { { L L L { L L L { L L L L L L L L { L L * V.!+)+).).V.V.8.2 2 2 2 +.8.@+@+8.'.D p+G+'.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.}.V B E ",
-"_.4._.4._.4._.4.[.3.| 5+%+W.a a %+%+J.%+%+%+J.$+0 [.w i+. D.u 4._.4.4.*+o+6+X.%+$+0 U.| | | U.$+J.0 9 r v+. v+u ^ 4._._._.< N W b.0 | $+0 9 ] ,.Y v+Y 4./+Y $+4 5+5+| 0 W.a J.J.e+e+e+9 U.e+'+. . 3 K 4._._._._._.4._._._._.- 4.M _._.$.(.U.0 | Y Y Y i+i+^ i+i+i+Y 6 U.W.h [.. 3 7.i+0 a 6 6 6 6 X.X.9 9 5+5+a U.X.u =.. x u X.U.a U.| | | 9 9 X.X.^+^+0 | 0 - i+. D.=.,.P.0 | U.6 X.9 5+9 9 9 X.X.5+W.U.X.u i+. v+X.!.^+0 4 ^+^ i+i+i+i+Y Y Y Y X.U.$+D.> . x - ^+0 4 ^+^ i+i+Y Y Y i+Y i+6 0 4 Y ( . h M.e+| | i+i+Y v+Y Y i+^+6 X.6 ^ U.e+/ . v+0 k 0 U.X.U.U.| | 9 X.6 6 ^+i+0 U.5.7.. v+i+s z o w.W.U.i+6 X.6 6 6 ^+^+^ i+i+X.$+| @.u . Y _.N z z z 7 > ^ W.^ Y Y Y Y Y i+Y i+i+| U.| u =.. 6 K 9 U.4 X.6 ^+6 ^+6 6 9 W.0 ^+i+u =.. . D.^ s z H.^+0 4 i+Y Y Y Y v+Y v+Y v+i+0 W.i+j . v+=.s ,.,.,.,.,.,.,.F+,.,.,.,.,.N ,.N N `.N J.| ^ ^ ^+6 X.X.X.i+$+[.P.u Y _.& U.$+Y i+Y v+Y Y Y i+i+i+^ i+^+^ i+i+i+i+^+W.4 -+6 0 6+h+0+0+0+0+0+0+0+0+0+}.}.}.}.}.}.}.}.~.}.~.~.~.V ~.V V V  + + +&+&+ +E E &+E &+&+&+E &+E &+&+E &+E &+E &+V.D.D.D.D.D.; L L q { { L L { L L L { { L { L { L L L { { { { L L L L L L * !+!+!+)+).).)+V.2 8.2 +.2 +.@+@+@+2 T.D p+G+)+}.}.}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+",
-"_._._.4._.4.4.4./+3.U.5+J.a %+J.J.J.J.e+J.J.e+U.0 R.]+i+. Y =.4._.4._.x ..3.5+0 J.%+a W.W.a %+J.%+0 6 _+v+. v+u 4.4.M 0 s.}+0+Z.U.5+4 0 9 | j h v+v+u ^ A+^ 0 $+4 $+4 W.%+J.e+p e+e+e+9 U., '+v+. Y =._.4._._._.M M _._.4.M _._._._._.1 c+| U.U.i+i+i+^ ^ ^ ^ i+i+Y ^ 0 W.1 | v+Y q+^ 0 4 ^+^ ^+^+^+6 X.X.X.9 4 U.X.3 i+. ^ i+X.U.a 5+9 5+9 9 X.X.6 ^+^+U.U.| K i+. v+i+,.s | U.$+9 5+| | 5+5+9 5+9 5+W.U.X.3 ^ . D.s 4.^+0 W.^+^ ^ i+i+Y Y Y Y Y X.U.4 u %.v+^ ( X.0 0 i+Y Y Y v+Y v+Y v+Y ^ 0 4 Y /.. u R.8+| 0 Y v+Y Y Y i+^ ^ ^ ^ ^ ^ 0 W.J v+v+X g $+0 i+i+i+Y Y Y Y Y Y Y ^ 4 $+i+M . v+=.s z 7 h 4 U.6 Y Y Y Y Y Y i+i+i+^ 4 0 ^ K ^ v+i+6 N N z z z O.7.W.5+Y v+Y Y Y Y Y v+Y X.U.$+- ^ . x h U.| | i+i+Y Y Y Y Y 4 5+W.i+- %.. . v+i+M s N ;.U.U.| Y Y i+Y i+i+i+i+i+i+v+$+$+N [.. v+u _.,.N ,.N ,.N ,.N ,.F+,.,.,.,.,.s 7.( X.4 $+Y Y i+i+i+i+i+i+9 9 J ] D.u 7.9+9 5+v+Y v+v+v+Y Y i+Y i+Y Y Y i+i+Y i+i+5+| }+d 5+%+s.}.0+0+0+0+0+0+0+0+0+0+}.0+}.}.}.~.}.~.~.~.~.~.V V V V V  + + +&+&+&+&+E &+E E E &+E &+&+E &+&+&+&+&+U V.D.D.D.D.3 L L ; 7+L L L { L { { { L L L L { L { { { L L L L { { L L { L R.!+).!+!+)+).).!+V.2 2 8.8.+.8.@+@+2 @+` D p+O D T.@++.V.)+).<+E E  +B V ~.}.}.}.0+0+0+0+0+0+0+0+0+0+0+0+",
-"4._._._._._._.4.< L.U.5+J.a %+%+J.e+e+e+e+e+p 5+0 %+5.^ . D.u 4._.4.4.4.s > ] ^ a e+e+e+e+e+p e+%+X.4 O =.. D.i+_.N b+}.0+0+0+J.0 0 $+X.$+% - u . . 3 4./.z $+U.a W.W.a %+J.J.e+e+p e+9 U.F.- . v+D.K _.4._.4._.4._._._._.M _._._.4._.1 t | 0 U.i+i+^ i+i+^ i+i+Y v+i+U.a j 5+. Y H.^+0 4 i+i+i+i+^+^ ^+^+^+6 $+U.5+3 ^ . ^+u 9 U.4 9 X.9 X.X.6 ^+^+i+^ U.U.U.K ^ . D.u s - 5+U.W.| | U.U.U.U.| | 5+| a U.X.3 i+. Y ].!.^+0 $+^ Y Y Y v+Y Y v+Y v+i+U.a /.| . u (.0 0 X.Y Y i+i+^ ^ ^+i+i+Y Y 0 4 =.@.. v+[.3.X.W.Y Y i+^ ^+^+^+^+^+^+^ ^ 0 W.r v+. q+z 4 $+Y v+Y Y i+i+^+^+X.9 U.$+$+h =.. v+=.s z 5.h | | $+9 X.9 9 9 5+5+5+| | %+U.^ - i+. u _.z z z z z N ;.C 0 Y Y Y Y v+Y Y Y Y i+U.a @.i+v+^+c W.U.^+v+Y Y Y Y v+9 U.a 9 M Q Y . . 3 ^ s N 8 w.S U.9 ^ ^ ^+^+^+6 ^+6 ^+^+i+0 $+_+U.. v+u M ,.s N ,.F+,.N ,.,.,.,.F+,.,.,.,.t - 4 | | v+v+v+Y Y i+Y Y i+0 b+j Y 3 N ..$+$+Y Y Y Y Y v+v+v+v+Y v+Y v+v+v+v+v+Y ^ W.I.0+0 0 I.h+0+0+0+0+0+0+0+0+}.0+}.}.}.}.}.~.}.~.~.~.~.~.~.V V V V V  +&+&+&+E &+&+&+&+&+&+&+&+&+&+&+&+&+&+&+E &+U D.D.D.D.u ; L L 7+{ { L { L L L L { { L L { L L L L L L L L L L L { L L H.!+).!+!+!+!+).).).V.V.2 2 2 8.+.@++.8.T.` p+G+s . D.v+u i+4._.,.z < *+O G+D '.+.V.!+).E E B V }.}.}.0+0+",
-"4.4.4.4.4._.4._./+$.U.| a W.a %+J.e+e+p p e+e+X.0 e+c+i+. Y =.4.4._._._.4.N @.=.U.e+e+p p e+e+e+e+4 9 5.K.%.- ( 3.>+0+0+0+0+}+%+$+| X.W.2+'+=.. . v+i+K 1 @.0 | a W.4 W.W.a %+a %+%+J.| 0 3.K . . Y K _.4._._._.M _._.M _._.4._._._.M s o+5+0 | Y Y Y Y Y Y Y Y v+v+i+0 a ' | . v+#.5+U.$+Y v+Y Y Y i+i+i+i+^ U.U.5+u i+. h u 9 U.4 6 X.6 6 6 ^+^+^+i+^ | | | u i+. v+=.,.^ X.| a U.0 $+$+$+$+0 0 U.5+W.U.9 u ^ . v+s j 9 0 5+Y Y i+i+^ ^ ^ ^+^+^+i+U.a ;.%.. Y M.J.U.^ X.9 5+| U.U.| 5+X.^+Y 0 4 x @.. v+h 9+^+W.^ i+^ ^+6 X.X.9 X.9 6 ^ 0 a G.v+v+-.L.4 $+Y v+v+i+i+6 X.5+U.$+W.U.0 A+u . v+i+s z o+$.9 | %+0 0 0 0 0 0 0 $+0 $+%+0 ^ - i+. Y _.N z 8 z z 8 s ( 6 Y i+i+i+i+i+i+^ ^ i+| %+`.3 . h 1.%+U.i+^ i+^ i+Y 9 U.W.$+$.W M . . v+i+_.,.N z >+%+| X.6 6 X.X.X.X.X.X.6 6 ^ 0 $+#+< . v+=.M ,.,.,.,.,.s ,.,.,.,.,.,.s N s /+& X.W.$+i+v+Y Y Y i+Y i+i+Y U.5+O.h D.u 7.l | 6 i+Y i+Y Y Y Y v+Y v+Y v+Y v+Y v+Y Y 0 %+0+C U.J.}+0+0+0+0+0+0+0+0+0+}.0+0+}.}.}.}.~.}.~.~.~.V V V V V  + + + +&+&+&+&+E &+&+&+&+&+&+&+&+&+E &+&+&+&+&+U 3 D.D.D.- L L L 7+L L { L { { { { L L { { L L L L L L L { L L { L L L L N.).!+!+!+)+)+)+).).).)+V.8.8.8.+.+.@+@+@+T.` p+*+v+. . . . . . . . . . . . . . D.u ^ 6 N < o G+D '.+.V.!+",
-"_.4._.4.- _.4.4./+z U.| W.W.a J.e+e+e+p e+e+J.X.0 6+c+=.. v+u 4.4._.4._._.4.F x.|.a $+a e+p p e+e+e+e+m /+F j c+b+m e+s.}+B J.W.| 5+c+6.- Y . . D.D.=.4./.,.0 0 4 U.0 U.U.U.0 0 $+$+4 0 $+h =.. D.Y K _._._._.4._.4.4._._.M _._._._._.1 1.0 0 X.Y v+Y Y v+Y v+v+Y v+Y U.a ++[.. D.:+*+U.U.v+v+v+v+Y v+Y i+i+i+| U.| u ^ . ^+u 9 U.$+X.X.X.6 X.6 ^+^+^ ^+U.U.| u ^ . v+=.,.K X.U.a 0 $+4 W.a W.$+0 5+9 $+| U.- ^ . v+4.O.W.0 ^+X.9 5+U.U.U.0 0 0 0 9 U.$+}+@.. Y $ 6+| X.a W.W.W.W.4 4 0 | X.i+0 4 ] [.. v+u 1 / e+^+Y ^ 6 X.X.9 5+5+| 5+i+0 J.:+. v+U.#+4 0 v+Y v+i+^ 6 5+| 0 $+a U.0 L.u . v+^ s N Y.1 5+| a U.0 U.U.U.U.U.U.U.U.%+0 ^ - i+v+i+_.9 z z Z z z z s u Y ^ ^+i+Y i+^ ^ ^ i+U.%+`.3 . h ^.J.U.i+^+^ i+^ $+| W.$+/+2+[.. . v+3 ^+s ,.N z >+, | 6 X.X.X.X.X.6 6 6 ^+^+i+0 4 _+U.. v+=._.s ,.,.,.,.,.s ,.,.s ,.,.,.,.1 t /.4 U.5+Y i+i+i+Y i+i+i+^ i+^ U.|.$.i+u o+(.5+0 i+^ i+i+i+i+Y Y Y Y Y Y v+Y v+v+v+Y X.p }.0+p $+d+h+0+0+0+0+0+0+0+0+}.}.}.}.}.}.}.~.~.~.~.~.~.~.V V V V  + + +&+&+E  +&+&+&+&+&+&+&+&+ +&+&+&+&+&+&+&+&+_.D.D.D.!.L L L 7+{ L L L L L L L { L L L L { { { { L { L { L L L { L L b+).).!+!+!+!+!+)+!+).).!+V.2 2 8.+.@+@+T.'.T.D G+s . . . . . . . . . . . . . . . . . . . . . . . D.D.u ^+",
-"4._.4._._.4._.4.[.h $+U.J.J.J.J.%+%+a W.W.$+0 ^+U., c+i+. Y =.4._.4.4._.4._._.R.$ ^.^ ^+| a e+p p e+e+e+$+| U.5+5+U.p W.W.J.4 ^+| 7 w h 3 . . . v+Y K _.[.^ 0 $+4 W.4 4 $+$+$+4 4 4 a 0 4 Y x . . Y K 4._._._._.M _.M _.4._._._._._.M s M.%+U.i+i+^ ^ ^ ^ ^ ^ ^ i+i+6 U.%+J | . Y / 6+U.^+^ ^ ^+6 6 X.X.9 5+| a | | u i+. x $.$+U.U.4 W.4 4 4 $+$+0 0 0 %+| 5+3 i+. D.u ,.x 5+U.a %+J.e+J.J.e+%+4 U.9 0 | W...Y . Y ^ |.a 5+9 X.9 5+5+| 5+| | | | 6 0 | Z.] . u (.0 5+4 0 U.| 5+5+X.X.^+^+i+i+$+4 > [.. v+=.6 M M Y ^+^+i+i+^+6 X.X.X.X.^ U.J.[+v+v+O 4+U.U.Y ^ 6 X.5+0 4 a %+J.e+9 $+1 u . D.=.s z o+_.$+U.$+W.W.W.4 4 4 $+$+$+$+%+U.^ - i+. Y s N Z Z z z z z z ,.K o+p a $+X.i+Y Y ^ | a ..i+. x (.a | Y i+9 $+| 0 %+U.3.++,.. . . v+=._.s ,.N 8 .+p U.^ ^ i+i+i+i+i+i+i+i+i+^ $+4 _+X . v+=.M s s ,.,.,.,.s s ,.,.s ,.,.,.z :+4 4 U.i+Y Y Y Y Y Y Y i+Y Y Y 4 4 / X Y Y.9+| 0 Y i+i+i+i+i+i+i+i+i+i+i+i+^ ^ ^ ^+^+X.d+s.0+0+0 e+B 0+0+0+0+0+0+0+}.0+}.}.}.~.}.~.}.~.~.~.~.V V V V V  +V  + +&+&+&+&+&+&+&+&+ +&+ +&+&+&+U &+&+ +&+&+U '+D.D.D.$.; L L { L { { L L { L { L L L { { L L L L L L L L (.L L L L L T.).!+).!+).!+!+!+)+!+).).!+)+8.2 +.+.@+T.'.T.` p+o v+. . . . . . . . . . . . . . . . . . . . . . . . . . ",
-"4._.4.4.4._._.4.3.^.U.$+0 U.U.0 U.0 0 0 0 $+$+W.6 e+H i+v+D.=.4._.4.4.4._.4._._.N b+g ^ X.6 X.U.a J.e+e+J.e+e+J.$+| 4 0 0 ^+^+s !.x h v+. . v+D.u ^ 4.4.8 $+U.U.| | 5+| | | | | | | | U.$+D.M . v+3 =.4.4._._._._.4._.M _._._._.M 4.M ,.f.U.5+U.U.U.| U.U.U.U.| U.U.| | a #+%.. h g *+9 U.| U.| U.U.| U.U.U.| | W.^+u ^ . u $+U.U.U.U.| U.| U.U.U.| U.| | a ^ u =.. Y u _.^.0 W.| | 5+5+| 5+U.| U.0 0 U.5+%+9+D.. D.x H.| 5+U.U.U.U.U.U.U.U.U.U.U.0 5+W.-+h . u Q U.| U.| U.| U.U.| U.U.U.U.U.9 J._+U.v+v+u s s s u [ J.4 $+U.5+X.X.6 X.$+| a W v+.  .[+U.9 U.U.| | U.| | 5+| | | $+9 x ^ . v+^ ,.Z 3.a U.4 | 5+| | 5+| | | | 5+| 9 a ^+@.3 v+Y M ,.z z Z 8 z z z z N N M.1.^+5+U.$+$+W.| 4 j ^ . h |.W.| | U.U.$+a | X._+;.M . . . Y =._.s ,.,.N 8 H.U.X.| | U.| U.| U.| U.U.U.| 5+J.c U.. v+u M ,.s N s ,.s N N s F+,.s ,.,.j t $+| 5+U.0 0 0 0 0 0 U.U.0 U.0 0 p 0+C ^ S [+m | | U.U.| U.U.U.| U.U.U.U.| U.U.| U.| 0 $+s.0+0+W.W.8+}.0+0+0+0+0+0+}.0+}.}.}.}.}.~.}.~.~.~.~.~.~.V V V  +V  + +&+&+&+&+&+&+ +&+ +&+ +&+ + +&+&+ +&+U &+&+_.D.D.D.> ; L { q L L { { L { L L { L L L L L L L { L { L L { L L L L L @+).!+).!+!+!+!+!+)+)+)+).).!+)+2 8.+.@+` D '.T.D G+N . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-"_.4._._._.4.h _.L.q+U.$+6 6 6 ^+^+^+^ ^ ^+i+^ ^ | c+'+i+. v+=.4.4._._._._.4._.4.4.M  .9+/.R.e+a $+U.| | | U.0 0 $+$+6 Y i+3 u > > Y . . . v+D.u K 4.4._.o+m U.W.0 0 4 W.a %+a W.4 $+0 9 i+3 ] . . Y K 4._._._._._.M _._.4.M 4._._._._.M 7.^+| a J.J.J.J.%+J.%+%+%+%+%+W.9 (.| v+v+@.6 U.$+%+%+a a W.W.4 $+0 0 U.^+Y 3 i+. =.;.$+U.$+9 9 9 9 5+| 5+| | | 5+^ Y u i+. v+i+N ^.%+U.$+9 9 5+| 4 6+y I.e+J.J.p %+=+v+. v+M [.$+| 6 5+| | | | | | | U.U.U.a 6+-+h . i+@.0 U.6 U.U.0 $+4 W.W.a %+J.J.p %+(+Z . v+^ M N N N M |.| i+6 9 5+| | | 5+%+$+G.v+v+- z X.| e+J.%+%+a 4 $+0 | | 9 6 Y i+x . D.^ ,.8 o+9+0 | %+4 $+4 4 W.W.W.a %+%+a U.^+(.D.. Y M z z z z Z Z Z Z z z N s F.^.x U.0 | U.a X.( i+. ^ 5.| | 0 a U.X.6 3.^.[.Y . . v+D.i+_.s N N ,.,.,.( ^ U.0 J.%+J.%+%+%+%+%+%+%+J.%+0 (.Z . D.i+M s ,.F+s N s ,.s ,.s ,.s s s b 0 6 | U.a a a a a %+a %+a %+a a e+y B +.6 o T.L.i+U.a J.e+e+e+J.e+J.J.e+J.J.J.J.J.J.J.%+e+e+d+m+5+0 I.h+0+0+0+0+0+}.0+}.0+}.}.}.~.}.~.~.~.~.~.V V V V V V  + + + +&+&+&+ +&+ +&+ +&+ +&+&+&+ +&+&+&+ +&+&+|+D.D.D. .L L q { L { L L L L L L L { L L L L { L L L L L L L L L L L * V.).).!+!+).!+!+).!+!+!+)+!+!+!+V.2 +.'._ G+'.T.D p+o ] =.Y . . . . . . . . . . . . . . . . . . . . . . . ",
-"_.4.4.4._.4.4._.Z =+j b+$.1 1 !.w ( ( $.$.> A+/.> 8 ].v+. D.u 4.4._.4.4.4.4.4._.4.4.4.M [.3...9+x+W.U.5+9 6 ^ i+Y Y Y K > 3.].Y . . . v+D.Y =.^ 4.4._._.> ++R.d F.F.F.d d .+(+9+^.1.[ H.[ 7.x . v+Y 4.4._.4.M 4.4._._._._._._._._.4._.4.K h [ N.|.(+|.|.(+(+|.(+|.(+.+d ;.F.3 . v+3 K 1.1.=+|.(+(+9+^.N.c+[ R.R.q+q+# . . D.1 |.[.d 4 R.$+R.o R.R.$+R.q+q+q+-.%.v+. D.u M #+A R.c+3.q+H.b+6+h+0+! -+w.*.G.9+3.v+. D.6 m 9+[ 1 8  ./+%.[.[.[.-.-.q+7.q+R.> 3 . Y o+5.H.1 -.X -.X q+0 R.$+R.4 [ [ [ R.Y . v+=.6 N N N 8 1 3.Q [.Z F.6+I.d+d+p , d . . u h R.L.;.|.|..+(+d ;.1.N.H.O R.o F ^ . v+^ N Z z M d 3.=+;.d ;.d d .+;.d .+.+;.;.3+-.. v+i+_.z z Z z z N z z z z 8 N s ,.Q R.3.t x+m 5+g i+. u /.6 $+e+X.]+1.++[.Y . . . v+Y =._.s ,.,.,.,.,.s _.K ^.Q e =+, (+, (+(+.+|.(+|.|..+b+i+. v+u M s ,.s ,.s s ,.s s ,.s s s F+P.1 W.$.A $ $ x+x+$ x+x+$ x+$ $ $ -+i Z.O.^ Z '.+.< / N.M.|.|.|.|.|., =+=+=+=+=+=+, |.|.(+;./ / ` i+9 J.s.}.0+0+0+0+}.0+}.}.}.}.}.~.}.}.~.~.~.~.~.V V V V V  + +&+&+ +&+ +&+ +&+ +&+ + + + +&+ + + + + +&+ +/+D.D.D.b L L { { L { L L L L { L L L L L (.L L L { L L { L L L L L L q+!+).y ).!+y ).!+!+!+!+)+)+!+)+!+)+V.+.D D G D '.` p+Y.< %. .A+].x =.v+. . . . . . . . . . . . . . . . . . ",
-"4.4._._.4._.4.4.x s ,.M M x =.i+3 D.3 D.D.D.D.D.v+D.. . v+Y =.4.4.4._._._._._._.4._.4.4.K h s A+3.1.d + o -.[.[.-.7.c # =.. . . . v+D.3 i+h 4.4._.M 4.4.4.s z _.=.u D.v+v+v+v+v+v+v+v+v+. v+. . v+3 K 4._.4._._._.M 4._._.M _._.M _._._.4.4.s 1 h u v+D.v+v+v+v+v+v+v+v+v+v+. v+v+=.K s 1 ^ 3 D.v+v+. v+v+. v+v+. v+v+. v+Y =.s s x =.Y v+. v+. v+v+. . v+v+v+v+. . v+=._.M ..q+@.> ].x 6 # 6+}+7.1 !.'+( 1 =.v+. Y =.s z s ,.,.x ^ ^ u ^ =.=.i+u i+i+u Y . v+Y 4.s s 9 ,.x ^ ^ i+^ i+=.^ i+^ i+^ Y v+. D.^ s ,.N z N N ,._.,.[.] [...5 f.f.@.3 . v+i+s N < A+M i+3 D.D.D.v+v+v+v+v+v+v+v+v+Y ^ s z /+Z /+F z 6 u D.v+v+v+Y D.v+v+v+v+D.v+v+D.i+s z Z 8 8 Z z z N z z z 8 z N s M N @.%.r H.%.. . Y u 3.r t+t | - . . . . v+D.u ^ _.s ,.s ,.,.,.,.N s s A+N x u Y D.v+v+v+. v+v+v+v+D.v+v+. D.i+M s ,.s F+s s ,.s ,.s s ,.s ,.,.1 /.../+$.6 x x ^+x ^ ^ x ^ h ^+^ x ^ Y i+9 S !+E s.s.m < ^+i+^ ^ i+i+i+i+Y i+Y i+Y i+Y i+Y Y Y ^ X.a 8+h+0+0+0+0+0+}.}.0+}.}.}.}.~.~.~.~.~.~.V ~.V V  + +V  + +&+&+ +&+ + + +&+ +&+ + + + + + +&+&+&+ +&+/+D.D.D.* ; L 7+L L L L { { { L L L L { { { L { L L L { L L { L L L L R.).).).!+).!+!+!+!+!+)+!+)+)+)+V.)+2 @+D D *+G+'.T.D G+o /+ . . . .%. .A+].h i+v+. . . . . . . . . . . . . ",
-"_.4.4.4.4.4.4.4.4.4.4.4.K u D.v+v+v+v+v+v+v+v+v+v+v+D.v+D.u =.4.4.4.4.4.4.4.4._._._.4._._.4.4.u =.x h Y v+v+v+D.v+. . . v+. v+D.D.Y u u K 4.4.4.4._._.M 4._._._.K Y D.D.v+v+v+v+v+D.v+D.v+D.v+v+D.i+4.4._.M _._.4._._._._.4.M _._._.- M _._.4._.^ i+D.v+D.v+v+D.v+D.v+D.v+v+v+D.Y =.4.4._.^ i+D.D.D.v+D.v+D.v+D.v+D.v+v+D.3 =._._.4.=.Y Y v+D.v+D.v+D.v+v+v+D.v+D.Y 3 K _.M M s M K u D.Y Y i+^+i+v+v+v+v+v+v+v+D.3 ^ M M s s 4.=.Y Y v+Y v+D.Y D.D.Y v+Y D.Y i+4.M s s x i+Y Y v+Y D.Y Y v+Y v+Y D.Y Y u _.s z z z z z z ,.s _.^ i+Y u =.3 Y v+v+D.^ ,.z /+z s ^ Y Y Y i+Y Y i+Y Y Y Y Y u =.s z /+Z 8 < /+z ,.^ i+3 Y Y Y Y i+Y i+Y Y Y Y i+^ s N Z z z z Z 8 z z z z z z z N ,.s ^+^ h ^ i+v+D.i+4.s Z 8 M i+v+v+v+Y Y =.^ 4.M s ,.,.,.N ,.,.s ,.,.,.s s _.=.Y D.D.D.Y D.D.v+D.v+D.D.D.Y i+4.M s s ,.s ,.s s s s s ,.s s s ,.s s s _.K Y v+v+v+v+v+. v+. v+. v+v+v+Y s | a !+V }.B y %+0 5+5+5+9 9 5+5+5+5+9 5+9 5+9 5+5+5+5+| U.%+8+h+0+0+0+}.0+0+}.}.}.~.}.}.}.~.~.~.V ~.V ~.V V V  + + + +&+ +&+ +&+ + + + + + + + + + + + + + +&+ +/+D.D.3 ; L ; 7+{ L { L L L L L { L L L L L L L L L L L L o+L L L L L H.).).).).!+).!+!+!+!+)+!+)+)+)+V.V.2 '._ p+Z p+'.T.` p+G+o '.D q+[. . .%. . .> %.# ] h Y v+. . . . . . . . ",
-"4.4.4.4._.4._.4._.4.4.4.4.K u i+u 3 u u i+3 u i+u u u 3 i+u 4.4.4._.4._.4._._.4.4._.4._.4._.4.4.4.u u 3 3 D.D.v+D.v+D.D.D.Y 3 u =.K 4.4.4.4._._._.4.4.4._._.4._.4.^ =.u u 3 u 3 u u u Y u u u u =.K 4._.4._._._._.M _.4.M 4._._._._._.M 4._.M h 4.K =.u i+u u 3 u u u i+u u =.u u 4.4._._.4.K =.i+=.u u u u u i+u u u u u ^ 4._.M 4.4.K u ^ i+u u =.=.=.u u u ^ u u =.4._.M M M M 4.^ =.u i+u ^ u =.=.u u =.u u =.^ _.M M s s _.4.=.=.u =.^ ^ =.=.^ K ^ K ^ ^ _._.s s s s _.4.^ h h ^ h ^ h ^ _.4.^+_._._.s z z z Z Z 8 Z 8 z N s M M ^+^ ^ =.=.=.^+_.N /+< | z ,.s 6 M M M s s s s s s M 6 s 9 Z < < < Z z Z N s s 6 _.M x M _.M M _._._._._.s z z z Z Z Z z z z z z z N ,.N N z N s s _.4.^ =.=.^ _.s ,.s x K i+Y u =.4._.M s ,.s s s ,.,.,.1 ,.N ,.,.,.,.s _.4.h ^ ^ K ^ ^ h ^ h ^ ^ ^ ^ 4._.s s s s ,.s F+s s ,.s ,.s s s s s s M s 4.4.=.u =.=.D.3 Y 3 D.3 D.D.D.,.W.D +.<+V }.0+}+y 6+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+6+d+}+0+}.0+0+0+}.}.}.}.}.}.~.~.~.~.~.~.~.V ~.V V V V V V  + +&+ + + +&+ + + +V  + + + + + + + + + + +U L.D.D.u L L L q L { L L L L L L L { L L L L L L { L L L L L L L L L L N.).).).).).!+!+y !+)+)+)+)+)+)+)+V.2 @+T.p+4._ +.T.` p+G+*+).!+)+@+` Y.[. .%. .%. .%. . .A+].] h Y . . . . ",
-"_._._.4.4.4.4.4.4._.4.4.4.^ 4.K ^ h ^ K h ^ K h K ^ 4.4.4.4.4.4._.4._.4.4.4._.4.- _.4.4.4._.4.4.4.4.4.^ K =.u i+u i+u u u =.K ^ 4.4._._._.4._.4._._._.4.4._.4.4.4.4.4.^ 4.K 4.K K ^ 4.4.K ^ 4.4.4.4.4._.4._._._._._.M 4._.- _._._._.4.M _.4._.4.4._.h 4.4.4.^+h 4.4.h 4.4.4._.4.4._._._._._.4._.h 4._.4.^ 4.4.4.4.^ _._.4.4._.M s 4._.4.4._.4.4.4._.s ,.N z Z /+< X O G+D T.T.'.@+'.` ` p+S S D D S D S G+[ o o < < < /+z Z z ,.M _._.M M M _.M _.M M M _.M s s s ,.,.s s s s s s s s s ,.s s ,.s s ,.,.,.z z z z Z Z Z /+/+/+/+/+z z z ,.,.,.,.,.9 Z /+< /+/+/+/+/+< Z Z Z z z z z Z Z Z /+Z Z Z /+< < < < Z Z N z Z z 5+z z N ,.9 z 9 N 9 N N z z z Z 8 z z z z N z z z z N ,.,.z N z ,.s s _.M 6 ,.s N ,.M _._._._.6 s s ,.s N N ,.N ,.s ,.,.,.,.s s s s s s 6 s M M M M M M M M M M M M M M s ,.s s s ,.s s ,.|+s M ,.s ,.M s s s s _.M _._._._.h u u =.u =.K K =.p+V.y <+ +~.}.0+}.h+B B }+}+B }+}+}+}+}+}+}+}+B }+}+B }+}+}+B B h+0+0+0+}.0+0+}.}.}.}.}.}.}.}.~.~.~.~.V ~.V V V  + + + +&+&+ +&+ + +V  + + +V  + + + +V  + + + + +&+< D.D.- ; L L q L L L L L L { L L L L L L L { L L L L L L L L L L L L b+).).).).).).!+!+).!+)+)+)+)+V.)+V.V.V.2 T.@+2 @+'.T.D p+Y.+.&+E <+).)+8.T.[ 7. .%. .%. . .%.%.%. .A+].x =.",
-"4.4.4.4._._._.4._.4.4._.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4._._.4._.4.M 4.4.4._.4.4._._._.4._.4._._.4.4.4.4.4.h 4.h ^ 4.4.4.4.4.4.4.4._.4._.4._._._.4.M 4._.4._.4._.4.4._._.4._.4._.4.4.4.4.4.4._._._._.M 4._._.4._._._._.M 4._.4._.M 4._.M M M _.M 4.4._._._._._._.4.4._._._._.4._._._._.M _.4._._._._.M 4._.M _._._.M 4.M ,./+*+o o O p+'.@++.V.).<+E E E E E E &+E E g+g+g+<+).).).!+!+!+!+!+!+!+).).).<+g+g+g+<+g+g+g+<+).V.+.+.'.T.D o X Z z N s s s s s s ,.,.,.,.,.,.,.N ,.,.,.N N N z N z z z z z z Z /+/+Z /+< /+< < < < < < < < < /+Z /+Z < X X *+X X < < < X X X < X < < /+< < < < < < < Z /+< < < < < Z z z Z Z Z /+Z z z 8 z Z z Z z z z N z z z z N z N z N N z N z ,.N ,.N ,.,.,.s s ,.N ,.s ,.s s s ,.,.,.,.,.,.,.s ,.,.,.s ,.s M ,.s ,.s s s s s s s s s s s s s s s s s s s s s s s s s s M s s s M s M s s s s s s M s 6 s M 6 s _.=.4.K h K K K u +.<+E  +~.~.}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.0+0+0+0+0+0+0+}.0+0+}.}.0+}.}.}.}.~.~.~.~.~.~.~.~.V ~.V V V B V &+ + + + + + + + + + + +B V B V  + +V  + + + +y.D.D.- L L L 7+L L L L L { L L L L L L { L L L (.L L L L L L L L L L '.<+).).).).).).).!+!+!+!+)+)+)+V.)+V.V.2 2 2 2 +.'.T.D p+G+T.E &+ +&+E g+).!+V.+._ [ q+[. . . . .%. . . . .",
-"4.4._.4.4.4.4.4.4._.4._._.4._.4.4.4.4.4.4.4.4.4.4._.4._.4.4.4._.4._.4._._.4._._.4._.4.4.4.4._._.4._.4._.h 4.4.4.4.4.4.4._.4._.4._.4.4.4._.4._.4._.4._._._._._.4._.4._.4._.4._._._._.M 4.M 4._.4._._.4._._._._.- _._.4.M _._._.M _.4.M _.4.4.4._.4.M _._.M _.4._._.M _._._._._.M _._.M _.4.M M M M 4._._.M M s Z /+X o X |.f v.f ~.}.<++.o !+<+g+E ~.V }+s.g+s.&+V ~.}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+~.B B E s.s.E &+&+ +<+).)+).g+E g+g+g+).)++.@+_ G+X /+N s ,.N ,.,.,.N N z N N z z z z Z Z Z /+Z Z Z Z Z /+/+< < < < < X X < F X X *+X *+< < < < *+*+*+*+X X < < *+X *+X X < < /+< < < < F < < Z Z Z /+/+/+/+Z Z z z /+/+Z Z Z z 8 z z z z z z N z z z z z N z z N z N N N ,.,.,.,.N N ,.,.s N N ,.,.,.,.s s s ,.s ,.s s ,.s 1 s ,.s ,.s 1 s ,.,.s s s s s s s s s s s s s s s s s s s s s s s M s s s s s s s s M s s s s s M s s s s s s M K K K K 4.K 4.u )+E &+V ~.}.}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.0+0+}.}.}.}.~.}.}.~.~.~.~.V V ~.V V V  + + + + +&+ + + + + +V  +V  + + + + + +B  +V  + + + +G+D.D.1 ; L L q { { { { L L L L { L { L L L L L L L L L L L L L L L ; +.<+).).).).).!+!+!+!+)+!+)+!+)+V.V.V.V.2 8.8.+.+.@+'.` p+G+Y.).<+g+&+&+ +&+E g+<+).)+V.+.T.S o [. . .%.%. .",
-"4._.4.4.4.4._.4.4.4.4.4.4.4.4.4.4.4.4._.4._.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4._.4.4.4.- 4._._._.4.4.4.4.4.4._._._.4._.4._._.4._._._._._.4._.4._.4._.4._.4.4.4.4._._.4._._._.4._.4._.4.4.4.M 4.M _._.4._.4._._._._._._._._._._.4._._._.M 4._._.M _._.M _.M 4._._._._._._.M _._._._._.M _.M _._._._.M s < X O D D D D ` D D G+X M._ k v.}.V ).V 0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+~.B <+E E E )+).).g+<+g+).V.+.T.o *+z N z N z z z z z z z Z z /+/+/+< < < < < < < < X *+*+*+*+o o *+o *+o *+o o *+*+< < X *+o o o *+X < < < X X X < < /+/+< < /+< /+< /+Z /+/+< /+Z /+z z z Z z 8 z z z z z z z z z N N N z N z ,.N ,.,.,.N ,.N ,.,.,.,.,.N ,.N ,.s ,.,.s ,.s ,.s ,.,.s ,.s s ,.s s ,.s s ,.s s s s s ,.s s ,.s s s s s s s s s s s s s s M s M s s s M M s s s M s s M s M s M s s M s M s M s 4.K 4.K K u K 4.<+E  +V ~.~.}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.}.0+}.}.}.}.~.~.}.~.~.~.~.~.V V V V V V V  +&+ +&+ + +B  + +B  + + + + + +V  + + + +V  + +T.D.D.A+L L L { L L L L L L { L L L L o+L L L L L L (.L L L L L L L * )+).<+<+).).).).).).!+!+!+!+)+)+)+)+V.V.2 2 2 2 +.@+'.T.D p+o ` +.)+!+).g+E &+ +&+&+E E <+).!+V.8.'.D t O -.",
-"4.4._.4._.4.4._.4._.4.4.4._.4._.4.4.4.4.4._._._.4._.4._.4._.4._.4._._.4.4.4._.4._.4.4.4.4._.4._._._._.4.4.4.4.4._.4.4.4.4.4.4.4.4._._.4._.4._.4._.4._._._.4._._.4.4.4._._._.4._._.4._._.4.4._._._._._._._.4._.4._._._._._._.4._.4.M _._._.4.M 4._.4._._._._._._._.4._._._._._.4.M 4.s N /+X O D p+` ` D ` ` ` %+` ` ` %+O Y.2 P f v.0+g+E 0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+B s.g+E !+!+E <+<+).!++.'.Y.< /+z Z /+/+/+< < < < < < F *+*+*+*+*+*+X X < X o o o o o o o o o o o o o o X < < X *+*+*+o X < < < *+< *+< < /+Z /+< < /+< /+Z z Z /+Z /+z Z z N z z Z z z z z z z N z N N ,.,.,.N N N N N ,.N ,.N ,.N ,.s ,.s s ,.,.,.s s s ,.,.,.,.M s s ,.s ,.s s s s ,.s ,.M ,.s s M s ,.M s s M ,.M s s s s M s s M s s s s M s s s s s s M s s s s M s M s s M s _.s M s s M s u u 4.K K u s g+E  +V ~.}.}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.0+}.}.}.}.}.}.}.~.~.}.~.~.~.V ~.~.V V V V  + + + + + +V &+ + + +V V V V V V  + +V  +B  + + + +'.D.D.> L L q L L L L L L L L L o+L L L L L L L L L L L L L L L L L H ).<+).).).).).).!+).!+!+)+)+!+)+)+)+V.V.V.8.2 +.+.+.'.T.` p+G+/+o p+'.+.V.)+).g+g+E E &+&+&+&+E <+<+).)+V.2 ",
-"4.4.4.4.4.4.4.4.4.4.4.4.4.4._.4._.4.4._.4.4.4.4.4.4.4.4._.4.4.4._.4.4._.4.4.4._.4._.4.4.4.4._.4.4.4.4._.4._._._.4.4._.4._.4.4._.4.4.4._.4._.- _.4._._.- 4._.4.- _._._._.4.4._._._._.4.4._._.4.4.4._._._._._._._.4._.4._._._._._.M 4._.4._._._._._.M _._._._.M 4._.M 4.M _.s z < o D S D ` ` ` %+` %+` ` ` ` ` D ` %+` D D $+[ P P v.f ~.<+}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+ +g+g+<+)+g+g+).).+.+.p+X /+/+< < < < *+*+*+*+X *+*+o o O o o *+X X o O o O O o 7 o o o o o o o *+< < *+*+*+*+*+*+< /+< < < < < < /+z Z /+/+Z Z /+z z 8 z Z Z 8 z z z z z z z N N N N N ,.N N N ,.,.N N N ,.,.,.,.,.,.s ,.N s ,.s ,.s ,.s ,.s s s s ,.,.,.s s s F+s s s s s M s s s s M s M s s s s s M s s M s M s s M s M s M s s M s M s M M M M s M s M M s _.s M M s M M _.s M s 4.4.u K K K s g+E  +V ~.}.}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.0+0+}.0+0+}.}.}.~.}.}.~.~.~.~.~.~.V V V V V  +V  + + + + + + + +V  + + + + + + +V V  +V  + +V  + +T.D.D.b ; L { { L L L L L L L L L L L L L L L L L L L L L L L L L L R.<+).<+<+).).).).).!+).!+!+!+)+)+)+V.V.V.V.2 2 2 +.+.@+'.` D G+Z M s z *+G+T.+.+.)+!+).<+g+E E E &+E E E E g+",
-"4.4.4.4.4._.4.4.4._._.4.4.4.4.4.4.4.4.4.4.4.4.4._.4._.4.4._.4.4.4.4.4.4._.4.4.4.4.4._.4._.4._.4.4._.4._.4.4.4.4._._._.4._._.4._._.4.4.4._.4._.4.4.4._._.4._._.4.4.4.4.4._.4.4.4._._._._._._._.4._.- _.4._.4._.4._.4.M 4._._.4._._._._._._._._.4._._._.4._.4._.M _.s z X G+S 4 G+` ` ` ` ` ` T.` T.` J.T.` ` W.D ` D ` U.Y.D X D f+).v.0+E V 0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+r.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+~.E !+<+!+).<+).!++.@+S X < *+*+o o o o o o o o Y.Y.Y.Y.Y.o o *+*+7 Y.O Y.O 7 o o o o o o o *+< < < *+*+*+*+*+< < < < < < /+/+Z z z /+Z Z Z Z z z z Z z z z N ,.N N z N N z N ,.N N N N ,.,.s ,.,.,.,.s ,.s s ,.s ,.s ,.M s ,.s s ,.,.M s 1 s M s M s s M ,.M s M s M M s M ,.M s M M s M s s s M s M s s M s s s M M M M s M M M M s M s M M M M s M s _.M s M M M s M M M M M K 4.u 4.K M g+E  +V ~.}.}.}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.0+}.}.}.}.}.}.~.~.}.~.~.~.V V ~.V V V V V  +V  +&+ + + +V V  +V  +V V V V  + + +V  +V V  + + + +'.D.D...L L q L L L L { L L L L L L L L L L L L L L L L L L L L ; L H.g+<+<+<+).).).).).!+).!+!+!+!+)+)+)+V.V.V.2 2 8.+.+.@+T.T.D p+*+] ] ] M s N < o p+T.@+8.V.)+).).E E E E &+&+",
-"4.4.4.4.4.4.4.4.4.4.4._.4.4.4.4._.4.4._.4.4._.4.4._.4.4.4.4.4.4.4.4.4.4.4.4.4.4._._.4._.4.4.4.4.4.4.4.4.4.4._.4.4.4.4.4.4.4._.4.4._._._.4._.4._.4._.4.4.4.4.4._._._._._.4._.4._.4.4._.4.4.4._._._._.4._._.- 4._._._.4.M 4._.4._._.4._._._.4._._.M 4._.M _.s N < O W.G+4 4 S D ` ` ` T.J.D T.` ` D D ` ` '.+.V.).V.+.@+'.S S D < P f+v.~.}.g+0+0+~.U 0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+p.h.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+s.!+!+g+g+!+).).V.p+*+*+o Y.G+G+G+Y.Y.o O Y.Y.G+G+G+Y.O *+*+o O Y.O Y.Y.o o o o *+o *+X < Z < < < < < /+/+Z Z /+/+/+/+z Z z 8 Z z 8 z z N N z N z N N N ,.,.N N N ,.N ,.s ,.,.,.s ,.s s s ,.s ,.s s ,.1 s s ,.1 M s s s M ,.s s M s s M s M s M s s s s M s M s M s s s s M s M s _.s s M s _.s M s _.M M M s M M M M M _.s M M M M M M M M M M M M _.s _.s M M M _.s K K K K u u )+E  +~.~.}.}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.0+}.0+}.~.}.}.~.~.~.~.~.~.~.V ~.V V V  +V  + + + + + +&+ + + +B  + + + +V V  + +V  + + + + + +f+D.D.; ; L q L L L o+L L L L L L L L L L L L L L L L L L 5.L L L L N.<+<+).<+<+).).).).).!+).!+)+)+)+)+)+)+V.V.V.2 2 +.+.@+'.T.D p+o u Y Y =.=.h h x M ,.Z o G+_ '.+.8.)+)+).).<+",
-"4.4.4.4.4.4.4._.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4._.4.4._.4.4._._.4.4._.4.4.4.4.4.4.4.4._._._.4._.4.4.4._.4.4._.4._.4.4.4._.4.4.4.4.4.4._._.4._._.4._.4.4.4.4.4.4._._._.4._._.4._._._.4._.4._.4._._._.4._.4._.4._._._._._.4._._.4._._._._._._._.N < [ a G+a p+4 D ` ` T.J.D J.T.` ` ` J.` +.V.).)+V.8.T.T.D T.@+8.V.V.S %+S 0 M.2 v.0+ +~.0+0+h.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+~.D+n+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+~.~.V 0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+ +E ).<+g+).!+!+T.Y.o o Y.G+G+S G+G+G+O Y.Y.G+G+G+G+O *+*+*+o o o o *+o *+*+*+*+*+< < /+Z /+/+< < /+/+Z Z 8 Z /+Z z z N z z z z z z N ,.N N N N ,.N ,.,.,.,.N ,.,.s ,.M ,.s N s ,.s s F+s ,.s s s s s s s M s M s M M s M s M ,.M s M s s M M M s M ,.M s M M s M s M M M M s _.M _.s M _.M M s _.M M M M M s M M M M s _.s M M M M s M M M s _.M M _.s _.s _.M M u K K 4.u D &+V ~.~.}.}.}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.}.}.0+}.}.}.}.}.~.~.}.~.~.~.~.V ~.V V V V V V  + + +&+&+ + + + + + + +V  +V  + + +V V  + +V V V  + + +'.D.u L ; L 7+L L L L L L L L L L L L L L L L L L L L L L L L L L L b+<+<+<+).<+).).).).y !+!+).!+!+)+)+)+)+V.V.8.2 8.+.+.@+T.T._ D Y.M u u Y u i+3 i+3 3 i+u =._.z *+G+p+` '.@+8.",
-"4._.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4._.4._.4.4._.4.4.4.4.4.4.4.4.4.4.4.4._.4.4.4.4.4.4.4._.4.4._.4.4._.4._._.4.4.4.4.4._.4.4.4.4._.4.4._.4._._.4._.4._.4.4.4._.4.4._.4._.4._.4._.4._.4._.4.M 4._._._.4._.4._.4._._._._.4._.4.s z *+S a 4 W.G+W.` ` ` D ` '.T.T.p+` T.+.)+!+<+V.8.'.T.` @+V.).!+V.V.8.'.'.'.` T.e+G+D 9+2 v.}.E ~.r.h.~.0+0+0+0+0+0+0+0+0+0+0+0+0+0+~.e.l. +0+~.}.0+0+0+0+0+0+0+0+0+0+0+0+0+ +D+E+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+ +).V.!+<+).<++.T.Y.*+G+G+S p+G+G+Y.Y.o O Y.O Y.Y.o *+< o o o o *+*+< < < G < < < /+/+z Z /+8 /+8 z z z z z Z z z N N ,.z N N N N s ,.,.N ,.,.,.s s M ,.s ,.M N s s ,.M ,.M ,.M s M s s M s M s M s s s s M M M s s M M s M M s M s M M M M M M s _.s _.M M _.s _.s _.M M M M _.s M M _.M s _.s _.s _.M M M s _.M M M M _.s _.M _.M _._.s _.M _._.s 4.M 4.M 4.K K u K s E V ~.}.}.}.}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.0+0+0+0+}.}.}.}.}.}.}.}.~.~.~.V ~.~.V ~.V V V V  + + + + + + +&+B  +V V V  +V  +V V V  + +B V  + + +V  + +T.D.K ; L L q L L L L L L L L L L L L L L L L L L L L L L L ; L L ; '.<+g+).<+).<+).).).!+).).!+!+)+!+)+)+V.V.V.V.2 +.+.+.@+'.` ` p+G+N D.Y Y Y D.Y Y 3 Y u i+u u u u =._.M z /+o ",
-"4.4._.4.4._.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4._.4.4._.4.4.4._.4.4.4.4.4.4.4.4.4.4.4.4._.4.4.4.4.4._.4.4._.4.4.4.4.4.4.4.4._.4.4.4.4._.4._.4._.4._.4.4._.4._.4.4._.4._.4._.4._.4._.4._.4._._._.4._._._._.4._._.s X O S %+D O G+` ` T.D D D ` T.T.T.` D '.V.)+)+@+T.` +.V.!+).V.V.@+e+@+T.@+@+@+'.'.D D p+D S _ F.t+0+~.U e.p.D+~.~.V ~.U 0+0+0+0+0+0+0+0+}.B.9.i.0+U D+0+0+0+0+0+0+0+0+0+0+0+0+ +C+:.V 0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+&+).)+E <+!+!+'.o *+o G+t S G+G+Y.o o o o Y.Y.o o *+< F *+< *+*+< < < < < < /+/+8 z z Z z /+z z z N N z N z ,.N ,.,.,.,.N ,.N s ,.s ,.s F+s N M s s ,.,.M ,.M s M s s M s M s M s M s s s s M s M s M ,.M M s M s _.s M M M M M M M M M M M M M s _.M M _.M _.M _.s _.M _._.s _.M _.s _.M M _.M _.M _._._._.M _.s _._.M _.M _.M M _.M _.M 4.M M M M _._.u K K K K 8.V ~.~.}.}.}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.}.}.}.}.0+}.}.~.}.~.~.}.~.~.~.V ~.V ~.V V V V V  + +&+ +&+ + + + + + + + +V  + + +V V  + +V B  + +V  + +'.D.- L ; L q L L L L L L L L L L L L L L L L L L L 5.L L L L L L ; +.<+g+<+<+).).).).).).!+!+!+!+)+)+)+)+)+V.V.2 2 2 +.+.@+'.T._ p+G+< D.D.D.Y Y D.Y Y D.D.Y Y D.v+Y D.Y D.D.Y 3 ",
-"4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4._.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4._.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4._.4._.4._.4.4.4.4.4._.4.4.4.4.4.4.4.4._.4.4.4._.4._.4._.4.4._.4._.4.4._.4.4.4._._.4._._.4.N Z S ` G+O $+S ` J.T.@+'.` '.T.T.` D ` )+).)+T.%+` ` +.!+)+)+V.'.'.@+'.@+'.'.T.D ` ` ` @+8.)+V.D T.O D |.f }. +B.9.l.r.}.D+D+h.U  +}.0+0+0+0+0+i.9.0.D+C+a.h.h.0+0+0+0+0+0+0+0+0+}.e.0.C+}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+~.!+8.E+g+!+).2 o *+O Y.G+Y.G+Y.7 o o *+o *+*+X < < /+< < < < < /+/+8 /+z Z Z z z ,.z z z z N z ,.N N ,.N ,.N M ,.s ,.s N M ,.M ,.s s ,.M ,.M s M s s M s M s M s M s s M M M s M s M M _.M M _.s _.M _.M M M M _.s 4.M M M M M M _.M _.M _.M M M M _.M _.s _._.M _.s _.M _._.M _.M _.s M _._._.M _.M M _._.4.M _.M _._.M _.M _.M _._.M 4.s _.M _._.M u K u K M <+~.}.}.}.}.}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.0+}.0+}.}.}.}.~.}.~.~.~.~.~.~.V ~.V V V V  + + + + + +&+&+ + + +B  + + + +V  +V B V  + + +V  + +V V  + + +'.D.!.; L L q L L L L L L L L L L L L o+; L L 5.L L L L L L L L L * )+<+<+<+<+<+<+).).).!+).).!+!+!+!+)+)+V.V.V.V.2 2 +.@+@+'.T.D D G+X h =.Y D.D.Y D.D.Y Y D.D.Y Y D.Y D.D.Y D.Y ",
-"4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4._.4.4._.4.4.4.4.4.4.4.4._.4.4.4._.4._.4.4.4.4.4._._.4.4.4._.4._.4._.4._.4.4._.4.4.4._.4.4.4._.4._.4._.4._.4._._._.4._.4.M F O ` G+O 0 S ` T.T.@+'.D T.` D D G++.y ).p '.S J.'.)+)+)++.@+@+` @+@+'.` T.` S ` J.8.).)+V.'.'.` D S $+` o l t+}.~.C+9.j.B.a.a.a.k.B.9.9.0.j.k.i.r+j.9.j.0.9.j.k.D+n+n+p.r+U ~.0+}.e.j.9.k.E+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.!+8.E g+!+<+@+o < o O O O o o X < < *+*+*+< < < Z z Z Z /+Z Z z Z z z z z N N ,.,.N ,.N ,.N s ,.s ,.,.,.s s s M ,.s ,._.,.M s M M s M s M s M ,._.s M M M M s M s M M M M M _.s _.s _.M M M s _.M _.M _.M M _.M _.M _.M _.M M _.M _.M _.M _._.M _.M 4.M M 4.M 4.M 4.M _._._._._.4.M _._.M _.M 4.M _.M M _.M _.M _._._._.s 4.s _.M _.4.M 4.s 4.M K u 4.u K 4.!+~.}.}.}.}.}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.0+}.}.}.}.}.}.}.}.}.~.~.~.V ~.V V V V V V V V  + + +&+ +&+ +&+ + + +V B  + + + + +V V V  +V  + + + +V  + +'.D.$.L ; { q L L L L L o+L L L 5.L L L L L L L L L L L ; L L ; L H ).<+<+).).).).).).).!+!+y !+!+)+)+)+)+)+V.V.V.2 2 +.+.@+'.T.` D G+*+,.].] ] x x h =.u Y Y D.D.Y D.Y Y D.Y D.D.",
-"4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4._.4._.4._.4.4.4.4._.4.4.4.4.4._.4._.4.4.4._.4.4.4.- _.4.8 o D %+` ` J.` T.T.T.T.` T.D '.'.V.V.)+<++.` D '.'.!+!+V.'.+.+.8.@+'.` ` ` D ` '.V.!++.+.T.` '.+.V.)+).V.V.'.p+D D P v.0+E+0.9.B.h.:.r+p.r.r.}.0+0+0+0+i.9.a.h.k.i.C+U U r.r.E+h.p.p.a.9.9.9.l.i.~.U ~.0+}. +~.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+~.)+2 E <+!+!+@+*+/+< *+*+*+*+X < /+Z < Z < Z Z z z z z z z z N N ,.z ,.z ,.N s ,.s N s ,.,.s s M ,.M N M ,.M M s M s M s M s M ,.M s M M s _.s _.s _.M M _.M _.s _.M 4.M M M M _.M _.M _.M M _.M _.M 4.M _._.M _.M 4.M 4.M _.4.M _.M 4.M _._.M 4.s 4.M _._.M 4.s 4.M _._._._.M 4.M _._._._.M _.M 4.M 4.4.M 4.M _.M _.4.M 4.M 4.M _.4.s 4.M 4._.K u K u K u 8.~.~.}.}.0+}.0+0+0+0+0+0+0+0+0+0+0+0+0+}.0+}.}.0+}.}.}.}.}.}.~.~.~.~.~.~.~.~.~.V ~.V V V V  + + + +&+&+&+&+&+ +&+ + + + + +B  +V V  + + + + +V  + +V  + + +'.D.> L ; { L L L L L L L L L L L L L L L L L L L ; L L L L L L L 5.<+<+<+<+<+<+).).).).).!+!+!+)+!+)+)+)+V.V.V.8.2 +.2 @+@+'.T.` D G+o N ] ] ] ] ] ] ] ] ] ] ] ] x x =.u =.u Y i+",
-"4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4._.4.4._.4._.4._.4.4.4._.4._.4.4.4._.4._.< O ` ` ` ` T.T.'.'.'.'.T.` D @+)+g+ +).+.J.` '.@+g+).+.@+2 +.+.'.@+` D S 8.+.!+)+)+` D %+2 )+).!+V.8.` G+D T.+.V.8.` T.D +.f }.C+9.l.V U V E+0+0+0+0+0+0+0+k.a.}. +U ~.0+0+0+0+0+0+0+0+n+9.j.l+h.D+B.a.k.0.0.e.D+~.0+0+}.h.E+E+~.~.0+}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+V V.!+E ).).+.G+z Z < < < /+/+/+8 z 8 z Z N 8 ,.N s z ,.z N N ,.N ,.,.N s N M ,.M N M ,.M s M M ,._.s M s M s M s M M s _.M 4.M 4.M M _.M 4.M - s 4.M _.M M 4.s _.M 4.M _._.M _.M 4.M 4.M _.4.s K M 4.M 4._._.4.M 4.M _._._.4._.4.M 4._._._._.4.M 4._._._._._.M 4.M _.M _._.M 4.M 4.M _.4.M 4.M 4.M _.4.M 4.M K s 4.4.M 4._.4.M 4.4.M K s K _.K u K 3 K u '.~.}.}.0+}.0+0+0+0+0+0+0+0+0+0+0+0+0+}.0+}.}.}.}.}.}.}.~.}.}.~.~.~.~.V V V V V V V V  +V  +V &+ +&+E &+&+&+ + + + + + + +V  + + +V  +V  + +V V  + + + + +'.D.@.L L q L L L 5.L L L ; L L L L ; L L ; L L L L L ; L ; L L L o+<+).<+).).<+).).).).).!+).!+!+!+)+)+)+)+V.V.2 2 2 +.+.@+T.T._ D G+*+N ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ",
-"K 4.4.4.4.K 4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4._.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4._.4.4.4.4.4.4._.4.M X S ` ` ` ` T.'.T.'.T.'.T.D @+V.g+V E V.` +.).!+V.).+.@++.@+` '.'.` D G+'.).!+)+'.@+@+8.@+<+)+)+@+` G+D @+!+V.V.)+'.'.` S D D N.&.~. +l+r+V }.0+}.0+0+0+0+0+0+~.a. +}.~.0+0+0+0+0+0+0+0+V a.l+h.V 0+0+0+0+E+i.n+C+l.k.0.C+C+l.C+:.p.~.i.U 0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+!+V.U g+!+<+D Z z z /+z /+z /+,.z N N N z ,.N ,.s N s N s N M ,.M s s M s M M _.,.M s _.,._.M M M s 4.s 4.s 4.M M _.M 4.s _.M _.s _._.M _.M 4.M _.M 4._._._.M 4.s K M _.4.M 4.M K _._.4.M 4.s 4.M K M _.4.M _.M 4._._._._.4.M 4._.4.M _._._.4.s 4.M 4._._.4.M K M 4._.4.4.M 4.M K _._.4.M 4.M 4._._.K M 4.M K _._.4._.4._.4.M 4.4.M 4.M 4.M 4.K K u K 3 G+V ~.}.}.}.}.}.}.0+0+0+0+0+}.0+}.}.0+}.0+}.}.}.}.}.~.}.~.~.~.~.~.V ~.~.~.V V V V  +V  + +&+ +&+&+&+&+&+&+&+&+ + + + + + + + +V  +B  +V V  + + + + + + +T.D.H ; ; q L L L L ; L L L L ; L L L L L L ; L L L L L L L L L ; 1.<+<+<+<+<+).).).).!+!+!+!+!+)+)+)+)+)+V.V.V.8.2 +.+.@+@+'.T.` D p+O N ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ",
-"4.K 4.K 4.4.K 4.4.4.4.4.4.K 4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4._.4.4._.M O D T.J.T.T.'.T.T.'.` T.T.D +.).&+~.).` T.!+E  +&+V.@+'.'.T.@+'.'.D ` V.E E V.e+` '.@+y ).)+'.p+'.'.+.)+)+V.+.'.` '.8.)+!+!+V.+.@+S l t+~.r.r.V 0+0+0+0+0+0+0+0+0+U D+0+0+0+0+0+0+0+0+0+0+D+i. +0+0+0+0+0+0+0+0+0+0+0+U i.a.a.k.0.k.k.p.D+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+&++.g+g+!+<+'.Z ,.,.Z ,.z ,.z ,.N s N s ,.M ,.M M ,.M ,._.,._.s M s M M s _.s 4.s 4.,.4.M M _.M 4.M _.M 4.M 4.M M _.M 4.M 4.M 4.M _.4._.K M K M 4.M _.K M K M K M 4._._.4.M 4.M 4._._.K M K M K M 4._._.4.M K M 4.M 4._._.K s K M K _.4.4._.K M K _._.K M K M K M _.4._.K M 4._.4._._.4.M K M 4._._.4.M 4.M 4.4._.4.M K M 4._.4.4.M 4._.K M 4.K K u 4.u /+2 ~.}.}.0+}.}.}.0+}.}.0+}.0+}.}.}.}.}.}.}.}.~.}.~.~.~.~.~.~.~.V V V V V V V V  + + + +&+&+&+&+&+&+&+&+ +&+&+ + + + + + + + + + + + + + + + + + + + +'.D.; L L q L ; L L L L L L L L L ; L L L L L L ; L 5.L ; L ; L L F.<+<+).).).).).).y ).).!+!+!+!+)+)+)+)+V.V.V.8.2 8.+.+.@+T.T.D p+p+G+z ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ",
-"K 4.4.4.4.K 4.4.4.4.4.K K 4.4.4.K 4.4.4.4.4.4.K 4.K 4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.K 4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4._.4.4._.4.4.4.4.4.4.M < S ` T.T.T.T.'.T.'.'.T.T.'.+.g+V  +)+T.+.g+ +V g+@+'.+.'.@+'.` '.G+8.g+g+V.+.S ` @+<+).@+'.G+` @+V.).)+@+` S J.+.!+!+!+!+8.8.8.8.6++.+.T.=+~.}.0+~.0+0+0+0+0+0+0+0+0+E+0+0+0+0+0+0+0+0+0+~.U }.0+0+0+0+0+0+0+0+0+0+0+~.r+U r.n+e.l+p.l+0.k.D+h.U U ~.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+V 2 <+U !+!+@+< _.s ,.,.,.M N _.,.M N _.,.M s _.M M _.s _.s 4.s _.M M _.M 4.s 4.s 4.s 4.M _._.s 4.M 4.M K M _.4.M 4.M K M K _._.4.M K s K s K M 4.4._.K M 4.M 4._.4.4.M K M K M 4.4.M K s K M u M K 4.M K M K M K 4._.K M K M K _._.4._.K M K _._.4.M K M K M K _._.4.M K _.K _.4.4._.4.M K M K _.4.4._.K M _.4.4.4.s K M 4.M 4.4._.4.s K M 4.K K 3 4.3 4.z )+}.}.0+}.0+}.}.0+}.0+}.}.0+}.}.}.}.}.~.}.~.~.}.~.~.~.~.V ~.V V V V  + + + + + + +&+&+E E E &+&+&+&+&+ +&+ +&+ + + + + + + + + + + + + + + + + +'.3 L ; ; q L L L L L ; L L L L L L ; L L L ; L L L L L L L L L ; '.<+<+<+<+<+).).).!+!+!+!+!+!+)+)+)+V.V.V.V.V.2 2 +.+.@+@+T.T._ D p+Y.].] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ",
-"4.4.K 4.4.K 4.K 4.4.4.4.4.K K 4.4.4.K K K K 4.4.4.K 4.K 4.K 4.K K 4.K 4.K 4.K 4.4.4.4.4.K 4.4.K 4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.M o ` ` ` T.T.T.'.T.'.` T.'.` 8.E V V )+'.V.E V V !+'.@+'.@++.e+T.T.` )+E ).@++.)+).)+<+8.` 8.8.V.).).V.'.` +.8.V.).<+V.8.V.8.+.8.+.2 +.T.'._ D D &.~.0+}.0+~.B B }.0+0+0+~.0+0+0+0+0+0+0+0+0+~.V 0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.~. +r.}.0+0+ +D+a.j.9.k. +U 0+0+0+0+0+0+0+0+0+0+0+ +U }.h.h.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+~.+.g+E ).).2 X 4.M M s s M ,.4.,.K ,.4.s 4.M _._.M 4.s 4.M 4.M _._.M 4.M 4.M K M 4.M 4.4.M K s K M 4._.4.4.M K s K M K M 4.4.M K M K M K _.4.4._.K M K M 4._.4.4._.K M K _.K _.4.K M K M K _._.K _.K M K _.K 4.M K M K _.K _.4.K M K M K _.4.4._.K M K _.4._.4.K M K M K M 4.4.4.K M u M 4._.4.4._.4.M K M 4.4.4.K M K _.4.4._.K M K _.K _.4.K 4.3 K 3 K u z V.}.}.}.0+}.}.}.}.}.}.}.}.}.}.}.}.~.}.~.~.~.~.~.V ~.V V V V V V V  +V  + +&+&+E &+&+E &+E &+&+ +&+&+&+ + + +&+ + + + + + + + + + + +&+ +&+ +T.u L L ; 7+L L L L L L L 5.L L L L L L 5.L L ; L ; L L ; L L L ; +.<+).).).).).).).).).!+!+!+!+!+)+)+)+)+V.V.8.8.8.+.+.@+@+T.T._ p+S Z ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ",
-"K 4.4.4.4.4.4.4.K K 4.K 4.4.4.K K 4.4.4.4.4.4.K 4.4.4.4.4.4.4.4.4.K 4.4.4.4.4.4.4.K K K 4.4.4.4.4.4.K K K 4.K 4.4.K 4.4.4.4.4.4.4.4.4.4.K 4.4.4.4.K 4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.K 4.z G++.+.@+'.'.T.'.T.T.T.'.+.y B ~.}.y ` V.E ~.V )+@+p 8.@+@+'.'.8.E V V V.T.8.<+&+V E @+T.'.8.E E 8.'.D @+)+<+g+!+V.2 2 +.@+V.2 T.T.T.'.+.V.)+!+@+'.f+E +.o 9 ,.,.,.,.| ` B 0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}. +U }.D+p.0.a. +U r.r+i.i.i.:.n+B.e.E+ +U 0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+V 2 U E+!+g+T.z K _.M _.M 4.s K s 4.M 4.M _._.M 4.M K s K M 4.4.M 4.M K s u _.4.4.M K M K M K M 4._._.K M K M K M K _.4.4.M K M K M K _.4.K M u M K _.K 4.4.K M K M K _.4.4._.K _.K M K 4._.K _.K M K M K 4._.K _.K _.K _.4.4._.K M K _.K _.4.K _.K M K _.4.K _.K M K _.K _.4.K M u M u _.4.4._.K _.u _.4.4._.K M K _.4.4._.K _.K M K _._.K _.K _.u 4.u u K u < )+}.}.}.}.}.}.}.}.}.}.}.~.~.~.}.~.~.~.~.V V ~.V V V V V  + + + +&+ +&+&+&+&+E E E E E &+&+&+&+ + +&+&+ +&+ +&+ + +&+ +&+ + + + +&+ + + +T.K ; ; L q L L 5.L L L L L ; L L L ; L L L L L L L ; L L L ; L * V.<+<+).).).).).).!+!+y !+)+)+)+)+)+)+V.V.8.V.2 +.+.+.@+@+T.T.D D [.] ] ] ] ] ] ] ] ] x ] ] ] ] ] ] ] ] ] ] ] ] ",
-"K K K K K 4.K 4.4.K 4.K 4.4.4.4.K 4.4.K 4.K 4.K K K K 4.K 4.K 4.4.K K 4.K 4.K K 4.4.4.K 4.K K 4.K 4.4.4.K 4.K 4.4.4.4.K K K 4.K K K 4.4.K 4.K 4.4.4.K 4.K 4.K 4.4.4.4.4.K 4.K K 4.4.K 4.4.N O D ` ` D ` T.'.+.'.'.p +.8.+.@+@+8.@+V.g+E V y @+@++.'.@+e+T.)+E V &+V.'.!+E V V !+'.D T.V.&+)+@+@+8.8.<+E ).V.+.@++.2 2 @+T.D D V.<+g+!+).V.8.'.@+8.T.O 5+9 ,.9 X.,.,.X.,.9 V.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.E+D+l+j.j.9.9.9.k.:.p.V 0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+E V. +g+!+g+D M _.K s K s K s K M _.4.M K M K s K M 4._.4.4._.K M K M 4._.4.4.M K M u M K _.4.K M K M u M u _.4.4.4.u M u M K _.K K _.K M K M K 4.4.K M u M u _.K 4.4.K M u M K _.4.4._.K M u M K _.4.4._.u M K _.K _.4.K _.u M u _.K 4._.u M u M K _.4.K M u M u _.K K _.K M K _.K 4._.K _.u M K 4.4.K _.u M u _.K 4._.K _.K _.K _.4.4._.K M K _.K 4.u 3 K 3 4.z )+~.}.}.}.}.}.~.}.}.}.~.~.~.~.~.~.~.~.V V V V V  +V V  + + +&+&+&+E E E E E &+E &+E &+E &+&+&+ + +&+ +&+ + +&+ + +&+ +&+ + +&+ +&+U T.4.; L ; q L L L L ; L L L L ; L L L L L ; L ; L L L ; L L L ; H !+).<+).).).).!+y !+!+!+!+!+)+)+)+V.)+V.V.2 2 2 2 +.@+@+T.T.T.G+Z ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ",
-"4.4.4.4.4.K 4.K 4.4.K 4.K K 4.4.4.K K 4.K 4.K 4.4.4.4.K 4.K 4.K K 4.4.4.4.K 4.4.K 4.K 4.K 4.4.K 4.4.K 4.4.4.4.K K 4.K 4.4.4.K 4.4.K 4.K 4.4.K 4.K 4.4.K 4.4.K 4.4.K 4.K 4.4.4.4.4.K 4.4.< _ V.g+<+8.8.<+y !+V.@+'.T.J.` J.'.+.@+@++.'.8.8.+.+., @+@+, !+ +~.~.).+.V.E ~.~.V.T.)+E &+&+)++.8.<+ +V <+V.2 V.2 V.V.@+'.@+'.+.!+g+<+V.@+D '.T.'.+.8.6+0+B p+Z 9 ,.9 X.9 ,.X.,.,.J.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+ +C+k.j.0.B.:.n+l.h.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+V.<+U ).).V.Y.u M K s K M K _._.K M K M K M K _.4.K M K M u M 4.4.4.K _.u M 3 M K _.K K _.u M u M K 4.4.K _.u M u M K _.4.K _.K M u M u _.4.K _.K M u M K _.4.K _.K M u M u 4.K K M 3 M u _.K K _.u M u _.u 4.4.K _.u M u _.K 4._.K M u _.K 4.4.K _.u _.K _.K _._.K _.K _.u _.4.4._.u _.K M u _.4.4.M u M u M 4.4._.K _.K M K _.4.K _.K M K _.K _.4.4._.3 K 3 K u M o V.~.~.~.}.~.~.~.~.~.~.~.~.V V V V V V V  +V  + + + +&+&+&+E &+&+E E E E &+E &+&+&+&+&+&+&+ + +B &+&+ + +&+ +&+ + +&+&+&+&+&+&+G+- L L L { L L ; L L L L L L L 5.L ; L ; L L L L L 5.L L ; L L 5.).<+).).).).).).!+).!+!+!+)+)+)+)+)+V.V.V.V.2 +.+.+.@+@+'.G+%.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ",
-"K 4.K K 4.4.4.K K 4.K 4.4.K K K 4.4.4.4.K 4.4.K K K 4.K 4.4.4.4.K K K K 4.K K 4.K 4.K 4.K K 4.K K 4.K K 4.K 4.4.K 4.K 4.K 4.K 4.4.K 4.K K 4.K K 4.K 4.K K 4.K K 4.K 4.4.K K 4.K 4.K s G+@+@++.V.` !+0+0+0+0+0+0+0+0+0+}. +s.s.<+).!+8.+.@+J.@+'.+.+.@++.+.8.V.8.<+s.s.).)+<+B ~.~.<++.+.E V ~.).V.V.2 8.V.8.+.+.!+g+&+E <+V.T.T.` 8.2 )+)+V.T.S 0+0+0+d+$+9 ,.9 ,.9 9 ,.X.,.,.y 0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+~.V h.r+D+r.V 0+0+0+0+0+~.n+k.i.V 0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+ ++. +g+).g+_ s u 4.4.K M K M 3 M u _.K K 4.u M u M u _.K 4.4.u M u M u _.K 4.4.K M u M u _.K 4.4.K M u M u M K 4.4.K 4.u M 3 M K 4.K K _.u M u _.K K 4.u _.3 M 3 _.K 4.4.K _.u _.K 4.4.K _.u M u M K _.4.K _.u M u _.K 4._.K _.u _.u _.K K _.K M u _.K _.K K _.K _.u _.K 4.4.K _.K M u _.4.4.4.K 4.K M K _.4.4.4.K M u _.K _.K 4._.K _.K _.K _.4.K _.K _.u 4.3 u u u K 4.Y.8.V ~.~.~.~.~.V ~.~.~.V V V V V V  + + + + + +&+&+&+E E E E g+E E E E &+&+&+&+ +&+&+&+&+ + + +&+&+B  + +&+&+ +&+ +&+&+&+Y.u ; L { L L L L ; L ; L ; L L L L L L L ; L ; L L ; L L L ; L o+).<+<+).).!+!+).!+!+!+)+!+)+)+)+V.)+V.V.8.8.8.8.+.@+'.y.z ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ",
-"4.K 4.4.K K K 4.4.4.K 4.K K 4.4.K K K K 4.K K 4.4.4.K 4.K K K K 4.K 4.4.K 4.4.K 4.K 4.K 4.4.K 4.4.K 4.K K K K K 4.K 4.K 4.K 4.K K 4.K 4.4.K 4.K 4.K K 4.4.K 4.4.K 4.K K 4.4.K K K z _ +.'.8.8.` &+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+~.B E s.s.<+)+8.+.+.+.8.8.@+8.2 V.V.V.<+&+ +E V.V.8.V.V.V.@+V.). +V E )+V.D T.+.)+)+)+V.@+D T.G+).0+0+0+'.< Z | o 0 X /+5+9 ,.9 G+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+V }. +0+0+0+0+0+0+0+0+0+0+0+ + +r+e.n+h.E+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+2 ).U <+).@+X 3 4.3 M u _.K 4.4.u M u M u M u 4.4.K _.u _.u _.K 4.4.K _.u M u _.u 4.4.K 4.u M 3 _.K 4.K K 4.u M 3 _.K 4.K K 4.u M u _.u _.K K _.u M u M u _.4.K _.u _.u M u 4.4.u M 3 M u _.K 4.K K _.u _.u _.K 4.4.K _.u M u M K 4.4.K _.u _.u _.4.K 4.K _.u _.u _.K 4._.u M u _.u _.K 4._.u M u 4.K 4.4.u _.u _.u _.K 4.4.K _.u M u _.K K 4.K M u _.u _.K 4._.u 4.3 K D.K 4.o 8.V V V ~.V V V V V V V V  +V  + +&+&+&+&+&+E E E E g+E E E E &+E E &+E &+&+&+&+&+&+&+ + + +&+&+&+ + +&+&+&+&+&+&+< K L ; { L L ; L L 5.L L L L L ; L ; L ; L L L ; L L L ; L L ; c+<+).).).).).).!+!+!+!+!+)+)+)+)+)+V.V.V.V.8.+.T.G+F ].].] ] ] ] ] ] ] ] ] ] ] ] ].] ] ] ] ] ] ] ] ] ] ] ] ] ].] ",
-"4.K K 4.4.K K K K 4.K 4.4.K K 4.K 4.K K K 4.K K K 4.K K 4.4.4.K 4.K K 4.K K 4.K 4.K 4.K K K K K K K 4.4.K 4.K K K K 4.K K K 4.K 4.K K K 4.K K K K 4.K K 4.K K K K K 4.K K 4.4.K < ` +.@+V.+.'.h+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+E+r+C+i.).}+E s.g+)+V.V.8.V.8.V.V.V.V.+.E ~.}.&+)+'.` '.'.V.)+2 ` D @+V.!++.p+6+0+h+8.U.| W.+.<+s.d+D X 9 X.,.9 V 0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+ +U h.n+l.j.j.a.B.r+r.V }.0+0+}.}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+).2 U g+!+!+[ u K K _.u _.u _.u _.K K _.u _.u _.3 _.K 4.4.u 4.u _.u 4.K 4.K u _.u _.u _.u K 4.K 4.3 M u _.u 4.K K _.3 M u _.K 4.K K _.u _.3 M u 4.K K _.u _.u _.u _.K K 4.K _.3 _.K 4.K K 4.u _.3 M u _.K K 4.u _.u _.3 _.K K _.u _.3 _.u 4.K K _.u _.3 _.u _.K K _.u _.u _.K _.K K _.u _.u _.K _.K K _.u M u _.K 4._.K _.u _.u _.K 4._.K M u _.K _.4.4._.K _.u M u _.K K u 3 K 3 M < @+). +V V V V  + +V &+ + + +&+&+&+E E E E g+E E g+E E E E &+E &+E &+&+&+&+&+&+&+&+&+&+&+&+&+&+&+&+&+U &+&+&+/+K ; ; q L L L L L L ; L ; L L L L ; L L ; L L L ; L L ; ; L L F.).).).).).!+).).!+!+y )+)+)+)+V.V.)+V.@+p+X N ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ].] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ",
-"K 4.K K K 4.4.K K K 4.K K 4.K K K K K 4.4.K 4.K K K K 4.K K K K K 4.K K K 4.u 4.K K K K K 4.4.K 4.4.K K 4.K K 4.K 4.K K 4.K K K K 4.4.K K K 4.4.4.K K K K 4.K 4.4.4.K K K K K X T.+.@+V.@+@+}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.i.k.B.C+0+0+0+0+0+0+0+0+0+0+}.V }+}+s.s.<+!+)+)+V.+.)+V.)+)+@+V.@+)+)+)+8.p+G+< D W.| z O 6+}.0+0+0+8+G+Z 9 ,.,.)+ +E }.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.~.U D+:.a.j.9.9.k.e.i.:.:.n+:.n+C+h.r+n+i.r+r+p.D+E+ +~.0+0+0+0+0+0+0+0+0+0+0+0+0+0+&++. +E+!+<+D 4.3 4.K K 4.u M 3 _.3 _.u 4.K K - u _.u _.u 4.u K - u _.3 M u 4.K K 4.u _.3 M u _.K 4.4.u _.u _.u _.K 4.K K _.3 _.u _.u 4.K K 4.u _.3 M u 4.K K 4.u _.3 M 3 _.K 4.K u _.3 _.u 4.K K 4.3 M 3 M 3 _.K K 4.u M 3 M 3 _.K 4.4.u _.u _.3 _.K 4.4.u _.u M 3 _.K K 4.u M 3 M 3 _.K 4.4.u _.u _.u _.K 4.4.K _.3 M u _.K K 4.K _.u _.u 4.K 4.4.K _.u _.u _.u 4.4.K _.u _.3 K 3 K u 3 K z G+@+<+V V  + + +&+&+E E E E E E E E g+g+E E E E E E &+&+&+&+&+&+&+&+ +&+&+&+&+&+&+&+&+&+&+&+&+&+&+E /+=.L L q L L ; L ; L L L L ; L ; L L ; L L ; L ; L ; L L L L ; T.).).).!+).y !+!+!+!+)+)+)+)+V.@+D O Z ].] ] ].] ] ].] ] ] ] ] ] ].] ] ] ] ].].] ] ].].].] ] ] ] ] ] ] ].].] ] ].",
-"K 4.4.K K K K 4.K K K K K 4.K 4.4.4.K K K K 4.4.K 4.K K K 4.4.K K 4.K K K 4.K K K K 4.K K K K K K K K K K 4.K K K K 4.K K K 4.K u K K 4.K K K K K K 4.K K K K K K K 4.4.K 4.< '.+.@+)+8.T.}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+ +U r.r+B.j.a.r.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.V &+}+&+s.E g.!++.'.+.D ,.5+9 9 5+O d+0+0+0+0+).4 5+9 X.,.` '.).g+}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+E+r.U  + +U U r.i.:.e.a.a.a.B.l+n+0.k.:.:.:.:.C+D+ +}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+B +. +E !+g+T._.u K u _.u K 4.u _.u 4.u _.u K K K 4.u 4.u - u K K K 4.u _.3 _.u 4.K 4.4.u 4.3 _.3 _.K 4.K u 4.u _.3 _.u 4.K K 4.u 4.3 _.u 4.K K 4.u _.3 _.u 4.K 4.K K _.3 _.3 _.u 4.K K _.3 M u _.K 4.K K _.u _.3 M u _.K K 4.u _.3 M u _.u K _.u _.3 M 3 _.K 4.4.K _.u _.u _.K 4.4.K 4.u _.u _.u 4.K K _.u _.u _.K _.K K 4.K _.u M u _.K 4.4.K _.u M 3 M K _.4.4._.u _.K _.K _.K 4.4.u 4.3 u D.D.D.K Z p++.<+&+&+&+&+E E E g+g+E E g+E g+E E E E E E &+E E &+E &+&+&+&+&+&+&+&+&+&+&+&+&+&+&+E &+/+K ; ; q L L L L ; L ; L L L L L ; L L ; L L L ; L ; ; R.; ; ; @+).).).).!+!+!+!+)+V.'.S < ,.x x ] ] ] ].] ] ] ] ] ].] ] ].] ].] ].].] ].] ] ] ] ] ] ] ].] ] ].] ].] ] ] ] ] ] ] ",
-"4.K K 4.4.K 4.K K 4.K 4.4.K K K K K K K 4.K K K 4.K K K 4.K K K K K K 4.K K K K K K K K 4.K 4.K K K K K 4.K K K K 4.K K K K K K 4.K K K K K K K 4.K K K K K K K K K K K K [.T.8.@+V.+.` }.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+h.n+j.k.D+}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+V )+'.o 9 ,.,.,.N U.D 8+}.}.}+J.< 9 ,.9 ,._ T.D @+!+}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.i.0.a.D+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+ +V.U g+).E T.s u K u _.u 4.K K 4.u 4.u _.3 _.u 4.4.u 4.3 _.u _.u 4.4.u 4.u 4.u 4.3 4.K K 4.u _.u 4.u 4.u 4.K K _.3 _.3 _.3 4.K K 4.K 4.u _.u _.u 4.u K 4.u _.3 _.u _.u 4.4.u _.3 _.u 4.K K 4.u _.u _.3 _.u 4.K K 4.u _.3 M 3 M u 4.4.u _.u _.u _.K 4.K K _.u _.3 M 3 _.K K 4.u _.u _.u _.K _.4.4._.u _.3 _.K 4.K K 4.K _.u M 3 _.K 4.4.K _.u M 3 M u _.K K 4.u _.u _.u _.K 4.K K _.u M u _.u 4.3 3 D.D.D.D.3 _.< p+'.V.).g+E g+<+g+E g+E E E E E E &+E &+E &+&+E &+&+&+&+&+&+&+&+&+&+&+E E &+&+E s h ; L q ; L ; L L L L L ; R.; L L ; L L L 5.; L L L L L L L ; 8.).).!+V.@+` O Z X.h x x ] ].].].].].] ] ] ] ] ].] ] ].].] ].] ] ] ] ].] ] ] ].] ] ] ] ] ].].] ] ] ] ] ] ] ].] ].",
-"K K K K K K K K K K K u K K K K 4.K K K K K u K K 4.K K K K K K K K K K K K K 4.K K K K u K K K K K K K K K K K K K K K 4.K K K K 4.K K K K K K K K K K 4.K K K K K K K z ` V., 8.V.m B 0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+~.E+e.0.9.9.9.9.j.l+E+ +0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.<+V.S ` ,.X.9 X.,.5+0 p+p 8.e+4 Z 9 ,.X.z p+@+2 f+2 E+&+~.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+p.0.9.9.e.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+&+@+ +g+!+)._ _.u K u 4.u 4.K K K u 4.u 4.u 4.u 4.K K 4.u 4.u 4.K 4.u K 4.u 4.u _.u 4.u 4.K K 4.3 _.u _.u 4.u K 4.K 4.3 _.3 _.u 4.K K 4.u 4.u 4.u _.3 4.K K 4.u _.3 _.u 4.K 4.4.K K u _.3 _.u 4.K K K u _.u _.3 _.u 4.K K _.3 _.3 M 3 _.u 4.K u _.3 M 3 _.3 4.K K _.u _.3 _.u _.u 4.K K 4.u _.3 _.u _.K K 4.u _.3 M 3 _.u 4.K K 4.u _.3 _.u _.K K K K _.u _.u _.u _.K K 4.u _.u _.u _.u _.K K 4.u _.3 u D.D.D.D.D.D.D.D.D.u s z *+p+T.8.!+E E E E E E &+E &+E &+&+E &+E &+&+E &+E &+E &+E &+E E &+_.h ; ; q L L L ; L ; L L ; L L L L ; R.L ; L L ; ; ; ; ; L ; * Z ,.6 i+=.h x x ] ] ] ] ].] ] ] ] ] ] ] ].] ].] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ].] ] ] ] ] ] ] ].] ] ] ] ].] ] ] ] ",
-"K 4.K u 4.K 4.K K 4.K 4.K K 4.K K K 4.K K K 4.K K K K K K K 4.K K K K 4.K K K K K K K K 4.K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K _.D V.@++.)+T.y 0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.U V ~.V D+:.e.l.9.9.9.a.r+D+E+V V V ~.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+).8.` @+o ,.,.,.9 ,.< $+D %+G+0 5+N X.< G+D p+_ _ T.@+2 &.!+g+~.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.h.h.r+:.l+a.j.B.i.h.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+).)+ +g+!+g.p+4.u 4.u 4.u K K K 4.u 4.u 4.u 4.u K 4.u K u 4.u 4.u 4.K K 4.u 4.u 4.u 4.u 4.u K 4.u 4.u 4.u 4.u K K K 4.u 4.u 4.u 4.u 4.K K K u 4.3 _.3 4.u 4.K u 4.u 4.u _.u 4.u K K u 4.u _.3 4.u 4.K K K K 4.u _.3 4.K 4.K K K K 4.u M 3 _.u 4.K K 4.K _.u _.3 _.u 4.K K 4.u _.3 _.3 _.u 4.K K 4.3 _.3 _.3 _.K K 4.K 4.u M 3 _.u 4.K K 4.u 4.u M 3 M 3 _.K M !.- 4.u M u _.u !.M !.4.K _.u M 3 M u _.K - K K 3 3 3 3 3 3 3 D.D.D.D.D.D.D.u M z *+G+D T.'.+.@+G.~+)+E &+E &+&+E &+E &+E &+&+E &+E M =.L L { H #+n L L L ; L L ; L ; L L ; L L L ; L L L L L L L ~ x ] ] ].] ] $...6.] ] ].] ] ].] ] ] ].] ] ].] ] ].] ] ] ] ] ] ].] ] ].].].] ] ] ].].].] ] ] ] $.].].].].] ] ].] ].",
-"K K 4.K K K K K K K K K 4.u 4.K K K u K K K K K K K K K K K K K K K K K K K K K K K K K K 4.K K K K K K K K K K K K K K K K K K u K K K K K K K u K K u K K K K K K K O '.+.+.)++.'.}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+~. +r.B.a.C+E+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.<+V.+.V.a U.N 9 ,.5+U.O 4 o < /+X o G+p+D p+G+p+p+p+p+p+Y.G+G+` V.u.E v.}.}.0+}.}.~. +}.0+0+}.}. + +E+E+E+h.h.E+r.p.n+0.a.B.D+U r.D+h.U V 0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.V.E  +g.<++.O K u K K K K K 4.u K u 4.u 4.K K K K 4.u 4.u K u 4.u 4.K u 4.u 4.u 4.u 4.K 4.u K 4.u 4.u 4.u _.K K K K K u 4.u 4.u _.u 4.u 4.u K 4.u 4.u 4.u 4.u 4.K u 4.3 4.u _.u 4.u 4.K u _.u 4.u _.u 4.K K K u _.u 4.3 _.u 4.u 4.K u 4.u 4.u 4.u 4.K K K K _.u 4.3 _.3 _.u 4.K K _.u _.3 _.u _.K 4.K K _.3 _.3 M 3 _.u 4.K K 4.K _.3 _.u _.K 4.K K _.u M ' C.- M u _.K K 4.K 1 j d.3 M 3 _.K K '+j n ' M 3 M - c.v C.!.3 3 - v v C.!.3 3 K c.v C.'+D.D.D.D.D.& d.D.3 3 4.M ,.N /+< < < < < < /+| u S.#+L { * w+w+L ; o+L L L ; L ; ; L ; ; L ; L ; L ; ; ; ; L ~ ] ] ] ] ] ] $.n I ].] ] ].] ].].] ] ].] ] ].] ] $.C.q.' ].>.C.g ] 6.C.].d.$.] ] ] ] ].] ] ].] d.6.] ] ] ] ] ] ] ] ",
-"u 4.K K K K K K u K K 4.u 4.K u 4.K 4.K K K K K K K K K K K K K K K K K K 4.u K K K K K K u K K K K K K K K K K K K K K K K K u 4.K K K K K K K K K K K K K K K K u ,.D )+'.8.V.` g+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.r.l.k.0.k.i.r.V h.h.V }.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+~. +).2 T.8.D o *+< /+| o p+D D D D G+O o O p+p+p+y.G+G+p+p+S +.8.@+@+T.'.l @+P V.&.C ). +V ~. +E+D+:.n+l.k.0.j.0.9.9.k.k.l.e.C+h.U U }.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+ +2  +E+).g+T.8 K u K K K K u 4.u 4.K K K K K K K u 4.u 4.u 4.u K K u 4.u 4.u 4.u 4.u 4.u K K u K u 4.u 4.u 4.u K K K 4.u 4.u 4.u _.u 4.u 4.K u 4.u 4.u 4.u 4.u 4.K K 4.u 4.u 4.u 4.u 4.K K 4.u 4.u 4.u 4.u _.u K K K 4.u 4.u _.3 _.u 4.u 4.K K 4.3 _.3 _.u 4.u 4.K K _.u _.3 _.u 4.K K K K 4.u _.3 _.3 _.u 4.K K _.u _.3 _.3 _.u 4.K 4.4.u _.3 _.u _.u 4.K C.F+K 4.u _.3 _.u _.u ]+C.4.4.K 4.u _.- 1 d.F+K 4.'+S.K K ]+S.K K S.u 3 j S.3 K S.3 3 & S.3 3 3 3 3 & C.3 3 3 3 3 3 3 3 3 3 3 3 Y D.Y D.]+w+q.{ L L w+% ; L ; ; L ; L ; L L ; L L ; L ; R.; L L L L ;  .] ] ] ] ].] ] d.$.] ] ].] ] ] ] ].] ] ] ] ] ].] ].C.a+].] C.].] ] ].] ].].] ].] ] ] ] ].].] ] ] ] ] ] ] ].] ].] ].",
-"K u K K K K K K K u K K K K K u K K K K u 4.K K K K K K u K K K K u K K K K K K K u K K K K K K K u K K K K K K K K K u K u K K K K K K K K K K K K K K K K K K K K o l 8.+.V.+.` }.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.h.D+h.D+h.l+0.j.k.B.i.U 0+0+0+ +0+0+0+}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+B &+s.<+s.<+g+).y +._ *+Y.G+G+p+p+D p+G+*+o G+p+p+p+T.S e++.)+).!++.T.o '.+.'.p+_ P T._ P u.&.)+g.~.V  +v.U E+D+C+e.l+l+e.n+r.r.p.h.E+E+E+V 0+0+~.U r.0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.V.g+ +<+).)+[ s K u K 4.u 4.K K K K u K 4.u 4.u K K K u 4.u K K K 4.u 4.u 4.u 4.u 4.u 4.K K 4.u 4.u 4.u 4.u 4.K K K K K K 4.u 4.u 4.u K K K u K u u 4.3 4.u 4.u K u K 4.K K u K u 4.u K u K K K 4.u 4.u 4.u 4.u 4.u 4.K K 4.3 _.3 - 3 _.u 4.u 4.K u _.u 4.u _.3 _.3 4.K K K K K 3 _.3 _.u _.u 4.K K 4.K 4.u _.3 _.u 4.K 4.K K 4.u _.3 _.3 _.u 4.K K 4.u _.u d.- _.u _./.a+v K 4.K c.6._.3 M u _.u 4.4.d.M K 4.6.a+u _.- d.K v c.K K '+d.K v v u 3 - d.K 3 3 u 3 c.v & C.F+3 & ' 3 3 f.P.3 3 Y D.Y u c.c S.{ L ; d...; L ..q.w+..* q.(.L (.q.* ; #+n w+q.* * #+% * a+>.].].] c a+C.d.$.].] ]+c.c.] $.I > _+c.].] ].] ] S.I ] q.> ] ] ] @.>.C.$.] ].c >.].c.>.] ] c C.] ].$.c.a+6.> ] ] ",
-"K K K K K K K K K 4.K K K K K K K u K K 4.u K u K u K K 4.K K K K K K K u K K K K K K u K u K K K K K u u K u K K K u K u K 4.u K K K u K u K K K K K K u K K K K _.[ 2 '.+.)+` 8.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+~.0+}.U E+0+h.j.9.9.9.9.9.0.:.n+C+r.E+V ~.~.V 0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.V.)+2 +.'.` G+G+p+_ T.T.T.@+` ` @+V.V.).<+V.+.D ` +.2 +.8.+.+.8.)+` '.p+4 D D P D [ G+|.g.&.C <+f }.~.V  +V V V V V h+V B ~.~.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+E )+ +E+).g+T.o 4.K K K K K K K K K K K u 4.u 4.u 4.K K K K K u K u 4.u 4.u 4.u K K K K K K u 4.u 4.u 4.u K K K K K 4.u 4.u 4.u 4.u 4.u K K K 4.u 4.u 4.u 4.u 4.u 4.K u 4.u K u 4.u 4.3 4.K K K u K u 4.u 4.3 4.3 4.u K K K K K 4.u 4.u 4.u 4.u 4.u K K u 4.u 4.u _.3 _.3 4.u 4.K K K u _.3 4.3 _.3 _.u 4.K K K u _.3 _.3 _.3 _.u 4.K K 4.u _.3 M 3 _.u _.3 M d.4.K K j+K._.S.M 3 _.n F+K 4.K K 4.K 4.- d.u _.K C.v 4.K 1 d.K n v M 3 1 d.4.C.c.u K !.d.u 3 3 3 3 S.I K I d.u R d.K 3 C.3 u u u Y D.c.u $.d.L L ; d.* L (.w+* % q.; #+d.L #+w+; w+#+; #+d.; ; w+S.(._+d.$.] >.a+] b d.] ] c.c ].w+$.> d.>.c n ] ].] ] $.d.@.n j ].].] c C.] @.d.] ].q.w+@.c d.].] >.w+] $.d.@.$.d.@.] ] ",
-"K K K u K K K K K u K K K K K K 4.K K u K K K K K K u K u K K K K K K K K u K u K u 4.K K K K K K K K 4.u K u K K K K K K u 4.u K K 4.K K K u K u K K 4.u K K K u Z S V.@+V.)+` <+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+V ~.h.l+k.9.9.9.9.k.e.C+p.~.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+).V.2 '.V.V.V.V.V.V.V.@+p+` +.V.!+g+g+)+2 _ D +.2 2 2 8.+.6+!+).V.@+D S 2 ).2 S O S @+a O O S T._ [ R.F.&.u.V.|.2 v.~.f ~.v. +V B V E E E &+B &+B V ~.}.0+0+V T.<+g+!+g+2 N.N K K K K K K K K K K K 4.K K K K K u K K K K K K K K K K K u K K u 4.u 4.u 4.u 4.u 4.u K K K K K K u K u 4.u 4.u 4.u 4.K K K K K u 4.u 4.u 4.u 4.u K 4.u 4.u 4.u 4.3 _.u 4.u 4.K K 4.u 4.u 4.u 4.u 4.u 4.u K K K 4.u 4.3 4.3 _.u 4.K 4.K K K u 4.u _.3 _.3 _.u 4.K 4.K K K u _.3 _.3 _.3 4.u 4.K K K K 4.u _.u 4.u 4.3 _.u 4.K K K u 4.u _.3 1 d._.3 s d.- u K 4.u _.d.1 3 _.3 M 3 _.u ]+n K 4.u j+d.]+'+n C.4.j d.j 1 n C.4.j d.j 1 C.C.3 _.u 4.K d.- 3 - d.K K d.- j /.3 3 u 3 =.K C.- c d.L ; ..d.; ; d.#+(.S.(.L * d.n ; L ..d.* ; #+w+L ; d.#+* > S.] $.d.$.] > w+].A+d.> I w+] $.d.] ] ] ] ].].].A+d.a+d.c ] ].] d.$.] ] d.$.] S.c ].$.d.] ] a+a+] A+d.] $.d.$.] ].",
-"K u K K 4.u K K u K K K u u K K u K K K K K K K K u 4.u K K u K u K u K K 4.u 4.K 4.u K K K u u K u K u 4.K 4.u K u K K K K u 4.K K u K K K K 4.K K u K K K K K K X p+8.@+8.)+D s.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+ +U ~.}.r+:.:.i.:.i.B.B.0.l.i.E+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+V 0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+~.)+!+)+V.V.2 '.@+T.T.+.V.<+g+!+8.p+S D '.8.2 +.8.@++.8.)+<+!+8.'.p+T.<+).V.'.D S 8.).V.'.S o @+8.D O O G+4 [ D _ c+O S f+&.u.V.=+V.t+f }.f ~.v. +B B &+E g+).V.+.T.S '.D < K u 4.K K K K K K K K K K K u 4.u 4.K K K K K K K K K u 4.u 4.u 4.u 4.u 4.u K K K K K 4.u 4.u 4.u 4.u 4.u 4.u K K K K K K u 4.u 4.u K u 4.u 4.K K 4.u 4.u 4.u K u 4.u 4.u 4.u K 4.u K u 4.u K u 4.u 4.u 4.u 4.u K K u 4.u 4.u 4.u 4.u 4.u 4.u K 4.u 4.u 4.u 4.3 4.3 4.u K K K K u _.3 _.3 _.3 _.u 4.u 4.K u 4.u 4.u - 3 _.3 4.u 4.K 4.K K K K & C.4.u 1 d._.u _.u 4.- d.4.K K u _.u _.3 v a+4.u 4.u !.1 > d.- 4.u 1 !.j d.!.u 4.M 1 j d.!.K 4.u _.- d.K _.!.S.u K S.1 c.K 3 u 3 u 3 C.h - > d.; L #+S.L H d.#+H ; ; ; ; S.w+L ; % w+L L q.q.L ; d.H * I C.]./.d.] ].c.a+] v w+> A+] ].> n ].].].].] ] ] I d.] a+S.] ] $.d.$.].$.d.$.] d.$.].I C.].].S.c ] $.d.@.q.I ] ].] ",
-"K K K K K K u K K K u 4.K K u K u K K K u K K K K K K K K 4.u 4.u 4.K K K K K u K K K u K K 4.u 4.K K u K u K K K K u 4.K 4.u 4.u 4.K K K 4.u 4.K K K K K K 4.K 4.o m V.@+V.V.D s.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+}.U ~.0+U V }.0+0+0+0+0+0+U U n+j.j.a.D+r.}.0+0+0+0+0+0+0+0+}.r.~.U 0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+).8.V.!+T.2 V.)+<+E E &+).8.'.'.` +.2 @+2 '.2 8.+.).<+@+T.'.D '.).g++.D G+G+'.).).8.'.O a V.).8.@+D G+T.T.` e+T.T.` a S o O [ _ S [ t F.D =+&.e |.&.v.v.}.v.~.;+V U f+*+_.K 4.K K K 4.K K K K K K K 4.K K K K K K K K K K K K 4.K K K K K K K K K u 4.u 4.u 4.u K K K u 4.K K K K K K K K 4.u 4.u 4.u 4.u 4.u K K u K K K u K u 4.u 4.u 4.u K u 4.u K K K K u 4.u 4.u 4.u 4.u 4.u 4.u 4.K K 4.u 4.u 4.3 4.u 4.u 4.u 4.u 4.K K 4.u 4.u 4.u _.3 _.u 4.u 4.K K K K 4.u 4.3 _.3 4.u 4.u 4.u K K K 4.u _.3 _.3 _.3 _.u 4.u 4.c.6.K K 1 d.M 3 M 3 _.'+S.3 _.u 4.K K 4.K n ]+4.u _.u 4.u C.@._.u 4.K 4.C.@.4.3 _.3 _.C.]+3 _.u 4.K !.S.K K C.K.u _.c.n P._.u _.u 4./.K.=.D.h S.#+L q.n L * d...L L ; ; #+a+d.* L q.S.; ; S.c ; * d.* * C.c ].> d.] ] w+6.].6.w+] ] ] ] >.a+] ] ] ].].] ].a+q.] $.d.c ].$.d.$.].I n ] $.d.].].C.c ] $.d.$.] ].A+c.$.].] ].].",
-"K u 4.u K u K K K K K u K K K K K K K K K K u K K K u K K u K u K u K u K K K K K K K K K K K K u K K 4.K 4.K K u K K 4.u K K K K 4.u 4.K K K K K K 4.K 4.K 4.u 4.O T.V.@+V.!+T.).0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+U r+:.k.j.i.E+h. +D+U U E+D+E+i.U 0+0+0+0+0+0+0+0+0+V 0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+~.2 !+).&+ +V  +g+).V.'.8.D +.2 +.'.@+V.2 2 !+).)+@+` [ ` '.).!+'.Y.S D @+).g+V.@+p+S +.).)++.'.O D '.T.T.'.T.` +.).@+G+U.*+T.S o O S G+*+X O D G+[ S _ F.f+g.;+0+Z.G+s K K K K 4.K K 4.K 4.K 4.K K K 4.K 4.K 4.K 4.K K K K K K K K 4.u 4.u 4.u 4.u 4.u 4.u 4.K K K K K K K K K u 4.u 4.u 4.u K u 4.u K K K K K 4.u 4.u 4.u - u 4.u 4.u - u 4.K K K u 4.u 4.u 4.u 4.3 4.u 4.u 4.u K K K u K K u K u 4.u 4.u 4.3 4.u 4.u K K K u K 4.u 4.3 4.u 4.u _.u 4.3 4.u 4.K K K K 4.3 4.u 4.u _.u _.3 4.u 4.K K 4.u 4.u 4.3 _.3 _.n 1 u 4.u S.n a+& K 4.]+a+u _.3 _.3 _.u ]+d._+'+K K u 1 C.j 3 _.3 _.- C.( _.u _.K !.C./.4.K 4.u _.3 ' n 1 c.v u 4.K j S.K K K - u 1 S.@.x i+h S.w+b w+w+#+L w+S.a+q.#+S.#+; S.#+H * d.w+% S.w+{ c d.L ~ w+q.@.].d.n 6.S.n b $.d.C.>.I ] n I ].].].] ] ].$.S.q.] ] c.S.c ] C.f.@.w+] ].> d.] ].w+q.@.$.d.q._+] C.d.a+$.].] ] ",
-"K K K K K K K K K K K K K K K K K K K K K K K u K K K u 4.K 4.K 4.K K K u K u K u K K K u K K 4.K K u K u 4.u 4.K K u 4.K K K K K 4.K K 4.K 4.K 4.K 4.K 4.u _.K 4.o D 8.@+8.)+` 8.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+~.0+}.p. +B.9.l.n+:.a.B.l.:.h.0+0+0+0+0+0+0+0+0+ +U V 0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+).@+)+U V.2 V.@+'.2 8.8.V.+.V.2 2 2 <+g+<+T.2 D ` T.V.).).D 4 D ` '.).<+)++.` D @+<+!+'.D S O T.T.T.D T.` T.)+!+2 '.S O @+).V.'.G+U.a D D ` ` D D S 4 X < *+[ |.@+N K K 4.K 4.K K K 4.K K 4.K K 4.K K 4.u 4.u 4.u 4.u 4.u 4.K 4.K K K 4.K K 4.K K K K K K K K K K K K K K K K K K u 4.u K K K K K K K K K K u - u 4.u 4.u 4.u 4.u K u K K K K u 4.u 4.u 4.u 4.u 4.u 4.u K u 4.u K K K K u 4.u 4.u 4.u 4.3 4.u 4.u 4.K K K K K u K u 4.u 4.3 _.3 _.3 _.u 4.u 4.u 4.K K K K K u 4.u 4.u _.3 _.3 _.u 4.u 4.u K 4.u _.u 4.d.M u _.3 _.- _.3 4.u a+]+K K K 4.u _.u M K M K _.u c P.4.u 4.K K c j 4.K 4.3 4.j L.3 _.u _.3 4.K 4.4.4.!.4.4.u _.3 j /.M 3 _.u 4.K M - 4.] u =.$.# # A+$.# # A+$.].].$.].].] $.] ] ].].] ] ] x x ] $.].$.$.] ] ] $.] $.$.] ] ] $.] ].].$.] ].] ].].] ].$.$.] ] ].].$.$.] ].$.$.] ] ] $.$.] ].] $.] ].$.] $.d.] $.a+d.$.].].",
-"K K K K K K K K K K K u K u K u K K K u K K K K K K u 4.u K u K u K K K K K K 4.K 4.u K K 4.u K u 4.K 4.K K K K K K 4.K 4.K 4.K 4.K 4.K 4.K 4.K 4.u 4.K 4.4.4.K x Z D V.@+8.)++.'.}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+V  +E+h.n+l+a.j.j.9.j.n+0+0+0+0+0+0+0+0+0+r.D+h.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+~.8.8.V.V.2 +.2 2 +.V.8.2 2 !+g+!+g+2 T.T.@+'.+.).E +.S T.p+D !+!+!+'.D ` D @+).)+` ` D p+T.'.T.T.` T.J.8.).V.+.T.$+G+V.!+8.'.G+4 D D a T.%+D D D D p+D D G+T.f+F+4.K 4.K K K 4.K 4.K K K 4.K K 4.K K 4.K 4.K K K 4.K 4.K K K u 4.K K K K K K K 4.K K K K K K K K K K K K K K K K K K 4.u 4.K K K 4.u K K 4.u 4.u 4.u K u K K K 4.K K K 4.u K u 4.u 4.u 4.u 4.u 4.u 4.u K K K K u 4.u 4.u 4.3 4.u 4.u 4.u 4.u 4.u K K K 4.u K u 4.u 4.u 4.u 4.u 4.3 4.u 4.u 4.u K K K K K u u 4.u K u 4.u 4.u _.3 4.u 4.u 4.K K K K M C.v ' 4.u _.3 4.3 ' 6.C.- _.u _.u 4.K K K K 4.u 4.u 4.u _.u _.3 _.3 _.3 _.u 4.K K 4.K _.3 _.u _.3 _.3 _.u 4.u M a+/.v 4.K K 4.u _.u 4.u _.x ].x x x ] x ] x ] x ] x ] x ] x ] x x ] x ] ] ] ] $.].] ].].] ].].].].].].] ] ] $.].] ].] ] ] ] ] ].] $.].] ] ] ].] ].] ] ] ].].].] ].].].] ] ].] ].].].] ] ]./.d.$.].$.S.$.] ] ",
-"K K K K K K K K K K K K K K K 4.u K K K u K K K K 4.u 4.K 4.K 4.K K u K K K u K u K K K u K K 4.K K K K 4.K K K K K 4.K 4.K 4.K 4.K 4.K 4.K 4.K _.K _.4.4.4.4.4.4.Z F.+.p +.V.V.D s.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+~.D+C+B.l.a.:.l.j.9.9.k.p.}.}.0+0+ +r+n+:.D+0+0+0+0+0+0+0+0+0+0+0+0+ +}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+!+'.V.V.V.V.2 2 V.E g+ + +g+)+@+_ '.` ).).)+@++.S S ` 8.).E !+D T.` S V.).)+'.O G+p+` '.T.T.+.T.J.+.).!+8.'.G+O +.!+V.+.` 4 G+D D D D D D D a D D D D W._ 2.,.4.K 4.4.4.K 4.K 4.K 4.K 4.K 4.K K 4.K K K K 4.K 4.K K K 4.K 4.4.K K K 4.K K K 4.u 4.K 4.K K K 4.u 4.K 4.K 4.K K K 4.K K K K K 4.u K K K K K K u 4.u 4.K 4.u 4.u 4.u 4.u 4.u 4.u K u K K K u K K K K K K K K u 4.u 4.u 4.u 4.u 4.3 4.u 4.u 4.u K u 4.K u K u 4.u 4.u 4.u K u 4.u 4.u 4.u 4.u 4.u 4.u K K K K u 4.u 4.u 4.u 4.u 4.u 4.3 4.u 4.3 4.u K K K K K K K K K 4.u 4.3 _.3 _.3 _.3 _.3 _.3 _.3 4.u 4.u K K K 4.u 4.u _.u _.3 _.3 _.3 _.u 4.u 4.K K 4.K 4.K 4.u 4.a+c 3 M 3 _.u 4.u _.u 4.K x $.].$.] ].] ].].~ ].].] ].] ].] ].].] ].].] ] ].] ] ].] ].].] ] ] ] ] ] ].].].] ] ].] ].].].].].] ] ] ] ].] ].] ].] ].].].] ] ] ].].].].].].] ].] ] ] ].].].].] c C.c.>.] ].].].",
-"K 4.K K K K K K u 4.K K K 4.u K K 4.K 4.K 4.u 4.u K K K K K u K K 4.K K K K K 4.4.K K K 4.4.K K K 4.K K K K K K 4.u 4.K 4.K 4.K 4.4.4.4.4._.4._.K _.4._.4.M 4.s 4.,.o ` )+@+8.)+@+T.}.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+h.h.i.r+h.r+U 0+0+0+V ~.D+0.9.9.0.B.a.a.l+n+h.~. +0+0+0+0+0+0+0+0+0+}.E+~.0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+h+8.@+V.)+ +V V  +E ).V.'.@+'.!+<+E ).+.8.+.T.` +.<+E )+T.` T.` '.!+<+@+D S ` D '.'.T.'.T.'.` @+!+).V.@+` G+@+).!+2 '.G+G+D D a S a D D D %+D D D p+D T.p+_.4.K 4.K 4.4.4.K 4.K 4.4.K 4.K 4.4.K 4.K 4.K 4.K K K 4.K K K K K 4.K K K 4.K K K 4.K K K K K K K 4.u 4.u K K K K K K u 4.u 4.u 4.u 4.K 4.u 4.u 4.u 4.u 4.u 4.u 4.K 4.u 4.u K K K K K 4.u K K 4.u K u 4.u 4.u 4.u 4.u 4.u 4.u 4.u 4.u 4.u 4.u K 4.u 4.u 4.u K u 4.u K u 4.u 4.3 4.u 4.u 4.u 4.u 4.u 4.u K K u 4.u 4.u 4.u 4.u 4.u 4.u _.3 4.3 4.u 4.u 4.K 4.u K K K K K K u K u 4.u 4.3 _.3 4.3 _.3 _.u 4.3 4.u 4.u 4.u 4.K K K K K K K K 4.u _.3 M 3 _.3 _.3 _.3 4.u 4.u 4.K 4.K 4.K K 4.u 4.u _.u - x ] ] ].] $.] ].A+~ $.].] ].] ].].].].].] ].].] ].].].].].].].].].].].].] ] ].].].].].].] ] $.] ].].].].] $.] ].].].] ] ].].].].] ] ] ] ] ] $.] ].].].].] ] ].].] ] ].] $.] ] ] "};
diff --git a/src/tX_mastergui.cc b/src/tX_mastergui.cc
deleted file mode 100644 (file)
index 3b2e3a2..0000000
+++ /dev/null
@@ -1,769 +0,0 @@
-/*
-    terminatorX - realtime audio scratching software
-    Copyright (C) 1999  Alexander König
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-    File: tX_mastergui.cc
-    Description: This implements the main (aka master) gtk+ GUI of terminatorX
-                It serves as a container for the vtt-guis.
-*/    
-
-#include <gtk/gtk.h>
-#include <gdk/gdkx.h>
-#include <X11/Xlib.h>
-#include <math.h>
-#include <string.h>
-#include "version.h"
-#include "tX_global.h"
-#include "tX_engine.h"
-#include "tX_vttgui.h"
-#include "tX_vtt.h"
-#include "tX_flash.h"
-#include "tX_smlog.c"
-#include "tX_dialog.h"
-#define MAX_ROWS 5
-
-GtkWidget *tt_box[MAX_ROWS];
-GtkWidget *tt_parent;
-GtkWidget *main_window;
-GtkWidget *wav_progress;
-GtkWidget *grab_button;
-GtkWidget *main_flash;
-GtkWidget *rec_btn;
-GtkAdjustment *volume_adj;
-GtkAdjustment *pitch_adj;
-int rec_dont_care=0;
-
-#define connect_entry(wid, func, ptr); gtk_signal_connect(GTK_OBJECT(wid), "activate", (GtkSignalFunc) func, (void *) ptr);
-#define connect_adj(wid, func, ptr); gtk_signal_connect(GTK_OBJECT(wid), "value_changed", (GtkSignalFunc) func, (void *) ptr);
-#define connect_button(wid, func, ptr); gtk_signal_connect(GTK_OBJECT(wid), "clicked", (GtkSignalFunc) func, (void *) ptr);
-
-Window xwindow;
-#define WID_DYN TRUE, TRUE, 0
-#define WID_FIX FALSE, FALSE, 0
-extern int add_vtt(GtkWidget *);
-extern void recreate_gui(vtt_class *vtt, GtkWidget *daddy);
-extern void destroy_gui(vtt_class *vtt);
-extern void gui_show_frame(vtt_class *vtt, int show);
-
-GdkWindow *save_dialog_win=NULL;
-GdkWindow *load_dialog_win=NULL;
-GtkWidget *save_dialog=NULL;
-GtkWidget *load_dialog=NULL;
-
-GdkWindow *rec_dialog_win=NULL;
-GtkWidget *rec_dialog=NULL;
-
-int stop_update=0;
-
-vtt_class *old_focus=NULL;
-
-int grab_status=0;
-int last_grab_status=0;
-
-void tx_note(char *message);
-
-gint pos_update(gpointer data)
-{
-       f_prec temp;
-
-       if (stop_update) 
-       {               
-               cleanup_all_vtts();
-               if (old_focus) gui_show_frame(old_focus, 0);
-               old_focus=NULL;
-               gtk_tx_flash_clear(main_flash);
-               gdk_flush();    
-               return(FALSE);
-       }
-       else
-       {
-               update_all_vtts();
-               temp=vtt_class::mix_max;
-               vtt_class::mix_max=0;
-               gtk_tx_flash_set_level(main_flash, temp);
-               if (vtt_class::focused_vtt!=old_focus)
-               {
-                       if (old_focus) gui_show_frame(old_focus, 0);
-                       old_focus=vtt_class::focused_vtt;
-                       if (old_focus) gui_show_frame(old_focus, 1);                    
-               }
-               if (grab_status!=last_grab_status)
-               {
-                       last_grab_status=grab_status;
-                       if (!grab_status) 
-                       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(grab_button), 0);
-                       //      gtk_widget_draw_default(grab_button);
-               }
-               gdk_flush();    
-               return(TRUE);
-       }
-}
-
-void rebuild_vtts(int need_delete)
-{
-       int i,box;
-       list <vtt_class *> :: iterator vtt;
-       
-       int vtts, vtt_per_box, boxes, maxboxes;
-       
-       if (need_delete)
-       for (vtt=vtt_class::main_list.begin(); vtt!=vtt_class::main_list.end(); vtt++)
-       {
-               destroy_gui((*vtt));
-       }
-       
-       
-       for (i=0; i<MAX_ROWS; i++)
-       {
-               if (tt_box[i])
-               {
-                       //gtk_container_remove(GTK_CONTAINER(tt_parent), tt_box[i]);
-                       gtk_widget_destroy(tt_box[i]);
-                       tt_box[i]=NULL;
-               }
-       }
-
-       vtt_per_box=globals.gui_wrap;
-       vtts=vtt_class::main_list.size();
-       if (vtts>1)
-       {
-       maxboxes=vtts/globals.gui_wrap; 
-       if (vtts%globals.gui_wrap) maxboxes++;
-       boxes=maxboxes;
-               
-       while (boxes<=maxboxes)
-       {
-               vtt_per_box--;
-               boxes=vtts/vtt_per_box;
-               if (vtts%vtt_per_box) boxes++;
-       }
-       
-       vtt_per_box++;
-       }
-       
-       for (i=0, vtt=vtt_class::main_list.begin(); vtt!=vtt_class::main_list.end(); i++, vtt++)
-       {
-               box=i/vtt_per_box;
-
-               if (!tt_box[box])
-               {       
-                       tt_box[box]=gtk_vbox_new(FALSE, 0);     
-                       gtk_box_pack_start(GTK_BOX(tt_parent), tt_box[box], WID_DYN);
-                       gtk_widget_show(tt_box[box]); 
-               }
-               recreate_gui((*vtt), tt_box[box]);
-       }
-}
-
-GtkSignalFunc new_table()
-{
-       int i;
-       
-       i=vtt_class::main_list.size()/globals.gui_wrap;
-       
-       if (i<MAX_ROWS)
-       {
-               if (!tt_box[i])
-               {
-                       tt_box[i]=gtk_vbox_new(FALSE, 0);       
-                       gtk_box_pack_start(GTK_BOX(tt_parent), tt_box[i], WID_DYN);
-                       gtk_widget_show(tt_box[i]); 
-               }
-               add_vtt(tt_box[i]);                             
-       }
-       rebuild_vtts(1);
-}
-
-/* Loading saved setups */
-
-GtkSignalFunc cancel_load_tables(GtkWidget *wid)
-{
-       gtk_widget_destroy(load_dialog);
-       load_dialog=NULL;
-       load_dialog_win=NULL;
-       return(0);
-}
-
-void do_load_tables(GtkWidget *wid)
-{
-       FILE *in;
-       char buffer[PATH_MAX];
-       
-       strcpy(buffer, gtk_file_selection_get_filename(GTK_FILE_SELECTION(load_dialog)));
-       strcpy(globals.tables_filename, buffer);
-       
-       gtk_widget_destroy(load_dialog);
-       
-       load_dialog=NULL;
-       load_dialog_win=NULL;
-       
-       in=fopen(buffer, "r");
-       
-       if (in)
-       {
-               if (vtt_class::load_all(in)) tx_note("Error while reading file.");
-               fclose(in);
-               gtk_adjustment_set_value(volume_adj, globals.volume);
-               gtk_adjustment_set_value(pitch_adj, globals.pitch);
-       }
-       else
-       {
-               tx_note("Failed to access file.");
-       }
-       rebuild_vtts(0);
-}
-
-GtkSignalFunc load_tables()
-{
-       if (load_dialog_win) 
-       {
-               gdk_window_raise(load_dialog_win);
-               return 0;
-       }
-       
-       load_dialog=gtk_file_selection_new("Load Turntables");  
-       
-       if (strlen(globals.tables_filename))
-       {
-               gtk_file_selection_set_filename(GTK_FILE_SELECTION(load_dialog), globals.tables_filename);
-       }
-       
-       gtk_widget_show(load_dialog);
-       
-       load_dialog_win=load_dialog->window;
-       
-       gtk_signal_connect (GTK_OBJECT(GTK_FILE_SELECTION(load_dialog)->ok_button), "clicked", GTK_SIGNAL_FUNC(do_load_tables), NULL);
-       gtk_signal_connect (GTK_OBJECT(GTK_FILE_SELECTION(load_dialog)->cancel_button), "clicked", GTK_SIGNAL_FUNC (cancel_load_tables), NULL); 
-       gtk_signal_connect (GTK_OBJECT(load_dialog), "delete-event", GTK_SIGNAL_FUNC(cancel_load_tables), NULL);        
-}
-
-/* save tables */
-
-GtkSignalFunc cancel_save_tables(GtkWidget *wid)
-{
-       gtk_widget_destroy(save_dialog);
-       save_dialog=NULL;
-       save_dialog_win=NULL;
-       return(0);
-}
-
-void do_save_tables(GtkWidget *wid)
-{
-       FILE *out;
-       char buffer[PATH_MAX];
-       char *ext;
-       
-       strcpy(buffer, gtk_file_selection_get_filename(GTK_FILE_SELECTION(save_dialog)));
-       strcpy(globals.tables_filename, buffer);
-       
-       gtk_widget_destroy(save_dialog);
-       
-       save_dialog=NULL;
-       save_dialog_win=NULL;
-       
-       ext=strrchr(buffer, '.');
-       
-       if (ext)
-       {
-               if (strcmp(ext, ".tX")) strcat(buffer, ".tX");
-       }
-       else
-       {
-               strcat(buffer, ".tX");
-       }
-       
-       out=fopen(buffer, "w");
-       
-       if (out)
-       {
-               if (vtt_class::save_all(out)) tx_note("Error while writing file.");
-               fclose(out);
-       }
-       else
-       {
-               tx_note("Failed to access file.");
-       }
-       rebuild_vtts(0);
-}
-
-GtkSignalFunc save_tables()
-{
-       if (save_dialog_win) 
-       {
-               gdk_window_raise(save_dialog_win);
-               return 0;
-       }
-       
-       save_dialog=gtk_file_selection_new("Save Turntables");  
-       
-       if (strlen(globals.tables_filename))
-       {
-               gtk_file_selection_set_filename(GTK_FILE_SELECTION(save_dialog), globals.tables_filename);
-       }
-       
-       gtk_widget_show(save_dialog);
-       
-       save_dialog_win=save_dialog->window;
-       
-       gtk_signal_connect (GTK_OBJECT(GTK_FILE_SELECTION(save_dialog)->ok_button), "clicked", GTK_SIGNAL_FUNC(do_save_tables), NULL);
-       gtk_signal_connect (GTK_OBJECT(GTK_FILE_SELECTION(save_dialog)->cancel_button), "clicked", GTK_SIGNAL_FUNC (cancel_save_tables), NULL); 
-       gtk_signal_connect (GTK_OBJECT(save_dialog), "delete-event", GTK_SIGNAL_FUNC(cancel_save_tables), NULL);        
-}
-
-GtkSignalFunc master_volume_changed (GtkWidget *wid, void *d)
-{
-       vtt_class::set_master_volume(GTK_ADJUSTMENT(wid)->value);
-}
-
-GtkSignalFunc master_pitch_changed(GtkWidget *wid, void *d)
-{
-       vtt_class::set_master_pitch (GTK_ADJUSTMENT(wid)->value);
-}
-
-GtkSignalFunc saturate_changed(GtkWidget *w, void *d)
-{
-       vtt_class::enable_saturate (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w)));
-}
-
-GtkSignalFunc audio_on(GtkWidget *w, void *d)
-{
-       if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w)))
-       {
-               stop_update=0;
-               run_engine();
-               gtk_timeout_add(globals.update_idle, (GtkFunction) pos_update, NULL);
-       }
-       else
-       {
-               stop_engine();
-               stop_update=1;
-               
-               if ((want_recording) && (!globals.autoname))
-               {
-                       want_recording=0;
-                       rec_dont_care=1;
-                       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(rec_btn), 0);
-                       rec_dont_care=0;
-               }
-       }
-}
-
-GtkSignalFunc cancel_rec(GtkWidget *wid)
-{
-       gtk_widget_destroy(rec_dialog);
-       rec_dialog=NULL;
-       rec_dialog_win=NULL;
-       rec_dont_care=0;
-       return(0);
-}
-
-void do_rec(GtkWidget *wid)
-{
-       char buffer[PATH_MAX];
-       
-       strcpy(buffer, gtk_file_selection_get_filename(GTK_FILE_SELECTION(rec_dialog)));
-
-       if (strlen(buffer))
-       {
-               strcpy(globals.record_filename, buffer);                
-               want_recording=1;
-               gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(rec_btn), 1);
-       }
-       
-       rec_dont_care=0;
-       
-       gtk_widget_destroy(rec_dialog);
-       
-       rec_dialog=NULL;
-       rec_dialog_win=NULL;
-}
-
-GtkSignalFunc select_rec_file()
-{
-       if (rec_dialog_win) 
-       {
-               gdk_window_raise(rec_dialog_win);
-               return 0;
-       }
-       
-       rec_dialog=gtk_file_selection_new("Record To Disk");    
-       
-       if (strlen(globals.record_filename))
-       {
-               gtk_file_selection_set_filename(GTK_FILE_SELECTION(rec_dialog), globals.record_filename);
-       }
-       
-       gtk_widget_show(rec_dialog);
-       
-       rec_dialog_win=rec_dialog->window;
-       
-       gtk_signal_connect (GTK_OBJECT(GTK_FILE_SELECTION(rec_dialog)->ok_button), "clicked", GTK_SIGNAL_FUNC(do_rec), NULL);
-       gtk_signal_connect (GTK_OBJECT(GTK_FILE_SELECTION(rec_dialog)->cancel_button), "clicked", GTK_SIGNAL_FUNC (cancel_rec), NULL);  
-       gtk_signal_connect (GTK_OBJECT(rec_dialog), "delete-event", GTK_SIGNAL_FUNC(cancel_rec), NULL); 
-}
-
-GtkSignalFunc tape_on(GtkWidget *w, void *d)
-{
-       if (rec_dont_care) return 0;
-
-       if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w)))
-       {       
-               if (globals.autoname)
-               {               
-                       globals.filectr++;
-                       sprintf(globals.record_filename, "%s%04i.wav", globals.prefix, globals.filectr);
-                       want_recording=1;
-               }
-               else
-               {
-                       rec_dont_care=1;
-                       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), 0);
-                       select_rec_file();
-               }
-       }
-       else
-       {
-                       want_recording=0;
-       }
-}
-
-GtkSignalFunc grab_on(GtkWidget *w, void *d)
-{
-       grab_mouse(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w)));
-       grab_status=1;
-}
-
-void grab_off()
-{
-       grab_status=0;
-}
-
-GtkSignalFunc hide_clicked(GtkWidget *w, void *d)
-{
-       if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w)))
-       {
-               show_all_guis(0);
-       }
-       else
-       {
-               show_all_guis(1);
-       }
-}
-
-void quit()
-{
-       globals.width=main_window->allocation.width;
-       globals.height=main_window->allocation.height;
-
-       gtk_main_quit();
-}
-
-void mplcfitx()
-/* Most Proabably Least Called Function In Terminator X :) */
-{
-       show_about(0);
-}
-
-
-
-#define add_sep();     dummy=gtk_hseparator_new ();\
-       gtk_box_pack_start(GTK_BOX(right_hbox), dummy, WID_FIX);\
-       gtk_widget_show(dummy);\
-
-#define add_sep2();    dummy=gtk_hseparator_new ();\
-       gtk_box_pack_end(GTK_BOX(smaller_box), dummy, WID_FIX);\
-       gtk_widget_show(dummy);\
-
-
-int create_mastergui(int x, int y)
-{
-       GtkWidget *main_vbox;
-       GtkWidget *right_hbox;
-       GtkWidget *left_hbox;
-       GtkWidget *control_box;
-       GtkAdjustment *dumadj;
-       GtkWidget *dummy;
-       GtkWidget *small_box;
-       GtkWidget *smaller_box;
-       int i;
-
-       main_window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
-       gtk_window_set_title(GTK_WINDOW(main_window), VERSIONSTRING);
-       
-       gtk_container_set_border_width(GTK_CONTAINER(main_window), 5);
-       
-       main_vbox=gtk_hbox_new(FALSE, 5);
-       
-       gtk_container_add(GTK_CONTAINER(main_window), main_vbox);
-       gtk_widget_show(main_vbox);
-       
-       left_hbox=gtk_vbox_new(FALSE, 5);
-       gtk_box_pack_start(GTK_BOX(main_vbox), left_hbox, WID_DYN);
-       gtk_widget_show(left_hbox);
-       
-       control_box=gtk_hbox_new(FALSE, 5);
-       gtk_box_pack_start(GTK_BOX(left_hbox), control_box, WID_FIX);
-       gtk_widget_show(control_box);
-       
-       dummy=gtk_hseparator_new();
-       gtk_box_pack_start(GTK_BOX(left_hbox), dummy, WID_FIX);
-       gtk_widget_show(dummy);
-       
-       dummy=gtk_toggle_button_new_with_label(" Audio Engine ");
-       connect_button(dummy,audio_on, NULL);
-       gtk_box_pack_start(GTK_BOX(control_box), dummy, WID_FIX);
-       gtk_widget_show(dummy);
-       
-       grab_button=gtk_toggle_button_new_with_label(" Mouse Grab ");
-       gtk_box_pack_start(GTK_BOX(control_box), grab_button, WID_FIX);
-       connect_button(grab_button, grab_on, NULL);
-       gtk_widget_show(grab_button);
-
-       dummy=gtk_check_button_new_with_label("Record");
-       rec_btn=dummy;
-       connect_button(dummy,tape_on, NULL);
-       gtk_box_pack_start(GTK_BOX(control_box), dummy, WID_FIX);
-       gtk_widget_show(dummy);
-
-       
-       dummy=gtk_label_new("Master Volume:");
-       gtk_box_pack_start(GTK_BOX(control_box), dummy, WID_FIX);
-       gtk_widget_show(dummy);
-       
-       dumadj=(GtkAdjustment*) gtk_adjustment_new(globals.volume, 0, 1.5, 0.001, 0.001, 0.01);
-       volume_adj=dumadj;
-       connect_adj(dumadj, master_volume_changed, NULL);       
-       dummy=gtk_hscale_new(dumadj);
-       gtk_scale_set_digits(GTK_SCALE(dummy), 2);
-       gtk_scale_set_value_pos(GTK_SCALE(dummy), GTK_POS_LEFT);
-       gtk_box_pack_start(GTK_BOX(control_box), dummy, WID_DYN);
-       gtk_widget_show(dummy);
-
-       dummy=gtk_label_new("Master Pitch:");
-       gtk_box_pack_start(GTK_BOX(control_box), dummy, WID_FIX);
-       gtk_widget_show(dummy);
-
-       dumadj=(GtkAdjustment*) gtk_adjustment_new(globals.pitch, -3, 3, 0.001, 0.001, 0.01);
-       pitch_adj=dumadj;
-       connect_adj(dumadj, master_pitch_changed, NULL);        
-       dummy=gtk_hscale_new(dumadj);
-       gtk_scale_set_digits(GTK_SCALE(dummy), 2);
-       gtk_scale_set_value_pos(GTK_SCALE(dummy), GTK_POS_LEFT);
-       gtk_box_pack_start(GTK_BOX(control_box), dummy, WID_DYN);
-       gtk_widget_show(dummy);
-       
-       dummy=gtk_hbox_new(FALSE,0);
-       gtk_box_pack_start(GTK_BOX(left_hbox), dummy, WID_DYN);
-       gtk_widget_show(dummy);
-       
-       tt_parent=dummy;
-       
-       tt_box[0]=gtk_vbox_new(FALSE, 0);       
-       gtk_box_pack_start(GTK_BOX(dummy), tt_box[0], WID_DYN);
-       gtk_widget_show(tt_box[0]); 
-               
-       tt_box[1]=NULL;
-       tt_box[2]=NULL;
-       
-       dummy=gtk_hseparator_new();
-       gtk_box_pack_start(GTK_BOX(left_hbox), dummy, WID_FIX);
-       gtk_widget_show(dummy);
-       
-       wav_progress = gtk_progress_bar_new();
-       gtk_box_pack_start (GTK_BOX(left_hbox), wav_progress, WID_FIX);
-       gtk_widget_show(wav_progress);
-
-       dummy=gtk_vseparator_new();
-       gtk_box_pack_start(GTK_BOX(main_vbox), dummy, WID_FIX);
-       gtk_widget_show(dummy);
-               
-       right_hbox=gtk_vbox_new(FALSE, 5);
-       gtk_box_pack_start(GTK_BOX(main_vbox), right_hbox, WID_FIX);
-       gtk_widget_show(right_hbox);
-       
-       dummy=gtk_button_new_with_label("Add Turntable");
-       gtk_box_pack_start(GTK_BOX(right_hbox), dummy, WID_FIX);
-       gtk_widget_show(dummy);
-       
-       gtk_signal_connect(GTK_OBJECT(dummy), "clicked", GtkSignalFunc(new_table), NULL);       
-
-       dummy=gtk_button_new_with_label("Load Turntables");
-       gtk_box_pack_start(GTK_BOX(right_hbox), dummy, WID_FIX);
-       gtk_widget_show(dummy);
-       gtk_signal_connect(GTK_OBJECT(dummy), "clicked", GtkSignalFunc(load_tables), NULL);     
-       
-       dummy=gtk_button_new_with_label("Save Turntables");
-       gtk_box_pack_start(GTK_BOX(right_hbox), dummy, WID_FIX);
-       gtk_widget_show(dummy);
-       gtk_signal_connect(GTK_OBJECT(dummy), "clicked", GtkSignalFunc(save_tables), NULL);     
-
-       add_sep();
-
-       dummy=gtk_check_button_new_with_label("Saturate");
-       gtk_box_pack_start(GTK_BOX(right_hbox), dummy, WID_FIX);
-       gtk_widget_show(dummy);
-       connect_button(dummy, saturate_changed, NULL);
-       
-       dummy=gtk_check_button_new_with_label("Hide Gui");
-       gtk_box_pack_start(GTK_BOX(right_hbox), dummy, WID_FIX);
-       gtk_widget_show(dummy);
-       connect_button(dummy, hide_clicked, NULL);
-       
-       add_sep();
-       
-       dummy=gtk_button_new_with_label("Options");
-       gtk_box_pack_start(GTK_BOX(right_hbox), dummy, WID_FIX);
-       gtk_widget_show(dummy);
-       gtk_signal_connect (GTK_OBJECT(dummy), "clicked", (GtkSignalFunc) display_options, NULL);
-
-       dummy=gtk_button_new_with_label("About");
-       gtk_box_pack_start(GTK_BOX(right_hbox), dummy, WID_FIX);
-       gtk_widget_show(dummy);
-       gtk_signal_connect (GTK_OBJECT(dummy), "clicked", (GtkSignalFunc) mplcfitx, NULL);      
-       
-       add_sep();              
-
-       small_box=gtk_hbox_new(FALSE, 5);
-       gtk_box_pack_start(GTK_BOX(right_hbox), small_box, WID_DYN);
-       gtk_widget_show(small_box);
-       
-       smaller_box=gtk_vbox_new(FALSE, 0);
-       gtk_box_pack_start(GTK_BOX(small_box), smaller_box, WID_FIX);
-       gtk_widget_show(smaller_box);
-
-       GdkBitmap *mask;
-       GtkStyle *style;
-       GdkPixmap *pmap=NULL;
-       GtkWidget *pwid;
-       
-       gtk_widget_realize(main_window);
-       style = gtk_widget_get_style( main_window );
-       pmap=gdk_pixmap_create_from_xpm_d(main_window->window, &mask, &style->bg[GTK_STATE_NORMAL], (gchar **) tx_smlog_xpm );
-       pwid = gtk_pixmap_new( pmap, mask );
-       gtk_box_pack_start(GTK_BOX(smaller_box), pwid, WID_FIX);
-       gtk_widget_show( pwid );
-       
-
-       dummy=gtk_label_new("14628");
-       gtk_misc_set_alignment(GTK_MISC(dummy), 1, 0.5);
-       gtk_box_pack_end(GTK_BOX(smaller_box), dummy, WID_FIX);
-       gtk_widget_show(dummy);
-
-       dummy=gtk_label_new("Memory/kB:");
-       gtk_misc_set_alignment(GTK_MISC(dummy), 0, 0.5);
-       gtk_box_pack_end(GTK_BOX(smaller_box), dummy, WID_FIX);
-       gtk_widget_show(dummy);
-       
-       add_sep2();
-
-       dummy=gtk_label_new("4");
-       gtk_misc_set_alignment(GTK_MISC(dummy), 1, 0.5);
-       gtk_box_pack_end(GTK_BOX(smaller_box), dummy, WID_FIX);
-       gtk_widget_show(dummy);
-
-       dummy=gtk_label_new("Vtts:");
-       gtk_misc_set_alignment(GTK_MISC(dummy), 0, 0.5);
-       gtk_box_pack_end(GTK_BOX(smaller_box), dummy, WID_FIX);
-       gtk_widget_show(dummy);
-
-       add_sep2();
-
-       dummy=gtk_label_new("3.5");
-       gtk_misc_set_alignment(GTK_MISC(dummy), 1, 0.5);
-       gtk_box_pack_end(GTK_BOX(smaller_box), dummy, WID_FIX);
-       gtk_widget_show(dummy);
-
-       dummy=gtk_label_new("Release:");
-       gtk_misc_set_alignment(GTK_MISC(dummy), 0, 0.5);
-       gtk_box_pack_end(GTK_BOX(smaller_box), dummy, WID_FIX);
-       gtk_widget_show(dummy);
-       
-       add_sep2();
-
-       dummy=gtk_label_new("Status:");
-       gtk_misc_set_alignment(GTK_MISC(dummy), 0.5, 0.5);
-       gtk_box_pack_end(GTK_BOX(smaller_box), dummy, WID_FIX);
-       gtk_widget_show(dummy);
-       
-       main_flash=gtk_tx_flash_new();
-       gtk_box_pack_end(GTK_BOX(small_box), main_flash, WID_DYN);
-       gtk_widget_show(main_flash);
-
-       gtk_window_set_default_size(GTK_WINDOW(main_window), x, y);     
-
-       gtk_signal_connect (GTK_OBJECT(main_window), "destroy", (GtkSignalFunc) quit, NULL);    
-}
-
-gfloat old_percent=-1;
-
-void wav_progress_update(gfloat percent)
-{
-       percent=floor(percent*10.0)/10.0; //Updateing statusbars with gtk-themes eats up hell of a lot CPU-time
-                                         // which is why we update every 10% only.
-       
-       if (wav_progress)
-       {
-               if (old_percent != percent)
-               {
-                       old_percent = percent;
-                       gtk_progress_bar_update(GTK_PROGRESS_BAR(wav_progress), percent);
-                       while (gtk_events_pending()) gtk_main_iteration();      
-               }
-       }
-
-}
-
-void note_destroy(GtkWidget *widget, GtkWidget *mbox)
-{
-       gtk_widget_destroy(GTK_WIDGET(mbox));
-}
-
-void tx_note(char *message)
-{
-       char buffer[4096]="\n     [ terminatorX Message: ]     \n\n";
-       
-       GtkWidget *mbox;
-       GtkWidget *label;
-       GtkWidget *btn;
-       
-       mbox=gtk_dialog_new();
-
-       strcat(buffer, "   ");  
-       strcat(buffer, message);
-       strcat(buffer, "   ");
-       label=gtk_label_new(buffer);
-       gtk_box_pack_start(GTK_BOX(GTK_DIALOG(mbox)->vbox), label, TRUE, TRUE, 0);
-       gtk_widget_show(label);
-       
-       btn = gtk_button_new_with_label("Ok");
-       gtk_box_pack_start(GTK_BOX(GTK_DIALOG(mbox)->action_area), btn, TRUE, TRUE, 0);
-       gtk_widget_show(btn);
-       
-       gtk_signal_connect(GTK_OBJECT(btn), "clicked", GtkSignalFunc(note_destroy), mbox);
-       
-       gtk_widget_show(mbox);
-}
-
-void display_mastergui()
-{
-       GtkWidget *top;
-       
-       gtk_widget_show(main_window);
-       top=gtk_widget_get_toplevel(main_window);
-       xwindow=GDK_WINDOW_XWINDOW(top->window);
-}
diff --git a/src/tX_mastergui.h b/src/tX_mastergui.h
deleted file mode 100644 (file)
index 9ecb1cb..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-    terminatorX - realtime audio scratching software
-    Copyright (C) 1999  Alexander König
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-    File: tX_mastergui.h
-    Description: Header to tX_mastergui.cc
-*/    
-
-#ifndef _h_tx_mastergui
-#define _h_tx_mastergui 1
-
-#include <gtk/gtk.h>
-#include <X11/Xlib.h>
-
-extern Window xwindow;
-
-extern int create_mastergui(int x, int y);
-extern void wav_progress_update(gfloat percent);
-extern void note_destroy(GtkWidget *widget, GtkWidget *mbox);
-extern void tx_note(char *message);
-extern void display_mastergui();
-extern void grab_off();
-extern void rebuild_vtts(int);
-
-#endif
diff --git a/src/tX_mouse.cc b/src/tX_mouse.cc
deleted file mode 100644 (file)
index c6bc2fc..0000000
+++ /dev/null
@@ -1,282 +0,0 @@
-/*
-    terminatorX - realtime audio scratching software
-    Copyright (C) 1999  Alexander König
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-    File: tX_mouse.cc
-    Description: This implements the mouse AND keyboard Input handling in
-                Grab-Mode.
-*/    
-
-#include "tX_mouse.h"
-#include "tX_mastergui.h"
-#include "tX_global.h"
-#include "tX_engine.h"
-#include "tX_vtt.h"
-
-tx_mouse :: tx_mouse()
-{
-       mask=PointerMotionMask | KeyPressMask | KeyReleaseMask | ButtonPressMask | ButtonReleaseMask;
-       xmot=(XMotionEvent *) &xev;
-       xkey=(XKeyEvent *) &xev;
-       xbut=(XButtonEvent *) &xev;
-       grabbed=0;
-}
-
-int tx_mouse :: grab()
-{      
-       if (grabbed) return(0);
-
-       dpy=XOpenDisplay(NULL); // FIXME: use correct display
-       if (!dpy)
-       {
-               return(ENG_ERR_XOPEN);
-       }
-
-       if (globals.xinput_enable)
-       {
-               if (set_xinput())
-               {
-                       XCloseDisplay(dpy);
-                       return(ENG_ERR_XINPUT);
-               }
-       }
-                               
-       XSelectInput(dpy, xwindow, mask);       
-
-       XSetInputFocus(dpy, xwindow, None, CurrentTime);
-
-        if (GrabSuccess != XGrabPointer(dpy, xwindow, False, ButtonPressMask|ButtonReleaseMask|PointerMotionMask, GrabModeAsync,GrabModeAsync,None,None,CurrentTime))
-       {
-               reset_xinput();
-               XCloseDisplay(dpy);
-               return(ENG_ERR_GRABMOUSE);
-       }       
-       
-        if (GrabSuccess != XGrabKeyboard(dpy, xwindow, False, GrabModeAsync,GrabModeAsync,CurrentTime))
-       {
-               XUngrabPointer (dpy, CurrentTime);
-               reset_xinput();         
-               XCloseDisplay(dpy);
-
-               return(ENG_ERR_GRABKEY);
-       }
-       
-       
-       if (!XF86DGADirectVideo(dpy,DefaultScreen(dpy),XF86DGADirectMouse))
-       {
-               XUngrabKeyboard(dpy, CurrentTime);                              
-               XUngrabPointer (dpy, CurrentTime);
-               reset_xinput();         
-               XCloseDisplay(dpy);
-               return(ENG_ERR_DGA);
-       }
-
-       XAutoRepeatOff(dpy);    
-       otime=CurrentTime;
-       
-       grabbed=1;
-       vtt_class::focus_no(0);
-       
-       return(0);
-}
-
-void tx_mouse :: ungrab()
-{
-       if (!grabbed) return;
-
-       XF86DGADirectVideo(dpy,DefaultScreen(dpy),0);
-
-       XUngrabKeyboard(dpy, CurrentTime);              
-       XUngrabPointer (dpy, CurrentTime);
-       XAutoRepeatOn(dpy);
-
-       reset_xinput(); 
-       
-       XCloseDisplay(dpy);
-
-       vtt_class::unfocus();
-
-       grabbed=0;
-}
-
-
-
-int tx_mouse :: set_xinput()
-{
-       XDeviceInfo *devlist;                   
-       int listmax, i;
-       int match=-1;
-       
-       if (globals.xinput_enable)
-       {       
-               devlist=XListInputDevices(dpy, &listmax);
-       
-               for (i=0; i<listmax; i++)
-               {
-                       if(!strcmp(globals.xinput_device,devlist[i].name))
-                       {
-                               match=i;
-                       }
-               
-                       if(devlist[i].use == IsXPointer)
-                       {
-                               OrgXPointer=devlist[i].id;
-                       }
-               }
-               
-               if (match>=0)
-               {
-                       input_device=NULL;
-                       input_device=XOpenDevice(dpy,devlist[match].id);
-/*                     if (XChangePointerDevice(dpy,input_device, 0, 1)!=Success)
-                       {
-                               match=-1;
-                       }*/
-                       XCloseDevice(dpy, input_device);
-               }
-               
-               XFreeDeviceList(devlist);               
-       
-               if (match>=0) return(0); 
-               else return(1);
-       }
-       
-       return(0);
-}
-
-#define vtt vtt_class::focused_vtt
-
-int tx_mouse :: check_event()
-{
-       if (XCheckWindowEvent(dpy, xwindow, mask, &xev))
-       {
-               if (vtt)
-               switch(xev.type)
-               {
-                       case MotionNotify:
-                               ntime=xmot->time;
-                               dtime=(f_prec) ntime-otime;
-                               if (dtime<=0) dtime=1.0;
-                               otime=ntime;
-                               
-                               vtt->xy_input(((f_prec) xmot->x_root)/dtime,((f_prec) xmot->y_root)/dtime);
-                               break;
-                       
-                       case ButtonPress:
-                               switch(xbut->button)
-                               {
-                                       case 1: if (vtt->is_playing)
-                                                       vtt->set_scratch(1); 
-                                               else
-                                                       vtt->trigger();
-                                               break;
-                                       case 2: vtt->set_mute(1); break;
-                                       case 3: vtt_class::focus_next(); break;
-                               }
-                               break;
-                       
-                       case ButtonRelease:
-                               switch (xbut->button)
-                               {       
-                                       case 1: vtt->set_scratch(0); break;
-                                       case 2: vtt->set_mute(0); break;
-                               }
-                               break;
-                       
-                       case KeyPress:
-                       {
-                               key=XKeycodeToKeysym(dpy, xkey->keycode, 0);
-                               
-                               switch(key)
-                               {
-                                       case XK_space: vtt->set_scratch(1); break;
-                                       case XK_Escape: return(1);
-                                       
-                                       case XK_Return: vtt->trigger(); break;
-                                       case XK_BackSpace : vtt->stop(); break;
-                                       
-                                       case XK_Tab: vtt_class::focus_next(); break;
-                                       
-                                       case XK_s: vtt->set_sync_client(!vtt->is_sync_client, vtt->sync_cycles); break;
-                                       
-                                       case XK_m:
-                                       case XK_Control_L:
-                                       case XK_Control_R:                                              
-                                       vtt->set_mute(1);
-                                       break;
-                                               
-                                       case XK_Alt_L:
-                                       case XK_Alt_R:
-                                       vtt->set_mute(0);
-                                       break;
-                                               
-                                       case XK_F1: vtt_class::focus_no(0); break;
-                                       case XK_F2: vtt_class::focus_no(1); break;
-                                       case XK_F3: vtt_class::focus_no(2); break;
-                                       case XK_F4: vtt_class::focus_no(3); break;
-                                       case XK_F5: vtt_class::focus_no(4); break;
-                                       case XK_F6: vtt_class::focus_no(5); break;
-                                       case XK_F7: vtt_class::focus_no(6); break;
-                                       case XK_F8: vtt_class::focus_no(7); break;
-                                       case XK_F9: vtt_class::focus_no(8); break;
-                                       case XK_F10: vtt_class::focus_no(9); break;
-                                       case XK_F11: vtt_class::focus_no(10); break;
-                                       case XK_F12: vtt_class::focus_no(11); break;
-                                       /*
-                                       case XK_f:
-                                       warp=((float) globals.scratch_size)/50000.0;                                            
-                                       */
-                               }
-                       } break;
-                       
-                       case KeyRelease:
-                       {
-                               key=XKeycodeToKeysym (dpy, xkey->keycode, 0);
-                               
-                               switch(key)
-                               {
-                                       case XK_space: vtt->set_scratch(0); break;
-                                       
-                                       case XK_m:
-                                       case XK_Control_L:
-                                       case XK_Control_R:                                              
-                                       vtt->set_mute(0);
-                                       break;
-                                               
-                                       case XK_Alt_L:
-                                       case XK_Alt_R:
-                                       vtt->set_mute(1);
-                                       break;                                  
-                               }
-                       }
-               }
-               else {  puts("no vtt"); return(1); }
-       }
-       return(0);
-}
-
-void tx_mouse :: reset_xinput()
-{
-       
-/*     if (globals.xinput_enable)
-       {
-               input_device=XOpenDevice(dpy, OrgXPointer);
-               XChangePointerDevice(dpy, input_device, 0, 1);
-               XCloseDevice(dpy,input_device); 
-       }*/
-}
diff --git a/src/tX_mouse.h b/src/tX_mouse.h
deleted file mode 100644 (file)
index 24ccd8d..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
-    terminatorX - realtime audio scratching software
-    Copyright (C) 1999  Alexander König
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-    File: tX_mouse.h
-    Description: Header to tX_mouse.cc
-*/    
-
-#ifndef _h_tx_mouse 
-#define _h_tx_mouse
-
-#include <tX_types.h>
-#include <unistd.h>
-#include <X11/Xlib.h>
-#include <X11/extensions/XInput.h>
-#include <X11/extensions/xf86dga.h>
-#include <X11/keysym.h>
-
-class tx_mouse
-{
-       XID OrgXPointer;
-       XDevice *input_device;
-       XEvent xev;
-       long mask;
-       XMotionEvent *xmot;
-       XKeyEvent *xkey;
-       XButtonEvent *xbut;
-       Time otime, ntime;
-       f_prec dtime;
-       Display *dpy;
-       KeySym key;
-       
-       public:
-       
-       int grabbed;
-
-       int set_xinput();
-       void reset_xinput();
-       int grab();
-       int check_event();
-       void ungrab();
-       tx_mouse();
-};
-
-
-#endif
diff --git a/src/tX_smlog.c b/src/tX_smlog.c
deleted file mode 100644 (file)
index 0f403c6..0000000
+++ /dev/null
@@ -1,562 +0,0 @@
-/*
-    terminatorX - realtime audio scratching software
-    Copyright (C) 1999  Alexander König
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-    File: tX_smlog.c
-    Description: Small terminatorX-logo
-*/    
-
-/* XPM */
-static char * tx_smlog_xpm[] = {
-"40 280 256 2",
-"      c None",
-".     c #030304",
-"+     c #908357",
-"@     c #454444",
-"#     c #86461C",
-"$     c #C5C4C2",
-"%     c #646464",
-"&     c #252213",
-"*     c #A9A488",
-"=     c #67431F",
-"-     c #512709",
-";     c #88693E",
-">     c #AD854D",
-",     c #A86828",
-"'     c #343434",
-")     c #695338",
-"!     c #88764C",
-"~     c #78725C",
-"{     c #E6E2C4",
-"]     c #979282",
-"^     c #CEA258",
-"/     c #595242",
-"(     c #3B2412",
-"_     c #220E04",
-":     c #AD925E",
-"<     c #7A633E",
-"[     c #785523",
-"}     c #51371B",
-"|     c #9B8454",
-"1     c #58432A",
-"2     c #B3B299",
-"3     c #966932",
-"4     c #D5D4D0",
-"5     c #7E4417",
-"6     c #633D1A",
-"7     c #987949",
-"8     c #2C2C2B",
-"9     c #49341A",
-"0     c #F4F4EF",
-"a     c #C29249",
-"b     c #B6A26C",
-"c     c #5B391B",
-"d     c #766A34",
-"e     c #9A8A54",
-"f     c #574A2E",
-"g     c #141413",
-"h     c #694C26",
-"i     c #8B6F3D",
-"j     c #695A3F",
-"k     c #3F2C14",
-"l     c #8A581F",
-"m     c #CEB274",
-"n     c #241C0F",
-"o     c #AF9A6F",
-"p     c #785B31",
-"q     c #9E5E1C",
-"r     c #6C6C6C",
-"s     c #E2C26C",
-"t     c #7F7A68",
-"u     c #A59B7A",
-"v     c #433A24",
-"w     c #A87838",
-"x     c #5C5C5C",
-"y     c #88602D",
-"z     c #BE8234",
-"A     c #877962",
-"B     c #8E8B79",
-"C     c #302316",
-"D     c #523E28",
-"E     c #D4C294",
-"F     c #B1AD94",
-"G     c #E3E3E3",
-"H     c #331D0A",
-"I     c #524A39",
-"J     c #472C19",
-"K     c #E2D2A4",
-"L     c #987E53",
-"M     c #C7B59C",
-"N     c #F3E9D3",
-"O     c #716346",
-"P     c #AC8C4F",
-"Q     c #747474",
-"R     c #816440",
-"S     c #594D42",
-"T     c #B77629",
-"U     c #BFBB9F",
-"V     c #976F35",
-"W     c #988B79",
-"X     c #704C24",
-"Y     c #785D40",
-"Z     c #615337",
-"`     c #352B1F",
-" .    c #685D54",
-"..    c #120A04",
-"+.    c #B0A488",
-"@.    c #906836",
-"#.    c #A19474",
-"$.    c #B89456",
-"%.    c #FDFDFA",
-"&.    c #1C1C1A",
-"*.    c #897052",
-"=.    c #2B1D12",
-"-.    c #6F5432",
-";.    c #A38554",
-">.    c #786D56",
-",.    c #3D2C1F",
-"'.    c #70451C",
-").    c #513926",
-"!.    c #604322",
-"~.    c #463D37",
-"{.    c #95612A",
-"].    c #362516",
-"^.    c #4F3012",
-"/.    c #3C3C3C",
-"(.    c #774D24",
-"_.    c #AC9D7F",
-":.    c #89826F",
-"<.    c #4F422B",
-"[.    c #CDCCC9",
-"}.    c #473427",
-"|.    c #C0AC7A",
-"1.    c #A48D65",
-"2.    c #A97E47",
-"3.    c #867E71",
-"4.    c #7F7468",
-"5.    c #8E7E54",
-"6.    c #5C3E1F",
-"7.    c #935922",
-"8.    c #7F5C2F",
-"9.    c #D8B26C",
-"0.    c #E2BE94",
-"a.    c #E3DCCB",
-"b.    c #E2CA98",
-"c.    c #D2CAB4",
-"d.    c #CBAA64",
-"e.    c #C09C5C",
-"f.    c #DDDCD9",
-"g.    c #BA8A4C",
-"h.    c #ECECE9",
-"i.    c #C8BCA6",
-"j.    c #A86F2E",
-"k.    c #0D0C08",
-"l.    c #CABE8C",
-"m.    c #E2BA64",
-"n.    c #89511F",
-"o.    c #2F1607",
-"p.    c #B87E38",
-"q.    c #B0621C",
-"r.    c #CE9644",
-"s.    c #5C300C",
-"t.    c #D6AC60",
-"u.    c #F5EEE1",
-"v.    c #79542E",
-"w.    c #B4B4B4",
-"x.    c #B6A68C",
-"y.    c #9C9C9C",
-"z.    c #E2D6CC",
-"A.    c #AA8A5F",
-"B.    c #966E48",
-"C.    c #B7AB94",
-"D.    c #160E06",
-"E.    c #B89D67",
-"F.    c #F0C478",
-"G.    c #918470",
-"H.    c #D6BA84",
-"I.    c #6F3E17",
-"J.    c #B38446",
-"K.    c #EFE3B4",
-"L.    c #DCD2B4",
-"M.    c #A17841",
-"N.    c #ECDEC0",
-"O.    c #D0BA94",
-"P.    c #A3A3A4",
-"Q.    c #CAA571",
-"R.    c #A2968C",
-"S.    c #251608",
-"T.    c #70655B",
-"U.    c #5F5449",
-"V.    c #CCC6B7",
-"W.    c #90774E",
-"X.    c #807256",
-"Y.    c #442512",
-"Z.    c #FCF4E4",
-"`.    c #EBE5D4",
-" +    c #804D1C",
-".+    c #AF966E",
-"++    c #BF965E",
-"@+    c #866240",
-"#+    c #ACACAC",
-"$+    c #BCBCBB",
-"%+    c #4F321D",
-"&+    c #D4CDC1",
-"*+    c #3C342B",
-"=+    c #7F551C",
-"-+    c #BBB597",
-";+    c #A06829",
-">+    c #C1A46A",
-",+    c #826B40",
-"'+    c #614A2E",
-")+    c #1B150B",
-"!+    c #715B3F",
-"~+    c #AF792F",
-"{+    c #B48C4A",
-"]+    c #604D3E",
-"^+    c #BF792C",
-"/+    c #9F7135",
-"(+    c #6F5D4C",
-"_+    c #8F6F4C",
-":+    c #806B4F",
-"<+    c #C58D41",
-"[+    c #B0702A",
-"}+    c #A69A8C",
-"|+    c #B48E64",
-"1+    c #A17E50",
-"2+    c #AF7E3F",
-"3+    c #917E5F",
-"4+    c #67452E",
-"5+    c #77654E",
-"6+    c #684D36",
-"7+    c #D6C6A8",
-"8+    c #504640",
-"9+    c #A27A5C",
-"0+    c #0B0604",
-"a+    c #242424",
-"b+    c #949494",
-"c+    c #545454",
-"d+    c #998466",
-"e+    c #9C8C6A",
-"f+    c #87592D",
-"g+    c #C9B588",
-"h+    c #7C7C7B",
-"i+    c #8C8C8C",
-"j+    c #4C4C4C",
-"k+    c #848484",
-"l+    c #C9AE77",
-"m+    c #EED6BC",
-"n+    c #6A655F",
-"o+    c #B2935C",
-"p+    c #563716",
-"q+    c #6A3E19",
-"r+    c #92713D",
-"s+    c #726C65",
-"t+    c #4A3B27",
-"u+    c #625D56",
-"v+    c #8E5E24",
-"w+    c #C68434",
-"x+    c #8E7962",
-"y+    c #3A1E07",
-"z+    c #EAD6B0",
-"A+    c #7A746A",
-"B+    c #9E8E74",
-"C+    c #7E5E3C",
-"D+    c #A6966C",
-"E+    c #56310F",
-"F+    c #DACDAC",
-"G+    c #9E7254",
-"                                                                                ",
-"                                                                                ",
-"                                                                                ",
-"        . .                                                                 .   ",
-"    V ].. . . .                                                       ' u+8 .   ",
-"  {+ .H ( & 0+. . . .                                             k./ 4 %.7+g   ",
-"  | r j+a+S.H S.0+. . . .                                     g n W h.G [.o &.  ",
-"  v.% % r c+*+n 6 J &.&.k.0+.                           &.' 3.i.U k+h+r Q #.&.  ",
-"  X r /.@ % % x j++.{ $ b+r ' 0+.                   . C V.L.4 $+s+@ &.g c+D+&.  ",
-"  X n+/.a+&.8 x n+x P.h.%.%.$ *+                . ].< l+[.#+c+' 8 g D.k.x D+&.  ",
-"  X % /.a+&.&.' Q k+Q k+f.%.`.L             k.k 9 ) T.r x 8 a+g &.g g k.c+_.&.  ",
-"  X r ' a+a+&.' Q b+y.i+h+P.B 1.      . )+).} t+c+s+Q c+&.a+8 g a+&.k.g c+u n   ",
-"  (.r /.a+a+a+@ k+k+% c+8+; r+    . ( 1 1 S c+r i+Q c+j+&.8 ' g &.&.k.k.c+* )+  ",
-"  v.n+/.a+8 @ h+r j+).< 8.    k.9 !.]+/ % Q y.y.h+x c+@ &.8 ' g &.g k.g j+* n   ",
-"  (.Q c+x i+w.$+;.,+    . n 9 } <.c+% k+y.y.y.b+r j+j+@ &.' @ &.&.&.k.g j++.S.  ",
-"  v.Q w.4 G %.u.!+  . ` 6.9 @ c+% i+P.y.P.P.P.b+Q c+j+/.g ' @ &.&.g g &.j+* S.  ",
-"  6 B 0 %.{ y./ &.} 9 v I c+% i+y.y.P.y.y.y.y.y.k+x j+' g @ j+&.g g k.&.j++.S.  ",
-"  <+++o i+~.& ) '+v c+x h+b+b+b+y.P.y.P.P.P.P.y.k+x @ ' g /.x 8 k.k.g &.j++.y+  ",
-"      @ u+#.C.x+x x h+y.y.y.b+b+y.P.y.y.y.y.y.y.k+% @ ' g @ x ' g g g a+j+>.    ",
-"    l.z.G B r h+y.b+y.y.P.b+b+b+y.y.P.P.y.P.P.P.i+% @ ' g /.x /.&.g ' @ j+).    ",
-"  J.w.F Q j+' % y.b+y.y.P.y.y.b+y.y.y.P.y.y.y.y.k+% @ ' g /.x ' /.c+s+; V       ",
-"  P s+j+a+a+8 r y.b+y.y.y.y.b+y.y.y.P.y.P.y.P.P.i+x @ ' &.a+@ j+U.; V     0+.   ",
-"  _+% 8 &.&.8 r y.b+y.P.P.P.y.y.y.y.P.y.P.y.y.P.i+c+j+% r % 6+@+v.    & :.d+&.. ",
-"  p r 8 &.&.' h+y.i+b+P.y.y.y.y.y.P.y.P.y.y.P.y.i+i+b+$+f.|+[   . S.p+r+4 L.v . ",
-"  7.r 8 &.&./.k+y.i+b+P.P.y.y.y.y.P.y.y.y.y.k+% h+4 %.N C.1 &.n 6 ; 4.c+% F v . ",
-"  Y % 8 &.a+j+b+i+k+y.y.y.P.b+b+y.y.P.P.i+% c+@ o 0 2 u+y.$ M 7 j j+' &.j+* *+. ",
-"  y % a+g a+c+y.i+h+b+P.y.P.b+b+y.b+r x c+8+C+        L %.%.$ x 8 &.&.&.j+* *+. ",
-"  R % 8 &.a+c+b+k+k+b+y.P.y.b+Q % c+S !+M.        $.F+-+[.w.c+/.j+a+g &.@ * v . ",
-"  ; % a+&.a+c+b+k+h+b+y.y.Q x j+~.!+~+          d.>.c+% x a+&.@ j+a+g &.j+* *+. ",
-"  R % a+&.&.c+y.k+h+Q r x @ }.8.                  9 *+@ r c+' /.@ g g &.@ * v . ",
-"  ; % a+&.a+j+b+c+c+j+@ -.3                           - ` r r j+/.g k.&.j+* v . ",
-"  ; r 8 a+/.r x j+).f+w                                   <+$.] Q % j+&.j+* D   ",
-"  R r % h+b+:.8.@.                                            s J.S % % j+W [   ",
-"  !+i+$ h.Z.9.                                                    J.v.j % S     ",
-"  M G Z.K                       . . . . .                               o+4+    ",
-"                              D.g D.0+. . .                                     ",
-"                            h 8.! x+i ^.. . .                                   ",
-"                        P L j+j+j+/ % +.'.0+.                                   ",
-"                        o r k+i+b+h+x c+e+( .                                   ",
-"                      | % y.y.P.y.b+b+% x v...                                  ",
-"                      !.Q y.y.P.P.b+i+h+c+< S.                                  ",
-"                      L r y.y.y.y.i+k+i+x <.=.                                  ",
-"                      { b+y.P.y.y.i+3.h+r +.                                    ",
-"                      %.0 y.y.y.b+b+k+k+x r+                                    ",
-"                      { %.i+% k+b+b+k+Q |.+                                     ",
-"                        e.o j+j+r r A+) d D.. 0+. . . . . 0+. . . . . . . . .   ",
-"                          ,+! >.G.E.r+).)+n 1 T.].C ` S.( n+/ k H ` ` 8 ` &..   ",
-"                      m.5+(+>.>.:.O *+).6.:+V.G >.f -+] F u.V.t+` j 1+7 B.L D.  ",
-"                      R r Q r r r n+r r r % % r s+u+@ c+c+x x s+Q x j+c+% #.&.  ",
-"                      {.c+b+b+b+b+b+k+h+k+b+y.y.Q 8 b+#+P.r &.8 a+g 8 &.c+#.n   ",
-"                      /+c+i+i+i+k+h+r x Q b+P.b+c+' P.w.y.x &.8 a+&.' 8 j+#.&.  ",
-"                      w j+b+k+h+k+h+r x r i+y.b+/.j+#+#+h+8 &.@ a+&.' 8 j+e+&.  ",
-"                      J.j+b+i+h+h+Q % c+% i+y.i+8 x w.P.c+g ' c+8 &.' ' j+1.&.  ",
-"                      $.j+b+i+k+Q Q % x % i+y.h+8 % #+b+' g j+% 8 g ' ' @ #.&.  ",
-"                      e.j+b+i+i+h+r % x r i+b+r a+h+#+h+a+&.c+r ' g ' ' j+u n   ",
-"                      > j+b+y.b+i+k+k+h+k+b+y.Q a+r b+x &.@ Q k+@ &.a+8 @ +.    ",
-"                      {.j+c+c+c+x x % x x c+x % r @ @ j+r r % % r r x c+@ :+    ",
-"                      f+4+6.y 3 !.} } 6.4+@.f+k 1.4 V.O.D C k }.,.@+>+l.L H     ",
-"                                                  } %+t+                        ",
-"                                            . . . . . . . . . .                 ",
-"                                        . ..=.k ` Y.<.& D.. . . . .             ",
-"                                    D.9 6.; Y v * 2 $ p =.Y.=.D.. . . .         ",
-"                                k+#.W.v / j+c+n+@ j+j+r c+/.t+(.y+n . . .       ",
-"                              A %.4 Q % x Q k+8 i+#+x 8 c+r x j+` k '+0+. .     ",
-"                            ; R $ $+P.b+h+b+x /.P.w.% &.a+/.% r x j+6+; . . .   ",
-"                          T D+h+P.P.y.k+k+i+' r w.#+Q g &.8 /.r Q % Q p -.. .   ",
-"                          H.b+y.b+y.y.k+b+x ' y.w.w.k+a+g 8 /.u+j+8 c+A+y C .   ",
-"                        w 3.b+b+y.y.i+k+i+8 r #+$+w.y.j+g a+/.x @ g a+x u+p . . ",
-"                        R k+i+y.P.y.i+y.x /.P.w.w.$+#+% g a+/.c+@ g &./.% -.)+. ",
-"                      N.$+k+i+y.y.b+b+i+8 Q w.w.w.w.#+Q &.&.' j+/.&.&.a+r ]+1 . ",
-"                      Q.i+k+i+y.i+k+b+x 8 b+w.w.w.w.#+% &.a+/.x j+8 &.&.j+s+;.  ",
-"                      X x % % c+c+c+% % j+c+c+x x c+j+j+x r r r r % x x j+% a   ",
-"                      !.} }.'+W.#.O }.u o *.Y !+< :+e+F :+*+C C ].*+*.d+d+-.H   ",
-"                            _ )+)+_ n n )+D.D.D...D._ )+C =.n &.&.=.C ].=.S.. . ",
-"                          n ..0+..)+D.0+....0+..0+....k.g g g g g g )+)+)+)+. . ",
-"                      F. .p+Y W.!.f * d+R p -.6+-.!+*._.d+D ).).` 9 *.W.X D Z . ",
-"                      5.s+% c+x % x c+c+c+c+c+c+c+x c+j+c+r % n+r r % x n+3.;   ",
-"                      c x i+b+k+*+c+y.#+#+w.#+#+#+#+#+b+/.g &.&.a+&.&.&.c+3.!.  ",
-"                      =+j+k+b+% a+b+w.w.#+#+#+#+#+#+w.#+x g g g g g &.&.j+5+k   ",
-"                      q.U.r k+/.@ #+w.#+#+#+#+#+P.#+w.w.Q 8 &.&.g g &.&.j+C+    ",
-"                        3 c+h+a+r w.w.w.#+#+P.#+#+#+w.w.b+j+' &.k.g &.8 T.v+    ",
-"                        , u+% ' i+w.#+#+#+#+#+P.P.#+#+$+P.Q j+8 g k.g j+++      ",
-"                          p.j+c+h+w.#+#+#+P.#+#+P.#+#+w.w.i+% 8 g g g n         ",
-"                            Y.h+r h+#+#+#+#+#+#+#+#+#+w.w.y.Q ' a+% !+_         ",
-"                              m+h.k+c+h+y.#+#+P.#+#+#+w.w.P.% @ j+; v.          ",
-"                              u+M l.t c+j+c+r h+k+k+k+Q r j+@ }.;               ",
-"                            . . g     2.{+! O c+c+c+/ '+~.1 C+                  ",
-"                        j.=+W.k .             ~+~+/+7.                          ",
-"                      $.r % y.I..                                               ",
-"          . . . . . ..[ r c+r I.. . . . . . . . . . . . . . . . . . . . . . .   ",
-"          )+k.k.k.k.)+@+% ' n+'...k.....k...k.....k...k.....& ` g k.k.k.... .   ",
-"    6 5.3 ( ].} 6 6.'+u j+8 % b 8.-.v.X (.X X X (.X v.v.v.i M 0 W.( k C %+C+..  ",
-"    w+n+x % c+j+j+j+/ k+8 &.j+j+@ @ @ @ @ @ @ @ @ @ @ @ @ j+% i+h+x j+c+% ,+&.  ",
-"      !.j+n+Q h+i+b+b+k+' j+b+P.P.P.P.P.P.P.P.#+P.P.P.P.P.P.P.h+' j+h+Q r e+n   ",
-"        =.~.% k+k+y.y.i+8 % w.#+#+#+P.P.P.P.P.P.P.P.#+#+#+#+w.#+j+a+x c+r e+&.  ",
-"          o./.x b+y.y.b+a+Q w.#+#+P.P.P.P.P.P.P.P.P.P.#+P.#+w.w.x &.x x r e n   ",
-"            %+c+Q k+y.b+8 h+w.#+#+P.P.P.P.P.P.P.P.P.P.#+#+#+w.w.% &.c+x r + &.  ",
-"              z+G y.k+y./.i+$+#+P.#+P.P.P.P.P.P.P.P.P.P.#+#+#+w.r &.x x r x+n   ",
-"              f.%.4 k+i+c+i+[.w.w.#+P.P.P.P.P.P.P.P.P.P.#+#+w.w.Q &.c+% r x+n   ",
-"                a.0 $+P.h+$ 0 $ f.#+2 #+#+#+#+#+#+#+#+#+#+w.w.w.r &.x % r L     ",
-"                  N.%.0 $+4 %.0 $ #+i+Q Q Q Q Q Q Q Q Q Q Q r % j+c+% % r 4.    ",
-"                    0 %.%.h.%.%.0 }+5+) ]+]+Z ]+]+) ) !+(+O >.3.* c+8+<.s+,+    ",
-"                    w.u.N %.%.%.u.|.: W.                        ++              ",
-"                      b+u.%.%.%.4                                               ",
-"                          Z.%.%.$   8 k.. . . . . . . . . . . . . . . . . . .   ",
-"                            0 0 i+a+. . . . . . . . . . . . . . . . . . . . .   ",
-"                              W *.4+4+6 6 6 = 4+X -.C+@+i A W.5.5.k Y.^.].k k.  ",
-"                            i.m s+@ j+8+j+j+j+j+j+j+j+j+c+x c+x r % c+j+@ *+&.  ",
-"                          %.0 $+#+y.y.y.y.y.b+y.y.b+b+b+i+k+h+Q /.@ Q k+% I &.  ",
-"                        4 0 %.G #+#+P.P.P.P.#+#+w.w.w.w.w.w.w.#+% &.x Q r ) &.  ",
-"                        {+w.h.$ #+P.P.P.#+#+#+#+w.w.w.w.w.w.w.#+r g @ x r R &.  ",
-"                        g+b+$+#+P.P.P.P.P.P.P.#+w.w.#+w.w.w.w.w.Q &.8 @ r x+n   ",
-"                        (+y.#+P.P.P.P.P.P.#+#+#+w.w.w.w.w.w.w.w.h+a+&.a+r e n   ",
-"                      v+/ #+P.P.P.P.P.P.P.#+#+#+w.w.w.w.w.w.w.w.k+a+g g x #.n   ",
-"                      X c+#+#+P.P.#+P.#+#+#+w.w.w.w.w.w.w.#+#+#+h+a+g k.c++.    ",
-"                      '.j+#+#+b+h+Q Q r r r r % % % % r % x % x j+j+c+j+j+*.    ",
-"                      7.@ i+% @ !.f f ) !+O 4.:.] w.w.B B #+$ P.$+A T.d+W }.    ",
-"                      q.c+s+{+1 ,.Y.( o.C ( k c   ! Y %+} p + !.Z f 1 / 1 _ .   ",
-"                        < P :+-.} ) < q+S.. . 0+    &.~.@ S j+` g g D.g k.... . ",
-"                        O.N >+~ j+j+S r P !.. 9 Y A.>+Z.0 %.%.0 &+7 7 D+P e 9 . ",
-"                        %.%.V.P.y.b+h+x c+_.^.!.c+Q Q Q r h+Q x x % n+% n+b+l . ",
-"                        O.`.f.w.P.P.P.P.x x (.6+r r 8 x h+% r Q @ a+a+' @ h+7.. ",
-"                        E.P.w.P.P.P.P.P.y.j+).]+r k+a+% i+r Q h+c+8 /.j+/.h+-.. ",
-"                        ~.k+#+P.y.y.P.P.#+r } < r Q ' % i+x c+x ' a+' @ /.s+}   ",
-"                        v.r #+P.P.P.P.$+w.i+T.O s+r ' c+k+@ a+8 &.a+' /.@ I 9   ",
-"                        ~+j+i+P.P.y.P.$+G [.F+|+:+r @ c+h+8 g k.g g ' ' j+1     ",
-"                        [+>.c+k+#+#+$ G %.%.0 Q.7 x c+@ Q a+&.a+g g a+a+Q @.    ",
-"                          <+>.j+x Q h+#+0 %.0   ++a+x @ x a+&.8 a+k.&.g D       ",
-"                            [+2.Y U./ d+N f.k+    [ 8 r j+/./.j+c+j+x :+o.      ",
-"                                                    c @+] Q r r % i+-.=+        ",
-"                                        k.g k.0+. . k.D + $._+; B.d }.. . .     ",
-"                                  . . . . . . . . . . . . k.0+..D.. . . . . .   ",
-"                              H 9 k %+6 X X X X 8.+.D+; ! r+p } Y.- 6.h 8.O 0+  ",
-"                          [.g+1.~.@ 8+j+j+j+S j+j+r Q Q Q Q r u+c+x u+r Q ] g   ",
-"                        h.%.0 #+b+] i+b+b+b+b+b+b+i+% /.' 8 ' /.c+j+' ' c+u g   ",
-"                        %.%.%.4 #+#+#+#+w.w.w.#+#+w.#+j+g g k.g &.g & /.@ ] )+  ",
-"                        a.%.h.4 w.#+#+#+w.w.$+w.#+#+w.x g g k.g g g ' x @ B )+  ",
-"                      Q.R.$ &+#+#+#+#+w.w.y.y.w.#+#+w.Q g a+g g &.g @ r @ + g   ",
-"                      @.~ w.w.P.#+#+w.w.#+Q % P.w.#+w.i+&.8 a+g g g /.Q @ A g   ",
-"                      = x #+P.P.#+#+w.w.P./.a+r w.w.w.#+' &.8 a+a+g ' Q j+X.)+  ",
-"                      p+x #+#+#+#+#+w.w.y.a+& 8 b+w.#+w.% g 8 8 8 &.8 h+j+>.n   ",
-"                      6 j+k+i+i+i+i+i+k+% @ % j+c+k+i+k+x /.% % x j+/.x c+Z     ",
-"                      3 x c+c+j+c+c+x c+r % j+j+r % c+j+% Q c+j+j+c+Q Q c+O     ",
-"                        z M.8.y y i ; y | !+c } ; | 8.8.W.| 6.,.,.c ; 1.(.8.    ",
-"                            0+. . . 0+. . 0+0+0+. 0+. . 0+. . 0+0+0+0+. . 0+.   ",
-"                        l < p O ,+e+#.< ,+5.6.} ,+| [ '.[ e i D ^.D < 1.X.'+0+  ",
-"                      E.x % % r A+k+:.Q r A+x / r h+% U.% h+~ c+j+S s+h+t u D.  ",
-"                      l x A+r x /././.u+r j+/.@ /.@ r h+Q x /.j+c+c+/.@ j+4.)+  ",
-"                      l j+P.#+k+j+' x P.w.h+a+D.&.x #+w.w.y.@ g g &.&.r j+:+g   ",
-"                      n.@ b+k+x 8 a+x P.#+h+8 k.g @ P.w.w.#+j+g g g &.% j+O )+  ",
-"                      n.@ r c+8 &.&.c+P.P.% a+k.g 8 b+w.w.P.j+g g &.&.x j+O g   ",
-"                      {.@ @ ' g g g c+b+y.c+&.k.k.a+k+w.w.P.@ g g g g % j+Y )+  ",
-"                      /+j+a+&.k.g g @ k+h+/.&.g k.&.h+w.$+y.' g &.&.g c+j+j )+  ",
-"                      : j+g k.k.k.k.8 % x a+g k.g g r w.w.k+8 k.&.8 g @ 8+(+n   ",
-"                      F+Q @ @ /./././././.' ' /.@ ' @ Q h+j+/.@ c+x j+/.j+f     ",
-"                      %.$+r x x x x x % r % r x x % h+y.b+Q % c+c+j+c+Q c+>.    ",
-"                      7+Q.3  +(. +6.!.v+@.y v+f+=+l P [.V..+f+q+1 ).'.;.; e     ",
-"            . . .           . 0+. . 0+. 0+0+0+. . . 0+g g 0+. 0+. 0+. . . . .   ",
-"        0+g k.. . .         0+0+0+. 0+0+. 0+0+0+0+0+k.. . 0+. 0+. 0+0+0+. . . . ",
-"      ; ,+(.6 k D.. . D.w -.C =.=.n n C k C C C ].].=.=.=.=.& =.n n n 9 ,+! )+. ",
-"    8.t r n+c+n k n . [ x % x x x c+x % % x x x % % % x c+c+c+c+c+c+c+% Q _.- . ",
-"  ^ Q r c+@ % x ~.c ..X r c+x % x x 8+/.j+% r % j+/././ r Q h+Q r r s+x u++.s.. ",
-"g. .% j+/.a+' Q j+6+].- % c+/.j+/.8 g g 8 j+c+j+8 g g &./.c+% x j+@ c+j+n+F 6.. ",
-"{+r % j+j+/.j+k+% c+E+- x x c+x @ &.&.&.' c+% x ' &.k.k.&./.c+c+@ j+x r Q &+i+g ",
-"X % r c+j+j+x i+r r C+c % % r h+c+a+g a+j+% r x /.&.g k.g a+/.@ @ j+% h+h+$+W k.",
-"J % Q c+c+j+% i+3.y.a._+% Q h+b+% a+&.8 j+Q Q x /.&.k.g k.g a+' @ c+% k+r s+I . ",
-"I.j+Q x j+j+% b+h+w.c.5+c+k+i+y.Q a+&.' c+Q Q x /.a+k.g k.k.g &.' c+% Q r 8+D   ",
-"  1 % Q c+j+x i+r `.: Y c+i+y.y.Q ' a+/.% h+h+r j+8 g k.g k.g &.8 @ c+r r D (.  ",
-"  5 @ % r r Q h+r [+  q j+r % % r % x r Q Q Q Q r r x c+j+j+j+c+x r Q r r s+    ",
-"    # ~.j+c+u+A+;+      ~ A+B A+@ /.~./.~.<.@ *+/.' ~.@ x  .n+ .c+@ /.v T.P     ",
-"      l p+4+7 g.                                                                ",
-"                                            . . . . . . . . . . . . . . .       ",
-"                                  . . . . . . . . . . . . . . . . . . . . . .   ",
-"                              S.*+) p+=.=.=.n =.=.n n n =.C ].( ( C C =.=.].0+  ",
-"                            +.7+#.! c+j+S j+j+j+8+8+j+8+j+j+c+c+j+j+j+j+@ ` &.  ",
-"                          I.] Q /.8+j+% r n+x c+x % % % % % u+x % u+x % % I n   ",
-"                        G+G.% 8 c+j+g ' x @ 8 &.&.8 /./././.8 8 8 a+a+8 r S &.  ",
-"                        `.i+8 j+i+% a+' x @ 8 a+a+8 ' @ j+@ /.' /.' a+' r / &.  ",
-"                      M.n+Q a+Q y.Q &./.x c+j+j+@ ' ' @ j+j+@ @ @ /.' ' r S &.  ",
-"                      [+j+u+8 k+P.r &./.% Q k+k+% @ /./.@ j+j+j+j+@ ' @ ~ S &.  ",
-"                      D+c+@ /.k+i+x g @ r b+y.y.k+j+/./.@ j+j+c+x @ /.@ r 8+&.  ",
-"                      o+c+' j+r r /.g @ Q b+y.y.i+x /./.j+@ c+x x j+/./.Q I C   ",
-"                      r+c+j+/.@ @ @ j+r Q r x x r r % % r r % r r r % % % t     ",
-"                       +j+r Q r r % c+j+c+x r Q % j+j+j+j+j+j+j+j+j+j+j+x !     ",
-"                        M.| W.8.y y 6.].J c R X.[ J ].].].` ].k ].` ].` Z h     ",
-"                            . . . . . . . . . . . . . . . . . . . . . . . . .   ",
-"                        =+:+h p+) !+6.n =.( 6.j '+J =.n =.n n =.=.n =.=.=.C 0+  ",
-"                      v+/ Q % x s+Q u+j+S / r h+s+x j+j+j+8+8+j+j+8+j+j+j+` &.  ",
-"                      l j+@ @ j+@ @ j+r r r r % n+r s+% % x % % r % % u+% S &.  ",
-"                      > @ @ &.&.j+' &.j+r r i+y.y.i+Q j+a+&.8 /.j+/.a+& r  .n   ",
-"                      > @ 8 &.&.' & 8 c+% % h+b+y.b+k+x 8 &.a+' @ /.a+&.% 5+&.  ",
-"                      : @ &.k.g a+g ' % % x Q b+b+b+k+% ' a+a+' @ ' a+g % ! &.  ",
-"                      E.j+g k.k.k.&.@ % x c+r b+b+i+i+h+@ 8 a+' /.8 &.g x 3+&.  ",
-"                      |.c+g g k.g a+c+Q x j+r i+i+k+i+k+x ' 8 8 ' 8 g k.x B+n   ",
-"                      z+r a+g k.k.8 x h+% c+r b+i+k+i+b+h+j+' 8 ' 8 g k.c+u C   ",
-"                      F.r x c+@ j+x r Q Q r Q Q Q Q Q Q Q r x % x c+c+@ j+x+    ",
-"                      r./.@ % 4.T.j+8+S 8+@ 8+x U.I U.% % S @ @ j+j+x ~ s+1     ",
-"                        ;+5 p W.< !.^.} J ^.E+c c %+p+X X %+s.c D !.-.; f+H .   ",
-"                            0+. 0+0+0+..0+k.0+....k.0+0+k.k.k.0+0+. 0+. . . .   ",
-"                        M.6 ; | h ^.J } } %+6.'.p+J c p ,+6 J } <.) y 7 r+,+0+  ",
-"                      j.x j+r Q U.j+8+j+j+j+S x S j+j+u+r / @ j+c+x n+s+s+,+&.  ",
-"                      W.n+n+/.' j+% Q h+t h+h+Q h+Q A+Q r h+r u+c+j+/./.x #.n   ",
-"                      5 c+@ /./.g 8 j+r r r k+i+Q x % i+y.k+/.&.&.g k.g c+e+&.  ",
-"                       +x /.@ /.g 8 @ % r r h+h+Q x x h+b+h+@ &.&.a+g k.c+#.n   ",
-"                      n.c+/.j+' g 8 @ x r % h+h+r x c+Q b+k+j+& &.a+&.k.c+#.&.  ",
-"                      {.x ' j+8 &.' j+% % r Q h+r c+j+x i+i+x a+&.a+&.g c+D+n   ",
-"                      {.x 8 c+a+a+j+% r % r Q Q % c+@ j+k+b+r 8 g &.&.g c+u n   ",
-"                      =+x ' j+&.8 c+r Q r Q h+Q % j+' @ Q b+Q 8 g &.g k.c+_.(   ",
-"                      6 x j+@ @ x % r r r Q Q r r % x % r Q Q x j+j+j+@ j+3.    ",
-"                      '.@ Q Q x c+j+j+j+j+j+j+j+j+j+j+j+j+c+c+j+c+% x % x f     ",
-"                        M.b E.;+6+1 D 1 6+Y R R :+,+; i R r+w ; T J.^+w+<+      ",
-"                                  . . .                                         ",
-"                              . &.g 0+. . .                                     ",
-"                            8.< H C H S.0+. .                                   ",
-"                          1+ .r x c+' }.( . .                                   ",
-"                        8.@ 8 /.n+r % @ ).( .                                   ",
-"                      w c+i+' a+j+j+r r /.9 0+                                  ",
-"                      h r i+' a+j+x x Q j+}.&.                                  ",
-"                      i.Q i+' a+j+x r h+% }.n                                   ",
-"                      %.$ r 8 8 j+% r h+Q +                                     ",
-"                      %.4 x &.8 j+x r Q x 7                                     ",
-"                      |.0 k+c+x x r h+k+: /+                                    ",
-"                        g+h.b+r r r r -.;+0+. . . . . . . . . . . . . . . . .   ",
-"                          A.W.e+#._+3 Z )+D.D.D.g g g g D.D...0+0+0+..g g D..   ",
-"                      t.!+>.-.@+e+O t+C ].,.,.C =.n =.n C ].}.-.i *.'+C n } g   ",
-"                      {.j+j+x r r r r % % % % % % r % r r r n+u+c+c+x % % 8+&.  ",
-"                      1+@ /.&.' j+c+x r h+k+h+r % n+% % r % % k+b+y.b+A+r O &.  ",
-"                      E.@ ' g a+' /.@ c+r Q r c+j+c+c+x c+@ @ % b+y.b+r r *.&.  ",
-"                      E.@ 8 g &.' @ @ x Q Q x j+j+j+j+x x @ /.j+k+y.i+% r d+&.  ",
-"                      >+j+a+g &.' @ c+r k+Q x @ @ @ j+c+x j+' /.Q b+i+x r e+n   ",
-"                      d.j+a+g a+' @ x Q i+Q c+/.j+@ @ c+% x /.8 c+k+k+x r d+&.  ",
-"                      0.x &.g a+' j+% h+k+Q j+@ j+j+j+x Q r /.a+/.r h+x r :+n   ",
-"                      Z.i+&.g ' j+x Q k+i+k+% x % % % Q h+h+j+8 /.r k+r r >.    ",
-"                      Z.y.x r r r r r % % % r % r r r % % % r r r r % % x t     ",
-"                      N 7+7 D ].C C ,.} 6+6.,.].C C ` }.).,.].).,.].6.,.5+^     ",
-"                                                                                ",
-"                                          . . . . .               . .           ",
-"                                      . ..)+g g D..               . . .         ",
-"                                  n D } %+(.v.p } &.      K.e.t.1 ^.)+. .       ",
-"                                * E.j j+j+c+c+j+*+8       L.0 #+r U.7.D.. .     ",
-"                              = ] r Q i+b+y.y.% & a+        M >.n+c+5+'....     ",
-"                          c .+n+x c+r k+y.P.y.r ].8           (.v.r x R ( . .   ",
-"                          6.j+' ' @ r i+y.P.y.% a+C             T A+r c+).C .   ",
-"                        e.Q 8 8 ' @ r i+P.y.y.r C 8               { $ k+*+J . . ",
-"                        D x ' 8 ' @ % i+P.P.y.r & 8               a.%.$ c+k )+. ",
-"                      <+t /.' ' ' @ r k+y.y.P.r ,.*+              F %.$+r =.k . ",
-"                      l+h+% % % % r Q h+Q % Q r :+                  F+P.% 8 c . ",
-"                      J.@ j+@ @ @ @ @ j+u+r u+% L                     e+c+@ D . ",
-"                        8.= c p+E+s.s.p+(.< [ ) [ 0+. . . . . . . . o.i r j+v . ",
-"                            . 0+0+. . 0+. 0+. 0+0+. . . . . . . . . k j h+c+<.. ",
-"                        #.1 =.n =.=.C k 6.p h p+( C J 6 h h 6 s.h 4+< k+i+c+-.0+",
-"                      q x u+c+c+c+c+j+j+c+c+c+j+j+j+j+j+c+c+j+j+c+c+U.y.b+r !   ",
-"                      <+% % x x % r Q Q k+k+k+k+k+h+h+k+k+k+k+Q Q k+i+y.3.B p   ",
-"                      ~+@ n+' ' ' /.j+x k+y.y.b+h+s+r h+b+b+h+c+c+k+P.y.% e+6.  ",
-"                        =.r c+' ' /.j+x k+y.y.i+h+r % h+b+b+h+j+j+h+P.y.@ @+    ",
-"                        k @ % /.' /.j+% k+y.b+i+Q % x r i+i+r j+j+h+y.Q ` /+    ",
-"                          ( x % @ @ c+Q i+y.b+h+% j+@ % k+h+% j+c+k+y.s+$.      ",
-"                            ].c+% % x Q i+y.y.h+x /./.% h+Q x c+x k+x m         ",
-"                            6 k @ x Q k+b+y.b+Q c+' ' % k+Q % r Q j+c           ",
-"                                ( ,.j+x r h+i+h+x ' ' r i+h+h+y.F /+            ",
-"                            . . n ^.6 6+c+x c+% r r r % x c+x.u.b.              ",
-"                            0+. .       j.> R }.*+` *+%+) V                     ",
-"                      [+P !.} 1 .                                               ",
-"                      1+x x 8 1 .                                               ",
-"          . . . . . 0+i r % j+1 . . . . . . . . . . . . . . . . . . . . . . .   ",
-"          *+8 ` 8 ` 1 7 r % c+9 ( ( y+y+o.)+)+S.=.n )+)+)+)+S.n )+)+)+)+)+)+.   ",
-"    9.7 ;.> o+.+; k B+1.j+x c+=.S.=.n =.C c !.J ].} 6+f+f+4+k J !.@.+.F o '+)+  ",
-"    r+ .x / x x % Q r h+@ c+r s+Q r s+r r % x % % x x c+x x % r x x j+j+j+t+S.  ",
-"      H 8+x 8 & g @ Q r @ ' @ @ @ j+x % r i+b+b+i+y.y.b+b+i+h+k+i+b+b+k+c+,.S.  ",
-"        p+% % 8 g 8 r % /.' 8 8 ' ' j+c+% k+i+i+b+b+b+i+k+k+Q Q h+b+y.y.x ` S.  ",
-"          ;+s+x 8 8 x % /.8 8 8 ' ' j+% Q i+b+i+b+P.b+i+k+k+Q h+k+b+y.P.x ` S.  ",
-"            ^+A+% j+j+c+/.' ' 8 8 ' j+% h+b+b+i+b+y.y.k+k+k+h+h+i+b+y.y.% ( o.  ",
-"              , % % % j+/.' ' ' ' /.c+r h+i+b+i+y.y.y.k+h+k+h+h+k+b+b+b+r ,.S.  ",
-"                6 /.% r @ ' 8 ' 8 /.j+% h+i+b+i+b+P.y.k+k+h+h+r h+k+k+i+% }.o.  ",
-"                  q+u+% r /.' ' @ j+x r k+i+y.b+b+y.y.b+i+i+k+h+h+i+i+k+r t+    ",
-"                    N % % x /.r r Q Q Q r r % % % c+c+x % % % r r r r r % O     ",
-"                      ^ 8+% c+3+D =.].,.,.p+'.v.R #.+.e+,+v.(.= c c }.,.Y E.    ",
-"                         +j+Q /+                                                ",
-"                          D h+e.                                                ",
-"                            J.                                                  "};
diff --git a/src/tX_tape.cc b/src/tX_tape.cc
deleted file mode 100644 (file)
index 4aa0903..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-    terminatorX - realtime audio scratching software
-    Copyright (C) 1999  Alexander König
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-    File: tX_tape.cc
-    Description: This implements a "harddisk recording tapedeck" - simply dumps
-                the generated audio into a plain mono wav-file.
-*/    
-
-#include "tX_tape.h"
-
-tx_tapedeck :: tx_tapedeck()
-{
-       is_recording=0;
-       written_bytes=0;
-}
-
-int tx_tapedeck :: start_record (char *name, int bs)
-{
-       if (is_recording) return 1;
-               
-       strcpy(file.name, name);
-       file.srate=44100;
-       file.chans=1;
-       file.depth=16;
-       file.bps=88200;
-       file.blkalign=2;
-       file.len=0;
-       file.sofar=0;
-
-       blocksize=bs;
-
-       written_bytes=0;        
-
-       if (!open_wav_rec(&file)) 
-       {
-               return 1;
-       }
-       
-       is_recording=1;
-       
-       return 0;
-}
-
-void tx_tapedeck :: eat(int16_t *buffer)
-{
-       written_bytes+=fwrite((void *) buffer, blocksize, 1, file.handle);
-}
-
-void tx_tapedeck :: stop_record()
-{
-       if (!is_recording) return;
-       
-       written_bytes*=blocksize;
-       
-       file.len=written_bytes;
-       file.sofar=written_bytes;
-
-       rewrite_head(&file);
-       fclose(file.handle);
-       
-       is_recording=0;
-}
diff --git a/src/tX_tape.h b/src/tX_tape.h
deleted file mode 100644 (file)
index 96eb991..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-    terminatorX - realtime audio scratching software
-    Copyright (C) 1999  Alexander König
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-    File: tX_tape.h
-    Description: Header to tX_tape.cc
-*/    
-
-#ifndef _h_tx_tapedeck_
-#define _h_tx_tapedeck_ 1
-
-#include "wav_file.h"
-#include "tX_types.h"
-
-class tx_tapedeck
-{
-       wav_sig file;
-       int is_recording;
-       unsigned int written_bytes;
-       int blocksize;
-       
-       public:
-       int start_record(char *, int);
-       void stop_record();
-       void eat(int16_t *);
-       
-       tx_tapedeck();
-};
-
-#endif
diff --git a/src/tX_types.h b/src/tX_types.h
deleted file mode 100644 (file)
index 0cf70a8..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
-    terminatorX - realtime audio scratching software
-    Copyright (C) 1999  Alexander König
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-    File: tX_types.h
-    Description: Use correct type sizes. If <sys/types.h> is not
-                 available define USE_X86_TYPES on i386 machines
-*/    
-
-#ifndef _H_TX_TYPES
-#define _H_TX_TYPES
-
-#define f_prec float
-#define d_prec double
-
-#ifndef USE_X86_TYPES
-
-#include <sys/types.h>
-
-#else
-
-#define int8_t char
-#define int16_t short
-#define int32_t long
-
-#endif
-
-#endif
diff --git a/src/tX_vtt.cc b/src/tX_vtt.cc
deleted file mode 100644 (file)
index 39ec999..0000000
+++ /dev/null
@@ -1,1170 +0,0 @@
-/*
-    terminatorX - realtime audio scratching software
-    Copyright (C) 1999  Alexander König
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-    File: tX_vtt.cc
-    Description: This implements the new virtual turntable class. It replaces
-                the old turntable.c from terminatorX 3.2 and earlier. The lowpass
-                filter is based on some sample code by Paul Kellett
-                <paul.kellett@maxim.abel.co.uk>
-*/    
-   
-#include "tX_vtt.h"
-#include "tX_global.h"
-#include <stdio.h>
-#include "malloc.h"
-#include <math.h>
-#include "tX_wavfunc.h"
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#ifdef USE_3DNOW
-#include "3dnow.h"
-#endif
-
-extern void build_vtt_gui(vtt_class *);
-extern void gui_set_name(vtt_class *vtt, char *newname);
-extern void gui_set_filename(vtt_class *vtt, char *newname);
-extern void delete_gui(vtt_class *vtt);
-extern void gui_update_display(vtt_class *vtt);
-extern void gui_clear_master_button(vtt_class *vtt);
-extern void cleanup_vtt(vtt_class *vtt);
-
-int vtt_class::vtt_amount=0;
-list <vtt_class *> vtt_class::main_list;
-list <vtt_class *> vtt_class::render_list;
-int16_t* vtt_class::mix_out_buffer=NULL;
-f_prec * vtt_class::mix_buffer=NULL;
-int vtt_class::samples_in_mix_buffer=0;
-pthread_mutex_t vtt_class::render_lock=PTHREAD_MUTEX_INITIALIZER;
-pthread_mutex_t vtt_class::main_lock=PTHREAD_MUTEX_INITIALIZER;
-f_prec vtt_class::master_volume=1.0;
-f_prec vtt_class::res_master_volume=1.0;
-//f_prec vtt_class::saturate_fac=((f_prec) SAMPLE_MAX-SAMPLE_BORDER)*1.0/FLT_MAX;
-f_prec vtt_class::saturate_fac=0.1;
-int vtt_class::do_saturate=0;
-vtt_class * vtt_class::sync_master=NULL;
-int vtt_class::master_triggered=0;
-int vtt_class::master_triggered_at=0;
-vtt_class * vtt_class::focused_vtt=NULL;
-f_prec vtt_class::mix_max=0;
-f_prec vtt_class::vol_channel_adjust=1.0;
-
-#define GAIN_AUTO_ADJUST 0.8
-
-vtt_class :: vtt_class (int do_create_gui)
-{
-       vtt_amount++;
-       sprintf (name, "Turntable %i", vtt_amount);
-       strcpy(filename, "NONE");
-       buffer=NULL;
-       samples_in_buffer=0;
-       
-       set_volume(1);
-       set_pitch(1);
-       
-       autotrigger=1;
-       loop=1;
-       
-       is_playing=0;
-       is_sync_master=0;
-       is_sync_client=0;
-       sync_cycles=0,
-       sync_countdown=0;
-       
-       x_control=CONTROL_SCRATCH;
-       y_control=CONTROL_CUTOFF;
-       
-       lp_enable=0;
-       lp_reso=0.8;
-       lp_freq=0.3;
-       lp_gain=1;
-       lp_setup(lp_gain, lp_reso, lp_freq);
-       
-       ec_enable=0;
-       ec_length=0.5;
-       ec_feedback=0.3;
-       ec_clear_buffer();
-       ec_set_length(0.5);
-       
-//     pthread_mutex_lock(&main_lock);
-       main_list.push_back(this);
-//     pthread_mutex_unlock(&main_lock);
-       
-       if (do_create_gui)
-       {       
-               build_vtt_gui(this);
-       }
-       else have_gui=0;
-               
-       set_master_volume(globals.volume);
-       set_output_buffer_size(samples_in_mix_buffer);
-}
-
-vtt_class :: ~vtt_class()
-{
-       stop();
-//     pthread_mutex_lock(&main_lock);
-       main_list.remove(this);
-//     pthread_mutex_unlock(&main_lock);
-       if (buffer) free(buffer);
-       if (output_buffer) free(output_buffer);
-       
-       delete_gui(this);
-       vtt_amount--;
-}
-
-void vtt_class :: set_name(char *newname)
-{
-       strcpy(name, newname);
-       gui_set_name(this, name);       
-}
-
-void vtt_class :: set_file_data(char *newfilename, int16_t *newbuffer, int samples)
-{
-       if (is_playing) stop();
-       
-       if (buffer) free(buffer);
-       buffer=newbuffer;
-       samples_in_buffer=samples;
-       maxpos=samples;
-       
-       strcpy(filename, newfilename);
-       if (have_gui)
-       {
-               gui_set_filename(this, newfilename);
-               gui_update_display(this);
-       }
-       ec_set_length(ec_length);
-}
-
-int vtt_class :: set_output_buffer_size(int newsize)
-{
-       if (output_buffer) free(output_buffer);
-       output_buffer = (float *) malloc (sizeof(float)*newsize);
-       end_of_outputbuffer = output_buffer + newsize; //size_t(sizeof(float)*(newsize));
-       
-       samples_in_outputbuffer=newsize;
-       inv_samples_in_outputbuffer=1.0/samples_in_outputbuffer;
-       
-       if (output_buffer) return(0);   
-       else return(0);
-}
-
-void vtt_class :: set_volume(f_prec newvol)
-{
-       rel_volume=newvol;
-       res_volume=rel_volume*res_master_volume;
-}
-
-void vtt_class :: recalc_volume()
-{
-       res_volume=rel_volume*res_master_volume;
-}
-
-void vtt_class :: set_pitch(f_prec newpitch)
-{
-       rel_pitch=newpitch;
-//     res_pitch=fabs(globals.pitch)*rel_pitch;
-       res_pitch=globals.pitch*rel_pitch;
-       speed=res_pitch;
-       ec_set_length(ec_length);
-}
-
-void vtt_class :: recalc_pitch()
-{
-//     res_pitch=fabs(globals.pitch)*rel_pitch;
-       res_pitch=globals.pitch*rel_pitch;
-       speed=res_pitch;
-       ec_set_length(ec_length);
-}
-
-void vtt_class :: set_autotrigger(int newstate)
-{
-       autotrigger=newstate;
-}
-
-void vtt_class :: set_loop(int newstate)
-{
-       loop=newstate;
-}
-
-void vtt_class :: set_controls (int x, int y)
-{
-       x_control=x;
-       y_control=y;
-}
-
-void vtt_class :: set_mute(int newstate)
-{
-       mute=newstate;
-}
-
-void vtt_class :: lp_set_enable (int newstate)
-{
-       lp_enable=newstate;
-}
-
-void vtt_class :: lp_set_gain (f_prec gain)
-{
-       lp_gain=gain;
-       lp_resgain=lp_gain*lp_au