Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
Revision: 614
http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=614&view=rev
Author: eht16
Date: 2009-04-29 18:24:39 +0000 (Wed, 29 Apr 2009)
Log Message:
-----------
Fix build on Windows.
Modified Paths:
--------------
trunk/addons/makefile.win32
Modified: trunk/addons/makefile.win32
===================================================================
--- trunk/addons/makefile.win32 2009-04-29 18:24:16 UTC (rev 613)
+++ trunk/addons/makefile.win32 2009-04-29 18:24:39 UTC (rev 614)
@@ -16,7 +16,7 @@
-include localwin32.mk
-OBJS = addons.o ao_openuri.o ao_doclist.o tasks.o
+OBJS = addons.o ao_openuri.o ao_doclist.o ao_systray.o tasks.o
INCLUDEDIRS= -I. \
-I$(GEANY_SRC) \
-I$(GEANY_SRC)\src \
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 613
http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=613&view=rev
Author: eht16
Date: 2009-04-29 18:24:16 +0000 (Wed, 29 Apr 2009)
Log Message:
-----------
Simplify the show/hide code so it also works for Windows.
Modified Paths:
--------------
trunk/addons/src/ao_systray.c
Modified: trunk/addons/src/ao_systray.c
===================================================================
--- trunk/addons/src/ao_systray.c 2009-04-29 18:07:43 UTC (rev 612)
+++ trunk/addons/src/ao_systray.c 2009-04-29 18:24:16 UTC (rev 613)
@@ -122,21 +122,9 @@
static void icon_activate_cb(GtkStatusIcon *status_icon, gpointer data)
{
if (gtk_window_is_active(GTK_WINDOW(geany->main_widgets->window)))
- {
- gtk_window_iconify(GTK_WINDOW(geany->main_widgets->window));
- gtk_window_set_skip_taskbar_hint(GTK_WINDOW(geany->main_widgets->window), TRUE);
- gtk_window_set_skip_pager_hint(GTK_WINDOW(geany->main_widgets->window), TRUE);
- }
+ gtk_widget_hide(geany->main_widgets->window);
else
- {
gtk_window_present(GTK_WINDOW(geany->main_widgets->window));
- gtk_window_set_skip_taskbar_hint(GTK_WINDOW(geany->main_widgets->window), FALSE);
- gtk_window_set_skip_pager_hint(GTK_WINDOW(geany->main_widgets->window), FALSE);
-#ifdef G_OS_WIN32
- // ensure that the window is displayed at the top
- gdk_window_show(geany->main_widgets->window->window);
-#endif
- }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 612
http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=612&view=rev
Author: eht16
Date: 2009-04-29 18:07:43 +0000 (Wed, 29 Apr 2009)
Log Message:
-----------
Implement a notification area icon (systray) as part of the Addons plugin.
Modified Paths:
--------------
trunk/addons/po/POTFILES.in
trunk/addons/src/Makefile.am
trunk/addons/src/addons.c
trunk/wscript
Added Paths:
-----------
trunk/addons/src/ao_systray.c
trunk/addons/src/ao_systray.h
Modified: trunk/addons/po/POTFILES.in
===================================================================
--- trunk/addons/po/POTFILES.in 2009-04-27 16:34:51 UTC (rev 611)
+++ trunk/addons/po/POTFILES.in 2009-04-29 18:07:43 UTC (rev 612)
@@ -3,4 +3,5 @@
src/addons.c
src/ao_openuri.c
src/ao_doclist.c
+src/ao_systray.c
src/tasks.c
Modified: trunk/addons/src/Makefile.am
===================================================================
--- trunk/addons/src/Makefile.am 2009-04-27 16:34:51 UTC (rev 611)
+++ trunk/addons/src/Makefile.am 2009-04-29 18:07:43 UTC (rev 612)
@@ -1,6 +1,11 @@
lib_LTLIBRARIES = addons.la
-addons_la_SOURCES = addons.c addons.h ao_doclist.c ao_doclist.h ao_openuri.c ao_openuri.h tasks.c tasks.h
+addons_la_SOURCES = \
+ addons.c addons.h \
+ ao_doclist.c ao_doclist.h \
+ ao_openuri.c ao_openuri.h \
+ ao_systray.c ao_systray.h \
+ tasks.c tasks.h
addons_la_LDFLAGS = -module -avoid-version
addons_la_LIBADD = @GEANY_LIBS@ $(INTLLIBS)
Modified: trunk/addons/src/addons.c
===================================================================
--- trunk/addons/src/addons.c 2009-04-27 16:34:51 UTC (rev 611)
+++ trunk/addons/src/addons.c 2009-04-29 18:07:43 UTC (rev 612)
@@ -41,6 +41,7 @@
#include "ao_doclist.h"
#include "ao_openuri.h"
+#include "ao_systray.h"
#include "tasks.h"
@@ -62,10 +63,12 @@
gboolean show_toolbar_doclist_item;
gboolean enable_openuri;
gboolean enable_tasks;
+ gboolean enable_systray;
/* instances and variables of components */
AoDocList *doclist;
AoOpenUri *openuri;
+ AoSystray *systray;
} AddonsInfo;
static AddonsInfo *ao_info = NULL;
@@ -124,12 +127,15 @@
"addons", "enable_openuri", FALSE);
ao_info->enable_tasks = utils_get_setting_boolean(config,
"addons", "enable_tasks", TRUE);
+ ao_info->enable_systray = utils_get_setting_boolean(config,
+ "addons", "enable_systray", FALSE);
main_locale_init(LOCALEDIR, GETTEXT_PACKAGE);
plugin_module_make_resident(geany_plugin);
ao_info->doclist = ao_doc_list_new(ao_info->show_toolbar_doclist_item);
ao_info->openuri = ao_open_uri_new(ao_info->enable_openuri);
+ ao_info->systray = ao_systray_new(ao_info->enable_systray);
tasks_set_enable(ao_info->enable_tasks);
}
@@ -149,16 +155,19 @@
g_object_get_data(G_OBJECT(dialog), "check_openuri"))));
ao_info->enable_tasks = (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
g_object_get_data(G_OBJECT(dialog), "check_tasks"))));
+ ao_info->enable_systray = (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
+ g_object_get_data(G_OBJECT(dialog), "check_systray"))));
g_key_file_load_from_file(config, ao_info->config_file, G_KEY_FILE_NONE, NULL);
g_key_file_set_boolean(config, "addons",
"show_toolbar_doclist_item", ao_info->show_toolbar_doclist_item);
g_key_file_set_boolean(config, "addons", "enable_openuri", ao_info->enable_openuri);
g_key_file_set_boolean(config, "addons", "enable_tasks", ao_info->enable_tasks);
+ g_key_file_set_boolean(config, "addons", "enable_systray", ao_info->enable_systray);
g_object_set(ao_info->doclist, "enable-doclist", ao_info->show_toolbar_doclist_item, NULL);
g_object_set(ao_info->openuri, "enable-openuri", ao_info->enable_openuri, NULL);
-
+ g_object_set(ao_info->systray, "enable-systray", ao_info->enable_systray, NULL);
tasks_set_enable(ao_info->enable_tasks);
if (! g_file_test(config_dir, G_FILE_TEST_IS_DIR) && utils_mkdir(config_dir, TRUE) != 0)
@@ -181,7 +190,7 @@
GtkWidget *plugin_configure(GtkDialog *dialog)
{
- GtkWidget *vbox, *check_doclist, *check_openuri, *check_tasks;
+ GtkWidget *vbox, *check_doclist, *check_openuri, *check_tasks, *check_systray;
vbox = gtk_vbox_new(FALSE, 6);
@@ -204,13 +213,24 @@
ao_info->enable_tasks);
gtk_box_pack_start(GTK_BOX(vbox), check_tasks, FALSE, FALSE, 3);
+ check_systray = gtk_check_button_new_with_label(
+ _("Show status icon in the Notification Area"));
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_systray),
+ ao_info->enable_systray);
+ gtk_box_pack_start(GTK_BOX(vbox), check_systray, FALSE, FALSE, 3);
+
g_object_set_data(G_OBJECT(dialog), "check_doclist", check_doclist);
g_object_set_data(G_OBJECT(dialog), "check_openuri", check_openuri);
g_object_set_data(G_OBJECT(dialog), "check_tasks", check_tasks);
+ g_object_set_data(G_OBJECT(dialog), "check_systray", check_systray);
g_signal_connect(dialog, "response", G_CALLBACK(ao_configure_response_cb), NULL);
gtk_widget_show_all(vbox);
+#if ! GTK_CHECK_VERSION(2, 10, 0)
+ gtk_widget_hide(check_systray);
+#endif
+
return vbox;
}
@@ -219,6 +239,7 @@
{
g_object_unref(ao_info->doclist);
g_object_unref(ao_info->openuri);
+ g_object_unref(ao_info->systray);
tasks_set_enable(FALSE);
Added: trunk/addons/src/ao_systray.c
===================================================================
--- trunk/addons/src/ao_systray.c (rev 0)
+++ trunk/addons/src/ao_systray.c 2009-04-29 18:07:43 UTC (rev 612)
@@ -0,0 +1,234 @@
+/*
+ * ao_systray.c - this file is part of Addons, a Geany plugin
+ *
+ * Copyright 2009 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+
+#include "geany.h"
+#include "support.h"
+
+#include "ui_utils.h"
+
+#include "plugindata.h"
+#include "geanyfunctions.h"
+
+#include "addons.h"
+#include "ao_systray.h"
+
+
+typedef struct _AoSystrayPrivate AoSystrayPrivate;
+
+#define AO_SYSTRAY_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj),\
+ AO_SYSTRAY_TYPE, AoSystrayPrivate))
+
+struct _AoSystray
+{
+ GObject parent;
+};
+
+struct _AoSystrayClass
+{
+ GObjectClass parent_class;
+};
+
+struct _AoSystrayPrivate
+{
+ gboolean enable_systray;
+
+ GtkStatusIcon *icon;
+ GtkWidget *popup_menu;
+};
+
+enum
+{
+ PROP_0,
+ PROP_ENABLE_SYSTRAY,
+};
+
+G_DEFINE_TYPE(AoSystray, ao_systray, G_TYPE_OBJECT);
+
+
+static void ao_systray_finalize(GObject *object)
+{
+#if GTK_CHECK_VERSION(2, 10, 0)
+ AoSystrayPrivate *priv = AO_SYSTRAY_GET_PRIVATE(object);
+
+ g_object_unref(priv->icon);
+ gtk_widget_destroy(priv->popup_menu);
+#endif
+
+ G_OBJECT_CLASS(ao_systray_parent_class)->finalize(object);
+}
+
+
+static void ao_systray_set_property(GObject *object, guint prop_id,
+ const GValue *value, GParamSpec *pspec)
+{
+ AoSystrayPrivate *priv = AO_SYSTRAY_GET_PRIVATE(object);
+
+ switch (prop_id)
+ {
+ case PROP_ENABLE_SYSTRAY:
+ priv->enable_systray = g_value_get_boolean(value);
+#if GTK_CHECK_VERSION(2, 10, 0)
+ gtk_status_icon_set_visible(priv->icon, priv->enable_systray);
+#endif
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
+ break;
+ }
+}
+
+
+static void ao_systray_class_init(AoSystrayClass *klass)
+{
+ GObjectClass *g_object_class;
+
+ g_object_class = G_OBJECT_CLASS(klass);
+
+ g_object_class->finalize = ao_systray_finalize;
+ g_object_class->set_property = ao_systray_set_property;
+
+ g_type_class_add_private((gpointer)klass, sizeof(AoSystrayPrivate));
+
+ g_object_class_install_property(g_object_class,
+ PROP_ENABLE_SYSTRAY,
+ g_param_spec_boolean(
+ "enable-systray",
+ "enable-systray",
+ "Whether to show an icon in the notification area",
+ TRUE,
+ G_PARAM_WRITABLE));
+}
+
+
+#if GTK_CHECK_VERSION(2, 10, 0)
+static void icon_activate_cb(GtkStatusIcon *status_icon, gpointer data)
+{
+ if (gtk_window_is_active(GTK_WINDOW(geany->main_widgets->window)))
+ {
+ gtk_window_iconify(GTK_WINDOW(geany->main_widgets->window));
+ gtk_window_set_skip_taskbar_hint(GTK_WINDOW(geany->main_widgets->window), TRUE);
+ gtk_window_set_skip_pager_hint(GTK_WINDOW(geany->main_widgets->window), TRUE);
+ }
+ else
+ {
+ gtk_window_present(GTK_WINDOW(geany->main_widgets->window));
+ gtk_window_set_skip_taskbar_hint(GTK_WINDOW(geany->main_widgets->window), FALSE);
+ gtk_window_set_skip_pager_hint(GTK_WINDOW(geany->main_widgets->window), FALSE);
+#ifdef G_OS_WIN32
+ // ensure that the window is displayed at the top
+ gdk_window_show(geany->main_widgets->window->window);
+#endif
+ }
+}
+
+
+static void icon_popup_menu_cmd_clicked_cb(GtkMenuItem *item, gpointer data)
+{
+ g_signal_emit_by_name(ui_lookup_widget(geany->main_widgets->window, data), "activate");
+}
+
+
+static gboolean icon_quit_cb(gpointer data)
+{
+ g_signal_emit_by_name(geany->main_widgets->window, "delete-event", NULL);
+
+ return FALSE;
+}
+
+
+static void icon_popup_quit_clicked_cb(GtkMenuItem *item, gpointer data)
+{
+ /* We need to delay emitting the "delete-event" signal a bit to give GTK a chance to finish
+ * processing this signal otherwise we would crash. */
+ g_idle_add(icon_quit_cb, NULL);
+}
+
+
+static void icon_popup_menu_cb(GtkStatusIcon *status_icon, guint button, guint activate_time,
+ gpointer data)
+{
+ AoSystrayPrivate *priv = AO_SYSTRAY_GET_PRIVATE(data);
+
+ if (button == 3)
+ gtk_menu_popup(GTK_MENU(priv->popup_menu), NULL, NULL, NULL, NULL, button, activate_time);
+}
+#endif
+
+
+static void ao_systray_init(AoSystray *self)
+{
+#if GTK_CHECK_VERSION(2, 10, 0)
+ AoSystrayPrivate *priv = AO_SYSTRAY_GET_PRIVATE(self);
+ GtkWidget *item;
+
+ priv->icon = gtk_status_icon_new_from_pixbuf(gtk_window_get_icon(
+ GTK_WINDOW(geany->main_widgets->window)));
+
+#if GTK_CHECK_VERSION(2, 16, 0)
+ gtk_status_icon_set_tooltip(priv->icon, "Geany");
+#else
+ gtk_status_icon_set_tooltip_text(priv->icon, "Geany");
+#endif
+
+ priv->popup_menu = gtk_menu_new();
+
+ item = gtk_image_menu_item_new_from_stock(GTK_STOCK_OPEN, NULL);
+ gtk_widget_show(item);
+ gtk_container_add(GTK_CONTAINER(priv->popup_menu), item);
+ g_signal_connect((gpointer) item, "activate",
+ G_CALLBACK(icon_popup_menu_cmd_clicked_cb), "menu_open1");
+
+ item = gtk_image_menu_item_new_from_stock(GEANY_STOCK_SAVE_ALL, NULL);
+ gtk_widget_show(item);
+ gtk_container_add(GTK_CONTAINER(priv->popup_menu), item);
+ g_signal_connect((gpointer) item, "activate",
+ G_CALLBACK(icon_popup_menu_cmd_clicked_cb), "menu_save_all1");
+
+ item = gtk_separator_menu_item_new();
+ gtk_widget_show(item);
+ gtk_container_add(GTK_CONTAINER(priv->popup_menu), item);
+
+ item = gtk_image_menu_item_new_from_stock(GTK_STOCK_PREFERENCES, NULL);
+ gtk_widget_show(item);
+ gtk_container_add(GTK_CONTAINER(priv->popup_menu), item);
+ g_signal_connect((gpointer) item, "activate",
+ G_CALLBACK(icon_popup_menu_cmd_clicked_cb), "preferences1");
+
+ item = gtk_separator_menu_item_new();
+ gtk_widget_show(item);
+ gtk_container_add(GTK_CONTAINER(priv->popup_menu), item);
+
+ item = gtk_image_menu_item_new_from_stock(GTK_STOCK_QUIT, NULL);
+ gtk_widget_show(item);
+ gtk_container_add(GTK_CONTAINER(priv->popup_menu), item);
+ g_signal_connect((gpointer) item, "activate", G_CALLBACK(icon_popup_quit_clicked_cb), NULL);
+
+ g_signal_connect(priv->icon, "activate", G_CALLBACK(icon_activate_cb), NULL);
+ g_signal_connect(priv->icon, "popup-menu", G_CALLBACK(icon_popup_menu_cb), self);
+#endif
+}
+
+
+AoSystray *ao_systray_new(gboolean enable)
+{
+ return g_object_new(AO_SYSTRAY_TYPE, "enable-systray", enable, NULL);
+}
+
Property changes on: trunk/addons/src/ao_systray.c
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/addons/src/ao_systray.h
===================================================================
--- trunk/addons/src/ao_systray.h (rev 0)
+++ trunk/addons/src/ao_systray.h 2009-04-29 18:07:43 UTC (rev 612)
@@ -0,0 +1,46 @@
+/*
+ * ao_systray.h - this file is part of Addons, a Geany plugin
+ *
+ * Copyright 2009 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+
+#ifndef __AO_SYSTRAY_H__
+#define __AO_SYSTRAY_H__
+
+
+G_BEGIN_DECLS
+
+#define AO_SYSTRAY_TYPE (ao_systray_get_type())
+#define AO_SYSTRAY(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),\
+ AO_SYSTRAY_TYPE, AoSystray))
+#define AO_SYSTRAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),\
+ AO_SYSTRAY_TYPE, AoSystrayClass))
+#define IS_AO_SYSTRAY(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),\
+ AO_SYSTRAY_TYPE))
+#define IS_AO_SYSTRAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),\
+ AO_SYSTRAY_TYPE))
+
+typedef struct _AoSystray AoSystray;
+typedef struct _AoSystrayClass AoSystrayClass;
+
+GType ao_systray_get_type (void);
+AoSystray* ao_systray_new (gboolean enable);
+
+G_END_DECLS
+
+#endif /* __AO_SYSTRAY_H__ */
Property changes on: trunk/addons/src/ao_systray.h
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Modified: trunk/wscript
===================================================================
--- trunk/wscript 2009-04-27 16:34:51 UTC (rev 611)
+++ trunk/wscript 2009-04-29 18:07:43 UTC (rev 612)
@@ -62,7 +62,7 @@
plugins = [
Plugin('addons',
[ 'addons/src/addons.c', 'addons/src/ao_doclist.c', 'addons/src/ao_openuri.c',
- 'addons/src/tasks.c' ],
+ 'addons/src/ao_systray.c', 'addons/src/tasks.c' ],
[ 'addons', 'addons/src' ],
'0.2'),
Plugin('externdbg',
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 611
http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=611&view=rev
Author: kugel-
Date: 2009-04-27 16:34:51 +0000 (Mon, 27 Apr 2009)
Log Message:
-----------
Clear the color conversion a bit up here.
Modified Paths:
--------------
trunk/geanyvc/geanyvc.c
Modified: trunk/geanyvc/geanyvc.c
===================================================================
--- trunk/geanyvc/geanyvc.c 2009-04-27 16:04:30 UTC (rev 610)
+++ trunk/geanyvc/geanyvc.c 2009-04-27 16:34:51 UTC (rev 611)
@@ -1204,9 +1204,9 @@
const GeanyLexerStyle *s;
s = highlighting_get_style(GEANY_FILETYPES_DIFF, style);
- c.red = (s->foreground % 256) * 257;
- c.green = s->foreground & -16711936;
- c.blue = (s->foreground & 0xff0000) / 256;
+ c.red = (s->foreground & 0xff) << 0x8;
+ c.green = s->foreground & 0xff00;
+ c.blue = (s->foreground & 0xff0000) >> 0x8;
return &c;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 610
http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=610&view=rev
Author: kugel-
Date: 2009-04-27 16:04:30 +0000 (Mon, 27 Apr 2009)
Log Message:
-----------
Redo r535 properly to use the callback in the correct way. This also fixes the check buttons behavior being inconsistent.
Modified Paths:
--------------
trunk/geanyvc/geanyvc.c
Modified: trunk/geanyvc/geanyvc.c
===================================================================
--- trunk/geanyvc/geanyvc.c 2009-04-24 20:03:44 UTC (rev 609)
+++ trunk/geanyvc/geanyvc.c 2009-04-27 16:04:30 UTC (rev 610)
@@ -1154,16 +1154,13 @@
}
static void
-commit_all_toggled(G_GNUC_UNUSED GtkCellRendererToggle *cell, gpointer data)
+commit_all_toggled_cb(GtkToggleButton *check_box, gpointer treeview)
{
- GtkTreeView *treeview = GTK_TREE_VIEW(data);
- GtkTreeModel *model = gtk_tree_view_get_model(treeview);
- static gint onoff = 0;
- gpointer ptr_onoff = &onoff;
+ GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(treeview));
+ gint toggled = gtk_toggle_button_get_active(check_box);
- gtk_tree_model_foreach(model, toggle_all_commit_files, ptr_onoff);
- /* toggle value */
- onoff ^= 1;
+ gtk_tree_model_foreach(model, toggle_all_commit_files, &toggled);
+
refresh_diff_view(treeview);
}
@@ -1300,11 +1297,12 @@
gtk_widget_show(vpaned3);
gtk_paned_pack2(GTK_PANED(vpaned2), vpaned3, FALSE, FALSE);
- select_cbox = gtk_check_button_new_with_mnemonic(_("_De-/select all files"));
- gtk_toggle_button_set_active((GtkToggleButton*)select_cbox, TRUE);
- gtk_widget_show(select_cbox);
+ select_cbox = GTK_WIDGET(gtk_check_button_new_with_mnemonic(_("_De-/select all files")));
gtk_paned_pack1(GTK_PANED(vpaned3), select_cbox, FALSE, FALSE);
- g_signal_connect(select_cbox, "toggled", G_CALLBACK(commit_all_toggled), treeSelect);
+ gtk_widget_show(select_cbox);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(select_cbox), TRUE);
+ g_signal_connect(select_cbox, "toggled", G_CALLBACK(commit_all_toggled_cb),
+ treeSelect);
textDiff = gtk_text_view_new();
gtk_widget_set_name(textDiff, "GeanyVCCommitDialogDiff");
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 609
http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=609&view=rev
Author: eht16
Date: 2009-04-24 20:03:44 +0000 (Fri, 24 Apr 2009)
Log Message:
-----------
Fix Windows build (reported by Timothy Boronczyk, thanks).
Modified Paths:
--------------
trunk/addons/makefile.win32
Modified: trunk/addons/makefile.win32
===================================================================
--- trunk/addons/makefile.win32 2009-04-24 19:46:16 UTC (rev 608)
+++ trunk/addons/makefile.win32 2009-04-24 20:03:44 UTC (rev 609)
@@ -37,7 +37,7 @@
-L"$(PREFIX)/lib" \
-lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 \
-lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl -liconv
-CCFLAGS=-Wall -O2 -mms-bitfields -DHAVE_CONFIG_H
+CCFLAGS=-Wall -O2 -mms-bitfields -DHAVE_CONFIG_H -DLOCALEDIR=\"share\"
all: $(TARGET)
@@ -45,7 +45,7 @@
deps.mak:
$(CC) -MM $(CCFLAGS) $(INCLUDEDIRS) src/*.c >deps.mak
-.c.o:
+$(OBJS):
$(CC) $(CCFLAGS) $(INCLUDEDIRS) -c $<
$(TARGET): deps.mak $(OBJS)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 608
http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=608&view=rev
Author: frlan
Date: 2009-04-24 19:46:16 +0000 (Fri, 24 Apr 2009)
Log Message:
-----------
GeanySendMail: Applied a patch by Timothy Boronczyk which allows aborting when inserting recipient's email address.
Modified Paths:
--------------
trunk/geanysendmail/ChangeLog
trunk/geanysendmail/src/geanysendmail.c
Modified: trunk/geanysendmail/ChangeLog
===================================================================
--- trunk/geanysendmail/ChangeLog 2009-04-21 21:18:25 UTC (rev 607)
+++ trunk/geanysendmail/ChangeLog 2009-04-24 19:46:16 UTC (rev 608)
@@ -1,3 +1,9 @@
+2009-04-24 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
+
+ * Applied a patch by Timothy Boronczyk which allows aborting when inserting
+ recipient's email address.
+
+
2008-10-14 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
* Applied a patch by Nick to make use of Geany Plugin API r100 and the
Modified: trunk/geanysendmail/src/geanysendmail.c
===================================================================
--- trunk/geanysendmail/src/geanysendmail.c 2009-04-21 21:18:25 UTC (rev 607)
+++ trunk/geanysendmail/src/geanysendmail.c 2009-04-24 19:46:16 UTC (rev 608)
@@ -4,7 +4,7 @@
* Copyright 2007-2009 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
* Copyright 2007 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* Copyright 2007, 2008 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
- * Copyright 2008 Timothy Boronczyk <tboronczyk(at)gmail(dot)com>
+ * Copyright 2008, 2009 Timothy Boronczyk <tboronczyk(at)gmail(dot)com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -104,9 +104,13 @@
{
gint tmp;
- dialog = gtk_dialog_new_with_buttons(_("Recipient's Address"),
- GTK_WINDOW(geany->main_widgets->window), GTK_DIALOG_DESTROY_WITH_PARENT,
- GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL);
+ dialog = gtk_dialog_new_with_buttons(_("Recipient's Address"),
+ GTK_WINDOW(geany->main_widgets->window),
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,
+ NULL);
+ gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT);
vbox = ui_dialog_vbox_new(GTK_DIALOG(dialog));
gtk_widget_set_name(dialog, "GeanyDialog");
gtk_box_set_spacing(GTK_BOX(vbox), 10);
@@ -125,8 +129,13 @@
tmp = gtk_dialog_run(GTK_DIALOG(dialog));
- if (tmp == GTK_RESPONSE_ACCEPT)
- {
+ if (tmp != GTK_RESPONSE_ACCEPT)
+ {
+ gtk_widget_destroy(dialog);
+ return;
+ }
+ else
+ {
g_key_file_load_from_file(config, config_file, G_KEY_FILE_NONE, NULL);
g_free(address);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 607
http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=607&view=rev
Author: frlan
Date: 2009-04-21 21:18:25 +0000 (Tue, 21 Apr 2009)
Log Message:
-----------
GeanyLaTeX: Added documentation dir incl. *.tex and *.pdf to source
tarball.
Modified Paths:
--------------
trunk/geanylatex/Makefile.am
Added Paths:
-----------
trunk/geanylatex/doc/geanylatex.pdf
Modified: trunk/geanylatex/Makefile.am
===================================================================
--- trunk/geanylatex/Makefile.am 2009-04-19 19:03:07 UTC (rev 606)
+++ trunk/geanylatex/Makefile.am 2009-04-21 21:18:25 UTC (rev 607)
@@ -3,7 +3,10 @@
EXTRA_DIST = \
autogen.sh \
makefile.win32 \
- po/LINGUAS
+ po/LINGUAS \
+ doc/geanylatex.tex \
+ doc/geanylatex.pdf \
+ doc/img/*
dist-bzip2: distdir
BZIP2=$(BZIP2_ENV) $(AMTAR) --bzip2 -chof $(distdir).tar.bz2 $(distdir)
Added: trunk/geanylatex/doc/geanylatex.pdf
===================================================================
--- trunk/geanylatex/doc/geanylatex.pdf (rev 0)
+++ trunk/geanylatex/doc/geanylatex.pdf 2009-04-21 21:18:25 UTC (rev 607)
@@ -0,0 +1,3301 @@
+%PDF-1.4
+%\xD0\xD4\xC5\xD8
+3 0 obj
+<< /pgfprgb [/Pattern /DeviceRGB] >>
+endobj
+8 0 obj
+<< /S /GoTo /D (section.1) >>
+endobj
+11 0 obj
+(About the plugin)
+endobj
+12 0 obj
+<< /S /GoTo /D (section.2) >>
+endobj
+15 0 obj
+(Requirements)
+endobj
+16 0 obj
+<< /S /GoTo /D (section.3) >>
+endobj
+19 0 obj
+(Installation)
+endobj
+20 0 obj
+<< /S /GoTo /D (section.4) >>
+endobj
+23 0 obj
+(Usage)
+endobj
+24 0 obj
+<< /S /GoTo /D (section.5) >>
+endobj
+27 0 obj
+(Features)
+endobj
+28 0 obj
+<< /S /GoTo /D (subsection.5.1) >>
+endobj
+31 0 obj
+(LaTeX-Wizard)
+endobj
+32 0 obj
+<< /S /GoTo /D (subsection.5.2) >>
+endobj
+35 0 obj
+(Inserting and replacing of special characters)
+endobj
+36 0 obj
+<< /S /GoTo /D (subsection.5.3) >>
+endobj
+39 0 obj
+(Inserting References and Labels)
+endobj
+40 0 obj
+<< /S /GoTo /D (subsection.5.4) >>
+endobj
+43 0 obj
+(BibTeX templates for catalogue entries)
+endobj
+44 0 obj
+<< /S /GoTo /D (subsection.5.5) >>
+endobj
+47 0 obj
+(Replacement of special characters)
+endobj
+48 0 obj
+<< /S /GoTo /D (subsection.5.6) >>
+endobj
+51 0 obj
+(Format)
+endobj
+52 0 obj
+<< /S /GoTo /D (section.6) >>
+endobj
+55 0 obj
+(Configuration)
+endobj
+56 0 obj
+<< /S /GoTo /D (subsection.6.1) >>
+endobj
+59 0 obj
+(Key bindings)
+endobj
+60 0 obj
+<< /S /GoTo /D (section.7) >>
+endobj
+63 0 obj
+(Donating to the plugin)
+endobj
+64 0 obj
+<< /S /GoTo /D (subsection.7.1) >>
+endobj
+67 0 obj
+(Extending plugin)
+endobj
+68 0 obj
+<< /S /GoTo /D (subsection.7.2) >>
+endobj
+71 0 obj
+(Testing \046 bug reporting)
+endobj
+72 0 obj
+<< /S /GoTo /D (subsection.7.3) >>
+endobj
+75 0 obj
+(Packaging)
+endobj
+76 0 obj
+<< /S /GoTo /D (subsection.7.4) >>
+endobj
+79 0 obj
+(Improving and extending of documentation)
+endobj
+80 0 obj
+<< /S /GoTo /D (subsection.7.5) >>
+endobj
+83 0 obj
+(Propaganda)
+endobj
+84 0 obj
+<< /S /GoTo /D (section.8) >>
+endobj
+87 0 obj
+(Development)
+endobj
+88 0 obj
+<< /S /GoTo /D (subsection.8.1) >>
+endobj
+91 0 obj
+(Development version)
+endobj
+92 0 obj
+<< /S /GoTo /D (section.9) >>
+endobj
+95 0 obj
+(Known issues)
+endobj
+96 0 obj
+<< /S /GoTo /D (section.10) >>
+endobj
+99 0 obj
+(Recommendations to improve work with LaTeX and Geany)
+endobj
+100 0 obj
+<< /S /GoTo /D (subsection.10.1) >>
+endobj
+103 0 obj
+(Geany's code snippet function)
+endobj
+104 0 obj
+<< /S /GoTo /D (subsection.10.2) >>
+endobj
+107 0 obj
+(Other useful plugins)
+endobj
+108 0 obj
+<< /S /GoTo /D (section.11) >>
+endobj
+111 0 obj
+(License)
+endobj
+112 0 obj
+<< /S /GoTo /D (section.12) >>
+endobj
+115 0 obj
+(Bugs, questions, homepage)
+endobj
+116 0 obj
+<< /S /GoTo /D [117 0 R /Fit ] >>
+endobj
+146 0 obj <<
+/Length 1314
+/Filter /FlateDecode
+>>
+stream
+x\xDA\xEDZ\xDBn\xDBF}\xF7W\xECS+\xE5f:\xADm81\xD0\xD4U[nhi%\x96H\x85"\xED&\xFD\xF9\xB9+\x85\x94dG\x96d4m\xE2m93<sfvf\xD7\x8DAgGd\xC3\xE3\xEB\xDEѫSj#X)&Qo\x88(\xA7\x98R\x8D4\xD1X\x8Dzt\xDD9sq\xFA\xB1Qٹ\xE8\xBEゥߡs\xA1X\xF5\x8EbXQ\x85\xE0\x86Q\xFE\x85\xE3Ű\x86h
+\x82)\x8A\xC3z\xD50D)\xE6JT4\x97\xFE\xC1\x89@\xB0 S\xF7\xAF\xBAW\xBA\xF3WuP\xA0\xA5\xBEZo\x93\xC1\x8C\xB2\x8Dlb\x8F\xD9\xC4\xB3ɬ\xB1i:.GI\xEA
+f]N:\xB9\xBF8\xE0:5\x80s\xFD[\xC5T\xA5>\xE2k0\x85\xA9\xA2^\xE0o\xD5\xCB.\x9F%]\xDA\xC9R/\xB4V\xAF/<\xF7\xEAT\xAA\xE6\xE7Fpn\xCC
+6RxA\xA7y\x9C\xDEu#&I\xE7"N\x93\xE2SX\xA2\xBC\x92\xE4O/\x83@\x86\x81'jð \xC4jl9\xF7↕\xB8\xEF\xEB_\4\xC6\xF7\xA4QS\xA6A\xC3Z&O\xF3d\xECMb\xF4\xBBpB\x88]\x92\xD3\xF6eD-\xC1D\xA1Hr\xAC\xAD\xF1\x92~\xC8\xD2¥Ŭ\xF5\xE6\xF2q n@\x831\x84y\xB4Y\xD0|\xD4e\xE1Vܺ\x96K\x9B
+\x98\x84\xD7pD<\xA5\xF8\x86G\x8CbK\x83\xE9\xCC\xEB\xBDt\xCA$w\x93\x95\xAF؋\xA7\xB3"\x8F\xE3"\xC9^\xE0K\x84W\xF2\xEB,\xB9'\xA5\xB3gId\x91^\xFAi\xBC\xE3\xAA(\x8A\x892\xAFj\xB6\x85\xBE\x9A\xA0\x8D\xE8\x83\x87\x99\x85\xA8\x81p\xB72$ \x89\x81\x94TA\xE3#h,5\xAD\xDFa\xE2_"
+Ķ\xF2JK2p\xD7_\xA3|Z\x90S\xE1>Ü\xABfV\x81\xE05n_E\xBFw\xA5\xEC$\x9F\xE2\xBCKMg\xD0\xFE\xD8\xEB\x88K\xDA\xC1\xDDHr8\xECrX\x82\x95*k\xE1\xE41\x8B\x89\xB5\x81,rN\xC8\x81\xE6\xF2"IG>\xA9\xC5\xE9\xC0\x9F\xD4\xFEs\xD3q\xDC_<ˆ\xFE8\x9B\xBA~\x87tؿ\x8D\xF3\xB8_@\xDE_6\x8AAN\xFA:1\xD6\xEE\x8C6_\x8F6Yƙ\xAF\xC7\xF9\xD2
+\x9D\x878\xEDCNhc߸\xF1
+\x9E\x82\xF3={\x9F\x8B\xFC \x82^'7\xBD\xAEew\xE5A.\xDC\xD8]\xCC\xC1fy tO6*\x9D\xBF\x84Y.O܊3$\xFFe\xDC\xD7.6\\xC0/\xEB\xECQ\xD7 [\xE5\xCED\xAFp\x97\xE2\xAE\xEE\xA7Y>\x81\x8AcI\x94\xE20u\xEE\xC1C;\xBA\xED\x91
+\xBFꃬ\xED*U\xF9::\x86?\xA32\xFFr5\xAC\xB6\xA8\x81Ԣ~|\xEB>\xFAؼI\xD2\xCCX\xAB3\xFB\xA1\xFB?\xB3gm\xD4δў6?fi\xEC덪',\xB2\xE77\x89z{2\xE9\x99N\xFE\x84vw\xB0\xA8{֩\x85\xE4\xC4;\xBBs\xC7<=S\xA8\xB9o浿\xAF\x87f\x9F\xAB\xD2oBܗ\xA3V\x90\xF9\xC2uI\xA5\xD1\xE6\xE0\x9F\xBD8f4\xF3f\xE1]ܿ\x8BG\xEB0W\xF4\x90y_v\xDE\xDE\xD4W\xF3\xBE\xE2|2\xAD\xC3$\xBB_m\xA2];\xF9\xCD\xE0A\xD6/\xAB\xB2x\xCD|~ٯhr\xDDc\xBB)\xAC\xF3\xEE\xE1\x9Du\x8F \xCDx%?\xC0\x80ݹ1\xA1q\xF7n\x9CM\xEB\xF0\xA9:\xC3n_g\x98E\x9D\xD1TV\xD9}\xB5\xB1^\x82\xF2;\xFEZXO\x8B\xB7iV\xAD\x8C?T\xCB\xE1a\xE3)\x99\xCD\xCA/\xAC\x8C\xDBm\xD6\xF9)@H\xB5\xD1\xCF&@\x8DA\x9Dqg\xED\x928\x99L\xEBm\xAF\xEC\xDE\xF9\xD5emc~\xE7\x87>$\xC5\xED\xF2\xA6\x9D\xC6VZ\xAF\xAD\x81\xA2\x98\xB1\xBCe\xD7\Zg0:j\x8C\xF2K\xEBm\xAB\xA5ufxsi]b\xC28j\xDC\xFBu\xF5\xDCR\xEF\xCF\xCD\xF7\xE6Z\x9E2\xC2\xD0
+\x8A\x81\xB4\xB40LIQ\xDCT\xCB\xFF6\xAC\x8E\xF5\xB3AX\x9B\xA5\xC9t\xEAB\x8C
+˴\xBFncZ"h\xC3Z\x9E\xC1\xCC{\xE0'h\xD6¢d9s\xC3r\xDCl\xA1V\x9ArC\xE8!\xA3=\xD7-\xDCIb\x9D_NzG\x8Eh\xBD\xD7L\x91!X\x8D\xAC\xC1\x96Xԟ]\xBF'h \x8F\xDE \x82\xB95\xE8\xA18\x81\xAC\xA5\xB1\xA6U\xD6\xA3_\x8E~n\xFF\xCBB+\xFE8ep\xAE\x911\x9F\xB7\x99\xCF\xB3\xE4oޠ\xC1}
+endstream
+endobj
+117 0 obj <<
+/Type /Page
+/Contents 146 0 R
+/Resources 145 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 152 0 R
+/Annots [ 118 0 R 119 0 R 120 0 R 121 0 R 122 0 R 123 0 R 124 0 R 125 0 R 126 0 R 127 0 R 128 0 R 129 0 R 130 0 R 131 0 R 132 0 R 133 0 R 134 0 R 135 0 R 136 0 R 137 0 R 138 0 R 139 0 R 140 0 R 141 0 R 142 0 R 143 0 R ]
+>> endobj
+118 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [269.724 618.123 359.568 638.048]
+/Subtype/Link/A<</Type/Action/S/URI/URI(mailto:frank@frank.uvena.de)>>
+>> endobj
+119 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [79.791 512.298 174.381 523.147]
+/Subtype /Link
+/A << /S /GoTo /D (section.1) >>
+>> endobj
+120 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [79.791 490.381 158.892 501.229]
+/Subtype /Link
+/A << /S /GoTo /D (section.2) >>
+>> endobj
+121 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [79.791 470.4 147.034 479.311]
+/Subtype /Link
+/A << /S /GoTo /D (section.3) >>
+>> endobj
+122 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [79.791 446.545 124.341 457.393]
+/Subtype /Link
+/A << /S /GoTo /D (section.4) >>
+>> endobj
+123 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [79.791 426.564 135.452 435.475]
+/Subtype /Link
+/A << /S /GoTo /D (section.5) >>
+>> endobj
+124 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [94.735 412.213 177.909 423.859]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.5.1) >>
+>> endobj
+125 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [94.735 399.845 313.253 411.904]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.5.2) >>
+>> endobj
+126 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [94.735 387.889 259.286 399.949]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.5.3) >>
+>> endobj
+127 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [94.735 375.934 288.267 387.994]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.5.4) >>
+>> endobj
+128 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [94.735 363.979 267.884 376.039]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.5.5) >>
+>> endobj
+129 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [94.735 354.674 151.582 363.78]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.5.6) >>
+>> endobj
+130 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [79.791 330.978 158.289 341.827]
+/Subtype /Link
+/A << /S /GoTo /D (section.6) >>
+>> endobj
+131 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [94.735 318.151 178.43 330.211]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.6.1) >>
+>> endobj
+132 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [79.791 297.105 201.101 307.954]
+/Subtype /Link
+/A << /S /GoTo /D (section.7) >>
+>> endobj
+133 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [94.735 284.278 196.632 296.338]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.1) >>
+>> endobj
+134 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [94.735 272.323 224.965 284.382]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.2) >>
+>> endobj
+135 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [94.735 260.368 165.36 272.427]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.3) >>
+>> endobj
+136 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [94.735 248.412 313.423 260.472]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.4) >>
+>> endobj
+137 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [94.735 236.457 173.21 248.517]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.5) >>
+>> endobj
+138 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [79.791 215.412 156.767 226.26]
+/Subtype /Link
+/A << /S /GoTo /D (section.8) >>
+>> endobj
+139 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [94.735 202.584 214.654 214.644]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.8.1) >>
+>> endobj
+140 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [79.791 183.476 157.594 192.387]
+/Subtype /Link
+/A << /S /GoTo /D (section.9) >>
+>> endobj
+141 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [79.791 159.275 359.909 170.469]
+/Subtype /Link
+/A << /S /GoTo /D (section.10) >>
+>> endobj
+142 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [94.735 146.794 253.368 158.853]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.1) >>
+>> endobj
+143 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [94.735 134.838 210.789 146.898]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.2) >>
+>> endobj
+147 0 obj <<
+/D [117 0 R /XYZ 80.787 780.174 null]
+>> endobj
+148 0 obj <<
+/D [117 0 R /XYZ 80.787 762.241 null]
+>> endobj
+151 0 obj <<
+/D [117 0 R /XYZ 80.787 527.187 null]
+>> endobj
+145 0 obj <<
+ /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
+/Font << /F18 149 0 R /F56 150 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+156 0 obj <<
+/Length 215
+/Filter /FlateDecode
+>>
+stream
+x\xDAuP\xC1j\xC30\xBD\xFB+tL`\xD6$;\xB1\xE4ka-\xBB\x8C\xF9zm\x9A\x96v%+\xFB\x{5964ED50}\x93\x9EГ\x9E\xDE#\x80\xE0\xC9\xD0L]$s\xFF\xC8
+cp\xD2\x94PT@Z\x87N"\xA4-tsm\xA2\xEAy\xBF\xE9S_\xAF\xD3\xEA\xEF4m@i57\x85KW\xE3\xDB
+\xF6·\x8E1f\xE9\xB2\xE5\x8A\xC2\xE2<Lw\xB5\xF5A\xAAӹ\x9F\xBE\xF6\xC7C\xE9C\xF5~\xFBϷ\xE1F\xBD\xB3\x9E\xB5\xF5s\xB2ɜgH\xC0kQ1R\x84\xCDh\xBA5\xC16\x8FV@\xE8\xA3\xC2\xF7/q\x84&
+K\xC6\xF0j^\xAE\xD3jÿ\xB4<3:UPE R\xBC,\x97s\xAF\xFC 0U\xD2
+endstream
+endobj
+155 0 obj <<
+/Type /Page
+/Contents 156 0 R
+/Resources 154 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 152 0 R
+/Annots [ 144 0 R 153 0 R ]
+>> endobj
+144 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [79.791 751.283 129.903 760.194]
+/Subtype /Link
+/A << /S /GoTo /D (section.11) >>
+>> endobj
+153 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [79.791 727.428 221.203 738.276]
+/Subtype /Link
+/A << /S /GoTo /D (section.12) >>
+>> endobj
+157 0 obj <<
+/D [155 0 R /XYZ 80.787 780.174 null]
+>> endobj
+154 0 obj <<
+ /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
+/Font << /F18 149 0 R /F56 150 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+165 0 obj <<
+/Length 2387
+/Filter /FlateDecode
+>>
+stream
+xڽZmo\xE36\xFE\xBE\xBFBz\x80\x9C\x91z/p\xA4\x8B\xDD\\xDA\xEB!\xB7\xEB\xE2\xF6\xD0\xF6-ӶYr\xF57\xF7\xEBo\xC8ʒ\xEDu\xA7)\x8A\xAD\xA8!5\xAFϐ3t<g\xE5x\xCE\xCD;\xEF\xE0\xF9\xDD\xEC\xDD\xD5G\x9E8<`~ g\xB6t\x8F\xC5I\xECġ`"N\x9D\xD9\xC2\xF9\xD9\xE5\x93iz\xEE\xF5|2\xF5\xB9[u-<\xA3\xC8m\xD7Jbw[t\xAB\xBC\x9C\xFC:\xFB\xBE\xE7|\xF51\x8C\x9C\x94\xA5\x91\x884Wϙ\x8A\x84E\x96ፒ\xE5\xE3?\xF5f]\xCC\x9Bu>g<\xF5(\xC1\xA5\xD7\xFD\xAA=7\xD06\x8D\x9C\xE9`\xD5L\xAFz\xC4 \x89\xF9~\x8C\xF4DO\xEE\xC8_&S\xE1\xFBn\xDE\xE8\xA7p%>\x8A\xBCm\x85Sd\x92\xA1\xB7-\xDFl\xEB O\xDC\xEAA\xE1D\xD3m\xB7U\xDD\xE2l\xB5D\xE2)\xB3\xB8\xF6j\xFCYvU\xA4\xB8q\xF3\x84s\xEE2\x94\xB8\xB7moI\xA16\xAAl\x87\xF0ݬ\xEA\xB6\xD9f\xCD\xD9\xC8\xC79\xF9\xA4kԲ+\x8CdxO\x99,g)a\xC4/\xBB2k\xF3\xAAl\xBE=\xC0V\xD8R\xF0ŔI\x84\xF8\xE5/\x8F\xCF\xE1G\x8F|\x980\x8B\xFF3 C7\xFF\x9F4\xC1X\x80n\x80M#xf\x86\xA8d\xAB\xF0\xBDT;\x9C
+K\x9A0\xEEq\x95\xF4|Tb\x8CJz\x95\xA3FE8\xF2\xD4`Qe\x9D\xF59\xBCt\xC1S\xE2c)\x9B\x96%٤d\xB4\x83\xBC]\x8F>\x9B\x83ˉb"\xA6]\xA1 \xBA\xE0 \x92#d^\xC89\xC4\xF5LL\xA6\p@h
+\x83\xA2sAP\xAEAZ
+f`\x86\x94-\xBE*c\x8B\xA6W5\xE4BS\x92\xD4\x9DTѠ\xBF\xC7\xF8\xE0 Dj\x97'C\x92&\xDC.0\x8C\x88\xB9\x87(X*|\x96\x99:%(\xF5 \xBA\xE1Sr\x84]@<\xF7\x92\x8E9\xFA\x80\x89$y6ǭ\\xA9W
+/\x8CV\xAAm\xF3r\x85/M\xB7Z\xA9Fg\xBA\x8E\x9C\xBC!U\xBA\xDF)'Ä%<\xA6\x9C\xEC3\xCB\x85#\xC4"\xF1,"0\xBA\x88~ n\xCBF\xD5d\xC8l\xB6*\xCBeAY\xBA\x96\xB5\xCCZUF\xDB5Zԭˠ]\xF7l\xED.P\xEE\xAA\xD8R\x92\x95\xA0F\xAF\xA59\xD2\xF4\xA0\xCEWk\xCAG\xEDAUPN"\x8Ea\xF0]>\x9FMR\xE1\xAA/=\x9F:\xB797\xA7t\xB5\xE7E\xBE\xD8K\xE8\xB3\xF3
+\xCD\xFB\xD0\xEF\xF98
+\xA0\xFEF\x92][ق\xE9%\xA9\\xE4\xF7\xEAT2\x86 i\xFE\xFCdl\xD5\xEFm\xDB^U\xC1\xA9\xF2\xC3?\xF7'\xB2\x86{y\xD2\xAA|\xC8i\x97l\xC76d\x90#0\xB5`B\x9B\xC0\xB7Z\xECј\xBEY\xB5*\xF3f\x8FuU(<\xDF2ȟ\xD7`i\xD6Yzd\xEE\xCD=N\xCFc\x89\xFF\xEC
+*\xB4\xEE
+>fpF\xC1\xB3\xC1\x87q\x91\x97GѨ\xFE\x9C\xF28f\x98N\xCF<͗+\xD0O\xEA\xB7.\xAF\xA9ry\xBAܤ"\xEA\xA3\xF1\x8Cǡ\xBE\xD9l\xF3\xC3\xE4\xD9dz_\xEC\xF1\xB1\xEAj\x88\xDF\xF2\xAF\xF0
+\x85\xBC"}\x97\xAE.\x95Z0\xB8\x99\xFD\x80\x83_\xBC\xD0C/\x80p\xEE1?\xE1\+$ \x8D\x92\xB8\xF7\xD4\xDFqṀk\xE6\xF3\xFE\xEC\xF8\xDB _\xC2Z\xDA\x82E\xCCy%\xF9\xBC\x96\xB4y\xA0@_+\xB9P5\xF1,h\x98>7\xF7\xBFz\xFB:6OME\xE7I0\xC8\xFF\xF1yB\xD6\x80C\xCB
+Bw\xA1\xB6p\xCE\xC3)\xFB\x88CU\xE0U\x81u\xBD*@$U\xB4\x97\x838S\xC4\xC0I\xDD\xC9rU\xD1\xEC
+0\xA4ْd_O\xE2\xC0\x9D\xFD\xC0\xE8\xCD\xE8\x83v\xA2
+n\xD4Hi\x81\x99J/}M\x84l\xEDI\xFF\xB1Щ5\xA6p\xF8IC+ch
+ݱn\xDB\xED\xB7WW\xBBݎ\xAD\xDA{Vիs\xB8\xE4\x9FPLR\xFA\xD9R\xFA,\xF5}\xAA\xA7\xB4\xA9\xB0\xBA\xD5\xFC!\xAF\xBA\xA6\xC0B\\xE2\xA7\xC2R\xCFb\xDC\xF4\xE3G\xC2]\xCB\x854l h\xA1.-\x{13425B}&\xD9x\xE8q\xEF+\xB3\xA2lZYja\xE7BO\xA7\x87g\xB2Q\xB8\xA8W\xA1\xF7\xAC\x99ߧ\x98^\xA43D\xDBx\xE0\xB5>\xE1\x81\xBBt`\xF8l@\x83\xB9+5\xAEMϒ\xB8\xB7K\xA4b&\xD6<="\xF3\xF4p\xA0\xB2~TH\xF0)\xE6)\x90-&2B^`\xB9r\xB7YW]A_\xCFi9\xF5\x92azX\xBA\xAAF\xAA\x89=\xE8\x90\xA7\xEC\x85b݇^
+\xCB\xB5%\x8F-\x88*\xB3{(\xF1E\xB1\xD3{]40A\xD3\xD1;z\xB4\xC8\xA84\xE6@+B\x9A\x8A\xA8\xE6 \xEEG\xA4.\xA8\x8F\xD5O\xF2\xBEH\xE2 uy\xAE\xF9\xC9b\xA4\x95\xC6[\xA8\xE3\x987\xA7\xDB`\x99\xE4\xF3\xC08M?3\x8BB\x9A.\xD4N\xE9}X?{\xB2*\xB4\xB1\x9Ep\xEF
+\x85\xC0\x82\x8Fʪ%V\xEDZs?\xE4\xA0{>E\x8C\x8CEZ\xA6A}o6 M횞\x8F\xEE\xF4\xF5\x81\xA7\x8D\xF21\x89N\xD8D;7_0\xF4\x8F\xA8@\xA0cVq\xB5\xADCo\xB0\xF6[ߙ\xDC\xDD\xE2\xE0\x81\xFBޘ\xC1|\xA7jD\xBAUc\xB0|\xECj\xC0m\xBD\xA9\xFA\xF41\xC5YDFImlf\xBA\xAA\xD7s\x999\xB9\x88(q\xD9{;e\xFCS\xE3:H\xD8\xA0\xFC(\xEF\x91\xAA\xCA\xC4$\xF0ܙ\x9D\xBD\xF9\xD7O8x\x80\x82\xDDT5f\xA9\x95\xDB\xE2\x8Ek\x86\xF05\xCD\xDA]ᄃmʹ\xD9\xE8cc\xA1\x93\x89\x83\xA7\xF4\xB9c\x8B\xF0~\xB3\xD6Ք\xCDL]\xA5\xA9Q\xF7\xBB\xAB\xEA\xFB\xBE\xEA:\xD5\xE1}8\x9C\x99\xCFh\xF1\xA3W\xB5\xF8Ӄ\xAAr\\x81\xD2\xDE\xA3Ϗ
+\xD4T\xB4\xF1G\xB80\x8C\xFBll}N\xE5]Y\x9D\xE8\xA3\xF6P\xB5x\xFBt\xFD\xE3e\xEF\xEF~\xA2\xAB\x83g;\x80\xE9\xD0\xC7\xF5$q\xBBrl\x80\xD9.\xCCB\xA3s\x94VM:T72Ȏ\x9D-\xFA\xBCq\xB5\xE7c\xB5w\x8B\xFB\x944\xDB\xDC\xF3/\xDF\xAA\xBCa\xA9N\xDB\xDEq\xAF\x97U\x8Bg/\xAAR\x8Dۂ~\xF1\xB2*\x8Aj7`\x82\xC1\xEAYm6 \xF0\xE0\xEA6(\xDB\xFA\xFF\xE9\xFAbL\x812\xE3\xC3\xEC\xDDo\xEF\xB8)<\xB8%p\xE0\x88$a\xC2K\x9Dlc*\x93 \xAA\xB1 \xE5\x8Ec\xEC\xD4\xCAY\xBE\xFB\xF7\x8B$ص#1a\x9A\xFD\xFC\xAB\xE7,`rR"qvf\xE5\xFE\xA1\xD8\xC2\xF9RM\xB9\xB9";\xF3=~\xED}O\xB7\xCD\xCF\xE0D1\x8B\xF9)a\x90\xB0\xD0{\x95!\xEC\xC1x\xE9Şx\x8E\xDFO\xF8\xB0\xEE?!v\x84^\xC8\xD7\xF7BF/\xD56\xD1t
+]\x8AL/\xC0\xE0q\xE4\xC7\xDCm\x94_ϿG\xC5ۨ\xBFG\xCCkcy)'\xF3\xDB
+\xB4&\x90\xFCd\xF0ӍH\xA05\xA4\xC3\xE4\x9B\xC94\x82\xEE\x8E]eU\xB9\xCCW]M\xCD\xF7\x92\,`\x97\xFE#\x90\xFBRF!w/\xE4-\x90;\xE6\xFE\xC8}\xF5{\xBC\xBD:\x96\x97r\xFA:rላ\xA2r7\xF2\xFE\x95\x90\x8D&\xD2?\xB2/etd\xF7B\xDE\xB2c\xEEo ٷQ\xBFګcy)\xA7\xAFC6\x8A\x98\xED\x86\x905\xA3\xBE\xD1\xD6/\xF9\xE6bk\xC7\xC2\xE7B-\xB8tY-q\xC6\xCF\xFFT-\xF84\x87gԂ\x97\xAB\xB1\x87\xC8=\xE1\x9D\xFB#\x8BQ\xC3b-\xF5}\x96\xF4\xED\xBEm\xD8\xF6
+?6\xA5\xBE\x9A\x83\x93[\xD2\xEF\xBA=Q\xAD̋fԮᅲ8\xFC\xE9\xC6\xEF\xBA\xD6 \x90\xD3\xE9Z\xFF
+v\xDC
+O헣\xBE\xD4\vy|ԝ\xEB\xEB\xE2ыia\xA0j\xEC\x85\xCD|\x9Ep\xFD\x9E\xD2\xDF\xC2s\xE8\x92=[\xAB\xEC'\xA9S\x86Ѽ\xCB\xBA\xC3>,\x9Amkj:Ns \xEF\x89~\xD2^\xD1\xF7\xE9\x9Bc\x92[i[vys\xF2\x96\xBC\xD5ʬo\xE4~B\xED\xFBAٵkm\xE6Q:\xF8\xEB\xEE\xB38 \x96\x88G\xF6/jF\xFD!=GyO I\x96\x9E\xEFH\xB3\xE1\xEB\xB8\xF3\xB9`\xEC\x83.'\x8E\xE2'4\xF9?\xA0z\x90\xFC
+endstream
+endobj
+164 0 obj <<
+/Type /Page
+/Contents 165 0 R
+/Resources 163 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 152 0 R
+/Annots [ 158 0 R 159 0 R ]
+>> endobj
+158 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [79.791 488.709 189.38 498.572]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gtk.org)>>
+>> endobj
+159 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.533 202.789 199.81 213.843]
+/Subtype /Link
+/A << /S /GoTo /D (Hfootnote.1) >>
+>> endobj
+166 0 obj <<
+/D [164 0 R /XYZ 80.787 780.174 null]
+>> endobj
+9 0 obj <<
+/D [164 0 R /XYZ 80.787 762.241 null]
+>> endobj
+13 0 obj <<
+/D [164 0 R /XYZ 80.787 564.96 null]
+>> endobj
+17 0 obj <<
+/D [164 0 R /XYZ 80.787 358.532 null]
+>> endobj
+171 0 obj <<
+/D [164 0 R /XYZ 80.787 288.01 null]
+>> endobj
+172 0 obj <<
+/D [164 0 R /XYZ 80.787 290.6 null]
+>> endobj
+173 0 obj <<
+/D [164 0 R /XYZ 80.787 282.63 null]
+>> endobj
+174 0 obj <<
+/D [164 0 R /XYZ 80.787 274.66 null]
+>> endobj
+163 0 obj <<
+ /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
+/Font << /F18 149 0 R /F56 150 0 R /F14 167 0 R /F68 168 0 R /F71 169 0 R /F72 170 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+179 0 obj <<
+/Length 1490
+/Filter /FlateDecode
+>>
+stream
+xڵXK\x8F\xDB6\xBE\xEF\xAFЭ2P1$%\x8ATni\x93
+R\xF4Т`\x93-\xD1k!\xB2\xE4\x9AR\\xE7\xD7w\xF8R$E\xBBi\x8B.\xC4\xD4p8/\xCE73\\xDDG8z}\x83\xBF\xFE\xC7\x89(\xE6\x881\xB1<E\x82\xE4Qy\xBC\xF9\xF3#F\xB3\x82Y\x96\xE9\xDAnfX؏\x94\x8B@|\xF6\xE6H\xA2\x97\xDD\xCD\xEF\xF0Ga4&\x95?mo\x9Eݲ<*P\x91\xD3<\xDA\xEE#"
+\x94\xF2"bA\xA2Ѷ\x8A\xEE\xE2\xDB\xFA~8o\x88\x88\xD5&\xA1\xC7\xE4\xF9\xE6\xE3\xF6\x97QEtg\xA9\xBF5\xC3}\xDD:\x8E\xA3l\xE5\xBD:\xBB\x8FK\xDD\xDC굒\xED\xF5Wsت\x838qjs\x8EDVD\xE5yᔾپZ\x97\xA1\xB4ȣdµ5\@\xCF2\xA0S\x94\xA6\xB9\xA3\xBF\xF2t\x91\xD1hB~\xEF\xEC\xE8\xF6{\xDC#\x92ϼz\xE8\xF7\xD9-K\xB2\x9C\x9BZ\xC0Yʢ$MQ\xC63\xA7(\xDB$\xA4\xBE\xD5\x86\x99G\xCE\x94\xF3\xE0\xF4\xBE\xB7Q\xC3\xEC\xE1X\xB1QP\xFDB\xC5_\xFF*0\xE3 \xB5Y\xE4\xF1N\xA9֑\xEAV\xF7\xB2iT\xE5>\xF5P\x96J\xEB\xFD\xD04W\xC7\xDA\x94\xDB:\x85\x94\x80u)\xDB \xC8\x9ANVAF\xB0\xF9\xD5
+\xF7\xC7d\xBD\xFFA+&d\x96\xB19\xC9\xC1\xDF\xCCxIP\xC1\xFC\xCBd\xA6\x84\xC5\xD2\xFC\xE4q\xAB.\xEE[;G9\xAAvp$#\xD4P\xAC\xC1\x86\xB0\xDD4\xEE\xBAF\xBB\xCF\xC0\x99C7\x8D{:)yvT\xE9\xF9.j\xDC\xD5\xAD\x9F\xD4\xD5Qvu[\xD5\xED}8\xE1\xE5\xB9pؓ\x9Fe\xDD\xC8]\xA3\x82i\xBA\xAEl\xEA\x98\xB12\xE7\xE0\x9As/^\xBC\xF9\xC8\xE10\xA4\xD1^\x96
+m\x92L\x90\xF8\x8Df\x9D\xAF\xC0\xE4\xE2\xEF%\xAC\xAE\x9D_x\xF3`\xF5cj#
+'T۟k\xE55ﻳ_m\xD9\xD7]\xEB\xE9z8\x9D\xBAs\xAF*o\xD7՝\xED\xB5^\xF3\xE6\xB3:k8<ǥK X\xB8\x9BG&$8~Ӈzb\x8C3\xAB\x9Dg+]:Zp:-gPW \xA1\xB1\xD3\xF5\xABܪ\xF7+X\xA1B.\xB4\xC0\xEB\xEE\xA4\xE0\x882%z\xB83\xF7\xDBMJL\x91$\xB1\xEC7$\x86\xA2 K\xA5\xFFEx\xDD9\x8F\xE0\xFD\xEA\xD8MKo\xA5zH-5\xDD\xFD\xEE^\xC9\xDEWj\xBD憍;\xF5jS\x86!\xDE~D\x9C\xBE\xE0 \xB3 \x8D{\x86\x98ȡ6`\x9E\xCF
+\xCE\d\x86r\x9C\x9A\xCA2\xB2\xB9\x8A\x93C\xE5b\x86\xCE\xD3bZqr\x84)\x8F&\xE4\xF7ɻ\xFA\x8B4!<W\x8F\x85,\xC9\xE0PaZZ\xF0\xF7lCʬ\x95L\xEA\xCA\xE0\x93w\x97\xE4݆t\xBFH{\x95\xBFJ\xED\x8F\xA7F\xD6zSC\x91\xEEGI\xED\x9B\xD0E\xFAE\xE9.Q~\xC3\xDB\xC7]\xE8\xAB-\x95\xDAˡ\xF1r0J\xDC\xFD\xDB[N\\xE1\xA8HSg\xE7K\xCF\xE3\xC1v=)p'=QN\x93\xAE\xCE\xEE\xB3\xEDo\xE0\xE5\x88\xD7p/\x8B xyϗI\x99M\xC1j\xAE3\x9B\x9B\xFA\xFEX.\x98U\x90\xBB\xEB\xBAO\x8F)HwB(\xFA\xF2\x9D\xC6\xEF\xA7\xD4"\xCF}]6\xEA)U4\xAA\xEFC}\xC0\xCF2h\xBAY6Rk\xE0 Oi\xCD\xC9W,H/ُ\xBD\xC0ص\x86e\x98^iJ\xFF,\xFC\xB1F\xD59D b\x98\x8B\xE9O\xDBC\xC0\xB8r&\x9DI\xAB~\x8E\x90\xF2\xD0uzD\xF5\x88\x97V\xA9*\x80ɴY\xCF
+M\xF6\xE8\xBC\xB3\x86ESWI`\xC0\xB3\xBD\xAD\x95`p\xB9O0\xA8U\xDD%L\xEA\xD0\xFCъ
+k!&\x84\xCE=}Ֆ\x9D3V"\x9E\xA3\x82\x8FM\xD4$4.\xBB\xD6L\xF0~pÉH\xFD {'Y~\x82YN\xAF\xF5m\xE8\x89\xCAj\x90֞\x86^\xB5\xE5\x8AZ\xBE\xA5\xA3o\xA6i\xD1n8e\xEA/iʮ\xEFWӬ\xE50\xB5\xB3"lW\x8C\x80r$FɃV\xDE\xA1ߋ\x8F+\x86\xF2l<\xB0@"]wj&)\x83\xD7\xD0ȷl
+p"\xC8\xE5f\xC6
+h\xA9\xF3\xF1\xAA\x94\xDA\x94\xC2v\x8B\x94\x84\xF9\xD5\xD8R[\xDB\xFD\xCD\xDA=}膦r;;\xCF\xFFv{\x9B\xC5I\xE3\x8D\xEE\xB5\xF6\xE7!\xD1\xF5L\xC1R\xA4k\xD93\xDA1z\xDCu\xB4\xD1<\x98\xA0\xA1٬L\x8Ccox \x8E\xCC'\x9EW[x4\x87ׯ\xC0\x88\xA3Ld\xE6\xE9{\xF7G\xEC\x81x("\xBAX\xCE#<\x809\xC2\xC0\x82\xA3&\xFA\xDE\xD5\xE1\x89\xB5\x8Ds{\x86('\x81\xE7\xA3\xD4\xD9D&\x85\xAA\xE0\x98>x
+\x82J(5\xA2\xF0\xE8\xF9\xB9\x83
+W\x86F-{\xF9@\xD1\xD8wC\xFAfʆ<\xF5\xEEٳ|w\xBA\xA0\xC6?\xFA\xE1y\xF9\xF6\xF0\xF2 Z}\xF9\xAEE\xB0\x80\xCC\xD4<\xC0FnN\xF8\xC0 \xEDۿ5\xA4\x84Y$@f\xEE\xCB.}Ȓ\xBF\xD9:\xC4
+endstream
+endobj
+178 0 obj <<
+/Type /Page
+/Contents 179 0 R
+/Resources 177 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 152 0 R
+/Annots [ 160 0 R 161 0 R ]
+>> endobj
+162 0 obj <<
+/Type /XObject
+/Subtype /Image
+/Width 408
+/Height 378
+/BitsPerComponent 8
+/ColorSpace /DeviceRGB
+/Length 35703
+/Filter /FlateDecode
+/DecodeParms << /Colors 3 /Columns 408 /BitsPerComponent 8 /Predictor 10 >>
+>>
+stream
+x\x9C\xEC\x9Dw\\xC9\xC0_:\x90\x84\xDE;\x82\xD2EA\xF1Ċ\xA8X\xBB"\xFETPOE\xB1\xF7\x8Azb\xEF{o\xA8g\xEF{W,X\xB0Д\xDE \x90\xB6\xFB\xFB#\x98\xC3dBp\xBE?w\x9B\xDDyo\x99y\xCCn6oHP\x8E\xE8\xE8h@ u`\xC0\x80\xE2c\x92\xE8\xA7O\x9F\xD6\xD3\xD3\xFB\xAB\xC5_*2 \x81@ *\xC7\xE3'\x8Fsss{\xF7\xEE
+\xA2@v\xFA\xF4iKKKWWU\x86@ \x95\xE0}\xDC\xFB\x94\x94\x94{S\x80\xC9d:;9c\xA6j\xAB\xA28;9\xE7\xE6\xE6 \xE9\xF4\xE9\xD3~\xFCTm\x81@T\x91\x9B\xB7nR\xF9|~\x85k\xB1\xBC\xFC\xBC\x94\xE4\xC7---\xF5\xF4\xF4*UGud\x84jQ\xD5ܯ\x94,\x9Fϧ\x80\xAC@\x86\xE3\xF8\xB5k\xD7v>\xF9\xB1P\xC3ĺ!\x89LNO\x8Co\xA0Q4b```` \x89D\x92\xA3Z${dwt\xE97\xB2\xAD\x99\x99L\xFE\xFE\xF3Ւ\xDB?\xA4w\x85\xB2B\xB5\x88\xE6\xEF\xC1C
+
+\xAC\xAD\xAD\xC9drbB\x82\x963((H\xC1\xB9\xBF\xEFԎ\xAD/
+\x8D\xC9drr|\x9AA\x81\xED\xE0\xC3\x94\xFDw\xD7N\xE6\x97/\x8DLM\xC9d\xF2\xE7\xD4\xD4<k\xEB\xA1Ȓ\xA2\xA3\xA3;\xF8v\x90\xBE\xC0\xE7\xF3\xA7͜\xC75>\xAEU##
+ \xF8B\xFC\xF9\xF7\x9C-Q;
+\x8B>oZ\xBBZCC\x83P)\x9Fϟ9}\xFE\x8D>a\os*\x83 B\x96\xFC:c\xFB\x969\xACĵ\xD7ȒE \xAA\x85\xCF\xE7Ϙ9\xA3\xA4\xA4$<<\xDC\xD1ёF\xA3\x80P(\xFC\xF6\xED[TT\x87\xC3Y\xBFn\xBD\x9C\xB9?}\xF6\xB4l\xE3O\xE1\xE3\xC676\xF4\xA1S \xC0s_l۹>\xE9\xAD_\xB5I\x8E\xEC\xEC\xE9\xD3\xCC\xE2\xE3\xC7N\x98`ТYC 0>?\xFFի][\xB6\xBC\xD7\xD1]\xBDq#\xA1\xEC\xAD۷H\xD1\xD1\xD1\xED۵\x97\xB8\x80\xE3\xF8\xA4iӓ\xF5\xFFZ0\xBA\xBF&\x8D,qU\x80\xE1k]"\xBD?\xBFs\xEB&2Y\xF2*\x8E\xE3\xD3&O7\xCFm<b\xF6 \x83"q\xE2\xC76\x9D}\xC1\xB9\xB1u\xC7fiY\xA1Zp\x9F:m\xAA\x8E\x8ENXX\x98(\x84\x95ð|\xFC\xF8q\xDB\xD6m\x84sʌI$\x9F\xD4I\xFD\xE6\xD1ɚW\x85\xB8`\xD7\xE5u)g\x85\xDB7\xEE$\x94\x9D1yR\x9B\xCC\xCC>s搥\xA3\x95PxeÆ\xB9܍;d\xEF\xC4ܡ\x80J\\xB8z\xF5\xEA\x8D\x9DC\xFC3
+y\x84\xAD
+\xE8\xD4n\xF1\xDB'N\x9E\xE8ׯ\x9F\xB4l\xC1c\xDA\xC8i]8\x99\xA5\x84\xB2~\xDD|\xDF.\x89#\x94E\xA8333\xD1\x89L5\xB0t\xEC3*bш6|\xCE;k\x87NZ\xC6\xC1_c\xD7TVaud\xAA\xE5\xEAի\xA9\xA9\xA9\xC1\xC1\xC1\x84:w\xEE\xFC\xF6\xED[Ys\xFF\xB3ޝ\xA9\xFE3ry\x99\x84\xB2\xFE\xEDV~X,K\xD6\xE8\xFE}\xFF\xE9\xD3\xF9\x99IJ\xED\xBAu\xFB\xB8d\x89\xAC\xB8A\xFC\x8Cl\xC7\xE1Ӻ\xCD\xC6\xF3\x85xRN \xA1R 0\xF5\xEA\xBA\xEB\xC4\xF2{Kܸ\xDB}\xD2\xD7t\x98P\x80\xE5\xFE\xE0Ȓmi\xDD\xF1\xDF}[\xA4e*d\xFA\xDCyԒ\xF4]\x9B\xF6\xEC\x987@\xC3\xE7\xFDTKѨ\xC0\xAB\xF0^\x89j0n\xDC8\xAB z\xA7G\xED8|\xF8pӦM\x85Bavv\xB6\xAC2M\x9B6\x8D\x8E\x8E\x96\x9E\xBFN\xEFl4\xC9@\x80\xF3\xD2K\x93e\xC9:w3?\xB2t\xB7\xB4\xEC\x99]\xBBf\xE1|>7%E\x96lK˅{\xF7\xC6
+\x82@\x96\x97\x97_\xC2ԣ\xD0>\xA6q\xA4\xEF+E1\xBC\x98Yd\xB3\x9F?\x8A\xFF\x9E\x8Bd\xF9 t\x8A5\xEBKUC\xF2\xBER.\xC4\xA5#\xD3@B\xA1ZBF\x8EҦ\x92\x9C\x9E\xF68\xED\xF6\xC5\xE4\xC9\xE3 8\x8EaXiΥ\x86\xA3ٖ3\xE2\x8D\x94|\xB1k\xE4\xABe\xF4\xE9\xE5* x\xBAg\xEE\xC4u'\xB2\xC1\xA0w\xD8\xEC#\xCB\xC6i\xE8\xFAſ\xDD'(M߲e\x8B\x96Q\xD0\xD4\xF0.\xCE;;\xA7\xAEz\x9D\xFEnW\xB8\xFF\xCAs\x92\xBEӬ=G\xFE\xE7\xAA'\xE4\xA5\xCC=\xF6܃w\x85|\x92\x9E\xB1e\x87\xB0\xDDkCT\xEC\x82?\x9E\xBC\xBC\xBC\xA2\xA2"
+\x85\x92\x9A\x9AJ\xA7\xD3 \xCB`\xC6\xE7\xF3I$\x92\xF4\xDC\xCFb\xB5\xA0%s>K\xDFW\x96\xC9\xE2B\x94\x94\x98\xA5K\xCB\xEA~\xFFN35-\x89\x8F'\xB8\xAF \(\x84\x92\x8BtIYT \xC0\x84\xBF\xB2\x94\xE4\x8A\xBE- \xBC\xFBQh\xAC͠\x92IT2\x9DJ \x9E /\xE5\x858ds\xF8\x8EӍ$&$\x9A\x9B\x94\x975ְ\x80\xB4\x8F\xB9,C
+2\x85DՠPh \xF2\x84\xAE\xE2Ź<\xC3ʹl$d\xAA%9)I\x93\x9B~\xE8s 9kc\xC2<