From abc3fd29355752e763456c39f553edac4581d41e Mon Sep 17 00:00:00 2001
From: Jonathan Wilkes <jon.w.wilkes@gmail.com>
Date: Sat, 25 Mar 2017 20:38:24 -0400
Subject: [PATCH] repo cleanup: remove tcl/tk build infrastructure and scripts,
 old patches, automated build scripts for pd-extended, old gui plugins, and
 unnecessary install-time dependencies

---
 abstractions/Makefile                         |   27 -
 doc/Makefile                                  |   26 -
 externals/Makefile                            |    3 -
 packages/Makefile                             |  179 --
 packages/linux_make/Makefile                  |    1 -
 packages/linux_make/debian/control            |    4 +-
 packages/linux_make/debian/control.desktop    |    4 +-
 packages/linux_make/debian/control.raspbian   |    4 +-
 packages/linux_make/debian/control.ubuntu     |    4 +-
 packages/patches/add_string_support.patch     |  444 ---
 .../arrow_keys_update_scrollbars-0.40.3.patch |   24 -
 .../patches/closeinitbang-0.40-0test03.patch  |  186 --
 .../patches/color_scheme_support-0.40.3.patch |  392 ---
 .../default_and_embedded_plist-0.41.4.patch   |   50 -
 .../disable_close_confirm-0.39.2.patch        |   21 -
 ...el_accurate_on_every_platform-0.40.3.patch | 1686 -----------
 ...proxy_icon_and_modified_state-0.41.4.patch |   20 -
 .../set_cursors_in_tcl-0.41-test06.patch      |   76 -
 ...subpatch_name_in_window_title-0.41.4.patch |   39 -
 ...ne_cosine_sum_memory_leak_fix-0.41.4.patch |   22 -
 ...ENAME_MAX_for_file_operations-0.41.4.patch |  582 ----
 ..._help_patches_for_midi-0.41.0-test04.patch |   72 -
 packages/redhat_rpm/pd-extended.spec          |   10 -
 pd/README                                     |    0
 scripts/auto-build/auto-build-common          |   80 -
 .../auto-build/create-latest-build-listing.py |   28 -
 scripts/auto-build/extra-rsync.bat            |   18 -
 scripts/auto-build/mail-mingw-log-hack.sh     |   28 -
 scripts/auto-build/pd-devel-auto-builder.sh   |  117 -
 .../auto-build/pd-extended-auto-builder.sh    |  106 -
 .../pd-extended-release-auto-builder.sh       |  106 -
 .../auto-build/pd-main+libs-auto-builder.sh   |  107 -
 scripts/auto-build/pd-main-auto-builder.sh    |   73 -
 .../auto-build/pd-puredyne-auto-builder.sh    |   99 -
 .../pdvanilla-hcs.git-auto-builder.sh         |   37 -
 scripts/auto-build/prep-auto-build-upload     |   31 -
 scripts/auto-build/pure-data-rsync            |   34 -
 scripts/auto-build/pure-data-rsync-checkout   |   38 -
 .../auto-build/pure-data.git-auto-builder.sh  |   37 -
 .../pure-data.umlaeute.git-auto-builder.sh    |   37 -
 scripts/auto-build/run-automated-build.bat    |    4 -
 .../auto-build/run-automated-build.cygwin.sh  |    2 -
 scripts/auto-build/run-automated-builder      |   93 -
 .../tcltk_core-8-4-branch_auto-builder.sh     |   98 -
 .../tcltk_core-8-5-branch_auto-builder.sh     |   98 -
 scripts/build-libs-for-pd-on-mingw.sh         |  169 --
 scripts/build-packages.sh                     |   22 -
 scripts/checkout-developer-layout.sh          |   48 -
 scripts/config-switcher.sh                    |  117 -
 scripts/convert-help-to-standard.sh           |   42 -
 scripts/download-pd-archives.sh               |   22 -
 scripts/find-wish.app.sh                      |   22 -
 .../guiplugins/buttonbar/buttonbar-plugin.tcl | 1212 --------
 scripts/guiplugins/buttonbar/images/bng.gif   |  Bin 3853 -> 0 bytes
 .../guiplugins/buttonbar/images/floatatom.gif |  Bin 4321 -> 0 bytes
 .../buttonbar/images/hi-bit/old.bng.gif       |  Bin 4182 -> 0 bytes
 .../buttonbar/images/hi-bit/old.hradio.gif    |  Bin 4082 -> 0 bytes
 .../buttonbar/images/hi-bit/old.hslider.gif   |  Bin 4100 -> 0 bytes
 .../buttonbar/images/hi-bit/old.msg.gif       |  Bin 4122 -> 0 bytes
 .../buttonbar/images/hi-bit/old.obj.gif       |  Bin 4094 -> 0 bytes
 .../buttonbar/images/hi-bit/old.text.gif      |  Bin 4093 -> 0 bytes
 .../buttonbar/images/hi-bit/old.vradio.gif    |  Bin 4087 -> 0 bytes
 .../buttonbar/images/hi-bit/old.vslider.gif   |  Bin 4102 -> 0 bytes
 .../guiplugins/buttonbar/images/hradio.gif    |  Bin 3841 -> 0 bytes
 .../guiplugins/buttonbar/images/hslider.gif   |  Bin 3853 -> 0 bytes
 .../guiplugins/buttonbar/images/images.txt    | 1116 -------
 .../buttonbar/images/make-base64.sh           |   12 -
 .../guiplugins/buttonbar/images/menuarray.gif |  Bin 4275 -> 0 bytes
 scripts/guiplugins/buttonbar/images/msg.gif   |  Bin 3850 -> 0 bytes
 scripts/guiplugins/buttonbar/images/mycnv.gif |  Bin 4080 -> 0 bytes
 .../guiplugins/buttonbar/images/numbox.gif    |  Bin 4380 -> 0 bytes
 scripts/guiplugins/buttonbar/images/obj.gif   |  Bin 3839 -> 0 bytes
 .../buttonbar/images/symbolatom.gif           |  Bin 4324 -> 0 bytes
 scripts/guiplugins/buttonbar/images/text.gif  |  Bin 4093 -> 0 bytes
 .../guiplugins/buttonbar/images/toggle.gif    |  Bin 4176 -> 0 bytes
 .../guiplugins/buttonbar/images/vradio.gif    |  Bin 3846 -> 0 bytes
 .../guiplugins/buttonbar/images/vslider.gif   |  Bin 3853 -> 0 bytes
 .../guiplugins/buttonbar/images/vumeter.gif   |  Bin 4155 -> 0 bytes
 .../file_associations-plugin.tcl              |   55 -
 .../guiplugins/object_db/object_db-plugin.tcl |  182 --
 .../guiplugins/object_db/object_tags.tcllist  | 2685 -----------------
 .../quickbindings/quickbindings-plugin.tcl    |   39 -
 .../guiplugins/simple_examples/LICENSE.txt    |   29 -
 .../add_item_to_popup_menu-plugin.tcl         |    6 -
 .../add_menubar_to_popup_menu-plugin.tcl      |   17 -
 .../add_my_patches_to_media_menu-plugin.tcl   |   11 -
 .../clone_put_menu_into_popup_menu-plugin.tcl |    6 -
 .../simple_examples/editmode_look-plugin.tcl  |   33 -
 .../font_doesnt_follow_focus-plugin.tcl       |   11 -
 .../global_editmode_0-plugin.tcl              |   15 -
 .../simple_examples/gtklook-plugin.tcl        |   41 -
 .../hide_cords_in_editmode-plugin.tcl         |   16 -
 .../insert_into_popup_menu-plugin.tcl         |   26 -
 .../meters_default_on-plugin.tcl              |    3 -
 .../pdwindow_popup_mode-plugin.tcl            |   19 -
 ...move_menubar_from_patch_windows-plugin.tcl |    7 -
 .../set_canvas_minsize-plugin.tcl             |    8 -
 .../set_custom_stored_histories-plugin.tcl    |    6 -
 .../simple_examples/tripleclickobj-plugin.tcl |    9 -
 scripts/insert_declare.py                     |   35 -
 scripts/parse-help-patches.pl                 |  254 --
 scripts/update-developer-layout.sh            |   23 -
 102 files changed, 8 insertions(+), 11457 deletions(-)
 delete mode 100644 packages/patches/add_string_support.patch
 delete mode 100644 packages/patches/arrow_keys_update_scrollbars-0.40.3.patch
 delete mode 100644 packages/patches/closeinitbang-0.40-0test03.patch
 delete mode 100644 packages/patches/color_scheme_support-0.40.3.patch
 delete mode 100644 packages/patches/default_and_embedded_plist-0.41.4.patch
 delete mode 100644 packages/patches/disable_close_confirm-0.39.2.patch
 delete mode 100644 packages/patches/make_sizes_pixel_accurate_on_every_platform-0.40.3.patch
 delete mode 100644 packages/patches/proxy_icon_and_modified_state-0.41.4.patch
 delete mode 100644 packages/patches/set_cursors_in_tcl-0.41-test06.patch
 delete mode 100644 packages/patches/show_whole_subpatch_name_in_window_title-0.41.4.patch
 delete mode 100644 packages/patches/sine_cosine_sum_memory_leak_fix-0.41.4.patch
 delete mode 100644 packages/patches/use_FILENAME_MAX_for_file_operations-0.41.4.patch
 delete mode 100644 packages/patches/use_individual_help_patches_for_midi-0.41.0-test04.patch
 delete mode 100644 pd/README
 delete mode 100644 scripts/auto-build/auto-build-common
 delete mode 100755 scripts/auto-build/create-latest-build-listing.py
 delete mode 100644 scripts/auto-build/extra-rsync.bat
 delete mode 100755 scripts/auto-build/mail-mingw-log-hack.sh
 delete mode 100755 scripts/auto-build/pd-devel-auto-builder.sh
 delete mode 100755 scripts/auto-build/pd-extended-auto-builder.sh
 delete mode 100755 scripts/auto-build/pd-extended-release-auto-builder.sh
 delete mode 100755 scripts/auto-build/pd-main+libs-auto-builder.sh
 delete mode 100755 scripts/auto-build/pd-main-auto-builder.sh
 delete mode 100755 scripts/auto-build/pd-puredyne-auto-builder.sh
 delete mode 100755 scripts/auto-build/pdvanilla-hcs.git-auto-builder.sh
 delete mode 100755 scripts/auto-build/prep-auto-build-upload
 delete mode 100755 scripts/auto-build/pure-data-rsync
 delete mode 100755 scripts/auto-build/pure-data-rsync-checkout
 delete mode 100755 scripts/auto-build/pure-data.git-auto-builder.sh
 delete mode 100755 scripts/auto-build/pure-data.umlaeute.git-auto-builder.sh
 delete mode 100644 scripts/auto-build/run-automated-build.bat
 delete mode 100755 scripts/auto-build/run-automated-build.cygwin.sh
 delete mode 100755 scripts/auto-build/run-automated-builder
 delete mode 100755 scripts/auto-build/tcltk_core-8-4-branch_auto-builder.sh
 delete mode 100755 scripts/auto-build/tcltk_core-8-5-branch_auto-builder.sh
 delete mode 100755 scripts/build-libs-for-pd-on-mingw.sh
 delete mode 100644 scripts/build-packages.sh
 delete mode 100755 scripts/checkout-developer-layout.sh
 delete mode 100755 scripts/config-switcher.sh
 delete mode 100755 scripts/convert-help-to-standard.sh
 delete mode 100755 scripts/download-pd-archives.sh
 delete mode 100755 scripts/find-wish.app.sh
 delete mode 100644 scripts/guiplugins/buttonbar/buttonbar-plugin.tcl
 delete mode 100644 scripts/guiplugins/buttonbar/images/bng.gif
 delete mode 100644 scripts/guiplugins/buttonbar/images/floatatom.gif
 delete mode 100644 scripts/guiplugins/buttonbar/images/hi-bit/old.bng.gif
 delete mode 100644 scripts/guiplugins/buttonbar/images/hi-bit/old.hradio.gif
 delete mode 100644 scripts/guiplugins/buttonbar/images/hi-bit/old.hslider.gif
 delete mode 100644 scripts/guiplugins/buttonbar/images/hi-bit/old.msg.gif
 delete mode 100644 scripts/guiplugins/buttonbar/images/hi-bit/old.obj.gif
 delete mode 100644 scripts/guiplugins/buttonbar/images/hi-bit/old.text.gif
 delete mode 100644 scripts/guiplugins/buttonbar/images/hi-bit/old.vradio.gif
 delete mode 100644 scripts/guiplugins/buttonbar/images/hi-bit/old.vslider.gif
 delete mode 100644 scripts/guiplugins/buttonbar/images/hradio.gif
 delete mode 100644 scripts/guiplugins/buttonbar/images/hslider.gif
 delete mode 100644 scripts/guiplugins/buttonbar/images/images.txt
 delete mode 100644 scripts/guiplugins/buttonbar/images/make-base64.sh
 delete mode 100644 scripts/guiplugins/buttonbar/images/menuarray.gif
 delete mode 100644 scripts/guiplugins/buttonbar/images/msg.gif
 delete mode 100644 scripts/guiplugins/buttonbar/images/mycnv.gif
 delete mode 100644 scripts/guiplugins/buttonbar/images/numbox.gif
 delete mode 100644 scripts/guiplugins/buttonbar/images/obj.gif
 delete mode 100644 scripts/guiplugins/buttonbar/images/symbolatom.gif
 delete mode 100644 scripts/guiplugins/buttonbar/images/text.gif
 delete mode 100644 scripts/guiplugins/buttonbar/images/toggle.gif
 delete mode 100644 scripts/guiplugins/buttonbar/images/vradio.gif
 delete mode 100644 scripts/guiplugins/buttonbar/images/vslider.gif
 delete mode 100644 scripts/guiplugins/buttonbar/images/vumeter.gif
 delete mode 100644 scripts/guiplugins/file_associations/file_associations-plugin.tcl
 delete mode 100644 scripts/guiplugins/object_db/object_db-plugin.tcl
 delete mode 100644 scripts/guiplugins/object_db/object_tags.tcllist
 delete mode 100644 scripts/guiplugins/quickbindings/quickbindings-plugin.tcl
 delete mode 100644 scripts/guiplugins/simple_examples/LICENSE.txt
 delete mode 100644 scripts/guiplugins/simple_examples/add_item_to_popup_menu-plugin.tcl
 delete mode 100644 scripts/guiplugins/simple_examples/add_menubar_to_popup_menu-plugin.tcl
 delete mode 100644 scripts/guiplugins/simple_examples/add_my_patches_to_media_menu-plugin.tcl
 delete mode 100644 scripts/guiplugins/simple_examples/clone_put_menu_into_popup_menu-plugin.tcl
 delete mode 100644 scripts/guiplugins/simple_examples/editmode_look-plugin.tcl
 delete mode 100644 scripts/guiplugins/simple_examples/font_doesnt_follow_focus-plugin.tcl
 delete mode 100644 scripts/guiplugins/simple_examples/global_editmode_0-plugin.tcl
 delete mode 100644 scripts/guiplugins/simple_examples/gtklook-plugin.tcl
 delete mode 100644 scripts/guiplugins/simple_examples/hide_cords_in_editmode-plugin.tcl
 delete mode 100644 scripts/guiplugins/simple_examples/insert_into_popup_menu-plugin.tcl
 delete mode 100644 scripts/guiplugins/simple_examples/meters_default_on-plugin.tcl
 delete mode 100644 scripts/guiplugins/simple_examples/pdwindow_popup_mode-plugin.tcl
 delete mode 100644 scripts/guiplugins/simple_examples/remove_menubar_from_patch_windows-plugin.tcl
 delete mode 100644 scripts/guiplugins/simple_examples/set_canvas_minsize-plugin.tcl
 delete mode 100644 scripts/guiplugins/simple_examples/set_custom_stored_histories-plugin.tcl
 delete mode 100644 scripts/guiplugins/simple_examples/tripleclickobj-plugin.tcl
 delete mode 100755 scripts/insert_declare.py
 delete mode 100755 scripts/parse-help-patches.pl
 delete mode 100755 scripts/update-developer-layout.sh

diff --git a/abstractions/Makefile b/abstractions/Makefile
index b85a75307..32d35c025 100644
--- a/abstractions/Makefile
+++ b/abstractions/Makefile
@@ -379,33 +379,6 @@ pd-wavelet_install:
 		$(DESTDIR)$(readmesdir)/$(PDWAVELET_NAME).txt
 
 
-#==============================================================================#
-#
-# DEVELOPER'S TARGETS
-#
-#==============================================================================#
-
-# make the symlinks necessary to simulate the installed environment
-devsymlinks:
-# make symlinks for help patches
-	test -e $(abstractions_src)/../2.control.examples || \
-		ln -s $(pd_src)/doc/2.control.examples \
-			$(abstractions_src)/../2.control.examples
-	test -e $(abstractions_src)/../3.audio.examples || \
-		ln -s $(pd_src)/doc/3.audio.examples \
-			$(abstractions_src)/../3.audio.examples
-# pd <= 0.38-4 has 4.fft.examples
-	test -e $(abstractions_src)/../4.fft.examples || \
-		ln -s $(pd_src)/doc/4.fft.examples $(abstractions_src)/../4.fft.examples
-# pd > 0.38-4 has 4.data.structures
-	test -e $(abstractions_src)/../4.data.structures || \
-		ln -s $(pd_src)/doc/4.data.structures \
-			$(abstractions_src)/../4.data.structures
-	test -e $(abstractions_src)/../7.stuff || \
-		ln -s $(pd_src)/doc/7.stuff $(abstractions_src)/../7.stuff
-	test -e $(abstractions_src)/../sound || \
-		ln -s $(pd_src)/doc/sound $(abstractions_src)/../sound
-
 #==============================================================================#
 #
 # CLEAN TARGETS
diff --git a/doc/Makefile b/doc/Makefile
index 8035e521e..2b09e75d4 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -235,32 +235,6 @@ tutorials_clean:
 	-rmdir -- $(DESTDIR)$(manualsdir)/4.Physical
 
 
-#==============================================================================#
-#
-# DEVELOPER'S TARGETS
-#
-#==============================================================================#
-
-# make the symlinks necessary to simulate the installed environment
-devsymlinks:
-	test -e $(doc_src)/2.control.examples || \
-		ln -sf $(pd_src)/doc/2.control.examples $(doc_src)/2.control.examples
-	test -e $(doc_src)/3.audio.examples || \
-		ln -sf $(pd_src)/doc/3.audio.examples $(doc_src)/3.audio.examples
-# pd <= 0.38-4 has 4.fft.examples
-	test -e $(doc_src)/4.fft.examples || \
-		ln -sf $(pd_src)/doc/4.fft.examples $(doc_src)/4.fft.examples
-# pd > 0.38-4 has 4.data.structures
-	test -e $(doc_src)/4.data.structures || \
-		ln -sf $(pd_src)/doc/4.data.structures $(doc_src)/4.data.structures
-	test -e $(doc_src)/7.stuff || \
-		ln -sf $(pd_src)/doc/7.stuff $(doc_src)/7.stuff
-	test -e $(doc_src)/sound || \
-		ln -sf $(pd_src)/doc/sound $(doc_src)/sound
-# put the pddp support objects in the path
-	test -e $(doc_src)/pddp/pddp || \
-		ln -sf $(externals_src)/pddp $(doc_src)/pddp/pddp
-
 #==============================================================================#
 #
 # CLEAN TARGETS
diff --git a/externals/Makefile b/externals/Makefile
index 26f1cbf5f..01eb4672c 100644
--- a/externals/Makefile
+++ b/externals/Makefile
@@ -2379,9 +2379,6 @@ earplug_clean:
 #
 #==============================================================================#
 
-# make the symlinks necessary to simulate the installed environment
-devsymlinks: 
-
 TAGS: etags
 
 etags:
diff --git a/packages/Makefile b/packages/Makefile
index de8d933ff..775420ca3 100644
--- a/packages/Makefile
+++ b/packages/Makefile
@@ -220,10 +220,6 @@ noncvs_install:
 	-install -p $(packages_src)/noncvs/$(OS_NAME)/bin/*.* $(DESTDIR)$(bindir)
 	-install -p $(packages_src)/noncvs/$(OS_NAME)/doc/5.reference/*.* $(DESTDIR)$(helpdir)
 	-install -p $(packages_src)/noncvs/$(OS_NAME)/extra/*.* $(DESTDIR)$(objectsdir)
-	-test -d $(packages_src)/noncvs/$(OS_NAME)/gripd && \
-		install -d $(DESTDIR)$(prefix)/gripd
-	-install -p $(packages_src)/noncvs/$(OS_NAME)/gripd/*.* \
-		$(DESTDIR)$(prefix)/gripd
 
 
 #==============================================================================#
@@ -380,94 +376,6 @@ doc_format:
 	-find $(DESTDIR) -name .svn -print0 | xargs -0 rm -rf
 
 
-#==============================================================================#
-#
-# DEVELOPER TARGETS
-#
-#==============================================================================#
-
-devsymlinks: devsymlinks_$(OS_NAME)
-
-
-
-devsymlinks_windows:
-
-
-devsymlinks_linux:
-
-
-TCLTK_VERSION=8.4
-devsymlinks_darwin: devsymlinks_clean
-# this makes /usr/local symlinks to the Tcl/Tk frameworks so that ./configure
-# can find them.
-# headers
-	test -e  /Library/Frameworks/Tcl.framework/Versions/$(TCLTK_VERSION)/Headers/tcl.h && \
-		sudo ln -s \
-			/Library/Frameworks/Tcl.framework/Versions/$(TCLTK_VERSION)/Headers/tcl.h \
-			/usr/local/include/tcl.h
-	test -e  /Library/Frameworks/Tcl.framework/Versions/$(TCLTK_VERSION)/Headers/tclDecls.h && \
-		sudo ln -s \
-			/Library/Frameworks/Tcl.framework/Versions/$(TCLTK_VERSION)/Headers/tclDecls.h \
-			/usr/local/include/tclDecls.h
-	test -e  /Library/Frameworks/Tcl.framework/Versions/$(TCLTK_VERSION)/Headers/tclPlatDecls.h && \
-		sudo ln -s \
-			/Library/Frameworks/Tcl.framework/Versions/$(TCLTK_VERSION)/Headers/tclPlatDecls.h \
-			/usr/local/include/tclPlatDecls.h
-# libs
-	test -e  /Library/Frameworks/Tcl.framework/tclConfig.sh && \
-		sudo ln -s /Library/Frameworks/Tcl.framework/tclConfig.sh /usr/local/lib
-	test -e  /Library/Frameworks/Tcl.framework/Versions/$(TCLTK_VERSION)/Tcl && \
-		sudo ln -s \
-			/Library/Frameworks/Tcl.framework/Versions/$(TCLTK_VERSION)/Tcl \
-			/usr/local/lib/libtcl$(TCLTK_VERSION).dylib
-	test -e  /Library/Frameworks/Tcl.framework/Versions/$(TCLTK_VERSION)/libtclstub$(TCLTK_VERSION).a && \
-		sudo ln -s \
-			/Library/Frameworks/Tcl.framework/Versions/$(TCLTK_VERSION)/libtclstub$(TCLTK_VERSION).a \
-			/usr/local/lib/libtclstub$(TCLTK_VERSION).a
-	test -e  /usr/local/lib/libtcl$(TCLTK_VERSION).dylib && \
-		sudo ln -s /usr/local/lib/libtcl$(TCLTK_VERSION).dylib /usr/local/lib/libtcl.dylib
-# headers
-	test -e  /Library/Frameworks/Tk.framework/Versions/$(TCLTK_VERSION)/Headers/tk.h && \
-		sudo ln -s \
-			/Library/Frameworks/Tk.framework/Versions/$(TCLTK_VERSION)/Headers/tk.h \
-			/usr/local/include/tk.h
-	test -e  /Library/Frameworks/Tk.framework/Versions/$(TCLTK_VERSION)/Headers/tkDecls.h && \
-		sudo ln -s \
-			/Library/Frameworks/Tk.framework/Versions/$(TCLTK_VERSION)/Headers/tkDecls.h \
-			/usr/local/include/tkDecls.h
-	test -e  /Library/Frameworks/Tk.framework/Versions/$(TCLTK_VERSION)/Headers/tkIntXlibDecls.h && \
-		sudo ln -s \
-			/Library/Frameworks/Tk.framework/Versions/$(TCLTK_VERSION)/Headers/tkIntXlibDecls.h \
-			/usr/local/include/tkIntXlibDecls.h
-	test -e  /Library/Frameworks/Tk.framework/Versions/$(TCLTK_VERSION)/Headers/tkMacOSX.h && \
-		sudo ln -s \
-			/Library/Frameworks/Tk.framework/Versions/$(TCLTK_VERSION)/Headers/tkMacOSX.h \
-			/usr/local/include/tkMacOSX.h
-	test -e  /Library/Frameworks/Tk.framework/Versions/$(TCLTK_VERSION)/Headers/tkPlatDecls.h && \
-		sudo ln -s \
-			/Library/Frameworks/Tk.framework/Versions/$(TCLTK_VERSION)/Headers/tkPlatDecls.h \
-			/usr/local/include/tkPlatDecls.h
-# libs
-	test -e  /Library/Frameworks/Tk.framework/tkConfig.sh && \
-		sudo ln -s /Library/Frameworks/Tk.framework/tkConfig.sh /usr/local/lib
-	test -e  /Library/Frameworks/Tk.framework/Versions/$(TCLTK_VERSION)/Tk && \
-		sudo ln -s /Library/Frameworks/Tk.framework/Versions/$(TCLTK_VERSION)/Tk \
-			/usr/local/lib/libtk$(TCLTK_VERSION).dylib
-	test -e /Library/Frameworks/Tk.framework/Versions/$(TCLTK_VERSION)/libtkstub$(TCLTK_VERSION).a && \
-		sudo ln -s \
-			/Library/Frameworks/Tk.framework/Versions/$(TCLTK_VERSION)/libtkstub$(TCLTK_VERSION).a \
-			/usr/local/lib/libtkstub$(TCLTK_VERSION).a
-	test -e  /usr/local/lib/libtk$(TCLTK_VERSION).dylib && \
-		sudo ln -s /usr/local/lib/libtk$(TCLTK_VERSION).dylib /usr/local/lib/libtk.dylib
-
-
-
-devsymlinks_clean:
-	-sudo rm -f /usr/local/include/tcl*.h /usr/local/include/tk*.h
-	-sudo rm -f /usr/local/lib/tclConfig.sh /usr/local/lib/tkConfig.sh
-	-sudo rm -f /usr/local/lib/libtcl*.dylib /usr/local/lib/libtk*.dylib
-	-sudo rm -f /usr/local/lib/libtclstub*.a /usr/local/lib/libtkstub*.a
-
 # AG: The set_version target is broken since it modifies m_pd.h in-place
 # during the build, which is a bad thing to do to files which are supposed to
 # be kept in a source code repository. Instead, we create s_stuff.h from
@@ -494,93 +402,6 @@ unset_version:
 		mv m_pd.h.tmp m_pd.h
 
 
-patch_pd:
-	@echo pd_src $(pd_src)
-# apply all platform-neutral patches
-	for patch in $(shell ls -1 $(CWD)/patches/*.patch); do \
-		echo "Applying $$patch"; \
-		cd $(pd_src)/src/ && patch -p0 < $$patch; \
-	done
-# apply all platform-specific patches (is broken on MINGW/Windows)
-ifneq ($(OS_NAME),windows)
-	for patch in $(shell ls -1 $(CWD)/patches/$(OS_NAME)/*.patch); do \
-		echo "Applying $$patch"; \
-		cd $(pd_src)/src/ && patch -p0 < $$patch; \
-	done
-endif
-	-rm -f -- $(pd_src)/src/configure  $(pd_src)/src/makefile
-	@echo " "
-	@echo "patching completed."
-
-
-unpatch_pd:
-# apply all platform-specific patches (is broken on MINGW/Windows)
-ifneq ($(OS_NAME),windows)
-	for patch in $(shell ls -1r $(CWD)/patches/$(OS_NAME)/*.patch); do \
-		echo "Applying $$patch"; \
-		cd $(pd_src)/src/ && patch -p0 -R < $$patch; \
-	done
-endif
-# apply all platform-neutral patches
-	for patch in $(shell ls -1r $(CWD)/patches/*.patch); do \
-		echo "Applying $$patch"; \
-		cd $(pd_src)/src/ && patch -p0 -R < $$patch; \
-	done
-	-rm -f -- $(pd_src)/src/configure  $(pd_src)/src/makefile \
-		$(pd_src)/src/makefile.dependencies
-	@echo " "
-	@echo "unpatching completed."
-
-
-patch: patch_pd set_version
-
-unpatch: unset_version unpatch_pd
-
-
-
-patch_pd_devel:
-	@echo pd_src $(pd_src)
-# apply all platform-neutral patches
-	for patch in $(shell ls -1 $(CWD)/patches/*.patch); do \
-		echo "Applying $$patch"; \
-		cd $(pd_src)/src/ && patch -p0 < $$patch; \
-	done
-# apply all platform-specific patches
-	for patch in $(shell ls -1 $(CWD)/patches/$(OS_NAME)/*.patch); do \
-		echo "Applying $$patch"; \
-		cd $(pd_src)/src/ && patch -p0 < $$patch; \
-	done
-	-rm -f -- $(pd_src)/src/configure  $(pd_src)/src/makefile
-# change Pd's version number to reflect the extended build
-# this needs the complete_version_defines patch to work
-	cd $(pd_src)/src/ && \
-		sed 's|^\(#define PD_TEST_VERSION "\).*"|\1$(PD_BUILD_VERSION)"|' m_pd.h > \
-			m_pd.h.tmp && mv m_pd.h.tmp m_pd.h
-	@echo " "
-	@echo "patching completed."
-
-
-unpatch_pd_devel:
-# change the version number back to the original 
-# this needs the complete_version_defines patch to work
-	cd $(pd_src)/src && \
-		sed 's|^\(#define PD_TEST_VERSION ".*\)$(PD_BUILD_VERSION)"|\1"|' \
-			m_pd.h > m_pd.h.tmp && \
-		mv m_pd.h.tmp m_pd.h
-# apply all platform-specific patches
-	for patch in $(shell ls -1r $(CWD)/patches/$(OS_NAME)/*.patch); do \
-		echo "Applying $$patch"; \
-		cd $(pd_src)/src/ && patch -p0 -R < $$patch; \
-	done
-# apply all platform-neutral patches
-	for patch in $(shell ls -1r $(CWD)/patches/*.patch); do \
-		echo "Applying $$patch"; \
-		cd $(pd_src)/src/ && patch -p0 -R < $$patch; \
-	done
-	-rm -f -- $(pd_src)/src/configure  $(pd_src)/src/makefile
-	@echo " "
-	@echo "unpatching completed."
-
 #==============================================================================#
 #
 # CLEAN TARGETS
diff --git a/packages/linux_make/Makefile b/packages/linux_make/Makefile
index 5b9cf1ff6..f47e205d3 100644
--- a/packages/linux_make/Makefile
+++ b/packages/linux_make/Makefile
@@ -142,7 +142,6 @@ debstage: $(bindir)
 		$(DESTDIR)/usr/share/emacs/site-lisp/
 # Pd-related scripts
 	#install -p $(scripts_src)/pd-diff $(DESTDIR)$(bindir)
-	#install -p $(scripts_src)/config-switcher.sh $(DESTDIR)$(bindir)
 
 deb: DEB_BUILD_ARCH := $(shell dpkg-architecture -qDEB_BUILD_ARCH)
 deb: DEB_PD_VERSION := $(shell echo $(PD_VERSION) | sed 's|\(.*\)-l2ork-\(.*\)|\1-\2|')
diff --git a/packages/linux_make/debian/control b/packages/linux_make/debian/control
index edd128f2f..eb6ca6656 100644
--- a/packages/linux_make/debian/control
+++ b/packages/linux_make/debian/control
@@ -6,10 +6,10 @@ Maintainer: Ivica Ico Bukvic <ico@vt.edu>
 Homepage: http://l2ork.music.vt.edu
 Package: pd-l2ork
 Architecture: i386
-Depends: libc6, xterm | x-terminal-emulator, tcl, tk, libasound2, libjack-jackd2-0, libbluetooth3, libgl1-mesa-glx, libgl1-mesa-dri, libglu1-mesa, libglew-dev, libmagick++-dev, libftgl2, libgmerlin0, libgmerlin-avdec1, libavifile-0.7c2, libmpeg3-1 | libmpeg3-2, libquicktime2, libv4l-0, libraw1394-11, libdc1394-22, libfftw3-3, libvorbis0a, libmp3lame0, libspeex1, libgsl0ldbl | libgsl2, python, libsmpeg0, libjpeg62, tkpng, libflite1, libgsm1, libxv1, libstk0-dev, libsndobj-dev, libfluidsynth-dev, tclxapian, fluid-soundfont-gm, python-tk, byacc
+Depends: libc6, xterm | x-terminal-emulator, libasound2, libjack-jackd2-0, libbluetooth3, libgl1-mesa-glx, libgl1-mesa-dri, libglu1-mesa, libftgl2, libgmerlin0, libgmerlin-avdec1, libavifile-0.7c2, libmpeg3-1 | libmpeg3-2, libquicktime2, libv4l-0, libraw1394-11, libdc1394-22, libfftw3-3, libvorbis0a, libmp3lame0, libspeex1, libgsl0ldbl | libgsl2, python, libsmpeg0, libjpeg62, libflite1, libgsm1, libxv1, fluid-soundfont-gm, byacc
 Provides: pd-l2ork
 Installed-Size: 90624
-Recommends: xdg-utils, pulseaudio-utils, tap-plugins, ladspa-foo-plugins, invada-studio-plugins-ladspa, blepvco, swh-plugins, mcp-plugins, cmt, blop, slv2-jack, omins, ubuntustudio-audio-plugins, rev-plugins, libslv2-dev, dssi-utils, vco-plugins, wah-plugins, fil-plugins, mda-lv2
+Recommends: xdg-utils, pulseaudio-utils, tap-plugins, ladspa-foo-plugins, invada-studio-plugins-ladspa, blepvco, swh-plugins, mcp-plugins, cmt, blop, slv2-jack, omins, ubuntustudio-audio-plugins, rev-plugins, dssi-utils, vco-plugins, wah-plugins, fil-plugins, mda-lv2
 Conflicts:
 Replaces: pd-l2ork
 Description:  Interactive multimedia programming environment
diff --git a/packages/linux_make/debian/control.desktop b/packages/linux_make/debian/control.desktop
index edd128f2f..eb6ca6656 100644
--- a/packages/linux_make/debian/control.desktop
+++ b/packages/linux_make/debian/control.desktop
@@ -6,10 +6,10 @@ Maintainer: Ivica Ico Bukvic <ico@vt.edu>
 Homepage: http://l2ork.music.vt.edu
 Package: pd-l2ork
 Architecture: i386
-Depends: libc6, xterm | x-terminal-emulator, tcl, tk, libasound2, libjack-jackd2-0, libbluetooth3, libgl1-mesa-glx, libgl1-mesa-dri, libglu1-mesa, libglew-dev, libmagick++-dev, libftgl2, libgmerlin0, libgmerlin-avdec1, libavifile-0.7c2, libmpeg3-1 | libmpeg3-2, libquicktime2, libv4l-0, libraw1394-11, libdc1394-22, libfftw3-3, libvorbis0a, libmp3lame0, libspeex1, libgsl0ldbl | libgsl2, python, libsmpeg0, libjpeg62, tkpng, libflite1, libgsm1, libxv1, libstk0-dev, libsndobj-dev, libfluidsynth-dev, tclxapian, fluid-soundfont-gm, python-tk, byacc
+Depends: libc6, xterm | x-terminal-emulator, libasound2, libjack-jackd2-0, libbluetooth3, libgl1-mesa-glx, libgl1-mesa-dri, libglu1-mesa, libftgl2, libgmerlin0, libgmerlin-avdec1, libavifile-0.7c2, libmpeg3-1 | libmpeg3-2, libquicktime2, libv4l-0, libraw1394-11, libdc1394-22, libfftw3-3, libvorbis0a, libmp3lame0, libspeex1, libgsl0ldbl | libgsl2, python, libsmpeg0, libjpeg62, libflite1, libgsm1, libxv1, fluid-soundfont-gm, byacc
 Provides: pd-l2ork
 Installed-Size: 90624
-Recommends: xdg-utils, pulseaudio-utils, tap-plugins, ladspa-foo-plugins, invada-studio-plugins-ladspa, blepvco, swh-plugins, mcp-plugins, cmt, blop, slv2-jack, omins, ubuntustudio-audio-plugins, rev-plugins, libslv2-dev, dssi-utils, vco-plugins, wah-plugins, fil-plugins, mda-lv2
+Recommends: xdg-utils, pulseaudio-utils, tap-plugins, ladspa-foo-plugins, invada-studio-plugins-ladspa, blepvco, swh-plugins, mcp-plugins, cmt, blop, slv2-jack, omins, ubuntustudio-audio-plugins, rev-plugins, dssi-utils, vco-plugins, wah-plugins, fil-plugins, mda-lv2
 Conflicts:
 Replaces: pd-l2ork
 Description:  Interactive multimedia programming environment
diff --git a/packages/linux_make/debian/control.raspbian b/packages/linux_make/debian/control.raspbian
index 58dcd8b0c..b758c52de 100644
--- a/packages/linux_make/debian/control.raspbian
+++ b/packages/linux_make/debian/control.raspbian
@@ -6,10 +6,10 @@ Maintainer: Ivica Ico Bukvic <ico@vt.edu>
 Homepage: http://l2ork.music.vt.edu
 Package: pd-l2ork
 Architecture: i386
-Depends: xterm | x-terminal-emulator, tcl, tk, libasound2, libjack-jackd2-0, libbluetooth3, libgl1-mesa-glx, libglu1-mesa, libftgl2, libgmerlin0, libgmerlin-avdec1, libavifile-0.7c2, libmpeg3-1 | libmpeg3-2, libquicktime2, libv4l-0, libraw1394-11, libdc1394-22, libfftw3-3, libvorbis0a, libmp3lame0, libspeex1, libgsl0ldbl, python, libsmpeg0, libjpeg62, tkpng, libflite1, libgsm1, libxv1, libstk0-dev, libsndobj-dev, libfluidsynth-dev, tclxapian, fluid-soundfont-gm, python-tk, byacc
+Depends: xterm | x-terminal-emulator, libasound2, libjack-jackd2-0, libbluetooth3, libgl1-mesa-glx, libglu1-mesa, libftgl2, libgmerlin0, libgmerlin-avdec1, libavifile-0.7c2, libmpeg3-1 | libmpeg3-2, libquicktime2, libv4l-0, libraw1394-11, libdc1394-22, libfftw3-3, libvorbis0a, libmp3lame0, libspeex1, libgsl0ldbl, python, libsmpeg0, libjpeg62, tkpng, libflite1, libgsm1, libxv1, fluid-soundfont-gm, byacc
 Provides: pd-l2ork
 Installed-Size: 90624
-Recommends: xdg-utils, pulseaudio-utils, tap-plugins, ladspa-foo-plugins, invada-studio-plugins-ladspa, blepvco, swh-plugins, mcp-plugins, cmt, blop, slv2-jack, omins, ubuntustudio-audio-plugins, rev-plugins, libslv2-dev, dssi-utils, vco-plugins, wah-plugins, fil-plugins, mda-lv2
+Recommends: xdg-utils, pulseaudio-utils, tap-plugins, ladspa-foo-plugins, invada-studio-plugins-ladspa, blepvco, swh-plugins, mcp-plugins, cmt, blop, slv2-jack, omins, ubuntustudio-audio-plugins, rev-plugins, dssi-utils, vco-plugins, wah-plugins, fil-plugins, mda-lv2
 Conflicts:
 Replaces: pd-l2ork
 Description:  Interactive multimedia programming environment
diff --git a/packages/linux_make/debian/control.ubuntu b/packages/linux_make/debian/control.ubuntu
index 3ef3c4c43..b203e170b 100644
--- a/packages/linux_make/debian/control.ubuntu
+++ b/packages/linux_make/debian/control.ubuntu
@@ -6,10 +6,10 @@ Maintainer: Ivica Ico Bukvic <ico@vt.edu>
 Homepage: http://l2ork.music.vt.edu
 Package: pd-l2ork
 Architecture: i386
-Depends: xterm | x-terminal-emulator, libc6 (>= 2.1.5), tcl, tk, libasound2, libjack-jackd2-0, libbluetooth3, libgl1-mesa-glx, libgl1-mesa-dri, libglu1-mesa, libglew1.5, libmagick++4, libftgl2, libgmerlin0, libgmerlin-avdec1, libavifile-0.7c2, libmpeg3-1, libquicktime2, libv4l-0, libraw1394-11, libdc1394-22, libfftw3-3, libvorbis0a, libmp3lame0, libspeex1, libgsl0ldbl, python, libsmpeg0, libjpeg62, tkpng, libflite1, libgsm1
+Depends: xterm | x-terminal-emulator, libc6 (>= 2.1.5), libasound2, libjack-jackd2-0, libbluetooth3, libgl1-mesa-glx, libgl1-mesa-dri, libglu1-mesa, libglew1.5, libmagick++4, libftgl2, libgmerlin0, libgmerlin-avdec1, libavifile-0.7c2, libmpeg3-1, libquicktime2, libv4l-0, libraw1394-11, libdc1394-22, libfftw3-3, libvorbis0a, libmp3lame0, libspeex1, libgsl0ldbl, python, libsmpeg0, libjpeg62, libflite1, libgsm1
 Provides: pd-l2ork
 Installed-Size: 90624
-Recommends: xdg-utils, pulseaudio-utils, tap-plugins, ladspa-foo-plugins, invada-studio-plugins-ladspa, blepvco, swh-plugins, mcp-plugins, cmt, blop, slv2-jack, omins, ubuntustudio-audio-plugins, rev-plugins, libslv2-dev, dssi-utils, vco-plugins, wah-plugins, fil-plugins, mda-lv2
+Recommends: xdg-utils, pulseaudio-utils, tap-plugins, ladspa-foo-plugins, invada-studio-plugins-ladspa, blepvco, swh-plugins, mcp-plugins, cmt, blop, slv2-jack, omins, ubuntustudio-audio-plugins, rev-plugins, dssi-utils, vco-plugins, wah-plugins, fil-plugins, mda-lv2
 Conflicts: pd-l2ork, puredata, pd-extended, puredata-utils, puredata-extra, gem, puredata-core, puredata-gui, puredata-doc
 Replaces: pd-l2ork
 Description:  Interactive multimedia programming environment
diff --git a/packages/patches/add_string_support.patch b/packages/patches/add_string_support.patch
deleted file mode 100644
index 80988458d..000000000
--- a/packages/patches/add_string_support.patch
+++ /dev/null
@@ -1,444 +0,0 @@
-Index: pd/src/g_text.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/g_text.c,v
-retrieving revision 1.15
-diff -u -w -r1.15 g_text.c
---- g_text.c	4 Oct 2006 19:35:06 -0000	1.15
-+++ g_text.c	12 Feb 2007 03:45:43 -0000
-@@ -276,6 +276,11 @@
-     outlet_symbol(x->mr_outlet, s);
- }
- 
-+static void messresponder_blob(t_messresponder *x, t_blob *st)
-+{ /* MP 20070107 blob type */
-+    outlet_blob(x->mr_outlet, st);
-+}
-+
- static void messresponder_list(t_messresponder *x, 
-     t_symbol *s, int argc, t_atom *argv)
- {
-@@ -307,6 +312,13 @@
-     binbuf_eval(x->m_text.te_binbuf, &x->m_messresponder.mr_pd, 1, &at);
- }
- 
-+static void message_blob(t_message *x, t_blob *st)
-+{
-+    t_atom at;
-+    SETBLOB(&at, st);
-+    binbuf_eval(x->m_text.te_binbuf, &x->m_messresponder.mr_pd, 1, &at);
-+}
-+
- static void message_list(t_message *x, t_symbol *s, int argc, t_atom *argv)
- {
-     binbuf_eval(x->m_text.te_binbuf, &x->m_messresponder.mr_pd, argc, argv);
-@@ -1333,6 +1345,7 @@
-     class_addbang(message_class, message_bang);
-     class_addfloat(message_class, message_float);
-     class_addsymbol(message_class, message_symbol);
-+    class_addblob(message_class, message_blob);
-     class_addlist(message_class, message_list);
-     class_addanything(message_class, message_list);
- 
-Index: pd/src/m_atom.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/m_atom.c,v
-retrieving revision 1.4
-diff -u -w -r1.4 m_atom.c
---- m_atom.c	11 Aug 2006 20:09:07 -0000	1.4
-+++ m_atom.c	12 Feb 2007 03:45:43 -0000
-@@ -28,6 +28,14 @@
-     else return (&s_float);
- }
- 
-+t_blob *atom_getblob(t_atom *a)  /* MP 20070108 */
-+{
-+    static unsigned char c = 0;/* a default blob to avoid null pointers. This should be somewhere else...? */
-+    static t_blob st = {1L, &c};
-+    if (a->a_type == A_BLOB) return (a->a_w.w_blob);
-+    else return (&st);
-+}
-+
- t_symbol *atom_gensym(t_atom *a)  /* this works  better for graph labels */
- {
-     char buf[30];
-Index: pd/src/m_binbuf.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/m_binbuf.c,v
-retrieving revision 1.13
-diff -u -w -r1.13 m_binbuf.c
---- m_binbuf.c	4 Oct 2006 19:35:06 -0000	1.13
-+++ m_binbuf.c	12 Feb 2007 03:45:44 -0000
-@@ -672,6 +672,10 @@
-             case A_SYMBOL:
-                 typedmess(target, stackwas->a_w.w_symbol, nargs-1, stackwas+1);
-                 break;
-+            case A_BLOB: /* MP 20070106 blob type */
-+                if (nargs == 1) pd_blob(target, stackwas->a_w.w_blob);
-+                else pd_list(target, 0, nargs, stackwas);
-+                break;
-             case A_FLOAT:
-                 if (nargs == 1) pd_float(target, stackwas->a_w.w_float);
-                 else pd_list(target, 0, nargs, stackwas);
-Index: pd/src/m_class.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/m_class.c,v
-retrieving revision 1.7
-diff -u -w -r1.7 m_class.c
---- m_class.c	15 Aug 2006 04:54:15 -0000	1.7
-+++ m_class.c	12 Feb 2007 03:45:44 -0000
-@@ -20,6 +20,7 @@
- 
- static t_symbol *class_loadsym;     /* name under which an extern is invoked */
- static void pd_defaultfloat(t_pd *x, t_float f);
-+static void pd_defaultblob(t_pd *x, t_blob *st); /* MP20061226 blob type */
- static void pd_defaultlist(t_pd *x, t_symbol *s, int argc, t_atom *argv);
- t_pd pd_objectmaker;    /* factory for creating "object" boxes */
- t_pd pd_canvasmaker;    /* factory for creating canvases */
-@@ -38,6 +39,11 @@
-     else (*(*x)->c_anymethod)(x, &s_bang, 0, 0);
- }
- 
-+static void pd_defaultblob(t_pd *x, t_blob *st) /* MP 20061226 blob type */
-+{ /* for now just reject it, later convert to symbol/float/list */
-+    pd_error(x, "%s: no method for blob so far...", (*x)->c_name->s_name);
-+}
-+
- static void pd_defaultpointer(t_pd *x, t_gpointer *gp)
- {
-     if (*(*x)->c_listmethod != pd_defaultlist)
-@@ -205,6 +211,7 @@
-     c->c_pointermethod = pd_defaultpointer;
-     c->c_floatmethod = pd_defaultfloat;
-     c->c_symbolmethod = pd_defaultsymbol;
-+    c->c_blobmethod = pd_defaultblob; /* MP 20061226 blob type */
-     c->c_listmethod = pd_defaultlist;
-     c->c_anymethod = pd_defaultanything;
-     c->c_wb = (typeflag == CLASS_PATCHABLE ? &text_widgetbehavior : 0);
-@@ -288,6 +295,12 @@
-         if (argtype != A_SYMBOL || va_arg(ap, t_atomtype)) goto phooey;
-         class_addsymbol(c, fn);
-     }
-+    else if (sel == &s_blob) /* MP 20070106 blob type */
-+    {
-+        post("class_addmethod: %p", fn);
-+        if (argtype != A_BLOB || va_arg(ap, t_atomtype)) goto phooey;
-+        class_addblob(c, fn);
-+    }
-     else if (sel == &s_list)
-     {
-         if (argtype != A_GIMME) goto phooey;
-@@ -346,6 +359,11 @@
-     c->c_symbolmethod = (t_symbolmethod)fn;
- }
- 
-+void class_addblob(t_class *c, t_method fn) /* MP 20061226 blob type */
-+{
-+    c->c_blobmethod = (t_blobmethod)fn;
-+}
-+
- void class_addlist(t_class *c, t_method fn)
- {
-     c->c_listmethod = (t_listmethod)fn;
-@@ -564,9 +582,10 @@
- t_symbol  s_x =         {"x", 0, 0};
- t_symbol  s_y =         {"y", 0, 0};
- t_symbol  s_ =          {"", 0, 0};
-+t_symbol  s_blob =    {"blob", 0, 0}; /* MP 20061223 blob type */
- 
- static t_symbol *symlist[] = { &s_pointer, &s_float, &s_symbol, &s_bang,
--    &s_list, &s_anything, &s_signal, &s__N, &s__X, &s_x, &s_y, &s_};
-+    &s_list, &s_anything, &s_signal, &s__N, &s__X, &s_x, &s_y, &s_, &s_blob}; /* MP 20061223 added s_blob */
- 
- void mess_init(void)
- {
-@@ -654,6 +673,13 @@
-             (*c->c_symbolmethod)(x, &s_);
-         return;
-     }
-+    if (s == &s_blob) /* MP 20061226 blob type */
-+    {
-+        /*post("pd_typedmess argc = %d\n", argc);*//* MP 20061226 debug */
-+        if (argc == 1) (*c->c_blobmethod)(x, argv->a_w.w_blob);
-+        else goto badarg;
-+        return;
-+    }
-     for (i = c->c_nmethod, m = c->c_methods; i--; m++)
-         if (m->me_name == s)
-     {
-@@ -698,6 +724,19 @@
-                 }
-                 dp++;
-                 break;
-+            case A_BLOB:/* MP 20070106 blob type */
-+                /*post("pd_typedmess A_BLOB");*/
-+                if (!argc) goto badarg;
-+                if (argv->a_type == A_BLOB)
-+                {
-+                    /*post("argv->a_type == A_BLOB, argc = %d, narg= %d", argc, narg);*/
-+                    *ap = (t_int)(argv->a_w.w_blob);
-+                }
-+                argc--;
-+                argv++;
-+                narg++;
-+                ap++;
-+                break;
-             case A_SYMBOL:
-                 if (!argc) goto badarg;
-             case A_DEFSYM:
-@@ -772,6 +811,10 @@
-         {
-         case 'f': SETFLOAT(at, va_arg(ap, double)); break;
-         case 's': SETSYMBOL(at, va_arg(ap, t_symbol *)); break;
-+        case 't':
-+            SETBLOB(at, va_arg(ap, t_blob *));
-+            /*post("pd_vmess: arg[0].a_w.w_blob = %p", arg[0].a_w.w_blob);*/
-+            break; /* MP 20061226 blob type */
-         case 'i': SETFLOAT(at, va_arg(ap, t_int)); break;       
-         case 'p': SETPOINTER(at, va_arg(ap, t_gpointer *)); break;
-         default: goto done;
-Index: pd/src/m_imp.h
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/m_imp.h,v
-retrieving revision 1.4
-diff -u -w -r1.4 m_imp.h
---- m_imp.h	19 Aug 2005 23:28:03 -0000	1.4
-+++ m_imp.h	12 Feb 2007 03:45:44 -0000
-@@ -25,6 +25,7 @@
- typedef void (*t_pointermethod)(t_pd *x, t_gpointer *gp);
- typedef void (*t_floatmethod)(t_pd *x, t_float f);
- typedef void (*t_symbolmethod)(t_pd *x, t_symbol *s);
-+typedef void (*t_blobmethod)(t_pd *x, t_blob *st); /* MP20061226 blob type */
- typedef void (*t_listmethod)(t_pd *x, t_symbol *s, int argc, t_atom *argv);
- typedef void (*t_anymethod)(t_pd *x, t_symbol *s, int argc, t_atom *argv);
- 
-@@ -41,6 +42,7 @@
-     t_pointermethod c_pointermethod;
-     t_floatmethod c_floatmethod;
-     t_symbolmethod c_symbolmethod;
-+    t_blobmethod c_blobmethod;  /* MP20061226 blob type */
-     t_listmethod c_listmethod;
-     t_anymethod c_anymethod;
-     struct _widgetbehavior *c_wb;       /* "gobjs" only */
-Index: pd/src/m_obj.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/m_obj.c,v
-retrieving revision 1.4
-diff -u -w -r1.4 m_obj.c
---- m_obj.c	18 May 2005 04:28:51 -0000	1.4
-+++ m_obj.c	12 Feb 2007 03:45:44 -0000
-@@ -15,6 +15,7 @@
-     t_gpointer *iu_pointerslot;
-     t_float *iu_floatslot;
-     t_symbol **iu_symslot;
-+    t_blob **iu_blobslot; /* MP 20061226 blob type */
-     t_sample iu_floatsignalvalue;
- };
- 
-@@ -32,9 +33,10 @@
- #define i_pointerslot i_un.iu_pointerslot
- #define i_floatslot i_un.iu_floatslot
- #define i_symslot i_un.iu_symslot
-+#define i_blobslot i_un.iu_blobslot /* MP 20061226 blob type */
- 
- static t_class *inlet_class, *pointerinlet_class, *floatinlet_class,
--    *symbolinlet_class;
-+    *symbolinlet_class, *blobinlet_class; /* MP 20061226 added blobinlet_class */
- 
- #define ISINLET(pd) ((*(pd) == inlet_class) || \
-     (*(pd) == pointerinlet_class) || \
-@@ -111,6 +113,26 @@
-     else inlet_wrong(x, &s_symbol);
- }
- 
-+static void inlet_blob(t_inlet *x, t_blob *st) /* MP20061226 blob type */
-+{
-+    /*post("inlet_blob (%p): st %p", &inlet_blob, st);*/
-+    if (x->i_symfrom == &s_blob)
-+    {
-+        /*post("inlet_blob calling pd_vmess");*/
-+        pd_vmess(x->i_dest, x->i_symto, "t", st);
-+    }
-+    else if (!x->i_symfrom)
-+    {
-+        /*post("inlet_blob calling pd_blob");*/
-+        pd_blob(x->i_dest, st);
-+    }
-+    else
-+    {
-+        /*post("inlet_blob calling inlet_wrong");*/
-+        inlet_wrong(x, &s_blob);
-+    }
-+}
-+
- static void inlet_list(t_inlet *x, t_symbol *s, int argc, t_atom *argv)
- {
-     t_atom at;
-@@ -192,6 +214,23 @@
-     return (x);
- }
- 
-+t_inlet *blobinlet_new(t_object *owner, t_blob **stp) /* MP 20061226 blob type */
-+{
-+    t_inlet *x = (t_inlet *)pd_new(blobinlet_class), *y, *y2;
-+    x->i_owner = owner;
-+    x->i_dest = 0;
-+    x->i_symfrom = &s_blob;
-+    x->i_blobslot = stp;
-+    x->i_next = 0;
-+    if (y = owner->ob_inlet)
-+    {
-+        while (y2 = y->i_next) y = y2;
-+        y->i_next = x;
-+    }
-+    else owner->ob_inlet = x;
-+    return (x);
-+}
-+
- static void symbolinlet_symbol(t_inlet *x, t_symbol *s)
- {
-     *(x->i_symslot) = s;
-@@ -244,6 +283,7 @@
-     class_addpointer(inlet_class, inlet_pointer);
-     class_addfloat(inlet_class, inlet_float);
-     class_addsymbol(inlet_class, inlet_symbol);
-+    class_addblob(inlet_class, inlet_blob); /* MP 20061226 blob type */
-     class_addlist(inlet_class, inlet_list);
-     class_addanything(inlet_class, inlet_anything);
- 
-@@ -366,6 +406,18 @@
-     --stackcount;
- }
- 
-+void outlet_blob(t_outlet *x, t_blob *st) /* MP 20061226 blob type */
-+{
-+    /*post("outlet_blob %p %lu", st, st->s_length);*/
-+    t_outconnect *oc;
-+    if(++stackcount >= STACKITER)
-+        outlet_stackerror(x);
-+    else
-+        for (oc = x->o_connections; oc; oc = oc->oc_next)
-+            pd_blob(oc->oc_to, st);
-+    --stackcount;
-+}
-+
- void outlet_list(t_outlet *x, t_symbol *s, int argc, t_atom *argv)
- {
-     t_outconnect *oc;
-Index: pd/src/m_pd.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/m_pd.c,v
-retrieving revision 1.4
-diff -u -w -r1.4 m_pd.c
---- m_pd.c	28 Nov 2004 21:20:42 -0000	1.4
-+++ m_pd.c	12 Feb 2007 03:45:44 -0000
-@@ -284,6 +284,12 @@
-     (*(*x)->c_symbolmethod)(x, s);
- }
- 
-+void pd_blob(t_pd *x, t_blob *st) /* MP20061226 blob type */
-+{
-+    /*post("pd_blob: st %p length %lu (*x)->c_blobmethod %p", st, st->s_length, (*x)->c_blobmethod);*/
-+    (*(*x)->c_blobmethod)(x, st);
-+}
-+
- void pd_list(t_pd *x, t_symbol *s, int argc, t_atom *argv)
- {
-     (*(*x)->c_listmethod)(x, &s_list, argc, argv);
-Index: pd/src/m_pd.h
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/m_pd.h,v
-retrieving revision 1.17
-diff -u -w -r1.17 m_pd.h
---- m_pd.h	22 Oct 2006 21:46:11 -0000	1.17
-+++ m_pd.h	12 Feb 2007 03:45:44 -0000
-@@ -102,6 +102,16 @@
-     t_gstub *gp_stub;               /* stub which points to glist/array */
- } t_gpointer;
- 
-+#define PD_BLOBS 1 /* MP20070211 Use this to test for blob capability */
-+/* MP20061223 blob type: */
-+typedef struct _blob /* pointer to a blob */
-+{
-+   unsigned long s_length; /* length of blob in bytes */
-+   unsigned char *s_data; /* pointer to 1st byte of blob */
-+} t_blob;
-+/* ...MP20061223 blob type */
-+
-+
- typedef union word
- {
-     t_float w_float;
-@@ -110,6 +120,7 @@
-     t_array *w_array;
-     struct _glist *w_list;
-     int w_index;
-+    t_blob *w_blob; /* MP20061223 blob type */
- } t_word;
- 
- typedef enum
-@@ -125,7 +136,8 @@
-     A_DOLLAR, 
-     A_DOLLSYM,
-     A_GIMME,
--    A_CANT
-+    A_CANT,
-+    A_BLOB /* MP20061223 blob type */
- }  t_atomtype;
- 
- #define A_DEFSYMBOL A_DEFSYM    /* better name for this */
-@@ -212,6 +224,7 @@
- EXTERN t_symbol s_pointer;
- EXTERN t_symbol s_float;
- EXTERN t_symbol s_symbol;
-+EXTERN t_symbol s_blob;
- EXTERN t_symbol s_bang;
- EXTERN t_symbol s_list;
- EXTERN t_symbol s_anything;
-@@ -255,6 +268,7 @@
- #define SETFLOAT(atom, f) ((atom)->a_type = A_FLOAT, (atom)->a_w.w_float = (f))
- #define SETSYMBOL(atom, s) ((atom)->a_type = A_SYMBOL, \
-     (atom)->a_w.w_symbol = (s))
-+#define SETBLOB(atom, st) ((atom)->a_type = A_BLOB, (atom)->a_w.w_blob = (st)) /* MP 20061226 blob type */
- #define SETDOLLAR(atom, n) ((atom)->a_type = A_DOLLAR, \
-     (atom)->a_w.w_index = (n))
- #define SETDOLLSYM(atom, s) ((atom)->a_type = A_DOLLSYM, \
-@@ -263,6 +277,7 @@
- EXTERN t_float atom_getfloat(t_atom *a);
- EXTERN t_int atom_getint(t_atom *a);
- EXTERN t_symbol *atom_getsymbol(t_atom *a);
-+EXTERN t_blob *atom_getblob(t_atom *a);/* MP 20070108 blob type */
- EXTERN t_symbol *atom_gensym(t_atom *a);
- EXTERN t_float atom_getfloatarg(int which, int argc, t_atom *argv);
- EXTERN t_int atom_getintarg(int which, int argc, t_atom *argv);
-@@ -326,6 +341,7 @@
- EXTERN void pd_pointer(t_pd *x, t_gpointer *gp);
- EXTERN void pd_float(t_pd *x, t_float f);
- EXTERN void pd_symbol(t_pd *x, t_symbol *s);
-+EXTERN void pd_blob(t_pd *x, t_blob *st); /* MP 20061226 blob type */
- EXTERN void pd_list(t_pd *x, t_symbol *s, int argc, t_atom *argv);
- EXTERN void pd_anything(t_pd *x, t_symbol *s, int argc, t_atom *argv);
- #define pd_class(x) (*(x))
-@@ -350,6 +366,7 @@
- EXTERN void outlet_pointer(t_outlet *x, t_gpointer *gp);
- EXTERN void outlet_float(t_outlet *x, t_float f);
- EXTERN void outlet_symbol(t_outlet *x, t_symbol *s);
-+EXTERN void outlet_blob(t_outlet *x, t_blob *st); /* MP 20061226 blob type */
- EXTERN void outlet_list(t_outlet *x, t_symbol *s, int argc, t_atom *argv);
- EXTERN void outlet_anything(t_outlet *x, t_symbol *s, int argc, t_atom *argv);
- EXTERN t_symbol *outlet_getsymbol(t_outlet *x);
-@@ -404,6 +421,7 @@
- EXTERN void class_addpointer(t_class *c, t_method fn);
- EXTERN void class_doaddfloat(t_class *c, t_method fn);
- EXTERN void class_addsymbol(t_class *c, t_method fn);
-+EXTERN void class_addblob(t_class *c, t_method fn);/* MP 20061226 blob type */
- EXTERN void class_addlist(t_class *c, t_method fn);
- EXTERN void class_addanything(t_class *c, t_method fn);
- EXTERN void class_sethelpsymbol(t_class *c, t_symbol *s);
-@@ -432,6 +450,7 @@
- #define class_addpointer(x, y) class_addpointer((x), (t_method)(y))
- #define class_addfloat(x, y) class_doaddfloat((x), (t_method)(y))
- #define class_addsymbol(x, y) class_addsymbol((x), (t_method)(y))
-+#define class_addblob(x, y) class_addblob((x), (t_method)(y)) /* MP20061226 blob type */
- #define class_addlist(x, y) class_addlist((x), (t_method)(y))
- #define class_addanything(x, y) class_addanything((x), (t_method)(y))
- #endif
diff --git a/packages/patches/arrow_keys_update_scrollbars-0.40.3.patch b/packages/patches/arrow_keys_update_scrollbars-0.40.3.patch
deleted file mode 100644
index ad9ad44c2..000000000
--- a/packages/patches/arrow_keys_update_scrollbars-0.40.3.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Index: g_editor.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/g_editor.c,v
-retrieving revision 1.20.6.3
-diff -u -w -r1.20.6.3 g_editor.c
---- g_editor.c	9 Nov 2007 06:28:44 -0000	1.20.6.3
-+++ g_editor.c	26 Nov 2007 22:51:05 -0000
-@@ -1420,8 +1420,6 @@
-                 gobj_activate(x->gl_editor->e_selection->sel_what,
-                     x, 1);
-     }
--    if (x->gl_editor->e_onmotion != MA_NONE)
--        sys_vgui("pdtk_canvas_getscroll .x%lx.c\n", x);
- 
-     x->gl_editor->e_onmotion = MA_NONE;
- }
-@@ -1446,6 +1444,7 @@
-     }
-     if (resortin) canvas_resortinlets(x);
-     if (resortout) canvas_resortoutlets(x);
-+    sys_vgui("pdtk_canvas_getscroll .x%lx.c\n", x);
-     canvas_dirty(x, 1);
- }
- 
diff --git a/packages/patches/closeinitbang-0.40-0test03.patch b/packages/patches/closeinitbang-0.40-0test03.patch
deleted file mode 100644
index 684b315f4..000000000
--- a/packages/patches/closeinitbang-0.40-0test03.patch
+++ /dev/null
@@ -1,186 +0,0 @@
-diff -Naur src.org/g_canvas.c src/g_canvas.c
---- g_canvas.c	2006-08-15 21:50:14.000000000 +0200
-+++ g_canvas.c	2006-08-22 16:19:17.000000000 +0200
-@@ -1040,6 +1040,52 @@
-     canvas_loadbangabstractions(x);
-     canvas_loadbangsubpatches(x);
- }
-+/* JMZ:
-+ * initbang is emitted after the canvas is done, but before the parent canvas is done
-+ * therefore, initbangs cannot reach to the outlets
-+ */
-+void canvas_initbang(t_canvas *x)
-+{
-+    t_gobj *y;
-+    t_symbol *s = gensym("initbang");
-+    /* run "initbang" for all subpatches, but NOT for the child abstractions */
-+    for (y = x->gl_list; y; y = y->g_next)
-+      if (pd_class(&y->g_pd) == canvas_class)
-+        {
-+          if (!canvas_isabstraction((t_canvas *)y))
-+            canvas_initbang((t_canvas *)y);
-+        }
-+
-+    /* call the initbang()-method for objects that have one */
-+    for (y = x->gl_list; y; y = y->g_next)
-+      {
-+        if ((pd_class(&y->g_pd) != canvas_class) && zgetfn(&y->g_pd, s))
-+          {
-+            pd_vmess(&y->g_pd, s, "");
-+          }
-+      }
-+}
-+/* JMZ:
-+ * closebang is emitted before the canvas is destroyed
-+ * and BEFORE subpatches/abstractions in this canvas are destroyed
-+ */
-+void canvas_closebang(t_canvas *x)
-+{
-+    t_gobj *y;
-+    t_symbol *s = gensym("closebang");
-+
-+    /* call the closebang()-method for objects that have one 
-+     * but NOT for subpatches/abstractions: these are called separately
-+     * from g_graph:glist_delete()
-+     */
-+    for (y = x->gl_list; y; y = y->g_next)
-+      {
-+        if ((pd_class(&y->g_pd) != canvas_class) && zgetfn(&y->g_pd, s))
-+          {
-+            pd_vmess(&y->g_pd, s, "");
-+          }
-+      }
-+}
- 
-     /* When you ask a canvas its size the result is 2 pixels more than what
-     you gave it to open it; perhaps there's a 1-pixel border all around it
-diff -Naur src.org/g_graph.c src/g_graph.c
---- g_graph.c	2006-03-01 03:00:13.000000000 +0100
-+++ g_graph.c	2006-08-22 16:20:55.000000000 +0200
-@@ -62,6 +62,9 @@
-     return (ret);
- }
- 
-+/* JMZ: emit a closebang message */
-+void canvas_closebang(t_canvas *x);
-+
-     /* delete an object from a glist and free it */
- void glist_delete(t_glist *x, t_gobj *y)
- {
-@@ -71,7 +74,12 @@
-     t_canvas *canvas = glist_getcanvas(x);
-     int drawcommand = class_isdrawcommand(y->g_pd);
-     int wasdeleting;
--    
-+
-+    if (pd_class(&y->g_pd) == canvas_class) {
-+      /* JMZ: send a closebang to the canvas */
-+      canvas_closebang((t_canvas *)y);
-+    }
-+ 
-     wasdeleting = canvas_setdeleting(canvas, 1);
-     if (x->gl_editor)
-     {
-diff -Naur src.org/m_class.c src/m_class.c
---- m_class.c	2006-08-12 07:06:47.000000000 +0200
-+++ m_class.c	2006-08-22 16:19:17.000000000 +0200
-@@ -509,6 +509,8 @@
- static int tryingalready;
- 
- void canvas_popabstraction(t_canvas *x);
-+void canvas_initbang(t_canvas *x);
-+
- extern t_pd *newest;
- 
- t_symbol* pathsearch(t_symbol *s,char* ext);
-@@ -543,9 +545,11 @@
-         {
-             canvas_setargs(argc, argv);
-             binbuf_evalfile(gensym(nameptr), gensym(dirbuf));
-+            canvas_initbang((t_canvas *)(s__X.s_thing));/* JMZ*/
-             if (s__X.s_thing != current)
-                 canvas_popabstraction((t_canvas *)(s__X.s_thing));
-             canvas_setargs(0, 0);
-+
-         }
-         else error("%s: can't load abstraction within itself\n", s->s_name);
-     }
-diff -Naur src.org/x_misc.c src/x_misc.c
---- x_misc.c	2005-12-31 21:08:38.000000000 +0100
-+++ x_misc.c	2006-08-22 16:19:17.000000000 +0200
-@@ -111,6 +111,66 @@
-         gensym("loadbang"), 0);
- }
- 
-+
-+/* -------------------------- JMZ: initbang ------------------------------ */
-+static t_class *initbang_class;
-+
-+typedef struct _initbang
-+{
-+    t_object x_obj;
-+} t_initbang;
-+
-+static void *initbang_new(void)
-+{
-+    t_initbang *x = (t_initbang *)pd_new(initbang_class);
-+    outlet_new(&x->x_obj, &s_bang);
-+    return (x);
-+}
-+
-+static void initbang_initbang(t_initbang *x)
-+{
-+  if (!sys_noloadbang) /* JMZ: hmm, not sure whether we should respect sys_noloadbang here... */
-+        outlet_bang(x->x_obj.ob_outlet);
-+}
-+
-+static void initbang_setup(void)
-+{
-+  initbang_class = class_new(gensym("initbang"), (t_newmethod)initbang_new, 0,
-+        sizeof(t_initbang), CLASS_NOINLET, 0);
-+    class_addmethod(initbang_class, (t_method)initbang_initbang,
-+        gensym("initbang"), 0);
-+}
-+
-+
-+/* -------------------------- JMZ: closebang ------------------------------ */
-+static t_class *closebang_class;
-+
-+typedef struct _closebang
-+{
-+    t_object x_obj;
-+} t_closebang;
-+
-+static void *closebang_new(void)
-+{
-+    t_closebang *x = (t_closebang *)pd_new(closebang_class);
-+    outlet_new(&x->x_obj, &s_bang);
-+    return (x);
-+}
-+static void closebang_closebang(t_closebang *x)
-+{
-+  if (!sys_noloadbang) /* JMZ: hmm, not sure whether we should respect sys_noloadbang here... */
-+        outlet_bang(x->x_obj.ob_outlet);
-+}
-+
-+static void closebang_setup(void)
-+{
-+  closebang_class = class_new(gensym("closebang"), (t_newmethod)closebang_new, 0,
-+        sizeof(t_closebang), CLASS_NOINLET, 0);
-+    class_addmethod(closebang_class, (t_method)closebang_closebang,
-+        gensym("closebang"), 0);
-+}
-+
-+
- /* ------------- namecanvas (delete this later) --------------------- */
- static t_class *namecanvas_class;
- 
-@@ -314,6 +374,8 @@
- {
-     random_setup();
-     loadbang_setup();
-+    initbang_setup();
-+    closebang_setup();
-     namecanvas_setup();
-     serial_setup();
-     cputime_setup();
diff --git a/packages/patches/color_scheme_support-0.40.3.patch b/packages/patches/color_scheme_support-0.40.3.patch
deleted file mode 100644
index d3eed1082..000000000
--- a/packages/patches/color_scheme_support-0.40.3.patch
+++ /dev/null
@@ -1,392 +0,0 @@
-Index: g_canvas.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/g_canvas.c,v
-retrieving revision 1.11.2.1
-diff -u -w -r1.11.2.1 g_canvas.c
---- g_canvas.c	19 Dec 2006 05:55:44 -0000	1.11.2.1
-+++ g_canvas.c	4 Nov 2007 07:14:17 -0000
-@@ -895,13 +895,15 @@
- {
-     t_linetraverser t;
-     t_outconnect *oc;
--    {
-+    int issignal;
-+    
-         linetraverser_start(&t, x);
-         while (oc = linetraverser_next(&t))
--            sys_vgui(".x%lx.c create line %d %d %d %d -width %d -tags l%lx\n",
--                    glist_getcanvas(x),
--                        t.tr_lx1, t.tr_ly1, t.tr_lx2, t.tr_ly2, 
--                            (outlet_getsymbol(t.tr_outlet) == &s_signal ? 2:1),
-+    {
-+        issignal = (outlet_getsymbol(t.tr_outlet) == &s_signal ? 1 : 0);
-+        sys_vgui(".x%lx.c create line %d %d %d %d -width %d -fill %s -tags l%lx\n",
-+                 glist_getcanvas(x), t.tr_lx1, t.tr_ly1, t.tr_lx2, t.tr_ly2, 
-+                 (issignal ? 2:1), (issignal ? "$signal_cord" : "$msg_cord"),
-                                 oc);
-     }
- }
-Index: g_editor.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/g_editor.c,v
-retrieving revision 1.13.2.1
-diff -u -w -r1.13.2.1 g_editor.c
---- g_editor.c	19 Dec 2006 05:55:44 -0000	1.13.2.1
-+++ g_editor.c	4 Nov 2007 07:14:18 -0000
-@@ -108,7 +108,7 @@
-         x->gl_editor->e_selectline_index2 = index2;
-         x->gl_editor->e_selectline_inno = inno;
-         x->gl_editor->e_selectline_tag = oc;
--        sys_vgui(".x%lx.c itemconfigure l%lx -fill blue\n",
-+        sys_vgui(".x%lx.c itemconfigure l%lx -fill $select_color\n",
-             x, x->gl_editor->e_selectline_tag);
-     }    
- }
-@@ -117,9 +117,21 @@
- {
-     if (x->gl_editor)
-     {
-+        t_linetraverser t;
-+        t_outconnect *oc;
-         x->gl_editor->e_selectedline = 0;
--        sys_vgui(".x%lx.c itemconfigure l%lx -fill black\n",
--            x, x->gl_editor->e_selectline_tag);
-+        linetraverser_start(&t, glist_getcanvas(x));
-+        do {
-+            oc = linetraverser_next(&t);
-+        } while (oc && oc != x->gl_editor->e_selectline_tag);
-+        int issignal;
-+        if(outlet_getsymbol(t.tr_outlet) == &s_signal)
-+            issignal = 1;
-+        else
-+            issignal = 0;
-+        sys_vgui(".x%lx.c itemconfigure l%lx -fill %s\n",
-+            x, x->gl_editor->e_selectline_tag,
-+            (issignal ? "$signal_cord" : "$msg_cord"));
-     }    
- }
- 
-@@ -1149,7 +1161,11 @@
-                                 x, xpos, ypos, xpos, ypos,
-                                     (issignal ? 2 : 1));
-                     }                                   
--                    else canvas_setcursor(x, CURSOR_EDITMODE_CONNECT);
-+                    else 
-+                    {
-+                        canvas_setcursor(x, CURSOR_EDITMODE_CONNECT);
-+                    }
-+                    
-                 }
-                 else if (doit)
-                     goto nooutletafterall;
-@@ -1319,6 +1335,7 @@
-             }
-             if (doit)
-             {
-+                int issignal = obj_issignaloutlet(ob1, closest1);
-                 oc = obj_connect(ob1, closest1, ob2, closest2);
-                 lx1 = x11 + (noutlet1 > 1 ?
-                         ((x12-x11-IOWIDTH) * closest1)/(noutlet1-1) : 0)
-@@ -1328,10 +1345,12 @@
-                         ((x22-x21-IOWIDTH) * closest2)/(ninlet2-1) : 0)
-                             + IOMIDDLE;
-                 ly2 = y21;
--                sys_vgui(".x%lx.c create line %d %d %d %d -width %d -tags l%lx\n",
-+                sys_vgui(".x%lx.c create line %d %d %d %d -fill %s -width %d -tags l%lx\n",
-                     glist_getcanvas(x),
-                         lx1, ly1, lx2, ly2,
--                            (obj_issignaloutlet(ob1, closest1) ? 2 : 1), oc);
-+                    (issignal ? "$signal_cord" : "$msg_cord"),
-+                    (issignal ? 2 : 1), 
-+                    oc);
-                 canvas_setundo(x, canvas_undo_connect,
-                     canvas_undo_set_connect(x, 
-                         canvas_getindex(x, &ob1->ob_g), closest1,
-Index: g_rtext.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/g_rtext.c,v
-retrieving revision 1.5.2.4
-diff -u -w -r1.5.2.4 g_rtext.c
---- g_rtext.c	19 May 2007 04:04:30 -0000	1.5.2.4
-+++ g_rtext.c	4 Nov 2007 07:14:18 -0000
-@@ -248,7 +248,7 @@
-             dispx + LMARGIN, dispy + TMARGIN,
-             outchars, tempbuf, sys_hostfontsize(font),
-             (glist_isselected(x->x_glist,
--                &x->x_glist->gl_gobj)? "blue" : "black"));
-+                &x->x_glist->gl_gobj)? "$select_color" : "$text_color"));
-     else if (action == SEND_UPDATE)
-     {
-         sys_vgui("pdtk_text_set .x%lx.c %s {%.*s}\n",
-@@ -384,7 +384,7 @@
-     t_glist *glist = x->x_glist;
-     t_canvas *canvas = glist_getcanvas(glist);
-     sys_vgui(".x%lx.c itemconfigure %s -fill %s\n", canvas, 
--        x->x_tag, (state? "blue" : "black"));
-+        x->x_tag, (state? "$select_color" : "$text_color"));
-     canvas_editing = canvas;
- }
- 
-Index: g_scalar.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/g_scalar.c,v
-retrieving revision 1.8
-diff -u -w -r1.8 g_scalar.c
---- g_scalar.c	21 Aug 2005 17:46:52 -0000	1.8
-+++ g_scalar.c	4 Nov 2007 07:14:19 -0000
-@@ -215,7 +215,7 @@
-         scalar_getrect(z, owner, &x1, &y1, &x2, &y2);
-         x1--; x2++; y1--; y2++;
-         sys_vgui(".x%lx.c create line %d %d %d %d %d %d %d %d %d %d \
--            -width 0 -fill blue -tags select%lx\n",
-+            -width 0 -fill $select_color -tags select%lx\n",
-                 glist_getcanvas(owner), x1, y1, x1, y2, x2, y2, x2, y1, x1, y1,
-                 x);
-     }
-Index: g_text.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/g_text.c,v
-retrieving revision 1.11.2.1
-diff -u -w -r1.11.2.1 g_text.c
---- g_text.c	19 Dec 2006 05:55:44 -0000	1.11.2.1
-+++ g_text.c	4 Nov 2007 07:14:19 -0000
-@@ -803,7 +803,7 @@
-                 (double)x1, (double)y1,
-                 canvas_realizedollar(x->a_glist, x->a_label)->s_name,
-                 sys_hostfontsize(glist_getfont(glist)),
--                "black");
-+                "$text_color");
-         }
-         else sys_vgui(".x%lx.c delete %lx.l\n", glist_getcanvas(glist), x);
-     }
-@@ -936,7 +936,7 @@
-         int font = glist_getfont(glist);
-         int fontwidth = sys_fontwidth(font), fontheight = sys_fontheight(font);
-         width = (x->te_width > 0 ? x->te_width : 6) * fontwidth + 2;
--        height = fontheight + 1; /* borrowed from TMARGIN, etc, in g_rtext.c */
-+        height = fontheight + 2; /* borrowed from TMARGIN, etc, in g_rtext.c */
-     }
-         /* if we're invisible we don't know our size so we just lie about
-         it.  This is called on invisible boxes to establish order of inlets
-@@ -984,10 +984,15 @@
- {
-     t_text *x = (t_text *)z;
-     t_rtext *y = glist_findrtext(glist, x);
-+    char *outline;
-     rtext_select(y, state);
-+    if (pd_class(&x->te_pd) == text_class)
-+        outline = "$dash_outline";
-+    else
-+        outline = "$box_outline";
-     if (glist_isvisible(glist) && text_shouldvis(x, glist))
--        sys_vgui(".x%lx.c itemconfigure %sR -fill %s\n", glist, 
--            rtext_gettag(y), (state? "blue" : "black"));
-+        sys_vgui(".x%lx.c itemconfigure %sR -outline %s\n", glist, 
-+                 rtext_gettag(y), (state? "$select_color" : outline));
- }
- 
- static void text_activate(t_gobj *z, t_glist *glist, int state)
-@@ -1166,19 +1171,24 @@
- {
-     int n = obj_noutlets(ob), nplus = (n == 1 ? 1 : n-1), i;
-     int width = x2 - x1;
-+    int issignal;
-     for (i = 0; i < n; i++)
-     {
-         int onset = x1 + (width - IOWIDTH) * i / nplus;
-         if (firsttime)
--            sys_vgui(".x%lx.c create rectangle %d %d %d %d -tags %so%d\n",
--                glist_getcanvas(glist),
--                onset, y2 - 1,
--                onset + IOWIDTH, y2,
-+        {
-+            issignal = obj_issignaloutlet(ob,i);
-+            sys_vgui(".x%lx.c create rectangle %d %d %d %d \
-+                      -fill %s -outline %s -tags %so%d\n",
-+                glist_getcanvas(glist), onset, y2 - 2, onset + IOWIDTH, y2,
-+                (issignal ? "$signal_nlet" : "$msg_nlet"),
-+                (issignal ? "$signal_cord" : "$msg_cord"),
-                 tag, i);
-+        }
-         else
-             sys_vgui(".x%lx.c coords %so%d %d %d %d %d\n",
-                 glist_getcanvas(glist), tag, i,
--                onset, y2 - 1,
-+                onset, y2 - 2,
-                 onset + IOWIDTH, y2);
-     }
-     n = obj_ninlets(ob);
-@@ -1187,11 +1197,15 @@
-     {
-         int onset = x1 + (width - IOWIDTH) * i / nplus;
-         if (firsttime)
--            sys_vgui(".x%lx.c create rectangle %d %d %d %d -tags %si%d\n",
--                glist_getcanvas(glist),
--                onset, y1,
--                onset + IOWIDTH, y1 + EXTRAPIX,
-+        {
-+            issignal = obj_issignalinlet(ob,i);
-+            sys_vgui(".x%lx.c create rectangle %d %d %d %d \
-+                      -fill %s -outline %s -tags %si%d\n",
-+                glist_getcanvas(glist), onset, y1, onset + IOWIDTH, y1 + EXTRAPIX,
-+                (issignal ? "$signal_nlet" : "$msg_nlet"),
-+                (issignal ? "$signal_cord" : "$msg_cord"),
-                 tag, i);
-+        }
-         else
-             sys_vgui(".x%lx.c coords %si%d %d %d %d %d\n",
-                 glist_getcanvas(glist), tag, i,
-@@ -1204,57 +1218,74 @@
-     char *tag, int width2, int height2, int firsttime)
- {
-     t_object *ob;
--    int x1, y1, x2, y2, width, height;
-+    int x1, y1, x2, y2, width, height, msg_draw_const, atom_draw_const;
-     text_getrect(&x->te_g, glist, &x1, &y1, &x2, &y2);
-     width = x2 - x1;
-     height = y2 - y1;
-     if (x->te_type == T_OBJECT)
-     {
--        char *pattern = ((pd_class(&x->te_pd) == text_class) ? "-" : "\"\"");
-+        char *pattern; char *outline;
-+        if (pd_class(&x->te_pd) == text_class)
-+        {
-+            pattern = "-";
-+            outline = "$dash_outline";
-+        }
-+        else
-+        {
-+            pattern = "\"\"";
-+            outline = "$box_outline";
-+        }
-         if (firsttime)
--            sys_vgui(".x%lx.c create line\
-- %d %d %d %d %d %d %d %d %d %d -dash %s -tags %sR\n",
-+            sys_vgui(".x%lx.c create polygon %d %d %d %d %d %d %d %d %d %d \
-+                      -dash %s -outline %s -fill $obj_box_fill -tags %sR\n", 
-                 glist_getcanvas(glist),
--                    x1, y1,  x2, y1,  x2, y2,  x1, y2,  x1, y1,  pattern, tag);
-+                     x1, y1,  x2, y1,  x2, y2,  x1, y2,  x1, y1,  
-+                     pattern, outline, tag);
-         else
-         {
--            sys_vgui(".x%lx.c coords %sR\
-- %d %d %d %d %d %d %d %d %d %d\n",
-+            sys_vgui(".x%lx.c coords %sR %d %d %d %d %d %d %d %d %d %d\n",
-                 glist_getcanvas(glist), tag,
-                     x1, y1,  x2, y1,  x2, y2,  x1, y2,  x1, y1);
--            sys_vgui(".x%lx.c itemconfigure %sR -dash %s\n",
--                glist_getcanvas(glist), tag, pattern);
-+            sys_vgui(".x%lx.c itemconfigure %sR -dash %s -outline %s\n",
-+                     glist_getcanvas(glist), tag, pattern, outline);
-         }
-     }
-     else if (x->te_type == T_MESSAGE)
-     {
-+        msg_draw_const = ((y2-y1)/4);
-+        if (msg_draw_const > 10) msg_draw_const = 10; /* looks bad if too big */
-         if (firsttime)
--            sys_vgui(".x%lx.c create line\
-- %d %d %d %d %d %d %d %d %d %d %d %d %d %d -tags %sR\n",
-+            sys_vgui(".x%lx.c create polygon \
-+                     %d %d %d %d %d %d %d %d %d %d %d %d %d %d \
-+                     -outline $box_outline -fill $msg_box_fill -tags %sR\n",
-                 glist_getcanvas(glist),
--                x1, y1,  x2+4, y1,  x2, y1+4,  x2, y2-4,  x2+4, y2,
-+                     x1, y1,  x2+msg_draw_const, y1,  x2, y1+msg_draw_const,  
-+                     x2, y2-msg_draw_const,  x2+msg_draw_const, y2,  
-                 x1, y2,  x1, y1,
-                     tag);
-         else
-             sys_vgui(".x%lx.c coords %sR\
-  %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n",
-                 glist_getcanvas(glist), tag,
--                x1, y1,  x2+4, y1,  x2, y1+4,  x2, y2-4,  x2+4, y2,
--                x1, y2,  x1, y1);
-+                x1, y1,  x2+msg_draw_const, y1,  x2, y1+msg_draw_const,
-+                x2, y2-msg_draw_const, x2+msg_draw_const, y2,  x1, y2,  x1, y1);
-     }
-     else if (x->te_type == T_ATOM)
-     {
-+        atom_draw_const = ((y2-y1)/3);
-         if (firsttime)
--            sys_vgui(".x%lx.c create line\
-- %d %d %d %d %d %d %d %d %d %d %d %d -tags %sR\n",
-+            sys_vgui(".x%lx.c create polygon %d %d %d %d %d %d %d %d %d %d %d %d \
-+                     -outline $box_outline -fill $atom_box_fill -tags %sR\n",
-                 glist_getcanvas(glist),
--                x1, y1,  x2-4, y1,  x2, y1+4,  x2, y2,  x1, y2,  x1, y1,
-+                     x1, y1,  x2-atom_draw_const, y1,  x2, y1+atom_draw_const,  
-+                     x2, y2,  x1, y2,  x1, y1, 
-                     tag);
-         else
-             sys_vgui(".x%lx.c coords %sR\
-  %d %d %d %d %d %d %d %d %d %d %d %d\n",
-                 glist_getcanvas(glist), tag,
--                x1, y1,  x2-4, y1,  x2, y1+4,  x2, y2,  x1, y2,  x1, y1);
-+                x1, y1,  x2-atom_draw_const, y1,  x2, y1+atom_draw_const,
-+                x2, y2,  x1, y2,  x1, y1);
-     }
-         /* draw inlets/outlets */
-     
-Index: u_main.tk
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/u_main.tk,v
-retrieving revision 1.25
-diff -u -w -r1.25 u_main.tk
---- u_main.tk	9 Oct 2006 04:36:12 -0000	1.25
-+++ u_main.tk	4 Nov 2007 07:15:20 -0000
-@@ -31,6 +31,24 @@
- set pd_array_listview_page(0) 0
- # end jsarlo
- 
-+# color scheme
-+set text_color "#000"
-+set select_color "#00f"
-+set dash_outline "#f00"
-+set dash_fill "#fff"
-+set box_outline "#ccc"
-+set graph_outline "#777"
-+set atom_box_fill "#eee"
-+set msg_box_fill "#f8f8f6"
-+set obj_box_fill "#f6f8f8"
-+set signal_cord_highlight "#58a"
-+set signal_cord "#558"
-+set signal_nlet $signal_cord
-+set msg_cord_highlight "#474"
-+set msg_cord "#121"
-+set msg_nlet "#fff"
-+set mixed_nlet "#88aaff"
-+
- if {$pd_nt == 1} {
-     global pd_guidir
-     global pd_tearoff
-Index: g_graph.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/g_graph.c,v
-retrieving revision 1.10
-diff -u -w -r1.10 g_graph.c
---- g_graph.c	3 Jun 2006 19:13:07 -0000	1.10
-+++ g_graph.c	4 Nov 2007 07:26:20 -0000
-@@ -729,7 +729,7 @@
-         t_garray *ga;
-             /* draw a rectangle around the graph */
-         sys_vgui(".x%lx.c create line\
--            %d %d %d %d %d %d %d %d %d %d -tags %s\n",
-+            %d %d %d %d %d %d %d %d %d %d -fill $graph_outline -tags %s\n",
-             glist_getcanvas(x->gl_owner),
-             x1, y1, x1, y2, x2, y2, x2, y1, x1, y1, tag);
-         
-@@ -950,9 +950,10 @@
-         if (canvas_showtext(x))
-             rtext_select(y, state);
-         sys_vgui(".x%lx.c itemconfigure %sR -fill %s\n", glist, 
--        rtext_gettag(y), (state? "blue" : "black"));
-+                 rtext_gettag(y), (state? "$select_color" : "black"));
-         sys_vgui(".x%lx.c itemconfigure graph%lx -fill %s\n",
--            glist_getcanvas(glist), z, (state? "blue" : "black"));
-+                 glist_getcanvas(glist), z, 
-+                 (state? "$select_color" : "$graph_outline"));
-     }
- }
- 
diff --git a/packages/patches/default_and_embedded_plist-0.41.4.patch b/packages/patches/default_and_embedded_plist-0.41.4.patch
deleted file mode 100644
index c5c7119cc..000000000
--- a/packages/patches/default_and_embedded_plist-0.41.4.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-Index: s_file.c
-===================================================================
---- s_file.c	(revision 9789)
-+++ s_file.c	(working copy)
-@@ -235,17 +235,35 @@
- {
-     char cmdbuf[256];
-     int nread = 0, nleft = size;
--       char embedded_prefs[MAXPDSTRING];
--       char user_prefs[MAXPDSTRING];
--       char *homedir = getenv("HOME");
-+	char default_prefs[MAXPDSTRING]; // default prefs embedded in the package
-+	char embedded_prefs[MAXPDSTRING]; // overrides others for standalone app
-+	char embedded_prefs_file[MAXPDSTRING];
-+	char user_prefs_file[MAXPDSTRING];
-+	char *homedir = getenv("HOME");
-     struct stat statbuf;
--       /* the 'defaults' command expects the filename without .plist at the end */
--       snprintf(embedded_prefs, MAXPDSTRING, "%s/../org.puredata.pd", sys_libdir->s_name);
--       snprintf(user_prefs, MAXPDSTRING, "%s/Library/Preferences/org.puredata.pd.plist", homedir);
--       if (stat(user_prefs, &statbuf) == 0)
--    snprintf(cmdbuf, 256, "defaults read org.puredata.pd %s 2> /dev/null\n", key);
--       else 
--               snprintf(cmdbuf, 256, "defaults read %s %s 2> /dev/null\n", embedded_prefs, key);
-+	/* the 'defaults' command expects the filename without .plist at the end */
-+	snprintf(default_prefs, MAXPDSTRING, "%s/../org.puredata.pd.default", 
-+			 sys_libdir->s_name);
-+	snprintf(embedded_prefs, MAXPDSTRING, "%s/../org.puredata.pd", 
-+			 sys_libdir->s_name);
-+	snprintf(embedded_prefs_file, MAXPDSTRING, "%s.plist", embedded_prefs);
-+	snprintf(user_prefs_file, MAXPDSTRING, 
-+			 "%s/Library/Preferences/org.puredata.pd.plist", homedir);
-+	if (stat(embedded_prefs_file, &statbuf) == 0) 
-+	{
-+		snprintf(cmdbuf, 256, 
-+				 "defaults read %s %s 2> /dev/null\n", embedded_prefs, key);
-+	}
-+	else if (stat(user_prefs_file, &statbuf) == 0) 
-+	{
-+		snprintf(cmdbuf, 256, 
-+				 "defaults read org.puredata.pd %s 2> /dev/null\n", key);
-+	}
-+	else 
-+	{
-+		snprintf(cmdbuf, 256, 
-+				 "defaults read %s %s 2> /dev/null\n", default_prefs, key);
-+	}
-     FILE *fp = popen(cmdbuf, "r");
-     while (nread < size)
-     {
diff --git a/packages/patches/disable_close_confirm-0.39.2.patch b/packages/patches/disable_close_confirm-0.39.2.patch
deleted file mode 100644
index 1b954322f..000000000
--- a/packages/patches/disable_close_confirm-0.39.2.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Index: g_editor.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/g_editor.c,v
-retrieving revision 1.13
-diff -u -w -r1.13 g_editor.c
---- g_editor.c	15 Sep 2005 03:17:27 -0000	1.13
-+++ g_editor.c	28 Apr 2006 22:40:57 -0000
-@@ -1688,9 +1688,10 @@
-         }
-         else
-         {
--            sys_vgui(
--"pdtk_check {Close this window??} {.x%lx menuclose 1;\n} yes\n",
--                x);
-+/*             sys_vgui( */
-+/* 				"pdtk_check {Close this window??} {.x%lx menuclose 1;\n} yes\n", */
-+/*                 x); */
-+			pd_free(&x->gl_pd);
-         }
-     }
-     else if (force == 1)
diff --git a/packages/patches/make_sizes_pixel_accurate_on_every_platform-0.40.3.patch b/packages/patches/make_sizes_pixel_accurate_on_every_platform-0.40.3.patch
deleted file mode 100644
index ec2315dfb..000000000
--- a/packages/patches/make_sizes_pixel_accurate_on_every_platform-0.40.3.patch
+++ /dev/null
@@ -1,1686 +0,0 @@
-Index: g_all_guis.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/g_all_guis.c,v
-retrieving revision 1.9
-diff -u -w -r1.9 g_all_guis.c
---- g_all_guis.c	11 Aug 2006 20:09:07 -0000	1.9
-+++ g_all_guis.c	3 Aug 2007 06:36:34 -0000
-@@ -438,7 +438,7 @@
-     else
-     {
-         f = 0;
--        strcpy(iemgui->x_font, "courier");
-+        strcpy(iemgui->x_font, sys_font);
-     }
-     iemgui->x_fsf.x_font_style = f;
-     f = (int)atom_getintarg(1, ac, av);
-@@ -446,8 +446,9 @@
-         f = 4;
-     iemgui->x_fontsize = f;
-     if(glist_isvisible(iemgui->x_glist))
--        sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {%s %d bold}\n",
--                 glist_getcanvas(iemgui->x_glist), x, iemgui->x_font, iemgui->x_fontsize);
-+        sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s}\n",
-+                 glist_getcanvas(iemgui->x_glist), x, iemgui->x_font, 
-+				 iemgui->x_fontsize, sys_fontweight);
- }
- 
- void iemgui_size(void *x, t_iemgui *iemgui)
-@@ -622,7 +623,7 @@
-     else
-     {
-         f = 0;
--        strcpy(iemgui->x_font, "courier");
-+        strcpy(iemgui->x_font, sys_font);
-     }
-     iemgui->x_fsf.x_font_style = f;
-     if(fs < 4)
-Index: g_all_guis.h
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/g_all_guis.h,v
-retrieving revision 1.5
-diff -u -w -r1.5 g_all_guis.h
---- g_all_guis.h	16 Aug 2005 04:06:28 -0000	1.5
-+++ g_all_guis.h	3 Aug 2007 06:36:34 -0000
-@@ -144,7 +144,7 @@
-     int                x_w;
-     int                x_ldx;
-     int                x_ldy;
--    char               x_font[16];
-+    char               x_font[MAXPDSTRING]; /* font names can be long! */
-     t_iem_fstyle_flags x_fsf;
-     int                x_fontsize;
-     t_iem_init_symargs x_isa;
-Index: g_bang.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/g_bang.c,v
-retrieving revision 1.5
-diff -u -w -r1.5 g_bang.c
---- g_bang.c	8 Sep 2006 23:45:30 -0000	1.5
-+++ g_bang.c	3 Aug 2007 06:36:34 -0000
-@@ -55,11 +55,12 @@
-              xpos + x->x_gui.x_w-1, ypos + x->x_gui.x_h-1,
-              x->x_flashed?x->x_gui.x_fcol:x->x_gui.x_bcol, x);
-     sys_vgui(".x%lx.c create text %d %d -text {%s} -anchor w \
--             -font {%s %d bold} -fill #%6.6x -tags %lxLABEL\n",
-+             -font {{%s} %d %s} -fill #%6.6x -tags %lxLABEL\n",
-              canvas, xpos+x->x_gui.x_ldx,
-              ypos+x->x_gui.x_ldy,
-              strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"",
--             x->x_gui.x_font, x->x_gui.x_fontsize, x->x_gui.x_lcol, x);
-+             x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
-+			 x->x_gui.x_lcol, x);
-     if(!x->x_gui.x_fsf.x_snd_able)
-         sys_vgui(".x%lx.c create rectangle %d %d %d %d -tags %lxOUT%d\n",
-              canvas, xpos,
-@@ -115,8 +116,8 @@
- {
-     t_canvas *canvas=glist_getcanvas(glist);
- 
--    sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {%s %d bold} -fill #%6.6x -text {%s} \n",
--             canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize,
-+    sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill #%6.6x -text {%s} \n",
-+             canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
-              x->x_gui.x_fsf.x_selected?IEM_GUI_COLOR_SELECTED:x->x_gui.x_lcol,
-              strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
-     sys_vgui(".x%lx.c itemconfigure %lxBASE -fill #%6.6x\n", canvas, x, x->x_gui.x_bcol);
-@@ -237,7 +238,7 @@
-     t_symbol *srl[3];
- 
-     iemgui_properties(&x->x_gui, srl);
--    sprintf(buf, "pdtk_iemgui_dialog %%s BANG \
-+    sprintf(buf, "pdtk_iemgui_dialog %%s |bang| \
-             ----------dimensions(pix):----------- %d %d size: 0 0 empty \
-             --------flash-time(ms)(ms):--------- %d intrrpt: %d hold: %d \
-             %d empty empty %d %d empty %d \
-@@ -481,7 +482,7 @@
-     if(x->x_gui.x_fsf.x_font_style == 1) strcpy(x->x_gui.x_font, "helvetica");
-     else if(x->x_gui.x_fsf.x_font_style == 2) strcpy(x->x_gui.x_font, "times");
-     else { x->x_gui.x_fsf.x_font_style = 0;
--        strcpy(x->x_gui.x_font, "courier"); }
-+        strcpy(x->x_gui.x_font, sys_font); }
- 
-     if (x->x_gui.x_fsf.x_rcv_able)
-         pd_bind(&x->x_gui.x_obj.ob_pd, x->x_gui.x_rcv);
-Index: g_graph.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/g_graph.c,v
-retrieving revision 1.10
-diff -u -w -r1.10 g_graph.c
---- g_graph.c	3 Jun 2006 19:13:07 -0000	1.10
-+++ g_graph.c	3 Aug 2007 06:36:35 -0000
-@@ -741,9 +741,9 @@
-         {
-             i -= sys_fontheight(glist_getfont(x));
-             sys_vgui(".x%lx.c create text %d %d -text {%s} -anchor nw\
--             -font -*-courier-bold--normal--%d-* -tags %s\n",
--                (long)glist_getcanvas(x),  x1, i, arrayname->s_name,
--                sys_hostfontsize(glist_getfont(x)), tag);
-+             -font {{%s} %d %s} -tags %s\n",
-+             (long)glist_getcanvas(x),  x1, i, arrayname->s_name, sys_font,
-+                sys_hostfontsize(glist_getfont(x)), sys_fontweight, tag);
-         }
-         
-             /* draw ticks on horizontal borders.  If lperb field is
-@@ -823,21 +823,22 @@
-             /* draw x labels */
-         for (i = 0; i < x->gl_nxlabels; i++)
-             sys_vgui(".x%lx.c create text\
--        %d %d -text {%s} -font -*-courier-bold--normal--%d-* -tags %s\n",
-+        %d %d -text {%s} -font {{%s} %d %s} -tags %s\n",
-                 glist_getcanvas(x),
-                 (int)glist_xtopixels(x, atof(x->gl_xlabel[i]->s_name)),
--                (int)glist_ytopixels(x, x->gl_xlabely), x->gl_xlabel[i]->s_name,
--                glist_getfont(x), tag);
-+                (int)glist_ytopixels(x, x->gl_xlabely),
-+                x->gl_xlabel[i]->s_name, sys_font, 
-+					 glist_getfont(x), sys_fontweight, tag);
- 
-             /* draw y labels */
-         for (i = 0; i < x->gl_nylabels; i++)
-             sys_vgui(".x%lx.c create text\
--        %d %d -text {%s} -font -*-courier-bold--normal--%d-* -tags %s\n",
-+        %d %d -text {%s} -font {{%s} %d %s} -tags %s\n",
-                 glist_getcanvas(x),
-                 (int)glist_xtopixels(x, x->gl_ylabelx),
-                 (int)glist_ytopixels(x, atof(x->gl_ylabel[i]->s_name)),
--                x->gl_ylabel[i]->s_name,
--                glist_getfont(x), tag);
-+                x->gl_ylabel[i]->s_name, sys_font,
-+                glist_getfont(x), sys_fontweight, tag);
- 
-             /* draw contents of graph as glist */
-         for (g = x->gl_list; g; g = g->g_next)
-Index: g_hdial.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/g_hdial.c,v
-retrieving revision 1.7
-diff -u -w -r1.7 g_hdial.c
---- g_hdial.c	8 Sep 2006 23:45:30 -0000	1.7
-+++ g_hdial.c	3 Aug 2007 06:36:35 -0000
-@@ -73,10 +73,10 @@
-         x->x_drawn = x->x_on;
-     }
-     sys_vgui(".x%lx.c create text %d %d -text {%s} -anchor w \
--             -font {%s %d bold} -fill #%6.6x -tags %lxLABEL\n",
-+             -font {{%s} %d %s} -fill #%6.6x -tags %lxLABEL\n",
-              canvas, xx11b+x->x_gui.x_ldx, yy11+x->x_gui.x_ldy,
-              strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"",
--             x->x_gui.x_font, x->x_gui.x_fontsize,
-+             x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
-              x->x_gui.x_lcol, x);
-     if(!x->x_gui.x_fsf.x_snd_able)
-         sys_vgui(".x%lx.c create rectangle %d %d %d %d -tags %lxOUT%d\n",
-@@ -141,8 +141,8 @@
-     t_canvas *canvas=glist_getcanvas(glist);
-     int n=x->x_number, i;
- 
--    sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {%s %d bold} -fill #%6.6x -text {%s} \n",
--             canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize,
-+    sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill #%6.6x -text {%s} \n",
-+             canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
-              x->x_gui.x_fsf.x_selected?IEM_GUI_COLOR_SELECTED:x->x_gui.x_lcol,
-              strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
-     for(i=0; i<n; i++)
-@@ -264,7 +264,7 @@
-     iemgui_properties(&x->x_gui, srl);
-     if (pd_class(&x->x_gui.x_obj.ob_pd) == hradio_old_class)
-         hchange = x->x_change;
--    sprintf(buf, "pdtk_iemgui_dialog %%s hradio \
-+    sprintf(buf, "pdtk_iemgui_dialog %%s |hradio| \
-             ----------dimensions(pix):----------- %d %d size: 0 0 empty \
-             empty 0.0 empty 0.0 empty %d \
-             %d new-only new&old %d %d number: %d \
-@@ -589,7 +589,7 @@
-     if(x->x_gui.x_fsf.x_font_style == 1) strcpy(x->x_gui.x_font, "helvetica");
-     else if(x->x_gui.x_fsf.x_font_style == 2) strcpy(x->x_gui.x_font, "times");
-     else { x->x_gui.x_fsf.x_font_style = 0;
--        strcpy(x->x_gui.x_font, "courier"); }
-+        strcpy(x->x_gui.x_font, sys_font); }
-     if(num < 1)
-         num = 1;
-     if(num > IEM_RADIO_MAX)
-Index: g_hslider.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/g_hslider.c,v
-retrieving revision 1.6
-diff -u -w -r1.6 g_hslider.c
---- g_hslider.c	8 Sep 2006 23:45:30 -0000	1.6
-+++ g_hslider.c	3 Aug 2007 06:36:35 -0000
-@@ -76,11 +76,12 @@
-              canvas, r, ypos+1, r,
-              ypos + x->x_gui.x_h, x->x_gui.x_fcol, x);
-     sys_vgui(".x%lx.c create text %d %d -text {%s} -anchor w \
--             -font {%s %d bold} -fill #%6.6x -tags %lxLABEL\n",
-+             -font {{%s} %d %s} -fill #%6.6x -tags %lxLABEL\n",
-              canvas, xpos+x->x_gui.x_ldx,
-              ypos+x->x_gui.x_ldy,
-              strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"",
--             x->x_gui.x_font, x->x_gui.x_fontsize, x->x_gui.x_lcol, x);
-+             x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
-+			 x->x_gui.x_lcol, x);
-     if(!x->x_gui.x_fsf.x_snd_able)
-         sys_vgui(".x%lx.c create rectangle %d %d %d %d -tags %lxOUT%d\n",
-              canvas, xpos-3, ypos + x->x_gui.x_h-1,
-@@ -136,8 +137,8 @@
- {
-     t_canvas *canvas=glist_getcanvas(glist);
- 
--    sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {%s %d bold} -fill #%6.6x -text {%s} \n",
--             canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize,
-+    sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill #%6.6x -text {%s} \n",
-+             canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
-              x->x_gui.x_fsf.x_selected?IEM_GUI_COLOR_SELECTED:x->x_gui.x_lcol,
-              strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
-     sys_vgui(".x%lx.c itemconfigure %lxKNOB -fill #%6.6x\n", canvas, x, x->x_gui.x_fcol);
-@@ -285,7 +286,7 @@
-     t_symbol *srl[3];
- 
-     iemgui_properties(&x->x_gui, srl);
--    sprintf(buf, "pdtk_iemgui_dialog %%s HSLIDER \
-+    sprintf(buf, "pdtk_iemgui_dialog %%s |hsl| \
-             --------dimensions(pix)(pix):-------- %d %d width: %d %d height: \
-             -----------output-range:----------- %g left: %g right: %g \
-             %d lin log %d %d empty %d \
-@@ -586,7 +587,7 @@
-     if(x->x_gui.x_fsf.x_font_style == 1) strcpy(x->x_gui.x_font, "helvetica");
-     else if(x->x_gui.x_fsf.x_font_style == 2) strcpy(x->x_gui.x_font, "times");
-     else { x->x_gui.x_fsf.x_font_style = 0;
--        strcpy(x->x_gui.x_font, "courier"); }
-+        strcpy(x->x_gui.x_font, sys_font); }
-     if(x->x_gui.x_fsf.x_rcv_able)
-         pd_bind(&x->x_gui.x_obj.ob_pd, x->x_gui.x_rcv);
-     x->x_gui.x_ldx = ldx;
-Index: g_mycanvas.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/g_mycanvas.c,v
-retrieving revision 1.5
-diff -u -w -r1.5 g_mycanvas.c
---- g_mycanvas.c	6 Sep 2004 20:20:34 -0000	1.5
-+++ g_mycanvas.c	3 Aug 2007 06:36:35 -0000
-@@ -44,10 +44,11 @@
-              xpos + x->x_gui.x_w, ypos + x->x_gui.x_h,
-              x->x_gui.x_bcol, x);
-     sys_vgui(".x%lx.c create text %d %d -text {%s} -anchor w \
--             -font {%s %d bold} -fill #%6.6x -tags %lxLABEL\n",
-+             -font {{%s} %d %s} -fill #%6.6x -tags %lxLABEL\n",
-              canvas, xpos+x->x_gui.x_ldx, ypos+x->x_gui.x_ldy,
-              strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"",
--             x->x_gui.x_font, x->x_gui.x_fontsize, x->x_gui.x_lcol, x);
-+             x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
-+			 x->x_gui.x_lcol, x);
- }
- 
- void my_canvas_draw_move(t_my_canvas *x, t_glist *glist)
-@@ -84,8 +85,9 @@
-              x->x_gui.x_bcol, x->x_gui.x_bcol);
-     sys_vgui(".x%lx.c itemconfigure %lxBASE -outline #%6.6x\n", canvas, x,
-              x->x_gui.x_fsf.x_selected?IEM_GUI_COLOR_SELECTED:x->x_gui.x_bcol);
--    sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {%s %d bold} -fill #%6.6x -text {%s} \n",
--             canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, x->x_gui.x_lcol,
-+    sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill #%6.6x -text {%s} \n",
-+             canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
-+			 x->x_gui.x_lcol,
-              strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
- }
- 
-@@ -152,7 +154,7 @@
-     t_symbol *srl[3];
- 
-     iemgui_properties(&x->x_gui, srl);
--    sprintf(buf, "pdtk_iemgui_dialog %%s MY_CANVAS \
-+    sprintf(buf, "pdtk_iemgui_dialog %%s |cnv| \
-             ------selectable_dimensions(pix):------ %d %d size: 0.0 0.0 empty \
-             ------visible_rectangle(pix)(pix):------ %d width: %d height: %d \
-             %d empty empty %d %d empty %d \
-@@ -331,7 +333,7 @@
-     if(x->x_gui.x_fsf.x_font_style == 1) strcpy(x->x_gui.x_font, "helvetica");
-     else if(x->x_gui.x_fsf.x_font_style == 2) strcpy(x->x_gui.x_font, "times");
-     else { x->x_gui.x_fsf.x_font_style = 0;
--        strcpy(x->x_gui.x_font, "courier"); }
-+        strcpy(x->x_gui.x_font, sys_font); }
-     if (x->x_gui.x_fsf.x_rcv_able)
-         pd_bind(&x->x_gui.x_obj.ob_pd, x->x_gui.x_rcv);
-     x->x_gui.x_ldx = ldx;
-Index: g_numbox.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/g_numbox.c,v
-retrieving revision 1.8
-diff -u -w -r1.8 g_numbox.c
---- g_numbox.c	8 Sep 2006 23:45:30 -0000	1.8
-+++ g_numbox.c	3 Aug 2007 06:36:35 -0000
-@@ -195,15 +195,17 @@
-         xpos, ypos + x->x_gui.x_h,
-         x->x_gui.x_fcol, x);
-     sys_vgui(".x%lx.c create text %d %d -text {%s} -anchor w \
--        -font {%s %d bold} -fill #%6.6x -tags %lxLABEL\n",
-+        -font {{%s} %d %s} -fill #%6.6x -tags %lxLABEL\n",
-         canvas, xpos+x->x_gui.x_ldx, ypos+x->x_gui.x_ldy,
-         strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"",
--        x->x_gui.x_font, x->x_gui.x_fontsize, x->x_gui.x_lcol, x);
-+        x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
-+			 x->x_gui.x_lcol, x);
-     my_numbox_ftoa(x);
-     sys_vgui(".x%lx.c create text %d %d -text {%s} -anchor w \
--        -font {%s %d bold} -fill #%6.6x -tags %lxNUMBER\n",
-+        -font {{%s} %d %s} -fill #%6.6x -tags %lxNUMBER\n",
-         canvas, xpos+half+2, ypos+half+d,
--        x->x_buf, x->x_gui.x_font, x->x_gui.x_fontsize, x->x_gui.x_fcol, x);
-+        x->x_buf, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
-+        x->x_gui.x_fcol, x);
-     if(!x->x_gui.x_fsf.x_snd_able)
-         sys_vgui(".x%lx.c create rectangle %d %d %d %d -tags %lxOUT%d\n",
-              canvas,
-@@ -269,12 +271,12 @@
- {
-     t_canvas *canvas=glist_getcanvas(glist);
- 
--    sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {%s %d bold} -fill #%6.6x -text {%s} \n",
--             canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize,
-+    sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill #%6.6x -text {%s} \n",
-+             canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
-              x->x_gui.x_fsf.x_selected?IEM_GUI_COLOR_SELECTED:x->x_gui.x_lcol,
-              strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
--    sys_vgui(".x%lx.c itemconfigure %lxNUMBER -font {%s %d bold} -fill #%6.6x \n",
--             canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize,
-+    sys_vgui(".x%lx.c itemconfigure %lxNUMBER -font {{%s} %d %s} -fill #%6.6x \n",
-+             canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
-              x->x_gui.x_fsf.x_selected?IEM_GUI_COLOR_SELECTED:x->x_gui.x_fcol);
-     sys_vgui(".x%lx.c itemconfigure %lxBASE1 -fill #%6.6x\n", canvas,
-              x, x->x_gui.x_bcol);
-@@ -451,7 +453,7 @@
-         sys_queuegui(x, x->x_gui.x_glist, my_numbox_draw_update);
- 
-     }
--    sprintf(buf, "pdtk_iemgui_dialog %%s NUMBERBOX \
-+    sprintf(buf, "pdtk_iemgui_dialog %%s |nbx| \
-             -------dimensions(digits)(pix):------- %d %d width: %d %d height: \
-             -----------output-range:----------- %g min: %g max: %d \
-             %d lin log %d %d log-height: %d \
-@@ -806,7 +808,7 @@
-     if(x->x_gui.x_fsf.x_font_style == 1) strcpy(x->x_gui.x_font, "helvetica");
-     else if(x->x_gui.x_fsf.x_font_style == 2) strcpy(x->x_gui.x_font, "times");
-     else { x->x_gui.x_fsf.x_font_style = 0;
--        strcpy(x->x_gui.x_font, "courier"); }
-+        strcpy(x->x_gui.x_font, sys_font); }
-     if (x->x_gui.x_fsf.x_rcv_able)
-         pd_bind(&x->x_gui.x_obj.ob_pd, x->x_gui.x_rcv);
-     x->x_gui.x_ldx = ldx;
-Index: g_rtext.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/g_rtext.c,v
-retrieving revision 1.6
-diff -u -w -r1.6 g_rtext.c
---- g_rtext.c	11 Aug 2006 20:09:07 -0000	1.6
-+++ g_rtext.c	3 Aug 2007 06:36:35 -0000
-@@ -15,10 +15,16 @@
- #include "g_canvas.h"
- #include "t_tk.h"
- 
--#define LMARGIN 1
--#define RMARGIN 1
--#define TMARGIN 2
--#define BMARGIN 2
-+#define LMARGIN 2
-+#define RMARGIN 2
-+/* for some reason, it draws text 1 pixel lower on Mac OS X */
-+#ifdef __APPLE__
-+#define TMARGIN 3
-+#define BMARGIN 1
-+#else
-+#define TMARGIN 4
-+#define BMARGIN 0
-+#endif
- 
- #define SEND_FIRST 1
- #define SEND_UPDATE 2
-Index: g_template.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/g_template.c,v
-retrieving revision 1.18
-diff -u -w -r1.18 g_template.c
---- g_template.c	9 Oct 2006 04:36:12 -0000	1.18
-+++ g_template.c	3 Aug 2007 06:36:36 -0000
-@@ -2126,8 +2126,8 @@
-         drawnumber_sprintf(x, buf, &at);
-         sys_vgui(".x%lx.c create text %d %d -anchor nw -fill %s -text {%s}",
-                 glist_getcanvas(glist), xloc, yloc, colorstring, buf);
--        sys_vgui(" -font -*-courier-bold--normal--%d-*",
--            sys_hostfontsize(glist_getfont(glist)));
-+        sys_vgui(" -font {{%s} %d %s}", sys_font,
-+				 sys_hostfontsize(glist_getfont(glist)), sys_fontweight);
-         sys_vgui(" -tags drawnumber%lx\n", data);
-     }
-     else sys_vgui(".x%lx.c delete drawnumber%lx\n", glist_getcanvas(glist), data);
-Index: g_toggle.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/g_toggle.c,v
-retrieving revision 1.5
-diff -u -w -r1.5 g_toggle.c
---- g_toggle.c	8 Sep 2006 23:45:30 -0000	1.5
-+++ g_toggle.c	3 Aug 2007 06:36:36 -0000
-@@ -61,11 +61,12 @@
-              canvas, xx+w+1, yy + x->x_gui.x_h-w-1, xx + x->x_gui.x_w-w, yy+w, w,
-              (x->x_on!=0.0)?x->x_gui.x_fcol:x->x_gui.x_bcol, x);
-     sys_vgui(".x%lx.c create text %d %d -text {%s} -anchor w \
--             -font {%s %d bold} -fill #%6.6x -tags %lxLABEL\n",
-+             -font {{%s} %d %s} -fill #%6.6x -tags %lxLABEL\n",
-              canvas, xx+x->x_gui.x_ldx,
-              yy+x->x_gui.x_ldy,
-              strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"",
--             x->x_gui.x_font, x->x_gui.x_fontsize, x->x_gui.x_lcol, x);
-+             x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
-+			 x->x_gui.x_lcol, x);
-     if(!x->x_gui.x_fsf.x_snd_able)
-         sys_vgui(".x%lx.c create rectangle %d %d %d %d -tags %lxOUT%d\n",
-              canvas, xx, yy + x->x_gui.x_h-1, xx + IOWIDTH, yy + x->x_gui.x_h, x, 0);
-@@ -120,8 +121,8 @@
- {
-     t_canvas *canvas=glist_getcanvas(glist);
- 
--    sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {%s %d bold} -fill #%6.6x -text {%s} \n",
--             canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize,
-+    sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill #%6.6x -text {%s} \n",
-+             canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
-              x->x_gui.x_fsf.x_selected?IEM_GUI_COLOR_SELECTED:x->x_gui.x_lcol,
-              strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
-     sys_vgui(".x%lx.c itemconfigure %lxBASE -fill #%6.6x\n", canvas, x,
-@@ -225,7 +226,7 @@
-     t_symbol *srl[3];
- 
-     iemgui_properties(&x->x_gui, srl);
--    sprintf(buf, "pdtk_iemgui_dialog %%s TOGGLE \
-+    sprintf(buf, "pdtk_iemgui_dialog %%s |tgl| \
-             ----------dimensions(pix):----------- %d %d size: 0 0 empty \
-             -----------non-zero-value:----------- %g value: 0.0 empty %g \
-             -1 lin log %d %d empty %d \
-@@ -407,7 +408,7 @@
-     if(x->x_gui.x_fsf.x_font_style == 1) strcpy(x->x_gui.x_font, "helvetica");
-     else if(x->x_gui.x_fsf.x_font_style == 2) strcpy(x->x_gui.x_font, "times");
-     else { x->x_gui.x_fsf.x_font_style = 0;
--        strcpy(x->x_gui.x_font, "courier"); }
-+        strcpy(x->x_gui.x_font, sys_font); }
-     x->x_nonzero = (nonzero!=0.0)?nonzero:1.0;
-     if(x->x_gui.x_isa.x_loadinit)
-         x->x_on = (on!=0.0)?nonzero:0.0;
-Index: g_vdial.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/g_vdial.c,v
-retrieving revision 1.6
-diff -u -w -r1.6 g_vdial.c
---- g_vdial.c	8 Sep 2006 23:45:30 -0000	1.6
-+++ g_vdial.c	3 Aug 2007 06:36:36 -0000
-@@ -75,10 +75,10 @@
-         x->x_drawn = x->x_on;
-     }
-     sys_vgui(".x%lx.c create text %d %d -text {%s} -anchor w \
--             -font {%s %d bold} -fill #%6.6x -tags %lxLABEL\n",
-+             -font {{%s} %d %s} -fill #%6.6x -tags %lxLABEL\n",
-              canvas, xx11+x->x_gui.x_ldx, yy11b+x->x_gui.x_ldy,
-              strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"",
--             x->x_gui.x_font, x->x_gui.x_fontsize,
-+             x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
-              x->x_gui.x_lcol, x);
-     if(!x->x_gui.x_fsf.x_snd_able)
-         sys_vgui(".x%lx.c create rectangle %d %d %d %d -tags %lxOUT%d\n",
-@@ -141,8 +141,8 @@
-     t_canvas *canvas=glist_getcanvas(glist);
-     int n=x->x_number, i;
- 
--    sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {%s %d bold} -fill #%6.6x -text {%s} \n",
--             canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize,
-+    sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill #%6.6x -text {%s} \n",
-+             canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight, 
-              x->x_gui.x_fsf.x_selected?IEM_GUI_COLOR_SELECTED:x->x_gui.x_lcol,
-              strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
-     for(i=0; i<n; i++)
-@@ -265,7 +265,7 @@
-     iemgui_properties(&x->x_gui, srl);
-     if(pd_class(&x->x_gui.x_obj.ob_pd) == vradio_old_class)
-         hchange = x->x_change;
--    sprintf(buf, "pdtk_iemgui_dialog %%s vradio \
-+    sprintf(buf, "pdtk_iemgui_dialog %%s |vradio| \
-             ----------dimensions(pix):----------- %d %d size: 0 0 empty \
-             empty 0.0 empty 0.0 empty %d \
-             %d new-only new&old %d %d number: %d \
-@@ -590,7 +590,7 @@
-     if(x->x_gui.x_fsf.x_font_style == 1) strcpy(x->x_gui.x_font, "helvetica");
-     else if(x->x_gui.x_fsf.x_font_style == 2) strcpy(x->x_gui.x_font, "times");
-     else { x->x_gui.x_fsf.x_font_style = 0;
--        strcpy(x->x_gui.x_font, "courier"); }
-+        strcpy(x->x_gui.x_font, sys_font); }
-     if(num < 1)
-         num = 1;
-     if(num > IEM_RADIO_MAX)
-Index: g_vslider.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/g_vslider.c,v
-retrieving revision 1.6
-diff -u -w -r1.6 g_vslider.c
---- g_vslider.c	8 Sep 2006 23:45:30 -0000	1.6
-+++ g_vslider.c	3 Aug 2007 06:36:36 -0000
-@@ -59,10 +59,11 @@
-              canvas, xpos+1, r,
-              xpos + x->x_gui.x_w, r, x->x_gui.x_fcol, x);
-     sys_vgui(".x%lx.c create text %d %d -text {%s} -anchor w \
--             -font {%s %d bold} -fill #%6.6x -tags %lxLABEL\n",
-+             -font {{%s} %d %s} -fill #%6.6x -tags %lxLABEL\n",
-              canvas, xpos+x->x_gui.x_ldx, ypos+x->x_gui.x_ldy,
-              strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"",
--             x->x_gui.x_font, x->x_gui.x_fontsize, x->x_gui.x_lcol, x);
-+             x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight, 
-+			 x->x_gui.x_lcol, x);
-     if(!x->x_gui.x_fsf.x_snd_able)
-         sys_vgui(".x%lx.c create rectangle %d %d %d %d -tags %lxOUT%d\n",
-              canvas,
-@@ -122,8 +123,8 @@
- {
-     t_canvas *canvas=glist_getcanvas(glist);
- 
--    sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {%s %d bold} -fill #%6.6x -text {%s} \n",
--             canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize,
-+    sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill #%6.6x -text {%s} \n",
-+             canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight, 
-              x->x_gui.x_fsf.x_selected?IEM_GUI_COLOR_SELECTED:x->x_gui.x_lcol,
-              strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
-     sys_vgui(".x%lx.c itemconfigure %lxKNOB -fill #%6.6x\n", canvas,
-@@ -277,7 +278,7 @@
- 
-     iemgui_properties(&x->x_gui, srl);
- 
--    sprintf(buf, "pdtk_iemgui_dialog %%s VSLIDER \
-+    sprintf(buf, "pdtk_iemgui_dialog %%s |vsl| \
-             --------dimensions(pix)(pix):-------- %d %d width: %d %d height: \
-             -----------output-range:----------- %g bottom: %g top: %d \
-             %d lin log %d %d empty %d \
-@@ -562,7 +563,7 @@
-     if(x->x_gui.x_fsf.x_font_style == 1) strcpy(x->x_gui.x_font, "helvetica");
-     else if(x->x_gui.x_fsf.x_font_style == 2) strcpy(x->x_gui.x_font, "times");
-     else { x->x_gui.x_fsf.x_font_style = 0;
--        strcpy(x->x_gui.x_font, "courier"); }
-+        strcpy(x->x_gui.x_font, sys_font); }
-     if(x->x_gui.x_fsf.x_rcv_able) pd_bind(&x->x_gui.x_obj.ob_pd, x->x_gui.x_rcv);
-     x->x_gui.x_ldx = ldx;
-     x->x_gui.x_ldy = ldy;
-Index: g_vumeter.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/g_vumeter.c,v
-retrieving revision 1.5
-diff -u -w -r1.5 g_vumeter.c
---- g_vumeter.c	16 Aug 2005 04:06:28 -0000	1.5
-+++ g_vumeter.c	3 Aug 2007 06:36:36 -0000
-@@ -116,17 +116,19 @@
-                  canvas, quad1, yyy, quad3, yyy, x->x_led_size, iemgui_color_hex[led_col], x, i);
-         if(((i+2)&3) && (x->x_scale))
-             sys_vgui(".x%lx.c create text %d %d -text {%s} -anchor w \
--                     -font {%s %d bold} -fill #%6.6x -tags %lxSCALE%d\n",
--                     canvas, end, yyy+k3, iemgui_vu_scale_str[i], x->x_gui.x_font, x->x_gui.x_fontsize,
--                     x->x_gui.x_lcol, x, i);
-+                     -font {{%s} %d %s} -fill #%6.6x -tags %lxSCALE%d\n",
-+                     canvas, end, yyy+k3, iemgui_vu_scale_str[i], 
-+					 x->x_gui.x_font, x->x_gui.x_fontsize,
-+                     sys_fontweight, x->x_gui.x_lcol, x, i);
-     }
-     if(x->x_scale)
-     {
-         i=IEM_VU_STEPS+1;
-         yyy = k4 + k1*(k2-i);
-         sys_vgui(".x%lx.c create text %d %d -text {%s} -anchor w \
--                 -font {%s %d bold} -fill #%6.6x -tags %lxSCALE%d\n",
--                 canvas, end, yyy+k3, iemgui_vu_scale_str[i], x->x_gui.x_font, x->x_gui.x_fontsize,
-+                 -font {{%s} %d %s} -fill #%6.6x -tags %lxSCALE%d\n",
-+                 canvas, end, yyy+k3, iemgui_vu_scale_str[i], x->x_gui.x_font, 
-+				 x->x_gui.x_fontsize, sys_fontweight,
-                  x->x_gui.x_lcol, x, i);
-     }
-     sys_vgui(".x%lx.c create rectangle %d %d %d %d -fill #%6.6x -outline #%6.6x -tags %lxRCOVER\n",
-@@ -136,10 +138,11 @@
-              canvas, mid, ypos+10,
-              mid, ypos+10, x->x_led_size, x->x_gui.x_bcol, x);
-     sys_vgui(".x%lx.c create text %d %d -text {%s} -anchor w \
--             -font {%s %d bold} -fill #%6.6x -tags %lxLABEL\n",
-+             -font {{%s} %d %s} -fill #%6.6x -tags %lxLABEL\n",
-              canvas, xpos+x->x_gui.x_ldx, ypos+x->x_gui.x_ldy,
-              strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"",
--             x->x_gui.x_font, x->x_gui.x_fontsize, x->x_gui.x_lcol, x);
-+             x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
-+			 x->x_gui.x_lcol, x);
-     if(!x->x_gui.x_fsf.x_snd_able)
-     {
-         sys_vgui(".x%lx.c create rectangle %d %d %d %d -tags %lxOUT%d\n",
-@@ -274,19 +277,21 @@
-         sys_vgui(".x%lx.c itemconfigure %lxRLED%d -width %d\n", canvas, x, i,
-                  x->x_led_size);
-         if(((i+2)&3) && (x->x_scale))
--            sys_vgui(".x%lx.c itemconfigure %lxSCALE%d -text {%s} -font {%s %d bold} -fill #%6.6x\n",
--                     canvas, x, i, iemgui_vu_scale_str[i], x->x_gui.x_font, x->x_gui.x_fontsize,
-+            sys_vgui(".x%lx.c itemconfigure %lxSCALE%d -text {%s} -font {{%s} %d %s} -fill #%6.6x\n",
-+                     canvas, x, i, iemgui_vu_scale_str[i], x->x_gui.x_font, 
-+					 x->x_gui.x_fontsize, sys_fontweight, 
-                      x->x_gui.x_fsf.x_selected?IEM_GUI_COLOR_SELECTED:x->x_gui.x_lcol);
-     }
-     if(x->x_scale)
-     {
-         i=IEM_VU_STEPS+1;
--        sys_vgui(".x%lx.c itemconfigure %lxSCALE%d -text {%s} -font {%s %d bold} -fill #%6.6x\n",
--                 canvas, x, i, iemgui_vu_scale_str[i], x->x_gui.x_font, x->x_gui.x_fontsize,
-+        sys_vgui(".x%lx.c itemconfigure %lxSCALE%d -text {%s} -font {{%s} %d %s} -fill #%6.6x\n",
-+                 canvas, x, i, iemgui_vu_scale_str[i], x->x_gui.x_font, 
-+				 x->x_gui.x_fontsize, sys_fontweight,
-                  x->x_gui.x_fsf.x_selected?IEM_GUI_COLOR_SELECTED:x->x_gui.x_lcol);
-     }
--    sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {%s %d bold} -fill #%6.6x -text {%s} \n",
--             canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize,
-+    sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} %d %s} -fill #%6.6x -text {%s} \n",
-+             canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
-              x->x_gui.x_fsf.x_selected?IEM_GUI_COLOR_SELECTED:x->x_gui.x_lcol,
-              strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
- 
-@@ -476,16 +481,18 @@
-                 yyy = k4 + k1*(k2-i);
-                 if((i+2)&3)
-                     sys_vgui(".x%lx.c create text %d %d -text {%s} -anchor w \
--                             -font {%s %d bold} -fill #%6.6x -tags %lxSCALE%d\n",
--                             canvas, end, yyy+k3, iemgui_vu_scale_str[i], x->x_gui.x_font, x->x_gui.x_fontsize,
--                             x->x_gui.x_lcol, x, i);
-+                             -font {{%s} %d %s} -fill #%6.6x -tags %lxSCALE%d\n",
-+                             canvas, end, yyy+k3, iemgui_vu_scale_str[i], 
-+							 x->x_gui.x_font, x->x_gui.x_fontsize,
-+                             sys_fontweight, x->x_gui.x_lcol, x, i);
-             }
-             i=IEM_VU_STEPS+1;
-             yyy = k4 + k1*(k2-i);
-             sys_vgui(".x%lx.c create text %d %d -text {%s} -anchor w \
--                     -font {%s %d bold} -fill #%6.6x -tags %lxSCALE%d\n",
--                     canvas, end, yyy+k3, iemgui_vu_scale_str[i], x->x_gui.x_font, x->x_gui.x_fontsize,
--                     x->x_gui.x_lcol, x, i);
-+                     -font {{%s} %d %s} -fill #%6.6x -tags %lxSCALE%d\n",
-+                     canvas, end, yyy+k3, iemgui_vu_scale_str[i], 
-+					 x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
-+                     sys_fontweight, x->x_gui.x_lcol, x, i);
-         }
-     }
- }
-@@ -497,7 +504,7 @@
-     t_symbol *srl[3];
- 
-     iemgui_properties(&x->x_gui, srl);
--    sprintf(buf, "pdtk_iemgui_dialog %%s VU-METER \
-+    sprintf(buf, "pdtk_iemgui_dialog %%s |vu| \
-             --------dimensions(pix)(pix):-------- %d %d width: %d %d height: \
-             empty 0.0 empty 0.0 empty %d \
-             %d no_scale scale %d %d empty %d \
-@@ -627,7 +634,7 @@
-     t_vu *x = (t_vu *)pd_new(vu_class);
-     int bflcol[]={-66577, -1, -1};
-     int w=IEM_GUI_DEFAULTSIZE, h=IEM_VU_STEPS*IEM_VU_DEFAULTSIZE;
--    int ldx=-1, ldy=-8, f=0, fs=8, scale=1;
-+    int ldx=-1, ldy=-8, f=0, fs=10, scale=1;
-     int ftbreak=IEM_BNG_DEFAULTBREAKFLASHTIME, fthold=IEM_BNG_DEFAULTHOLDFLASHTIME;
-     char str[144];
- 
-@@ -667,7 +674,7 @@
-     else if(x->x_gui.x_fsf.x_font_style == 2)
-         strcpy(x->x_gui.x_font, "times");
-     else { x->x_gui.x_fsf.x_font_style = 0;
--        strcpy(x->x_gui.x_font, "courier"); }
-+        strcpy(x->x_gui.x_font, sys_font); }
-     if(x->x_gui.x_fsf.x_rcv_able)
-         pd_bind(&x->x_gui.x_obj.ob_pd, x->x_gui.x_rcv);
-     x->x_gui.x_ldx = ldx;
-Index: m_pd.h
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/m_pd.h,v
-retrieving revision 1.16.2.2
-diff -u -w -r1.16.2.2 m_pd.h
---- m_pd.h	18 Jul 2007 00:20:12 -0000	1.16.2.2
-+++ m_pd.h	3 Aug 2007 06:36:36 -0000
-@@ -368,6 +368,8 @@
- EXTERN void canvas_makefilename(t_glist *c, char *file,
-     char *result,int resultsize);
- EXTERN t_symbol *canvas_getdir(t_glist *x);
-+EXTERN char sys_font[]; /* default typeface set in s_main.c */
-+EXTERN char sys_fontweight[]; /* default font weight set in s_main.c */
- EXTERN int sys_fontwidth(int fontsize);
- EXTERN int sys_fontheight(int fontsize);
- EXTERN void canvas_dataproperties(t_glist *x, t_scalar *sc, t_binbuf *b);
-Index: s_inter.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/s_inter.c,v
-retrieving revision 1.18.2.1
-diff -u -w -r1.18.2.1 s_inter.c
---- s_inter.c	18 Jul 2007 00:20:12 -0000	1.18.2.1
-+++ s_inter.c	3 Aug 2007 06:36:36 -0000
-@@ -87,7 +87,6 @@
- 
- extern char *pd_version;
- extern int sys_guisetportnumber;
--extern char sys_font[]; /* tb: typeface */
- 
- static int sys_nfdpoll;
- static t_fdpoll *sys_fdpoll;
-@@ -844,7 +843,8 @@
- 
- #define FIRSTPORTNUM 5400
- 
--static int defaultfontshit[] = {
-+#define MAXFONTS 21
-+static int defaultfontshit[MAXFONTS] = {
-     8, 5, 9, 10, 6, 10, 12, 7, 13, 14, 9, 17, 16, 10, 19, 24, 15, 28,
-         24, 15, 28};
- #define NDEFAULTFONT (sizeof(defaultfontshit)/sizeof(*defaultfontshit))
-@@ -1248,8 +1248,8 @@
- #endif
-          sys_get_audio_apis(buf);
-          sys_get_midi_apis(buf2);
--         sys_vgui("pdtk_pd_startup {%s} %s %s {%s}\n", pd_version, buf, buf2,
--                                  sys_font); 
-+         sys_vgui("pdtk_pd_startup {%s} %s %s {%s} %s\n", pd_version, buf, buf2, 
-+				  sys_font, sys_fontweight); 
-     }
-     return (0);
- 
-Index: s_main.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/s_main.c,v
-retrieving revision 1.28
-diff -u -w -r1.28 s_main.c
---- s_main.c	4 Oct 2006 19:35:06 -0000	1.28
-+++ s_main.c	3 Aug 2007 06:36:37 -0000
-@@ -58,7 +58,12 @@
- int sys_midiindevlist[MAXMIDIINDEV] = {1};
- int sys_midioutdevlist[MAXMIDIOUTDEV] = {1};
- 
--char sys_font[100] = "courier"; /* tb: font name */
-+#ifdef __APPLE__
-+char sys_font[] = "Monaco"; /* tb: font name */
-+#else
-+char sys_font[] = "Bitstream Vera Sans Mono"; /* tb: font name */
-+#endif
-+char sys_fontweight[] = "normal"; /* currently only used for iemguis */
- static int sys_main_srate;
- static int sys_main_advance;
- static int sys_listplease;
-@@ -106,8 +111,8 @@
-     in the six fonts.  */
- 
- static t_fontinfo sys_fontlist[] = {
--    {8, 6, 10, 0, 0, 0}, {10, 7, 13, 0, 0, 0}, {12, 9, 16, 0, 0, 0},
--    {16, 10, 20, 0, 0, 0}, {24, 15, 25, 0, 0, 0}, {36, 25, 45, 0, 0, 0}};
-+    {8, 5, 11, 8, 5, 11}, {10, 6, 13, 10, 6, 13}, {12, 7, 16, 12, 7, 16},
-+    {16, 10, 19, 16, 10, 19}, {24, 14, 29, 24, 14, 29}, {36, 23, 44, 36, 23, 44}};
- #define NFONT (sizeof(sys_fontlist)/sizeof(*sys_fontlist))
- 
- /* here are the actual font size structs on msp's systems:
-@@ -158,11 +163,7 @@
- }
- 
- int sys_defaultfont;
--#ifdef MSW
--#define DEFAULTFONT 12
--#else
- #define DEFAULTFONT 10
--#endif
- 
- static void openit(const char *dirname, const char *filename)
- {
-@@ -206,11 +207,6 @@
-                 atom_getintarg(3 * j + 3, argc, argv) <= wantwidth)
-                     best = j;
-         }
--            /* best is now the host font index for the desired font index i. */
--        sys_fontlist[i].fi_hostfontsize =
--            atom_getintarg(3 * best + 2, argc, argv);
--        sys_fontlist[i].fi_width = atom_getintarg(3 * best + 3, argc, argv);
--        sys_fontlist[i].fi_height = atom_getintarg(3 * best + 4, argc, argv);
-     }
- #if 0
-     for (i = 0; i < 6; i++)
-@@ -382,8 +378,9 @@
- "-helppath <path> -- add to help file search path\n",
- "-open <file>     -- open file(s) on startup\n",
- "-lib <file>      -- load object library(s)\n",
--"-font <n>        -- specify default font size in points\n",
--"-typeface <name> -- specify default font (default: courier)\n",
-+"-font-size <n>     -- specify default font size in points\n",
-+"-font-face <name>  -- specify default font (default: Bitstream Vera Sans Mono)\n",
-+"-font-weight <name>-- specify default font weight (normal or bold)\n",
- "-verbose         -- extra printout on startup and when searching for files\n",
- "-version         -- don't run Pd; just print out which version it is \n",
- "-d <n>           -- specify debug level\n",
-@@ -737,21 +734,25 @@
-             sys_externlist = namelist_append_files(sys_externlist, argv[1]);
-             argc -= 2; argv += 2;
-         }
--        else if (!strcmp(*argv, "-font") && argc > 1)
-+        else if ((!strcmp(*argv, "-font-size") || !strcmp(*argv, "-font")) && argc > 1)
-         {
-             sys_defaultfont = sys_nearestfontsize(atoi(argv[1]));
-             argc -= 2;
-             argv += 2;
-         }
--                /* tb: font name { */
--        else if (!strcmp(*argv, "-typeface") && argc > 1)
-+        else if ((!strcmp(*argv, "-font-face") || !strcmp(*argv, "-typeface")) && argc > 1)
-         {
-             strncpy(sys_font,*(argv+1),sizeof(sys_font)-1);
-             sys_font[sizeof(sys_font)-1] = 0;
-             argc -= 2;
-             argv += 2;
-         }
--                /* } tb */
-+        else if (!strcmp(*argv, "-font-weight") && argc > 1)
-+        {
-+                       strcpy(sys_fontweight,*(argv+1));
-+                       argc -= 2;
-+                       argv += 2;
-+               }
-         else if (!strcmp(*argv, "-verbose"))
-         {
-             sys_verbose++;
-Index: u_main.tk
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/u_main.tk,v
-retrieving revision 1.25
-diff -u -w -r1.25 u_main.tk
---- u_main.tk	9 Oct 2006 04:36:12 -0000	1.25
-+++ u_main.tk	3 Aug 2007 06:36:37 -0000
-@@ -1,14 +1,4 @@
- #!/usr/bin/wish
--
--# set pd_nt (bad name) 0 for unix, 1 for microsoft, and 2 for Mac OSX.
--if { $tcl_platform(platform) == "windows" }  {
--         set pd_nt 1
--} elseif { $tcl_platform(os) == "Darwin" } {  
--         set pd_nt 2
--} else { 
--         set pd_nt 0
--}        
--
- # Copyright (c) 1997-1999 Miller Puckette.
- # For information on usage and redistribution, and for a DISCLAIMER OF ALL
- # WARRANTIES, see the file, "LICENSE.txt," in this distribution.
-@@ -21,6 +11,35 @@
- #
- # all this changes are labeled with #######iemlib##########
- 
-+# set pd_nt (bad name) 0 for unix, 1 for microsoft, and 2 for Mac OSX.
-+if { $tcl_platform(platform) == "windows" }  {
-+    set pd_nt 1
-+	 set defaultFontFamily {Bitstream Vera Sans Mono}
-+    font create menuFont -family Tahoma -size 11
-+} elseif { $tcl_platform(os) == "Darwin" } {  
-+    set pd_nt 2
-+	 set defaultFontFamily Monaco
-+} else { 
-+    set pd_nt 0
-+	 set defaultFontFamily {Bitstream Vera Sans Mono}
-+}        
-+
-+# start Pd-extended font hacks -----------------------------
-+
-+# Pd-0.39.2-extended hacks to make font/box sizes the same across platform
-+puts stderr "tk scaling is [tk scaling]"
-+tk scaling 1
-+
-+# this font is for the Pd Window console text
-+font create console_font -family $defaultFontFamily -size 12 -weight normal
-+# this font is for text in Pd windows
-+font create text_font -family {Times} -size 14 -weight normal
-+# for text in Properties Panels and other panes
-+font create highlight_font -family $defaultFontFamily -size 14 -weight bold
-+
-+# end Pd-extended font hacks -----------------------------
-+
-+
- # Tearoff is set to true by default:
- set pd_tearoff 1
- 
-@@ -44,12 +63,8 @@
- if {$pd_nt == 2} {
- # turn on James Tittle II's fast drawing
-     set tk::mac::useCGDrawing 1
--    # set minimum line size for anti-aliasing.  If set to 1 or 0, then every
--    # line will be anti-aliased.  While this makes connections and circles in
--    # [bng] and such look really good, it makes boxes and messages look out of
--    # focus.  Setting this to 2 makes it so the thick audio rate connections
--    # are anti-aliased.  <hans@at.or.at> 2005-06-09
--    set tk::mac::CGAntialiasLimit 2
-+# anti-alias all lines that need it
-+    set tk::mac::CGAntialiasLimit 0
-     global pd_guidir
-     global pd_tearoff
-     set pd_gui2 [string range $argv0 0 [expr [string last / $argv0 ] - 1]]
-@@ -132,6 +147,15 @@
-     .mbar add cascade -label "Help" -menu .mbar.help
- }
- 
-+# fix menu font size on Windows with tk scaling = 1
-+if {$pd_nt == 1} {
-+    .mbar.file configure -font menuFont
-+    .mbar.find configure -font menuFont
-+    .mbar.windows configure -font menuFont
-+    .mbar.audio configure -font menuFont
-+    .mbar.help configure -font menuFont
-+}
-+
- set ctrls_audio_on 0
- set ctrls_meter_on 0
- set ctrls_inlevel 0
-@@ -175,7 +199,7 @@
- 
- 
- frame .printout
--text .printout.text -relief raised -bd 2 -font -*-courier-bold--normal--12-* \
-+text .printout.text -relief raised -bd 2 -font console_font \
-     -yscrollcommand ".printout.scroll set" -width 80
- # .printout.text insert end "\n\n\n\n\n\n\n\n\n\n"
- scrollbar .printout.scroll -command ".printout.text yview"
-@@ -364,7 +388,7 @@
-     global pd_myversion
-     set name [format ".help%d" $doc_number]
-     toplevel $name
--    text $name.text -relief raised -bd 2 -font -*-times-regular--normal--14-* \
-+    text $name.text -relief raised -bd 2 -font text_font \
-         -yscrollcommand "$name.scroll set" -background white
-     scrollbar $name.scroll -command "$name.text yview"
-     pack $name.scroll -side right -fill y
-@@ -1142,6 +1166,18 @@
-     $name.popup add command -label {Help} \
-         -command [concat popup_action $name 2] 
- 
-+# fix menu font size on Windows with tk scaling = 1
-+if {$pd_nt == 1} {
-+    $name.m.file configure -font menuFont
-+    $name.m.edit configure -font menuFont
-+    $name.m.find configure -font menuFont
-+    $name.m.put configure -font menuFont
-+    $name.m.windows configure -font menuFont
-+    $name.m.audio configure -font menuFont
-+    $name.m.help configure -font menuFont
-+    $name.popup configure -font menuFont
-+}
-+
- # WM protocol
-     wm protocol $name WM_DELETE_WINDOW [concat menu_close $name]
- 
-@@ -1266,6 +1302,7 @@
-     global pd_nt
-     global pd_array_listview_page
-     global pd_array_listview_id
-+	 global fontname fontweight
-     set pd_array_listview_page($arrayName) $page
-     set pd_array_listview_id($arrayName) $id
-     set windowName [format ".%sArrayWindow" $arrayName]
-@@ -1279,8 +1316,7 @@
-     set $windowName.lb [listbox $windowName.lb -height 20 -width 25\
-                         -selectmode extended \
-                         -relief solid -background white -borderwidth 1 \
--                        -font [format -*-courier-bold--normal--%d-* \
--                               $font] \
-+                        -font [format {{%s} %d %s} $fontname $font $fontweight]\
-                         -yscrollcommand "$windowName.lb.sb set"]
-     set $windowName.lb.sb [scrollbar $windowName.lb.sb \
-                            -command "$windowName.lb yview" -orient vertical]
-@@ -1384,9 +1420,7 @@
- proc pdtk_array_listview_edit {arrayName page font} {
-     global pd_array_listview_entry
-     global pd_nt
--    if {$pd_nt == 0} {
--      set font [expr $font - 2]
--    }
-+	 global fontname fontweight
-     set lbName [format ".%sArrayWindow.lb" $arrayName]
-     if {[winfo exists $lbName.entry]} {
-       pdtk_array_listview_update_entry \
-@@ -1398,7 +1432,7 @@
-     set bbox [$lbName bbox $itemNum]
-     set y [expr [lindex $bbox 1] - 4]
-     set $lbName.entry [entry $lbName.entry \
--                       -font [format -*-courier-bold--normal--%d-* $font]]
-+                       -font [format {{%s} %d %s} $fontname $font $fontweight]]
-     $lbName.entry insert 0 []
-     place configure $lbName.entry -relx 0 -y $y -relwidth 1
-     lower $lbName.entry
-@@ -1874,6 +1908,8 @@
- 
-     set vid [string trimleft $id .]
- 
-+	 global pd_nt
-+
-     set var_gatomwidth [concat gatomwidth_$vid]
-     global $var_gatomwidth
-     set var_gatomlo [concat gatomlo_$vid]
-@@ -1898,87 +1934,96 @@
-     set $var_gatomsymto [gatom_unescape $symto]
- 
-     toplevel $id
--    wm title $id {Atom}
-+    wm title $id "atom box properties"
-+    wm resizable $id 0 0
-     wm protocol $id WM_DELETE_WINDOW [concat dogatom_cancel $id]
- 
--    frame $id.buttonframe
--    pack $id.buttonframe -side bottom -fill x -pady 2m
-+    frame $id.params -height 7
-+    pack $id.params -side top
-+    label $id.params.entryname -text "width"
-+    entry $id.params.entry -textvariable $var_gatomwidth -width 4
-+    pack $id.params.entryname $id.params.entry -side left
-+
-+    labelframe $id.limits -text "limits" -padx 15 -pady 4 -borderwidth 1 \
-+		  -font highlight_font
-+	 pack $id.limits -side top -fill x
-+    frame $id.limits.lower
-+    pack $id.limits.lower -side left
-+    label $id.limits.lower.entryname -text "lower"
-+    entry $id.limits.lower.entry -textvariable $var_gatomlo -width 8
-+    pack $id.limits.lower.entryname $id.limits.lower.entry -side left
-+    frame $id.limits.upper
-+    pack $id.limits.upper -side left
-+    frame $id.limits.upper.spacer -width 20
-+    label $id.limits.upper.entryname -text "upper"
-+    entry $id.limits.upper.entry -textvariable $var_gatomhi -width 8
-+    pack  $id.limits.upper.spacer $id.limits.upper.entryname \
-+		  $id.limits.upper.entry -side left
-+
-+    frame $id.spacer1 -height 7
-+    pack $id.spacer1 -side top
-+
-+    labelframe $id.label -text "label" -padx 5 -pady 4 -borderwidth 1 \
-+		  -font highlight_font
-+	 pack $id.label -side top -fill x
-+    frame $id.label.name
-+    pack $id.label.name -side top
-+    entry $id.label.name.entry -textvariable $var_gatomlabel -width 33
-+    pack $id.label.name.entry -side left
-+    frame $id.label.radio
-+    pack $id.label.radio -side top
-+    radiobutton $id.label.radio.left -value 0 \
-+        -variable $var_gatomwherelabel \
-+        -text "left   "  -justify left
-+    radiobutton $id.label.radio.right -value 1 \
-+        -variable $var_gatomwherelabel \
-+        -text "right" -justify left
-+    radiobutton $id.label.radio.top -value 2 \
-+        -variable $var_gatomwherelabel \
-+        -text "top" -justify left
-+    radiobutton $id.label.radio.bottom -value 3 \
-+        -variable $var_gatomwherelabel \
-+        -text "bottom" -justify left
-+    pack $id.label.radio.left -side left -anchor w
-+    pack $id.label.radio.right -side right -anchor w
-+    pack $id.label.radio.top -side top -anchor w
-+    pack $id.label.radio.bottom -side bottom -anchor w
-+
-+    frame $id.spacer2 -height 7
-+    pack $id.spacer2 -side top
-+
-+    labelframe $id.s_r -text "messages" -padx 5 -pady 4 -borderwidth 1 \
-+		  -font highlight_font
-+	 pack $id.s_r -side top -fill x
-+    frame $id.s_r.paramsymto
-+    pack $id.s_r.paramsymto -side top -anchor e
-+    label $id.s_r.paramsymto.entryname -text "send symbol"
-+    entry $id.s_r.paramsymto.entry -textvariable $var_gatomsymto -width 21
-+    pack $id.s_r.paramsymto.entry $id.s_r.paramsymto.entryname -side right
-+
-+    frame $id.s_r.paramsymfrom
-+    pack $id.s_r.paramsymfrom -side top -anchor e
-+    label $id.s_r.paramsymfrom.entryname -text "receive symbol"
-+    entry $id.s_r.paramsymfrom.entry -textvariable $var_gatomsymfrom -width 21
-+    pack $id.s_r.paramsymfrom.entry $id.s_r.paramsymfrom.entryname -side right
-+        
-+    frame $id.buttonframe -pady 5
-+    pack $id.buttonframe -side top -fill x -pady 2m
-     button $id.buttonframe.cancel -text {Cancel}\
-         -command "dogatom_cancel $id"
-+    pack $id.buttonframe.cancel -side left -expand 1
-     button $id.buttonframe.apply -text {Apply}\
-         -command "dogatom_apply $id"
-+    pack $id.buttonframe.apply -side left -expand 1
-     button $id.buttonframe.ok -text {OK}\
-         -command "dogatom_ok $id"
--    pack $id.buttonframe.cancel -side left -expand 1
--    pack $id.buttonframe.apply -side left -expand 1
-     pack $id.buttonframe.ok -side left -expand 1
- 
--    frame $id.paramsymto
--    pack $id.paramsymto -side bottom
--    label $id.paramsymto.entryname -text {send symbol}
--    entry $id.paramsymto.entry -textvariable $var_gatomsymto -width 20
--    pack $id.paramsymto.entryname $id.paramsymto.entry -side left
--
--    frame $id.paramsymfrom
--    pack $id.paramsymfrom -side bottom
--    label $id.paramsymfrom.entryname -text {receive symbol}
--    entry $id.paramsymfrom.entry -textvariable $var_gatomsymfrom -width 20
--    pack $id.paramsymfrom.entryname $id.paramsymfrom.entry -side left
--    
--    frame $id.radio
--    pack $id.radio -side bottom
--    label $id.radio.label -text {show label on:}
--    frame $id.radio.l
--    frame $id.radio.r
--    pack $id.radio.label -side top
--    pack $id.radio.l $id.radio.r -side left
--    radiobutton $id.radio.l.radio0 -value 0 \
--        -variable $var_gatomwherelabel \
--        -text "left"
--    radiobutton $id.radio.l.radio1 -value 1 \
--        -variable $var_gatomwherelabel \
--        -text "right"
--    radiobutton $id.radio.r.radio2 -value 2 \
--        -variable $var_gatomwherelabel \
--        -text "top"
--    radiobutton $id.radio.r.radio3 -value 3 \
--        -variable $var_gatomwherelabel \
--        -text "bottom"
--    pack $id.radio.l.radio0 $id.radio.l.radio1 -side top -anchor w
--    pack $id.radio.r.radio2 $id.radio.r.radio3 -side top -anchor w
--        
--
--    frame $id.paramlabel
--    pack $id.paramlabel -side bottom
--    label $id.paramlabel.entryname -text label
--    entry $id.paramlabel.entry -textvariable $var_gatomlabel -width 20
--    pack $id.paramlabel.entryname $id.paramlabel.entry -side left
--
--    frame $id.paramhi
--    pack $id.paramhi -side bottom
--    label $id.paramhi.entryname -text "upper limit"
--    entry $id.paramhi.entry -textvariable $var_gatomhi -width 8
--    pack $id.paramhi.entryname $id.paramhi.entry -side left
--
--    frame $id.paramlo
--    pack $id.paramlo -side bottom
--    label $id.paramlo.entryname -text "lower limit"
--    entry $id.paramlo.entry -textvariable $var_gatomlo -width 8
--    pack $id.paramlo.entryname $id.paramlo.entry -side left
--
--    frame $id.params
--    pack $id.params -side bottom
--    label $id.params.entryname -text width
--    entry $id.params.entry -textvariable $var_gatomwidth -width 4
--    pack $id.params.entryname $id.params.entry -side left
--
--
--
--    bind $id.paramhi.entry <KeyPress-Return> [concat dogatom_ok $id]
--    bind $id.paramlo.entry <KeyPress-Return> [concat dogatom_ok $id]
-+    bind $id.limits.upper.entry <KeyPress-Return> [concat dogatom_ok $id]
-+    bind $id.limits.lower.entry <KeyPress-Return> [concat dogatom_ok $id]
-     bind $id.params.entry <KeyPress-Return> [concat dogatom_ok $id]
--    pdtk_standardkeybindings $id.paramhi.entry
--    pdtk_standardkeybindings $id.paramlo.entry
-+    pdtk_standardkeybindings $id.limits.upper.entry
-+    pdtk_standardkeybindings $id.limits.lower.entry
-     pdtk_standardkeybindings $id.params.entry
-     $id.params.entry select from 0
-     $id.params.entry select adjust end
-@@ -2131,7 +2176,7 @@
- 
-     if {[eval concat $$var_iemgui_gn_fs] < $iemgui_define_min_fontsize} {
-         set $var_iemgui_gn_fs $iemgui_define_min_fontsize
--        $id.gnfs.fs_ent configure -textvariable $var_iemgui_gn_fs
-+        $id.label.fs_ent configure -textvariable $var_iemgui_gn_fs
-     }
- }
- 
-@@ -2145,20 +2190,20 @@
-     set var_iemgui_lcol [concat iemgui_lcol_$vid]
-     global $var_iemgui_lcol
-     
--    $id.col_example_choose.lb_bk configure \
-+    $id.colors.sections.lb_bk configure \
-        -background [format "#%6.6x" [eval concat $$var_iemgui_bcol]] \
-        -activebackground [format "#%6.6x" [eval concat $$var_iemgui_bcol]] \
-        -foreground [format "#%6.6x" [eval concat $$var_iemgui_lcol]] \
-        -activeforeground [format "#%6.6x" [eval concat $$var_iemgui_lcol]]
-     
-     if { [eval concat $$var_iemgui_fcol] >= 0 } {
--       $id.col_example_choose.fr_bk configure \
-+       $id.colors.sections.fr_bk configure \
-        -background [format "#%6.6x" [eval concat $$var_iemgui_bcol]] \
-        -activebackground [format "#%6.6x" [eval concat $$var_iemgui_bcol]] \
-        -foreground [format "#%6.6x" [eval concat $$var_iemgui_fcol]] \
-        -activeforeground [format "#%6.6x" [eval concat $$var_iemgui_fcol]]
-     } else {
--       $id.col_example_choose.fr_bk configure \
-+       $id.colors.sections.fr_bk configure \
-        -background [format "#%6.6x" [eval concat $$var_iemgui_bcol]] \
-        -activebackground [format "#%6.6x" [eval concat $$var_iemgui_bcol]] \
-        -foreground [format "#%6.6x" [eval concat $$var_iemgui_bcol]] \
-@@ -2242,17 +2287,27 @@
-     }
- }
- 
--proc iemgui_toggle_font {id} {
-+proc iemgui_toggle_font {id gn_f} {
-     set vid [string trimleft $id .]
- 
-     set var_iemgui_gn_f [concat iemgui_gn_f_$vid]
-     global $var_iemgui_gn_f
-+	 global fontname fontweight
-     
--    set $var_iemgui_gn_f [expr [eval concat $$var_iemgui_gn_f] + 1]
--    if {[eval concat $$var_iemgui_gn_f] > 2} {set $var_iemgui_gn_f 0}
--    if {[eval concat $$var_iemgui_gn_f] == 0} {$id.gnfs.fb configure -text "courier" -font {courier 10 bold}}
--    if {[eval concat $$var_iemgui_gn_f] == 1} {$id.gnfs.fb configure -text "helvetica" -font {helvetica 10 bold}}
--    if {[eval concat $$var_iemgui_gn_f] == 2} {$id.gnfs.fb configure -text "times" -font {times 10 bold}}
-+    set $var_iemgui_gn_f $gn_f
-+
-+	 switch -- $gn_f {
-+		  0 { set current_font $fontname}
-+		  1 { set current_font "Helvetica" }
-+		  2 { set current_font "Times" }
-+	 }
-+	 set current_font_spec "{$current_font} 12 $fontweight"
-+
-+	 $id.label.fontpopup_label configure -text $current_font \
-+		  -font $current_font_spec
-+	 $id.label.name_entry configure -font $current_font_spec
-+	 $id.colors.sections.fr_bk configure -font $current_font_spec
-+	 $id.colors.sections.lb_bk configure -font $current_font_spec
- }
- 
- proc iemgui_lb {id} {
-@@ -2398,6 +2453,9 @@
- 
-     set vid [string trimleft $id .]
- 
-+	 global pd_nt
-+	 global fontname fontweight
-+
-     set var_iemgui_wdt [concat iemgui_wdt_$vid]
-     global $var_iemgui_wdt
-     set var_iemgui_min_wdt [concat iemgui_min_wdt_$vid]
-@@ -2485,7 +2543,8 @@
-     set $var_iemgui_l2_f1_b0 0
- 
-     toplevel $id
--    wm title $id [format "%s-PROPERTIES" $mainheader]
-+    wm title $id [format "%s Properties" $mainheader]
-+    wm resizable $id 0 0
-     wm protocol $id WM_DELETE_WINDOW [concat iemgui_cancel $id]
-     
-     frame $id.dim
-@@ -2518,7 +2577,7 @@
-             $id.rng.max_lab $id.rng.max_ent -side left} }
-     
-     if { [eval concat $$var_iemgui_lin0_log1] >= 0 || [eval concat $$var_iemgui_loadbang] >= 0 || [eval concat $$var_iemgui_num] > 0 || [eval concat $$var_iemgui_steady] >= 0 } {
--        label $id.space1 -text "---------------------------------"
-+        label $id.space1 -text ""
-         pack $id.space1 -side top }
- 
-     frame $id.para
-@@ -2547,157 +2606,189 @@
-         pack $id.para.dummy3 $id.para.num_lab $id.para.num_ent -side left -expand 1}
-     if {[eval concat $$var_iemgui_steady] >= 0} {
-         pack $id.para.dummy3 $id.para.stdy_jmp -side left -expand 1}
--    if { $snd != "nosndno" || $rcv != "norcvno" } {
--        label $id.space2 -text "---------------------------------"
--        pack $id.space2 -side top }
--    
--    frame $id.snd
--    pack $id.snd -side top
--    label $id.snd.dummy1 -text "" -width 2
--    label $id.snd.lab -text "send-symbol:" -width 12
--    entry $id.snd.ent -textvariable $var_iemgui_snd -width 20
-+
-+	 frame $id.spacer0 -height 4
-+	 pack $id.spacer0 -side top
-+    
-+	 labelframe $id.s_r -borderwidth 1 -pady 4 -text "messages" \
-+        -font highlight_font
-+	 pack $id.s_r -side top -fill x -ipadx 5
-+    frame $id.s_r.send
-+    pack $id.s_r.send -side top
-+    label $id.s_r.send.lab -text "   send-symbol:" -width 12  -justify right
-+    entry $id.s_r.send.ent -textvariable $var_iemgui_snd -width 22
-     if { $snd != "nosndno" } {
--        pack $id.snd.dummy1 $id.snd.lab $id.snd.ent -side left}
-+        pack $id.s_r.send.lab $id.s_r.send.ent -side left}
-     
--    frame $id.rcv
--    pack $id.rcv -side top
--    label $id.rcv.lab -text "receive-symbol:" -width 15
--    entry $id.rcv.ent -textvariable $var_iemgui_rcv -width 20
-+    frame $id.s_r.receive
-+    pack $id.s_r.receive -side top
-+    label $id.s_r.receive.lab -text "receive-symbol:" -width 12 -justify right
-+    entry $id.s_r.receive.ent -textvariable $var_iemgui_rcv -width 22
-     if { $rcv != "norcvno" } {
--        pack $id.rcv.lab $id.rcv.ent -side left}
-+        pack $id.s_r.receive.lab $id.s_r.receive.ent -side left}
-     
--    frame $id.gnam
--    pack $id.gnam -side top
--    label $id.gnam.head -text "--------------label:---------------"
--    label $id.gnam.dummy1 -text "" -width 1
--    label $id.gnam.lab -text "name:" -width 6
--    entry $id.gnam.ent -textvariable $var_iemgui_gui_nam -width 29
--    label $id.gnam.dummy2 -text "" -width 1
--    pack $id.gnam.head -side top
--    pack $id.gnam.dummy1 $id.gnam.lab $id.gnam.ent $id.gnam.dummy2 -side left
--    
--    frame $id.gnxy
--    pack $id.gnxy -side top
--    label $id.gnxy.x_lab -text "x_off:" -width 6
--    entry $id.gnxy.x_ent -textvariable $var_iemgui_gn_dx -width 5
--    label $id.gnxy.dummy1 -text " " -width 10
--    label $id.gnxy.y_lab -text "y_off:" -width 6
--    entry $id.gnxy.y_ent -textvariable $var_iemgui_gn_dy -width 5
--    pack $id.gnxy.x_lab $id.gnxy.x_ent $id.gnxy.dummy1 \
--         $id.gnxy.y_lab $id.gnxy.y_ent -side left
--    
--    frame $id.gnfs
--    pack $id.gnfs -side top
--    label $id.gnfs.f_lab -text "font:" -width 6
--    if {[eval concat $$var_iemgui_gn_f] == 0} {
--        button $id.gnfs.fb -text "courier" -font {courier 10 bold} -width 7 -command "iemgui_toggle_font $id" }
--    if {[eval concat $$var_iemgui_gn_f] == 1} {
--        button $id.gnfs.fb -text "helvetica" -font {helvetica 10 bold} -width 7 -command "iemgui_toggle_font $id" }
--    if {[eval concat $$var_iemgui_gn_f] == 2} {
--        button $id.gnfs.fb -text "times" -font {times 10 bold} -width 7 -command "iemgui_toggle_font $id" }
--    label $id.gnfs.dummy1 -text "" -width 1
--    label $id.gnfs.fs_lab -text "fontsize:" -width 8
--    entry $id.gnfs.fs_ent -textvariable $var_iemgui_gn_fs -width 5
--    pack $id.gnfs.f_lab $id.gnfs.fb $id.gnfs.dummy1 \
--         $id.gnfs.fs_lab $id.gnfs.fs_ent -side left
--    
--    label $id.col_head -text "--------------colors:--------------"
--    pack $id.col_head -side top
--    
--    frame $id.col_select
--    pack $id.col_select -side top
--    radiobutton $id.col_select.radio0 -value 0 -variable $var_iemgui_l2_f1_b0 \
--       -text "backgd" -width 5
--    radiobutton $id.col_select.radio1 -value 1 -variable $var_iemgui_l2_f1_b0 \
--       -text "front" -width 5
--    radiobutton $id.col_select.radio2 -value 2 -variable $var_iemgui_l2_f1_b0 \
--       -text "label" -width 5
-+# get the current font name from the int given from C-space (gn_f)
-+	 set current_font $fontname
-+    if {[eval concat $$var_iemgui_gn_f] == 1} \
-+		  { set current_font "Helvetica" }
-+    if {[eval concat $$var_iemgui_gn_f] == 2} \
-+		  { set current_font "Times" }
-+
-+	 frame $id.spacer1 -height 7
-+	 pack $id.spacer1 -side top
-+    
-+	 labelframe $id.label -borderwidth 1 -text "label" -pady 4 \
-+		  -font highlight_font
-+	 pack $id.label -side top -fill x
-+    entry $id.label.name_entry -textvariable $var_iemgui_gui_nam -width 30 \
-+		  -font [list $current_font 12 $fontweight]
-+    pack $id.label.name_entry -side top -expand yes -fill both -padx 5
-+    
-+    frame $id.label.xy -padx 27 -pady 1
-+    pack $id.label.xy -side top
-+    label $id.label.xy.x_lab -text "x offset" -width 6
-+    entry $id.label.xy.x_entry -textvariable $var_iemgui_gn_dx -width 5
-+    label $id.label.xy.dummy1 -text " " -width 2
-+    label $id.label.xy.y_lab -text "y offset" -width 6
-+    entry $id.label.xy.y_entry -textvariable $var_iemgui_gn_dy -width 5
-+    pack $id.label.xy.x_lab $id.label.xy.x_entry $id.label.xy.dummy1 \
-+         $id.label.xy.y_lab $id.label.xy.y_entry -side left -anchor e
-+    
-+	 label $id.label.fontpopup_label -text $current_font \
-+		  -relief groove -font [list $current_font 12 $fontweight] -padx 5
-+    pack $id.label.fontpopup_label -side left -anchor w -expand yes -fill x
-+    label $id.label.fontsize_label -text "size" -width 4
-+    entry $id.label.fontsize_entry -textvariable $var_iemgui_gn_fs -width 5
-+	 pack $id.label.fontsize_entry $id.label.fontsize_label \
-+		  -side right -anchor e -padx 5 -pady 5
-+	 menu $id.popup
-+	 $id.popup add command \
-+		  -label $fontname \
-+		  -font [format {{%s} 12 %s} $fontname $fontweight] \
-+		  -command "iemgui_toggle_font $id 0" 
-+	 $id.popup add command \
-+		  -label "Helvetica" \
-+		  -font [format {Helvetica 12 %s} $fontweight] \
-+		  -command "iemgui_toggle_font $id 1" 
-+	 $id.popup add command \
-+		  -label "Times" \
-+		  -font [format {Times 12 %s} $fontweight] \
-+		  -command "iemgui_toggle_font $id 2" 
-+	 bind $id.label.fontpopup_label <Button> \
-+		  [list tk_popup $id.popup %X %Y]
-+
-+	 frame $id.spacer2 -height 7
-+	 pack $id.spacer2 -side top
-+    
-+    labelframe $id.colors -borderwidth 1 -text "colors" -font highlight_font
-+    pack $id.colors -fill x -ipadx 5 -ipady 4
-+    
-+    frame $id.colors.select
-+    pack $id.colors.select -side top
-+    radiobutton $id.colors.select.radio0 -value 0 -variable \
-+		  $var_iemgui_l2_f1_b0 -text "background" -width 10 -justify left
-+    radiobutton $id.colors.select.radio1 -value 1 -variable \
-+		  $var_iemgui_l2_f1_b0 -text "front" -width 5 -justify left
-+    radiobutton $id.colors.select.radio2 -value 2 -variable \
-+		  $var_iemgui_l2_f1_b0 -text "label" -width 5 -justify left
-     if { [eval concat $$var_iemgui_fcol] >= 0 } {
--         pack $id.col_select.radio0 $id.col_select.radio1 $id.col_select.radio2 -side left
--       } else {pack $id.col_select.radio0 $id.col_select.radio2 -side left}
-+		  pack $id.colors.select.radio0 $id.colors.select.radio1 \
-+				$id.colors.select.radio2 -side left
-+	 } else {
-+		  pack $id.colors.select.radio0 $id.colors.select.radio2 -side left \
-+	 }
-     
--    frame $id.col_example_choose
--    pack $id.col_example_choose -side top
--    button $id.col_example_choose.but -text "compose color" -width 10 \
-+    frame $id.colors.sections
-+    pack $id.colors.sections -side top
-+    button $id.colors.sections.but -text "compose color" -width 12 \
-              -command "iemgui_choose_col_bkfrlb $id"
--    label $id.col_example_choose.dummy1 -text "" -width 1
-+    pack $id.colors.sections.but -side left -anchor w -padx 10 -pady 5 \
-+		  -expand yes -fill x
-     if { [eval concat $$var_iemgui_fcol] >= 0 } {
--      button $id.col_example_choose.fr_bk -text "o=||=o" -width 5 \
-+		  label $id.colors.sections.fr_bk -text "o=||=o" -width 6 \
-        -background [format "#%6.6x" [eval concat $$var_iemgui_bcol]] \
-        -activebackground [format "#%6.6x" [eval concat $$var_iemgui_bcol]] \
-        -foreground [format "#%6.6x" [eval concat $$var_iemgui_fcol]] \
--       -activeforeground [format "#%6.6x" [eval concat $$var_iemgui_fcol]] -pady 2
-+       -activeforeground [format "#%6.6x" [eval concat $$var_iemgui_fcol]] \
-+       -font [list $current_font 12 $fontweight] -padx 2 -pady 2 -relief ridge
-     } else {
--      button $id.col_example_choose.fr_bk -text "o=||=o" -width 5 \
-+		  label $id.colors.sections.fr_bk -text "o=||=o" -width 6 \
-        -background [format "#%6.6x" [eval concat $$var_iemgui_bcol]] \
-        -activebackground [format "#%6.6x" [eval concat $$var_iemgui_bcol]] \
-        -foreground [format "#%6.6x" [eval concat $$var_iemgui_bcol]] \
--       -activeforeground [format "#%6.6x" [eval concat $$var_iemgui_bcol]] -pady 2}
--    button $id.col_example_choose.lb_bk -text "testlabel" -width 7 \
-+       -activeforeground [format "#%6.6x" [eval concat $$var_iemgui_bcol]] \
-+       -font [list $current_font 12 $fontweight] -padx 2 -pady 2 -relief ridge
-+	 }
-+	 label $id.colors.sections.lb_bk -text "testlabel" -width 9 \
-        -background [format "#%6.6x" [eval concat $$var_iemgui_bcol]] \
-        -activebackground [format "#%6.6x" [eval concat $$var_iemgui_bcol]] \
-        -foreground [format "#%6.6x" [eval concat $$var_iemgui_lcol]] \
--       -activeforeground [format "#%6.6x" [eval concat $$var_iemgui_lcol]] -pady 2
--    
--    pack $id.col_example_choose.but $id.col_example_choose.dummy1 \
--       $id.col_example_choose.fr_bk $id.col_example_choose.lb_bk -side left
--    
--    label $id.space3 -text "------or click color preset:-------"
--    pack $id.space3 -side top
-+		 -activeforeground [format "#%6.6x" [eval concat $$var_iemgui_lcol]] \
-+		  -font [list $current_font 12 $fontweight] -padx 2 -pady 2 -relief ridge
-+    pack $id.colors.sections.lb_bk $id.colors.sections.fr_bk \
-+		  -side right -anchor e -expand yes -fill both -pady 7
-+
-+# color scheme by Mary Ann Benedetto http://piR2.org
-+    frame $id.colors.r1
-+    pack $id.colors.r1 -side top
-+    foreach i { 0 1 2 3 4 5 6 7 8 9} \
-+		  hexcol { 0xFFFFFF 0xDFDFDF 0xBBBBBB 0xFFC7C6 0xFFE3C6 \
-+							0xFEFFC6 0xC6FFC7 0xc6FEFF 0xC7C6FF 0xE3C6FF } \
-+		  {
-+				label $id.colors.r1.c$i -background [format "#%6.6x" $hexcol] \
-+					 -activebackground [format "#%6.6x" $hexcol] -relief ridge \
-+					 -padx 7 -pady 0
-+				bind $id.colors.r1.c$i <Button> [format "iemgui_preset_col %s %d" $id $hexcol] 
-+		  }
-+    pack $id.colors.r1.c0 $id.colors.r1.c1 $id.colors.r1.c2 $id.colors.r1.c3 \
-+		  $id.colors.r1.c4 $id.colors.r1.c5 $id.colors.r1.c6 $id.colors.r1.c7 \
-+		  $id.colors.r1.c8 $id.colors.r1.c9 -side left
-+    
-+    frame $id.colors.r2
-+    pack $id.colors.r2 -side top
-+    foreach i { 0 1 2 3 4 5 6 7 8 9 } \
-+		  hexcol { 0x9F9F9F 0x7C7C7C 0x606060 0xFF0400 0xFF8300 \
-+							0xFAFF00 0x00FF04 0x00FAFF 0x0400FF 0x9C00FF } \
-+		  {
-+				label $id.colors.r2.c$i -background [format "#%6.6x" $hexcol] \
-+					 -activebackground [format "#%6.6x" $hexcol] -relief ridge \
-+					 -padx 7 -pady 0
-+				bind  $id.colors.r2.c$i <Button> \
-+					 [format "iemgui_preset_col %s %d" $id $hexcol] 
-+		  }
-+    pack $id.colors.r2.c0 $id.colors.r2.c1 $id.colors.r2.c2 $id.colors.r2.c3 \
-+		  $id.colors.r2.c4 $id.colors.r2.c5 $id.colors.r2.c6 $id.colors.r2.c7 \
-+		  $id.colors.r2.c8 $id.colors.r2.c9 -side left
-+    
-+    frame $id.colors.r3
-+    pack $id.colors.r3 -side top
-+    foreach i { 0 1 2 3 4 5 6 7 8 9 } \
-+		  hexcol { 0x404040 0x202020 0x000000 0x551312 0x553512 \
-+							0x535512 0x0F4710 0x0E4345 0x131255 0x2F004D } \
-+		  {
-+				label $id.colors.r3.c$i -background [format "#%6.6x" $hexcol] \
-+					 -activebackground [format "#%6.6x" $hexcol] -relief ridge \
-+					 -padx 7 -pady 0
-+				bind  $id.colors.r3.c$i <Button> \
-+					 [format "iemgui_preset_col %s %d" $id $hexcol] 
-+		  }
-+    pack $id.colors.r3.c0 $id.colors.r3.c1 $id.colors.r3.c2 $id.colors.r3.c3 \
-+		  $id.colors.r3.c4 $id.colors.r3.c5 $id.colors.r3.c6 $id.colors.r3.c7 \
-+		  $id.colors.r3.c8 $id.colors.r3.c9 -side left
-     
--    frame $id.bcol
--    pack $id.bcol -side top
--    foreach i { 0 1 2 3 4 5 6 7 8 9 } hexcol { 16579836 14737632 12369084 \
--      16572640 16572608 16579784 14220504 14220540 14476540 16308476 } {
--        button $id.bcol.c$i -background [format "#%6.6x" $hexcol] \
--            -activebackground [format "#%6.6x" $hexcol] \
--            -font {courier 2 normal} -padx 7 -pady 6 \
--            -command [format "iemgui_preset_col %s %d" $id $hexcol] }
--    pack $id.bcol.c0 $id.bcol.c1 $id.bcol.c2 $id.bcol.c3 $id.bcol.c4 \
--        $id.bcol.c5 $id.bcol.c6 $id.bcol.c7 $id.bcol.c8 $id.bcol.c9 -side left
--    
--    frame $id.fcol
--    pack $id.fcol -side top
--    foreach i { 0 1 2 3 4 5 6 7 8 9 } hexcol { 10526880 8158332 6316128 \
--      16525352 16559172 15263784 1370132 2684148 3952892 16003312 } {
--        button $id.fcol.c$i -background [format "#%6.6x" $hexcol] \
--            -activebackground [format "#%6.6x" $hexcol] \
--            -font {courier 2 normal} -padx 7 -pady 6 \
--            -command [format "iemgui_preset_col %s %d" $id $hexcol] }
--    pack $id.fcol.c0 $id.fcol.c1 $id.fcol.c2 $id.fcol.c3 $id.fcol.c4 \
--        $id.fcol.c5 $id.fcol.c6 $id.fcol.c7 $id.fcol.c8 $id.fcol.c9 -side left
--    
--    frame $id.lcol
--    pack $id.lcol -side top
--    foreach i { 0 1 2 3 4 5 6 7 8 9 } hexcol { 4210752 2105376 0 \
--      9177096 5779456 7874580 2641940 17488 5256 5767248 } {
--        button $id.lcol.c$i -background [format "#%6.6x" $hexcol] \
--            -activebackground [format "#%6.6x" $hexcol] \
--            -font {courier 2 normal} -padx 7 -pady 6 \
--            -command [format "iemgui_preset_col %s %d" $id $hexcol] }
--    pack $id.lcol.c0 $id.lcol.c1 $id.lcol.c2 $id.lcol.c3 $id.lcol.c4 \
--        $id.lcol.c5 $id.lcol.c6 $id.lcol.c7 $id.lcol.c8 $id.lcol.c9 -side left
--    
--    
--    label $id.space4 -text "---------------------------------"
--    pack $id.space4 -side top
--    
--    frame $id.cao
-+    frame $id.cao -pady 10
-     pack $id.cao -side top
-     button $id.cao.cancel -text {Cancel} -width 6 \
-         -command "iemgui_cancel $id"
-     label $id.cao.dummy1 -text "" -width 3
--    button $id.cao.apply -text {Apply} -width 6 \
--        -command "iemgui_apply $id"
-+	 button $id.cao.apply -text {Apply} -width 6 -command "iemgui_apply $id"
-     label $id.cao.dummy2 -text "" -width 3
-     button $id.cao.ok -text {OK} -width 6 \
-         -command "iemgui_ok $id"
--    pack $id.cao.cancel $id.cao.dummy1 \
--        $id.cao.apply $id.cao.dummy2 \
--        $id.cao.ok -side left
-     
--    label $id.space5 -text ""
--    pack $id.space5 -side top
-+    pack $id.cao.cancel $id.cao.dummy1 -side left
-+	 pack $id.cao.apply $id.cao.dummy2 -side left
-+    pack $id.cao.ok -side left
- 
-     if {[info tclversion] < 8.4} {
-         bind $id <Key-Tab> {tkTabToWindow [tk_focusNext %W]}
-@@ -2712,24 +2803,24 @@
-     bind $id.rng.min_ent <KeyPress-Return> [concat iemgui_ok $id]
-     bind $id.rng.max_ent <KeyPress-Return> [concat iemgui_ok $id]
-     bind $id.para.num_ent <KeyPress-Return> [concat iemgui_ok $id]
--    bind $id.snd.ent <KeyPress-Return> [concat iemgui_ok $id]
--    bind $id.rcv.ent <KeyPress-Return> [concat iemgui_ok $id]
--    bind $id.gnam.ent <KeyPress-Return> [concat iemgui_ok $id]
--    bind $id.gnxy.x_ent <KeyPress-Return> [concat iemgui_ok $id]
--    bind $id.gnxy.y_ent <KeyPress-Return> [concat iemgui_ok $id]
--    bind $id.gnfs.fs_ent <KeyPress-Return> [concat iemgui_ok $id]
-+    bind $id.s_r.send.ent <KeyPress-Return> [concat iemgui_ok $id]
-+    bind $id.s_r.receive.ent <KeyPress-Return> [concat iemgui_ok $id]
-+    bind $id.label.name_entry <KeyPress-Return> [concat iemgui_ok $id]
-+    bind $id.label.xy.x_entry <KeyPress-Return> [concat iemgui_ok $id]
-+    bind $id.label.xy.y_entry <KeyPress-Return> [concat iemgui_ok $id]
-+    bind $id.label.fontsize_entry <KeyPress-Return> [concat iemgui_ok $id]
-     bind $id.cao.ok <KeyPress-Return> [concat iemgui_ok $id]
-     pdtk_standardkeybindings $id.dim.w_ent
-     pdtk_standardkeybindings $id.dim.h_ent
-     pdtk_standardkeybindings $id.rng.min_ent
-     pdtk_standardkeybindings $id.rng.max_ent
-     pdtk_standardkeybindings $id.para.num_ent
--    pdtk_standardkeybindings $id.snd.ent
--    pdtk_standardkeybindings $id.rcv.ent
--    pdtk_standardkeybindings $id.gnam.ent
--    pdtk_standardkeybindings $id.gnxy.x_ent
--    pdtk_standardkeybindings $id.gnxy.y_ent
--    pdtk_standardkeybindings $id.gnfs.fs_ent
-+    pdtk_standardkeybindings $id.s_r.send.ent
-+    pdtk_standardkeybindings $id.s_r.receive.ent
-+    pdtk_standardkeybindings $id.label.name_entry
-+    pdtk_standardkeybindings $id.label.xy.x_entry
-+    pdtk_standardkeybindings $id.label.xy.y_entry
-+    pdtk_standardkeybindings $id.label.fontsize_entry
-     pdtk_standardkeybindings $id.cao.ok
-     
-     $id.dim.w_ent select from 0
-@@ -2807,6 +2898,7 @@
- 
-     toplevel $id
-     wm title $id {array}
-+    wm resizable $id 0 0
-     wm protocol $id WM_DELETE_WINDOW [concat array_cancel $id]
- 
-     frame $id.name
-@@ -3264,18 +3356,21 @@
- # seven "useful" font sizes.
- 
- # tb: user defined typefaces
--proc pdtk_pd_startup {version apilist midiapilist fontname} {
-+proc pdtk_pd_startup {version apilist midiapilist fontname_from_pd fontweight_from_pd} {
- #    puts stderr [concat $version $apilist $fontname]
--    global pd_myversion pd_apilist pd_midiapilist
-+    global pd_myversion pd_apilist pd_midiapilist pd_nt
-     set pd_myversion $version
-     set pd_apilist $apilist
-     set pd_midiapilist $midiapilist
-+	 global fontname fontweight
-+	 set fontname $fontname_from_pd
-+	 set fontweight $fontweight_from_pd
-     global pd_fontlist
-     set pd_fontlist {}
- 
-     set fontlist ""
-     foreach i {8 9 10 12 14 16 18 24 30 36} {
--       set font [concat $fontname -$i bold]
-+       set font [format {{%s} %d %s} $fontname_from_pd $i $fontweight_from_pd]
-        set pd_fontlist [linsert $pd_fontlist 100000 $font] 
-        set width0 [font measure  $font x]
-        set height0 [lindex [font metrics $font] 5]
-@@ -3522,8 +3617,12 @@
- 
- # create a popup menu
- proc audio_popup {name buttonname varname devlist} {
-+    global pd_nt
-     if [winfo exists $name.popup] {destroy $name.popup}
-     menu $name.popup -tearoff false
-+    if {$pd_nt == 1} {
-+	$name.popup configure -font menuFont
-+    }
- #    puts stderr [concat $devlist ]
-     for {set x 0} {$x<[llength $devlist]} {incr x} {
-         $name.popup add command -label [lindex $devlist $x] \
-@@ -3798,8 +3897,12 @@
- 
- # create a popup menu
- proc midi_popup {name buttonname varname devlist} {
-+    global pd_nt
-     if [winfo exists $name.popup] {destroy $name.popup}
-     menu $name.popup -tearoff false
-+    if {$pd_nt == 1} {
-+	$name.popup configure -font menuFont
-+    }
- #    puts stderr [concat $devlist ]
-     for {set x 0} {$x<[llength $devlist]} {incr x} {
-         $name.popup add command -label [lindex $devlist $x] \
diff --git a/packages/patches/proxy_icon_and_modified_state-0.41.4.patch b/packages/patches/proxy_icon_and_modified_state-0.41.4.patch
deleted file mode 100644
index 1ee7bb41c..000000000
--- a/packages/patches/proxy_icon_and_modified_state-0.41.4.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Index: g_canvas.c
-===================================================================
---- g_canvas.c	(revision 9721)
-+++ g_canvas.c	(working copy)
-@@ -598,9 +598,15 @@
-         strcat(namebuf, ")");
-     }
-     else namebuf[0] = 0;
-+#ifdef __APPLE__
-+    sys_vgui("wm attributes .x%lx -modified %d -titlepath {%s/%s}\n",
-+        x, x->gl_dirty, canvas_getdir(x)->s_name, x->gl_name->s_name);
-+    sys_vgui("wm title .x%lx {%s%s}\n", x, x->gl_name->s_name, namebuf);
-+#else
-     sys_vgui("wm title .x%lx {%s%c%s - %s}\n", 
-         x, x->gl_name->s_name, (x->gl_dirty? '*' : ' '), namebuf,
-             canvas_getdir(x)->s_name);
-+#endif
- }
- 
- void canvas_dirty(t_canvas *x, t_int n)
diff --git a/packages/patches/set_cursors_in_tcl-0.41-test06.patch b/packages/patches/set_cursors_in_tcl-0.41-test06.patch
deleted file mode 100644
index b34cce685..000000000
--- a/packages/patches/set_cursors_in_tcl-0.41-test06.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-Index: u_main.tk
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/u_main.tk,v
-retrieving revision 1.28
-diff -u -w -r1.28 u_main.tk
---- u_main.tk	18 Aug 2007 23:32:44 -0000	1.28
-+++ u_main.tk	6 Nov 2007 02:10:48 -0000
-@@ -31,6 +31,36 @@
- set pd_array_listview_page(0) 0
- # end jsarlo
- 
-+# set up mouse cursors individually on each platform
-+switch -- $pd_nt { 0 {
-+    # GNU/Linux
-+    set cursor_runmode_nothing "left_ptr"
-+    set cursor_runmode_clickme "arrow"
-+    set cursor_runmode_thicken "sb_v_double_arrow"
-+    set cursor_runmode_addpoint "plus"
-+    set cursor_editmode_nothing "hand2"
-+    set cursor_editmode_connect "circle"
-+    set cursor_editmode_disconnect "X_cursor"
-+} 1 {
-+    # Windows
-+    set cursor_runmode_nothing "rigth_ptr"
-+    set cursor_runmode_clickme "arrow"
-+    set cursor_runmode_thicken "sb_v_double_arrow"
-+    set cursor_runmode_addpoint "plus"
-+    set cursor_editmode_nothing "hand2"
-+    set cursor_editmode_connect "circle"
-+    set cursor_editmode_disconnect "X_cursor"
-+} 2 {
-+    # Mac OS X
-+    set cursor_runmode_nothing "arrow"
-+    set cursor_runmode_clickme "center_ptr"
-+    set cursor_runmode_thicken "sb_v_double_arrow"
-+    set cursor_runmode_addpoint "plus"
-+    set cursor_editmode_nothing "hand2"
-+    set cursor_editmode_connect "circle"
-+    set cursor_editmode_disconnect "X_cursor"
-+} }
-+
- if {$pd_nt == 1} {
-     global pd_guidir
-     global pd_tearoff
-Index: g_editor.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/g_editor.c,v
-retrieving revision 1.20
-diff -u -w -r1.20 g_editor.c
---- g_editor.c	9 Oct 2006 04:36:12 -0000	1.20
-+++ g_editor.c	6 Nov 2007 02:10:48 -0000
-@@ -729,17 +729,13 @@
- /* ------------------------ event handling ------------------------ */
- 
- static char *cursorlist[] = {
--#ifdef MSW
--    "right_ptr",        /* CURSOR_RUNMODE_NOTHING */
--#else
--    "left_ptr",         /* CURSOR_RUNMODE_NOTHING */
--#endif
--    "arrow",            /* CURSOR_RUNMODE_CLICKME */
--    "sb_v_double_arrow", /* CURSOR_RUNMODE_THICKEN */
--    "plus",             /* CURSOR_RUNMODE_ADDPOINT */
--    "hand2",            /* CURSOR_EDITMODE_NOTHING */
--    "circle",           /* CURSOR_EDITMODE_CONNECT */
--    "X_cursor"          /* CURSOR_EDITMODE_DISCONNECT */
-+    "$cursor_runmode_nothing",
-+    "$cursor_runmode_clickme",
-+    "$cursor_runmode_thicken",
-+    "$cursor_runmode_addpoint",
-+    "$cursor_editmode_nothing",
-+    "$cursor_editmode_connect",
-+    "$cursor_editmode_disconnect"
- };
- 
- void canvas_setcursor(t_canvas *x, unsigned int cursornum)
diff --git a/packages/patches/show_whole_subpatch_name_in_window_title-0.41.4.patch b/packages/patches/show_whole_subpatch_name_in_window_title-0.41.4.patch
deleted file mode 100644
index 1b5f1d6f1..000000000
--- a/packages/patches/show_whole_subpatch_name_in_window_title-0.41.4.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Index: g_canvas.c
-===================================================================
---- g_canvas.c	(revision 9910)
-+++ g_canvas.c	(working copy)
-@@ -1133,10 +1133,22 @@
- 
- /* -------------------------- subcanvases ---------------------- */
- 
--static void *subcanvas_new(t_symbol *s)
-+static void *subcanvas_new(t_symbol *s, int argc, t_atom *argv)
- {
-     t_atom a[6];
-     t_canvas *x, *z = canvas_getcurrent();
-+    if (argc)
-+    {
-+        int bufsize;
-+        char *buf;
-+        t_binbuf *bb = binbuf_new();
-+        binbuf_addv(bb, "s", s);
-+        binbuf_add(bb, argc, argv);
-+        binbuf_gettext(bb, &buf, &bufsize);
-+        buf[bufsize] = '\0';
-+        binbuf_free(bb);
-+        s = gensym(buf);
-+    }
-     if (!*s->s_name) s = gensym("/SUBPATCH/");
-     SETFLOAT(a, 0);
-     SETFLOAT(a+1, GLIST_DEFCANVASYLOC);
-@@ -1750,8 +1762,8 @@
-         A_NULL);
- 
- /* ----- subcanvases, which you get by typing "pd" in a box ---- */
--    class_addcreator((t_newmethod)subcanvas_new, gensym("pd"), A_DEFSYMBOL, 0);
--    class_addcreator((t_newmethod)subcanvas_new, gensym("page"),  A_DEFSYMBOL, 0);
-+    class_addcreator((t_newmethod)subcanvas_new, gensym("pd"), A_GIMME, 0);
-+    class_addcreator((t_newmethod)subcanvas_new, gensym("page"),  A_GIMME, 0);
- 
-     class_addmethod(canvas_class, (t_method)canvas_click,
-         gensym("click"), A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, 0);
diff --git a/packages/patches/sine_cosine_sum_memory_leak_fix-0.41.4.patch b/packages/patches/sine_cosine_sum_memory_leak_fix-0.41.4.patch
deleted file mode 100644
index 2763f42fc..000000000
--- a/packages/patches/sine_cosine_sum_memory_leak_fix-0.41.4.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Index: g_array.c
-===================================================================
---- g_array.c	(revision 9700)
-+++ g_array.c	(working copy)
-@@ -1207,7 +1207,7 @@
- 
- static void garray_sinesum(t_garray *x, t_symbol *s, int argc, t_atom *argv)
- {    
--    t_float *svec = (t_float *)t_getbytes(sizeof(t_float) * argc);
-+    t_float *svec;
-     int npoints, i;
-     if (argc < 2)
-     {
-@@ -1230,7 +1230,7 @@
- 
- static void garray_cosinesum(t_garray *x, t_symbol *s, int argc, t_atom *argv)
- {
--    t_float *svec = (t_float *)t_getbytes(sizeof(t_float) * argc);
-+    t_float *svec;
-     int npoints, i;
-     if (argc < 2)
-     {
diff --git a/packages/patches/use_FILENAME_MAX_for_file_operations-0.41.4.patch b/packages/patches/use_FILENAME_MAX_for_file_operations-0.41.4.patch
deleted file mode 100644
index fe6c2f0b5..000000000
--- a/packages/patches/use_FILENAME_MAX_for_file_operations-0.41.4.patch
+++ /dev/null
@@ -1,582 +0,0 @@
-Index: m_pd.h
-===================================================================
---- m_pd.h	(revision 9725)
-+++ m_pd.h	(working copy)
-@@ -51,7 +51,7 @@
- #include <stddef.h>     /* just for size_t -- how lame! */
- #endif
- 
--#define MAXPDSTRING 1000        /* use this for anything you want */
-+#define MAXPDSTRING 1000        /* must be >= FILENAME_MAX */
- #define MAXPDARG 5              /* max number of args we can typecheck today */
- 
- /* signed and unsigned integer types the size of a pointer:  */
-Index: g_editor.c
-===================================================================
---- g_editor.c	(revision 9725)
-+++ g_editor.c	(working copy)
-@@ -979,7 +979,7 @@
-         "open," or "help." */
- static void canvas_done_popup(t_canvas *x, t_float which, t_float xpos, t_float ypos)
- {
--    char pathbuf[MAXPDSTRING], namebuf[MAXPDSTRING];
-+    char pathbuf[FILENAME_MAX], namebuf[FILENAME_MAX];
-     t_gobj *y;
-     for (y = x->gl_list; y; y = y->g_next)
-     {
-@@ -1011,7 +1011,7 @@
-                     t_atom *av = binbuf_getvec(ob->te_binbuf);
-                     if (ac < 1)
-                         return;
--                    atom_string(av, namebuf, MAXPDSTRING);
-+                    atom_string(av, namebuf, FILENAME_MAX);
-                     dir = canvas_getdir((t_canvas *)y)->s_name;
-                 }
-                 else
-Index: s_file.c
-===================================================================
---- s_file.c	(revision 9725)
-+++ s_file.c	(working copy)
-@@ -43,23 +43,23 @@
- 
- static void sys_initloadpreferences( void)
- {
--    char filenamebuf[MAXPDSTRING], *homedir = getenv("HOME");
-+    char filenamebuf[FILENAME_MAX], *homedir = getenv("HOME");
-     int fd, length;
--    char user_prefs_file[MAXPDSTRING]; /* user prefs file */
-+    char user_prefs_file[FILENAME_MAX]; /* user prefs file */
-         /* default prefs embedded in the package */
--    char default_prefs_file[MAXPDSTRING];
-+    char default_prefs_file[FILENAME_MAX];
-     struct stat statbuf;
- 
--    snprintf(default_prefs_file, MAXPDSTRING, "%s/default.pdsettings", 
-+    snprintf(default_prefs_file, FILENAME_MAX, "%s/default.pdsettings", 
-         sys_libdir->s_name);
-     if (homedir)
--        snprintf(user_prefs_file, MAXPDSTRING, "%s/.pdsettings", homedir);
-+        snprintf(user_prefs_file, FILENAME_MAX, "%s/.pdsettings", homedir);
-     if (stat(user_prefs_file, &statbuf) == 0) 
--        strncpy(filenamebuf, user_prefs_file, MAXPDSTRING);
-+        strncpy(filenamebuf, user_prefs_file, FILENAME_MAX);
-     else if (stat(default_prefs_file, &statbuf) == 0)
--        strncpy(filenamebuf, default_prefs_file, MAXPDSTRING);
-+        strncpy(filenamebuf, default_prefs_file, FILENAME_MAX);
-     else return;
--    filenamebuf[MAXPDSTRING-1] = 0;
-+    filenamebuf[FILENAME_MAX-1] = 0;
-     if ((fd = open(filenamebuf, 0)) < 0)
-     {
-         if (sys_verbose)
-@@ -128,17 +128,17 @@
- 
- static void sys_initsavepreferences( void)
- {
--    char filenamebuf[MAXPDSTRING], errbuf[MAXPDSTRING],
-+    char filenamebuf[FILENAME_MAX], errbuf[FILENAME_MAX],
-         *homedir = getenv("HOME");
-     FILE *fp;
- 
-     if (!homedir)
-         return;
--    snprintf(filenamebuf, MAXPDSTRING, "%s/.pdsettings", homedir);
--    filenamebuf[MAXPDSTRING-1] = 0;
-+    snprintf(filenamebuf, FILENAME_MAX, "%s/.pdsettings", homedir);
-+    filenamebuf[FILENAME_MAX-1] = 0;
-     if ((sys_prefsavefp = fopen(filenamebuf, "w")) == NULL)
-     {
--        snprintf(errbuf, MAXPDSTRING, "%s: %s",filenamebuf, strerror(errno));
-+        snprintf(errbuf, FILENAME_MAX, "%s: %s",filenamebuf, strerror(errno));
-         pd_error(0, errbuf);
-     }
- }
-@@ -228,15 +228,15 @@
- {
-     char cmdbuf[256];
-     int nread = 0, nleft = size;
--    char embedded_prefs[MAXPDSTRING];
--    char user_prefs[MAXPDSTRING];
-+    char embedded_prefs[FILENAME_MAX];
-+    char user_prefs[FILENAME_MAX];
-     char *homedir = getenv("HOME");
-     struct stat statbuf;
-    /* the 'defaults' command expects the filename without .plist at the
-         end */
--    snprintf(embedded_prefs, MAXPDSTRING, "%s/../org.puredata.pd",
-+    snprintf(embedded_prefs, FILENAME_MAX, "%s/../org.puredata.pd",
-         sys_libdir->s_name);
--    snprintf(user_prefs, MAXPDSTRING,
-+    snprintf(user_prefs, FILENAME_MAX,
-         "%s/Library/Preferences/org.puredata.pd.plist", homedir);
-     if (stat(user_prefs, &statbuf) == 0)
-         snprintf(cmdbuf, 256, "defaults read org.puredata.pd %s 2> /dev/null\n",
-Index: configure.in
-===================================================================
---- configure.in	(revision 9725)
-+++ configure.in	(working copy)
-@@ -347,11 +347,11 @@
-     OSNUMBER=2
-     if test x$jack = "xyes";
-     then
--        LDFLAGS=$LDFLAGS" -weak_framework Jack"
-+        LDFLAGS=$LDFLAGS" -weak_framework Jackmp"
-     fi
-     if test x$jack = "xrun";
-     then
--        LDFLAGS=$LDFLAGS" -weak_framework Jack"
-+        LDFLAGS=$LDFLAGS" -weak_framework Jackmp"
-     fi
- fi
- 
-Index: s_main.c
-===================================================================
---- s_main.c	(revision 9725)
-+++ s_main.c	(working copy)
-@@ -177,9 +177,9 @@
- 
- static void openit(const char *dirname, const char *filename)
- {
--    char dirbuf[MAXPDSTRING], *nameptr;
-+    char dirbuf[FILENAME_MAX], *nameptr;
-     int fd = open_via_path(dirname, filename, "", dirbuf, &nameptr,
--        MAXPDSTRING, 0);
-+        FILENAME_MAX, 0);
-     if (fd >= 0)
-     {
-         close (fd);
-@@ -430,7 +430,7 @@
-     INSTALL_PREFIX.  In MSW, we don't try to use INSTALL_PREFIX. */
- void sys_findprogdir(char *progname)
- {
--    char sbuf[MAXPDSTRING], sbuf2[MAXPDSTRING], *sp;
-+    char sbuf[FILENAME_MAX], sbuf2[FILENAME_MAX], *sp;
-     char *lastslash; 
- #ifdef UNISTD
-     struct stat statbuf;
-@@ -439,12 +439,12 @@
-     /* find out by what string Pd was invoked; put answer in "sbuf". */
- #ifdef MSW
-     GetModuleFileName(NULL, sbuf2, sizeof(sbuf2));
--    sbuf2[MAXPDSTRING-1] = 0;
-+    sbuf2[FILENAME_MAX-1] = 0;
-     sys_unbashfilename(sbuf2, sbuf);
- #endif /* MSW */
- #ifdef UNISTD
--    strncpy(sbuf, progname, MAXPDSTRING);
--    sbuf[MAXPDSTRING-1] = 0;
-+    strncpy(sbuf, progname, FILENAME_MAX);
-+    sbuf[FILENAME_MAX-1] = 0;
- #endif
-     lastslash = strrchr(sbuf, '/');
-     if (lastslash)
-@@ -491,16 +491,16 @@
-     sys_libdir = gensym(sbuf2);
-     sys_guidir = &s_;   /* in MSW the guipath just depends on the libdir */
- #else
--    strncpy(sbuf, sbuf2, MAXPDSTRING-30);
--    sbuf[MAXPDSTRING-30] = 0;
-+    strncpy(sbuf, sbuf2, FILENAME_MAX-30);
-+    sbuf[FILENAME_MAX-30] = 0;
-     strcat(sbuf, "/lib/pd");
-     if (stat(sbuf, &statbuf) >= 0)
-     {
-             /* complicated layout: lib dir is the one we just stat-ed above */
-         sys_libdir = gensym(sbuf);
-             /* gui lives in .../lib/pd/bin */
--        strncpy(sbuf, sbuf2, MAXPDSTRING-30);
--        sbuf[MAXPDSTRING-30] = 0;
-+        strncpy(sbuf, sbuf2, FILENAME_MAX-30);
-+        sbuf[FILENAME_MAX-30] = 0;
-         strcat(sbuf, "/lib/pd/bin");
-         sys_guidir = gensym(sbuf);
-     }
-@@ -509,8 +509,8 @@
-             /* simple layout: lib dir is the parent */
-         sys_libdir = gensym(sbuf2);
-             /* gui lives in .../bin */
--        strncpy(sbuf, sbuf2, MAXPDSTRING-30);
--        sbuf[MAXPDSTRING-30] = 0;
-+        strncpy(sbuf, sbuf2, FILENAME_MAX-30);
-+        sbuf[FILENAME_MAX-30] = 0;
-         strcat(sbuf, "/bin");
-         sys_guidir = gensym(sbuf);
-     }
-@@ -525,7 +525,6 @@
- 
- int sys_argparse(int argc, char **argv)
- {
--    char sbuf[MAXPDSTRING];
-     int i;
-     while ((argc > 0) && **argv == '-')
-     {
-@@ -901,7 +900,7 @@
-     from command-line arguments */
- static void sys_afterargparse(void)
- {
--    char sbuf[MAXPDSTRING];
-+    char sbuf[FILENAME_MAX];
-     int i;
-     int naudioindev, audioindev[MAXAUDIOINDEV], chindev[MAXAUDIOINDEV];
-     int naudiooutdev, audiooutdev[MAXAUDIOOUTDEV], choutdev[MAXAUDIOOUTDEV];
-@@ -909,13 +908,13 @@
-     int nmidiindev = 0, midiindev[MAXMIDIINDEV];
-     int nmidioutdev = 0, midioutdev[MAXMIDIOUTDEV];
-             /* add "extra" library to path */
--    strncpy(sbuf, sys_libdir->s_name, MAXPDSTRING-30);
--    sbuf[MAXPDSTRING-30] = 0;
-+    strncpy(sbuf, sys_libdir->s_name, FILENAME_MAX-30);
-+    sbuf[FILENAME_MAX-30] = 0;
-     strcat(sbuf, "/extra");
-     sys_setextrapath(sbuf);
-             /* add "doc/5.reference" library to helppath */
--    strncpy(sbuf, sys_libdir->s_name, MAXPDSTRING-30);
--    sbuf[MAXPDSTRING-30] = 0;
-+    strncpy(sbuf, sys_libdir->s_name, FILENAME_MAX-30);
-+    sbuf[FILENAME_MAX-30] = 0;
-     strcat(sbuf, "/doc/5.reference");
-     sys_helppath = namelist_append_files(sys_helppath, sbuf);
-         /* correct to make audio and MIDI device lists zero based.  On
-Index: s_path.c
-===================================================================
---- s_path.c	(revision 9725)
-+++ s_path.c	(working copy)
-@@ -256,10 +256,10 @@
- #endif
-             )
-     {
--        char dirbuf[MAXPDSTRING];
-+        char dirbuf[FILENAME_MAX];
-         int dirlen = (strrchr(name, '/') - name);
--        if (dirlen > MAXPDSTRING-1) 
--            dirlen = MAXPDSTRING-1;
-+        if (dirlen > FILENAME_MAX-1) 
-+            dirlen = FILENAME_MAX-1;
-         strncpy(dirbuf, name, dirlen);
-         dirbuf[dirlen] = 0;
-         *fdp = sys_trytoopenone(dirbuf, name+(dirlen+1), ext,
-@@ -326,32 +326,32 @@
-     search attempts. */
- void open_via_helppath(const char *name, const char *dir)
- {
--    char realname[MAXPDSTRING], dirbuf[MAXPDSTRING], *basename;
-+    char realname[FILENAME_MAX], dirbuf[FILENAME_MAX], *basename;
-         /* make up a silly "dir" if none is supplied */
-     const char *usedir = (*dir ? dir : "./");
-     int fd;
- 
-         /* 1. "objectname-help.pd" */
--    strncpy(realname, name, MAXPDSTRING-10);
--    realname[MAXPDSTRING-10] = 0;
-+    strncpy(realname, name, FILENAME_MAX-10);
-+    realname[FILENAME_MAX-10] = 0;
-     if (strlen(realname) > 3 && !strcmp(realname+strlen(realname)-3, ".pd"))
-         realname[strlen(realname)-3] = 0;
-     strcat(realname, "-help.pd");
-     if ((fd = do_open_via_path(dir, realname, "", dirbuf, &basename, 
--        MAXPDSTRING, 0, sys_helppath)) >= 0)
-+        FILENAME_MAX, 0, sys_helppath)) >= 0)
-             goto gotone;
- 
-         /* 2. "help-objectname.pd" */
-     strcpy(realname, "help-");
--    strncat(realname, name, MAXPDSTRING-10);
--    realname[MAXPDSTRING-1] = 0;
-+    strncat(realname, name, FILENAME_MAX-10);
-+    realname[FILENAME_MAX-1] = 0;
-     if ((fd = do_open_via_path(dir, realname, "", dirbuf, &basename, 
--        MAXPDSTRING, 0, sys_helppath)) >= 0)
-+        FILENAME_MAX, 0, sys_helppath)) >= 0)
-             goto gotone;
- 
-         /* 3. "objectname.pd" */
-     if ((fd = do_open_via_path(dir, name, "", dirbuf, &basename, 
--        MAXPDSTRING, 0, sys_helppath)) >= 0)
-+        FILENAME_MAX, 0, sys_helppath)) >= 0)
-             goto gotone;
-     post("sorry, couldn't find help patch for \"%s\"", name);
-     return;
-@@ -379,7 +379,7 @@
-     int rcargc;
-     char* rcargv[NUMARGS];
-     char* buffer;
--    char  fname[MAXPDSTRING], buf[1000], *home = getenv("HOME");
-+    char  fname[FILENAME_MAX], buf[1000], *home = getenv("HOME");
-     int retval = 1; /* that's what we will return at the end; for now, let's think it'll be an error */
-  
-     /* initialize rc-arg-array so we can safely clean up at the end */
-@@ -391,7 +391,7 @@
-     
-     *fname = '\0'; 
- 
--    strncat(fname, home? home : ".", MAXPDSTRING-10);
-+    strncat(fname, home? home : ".", FILENAME_MAX-10);
-     strcat(fname, "/");
- 
-     strcat(fname, STARTUPNAME);
-Index: g_canvas.c
-===================================================================
---- g_canvas.c	(revision 9725)
-+++ g_canvas.c	(working copy)
-@@ -1543,7 +1543,6 @@
- {
-     t_namelist *nl, thislist;
-     int fd = -1;
--    char listbuf[MAXPDSTRING];
-     t_canvas *y;
- 
-         /* first check if "name" is absolute (and if so, try to open) */
-@@ -1563,12 +1562,12 @@
-         dir = (x2 ? canvas_getdir(x2)->s_name : ".");
-         for (nl = y->gl_env->ce_path; nl; nl = nl->nl_next)
-         {
--            char realname[MAXPDSTRING];
--            strncpy(realname, dir, MAXPDSTRING);
--            realname[MAXPDSTRING-3] = 0;
-+            char realname[FILENAME_MAX];
-+            strncpy(realname, dir, FILENAME_MAX);
-+            realname[FILENAME_MAX-3] = 0;
-             strcat(realname, "/");
--            strncat(realname, nl->nl_string, MAXPDSTRING-strlen(realname));
--            realname[MAXPDSTRING-1] = 0;
-+            strncat(realname, nl->nl_string, FILENAME_MAX-strlen(realname));
-+            realname[FILENAME_MAX-1] = 0;
-             if ((fd = sys_trytoopenone(realname, name, ext,
-                 dirresult, nameresult, size, bin)) >= 0)
-                     return (fd);
-Index: s_loader.c
-===================================================================
---- s_loader.c	(revision 9725)
-+++ s_loader.c	(working copy)
-@@ -86,7 +86,7 @@
- 
- static int sys_do_load_lib(t_canvas *canvas, char *objectname)
- {
--    char symname[MAXPDSTRING], filename[MAXPDSTRING], dirbuf[MAXPDSTRING],
-+    char symname[MAXPDSTRING], filename[FILENAME_MAX], dirbuf[FILENAME_MAX],
-         *classname, *nameptr, altsymname[MAXPDSTRING];
-     void *dlobj;
-     t_xxx makeout = NULL;
-@@ -137,23 +137,23 @@
- #endif
-         /* try looking in the path for (objectname).(sys_dllextent) ... */
-     if ((fd = canvas_open(canvas, objectname, sys_dllextent,
--        dirbuf, &nameptr, MAXPDSTRING, 1)) >= 0)
-+        dirbuf, &nameptr, FILENAME_MAX, 1)) >= 0)
-             goto gotone;
-         /* same, with the more generic sys_dllextent2 */
-     if ((fd = canvas_open(canvas, objectname, sys_dllextent2,
--        dirbuf, &nameptr, MAXPDSTRING, 1)) >= 0)
-+        dirbuf, &nameptr, FILENAME_MAX, 1)) >= 0)
-             goto gotone;
-         /* next try (objectname)/(classname).(sys_dllextent) ... */
--    strncpy(filename, objectname, MAXPDSTRING);
-+    strncpy(filename, objectname, FILENAME_MAX);
-     filename[MAXPDSTRING-2] = 0;
-     strcat(filename, "/");
--    strncat(filename, classname, MAXPDSTRING-strlen(filename));
--    filename[MAXPDSTRING-1] = 0;
-+    strncat(filename, classname, FILENAME_MAX-strlen(filename));
-+    filename[FILENAME_MAX-1] = 0;
-     if ((fd = canvas_open(canvas, filename, sys_dllextent,
--        dirbuf, &nameptr, MAXPDSTRING, 1)) >= 0)
-+        dirbuf, &nameptr, FILENAME_MAX, 1)) >= 0)
-             goto gotone;
-     if ((fd = canvas_open(canvas, filename, sys_dllextent2,
--        dirbuf, &nameptr, MAXPDSTRING, 1)) >= 0)
-+        dirbuf, &nameptr, FILENAME_MAX, 1)) >= 0)
-             goto gotone;
-     return (0);
- gotone:
-@@ -161,11 +161,11 @@
-     class_set_extern_dir(gensym(dirbuf));
- 
-         /* rebuild the absolute pathname */
--    strncpy(filename, dirbuf, MAXPDSTRING);
--    filename[MAXPDSTRING-2] = 0;
-+    strncpy(filename, dirbuf, FILENAME_MAX);
-+    filename[FILENAME_MAX-2] = 0;
-     strcat(filename, "/");
--    strncat(filename, nameptr, MAXPDSTRING-strlen(filename));
--    filename[MAXPDSTRING-1] = 0;
-+    strncat(filename, nameptr, FILENAME_MAX-strlen(filename));
-+    filename[FILENAME_MAX-1] = 0;
- 
- #ifdef DL_OPEN
-     dlobj = dlopen(filename, RTLD_NOW | RTLD_GLOBAL);
-Index: m_binbuf.c
-===================================================================
---- m_binbuf.c	(revision 9725)
-+++ m_binbuf.c	(working copy)
-@@ -740,7 +740,7 @@
- 
- static int binbuf_doopen(char *s, int mode)
- {
--    char namebuf[MAXPDSTRING];
-+    char namebuf[FILENAME_MAX];
- #ifdef MSW
-     mode |= O_BINARY;
- #endif
-@@ -750,7 +750,7 @@
- 
- static FILE *binbuf_dofopen(char *s, char *mode)
- {
--    char namebuf[MAXPDSTRING];
-+    char namebuf[FILENAME_MAX];
-     sys_bashfilename(s, namebuf);
-     return (fopen(namebuf, mode));
- }
-@@ -761,7 +761,7 @@
-     int fd;
-     int readret;
-     char *buf;
--    char namebuf[MAXPDSTRING];
-+    char namebuf[FILENAME_MAX];
-     
-     namebuf[0] = 0;
-     if (*dirname)
-@@ -814,9 +814,9 @@
-     int crflag)
- {
-     int filedesc;
--    char buf[MAXPDSTRING], *bufptr;
-+    char buf[FILENAME_MAX], *bufptr;
-     if ((filedesc = canvas_open(canvas, filename, "",
--        buf, &bufptr, MAXPDSTRING, 0)) < 0)
-+        buf, &bufptr, FILENAME_MAX, 0)) < 0)
-     {
-         error("%s: can't open", filename);
-         return (1);
-@@ -832,9 +832,9 @@
-     int crflag)
- {
-     int filedesc;
--    char buf[MAXPDSTRING], *bufptr;
-+    char buf[FILENAME_MAX], *bufptr;
-     if ((filedesc = open_via_path(
--        dirname, filename, "", buf, &bufptr, MAXPDSTRING, 0)) < 0)
-+        dirname, filename, "", buf, &bufptr, FILENAME_MAX, 0)) < 0)
-     {
-         error("%s: can't open", filename);
-         return (1);
-@@ -853,7 +853,7 @@
- int binbuf_write(t_binbuf *x, char *filename, char *dir, int crflag)
- {
-     FILE *f = 0;
--    char sbuf[WBUFSIZE], fbuf[MAXPDSTRING], *bp = sbuf, *ep = sbuf + WBUFSIZE;
-+    char sbuf[WBUFSIZE], fbuf[FILENAME_MAX], *bp = sbuf, *ep = sbuf + WBUFSIZE;
-     t_atom *ap;
-     int indx, deleteit = 0;
-     int ncolumn = 0;
-Index: d_soundfile.c
-===================================================================
---- d_soundfile.c	(revision 9725)
-+++ d_soundfile.c	(working copy)
-@@ -400,9 +400,9 @@
-     int *p_bytespersamp, int *p_bigendian, int *p_nchannels, long *p_bytelimit,
-     long skipframes)
- {
--    char buf[OBUFSIZE], *bufptr;
-+    char buf[FILENAME_MAX], *bufptr;
-     int fd;
--    fd = open_via_path(dirname, filename, "", buf, &bufptr, MAXPDSTRING, 1);
-+    fd = open_via_path(dirname, filename, "", buf, &bufptr, FILENAME_MAX, 1);
-     if (fd < 0)
-         return (-1);
-     else return (open_soundfile_via_fd(fd, headersize, p_bytespersamp,
-@@ -416,9 +416,9 @@
-     int *p_bytespersamp, int *p_bigendian, int *p_nchannels, long *p_bytelimit,
-     long skipframes)
- {
--    char buf[OBUFSIZE], *bufptr;
-+    char buf[FILENAME_MAX], *bufptr;
-     int fd;
--    fd = canvas_open(canvas, filename, "", buf, &bufptr, MAXPDSTRING, 1);
-+    fd = canvas_open(canvas, filename, "", buf, &bufptr, FILENAME_MAX, 1);
-     if (fd < 0)
-         return (-1);
-     else return (open_soundfile_via_fd(fd, headersize, p_bytespersamp,
-@@ -738,15 +738,15 @@
-     int filetype, int nframes, int bytespersamp,
-     int bigendian, int nchannels, int swap, t_float samplerate)
- {
--    char filenamebuf[MAXPDSTRING], buf2[MAXPDSTRING];
-+    char filenamebuf[FILENAME_MAX], buf2[FILENAME_MAX];
-     char headerbuf[WRITEHDRSIZE];
-     t_wave *wavehdr = (t_wave *)headerbuf;
-     t_nextstep *nexthdr = (t_nextstep *)headerbuf;
-     t_aiff *aiffhdr = (t_aiff *)headerbuf;
-     int fd, headersize = 0;
-     
--    strncpy(filenamebuf, filename, MAXPDSTRING-10);
--    filenamebuf[MAXPDSTRING-10] = 0;
-+    strncpy(filenamebuf, filename, FILENAME_MAX-10);
-+    filenamebuf[FILENAME_MAX-10] = 0;
- 
-     if (filetype == FORMAT_NEXT)
-     {
-@@ -812,7 +812,7 @@
-         headersize = sizeof(t_wave);
-     }
- 
--    canvas_makefilename(canvas, filenamebuf, buf2, MAXPDSTRING);
-+    canvas_makefilename(canvas, filenamebuf, buf2, FILENAME_MAX);
-     sys_bashfilename(buf2, buf2);
-     if ((fd = open(buf2, BINCREATE, 0666)) < 0)
-         return (-1);
-Index: m_class.c
-===================================================================
---- m_class.c	(revision 9725)
-+++ m_class.c	(working copy)
-@@ -498,7 +498,7 @@
- 
- static t_symbol *addfileextent(t_symbol *s)
- {
--    char namebuf[MAXPDSTRING], *str = s->s_name;
-+    char namebuf[FILENAME_MAX], *str = s->s_name;
-     int ln = strlen(str);
-     if (!strcmp(str + ln - 3, ".pd")) return (s);
-     strcpy(namebuf, str);
-@@ -520,7 +520,7 @@
- {
-     t_pd *current;
-     int fd;
--    char dirbuf[MAXPDSTRING], *nameptr;
-+    char dirbuf[FILENAME_MAX], *nameptr;
-     if (tryingalready) return;
-     newest = 0;
-     class_loadsym = s;
-@@ -534,9 +534,9 @@
-     class_loadsym = 0;
-     current = s__X.s_thing;
-     if ((fd = canvas_open(canvas_getcurrent(), s->s_name, ".pd",
--        dirbuf, &nameptr, MAXPDSTRING, 0)) >= 0 ||
-+        dirbuf, &nameptr, FILENAME_MAX, 0)) >= 0 ||
-             (fd = canvas_open(canvas_getcurrent(), s->s_name, ".pat",
--                dirbuf, &nameptr, MAXPDSTRING, 0)) >= 0)
-+                dirbuf, &nameptr, FILENAME_MAX, 0)) >= 0)
-     {
-         close (fd);
-         if (!pd_setloadingabstraction(s))
-Index: g_array.c
-===================================================================
---- g_array.c	(revision 9725)
-+++ g_array.c	(working copy)
-@@ -1384,7 +1384,7 @@
- {
-     int nelem, filedesc, i;
-     FILE *fd;
--    char buf[MAXPDSTRING], *bufptr;
-+    char buf[FILENAME_MAX], *bufptr;
-     int yonset, elemsize;
-     t_array *array = garray_getarray_floatonly(x, &yonset, &elemsize);
-     if (!array)
-@@ -1394,7 +1394,7 @@
-     }
-     nelem = array->a_n;
-     if ((filedesc = canvas_open(glist_getcanvas(x->x_glist),
--            filename->s_name, "", buf, &bufptr, MAXPDSTRING, 0)) < 0 
-+            filename->s_name, "", buf, &bufptr, FILENAME_MAX, 0)) < 0 
-                 || !(fd = fdopen(filedesc, "r")))
-     {
-         error("%s: can't open", filename->s_name);
diff --git a/packages/patches/use_individual_help_patches_for_midi-0.41.0-test04.patch b/packages/patches/use_individual_help_patches_for_midi-0.41.0-test04.patch
deleted file mode 100644
index 2f03b8286..000000000
--- a/packages/patches/use_individual_help_patches_for_midi-0.41.0-test04.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-Index: x_midi.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/x_midi.c,v
-retrieving revision 1.2
-retrieving revision 1.2.10.1
-diff -u -w -r1.2 -r1.2.10.1
---- x_midi.c	6 Sep 2004 20:20:36 -0000	1.2
-+++ x_midi.c	14 May 2007 18:31:31 -0000	1.2.10.1
-@@ -160,7 +160,6 @@
-     notein_class = class_new(gensym("notein"), (t_newmethod)notein_new,
-         (t_method)notein_free, sizeof(t_notein), CLASS_NOINLET, A_DEFFLOAT, 0);
-     class_addlist(notein_class, notein_list);
--    class_sethelpsymbol(notein_class, gensym("midi"));
-     notein_sym = gensym("#notein");
- }
- 
-@@ -234,7 +233,6 @@
-         (t_method)ctlin_free, sizeof(t_ctlin),
-             CLASS_NOINLET, A_GIMME, 0);
-     class_addlist(ctlin_class, ctlin_list);
--    class_sethelpsymbol(ctlin_class, gensym("midi"));
-     ctlin_sym = gensym("#ctlin");
- }
- 
-@@ -301,7 +299,6 @@
-         (t_method)pgmin_free, sizeof(t_pgmin),
-             CLASS_NOINLET, A_DEFFLOAT, 0);
-     class_addlist(pgmin_class, pgmin_list);
--    class_sethelpsymbol(pgmin_class, gensym("midi"));
-     pgmin_sym = gensym("#pgmin");
- }
- 
-@@ -366,7 +363,6 @@
-     bendin_class = class_new(gensym("bendin"), (t_newmethod)bendin_new,
-         (t_method)bendin_free, sizeof(t_bendin), CLASS_NOINLET, A_DEFFLOAT, 0);
-     class_addlist(bendin_class, bendin_list);
--    class_sethelpsymbol(bendin_class, gensym("midi"));
-     bendin_sym = gensym("#bendin");
- }
- 
-@@ -725,7 +721,6 @@
-     noteout_class = class_new(gensym("noteout"), (t_newmethod)noteout_new, 0,
-         sizeof(t_noteout), 0, A_DEFFLOAT, 0);
-     class_addfloat(noteout_class, noteout_float);
--    class_sethelpsymbol(noteout_class, gensym("midi"));
- }
- 
- 
-@@ -765,7 +760,6 @@
-     ctlout_class = class_new(gensym("ctlout"), (t_newmethod)ctlout_new, 0,
-         sizeof(t_ctlout), 0, A_DEFFLOAT, A_DEFFLOAT, 0);
-     class_addfloat(ctlout_class, ctlout_float);
--    class_sethelpsymbol(ctlout_class, gensym("midi"));
- }
- 
- 
-@@ -805,7 +799,6 @@
-     pgmout_class = class_new(gensym("pgmout"), (t_newmethod)pgmout_new, 0,
-         sizeof(t_pgmout), 0, A_DEFFLOAT, 0);
-     class_addfloat(pgmout_class, pgmout_float);
--    class_sethelpsymbol(pgmout_class, gensym("midi"));
- }
- 
- 
-@@ -842,7 +835,6 @@
-     bendout_class = class_new(gensym("bendout"), (t_newmethod)bendout_new, 0,
-         sizeof(t_bendout), 0, A_DEFFLOAT, 0);
-     class_addfloat(bendout_class, bendout_float);
--    class_sethelpsymbol(bendout_class, gensym("midi"));
- }
- 
- /* -------------------------- touch -------------------------- */
diff --git a/packages/redhat_rpm/pd-extended.spec b/packages/redhat_rpm/pd-extended.spec
index c82fcc054..c7e779bd0 100644
--- a/packages/redhat_rpm/pd-extended.spec
+++ b/packages/redhat_rpm/pd-extended.spec
@@ -498,9 +498,7 @@ find externals/pdp externals/pidip -type f -exec perl -p -i -e "s|<quicktime/|<l
 perl -p -i -e "s|pdp pidip||g" externals/Makefile
 %endif
 
-# patch the official pd source
 cd packages
-make patch_pd
 
 # make and install pd and externals
 cd linux_make
@@ -551,9 +549,6 @@ for library in ${EXTERNALS} ; do
            ${DESTDIR_ROOT}/${library}%{_prefix}/lib/pd/extra/
     fi
     make -C externals DESTDIR=${DESTDIR} prefix=${prefix} libpddir=${libpddir} libpdbindir=${libpdbindir} ${library}_install
-    if [ -d "${libpddir}/doc/5.reference/" ] ; then
-        (cd ${libpddir}/doc/5.reference/ ; ${buildhome}/scripts/convert-help-to-standard.sh)
-    fi
     find ${DESTDIR_ROOT}/${library} -type f | sed "s|${DESTDIR_ROOT}/${library}||g" > ${buildhome}/files-subpackage-${library}	
 done
 
@@ -566,9 +561,6 @@ for abstraction in ${ABSTRACTIONS} ; do
     libpddir=${libdir}/pd
     libpdbindir=${libpddir}/bin
     make -C abstractions DESTDIR=${DESTDIR} prefix=${prefix} libpddir=${libpddir} libpdbindir=${libpdbindir} ${abstraction}_install
-    if [ -d "${libpddir}/doc/5.reference/" ] ; then
-        (cd ${libpddir}/doc/5.reference/ ; ${buildhome}/scripts/convert-help-to-standard.sh)
-    fi
     find ${DESTDIR_ROOT}/${abstraction} -type f | sed "s|${DESTDIR_ROOT}/${abstraction}||g" > ${buildhome}/files-subpackage-${abstraction}	
 done
 
@@ -799,8 +791,6 @@ install: cannot stat `/usr/src/rpm/BUILD/pure-data/packages/linux_make/../../pac
 
 install: cannot stat `/usr/src/rpm/BUILD/pure-data/packages/linux_make/../../packages/noncvs/linux/extra/*.*': No such file or directory
 
-install: cannot stat `/usr/src/rpm/BUILD/pure-data/packages/linux_make/../../packages/noncvs/linux/gripd/*.*': No such file or directory
-
 * Tue Jul 25 2006 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu> 0.39.2
 - changed package name to pd-extended, build all of it, both pd and
   the external collection
diff --git a/pd/README b/pd/README
deleted file mode 100644
index e69de29bb..000000000
diff --git a/scripts/auto-build/auto-build-common b/scripts/auto-build/auto-build-common
deleted file mode 100644
index f76c683f3..000000000
--- a/scripts/auto-build/auto-build-common
+++ /dev/null
@@ -1,80 +0,0 @@
-#!/bin/sh
-# these are common variables for the auto-build scripts
-
-SYSTEM=$(uname -s | sed 'y|ABCDEFGHIJKLMNOPQRSTUVWXYZ|abcdefghijklmnopqrstuvwxyz|')
-DATE=$(date +%Y-%m-%d)
-TIME=$(date +%H.%M.%S)
-HOSTNAME=$(hostname | sed 's|\([a-zA-Z0-9-]\)\..*|\1|' | sed 'y|ABCDEFGHIJKLMNOPQRSTUVWXYZ|abcdefghijklmnopqrstuvwxyz|')
-
-# use the hostname from /etc/hostname in case we are a chroot build enviroment
-if [ -e /etc/hostname ]; then
-	HOSTNAME=`cat /etc/hostname`
-else
-	HOSTNAME=$(hostname | sed 's|\([a-zA-Z0-9-]\)\..*|\1|' | sed 'y|ABCDEFGHIJKLMNOPQRSTUVWXYZ|abcdefghijklmnopqrstuvwxyz|')
-fi
-
-## the following creates a spam-bot that sends emails to an address that has not asked for it
-## because of the spam-problem, i (jmz) have disabled it
-# recipient of any emails set from the scripts
-#RECIPIENT=pd-cvs@iem.at
-
-
-## if you want to send emails about the success of your build,
-## please create a file "auto-build-common.local" in this directory
-## and set the "RECIPIENT" address to some valid email-address
-#
-## please do NOT check your auto-build-common.local into the CVS
-#
-## another possibility is to set the "RECIPIENT" environmental variable before running
-## the autobuilder
-
-if [ -e ${SCRIPT_DIR}/auto-build-common.local ]; then
-  . ${SCRIPT_DIR}/auto-build-common.local
-else
-  echo "Could not find local configuration in \"${SCRIPT_DIR}/auto-build-common.local\""
-  echo "Skipping... (see ${SCRIPT_DIR}/auto-build-common for instructions)"
-  echo
-fi
-
-# cygwin/Mingw don't have 'mail', but do have 'email' which is close enough.
-# To get around the troubles with mail servers, we'll contact the SMTP server
-# of the mailing lists directly (mail.iem.at).
-if [ -x /usr/bin/mail ]; then
-	MAIL_COMMAND=/usr/bin/mail
-elif [ -x /bin/mail ]; then
-	MAIL_COMMAND=/bin/mail
-else
-	MAIL_COMMAND="email --smtp-server mail.iem.at"
-fi
-
-
-#------------------------------------------------------------------------------#
-# print out ip addresses for debugging
-print_ip_address()
-{
-	echo -n "hostname: "
-	hostname
-	echo "---------------------------"
-	if [ -x /sbin/ifconfig ]; then
-		/sbin/ifconfig
-	else
-		ipconfig
-	fi
-}
-
-
-rsync_distro()
-{
-# let rsync handle the cleanup with --delete
-	DISTRO=$(basename $1)
-	echo "rsyncing $DISTRO to ${1}:"
-	RSYNC_COMMAND="rsync -a --delete-before rsync://128.238.56.50/distros/${DISTRO}/ ${1}/"
-	case $SYSTEM in
-		mingw*)
-			/c/cygwin/bin/sh -c "$RSYNC_COMMAND"
-			;;
-		*)
-			$RSYNC_COMMAND
-			;;
-	esac
-}
diff --git a/scripts/auto-build/create-latest-build-listing.py b/scripts/auto-build/create-latest-build-listing.py
deleted file mode 100755
index f7d97a88e..000000000
--- a/scripts/auto-build/create-latest-build-listing.py
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/python
-
-import string
-import os,sys,errno
-import re
-import StringIO
-
-
-for root, dirs, files in os.walk('/var/www/auto-build/'):
-        dirs.sort()
-        if 'latest' in dirs:
-                dirs.remove('latest')
-        for name in files:
-                m = re.search('^Pd-[01]\.[0-9][0-9].*[^5]$', name)
-                if m:
-                        commonbuildname = re.sub('-20[01][0-9][01][0-9][0-9][0-9]', '', name)
-                        commonbuildpath = os.path.join('/var/www/auto-build/latest', commonbuildname)
-                        buildtarball = os.path.join(root, m.string)
-                        #print "link: ", buildtarball, commonbuildpath
-                        try:
-                                os.symlink(buildtarball, commonbuildpath)
-                        except OSError, e:
-                                if e.errno == errno.EEXIST:
-                                        #print "removing ", commonbuildpath
-                                        os.remove(commonbuildpath)
-                                        os.symlink(buildtarball, commonbuildpath)
-
-                                        
diff --git a/scripts/auto-build/extra-rsync.bat b/scripts/auto-build/extra-rsync.bat
deleted file mode 100644
index 0db0c86e0..000000000
--- a/scripts/auto-build/extra-rsync.bat
+++ /dev/null
@@ -1,18 +0,0 @@
-REM uses http://setacl.sourceforge.net/
-
-cd \msys\1.0\home\pd\
-
-REM echo y|cacls c:\msys\1.0\home\pd\auto-build /C /T /G pd:F everyone:R 
-
-setacl -on c:\msys\1.0\home\pd\auto-build -ot file -actn ace -ace "n:pd;p:full,write_owner;i:so,sc;m:set" -ace "n:everyone;p:read;i:so,sc;m:set"
-
-REM Cygwin rsync seems to be unhappy with SVN's .svn file permissions, so
-REM ignore SVN files first to get all the 'meat'
-rsync -av --progress --whole-file --exclude='*inv\**' --cvs-exclude --timeout=60 rsync://128.238.56.50/distros/pd-extended/ /home/pd/auto-build/pd-extended/
-rsync -av --progress --whole-file --exclude='*inv\**' --cvs-exclude --timeout=60 rsync://128.238.56.50/distros/pd-devel/ /home/pd/auto-build/pd-devel/
-
-sleep 60
-
-REM now get the SVN changes, this might fail a lot, especially on '.svn/entries'
-rsync -av --progress --whole-file --delete-before --exclude='*inv\**' --timeout=60 rsync://128.238.56.50/distros/pd-extended/ /home/pd/auto-build/pd-extended/
-rsync -av --progress --whole-file --delete-before --exclude='*inv\**' --timeout=60 rsync://128.238.56.50/distros/pd-devel/ /home/pd/auto-build/pd-devel/
diff --git a/scripts/auto-build/mail-mingw-log-hack.sh b/scripts/auto-build/mail-mingw-log-hack.sh
deleted file mode 100755
index 30b237bc4..000000000
--- a/scripts/auto-build/mail-mingw-log-hack.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/sh
-
-
-# the source dir where this script is
-SCRIPT_DIR=$(echo $0 | sed 's|\(.*\)/.*$|\1|')
-. $SCRIPT_DIR/auto-build-common
-
-# the name of this script
-SCRIPT=$(echo $0| sed 's|.*/\(.*\)|\1|g')
-
-mailbody_on_failure () {
- ## this is a somewhat simplistic expression to detect error-lines
- cat "$1" | grep -i "error: " | tail -20
- echo ""
- echo "the full logfile can be viewed at"
- echo "http://autobuild.puredata.info/auto-build/${DATE}/logs/${LOGFILE##*/}"
-}
-
-
-for logfile in $(ls -1 /var/www/auto-build/${DATE}/logs/${DATE}_*_mingw*.txt); do
-	 completion_test=$(tail -1 "${logfile}")
-	 if [ "x${completion_test}" != "xSUCCESS" ]; then
-		if [ "x${RECIPIENT}" != "x" ]; then
-		  SUBJECT="autobuild: $distro $HOSTNAME $DATE $TIME"
-		  mailbody_on_failure "${logfile}" | mail -s "autobuild: $logfile" ${RECIPIENT}
-		fi
-	 fi
-done
diff --git a/scripts/auto-build/pd-devel-auto-builder.sh b/scripts/auto-build/pd-devel-auto-builder.sh
deleted file mode 100755
index cf8a0909d..000000000
--- a/scripts/auto-build/pd-devel-auto-builder.sh
+++ /dev/null
@@ -1,117 +0,0 @@
-#!/bin/sh
-# this script is the first attempt to have an automated updater and builder
-
-# the source dir where this script is
-## this could be done more easily with ${0%/*}
-SCRIPT_DIR=$(echo $0 | sed 's|\(.*\)/.*$|\1|')
-. $SCRIPT_DIR/auto-build-common
-
-# the name of this script
-## this could be done more easily with ${0##*/}
-SCRIPT=$(echo $0| sed 's|.*/\(.*\)|\1|g')
-
-BUILD_DIR=.
-case $SYSTEM in 
-	linux)
-		BUILD_DIR=linux_make
-		echo "Configuring to use $BUILD_DIR on GNU/Linux"
-		;;
-	darwin)
-		BUILD_DIR=darwin_app
-		echo "Configuring to use $BUILD_DIR on Darwin/Mac OS X"
-		;;
-	mingw*)
-		BUILD_DIR=win32_inno
-		echo "Configuring to use $BUILD_DIR on MinGW/Windows"
-		;;
-	cygwin*)
-		BUILD_DIR=win32_inno
-		echo "Configuring to use $BUILD_DIR on Cygwin/Windows"
-		;;
-	*)
-		echo "ERROR: Platform $SYSTEM not supported!"
-		exit
-		;;
-esac
-
-
-# convert into absolute path
-## shouldn't this use the ${SCRIPT_DIR} variable rather than call an external program?
-cd $(echo $0 | sed 's|\(.*\)/.*$|\1|')/../..
-auto_build_root_dir=$(pwd)
-echo "root: $auto_build_root_dir" 
-
-# let rsync handle the cleanup with --delete
-case $SYSTEM in
-	mingw*)
-		/c/cygwin/bin/sh -c \
-			"rsync --archive --no-links --copy-links --delete rsync://128.238.56.50/distros/pd-devel/ ${auto_build_root_dir}/"
-		;;
-	*)
-		rsync -a --delete rsync://128.238.56.50/distros/pd-devel/ ${auto_build_root_dir}/
-		;;
-esac
-
-cd "${auto_build_root_dir}/packages/$BUILD_DIR"
-make -C "${auto_build_root_dir}/packages" set_version PD-EXTENDED_VERSION_PREFIX=devel
-make test_locations
-mount
-print_ip_address
-make package_clean
-make install PD-EXTENDED_VERSION_PREFIX=devel
-make package PD-EXTENDED_VERSION_PREFIX=devel
-
-
-upload_build ()
-{
-    platform_folder=$1
-    build_folder=$2
-    archive_format=$3
-	
-	archive=$(ls -1 ${auto_build_root_dir}/packages/${platform_folder}/${build_folder}/Pd*.${archive_format} | tail -1)
-    
-    echo "upload specs $1 $2 $3"
-    echo "Uploading $archive"
-	upload_filename=$(ls -1 ${archive} | sed "s|.*/\(.*\)\.${archive_format}|\1-${HOSTNAME}.${archive_format}|")
-	if [ -e ${archive} ]; then
-		case $SYSTEM in 
-			mingw*)
-				/c/cygwin/bin/sh -c \
-					"rsync --archive --no-links --copy-links --chmod=a+r ${archive} rsync://128.238.56.50/upload/${DATE}/${upload_filename}" && \
-					md5sum ${archive} > ${archive}.md5 && \
-					/c/cygwin/bin/sh -c \
-					"rsync --archive --no-links --copy-links ${archive}.md5 rsync://128.238.56.50/upload/${DATE}/${upload_filename}.md5" && \
-					echo "successfully uploaded: ${upload_filename}" && \
-					echo SUCCESS
-				;;
-			*)
-				rsync -a --chmod=a+r ${archive} rsync://128.238.56.50/upload/${DATE}/${upload_filename}  && \
-					md5sum ${archive} > ${archive}.md5 && \
-					rsync -a ${archive}.md5 rsync://128.238.56.50/upload/${DATE}/${upload_filename}.md5  && \
-					echo "successfully uploaded: ${upload_filename}" && \
-					echo SUCCESS
-				;;
-		esac
-	fi
-}
-
-
-case $SYSTEM in 
-	linux)
-		if [ -x /usr/bin/dpkg-deb ]; then
-			upload_build linux_make . deb
-		else
-			upload_build linux_make build tar.bz2
-		fi
-		;;
-	darwin)
-		upload_build darwin_app . dmg
-		;;
-	mingw*)
-		upload_build win32_inno Output exe
-		;;
-	cygwin*)
-		upload_build win32_inno Output exe
-		;;
-esac
-
diff --git a/scripts/auto-build/pd-extended-auto-builder.sh b/scripts/auto-build/pd-extended-auto-builder.sh
deleted file mode 100755
index 723645fdf..000000000
--- a/scripts/auto-build/pd-extended-auto-builder.sh
+++ /dev/null
@@ -1,106 +0,0 @@
-#!/bin/sh
-# this script is the first attempt to have an automated updater and builder
-
-# the source dir where this script is
-## this could be done more easily with ${0%/*}
-SCRIPT_DIR=$(echo $0 | sed 's|\(.*\)/.*$|\1|')
-. $SCRIPT_DIR/auto-build-common
-
-# the name of this script
-## this could be done more easily with ${0##*/}
-SCRIPT=$(echo $0| sed 's|.*/\(.*\)|\1|g')
-
-BUILD_DIR=.
-case $SYSTEM in 
-	linux)
-		BUILD_DIR=linux_make
-		echo "Configuring to use $BUILD_DIR on GNU/Linux"
-		;;
-	darwin)
-		BUILD_DIR=darwin_app
-		echo "Configuring to use $BUILD_DIR on Darwin/Mac OS X"
-		;;
-	mingw*)
-		BUILD_DIR=win32_inno
-		echo "Configuring to use $BUILD_DIR on MinGW/Windows"
-		;;
-	cygwin*)
-		BUILD_DIR=win32_inno
-		echo "Configuring to use $BUILD_DIR on Cygwin/Windows"
-		;;
-	*)
-		echo "ERROR: Platform $SYSTEM not supported!"
-		exit
-		;;
-esac
-
-
-# convert into absolute path
-cd "${SCRIPT_DIR}/../.."
-auto_build_root_dir=`pwd`
-echo "build root: $auto_build_root_dir" 
-rsync_distro "$auto_build_root_dir"
-
-cd "${auto_build_root_dir}/packages/$BUILD_DIR"
-make -C "${auto_build_root_dir}/packages" set_version
-make test_locations
-echo "mounts ----------------------------------------"
-mount
-print_ip_address
-make package_clean
-make install && make package
-
-
-upload_build ()
-{
-    platform_folder=$1
-    build_folder=$2
-    archive_format=$3
-	
-	archive=$(ls -1 ${auto_build_root_dir}/packages/${platform_folder}/${build_folder}/Pd*.${archive_format} | tail -1)
-    
-    echo "upload specs $1 $2 $3"
-    echo "Uploading $archive"
-	upload_filename=$(ls -1 ${archive} | sed "s|.*/\(.*\)\.${archive_format}|\1-${HOSTNAME}.${archive_format}|")
-	if [ -e ${archive} ]; then
-		case $SYSTEM in 
-			mingw*)
-				/c/cygwin/bin/sh -c \
-					"rsync --archive --no-links --copy-links --chmod=a+r ${archive} rsync://128.238.56.50/upload/${DATE}/${upload_filename}" && \
-					md5sum ${archive} > ${archive}.md5 && \
-					/c/cygwin/bin/sh -c \
-					"rsync --archive --no-links --copy-links ${archive}.md5 rsync://128.238.56.50/upload/${DATE}/${upload_filename}.md5" && \
-					echo "successfully uploaded: ${upload_filename}" && \
-					echo SUCCESS
-				;;
-			*)
-				rsync -a --chmod=a+r ${archive} rsync://128.238.56.50/upload/${DATE}/${upload_filename}  && \
-					md5sum ${archive} > ${archive}.md5 && \
-					rsync -a ${archive}.md5 rsync://128.238.56.50/upload/${DATE}/${upload_filename}.md5  && \
-					echo "successfully uploaded: ${upload_filename}" && \
-					echo SUCCESS
-				;;
-		esac
-	fi
-}
-
-
-case $SYSTEM in 
-	linux)
-		if [ -x /usr/bin/dpkg-deb ]; then
-			upload_build linux_make . deb
-		else
-			upload_build linux_make build tar.bz2
-		fi
-		;;
-	darwin)
-		upload_build darwin_app . dmg
-		;;
-	mingw*)
-		upload_build win32_inno Output exe
-		;;
-	cygwin*)
-		upload_build win32_inno Output exe
-		;;
-esac
-
diff --git a/scripts/auto-build/pd-extended-release-auto-builder.sh b/scripts/auto-build/pd-extended-release-auto-builder.sh
deleted file mode 100755
index 723645fdf..000000000
--- a/scripts/auto-build/pd-extended-release-auto-builder.sh
+++ /dev/null
@@ -1,106 +0,0 @@
-#!/bin/sh
-# this script is the first attempt to have an automated updater and builder
-
-# the source dir where this script is
-## this could be done more easily with ${0%/*}
-SCRIPT_DIR=$(echo $0 | sed 's|\(.*\)/.*$|\1|')
-. $SCRIPT_DIR/auto-build-common
-
-# the name of this script
-## this could be done more easily with ${0##*/}
-SCRIPT=$(echo $0| sed 's|.*/\(.*\)|\1|g')
-
-BUILD_DIR=.
-case $SYSTEM in 
-	linux)
-		BUILD_DIR=linux_make
-		echo "Configuring to use $BUILD_DIR on GNU/Linux"
-		;;
-	darwin)
-		BUILD_DIR=darwin_app
-		echo "Configuring to use $BUILD_DIR on Darwin/Mac OS X"
-		;;
-	mingw*)
-		BUILD_DIR=win32_inno
-		echo "Configuring to use $BUILD_DIR on MinGW/Windows"
-		;;
-	cygwin*)
-		BUILD_DIR=win32_inno
-		echo "Configuring to use $BUILD_DIR on Cygwin/Windows"
-		;;
-	*)
-		echo "ERROR: Platform $SYSTEM not supported!"
-		exit
-		;;
-esac
-
-
-# convert into absolute path
-cd "${SCRIPT_DIR}/../.."
-auto_build_root_dir=`pwd`
-echo "build root: $auto_build_root_dir" 
-rsync_distro "$auto_build_root_dir"
-
-cd "${auto_build_root_dir}/packages/$BUILD_DIR"
-make -C "${auto_build_root_dir}/packages" set_version
-make test_locations
-echo "mounts ----------------------------------------"
-mount
-print_ip_address
-make package_clean
-make install && make package
-
-
-upload_build ()
-{
-    platform_folder=$1
-    build_folder=$2
-    archive_format=$3
-	
-	archive=$(ls -1 ${auto_build_root_dir}/packages/${platform_folder}/${build_folder}/Pd*.${archive_format} | tail -1)
-    
-    echo "upload specs $1 $2 $3"
-    echo "Uploading $archive"
-	upload_filename=$(ls -1 ${archive} | sed "s|.*/\(.*\)\.${archive_format}|\1-${HOSTNAME}.${archive_format}|")
-	if [ -e ${archive} ]; then
-		case $SYSTEM in 
-			mingw*)
-				/c/cygwin/bin/sh -c \
-					"rsync --archive --no-links --copy-links --chmod=a+r ${archive} rsync://128.238.56.50/upload/${DATE}/${upload_filename}" && \
-					md5sum ${archive} > ${archive}.md5 && \
-					/c/cygwin/bin/sh -c \
-					"rsync --archive --no-links --copy-links ${archive}.md5 rsync://128.238.56.50/upload/${DATE}/${upload_filename}.md5" && \
-					echo "successfully uploaded: ${upload_filename}" && \
-					echo SUCCESS
-				;;
-			*)
-				rsync -a --chmod=a+r ${archive} rsync://128.238.56.50/upload/${DATE}/${upload_filename}  && \
-					md5sum ${archive} > ${archive}.md5 && \
-					rsync -a ${archive}.md5 rsync://128.238.56.50/upload/${DATE}/${upload_filename}.md5  && \
-					echo "successfully uploaded: ${upload_filename}" && \
-					echo SUCCESS
-				;;
-		esac
-	fi
-}
-
-
-case $SYSTEM in 
-	linux)
-		if [ -x /usr/bin/dpkg-deb ]; then
-			upload_build linux_make . deb
-		else
-			upload_build linux_make build tar.bz2
-		fi
-		;;
-	darwin)
-		upload_build darwin_app . dmg
-		;;
-	mingw*)
-		upload_build win32_inno Output exe
-		;;
-	cygwin*)
-		upload_build win32_inno Output exe
-		;;
-esac
-
diff --git a/scripts/auto-build/pd-main+libs-auto-builder.sh b/scripts/auto-build/pd-main+libs-auto-builder.sh
deleted file mode 100755
index 7cbdbf027..000000000
--- a/scripts/auto-build/pd-main+libs-auto-builder.sh
+++ /dev/null
@@ -1,107 +0,0 @@
-#!/bin/sh
-# this script is the first attempt to have an automated updater and builder
-
-# the source dir where this script is
-SCRIPT_DIR=$(echo $0 | sed 's|\(.*\)/.*$|\1|')
-. $SCRIPT_DIR/auto-build-common
-
-# the name of this script
-SCRIPT=$(echo $0| sed 's|.*/\(.*\)|\1|g')
-
-BUILD_DIR=.
-case $SYSTEM in 
-	 linux)
-		  BUILD_DIR=linux_make
-		  echo "Configuring to use $BUILD_DIR on GNU/Linux"
-		  ;;
-	 darwin)
-		  BUILD_DIR=darwin_app
-		  echo "Configuring to use $BUILD_DIR on Darwin/Mac OS X"
-		  ;;
-	 mingw*)
-		  BUILD_DIR=win32_inno
-		  echo "Configuring to use $BUILD_DIR on MinGW/Windows"
-		  ;;
-	 cygwin*)
-		  BUILD_DIR=win32_inno
-		  echo "Configuring to use $BUILD_DIR on Cygwin/Windows"
-		  ;;
-	 *)
-		  echo "ERROR: Platform $SYSTEM not supported!"
-		  exit
-		  ;;
-esac
-
-
-# convert into absolute path
-cd $(echo $0 | sed 's|\(.*\)/.*$|\1|')/../..
-auto_build_root_dir=$(pwd)
-echo "root: $auto_build_root_dir" 
-
-# let rsync handle the cleanup with --delete
-case $SYSTEM in
-	mingw*)
-		/c/cygwin/bin/sh -c \
-			"rsync --archive --no-links --copy-links --delete rsync://128.238.56.50/distros/pd-main+libs/ ${auto_build_root_dir}/"
-		;;
-	*)
-		rsync -a --delete rsync://128.238.56.50/distros/pd-main+libs/ ${auto_build_root_dir}/
-		;;
-esac
-
-cd "${auto_build_root_dir}/packages/$BUILD_DIR"
-make -C "${auto_build_root_dir}/packages" set_version PD-EXTENDED_VERSION_PREFIX=vanilla+libs
-make test_locations
-mount
-make package_clean
-make install PD-EXTENDED_VERSION_PREFIX=vanilla+libs
-make package PD-EXTENDED_VERSION_PREFIX=vanilla+libs
-
-
-upload_build ()
-{
-    platform_folder=$1
-    build_folder=$2
-    archive_format=$3
-
-	 archive="${auto_build_root_dir}/packages/${platform_folder}/${build_folder}/Pd*.${archive_format}"
-    
-    echo "upload specs $1 $2 $3"
-    echo "Uploading $archive"
-	 upload_filename=$(ls -1 ${archive} | sed "s|.*/\(.*\)\.${archive_format}|\1-${HOSTNAME}.${archive_format}|")
-	 case $SYSTEM in 
-		  mingw*)
-				test -e ${archive} && /c/cygwin/bin/sh -c \
-					 "rsync --archive --no-links --copy-links ${archive} rsync://128.238.56.50/upload/${DATE}/${upload_filename}" && \
-					 echo "successfully uploaded: ${upload_filename}" && \
-					 echo SUCCESS
-				;;
-		  *)
-				test -e ${archive} && rsync -a ${archive} \
-					 rsync://128.238.56.50/upload/${DATE}/${upload_filename}  && \
-					 echo "successfully uploaded: ${upload_filename}" && \
-					 echo SUCCESS
-				;;
-		  esac
-}
-
-
-case $SYSTEM in 
-	 linux)
-		  if [ -x /usr/bin/dpkg-deb ]; then
-				upload_build linux_make . deb
-		  else
-				upload_build linux_make build tar.bz2
-		  fi
-		  ;;
-	 darwin)
-		  upload_build darwin_app . dmg
-		  ;;
-	 mingw*)
-		  upload_build win32_inno Output exe
-		  ;;
-	 cygwin*)
-		  upload_build win32_inno Output exe
-		  ;;
-esac
-
diff --git a/scripts/auto-build/pd-main-auto-builder.sh b/scripts/auto-build/pd-main-auto-builder.sh
deleted file mode 100755
index c494b029b..000000000
--- a/scripts/auto-build/pd-main-auto-builder.sh
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/bin/sh
-
-# the source dir where this script is
-SCRIPT_DIR=$(echo $0 | sed 's|\(.*\)/.*$|\1|')
-. $SCRIPT_DIR/auto-build-common
-
-# the name of this script
-SCRIPT=$(echo $0| sed 's|.*/\(.*\)|\1|g')
-
-case $SYSTEM in 
-	 linux)
-		  configure_options="--enable-alsa --enable-jack"
-		  platform_name=$(uname -m)
-		  ;;
-	 darwin)
-		  configure_options=""
-		  platform_name=$(uname -p)
-		  ;;
-	 mingw*)
-		  configure_options=""
-		  platform_name=i386
-		  ;;
-	 cygwin*)
-		  configure_options=""
-		  platform_name=i386
-		  ;;
-	 *)
-		  echo "ERROR: Platform $SYSTEM not supported!"
-		  exit
-		  ;;
-esac
-
-# convert into absolute path
-cd $(echo $0 | sed 's|\(.*\)/.*$|\1|')/../..
-auto_build_root_dir=$(pwd)
-echo "root: $auto_build_root_dir" 
-
-
-# let rsync handle the cleanup with --delete
-rsync -av --delete rsync://128.238.56.50/distros/pd-main/ \
-	 ${auto_build_root_dir}/
-
-case $SYSTEM in 
-	 darwin)
-		  archive_format=dmg
-		  archive=$(ls -1 ${auto_build_root_dir}/packages/darwin_app/Pd*.dmg)
-		  upload_filename=$(ls -1 ${archive} | sed "s|.*/\(.*\)\.${archive_format}|\1-${HOSTNAME}.${archive_format}|")
-		  cd ${auto_build_root_dir}/packages/darwin_app/
-		  make package_clean
-		  make test_locations
-		  make darwin_app_core && \
-				make readme_install && \
-				make package && \
-				rsync -a ${archive} \
-				rsync://128.238.56.50/upload/${DATE}/${upload_filename} && \
-                                echo "successfully uploaded: ${upload_filename}" && \
-				echo SUCCESS
-		  ;;
-	 *)
-		  package_name="/tmp/pd-${DATE}-${SYSTEM}-${HOSTNAME}-${platform_name}.tar.bz2"
-		  cd ${auto_build_root_dir}/pd/src && \
-				autoconf && \
-				./configure $configure_options && \
-				make  && \
-				cd ../../ && \
-				tar cjf $package_name pd && \
-				rsync -a ${package_name} rsync://128.238.56.50/upload/${DATE}/ && \
-				rm -f -- ${package_name} && \
-                                echo "successfully uploaded: ${package_name}" && \
-				echo SUCCESS
-		  ;;
-esac
-
diff --git a/scripts/auto-build/pd-puredyne-auto-builder.sh b/scripts/auto-build/pd-puredyne-auto-builder.sh
deleted file mode 100755
index d06ef7ad8..000000000
--- a/scripts/auto-build/pd-puredyne-auto-builder.sh
+++ /dev/null
@@ -1,99 +0,0 @@
-#!/bin/sh
-# this script is the first attempt to have an automated updater and builder
-
-# the source dir where this script is
-SCRIPT_DIR=$(echo $0 | sed 's|\(.*\)/.*$|\1|')
-. $SCRIPT_DIR/auto-build-common
-
-# the name of this script
-SCRIPT=$(echo $0| sed 's|.*/\(.*\)|\1|g')
-
-BUILD_DIR=.
-case $SYSTEM in 
-	 linux)
-		  BUILD_DIR=linux_make
-		  echo "Configuring to use $BUILD_DIR on GNU/Linux"
-		  ;;
-	 darwin)
-		  BUILD_DIR=darwin_app
-		  echo "Configuring to use $BUILD_DIR on Darwin/Mac OS X"
-		  ;;
-	 mingw*)
-		  BUILD_DIR=win32_inno
-		  echo "Configuring to use $BUILD_DIR on MinGW/Windows"
-		  ;;
-	 cygwin*)
-		  BUILD_DIR=win32_inno
-		  echo "Configuring to use $BUILD_DIR on Cygwin/Windows"
-		  ;;
-	 *)
-		  echo "ERROR: Platform $SYSTEM not supported!"
-		  exit
-		  ;;
-esac
-
-
-# convert into absolute path
-cd $(echo $0 | sed 's|\(.*\)/.*$|\1|')/../..
-auto_build_root_dir=$(pwd)
-echo "root: $auto_build_root_dir" 
-
-# let rsync handle the cleanup with --delete
-rsync -a --delete rsync://128.238.56.50/distros/pd-puredyne/ \
-	 ${auto_build_root_dir}/
-
-cd "${auto_build_root_dir}/packages/$BUILD_DIR"
-make -C "${auto_build_root_dir}/packages" set_version PD-EXTENDED_VERSION_PREFIX=puredyne
-make test_locations
-make package_clean
-make install PD-EXTENDED_VERSION_PREFIX=puredyne
-make package PD-EXTENDED_VERSION_PREFIX=puredyne
-
-
-upload_build ()
-{
-    platform_folder=$1
-    build_folder=$2
-    archive_format=$3
-
-	 archive="${auto_build_root_dir}/packages/${platform_folder}/${build_folder}/Pd*.${archive_format}"
-    
-    echo "upload specs $1 $2 $3"
-    echo "Uploading $archive"
-	 upload_filename=$(ls -1 ${archive} | sed "s|.*/\(.*\)\.${archive_format}|\1-${HOSTNAME}.${archive_format}|")
-	 case $SYSTEM in 
-		  mingw*)
-				test -e ${archive} && /c/cygwin/bin/sh -c \
-					 "rsync --archive --no-links --copy-links ${archive} rsync://128.238.56.50/upload/${DATE}/${upload_filename}" &&\
-                                         echo "successfully uploaded: ${upload_filename}" && \
-					 echo SUCCESS
-				;;
-		  *)
-				test -e ${archive} && rsync -a ${archive} \
-					 rsync://128.238.56.50/upload/${DATE}/${upload_filename}  && \
-                                         echo "successfully uploaded: ${upload_filename}" && \
-					 echo SUCCESS
-				;;
-		  esac
-}
-
-
-case $SYSTEM in 
-	 linux)
-		  if [ -x /usr/bin/dpkg-deb ]; then
-				upload_build linux_make . deb
-		  else
-				upload_build linux_make build tar.bz2
-		  fi
-		  ;;
-	 darwin)
-		  upload_build darwin_app . dmg
-		  ;;
-	 mingw*)
-		  upload_build win32_inno Output exe
-		  ;;
-	 cygwin*)
-		  upload_build win32_inno Output exe
-		  ;;
-esac
-
diff --git a/scripts/auto-build/pdvanilla-hcs.git-auto-builder.sh b/scripts/auto-build/pdvanilla-hcs.git-auto-builder.sh
deleted file mode 100755
index 387b2855a..000000000
--- a/scripts/auto-build/pdvanilla-hcs.git-auto-builder.sh
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/sh
-
-# the source dir where this script is
-## this could be done more easily with ${0%/*}
-SCRIPT_DIR=$(echo $0 | sed 's|\(.*\)/.*$|\1|')
-. $SCRIPT_DIR/auto-build-common
-
-# the name of this script
-## this could be done more easily with ${0##*/}
-SCRIPT=$(echo $0| sed 's|.*/\(.*\)|\1|g')
-
-# convert into absolute path
-cd "${SCRIPT_DIR}/../.."
-auto_build_root_dir=`pwd`
-echo "build root: $auto_build_root_dir" 
-rsync_distro "$auto_build_root_dir"
-
-
-cd "${auto_build_root_dir}"
-echo "--------------------------------------------------------------------------------"
-git pull
-echo "--------------------------------------------------------------------------------"
-./autogen.sh
-echo "--------------------------------------------------------------------------------"
-./configure
-echo "--------------------------------------------------------------------------------"
-make
-echo "--------------------------------------------------------------------------------"
-mkdir "${auto_build_root_dir}/testinstall"
-make DESTDIR="${auto_build_root_dir}/testinstall" install
-echo "--------------------------------------------------------------------------------"
-make dist
-
-
-# since the above test can cause this script to exit with an error, force it
-# to be happy to prevent getting automated error emails to root
-true 
diff --git a/scripts/auto-build/prep-auto-build-upload b/scripts/auto-build/prep-auto-build-upload
deleted file mode 100755
index 0bcc12340..000000000
--- a/scripts/auto-build/prep-auto-build-upload
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-
-# prepare a directory per date for the auto-builders to upload to
-
-HOSTNAME=`hostname`
-SYSTEM=`uname -s`
-DATE=`date +%Y-%m-%d`
-TIME=`date +%H.%M.%S`
-SCRIPT=`echo $0| sed 's|.*/\(.*\)|\1|g'`
-LOGFILE=/home/pd/logs/${DATE}_${TIME}_-_${SCRIPT}_-_${SYSTEM}.txt
-
-#BUILD_ROOT="/var/www/auto-build"
-
-prep_project()
-{
-	 PROJECT=$1
-	 BUILD_ROOT="$2"
-	 TODAYS_ROOT="${BUILD_ROOT}/${DATE}"
-	 chown -R root.root "${BUILD_ROOT}"        >> $LOGFILE 2>&1
-	 chown -R pd "${BUILD_ROOT}/latest"        >> $LOGFILE 2>&1
-	 mkdir "${TODAYS_ROOT}"                    >> $LOGFILE 2>&1
-	 mkdir "${TODAYS_ROOT}/logs"               >> $LOGFILE 2>&1
-	 chown -R nobody.nogroup "${TODAYS_ROOT}"  >> $LOGFILE 2>&1
-
-	 chown -R ${PROJECT}.${PROJECT} /home/${PROJECT}/  >> $LOGFILE 2>&1
-	 chmod -R u+rw /home/${PROJECT}/                   >> $LOGFILE 2>&1
-}
-
-
-prep_project pd /var/www/auto-build
-prep_project arduino /var/www/arduino
diff --git a/scripts/auto-build/pure-data-rsync b/scripts/auto-build/pure-data-rsync
deleted file mode 100755
index 9fed6bcc6..000000000
--- a/scripts/auto-build/pure-data-rsync
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-# rsync the CVS source files from SourceForge to make a local copy
-
-# the source dir where this script is
-SCRIPT_DIR=$(echo $0 | sed 's|\(.*\)/.*$|\1|')
-. $SCRIPT_DIR/auto-build-common
-
-# the name of this script
-SCRIPT=$(echo $0| sed 's|.*/\(.*\)|\1|g')
-
-LOGFILE=/home/pd/logs/${DATE}_${TIME}_-_${SCRIPT}_-_${SYSTEM}.txt
-
-VERBOSE_FLAGS=-v
-#VERBOSE_FLAGS="-v --progress"
-
-touch $LOGFILE
-
-echo "rsync pure-data" >> $LOGFILE 2>&1
-echo "----------------------------------------------------------------------" >> $LOGFILE 2>&1
-(/usr/bin/rsync -ax $VERBOSE_FLAGS --delete  pure-data.svn.sourceforge.net::svn/pure-data/ /home/pd/svnroot/pure-data/  || /usr/bin/logger -i -p local6.warning -t "$0" "rsync pure-data SVN FAILED") >> $LOGFILE 2>&1
-
-echo "rsync pd-gem" >> $LOGFILE 2>&1
-echo "----------------------------------------------------------------------" >> $LOGFILE 2>&1
-(/usr/bin/rsync -ax $VERBOSE_FLAGS --delete  rsync://pd-gem.cvs.sourceforge.net/cvsroot/p/pd/pd-gem/ /home/pd/cvsroot/pd-gem  || /usr/bin/logger -i -p local6.warning -t "$0" "rsync pd-gem CVS FAILED") >> $LOGFILE 2>&1
-
-echo "chown -R pd.pd /home/pd/cvsroot" >> $LOGFILE 2>&1
-echo "----------------------------------------------------------------------" >> $LOGFILE 2>&1
-chown -R pd.pd /home/pd/cvsroot >> $LOGFILE 2>&1
-
-echo "chown -R pd.pd /home/pd/svnroot" >> $LOGFILE 2>&1
-echo "----------------------------------------------------------------------" >> $LOGFILE 2>&1
-chown -R pd.pd /home/pd/svnroot >> $LOGFILE 2>&1
-
-
diff --git a/scripts/auto-build/pure-data-rsync-checkout b/scripts/auto-build/pure-data-rsync-checkout
deleted file mode 100755
index e5e4256b5..000000000
--- a/scripts/auto-build/pure-data-rsync-checkout
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/bin/sh
-# update from the local CVS repository
-
-# the source dir where this script is
-SCRIPT_DIR=$(echo $0 | sed 's|\(.*\)/.*$|\1|')
-. $SCRIPT_DIR/auto-build-common
-
-# the name of this script
-SCRIPT=$(echo $0| sed 's|.*/\(.*\)|\1|g')
-LOGFILE=/home/pd/logs/${DATE}_${TIME}_-_${SCRIPT}_-_${SYSTEM}.txt
-
-update_distro ()
-{
-	 distro=$1
-	 echo "------------------------------------------------------------"	>> $LOGFILE 2>&1
-	 echo "$distro"	>> $LOGFILE 2>&1
-	 echo "------------------------------------------------------------"	>> $LOGFILE 2>&1
-	 /home/pd/rsync/$distro/scripts/update-developer-layout.sh >> $LOGFILE 2>&1
-}
-
-touch $LOGFILE
-
-for dir in /home/pd/rsync/*; do 
-	 dirname=$(echo $dir | sed 's|.*/\(.*\)|\1|')
-	 test -e $dir/scripts/update-developer-layout.sh && \
-		  update_distro $dirname
-done
-
-for dir in /home/pd/rsync/*.git; do 
-	cd $dir
-	git pull	>> $LOGFILE 2>&1
-	cd scripts
-	svn --ignore-externals update	>> $LOGFILE 2>&1
-done
-
-# since the above test can cause this script to exit with an error, force it
-# to be happy to prevent getting automated error emails to root
-true 
diff --git a/scripts/auto-build/pure-data.git-auto-builder.sh b/scripts/auto-build/pure-data.git-auto-builder.sh
deleted file mode 100755
index 387b2855a..000000000
--- a/scripts/auto-build/pure-data.git-auto-builder.sh
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/sh
-
-# the source dir where this script is
-## this could be done more easily with ${0%/*}
-SCRIPT_DIR=$(echo $0 | sed 's|\(.*\)/.*$|\1|')
-. $SCRIPT_DIR/auto-build-common
-
-# the name of this script
-## this could be done more easily with ${0##*/}
-SCRIPT=$(echo $0| sed 's|.*/\(.*\)|\1|g')
-
-# convert into absolute path
-cd "${SCRIPT_DIR}/../.."
-auto_build_root_dir=`pwd`
-echo "build root: $auto_build_root_dir" 
-rsync_distro "$auto_build_root_dir"
-
-
-cd "${auto_build_root_dir}"
-echo "--------------------------------------------------------------------------------"
-git pull
-echo "--------------------------------------------------------------------------------"
-./autogen.sh
-echo "--------------------------------------------------------------------------------"
-./configure
-echo "--------------------------------------------------------------------------------"
-make
-echo "--------------------------------------------------------------------------------"
-mkdir "${auto_build_root_dir}/testinstall"
-make DESTDIR="${auto_build_root_dir}/testinstall" install
-echo "--------------------------------------------------------------------------------"
-make dist
-
-
-# since the above test can cause this script to exit with an error, force it
-# to be happy to prevent getting automated error emails to root
-true 
diff --git a/scripts/auto-build/pure-data.umlaeute.git-auto-builder.sh b/scripts/auto-build/pure-data.umlaeute.git-auto-builder.sh
deleted file mode 100755
index 387b2855a..000000000
--- a/scripts/auto-build/pure-data.umlaeute.git-auto-builder.sh
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/sh
-
-# the source dir where this script is
-## this could be done more easily with ${0%/*}
-SCRIPT_DIR=$(echo $0 | sed 's|\(.*\)/.*$|\1|')
-. $SCRIPT_DIR/auto-build-common
-
-# the name of this script
-## this could be done more easily with ${0##*/}
-SCRIPT=$(echo $0| sed 's|.*/\(.*\)|\1|g')
-
-# convert into absolute path
-cd "${SCRIPT_DIR}/../.."
-auto_build_root_dir=`pwd`
-echo "build root: $auto_build_root_dir" 
-rsync_distro "$auto_build_root_dir"
-
-
-cd "${auto_build_root_dir}"
-echo "--------------------------------------------------------------------------------"
-git pull
-echo "--------------------------------------------------------------------------------"
-./autogen.sh
-echo "--------------------------------------------------------------------------------"
-./configure
-echo "--------------------------------------------------------------------------------"
-make
-echo "--------------------------------------------------------------------------------"
-mkdir "${auto_build_root_dir}/testinstall"
-make DESTDIR="${auto_build_root_dir}/testinstall" install
-echo "--------------------------------------------------------------------------------"
-make dist
-
-
-# since the above test can cause this script to exit with an error, force it
-# to be happy to prevent getting automated error emails to root
-true 
diff --git a/scripts/auto-build/run-automated-build.bat b/scripts/auto-build/run-automated-build.bat
deleted file mode 100644
index a46d4750e..000000000
--- a/scripts/auto-build/run-automated-build.bat
+++ /dev/null
@@ -1,4 +0,0 @@
-@echo off
-
-C:\msys\1.0\bin\sh.exe --login -i -c /home/pd/auto-build/pd-extended/scripts/auto-build/run-automated-builder
-
diff --git a/scripts/auto-build/run-automated-build.cygwin.sh b/scripts/auto-build/run-automated-build.cygwin.sh
deleted file mode 100755
index 0fdb0a36f..000000000
--- a/scripts/auto-build/run-automated-build.cygwin.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-/cygdrive/c/msys/1.0/bin/sh --login -i -c /home/pd/auto-build/pd-extended/scripts/auto-build/run-automated-builder
-
diff --git a/scripts/auto-build/run-automated-builder b/scripts/auto-build/run-automated-builder
deleted file mode 100755
index 911e25ac7..000000000
--- a/scripts/auto-build/run-automated-builder
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/bin/sh
-
-
-## TODO: 
-# - change the logfile name
-# - use a wrapper for rsync to handle platform specifics
-# - check whether rsync (or any other upload mechanism) is present
-#   and mail accordingly
-
-cd /
-
-# On Mac OS X, there are some handy things in Fink, but don't override the
-# built-in tools
-PATH="${PATH}:/sw/bin:/sw/sbin"
-export PATH
-
-# the source dir where this script is
-SCRIPT_DIR=$(echo $0 | sed 's|\(.*\)/.*$|\1|')
-. $SCRIPT_DIR/auto-build-common
-
-# the name of this script
-SCRIPT=$(echo $0| sed 's|.*/\(.*\)|\1|g')
-
-mailbody_on_failure () {
- ## this is a somewhat simplistic expression to detect error-lines
- echo "last 20 errors ----------------------------------------"
- cat ${LOGFILE} | grep -i -e "error: " -e "cannot find" | tail -20
- echo "last 15 lines ----------------------------------------"
- tail -15 ${LOGFILE}
- echo ""
- echo "the full logfile - if it has been succesfully uploaded - can be viewed at:"
- echo "http://autobuild.puredata.info/auto-build/${DATE}/logs/${LOGFILE##*/}"
-}
-
-run_build_script ()
-{
-	 distro=$1
-	 chroot=$2
-
-	 BUILDSCRIPT="${HOME}/auto-build/${distro}/scripts/auto-build/${distro}-auto-builder.sh"
-         ## LATER: make the uploaded ${LOGFILE} (name) be consistent with the uploaded package-file (name)
-	 LOGFILE="${HOME}/logs/${DATE}_${TIME}_${SYSTEM}_${HOSTNAME}_${distro}.txt"
-	 touch "${LOGFILE}" 
-
-	 if [ -d /var/chroot/$chroot ]; then
-		 echo "----------------------------------------" >> "$LOGFILE" 2>&1
-		 echo "Building in dchroot $chroot" >> "$LOGFILE" 2>&1
-		 echo "----------------------------------------" >> "$LOGFILE" 2>&1
-		 dchroot -c $chroot -d "$BUILDSCRIPT" >> "$LOGFILE" 2>&1
-	 else
-		 echo "----------------------------------------" >> "$LOGFILE" 2>&1
-		 echo "Building on native system" >> "$LOGFILE" 2>&1
-		 echo "----------------------------------------" >> "$LOGFILE" 2>&1
-		 sh "$BUILDSCRIPT" >> "$LOGFILE" 2>&1
-	 fi
-	 
-	 case $SYSTEM in 
-		  mingw*)
-				/c/cygwin/bin/sh -c \
-					 "rsync --archive --no-links --copy-links ${LOGFILE} rsync://128.238.56.50/upload/${DATE}/logs/"
-				;;
-		  *)
-				rsync -a "$LOGFILE" rsync://128.238.56.50/upload/${DATE}/logs/
-				;;
-	 esac
-
-# send status report if something failed
-	 completion_test=$(tail -1 ${LOGFILE})
-	 if [ "x${completion_test}" != "xSUCCESS" ]; then
-		if [ "x${RECIPIENT}" != "x" ]; then
-		  SUBJECT="autobuild: $distro $HOSTNAME $DATE $TIME"
-		  mailbody_on_failure | $MAIL_COMMAND -s "${SUBJECT}" ${RECIPIENT}
-		fi
-	 fi
-}
-
-for distrodir in ${HOME}/auto-build/*; do 
-	 distro=$(echo $distrodir | sed 's|.*/\(.*\)|\1|')
-	 if [ -e $distrodir/scripts/auto-build/${distro}-auto-builder.sh ]; then
-		 run_build_script $distro IGNORE_CHROOT_USE_SYSTEM
-		 if [ -e /var/chroot ]; then
-			 for chrootdir in /var/chroot/*; do 
-				 chroot=$(echo $chrootdir | sed 's|.*/\(.*\)|\1|')
-				 HOSTNAME=`cat /var/chroot/$chroot/etc/hostname`
-				 run_build_script $distro $chroot
-			 done
-		 fi
-	 fi
-done
-
-# since the above test can cause this script to exit with an error, force it
-# to be happy to prevent getting automated error emails to root
-true 
diff --git a/scripts/auto-build/tcltk_core-8-4-branch_auto-builder.sh b/scripts/auto-build/tcltk_core-8-4-branch_auto-builder.sh
deleted file mode 100755
index ac92a254c..000000000
--- a/scripts/auto-build/tcltk_core-8-4-branch_auto-builder.sh
+++ /dev/null
@@ -1,98 +0,0 @@
-#!/bin/sh
-# this script is the first attempt to have an automated updater and builder
-
-# the source dir where this script is
-SCRIPT_DIR=$(echo $0 | sed 's|\(.*\)/.*$|\1|')
-. $SCRIPT_DIR/auto-build-common
-
-# the name of this script
-SCRIPT=$(echo $0| sed 's|.*/\(.*\)|\1|g')
-
-
-# convert into absolute path
-cd $(echo $0 | sed 's|\(.*\)/.*$|\1|')
-auto_build_root_dir=$(pwd)
-echo "root: $auto_build_root_dir" 
-
-# let rsync handle the cleanup with --delete
-rsync -a --delete rsync://128.238.56.50/distros/tcltk_core-8-4-branch/ \
-	 ${auto_build_root_dir}/
-
-BUILD_DIR=.
-case $SYSTEM in 
-	 linux)
-		  BUILD_DIR=unix
-		  echo "Configuring to use $BUILD_DIR on GNU/Linux"
-		  ;;
-	 darwin)
-		  BUILD_DIR=macosx
-		  echo "Configuring to use $BUILD_DIR on Darwin/Mac OS X"
-		  export PATH=/bin:/sbin:/usr/bin:/usr/sbin
-#		  export CFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 \
-#           -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4"
-		  make -C tcl/${BUILD_DIR} deploy
-		  make -C tk/${BUILD_DIR} deploy
-		  ;;
-	 mingw*)
-		  BUILD_DIR=win
-		  echo "Configuring to use $BUILD_DIR on MinGW/Windows"
-		  ;;
-	 cygwin*)
-		  BUILD_DIR=win
-		  echo "Configuring to use $BUILD_DIR on Cygwin/Windows"
-		  ;;
-	 *)
-		  echo "ERROR: Platform $SYSTEM not supported!"
-		  exit
-		  ;;
-esac
-
-
-# not used (yet...)
-exit 
-
-
-
-upload_build ()
-{
-    platform_folder=$1
-    build_folder=$2
-    archive_format=$3
-
-	 archive="${auto_build_root_dir}/packages/${platform_folder}/${build_folder}/Pd*.${archive_format}"
-    
-    echo "upload specs $1 $2 $3"
-    echo "Uploading $archive"
-	 upload_filename=$(ls -1 ${archive} | sed "s|.*/\(.*\)\.${archive_format}|\1-${HOSTNAME}.${archive_format}|")
-	 case $SYSTEM in 
-		  mingw*)
-				test -e ${archive} && /c/cygwin/bin/sh -c \
-					 "rsync --archive --no-links --copy-links ${archive} rsync://128.238.56.50/upload/${DATE}/${upload_filename}" &&\
-                                         echo "successfully uploaded: ${upload_filename}" && \
-					 echo SUCCESS
-				;;
-		  *)
-				test -e ${archive} && rsync -a ${archive} \
-					 rsync://128.238.56.50/upload/${DATE}/${upload_filename}  && \
-                                         echo "successfully uploaded: ${upload_filename}" && \
-					 echo SUCCESS
-				;;
-		  esac
-}
-
-
-case $SYSTEM in 
-	 linux)
-		  upload_build linux_make build tar.bz2
-		  ;;
-	 darwin)
-		  upload_build darwin_app . dmg
-		  ;;
-	 mingw*)
-		  upload_build win32_inno Output exe
-		  ;;
-	 cygwin*)
-		  upload_build win32_inno Output exe
-		  ;;
-esac
-
diff --git a/scripts/auto-build/tcltk_core-8-5-branch_auto-builder.sh b/scripts/auto-build/tcltk_core-8-5-branch_auto-builder.sh
deleted file mode 100755
index effc0dc04..000000000
--- a/scripts/auto-build/tcltk_core-8-5-branch_auto-builder.sh
+++ /dev/null
@@ -1,98 +0,0 @@
-#!/bin/sh
-# this script is the first attempt to have an automated updater and builder
-
-# the source dir where this script is
-SCRIPT_DIR=$(echo $0 | sed 's|\(.*\)/.*$|\1|')
-. $SCRIPT_DIR/auto-build-common
-
-# the name of this script
-SCRIPT=$(echo $0| sed 's|.*/\(.*\)|\1|g')
-
-
-# convert into absolute path
-cd $(echo $0 | sed 's|\(.*\)/.*$|\1|')
-auto_build_root_dir=$(pwd)
-echo "root: $auto_build_root_dir" 
-
-# let rsync handle the cleanup with --delete
-rsync -a --delete rsync://128.238.56.50/distros/tcltk_core-8-5-branch/ \
-	 ${auto_build_root_dir}/
-
-BUILD_DIR=.
-case $SYSTEM in 
-	 linux)
-		  BUILD_DIR=unix
-		  echo "Configuring to use $BUILD_DIR on GNU/Linux"
-		  ;;
-	 darwin)
-		  BUILD_DIR=macosx
-		  echo "Configuring to use $BUILD_DIR on Darwin/Mac OS X"
-		  export PATH=/bin:/sbin:/usr/bin:/usr/sbin
-		  export CFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 \
-           -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4"
-		  make -C tcl/${BUILD_DIR} deploy
-		  make -C tk/${BUILD_DIR} deploy
-		  ;;
-	 mingw*)
-		  BUILD_DIR=win
-		  echo "Configuring to use $BUILD_DIR on MinGW/Windows"
-		  ;;
-	 cygwin*)
-		  BUILD_DIR=win
-		  echo "Configuring to use $BUILD_DIR on Cygwin/Windows"
-		  ;;
-	 *)
-		  echo "ERROR: Platform $SYSTEM not supported!"
-		  exit
-		  ;;
-esac
-
-
-# not used (yet...)
-exit 
-
-
-
-upload_build ()
-{
-    platform_folder=$1
-    build_folder=$2
-    archive_format=$3
-
-	 archive="${auto_build_root_dir}/packages/${platform_folder}/${build_folder}/Pd*.${archive_format}"
-    
-    echo "upload specs $1 $2 $3"
-    echo "Uploading $archive"
-	 upload_filename=$(ls -1 ${archive} | sed "s|.*/\(.*\)\.${archive_format}|\1-${HOSTNAME}.${archive_format}|")
-	 case $SYSTEM in 
-		  mingw*)
-				test -e ${archive} && /c/cygwin/bin/sh -c \
-					 "rsync --archive --no-links --copy-links ${archive} rsync://128.238.56.50/upload/${DATE}/${upload_filename}" &&\
-                                         echo "successfully uploaded: ${upload_filename}" && \
-					 echo SUCCESS
-				;;
-		  *)
-				test -e ${archive} && rsync -a ${archive} \
-					 rsync://128.238.56.50/upload/${DATE}/${upload_filename}  && \
-                                         echo "successfully uploaded: ${upload_filename}" && \
-					 echo SUCCESS
-				;;
-		  esac
-}
-
-
-case $SYSTEM in 
-	 linux)
-		  upload_build linux_make build tar.bz2
-		  ;;
-	 darwin)
-		  upload_build darwin_app . dmg
-		  ;;
-	 mingw*)
-		  upload_build win32_inno Output exe
-		  ;;
-	 cygwin*)
-		  upload_build win32_inno Output exe
-		  ;;
-esac
-
diff --git a/scripts/build-libs-for-pd-on-mingw.sh b/scripts/build-libs-for-pd-on-mingw.sh
deleted file mode 100755
index 621af2a81..000000000
--- a/scripts/build-libs-for-pd-on-mingw.sh
+++ /dev/null
@@ -1,169 +0,0 @@
-#!/bin/sh
-
-# this script is no longer maintained, instead use the 'sources tree and this script:
-# https://pure-data.svn.sourceforge.net/svnroot/pure-data/sources/build-libs-on-mingw.sh
-
-# This script builds everything needed to build Pd-extended on MinGW.  You
-# need to download all of the source files listed on
-# http://puredata.org/docs/developer/win first, put them all into one
-# directory, then run this script in that directory.  It should build and
-# install everything.  Make sure you have this line in your
-# c:\msys\1.0\etc\fstab:
-
-# c:\MinGW  /usr/local
-
-# This ensures that everything will be installed in the right
-# place. <hans@eds.org>
-
-# pthreads
-testfile=/usr/local/bin/pthreadGC2.dll
-if [ -e "$testfile" ]; then 
-	 echo "$testfile exists, skipping..."
-else
-	 echo "Building everything for $testfile"
-	 cd pthreads.2
-	 make clean GC-inlined
-	 cp libpthreadGC2.a /usr/local/lib
-	 cp pthreadGC2.dll /usr/local/bin
-	 cp pthread.h sched.h semaphore.h /usr/local/include/
-	 cd ..
-fi
-
-# Tcl
-testfile=/usr/local/bin/tcl84.dll
-if [ -e "$testfile" ]; then 
-	 echo "$testfile exists, skipping..."
-else
-	 echo "Building everything for $testfile"
-	 tar xzf tcl8.4.*-src.tar.gz
-	 cd tcl8.4.*/win
-	 ./configure && make CYGPATH=echo && make install
-	 cd ../..
-fi
-
-# Tk
-testfile=/usr/local/bin/tk84.dll
-if [ -e "$testfile" ]; then 
-	 echo "$testfile exists, skipping..."
-else
-	 echo "Building everything for $testfile"
-	 tar xzf tk8.4.*-src.tar.gz
-	 cd tk8.4.*/win
-	 ./configure && make CYGPATH=echo && make install
-	 cd ../..
-fi
-
-# ogg
-testfile=/usr/local/lib/libogg.a
-if [ -e "$testfile" ]; then 
-	 echo "$testfile exists, skipping..."
-else
-	 echo "Building everything for $testfile"
-	 tar xzf libogg-1.1.*.tar.gz
-	 cd libogg-1.1.*
-	 ./configure && make && make install
-	 cd ..
-fi
-
-
-# GNU regex
-testfile=/usr/local/lib/libregex.a
-if [ -e "$testfile" ]; then 
-	 echo "$testfile exists, skipping..."
-else
-	 echo "Building everything for $testfile"
-	 tar xzf regex-0.12.tar.gz
-	 cd regex-0.12
-	 ./configure && make
-	 ar ru libregex.a regex.o
-	 cp libregex.a /usr/local/lib
-	 cp regex.h /usr/local/include
-	 cd ..
-fi
-
-
-# vorbis
-testfile=/usr/local/lib/libvorbisfile.a
-if [ -e "$testfile" ]; then 
-	 echo "$testfile exists, skipping..."
-else
-	 echo "Building everything for $testfile"
-	 tar xzf libvorbis-1.1.*.tar.gz
-	 cd libvorbis-1.1.*
-	 ./configure && make
-	 cd lib
-	 /bin/sh ../libtool --tag=CC --mode=link gcc  -O20 -D__NO_MATH_INLINES \
-		  -fsigned-char  -DUSE_MEMORY_H   -o libvorbisfile.la -rpath \
-		  /usr/local/lib -no-undefined -version-info 4:0:1 vorbisfile.lo \
-		  libvorbis.la /usr/local/lib/libogg.la 
-	 cd ..
-	 make && make install
-	 cd ..
-fi
-
-# LAME
-testfile=/usr/local/bin/libmp3lame-0.dll
-if [ -e "$testfile" ]; then 
-	 echo "$testfile exists, skipping..."
-else
-	 echo "Building everything for $testfile"
-	 tar xzf lame-398-2.tar.gz
-	 cd lame-398-2
-	 ./configure --disable-frontend \
-		 && make \
-		 && make install
-	 cd ..
-fi
-
-# speex
-testfile=/usr/local/lib/libspeex.a
-if [ -e "$testfile" ]; then 
-	 echo "$testfile exists, skipping..."
-else
-	 echo "Building everything for $testfile"
-	 tar xzf speex-*.tar.gz
-	 cd speex-*
-	 ./configure --enable-sse && make && make install
-	 cd ..
-fi
-
-# FLAC
-testfile=/usr/local/lib/libFLAC.a
-if [ -e "$testfile" ]; then 
-	 echo "$testfile exists, skipping..."
-else
-	 echo "Building everything for $testfile"
-	 tar xzf flac-1.1.*.tar.gz && cd flac-1.1.*
-	 ./configure && make && make install || echo -e "\n\n$testfile failed!!\n\n"
-# the compilation bombs, but builds most of what we need, so install anyway
-	 make -k install
-	 cd ..
-fi
-
-# libsndfile
-# the FLAC build bombs, so disable FLAC support in libsndfile
-testfile=/usr/local/lib/libsndfile.a
-if [ -e "$testfile" ]; then 
-	 echo "$testfile exists, skipping..."
-else
-	 echo "Building everything for $testfile"
-	 tar xzf libsndfile-1.0.19.tar.gz
-	 cd libsndfile-1.0.19
-	 ./configure --disable-alsa --enable-sqlite 
-		 && make && make check && make install
-	 cd ..
-fi
-
-# fftw3
-testfile=/usr/local/lib/libfftw3.a
-if [ -e "$testfile" ]; then 
-	 echo "$testfile exists, skipping..."
-else
-	 echo "Building everything for $testfile"
-	 tar xzf fftw-3.1.*.tar.gz
-	 cd fftw-3.1.*
-	 ./configure --with-our-malloc16 --with-windows-f77-mangling --enable-shared --disable-static --enable-threads --with-combined-threads --enable-portable-binary --enable-float --enable-sse && \
-	     make && make install
-	 cd ..
-fi
-
diff --git a/scripts/build-packages.sh b/scripts/build-packages.sh
deleted file mode 100644
index 8b2898217..000000000
--- a/scripts/build-packages.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/sh
-
-# this script builds the apt repo for http://apt.puredata.info/releases
-
-cd /var/www/releases
-
-# delete old ones
-find dists -name Packages.gz -delete
-find dists -name Packages.bz2 -delete
-
-# make new Packages files
-for dir in dists/*/*/binary-*; do
-	 dpkg-scanpackages ${dir} /dev/null | gzip -9c > ${dir}/Packages.gz
-	 dpkg-scanpackages ${dir} /dev/null | bzip2 -9c > ${dir}/Packages.bz2
-done
-
-for dir in dists/*; do
-	 apt-ftparchive contents $dir | gzip -9c > ${dir}/Contents.gz
-	 apt-ftparchive release $dir > ${dir}/Release
-done
-
-
diff --git a/scripts/checkout-developer-layout.sh b/scripts/checkout-developer-layout.sh
deleted file mode 100755
index 18ad41975..000000000
--- a/scripts/checkout-developer-layout.sh
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/bin/sh
-
-# this script automatically generates a directory with all of the Pd code out
-# of CVS in the standard developer's layout.  <hans@at.or.at>
-
-# Usage: 
-#	 - with no arguments, it will check out the code using anonymous CVS.
-#	 - to check out using your SourceForge ID, add that as the argument
-
-URL="https://pure-data.svn.sourceforge.net/svnroot/pure-data/trunk/"
-GEMURL="https://pd-gem.svn.sourceforge.net/svnroot/pd-gem/trunk/"
-PDAUTH=""
-SVNOPTIONS="--ignore-externals"
-
-print_usage ()
-{
-    echo " "
-    echo "Usage: $0 [sourceforge ID]"
-    echo "   if no ID is given, it will check out anonymously"
-    echo " "
-    exit
-}
-
-if [ $# -eq 0 ]; then
-    echo "Checking out anonymously. Give your SourceForge ID if you don't want that."
-elif [ "$1" == "--help" ]; then
-    print_usage
-elif [ "$1" == "-h" ]; then
-    print_usage
-elif [ $# -eq 1 ]; then
-    PDAUTH="--username $1"
-else
-    print_usage
-fi
-
-echo "checking out pure-data"
-svn checkout $SVNOPTIONS $PDAUTH $URL pure-data
-
-cd pure-data
-
-for section in Gem videoIO; do
-         echo "checking out Gem::${section}"
-         svn checkout $SVNOPTIONS ${PDAUTH} ${GEMURL}/${section} ${section}
-done
-
-
-# make the symlinks which simulate the files being installed into the packages
-cd packages && make devsymlinks
diff --git a/scripts/config-switcher.sh b/scripts/config-switcher.sh
deleted file mode 100755
index 783dfaf2a..000000000
--- a/scripts/config-switcher.sh
+++ /dev/null
@@ -1,117 +0,0 @@
-#!/bin/sh
-
-
-#==============================================================================#
-# functions
-
-print_usage() {
-	 echo "Usage: "
-	 echo "To load a config file:"
-	 echo "   $0 load CONFIG_NAME"
-	 echo " "
-	 echo "To save the current config to file:"
-	 echo "   $0 save CONFIG_NAME"
-	 echo " "
-	 echo "To delete the current config:"
-	 echo "   $0 delete CONFIG_NAME"
-	 echo " "
-	 echo "To list existing configs:"
-	 echo "   $0 list"
-	 echo " "
-	 echo "To print the contents of a config:"
-	 echo "   $0 print CONFIG_NAME"
-	 echo " "
-	 echo "To see the difference between the current config and another:"
-	 echo "   $0 diff CONFIG_NAME"
-	 echo " "
-	 echo "To use the .pdrc instead, add '--pdrc':"
-	 echo "   $0 --pdrc load CONFIG_NAME"
-	 echo "   $0 --pdrc save CONFIG_NAME"
-	 echo "   $0 --pdrc delete CONFIG_NAME"
-	 echo "   $0 --pdrc list"
-	 echo "   $0 --pdrc print CONFIG_NAME"
-	 echo "   $0 --pdrc diff CONFIG_NAME"
-	 exit
-}
-
-#==============================================================================#
-# THE PROGRAM
-
-if [ $# -lt 1 ]; then
-	 print_usage
-else
-	 # get the command line arguments
-	 if [ $1 == "--pdrc" ]; then
-		  CONFIG_DIR=~
-		  CONFIG_FILE=.pdrc
-		  COMMAND=$2
-		  CONFIG_NAME=$3
-	 else
-		  COMMAND=$1
-		  CONFIG_NAME=$2
-    # location of pref file that Pd reads
-		  case `uname` in
-				Darwin)
-					 CONFIG_DIR=~/Library/Preferences
-					 CONFIG_FILE=org.puredata.pdextended.plist
-					 ;;
-				Linux)
-					 CONFIG_DIR=~
-					 CONFIG_FILE=.pdextended
-					 ;;
-				*)
-					 echo "Not supported on this platform."
-					 exit
-					 ;;
-		  esac
-	 fi
-	 
-    # everything happens in this dir
-	 cd $CONFIG_DIR
-	 
-	 selected_file="$CONFIG_DIR/$CONFIG_FILE-$CONFIG_NAME"
-	 case $COMMAND in
-		  load)
-				if [ -e "$selected_file" ]; then
-					 test -e "$CONFIG_FILE" && mv -f "$CONFIG_FILE" /tmp
-					 cp "$selected_file" "$CONFIG_FILE" && \
-						  echo "Pd config \"$selected_file\" loaded." 
-				else
-					 echo "\"$selected_file\" doesn't exist.  No action taken."
-				fi
-				;;
-		  save)
-				if [ -e "$CONFIG_FILE" ]; then
-					 cp -f "$CONFIG_FILE" "$selected_file" && \
-						  echo "Pd config \"$CONFIG_NAME\" saved." 
-				else
-					 echo "\"$CONFIG_FILE\" doesn't exist.  No action taken."
-				fi
-				;;
-		  delete)
-				if [ -e "$selected_file" ]; then
-					 rm -f "$selected_file" && \
-						  echo "Pd config \"$selected_file\" deleted." 
-				else
-					 echo "\"$selected_file\" doesn't exist.  No action taken."
-				fi
-				;;
- 		  list)
-				echo "Available configs:"
-				pwd
-				ls -1 "${CONFIG_FILE}"*
-pwd
-				;;
-		  print)
-				if [ "${CONFIG_NAME}" == "" ]; then
-					 cat "${CONFIG_FILE}"
-				else
-					 cat "$selected_file"
-				fi
-				;;
-		  diff)
-				diff -uw "${CONFIG_FILE}" "$selected_file"
-				;;
-		  *) print_usage ;;
-	 esac
-fi
diff --git a/scripts/convert-help-to-standard.sh b/scripts/convert-help-to-standard.sh
deleted file mode 100755
index 56175fd16..000000000
--- a/scripts/convert-help-to-standard.sh
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/bin/sh
-
-# this script renames help patches that don't follow the OBJECTNAME-help.pd
-# format that has become the standard.
-# 
-# for more info on the standard, check this thread:
-# http://lists.puredata.info/pipermail/pd-dev/2003-09/001519.html
-#
-# this script is a hack to take care of this until all of the files get
-# renamed by their respective maintainers.
-
-for helpfile in help-*.pd ; do
-	 if [ -e $helpfile ]; then
-		  newhelpfile=`echo $helpfile | sed 's/^help\-\(.*\)\.pd$/\1-help.pd/'`
-		  if [ "$helpfile" != "$newhelpfile" ]; then
-				echo "  swap $helpfile" "$newhelpfile"
-				mv "$helpfile" "$newhelpfile"
-		  else
-				echo "SAMEFILE $helpfile"
-		  fi
-	 fi
-done
-
-# this isn't used yet
-#NON_STANDARD_HELP_FILES=`ls -1 *.pd | \
-#       grep -v '^.*-help.pd$' | \
-#       grep -v '^help-.*.pd$' | \
-#       grep -v '^externals.pd$' | \
-#       grep -v 'test' | \
-#       grep -v 'example' | \
-#       grep -v 'demo' | \
-#       grep -v 'x_all_guis' | \
-#       grep -v 'all_about_' | \
-#       grep -v 'pddp' | \
-#       grep -v 'readme' | \
-#       grep -v '^.*-list.pd$' | \
-#       grep -v '^.*-joystick.pd$'`
-
-#for helpfile in $NON_STANDARD_HELP_FILES ; do
-#	 echo NONE $helpfile
-#done
-
diff --git a/scripts/download-pd-archives.sh b/scripts/download-pd-archives.sh
deleted file mode 100755
index 1d80583c6..000000000
--- a/scripts/download-pd-archives.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/sh
-
-# This script downloads mbox archives of the Pd lists and sets them up at
-# Apple Mail.app local mailboxes.
-# <hans@at.or.at>
-
-# which lists you want to download.  The lists hosted on this server are:
-#     gem-dev pd-announce pd-cvs pd-dev pd-list pd-ot pdweb
-LISTS="pd-announce pd-dev pd-list pd-ot pdweb"
-MAILBOX_ROOT=~/Library/Mail/Mailboxes/Pd
-
-for listname in $LISTS ; do
-	 echo " "
-	 echo " "
-	 echo Downloading $listname:
-	 if [ ! -d $MAILBOX_ROOT/$listname.mbox ]; then
-		  mkdir $MAILBOX_ROOT/$listname.mbox
-	 fi
-	 cd $MAILBOX_ROOT/$listname.mbox
-	 wget http://lists.puredata.info/pipermail/$listname.mbox/$listname.mbox && \
-		  (rm mbox table_of_contents; mv $listname.mbox mbox)
-done
diff --git a/scripts/find-wish.app.sh b/scripts/find-wish.app.sh
deleted file mode 100755
index 6ea50da95..000000000
--- a/scripts/find-wish.app.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/sh
-
-cvs_root_dir=`echo $0 | sed 's|\(.*\)/.*$|\1|'`/..
-cd $cvs_root_dir
-cvs_root_dir=`pwd`
-
-TCLTK="$1"
-
-if [ "x${TCLTK}" != "x" ]; then
-	 test -d /Volumes/${TCLTK} || \
-		  hdiutil mount -quiet ${cvs_root_dir}/packages/darwin_app/${TCLTK}.dmg
-	 echo "/Volumes/${TCLTK}"
-else
-	 if [ -d "/Library/Frameworks/Tk.framework/Resources" ]; then
-		  echo "/Library/Frameworks/Tk.framework/Resources"
-	 else 
-		  if [ -d "/System/Library/Frameworks/Tk.framework/Resources" ]; then
-				echo "/System/Library/Frameworks/Tk.framework/Resources"
-		  fi
-	 fi
-fi
-
diff --git a/scripts/guiplugins/buttonbar/buttonbar-plugin.tcl b/scripts/guiplugins/buttonbar/buttonbar-plugin.tcl
deleted file mode 100644
index 2fe0cab40..000000000
--- a/scripts/guiplugins/buttonbar/buttonbar-plugin.tcl
+++ /dev/null
@@ -1,1212 +0,0 @@
-# this plugin creates a buttonbar on a patch window when that patch
-# window is in Edit Mode
-
-# this GUI plugin removes the menubars from any patch window that is
-# not in Edit Mode.  Also, if a patch is switched to Run Mode, the
-# menubar will be removed.
-
-package require base64
-
-proc make_pd_button {mytoplevel name} {
-    button $mytoplevel.buttonbar.$name -image buttonimage$name \
-        -relief flat -borderwidth 0 -highlightthickness 0 \
-        -highlightcolor grey -highlightbackground grey -padx 0 -pady 0 \
-        -command "menu_send_float \$::focused_window $name 0"
-    pack $mytoplevel.buttonbar.$name -side left -padx 0 -pady 0
-}
-
-proc make_iemgui_button {mytoplevel name} {
-    button $mytoplevel.buttonbar.$name -image buttonimage$name \
-        -relief sunken -borderwidth 0 -highlightthickness 0 \
-        -highlightcolor grey -highlightbackground grey -padx 0 -pady 0 \
-        -command "menu_send \$::focused_window $name"
-    pack $mytoplevel.buttonbar.$name -side left -padx 0 -pady 0
-}
-
-proc showhide_buttonbar {mytoplevel} {
-    if { ! [winfo exists $mytoplevel.buttonbar]} {
-        frame $mytoplevel.buttonbar -cursor arrow -background grey \
-            -pady 0
-        make_pd_button $mytoplevel obj
-        make_pd_button $mytoplevel msg
-        make_pd_button $mytoplevel floatatom
-        make_pd_button $mytoplevel symbolatom
-        make_pd_button $mytoplevel text
-        make_iemgui_button $mytoplevel bng
-        make_iemgui_button $mytoplevel toggle
-        make_iemgui_button $mytoplevel numbox
-        make_iemgui_button $mytoplevel hslider
-        make_iemgui_button $mytoplevel vslider
-        make_iemgui_button $mytoplevel hradio
-        make_iemgui_button $mytoplevel vradio
-        make_iemgui_button $mytoplevel vumeter        
-        make_iemgui_button $mytoplevel mycnv
-        make_iemgui_button $mytoplevel menuarray
-    }
-    if {$::editmode($mytoplevel)} {
-        set tkcanvas [tkcanvas_name $mytoplevel]
-        pack forget $tkcanvas
-        pack $mytoplevel.buttonbar -side top -fill x
-        pack $tkcanvas -side top -expand 1 -fill both
-    } else {
-        pack forget $mytoplevel.buttonbar
-    }
-}
-
-bind PatchWindow <FocusIn> {+showhide_buttonbar %W}
-bind PatchWindow <<EditMode>> {+showhide_buttonbar %W}
-
-#set imgdir "/Users/hans/Desktop/buttonbar"
-#image create photo buttonimageobj -file $imgdir/obj.gif.pgm
-#image create photo buttonimagemsg -file $imgdir/msg.gif.pgm
-#image create photo buttonimagefloatatom -file $imgdir/floatatom.gif
-#image create photo buttonimagesymbolatom -file $imgdir/symbolatom.gif
-#image create photo buttonimagetext -file $imgdir/text.gif
-
-#image create photo buttonimagebng -file $imgdir/bng.gif
-#image create photo buttonimagetoggle -file $imgdir/toggle.gif
-#image create photo buttonimagenumbox -file $imgdir/numbox.gif
-#image create photo buttonimagehslider -file $imgdir/hslider.gif.pgm
-#image create photo buttonimagevslider -file $imgdir/vslider.gif.pgm
-#image create photo buttonimagehradio -file $imgdir/hradio.gif.pgm
-#image create photo buttonimagevradio -file $imgdir/vradio.gif.pgm
-#image create photo buttonimagevumeter -file $imgdir/vumeter.gif
-#image create photo buttonimagemycnv -file $imgdir/mycnv.gif
-
-#image create photo buttonimagemenuarray -file $imgdir/array.gif
-
-set menuarraydata {
-R0lGODlhHAATAMQAAAAAAAsLCxISEh0dHSQkJDMzMzs7O0ZGRlJSUnFxcXl5eZGRkaCgoK2trbu7
-u8bGxtjY2OLi4unp6f7+/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAQA
-AAAAIf/8SUNDUkdCRzEwMTIAAA+EYXBwbAIAAABtbnRyUkdCIFhZWiAH2gAJAAEADwATAB9hY3Nw
-QVBQTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5yWFlaAAABLAAAABRnWFlaAAABQAAA
-ABRiWFlaAAABVAAAABR3dHB0AAABaAAAABRjaGFkAAABfAAAACxyVFJDAAABqAAAAA5nVFJDAAAB
-uAAAAA5iVFJDAAAByAAAAA52Y2d0AAAB2AAABhJu/2RpbgAAB+wAAAY+ZGVzYwAADiwAAABkZHNj
-bQAADpAAAACmbW1vZAAADzgAAAAoY3BydAAAD2AAAAAkWFlaIAAAAAAAAGEKAAA4UQAAB1hYWVog
-AAAAAAAAcEsAALBzAAAij1hZWiAAAAAAAAAlgQAAF1cAAKk+WFlaIAAAAAAAAPNSAAEAAAABFs9z
-ZjMyAAAAAAABDEIAAAXe///zJgAAB5IAAP2R///7ov///aMAAAPcAADAbGN1cnYAAAAAAAAAAQHN
-AABjdXJ2AAAAAAAAAAEBzQAAY3VydgAAAAAAAAABAc0AAHZjZ3QAAAAAAAAAAAADAQAAAgAAAB0A
-Zf8A0gF8AkoDHgQIBSMGXAeyCSQKswxdDg4P0xGeE2UVLBbtGJ4aRBvfHWse7iBjIc4jMSSJJd8n
-MSh9KcgrDixTLZMu0DAJMT8ybTOXNLw13Tb2OA05HTopOzM8Nz06Pjo/N0AzQS5CKUMiRBpFFEYM
-RwRH/kj3Se9K6EvhTNxN1k7RT81QylHIUsdTx1THVchWylfMWM9Z01rXW91c4l3pXvBf+GEAYglj
-E2QeZSpmNmdCaE9pW2poa3ZshG2Sbp9vrXC6cchy1XPidO91/HcHeBJ5HHonezB8N30/fkV/SoBP
-gVKCVYNWhFeFV4ZWh1SIUolQik2LSoxHjUOOQI//PZA7kTiSN5M2lDWVNZY2lzeYOZk7mj6bQpxF
-nUmeTJ9QoFShWKJco1+kYqVmpmmnbKhvqXGqdKt1rHeteK55r3mwebF4snazdLRxtW62abdjuF25
-VrpNu0O8Ob0tvh+/EMAAwO3B2cLDw6rEj8VxxlHHL8gKyOTJvMqQy2TMNc0FzdPOn89q0DPQ/NHC
-0ofTStQN1M7VjNZK1wjXxNh+2TjZ8tqq22LcGtzS3YreQt7537HgaOEg4djij+NH4//ktuVt5iXm
-3OeV6E/pCunH6ojrTOwU7OLtt+6S73XwX/FR8kzzT/Rb9W32h/en+M35+Psj/FT9iv7E//8AAAAc
-/wBiAMoBZgIoAucDzgTNBfYHNQiUCgULmQ0xDtcQhxIvE9wVfRcVGKQaJxuZHQQeXR+yIP8iRyOF
-JMEl+ycuKF4pjSq4K+AtAy4iLzswTjFdMmQzaDRmNWA2VjdHODY5HzoIOu870zy3PZo+fD9eQD9B
-IUIBQuJDw0SkRYZGaUdNSDBJFkn8SuRLzUy3TaNOkk+AUHBRYVJTU0VUOFUrVh5XEFgDWPZZ51rZ
-W8tcvV2uXqBfkGCBYXJiY2NUZEZlOGYrZyBoFGkKagJq+mv0bO5t6m7mb+Nw4XHfct1z23TZddZ2
-03fPeMx5yHrCe7x8tn2ufqd/n4CWgY2Cg4N6hP9vhWWGXIdTiEmJQYo5izGMKo0ljh+PGpAVkRGS
-DpMLlAiVBZYClv+X/Zj6mfea9JvwnOyd6J7jn9+g2qHUos6jyKTDpb6muae1qLGpr6qtq66sr62y
-rrevvLDDscuy1LPdtOa18Lb4uAG5CboPuxS8GL0avhq/GMAVwRDCCcMBw/bE68Xdxs/Hv8ityZrK
-hctwzFjNQM4mzwvP79DS0bPSk9Ny1FHVL9YN1uvXydin2YXaZdtG3CndDt313t/fzOC84a/ipeOe
-5JrlmOaZ55von+mk6qrrsey57cHuyu/U8N7x6vL39AT1FPYl9zf4Svlg+nf7jvym/cD+3f//AAD/
-ABYATgCiARIBqQJNAvgDxwStBagGuQfeCRcKWAuhDPEOQw+MENYSFhNOFHoVnha4F8oY1hnaGtob
-1hzOHcMeth+oIJchhCJvI1ckPCUdJfsm1CepKHkpRioOKtErkSxOLQctuy5vLyAvzTB5MSUxzDJ0
-MxszwDRlNQo1rjZTNvY3mjg+OOE5hDooOss7bzwSPLU9WD36Pp0/QD/jQIZBKUHNQnFDFkO8RGNF
-C0W0Rl9HCke3SGVJFEnDSnNLJUvWTIlNPE3wTqRPWVAOUMRRe1IyUulToVRaVRJVzFaFVz9X+Viz
-WW1aKFriW51cWF0TXc5eil9GYAJgvmF7Yjli//djtWR1ZTVl92a5Z31oQmkIac9qmGtibC1s+G3F
-bpNvYXAwcP9xz3Kgc3F0QnUVded2uneOeGJ5N3oMeuF7uHyPfWV+PH8Uf+yAxYGdgneDUIQqhQSF
-3oa5h5WIcYlNiiqLCIvmjMSNo46Dj2SQRpEokguS8JPVlLyVo5aMl3aYYJlMmjqbKJwXnQid+57w
-n+eg4aHdotyj36Tkpeym+KgHqRiqLKtDrFutdq6Tr7Gw0rHzsxa0OrVftoe3r7jZugS7MbxfvZC+
-w7/6wTXCdcO8xRDGbsfayV7K9MynznzQcdKM1MzXQNnY3KXfmOKz5ffpZ+zy8Hb0I/f0+/D///8A
-AG5kaW4AAAAAAAAGNgAAlvAAAFjoAABTGAAAil4AACeXAAAWqAAAUA0AAFQ5AAJCjwAB8KMAAWuF
-AAMBAAACAAAAGwAwAEoAZQB+AJcAsADJAOIA+wEUAS0BRgFhAXsBlgGxAc4B6wIJAigCSAJpAowC
-sALWAv0DJgNRA34DrAPdBBAERQR8BLYE8QUuBW0FrgXxBjUGfAbEBw4HWwepB/oITQijCPwJWAm2
-ChgKfgrmC1MLwww2DK0NJw2kDiUOqA8uD7YQQRDPEV4R8BKEExkTsRRLFOcVhBYjFsQXZhgKGK8Z
-VRn8GqUbUBv7HKkdVx4HHrgfayAeINQhiiL/QiL7I7UkcSUtJesmqidqKCwo7ym0KnorQSwKLNQt
-oC5uLz0wDjDhMbUyizNjND01GTX4Ntg3ujifOYc6cDtcPEs9PD4wPyZAH0EaQhhDGEQbRSBGJ0cw
-SDtJSEpXS2dMeE2LTqBPtVDLUeNS+1QUVS5WSldmWIRZolrDW+RdB14sX1JgemGjYs9j/GUqZltn
-jWjBafdrL2xpbaVu43AjcWVyqnPxdTt2h3fWeSd6fHvTfS1+in/rgU+Ct4QihZKHBoh/if2LgI0K
-jpqQMZHPk3SVIJbTmI6aT5wYneifv6Gdo4GlbadhqVurXa1or3mxkbOwtdW4ALovvGK+mMDS/8MO
-xU3Hj8nUzBzOaNC30wjVWNel2ezcKd5Z4HriieSG5nLoTuob69nti+8z8NLyafP59YT3CviT+hb7
-lP0P/ob//wAAABwAMwBQAGsAhwChALwA1gDxAQwBJgFBAV0BeQGWAbMB0QHxAhECMgJVAnkCnwLG
-Au8DGgNHA3cDqAPdBBMETASHBMQFBAVGBYoF0AYZBmQGsAcAB1EHpQf8CFYIswkUCXgJ4QpNCr4L
-MwusDCoMrA0zDb0OSw7dD3IQChClEUMR4xKHEywT1RR/FSsV2RaJFzoX7RigGVUaCxrBG3kcMhzs
-HageZR8kH+UgqCFtIjQi/iPKJJglaCY7J/8PJ+YowCmbKngrVyw3LRkt+y7fL8QwqjGQMnczXzRI
-NTI2HDcJN/Y45TnWOsg7vTy0Pa0+qD+lQKZBqEKtQ7VEvkXLRtpH60j+ShNLK0xETV5Oek+YULZR
-1lL3VBlVO1ZfV4RYqlnRWvlcI11OXntfqWDZYgpjPmRzZatm5GggaV5qnWvfbSNuaW+xcPpyRXOQ
-dN12Knd3eMV6EntffKx9+H9EgJGB3YMqhHiFx4cXiGqJvosVjG6Ny48rkI+R95NjlNOWR5fAmT2a
-vpxEnc6fXKDuooWkIKXAp2SpDaq6rGyuIq/dsZ2zYbUptvS4w7qUvGe+O8AQwePDtcWEx1D/yRfK
-28yazlTQC9G+027VG9bG2HDaGNvB3WnfEeC54mLkDOW151/pCOqx7FruAe+o8U/y9PSY9jv33/mD
-+yb8x/5m//8AAAAjAEIAZwCJAKsAzQDvAREBMwFWAXoBnwHFAewCFgJBAm4CngLQAwYDPgN7A7sD
-/wRGBJIE4QU0BYoF5AZBBqEHBQdsB9cIRwi7CTQJswo4CsQLVwvyDJQNPw3yDqwPbxA5EQsR4xLC
-E6YUkBV/FnMXbBhqGWwacxuAHJEdpx7BH+AhASIlI0skciWbJsQn7ikaKkgrdyyoLdwvETBJMYMy
-vzP9NT42gDfFOQw6VzujPPM+RT+bQPNC/05DrEUMRm5H00k5SqFMCk1zTt1QR1GxUxtUhFXuV1hY
-wlotW5ldBl50X+RhVWLHZDplr2claJ1qFWuPbQpuhnAEcYRzBHSHdgt3kHkXep98KX20f0CAzYJc
-g+uFe4cNiJ+KMovFjViO7JB/khOTppU5lsyYX5nym4SdFp6ooDmhyKNWpOKmbKfzqXeq+Kx2rfGv
-abDeslKzwrUxtp+4C7l2uuC8Sr2yvxvAg8Hqw1LEucYfx4bI7MpRy7bNG85/z+LRQ9Ki0/7VV9ar
-1/rZQdqB27nc6d4M3yfgOuE+4j7jL+Qc5P3l2ear53roPukC6bnqcOsg68vsd+0Y7bnuWP/u8e+K
-8CDwsfFD8dPyXfLo83Pz+PR99QH1hPYE9oX3BfeI+Ar4jfkN+Yn6BvqD+vz7dfvt/Gb82v1O/cL+
-Nv6o/xr/jf//AABkZXNjAAAAAAAAAApDb2xvciBMQ0QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1
-YwAAAAAAAAAFAAAADGVuVVMAAAASAAAATGZyRlIAAAASAAAAXmRlREUAAAAQAAAAcGVzRVMAAAAS
-AAAAgGl0SVQAAAAUAAAAkgBDAG8AbAChbwByACAATABDAEQAyQBjAHIAYQBuACAATABDAEQARgBh
-AHIAYgAtAEwAQwBEAEwAQwBEACAAYwBvAGwAbwByAEwAQwBEACAAYwBvAGwAbwByAGkAAG1tb2QA
-AAAAAAAGEAAAnGEAAAAAwF3/AAAAAAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBs
-ZSwgSW5jLiwgMjAxMAAALAAAAAAcABMAAAWO4CSOZGmeE6CubOu2IoDOp5zS+GgDxmn0ox9K9lBF
-ShKVRBQx1iYJVUMkLAIGPYdUOCpODirFxMpgsB4LFULFEJl3gIMhoCIoWPRXgaCKtQQAgC8qgioF
-O3wAAQZvKwIDdSoQExIFBUkxbw8ihytHP5VAJDsTXJQFP6I0pDk4rK0zr7BPN7NDfoO5L7atIQA7
-}
-image create photo buttonimagemenuarray -data $menuarraydata
-
-set bngdata {
-R0lGODlhEgASAPAAAAAAAP///yH5BAQAAAAAIf8LSUNDUkdCRzEwMTL/ZGluAAAH7AAABj5kZXNj
-AAAOLAAAAGRkc2NtAAAOkAAAAKZtbW9kAAAPOAAAAChjcHJ0AAAPYAAAACRYWVogAAAAAAAAYQoA
-ADhRAAAHWFhZWiAAAAAAAABwSwAAsHMAACKPWFlaIAAAAAAAACWBAAAXVwAAqT5YWVogAAAAAAAA
-81IAAQAAAAEWz3NmMzIAAAAAAAEMQgAABd7///MmAAAHkgAA/ZH///ui///9owAAA9wAAMBsY3Vy
-dgAAAAAAAAABAc0AAGN1cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAAdmNndAAAAAAAAAAA
-AAMBAAACAAAAHQBl/wDSAXwCSgMeBAgFIwZcB7IJJAqzDF0ODg/TEZ4TZRUsFu0YnhpEG98dax7u
-IGMhziMxJIkl3ycxKH0pyCsOLFMtky7QMAkxPzJtM5c0vDXdNvY4DTkdOik7Mzw3PTo+Oj83QDNB
-LkIpQyJEGkUURgxHBEf+SPdJ70roS+FM3E3WTtFPzVDKUchSx1PHVMdVyFbKV8xYz1nTWtdb3Vzi
-Xele8F/4YQBiCWMTZB5lKmY2Z0JoT2lbamhrdmyEbZJun2+tcLpxyHLVc+J073X8dwd4Enkceid7
-MHw3fT9+RX9KgE+BUoJVg1aEV4VXhlaHVIhSiVCKTYtKjEeNQ45Aj/89kDuROJI3kzaUNZU1ljaX
-N5g5mTuaPptCnEWdSZ5Mn1CgVKFYolyjX6RipWamaadsqG+pcap0q3Wsd614rnmvebB5sXiydrN0
-tHG1brZpt2O4XblWuk27Q7w5vS2+H78QwADA7cHZwsPDqsSPxXHGUccvyArI5Mm8ypDLZMw1zQXN
-086fz2rQM9D80cLSh9NK1A3UztWM1krXCNfE2H7ZONny2qrbYtwa3NLdit5C3vnfseBo4SDh2OKP
-40fj/+S25W3mJebc55XoT+kK6cfqiOtM7BTs4u237pLvdfBf8VHyTPNP9Fv1bfaH96f4zfn4+yP8
-VP2K/sT//wAAABz/AGIAygFmAigC5wPOBM0F9gc1CJQKBQuZDTEO1xCHEi8T3BV9FxUYpBonG5kd
-BB5dH7Ig/yJHI4UkwSX7Jy4oXimNKrgr4C0DLiIvOzBOMV0yZDNoNGY1YDZWN0c4NjkfOgg67zvT
-PLc9mj58P15AP0EhQgFC4kPDRKRFhkZpR01IMEkWSfxK5EvNTLdNo06ST4BQcFFhUlNTRVQ4VStW
-HlcQWANY9lnnWtlby1y9Xa5eoF+QYIFhcmJjY1RkRmU4ZitnIGgUaQpqAmr6a/Rs7m3qbuZv43Dh
-cd9y3XPbdNl11nbTd894zHnIesJ7vHy2fa5+p3+fgJaBjYKDg3qE/2+FZYZch1OISYlBijmLMYwq
-jSWOH48akBWREZIOkwuUCJUFlgKW/5f9mPqZ95r0m/Cc7J3onuOf36DaodSizqPIpMOlvqa5p7Wo
-samvqq2rrqyvrbKut6+8sMOxy7LUs9205rXwtvi4AbkJug+7FLwYvRq+Gr8YwBXBEMIJwwHD9sTr
-xd3Gz8e/yK3JmsqFy3DMWM1AzibPC8/v0NLRs9KT03LUUdUv1g3W69fJ2KfZhdpl20bcKd0O3fXe
-39/M4Lzhr+Kl457kmuWY5pnnm+if6aTqquux7Lntwe7K79Tw3vHq8vf0BPUU9iX3N/hK+WD6d/uO
-/Kb9wP7d//8AAP8AFgBOAKIBEgGpAk0C+APHBK0FqAa5B94JFwpYC6EM8Q5DD4wQ1hIWE04UehWe
-FrgXyhjWGdoa2hvWHM4dwx62H6gglyGEIm8jVyQ8JR0l+ybUJ6koeSlGKg4q0SuRLE4tBy27Lm8v
-IC/NMHkxJTHMMnQzGzPANGU1CjWuNlM29jeaOD444TmEOig6yztvPBI8tT1YPfo+nT9AP+NAhkEp
-Qc1CcUMWQ7xEY0ULRbRGX0cKR7dIZUkUScNKc0slS9ZMiU08TfBOpE9ZUA5QxFF7UjJS6VOhVFpV
-ElXMVoVXP1f5WLNZbVooWuJbnVxYXRNdzl6KX0ZgAmC+YXtiOWL/92O1ZHVlNWX3ZrlnfWhCaQhp
-z2qYa2JsLWz4bcVuk29hcDBw/3HPcqBzcXRCdRV153a6d454Ynk3egx64Xu4fI99ZX48fxR/7IDF
-gZ2Cd4NQhCqFBIXehrmHlYhxiU2KKosIi+aMxI2jjoOPZJBGkSiSC5Lwk9WUvJWjloyXdphgmUya
-OpsonBedCJ37nvCf56Dhod2i3KPfpOSl7Kb4qAepGKosq0OsW612rpOvsbDSsfOzFrQ6tV+2h7ev
-uNm6BLsxvF+9kL7Dv/rBNcJ1w7zFEMZux9rJXsr0zKfOfNBx0ozUzNdA2djcpd+Y4rPl9+ln7PLw
-dvQj9/T78P///wAAbmRpbgAAAAAAAAY2AACW8AAAWOgAAFMYAACKXgAAJ5cAABaoAABQDQAAVDkA
-AkKPAAHwowABa4UAAwEAAAIAAAAbADAASgBlAH4AlwCwAMkA4gD7ARQBLQFGAWEBewGWAbEBzgHr
-AgkCKAJIAmkCjAKwAtYC/QMmA1EDfgOsA90EEARFBHwEtgTxBS4FbQWuBfEGNQZ8BsQHDgdbB6kH
-+ghNCKMI/AlYCbYKGAp+CuYLUwvDDDYMrQ0nDaQOJQ6oDy4PthBBEM8RXhHwEoQTGROxFEsU5xWE
-FiMWxBdmGAoYrxlVGfwapRtQG/scqR1XHgceuB9rIB4g1CGKIv9CIvsjtSRxJS0l6yaqJ2ooLCjv
-KbQqeitBLAos1C2gLm4vPTAOMOExtTKLM2M0PTUZNfg22De6OJ85hzpwO1w8Sz08PjA/JkAfQRpC
-GEMYRBtFIEYnRzBIO0lISldLZ0x4TYtOoE+1UMtR41L7VBRVLlZKV2ZYhFmiWsNb5F0HXixfUmB6
-YaNiz2P8ZSpmW2eNaMFp92svbGltpW7jcCNxZXKqc/F1O3aHd9Z5J3p8e9N9LX6Kf+uBT4K3hCKF
-kocGiH+J/YuAjQqOmpAxkc+TdJUgltOYjppPnBid6J+/oZ2jgaVtp2GpW6tdrWivebGRs7C11bgA
-ui+8Yr6YwNL/ww7FTcePydTMHM5o0LfTCNVY16XZ7Nwp3lngeuKJ5IbmcuhO6hvr2e2L7zPw0vJp
-8/n1hPcK+JP6FvuU/Q/+hv//AAAAHAAzAFAAawCHAKEAvADWAPEBDAEmAUEBXQF5AZYBswHRAfEC
-EQIyAlUCeQKfAsYC7wMaA0cDdwOoA90EEwRMBIcExAUEBUYFigXQBhkGZAawBwAHUQelB/wIVgiz
-CRQJeAnhCk0KvgszC6wMKgysDTMNvQ5LDt0PchAKEKURQxHjEocTLBPVFH8VKxXZFokXOhftGKAZ
-VRoLGsEbeRwyHOwdqB5lHyQf5SCoIW0iNCL+I8okmCVoJjsn/w8n5ijAKZsqeCtXLDctGS37Lt8v
-xDCqMZAydzNfNEg1MjYcNwk39jjlOdY6yDu9PLQ9rT6oP6VApkGoQq1DtUS+RctG2kfrSP5KE0sr
-TERNXk56T5hQtlHWUvdUGVU7Vl9XhFiqWdFa+VwjXU5ee1+pYNliCmM+ZHNlq2bkaCBpXmqda99t
-I25pb7Fw+nJFc5B03XYqd3d4xXoSe198rH34f0SAkYHdgyqEeIXHhxeIaom+ixWMbo3LjyuQj5H3
-k2OU05ZHl8CZPZq+nESdzp9coO6ihaQgpcCnZKkNqrqsbK4ir92xnbNhtSm29LjDupS8Z747wBDB
-48O1xYTHUP/JF8rbzJrOVNAL0b7TbtUb1sbYcNoY28Hdad8R4LniYuQM5bXnX+kI6rHsWu4B76jx
-T/L09Jj2O/ff+YP7JvzH/mb//wAAACMAQgBnAIkAqwDNAO8BEQEzAVYBegGfAcUB7AIWAkECbgKe
-AtADBgM+A3sDuwP/BEYEkgThBTQFigXkBkEGoQcFB2wH1whHCLsJNAmzCjgKxAtXC/IMlA0/DfIO
-rA9vEDkRCxHjEsITphSQFX8WcxdsGGoZbBpzG4AckR2nHsEf4CEBIiUjSyRyJZsmxCfuKRoqSCt3
-LKgt3C8RMEkxgzK/M/01PjaAN8U5DDpXO6M88z5FP5tA80L/TkOsRQxGbkfTSTlKoUwKTXNO3VBH
-UbFTG1SEVe5XWFjCWi1bmV0GXnRf5GFVYsdkOmWvZyVonWoVa49tCm6GcARxhHMEdId2C3eQeRd6
-n3wpfbR/QIDNglyD64V7hw2In4oyi8WNWI7skH+SE5OmlTmWzJhfmfKbhJ0WnqigOaHIo1ak4qZs
-p/Opd6r4rHat8a9psN6yUrPCtTG2n7gLuXa64LxKvbK/G8CDwerDUsS5xh/HhsjsylHLts0bzn/P
-4tFD0qLT/tVX1qvX+tlB2oHbudzp3gzfJ+A64T7iPuMv5Bzk/eXZ5qvneug+6QLpuepw6yDry+x3
-7Rjtue5Y/+7x74rwIPCx8UPx0/Jd8ujzc/P49H31AfWE9gT2hfcF94j4CviN+Q35ifoG+oP6/Pt1
-++38Zvza/U79wv42/qj/Gv+N//8AAGRlc2MAAAAAAAAACkNvbG9yIExDRAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAABtbHVjAAAAAAAAAAUAAAAMZW5VUwAAABIAAABMZnJGUgAAABIAAABeZGVERQAAABAA
-AABwZXNFUwAAABIAAACAaXRJVAAAABQAAACSAEMAbwBsAKFvAHIAIABMAEMARADJAGMAcgBhAG4A
-IABMAEMARABGAGEAcgBiAC0ATABDAEQATABDAEQAIABjAG8AbABvAHIATABDAEQAIABjAG8AbABv
-AHIAaQAAbW1vZAAAAAAAAAYQAACcYQAAAADAXf8AAAAAAAAAAAAAAAAAAAAAAHRleHQAAAAAQ29w
-eXJpZ2h0IEFwcGxlLCBJbmMuLCAyMDEwAAAsAAAAABIAEgAAAjOMj4nA7Q8MfE
-setqINWqtueQpH
-ctgonSeatqy7sqqIznTShG8Elt/mia06k9wlVYS8WAUAOw==
-}
-image create photo buttonimagebng -data $bngdata
-
-set floatatomdata {
-R0lGODlhEQARANUAAAAAAAAAkQBPkQoKChMTEy5BgkEAT09PLk+CyE+JzU+f0lxcQXAuLnm97oJB
-cILI7okuXJjc/6WlsatcALdmALd5XL3Ckb3CpcDAwMju/9KRLtLq+9L35eDg4OX7/+7cwvLSn/vS
-kf7//v/lq//uzf//7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAQKAAAAIf/8SUNDUkdCRzEwMTIA
-AA+EYXBwbAIAAABtbnRyUkdCIFhZWiAH2gAJAAEADwATAB9hY3NwQVBQTAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAA5yWFlaAAABLAAAABRnWFlaAAABQAAAABRiWFlaAAABVAAAABR3dHB0
-AAABaAAAABRjaGFkAAABfAAAACxyVFJDAAABqAAAAA5nVFJDAAABuAAAAA5iVFJDAAAByAAAAA52
-Y2d0AAAB2AAABhJu/2RpbgAAB+wAAAY+ZGVzYwAADiwAAABkZHNjbQAADpAAAACmbW1vZAAADzgA
-AAAoY3BydAAAD2AAAAAkWFlaIAAAAAAAAGEKAAA4UQAAB1hYWVogAAAAAAAAcEsAALBzAAAij1hZ
-WiAAAAAAAAAlgQAAF1cAAKk+WFlaIAAAAAAAAPNSAAEAAAABFs9zZjMyAAAAAAABDEIAAAXe///z
-JgAAB5IAAP2R///7ov///aMAAAPcAADAbGN1cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAA
-Y3VydgAAAAAAAAABAc0AAHZjZ3QAAAAAAAAAAAADAQAAAgAAAB0AZf8A0gF8AkoDHgQIBSMGXAey
-CSQKswxdDg4P0xGeE2UVLBbtGJ4aRBvfHWse7iBjIc4jMSSJJd8nMSh9KcgrDixTLZMu0DAJMT8y
-bTOXNLw13Tb2OA05HTopOzM8Nz06Pjo/N0AzQS5CKUMiRBpFFEYMRwRH/kj3Se9K6EvhTNxN1k7R
-T81QylHIUsdTx1THVchWylfMWM9Z01rXW91c4l3pXvBf+GEAYgljE2QeZSpmNmdCaE9pW2poa3Zs
-hG2Sbp9vrXC6cchy1XPidO91/HcHeBJ5HHonezB8N30/fkV/SoBPgVKCVYNWhFeFV4ZWh1SIUolQ
-ik2LSoxHjUOOQI//PZA7kTiSN5M2lDWVNZY2lzeYOZk7mj6bQpxFnUmeTJ9QoFShWKJco1+kYqVm
-pmmnbKhvqXGqdKt1rHeteK55r3mwebF4snazdLRxtW62abdjuF25VrpNu0O8Ob0tvh+/EMAAwO3B
-2cLDw6rEj8VxxlHHL8gKyOTJvMqQy2TMNc0FzdPOn89q0DPQ/NHC0ofTStQN1M7VjNZK1wjXxNh+
-2TjZ8tqq22LcGtzS3YreQt7537HgaOEg4djij+NH4//ktuVt5iXm3OeV6E/pCunH6ojrTOwU7OLt
-t+6S73XwX/FR8kzzT/Rb9W32h/en+M35+Psj/FT9iv7E//8AAAAc/wBiAMoBZgIoAucDzgTNBfYH
-NQiUCgULmQ0xDtcQhxIvE9wVfRcVGKQaJxuZHQQeXR+yIP8iRyOFJMEl+ycuKF4pjSq4K+AtAy4i
-LzswTjFdMmQzaDRmNWA2VjdHODY5HzoIOu870zy3PZo+fD9eQD9BIUIBQuJDw0SkRYZGaUdNSDBJ
-Fkn8SuRLzUy3TaNOkk+AUHBRYVJTU0VUOFUrVh5XEFgDWPZZ51rZW8tcvV2uXqBfkGCBYXJiY2NU
-ZEZlOGYrZyBoFGkKagJq+mv0bO5t6m7mb+Nw4XHfct1z23TZddZ203fPeMx5yHrCe7x8tn2ufqd/
-n4CWgY2Cg4N6hP9vhWWGXIdTiEmJQYo5izGMKo0ljh+PGpAVkRGSDpMLlAiVBZYClv+X/Zj6mfea
-9JvwnOyd6J7jn9+g2qHUos6jyKTDpb6muae1qLGpr6qtq66sr62yrrevvLDDscuy1LPdtOa18Lb4
-uAG5CboPuxS8GL0avhq/GMAVwRDCCcMBw/bE68Xdxs/Hv8ityZrKhctwzFjNQM4mzwvP79DS0bPS
-k9Ny1FHVL9YN1uvXydin2YXaZdtG3CndDt313t/fzOC84a/ipeOe5JrlmOaZ55von+mk6qrrsey5
-7cHuyu/U8N7x6vL39AT1FPYl9zf4Svlg+nf7jvym/cD+3f//AAD/ABYATgCiARIBqQJNAvgDxwSt
-BagGuQfeCRcKWAuhDPEOQw+MENYSFhNOFHoVnha4F8oY1hnaGtob1hzOHcMeth+oIJchhCJvI1ck
-PCUdJfsm1CepKHkpRioOKtErkSxOLQctuy5vLyAvzTB5MSUxzDJ0MxszwDRlNQo1rjZTNvY3mjg+
-OOE5hDooOss7bzwSPLU9WD36Pp0/QD/jQIZBKUHNQnFDFkO8RGNFC0W0Rl9HCke3SGVJFEnDSnNL
-JUvWTIlNPE3wTqRPWVAOUMRRe1IyUulToVRaVRJVzFaFVz9X+VizWW1aKFriW51cWF0TXc5eil9G
-YAJgvmF7Yjli//djtWR1ZTVl92a5Z31oQmkIac9qmGtibC1s+G3FbpNvYXAwcP9xz3Kgc3F0QnUV
-ded2uneOeGJ5N3oMeuF7uHyPfWV+PH8Uf+yAxYGdgneDUIQqhQSF3oa5h5WIcYlNiiqLCIvmjMSN
-o46Dj2SQRpEokguS8JPVlLyVo5aMl3aYYJlMmjqbKJwXnQid+57wn+eg4aHdotyj36Tkpeym+KgH
-qRiqLKtDrFutdq6Tr7Gw0rHzsxa0OrVftoe3r7jZugS7MbxfvZC+w7/6wTXCdcO8xRDGbsfayV7K
-9MynznzQcdKM1MzXQNnY3KXfmOKz5ffpZ+zy8Hb0I/f0+/D///8AAG5kaW4AAAAAAAAGNgAAlvAA
-AFjoAABTGAAAil4AACeXAAAWqAAAUA0AAFQ5AAJCjwAB8KMAAWuFAAMBAAACAAAAGwAwAEoAZQB+
-AJcAsADJAOIA+wEUAS0BRgFhAXsBlgGxAc4B6wIJAigCSAJpAowCsALWAv0DJgNRA34DrAPdBBAE
-RQR8BLYE8QUuBW0FrgXxBjUGfAbEBw4HWwepB/oITQijCPwJWAm2ChgKfgrmC1MLwww2DK0NJw2k
-DiUOqA8uD7YQQRDPEV4R8BKEExkTsRRLFOcVhBYjFsQXZhgKGK8ZVRn8GqUbUBv7HKkdVx4HHrgf
-ayAeINQhiiL/QiL7I7UkcSUtJesmqidqKCwo7ym0KnorQSwKLNQtoC5uLz0wDjDhMbUyizNjND01
-GTX4Ntg3ujifOYc6cDtcPEs9PD4wPyZAH0EaQhhDGEQbRSBGJ0cwSDtJSEpXS2dMeE2LTqBPtVDL
-UeNS+1QUVS5WSldmWIRZolrDW+RdB14sX1JgemGjYs9j/GUqZltnjWjBafdrL2xpbaVu43AjcWVy
-qnPxdTt2h3fWeSd6fHvTfS1+in/rgU+Ct4QihZKHBoh/if2LgI0KjpqQMZHPk3SVIJbTmI6aT5wY
-neifv6Gdo4GlbadhqVurXa1or3mxkbOwtdW4ALovvGK+mMDS/8MOxU3Hj8nUzBzOaNC30wjVWNel
-2ezcKd5Z4HriieSG5nLoTuob69nti+8z8NLyafP59YT3CviT+hb7lP0P/ob//wAAABwAMwBQAGsA
-hwChALwA1gDxAQwBJgFBAV0BeQGWAbMB0QHxAhECMgJVAnkCnwLGAu8DGgNHA3cDqAPdBBMETASH
-BMQFBAVGBYoF0AYZBmQGsAcAB1EHpQf8CFYIswkUCXgJ4QpNCr4LMwusDCoMrA0zDb0OSw7dD3IQ
-ChClEUMR4xKHEywT1RR/FSsV2RaJFzoX7RigGVUaCxrBG3kcMhzsHageZR8kH+UgqCFtIjQi/iPK
-JJglaCY7J/8PJ+YowCmbKngrVyw3LRkt+y7fL8QwqjGQMnczXzRINTI2HDcJN/Y45TnWOsg7vTy0
-Pa0+qD+lQKZBqEKtQ7VEvkXLRtpH60j+ShNLK0xETV5Oek+YULZR1lL3VBlVO1ZfV4RYqlnRWvlc
-I11OXntfqWDZYgpjPmRzZatm5GggaV5qnWvfbSNuaW+xcPpyRXOQdN12Knd3eMV6EntffKx9+H9E
-gJGB3YMqhHiFx4cXiGqJvosVjG6Ny48rkI+R95NjlNOWR5fAmT2avpxEnc6fXKDuooWkIKXAp2Sp
-Daq6rGyuIq/dsZ2zYbUptvS4w7qUvGe+O8AQwePDtcWEx1D/yRfK28yazlTQC9G+027VG9bG2HDa
-GNvB3WnfEeC54mLkDOW151/pCOqx7FruAe+o8U/y9PSY9jv33/mD+yb8x/5m//8AAAAjAEIAZwCJ
-AKsAzQDvAREBMwFWAXoBnwHFAewCFgJBAm4CngLQAwYDPgN7A7sD/wRGBJIE4QU0BYoF5AZBBqEH
-BQdsB9cIRwi7CTQJswo4CsQLVwvyDJQNPw3yDqwPbxA5EQsR4xLCE6YUkBV/FnMXbBhqGWwacxuA
-HJEdpx7BH+AhASIlI0skciWbJsQn7ikaKkgrdyyoLdwvETBJMYMyvzP9NT42gDfFOQw6VzujPPM+
-RT+bQPNC/05DrEUMRm5H00k5SqFMCk1zTt1QR1GxUxtUhFXuV1hYwlotW5ldBl50X+RhVWLHZDpl
-r2claJ1qFWuPbQpuhnAEcYRzBHSHdgt3kHkXep98KX20f0CAzYJcg+uFe4cNiJ+KMovFjViO7JB/
-khOTppU5lsyYX5nym4SdFp6ooDmhyKNWpOKmbKfzqXeq+Kx2rfGvabDeslKzwrUxtp+4C7l2uuC8
-Sr2yvxvAg8Hqw1LEucYfx4bI7MpRy7bNG85/z+LRQ9Ki0/7VV9ar1/rZQdqB27nc6d4M3yfgOuE+
-4j7jL+Qc5P3l2ear53roPukC6bnqcOsg68vsd+0Y7bnuWP/u8e+K8CDwsfFD8dPyXfLo83Pz+PR9
-9QH1hPYE9oX3BfeI+Ar4jfkN+Yn6BvqD+vz7dfvt/Gb82v1O/cL+Nv6o/xr/jf//AABkZXNjAAAA
-AAAAAApDb2xvciBMQ0QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAFAAAADGVuVVMA
-AAASAAAATGZyRlIAAAASAAAAXmRlREUAAAAQAAAAcGVzRVMAAAASAAAAgGl0SVQAAAAUAAAAkgBD
-AG8AbAChbwByACAATABDAEQAyQBjAHIAYQBuACAATABDAEQARgBhAHIAYgAtAEwAQwBEAEwAQwBE
-ACAAYwBvAGwAbwByAEwAQwBEACAAYwBvAGwAbwByAGkAAG1tb2QAAAAAAAAGEAAAnGEAAAAAwF3/
-AAAAAAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAxMAAALAAA
-AAARABEAAAZcQJFwSCwaj0iAcqkcdI4AIwBDwEiZSxHVSoyKPpINcdsVgQoXQ4bYGZQnkRFAUfQK
-ASUIx2FB1MsVBw0hCX9DURoBIhQPhnciJAwLAh6OIlhZh12YmEien6ChQ0EAOw==
-}
-image create photo buttonimagefloatatom -data $floatatomdata
-
-set hradiodata {
-R0lGODlhEwASAPABAP///wAAACH5BAQAAAAAIf8LSUNDUkdCRzEwMTL/ZGluAAAH7AAABj5kZXNj
-AAAOLAAAAGRkc2NtAAAOkAAAAKZtbW9kAAAPOAAAAChjcHJ0AAAPYAAAACRYWVogAAAAAAAAYQoA
-ADhRAAAHWFhZWiAAAAAAAABwSwAAsHMAACKPWFlaIAAAAAAAACWBAAAXVwAAqT5YWVogAAAAAAAA
-81IAAQAAAAEWz3NmMzIAAAAAAAEMQgAABd7///MmAAAHkgAA/ZH///ui///9owAAA9wAAMBsY3Vy
-dgAAAAAAAAABAc0AAGN1cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAAdmNndAAAAAAAAAAA
-AAMBAAACAAAAHQBl/wDSAXwCSgMeBAgFIwZcB7IJJAqzDF0ODg/TEZ4TZRUsFu0YnhpEG98dax7u
-IGMhziMxJIkl3ycxKH0pyCsOLFMtky7QMAkxPzJtM5c0vDXdNvY4DTkdOik7Mzw3PTo+Oj83QDNB
-LkIpQyJEGkUURgxHBEf+SPdJ70roS+FM3E3WTtFPzVDKUchSx1PHVMdVyFbKV8xYz1nTWtdb3Vzi
-Xele8F/4YQBiCWMTZB5lKmY2Z0JoT2lbamhrdmyEbZJun2+tcLpxyHLVc+J073X8dwd4Enkceid7
-MHw3fT9+RX9KgE+BUoJVg1aEV4VXhlaHVIhSiVCKTYtKjEeNQ45Aj/89kDuROJI3kzaUNZU1ljaX
-N5g5mTuaPptCnEWdSZ5Mn1CgVKFYolyjX6RipWamaadsqG+pcap0q3Wsd614rnmvebB5sXiydrN0
-tHG1brZpt2O4XblWuk27Q7w5vS2+H78QwADA7cHZwsPDqsSPxXHGUccvyArI5Mm8ypDLZMw1zQXN
-086fz2rQM9D80cLSh9NK1A3UztWM1krXCNfE2H7ZONny2qrbYtwa3NLdit5C3vnfseBo4SDh2OKP
-40fj/+S25W3mJebc55XoT+kK6cfqiOtM7BTs4u237pLvdfBf8VHyTPNP9Fv1bfaH96f4zfn4+yP8
-VP2K/sT//wAAABz/AGIAygFmAigC5wPOBM0F9gc1CJQKBQuZDTEO1xCHEi8T3BV9FxUYpBonG5kd
-BB5dH7Ig/yJHI4UkwSX7Jy4oXimNKrgr4C0DLiIvOzBOMV0yZDNoNGY1YDZWN0c4NjkfOgg67zvT
-PLc9mj58P15AP0EhQgFC4kPDRKRFhkZpR01IMEkWSfxK5EvNTLdNo06ST4BQcFFhUlNTRVQ4VStW
-HlcQWANY9lnnWtlby1y9Xa5eoF+QYIFhcmJjY1RkRmU4ZitnIGgUaQpqAmr6a/Rs7m3qbuZv43Dh
-cd9y3XPbdNl11nbTd894zHnIesJ7vHy2fa5+p3+fgJaBjYKDg3qE/2+FZYZch1OISYlBijmLMYwq
-jSWOH48akBWREZIOkwuUCJUFlgKW/5f9mPqZ95r0m/Cc7J3onuOf36DaodSizqPIpMOlvqa5p7Wo
-samvqq2rrqyvrbKut6+8sMOxy7LUs9205rXwtvi4AbkJug+7FLwYvRq+Gr8YwBXBEMIJwwHD9sTr
-xd3Gz8e/yK3JmsqFy3DMWM1AzibPC8/v0NLRs9KT03LUUdUv1g3W69fJ2KfZhdpl20bcKd0O3fXe
-39/M4Lzhr+Kl457kmuWY5pnnm+if6aTqquux7Lntwe7K79Tw3vHq8vf0BPUU9iX3N/hK+WD6d/uO
-/Kb9wP7d//8AAP8AFgBOAKIBEgGpAk0C+APHBK0FqAa5B94JFwpYC6EM8Q5DD4wQ1hIWE04UehWe
-FrgXyhjWGdoa2hvWHM4dwx62H6gglyGEIm8jVyQ8JR0l+ybUJ6koeSlGKg4q0SuRLE4tBy27Lm8v
-IC/NMHkxJTHMMnQzGzPANGU1CjWuNlM29jeaOD444TmEOig6yztvPBI8tT1YPfo+nT9AP+NAhkEp
-Qc1CcUMWQ7xEY0ULRbRGX0cKR7dIZUkUScNKc0slS9ZMiU08TfBOpE9ZUA5QxFF7UjJS6VOhVFpV
-ElXMVoVXP1f5WLNZbVooWuJbnVxYXRNdzl6KX0ZgAmC+YXtiOWL/92O1ZHVlNWX3ZrlnfWhCaQhp
-z2qYa2JsLWz4bcVuk29hcDBw/3HPcqBzcXRCdRV153a6d454Ynk3egx64Xu4fI99ZX48fxR/7IDF
-gZ2Cd4NQhCqFBIXehrmHlYhxiU2KKosIi+aMxI2jjoOPZJBGkSiSC5Lwk9WUvJWjloyXdphgmUya
-OpsonBedCJ37nvCf56Dhod2i3KPfpOSl7Kb4qAepGKosq0OsW612rpOvsbDSsfOzFrQ6tV+2h7ev
-uNm6BLsxvF+9kL7Dv/rBNcJ1w7zFEMZux9rJXsr0zKfOfNBx0ozUzNdA2djcpd+Y4rPl9+ln7PLw
-dvQj9/T78P///wAAbmRpbgAAAAAAAAY2AACW8AAAWOgAAFMYAACKXgAAJ5cAABaoAABQDQAAVDkA
-AkKPAAHwowABa4UAAwEAAAIAAAAbADAASgBlAH4AlwCwAMkA4gD7ARQBLQFGAWEBewGWAbEBzgHr
-AgkCKAJIAmkCjAKwAtYC/QMmA1EDfgOsA90EEARFBHwEtgTxBS4FbQWuBfEGNQZ8BsQHDgdbB6kH
-+ghNCKMI/AlYCbYKGAp+CuYLUwvDDDYMrQ0nDaQOJQ6oDy4PthBBEM8RXhHwEoQTGROxFEsU5xWE
-FiMWxBdmGAoYrxlVGfwapRtQG/scqR1XHgceuB9rIB4g1CGKIv9CIvsjtSRxJS0l6yaqJ2ooLCjv
-KbQqeitBLAos1C2gLm4vPTAOMOExtTKLM2M0PTUZNfg22De6OJ85hzpwO1w8Sz08PjA/JkAfQRpC
-GEMYRBtFIEYnRzBIO0lISldLZ0x4TYtOoE+1UMtR41L7VBRVLlZKV2ZYhFmiWsNb5F0HXixfUmB6
-YaNiz2P8ZSpmW2eNaMFp92svbGltpW7jcCNxZXKqc/F1O3aHd9Z5J3p8e9N9LX6Kf+uBT4K3hCKF
-kocGiH+J/YuAjQqOmpAxkc+TdJUgltOYjppPnBid6J+/oZ2jgaVtp2GpW6tdrWivebGRs7C11bgA
-ui+8Yr6YwNL/ww7FTcePydTMHM5o0LfTCNVY16XZ7Nwp3lngeuKJ5IbmcuhO6hvr2e2L7zPw0vJp
-8/n1hPcK+JP6FvuU/Q/+hv//AAAAHAAzAFAAawCHAKEAvADWAPEBDAEmAUEBXQF5AZYBswHRAfEC
-EQIyAlUCeQKfAsYC7wMaA0cDdwOoA90EEwRMBIcExAUEBUYFigXQBhkGZAawBwAHUQelB/wIVgiz
-CRQJeAnhCk0KvgszC6wMKgysDTMNvQ5LDt0PchAKEKURQxHjEocTLBPVFH8VKxXZFokXOhftGKAZ
-VRoLGsEbeRwyHOwdqB5lHyQf5SCoIW0iNCL+I8okmCVoJjsn/w8n5ijAKZsqeCtXLDctGS37Lt8v
-xDCqMZAydzNfNEg1MjYcNwk39jjlOdY6yDu9PLQ9rT6oP6VApkGoQq1DtUS+RctG2kfrSP5KE0sr
-TERNXk56T5hQtlHWUvdUGVU7Vl9XhFiqWdFa+VwjXU5ee1+pYNliCmM+ZHNlq2bkaCBpXmqda99t
-I25pb7Fw+nJFc5B03XYqd3d4xXoSe198rH34f0SAkYHdgyqEeIXHhxeIaom+ixWMbo3LjyuQj5H3
-k2OU05ZHl8CZPZq+nESdzp9coO6ihaQgpcCnZKkNqrqsbK4ir92xnbNhtSm29LjDupS8Z747wBDB
-48O1xYTHUP/JF8rbzJrOVNAL0b7TbtUb1sbYcNoY28Hdad8R4LniYuQM5bXnX+kI6rHsWu4B76jx
-T/L09Jj2O/ff+YP7JvzH/mb//wAAACMAQgBnAIkAqwDNAO8BEQEzAVYBegGfAcUB7AIWAkECbgKe
-AtADBgM+A3sDuwP/BEYEkgThBTQFigXkBkEGoQcFB2wH1whHCLsJNAmzCjgKxAtXC/IMlA0/DfIO
-rA9vEDkRCxHjEsITphSQFX8WcxdsGGoZbBpzG4AckR2nHsEf4CEBIiUjSyRyJZsmxCfuKRoqSCt3
-LKgt3C8RMEkxgzK/M/01PjaAN8U5DDpXO6M88z5FP5tA80L/TkOsRQxGbkfTSTlKoUwKTXNO3VBH
-UbFTG1SEVe5XWFjCWi1bmV0GXnRf5GFVYsdkOmWvZyVonWoVa49tCm6GcARxhHMEdId2C3eQeRd6
-n3wpfbR/QIDNglyD64V7hw2In4oyi8WNWI7skH+SE5OmlTmWzJhfmfKbhJ0WnqigOaHIo1ak4qZs
-p/Opd6r4rHat8a9psN6yUrPCtTG2n7gLuXa64LxKvbK/G8CDwerDUsS5xh/HhsjsylHLts0bzn/P
-4tFD0qLT/tVX1qvX+tlB2oHbudzp3gzfJ+A64T7iPuMv5Bzk/eXZ5qvneug+6QLpuepw6yDry+x3
-7Rjtue5Y/+7x74rwIPCx8UPx0/Jd8ujzc/P49H31AfWE9gT2hfcF94j4CviN+Q35ifoG+oP6/Pt1
-++38Zvza/U79wv42/qj/Gv+N//8AAGRlc2MAAAAAAAAACkNvbG9yIExDRAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAABtbHVjAAAAAAAAAAUAAAAMZW5VUwAAABIAAABMZnJGUgAAABIAAABeZGVERQAAABAA
-AABwZXNFUwAAABIAAACAaXRJVAAAABQAAACSAEMAbwBsAKFvAHIAIABMAEMARADJAGMAcgBhAG4A
-IABMAEMARABGAGEAcgBiAC0ATABDAEQATABDAEQAIABjAG8AbABvAHIATABDAEQAIABjAG8AbABv
-AHIAaQAAbW1vZAAAAAAAAAYQAACcYQAAAADAXf8AAAAAAAAAAAAAAAAAAAAAAHRleHQAAAAAQ29w
-eXJpZ2h0IEFwcGxlLCBJbmMuLCAyMDEwAAAsAAAAABMAEgAAAieEj6nL7Q9jCrTaSw2uK2hwgd0X
-eorplaOonqQluuBmThpNS/rO6wUAOw==
-}
-image create photo buttonimagehradio -data $hradiodata
-
-set hsliderdata {
-R0lGODlhFwATAPAAAAAAAP///yH5BAQAAAAAIf8LSUNDUkdCRzEwMTL/ZGluAAAH7AAABj5kZXNj
-AAAOLAAAAGRkc2NtAAAOkAAAAKZtbW9kAAAPOAAAAChjcHJ0AAAPYAAAACRYWVogAAAAAAAAYQoA
-ADhRAAAHWFhZWiAAAAAAAABwSwAAsHMAACKPWFlaIAAAAAAAACWBAAAXVwAAqT5YWVogAAAAAAAA
-81IAAQAAAAEWz3NmMzIAAAAAAAEMQgAABd7///MmAAAHkgAA/ZH///ui///9owAAA9wAAMBsY3Vy
-dgAAAAAAAAABAc0AAGN1cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAAdmNndAAAAAAAAAAA
-AAMBAAACAAAAHQBl/wDSAXwCSgMeBAgFIwZcB7IJJAqzDF0ODg/TEZ4TZRUsFu0YnhpEG98dax7u
-IGMhziMxJIkl3ycxKH0pyCsOLFMtky7QMAkxPzJtM5c0vDXdNvY4DTkdOik7Mzw3PTo+Oj83QDNB
-LkIpQyJEGkUURgxHBEf+SPdJ70roS+FM3E3WTtFPzVDKUchSx1PHVMdVyFbKV8xYz1nTWtdb3Vzi
-Xele8F/4YQBiCWMTZB5lKmY2Z0JoT2lbamhrdmyEbZJun2+tcLpxyHLVc+J073X8dwd4Enkceid7
-MHw3fT9+RX9KgE+BUoJVg1aEV4VXhlaHVIhSiVCKTYtKjEeNQ45Aj/89kDuROJI3kzaUNZU1ljaX
-N5g5mTuaPptCnEWdSZ5Mn1CgVKFYolyjX6RipWamaadsqG+pcap0q3Wsd614rnmvebB5sXiydrN0
-tHG1brZpt2O4XblWuk27Q7w5vS2+H78QwADA7cHZwsPDqsSPxXHGUccvyArI5Mm8ypDLZMw1zQXN
-086fz2rQM9D80cLSh9NK1A3UztWM1krXCNfE2H7ZONny2qrbYtwa3NLdit5C3vnfseBo4SDh2OKP
-40fj/+S25W3mJebc55XoT+kK6cfqiOtM7BTs4u237pLvdfBf8VHyTPNP9Fv1bfaH96f4zfn4+yP8
-VP2K/sT//wAAABz/AGIAygFmAigC5wPOBM0F9gc1CJQKBQuZDTEO1xCHEi8T3BV9FxUYpBonG5kd
-BB5dH7Ig/yJHI4UkwSX7Jy4oXimNKrgr4C0DLiIvOzBOMV0yZDNoNGY1YDZWN0c4NjkfOgg67zvT
-PLc9mj58P15AP0EhQgFC4kPDRKRFhkZpR01IMEkWSfxK5EvNTLdNo06ST4BQcFFhUlNTRVQ4VStW
-HlcQWANY9lnnWtlby1y9Xa5eoF+QYIFhcmJjY1RkRmU4ZitnIGgUaQpqAmr6a/Rs7m3qbuZv43Dh
-cd9y3XPbdNl11nbTd894zHnIesJ7vHy2fa5+p3+fgJaBjYKDg3qE/2+FZYZch1OISYlBijmLMYwq
-jSWOH48akBWREZIOkwuUCJUFlgKW/5f9mPqZ95r0m/Cc7J3onuOf36DaodSizqPIpMOlvqa5p7Wo
-samvqq2rrqyvrbKut6+8sMOxy7LUs9205rXwtvi4AbkJug+7FLwYvRq+Gr8YwBXBEMIJwwHD9sTr
-xd3Gz8e/yK3JmsqFy3DMWM1AzibPC8/v0NLRs9KT03LUUdUv1g3W69fJ2KfZhdpl20bcKd0O3fXe
-39/M4Lzhr+Kl457kmuWY5pnnm+if6aTqquux7Lntwe7K79Tw3vHq8vf0BPUU9iX3N/hK+WD6d/uO
-/Kb9wP7d//8AAP8AFgBOAKIBEgGpAk0C+APHBK0FqAa5B94JFwpYC6EM8Q5DD4wQ1hIWE04UehWe
-FrgXyhjWGdoa2hvWHM4dwx62H6gglyGEIm8jVyQ8JR0l+ybUJ6koeSlGKg4q0SuRLE4tBy27Lm8v
-IC/NMHkxJTHMMnQzGzPANGU1CjWuNlM29jeaOD444TmEOig6yztvPBI8tT1YPfo+nT9AP+NAhkEp
-Qc1CcUMWQ7xEY0ULRbRGX0cKR7dIZUkUScNKc0slS9ZMiU08TfBOpE9ZUA5QxFF7UjJS6VOhVFpV
-ElXMVoVXP1f5WLNZbVooWuJbnVxYXRNdzl6KX0ZgAmC+YXtiOWL/92O1ZHVlNWX3ZrlnfWhCaQhp
-z2qYa2JsLWz4bcVuk29hcDBw/3HPcqBzcXRCdRV153a6d454Ynk3egx64Xu4fI99ZX48fxR/7IDF
-gZ2Cd4NQhCqFBIXehrmHlYhxiU2KKosIi+aMxI2jjoOPZJBGkSiSC5Lwk9WUvJWjloyXdphgmUya
-OpsonBedCJ37nvCf56Dhod2i3KPfpOSl7Kb4qAepGKosq0OsW612rpOvsbDSsfOzFrQ6tV+2h7ev
-uNm6BLsxvF+9kL7Dv/rBNcJ1w7zFEMZux9rJXsr0zKfOfNBx0ozUzNdA2djcpd+Y4rPl9+ln7PLw
-dvQj9/T78P///wAAbmRpbgAAAAAAAAY2AACW8AAAWOgAAFMYAACKXgAAJ5cAABaoAABQDQAAVDkA
-AkKPAAHwowABa4UAAwEAAAIAAAAbADAASgBlAH4AlwCwAMkA4gD7ARQBLQFGAWEBewGWAbEBzgHr
-AgkCKAJIAmkCjAKwAtYC/QMmA1EDfgOsA90EEARFBHwEtgTxBS4FbQWuBfEGNQZ8BsQHDgdbB6kH
-+ghNCKMI/AlYCbYKGAp+CuYLUwvDDDYMrQ0nDaQOJQ6oDy4PthBBEM8RXhHwEoQTGROxFEsU5xWE
-FiMWxBdmGAoYrxlVGfwapRtQG/scqR1XHgceuB9rIB4g1CGKIv9CIvsjtSRxJS0l6yaqJ2ooLCjv
-KbQqeitBLAos1C2gLm4vPTAOMOExtTKLM2M0PTUZNfg22De6OJ85hzpwO1w8Sz08PjA/JkAfQRpC
-GEMYRBtFIEYnRzBIO0lISldLZ0x4TYtOoE+1UMtR41L7VBRVLlZKV2ZYhFmiWsNb5F0HXixfUmB6
-YaNiz2P8ZSpmW2eNaMFp92svbGltpW7jcCNxZXKqc/F1O3aHd9Z5J3p8e9N9LX6Kf+uBT4K3hCKF
-kocGiH+J/YuAjQqOmpAxkc+TdJUgltOYjppPnBid6J+/oZ2jgaVtp2GpW6tdrWivebGRs7C11bgA
-ui+8Yr6YwNL/ww7FTcePydTMHM5o0LfTCNVY16XZ7Nwp3lngeuKJ5IbmcuhO6hvr2e2L7zPw0vJp
-8/n1hPcK+JP6FvuU/Q/+hv//AAAAHAAzAFAAawCHAKEAvADWAPEBDAEmAUEBXQF5AZYBswHRAfEC
-EQIyAlUCeQKfAsYC7wMaA0cDdwOoA90EEwRMBIcExAUEBUYFigXQBhkGZAawBwAHUQelB/wIVgiz
-CRQJeAnhCk0KvgszC6wMKgysDTMNvQ5LDt0PchAKEKURQxHjEocTLBPVFH8VKxXZFokXOhftGKAZ
-VRoLGsEbeRwyHOwdqB5lHyQf5SCoIW0iNCL+I8okmCVoJjsn/w8n5ijAKZsqeCtXLDctGS37Lt8v
-xDCqMZAydzNfNEg1MjYcNwk39jjlOdY6yDu9PLQ9rT6oP6VApkGoQq1DtUS+RctG2kfrSP5KE0sr
-TERNXk56T5hQtlHWUvdUGVU7Vl9XhFiqWdFa+VwjXU5ee1+pYNliCmM+ZHNlq2bkaCBpXmqda99t
-I25pb7Fw+nJFc5B03XYqd3d4xXoSe198rH34f0SAkYHdgyqEeIXHhxeIaom+ixWMbo3LjyuQj5H3
-k2OU05ZHl8CZPZq+nESdzp9coO6ihaQgpcCnZKkNqrqsbK4ir92xnbNhtSm29LjDupS8Z747wBDB
-48O1xYTHUP/JF8rbzJrOVNAL0b7TbtUb1sbYcNoY28Hdad8R4LniYuQM5bXnX+kI6rHsWu4B76jx
-T/L09Jj2O/ff+YP7JvzH/mb//wAAACMAQgBnAIkAqwDNAO8BEQEzAVYBegGfAcUB7AIWAkECbgKe
-AtADBgM+A3sDuwP/BEYEkgThBTQFigXkBkEGoQcFB2wH1whHCLsJNAmzCjgKxAtXC/IMlA0/DfIO
-rA9vEDkRCxHjEsITphSQFX8WcxdsGGoZbBpzG4AckR2nHsEf4CEBIiUjSyRyJZsmxCfuKRoqSCt3
-LKgt3C8RMEkxgzK/M/01PjaAN8U5DDpXO6M88z5FP5tA80L/TkOsRQxGbkfTSTlKoUwKTXNO3VBH
-UbFTG1SEVe5XWFjCWi1bmV0GXnRf5GFVYsdkOmWvZyVonWoVa49tCm6GcARxhHMEdId2C3eQeRd6
-n3wpfbR/QIDNglyD64V7hw2In4oyi8WNWI7skH+SE5OmlTmWzJhfmfKbhJ0WnqigOaHIo1ak4qZs
-p/Opd6r4rHat8a9psN6yUrPCtTG2n7gLuXa64LxKvbK/G8CDwerDUsS5xh/HhsjsylHLts0bzn/P
-4tFD0qLT/tVX1qvX+tlB2oHbudzp3gzfJ+A64T7iPuMv5Bzk/eXZ5qvneug+6QLpuepw6yDry+x3
-7Rjtue5Y/+7x74rwIPCx8UPx0/Jd8ujzc/P49H31AfWE9gT2hfcF94j4CviN+Q35ifoG+oP6/Pt1
-++38Zvza/U79wv42/qj/Gv+N//8AAGRlc2MAAAAAAAAACkNvbG9yIExDRAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAABtbHVjAAAAAAAAAAUAAAAMZW5VUwAAABIAAABMZnJGUgAAABIAAABeZGVERQAAABAA
-AABwZXNFUwAAABIAAACAaXRJVAAAABQAAACSAEMAbwBsAKFvAHIAIABMAEMARADJAGMAcgBhAG4A
-IABMAEMARABGAGEAcgBiAC0ATABDAEQATABDAEQAIABjAG8AbABvAHIATABDAEQAIABjAG8AbABv
-AHIAaQAAbW1vZAAAAAAAAAYQAACcYQAAAADAXf8AAAAAAAAAAAAAAAAAAAAAAHRleHQAAAAAQ29w
-eXJpZ2h0IEFwcGxlLCBJbmMuLCAyMDEwAAAsAAAAABcAEwAAAjOMj6nL7Q+jAbTaiycGqCYegI3X
-TQ95gCKDmuFJfe4Yl6/T3uuSq1tXS2k2RIvkiEwqIwUAOw==
-}
-image create photo buttonimagehslider -data $hsliderdata
-
-set msgdata {
-R0lGODlhGgARAPAAAAAAAP///yH5BAQAAAAAIf8LSUNDUkdCRzEwMTL/ZGluAAAH7AAABj5kZXNj
-AAAOLAAAAGRkc2NtAAAOkAAAAKZtbW9kAAAPOAAAAChjcHJ0AAAPYAAAACRYWVogAAAAAAAAYQoA
-ADhRAAAHWFhZWiAAAAAAAABwSwAAsHMAACKPWFlaIAAAAAAAACWBAAAXVwAAqT5YWVogAAAAAAAA
-81IAAQAAAAEWz3NmMzIAAAAAAAEMQgAABd7///MmAAAHkgAA/ZH///ui///9owAAA9wAAMBsY3Vy
-dgAAAAAAAAABAc0AAGN1cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAAdmNndAAAAAAAAAAA
-AAMBAAACAAAAHQBl/wDSAXwCSgMeBAgFIwZcB7IJJAqzDF0ODg/TEZ4TZRUsFu0YnhpEG98dax7u
-IGMhziMxJIkl3ycxKH0pyCsOLFMtky7QMAkxPzJtM5c0vDXdNvY4DTkdOik7Mzw3PTo+Oj83QDNB
-LkIpQyJEGkUURgxHBEf+SPdJ70roS+FM3E3WTtFPzVDKUchSx1PHVMdVyFbKV8xYz1nTWtdb3Vzi
-Xele8F/4YQBiCWMTZB5lKmY2Z0JoT2lbamhrdmyEbZJun2+tcLpxyHLVc+J073X8dwd4Enkceid7
-MHw3fT9+RX9KgE+BUoJVg1aEV4VXhlaHVIhSiVCKTYtKjEeNQ45Aj/89kDuROJI3kzaUNZU1ljaX
-N5g5mTuaPptCnEWdSZ5Mn1CgVKFYolyjX6RipWamaadsqG+pcap0q3Wsd614rnmvebB5sXiydrN0
-tHG1brZpt2O4XblWuk27Q7w5vS2+H78QwADA7cHZwsPDqsSPxXHGUccvyArI5Mm8ypDLZMw1zQXN
-086fz2rQM9D80cLSh9NK1A3UztWM1krXCNfE2H7ZONny2qrbYtwa3NLdit5C3vnfseBo4SDh2OKP
-40fj/+S25W3mJebc55XoT+kK6cfqiOtM7BTs4u237pLvdfBf8VHyTPNP9Fv1bfaH96f4zfn4+yP8
-VP2K/sT//wAAABz/AGIAygFmAigC5wPOBM0F9gc1CJQKBQuZDTEO1xCHEi8T3BV9FxUYpBonG5kd
-BB5dH7Ig/yJHI4UkwSX7Jy4oXimNKrgr4C0DLiIvOzBOMV0yZDNoNGY1YDZWN0c4NjkfOgg67zvT
-PLc9mj58P15AP0EhQgFC4kPDRKRFhkZpR01IMEkWSfxK5EvNTLdNo06ST4BQcFFhUlNTRVQ4VStW
-HlcQWANY9lnnWtlby1y9Xa5eoF+QYIFhcmJjY1RkRmU4ZitnIGgUaQpqAmr6a/Rs7m3qbuZv43Dh
-cd9y3XPbdNl11nbTd894zHnIesJ7vHy2fa5+p3+fgJaBjYKDg3qE/2+FZYZch1OISYlBijmLMYwq
-jSWOH48akBWREZIOkwuUCJUFlgKW/5f9mPqZ95r0m/Cc7J3onuOf36DaodSizqPIpMOlvqa5p7Wo
-samvqq2rrqyvrbKut6+8sMOxy7LUs9205rXwtvi4AbkJug+7FLwYvRq+Gr8YwBXBEMIJwwHD9sTr
-xd3Gz8e/yK3JmsqFy3DMWM1AzibPC8/v0NLRs9KT03LUUdUv1g3W69fJ2KfZhdpl20bcKd0O3fXe
-39/M4Lzhr+Kl457kmuWY5pnnm+if6aTqquux7Lntwe7K79Tw3vHq8vf0BPUU9iX3N/hK+WD6d/uO
-/Kb9wP7d//8AAP8AFgBOAKIBEgGpAk0C+APHBK0FqAa5B94JFwpYC6EM8Q5DD4wQ1hIWE04UehWe
-FrgXyhjWGdoa2hvWHM4dwx62H6gglyGEIm8jVyQ8JR0l+ybUJ6koeSlGKg4q0SuRLE4tBy27Lm8v
-IC/NMHkxJTHMMnQzGzPANGU1CjWuNlM29jeaOD444TmEOig6yztvPBI8tT1YPfo+nT9AP+NAhkEp
-Qc1CcUMWQ7xEY0ULRbRGX0cKR7dIZUkUScNKc0slS9ZMiU08TfBOpE9ZUA5QxFF7UjJS6VOhVFpV
-ElXMVoVXP1f5WLNZbVooWuJbnVxYXRNdzl6KX0ZgAmC+YXtiOWL/92O1ZHVlNWX3ZrlnfWhCaQhp
-z2qYa2JsLWz4bcVuk29hcDBw/3HPcqBzcXRCdRV153a6d454Ynk3egx64Xu4fI99ZX48fxR/7IDF
-gZ2Cd4NQhCqFBIXehrmHlYhxiU2KKosIi+aMxI2jjoOPZJBGkSiSC5Lwk9WUvJWjloyXdphgmUya
-OpsonBedCJ37nvCf56Dhod2i3KPfpOSl7Kb4qAepGKosq0OsW612rpOvsbDSsfOzFrQ6tV+2h7ev
-uNm6BLsxvF+9kL7Dv/rBNcJ1w7zFEMZux9rJXsr0zKfOfNBx0ozUzNdA2djcpd+Y4rPl9+ln7PLw
-dvQj9/T78P///wAAbmRpbgAAAAAAAAY2AACW8AAAWOgAAFMYAACKXgAAJ5cAABaoAABQDQAAVDkA
-AkKPAAHwowABa4UAAwEAAAIAAAAbADAASgBlAH4AlwCwAMkA4gD7ARQBLQFGAWEBewGWAbEBzgHr
-AgkCKAJIAmkCjAKwAtYC/QMmA1EDfgOsA90EEARFBHwEtgTxBS4FbQWuBfEGNQZ8BsQHDgdbB6kH
-+ghNCKMI/AlYCbYKGAp+CuYLUwvDDDYMrQ0nDaQOJQ6oDy4PthBBEM8RXhHwEoQTGROxFEsU5xWE
-FiMWxBdmGAoYrxlVGfwapRtQG/scqR1XHgceuB9rIB4g1CGKIv9CIvsjtSRxJS0l6yaqJ2ooLCjv
-KbQqeitBLAos1C2gLm4vPTAOMOExtTKLM2M0PTUZNfg22De6OJ85hzpwO1w8Sz08PjA/JkAfQRpC
-GEMYRBtFIEYnRzBIO0lISldLZ0x4TYtOoE+1UMtR41L7VBRVLlZKV2ZYhFmiWsNb5F0HXixfUmB6
-YaNiz2P8ZSpmW2eNaMFp92svbGltpW7jcCNxZXKqc/F1O3aHd9Z5J3p8e9N9LX6Kf+uBT4K3hCKF
-kocGiH+J/YuAjQqOmpAxkc+TdJUgltOYjppPnBid6J+/oZ2jgaVtp2GpW6tdrWivebGRs7C11bgA
-ui+8Yr6YwNL/ww7FTcePydTMHM5o0LfTCNVY16XZ7Nwp3lngeuKJ5IbmcuhO6hvr2e2L7zPw0vJp
-8/n1hPcK+JP6FvuU/Q/+hv//AAAAHAAzAFAAawCHAKEAvADWAPEBDAEmAUEBXQF5AZYBswHRAfEC
-EQIyAlUCeQKfAsYC7wMaA0cDdwOoA90EEwRMBIcExAUEBUYFigXQBhkGZAawBwAHUQelB/wIVgiz
-CRQJeAnhCk0KvgszC6wMKgysDTMNvQ5LDt0PchAKEKURQxHjEocTLBPVFH8VKxXZFokXOhftGKAZ
-VRoLGsEbeRwyHOwdqB5lHyQf5SCoIW0iNCL+I8okmCVoJjsn/w8n5ijAKZsqeCtXLDctGS37Lt8v
-xDCqMZAydzNfNEg1MjYcNwk39jjlOdY6yDu9PLQ9rT6oP6VApkGoQq1DtUS+RctG2kfrSP5KE0sr
-TERNXk56T5hQtlHWUvdUGVU7Vl9XhFiqWdFa+VwjXU5ee1+pYNliCmM+ZHNlq2bkaCBpXmqda99t
-I25pb7Fw+nJFc5B03XYqd3d4xXoSe198rH34f0SAkYHdgyqEeIXHhxeIaom+ixWMbo3LjyuQj5H3
-k2OU05ZHl8CZPZq+nESdzp9coO6ihaQgpcCnZKkNqrqsbK4ir92xnbNhtSm29LjDupS8Z747wBDB
-48O1xYTHUP/JF8rbzJrOVNAL0b7TbtUb1sbYcNoY28Hdad8R4LniYuQM5bXnX+kI6rHsWu4B76jx
-T/L09Jj2O/ff+YP7JvzH/mb//wAAACMAQgBnAIkAqwDNAO8BEQEzAVYBegGfAcUB7AIWAkECbgKe
-AtADBgM+A3sDuwP/BEYEkgThBTQFigXkBkEGoQcFB2wH1whHCLsJNAmzCjgKxAtXC/IMlA0/DfIO
-rA9vEDkRCxHjEsITphSQFX8WcxdsGGoZbBpzG4AckR2nHsEf4CEBIiUjSyRyJZsmxCfuKRoqSCt3
-LKgt3C8RMEkxgzK/M/01PjaAN8U5DDpXO6M88z5FP5tA80L/TkOsRQxGbkfTSTlKoUwKTXNO3VBH
-UbFTG1SEVe5XWFjCWi1bmV0GXnRf5GFVYsdkOmWvZyVonWoVa49tCm6GcARxhHMEdId2C3eQeRd6
-n3wpfbR/QIDNglyD64V7hw2In4oyi8WNWI7skH+SE5OmlTmWzJhfmfKbhJ0WnqigOaHIo1ak4qZs
-p/Opd6r4rHat8a9psN6yUrPCtTG2n7gLuXa64LxKvbK/G8CDwerDUsS5xh/HhsjsylHLts0bzn/P
-4tFD0qLT/tVX1qvX+tlB2oHbudzp3gzfJ+A64T7iPuMv5Bzk/eXZ5qvneug+6QLpuepw6yDry+x3
-7Rjtue5Y/+7x74rwIPCx8UPx0/Jd8ujzc/P49H31AfWE9gT2hfcF94j4CviN+Q35ifoG+oP6/Pt1
-++38Zvza/U79wv42/qj/Gv+N//8AAGRlc2MAAAAAAAAACkNvbG9yIExDRAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAABtbHVjAAAAAAAAAAUAAAAMZW5VUwAAABIAAABMZnJGUgAAABIAAABeZGVERQAAABAA
-AABwZXNFUwAAABIAAACAaXRJVAAAABQAAACSAEMAbwBsAKFvAHIAIABMAEMARADJAGMAcgBhAG4A
-IABMAEMARABGAGEAcgBiAC0ATABDAEQATABDAEQAIABjAG8AbABvAHIATABDAEQAIABjAG8AbABv
-AHIAaQAAbW1vZAAAAAAAAAYQAACcYQAAAADAXf8AAAAAAAAAAAAAAAAAAAAAAHRleHQAAAAAQ29w
-eXJpZ2h0IEFwcGxlLCBJbmMuLCAyMDEwAAAsAAAAABoAEQAAAjCMj6kK7Q+jM4CtVam8KVMOeh+I
-WaSJiOeYrh3qBqocH/N83rX97qy8WXkkxKKPUwAAOw==
-}
-image create photo buttonimagemsg -data $msgdata
-
-set mycnvdata {
-R0lGODlhEgATAIAAAODg4P///yH5BAQAAAAAIf/8SUNDUkdCRzEwMTIAAA+EYXBwbAIAAABtbnRy
-UkdCIFhZWiAH2gAJAAEADwATAB9hY3NwQVBQTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9tYA
-AQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AA5yWFlaAAABLAAAABRnWFlaAAABQAAAABRiWFlaAAABVAAAABR3dHB0AAABaAAAABRjaGFkAAAB
-fAAAACxyVFJDAAABqAAAAA5nVFJDAAABuAAAAA5iVFJDAAAByAAAAA52Y2d0AAAB2AAABhJu/2Rp
-bgAAB+wAAAY+ZGVzYwAADiwAAABkZHNjbQAADpAAAACmbW1vZAAADzgAAAAoY3BydAAAD2AAAAAk
-WFlaIAAAAAAAAGEKAAA4UQAAB1hYWVogAAAAAAAAcEsAALBzAAAij1hZWiAAAAAAAAAlgQAAF1cA
-AKk+WFlaIAAAAAAAAPNSAAEAAAABFs9zZjMyAAAAAAABDEIAAAXe///zJgAAB5IAAP2R///7ov//
-/aMAAAPcAADAbGN1cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAAY3VydgAAAAAAAAABAc0A
-AHZjZ3QAAAAAAAAAAAADAQAAAgAAAB0AZf8A0gF8AkoDHgQIBSMGXAeyCSQKswxdDg4P0xGeE2UV
-LBbtGJ4aRBvfHWse7iBjIc4jMSSJJd8nMSh9KcgrDixTLZMu0DAJMT8ybTOXNLw13Tb2OA05HTop
-OzM8Nz06Pjo/N0AzQS5CKUMiRBpFFEYMRwRH/kj3Se9K6EvhTNxN1k7RT81QylHIUsdTx1THVchW
-ylfMWM9Z01rXW91c4l3pXvBf+GEAYgljE2QeZSpmNmdCaE9pW2poa3ZshG2Sbp9vrXC6cchy1XPi
-dO91/HcHeBJ5HHonezB8N30/fkV/SoBPgVKCVYNWhFeFV4ZWh1SIUolQik2LSoxHjUOOQI//PZA7
-kTiSN5M2lDWVNZY2lzeYOZk7mj6bQpxFnUmeTJ9QoFShWKJco1+kYqVmpmmnbKhvqXGqdKt1rHet
-eK55r3mwebF4snazdLRxtW62abdjuF25VrpNu0O8Ob0tvh+/EMAAwO3B2cLDw6rEj8VxxlHHL8gK
-yOTJvMqQy2TMNc0FzdPOn89q0DPQ/NHC0ofTStQN1M7VjNZK1wjXxNh+2TjZ8tqq22LcGtzS3Yre
-Qt7537HgaOEg4djij+NH4//ktuVt5iXm3OeV6E/pCunH6ojrTOwU7OLtt+6S73XwX/FR8kzzT/Rb
-9W32h/en+M35+Psj/FT9iv7E//8AAAAc/wBiAMoBZgIoAucDzgTNBfYHNQiUCgULmQ0xDtcQhxIv
-E9wVfRcVGKQaJxuZHQQeXR+yIP8iRyOFJMEl+ycuKF4pjSq4K+AtAy4iLzswTjFdMmQzaDRmNWA2
-VjdHODY5HzoIOu870zy3PZo+fD9eQD9BIUIBQuJDw0SkRYZGaUdNSDBJFkn8SuRLzUy3TaNOkk+A
-UHBRYVJTU0VUOFUrVh5XEFgDWPZZ51rZW8tcvV2uXqBfkGCBYXJiY2NUZEZlOGYrZyBoFGkKagJq
-+mv0bO5t6m7mb+Nw4XHfct1z23TZddZ203fPeMx5yHrCe7x8tn2ufqd/n4CWgY2Cg4N6hP9vhWWG
-XIdTiEmJQYo5izGMKo0ljh+PGpAVkRGSDpMLlAiVBZYClv+X/Zj6mfea9JvwnOyd6J7jn9+g2qHU
-os6jyKTDpb6muae1qLGpr6qtq66sr62yrrevvLDDscuy1LPdtOa18Lb4uAG5CboPuxS8GL0avhq/
-GMAVwRDCCcMBw/bE68Xdxs/Hv8ityZrKhctwzFjNQM4mzwvP79DS0bPSk9Ny1FHVL9YN1uvXydin
-2YXaZdtG3CndDt313t/fzOC84a/ipeOe5JrlmOaZ55von+mk6qrrsey57cHuyu/U8N7x6vL39AT1
-FPYl9zf4Svlg+nf7jvym/cD+3f//AAD/ABYATgCiARIBqQJNAvgDxwStBagGuQfeCRcKWAuhDPEO
-Qw+MENYSFhNOFHoVnha4F8oY1hnaGtob1hzOHcMeth+oIJchhCJvI1ckPCUdJfsm1CepKHkpRioO
-KtErkSxOLQctuy5vLyAvzTB5MSUxzDJ0MxszwDRlNQo1rjZTNvY3mjg+OOE5hDooOss7bzwSPLU9
-WD36Pp0/QD/jQIZBKUHNQnFDFkO8RGNFC0W0Rl9HCke3SGVJFEnDSnNLJUvWTIlNPE3wTqRPWVAO
-UMRRe1IyUulToVRaVRJVzFaFVz9X+VizWW1aKFriW51cWF0TXc5eil9GYAJgvmF7Yjli//djtWR1
-ZTVl92a5Z31oQmkIac9qmGtibC1s+G3FbpNvYXAwcP9xz3Kgc3F0QnUVded2uneOeGJ5N3oMeuF7
-uHyPfWV+PH8Uf+yAxYGdgneDUIQqhQSF3oa5h5WIcYlNiiqLCIvmjMSNo46Dj2SQRpEokguS8JPV
-lLyVo5aMl3aYYJlMmjqbKJwXnQid+57wn+eg4aHdotyj36Tkpeym+KgHqRiqLKtDrFutdq6Tr7Gw
-0rHzsxa0OrVftoe3r7jZugS7MbxfvZC+w7/6wTXCdcO8xRDGbsfayV7K9MynznzQcdKM1MzXQNnY
-3KXfmOKz5ffpZ+zy8Hb0I/f0+/D///8AAG5kaW4AAAAAAAAGNgAAlvAAAFjoAABTGAAAil4AACeX
-AAAWqAAAUA0AAFQ5AAJCjwAB8KMAAWuFAAMBAAACAAAAGwAwAEoAZQB+AJcAsADJAOIA+wEUAS0B
-RgFhAXsBlgGxAc4B6wIJAigCSAJpAowCsALWAv0DJgNRA34DrAPdBBAERQR8BLYE8QUuBW0FrgXx
-BjUGfAbEBw4HWwepB/oITQijCPwJWAm2ChgKfgrmC1MLwww2DK0NJw2kDiUOqA8uD7YQQRDPEV4R
-8BKEExkTsRRLFOcVhBYjFsQXZhgKGK8ZVRn8GqUbUBv7HKkdVx4HHrgfayAeINQhiiL/QiL7I7Uk
-cSUtJesmqidqKCwo7ym0KnorQSwKLNQtoC5uLz0wDjDhMbUyizNjND01GTX4Ntg3ujifOYc6cDtc
-PEs9PD4wPyZAH0EaQhhDGEQbRSBGJ0cwSDtJSEpXS2dMeE2LTqBPtVDLUeNS+1QUVS5WSldmWIRZ
-olrDW+RdB14sX1JgemGjYs9j/GUqZltnjWjBafdrL2xpbaVu43AjcWVyqnPxdTt2h3fWeSd6fHvT
-fS1+in/rgU+Ct4QihZKHBoh/if2LgI0KjpqQMZHPk3SVIJbTmI6aT5wYneifv6Gdo4GlbadhqVur
-Xa1or3mxkbOwtdW4ALovvGK+mMDS/8MOxU3Hj8nUzBzOaNC30wjVWNel2ezcKd5Z4HriieSG5nLo
-Tuob69nti+8z8NLyafP59YT3CviT+hb7lP0P/ob//wAAABwAMwBQAGsAhwChALwA1gDxAQwBJgFB
-AV0BeQGWAbMB0QHxAhECMgJVAnkCnwLGAu8DGgNHA3cDqAPdBBMETASHBMQFBAVGBYoF0AYZBmQG
-sAcAB1EHpQf8CFYIswkUCXgJ4QpNCr4LMwusDCoMrA0zDb0OSw7dD3IQChClEUMR4xKHEywT1RR/
-FSsV2RaJFzoX7RigGVUaCxrBG3kcMhzsHageZR8kH+UgqCFtIjQi/iPKJJglaCY7J/8PJ+YowCmb
-KngrVyw3LRkt+y7fL8QwqjGQMnczXzRINTI2HDcJN/Y45TnWOsg7vTy0Pa0+qD+lQKZBqEKtQ7VE
-vkXLRtpH60j+ShNLK0xETV5Oek+YULZR1lL3VBlVO1ZfV4RYqlnRWvlcI11OXntfqWDZYgpjPmRz
-Zatm5GggaV5qnWvfbSNuaW+xcPpyRXOQdN12Knd3eMV6EntffKx9+H9EgJGB3YMqhHiFx4cXiGqJ
-vosVjG6Ny48rkI+R95NjlNOWR5fAmT2avpxEnc6fXKDuooWkIKXAp2SpDaq6rGyuIq/dsZ2zYbUp
-tvS4w7qUvGe+O8AQwePDtcWEx1D/yRfK28yazlTQC9G+027VG9bG2HDaGNvB3WnfEeC54mLkDOW1
-51/pCOqx7FruAe+o8U/y9PSY9jv33/mD+yb8x/5m//8AAAAjAEIAZwCJAKsAzQDvAREBMwFWAXoB
-nwHFAewCFgJBAm4CngLQAwYDPgN7A7sD/wRGBJIE4QU0BYoF5AZBBqEHBQdsB9cIRwi7CTQJswo4
-CsQLVwvyDJQNPw3yDqwPbxA5EQsR4xLCE6YUkBV/FnMXbBhqGWwacxuAHJEdpx7BH+AhASIlI0sk
-ciWbJsQn7ikaKkgrdyyoLdwvETBJMYMyvzP9NT42gDfFOQw6VzujPPM+RT+bQPNC/05DrEUMRm5H
-00k5SqFMCk1zTt1QR1GxUxtUhFXuV1hYwlotW5ldBl50X+RhVWLHZDplr2claJ1qFWuPbQpuhnAE
-cYRzBHSHdgt3kHkXep98KX20f0CAzYJcg+uFe4cNiJ+KMovFjViO7JB/khOTppU5lsyYX5nym4Sd
-Fp6ooDmhyKNWpOKmbKfzqXeq+Kx2rfGvabDeslKzwrUxtp+4C7l2uuC8Sr2yvxvAg8Hqw1LEucYf
-x4bI7MpRy7bNG85/z+LRQ9Ki0/7VV9ar1/rZQdqB27nc6d4M3yfgOuE+4j7jL+Qc5P3l2ear53ro
-PukC6bnqcOsg68vsd+0Y7bnuWP/u8e+K8CDwsfFD8dPyXfLo83Pz+PR99QH1hPYE9oX3BfeI+Ar4
-jfkN+Yn6BvqD+vz7dfvt/Gb82v1O/cL+Nv6o/xr/jf//AABkZXNjAAAAAAAAAApDb2xvciBMQ0QA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAFAAAADGVuVVMAAAASAAAATGZyRlIAAAAS
-AAAAXmRlREUAAAAQAAAAcGVzRVMAAAASAAAAgGl0SVQAAAAUAAAAkgBDAG8AbAChbwByACAATABD
-AEQAyQBjAHIAYQBuACAATABDAEQARgBhAHIAYgAtAEwAQwBEAEwAQwBEACAAYwBvAGwAbwByAEwA
-QwBEACAAYwBvAGwAbwByAGkAAG1tb2QAAAAAAAAGEAAAnGEAAAAAwF3/AAAAAAAAAAAAAAAAAAAA
-AAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAxMAAALAAAAAASABMAAAIljI+JwO0P
-DJxN0mnvy7qGvn2gN5JlJJYcuHat9l4xNWPKjedKAQA7
-}
-image create photo buttonimagemycnv -data $mycnvdata
-
-set numboxdata {
-R0lGODlhFgATANUAAAAAAAAAZQAAeABbqQBvrwkJCRISEiUlJS14ry2Iyjo6OkCAtUCWylRUVFsA
-AGWv4nNzc4gAAIi7xYvF64/P75OTk6Pe/KlbLa9lAK+dZa+vr7WAQLuALb29vcDAwM+PLc+WTtT0
-/Nzc3N7i7eDg4OKvZerq6uvKi+3k3vT8/PX19fjZnfznr/z41Pz89P39/QAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAQAAAAAIf/8SUNDUkdCRzEwMTIA
-AA+EYXBwbAIAAABtbnRyUkdCIFhZWiAH2gAJAAEADwATAB9hY3NwQVBQTAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAA5yWFlaAAABLAAAABRnWFlaAAABQAAAABRiWFlaAAABVAAAABR3dHB0
-AAABaAAAABRjaGFkAAABfAAAACxyVFJDAAABqAAAAA5nVFJDAAABuAAAAA5iVFJDAAAByAAAAA52
-Y2d0AAAB2AAABhJu/2RpbgAAB+wAAAY+ZGVzYwAADiwAAABkZHNjbQAADpAAAACmbW1vZAAADzgA
-AAAoY3BydAAAD2AAAAAkWFlaIAAAAAAAAGEKAAA4UQAAB1hYWVogAAAAAAAAcEsAALBzAAAij1hZ
-WiAAAAAAAAAlgQAAF1cAAKk+WFlaIAAAAAAAAPNSAAEAAAABFs9zZjMyAAAAAAABDEIAAAXe///z
-JgAAB5IAAP2R///7ov///aMAAAPcAADAbGN1cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAA
-Y3VydgAAAAAAAAABAc0AAHZjZ3QAAAAAAAAAAAADAQAAAgAAAB0AZf8A0gF8AkoDHgQIBSMGXAey
-CSQKswxdDg4P0xGeE2UVLBbtGJ4aRBvfHWse7iBjIc4jMSSJJd8nMSh9KcgrDixTLZMu0DAJMT8y
-bTOXNLw13Tb2OA05HTopOzM8Nz06Pjo/N0AzQS5CKUMiRBpFFEYMRwRH/kj3Se9K6EvhTNxN1k7R
-T81QylHIUsdTx1THVchWylfMWM9Z01rXW91c4l3pXvBf+GEAYgljE2QeZSpmNmdCaE9pW2poa3Zs
-hG2Sbp9vrXC6cchy1XPidO91/HcHeBJ5HHonezB8N30/fkV/SoBPgVKCVYNWhFeFV4ZWh1SIUolQ
-ik2LSoxHjUOOQI//PZA7kTiSN5M2lDWVNZY2lzeYOZk7mj6bQpxFnUmeTJ9QoFShWKJco1+kYqVm
-pmmnbKhvqXGqdKt1rHeteK55r3mwebF4snazdLRxtW62abdjuF25VrpNu0O8Ob0tvh+/EMAAwO3B
-2cLDw6rEj8VxxlHHL8gKyOTJvMqQy2TMNc0FzdPOn89q0DPQ/NHC0ofTStQN1M7VjNZK1wjXxNh+
-2TjZ8tqq22LcGtzS3YreQt7537HgaOEg4djij+NH4//ktuVt5iXm3OeV6E/pCunH6ojrTOwU7OLt
-t+6S73XwX/FR8kzzT/Rb9W32h/en+M35+Psj/FT9iv7E//8AAAAc/wBiAMoBZgIoAucDzgTNBfYH
-NQiUCgULmQ0xDtcQhxIvE9wVfRcVGKQaJxuZHQQeXR+yIP8iRyOFJMEl+ycuKF4pjSq4K+AtAy4i
-LzswTjFdMmQzaDRmNWA2VjdHODY5HzoIOu870zy3PZo+fD9eQD9BIUIBQuJDw0SkRYZGaUdNSDBJ
-Fkn8SuRLzUy3TaNOkk+AUHBRYVJTU0VUOFUrVh5XEFgDWPZZ51rZW8tcvV2uXqBfkGCBYXJiY2NU
-ZEZlOGYrZyBoFGkKagJq+mv0bO5t6m7mb+Nw4XHfct1z23TZddZ203fPeMx5yHrCe7x8tn2ufqd/
-n4CWgY2Cg4N6hP9vhWWGXIdTiEmJQYo5izGMKo0ljh+PGpAVkRGSDpMLlAiVBZYClv+X/Zj6mfea
-9JvwnOyd6J7jn9+g2qHUos6jyKTDpb6muae1qLGpr6qtq66sr62yrrevvLDDscuy1LPdtOa18Lb4
-uAG5CboPuxS8GL0avhq/GMAVwRDCCcMBw/bE68Xdxs/Hv8ityZrKhctwzFjNQM4mzwvP79DS0bPS
-k9Ny1FHVL9YN1uvXydin2YXaZdtG3CndDt313t/fzOC84a/ipeOe5JrlmOaZ55von+mk6qrrsey5
-7cHuyu/U8N7x6vL39AT1FPYl9zf4Svlg+nf7jvym/cD+3f//AAD/ABYATgCiARIBqQJNAvgDxwSt
-BagGuQfeCRcKWAuhDPEOQw+MENYSFhNOFHoVnha4F8oY1hnaGtob1hzOHcMeth+oIJchhCJvI1ck
-PCUdJfsm1CepKHkpRioOKtErkSxOLQctuy5vLyAvzTB5MSUxzDJ0MxszwDRlNQo1rjZTNvY3mjg+
-OOE5hDooOss7bzwSPLU9WD36Pp0/QD/jQIZBKUHNQnFDFkO8RGNFC0W0Rl9HCke3SGVJFEnDSnNL
-JUvWTIlNPE3wTqRPWVAOUMRRe1IyUulToVRaVRJVzFaFVz9X+VizWW1aKFriW51cWF0TXc5eil9G
-YAJgvmF7Yjli//djtWR1ZTVl92a5Z31oQmkIac9qmGtibC1s+G3FbpNvYXAwcP9xz3Kgc3F0QnUV
-ded2uneOeGJ5N3oMeuF7uHyPfWV+PH8Uf+yAxYGdgneDUIQqhQSF3oa5h5WIcYlNiiqLCIvmjMSN
-o46Dj2SQRpEokguS8JPVlLyVo5aMl3aYYJlMmjqbKJwXnQid+57wn+eg4aHdotyj36Tkpeym+KgH
-qRiqLKtDrFutdq6Tr7Gw0rHzsxa0OrVftoe3r7jZugS7MbxfvZC+w7/6wTXCdcO8xRDGbsfayV7K
-9MynznzQcdKM1MzXQNnY3KXfmOKz5ffpZ+zy8Hb0I/f0+/D///8AAG5kaW4AAAAAAAAGNgAAlvAA
-AFjoAABTGAAAil4AACeXAAAWqAAAUA0AAFQ5AAJCjwAB8KMAAWuFAAMBAAACAAAAGwAwAEoAZQB+
-AJcAsADJAOIA+wEUAS0BRgFhAXsBlgGxAc4B6wIJAigCSAJpAowCsALWAv0DJgNRA34DrAPdBBAE
-RQR8BLYE8QUuBW0FrgXxBjUGfAbEBw4HWwepB/oITQijCPwJWAm2ChgKfgrmC1MLwww2DK0NJw2k
-DiUOqA8uD7YQQRDPEV4R8BKEExkTsRRLFOcVhBYjFsQXZhgKGK8ZVRn8GqUbUBv7HKkdVx4HHrgf
-ayAeINQhiiL/QiL7I7UkcSUtJesmqidqKCwo7ym0KnorQSwKLNQtoC5uLz0wDjDhMbUyizNjND01
-GTX4Ntg3ujifOYc6cDtcPEs9PD4wPyZAH0EaQhhDGEQbRSBGJ0cwSDtJSEpXS2dMeE2LTqBPtVDL
-UeNS+1QUVS5WSldmWIRZolrDW+RdB14sX1JgemGjYs9j/GUqZltnjWjBafdrL2xpbaVu43AjcWVy
-qnPxdTt2h3fWeSd6fHvTfS1+in/rgU+Ct4QihZKHBoh/if2LgI0KjpqQMZHPk3SVIJbTmI6aT5wY
-neifv6Gdo4GlbadhqVurXa1or3mxkbOwtdW4ALovvGK+mMDS/8MOxU3Hj8nUzBzOaNC30wjVWNel
-2ezcKd5Z4HriieSG5nLoTuob69nti+8z8NLyafP59YT3CviT+hb7lP0P/ob//wAAABwAMwBQAGsA
-hwChALwA1gDxAQwBJgFBAV0BeQGWAbMB0QHxAhECMgJVAnkCnwLGAu8DGgNHA3cDqAPdBBMETASH
-BMQFBAVGBYoF0AYZBmQGsAcAB1EHpQf8CFYIswkUCXgJ4QpNCr4LMwusDCoMrA0zDb0OSw7dD3IQ
-ChClEUMR4xKHEywT1RR/FSsV2RaJFzoX7RigGVUaCxrBG3kcMhzsHageZR8kH+UgqCFtIjQi/iPK
-JJglaCY7J/8PJ+YowCmbKngrVyw3LRkt+y7fL8QwqjGQMnczXzRINTI2HDcJN/Y45TnWOsg7vTy0
-Pa0+qD+lQKZBqEKtQ7VEvkXLRtpH60j+ShNLK0xETV5Oek+YULZR1lL3VBlVO1ZfV4RYqlnRWvlc
-I11OXntfqWDZYgpjPmRzZatm5GggaV5qnWvfbSNuaW+xcPpyRXOQdN12Knd3eMV6EntffKx9+H9E
-gJGB3YMqhHiFx4cXiGqJvosVjG6Ny48rkI+R95NjlNOWR5fAmT2avpxEnc6fXKDuooWkIKXAp2Sp
-Daq6rGyuIq/dsZ2zYbUptvS4w7qUvGe+O8AQwePDtcWEx1D/yRfK28yazlTQC9G+027VG9bG2HDa
-GNvB3WnfEeC54mLkDOW151/pCOqx7FruAe+o8U/y9PSY9jv33/mD+yb8x/5m//8AAAAjAEIAZwCJ
-AKsAzQDvAREBMwFWAXoBnwHFAewCFgJBAm4CngLQAwYDPgN7A7sD/wRGBJIE4QU0BYoF5AZBBqEH
-BQdsB9cIRwi7CTQJswo4CsQLVwvyDJQNPw3yDqwPbxA5EQsR4xLCE6YUkBV/FnMXbBhqGWwacxuA
-HJEdpx7BH+AhASIlI0skciWbJsQn7ikaKkgrdyyoLdwvETBJMYMyvzP9NT42gDfFOQw6VzujPPM+
-RT+bQPNC/05DrEUMRm5H00k5SqFMCk1zTt1QR1GxUxtUhFXuV1hYwlotW5ldBl50X+RhVWLHZDpl
-r2claJ1qFWuPbQpuhnAEcYRzBHSHdgt3kHkXep98KX20f0CAzYJcg+uFe4cNiJ+KMovFjViO7JB/
-khOTppU5lsyYX5nym4SdFp6ooDmhyKNWpOKmbKfzqXeq+Kx2rfGvabDeslKzwrUxtp+4C7l2uuC8
-Sr2yvxvAg8Hqw1LEucYfx4bI7MpRy7bNG85/z+LRQ9Ki0/7VV9ar1/rZQdqB27nc6d4M3yfgOuE+
-4j7jL+Qc5P3l2ear53roPukC6bnqcOsg68vsd+0Y7bnuWP/u8e+K8CDwsfFD8dPyXfLo83Pz+PR9
-9QH1hPYE9oX3BfeI+Ar4jfkN+Yn6BvqD+vz7dfvt/Gb82v1O/cL+Nv6o/xr/jf//AABkZXNjAAAA
-AAAAAApDb2xvciBMQ0QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAFAAAADGVuVVMA
-AAASAAAATGZyRlIAAAASAAAAXmRlREUAAAAQAAAAcGVzRVMAAAASAAAAgGl0SVQAAAAUAAAAkgBD
-AG8AbAChbwByACAATABDAEQAyQBjAHIAYQBuACAATABDAEQARgBhAHIAYgAtAEwAQwBEAEwAQwBE
-ACAAYwBvAGwAbwByAEwAQwBEACAAYwBvAGwAbwByAGkAAG1tb2QAAAAAAAAGEAAAnGEAAAAAwF3/
-AAAAAAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAxMAAALAAA
-AAAWABMAAAaXwJdwSCwahYCkcskskIpM5bFj8BAB1M6xSLUiX1kjakTsfsEGrdC1SS5SQ1HhjFaf
-AiEWYHKl118fCS8cAAx9LwBFHgYvGA8rAhkDcGeJcQYaLhcSERQlk0OWli8mBxVCIAAEgIKhZyoK
-EEMnABYtDnyuiEINDURsSQiUlS8QCipiZFBIFQcmW0eiUaNb0tPXUtDa29xCQQA7
-}
-image create photo buttonimagenumbox -data $numboxdata
-
-set objdata {
-R0lGODlhFgARAPABAP///wAAACH5BAQAAAAAIf8LSUNDUkdCRzEwMTL/ZGluAAAH7AAABj5kZXNj
-AAAOLAAAAGRkc2NtAAAOkAAAAKZtbW9kAAAPOAAAAChjcHJ0AAAPYAAAACRYWVogAAAAAAAAYQoA
-ADhRAAAHWFhZWiAAAAAAAABwSwAAsHMAACKPWFlaIAAAAAAAACWBAAAXVwAAqT5YWVogAAAAAAAA
-81IAAQAAAAEWz3NmMzIAAAAAAAEMQgAABd7///MmAAAHkgAA/ZH///ui///9owAAA9wAAMBsY3Vy
-dgAAAAAAAAABAc0AAGN1cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAAdmNndAAAAAAAAAAA
-AAMBAAACAAAAHQBl/wDSAXwCSgMeBAgFIwZcB7IJJAqzDF0ODg/TEZ4TZRUsFu0YnhpEG98dax7u
-IGMhziMxJIkl3ycxKH0pyCsOLFMtky7QMAkxPzJtM5c0vDXdNvY4DTkdOik7Mzw3PTo+Oj83QDNB
-LkIpQyJEGkUURgxHBEf+SPdJ70roS+FM3E3WTtFPzVDKUchSx1PHVMdVyFbKV8xYz1nTWtdb3Vzi
-Xele8F/4YQBiCWMTZB5lKmY2Z0JoT2lbamhrdmyEbZJun2+tcLpxyHLVc+J073X8dwd4Enkceid7
-MHw3fT9+RX9KgE+BUoJVg1aEV4VXhlaHVIhSiVCKTYtKjEeNQ45Aj/89kDuROJI3kzaUNZU1ljaX
-N5g5mTuaPptCnEWdSZ5Mn1CgVKFYolyjX6RipWamaadsqG+pcap0q3Wsd614rnmvebB5sXiydrN0
-tHG1brZpt2O4XblWuk27Q7w5vS2+H78QwADA7cHZwsPDqsSPxXHGUccvyArI5Mm8ypDLZMw1zQXN
-086fz2rQM9D80cLSh9NK1A3UztWM1krXCNfE2H7ZONny2qrbYtwa3NLdit5C3vnfseBo4SDh2OKP
-40fj/+S25W3mJebc55XoT+kK6cfqiOtM7BTs4u237pLvdfBf8VHyTPNP9Fv1bfaH96f4zfn4+yP8
-VP2K/sT//wAAABz/AGIAygFmAigC5wPOBM0F9gc1CJQKBQuZDTEO1xCHEi8T3BV9FxUYpBonG5kd
-BB5dH7Ig/yJHI4UkwSX7Jy4oXimNKrgr4C0DLiIvOzBOMV0yZDNoNGY1YDZWN0c4NjkfOgg67zvT
-PLc9mj58P15AP0EhQgFC4kPDRKRFhkZpR01IMEkWSfxK5EvNTLdNo06ST4BQcFFhUlNTRVQ4VStW
-HlcQWANY9lnnWtlby1y9Xa5eoF+QYIFhcmJjY1RkRmU4ZitnIGgUaQpqAmr6a/Rs7m3qbuZv43Dh
-cd9y3XPbdNl11nbTd894zHnIesJ7vHy2fa5+p3+fgJaBjYKDg3qE/2+FZYZch1OISYlBijmLMYwq
-jSWOH48akBWREZIOkwuUCJUFlgKW/5f9mPqZ95r0m/Cc7J3onuOf36DaodSizqPIpMOlvqa5p7Wo
-samvqq2rrqyvrbKut6+8sMOxy7LUs9205rXwtvi4AbkJug+7FLwYvRq+Gr8YwBXBEMIJwwHD9sTr
-xd3Gz8e/yK3JmsqFy3DMWM1AzibPC8/v0NLRs9KT03LUUdUv1g3W69fJ2KfZhdpl20bcKd0O3fXe
-39/M4Lzhr+Kl457kmuWY5pnnm+if6aTqquux7Lntwe7K79Tw3vHq8vf0BPUU9iX3N/hK+WD6d/uO
-/Kb9wP7d//8AAP8AFgBOAKIBEgGpAk0C+APHBK0FqAa5B94JFwpYC6EM8Q5DD4wQ1hIWE04UehWe
-FrgXyhjWGdoa2hvWHM4dwx62H6gglyGEIm8jVyQ8JR0l+ybUJ6koeSlGKg4q0SuRLE4tBy27Lm8v
-IC/NMHkxJTHMMnQzGzPANGU1CjWuNlM29jeaOD444TmEOig6yztvPBI8tT1YPfo+nT9AP+NAhkEp
-Qc1CcUMWQ7xEY0ULRbRGX0cKR7dIZUkUScNKc0slS9ZMiU08TfBOpE9ZUA5QxFF7UjJS6VOhVFpV
-ElXMVoVXP1f5WLNZbVooWuJbnVxYXRNdzl6KX0ZgAmC+YXtiOWL/92O1ZHVlNWX3ZrlnfWhCaQhp
-z2qYa2JsLWz4bcVuk29hcDBw/3HPcqBzcXRCdRV153a6d454Ynk3egx64Xu4fI99ZX48fxR/7IDF
-gZ2Cd4NQhCqFBIXehrmHlYhxiU2KKosIi+aMxI2jjoOPZJBGkSiSC5Lwk9WUvJWjloyXdphgmUya
-OpsonBedCJ37nvCf56Dhod2i3KPfpOSl7Kb4qAepGKosq0OsW612rpOvsbDSsfOzFrQ6tV+2h7ev
-uNm6BLsxvF+9kL7Dv/rBNcJ1w7zFEMZux9rJXsr0zKfOfNBx0ozUzNdA2djcpd+Y4rPl9+ln7PLw
-dvQj9/T78P///wAAbmRpbgAAAAAAAAY2AACW8AAAWOgAAFMYAACKXgAAJ5cAABaoAABQDQAAVDkA
-AkKPAAHwowABa4UAAwEAAAIAAAAbADAASgBlAH4AlwCwAMkA4gD7ARQBLQFGAWEBewGWAbEBzgHr
-AgkCKAJIAmkCjAKwAtYC/QMmA1EDfgOsA90EEARFBHwEtgTxBS4FbQWuBfEGNQZ8BsQHDgdbB6kH
-+ghNCKMI/AlYCbYKGAp+CuYLUwvDDDYMrQ0nDaQOJQ6oDy4PthBBEM8RXhHwEoQTGROxFEsU5xWE
-FiMWxBdmGAoYrxlVGfwapRtQG/scqR1XHgceuB9rIB4g1CGKIv9CIvsjtSRxJS0l6yaqJ2ooLCjv
-KbQqeitBLAos1C2gLm4vPTAOMOExtTKLM2M0PTUZNfg22De6OJ85hzpwO1w8Sz08PjA/JkAfQRpC
-GEMYRBtFIEYnRzBIO0lISldLZ0x4TYtOoE+1UMtR41L7VBRVLlZKV2ZYhFmiWsNb5F0HXixfUmB6
-YaNiz2P8ZSpmW2eNaMFp92svbGltpW7jcCNxZXKqc/F1O3aHd9Z5J3p8e9N9LX6Kf+uBT4K3hCKF
-kocGiH+J/YuAjQqOmpAxkc+TdJUgltOYjppPnBid6J+/oZ2jgaVtp2GpW6tdrWivebGRs7C11bgA
-ui+8Yr6YwNL/ww7FTcePydTMHM5o0LfTCNVY16XZ7Nwp3lngeuKJ5IbmcuhO6hvr2e2L7zPw0vJp
-8/n1hPcK+JP6FvuU/Q/+hv//AAAAHAAzAFAAawCHAKEAvADWAPEBDAEmAUEBXQF5AZYBswHRAfEC
-EQIyAlUCeQKfAsYC7wMaA0cDdwOoA90EEwRMBIcExAUEBUYFigXQBhkGZAawBwAHUQelB/wIVgiz
-CRQJeAnhCk0KvgszC6wMKgysDTMNvQ5LDt0PchAKEKURQxHjEocTLBPVFH8VKxXZFokXOhftGKAZ
-VRoLGsEbeRwyHOwdqB5lHyQf5SCoIW0iNCL+I8okmCVoJjsn/w8n5ijAKZsqeCtXLDctGS37Lt8v
-xDCqMZAydzNfNEg1MjYcNwk39jjlOdY6yDu9PLQ9rT6oP6VApkGoQq1DtUS+RctG2kfrSP5KE0sr
-TERNXk56T5hQtlHWUvdUGVU7Vl9XhFiqWdFa+VwjXU5ee1+pYNliCmM+ZHNlq2bkaCBpXmqda99t
-I25pb7Fw+nJFc5B03XYqd3d4xXoSe198rH34f0SAkYHdgyqEeIXHhxeIaom+ixWMbo3LjyuQj5H3
-k2OU05ZHl8CZPZq+nESdzp9coO6ihaQgpcCnZKkNqrqsbK4ir92xnbNhtSm29LjDupS8Z747wBDB
-48O1xYTHUP/JF8rbzJrOVNAL0b7TbtUb1sbYcNoY28Hdad8R4LniYuQM5bXnX+kI6rHsWu4B76jx
-T/L09Jj2O/ff+YP7JvzH/mb//wAAACMAQgBnAIkAqwDNAO8BEQEzAVYBegGfAcUB7AIWAkECbgKe
-AtADBgM+A3sDuwP/BEYEkgThBTQFigXkBkEGoQcFB2wH1whHCLsJNAmzCjgKxAtXC/IMlA0/DfIO
-rA9vEDkRCxHjEsITphSQFX8WcxdsGGoZbBpzG4AckR2nHsEf4CEBIiUjSyRyJZsmxCfuKRoqSCt3
-LKgt3C8RMEkxgzK/M/01PjaAN8U5DDpXO6M88z5FP5tA80L/TkOsRQxGbkfTSTlKoUwKTXNO3VBH
-UbFTG1SEVe5XWFjCWi1bmV0GXnRf5GFVYsdkOmWvZyVonWoVa49tCm6GcARxhHMEdId2C3eQeRd6
-n3wpfbR/QIDNglyD64V7hw2In4oyi8WNWI7skH+SE5OmlTmWzJhfmfKbhJ0WnqigOaHIo1ak4qZs
-p/Opd6r4rHat8a9psN6yUrPCtTG2n7gLuXa64LxKvbK/G8CDwerDUsS5xh/HhsjsylHLts0bzn/P
-4tFD0qLT/tVX1qvX+tlB2oHbudzp3gzfJ+A64T7iPuMv5Bzk/eXZ5qvneug+6QLpuepw6yDry+x3
-7Rjtue5Y/+7x74rwIPCx8UPx0/Jd8ujzc/P49H31AfWE9gT2hfcF94j4CviN+Q35ifoG+oP6/Pt1
-++38Zvza/U79wv42/qj/Gv+N//8AAGRlc2MAAAAAAAAACkNvbG9yIExDRAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAABtbHVjAAAAAAAAAAUAAAAMZW5VUwAAABIAAABMZnJGUgAAABIAAABeZGVERQAAABAA
-AABwZXNFUwAAABIAAACAaXRJVAAAABQAAACSAEMAbwBsAKFvAHIAIABMAEMARADJAGMAcgBhAG4A
-IABMAEMARABGAGEAcgBiAC0ATABDAEQATABDAEQAIABjAG8AbABvAHIATABDAEQAIABjAG8AbABv
-AHIAaQAAbW1vZAAAAAAAAAYQAACcYQAAAADAXf8AAAAAAAAAAAAAAAAAAAAAAHRleHQAAAAAQ29w
-eXJpZ2h0IEFwcGxlLCBJbmMuLCAyMDEwAAAsAAAAABYAEQAAAiWEj6kW7emaCqtOaynQ+O6+aBx4
-jCRinurKtpDLtKLMmJEtwUYBADs=
-}
-image create photo buttonimageobj -data $objdata
-
-set symbolatomdata {
-R0lGODlhEQARANUAAAAAAAAALgAAkQoKChMTEy4ueS5BcC5cn0FBLk8AAFxmXFyJt2aYwokuAJFc
-QZG915jI6pjX959cT6uCXLGCT7HS5beYn8DAwMiRQdLu+9f38uDg4OXIpez9//LSmPL/8vfSkff/
-//v38v7////y4P/94v//8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAQAAAAAIf/8SUNDUkdCRzEwMTIA
-AA+EYXBwbAIAAABtbnRyUkdCIFhZWiAH2gAJAAEADwATAB9hY3NwQVBQTAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAA5yWFlaAAABLAAAABRnWFlaAAABQAAAABRiWFlaAAABVAAAABR3dHB0
-AAABaAAAABRjaGFkAAABfAAAACxyVFJDAAABqAAAAA5nVFJDAAABuAAAAA5iVFJDAAAByAAAAA52
-Y2d0AAAB2AAABhJu/2RpbgAAB+wAAAY+ZGVzYwAADiwAAABkZHNjbQAADpAAAACmbW1vZAAADzgA
-AAAoY3BydAAAD2AAAAAkWFlaIAAAAAAAAGEKAAA4UQAAB1hYWVogAAAAAAAAcEsAALBzAAAij1hZ
-WiAAAAAAAAAlgQAAF1cAAKk+WFlaIAAAAAAAAPNSAAEAAAABFs9zZjMyAAAAAAABDEIAAAXe///z
-JgAAB5IAAP2R///7ov///aMAAAPcAADAbGN1cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAA
-Y3VydgAAAAAAAAABAc0AAHZjZ3QAAAAAAAAAAAADAQAAAgAAAB0AZf8A0gF8AkoDHgQIBSMGXAey
-CSQKswxdDg4P0xGeE2UVLBbtGJ4aRBvfHWse7iBjIc4jMSSJJd8nMSh9KcgrDixTLZMu0DAJMT8y
-bTOXNLw13Tb2OA05HTopOzM8Nz06Pjo/N0AzQS5CKUMiRBpFFEYMRwRH/kj3Se9K6EvhTNxN1k7R
-T81QylHIUsdTx1THVchWylfMWM9Z01rXW91c4l3pXvBf+GEAYgljE2QeZSpmNmdCaE9pW2poa3Zs
-hG2Sbp9vrXC6cchy1XPidO91/HcHeBJ5HHonezB8N30/fkV/SoBPgVKCVYNWhFeFV4ZWh1SIUolQ
-ik2LSoxHjUOOQI//PZA7kTiSN5M2lDWVNZY2lzeYOZk7mj6bQpxFnUmeTJ9QoFShWKJco1+kYqVm
-pmmnbKhvqXGqdKt1rHeteK55r3mwebF4snazdLRxtW62abdjuF25VrpNu0O8Ob0tvh+/EMAAwO3B
-2cLDw6rEj8VxxlHHL8gKyOTJvMqQy2TMNc0FzdPOn89q0DPQ/NHC0ofTStQN1M7VjNZK1wjXxNh+
-2TjZ8tqq22LcGtzS3YreQt7537HgaOEg4djij+NH4//ktuVt5iXm3OeV6E/pCunH6ojrTOwU7OLt
-t+6S73XwX/FR8kzzT/Rb9W32h/en+M35+Psj/FT9iv7E//8AAAAc/wBiAMoBZgIoAucDzgTNBfYH
-NQiUCgULmQ0xDtcQhxIvE9wVfRcVGKQaJxuZHQQeXR+yIP8iRyOFJMEl+ycuKF4pjSq4K+AtAy4i
-LzswTjFdMmQzaDRmNWA2VjdHODY5HzoIOu870zy3PZo+fD9eQD9BIUIBQuJDw0SkRYZGaUdNSDBJ
-Fkn8SuRLzUy3TaNOkk+AUHBRYVJTU0VUOFUrVh5XEFgDWPZZ51rZW8tcvV2uXqBfkGCBYXJiY2NU
-ZEZlOGYrZyBoFGkKagJq+mv0bO5t6m7mb+Nw4XHfct1z23TZddZ203fPeMx5yHrCe7x8tn2ufqd/
-n4CWgY2Cg4N6hP9vhWWGXIdTiEmJQYo5izGMKo0ljh+PGpAVkRGSDpMLlAiVBZYClv+X/Zj6mfea
-9JvwnOyd6J7jn9+g2qHUos6jyKTDpb6muae1qLGpr6qtq66sr62yrrevvLDDscuy1LPdtOa18Lb4
-uAG5CboPuxS8GL0avhq/GMAVwRDCCcMBw/bE68Xdxs/Hv8ityZrKhctwzFjNQM4mzwvP79DS0bPS
-k9Ny1FHVL9YN1uvXydin2YXaZdtG3CndDt313t/fzOC84a/ipeOe5JrlmOaZ55von+mk6qrrsey5
-7cHuyu/U8N7x6vL39AT1FPYl9zf4Svlg+nf7jvym/cD+3f//AAD/ABYATgCiARIBqQJNAvgDxwSt
-BagGuQfeCRcKWAuhDPEOQw+MENYSFhNOFHoVnha4F8oY1hnaGtob1hzOHcMeth+oIJchhCJvI1ck
-PCUdJfsm1CepKHkpRioOKtErkSxOLQctuy5vLyAvzTB5MSUxzDJ0MxszwDRlNQo1rjZTNvY3mjg+
-OOE5hDooOss7bzwSPLU9WD36Pp0/QD/jQIZBKUHNQnFDFkO8RGNFC0W0Rl9HCke3SGVJFEnDSnNL
-JUvWTIlNPE3wTqRPWVAOUMRRe1IyUulToVRaVRJVzFaFVz9X+VizWW1aKFriW51cWF0TXc5eil9G
-YAJgvmF7Yjli//djtWR1ZTVl92a5Z31oQmkIac9qmGtibC1s+G3FbpNvYXAwcP9xz3Kgc3F0QnUV
-ded2uneOeGJ5N3oMeuF7uHyPfWV+PH8Uf+yAxYGdgneDUIQqhQSF3oa5h5WIcYlNiiqLCIvmjMSN
-o46Dj2SQRpEokguS8JPVlLyVo5aMl3aYYJlMmjqbKJwXnQid+57wn+eg4aHdotyj36Tkpeym+KgH
-qRiqLKtDrFutdq6Tr7Gw0rHzsxa0OrVftoe3r7jZugS7MbxfvZC+w7/6wTXCdcO8xRDGbsfayV7K
-9MynznzQcdKM1MzXQNnY3KXfmOKz5ffpZ+zy8Hb0I/f0+/D///8AAG5kaW4AAAAAAAAGNgAAlvAA
-AFjoAABTGAAAil4AACeXAAAWqAAAUA0AAFQ5AAJCjwAB8KMAAWuFAAMBAAACAAAAGwAwAEoAZQB+
-AJcAsADJAOIA+wEUAS0BRgFhAXsBlgGxAc4B6wIJAigCSAJpAowCsALWAv0DJgNRA34DrAPdBBAE
-RQR8BLYE8QUuBW0FrgXxBjUGfAbEBw4HWwepB/oITQijCPwJWAm2ChgKfgrmC1MLwww2DK0NJw2k
-DiUOqA8uD7YQQRDPEV4R8BKEExkTsRRLFOcVhBYjFsQXZhgKGK8ZVRn8GqUbUBv7HKkdVx4HHrgf
-ayAeINQhiiL/QiL7I7UkcSUtJesmqidqKCwo7ym0KnorQSwKLNQtoC5uLz0wDjDhMbUyizNjND01
-GTX4Ntg3ujifOYc6cDtcPEs9PD4wPyZAH0EaQhhDGEQbRSBGJ0cwSDtJSEpXS2dMeE2LTqBPtVDL
-UeNS+1QUVS5WSldmWIRZolrDW+RdB14sX1JgemGjYs9j/GUqZltnjWjBafdrL2xpbaVu43AjcWVy
-qnPxdTt2h3fWeSd6fHvTfS1+in/rgU+Ct4QihZKHBoh/if2LgI0KjpqQMZHPk3SVIJbTmI6aT5wY
-neifv6Gdo4GlbadhqVurXa1or3mxkbOwtdW4ALovvGK+mMDS/8MOxU3Hj8nUzBzOaNC30wjVWNel
-2ezcKd5Z4HriieSG5nLoTuob69nti+8z8NLyafP59YT3CviT+hb7lP0P/ob//wAAABwAMwBQAGsA
-hwChALwA1gDxAQwBJgFBAV0BeQGWAbMB0QHxAhECMgJVAnkCnwLGAu8DGgNHA3cDqAPdBBMETASH
-BMQFBAVGBYoF0AYZBmQGsAcAB1EHpQf8CFYIswkUCXgJ4QpNCr4LMwusDCoMrA0zDb0OSw7dD3IQ
-ChClEUMR4xKHEywT1RR/FSsV2RaJFzoX7RigGVUaCxrBG3kcMhzsHageZR8kH+UgqCFtIjQi/iPK
-JJglaCY7J/8PJ+YowCmbKngrVyw3LRkt+y7fL8QwqjGQMnczXzRINTI2HDcJN/Y45TnWOsg7vTy0
-Pa0+qD+lQKZBqEKtQ7VEvkXLRtpH60j+ShNLK0xETV5Oek+YULZR1lL3VBlVO1ZfV4RYqlnRWvlc
-I11OXntfqWDZYgpjPmRzZatm5GggaV5qnWvfbSNuaW+xcPpyRXOQdN12Knd3eMV6EntffKx9+H9E
-gJGB3YMqhHiFx4cXiGqJvosVjG6Ny48rkI+R95NjlNOWR5fAmT2avpxEnc6fXKDuooWkIKXAp2Sp
-Daq6rGyuIq/dsZ2zYbUptvS4w7qUvGe+O8AQwePDtcWEx1D/yRfK28yazlTQC9G+027VG9bG2HDa
-GNvB3WnfEeC54mLkDOW151/pCOqx7FruAe+o8U/y9PSY9jv33/mD+yb8x/5m//8AAAAjAEIAZwCJ
-AKsAzQDvAREBMwFWAXoBnwHFAewCFgJBAm4CngLQAwYDPgN7A7sD/wRGBJIE4QU0BYoF5AZBBqEH
-BQdsB9cIRwi7CTQJswo4CsQLVwvyDJQNPw3yDqwPbxA5EQsR4xLCE6YUkBV/FnMXbBhqGWwacxuA
-HJEdpx7BH+AhASIlI0skciWbJsQn7ikaKkgrdyyoLdwvETBJMYMyvzP9NT42gDfFOQw6VzujPPM+
-RT+bQPNC/05DrEUMRm5H00k5SqFMCk1zTt1QR1GxUxtUhFXuV1hYwlotW5ldBl50X+RhVWLHZDpl
-r2claJ1qFWuPbQpuhnAEcYRzBHSHdgt3kHkXep98KX20f0CAzYJcg+uFe4cNiJ+KMovFjViO7JB/
-khOTppU5lsyYX5nym4SdFp6ooDmhyKNWpOKmbKfzqXeq+Kx2rfGvabDeslKzwrUxtp+4C7l2uuC8
-Sr2yvxvAg8Hqw1LEucYfx4bI7MpRy7bNG85/z+LRQ9Ki0/7VV9ar1/rZQdqB27nc6d4M3yfgOuE+
-4j7jL+Qc5P3l2ear53roPukC6bnqcOsg68vsd+0Y7bnuWP/u8e+K8CDwsfFD8dPyXfLo83Pz+PR9
-9QH1hPYE9oX3BfeI+Ar4jfkN+Yn6BvqD+vz7dfvt/Gb82v1O/cL+Nv6o/xr/jf//AABkZXNjAAAA
-AAAAAApDb2xvciBMQ0QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAFAAAADGVuVVMA
-AAASAAAATGZyRlIAAAASAAAAXmRlREUAAAAQAAAAcGVzRVMAAAASAAAAgGl0SVQAAAAUAAAAkgBD
-AG8AbAChbwByACAATABDAEQAyQBjAHIAYQBuACAATABDAEQARgBhAHIAYgAtAEwAQwBEAEwAQwBE
-ACAAYwBvAGwAbwByAEwAQwBEACAAYwBvAGwAbwByAGkAAG1tb2QAAAAAAAAGEAAAnGEAAAAAwF3/
-AAAAAAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAxMAAALAAA
-AAARABEAAAZfwJFwSCwaj0iAcqkcbI4AI+BCuEiZyxHVSowit12kcDMIlxyIw8eSGXqFUZCgI+Qk
-FvT3KGqiABghQhgAEHpRIiMlDREkEwYVe2EeAQoFGhIPbl1YSmFunJxioqOko0EAOw==
-}
-image create photo buttonimagesymbolatom -data $symbolatomdata
-
-set textdata {
-R0lGODlhGwARAPAAAP///wAAACH5BAAAAAAAIf8LSUNDUkdCRzEwMTL/AAAPhGFwcGwCAAAAbW50
-clJHQiBYWVogB9oACQABAA8AEwAfYWNzcEFQUEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPbW
-AAEAAAAA0y1hcHBs2S6BsfMyXumJcebqTFAPNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAOclhZWgAAASwAAAAUZ1hZWgAAAUAAAAAUYlhZWgAAAVQAAAAUd3RwdAAAAWgAAAAUY2hhZAAA
-AXwAAAAsclRSQwAAAagAAAAOZ1RSQwAAAbgAAAAOYlRSQwAAAcgAAAAOdmNndAAAAdgAAAYSbmRp
-bgAAB+wAAAY+ZGVz/2MAAA4sAAAAZGRzY20AAA6QAAAApm1tb2QAAA84AAAAKGNwcnQAAA9gAAAA
-JFhZWiAAAAAAAABhCgAAOFEAAAdYWFlaIAAAAAAAAHBLAACwcwAAIo9YWVogAAAAAAAAJYEAABdX
-AACpPlhZWiAAAAAAAADzUgABAAAAARbPc2YzMgAAAAAAAQxCAAAF3v//8yYAAAeSAAD9kf//+6L/
-//2jAAAD3AAAwGxjdXJ2AAAAAAAAAAEBzQAAY3VydgAAAAAAAAABAc0AAGN1cnYAAAAAAAAAAQHN
-AAB2Y2d0AAAAAAAAAAAAAwEAAAIAAAAdAGUA0gF8AkoDHgQIBSMGXP8HsgkkCrMMXQ4OD9MRnhNl
-FSwW7RieGkQb3x1rHu4gYyHOIzEkiSXfJzEofSnIKw4sUy2TLtAwCTE/Mm0zlzS8Nd029jgNOR06
-KTszPDc9Oj46PzdAM0EuQilDIkQaRRRGDEcER/5I90nvSuhL4UzcTdZO0U/NUMpRyFLHU8dUx1XI
-VspXzFjPWdNa11vdXOJd6V7wX/hhAGIJYxNkHmUqZjZnQmhPaVtqaGt2bIRtkm6fb61wunHIctVz
-4nTvdfx3B3gSeRx6J3swfDd9P35Ff0qAT4FSglWDVoRXhVeGVodUiFKJUIpNi0qMR41DjkCPPZA7
-kTiSN5M2lDWVNZb/Npc3mDmZO5o+m0KcRZ1JnkyfUKBUoViiXKNfpGKlZqZpp2yob6lxqnSrdax3
-rXiuea95sHmxeLJ2s3S0cbVutmm3Y7hduVa6TbtDvDm9Lb4fvxDAAMDtwdnCw8OqxI/FccZRxy/I
-CsjkybzKkMtkzDXNBc3Tzp/PatAz0PzRwtKH00rUDdTO1YzWStcI18TYftk42fLaqtti3Brc0t2K
-3kLe+d+x4GjhIOHY4o/jR+P/5LblbeYl5tznlehP6Qrpx+qI60zsFOzi7bfuku918F/xUfJM80/0
-W/Vt9of3p/jN+fj7I/xU/Yr+xP//AAAAHABiAMoBZgIoAucDzgTN/wX2BzUIlAoFC5kNMQ7XEIcS
-LxPcFX0XFRikGicbmR0EHl0fsiD/IkcjhSTBJfsnLiheKY0quCvgLQMuIi87ME4xXTJkM2g0ZjVg
-NlY3Rzg2OR86CDrvO9M8tz2aPnw/XkA/QSFCAULiQ8NEpEWGRmlHTUgwSRZJ/ErkS81Mt02jTpJP
-gFBwUWFSU1NFVDhVK1YeVxBYA1j2Weda2VvLXL1drl6gX5BggWFyYmNjVGRGZThmK2cgaBRpCmoC
-avpr9Gzubepu5m/jcOFx33Ldc9t02XXWdtN3z3jMech6wnu8fLZ9rn6nf5+AloGNgoODeoRvhWWG
-XIdTiEmJQYo5i/8xjCqNJY4fjxqQFZERkg6TC5QIlQWWApb/l/2Y+pn3mvSb8Jzsneie45/foNqh
-1KLOo8ikw6W+prmntaixqa+qrauurK+tsq63r7yww7HLstSz3bTmtfC2+LgBuQm6D7sUvBi9Gr4a
-vxjAFcEQwgnDAcP2xOvF3cbPx7/IrcmayoXLcMxYzUDOJs8Lz+/Q0tGz0pPTctRR1S/WDdbr18nY
-p9mF2mXbRtwp3Q7d9d7f38zgvOGv4qXjnuSa5Zjmmeeb6J/ppOqq67Hsue3B7srv1PDe8ery9/QE
-9RT2Jfc3+Er5YPp3+478pv3A/t3//wAAABYATgCiARIBqQJNAvj/A8cErQWoBrkH3gkXClgLoQzx
-DkMPjBDWEhYTThR6FZ4WuBfKGNYZ2hraG9Yczh3DHrYfqCCXIYQibyNXJDwlHSX7JtQnqSh5KUYq
-DirRK5EsTi0HLbsuby8gL80weTElMcwydDMbM8A0ZTUKNa42Uzb2N5o4PjjhOYQ6KDrLO288Ejy1
-PVg9+j6dP0A/40CGQSlBzUJxQxZDvERjRQtFtEZfRwpHt0hlSRRJw0pzSyVL1kyJTTxN8E6kT1lQ
-DlDEUXtSMlLpU6FUWlUSVcxWhVc/V/lYs1ltWiha4ludXFhdE13OXopfRmACYL5he2I5YvdjtWR1
-ZTVl92a5Z31o/0JpCGnPaphrYmwtbPhtxW6Tb2FwMHD/cc9yoHNxdEJ1FXXndrp3jnhieTd6DHrh
-e7h8j31lfjx/FH/sgMWBnYJ3g1CEKoUEhd6GuYeViHGJTYoqiwiL5ozEjaOOg49kkEaRKJILkvCT
-1ZS8laOWjJd2mGCZTJo6myicF50Infue8J/noOGh3aLco9+k5KXspvioB6kYqiyrQ6xbrXauk6+x
-sNKx87MWtDq1X7aHt6+42boEuzG8X72QvsO/+sE1wnXDvMUQxm7H2sleyvTMp8580HHSjNTM10DZ
-2Nyl35jis+X36Wfs8vB29CP39Pvw//8AAG5kaW4AAAAAAAAGNv8AAJbwAABY6AAAUxgAAIpeAAAn
-lwAAFqgAAFANAABUOQACQo8AAfCjAAFrhQADAQAAAgAAABsAMABKAGUAfgCXALAAyQDiAPsBFAEt
-AUYBYQF7AZYBsQHOAesCCQIoAkgCaQKMArAC1gL9AyYDUQN+A6wD3QQQBEUEfAS2BPEFLgVtBa4F
-8QY1BnwGxAcOB1sHqQf6CE0Iowj8CVgJtgoYCn4K5gtTC8MMNgytDScNpA4lDqgPLg+2EEEQzxFe
-EfAShBMZE7EUSxTnFYQWIxbEF2YYChivGVUZ/BqlG1Ab+xypHVceBx64H2sgHiDUIYoiQiL7I7Uk
-cSUtJesmqif/aigsKO8ptCp6K0EsCizULaAubi89MA4w4TG1MoszYzQ9NRk1+DbYN7o4nzmHOnA7
-XDxLPTw+MD8mQB9BGkIYQxhEG0UgRidHMEg7SUhKV0tnTHhNi06gT7VQy1HjUvtUFFUuVkpXZliE
-WaJaw1vkXQdeLF9SYHpho2LPY/xlKmZbZ41owWn3ay9saW2lbuNwI3Flcqpz8XU7dod31nknenx7
-030tfop/64FPgreEIoWShwaIf4n9i4CNCo6akDGRz5N0lSCW05iOmk+cGJ3on7+hnaOBpW2nYalb
-q12taK95sZGzsLXVuAC6L7xivpjA0sMOxU3Hj8nUzBzOaNC3/9MI1VjXpdns3CneWeB64onkhuZy
-6E7qG+vZ7YvvM/DS8mnz+fWE9wr4k/oW+5T9D/6G//8AAAAcADMAUABrAIcAoQC8ANYA8QEMASYB
-QQFdAXkBlgGzAdEB8QIRAjICVQJ5Ap8CxgLvAxoDRwN3A6gD3QQTBEwEhwTEBQQFRgWKBdAGGQZk
-BrAHAAdRB6UH/AhWCLMJFAl4CeEKTQq+CzMLrAwqDKwNMw29DksO3Q9yEAoQpRFDEeMShxMsE9UU
-fxUrFdkWiRc6F+0YoBlVGgsawRt5HDIc7B2oHmUfJB/lIKghbSI0Iv4jyiSYJWgmOycPJ+YowCmb
-KngrVyw3Lf8ZLfsu3y/EMKoxkDJ3M180SDUyNhw3CTf2OOU51jrIO708tD2tPqg/pUCmQahCrUO1
-RL5Fy0baR+tI/koTSytMRE1eTnpPmFC2UdZS91QZVTtWX1eEWKpZ0Vr5XCNdTl57X6lg2WIKYz5k
-c2WrZuRoIGleap1r320jbmlvsXD6ckVzkHTddip3d3jFehJ7X3ysffh/RICRgd2DKoR4hceHF4hq
-ib6LFYxujcuPK5CPkfeTY5TTlkeXwJk9mr6cRJ3On1yg7qKFpCClwKdkqQ2quqxsriKv3bGds2G1
-Kbb0uMO6lLxnvjvAEMHjw7XFhMdQyRfK28yazlTQC9G+027/1RvWxthw2hjbwd1p3xHgueJi5Azl
-tedf6Qjqsexa7gHvqPFP8vT0mPY799/5g/sm/Mf+Zv//AAAAIwBCAGcAiQCrAM0A7wERATMBVgF6
-AZ8BxQHsAhYCQQJuAp4C0AMGAz4DewO7A/8ERgSSBOEFNAWKBeQGQQahBwUHbAfXCEcIuwk0CbMK
-OArEC1cL8gyUDT8N8g6sD28QORELEeMSwhOmFJAVfxZzF2wYahlsGnMbgByRHacewR/gIQEiJSNL
-JHIlmybEJ+4pGipIK3csqC3cLxEwSTGDMr8z/TU+NoA3xTkMOlc7ozzzPkU/m0DzQk5DrEUMRm5H
-00k5SqFM/wpNc07dUEdRsVMbVIRV7ldYWMJaLVuZXQZedF/kYVVix2Q6Za9nJWidahVrj20KboZw
-BHGEcwR0h3YLd5B5F3qffCl9tH9AgM2CXIPrhXuHDYifijKLxY1YjuyQf5ITk6aVOZbMmF+Z8puE
-nRaeqKA5ocijVqTipmyn86l3qvisdq3xr2mw3rJSs8K1MbafuAu5drrgvEq9sr8bwIPB6sNSxLnG
-H8eGyOzKUcu2zRvOf8/i0UPSotP+1VfWq9f62UHagdu53OneDN8n4DrhPuI+4y/kHOT95dnmq+d6
-6D7pAum56nDrIOvL7HftGO257lju8e+K8CDwsfFD8dPyXf/y6PNz8/j0ffUB9YT2BPaF9wX3iPgK
-+I35DfmJ+gb6g/r8+3X77fxm/Nr9Tv3C/jb+qP8a/43//wAAZGVzYwAAAAAAAAAKQ29sb3IgTENE
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1sdWMAAAAAAAAABQAAAAxlblVTAAAAEgAAAExmckZSAAAA
-EgAAAF5kZURFAAAAEAAAAHBlc0VTAAAAEgAAAIBpdElUAAAAFAAAAJIAQwBvAGwAbwByACAATABD
-AEQAyQCTYwByAGEAbgAgAEwAQwBEAEYAYQByAGIALQBMAEMARABMAEMARAAgAGMAbwBsAG8AcgBM
-AEMARAAgAGMAbwBsAG8AcgBpAABtbW9kAAAAAAAABhAAAJxhAAAAAMBd/wAAAAAAAAAAAAAAAAAA
-AAAAdGV4dAAAAABDb3B5cmlnaHQgQXBwbGUsIEluYy4sIDIwMTAAACwAAAAAGwARAAACMYSPqcvt
-D6Oc1IR6V54bhb+B1nGB3UimQKkqnRl6zKvJ9YqjrO6GH5pbnSrEovH4KAAAOw==
-}
-image create photo buttonimagetext -data $textdata
-
-set toggledata {
-R0lGODlhFAATAPMAAP///wAAAAEBAfz8/N3d3YeHh729vRISEg0NDQ4ODgAAAAAAAAAAAAAAAAAA
-AAAAACH5BAAAAAAAIf8LSUNDUkdCRzEwMTL/AAAPhGFwcGwCAAAAbW50clJHQiBYWVogB9oACQAB
-AA8AEwAfYWNzcEFQUEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPbWAAEAAAAA0y1hcHBs2S6B
-sfMyXumJcebqTFAPNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOclhZWgAAASwAAAAU
-Z1hZWgAAAUAAAAAUYlhZWgAAAVQAAAAUd3RwdAAAAWgAAAAUY2hhZAAAAXwAAAAsclRSQwAAAagA
-AAAOZ1RSQwAAAbgAAAAOYlRSQwAAAcgAAAAOdmNndAAAAdgAAAYSbmRpbgAAB+wAAAY+ZGVz/2MA
-AA4sAAAAZGRzY20AAA6QAAAApm1tb2QAAA84AAAAKGNwcnQAAA9gAAAAJFhZWiAAAAAAAABhCgAA
-OFEAAAdYWFlaIAAAAAAAAHBLAACwcwAAIo9YWVogAAAAAAAAJYEAABdXAACpPlhZWiAAAAAAAADz
-UgABAAAAARbPc2YzMgAAAAAAAQxCAAAF3v//8yYAAAeSAAD9kf//+6L///2jAAAD3AAAwGxjdXJ2
-AAAAAAAAAAEBzQAAY3VydgAAAAAAAAABAc0AAGN1cnYAAAAAAAAAAQHNAAB2Y2d0AAAAAAAAAAAA
-AwEAAAIAAAAdAGUA0gF8AkoDHgQIBSMGXP8HsgkkCrMMXQ4OD9MRnhNlFSwW7RieGkQb3x1rHu4g
-YyHOIzEkiSXfJzEofSnIKw4sUy2TLtAwCTE/Mm0zlzS8Nd029jgNOR06KTszPDc9Oj46PzdAM0Eu
-QilDIkQaRRRGDEcER/5I90nvSuhL4UzcTdZO0U/NUMpRyFLHU8dUx1XIVspXzFjPWdNa11vdXOJd
-6V7wX/hhAGIJYxNkHmUqZjZnQmhPaVtqaGt2bIRtkm6fb61wunHIctVz4nTvdfx3B3gSeRx6J3sw
-fDd9P35Ff0qAT4FSglWDVoRXhVeGVodUiFKJUIpNi0qMR41DjkCPPZA7kTiSN5M2lDWVNZb/Npc3
-mDmZO5o+m0KcRZ1JnkyfUKBUoViiXKNfpGKlZqZpp2yob6lxqnSrdax3rXiuea95sHmxeLJ2s3S0
-cbVutmm3Y7hduVa6TbtDvDm9Lb4fvxDAAMDtwdnCw8OqxI/FccZRxy/ICsjkybzKkMtkzDXNBc3T
-zp/PatAz0PzRwtKH00rUDdTO1YzWStcI18TYftk42fLaqtti3Brc0t2K3kLe+d+x4GjhIOHY4o/j
-R+P/5LblbeYl5tznlehP6Qrpx+qI60zsFOzi7bfuku918F/xUfJM80/0W/Vt9of3p/jN+fj7I/xU
-/Yr+xP//AAAAHABiAMoBZgIoAucDzgTN/wX2BzUIlAoFC5kNMQ7XEIcSLxPcFX0XFRikGicbmR0E
-Hl0fsiD/IkcjhSTBJfsnLiheKY0quCvgLQMuIi87ME4xXTJkM2g0ZjVgNlY3Rzg2OR86CDrvO9M8
-tz2aPnw/XkA/QSFCAULiQ8NEpEWGRmlHTUgwSRZJ/ErkS81Mt02jTpJPgFBwUWFSU1NFVDhVK1Ye
-VxBYA1j2Weda2VvLXL1drl6gX5BggWFyYmNjVGRGZThmK2cgaBRpCmoCavpr9Gzubepu5m/jcOFx
-33Ldc9t02XXWdtN3z3jMech6wnu8fLZ9rn6nf5+AloGNgoODeoRvhWWGXIdTiEmJQYo5i/8xjCqN
-JY4fjxqQFZERkg6TC5QIlQWWApb/l/2Y+pn3mvSb8Jzsneie45/foNqh1KLOo8ikw6W+prmntaix
-qa+qrauurK+tsq63r7yww7HLstSz3bTmtfC2+LgBuQm6D7sUvBi9Gr4avxjAFcEQwgnDAcP2xOvF
-3cbPx7/IrcmayoXLcMxYzUDOJs8Lz+/Q0tGz0pPTctRR1S/WDdbr18nYp9mF2mXbRtwp3Q7d9d7f
-38zgvOGv4qXjnuSa5Zjmmeeb6J/ppOqq67Hsue3B7srv1PDe8ery9/QE9RT2Jfc3+Er5YPp3+478
-pv3A/t3//wAAABYATgCiARIBqQJNAvj/A8cErQWoBrkH3gkXClgLoQzxDkMPjBDWEhYTThR6FZ4W
-uBfKGNYZ2hraG9Yczh3DHrYfqCCXIYQibyNXJDwlHSX7JtQnqSh5KUYqDirRK5EsTi0HLbsuby8g
-L80weTElMcwydDMbM8A0ZTUKNa42Uzb2N5o4PjjhOYQ6KDrLO288Ejy1PVg9+j6dP0A/40CGQSlB
-zUJxQxZDvERjRQtFtEZfRwpHt0hlSRRJw0pzSyVL1kyJTTxN8E6kT1lQDlDEUXtSMlLpU6FUWlUS
-VcxWhVc/V/lYs1ltWiha4ludXFhdE13OXopfRmACYL5he2I5YvdjtWR1ZTVl92a5Z31o/0JpCGnP
-aphrYmwtbPhtxW6Tb2FwMHD/cc9yoHNxdEJ1FXXndrp3jnhieTd6DHrhe7h8j31lfjx/FH/sgMWB
-nYJ3g1CEKoUEhd6GuYeViHGJTYoqiwiL5ozEjaOOg49kkEaRKJILkvCT1ZS8laOWjJd2mGCZTJo6
-myicF50Infue8J/noOGh3aLco9+k5KXspvioB6kYqiyrQ6xbrXauk6+xsNKx87MWtDq1X7aHt6+4
-2boEuzG8X72QvsO/+sE1wnXDvMUQxm7H2sleyvTMp8580HHSjNTM10DZ2Nyl35jis+X36Wfs8vB2
-9CP39Pvw//8AAG5kaW4AAAAAAAAGNv8AAJbwAABY6AAAUxgAAIpeAAAnlwAAFqgAAFANAABUOQAC
-Qo8AAfCjAAFrhQADAQAAAgAAABsAMABKAGUAfgCXALAAyQDiAPsBFAEtAUYBYQF7AZYBsQHOAesC
-CQIoAkgCaQKMArAC1gL9AyYDUQN+A6wD3QQQBEUEfAS2BPEFLgVtBa4F8QY1BnwGxAcOB1sHqQf6
-CE0Iowj8CVgJtgoYCn4K5gtTC8MMNgytDScNpA4lDqgPLg+2EEEQzxFeEfAShBMZE7EUSxTnFYQW
-IxbEF2YYChivGVUZ/BqlG1Ab+xypHVceBx64H2sgHiDUIYoiQiL7I7UkcSUtJesmqif/aigsKO8p
-tCp6K0EsCizULaAubi89MA4w4TG1MoszYzQ9NRk1+DbYN7o4nzmHOnA7XDxLPTw+MD8mQB9BGkIY
-QxhEG0UgRidHMEg7SUhKV0tnTHhNi06gT7VQy1HjUvtUFFUuVkpXZliEWaJaw1vkXQdeLF9SYHph
-o2LPY/xlKmZbZ41owWn3ay9saW2lbuNwI3Flcqpz8XU7dod31nknenx7030tfop/64FPgreEIoWS
-hwaIf4n9i4CNCo6akDGRz5N0lSCW05iOmk+cGJ3on7+hnaOBpW2nYalbq12taK95sZGzsLXVuAC6
-L7xivpjA0sMOxU3Hj8nUzBzOaNC3/9MI1VjXpdns3CneWeB64onkhuZy6E7qG+vZ7YvvM/DS8mnz
-+fWE9wr4k/oW+5T9D/6G//8AAAAcADMAUABrAIcAoQC8ANYA8QEMASYBQQFdAXkBlgGzAdEB8QIR
-AjICVQJ5Ap8CxgLvAxoDRwN3A6gD3QQTBEwEhwTEBQQFRgWKBdAGGQZkBrAHAAdRB6UH/AhWCLMJ
-FAl4CeEKTQq+CzMLrAwqDKwNMw29DksO3Q9yEAoQpRFDEeMShxMsE9UUfxUrFdkWiRc6F+0YoBlV
-GgsawRt5HDIc7B2oHmUfJB/lIKghbSI0Iv4jyiSYJWgmOycPJ+YowCmbKngrVyw3Lf8ZLfsu3y/E
-MKoxkDJ3M180SDUyNhw3CTf2OOU51jrIO708tD2tPqg/pUCmQahCrUO1RL5Fy0baR+tI/koTSytM
-RE1eTnpPmFC2UdZS91QZVTtWX1eEWKpZ0Vr5XCNdTl57X6lg2WIKYz5kc2WrZuRoIGleap1r320j
-bmlvsXD6ckVzkHTddip3d3jFehJ7X3ysffh/RICRgd2DKoR4hceHF4hqib6LFYxujcuPK5CPkfeT
-Y5TTlkeXwJk9mr6cRJ3On1yg7qKFpCClwKdkqQ2quqxsriKv3bGds2G1Kbb0uMO6lLxnvjvAEMHj
-w7XFhMdQyRfK28yazlTQC9G+027/1RvWxthw2hjbwd1p3xHgueJi5Azltedf6Qjqsexa7gHvqPFP
-8vT0mPY799/5g/sm/Mf+Zv//AAAAIwBCAGcAiQCrAM0A7wERATMBVgF6AZ8BxQHsAhYCQQJuAp4C
-0AMGAz4DewO7A/8ERgSSBOEFNAWKBeQGQQahBwUHbAfXCEcIuwk0CbMKOArEC1cL8gyUDT8N8g6s
-D28QORELEeMSwhOmFJAVfxZzF2wYahlsGnMbgByRHacewR/gIQEiJSNLJHIlmybEJ+4pGipIK3cs
-qC3cLxEwSTGDMr8z/TU+NoA3xTkMOlc7ozzzPkU/m0DzQk5DrEUMRm5H00k5SqFM/wpNc07dUEdR
-sVMbVIRV7ldYWMJaLVuZXQZedF/kYVVix2Q6Za9nJWidahVrj20KboZwBHGEcwR0h3YLd5B5F3qf
-fCl9tH9AgM2CXIPrhXuHDYifijKLxY1YjuyQf5ITk6aVOZbMmF+Z8puEnRaeqKA5ocijVqTipmyn
-86l3qvisdq3xr2mw3rJSs8K1MbafuAu5drrgvEq9sr8bwIPB6sNSxLnGH8eGyOzKUcu2zRvOf8/i
-0UPSotP+1VfWq9f62UHagdu53OneDN8n4DrhPuI+4y/kHOT95dnmq+d66D7pAum56nDrIOvL7Hft
-GO257lju8e+K8CDwsfFD8dPyXf/y6PNz8/j0ffUB9YT2BPaF9wX3iPgK+I35DfmJ+gb6g/r8+3X7
-7fxm/Nr9Tv3C/jb+qP8a/43//wAAZGVzYwAAAAAAAAAKQ29sb3IgTENEAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAG1sdWMAAAAAAAAABQAAAAxlblVTAAAAEgAAAExmckZSAAAAEgAAAF5kZURFAAAAEAAA
-AHBlc0VTAAAAEgAAAIBpdElUAAAAFAAAAJIAQwBvAGwAbwByACAATABDAEQAyQCTYwByAGEAbgAg
-AEwAQwBEAEYAYQByAGIALQBMAEMARABMAEMARAAgAGMAbwBsAG8AcgBMAEMARAAgAGMAbwBsAG8A
-cgBpAABtbW9kAAAAAAAABhAAAJxhAAAAAMBd/wAAAAAAAAAAAAAAAAAAAAAAdGV4dAAAAABDb3B5
-cmlnaHQgQXBwbGUsIEluYy4sIDIwMTAAACwAAAAAFAATAAAEWhDISau92IbNuxeUxw0kSRRBOBRE
-6Q7GYaRTAMvvbQy0ZOuu2I6nIgmNOFIP8EMajqVl04hIDKPFkiGBuCqzOui3pk2Kpc5gEi0u79Cs
-nFMqmg5O9LoIlOlLIgA7
-}
-image create photo buttonimagetoggle -data $toggledata
-
-set vradiodata {
-R0lGODlhEgATAPABAP///wAAACH5BAQAAAAAIf8LSUNDUkdCRzEwMTL/ZGluAAAH7AAABj5kZXNj
-AAAOLAAAAGRkc2NtAAAOkAAAAKZtbW9kAAAPOAAAAChjcHJ0AAAPYAAAACRYWVogAAAAAAAAYQoA
-ADhRAAAHWFhZWiAAAAAAAABwSwAAsHMAACKPWFlaIAAAAAAAACWBAAAXVwAAqT5YWVogAAAAAAAA
-81IAAQAAAAEWz3NmMzIAAAAAAAEMQgAABd7///MmAAAHkgAA/ZH///ui///9owAAA9wAAMBsY3Vy
-dgAAAAAAAAABAc0AAGN1cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAAdmNndAAAAAAAAAAA
-AAMBAAACAAAAHQBl/wDSAXwCSgMeBAgFIwZcB7IJJAqzDF0ODg/TEZ4TZRUsFu0YnhpEG98dax7u
-IGMhziMxJIkl3ycxKH0pyCsOLFMtky7QMAkxPzJtM5c0vDXdNvY4DTkdOik7Mzw3PTo+Oj83QDNB
-LkIpQyJEGkUURgxHBEf+SPdJ70roS+FM3E3WTtFPzVDKUchSx1PHVMdVyFbKV8xYz1nTWtdb3Vzi
-Xele8F/4YQBiCWMTZB5lKmY2Z0JoT2lbamhrdmyEbZJun2+tcLpxyHLVc+J073X8dwd4Enkceid7
-MHw3fT9+RX9KgE+BUoJVg1aEV4VXhlaHVIhSiVCKTYtKjEeNQ45Aj/89kDuROJI3kzaUNZU1ljaX
-N5g5mTuaPptCnEWdSZ5Mn1CgVKFYolyjX6RipWamaadsqG+pcap0q3Wsd614rnmvebB5sXiydrN0
-tHG1brZpt2O4XblWuk27Q7w5vS2+H78QwADA7cHZwsPDqsSPxXHGUccvyArI5Mm8ypDLZMw1zQXN
-086fz2rQM9D80cLSh9NK1A3UztWM1krXCNfE2H7ZONny2qrbYtwa3NLdit5C3vnfseBo4SDh2OKP
-40fj/+S25W3mJebc55XoT+kK6cfqiOtM7BTs4u237pLvdfBf8VHyTPNP9Fv1bfaH96f4zfn4+yP8
-VP2K/sT//wAAABz/AGIAygFmAigC5wPOBM0F9gc1CJQKBQuZDTEO1xCHEi8T3BV9FxUYpBonG5kd
-BB5dH7Ig/yJHI4UkwSX7Jy4oXimNKrgr4C0DLiIvOzBOMV0yZDNoNGY1YDZWN0c4NjkfOgg67zvT
-PLc9mj58P15AP0EhQgFC4kPDRKRFhkZpR01IMEkWSfxK5EvNTLdNo06ST4BQcFFhUlNTRVQ4VStW
-HlcQWANY9lnnWtlby1y9Xa5eoF+QYIFhcmJjY1RkRmU4ZitnIGgUaQpqAmr6a/Rs7m3qbuZv43Dh
-cd9y3XPbdNl11nbTd894zHnIesJ7vHy2fa5+p3+fgJaBjYKDg3qE/2+FZYZch1OISYlBijmLMYwq
-jSWOH48akBWREZIOkwuUCJUFlgKW/5f9mPqZ95r0m/Cc7J3onuOf36DaodSizqPIpMOlvqa5p7Wo
-samvqq2rrqyvrbKut6+8sMOxy7LUs9205rXwtvi4AbkJug+7FLwYvRq+Gr8YwBXBEMIJwwHD9sTr
-xd3Gz8e/yK3JmsqFy3DMWM1AzibPC8/v0NLRs9KT03LUUdUv1g3W69fJ2KfZhdpl20bcKd0O3fXe
-39/M4Lzhr+Kl457kmuWY5pnnm+if6aTqquux7Lntwe7K79Tw3vHq8vf0BPUU9iX3N/hK+WD6d/uO
-/Kb9wP7d//8AAP8AFgBOAKIBEgGpAk0C+APHBK0FqAa5B94JFwpYC6EM8Q5DD4wQ1hIWE04UehWe
-FrgXyhjWGdoa2hvWHM4dwx62H6gglyGEIm8jVyQ8JR0l+ybUJ6koeSlGKg4q0SuRLE4tBy27Lm8v
-IC/NMHkxJTHMMnQzGzPANGU1CjWuNlM29jeaOD444TmEOig6yztvPBI8tT1YPfo+nT9AP+NAhkEp
-Qc1CcUMWQ7xEY0ULRbRGX0cKR7dIZUkUScNKc0slS9ZMiU08TfBOpE9ZUA5QxFF7UjJS6VOhVFpV
-ElXMVoVXP1f5WLNZbVooWuJbnVxYXRNdzl6KX0ZgAmC+YXtiOWL/92O1ZHVlNWX3ZrlnfWhCaQhp
-z2qYa2JsLWz4bcVuk29hcDBw/3HPcqBzcXRCdRV153a6d454Ynk3egx64Xu4fI99ZX48fxR/7IDF
-gZ2Cd4NQhCqFBIXehrmHlYhxiU2KKosIi+aMxI2jjoOPZJBGkSiSC5Lwk9WUvJWjloyXdphgmUya
-OpsonBedCJ37nvCf56Dhod2i3KPfpOSl7Kb4qAepGKosq0OsW612rpOvsbDSsfOzFrQ6tV+2h7ev
-uNm6BLsxvF+9kL7Dv/rBNcJ1w7zFEMZux9rJXsr0zKfOfNBx0ozUzNdA2djcpd+Y4rPl9+ln7PLw
-dvQj9/T78P///wAAbmRpbgAAAAAAAAY2AACW8AAAWOgAAFMYAACKXgAAJ5cAABaoAABQDQAAVDkA
-AkKPAAHwowABa4UAAwEAAAIAAAAbADAASgBlAH4AlwCwAMkA4gD7ARQBLQFGAWEBewGWAbEBzgHr
-AgkCKAJIAmkCjAKwAtYC/QMmA1EDfgOsA90EEARFBHwEtgTxBS4FbQWuBfEGNQZ8BsQHDgdbB6kH
-+ghNCKMI/AlYCbYKGAp+CuYLUwvDDDYMrQ0nDaQOJQ6oDy4PthBBEM8RXhHwEoQTGROxFEsU5xWE
-FiMWxBdmGAoYrxlVGfwapRtQG/scqR1XHgceuB9rIB4g1CGKIv9CIvsjtSRxJS0l6yaqJ2ooLCjv
-KbQqeitBLAos1C2gLm4vPTAOMOExtTKLM2M0PTUZNfg22De6OJ85hzpwO1w8Sz08PjA/JkAfQRpC
-GEMYRBtFIEYnRzBIO0lISldLZ0x4TYtOoE+1UMtR41L7VBRVLlZKV2ZYhFmiWsNb5F0HXixfUmB6
-YaNiz2P8ZSpmW2eNaMFp92svbGltpW7jcCNxZXKqc/F1O3aHd9Z5J3p8e9N9LX6Kf+uBT4K3hCKF
-kocGiH+J/YuAjQqOmpAxkc+TdJUgltOYjppPnBid6J+/oZ2jgaVtp2GpW6tdrWivebGRs7C11bgA
-ui+8Yr6YwNL/ww7FTcePydTMHM5o0LfTCNVY16XZ7Nwp3lngeuKJ5IbmcuhO6hvr2e2L7zPw0vJp
-8/n1hPcK+JP6FvuU/Q/+hv//AAAAHAAzAFAAawCHAKEAvADWAPEBDAEmAUEBXQF5AZYBswHRAfEC
-EQIyAlUCeQKfAsYC7wMaA0cDdwOoA90EEwRMBIcExAUEBUYFigXQBhkGZAawBwAHUQelB/wIVgiz
-CRQJeAnhCk0KvgszC6wMKgysDTMNvQ5LDt0PchAKEKURQxHjEocTLBPVFH8VKxXZFokXOhftGKAZ
-VRoLGsEbeRwyHOwdqB5lHyQf5SCoIW0iNCL+I8okmCVoJjsn/w8n5ijAKZsqeCtXLDctGS37Lt8v
-xDCqMZAydzNfNEg1MjYcNwk39jjlOdY6yDu9PLQ9rT6oP6VApkGoQq1DtUS+RctG2kfrSP5KE0sr
-TERNXk56T5hQtlHWUvdUGVU7Vl9XhFiqWdFa+VwjXU5ee1+pYNliCmM+ZHNlq2bkaCBpXmqda99t
-I25pb7Fw+nJFc5B03XYqd3d4xXoSe198rH34f0SAkYHdgyqEeIXHhxeIaom+ixWMbo3LjyuQj5H3
-k2OU05ZHl8CZPZq+nESdzp9coO6ihaQgpcCnZKkNqrqsbK4ir92xnbNhtSm29LjDupS8Z747wBDB
-48O1xYTHUP/JF8rbzJrOVNAL0b7TbtUb1sbYcNoY28Hdad8R4LniYuQM5bXnX+kI6rHsWu4B76jx
-T/L09Jj2O/ff+YP7JvzH/mb//wAAACMAQgBnAIkAqwDNAO8BEQEzAVYBegGfAcUB7AIWAkECbgKe
-AtADBgM+A3sDuwP/BEYEkgThBTQFigXkBkEGoQcFB2wH1whHCLsJNAmzCjgKxAtXC/IMlA0/DfIO
-rA9vEDkRCxHjEsITphSQFX8WcxdsGGoZbBpzG4AckR2nHsEf4CEBIiUjSyRyJZsmxCfuKRoqSCt3
-LKgt3C8RMEkxgzK/M/01PjaAN8U5DDpXO6M88z5FP5tA80L/TkOsRQxGbkfTSTlKoUwKTXNO3VBH
-UbFTG1SEVe5XWFjCWi1bmV0GXnRf5GFVYsdkOmWvZyVonWoVa49tCm6GcARxhHMEdId2C3eQeRd6
-n3wpfbR/QIDNglyD64V7hw2In4oyi8WNWI7skH+SE5OmlTmWzJhfmfKbhJ0WnqigOaHIo1ak4qZs
-p/Opd6r4rHat8a9psN6yUrPCtTG2n7gLuXa64LxKvbK/G8CDwerDUsS5xh/HhsjsylHLts0bzn/P
-4tFD0qLT/tVX1qvX+tlB2oHbudzp3gzfJ+A64T7iPuMv5Bzk/eXZ5qvneug+6QLpuepw6yDry+x3
-7Rjtue5Y/+7x74rwIPCx8UPx0/Jd8ujzc/P49H31AfWE9gT2hfcF94j4CviN+Q35ifoG+oP6/Pt1
-++38Zvza/U79wv42/qj/Gv+N//8AAGRlc2MAAAAAAAAACkNvbG9yIExDRAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAABtbHVjAAAAAAAAAAUAAAAMZW5VUwAAABIAAABMZnJGUgAAABIAAABeZGVERQAAABAA
-AABwZXNFUwAAABIAAACAaXRJVAAAABQAAACSAEMAbwBsAKFvAHIAIABMAEMARADJAGMAcgBhAG4A
-IABMAEMARABGAGEAcgBiAC0ATABDAEQATABDAEQAIABjAG8AbABvAHIATABDAEQAIABjAG8AbABv
-AHIAaQAAbW1vZAAAAAAAAAYQAACcYQAAAADAXf8AAAAAAAAAAAAAAAAAAAAAAHRleHQAAAAAQ29w
-eXJpZ2h0IEFwcGxlLCBJbmMuLCAyMDEwAAAsAAAAABIAEwAAAiyEj6kW7b7YexEES2+801aefRik
-LSApKqU6QZuZJqsMv2qMzHltts3n01UWBQA7
-}
-image create photo buttonimagevradio -data $vradiodata
-
-set vsliderdata {
-R0lGODlhFQAXAPAAAAAAAP///yH5BAQAAAAAIf8LSUNDUkdCRzEwMTL/ZGluAAAH7AAABj5kZXNj
-AAAOLAAAAGRkc2NtAAAOkAAAAKZtbW9kAAAPOAAAAChjcHJ0AAAPYAAAACRYWVogAAAAAAAAYQoA
-ADhRAAAHWFhZWiAAAAAAAABwSwAAsHMAACKPWFlaIAAAAAAAACWBAAAXVwAAqT5YWVogAAAAAAAA
-81IAAQAAAAEWz3NmMzIAAAAAAAEMQgAABd7///MmAAAHkgAA/ZH///ui///9owAAA9wAAMBsY3Vy
-dgAAAAAAAAABAc0AAGN1cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAAdmNndAAAAAAAAAAA
-AAMBAAACAAAAHQBl/wDSAXwCSgMeBAgFIwZcB7IJJAqzDF0ODg/TEZ4TZRUsFu0YnhpEG98dax7u
-IGMhziMxJIkl3ycxKH0pyCsOLFMtky7QMAkxPzJtM5c0vDXdNvY4DTkdOik7Mzw3PTo+Oj83QDNB
-LkIpQyJEGkUURgxHBEf+SPdJ70roS+FM3E3WTtFPzVDKUchSx1PHVMdVyFbKV8xYz1nTWtdb3Vzi
-Xele8F/4YQBiCWMTZB5lKmY2Z0JoT2lbamhrdmyEbZJun2+tcLpxyHLVc+J073X8dwd4Enkceid7
-MHw3fT9+RX9KgE+BUoJVg1aEV4VXhlaHVIhSiVCKTYtKjEeNQ45Aj/89kDuROJI3kzaUNZU1ljaX
-N5g5mTuaPptCnEWdSZ5Mn1CgVKFYolyjX6RipWamaadsqG+pcap0q3Wsd614rnmvebB5sXiydrN0
-tHG1brZpt2O4XblWuk27Q7w5vS2+H78QwADA7cHZwsPDqsSPxXHGUccvyArI5Mm8ypDLZMw1zQXN
-086fz2rQM9D80cLSh9NK1A3UztWM1krXCNfE2H7ZONny2qrbYtwa3NLdit5C3vnfseBo4SDh2OKP
-40fj/+S25W3mJebc55XoT+kK6cfqiOtM7BTs4u237pLvdfBf8VHyTPNP9Fv1bfaH96f4zfn4+yP8
-VP2K/sT//wAAABz/AGIAygFmAigC5wPOBM0F9gc1CJQKBQuZDTEO1xCHEi8T3BV9FxUYpBonG5kd
-BB5dH7Ig/yJHI4UkwSX7Jy4oXimNKrgr4C0DLiIvOzBOMV0yZDNoNGY1YDZWN0c4NjkfOgg67zvT
-PLc9mj58P15AP0EhQgFC4kPDRKRFhkZpR01IMEkWSfxK5EvNTLdNo06ST4BQcFFhUlNTRVQ4VStW
-HlcQWANY9lnnWtlby1y9Xa5eoF+QYIFhcmJjY1RkRmU4ZitnIGgUaQpqAmr6a/Rs7m3qbuZv43Dh
-cd9y3XPbdNl11nbTd894zHnIesJ7vHy2fa5+p3+fgJaBjYKDg3qE/2+FZYZch1OISYlBijmLMYwq
-jSWOH48akBWREZIOkwuUCJUFlgKW/5f9mPqZ95r0m/Cc7J3onuOf36DaodSizqPIpMOlvqa5p7Wo
-samvqq2rrqyvrbKut6+8sMOxy7LUs9205rXwtvi4AbkJug+7FLwYvRq+Gr8YwBXBEMIJwwHD9sTr
-xd3Gz8e/yK3JmsqFy3DMWM1AzibPC8/v0NLRs9KT03LUUdUv1g3W69fJ2KfZhdpl20bcKd0O3fXe
-39/M4Lzhr+Kl457kmuWY5pnnm+if6aTqquux7Lntwe7K79Tw3vHq8vf0BPUU9iX3N/hK+WD6d/uO
-/Kb9wP7d//8AAP8AFgBOAKIBEgGpAk0C+APHBK0FqAa5B94JFwpYC6EM8Q5DD4wQ1hIWE04UehWe
-FrgXyhjWGdoa2hvWHM4dwx62H6gglyGEIm8jVyQ8JR0l+ybUJ6koeSlGKg4q0SuRLE4tBy27Lm8v
-IC/NMHkxJTHMMnQzGzPANGU1CjWuNlM29jeaOD444TmEOig6yztvPBI8tT1YPfo+nT9AP+NAhkEp
-Qc1CcUMWQ7xEY0ULRbRGX0cKR7dIZUkUScNKc0slS9ZMiU08TfBOpE9ZUA5QxFF7UjJS6VOhVFpV
-ElXMVoVXP1f5WLNZbVooWuJbnVxYXRNdzl6KX0ZgAmC+YXtiOWL/92O1ZHVlNWX3ZrlnfWhCaQhp
-z2qYa2JsLWz4bcVuk29hcDBw/3HPcqBzcXRCdRV153a6d454Ynk3egx64Xu4fI99ZX48fxR/7IDF
-gZ2Cd4NQhCqFBIXehrmHlYhxiU2KKosIi+aMxI2jjoOPZJBGkSiSC5Lwk9WUvJWjloyXdphgmUya
-OpsonBedCJ37nvCf56Dhod2i3KPfpOSl7Kb4qAepGKosq0OsW612rpOvsbDSsfOzFrQ6tV+2h7ev
-uNm6BLsxvF+9kL7Dv/rBNcJ1w7zFEMZux9rJXsr0zKfOfNBx0ozUzNdA2djcpd+Y4rPl9+ln7PLw
-dvQj9/T78P///wAAbmRpbgAAAAAAAAY2AACW8AAAWOgAAFMYAACKXgAAJ5cAABaoAABQDQAAVDkA
-AkKPAAHwowABa4UAAwEAAAIAAAAbADAASgBlAH4AlwCwAMkA4gD7ARQBLQFGAWEBewGWAbEBzgHr
-AgkCKAJIAmkCjAKwAtYC/QMmA1EDfgOsA90EEARFBHwEtgTxBS4FbQWuBfEGNQZ8BsQHDgdbB6kH
-+ghNCKMI/AlYCbYKGAp+CuYLUwvDDDYMrQ0nDaQOJQ6oDy4PthBBEM8RXhHwEoQTGROxFEsU5xWE
-FiMWxBdmGAoYrxlVGfwapRtQG/scqR1XHgceuB9rIB4g1CGKIv9CIvsjtSRxJS0l6yaqJ2ooLCjv
-KbQqeitBLAos1C2gLm4vPTAOMOExtTKLM2M0PTUZNfg22De6OJ85hzpwO1w8Sz08PjA/JkAfQRpC
-GEMYRBtFIEYnRzBIO0lISldLZ0x4TYtOoE+1UMtR41L7VBRVLlZKV2ZYhFmiWsNb5F0HXixfUmB6
-YaNiz2P8ZSpmW2eNaMFp92svbGltpW7jcCNxZXKqc/F1O3aHd9Z5J3p8e9N9LX6Kf+uBT4K3hCKF
-kocGiH+J/YuAjQqOmpAxkc+TdJUgltOYjppPnBid6J+/oZ2jgaVtp2GpW6tdrWivebGRs7C11bgA
-ui+8Yr6YwNL/ww7FTcePydTMHM5o0LfTCNVY16XZ7Nwp3lngeuKJ5IbmcuhO6hvr2e2L7zPw0vJp
-8/n1hPcK+JP6FvuU/Q/+hv//AAAAHAAzAFAAawCHAKEAvADWAPEBDAEmAUEBXQF5AZYBswHRAfEC
-EQIyAlUCeQKfAsYC7wMaA0cDdwOoA90EEwRMBIcExAUEBUYFigXQBhkGZAawBwAHUQelB/wIVgiz
-CRQJeAnhCk0KvgszC6wMKgysDTMNvQ5LDt0PchAKEKURQxHjEocTLBPVFH8VKxXZFokXOhftGKAZ
-VRoLGsEbeRwyHOwdqB5lHyQf5SCoIW0iNCL+I8okmCVoJjsn/w8n5ijAKZsqeCtXLDctGS37Lt8v
-xDCqMZAydzNfNEg1MjYcNwk39jjlOdY6yDu9PLQ9rT6oP6VApkGoQq1DtUS+RctG2kfrSP5KE0sr
-TERNXk56T5hQtlHWUvdUGVU7Vl9XhFiqWdFa+VwjXU5ee1+pYNliCmM+ZHNlq2bkaCBpXmqda99t
-I25pb7Fw+nJFc5B03XYqd3d4xXoSe198rH34f0SAkYHdgyqEeIXHhxeIaom+ixWMbo3LjyuQj5H3
-k2OU05ZHl8CZPZq+nESdzp9coO6ihaQgpcCnZKkNqrqsbK4ir92xnbNhtSm29LjDupS8Z747wBDB
-48O1xYTHUP/JF8rbzJrOVNAL0b7TbtUb1sbYcNoY28Hdad8R4LniYuQM5bXnX+kI6rHsWu4B76jx
-T/L09Jj2O/ff+YP7JvzH/mb//wAAACMAQgBnAIkAqwDNAO8BEQEzAVYBegGfAcUB7AIWAkECbgKe
-AtADBgM+A3sDuwP/BEYEkgThBTQFigXkBkEGoQcFB2wH1whHCLsJNAmzCjgKxAtXC/IMlA0/DfIO
-rA9vEDkRCxHjEsITphSQFX8WcxdsGGoZbBpzG4AckR2nHsEf4CEBIiUjSyRyJZsmxCfuKRoqSCt3
-LKgt3C8RMEkxgzK/M/01PjaAN8U5DDpXO6M88z5FP5tA80L/TkOsRQxGbkfTSTlKoUwKTXNO3VBH
-UbFTG1SEVe5XWFjCWi1bmV0GXnRf5GFVYsdkOmWvZyVonWoVa49tCm6GcARxhHMEdId2C3eQeRd6
-n3wpfbR/QIDNglyD64V7hw2In4oyi8WNWI7skH+SE5OmlTmWzJhfmfKbhJ0WnqigOaHIo1ak4qZs
-p/Opd6r4rHat8a9psN6yUrPCtTG2n7gLuXa64LxKvbK/G8CDwerDUsS5xh/HhsjsylHLts0bzn/P
-4tFD0qLT/tVX1qvX+tlB2oHbudzp3gzfJ+A64T7iPuMv5Bzk/eXZ5qvneug+6QLpuepw6yDry+x3
-7Rjtue5Y/+7x74rwIPCx8UPx0/Jd8ujzc/P49H31AfWE9gT2hfcF94j4CviN+Q35ifoG+oP6/Pt1
-++38Zvza/U79wv42/qj/Gv+N//8AAGRlc2MAAAAAAAAACkNvbG9yIExDRAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAABtbHVjAAAAAAAAAAUAAAAMZW5VUwAAABIAAABMZnJGUgAAABIAAABeZGVERQAAABAA
-AABwZXNFUwAAABIAAACAaXRJVAAAABQAAACSAEMAbwBsAKFvAHIAIABMAEMARADJAGMAcgBhAG4A
-IABMAEMARABGAGEAcgBiAC0ATABDAEQATABDAEQAIABjAG8AbABvAHIATABDAEQAIABjAG8AbABv
-AHIAaQAAbW1vZAAAAAAAAAYQAACcYQAAAADAXf8AAAAAAAAAAAAAAAAAAAAAAHRleHQAAAAAQ29w
-eXJpZ2h0IEFwcGxlLCBJbmMuLCAyMDEwAAAsAAAAABUAFwAAAjOMj6kJ7Q/Wgc5EGe7SG3P1IaHo
-YVnpUY+prmk7TqgUnzPI3jid8zr5kwUtLBXx1TIpEwUAOw==
-}
-image create photo buttonimagevslider -data $vsliderdata
-
-set vumeterdata {
-R0lGODlhHQAQAKIAAAAAAEBAQOjoKPwoKPysRP///wAAAAAAACH5BAQAAAAAIf/8SUNDUkdCRzEw
-MTIAAA+EYXBwbAIAAABtbnRyUkdCIFhZWiAH2gAJAAEADwATAB9hY3NwQVBQTAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAA5yWFlaAAABLAAAABRnWFlaAAABQAAAABRiWFlaAAABVAAAABR3
-dHB0AAABaAAAABRjaGFkAAABfAAAACxyVFJDAAABqAAAAA5nVFJDAAABuAAAAA5iVFJDAAAByAAA
-AA52Y2d0AAAB2AAABhJu/2RpbgAAB+wAAAY+ZGVzYwAADiwAAABkZHNjbQAADpAAAACmbW1vZAAA
-DzgAAAAoY3BydAAAD2AAAAAkWFlaIAAAAAAAAGEKAAA4UQAAB1hYWVogAAAAAAAAcEsAALBzAAAi
-j1hZWiAAAAAAAAAlgQAAF1cAAKk+WFlaIAAAAAAAAPNSAAEAAAABFs9zZjMyAAAAAAABDEIAAAXe
-///zJgAAB5IAAP2R///7ov///aMAAAPcAADAbGN1cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEB
-zQAAY3VydgAAAAAAAAABAc0AAHZjZ3QAAAAAAAAAAAADAQAAAgAAAB0AZf8A0gF8AkoDHgQIBSMG
-XAeyCSQKswxdDg4P0xGeE2UVLBbtGJ4aRBvfHWse7iBjIc4jMSSJJd8nMSh9KcgrDixTLZMu0DAJ
-MT8ybTOXNLw13Tb2OA05HTopOzM8Nz06Pjo/N0AzQS5CKUMiRBpFFEYMRwRH/kj3Se9K6EvhTNxN
-1k7RT81QylHIUsdTx1THVchWylfMWM9Z01rXW91c4l3pXvBf+GEAYgljE2QeZSpmNmdCaE9pW2po
-a3ZshG2Sbp9vrXC6cchy1XPidO91/HcHeBJ5HHonezB8N30/fkV/SoBPgVKCVYNWhFeFV4ZWh1SI
-UolQik2LSoxHjUOOQI//PZA7kTiSN5M2lDWVNZY2lzeYOZk7mj6bQpxFnUmeTJ9QoFShWKJco1+k
-YqVmpmmnbKhvqXGqdKt1rHeteK55r3mwebF4snazdLRxtW62abdjuF25VrpNu0O8Ob0tvh+/EMAA
-wO3B2cLDw6rEj8VxxlHHL8gKyOTJvMqQy2TMNc0FzdPOn89q0DPQ/NHC0ofTStQN1M7VjNZK1wjX
-xNh+2TjZ8tqq22LcGtzS3YreQt7537HgaOEg4djij+NH4//ktuVt5iXm3OeV6E/pCunH6ojrTOwU
-7OLtt+6S73XwX/FR8kzzT/Rb9W32h/en+M35+Psj/FT9iv7E//8AAAAc/wBiAMoBZgIoAucDzgTN
-BfYHNQiUCgULmQ0xDtcQhxIvE9wVfRcVGKQaJxuZHQQeXR+yIP8iRyOFJMEl+ycuKF4pjSq4K+At
-Ay4iLzswTjFdMmQzaDRmNWA2VjdHODY5HzoIOu870zy3PZo+fD9eQD9BIUIBQuJDw0SkRYZGaUdN
-SDBJFkn8SuRLzUy3TaNOkk+AUHBRYVJTU0VUOFUrVh5XEFgDWPZZ51rZW8tcvV2uXqBfkGCBYXJi
-Y2NUZEZlOGYrZyBoFGkKagJq+mv0bO5t6m7mb+Nw4XHfct1z23TZddZ203fPeMx5yHrCe7x8tn2u
-fqd/n4CWgY2Cg4N6hP9vhWWGXIdTiEmJQYo5izGMKo0ljh+PGpAVkRGSDpMLlAiVBZYClv+X/Zj6
-mfea9JvwnOyd6J7jn9+g2qHUos6jyKTDpb6muae1qLGpr6qtq66sr62yrrevvLDDscuy1LPdtOa1
-8Lb4uAG5CboPuxS8GL0avhq/GMAVwRDCCcMBw/bE68Xdxs/Hv8ityZrKhctwzFjNQM4mzwvP79DS
-0bPSk9Ny1FHVL9YN1uvXydin2YXaZdtG3CndDt313t/fzOC84a/ipeOe5JrlmOaZ55von+mk6qrr
-sey57cHuyu/U8N7x6vL39AT1FPYl9zf4Svlg+nf7jvym/cD+3f//AAD/ABYATgCiARIBqQJNAvgD
-xwStBagGuQfeCRcKWAuhDPEOQw+MENYSFhNOFHoVnha4F8oY1hnaGtob1hzOHcMeth+oIJchhCJv
-I1ckPCUdJfsm1CepKHkpRioOKtErkSxOLQctuy5vLyAvzTB5MSUxzDJ0MxszwDRlNQo1rjZTNvY3
-mjg+OOE5hDooOss7bzwSPLU9WD36Pp0/QD/jQIZBKUHNQnFDFkO8RGNFC0W0Rl9HCke3SGVJFEnD
-SnNLJUvWTIlNPE3wTqRPWVAOUMRRe1IyUulToVRaVRJVzFaFVz9X+VizWW1aKFriW51cWF0TXc5e
-il9GYAJgvmF7Yjli//djtWR1ZTVl92a5Z31oQmkIac9qmGtibC1s+G3FbpNvYXAwcP9xz3Kgc3F0
-QnUVded2uneOeGJ5N3oMeuF7uHyPfWV+PH8Uf+yAxYGdgneDUIQqhQSF3oa5h5WIcYlNiiqLCIvm
-jMSNo46Dj2SQRpEokguS8JPVlLyVo5aMl3aYYJlMmjqbKJwXnQid+57wn+eg4aHdotyj36Tkpeym
-+KgHqRiqLKtDrFutdq6Tr7Gw0rHzsxa0OrVftoe3r7jZugS7MbxfvZC+w7/6wTXCdcO8xRDGbsfa
-yV7K9MynznzQcdKM1MzXQNnY3KXfmOKz5ffpZ+zy8Hb0I/f0+/D///8AAG5kaW4AAAAAAAAGNgAA
-lvAAAFjoAABTGAAAil4AACeXAAAWqAAAUA0AAFQ5AAJCjwAB8KMAAWuFAAMBAAACAAAAGwAwAEoA
-ZQB+AJcAsADJAOIA+wEUAS0BRgFhAXsBlgGxAc4B6wIJAigCSAJpAowCsALWAv0DJgNRA34DrAPd
-BBAERQR8BLYE8QUuBW0FrgXxBjUGfAbEBw4HWwepB/oITQijCPwJWAm2ChgKfgrmC1MLwww2DK0N
-Jw2kDiUOqA8uD7YQQRDPEV4R8BKEExkTsRRLFOcVhBYjFsQXZhgKGK8ZVRn8GqUbUBv7HKkdVx4H
-HrgfayAeINQhiiL/QiL7I7UkcSUtJesmqidqKCwo7ym0KnorQSwKLNQtoC5uLz0wDjDhMbUyizNj
-ND01GTX4Ntg3ujifOYc6cDtcPEs9PD4wPyZAH0EaQhhDGEQbRSBGJ0cwSDtJSEpXS2dMeE2LTqBP
-tVDLUeNS+1QUVS5WSldmWIRZolrDW+RdB14sX1JgemGjYs9j/GUqZltnjWjBafdrL2xpbaVu43Aj
-cWVyqnPxdTt2h3fWeSd6fHvTfS1+in/rgU+Ct4QihZKHBoh/if2LgI0KjpqQMZHPk3SVIJbTmI6a
-T5wYneifv6Gdo4GlbadhqVurXa1or3mxkbOwtdW4ALovvGK+mMDS/8MOxU3Hj8nUzBzOaNC30wjV
-WNel2ezcKd5Z4HriieSG5nLoTuob69nti+8z8NLyafP59YT3CviT+hb7lP0P/ob//wAAABwAMwBQ
-AGsAhwChALwA1gDxAQwBJgFBAV0BeQGWAbMB0QHxAhECMgJVAnkCnwLGAu8DGgNHA3cDqAPdBBME
-TASHBMQFBAVGBYoF0AYZBmQGsAcAB1EHpQf8CFYIswkUCXgJ4QpNCr4LMwusDCoMrA0zDb0OSw7d
-D3IQChClEUMR4xKHEywT1RR/FSsV2RaJFzoX7RigGVUaCxrBG3kcMhzsHageZR8kH+UgqCFtIjQi
-/iPKJJglaCY7J/8PJ+YowCmbKngrVyw3LRkt+y7fL8QwqjGQMnczXzRINTI2HDcJN/Y45TnWOsg7
-vTy0Pa0+qD+lQKZBqEKtQ7VEvkXLRtpH60j+ShNLK0xETV5Oek+YULZR1lL3VBlVO1ZfV4RYqlnR
-WvlcI11OXntfqWDZYgpjPmRzZatm5GggaV5qnWvfbSNuaW+xcPpyRXOQdN12Knd3eMV6EntffKx9
-+H9EgJGB3YMqhHiFx4cXiGqJvosVjG6Ny48rkI+R95NjlNOWR5fAmT2avpxEnc6fXKDuooWkIKXA
-p2SpDaq6rGyuIq/dsZ2zYbUptvS4w7qUvGe+O8AQwePDtcWEx1D/yRfK28yazlTQC9G+027VG9bG
-2HDaGNvB3WnfEeC54mLkDOW151/pCOqx7FruAe+o8U/y9PSY9jv33/mD+yb8x/5m//8AAAAjAEIA
-ZwCJAKsAzQDvAREBMwFWAXoBnwHFAewCFgJBAm4CngLQAwYDPgN7A7sD/wRGBJIE4QU0BYoF5AZB
-BqEHBQdsB9cIRwi7CTQJswo4CsQLVwvyDJQNPw3yDqwPbxA5EQsR4xLCE6YUkBV/FnMXbBhqGWwa
-cxuAHJEdpx7BH+AhASIlI0skciWbJsQn7ikaKkgrdyyoLdwvETBJMYMyvzP9NT42gDfFOQw6Vzuj
-PPM+RT+bQPNC/05DrEUMRm5H00k5SqFMCk1zTt1QR1GxUxtUhFXuV1hYwlotW5ldBl50X+RhVWLH
-ZDplr2claJ1qFWuPbQpuhnAEcYRzBHSHdgt3kHkXep98KX20f0CAzYJcg+uFe4cNiJ+KMovFjViO
-7JB/khOTppU5lsyYX5nym4SdFp6ooDmhyKNWpOKmbKfzqXeq+Kx2rfGvabDeslKzwrUxtp+4C7l2
-uuC8Sr2yvxvAg8Hqw1LEucYfx4bI7MpRy7bNG85/z+LRQ9Ki0/7VV9ar1/rZQdqB27nc6d4M3yfg
-OuE+4j7jL+Qc5P3l2ear53roPukC6bnqcOsg68vsd+0Y7bnuWP/u8e+K8CDwsfFD8dPyXfLo83Pz
-+PR99QH1hPYE9oX3BfeI+Ar4jfkN+Yn6BvqD+vz7dfvt/Gb82v1O/cL+Nv6o/xr/jf//AABkZXNj
-AAAAAAAAAApDb2xvciBMQ0QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAFAAAADGVu
-VVMAAAASAAAATGZyRlIAAAASAAAAXmRlREUAAAAQAAAAcGVzRVMAAAASAAAAgGl0SVQAAAAUAAAA
-kgBDAG8AbAChbwByACAATABDAEQAyQBjAHIAYQBuACAATABDAEQARgBhAHIAYgAtAEwAQwBEAEwA
-QwBEACAAYwBvAGwAbwByAEwAQwBEACAAYwBvAGwAbwByAGkAAG1tb2QAAAAAAAAGEAAAnGEAAAAA
-wF3/AAAAAAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAxMAAA
-LAAAAAAdABAAAANeWAXR/gEoJeeyy43NWwUgSGEZBFVjijEN10UWGoqUeZJTGGvu4OEXFcv2w31k
-PFeRJGnmiA7U6vNsEK7Y4swphC5XuWoAm4UBdWKidCodCt7wbyxc866NYnjcDAwmAAA7
-}
-image create photo buttonimagevumeter -data $vumeterdata
-
-pdtk_post "Finished loading buttonbar-plugin.tcl\n"
-
-
diff --git a/scripts/guiplugins/buttonbar/images/bng.gif b/scripts/guiplugins/buttonbar/images/bng.gif
deleted file mode 100644
index c1d880c471358436bfe8103d6c1d0470e3dcd59c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3853
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

diff --git a/scripts/guiplugins/buttonbar/images/floatatom.gif b/scripts/guiplugins/buttonbar/images/floatatom.gif
deleted file mode 100644
index d52d608d8ecda7d9f3384f45ad537c8f9c69fd9d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4321
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
L6c*vIK;ypvnwOU1

diff --git a/scripts/guiplugins/buttonbar/images/hi-bit/old.bng.gif b/scripts/guiplugins/buttonbar/images/hi-bit/old.bng.gif
deleted file mode 100644
index 9670581c682b4eb9db16c317dc2a4b2c5dac0287..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4182
zcmb_fc{o*V*T45Uhr=<?W1I|`=gcx4L*|(iA;U2g$8gL;6cQ5AASEP)ND@&JAu=XX
zWXRA+8AGP??o-e6KG%DF?{|IweCxXQegD?Ff9t;Y-fLZZ?PY9Yq^9n{3Rpocpa=$o
zVP|KTkdPpeNaf|_&z?PNX=&;1?j9T*oSd9oTwL7U-Th6Z4EukfP`_vLjtLHDYpidq
zAg`bZ08_F@aBu(uUJ4|Jg~E0${)jUcJqBn21egFD5cKdO1?yQ`n^V01yR47ETv&!=
zD0}^P&i`s<422H_0Fs6o?7n}nE(Lr3!S)m!85SG{bNndS%g@6b#&Ix~4z;(%!MF^@
zjJ|(x0|k5j!Ce#_;pI#5eFp$FE0OH&PXqwH04v(w1d<oLPC3}yo8%P;<7^n;4h#%}
z4`5P*vA9=oDD2F148|gq7X#0*cwhifvw`=)|6>a_1K>Uh0HLgZY@(+C;Bo?>T>Br}
zs_pNW1#u3Le3ak-zyi_h13)!NCa)fV_sjuc_X3%`eUnVyEdc;I4nRwQS9oZ|Z!XM+
z`T+R9^gj>%mj@D#4kg0-0D%l%LvaXGqyUPBN|^d6`T?y7rk387k&$VL<pvvpLz?qD
z_YGbHzNvjD1b$$>_V)`bh@^>5i7AN3OLR#wO54fg%D$4PRnSokRJwAoNqItLU5!C~
zpN52{l9uWr4Q&k_Rb3@LS$zqdkO8kDyAi!H%6RYahRLGo7qe;eaf=blL90INZksOK
zPP<O~PKPeXZl_-Sz>y*6w=NS$XI#I!ExB)c08d&kHg5rfq>qZPzMqx9%W=OG5dq18
zImE)Cs^G^VU7>GCGhvJ2JCW!p)@c41u~_*y)p(tgh6$#LR;O%FJ0v+KJEb_CaZI&8
zYnx`BZjoVn&NvfyUN?(;C|mP_T8?V2%0=Z%%9mBHsOG6()y&tvrhnbAz~qK`p>>gc
zG5+S!68Br4r9QX)?*x<um4{S>-3_mdtcto9T^)Ttx+dyDL~Yo^kUC<$|0Ayk*G9+3
z7Ef?Z>Q7~w1)njufR^vAqtDygD%!I;LSEQ(%5`D7=3X{+XZLvbD)&+K4fPie9Dk+s
zYG?5I>(n9BVTR%UH|Iu7-_pEoe|K_JZFFU<;=SiM@A&J9^hy26UsE+7{HC$f?`E=Q
zjc3Vo^&bO2iGCXYeCdnTSIpPWZ)fMt7uXkOzCZervlzbQzHGB%zG}7R@-uKfb>q%v
z->=PW;T`+k^u2a68O{KHGVlc5kPku}@fq2V>Z4jmE7M%WP|;mwP+)w^oXRT4HqH^x
z#ld}xSB&rKK9qo~-~%jK$XGZ<q*ZiVOjg`YB2%(K>VphYR!B}$-crF;(Ob#yppWt~
z6-QNLH5GM14H}I_%^|Hvhw`=Kblh}x^!DpR`ZKsTgIk7YjQou)4$GTxn(Ua)ne~}J
zvM904u}ZWKw(+pFvoo|;bC7ZraAL+I@#{xEJCC~b9DV9~&#lNk``9UuP){!}dv7Cx
znvaw(){osEa~yGe>%>~XkHBxlPeHT6(;-u#6QuWHqv0bFLy-efz0qAU&tse7>f`U7
zypvFvc==T3>7=BXWO7gn;mpxgyR#-~dg<yJ3g;v<Mb8Un@n&;eV98<3rMpOTiRv=q
zGWp7G-qzKP{IzRK*B1)D+?Xw#DjF*uzS&>Wb*rtk`F7)-y0V(`>WZqn_bRKa9^89W
z-E_aLrsu(M?Zm@RbxZY|4NxQPW2PtUP25j;n|Yscw{WyFKc{Vj+Sc3WJ0@NXbUy2<
zdYRvy(i7Z^@6+u+FhDo3`0Djw?d#m3&|#Z5aw7~Q^KW0iyEB?HMtE;DE-}G4@pE!&
zs`o?FboET>?2Wnnk9nW2e!ljl@awH_74tO<jo({;bT1AsO)h_1*;qsUWM3EEP~9~B
zb!;ng`~1%B-Il!xN(PVtC$I!JAy%jyVS(60cA~1N%BUOBleAnIJY6yUG9!-Z9P<b(
zCz~aE495-52Ci=I5uP#LF}@N0{(Wr%^@3&CEBlj$f`pw!v_$ubZXXyHD;JNJFp^}H
z9F)2sZ7GA6c_JGmhn4G-k5&*>=v53;;!|olNKnQo-&3(uSy#<h(^i{SPu39E=+O+)
zV%4fUgg>;UU7(|@Gpl<>PeQLxKLp2#YclXMq%(YI<Zg^Hesq{%!fw)LN-`5Q8!=C_
z(6U&vyk&L7n$f!5Ce~Kb_N!g7y|V+WL$70slaA9beC?4yXL08lmx7~sS2ovvw{&--
zV~AtT9<iS4p5zU$I`43TGGW7~(Kp^t-=D^R;CS8%&j6W#&A<*~ZjeW?d@wm=Ahd`S
z5~d%{5&k*iapd_Z&uG;c`k3k1hPbSF!bz<J_JoDRj#CAvBa^I?B~wr-lV=)JFP#lZ
zvq+cBpvm}ju06Bld{UNow$TOg9J-vP+&34SE|pw9cO@e4*j4j<jcel9xe90swr?yI
zelD6Wp13()GIeXNbm8`98M>UiLi#SQ(xocmUT$^G{ns_CwVV$%>fGy7A5}MuK1MxJ
zXmWp=-Q4zUt5x}Vcw18k^9y3<*h{zWwcb1Zaj!yNpBwIdt2_E`ymTsWruO5;SKoz|
zrHD1*jkWD1G9?9wze^ycG*GJmaCr#;{1*W1xB*Ca13>Hw0Gx0=wPpaoUL7FxvjDVI
z0-zHq;O{cR2jqb%Ab^wL3b+qmf*G(4u|qPD5##~ILYJW$s2`d~(8AxC!w7%GImCU$
z2x1p`0BM6fiL69UpqNpHs5n$TYMDxwDv;_P)iSj*bsTj&ni1`SE=O<CSkRQv?9k$A
z>oMGzlbBC*c64p@D)dzhVhpz!MH$POWSQ!j^_T}(+*p=ali7IKYS_)#KXW8=3Ujt|
z`EX;nt9cxFc6dwqtogS2%lA16pamKPPhbVG!~4^P$ofLt!gV4cqB5fM2P(vli%W|y
zN<5T|k<ydKNDs>t$r9xb$ur7NE7U1wD0v+`q|Bqdsq#+sv09;esz$KpQ7yAWTH5kD
z2XqDXc=fq)+y;DxSR*lG`NNtfhfST#e9faQGAxU%>a2TgW^K3a*&SpZO`Ux3$wzKF
zx4F!@qTQt3ZI8uxlz0w!?ZD;D#W&Nh)qmrJT!4RIDRDMfID`;dL0S&ij7W_fi582A
ziyexWIhmd?f6D6gqhz6!oK)(w32D0-iJ6%5`Pm8=26DqLVJ{EmozJ(r&Ry`O@L6#|
z$*I!7J09gOcU`Oes-tTz)ZVXq(*PdJHF-AYwY(;`F?LvVX1yHl<?r`<^=OFZ4gPKE
z=)$<f<dF|CGih^YK81d<{Khvw`aNS&Y3cQf|LU)w$s3r>+%3-Si@QvFXa1BCpaiVJ
z36KhkK@%7O%Md+u0Mdh8p=db%wa_56j9@`1A{-FWh(g2*#3GUxX^f0Smch|yLz$ye
zQSDSHDkG|Ns#nxJ)ZWzh(Ex3OE=BLqIMUS8veQP<PGc-E&2&n1mGqMIl?+M@PZ`Y^
zCzwK+G0debIF?z~R5oe0H|z-<QXHe4X<Qmy-?@u;9C+z?Tlu2-75NwTl?f08MFc-$
z%k~Ef9TeIV?iR@t^*f*`MrIQGB;F!%O)^T#Nm^BgM`l}gO0HeLLLpl*Qpx?`VP!=X
zepOo4b+wP`BN|<rPqiK%s?sjgDb>BLSEgTut21ae>@gZMo<F>2%4Q~IZeZbN8Do`a
zU2ijDyJ64cpy}xDl#H)9GU)v4sIaT0TdaHeu~AQqm$o;FaMx$f59{xCyx_!CpfJ%t
zs3v$T)R2@NHW48i85z|P!y4-zR~f&VV32s>)I^eGa#TuZD%aWLY0ViN=ZKj-SyI_q
z7dCReE)HEbzS45_P=51ugM$9TqeVY%rrg4ow%qY9XQ+5w8E{XidZMPF)}v0MeyySH
z@x><JX3ZAn*4ehYj^s{j@=LDn_r3Z3_OIv$n}>*R_(op53m)Ts-#Xzx#qyzX#&eGT
zW8G)>uQcCk7My=Ti)G7JD{E_c>zW%=zmm2O>~!w={LTPjpbvaO8n_Gkz#_x~DM5}<
z3{(hpKnn;?gdT#3xPf?uq(*8ZW06mgWRwvq2Q^J~5RUj9wH|dbnhG6&eoJFa^Mv*w
zZ7oI((@y6^w?coBL5E?5v63l>S)GLrj`DN1+w9pK37jOZ0Pf>F0lXx>ME(o=?g+FB
ze%KEQi3*#Ego<7}&@T2vf>-jeRHSs7%(xtjyoo}R;xnaPWo?y2)ed!f4JXYKtyOJ9
zool+Q`eaL7r6Ii$(Rj#2-L%*oV?nZ<ur{`-vE#E(cKG3h$3J(Lak=VB?H1-f=i%Vl
z>8(Mi_7(LjIL>h*D-c6G6O0N;CZWPoBj_Ttqq$-V<0RrACg>*ioj#g0pAwtOaJDdA
zF{2|Be|{l5A%`vZ_9gYpy?O3eSFR-&aNZ~@QZMc*alAEiJK)Z0d1S?AWkl6-wg3Ie
z2e!4(>lEq>8|WG%9)D;uefr=TUrSQ!w>I1M#utK}XSx=;ZF=ha`1%tDW(IMuZw~Ff
zaT>Y%c575`?9}_l@voEgQ(_-9rnP6ZXXWPj=XO7ie!BZP=8N`M#Mj1e!SmSpo`uNo
z+}|62;K@Ih7t@!pOEt^5<)IbVl`pHL)y=i|pU}_bb<}#w2Gz#dP0VKIFNR-fThv=g
zTRYp~+uwJ5cE)xscc1U6?3Iyu$(fW4_|rU5stCZ~f&zj<vF12~-|GM05Eu{+H)y|w
z3LfbRL<c)~W`!?vpHL&)zp$G(!N3s4%<vUVAQ}G6N%Rjh`Q1Ij_8fo%K_CDW2Z2z4
z1?I470GBQ=Sn~kHe_M=TEfoGmmideEhlhoE6laR>|FrnSt@H1W5k3Y`!#8o=gMwOI
zDL>r*DPe>txSIq37Ze;F>hJ3phSh@`W`Z=<gy<zJja8IakcXRE3WL(+1C&ShOA{$7
zwRr}S&Q@J<yUx56U2M;3=9cL`bRwSC`uYuo2q&%nhgD{p)|Z1Q?(rP@_Cy}ME>8w{
tgXvQ&aFSS!a$QGR@fUST?MR>H4kCg|XSr759+Ye(DiAN|WX%FJ{{>Txb2k70

diff --git a/scripts/guiplugins/buttonbar/images/hi-bit/old.hradio.gif b/scripts/guiplugins/buttonbar/images/hi-bit/old.hradio.gif
deleted file mode 100644
index 4654ba91cb80ac0a2105e60445f957874122ab93..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4082
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
D8}3al

diff --git a/scripts/guiplugins/buttonbar/images/hi-bit/old.hslider.gif b/scripts/guiplugins/buttonbar/images/hi-bit/old.hslider.gif
deleted file mode 100644
index f8760fea22c35bb91151fe482d7469e3c5261fa6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4100
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
UyU$lA6ZJCZ&YFq|qJi4K0OKxJO8@`>

diff --git a/scripts/guiplugins/buttonbar/images/hi-bit/old.msg.gif b/scripts/guiplugins/buttonbar/images/hi-bit/old.msg.gif
deleted file mode 100644
index a7e4fc32e5a39d56e01705d0d06d20abdffef497..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4122
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

diff --git a/scripts/guiplugins/buttonbar/images/hi-bit/old.obj.gif b/scripts/guiplugins/buttonbar/images/hi-bit/old.obj.gif
deleted file mode 100644
index 8be904808fdea926141de891b9ec697a88ba8899..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4094
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
JGZ_vP{{<afPg?*0

diff --git a/scripts/guiplugins/buttonbar/images/hi-bit/old.text.gif b/scripts/guiplugins/buttonbar/images/hi-bit/old.text.gif
deleted file mode 100644
index f5eb519037c255259fe397d3faa60a5df7701f89..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4093
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
V3oBPHaOXPY33uFE-xUNv`CqkST+ILg

diff --git a/scripts/guiplugins/buttonbar/images/hi-bit/old.vradio.gif b/scripts/guiplugins/buttonbar/images/hi-bit/old.vradio.gif
deleted file mode 100644
index 17f43472c340cd84d3eb5712cf1c91c130b354c0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4087
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
GQ2G~dxJ^C)

diff --git a/scripts/guiplugins/buttonbar/images/hi-bit/old.vslider.gif b/scripts/guiplugins/buttonbar/images/hi-bit/old.vslider.gif
deleted file mode 100644
index a194f87822648ce120b91f66dd05196bb089f048..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4102
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
WlAliD_fvFoeNxq$h(bmXQ2Q5yj#PgD

diff --git a/scripts/guiplugins/buttonbar/images/hradio.gif b/scripts/guiplugins/buttonbar/images/hradio.gif
deleted file mode 100644
index c0d8aa8734f16d163d3633ce2fce6159b09f9257..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3841
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

diff --git a/scripts/guiplugins/buttonbar/images/hslider.gif b/scripts/guiplugins/buttonbar/images/hslider.gif
deleted file mode 100644
index 9fd9a817ca805f211fd9253161dd43b88671106d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3853
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

diff --git a/scripts/guiplugins/buttonbar/images/images.txt b/scripts/guiplugins/buttonbar/images/images.txt
deleted file mode 100644
index f35265225..000000000
--- a/scripts/guiplugins/buttonbar/images/images.txt
+++ /dev/null
@@ -1,1116 +0,0 @@
-set arraydata {
-R0lGODlhHAATAMQAAAAAAAsLCxISEh0dHSQkJDMzMzs7O0ZGRlJSUnFxcXl5eZGRkaCgoK2trbu7
-u8bGxtjY2OLi4unp6f7+/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAQA
-AAAAIf/8SUNDUkdCRzEwMTIAAA+EYXBwbAIAAABtbnRyUkdCIFhZWiAH2gAJAAEADwATAB9hY3Nw
-QVBQTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5yWFlaAAABLAAAABRnWFlaAAABQAAA
-ABRiWFlaAAABVAAAABR3dHB0AAABaAAAABRjaGFkAAABfAAAACxyVFJDAAABqAAAAA5nVFJDAAAB
-uAAAAA5iVFJDAAAByAAAAA52Y2d0AAAB2AAABhJu/2RpbgAAB+wAAAY+ZGVzYwAADiwAAABkZHNj
-bQAADpAAAACmbW1vZAAADzgAAAAoY3BydAAAD2AAAAAkWFlaIAAAAAAAAGEKAAA4UQAAB1hYWVog
-AAAAAAAAcEsAALBzAAAij1hZWiAAAAAAAAAlgQAAF1cAAKk+WFlaIAAAAAAAAPNSAAEAAAABFs9z
-ZjMyAAAAAAABDEIAAAXe///zJgAAB5IAAP2R///7ov///aMAAAPcAADAbGN1cnYAAAAAAAAAAQHN
-AABjdXJ2AAAAAAAAAAEBzQAAY3VydgAAAAAAAAABAc0AAHZjZ3QAAAAAAAAAAAADAQAAAgAAAB0A
-Zf8A0gF8AkoDHgQIBSMGXAeyCSQKswxdDg4P0xGeE2UVLBbtGJ4aRBvfHWse7iBjIc4jMSSJJd8n
-MSh9KcgrDixTLZMu0DAJMT8ybTOXNLw13Tb2OA05HTopOzM8Nz06Pjo/N0AzQS5CKUMiRBpFFEYM
-RwRH/kj3Se9K6EvhTNxN1k7RT81QylHIUsdTx1THVchWylfMWM9Z01rXW91c4l3pXvBf+GEAYglj
-E2QeZSpmNmdCaE9pW2poa3ZshG2Sbp9vrXC6cchy1XPidO91/HcHeBJ5HHonezB8N30/fkV/SoBP
-gVKCVYNWhFeFV4ZWh1SIUolQik2LSoxHjUOOQI//PZA7kTiSN5M2lDWVNZY2lzeYOZk7mj6bQpxF
-nUmeTJ9QoFShWKJco1+kYqVmpmmnbKhvqXGqdKt1rHeteK55r3mwebF4snazdLRxtW62abdjuF25
-VrpNu0O8Ob0tvh+/EMAAwO3B2cLDw6rEj8VxxlHHL8gKyOTJvMqQy2TMNc0FzdPOn89q0DPQ/NHC
-0ofTStQN1M7VjNZK1wjXxNh+2TjZ8tqq22LcGtzS3YreQt7537HgaOEg4djij+NH4//ktuVt5iXm
-3OeV6E/pCunH6ojrTOwU7OLtt+6S73XwX/FR8kzzT/Rb9W32h/en+M35+Psj/FT9iv7E//8AAAAc
-/wBiAMoBZgIoAucDzgTNBfYHNQiUCgULmQ0xDtcQhxIvE9wVfRcVGKQaJxuZHQQeXR+yIP8iRyOF
-JMEl+ycuKF4pjSq4K+AtAy4iLzswTjFdMmQzaDRmNWA2VjdHODY5HzoIOu870zy3PZo+fD9eQD9B
-IUIBQuJDw0SkRYZGaUdNSDBJFkn8SuRLzUy3TaNOkk+AUHBRYVJTU0VUOFUrVh5XEFgDWPZZ51rZ
-W8tcvV2uXqBfkGCBYXJiY2NUZEZlOGYrZyBoFGkKagJq+mv0bO5t6m7mb+Nw4XHfct1z23TZddZ2
-03fPeMx5yHrCe7x8tn2ufqd/n4CWgY2Cg4N6hP9vhWWGXIdTiEmJQYo5izGMKo0ljh+PGpAVkRGS
-DpMLlAiVBZYClv+X/Zj6mfea9JvwnOyd6J7jn9+g2qHUos6jyKTDpb6muae1qLGpr6qtq66sr62y
-rrevvLDDscuy1LPdtOa18Lb4uAG5CboPuxS8GL0avhq/GMAVwRDCCcMBw/bE68Xdxs/Hv8ityZrK
-hctwzFjNQM4mzwvP79DS0bPSk9Ny1FHVL9YN1uvXydin2YXaZdtG3CndDt313t/fzOC84a/ipeOe
-5JrlmOaZ55von+mk6qrrsey57cHuyu/U8N7x6vL39AT1FPYl9zf4Svlg+nf7jvym/cD+3f//AAD/
-ABYATgCiARIBqQJNAvgDxwStBagGuQfeCRcKWAuhDPEOQw+MENYSFhNOFHoVnha4F8oY1hnaGtob
-1hzOHcMeth+oIJchhCJvI1ckPCUdJfsm1CepKHkpRioOKtErkSxOLQctuy5vLyAvzTB5MSUxzDJ0
-MxszwDRlNQo1rjZTNvY3mjg+OOE5hDooOss7bzwSPLU9WD36Pp0/QD/jQIZBKUHNQnFDFkO8RGNF
-C0W0Rl9HCke3SGVJFEnDSnNLJUvWTIlNPE3wTqRPWVAOUMRRe1IyUulToVRaVRJVzFaFVz9X+Viz
-WW1aKFriW51cWF0TXc5eil9GYAJgvmF7Yjli//djtWR1ZTVl92a5Z31oQmkIac9qmGtibC1s+G3F
-bpNvYXAwcP9xz3Kgc3F0QnUVded2uneOeGJ5N3oMeuF7uHyPfWV+PH8Uf+yAxYGdgneDUIQqhQSF
-3oa5h5WIcYlNiiqLCIvmjMSNo46Dj2SQRpEokguS8JPVlLyVo5aMl3aYYJlMmjqbKJwXnQid+57w
-n+eg4aHdotyj36Tkpeym+KgHqRiqLKtDrFutdq6Tr7Gw0rHzsxa0OrVftoe3r7jZugS7MbxfvZC+
-w7/6wTXCdcO8xRDGbsfayV7K9MynznzQcdKM1MzXQNnY3KXfmOKz5ffpZ+zy8Hb0I/f0+/D///8A
-AG5kaW4AAAAAAAAGNgAAlvAAAFjoAABTGAAAil4AACeXAAAWqAAAUA0AAFQ5AAJCjwAB8KMAAWuF
-AAMBAAACAAAAGwAwAEoAZQB+AJcAsADJAOIA+wEUAS0BRgFhAXsBlgGxAc4B6wIJAigCSAJpAowC
-sALWAv0DJgNRA34DrAPdBBAERQR8BLYE8QUuBW0FrgXxBjUGfAbEBw4HWwepB/oITQijCPwJWAm2
-ChgKfgrmC1MLwww2DK0NJw2kDiUOqA8uD7YQQRDPEV4R8BKEExkTsRRLFOcVhBYjFsQXZhgKGK8Z
-VRn8GqUbUBv7HKkdVx4HHrgfayAeINQhiiL/QiL7I7UkcSUtJesmqidqKCwo7ym0KnorQSwKLNQt
-oC5uLz0wDjDhMbUyizNjND01GTX4Ntg3ujifOYc6cDtcPEs9PD4wPyZAH0EaQhhDGEQbRSBGJ0cw
-SDtJSEpXS2dMeE2LTqBPtVDLUeNS+1QUVS5WSldmWIRZolrDW+RdB14sX1JgemGjYs9j/GUqZltn
-jWjBafdrL2xpbaVu43AjcWVyqnPxdTt2h3fWeSd6fHvTfS1+in/rgU+Ct4QihZKHBoh/if2LgI0K
-jpqQMZHPk3SVIJbTmI6aT5wYneifv6Gdo4GlbadhqVurXa1or3mxkbOwtdW4ALovvGK+mMDS/8MO
-xU3Hj8nUzBzOaNC30wjVWNel2ezcKd5Z4HriieSG5nLoTuob69nti+8z8NLyafP59YT3CviT+hb7
-lP0P/ob//wAAABwAMwBQAGsAhwChALwA1gDxAQwBJgFBAV0BeQGWAbMB0QHxAhECMgJVAnkCnwLG
-Au8DGgNHA3cDqAPdBBMETASHBMQFBAVGBYoF0AYZBmQGsAcAB1EHpQf8CFYIswkUCXgJ4QpNCr4L
-MwusDCoMrA0zDb0OSw7dD3IQChClEUMR4xKHEywT1RR/FSsV2RaJFzoX7RigGVUaCxrBG3kcMhzs
-HageZR8kH+UgqCFtIjQi/iPKJJglaCY7J/8PJ+YowCmbKngrVyw3LRkt+y7fL8QwqjGQMnczXzRI
-NTI2HDcJN/Y45TnWOsg7vTy0Pa0+qD+lQKZBqEKtQ7VEvkXLRtpH60j+ShNLK0xETV5Oek+YULZR
-1lL3VBlVO1ZfV4RYqlnRWvlcI11OXntfqWDZYgpjPmRzZatm5GggaV5qnWvfbSNuaW+xcPpyRXOQ
-dN12Knd3eMV6EntffKx9+H9EgJGB3YMqhHiFx4cXiGqJvosVjG6Ny48rkI+R95NjlNOWR5fAmT2a
-vpxEnc6fXKDuooWkIKXAp2SpDaq6rGyuIq/dsZ2zYbUptvS4w7qUvGe+O8AQwePDtcWEx1D/yRfK
-28yazlTQC9G+027VG9bG2HDaGNvB3WnfEeC54mLkDOW151/pCOqx7FruAe+o8U/y9PSY9jv33/mD
-+yb8x/5m//8AAAAjAEIAZwCJAKsAzQDvAREBMwFWAXoBnwHFAewCFgJBAm4CngLQAwYDPgN7A7sD
-/wRGBJIE4QU0BYoF5AZBBqEHBQdsB9cIRwi7CTQJswo4CsQLVwvyDJQNPw3yDqwPbxA5EQsR4xLC
-E6YUkBV/FnMXbBhqGWwacxuAHJEdpx7BH+AhASIlI0skciWbJsQn7ikaKkgrdyyoLdwvETBJMYMy
-vzP9NT42gDfFOQw6VzujPPM+RT+bQPNC/05DrEUMRm5H00k5SqFMCk1zTt1QR1GxUxtUhFXuV1hY
-wlotW5ldBl50X+RhVWLHZDplr2claJ1qFWuPbQpuhnAEcYRzBHSHdgt3kHkXep98KX20f0CAzYJc
-g+uFe4cNiJ+KMovFjViO7JB/khOTppU5lsyYX5nym4SdFp6ooDmhyKNWpOKmbKfzqXeq+Kx2rfGv
-abDeslKzwrUxtp+4C7l2uuC8Sr2yvxvAg8Hqw1LEucYfx4bI7MpRy7bNG85/z+LRQ9Ki0/7VV9ar
-1/rZQdqB27nc6d4M3yfgOuE+4j7jL+Qc5P3l2ear53roPukC6bnqcOsg68vsd+0Y7bnuWP/u8e+K
-8CDwsfFD8dPyXfLo83Pz+PR99QH1hPYE9oX3BfeI+Ar4jfkN+Yn6BvqD+vz7dfvt/Gb82v1O/cL+
-Nv6o/xr/jf//AABkZXNjAAAAAAAAAApDb2xvciBMQ0QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1
-YwAAAAAAAAAFAAAADGVuVVMAAAASAAAATGZyRlIAAAASAAAAXmRlREUAAAAQAAAAcGVzRVMAAAAS
-AAAAgGl0SVQAAAAUAAAAkgBDAG8AbAChbwByACAATABDAEQAyQBjAHIAYQBuACAATABDAEQARgBh
-AHIAYgAtAEwAQwBEAEwAQwBEACAAYwBvAGwAbwByAEwAQwBEACAAYwBvAGwAbwByAGkAAG1tb2QA
-AAAAAAAGEAAAnGEAAAAAwF3/AAAAAAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBs
-ZSwgSW5jLiwgMjAxMAAALAAAAAAcABMAAAWO4CSOZGmeE6CubOu2IoDOp5zS+GgDxmn0ox9K9lBF
-ShKVRBQx1iYJVUMkLAIGPYdUOCpODirFxMpgsB4LFULFEJl3gIMhoCIoWPRXgaCKtQQAgC8qgioF
-O3wAAQZvKwIDdSoQExIFBUkxbw8ihytHP5VAJDsTXJQFP6I0pDk4rK0zr7BPN7NDfoO5L7atIQA7
-}
-image create photo buttonimagearray -data $arraydata
-set bngdata {
-R0lGODlhEgASAPAAAAAAAP///yH5BAQAAAAAIf8LSUNDUkdCRzEwMTL/ZGluAAAH7AAABj5kZXNj
-AAAOLAAAAGRkc2NtAAAOkAAAAKZtbW9kAAAPOAAAAChjcHJ0AAAPYAAAACRYWVogAAAAAAAAYQoA
-ADhRAAAHWFhZWiAAAAAAAABwSwAAsHMAACKPWFlaIAAAAAAAACWBAAAXVwAAqT5YWVogAAAAAAAA
-81IAAQAAAAEWz3NmMzIAAAAAAAEMQgAABd7///MmAAAHkgAA/ZH///ui///9owAAA9wAAMBsY3Vy
-dgAAAAAAAAABAc0AAGN1cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAAdmNndAAAAAAAAAAA
-AAMBAAACAAAAHQBl/wDSAXwCSgMeBAgFIwZcB7IJJAqzDF0ODg/TEZ4TZRUsFu0YnhpEG98dax7u
-IGMhziMxJIkl3ycxKH0pyCsOLFMtky7QMAkxPzJtM5c0vDXdNvY4DTkdOik7Mzw3PTo+Oj83QDNB
-LkIpQyJEGkUURgxHBEf+SPdJ70roS+FM3E3WTtFPzVDKUchSx1PHVMdVyFbKV8xYz1nTWtdb3Vzi
-Xele8F/4YQBiCWMTZB5lKmY2Z0JoT2lbamhrdmyEbZJun2+tcLpxyHLVc+J073X8dwd4Enkceid7
-MHw3fT9+RX9KgE+BUoJVg1aEV4VXhlaHVIhSiVCKTYtKjEeNQ45Aj/89kDuROJI3kzaUNZU1ljaX
-N5g5mTuaPptCnEWdSZ5Mn1CgVKFYolyjX6RipWamaadsqG+pcap0q3Wsd614rnmvebB5sXiydrN0
-tHG1brZpt2O4XblWuk27Q7w5vS2+H78QwADA7cHZwsPDqsSPxXHGUccvyArI5Mm8ypDLZMw1zQXN
-086fz2rQM9D80cLSh9NK1A3UztWM1krXCNfE2H7ZONny2qrbYtwa3NLdit5C3vnfseBo4SDh2OKP
-40fj/+S25W3mJebc55XoT+kK6cfqiOtM7BTs4u237pLvdfBf8VHyTPNP9Fv1bfaH96f4zfn4+yP8
-VP2K/sT//wAAABz/AGIAygFmAigC5wPOBM0F9gc1CJQKBQuZDTEO1xCHEi8T3BV9FxUYpBonG5kd
-BB5dH7Ig/yJHI4UkwSX7Jy4oXimNKrgr4C0DLiIvOzBOMV0yZDNoNGY1YDZWN0c4NjkfOgg67zvT
-PLc9mj58P15AP0EhQgFC4kPDRKRFhkZpR01IMEkWSfxK5EvNTLdNo06ST4BQcFFhUlNTRVQ4VStW
-HlcQWANY9lnnWtlby1y9Xa5eoF+QYIFhcmJjY1RkRmU4ZitnIGgUaQpqAmr6a/Rs7m3qbuZv43Dh
-cd9y3XPbdNl11nbTd894zHnIesJ7vHy2fa5+p3+fgJaBjYKDg3qE/2+FZYZch1OISYlBijmLMYwq
-jSWOH48akBWREZIOkwuUCJUFlgKW/5f9mPqZ95r0m/Cc7J3onuOf36DaodSizqPIpMOlvqa5p7Wo
-samvqq2rrqyvrbKut6+8sMOxy7LUs9205rXwtvi4AbkJug+7FLwYvRq+Gr8YwBXBEMIJwwHD9sTr
-xd3Gz8e/yK3JmsqFy3DMWM1AzibPC8/v0NLRs9KT03LUUdUv1g3W69fJ2KfZhdpl20bcKd0O3fXe
-39/M4Lzhr+Kl457kmuWY5pnnm+if6aTqquux7Lntwe7K79Tw3vHq8vf0BPUU9iX3N/hK+WD6d/uO
-/Kb9wP7d//8AAP8AFgBOAKIBEgGpAk0C+APHBK0FqAa5B94JFwpYC6EM8Q5DD4wQ1hIWE04UehWe
-FrgXyhjWGdoa2hvWHM4dwx62H6gglyGEIm8jVyQ8JR0l+ybUJ6koeSlGKg4q0SuRLE4tBy27Lm8v
-IC/NMHkxJTHMMnQzGzPANGU1CjWuNlM29jeaOD444TmEOig6yztvPBI8tT1YPfo+nT9AP+NAhkEp
-Qc1CcUMWQ7xEY0ULRbRGX0cKR7dIZUkUScNKc0slS9ZMiU08TfBOpE9ZUA5QxFF7UjJS6VOhVFpV
-ElXMVoVXP1f5WLNZbVooWuJbnVxYXRNdzl6KX0ZgAmC+YXtiOWL/92O1ZHVlNWX3ZrlnfWhCaQhp
-z2qYa2JsLWz4bcVuk29hcDBw/3HPcqBzcXRCdRV153a6d454Ynk3egx64Xu4fI99ZX48fxR/7IDF
-gZ2Cd4NQhCqFBIXehrmHlYhxiU2KKosIi+aMxI2jjoOPZJBGkSiSC5Lwk9WUvJWjloyXdphgmUya
-OpsonBedCJ37nvCf56Dhod2i3KPfpOSl7Kb4qAepGKosq0OsW612rpOvsbDSsfOzFrQ6tV+2h7ev
-uNm6BLsxvF+9kL7Dv/rBNcJ1w7zFEMZux9rJXsr0zKfOfNBx0ozUzNdA2djcpd+Y4rPl9+ln7PLw
-dvQj9/T78P///wAAbmRpbgAAAAAAAAY2AACW8AAAWOgAAFMYAACKXgAAJ5cAABaoAABQDQAAVDkA
-AkKPAAHwowABa4UAAwEAAAIAAAAbADAASgBlAH4AlwCwAMkA4gD7ARQBLQFGAWEBewGWAbEBzgHr
-AgkCKAJIAmkCjAKwAtYC/QMmA1EDfgOsA90EEARFBHwEtgTxBS4FbQWuBfEGNQZ8BsQHDgdbB6kH
-+ghNCKMI/AlYCbYKGAp+CuYLUwvDDDYMrQ0nDaQOJQ6oDy4PthBBEM8RXhHwEoQTGROxFEsU5xWE
-FiMWxBdmGAoYrxlVGfwapRtQG/scqR1XHgceuB9rIB4g1CGKIv9CIvsjtSRxJS0l6yaqJ2ooLCjv
-KbQqeitBLAos1C2gLm4vPTAOMOExtTKLM2M0PTUZNfg22De6OJ85hzpwO1w8Sz08PjA/JkAfQRpC
-GEMYRBtFIEYnRzBIO0lISldLZ0x4TYtOoE+1UMtR41L7VBRVLlZKV2ZYhFmiWsNb5F0HXixfUmB6
-YaNiz2P8ZSpmW2eNaMFp92svbGltpW7jcCNxZXKqc/F1O3aHd9Z5J3p8e9N9LX6Kf+uBT4K3hCKF
-kocGiH+J/YuAjQqOmpAxkc+TdJUgltOYjppPnBid6J+/oZ2jgaVtp2GpW6tdrWivebGRs7C11bgA
-ui+8Yr6YwNL/ww7FTcePydTMHM5o0LfTCNVY16XZ7Nwp3lngeuKJ5IbmcuhO6hvr2e2L7zPw0vJp
-8/n1hPcK+JP6FvuU/Q/+hv//AAAAHAAzAFAAawCHAKEAvADWAPEBDAEmAUEBXQF5AZYBswHRAfEC
-EQIyAlUCeQKfAsYC7wMaA0cDdwOoA90EEwRMBIcExAUEBUYFigXQBhkGZAawBwAHUQelB/wIVgiz
-CRQJeAnhCk0KvgszC6wMKgysDTMNvQ5LDt0PchAKEKURQxHjEocTLBPVFH8VKxXZFokXOhftGKAZ
-VRoLGsEbeRwyHOwdqB5lHyQf5SCoIW0iNCL+I8okmCVoJjsn/w8n5ijAKZsqeCtXLDctGS37Lt8v
-xDCqMZAydzNfNEg1MjYcNwk39jjlOdY6yDu9PLQ9rT6oP6VApkGoQq1DtUS+RctG2kfrSP5KE0sr
-TERNXk56T5hQtlHWUvdUGVU7Vl9XhFiqWdFa+VwjXU5ee1+pYNliCmM+ZHNlq2bkaCBpXmqda99t
-I25pb7Fw+nJFc5B03XYqd3d4xXoSe198rH34f0SAkYHdgyqEeIXHhxeIaom+ixWMbo3LjyuQj5H3
-k2OU05ZHl8CZPZq+nESdzp9coO6ihaQgpcCnZKkNqrqsbK4ir92xnbNhtSm29LjDupS8Z747wBDB
-48O1xYTHUP/JF8rbzJrOVNAL0b7TbtUb1sbYcNoY28Hdad8R4LniYuQM5bXnX+kI6rHsWu4B76jx
-T/L09Jj2O/ff+YP7JvzH/mb//wAAACMAQgBnAIkAqwDNAO8BEQEzAVYBegGfAcUB7AIWAkECbgKe
-AtADBgM+A3sDuwP/BEYEkgThBTQFigXkBkEGoQcFB2wH1whHCLsJNAmzCjgKxAtXC/IMlA0/DfIO
-rA9vEDkRCxHjEsITphSQFX8WcxdsGGoZbBpzG4AckR2nHsEf4CEBIiUjSyRyJZsmxCfuKRoqSCt3
-LKgt3C8RMEkxgzK/M/01PjaAN8U5DDpXO6M88z5FP5tA80L/TkOsRQxGbkfTSTlKoUwKTXNO3VBH
-UbFTG1SEVe5XWFjCWi1bmV0GXnRf5GFVYsdkOmWvZyVonWoVa49tCm6GcARxhHMEdId2C3eQeRd6
-n3wpfbR/QIDNglyD64V7hw2In4oyi8WNWI7skH+SE5OmlTmWzJhfmfKbhJ0WnqigOaHIo1ak4qZs
-p/Opd6r4rHat8a9psN6yUrPCtTG2n7gLuXa64LxKvbK/G8CDwerDUsS5xh/HhsjsylHLts0bzn/P
-4tFD0qLT/tVX1qvX+tlB2oHbudzp3gzfJ+A64T7iPuMv5Bzk/eXZ5qvneug+6QLpuepw6yDry+x3
-7Rjtue5Y/+7x74rwIPCx8UPx0/Jd8ujzc/P49H31AfWE9gT2hfcF94j4CviN+Q35ifoG+oP6/Pt1
-++38Zvza/U79wv42/qj/Gv+N//8AAGRlc2MAAAAAAAAACkNvbG9yIExDRAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAABtbHVjAAAAAAAAAAUAAAAMZW5VUwAAABIAAABMZnJGUgAAABIAAABeZGVERQAAABAA
-AABwZXNFUwAAABIAAACAaXRJVAAAABQAAACSAEMAbwBsAKFvAHIAIABMAEMARADJAGMAcgBhAG4A
-IABMAEMARABGAGEAcgBiAC0ATABDAEQATABDAEQAIABjAG8AbABvAHIATABDAEQAIABjAG8AbABv
-AHIAaQAAbW1vZAAAAAAAAAYQAACcYQAAAADAXf8AAAAAAAAAAAAAAAAAAAAAAHRleHQAAAAAQ29w
-eXJpZ2h0IEFwcGxlLCBJbmMuLCAyMDEwAAAsAAAAABIAEgAAAjOMj4nA7Q8MfEsetqINWqtueQpH
-ctgonSeatqy7sqqIznTShG8Elt/mia06k9wlVYS8WAUAOw==
-}
-image create photo buttonimagebng -data $bngdata
-set floatatomdata {
-R0lGODlhEQARANUAAAAAAAAAkQBPkQoKChMTEy5BgkEAT09PLk+CyE+JzU+f0lxcQXAuLnm97oJB
-cILI7okuXJjc/6WlsatcALdmALd5XL3Ckb3CpcDAwMju/9KRLtLq+9L35eDg4OX7/+7cwvLSn/vS
-kf7//v/lq//uzf//7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAQKAAAAIf/8SUNDUkdCRzEwMTIA
-AA+EYXBwbAIAAABtbnRyUkdCIFhZWiAH2gAJAAEADwATAB9hY3NwQVBQTAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAA5yWFlaAAABLAAAABRnWFlaAAABQAAAABRiWFlaAAABVAAAABR3dHB0
-AAABaAAAABRjaGFkAAABfAAAACxyVFJDAAABqAAAAA5nVFJDAAABuAAAAA5iVFJDAAAByAAAAA52
-Y2d0AAAB2AAABhJu/2RpbgAAB+wAAAY+ZGVzYwAADiwAAABkZHNjbQAADpAAAACmbW1vZAAADzgA
-AAAoY3BydAAAD2AAAAAkWFlaIAAAAAAAAGEKAAA4UQAAB1hYWVogAAAAAAAAcEsAALBzAAAij1hZ
-WiAAAAAAAAAlgQAAF1cAAKk+WFlaIAAAAAAAAPNSAAEAAAABFs9zZjMyAAAAAAABDEIAAAXe///z
-JgAAB5IAAP2R///7ov///aMAAAPcAADAbGN1cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAA
-Y3VydgAAAAAAAAABAc0AAHZjZ3QAAAAAAAAAAAADAQAAAgAAAB0AZf8A0gF8AkoDHgQIBSMGXAey
-CSQKswxdDg4P0xGeE2UVLBbtGJ4aRBvfHWse7iBjIc4jMSSJJd8nMSh9KcgrDixTLZMu0DAJMT8y
-bTOXNLw13Tb2OA05HTopOzM8Nz06Pjo/N0AzQS5CKUMiRBpFFEYMRwRH/kj3Se9K6EvhTNxN1k7R
-T81QylHIUsdTx1THVchWylfMWM9Z01rXW91c4l3pXvBf+GEAYgljE2QeZSpmNmdCaE9pW2poa3Zs
-hG2Sbp9vrXC6cchy1XPidO91/HcHeBJ5HHonezB8N30/fkV/SoBPgVKCVYNWhFeFV4ZWh1SIUolQ
-ik2LSoxHjUOOQI//PZA7kTiSN5M2lDWVNZY2lzeYOZk7mj6bQpxFnUmeTJ9QoFShWKJco1+kYqVm
-pmmnbKhvqXGqdKt1rHeteK55r3mwebF4snazdLRxtW62abdjuF25VrpNu0O8Ob0tvh+/EMAAwO3B
-2cLDw6rEj8VxxlHHL8gKyOTJvMqQy2TMNc0FzdPOn89q0DPQ/NHC0ofTStQN1M7VjNZK1wjXxNh+
-2TjZ8tqq22LcGtzS3YreQt7537HgaOEg4djij+NH4//ktuVt5iXm3OeV6E/pCunH6ojrTOwU7OLt
-t+6S73XwX/FR8kzzT/Rb9W32h/en+M35+Psj/FT9iv7E//8AAAAc/wBiAMoBZgIoAucDzgTNBfYH
-NQiUCgULmQ0xDtcQhxIvE9wVfRcVGKQaJxuZHQQeXR+yIP8iRyOFJMEl+ycuKF4pjSq4K+AtAy4i
-LzswTjFdMmQzaDRmNWA2VjdHODY5HzoIOu870zy3PZo+fD9eQD9BIUIBQuJDw0SkRYZGaUdNSDBJ
-Fkn8SuRLzUy3TaNOkk+AUHBRYVJTU0VUOFUrVh5XEFgDWPZZ51rZW8tcvV2uXqBfkGCBYXJiY2NU
-ZEZlOGYrZyBoFGkKagJq+mv0bO5t6m7mb+Nw4XHfct1z23TZddZ203fPeMx5yHrCe7x8tn2ufqd/
-n4CWgY2Cg4N6hP9vhWWGXIdTiEmJQYo5izGMKo0ljh+PGpAVkRGSDpMLlAiVBZYClv+X/Zj6mfea
-9JvwnOyd6J7jn9+g2qHUos6jyKTDpb6muae1qLGpr6qtq66sr62yrrevvLDDscuy1LPdtOa18Lb4
-uAG5CboPuxS8GL0avhq/GMAVwRDCCcMBw/bE68Xdxs/Hv8ityZrKhctwzFjNQM4mzwvP79DS0bPS
-k9Ny1FHVL9YN1uvXydin2YXaZdtG3CndDt313t/fzOC84a/ipeOe5JrlmOaZ55von+mk6qrrsey5
-7cHuyu/U8N7x6vL39AT1FPYl9zf4Svlg+nf7jvym/cD+3f//AAD/ABYATgCiARIBqQJNAvgDxwSt
-BagGuQfeCRcKWAuhDPEOQw+MENYSFhNOFHoVnha4F8oY1hnaGtob1hzOHcMeth+oIJchhCJvI1ck
-PCUdJfsm1CepKHkpRioOKtErkSxOLQctuy5vLyAvzTB5MSUxzDJ0MxszwDRlNQo1rjZTNvY3mjg+
-OOE5hDooOss7bzwSPLU9WD36Pp0/QD/jQIZBKUHNQnFDFkO8RGNFC0W0Rl9HCke3SGVJFEnDSnNL
-JUvWTIlNPE3wTqRPWVAOUMRRe1IyUulToVRaVRJVzFaFVz9X+VizWW1aKFriW51cWF0TXc5eil9G
-YAJgvmF7Yjli//djtWR1ZTVl92a5Z31oQmkIac9qmGtibC1s+G3FbpNvYXAwcP9xz3Kgc3F0QnUV
-ded2uneOeGJ5N3oMeuF7uHyPfWV+PH8Uf+yAxYGdgneDUIQqhQSF3oa5h5WIcYlNiiqLCIvmjMSN
-o46Dj2SQRpEokguS8JPVlLyVo5aMl3aYYJlMmjqbKJwXnQid+57wn+eg4aHdotyj36Tkpeym+KgH
-qRiqLKtDrFutdq6Tr7Gw0rHzsxa0OrVftoe3r7jZugS7MbxfvZC+w7/6wTXCdcO8xRDGbsfayV7K
-9MynznzQcdKM1MzXQNnY3KXfmOKz5ffpZ+zy8Hb0I/f0+/D///8AAG5kaW4AAAAAAAAGNgAAlvAA
-AFjoAABTGAAAil4AACeXAAAWqAAAUA0AAFQ5AAJCjwAB8KMAAWuFAAMBAAACAAAAGwAwAEoAZQB+
-AJcAsADJAOIA+wEUAS0BRgFhAXsBlgGxAc4B6wIJAigCSAJpAowCsALWAv0DJgNRA34DrAPdBBAE
-RQR8BLYE8QUuBW0FrgXxBjUGfAbEBw4HWwepB/oITQijCPwJWAm2ChgKfgrmC1MLwww2DK0NJw2k
-DiUOqA8uD7YQQRDPEV4R8BKEExkTsRRLFOcVhBYjFsQXZhgKGK8ZVRn8GqUbUBv7HKkdVx4HHrgf
-ayAeINQhiiL/QiL7I7UkcSUtJesmqidqKCwo7ym0KnorQSwKLNQtoC5uLz0wDjDhMbUyizNjND01
-GTX4Ntg3ujifOYc6cDtcPEs9PD4wPyZAH0EaQhhDGEQbRSBGJ0cwSDtJSEpXS2dMeE2LTqBPtVDL
-UeNS+1QUVS5WSldmWIRZolrDW+RdB14sX1JgemGjYs9j/GUqZltnjWjBafdrL2xpbaVu43AjcWVy
-qnPxdTt2h3fWeSd6fHvTfS1+in/rgU+Ct4QihZKHBoh/if2LgI0KjpqQMZHPk3SVIJbTmI6aT5wY
-neifv6Gdo4GlbadhqVurXa1or3mxkbOwtdW4ALovvGK+mMDS/8MOxU3Hj8nUzBzOaNC30wjVWNel
-2ezcKd5Z4HriieSG5nLoTuob69nti+8z8NLyafP59YT3CviT+hb7lP0P/ob//wAAABwAMwBQAGsA
-hwChALwA1gDxAQwBJgFBAV0BeQGWAbMB0QHxAhECMgJVAnkCnwLGAu8DGgNHA3cDqAPdBBMETASH
-BMQFBAVGBYoF0AYZBmQGsAcAB1EHpQf8CFYIswkUCXgJ4QpNCr4LMwusDCoMrA0zDb0OSw7dD3IQ
-ChClEUMR4xKHEywT1RR/FSsV2RaJFzoX7RigGVUaCxrBG3kcMhzsHageZR8kH+UgqCFtIjQi/iPK
-JJglaCY7J/8PJ+YowCmbKngrVyw3LRkt+y7fL8QwqjGQMnczXzRINTI2HDcJN/Y45TnWOsg7vTy0
-Pa0+qD+lQKZBqEKtQ7VEvkXLRtpH60j+ShNLK0xETV5Oek+YULZR1lL3VBlVO1ZfV4RYqlnRWvlc
-I11OXntfqWDZYgpjPmRzZatm5GggaV5qnWvfbSNuaW+xcPpyRXOQdN12Knd3eMV6EntffKx9+H9E
-gJGB3YMqhHiFx4cXiGqJvosVjG6Ny48rkI+R95NjlNOWR5fAmT2avpxEnc6fXKDuooWkIKXAp2Sp
-Daq6rGyuIq/dsZ2zYbUptvS4w7qUvGe+O8AQwePDtcWEx1D/yRfK28yazlTQC9G+027VG9bG2HDa
-GNvB3WnfEeC54mLkDOW151/pCOqx7FruAe+o8U/y9PSY9jv33/mD+yb8x/5m//8AAAAjAEIAZwCJ
-AKsAzQDvAREBMwFWAXoBnwHFAewCFgJBAm4CngLQAwYDPgN7A7sD/wRGBJIE4QU0BYoF5AZBBqEH
-BQdsB9cIRwi7CTQJswo4CsQLVwvyDJQNPw3yDqwPbxA5EQsR4xLCE6YUkBV/FnMXbBhqGWwacxuA
-HJEdpx7BH+AhASIlI0skciWbJsQn7ikaKkgrdyyoLdwvETBJMYMyvzP9NT42gDfFOQw6VzujPPM+
-RT+bQPNC/05DrEUMRm5H00k5SqFMCk1zTt1QR1GxUxtUhFXuV1hYwlotW5ldBl50X+RhVWLHZDpl
-r2claJ1qFWuPbQpuhnAEcYRzBHSHdgt3kHkXep98KX20f0CAzYJcg+uFe4cNiJ+KMovFjViO7JB/
-khOTppU5lsyYX5nym4SdFp6ooDmhyKNWpOKmbKfzqXeq+Kx2rfGvabDeslKzwrUxtp+4C7l2uuC8
-Sr2yvxvAg8Hqw1LEucYfx4bI7MpRy7bNG85/z+LRQ9Ki0/7VV9ar1/rZQdqB27nc6d4M3yfgOuE+
-4j7jL+Qc5P3l2ear53roPukC6bnqcOsg68vsd+0Y7bnuWP/u8e+K8CDwsfFD8dPyXfLo83Pz+PR9
-9QH1hPYE9oX3BfeI+Ar4jfkN+Yn6BvqD+vz7dfvt/Gb82v1O/cL+Nv6o/xr/jf//AABkZXNjAAAA
-AAAAAApDb2xvciBMQ0QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAFAAAADGVuVVMA
-AAASAAAATGZyRlIAAAASAAAAXmRlREUAAAAQAAAAcGVzRVMAAAASAAAAgGl0SVQAAAAUAAAAkgBD
-AG8AbAChbwByACAATABDAEQAyQBjAHIAYQBuACAATABDAEQARgBhAHIAYgAtAEwAQwBEAEwAQwBE
-ACAAYwBvAGwAbwByAEwAQwBEACAAYwBvAGwAbwByAGkAAG1tb2QAAAAAAAAGEAAAnGEAAAAAwF3/
-AAAAAAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAxMAAALAAA
-AAARABEAAAZcQJFwSCwaj0iAcqkcdI4AIwBDwEiZSxHVSoyKPpINcdsVgQoXQ4bYGZQnkRFAUfQK
-ASUIx2FB1MsVBw0hCX9DURoBIhQPhnciJAwLAh6OIlhZh12YmEien6ChQ0EAOw==
-}
-image create photo buttonimagefloatatom -data $floatatomdata
-set hradiodata {
-R0lGODlhEwASAPABAP///wAAACH5BAQAAAAAIf8LSUNDUkdCRzEwMTL/ZGluAAAH7AAABj5kZXNj
-AAAOLAAAAGRkc2NtAAAOkAAAAKZtbW9kAAAPOAAAAChjcHJ0AAAPYAAAACRYWVogAAAAAAAAYQoA
-ADhRAAAHWFhZWiAAAAAAAABwSwAAsHMAACKPWFlaIAAAAAAAACWBAAAXVwAAqT5YWVogAAAAAAAA
-81IAAQAAAAEWz3NmMzIAAAAAAAEMQgAABd7///MmAAAHkgAA/ZH///ui///9owAAA9wAAMBsY3Vy
-dgAAAAAAAAABAc0AAGN1cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAAdmNndAAAAAAAAAAA
-AAMBAAACAAAAHQBl/wDSAXwCSgMeBAgFIwZcB7IJJAqzDF0ODg/TEZ4TZRUsFu0YnhpEG98dax7u
-IGMhziMxJIkl3ycxKH0pyCsOLFMtky7QMAkxPzJtM5c0vDXdNvY4DTkdOik7Mzw3PTo+Oj83QDNB
-LkIpQyJEGkUURgxHBEf+SPdJ70roS+FM3E3WTtFPzVDKUchSx1PHVMdVyFbKV8xYz1nTWtdb3Vzi
-Xele8F/4YQBiCWMTZB5lKmY2Z0JoT2lbamhrdmyEbZJun2+tcLpxyHLVc+J073X8dwd4Enkceid7
-MHw3fT9+RX9KgE+BUoJVg1aEV4VXhlaHVIhSiVCKTYtKjEeNQ45Aj/89kDuROJI3kzaUNZU1ljaX
-N5g5mTuaPptCnEWdSZ5Mn1CgVKFYolyjX6RipWamaadsqG+pcap0q3Wsd614rnmvebB5sXiydrN0
-tHG1brZpt2O4XblWuk27Q7w5vS2+H78QwADA7cHZwsPDqsSPxXHGUccvyArI5Mm8ypDLZMw1zQXN
-086fz2rQM9D80cLSh9NK1A3UztWM1krXCNfE2H7ZONny2qrbYtwa3NLdit5C3vnfseBo4SDh2OKP
-40fj/+S25W3mJebc55XoT+kK6cfqiOtM7BTs4u237pLvdfBf8VHyTPNP9Fv1bfaH96f4zfn4+yP8
-VP2K/sT//wAAABz/AGIAygFmAigC5wPOBM0F9gc1CJQKBQuZDTEO1xCHEi8T3BV9FxUYpBonG5kd
-BB5dH7Ig/yJHI4UkwSX7Jy4oXimNKrgr4C0DLiIvOzBOMV0yZDNoNGY1YDZWN0c4NjkfOgg67zvT
-PLc9mj58P15AP0EhQgFC4kPDRKRFhkZpR01IMEkWSfxK5EvNTLdNo06ST4BQcFFhUlNTRVQ4VStW
-HlcQWANY9lnnWtlby1y9Xa5eoF+QYIFhcmJjY1RkRmU4ZitnIGgUaQpqAmr6a/Rs7m3qbuZv43Dh
-cd9y3XPbdNl11nbTd894zHnIesJ7vHy2fa5+p3+fgJaBjYKDg3qE/2+FZYZch1OISYlBijmLMYwq
-jSWOH48akBWREZIOkwuUCJUFlgKW/5f9mPqZ95r0m/Cc7J3onuOf36DaodSizqPIpMOlvqa5p7Wo
-samvqq2rrqyvrbKut6+8sMOxy7LUs9205rXwtvi4AbkJug+7FLwYvRq+Gr8YwBXBEMIJwwHD9sTr
-xd3Gz8e/yK3JmsqFy3DMWM1AzibPC8/v0NLRs9KT03LUUdUv1g3W69fJ2KfZhdpl20bcKd0O3fXe
-39/M4Lzhr+Kl457kmuWY5pnnm+if6aTqquux7Lntwe7K79Tw3vHq8vf0BPUU9iX3N/hK+WD6d/uO
-/Kb9wP7d//8AAP8AFgBOAKIBEgGpAk0C+APHBK0FqAa5B94JFwpYC6EM8Q5DD4wQ1hIWE04UehWe
-FrgXyhjWGdoa2hvWHM4dwx62H6gglyGEIm8jVyQ8JR0l+ybUJ6koeSlGKg4q0SuRLE4tBy27Lm8v
-IC/NMHkxJTHMMnQzGzPANGU1CjWuNlM29jeaOD444TmEOig6yztvPBI8tT1YPfo+nT9AP+NAhkEp
-Qc1CcUMWQ7xEY0ULRbRGX0cKR7dIZUkUScNKc0slS9ZMiU08TfBOpE9ZUA5QxFF7UjJS6VOhVFpV
-ElXMVoVXP1f5WLNZbVooWuJbnVxYXRNdzl6KX0ZgAmC+YXtiOWL/92O1ZHVlNWX3ZrlnfWhCaQhp
-z2qYa2JsLWz4bcVuk29hcDBw/3HPcqBzcXRCdRV153a6d454Ynk3egx64Xu4fI99ZX48fxR/7IDF
-gZ2Cd4NQhCqFBIXehrmHlYhxiU2KKosIi+aMxI2jjoOPZJBGkSiSC5Lwk9WUvJWjloyXdphgmUya
-OpsonBedCJ37nvCf56Dhod2i3KPfpOSl7Kb4qAepGKosq0OsW612rpOvsbDSsfOzFrQ6tV+2h7ev
-uNm6BLsxvF+9kL7Dv/rBNcJ1w7zFEMZux9rJXsr0zKfOfNBx0ozUzNdA2djcpd+Y4rPl9+ln7PLw
-dvQj9/T78P///wAAbmRpbgAAAAAAAAY2AACW8AAAWOgAAFMYAACKXgAAJ5cAABaoAABQDQAAVDkA
-AkKPAAHwowABa4UAAwEAAAIAAAAbADAASgBlAH4AlwCwAMkA4gD7ARQBLQFGAWEBewGWAbEBzgHr
-AgkCKAJIAmkCjAKwAtYC/QMmA1EDfgOsA90EEARFBHwEtgTxBS4FbQWuBfEGNQZ8BsQHDgdbB6kH
-+ghNCKMI/AlYCbYKGAp+CuYLUwvDDDYMrQ0nDaQOJQ6oDy4PthBBEM8RXhHwEoQTGROxFEsU5xWE
-FiMWxBdmGAoYrxlVGfwapRtQG/scqR1XHgceuB9rIB4g1CGKIv9CIvsjtSRxJS0l6yaqJ2ooLCjv
-KbQqeitBLAos1C2gLm4vPTAOMOExtTKLM2M0PTUZNfg22De6OJ85hzpwO1w8Sz08PjA/JkAfQRpC
-GEMYRBtFIEYnRzBIO0lISldLZ0x4TYtOoE+1UMtR41L7VBRVLlZKV2ZYhFmiWsNb5F0HXixfUmB6
-YaNiz2P8ZSpmW2eNaMFp92svbGltpW7jcCNxZXKqc/F1O3aHd9Z5J3p8e9N9LX6Kf+uBT4K3hCKF
-kocGiH+J/YuAjQqOmpAxkc+TdJUgltOYjppPnBid6J+/oZ2jgaVtp2GpW6tdrWivebGRs7C11bgA
-ui+8Yr6YwNL/ww7FTcePydTMHM5o0LfTCNVY16XZ7Nwp3lngeuKJ5IbmcuhO6hvr2e2L7zPw0vJp
-8/n1hPcK+JP6FvuU/Q/+hv//AAAAHAAzAFAAawCHAKEAvADWAPEBDAEmAUEBXQF5AZYBswHRAfEC
-EQIyAlUCeQKfAsYC7wMaA0cDdwOoA90EEwRMBIcExAUEBUYFigXQBhkGZAawBwAHUQelB/wIVgiz
-CRQJeAnhCk0KvgszC6wMKgysDTMNvQ5LDt0PchAKEKURQxHjEocTLBPVFH8VKxXZFokXOhftGKAZ
-VRoLGsEbeRwyHOwdqB5lHyQf5SCoIW0iNCL+I8okmCVoJjsn/w8n5ijAKZsqeCtXLDctGS37Lt8v
-xDCqMZAydzNfNEg1MjYcNwk39jjlOdY6yDu9PLQ9rT6oP6VApkGoQq1DtUS+RctG2kfrSP5KE0sr
-TERNXk56T5hQtlHWUvdUGVU7Vl9XhFiqWdFa+VwjXU5ee1+pYNliCmM+ZHNlq2bkaCBpXmqda99t
-I25pb7Fw+nJFc5B03XYqd3d4xXoSe198rH34f0SAkYHdgyqEeIXHhxeIaom+ixWMbo3LjyuQj5H3
-k2OU05ZHl8CZPZq+nESdzp9coO6ihaQgpcCnZKkNqrqsbK4ir92xnbNhtSm29LjDupS8Z747wBDB
-48O1xYTHUP/JF8rbzJrOVNAL0b7TbtUb1sbYcNoY28Hdad8R4LniYuQM5bXnX+kI6rHsWu4B76jx
-T/L09Jj2O/ff+YP7JvzH/mb//wAAACMAQgBnAIkAqwDNAO8BEQEzAVYBegGfAcUB7AIWAkECbgKe
-AtADBgM+A3sDuwP/BEYEkgThBTQFigXkBkEGoQcFB2wH1whHCLsJNAmzCjgKxAtXC/IMlA0/DfIO
-rA9vEDkRCxHjEsITphSQFX8WcxdsGGoZbBpzG4AckR2nHsEf4CEBIiUjSyRyJZsmxCfuKRoqSCt3
-LKgt3C8RMEkxgzK/M/01PjaAN8U5DDpXO6M88z5FP5tA80L/TkOsRQxGbkfTSTlKoUwKTXNO3VBH
-UbFTG1SEVe5XWFjCWi1bmV0GXnRf5GFVYsdkOmWvZyVonWoVa49tCm6GcARxhHMEdId2C3eQeRd6
-n3wpfbR/QIDNglyD64V7hw2In4oyi8WNWI7skH+SE5OmlTmWzJhfmfKbhJ0WnqigOaHIo1ak4qZs
-p/Opd6r4rHat8a9psN6yUrPCtTG2n7gLuXa64LxKvbK/G8CDwerDUsS5xh/HhsjsylHLts0bzn/P
-4tFD0qLT/tVX1qvX+tlB2oHbudzp3gzfJ+A64T7iPuMv5Bzk/eXZ5qvneug+6QLpuepw6yDry+x3
-7Rjtue5Y/+7x74rwIPCx8UPx0/Jd8ujzc/P49H31AfWE9gT2hfcF94j4CviN+Q35ifoG+oP6/Pt1
-++38Zvza/U79wv42/qj/Gv+N//8AAGRlc2MAAAAAAAAACkNvbG9yIExDRAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAABtbHVjAAAAAAAAAAUAAAAMZW5VUwAAABIAAABMZnJGUgAAABIAAABeZGVERQAAABAA
-AABwZXNFUwAAABIAAACAaXRJVAAAABQAAACSAEMAbwBsAKFvAHIAIABMAEMARADJAGMAcgBhAG4A
-IABMAEMARABGAGEAcgBiAC0ATABDAEQATABDAEQAIABjAG8AbABvAHIATABDAEQAIABjAG8AbABv
-AHIAaQAAbW1vZAAAAAAAAAYQAACcYQAAAADAXf8AAAAAAAAAAAAAAAAAAAAAAHRleHQAAAAAQ29w
-eXJpZ2h0IEFwcGxlLCBJbmMuLCAyMDEwAAAsAAAAABMAEgAAAieEj6nL7Q9jCrTaSw2uK2hwgd0X
-eorplaOonqQluuBmThpNS/rO6wUAOw==
-}
-image create photo buttonimagehradio -data $hradiodata
-set hsliderdata {
-R0lGODlhFwATAPAAAAAAAP///yH5BAQAAAAAIf8LSUNDUkdCRzEwMTL/ZGluAAAH7AAABj5kZXNj
-AAAOLAAAAGRkc2NtAAAOkAAAAKZtbW9kAAAPOAAAAChjcHJ0AAAPYAAAACRYWVogAAAAAAAAYQoA
-ADhRAAAHWFhZWiAAAAAAAABwSwAAsHMAACKPWFlaIAAAAAAAACWBAAAXVwAAqT5YWVogAAAAAAAA
-81IAAQAAAAEWz3NmMzIAAAAAAAEMQgAABd7///MmAAAHkgAA/ZH///ui///9owAAA9wAAMBsY3Vy
-dgAAAAAAAAABAc0AAGN1cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAAdmNndAAAAAAAAAAA
-AAMBAAACAAAAHQBl/wDSAXwCSgMeBAgFIwZcB7IJJAqzDF0ODg/TEZ4TZRUsFu0YnhpEG98dax7u
-IGMhziMxJIkl3ycxKH0pyCsOLFMtky7QMAkxPzJtM5c0vDXdNvY4DTkdOik7Mzw3PTo+Oj83QDNB
-LkIpQyJEGkUURgxHBEf+SPdJ70roS+FM3E3WTtFPzVDKUchSx1PHVMdVyFbKV8xYz1nTWtdb3Vzi
-Xele8F/4YQBiCWMTZB5lKmY2Z0JoT2lbamhrdmyEbZJun2+tcLpxyHLVc+J073X8dwd4Enkceid7
-MHw3fT9+RX9KgE+BUoJVg1aEV4VXhlaHVIhSiVCKTYtKjEeNQ45Aj/89kDuROJI3kzaUNZU1ljaX
-N5g5mTuaPptCnEWdSZ5Mn1CgVKFYolyjX6RipWamaadsqG+pcap0q3Wsd614rnmvebB5sXiydrN0
-tHG1brZpt2O4XblWuk27Q7w5vS2+H78QwADA7cHZwsPDqsSPxXHGUccvyArI5Mm8ypDLZMw1zQXN
-086fz2rQM9D80cLSh9NK1A3UztWM1krXCNfE2H7ZONny2qrbYtwa3NLdit5C3vnfseBo4SDh2OKP
-40fj/+S25W3mJebc55XoT+kK6cfqiOtM7BTs4u237pLvdfBf8VHyTPNP9Fv1bfaH96f4zfn4+yP8
-VP2K/sT//wAAABz/AGIAygFmAigC5wPOBM0F9gc1CJQKBQuZDTEO1xCHEi8T3BV9FxUYpBonG5kd
-BB5dH7Ig/yJHI4UkwSX7Jy4oXimNKrgr4C0DLiIvOzBOMV0yZDNoNGY1YDZWN0c4NjkfOgg67zvT
-PLc9mj58P15AP0EhQgFC4kPDRKRFhkZpR01IMEkWSfxK5EvNTLdNo06ST4BQcFFhUlNTRVQ4VStW
-HlcQWANY9lnnWtlby1y9Xa5eoF+QYIFhcmJjY1RkRmU4ZitnIGgUaQpqAmr6a/Rs7m3qbuZv43Dh
-cd9y3XPbdNl11nbTd894zHnIesJ7vHy2fa5+p3+fgJaBjYKDg3qE/2+FZYZch1OISYlBijmLMYwq
-jSWOH48akBWREZIOkwuUCJUFlgKW/5f9mPqZ95r0m/Cc7J3onuOf36DaodSizqPIpMOlvqa5p7Wo
-samvqq2rrqyvrbKut6+8sMOxy7LUs9205rXwtvi4AbkJug+7FLwYvRq+Gr8YwBXBEMIJwwHD9sTr
-xd3Gz8e/yK3JmsqFy3DMWM1AzibPC8/v0NLRs9KT03LUUdUv1g3W69fJ2KfZhdpl20bcKd0O3fXe
-39/M4Lzhr+Kl457kmuWY5pnnm+if6aTqquux7Lntwe7K79Tw3vHq8vf0BPUU9iX3N/hK+WD6d/uO
-/Kb9wP7d//8AAP8AFgBOAKIBEgGpAk0C+APHBK0FqAa5B94JFwpYC6EM8Q5DD4wQ1hIWE04UehWe
-FrgXyhjWGdoa2hvWHM4dwx62H6gglyGEIm8jVyQ8JR0l+ybUJ6koeSlGKg4q0SuRLE4tBy27Lm8v
-IC/NMHkxJTHMMnQzGzPANGU1CjWuNlM29jeaOD444TmEOig6yztvPBI8tT1YPfo+nT9AP+NAhkEp
-Qc1CcUMWQ7xEY0ULRbRGX0cKR7dIZUkUScNKc0slS9ZMiU08TfBOpE9ZUA5QxFF7UjJS6VOhVFpV
-ElXMVoVXP1f5WLNZbVooWuJbnVxYXRNdzl6KX0ZgAmC+YXtiOWL/92O1ZHVlNWX3ZrlnfWhCaQhp
-z2qYa2JsLWz4bcVuk29hcDBw/3HPcqBzcXRCdRV153a6d454Ynk3egx64Xu4fI99ZX48fxR/7IDF
-gZ2Cd4NQhCqFBIXehrmHlYhxiU2KKosIi+aMxI2jjoOPZJBGkSiSC5Lwk9WUvJWjloyXdphgmUya
-OpsonBedCJ37nvCf56Dhod2i3KPfpOSl7Kb4qAepGKosq0OsW612rpOvsbDSsfOzFrQ6tV+2h7ev
-uNm6BLsxvF+9kL7Dv/rBNcJ1w7zFEMZux9rJXsr0zKfOfNBx0ozUzNdA2djcpd+Y4rPl9+ln7PLw
-dvQj9/T78P///wAAbmRpbgAAAAAAAAY2AACW8AAAWOgAAFMYAACKXgAAJ5cAABaoAABQDQAAVDkA
-AkKPAAHwowABa4UAAwEAAAIAAAAbADAASgBlAH4AlwCwAMkA4gD7ARQBLQFGAWEBewGWAbEBzgHr
-AgkCKAJIAmkCjAKwAtYC/QMmA1EDfgOsA90EEARFBHwEtgTxBS4FbQWuBfEGNQZ8BsQHDgdbB6kH
-+ghNCKMI/AlYCbYKGAp+CuYLUwvDDDYMrQ0nDaQOJQ6oDy4PthBBEM8RXhHwEoQTGROxFEsU5xWE
-FiMWxBdmGAoYrxlVGfwapRtQG/scqR1XHgceuB9rIB4g1CGKIv9CIvsjtSRxJS0l6yaqJ2ooLCjv
-KbQqeitBLAos1C2gLm4vPTAOMOExtTKLM2M0PTUZNfg22De6OJ85hzpwO1w8Sz08PjA/JkAfQRpC
-GEMYRBtFIEYnRzBIO0lISldLZ0x4TYtOoE+1UMtR41L7VBRVLlZKV2ZYhFmiWsNb5F0HXixfUmB6
-YaNiz2P8ZSpmW2eNaMFp92svbGltpW7jcCNxZXKqc/F1O3aHd9Z5J3p8e9N9LX6Kf+uBT4K3hCKF
-kocGiH+J/YuAjQqOmpAxkc+TdJUgltOYjppPnBid6J+/oZ2jgaVtp2GpW6tdrWivebGRs7C11bgA
-ui+8Yr6YwNL/ww7FTcePydTMHM5o0LfTCNVY16XZ7Nwp3lngeuKJ5IbmcuhO6hvr2e2L7zPw0vJp
-8/n1hPcK+JP6FvuU/Q/+hv//AAAAHAAzAFAAawCHAKEAvADWAPEBDAEmAUEBXQF5AZYBswHRAfEC
-EQIyAlUCeQKfAsYC7wMaA0cDdwOoA90EEwRMBIcExAUEBUYFigXQBhkGZAawBwAHUQelB/wIVgiz
-CRQJeAnhCk0KvgszC6wMKgysDTMNvQ5LDt0PchAKEKURQxHjEocTLBPVFH8VKxXZFokXOhftGKAZ
-VRoLGsEbeRwyHOwdqB5lHyQf5SCoIW0iNCL+I8okmCVoJjsn/w8n5ijAKZsqeCtXLDctGS37Lt8v
-xDCqMZAydzNfNEg1MjYcNwk39jjlOdY6yDu9PLQ9rT6oP6VApkGoQq1DtUS+RctG2kfrSP5KE0sr
-TERNXk56T5hQtlHWUvdUGVU7Vl9XhFiqWdFa+VwjXU5ee1+pYNliCmM+ZHNlq2bkaCBpXmqda99t
-I25pb7Fw+nJFc5B03XYqd3d4xXoSe198rH34f0SAkYHdgyqEeIXHhxeIaom+ixWMbo3LjyuQj5H3
-k2OU05ZHl8CZPZq+nESdzp9coO6ihaQgpcCnZKkNqrqsbK4ir92xnbNhtSm29LjDupS8Z747wBDB
-48O1xYTHUP/JF8rbzJrOVNAL0b7TbtUb1sbYcNoY28Hdad8R4LniYuQM5bXnX+kI6rHsWu4B76jx
-T/L09Jj2O/ff+YP7JvzH/mb//wAAACMAQgBnAIkAqwDNAO8BEQEzAVYBegGfAcUB7AIWAkECbgKe
-AtADBgM+A3sDuwP/BEYEkgThBTQFigXkBkEGoQcFB2wH1whHCLsJNAmzCjgKxAtXC/IMlA0/DfIO
-rA9vEDkRCxHjEsITphSQFX8WcxdsGGoZbBpzG4AckR2nHsEf4CEBIiUjSyRyJZsmxCfuKRoqSCt3
-LKgt3C8RMEkxgzK/M/01PjaAN8U5DDpXO6M88z5FP5tA80L/TkOsRQxGbkfTSTlKoUwKTXNO3VBH
-UbFTG1SEVe5XWFjCWi1bmV0GXnRf5GFVYsdkOmWvZyVonWoVa49tCm6GcARxhHMEdId2C3eQeRd6
-n3wpfbR/QIDNglyD64V7hw2In4oyi8WNWI7skH+SE5OmlTmWzJhfmfKbhJ0WnqigOaHIo1ak4qZs
-p/Opd6r4rHat8a9psN6yUrPCtTG2n7gLuXa64LxKvbK/G8CDwerDUsS5xh/HhsjsylHLts0bzn/P
-4tFD0qLT/tVX1qvX+tlB2oHbudzp3gzfJ+A64T7iPuMv5Bzk/eXZ5qvneug+6QLpuepw6yDry+x3
-7Rjtue5Y/+7x74rwIPCx8UPx0/Jd8ujzc/P49H31AfWE9gT2hfcF94j4CviN+Q35ifoG+oP6/Pt1
-++38Zvza/U79wv42/qj/Gv+N//8AAGRlc2MAAAAAAAAACkNvbG9yIExDRAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAABtbHVjAAAAAAAAAAUAAAAMZW5VUwAAABIAAABMZnJGUgAAABIAAABeZGVERQAAABAA
-AABwZXNFUwAAABIAAACAaXRJVAAAABQAAACSAEMAbwBsAKFvAHIAIABMAEMARADJAGMAcgBhAG4A
-IABMAEMARABGAGEAcgBiAC0ATABDAEQATABDAEQAIABjAG8AbABvAHIATABDAEQAIABjAG8AbABv
-AHIAaQAAbW1vZAAAAAAAAAYQAACcYQAAAADAXf8AAAAAAAAAAAAAAAAAAAAAAHRleHQAAAAAQ29w
-eXJpZ2h0IEFwcGxlLCBJbmMuLCAyMDEwAAAsAAAAABcAEwAAAjOMj6nL7Q+jAbTaiycGqCYegI3X
-TQ95gCKDmuFJfe4Yl6/T3uuSq1tXS2k2RIvkiEwqIwUAOw==
-}
-image create photo buttonimagehslider -data $hsliderdata
-set msgdata {
-R0lGODlhGgARAPAAAAAAAP///yH5BAQAAAAAIf8LSUNDUkdCRzEwMTL/ZGluAAAH7AAABj5kZXNj
-AAAOLAAAAGRkc2NtAAAOkAAAAKZtbW9kAAAPOAAAAChjcHJ0AAAPYAAAACRYWVogAAAAAAAAYQoA
-ADhRAAAHWFhZWiAAAAAAAABwSwAAsHMAACKPWFlaIAAAAAAAACWBAAAXVwAAqT5YWVogAAAAAAAA
-81IAAQAAAAEWz3NmMzIAAAAAAAEMQgAABd7///MmAAAHkgAA/ZH///ui///9owAAA9wAAMBsY3Vy
-dgAAAAAAAAABAc0AAGN1cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAAdmNndAAAAAAAAAAA
-AAMBAAACAAAAHQBl/wDSAXwCSgMeBAgFIwZcB7IJJAqzDF0ODg/TEZ4TZRUsFu0YnhpEG98dax7u
-IGMhziMxJIkl3ycxKH0pyCsOLFMtky7QMAkxPzJtM5c0vDXdNvY4DTkdOik7Mzw3PTo+Oj83QDNB
-LkIpQyJEGkUURgxHBEf+SPdJ70roS+FM3E3WTtFPzVDKUchSx1PHVMdVyFbKV8xYz1nTWtdb3Vzi
-Xele8F/4YQBiCWMTZB5lKmY2Z0JoT2lbamhrdmyEbZJun2+tcLpxyHLVc+J073X8dwd4Enkceid7
-MHw3fT9+RX9KgE+BUoJVg1aEV4VXhlaHVIhSiVCKTYtKjEeNQ45Aj/89kDuROJI3kzaUNZU1ljaX
-N5g5mTuaPptCnEWdSZ5Mn1CgVKFYolyjX6RipWamaadsqG+pcap0q3Wsd614rnmvebB5sXiydrN0
-tHG1brZpt2O4XblWuk27Q7w5vS2+H78QwADA7cHZwsPDqsSPxXHGUccvyArI5Mm8ypDLZMw1zQXN
-086fz2rQM9D80cLSh9NK1A3UztWM1krXCNfE2H7ZONny2qrbYtwa3NLdit5C3vnfseBo4SDh2OKP
-40fj/+S25W3mJebc55XoT+kK6cfqiOtM7BTs4u237pLvdfBf8VHyTPNP9Fv1bfaH96f4zfn4+yP8
-VP2K/sT//wAAABz/AGIAygFmAigC5wPOBM0F9gc1CJQKBQuZDTEO1xCHEi8T3BV9FxUYpBonG5kd
-BB5dH7Ig/yJHI4UkwSX7Jy4oXimNKrgr4C0DLiIvOzBOMV0yZDNoNGY1YDZWN0c4NjkfOgg67zvT
-PLc9mj58P15AP0EhQgFC4kPDRKRFhkZpR01IMEkWSfxK5EvNTLdNo06ST4BQcFFhUlNTRVQ4VStW
-HlcQWANY9lnnWtlby1y9Xa5eoF+QYIFhcmJjY1RkRmU4ZitnIGgUaQpqAmr6a/Rs7m3qbuZv43Dh
-cd9y3XPbdNl11nbTd894zHnIesJ7vHy2fa5+p3+fgJaBjYKDg3qE/2+FZYZch1OISYlBijmLMYwq
-jSWOH48akBWREZIOkwuUCJUFlgKW/5f9mPqZ95r0m/Cc7J3onuOf36DaodSizqPIpMOlvqa5p7Wo
-samvqq2rrqyvrbKut6+8sMOxy7LUs9205rXwtvi4AbkJug+7FLwYvRq+Gr8YwBXBEMIJwwHD9sTr
-xd3Gz8e/yK3JmsqFy3DMWM1AzibPC8/v0NLRs9KT03LUUdUv1g3W69fJ2KfZhdpl20bcKd0O3fXe
-39/M4Lzhr+Kl457kmuWY5pnnm+if6aTqquux7Lntwe7K79Tw3vHq8vf0BPUU9iX3N/hK+WD6d/uO
-/Kb9wP7d//8AAP8AFgBOAKIBEgGpAk0C+APHBK0FqAa5B94JFwpYC6EM8Q5DD4wQ1hIWE04UehWe
-FrgXyhjWGdoa2hvWHM4dwx62H6gglyGEIm8jVyQ8JR0l+ybUJ6koeSlGKg4q0SuRLE4tBy27Lm8v
-IC/NMHkxJTHMMnQzGzPANGU1CjWuNlM29jeaOD444TmEOig6yztvPBI8tT1YPfo+nT9AP+NAhkEp
-Qc1CcUMWQ7xEY0ULRbRGX0cKR7dIZUkUScNKc0slS9ZMiU08TfBOpE9ZUA5QxFF7UjJS6VOhVFpV
-ElXMVoVXP1f5WLNZbVooWuJbnVxYXRNdzl6KX0ZgAmC+YXtiOWL/92O1ZHVlNWX3ZrlnfWhCaQhp
-z2qYa2JsLWz4bcVuk29hcDBw/3HPcqBzcXRCdRV153a6d454Ynk3egx64Xu4fI99ZX48fxR/7IDF
-gZ2Cd4NQhCqFBIXehrmHlYhxiU2KKosIi+aMxI2jjoOPZJBGkSiSC5Lwk9WUvJWjloyXdphgmUya
-OpsonBedCJ37nvCf56Dhod2i3KPfpOSl7Kb4qAepGKosq0OsW612rpOvsbDSsfOzFrQ6tV+2h7ev
-uNm6BLsxvF+9kL7Dv/rBNcJ1w7zFEMZux9rJXsr0zKfOfNBx0ozUzNdA2djcpd+Y4rPl9+ln7PLw
-dvQj9/T78P///wAAbmRpbgAAAAAAAAY2AACW8AAAWOgAAFMYAACKXgAAJ5cAABaoAABQDQAAVDkA
-AkKPAAHwowABa4UAAwEAAAIAAAAbADAASgBlAH4AlwCwAMkA4gD7ARQBLQFGAWEBewGWAbEBzgHr
-AgkCKAJIAmkCjAKwAtYC/QMmA1EDfgOsA90EEARFBHwEtgTxBS4FbQWuBfEGNQZ8BsQHDgdbB6kH
-+ghNCKMI/AlYCbYKGAp+CuYLUwvDDDYMrQ0nDaQOJQ6oDy4PthBBEM8RXhHwEoQTGROxFEsU5xWE
-FiMWxBdmGAoYrxlVGfwapRtQG/scqR1XHgceuB9rIB4g1CGKIv9CIvsjtSRxJS0l6yaqJ2ooLCjv
-KbQqeitBLAos1C2gLm4vPTAOMOExtTKLM2M0PTUZNfg22De6OJ85hzpwO1w8Sz08PjA/JkAfQRpC
-GEMYRBtFIEYnRzBIO0lISldLZ0x4TYtOoE+1UMtR41L7VBRVLlZKV2ZYhFmiWsNb5F0HXixfUmB6
-YaNiz2P8ZSpmW2eNaMFp92svbGltpW7jcCNxZXKqc/F1O3aHd9Z5J3p8e9N9LX6Kf+uBT4K3hCKF
-kocGiH+J/YuAjQqOmpAxkc+TdJUgltOYjppPnBid6J+/oZ2jgaVtp2GpW6tdrWivebGRs7C11bgA
-ui+8Yr6YwNL/ww7FTcePydTMHM5o0LfTCNVY16XZ7Nwp3lngeuKJ5IbmcuhO6hvr2e2L7zPw0vJp
-8/n1hPcK+JP6FvuU/Q/+hv//AAAAHAAzAFAAawCHAKEAvADWAPEBDAEmAUEBXQF5AZYBswHRAfEC
-EQIyAlUCeQKfAsYC7wMaA0cDdwOoA90EEwRMBIcExAUEBUYFigXQBhkGZAawBwAHUQelB/wIVgiz
-CRQJeAnhCk0KvgszC6wMKgysDTMNvQ5LDt0PchAKEKURQxHjEocTLBPVFH8VKxXZFokXOhftGKAZ
-VRoLGsEbeRwyHOwdqB5lHyQf5SCoIW0iNCL+I8okmCVoJjsn/w8n5ijAKZsqeCtXLDctGS37Lt8v
-xDCqMZAydzNfNEg1MjYcNwk39jjlOdY6yDu9PLQ9rT6oP6VApkGoQq1DtUS+RctG2kfrSP5KE0sr
-TERNXk56T5hQtlHWUvdUGVU7Vl9XhFiqWdFa+VwjXU5ee1+pYNliCmM+ZHNlq2bkaCBpXmqda99t
-I25pb7Fw+nJFc5B03XYqd3d4xXoSe198rH34f0SAkYHdgyqEeIXHhxeIaom+ixWMbo3LjyuQj5H3
-k2OU05ZHl8CZPZq+nESdzp9coO6ihaQgpcCnZKkNqrqsbK4ir92xnbNhtSm29LjDupS8Z747wBDB
-48O1xYTHUP/JF8rbzJrOVNAL0b7TbtUb1sbYcNoY28Hdad8R4LniYuQM5bXnX+kI6rHsWu4B76jx
-T/L09Jj2O/ff+YP7JvzH/mb//wAAACMAQgBnAIkAqwDNAO8BEQEzAVYBegGfAcUB7AIWAkECbgKe
-AtADBgM+A3sDuwP/BEYEkgThBTQFigXkBkEGoQcFB2wH1whHCLsJNAmzCjgKxAtXC/IMlA0/DfIO
-rA9vEDkRCxHjEsITphSQFX8WcxdsGGoZbBpzG4AckR2nHsEf4CEBIiUjSyRyJZsmxCfuKRoqSCt3
-LKgt3C8RMEkxgzK/M/01PjaAN8U5DDpXO6M88z5FP5tA80L/TkOsRQxGbkfTSTlKoUwKTXNO3VBH
-UbFTG1SEVe5XWFjCWi1bmV0GXnRf5GFVYsdkOmWvZyVonWoVa49tCm6GcARxhHMEdId2C3eQeRd6
-n3wpfbR/QIDNglyD64V7hw2In4oyi8WNWI7skH+SE5OmlTmWzJhfmfKbhJ0WnqigOaHIo1ak4qZs
-p/Opd6r4rHat8a9psN6yUrPCtTG2n7gLuXa64LxKvbK/G8CDwerDUsS5xh/HhsjsylHLts0bzn/P
-4tFD0qLT/tVX1qvX+tlB2oHbudzp3gzfJ+A64T7iPuMv5Bzk/eXZ5qvneug+6QLpuepw6yDry+x3
-7Rjtue5Y/+7x74rwIPCx8UPx0/Jd8ujzc/P49H31AfWE9gT2hfcF94j4CviN+Q35ifoG+oP6/Pt1
-++38Zvza/U79wv42/qj/Gv+N//8AAGRlc2MAAAAAAAAACkNvbG9yIExDRAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAABtbHVjAAAAAAAAAAUAAAAMZW5VUwAAABIAAABMZnJGUgAAABIAAABeZGVERQAAABAA
-AABwZXNFUwAAABIAAACAaXRJVAAAABQAAACSAEMAbwBsAKFvAHIAIABMAEMARADJAGMAcgBhAG4A
-IABMAEMARABGAGEAcgBiAC0ATABDAEQATABDAEQAIABjAG8AbABvAHIATABDAEQAIABjAG8AbABv
-AHIAaQAAbW1vZAAAAAAAAAYQAACcYQAAAADAXf8AAAAAAAAAAAAAAAAAAAAAAHRleHQAAAAAQ29w
-eXJpZ2h0IEFwcGxlLCBJbmMuLCAyMDEwAAAsAAAAABoAEQAAAjCMj6kK7Q+jM4CtVam8KVMOeh+I
-WaSJiOeYrh3qBqocH/N83rX97qy8WXkkxKKPUwAAOw==
-}
-image create photo buttonimagemsg -data $msgdata
-set mycnvdata {
-R0lGODlhEgATAIAAAODg4P///yH5BAQAAAAAIf/8SUNDUkdCRzEwMTIAAA+EYXBwbAIAAABtbnRy
-UkdCIFhZWiAH2gAJAAEADwATAB9hY3NwQVBQTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9tYA
-AQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AA5yWFlaAAABLAAAABRnWFlaAAABQAAAABRiWFlaAAABVAAAABR3dHB0AAABaAAAABRjaGFkAAAB
-fAAAACxyVFJDAAABqAAAAA5nVFJDAAABuAAAAA5iVFJDAAAByAAAAA52Y2d0AAAB2AAABhJu/2Rp
-bgAAB+wAAAY+ZGVzYwAADiwAAABkZHNjbQAADpAAAACmbW1vZAAADzgAAAAoY3BydAAAD2AAAAAk
-WFlaIAAAAAAAAGEKAAA4UQAAB1hYWVogAAAAAAAAcEsAALBzAAAij1hZWiAAAAAAAAAlgQAAF1cA
-AKk+WFlaIAAAAAAAAPNSAAEAAAABFs9zZjMyAAAAAAABDEIAAAXe///zJgAAB5IAAP2R///7ov//
-/aMAAAPcAADAbGN1cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAAY3VydgAAAAAAAAABAc0A
-AHZjZ3QAAAAAAAAAAAADAQAAAgAAAB0AZf8A0gF8AkoDHgQIBSMGXAeyCSQKswxdDg4P0xGeE2UV
-LBbtGJ4aRBvfHWse7iBjIc4jMSSJJd8nMSh9KcgrDixTLZMu0DAJMT8ybTOXNLw13Tb2OA05HTop
-OzM8Nz06Pjo/N0AzQS5CKUMiRBpFFEYMRwRH/kj3Se9K6EvhTNxN1k7RT81QylHIUsdTx1THVchW
-ylfMWM9Z01rXW91c4l3pXvBf+GEAYgljE2QeZSpmNmdCaE9pW2poa3ZshG2Sbp9vrXC6cchy1XPi
-dO91/HcHeBJ5HHonezB8N30/fkV/SoBPgVKCVYNWhFeFV4ZWh1SIUolQik2LSoxHjUOOQI//PZA7
-kTiSN5M2lDWVNZY2lzeYOZk7mj6bQpxFnUmeTJ9QoFShWKJco1+kYqVmpmmnbKhvqXGqdKt1rHet
-eK55r3mwebF4snazdLRxtW62abdjuF25VrpNu0O8Ob0tvh+/EMAAwO3B2cLDw6rEj8VxxlHHL8gK
-yOTJvMqQy2TMNc0FzdPOn89q0DPQ/NHC0ofTStQN1M7VjNZK1wjXxNh+2TjZ8tqq22LcGtzS3Yre
-Qt7537HgaOEg4djij+NH4//ktuVt5iXm3OeV6E/pCunH6ojrTOwU7OLtt+6S73XwX/FR8kzzT/Rb
-9W32h/en+M35+Psj/FT9iv7E//8AAAAc/wBiAMoBZgIoAucDzgTNBfYHNQiUCgULmQ0xDtcQhxIv
-E9wVfRcVGKQaJxuZHQQeXR+yIP8iRyOFJMEl+ycuKF4pjSq4K+AtAy4iLzswTjFdMmQzaDRmNWA2
-VjdHODY5HzoIOu870zy3PZo+fD9eQD9BIUIBQuJDw0SkRYZGaUdNSDBJFkn8SuRLzUy3TaNOkk+A
-UHBRYVJTU0VUOFUrVh5XEFgDWPZZ51rZW8tcvV2uXqBfkGCBYXJiY2NUZEZlOGYrZyBoFGkKagJq
-+mv0bO5t6m7mb+Nw4XHfct1z23TZddZ203fPeMx5yHrCe7x8tn2ufqd/n4CWgY2Cg4N6hP9vhWWG
-XIdTiEmJQYo5izGMKo0ljh+PGpAVkRGSDpMLlAiVBZYClv+X/Zj6mfea9JvwnOyd6J7jn9+g2qHU
-os6jyKTDpb6muae1qLGpr6qtq66sr62yrrevvLDDscuy1LPdtOa18Lb4uAG5CboPuxS8GL0avhq/
-GMAVwRDCCcMBw/bE68Xdxs/Hv8ityZrKhctwzFjNQM4mzwvP79DS0bPSk9Ny1FHVL9YN1uvXydin
-2YXaZdtG3CndDt313t/fzOC84a/ipeOe5JrlmOaZ55von+mk6qrrsey57cHuyu/U8N7x6vL39AT1
-FPYl9zf4Svlg+nf7jvym/cD+3f//AAD/ABYATgCiARIBqQJNAvgDxwStBagGuQfeCRcKWAuhDPEO
-Qw+MENYSFhNOFHoVnha4F8oY1hnaGtob1hzOHcMeth+oIJchhCJvI1ckPCUdJfsm1CepKHkpRioO
-KtErkSxOLQctuy5vLyAvzTB5MSUxzDJ0MxszwDRlNQo1rjZTNvY3mjg+OOE5hDooOss7bzwSPLU9
-WD36Pp0/QD/jQIZBKUHNQnFDFkO8RGNFC0W0Rl9HCke3SGVJFEnDSnNLJUvWTIlNPE3wTqRPWVAO
-UMRRe1IyUulToVRaVRJVzFaFVz9X+VizWW1aKFriW51cWF0TXc5eil9GYAJgvmF7Yjli//djtWR1
-ZTVl92a5Z31oQmkIac9qmGtibC1s+G3FbpNvYXAwcP9xz3Kgc3F0QnUVded2uneOeGJ5N3oMeuF7
-uHyPfWV+PH8Uf+yAxYGdgneDUIQqhQSF3oa5h5WIcYlNiiqLCIvmjMSNo46Dj2SQRpEokguS8JPV
-lLyVo5aMl3aYYJlMmjqbKJwXnQid+57wn+eg4aHdotyj36Tkpeym+KgHqRiqLKtDrFutdq6Tr7Gw
-0rHzsxa0OrVftoe3r7jZugS7MbxfvZC+w7/6wTXCdcO8xRDGbsfayV7K9MynznzQcdKM1MzXQNnY
-3KXfmOKz5ffpZ+zy8Hb0I/f0+/D///8AAG5kaW4AAAAAAAAGNgAAlvAAAFjoAABTGAAAil4AACeX
-AAAWqAAAUA0AAFQ5AAJCjwAB8KMAAWuFAAMBAAACAAAAGwAwAEoAZQB+AJcAsADJAOIA+wEUAS0B
-RgFhAXsBlgGxAc4B6wIJAigCSAJpAowCsALWAv0DJgNRA34DrAPdBBAERQR8BLYE8QUuBW0FrgXx
-BjUGfAbEBw4HWwepB/oITQijCPwJWAm2ChgKfgrmC1MLwww2DK0NJw2kDiUOqA8uD7YQQRDPEV4R
-8BKEExkTsRRLFOcVhBYjFsQXZhgKGK8ZVRn8GqUbUBv7HKkdVx4HHrgfayAeINQhiiL/QiL7I7Uk
-cSUtJesmqidqKCwo7ym0KnorQSwKLNQtoC5uLz0wDjDhMbUyizNjND01GTX4Ntg3ujifOYc6cDtc
-PEs9PD4wPyZAH0EaQhhDGEQbRSBGJ0cwSDtJSEpXS2dMeE2LTqBPtVDLUeNS+1QUVS5WSldmWIRZ
-olrDW+RdB14sX1JgemGjYs9j/GUqZltnjWjBafdrL2xpbaVu43AjcWVyqnPxdTt2h3fWeSd6fHvT
-fS1+in/rgU+Ct4QihZKHBoh/if2LgI0KjpqQMZHPk3SVIJbTmI6aT5wYneifv6Gdo4GlbadhqVur
-Xa1or3mxkbOwtdW4ALovvGK+mMDS/8MOxU3Hj8nUzBzOaNC30wjVWNel2ezcKd5Z4HriieSG5nLo
-Tuob69nti+8z8NLyafP59YT3CviT+hb7lP0P/ob//wAAABwAMwBQAGsAhwChALwA1gDxAQwBJgFB
-AV0BeQGWAbMB0QHxAhECMgJVAnkCnwLGAu8DGgNHA3cDqAPdBBMETASHBMQFBAVGBYoF0AYZBmQG
-sAcAB1EHpQf8CFYIswkUCXgJ4QpNCr4LMwusDCoMrA0zDb0OSw7dD3IQChClEUMR4xKHEywT1RR/
-FSsV2RaJFzoX7RigGVUaCxrBG3kcMhzsHageZR8kH+UgqCFtIjQi/iPKJJglaCY7J/8PJ+YowCmb
-KngrVyw3LRkt+y7fL8QwqjGQMnczXzRINTI2HDcJN/Y45TnWOsg7vTy0Pa0+qD+lQKZBqEKtQ7VE
-vkXLRtpH60j+ShNLK0xETV5Oek+YULZR1lL3VBlVO1ZfV4RYqlnRWvlcI11OXntfqWDZYgpjPmRz
-Zatm5GggaV5qnWvfbSNuaW+xcPpyRXOQdN12Knd3eMV6EntffKx9+H9EgJGB3YMqhHiFx4cXiGqJ
-vosVjG6Ny48rkI+R95NjlNOWR5fAmT2avpxEnc6fXKDuooWkIKXAp2SpDaq6rGyuIq/dsZ2zYbUp
-tvS4w7qUvGe+O8AQwePDtcWEx1D/yRfK28yazlTQC9G+027VG9bG2HDaGNvB3WnfEeC54mLkDOW1
-51/pCOqx7FruAe+o8U/y9PSY9jv33/mD+yb8x/5m//8AAAAjAEIAZwCJAKsAzQDvAREBMwFWAXoB
-nwHFAewCFgJBAm4CngLQAwYDPgN7A7sD/wRGBJIE4QU0BYoF5AZBBqEHBQdsB9cIRwi7CTQJswo4
-CsQLVwvyDJQNPw3yDqwPbxA5EQsR4xLCE6YUkBV/FnMXbBhqGWwacxuAHJEdpx7BH+AhASIlI0sk
-ciWbJsQn7ikaKkgrdyyoLdwvETBJMYMyvzP9NT42gDfFOQw6VzujPPM+RT+bQPNC/05DrEUMRm5H
-00k5SqFMCk1zTt1QR1GxUxtUhFXuV1hYwlotW5ldBl50X+RhVWLHZDplr2claJ1qFWuPbQpuhnAE
-cYRzBHSHdgt3kHkXep98KX20f0CAzYJcg+uFe4cNiJ+KMovFjViO7JB/khOTppU5lsyYX5nym4Sd
-Fp6ooDmhyKNWpOKmbKfzqXeq+Kx2rfGvabDeslKzwrUxtp+4C7l2uuC8Sr2yvxvAg8Hqw1LEucYf
-x4bI7MpRy7bNG85/z+LRQ9Ki0/7VV9ar1/rZQdqB27nc6d4M3yfgOuE+4j7jL+Qc5P3l2ear53ro
-PukC6bnqcOsg68vsd+0Y7bnuWP/u8e+K8CDwsfFD8dPyXfLo83Pz+PR99QH1hPYE9oX3BfeI+Ar4
-jfkN+Yn6BvqD+vz7dfvt/Gb82v1O/cL+Nv6o/xr/jf//AABkZXNjAAAAAAAAAApDb2xvciBMQ0QA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAFAAAADGVuVVMAAAASAAAATGZyRlIAAAAS
-AAAAXmRlREUAAAAQAAAAcGVzRVMAAAASAAAAgGl0SVQAAAAUAAAAkgBDAG8AbAChbwByACAATABD
-AEQAyQBjAHIAYQBuACAATABDAEQARgBhAHIAYgAtAEwAQwBEAEwAQwBEACAAYwBvAGwAbwByAEwA
-QwBEACAAYwBvAGwAbwByAGkAAG1tb2QAAAAAAAAGEAAAnGEAAAAAwF3/AAAAAAAAAAAAAAAAAAAA
-AAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAxMAAALAAAAAASABMAAAIljI+JwO0P
-DJxN0mnvy7qGvn2gN5JlJJYcuHat9l4xNWPKjedKAQA7
-}
-image create photo buttonimagemycnv -data $mycnvdata
-set numboxdata {
-R0lGODlhFgATANUAAAAAAAAAZQAAeABbqQBvrwkJCRISEiUlJS14ry2Iyjo6OkCAtUCWylRUVFsA
-AGWv4nNzc4gAAIi7xYvF64/P75OTk6Pe/KlbLa9lAK+dZa+vr7WAQLuALb29vcDAwM+PLc+WTtT0
-/Nzc3N7i7eDg4OKvZerq6uvKi+3k3vT8/PX19fjZnfznr/z41Pz89P39/QAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAQAAAAAIf/8SUNDUkdCRzEwMTIA
-AA+EYXBwbAIAAABtbnRyUkdCIFhZWiAH2gAJAAEADwATAB9hY3NwQVBQTAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAA5yWFlaAAABLAAAABRnWFlaAAABQAAAABRiWFlaAAABVAAAABR3dHB0
-AAABaAAAABRjaGFkAAABfAAAACxyVFJDAAABqAAAAA5nVFJDAAABuAAAAA5iVFJDAAAByAAAAA52
-Y2d0AAAB2AAABhJu/2RpbgAAB+wAAAY+ZGVzYwAADiwAAABkZHNjbQAADpAAAACmbW1vZAAADzgA
-AAAoY3BydAAAD2AAAAAkWFlaIAAAAAAAAGEKAAA4UQAAB1hYWVogAAAAAAAAcEsAALBzAAAij1hZ
-WiAAAAAAAAAlgQAAF1cAAKk+WFlaIAAAAAAAAPNSAAEAAAABFs9zZjMyAAAAAAABDEIAAAXe///z
-JgAAB5IAAP2R///7ov///aMAAAPcAADAbGN1cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAA
-Y3VydgAAAAAAAAABAc0AAHZjZ3QAAAAAAAAAAAADAQAAAgAAAB0AZf8A0gF8AkoDHgQIBSMGXAey
-CSQKswxdDg4P0xGeE2UVLBbtGJ4aRBvfHWse7iBjIc4jMSSJJd8nMSh9KcgrDixTLZMu0DAJMT8y
-bTOXNLw13Tb2OA05HTopOzM8Nz06Pjo/N0AzQS5CKUMiRBpFFEYMRwRH/kj3Se9K6EvhTNxN1k7R
-T81QylHIUsdTx1THVchWylfMWM9Z01rXW91c4l3pXvBf+GEAYgljE2QeZSpmNmdCaE9pW2poa3Zs
-hG2Sbp9vrXC6cchy1XPidO91/HcHeBJ5HHonezB8N30/fkV/SoBPgVKCVYNWhFeFV4ZWh1SIUolQ
-ik2LSoxHjUOOQI//PZA7kTiSN5M2lDWVNZY2lzeYOZk7mj6bQpxFnUmeTJ9QoFShWKJco1+kYqVm
-pmmnbKhvqXGqdKt1rHeteK55r3mwebF4snazdLRxtW62abdjuF25VrpNu0O8Ob0tvh+/EMAAwO3B
-2cLDw6rEj8VxxlHHL8gKyOTJvMqQy2TMNc0FzdPOn89q0DPQ/NHC0ofTStQN1M7VjNZK1wjXxNh+
-2TjZ8tqq22LcGtzS3YreQt7537HgaOEg4djij+NH4//ktuVt5iXm3OeV6E/pCunH6ojrTOwU7OLt
-t+6S73XwX/FR8kzzT/Rb9W32h/en+M35+Psj/FT9iv7E//8AAAAc/wBiAMoBZgIoAucDzgTNBfYH
-NQiUCgULmQ0xDtcQhxIvE9wVfRcVGKQaJxuZHQQeXR+yIP8iRyOFJMEl+ycuKF4pjSq4K+AtAy4i
-LzswTjFdMmQzaDRmNWA2VjdHODY5HzoIOu870zy3PZo+fD9eQD9BIUIBQuJDw0SkRYZGaUdNSDBJ
-Fkn8SuRLzUy3TaNOkk+AUHBRYVJTU0VUOFUrVh5XEFgDWPZZ51rZW8tcvV2uXqBfkGCBYXJiY2NU
-ZEZlOGYrZyBoFGkKagJq+mv0bO5t6m7mb+Nw4XHfct1z23TZddZ203fPeMx5yHrCe7x8tn2ufqd/
-n4CWgY2Cg4N6hP9vhWWGXIdTiEmJQYo5izGMKo0ljh+PGpAVkRGSDpMLlAiVBZYClv+X/Zj6mfea
-9JvwnOyd6J7jn9+g2qHUos6jyKTDpb6muae1qLGpr6qtq66sr62yrrevvLDDscuy1LPdtOa18Lb4
-uAG5CboPuxS8GL0avhq/GMAVwRDCCcMBw/bE68Xdxs/Hv8ityZrKhctwzFjNQM4mzwvP79DS0bPS
-k9Ny1FHVL9YN1uvXydin2YXaZdtG3CndDt313t/fzOC84a/ipeOe5JrlmOaZ55von+mk6qrrsey5
-7cHuyu/U8N7x6vL39AT1FPYl9zf4Svlg+nf7jvym/cD+3f//AAD/ABYATgCiARIBqQJNAvgDxwSt
-BagGuQfeCRcKWAuhDPEOQw+MENYSFhNOFHoVnha4F8oY1hnaGtob1hzOHcMeth+oIJchhCJvI1ck
-PCUdJfsm1CepKHkpRioOKtErkSxOLQctuy5vLyAvzTB5MSUxzDJ0MxszwDRlNQo1rjZTNvY3mjg+
-OOE5hDooOss7bzwSPLU9WD36Pp0/QD/jQIZBKUHNQnFDFkO8RGNFC0W0Rl9HCke3SGVJFEnDSnNL
-JUvWTIlNPE3wTqRPWVAOUMRRe1IyUulToVRaVRJVzFaFVz9X+VizWW1aKFriW51cWF0TXc5eil9G
-YAJgvmF7Yjli//djtWR1ZTVl92a5Z31oQmkIac9qmGtibC1s+G3FbpNvYXAwcP9xz3Kgc3F0QnUV
-ded2uneOeGJ5N3oMeuF7uHyPfWV+PH8Uf+yAxYGdgneDUIQqhQSF3oa5h5WIcYlNiiqLCIvmjMSN
-o46Dj2SQRpEokguS8JPVlLyVo5aMl3aYYJlMmjqbKJwXnQid+57wn+eg4aHdotyj36Tkpeym+KgH
-qRiqLKtDrFutdq6Tr7Gw0rHzsxa0OrVftoe3r7jZugS7MbxfvZC+w7/6wTXCdcO8xRDGbsfayV7K
-9MynznzQcdKM1MzXQNnY3KXfmOKz5ffpZ+zy8Hb0I/f0+/D///8AAG5kaW4AAAAAAAAGNgAAlvAA
-AFjoAABTGAAAil4AACeXAAAWqAAAUA0AAFQ5AAJCjwAB8KMAAWuFAAMBAAACAAAAGwAwAEoAZQB+
-AJcAsADJAOIA+wEUAS0BRgFhAXsBlgGxAc4B6wIJAigCSAJpAowCsALWAv0DJgNRA34DrAPdBBAE
-RQR8BLYE8QUuBW0FrgXxBjUGfAbEBw4HWwepB/oITQijCPwJWAm2ChgKfgrmC1MLwww2DK0NJw2k
-DiUOqA8uD7YQQRDPEV4R8BKEExkTsRRLFOcVhBYjFsQXZhgKGK8ZVRn8GqUbUBv7HKkdVx4HHrgf
-ayAeINQhiiL/QiL7I7UkcSUtJesmqidqKCwo7ym0KnorQSwKLNQtoC5uLz0wDjDhMbUyizNjND01
-GTX4Ntg3ujifOYc6cDtcPEs9PD4wPyZAH0EaQhhDGEQbRSBGJ0cwSDtJSEpXS2dMeE2LTqBPtVDL
-UeNS+1QUVS5WSldmWIRZolrDW+RdB14sX1JgemGjYs9j/GUqZltnjWjBafdrL2xpbaVu43AjcWVy
-qnPxdTt2h3fWeSd6fHvTfS1+in/rgU+Ct4QihZKHBoh/if2LgI0KjpqQMZHPk3SVIJbTmI6aT5wY
-neifv6Gdo4GlbadhqVurXa1or3mxkbOwtdW4ALovvGK+mMDS/8MOxU3Hj8nUzBzOaNC30wjVWNel
-2ezcKd5Z4HriieSG5nLoTuob69nti+8z8NLyafP59YT3CviT+hb7lP0P/ob//wAAABwAMwBQAGsA
-hwChALwA1gDxAQwBJgFBAV0BeQGWAbMB0QHxAhECMgJVAnkCnwLGAu8DGgNHA3cDqAPdBBMETASH
-BMQFBAVGBYoF0AYZBmQGsAcAB1EHpQf8CFYIswkUCXgJ4QpNCr4LMwusDCoMrA0zDb0OSw7dD3IQ
-ChClEUMR4xKHEywT1RR/FSsV2RaJFzoX7RigGVUaCxrBG3kcMhzsHageZR8kH+UgqCFtIjQi/iPK
-JJglaCY7J/8PJ+YowCmbKngrVyw3LRkt+y7fL8QwqjGQMnczXzRINTI2HDcJN/Y45TnWOsg7vTy0
-Pa0+qD+lQKZBqEKtQ7VEvkXLRtpH60j+ShNLK0xETV5Oek+YULZR1lL3VBlVO1ZfV4RYqlnRWvlc
-I11OXntfqWDZYgpjPmRzZatm5GggaV5qnWvfbSNuaW+xcPpyRXOQdN12Knd3eMV6EntffKx9+H9E
-gJGB3YMqhHiFx4cXiGqJvosVjG6Ny48rkI+R95NjlNOWR5fAmT2avpxEnc6fXKDuooWkIKXAp2Sp
-Daq6rGyuIq/dsZ2zYbUptvS4w7qUvGe+O8AQwePDtcWEx1D/yRfK28yazlTQC9G+027VG9bG2HDa
-GNvB3WnfEeC54mLkDOW151/pCOqx7FruAe+o8U/y9PSY9jv33/mD+yb8x/5m//8AAAAjAEIAZwCJ
-AKsAzQDvAREBMwFWAXoBnwHFAewCFgJBAm4CngLQAwYDPgN7A7sD/wRGBJIE4QU0BYoF5AZBBqEH
-BQdsB9cIRwi7CTQJswo4CsQLVwvyDJQNPw3yDqwPbxA5EQsR4xLCE6YUkBV/FnMXbBhqGWwacxuA
-HJEdpx7BH+AhASIlI0skciWbJsQn7ikaKkgrdyyoLdwvETBJMYMyvzP9NT42gDfFOQw6VzujPPM+
-RT+bQPNC/05DrEUMRm5H00k5SqFMCk1zTt1QR1GxUxtUhFXuV1hYwlotW5ldBl50X+RhVWLHZDpl
-r2claJ1qFWuPbQpuhnAEcYRzBHSHdgt3kHkXep98KX20f0CAzYJcg+uFe4cNiJ+KMovFjViO7JB/
-khOTppU5lsyYX5nym4SdFp6ooDmhyKNWpOKmbKfzqXeq+Kx2rfGvabDeslKzwrUxtp+4C7l2uuC8
-Sr2yvxvAg8Hqw1LEucYfx4bI7MpRy7bNG85/z+LRQ9Ki0/7VV9ar1/rZQdqB27nc6d4M3yfgOuE+
-4j7jL+Qc5P3l2ear53roPukC6bnqcOsg68vsd+0Y7bnuWP/u8e+K8CDwsfFD8dPyXfLo83Pz+PR9
-9QH1hPYE9oX3BfeI+Ar4jfkN+Yn6BvqD+vz7dfvt/Gb82v1O/cL+Nv6o/xr/jf//AABkZXNjAAAA
-AAAAAApDb2xvciBMQ0QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAFAAAADGVuVVMA
-AAASAAAATGZyRlIAAAASAAAAXmRlREUAAAAQAAAAcGVzRVMAAAASAAAAgGl0SVQAAAAUAAAAkgBD
-AG8AbAChbwByACAATABDAEQAyQBjAHIAYQBuACAATABDAEQARgBhAHIAYgAtAEwAQwBEAEwAQwBE
-ACAAYwBvAGwAbwByAEwAQwBEACAAYwBvAGwAbwByAGkAAG1tb2QAAAAAAAAGEAAAnGEAAAAAwF3/
-AAAAAAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAxMAAALAAA
-AAAWABMAAAaXwJdwSCwahYCkcskskIpM5bFj8BAB1M6xSLUiX1kjakTsfsEGrdC1SS5SQ1HhjFaf
-AiEWYHKl118fCS8cAAx9LwBFHgYvGA8rAhkDcGeJcQYaLhcSERQlk0OWli8mBxVCIAAEgIKhZyoK
-EEMnABYtDnyuiEINDURsSQiUlS8QCipiZFBIFQcmW0eiUaNb0tPXUtDa29xCQQA7
-}
-image create photo buttonimagenumbox -data $numboxdata
-set objdata {
-R0lGODlhFgARAPABAP///wAAACH5BAQAAAAAIf8LSUNDUkdCRzEwMTL/ZGluAAAH7AAABj5kZXNj
-AAAOLAAAAGRkc2NtAAAOkAAAAKZtbW9kAAAPOAAAAChjcHJ0AAAPYAAAACRYWVogAAAAAAAAYQoA
-ADhRAAAHWFhZWiAAAAAAAABwSwAAsHMAACKPWFlaIAAAAAAAACWBAAAXVwAAqT5YWVogAAAAAAAA
-81IAAQAAAAEWz3NmMzIAAAAAAAEMQgAABd7///MmAAAHkgAA/ZH///ui///9owAAA9wAAMBsY3Vy
-dgAAAAAAAAABAc0AAGN1cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAAdmNndAAAAAAAAAAA
-AAMBAAACAAAAHQBl/wDSAXwCSgMeBAgFIwZcB7IJJAqzDF0ODg/TEZ4TZRUsFu0YnhpEG98dax7u
-IGMhziMxJIkl3ycxKH0pyCsOLFMtky7QMAkxPzJtM5c0vDXdNvY4DTkdOik7Mzw3PTo+Oj83QDNB
-LkIpQyJEGkUURgxHBEf+SPdJ70roS+FM3E3WTtFPzVDKUchSx1PHVMdVyFbKV8xYz1nTWtdb3Vzi
-Xele8F/4YQBiCWMTZB5lKmY2Z0JoT2lbamhrdmyEbZJun2+tcLpxyHLVc+J073X8dwd4Enkceid7
-MHw3fT9+RX9KgE+BUoJVg1aEV4VXhlaHVIhSiVCKTYtKjEeNQ45Aj/89kDuROJI3kzaUNZU1ljaX
-N5g5mTuaPptCnEWdSZ5Mn1CgVKFYolyjX6RipWamaadsqG+pcap0q3Wsd614rnmvebB5sXiydrN0
-tHG1brZpt2O4XblWuk27Q7w5vS2+H78QwADA7cHZwsPDqsSPxXHGUccvyArI5Mm8ypDLZMw1zQXN
-086fz2rQM9D80cLSh9NK1A3UztWM1krXCNfE2H7ZONny2qrbYtwa3NLdit5C3vnfseBo4SDh2OKP
-40fj/+S25W3mJebc55XoT+kK6cfqiOtM7BTs4u237pLvdfBf8VHyTPNP9Fv1bfaH96f4zfn4+yP8
-VP2K/sT//wAAABz/AGIAygFmAigC5wPOBM0F9gc1CJQKBQuZDTEO1xCHEi8T3BV9FxUYpBonG5kd
-BB5dH7Ig/yJHI4UkwSX7Jy4oXimNKrgr4C0DLiIvOzBOMV0yZDNoNGY1YDZWN0c4NjkfOgg67zvT
-PLc9mj58P15AP0EhQgFC4kPDRKRFhkZpR01IMEkWSfxK5EvNTLdNo06ST4BQcFFhUlNTRVQ4VStW
-HlcQWANY9lnnWtlby1y9Xa5eoF+QYIFhcmJjY1RkRmU4ZitnIGgUaQpqAmr6a/Rs7m3qbuZv43Dh
-cd9y3XPbdNl11nbTd894zHnIesJ7vHy2fa5+p3+fgJaBjYKDg3qE/2+FZYZch1OISYlBijmLMYwq
-jSWOH48akBWREZIOkwuUCJUFlgKW/5f9mPqZ95r0m/Cc7J3onuOf36DaodSizqPIpMOlvqa5p7Wo
-samvqq2rrqyvrbKut6+8sMOxy7LUs9205rXwtvi4AbkJug+7FLwYvRq+Gr8YwBXBEMIJwwHD9sTr
-xd3Gz8e/yK3JmsqFy3DMWM1AzibPC8/v0NLRs9KT03LUUdUv1g3W69fJ2KfZhdpl20bcKd0O3fXe
-39/M4Lzhr+Kl457kmuWY5pnnm+if6aTqquux7Lntwe7K79Tw3vHq8vf0BPUU9iX3N/hK+WD6d/uO
-/Kb9wP7d//8AAP8AFgBOAKIBEgGpAk0C+APHBK0FqAa5B94JFwpYC6EM8Q5DD4wQ1hIWE04UehWe
-FrgXyhjWGdoa2hvWHM4dwx62H6gglyGEIm8jVyQ8JR0l+ybUJ6koeSlGKg4q0SuRLE4tBy27Lm8v
-IC/NMHkxJTHMMnQzGzPANGU1CjWuNlM29jeaOD444TmEOig6yztvPBI8tT1YPfo+nT9AP+NAhkEp
-Qc1CcUMWQ7xEY0ULRbRGX0cKR7dIZUkUScNKc0slS9ZMiU08TfBOpE9ZUA5QxFF7UjJS6VOhVFpV
-ElXMVoVXP1f5WLNZbVooWuJbnVxYXRNdzl6KX0ZgAmC+YXtiOWL/92O1ZHVlNWX3ZrlnfWhCaQhp
-z2qYa2JsLWz4bcVuk29hcDBw/3HPcqBzcXRCdRV153a6d454Ynk3egx64Xu4fI99ZX48fxR/7IDF
-gZ2Cd4NQhCqFBIXehrmHlYhxiU2KKosIi+aMxI2jjoOPZJBGkSiSC5Lwk9WUvJWjloyXdphgmUya
-OpsonBedCJ37nvCf56Dhod2i3KPfpOSl7Kb4qAepGKosq0OsW612rpOvsbDSsfOzFrQ6tV+2h7ev
-uNm6BLsxvF+9kL7Dv/rBNcJ1w7zFEMZux9rJXsr0zKfOfNBx0ozUzNdA2djcpd+Y4rPl9+ln7PLw
-dvQj9/T78P///wAAbmRpbgAAAAAAAAY2AACW8AAAWOgAAFMYAACKXgAAJ5cAABaoAABQDQAAVDkA
-AkKPAAHwowABa4UAAwEAAAIAAAAbADAASgBlAH4AlwCwAMkA4gD7ARQBLQFGAWEBewGWAbEBzgHr
-AgkCKAJIAmkCjAKwAtYC/QMmA1EDfgOsA90EEARFBHwEtgTxBS4FbQWuBfEGNQZ8BsQHDgdbB6kH
-+ghNCKMI/AlYCbYKGAp+CuYLUwvDDDYMrQ0nDaQOJQ6oDy4PthBBEM8RXhHwEoQTGROxFEsU5xWE
-FiMWxBdmGAoYrxlVGfwapRtQG/scqR1XHgceuB9rIB4g1CGKIv9CIvsjtSRxJS0l6yaqJ2ooLCjv
-KbQqeitBLAos1C2gLm4vPTAOMOExtTKLM2M0PTUZNfg22De6OJ85hzpwO1w8Sz08PjA/JkAfQRpC
-GEMYRBtFIEYnRzBIO0lISldLZ0x4TYtOoE+1UMtR41L7VBRVLlZKV2ZYhFmiWsNb5F0HXixfUmB6
-YaNiz2P8ZSpmW2eNaMFp92svbGltpW7jcCNxZXKqc/F1O3aHd9Z5J3p8e9N9LX6Kf+uBT4K3hCKF
-kocGiH+J/YuAjQqOmpAxkc+TdJUgltOYjppPnBid6J+/oZ2jgaVtp2GpW6tdrWivebGRs7C11bgA
-ui+8Yr6YwNL/ww7FTcePydTMHM5o0LfTCNVY16XZ7Nwp3lngeuKJ5IbmcuhO6hvr2e2L7zPw0vJp
-8/n1hPcK+JP6FvuU/Q/+hv//AAAAHAAzAFAAawCHAKEAvADWAPEBDAEmAUEBXQF5AZYBswHRAfEC
-EQIyAlUCeQKfAsYC7wMaA0cDdwOoA90EEwRMBIcExAUEBUYFigXQBhkGZAawBwAHUQelB/wIVgiz
-CRQJeAnhCk0KvgszC6wMKgysDTMNvQ5LDt0PchAKEKURQxHjEocTLBPVFH8VKxXZFokXOhftGKAZ
-VRoLGsEbeRwyHOwdqB5lHyQf5SCoIW0iNCL+I8okmCVoJjsn/w8n5ijAKZsqeCtXLDctGS37Lt8v
-xDCqMZAydzNfNEg1MjYcNwk39jjlOdY6yDu9PLQ9rT6oP6VApkGoQq1DtUS+RctG2kfrSP5KE0sr
-TERNXk56T5hQtlHWUvdUGVU7Vl9XhFiqWdFa+VwjXU5ee1+pYNliCmM+ZHNlq2bkaCBpXmqda99t
-I25pb7Fw+nJFc5B03XYqd3d4xXoSe198rH34f0SAkYHdgyqEeIXHhxeIaom+ixWMbo3LjyuQj5H3
-k2OU05ZHl8CZPZq+nESdzp9coO6ihaQgpcCnZKkNqrqsbK4ir92xnbNhtSm29LjDupS8Z747wBDB
-48O1xYTHUP/JF8rbzJrOVNAL0b7TbtUb1sbYcNoY28Hdad8R4LniYuQM5bXnX+kI6rHsWu4B76jx
-T/L09Jj2O/ff+YP7JvzH/mb//wAAACMAQgBnAIkAqwDNAO8BEQEzAVYBegGfAcUB7AIWAkECbgKe
-AtADBgM+A3sDuwP/BEYEkgThBTQFigXkBkEGoQcFB2wH1whHCLsJNAmzCjgKxAtXC/IMlA0/DfIO
-rA9vEDkRCxHjEsITphSQFX8WcxdsGGoZbBpzG4AckR2nHsEf4CEBIiUjSyRyJZsmxCfuKRoqSCt3
-LKgt3C8RMEkxgzK/M/01PjaAN8U5DDpXO6M88z5FP5tA80L/TkOsRQxGbkfTSTlKoUwKTXNO3VBH
-UbFTG1SEVe5XWFjCWi1bmV0GXnRf5GFVYsdkOmWvZyVonWoVa49tCm6GcARxhHMEdId2C3eQeRd6
-n3wpfbR/QIDNglyD64V7hw2In4oyi8WNWI7skH+SE5OmlTmWzJhfmfKbhJ0WnqigOaHIo1ak4qZs
-p/Opd6r4rHat8a9psN6yUrPCtTG2n7gLuXa64LxKvbK/G8CDwerDUsS5xh/HhsjsylHLts0bzn/P
-4tFD0qLT/tVX1qvX+tlB2oHbudzp3gzfJ+A64T7iPuMv5Bzk/eXZ5qvneug+6QLpuepw6yDry+x3
-7Rjtue5Y/+7x74rwIPCx8UPx0/Jd8ujzc/P49H31AfWE9gT2hfcF94j4CviN+Q35ifoG+oP6/Pt1
-++38Zvza/U79wv42/qj/Gv+N//8AAGRlc2MAAAAAAAAACkNvbG9yIExDRAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAABtbHVjAAAAAAAAAAUAAAAMZW5VUwAAABIAAABMZnJGUgAAABIAAABeZGVERQAAABAA
-AABwZXNFUwAAABIAAACAaXRJVAAAABQAAACSAEMAbwBsAKFvAHIAIABMAEMARADJAGMAcgBhAG4A
-IABMAEMARABGAGEAcgBiAC0ATABDAEQATABDAEQAIABjAG8AbABvAHIATABDAEQAIABjAG8AbABv
-AHIAaQAAbW1vZAAAAAAAAAYQAACcYQAAAADAXf8AAAAAAAAAAAAAAAAAAAAAAHRleHQAAAAAQ29w
-eXJpZ2h0IEFwcGxlLCBJbmMuLCAyMDEwAAAsAAAAABYAEQAAAiWEj6kW7emaCqtOaynQ+O6+aBx4
-jCRinurKtpDLtKLMmJEtwUYBADs=
-}
-image create photo buttonimageobj -data $objdata
-set symbolatomdata {
-R0lGODlhEQARANUAAAAAAAAALgAAkQoKChMTEy4ueS5BcC5cn0FBLk8AAFxmXFyJt2aYwokuAJFc
-QZG915jI6pjX959cT6uCXLGCT7HS5beYn8DAwMiRQdLu+9f38uDg4OXIpez9//LSmPL/8vfSkff/
-//v38v7////y4P/94v//8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAQAAAAAIf/8SUNDUkdCRzEwMTIA
-AA+EYXBwbAIAAABtbnRyUkdCIFhZWiAH2gAJAAEADwATAB9hY3NwQVBQTAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAA5yWFlaAAABLAAAABRnWFlaAAABQAAAABRiWFlaAAABVAAAABR3dHB0
-AAABaAAAABRjaGFkAAABfAAAACxyVFJDAAABqAAAAA5nVFJDAAABuAAAAA5iVFJDAAAByAAAAA52
-Y2d0AAAB2AAABhJu/2RpbgAAB+wAAAY+ZGVzYwAADiwAAABkZHNjbQAADpAAAACmbW1vZAAADzgA
-AAAoY3BydAAAD2AAAAAkWFlaIAAAAAAAAGEKAAA4UQAAB1hYWVogAAAAAAAAcEsAALBzAAAij1hZ
-WiAAAAAAAAAlgQAAF1cAAKk+WFlaIAAAAAAAAPNSAAEAAAABFs9zZjMyAAAAAAABDEIAAAXe///z
-JgAAB5IAAP2R///7ov///aMAAAPcAADAbGN1cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAA
-Y3VydgAAAAAAAAABAc0AAHZjZ3QAAAAAAAAAAAADAQAAAgAAAB0AZf8A0gF8AkoDHgQIBSMGXAey
-CSQKswxdDg4P0xGeE2UVLBbtGJ4aRBvfHWse7iBjIc4jMSSJJd8nMSh9KcgrDixTLZMu0DAJMT8y
-bTOXNLw13Tb2OA05HTopOzM8Nz06Pjo/N0AzQS5CKUMiRBpFFEYMRwRH/kj3Se9K6EvhTNxN1k7R
-T81QylHIUsdTx1THVchWylfMWM9Z01rXW91c4l3pXvBf+GEAYgljE2QeZSpmNmdCaE9pW2poa3Zs
-hG2Sbp9vrXC6cchy1XPidO91/HcHeBJ5HHonezB8N30/fkV/SoBPgVKCVYNWhFeFV4ZWh1SIUolQ
-ik2LSoxHjUOOQI//PZA7kTiSN5M2lDWVNZY2lzeYOZk7mj6bQpxFnUmeTJ9QoFShWKJco1+kYqVm
-pmmnbKhvqXGqdKt1rHeteK55r3mwebF4snazdLRxtW62abdjuF25VrpNu0O8Ob0tvh+/EMAAwO3B
-2cLDw6rEj8VxxlHHL8gKyOTJvMqQy2TMNc0FzdPOn89q0DPQ/NHC0ofTStQN1M7VjNZK1wjXxNh+
-2TjZ8tqq22LcGtzS3YreQt7537HgaOEg4djij+NH4//ktuVt5iXm3OeV6E/pCunH6ojrTOwU7OLt
-t+6S73XwX/FR8kzzT/Rb9W32h/en+M35+Psj/FT9iv7E//8AAAAc/wBiAMoBZgIoAucDzgTNBfYH
-NQiUCgULmQ0xDtcQhxIvE9wVfRcVGKQaJxuZHQQeXR+yIP8iRyOFJMEl+ycuKF4pjSq4K+AtAy4i
-LzswTjFdMmQzaDRmNWA2VjdHODY5HzoIOu870zy3PZo+fD9eQD9BIUIBQuJDw0SkRYZGaUdNSDBJ
-Fkn8SuRLzUy3TaNOkk+AUHBRYVJTU0VUOFUrVh5XEFgDWPZZ51rZW8tcvV2uXqBfkGCBYXJiY2NU
-ZEZlOGYrZyBoFGkKagJq+mv0bO5t6m7mb+Nw4XHfct1z23TZddZ203fPeMx5yHrCe7x8tn2ufqd/
-n4CWgY2Cg4N6hP9vhWWGXIdTiEmJQYo5izGMKo0ljh+PGpAVkRGSDpMLlAiVBZYClv+X/Zj6mfea
-9JvwnOyd6J7jn9+g2qHUos6jyKTDpb6muae1qLGpr6qtq66sr62yrrevvLDDscuy1LPdtOa18Lb4
-uAG5CboPuxS8GL0avhq/GMAVwRDCCcMBw/bE68Xdxs/Hv8ityZrKhctwzFjNQM4mzwvP79DS0bPS
-k9Ny1FHVL9YN1uvXydin2YXaZdtG3CndDt313t/fzOC84a/ipeOe5JrlmOaZ55von+mk6qrrsey5
-7cHuyu/U8N7x6vL39AT1FPYl9zf4Svlg+nf7jvym/cD+3f//AAD/ABYATgCiARIBqQJNAvgDxwSt
-BagGuQfeCRcKWAuhDPEOQw+MENYSFhNOFHoVnha4F8oY1hnaGtob1hzOHcMeth+oIJchhCJvI1ck
-PCUdJfsm1CepKHkpRioOKtErkSxOLQctuy5vLyAvzTB5MSUxzDJ0MxszwDRlNQo1rjZTNvY3mjg+
-OOE5hDooOss7bzwSPLU9WD36Pp0/QD/jQIZBKUHNQnFDFkO8RGNFC0W0Rl9HCke3SGVJFEnDSnNL
-JUvWTIlNPE3wTqRPWVAOUMRRe1IyUulToVRaVRJVzFaFVz9X+VizWW1aKFriW51cWF0TXc5eil9G
-YAJgvmF7Yjli//djtWR1ZTVl92a5Z31oQmkIac9qmGtibC1s+G3FbpNvYXAwcP9xz3Kgc3F0QnUV
-ded2uneOeGJ5N3oMeuF7uHyPfWV+PH8Uf+yAxYGdgneDUIQqhQSF3oa5h5WIcYlNiiqLCIvmjMSN
-o46Dj2SQRpEokguS8JPVlLyVo5aMl3aYYJlMmjqbKJwXnQid+57wn+eg4aHdotyj36Tkpeym+KgH
-qRiqLKtDrFutdq6Tr7Gw0rHzsxa0OrVftoe3r7jZugS7MbxfvZC+w7/6wTXCdcO8xRDGbsfayV7K
-9MynznzQcdKM1MzXQNnY3KXfmOKz5ffpZ+zy8Hb0I/f0+/D///8AAG5kaW4AAAAAAAAGNgAAlvAA
-AFjoAABTGAAAil4AACeXAAAWqAAAUA0AAFQ5AAJCjwAB8KMAAWuFAAMBAAACAAAAGwAwAEoAZQB+
-AJcAsADJAOIA+wEUAS0BRgFhAXsBlgGxAc4B6wIJAigCSAJpAowCsALWAv0DJgNRA34DrAPdBBAE
-RQR8BLYE8QUuBW0FrgXxBjUGfAbEBw4HWwepB/oITQijCPwJWAm2ChgKfgrmC1MLwww2DK0NJw2k
-DiUOqA8uD7YQQRDPEV4R8BKEExkTsRRLFOcVhBYjFsQXZhgKGK8ZVRn8GqUbUBv7HKkdVx4HHrgf
-ayAeINQhiiL/QiL7I7UkcSUtJesmqidqKCwo7ym0KnorQSwKLNQtoC5uLz0wDjDhMbUyizNjND01
-GTX4Ntg3ujifOYc6cDtcPEs9PD4wPyZAH0EaQhhDGEQbRSBGJ0cwSDtJSEpXS2dMeE2LTqBPtVDL
-UeNS+1QUVS5WSldmWIRZolrDW+RdB14sX1JgemGjYs9j/GUqZltnjWjBafdrL2xpbaVu43AjcWVy
-qnPxdTt2h3fWeSd6fHvTfS1+in/rgU+Ct4QihZKHBoh/if2LgI0KjpqQMZHPk3SVIJbTmI6aT5wY
-neifv6Gdo4GlbadhqVurXa1or3mxkbOwtdW4ALovvGK+mMDS/8MOxU3Hj8nUzBzOaNC30wjVWNel
-2ezcKd5Z4HriieSG5nLoTuob69nti+8z8NLyafP59YT3CviT+hb7lP0P/ob//wAAABwAMwBQAGsA
-hwChALwA1gDxAQwBJgFBAV0BeQGWAbMB0QHxAhECMgJVAnkCnwLGAu8DGgNHA3cDqAPdBBMETASH
-BMQFBAVGBYoF0AYZBmQGsAcAB1EHpQf8CFYIswkUCXgJ4QpNCr4LMwusDCoMrA0zDb0OSw7dD3IQ
-ChClEUMR4xKHEywT1RR/FSsV2RaJFzoX7RigGVUaCxrBG3kcMhzsHageZR8kH+UgqCFtIjQi/iPK
-JJglaCY7J/8PJ+YowCmbKngrVyw3LRkt+y7fL8QwqjGQMnczXzRINTI2HDcJN/Y45TnWOsg7vTy0
-Pa0+qD+lQKZBqEKtQ7VEvkXLRtpH60j+ShNLK0xETV5Oek+YULZR1lL3VBlVO1ZfV4RYqlnRWvlc
-I11OXntfqWDZYgpjPmRzZatm5GggaV5qnWvfbSNuaW+xcPpyRXOQdN12Knd3eMV6EntffKx9+H9E
-gJGB3YMqhHiFx4cXiGqJvosVjG6Ny48rkI+R95NjlNOWR5fAmT2avpxEnc6fXKDuooWkIKXAp2Sp
-Daq6rGyuIq/dsZ2zYbUptvS4w7qUvGe+O8AQwePDtcWEx1D/yRfK28yazlTQC9G+027VG9bG2HDa
-GNvB3WnfEeC54mLkDOW151/pCOqx7FruAe+o8U/y9PSY9jv33/mD+yb8x/5m//8AAAAjAEIAZwCJ
-AKsAzQDvAREBMwFWAXoBnwHFAewCFgJBAm4CngLQAwYDPgN7A7sD/wRGBJIE4QU0BYoF5AZBBqEH
-BQdsB9cIRwi7CTQJswo4CsQLVwvyDJQNPw3yDqwPbxA5EQsR4xLCE6YUkBV/FnMXbBhqGWwacxuA
-HJEdpx7BH+AhASIlI0skciWbJsQn7ikaKkgrdyyoLdwvETBJMYMyvzP9NT42gDfFOQw6VzujPPM+
-RT+bQPNC/05DrEUMRm5H00k5SqFMCk1zTt1QR1GxUxtUhFXuV1hYwlotW5ldBl50X+RhVWLHZDpl
-r2claJ1qFWuPbQpuhnAEcYRzBHSHdgt3kHkXep98KX20f0CAzYJcg+uFe4cNiJ+KMovFjViO7JB/
-khOTppU5lsyYX5nym4SdFp6ooDmhyKNWpOKmbKfzqXeq+Kx2rfGvabDeslKzwrUxtp+4C7l2uuC8
-Sr2yvxvAg8Hqw1LEucYfx4bI7MpRy7bNG85/z+LRQ9Ki0/7VV9ar1/rZQdqB27nc6d4M3yfgOuE+
-4j7jL+Qc5P3l2ear53roPukC6bnqcOsg68vsd+0Y7bnuWP/u8e+K8CDwsfFD8dPyXfLo83Pz+PR9
-9QH1hPYE9oX3BfeI+Ar4jfkN+Yn6BvqD+vz7dfvt/Gb82v1O/cL+Nv6o/xr/jf//AABkZXNjAAAA
-AAAAAApDb2xvciBMQ0QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAFAAAADGVuVVMA
-AAASAAAATGZyRlIAAAASAAAAXmRlREUAAAAQAAAAcGVzRVMAAAASAAAAgGl0SVQAAAAUAAAAkgBD
-AG8AbAChbwByACAATABDAEQAyQBjAHIAYQBuACAATABDAEQARgBhAHIAYgAtAEwAQwBEAEwAQwBE
-ACAAYwBvAGwAbwByAEwAQwBEACAAYwBvAGwAbwByAGkAAG1tb2QAAAAAAAAGEAAAnGEAAAAAwF3/
-AAAAAAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAxMAAALAAA
-AAARABEAAAZfwJFwSCwaj0iAcqkcbI4AI+BCuEiZyxHVSowit12kcDMIlxyIw8eSGXqFUZCgI+Qk
-FvT3KGqiABghQhgAEHpRIiMlDREkEwYVe2EeAQoFGhIPbl1YSmFunJxioqOko0EAOw==
-}
-image create photo buttonimagesymbolatom -data $symbolatomdata
-set textdata {
-R0lGODlhGwARAPAAAP///wAAACH5BAAAAAAAIf8LSUNDUkdCRzEwMTL/AAAPhGFwcGwCAAAAbW50
-clJHQiBYWVogB9oACQABAA8AEwAfYWNzcEFQUEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPbW
-AAEAAAAA0y1hcHBs2S6BsfMyXumJcebqTFAPNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAOclhZWgAAASwAAAAUZ1hZWgAAAUAAAAAUYlhZWgAAAVQAAAAUd3RwdAAAAWgAAAAUY2hhZAAA
-AXwAAAAsclRSQwAAAagAAAAOZ1RSQwAAAbgAAAAOYlRSQwAAAcgAAAAOdmNndAAAAdgAAAYSbmRp
-bgAAB+wAAAY+ZGVz/2MAAA4sAAAAZGRzY20AAA6QAAAApm1tb2QAAA84AAAAKGNwcnQAAA9gAAAA
-JFhZWiAAAAAAAABhCgAAOFEAAAdYWFlaIAAAAAAAAHBLAACwcwAAIo9YWVogAAAAAAAAJYEAABdX
-AACpPlhZWiAAAAAAAADzUgABAAAAARbPc2YzMgAAAAAAAQxCAAAF3v//8yYAAAeSAAD9kf//+6L/
-//2jAAAD3AAAwGxjdXJ2AAAAAAAAAAEBzQAAY3VydgAAAAAAAAABAc0AAGN1cnYAAAAAAAAAAQHN
-AAB2Y2d0AAAAAAAAAAAAAwEAAAIAAAAdAGUA0gF8AkoDHgQIBSMGXP8HsgkkCrMMXQ4OD9MRnhNl
-FSwW7RieGkQb3x1rHu4gYyHOIzEkiSXfJzEofSnIKw4sUy2TLtAwCTE/Mm0zlzS8Nd029jgNOR06
-KTszPDc9Oj46PzdAM0EuQilDIkQaRRRGDEcER/5I90nvSuhL4UzcTdZO0U/NUMpRyFLHU8dUx1XI
-VspXzFjPWdNa11vdXOJd6V7wX/hhAGIJYxNkHmUqZjZnQmhPaVtqaGt2bIRtkm6fb61wunHIctVz
-4nTvdfx3B3gSeRx6J3swfDd9P35Ff0qAT4FSglWDVoRXhVeGVodUiFKJUIpNi0qMR41DjkCPPZA7
-kTiSN5M2lDWVNZb/Npc3mDmZO5o+m0KcRZ1JnkyfUKBUoViiXKNfpGKlZqZpp2yob6lxqnSrdax3
-rXiuea95sHmxeLJ2s3S0cbVutmm3Y7hduVa6TbtDvDm9Lb4fvxDAAMDtwdnCw8OqxI/FccZRxy/I
-CsjkybzKkMtkzDXNBc3Tzp/PatAz0PzRwtKH00rUDdTO1YzWStcI18TYftk42fLaqtti3Brc0t2K
-3kLe+d+x4GjhIOHY4o/jR+P/5LblbeYl5tznlehP6Qrpx+qI60zsFOzi7bfuku918F/xUfJM80/0
-W/Vt9of3p/jN+fj7I/xU/Yr+xP//AAAAHABiAMoBZgIoAucDzgTN/wX2BzUIlAoFC5kNMQ7XEIcS
-LxPcFX0XFRikGicbmR0EHl0fsiD/IkcjhSTBJfsnLiheKY0quCvgLQMuIi87ME4xXTJkM2g0ZjVg
-NlY3Rzg2OR86CDrvO9M8tz2aPnw/XkA/QSFCAULiQ8NEpEWGRmlHTUgwSRZJ/ErkS81Mt02jTpJP
-gFBwUWFSU1NFVDhVK1YeVxBYA1j2Weda2VvLXL1drl6gX5BggWFyYmNjVGRGZThmK2cgaBRpCmoC
-avpr9Gzubepu5m/jcOFx33Ldc9t02XXWdtN3z3jMech6wnu8fLZ9rn6nf5+AloGNgoODeoRvhWWG
-XIdTiEmJQYo5i/8xjCqNJY4fjxqQFZERkg6TC5QIlQWWApb/l/2Y+pn3mvSb8Jzsneie45/foNqh
-1KLOo8ikw6W+prmntaixqa+qrauurK+tsq63r7yww7HLstSz3bTmtfC2+LgBuQm6D7sUvBi9Gr4a
-vxjAFcEQwgnDAcP2xOvF3cbPx7/IrcmayoXLcMxYzUDOJs8Lz+/Q0tGz0pPTctRR1S/WDdbr18nY
-p9mF2mXbRtwp3Q7d9d7f38zgvOGv4qXjnuSa5Zjmmeeb6J/ppOqq67Hsue3B7srv1PDe8ery9/QE
-9RT2Jfc3+Er5YPp3+478pv3A/t3//wAAABYATgCiARIBqQJNAvj/A8cErQWoBrkH3gkXClgLoQzx
-DkMPjBDWEhYTThR6FZ4WuBfKGNYZ2hraG9Yczh3DHrYfqCCXIYQibyNXJDwlHSX7JtQnqSh5KUYq
-DirRK5EsTi0HLbsuby8gL80weTElMcwydDMbM8A0ZTUKNa42Uzb2N5o4PjjhOYQ6KDrLO288Ejy1
-PVg9+j6dP0A/40CGQSlBzUJxQxZDvERjRQtFtEZfRwpHt0hlSRRJw0pzSyVL1kyJTTxN8E6kT1lQ
-DlDEUXtSMlLpU6FUWlUSVcxWhVc/V/lYs1ltWiha4ludXFhdE13OXopfRmACYL5he2I5YvdjtWR1
-ZTVl92a5Z31o/0JpCGnPaphrYmwtbPhtxW6Tb2FwMHD/cc9yoHNxdEJ1FXXndrp3jnhieTd6DHrh
-e7h8j31lfjx/FH/sgMWBnYJ3g1CEKoUEhd6GuYeViHGJTYoqiwiL5ozEjaOOg49kkEaRKJILkvCT
-1ZS8laOWjJd2mGCZTJo6myicF50Infue8J/noOGh3aLco9+k5KXspvioB6kYqiyrQ6xbrXauk6+x
-sNKx87MWtDq1X7aHt6+42boEuzG8X72QvsO/+sE1wnXDvMUQxm7H2sleyvTMp8580HHSjNTM10DZ
-2Nyl35jis+X36Wfs8vB29CP39Pvw//8AAG5kaW4AAAAAAAAGNv8AAJbwAABY6AAAUxgAAIpeAAAn
-lwAAFqgAAFANAABUOQACQo8AAfCjAAFrhQADAQAAAgAAABsAMABKAGUAfgCXALAAyQDiAPsBFAEt
-AUYBYQF7AZYBsQHOAesCCQIoAkgCaQKMArAC1gL9AyYDUQN+A6wD3QQQBEUEfAS2BPEFLgVtBa4F
-8QY1BnwGxAcOB1sHqQf6CE0Iowj8CVgJtgoYCn4K5gtTC8MMNgytDScNpA4lDqgPLg+2EEEQzxFe
-EfAShBMZE7EUSxTnFYQWIxbEF2YYChivGVUZ/BqlG1Ab+xypHVceBx64H2sgHiDUIYoiQiL7I7Uk
-cSUtJesmqif/aigsKO8ptCp6K0EsCizULaAubi89MA4w4TG1MoszYzQ9NRk1+DbYN7o4nzmHOnA7
-XDxLPTw+MD8mQB9BGkIYQxhEG0UgRidHMEg7SUhKV0tnTHhNi06gT7VQy1HjUvtUFFUuVkpXZliE
-WaJaw1vkXQdeLF9SYHpho2LPY/xlKmZbZ41owWn3ay9saW2lbuNwI3Flcqpz8XU7dod31nknenx7
-030tfop/64FPgreEIoWShwaIf4n9i4CNCo6akDGRz5N0lSCW05iOmk+cGJ3on7+hnaOBpW2nYalb
-q12taK95sZGzsLXVuAC6L7xivpjA0sMOxU3Hj8nUzBzOaNC3/9MI1VjXpdns3CneWeB64onkhuZy
-6E7qG+vZ7YvvM/DS8mnz+fWE9wr4k/oW+5T9D/6G//8AAAAcADMAUABrAIcAoQC8ANYA8QEMASYB
-QQFdAXkBlgGzAdEB8QIRAjICVQJ5Ap8CxgLvAxoDRwN3A6gD3QQTBEwEhwTEBQQFRgWKBdAGGQZk
-BrAHAAdRB6UH/AhWCLMJFAl4CeEKTQq+CzMLrAwqDKwNMw29DksO3Q9yEAoQpRFDEeMShxMsE9UU
-fxUrFdkWiRc6F+0YoBlVGgsawRt5HDIc7B2oHmUfJB/lIKghbSI0Iv4jyiSYJWgmOycPJ+YowCmb
-KngrVyw3Lf8ZLfsu3y/EMKoxkDJ3M180SDUyNhw3CTf2OOU51jrIO708tD2tPqg/pUCmQahCrUO1
-RL5Fy0baR+tI/koTSytMRE1eTnpPmFC2UdZS91QZVTtWX1eEWKpZ0Vr5XCNdTl57X6lg2WIKYz5k
-c2WrZuRoIGleap1r320jbmlvsXD6ckVzkHTddip3d3jFehJ7X3ysffh/RICRgd2DKoR4hceHF4hq
-ib6LFYxujcuPK5CPkfeTY5TTlkeXwJk9mr6cRJ3On1yg7qKFpCClwKdkqQ2quqxsriKv3bGds2G1
-Kbb0uMO6lLxnvjvAEMHjw7XFhMdQyRfK28yazlTQC9G+027/1RvWxthw2hjbwd1p3xHgueJi5Azl
-tedf6Qjqsexa7gHvqPFP8vT0mPY799/5g/sm/Mf+Zv//AAAAIwBCAGcAiQCrAM0A7wERATMBVgF6
-AZ8BxQHsAhYCQQJuAp4C0AMGAz4DewO7A/8ERgSSBOEFNAWKBeQGQQahBwUHbAfXCEcIuwk0CbMK
-OArEC1cL8gyUDT8N8g6sD28QORELEeMSwhOmFJAVfxZzF2wYahlsGnMbgByRHacewR/gIQEiJSNL
-JHIlmybEJ+4pGipIK3csqC3cLxEwSTGDMr8z/TU+NoA3xTkMOlc7ozzzPkU/m0DzQk5DrEUMRm5H
-00k5SqFM/wpNc07dUEdRsVMbVIRV7ldYWMJaLVuZXQZedF/kYVVix2Q6Za9nJWidahVrj20KboZw
-BHGEcwR0h3YLd5B5F3qffCl9tH9AgM2CXIPrhXuHDYifijKLxY1YjuyQf5ITk6aVOZbMmF+Z8puE
-nRaeqKA5ocijVqTipmyn86l3qvisdq3xr2mw3rJSs8K1MbafuAu5drrgvEq9sr8bwIPB6sNSxLnG
-H8eGyOzKUcu2zRvOf8/i0UPSotP+1VfWq9f62UHagdu53OneDN8n4DrhPuI+4y/kHOT95dnmq+d6
-6D7pAum56nDrIOvL7HftGO257lju8e+K8CDwsfFD8dPyXf/y6PNz8/j0ffUB9YT2BPaF9wX3iPgK
-+I35DfmJ+gb6g/r8+3X77fxm/Nr9Tv3C/jb+qP8a/43//wAAZGVzYwAAAAAAAAAKQ29sb3IgTENE
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1sdWMAAAAAAAAABQAAAAxlblVTAAAAEgAAAExmckZSAAAA
-EgAAAF5kZURFAAAAEAAAAHBlc0VTAAAAEgAAAIBpdElUAAAAFAAAAJIAQwBvAGwAbwByACAATABD
-AEQAyQCTYwByAGEAbgAgAEwAQwBEAEYAYQByAGIALQBMAEMARABMAEMARAAgAGMAbwBsAG8AcgBM
-AEMARAAgAGMAbwBsAG8AcgBpAABtbW9kAAAAAAAABhAAAJxhAAAAAMBd/wAAAAAAAAAAAAAAAAAA
-AAAAdGV4dAAAAABDb3B5cmlnaHQgQXBwbGUsIEluYy4sIDIwMTAAACwAAAAAGwARAAACMYSPqcvt
-D6Oc1IR6V54bhb+B1nGB3UimQKkqnRl6zKvJ9YqjrO6GH5pbnSrEovH4KAAAOw==
-}
-image create photo buttonimagetext -data $textdata
-set toggledata {
-R0lGODlhFAATAPMAAP///wAAAAEBAfz8/N3d3YeHh729vRISEg0NDQ4ODgAAAAAAAAAAAAAAAAAA
-AAAAACH5BAAAAAAAIf8LSUNDUkdCRzEwMTL/AAAPhGFwcGwCAAAAbW50clJHQiBYWVogB9oACQAB
-AA8AEwAfYWNzcEFQUEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPbWAAEAAAAA0y1hcHBs2S6B
-sfMyXumJcebqTFAPNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOclhZWgAAASwAAAAU
-Z1hZWgAAAUAAAAAUYlhZWgAAAVQAAAAUd3RwdAAAAWgAAAAUY2hhZAAAAXwAAAAsclRSQwAAAagA
-AAAOZ1RSQwAAAbgAAAAOYlRSQwAAAcgAAAAOdmNndAAAAdgAAAYSbmRpbgAAB+wAAAY+ZGVz/2MA
-AA4sAAAAZGRzY20AAA6QAAAApm1tb2QAAA84AAAAKGNwcnQAAA9gAAAAJFhZWiAAAAAAAABhCgAA
-OFEAAAdYWFlaIAAAAAAAAHBLAACwcwAAIo9YWVogAAAAAAAAJYEAABdXAACpPlhZWiAAAAAAAADz
-UgABAAAAARbPc2YzMgAAAAAAAQxCAAAF3v//8yYAAAeSAAD9kf//+6L///2jAAAD3AAAwGxjdXJ2
-AAAAAAAAAAEBzQAAY3VydgAAAAAAAAABAc0AAGN1cnYAAAAAAAAAAQHNAAB2Y2d0AAAAAAAAAAAA
-AwEAAAIAAAAdAGUA0gF8AkoDHgQIBSMGXP8HsgkkCrMMXQ4OD9MRnhNlFSwW7RieGkQb3x1rHu4g
-YyHOIzEkiSXfJzEofSnIKw4sUy2TLtAwCTE/Mm0zlzS8Nd029jgNOR06KTszPDc9Oj46PzdAM0Eu
-QilDIkQaRRRGDEcER/5I90nvSuhL4UzcTdZO0U/NUMpRyFLHU8dUx1XIVspXzFjPWdNa11vdXOJd
-6V7wX/hhAGIJYxNkHmUqZjZnQmhPaVtqaGt2bIRtkm6fb61wunHIctVz4nTvdfx3B3gSeRx6J3sw
-fDd9P35Ff0qAT4FSglWDVoRXhVeGVodUiFKJUIpNi0qMR41DjkCPPZA7kTiSN5M2lDWVNZb/Npc3
-mDmZO5o+m0KcRZ1JnkyfUKBUoViiXKNfpGKlZqZpp2yob6lxqnSrdax3rXiuea95sHmxeLJ2s3S0
-cbVutmm3Y7hduVa6TbtDvDm9Lb4fvxDAAMDtwdnCw8OqxI/FccZRxy/ICsjkybzKkMtkzDXNBc3T
-zp/PatAz0PzRwtKH00rUDdTO1YzWStcI18TYftk42fLaqtti3Brc0t2K3kLe+d+x4GjhIOHY4o/j
-R+P/5LblbeYl5tznlehP6Qrpx+qI60zsFOzi7bfuku918F/xUfJM80/0W/Vt9of3p/jN+fj7I/xU
-/Yr+xP//AAAAHABiAMoBZgIoAucDzgTN/wX2BzUIlAoFC5kNMQ7XEIcSLxPcFX0XFRikGicbmR0E
-Hl0fsiD/IkcjhSTBJfsnLiheKY0quCvgLQMuIi87ME4xXTJkM2g0ZjVgNlY3Rzg2OR86CDrvO9M8
-tz2aPnw/XkA/QSFCAULiQ8NEpEWGRmlHTUgwSRZJ/ErkS81Mt02jTpJPgFBwUWFSU1NFVDhVK1Ye
-VxBYA1j2Weda2VvLXL1drl6gX5BggWFyYmNjVGRGZThmK2cgaBRpCmoCavpr9Gzubepu5m/jcOFx
-33Ldc9t02XXWdtN3z3jMech6wnu8fLZ9rn6nf5+AloGNgoODeoRvhWWGXIdTiEmJQYo5i/8xjCqN
-JY4fjxqQFZERkg6TC5QIlQWWApb/l/2Y+pn3mvSb8Jzsneie45/foNqh1KLOo8ikw6W+prmntaix
-qa+qrauurK+tsq63r7yww7HLstSz3bTmtfC2+LgBuQm6D7sUvBi9Gr4avxjAFcEQwgnDAcP2xOvF
-3cbPx7/IrcmayoXLcMxYzUDOJs8Lz+/Q0tGz0pPTctRR1S/WDdbr18nYp9mF2mXbRtwp3Q7d9d7f
-38zgvOGv4qXjnuSa5Zjmmeeb6J/ppOqq67Hsue3B7srv1PDe8ery9/QE9RT2Jfc3+Er5YPp3+478
-pv3A/t3//wAAABYATgCiARIBqQJNAvj/A8cErQWoBrkH3gkXClgLoQzxDkMPjBDWEhYTThR6FZ4W
-uBfKGNYZ2hraG9Yczh3DHrYfqCCXIYQibyNXJDwlHSX7JtQnqSh5KUYqDirRK5EsTi0HLbsuby8g
-L80weTElMcwydDMbM8A0ZTUKNa42Uzb2N5o4PjjhOYQ6KDrLO288Ejy1PVg9+j6dP0A/40CGQSlB
-zUJxQxZDvERjRQtFtEZfRwpHt0hlSRRJw0pzSyVL1kyJTTxN8E6kT1lQDlDEUXtSMlLpU6FUWlUS
-VcxWhVc/V/lYs1ltWiha4ludXFhdE13OXopfRmACYL5he2I5YvdjtWR1ZTVl92a5Z31o/0JpCGnP
-aphrYmwtbPhtxW6Tb2FwMHD/cc9yoHNxdEJ1FXXndrp3jnhieTd6DHrhe7h8j31lfjx/FH/sgMWB
-nYJ3g1CEKoUEhd6GuYeViHGJTYoqiwiL5ozEjaOOg49kkEaRKJILkvCT1ZS8laOWjJd2mGCZTJo6
-myicF50Infue8J/noOGh3aLco9+k5KXspvioB6kYqiyrQ6xbrXauk6+xsNKx87MWtDq1X7aHt6+4
-2boEuzG8X72QvsO/+sE1wnXDvMUQxm7H2sleyvTMp8580HHSjNTM10DZ2Nyl35jis+X36Wfs8vB2
-9CP39Pvw//8AAG5kaW4AAAAAAAAGNv8AAJbwAABY6AAAUxgAAIpeAAAnlwAAFqgAAFANAABUOQAC
-Qo8AAfCjAAFrhQADAQAAAgAAABsAMABKAGUAfgCXALAAyQDiAPsBFAEtAUYBYQF7AZYBsQHOAesC
-CQIoAkgCaQKMArAC1gL9AyYDUQN+A6wD3QQQBEUEfAS2BPEFLgVtBa4F8QY1BnwGxAcOB1sHqQf6
-CE0Iowj8CVgJtgoYCn4K5gtTC8MMNgytDScNpA4lDqgPLg+2EEEQzxFeEfAShBMZE7EUSxTnFYQW
-IxbEF2YYChivGVUZ/BqlG1Ab+xypHVceBx64H2sgHiDUIYoiQiL7I7UkcSUtJesmqif/aigsKO8p
-tCp6K0EsCizULaAubi89MA4w4TG1MoszYzQ9NRk1+DbYN7o4nzmHOnA7XDxLPTw+MD8mQB9BGkIY
-QxhEG0UgRidHMEg7SUhKV0tnTHhNi06gT7VQy1HjUvtUFFUuVkpXZliEWaJaw1vkXQdeLF9SYHph
-o2LPY/xlKmZbZ41owWn3ay9saW2lbuNwI3Flcqpz8XU7dod31nknenx7030tfop/64FPgreEIoWS
-hwaIf4n9i4CNCo6akDGRz5N0lSCW05iOmk+cGJ3on7+hnaOBpW2nYalbq12taK95sZGzsLXVuAC6
-L7xivpjA0sMOxU3Hj8nUzBzOaNC3/9MI1VjXpdns3CneWeB64onkhuZy6E7qG+vZ7YvvM/DS8mnz
-+fWE9wr4k/oW+5T9D/6G//8AAAAcADMAUABrAIcAoQC8ANYA8QEMASYBQQFdAXkBlgGzAdEB8QIR
-AjICVQJ5Ap8CxgLvAxoDRwN3A6gD3QQTBEwEhwTEBQQFRgWKBdAGGQZkBrAHAAdRB6UH/AhWCLMJ
-FAl4CeEKTQq+CzMLrAwqDKwNMw29DksO3Q9yEAoQpRFDEeMShxMsE9UUfxUrFdkWiRc6F+0YoBlV
-GgsawRt5HDIc7B2oHmUfJB/lIKghbSI0Iv4jyiSYJWgmOycPJ+YowCmbKngrVyw3Lf8ZLfsu3y/E
-MKoxkDJ3M180SDUyNhw3CTf2OOU51jrIO708tD2tPqg/pUCmQahCrUO1RL5Fy0baR+tI/koTSytM
-RE1eTnpPmFC2UdZS91QZVTtWX1eEWKpZ0Vr5XCNdTl57X6lg2WIKYz5kc2WrZuRoIGleap1r320j
-bmlvsXD6ckVzkHTddip3d3jFehJ7X3ysffh/RICRgd2DKoR4hceHF4hqib6LFYxujcuPK5CPkfeT
-Y5TTlkeXwJk9mr6cRJ3On1yg7qKFpCClwKdkqQ2quqxsriKv3bGds2G1Kbb0uMO6lLxnvjvAEMHj
-w7XFhMdQyRfK28yazlTQC9G+027/1RvWxthw2hjbwd1p3xHgueJi5Azltedf6Qjqsexa7gHvqPFP
-8vT0mPY799/5g/sm/Mf+Zv//AAAAIwBCAGcAiQCrAM0A7wERATMBVgF6AZ8BxQHsAhYCQQJuAp4C
-0AMGAz4DewO7A/8ERgSSBOEFNAWKBeQGQQahBwUHbAfXCEcIuwk0CbMKOArEC1cL8gyUDT8N8g6s
-D28QORELEeMSwhOmFJAVfxZzF2wYahlsGnMbgByRHacewR/gIQEiJSNLJHIlmybEJ+4pGipIK3cs
-qC3cLxEwSTGDMr8z/TU+NoA3xTkMOlc7ozzzPkU/m0DzQk5DrEUMRm5H00k5SqFM/wpNc07dUEdR
-sVMbVIRV7ldYWMJaLVuZXQZedF/kYVVix2Q6Za9nJWidahVrj20KboZwBHGEcwR0h3YLd5B5F3qf
-fCl9tH9AgM2CXIPrhXuHDYifijKLxY1YjuyQf5ITk6aVOZbMmF+Z8puEnRaeqKA5ocijVqTipmyn
-86l3qvisdq3xr2mw3rJSs8K1MbafuAu5drrgvEq9sr8bwIPB6sNSxLnGH8eGyOzKUcu2zRvOf8/i
-0UPSotP+1VfWq9f62UHagdu53OneDN8n4DrhPuI+4y/kHOT95dnmq+d66D7pAum56nDrIOvL7Hft
-GO257lju8e+K8CDwsfFD8dPyXf/y6PNz8/j0ffUB9YT2BPaF9wX3iPgK+I35DfmJ+gb6g/r8+3X7
-7fxm/Nr9Tv3C/jb+qP8a/43//wAAZGVzYwAAAAAAAAAKQ29sb3IgTENEAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAG1sdWMAAAAAAAAABQAAAAxlblVTAAAAEgAAAExmckZSAAAAEgAAAF5kZURFAAAAEAAA
-AHBlc0VTAAAAEgAAAIBpdElUAAAAFAAAAJIAQwBvAGwAbwByACAATABDAEQAyQCTYwByAGEAbgAg
-AEwAQwBEAEYAYQByAGIALQBMAEMARABMAEMARAAgAGMAbwBsAG8AcgBMAEMARAAgAGMAbwBsAG8A
-cgBpAABtbW9kAAAAAAAABhAAAJxhAAAAAMBd/wAAAAAAAAAAAAAAAAAAAAAAdGV4dAAAAABDb3B5
-cmlnaHQgQXBwbGUsIEluYy4sIDIwMTAAACwAAAAAFAATAAAEWhDISau92IbNuxeUxw0kSRRBOBRE
-6Q7GYaRTAMvvbQy0ZOuu2I6nIgmNOFIP8EMajqVl04hIDKPFkiGBuCqzOui3pk2Kpc5gEi0u79Cs
-nFMqmg5O9LoIlOlLIgA7
-}
-image create photo buttonimagetoggle -data $toggledata
-set vradiodata {
-R0lGODlhEgATAPABAP///wAAACH5BAQAAAAAIf8LSUNDUkdCRzEwMTL/ZGluAAAH7AAABj5kZXNj
-AAAOLAAAAGRkc2NtAAAOkAAAAKZtbW9kAAAPOAAAAChjcHJ0AAAPYAAAACRYWVogAAAAAAAAYQoA
-ADhRAAAHWFhZWiAAAAAAAABwSwAAsHMAACKPWFlaIAAAAAAAACWBAAAXVwAAqT5YWVogAAAAAAAA
-81IAAQAAAAEWz3NmMzIAAAAAAAEMQgAABd7///MmAAAHkgAA/ZH///ui///9owAAA9wAAMBsY3Vy
-dgAAAAAAAAABAc0AAGN1cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAAdmNndAAAAAAAAAAA
-AAMBAAACAAAAHQBl/wDSAXwCSgMeBAgFIwZcB7IJJAqzDF0ODg/TEZ4TZRUsFu0YnhpEG98dax7u
-IGMhziMxJIkl3ycxKH0pyCsOLFMtky7QMAkxPzJtM5c0vDXdNvY4DTkdOik7Mzw3PTo+Oj83QDNB
-LkIpQyJEGkUURgxHBEf+SPdJ70roS+FM3E3WTtFPzVDKUchSx1PHVMdVyFbKV8xYz1nTWtdb3Vzi
-Xele8F/4YQBiCWMTZB5lKmY2Z0JoT2lbamhrdmyEbZJun2+tcLpxyHLVc+J073X8dwd4Enkceid7
-MHw3fT9+RX9KgE+BUoJVg1aEV4VXhlaHVIhSiVCKTYtKjEeNQ45Aj/89kDuROJI3kzaUNZU1ljaX
-N5g5mTuaPptCnEWdSZ5Mn1CgVKFYolyjX6RipWamaadsqG+pcap0q3Wsd614rnmvebB5sXiydrN0
-tHG1brZpt2O4XblWuk27Q7w5vS2+H78QwADA7cHZwsPDqsSPxXHGUccvyArI5Mm8ypDLZMw1zQXN
-086fz2rQM9D80cLSh9NK1A3UztWM1krXCNfE2H7ZONny2qrbYtwa3NLdit5C3vnfseBo4SDh2OKP
-40fj/+S25W3mJebc55XoT+kK6cfqiOtM7BTs4u237pLvdfBf8VHyTPNP9Fv1bfaH96f4zfn4+yP8
-VP2K/sT//wAAABz/AGIAygFmAigC5wPOBM0F9gc1CJQKBQuZDTEO1xCHEi8T3BV9FxUYpBonG5kd
-BB5dH7Ig/yJHI4UkwSX7Jy4oXimNKrgr4C0DLiIvOzBOMV0yZDNoNGY1YDZWN0c4NjkfOgg67zvT
-PLc9mj58P15AP0EhQgFC4kPDRKRFhkZpR01IMEkWSfxK5EvNTLdNo06ST4BQcFFhUlNTRVQ4VStW
-HlcQWANY9lnnWtlby1y9Xa5eoF+QYIFhcmJjY1RkRmU4ZitnIGgUaQpqAmr6a/Rs7m3qbuZv43Dh
-cd9y3XPbdNl11nbTd894zHnIesJ7vHy2fa5+p3+fgJaBjYKDg3qE/2+FZYZch1OISYlBijmLMYwq
-jSWOH48akBWREZIOkwuUCJUFlgKW/5f9mPqZ95r0m/Cc7J3onuOf36DaodSizqPIpMOlvqa5p7Wo
-samvqq2rrqyvrbKut6+8sMOxy7LUs9205rXwtvi4AbkJug+7FLwYvRq+Gr8YwBXBEMIJwwHD9sTr
-xd3Gz8e/yK3JmsqFy3DMWM1AzibPC8/v0NLRs9KT03LUUdUv1g3W69fJ2KfZhdpl20bcKd0O3fXe
-39/M4Lzhr+Kl457kmuWY5pnnm+if6aTqquux7Lntwe7K79Tw3vHq8vf0BPUU9iX3N/hK+WD6d/uO
-/Kb9wP7d//8AAP8AFgBOAKIBEgGpAk0C+APHBK0FqAa5B94JFwpYC6EM8Q5DD4wQ1hIWE04UehWe
-FrgXyhjWGdoa2hvWHM4dwx62H6gglyGEIm8jVyQ8JR0l+ybUJ6koeSlGKg4q0SuRLE4tBy27Lm8v
-IC/NMHkxJTHMMnQzGzPANGU1CjWuNlM29jeaOD444TmEOig6yztvPBI8tT1YPfo+nT9AP+NAhkEp
-Qc1CcUMWQ7xEY0ULRbRGX0cKR7dIZUkUScNKc0slS9ZMiU08TfBOpE9ZUA5QxFF7UjJS6VOhVFpV
-ElXMVoVXP1f5WLNZbVooWuJbnVxYXRNdzl6KX0ZgAmC+YXtiOWL/92O1ZHVlNWX3ZrlnfWhCaQhp
-z2qYa2JsLWz4bcVuk29hcDBw/3HPcqBzcXRCdRV153a6d454Ynk3egx64Xu4fI99ZX48fxR/7IDF
-gZ2Cd4NQhCqFBIXehrmHlYhxiU2KKosIi+aMxI2jjoOPZJBGkSiSC5Lwk9WUvJWjloyXdphgmUya
-OpsonBedCJ37nvCf56Dhod2i3KPfpOSl7Kb4qAepGKosq0OsW612rpOvsbDSsfOzFrQ6tV+2h7ev
-uNm6BLsxvF+9kL7Dv/rBNcJ1w7zFEMZux9rJXsr0zKfOfNBx0ozUzNdA2djcpd+Y4rPl9+ln7PLw
-dvQj9/T78P///wAAbmRpbgAAAAAAAAY2AACW8AAAWOgAAFMYAACKXgAAJ5cAABaoAABQDQAAVDkA
-AkKPAAHwowABa4UAAwEAAAIAAAAbADAASgBlAH4AlwCwAMkA4gD7ARQBLQFGAWEBewGWAbEBzgHr
-AgkCKAJIAmkCjAKwAtYC/QMmA1EDfgOsA90EEARFBHwEtgTxBS4FbQWuBfEGNQZ8BsQHDgdbB6kH
-+ghNCKMI/AlYCbYKGAp+CuYLUwvDDDYMrQ0nDaQOJQ6oDy4PthBBEM8RXhHwEoQTGROxFEsU5xWE
-FiMWxBdmGAoYrxlVGfwapRtQG/scqR1XHgceuB9rIB4g1CGKIv9CIvsjtSRxJS0l6yaqJ2ooLCjv
-KbQqeitBLAos1C2gLm4vPTAOMOExtTKLM2M0PTUZNfg22De6OJ85hzpwO1w8Sz08PjA/JkAfQRpC
-GEMYRBtFIEYnRzBIO0lISldLZ0x4TYtOoE+1UMtR41L7VBRVLlZKV2ZYhFmiWsNb5F0HXixfUmB6
-YaNiz2P8ZSpmW2eNaMFp92svbGltpW7jcCNxZXKqc/F1O3aHd9Z5J3p8e9N9LX6Kf+uBT4K3hCKF
-kocGiH+J/YuAjQqOmpAxkc+TdJUgltOYjppPnBid6J+/oZ2jgaVtp2GpW6tdrWivebGRs7C11bgA
-ui+8Yr6YwNL/ww7FTcePydTMHM5o0LfTCNVY16XZ7Nwp3lngeuKJ5IbmcuhO6hvr2e2L7zPw0vJp
-8/n1hPcK+JP6FvuU/Q/+hv//AAAAHAAzAFAAawCHAKEAvADWAPEBDAEmAUEBXQF5AZYBswHRAfEC
-EQIyAlUCeQKfAsYC7wMaA0cDdwOoA90EEwRMBIcExAUEBUYFigXQBhkGZAawBwAHUQelB/wIVgiz
-CRQJeAnhCk0KvgszC6wMKgysDTMNvQ5LDt0PchAKEKURQxHjEocTLBPVFH8VKxXZFokXOhftGKAZ
-VRoLGsEbeRwyHOwdqB5lHyQf5SCoIW0iNCL+I8okmCVoJjsn/w8n5ijAKZsqeCtXLDctGS37Lt8v
-xDCqMZAydzNfNEg1MjYcNwk39jjlOdY6yDu9PLQ9rT6oP6VApkGoQq1DtUS+RctG2kfrSP5KE0sr
-TERNXk56T5hQtlHWUvdUGVU7Vl9XhFiqWdFa+VwjXU5ee1+pYNliCmM+ZHNlq2bkaCBpXmqda99t
-I25pb7Fw+nJFc5B03XYqd3d4xXoSe198rH34f0SAkYHdgyqEeIXHhxeIaom+ixWMbo3LjyuQj5H3
-k2OU05ZHl8CZPZq+nESdzp9coO6ihaQgpcCnZKkNqrqsbK4ir92xnbNhtSm29LjDupS8Z747wBDB
-48O1xYTHUP/JF8rbzJrOVNAL0b7TbtUb1sbYcNoY28Hdad8R4LniYuQM5bXnX+kI6rHsWu4B76jx
-T/L09Jj2O/ff+YP7JvzH/mb//wAAACMAQgBnAIkAqwDNAO8BEQEzAVYBegGfAcUB7AIWAkECbgKe
-AtADBgM+A3sDuwP/BEYEkgThBTQFigXkBkEGoQcFB2wH1whHCLsJNAmzCjgKxAtXC/IMlA0/DfIO
-rA9vEDkRCxHjEsITphSQFX8WcxdsGGoZbBpzG4AckR2nHsEf4CEBIiUjSyRyJZsmxCfuKRoqSCt3
-LKgt3C8RMEkxgzK/M/01PjaAN8U5DDpXO6M88z5FP5tA80L/TkOsRQxGbkfTSTlKoUwKTXNO3VBH
-UbFTG1SEVe5XWFjCWi1bmV0GXnRf5GFVYsdkOmWvZyVonWoVa49tCm6GcARxhHMEdId2C3eQeRd6
-n3wpfbR/QIDNglyD64V7hw2In4oyi8WNWI7skH+SE5OmlTmWzJhfmfKbhJ0WnqigOaHIo1ak4qZs
-p/Opd6r4rHat8a9psN6yUrPCtTG2n7gLuXa64LxKvbK/G8CDwerDUsS5xh/HhsjsylHLts0bzn/P
-4tFD0qLT/tVX1qvX+tlB2oHbudzp3gzfJ+A64T7iPuMv5Bzk/eXZ5qvneug+6QLpuepw6yDry+x3
-7Rjtue5Y/+7x74rwIPCx8UPx0/Jd8ujzc/P49H31AfWE9gT2hfcF94j4CviN+Q35ifoG+oP6/Pt1
-++38Zvza/U79wv42/qj/Gv+N//8AAGRlc2MAAAAAAAAACkNvbG9yIExDRAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAABtbHVjAAAAAAAAAAUAAAAMZW5VUwAAABIAAABMZnJGUgAAABIAAABeZGVERQAAABAA
-AABwZXNFUwAAABIAAACAaXRJVAAAABQAAACSAEMAbwBsAKFvAHIAIABMAEMARADJAGMAcgBhAG4A
-IABMAEMARABGAGEAcgBiAC0ATABDAEQATABDAEQAIABjAG8AbABvAHIATABDAEQAIABjAG8AbABv
-AHIAaQAAbW1vZAAAAAAAAAYQAACcYQAAAADAXf8AAAAAAAAAAAAAAAAAAAAAAHRleHQAAAAAQ29w
-eXJpZ2h0IEFwcGxlLCBJbmMuLCAyMDEwAAAsAAAAABIAEwAAAiyEj6kW7b7YexEES2+801aefRik
-LSApKqU6QZuZJqsMv2qMzHltts3n01UWBQA7
-}
-image create photo buttonimagevradio -data $vradiodata
-set vsliderdata {
-R0lGODlhFQAXAPAAAAAAAP///yH5BAQAAAAAIf8LSUNDUkdCRzEwMTL/ZGluAAAH7AAABj5kZXNj
-AAAOLAAAAGRkc2NtAAAOkAAAAKZtbW9kAAAPOAAAAChjcHJ0AAAPYAAAACRYWVogAAAAAAAAYQoA
-ADhRAAAHWFhZWiAAAAAAAABwSwAAsHMAACKPWFlaIAAAAAAAACWBAAAXVwAAqT5YWVogAAAAAAAA
-81IAAQAAAAEWz3NmMzIAAAAAAAEMQgAABd7///MmAAAHkgAA/ZH///ui///9owAAA9wAAMBsY3Vy
-dgAAAAAAAAABAc0AAGN1cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAAdmNndAAAAAAAAAAA
-AAMBAAACAAAAHQBl/wDSAXwCSgMeBAgFIwZcB7IJJAqzDF0ODg/TEZ4TZRUsFu0YnhpEG98dax7u
-IGMhziMxJIkl3ycxKH0pyCsOLFMtky7QMAkxPzJtM5c0vDXdNvY4DTkdOik7Mzw3PTo+Oj83QDNB
-LkIpQyJEGkUURgxHBEf+SPdJ70roS+FM3E3WTtFPzVDKUchSx1PHVMdVyFbKV8xYz1nTWtdb3Vzi
-Xele8F/4YQBiCWMTZB5lKmY2Z0JoT2lbamhrdmyEbZJun2+tcLpxyHLVc+J073X8dwd4Enkceid7
-MHw3fT9+RX9KgE+BUoJVg1aEV4VXhlaHVIhSiVCKTYtKjEeNQ45Aj/89kDuROJI3kzaUNZU1ljaX
-N5g5mTuaPptCnEWdSZ5Mn1CgVKFYolyjX6RipWamaadsqG+pcap0q3Wsd614rnmvebB5sXiydrN0
-tHG1brZpt2O4XblWuk27Q7w5vS2+H78QwADA7cHZwsPDqsSPxXHGUccvyArI5Mm8ypDLZMw1zQXN
-086fz2rQM9D80cLSh9NK1A3UztWM1krXCNfE2H7ZONny2qrbYtwa3NLdit5C3vnfseBo4SDh2OKP
-40fj/+S25W3mJebc55XoT+kK6cfqiOtM7BTs4u237pLvdfBf8VHyTPNP9Fv1bfaH96f4zfn4+yP8
-VP2K/sT//wAAABz/AGIAygFmAigC5wPOBM0F9gc1CJQKBQuZDTEO1xCHEi8T3BV9FxUYpBonG5kd
-BB5dH7Ig/yJHI4UkwSX7Jy4oXimNKrgr4C0DLiIvOzBOMV0yZDNoNGY1YDZWN0c4NjkfOgg67zvT
-PLc9mj58P15AP0EhQgFC4kPDRKRFhkZpR01IMEkWSfxK5EvNTLdNo06ST4BQcFFhUlNTRVQ4VStW
-HlcQWANY9lnnWtlby1y9Xa5eoF+QYIFhcmJjY1RkRmU4ZitnIGgUaQpqAmr6a/Rs7m3qbuZv43Dh
-cd9y3XPbdNl11nbTd894zHnIesJ7vHy2fa5+p3+fgJaBjYKDg3qE/2+FZYZch1OISYlBijmLMYwq
-jSWOH48akBWREZIOkwuUCJUFlgKW/5f9mPqZ95r0m/Cc7J3onuOf36DaodSizqPIpMOlvqa5p7Wo
-samvqq2rrqyvrbKut6+8sMOxy7LUs9205rXwtvi4AbkJug+7FLwYvRq+Gr8YwBXBEMIJwwHD9sTr
-xd3Gz8e/yK3JmsqFy3DMWM1AzibPC8/v0NLRs9KT03LUUdUv1g3W69fJ2KfZhdpl20bcKd0O3fXe
-39/M4Lzhr+Kl457kmuWY5pnnm+if6aTqquux7Lntwe7K79Tw3vHq8vf0BPUU9iX3N/hK+WD6d/uO
-/Kb9wP7d//8AAP8AFgBOAKIBEgGpAk0C+APHBK0FqAa5B94JFwpYC6EM8Q5DD4wQ1hIWE04UehWe
-FrgXyhjWGdoa2hvWHM4dwx62H6gglyGEIm8jVyQ8JR0l+ybUJ6koeSlGKg4q0SuRLE4tBy27Lm8v
-IC/NMHkxJTHMMnQzGzPANGU1CjWuNlM29jeaOD444TmEOig6yztvPBI8tT1YPfo+nT9AP+NAhkEp
-Qc1CcUMWQ7xEY0ULRbRGX0cKR7dIZUkUScNKc0slS9ZMiU08TfBOpE9ZUA5QxFF7UjJS6VOhVFpV
-ElXMVoVXP1f5WLNZbVooWuJbnVxYXRNdzl6KX0ZgAmC+YXtiOWL/92O1ZHVlNWX3ZrlnfWhCaQhp
-z2qYa2JsLWz4bcVuk29hcDBw/3HPcqBzcXRCdRV153a6d454Ynk3egx64Xu4fI99ZX48fxR/7IDF
-gZ2Cd4NQhCqFBIXehrmHlYhxiU2KKosIi+aMxI2jjoOPZJBGkSiSC5Lwk9WUvJWjloyXdphgmUya
-OpsonBedCJ37nvCf56Dhod2i3KPfpOSl7Kb4qAepGKosq0OsW612rpOvsbDSsfOzFrQ6tV+2h7ev
-uNm6BLsxvF+9kL7Dv/rBNcJ1w7zFEMZux9rJXsr0zKfOfNBx0ozUzNdA2djcpd+Y4rPl9+ln7PLw
-dvQj9/T78P///wAAbmRpbgAAAAAAAAY2AACW8AAAWOgAAFMYAACKXgAAJ5cAABaoAABQDQAAVDkA
-AkKPAAHwowABa4UAAwEAAAIAAAAbADAASgBlAH4AlwCwAMkA4gD7ARQBLQFGAWEBewGWAbEBzgHr
-AgkCKAJIAmkCjAKwAtYC/QMmA1EDfgOsA90EEARFBHwEtgTxBS4FbQWuBfEGNQZ8BsQHDgdbB6kH
-+ghNCKMI/AlYCbYKGAp+CuYLUwvDDDYMrQ0nDaQOJQ6oDy4PthBBEM8RXhHwEoQTGROxFEsU5xWE
-FiMWxBdmGAoYrxlVGfwapRtQG/scqR1XHgceuB9rIB4g1CGKIv9CIvsjtSRxJS0l6yaqJ2ooLCjv
-KbQqeitBLAos1C2gLm4vPTAOMOExtTKLM2M0PTUZNfg22De6OJ85hzpwO1w8Sz08PjA/JkAfQRpC
-GEMYRBtFIEYnRzBIO0lISldLZ0x4TYtOoE+1UMtR41L7VBRVLlZKV2ZYhFmiWsNb5F0HXixfUmB6
-YaNiz2P8ZSpmW2eNaMFp92svbGltpW7jcCNxZXKqc/F1O3aHd9Z5J3p8e9N9LX6Kf+uBT4K3hCKF
-kocGiH+J/YuAjQqOmpAxkc+TdJUgltOYjppPnBid6J+/oZ2jgaVtp2GpW6tdrWivebGRs7C11bgA
-ui+8Yr6YwNL/ww7FTcePydTMHM5o0LfTCNVY16XZ7Nwp3lngeuKJ5IbmcuhO6hvr2e2L7zPw0vJp
-8/n1hPcK+JP6FvuU/Q/+hv//AAAAHAAzAFAAawCHAKEAvADWAPEBDAEmAUEBXQF5AZYBswHRAfEC
-EQIyAlUCeQKfAsYC7wMaA0cDdwOoA90EEwRMBIcExAUEBUYFigXQBhkGZAawBwAHUQelB/wIVgiz
-CRQJeAnhCk0KvgszC6wMKgysDTMNvQ5LDt0PchAKEKURQxHjEocTLBPVFH8VKxXZFokXOhftGKAZ
-VRoLGsEbeRwyHOwdqB5lHyQf5SCoIW0iNCL+I8okmCVoJjsn/w8n5ijAKZsqeCtXLDctGS37Lt8v
-xDCqMZAydzNfNEg1MjYcNwk39jjlOdY6yDu9PLQ9rT6oP6VApkGoQq1DtUS+RctG2kfrSP5KE0sr
-TERNXk56T5hQtlHWUvdUGVU7Vl9XhFiqWdFa+VwjXU5ee1+pYNliCmM+ZHNlq2bkaCBpXmqda99t
-I25pb7Fw+nJFc5B03XYqd3d4xXoSe198rH34f0SAkYHdgyqEeIXHhxeIaom+ixWMbo3LjyuQj5H3
-k2OU05ZHl8CZPZq+nESdzp9coO6ihaQgpcCnZKkNqrqsbK4ir92xnbNhtSm29LjDupS8Z747wBDB
-48O1xYTHUP/JF8rbzJrOVNAL0b7TbtUb1sbYcNoY28Hdad8R4LniYuQM5bXnX+kI6rHsWu4B76jx
-T/L09Jj2O/ff+YP7JvzH/mb//wAAACMAQgBnAIkAqwDNAO8BEQEzAVYBegGfAcUB7AIWAkECbgKe
-AtADBgM+A3sDuwP/BEYEkgThBTQFigXkBkEGoQcFB2wH1whHCLsJNAmzCjgKxAtXC/IMlA0/DfIO
-rA9vEDkRCxHjEsITphSQFX8WcxdsGGoZbBpzG4AckR2nHsEf4CEBIiUjSyRyJZsmxCfuKRoqSCt3
-LKgt3C8RMEkxgzK/M/01PjaAN8U5DDpXO6M88z5FP5tA80L/TkOsRQxGbkfTSTlKoUwKTXNO3VBH
-UbFTG1SEVe5XWFjCWi1bmV0GXnRf5GFVYsdkOmWvZyVonWoVa49tCm6GcARxhHMEdId2C3eQeRd6
-n3wpfbR/QIDNglyD64V7hw2In4oyi8WNWI7skH+SE5OmlTmWzJhfmfKbhJ0WnqigOaHIo1ak4qZs
-p/Opd6r4rHat8a9psN6yUrPCtTG2n7gLuXa64LxKvbK/G8CDwerDUsS5xh/HhsjsylHLts0bzn/P
-4tFD0qLT/tVX1qvX+tlB2oHbudzp3gzfJ+A64T7iPuMv5Bzk/eXZ5qvneug+6QLpuepw6yDry+x3
-7Rjtue5Y/+7x74rwIPCx8UPx0/Jd8ujzc/P49H31AfWE9gT2hfcF94j4CviN+Q35ifoG+oP6/Pt1
-++38Zvza/U79wv42/qj/Gv+N//8AAGRlc2MAAAAAAAAACkNvbG9yIExDRAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAABtbHVjAAAAAAAAAAUAAAAMZW5VUwAAABIAAABMZnJGUgAAABIAAABeZGVERQAAABAA
-AABwZXNFUwAAABIAAACAaXRJVAAAABQAAACSAEMAbwBsAKFvAHIAIABMAEMARADJAGMAcgBhAG4A
-IABMAEMARABGAGEAcgBiAC0ATABDAEQATABDAEQAIABjAG8AbABvAHIATABDAEQAIABjAG8AbABv
-AHIAaQAAbW1vZAAAAAAAAAYQAACcYQAAAADAXf8AAAAAAAAAAAAAAAAAAAAAAHRleHQAAAAAQ29w
-eXJpZ2h0IEFwcGxlLCBJbmMuLCAyMDEwAAAsAAAAABUAFwAAAjOMj6kJ7Q/Wgc5EGe7SG3P1IaHo
-YVnpUY+prmk7TqgUnzPI3jid8zr5kwUtLBXx1TIpEwUAOw==
-}
-image create photo buttonimagevslider -data $vsliderdata
-set vumeterdata {
-R0lGODlhHQAQAKIAAAAAAEBAQOjoKPwoKPysRP///wAAAAAAACH5BAQAAAAAIf/8SUNDUkdCRzEw
-MTIAAA+EYXBwbAIAAABtbnRyUkdCIFhZWiAH2gAJAAEADwATAB9hY3NwQVBQTAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAA5yWFlaAAABLAAAABRnWFlaAAABQAAAABRiWFlaAAABVAAAABR3
-dHB0AAABaAAAABRjaGFkAAABfAAAACxyVFJDAAABqAAAAA5nVFJDAAABuAAAAA5iVFJDAAAByAAA
-AA52Y2d0AAAB2AAABhJu/2RpbgAAB+wAAAY+ZGVzYwAADiwAAABkZHNjbQAADpAAAACmbW1vZAAA
-DzgAAAAoY3BydAAAD2AAAAAkWFlaIAAAAAAAAGEKAAA4UQAAB1hYWVogAAAAAAAAcEsAALBzAAAi
-j1hZWiAAAAAAAAAlgQAAF1cAAKk+WFlaIAAAAAAAAPNSAAEAAAABFs9zZjMyAAAAAAABDEIAAAXe
-///zJgAAB5IAAP2R///7ov///aMAAAPcAADAbGN1cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEB
-zQAAY3VydgAAAAAAAAABAc0AAHZjZ3QAAAAAAAAAAAADAQAAAgAAAB0AZf8A0gF8AkoDHgQIBSMG
-XAeyCSQKswxdDg4P0xGeE2UVLBbtGJ4aRBvfHWse7iBjIc4jMSSJJd8nMSh9KcgrDixTLZMu0DAJ
-MT8ybTOXNLw13Tb2OA05HTopOzM8Nz06Pjo/N0AzQS5CKUMiRBpFFEYMRwRH/kj3Se9K6EvhTNxN
-1k7RT81QylHIUsdTx1THVchWylfMWM9Z01rXW91c4l3pXvBf+GEAYgljE2QeZSpmNmdCaE9pW2po
-a3ZshG2Sbp9vrXC6cchy1XPidO91/HcHeBJ5HHonezB8N30/fkV/SoBPgVKCVYNWhFeFV4ZWh1SI
-UolQik2LSoxHjUOOQI//PZA7kTiSN5M2lDWVNZY2lzeYOZk7mj6bQpxFnUmeTJ9QoFShWKJco1+k
-YqVmpmmnbKhvqXGqdKt1rHeteK55r3mwebF4snazdLRxtW62abdjuF25VrpNu0O8Ob0tvh+/EMAA
-wO3B2cLDw6rEj8VxxlHHL8gKyOTJvMqQy2TMNc0FzdPOn89q0DPQ/NHC0ofTStQN1M7VjNZK1wjX
-xNh+2TjZ8tqq22LcGtzS3YreQt7537HgaOEg4djij+NH4//ktuVt5iXm3OeV6E/pCunH6ojrTOwU
-7OLtt+6S73XwX/FR8kzzT/Rb9W32h/en+M35+Psj/FT9iv7E//8AAAAc/wBiAMoBZgIoAucDzgTN
-BfYHNQiUCgULmQ0xDtcQhxIvE9wVfRcVGKQaJxuZHQQeXR+yIP8iRyOFJMEl+ycuKF4pjSq4K+At
-Ay4iLzswTjFdMmQzaDRmNWA2VjdHODY5HzoIOu870zy3PZo+fD9eQD9BIUIBQuJDw0SkRYZGaUdN
-SDBJFkn8SuRLzUy3TaNOkk+AUHBRYVJTU0VUOFUrVh5XEFgDWPZZ51rZW8tcvV2uXqBfkGCBYXJi
-Y2NUZEZlOGYrZyBoFGkKagJq+mv0bO5t6m7mb+Nw4XHfct1z23TZddZ203fPeMx5yHrCe7x8tn2u
-fqd/n4CWgY2Cg4N6hP9vhWWGXIdTiEmJQYo5izGMKo0ljh+PGpAVkRGSDpMLlAiVBZYClv+X/Zj6
-mfea9JvwnOyd6J7jn9+g2qHUos6jyKTDpb6muae1qLGpr6qtq66sr62yrrevvLDDscuy1LPdtOa1
-8Lb4uAG5CboPuxS8GL0avhq/GMAVwRDCCcMBw/bE68Xdxs/Hv8ityZrKhctwzFjNQM4mzwvP79DS
-0bPSk9Ny1FHVL9YN1uvXydin2YXaZdtG3CndDt313t/fzOC84a/ipeOe5JrlmOaZ55von+mk6qrr
-sey57cHuyu/U8N7x6vL39AT1FPYl9zf4Svlg+nf7jvym/cD+3f//AAD/ABYATgCiARIBqQJNAvgD
-xwStBagGuQfeCRcKWAuhDPEOQw+MENYSFhNOFHoVnha4F8oY1hnaGtob1hzOHcMeth+oIJchhCJv
-I1ckPCUdJfsm1CepKHkpRioOKtErkSxOLQctuy5vLyAvzTB5MSUxzDJ0MxszwDRlNQo1rjZTNvY3
-mjg+OOE5hDooOss7bzwSPLU9WD36Pp0/QD/jQIZBKUHNQnFDFkO8RGNFC0W0Rl9HCke3SGVJFEnD
-SnNLJUvWTIlNPE3wTqRPWVAOUMRRe1IyUulToVRaVRJVzFaFVz9X+VizWW1aKFriW51cWF0TXc5e
-il9GYAJgvmF7Yjli//djtWR1ZTVl92a5Z31oQmkIac9qmGtibC1s+G3FbpNvYXAwcP9xz3Kgc3F0
-QnUVded2uneOeGJ5N3oMeuF7uHyPfWV+PH8Uf+yAxYGdgneDUIQqhQSF3oa5h5WIcYlNiiqLCIvm
-jMSNo46Dj2SQRpEokguS8JPVlLyVo5aMl3aYYJlMmjqbKJwXnQid+57wn+eg4aHdotyj36Tkpeym
-+KgHqRiqLKtDrFutdq6Tr7Gw0rHzsxa0OrVftoe3r7jZugS7MbxfvZC+w7/6wTXCdcO8xRDGbsfa
-yV7K9MynznzQcdKM1MzXQNnY3KXfmOKz5ffpZ+zy8Hb0I/f0+/D///8AAG5kaW4AAAAAAAAGNgAA
-lvAAAFjoAABTGAAAil4AACeXAAAWqAAAUA0AAFQ5AAJCjwAB8KMAAWuFAAMBAAACAAAAGwAwAEoA
-ZQB+AJcAsADJAOIA+wEUAS0BRgFhAXsBlgGxAc4B6wIJAigCSAJpAowCsALWAv0DJgNRA34DrAPd
-BBAERQR8BLYE8QUuBW0FrgXxBjUGfAbEBw4HWwepB/oITQijCPwJWAm2ChgKfgrmC1MLwww2DK0N
-Jw2kDiUOqA8uD7YQQRDPEV4R8BKEExkTsRRLFOcVhBYjFsQXZhgKGK8ZVRn8GqUbUBv7HKkdVx4H
-HrgfayAeINQhiiL/QiL7I7UkcSUtJesmqidqKCwo7ym0KnorQSwKLNQtoC5uLz0wDjDhMbUyizNj
-ND01GTX4Ntg3ujifOYc6cDtcPEs9PD4wPyZAH0EaQhhDGEQbRSBGJ0cwSDtJSEpXS2dMeE2LTqBP
-tVDLUeNS+1QUVS5WSldmWIRZolrDW+RdB14sX1JgemGjYs9j/GUqZltnjWjBafdrL2xpbaVu43Aj
-cWVyqnPxdTt2h3fWeSd6fHvTfS1+in/rgU+Ct4QihZKHBoh/if2LgI0KjpqQMZHPk3SVIJbTmI6a
-T5wYneifv6Gdo4GlbadhqVurXa1or3mxkbOwtdW4ALovvGK+mMDS/8MOxU3Hj8nUzBzOaNC30wjV
-WNel2ezcKd5Z4HriieSG5nLoTuob69nti+8z8NLyafP59YT3CviT+hb7lP0P/ob//wAAABwAMwBQ
-AGsAhwChALwA1gDxAQwBJgFBAV0BeQGWAbMB0QHxAhECMgJVAnkCnwLGAu8DGgNHA3cDqAPdBBME
-TASHBMQFBAVGBYoF0AYZBmQGsAcAB1EHpQf8CFYIswkUCXgJ4QpNCr4LMwusDCoMrA0zDb0OSw7d
-D3IQChClEUMR4xKHEywT1RR/FSsV2RaJFzoX7RigGVUaCxrBG3kcMhzsHageZR8kH+UgqCFtIjQi
-/iPKJJglaCY7J/8PJ+YowCmbKngrVyw3LRkt+y7fL8QwqjGQMnczXzRINTI2HDcJN/Y45TnWOsg7
-vTy0Pa0+qD+lQKZBqEKtQ7VEvkXLRtpH60j+ShNLK0xETV5Oek+YULZR1lL3VBlVO1ZfV4RYqlnR
-WvlcI11OXntfqWDZYgpjPmRzZatm5GggaV5qnWvfbSNuaW+xcPpyRXOQdN12Knd3eMV6EntffKx9
-+H9EgJGB3YMqhHiFx4cXiGqJvosVjG6Ny48rkI+R95NjlNOWR5fAmT2avpxEnc6fXKDuooWkIKXA
-p2SpDaq6rGyuIq/dsZ2zYbUptvS4w7qUvGe+O8AQwePDtcWEx1D/yRfK28yazlTQC9G+027VG9bG
-2HDaGNvB3WnfEeC54mLkDOW151/pCOqx7FruAe+o8U/y9PSY9jv33/mD+yb8x/5m//8AAAAjAEIA
-ZwCJAKsAzQDvAREBMwFWAXoBnwHFAewCFgJBAm4CngLQAwYDPgN7A7sD/wRGBJIE4QU0BYoF5AZB
-BqEHBQdsB9cIRwi7CTQJswo4CsQLVwvyDJQNPw3yDqwPbxA5EQsR4xLCE6YUkBV/FnMXbBhqGWwa
-cxuAHJEdpx7BH+AhASIlI0skciWbJsQn7ikaKkgrdyyoLdwvETBJMYMyvzP9NT42gDfFOQw6Vzuj
-PPM+RT+bQPNC/05DrEUMRm5H00k5SqFMCk1zTt1QR1GxUxtUhFXuV1hYwlotW5ldBl50X+RhVWLH
-ZDplr2claJ1qFWuPbQpuhnAEcYRzBHSHdgt3kHkXep98KX20f0CAzYJcg+uFe4cNiJ+KMovFjViO
-7JB/khOTppU5lsyYX5nym4SdFp6ooDmhyKNWpOKmbKfzqXeq+Kx2rfGvabDeslKzwrUxtp+4C7l2
-uuC8Sr2yvxvAg8Hqw1LEucYfx4bI7MpRy7bNG85/z+LRQ9Ki0/7VV9ar1/rZQdqB27nc6d4M3yfg
-OuE+4j7jL+Qc5P3l2ear53roPukC6bnqcOsg68vsd+0Y7bnuWP/u8e+K8CDwsfFD8dPyXfLo83Pz
-+PR99QH1hPYE9oX3BfeI+Ar4jfkN+Yn6BvqD+vz7dfvt/Gb82v1O/cL+Nv6o/xr/jf//AABkZXNj
-AAAAAAAAAApDb2xvciBMQ0QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAFAAAADGVu
-VVMAAAASAAAATGZyRlIAAAASAAAAXmRlREUAAAAQAAAAcGVzRVMAAAASAAAAgGl0SVQAAAAUAAAA
-kgBDAG8AbAChbwByACAATABDAEQAyQBjAHIAYQBuACAATABDAEQARgBhAHIAYgAtAEwAQwBEAEwA
-QwBEACAAYwBvAGwAbwByAEwAQwBEACAAYwBvAGwAbwByAGkAAG1tb2QAAAAAAAAGEAAAnGEAAAAA
-wF3/AAAAAAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSwgSW5jLiwgMjAxMAAA
-LAAAAAAdABAAAANeWAXR/gEoJeeyy43NWwUgSGEZBFVjijEN10UWGoqUeZJTGGvu4OEXFcv2w31k
-PFeRJGnmiA7U6vNsEK7Y4swphC5XuWoAm4UBdWKidCodCt7wbyxc866NYnjcDAwmAAA7
-}
-image create photo buttonimagevumeter -data $vumeterdata
diff --git a/scripts/guiplugins/buttonbar/images/make-base64.sh b/scripts/guiplugins/buttonbar/images/make-base64.sh
deleted file mode 100644
index 1bcd742a8..000000000
--- a/scripts/guiplugins/buttonbar/images/make-base64.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-rm images.txt
-touch images.txt
-for file in *.gif; do 
-    name=`echo $file | sed 's|\.gif||'`
-    echo $name
-    echo "set ${name}data {" >> images.txt
-    uuencode -m $name.gif temp | tail -n +2 | head -n -1 >> images.txt
-    echo "}" >> images.txt 
-    echo "image create photo buttonimage$name -data \$${name}data" >> images.txt 
-done
diff --git a/scripts/guiplugins/buttonbar/images/menuarray.gif b/scripts/guiplugins/buttonbar/images/menuarray.gif
deleted file mode 100644
index c446718ef9abea9c3bb83e1d3564f0d920593ed2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4275
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
K+f;K9X#5KhhlW7_

diff --git a/scripts/guiplugins/buttonbar/images/msg.gif b/scripts/guiplugins/buttonbar/images/msg.gif
deleted file mode 100644
index a337f30de30e769b65950faa64aa84da9fa99fbf..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3850
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

diff --git a/scripts/guiplugins/buttonbar/images/mycnv.gif b/scripts/guiplugins/buttonbar/images/mycnv.gif
deleted file mode 100644
index 61c55aea04b0045adfce48fef11e6990ebb7e3f7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4080
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
DZH-QF

diff --git a/scripts/guiplugins/buttonbar/images/numbox.gif b/scripts/guiplugins/buttonbar/images/numbox.gif
deleted file mode 100644
index 415fb06bec7ad43bc03e9e24e6f631cf5bde6ec5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4380
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

diff --git a/scripts/guiplugins/buttonbar/images/obj.gif b/scripts/guiplugins/buttonbar/images/obj.gif
deleted file mode 100644
index c5be735c3217c4eb4e47c304852b1de83d1319a1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3839
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

diff --git a/scripts/guiplugins/buttonbar/images/symbolatom.gif b/scripts/guiplugins/buttonbar/images/symbolatom.gif
deleted file mode 100644
index 4cf64bd679588f8e3963c6b4f1d5417ff50fc2db..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4324
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
N@w!)1TA~Bg{|h4wox}hD

diff --git a/scripts/guiplugins/buttonbar/images/text.gif b/scripts/guiplugins/buttonbar/images/text.gif
deleted file mode 100644
index f5eb519037c255259fe397d3faa60a5df7701f89..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4093
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
V3oBPHaOXPY33uFE-xUNv`CqkST+ILg

diff --git a/scripts/guiplugins/buttonbar/images/toggle.gif b/scripts/guiplugins/buttonbar/images/toggle.gif
deleted file mode 100644
index a5471bf589ee061770ffe4a538b99ab58efee251..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4176
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

diff --git a/scripts/guiplugins/buttonbar/images/vradio.gif b/scripts/guiplugins/buttonbar/images/vradio.gif
deleted file mode 100644
index afcb929f7e80cc9a5a1d57dfc4abbdce4c0d334e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3846
zcmb_fcTiNzvz|?aCFdxtAUT8NoF!*ii4vBaa}>OQNRp%oC`mwqAR>Z*h#(+HR6rCY
zNDxGFkPQ1)?)|-6uihW;pVw7A^L1BG&z$Nxr_ZOUr6DD4PYI~N76f3iSOCD~BRCv4
zfy-DTEmc)xO%+WMVG&WRlbbgH_-g>*DL7#Q904HZ#|1e#1vq-)a5@e@@$&L<0)R{k
zhq)bn{R46M1`c0AU$;czW}Mg~0gy7n<w5`J^VI?1c>n-xY5)2-ZUI1N0YIg~zrI~#
z0Kuhz&<+PUi-}&OgAl6#fSAEzcR6u6GXXfuz+z7xW3gu?0KldIX!mps@(;d<#jS)4
z0`Py?!HzDtbN?eS+=fsbz63B>Fan8$YQtFI1PFFKYy204SCI9@Hl(CvqZ9>H7#e=s
zb@~EEHKy519xNLu$IC<PB3BYQX1PSTqj-AxNcl|!vIIX06N)H`dWk)_+A2ORu`fj;
zeMyE#R!mM(UPeJiQBp}vSx|*Xl}(LNomzuf6RvrF?Lcc&`=`#F?v&oR{wIS$!#<;4
z;~tY9(;l;4^FE6K^zijj%P&^b*7G(iwp(_G_P~MAk;;h$!|N>JqT*`cX65ec5$qY~
zmFZpRQ{&s>*X#c|U_Nj&=rjaBlroGtoGU^&QZh>Mrh2q?jKMAAzszFI<1FGWZks2V
z-Z4%zOwvo%PSH$Ny{nXll~0$=kjj+IlDH>+Up!mlfn<(!u56ydLzPGB`C0|Kg@#3@
z#puV@C3d9_WzJ9B$~`N5D*dVgp9WQj)Pz0@s||Y|Ru}prxIXZuUxRm}+bhQ=n`ZMC
zz1OO((r*OXSl^PjgZA}~iFciyRb6S_e(#NXgnE&^iyvD1()*nT#0L?BqeF$m?jOZI
zo_=~ak}#@0Mlv?^Ib~e?3&EGJuQw;8CUz#PzBx=WPK`__&8W;A&DMQ)okPuioljfP
zT)-|i{_tAjSejbC|I=Uvxzh9N&Z_Pj_1gUUtBuUfpe?&?qaEE{gFUO?Ui%3L<%feu
zhbQc(re{g#T^BC}GZr|2K8Q1v8@db|f)670@x=-5ArVBmBqF3=$P*}qsHSM5=xFFm
z8M&BpFTq)CSYM#9Y?|!xS2{ROxCFUvc~W_s_`VCk1lfdSh4n>jM4iN3uR4q0kT93j
zl#-BUl_8MXlpU3OC7-7dsc5UDsC-!kqB5`AsaC3fTf<FL@0zd{t=6gbqRyc1E4>o^
zOoJFhUn6^C6BBh)DKkEE77KDT484DS*>b|F-};TsGutA&^c%PA{T&<~O`S9_QqFuX
zC|7DXq&w98*kjLg!|Rv#lFx$goZqbfbilX3iJ<Y|(U9TLfw122cM+|TjZx2TmPZ%H
zWZz2tD>gPf4(k(-xow?baz`ssIY~NMB!xGX<1T9&V>(R+MJ8z$(LI9uh-_#!_Q6@s
zaqdCh-ovd&YxzG577AyJCX2@&50&(mc9yk0X)bT5sH?24s(JdXy0+%UvsbmP&pYe-
zUyRjHzg%kAYCLR$G!wRvy{2xZf5X_u_?Et%ri1()VJD<>ziYL7`u%Xv+uoWFd42Ky
zz60n%r6JB?qT$VtBcJL=vPS*Kj6MsElZ>x^`S7)TB7PF{O=F5@nsoa2%<SyI_tv@E
z`LczA#k?OmOS#Jre-^Hk{;FE7TWenL*y!6F+nU+_wR5ls|4qHmaUgl9eRShE<mB$@
zle6~o=|49B3uu8pcnqP0R6_Njhp--a4Wa_C8GnY54v8izCf+7hB}*Y6r=+FQrw*qn
zplzb-qaSCOWSnFgXCAuL$<oMLfqHN`j?IVN;))!{C5{u$F|JDPFdhwFQr=H|8T|SJ
z_yVs5eS}a#gTi4V93lgvfnrQz?N>44NbzS9CKCISc~S~ebJB4#+%o;LK5~?D4f1ID
zV}*Q0CB+4$+sZu3gDQTiw5qLYj_O3}FE#8mk(#frVYH~VI<*6IICRE!6ZPcuw)9I4
zt{ajXb{Rz&iyE((6q{O_QJM{y$6F{`9HHy4ds%W@&RgYMqiv{chHR7UG;Tm|wAn{E
zNIPH;92=a1Fyfd4=Vq5ER~0t`w_*1j4+l>H&qJ?n?<^mCUtwRY->`pCfM1|W5KYi>
za7)PDP=_$daN_W}h^EN2D9lZ{XzJ*-nC@Hoe}%*v#_`6(<7aL+C)~f|m#CM-n@o_r
zl+u-2ayK^3DP1FjJCi7LE9>*U*83&dDG!2kZsh9b$votKM3+yHe^RhjxLh<>JpFj8
zWVUp%Z0*Tm1%4%c75`J!YO9*yXIZs%&qwNZ>uF!gG}tvJysB-QXo0^LX|;Qk-q!i{
zxI_G1P-km5`Fro4$q%-DdjsV|kstj=QpN_pC{28wDx1xjum5qd;<C206}-oOuy?X`
z(HXrjTHv47fF}V!_7(u>p8%N91CV430M`QmXe$6PBmuxw8bDRj0A#BKKs@5Xf7%EW
z5C+-+18#x`;5qmJ=D`Vs8X^GEfY?JKAlZ;Q$Pi=|N{IW$T!XqnQ=reG<Ipo0C(H<T
z6IKnIhLgk9;gRr0_%=ci;e~jH*v1pbi^S`~C&jnIuf#tl&?6`zI3+|AHX`YfH<3$3
zCPbaY62vtmTqLEW9HbRwf@F>4%H+cowiH{Gaa0Ucb<{f4%QSJc?6h5U&h$w7S_U(Q
zQ^qnTL#7kv%1ah3_$*DV9w-*n*ySWPtP0x+d&3n!4gro;&MGc<Zhr1fo|nAge9HVt
z{xN|fL2n^>VN&5akp|IZF~_U&;tb-45?>`-qza`IWPD|<<#gob6oeHyl~|P-Rp?de
z)tJ;#8eE#f*JQP>X<O*H=!WVg>lYa`81@@27@wF@n+ck0TR5ZRu0OWyv|6;mx8=7p
zz7cL;;xO!ZifeCHE~%~^ZU-Jho^D=c-V46$ei;9%fbAgJ;DnIzFs|^(h|ws4n@Q2D
zw+#Mz6~`8znSggEI`J$yCKY)%FI^;KI4kfzDtk2NZl1v-`uv}TZ;SIwZk2hJ+gDmW
zwW)Ef4Xewjf8Ox93A6~cI<)1qk6=4VyY+g~K8y`854nDPHA?Uq{iSSTZHi~+`uFhp
z#Kqf7{y+79F|AIlCvS>vjqJGX9{r9xKptit)1KTrBRjwScN+m>zz}$V1W*iG!8q84
z5JNa2$`Bh!7_R>HkWY|pC<Rm$Y6cC17DC@cH(`u0O;`x50#|)1xGp>a-i3f8G!RLM
zk9Z7tPI%Ap0lpD_8U87OIYB)kHDM^>98wS2MkGd5P0UMNO(I6}hE#`in#`XZNnS>w
zO0hthK*dk>nL3(=k7j~4kxqtgoxX^{jFE`3gDH$zlzHt^1q+7t3hNJ4#bqzHt8C}&
zeOGcgTsdXAuw-0I-0eIMc|-Xu_$37x1Wp8Jg}Q{RMAAh=#O$tK6Bm_WmL!zim--<+
zF4HUfM((A2jY5TDnbH&G3Y8kw2DLWzevL`Z)obV4R62aRYI?T%;RZQ|jYi|f2c`^W
zvgURcap<b+pDd58*=_V~BkU?~OgJDN6`TSvPn{QCQEs;G`5v=g?A~rZb-u^`>H+D2
z)4{wUA)(#jlo583)lrAhYB3qNrek^ILgRZ9=<c{Dwk6Y~c&GNK@ujC_9Ar7(8_m{y
z(4H%w*Y-#)f2h#9Xyb8wDXOf!+^LeJs-@cV8C&giU4FfN15e{#Q)kP)R+l!}cJhve
z&W7%|9z*O0y1s7%c|)cji9WTBdVgjbfB)5YlKxxAwA(Dj_vU$rMdBX~%XTXSzv|X3
zHz1o8+Xg#(dpY~E2eU`9C!D7}=gt>5fE}m+7mx^^f<dqep@4`%%pu{BLP$4c4N41D
zhI&H_pdVp)Fa=ly>@^Gv*MMij=MYzM6<@?t#w*50;CteKA<!gvO?Z{C9w~+FBC;Ub
zA-+eVNU}p(P3A)`O+kdK@;j<0)af+Qv;lOU^zICvi~&qB%o&%;Svpw1Uxu)8u<Km$
z=Xl83#kIl1$a{@1gug;yN{B*OOC(nGt=O5kf<%mDw=}Vgg=~r3u7bMaL#166tiEcs
zI<bbg=BSpmcCju}FF=3VP}8W+gvm6{Y{LSLerG9Qm1~1%8)&y^Z|2bBB!j7S;c(4&
zr}0ShLVDl!h5N+?zylM4i9*uD=)wyld7@rME5!`{WgWX3ACW+Er!Yx0xjPkocP%|S
zlPc@Ued+9h9J}0|hjIC|1r<fo#l0owrSnfb%Xce7st&7zYqo3Mp3l56u7B4c(pcC;
z)EwOMy;b|oi?>Yeu^qoUjk}uPv-aHXUF$RIZyaPAiXNW-q&o6=^!&5M_|q@P6Uvjf
zzBNy+%n;9VeV3V2m{(X3T4Y{4`!TWfbUFN|!U}Yy`Iql1YPEkYWSxG!c>|5z*xpRq
zLT%M;t8S0(*zEk=4cI;0i~0@u9k&nPk3T>h+&M%ZrXG<TB_87)#~z=a1f8s(I-gFS
z>7TtjmpHG$GGbHz+<?Ey(*?mms`_~P_@i`H)h^8czro8h2uIK^1c4igG2Uh-xS0~C
zy3YO@#{XbjCybgp4wK{57ZafVpO_f8KrK_8j~b_$Ko$4^Pf+Xw`~eE+;!HJM>vF_d
z_Q3nUJsLR6ANPwa@K40waVT8epT&RH{%?;P0Dm(^+%^CYcZf&!e^9&49~SyQB@h#O
z!OB#9e8c?RTwDWD%D%py7=DzNx1%6GN>o@x7=S-~6!(l&IL^i&msUx;-u5+u0<PoJ
mI%-}JMPDj_;^8fmQGS@q`IPvrd&)qVSL5LFs2ME+$o?0Fr7FGv

diff --git a/scripts/guiplugins/buttonbar/images/vslider.gif b/scripts/guiplugins/buttonbar/images/vslider.gif
deleted file mode 100644
index f088b8d4a475637455b006e436f7a39f57a6626c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3853
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

diff --git a/scripts/guiplugins/buttonbar/images/vumeter.gif b/scripts/guiplugins/buttonbar/images/vumeter.gif
deleted file mode 100644
index bc16a52b175c1ca22df695c8ddd3f4a5620bad0a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4155
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
T5O-LuNOO%Gp`n4brt1Fyo}Xy+

diff --git a/scripts/guiplugins/file_associations/file_associations-plugin.tcl b/scripts/guiplugins/file_associations/file_associations-plugin.tcl
deleted file mode 100644
index b44e162fe..000000000
--- a/scripts/guiplugins/file_associations/file_associations-plugin.tcl
+++ /dev/null
@@ -1,55 +0,0 @@
-# this is a plugin for Pd 0.43 that adds the ability to associate Pd patches
-# with filetypes like .wav, .ogg, etc.
-
-package provide file_associations 0.1
-
-namespace eval ::file_associations:: {
-    namespace export pdtk_post
-}
-
-proc ::file_associations::load_file_associations {} {
-    set ::associationsdir "[pwd]/../associations"
-    # TODO this should search the whole path for 'associations' in order to
-    # support user-installed associations, not only included ones
-    puts stderr "find_file_associations $::associationsdir"
-    if { ! [file isdirectory $::associationsdir]} { return }
-    foreach filename [glob -directory $::associationsdir -nocomplain -types {f} -- *.pd] {
-        set extension [file rootname [file tail $filename]]
-        puts "\tAssociating $filename to $extension"
-        lset ::filetypes 0 1 [concat [lindex $::filetypes 0 1] ".$extension"]
-        set ::filetypes [lappend ::filetypes \
-                             [list "[string toupper $extension] files" ".$extension"]]
-    }
-}
-
-proc ::file_associations::menu_open {} {
-    pdtk_post "using menu_open from file_associations.tcl"
-    if { ! [file isdirectory $::pd_menucommands::menu_open_dir]} {
-        set ::pd_menucommands::menu_open_dir $::env(HOME)
-    }
-    set files [tk_getOpenFile -defaultextension .pd \
-                       -multiple true \
-                       -filetypes $::filetypes \
-                       -initialdir $::pd_menucommands::menu_open_dir]
-    if {$files ne ""} {
-        foreach filename $files {
-            set extension [lindex [split $filename .] end]
-            if {$extension == "pd"} {
-                puts "open_file $filename"
-                open_file $filename
-            } else {
-                set assocpatchfile [open [file join $::associationsdir "$extension.pd"]]
-                set patchcontents [regsub -all -- "\\\$FILENAME" [read $assocpatchfile] $filename]
-                close $assocpatchfile
-                pdsend "pd filename [file tail $filename].pd \
-                            [enquote_path $::pd_menucommands::menu_open_dir]"
-                pdsend $patchcontents
-                pdsend "#X pop 1"
-            }
-        }
-        set ::pd_menucommands::menu_open_dir [file dirname $filename]
-    }
-}
-
-#::file_associations::load_file_associations
-# TODO insert code to override built-in menu_open proc
diff --git a/scripts/guiplugins/object_db/object_db-plugin.tcl b/scripts/guiplugins/object_db/object_db-plugin.tcl
deleted file mode 100644
index 898a0f422..000000000
--- a/scripts/guiplugins/object_db/object_db-plugin.tcl
+++ /dev/null
@@ -1,182 +0,0 @@
-
-set enabled_libraries {
-    {pd-lib} {boids} {bsaylor} {creb} {cxc} {cyclone} {cyclone (hammer)} {cyclone (sickle)}
-    {ekext} {fftease} {flatspace} {flib} {freeverb~} {gem} {ggee} {hardware} {hcs} {hid}
-    {iem_ambi} {iem_bin_ambi} {iemgui} {iemlib} {jasch_lib} {jmmmp} {keyboardkeys}
-    {la-kitchen} {list-abs} {mapping} {markex} {maxlib} {memento} {mjlib} {motex} {mrpeach}
-    {nqpoly~} {nqpoly4} {nusmuk} {oscx} {pan} {pddp} {pdjimmies} {pdmtl abstractions}
-    {pdogg} {pdp} {Percolate} {pidip} {pixeltango} {pmpd} {rradical} {rtc} {sigpack}
-    {smlib} {toxy} {unauthorized} {vasp} {xsample} {zexy} {zexy Abstraction}
-}
-# comment the following line to enable all libraries
-set enabled_libraries {pd-lib}
-
-# top level categories (tags)
-set tlc {conversion pdmtl cyclone maxlib zexy vasp storage audio control connectivity imaging math misc}
-
-# second level (in menu) categories
-set c2 {
-    connectivity {osc midi network}
-    conversion {midi audio}
-    cyclone {hammer sickle audio math control}
-    zexy {audio analysis matrix control}
-    maxlib {control time math glue}
-    audio {abstraction conversion fftease cyclone math logical analysis filters delay effects tables}
-    vasp {declaration arithmetic basics functions generators transcendent minmax utilities filters fft displace}
-    storage {abstraction lists matrix tables}
-    pdmtl {control convert list edit flow imaging}
-    imaging {{gem particles} {gem manipulators} {gem pixes} {gem geos} {gem opengl} {pdp image} {pdp processing} {pdp abstraction} {pdp 3d} pidip manipulators wrapper particles automata processing}
-}
-
-
-
-
-
-#---------------------------------------------------------------------------------------------
-# object -> tags mapping
-array set object_tags {}
-# tag reverse mapping
-array set objects_with_tag {}
-
-# load object -> tags mapping from file
-set f [open [file join $::current_pathdir object_tags.tcllist]]
-set tmp_db [read $f]
-close $f
-unset f
-
-foreach {library object tags} $tmp_db {
-    # skip unwanted libraries
-    if {[lsearch -exact $enabled_libraries $library] == -1} {continue}
-    foreach tag $tags {lappend object_tags($object) $tag}
-}
-unset tmp_db
-
-foreach k [array names object_tags] {
-    set object_tags($k) [lsort $object_tags($k)]
-    foreach tag $object_tags($k) {lappend objects_with_tag($tag) $k}
-}
-
-proc object_db_query {q workingset} {
-    global object_tags
-    set q _[join [lsort $q] _.*_]_
-    set result [list]
-    foreach k $workingset {
-        set v _[join $object_tags($k) __]_
-        if {[regexp $q $v]} {lappend result $k}
-    }
-    set result
-}
-
-# TODO: benchmark which is faster between the two
-proc object_db_query_re {q workingset} {
-    global object_tags
-    set q (?b)\\<[join [lsort $q] \\>.*\\<]\\>
-    set result [list]
-    foreach k $workingset {
-        if {[regexp $q $object_tags($k)]} {lappend result $k}
-    }
-    set result
-}
-
-proc complement {e s} {
-    set result [list]
-    foreach i $e {if {[lsearch -exact $s $i] == -1} {lappend result $i}}
-    set result
-}
-
-proc merge {args} {
-    array set tmp {}
-    foreach arg $args {
-        foreach k $arg {
-            set tmp($k) .
-        }
-    }
-    set x [array names tmp]
-    array unset tmp
-    set x
-}
-
-proc pdtk_canvas_popup_addObjectBranch {t m lst} {
-    set n 0
-    foreach {k v} $lst {
-        if {$k == {.}} {
-            incr n
-            set cbrk 0
-            if {$n > 18} {
-                set cbrk 1
-                set n 1
-            }
-            $m add command -label $v -columnbreak $cbrk \
-            -command "pdsend \"\$::focused_window obj \$::popup_xcanvas \$::popup_ycanvas $v\""
-        } else {
-            if {[llength $v] == 0} continue
-            set sub ${m}.sub[incr ::s]
-            menu $sub
-	    # fix menu font size on Windows with tk scaling = 1
-	    if {$::windowingsystem eq "win32"} {$sub configure -font menufont}
-            $m add cascade -label $k -menu $sub
-            pdtk_canvas_popup_addObjectBranch $t $sub $v
-        }
-    }
-}
-
-proc print_r {l {indent 0}} {
-    foreach {k v} $l {
-        if {$k == "."} {
-            for {set j 0} {$j < $indent} {incr j} {puts -nonewline "  "}
-            puts $v
-        } else {
-            for {set j 0} {$j < $indent} {incr j} {puts -nonewline "  "}
-            puts "$k {"
-            print_r $v [expr {$indent+1}]
-            for {set j 0} {$j < $indent} {incr j} {puts -nonewline "  "}
-            puts "}"
-        }
-    }
-}
-
-proc @ {l} {
-    set result [list]
-    set ls [lsort $l]
-    foreach i $ls {lappend result . $i}
-    set result
-}
-
-set l [list]
-set all [array names object_tags]
-# *partition* by tag into top-level-categories
-foreach c $tlc {
-    set c_$c [object_db_query $c $all]
-    set all [complement $all [set c_$c]]
-}
-set c_others $all
-# *search* by tag in 2nd-level-categories
-# add 2-level categories
-foreach {tlcn c2l} $c2 {
-    set ll [list]
-    set accum [list]
-    foreach c2i $c2l {
-        set lll [object_db_query $c2i [set c_$tlcn]]
-        set accum [merge $accum $lll]
-        if {[llength $lll] > 0} {lappend ll $c2i [@ $lll]}
-    }
-    set others [complement [set c_$tlcn] $accum]
-    if {[llength $others] > 0} {lappend ll "others" [@ $others]}
-    lappend l $tlcn $ll
-}
-# add 1-level-categories
-foreach tlci $tlc {
-    set c2_keys [list]
-    # can't use dict on 8.4
-    foreach {k v} $c2 {lappend c2_keys $k}
-    if {[lsearch -exact $c2_keys $tlci] != -1} {continue}
-    set c_1_set [object_db_query $tlci [set c_$tlci]]
-    lappend l $tlci [@ $c_1_set]
-}
-# end menu structure builder
-
-#print_r $l
-
-.popup add separator
-set s 0
-pdtk_canvas_popup_addObjectBranch - .popup $l
diff --git a/scripts/guiplugins/object_db/object_tags.tcllist b/scripts/guiplugins/object_db/object_tags.tcllist
deleted file mode 100644
index e0398d9f1..000000000
--- a/scripts/guiplugins/object_db/object_tags.tcllist
+++ /dev/null
@@ -1,2685 +0,0 @@
-boids boids2d {boids flock generator modelling simulator}
-boids boids3d {boids flock generator modelling simulator}
-bsaylor aenv~ {audio bsaylor}
-bsaylor partconv~ {audio bsaylor}
-bsaylor pvoc~ {audio bsaylor}
-bsaylor susloop~ {audio bsaylor}
-bsaylor svf~ {audio bsaylor}
-bsaylor zhzxh~ {audio bsaylor}
-creb 64k {abstraction audio creb}
-creb abs~ {audio creb}
-creb bdft {abstraction audio creb}
-creb bdfts {abstraction audio creb}
-creb bdiag~ {audio creb}
-creb bfft~ {audio creb}
-creb bhip~ {abstraction audio creb}
-creb biquadseries~ {audio creb}
-creb bitsplit~ {audio creb}
-creb blocknorm~ {audio creb}
-creb blop~ {abstraction audio creb}
-creb blosc~ {audio creb}
-creb bpm {abstraction audio creb}
-creb bwin~ {audio creb}
-creb cadd~ {abstraction audio creb}
-creb ccmap~ {abstraction audio creb}
-creb cconj~ {abstraction audio creb}
-creb cep~ {abstraction audio creb}
-creb cheby~ {audio creb}
-creb cinv~ {abstraction audio creb}
-creb clog~ {audio creb}
-creb cmul~ {abstraction audio creb}
-creb cosc~ {abstraction audio creb}
-creb count {abstraction audio creb}
-creb csub~ {abstraction audio creb}
-creb diag~ {audio creb}
-creb dist~ {audio creb}
-creb dsfosc~ {abstraction audio creb}
-creb dwt~ {audio creb}
-creb dynwav~ {audio creb}
-creb ead~ {audio creb}
-creb eadh~ {abstraction audio creb}
-creb eadsr~ {audio creb}
-creb eadsrh~ {abstraction audio creb}
-creb ear~ {audio creb}
-creb expmap~ {abstraction audio creb}
-creb fblock {abstraction audio creb}
-creb fdn~ {audio creb}
-creb ffpoly {creb math}
-creb filterortho~ {audio creb}
-creb fmod {abstraction audio creb}
-creb fmop~ {abstraction audio creb}
-creb frequor~ {abstraction audio creb}
-creb fwarp {creb math}
-creb icep~ {abstraction audio creb}
-creb idsfosc~ {abstraction audio creb}
-creb idwt~ {audio creb}
-creb inv {abstraction audio creb}
-creb junction~ {audio creb}
-creb lattice~ {audio creb}
-creb lattice3 {abstraction audio creb}
-creb lpfft~ {abstraction audio creb}
-creb matrix~ {audio creb}
-creb pdynwav~ {abstraction audio creb}
-creb permut~ {audio creb}
-creb qmult~ {audio creb}
-creb qnorm~ {audio creb}
-creb ramp~ {audio creb}
-creb ratio {creb math}
-creb resofilt~ {audio creb}
-creb sbosc~ {audio creb}
-creb scale7 {abstraction audio creb}
-creb scrollgrid1D~ {audio creb}
-creb statwav~ {audio creb}
-creb tabreadmix~ {audio creb}
-creb tblock {abstraction audio creb}
-creb ti_hihat {abstraction audio creb}
-creb ti_snare {abstraction audio creb}
-creb ucmod~ {abstraction audio creb}
-creb ucnorm~ {abstraction audio creb}
-creb vol~ {abstraction audio creb}
-creb vols~ {abstraction audio creb}
-creb xfm~ {audio creb}
-cxc ascseq {cxc unsorted}
-cxc ascwave {cxc unsorted}
-cxc bfilt {cxc unsorted}
-cxc bfilt2 {cxc unsorted}
-cxc cxc. {cxc unsorted}
-cxc cxc.pr {cxc unsorted}
-cxc delta~ {cxc unsorted}
-cxc ENV {cxc unsorted}
-cxc proc {cxc unsorted}
-cxc randomix {cxc unsorted}
-cxc reson~ {cxc unsorted}
-cxc serialize {cxc unsorted}
-cxc stati {cxc unsorted}
-cxc utime {cxc unsorted}
-cyclone !- {cyclone math}
-cyclone !-~ {audio cyclone math}
-cyclone !/ {cyclone math}
-cyclone !/~ {audio cyclone math}
-cyclone !=~ {audio cyclone math}
-cyclone %~ {audio cyclone math}
-cyclone +=~ {cyclone math}
-cyclone <=~ {audio cyclone math}
-cyclone <~ {audio cyclone math}
-cyclone ==~ {audio cyclone math}
-cyclone >=~ {audio cyclone math}
-cyclone >~ {audio cyclone math}
-{cyclone (hammer)} accum {cyclone hammer misc}
-{cyclone (hammer)} acos {cyclone hammer math}
-{cyclone (hammer)} active {cyclone gui hammer}
-{cyclone (hammer)} anal {cyclone hammer misc}
-{cyclone (hammer)} Append {control cyclone glue hammer}
-{cyclone (hammer)} asin {cyclone hammer math}
-{cyclone (hammer)} bangbang {control cyclone glue hammer}
-{cyclone (hammer)} bondo {control cyclone glue hammer}
-{cyclone (hammer)} Borax {connectivity cyclone hammer midi}
-{cyclone (hammer)} Bucket {cyclone hammer misc}
-{cyclone (hammer)} buddy {control cyclone glue hammer}
-{cyclone (hammer)} capture {cyclone hammer misc}
-{cyclone (hammer)} cartopol {cyclone hammer math}
-{cyclone (hammer)} Clip {cyclone hammer math}
-{cyclone (hammer)} coll {cyclone hammer misc}
-{cyclone (hammer)} comment {cyclone gui hammer}
-{cyclone (hammer)} cosh {cyclone hammer math}
-{cyclone (hammer)} counter {control cyclone glue hammer}
-{cyclone (hammer)} cycle {control cyclone glue hammer}
-{cyclone (hammer)} decide {cyclone hammer misc}
-{cyclone (hammer)} Decode {control cyclone glue hammer}
-{cyclone (hammer)} drunk {cyclone hammer misc}
-{cyclone (hammer)} flush {connectivity cyclone hammer midi}
-{cyclone (hammer)} forward {control cyclone glue hammer}
-{cyclone (hammer)} fromsymbol {control cyclone glue hammer}
-{cyclone (hammer)} funbuff {control cyclone glue hammer}
-{cyclone (hammer)} funnel {control cyclone glue hammer}
-{cyclone (hammer)} gate {control cyclone glue hammer}
-{cyclone (hammer)} grab {control cyclone glue hammer}
-{cyclone (hammer)} Histo {cyclone hammer misc}
-{cyclone (hammer)} iter {control cyclone glue hammer}
-{cyclone (hammer)} match {control cyclone glue hammer}
-{cyclone (hammer)} maximum {cyclone hammer math}
-{cyclone (hammer)} mean {cyclone hammer math}
-{cyclone (hammer)} midiflush {connectivity cyclone hammer midi}
-{cyclone (hammer)} midiformat {connectivity cyclone hammer midi}
-{cyclone (hammer)} midiparse {connectivity cyclone hammer midi}
-{cyclone (hammer)} minimum {cyclone hammer math}
-{cyclone (hammer)} mousefilter {cyclone gui hammer}
-{cyclone (hammer)} MouseState {cyclone gui hammer}
-{cyclone (hammer)} mtr {cyclone hammer misc}
-{cyclone (hammer)} next {control cyclone glue hammer}
-{cyclone (hammer)} offer {control cyclone glue hammer}
-{cyclone (hammer)} onebang {control cyclone glue hammer}
-{cyclone (hammer)} past {cyclone hammer math}
-{cyclone (hammer)} Peak {cyclone hammer math}
-{cyclone (hammer)} poltocar {cyclone hammer math}
-{cyclone (hammer)} prepend {cyclone hammer math}
-{cyclone (hammer)} prob {cyclone hammer misc}
-{cyclone (hammer)} pv {control cyclone glue hammer}
-{cyclone (hammer)} sinh {cyclone hammer math}
-{cyclone (hammer)} speedlim {control cyclone glue hammer}
-{cyclone (hammer)} spell {cyclone hammer misc}
-{cyclone (hammer)} split {control cyclone glue hammer}
-{cyclone (hammer)} spray {control cyclone glue hammer}
-{cyclone (hammer)} sprintf {control cyclone glue hammer}
-{cyclone (hammer)} substitute {control cyclone glue hammer}
-{cyclone (hammer)} sustain {connectivity cyclone hammer midi}
-{cyclone (hammer)} switch {control cyclone glue hammer}
-{cyclone (hammer)} tanh {cyclone hammer math}
-{cyclone (hammer)} thresh {cyclone hammer math}
-{cyclone (hammer)} TogEdge {cyclone hammer math}
-{cyclone (hammer)} tosymbol {control cyclone glue hammer}
-{cyclone (hammer)} Trough {cyclone hammer math}
-{cyclone (hammer)} universal {control cyclone glue hammer}
-{cyclone (hammer)} urn {cyclone hammer math}
-{cyclone (hammer)} Uzi {control cyclone glue hammer}
-{cyclone (hammer)} xbendin {connectivity cyclone hammer midi}
-{cyclone (hammer)} xbendout {connectivity cyclone hammer midi}
-{cyclone (hammer)} xnotein {connectivity cyclone hammer midi}
-{cyclone (hammer)} xnoteout {connectivity cyclone hammer midi}
-{cyclone (hammer)} zl {cyclone hammer misc}
-{cyclone (sickle)} abs~ {audio cyclone math sickle}
-{cyclone (sickle)} acos~ {audio cyclone math sickle}
-{cyclone (sickle)} allpass~ {audio cyclone filter sickle}
-{cyclone (sickle)} asin~ {audio cyclone math sickle}
-{cyclone (sickle)} asinh~ {audio cyclone math sickle}
-{cyclone (sickle)} atan~ {audio cyclone math sickle}
-{cyclone (sickle)} atan2~ {audio cyclone math sickle}
-{cyclone (sickle)} atanh~ {audio cyclone math sickle}
-{cyclone (sickle)} average~ {audio cyclone math sickle}
-{cyclone (sickle)} avg~ {cyclone math sickle}
-{cyclone (sickle)} bitand~ {audio cyclone math sickle}
-{cyclone (sickle)} bitnot~ {audio cyclone math sickle}
-{cyclone (sickle)} bitor~ {audio cyclone math sickle}
-{cyclone (sickle)} bitshift~ {audio cyclone math sickle}
-{cyclone (sickle)} bitxor~ {audio cyclone math sickle}
-{cyclone (sickle)} buffir~ {audio cyclone filter sickle}
-{cyclone (sickle)} capture~ {control cyclone glue sickle}
-{cyclone (sickle)} cartopol~ {audio cyclone math sickle}
-{cyclone (sickle)} change~ {audio cyclone math sickle}
-{cyclone (sickle)} click~ {and audio cyclone oscillators sickle tables}
-{cyclone (sickle)} Clip~ {audio cyclone math sickle}
-{cyclone (sickle)} comb~ {audio cyclone filter sickle}
-{cyclone (sickle)} cosh~ {audio cyclone math sickle}
-{cyclone (sickle)} cosx~ {audio cyclone math sickle}
-{cyclone (sickle)} count~ {control cyclone glue sickle}
-{cyclone (sickle)} curve~ {and audio cyclone oscillators sickle tables}
-{cyclone (sickle)} cycle~ {and audio cyclone oscillators sickle tables}
-{cyclone (sickle)} delay~ {audio cyclone delay sickle}
-{cyclone (sickle)} delta~ {control cyclone glue sickle}
-{cyclone (sickle)} deltaclip~ {audio cyclone math sickle}
-{cyclone (sickle)} edge~ {audio cyclone math sickle}
-{cyclone (sickle)} frameaccum~ {audio cyclone math sickle}
-{cyclone (sickle)} framedelta~ {audio cyclone math sickle}
-{cyclone (sickle)} index~ {and audio cyclone oscillators sickle tables}
-{cyclone (sickle)} kink~ {and audio cyclone oscillators sickle tables}
-{cyclone (sickle)} Line~ {control cyclone sickle time}
-{cyclone (sickle)} linedrive {cyclone sickle unsorted}
-{cyclone (sickle)} log~ {audio cyclone math sickle}
-{cyclone (sickle)} lookup~ {and audio cyclone oscillators sickle tables}
-{cyclone (sickle)} lores~ {audio cyclone filter sickle}
-{cyclone (sickle)} maximum~ {audio cyclone math sickle}
-{cyclone (sickle)} minimum~ {audio cyclone math sickle}
-{cyclone (sickle)} minmax~ {audio cyclone math sickle}
-{cyclone (sickle)} mstosamps~ {audio cyclone math sickle}
-{cyclone (sickle)} onepole~ {audio cyclone filter sickle}
-{cyclone (sickle)} peakamp~ {audio cyclone math sickle}
-{cyclone (sickle)} peek~ {and audio cyclone oscillators sickle tables}
-{cyclone (sickle)} phasewrap~ {audio cyclone math sickle}
-{cyclone (sickle)} pink~ {audio cyclone sickle}
-{cyclone (sickle)} play~ {and audio cyclone oscillators sickle tables}
-{cyclone (sickle)} poke~ {and audio cyclone oscillators sickle tables}
-{cyclone (sickle)} poltocar~ {audio cyclone math sickle}
-{cyclone (sickle)} pong~ {audio cyclone math sickle}
-{cyclone (sickle)} pow~ {audio cyclone math sickle}
-{cyclone (sickle)} rampsmooth~ {and audio cyclone oscillators sickle tables}
-{cyclone (sickle)} rand~ {cyclone math sickle}
-{cyclone (sickle)} record~ {and audio cyclone oscillators sickle tables}
-{cyclone (sickle)} reson~ {audio cyclone filter sickle}
-{cyclone (sickle)} sah~ {control cyclone glue sickle}
-{cyclone (sickle)} sampstoms~ {audio cyclone math sickle}
-{cyclone (sickle)} Scope~ {cyclone gui sickle}
-{cyclone (sickle)} sinh~ {audio cyclone math sickle}
-{cyclone (sickle)} sinx~ {audio cyclone math sickle}
-{cyclone (sickle)} slide~ {audio cyclone math sickle}
-{cyclone (sickle)} Snapshot~ {control cyclone glue sickle}
-{cyclone (sickle)} spike~ {audio cyclone math sickle}
-{cyclone (sickle)} svf~ {audio cyclone filter sickle}
-{cyclone (sickle)} tanh~ {audio cyclone math sickle}
-{cyclone (sickle)} tanx~ {audio cyclone math sickle}
-{cyclone (sickle)} train~ {audio cyclone sickle}
-{cyclone (sickle)} trapezoid~ {and audio cyclone oscillators sickle tables}
-{cyclone (sickle)} triangle~ {and audio cyclone oscillators sickle tables}
-{cyclone (sickle)} vectral~ {audio cyclone math sickle}
-{cyclone (sickle)} wave~ {and audio cyclone oscillators sickle tables}
-{cyclone (sickle)} zerox~ {audio cyclone math sickle}
-ekext cup {ekext unsorted}
-ekext framescore~ {ekext unsorted}
-ekext framespect~ {ekext unsorted}
-ekext hssc~ {ekext unsorted}
-ekext listmoses {ekext unsorted}
-ekext maskxor {ekext unsorted}
-ekext polymap {ekext unsorted}
-ekext polystat {ekext unsorted}
-ekext sieve {ekext unsorted}
-ekext simile {ekext unsorted}
-ekext simile~ {ekext unsorted}
-ekext steady {ekext unsorted}
-ekext voicing_detector~ {ekext unsorted}
-ekext voicing_detector~test3 {ekext unsorted}
-ekext zeroxpos~ {ekext unsorted}
-fftease bthresher~ {audio fftease glue}
-fftease burrow~ {audio fftease filters}
-fftease cavoc~ {and audio fftease oscillators tables}
-fftease cavoc27~ {and audio fftease oscillators tables}
-fftease centerring~ {audio fftease filters}
-fftease codepend~ {audio fftease filters}
-fftease crossx~ {audio fftease filters}
-fftease dentist~ {audio fftease filters}
-fftease disarrain~ {audio fftease filters}
-fftease disarray~ {audio fftease filters}
-fftease drown~ {audio fftease filters}
-fftease ether~ {audio fftease filters}
-fftease mindwarp~ {audio fftease filters}
-fftease morphine~ {audio fftease filters}
-fftease multyq~ {audio fftease filters}
-fftease presidency~ {audio fftease filters}
-fftease pvcompand~ {audio fftease filters}
-fftease pvgrain~ {audio fftease filters}
-fftease pvharm~ {audio fftease filters}
-fftease pvoc~ {audio fftease filters}
-fftease pvtuner~ {audio fftease filters}
-fftease pvwarp~ {audio fftease filters}
-fftease reanimator~ {audio fftease filters}
-fftease resent~ {audio fftease filters}
-fftease residency~ {audio fftease filters}
-fftease scrape~ {audio fftease filters}
-fftease shapee~ {audio fftease filters}
-fftease swinger~ {audio fftease filters}
-fftease taint~ {audio fftease filters}
-fftease thresher~ {audio fftease glue}
-fftease vacancy~ {audio fftease filters}
-fftease xsyn~ {audio fftease filters}
-flatspace aenv~ {flatspace unsorted}
-flatspace amp~ {flatspace unsorted}
-flatspace arraysize {flatspace unsorted}
-flatspace ascii0x2d0x3eint {flatspace unsorted}
-flatspace atan2~ {flatspace unsorted}
-flatspace attract1 {flatspace unsorted}
-flatspace autoscale {flatspace unsorted}
-flatspace bandpass {flatspace unsorted}
-flatspace base {flatspace unsorted}
-flatspace bdiag~ {flatspace unsorted}
-flatspace beatpipe {flatspace unsorted}
-flatspace bfft~ {flatspace unsorted}
-flatspace biquadseries~ {flatspace unsorted}
-flatspace bird {flatspace unsorted}
-flatspace bitsplit~ {flatspace unsorted}
-flatspace blocknorm~ {flatspace unsorted}
-flatspace blocksize_in_ms {flatspace unsorted}
-flatspace blosc~ {flatspace unsorted}
-flatspace bmatrix~ {flatspace unsorted}
-flatspace bufferoverride~ {flatspace unsorted}
-flatspace button {flatspace unsorted}
-flatspace buttongate {flatspace unsorted}
-flatspace bwin~ {flatspace unsorted}
-flatspace cheby~ {flatspace unsorted}
-flatspace choice {flatspace unsorted}
-flatspace classpath {flatspace unsorted}
-flatspace clog~ {flatspace unsorted}
-flatspace comport {flatspace unsorted}
-flatspace cursor {flatspace unsorted}
-flatspace debounce {flatspace unsorted}
-flatspace deg2hid {flatspace unsorted}
-flatspace deque {flatspace unsorted}
-flatspace dist~ {flatspace unsorted}
-flatspace dwt~ {flatspace unsorted}
-flatspace dynwav~ {flatspace unsorted}
-flatspace ead~ {flatspace unsorted}
-flatspace eadsr~ {flatspace unsorted}
-flatspace ear~ {flatspace unsorted}
-flatspace eblosc~ {flatspace unsorted}
-flatspace entry {flatspace unsorted}
-flatspace envgen {flatspace unsorted}
-flatspace equalizer {flatspace unsorted}
-flatspace ev {flatspace unsorted}
-flatspace ev_abs {flatspace unsorted}
-flatspace ev_ff {flatspace unsorted}
-flatspace ev_ff_status {flatspace unsorted}
-flatspace ev_key {flatspace unsorted}
-flatspace ev_led {flatspace unsorted}
-flatspace ev_msc {flatspace unsorted}
-flatspace ev_rel {flatspace unsorted}
-flatspace ev_rep {flatspace unsorted}
-flatspace ev_snd {flatspace unsorted}
-flatspace ev_syn {flatspace unsorted}
-flatspace failsafe {flatspace unsorted}
-flatspace fdn~ {flatspace unsorted}
-flatspace ff-autocenter {flatspace unsorted}
-flatspace ff-constant {flatspace unsorted}
-flatspace ff-friction {flatspace unsorted}
-flatspace ff-gain {flatspace unsorted}
-flatspace ff-periodic {flatspace unsorted}
-flatspace ff-spring {flatspace unsorted}
-flatspace ffpoly {flatspace unsorted}
-flatspace fiddle~ {flatspace unsorted}
-flatspace file_type {flatspace unsorted}
-flatspace filterortho~ {flatspace unsorted}
-flatspace float0x2d0x3eascii {flatspace unsorted}
-flatspace folder_list {flatspace unsorted}
-flatspace fwarp {flatspace unsorted}
-flatspace gcanvas {flatspace unsorted}
-flatspace getdir {flatspace unsorted}
-flatspace gfsm {flatspace unsorted}
-flatspace gfsm_alphabet {flatspace unsorted}
-flatspace gfsm_automaton {flatspace unsorted}
-flatspace gfsm_markov {flatspace unsorted}
-flatspace gfsm_state {flatspace unsorted}
-flatspace gid0x2d0x3egroup_name {flatspace unsorted}
-flatspace gingerbreadman {flatspace unsorted}
-flatspace group {flatspace unsorted}
-flatspace group_name0x2d0x3egid {flatspace unsorted}
-flatspace henon {flatspace unsorted}
-flatspace hid {flatspace unsorted}
-flatspace hid_average {flatspace unsorted}
-flatspace hid_centered {flatspace unsorted}
-flatspace hid_cube {flatspace unsorted}
-flatspace hid_cuberoot {flatspace unsorted}
-flatspace hid_exp {flatspace unsorted}
-flatspace hid_graph {flatspace unsorted}
-flatspace hid_invert {flatspace unsorted}
-flatspace hid_log {flatspace unsorted}
-flatspace hid_lowpass {flatspace unsorted}
-flatspace hid_menu {flatspace unsorted}
-flatspace hid_one2four {flatspace unsorted}
-flatspace hid_one2three {flatspace unsorted}
-flatspace hid_one2two {flatspace unsorted}
-flatspace hid_polar {flatspace unsorted}
-flatspace hid_rel2abs {flatspace unsorted}
-flatspace hid_smooth {flatspace unsorted}
-flatspace hid_spiral {flatspace unsorted}
-flatspace hid_square {flatspace unsorted}
-flatspace hid_squareroot {flatspace unsorted}
-flatspace hid2deg {flatspace unsorted}
-flatspace hid2rad {flatspace unsorted}
-flatspace highpass {flatspace unsorted}
-flatspace hlshelf {flatspace unsorted}
-flatspace hopalong {flatspace unsorted}
-flatspace hostname {flatspace unsorted}
-flatspace ifeel {flatspace unsorted}
-flatspace ikeda {flatspace unsorted}
-flatspace image {flatspace unsorted}
-flatspace import {flatspace unsorted}
-flatspace ISOdate {flatspace unsorted}
-flatspace ISOtime {flatspace unsorted}
-flatspace joystick {flatspace unsorted}
-flatspace junction~ {flatspace unsorted}
-flatspace keyboard {flatspace unsorted}
-flatspace keygate {flatspace unsorted}
-flatspace latoocarfian {flatspace unsorted}
-flatspace latoomutalpha {flatspace unsorted}
-flatspace latoomutbeta {flatspace unsorted}
-flatspace latoomutgamma {flatspace unsorted}
-flatspace lattice~ {flatspace unsorted}
-flatspace line3 {flatspace unsorted}
-flatspace loop~ {flatspace unsorted}
-flatspace lorenz {flatspace unsorted}
-flatspace lowpass {flatspace unsorted}
-flatspace lowshelf {flatspace unsorted}
-flatspace lrshift~ {flatspace unsorted}
-flatspace martin {flatspace unsorted}
-flatspace martin-test {flatspace unsorted}
-flatspace matrix~ {flatspace unsorted}
-flatspace mixer~ {flatspace unsorted}
-flatspace moog~ {flatspace unsorted}
-flatspace mouse {flatspace unsorted}
-flatspace notch {flatspace unsorted}
-flatspace notescale {flatspace unsorted}
-flatspace oggamp~ {flatspace unsorted}
-flatspace oggcast~ {flatspace unsorted}
-flatspace oggread~ {flatspace unsorted}
-flatspace oggwrite~ {flatspace unsorted}
-flatspace partconv~ {flatspace unsorted}
-flatspace passwd {flatspace unsorted}
-flatspace pdstring {flatspace unsorted}
-flatspace permut~ {flatspace unsorted}
-flatspace pi {flatspace unsorted}
-flatspace pique {flatspace unsorted}
-flatspace plugin~ {flatspace unsorted}
-flatspace popcorn {flatspace unsorted}
-flatspace popcorn-test {flatspace unsorted}
-flatspace popen {flatspace unsorted}
-flatspace popup {flatspace unsorted}
-flatspace popup-gop {flatspace unsorted}
-flatspace pso {flatspace unsorted}
-flatspace pvoc~ {flatspace unsorted}
-flatspace pwm {flatspace unsorted}
-flatspace pwm~ {flatspace unsorted}
-flatspace qmult~ {flatspace unsorted}
-flatspace qnorm~ {flatspace unsorted}
-flatspace quaruptwo {flatspace unsorted}
-flatspace quaruptwo-test {flatspace unsorted}
-flatspace rad2hid {flatspace unsorted}
-flatspace ratio {flatspace unsorted}
-flatspace readdir {flatspace unsorted}
-flatspace resofilt~ {flatspace unsorted}
-flatspace rlshift~ {flatspace unsorted}
-flatspace rossler {flatspace unsorted}
-flatspace sbosc~ {flatspace unsorted}
-flatspace scrollgrid1D~ {flatspace unsorted}
-flatspace serialctl {flatspace unsorted}
-flatspace serialize {flatspace unsorted}
-flatspace sfwrite~ {flatspace unsorted}
-flatspace shell {flatspace unsorted}
-flatspace silderh {flatspace unsorted}
-flatspace ski {flatspace unsorted}
-flatspace slider {flatspace unsorted}
-flatspace split_my_msgs {flatspace unsorted}
-flatspace split_path {flatspace unsorted}
-flatspace sprinkler {flatspace unsorted}
-flatspace standardmap {flatspace unsorted}
-flatspace stat {flatspace unsorted}
-flatspace stk {flatspace unsorted}
-flatspace streamin~ {flatspace unsorted}
-flatspace streamout~ {flatspace unsorted}
-flatspace stripdir {flatspace unsorted}
-flatspace susloop~ {flatspace unsorted}
-flatspace svf~ {flatspace unsorted}
-flatspace tabreadmix~ {flatspace unsorted}
-flatspace ticker {flatspace unsorted}
-flatspace toddle {flatspace unsorted}
-flatspace uid0x2d0x3eusername {flatspace unsorted}
-flatspace uname {flatspace unsorted}
-flatspace username0x2d0x3euid {flatspace unsorted}
-flatspace vbap {flatspace unsorted}
-flatspace version {flatspace unsorted}
-flatspace weightmap {flatspace unsorted}
-flatspace xfm~ {flatspace unsorted}
-flatspace zhzxh~ {flatspace unsorted}
-flib flib {flib unsorted}
-flib mfcc {flib unsorted}
-flib wdv {flib unsorted}
-freeverb~ freeverb~ {audio effects freeverb~}
-gem 6GEMglTexCoord1fv {gem imaging opengl wrapper}
-gem accumrotate {gem imaging manipulators}
-gem alpha {gem imaging manipulators}
-gem ambient {gem imaging manipulators}
-gem ambientRGB {gem imaging manipulators}
-gem camera {gem imaging manipulators}
-gem circle {gem geos imaging}
-gem color {gem imaging manipulators}
-gem colorRGB {gem imaging manipulators}
-gem colorSquare {gem geos imaging}
-gem cone {gem geos imaging}
-gem cube {gem geos imaging}
-gem cuboid {gem geos imaging}
-gem curve {gem geos imaging}
-gem curve3d {gem geos imaging}
-gem cylinder {gem geos imaging}
-gem depth {gem imaging manipulators}
-gem diffuse {gem imaging manipulators}
-gem diffuseRGB {gem imaging manipulators}
-gem disk {gem geos imaging}
-gem emission {gem imaging manipulators}
-gem emissionRGB {gem imaging manipulators}
-gem GEMglAccum {gem imaging opengl wrapper}
-gem GEMglAlphaFunc {gem imaging opengl wrapper}
-gem GEMglBegin {gem imaging opengl wrapper}
-gem GEMglBitmap {gem imaging opengl wrapper}
-gem GEMglBlendFunc {gem imaging opengl wrapper}
-gem GEMglCallList {gem imaging opengl wrapper}
-gem GEMglClear {gem imaging opengl wrapper}
-gem GEMglClearAccum {gem imaging opengl wrapper}
-gem GEMglClearColor {gem imaging opengl wrapper}
-gem GEMglClearDepth {gem imaging opengl wrapper}
-gem GEMglClearIndex {gem imaging opengl wrapper}
-gem GEMglClearStencil {gem imaging opengl wrapper}
-gem GEMglClipPlane {gem imaging opengl wrapper}
-gem GEMglColor3b {gem imaging opengl wrapper}
-gem GEMglColor3bv {gem imaging opengl wrapper}
-gem GEMglColor3d {gem imaging opengl wrapper}
-gem GEMglColor3dv {gem imaging opengl wrapper}
-gem GEMglColor3f {gem imaging opengl wrapper}
-gem GEMglColor3fv {gem imaging opengl wrapper}
-gem GEMglColor3i {gem imaging opengl wrapper}
-gem GEMglColor3iv {gem imaging opengl wrapper}
-gem GEMglColor3s {gem imaging opengl wrapper}
-gem GEMglColor3sv {gem imaging opengl wrapper}
-gem GEMglColor3ub {gem imaging opengl wrapper}
-gem GEMglColor3ubv {gem imaging opengl wrapper}
-gem GEMglColor3ui {gem imaging opengl wrapper}
-gem GEMglColor3uiv {gem imaging opengl wrapper}
-gem GEMglColor3us {gem imaging opengl wrapper}
-gem GEMglColor3usv {gem imaging opengl wrapper}
-gem GEMglColor4b {gem imaging opengl wrapper}
-gem GEMglColor4bv {gem imaging opengl wrapper}
-gem GEMglColor4d {gem imaging opengl wrapper}
-gem GEMglColor4dv {gem imaging opengl wrapper}
-gem GEMglColor4f {gem imaging opengl wrapper}
-gem GEMglColor4fv {gem imaging opengl wrapper}
-gem GEMglColor4i {gem imaging opengl wrapper}
-gem GEMglColor4iv {gem imaging opengl wrapper}
-gem GEMglColor4s {gem imaging opengl wrapper}
-gem GEMglColor4sv {gem imaging opengl wrapper}
-gem GEMglColor4ub {gem imaging opengl wrapper}
-gem GEMglColor4ubv {gem imaging opengl wrapper}
-gem GEMglColor4ui {gem imaging opengl wrapper}
-gem GEMglColor4uiv {gem imaging opengl wrapper}
-gem GEMglColor4us {gem imaging opengl wrapper}
-gem GEMglColor4usv {gem imaging opengl wrapper}
-gem GEMglColorMask {gem imaging opengl wrapper}
-gem GEMglColorMaterial {gem imaging opengl wrapper}
-gem GEMglCopyPixels {gem imaging opengl wrapper}
-gem GEMglCullFace {gem imaging opengl wrapper}
-gem GEMglDepthFunc {gem imaging opengl wrapper}
-gem GEMglDepthMask {gem imaging opengl wrapper}
-gem GEMglDepthRange {gem imaging opengl wrapper}
-gem GEMglDisable {gem imaging opengl wrapper}
-gem GEMglDrawBuffer {gem imaging opengl wrapper}
-gem GEMglEdgeFlag {gem imaging opengl wrapper}
-gem GEMglEnable {gem imaging opengl wrapper}
-gem GEMglEnd {gem imaging opengl wrapper}
-gem GEMglEndList {gem imaging opengl wrapper}
-gem GEMglEvalCoord1d {gem imaging opengl wrapper}
-gem GEMglEvalCoord1dv {gem imaging opengl wrapper}
-gem GEMglEvalCoord1f {gem imaging opengl wrapper}
-gem GEMglEvalCoord1fv {gem imaging opengl wrapper}
-gem GEMglEvalCoord2d {gem imaging opengl wrapper}
-gem GEMglEvalCoord2dv {gem imaging opengl wrapper}
-gem GEMglEvalCoord2f {gem imaging opengl wrapper}
-gem GEMglEvalCoord2fv {gem imaging opengl wrapper}
-gem GEMglEvalMesh1 {gem imaging opengl wrapper}
-gem GEMglEvalMesh2 {gem imaging opengl wrapper}
-gem GEMglEvalPoint1 {gem imaging opengl wrapper}
-gem GEMglEvalPoint2 {gem imaging opengl wrapper}
-gem GEMglFeedbackBuffer {gem imaging opengl wrapper}
-gem GEMglFinish {gem imaging opengl wrapper}
-gem GEMglFlush {gem imaging opengl wrapper}
-gem GEMglFogf {gem imaging opengl wrapper}
-gem GEMglFogfv {gem imaging opengl wrapper}
-gem GEMglFogi {gem imaging opengl wrapper}
-gem GEMglFogiv {gem imaging opengl wrapper}
-gem GEMglFrontFace {gem imaging opengl wrapper}
-gem GEMglFrustum {gem imaging opengl wrapper}
-gem GEMglGenLists {gem imaging opengl wrapper}
-gem GEMglGetError {gem imaging opengl wrapper}
-gem GEMglGetFloatv {gem imaging opengl wrapper}
-gem GEMglGetMapdv {gem imaging opengl wrapper}
-gem GEMglGetMapfv {gem imaging opengl wrapper}
-gem GEMglGetMapiv {gem imaging opengl wrapper}
-gem GEMglGetString {gem imaging opengl wrapper}
-gem GEMglHint {gem imaging opengl wrapper}
-gem GEMglIndexd {gem imaging opengl wrapper}
-gem GEMglIndexdv {gem imaging opengl wrapper}
-gem GEMglIndexf {gem imaging opengl wrapper}
-gem GEMglIndexfv {gem imaging opengl wrapper}
-gem GEMglIndexi {gem imaging opengl wrapper}
-gem GEMglIndexiv {gem imaging opengl wrapper}
-gem GEMglIndexMask {gem imaging opengl wrapper}
-gem GEMglIndexs {gem imaging opengl wrapper}
-gem GEMglIndexsv {gem imaging opengl wrapper}
-gem GEMglInitNames {gem imaging opengl wrapper}
-gem GEMglIsEnabled {gem imaging opengl wrapper}
-gem GEMglIsList {gem imaging opengl wrapper}
-gem GEMglLightf {gem imaging opengl wrapper}
-gem GEMglLighti {gem imaging opengl wrapper}
-gem GEMglLightModelf {gem imaging opengl wrapper}
-gem GEMglLightModeli {gem imaging opengl wrapper}
-gem GEMglLineStipple {gem imaging opengl wrapper}
-gem GEMglLineWidth {gem imaging opengl wrapper}
-gem GEMglLoadIdentity {gem imaging opengl wrapper}
-gem GEMglLoadMatrixd {gem imaging opengl wrapper}
-gem GEMglLoadMatrixf {gem imaging opengl wrapper}
-gem GEMglLoadName {gem imaging opengl wrapper}
-gem GEMglLogicOp {gem imaging opengl wrapper}
-gem GEMglMap1d {gem imaging opengl wrapper}
-gem GEMglMap1f {gem imaging opengl wrapper}
-gem GEMglMap2d {gem imaging opengl wrapper}
-gem GEMglMap2f {gem imaging opengl wrapper}
-gem GEMglMapGrid1d {gem imaging opengl wrapper}
-gem GEMglMapGrid1f {gem imaging opengl wrapper}
-gem GEMglMapGrid2d {gem imaging opengl wrapper}
-gem GEMglMapGrid2f {gem imaging opengl wrapper}
-gem GEMglMaterialf {gem imaging opengl wrapper}
-gem GEMglMateriali {gem imaging opengl wrapper}
-gem GEMglMatrixMode {gem imaging opengl wrapper}
-gem GEMglMultMatrixd {gem imaging opengl wrapper}
-gem GEMglMultMatrixf {gem imaging opengl wrapper}
-gem GEMglNewList {gem imaging opengl wrapper}
-gem GEMglNormal3b {gem imaging opengl wrapper}
-gem GEMglNormal3bv {gem imaging opengl wrapper}
-gem GEMglNormal3d {gem imaging opengl wrapper}
-gem GEMglNormal3dv {gem imaging opengl wrapper}
-gem GEMglNormal3f {gem imaging opengl wrapper}
-gem GEMglNormal3fv {gem imaging opengl wrapper}
-gem GEMglNormal3i {gem imaging opengl wrapper}
-gem GEMglNormal3iv {gem imaging opengl wrapper}
-gem GEMglNormal3s {gem imaging opengl wrapper}
-gem GEMglNormal3sv {gem imaging opengl wrapper}
-gem GEMglOrtho {gem imaging opengl wrapper}
-gem GEMglPassThrough {gem imaging opengl wrapper}
-gem GEMglPixelStoref {gem imaging opengl wrapper}
-gem GEMglPixelStorei {gem imaging opengl wrapper}
-gem GEMglPixelTransferf {gem imaging opengl wrapper}
-gem GEMglPixelTransferi {gem imaging opengl wrapper}
-gem GEMglPixelZoom {gem imaging opengl wrapper}
-gem GEMglPointSize {gem imaging opengl wrapper}
-gem GEMglPolygonMode {gem imaging opengl wrapper}
-gem GEMglPopAttrib {gem imaging opengl wrapper}
-gem GEMglPopMatrix {gem imaging opengl wrapper}
-gem GEMglPopName {gem imaging opengl wrapper}
-gem GEMglPushAttrib {gem imaging opengl wrapper}
-gem GEMglPushMatrix {gem imaging opengl wrapper}
-gem GEMglPushName {gem imaging opengl wrapper}
-gem GEMglRasterPos2d {gem imaging opengl wrapper}
-gem GEMglRasterPos2dv {gem imaging opengl wrapper}
-gem GEMglRasterPos2f {gem imaging opengl wrapper}
-gem GEMglRasterPos2fv {gem imaging opengl wrapper}
-gem GEMglRasterPos2i {gem imaging opengl wrapper}
-gem GEMglRasterPos2iv {gem imaging opengl wrapper}
-gem GEMglRasterPos2s {gem imaging opengl wrapper}
-gem GEMglRasterPos2sv {gem imaging opengl wrapper}
-gem GEMglRasterPos3d {gem imaging opengl wrapper}
-gem GEMglRasterPos3dv {gem imaging opengl wrapper}
-gem GEMglRasterPos3f {gem imaging opengl wrapper}
-gem GEMglRasterPos3fv {gem imaging opengl wrapper}
-gem GEMglRasterPos3i {gem imaging opengl wrapper}
-gem GEMglRasterPos3iv {gem imaging opengl wrapper}
-gem GEMglRasterPos3s {gem imaging opengl wrapper}
-gem GEMglRasterPos3sv {gem imaging opengl wrapper}
-gem GEMglRasterPos4d {gem imaging opengl wrapper}
-gem GEMglRasterPos4dv {gem imaging opengl wrapper}
-gem GEMglRasterPos4f {gem imaging opengl wrapper}
-gem GEMglRasterPos4fv {gem imaging opengl wrapper}
-gem GEMglRasterPos4i {gem imaging opengl wrapper}
-gem GEMglRasterPos4iv {gem imaging opengl wrapper}
-gem GEMglRasterPos4s {gem imaging opengl wrapper}
-gem GEMglRasterPos4sv {gem imaging opengl wrapper}
-gem GEMglRectd {gem imaging opengl wrapper}
-gem GEMglRectf {gem imaging opengl wrapper}
-gem GEMglRecti {gem imaging opengl wrapper}
-gem GEMglRects {gem imaging opengl wrapper}
-gem GEMglRenderMode {gem imaging opengl wrapper}
-gem GEMglRotated {gem imaging opengl wrapper}
-gem GEMglScaled {gem imaging opengl wrapper}
-gem GEMglScalef {gem imaging opengl wrapper}
-gem GEMglScissor {gem imaging opengl wrapper}
-gem GEMglSelectBuffer {gem imaging opengl wrapper}
-gem GEMglShadeModel {gem imaging opengl wrapper}
-gem GEMglStencilFunc {gem imaging opengl wrapper}
-gem GEMglStencilMask {gem imaging opengl wrapper}
-gem GEMglStencilOp {gem imaging opengl wrapper}
-gem GEMglTexCoord1d {gem imaging opengl wrapper}
-gem GEMglTexCoord1dv {gem imaging opengl wrapper}
-gem GEMglTexCoord1f {gem imaging opengl wrapper}
-gem GEMglTexCoord1i {gem imaging opengl wrapper}
-gem GEMglTexCoord1iv {gem imaging opengl wrapper}
-gem GEMglTexCoord1s {gem imaging opengl wrapper}
-gem GEMglTexCoord1sv {gem imaging opengl wrapper}
-gem GEMglTexCoord2d {gem imaging opengl wrapper}
-gem GEMglTexCoord2dv {gem imaging opengl wrapper}
-gem GEMglTexCoord2f {gem imaging opengl wrapper}
-gem GEMglTexCoord2fv {gem imaging opengl wrapper}
-gem GEMglTexCoord2i {gem imaging opengl wrapper}
-gem GEMglTexCoord2iv {gem imaging opengl wrapper}
-gem GEMglTexCoord2s {gem imaging opengl wrapper}
-gem GEMglTexCoord2sv {gem imaging opengl wrapper}
-gem GEMglTexCoord3d {gem imaging opengl wrapper}
-gem GEMglTexCoord3dv {gem imaging opengl wrapper}
-gem GEMglTexCoord3f {gem imaging opengl wrapper}
-gem GEMglTexCoord3fv {gem imaging opengl wrapper}
-gem GEMglTexCoord3i {gem imaging opengl wrapper}
-gem GEMglTexCoord3iv {gem imaging opengl wrapper}
-gem GEMglTexCoord3s {gem imaging opengl wrapper}
-gem GEMglTexCoord3sv {gem imaging opengl wrapper}
-gem GEMglTexCoord4d {gem imaging opengl wrapper}
-gem GEMglTexCoord4dv {gem imaging opengl wrapper}
-gem GEMglTexCoord4f {gem imaging opengl wrapper}
-gem GEMglTexCoord4fv {gem imaging opengl wrapper}
-gem GEMglTexCoord4i {gem imaging opengl wrapper}
-gem GEMglTexCoord4iv {gem imaging opengl wrapper}
-gem GEMglTexCoord4s {gem imaging opengl wrapper}
-gem GEMglTexCoord4sv {gem imaging opengl wrapper}
-gem GEMglTexEnvf {gem imaging opengl wrapper}
-gem GEMglTexEnvi {gem imaging opengl wrapper}
-gem GEMglTexGend {gem imaging opengl wrapper}
-gem GEMglTexGenf {gem imaging opengl wrapper}
-gem GEMglTexGenfv {gem imaging opengl wrapper}
-gem GEMglTexGeni {gem imaging opengl wrapper}
-gem GEMglTexParameterf {gem imaging opengl wrapper}
-gem GEMglTexParameteri {gem imaging opengl wrapper}
-gem GEMglTranslated {gem imaging opengl wrapper}
-gem GEMglTranslatef {gem imaging opengl wrapper}
-gem GEMglVertex2d {gem imaging opengl wrapper}
-gem GEMglVertex2dv {gem imaging opengl wrapper}
-gem GEMglVertex2f {gem imaging opengl wrapper}
-gem GEMglVertex2fv {gem imaging opengl wrapper}
-gem GEMglVertex2i {gem imaging opengl wrapper}
-gem GEMglVertex2iv {gem imaging opengl wrapper}
-gem GEMglVertex2s {gem imaging opengl wrapper}
-gem GEMglVertex2sv {gem imaging opengl wrapper}
-gem GEMglVertex3d {gem imaging opengl wrapper}
-gem GEMglVertex3dv {gem imaging opengl wrapper}
-gem GEMglVertex3f {gem imaging opengl wrapper}
-gem GEMglVertex3fv {gem imaging opengl wrapper}
-gem GEMglVertex3i {gem imaging opengl wrapper}
-gem GEMglVertex3iv {gem imaging opengl wrapper}
-gem GEMglVertex3s {gem imaging opengl wrapper}
-gem GEMglVertex3sv {gem imaging opengl wrapper}
-gem GEMglVertex4d {gem imaging opengl wrapper}
-gem GEMglVertex4dv {gem imaging opengl wrapper}
-gem GEMglVertex4f {gem imaging opengl wrapper}
-gem GEMglVertex4fv {gem imaging opengl wrapper}
-gem GEMglVertex4i {gem imaging opengl wrapper}
-gem GEMglVertex4iv {gem imaging opengl wrapper}
-gem GEMglVertex4s {gem imaging opengl wrapper}
-gem GEMglVertex4sv {gem imaging opengl wrapper}
-gem GEMglViewport {gem imaging opengl wrapper}
-gem gemhead {controls gem imaging}
-gem gemkeyboard {controls gem imaging}
-gem gemkeyname {controls gem imaging}
-gem gemmouse {controls gem imaging}
-gem gemorb {controls gem imaging}
-gem gemtablet {controls gem imaging}
-gem gemwin {controls gem imaging}
-gem imageVert {gem geos imaging}
-gem light {gem imaging nongeos}
-gem linear_path {gem imaging manipulators}
-gem model {gem geos imaging}
-gem multimodel {gem geos imaging}
-gem newWave {gem geos imaging}
-gem ortho {gem imaging manipulators}
-gem part_color {gem imaging particles}
-gem part_damp {gem imaging particles}
-gem part_draw {gem imaging particles}
-gem part_follow {gem imaging particles}
-gem part_gravity {gem imaging particles}
-gem part_head {gem imaging particles}
-gem part_info {gem imaging particles}
-gem part_killold {gem imaging particles}
-gem part_killslow {gem imaging particles}
-gem part_orbitpoint {gem imaging particles}
-gem part_render {gem imaging particles}
-gem part_size {gem imaging particles}
-gem part_source {gem imaging particles}
-gem part_targetcolor {gem imaging particles}
-gem part_targetsize {gem imaging particles}
-gem part_velocity {gem imaging particles}
-gem part_vertex {gem imaging particles}
-gem pix_2grey {gem imaging pixes}
-gem pix_a_2grey {gem imaging pixes}
-gem pix_add {gem imaging pixes}
-gem pix_aging {gem imaging pixes}
-gem pix_alpha {gem imaging pixes}
-gem pix_background {gem imaging pixes}
-gem pix_backlight {gem imaging pixes}
-gem pix_biquad {gem imaging pixes}
-gem pix_bitmask {gem imaging pixes}
-gem pix_blob {gem imaging pixes}
-gem pix_buf {gem imaging pixes}
-gem pix_buffer {gem imaging pixes}
-gem pix_buffer_read {gem imaging pixes}
-gem pix_buffer_write {gem imaging pixes}
-gem pix_chroma_key {gem imaging pixes}
-gem pix_color {gem imaging pixes}
-gem pix_coloralpha {gem imaging pixes}
-gem pix_colormatrix {gem imaging pixes}
-gem pix_colorreduce {gem imaging pixes}
-gem pix_composite {gem imaging pixes}
-gem pix_convolve {gem imaging pixes}
-gem pix_coordinate {gem imaging pixes}
-gem pix_crop {gem imaging pixes}
-gem pix_curve {gem imaging pixes}
-gem pix_data {gem imaging pixes}
-gem pix_delay {gem imaging pixes}
-gem pix_diff {gem imaging pixes}
-gem pix_dot {gem imaging pixes}
-gem pix_draw {gem imaging pixes}
-gem pix_dump {gem imaging pixes}
-gem pix_duotone {gem imaging pixes}
-gem pix_film {gem imaging pixes}
-gem pix_flip {gem imaging pixes}
-gem pix_gain {gem imaging pixes}
-gem pix_grey {gem imaging pixes}
-gem pix_halftone {gem imaging pixes}
-gem pix_histo {gem imaging pixes}
-gem pix_hsv2rgb {gem imaging pixes}
-gem pix_image {gem imaging pixes}
-gem pix_imageInPlace {gem imaging pixes}
-gem pix_info {gem imaging pixes}
-gem pix_invert {gem imaging pixes}
-gem pix_kaleidoscope {gem imaging pixes}
-gem pix_levels {gem imaging pixes}
-gem pix_lumaoffset {gem imaging pixes}
-gem pix_mask {gem imaging pixes}
-gem pix_metaimage {gem imaging pixes}
-gem pix_mix {gem imaging pixes}
-gem pix_motionblur {gem imaging pixes}
-gem pix_movement {gem imaging pixes}
-gem pix_movie {gem imaging pixes}
-gem pix_multiimage {gem imaging pixes}
-gem pix_multiply {gem imaging pixes}
-gem pix_normalize {gem imaging pixes}
-gem pix_offset {gem imaging pixes}
-gem pix_pix2sig~ {gem imaging pixes}
-gem pix_posterize {gem imaging pixes}
-gem pix_puzzle {gem imaging pixes}
-gem pix_rds {gem imaging pixes}
-gem pix_rectangle {gem imaging pixes}
-gem pix_refraction {gem imaging pixes}
-gem pix_resize {gem imaging pixes}
-gem pix_rgb2hsv {gem imaging pixes}
-gem pix_rgba {gem imaging pixes}
-gem pix_roll {gem imaging pixes}
-gem pix_rtx {gem imaging pixes}
-gem pix_scanline {gem imaging pixes}
-gem pix_set {gem imaging pixes}
-gem pix_sig2pix~ {gem imaging pixes}
-gem pix_snap {gem imaging pixes}
-gem pix_snap2tex {gem imaging pixes}
-gem pix_subtract {gem imaging pixes}
-gem pix_takealpha {gem imaging pixes}
-gem pix_texture {gem imaging pixes}
-gem pix_threshold {gem imaging pixes}
-gem pix_tIIR {gem imaging pixes}
-gem pix_video {gem imaging pixes}
-gem pix_write {gem imaging pixes}
-gem pix_zoom {gem imaging pixes}
-gem polygon {gem geos imaging}
-gem polygon_smooth {gem imaging manipulators}
-gem primTri {gem geos imaging}
-gem rectangle {gem geos imaging}
-gem ripple {gem geos imaging}
-gem rotate {gem imaging manipulators}
-gem rotateXYZ {gem imaging manipulators}
-gem rubber {gem geos imaging}
-gem scale {gem imaging manipulators}
-gem scaleXYZ {gem imaging manipulators}
-gem separator {gem imaging manipulators}
-gem shininess {gem imaging manipulators}
-gem slideSquare {gem geos imaging}
-gem specular {gem imaging manipulators}
-gem specularRGB {gem imaging manipulators}
-gem sphere {gem geos imaging}
-gem spline_path {gem imaging manipulators}
-gem square {gem geos imaging}
-gem teapot {gem geos imaging}
-gem text2d {gem geos imaging}
-gem text3d {gem geos imaging}
-gem textextruded {gem geos imaging}
-gem textoutline {gem geos imaging}
-gem translate {gem imaging manipulators}
-gem translateXYZ {gem imaging manipulators}
-gem triangle {gem geos imaging}
-gem world_light {gem imaging nongeos}
-ggee atan2~ {audio ggee math}
-ggee atan2~ {audio ggee math}
-ggee bandpass {ggee unsorted}
-ggee button {ggee unsorted}
-ggee envgen {ggee unsorted}
-ggee envgen {ggee storage tables}
-ggee equalizer {ggee unsorted}
-ggee {exp~ log~} {audio ggee math}
-ggee gcanvas {ggee unsorted}
-ggee getdir {ggee unsorted}
-ggee highpass {ggee unsorted}
-ggee hlshelf {ggee unsorted}
-ggee image {ggee unsorted}
-ggee lowpass {ggee unsorted}
-ggee lowshelf {ggee unsorted}
-ggee mixer~ {ggee unsorted}
-ggee moog~ {ggee unsorted}
-ggee notch {ggee unsorted}
-ggee prepent {control ggee glue shortcut}
-ggee rtout {ggee misc}
-ggee scrolllist {control ggee glue}
-ggee serialctl {ggee unsorted}
-ggee serialize {ggee unsorted}
-ggee serialize {control ggee glue}
-ggee sfwrite~ {ggee unsorted}
-ggee shell {ggee unsorted}
-ggee silderh {ggee unsorted}
-ggee sinh {ggee misc}
-ggee slider {control ggee glue}
-ggee slider {ggee unsorted}
-ggee state {control ggee glue}
-ggee stk {ggee unsorted}
-ggee streamin~ {ggee unsorted}
-ggee streamout~ {ggee unsorted}
-ggee stripdir {ggee misc}
-ggee stripdir {ggee unsorted}
-ggee ticker {control ggee glue}
-ggee ticker {ggee unsorted}
-ggee toddle {control ggee glue}
-ggee toddle {ggee unsorted}
-ggee unwonk {control ggee glue}
-ggee vbap {ggee misc}
-ggee vbap {ggee unsorted}
-ggee wintablet {ggee misc}
-hardware lanbox {hardware unsorted}
-hardware memPIO {hardware unsorted}
-hardware multio {hardware unsorted}
-hcs ascii0x2d0x3eint {hcs unsorted}
-hcs autoscale {hcs unsorted}
-hcs blocksize_in_ms {hcs unsorted}
-hcs classpath {hcs unsorted}
-hcs cursor {hcs unsorted}
-hcs debounce {hcs unsorted}
-hcs file_type {hcs unsorted}
-hcs float0x2d0x3eascii {hcs unsorted}
-hcs folder_list {hcs unsorted}
-hcs gid0x2d0x3egroup_name {hcs unsorted}
-hcs group {hcs unsorted}
-hcs group_name0x2d0x3egid {hcs unsorted}
-hcs hostname {hcs unsorted}
-hcs ifeel {hcs unsorted}
-hcs import {hcs unsorted}
-hcs ISOdate {hcs unsorted}
-hcs ISOtime {hcs unsorted}
-hcs passwd {hcs unsorted}
-hcs pi {hcs unsorted}
-hcs pwm {hcs unsorted}
-hcs pwm~ {hcs unsorted}
-hcs split_my_msgs {hcs unsorted}
-hcs split_path {hcs unsorted}
-hcs stat {hcs unsorted}
-hcs uid0x2d0x3eusername {hcs unsorted}
-hcs uname {hcs unsorted}
-hcs username0x2d0x3euid {hcs unsorted}
-hcs version {hcs unsorted}
-hid buttongate {hid unsorted}
-hid deg2hid {hid unsorted}
-hid ev_ff_status {hid unsorted}
-hid hid {hid unsorted}
-hid hid_average {hid unsorted}
-hid hid_centered {hid unsorted}
-hid hid_cube {hid unsorted}
-hid hid_cuberoot {hid unsorted}
-hid hid_exp {hid unsorted}
-hid hid_graph {hid unsorted}
-hid hid_invert {hid unsorted}
-hid hid_log {hid unsorted}
-hid hid_lowpass {hid unsorted}
-hid hid_menu {hid unsorted}
-hid hid_one2four {hid unsorted}
-hid hid_one2three {hid unsorted}
-hid hid_one2two {hid unsorted}
-hid hid_polar {hid unsorted}
-hid hid_rel2abs {hid unsorted}
-hid hid_smooth {hid unsorted}
-hid hid_spiral {hid unsorted}
-hid hid_square {hid unsorted}
-hid hid_squareroot {hid unsorted}
-hid hid2deg {hid unsorted}
-hid hid2rad {hid unsorted}
-hid joystick {hid unsorted}
-hid keyboard {hid unsorted}
-hid keygate {hid unsorted}
-hid mouse {hid unsorted}
-hid notescale {hid unsorted}
-hid rad2hid {hid unsorted}
-iem_ambi ambi_decode3 {iem_ambi unsorted}
-iem_ambi ambi_encode {iem_ambi unsorted}
-iem_ambi ambi_rot {iem_ambi unsorted}
-iem_bin_ambi ambi_reduced_decode_fft2 {iem_bin_ambi unsorted}
-iem_bin_ambi ambi_reduced_decode_fir2 {iem_bin_ambi unsorted}
-iemgui knob {control glue iemgui}
-iemlib 1p1z {control float glue iemlib operating}
-iemlib add2_comma {iemlib misc}
-iemlib addl~ {arithmetic audio iemlib math signals}
-iemlib any {control glue iemlib}
-iemlib ap1~ {audio filters iemlib}
-iemlib ap2~ {audio filters iemlib}
-iemlib bng {gui iemlib}
-iemlib bpe {iemlib misc}
-iemlib bpq2~ {audio filters iemlib}
-iemlib bpw2~ {audio filters iemlib}
-iemlib bsq2~ {audio filters iemlib}
-iemlib bsw2~ {audio filters iemlib}
-iemlib cnv {gui iemlib}
-iemlib db2v {control float glue iemlib operating}
-iemlib dbtofad {control conversion float glue iemlib operating}
-iemlib default {control iemlib init}
-iemlib divl~ {arithmetic audio iemlib math signals}
-iemlib dollarg {control iemlib init}
-iemlib dsp {control iemlib init}
-iemlib exp_inc {control iemlib time}
-iemlib f2note {iemlib misc}
-iemlib fade~ {audio iemlib misc}
-iemlib fadtodb {control conversion float glue iemlib operating}
-iemlib fadtorms {control conversion float glue iemlib operating}
-iemlib {filter~ } {audio filters iemlib}
-iemlib FIR~ {audio filters iemlib}
-iemlib float24 {control iemlib init}
-iemlib for++ {control iemlib time}
-iemlib gate {iemlib misc}
-iemlib hdl {gui iemlib}
-iemlib hml_shelf~ {audio filters iemlib}
-iemlib hp1~ {audio filters iemlib}
-iemlib hp10_bess~ {audio filters iemlib}
-iemlib hp10_butt~ {audio filters iemlib}
-iemlib hp10_cheb~ {audio filters iemlib}
-iemlib hp10_crit~ {audio filters iemlib}
-iemlib hp2_bess~ {audio filters iemlib}
-iemlib hp2_butt~ {audio filters iemlib}
-iemlib hp2_cheb~ {audio filters iemlib}
-iemlib hp2_crit~ {audio filters iemlib}
-iemlib hp2~ {audio filters iemlib}
-iemlib hp3_bess~ {audio filters iemlib}
-iemlib hp3_butt~ {audio filters iemlib}
-iemlib hp3_cheb~ {audio filters iemlib}
-iemlib hp3_crit~ {audio filters iemlib}
-iemlib hp4_bess~ {audio filters iemlib}
-iemlib hp4_butt~ {audio filters iemlib}
-iemlib hp4_cheb~ {audio filters iemlib}
-iemlib hp4_crit~ {audio filters iemlib}
-iemlib hp5_bess~ {audio filters iemlib}
-iemlib hp5_butt~ {audio filters iemlib}
-iemlib hp5_cheb~ {audio filters iemlib}
-iemlib hp5_crit~ {audio filters iemlib}
-iemlib hp6_bess~ {audio filters iemlib}
-iemlib hp6_butt~ {audio filters iemlib}
-iemlib hp6_cheb~ {audio filters iemlib}
-iemlib hp6_crit~ {audio filters iemlib}
-iemlib hp7_bess~ {audio filters iemlib}
-iemlib hp7_butt~ {audio filters iemlib}
-iemlib hp7_cheb~ {audio filters iemlib}
-iemlib hp7_crit~ {audio filters iemlib}
-iemlib hp8_bess~ {audio filters iemlib}
-iemlib hp8_butt~ {audio filters iemlib}
-iemlib hp8_cheb~ {audio filters iemlib}
-iemlib hp8_crit~ {audio filters iemlib}
-iemlib hp9_bess~ {audio filters iemlib}
-iemlib hp9_butt~ {audio filters iemlib}
-iemlib hp9_cheb~ {audio filters iemlib}
-iemlib hp9_crit~ {audio filters iemlib}
-iemlib hradio {gui iemlib}
-iemlib hsl {gui iemlib}
-iemlib iem_append {control glue iemlib}
-iemlib iem_blocksize~ {audio iemlib misc}
-iemlib iem_i_route {iemlib misc}
-iemlib iem_pbank_csv {control glue handling iemlib parameter}
-iemlib iem_prepend {control glue iemlib}
-iemlib iem_receive {iemlib misc}
-iemlib iem_route {iemlib misc}
-iemlib iem_samplerate~ {audio iemlib misc}
-iemlib iem_sel_any {iemlib misc}
-iemlib iem_send {iemlib misc}
-iemlib init {control iemlib init}
-iemlib int_fract~ {audio iemlib misc}
-iemlib LFO_noise~ {audio iemlib misc}
-iemlib list2send {control glue handling iemlib parameter}
-iemlib lp1_t~ {audio filters iemlib}
-iemlib lp1~ {audio filters iemlib}
-iemlib lp10_bess~ {audio filters iemlib}
-iemlib lp10_butt~ {audio filters iemlib}
-iemlib lp10_cheb~ {audio filters iemlib}
-iemlib lp10_crit~ {audio filters iemlib}
-iemlib lp2_bess~ {audio filters iemlib}
-iemlib lp2_butt~ {audio filters iemlib}
-iemlib lp2_cheb~ {audio filters iemlib}
-iemlib lp2_crit~ {audio filters iemlib}
-iemlib lp2~ {audio filters iemlib}
-iemlib lp3_bess~ {audio filters iemlib}
-iemlib lp3_butt~ {audio filters iemlib}
-iemlib lp3_cheb~ {audio filters iemlib}
-iemlib lp3_crit~ {audio filters iemlib}
-iemlib lp4_bess~ {audio filters iemlib}
-iemlib lp4_butt~ {audio filters iemlib}
-iemlib lp4_cheb~ {audio filters iemlib}
-iemlib lp4_crit~ {audio filters iemlib}
-iemlib lp5_bess~ {audio filters iemlib}
-iemlib lp5_butt~ {audio filters iemlib}
-iemlib lp5_cheb~ {audio filters iemlib}
-iemlib lp5_crit~ {audio filters iemlib}
-iemlib lp6_bess~ {audio filters iemlib}
-iemlib lp6_butt~ {audio filters iemlib}
-iemlib lp6_cheb~ {audio filters iemlib}
-iemlib lp6_crit~ {audio filters iemlib}
-iemlib lp7_bess~ {audio filters iemlib}
-iemlib lp7_butt~ {audio filters iemlib}
-iemlib lp7_cheb~ {audio filters iemlib}
-iemlib lp7_crit~ {audio filters iemlib}
-iemlib lp8_bess~ {audio filters iemlib}
-iemlib lp8_butt~ {audio filters iemlib}
-iemlib lp8_cheb~ {audio filters iemlib}
-iemlib lp8_crit~ {audio filters iemlib}
-iemlib lp9_bess~ {audio filters iemlib}
-iemlib lp9_butt~ {audio filters iemlib}
-iemlib lp9_cheb~ {audio filters iemlib}
-iemlib lp9_crit~ {audio filters iemlib}
-iemlib maverage~ {audio filters iemlib}
-iemlib mergefilename {control glue iemlib operating symbol}
-iemlib modulo_counter {control iemlib time}
-iemlib mp3play~ {audio iemlib misc}
-iemlib mull~ {arithmetic audio iemlib math signals}
-iemlib nbx {gui iemlib}
-iemlib once {control iemlib init}
-iemlib para_bp2~ {audio filters iemlib}
-iemlib peakenv~ {audio iemlib misc}
-iemlib pink~ {audio iemlib misc}
-iemlib post_netreceive {iemlib obsolete}
-iemlib pre_inlet {iemlib misc}
-iemlib pre_netsend {iemlib obsolete}
-iemlib prepend_ascii {iemlib misc}
-iemlib prvu~ {audio converters iemlib}
-iemlib pvu~ {audio converters iemlib}
-iemlib rbpq2~ {audio filters iemlib}
-iemlib rbpw2~ {audio filters iemlib}
-iemlib receive2list {control glue handling iemlib parameter}
-iemlib rmstofad {control conversion float glue iemlib operating}
-iemlib round_zero {control float glue iemlib operating}
-iemlib round~ {audio iemlib misc}
-iemlib rvu~ {audio converters iemlib}
-iemlib sin_phase~ {audio iemlib misc}
-iemlib soundfile_info {iemlib misc}
-iemlib speedlim {control float glue iemlib operating}
-iemlib split {control float glue iemlib operating}
-iemlib split3 {control float glue iemlib operating}
-iemlib splitfilename {control glue iemlib operating symbol}
-iemlib stripfilename {control glue iemlib operating symbol}
-iemlib subl~ {arithmetic audio iemlib math signals}
-iemlib t3_bpe {control iemlib time}
-iemlib t3_delay {control iemlib time}
-iemlib t3_line~ {audio iemlib time trigger}
-iemlib t3_metro {control iemlib time}
-iemlib t3_sig~ {audio iemlib time trigger}
-iemlib t3_timer {control iemlib time}
-iemlib tgl {gui iemlib}
-iemlib toggle_mess {iemlib misc}
-iemlib transf_fader {control float glue iemlib operating}
-iemlib unsig~ {audio converters iemlib}
-iemlib unsymbol {control glue iemlib operating symbol}
-iemlib v2db {control float glue iemlib operating}
-iemlib vcf_bp2~ {audio filters iemlib}
-iemlib vcf_bp4~ {audio filters iemlib}
-iemlib vcf_bp6~ {audio filters iemlib}
-iemlib vcf_bp8~ {audio filters iemlib}
-iemlib vcf_hp2~ {audio filters iemlib}
-iemlib vcf_hp4~ {audio filters iemlib}
-iemlib vcf_hp6~ {audio filters iemlib}
-iemlib vcf_hp8~ {audio filters iemlib}
-iemlib vcf_lp2~ {audio filters iemlib}
-iemlib vcf_lp4~ {audio filters iemlib}
-iemlib vcf_lp6~ {audio filters iemlib}
-iemlib vcf_lp8~ {audio filters iemlib}
-iemlib vcf_rbp2~ {audio filters iemlib}
-iemlib vcf_rbp4~ {audio filters iemlib}
-iemlib vcf_rbp6~ {audio filters iemlib}
-iemlib vcf_rbp8~ {audio filters iemlib}
-iemlib vdl {gui iemlib}
-iemlib vradio {gui iemlib}
-iemlib vsl {gui iemlib}
-iemlib vu {gui iemlib}
-iemlib wrap {control float glue iemlib operating}
-jasch_lib _ {jasch_lib unsorted}
-jasch_lib detox {connectivity html jasch_lib xml}
-jmmmp -dsp {jmmmp unsorted}
-jmmmp bcf2000 {jmmmp unsorted}
-jmmmp clock {jmmmp unsorted}
-jmmmp datei-l {jmmmp unsorted}
-jmmmp datei-o {jmmmp unsorted}
-jmmmp datei-r {jmmmp unsorted}
-jmmmp datei-w {jmmmp unsorted}
-jmmmp dsp01 {jmmmp unsorted}
-jmmmp f+ {jmmmp unsorted}
-jmmmp file {jmmmp unsorted}
-jmmmp lbang {jmmmp unsorted}
-jmmmp m-i {jmmmp unsorted}
-jmmmp maat~ {jmmmp unsorted}
-jmmmp mat~ {jmmmp unsorted}
-jmmmp met~ {jmmmp unsorted}
-jmmmp metrum {jmmmp unsorted}
-jmmmp mk {jmmmp unsorted}
-jmmmp oscD {jmmmp unsorted}
-jmmmp oscS {jmmmp unsorted}
-jmmmp snaps~ {jmmmp unsorted}
-jmmmp stoppuhr {jmmmp unsorted}
-jmmmp tastin {jmmmp unsorted}
-keyboardkeys keybang {keyboardkeys unsorted}
-keyboardkeys keytoggle {keyboardkeys unsorted}
-keyboardkeys keyupdown {keyboardkeys unsorted}
-la-kitchen amplitude_n {la-kitchen unsorted}
-la-kitchen autocal {la-kitchen unsorted}
-la-kitchen catch_extremum {la-kitchen unsorted}
-la-kitchen catch_extremum2 {la-kitchen unsorted}
-la-kitchen change_n {la-kitchen unsorted}
-la-kitchen count_n {la-kitchen unsorted}
-la-kitchen debounce {la-kitchen unsorted}
-la-kitchen debounce_b {la-kitchen unsorted}
-la-kitchen fir_filter {la-kitchen unsorted}
-la-kitchen fir_hip_n {la-kitchen unsorted}
-la-kitchen fir_mean_n {la-kitchen unsorted}
-la-kitchen iir_hip {la-kitchen unsorted}
-la-kitchen iir_lop {la-kitchen unsorted}
-la-kitchen last_n {la-kitchen unsorted}
-la-kitchen last_n_matrix {la-kitchen unsorted}
-la-kitchen list2matcol {la-kitchen unsorted}
-la-kitchen max_n {la-kitchen unsorted}
-la-kitchen min_n {la-kitchen unsorted}
-la-kitchen one_n {la-kitchen unsorted}
-la-kitchen seuil_n {la-kitchen unsorted}
-la-kitchen zero_n {la-kitchen unsorted}
-list-abs compare-any {list-abs unsorted}
-list-abs last-x {list-abs testtag unsorted}
-list-abs list-abs {list-abs unsorted}
-list-abs list-accum {list-abs unsorted}
-list-abs list-add {list-abs unsorted}
-list-abs list-apply {list-abs unsorted}
-list-abs list-centroid {list-abs unsorted}
-list-abs list-clip {list-abs unsorted}
-list-abs list-compare {list-abs unsorted}
-list-abs list-delete {list-abs unsorted}
-list-abs list-dotprod {list-abs unsorted}
-list-abs list-drip {list-abs unsorted}
-list-abs list-dripslow {list-abs unsorted}
-list-abs list-emath {list-abs unsorted}
-list-abs list-enumerate {list-abs unsorted}
-list-abs list-equalize {list-abs unsorted}
-list-abs list-extend {list-abs unsorted}
-list-abs list-fifo {list-abs unsorted}
-list-abs list-filter {list-abs unsorted}
-list-abs list-find {list-abs unsorted}
-list-abs list-geometric-mean {list-abs unsorted}
-list-abs list-harmonic-mean {list-abs unsorted}
-list-abs list-idx {list-abs unsorted}
-list-abs list-insert {list-abs unsorted}
-list-abs list-inter {list-abs unsorted}
-list-abs list-inter-many {list-abs unsorted}
-list-abs list-l2s {list-abs unsorted}
-list-abs list-lastx {list-abs unsorted}
-list-abs list-len {list-abs unsorted}
-list-abs list-lifo {list-abs unsorted}
-list-abs list-makefilename {list-abs unsorted}
-list-abs list-map {list-abs unsorted}
-list-abs list-map2 {list-abs unsorted}
-list-abs list-math {list-abs unsorted}
-list-abs list-mean {list-abs unsorted}
-list-abs list-minmax {list-abs unsorted}
-list-abs list-moses {list-abs unsorted}
-list-abs list-mult {list-abs unsorted}
-list-abs list-normalize {list-abs unsorted}
-list-abs list-onearg {list-abs unsorted}
-list-abs list-reduce {list-abs unsorted}
-list-abs list-replace {list-abs unsorted}
-list-abs list-rev {list-abs unsorted}
-list-abs list-rot {list-abs unsorted}
-list-abs list-round {list-abs unsorted}
-list-abs list-seek {list-abs unsorted}
-list-abs list-sieve {list-abs unsorted}
-list-abs list-splat {list-abs unsorted}
-list-abs list-sub {list-abs unsorted}
-list-abs list-tabdump {list-abs unsorted}
-list-abs list-unitvec {list-abs unsorted}
-list-abs OSCprepend {list-abs unsorted}
-list-abs prepent {list-abs unsorted}
-list-abs sroute {list-abs unsorted}
-list-abs take-two {list-abs unsorted}
-list-abs triple-scale {list-abs unsorted}
-mapping amplitude_n {mapping unsorted}
-mapping autoscale {mapping unsorted}
-mapping breakpoint {mapping unsorted}
-mapping buttongate {mapping unsorted}
-mapping bytemask {mapping unsorted}
-mapping correlation {mapping unsorted}
-mapping curve {mapping unsorted}
-mapping curve_exp {mapping unsorted}
-mapping curve_fade {mapping unsorted}
-mapping curve_graph {mapping unsorted}
-mapping curve_log {mapping unsorted}
-mapping debounce {mapping unsorted}
-mapping debytemask {mapping unsorted}
-mapping degrees0x2d0x3emapping {mapping unsorted}
-mapping delay_n {mapping unsorted}
-mapping desegment {mapping unsorted}
-mapping desegment12 {mapping unsorted}
-mapping desegment3 {mapping unsorted}
-mapping desegment4 {mapping unsorted}
-mapping diff_n {mapping unsorted}
-mapping disjoin {mapping unsorted}
-mapping distance {mapping unsorted}
-mapping distance_n {mapping unsorted}
-mapping distance2d {mapping unsorted}
-mapping downsample {mapping unsorted}
-mapping env {mapping unsorted}
-mapping env- {mapping unsorted}
-mapping env+ {mapping unsorted}
-mapping fir {mapping unsorted}
-mapping gaussian {mapping unsorted}
-mapping hysteresis {mapping unsorted}
-mapping iir {mapping unsorted}
-mapping join {mapping unsorted}
-mapping keygate {mapping unsorted}
-mapping last_n {mapping unsorted}
-mapping listto {mapping unsorted}
-mapping local_max {mapping unsorted}
-mapping local_min {mapping unsorted}
-mapping lop {mapping unsorted}
-mapping mapping0x2d0x3edegrees {mapping unsorted}
-mapping mapping0x2d0x3eradians {mapping unsorted}
-mapping max_n {mapping unsorted}
-mapping mean_n {mapping unsorted}
-mapping median {mapping unsorted}
-mapping median_3 {mapping unsorted}
-mapping median_5 {mapping unsorted}
-mapping median_7 {mapping unsorted}
-mapping median_n {mapping unsorted}
-mapping min_n {mapping unsorted}
-mapping multi_slider {mapping unsorted}
-mapping nl {mapping unsorted}
-mapping notescale {mapping unsorted}
-mapping oscillo {mapping unsorted}
-mapping pmfilter {mapping unsorted}
-mapping pmfilter_2d {mapping unsorted}
-mapping pmfilter_3d {mapping unsorted}
-mapping pmstring_1d {mapping unsorted}
-mapping polar {mapping unsorted}
-mapping radians0x2d0x3emapping {mapping unsorted}
-mapping resample {mapping unsorted}
-mapping reverse {mapping unsorted}
-mapping rnd-stat {mapping unsorted}
-mapping segment {mapping unsorted}
-mapping segment4 {mapping unsorted}
-mapping sinusoid {mapping unsorted}
-mapping spiral {mapping unsorted}
-mapping split_n {mapping unsorted}
-mapping stepper {mapping unsorted}
-mapping stepper12 {mapping unsorted}
-mapping stepper24 {mapping unsorted}
-mapping stream_check {mapping unsorted}
-mapping test_n {mapping unsorted}
-mapping timeroll {mapping unsorted}
-mapping tolist {mapping unsorted}
-mapping upsample {mapping unsorted}
-mapping wave {mapping unsorted}
-mapping wave_loop {mapping unsorted}
-markex abs~ {markex unsorted}
-markex alternate {markex unsorted}
-markex average {markex unsorted}
-markex change {markex unsorted}
-markex counter {markex unsorted}
-markex hsv2rgb {markex unsorted}
-markex invert {markex unsorted}
-markex multiselect {markex unsorted}
-markex oneshot {markex unsorted}
-markex randomF {markex unsorted}
-markex reson~ {markex unsorted}
-markex rgb2hsv {markex unsorted}
-markex strcat {markex unsorted}
-markex tripleLine {markex unsorted}
-markex tripleRand {markex unsorted}
-markex vector- {markex unsorted}
-markex vector* {markex unsorted}
-markex vector/ {markex unsorted}
-markex vector+ {markex unsorted}
-markex vectorpack {markex unsorted}
-maxlib allow {control glue maxlib}
-maxlib arbran {math maxlib}
-maxlib arraycopy {buffer maxlib storage}
-maxlib average {math maxlib}
-maxlib beat {analysis audio maxlib}
-maxlib beta {generators math maxlib number random}
-maxlib bilex {generators math maxlib number random}
-maxlib borax {analysis audio maxlib}
-maxlib cauchy {generators math maxlib number random}
-maxlib chord {analysis audio maxlib}
-maxlib delta {math maxlib}
-maxlib dist {connectivity control maxlib misc network remote}
-maxlib divide {math maxlib}
-maxlib divmod {math maxlib}
-maxlib edge {analysis audio maxlib}
-maxlib expo {generators math maxlib number random}
-maxlib fifo {buffer maxlib storage}
-maxlib gauss {generators math maxlib number random}
-maxlib gestalt {analysis audio maxlib}
-maxlib history {math maxlib}
-maxlib ignore {control maxlib time}
-maxlib iso {control maxlib time}
-maxlib lifo {buffer maxlib storage}
-maxlib limit {maxlib unsorted}
-maxlib linear {generators math maxlib number random}
-maxlib listfifo {buffer maxlib storage}
-maxlib listfunnel {edit list maxlib storage}
-maxlib match {math maxlib}
-maxlib minus {math maxlib}
-maxlib mlife {maxlib misc other/experimental}
-maxlib multi {math maxlib}
-maxlib nchange {control glue maxlib}
-maxlib netclient {connectivity control maxlib misc network remote}
-maxlib netdist {connectivity control maxlib misc network remote}
-maxlib netrec {connectivity control maxlib misc network remote}
-maxlib netserver {connectivity control maxlib misc network remote}
-maxlib nroute {control glue maxlib}
-maxlib pitch {analysis audio maxlib}
-maxlib plus {math maxlib}
-maxlib poisson {generators math maxlib number random}
-maxlib pong {control maxlib time}
-maxlib pulse {control maxlib time}
-maxlib remote {connectivity control maxlib misc network remote}
-maxlib rewrap {math maxlib}
-maxlib rythm {analysis audio maxlib}
-maxlib scale {math maxlib}
-maxlib score {analysis audio maxlib}
-maxlib speedlim {control maxlib time}
-maxlib split {checking control glue maxlib routing}
-maxlib step {control maxlib time}
-maxlib subst {maxlib misc other/experimental}
-maxlib sync {control maxlib time}
-maxlib temperature {control maxlib time}
-maxlib tilt {analysis audio maxlib}
-maxlib timebang {control maxlib time}
-maxlib unroute {control glue maxlib}
-maxlib urn {math maxlib}
-maxlib velocity {control maxlib time}
-maxlib weibull {math maxlib}
-maxlib wrap {math maxlib}
-memento careGUI {memento unsorted}
-memento careOSC {memento unsorted}
-memento commun {memento unsorted}
-memento originator {memento unsorted}
-mjlib {# about} {math mjlib}
-mjlib marimba~ {and audio mjlib oscillators tables}
-mjlib metroplus {control mjlib time}
-mjlib monorhythm {control mjlib time}
-mjlib n2m {math mjlib}
-mjlib pin~ {audio filters mjlib}
-mjlib prob {control mjlib time}
-motex getenv {misc motex}
-motex ln~ {audio math motex}
-motex pan~ {audio filters motex}
-motex pansig~ {audio filters motex}
-motex pol2rec~ {audio math motex}
-motex polygate~ {audio glue motex}
-motex rec2pol~ {audio math motex}
-motex shuffle {math motex}
-motex system {misc motex}
-mrpeach midifile {mrpeach unsorted}
-mrpeach packOSC {mrpeach unsorted}
-mrpeach routeOSC {mrpeach unsorted}
-mrpeach sqosc~ {mrpeach unsorted}
-mrpeach tcpclient {mrpeach unsorted}
-mrpeach tcpreceive {mrpeach unsorted}
-mrpeach tcpsend {mrpeach unsorted}
-mrpeach tcpserver {mrpeach unsorted}
-mrpeach udpreceive {mrpeach unsorted}
-mrpeach udpsend {mrpeach unsorted}
-nqpoly~ nqpoly~ {nqpoly~ unsorted}
-nqpoly4 nqpoly4 {nqpoly4 unsorted}
-nusmuk additive {nusmuk unsorted}
-nusmuk between {nusmuk unsorted}
-nusmuk distortion {nusmuk unsorted}
-nusmuk lfo {nusmuk unsorted}
-nusmuk many_bang {nusmuk unsorted}
-nusmuk oscillo {nusmuk unsorted}
-nusmuk rnd_metro {nusmuk unsorted}
-nusmuk spatialisation {nusmuk unsorted}
-oscx dumpOSC {connectivity osc oscx}
-oscx OSC {connectivity osc oscx}
-oscx OSCroute {connectivity osc oscx}
-oscx sendOSC {connectivity osc oscx}
-pan equal_power_pan~ {pan unsorted}
-pan gogins_pan~ {pan unsorted}
-pan gpan~ {pan unsorted}
-pan linear_pan~ {pan unsorted}
-pan square_root_pan~ {pan unsorted}
-pd-lib - {math pd-lib}
-pd-lib -~ {audio math pd-lib}
-pd-lib != {math pd-lib}
-pd-lib * {math pd-lib}
-pd-lib *~ {audio math pd-lib}
-pd-lib / {math pd-lib}
-pd-lib /~ {audio math pd-lib}
-pd-lib & {math pd-lib}
-pd-lib && {math pd-lib}
-pd-lib % {math pd-lib}
-pd-lib + {math pd-lib}
-pd-lib +~ {audio math pd-lib}
-pd-lib < {math pd-lib}
-pd-lib << {math pd-lib}
-pd-lib <= {math pd-lib}
-pd-lib == {math pd-lib}
-pd-lib > {math pd-lib}
-pd-lib >= {math pd-lib}
-pd-lib >> {math pd-lib}
-pd-lib | {math pd-lib}
-pd-lib || {math pd-lib}
-pd-lib abs {math pd-lib}
-pd-lib adc~ {audio glue pd-lib}
-pd-lib append {accessing data gui pd-lib}
-pd-lib atan {math pd-lib}
-pd-lib atan2 {math pd-lib}
-pd-lib bag {misc pd-lib}
-pd-lib bang {control glue pd-lib}
-pd-lib bang~ {audio glue pd-lib}
-pd-lib bendin {connectivity midi pd-lib}
-pd-lib bendout {connectivity midi pd-lib}
-pd-lib biquad~ {audio filters pd-lib}
-pd-lib block~ {audio glue pd-lib}
-pd-lib bp~ {audio filters pd-lib}
-pd-lib catch~ {audio glue pd-lib}
-pd-lib change {control glue pd-lib}
-pd-lib clip~ {audio math pd-lib}
-pd-lib cos {math pd-lib}
-pd-lib cos~ {and audio oscillators pd-lib tables}
-pd-lib cpole~ {audio filters pd-lib}
-pd-lib cputime {control pd-lib time}
-pd-lib ctlin {connectivity midi pd-lib}
-pd-lib ctlout {connectivity midi pd-lib}
-pd-lib czero_rev~ {audio filters pd-lib}
-pd-lib czero~ {audio filters pd-lib}
-pd-lib dac~ {audio glue pd-lib}
-pd-lib dbtopow {conversion math pd-lib}
-pd-lib dbtopow~ {audio conversion math pd-lib}
-pd-lib dbtorms {conversion math pd-lib}
-pd-lib dbtorms~ {audio conversion math pd-lib}
-pd-lib declare {misc pd-lib}
-pd-lib delay {control pd-lib time}
-pd-lib delread~ {audio delay pd-lib}
-pd-lib delwrite~ {audio delay pd-lib}
-pd-lib div {math pd-lib}
-pd-lib drawcurve {data gui pd-lib templates}
-pd-lib drawnumber {data gui pd-lib templates}
-pd-lib drawpolygon {data gui pd-lib templates}
-pd-lib element {accessing data gui pd-lib}
-pd-lib env~ {audio filters pd-lib}
-pd-lib exp {math pd-lib}
-pd-lib fft~ {audio math pd-lib}
-pd-lib filledcurve {data gui pd-lib templates}
-pd-lib filledpolygon {data gui pd-lib templates}
-pd-lib float {control glue pd-lib}
-pd-lib framp~ {audio math pd-lib}
-pd-lib ftom {conversion math midi pd-lib}
-pd-lib ftom~ {audio conversion math midi pd-lib}
-pd-lib get {accessing data gui pd-lib}
-pd-lib getsize {accessing data gui pd-lib}
-pd-lib hip~ {audio filters pd-lib}
-pd-lib ifft~ {audio math pd-lib}
-pd-lib inlet {control pd-lib subwindows}
-pd-lib inlet~ {control pd-lib subwindows}
-pd-lib int {control glue pd-lib}
-pd-lib key {misc pd-lib}
-pd-lib keyname {misc pd-lib}
-pd-lib keyup {misc pd-lib}
-pd-lib line {control pd-lib time}
-pd-lib line~ {audio glue pd-lib}
-pd-lib {list append} {lists pd-lib storage}
-pd-lib {list prepend} {lists pd-lib storage}
-pd-lib {list split} {lists pd-lib storage}
-pd-lib {list trim} {lists pd-lib storage}
-pd-lib loadbang {misc pd-lib}
-pd-lib log {math pd-lib}
-pd-lib lop~ {audio filters pd-lib}
-pd-lib makefilename {control glue pd-lib}
-pd-lib makenote {connectivity midi pd-lib}
-pd-lib max {math pd-lib}
-pd-lib max~ {audio math pd-lib}
-pd-lib metro {control pd-lib time}
-pd-lib midiin {connectivity midi pd-lib}
-pd-lib midiout {connectivity midi pd-lib}
-pd-lib min {math pd-lib}
-pd-lib min~ {audio math pd-lib}
-pd-lib mod {math pd-lib}
-pd-lib moses {control glue pd-lib}
-pd-lib mtof {conversion math midi pd-lib}
-pd-lib mtof~ {audio conversion math midi pd-lib}
-pd-lib namecanvas {obsolete pd-lib}
-pd-lib netreceive {connectivity network pd-lib}
-pd-lib netsend {connectivity network pd-lib}
-pd-lib noise~ {audio filters pd-lib}
-pd-lib notein {connectivity midi pd-lib}
-pd-lib noteout {connectivity midi pd-lib}
-pd-lib openpanel {misc pd-lib}
-pd-lib osc~ {and audio oscillators pd-lib tables}
-pd-lib outlet {control pd-lib subwindows}
-pd-lib outlet~ {control pd-lib subwindows}
-pd-lib pack {control glue pd-lib}
-pd-lib pd {control pd-lib subwindows}
-pd-lib pgmin {connectivity midi pd-lib}
-pd-lib pgmout {connectivity midi pd-lib}
-pd-lib phasor~ {and audio oscillators pd-lib tables}
-pd-lib pipe {control pd-lib time}
-pd-lib plot {data gui pd-lib templates}
-pd-lib pointer {accessing data gui pd-lib}
-pd-lib poly {misc pd-lib}
-pd-lib polytouchin {connectivity midi pd-lib}
-pd-lib polytouchout {connectivity midi pd-lib}
-pd-lib pow {math pd-lib}
-pd-lib powtodb {conversion math pd-lib}
-pd-lib powtodb~ {audio conversion math pd-lib}
-pd-lib print {control glue pd-lib}
-pd-lib print~ {audio filters pd-lib}
-pd-lib q8_rsqrt~ {audio math pd-lib}
-pd-lib q8_sqrt~ {audio math pd-lib}
-pd-lib qlist {misc pd-lib sequencer storage}
-pd-lib random {math pd-lib}
-pd-lib readsf~ {audio glue pd-lib}
-pd-lib realtime {control pd-lib time}
-pd-lib receive {control glue pd-lib}
-pd-lib receive~ {audio glue pd-lib}
-pd-lib rfft~ {audio math pd-lib}
-pd-lib rifft~ {audio math pd-lib}
-pd-lib rmstodb {conversion math pd-lib}
-pd-lib rmstodb~ {audio conversion math pd-lib}
-pd-lib route {control glue pd-lib}
-pd-lib rpole~ {audio filters pd-lib}
-pd-lib rzero_rev~ {audio filters pd-lib}
-pd-lib rzero~ {audio filters pd-lib}
-pd-lib samphold~ {audio filters pd-lib}
-pd-lib samplerate~ {audio glue pd-lib}
-pd-lib savepanel {misc pd-lib}
-pd-lib scalar {obsolete pd-lib}
-pd-lib scope {obsolete pd-lib}
-pd-lib select {control glue pd-lib}
-pd-lib send {control glue pd-lib}
-pd-lib send~ {audio glue pd-lib}
-pd-lib serial {misc pd-lib}
-pd-lib set {accessing data gui pd-lib}
-pd-lib setsize {accessing data gui pd-lib}
-pd-lib sig~ {audio glue pd-lib}
-pd-lib sin {math pd-lib}
-pd-lib snapshot~ {audio glue pd-lib}
-pd-lib soundfiler {pd-lib storage tables}
-pd-lib spigot {control glue pd-lib}
-pd-lib sqrt {math pd-lib}
-pd-lib stripnote {connectivity midi pd-lib}
-pd-lib struct {data gui pd-lib templates}
-pd-lib sublist {accessing data gui pd-lib}
-pd-lib swap {control glue pd-lib}
-pd-lib switch~ {audio glue pd-lib}
-pd-lib symbol {control glue pd-lib}
-pd-lib sysexin {connectivity midi pd-lib}
-pd-lib table {control pd-lib subwindows}
-pd-lib tabosc4~ {and audio oscillators pd-lib tables}
-pd-lib tabplay~ {and audio oscillators pd-lib tables}
-pd-lib tabread {pd-lib storage tables}
-pd-lib tabread~ {and audio oscillators pd-lib tables}
-pd-lib tabread4 {pd-lib storage tables}
-pd-lib tabread4~ {and audio oscillators pd-lib tables}
-pd-lib tabreceive~ {and audio oscillators pd-lib tables}
-pd-lib tabsend~ {and audio oscillators pd-lib tables}
-pd-lib tabwrite {pd-lib storage tables}
-pd-lib tabwrite~ {and audio oscillators pd-lib tables}
-pd-lib tan {math pd-lib}
-pd-lib template {obsolete pd-lib}
-pd-lib textfile {io pd-lib storage}
-pd-lib threshold~ {audio glue pd-lib}
-pd-lib throw~ {audio glue pd-lib}
-pd-lib timer {control pd-lib time}
-pd-lib touchin {connectivity midi pd-lib}
-pd-lib touchout {connectivity midi pd-lib}
-pd-lib trigger {control glue pd-lib}
-pd-lib unpack {control glue pd-lib}
-pd-lib until {control glue pd-lib}
-pd-lib value {control glue pd-lib}
-pd-lib vcf~ {audio filters pd-lib}
-pd-lib vd~ {audio delay pd-lib}
-pd-lib vsnapshot~ {audio glue pd-lib}
-pd-lib wrap~ {audio math pd-lib}
-pd-lib writesf~ {audio glue pd-lib}
-pddp +pager {pddp unsorted}
-pddp dsp {pddp unsorted}
-pddp open {pddp unsorted}
-pddp print {pddp unsorted}
-pddp print_long {pddp unsorted}
-pdjimmies zerocross~ {audio glue pdjimmies}
-pdjimmies zscale {math pdjimmies}
-{pdmtl abstractions} 2d.angle {2d abstraction edit math pdmtl}
-{pdmtl abstractions} 2d.angle.line {2d abstraction edit math pdmtl}
-{pdmtl abstractions} 2d.distance {2d abstraction edit math pdmtl}
-{pdmtl abstractions} 2d.ratio {2d abstraction edit math pdmtl}
-{pdmtl abstractions} 3d.distance {3d abstraction edit math pdmtl}
-{pdmtl abstractions} 3d.pan.tilt {3d abstraction edit math pdmtl}
-{pdmtl abstractions} anal.center {abstraction anal edit misc pdmtl}
-{pdmtl abstractions} anal.change~ {abstraction anal edit misc pdmtl}
-{pdmtl abstractions} anal.scope_~ {abstraction anal edit misc pdmtl}
-{pdmtl abstractions} anal.sig_~ {abstraction anal edit misc pdmtl}
-{pdmtl abstractions} anal.sign {abstraction anal edit misc pdmtl}
-{pdmtl abstractions} anal.spectrum_~ {abstraction anal edit misc pdmtl}
-{pdmtl abstractions} anal.vu_~ {abstraction anal edit misc pdmtl}
-{pdmtl abstractions} convert.2list {abstraction control convert edit list pdmtl wrapper}
-{pdmtl abstractions} convert.ascii2pd {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.binary2byte {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.bpm2freq {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.bpm2ms {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.byte2binary {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.degree2radiant {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.fps2ms {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.frames2smpte {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.hex2dec {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.hsv2rgb {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.int2digits {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.lightfreq2wave {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.lightwave2freq {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.list2symbol {abstraction control convert edit list2symbol pdmtl wrapper zexy}
-{pdmtl abstractions} convert.m2speed {abstraction control convert edit midi note pdmtl}
-{pdmtl abstractions} convert.ms2bpm {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.ms2fps {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.ms2freq {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.ms2smp {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.ms2time {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.num2rgb {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.pd2ascii {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.rgb2hsv {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.rgb2num {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.sig2float~ {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.smp2bpm {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.smp2freq {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.smp2mem {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.smp2ms {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.smp2time {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.smpte2frames {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.sound.freq2wave {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.sound.wave2freq {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.spaces2 {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.speed2m {abstraction control convert edit midi note pdmtl}
-{pdmtl abstractions} convert.symbol2chars {abstraction control convert edit pdmtl}
-{pdmtl abstractions} convert.symbol2list {abstraction control convert edit iem pdmtl splitfilename symbol2list wrapper zexy}
-{pdmtl abstractions} convert.time2ms {abstraction control convert edit pdmtl}
-{pdmtl abstractions} count.accum {abstraction accum control count edit pdmtl}
-{pdmtl abstractions} count.iter {abstraction control count edit pdmtl}
-{pdmtl abstractions} count.modulo {abstraction control count edit pdmtl}
-{pdmtl abstractions} count.timed {abstraction control count edit pdmtl}
-{pdmtl abstractions} count.up&down {abstraction control count edit pdmtl}
-{pdmtl abstractions} data.floats {abstraction data edit pdmtl storage}
-{pdmtl abstractions} data.matrix {abstraction data edit pdmtl storage}
-{pdmtl abstractions} data.save.msg {abstraction data edit pdmtl storage}
-{pdmtl abstractions} file.audio.info {abstraction edit file pdmtl soundfile_info storage wrapper}
-{pdmtl abstractions} file.browser_ {abstraction edit file pdmtl storage}
-{pdmtl abstractions} file.folder {abstraction edit file pdmtl storage}
-{pdmtl abstractions} file.folder.dump {abstraction edit file pdmtl storage}
-{pdmtl abstractions} file.folder.panel {abstraction edit file pdmtl storage}
-{pdmtl abstractions} file.open.msg {abstraction edit file pdmtl storage}
-{pdmtl abstractions} file.path.current {absolute abstraction edit file path pdmtl relative storage}
-{pdmtl abstractions} file.path.explode {abstraction edit file pdmtl storage}
-{pdmtl abstractions} file.path.merge {abstraction edit file iemlib mergefilename pdmtl storage wrapper}
-{pdmtl abstractions} file.path.parent {absolute abstraction edit file path pdmtl relative storage}
-{pdmtl abstractions} file.path.split {abstraction edit file pdmtl split_path storage wrapper}
-{pdmtl abstractions} file.path.split.extension {abstraction edit file pdmtl storage}
-{pdmtl abstractions} file.path.top {absolute abstraction edit file path pdmtl relative storage}
-{pdmtl abstractions} file.path.type {abstraction edit file pdmtl storage}
-{pdmtl abstractions} file.type {abstraction edit file pdmtl storage}
-{pdmtl abstractions} flow.@parse {abstraction control dollarg edit flow pdmtl}
-{pdmtl abstractions} flow.any {abstraction control edit flow iem iem_anything pdmtl wrapper}
-{pdmtl abstractions} flow.ford {abstraction control edit flow pdmtl}
-{pdmtl abstractions} flow.gun {abstraction control edit flow pdmtl}
-{pdmtl abstractions} flow.hold~ {abstraction control edit flow pdmtl}
-{pdmtl abstractions} flow.in.betweens {abstraction control edit flow pdmtl}
-{pdmtl abstractions} flow.iter {abstraction control edit flow pdmtl}
-{pdmtl abstractions} flow.once {abstraction control edit flow pdmtl}
-{pdmtl abstractions} flow.pre.op {abstraction control edit flow pdmtl}
-{pdmtl abstractions} flow.prepend {abstraction argument conditional control edit flow list pdmtl prepend type wrapper}
-{pdmtl abstractions} flow.receive {abstraction control deprecated edit flow pdmtl}
-{pdmtl abstractions} flow.send {abstraction control deprecated edit flow pdmtl}
-{pdmtl abstractions} flow.smooth {abstraction control edit flow pdmtl}
-{pdmtl abstractions} flow.smooth~ {abstraction control edit flow pdmtl}
-{pdmtl abstractions} flow.speed.fixed {abstraction control edit flow pdmtl}
-{pdmtl abstractions} flow.speed.limit {abstraction control edit flow limit pdmtl speed}
-{pdmtl abstractions} flow.split {abstraction control edit flow pdmtl}
-{pdmtl abstractions} flow.till.done {abstraction control edit flow pdmtl}
-{pdmtl abstractions} flow.value.change {abstraction control edit flow pdmtl}
-{pdmtl abstractions} flow.wrap~ {abstraction control edit flow pdmtl}
-{pdmtl abstractions} fx.biquad.reverb~ {abstraction audio edit fx pdmtl}
-{pdmtl abstractions} fx.body.resonance~ {abstraction audio edit fx pdmtl}
-{pdmtl abstractions} fx.cm.reverb~ {abstraction audio edit fx pdmtl}
-{pdmtl abstractions} fx.delay~ {abstraction audio edit fx pdmtl}
-{pdmtl abstractions} fx.dist~ {abstraction audio edit fx pdmtl}
-{pdmtl abstractions} fx.echo~ {abstraction audio edit fx pdmtl}
-{pdmtl abstractions} fx.eq_~ {abstraction audio edit fx pdmtl}
-{pdmtl abstractions} fx.gain~ {abstraction audio edit fx pdmtl}
-{pdmtl abstractions} fx.gate.noise_~ {abstraction audio edit fx pdmtl}
-{pdmtl abstractions} fx.gate.noise~ {abstraction audio edit fx pdmtl}
-{pdmtl abstractions} fx.limiter~ {abstraction audio edit fx pdmtl}
-{pdmtl abstractions} fx.material~ {abstraction audio edit fx pdmtl}
-{pdmtl abstractions} fx.punch~ {abstraction audio edit fx pdmtl}
-{pdmtl abstractions} gems.alpha.mode {abstraction edit gems imaging pdmtl}
-{pdmtl abstractions} gems.bars.ntsc {abstraction edit gems imaging pdmtl}
-{pdmtl abstractions} gems.color.offset {abstraction edit gems imaging pdmtl}
-{pdmtl abstractions} gems.curve.n {abstraction edit gems imaging pdmtl}
-{pdmtl abstractions} gems.depth {abstraction edit gems imaging pdmtl}
-{pdmtl abstractions} gems.duplicate {abstraction edit gems imaging pdmtl}
-{pdmtl abstractions} gems.fit {abstraction edit gems imaging pdmtl}
-{pdmtl abstractions} gems.fit.scale {abstraction edit gems imaging pdmtl}
-{pdmtl abstractions} gems.get.average.color {abstraction edit gems imaging pdmtl}
-{pdmtl abstractions} gems.gl.def {abstraction edit gems imaging pdmtl}
-{pdmtl abstractions} gems.glsl.shader {abstraction edit gems imaging pdmtl}
-{pdmtl abstractions} gems.i.circle {abstraction edit gems gems.win imaging osxbug pdmtl}
-{pdmtl abstractions} gems.images {abstraction edit gems imaging pdmtl}
-{pdmtl abstractions} gems.layer {abstraction edit gems imaging pdmtl}
-{pdmtl abstractions} gems.light {abstraction edit gems imaging pdmtl}
-{pdmtl abstractions} gems.loop {abstraction edit gems imaging pdmtl}
-{pdmtl abstractions} gems.mixmode {abstraction deprecated edit gems imaging pdmtl}
-{pdmtl abstractions} gems.mouse {abstraction edit gems imaging mouse pdmtl wrapper}
-{pdmtl abstractions} gems.movies {abstraction edit gems imaging pdmtl}
-{pdmtl abstractions} gems.movies2 {abstraction edit gems imaging pdmtl}
-{pdmtl abstractions} gems.multi.crop {abstraction edit gems imaging pdmtl}
-{pdmtl abstractions} gems.multi.cube {abstraction edit gems imaging pdmtl}
-{pdmtl abstractions} gems.polygon.n {abstraction edit gems imaging pdmtl}
-{pdmtl abstractions} gems.scope.geos~ {abstraction edit gems imaging pdmtl}
-{pdmtl abstractions} gems.scope~ {abstraction edit gems imaging pdmtl}
-{pdmtl abstractions} gems.sobel {abstraction edit gems imaging pdmtl}
-{pdmtl abstractions} gems.text {@rguments abstraction edit gem gems imaging pdmtl text3d wrapper}
-{pdmtl abstractions} gems.vu~ {abstraction edit gems imaging pdmtl}
-{pdmtl abstractions} gems.win {@rguments abstraction edit gems imaging pdmtl}
-{pdmtl abstractions} gems.win.feedback {abstraction edit gems imaging pdmtl}
-{pdmtl abstractions} gui.browser {abstraction edit gui internal pdmtl}
-{pdmtl abstractions} gui.button.color {abstraction edit gui pdmtl}
-{pdmtl abstractions} gui.label {abstraction edit gui pdmtl}
-{pdmtl abstractions} {gui.popup } {abstraction edit gui pdmtl}
-{pdmtl abstractions} init.check.unique {abstraction control edit init pdmtl}
-{pdmtl abstractions} init.df {abstraction control edit init pdmtl}
-{pdmtl abstractions} init.dollar.zero.top {abstraction control edit init pdmtl}
-{pdmtl abstractions} init.ds {abstraction control edit init pdmtl}
-{pdmtl abstractions} init.lb {abstraction control edit init pdmtl}
-{pdmtl abstractions} init.ldf {abstraction control edit init pdmtl}
-{pdmtl abstractions} init.lf {abstraction control edit init pdmtl}
-{pdmtl abstractions} init.ls {abstraction control edit init pdmtl}
-{pdmtl abstractions} init.post.dollarg {abstraction control edit flow.@parse init pdmtl}
-{pdmtl abstractions} input.color.grid_ {abstraction edit gui input pdmtl}
-{pdmtl abstractions} input.double.click {abstraction edit gui input pdmtl}
-{pdmtl abstractions} input.grid_ {abstraction edit gui input pdmtl}
-{pdmtl abstractions} input.hsv_ {abstraction edit gui input pdmtl}
-{pdmtl abstractions} input.key.name.learn {abstraction edit gui input pdmtl}
-{pdmtl abstractions} input.key.r {abstraction edit gui input pdmtl}
-{pdmtl abstractions} input.key.text {abstraction edit gui input pdmtl}
-{pdmtl abstractions} input.min.max_ {abstraction edit gui input pdmtl}
-{pdmtl abstractions} input.piano_ {@rguments abstraction edit gop gui input pdmtl}
-{pdmtl abstractions} list.abs {abstraction edit list pdmtl storage}
-{pdmtl abstractions} list.avg {abstraction edit list pdmtl storage}
-{pdmtl abstractions} list.bool2pos {abstraction edit list pdmtl storage}
-{pdmtl abstractions} list.build {abstraction edit list pdmtl storage}
-{pdmtl abstractions} list.cog {abstraction edit list pdmtl storage}
-{pdmtl abstractions} list.concatenate {abstraction edit list pdmtl storage}
-{pdmtl abstractions} list.contains {abstraction edit list pdmtl storage}
-{pdmtl abstractions} list.cut.up {abstraction edit list pdmtl storage}
-{pdmtl abstractions} list.cycle {abstraction edit list pdmtl storage}
-{pdmtl abstractions} list.delay {abstraction edit list pdmtl storage}
-{pdmtl abstractions} list.delete {abstraction edit list pdmtl storage}
-{pdmtl abstractions} list.element {abstraction edit list negative packel pdmtl storage wrapper zexy}
-{pdmtl abstractions} list.for.each {abstraction alias edit list list.op pdmtl storage}
-{pdmtl abstractions} list.last.x {abstraction edit list pdmtl storage}
-{pdmtl abstractions} list.length {abstraction edit list pdmtl storage}
-{pdmtl abstractions} list.make {abstraction edit list pdmtl storage}
-{pdmtl abstractions} list.min.max {abstraction edit list minmax pdmtl storage wrapper zexy}
-{pdmtl abstractions} list.op {abstraction edit list pdmtl storage}
-{pdmtl abstractions} list.op2 {abstraction edit list pdmtl storage}
-{pdmtl abstractions} list.q {abstraction edit list pdmtl storage}
-{pdmtl abstractions} list.q.man {abstraction edit list pdmtl storage}
-{pdmtl abstractions} list.repack.indexed {abstraction edit list pdmtl storage}
-{pdmtl abstractions} list.repetitions.count {abstraction edit list pdmtl storage}
-{pdmtl abstractions} list.repetitions.remove {abstraction edit list pdmtl storage}
-{pdmtl abstractions} list.reverse {abstraction edit list pdmtl storage}
-{pdmtl abstractions} list.speed.limit {abstraction edit list pdmtl storage}
-{pdmtl abstractions} list.split {abstraction edit list pdmtl storage}
-{pdmtl abstractions} list.sum {abstraction edit list pdmtl storage sum wrapper zexy}
-{pdmtl abstractions} list.trim {abstraction edit list pdmtl storage trim wrapper}
-{pdmtl abstractions} list.unfold {abstraction drip edit list pdmtl storage wrapper zexy}
-{pdmtl abstractions} {list.wait } {abstraction edit list pdmtl storage}
-{pdmtl abstractions} math.f.mod {abstraction edit math pdmtl}
-{pdmtl abstractions} math.power.of {abstraction edit math pdmtl}
-{pdmtl abstractions} midi.chord.guess {abstraction connectivity edit midi pdmtl}
-{pdmtl abstractions} midi.note.close {abstraction connectivity edit float midi monophonic pdmtl trigger}
-{pdmtl abstractions} midi.note.split {abstraction connectivity edit midi pdmtl}
-{pdmtl abstractions} mix.crossfade.stereo~ {abstraction audio edit mix pdmtl}
-{pdmtl abstractions} mix.crossfade~ {abstraction audio edit mix pdmtl}
-{pdmtl abstractions} mix.fade~ {abstraction audio edit mix pdmtl}
-{pdmtl abstractions} mix.nop~ {abstraction audio edit mix pdmtl}
-{pdmtl abstractions} mix.out_~ {abstraction audio edit mix pdmtl}
-{pdmtl abstractions} mix.pan.stereo~ {abstraction audio edit mix pdmtl}
-{pdmtl abstractions} mix.pan~ {abstraction audio edit mix pdmtl}
-{pdmtl abstractions} mix.switch.nice {abstraction audio edit mix pdmtl}
-{pdmtl abstractions} mix.switch.nice~ {abstraction audio edit mix pdmtl}
-{pdmtl abstractions} mix.wet.stereo~ {abstraction audio edit internal mix pdmtl}
-{pdmtl abstractions} mix.wet~ {abstraction audio edit internal mix pdmtl}
-{pdmtl abstractions} musical.bars {abstraction pdmtl unsorted}
-{pdmtl abstractions} musical.closest_note {abstraction audio edit musical pdmtl}
-{pdmtl abstractions} musical.closest.note {abstraction audio edit musical pdmtl}
-{pdmtl abstractions} musical.cycle5 {abstraction audio edit musical pdmtl}
-{pdmtl abstractions} musical.degree2chord {abstraction audio edit musical pdmtl}
-{pdmtl abstractions} musical.dodeca {abstraction audio edit musical note pdmtl serie}
-{pdmtl abstractions} musical.fit {abstraction audio edit musical pdmtl}
-{pdmtl abstractions} musical.form {abstraction audio edit musical pdmtl}
-{pdmtl abstractions} musical.isosonic~ {abstraction audio edit musical pdmtl}
-{pdmtl abstractions} musical.m2harm {abstraction audio edit musical pdmtl}
-{pdmtl abstractions} musical.note.index {abstraction audio edit musical pdmtl}
-{pdmtl abstractions} musical.octava {abstraction audio edit musical pdmtl}
-{pdmtl abstractions} musical.transpose {abstraction audio edit musical pdmtl}
-{pdmtl abstractions} number.fibonacci {abstraction edit math number pdmtl}
-{pdmtl abstractions} number.phi {abstraction edit math number pdmtl}
-{pdmtl abstractions} number.pi {abstraction edit math number pdmtl}
-{pdmtl abstractions} number.prime {abstraction edit math number pdmtl}
-{pdmtl abstractions} number.round {abstraction edit math number pdmtl}
-{pdmtl abstractions} random.delay {abstraction edit math pdmtl random}
-{pdmtl abstractions} random.drunk {abstraction edit math pdmtl random}
-{pdmtl abstractions} random.f {abstraction edit math pdmtl random}
-{pdmtl abstractions} random.integer {abstraction edit math pdmtl random}
-{pdmtl abstractions} random.markov.chain {abstraction edit math pdmtl random}
-{pdmtl abstractions} random.offset {abstraction edit math pdmtl random}
-{pdmtl abstractions} sample.adsr {abstraction audio edit pdmtl sample}
-{pdmtl abstractions} sample.adsr_ {abstraction audio edit pdmtl sample}
-{pdmtl abstractions} sample.bank {abstraction audio edit pdmtl sample}
-{pdmtl abstractions} sample.bounds {abstraction audio edit pdmtl sample sample_id}
-{pdmtl abstractions} sample.bounds_ {abstraction audio edit gui pdmtl sample sample_id}
-{pdmtl abstractions} sample.display_ {abstraction audio edit gui pdmtl sample sample_id}
-{pdmtl abstractions} sample.drum.machine~ {abstraction audio edit pdmtl sample}
-{pdmtl abstractions} sample.filer {abstraction audio edit pdmtl sample sample_id}
-{pdmtl abstractions} sample.generator {abstraction audio edit internal pdmtl sample sample_id}
-{pdmtl abstractions} sample.groove.poly~ {abstraction audio edit pdmtl sample}
-{pdmtl abstractions} sample.groove~ {abstraction audio edit pdmtl sample sample_id wrapper xgroove~ xsample}
-{pdmtl abstractions} sample.handler {abstraction audio edit internal pdmtl sample sample_id}
-{pdmtl abstractions} sample.particular~ {abstraction audio edit pdmtl sample sample_id}
-{pdmtl abstractions} sample.pitch {abstraction audio edit pdmtl sample}
-{pdmtl abstractions} sample.pitch_ {abstraction audio edit pdmtl sample}
-{pdmtl abstractions} sample.play~ {abstraction audio edit pdmtl sample}
-{pdmtl abstractions} sample.print {abstraction audio edit pdmtl sample sample_id}
-{pdmtl abstractions} sample.r {abstraction audio edit pdmtl sample}
-{pdmtl abstractions} sample.record~ {abstraction audio cyclone edit pdmtl record~ sample sample_id wrapper}
-{pdmtl abstractions} sample.table {abstraction audio edit pdmtl sample}
-{pdmtl abstractions} scale.3point {abstraction control edit pdmtl scale}
-{pdmtl abstractions} scale.adaptive {abstraction control edit pdmtl scale}
-{pdmtl abstractions} scale.linear {abstraction control edit pdmtl scale}
-{pdmtl abstractions} scale.loga {abstraction control edit pdmtl scale}
-{pdmtl abstractions} scale.symbol {abstraction control edit pdmtl scale}
-{pdmtl abstractions} seq.8x8_ {abstraction control edit pdmtl seq}
-{pdmtl abstractions} seq.biorythm~ {abstraction control edit pdmtl seq}
-{pdmtl abstractions} seq.chords {abstraction control edit pdmtl seq}
-{pdmtl abstractions} seq.every {abstraction control edit pdmtl seq}
-{pdmtl abstractions} seq.liner {abstraction control edit pdmtl seq}
-{pdmtl abstractions} seq.markov.machine {abstraction control edit pdmtl seq}
-{pdmtl abstractions} seq.qtrack {abstraction control edit pdmtl seq}
-{pdmtl abstractions} seq.tgl8_ {abstraction control edit pdmtl seq}
-{pdmtl abstractions} seq.timing.master {abstraction control edit pdmtl seq}
-{pdmtl abstractions} seq.timing.slave {abstraction control edit pdmtl seq}
-{pdmtl abstractions} seq.tracker4 {abstraction control edit pdmtl seq}
-{pdmtl abstractions} synth.additive12~ {abstraction audio edit pdmtl synth}
-{pdmtl abstractions} synth.adsr~ {abstraction audio edit midi.note.close pdmtl synth}
-{pdmtl abstractions} synth.applause~ {abstraction audio edit pdmtl synth}
-{pdmtl abstractions} synth.beep~ {abstraction audio edit pdmtl synth}
-{pdmtl abstractions} synth.bell~ {abstraction audio edit pdmtl synth}
-{pdmtl abstractions} synth.blip~ {abstraction audio edit pdmtl synth}
-{pdmtl abstractions} synth.clap~ {abstraction audio edit pdmtl synth}
-{pdmtl abstractions} synth.colored.noise~ {abstraction audio edit pdmtl synth}
-{pdmtl abstractions} synth.crackles~ {abstraction audio edit pdmtl synth}
-{pdmtl abstractions} synth.cranks~ {abstraction audio edit pdmtl synth}
-{pdmtl abstractions} synth.creator~ {abstraction audio edit pdmtl synth}
-{pdmtl abstractions} synth.drips~ {abstraction audio edit pdmtl synth}
-{pdmtl abstractions} synth.dtmf.busy~ {abstraction audio edit pdmtl synth}
-{pdmtl abstractions} synth.dtmf.hand-up~ {abstraction audio edit pdmtl synth}
-{pdmtl abstractions} synth.dtmf.hurry.up~ {abstraction audio edit pdmtl synth}
-{pdmtl abstractions} synth.dtmf.number~ {abstraction audio edit pdmtl synth}
-{pdmtl abstractions} synth.dtmf.ring~ {abstraction audio edit pdmtl synth}
-{pdmtl abstractions} synth.frying~ {abstraction audio edit pdmtl synth}
-{pdmtl abstractions} synth.gun.gas~ {abstraction audio edit pdmtl synth}
-{pdmtl abstractions} synth.gun.shot~ {abstraction audio edit pdmtl synth}
-{pdmtl abstractions} synth.hissing~ {abstraction audio edit pdmtl synth}
-{pdmtl abstractions} synth.lightning~ {abstraction audio edit pdmtl synth}
-{pdmtl abstractions} synth.low.rumble~ {abstraction audio edit pdmtl synth}
-{pdmtl abstractions} synth.old.record~ {abstraction audio edit pdmtl synth}
-{pdmtl abstractions} synth.osc.square.pwm~ {abstraction audio edit pdmtl synth}
-{pdmtl abstractions} synth.rain~ {abstraction audio edit pdmtl synth}
-{pdmtl abstractions} synth.simple.osc~ {abstraction audio edit pdmtl synth}
-{pdmtl abstractions} synth.simple.phasor~ {abstraction audio edit pdmtl synth}
-{pdmtl abstractions} synth.switch~ {abstraction audio edit pdmtl synth}
-{pdmtl abstractions} synth.wind~ {abstraction audio edit pdmtl synth}
-{pdmtl abstractions} table.play~ {abstraction edit pdmtl storage table}
-{pdmtl abstractions} table.read2 {abstraction edit pdmtl storage table}
-{pdmtl abstractions} table.size {abstraction edit pdmtl storage table}
-{pdmtl abstractions} table.write.next {abstraction edit pdmtl storage table}
-{pdmtl abstractions} timing.chronometer {abstraction control edit pdmtl timing}
-{pdmtl abstractions} timing.clocker {abstraction control edit pdmtl timing}
-{pdmtl abstractions} timing.cues~ {abstraction control edit pdmtl timing}
-{pdmtl abstractions} timing.curve~ {abstraction control curve~ cyclone edit pdmtl timing wrapper}
-{pdmtl abstractions} timing.line~ {abstraction control edit pdmtl timing}
-{pdmtl abstractions} timing.shuffled {abstraction control edit pdmtl timing}
-{pdmtl abstractions} timing.tempo {abstraction control edit max pdmtl tempo timing}
-{pdmtl abstractions} timing.tempo_ {abstraction control edit pdmtl timing}
-pdogg oggamp~ {pdogg unsorted}
-pdogg oggcast~ {pdogg unsorted}
-pdogg oggread~ {pdogg unsorted}
-pdogg oggwrite~ {pdogg unsorted}
-pdp 3dp_blend {3d abstraction imaging opengl pdp}
-pdp 3dp_dlist {3d imaging opengl pdp}
-pdp 3dp_draw {3d imaging opengl pdp}
-pdp 3dp_light {3d imaging opengl pdp}
-pdp 3dp_mode {3d imaging opengl pdp}
-pdp 3dp_mouserotate {3d abstraction imaging opengl pdp}
-pdp 3dp_push {3d imaging opengl pdp}
-pdp 3dp_snap {3d imaging opengl pdp}
-pdp 3dp_toggle {3d imaging opengl pdp}
-pdp 3dp_view {3d imaging opengl pdp}
-pdp 3dp_windowcontext {3d imaging opengl pdp}
-pdp pdp_abs {image imaging pdp processing}
-pdp pdp_add {image imaging pdp processing}
-pdp pdp_agc {abstraction image imaging pdp}
-pdp pdp_alledge {abstraction image imaging pdp}
-pdp pdp_and {image imaging pdp processing}
-pdp pdp_bitdepth {image imaging pdp processing}
-pdp pdp_bitmask {image imaging pdp processing}
-pdp pdp_blur {abstraction image imaging pdp}
-pdp pdp_blur_hor {abstraction image imaging pdp}
-pdp pdp_blur_ver {abstraction image imaging pdp}
-pdp pdp_bq {image imaging pdp processing}
-pdp pdp_bqt {image imaging pdp processing}
-pdp pdp_ca {automata cellular imaging libraries pdp pdp_scaf seperate}
-pdp pdp_ca2image {automata cellular imaging libraries pdp pdp_scaf seperate}
-pdp pdp_cheby {image imaging pdp processing}
-pdp pdp_chrot {image imaging pdp processing}
-pdp pdp_cog {image imaging pdp processing}
-pdp pdp_constant {image imaging pdp processing}
-pdp pdp_contrast {abstraction image imaging pdp}
-pdp pdp_conv {image imaging pdp processing}
-pdp pdp_conv_emboss {abstraction image imaging pdp}
-pdp pdp_conv_sobel_edge {abstraction image imaging pdp}
-pdp pdp_conv_sobel_hor {abstraction image imaging pdp}
-pdp pdp_conv_sobel_ver {abstraction image imaging pdp}
-pdp pdp_convert {imaging misc pdp}
-pdp pdp_del {imaging misc pdp}
-pdp pdp_description {imaging misc pdp}
-pdp pdp_dither {abstraction image imaging pdp}
-pdp pdp_flip_lr {image imaging pdp processing}
-pdp pdp_flip_tb {image imaging pdp processing}
-pdp pdp_gain3 {abstraction image imaging pdp}
-pdp pdp_glx {i/o image imaging pdp}
-pdp pdp_gradient {abstraction image imaging pdp}
-pdp pdp_grey {image imaging pdp processing}
-pdp pdp_grey2mask {image imaging pdp processing}
-pdp pdp_hthresh {image imaging pdp processing}
-pdp pdp_image2ca {automata cellular imaging libraries pdp pdp_scaf seperate}
-pdp pdp_invert {abstraction image imaging pdp}
-pdp pdp_loop {imaging misc pdp}
-pdp pdp_m_+=mm {imaging matrix pdp}
-pdp pdp_m_inverse {abstraction imaging matrix pdp}
-pdp pdp_m_LU {imaging matrix pdp}
-pdp pdp_m_LU_inverse {imaging matrix pdp}
-pdp pdp_m_LU_solve {imaging matrix pdp}
-pdp pdp_m_mm {imaging matrix pdp}
-pdp pdp_m_mv {imaging matrix pdp}
-pdp pdp_mix {image imaging pdp processing}
-pdp pdp_mix2 {image imaging pdp processing}
-pdp pdp_motion_blur {abstraction image imaging pdp}
-pdp pdp_motion_phase {abstraction image imaging pdp}
-pdp pdp_mul {image imaging pdp processing}
-pdp pdp_noise {image imaging pdp processing}
-pdp pdp_not {image imaging pdp processing}
-pdp pdp_offset {abstraction image imaging pdp}
-pdp pdp_or {image imaging pdp processing}
-pdp pdp_phase {abstraction image imaging pdp}
-pdp pdp_phase_hor {abstraction image imaging pdp}
-pdp pdp_phase_ver {abstraction image imaging pdp}
-pdp pdp_plasma {image imaging pdp processing}
-pdp pdp_png_to {abstraction image imaging pdp}
-pdp pdp_pointcloud {image imaging pdp processing}
-pdp pdp_positive {image imaging pdp processing}
-pdp pdp_pps {abstraction imaging pdp utility}
-pdp pdp_qt {i/o image imaging pdp}
-pdp pdp_randmix {image imaging pdp processing}
-pdp pdp_reg {imaging misc pdp}
-pdp pdp_rotate {image imaging pdp processing}
-pdp pdp_route {imaging misc pdp}
-pdp pdp_saturation {abstraction image imaging pdp}
-pdp pdp_scale {image imaging pdp processing}
-pdp pdp_scan~ {dsp imaging pdp}
-pdp pdp_scanxy~ {dsp imaging pdp}
-pdp pdp_scope~ {dsp imaging pdp}
-pdp pdp_sign {image imaging pdp processing}
-pdp pdp_snap {imaging misc pdp}
-pdp pdp_sthresh {image imaging pdp processing}
-pdp pdp_sub {abstraction image imaging pdp}
-pdp pdp_tag {abstraction image imaging pdp}
-pdp pdp_trigger {imaging misc pdp}
-pdp pdp_v4l {i/o image imaging pdp}
-pdp pdp_xor {image imaging pdp processing}
-pdp pdp_xv {i/o image imaging pdp}
-pdp pdp_zoom {image imaging pdp processing}
-pdp pdp_zrot {image imaging pdp processing}
-pdp pdp_zthresh {image imaging pdp processing}
-Percolate bamboo~ {and audio oscillators percolate tables}
-Percolate blotar~ {and audio oscillators percolate tables}
-Percolate bowed~ {and audio oscillators percolate tables}
-Percolate bowedbar~ {and audio oscillators percolate tables}
-Percolate brass~ {and audio oscillators percolate tables}
-Percolate cabasa~ {and audio oscillators percolate tables}
-Percolate chase~ {and audio oscillators percolate tables}
-Percolate dcblock~ {and audio oscillators percolate tables}
-Percolate escalator~ {and audio oscillators percolate tables}
-Percolate flute~ {and audio oscillators percolate tables}
-Percolate formant~ {and audio oscillators percolate tables}
-Percolate gq~ {and audio oscillators percolate tables}
-Percolate guiro~ {and audio oscillators percolate tables}
-Percolate morse {and audio oscillators percolate tables}
-Percolate scrub~ {and audio oscillators percolate tables}
-Percolate sleigh~ {and audio oscillators percolate tables}
-Percolate vibraphone~ {and audio oscillators percolate tables}
-pidip pdp_aging {effectv imaging pdp pidip}
-pidip pdp_ascii {imaging pdp pidip}
-pidip pdp_baltan {effectv imaging pdp pidip}
-pidip pdp_binary {imaging morphology pdp pidip}
-pidip pdp_canvas {imaging pdp pidip}
-pidip pdp_capture {imaging pdp pidip}
-pidip pdp_charcoal {imaging pdp pidip}
-pidip pdp_cmap {imaging pdp pidip}
-pidip pdp_colorgrid {imaging pdp pidip}
-pidip pdp_compose {imaging pdp pidip}
-pidip pdp_ctrack {imaging pdp pidip}
-pidip pdp_cycle {effectv imaging pdp pidip}
-pidip pdp_dice {effectv imaging pdp pidip}
-pidip pdp_dilate {imaging morphology pdp pidip}
-pidip pdp_disintegration {imaging pdp pidip}
-pidip pdp_distance {imaging morphology pdp pidip}
-pidip pdp_edge {effectv imaging pdp pidip}
-pidip pdp_erode {imaging morphology pdp pidip}
-pidip pdp_ffmpeg~ {imaging pdp pidip}
-pidip pdp_form {imaging pdp pidip}
-pidip pdp_hitandmiss {imaging morphology pdp pidip}
-pidip pdp_i {imaging pdp pidip}
-pidip pdp_imgloader {imaging pdp pidip}
-pidip pdp_intrusion {effectv imaging pdp pidip}
-pidip pdp_lens {effectv imaging pdp pidip}
-pidip pdp_live~ {imaging pdp pidip}
-pidip pdp_mgrid {imaging pdp pidip}
-pidip pdp_mosaic {effectv imaging pdp pidip}
-pidip pdp_mp4live~ {imaging pdp pidip}
-pidip pdp_mp4player~ {imaging pdp pidip}
-pidip pdp_nervous {effectv imaging pdp pidip}
-pidip pdp_o {imaging pdp pidip}
-pidip pdp_pen {imaging pdp pidip}
-pidip pdp_puzzle {effectv imaging pdp pidip}
-pidip pdp_qt {imaging pdp pidip}
-pidip pdp_qt {imaging pdp pidip}
-pidip pdp_qt~ {imaging pdp pidip}
-pidip pdp_quark {effectv imaging pdp pidip}
-pidip pdp_radioactiv {effectv imaging pdp pidip}
-pidip pdp_rec~ {imaging pdp pidip}
-pidip pdp_rev {effectv imaging pdp pidip}
-pidip pdp_ripple {effectv imaging pdp pidip}
-pidip pdp_shagadelic {effectv imaging pdp pidip}
-pidip pdp_shape {imaging pdp pidip}
-pidip pdp_simura {effectv imaging pdp pidip}
-pidip pdp_spigot {imaging pdp pidip}
-pidip pdp_spiral {effectv imaging pdp pidip}
-pidip pdp_spotlight {imaging pdp pidip}
-pidip pdp_text {imaging pdp pidip}
-pidip pdp_theorin~ {imaging pdp pidip}
-pidip pdp_theorout~ {imaging pdp pidip}
-pidip pdp_transform {effectv imaging pdp pidip}
-pidip pdp_transition {imaging pdp pidip}
-pidip pdp_underwatch {effectv imaging pdp pidip}
-pidip pdp_vertigo {effectv imaging pdp pidip}
-pidip pdp_warhol {effectv imaging pdp pidip}
-pidip pdp_warp {effectv imaging pdp pidip}
-pidip pdp_yqt {imaging pdp pidip}
-pixeltango pt.animate {pixeltango unsorted}
-pixeltango pt.entry {pixeltango unsorted}
-pixeltango pt.fader {pixeltango unsorted}
-pixeltango pt.feedback {pixeltango unsorted}
-pixeltango pt.file {pixeltango unsorted}
-pixeltango pt.filelist {pixeltango unsorted}
-pixeltango pt.interp {pixeltango unsorted}
-pixeltango pt.layer {pixeltango unsorted}
-pixeltango pt.layerfx {pixeltango unsorted}
-pixeltango pt.light {pixeltango unsorted}
-pixeltango pt.live {pixeltango unsorted}
-pixeltango pt.loop {pixeltango unsorted}
-pixeltango pt.model {pixeltango unsorted}
-pixeltango pt.presets {pixeltango unsorted}
-pixeltango pt.rotate {pixeltango unsorted}
-pixeltango pt.scale {pixeltango unsorted}
-pixeltango pt.source {pixeltango unsorted}
-pixeltango pt.squeeze {pixeltango unsorted}
-pixeltango pt.text {pixeltango unsorted}
-pixeltango pt.translate {pixeltango unsorted}
-pixeltango pt.video {pixeltango unsorted}
-pixeltango pt.whatcolour {pixeltango unsorted}
-pixeltango pt.window {pixeltango unsorted}
-pmpd iAmbient2D {modelling physical pmpd}
-pmpd iAmbient3D {modelling physical pmpd}
-pmpd iCircle2D {modelling physical pmpd}
-pmpd iCircle3D {modelling physical pmpd}
-pmpd iCylinder3D {modelling physical pmpd}
-pmpd iLine2D {modelling physical pmpd}
-pmpd iPlane3D {modelling physical pmpd}
-pmpd iSeg2D {modelling physical pmpd}
-pmpd iSphere3D {modelling physical pmpd}
-pmpd link {modelling physical pmpd}
-pmpd link2D {modelling physical pmpd}
-pmpd link3D {modelling physical pmpd}
-pmpd mass {modelling physical pmpd}
-pmpd mass2D {modelling physical pmpd}
-pmpd mass3D {modelling physical pmpd}
-pmpd pmpd {modelling physical pmpd}
-pmpd tCircle2D {modelling physical pmpd}
-pmpd tCircle3D {modelling physical pmpd}
-pmpd tCube3D {modelling physical pmpd}
-pmpd tCylinder3D {modelling physical pmpd}
-pmpd tLine2D {modelling physical pmpd}
-pmpd tLink2D {modelling physical pmpd}
-pmpd tLink3D {modelling physical pmpd}
-pmpd tPlane3D {modelling physical pmpd}
-pmpd tSeg2D {modelling physical pmpd}
-pmpd tSphere3D {modelling physical pmpd}
-pmpd tSquare2D {modelling physical pmpd}
-rradical memento {rradical unsorted}
-rradical OSCprepend {rradical unsorted}
-rradical rrad.chorus~ {audio rradical}
-rradical rrad.evo33 {rradical unsorted}
-rradical rrad.evo33b {rradical unsorted}
-rradical rrad.nseq {rradical unsorted}
-rradical rrad.pattseq {rradical unsorted}
-rradical rrad.scale {rradical unsorted}
-rradical rrad.split~ {audio rradical}
-rtc 16step-seq {rtc unsorted}
-rtc alea-rhythm {rtc unsorted}
-rtc anti-interval {rtc unsorted}
-rtc anti-octave {rtc unsorted}
-rtc anti-octave&prime {rtc unsorted}
-rtc anti-osc {rtc unsorted}
-rtc between-lin {rtc unsorted}
-rtc between-log {rtc unsorted}
-rtc between-variations {rtc unsorted}
-rtc brown-melody {rtc unsorted}
-rtc brown-rhythm {rtc unsorted}
-rtc brownian {rtc unsorted}
-rtc butfirst {rtc unsorted}
-rtc butlast {rtc unsorted}
-rtc check-octaves {rtc unsorted}
-rtc check-row {rtc unsorted}
-rtc choice-rhythm {rtc unsorted}
-rtc choose {rtc unsorted}
-rtc choose-intervals {rtc unsorted}
-rtc count-bang {rtc unsorted}
-rtc cp-pan~ {rtc unsorted}
-rtc cresc-decresc {rtc unsorted}
-rtc crossfade~ {rtc unsorted}
-rtc ED-rhythm {rtc unsorted}
-rtc ED-trans {rtc unsorted}
-rtc ED2EP {rtc unsorted}
-rtc first {rtc unsorted}
-rtc frq2note {rtc unsorted}
-rtc geom {rtc unsorted}
-rtc grid-rhythm {rtc unsorted}
-rtc group-rhythm {rtc unsorted}
-rtc group-rhythm2 {rtc unsorted}
-rtc groups {rtc unsorted}
-rtc infinity-row {rtc unsorted}
-rtc int-or-float {rtc unsorted}
-rtc intv2ratio {rtc unsorted}
-rtc last {rtc unsorted}
-rtc line2 {rtc unsorted}
-rtc Lround {rtc unsorted}
-rtc make-choice-list {rtc unsorted}
-rtc make-ED-scale {rtc unsorted}
-rtc make-scale {rtc unsorted}
-rtc make-trans-scale {rtc unsorted}
-rtc markov {rtc unsorted}
-rtc markov-harmony {rtc unsorted}
-rtc markov-rhythm {rtc unsorted}
-rtc matrix12 {rtc unsorted}
-rtc metro-dev% {rtc unsorted}
-rtc ms2sec {rtc unsorted}
-rtc multiple {rtc unsorted}
-rtc neutral-harmony {rtc unsorted}
-rtc nname {rtc unsorted}
-rtc normalize-row {rtc unsorted}
-rtc note2cents {rtc unsorted}
-rtc note2frq {rtc unsorted}
-rtc note2pitch {rtc unsorted}
-rtc note2st {rtc unsorted}
-rtc panning {rtc unsorted}
-rtc periodic {rtc unsorted}
-rtc permutate-row {rtc unsorted}
-rtc permute {rtc unsorted}
-rtc pitch-from-intervals {rtc unsorted}
-rtc pitch-from-row {rtc unsorted}
-rtc pitch2note {rtc unsorted}
-rtc play-samp~ {rtc unsorted}
-rtc play2 {rtc unsorted}
-rtc random-ramp {rtc unsorted}
-rtc random-ramp-urn {rtc unsorted}
-rtc random-row {rtc unsorted}
-rtc ratio {rtc unsorted}
-rtc ratio2intv {rtc unsorted}
-rtc repchord-rhythm {rtc unsorted}
-rtc repeat-ED {rtc unsorted}
-rtc rit-acc {rtc unsorted}
-rtc rota {rtc unsorted}
-rtc rotate {rtc unsorted}
-rtc row-modus {rtc unsorted}
-rtc samp10~ {rtc unsorted}
-rtc scale-changer {rtc unsorted}
-rtc schweller {rtc unsorted}
-rtc scramble {rtc unsorted}
-rtc sel-princ {rtc unsorted}
-rtc sequence {rtc unsorted}
-rtc serial-rhythm {rtc unsorted}
-rtc series {rtc unsorted}
-rtc show-pitchclass {rtc unsorted}
-rtc smooth-line {rtc unsorted}
-rtc sneak {rtc unsorted}
-rtc sneak-random {rtc unsorted}
-rtc sneak-rhythm {rtc unsorted}
-rtc sqrt-pan~ {rtc unsorted}
-rtc st2pitch {rtc unsorted}
-rtc super-rhythm {rtc unsorted}
-rtc trans {rtc unsorted}
-rtc trans-exp {rtc unsorted}
-rtc trans-lin {rtc unsorted}
-rtc trans-log {rtc unsorted}
-rtc transp-pitch {rtc unsorted}
-rtc transpose-row {rtc unsorted}
-rtc urne {rtc unsorted}
-rtc VolAmb {rtc unsorted}
-rtc wave-rhythm {rtc unsorted}
-rtc xrandom {rtc unsorted}
-sigpack chop~ {audio generators sigpack}
-sigpack decimate~ {audio generators sigpack}
-sigpack diode~ {audio generators sigpack}
-sigpack foldback~ {audio generators sigpack}
-sigpack foldover~ {audio generators sigpack}
-sigpack freqdiv~ {audio generators sigpack}
-sigpack freqshift~ {audio generators sigpack}
-sigpack harmgen~ {audio generators sigpack}
-sigpack rectify~ {audio generators sigpack}
-sigpack round~ {audio generators sigpack}
-sigpack saturate~ {audio generators sigpack}
-sigpack sieve~ {audio generators sigpack}
-sigpack split~ {audio generators sigpack}
-sigpack ustep~ {audio generators sigpack}
-sigpack vowel~ {audio generators sigpack}
-smlib bp {smlib unsorted}
-smlib deltas {smlib unsorted}
-smlib hip {smlib unsorted}
-smlib hist {smlib unsorted}
-smlib itov {smlib unsorted}
-smlib lavg {smlib unsorted}
-smlib lhist {smlib unsorted}
-smlib lhisti {smlib unsorted}
-smlib linspace {smlib unsorted}
-smlib lmax {smlib unsorted}
-smlib lmin {smlib unsorted}
-smlib lrange {smlib unsorted}
-smlib prevl {smlib unsorted}
-smlib threshold {smlib unsorted}
-smlib vabs {smlib unsorted}
-smlib vclip {smlib unsorted}
-smlib vcog {smlib unsorted}
-smlib vdbtorms {smlib unsorted}
-smlib vdelta {smlib unsorted}
-smlib vfmod {smlib unsorted}
-smlib vftom {smlib unsorted}
-smlib vlavg {smlib unsorted}
-smlib vlmax {smlib unsorted}
-smlib vlmin {smlib unsorted}
-smlib vmax {smlib unsorted}
-smlib vmin {smlib unsorted}
-smlib vmtof {smlib unsorted}
-smlib vpow {smlib unsorted}
-smlib vrms {smlib unsorted}
-smlib vrmstodb {smlib unsorted}
-smlib vstd {smlib unsorted}
-smlib vsum {smlib unsorted}
-smlib vv- {smlib unsorted}
-smlib vv+ {smlib unsorted}
-smlib vvconv {smlib unsorted}
-toxy tot {gui toxy}
-unauthorized audience~ {unauthorized unsorted}
-unauthorized beatify~ {unauthorized unsorted}
-unauthorized blinkenlights {unauthorized unsorted}
-unauthorized compressor~ {unauthorized unsorted}
-unauthorized cooled~ {unauthorized unsorted}
-unauthorized countund {unauthorized unsorted}
-unauthorized disto~ {unauthorized unsorted}
-unauthorized exciter {unauthorized unsorted}
-unauthorized filterbank~ {unauthorized unsorted}
-unauthorized formant~ {unauthorized unsorted}
-unauthorized graphic-mp3amp~ {audio encoding unauthorized}
-unauthorized grid {gui unauthorized}
-unauthorized mp3amp~ {audio encoding unauthorized}
-unauthorized mp3cast~ {audio encoding unauthorized}
-unauthorized mp3live~ {audio encoding unauthorized}
-unauthorized mp3write~ {audio encoding unauthorized}
-unauthorized pianoroll {gui unauthorized}
-unauthorized probalizer {unauthorized unsorted}
-unauthorized randomblock~ {unauthorized unsorted}
-unauthorized samplebox~ {unauthorized unsorted}
-unauthorized scratcher~ {unauthorized unsorted}
-unauthorized sonogram~ {unauthorized unsorted}
-unauthorized sonograph~ {unauthorized unsorted}
-unauthorized speex~ {unauthorized unsorted}
-unauthorized spigot~ {unauthorized unsorted}
-unauthorized stkdrone~ {unauthorized unsorted}
-unauthorized stksitar~ {unauthorized unsorted}
-unauthorized vocoder~ {unauthorized unsorted}
-unauthorized wahwah~ {unauthorized unsorted}
-vasp vasp {declaration vasp}
-vasp vasp.- {arithmetic vasp}
-vasp vasp.-> {basics vasp}
-vasp vasp.! {basics vasp}
-vasp vasp.!- {arithmetic vasp}
-vasp vasp.!/ {arithmetic vasp}
-vasp vasp.!= {arithmetic vasp}
-vasp vasp.!window {functions vasp window}
-vasp vasp.? {basics vasp}
-vasp vasp.?? {basics vasp}
-vasp vasp.* {arithmetic vasp}
-vasp vasp.*!window {functions vasp window}
-vasp vasp.*cosc {generators vasp}
-vasp vasp.*osc {generators vasp}
-vasp vasp.*phasor {generators vasp}
-vasp vasp.*window {functions vasp window}
-vasp vasp.*xwindow {functions vasp window}
-vasp vasp./ {arithmetic vasp}
-vasp vasp.% {arithmetic vasp}
-vasp vasp.+ {arithmetic vasp}
-vasp vasp.< {arithmetic vasp}
-vasp vasp.<= {arithmetic vasp}
-vasp vasp.= {arithmetic vasp}
-vasp vasp.== {arithmetic vasp}
-vasp vasp.> {arithmetic vasp}
-vasp vasp.>= {arithmetic vasp}
-vasp vasp.a< {arithmetic vasp}
-vasp vasp.a<= {arithmetic vasp}
-vasp vasp.a> {arithmetic vasp}
-vasp vasp.a>= {arithmetic vasp}
-vasp vasp.abs {arithmetic vasp}
-vasp vasp.amax? {minmax vasp}
-vasp vasp.amin? {minmax vasp}
-vasp vasp.c- {arithmetic vasp}
-vasp vasp.c-> {basics vasp}
-vasp vasp.c!- {arithmetic vasp}
-vasp vasp.c!/ {arithmetic vasp}
-vasp vasp.c!fft {fft objects vasp}
-vasp vasp.c* {arithmetic vasp}
-vasp vasp.c/ {arithmetic vasp}
-vasp vasp.c+ {arithmetic vasp}
-vasp vasp.c= {arithmetic vasp}
-vasp vasp.cconj {arithmetic vasp}
-vasp vasp.cfft {fft objects vasp}
-vasp vasp.channel {declaration vasp}
-vasp vasp.channel? {declaration vasp}
-vasp vasp.check {basics vasp}
-vasp vasp.cnoise {generators vasp}
-vasp vasp.cnorm {utilities vasp}
-vasp vasp.cosc {generators vasp}
-vasp vasp.cpowi {transcendent vasp}
-vasp vasp.csqr {transcendent vasp}
-vasp vasp.dif {arithmetic vasp}
-vasp vasp.exp {transcendent vasp}
-vasp vasp.fhp {filters vasp}
-vasp vasp.fi {utilities vasp}
-vasp vasp.flp {filters vasp}
-vasp vasp.frames {declaration vasp}
-vasp vasp.frames? {declaration vasp}
-vasp vasp.frames* {declaration vasp}
-vasp vasp.frames/ {declaration vasp}
-vasp vasp.frames+ {declaration vasp}
-vasp vasp.frames= {declaration vasp}
-vasp vasp.gate {utilities vasp}
-vasp vasp.gather {basics vasp}
-vasp vasp.int {arithmetic vasp}
-vasp {vasp.join 2} {basics vasp}
-vasp vasp.log {transcendent vasp}
-vasp vasp.max {minmax vasp}
-vasp vasp.max? {minmax vasp}
-vasp vasp.min {minmax vasp}
-vasp vasp.min? {minmax vasp}
-vasp vasp.minmax? {minmax vasp}
-vasp vasp.mirr {displace vasp}
-vasp vasp.multi {basics vasp}
-vasp vasp.noise {generators vasp}
-vasp vasp.offset {declaration vasp}
-vasp vasp.offset? {declaration vasp}
-vasp vasp.offset+ {declaration vasp}
-vasp vasp.offset= {declaration vasp}
-vasp vasp.opt {utilities vasp}
-vasp vasp.osc {generators vasp}
-vasp vasp.part {basics vasp}
-vasp vasp.peaks {filters vasp}
-vasp vasp.phasor {generators vasp}
-vasp vasp.polar {fft objects vasp}
-vasp vasp.pow {transcendent vasp}
-vasp vasp.pwrap {utilities vasp}
-vasp vasp.r!fft {fft objects vasp}
-vasp vasp.r+ {arithmetic vasp}
-vasp vasp.radio {utilities vasp}
-vasp vasp.rect {fft objects vasp}
-vasp vasp.rfft {fft objects vasp}
-vasp vasp.rgate {utilities vasp}
-vasp vasp.rmax {minmax vasp}
-vasp vasp.rmax? {minmax vasp}
-vasp vasp.rmin {minmax vasp}
-vasp vasp.rmin? {minmax vasp}
-vasp vasp.ropt {utilities vasp}
-vasp vasp.rot {displace vasp}
-vasp vasp.rpeaks {filters vasp}
-vasp vasp.rpow {transcendent vasp}
-vasp vasp.rvalleys {filters vasp}
-vasp vasp.shift {displace vasp}
-vasp vasp.sign {arithmetic vasp}
-vasp vasp.size {declaration vasp}
-vasp vasp.size? {declaration vasp}
-vasp vasp.size* {declaration vasp}
-vasp vasp.size/ {declaration vasp}
-vasp vasp.size+ {declaration vasp}
-vasp vasp.spit {basics vasp}
-vasp {vasp.split 2} {basics vasp}
-vasp vasp.sqr {transcendent vasp}
-vasp vasp.sqrt {transcendent vasp}
-vasp vasp.ssqr {transcendent vasp}
-vasp vasp.ssqrt {transcendent vasp}
-vasp vasp.sum? {arithmetic vasp}
-vasp vasp.sync {basics vasp}
-vasp vasp.tilt {displace vasp}
-vasp vasp.update {basics vasp}
-vasp vasp.valleys {filters vasp}
-vasp vasp.vector {declaration vasp}
-vasp vasp.vectors? {declaration vasp}
-vasp vasp.window {functions vasp window}
-vasp vasp.xmirr {displace vasp}
-vasp vasp.xrot {displace vasp}
-vasp vasp.xshift {displace vasp}
-vasp vasp.xtilt {displace vasp}
-vasp vasp.xwindow {functions vasp window}
-xsample xgroove~ {and audio oscillators tables xsample}
-xsample xplay~ {and audio oscillators tables xsample}
-xsample xrecord~ {and audio oscillators tables xsample}
-zexy . {math zexy}
-zexy &&~ {audio binops logical operators zexy}
-zexy <~ {audio binops logical operators zexy}
-zexy ==~ {audio binops logical operators zexy}
-zexy >~ {audio binops logical operators zexy}
-zexy ||~ {audio binops logical operators zexy}
-zexy abs~ {audio math zexy}
-zexy any2list {control glue zexy}
-zexy atoi {control glue zexy}
-zexy avg~ {analysis audio zexy}
-zexy blockmirror~ {audio processing zexy}
-zexy blockswap~ {audio processing zexy}
-zexy date {control glue zexy}
-zexy deg2rad {math zexy}
-zexy demultiplex {control glue zexy}
-zexy demultiplex~ {audio misc zexy}
-zexy dfreq~ {analysis audio zexy}
-zexy dirac~ {audio generators zexy}
-zexy drip {control glue zexy}
-zexy envrms~ {analysis audio zexy}
-zexy glue {control glue zexy}
-zexy index {control glue zexy}
-zexy length {control glue zexy}
-zexy limiter~ {audio processing zexy}
-zexy list2int {control glue zexy}
-zexy list2symbol {control glue zexy}
-zexy lister {control glue zexy}
-zexy lpt {control glue zexy}
-zexy makesymbol {control glue zexy}
-zexy matrix {matrix storage zexy}
-zexy matrix~ {audio misc zexy}
-zexy mavg {math zexy}
-zexy minmax {math zexy}
-zexy msgfile {control glue zexy}
-zexy mtx_.* {matrix storage zexy}
-zexy mtx_./ {matrix storage zexy}
-zexy mtx_add {matrix storage zexy}
-zexy mtx_check {matrix storage zexy}
-zexy mtx_col {matrix storage zexy}
-zexy mtx_diag {matrix storage zexy}
-zexy mtx_diag {matrix storage zexy}
-zexy mtx_diegg {matrix storage zexy}
-zexy mtx_egg {matrix storage zexy}
-zexy mtx_element {matrix storage zexy}
-zexy mtx_eye {matrix storage zexy}
-zexy mtx_inverse {matrix storage zexy}
-zexy mtx_mean {matrix storage zexy}
-zexy mtx_mul {matrix storage zexy}
-zexy mtx_ones {matrix storage zexy}
-zexy mtx_pivot {matrix storage zexy}
-zexy mtx_print {matrix storage zexy}
-zexy mtx_rand {matrix storage zexy}
-zexy mtx_resize {matrix storage zexy}
-zexy mtx_roll {matrix storage zexy}
-zexy mtx_row {matrix storage zexy}
-zexy mtx_scroll {matrix storage zexy}
-zexy mtx_size {matrix storage zexy}
-zexy mtx_sub {matrix storage zexy}
-zexy mtx_trace {matrix storage zexy}
-zexy mtx_transpose {matrix storage zexy}
-zexy mtx_zeros {matrix storage zexy}
-zexy multiline~ {audio misc zexy}
-zexy multiplex~ {audio misc zexy}
-zexy niagara {control glue zexy}
-zexy noish~ {audio generators zexy}
-zexy noisi~ {audio generators zexy}
-zexy nop {control glue zexy}
-zexy nop~ {audio misc zexy}
-zexy operating_system {control glue zexy}
-zexy pack~ {audio misc zexy}
-zexy packel {control glue zexy}
-zexy pdf~ {analysis audio zexy}
-zexy pol2cart {math zexy}
-zexy pol2sph {math zexy}
-zexy prime {math zexy}
-zexy quantize~ {audio processing zexy}
-zexy rad2deg {math zexy}
-zexy repack {control glue zexy}
-zexy repeat {control glue zexy}
-zexy segregate {control glue zexy}
-zexy sfplay {audio in out zexy}
-zexy sfrecord {audio in out zexy}
-zexy sgn~ {audio math zexy}
-zexy sigzero~ {analysis audio zexy}
-zexy sort {math zexy}
-zexy sph2cart {math zexy}
-zexy sph2pol {math zexy}
-zexy step~ {audio generators zexy}
-zexy strcmp {control glue zexy}
-zexy swap~ {audio processing zexy}
-zexy symbol2list {control glue zexy}
-zexy tabdump {control glue tables zexy}
-zexy tabset {control glue tables zexy}
-zexy tavg~ {analysis audio zexy}
-zexy time {control glue zexy}
-zexy unpack~ {audio misc zexy}
-zexy urn {math zexy}
-zexy wrap {math zexy}
-zexy z~ {audio processing zexy}
-{zexy Abstraction} cart2pol {abstraction math zexy}
-{zexy Abstraction} cart2sph {abstraction math zexy}
-{zexy Abstraction} deg2rad {abstraction math zexy}
-{zexy Abstraction} mean {abstraction math zexy}
diff --git a/scripts/guiplugins/quickbindings/quickbindings-plugin.tcl b/scripts/guiplugins/quickbindings/quickbindings-plugin.tcl
deleted file mode 100644
index 8f6081a37..000000000
--- a/scripts/guiplugins/quickbindings/quickbindings-plugin.tcl
+++ /dev/null
@@ -1,39 +0,0 @@
-# this is a rough attempt to bind keys to little snippets of patches.
-# Currently, there are only three keys bound: o r s
-
-package require pd_connect ;# for pdsend
-
-namespace eval ::patch_by_key:: {
-    variable patches
-    array set patches {}
-}
-
-proc ::patch_by_key::init {} {
-    variable patches
-    # map keys to patch snippets
-    set patches(o) "#X obj 1 2 osc~;"
-    set patches(r) "#X obj 1 2 r test;"
-    set patches(s) "#X obj 1 2 s test;"
-}
-
-proc ::patch_by_key::key {tkcanvas key x y} {
-    pdtk_post "::patch_by_key::key $tkcanvas $key $x $y"
-    variable patches
-    set mytoplevel [winfo toplevel $tkcanvas]
-
-    # make sure we have a mapping for the key before continuing
-    if {[lsearch -exact [array names patches] $key] == -1} {return}
-    # only do this for PatchWindows, not dialogs, pdwindow, etc.
-    if {[winfo class $mytoplevel] ne "PatchWindow"} {return}
-    # only do this if the canvas is in editmode
-    if {$::editmode($mytoplevel) != 1} {return}
-
-    # regexp magic to replace #X with the current canvas name, and the
-    # (x,y) with the current mouse location
-    set x [$tkcanvas canvasx $x]
-    set y [$tkcanvas canvasy $y]
-    pdsend [regsub -- {#X (\S+) [0-9]+ [0-9]+} $patches($key) "$mytoplevel \\1 $x $y"]
-}
-
-::patch_by_key::init
-bind all <Key> "+::patch_by_key::key %W %K %x %y"
diff --git a/scripts/guiplugins/simple_examples/LICENSE.txt b/scripts/guiplugins/simple_examples/LICENSE.txt
deleted file mode 100644
index c9d8d7d84..000000000
--- a/scripts/guiplugins/simple_examples/LICENSE.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-This code has been put into the public domain
-
-Statement of Purpose
-
-The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work").
-
-Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others.
-
-For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights.
-
-1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following:
-	i.	the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work;
-	ii.	moral rights retained by the original author(s) and/or performer(s);
-	iii.	publicity and privacy rights pertaining to a person's image or likeness depicted in a Work;
-	iv.	rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below;
-	v.	rights protecting the extraction, dissemination, use and reuse of data in a Work;
-	vi.	database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and
-	vii.	other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof.
-
-2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose.
-
-3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose.
-
-4. Limitations and Disclaimers.
-	a.	No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document.
-	b.	Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law.
-	c.	Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work.
-	d.	Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work.
-
diff --git a/scripts/guiplugins/simple_examples/add_item_to_popup_menu-plugin.tcl b/scripts/guiplugins/simple_examples/add_item_to_popup_menu-plugin.tcl
deleted file mode 100644
index 04ebd55ab..000000000
--- a/scripts/guiplugins/simple_examples/add_item_to_popup_menu-plugin.tcl
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-# for more info: http://tcl.tk/man/tcl8.5/TkCmd/menu.htm
-.popup add separator
-.popup add command -label "My Favorite Object" \
-    -command {pdsend "$::focused_window obj $::popup_xcanvas $::popup_ycanvas osc~"}
diff --git a/scripts/guiplugins/simple_examples/add_menubar_to_popup_menu-plugin.tcl b/scripts/guiplugins/simple_examples/add_menubar_to_popup_menu-plugin.tcl
deleted file mode 100644
index ee8149bc7..000000000
--- a/scripts/guiplugins/simple_examples/add_menubar_to_popup_menu-plugin.tcl
+++ /dev/null
@@ -1,17 +0,0 @@
-# this scriptlet removes the menubars from all canvas windows.  You could also
-# create your own custom menu and add it to the canvas windows.
-
-# TODO ::pd_menus::update_window_menu expects to find ::patch_menubar not ""
-
-# on Mac OS X, no windows have menubars, so no need to remove for 'aqua'
-if {$::windowingsystem ne "aqua"} {
-    set ::patch_menubar ""
-}
-    
-set menulist "file edit put find media window help"
-.popup add separator
-foreach mymenu $menulist {   
-    .menubar.$mymenu clone .popup.$mymenu normal
-    .popup add cascade -label [_ [string totitle $mymenu]] \
-        -menu .popup.$mymenu
-}
diff --git a/scripts/guiplugins/simple_examples/add_my_patches_to_media_menu-plugin.tcl b/scripts/guiplugins/simple_examples/add_my_patches_to_media_menu-plugin.tcl
deleted file mode 100644
index bf9f3ab0a..000000000
--- a/scripts/guiplugins/simple_examples/add_my_patches_to_media_menu-plugin.tcl
+++ /dev/null
@@ -1,11 +0,0 @@
-# this script searches a folder for Pd patches, then adds them to the bottom
-# of the Media menu for quick opening
-
-# you probably want to set this to something that makes sense for you:
-set mypatch_dir ~/Documents/Pd
-
-.menubar.media add separator
-
-foreach filename [glob -directory $mypatch_dir -nocomplain -types {f} -- *.pd] {
-    .menubar.media add command -label [file tail $filename] -command "open_file $filename"
-}
diff --git a/scripts/guiplugins/simple_examples/clone_put_menu_into_popup_menu-plugin.tcl b/scripts/guiplugins/simple_examples/clone_put_menu_into_popup_menu-plugin.tcl
deleted file mode 100644
index 0a1de7a34..000000000
--- a/scripts/guiplugins/simple_examples/clone_put_menu_into_popup_menu-plugin.tcl
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-# for more info: http://tcl.tk/man/tcl8.5/TkCmd/menu.htm
-.menubar.put clone .popup.create normal
-.popup insert 0 cascade -label [_ "Put"] -menu .popup.create
-.popup.create configure -tearoff 1
diff --git a/scripts/guiplugins/simple_examples/editmode_look-plugin.tcl b/scripts/guiplugins/simple_examples/editmode_look-plugin.tcl
deleted file mode 100644
index 669d03f16..000000000
--- a/scripts/guiplugins/simple_examples/editmode_look-plugin.tcl
+++ /dev/null
@@ -1,33 +0,0 @@
-# this script makes it so that the cords are hidden when not in edit mode
-
-proc set_cords_by_editmode {mytoplevel} {
-    if {$mytoplevel eq ".pdwindow"} {return}
-    set tkcanvas [tkcanvas_name $mytoplevel]
- 	if { ! [winfo exists $mytoplevel] } {return}
-    if {$::editmode($mytoplevel) == 1} {
-        $tkcanvas configure -background "#fff"
-        $tkcanvas itemconfigure graph -fill black
-        $tkcanvas itemconfigure array -fill black
-        $tkcanvas itemconfigure array -activefill blue
-        $tkcanvas itemconfigure label -fill black
-        $tkcanvas itemconfigure obj -fill black
-        $tkcanvas itemconfigure msg -activefill black
-        $tkcanvas itemconfigure atom -activefill black
-        $tkcanvas itemconfigure cord -fill black
-        $tkcanvas itemconfigure {inlet || outlet} -outline black
-    } else {
-        $tkcanvas configure -background white
-        $tkcanvas itemconfigure graph -fill magenta
-        $tkcanvas itemconfigure array -fill cyan
-        $tkcanvas itemconfigure array -activefill blue
-        $tkcanvas itemconfigure label -fill "#777777"
-        $tkcanvas itemconfigure obj -fill grey
-        $tkcanvas itemconfigure msg -activefill blue
-        $tkcanvas itemconfigure atom -activefill blue
-        $tkcanvas itemconfigure cord -fill grey
-        $tkcanvas itemconfigure {inlet || outlet} -outline white
-        $tkcanvas lower {inlet || outlet}
-    }
-}
-
-bind all <<EditMode>> {+set_cords_by_editmode %W}
diff --git a/scripts/guiplugins/simple_examples/font_doesnt_follow_focus-plugin.tcl b/scripts/guiplugins/simple_examples/font_doesnt_follow_focus-plugin.tcl
deleted file mode 100644
index a822bd573..000000000
--- a/scripts/guiplugins/simple_examples/font_doesnt_follow_focus-plugin.tcl
+++ /dev/null
@@ -1,11 +0,0 @@
-# this plugin disables the following of focused window by overriding a proc
-
-rename ::dialog_font::update_font_dialog {}
-proc ::dialog_font::update_font_dialog {mytoplevel} {
-    variable canvaswindow
-    if {[winfo exists .font]} {
-        wm title .font [format [_ "%s Font"] [lookup_windowname $canvaswindow]]
-    } else {
-        set canvaswindow $mytoplevel
-    }
-}
diff --git a/scripts/guiplugins/simple_examples/global_editmode_0-plugin.tcl b/scripts/guiplugins/simple_examples/global_editmode_0-plugin.tcl
deleted file mode 100644
index 98f7a6a1e..000000000
--- a/scripts/guiplugins/simple_examples/global_editmode_0-plugin.tcl
+++ /dev/null
@@ -1,15 +0,0 @@
-#
-# this plugin maps Ctrl-Shift-E (Cmd-Shift-E) to switch all open patches to
-# Interact Mode (i.e. the opposite of Edit Mode)
-
-proc global_turn_off_editmode {} {
-    pdtk_post "$::pd_menus::accelerator-Shift-E: Turning off edit mode for all open windows"
-    foreach window [winfo children .] {
-        if {[winfo class $window] eq "PatchWindow"} {
-            pdsend "$window editmode 0"
-        }
-    }
-}
-
-# the "E" needs to be upper case, otherwise it gets missed with the 'Shift'
-bind all <$::modifier-Shift-Key-E> global_turn_off_editmode
diff --git a/scripts/guiplugins/simple_examples/gtklook-plugin.tcl b/scripts/guiplugins/simple_examples/gtklook-plugin.tcl
deleted file mode 100644
index 263c6d499..000000000
--- a/scripts/guiplugins/simple_examples/gtklook-plugin.tcl
+++ /dev/null
@@ -1,41 +0,0 @@
-# learn more here: http://www.cs.man.ac.uk/~fellowsd/tcl/option-tutorial.html
-if { [tk windowingsystem] == "x11" } {
-    option add *borderWidth 1 widgetDefault
-    option add *activeBorderWidth 1 widgetDefault
-    option add *selectBorderWidth 1 widgetDefault
-    option add *font -adobe-helvetica-medium-r-normal-*-12-*-*-*-*-*-*
-
-    option add *padX 2
-    option add *padY 4
-
-    option add *Listbox.background white
-    option add *Listbox.selectBorderWidth 0
-    option add *Listbox.selectForeground white
-    option add *Listbox.selectBackground #4a6984
-
-    option add *Entry.background white
-    option add *Entry.foreground black
-    option add *Entry.selectBorderWidth 0
-    option add *Entry.selectForeground white
-    option add *Entry.selectBackground #4a6984
-
-    option add *Text.background white
-    option add *Text.selectBorderWidth 0
-    option add *Text.selectForeground white
-    option add *Text.selectBackground #4a6984
-
-    option add *Menu.activeBackground #4a6984
-    option add *Menu.activeForeground white
-    option add *Menu.activeBorderWidth 0
-    option add *Menu.highlightThickness 0
-    option add *Menu.borderWidth 2
-
-    option add *MenuButton.activeBackground #4a6984
-    option add *MenuButton.activeForeground white
-    option add *MenuButton.activeBorderWidth 0
-    option add *MenuButton.highlightThickness 0
-    option add *MenuButton.borderWidth 0
-
-    option add *highlightThickness 0
-    option add *troughColor #bdb6ad
-}
diff --git a/scripts/guiplugins/simple_examples/hide_cords_in_editmode-plugin.tcl b/scripts/guiplugins/simple_examples/hide_cords_in_editmode-plugin.tcl
deleted file mode 100644
index a0cd18954..000000000
--- a/scripts/guiplugins/simple_examples/hide_cords_in_editmode-plugin.tcl
+++ /dev/null
@@ -1,16 +0,0 @@
-# this script makes it so that the cords are hidden when not in edit mode
-
-proc set_cords_by_editmode {mytoplevel} {
-    if {$mytoplevel eq ".pdwindow"} {return}
-    set tkcanvas [tkcanvas_name $mytoplevel]
- 	if { ! [winfo exists $mytoplevel] } {return}
-    if {$::editmode($mytoplevel) == 1} {
-        $tkcanvas itemconfigure cord -fill black
-        $tkcanvas raise cord
-    } else {
-        $tkcanvas itemconfigure cord -fill white
-        $tkcanvas lower cord
-    }
-}
-
-bind all <<EditMode>> {+set_cords_by_editmode %W}
diff --git a/scripts/guiplugins/simple_examples/insert_into_popup_menu-plugin.tcl b/scripts/guiplugins/simple_examples/insert_into_popup_menu-plugin.tcl
deleted file mode 100644
index 71384f8ba..000000000
--- a/scripts/guiplugins/simple_examples/insert_into_popup_menu-plugin.tcl
+++ /dev/null
@@ -1,26 +0,0 @@
-
-# for more info: http://tcl.tk/man/tcl8.5/TkCmd/menu.htm
-
-# create the item, then stick it to the canvas using a 'mouseup' message
-proc popup_create_put {putitem} {
-    pdsend "$::focused_window $putitem"
-    pdsend "$::focused_window mouseup $::popup_xpix $::popup_ypix 1"
-}
-
-# create our submenu
-menu .popup.create
-# fix menu font size on Windows with tk scaling = 1
-if {$::windowingsystem eq "win32"} {.popup.create configure -font menufont}
-
-# add items to our submenu
-# (wrapping the label like [_ ""] means that text will be localized)
-.popup.create add command -label [_ "Object"] -command {popup_create_put "obj"}
-.popup.create add command -label [_ "Message"] -command {popup_create_put "msg"}
-.popup.create add command -label [_ "Number"] -command {popup_create_put "floatatom"}
-.popup.create add command -label [_ "Symbol"] -command {popup_create_put "symbolatom"}
-.popup.create add command -label [_ "Comment"] -command {popup_create_put "text"}
-.popup.create add  separator
-.popup.create add command -label [_ "Array"] -command {pdsend "$::focused_window menuarray"}
-
-# insert our submenu as the 0th element on the popup
-.popup insert 0 cascade -label [_ "Put"] -menu .popup.create
diff --git a/scripts/guiplugins/simple_examples/meters_default_on-plugin.tcl b/scripts/guiplugins/simple_examples/meters_default_on-plugin.tcl
deleted file mode 100644
index 4e8cbd6b8..000000000
--- a/scripts/guiplugins/simple_examples/meters_default_on-plugin.tcl
+++ /dev/null
@@ -1,3 +0,0 @@
-# this makes the meters in the Pd window be on by default
-set ::meters 1
-pdsend "pd meters 1"
diff --git a/scripts/guiplugins/simple_examples/pdwindow_popup_mode-plugin.tcl b/scripts/guiplugins/simple_examples/pdwindow_popup_mode-plugin.tcl
deleted file mode 100644
index fd1c296da..000000000
--- a/scripts/guiplugins/simple_examples/pdwindow_popup_mode-plugin.tcl
+++ /dev/null
@@ -1,19 +0,0 @@
-# create an option for a mode where the Pd window pops up whenever anything is
-# printed to the text box in the Pd window
-
-set ::pdwindow::popupmode 0
-rename pdtk_post pdtk_post_original
-proc pdtk_post {message} {
-    if {$::pdwindow::popupmode} {
-        wm deiconify .pdwindow
-        raise .pdwindow
-    }
-    pdtk_post_original $message
-}
-
-set mymenu .menubar.window
-set inserthere [$mymenu index [_ "Parent Window"]]
-$mymenu insert $inserthere separator
-$mymenu insert $inserthere check -label [_ " Popup mode"] -variable ::pdwindow::popupmode
-
-
diff --git a/scripts/guiplugins/simple_examples/remove_menubar_from_patch_windows-plugin.tcl b/scripts/guiplugins/simple_examples/remove_menubar_from_patch_windows-plugin.tcl
deleted file mode 100644
index 124d216b6..000000000
--- a/scripts/guiplugins/simple_examples/remove_menubar_from_patch_windows-plugin.tcl
+++ /dev/null
@@ -1,7 +0,0 @@
-# this scriptlet removes the menubars from all canvas windows.  You could also
-# create your own custom menu and add it to the canvas windows.
-
-# on Mac OS X, no windows have menubars, so no need to remove for 'aqua'
-if {$::windowingsystem ne "aqua"} {
-    set ::canvas_menubar ""
-}
diff --git a/scripts/guiplugins/simple_examples/set_canvas_minsize-plugin.tcl b/scripts/guiplugins/simple_examples/set_canvas_minsize-plugin.tcl
deleted file mode 100644
index 3b445edc0..000000000
--- a/scripts/guiplugins/simple_examples/set_canvas_minsize-plugin.tcl
+++ /dev/null
@@ -1,8 +0,0 @@
-
-# set the minimum size of canvas windows, so it doesn't hide the menubar
-if {$::windowingsystem ne "aqua"} {
-    set ::canvas_minwidth 310
-    set ::canvas_minheight 45
-}
-
-
diff --git a/scripts/guiplugins/simple_examples/set_custom_stored_histories-plugin.tcl b/scripts/guiplugins/simple_examples/set_custom_stored_histories-plugin.tcl
deleted file mode 100644
index 138937403..000000000
--- a/scripts/guiplugins/simple_examples/set_custom_stored_histories-plugin.tcl
+++ /dev/null
@@ -1,6 +0,0 @@
-# you can preset the histories of various things like the Tcl entry box in the
-# Pd window and the messages in the Message dialog. They are lists of messages
-# in order of newness, so the newest item is at the end of the list.
-
-set ::pdwindow::tclentry_history {"menu_message_dialog" "console hide" "console show"}
-set ::dialog_message::message_history {"pd dsp 1" "pd dsp 0" "my very custom message"}
diff --git a/scripts/guiplugins/simple_examples/tripleclickobj-plugin.tcl b/scripts/guiplugins/simple_examples/tripleclickobj-plugin.tcl
deleted file mode 100644
index 715cd5602..000000000
--- a/scripts/guiplugins/simple_examples/tripleclickobj-plugin.tcl
+++ /dev/null
@@ -1,9 +0,0 @@
-# This is a sketch to demonstrate a Tcl "plugin" for Pd: it binds to
-# triple-clicks to trigger the creation of a new object.
-proc process_tripleclick {window} {
-	set mytoplevel [winfo toplevel $window] 
-    if {[winfo class $mytoplevel] == "PatchWindow" && $::editmode($mytoplevel)} {
-		::pd_connect::pdsend "$mytoplevel obj"
-	}
-}
-bind all <Triple-ButtonRelease-1> {process_tripleclick %W}
diff --git a/scripts/insert_declare.py b/scripts/insert_declare.py
deleted file mode 100755
index 15e0f58ed..000000000
--- a/scripts/insert_declare.py
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/python
-
-import string 
-import os,sys
-import re
-import StringIO
-
-library = os.getcwd().split('/')[-1]
-
-print "current library: " + library + "\n"
-
-for root, dirs, files in os.walk('.'):
-    try:
-        dirs.remove('.svn')
-    except:
-        pass
-#    print "root: " + root
-    for name in files:
-        m = re.search(".*\.pd$", name)
-        if m:
-            helppatch = os.path.join(root, m.string)
-            fd = open(helppatch, 'r')
-            contents = fd.readlines()
-            fd.close()
-            firstline = contents[0]
-            contents.remove(firstline)
-#            fd = open(helppatch + ".new", 'w')
-            print helppatch
-            fd = open(helppatch, 'w')
-            fd.write(firstline)
-#            fd.write("#X declare -lib " + library.lower() + ";\n")
-            fd.write("#X declare -path ..;\n")
-            fd.writelines(contents)
-            fd.close()
-
diff --git a/scripts/parse-help-patches.pl b/scripts/parse-help-patches.pl
deleted file mode 100755
index a96b16377..000000000
--- a/scripts/parse-help-patches.pl
+++ /dev/null
@@ -1,254 +0,0 @@
-#!/usr/bin/perl
-
-# WARNING!  This script is really ugly!
-
-# to use:
-#   1) make a folder, like en-import
-#   2) run ../parse-help-patches.pl in it
-#   3) voila!
-#
-# on the server, run:
-#   find en-import/ -type f -name \*.txt | ./wiki_import.sh -s 'Top level'
-
-use strict;
-use warnings;
-use Text::CSV_PP;
-
-my $line = "";
-my @lines;
-my $lineCount = 0;
-my $column;
-my $lastColumn = 0;
-my $printText = "";
-
-my %classnames = ();
-my %xyhash = ();
-
-my $libraryName = "";
-my $objectclassName = "";
-my $fileName = "";
-
-my $pageName = "";
-my $abbreviationName = "";
-my $descriptionName = "";
-my $categoryName = "";
-my $datatypeName = "";
-
-#------------------------------------------------------------------------------#
-# TRANSLATION VARIABLES
-#------------------------------------------------------------------------------#
-
-# wikipedia terms
-my $stub = "";
-my $template = "";
-my $category = "";
-my $infobox = "";
-
-# pdpedia terms
-my $objectclass = "";
-
-# page headers
-my $inlets = "";
-my $outlets = "";
-my $arguments = "";
-my $messages = "";
-
-# infobox
-my $name = "";
-my $description = "";
-my $abbreviation = "";
-my $library = "";
-my $author = "";
-my $developer = "";
-my $releaseVersion = "";
-my $releaseDate = "";
-my $dependencies = "";
-my $license = "";
-my $website = "";
-my $programmingLanguage = "";
-my $platform = "";
-my $operatingSystem = "";
-my $language = "";
-my $dataType = "";
-my $distribution = "";
-my $status = "";
-my $caption = "";
-
-#------------------------------------------------------------------------------#
-# Français
-
-# wikipedia terms
-$stub = "Ébauche";
-$template = "Modèle";
-$category = "Catégorie";
-$infobox = "Infos";
-
-# pdpedia terms
-$objectclass = "Classe d'objets";
-
-# page headers
-$inlets = "Entrées";
-$outlets = "Sorties";
-$arguments = "Arguments";
-$messages = "Messages";
-
-# infobox
-$name = "Nom";
-$description = "Description";
-$abbreviation = "Abréviation";
-$library = "Bibliothèque";
-$author = "Auteur";
-$developer = "Développeur";
-$releaseVersion = "Version";
-$releaseDate = "Date";
-$dependencies = "Dépendances";
-$license = "Licence";
-$website = "Site Web";
-$programmingLanguage = "Langage de programmation";
-$platform = "Plate-forme";
-$operatingSystem = "Système d'exploitation";
-$language = "Langue";
-$dataType = "Type de données";
-$distribution = "Distribution";
-
-$status = "État";
-$caption = "Légende";
-$language = "Langue";
-
-
-
-
-#------------------------------------------------------------------------------#
-# PARSE CSV
-#------------------------------------------------------------------------------#
-my $csvfile = '/Users/hans/Desktop/TODO/wiki_files_hacked/objectlist.csv';
-my $csv = Text::CSV_PP->new();
-my %csvhash = ();
-
-open (CSV, "<", $csvfile) or die $!;
-my @csvlines = split(/\012\015?|\015\012?/,(join '',<CSV>));
-foreach (@csvlines) {
-	 if ($csv->parse($_)) {
-		  my @columns = $csv->fields();
-		  $csvhash{ $columns[0] }{ $columns[2] } = "$columns[0],$columns[2],$columns[3],$columns[4],$columns[5],$columns[7]";
-		  #print("$columns[0],$columns[2] | ");
-	 } else {
-  		  my $err = $csv->error_input;
-  		  print "Failed to parse line: $err";
-	 }
-}
-close CSV;
-
-#------------------------------------------------------------------------------#
-# PARSE HELP FILES
-#------------------------------------------------------------------------------#
-
-foreach (`/sw/bin/find /Users/hans/Desktop/TODO/wiki_files_hacked/5.reference/ -type f -name '*.pd'`) {
-  chop;
-  $fileName = "";
-  if( (m|.*/5\.reference/([a-zA-Z0-9_-]+)/(.+)-help\.pd|) ||  (m|.*/5\.reference/([a-zA-Z0-9_-]+)/(.+)\.pd|) ) {
-#	 print("$1 , $2\t");
-	 if( $1 eq 'zflatspace' ) { $libraryName = "flatspace";}
-	 else {$libraryName = lc($1); }
-	 $objectclassName = $2;
-	 $fileName = $_;
-  }
-
-#  print "filename: $fileName\n";  
-  if ($fileName) {
-	 $printText = "";            # init container
-	 %xyhash = ();               # init sorting hash
-
-	 open(HELPPATCH, "$fileName");
-	 undef $/;						  # $/ defines the "end of record" character
-	 $_ = <HELPPATCH>;			  # read the whole file into the scalar 
-	 close HELPPATCH;
-	 $/ = "\n";						  # Restore for normal behaviour later in script
-  
-	 s| \\||g;						  # remove Pd-style escaping
-	 s|([^;])\n|$1 |g;			  # remove extra newlines
-	 s|\(http://.*\)\([ \n]\)|[$1]$2|g;
-  
-	 @lines = split(';\n', $_);
-
-	 foreach (@lines) {
-		if (m|^#X text ([0-9]+) ([0-9]+) (.*)|) {
-		  $xyhash{ $2 }{ $1 } = $3;
-		  #	 print("$lineCount @ $1,$2: $3\n");
-		}
-		$lineCount++;
-	 }
-	 for ($column = -300; $column < 1501; $column += 300) {
-		foreach my $yKey ( sort {$a <=> $b} keys(%xyhash) ) {
-		  foreach my $xKey ( keys(%{$xyhash{$yKey}}) ) {
-			 if ( ($xKey > $lastColumn) && ($xKey < $column) ) {
-				$printText .= "$xyhash{$yKey}{$xKey}\n\n";
-				#print("TEST $xKey,$yKey: $xyhash{$yKey}{$xKey}\n");
-			 }
-		  }
-		}
-		$lastColumn = $column;
-	 }
-	 
-	 my $myColumns = $csvhash{$libraryName}{$objectclassName};
-	 my @myColumns;
-	 if($myColumns) { @myColumns = split(',', $myColumns); }
-	 if($myColumns[2]) { $abbreviationName = $myColumns[2]; }	 if( $classnames{$objectclassName} ) {
-		$pageName = "${objectclassName}_(${libraryName})";
-	 } else {
-		$pageName = "${objectclassName}";
-	 }
-
-	 
-	 mkdir($libraryName);
-	 if( $classnames{$objectclassName} ) {
-		$pageName = "${objectclassName}_(${libraryName})";
-	 } else {
-		$pageName = "${objectclassName}";
-	 }
-	 open(OBJECTCLASS, ">$libraryName/${pageName}.txt");
-	 print(OBJECTCLASS "{{Infobox $objectclass\n");
-	 print(OBJECTCLASS "| $name                   = $objectclassName\n");
-	 if($abbreviationName) {
-		print(OBJECTCLASS "| $abbreviation           = $abbreviationName\n");}
-	 print(OBJECTCLASS "| $description            = \n");
-	 print(OBJECTCLASS "| $dataType               = \n");
-	 print(OBJECTCLASS "| $library                = [[$libraryName]]\n");
-	 print(OBJECTCLASS "| $author                 = {{$libraryName " . lc(${author}) . "}}\n");
-	 print(OBJECTCLASS "| $license                = {{$libraryName " . lc(${license}) . "}}\n");
-	 print(OBJECTCLASS "| $status                 = {{$libraryName " . lc(${status}) . "}}\n");
-	 print(OBJECTCLASS "| $website                = {{$libraryName " . lc(${website}) . "}}\n");
-	 print(OBJECTCLASS "| $releaseVersion         = {{$libraryName " . lc(${releaseVersion}) . "}}\n");
-	 print(OBJECTCLASS "| $releaseDate            = {{$libraryName " . lc(${releaseDate}) . "}}\n");
-	 print(OBJECTCLASS "| $distribution           = {{$libraryName " . lc(${distribution}) . "}}\n");
-	 print(OBJECTCLASS "| $platform               = [[GNU/Linux]], [[Mac OS X]], [[Windows]]\n");
-	 print(OBJECTCLASS "}}\n\n");
-#	 print(OBJECTCLASS "\n$printText\n\n\n");
-	 print(OBJECTCLASS "==$inlets==\n\n\n");
-	 print(OBJECTCLASS "==$outlets==\n\n\n");
-	 print(OBJECTCLASS "==$arguments==\n\n\n");
-#	 print(OBJECTCLASS "==$messages==\n\n\n");
-	 print(OBJECTCLASS "{{${objectclass}-${stub}}} \n\n");
-	 print(OBJECTCLASS "[[$category:$objectclass]]\n");
-	 print(OBJECTCLASS "[[$category:$libraryName]]\n");
-#	 if($category) {
-#		print(OBJECTCLASS "[[$category:$categoryName]]\n");
-#	 }
-	 print(OBJECTCLASS "\n\n");
-	 print(OBJECTCLASS "[[de:$pageName]]\n");
-	 print(OBJECTCLASS "[[en:$pageName]]\n");
-	 print(OBJECTCLASS "[[es:$pageName]]\n");
-#	 print(OBJECTCLASS "[[fr:$pageName]]\n");
-	 print(OBJECTCLASS "[[it:$pageName]]\n");
-	 print(OBJECTCLASS "[[ja:$pageName]]\n");
-	 print(OBJECTCLASS "[[nl:$pageName]]\n");
-	 print(OBJECTCLASS "[[pt:$pageName]]\n");
-	 print(OBJECTCLASS "[[ru:$pageName]]\n");
-	 print(OBJECTCLASS "[[tr:$pageName]]\n");
-	 print(OBJECTCLASS "\n\n");
-	 close(OBJECTCLASS);
-
-	 $classnames{$objectclassName} = 1;
-  }
-}
-  
diff --git a/scripts/update-developer-layout.sh b/scripts/update-developer-layout.sh
deleted file mode 100755
index cf3ea0697..000000000
--- a/scripts/update-developer-layout.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh
-
-# this script updates all code from subversion in the standard developer's layout.
-# <hans@at.or.at>
-
-# Usage: just run it and it should find things if you have your stuff layed
-# out in the standard dev layout, or used checkout-developer-layout.sh to
-# checkout your pd source tree
-
-cvs_root_dir=$(echo $0 | sed 's|\(.*\)/.*$|\1|')/..
-
-SVNOPTIONS="--ignore-externals"
-
-cd $cvs_root_dir
-echo "Running svn update:"
-svn update ${SVNOPTIONS}
-echo "Running svn update for Gem:"
-for section in Gem videoIO; do
-	 echo "$section"
-	 cd $section
-         svn update ${SVNOPTIONS}
-	 cd ..
-done
-- 
GitLab