From 9d0170c73888078d82a5a5d8426fb07a2cfaede4 Mon Sep 17 00:00:00 2001 From: Dustin Falgout Date: Sun, 2 Oct 2016 19:53:40 -0500 Subject: [PATCH] fix issues with request restrictions implmented in previous commit. --- src/greeter.c | 12 +- {data => src/gresource/css}/style.css | 0 src/gresource/greeter-resources.c | 536 ++++++++++++++---- src/gresource/greeter-resources.gresource.xml | 9 +- src/{ => gresource}/js/auto-binding-object.js | 0 src/{ => gresource}/js/heartbeat.js | 0 src/webkit2-extension.c | 10 +- 7 files changed, 434 insertions(+), 133 deletions(-) rename {data => src/gresource/css}/style.css (100%) rename src/{ => gresource}/js/auto-binding-object.js (100%) rename src/{ => gresource}/js/heartbeat.js (100%) diff --git a/src/greeter.c b/src/greeter.c index a8f751d..ab6cdd6 100644 --- a/src/greeter.c +++ b/src/greeter.c @@ -188,12 +188,10 @@ script_loaded_cb(GObject *object, ); if (!js_result) { - g_warning("Error running javascript: %s", error->message); g_error_free(error); - return; + } else { + webkit_javascript_result_unref(js_result); } - - webkit_javascript_result_unref(js_result); } @@ -289,7 +287,7 @@ message_received_cb(WebKitUserContentManager *manager, static void quit_cb(void) { - gtk_widget_destroy(GTK_WIDGET(window)); + gtk_widget_destroy(window); gtk_main_quit(); } @@ -330,8 +328,10 @@ main(int argc, char **argv) { textdomain (GETTEXT_PACKAGE); gtk_init(&argc, &argv); + g_unix_signal_add(SIGTERM, (GSourceFunc) quit_cb, NULL); g_unix_signal_add(SIGINT, (GSourceFunc) quit_cb, NULL); + g_unix_signal_add(SIGHUP, (GSourceFunc) quit_cb, NULL); /* Apply greeter settings from config file */ keyfile = g_key_file_new(); @@ -416,7 +416,7 @@ main(int argc, char **argv) { /* There's no turning back now, let's go! */ gtk_container_add(GTK_CONTAINER(window), web_view); webkit_web_view_load_uri(WEBKIT_WEB_VIEW(web_view), - g_strdup_printf("file://%s%s/index.html", THEME_DIR, theme)); + g_strdup_printf("file://%s/%s/index.html", THEME_DIR, theme)); gtk_widget_show_all(window); diff --git a/data/style.css b/src/gresource/css/style.css similarity index 100% rename from data/style.css rename to src/gresource/css/style.css diff --git a/src/gresource/greeter-resources.c b/src/gresource/greeter-resources.c index 5b53a46..40ae5ca 100644 --- a/src/gresource/greeter-resources.c +++ b/src/gresource/greeter-resources.c @@ -6,44 +6,47 @@ # define SECTION #endif -static const SECTION union { const guint8 data[2820]; const double alignment; void * const ptr;} greeter_resources_resource_data = { { +static const SECTION union { const guint8 data[5188]; const double alignment; void * const ptr;} greeter_resources_resource_data = { { 0x47, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x18, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x28, 0x08, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x78, 0x4c, 0xe7, 0x14, 0x06, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x00, 0x00, 0x03, 0x00, 0x4c, 0x00, - 0x04, 0x01, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00, - 0xc2, 0xaf, 0x89, 0x0b, 0x03, 0x00, 0x00, 0x00, - 0x08, 0x01, 0x00, 0x00, 0x04, 0x00, 0x4c, 0x00, - 0x0c, 0x01, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, - 0x73, 0xf8, 0xf6, 0x72, 0x00, 0x00, 0x00, 0x00, - 0x10, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x76, 0x00, - 0x20, 0x01, 0x00, 0x00, 0x7b, 0x0a, 0x00, 0x00, - 0xd4, 0xb5, 0x02, 0x00, 0xff, 0xff, 0xff, 0xff, - 0x7b, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x4c, 0x00, - 0x7c, 0x0a, 0x00, 0x00, 0x80, 0x0a, 0x00, 0x00, - 0x8c, 0x77, 0x10, 0x71, 0x07, 0x00, 0x00, 0x00, - 0x80, 0x0a, 0x00, 0x00, 0x09, 0x00, 0x76, 0x00, - 0x90, 0x0a, 0x00, 0x00, 0xcc, 0x0a, 0x00, 0x00, - 0xb4, 0xae, 0x96, 0xdb, 0x01, 0x00, 0x00, 0x00, - 0xcc, 0x0a, 0x00, 0x00, 0x09, 0x00, 0x4c, 0x00, - 0xd8, 0x0a, 0x00, 0x00, 0xdc, 0x0a, 0x00, 0x00, - 0x0c, 0xa6, 0xd8, 0x48, 0x05, 0x00, 0x00, 0x00, - 0xdc, 0x0a, 0x00, 0x00, 0x18, 0x00, 0x4c, 0x00, - 0xf4, 0x0a, 0x00, 0x00, 0xfc, 0x0a, 0x00, 0x00, - 0xc4, 0x0d, 0xcd, 0xb1, 0x06, 0x00, 0x00, 0x00, - 0xfc, 0x0a, 0x00, 0x00, 0x04, 0x00, 0x4c, 0x00, - 0x00, 0x0b, 0x00, 0x00, 0x04, 0x0b, 0x00, 0x00, - 0x6a, 0x73, 0x2f, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x63, 0x6f, 0x6d, 0x2f, 0x05, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x1c, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x28, 0x09, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x78, 0x4c, 0xe7, 0x14, + 0x03, 0x00, 0x00, 0x00, 0x1c, 0x01, 0x00, 0x00, + 0x03, 0x00, 0x4c, 0x00, 0x20, 0x01, 0x00, 0x00, + 0x28, 0x01, 0x00, 0x00, 0x73, 0xf8, 0xf6, 0x72, + 0x00, 0x00, 0x00, 0x00, 0x28, 0x01, 0x00, 0x00, + 0x0c, 0x00, 0x76, 0x00, 0x38, 0x01, 0x00, 0x00, + 0xf5, 0x0a, 0x00, 0x00, 0xc2, 0xaf, 0x89, 0x0b, + 0x07, 0x00, 0x00, 0x00, 0xf5, 0x0a, 0x00, 0x00, + 0x04, 0x00, 0x4c, 0x00, 0xfc, 0x0a, 0x00, 0x00, + 0x00, 0x0b, 0x00, 0x00, 0x0c, 0xa6, 0xd8, 0x48, + 0x05, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, + 0x18, 0x00, 0x4c, 0x00, 0x18, 0x0b, 0x00, 0x00, + 0x20, 0x0b, 0x00, 0x00, 0x08, 0x98, 0x49, 0xe2, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x0b, 0x00, 0x00, + 0x16, 0x00, 0x76, 0x00, 0x38, 0x0b, 0x00, 0x00, + 0xdf, 0x13, 0x00, 0x00, 0xb4, 0xae, 0x96, 0xdb, + 0x02, 0x00, 0x00, 0x00, 0xdf, 0x13, 0x00, 0x00, + 0x09, 0x00, 0x4c, 0x00, 0xe8, 0x13, 0x00, 0x00, + 0xec, 0x13, 0x00, 0x00, 0x8c, 0x77, 0x10, 0x71, + 0x08, 0x00, 0x00, 0x00, 0xec, 0x13, 0x00, 0x00, + 0x09, 0x00, 0x76, 0x00, 0xf8, 0x13, 0x00, 0x00, + 0x34, 0x14, 0x00, 0x00, 0xd4, 0xb5, 0x02, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x34, 0x14, 0x00, 0x00, + 0x01, 0x00, 0x4c, 0x00, 0x38, 0x14, 0x00, 0x00, + 0x3c, 0x14, 0x00, 0x00, 0xc4, 0x0d, 0xcd, 0xb1, + 0x03, 0x00, 0x00, 0x00, 0x3c, 0x14, 0x00, 0x00, + 0x04, 0x00, 0x4c, 0x00, 0x40, 0x14, 0x00, 0x00, + 0x44, 0x14, 0x00, 0x00, 0x6a, 0x73, 0x2f, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x2e, 0x6a, 0x73, 0x00, 0x00, 0x00, 0x00, - 0x4b, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xad, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0x2a, 0x0a, 0x20, 0x2a, 0x20, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x2e, 0x6a, 0x73, 0x0a, 0x20, 0x2a, 0x0a, 0x20, 0x2a, @@ -248,23 +251,31 @@ static const SECTION union { const guint8 data[2820]; const double alignment; vo 0x73, 0x73, 0x20, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x44, 0x4d, 0x47, 0x72, 0x65, 0x65, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, - 0x61, 0x74, 0x20, 0x7b, 0x0a, 0x0a, 0x09, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x6f, 0x72, 0x28, 0x29, 0x20, 0x7b, 0x0a, 0x09, - 0x09, 0x69, 0x66, 0x20, 0x28, 0x20, 0x27, 0x5f, + 0x61, 0x74, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, + 0x64, 0x73, 0x20, 0x41, 0x75, 0x74, 0x6f, 0x42, + 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x20, 0x7b, 0x0a, 0x0a, + 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x6f, 0x72, 0x28, 0x29, 0x20, 0x7b, + 0x0a, 0x09, 0x09, 0x69, 0x66, 0x20, 0x28, 0x20, + 0x27, 0x5f, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x74, + 0x62, 0x65, 0x61, 0x74, 0x27, 0x20, 0x69, 0x6e, + 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x20, + 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x09, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, - 0x74, 0x27, 0x20, 0x69, 0x6e, 0x20, 0x77, 0x69, - 0x6e, 0x64, 0x6f, 0x77, 0x20, 0x29, 0x20, 0x7b, - 0x0a, 0x09, 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x5f, 0x68, 0x65, 0x61, 0x72, - 0x74, 0x62, 0x65, 0x61, 0x74, 0x3b, 0x0a, 0x09, - 0x09, 0x7d, 0x0a, 0x0a, 0x09, 0x09, 0x77, 0x69, - 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x5f, 0x68, 0x65, - 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x20, - 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x3b, 0x0a, + 0x74, 0x3b, 0x0a, 0x09, 0x09, 0x7d, 0x0a, 0x0a, + 0x09, 0x09, 0x73, 0x75, 0x70, 0x65, 0x72, 0x28, + 0x29, 0x3b, 0x0a, 0x0a, 0x09, 0x09, 0x77, 0x69, + 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x5f, 0x5f, 0x68, + 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, + 0x20, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x3b, + 0x0a, 0x09, 0x09, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, + 0x74, 0x20, 0x3d, 0x20, 0x27, 0x27, 0x3b, 0x0a, 0x09, 0x09, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, - 0x20, 0x3d, 0x20, 0x27, 0x27, 0x3b, 0x0a, 0x0a, + 0x73, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x0a, 0x09, 0x09, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x5f, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x5f, @@ -274,77 +285,367 @@ static const SECTION union { const guint8 data[2820]; const double alignment; vo 0x6c, 0x69, 0x7a, 0x65, 0x5f, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x28, 0x29, 0x20, 0x7b, - 0x0a, 0x09, 0x09, 0x6c, 0x65, 0x74, 0x20, 0x68, - 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, - 0x73, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x0a, - 0x09, 0x09, 0x69, 0x66, 0x20, 0x28, 0x20, 0x27, - 0x27, 0x20, 0x21, 0x3d, 0x3d, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x68, 0x65, 0x61, 0x72, 0x74, - 0x62, 0x65, 0x61, 0x74, 0x20, 0x29, 0x20, 0x7b, - 0x0a, 0x09, 0x09, 0x09, 0x63, 0x6f, 0x6e, 0x73, - 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, - 0x20, 0x27, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, - 0x65, 0x61, 0x74, 0x20, 0x68, 0x61, 0x73, 0x20, - 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x20, - 0x62, 0x65, 0x65, 0x6e, 0x20, 0x69, 0x6e, 0x69, - 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, - 0x21, 0x27, 0x20, 0x29, 0x3b, 0x0a, 0x09, 0x09, - 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x3b, - 0x0a, 0x09, 0x09, 0x7d, 0x0a, 0x0a, 0x09, 0x09, - 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, - 0x6c, 0x6f, 0x67, 0x28, 0x27, 0x49, 0x6e, 0x69, - 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x69, 0x6e, - 0x67, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x20, + 0x0a, 0x09, 0x09, 0x69, 0x66, 0x20, 0x28, 0x20, + 0x27, 0x27, 0x20, 0x21, 0x3d, 0x3d, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x2e, 0x68, 0x65, 0x61, 0x72, + 0x74, 0x62, 0x65, 0x61, 0x74, 0x20, 0x29, 0x20, + 0x7b, 0x0a, 0x09, 0x09, 0x09, 0x63, 0x6f, 0x6e, + 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, + 0x28, 0x20, 0x27, 0x48, 0x65, 0x61, 0x72, 0x74, + 0x62, 0x65, 0x61, 0x74, 0x20, 0x68, 0x61, 0x73, + 0x20, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, + 0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, 0x69, 0x6e, + 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, + 0x64, 0x21, 0x27, 0x20, 0x29, 0x3b, 0x0a, 0x09, + 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x3b, 0x0a, 0x09, 0x09, 0x7d, 0x0a, 0x0a, 0x09, + 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, + 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x27, 0x49, 0x6e, + 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x69, + 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x65, + 0x20, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, + 0x61, 0x74, 0x2e, 0x27, 0x29, 0x3b, 0x0a, 0x0a, + 0x09, 0x09, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x73, + 0x65, 0x6e, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x72, + 0x74, 0x62, 0x65, 0x61, 0x74, 0x28, 0x29, 0x3b, + 0x0a, 0x09, 0x09, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, - 0x74, 0x2e, 0x27, 0x29, 0x3b, 0x0a, 0x0a, 0x09, - 0x09, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x68, 0x65, - 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x20, - 0x3d, 0x20, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x74, - 0x65, 0x72, 0x76, 0x61, 0x6c, 0x28, 0x28, 0x29, - 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x09, 0x09, - 0x09, 0x2b, 0x2b, 0x68, 0x65, 0x61, 0x72, 0x74, - 0x62, 0x65, 0x61, 0x74, 0x73, 0x3b, 0x0a, 0x0a, - 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x28, 0x20, - 0x74, 0x72, 0x75, 0x65, 0x20, 0x3d, 0x3d, 0x3d, - 0x20, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x64, 0x6d, - 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, - 0x67, 0x20, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, + 0x74, 0x20, 0x3d, 0x20, 0x73, 0x65, 0x74, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x28, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x73, 0x65, 0x6e, + 0x64, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, + 0x65, 0x61, 0x74, 0x2c, 0x20, 0x35, 0x30, 0x30, + 0x30, 0x29, 0x3b, 0x0a, 0x09, 0x7d, 0x0a, 0x0a, + 0x09, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x68, 0x65, + 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x28, + 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x2b, 0x2b, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x68, 0x65, 0x61, + 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x73, 0x3b, + 0x0a, 0x0a, 0x09, 0x09, 0x69, 0x66, 0x20, 0x28, + 0x20, 0x74, 0x72, 0x75, 0x65, 0x20, 0x3d, 0x3d, + 0x3d, 0x20, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x64, + 0x6d, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, + 0x6e, 0x67, 0x20, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x09, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x28, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x20, - 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x3b, 0x0a, 0x09, - 0x09, 0x09, 0x7d, 0x0a, 0x0a, 0x09, 0x09, 0x09, - 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x77, - 0x65, 0x62, 0x6b, 0x69, 0x74, 0x2e, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x61, 0x6e, - 0x64, 0x6c, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x72, - 0x65, 0x65, 0x74, 0x65, 0x72, 0x42, 0x72, 0x69, - 0x64, 0x67, 0x65, 0x2e, 0x70, 0x6f, 0x73, 0x74, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x28, - 0x27, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, - 0x61, 0x74, 0x27, 0x29, 0x3b, 0x0a, 0x0a, 0x09, - 0x09, 0x09, 0x69, 0x66, 0x20, 0x28, 0x20, 0x68, + 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x09, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x3b, 0x0a, 0x09, 0x09, + 0x7d, 0x0a, 0x0a, 0x09, 0x09, 0x69, 0x66, 0x20, + 0x28, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x73, 0x20, 0x3c, 0x20, 0x35, 0x20, 0x29, 0x20, - 0x7b, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x63, 0x6f, - 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, - 0x67, 0x28, 0x27, 0x53, 0x65, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x20, 0x68, 0x65, 0x61, 0x72, 0x74, - 0x62, 0x65, 0x61, 0x74, 0x2e, 0x2e, 0x2e, 0x27, - 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x09, 0x7d, 0x0a, - 0x0a, 0x09, 0x09, 0x7d, 0x2c, 0x20, 0x35, 0x30, - 0x30, 0x30, 0x29, 0x3b, 0x0a, 0x09, 0x7d, 0x0a, - 0x7d, 0x0a, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x20, - 0x4c, 0x69, 0x67, 0x68, 0x74, 0x44, 0x4d, 0x47, - 0x72, 0x65, 0x65, 0x74, 0x65, 0x72, 0x48, 0x65, - 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x28, - 0x29, 0x3b, 0x0a, 0x00, 0x00, 0x28, 0x75, 0x75, - 0x61, 0x79, 0x29, 0x2f, 0x01, 0x00, 0x00, 0x00, - 0x73, 0x74, 0x79, 0x6c, 0x65, 0x2e, 0x63, 0x73, - 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x7b, 0x0a, 0x09, 0x09, 0x09, 0x63, 0x6f, 0x6e, + 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, + 0x28, 0x27, 0x53, 0x65, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x20, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, + 0x65, 0x61, 0x74, 0x2e, 0x2e, 0x2e, 0x27, 0x29, + 0x3b, 0x0a, 0x09, 0x09, 0x7d, 0x0a, 0x0a, 0x09, + 0x09, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, + 0x77, 0x65, 0x62, 0x6b, 0x69, 0x74, 0x2e, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x61, + 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x73, 0x2e, 0x47, + 0x72, 0x65, 0x65, 0x74, 0x65, 0x72, 0x42, 0x72, + 0x69, 0x64, 0x67, 0x65, 0x2e, 0x70, 0x6f, 0x73, + 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x28, 0x27, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, + 0x65, 0x61, 0x74, 0x27, 0x29, 0x3b, 0x0a, 0x09, + 0x7d, 0x0a, 0x7d, 0x0a, 0x0a, 0x0a, 0x6e, 0x65, + 0x77, 0x20, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x44, + 0x4d, 0x47, 0x72, 0x65, 0x65, 0x74, 0x65, 0x72, + 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, + 0x74, 0x28, 0x29, 0x3b, 0x0a, 0x00, 0x00, 0x28, + 0x75, 0x75, 0x61, 0x79, 0x29, 0x63, 0x6f, 0x6d, + 0x2f, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x6c, 0x69, 0x67, 0x68, 0x74, 0x64, 0x6d, 0x2d, + 0x77, 0x65, 0x62, 0x6b, 0x69, 0x74, 0x32, 0x2d, + 0x67, 0x72, 0x65, 0x65, 0x74, 0x65, 0x72, 0x2f, + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x61, 0x75, 0x74, 0x6f, 0x2d, 0x62, 0x69, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x2d, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x2e, 0x6a, 0x73, 0x00, 0x00, + 0x97, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x2f, 0x2a, 0x0a, 0x20, 0x2a, 0x20, 0x61, 0x75, + 0x74, 0x6f, 0x2d, 0x62, 0x69, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x2d, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x2e, 0x6a, 0x73, 0x0a, 0x20, 0x2a, 0x0a, + 0x20, 0x2a, 0x20, 0x43, 0x6f, 0x70, 0x79, 0x72, + 0x69, 0x67, 0x68, 0x74, 0x20, 0xc2, 0xa9, 0x20, + 0x32, 0x30, 0x31, 0x36, 0x20, 0x41, 0x6e, 0x74, + 0x65, 0x72, 0x67, 0x6f, 0x73, 0x20, 0x44, 0x65, + 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x73, + 0x20, 0x3c, 0x64, 0x65, 0x76, 0x40, 0x61, 0x6e, + 0x74, 0x65, 0x72, 0x67, 0x6f, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x3e, 0x0a, 0x20, 0x2a, 0x0a, 0x20, + 0x2a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x66, + 0x69, 0x6c, 0x65, 0x20, 0x69, 0x73, 0x20, 0x70, + 0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x6c, + 0x69, 0x67, 0x68, 0x74, 0x64, 0x6d, 0x2d, 0x77, + 0x65, 0x62, 0x6b, 0x69, 0x74, 0x32, 0x2d, 0x67, + 0x72, 0x65, 0x65, 0x74, 0x65, 0x72, 0x2e, 0x0a, + 0x20, 0x2a, 0x0a, 0x20, 0x2a, 0x20, 0x6c, 0x69, + 0x67, 0x68, 0x74, 0x64, 0x6d, 0x2d, 0x77, 0x65, + 0x62, 0x6b, 0x69, 0x74, 0x32, 0x2d, 0x67, 0x72, + 0x65, 0x65, 0x74, 0x65, 0x72, 0x20, 0x69, 0x73, + 0x20, 0x66, 0x72, 0x65, 0x65, 0x20, 0x73, 0x6f, + 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x3b, 0x20, + 0x79, 0x6f, 0x75, 0x20, 0x63, 0x61, 0x6e, 0x20, + 0x72, 0x65, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x65, 0x20, 0x69, 0x74, 0x20, + 0x61, 0x6e, 0x64, 0x2f, 0x6f, 0x72, 0x20, 0x6d, + 0x6f, 0x64, 0x69, 0x66, 0x79, 0x0a, 0x20, 0x2a, + 0x20, 0x69, 0x74, 0x20, 0x75, 0x6e, 0x64, 0x65, + 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, + 0x72, 0x6d, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x47, 0x4e, 0x55, 0x20, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x20, 0x50, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, 0x4c, 0x69, + 0x63, 0x65, 0x6e, 0x73, 0x65, 0x20, 0x61, 0x73, + 0x20, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, + 0x65, 0x64, 0x20, 0x62, 0x79, 0x0a, 0x20, 0x2a, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x46, 0x72, 0x65, + 0x65, 0x20, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, + 0x72, 0x65, 0x20, 0x46, 0x6f, 0x75, 0x6e, 0x64, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x20, 0x65, + 0x69, 0x74, 0x68, 0x65, 0x72, 0x20, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x33, 0x20, + 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4c, + 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x2c, 0x20, + 0x6f, 0x72, 0x0a, 0x20, 0x2a, 0x20, 0x28, 0x61, + 0x74, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x20, 0x61, + 0x6e, 0x79, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x72, + 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x2e, 0x0a, 0x20, 0x2a, 0x0a, 0x20, 0x2a, 0x20, + 0x6c, 0x69, 0x67, 0x68, 0x74, 0x64, 0x6d, 0x2d, + 0x77, 0x65, 0x62, 0x6b, 0x69, 0x74, 0x32, 0x2d, + 0x67, 0x72, 0x65, 0x65, 0x74, 0x65, 0x72, 0x20, + 0x69, 0x73, 0x20, 0x64, 0x69, 0x73, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x20, 0x69, + 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x68, 0x6f, + 0x70, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, + 0x69, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, + 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x66, 0x75, + 0x6c, 0x2c, 0x0a, 0x20, 0x2a, 0x20, 0x62, 0x75, + 0x74, 0x20, 0x57, 0x49, 0x54, 0x48, 0x4f, 0x55, + 0x54, 0x20, 0x41, 0x4e, 0x59, 0x20, 0x57, 0x41, + 0x52, 0x52, 0x41, 0x4e, 0x54, 0x59, 0x3b, 0x20, + 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x20, + 0x65, 0x76, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x65, 0x64, + 0x20, 0x77, 0x61, 0x72, 0x72, 0x61, 0x6e, 0x74, + 0x79, 0x20, 0x6f, 0x66, 0x0a, 0x20, 0x2a, 0x20, + 0x4d, 0x45, 0x52, 0x43, 0x48, 0x41, 0x4e, 0x54, + 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x20, + 0x6f, 0x72, 0x20, 0x46, 0x49, 0x54, 0x4e, 0x45, + 0x53, 0x53, 0x20, 0x46, 0x4f, 0x52, 0x20, 0x41, + 0x20, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x55, + 0x4c, 0x41, 0x52, 0x20, 0x50, 0x55, 0x52, 0x50, + 0x4f, 0x53, 0x45, 0x2e, 0x20, 0x53, 0x65, 0x65, + 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x2a, 0x20, + 0x47, 0x4e, 0x55, 0x20, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x6c, 0x20, 0x50, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, + 0x73, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6d, + 0x6f, 0x72, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x2e, 0x0a, 0x20, 0x2a, 0x0a, + 0x20, 0x2a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x66, + 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, + 0x20, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x20, 0x74, 0x65, 0x72, 0x6d, + 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x69, 0x6e, + 0x20, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x20, + 0x61, 0x73, 0x20, 0x70, 0x65, 0x72, 0x20, 0x53, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x37, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x3a, + 0x0a, 0x20, 0x2a, 0x0a, 0x20, 0x2a, 0x20, 0x54, + 0x68, 0x65, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x6f, 0x66, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6c, + 0x65, 0x67, 0x61, 0x6c, 0x20, 0x6e, 0x6f, 0x74, + 0x69, 0x63, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x64, + 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x20, + 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x69, 0x6e, 0x0a, + 0x20, 0x2a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, + 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x20, + 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x70, + 0x72, 0x69, 0x61, 0x74, 0x65, 0x20, 0x4c, 0x65, + 0x67, 0x61, 0x6c, 0x20, 0x4e, 0x6f, 0x74, 0x69, + 0x63, 0x65, 0x73, 0x20, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x64, 0x0a, 0x20, 0x2a, + 0x20, 0x62, 0x79, 0x20, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x74, 0x20, + 0x69, 0x73, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x2a, 0x0a, + 0x20, 0x2a, 0x20, 0x59, 0x6f, 0x75, 0x20, 0x73, + 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x68, 0x61, + 0x76, 0x65, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x64, 0x20, 0x61, 0x20, 0x63, 0x6f, + 0x70, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x47, 0x4e, 0x55, 0x20, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x20, 0x50, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x20, 0x4c, 0x69, 0x63, + 0x65, 0x6e, 0x73, 0x65, 0x0a, 0x20, 0x2a, 0x20, + 0x61, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x77, 0x69, + 0x74, 0x68, 0x20, 0x6c, 0x69, 0x67, 0x68, 0x74, + 0x64, 0x6d, 0x2d, 0x77, 0x65, 0x62, 0x6b, 0x69, + 0x74, 0x32, 0x2d, 0x67, 0x72, 0x65, 0x65, 0x74, + 0x65, 0x72, 0x3b, 0x20, 0x49, 0x66, 0x20, 0x6e, + 0x6f, 0x74, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20, + 0x3c, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, + 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6e, 0x75, 0x2e, + 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x69, 0x63, 0x65, + 0x6e, 0x73, 0x65, 0x73, 0x2f, 0x3e, 0x2e, 0x0a, + 0x20, 0x2a, 0x2f, 0x0a, 0x0a, 0x0a, 0x2f, 0x2a, + 0x2a, 0x0a, 0x20, 0x2a, 0x20, 0x47, 0x65, 0x6e, + 0x65, 0x72, 0x69, 0x63, 0x20, 0x62, 0x61, 0x73, + 0x65, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x20, + 0x74, 0x68, 0x61, 0x74, 0x20, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, + 0x6c, 0x79, 0x20, 0x62, 0x69, 0x6e, 0x64, 0x73, + 0x20, 0x60, 0x74, 0x68, 0x69, 0x73, 0x60, 0x20, + 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6c, 0x6c, 0x20, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x6d, 0x65, + 0x74, 0x68, 0x6f, 0x64, 0x73, 0x2e, 0x0a, 0x20, + 0x2a, 0x20, 0x49, 0x74, 0x20, 0x69, 0x73, 0x20, + 0x6d, 0x61, 0x64, 0x65, 0x20, 0x61, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x69, + 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x73, 0x63, 0x6f, + 0x70, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, + 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, + 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x67, 0x72, + 0x65, 0x65, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, + 0x65, 0x6d, 0x65, 0x73, 0x20, 0x69, 0x66, 0x20, + 0x6e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x2f, 0x77, + 0x61, 0x6e, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x20, + 0x2a, 0x2f, 0x0a, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x20, 0x41, 0x75, 0x74, 0x6f, 0x42, 0x69, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x20, 0x7b, 0x0a, 0x09, 0x2f, 0x2a, + 0x2a, 0x0a, 0x09, 0x20, 0x2a, 0x20, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, + 0x6e, 0x65, 0x77, 0x20, 0x7b, 0x40, 0x6c, 0x69, + 0x6e, 0x6b, 0x20, 0x41, 0x75, 0x74, 0x6f, 0x42, + 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x20, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x0a, + 0x09, 0x20, 0x2a, 0x2f, 0x0a, 0x09, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, + 0x72, 0x28, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x5f, 0x5f, 0x62, + 0x69, 0x6e, 0x64, 0x5f, 0x74, 0x68, 0x69, 0x73, + 0x28, 0x29, 0x3b, 0x0a, 0x09, 0x7d, 0x0a, 0x0a, + 0x09, 0x2f, 0x2a, 0x2a, 0x0a, 0x09, 0x20, 0x2a, + 0x20, 0x42, 0x69, 0x6e, 0x64, 0x73, 0x20, 0x60, + 0x74, 0x68, 0x69, 0x73, 0x60, 0x20, 0x74, 0x6f, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, + 0x6c, 0x6c, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, + 0x2e, 0x0a, 0x09, 0x20, 0x2a, 0x0a, 0x09, 0x20, + 0x2a, 0x20, 0x40, 0x70, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x0a, 0x09, 0x20, 0x2a, 0x2f, 0x0a, + 0x09, 0x5f, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x5f, + 0x74, 0x68, 0x69, 0x73, 0x28, 0x29, 0x20, 0x7b, + 0x0a, 0x09, 0x09, 0x6c, 0x65, 0x74, 0x20, 0x65, + 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, + 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x20, + 0x3d, 0x20, 0x5b, 0x27, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x27, + 0x2c, 0x20, 0x27, 0x5f, 0x5f, 0x62, 0x69, 0x6e, + 0x64, 0x5f, 0x74, 0x68, 0x69, 0x73, 0x27, 0x5d, + 0x3b, 0x0a, 0x0a, 0x09, 0x09, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6e, 0x6f, + 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, + 0x65, 0x64, 0x28, 0x20, 0x6d, 0x65, 0x74, 0x68, + 0x6f, 0x64, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x20, 0x29, 0x20, 0x7b, 0x0a, + 0x09, 0x09, 0x09, 0x6c, 0x65, 0x74, 0x20, 0x5f, + 0x69, 0x73, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x64, 0x20, 0x3d, 0x20, 0x65, 0x78, + 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, 0x6d, + 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x2e, 0x66, + 0x69, 0x6e, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x28, 0x20, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, + 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x20, 0x3d, 0x3e, 0x20, 0x6d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x20, 0x3d, 0x3d, 0x3d, 0x20, + 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, + 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x20, + 0x29, 0x20, 0x3e, 0x20, 0x2d, 0x31, 0x2c, 0x0a, + 0x09, 0x09, 0x09, 0x09, 0x69, 0x73, 0x5f, 0x6d, + 0x65, 0x74, 0x68, 0x6f, 0x64, 0x20, 0x3d, 0x20, + 0x27, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x27, 0x20, 0x3d, 0x3d, 0x3d, 0x20, 0x74, + 0x79, 0x70, 0x65, 0x6f, 0x66, 0x20, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5b, 0x6d, 0x65, + 0x74, 0x68, 0x6f, 0x64, 0x5d, 0x3b, 0x0a, 0x0a, + 0x09, 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x69, 0x73, 0x5f, 0x6d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x20, 0x26, 0x26, 0x20, 0x21, + 0x5f, 0x69, 0x73, 0x5f, 0x65, 0x78, 0x63, 0x6c, + 0x75, 0x64, 0x65, 0x64, 0x3b, 0x0a, 0x09, 0x09, + 0x7d, 0x0a, 0x0a, 0x09, 0x09, 0x66, 0x6f, 0x72, + 0x20, 0x28, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x6f, + 0x62, 0x6a, 0x20, 0x3d, 0x20, 0x74, 0x68, 0x69, + 0x73, 0x3b, 0x20, 0x6f, 0x62, 0x6a, 0x3b, 0x20, + 0x6f, 0x62, 0x6a, 0x20, 0x3d, 0x20, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x67, 0x65, 0x74, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x74, 0x79, 0x70, + 0x65, 0x4f, 0x66, 0x28, 0x20, 0x6f, 0x62, 0x6a, + 0x20, 0x29, 0x20, 0x29, 0x20, 0x7b, 0x0a, 0x09, + 0x09, 0x09, 0x2f, 0x2f, 0x20, 0x48, 0x61, 0x6e, + 0x64, 0x6c, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, + 0x20, 0x6f, 0x75, 0x72, 0x20, 0x6d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x73, 0x0a, 0x09, 0x09, 0x09, + 0x69, 0x66, 0x20, 0x28, 0x20, 0x27, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x27, 0x20, 0x3d, 0x3d, + 0x3d, 0x20, 0x6f, 0x62, 0x6a, 0x2e, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, + 0x72, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x29, + 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x62, + 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x09, 0x09, + 0x09, 0x7d, 0x0a, 0x0a, 0x09, 0x09, 0x09, 0x66, + 0x6f, 0x72, 0x20, 0x28, 0x20, 0x6c, 0x65, 0x74, + 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x20, + 0x6f, 0x66, 0x20, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x2e, 0x67, 0x65, 0x74, 0x4f, 0x77, 0x6e, + 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x28, 0x20, 0x6f, + 0x62, 0x6a, 0x20, 0x29, 0x20, 0x29, 0x20, 0x7b, + 0x0a, 0x09, 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, + 0x28, 0x20, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, + 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x28, 0x20, + 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x2c, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x29, 0x20, 0x29, + 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x09, + 0x74, 0x68, 0x69, 0x73, 0x5b, 0x6d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x5d, 0x20, 0x3d, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x5b, 0x6d, 0x65, 0x74, 0x68, + 0x6f, 0x64, 0x5d, 0x2e, 0x62, 0x69, 0x6e, 0x64, + 0x28, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x29, + 0x3b, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x7d, 0x0a, + 0x09, 0x09, 0x09, 0x7d, 0x0a, 0x09, 0x09, 0x7d, + 0x0a, 0x0a, 0x09, 0x7d, 0x0a, 0x7d, 0x0a, 0x0a, + 0x0a, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, + 0x41, 0x75, 0x74, 0x6f, 0x42, 0x69, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x20, 0x3d, 0x20, 0x41, 0x75, 0x74, 0x6f, + 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3b, 0x0a, 0x00, + 0x00, 0x28, 0x75, 0x75, 0x61, 0x79, 0x29, 0x61, + 0x6e, 0x74, 0x65, 0x72, 0x67, 0x6f, 0x73, 0x2f, + 0x03, 0x00, 0x00, 0x00, 0x73, 0x74, 0x79, 0x6c, + 0x65, 0x2e, 0x63, 0x73, 0x73, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2c, 0x0a, 0x47, 0x74, 0x6b, 0x57, 0x69, 0x6e, 0x64, 0x6f, @@ -352,14 +653,9 @@ static const SECTION union { const guint8 data[2820]; const double alignment; vo 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x3a, 0x20, 0x23, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x00, 0x28, 0x75, - 0x75, 0x61, 0x79, 0x29, 0x61, 0x6e, 0x74, 0x65, - 0x72, 0x67, 0x6f, 0x73, 0x2f, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x6c, 0x69, 0x67, 0x68, - 0x74, 0x64, 0x6d, 0x2d, 0x77, 0x65, 0x62, 0x6b, - 0x69, 0x74, 0x32, 0x2d, 0x67, 0x72, 0x65, 0x65, - 0x74, 0x65, 0x72, 0x2f, 0x07, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x63, 0x73, 0x73, 0x2f, - 0x04, 0x00, 0x00, 0x00 + 0x75, 0x61, 0x79, 0x29, 0x2f, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x63, 0x73, 0x73, 0x2f, + 0x06, 0x00, 0x00, 0x00 } }; static GStaticResource static_resource = { greeter_resources_resource_data.data, sizeof (greeter_resources_resource_data.data), NULL, NULL, NULL }; diff --git a/src/gresource/greeter-resources.gresource.xml b/src/gresource/greeter-resources.gresource.xml index 1541290..5bcbef6 100644 --- a/src/gresource/greeter-resources.gresource.xml +++ b/src/gresource/greeter-resources.gresource.xml @@ -1,10 +1,9 @@ - - style.css - - - heartbeat.js + + css/style.css + js/heartbeat.js + js/auto-binding-object.js diff --git a/src/js/auto-binding-object.js b/src/gresource/js/auto-binding-object.js similarity index 100% rename from src/js/auto-binding-object.js rename to src/gresource/js/auto-binding-object.js diff --git a/src/js/heartbeat.js b/src/gresource/js/heartbeat.js similarity index 100% rename from src/js/heartbeat.js rename to src/gresource/js/heartbeat.js diff --git a/src/webkit2-extension.c b/src/webkit2-extension.c index 0cca49d..8c233e2 100644 --- a/src/webkit2-extension.c +++ b/src/webkit2-extension.c @@ -1742,8 +1742,11 @@ is_requested_file_path_allowed(const char *file_path) { } } - g_slist_free_full(paths, g_free); + g_slist_free(paths); g_free(normalized_path); + g_free(background_images_dir); + g_free(user_image); + g_free(logo); return result; } @@ -1769,8 +1772,11 @@ web_page_send_request_cb(WebKitWebPage *web_page, request_scheme = g_uri_parse_scheme(request_uri); - if (strcmp(request_scheme, "file") != 0) { + g_message(request_uri); + + if (strcmp(request_scheme, "file") != 0 && strcmp(request_scheme, "data") != 0) { /* In order to ensure the user's privacy & security, only local requests are allowed. */ + g_warning("request scheme error: %s", request_scheme); g_free(request_scheme); return TRUE; }