From c7036191c86888e622df3523ccf5df3b3ef82130 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 22 Dec 2013 21:39:15 +0100 Subject: [PATCH 001/190] debian/: add placeholder commit --- debian/changelog | 12 +++++++++--- debian/rules | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/debian/changelog b/debian/changelog index f3855363..5864b21f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,14 @@ -i3-wm (4.6.1-1) unstable; urgency=low +i3-wm (4.7.1-1) unstable; urgency=low - * NOT YET RELEASED. + * NOT YET RELEASED - -- Michael Stapelberg Wed, 07 Aug 2013 20:53:26 +0200 + -- Michael Stapelberg Sun, 22 Dec 2013 21:39:10 +0100 + +i3-wm (4.7-1) unstable; urgency=low + + * New upstream release. + + -- Michael Stapelberg Sun, 22 Dec 2013 21:19:02 +0100 i3-wm (4.6-1) unstable; urgency=low diff --git a/debian/rules b/debian/rules index 55c72b51..ab386da3 100755 --- a/debian/rules +++ b/debian/rules @@ -38,7 +38,7 @@ override_dh_auto_build: $(MAKE) -C docs override_dh_installchangelogs: - dh_installchangelogs RELEASE-NOTES-4.6 + dh_installchangelogs RELEASE-NOTES-4.7 override_dh_install: $(MAKE) DESTDIR=$(CURDIR)/debian/i3-wm/ install From ce480dcc74d3bec2ae9dcb4d5c77a12d35edf906 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sat, 14 Dec 2013 10:41:03 +0100 Subject: [PATCH 002/190] use splith as default when restoring a layout MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This frees users from specifying layouts even when they don’t make any difference, e.g. leaf nodes. --- src/load_layout.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/load_layout.c b/src/load_layout.c index 1b08f8c1..dbd1f0df 100644 --- a/src/load_layout.c +++ b/src/load_layout.c @@ -67,6 +67,12 @@ static int json_start_map(void *ctx) { static int json_end_map(void *ctx) { LOG("end of map\n"); if (!parsing_swallows && !parsing_rect && !parsing_window_rect && !parsing_geometry) { + /* Set a few default values to simplify manually crafted layout files. */ + if (json_node->layout == L_DEFAULT) { + DLOG("Setting layout = L_SPLITH\n"); + json_node->layout = L_SPLITH; + } + LOG("attaching\n"); con_attach(json_node, json_node->parent, true); LOG("Creating window\n"); From 0302912b64dc50a4ee150dd21a63c2140a02c215 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sat, 14 Dec 2013 10:41:44 +0100 Subject: [PATCH 003/190] swallows: value needs to be loaded as regular expression --- src/load_layout.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/load_layout.c b/src/load_layout.c index dbd1f0df..0489c7f9 100644 --- a/src/load_layout.c +++ b/src/load_layout.c @@ -153,10 +153,13 @@ static int json_string(void *ctx, const unsigned char *val, unsigned int len) { if (parsing_swallows) { /* TODO: the other swallowing keys */ if (strcasecmp(last_key, "class") == 0) { - current_swallow->class = scalloc((len+1) * sizeof(char)); - memcpy(current_swallow->class, val, len); + char *sval; + sasprintf(&sval, "%.*s", len, val); + current_swallow->class = regex_new(sval); + free(sval); + } else { + ELOG("swallow key %s unknown\n", last_key); } - LOG("unhandled yet: swallow\n"); } else { if (strcasecmp(last_key, "name") == 0) { json_node->name = scalloc((len+1) * sizeof(char)); From 4add185025612103a599f1d6f8a0f55675b245b2 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sat, 14 Dec 2013 10:42:01 +0100 Subject: [PATCH 004/190] tests: add simple layout restore test --- testcases/t/213-layout-restore-simple.t | 124 ++++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 testcases/t/213-layout-restore-simple.t diff --git a/testcases/t/213-layout-restore-simple.t b/testcases/t/213-layout-restore-simple.t new file mode 100644 index 00000000..b10dfdf6 --- /dev/null +++ b/testcases/t/213-layout-restore-simple.t @@ -0,0 +1,124 @@ +#!perl +# vim:ts=4:sw=4:expandtab +# +# Please read the following documents before working on tests: +# • http://build.i3wm.org/docs/testsuite.html +# (or docs/testsuite) +# +# • http://build.i3wm.org/docs/lib-i3test.html +# (alternatively: perldoc ./testcases/lib/i3test.pm) +# +# • http://build.i3wm.org/docs/ipc.html +# (or docs/ipc) +# +# • http://onyxneon.com/books/modern_perl/modern_perl_a4.pdf +# (unless you are already familiar with Perl) +# +# Restores a simple layout from a JSON file. +use i3test; +use File::Temp qw(tempfile); +use IO::Handle; + +################################################################################ +# empty layout file. +################################################################################ + +my ($fh, $filename) = tempfile(UNLINK => 1); +cmd "append_layout $filename"; + +does_i3_live; + +close($fh); + +################################################################################ +# simple vsplit layout +################################################################################ + +my $ws = fresh_workspace; + +my @content = @{get_ws_content($ws)}; +is(@content, 0, 'no nodes on the new workspace yet'); + +($fh, $filename) = tempfile(UNLINK => 1); +print $fh <flush; +cmd "append_layout $filename"; + +does_i3_live; + +@content = @{get_ws_content($ws)}; +is(@content, 1, 'one node on the workspace now'); +is($content[0]->{layout}, 'splitv', 'node has splitv layout'); +is(@{$content[0]->{nodes}}, 2, 'node has two children'); + +close($fh); + +################################################################################ +# simple vsplit layout with swallow specifications +################################################################################ + +$ws = fresh_workspace; + +@content = @{get_ws_content($ws)}; +is(@content, 0, 'no nodes on the new workspace yet'); + +($fh, $filename) = tempfile(UNLINK => 1); +print $fh <flush; +cmd "append_layout $filename"; + +does_i3_live; + +@content = @{get_ws_content($ws)}; +is(@content, 1, 'one node on the workspace now'); + +my $top = open_window( + name => 'top window', + wm_class => 'top', + instance => 'top', +); + +my $bottom = open_window( + name => 'bottom window', + wm_class => 'bottom', + instance => 'bottom', +); + +@content = @{get_ws_content($ws)}; +is(@content, 1, 'still one node on the workspace now'); +my @nodes = @{$content[0]->{nodes}}; +is($nodes[0]->{name}, 'top window', 'top window on top'); + +close($fh); + +done_testing; From 598498330a51b0cc1a09d3cf1f50dded5d21ece4 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sat, 14 Dec 2013 10:43:49 +0100 Subject: [PATCH 005/190] layout loading: allow comments in JSON files --- src/load_layout.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/load_layout.c b/src/load_layout.c index 0489c7f9..ce17f3a5 100644 --- a/src/load_layout.c +++ b/src/load_layout.c @@ -396,6 +396,8 @@ void tree_append_json(const char *filename) { g = yajl_gen_alloc(NULL, NULL); hand = yajl_alloc(&callbacks, NULL, NULL, (void*)g); #endif + /* Allowing comments allows for more user-friendly layout files. */ + yajl_config(hand, yajl_allow_comments, true); yajl_status stat; json_node = focused; to_focus = NULL; From 58297f4ab59445f7c502c4a5ef23dbc4041294de Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sat, 14 Dec 2013 11:44:06 +0100 Subject: [PATCH 006/190] layout restore: support more criteria, match only once (+test) --- src/load_layout.c | 13 ++- src/manage.c | 8 ++ testcases/t/214-layout-restore-criteria.t | 110 ++++++++++++++++++++++ 3 files changed, 127 insertions(+), 4 deletions(-) create mode 100644 testcases/t/214-layout-restore-criteria.t diff --git a/src/load_layout.c b/src/load_layout.c index ce17f3a5..d0c5a3b1 100644 --- a/src/load_layout.c +++ b/src/load_layout.c @@ -151,15 +151,20 @@ static int json_string(void *ctx, const unsigned char *val, unsigned int len) { #endif LOG("string: %.*s for key %s\n", (int)len, val, last_key); if (parsing_swallows) { - /* TODO: the other swallowing keys */ + char *sval; + sasprintf(&sval, "%.*s", len, val); if (strcasecmp(last_key, "class") == 0) { - char *sval; - sasprintf(&sval, "%.*s", len, val); current_swallow->class = regex_new(sval); - free(sval); + } else if (strcasecmp(last_key, "instance") == 0) { + current_swallow->instance = regex_new(sval); + } else if (strcasecmp(last_key, "window_role") == 0) { + current_swallow->role = regex_new(sval); + } else if (strcasecmp(last_key, "title") == 0) { + current_swallow->title = regex_new(sval); } else { ELOG("swallow key %s unknown\n", last_key); } + free(sval); } else { if (strcasecmp(last_key, "name") == 0) { json_node->name = scalloc((len+1) * sizeof(char)); diff --git a/src/manage.c b/src/manage.c index af9e8ef2..81da8f70 100644 --- a/src/manage.c +++ b/src/manage.c @@ -315,6 +315,14 @@ void manage_window(xcb_window_t window, xcb_get_window_attributes_cookie_t cooki if (match != NULL && match->insert_where == M_BELOW) { nc = tree_open_con(nc, cwindow); } + + /* If M_BELOW is not used, the container is replaced. This happens with + * "swallows" criteria that are used for stored layouts, in which case + * we need to remove that criterion, because they should only be valid + * once. */ + if (match != NULL && match->insert_where != M_BELOW) { + TAILQ_REMOVE(&(nc->swallow_head), match, matches); + } } DLOG("new container = %p\n", nc); diff --git a/testcases/t/214-layout-restore-criteria.t b/testcases/t/214-layout-restore-criteria.t new file mode 100644 index 00000000..4084f3f4 --- /dev/null +++ b/testcases/t/214-layout-restore-criteria.t @@ -0,0 +1,110 @@ +#!perl +# vim:ts=4:sw=4:expandtab +# +# Please read the following documents before working on tests: +# • http://build.i3wm.org/docs/testsuite.html +# (or docs/testsuite) +# +# • http://build.i3wm.org/docs/lib-i3test.html +# (alternatively: perldoc ./testcases/lib/i3test.pm) +# +# • http://build.i3wm.org/docs/ipc.html +# (or docs/ipc) +# +# • http://onyxneon.com/books/modern_perl/modern_perl_a4.pdf +# (unless you are already familiar with Perl) +# +# Tests all supported criteria for the "swallows" key. +use i3test; +use File::Temp qw(tempfile); +use IO::Handle; +use X11::XCB qw(PROP_MODE_REPLACE); + +sub verify_swallow_criterion { + my ($cfgline, $open_window_cb) = @_; + + my $ws = fresh_workspace; + + my @content = @{get_ws_content($ws)}; + is(@content, 0, "no nodes on the new workspace yet ($cfgline)"); + + my ($fh, $filename) = tempfile(UNLINK => 1); + print $fh <flush; + cmd "append_layout $filename"; + + does_i3_live; + + @content = @{get_ws_content($ws)}; + is(@content, 1, "one node on the workspace now ($cfgline)"); + + my $top = $open_window_cb->(); + + @content = @{get_ws_content($ws)}; + is(@content, 1, "still one node on the workspace now ($cfgline)"); + my @nodes = @{$content[0]->{nodes}}; + is($nodes[0]->{window}, $top->id, "top window on top ($cfgline)"); + + close($fh); +} + +verify_swallow_criterion( + '"class": "^special_class$"', + sub { open_window(wm_class => 'special_class') } +); + +# Run the same test again to verify that the window is not being swallowed by +# the first container. Each swallow condition should only swallow precisely one +# window. +verify_swallow_criterion( + '"class": "^special_class$"', + sub { open_window(wm_class => 'special_class') } +); + +verify_swallow_criterion( + '"instance": "^special_instance$"', + sub { open_window(wm_class => '', instance => 'special_instance') } +); + +verify_swallow_criterion( + '"title": "^special_title$"', + sub { open_window(name => 'special_title') } +); + +verify_swallow_criterion( + '"role": "^special_role$"', + sub { + open_window( + name => 'roletest', + before_map => sub { + my ($window) = @_; + my $atomname = $x->atom(name => 'WM_WINDOW_ROLE'); + my $atomtype = $x->atom(name => 'STRING'); + $x->change_property( + PROP_MODE_REPLACE, + $window->id, + $atomname->id, + $atomtype->id, + 8, + length("special_role") + 1, + "special_role\x00" + ); + }, + ); + } +); + +done_testing; From 6800524f2e1b0205972cf28bb08d5bfcf6f67dfc Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sat, 14 Dec 2013 14:50:44 +0100 Subject: [PATCH 007/190] GET_TREE: serialize container type into a string So far, this was blessed for internal use only (by virtue of not being in the documentation), but we want to expose it for the stored layouts. --- docs/ipc | 11 +++++++--- src/ipc.c | 25 +++++++++++++++++++++- src/load_layout.c | 18 ++++++++++++++++ testcases/lib/i3test.pm | 14 ++++++------ testcases/t/100-fullscreen.t | 2 +- testcases/t/116-nestedcons.t | 8 +++---- testcases/t/117-workspace.t | 3 +-- testcases/t/122-split.t | 2 +- testcases/t/185-scratchpad.t | 2 +- testcases/t/504-move-workspace-to-output.t | 4 ++-- testcases/t/513-move-workspace.t | 4 ++-- 11 files changed, 69 insertions(+), 24 deletions(-) diff --git a/docs/ipc b/docs/ipc index 85e5e77e..e4f1e80c 100644 --- a/docs/ipc +++ b/docs/ipc @@ -277,7 +277,12 @@ name (string):: The internal name of this container. For all containers which are part of the tree structure down to the workspace contents, this is set to a nice human-readable name of the container. + For containers that have an X11 window, the content is the title + (_NET_WM_NAME property) of that window. For all other containers, the content is not defined (yet). +type (string):: + Type of this container. Can be one of "root", "output", "con", + "floating_con", "workspace" or "dockarea". border (string):: Can be either "normal", "none" or "1pixel", dependending on the container’s border style. @@ -670,12 +675,12 @@ but will still be present in the "old" property. "change": "focus", "current": { "id": 28489712, - "type":4, + "type": "workspace", ... } "old": { "id": 28489715, - "type": 4, + "type": "workspace", ... } } @@ -722,7 +727,7 @@ window title as "urxvt"). "change": "new", "container": { "id": 35569536, - "type": 2, + "type": "con", ... } } diff --git a/src/ipc.c b/src/ipc.c index a928dba9..b5d17ba4 100644 --- a/src/ipc.c +++ b/src/ipc.c @@ -153,7 +153,30 @@ void dump_node(yajl_gen gen, struct Con *con, bool inplace_restart) { y(integer, (long int)con); ystr("type"); - y(integer, con->type); + switch (con->type) { + case CT_ROOT: + ystr("root"); + break; + case CT_OUTPUT: + ystr("output"); + break; + case CT_CON: + ystr("con"); + break; + case CT_FLOATING_CON: + ystr("floating_con"); + break; + case CT_WORKSPACE: + ystr("workspace"); + break; + case CT_DOCKAREA: + ystr("dockarea"); + break; + default: + DLOG("About to dump unknown container type=%d. This is a bug.\n", con->type); + assert(false); + break; + } /* provided for backwards compatibility only. */ ystr("orientation"); diff --git a/src/load_layout.c b/src/load_layout.c index d0c5a3b1..d31c230a 100644 --- a/src/load_layout.c +++ b/src/load_layout.c @@ -203,6 +203,23 @@ static int json_string(void *ctx, const unsigned char *val, unsigned int len) { json_node->border_style = BS_NORMAL; else LOG("Unhandled \"border\": %s\n", buf); free(buf); + } else if (strcasecmp(last_key, "type") == 0) { + char *buf = NULL; + sasprintf(&buf, "%.*s", (int)len, val); + if (strcasecmp(buf, "root") == 0) + json_node->type = CT_ROOT; + else if (strcasecmp(buf, "output") == 0) + json_node->type = CT_OUTPUT; + else if (strcasecmp(buf, "con") == 0) + json_node->type = CT_CON; + else if (strcasecmp(buf, "floating_con") == 0) + json_node->type = CT_FLOATING_CON; + else if (strcasecmp(buf, "workspace") == 0) + json_node->type = CT_WORKSPACE; + else if (strcasecmp(buf, "dockarea") == 0) + json_node->type = CT_DOCKAREA; + else LOG("Unhandled \"type\": %s\n", buf); + free(buf); } else if (strcasecmp(last_key, "layout") == 0) { char *buf = NULL; sasprintf(&buf, "%.*s", (int)len, val); @@ -281,6 +298,7 @@ static int json_int(void *ctx, long long val) { static int json_int(void *ctx, long val) { LOG("int %ld for key %s\n", val, last_key); #endif + /* For backwards compatibility with i3 < 4.8 */ if (strcasecmp(last_key, "type") == 0) json_node->type = val; diff --git a/testcases/lib/i3test.pm b/testcases/lib/i3test.pm index 414362ae..d71a6e86 100644 --- a/testcases/lib/i3test.pm +++ b/testcases/lib/i3test.pm @@ -391,7 +391,7 @@ sub get_workspace_names { for my $output (@outputs) { next if $output->{name} eq '__i3'; # get the first CT_CON of each output - my $content = first { $_->{type} == 2 } @{$output->{nodes}}; + my $content = first { $_->{type} eq 'con' } @{$output->{nodes}}; @cons = (@cons, @{$content->{nodes}}); } [ map { $_->{name} } @cons ] @@ -434,7 +434,7 @@ sub fresh_workspace { @{$tree->{nodes}}; die "BUG: Could not find output $args{output}" unless defined($output); # Get the focused workspace on that output and switch to it. - my $content = first { $_->{type} == 2 } @{$output->{nodes}}; + my $content = first { $_->{type} eq 'con' } @{$output->{nodes}}; my $focused = $content->{focus}->[0]; my $workspace = first { $_->{id} == $focused } @{$content->{nodes}}; $workspace = $workspace->{name}; @@ -479,7 +479,7 @@ sub get_ws { my @workspaces; for my $output (@outputs) { # get the first CT_CON of each output - my $content = first { $_->{type} == 2 } @{$output->{nodes}}; + my $content = first { $_->{type} eq 'con' } @{$output->{nodes}}; @workspaces = (@workspaces, @{$content->{nodes}}); } @@ -589,13 +589,13 @@ sub get_dock_clients { for my $output (@outputs) { if (!defined($which)) { @docked = (@docked, map { @{$_->{nodes}} } - grep { $_->{type} == 5 } + grep { $_->{type} eq 'dockarea' } @{$output->{nodes}}); } elsif ($which eq 'top') { - my $first = first { $_->{type} == 5 } @{$output->{nodes}}; + my $first = first { $_->{type} eq 'dockarea' } @{$output->{nodes}}; @docked = (@docked, @{$first->{nodes}}) if defined($first); } elsif ($which eq 'bottom') { - my @matching = grep { $_->{type} == 5 } @{$output->{nodes}}; + my @matching = grep { $_->{type} eq 'dockarea' } @{$output->{nodes}}; my $last = $matching[-1]; @docked = (@docked, @{$last->{nodes}}) if defined($last); } @@ -645,7 +645,7 @@ sub focused_ws { my $tree = $i3->get_tree->recv; my $focused = $tree->{focus}->[0]; my $output = first { $_->{id} == $focused } @{$tree->{nodes}}; - my $content = first { $_->{type} == 2 } @{$output->{nodes}}; + my $content = first { $_->{type} eq 'con' } @{$output->{nodes}}; my $first = first { $_->{fullscreen_mode} == 1 } @{$content->{nodes}}; return $first->{name} } diff --git a/testcases/t/100-fullscreen.t b/testcases/t/100-fullscreen.t index 54b29c9d..206116ee 100644 --- a/testcases/t/100-fullscreen.t +++ b/testcases/t/100-fullscreen.t @@ -34,7 +34,7 @@ my @outputs = @{$tree->{nodes}}; my $output; for my $o (@outputs) { # get the first CT_CON of each output - my $content = first { $_->{type} == 2 } @{$o->{nodes}}; + my $content = first { $_->{type} eq 'con' } @{$o->{nodes}}; if (defined(first { $_->{name} eq $tmp } @{$content->{nodes}})) { $output = $o; last; diff --git a/testcases/t/116-nestedcons.t b/testcases/t/116-nestedcons.t index 84e86879..eb2fe144 100644 --- a/testcases/t/116-nestedcons.t +++ b/testcases/t/116-nestedcons.t @@ -51,7 +51,7 @@ my $expected = { window => undef, name => 'root', orientation => $ignore, - type => 0, + type => 'root', id => $ignore, rect => $ignore, window_rect => $ignore, @@ -90,16 +90,16 @@ my @nodes = @{$tree->{nodes}}; ok(@nodes > 0, 'root node has at least one leaf'); -ok((all { $_->{type} == 1 } @nodes), 'all nodes are of type CT_OUTPUT'); +ok((all { $_->{type} eq 'output' } @nodes), 'all nodes are of type CT_OUTPUT'); ok((none { defined($_->{window}) } @nodes), 'no CT_OUTPUT contains a window'); ok((all { @{$_->{nodes}} > 0 } @nodes), 'all nodes have at least one leaf (workspace)'); my @workspaces; for my $ws (@nodes) { - my $content = first { $_->{type} == 2 } @{$ws->{nodes}}; + my $content = first { $_->{type} eq 'con' } @{$ws->{nodes}}; @workspaces = (@workspaces, @{$content->{nodes}}); } -ok((all { $_->{type} == 4 } @workspaces), 'all workspaces are of type CT_WORKSPACE'); +ok((all { $_->{type} eq 'workspace' } @workspaces), 'all workspaces are of type CT_WORKSPACE'); #ok((all { @{$_->{nodes}} == 0 } @workspaces), 'all workspaces are empty yet'); ok((none { defined($_->{window}) } @workspaces), 'no CT_OUTPUT contains a window'); diff --git a/testcases/t/117-workspace.t b/testcases/t/117-workspace.t index d8a8733b..04d9b9dd 100644 --- a/testcases/t/117-workspace.t +++ b/testcases/t/117-workspace.t @@ -196,8 +196,7 @@ sub workspace_numbers_sorted { my @outputs = @{$tree->{nodes}}; my @workspaces; for my $output (@outputs) { - # get the first CT_CON of each output - my $content = first { $_->{type} == 2 } @{$output->{nodes}}; + my $content = first { $_->{type} eq 'con' } @{$output->{nodes}}; @workspaces = (@workspaces, @{$content->{nodes}}); } diff --git a/testcases/t/122-split.t b/testcases/t/122-split.t index 361716c1..6afdd806 100644 --- a/testcases/t/122-split.t +++ b/testcases/t/122-split.t @@ -145,7 +145,7 @@ sub get_output_content { is(scalar @outputs, 1, 'exactly one output (testcase not multi-monitor capable)'); my $output = $outputs[0]; # get the first (and only) CT_CON - return first { $_->{type} == 2 } @{$output->{nodes}}; + return first { $_->{type} eq 'con' } @{$output->{nodes}}; } $tmp = fresh_workspace; diff --git a/testcases/t/185-scratchpad.t b/testcases/t/185-scratchpad.t index 5901f99c..edfc46e0 100644 --- a/testcases/t/185-scratchpad.t +++ b/testcases/t/185-scratchpad.t @@ -35,7 +35,7 @@ is($tree->{name}, 'root', 'root node is the first thing we get'); my @__i3 = grep { $_->{name} eq '__i3' } @{$tree->{nodes}}; is(scalar @__i3, 1, 'output __i3 found'); -my $content = first { $_->{type} == 2 } @{$__i3[0]->{nodes}}; +my $content = first { $_->{type} eq 'con' } @{$__i3[0]->{nodes}}; my @workspaces = @{$content->{nodes}}; my @workspace_names = map { $_->{name} } @workspaces; ok('__i3_scratch' ~~ @workspace_names, '__i3_scratch workspace found'); diff --git a/testcases/t/504-move-workspace-to-output.t b/testcases/t/504-move-workspace-to-output.t index 018707e6..efe0d6e7 100644 --- a/testcases/t/504-move-workspace-to-output.t +++ b/testcases/t/504-move-workspace-to-output.t @@ -77,10 +77,10 @@ sub workspaces_per_screen { my @outputs = @{$tree->{nodes}}; my $fake0 = first { $_->{name} eq 'fake-0' } @outputs; - my $fake0_content = first { $_->{type} == 2 } @{$fake0->{nodes}}; + my $fake0_content = first { $_->{type} eq 'con' } @{$fake0->{nodes}}; my $fake1 = first { $_->{name} eq 'fake-1' } @outputs; - my $fake1_content = first { $_->{type} == 2 } @{$fake1->{nodes}}; + my $fake1_content = first { $_->{type} eq 'con' } @{$fake1->{nodes}}; my @fake0_workspaces = map { $_->{name} } @{$fake0_content->{nodes}}; my @fake1_workspaces = map { $_->{name} } @{$fake1_content->{nodes}}; diff --git a/testcases/t/513-move-workspace.t b/testcases/t/513-move-workspace.t index 17c8de71..3e27a6c0 100644 --- a/testcases/t/513-move-workspace.t +++ b/testcases/t/513-move-workspace.t @@ -37,10 +37,10 @@ sub workspaces_per_screen { my @outputs = @{$tree->{nodes}}; my $fake0 = first { $_->{name} eq 'fake-0' } @outputs; - my $fake0_content = first { $_->{type} == 2 } @{$fake0->{nodes}}; + my $fake0_content = first { $_->{type} eq 'con' } @{$fake0->{nodes}}; my $fake1 = first { $_->{name} eq 'fake-1' } @outputs; - my $fake1_content = first { $_->{type} == 2 } @{$fake1->{nodes}}; + my $fake1_content = first { $_->{type} eq 'con' } @{$fake1->{nodes}}; my @fake0_workspaces = map { $_->{name} } @{$fake0_content->{nodes}}; my @fake1_workspaces = map { $_->{name} } @{$fake1_content->{nodes}}; From ef7b3e5464ec0923cb5ac29b1a702c3b46ad48b7 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sat, 14 Dec 2013 16:25:54 +0100 Subject: [PATCH 008/190] allow parsing multiple nodes from a json layout --- src/load_layout.c | 2 ++ testcases/t/213-layout-restore-simple.t | 39 +++++++++++++++++++++++++ 2 files changed, 41 insertions(+) diff --git a/src/load_layout.c b/src/load_layout.c index d31c230a..b69f8ac5 100644 --- a/src/load_layout.c +++ b/src/load_layout.c @@ -421,6 +421,8 @@ void tree_append_json(const char *filename) { #endif /* Allowing comments allows for more user-friendly layout files. */ yajl_config(hand, yajl_allow_comments, true); + /* Allow multiple values, i.e. multiple nodes to attach */ + yajl_config(hand, yajl_allow_multiple_values, true); yajl_status stat; json_node = focused; to_focus = NULL; diff --git a/testcases/t/213-layout-restore-simple.t b/testcases/t/213-layout-restore-simple.t index b10dfdf6..d681b8d6 100644 --- a/testcases/t/213-layout-restore-simple.t +++ b/testcases/t/213-layout-restore-simple.t @@ -63,6 +63,45 @@ is(@{$content[0]->{nodes}}, 2, 'node has two children'); close($fh); +################################################################################ +# two simple vsplit containers in the same file +################################################################################ + +$ws = fresh_workspace; + +@content = @{get_ws_content($ws)}; +is(@content, 0, 'no nodes on the new workspace yet'); + +($fh, $filename) = tempfile(UNLINK => 1); +print $fh <flush; +cmd "append_layout $filename"; + +does_i3_live; + +@content = @{get_ws_content($ws)}; +is(@content, 2, 'one node on the workspace now'); +is($content[0]->{layout}, 'splitv', 'first node has splitv layout'); +is(@{$content[0]->{nodes}}, 2, 'first node has two children'); +is($content[1]->{layout}, 'splitv', 'second node has splitv layout'); +is(@{$content[1]->{nodes}}, 0, 'first node has no children'); + +close($fh); + ################################################################################ # simple vsplit layout with swallow specifications ################################################################################ From fcf869439cad67e4f29e1a71fd267e5cd67d35b1 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sat, 14 Dec 2013 16:28:54 +0100 Subject: [PATCH 009/190] load_layout.c: use *LOG instead of (f)printf --- src/load_layout.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/load_layout.c b/src/load_layout.c index b69f8ac5..11a8f974 100644 --- a/src/load_layout.c +++ b/src/load_layout.c @@ -338,8 +338,8 @@ static int json_int(void *ctx, long val) { r->width = val; else if (strcasecmp(last_key, "height") == 0) r->height = val; - else printf("WARNING: unknown key %s in rect\n", last_key); - printf("rect now: (%d, %d, %d, %d)\n", + else ELOG("WARNING: unknown key %s in rect\n", last_key); + DLOG("rect now: (%d, %d, %d, %d)\n", r->x, r->y, r->width, r->height); } if (parsing_swallows) { @@ -433,8 +433,8 @@ void tree_append_json(const char *filename) { stat = yajl_parse(hand, (const unsigned char*)buf, n); if (stat != yajl_status_ok) { - unsigned char * str = yajl_get_error(hand, 1, (const unsigned char*)buf, n); - fprintf(stderr, "%s\n", (const char *) str); + unsigned char *str = yajl_get_error(hand, 1, (const unsigned char*)buf, n); + ELOG("JSON parsing error: %s\n", str); yajl_free_error(hand, str); } From 2ce43783f8a103cca9d2ecd6ed07bfd95e54be5c Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sat, 14 Dec 2013 18:33:18 +0100 Subject: [PATCH 010/190] add debug message to trace match deletions --- src/manage.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/manage.c b/src/manage.c index 81da8f70..0eaf35e7 100644 --- a/src/manage.c +++ b/src/manage.c @@ -321,6 +321,7 @@ void manage_window(xcb_window_t window, xcb_get_window_attributes_cookie_t cooki * we need to remove that criterion, because they should only be valid * once. */ if (match != NULL && match->insert_where != M_BELOW) { + DLOG("Removing match %p from container %p\n", match, nc); TAILQ_REMOVE(&(nc->swallow_head), match, matches); } } From 3a4ad9b33076b84e3ac384290c6b5f79bf1f69da Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sat, 14 Dec 2013 22:49:33 +0100 Subject: [PATCH 011/190] layout restore: create and render placeholder windows This is not entirely done yet, but TODO entries are placed in the code where appropriate. --- docs/hacking-howto | 4 + include/all.h | 1 + include/restore_layout.h | 32 +++++ src/commands.c | 11 ++ src/main.c | 2 + src/restore_layout.c | 265 +++++++++++++++++++++++++++++++++++++++ 6 files changed, 315 insertions(+) create mode 100644 include/restore_layout.h create mode 100644 src/restore_layout.c diff --git a/docs/hacking-howto b/docs/hacking-howto index bc59eaeb..f4e3f031 100644 --- a/docs/hacking-howto +++ b/docs/hacking-howto @@ -172,6 +172,10 @@ values will later be pushed to X11 in +src/x.c+. src/resize.c:: Contains the functions to resize containers. +src/restore_layout.c:: +Everything for restored containers that is not pure state parsing (which can be +found in load_layout.c). + src/sighandler.c:: Handles +SIGSEGV+, +SIGABRT+ and +SIGFPE+ by showing a dialog that i3 crashed. You can chose to let it dump core, to restart it in-place or to restart it diff --git a/include/all.h b/include/all.h index c9c4bbbe..840ca443 100644 --- a/include/all.h +++ b/include/all.h @@ -83,5 +83,6 @@ #include "config_parser.h" #include "fake_outputs.h" #include "display_version.h" +#include "restore_layout.h" #endif diff --git a/include/restore_layout.h b/include/restore_layout.h new file mode 100644 index 00000000..a039f92f --- /dev/null +++ b/include/restore_layout.h @@ -0,0 +1,32 @@ +/* + * vim:ts=4:sw=4:expandtab + * + * i3 - an improved dynamic tiling window manager + * © 2009-2013 Michael Stapelberg and contributors (see also: LICENSE) + * + * restore_layout.c: Everything for restored containers that is not pure state + * parsing (which can be found in load_layout.c). + * + */ +#ifndef I3_RESTORE_LAYOUT_H +#define I3_RESTORE_LAYOUT_H + +/** + * Opens a separate connection to X11 for placeholder windows when restoring + * layouts. This is done as a safety measure (users can xkill a placeholder + * window without killing their window manager) and for better isolation, both + * on the wire to X11 and thus also in the code. + * + */ +void restore_connect(void); + +/** + * Open placeholder windows for all children of parent. The placeholder window + * will vanish as soon as a real window is swallowed by the container. Until + * then, it exposes the criteria that must be fulfilled for a window to be + * swallowed by this container. + * + */ +void restore_open_placeholder_windows(Con *con); + +#endif diff --git a/src/commands.c b/src/commands.c index 32fdc7f1..c8ec5faf 100644 --- a/src/commands.c +++ b/src/commands.c @@ -868,8 +868,19 @@ void cmd_nop(I3_CMD, char *comment) { */ void cmd_append_layout(I3_CMD, char *path) { LOG("Appending layout \"%s\"\n", path); + Con *parent = focused; tree_append_json(path); + // XXX: This is a bit of a kludge. Theoretically, render_con(parent, + // false); should be enough, but when sending 'workspace 4; append_layout + // /tmp/foo.json', the needs_tree_render == true of the workspace command + // is not executed yet and will be batched with append_layout’s + // needs_tree_render after the parser finished. We should check if that is + // necessary at all. + render_con(croot, false); + + restore_open_placeholder_windows(parent); + cmd_output->needs_tree_render = true; // XXX: default reply for now, make this a better reply ysuccess(true); diff --git a/src/main.c b/src/main.c index 6028e1dd..c8cfedd7 100644 --- a/src/main.c +++ b/src/main.c @@ -618,6 +618,8 @@ int main(int argc, char *argv[]) { } } + restore_connect(); + /* Setup NetWM atoms */ #define xmacro(name) \ do { \ diff --git a/src/restore_layout.c b/src/restore_layout.c new file mode 100644 index 00000000..ac2a1e38 --- /dev/null +++ b/src/restore_layout.c @@ -0,0 +1,265 @@ +#undef I3__FILE__ +#define I3__FILE__ "restore_layout.c" +/* + * vim:ts=4:sw=4:expandtab + * + * i3 - an improved dynamic tiling window manager + * © 2009-2013 Michael Stapelberg and contributors (see also: LICENSE) + * + * restore_layout.c: Everything for restored containers that is not pure state + * parsing (which can be found in load_layout.c). + * + * + */ +#include "all.h" + +typedef struct placeholder_state { + /** The X11 placeholder window. */ + xcb_window_t window; + /** The container to which this placeholder window belongs. */ + Con *con; + + /** Current size of the placeholder window (to detect size changes). */ + Rect rect; + + /** The pixmap to render on (back buffer). */ + xcb_pixmap_t pixmap; + /** The graphics context for “pixmap”. */ + xcb_gcontext_t gc; + + TAILQ_ENTRY(placeholder_state) state; +} placeholder_state; + +static TAILQ_HEAD(state_head, placeholder_state) state_head = + TAILQ_HEAD_INITIALIZER(state_head); + +static xcb_connection_t *restore_conn; + +static void restore_handle_event(int type, xcb_generic_event_t *event); + +/* Documentation for these functions can be found in src/main.c, starting at xcb_got_event */ +static void restore_xcb_got_event(EV_P_ struct ev_io *w, int revents) { +} + +static void restore_xcb_prepare_cb(EV_P_ ev_prepare *w, int revents) { + xcb_flush(restore_conn); +} + +static void restore_xcb_check_cb(EV_P_ ev_check *w, int revents) { + xcb_generic_event_t *event; + + if (xcb_connection_has_error(restore_conn)) { + // TODO: figure out how to reconnect with libev + ELOG("connection has an error\n"); + return; + } + + while ((event = xcb_poll_for_event(restore_conn)) != NULL) { + if (event->response_type == 0) { + xcb_generic_error_t *error = (xcb_generic_error_t*)event; + DLOG("X11 Error received (probably harmless)! sequence 0x%x, error_code = %d\n", + error->sequence, error->error_code); + free(event); + continue; + } + + /* Strip off the highest bit (set if the event is generated) */ + int type = (event->response_type & 0x7F); + + restore_handle_event(type, event); + + free(event); + } +} + +/* + * Opens a separate connection to X11 for placeholder windows when restoring + * layouts. This is done as a safety measure (users can xkill a placeholder + * window without killing their window manager) and for better isolation, both + * on the wire to X11 and thus also in the code. + * + */ +void restore_connect(void) { + int screen; + restore_conn = xcb_connect(NULL, &screen); + if (restore_conn == NULL || xcb_connection_has_error(restore_conn)) + errx(EXIT_FAILURE, "Cannot open display\n"); + + struct ev_io *xcb_watcher = scalloc(sizeof(struct ev_io)); + struct ev_check *xcb_check = scalloc(sizeof(struct ev_check)); + struct ev_prepare *xcb_prepare = scalloc(sizeof(struct ev_prepare)); + + ev_io_init(xcb_watcher, restore_xcb_got_event, xcb_get_file_descriptor(restore_conn), EV_READ); + ev_io_start(main_loop, xcb_watcher); + + ev_check_init(xcb_check, restore_xcb_check_cb); + ev_check_start(main_loop, xcb_check); + + ev_prepare_init(xcb_prepare, restore_xcb_prepare_cb); + ev_prepare_start(main_loop, xcb_prepare); +} + +static void update_placeholder_contents(placeholder_state *state) { + // TODO: introduce color configuration for placeholder windows. + xcb_change_gc(restore_conn, state->gc, XCB_GC_FOREGROUND, (uint32_t[]) { config.client.background }); + xcb_poly_fill_rectangle(restore_conn, state->pixmap, state->gc, 1, + (xcb_rectangle_t[]) { { 0, 0, state->rect.width, state->rect.height } }); + + // TODO: make i3font functions per-connection, at least these two for now…? + xcb_flush(restore_conn); + xcb_aux_sync(restore_conn); + + // TODO: actually represent the criteria, most likely just line by line from (0, 0) + set_font_colors(state->gc, config.client.focused.background, 0); + i3String *line = i3string_from_utf8("⌚"); + int text_width = predict_text_width(line); + int x = (state->rect.width / 2) - (text_width / 2); + int y = (state->rect.height / 2) - (config.font.height / 2); + draw_text(line, state->pixmap, state->gc, x, y, text_width); + i3string_free(line); + xcb_flush(conn); + xcb_aux_sync(conn); +} + +static void open_placeholder_window(Con *con) { + if (con_is_leaf(con)) { + xcb_window_t placeholder = create_window( + restore_conn, + con->rect, + XCB_COPY_FROM_PARENT, + XCB_COPY_FROM_PARENT, + XCB_WINDOW_CLASS_INPUT_OUTPUT, + XCURSOR_CURSOR_POINTER, + true, + XCB_CW_BACK_PIXEL | XCB_CW_EVENT_MASK, + (uint32_t[]){ + // TODO: use the background color as background pixel to avoid flickering + root_screen->white_pixel, + XCB_EVENT_MASK_EXPOSURE | XCB_EVENT_MASK_STRUCTURE_NOTIFY, + }); + // TODO: set window title from con->name + DLOG("Created placeholder window 0x%08x for leaf container %p / %s\n", + placeholder, con, con->name); + + placeholder_state *state = scalloc(sizeof(placeholder_state)); + state->window = placeholder; + state->con = con; + state->rect = con->rect; + state->pixmap = xcb_generate_id(restore_conn); + // TODO: get rid of hardcoded 24 + xcb_create_pixmap(restore_conn, 24, state->pixmap, + state->window, state->rect.width, state->rect.height); + state->gc = xcb_generate_id(restore_conn); + xcb_create_gc(restore_conn, state->gc, state->pixmap, XCB_GC_GRAPHICS_EXPOSURES, (uint32_t[]){ 0 }); + update_placeholder_contents(state); + TAILQ_INSERT_TAIL(&state_head, state, state); + + /* create temporary id swallow to match the placeholder */ + Match *temp_id = smalloc(sizeof(Match)); + match_init(temp_id); + temp_id->id = placeholder; + TAILQ_INSERT_TAIL(&(con->swallow_head), temp_id, matches); + } + + Con *child; + TAILQ_FOREACH(child, &(con->nodes_head), nodes) { + open_placeholder_window(child); + } + TAILQ_FOREACH(child, &(con->floating_head), floating_windows) { + open_placeholder_window(child); + } +} + +/* + * Open placeholder windows for all children of parent. The placeholder window + * will vanish as soon as a real window is swallowed by the container. Until + * then, it exposes the criteria that must be fulfilled for a window to be + * swallowed by this container. + * + */ +void restore_open_placeholder_windows(Con *parent) { + Con *child; + TAILQ_FOREACH(child, &(parent->nodes_head), nodes) { + open_placeholder_window(child); + } + TAILQ_FOREACH(child, &(parent->floating_head), floating_windows) { + open_placeholder_window(child); + } + + xcb_flush(restore_conn); +} + +static void expose_event(xcb_expose_event_t *event) { + placeholder_state *state; + TAILQ_FOREACH(state, &state_head, state) { + if (state->window != event->window) + continue; + + DLOG("refreshing window 0x%08x contents (con %p)\n", state->window, state->con); + + /* Since we render to our pixmap on every change anyways, expose events + * only tell us that the X server lost (parts of) the window contents. We + * can handle that by copying the appropriate part from our pixmap to the + * window. */ + xcb_copy_area(restore_conn, state->pixmap, state->window, state->gc, + event->x, event->y, event->x, event->y, + event->width, event->height); + xcb_flush(restore_conn); + return; + } + + ELOG("Received ExposeEvent for unknown window 0x%08x\n", event->window); +} + +/* + * Window size has changed. Update the width/height, then recreate the back + * buffer pixmap and the accompanying graphics context and force an immediate + * re-rendering. + * + */ +static void configure_notify(xcb_configure_notify_event_t *event) { + placeholder_state *state; + TAILQ_FOREACH(state, &state_head, state) { + if (state->window != event->window) + continue; + + DLOG("ConfigureNotify: window 0x%08x has now width=%d, height=%d (con %p)\n", + state->window, event->width, event->height, state->con); + + state->rect.width = event->width; + state->rect.height = event->height; + + xcb_free_pixmap(restore_conn, state->pixmap); + xcb_free_gc(restore_conn, state->gc); + + state->pixmap = xcb_generate_id(restore_conn); + // TODO: get rid of hardcoded 24 + xcb_create_pixmap(restore_conn, 24, state->pixmap, + state->window, state->rect.width, state->rect.height); + state->gc = xcb_generate_id(restore_conn); + xcb_create_gc(restore_conn, state->gc, state->pixmap, XCB_GC_GRAPHICS_EXPOSURES, (uint32_t[]){ 0 }); + + update_placeholder_contents(state); + xcb_copy_area(restore_conn, state->pixmap, state->window, state->gc, + 0, 0, 0, 0, state->rect.width, state->rect.height); + xcb_flush(restore_conn); + return; + } + + ELOG("Received ConfigureNotify for unknown window 0x%08x\n", event->window); +} + +// TODO: this event loop is not taken care of in the floating event handler +static void restore_handle_event(int type, xcb_generic_event_t *event) { + switch (type) { + case XCB_EXPOSE: + expose_event((xcb_expose_event_t*)event); + break; + case XCB_CONFIGURE_NOTIFY: + configure_notify((xcb_configure_notify_event_t*)event); + break; + default: + DLOG("Received unhandled X11 event of type %d\n", type); + break; + } +} From 076636a8350683861f9555c3339004a0ba1777a8 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 15 Dec 2013 11:25:58 +0100 Subject: [PATCH 012/190] display swallows criteria in placeholder windows --- include/data.h | 2 +- src/commands.c | 2 +- src/config_directives.c | 2 +- src/load_layout.c | 2 +- src/match.c | 12 ++++++------ src/restore_layout.c | 37 ++++++++++++++++++++++++++++++++++++- 6 files changed, 46 insertions(+), 11 deletions(-) diff --git a/include/data.h b/include/data.h index ea1d3240..e3f28889 100644 --- a/include/data.h +++ b/include/data.h @@ -374,7 +374,7 @@ struct Match { struct regex *class; struct regex *instance; struct regex *mark; - struct regex *role; + struct regex *window_role; enum { U_DONTCHECK = -1, U_LATEST = 0, diff --git a/src/commands.c b/src/commands.c index c8ec5faf..d8eff106 100644 --- a/src/commands.c +++ b/src/commands.c @@ -339,7 +339,7 @@ void cmd_criteria_add(I3_CMD, char *ctype, char *cvalue) { } if (strcmp(ctype, "window_role") == 0) { - current_match->role = regex_new(cvalue); + current_match->window_role = regex_new(cvalue); return; } diff --git a/src/config_directives.c b/src/config_directives.c index b28ad49d..96d29ee0 100644 --- a/src/config_directives.c +++ b/src/config_directives.c @@ -55,7 +55,7 @@ CFGFUN(criteria_add, const char *ctype, const char *cvalue) { } if (strcmp(ctype, "window_role") == 0) { - current_match->role = regex_new(cvalue); + current_match->window_role = regex_new(cvalue); return; } diff --git a/src/load_layout.c b/src/load_layout.c index 11a8f974..588f2d3b 100644 --- a/src/load_layout.c +++ b/src/load_layout.c @@ -158,7 +158,7 @@ static int json_string(void *ctx, const unsigned char *val, unsigned int len) { } else if (strcasecmp(last_key, "instance") == 0) { current_swallow->instance = regex_new(sval); } else if (strcasecmp(last_key, "window_role") == 0) { - current_swallow->role = regex_new(sval); + current_swallow->window_role = regex_new(sval); } else if (strcasecmp(last_key, "title") == 0) { current_swallow->title = regex_new(sval); } else { diff --git a/src/match.c b/src/match.c index 350a2c11..de3990fa 100644 --- a/src/match.c +++ b/src/match.c @@ -47,7 +47,7 @@ bool match_is_empty(Match *match) { match->application == NULL && match->class == NULL && match->instance == NULL && - match->role == NULL && + match->window_role == NULL && match->urgent == U_DONTCHECK && match->id == XCB_NONE && match->con_id == NULL && @@ -75,7 +75,7 @@ void match_copy(Match *dest, Match *src) { DUPLICATE_REGEX(application); DUPLICATE_REGEX(class); DUPLICATE_REGEX(instance); - DUPLICATE_REGEX(role); + DUPLICATE_REGEX(window_role); } /* @@ -121,9 +121,9 @@ bool match_matches_window(Match *match, i3Window *window) { } } - if (match->role != NULL) { + if (match->window_role != NULL) { if (window->role != NULL && - regex_matches(match->role, window->role)) { + regex_matches(match->window_role, window->role)) { LOG("window_role matches (%s)\n", window->role); } else { return false; @@ -196,7 +196,7 @@ void match_free(Match *match) { regex_free(match->class); regex_free(match->instance); regex_free(match->mark); - regex_free(match->role); + regex_free(match->window_role); /* Second step: free the regex helper struct itself */ FREE(match->title); @@ -204,5 +204,5 @@ void match_free(Match *match) { FREE(match->class); FREE(match->instance); FREE(match->mark); - FREE(match->role); + FREE(match->window_role); } diff --git a/src/restore_layout.c b/src/restore_layout.c index ac2a1e38..b19f7f77 100644 --- a/src/restore_layout.c +++ b/src/restore_layout.c @@ -109,8 +109,43 @@ static void update_placeholder_contents(placeholder_state *state) { xcb_flush(restore_conn); xcb_aux_sync(restore_conn); - // TODO: actually represent the criteria, most likely just line by line from (0, 0) set_font_colors(state->gc, config.client.focused.background, 0); + + Match *swallows; + int n = 0; + TAILQ_FOREACH(swallows, &(state->con->swallow_head), matches) { + char *serialized = NULL; + +#define APPEND_REGEX(re_name) do { \ + if (swallows->re_name != NULL) { \ + sasprintf(&serialized, "%s%s" #re_name "=\"%s\"", \ + (serialized ? serialized : "["), \ + (serialized ? " " : ""), \ + swallows->re_name->pattern); \ + } \ +} while (0) + + APPEND_REGEX(class); + APPEND_REGEX(instance); + APPEND_REGEX(window_role); + APPEND_REGEX(title); + + if (serialized == NULL) { + DLOG("This swallows specification is not serializable?!\n"); + continue; + } + + sasprintf(&serialized, "%s]", serialized); + DLOG("con %p (placeholder 0x%08x) line %d: %s\n", state->con, state->window, n, serialized); + + i3String *str = i3string_from_utf8(serialized); + draw_text(str, state->pixmap, state->gc, 2, (n * (config.font.height + 2)) + 2, state->rect.width - 2); + i3string_free(str); + n++; + free(serialized); + } + + // TODO: render the watch symbol in a bigger font i3String *line = i3string_from_utf8("⌚"); int text_width = predict_text_width(line); int x = (state->rect.width / 2) - (text_width / 2); From 16ea766765a8e193b76a4e2b4f4756ff030b5882 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 15 Dec 2013 11:28:50 +0100 Subject: [PATCH 013/190] use root window color depth instead of hard-coded 24 --- src/restore_layout.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/restore_layout.c b/src/restore_layout.c index b19f7f77..e52f1567 100644 --- a/src/restore_layout.c +++ b/src/restore_layout.c @@ -181,8 +181,7 @@ static void open_placeholder_window(Con *con) { state->con = con; state->rect = con->rect; state->pixmap = xcb_generate_id(restore_conn); - // TODO: get rid of hardcoded 24 - xcb_create_pixmap(restore_conn, 24, state->pixmap, + xcb_create_pixmap(restore_conn, root_depth, state->pixmap, state->window, state->rect.width, state->rect.height); state->gc = xcb_generate_id(restore_conn); xcb_create_gc(restore_conn, state->gc, state->pixmap, XCB_GC_GRAPHICS_EXPOSURES, (uint32_t[]){ 0 }); @@ -268,8 +267,7 @@ static void configure_notify(xcb_configure_notify_event_t *event) { xcb_free_gc(restore_conn, state->gc); state->pixmap = xcb_generate_id(restore_conn); - // TODO: get rid of hardcoded 24 - xcb_create_pixmap(restore_conn, 24, state->pixmap, + xcb_create_pixmap(restore_conn, root_depth, state->pixmap, state->window, state->rect.width, state->rect.height); state->gc = xcb_generate_id(restore_conn); xcb_create_gc(restore_conn, state->gc, state->pixmap, XCB_GC_GRAPHICS_EXPOSURES, (uint32_t[]){ 0 }); From 639a1b182ca698176b64d6c9a602ca961de65a81 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 15 Dec 2013 11:32:36 +0100 Subject: [PATCH 014/190] set original window title on placeholder windows --- src/restore_layout.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/restore_layout.c b/src/restore_layout.c index e52f1567..1a7dfaf8 100644 --- a/src/restore_layout.c +++ b/src/restore_layout.c @@ -172,7 +172,11 @@ static void open_placeholder_window(Con *con) { root_screen->white_pixel, XCB_EVENT_MASK_EXPOSURE | XCB_EVENT_MASK_STRUCTURE_NOTIFY, }); - // TODO: set window title from con->name + /* Set the same name as was stored in the layout file. While perhaps + * slightly confusing in the first instant, this brings additional + * clarity to which placeholder is waiting for which actual window. */ + xcb_change_property(restore_conn, XCB_PROP_MODE_REPLACE, placeholder, + A__NET_WM_NAME, A_UTF8_STRING, 8, strlen(con->name), con->name); DLOG("Created placeholder window 0x%08x for leaf container %p / %s\n", placeholder, con, con->name); From 35b70ca423790d071d503ce76d8074e9b30e2dc5 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 15 Dec 2013 11:42:40 +0100 Subject: [PATCH 015/190] introduce client.placeholder color --- docs/userguide | 4 ++++ include/config.h | 1 + src/config.c | 3 +++ src/restore_layout.c | 9 ++++----- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/docs/userguide b/docs/userguide index 666b9623..8758e7c5 100644 --- a/docs/userguide +++ b/docs/userguide @@ -727,6 +727,9 @@ client.unfocused:: A client which is not the focused one of its container. client.urgent:: A client which has its urgency hint activated. +client.placeholder:: + Background and text color are used to draw placeholder window contents + (when restoring layouts). Border and indicator are ignored. You can also specify the color to be used to paint the background of the client windows. This color will be used to paint the window on top of which the client @@ -749,6 +752,7 @@ client.focused #4c7899 #285577 #ffffff #2e9ef4 client.focused_inactive #333333 #5f676a #ffffff #484e50 client.unfocused #333333 #222222 #888888 #292d2e client.urgent #2f343a #900000 #ffffff #900000 +client.placeholder #000000 #0c0c0c #ffffff #000000 --------------------------------------------------------- Note that for the window decorations, the color around the child window is the diff --git a/include/config.h b/include/config.h index 4267dcfe..bff8e639 100644 --- a/include/config.h +++ b/include/config.h @@ -180,6 +180,7 @@ struct Config { struct Colortriple focused_inactive; struct Colortriple unfocused; struct Colortriple urgent; + struct Colortriple placeholder; } client; struct config_bar { struct Colortriple focused; diff --git a/src/config.c b/src/config.c index 337b83a8..c030eb9a 100644 --- a/src/config.c +++ b/src/config.c @@ -456,6 +456,9 @@ void load_configuration(xcb_connection_t *conn, const char *override_configpath, INIT_COLOR(config.client.unfocused, "#333333", "#222222", "#888888", "#292d2e"); INIT_COLOR(config.client.urgent, "#2f343a", "#900000", "#ffffff", "#900000"); + /* border and indicator color are ignored for placeholder contents */ + INIT_COLOR(config.client.placeholder, "#000000", "#0c0c0c", "#ffffff", "#000000"); + /* the last argument (indicator color) is ignored for bar colors */ INIT_COLOR(config.bar.focused, "#4c7899", "#285577", "#ffffff", "#000000"); INIT_COLOR(config.bar.unfocused, "#333333", "#222222", "#888888", "#000000"); diff --git a/src/restore_layout.c b/src/restore_layout.c index 1a7dfaf8..f868cf3e 100644 --- a/src/restore_layout.c +++ b/src/restore_layout.c @@ -100,8 +100,8 @@ void restore_connect(void) { } static void update_placeholder_contents(placeholder_state *state) { - // TODO: introduce color configuration for placeholder windows. - xcb_change_gc(restore_conn, state->gc, XCB_GC_FOREGROUND, (uint32_t[]) { config.client.background }); + xcb_change_gc(restore_conn, state->gc, XCB_GC_FOREGROUND, + (uint32_t[]) { config.client.placeholder.background }); xcb_poly_fill_rectangle(restore_conn, state->pixmap, state->gc, 1, (xcb_rectangle_t[]) { { 0, 0, state->rect.width, state->rect.height } }); @@ -109,7 +109,7 @@ static void update_placeholder_contents(placeholder_state *state) { xcb_flush(restore_conn); xcb_aux_sync(restore_conn); - set_font_colors(state->gc, config.client.focused.background, 0); + set_font_colors(state->gc, config.client.placeholder.text, config.client.placeholder.background); Match *swallows; int n = 0; @@ -168,8 +168,7 @@ static void open_placeholder_window(Con *con) { true, XCB_CW_BACK_PIXEL | XCB_CW_EVENT_MASK, (uint32_t[]){ - // TODO: use the background color as background pixel to avoid flickering - root_screen->white_pixel, + config.client.placeholder.background, XCB_EVENT_MASK_EXPOSURE | XCB_EVENT_MASK_STRUCTURE_NOTIFY, }); /* Set the same name as was stored in the layout file. While perhaps From 318b089e6d5cb819c8a8896343a6d13f032f063e Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 15 Dec 2013 14:56:34 +0100 Subject: [PATCH 016/190] fix test after renaming role to window_role --- testcases/t/214-layout-restore-criteria.t | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testcases/t/214-layout-restore-criteria.t b/testcases/t/214-layout-restore-criteria.t index 4084f3f4..05e1c9be 100644 --- a/testcases/t/214-layout-restore-criteria.t +++ b/testcases/t/214-layout-restore-criteria.t @@ -85,7 +85,7 @@ verify_swallow_criterion( ); verify_swallow_criterion( - '"role": "^special_role$"', + '"window_role": "^special_role$"', sub { open_window( name => 'roletest', From 28a993e65614c2a50f440db5cb2e9a5b138ea152 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 15 Dec 2013 14:57:04 +0100 Subject: [PATCH 017/190] replace never-true condition with a working one state->initial is set to false before calling x_push_node() since we began pushing the window stack before pushing changes. Therefore, the condition could never be true. --- src/x.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/x.c b/src/x.c index ac5498d2..6fe7df38 100644 --- a/src/x.c +++ b/src/x.c @@ -731,10 +731,9 @@ void x_push_node(Con *con) { } /* Map if map state changed, also ensure that the child window - * is changed if we are mapped *and* in initial state (meaning the - * container was empty before, but now got a child). Unmaps are handled in - * x_push_node_unmaps(). */ - if ((state->mapped != con->mapped || (con->mapped && state->initial)) && + * is changed if we are mapped and there is a new, unmapped child window. + * Unmaps are handled in x_push_node_unmaps(). */ + if ((state->mapped != con->mapped || (con->window != NULL && !state->child_mapped)) && con->mapped) { xcb_void_cookie_t cookie; From 42e359ec60cd0a378e9526e7c40bffde0a6d5799 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 15 Dec 2013 15:00:26 +0100 Subject: [PATCH 018/190] kill placeholder windows when the actual window appears --- include/restore_layout.h | 9 +++++++++ src/manage.c | 5 +++++ src/restore_layout.c | 26 ++++++++++++++++++++++++++ 3 files changed, 40 insertions(+) diff --git a/include/restore_layout.h b/include/restore_layout.h index a039f92f..75617410 100644 --- a/include/restore_layout.h +++ b/include/restore_layout.h @@ -29,4 +29,13 @@ void restore_connect(void); */ void restore_open_placeholder_windows(Con *con); +/** + * Kill the placeholder window, if placeholder refers to a placeholder window. + * This function is called when manage.c puts a window into an existing + * container. In order not to leak resources, we need to destroy the window and + * all associated X11 objects (pixmap/gc). + * + */ +bool restore_kill_placeholder(xcb_window_t placeholder); + #endif diff --git a/src/manage.c b/src/manage.c index 0eaf35e7..d7a28eb1 100644 --- a/src/manage.c +++ b/src/manage.c @@ -327,6 +327,11 @@ void manage_window(xcb_window_t window, xcb_get_window_attributes_cookie_t cooki } DLOG("new container = %p\n", nc); + if (nc->window != NULL) { + if (!restore_kill_placeholder(nc->window->id)) { + DLOG("Uh?! Container without a placeholder, but with a window, has swallowed this to-be-managed window?!\n"); + } + } nc->window = cwindow; x_reinit(nc); diff --git a/src/restore_layout.c b/src/restore_layout.c index f868cf3e..319b5505 100644 --- a/src/restore_layout.c +++ b/src/restore_layout.c @@ -226,6 +226,32 @@ void restore_open_placeholder_windows(Con *parent) { xcb_flush(restore_conn); } +/* + * Kill the placeholder window, if placeholder refers to a placeholder window. + * This function is called when manage.c puts a window into an existing + * container. In order not to leak resources, we need to destroy the window and + * all associated X11 objects (pixmap/gc). + * + */ +bool restore_kill_placeholder(xcb_window_t placeholder) { + placeholder_state *state; + TAILQ_FOREACH(state, &state_head, state) { + if (state->window != placeholder) + continue; + + xcb_destroy_window(restore_conn, state->window); + xcb_free_pixmap(restore_conn, state->pixmap); + xcb_free_gc(restore_conn, state->gc); + TAILQ_REMOVE(&state_head, state, state); + free(state); + DLOG("placeholder window 0x%08x destroyed.\n", placeholder); + return true; + } + + DLOG("0x%08x is not a placeholder window, ignoring.\n", placeholder); + return false; +} + static void expose_event(xcb_expose_event_t *event) { placeholder_state *state; TAILQ_FOREACH(state, &state_head, state) { From f57f94c8509ba37606ff8e0aa555a859d27e1f1f Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 15 Dec 2013 15:17:37 +0100 Subject: [PATCH 019/190] reconnect when the restore X11 connection dies This could happen if a user uses xkill(1) on a placeholder window. --- src/restore_layout.c | 34 +++++++++++++++++++++++++++++----- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/src/restore_layout.c b/src/restore_layout.c index 319b5505..96e60840 100644 --- a/src/restore_layout.c +++ b/src/restore_layout.c @@ -35,6 +35,10 @@ static TAILQ_HEAD(state_head, placeholder_state) state_head = static xcb_connection_t *restore_conn; +static struct ev_io *xcb_watcher; +static struct ev_check *xcb_check; +static struct ev_prepare *xcb_prepare; + static void restore_handle_event(int type, xcb_generic_event_t *event); /* Documentation for these functions can be found in src/main.c, starting at xcb_got_event */ @@ -49,8 +53,8 @@ static void restore_xcb_check_cb(EV_P_ ev_check *w, int revents) { xcb_generic_event_t *event; if (xcb_connection_has_error(restore_conn)) { - // TODO: figure out how to reconnect with libev - ELOG("connection has an error\n"); + DLOG("restore X11 connection has an error, reconnecting\n"); + restore_connect(); return; } @@ -80,14 +84,34 @@ static void restore_xcb_check_cb(EV_P_ ev_check *w, int revents) { * */ void restore_connect(void) { + if (restore_conn != NULL) { + /* This is not the initial connect, but a reconnect, most likely + * because our X11 connection was killed (e.g. by a user with xkill. */ + ev_io_stop(main_loop, xcb_watcher); + ev_check_stop(main_loop, xcb_check); + ev_prepare_stop(main_loop, xcb_prepare); + + placeholder_state *state; + while (!TAILQ_EMPTY(&state_head)) { + state = TAILQ_FIRST(&state_head); + TAILQ_REMOVE(&state_head, state, state); + free(state); + } + + free(restore_conn); + free(xcb_watcher); + free(xcb_check); + free(xcb_prepare); + } + int screen; restore_conn = xcb_connect(NULL, &screen); if (restore_conn == NULL || xcb_connection_has_error(restore_conn)) errx(EXIT_FAILURE, "Cannot open display\n"); - struct ev_io *xcb_watcher = scalloc(sizeof(struct ev_io)); - struct ev_check *xcb_check = scalloc(sizeof(struct ev_check)); - struct ev_prepare *xcb_prepare = scalloc(sizeof(struct ev_prepare)); + xcb_watcher = scalloc(sizeof(struct ev_io)); + xcb_check = scalloc(sizeof(struct ev_check)); + xcb_prepare = scalloc(sizeof(struct ev_prepare)); ev_io_init(xcb_watcher, restore_xcb_got_event, xcb_get_file_descriptor(restore_conn), EV_READ); ev_io_start(main_loop, xcb_watcher); From e567cf436c31b6d91f4e69e80b3af2a278aa70fa Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 15 Dec 2013 17:30:06 +0100 Subject: [PATCH 020/190] dragging: instead of using a custom event loop, use libev This is done by installing a new check watcher that replaces the main X11 event handler and calling ev_run with EVRUN_ONCE until the dragging loop left state DRAGGING. With this commit, other handlers, most notably the redraw handler for placeholder windows, get a chance to run when dragging (placeholder!) windows around. --- include/all.h | 1 + include/main.h | 21 +++++ src/floating.c | 190 ++++++++++++++++++++++++++----------------- src/main.c | 23 +++++- src/restore_layout.c | 1 - 5 files changed, 158 insertions(+), 78 deletions(-) create mode 100644 include/main.h diff --git a/include/all.h b/include/all.h index 840ca443..9ba4c1d9 100644 --- a/include/all.h +++ b/include/all.h @@ -84,5 +84,6 @@ #include "fake_outputs.h" #include "display_version.h" #include "restore_layout.h" +#include "main.h" #endif diff --git a/include/main.h b/include/main.h new file mode 100644 index 00000000..9261a5df --- /dev/null +++ b/include/main.h @@ -0,0 +1,21 @@ +/* + * vim:ts=4:sw=4:expandtab + * + * i3 - an improved dynamic tiling window manager + * © 2009-2013 Michael Stapelberg and contributors (see also: LICENSE) + * + * main.c: Initialization, main loop + * + */ +#ifndef I3_MAIN_H +#define I3_MAIN_H + +/** + * Enable or disable the main X11 event handling function. + * This is used by drag_pointer() which has its own, modal event handler, which + * takes precedence over the normal event handler. + * + */ +void main_set_x11_cb(bool enable); + +#endif diff --git a/src/floating.c b/src/floating.c index 10962403..166e054c 100644 --- a/src/floating.c +++ b/src/floating.c @@ -567,6 +567,104 @@ void floating_resize_window(Con *con, const bool proportional, con->scratchpad_state = SCRATCHPAD_CHANGED; } +/* As endorsed by “ASSOCIATING CUSTOM DATA WITH A WATCHER” in ev(3) */ +struct drag_x11_cb { + ev_check check; + + /* Whether this modal event loop should be exited and with which result. */ + drag_result_t result; + + /* The container that is being dragged or resized, or NULL if this is a + * drag of the resize handle. */ + Con *con; + + /* The dimensions of con when the loop was started. */ + Rect old_rect; + + /* The callback to invoke after every pointer movement. */ + callback_t callback; + + /* User data pointer for callback. */ + const void *extra; +}; + +static void xcb_drag_check_cb(EV_P_ ev_check *w, int revents) { + struct drag_x11_cb *dragloop = (struct drag_x11_cb*)w; + xcb_motion_notify_event_t *last_motion_notify = NULL; + xcb_generic_event_t *event; + + while ((event = xcb_poll_for_event(conn)) != NULL) { + if (event->response_type == 0) { + xcb_generic_error_t *error = (xcb_generic_error_t*)event; + DLOG("X11 Error received (probably harmless)! sequence 0x%x, error_code = %d\n", + error->sequence, error->error_code); + free(event); + continue; + } + + /* Strip off the highest bit (set if the event is generated) */ + int type = (event->response_type & 0x7F); + + switch (type) { + case XCB_BUTTON_RELEASE: + dragloop->result = DRAG_SUCCESS; + break; + + case XCB_KEY_PRESS: + DLOG("A key was pressed during drag, reverting changes."); + dragloop->result = DRAG_REVERT; + handle_event(type, event); + break; + + case XCB_UNMAP_NOTIFY: { + xcb_unmap_notify_event_t *unmap_event = (xcb_unmap_notify_event_t*)event; + Con *con = con_by_window_id(unmap_event->window); + + if (con != NULL) { + DLOG("UnmapNotify for window 0x%08x (container %p)\n", unmap_event->window, con); + + if (con_get_workspace(con) == con_get_workspace(focused)) { + DLOG("UnmapNotify for a managed window on the current workspace, aborting\n"); + dragloop->result = DRAG_ABORT; + } + } + + handle_event(type, event); + break; + } + + case XCB_MOTION_NOTIFY: + /* motion_notify events are saved for later */ + FREE(last_motion_notify); + last_motion_notify = (xcb_motion_notify_event_t*)event; + break; + + default: + DLOG("Passing to original handler\n"); + handle_event(type, event); + break; + } + + if (last_motion_notify != (xcb_motion_notify_event_t*)event) + free(event); + + if (dragloop->result != DRAGGING) + return; + } + + if (last_motion_notify == NULL) + return; + + dragloop->callback( + dragloop->con, + &(dragloop->old_rect), + last_motion_notify->root_x, + last_motion_notify->root_y, + dragloop->extra); + free(last_motion_notify); +} + + /* * This function grabs your pointer and keyboard and lets you drag stuff around * (borders). Every time you move your mouse, an XCB_MOTION_NOTIFY event will @@ -578,11 +676,6 @@ void floating_resize_window(Con *con, const bool proportional, drag_result_t drag_pointer(Con *con, const xcb_button_press_event_t *event, xcb_window_t confine_to, border_t border, int cursor, callback_t callback, const void *extra) { - uint32_t new_x, new_y; - Rect old_rect = { 0, 0, 0, 0 }; - if (con != NULL) - memcpy(&old_rect, &(con->rect), sizeof(Rect)); - xcb_cursor_t xcursor = (cursor && xcursor_supported) ? xcursor_get_cursor(cursor) : XCB_NONE; @@ -626,84 +719,29 @@ drag_result_t drag_pointer(Con *con, const xcb_button_press_event_t *event, xcb_ free(keyb_reply); /* Go into our own event loop */ - xcb_flush(conn); + struct drag_x11_cb loop = { + .result = DRAGGING, + .con = con, + .callback = callback, + .extra = extra, + }; + if (con) + loop.old_rect = con->rect; + ev_check_init(&loop.check, xcb_drag_check_cb); + main_set_x11_cb(false); + ev_check_start(main_loop, &loop.check); - xcb_generic_event_t *inside_event, *last_motion_notify = NULL; - Con *inside_con = NULL; + while (loop.result == DRAGGING) + ev_run(main_loop, EVRUN_ONCE); - drag_result_t drag_result = DRAGGING; - /* I’ve always wanted to have my own eventhandler… */ - while (drag_result == DRAGGING && (inside_event = xcb_wait_for_event(conn))) { - /* We now handle all events we can get using xcb_poll_for_event */ - do { - /* skip x11 errors */ - if (inside_event->response_type == 0) { - free(inside_event); - continue; - } - /* Strip off the highest bit (set if the event is generated) */ - int type = (inside_event->response_type & 0x7F); - - switch (type) { - case XCB_BUTTON_RELEASE: - drag_result = DRAG_SUCCESS; - break; - - case XCB_MOTION_NOTIFY: - /* motion_notify events are saved for later */ - FREE(last_motion_notify); - last_motion_notify = inside_event; - break; - - case XCB_UNMAP_NOTIFY: - inside_con = con_by_window_id(((xcb_unmap_notify_event_t*)inside_event)->window); - - if (inside_con != NULL) { - DLOG("UnmapNotify for window 0x%08x (container %p)\n", ((xcb_unmap_notify_event_t*)inside_event)->window, inside_con); - - if (con_get_workspace(inside_con) == con_get_workspace(focused)) { - DLOG("UnmapNotify for a managed window on the current workspace, aborting\n"); - drag_result = DRAG_ABORT; - } - } - - handle_event(type, inside_event); - break; - - case XCB_KEY_PRESS: - /* Cancel the drag if a key was pressed */ - DLOG("A key was pressed during drag, reverting changes."); - drag_result = DRAG_REVERT; - - handle_event(type, inside_event); - break; - - default: - DLOG("Passing to original handler\n"); - /* Use original handler */ - handle_event(type, inside_event); - break; - } - if (last_motion_notify != inside_event) - free(inside_event); - } while ((inside_event = xcb_poll_for_event(conn)) != NULL); - - if (last_motion_notify == NULL || drag_result != DRAGGING) - continue; - - new_x = ((xcb_motion_notify_event_t*)last_motion_notify)->root_x; - new_y = ((xcb_motion_notify_event_t*)last_motion_notify)->root_y; - - callback(con, &old_rect, new_x, new_y, extra); - FREE(last_motion_notify); - } + ev_check_stop(main_loop, &loop.check); + main_set_x11_cb(true); xcb_ungrab_keyboard(conn, XCB_CURRENT_TIME); xcb_ungrab_pointer(conn, XCB_CURRENT_TIME); - xcb_flush(conn); - return drag_result; + return loop.result; } /* diff --git a/src/main.c b/src/main.c index c8cfedd7..ca2617c6 100644 --- a/src/main.c +++ b/src/main.c @@ -31,6 +31,10 @@ struct rlimit original_rlimit_core; /** The number of file descriptors passed via socket activation. */ int listen_fds; +/* We keep the xcb_check watcher around to be able to enable and disable it + * temporarily for drag_pointer(). */ +static struct ev_check *xcb_check; + static int xkb_event_base; int xkb_current_group; @@ -143,6 +147,23 @@ static void xcb_check_cb(EV_P_ ev_check *w, int revents) { } } +/* + * Enable or disable the main X11 event handling function. + * This is used by drag_pointer() which has its own, modal event handler, which + * takes precedence over the normal event handler. + * + */ +void main_set_x11_cb(bool enable) { + DLOG("Setting main X11 callback to enabled=%d\n", enable); + if (enable) { + ev_check_start(main_loop, xcb_check); + /* Trigger the watcher explicitly to handle all remaining X11 events. + * drag_pointer()’s event handler exits in the middle of the loop. */ + ev_feed_event(main_loop, xcb_check, 0); + } else { + ev_check_stop(main_loop, xcb_check); + } +} /* * When using xmodmap to change the keyboard mapping, this event @@ -742,7 +763,7 @@ int main(int argc, char *argv[]) { struct ev_io *xcb_watcher = scalloc(sizeof(struct ev_io)); struct ev_io *xkb = scalloc(sizeof(struct ev_io)); - struct ev_check *xcb_check = scalloc(sizeof(struct ev_check)); + xcb_check = scalloc(sizeof(struct ev_check)); struct ev_prepare *xcb_prepare = scalloc(sizeof(struct ev_prepare)); ev_io_init(xcb_watcher, xcb_got_event, xcb_get_file_descriptor(conn), EV_READ); diff --git a/src/restore_layout.c b/src/restore_layout.c index 96e60840..cdf15517 100644 --- a/src/restore_layout.c +++ b/src/restore_layout.c @@ -335,7 +335,6 @@ static void configure_notify(xcb_configure_notify_event_t *event) { ELOG("Received ConfigureNotify for unknown window 0x%08x\n", event->window); } -// TODO: this event loop is not taken care of in the floating event handler static void restore_handle_event(int type, xcb_generic_event_t *event) { switch (type) { case XCB_EXPOSE: From c964c010f050ae82bb15679333d010afd520d5dd Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 15 Dec 2013 21:29:05 +0100 Subject: [PATCH 021/190] ipc: dump window properties when not restarting inplace --- src/ipc.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/ipc.c b/src/ipc.c index b5d17ba4..ab12dcb0 100644 --- a/src/ipc.c +++ b/src/ipc.c @@ -306,6 +306,32 @@ void dump_node(yajl_gen gen, struct Con *con, bool inplace_restart) { y(integer, con->window->id); else y(null); + if (con->window && !inplace_restart) { + /* Window properties are useless to preserve when restarting because + * they will be queried again anyway. However, for i3-save-tree(1), + * they are very useful and save i3-save-tree dealing with X11. */ + ystr("window_properties"); + y(map_open); + +#define DUMP_PROPERTY(key, prop_name) do { \ + if (con->window->prop_name != NULL) { \ + ystr(key); \ + ystr(con->window->prop_name); \ + } \ +} while (0) + + DUMP_PROPERTY("class", class_class); + DUMP_PROPERTY("instance", class_instance); + DUMP_PROPERTY("window_role", role); + + if (con->window->name != NULL) { + ystr("title"); + ystr(i3string_as_utf8(con->window->name)); + } + + y(map_close); + } + ystr("nodes"); y(array_open); Con *node; From 12885cb0ab4c4f24532d57ac7ca812686f070d79 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 15 Dec 2013 21:29:21 +0100 Subject: [PATCH 022/190] add i3-save-tree(1) which dumps the layout of a workspace or an output --- i3-save-tree | 285 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 285 insertions(+) create mode 100755 i3-save-tree diff --git a/i3-save-tree b/i3-save-tree new file mode 100755 index 00000000..6ac3e1b1 --- /dev/null +++ b/i3-save-tree @@ -0,0 +1,285 @@ +#!/usr/bin/env perl +# vim:ts=4:sw=4:expandtab +# +# © 2013 Michael Stapelberg +# +# Requires perl ≥ v5.10, AnyEvent::I3 and JSON::XS + +use strict; +use warnings qw(FATAL utf8); +use Data::Dumper; +use IPC::Open2; +use POSIX qw(locale_h); +use File::Find; +use File::Basename qw(basename); +use File::Temp qw(tempfile); +use Getopt::Long; +use Pod::Usage; +use AnyEvent::I3; +use JSON::XS; +use List::Util qw(first); +use v5.10; +use utf8; +use open ':encoding(UTF-8)'; + +binmode STDOUT, ':utf8'; +binmode STDERR, ':utf8'; + +my $workspace; +my $output; +my $result = GetOptions( + 'workspace=s' => \$workspace, + 'output=s' => \$output, + 'version' => sub { + say "i3-save-tree 0.1 © 2013 Michael Stapelberg"; + exit 0; + }, + 'help' => sub { + pod2usage(-exitval => 0); + }); + +die "Could not parse command line options" unless $result; + +if (!defined($workspace) && !defined($output)) { + die "One of --workspace or --output need to be specified"; +} + +unless (defined($workspace) ^ defined($output)) { + die "Only one of --workspace or --output can be specified"; +} + +my $i3 = i3(); +if (!$i3->connect->recv) { + die "Could not connect to i3"; +} + +sub filter_containers { + my ($tree, $pred) = @_; + + $_ = $tree; + return $tree if $pred->(); + + for my $child (@{$tree->{nodes}}, @{$tree->{floating_nodes}}) { + my $result = filter_containers($child, $pred); + return $result if defined($result); + } + + return undef; +} + +sub leaf_node { + my ($tree) = @_; + + return $tree->{type} eq 'con' && + @{$tree->{nodes}} == 0 && + @{$tree->{floating_nodes}} == 0; +} + +my %allowed_keys = map { ($_, 1) } qw( + type + fullscreen_mode + layout + border + current_border_width + floating + percent + nodes + floating_nodes + name + geometry + window_properties +); + +sub strip_containers { + my ($tree) = @_; + + # layout is not relevant for a leaf container + delete $tree->{layout} if leaf_node($tree); + + # fullscreen_mode conveys no state at all, it can either be 0 or 1 and the + # default is _always_ 0, so skip noop entries. + delete $tree->{fullscreen_mode} if $tree->{fullscreen_mode} == 0; + + # names for non-leafs are auto-generated and useful only for i3 debugging + delete $tree->{name} unless leaf_node($tree); + + delete $tree->{geometry} if zero_rect($tree->{geometry}); + + delete $tree->{current_border_width} if $tree->{current_border_width} == -1; + + for my $key (keys %$tree) { + next if exists($allowed_keys{$key}); + + delete $tree->{$key}; + } + + for my $key (qw(nodes floating_nodes)) { + $tree->{$key} = [ map { strip_containers($_) } @{$tree->{$key}} ]; + } + + return $tree; +} + +my $json_xs = JSON::XS->new->pretty(1)->allow_nonref->space_before(0)->canonical(1); + +sub zero_rect { + my ($rect) = @_; + return $rect->{x} == 0 && + $rect->{y} == 0 && + $rect->{width} == 0 && + $rect->{height} == 0; +} + +# Dumps the containers in JSON, but with comments to explain the user what she +# needs to fix. +sub dump_containers { + my ($tree, $ws, $last) = @_; + + $ws //= ""; + + say $ws . '{'; + + $ws .= (' ' x 4); + + if (!leaf_node($tree)) { + my $desc = $tree->{layout} . ' split container'; + if ($tree->{type} ne 'con') { + $desc = $tree->{type}; + } + say "$ws// $desc with " . @{$tree->{nodes}} . " children"; + } + + # Turn “window_properties” into “swallows” expressions. + my $swallows = {}; + for my $property (keys %{$tree->{window_properties}}) { + $swallows->{$property} = '^' . quotemeta($tree->{window_properties}->{$property}) . '$'; + } + $tree->{swallows} = [ $swallows ]; + delete $tree->{window_properties}; + + my @keys = sort keys %$tree; + for (0 .. (@keys-1)) { + my $key = $keys[$_]; + # Those are handled recursively, not printed. + next if $key eq 'nodes' || $key eq 'floating_nodes'; + + # JSON::XS’s encode appends a newline + chomp(my $val = $json_xs->encode($tree->{$key})); + + # Fix indentation. Keep in mind we are producing output to be + # read/modified by a human. + $val =~ s/^/$ws/mg; + $val =~ s/^\s+//; + + # Comment out all swallows criteria, they are just suggestions. + if ($key eq 'swallows') { + $val =~ s,^(\s*)\s{3}",\1// ",gm; + } + + # Append a comma unless this is the last value. + # Ugly, but necessary so that we can print all values before recursing. + my $comma = ($_ == (@keys-1) && + @{$tree->{nodes}} == 0 && + @{$tree->{floating_nodes}} == 0 ? '' : ','); + say qq#$ws"$key": $val$comma#; + } + + for my $key (qw(nodes floating_nodes)) { + my $num = scalar @{$tree->{$key}}; + next if !$num; + + say qq#$ws"$key": [#; + for (0 .. ($num-1)) { + dump_containers( + $tree->{$key}->[$_], + $ws . (' ' x 4), + ($_ == ($num-1))); + } + say qq#$ws]#; + } + + $ws =~ s/\s{4}$//; + + say $ws . ($last ? '}' : '},'); +} + +my $tree = $i3->get_tree->recv; + +my $dump; +if (defined($workspace)) { + $dump = filter_containers($tree, sub { + $_->{type} eq 'workspace' && $_->{name} eq $workspace + }); +} else { + $dump = filter_containers($tree, sub { + $_->{type} eq 'output' && $_->{name} eq $output + }); + # Get the output’s content container (living beneath dockarea containers). + $dump = first { $_->{type} eq 'con' } @{$dump->{nodes}}; +} + +$dump = strip_containers($dump); + +say "// vim:ts=4:sw=4:et"; +for my $key (qw(nodes floating_nodes)) { + for (0 .. (@{$dump->{$key}} - 1)) { + dump_containers($dump->{$key}->[$_], undef, 1); + # Newlines separate containers so that one can use { and } in vim to + # jump out of the current container. + say ''; + } +} + +=encoding utf-8 + +=head1 NAME + + i3-save-tree - save (parts of) the layout tree for restoring + +=head1 SYNOPSIS + + i3-save-tree [--workspace=name] [--output=name] + +=head1 DESCRIPTION + +Dumps a workspace (or an entire output) to stdout. The data is supposed to be +edited a bit by a human, then later fed to i3 via the append_layout command. + +The append_layout command will create placeholder windows, arranged in the +layout the input file specifies. Each container should have a swallows +specification. When a window is mapped (made visible on the screen) that +matches the specification, i3 will put it into that place and kill the +placeholder. + +=head1 OPTIONS + +=over + +=item B<--workspace=name> + +Specifies the workspace that should be dumped, e.g. 1. Either this or --output +need to be specified. + +=item B<--output=name> + +Specifies the output that should be dumped, e.g. LVDS-1. Either this or +--workspace need to be specified. + +=back + +=head1 VERSION + +Version 0.1 + +=head1 AUTHOR + +Michael Stapelberg, C<< >> + +=head1 LICENSE AND COPYRIGHT + +Copyright 2013 Michael Stapelberg. + +This program is free software; you can redistribute it and/or modify it +under the terms of the BSD license. + +=cut From 0d356e748d6d81397f2dec9f6358a22c395d8e36 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 15 Dec 2013 21:31:18 +0100 Subject: [PATCH 023/190] update DEPENDS --- DEPENDS | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/DEPENDS b/DEPENDS index 083372c7..36a241f4 100644 --- a/DEPENDS +++ b/DEPENDS @@ -32,5 +32,9 @@ i3bar, i3-msg, i3-input, i3-nagbar and i3-config-wizard do not introduce any new dependencies. - i3-migrate-config-to-v4 is implemented in Perl, but it has no dependencies - besides Perl 5.10. + i3-migrate-config-to-v4 and i3-dmenu-desktop are implemented in Perl, but have + no dependencies besides Perl 5.10. + + i3-save-tree is also implemented in Perl and needs AnyEvent::I3 and JSON::XS. + While i3-save-tree is not required for running i3 itself, it is strongly + recommended to provide it in distribution packages. From 0b8a7b2d162716a57288f14f8b674d73f7d11066 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 22 Dec 2013 21:54:13 +0100 Subject: [PATCH 024/190] debian/: add perl recommends to i3-wm for i3-save-tree(1) --- debian/control | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/control b/debian/control index 558b0127..02b11d49 100644 --- a/debian/control +++ b/debian/control @@ -38,7 +38,7 @@ Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, x11-utils Provides: x-window-manager Suggests: rxvt-unicode | x-terminal-emulator -Recommends: xfonts-base +Recommends: xfonts-base, libanyevent-i3-perl, libjson-xs-perl Description: improved dynamic tiling window manager Key features of i3 are good documentation, reasonable defaults (changeable in a simple configuration file) and good multi-monitor support. The user From c3ff365072e56afa5dc0cd2c489d1fe47b170961 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Tue, 24 Dec 2013 16:15:43 +0100 Subject: [PATCH 025/190] install i3-save-tree(1) (Thanks Marcin) --- src/i3.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/src/i3.mk b/src/i3.mk index 395b4cfa..c198802b 100644 --- a/src/i3.mk +++ b/src/i3.mk @@ -78,6 +78,7 @@ install-i3: i3 $(INSTALL) -m 0755 i3-sensible-editor $(DESTDIR)$(PREFIX)/bin/ $(INSTALL) -m 0755 i3-sensible-pager $(DESTDIR)$(PREFIX)/bin/ $(INSTALL) -m 0755 i3-sensible-terminal $(DESTDIR)$(PREFIX)/bin/ + $(INSTALL) -m 0755 i3-save-tree $(DESTDIR)$(PREFIX)/bin/ $(INSTALL) -m 0755 i3-dmenu-desktop $(DESTDIR)$(PREFIX)/bin/ test -e $(DESTDIR)$(SYSCONFDIR)/i3/config || $(INSTALL) -m 0644 i3.config $(DESTDIR)$(SYSCONFDIR)/i3/config test -e $(DESTDIR)$(SYSCONFDIR)/i3/config.keycodes || $(INSTALL) -m 0644 i3.config.keycodes $(DESTDIR)$(SYSCONFDIR)/i3/config.keycodes From 1e1e4ef9df847dac31da235cdf467bbcc2452e24 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Tue, 24 Dec 2013 18:07:07 +0100 Subject: [PATCH 026/190] include i3-save-tree in dist tarballs --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index b0f49e34..935d1938 100644 --- a/Makefile +++ b/Makefile @@ -30,7 +30,7 @@ dist: distclean [ ! -d i3-${VERSION} ] || rm -rf i3-${VERSION} [ ! -e i3-${VERSION}.tar.bz2 ] || rm i3-${VERSION}.tar.bz2 mkdir i3-${VERSION} - cp i3-migrate-config-to-v4 generate-command-parser.pl i3-sensible-* i3-dmenu-desktop i3.config.keycodes DEPENDS LICENSE PACKAGE-MAINTAINER RELEASE-NOTES-${VERSION} i3.config i3.xsession.desktop i3.applications.desktop pseudo-doc.doxygen common.mk Makefile i3-${VERSION} + cp i3-migrate-config-to-v4 i3-save-tree generate-command-parser.pl i3-sensible-* i3-dmenu-desktop i3.config.keycodes DEPENDS LICENSE PACKAGE-MAINTAINER RELEASE-NOTES-${VERSION} i3.config i3.xsession.desktop i3.applications.desktop pseudo-doc.doxygen common.mk Makefile i3-${VERSION} cp -r src libi3 i3-msg i3-nagbar i3-config-wizard i3bar i3-dump-log yajl-fallback include man parser-specs testcases i3-${VERSION} # Only copy toplevel documentation (important stuff) mkdir i3-${VERSION}/docs From e2ebe3e2ae8b90e52647853c4a3e9a155285e7dd Mon Sep 17 00:00:00 2001 From: Alexander Kedrik Date: Sun, 29 Dec 2013 06:11:50 +0400 Subject: [PATCH 027/190] Use #pragma once #pragma once is safer and simpler. According to Wikipedia it's supported by all major compilers. --- i3-config-wizard/xcb.h | 5 +---- i3-input/i3-input.h | 5 +---- i3-nagbar/i3-nagbar.h | 5 +---- i3bar/include/child.h | 5 +---- i3bar/include/common.h | 5 +---- i3bar/include/config.h | 5 +---- i3bar/include/ipc.h | 5 +---- i3bar/include/mode.h | 5 +---- i3bar/include/outputs.h | 5 +---- i3bar/include/parse_json_header.h | 5 +---- i3bar/include/trayclients.h | 5 +---- i3bar/include/util.h | 5 +---- i3bar/include/workspaces.h | 5 +---- i3bar/include/xcb.h | 5 +---- include/assignments.h | 5 +---- include/click.h | 5 +---- include/cmdparse.h | 5 +---- include/commands.h | 5 +---- include/commands_parser.h | 5 +---- include/con.h | 5 +---- include/config.h | 5 +---- include/config_directives.h | 5 +---- include/config_parser.h | 5 +---- include/data.h | 5 +---- include/debug.h | 5 +---- include/display_version.h | 5 +---- include/ewmh.h | 5 +---- include/fake_outputs.h | 5 +---- include/floating.h | 5 +---- include/handlers.h | 5 +---- include/i3.h | 5 +---- include/i3/ipc.h | 5 +---- include/ipc.h | 5 +---- include/key_press.h | 5 +---- include/libi3.h | 5 +---- include/load_layout.h | 5 +---- include/log.h | 5 +---- include/main.h | 5 +---- include/manage.h | 4 +--- include/match.h | 5 +---- include/move.h | 5 +---- include/output.h | 5 +---- include/queue.h | 5 +---- include/randr.h | 5 +---- include/regex.h | 5 +---- include/render.h | 5 +---- include/resize.h | 5 +---- include/restore_layout.h | 5 +---- include/scratchpad.h | 5 +---- include/sd-daemon.h | 5 +---- include/shmlog.h | 5 +---- include/sighandler.h | 5 +---- include/startup.h | 5 +---- include/tree.h | 5 +---- include/util.h | 5 +---- include/window.h | 5 +---- include/workspace.h | 4 +--- include/x.h | 5 +---- include/xcb.h | 5 +---- include/xcb_compat.h | 5 +---- include/xcursor.h | 5 +---- include/xinerama.h | 5 +---- include/yajl_utils.h | 5 +---- tests/queue.h | 5 +---- 64 files changed, 64 insertions(+), 254 deletions(-) diff --git a/i3-config-wizard/xcb.h b/i3-config-wizard/xcb.h index 372ed161..d51f979a 100644 --- a/i3-config-wizard/xcb.h +++ b/i3-config-wizard/xcb.h @@ -1,5 +1,4 @@ -#ifndef I3_XCB_H -#define I3_XCB_H +#pragma once /* from X11/keysymdef.h */ #define XCB_NUM_LOCK 0xff7f @@ -7,5 +6,3 @@ #define xmacro(atom) xcb_atom_t A_ ## atom; #include "atoms.xmacro" #undef xmacro - -#endif diff --git a/i3-input/i3-input.h b/i3-input/i3-input.h index f1d5f077..104296cf 100644 --- a/i3-input/i3-input.h +++ b/i3-input/i3-input.h @@ -1,5 +1,4 @@ -#ifndef I3_INPUT -#define I3_INPUT +#pragma once #include @@ -13,5 +12,3 @@ while (0) extern xcb_window_t root; - -#endif diff --git a/i3-nagbar/i3-nagbar.h b/i3-nagbar/i3-nagbar.h index 379a7f6f..9aac709b 100644 --- a/i3-nagbar/i3-nagbar.h +++ b/i3-nagbar/i3-nagbar.h @@ -1,5 +1,4 @@ -#ifndef I3_NAGBAR -#define I3_NAGBAR +#pragma once #include @@ -17,5 +16,3 @@ while (0) #undef xmacro extern xcb_window_t root; - -#endif diff --git a/i3bar/include/child.h b/i3bar/include/child.h index dc244bef..49329269 100644 --- a/i3bar/include/child.h +++ b/i3bar/include/child.h @@ -7,8 +7,7 @@ * child.c: Getting Input for the statusline * */ -#ifndef CHILD_H_ -#define CHILD_H_ +#pragma once #include @@ -79,5 +78,3 @@ void cont_child(void); * */ void send_block_clicked(int button, const char *name, const char *instance, int x, int y); - -#endif diff --git a/i3bar/include/common.h b/i3bar/include/common.h index cb55e0d6..d63780dc 100644 --- a/i3bar/include/common.h +++ b/i3bar/include/common.h @@ -5,8 +5,7 @@ * © 2010-2011 Axel Wagner and contributors (see also: LICENSE) * */ -#ifndef COMMON_H_ -#define COMMON_H_ +#pragma once #include #include @@ -74,5 +73,3 @@ TAILQ_HEAD(statusline_head, status_block) statusline_head; #include "config.h" #include "libi3.h" #include "parse_json_header.h" - -#endif diff --git a/i3bar/include/config.h b/i3bar/include/config.h index c6486712..3d2a854b 100644 --- a/i3bar/include/config.h +++ b/i3bar/include/config.h @@ -7,8 +7,7 @@ * config.c: Parses the configuration (received from i3). * */ -#ifndef CONFIG_H_ -#define CONFIG_H_ +#pragma once #include "common.h" @@ -52,5 +51,3 @@ void parse_config_json(char *json); * */ void free_colors(struct xcb_color_strings_t *colors); - -#endif diff --git a/i3bar/include/ipc.h b/i3bar/include/ipc.h index f20d45f0..5de23878 100644 --- a/i3bar/include/ipc.h +++ b/i3bar/include/ipc.h @@ -7,8 +7,7 @@ * ipc.c: Communicating with i3 * */ -#ifndef IPC_H_ -#define IPC_H_ +#pragma once #include @@ -37,5 +36,3 @@ int i3_send_msg(uint32_t type, const char* payload); * */ void subscribe_events(void); - -#endif diff --git a/i3bar/include/mode.h b/i3bar/include/mode.h index a8491aa9..6c3833f4 100644 --- a/i3bar/include/mode.h +++ b/i3bar/include/mode.h @@ -7,8 +7,7 @@ * mode.c: Handle mode-event and show current binding mode in the bar * */ -#ifndef MODE_H_ -#define MODE_H_ +#pragma once #include @@ -27,5 +26,3 @@ typedef struct mode mode; * */ void parse_mode_json(char *json); - -#endif diff --git a/i3bar/include/outputs.h b/i3bar/include/outputs.h index ad249786..9f6add11 100644 --- a/i3bar/include/outputs.h +++ b/i3bar/include/outputs.h @@ -7,8 +7,7 @@ * outputs.c: Maintaining the output-list * */ -#ifndef OUTPUTS_H_ -#define OUTPUTS_H_ +#pragma once #include @@ -53,5 +52,3 @@ struct i3_output { SLIST_ENTRY(i3_output) slist; /* Pointer for the SLIST-Macro */ }; - -#endif diff --git a/i3bar/include/parse_json_header.h b/i3bar/include/parse_json_header.h index 79efddc6..ef13cf78 100644 --- a/i3bar/include/parse_json_header.h +++ b/i3bar/include/parse_json_header.h @@ -8,8 +8,7 @@ * protocol version and features. * */ -#ifndef PARSE_JSON_HEADER_H_ -#define PARSE_JSON_HEADER_H_ +#pragma once #include @@ -22,5 +21,3 @@ * */ void parse_json_header(i3bar_child *child, const unsigned char *buffer, int length, unsigned int *consumed); - -#endif diff --git a/i3bar/include/trayclients.h b/i3bar/include/trayclients.h index e1e795fa..7a7e537e 100644 --- a/i3bar/include/trayclients.h +++ b/i3bar/include/trayclients.h @@ -5,8 +5,7 @@ * © 2010-2011 Axel Wagner and contributors (see also: LICENSE) * */ -#ifndef TRAYCLIENT_H_ -#define TRAYCLIENT_H_ +#pragma once #include "common.h" @@ -21,5 +20,3 @@ struct trayclient { TAILQ_ENTRY(trayclient) tailq; /* Pointer for the TAILQ-Macro */ }; - -#endif diff --git a/i3bar/include/util.h b/i3bar/include/util.h index 468eff3e..9ffd4467 100644 --- a/i3bar/include/util.h +++ b/i3bar/include/util.h @@ -5,8 +5,7 @@ * © 2009-2011 Michael Stapelberg and contributors (see also: LICENSE) * */ -#ifndef UTIL_H_ -#define UTIL_H_ +#pragma once #include "queue.h" @@ -36,8 +35,6 @@ } \ } while (0) -#endif - /* Securely fee tail-queues */ #define FREE_TAILQ(l, type) do { \ type *walk = TAILQ_FIRST(l); \ diff --git a/i3bar/include/workspaces.h b/i3bar/include/workspaces.h index 5fe1ba1e..9e9ecbba 100644 --- a/i3bar/include/workspaces.h +++ b/i3bar/include/workspaces.h @@ -7,8 +7,7 @@ * workspaces.c: Maintaining the workspace-lists * */ -#ifndef WORKSPACES_H_ -#define WORKSPACES_H_ +#pragma once #include @@ -42,5 +41,3 @@ struct i3_ws { TAILQ_ENTRY(i3_ws) tailq; /* Pointer for the TAILQ-Macro */ }; - -#endif diff --git a/i3bar/include/xcb.h b/i3bar/include/xcb.h index e1654a34..2740f330 100644 --- a/i3bar/include/xcb.h +++ b/i3bar/include/xcb.h @@ -7,8 +7,7 @@ * xcb.c: Communicating with X * */ -#ifndef XCB_H_ -#define XCB_H_ +#pragma once #include //#include "outputs.h" @@ -133,5 +132,3 @@ void redraw_bars(void); * */ void set_current_mode(struct mode *mode); - -#endif diff --git a/include/assignments.h b/include/assignments.h index 570375cf..b83ee03f 100644 --- a/include/assignments.h +++ b/include/assignments.h @@ -7,8 +7,7 @@ * assignments.c: Assignments for specific windows (for_window). * */ -#ifndef I3_ASSIGNMENTS_H -#define I3_ASSIGNMENTS_H +#pragma once /** * Checks the list of assignments for the given window and runs all matching @@ -22,5 +21,3 @@ void run_assignments(i3Window *window); * */ Assignment *assignment_for(i3Window *window, int type); - -#endif diff --git a/include/click.h b/include/click.h index 3c4d5288..c63672a7 100644 --- a/include/click.h +++ b/include/click.h @@ -7,8 +7,7 @@ * click.c: Button press (mouse click) events. * */ -#ifndef I3_CLICK_H -#define I3_CLICK_H +#pragma once /** * The button press X callback. This function determines whether the floating @@ -19,5 +18,3 @@ * */ int handle_button_press(xcb_button_press_event_t *event); - -#endif diff --git a/include/cmdparse.h b/include/cmdparse.h index 4a87c39c..263801f6 100644 --- a/include/cmdparse.h +++ b/include/cmdparse.h @@ -7,9 +7,6 @@ * cmdparse.y: the parser for commands you send to i3 (or bind on keys) * */ -#ifndef I3_CMDPARSE_H -#define I3_CMDPARSE_H +#pragma once char *parse_cmd(const char *new); - -#endif diff --git a/include/commands.h b/include/commands.h index bbf45ba9..e7d2781d 100644 --- a/include/commands.h +++ b/include/commands.h @@ -7,8 +7,7 @@ * commands.c: all command functions (see commands_parser.c) * */ -#ifndef I3_COMMANDS_H -#define I3_COMMANDS_H +#pragma once #include "commands_parser.h" @@ -288,5 +287,3 @@ void cmd_shmlog(I3_CMD, char *argument); * */ void cmd_debuglog(I3_CMD, char *argument); - -#endif diff --git a/include/commands_parser.h b/include/commands_parser.h index 37c4d4b1..059237fd 100644 --- a/include/commands_parser.h +++ b/include/commands_parser.h @@ -7,8 +7,7 @@ * commands.c: all command functions (see commands_parser.c) * */ -#ifndef I3_COMMANDS_PARSER_H -#define I3_COMMANDS_PARSER_H +#pragma once #include @@ -35,5 +34,3 @@ struct CommandResult { }; struct CommandResult *parse_command(const char *input); - -#endif diff --git a/include/con.h b/include/con.h index ec4ae352..49ee97f6 100644 --- a/include/con.h +++ b/include/con.h @@ -9,8 +9,7 @@ * …). * */ -#ifndef I3_CON_H -#define I3_CON_H +#pragma once /** * Create a new container (and attach it to the given parent, if not NULL). @@ -340,5 +339,3 @@ void con_set_urgency(Con *con, bool urgent); * */ char *con_get_tree_representation(Con *con); - -#endif diff --git a/include/config.h b/include/config.h index bff8e639..b6259993 100644 --- a/include/config.h +++ b/include/config.h @@ -10,8 +10,7 @@ * bindings mode). * */ -#ifndef I3_CONFIG_H -#define I3_CONFIG_H +#pragma once #include #include "queue.h" @@ -357,5 +356,3 @@ Binding *get_binding(uint16_t modifiers, bool key_release, xcb_keycode_t keycode * */ void kill_configerror_nagbar(bool wait_for_it); - -#endif diff --git a/include/config_directives.h b/include/config_directives.h index 9569a7b0..e6b792c4 100644 --- a/include/config_directives.h +++ b/include/config_directives.h @@ -7,8 +7,7 @@ * config_directives.h: all config storing functions (see config_parser.c) * */ -#ifndef I3_CONFIG_DIRECTIVES_H -#define I3_CONFIG_DIRECTIVES_H +#pragma once #include "config_parser.h" @@ -77,5 +76,3 @@ CFGFUN(bar_status_command, const char *command); CFGFUN(bar_binding_mode_indicator, const char *value); CFGFUN(bar_workspace_buttons, const char *value); CFGFUN(bar_finish); - -#endif diff --git a/include/config_parser.h b/include/config_parser.h index fb863f3b..6f1b5315 100644 --- a/include/config_parser.h +++ b/include/config_parser.h @@ -7,8 +7,7 @@ * config_parser.h: config parser-related definitions * */ -#ifndef I3_CONFIG_PARSER_H -#define I3_CONFIG_PARSER_H +#pragma once #include @@ -37,5 +36,3 @@ struct ConfigResult *parse_config(const char *input, struct context *context); * */ void parse_file(const char *f); - -#endif diff --git a/include/data.h b/include/data.h index e3f28889..659a362b 100644 --- a/include/data.h +++ b/include/data.h @@ -7,8 +7,7 @@ * include/data.h: This file defines all data structures used by i3 * */ -#ifndef I3_DATA_H -#define I3_DATA_H +#pragma once #define SN_API_NOT_YET_FROZEN 1 #include @@ -595,5 +594,3 @@ struct Con { /* Depth of the container window */ uint16_t depth; }; - -#endif diff --git a/include/debug.h b/include/debug.h index 44c95c6d..3e65c35e 100644 --- a/include/debug.h +++ b/include/debug.h @@ -8,9 +8,6 @@ * events. This code is from xcb-util. * */ -#ifndef I3_DEBUG_H -#define I3_DEBUG_H +#pragma once int handle_event(void *ignored, xcb_connection_t *c, xcb_generic_event_t *e); - -#endif diff --git a/include/display_version.h b/include/display_version.h index 88a1abc1..6f88ae97 100644 --- a/include/display_version.h +++ b/include/display_version.h @@ -7,8 +7,7 @@ * display_version.c: displays the running i3 version, runs as part of * i3 --moreversion. */ -#ifndef I3_DISPLAY_VERSION_H -#define I3_DISPLAY_VERSION_H +#pragma once /** * Connects to i3 to find out the currently running version. Useful since it @@ -23,5 +22,3 @@ * */ void display_running_version(void); - -#endif diff --git a/include/ewmh.h b/include/ewmh.h index c36eaeb0..9cc589d1 100644 --- a/include/ewmh.h +++ b/include/ewmh.h @@ -7,8 +7,7 @@ * ewmh.c: Get/set certain EWMH properties easily. * */ -#ifndef I3_EWMH_C -#define I3_EWMH_C +#pragma once /** * Updates _NET_CURRENT_DESKTOP with the current desktop number. @@ -62,5 +61,3 @@ void ewmh_setup_hints(void); * */ void ewmh_update_workarea(void); - -#endif diff --git a/include/fake_outputs.h b/include/fake_outputs.h index bfeba292..75ef77ba 100644 --- a/include/fake_outputs.h +++ b/include/fake_outputs.h @@ -8,8 +8,7 @@ * which don’t support multi-monitor in a useful way) and for our testsuite. * */ -#ifndef I3_FAKE_OUTPUTS_H -#define I3_FAKE_OUTPUTS_H +#pragma once /** * Creates outputs according to the given specification. @@ -19,5 +18,3 @@ * */ void fake_outputs_init(const char *output_spec); - -#endif diff --git a/include/floating.h b/include/floating.h index 43600187..fa3bdcc3 100644 --- a/include/floating.h +++ b/include/floating.h @@ -7,8 +7,7 @@ * floating.c: Floating windows. * */ -#ifndef I3_FLOATING_H -#define I3_FLOATING_H +#pragma once #include "tree.h" @@ -183,5 +182,3 @@ void floating_reposition(Con *con, Rect newrect); * */ void floating_fix_coordinates(Con *con, Rect *old_rect, Rect *new_rect); - -#endif diff --git a/include/handlers.h b/include/handlers.h index b2e7ce2e..db7d06b5 100644 --- a/include/handlers.h +++ b/include/handlers.h @@ -8,8 +8,7 @@ * …). * */ -#ifndef I3_HANDLERS_H -#define I3_HANDLERS_H +#pragma once #include @@ -63,5 +62,3 @@ int handle_window_type(void *data, xcb_connection_t *conn, uint8_t state, xcb_window_t window, xcb_atom_t atom, xcb_get_property_reply_t *property); #endif - -#endif diff --git a/include/i3.h b/include/i3.h index 1bc8b55d..4ed0d8d5 100644 --- a/include/i3.h +++ b/include/i3.h @@ -7,8 +7,7 @@ * i3.h: global variables that are used all over i3. * */ -#ifndef I3_I3_H -#define I3_I3_H +#pragma once #include #include @@ -62,5 +61,3 @@ extern bool xcursor_supported, xkb_supported; extern xcb_window_t root; extern struct ev_loop *main_loop; extern bool only_check_config; - -#endif diff --git a/include/i3/ipc.h b/include/i3/ipc.h index 6a50ccc8..94a39904 100644 --- a/include/i3/ipc.h +++ b/include/i3/ipc.h @@ -8,8 +8,7 @@ * for the IPC interface to i3 (see docs/ipc for more information). * */ -#ifndef I3_I3_IPC_H -#define I3_I3_IPC_H +#pragma once #include @@ -101,5 +100,3 @@ typedef struct i3_ipc_header { /** Bar config update will be triggered to update the bar config */ #define I3_IPC_EVENT_BARCONFIG_UPDATE (I3_IPC_EVENT_MASK | 4) - -#endif diff --git a/include/ipc.h b/include/ipc.h index ef50ba86..24014c2f 100644 --- a/include/ipc.h +++ b/include/ipc.h @@ -7,8 +7,7 @@ * ipc.c: UNIX domain socket IPC (initialization, client handling, protocol). * */ -#ifndef I3_IPC_H -#define I3_IPC_H +#pragma once #include #include @@ -81,5 +80,3 @@ void ipc_send_event(const char *event, uint32_t message_type, const char *payloa void ipc_shutdown(void); void dump_node(yajl_gen gen, Con *con, bool inplace_restart); - -#endif diff --git a/include/key_press.h b/include/key_press.h index b231b8f5..89199ce8 100644 --- a/include/key_press.h +++ b/include/key_press.h @@ -7,8 +7,7 @@ * key_press.c: key press handler * */ -#ifndef I3_KEY_PRESS_H -#define I3_KEY_PRESS_H +#pragma once extern pid_t command_error_nagbar_pid; @@ -30,5 +29,3 @@ void handle_key_press(xcb_key_press_event_t *event); * */ void kill_commanderror_nagbar(bool wait_for_it); - -#endif diff --git a/include/libi3.h b/include/libi3.h index 8c580da8..3815777b 100644 --- a/include/libi3.h +++ b/include/libi3.h @@ -8,8 +8,7 @@ * as i3-msg, i3-config-wizard, … * */ -#ifndef I3_LIBI3_H -#define I3_LIBI3_H +#pragma once #include #include @@ -382,5 +381,3 @@ char *get_process_filename(const char *prefix); * Returned value must be freed by the caller. */ char *get_exe_path(const char *argv0); - -#endif diff --git a/include/load_layout.h b/include/load_layout.h index 282512b2..2458736f 100644 --- a/include/load_layout.h +++ b/include/load_layout.h @@ -8,9 +8,6 @@ * restart. * */ -#ifndef I3_LOAD_LAYOUT_H -#define I3_LOAD_LAYOUT_H +#pragma once void tree_append_json(const char *filename); - -#endif diff --git a/include/log.h b/include/log.h index ef4dbd3c..2400092b 100644 --- a/include/log.h +++ b/include/log.h @@ -7,8 +7,7 @@ * log.c: Logging functions. * */ -#ifndef I3_LOG_H -#define I3_LOG_H +#pragma once #include #include @@ -102,5 +101,3 @@ void verboselog(char *fmt, ...) * failures. This function is invoked automatically when exiting. */ void purge_zerobyte_logfile(void); - -#endif diff --git a/include/main.h b/include/main.h index 9261a5df..18c6e374 100644 --- a/include/main.h +++ b/include/main.h @@ -7,8 +7,7 @@ * main.c: Initialization, main loop * */ -#ifndef I3_MAIN_H -#define I3_MAIN_H +#pragma once /** * Enable or disable the main X11 event handling function. @@ -17,5 +16,3 @@ * */ void main_set_x11_cb(bool enable); - -#endif diff --git a/include/manage.h b/include/manage.h index d50f64d4..bd1a14f7 100644 --- a/include/manage.h +++ b/include/manage.h @@ -7,8 +7,7 @@ * manage.c: Initially managing new windows (or existing ones on restart). * */ -#ifndef I3_MANAGE_H -#define I3_MANAGE_H +#pragma once #include "data.h" @@ -52,4 +51,3 @@ void reparent_window(xcb_connection_t *conn, xcb_window_t child, uint32_t border_width); #endif -#endif diff --git a/include/match.h b/include/match.h index e1d25904..09975cac 100644 --- a/include/match.h +++ b/include/match.h @@ -11,8 +11,7 @@ * match_matches_window() to find the windows affected by this command. * */ -#ifndef I3_MATCH_H -#define I3_MATCH_H +#pragma once /* * Initializes the Match data structure. This function is necessary because the @@ -46,5 +45,3 @@ bool match_matches_window(Match *match, i3Window *window); * */ void match_free(Match *match); - -#endif diff --git a/include/move.h b/include/move.h index d45e676e..5c8a7d20 100644 --- a/include/move.h +++ b/include/move.h @@ -7,8 +7,7 @@ * move.c: Moving containers into some direction. * */ -#ifndef I3_MOVE_H -#define I3_MOVE_H +#pragma once /** * Moves the current container in the given direction (TOK_LEFT, TOK_RIGHT, @@ -16,5 +15,3 @@ * */ void tree_move(int direction); - -#endif diff --git a/include/output.h b/include/output.h index e87da22e..10ee7d17 100644 --- a/include/output.h +++ b/include/output.h @@ -7,13 +7,10 @@ * output.c: Output (monitor) related functions. * */ -#ifndef I3_OUTPUT_H -#define I3_OUTPUT_H +#pragma once /** * Returns the output container below the given output container. * */ Con *output_get_content(Con *output); - -#endif diff --git a/include/queue.h b/include/queue.h index 0c685215..2307149b 100644 --- a/include/queue.h +++ b/include/queue.h @@ -32,8 +32,7 @@ * @(#)queue.h 8.5 (Berkeley) 8/20/94 */ -#ifndef _SYS_QUEUE_H_ -#define _SYS_QUEUE_H_ +#pragma once /* * This file defines five types of data structures: singly-linked lists, @@ -536,5 +535,3 @@ struct { \ _Q_INVALIDATE((elm)->field.cqe_prev); \ _Q_INVALIDATE((elm)->field.cqe_next); \ } while (0) - -#endif /* !_SYS_QUEUE_H_ */ diff --git a/include/randr.h b/include/randr.h index dadcfd64..75c899c3 100644 --- a/include/randr.h +++ b/include/randr.h @@ -9,8 +9,7 @@ * (take your time to read it completely, it answers all questions). * */ -#ifndef I3_RANDR_H -#define I3_RANDR_H +#pragma once #include "data.h" #include @@ -121,5 +120,3 @@ Output *get_output_next(direction_t direction, Output *current, output_close_far * */ Output *get_output_next_wrap(direction_t direction, Output *current); - -#endif diff --git a/include/regex.h b/include/regex.h index 7403abef..e11d377e 100644 --- a/include/regex.h +++ b/include/regex.h @@ -7,8 +7,7 @@ * regex.c: Interface to libPCRE (perl compatible regular expressions). * */ -#ifndef I3_REGEX_H -#define I3_REGEX_H +#pragma once /** * Creates a new 'regex' struct containing the given pattern and a PCRE @@ -35,5 +34,3 @@ void regex_free(struct regex *regex); * */ bool regex_matches(struct regex *regex, const char *input); - -#endif diff --git a/include/render.h b/include/render.h index a0eca01a..1794b513 100644 --- a/include/render.h +++ b/include/render.h @@ -8,8 +8,7 @@ * various rects. Needs to be pushed to X11 (see x.c) to be visible. * */ -#ifndef I3_RENDER_H -#define I3_RENDER_H +#pragma once /** * "Renders" the given container (and its children), meaning that all rects are @@ -25,5 +24,3 @@ void render_con(Con *con, bool render_fullscreen); * Returns the height for the decorations */ int render_deco_height(void); - -#endif diff --git a/include/resize.h b/include/resize.h index ae26ee99..5c795046 100644 --- a/include/resize.h +++ b/include/resize.h @@ -7,11 +7,8 @@ * resize.c: Interactive resizing. * */ -#ifndef I3_RESIZE_H -#define I3_RESIZE_H +#pragma once bool resize_find_tiling_participants(Con **current, Con **other, direction_t direction); int resize_graphical_handler(Con *first, Con *second, orientation_t orientation, const xcb_button_press_event_t *event); - -#endif diff --git a/include/restore_layout.h b/include/restore_layout.h index 75617410..3f0229d3 100644 --- a/include/restore_layout.h +++ b/include/restore_layout.h @@ -8,8 +8,7 @@ * parsing (which can be found in load_layout.c). * */ -#ifndef I3_RESTORE_LAYOUT_H -#define I3_RESTORE_LAYOUT_H +#pragma once /** * Opens a separate connection to X11 for placeholder windows when restoring @@ -37,5 +36,3 @@ void restore_open_placeholder_windows(Con *con); * */ bool restore_kill_placeholder(xcb_window_t placeholder); - -#endif diff --git a/include/scratchpad.h b/include/scratchpad.h index c6157052..1aca73bd 100644 --- a/include/scratchpad.h +++ b/include/scratchpad.h @@ -7,8 +7,7 @@ * scratchpad.c: Scratchpad functions (TODO: more description) * */ -#ifndef I3_SCRATCHPAD_H -#define I3_SCRATCHPAD_H +#pragma once /** * Moves the specified window to the __i3_scratch workspace, making it floating @@ -39,5 +38,3 @@ void scratchpad_show(Con *con); * */ void scratchpad_fix_resolution(void); - -#endif diff --git a/include/sd-daemon.h b/include/sd-daemon.h index 4b853a15..8746a3ad 100644 --- a/include/sd-daemon.h +++ b/include/sd-daemon.h @@ -1,7 +1,6 @@ /*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ -#ifndef foosddaemonhfoo -#define foosddaemonhfoo +#pragma once /*** Copyright 2010 Lennart Poettering @@ -261,5 +260,3 @@ int sd_booted(void) _sd_hidden_; #ifdef __cplusplus } #endif - -#endif diff --git a/include/shmlog.h b/include/shmlog.h index 94da2bdb..5af697e7 100644 --- a/include/shmlog.h +++ b/include/shmlog.h @@ -8,8 +8,7 @@ * default (ringbuffer for storing the debug log). * */ -#ifndef I3_I3_SHMLOG_H -#define I3_I3_SHMLOG_H +#pragma once #include #include @@ -43,5 +42,3 @@ typedef struct i3_shmlog_header { * tail -f) in an efficient way. */ pthread_cond_t condvar; } i3_shmlog_header; - -#endif diff --git a/include/sighandler.h b/include/sighandler.h index 25d3385b..184db73b 100644 --- a/include/sighandler.h +++ b/include/sighandler.h @@ -9,13 +9,10 @@ * to restart inplace). * */ -#ifndef I3_SIGHANDLER_H -#define I3_SIGHANDLER_H +#pragma once /** * Setup signal handlers to safely handle SIGSEGV and SIGFPE * */ void setup_signal_handler(void); - -#endif diff --git a/include/startup.h b/include/startup.h index e39fe63b..fb017103 100644 --- a/include/startup.h +++ b/include/startup.h @@ -10,8 +10,7 @@ * the appropriate workspace. * */ -#ifndef I3_STARTUP_H -#define I3_STARTUP_H +#pragma once #define SN_API_NOT_YET_FROZEN 1 #include @@ -62,5 +61,3 @@ struct Startup_Sequence *startup_sequence_get(i3Window *cwindow, * */ char *startup_workspace_for_window(i3Window *cwindow, xcb_get_property_reply_t *startup_id_reply); - -#endif diff --git a/include/tree.h b/include/tree.h index 2799afee..b3c2a515 100644 --- a/include/tree.h +++ b/include/tree.h @@ -7,8 +7,7 @@ * tree.c: Everything that primarily modifies the layout tree data structure. * */ -#ifndef I3_TREE_H -#define I3_TREE_H +#pragma once extern Con *croot; /* TODO: i am not sure yet how much access to the focused container should @@ -105,5 +104,3 @@ bool tree_restore(const char *path, xcb_get_geometry_reply_t *geometry); * */ void tree_flatten(Con *child); - -#endif diff --git a/include/util.h b/include/util.h index 61a38f3e..53ea68e4 100644 --- a/include/util.h +++ b/include/util.h @@ -8,8 +8,7 @@ * also libi3). * */ -#ifndef I3_UTIL_H -#define I3_UTIL_H +#pragma once #include @@ -141,5 +140,3 @@ void start_nagbar(pid_t *nagbar_pid, char *argv[]); * */ void kill_nagbar(pid_t *nagbar_pid, bool wait_for_it); - -#endif diff --git a/include/window.h b/include/window.h index abc27d6a..23a8d69c 100644 --- a/include/window.h +++ b/include/window.h @@ -7,8 +7,7 @@ * window.c: Updates window attributes (X11 hints/properties). * */ -#ifndef I3_WINDOW_H -#define I3_WINDOW_H +#pragma once /** * Updates the WM_CLASS (consisting of the class and instance) for the @@ -62,5 +61,3 @@ void window_update_role(i3Window *win, xcb_get_property_reply_t *prop, bool befo * */ void window_update_hints(i3Window *win, xcb_get_property_reply_t *prop, bool *urgency_hint); - -#endif diff --git a/include/workspace.h b/include/workspace.h index 907e959f..463ccf19 100644 --- a/include/workspace.h +++ b/include/workspace.h @@ -8,8 +8,7 @@ * workspaces. * */ -#ifndef I3_WORKSPACE_H -#define I3_WORKSPACE_H +#pragma once #include "data.h" #include "tree.h" @@ -181,4 +180,3 @@ Con *workspace_attach_to(Con *ws); * The container inherits the layout from the workspace. */ Con *workspace_encapsulate(Con *ws); -#endif diff --git a/include/x.h b/include/x.h index f1fa7e6a..07f8a725 100644 --- a/include/x.h +++ b/include/x.h @@ -8,8 +8,7 @@ * render.c). Basically a big state machine. * */ -#ifndef I3_X_H -#define I3_X_H +#pragma once /** Stores the X11 window ID of the currently focused window */ extern xcb_window_t focused_id; @@ -130,5 +129,3 @@ void x_set_warp_to(Rect *rect); * */ void x_mask_event_mask(uint32_t mask); - -#endif diff --git a/include/xcb.h b/include/xcb.h index 54013569..848fe295 100644 --- a/include/xcb.h +++ b/include/xcb.h @@ -7,8 +7,7 @@ * xcb.c: Helper functions for easier usage of XCB * */ -#ifndef I3_XCB_H -#define I3_XCB_H +#pragma once #include "data.h" #include "xcursor.h" @@ -137,5 +136,3 @@ uint16_t get_visual_depth(xcb_visualid_t visual_id); * */ xcb_visualid_t get_visualid_by_depth(uint16_t depth); - -#endif diff --git a/include/xcb_compat.h b/include/xcb_compat.h index fc09a254..88034565 100644 --- a/include/xcb_compat.h +++ b/include/xcb_compat.h @@ -9,8 +9,7 @@ * older versions. * */ -#ifndef I3_XCB_COMPAT_H -#define I3_XCB_COMPAT_H +#pragma once #define xcb_icccm_get_wm_protocols_reply_t xcb_get_wm_protocols_reply_t #define xcb_icccm_get_wm_protocols xcb_get_wm_protocols @@ -43,5 +42,3 @@ #define XCB_ATOM_ATOM ATOM #define XCB_ATOM_WM_NORMAL_HINTS WM_NORMAL_HINTS #define XCB_ATOM_STRING STRING - -#endif diff --git a/include/xcursor.h b/include/xcursor.h index 868fee78..bb329e4c 100644 --- a/include/xcursor.h +++ b/include/xcursor.h @@ -7,8 +7,7 @@ * xcursor.c: libXcursor support for themed cursors. * */ -#ifndef I3_XCURSOR_CURSOR_H -#define I3_XCURSOR_CURSOR_H +#pragma once #include @@ -41,5 +40,3 @@ int xcursor_get_xcb_cursor(enum xcursor_cursor_t c); * */ void xcursor_set_root_cursor(int cursor_id); - -#endif diff --git a/include/xinerama.h b/include/xinerama.h index ca7c2ab5..46c2a635 100644 --- a/include/xinerama.h +++ b/include/xinerama.h @@ -9,8 +9,7 @@ * driver which does not support RandR in 2011 *sigh*. * */ -#ifndef I3_XINERAMA_H -#define I3_XINERAMA_H +#pragma once #include "data.h" @@ -20,5 +19,3 @@ * */ void xinerama_init(void); - -#endif diff --git a/include/yajl_utils.h b/include/yajl_utils.h index d8a53d3a..cf963073 100644 --- a/include/yajl_utils.h +++ b/include/yajl_utils.h @@ -7,8 +7,7 @@ * yajl_utils.h * */ -#ifndef I3_YAJL_UTILS_H -#define I3_YAJL_UTILS_H +#pragma once #include #include @@ -27,5 +26,3 @@ typedef size_t ylength; #define yalloc(callbacks, client) yajl_alloc(callbacks, NULL, NULL, client) typedef unsigned int ylength; #endif - -#endif diff --git a/tests/queue.h b/tests/queue.h index 75bb957a..cc129da7 100644 --- a/tests/queue.h +++ b/tests/queue.h @@ -32,8 +32,7 @@ * @(#)queue.h 8.5 (Berkeley) 8/20/94 */ -#ifndef _SYS_QUEUE_H_ -#define _SYS_QUEUE_H_ +#pragma once /* * This file defines five types of data structures: singly-linked lists, @@ -523,5 +522,3 @@ struct { \ _Q_INVALIDATE((elm)->field.cqe_prev); \ _Q_INVALIDATE((elm)->field.cqe_next); \ } while (0) - -#endif /* !_SYS_QUEUE_H_ */ From 69ce33d06d2a6ef0dfcdbe09e11e1262515c875f Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Sat, 21 Dec 2013 14:29:22 -0500 Subject: [PATCH 028/190] Snap pointer to resize bar on drag resize When the user initiates a drag resize, draw the resize bar on the border of the two involved containers and snap the pointer. This solution produces cleaner code than the former approach where the caller obfuscated the click coordinates of the event. This may confuse someone expecting a true button press event. Fixes an issue where the resize cursor is not shown when the resize bar is clicked until the user begins to drag the mouse. Fixes an issue where focus is not properly updated after the drag is complete when `focus_follows_mouse' option is set, leaving the pointer in an unfocused window in some cases. Fixes an issue where the resize bar may jump a few pixels when the mouse is first moved. (Thanks to pbos for suggesting this fix and providing an example implementation) --- src/click.c | 5 ----- src/resize.c | 29 +++++++++++++++++++---------- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/src/click.c b/src/click.c index 340c8414..a517838a 100644 --- a/src/click.c +++ b/src/click.c @@ -62,12 +62,7 @@ static bool tiling_resize_for_border(Con *con, border_t border, xcb_button_press second = tmp; } - /* We modify the X/Y position in the event so that the divider line is at - * the actual position of the border, not at the position of the click. */ const orientation_t orientation = ((border == BORDER_LEFT || border == BORDER_RIGHT) ? HORIZ : VERT); - if (orientation == HORIZ) - event->root_x = second->rect.x; - else event->root_y = second->rect.y; resize_graphical_handler(first, second, orientation, event); diff --git a/src/resize.c b/src/resize.c index cc4ba841..bacadf2e 100644 --- a/src/resize.c +++ b/src/resize.c @@ -102,8 +102,6 @@ bool resize_find_tiling_participants(Con **current, Con **other, direction_t dir int resize_graphical_handler(Con *first, Con *second, orientation_t orientation, const xcb_button_press_event_t *event) { DLOG("resize handler\n"); - uint32_t new_position; - /* TODO: previously, we were getting a rect containing all screens. why? */ Con *output = con_get_output(first); DLOG("x = %d, width = %d\n", output->rect.x, output->rect.width); @@ -122,19 +120,29 @@ int resize_graphical_handler(Con *first, Con *second, orientation_t orientation, xcb_window_t grabwin = create_window(conn, output->rect, XCB_COPY_FROM_PARENT, XCB_COPY_FROM_PARENT, XCB_WINDOW_CLASS_INPUT_ONLY, XCURSOR_CURSOR_POINTER, true, mask, values); + /* Keep track of the coordinate orthogonal to motion so we can determine + * the length of the resize afterward. */ + uint32_t initial_position, new_position; + + /* Configure the resizebar and snap the pointer. The resizebar runs along + * the rect of the second con and follows the motion of the pointer. */ Rect helprect; if (orientation == HORIZ) { - helprect.x = event->root_x; + helprect.x = second->rect.x; helprect.y = output->rect.y; helprect.width = 2; helprect.height = output->rect.height; - new_position = event->root_x; + initial_position = second->rect.x; + xcb_warp_pointer(conn, XCB_NONE, event->root, 0, 0, 0, 0, + second->rect.x, event->root_y); } else { helprect.x = output->rect.x; - helprect.y = event->root_y; + helprect.y = second->rect.y; helprect.width = output->rect.width; helprect.height = 2; - new_position = event->root_y; + initial_position = second->rect.y; + xcb_warp_pointer(conn, XCB_NONE, event->root, 0, 0, 0, 0, + event->root_x, second->rect.y); } mask = XCB_CW_BACK_PIXEL; @@ -152,8 +160,12 @@ int resize_graphical_handler(Con *first, Con *second, orientation_t orientation, xcb_flush(conn); + /* `new_position' will be updated by the `resize_callback'. */ + new_position = initial_position; + const struct callback_params params = { orientation, output, helpwin, &new_position }; + /* `drag_pointer' blocks until the drag is completed. */ drag_result_t drag_result = drag_pointer(NULL, event, grabwin, BORDER_TOP, 0, resize_callback, ¶ms); xcb_destroy_window(conn, helpwin); @@ -164,10 +176,7 @@ int resize_graphical_handler(Con *first, Con *second, orientation_t orientation, if (drag_result == DRAG_REVERT) return 0; - int pixels; - if (orientation == HORIZ) - pixels = (new_position - event->root_x); - else pixels = (new_position - event->root_y); + int pixels = (new_position - initial_position); DLOG("Done, pixels = %d\n", pixels); From 38b6936c255ae4e4c8a1b8429b40591b83e00367 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20Bostr=C3=B6m?= Date: Tue, 24 Dec 2013 12:57:34 +0100 Subject: [PATCH 029/190] Size resizebar according to container size. --- src/resize.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/resize.c b/src/resize.c index bacadf2e..61c4ada7 100644 --- a/src/resize.c +++ b/src/resize.c @@ -129,16 +129,16 @@ int resize_graphical_handler(Con *first, Con *second, orientation_t orientation, Rect helprect; if (orientation == HORIZ) { helprect.x = second->rect.x; - helprect.y = output->rect.y; + helprect.y = second->rect.y; helprect.width = 2; - helprect.height = output->rect.height; + helprect.height = second->rect.height; initial_position = second->rect.x; xcb_warp_pointer(conn, XCB_NONE, event->root, 0, 0, 0, 0, second->rect.x, event->root_y); } else { - helprect.x = output->rect.x; + helprect.x = second->rect.x; helprect.y = second->rect.y; - helprect.width = output->rect.width; + helprect.width = second->rect.width; helprect.height = 2; initial_position = second->rect.y; xcb_warp_pointer(conn, XCB_NONE, event->root, 0, 0, 0, 0, From ac74a6366226ec3e3cc048486b9ff085a074753a Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Thu, 26 Dec 2013 22:00:06 -0500 Subject: [PATCH 030/190] i3bar: Don't start child unless status_command If a command is passed to `start_child` which is NULL, such as in the case when there is no `status_command` specified in the bar config, do not start a child process to listen on stdin. fixes #1140 --- i3bar/src/child.c | 64 ++++++++++++++++++++++++---------------------- i3bar/src/config.c | 4 --- i3bar/src/ipc.c | 3 --- 3 files changed, 34 insertions(+), 37 deletions(-) diff --git a/i3bar/src/child.c b/i3bar/src/child.c index 1bd0d258..16d3e091 100644 --- a/i3bar/src/child.c +++ b/i3bar/src/child.c @@ -452,10 +452,16 @@ void child_write_output(void) { /* * Start a child-process with the specified command and reroute stdin. * We actually start a $SHELL to execute the command so we don't have to care - * about arguments and such + * about arguments and such. + * + * If `command' is NULL, such as in the case when no `status_command' is given + * in the bar config, no child will be started. * */ void start_child(char *command) { + if (command == NULL) + return; + /* Allocate a yajl parser which will be used to parse stdin. */ memset(&callbacks, '\0', sizeof(yajl_callbacks)); callbacks.yajl_map_key = stdin_map_key; @@ -478,43 +484,41 @@ void start_child(char *command) { gen = yajl_gen_alloc(NULL); #endif - if (command != NULL) { - int pipe_in[2]; /* pipe we read from */ - int pipe_out[2]; /* pipe we write to */ + int pipe_in[2]; /* pipe we read from */ + int pipe_out[2]; /* pipe we write to */ - if (pipe(pipe_in) == -1) - err(EXIT_FAILURE, "pipe(pipe_in)"); - if (pipe(pipe_out) == -1) - err(EXIT_FAILURE, "pipe(pipe_out)"); + if (pipe(pipe_in) == -1) + err(EXIT_FAILURE, "pipe(pipe_in)"); + if (pipe(pipe_out) == -1) + err(EXIT_FAILURE, "pipe(pipe_out)"); - child.pid = fork(); - switch (child.pid) { - case -1: - ELOG("Couldn't fork(): %s\n", strerror(errno)); - exit(EXIT_FAILURE); - case 0: - /* Child-process. Reroute streams and start shell */ + child.pid = fork(); + switch (child.pid) { + case -1: + ELOG("Couldn't fork(): %s\n", strerror(errno)); + exit(EXIT_FAILURE); + case 0: + /* Child-process. Reroute streams and start shell */ - close(pipe_in[0]); - close(pipe_out[1]); + close(pipe_in[0]); + close(pipe_out[1]); - dup2(pipe_in[1], STDOUT_FILENO); - dup2(pipe_out[0], STDIN_FILENO); + dup2(pipe_in[1], STDOUT_FILENO); + dup2(pipe_out[0], STDIN_FILENO); - setpgid(child.pid, 0); - execl(_PATH_BSHELL, _PATH_BSHELL, "-c", command, (char*) NULL); - return; - default: - /* Parent-process. Reroute streams */ + setpgid(child.pid, 0); + execl(_PATH_BSHELL, _PATH_BSHELL, "-c", command, (char*) NULL); + return; + default: + /* Parent-process. Reroute streams */ - close(pipe_in[1]); - close(pipe_out[0]); + close(pipe_in[1]); + close(pipe_out[0]); - dup2(pipe_in[0], STDIN_FILENO); - child_stdin = pipe_out[1]; + dup2(pipe_in[0], STDIN_FILENO); + child_stdin = pipe_out[1]; - break; - } + break; } /* We set O_NONBLOCK because blocking is evil in event-driven software */ diff --git a/i3bar/src/config.c b/i3bar/src/config.c index 5ac31b1f..dea47b9c 100644 --- a/i3bar/src/config.c +++ b/i3bar/src/config.c @@ -127,10 +127,6 @@ static int config_string_cb(void *params_, const unsigned char *val, unsigned in } if (!strcmp(cur_key, "status_command")) { - /* We cannot directly start the child here, because start_child() also - * needs to be run when no command was specified (to setup stdin). - * Therefore we save the command in 'config' and access it later in - * got_bar_config() */ DLOG("command = %.*s\n", len, val); sasprintf(&config.command, "%.*s", len, val); return 1; diff --git a/i3bar/src/ipc.c b/i3bar/src/ipc.c index 3536b7dc..9ec9100b 100644 --- a/i3bar/src/ipc.c +++ b/i3bar/src/ipc.c @@ -100,9 +100,6 @@ void got_bar_config(char *reply) { /* Resolve color strings to colorpixels and save them, then free the strings. */ init_colors(&(config.colors)); - /* The name of this function is actually misleading. Even if no command is - * specified, this function initiates the watchers to listen on stdin and - * react accordingly */ start_child(config.command); FREE(config.command); } From 9c15b9504ec4c7201376781234e5611215d120ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20Bostr=C3=B6m?= Date: Wed, 25 Dec 2013 20:01:37 +0100 Subject: [PATCH 031/190] Fix clang -Wextra except -Wunused-parameter. Cleared all warnings that occur when passing CFLAGS="-Wall -Wextra -Wno-unused-parameter" to make using clang 3.3 on Linux x86-64. --- i3-config-wizard/main.c | 2 +- i3-msg/main.c | 2 +- i3-nagbar/main.c | 2 +- i3bar/src/child.c | 2 +- i3bar/src/xcb.c | 6 +++--- include/randr.h | 2 +- libi3/get_exe_path.c | 2 +- libi3/ipc_send_message.c | 2 +- src/assignments.c | 2 +- src/click.c | 10 +++++----- src/commands_parser.c | 2 +- src/config.c | 2 +- src/config_parser.c | 6 +++--- src/display_version.c | 4 ++-- src/fake_outputs.c | 2 +- src/floating.c | 4 ++-- src/handlers.c | 2 +- src/log.c | 2 +- src/manage.c | 2 +- src/randr.c | 2 +- src/util.c | 6 +++--- src/window.c | 2 +- src/xinerama.c | 2 +- 23 files changed, 35 insertions(+), 35 deletions(-) diff --git a/i3-config-wizard/main.c b/i3-config-wizard/main.c index 09b94841..626aa0bd 100644 --- a/i3-config-wizard/main.c +++ b/i3-config-wizard/main.c @@ -299,7 +299,7 @@ static char *rewrite_binding(const char *input) { /* The "<=" operator is intentional: We also handle the terminating 0-byte * explicitly by looking for an 'end' token. */ - while ((walk - input) <= len) { + while ((size_t)(walk - input) <= len) { /* Skip whitespace before every token, newlines are relevant since they * separate configuration directives. */ while ((*walk == ' ' || *walk == '\t') && *walk != '\0') diff --git a/i3-msg/main.c b/i3-msg/main.c index 935edc04..11a31972 100644 --- a/i3-msg/main.c +++ b/i3-msg/main.c @@ -135,7 +135,7 @@ yajl_callbacks reply_callbacks = { int main(int argc, char *argv[]) { socket_path = getenv("I3SOCK"); int o, option_index = 0; - int message_type = I3_IPC_MESSAGE_TYPE_COMMAND; + uint32_t message_type = I3_IPC_MESSAGE_TYPE_COMMAND; char *payload = NULL; bool quiet = false; diff --git a/i3-nagbar/main.c b/i3-nagbar/main.c index 791da97b..f0dd407f 100644 --- a/i3-nagbar/main.c +++ b/i3-nagbar/main.c @@ -467,7 +467,7 @@ int main(int argc, char *argv[]) { uint32_t top_end_x; uint32_t bottom_start_x; uint32_t bottom_end_x; - } __attribute__((__packed__)) strut_partial = {0,}; + } __attribute__((__packed__)) strut_partial = {}; strut_partial.top = font.height + 6; strut_partial.top_start_x = 0; diff --git a/i3bar/src/child.c b/i3bar/src/child.c index 16d3e091..52019b36 100644 --- a/i3bar/src/child.c +++ b/i3bar/src/child.c @@ -28,7 +28,7 @@ #include "common.h" /* Global variables for child_*() */ -i3bar_child child = { 0 }; +i3bar_child child = {}; /* stdin- and sigchild-watchers */ ev_io *stdin_io; diff --git a/i3bar/src/xcb.c b/i3bar/src/xcb.c index 82861039..faae27d1 100644 --- a/i3bar/src/xcb.c +++ b/i3bar/src/xcb.c @@ -417,7 +417,7 @@ void handle_button(xcb_button_press_event_t *event) { const size_t len = namelen + strlen("workspace \"\"") + 1; char *buffer = scalloc(len+num_quotes); strncpy(buffer, "workspace \"", strlen("workspace \"")); - int inpos, outpos; + size_t inpos, outpos; for (inpos = 0, outpos = strlen("workspace \""); inpos < namelen; inpos++, outpos++) { @@ -1524,7 +1524,7 @@ void reconfig_windows(bool redraw_bars) { uint32_t top_end_x; uint32_t bottom_start_x; uint32_t bottom_end_x; - } __attribute__((__packed__)) strut_partial = {0,}; + } __attribute__((__packed__)) strut_partial = {}; switch (config.position) { case POS_NONE: break; @@ -1717,7 +1717,7 @@ void draw_bars(bool unhide) { outputs_walk->bargc, MAX(0, (int16_t)(statusline_width - outputs_walk->rect.w + 4)), 0, MAX(0, (int16_t)(outputs_walk->rect.w - statusline_width - traypx - 4)), 3, - MIN(outputs_walk->rect.w - traypx - 4, statusline_width), font.height + 2); + MIN(outputs_walk->rect.w - traypx - 4, (int)statusline_width), font.height + 2); } if (!config.disable_ws) { diff --git a/include/randr.h b/include/randr.h index 75c899c3..43f7efe8 100644 --- a/include/randr.h +++ b/include/randr.h @@ -84,7 +84,7 @@ Output *get_output_by_name(const char *name); * if there is no output which contains these coordinates. * */ -Output *get_output_containing(int x, int y); +Output *get_output_containing(unsigned int x, unsigned int y); /* * In contained_by_output, we check if any active output contains part of the container. diff --git a/libi3/get_exe_path.c b/libi3/get_exe_path.c index e0437e5e..032ea3da 100644 --- a/libi3/get_exe_path.c +++ b/libi3/get_exe_path.c @@ -30,7 +30,7 @@ char *get_exe_path(const char *argv0) { #endif ssize_t linksize; - while ((linksize = readlink(exepath, destpath, destpath_size)) == destpath_size) { + while ((linksize = readlink(exepath, destpath, destpath_size)) == (ssize_t)destpath_size) { destpath_size = destpath_size * 2; destpath = srealloc(destpath, destpath_size); } diff --git a/libi3/ipc_send_message.c b/libi3/ipc_send_message.c index c5560c0d..0c360c9c 100644 --- a/libi3/ipc_send_message.c +++ b/libi3/ipc_send_message.c @@ -33,7 +33,7 @@ int ipc_send_message(int sockfd, const uint32_t message_size, .type = message_type }; - int sent_bytes = 0; + size_t sent_bytes = 0; int n = 0; /* This first loop is basically unnecessary. No operating system has diff --git a/src/assignments.c b/src/assignments.c index 655816a3..ea39eafa 100644 --- a/src/assignments.c +++ b/src/assignments.c @@ -28,7 +28,7 @@ void run_assignments(i3Window *window) { continue; bool skip = false; - for (int c = 0; c < window->nr_assignments; c++) { + for (uint32_t c = 0; c < window->nr_assignments; c++) { if (window->ran_assignments[c] != current) continue; diff --git a/src/click.c b/src/click.c index a517838a..b6eb948c 100644 --- a/src/click.c +++ b/src/click.c @@ -147,15 +147,15 @@ static bool tiling_resize(Con *con, xcb_button_press_event_t *event, const click return tiling_resize_for_border(con, BORDER_TOP, event); } - if (event->event_x >= 0 && event->event_x <= bsr.x && - event->event_y >= bsr.y && event->event_y <= con->rect.height + bsr.height) + if (event->event_x >= 0 && event->event_x <= (int32_t)bsr.x && + event->event_y >= (int32_t)bsr.y && event->event_y <= (int32_t)(con->rect.height + bsr.height)) return tiling_resize_for_border(con, BORDER_LEFT, event); - if (event->event_x >= (con->window_rect.x + con->window_rect.width) && - event->event_y >= bsr.y && event->event_y <= con->rect.height + bsr.height) + if (event->event_x >= (int32_t)(con->window_rect.x + con->window_rect.width) && + event->event_y >= (int32_t)bsr.y && event->event_y <= (int32_t)(con->rect.height + bsr.height)) return tiling_resize_for_border(con, BORDER_RIGHT, event); - if (event->event_y >= (con->window_rect.y + con->window_rect.height)) + if (event->event_y >= (int32_t)(con->window_rect.y + con->window_rect.height)) return tiling_resize_for_border(con, BORDER_BOTTOM, event); return false; diff --git a/src/commands_parser.c b/src/commands_parser.c index 4f04501c..05d39cff 100644 --- a/src/commands_parser.c +++ b/src/commands_parser.c @@ -232,7 +232,7 @@ struct CommandResult *parse_command(const char *input) { /* The "<=" operator is intentional: We also handle the terminating 0-byte * explicitly by looking for an 'end' token. */ - while ((walk - input) <= len) { + while ((size_t)(walk - input) <= len) { /* skip whitespace and newlines before every token */ while ((*walk == ' ' || *walk == '\t' || *walk == '\r' || *walk == '\n') && *walk != '\0') diff --git a/src/config.c b/src/config.c index c030eb9a..4ce45ad6 100644 --- a/src/config.c +++ b/src/config.c @@ -175,7 +175,7 @@ void grab_all_keys(xcb_connection_t *conn, bool bind_mode_switch) { } xcb_keycode_t *walk = bind->translated_to; - for (int i = 0; i < bind->number_keycodes; i++) + for (uint32_t i = 0; i < bind->number_keycodes; i++) grab_keycode_for_binding(conn, bind, *walk++); } } diff --git a/src/config_parser.c b/src/config_parser.c index bbd59a45..cb21dae7 100644 --- a/src/config_parser.c +++ b/src/config_parser.c @@ -159,7 +159,7 @@ static const char *get_string(const char *identifier) { return NULL; } -static const long get_long(const char *identifier) { +static long get_long(const char *identifier) { for (int c = 0; c < 10; c++) { if (stack[c].identifier == NULL) break; @@ -346,7 +346,7 @@ struct ConfigResult *parse_config(const char *input, struct context *context) { /* The "<=" operator is intentional: We also handle the terminating 0-byte * explicitly by looking for an 'end' token. */ - while ((walk - input) <= len) { + while ((size_t)(walk - input) <= len) { /* Skip whitespace before every token, newlines are relevant since they * separate configuration directives. */ while ((*walk == ' ' || *walk == '\t') && *walk != '\0') @@ -585,7 +585,7 @@ struct ConfigResult *parse_config(const char *input, struct context *context) { y(map_close); /* Skip the rest of this line, but continue parsing. */ - while ((walk - input) <= len && *walk != '\n') + while ((size_t)(walk - input) <= len && *walk != '\n') walk++; free(position); diff --git a/src/display_version.c b/src/display_version.c index 427c4ff7..73bc54d1 100644 --- a/src/display_version.c +++ b/src/display_version.c @@ -135,7 +135,7 @@ void display_running_version(void) { sasprintf(&exepath, "/proc/%d/exe", getpid()); - while ((linksize = readlink(exepath, destpath, destpath_size)) == destpath_size) { + while ((linksize = readlink(exepath, destpath, destpath_size)) == (ssize_t)destpath_size) { destpath_size = destpath_size * 2; destpath = srealloc(destpath, destpath_size); } @@ -151,7 +151,7 @@ void display_running_version(void) { free(exepath); sasprintf(&exepath, "/proc/%s/exe", pid_from_atom); - while ((linksize = readlink(exepath, destpath, destpath_size)) == destpath_size) { + while ((linksize = readlink(exepath, destpath, destpath_size)) == (ssize_t)destpath_size) { destpath_size = destpath_size * 2; destpath = srealloc(destpath, destpath_size); } diff --git a/src/fake_outputs.c b/src/fake_outputs.c index e1153299..acbc456d 100644 --- a/src/fake_outputs.c +++ b/src/fake_outputs.c @@ -18,7 +18,7 @@ static int num_screens; * Looks in outputs for the Output whose start coordinates are x, y * */ -static Output *get_screen_at(int x, int y) { +static Output *get_screen_at(unsigned int x, unsigned int y) { Output *output; TAILQ_FOREACH(output, &outputs, outputs) if (output->rect.x == x && output->rect.y == y) diff --git a/src/floating.c b/src/floating.c index 166e054c..1c35c8d0 100644 --- a/src/floating.c +++ b/src/floating.c @@ -535,12 +535,12 @@ void floating_resize_window(Con *con, const bool proportional, * a bitmask of the nearest borders (BORDER_LEFT, BORDER_RIGHT, …) */ border_t corner = 0; - if (event->event_x <= (con->rect.width / 2)) + if (event->event_x <= (int16_t)(con->rect.width / 2)) corner |= BORDER_LEFT; else corner |= BORDER_RIGHT; int cursor = 0; - if (event->event_y <= (con->rect.height / 2)) { + if (event->event_y <= (int16_t)(con->rect.height / 2)) { corner |= BORDER_TOP; cursor = (corner & BORDER_LEFT) ? XCURSOR_CURSOR_TOP_LEFT_CORNER : XCURSOR_CURSOR_TOP_RIGHT_CORNER; diff --git a/src/handlers.c b/src/handlers.c index fce66276..312372a7 100644 --- a/src/handlers.c +++ b/src/handlers.c @@ -1034,7 +1034,7 @@ static void property_notify(uint8_t state, xcb_window_t window, xcb_atom_t atom) struct property_handler_t *handler = NULL; xcb_get_property_reply_t *propr = NULL; - for (int c = 0; c < sizeof(property_handlers) / sizeof(struct property_handler_t); c++) { + for (size_t c = 0; c < sizeof(property_handlers) / sizeof(struct property_handler_t); c++) { if (property_handlers[c].atom != atom) continue; diff --git a/src/log.c b/src/log.c index 86f47b9a..5635278d 100644 --- a/src/log.c +++ b/src/log.c @@ -250,7 +250,7 @@ static void vlog(const bool print, const char *fmt, va_list args) { /* If there is no space for the current message in the ringbuffer, we * need to wrap and write to the beginning again. */ - if (len >= (logbuffer_size - (logwalk - logbuffer))) { + if (len >= (size_t)(logbuffer_size - (logwalk - logbuffer))) { loglastwrap = logwalk; logwalk = logbuffer + sizeof(i3_shmlog_header); store_log_markers(); diff --git a/src/manage.c b/src/manage.c index d7a28eb1..8874994d 100644 --- a/src/manage.c +++ b/src/manage.c @@ -252,7 +252,7 @@ void manage_window(xcb_window_t window, xcb_get_window_attributes_cookie_t cooki cwindow->dock = W_DOCK_BOTTOM; } else { DLOG("Ignoring invalid reserved edges (_NET_WM_STRUT_PARTIAL), using position as fallback:\n"); - if (geom->y < (search_at->rect.height / 2)) { + if (geom->y < (int16_t)(search_at->rect.height / 2)) { DLOG("geom->y = %d < rect.height / 2 = %d, it is a top dock client\n", geom->y, (search_at->rect.height / 2)); cwindow->dock = W_DOCK_TOP; diff --git a/src/randr.c b/src/randr.c index 1aef9c9c..53a9a177 100644 --- a/src/randr.c +++ b/src/randr.c @@ -77,7 +77,7 @@ Output *get_first_output(void) { * if there is no output which contains these coordinates. * */ -Output *get_output_containing(int x, int y) { +Output *get_output_containing(unsigned int x, unsigned int y) { Output *output; TAILQ_FOREACH(output, &outputs, outputs) { if (!output->active) diff --git a/src/util.c b/src/util.c index e2df3ca9..87701757 100644 --- a/src/util.c +++ b/src/util.c @@ -224,7 +224,7 @@ char *store_restart_layout(void) { return NULL; } - int written = 0; + size_t written = 0; while (written < length) { int n = write(fd, payload + written, length - written); /* TODO: correct error-handling */ @@ -242,9 +242,9 @@ char *store_restart_layout(void) { } written += n; #if YAJL_MAJOR >= 2 - printf("written: %d of %zd\n", written, length); + DLOG("written: %zd of %zd\n", written, length); #else - printf("written: %d of %d\n", written, length); + DLOG("written: %d of %d\n", written, length); #endif } close(fd); diff --git a/src/window.c b/src/window.c index b51be53f..219e64ce 100644 --- a/src/window.c +++ b/src/window.c @@ -32,7 +32,7 @@ void window_update_class(i3Window *win, xcb_get_property_reply_t *prop, bool bef FREE(win->class_class); win->class_instance = sstrdup(new_class); - if ((strlen(new_class) + 1) < xcb_get_property_value_length(prop)) + if ((strlen(new_class) + 1) < (size_t)xcb_get_property_value_length(prop)) win->class_class = sstrdup(new_class + strlen(new_class) + 1); else win->class_class = NULL; LOG("WM_CLASS changed to %s (instance), %s (class)\n", diff --git a/src/xinerama.c b/src/xinerama.c index 7e5b5aeb..b3e51ac5 100644 --- a/src/xinerama.c +++ b/src/xinerama.c @@ -22,7 +22,7 @@ static int num_screens; * Looks in outputs for the Output whose start coordinates are x, y * */ -static Output *get_screen_at(int x, int y) { +static Output *get_screen_at(unsigned int x, unsigned int y) { Output *output; TAILQ_FOREACH(output, &outputs, outputs) if (output->rect.x == x && output->rect.y == y) From f78c1ba053e3c56ddbc6e90aa08935fe138fa19d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20Bostr=C3=B6m?= Date: Sat, 4 Jan 2014 13:18:38 +0100 Subject: [PATCH 032/190] Fix 'gcc -Wextra -Wno-unused-parameter'. --- i3-config-wizard/main.c | 2 +- i3-nagbar/main.c | 3 ++- i3bar/include/config.h | 6 ++++-- i3bar/src/child.c | 2 +- i3bar/src/ipc.c | 2 +- i3bar/src/xcb.c | 4 +++- include/con.h | 4 ++-- include/data.h | 5 ++++- src/con.c | 4 ++-- src/util.c | 2 +- 10 files changed, 21 insertions(+), 13 deletions(-) diff --git a/i3-config-wizard/main.c b/i3-config-wizard/main.c index 626aa0bd..bdd012fc 100644 --- a/i3-config-wizard/main.c +++ b/i3-config-wizard/main.c @@ -453,7 +453,7 @@ static char *resolve_tilde(const char *path) { char *head, *tail, *result; tail = strchr(path, '/'); - head = strndup(path, tail ? tail - path : strlen(path)); + head = strndup(path, tail ? (size_t)(tail - path) : strlen(path)); int res = glob(head, GLOB_TILDE, NULL, &globbuf); free(head); diff --git a/i3-nagbar/main.c b/i3-nagbar/main.c index f0dd407f..fea2e688 100644 --- a/i3-nagbar/main.c +++ b/i3-nagbar/main.c @@ -467,7 +467,8 @@ int main(int argc, char *argv[]) { uint32_t top_end_x; uint32_t bottom_start_x; uint32_t bottom_end_x; - } __attribute__((__packed__)) strut_partial = {}; + } __attribute__((__packed__)) strut_partial; + memset(&strut_partial, 0, sizeof(strut_partial)); strut_partial.top = font.height + 6; strut_partial.top_start_x = 0; diff --git a/i3bar/include/config.h b/i3bar/include/config.h index 3d2a854b..e0b0efee 100644 --- a/i3bar/include/config.h +++ b/i3bar/include/config.h @@ -17,6 +17,9 @@ typedef enum { POS_BOT } position_t; +/* Bar display mode (hide unless modifier is pressed or show in dock mode or always hide in invisible mode) */ +typedef enum { M_DOCK = 0, M_HIDE = 1, M_INVISIBLE = 2 } bar_display_mode_t; + typedef struct config_t { int modifier; position_t position; @@ -31,8 +34,7 @@ typedef struct config_t { int num_outputs; char **outputs; - /* Bar display mode (hide unless modifier is pressed or show in dock mode or always hide in invisible mode) */ - enum { M_DOCK = 0, M_HIDE = 1, M_INVISIBLE = 2 } hide_on_modifier; + bar_display_mode_t hide_on_modifier; /* The current hidden_state of the bar, which indicates whether it is hidden or shown */ enum { S_HIDE = 0, S_SHOW = 1 } hidden_state; diff --git a/i3bar/src/child.c b/i3bar/src/child.c index 52019b36..63e26f1b 100644 --- a/i3bar/src/child.c +++ b/i3bar/src/child.c @@ -28,7 +28,7 @@ #include "common.h" /* Global variables for child_*() */ -i3bar_child child = {}; +i3bar_child child; /* stdin- and sigchild-watchers */ ev_io *stdin_io; diff --git a/i3bar/src/ipc.c b/i3bar/src/ipc.c index 9ec9100b..6a2c0e62 100644 --- a/i3bar/src/ipc.c +++ b/i3bar/src/ipc.c @@ -161,7 +161,7 @@ void got_bar_config_update(char *event) { /* update the configuration with the received settings */ DLOG("Received bar config update \"%s\"\n", event); - int old_mode = config.hide_on_modifier; + bar_display_mode_t old_mode = config.hide_on_modifier; parse_config_json(event); if (old_mode != config.hide_on_modifier) { reconfig_windows(true); diff --git a/i3bar/src/xcb.c b/i3bar/src/xcb.c index faae27d1..f3eaa547 100644 --- a/i3bar/src/xcb.c +++ b/i3bar/src/xcb.c @@ -1524,7 +1524,9 @@ void reconfig_windows(bool redraw_bars) { uint32_t top_end_x; uint32_t bottom_start_x; uint32_t bottom_end_x; - } __attribute__((__packed__)) strut_partial = {}; + } __attribute__((__packed__)) strut_partial; + memset(&strut_partial, 0, sizeof(strut_partial)); + switch (config.position) { case POS_NONE: break; diff --git a/include/con.h b/include/con.h index 49ee97f6..0205dfc6 100644 --- a/include/con.h +++ b/include/con.h @@ -80,7 +80,7 @@ Con *con_parent_with_orientation(Con *con, orientation_t orientation); * Returns the first fullscreen node below this node. * */ -Con *con_get_fullscreen_con(Con *con, int fullscreen_mode); +Con *con_get_fullscreen_con(Con *con, fullscreen_mode_t fullscreen_mode); /** * Returns true if the container is internal, such as __i3_scratch @@ -192,7 +192,7 @@ void con_move_to_workspace(Con *con, Con *workspace, bool fix_coordinates, bool * container). * */ -int con_orientation(Con *con); +orientation_t con_orientation(Con *con); /** * Returns the container which will be focused next when the given container diff --git a/include/data.h b/include/data.h index 659a362b..8a44fb1d 100644 --- a/include/data.h +++ b/include/data.h @@ -449,6 +449,9 @@ struct Assignment { TAILQ_ENTRY(Assignment) assignments; }; +/** Fullscreen modes. Used by Con.fullscreen_mode. */ +typedef enum { CF_NONE = 0, CF_OUTPUT = 1, CF_GLOBAL = 2 } fullscreen_mode_t; + /** * A 'Con' represents everything from the X11 root window down to a single X11 window. * @@ -537,7 +540,7 @@ struct Con { TAILQ_HEAD(swallow_head, Match) swallow_head; - enum { CF_NONE = 0, CF_OUTPUT = 1, CF_GLOBAL = 2 } fullscreen_mode; + fullscreen_mode_t fullscreen_mode; /* layout is the layout of this container: one of split[v|h], stacked or * tabbed. Special containers in the tree (above workspaces) have special * layouts like dockarea or output. diff --git a/src/con.c b/src/con.c index ba14e06c..5a3c88d2 100644 --- a/src/con.c +++ b/src/con.c @@ -353,7 +353,7 @@ struct bfs_entry { * Returns the first fullscreen node below this node. * */ -Con *con_get_fullscreen_con(Con *con, int fullscreen_mode) { +Con *con_get_fullscreen_con(Con *con, fullscreen_mode_t fullscreen_mode) { Con *current, *child; /* TODO: is breadth-first-search really appropriate? (check as soon as @@ -826,7 +826,7 @@ void con_move_to_workspace(Con *con, Con *workspace, bool fix_coordinates, bool * container). * */ -int con_orientation(Con *con) { +orientation_t con_orientation(Con *con) { switch (con->layout) { case L_SPLITV: /* stacking containers behave like they are in vertical orientation */ diff --git a/src/util.c b/src/util.c index 87701757..f672cc2e 100644 --- a/src/util.c +++ b/src/util.c @@ -130,7 +130,7 @@ char *resolve_tilde(const char *path) { char *head, *tail, *result; tail = strchr(path, '/'); - head = strndup(path, tail ? tail - path : strlen(path)); + head = strndup(path, tail ? (size_t)(tail - path) : strlen(path)); int res = glob(head, GLOB_TILDE, NULL, &globbuf); free(head); From f1560e5eb6d8d64b62e10e8f896f688b44392648 Mon Sep 17 00:00:00 2001 From: Alexander Kedrik Date: Wed, 1 Jan 2014 19:23:10 +0400 Subject: [PATCH 033/190] remove unnecessary forward declaration of set_statusline_error Attributes can be added to function definitions. Tested with gcc 4.8.2 and clang 3.3 --- i3bar/src/child.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/i3bar/src/child.c b/i3bar/src/child.c index 63e26f1b..3621234c 100644 --- a/i3bar/src/child.c +++ b/i3bar/src/child.c @@ -81,12 +81,7 @@ static void clear_status_blocks() { * `draw_bars' is called, the error message text will be drawn on the bar in * the space allocated for the statusline. */ - -/* forward function declaration is needed to add __attribute__ mechanism which - * helps the compiler understand we are defining a printf wrapper */ -static void set_statusline_error(const char *format, ...) __attribute__ ((format (printf, 1, 2))); - -static void set_statusline_error(const char *format, ...) { +__attribute__ ((format (printf, 1, 2))) static void set_statusline_error(const char *format, ...) { clear_status_blocks(); char *message; From 705b43294add2fffede086c0c072dc5a849ffc49 Mon Sep 17 00:00:00 2001 From: Alexander Kedrik Date: Wed, 1 Jan 2014 20:19:55 +0400 Subject: [PATCH 034/190] use designated initializers for yajl_callbacks struct --- i3-msg/main.c | 16 +++++----------- i3bar/src/child.c | 20 ++++++++++---------- i3bar/src/config.c | 15 ++++----------- i3bar/src/mode.c | 13 ++----------- i3bar/src/outputs.c | 18 +++++++----------- i3bar/src/parse_json_header.c | 20 ++++++-------------- i3bar/src/workspaces.c | 16 +++++----------- src/display_version.c | 13 ++----------- src/ipc.c | 6 +++--- src/key_press.c | 15 ++++----------- src/load_layout.c | 20 ++++++++++---------- 11 files changed, 58 insertions(+), 114 deletions(-) diff --git a/i3-msg/main.c b/i3-msg/main.c index 11a31972..c648f352 100644 --- a/i3-msg/main.c +++ b/i3-msg/main.c @@ -119,17 +119,11 @@ static int reply_map_key_cb(void *params, const unsigned char *keyVal, unsigned } yajl_callbacks reply_callbacks = { - NULL, - &reply_boolean_cb, - NULL, - NULL, - NULL, - &reply_string_cb, - &reply_start_map_cb, - &reply_map_key_cb, - &reply_end_map_cb, - NULL, - NULL + .yajl_boolean = reply_boolean_cb, + .yajl_string = reply_string_cb, + .yajl_start_map = reply_start_map_cb, + .yajl_map_key = reply_map_key_cb, + .yajl_end_map = reply_end_map_cb, }; int main(int argc, char *argv[]) { diff --git a/i3bar/src/child.c b/i3bar/src/child.c index 3621234c..1ec5981a 100644 --- a/i3bar/src/child.c +++ b/i3bar/src/child.c @@ -35,7 +35,6 @@ ev_io *stdin_io; ev_child *child_sig; /* JSON parser for stdin */ -yajl_callbacks callbacks; yajl_handle parser; /* JSON generator for stdout */ @@ -458,15 +457,16 @@ void start_child(char *command) { return; /* Allocate a yajl parser which will be used to parse stdin. */ - memset(&callbacks, '\0', sizeof(yajl_callbacks)); - callbacks.yajl_map_key = stdin_map_key; - callbacks.yajl_boolean = stdin_boolean; - callbacks.yajl_string = stdin_string; - callbacks.yajl_integer = stdin_integer; - callbacks.yajl_start_array = stdin_start_array; - callbacks.yajl_end_array = stdin_end_array; - callbacks.yajl_start_map = stdin_start_map; - callbacks.yajl_end_map = stdin_end_map; + yajl_callbacks callbacks = { + .yajl_boolean = stdin_boolean, + .yajl_integer = stdin_integer, + .yajl_string = stdin_string, + .yajl_start_map = stdin_start_map, + .yajl_map_key = stdin_map_key, + .yajl_end_map = stdin_end_map, + .yajl_start_array = stdin_start_array, + .yajl_end_array = stdin_end_array, + }; #if YAJL_MAJOR < 2 yajl_parser_config parse_conf = { 0, 0 }; diff --git a/i3bar/src/config.c b/i3bar/src/config.c index dea47b9c..0e6ba3f1 100644 --- a/i3bar/src/config.c +++ b/i3bar/src/config.c @@ -212,17 +212,10 @@ static int config_boolean_cb(void *params_, int val) { /* A datastructure to pass all these callbacks to yajl */ static yajl_callbacks outputs_callbacks = { - &config_null_cb, - &config_boolean_cb, - NULL, - NULL, - NULL, - &config_string_cb, - NULL, - &config_map_key_cb, - NULL, - NULL, - NULL + .yajl_null = config_null_cb, + .yajl_boolean = config_boolean_cb, + .yajl_string = config_string_cb, + .yajl_map_key = config_map_key_cb, }; /* diff --git a/i3bar/src/mode.c b/i3bar/src/mode.c index 7363971a..861271af 100644 --- a/i3bar/src/mode.c +++ b/i3bar/src/mode.c @@ -73,17 +73,8 @@ static int mode_map_key_cb(void *params_, const unsigned char *keyVal, unsigned /* A datastructure to pass all these callbacks to yajl */ yajl_callbacks mode_callbacks = { - NULL, - NULL, - NULL, - NULL, - NULL, - &mode_string_cb, - NULL, - &mode_map_key_cb, - NULL, - NULL, - NULL + .yajl_string = mode_string_cb, + .yajl_map_key = mode_map_key_cb, }; /* diff --git a/i3bar/src/outputs.c b/i3bar/src/outputs.c index db986702..181effe5 100644 --- a/i3bar/src/outputs.c +++ b/i3bar/src/outputs.c @@ -249,17 +249,13 @@ static int outputs_map_key_cb(void *params_, const unsigned char *keyVal, unsign /* A datastructure to pass all these callbacks to yajl */ yajl_callbacks outputs_callbacks = { - &outputs_null_cb, - &outputs_boolean_cb, - &outputs_integer_cb, - NULL, - NULL, - &outputs_string_cb, - &outputs_start_map_cb, - &outputs_map_key_cb, - &outputs_end_map_cb, - NULL, - NULL + .yajl_null = outputs_null_cb, + .yajl_boolean = outputs_boolean_cb, + .yajl_integer = outputs_integer_cb, + .yajl_string = outputs_string_cb, + .yajl_start_map = outputs_start_map_cb, + .yajl_map_key = outputs_map_key_cb, + .yajl_end_map = outputs_end_map_cb, }; /* diff --git a/i3bar/src/parse_json_header.c b/i3bar/src/parse_json_header.c index c09e0f49..86afab3a 100644 --- a/i3bar/src/parse_json_header.c +++ b/i3bar/src/parse_json_header.c @@ -93,20 +93,6 @@ static int header_map_key(void *ctx, const unsigned char *stringval, unsigned in return 1; } -static yajl_callbacks version_callbacks = { - NULL, /* null */ - &header_boolean, /* boolean */ - &header_integer, - NULL, /* double */ - NULL, /* number */ - NULL, /* string */ - NULL, /* start_map */ - &header_map_key, - NULL, /* end_map */ - NULL, /* start_array */ - NULL /* end_array */ -}; - static void child_init(i3bar_child *child) { child->version = 0; child->stop_signal = SIGSTOP; @@ -122,6 +108,12 @@ static void child_init(i3bar_child *child) { * */ void parse_json_header(i3bar_child *child, const unsigned char *buffer, int length, unsigned int *consumed) { + static yajl_callbacks version_callbacks = { + .yajl_boolean = header_boolean, + .yajl_integer = header_integer, + .yajl_map_key = &header_map_key, + }; + child_init(child); current_key = NO_KEY; diff --git a/i3bar/src/workspaces.c b/i3bar/src/workspaces.c index 5e01b98d..70063fb7 100644 --- a/i3bar/src/workspaces.c +++ b/i3bar/src/workspaces.c @@ -199,17 +199,11 @@ static int workspaces_map_key_cb(void *params_, const unsigned char *keyVal, uns /* A datastructure to pass all these callbacks to yajl */ yajl_callbacks workspaces_callbacks = { - NULL, - &workspaces_boolean_cb, - &workspaces_integer_cb, - NULL, - NULL, - &workspaces_string_cb, - &workspaces_start_map_cb, - &workspaces_map_key_cb, - NULL, - NULL, - NULL + .yajl_boolean = workspaces_boolean_cb, + .yajl_integer = workspaces_integer_cb, + .yajl_string = workspaces_string_cb, + .yajl_start_map = workspaces_start_map_cb, + .yajl_map_key = workspaces_map_key_cb, }; /* diff --git a/src/display_version.c b/src/display_version.c index 73bc54d1..da667ffa 100644 --- a/src/display_version.c +++ b/src/display_version.c @@ -42,17 +42,8 @@ static int version_map_key(void *ctx, const unsigned char *stringval, unsigned i } static yajl_callbacks version_callbacks = { - NULL, /* null */ - NULL, /* boolean */ - NULL, /* integer */ - NULL, /* double */ - NULL, /* number */ - &version_string, - NULL, /* start_map */ - &version_map_key, - NULL, /* end_map */ - NULL, /* start_array */ - NULL /* end_array */ + .yajl_string = version_string, + .yajl_map_key = version_map_key, }; /* diff --git a/src/ipc.c b/src/ipc.c index ab12dcb0..cf64c48c 100644 --- a/src/ipc.c +++ b/src/ipc.c @@ -815,7 +815,6 @@ static int add_subscription(void *extra, const unsigned char *s, */ IPC_HANDLER(subscribe) { yajl_handle p; - yajl_callbacks callbacks; yajl_status stat; ipc_client *current, *client = NULL; @@ -834,8 +833,9 @@ IPC_HANDLER(subscribe) { } /* Setup the JSON parser */ - memset(&callbacks, 0, sizeof(yajl_callbacks)); - callbacks.yajl_string = add_subscription; + yajl_callbacks callbacks = { + .yajl_string = add_subscription, + }; p = yalloc(&callbacks, (void*)client); stat = yajl_parse(p, (const unsigned char*)message, message_size); diff --git a/src/key_press.c b/src/key_press.c index 2f77a2a4..b8c8cd27 100644 --- a/src/key_press.c +++ b/src/key_press.c @@ -51,17 +51,10 @@ static int json_end_map(void *ctx) { } static yajl_callbacks command_error_callbacks = { - NULL, - &json_boolean, - NULL, - NULL, - NULL, - NULL, - &json_start_map, - &json_map_key, - &json_end_map, - NULL, - NULL + .yajl_boolean = json_boolean, + .yajl_start_map = json_start_map, + .yajl_map_key = json_map_key, + .yajl_end_map = json_end_map, }; /* diff --git a/src/load_layout.c b/src/load_layout.c index 588f2d3b..9373441a 100644 --- a/src/load_layout.c +++ b/src/load_layout.c @@ -402,16 +402,16 @@ void tree_append_json(const char *filename) { LOG("read %d bytes\n", n); yajl_gen g; yajl_handle hand; - yajl_callbacks callbacks; - memset(&callbacks, '\0', sizeof(yajl_callbacks)); - callbacks.yajl_start_map = json_start_map; - callbacks.yajl_end_map = json_end_map; - callbacks.yajl_end_array = json_end_array; - callbacks.yajl_string = json_string; - callbacks.yajl_map_key = json_key; - callbacks.yajl_integer = json_int; - callbacks.yajl_double = json_double; - callbacks.yajl_boolean = json_bool; + yajl_callbacks callbacks = { + .yajl_boolean = json_bool, + .yajl_integer = json_int, + .yajl_double = json_double, + .yajl_string = json_string, + .yajl_start_map = json_start_map, + .yajl_map_key = json_key, + .yajl_end_map = json_end_map, + .yajl_end_array = json_end_array, + }; #if YAJL_MAJOR >= 2 g = yajl_gen_alloc(NULL); hand = yajl_alloc(&callbacks, NULL, (void*)g); From b109b1b20dd51401dc929407453d3acdd8ff5566 Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Sat, 4 Jan 2014 07:04:56 -0500 Subject: [PATCH 035/190] Disable render-time pointer warps if asked When `focus_follows_mouse` configuration option is disabled, do not warp the pointer when focus changes outputs after rendering. Rationale: this option is meant to be disabled by users who have a setup where the mouse is usually in the way. These users tend to move the mouse to a corner or use a utility to hide the pointer when it is not active. When this user switches focus between outputs, the mouse is placed in the center of the screen. This is clearly against the spirit of disabling `focus_follows_mouse`. Disabling this option now implies disabling "mouse follows focus". --- src/x.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/x.c b/src/x.c index 6fe7df38..366cbe13 100644 --- a/src/x.c +++ b/src/x.c @@ -1083,7 +1083,8 @@ void x_set_i3_atoms(void) { */ void x_set_warp_to(Rect *rect) { - warp_to = rect; + if (!config.disable_focus_follows_mouse) + warp_to = rect; } /* From 4a9e283f0521b28596f32a8e6f6db9f2d51d9a4f Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sat, 4 Jan 2014 21:22:12 +0100 Subject: [PATCH 036/190] Bugfix: fix crash when layout JSON file is partially invalid (Thanks xeen) Fixes #1145 --- src/load_layout.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/load_layout.c b/src/load_layout.c index 9373441a..1e240ee6 100644 --- a/src/load_layout.c +++ b/src/load_layout.c @@ -436,6 +436,11 @@ void tree_append_json(const char *filename) { unsigned char *str = yajl_get_error(hand, 1, (const unsigned char*)buf, n); ELOG("JSON parsing error: %s\n", str); yajl_free_error(hand, str); + + /* In case not all containers were restored, we need to fix the + * percentages, otherwise i3 will crash immediately when rendering the + * next time. */ + con_fix_percent(focused); } setlocale(LC_NUMERIC, ""); From dfd9410ab7b669e873047342858ac2607aa7d560 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sat, 4 Jan 2014 21:23:12 +0100 Subject: [PATCH 037/190] Bugfix: set all parsing_* variables to false when starting parsing --- src/load_layout.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/load_layout.c b/src/load_layout.c index 1e240ee6..d0772aa3 100644 --- a/src/load_layout.c +++ b/src/load_layout.c @@ -426,9 +426,11 @@ void tree_append_json(const char *filename) { yajl_status stat; json_node = focused; to_focus = NULL; + parsing_swallows = false; parsing_rect = false; parsing_window_rect = false; parsing_geometry = false; + parsing_focus = false; setlocale(LC_NUMERIC, "C"); stat = yajl_parse(hand, (const unsigned char*)buf, n); if (stat != yajl_status_ok) From 1d969e6340d32d8f9341d1b2aa20d04e47246be7 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sat, 4 Jan 2014 21:30:51 +0100 Subject: [PATCH 038/190] fix percentages when loading layouts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is more forgiving for users who delete containers from their layout file and don’t update the “percent” values. --- src/load_layout.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/load_layout.c b/src/load_layout.c index d0772aa3..fe21ee81 100644 --- a/src/load_layout.c +++ b/src/load_layout.c @@ -90,7 +90,12 @@ static int json_end_map(void *ctx) { static int json_end_array(void *ctx) { LOG("end of array\n"); - parsing_swallows = false; + if (!parsing_swallows && !parsing_focus) { + con_fix_percent(json_node); + } + if (parsing_swallows) { + parsing_swallows = false; + } if (parsing_focus) { /* Clear the list of focus mappings */ struct focus_mapping *mapping; @@ -380,7 +385,6 @@ static int json_double(void *ctx, double val) { } void tree_append_json(const char *filename) { - /* TODO: percent of other windows are not correctly fixed at the moment */ FILE *f; if ((f = fopen(filename, "r")) == NULL) { LOG("Cannot open file \"%s\"\n", filename); From 58b3c730e28b12cfcc85a3845e0f163fd4684a03 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sat, 4 Jan 2014 21:39:13 +0100 Subject: [PATCH 039/190] return parse errors via IPC for append_layout --- include/load_layout.h | 2 +- src/commands.c | 15 ++++++++++++--- src/load_layout.c | 4 +++- src/tree.c | 2 +- 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/include/load_layout.h b/include/load_layout.h index 2458736f..0a5328fa 100644 --- a/include/load_layout.h +++ b/include/load_layout.h @@ -10,4 +10,4 @@ */ #pragma once -void tree_append_json(const char *filename); +void tree_append_json(const char *filename, char **errormsg); diff --git a/src/commands.c b/src/commands.c index d8eff106..7ad3aba0 100644 --- a/src/commands.c +++ b/src/commands.c @@ -869,7 +869,18 @@ void cmd_nop(I3_CMD, char *comment) { void cmd_append_layout(I3_CMD, char *path) { LOG("Appending layout \"%s\"\n", path); Con *parent = focused; - tree_append_json(path); + char *errormsg = NULL; + tree_append_json(path, &errormsg); + if (errormsg != NULL) { + yerror(errormsg); + free(errormsg); + /* Note that we continue executing since tree_append_json() has + * side-effects — user-provided layouts can be partly valid, partly + * invalid, leading to half of the placeholder containers being + * created. */ + } else { + ysuccess(true); + } // XXX: This is a bit of a kludge. Theoretically, render_con(parent, // false); should be enough, but when sending 'workspace 4; append_layout @@ -882,8 +893,6 @@ void cmd_append_layout(I3_CMD, char *path) { restore_open_placeholder_windows(parent); cmd_output->needs_tree_render = true; - // XXX: default reply for now, make this a better reply - ysuccess(true); } /* diff --git a/src/load_layout.c b/src/load_layout.c index fe21ee81..c95bc99f 100644 --- a/src/load_layout.c +++ b/src/load_layout.c @@ -384,7 +384,7 @@ static int json_double(void *ctx, double val) { return 1; } -void tree_append_json(const char *filename) { +void tree_append_json(const char *filename, char **errormsg) { FILE *f; if ((f = fopen(filename, "r")) == NULL) { LOG("Cannot open file \"%s\"\n", filename); @@ -441,6 +441,8 @@ void tree_append_json(const char *filename) { { unsigned char *str = yajl_get_error(hand, 1, (const unsigned char*)buf, n); ELOG("JSON parsing error: %s\n", str); + if (errormsg != NULL) + *errormsg = sstrdup((const char*)str); yajl_free_error(hand, str); /* In case not all containers were restored, we need to fix the diff --git a/src/tree.c b/src/tree.c index 836183ec..046d0b4c 100644 --- a/src/tree.c +++ b/src/tree.c @@ -84,7 +84,7 @@ bool tree_restore(const char *path, xcb_get_geometry_reply_t *geometry) { }; focused = croot; - tree_append_json(globbed); + tree_append_json(globbed, NULL); printf("appended tree, using new root\n"); croot = TAILQ_FIRST(&(croot->nodes_head)); From 90e7c5c18ab9b546f4048c4aec3d197adb01cd05 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sat, 4 Jan 2014 21:39:33 +0100 Subject: [PATCH 040/190] tests: add t/215-layout-restore-crash.t for the last couple of commits --- testcases/t/215-layout-restore-crash.t | 191 +++++++++++++++++++++++++ 1 file changed, 191 insertions(+) create mode 100644 testcases/t/215-layout-restore-crash.t diff --git a/testcases/t/215-layout-restore-crash.t b/testcases/t/215-layout-restore-crash.t new file mode 100644 index 00000000..1d11fece --- /dev/null +++ b/testcases/t/215-layout-restore-crash.t @@ -0,0 +1,191 @@ +#!perl +# vim:ts=4:sw=4:expandtab +# +# Please read the following documents before working on tests: +# • http://build.i3wm.org/docs/testsuite.html +# (or docs/testsuite) +# +# • http://build.i3wm.org/docs/lib-i3test.html +# (alternatively: perldoc ./testcases/lib/i3test.pm) +# +# • http://build.i3wm.org/docs/ipc.html +# (or docs/ipc) +# +# • http://onyxneon.com/books/modern_perl/modern_perl_a4.pdf +# (unless you are already familiar with Perl) +# +# Verifies that i3 does not crash when a layout is partially loadable. +# ticket #1145, bug still present in commit b109b1b20dd51401dc929407453d3acdd8ff5566 +use i3test; +use File::Temp qw(tempfile); +use IO::Handle; + +################################################################################ +# empty layout file. +################################################################################ + +my ($fh, $filename) = tempfile(UNLINK => 1); +cmd "append_layout $filename"; + +does_i3_live; + +close($fh); + +################################################################################ +# file with a superfluous trailing comma +################################################################################ + +my $ws = fresh_workspace; + +my @content = @{get_ws_content($ws)}; +is(@content, 0, 'no nodes on the new workspace yet'); + +($fh, $filename) = tempfile(UNLINK => 1); +print $fh <<'EOT'; +// vim:ts=4:sw=4:et +{ + "border": "pixel", + "floating": "auto_off", + "geometry": { + "height": 777, + "width": 199, + "x": 0, + "y": 0 + }, + "name": "Buddy List", + "percent": 0.116145833333333, + "swallows": [ + { + "class": "^Pidgin$", + "window_role": "^buddy_list$" + } + ], + "type": "con" +} + +{ + // splitv split container with 1 children + "border": "pixel", + "floating": "auto_off", + "layout": "splitv", + "percent": 0.883854166666667, + "swallows": [ + {} + ], + "type": "con", + "nodes": [ + { + // splitv split container with 2 children + "border": "pixel", + "floating": "auto_off", + "layout": "splitv", + "percent": 1, + "swallows": [ + {} + ], + "type": "con", + "nodes": [ + { + "border": "pixel", + "floating": "auto_off", + "geometry": { + "height": 318, + "width": 566, + "x": 0, + "y": 0 + }, + "name": "zsh", + "percent": 0.5, + "swallows": [ + { + "class": "^URxvt$", + "instance": "^IRC$", + } + ], + "type": "con" + }, + { + "border": "pixel", + "floating": "auto_off", + "geometry": { + "height": 1057, + "width": 636, + "x": 0, + "y": 0 + }, + "name": "Michael Stapelberg", + "percent": 0.5, + "swallows": [ + { + "class": "^Pidgin$", + "window_role": "^conversation$" + } + ], + "type": "con" + } + ] + } + ] +} + +EOT +$fh->flush; +my $reply = cmd "append_layout $filename"; +diag('reply = ' . Dumper($reply)); + +does_i3_live; + +ok(!$reply->[0]->{success}, 'IPC reply did not indicate success'); + +close($fh); + +################################################################################ +# file with a superfluous trailing comma +################################################################################ + +$ws = fresh_workspace; + +@content = @{get_ws_content($ws)}; +is(@content, 0, 'no nodes on the new workspace yet'); + +($fh, $filename) = tempfile(UNLINK => 1); +print $fh <<'EOT'; +// vim:ts=4:sw=4:et +{ + "border": "pixel", + "floating": "auto_off", + "layout": "splitv", + "type": "con", + "nodes": [ + { + "border": "pixel", + "floating": "auto_off", + "geometry": { + "height": 318, + "width": 566, + "x": 0, + "y": 0 + }, + "name": "zsh", + "percent": 0.833333, + "swallows": [ + { + "class": "^URxvt$", + "instance": "^IRC$" + } + ], + "type": "con" + } + ] +} + +EOT +$fh->flush; +cmd "append_layout $filename"; + +does_i3_live; + +close($fh); + + +done_testing; From 9daf0d8b2bff0d55251f23927cc89623a78de4b8 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sat, 4 Jan 2014 21:57:35 +0100 Subject: [PATCH 041/190] t/215-layout-restore-crash: fix test description --- testcases/t/215-layout-restore-crash.t | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testcases/t/215-layout-restore-crash.t b/testcases/t/215-layout-restore-crash.t index 1d11fece..4430dac8 100644 --- a/testcases/t/215-layout-restore-crash.t +++ b/testcases/t/215-layout-restore-crash.t @@ -140,7 +140,7 @@ ok(!$reply->[0]->{success}, 'IPC reply did not indicate success'); close($fh); ################################################################################ -# file with a superfluous trailing comma +# wrong percent key in a child node ################################################################################ $ws = fresh_workspace; From 18e6184f1cbd6138f183cd60ec3157b49fe20824 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sat, 4 Jan 2014 21:59:41 +0100 Subject: [PATCH 042/190] run con_fix_percent unconditionally, not only on parsing errors --- src/load_layout.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/load_layout.c b/src/load_layout.c index c95bc99f..de56cbcb 100644 --- a/src/load_layout.c +++ b/src/load_layout.c @@ -444,13 +444,13 @@ void tree_append_json(const char *filename, char **errormsg) { if (errormsg != NULL) *errormsg = sstrdup((const char*)str); yajl_free_error(hand, str); - - /* In case not all containers were restored, we need to fix the - * percentages, otherwise i3 will crash immediately when rendering the - * next time. */ - con_fix_percent(focused); } + /* In case not all containers were restored, we need to fix the + * percentages, otherwise i3 will crash immediately when rendering the + * next time. */ + con_fix_percent(focused); + setlocale(LC_NUMERIC, ""); #if YAJL_MAJOR >= 2 yajl_complete_parse(hand); From f6ee035c613c92e29c21ad9427b38099aecccb63 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sat, 4 Jan 2014 22:24:47 +0100 Subject: [PATCH 043/190] fix killing placeholder windows The only consequence of the previous situation was that there was a misleading log message. --- src/manage.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/manage.c b/src/manage.c index 8874994d..54203718 100644 --- a/src/manage.c +++ b/src/manage.c @@ -327,7 +327,7 @@ void manage_window(xcb_window_t window, xcb_get_window_attributes_cookie_t cooki } DLOG("new container = %p\n", nc); - if (nc->window != NULL) { + if (nc->window != NULL && nc->window != cwindow) { if (!restore_kill_placeholder(nc->window->id)) { DLOG("Uh?! Container without a placeholder, but with a window, has swallowed this to-be-managed window?!\n"); } From 2fea5ef82bd3528ed62681f9ac64f45830f4acdf Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 5 Jan 2014 13:05:31 +0100 Subject: [PATCH 044/190] Revert "use designated initializers for yajl_callbacks struct" This reverts commit 705b43294add2fffede086c0c072dc5a849ffc49. This commit broke i3bar for some users. --- i3-msg/main.c | 16 +++++++++++----- i3bar/src/child.c | 20 ++++++++++---------- i3bar/src/config.c | 15 +++++++++++---- i3bar/src/mode.c | 13 +++++++++++-- i3bar/src/outputs.c | 18 +++++++++++------- i3bar/src/parse_json_header.c | 20 ++++++++++++++------ i3bar/src/workspaces.c | 16 +++++++++++----- src/display_version.c | 13 +++++++++++-- src/ipc.c | 6 +++--- src/key_press.c | 15 +++++++++++---- src/load_layout.c | 20 ++++++++++---------- 11 files changed, 114 insertions(+), 58 deletions(-) diff --git a/i3-msg/main.c b/i3-msg/main.c index c648f352..11a31972 100644 --- a/i3-msg/main.c +++ b/i3-msg/main.c @@ -119,11 +119,17 @@ static int reply_map_key_cb(void *params, const unsigned char *keyVal, unsigned } yajl_callbacks reply_callbacks = { - .yajl_boolean = reply_boolean_cb, - .yajl_string = reply_string_cb, - .yajl_start_map = reply_start_map_cb, - .yajl_map_key = reply_map_key_cb, - .yajl_end_map = reply_end_map_cb, + NULL, + &reply_boolean_cb, + NULL, + NULL, + NULL, + &reply_string_cb, + &reply_start_map_cb, + &reply_map_key_cb, + &reply_end_map_cb, + NULL, + NULL }; int main(int argc, char *argv[]) { diff --git a/i3bar/src/child.c b/i3bar/src/child.c index 1ec5981a..3621234c 100644 --- a/i3bar/src/child.c +++ b/i3bar/src/child.c @@ -35,6 +35,7 @@ ev_io *stdin_io; ev_child *child_sig; /* JSON parser for stdin */ +yajl_callbacks callbacks; yajl_handle parser; /* JSON generator for stdout */ @@ -457,16 +458,15 @@ void start_child(char *command) { return; /* Allocate a yajl parser which will be used to parse stdin. */ - yajl_callbacks callbacks = { - .yajl_boolean = stdin_boolean, - .yajl_integer = stdin_integer, - .yajl_string = stdin_string, - .yajl_start_map = stdin_start_map, - .yajl_map_key = stdin_map_key, - .yajl_end_map = stdin_end_map, - .yajl_start_array = stdin_start_array, - .yajl_end_array = stdin_end_array, - }; + memset(&callbacks, '\0', sizeof(yajl_callbacks)); + callbacks.yajl_map_key = stdin_map_key; + callbacks.yajl_boolean = stdin_boolean; + callbacks.yajl_string = stdin_string; + callbacks.yajl_integer = stdin_integer; + callbacks.yajl_start_array = stdin_start_array; + callbacks.yajl_end_array = stdin_end_array; + callbacks.yajl_start_map = stdin_start_map; + callbacks.yajl_end_map = stdin_end_map; #if YAJL_MAJOR < 2 yajl_parser_config parse_conf = { 0, 0 }; diff --git a/i3bar/src/config.c b/i3bar/src/config.c index 0e6ba3f1..dea47b9c 100644 --- a/i3bar/src/config.c +++ b/i3bar/src/config.c @@ -212,10 +212,17 @@ static int config_boolean_cb(void *params_, int val) { /* A datastructure to pass all these callbacks to yajl */ static yajl_callbacks outputs_callbacks = { - .yajl_null = config_null_cb, - .yajl_boolean = config_boolean_cb, - .yajl_string = config_string_cb, - .yajl_map_key = config_map_key_cb, + &config_null_cb, + &config_boolean_cb, + NULL, + NULL, + NULL, + &config_string_cb, + NULL, + &config_map_key_cb, + NULL, + NULL, + NULL }; /* diff --git a/i3bar/src/mode.c b/i3bar/src/mode.c index 861271af..7363971a 100644 --- a/i3bar/src/mode.c +++ b/i3bar/src/mode.c @@ -73,8 +73,17 @@ static int mode_map_key_cb(void *params_, const unsigned char *keyVal, unsigned /* A datastructure to pass all these callbacks to yajl */ yajl_callbacks mode_callbacks = { - .yajl_string = mode_string_cb, - .yajl_map_key = mode_map_key_cb, + NULL, + NULL, + NULL, + NULL, + NULL, + &mode_string_cb, + NULL, + &mode_map_key_cb, + NULL, + NULL, + NULL }; /* diff --git a/i3bar/src/outputs.c b/i3bar/src/outputs.c index 181effe5..db986702 100644 --- a/i3bar/src/outputs.c +++ b/i3bar/src/outputs.c @@ -249,13 +249,17 @@ static int outputs_map_key_cb(void *params_, const unsigned char *keyVal, unsign /* A datastructure to pass all these callbacks to yajl */ yajl_callbacks outputs_callbacks = { - .yajl_null = outputs_null_cb, - .yajl_boolean = outputs_boolean_cb, - .yajl_integer = outputs_integer_cb, - .yajl_string = outputs_string_cb, - .yajl_start_map = outputs_start_map_cb, - .yajl_map_key = outputs_map_key_cb, - .yajl_end_map = outputs_end_map_cb, + &outputs_null_cb, + &outputs_boolean_cb, + &outputs_integer_cb, + NULL, + NULL, + &outputs_string_cb, + &outputs_start_map_cb, + &outputs_map_key_cb, + &outputs_end_map_cb, + NULL, + NULL }; /* diff --git a/i3bar/src/parse_json_header.c b/i3bar/src/parse_json_header.c index 86afab3a..c09e0f49 100644 --- a/i3bar/src/parse_json_header.c +++ b/i3bar/src/parse_json_header.c @@ -93,6 +93,20 @@ static int header_map_key(void *ctx, const unsigned char *stringval, unsigned in return 1; } +static yajl_callbacks version_callbacks = { + NULL, /* null */ + &header_boolean, /* boolean */ + &header_integer, + NULL, /* double */ + NULL, /* number */ + NULL, /* string */ + NULL, /* start_map */ + &header_map_key, + NULL, /* end_map */ + NULL, /* start_array */ + NULL /* end_array */ +}; + static void child_init(i3bar_child *child) { child->version = 0; child->stop_signal = SIGSTOP; @@ -108,12 +122,6 @@ static void child_init(i3bar_child *child) { * */ void parse_json_header(i3bar_child *child, const unsigned char *buffer, int length, unsigned int *consumed) { - static yajl_callbacks version_callbacks = { - .yajl_boolean = header_boolean, - .yajl_integer = header_integer, - .yajl_map_key = &header_map_key, - }; - child_init(child); current_key = NO_KEY; diff --git a/i3bar/src/workspaces.c b/i3bar/src/workspaces.c index 70063fb7..5e01b98d 100644 --- a/i3bar/src/workspaces.c +++ b/i3bar/src/workspaces.c @@ -199,11 +199,17 @@ static int workspaces_map_key_cb(void *params_, const unsigned char *keyVal, uns /* A datastructure to pass all these callbacks to yajl */ yajl_callbacks workspaces_callbacks = { - .yajl_boolean = workspaces_boolean_cb, - .yajl_integer = workspaces_integer_cb, - .yajl_string = workspaces_string_cb, - .yajl_start_map = workspaces_start_map_cb, - .yajl_map_key = workspaces_map_key_cb, + NULL, + &workspaces_boolean_cb, + &workspaces_integer_cb, + NULL, + NULL, + &workspaces_string_cb, + &workspaces_start_map_cb, + &workspaces_map_key_cb, + NULL, + NULL, + NULL }; /* diff --git a/src/display_version.c b/src/display_version.c index da667ffa..73bc54d1 100644 --- a/src/display_version.c +++ b/src/display_version.c @@ -42,8 +42,17 @@ static int version_map_key(void *ctx, const unsigned char *stringval, unsigned i } static yajl_callbacks version_callbacks = { - .yajl_string = version_string, - .yajl_map_key = version_map_key, + NULL, /* null */ + NULL, /* boolean */ + NULL, /* integer */ + NULL, /* double */ + NULL, /* number */ + &version_string, + NULL, /* start_map */ + &version_map_key, + NULL, /* end_map */ + NULL, /* start_array */ + NULL /* end_array */ }; /* diff --git a/src/ipc.c b/src/ipc.c index cf64c48c..ab12dcb0 100644 --- a/src/ipc.c +++ b/src/ipc.c @@ -815,6 +815,7 @@ static int add_subscription(void *extra, const unsigned char *s, */ IPC_HANDLER(subscribe) { yajl_handle p; + yajl_callbacks callbacks; yajl_status stat; ipc_client *current, *client = NULL; @@ -833,9 +834,8 @@ IPC_HANDLER(subscribe) { } /* Setup the JSON parser */ - yajl_callbacks callbacks = { - .yajl_string = add_subscription, - }; + memset(&callbacks, 0, sizeof(yajl_callbacks)); + callbacks.yajl_string = add_subscription; p = yalloc(&callbacks, (void*)client); stat = yajl_parse(p, (const unsigned char*)message, message_size); diff --git a/src/key_press.c b/src/key_press.c index b8c8cd27..2f77a2a4 100644 --- a/src/key_press.c +++ b/src/key_press.c @@ -51,10 +51,17 @@ static int json_end_map(void *ctx) { } static yajl_callbacks command_error_callbacks = { - .yajl_boolean = json_boolean, - .yajl_start_map = json_start_map, - .yajl_map_key = json_map_key, - .yajl_end_map = json_end_map, + NULL, + &json_boolean, + NULL, + NULL, + NULL, + NULL, + &json_start_map, + &json_map_key, + &json_end_map, + NULL, + NULL }; /* diff --git a/src/load_layout.c b/src/load_layout.c index de56cbcb..7457d512 100644 --- a/src/load_layout.c +++ b/src/load_layout.c @@ -406,16 +406,16 @@ void tree_append_json(const char *filename, char **errormsg) { LOG("read %d bytes\n", n); yajl_gen g; yajl_handle hand; - yajl_callbacks callbacks = { - .yajl_boolean = json_bool, - .yajl_integer = json_int, - .yajl_double = json_double, - .yajl_string = json_string, - .yajl_start_map = json_start_map, - .yajl_map_key = json_key, - .yajl_end_map = json_end_map, - .yajl_end_array = json_end_array, - }; + yajl_callbacks callbacks; + memset(&callbacks, '\0', sizeof(yajl_callbacks)); + callbacks.yajl_start_map = json_start_map; + callbacks.yajl_end_map = json_end_map; + callbacks.yajl_end_array = json_end_array; + callbacks.yajl_string = json_string; + callbacks.yajl_map_key = json_key; + callbacks.yajl_integer = json_int; + callbacks.yajl_double = json_double; + callbacks.yajl_boolean = json_bool; #if YAJL_MAJOR >= 2 g = yajl_gen_alloc(NULL); hand = yajl_alloc(&callbacks, NULL, (void*)g); From bb482e2869dd13e4199815af9ea833ca7dbae7d5 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 5 Jan 2014 20:10:24 +0100 Subject: [PATCH 045/190] i3-save-tree: only create "swallows" key for leaf nodes (Thanks xeen) fixes #1149 --- i3-save-tree | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/i3-save-tree b/i3-save-tree index 6ac3e1b1..53d67e99 100755 --- a/i3-save-tree +++ b/i3-save-tree @@ -1,7 +1,7 @@ #!/usr/bin/env perl # vim:ts=4:sw=4:expandtab # -# © 2013 Michael Stapelberg +# © 2013-2014 Michael Stapelberg # # Requires perl ≥ v5.10, AnyEvent::I3 and JSON::XS @@ -149,12 +149,15 @@ sub dump_containers { say "$ws// $desc with " . @{$tree->{nodes}} . " children"; } - # Turn “window_properties” into “swallows” expressions. - my $swallows = {}; - for my $property (keys %{$tree->{window_properties}}) { - $swallows->{$property} = '^' . quotemeta($tree->{window_properties}->{$property}) . '$'; + # Turn “window_properties” into “swallows” expressions, but only for leaf + # nodes. It only makes sense for leaf nodes to swallow anything. + if (leaf_node($tree)) { + my $swallows = {}; + for my $property (keys %{$tree->{window_properties}}) { + $swallows->{$property} = '^' . quotemeta($tree->{window_properties}->{$property}) . '$'; + } + $tree->{swallows} = [ $swallows ]; } - $tree->{swallows} = [ $swallows ]; delete $tree->{window_properties}; my @keys = sort keys %$tree; From 93cfdcd4888eb95e0f86a4e50aaec9e2daf9af9c Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 5 Jan 2014 20:25:47 +0100 Subject: [PATCH 046/190] sanity check: drop swallows for split containers (Thanks xeen) fixes #1149 --- src/load_layout.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/load_layout.c b/src/load_layout.c index 7457d512..3aa96322 100644 --- a/src/load_layout.c +++ b/src/load_layout.c @@ -73,6 +73,17 @@ static int json_end_map(void *ctx) { json_node->layout = L_SPLITH; } + /* Sanity check: swallow criteria don’t make any sense on a split + * container. */ + if (con_is_split(json_node) > 0 && !TAILQ_EMPTY(&(json_node->swallow_head))) { + DLOG("sanity check: removing swallows specification from split container\n"); + while (!TAILQ_EMPTY(&(json_node->swallow_head))) { + Match *match = TAILQ_FIRST(&(json_node->swallow_head)); + TAILQ_REMOVE(&(json_node->swallow_head), match, matches); + match_free(match); + } + } + LOG("attaching\n"); con_attach(json_node, json_node->parent, true); LOG("Creating window\n"); From 0fd9a961186556a49e081dd6f03ccf7cee1acbc4 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 5 Jan 2014 20:30:03 +0100 Subject: [PATCH 047/190] ipc: dump new "swallows" properties --- src/ipc.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/ipc.c b/src/ipc.c index ab12dcb0..b907e4ec 100644 --- a/src/ipc.c +++ b/src/ipc.c @@ -379,16 +379,28 @@ void dump_node(yajl_gen gen, struct Con *con, bool inplace_restart) { y(array_open); Match *match; TAILQ_FOREACH(match, &(con->swallow_head), matches) { + y(map_open); if (match->dock != -1) { - y(map_open); ystr("dock"); y(integer, match->dock); ystr("insert_where"); y(integer, match->insert_where); - y(map_close); } - /* TODO: the other swallow keys */ +#define DUMP_REGEX(re_name) do { \ + if (match->re_name != NULL) { \ + ystr(# re_name); \ + ystr(match->re_name->pattern); \ + } \ +} while (0) + + DUMP_REGEX(class); + DUMP_REGEX(instance); + DUMP_REGEX(window_role); + DUMP_REGEX(title); + +#undef DUMP_REGEX + y(map_close); } if (inplace_restart) { From 81fd4ec71c4d36aec0c345150debb97e4cb09014 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 5 Jan 2014 20:37:42 +0100 Subject: [PATCH 048/190] add testcase for #1149 --- .../t/216-layout-restore-split-swallows.t | 160 ++++++++++++++++++ 1 file changed, 160 insertions(+) create mode 100644 testcases/t/216-layout-restore-split-swallows.t diff --git a/testcases/t/216-layout-restore-split-swallows.t b/testcases/t/216-layout-restore-split-swallows.t new file mode 100644 index 00000000..2e2028a2 --- /dev/null +++ b/testcases/t/216-layout-restore-split-swallows.t @@ -0,0 +1,160 @@ +#!perl +# vim:ts=4:sw=4:expandtab +# +# Please read the following documents before working on tests: +# • http://build.i3wm.org/docs/testsuite.html +# (or docs/testsuite) +# +# • http://build.i3wm.org/docs/lib-i3test.html +# (alternatively: perldoc ./testcases/lib/i3test.pm) +# +# • http://build.i3wm.org/docs/ipc.html +# (or docs/ipc) +# +# • http://onyxneon.com/books/modern_perl/modern_perl_a4.pdf +# (unless you are already familiar with Perl) +# +# Verifies that i3 removes swallows specifications for split containers. +# ticket #1149, bug still present in commit 2fea5ef82bd3528ed62681f9ac64f45830f4acdf +use i3test; +use File::Temp qw(tempfile); +use IO::Handle; + +my $ws = fresh_workspace; + +my @content = @{get_ws_content($ws)}; +is(@content, 0, 'no nodes on the new workspace yet'); + +my ($fh, $filename) = tempfile(UNLINK => 1); +print $fh <<'EOT'; +// vim:ts=4:sw=4:et +{ + "border": "pixel", + "floating": "auto_off", + "geometry": { + "height": 777, + "width": 199, + "x": 0, + "y": 0 + }, + "name": "Buddy List", + "percent": 0.116145833333333, + "swallows": [ + { + "class": "^Pidgin$", + "window_role": "^buddy_list$" + } + ], + "type": "con" +} + +{ + // splitv split container with 1 children + "border": "pixel", + "floating": "auto_off", + "layout": "splitv", + "percent": 0.883854166666667, + "swallows": [ + {} + ], + "type": "con", + "nodes": [ + { + // splitv split container with 2 children + "border": "pixel", + "floating": "auto_off", + "layout": "splitv", + "percent": 1, + "swallows": [ + {} + ], + "type": "con", + "nodes": [ + { + "border": "pixel", + "floating": "auto_off", + "geometry": { + "height": 318, + "width": 566, + "x": 0, + "y": 0 + }, + "name": "zsh", + "percent": 0.5, + "swallows": [ + { + "class": "^URxvt$", + "instance": "^IRC$" + } + ], + "type": "con" + }, + { + "border": "pixel", + "floating": "auto_off", + "geometry": { + "height": 1057, + "width": 636, + "x": 0, + "y": 0 + }, + "name": "Michael Stapelberg", + "percent": 0.5, + "swallows": [ + { + "class": "^Pidgin$", + "window_role": "^conversation$" + } + ], + "type": "con" + } + ] + } + ] +} + +EOT +$fh->flush; +my $reply = cmd "append_layout $filename"; + +does_i3_live; + +ok($reply->[0]->{success}, 'IPC reply indicates success'); + +my @nodes = @{get_ws_content($ws)}; + +is_deeply($nodes[0]->{swallows}, + [ + { + class => '^Pidgin$', + window_role => '^buddy_list$', + }, + ], + 'swallows specification not parsed correctly'); + +is_deeply($nodes[1]->{swallows}, + [], + 'swallows specification empty on split container'); + +my @children = @{$nodes[1]->{nodes}->[0]->{nodes}}; + +is_deeply($children[0]->{swallows}, + [ + { + class => '^URxvt$', + instance => '^IRC$', + }, + ], + 'swallows specification not parsed correctly'); + +is_deeply($children[1]->{swallows}, + [ + { + class => '^Pidgin$', + window_role => '^conversation$', + }, + ], + 'swallows specification not parsed correctly'); + +close($fh); +done_testing; From de3901bb291b6c9ed2691bcc81febbfbeffa2957 Mon Sep 17 00:00:00 2001 From: Alexander Kedrik Date: Wed, 1 Jan 2014 20:19:55 +0400 Subject: [PATCH 049/190] use designated initializers for yajl_callbacks struct --- i3-msg/main.c | 18 ++++++------------ i3bar/src/child.c | 20 ++++++++++---------- i3bar/src/config.c | 15 ++++----------- i3bar/src/mode.c | 15 +++------------ i3bar/src/outputs.c | 20 ++++++++------------ i3bar/src/parse_json_header.c | 20 ++++++-------------- i3bar/src/workspaces.c | 18 ++++++------------ src/display_version.c | 13 ++----------- src/ipc.c | 6 +++--- src/key_press.c | 15 ++++----------- src/load_layout.c | 20 ++++++++++---------- 11 files changed, 62 insertions(+), 118 deletions(-) diff --git a/i3-msg/main.c b/i3-msg/main.c index 11a31972..513f2892 100644 --- a/i3-msg/main.c +++ b/i3-msg/main.c @@ -118,18 +118,12 @@ static int reply_map_key_cb(void *params, const unsigned char *keyVal, unsigned return 1; } -yajl_callbacks reply_callbacks = { - NULL, - &reply_boolean_cb, - NULL, - NULL, - NULL, - &reply_string_cb, - &reply_start_map_cb, - &reply_map_key_cb, - &reply_end_map_cb, - NULL, - NULL +static yajl_callbacks reply_callbacks = { + .yajl_boolean = reply_boolean_cb, + .yajl_string = reply_string_cb, + .yajl_start_map = reply_start_map_cb, + .yajl_map_key = reply_map_key_cb, + .yajl_end_map = reply_end_map_cb, }; int main(int argc, char *argv[]) { diff --git a/i3bar/src/child.c b/i3bar/src/child.c index 3621234c..6c1c17f2 100644 --- a/i3bar/src/child.c +++ b/i3bar/src/child.c @@ -35,7 +35,6 @@ ev_io *stdin_io; ev_child *child_sig; /* JSON parser for stdin */ -yajl_callbacks callbacks; yajl_handle parser; /* JSON generator for stdout */ @@ -458,15 +457,16 @@ void start_child(char *command) { return; /* Allocate a yajl parser which will be used to parse stdin. */ - memset(&callbacks, '\0', sizeof(yajl_callbacks)); - callbacks.yajl_map_key = stdin_map_key; - callbacks.yajl_boolean = stdin_boolean; - callbacks.yajl_string = stdin_string; - callbacks.yajl_integer = stdin_integer; - callbacks.yajl_start_array = stdin_start_array; - callbacks.yajl_end_array = stdin_end_array; - callbacks.yajl_start_map = stdin_start_map; - callbacks.yajl_end_map = stdin_end_map; + static yajl_callbacks callbacks = { + .yajl_boolean = stdin_boolean, + .yajl_integer = stdin_integer, + .yajl_string = stdin_string, + .yajl_start_map = stdin_start_map, + .yajl_map_key = stdin_map_key, + .yajl_end_map = stdin_end_map, + .yajl_start_array = stdin_start_array, + .yajl_end_array = stdin_end_array, + }; #if YAJL_MAJOR < 2 yajl_parser_config parse_conf = { 0, 0 }; diff --git a/i3bar/src/config.c b/i3bar/src/config.c index dea47b9c..0e6ba3f1 100644 --- a/i3bar/src/config.c +++ b/i3bar/src/config.c @@ -212,17 +212,10 @@ static int config_boolean_cb(void *params_, int val) { /* A datastructure to pass all these callbacks to yajl */ static yajl_callbacks outputs_callbacks = { - &config_null_cb, - &config_boolean_cb, - NULL, - NULL, - NULL, - &config_string_cb, - NULL, - &config_map_key_cb, - NULL, - NULL, - NULL + .yajl_null = config_null_cb, + .yajl_boolean = config_boolean_cb, + .yajl_string = config_string_cb, + .yajl_map_key = config_map_key_cb, }; /* diff --git a/i3bar/src/mode.c b/i3bar/src/mode.c index 7363971a..a34f2060 100644 --- a/i3bar/src/mode.c +++ b/i3bar/src/mode.c @@ -72,18 +72,9 @@ static int mode_map_key_cb(void *params_, const unsigned char *keyVal, unsigned } /* A datastructure to pass all these callbacks to yajl */ -yajl_callbacks mode_callbacks = { - NULL, - NULL, - NULL, - NULL, - NULL, - &mode_string_cb, - NULL, - &mode_map_key_cb, - NULL, - NULL, - NULL +static yajl_callbacks mode_callbacks = { + .yajl_string = mode_string_cb, + .yajl_map_key = mode_map_key_cb, }; /* diff --git a/i3bar/src/outputs.c b/i3bar/src/outputs.c index db986702..b407df59 100644 --- a/i3bar/src/outputs.c +++ b/i3bar/src/outputs.c @@ -248,18 +248,14 @@ static int outputs_map_key_cb(void *params_, const unsigned char *keyVal, unsign } /* A datastructure to pass all these callbacks to yajl */ -yajl_callbacks outputs_callbacks = { - &outputs_null_cb, - &outputs_boolean_cb, - &outputs_integer_cb, - NULL, - NULL, - &outputs_string_cb, - &outputs_start_map_cb, - &outputs_map_key_cb, - &outputs_end_map_cb, - NULL, - NULL +static yajl_callbacks outputs_callbacks = { + .yajl_null = outputs_null_cb, + .yajl_boolean = outputs_boolean_cb, + .yajl_integer = outputs_integer_cb, + .yajl_string = outputs_string_cb, + .yajl_start_map = outputs_start_map_cb, + .yajl_map_key = outputs_map_key_cb, + .yajl_end_map = outputs_end_map_cb, }; /* diff --git a/i3bar/src/parse_json_header.c b/i3bar/src/parse_json_header.c index c09e0f49..86afab3a 100644 --- a/i3bar/src/parse_json_header.c +++ b/i3bar/src/parse_json_header.c @@ -93,20 +93,6 @@ static int header_map_key(void *ctx, const unsigned char *stringval, unsigned in return 1; } -static yajl_callbacks version_callbacks = { - NULL, /* null */ - &header_boolean, /* boolean */ - &header_integer, - NULL, /* double */ - NULL, /* number */ - NULL, /* string */ - NULL, /* start_map */ - &header_map_key, - NULL, /* end_map */ - NULL, /* start_array */ - NULL /* end_array */ -}; - static void child_init(i3bar_child *child) { child->version = 0; child->stop_signal = SIGSTOP; @@ -122,6 +108,12 @@ static void child_init(i3bar_child *child) { * */ void parse_json_header(i3bar_child *child, const unsigned char *buffer, int length, unsigned int *consumed) { + static yajl_callbacks version_callbacks = { + .yajl_boolean = header_boolean, + .yajl_integer = header_integer, + .yajl_map_key = &header_map_key, + }; + child_init(child); current_key = NO_KEY; diff --git a/i3bar/src/workspaces.c b/i3bar/src/workspaces.c index 5e01b98d..e07a4303 100644 --- a/i3bar/src/workspaces.c +++ b/i3bar/src/workspaces.c @@ -198,18 +198,12 @@ static int workspaces_map_key_cb(void *params_, const unsigned char *keyVal, uns } /* A datastructure to pass all these callbacks to yajl */ -yajl_callbacks workspaces_callbacks = { - NULL, - &workspaces_boolean_cb, - &workspaces_integer_cb, - NULL, - NULL, - &workspaces_string_cb, - &workspaces_start_map_cb, - &workspaces_map_key_cb, - NULL, - NULL, - NULL +static yajl_callbacks workspaces_callbacks = { + .yajl_boolean = workspaces_boolean_cb, + .yajl_integer = workspaces_integer_cb, + .yajl_string = workspaces_string_cb, + .yajl_start_map = workspaces_start_map_cb, + .yajl_map_key = workspaces_map_key_cb, }; /* diff --git a/src/display_version.c b/src/display_version.c index 73bc54d1..da667ffa 100644 --- a/src/display_version.c +++ b/src/display_version.c @@ -42,17 +42,8 @@ static int version_map_key(void *ctx, const unsigned char *stringval, unsigned i } static yajl_callbacks version_callbacks = { - NULL, /* null */ - NULL, /* boolean */ - NULL, /* integer */ - NULL, /* double */ - NULL, /* number */ - &version_string, - NULL, /* start_map */ - &version_map_key, - NULL, /* end_map */ - NULL, /* start_array */ - NULL /* end_array */ + .yajl_string = version_string, + .yajl_map_key = version_map_key, }; /* diff --git a/src/ipc.c b/src/ipc.c index b907e4ec..355c14a2 100644 --- a/src/ipc.c +++ b/src/ipc.c @@ -827,7 +827,6 @@ static int add_subscription(void *extra, const unsigned char *s, */ IPC_HANDLER(subscribe) { yajl_handle p; - yajl_callbacks callbacks; yajl_status stat; ipc_client *current, *client = NULL; @@ -846,8 +845,9 @@ IPC_HANDLER(subscribe) { } /* Setup the JSON parser */ - memset(&callbacks, 0, sizeof(yajl_callbacks)); - callbacks.yajl_string = add_subscription; + static yajl_callbacks callbacks = { + .yajl_string = add_subscription, + }; p = yalloc(&callbacks, (void*)client); stat = yajl_parse(p, (const unsigned char*)message, message_size); diff --git a/src/key_press.c b/src/key_press.c index 2f77a2a4..b8c8cd27 100644 --- a/src/key_press.c +++ b/src/key_press.c @@ -51,17 +51,10 @@ static int json_end_map(void *ctx) { } static yajl_callbacks command_error_callbacks = { - NULL, - &json_boolean, - NULL, - NULL, - NULL, - NULL, - &json_start_map, - &json_map_key, - &json_end_map, - NULL, - NULL + .yajl_boolean = json_boolean, + .yajl_start_map = json_start_map, + .yajl_map_key = json_map_key, + .yajl_end_map = json_end_map, }; /* diff --git a/src/load_layout.c b/src/load_layout.c index 3aa96322..627c1f6e 100644 --- a/src/load_layout.c +++ b/src/load_layout.c @@ -417,16 +417,16 @@ void tree_append_json(const char *filename, char **errormsg) { LOG("read %d bytes\n", n); yajl_gen g; yajl_handle hand; - yajl_callbacks callbacks; - memset(&callbacks, '\0', sizeof(yajl_callbacks)); - callbacks.yajl_start_map = json_start_map; - callbacks.yajl_end_map = json_end_map; - callbacks.yajl_end_array = json_end_array; - callbacks.yajl_string = json_string; - callbacks.yajl_map_key = json_key; - callbacks.yajl_integer = json_int; - callbacks.yajl_double = json_double; - callbacks.yajl_boolean = json_bool; + static yajl_callbacks callbacks = { + .yajl_boolean = json_bool, + .yajl_integer = json_int, + .yajl_double = json_double, + .yajl_string = json_string, + .yajl_start_map = json_start_map, + .yajl_map_key = json_key, + .yajl_end_map = json_end_map, + .yajl_end_array = json_end_array, + }; #if YAJL_MAJOR >= 2 g = yajl_gen_alloc(NULL); hand = yajl_alloc(&callbacks, NULL, (void*)g); From aa11c03d4cd651c6d9e45903f3bc214854467424 Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Tue, 26 Nov 2013 05:46:10 -0500 Subject: [PATCH 050/190] Movement into a branch considers movement direction Change the behavior of movement into a branch with respect to the position the moving con will be placed within the branch when the movement is complete. The correct position is determined by the direction of movement or the position of the focused-inactive container within the branch. If the direction of movement is the same as the orientation of the branch container, append or prepend the container to the branch in the obvious way. If the movement is to the right or downward, insert the moving container in the first position (i.e., the leftmost or top position resp.) If the movement is to the left or upward, insert the moving container in the last position (i.e., the rightmost or bottom position resp.) If the direction of movement is different from the orientation of the branch container, insert the container into the branch after the focused-inactive container. fixes #1060 --- src/move.c | 42 ++- testcases/t/213-move-branch-position.t | 376 +++++++++++++++++++++++++ 2 files changed, 403 insertions(+), 15 deletions(-) create mode 100644 testcases/t/213-move-branch-position.t diff --git a/src/move.c b/src/move.c index 0b3ab660..284c4f38 100644 --- a/src/move.c +++ b/src/move.c @@ -125,7 +125,11 @@ static void move_to_output_directed(Con *con, direction_t direction) { * */ void tree_move(int direction) { + position_t position; + Con *target; + DLOG("Moving in direction %d\n", direction); + /* 1: get the first parent with the same orientation */ Con *con = focused; @@ -173,7 +177,13 @@ void tree_move(int direction) { TAILQ_PREV(con, nodes_head, nodes) : TAILQ_NEXT(con, nodes)))) { if (!con_is_leaf(swap)) { - insert_con_into(con, con_descend_focused(swap), AFTER); + DLOG("Moving into our bordering branch\n"); + target = con_descend_direction(swap, direction); + position = (con_orientation(target->parent) != o || + direction == D_UP || + direction == D_LEFT ? + AFTER : BEFORE); + insert_con_into(con, target, position); goto end; } if (direction == D_LEFT || direction == D_UP) @@ -214,22 +224,24 @@ void tree_move(int direction) { } DLOG("above = %p\n", above); - Con *next; - position_t position; - if (direction == D_UP || direction == D_LEFT) { - position = BEFORE; - next = TAILQ_PREV(above, nodes_head, nodes); - } else { - position = AFTER; - next = TAILQ_NEXT(above, nodes); - } - /* special case: there is a split container in the direction we are moving - * to, so descend and append */ - if (next && !con_is_leaf(next)) - insert_con_into(con, con_descend_focused(next), AFTER); - else + Con *next = (direction == D_UP || direction == D_LEFT ? + TAILQ_PREV(above, nodes_head, nodes) : + TAILQ_NEXT(above, nodes)); + + if (next && !con_is_leaf(next)) { + DLOG("Moving into the bordering branch of our adjacent container\n"); + target = con_descend_direction(next, direction); + position = (con_orientation(target->parent) != o || + direction == D_UP || + direction == D_LEFT ? + AFTER : BEFORE); + insert_con_into(con, target, position); + } else { + DLOG("Moving into container above\n"); + position = (direction == D_UP || direction == D_LEFT ? BEFORE : AFTER); insert_con_into(con, above, position); + } end: /* We need to call con_focus() to fix the focus stack "above" the container diff --git a/testcases/t/213-move-branch-position.t b/testcases/t/213-move-branch-position.t new file mode 100644 index 00000000..c2928c9e --- /dev/null +++ b/testcases/t/213-move-branch-position.t @@ -0,0 +1,376 @@ +#!perl +# vim:ts=4:sw=4:expandtab +# +# Please read the following documents before working on tests: +# • http://build.i3wm.org/docs/testsuite.html +# (or docs/testsuite) +# +# • http://build.i3wm.org/docs/lib-i3test.html +# (alternatively: perldoc ./testcases/lib/i3test.pm) +# +# • http://build.i3wm.org/docs/ipc.html +# (or docs/ipc) +# +# • http://onyxneon.com/books/modern_perl/modern_perl_a4.pdf +# (unless you are already familiar with Perl) +# +# Test that movement of a con into a branch will place the moving con at the +# correct position within the branch. +# +# If the direction of movement is the same as the orientation of the branch +# container, append or prepend the container to the branch in the obvious way. +# If the movement is to the right or downward, insert the moving container in +# the first position (i.e., the leftmost or top position resp.) If the movement +# is to the left or upward, insert the moving container in the last position +# (i.e., the rightmost or bottom position resp.) +# +# If the direction of movement is different from the orientation of the branch +# container, insert the container into the branch after the focused-inactive +# container. +# +# For testing purposes, we will demonstrate the behavior for tabbed containers +# to represent the case of split-horizontal branches and stacked containers to +# represent the case of split-vertical branches. +# +# Ticket: #1060 +# Bug still in: 4.6-109-g18cfc36 + +use i3test; + +# Opens tabs on the presently focused branch and adds several additional +# windows. Shifts focus to somewhere in the middle of the tabs so the most +# general case can be assumed. +sub open_tabs { + cmd 'layout tabbed'; + open_window; + open_window; + open_window; + open_window; + cmd 'focus left; focus left' +} + +# Likewise for a stack +sub open_stack { + cmd 'layout stacking'; + open_window; + open_window; + open_window; + open_window; + cmd 'focus up; focus up' +} + +# Gets the position of the given leaf within the given branch. The first +# position is one (1). Returns negative one (-1) if the leaf cannot be found +# within the branch. +sub get_leaf_position { + my ($branch, $leaf) = @_; + my $position = -1; + for my $i (0 .. @{$branch->{nodes}}) { + if ($branch->{nodes}[$i]->{id} == $leaf) { + $position = $i + 1; + last; + }; + } + return $position; +} + +# convenience function to focus a con by id to avoid having to type an ugly +# command each time +sub focus_con { + my $con_id = shift @_; + cmd "[con_id=\"$con_id\"] focus"; +} + +# Places a leaf into a branch and focuses the leaf. The newly created branch +# will have orientation specified by the second parameter. +sub branchify { + my ($con_id, $orientation) = @_; + focus_con($con_id); + $orientation eq 'horizontal' ? cmd 'splith' : cmd 'splitv'; + open_window; + focus_con($con_id); +} + +############################################################################## +# When moving a con right into tabs, the moving con should be placed as the +# first tab in the branch +############################################################################## +my $ws = fresh_workspace; + +# create the target leaf +open_window; +my $target_leaf = get_focused($ws); + +# create the tabbed branch container +open_window; +cmd 'splith'; +open_tabs; + +# move the target leaf into the tabbed branch +focus_con($target_leaf); +cmd 'move right'; + +# the target leaf should be the first in the branch +my $branch = shift @{get_ws_content($ws)}; +is($branch->{nodes}[0]->{id}, $target_leaf, 'moving con right into tabs placed it as the first tab in the branch'); + +# repeat the test when the target is in a branch +cmd 'move up; move left'; +branchify($target_leaf, 'vertical'); +cmd 'move right'; + +$branch = pop @{get_ws_content($ws)}; +is($branch->{nodes}[0]->{id}, $target_leaf, 'moving con right into tabs from a branch placed it as the first tab in the branch'); + +############################################################################## +# When moving a con right into a stack, the moving con should be placed +# below the focused-inactive leaf +############################################################################## +$ws = fresh_workspace; + +# create the target leaf +open_window; +$target_leaf = get_focused($ws); + +# create the stacked branch container and find the focused leaf +open_window; +cmd 'splith'; +open_stack; +my $secondary_leaf = get_focused($ws); + +# move the target leaf into the stacked branch +focus_con($target_leaf); +cmd 'move right'; + +# the secondary focus leaf should be below the target +$branch = shift @{get_ws_content($ws)}; +my $target_leaf_position = get_leaf_position($branch, $target_leaf); +my $secondary_leaf_position = get_leaf_position($branch, $secondary_leaf); + +is($target_leaf_position, $secondary_leaf_position + 1, 'moving con right into a stack placed it below the focused-inactive leaf'); + +# repeat the test when the target is in a branch +cmd 'move up; move left'; +branchify($target_leaf, 'vertical'); +cmd 'move right'; + +$branch = pop @{get_ws_content($ws)}; +$target_leaf_position = get_leaf_position($branch, $target_leaf); +$secondary_leaf_position = get_leaf_position($branch, $secondary_leaf); + +is($target_leaf_position, $secondary_leaf_position + 1, 'moving con right into a stack from a branch placed it below the focused-inactive leaf'); + +############################################################################## +# When moving a con down into a stack, the moving con should be placed at the +# top of the stack +############################################################################## +$ws = fresh_workspace; +cmd 'layout splitv'; + +# create the target leaf +open_window; +$target_leaf = get_focused($ws); + +# create the stacked branch container +open_window; +cmd 'splitv'; +open_stack; + +# move the target leaf into the stacked branch +focus_con($target_leaf); +cmd 'move down'; + +# the target leaf should be on the top of the stack +$branch = shift @{get_ws_content($ws)}; +is($branch->{nodes}[0]->{id}, $target_leaf, 'moving con down into a stack placed it on the top of the stack'); + +# repeat the test when the target is in a branch +cmd 'move right; move up'; +branchify($target_leaf, 'horizontal'); +cmd 'move down'; + +$branch = pop @{get_ws_content($ws)}; +is($branch->{nodes}[0]->{id}, $target_leaf, 'moving con down into a stack from a branch placed it on the top of the stack'); + +############################################################################## +# When moving a con down into tabs, the moving con should be placed after the +# focused-inactive tab +############################################################################## +$ws = fresh_workspace; +cmd 'layout splitv'; + +# create the target leaf +open_window; +$target_leaf = get_focused($ws); + +# create the tabbed branch container and find the focused tab +open_window; +cmd 'splitv'; +open_tabs; +$secondary_leaf = get_focused($ws); + +# move the target leaf into the tabbed branch +focus_con($target_leaf); +cmd 'move down'; + +# the secondary focus tab should be to the right +$branch = shift @{get_ws_content($ws)}; +$target_leaf_position = get_leaf_position($branch, $target_leaf); +$secondary_leaf_position = get_leaf_position($branch, $secondary_leaf); + +is($target_leaf_position, $secondary_leaf_position + 1, 'moving con down into tabs placed it after the focused-inactive tab'); + +# repeat the test when the target is in a branch +cmd 'move right; move up'; +branchify($target_leaf, 'horizontal'); +cmd 'move down'; + +$branch = pop @{get_ws_content($ws)}; +$target_leaf_position = get_leaf_position($branch, $target_leaf); +$secondary_leaf_position = get_leaf_position($branch, $secondary_leaf); + +is($target_leaf_position, $secondary_leaf_position + 1, 'moving con down into tabs from a branch placed it after the focused-inactive tab'); + +############################################################################## +# When moving a con left into tabs, the moving con should be placed as the last +# tab in the branch +############################################################################## +$ws = fresh_workspace; + +# create the tabbed branch container +open_window; +cmd 'splith'; +open_tabs; + +# create the target leaf +cmd 'focus parent'; +open_window; +$target_leaf = get_focused($ws); + +# move the target leaf into the tabbed branch +cmd 'move left'; + +# the target leaf should be last in the branch +$branch = shift @{get_ws_content($ws)}; + +is($branch->{nodes}->[-1]->{id}, $target_leaf, 'moving con left into tabs placed it as the last tab in the branch'); + +# repeat the test when the target leaf is in a branch +cmd 'move up; move right'; +branchify($target_leaf, 'vertical'); +cmd 'move left'; + +$branch = shift @{get_ws_content($ws)}; +is($branch->{nodes}->[-1]->{id}, $target_leaf, 'moving con left into tabs from a branch placed it as the last tab in the branch'); + +############################################################################## +# When moving a con left into a stack, the moving con should be placed below +# the focused-inactive leaf +############################################################################## +$ws = fresh_workspace; + +# create the stacked branch container and find the focused leaf +open_window; +open_stack; +$secondary_leaf = get_focused($ws); + +# create the target leaf to the right +cmd 'focus parent'; +open_window; +$target_leaf = get_focused($ws); + +# move the target leaf into the stacked branch +cmd 'move left'; + +# the secondary focus leaf should be below +$branch = shift @{get_ws_content($ws)}; +$target_leaf_position = get_leaf_position($branch, $target_leaf); +$secondary_leaf_position = get_leaf_position($branch, $secondary_leaf); + +is($target_leaf_position, $secondary_leaf_position + 1, 'moving con left into a stack placed it below the focused-inactive leaf'); + +# repeat the test when the target leaf is in a branch +cmd 'move up; move right'; +branchify($target_leaf, 'vertical'); +cmd 'move left'; + +$branch = shift @{get_ws_content($ws)}; +$target_leaf_position = get_leaf_position($branch, $target_leaf); +$secondary_leaf_position = get_leaf_position($branch, $secondary_leaf); + +is($target_leaf_position, $secondary_leaf_position + 1, 'moving con left into a stack from a branch placed it below the focused-inactive leaf'); + +############################################################################## +# When moving a con up into a stack, the moving con should be placed last in +# the stack +############################################################################## +$ws = fresh_workspace; +cmd 'layout splitv'; + +# create the stacked branch container +open_window; +cmd 'splitv'; +open_stack; + +# create the target leaf +cmd 'focus parent'; +open_window; +$target_leaf = get_focused($ws); + +# move the target leaf into the stacked branch +cmd 'move up'; + +# the target leaf should be on the bottom of the stack +$branch = shift @{get_ws_content($ws)}; + +is($branch->{nodes}->[-1]->{id}, $target_leaf, 'moving con up into stack placed it on the bottom of the stack'); + +# repeat the test when the target leaf is in a branch +cmd 'move right; move down'; +branchify($target_leaf, 'horizontal'); +cmd 'move up'; + +$branch = shift @{get_ws_content($ws)}; + +is($branch->{nodes}->[-1]->{id}, $target_leaf, 'moving con up into stack from a branch placed it on the bottom of the stack'); + +############################################################################## +# When moving a con up into tabs, the moving con should be placed after the +# focused-inactive tab +############################################################################## +$ws = fresh_workspace; +cmd 'layout splitv'; + +# create the tabbed branch container and find the focused leaf +open_window; +cmd 'splitv'; +open_tabs; +$secondary_leaf = get_focused($ws); + +# create the target leaf below +cmd 'focus parent'; +open_window; +$target_leaf = get_focused($ws); + +# move the target leaf into the tabbed branch +cmd 'move up'; + +# the secondary focus tab should be to the right +$branch = shift @{get_ws_content($ws)}; +$target_leaf_position = get_leaf_position($branch, $target_leaf); +$secondary_leaf_position = get_leaf_position($branch, $secondary_leaf); + +is($target_leaf_position, $secondary_leaf_position + 1, 'moving con up into tabs placed it after the focused-inactive tab'); + +# repeat the test when the target leaf is in a branch +cmd 'move right; move down'; +branchify($target_leaf, 'horizontal'); +cmd 'move up'; + +$branch = shift @{get_ws_content($ws)}; +$target_leaf_position = get_leaf_position($branch, $target_leaf); +$secondary_leaf_position = get_leaf_position($branch, $secondary_leaf); + +is($target_leaf_position, $secondary_leaf_position + 1, 'moving con up into tabs from a branch placed it after the focused-inactive tab'); + +done_testing; From 7bddf9add50dc40a5d13e6af8dfa981992da8001 Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Wed, 8 Jan 2014 02:51:27 -0500 Subject: [PATCH 051/190] i3bar: Amend status line error 127 message Exit 127 can be returned by the shell when the command is not found or when the `status_command` process returns 127 because of a missing C library dependency. --- i3bar/src/child.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i3bar/src/child.c b/i3bar/src/child.c index 6c1c17f2..79971a3a 100644 --- a/i3bar/src/child.c +++ b/i3bar/src/child.c @@ -420,7 +420,7 @@ void child_sig_cb(struct ev_loop *loop, ev_child *watcher, int revents) { if (exit_status == 126) set_statusline_error("status_command is not executable (exit %d)", exit_status); else if (exit_status == 127) - set_statusline_error("status_command not found (exit %d)", exit_status); + set_statusline_error("status_command not found or is missing a library dependency (exit %d)", exit_status); else set_statusline_error("status_command process exited unexpectedly (exit %d)", exit_status); From 54012719842cdd99286b702dbe72121709a503b8 Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Thu, 9 Jan 2014 11:59:21 -0500 Subject: [PATCH 052/190] Add `input_type` enum to `Binding` typedef An input type of B_KEYBOARD will indicated this binding was created with "bindsym", "bindcode", or "bind" and should only run on key press events. An input type of B_MOUSE will indicate this binding was created with "bindmouse" and should only run on button press events (not yet implemented). For more information see #558. --- include/data.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/include/data.h b/include/data.h index 8a44fb1d..6fc7b40a 100644 --- a/include/data.h +++ b/include/data.h @@ -213,6 +213,15 @@ struct regex { * */ struct Binding { + /* The type of input this binding is for. (Mouse bindings are not yet + * implemented. All bindings are currently assumed to be keyboard bindings.) */ + enum { + /* Created with "bindsym", "bindcode", and "bind" */ + B_KEYBOARD = 0, + /* Created with "bindmouse" (not yet implemented). */ + B_MOUSE = 1, + } input_type; + /** If true, the binding should be executed upon a KeyRelease event, not a * KeyPress (the default). */ enum { From dee6264d57311174467159225c477f248d421da6 Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Tue, 14 Jan 2014 21:16:54 -0500 Subject: [PATCH 053/190] Respect Motif hint for window decorations When the _MOTIF_WM_HINTS property of a window specifies it should have no title bar, or no decorations at all, respond by setting the border style of that container to BS_PIXEL or BS_NONE respectively. This comes from the old Motif window manager. It was originally intended to specify exactly what sort of decorations a window should have, and exactly what sort of user input it should respond to. The EWMH spec intended to replace Motif hints with _NET_WM_WINDOW_TYPE, but it is still in use by popular widget toolkits such as GTK+ and Java AWT. i3's implementation simply mirrors Gnome's Metacity. Official documentation of this hint is nowhere to be found. For more information see: https://people.gnome.org/~tthurman/docs/metacity/xprops_8h-source.html http://stackoverflow.com/questions/13787553/detect-if-a-x11-window-has-decorations fixes #832 --- include/atoms.xmacro | 1 + include/window.h | 14 +++++++++++ src/manage.c | 11 ++++++++- src/window.c | 56 ++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 81 insertions(+), 1 deletion(-) diff --git a/include/atoms.xmacro b/include/atoms.xmacro index 41889eb1..e6e72e74 100644 --- a/include/atoms.xmacro +++ b/include/atoms.xmacro @@ -31,3 +31,4 @@ xmacro(I3_SHMLOG_PATH) xmacro(I3_PID) xmacro(_NET_REQUEST_FRAME_EXTENTS) xmacro(_NET_FRAME_EXTENTS) +xmacro(_MOTIF_WM_HINTS) diff --git a/include/window.h b/include/window.h index 23a8d69c..480cee18 100644 --- a/include/window.h +++ b/include/window.h @@ -61,3 +61,17 @@ void window_update_role(i3Window *win, xcb_get_property_reply_t *prop, bool befo * */ void window_update_hints(i3Window *win, xcb_get_property_reply_t *prop, bool *urgency_hint); + +/** + * Updates the MOTIF_WM_HINTS. The container's border style should be set to + * `motif_border_style' if border style is not BS_NORMAL. + * + * i3 only uses this hint when it specifies a window should have no + * title bar, or no decorations at all, which is how most window managers + * handle it. + * + * The EWMH spec intended to replace Motif hints with _NET_WM_WINDOW_TYPE, but + * it is still in use by popular widget toolkits such as GTK+ and Java AWT. + * + */ +void window_update_motif_hints(i3Window *win, xcb_get_property_reply_t *prop, border_style_t *motif_border_style); diff --git a/src/manage.c b/src/manage.c index 54203718..d84ba1b2 100644 --- a/src/manage.c +++ b/src/manage.c @@ -118,7 +118,8 @@ void manage_window(xcb_window_t window, xcb_get_window_attributes_cookie_t cooki xcb_get_property_cookie_t wm_type_cookie, strut_cookie, state_cookie, utf8_title_cookie, title_cookie, class_cookie, leader_cookie, transient_cookie, - role_cookie, startup_id_cookie, wm_hints_cookie; + role_cookie, startup_id_cookie, wm_hints_cookie, + motif_wm_hints_cookie; geomc = xcb_get_geometry(conn, d); @@ -188,6 +189,7 @@ void manage_window(xcb_window_t window, xcb_get_window_attributes_cookie_t cooki role_cookie = GET_PROPERTY(A_WM_WINDOW_ROLE, 128); startup_id_cookie = GET_PROPERTY(A__NET_STARTUP_ID, 512); wm_hints_cookie = xcb_icccm_get_wm_hints(conn, window); + motif_wm_hints_cookie = GET_PROPERTY(A__MOTIF_WM_HINTS, 5 * sizeof(uint64_t)); /* TODO: also get wm_normal_hints here. implement after we got rid of xcb-event */ DLOG("Managing window 0x%08x\n", window); @@ -222,6 +224,8 @@ void manage_window(xcb_window_t window, xcb_get_window_attributes_cookie_t cooki window_update_role(cwindow, xcb_get_property_reply(conn, role_cookie, NULL), true); bool urgency_hint; window_update_hints(cwindow, xcb_get_property_reply(conn, wm_hints_cookie, NULL), &urgency_hint); + border_style_t motif_border_style = BS_NORMAL; + window_update_motif_hints(cwindow, xcb_get_property_reply(conn, motif_wm_hints_cookie, NULL), &motif_border_style); xcb_get_property_reply_t *startup_id_reply; startup_id_reply = xcb_get_property_reply(conn, startup_id_cookie, NULL); @@ -444,6 +448,11 @@ void manage_window(xcb_window_t window, xcb_get_window_attributes_cookie_t cooki floating_enable(nc, true); } + if (motif_border_style != BS_NORMAL) { + DLOG("MOTIF_WM_HINTS specifies decorations (border_style = %d)\n", motif_border_style); + con_set_border_style(nc, motif_border_style, config.default_border_width); + } + /* to avoid getting an UnmapNotify event due to reparenting, we temporarily * declare no interest in any state change event of this window */ values[0] = XCB_NONE; diff --git a/src/window.c b/src/window.c index 219e64ce..c3a35cf8 100644 --- a/src/window.c +++ b/src/window.c @@ -254,3 +254,59 @@ void window_update_hints(i3Window *win, xcb_get_property_reply_t *prop, bool *ur free(prop); } + +/* + * Updates the MOTIF_WM_HINTS. The container's border style should be set to + * `motif_border_style' if border style is not BS_NORMAL. + * + * i3 only uses this hint when it specifies a window should have no + * title bar, or no decorations at all, which is how most window managers + * handle it. + * + * The EWMH spec intended to replace Motif hints with _NET_WM_WINDOW_TYPE, but + * it is still in use by popular widget toolkits such as GTK+ and Java AWT. + * + */ +void window_update_motif_hints(i3Window *win, xcb_get_property_reply_t *prop, border_style_t *motif_border_style) { + /* This implementation simply mirrors Gnome's Metacity. Official + * documentation of this hint is nowhere to be found. + * For more information see: + * https://people.gnome.org/~tthurman/docs/metacity/xprops_8h-source.html + * http://stackoverflow.com/questions/13787553/detect-if-a-x11-window-has-decorations + */ +#define MWM_HINTS_DECORATIONS (1 << 1) +#define MWM_DECOR_ALL (1 << 0) +#define MWM_DECOR_BORDER (1 << 1) +#define MWM_DECOR_TITLE (1 << 3) + + if (motif_border_style != NULL) + *motif_border_style = BS_NORMAL; + + if (prop == NULL || xcb_get_property_value_length(prop) == 0) { + FREE(prop); + return; + } + + /* The property consists of an array of 5 uint64_t's. The first value is a bit + * mask of what properties the hint will specify. We are only interested in + * MWM_HINTS_DECORATIONS because it indicates that the second value of the + * array tells us which decorations the window should have, each flag being + * a particular decoration. */ + uint64_t *motif_hints = (uint64_t *)xcb_get_property_value(prop); + + if (motif_border_style != NULL && motif_hints[0] & MWM_HINTS_DECORATIONS) { + if (motif_hints[1] & MWM_DECOR_ALL || motif_hints[1] & MWM_DECOR_TITLE) + *motif_border_style = BS_NORMAL; + else if (motif_hints[1] & MWM_DECOR_BORDER) + *motif_border_style = BS_PIXEL; + else + *motif_border_style = BS_NONE; + } + + FREE(prop); + +#undef MWM_HINTS_DECORATIONS +#undef MWM_DECOR_ALL +#undef MWM_DECOR_BORDER +#undef MWM_DECOR_TITLE +} From ae555386b73f6d228e7bf045c67f288f22d11a66 Mon Sep 17 00:00:00 2001 From: Vivien Didelot Date: Tue, 14 Jan 2014 16:15:56 -0500 Subject: [PATCH 054/190] docs/i3bar-protocol: add missing newline --- docs/i3bar-protocol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/i3bar-protocol b/docs/i3bar-protocol index bd8ea536..92763154 100644 --- a/docs/i3bar-protocol +++ b/docs/i3bar-protocol @@ -225,7 +225,7 @@ instance:: Instance of the block, if set x, y:: X11 root window coordinates where the click occured -button: +button:: X11 button ID (for example 1 to 3 for left/middle/right mouse button) *Example*: From 6578976b6159437c16187cf8d1ea38aa9fec9fc8 Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Sun, 19 Jan 2014 10:22:50 -0500 Subject: [PATCH 055/190] Do not create container pixmap when not needed The pixmap of a borderless container will not be used (except for the titlebar in a stack or tabs). Make sure these containers do not have a pixmap because it can only get in the way. fixes #1013 --- src/x.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/x.c b/src/x.c index 366cbe13..a306356b 100644 --- a/src/x.c +++ b/src/x.c @@ -667,9 +667,24 @@ void x_push_node(Con *con) { /* As the pixmap only depends on the size and not on the position, it * is enough to check if width/height have changed. Also, we don’t * create a pixmap at all when the window is actually not visible - * (height == 0). */ - if ((state->rect.width != rect.width || - state->rect.height != rect.height)) { + * (height == 0) or when it is not needed. */ + bool has_rect_changed = (state->rect.width != rect.width || state->rect.height != rect.height); + + /* The pixmap of a borderless container will not be used (except for + * the titlebar in a stack or tabs). It can only get in the way. (bug + * #1013). */ + bool is_pixmap_needed = (con->border_style != BS_NONE || + con->parent->layout == L_STACKED || + con->parent->layout == L_TABBED); + + /* Check if the container has an unneeded pixmap left over from + * previously having a border or titlebar. */ + if (!is_pixmap_needed && con->pixmap != XCB_NONE) { + xcb_free_pixmap(conn, con->pixmap); + con->pixmap = XCB_NONE; + } + + if (has_rect_changed && is_pixmap_needed) { if (con->pixmap == 0) { con->pixmap = xcb_generate_id(conn); con->pm_gc = xcb_generate_id(conn); From ca807ce1c56f9418ac26486de224377a56894764 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Tue, 21 Jan 2014 19:38:46 +0100 Subject: [PATCH 056/190] update debian/ --- debian/changelog | 10 ++++++++-- debian/i3-wm.links | 1 + debian/rules | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 debian/i3-wm.links diff --git a/debian/changelog b/debian/changelog index 5864b21f..e187419c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,14 @@ -i3-wm (4.7.1-1) unstable; urgency=low +i3-wm (4.7.2-1) unstable; urgency=low * NOT YET RELEASED - -- Michael Stapelberg Sun, 22 Dec 2013 21:39:10 +0100 + -- Michael Stapelberg Tue, 21 Jan 2014 19:38:41 +0100 + +i3-wm (4.7.1-1) unstable; urgency=low + + * New upstream release. + + -- Michael Stapelberg Tue, 21 Jan 2014 19:29:34 +0100 i3-wm (4.7-1) unstable; urgency=low diff --git a/debian/i3-wm.links b/debian/i3-wm.links new file mode 100644 index 00000000..376018bd --- /dev/null +++ b/debian/i3-wm.links @@ -0,0 +1 @@ +usr/share/man/man1/i3.1.gz usr/share/man/man1/i3-with-shmlog.1.gz diff --git a/debian/rules b/debian/rules index ab386da3..661e9a41 100755 --- a/debian/rules +++ b/debian/rules @@ -38,7 +38,7 @@ override_dh_auto_build: $(MAKE) -C docs override_dh_installchangelogs: - dh_installchangelogs RELEASE-NOTES-4.7 + dh_installchangelogs RELEASE-NOTES-4.7.1 override_dh_install: $(MAKE) DESTDIR=$(CURDIR)/debian/i3-wm/ install From a708da684fd2d1e580141a7d5a701fb484c38d9e Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Thu, 23 Jan 2014 22:24:03 +0100 Subject: [PATCH 057/190] asciidoc git config: fix impress link, update copyright (Thanks Jens) --- docs/asciidoc-git.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/asciidoc-git.conf b/docs/asciidoc-git.conf index cc135ae9..ff1ca448 100644 --- a/docs/asciidoc-git.conf +++ b/docs/asciidoc-git.conf @@ -647,7 +647,7 @@ endif::doctype-manpage[] {disable-javascript%

} From 23763ca2a504c173e6d205a2a5ae41db0e852e86 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Thu, 23 Jan 2014 23:11:49 +0100 Subject: [PATCH 058/190] update debian/changelog --- debian/changelog | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index e187419c..ac79c8bb 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,14 @@ -i3-wm (4.7.2-1) unstable; urgency=low +i3-wm (4.7.3-1) unstable; urgency=low * NOT YET RELEASED - -- Michael Stapelberg Tue, 21 Jan 2014 19:38:41 +0100 + -- Michael Stapelberg Thu, 23 Jan 2014 23:11:48 +0100 + +i3-wm (4.7.2-1) unstable; urgency=low + + * New upstream release. (Closes: #736396) + + -- Michael Stapelberg Thu, 23 Jan 2014 23:03:03 +0100 i3-wm (4.7.1-1) unstable; urgency=low From 92868cf6d349ffd36e09ebc98dc5b9da98c80cb6 Mon Sep 17 00:00:00 2001 From: Marco Hunsicker Date: Fri, 24 Jan 2014 23:49:46 +0100 Subject: [PATCH 059/190] update year in copyright notices to 2014 This patch updates the copyright year information the i3 and i3bar binaries show to the user. --- i3bar/src/main.c | 2 +- src/main.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/i3bar/src/main.c b/i3bar/src/main.c index 9ae69e3c..8c4cbf6d 100644 --- a/i3bar/src/main.c +++ b/i3bar/src/main.c @@ -112,7 +112,7 @@ int main(int argc, char **argv) { socket_path = expand_path(optarg); break; case 'v': - printf("i3bar version " I3_VERSION " © 2010-2011 Axel Wagner and contributors\n"); + printf("i3bar version " I3_VERSION " © 2010-2014 Axel Wagner and contributors\n"); exit(EXIT_SUCCESS); break; case 'b': diff --git a/src/main.c b/src/main.c index 878ea5bc..ec73955d 100644 --- a/src/main.c +++ b/src/main.c @@ -340,11 +340,11 @@ int main(int argc, char *argv[]) { only_check_config = true; break; case 'v': - printf("i3 version " I3_VERSION " © 2009-2013 Michael Stapelberg and contributors\n"); + printf("i3 version " I3_VERSION " © 2009-2014 Michael Stapelberg and contributors\n"); exit(EXIT_SUCCESS); break; case 'm': - printf("Binary i3 version: " I3_VERSION " © 2009-2013 Michael Stapelberg and contributors\n"); + printf("Binary i3 version: " I3_VERSION " © 2009-2014 Michael Stapelberg and contributors\n"); display_running_version(); exit(EXIT_SUCCESS); break; From 51f077b409be6c07b7a13165d3db3d056bad70ff Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 26 Jan 2014 16:22:06 +0100 Subject: [PATCH 060/190] debian/rules: get rid of hardcoded release notes file name --- debian/rules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/rules b/debian/rules index 661e9a41..7036b90d 100755 --- a/debian/rules +++ b/debian/rules @@ -38,7 +38,7 @@ override_dh_auto_build: $(MAKE) -C docs override_dh_installchangelogs: - dh_installchangelogs RELEASE-NOTES-4.7.1 + dh_installchangelogs RELEASE-NOTES-* override_dh_install: $(MAKE) DESTDIR=$(CURDIR)/debian/i3-wm/ install From 5d468f3317dd60e3a7519586accd4e9cb01a9248 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 26 Jan 2014 16:39:09 +0100 Subject: [PATCH 061/190] docs/NoName-2009-03-12: add missing screenshot --- docs/NoName-2009-03-12/screenshot.png | Bin 0 -> 123902 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/NoName-2009-03-12/screenshot.png diff --git a/docs/NoName-2009-03-12/screenshot.png b/docs/NoName-2009-03-12/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..15a5c7f620f73df037202782eca45f3396517513 GIT binary patch literal 123902 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 y|McxSpY-hL{IKed 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 lw Date: Sun, 26 Jan 2014 16:43:02 +0100 Subject: [PATCH 062/190] contrib: add sticker that was actually printed While sticker_stickma_black.svg is the file that we originally provided, the file that we got back from stickma and actually ordered is the new one. --- contrib/sticker-7x5cm-stickma.tif.lzma | Bin 0 -> 800967 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 contrib/sticker-7x5cm-stickma.tif.lzma diff --git a/contrib/sticker-7x5cm-stickma.tif.lzma b/contrib/sticker-7x5cm-stickma.tif.lzma new file mode 100644 index 0000000000000000000000000000000000000000..591360cef40d36c4d672c0f0fb759a98b3a147f7 GIT binary patch literal 800967 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�xF4;34VHAHORuIQjhD>KK9?bpfdzsP>#j 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%0DgCu^65$jjvnjM72# z`Cx`F;?a}WfSHQQZ|6S-9e%CUF<$yWg zJk~Qdlw$fpCL@Y^{47<;h_buF!eBkg{h=pb?eCKer%y94rBHteNOiLl@PT?pTlvyk zZ-_p(1dr8;gy{^4B`s4^vjCE`()5fmc!V>bLL}k=9)pixti)b60G&%eV)0*d$q$B# zzJ^>ttjohqw7+b7@4c{Q8XiL%M1|Bko?|=k?HS%0EmSe>5VS!#9>PS7L`gORYig!^ z)l}PXDeurn&@B&=j0wmaA=Pp9b4V|;sRD#(a}`Wjcq3fQPx1sj$qZbdE5o3tH@xWG z+{j30jGZ7@!Q*TaUh`$YB6V(((@`tlXwbeZaw`CF6LanzjW2R6jv~$2M1^t)8q|se z|8QAcA+_GgJ@&;KRV*s^fN?6eX2m(@A`}_Y(MPN9(Q1Gugc6vRcj7JBTSrqf*hz}q z7xLNEbWKqII{ynK41kdIcJctvl&U4a)n1KdXDkfr4>Lo*ExSOoYdrpbxg6A-=jjxX z;v1R^IJmJXE|8RB_T@g&P^wa1_@Cjmvad8sv6EfldC|owt)FIct(jH60#hyOK=k>oxc@nlRO;Xb zcJn98EPrNG+yIR2T|mERjK;o@{=ssE8|%Y);0h8T90u5w&q(4#MJ}K%C4-+P?pvVw zaAOL-m^}sM=(9X^H6xT2fH4j}UrC33ECAZKm3S6Bt0Qf{7{m5ZPo)5zL20K$()(4? zK%TwM1TcB|<5Z~rUc=Zqrbb~pwf-uK604SxM$0yuI1 z46Wgd>9nbQhf=^nFl4h6K+m}Vyi8CE9f=1k z65~=|3!!Z-S4C>;cH&f#wHDDGDDSC6F)uWeGNJ-<9*TJTvl~lIPRIWRBMtZ%|6VC^ zMj00(ag<2#5Uux{3U0j6xEt-jz29Nkn&RM*1V@IPFbc3+}p?wBz zP1T2jhb7YDAa^JVofF)|UDO^zG}Z_6DqdigsRcmeVEb;4?|X!R;8(e*<|vAgDrq0V zwYBU!2OejKwjYMD7Ac6>=WQb=Ikj?5x zt(3=SAV~&kEVVNTqw2lQ@pZUCL%AYnRQ-NL?G>><9 zM8af;7>if=pDmT)2|$8S&k8W<|DP^BHCO8I3FahCQ152_W0*r{`G2FD19o zwzdH%TgM_e_|m4c)sFSv{{MTHB`x%KgOTJ!P2BSVZQ>-E2{;B}jj#pZZaxd{mT%%l z_gjo>Nm1Og%b^aCu>3gZGCKr=P-9_NdB@$LF*9@jUS3h7bgO5eG_MqGl(C?bXo&CZ z92O)X57C_VcK*Sia6Ppfv1J_+@7Xq$gyd!e1Wu|JsKL+Apx2t6J_}6M>NLd8OS!!% zPAARBxW|G`C-(#Z0=silEiH{jiUCMYv*+bN7uE!?Y-Ae#=~KmKfGyxP%%=rdQa>GA;$LRvwM0sm3W1aI|5Jk;z5X*m zXFfz8XFB_u{Em)?v?>_`T+{Udv9TBiZmf*0-CNXhDhx>2y@5>hnJauIc{0j9HKnUr zv&MY$Gols{n_Far_EkI(r*7-3?Vdj`R;Ba@t-AhLn}AZPo1&d|*Q`%qjuiB{+vf$h zoFecm8=wIKo3tXIsJ4_UX*;!78gBb{@_%horFN@rut+W@P-bt>2n+na3xpwY;U5DVDdrdrnlcL=qLD z3@K9XH&bcD z!n+d;ka`V4DA)QBNP={YLahei5^oe?^H7O$kq5mT&#?;6RX(NnS`VzQ4)*W2-c~jc zGpB4fK(_Sc3Sw8l@*dLnQIeK`c88J55-1|m#iK*+F#o6kz10fk=LYsk4BLP=oq$>d z3Nz=>O`W-v$b)yAk{9;EP~o}XZ$m$4#IkD>m3;K6e%Y$|&^SR>0H&ch?H=J-afoi9 zCO0KD{igj68Oj*#+;k{xGU4WgZj&@S2>p116x1y1s8j6|57UaUVhf}2i?Cf-qep-R~bxXS8h;qD&9i5G0)sBl|zu+Ju$X zzAwevh{n3*FkqnJXZ?l9-hE2b%H&>_IYp?sT~JA(`_wpQvT=i~hAT5#qh9Jg5g-!P zz$#E*tHqCc2KR8fM&=@Uy60H&&uy1b_@mntvtu9!)&)Vy^ip6BFZ?>Dqq+7n#$oKL z-6Tx`IELA?05gdR?wn9{b=jK+lA>`1`~hwM$Z5HWziB9opZ$oyN*r!#?I=1ROVcjn z55%h*G7xx?zN~$`@{oY1{=P)WY;kw>8ryaTV-a@p>~CbUFA)dLzm~VVE9LS2vq_s| z*JDND%M(=B;~VSI|CEbU^~7WBNS|LkBLJ4fva=B^Ob*7wwe?E^bg!%q=u!4T5j^l| zV0WAz8pRVic!&qBs~V=440sZbV{k-#3Ut$g5x|4jHBq6oVE&j+^}sa7d&V>M@eQ|Z zd)Y?PIJJuZ>n>dkI>lzZR3S{s@$B1|VWgvP@C`wHu5wJNZ5neebytxoxj2h~lV#2F zc~s!Q?Vq0+JxPRuN$Hrv*}~c=3pI` zquLeWP$Fxj0XOf+>>Z6~kh*zaK_G%wQrJvW9-xYz%0DMBeih0sAnYWm?hiQ;xIn-H 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]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

H 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

$Y#8!F@C~zBw!IwpEFnD`=tgbw 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 z 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�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%0A!Z_D~_e;gLgH=t3ybGLSx#e z7;1=kYRsCvnXSw>k6Ls<7R5C?sd`NI6@P*o0r&i41g&`4#bqf7vhQ0TmU%wOCx`s+bP`ok}c;j>7C>CC-Y%{p6jxfa3!oeM? zLQb%sj%6EPVj;Cyl6;ra4WLP!mJB2W()`kXqw0Y98DE)s&HDr^8RlKn;L%RyhI#&i z2!m<{pEg;lj}ZfK`i;!XJQe$E^g8#7lNJuVs5`vFlC|ynQoB)KD3PzwLYbK!H}!y6 zy=JS(&s}T4#7p(L)(tvvKZxgvO81i3P3OalH7_*6$*1?FhhXj7n^=Q#hoPIrM!Hbj z)5aH6?m;=*lv=VM-%V*u;x|2dvL)kKsFK$UK+18`}h_sDoo=wJN1y!^!+iPH-ub*wl3Q51B(A2H*YJ zrPVQ>W-)psorg!JuMr_jJQ{z^f!M-PiM$U=63}d{Lr`Y2Fkh}k3fI3;*A;BSL>y93%vaK{f9^pP{%n0L1S1lku>a=_sBw> zUA4t`nBF+Wm#Chs1b%e`^x2Hxz|Agd2b?-T#j>QIgd1S}k@ljvbv_AJZ{0TUdawNB zA@$!*PFkW`UqN3_k}|QsQtH!c0qQi-sZrDrs$H2?+Mk0&SMq-YD!=EKRjV|IcecK! zKnWfHn=YU~o)0D}yhX^<3#z3Q%@h6ixn%bY39p8w?__BgC(D1xgLowF6$!}nZ3)#o zWD?MQ-*v$Oy~a`}wM0>=D$@UD7`oj*EUZy%I2XNpm0RP)=`*AF79*H&u6Q>4COg3R zlGV~5C4K)ky|e?>R7_T=db%O;zm+%09rdk0ME_MU+W7~z6z9KmlL3D2q3!Eoas)m$ zf+0SV!*j+1VJYTa&2>R7u84~z-^Yi%%Y3y5@1_oWkjCz7pPvG3N`JbOnj;5noUj*C zit*_gM^uZgF``?C{5#|!h#MNq(ACPN?(&c${2J;MMb%6SZQNv6f6%4KV9LjblIS?7 z%C~%8-gzb#xv$DfFB05}vp{AgHNEjN?;1RVPJ2I{mVmwrX#%f%-`&jm{q9B!yWht; zPj0?$ED~}^9tAkgD8z)$4j9>9UHl6oQjNin|F`N0sDfbrJrp!1_7f80i6&79nJhA4 z|JF;^jdE)mpgzR@w&YK<|rEg%}xw(He^ zx;VOdvRI0+qm`Pd(k!%8lQH2dynhEC3{_{h7UKj(A_`hLGFgVIntr}Ew4hes`{KCg|C?5+lb0@0ZU{cf zZKf0!AbrPM>WyWgJV7PHfhn;+qgP+Nh(t5}s;2qXa*3}sW*MQ61@0a-e+v=htWc?l zbc(WqU31@sdj;rgeM&4S3K%W$>I!9+-&=8eZhsWfno81jKjzyihF77828qj&7-za1 zT;8>dMMi!9RhA8sCt)}L8)#5bA;z$5tx6-@`bLV;+qQl0JbBA?Aa|(S16}|yki)#n z5EDV^3184gi+f=&pEnFWh)*Yg zmq3q}n0o0C{Q7=c5;j4>bD-(V9vpzLpwIhqvRUkefRfvmFe1tCgi_*aO6Q5Svdnv9 za6TLRMLJ9Rr4MHT^sSHA8g*Q4_0n>dLYIj(gS&^+8QLYZfGk{+T}@H6iOHN#{c|Gw zhsoghc_pZ*Ac{RLD7f9|8dT;;hB1eY{C0ihZ85~6xRW^#mzn}}wfjMWG!em54o>y( z=2^mGXu36*#k$B;{Xn`hmLiP0spx!Heui5J7F?ggicbEVwb-CrT*TRT2X@@)@lF=D zgq|3LEyNu~V8R#g1YajA_k%YPy$LO5;*Jqx(MX~fQ<}~3yN4*IN-kLx+Cvvi7H5{< z!pNCO;HM;)i54Tdq6JCgg37p%r^_lgI!ZI};$;>+@XFdS?pNDRLxBGF?mnwLqJN9^ z7AGtfnZ`QJ#1h4{rK9qmj_SQ;O^x@$)7sq!$2?qupi&z=H^c6 zml?(<3G|go$+jhBb0S#H{M8}jQ~Nb1Zx&toV|?btB?20$WS09FO6+Wdzz0=$__aM; z&=g-UPNsc&InqC)K&w=MX%IZ_PP!C}EEc=kvx^hK5hZRRCA%KThA2sn`L4=9X^^XDwq|)#DMO@Tr_qR!!QtpN7JjC4YatVb7jIG zm37!iyz3InTb)9qI+BzmbuHbsosX{a?ze;j9Tm>va;FRH zp@klRaqlThoc=0mv7^VXPC0f%%RxoF0)pdAn{Q{r7o=0*dgGWIzsHmMd+l5ez6;$% zFr4$H{e0|87NsMEIBc%Z>1gxVzMTnmI2?-O71A`Y8&Ab>J)GZ^dn*kXf2 zoh;uYH+L1(5c08&WCeXdTTJef3k-T^zufbde<7T1fJ(4hWJ+o|Oq|OrQ+G+W)jp=H z-3EVK_c>rx$a$Q8T&Oo!5NhW$Qk!gsowMx=_7si7LRBS1g~9J`mb?~it~ zgiu3O;3y=|VfbYs!-O?=V~OUZ&oaMx0E$^>OJ0 z(vAe@B=|3x!k%3SdhNt7h7uCAFQJzJU;7kEw6OiVJ@wYMH+UR;mZtG`gL1NAExVXe zq&pldV{CsUT5ACChT11u`thnfRIo>#W zc`Q`JhnJV`qlYT<{t_)LFAwBttk8DkqADCh^X5wu-lm)5mtbCRh0d~P6Ij7*$E8N4 zn-(Hsu9Ljv)xt&@wZ*$^O0#r4PqP*3wkLh2$^Pb}W6mN9V7beC-@0r)5NVX@DMCNS zJMLIM?|}Y?Q^}odsm0_rUwznM!!=z3AuWau?4ik~Uz?PK)Ynh3)9L)?OwyaA)%Yqu ziwwae*7F{a69r8@o^i1MmU`y(%3MQnvIqS@2k&`h$y`d_npjs*iWE;I+6Nw8#exKa zKjUl&w$I(KRWPSgq>Lg!@?saU=VU0hdBg%sq&02&Yg)Os`>Y5ry~hGj@J#Kq*7gxuycas@vM3%BVP9_?i3` zgH=S_P>(!31(l+s4g-nD<-kTQS@0W#p;Fj+jwH-Y+c4Nc^o%0uOuqaJ+WVH_V{Fm3+}^_6lC7 z+9Pr?TKm+-`FN-Lz0BmY=rCG$|E1{LjoQR&=}b%myX=vtPN@9}v-F-e6J#W!i|)IrSemwR(t`l^ zN}NN#_!|x8H|=N!yup|SN@#$a7&*fuCC{3a0oh0OyIwpxVc8riruGPt5jdC;@ZnCQ z3zPKZMwD7OaO zK=~DYrg0@RvoCf4T&x+NtbJ(2+za>mIv@iMG~ExOV9NQ zfp2bdWsE+P$`j*G;Qf!N506iZSMO7mpBv}*ji8W9}4@!h-kcmzz{Lc?k__7BG?dWrd z?Yc^lQf@tC{mfD;hr#n0(Rk@gfnYbOh@x!OcNaLl@pr@|$gGU|u}|0M#BpUgJ~za9 zJ1i`D9(Qm)WGc*_X~cBV8k&SJz7|mTC3FW7wf@N8e) zJnaEDl}da+WFG?HexwKi80;Y3+f}tvP&r`o=s`LF9|MjF5Raj zYRN<;Dhjj6`gW1S+E&rbVklu#?bHw0v`-gaTm&wM-AW?NsRM*`YH4kby z$k5YABMap0>f0po2d}>915Vx~79!!u(~Yf`)2bo1jwxafNzJ$Lvpr8v^8sj~+JQo$ zn4G`xsp<71H(#-RTQl=)19|O_E@wcXk;0UTWCWgu_d=nk^u2k_C{M{_^ncD})Gs}BFmiWXYzLk;fu2{d^J!}@5baup^)g$AS_7PP z|DcMq;Sx{m%iKDIQ2cX#V*oTtJ`D*?k_@|R`h6K%KX3Kyql;GHbXwsb1O$>RCF_+~ zar*pJGRSC#Iij2a4>%;d#e=A~EHHqxCJh^rTOB8w~5; zYLErJFZb9Ar2-ID72B&tq)Akp`)>He3{1|;nrt>**}m+UIer+($WS=Ak|~>QE=O`2 z1<1;LPm0TRXmuMnO55#i$7}Bbp#PT%a;ZT^5M~HIUq^qe9Z2CCZG7+Sg|kfb9 z5WByP_WN| zGcRIR>tkOsF>(}v+W-0=qS&0gEgJEpvmox9j=uP@QESKP;y9-#M!hX&ZrHb<##p$K zDmFBp$|OFCqD(_ia`O>wa7D3fy?}j-=HYtxiqqGTY3khc2cSm0s;h*vE1nhvdcvg9 z4;2aEVsu3ilY-*zCxMiD(=UhOiuZ09E1SHy*no^{k4Tq%bZ&@|RAm`ejWwC{?z;Oh z%b!(GDlh%*jha>{;NVr)YQxKo%x^u|ffh)RE1si$k!i1WCr)w-+he_Uzxn_N&Fn5P zjuMDiq*CMl_`_?$q8Y|wv;QaY*q6Gjuv2FxUm#w3yj?D{&wIKiO`{$1tONkCC`$6w z1v7GfavpEipP?o!Dz|xYhtQ91kD_86AAiK#xNzY!>}m=>y7P<}yLsWg)k{c8{s8h^ zh;AugZSG`L*V};1^XAmvjruJx2qW8ak&BT@Pkm&W zFd+=Ysa|P?-7+6~iVs1akz_aoY=`k@BjGNDbrWZykqkN%99hP;i#d;ib4jV zDJnLT?DSFD1^ov?y>BwJ&gPu+9rgl$L|ihnPOeJj8#p zo{06ait4@!kB%359%p|cA9IS}?8rIaq09pb4DQtzM2Ce9o{PKVS_F2@WPL)A*3}Ht zbC16&`-A$~{fTh(5@%3s1_`sk=g}yU_5~!V)|Ct(Q8U6==B%LB`G#6)_5i6z$W@On zNdXwH!0c;HK*!&XScneJvs{<-kr%WpvL_cnK)B^t7+1htLY7sL{w?@tElr$gT2V#p2f2LIN@}VDO$kDc%*8 zzIIAIGij51!#$~Rg_CYi>owOdA_~N6JFW?)H5=f3wh>d{`MfHCD%Qs<(xup2|Duo! z`>{P5y)6UC$5n`>BPF>x%D4Hmm z;sne(^;#tW7?DzCU~*DY47iYC$Gx3Qc2`}r&d2tqt&H#J3_5OpOx`lqe0W``63ym1 zy@g5LO8p!3$jj{pU+(KhL*6TCx``*c-QS@G3MDTu4}|eWWCM+d$$d~eFhBH>({be9 zP;R9`q>6#Fo(JYjSG(Cmq?m_e=`CQ6QNtjY5W^ZgPL~SZYX&4f%dUj*o-zec9;@<` zL4{fguNN5k*FV-+{f||bU1vDQSD{~T>klVhq}|LETQpp_xivai%gg!22!KuhhwM*& zv$d)a_e~{6y*(GKetRo>FY+&zE%Lxut8&m8LdHW4FZ|D&!jjkle#*tltJF_#duIvJ z;58xTk)Ye_(HzVo8Esx?&^Hnem4jB>y9M;({v}I7JrB`BD_>n2E6Zc{@^m<|AenZG1s@ zX{2RiNMkOj+z12Mftjy;O5=sHpi^Ne1v@3FpUuJ-H1_O}=0k3zNa6L7sM9 zU3fd6WCPgDDMAse0cYf57%**0}$&pZ6p*_nULBv1mxd2B7EevS7wQtNO+xusM86o<=LD4W^&GgjTpqq%C3jBdfI z%izoGqvAfR{}g1Ru%0Y3a6R*D$?2LM44r$(+KH8pVg%k($I?ah*?;ZCD`has`c~oo z%b#EuKdc3)K@JI<&ER@XZblCtDw-MxSCIbu^lbXOc}E&O@qb^Ejfl1jM~_OEH)Bn! zWQ?YP`L&Q7R=x!nmAqq2?-8`aSP^pl$aTxEPZhCDA@{z{hV01X zKkwE5_Cv1uVwn`EYGT7Ib;NXC_0FI%b5A-eZuC-eN0t(Sw6#+n$ZFNjum1&mbTaml zJn>Y&EjqG_m9%?Ho-pFj2R!@tZELPq5G>6cC2gz2-htu&FCpX{g8cQVw8Ody2nil8 z)O&-n@YF_CY3eJY63zK9>7-xLH@frAHnkPMoroFivl6vzc)TH!;6IJ!GW6Wn2x=`h zmxFdPN0!xyg;sFQ$9< zry2U7Im7M!@6J6y9V=N?v}RuQrR1M0n$duZuJAh|7)8ghp*o`|5VFKr_ip}MZ^VPQ zIJV^N`fT$J?Rk8=N#gQ}2_D)&*FYn5R8t+8p2I+Y7zhjryK!_3pdUiS_~8w%#I@>Y z*c@o@zNaq->$i(cEcbD1fmDLx;ZOHsLVsG8UmSC2Ht`K-gaAyL05Kw*tUMIMlI~%5 zuDS;n>fPZd8W5Jd zBZ5AoO?~KCrMZoU#fL z6v=a!fktC!kN*Nw7zf=?E#((t~nE z4tJf4n3fiBJ3_CK%RfnXEaD@iI}Nzt8GN0gBACpY{)L_EVA3koKcebmi%Ot3V+D59HGT(%F*}o~!`=_0&1C`$n{7)Y74qqoGcW^2#!y$jYPlYzA-6%9e zoN@MJfnO|#DUXZ@8xvIm20m})2S&)<2B_vwaluL<#&A6$R)aW?C;x3J- ztMYdby?T`Ph2>r)@i~DjcuN}mVC);su-$y|P$e|MgbO>`|FnmaeZFPG2gZL{v>snx zMV~qaU;ujK(jiu9VY0k}p|@mxXt1JtiIx7&HS@Y`Ujf2s*7<`R;I!9i~ zJ#wztdnfL+<~m>s4xSxlhLF2gxAPPHIqI=`yCNGh0Lmz&-v)HB1k*SoM|`?lvT`RR zza};)wH@@NTw;@%k4P>;0Z|9fT|Y5QZ5HOpjexSaZ{cS9-_3hq#pm5=CNJ6P-|V!C zpc&@uZhf+%Wxi1cyAm_^J|dx!sS zc#svb&2X!FWFQK$J5LAAQMj`VBX~Zdv@~zzikL?384@!x1hsc388o3h+u>sUo&;TV%S%5+&?w>9J;ns+vO z!YPi`mBp>jO?wb8!UNw;$l4`(mnc~Xun{#nb`IQ;T_wG@5uJ*J{;bjP7sF2h(m=76 z-RU+=yFli*jlAN6sJS2vbWA#KRg(JzF*b$LE57Tcf)udf%9R{4r+-tLm`zbNa7bM; zH0>nEX@K+>+1_9gCFqUS^u-=p9}DLTVMb&Uh_X{iTrd<$;x6kVk4t1Dqf&S5llo8X z-YXfjvjBA~YqLb|z=oYq1Ebz&FmbVt~-?Tk;!ICjERz5&1CeI%OPd6ZgN z37AvQKVh9(&L(`0`Ck*fFfhqep<^7mvP#ujChDZNjHUu{&MYX?ITY+O0=`~Ldk!3} z7wr#*CLt`6IO9_(tHQ@~(jcmQJKBuP(dl_OcMc z7q|U#_3p~mv;Pn8#=-2J*IfAM3Yh@?l&@C)!V`Bo|h7U-^b#$o5F7Hq9;k(Oj8kg)iJX$$^ zm+vV_esMUGOGi}zw6yMmnv8v&zb#&AZIs02g!uTpeYBvmT0_GO5fxZyjnXVMrP zu_aZNx=L1+GpjIOcs%e8Echns=pv1jXu;cA0Q5`%;<9-Eg$-+jrV2`@LBl@8_<7!1 z*&qqRPG5xqEEDm~L zDlnpFPv@zbovAX1Xeud9%8UB$$%>ROAVs-F#avs_fsx1FOIQ|WZAWaY zggwCMG>%Dv#94Oyer+1mrq$Yklx3(FXh7MUmF+*}x}M)4mpi?4q(ksk_HYK*pV>YAj_pu}k3_!um~ERBZ0+Zv;mCau|31H08X!m(LF z*$YFwpHNK}3RiOE0=9*G`U*IviAVFnv~QS;=-Z&L4a{vKgS*|C6$%c(-m_@(8<=3r#DpOT-3lUrZlsGdH!d*b5v-O zrcm;o3p!$Uqt3#aImu06ZL4HfGax@+#%^w(aN|-m)?J1cHEc_oD|&`iO?oTqFj>@t zj;Uz9YJgRdcID##mmauGjR9lZH{_J6V}oNJ+EAo&8QeaL0KLxC9K}+sj&sMg?`D-fu1t&eon|eAV>N{NfD7*t2TYFhlZ&7ekK#rFkZG zZufe%5;|qCE%&tHJz!PH`@u52Xmu#{SC^gvxK0Hf0Hbg^JTQx66-xmWR+ziPFA#Rb z5-N-tji|Yb6s6IBlVl_VLVKCqp(2b;+!{2X0wDf_JCPZB0jVm+>w~Ax!*9Od>*!_7 z#A89MLIk&A8?2P^M(eAH7<4(dmNLvm;xb2LA?NY zkEV_?!HrFZuWF@kyouC*>**gwOb+9qeg9ah%KKB8I^d3QD-g2ElmED+59o(9BMb6i z(>}VG4w`DXS)3C_c)J`d5IEn7n>;ZICon7DwM#2o#tfDTa-^6l{0J%yjhJs(rzMb4 zW%6Ib)t{|GvHt#*$3**kC%o3Oy5AY}37h8RIWN0C7n69a`3x~{*IF7v<)EPv7zcG! zO*lA{D8rPdu5Mnn|INgu?h&NcASbdRN;e+TNTq z7GyRbF!yLwAUr((jo?WEKPHy_dcI`RG+t8V7?CUMx)#|ORBDS!Yy3*<7hbFZ6d4bL ziATA`?J6Iy6q1rzFTB8gpt}#UTReK2kgQTC4}L#`<@(VK`@U4p9@*4sv69JF=W%|& z%1nTkwyyh8lY%n3;UrxDKKLg!bKEZV+G55jzvcVkO`MVti-uD9 z^y@=$gqPp&oEm7TxD0G7C_tfaekP2Ovqi~uIP>mZX!KK7b3wh%3du?GBw&_PRV(OiQerCkC+ zaGu3yg3gN$cP+bH6WYtK2$5}Mm@>!<5L8y*jHmhBTB}UY1+DuJfH(s`L|{@tO+CA7 zKSIhYb+bqL%2;UJ58~WSXaxZ>ybpX2Ju3t>1BR^)1ohhNuCR0>7OmJCw!)u$6y=1m zb2p^3ZnaA4QQ+2S+JTMcR7GWBz`Wd%&oOzG{-SKGB=t%>2|X+z)Sf`ien6V6a$f~F ztA&;l##BE(OAy{Yj^uy|2>)og*(N<>h zJFc;Vb_7-;WeleE)H|Jza~hK+pmbh+0BU99+VPH^UIzjBrzNAu854Rmzqbx|egaCFLJc&!PLZhv|VOx;_i)26Ix9cJFqQ(y7jr7+|9L zWE8hl7;QwRbjKgP)8k5zv2#bQW_macgN}1z$%2pIY;_bKb^Gb(j2>q`B-un}lFVg* zT9YW>wm)22DObm_A6WKQ(F=`DOn)%x!dz}ZGdKuJ(lC)gJitu0!^p27MBF}qdZOTW z!^r}hi)9UTzhI~BA8ac>V5_Oa7!+YJc%MXL^~97M66?|Ck#8#?->*!_n+(lre1E69 zdML6N4tn^`W|#nddtkc@`ecGnZ*5MG)epWtR0ajC+NM>|D^1M7Y&8~9WBUNI?xD;1Qf3k&`oFhs-1lI^HR4WoPi&g6G*uhW~V5# zDp7b^?O$^|+bNPFHnif6L%tPHaL9w?pUr^Pk#rDHz#xw{-F`G7Qw)q`#W=G>-R#^L zA_FKxoZtG17U@jKlkoNudw()%1xPApyLbaI%hZD*oU9l}jzI#S$$1}x6BbmE7S}s+ z4Ahu+B+F|712NY}ED|u^>S%I0QRm`0OrA*f^ARLKGA=W3+#HsotJ2wUd;ijF8FC)dPxt9tu_OCz208prWITXb0% z?Qqm-g?nr{K7EiCn-t`mUMU~kBZa%~3w-dOj8+3W|37L1!e9R_0mxKs?J81i)F=sVy*^)}k!-wzhoXYrDa!1tzSO+>qm%44q%VKp9@88 z53xDyDI-e+S4acE5JCZnLM?PO&HL>$dQ>9X$CK1X1b3jJYA0F!OR-(2Sy#E&I*-KT zR>=2)MCv1)Y?_?T&vQGd)4%C^^x(iL!Dncj*Vl(IeWrDWje^D8Ox(d1Q^DYuoERDi z0dhEzsJY%2zZ;{!ka)O8U0vMOhP=@zh!lmJI;69~YG#|%3iM~JWNtTfsy&K`G9Ey7 zy;{cge)-`{OKz_nvzIPg!M(DR^1;OvH{UFrse^U>WtPrvHx5PsBS7502&mu7kgz^% zQ>P-I#3A2taJ$qEMIk)4Efx^F8F{s7AqMsx!iB~%*tutR5dy&1ig8$?E@$~@@owk? zzA^(LTiXo~;%uwhH!bv%a>rvM9MM-nc&EhlD@mqInHw7EnQlCDNQ-s>X1H9BiiL`6 zuQEtM-&B957CWX={ot!!hHoIJ{;=+dEt?dr=GL)o8|#{RQP}l8VuHpA&`xmrYZy`& z72^tnlZ55QfJbf982IFP>Ogky5lLatm{p0oudC{KN+7ye9?pq0`~j#e#u6%Y1~2aO zbtGQ}#)kCQ!2r}yiGg@jyoEW0@Yc6g@d$+iRqDYxkYhY$+a1HvAk&#RvgEaGlK*_@ z2(fJ0aoG7|9A?_ZtlXCp=C7{zJiT?scD310b&b%o;TKB>4FVw=pFFq#NUOse3f3$( zI?#@TbwJz|>v0xQSTQhKUvaNWWQRH)q&(iR zh>ZgewX9tnR0d!^!A>^QZX7&aFHgz?7i@y7bj~DX7-Mgi)gL}6a-(AYzx6sgL%_aB z>okNg#K#@mMAm!XN)rD<_=ktW=krRH#=97FI#$MqVV~%FPY@NE7JhP*chIk3Fe2@S zz?b2adBg21Wd%vO>7$fzV>+tN7_YgP8$W-)B^1#e^AL9}KBFAKr=3Stt|UUeHd0j1 z^jYPw~nSO_hT*~%la%|*=WaG#eDVG!Hq=SSFCT4iIT(}QESE_f^ zTtzVAVJ0a3yPuRtw`Btb#ralEaT_;gEiKh1a^3r-^r!jl`3LzPF*Z*#55o{o3h_Jt zqV*Hj@$DPO<7uRcYB$Q;0ZdNH#i4wU)cU>TYGr8XZmEdtmd(FZyw>I_rskx=dHrhI zk}i66X1tMRDQ*h*baz}5)Ve$D^Soa?k{+C=9l(F2gJlqXQ*_PwkEdJR0Qohi@e|;t zqf~7s>8k!4I;vA|B#koP9a?bYyddY_&G#D<_C|2-JwsqZ#LDf;f%kOdxGoL|3o3dXp?VV+gK?a(mJJM8%SU(h=#OHHwHjElgP z)7k5QHs=2KJ~2lE;aMK(=5a;IQgX?1N_D?REIh_bsilM-8DT7&MLcNd_6sCvSZF1U z;T7pH0L&j5Krc(S zJl7(tWA|T!oWA_mSM=zg@Cz^Uf73scnt`y1EsG<0I5s?$r=T)8+Zd87{mVPgTj#V02E>peq&7B;8bGQW`~^>?_j@!=qxaMofM$(2Qp#?}Uyi zNI02{^94|W_`-0#z{+}JKuKBZDARB&|5LaItllWPNU#rDyUGle_rsgGY*-Df_wT4# z%k3-e19O?nwVu-gVa)d!WQ@AEiY6CkB+?Qvb6O5XA`EQu&NxxDQQGW`ndC4;Ow!ds z#Jy&^5iPg%M(Yc^~3UfG|XP z`%(++$1J22e)oBo>urPfM@da(tmuUQ|`Gfg!qW5sGp@l4fLfs;S5Z52=^hxSqg3@HwR+IWsPboSYcrs^7 zP_}(N+tu2CcJ{z#5FTJcNkP}xR~E@*Dpt&tn%A~CZF_Ffk%Hx?;Phx&)grm2zG zG7{k`;w6VM5HGrMdIKE+0+ojsBMd$e!t=R?PO`sTcZaTZKFrx#~4I ziM@Me&GNJS!vCVr;6~O4sPPN8OWvZhp@E*ER4Zbvt5bxh0n+ja;g*_k_7F4&jFroF z!^>SYa@7f!-ptm?xTAlNjWi6G=O_!j@Q>|o)g_9bEQ<8uQ}WU>O7CC+p+p?-A;eLw z`Sghe4c23-0keiMwU!ApHrYpC zSGVBuLsN9eckUa$x!7fDF*&g-_S9A@9;z1mK%ZdaoMgZXQr15A+_+Twfd*B7&dbfw ziO$J&2PQn@)jtBlkPYiK*npE3f^~Llovg@y_)96sT2X_*ejJ~c83w{>E(P9v1IPh! zyV@`I8d?)#OiWqMr98sM0za$^6{@9EcVHWNT;mNCGl?WVHYVvupJ#M3;P8{9M^dO}^ZL-ynxU-mD z!>WeIS|s-VOMDS%W+daOorj}n?{wpuJIxJ^Dsqqfu2Df>|J{AD`dmsNqKwqwa*FnJ%9x24-wdFs08A0wmkQ#c$P zJiCDcM#4NCEHvPSPtZxLK$0Sif!g&p=FO<~w>Z#+fO0g5&_lY(6*Ix&TPL~~>xpCAAl{~KZ)2J8{4mAb2OmQme3xOg7!GZd;0 zIglz;V4c`)>xK`~WD8q>H~fF%4E`@TmNtqq(>Y0v!H)X|#T zXJW}4LcNeo<1*Pi$|R?{aof4o=xj(iPLYwE0Qv&uDT>k~1jnw#c{J$DFDWj&?^xpf z+_**DCviG{H)+PDuFTP+&(nU{n=<4frW(g}4wEoke6o$# zO#b5ZH_w~-M4>Ze)#u3=xl+vOhD&N7Demq(t=1~gnjd12SWOKh`j&Yq_)J?1p~(^< z5q=e-_^q!v)n~#UB+_ZDV-RcV+)jT~vERQHTOv z!Xqng+4UJxF%!xV@%7Y9PyQJ)VH&o8N<7vZAU^p&rAj)oX;{BbETv6DKpbq_iP?&NArqr9Cj?k{^fWfP``psLHDeve96;NpVWYp+)PO*nby zQGBH%Oe{a8M=A1nz(IU-0-Z!(Nd5kYP##?Ec_iWu4CKkjH()}St{Oa zWvnxgkV=ht%(PI;Yf*sU+3zqqL1_)(N zP(wVNbAbd@*&72v!57{pJBX)jfYL3!riyVJ+%;WbJqc{E-fn@>Sl;PzN?h;CKV1{L zn2FzT`1}>`AlKON14uxiae$aoUXkQ?ey5cJw_GvTMdo#iRByd5zE{IE`Xko&l^M*4 zWrKxZqm09Yqab$?@`PrZHY~jiwW1NBJvVkWSOkRzAU*kfiErtpCazR zq>hf&2_HC{|C+^Fd4>_3tukjmz0N_LychVtXN}BFzmrEwscSqKv#-!??7#wj^Z=b zVT6bwE(nhB|3G-=d3ej*HHd$uI%pslt)YPs$bZKy!Rt(W`6AC>GE-8LwfGnRk)%@+ zd+yb(>N0yB02SEc4A+)|{1kKr@xV5`GT*)N9?$eU2|)yBKUa*}APAV4nQbnX&9ZE} zK$#3{B}}p!(}DCM{ymD6 z8#-48>cW&BV!mior*?#+ak{12?{%*%9Gcg>DpS&YvL5V%rxr};tX`nQ9-+FVU z)1dRvZL8GAixy)cJ~%i21{wFUdybT~kzO5Id~)|1mA_G@U{rdjoABU~yU)x3*&Djb zEH1qC25yQh@T1Vd=kae7os`U6w3t%Yz8s2YfZ&VmY2`8;qFTtAe zEix={f56Pf7dg#ogM|a(gX3EmyD1&M1%haq5FWPFXbJeOP)vmPc=}m{gY&ybcun&V zdnmF8TgoBpql`nwpjzC7hIj!H!7#P&Yq!L)2TSZFm_!_el%(fZ{gK%yY%l$esFS&w zy_!f0Whx)=g#ru=Tq+mmG8A@)L?`wZ zTzE=sopbZ#!`*FC?}wP{nf)Kf7zt5V_SutzuQh3sWTLq8v935dD3mq(ew6QMqd)OZYKH1<=vu+n_-`was?c7XVnTcs(LK_c=Ga8cdsm{M z>x|R>`~|KLNNAkiQTwHpZ8#4{9PfY4QHRjY)mU^ouqHp{OiS8=s8lg0rA*Cldbd^i|u(Iftbe-_W)m-9(%{uZUDu zgaX__NFB54P@7#;qA!R>-0P4d8~K2&5{Vlb@mkN)-YVd9e;>k(-jEU4Kq=i53YDSy zkoq*t7k{V4%#YQ#kU-}Ot&;m`JVK28mK(x6k|1W!dh?brkxRlW(6c-Uf#Tt4=9i5aHLri~=u<}z5C-Zn2f^WW$=UdagoyGXs zNT`0llGJO^Dh7OJ@0MU=&72DQX4$0XY}`1s4cGNN6GC% z93rcovb3+rcG7VK0sBc0cb-1-A5m@~Kd=&b?J8!W?x$}1(+V`jkyC=$SRabD6h)I= z?`?(^VR^A;bs!#(cllmGw-^Rgx%?}a!|!YNQCWfZco5)B;62I{=2s~9JMU2z)!jw@6+V)4{ZXj{dMkf<%kL?lA32(`C!=#%`|*o%a; zd_reFS>zzg)-o)U@js*XSmc-aMM-SsM^dfUr`Q~_a!#ncb8a0iEyj_r*oJ@^2}LBl z6?_Xp|9jz>FhLqo&5Q2w*lr}Dc8p7PZag)cBcRr;#viCUZs$R0aPQoi2Mk`tsJTOJUPz&UrGT zi5WB+wCs)mAV_2vRCZch9n^KhlW3s;^&6a<2O!ciF_p1Vl7aPR#_l2PzKoMt08?X| z&%#04SpNR%^lc5sH0dnToaZS`Qmi@kF=!$2C|$Q~{lK@HQF1^W-s1ZN>;kO;r_BMK zS9ZlJ?fn50%(tACj0|l5-bK$k1~gg;%8(WQ@WAK&+>Myk2Xn3Tx zfQQtN{13B=iHudxDi65B9z@2zsH_1RF_*TrRffQUenvt`;{3LEP8W?zujR*(uW@p) z0h-aD&pUN*n!?Nnz$vhoEvUBP%$>$(@ix4yp3SNHC-q|WVm)?H0Wn#)N}gb&_dQ2; zQ9}K?dmIeb#|%>6N*wMiribr09lmv8x#s5v=@=TouPv=j1FCU`2J_FPIb)x0)zzOZ zr?1Z0itpKFFy_XQ7E`lA%<86;Wi-~0e| z7^84WVqh-0>XYq$t>lCV%910OEn%_jYnl=3i>>V&tNe0jKbcE0u604D>AbxPc$Hnr zL;pq`zX*5CSiEL_7*$K4>57(@mO)a&3CH;!$T@cuL#A@{`m!?sg0*sydXLyf%2@2E zomGk_eSfGD1ng6*@VR}q70qq3Og+i%>92#7HhT|lmbT`J*pX^T`nMfqtJB$A{vL{k zXl4Wk6--y1HpdxjnT8;`4b`@6nZMuh<0fKE{{uJg!{D>Li^I~QsP8vIRQ|0)Lwn6b z)dqQLchGNJ@iT$w7hDI1|CVWX?nL6xc(P`l*?Mh(v;o9-vw)F5)L;BZ1qu6>DzmL5 z*N?_WbT&si7)M?nUtic1wNyi~_U@@Tq9Q!H(orOA+yg)l(yRgp?(gVy0xQuMwnk%B znoXK~;_oihX#KB);u)-;hTU!mTJx)DaL1fOoEF|@kW>_Cwtuhw4xq8)w{t~PQbQGT z#PN+}Z5G-h#kZIPJ0YGuHANlzsUrl=h1w?-bYbwRzYVTzt{f`+^O9s(vI-*A6)U^J zJ$Ym#^XLI0KV~D=Ke@K5~8>Gt)lVvoFqel!4l`s34cHScCDn{h=Z6_tDf(4OtK9fl! z-acGhNoRGr6z27NC*f(B@%yW7t#BoLmA#PDr0pp;xr(^5pX|i#T{yZ}l{@sos6$8; zPdzbuUT+tCJknJxq$)NBnSFTNo~*hxm4u}@>w&}L1CPtCgS>A06g`ww$ls2`%J@P@ z;dW|fggN%FW<4#kd@_=~f}Ub6%Ew2@W~_K|xm9I#;^7-_``iTMy;lQ&+v)AhBgwQg z><^wF?r?zH`}-YwBSEn=I_Oz zjH2a~TeB{Y9>EwF6l$e`(xI z+rnaphv#!~J>nZb*PjZI#WI7kk3;f2XN7(DDJ$+K>SbNBQ z4MZcZXc1R$WN5HiMTIw?Z*NuoK$)%#T#i+E$^vUcWd_oHA6TIleR?azslzOj=I@B` znF_JUeoJhd-adTYjveuY*T`>gyDd0S&lVWluh@kUC^-}K3QHSZ6M>I8V4Vam+vaJF z{8Fi~dL|45iWBa=de@3)0O|K!#=}ocxP5kww&gu!6P$*=*{DpHDchL(d$V z3XpjOy}*HA)}wzZV?3llRyJ_5;c&zBVv=!yPB9K57JI3NdKq_`lnWbRY4jR8G^vkc z70~~lh$dkD_yD2CA>0rP52D#ws*%(C34?sKt0{x|Q}{O1`eAz(x7)OP95>oc*2 zC-?pQ7NIF~_)#uetw%GhnP`*Ue;j>P3bPN4MnL19e*2 z{RLpQ4|-l=e;o3oQ|DJ^0s zTYt;^Dr-zKm*!*liDBb0*1+k2lq?Y%xKx>Imoo72;md1od$c77)mtI`+ZI(ICK~|L zyyK?!=?35^44og+be z_i)2|kN6@b1UwFUX+sqRL|AE9T^rFsMw_|dCIqP*p%CvwaA#MdIjX*`$qfki1~=G8 zX00dZOEI5MNa#$Qn!Sp7r1RbToV0tB!_Npv3OsbP$N)B*IT6e2-m(DPV#g`^Qz(uL zfO#CBt z-_SvIkqCw#Gwak}RJX>k@v_(NETe+;qp9!Rn2wm!b4sn#Qmz{g;IFQ@?=|m&M<;OA zVR_F$yEzDzuEw+Voo3@qZxOR76W;8&&eaSycE<$pu<&+N=vLA)?VaGGb^*c<{W=w| zw7ytias3=8xkGS4mN6e;IXF}tiDwI)g(wdb%J94GF+*}l;u#PyVbPa2$8$X}0zriZ zKiGd2VO4QsK9%WKlxnap?EjT8vTA-s)!YXtUY0~MUHV#wLq3CZu}Up5JiHj<{8&?{ z?88X;_dZ3O*L#$R7>k{5$UqcHxKTHU1q?R|TEUv*_J6m}xdJ4)x zRskfcatv723_u6eD0=6r9oNM}(@%?Q{h8(V8TlqV)fd)Dj}&(IxBO>}wVxFQ3OrRV}1j2VS%7NzGKZjeFvN|a)jHU4tX{V3W`^!k@Fw(8YBhvMu`^t&l1Ruj!_ZA zyz(<>d)c#WI~d5vOyr2E2RQqz@hlQ%+eYaYxsfPSl`|ikmAYG-^W*c0?Zv=0$+%!s=cJbojf(ons zh@ro|LwNL5sky(xGfeV}?%w;2?uq2cNg(*W@6WRF=^F*c6t*u{MW!pPgX9M((RZ;{ zK#0(TygILQ(BbWKVTw0=Gf5pavSV|$@N*O6v+HEPnN^fSx}`5oNLJh^P#pBETnwa} zwzCe?C40-X=L?1kdTS<*=O#m~GgC`r%6z zk~?rb$^p-dg9P$O5BPhd(mN0$5Yh0;-rwhr)Q_>N5R_L-z9#AiU7l#n)t?VvY^!I` zaO#f|eF28Lozw>!)ays*G;9&OxmVg@9Cb3cihr}Jm2HA9pHG#;TdO}QKhs_MT)W(e zj?Cq&h6W*{n;<{e?Auv|UrY*3l?%=w!3fx+zomRJ%~31$@RqBK&;rp|p$N=%1~HmN zwYRu*^p&Qrlh~03eUnq*;5`Rp1L;C9=~bsHw}O4X)1L_enh0MzU9Op72tMiw44~rs zTeu@PcFr3d3baZF(mRB{N*MCez2^JX@z4(_G)iB zHf`1i+K{@-TFf6o0I29>l+0b|85p*A@FEPX61>nZwg1ITNjhA3s+n%I~C0= zg%b$3GCMk9a3c5?*EUXgYm=Wc^OJy%s4#)u#x$D=5C}+@<+IZde|<7V*0;>ueg+Zw z6`|9bHep`o4l^DU(M@R8@P;3elHw>U`Ut9uBV~DC+)hg7;P@m))4rr!I|g>pd=G=i z0}UP;ep#vcv|vBu1)`OkhFcUJ-Hx~bO^j$BAPYmI!0Py>?E+mZn~mb#cl@FFu8s%_ z&^DlBiLL$QCu2{H4~NLNy(dhjH>up3VampfkjqJS3oYLFDKh7*k@> z)?rXO@Py#v5O`Ll1El;ovkCpG@AHCEG+^e7`~$l!vd)~le_aX;R}-l(t* z*=1LeS#t$0pg05Wr1=-94+>wItp8RzUym68%a3;|n|~tn3W}&845sw_HpEcc@OWRU zc(aewI%TR@T=?5u#Y6{S;Ds8;(%T$k+#`jyu^i>8>RYVhNqaH_J3LH*T>oMn z810hvZ#kIs*@eU40bz3xl+O;`zo0Lg0Zu!X zGHcw5B@pj+`>+OD<~!uH_k08n`#n#=-c0hOSUNtVN_>E$b?d}k+Lj&(e|5S6ANh}s zVsTQ4cJ5~Iv}%SCKU92CHV)^wxqFp53G72*elM;r`|KWv04udj!h)=5i<_;e{_DR&@!x=5OzX_WOHly;PCpydzOcYQNTX+>!1k zKLbbtop_`M@S3)YniX>#wl^cN$>e1u%Pk2uhOa8TQJxNOmuM%y&fz8c&L`m=EOC*l zcaE+1+VTaNH0+s)euH@JyDI`x(?}#Oi-xRxGCsXxkulcjNH+pP8wovh!Z=s-0T2!IF?Y9@q>Oxq71puF8kKJ$SVA(I} zx2eV#?$btnHisMwex}=y9dAGdB>pF>O_WLM5I|da6em_W#$$r+4Q+s3hcxWTf9OhO zglram(_>jB^rNtF;VcikvXSXs`U>H|Ant=~Md66~5w{}O7J=_cN{!ce4i`L?nNr25 zzF5zoY%Q3+?Qzdcg~e{hLyG=Kb1o#bP!^QXd zAUF3<2XPy6d+_&DhLo2=_;K>U- z#wZ`lN_`K76uA*qKFgZe(PZgQH=w0-flgPz?R+(baE&m&j2>_V6>DN5c>k**dr5H4 z7%CUR2Fz&aAD8Og9VO$I@IJQQKN)~FXg|Uy5_DjXZ4S!NKDrEvi=G0hi5p-~spU%% z5i5i>+WU?Xo zW@QY@#l6V$1nu?f+O=`OZk+#P*{je+GFLnGl}@VMM{`mB;Y>+b8XGKeVI|J08?!kf z7f6Y697`XW7UFj3PE57sEH-U1G5pvD8D72~L7@-x8scx&XAv%&1GW+JrKJf&b>5IS ztvQ9kOQo31QeC44DqOd>ImNBtJtc)7rp)WKZgt@srub{CCE0*bp?U3Pb=HQQR*aEp+mMa}8Sd*3oMo%OZfPdax@ABk8@2gdK zGt7nncq4vcwe}pAO1rjE&f@Yu)7>CJ3_XVG%k*cl`vgUZcr(KJUutC-McEDCh8$g-L9`;-1RQZTX$@xgW1cF zUY0qszq4V0=@lq2?7|CY(+1K7ZArPCk;YnOA9AD@p;Xu%Bh#(~u-li^C4D^2MAmDa zgOJxSDQeHJ3QU0DwdYyQ28A0FBqG}AXIe*7n`2q;yDP(Fhu=lbJ1~lH`xfjFNS0(S z0@;RPs9&MFXF}2MB|g@N4@{0VLlxx^$CnG>Z=hq)-DD)BTAUUL=jEVV8az$21{Q=h)L;CdQ?Y6n07jz@+1-9b7MnEofTnkc7sGR!p*!0KN8|2Br+f zfA=Nb$ltD{P8_QWrN)ToJ)er-ps2v|CG+%Fr3jpG|V~SgWtpCKovyx`>f6@`pZM z_}3!QR1-or`}ha!_0rN%Xr*YWEoW`8RdZ2mFf2n5WK@#uY)`R`kUpF1w8o8xVUb|n zllB&`&-B2#TzoB~e#mRuqsR~+5~=&68?VSDoe&8oc4`_Ok#lq-?>Q}Ln}2@nOI)gJ zlL3vG4N#mF+u*#*&jaJ|xSuSEZefjv{+;;KH`IH%SNnH0DF#;bhz{wRaW4?f!bt=8 zO4FSUFXTtSl|ag!a_A|jeA|9VExQ?7U;NVP=+rNd_tA@iK-RrmXXUcywpW=DA5xyp zs}OL0MKx9oFu144)?qFmV>kC?e;$J|a#mzo7KfaFuIUy4e-6|5vl*WfqqJa|8+tooE0mY8 ziEz!TabA+hoB9gmdy^IK<-e@|uaERn3p%Z3l-+m4vdyZJdZ=T%JChZPb$^D6fmQk+C?C>(e(5mpFZIZH6j{%lvmvVo7VNb>)$_^|Nk{sz>;k2& zCb4|*>8JY14K`RgmQWyXG_(SH5$L?>IU-NyA=l6&D=Y{KE;ln`9 z7@KEy)7SmBf!qhXayw9e|U z2nYRsRo?A$E-cWp{GzJUKEJjtL)n@Onr3=r_FaktgYDGYoE_Av2*&nxhda@8;ZV+8 ze#&n#>eUs~}ztl-PSCOa#jreD*~ro0c-nvjgy76hNn zud%A2Az>%+yMROqr%njA|4>qm&BoB@FtYQ$V{PM?Kl_IUiXN)ZGxJ~TMsI>L72}8( zx43%Yq3s=+fLQvGTWf#myK5X@$R7msC3CY0^J;}cFiT}~B2Q8g7VVJ!bDh0rB@qv3 zYDX_PUGp|caMlKORKgj=HTAyJBI2=N#6RA!Ft_Vt&SAphJq}?_TQQsQAl?bLvct+> zQ6&u<7V)c2)5CNdO`27F}E?q=%Uypw9Cwo$Lt-SN|Z=EW%!_& zy2jpO4+&N8F@t&_h8aR7nN>p@0`!(WuQh+NXISurmEgopzvso~p2KCK@6Frm_yqW@ z2K+Kp3(gCQLt9~k;S!1^j;x%Z*sTdP-w$Yuh{e;L*c0U7wTdTXOrGS2Th9P91GwLF z>^=M8P|WiAyBU-Ivwxm2x1`(stP4uw0Bdis?J_bJXdE<`9rR;pD{=MN3V0BEUJ4z^ zQU6L)U+{#$EtmnUNK5%IhQ#r| zxiKaiiA}`EpVK=qn~d>|EEuJ(%%_~{rQTq_mFpj%bu4SBjMG!fEZ99NEldEq#NB7B`#jv*D&gy!FSA8%GTC`1D@iF8Os&C0-!59JG3xxtlpSNCX7ei;e2uv967{c2ZIXp zwF!HhP;<7=RK@Po;?hC4`fQcjv4@=5z@a$j7lZ`HMq`wn6xYmZ=u96NSN(Q^&E+V= ze5**?ga)oMy4#vigJW~*M1)pbj0$jw&MRJ3A-q8BX7g-|kd#3xF)Y zD@u8NR?Kl66nCYS2y{E-BD*0<;M2}Jy+3WXfi-i5Uqm<8d7p{ZyTLq2%LTZdV4jT% zTfyr0=Zx5*$oC2kP6V}bL8hu&WB<3Wmc5d%6oWQgys$U?pQPCVI(l^$c4$-|LpS_+vaj#o79Sg> zoqwj@bO2X<2jkxbHAy3WSH<4_D|0f@_mw6km8CyH%?eJvoi;m>Jq4^mG+Hpypb!3S z-!H)NIy3V?k2>+d6%g^+=XmKo)(d3nJpcYvVJvR;Qa$D+|Ccv`Fw7r9XL0`6`adPe z=Eaq&4uNs3Tij=^SKj9ujUX_pWXuo?R%6H6SnTFS_Ld7HjweSqP=fXMLEJ#FZ4C(_ zij-kbMSjy8rZIm+(M+05!*k~opXYVPqQS_WTW|1*Zl|X0Amr3lm`YBYKohO?cMa>z zliSj!96Sw)j@o;yZ()v+5Np=i+y!ibh3-bvQ6x^C2<}x-o9+@ugkK~;zNsf?MqJOd zrB0tubi3enzwI-##ki5V7=r61i<%Z$ia)pM zo__j8B0}_W7Wxd#LKM9SbW+4x)p{{4o?h2Cw_V<~oB}?w6gfQ)9YM@NsXCP_?=*DI z9)c0ak@R&O%zL=Z_`bNDrm$>SOZ;!{!r`HmYQ&L$4nNl+KkG{Y*3xe#w!%#+JKyd= z(4isH1Vnt%bvwptZ3!q%hXxn<2O2QosZh|PRjY>iUY!c)@iY@B(D zSp&88*q@E#g_nSHxJUNm0bSXPP_~4)zy0*Fwre8z(ziP_;>bB~+`@&`)_uSZZ3;lf zRQ&^gron|@&~Dn%9se*?pnFOrT(yK&IoNo`UsRf;CGpK4fX(|AtSjw&%6M>6=aD-I zB`nJlX&)NR%jDD`dS6M7#cvUmG2?dWKKp!DbP$R-0HjME1_#_KW~p%ZXP$_w5P#pU zs6~zh(Jc~Jh~wgUA_}IB3u}yPLYjaD99!anubKY41ZDd>4IzXOU9b-vX1^B=ucsyl z>xI1pDUy6S#-s04O@7@cgSnLOcGv4E`OtYM>E>uEr_N9caN8_}l5zb3REQMePfVz6 zXX+8NfQOR9dU@B*6<>&d_J*7KAIb4rjbZq<+VTw&FIO{T!S@QDfC7w8y8=u}f!@&l zFLS@yg!vG^royLKV0h~3?m8t9xA4ufnb#jS>e*CG9EzPq=2KWRERv0d3V*x7i>~Z zaU~CN!KZy!OI?8gwu&-s+vzJE65UbfU)XEIG%qLu4C!fE3=()r((-~g4Nf8}EEkSuXOIfQj0nyced7CWqDxuBMPSFkC6 z?~kn&?2WG9OGm?+n^3x4WFnRzqls0;*x0QOS9x&-NkH33G8UOIzRmu5g-SiY(|i*p zXeleR@~vtG53)or5XrluxhiwUgH@WPK%m`xe86t1{=!wUz|#Q2@e{E?8HsO2&c0 z2s5? zveqF9;_8=m!va_^pRBxE%Wk3VkyTQ$CPbj*l(id~*UW46px4`!i)v%65hC%5q^tWS z=8|FNaE(Yl$K=7v2^9M~0Iz?{Z&>kgxyC5fH(63FG;qMZemwxBF2!n^iKb_LVFw7& zrq1~e(MLH1?~y$Y7T_{`=pmF(&q4ZNuG7srlM=#a0FlujB)hWi(A{Dh5x!a@47mtp zF|pJ?gsm{2@K=`M1}rB-dS2fH->NHZv(X&i9~2SCsohQdH+lFQ5Laq@tbKDL#{4-5 zbWkFIV9Icy!woRp+9j-Sl728xZn(`U0|)xDdeUQ%nIj*>A*XLA zeC$#cO7KKm5Lx98WdIfUCfi=f7FT;gnMq8@+UjuVp%(?Mmq%l~T@Iq^atZGj_PcGX zMGozX9gQ0oCX%Ubjl-o%e1dS6ux!v>Uk{>QFJUqZ5MdoBj_QLnm6h6$6?sC6v8RO^m8Ev7T z#@V&4`}_C$91pK`QcFE3=1uYPBApIGi?wD^tjrLKyP@P{W_N1YirU}_tD+$xN6Bvg zPeV5GaHB~+l|<=ndH>@sM7cm;-yQD+(VQK{x>k=Py-hWsagCxXlV0J2$RY?kAnR$Q zahcDd4bB1lf@H^ipz&VQrmgh6HYbb18evHj(_^QAl_rVe_`;#!m{OX( z0Z)cv`mB>5wygNs`{?UH-l|=_IUr}kO)1Ud+!8j}e>C2E_nNstpA5#7&fqk^H6s{w zQ>u5Wf9F}|+wig|Jr{sr=k9D$)+_il->KoFu8+%cPnMB7E$jRujI>qbjAk@O4U2za z%$<%|2I$E>i3?o@fm=z!LIvcvP|HPg{q>?V-SlR%At?nP0+v6x{k{RH8nOSNca>&1 z(YrqI_EZB8bKu)K0Hwcgq_oaUF2tPtqEgtmaU=@w@DwQ<$-^V=me%{vM|8jA^NG`U7WS z&M?rKx{vU%r~=cc)8%*&@<#Mr)i%V*ya zdCbOS_DUB;)HdSKPt+R^ZF-JIZZjrZ5%`Ki1P-}(s$k0VRH;xX^iy9a;`$ZZO1Tf zf%SH>9}$rZij0nr`zpmGrB+lWE!ML>b`JOcu(X537 z89}e=Le~Bo;K>&iwyHEl8G(3;163NzlI{+C5=eG*WooDKY8S%Ny-6D3yv6JWJmcrh z_JyK+eYr3PtYHEF7{^@H9MoJp^>4!vH-xr9PpKM@`xT8)(Z+4?YAo`=uF z|4s*G9ov1jKN@#jzEgcdpLsWW9cxGBPHfw@V1AY+gN_qM*%Cu|%$8*k?u?V1T*!h870>BX6*)2}07?UX;*8oH1=vf|Df zu1;C(zF4*pUGXx5-M1jXK0XmTx;oRh=8%LksWKo8bW}f2RkJE0Wcm?3Pzj{fgZWwA zqR&aw^?9hd9C0DcWpT#8kfzaYoUM6!ON)~A*=cPvC}i3jb1Q3#ewHIr)N8v(f2PzZ z#z`dzS%`@6!+sy9t4cYhs&0pAwfZ|C;UAU&0m?MkKQ1+I^);uaJGF!;_h4yj?#|VT z(${8~6UUJQN~d2XvN?wK#ioY?5j_r{V75FEj{|$mTj`HpA$o}TWT=kR*F$Oe2KrfXBlEwK; zYefrtaV_*lY{0*D&c!ag&=gi$86}u->xKCiq|BFV{@~eWR1&PEOxz=|On(V9*$}Gs zHI}A`m~Z&ZZ=bVi*ZZvHgoJnm3uN|JxJ+C#mN|$R;h1b|JPx!4UIU~ zfL^FI&PL2x2K!hiWYm=5f0V)e?OtKt{z!Kxc2ZbKp2j0v1gfgP+(Vocuii~*D#DTL z@|nct0aTy0zQOCa_gL_Kh%_K=B#tak6Ig{w4W8$iYdO2VKkS9T)4s;XtwU(<#|L9{xd)fx-2EwJV06fd2xGg&;tY!E*(w z!P#_kQp}*yMqI(5oI4i%b^Yt{Px3`nW)o@l1kg84{PafvBmUmwmWnOOmRdf(Wn&$+ zXYySp$C-mIAL~FcGbR`rll!lJhUJ|EJW>8pkPu`HbuiL-pPZl$|_>KkIOTBcQjTJ*@3&3w|ZsXpMYLd zr|dvIV`)0d3Lk(w?$@^YVNzRaUGBH3^H8gqjn9=Oo5ZM-(INXAqv}HHdpo*5NBxDp zmIM%5G!d!(Gsu_5#ki`vpl_n#Pm3@1Tk<6TMj-;Ja>}_<1YHOxs|M(TCavq5 z-*jL;szfm(@r)kys!-UlnBCeI?^KqoVU0jSA%x2sVZGBA(OZe~We=x;qMq(Ey_(=- z8X~N^0oG7VJt8c9`g$E@Dj+`a9Lf%}RAI9|%L}GXeKuZ;=Xd7>oF%NI0I|CuE>+7n z)tH6M`=*!#A1?;lizaZhEPUd(7+I1y&aET&4pO+yf+w?ilc}SjW#LmiU2E$ogR9|% z(rdwO_osY}2Z?ujEce6x_IuvA$WhMKS`ve{@rbxx?MEd9pIXCu3kxmb&VFLG=!wd$yuV*>ko{UX+PpJXQ~hyLf)`1{v0%+Vl*2 zyBYZUZ@YRQypZ*+jS+$;#+DE%qb3F7-E(AXmZlo?j{*s5hxYLmSo3#2E%*)rJ?yUU ztK|LotacGqb-fXR43-+qiVUd*@|q>`k!VCDZ_DyJsw}Kxv~u$v+PY$m6n9 z?NE3?1&0$ylY#)@PAMi2WgBseB5&B*lUMcAT3D5*ukil{9)i>lp9A#>2k2gG7hM2d z3?EmSH^_?o^|qUodxg&qXXL%IAOljwwk==Ujxt|8aSmfiY&(^7+Rb z8uulLMe_+O202_$8X?;7Jm+TIMaJ9eJ&$)(BxH4;g|}r~h&bwDuK`jX{V^;Cc@~+`TNjxWy91h9u5ne#XT|ed^0D70*>Y#{ME_QHq#1DY6Ol( z@ZySIN77`gW>t_DJihMkTnn^kQn*AvRPb(O(dDNIZEz37VY?^d^j~rx*aG%u{}ZO+ zw!rLWvc*@sxe{IxZ4u~Kb*G0uAne1V_NTZ`SHQJ!B%}VPXYt=gW-p#Um5&sF+zWGA zt6!H+WP4?g0c;=QYgzdiUjpA3%Pm~zqokL;Li(y`r?Ur4+IGqxVX)Es4cmtP4&r@F z*yQi4J~(ekY`|pDzir5)$>Emw z&!i?#ZJeJYLKY5%g2NxoyZ(dEz-*2qFxa>*y0%Z%(&NZUJj+{FAu z{x_lzx!4&QY<=Xbkw%qjH8skAeKu|OfY{}>c2Av!SuP_BpKaXwdMmBH#@>gR6nIB1 zpZityKU!&WrabY&&@~)PvOAvmLJzAarp75m;5=Xd_Sw^5A>!c_E3*0@x+TjbOlyU& z9RAQ8B>I|+u6dM-anDaReD6k;Vc-S^@4aEN81cn%+G=!@a;yBgxj>d&KW+{!cl{;) zPQ64CAjk1(q;&@iJLTf#S?{RFxW>5i%LY5g_}#T4=Vnuv9yI^0>|D0tJtY;J^Z~ta z>ygGS#}d*JLomW8ETp{UYo$H#`L@EM)?}+Yqcm?+47xH~16!pX>R&J!T7?>%Z{@eH z{`h- z_Xw~L>y(yUuOSR=Vxlth5h!QpFC?@Jbt=4+rX-J88aQm+C47p{isJ$zjW8X(33g1T zmMwMefQvc@Rx*Y9(vAH>;c`K;1Z86qY{;9`U#iE$WzzQeipY2eS$W>Lmk<**NmhpI zj8(;FNjQ{@BYr@fe^YNjA=XG=&(m5e z?eo3E_m*O2XK!TjCSyJ6GWo38?TDevzU{uEwyp|$pq-%8aAl|g)WBb51CwZ)1XJMx zTiI7|Gc}R$11Xr=vc5og`~4+yib-XBh)j9^9F2(G?rW%15k<|>>bol)s2VXI_?VL# zfm6aTiD(0N4{8<0m6Hx`udwv+FCd*8Fhisv=x2}i#SLyn4TZ|1)_OSJ?D=CV66}v) zfbDbEkZr{(2!Gv{b$B>1W!O|aH(O~gKClFUd}v|0FYC`2EP}P1rKK1EI$R>Um@=NH zq<45RO((-RSy98lorIb&tUUQ5GMjZpo^jt(F24B-kymH~ZBh?5~z%d6Jh7 zD6_hu5hvt+gbE-|(LN~P7LfMBhWx(cBtL9mhx#Rvl9gK~K-^g&CLKz)R-SdvmgO@^ z49k8qf~nmTUPfDnqI8|{A>rm~UU*IA8_(qQ`6&i00au9%-$M=FyrK~;id@2INtGoB zFej}kywSR`8cFEQGid}SY?Ei7n?UwDYsTEs4P(C87{7sF}#*w?N;j(B99xB~@ zvjukIp@7>*>6I9Su6)FK(dSRM7B#yB_PG-P*3Z3z?IvPuIa(uNV|oeBlt&&IF?q$e9JIVpSxk*VZwO=`e5( zz!ip)=nBjKKC}%yW*=^S3_zSU3N^-YK`VMDJ)EcXa6EiTSqxZ`f_G#gdI@>a0LUW+ z{3JivaRSD$U1C5>b0j~Tkh|xuP8cfjv)tG*tkcybMs)_)ko0Z+gwn?IIQRnI%|{_hED3 zxkolaPuZL%-{fT+e0ahezn%TjFXdx~7Wfr5R-p{f@}DzDu!!P;zLYkJ9J3!@Vas}Q z-ZV89BH)2#ehE4q(cj9ja|6uO-{7((nX|DkpB1S~54!wBTJ6Do%`|Tbct(JS0fzp{ zSwDqBD&={>%#`6oS6}0L9N7(E&JZo@JrWOvirjZ3w*^36|Wmwl87^ zqz;cHp0qN`@5(>vj+IK*q`5jNI2`^)&2gWdss^42&J=+kYqajB_L!J7O@@voD>RUK zoDB#iP(dS&fJ2aLu@r@dWi7Am90cM!%aJPDY+O#XFE$vShM)Bq5Y0ON@a?TMLMwc8 z67Hw;9M56u1f@)gUGQoUu{5QF&6ZN8sh!Gdx zTOb&yKM)}sC`q*trM7KM{OEY0NH54hYp*!{(`C6j)lN zT)0(ul-s|>)RTqfcc8whTVV2>j&%$RbEgi1Nx!`RpFhGs%yGHY&q_l(X%}QQk*Y8p zroeQx?ekf{{Tlet!a0i!#NG2*+NT#R^a4oN%q4UH9Gju(Rxa&*#eMiq3F57g_3Lbd zG|6?ziVI0_84w`ZCDejBhjI@-Ftx&tmE9Y;-O4J@Ijauq&*Ul7Y)Nz^Fr1a_sW&sc zSQ?VA9V+NQxluhhUtz9^`JAUF!)!ywXU10^IF=buKGxQ=> z?QDf2q=9`(Qm>Wio3Zb<`r;b13anlAEIP|yt z_4$|)eN_C+2deidc*~#bN;_h*Df$ znA|@`>R`}!K)^XKxMYPGM`9WW^q&%)QCe~}IYnJxSq_9z)D>`d_RlS3I$&Aje!0Hz zQgMgzGfJ1W2dVo7=#82e<|GK>belIIidly&$5?bN2Pl%zJ7b&xw6SPs9CMcFuY{B* z2Atds$MiJxt!hb{XQn2f@hm+}^lQZu?I+TOVUbGbmSQPmmDPhS{tE47|2^-PUl%2b z9R)326+J{BW41NKg{|Cz2IYhIe>c(2)0NKsl*@?Q*LhX4;;1S zOXpuM4~l$)y(#g8d!|v|Za7hRS718+AcLpqReB)k)!?;3*fBEAm-+Lt-S9AULQGyT z!>?p>z0uc$4n7DCPJ|Jh$2tPUW3Fhr;beB+hBjM?+S-iEpM1$mrk1%vB(P$WyT`o3 zK?Kg2+0uf%M`wH`RaXq<_#Ma9;w2qE-M)%4G|1L!nELl2ZBNx}Y*0uo@LW3G#yNxk zft@`BKZWGteQF&rSd})+MPdXHPMsD`SDJp6@(A^`FwZ#CbtF$A_bO^!RVqD|csbHe z`BoOuUyp!B!zTuv7i&=Z>D%@jOd>u7Wz4;T!T#d2Zd@2^dEz*glBanlsTgF(J>jV$ z1kvCOT1sYfB;lc?ggDCYsd={xo%D_JX^&QuF_zH@^4`#h#O#QR1|N|9o#2$i+gb7R zgx&IV;VEyy@Jo9o&p91AY@jc7$7WD^( zE~MwcfA0${!sdxVsNP% zcSzOSNyacp;#~FqI*cb2#({q$`A>m5$S2n=6Y*rWZiS@CMPIEg`hF}NU~0-~Eex;V zznv1a=4%tB-{>4SC)dsb5MQWOhqeAJ9qkg%3DZyLJJ{_9I7uPmr3tC^`(QpKK6#^b zEvazQO~YLF>%vF{Tj2hV0m3hvgdcfU$D;+wS_4h5vjrk|DeeY9*qRsCnp5fR@{4JYYFf zRl-r4$@*~@I6&2i%qH9uYmUJ4FmbWSD6xcdsw1EFiW3{P!xcFJui8sRU38LhSJA&` zEP@f}XW1Tp3NvDy&@BF&w8?gj(?s~5HL-4rZty2Q0K|Qn0(yoxwF}*m7?LeQPDsz| z1>z?-OCJ1|^stM0C3`sRckFI!_yAlby4?RgTSj*wC>9!B-GB%;|m|ZRo z`sFaT-xWgrNY%JAu^UL018}e4MbiT1ZDZ`4XYZX#8g-(ML$9BC@^d=#A^&-U;KCtl zv1hQP(5>x4J&_aK2FOGxrOUx9O4L0kaMb6F>94Jm7Y8}!p5kMJiu*P_x~-K%P5I4> zLjQn;Dxd<*qv}(){U9yaRdH)mErO7>WxBXNqsnpIqT;AGp4^GwHcKLQ zXCo2Yq#zBNdoM+M@+^9@Mv!MWL`eTp!LEY=w3J8n<$=w|ibo3mlLL~d?%Y?Xc^-BK z8l9-g$!`lxLRe4;M1kJ?`ITg1F|O`PimwIK9fS8lKwBr^C*a${+5HBo0?unb4dlGx zG?bfCvMDA@Px{vF^_T^sun3)9fAy1$$=^a-GMy`%%{#B5x?qZ-W3ouU5wsbTm6F0F zRO~rOoT5e9S$ca?R_AQd%+Nc5QtD@SEd_W{CVr?5`@zaolay5YSW!Zj2JHF_++q;JPE)v0k3 za(iSWKOZgaVsBJLy26!1Bo1Pxk&RufPNe1gMcEUKG8dt(Gy%Bv$96z3ZZ;H z_E0`93Ah(2#CvbwSnd55{^67MF?7GU8L~tb5`uzV2`ih#+R8uLyF8G28m!N|d_y4yDd}J>o>@V>0-NC_{!11wWG$PtVre{#K z)ybS0_iIb;L8O6Bni(R65S(&ef1l|~OK^1YtUv*&e8ImbmwvNM)j9q3dk{EJ^^j>pho@Y&$6 zXsawXRt9atFpEHGj4?VH2)!>H@!W%p;8EiUE9*n@yrI`2{ zvT}RcwlWi#)2f+{&{F&#E|GK-^o8CCSP}+?n>Wj!mQFSdKU}b=!3%)JAV22f@l7-v znQxKE zs3Bap1bq}0gjTkQN;wrAirv$~mTo^TR}kVdx3JVSVW)1?0f$N8N6M{pjtnGZzC+eD7{JSqW#A_KW88q zDS2_m$vwB?QkhTl^DA6AYv?=ViksCKz$2ndCgKe5-F7G16ptuB5||=kN=Bkaf{%LW zvN}3$ej7d6kG-NU_e9P~Yt6HY+$hWa%Diaf;KFpX@iT0^N7_{b^p{j7sT;MM6kw&u zQ{Z!)$+%hO&?%vlQC_U3u17_}7i}7bX#&Mg;VwkbSe6EZ|#Zj_twZ zNj=JO+`QaKKPVd{oS&8D2hCFXLnKl^Kwd{E%`}g@BjSixr;JLHE#+Jpm?$CP#u5%&}0)psMl*rAF9A-=Vev$nrc*rGnpxo`NhkEQ_#LBVwUshg!G$-~JoWh|! zyM%)Ce+|-DxItZ*!8&cjsEsc})!kEa#E4W!T>uX08Kc&%kN;fy< zV;9m1Y)z3u&@c7X5nkF7Uwc%eF-ur~{TSq%Py4l_OU4K+%*a>r#%lPcb_bOxnflSz4bE(KhZB0pQHClC6Ct+Y^Hd+l_Xn^T4A<2XMTtG9U8qwbO94k9z^UUq{ zQl~VA;87he8d>8hnpXG6a^TzBiYHX`Y^Gcatm^CCrzFSw%XaMCtQSA+dR{mEgy!Alw z&bTaa>^?V7mR(yieyp#qh~Zo!unm@1#%xT zh?aelpk#OzyNp1D$S8yPeCYoBj|yzs&*8c0(L5bSiry zV+#~_FP?L1sE(3Ba~UN>fHnuJh-=}y0^Q5FvSQW0@ENUpGt=ocN1B!7EZoI$D{nM` zF7IqsVk}XYLRPR#b1wzY$+~$o2Nprjh@p5uc$e7fyI;)K3i2JRb2 zwoR;YQtQyZG`^<#*xg)ai><@%9m+=v@&;o}x`&wK)tw;7JCE}KN-iu=aK1+&ka{}d zB$f>VXDKc$F5^v>7_$468aY#i%DVu!VF3r@&VrJzl}>oGttH$};R>!aIv)3(HjH(p z9~vkB+d*E`mnXA4odOl-4hUK_(wfenTzAgQiuEkz8hT2_m`P0UUby`gaNWK!SB(SNhJ zLi*kWw8#n_l;@P#882FTUGwzw0%|FSj_V>bWsA!;2P|wVhz95Mz@^C<1KMy&uUAyw zqJ^Vv{uZ{d|HIaag=K~N;!dSK`n?{JhFBr5d@gz8iOam8j2Ka`dwfJI!7-%8PR(My zGEj(0X|vkowx;@>3DkDw!xiSZ<0o`6=yejJ@V7)3MLJHQJ=8Nzd;mYuO?=13GL$=<_z%@#p9jo?AGiP6-;s<+_GC5{J&Tc(P@3+EWx`DnPprBBI#ye$n;jHb< zwAr!ZRJwSaWN7%QOUC;ad+0aDb#FMw;iSW*48lAvJJjDr?!nHcwAerhKCfFhro=R( zq`GRCsimP{NJb;$fYpKOk5>2?^DplR^I6998~KR`!aCa?Tqtm1Z8mpre7p4cF*jH= zHedj-Kzj_XutP2LHz0Rf#671l7yge%*l(B_3k0gf9dbz(gx59{y~EU@NdhOT&kYbu z=8)Wn)93?U#1$j2UCVh_=fFt6lJt=xGksJV`0Bp=HqQ-use*v~MvGk;dp4Ff`;tm3 zx*t)}It&69@1d|vlnQds0?D+?&E)*z&PAsp ztG8Jr!WE9%I4MPE?`|AFLxH7$kn`1BN+BK<0_r}bM?K#l+A-TR)#wR&eSYtkU=Lrz zE=ZPCdqFU99I)~451p^VV6&Dvn8o@eUVyX=hSXO*mDyEytn}mav*gb6bIKM|PgnA9 zXi1wAnusbS;%R3nO#jAGDe9{`@*%i4>iyknE<=kQLGcFx{nJr=YAeqR zv#8w{Qc{sZOS7f4t8YH2XUZ1MbJ6FM~SN zeEKP_M|^%i%O5q{!tCm|HI(zj)vHoY( z3TdV2!|9X82BFJM)&6|UlBIrd82Q_iBnN|bqFnn_cyrH>8Zg3~*Q(fd^f2V{>BGdT zUCq{RXBP;|*Jj#)FnYoS?JG=A8Z^w}wb4|%6NBP6A&NInGz!Gzg^GZHE%})5_p7%~ zh(hV7Yah!Vz+Xdm)E$!Yt(bTg;FHP#YM-lxEP0~ad}D#o1M=*5cbj9!-`4le`=>8w z+n7Sl@Ouh-=qbtT79ny6e%L1drvC?_vt`TaH_@4SSB2vF!Y~|VMa;wsP;o)w3Zh*e zNSsh9Zxymi)<@WlU_PIIV^8WfdXBR)7;#GRj2sDW=}cc}>`6Efs%wDpUAxW60{UUQ z($-eol^w==%un!46Anq}FW1v@&~A9GjL5iZI)1F&K^z(Pf1%ke_7dPuAi2J01aOW z9PGmvv%ZL{dYkU>$j|-(cCqxR;93E<_(SzvS)_DNM72~Pmy#-W1Z6WK<m4ReN+IITQK)41yZ(uz(N(Q8dtl+%@pRXOzcII?ML&Icuxgk-OBFF)VN0v~ zuD&LrNr4h5B=YE@ux z;#h8-A;8JUwQ}h8U3xNep#&1Ze%)=nA*e$`SwlSjjWe4QFFdin7bIplKW-v8<^q9| z+IhywX@GmW5P?i`PgyVvvvi6Gu4dCdc^Xzcv2nknJ80~ClEyhGM?XCCAIIKhMPeIh zc#j{@-@YSD`8-1OjT2kP%ShRu)v~h{!vLvW8(mEPy}yRxH31Ed1_iC7 z4}h!6vJz=cu(cpx@cCq}?twUw*TQADS=xxl3hA4d^}&YUK95_MK(P;<)H3i}3)OHe z&y@T~r45Z(f{07=#3!(;e7?5;PrGXquXK^vkPc#(TCp$&j1axP(+Z1FSZ{2w>C%3o zcZ!l5nRy0EhS;;XR4@vji zT~N{?L-QjTZtJ~Bj2{6mKBdSSkonw6;1}x@rlma~?6Hhdu)Djap~WyOBdDI3o3^&- zJBH}PiCwjQNDp%2&jfS$lI$h(uloA3MoqZ1g(A#kl$n&vmPlTIRn1GHYG zO%EulnO80@KI?xmWW%P1n-q&AYKAP|&PmHqVw)+90eX;MSiVyvd@;B*@h+jbXU*W= z6_mpjI*9D@s&qLLZLcK5HWdFN zqQxOR+)>dWgSj`D+z?2eI=I?XXHUj<#>U{$w8_wHm5pu4Hme}!ZK2mm_Iz>MktJXF zGy~`i1-g< zu@t2v6h&F?B^e-(!{#V6q*V~ZX$R!re^M&Dm(W2D+D_MGbpcH zA*1K3*!Lg64xY{fq}tHzl^m65d{vO*W~g-~+8r$Txce^R3{x&k6yCxUP-H{i0O#s- z7W*j#4NOs;-v(7?ZOH`VCic*3!}DE)+>HPPwhS^Zb(nzrX7e+B`V684nhO-lW#nI+ zTPp5Yw#eRp%tQAy;QsU1T$5@kz?@^HeV9O*s#}@RKY*G9bkihSu6GzniZ7Z-$&3hk z{Ih4X=ADtf2|H5fu`+_ldh5T_OJ-U34LwDa%Qy9u7cmw1d4SoF|CUmfK{geqGdIA- zWG?m2n*bar&F`VVTVzl~w;KS8`8pRj-$fLqx{Mu2V#7n4Wn5VNV3JC-r6Iq22+NgM zAd^Dh{70Ul_?W4vb zU~2&vPBu5-*t!Dr3DUj10!8InCZA+_jkH7;>$E*hO@`HgUp(GJjm!h&&mp^16jBY6 zZKd~3F%vwydJkJ_-eZLIG(dA-|crem`#{g?aKg_nj&q+UG}@>|pgiOl5UAXOiXp z+%dYbWV0&LXhA1SEjAXi0H_;)$)sn=ph9U7R$TL8=hm(`w#4h_6hDDjr;{QdUHNox zUMTZQb4H|P*RSa+hlb1%QM6_uxOfKd=Ry~D<*)q>t9sZ;Fg=UHW9a?--J$)%6A!FO zD&9}$D4AvY(q5iYg;i$p`DU%?Hp5Q9G?n6x93mK41}i}h^>tfWBGOeQ_N}4&9!OT} z9aIG&DiQ$s)!?lB5+DTo%;tNzaE-Fb{6kx!>o+tC0wGbehJJqSBYdXac6Sj0%Rl#) zSb^DpBfbT*c1%!8leljSdFA~^&}H5hW5L`6EaKIe1Sid7m#fFaRNPkS<&VGXWRM-UO-w|+DvVE7dd8HsJ=vs@T{=}kDS)YK@2z+|6QP) zQFarPW?q8{L>bULZ(3`RcSiu~^ZY$yEJX}3+wTKQRPPF(f~-EAvIeauv6uT^3^d$@ zIT^+!qLl$8FQ@+bJ>}ZxMUnWD9|x?_ReLh(X7S#?u0>Ia`P?ZX>Lrj`tVfu}YHDX$ zXUSb(E%ZePEO+fyZNg|FwM#9J)&kW(^$G8>DtHn6va0p1v27fW7BDX-is1)2$+$MO zTJUuMFnkg`0QysO``d-rv`j-&E^eKmWb;IJ&oX%sW8Cvcln1XPSa9{*G;;Sst2MjX2f|u!m~`- z#@9t~+GG>b#t!T%QaTRRfj(!XXb{K;Jl^_Krk29ktk4_G$wT_ZAp^||!JyfhuHeS@ zJo6Cfu#J*ONFc{Tdi6HO!=(`-!h!ZB7N?m7o`xG;E@ zNk7UY%c^m3^iG0NTI0~(3`AO;6;v?UiNz+gl*tZjiFac1%2bJCaWVg+acj)(t&sfK zTmi{2-)zorG8RUJ1=T)Z6{wtiA%7(!iF?wi;6`nKPvj$!GVOe7z1KZgVO6YHZ-C%< zDd)buq}WZUt7=o876(0J+0 z@VGBbR4c-yX8gA?vNZannK=@`@;8Yy*MgS?LqYb)A%{UPU7x2CF*0)bql@A%El!03 zqp$R>m}hj7=kweeas8`Ftd4Dzv!=l&N&bqKxNWIf+?oiuEr@;q!Js&|3=sWlWB|82 z2Uv%vFwE+l;3`Vg18p7p;&)a($D5E}moV?l0Po8ju95Q{Wa*O%=Fzg0TfxgscR#1D z$K{0aR#@MzmET?V&EqGSNO#(ltCbxl^H$5^UGokDcEUBR=CnC_b64xV`!LCBOR-?-KLP zzT$VSMiuZhZSvsQF}@^++^j-h32OTBDtf^MZ0gDLL4nbHkH-b1N+of57T%)d=%k{k z4dA9v_>ZDQ43NdhCiP7z(Pv6PBJ7 zK0;{&eXMi8!z~TE^~TZ?UW<9%(Y|<(Zilr|SXh6uVO>zZ3FS&ESc}%nwl8aQzBqSj zeFHbML`F_vjT3x%7VI;_$`X30TcN2621qN3stlFYnwE~{fN&Cth>FDUv_`J=Qm41c z@X1F&8Cc@R?JHo5f)#9iPzr0GbP-PJSc)HqKl2>1`uoWN<9Ug57z%6u8pGQs zE&yAd{l0m$^guyjyL0}1snUpCyqRQl>j?BWI#CXgN3ZVwkgH)_a!Rd}wEL(8pqA$| zDXb4wof_x>28e9!>0cRbU8?C7RfjTUUe80*+`Z#~|M zoQG|wIJNUKE!^&7es+mI1o2I+SNe2vV=;XT*Ek1p{{@GryRwHElhROHk?6nb@i}#= zsF#oFe{m@ZO8`mwqI)`nNUbiO!l}=m3R3bu|rTlq?}jB<}_LzFuj20YkH z?~+A4IRPDMg5r_-9^~Lv5#e_yd zvD;qVVZXX?H0@S*^BJ9MjpMSXKo$Vu*L==>iV0G8UL|j=BUcKfZ48BAS*ku#b19%F(0|o@p z^&hwpAS2-wzaAe$fJIz-_TpFIU;(ji2NqEO%ltQZ13?zJ!Gv&E}ex`wgo!%FrnuWmY>wH*sr4-jb)txR3| z16alM%t#I7QNzmRAi2Jm>DV_yGXiYtKF;>q4ug2i|MVyk7V5N_D9Ynhr1znJnL~h_ zAv(CVCNE)jliFkdmbEi6#0hg21xLsT;H?B2?_xnr;ht(-70f%T*ERG$gHy?pE0bj8 zCv1lqO9yNgBwLI>4BmO#mXzb=#P~}!78`bO?g0*atpg!xIY17#>>sn98++O3^tUd{ zN}=Rb{ikr^*oRpTVzSD5qcdW6M%*9`0hfolR7YtFz+`T!fS!MXZ*y4NbnDhjx7&l1 zf}Xx+T_G9oulyOGv+4QPo__E!t3A`F2aE4Q*s-avofA8L?Mpf+5IxGp_?L2fv9he= z6J(~YMXDQHNENq%YBtb5B4gUO_71dI1KgQC43k7+3pSABL>u!(=O|#S=MSF8wBh1_oQ4bm%k9sX)H}fTL>$rx2Hwyx`mnlU`n)yNJldj|} z^3_b)Bg6;2Iv#-rcl%>CqaN!X5)!Qz*ZV9P)fUj0R{AzYT~y`GPPtepnt-uPE^vZs zYbKWyuv_wG@e}~*vn!T~;%R}$232y$Jb~mr*iZY^jfc;L##1V^^c2FYa{a zjq#zRdPdcmYA|#Vjr|#9s9|z2>z2G`SR3dy;i_t%L$;q5XilB1GkyVH8=ZZU`PT?c z)Qo7)rz?e}q&@NREbT^UpIlXnJfKAcgQu6@Ta`83kyC5(LO@?N$RtE=@^Z5hG>c^^ z(9`Z~VhbmJEZ2_;%+h(ORlX#{x8w7MGstEhuo}{iI_&9K{vmLu3h<;`%k5SWHSf#% z$f-Tks`5s~ees4?k<@|fDRiptt7}K_T71X(45`5GJ`OZUZvGe(FMgXa`c>(e?vR{>Fm&wIJVD51CzL#VTi&qvud!By6jN%nFHWY>YQ?o{2elU{D|JDs9)~bCH?RHX+xw+* zM}P%yk9aq>eu00d9|oM3E82(%#5z_3)x1f}J+RLB+S4GNiB2>3Z%;CTlQ@n@Wb}Bu z0@};A2?7Gy&#XSZEDCLWT&3(Pq^5q`nET+jTZ6GxQ^lSjVaoNzz6pZ5X}W_;{ljap z(*r*)T~G5%f|K7QLsH1zNji3rR@0|K=wPAs8l;rW@rX*YU=P1gzY0ui8pV@qu+8xB zBiOO2|6P&cBx7=hUky4}=Krm2=VELGwO@uxSbC3@0YvrN-wOvn(?3Cdi3rgRHE@$r z+VYe$NSN*qIK95cp>uK5F4gf^Y=R`9bWp4YRn{fcp%c9dmk*C*d9u^uCGAgR5~BI= zd=XK#ldx6}mp^O$G;G0a{+56Iwiy@Pv3r*5nOBb(M}r}}jq)1`qm(A}zXt|ZJ~>NB zPSEXoAFT;pY}i3Vx-($C=9-7&DJ~1}VB#~;k9Z`ZhJW@=$|^9T@=@&AjY|;eG7l9B z!d1Pf9p0GBEp+Kq-&X6j#Y#u^4w_aPHz62S#EN=7gRYwUa$igHIb?vjuKci+?o$2( zRIOHV#e3_{UvHqM$oS+5LaSrZyt(MC`^UmyAH&T(+|KS+GHS3-Vd|8M0pnWLtl+>C z$?fMMa;r}NAw*ingu(Rk8;id>AqmC~5b9ZjF2S;w`#+i5$=n&#T$~7v%R$w907yW$ zzpln$!%%SS#=o5{#s&`Tj4vq1>ch7Xv?*JIFCh618pz09CE9$iw)1# zI|Y$;G$jv1tE3f8Xg+KLcQV^?y+=<^Oen=o%>#~6%gNB*AQIFg+4e0i!d~-Gv`v)GFHt0Af;e^2p{ffx7G){TA>X1ZzCBJa6I@7bXYqG}fL*D5 zn3NU`w$Z9vkh1|$bSsN8wEf`5IDv)?H*6^&J=vw3>QF=GYWt*ya7`HIblKKFuxSw& zxo6C7_ayHR7#i4x$dsXKO=UE=M0~ODr0n*FtpnA}(o&~)0G-mgCr9MFB_wmNO5im?NE;z?r_9xhiG0E|f zN-Y~;-@MW$$R_JCRAxYlKL3erBeqgW@fNuVgj{<&F%{0!5%`XYk$unF-f zTViM+8A5WroRkCl8v*;qZDFK?^K!`|wu&*h-1a82sf|8s6FY(?KB`F!S#OyEClZK zKZVKDqn^HRyR-;`BHEm;PyO%hSE;uEg3B%wIUd*0c>vemlgY;)x4@}iT?=$oc4Uv> zGIA^j4|`-B#!1jD^%foNpmxQb6@*Q7rGK(m8_Jze(@bnE4idVaAIuO9Ne2wu3}j-%mdk!#Ek2n zA%Ztt9Cdc6$Qr~Y7$Umrc>KzdPfHkMz7WS$ed>$rMABmC_+;BCD)z+6VVd3YBFz>J zijEBP{j>=;(jdztTm1(IApx2w5u+Ou1eCz5{#~-ij3%P%FvE+ zpAYxYxi~`?Ej66F%Y{VrC4eX6s{XzyqIDu{fa7FZ2$N4AZw^-OUvanC4^^xSea%7i2GL92z9&42+u}tUjAvYhRB+ z5aI9)@U5Nanp<60w-#(5%i=bBTvOYS27DxK0?M9SPHq!eDUxUDD{dlOa>J3Q2^T09 zCm>LaRw4n5F9)RuUmmOKFuc;`i)H&ooWOwa05Yn0Ec^=Y>JDJ36n?8apY@MVJd2LP zlJ70eCNAx%cwq0A=8wfZh+&J3R#eRwgAjE$*AzzgO(d^Y+L@8JIW#(pg&4G^qYj?mB06Kl3tc_0D-{n1 z2>!)Y+nAJxK7?AiEicVAgf+SM93Ux@eK3?gf`?b%@qqSx!qcl?GxNykBRHaQq(WbA z{Gtl{nS*}5T^{n5lxQ=>cls4Do&uSNZxO z5n}V~pDkvuT96r607M)rwvjz>+b$Lw{sq-~U_7mkwur2D=Ogo;Y^luXgu!1+QZF0< z-I+O}5k(JB%yuj-cF|YIPXC(gw4Y?7Qd~FjHhw(iIjs9f>R3^50rz5E7#Emki_~Bd zl>zlPu+IWETIP;t3%41C2(82}wO)E%nACo@Q zD?&n&`5cq8;4^UwljxkXg$lbVho3Ot#8v+xV8~QFIHX2(SKP^P-ySw+MvO_Gsu+~W zzfJWAMq*1*3*;@S+xeJ)kIRwSx(h+MN4J8JQscvWL4X!7LBcE|^T6B%rzlD6LaPTs znVaY!^dask_&W(vumgDd10Tl4@05#PPKjejB;Ly68M1yCczfX(CblufVol|K0(JFc z@vO)0_Df8uyDXyQP=A+c3z5JOeg|eliVR}~I`9Ore06{oMHppxyrNI}M3T|qOFCTj zk3m?E02p1;Q68sbHu&zjMx)}q%gR}g019YSMx7ye0Fz`fi(#XtU;e*?4;$H(*pL}nk}~)O1zN&t1J2-7O5sE3xqM0* zGTZH7rO634>z%gGVMz)*yY{H23t+4AMx#2}{8t(NhB*d-QT57hv1Cy(HaHJlS8}%;Kr+nEz8Z)ftNlYQfyPHKGHjQ0gy$7l zlKW;&`qP;<-3VKYufYd{%!7~cjG3RGz*F(tN4KJ>9qb0E%L7;r`l|2KH5e9SLz3h* z<-Y)7xxm%u{3TMF_#h$Lsg3t`bdFxvKSoFZEYlrH0Q^Q+E>_Rsy50nFzB2Gc(a8J> z7BNgp!wq7}!yBHqdlO)0o#m$_6NZ{)no4Xd-+})PzO;Y35>ZtF&kA@Tuc65r);5MX za6xjB?cA&I)__eBwg(8vX;zV6$=0=--jWx+yPXxza~w$Z+nI?D=|jV8qm7bH+V6k@ zMO`S`x+b%t7{^nKEf(s)NnpakegU2M`q^)$&#hnX?NmAKTIXAif!*yhG%`Few{F`Q z^vXZM4`8++=-M0J>l}7AZ|)+l?L%q%a1iDqq8<$w1MBBNfU)mE%b0+ehPj79J9v$- zPR>_8SiR|1*D_qVW4`q}TRmSTT;ccS`YY?_XD`YHz8z|c52HK%=gpAV+-7*qDJ=vON| zK1gmEpb|>m1dh}T&hRQ9!jj^=ksi>1m7@X+Aq#j5odqJjGF1&H5U^qQ8hQVwqrLn^ zVLwzOvwzQH*#=?>YB)|d}G9Aow*VRDKBxZxksb;CfOGvB9{^pF33 zYtH`2#1KN_aQc1WgBGcbdwZV81L>yXr1|AOyWLYU)DX|}9@#16j^x0Lg(mBdoS@Hky zS$LGtvh#vOeW5`BGD*>;G0UX+92T8e>kzRSu%X1VF|FDp=X`S?LYqLVRGNhuHf1WM z#^`*ojM#FJFLlzN3n)?tXIEdLbeI2YPl@`Wr=a_Of%Hc6eIREp`>V(*$Ia4Wu~qn> zknHFv&rNHBwQ?j2Azf6VZY8cG{}G$k7UPk_2|(^GzaeR9l^mbCq!V0O2rGeO$JRXp z$FEaqWhn226Uko%eK!Rbn?OohEe3?Er!<>a8mqE zsmFdxODEj&6&cVW;JItO{S&%&s4S^u`Y2}@^aat1EUuSHy^M1B_?A@I-mg>(dCr~r zy7q(B^OPJ1UJ=E20F)?HkKFPiJYY{fAl# z5}kUoeOwu*4f0?tonO@J&)h247yq&-paDcl;w)2M)i@|Ku`->p7t{i{27UN}X9%DI zs-ZpMk~QgH{bNi^ktL%?kE;h3QW1t>RCmwgCBq+dA@Idks1*B+UwPgKcQ9yb#nMS^7-RB z<2u-l@G2|l3771I-C$rMO#mT3iSmk&_qk-+42#y~lX7er>Rk6Q_TGAqQq*0oHQ{?5 zNUS=lW39e=mNP~Br@ZCAO(fA+=Q=-E#d$PtVS&cOUKh!GJ(z6dB^PL0{gnLh|^K-wwk*&4c%& zwSoX>=MT{PYnnxo)P=s{3mEB1y#sjy+LhO`-Z0XY6-pLqQ@=6_weM{SSz;zy&#w;w z&4r^5f66kAd&=p-g9Bm7szty)N82+`8=Isd5A3hIe*gOh_5(A4&TtJNMZZVJgybCOPgVvZ5;HP_ zw`7nn-Bu&|F`Ms;_3%_=qocW16&B>ZM$fz&A&P_-{teNBLG4r(EHvkX%h zeiUD$erJ8n{wV^gRPW#5Pv*7|k0dIJCDTYOOmrLEs$g5HZtmZQ#|tBam|l0@P+nW4 z0v2gHq*`f#fTP%Cq9w5MCfem1*%f-IRZ@~{8mj0|-RWCF8H4`-vNBVZr|l0|p%s=G z27=Z=s)EDm94e)v&2}$dbVMY45}br*)Ul5g$g&x;&y3RU;mIrRnioYQhY8>D+5~gL zhqY+=+kpjaD#bUcz_BviM8hE=29L=lYr!1!($s44s_stK-;o>FFS5V3So`Qv>i){6gbuUw>yN2;%oeYCz zLX19^%bs3QK5su;>qwVDUmjjrPZ_(R6vMnFvKMx z!2fRgI_&DaqL!{_OTXN>h7}CeNV_hhg*+`ZHE+Cd?!jbYCA*JHXw)3H^1I0!0GF?q zatiu5lAGypy8?^jv>I(@#$L0vkNA6G{>gQjjeAjqHdZdOeH4 zU0*@Cki1iaG94CTYusLpExaDI%Db-YF#T`=FH049(t z+`CcD#1+YoACA`Tza?r=ElQGuUkw8^?K-sPP|(m(HM9%zjpms&Txi0e`w)m>#G>cF zdH1%AeO7={ux8Iop4I)#vdw<$qFgn9D2UYpW7Qg{hc;EtKnn+sfUxa*kVl8 zPz0eKD@6Y)7IAf_Ca(W^*)DQhrTB)A0byG2xp~cg1x*!f-xHjIG*djtYxLDwu1;h* zD#NCAaf|sL7>}9>GXe?=*q7$OCEWi15}Rr7;GGrIYBWr8@NS!Tyw~4D|3{dOie`)F zNTn^_L8I(ncDKHqymNSOO5cNB<}tswciHEVcjusXg1K{=2=-|S;Y)Cbn+F_70Z~2o zUJHgT-N8#j#^1DY6eH`;h23IUte+|VrQ16RDY>ZkX2J7Olk!hhc`@oBv6PQ-kyUV{ zzoITc?wtPs%a8oAVOxw+PHWDp^>W*y?fq{dZeWa%wS#s3pK??&?`Ag*^ddgLZ5u-mFuP@7k3>v)#x5vqlp!%V_ig8cY zemmTE*95vG`Q*+D+Npv^L~{4b^bFOBqZDB_dZR=E%c{g^YUkT~KXA-J9v&waeoi9x zHa1F`Y)U#0m~MK$;Bk;k7;P)6*t@v6WL%%D;s^{I=PhP2j(@EQ=NjhQ364TEhLa?M z7dM87!kO_${M5a-Lg(@O zFgLW%+8vs#oz8I)hT^xqbz@;1+ISqx zDPRal>4+(ZWab4b3cm-Mk@E(bSD{Y|zIM?;EvHEtn5!RT{AN7&=2&IfcG`6#JMPEuh>q>-JGXM~n zvFkCMGDPkTH}6%=jM0xrE5(MP8D>ffRTq#GD~1Yh_5K-TPfoCgwgAKkIaQm@JftIP zXLaYswO$~-)opm6PMJQuC})2-QJXYS(h~Di#68pC`#T%a(n>E);|RHf3A?bbNTn$E z?X_jq#&jzS0gK3ML00D|_-hLw%FP2AZ)0TpCu0t`7`a&?P7qCQ;ev~XU8rn3(lY$1 zU4|}~)=jW?QnJfo4wnPeDa5sb^qKfxAic9-%go~GxpvN4=1gt=JKuJuR zMq0$KPY|Plo{%|3sgoQ}7OR?qj)THLkXg<+V(E9W-6X(d%HRAZb^s(`Is<1(Gp2wdA)NAa;SpLZ+maH-!ID! zOAaB6Ee2j)qa-If2_0y~$RFT)aY(~K(x`#Tg(lO2e8}CLqaeD}hY-#qgSx7&BnF5? ztB;g(c9)#33Gjq^O?$)X;9Btgel_55dJPk|p>}dNmgjVDOU3U6|8H(bjfE5eZ~G5N z2R8rxCz)>Hji?g<+Z4V9VHKS8T>3O(EXjHM4G3xas(v+ohcI8*8R+hNnv;$_6kKQ;sv^O1l0Hc0248 zISpp|2VHNieeL@_Ed3`&3H9-^txJ`LZG&UuVRORvht>C}G^p;*^QBWXDR1~Rtp4`s*lA!V~j_C08X@9LZip3}u5aaCq zQ#5T-oNCC?0&|qDCd4lEeD8Xr z=Z=aH`H_C2N~QrjDxl+e#T0 zB}e^0R_PM6VExDnUt-lPtd?;%p}7`yeVfm2edW6ETatWVteVK@_!dB6+ad>Oz>-VL zw`&jmdLCK2e2h93|Gv29`4q}x?!#ui2t|StnBNhApD)f)CB_a0Qd&=R@EbEJDIYHE zDI&LmURBDd5u({c9q}``{@kr_VhY+%(v?x97F~a3C(2TnS^jtFpFxYak*+76#1Y zfho_A%$qgF1&jO7IX&W``N3R&S+v|JSww2!-PD|*V^+*?q}1a?ei*rWpE;kG?hob2 z^?{>V_npHA($c`JnbdV=z(RI}>*qV(HX!cR@?ePvF&x-dWh97jkhGgdsUq`~KB#Xn z;)m3T8oHM4s)^l2lXc5c@Oq06B)}q>VB(%psYsj_9>0-5Q438lq&#!bn=f;Nv>CO8 zz-2uf09wxYQTX~+u4V6?9#_T9B=2KeK5cLimeB=jm@vjVerG9=XxB$X=MLd6%!2@E zSSpT%^ShqgQ8`+;0qQ!pvOMAb8k`I^D0)J)FjaBJP_4yhR)57?q4QlI1Y3RnLy*j! zo(wRt+mBVZJVH!7R+iQ4xz@vABwLnI$Jsn?t4x}MC(UkpaU_x5!~gSmvd(d-58>8) zaml${E$<6rac~iBzmSJ~ z+JwaE;V7P#XwP=Ib7THVNPCthKnu*YlT%`k*8k7+nVWyjRpM$?^X`w3PQu;0m*zgh z{{Uw93!_ut;O-r6tUW+Ra{XyzHPh{<6Eqb(94sx@|Mpp^<$ue@&F5|vwkv1O#p6tDDwR3*9qT@%vQ&l~BZ z32KOhGNwN3l{i%()9OcuGz)gKY@>ZWtWBV1Oo2t~QilB0v>ei1=xO_=lzOFETpqC& zC>cI=21-zECBmiIP1?IfyW>QZ2i{GmY!K?O!k!Autux6PoM;^@skqMpsXLzWCG<+) z#7vQ5`X6p7d!n4I^BLuWQ6rrmJK%zXpY)S{9f9bV(c~|vE!bN6Jj0B;H^{Z0cKhqF z(01^5O-^G~PTW2p?4Zfr-^X&az$b^l>vZO>WZ(pkFN3kUlDH=TnC|@H)_ye6cN|Cs zMe}O8;!gfwj#cQN(oQw(Rb;hwFD19So7=%{9o*M(z-OQB`Yw-98T2n8OEC1Y-!i)p zXq$*hiWOLmT0UE3b5h`Z)1NYInVBbe_J=R9zW#^ls;|bOT*;dlX&i zBJTl4pfVND|1l6X4IM@OSRl}c*WZ(}%eOZTL@m8%^u=D^KT4%fHoO{9=~C;^5j(NA z4QQ?&#uERaeY+!fXZ?ZifsmP8xB^CFmzwG1`9R}5{%bfnPZL?Wg?_qpUpUN7_OO$U z5(#idvn6BCrIb#(?FG`FW=XtXeY1hdVOv-ztG@vM8KeBKw~M%~;GcJ3@7#dB^f8NDRn>NC)J<#| zzi(&I@mLVqljkxCR_E$-N1)=>u%Ropn!Xy?=iAR+T>> zGq2L^{aDt&&O=X3#(AJp9O%Lx1Nq8j^pTEdvMmn5NW!YV> zK$>(bryb>%cyRQz6F>k3etr^GsPAz?`Mf79hbMvyLVeFc54U%`+d#oNE6p&u4o?IZ z=J$Hd9jF2b8^=&yFmGfDg0Wuf&;KOa4#^otd+u*$Y;V|Y2V{2VRsuAw30Nis)aHC* z#1$bB05Xk^oiSd?FFA~Y?UBn_E5_8!(efeJdGS16xxcZ)zj5-8-SvD8>GtA?Exru_ z2){b#_1cqcxChIzB~>XeGHsKzYz3?IH{Ua3G#GP_E?(ikgfrtAoqktBkl)AMDj%_F zN9M+2f0MPPBgERy&sd{YYg*CptJo^|-FJTF6dAkZ_?bYJ<=~y0mA~`#tX7m%AABow zM>Y~#YXelDtd+%bDZ+bzb8x2TY;Zo`NVmXdGYTCp%e~x)>AP^c`OspqiAz`R5nHkK z2{m>RjkN=2#!Z|4!Aa*qw08P|?_CNfDvS3ySf)Y;T6c21&`6b-rtU7MUc-qn9;e8H zSeaFj00-}~6}n%f<%0%TU!o1nb9GO$U&tA1Fdo>BS@4ABLnLS`VQMz)%c;^RjAC*c z=ff^S>aBsF16=`dmEv-7Nrj?&!Z;~Gezmt#fS(IzZFepm*epN~`#CtsSD+H8GoCEc zu}yHAQC0ah!ei}Gh%i&tQas0U?b(EfpZk1$b}{8sQo`k7Zl6bjCE`G7K`aw@Qtbi~ zYev=~B=H2c?7A>Nv2qgZF_9Ob7K)!BLfZUVbnW|I1>)Bbic!N;U`W&_vN23IDWQe> zAWbc*_o#CDgub(P>QcJ1OqD0_Hy=Q0{FJqe(LHe>n>RVn`*6v^ne6!XzxlBMlq)`+ z1%%7*6GQ%HmrVIRm47IDTB{$-!PEXxGDq^){7x{hQmZ|LLBH81N-fO1qUWrcZC5*6 zxek(~64Qr4UaN(a*s{phbeKAhZGsDn+5W6)h-puj6VY+<>4mc+cT=F2{qCTNsQ9d3!dboh18=9w2=HWPFyFE)C*P0kXeLbUXqquB^PyfMUfu5xE zb>Fh!O7XJ&n??vFTCGb8?+da&l1=HFR*Cq)nE&WeH;(H_LpheD+sTnDu8^2O8M{Bh z1VFWG(3{PFzN7Qh4T?m=u;qWz#NkKlxqsDbNsLyNrCInD6EjIhl{jE?_$iBt;Bq!eAZ&YWDHu$e6^NTErTJtL%t& zdYW;+<_aMcC<_Jl#>opt;37*bA|qQB6?Z9${wC+_tpdR7J)urw{?`0?AVf%%yrg38 zgMZ&;$0^vCfv}eQuQb8)XIG5}+)hw}9 zA(`W!$O9Yzb@ZbmE)Uk}_R#7#Ii8w%PlHcPi*|{=Z*g%jgXu(bqY9-)T}V{znf*bY zsM9;NoT{1oFK{kqqBlcLa=hN|ZYB-yK+Ypc-|(#}rNO~Fc=yom%Gq$vn#Rd5lJjN- z&~voUy4@IN=Jamc;P!Oxy1S z6u-qiQIj_6x>P|i&Cmk|ydkvR;l4PE4%oIf-3ep1Dexv3knpoKMZ!nXqr#sj>V&>% zCu+zwhq5vX+Vh+yE4ff5he3|!`@k#{!W$15luF3rG|U<0v1X46n_kgIg)qo|K8~1t z;^R&Mbo^wo78;IAyGk=cn9$WUyYd-heW~F6BSH_keS)%rj+mY)s|@92F@ur zLt=0)#FL?yv}xiejmH2_>D~l75E}Lll|-r1B?-liOH=G z2bTzVR}JnRp1R!b!OfWEl)`)edYeQ>qPBZV=#)cAFtMY~%L29`Q|+OcR}d~Da=RmX z#lW8ZCPqQLTK`9+5#T2W*jH>L2{Uj+DC!wdeJaHOp*>gvC!j$Vw@vEvKvZqgJ&TFQ z*V{QvmI9UM1?-Z-c^I?lReu6k_1j&c{r9h6u=sbgcU`ldwVa=4Z+7Hr|8B7~v18}@ z;y%NdS3J`gn&g;j#=-`>LY*LjYiI`qy`P_W#y6|lJ+kYqCv?P$qL#{EMDR!m636@DT1P-QO@CQ?sGQF zkr81QR94?}NyU84G~2iK?A`GTO@W=>DA4=^>t7>MC504k-pWN<FtXbKvEg$LUKfH= zCnaQDfcI&>hb7>Vca!npuAK*iv#fqF!Kp|;!Xo$A^X7*%-@sq<$TC)Q+kh%S3?vm)u;s;pIhWpU-$w}>m>w_qc0hpAWS6xsH&FoqOM_@#2vB= zK|>>v|1Batj1L9<#fVCRgD3OKpnk}R*2!!{4}Bf_h`M(_rawUTu)pLF3UJ(>UgrCM zNR!Ius9jo@cAw4s(JBIvS3@tByjNLfa%ioVR2HG~b*RMo&&|6Nh15IoawJtVB5S

Vk1VzNIp3NrcjV{538W)KZ1>%%W*_En4*9ey*o`;7FH^0 zRNXSWASMJC%`o*+iR_)(C!O(yk6khPcjX`@ZtloSm3pX<0Bs&UZMmZRlfx^`n>4X^ z@*FI&$AmJm*OlOoSAXSofgxlnc#ad#(RUb0Dt?CJ^_ouPCw}i#n$L^Pz*tl(N&x%1 zGY$$_0a5^vH9m_fm$+eGmD?)h&E3wLHpu^48O^;qHMp12kE}=GUE=tv0}>bBItG!; z3jbmZ@dwt+@3@c~+TCy8^a70QB?#XL zNFpGOX9WrP_>mTaTQEhiPZSX?k%ueBI$A;ZLkWBr^d>O(rFT(1Q)B4!z*d^FrKWac zmo+miVQU^!)gAW%7If12njE4?-v*avagI+6L$`+b`C|C2RdT+x_D|i)Q60^MRq!($j#dkFA$+4~(dFM{y8W z7gCu}{*6i;Jm3K7IutkpL{}KuX0^ANH!%NJb$z-`CKg(&C^Y|vqZBL7{;1GdVp03O zgL;_c#@`y~RfL9TzS&wWN3|ar^Z}l;bnok>5BB)Od#yF!3dc;h2&voBN$l-k*1w{J z4-0kTG}Vy&Nflb;gx()HX!ayG!Wx()uMRdR3|!b%Zv3_Gz(U|bir)FEHZBFV*1wH8 z7V~KRx^KT%W(Xidb9XzEFny&mW-h^}nqrDbZgG3T)TS_&-THuY)Eo`SmDXAuO&%uq zHYvce=)_^|z|I1FKDO`-rwF5J*SA-km#rjQ;>8C8l)j24FO-3E965%r*9ANCm3IIY zdv<4elsDMXGb##H(#Stv zYGqw%N;ReXlXxJX2x+LITxJIhoWTGcEC z|AXNg_|7DR zw5#LsULK})>T+7tEq0qwh4Hiw;iJTf)rSQ1K=+w>T@;RXmx7QXXq}NV$7VI{V_8GM z|A|Ig@g&C^bU)>|qS9!tV?0ONc>riH{+R^zFvE&o zjg$VWl@6a=6yss2aSKe)AOpOH zb@Xwo{v^cUFE^cj@t4dEgy)yOOj{r3YMI5sxj_9Ks!3`9k9n&5K3HO%x8Ak?S#ce= zgxkA06Q_3F-B+_q1g-HiLLm`T;2N)wA&M4!kzqAuK`^^0ILu9_E|!UW?55}y`Yj%@ zW3_j-{#hqe9A7D5&5+15Gnxz@8gRz?O|^ft!^QLyjTXe1#6Dlss_C<*D+mx#jZ4#T zkWN_}BVpJ+>r1`WI;hrk8-uHZUcL`7t}zBQ*R@pArT7Wi-bjP;YN!R*ayBVhuYJVQ z-oZ29tUmF7@-?I>x<|$Muk<|nf!nf|;c3=N8F8*0$~5~f$@j9Ktc6z_V?Q7NvEGC3 ztOOBn=e6md;yR+G@_MQ6=~X|mtSoeD*aUTrFS9q&Ezk7mays%o0YGLQj9XI1I`Kq7 zcZac`Eo46jVtbS#;TTMP{%`iEvyXaJnAIXNzdg#>$EX~{Z&Rnu!0anFwv6|Wo|)Y? z`x0!?oPe?y8Iv04$IXe|BWvnlwFgyjES~u@O(O)&A{?HuvJmfzkjKmDzbWrX8k`oS zOJAy<9<@Ls{aJ5uMj|Wqgu-P%7=?1C@HCm?enPnn(f%v~ygF_J@U9v;eObDF=4K6( z_L%=>n&6UweUiLX;K%8yIqF#t!tla=fyG~?R}1`4YYcxwD3)^Fit7vn{cWq@ydwAk zuba`r&tTQHliIgTyIxC3)0bN~g*>pRrnSr7aNj1+1T72>mF(4Kq@$QKSL_o;#*60V zsRhU>qtP}&w#obAEx#{N? znai+SJQG>MHQCRz$*F-7Oqhm=-{fV44ootsff+TB?Z{kfpV>c{e#*uf0<`IRP({C%e(sJQiR@Jc7-a5G z!_WV$t>NwC5>`x}!QmR&OPp_DM6>%#jaSsU{h9l?<%t2T+VpE0hu(eZ2i%B3Y+BNv zL{{9M;j6RP`-jLQC_mpRs^ZuCTz145^u8!LqC&mN))2IeUi$n&H4gkP<>p0H+@vgz zadZ9qtuysM$GpivMV1qaH4MB9N6kpICW4wb;b)fIA|NbBTEoLl%c~`Kv-~yu)zfUC zLQkJmf?OvhhuQ#D;`fVx}w==<<-96A00EmAc0l zj{boz9m)0GhU|KZO?mDk|7&JulTCo?g4j$(QiL9Rh%!}sxWj<8E&Nj+_i|>E?^VTp z1f~8RGy(YB1k|defsmdDCEOOY|KQ*2imm?oy;o?*Pd#959m+!lnD+PtTw5}UQg|TI z_{~)&8G0P_9I4x4v+BThjour2G88xDzRe+V1nZ)qa-3A%=gCSWl5^jAD$WV@wvrw; zT`e*4`>^A4xDOyf(VK0B3;>XidM^pqCKl2dDLsTjAl5E%pyN%I+P4i8GADVT(Ji|$ zbX&0=gbT{NOite;Z|u2t;)SSx26#xZAqL121;LP|WneZ~4^t*KmMUWjMYN{zfNSzb z!p)xJAebF0aHo-kcL-Qq+NO%zjbcshs5>IVqB`#MK|(4dmA0&e_d4naNHOZlS7+*Q z`y3R(w?0#QVI$Jjg{71qMrR2}>$dvhTL61HIr$oDu=(XI@L)h^+N1AZ2Lg zzhKPy+togvo{D$=biE#T49fAvE&QD5uUy;{6+$<3=pUqk0)WCoD0!{Nx-X*34qFBB zAT)UxG4Q{HT?T{a9#?4lxB3!}<>9-!-wI@y8v8pmA zbm3aJ%{&mEn2McfiowbYyX{g-K@W*T$AWreVDlcq0oY}^7~+&5K5a0;$puFI5M`%* zL_q-J#9&jFeJQ6uW1%a!#V;${+86E$!4S}gx#L=i_nZXaDM zzWg5YE|Y;_9fGV2erH3x-7EnO@iimS^+7S8@;`7=SSZycoiYl(s|r5bH}RxD56rXP zE#;QxQ`v_{i`-bVQjW9E6$m}I#n4I#jKDh}M%`hFsA>X&PgHGltt+PbMz1O-M+Aps zH1PYpTvrkTaWdYGA3E^rRUgflmC^6_c7dp6lK{RIy5sQ^Lf64_Z47uWXC+#phECwl zv6uEn` zV+&yA3Ejc#SMdt$q?#p?n!$)l(2m>dLIZDtA0`L|u0GwiDBYBcI2T$de}5aTP?_`eSxZaIINkNSZ-oB^k-z+G$4%{cVMsgOg>DECg(@@}#gTF$l?t zvs@c>qNl}=Pr)5W;p%fsKL?iik91TP6p0)hLi0f~1S5LZA{zGKGKthyyqtc=yj{G3i}PdoIc`bHd1E&NDZ3! zxM?|yf)--8Y#pE7cBwPG!kVe>hg6-$77mt-jk_RVLtONb)tR!Y^k1|FEeN2&p^`XcjFu>?|=j9RVilj|`%`4sFjvp(|(kC0rE!6&V=+TB=!w8)W6-yV=+sa|9kAd~vt9UK$Kg$NT}32?8> zao`BX44Xa%G5=+v7WQMF*dV5G`c2xNR%$5ro6#fj)%gsxSmR%?FzGjDq68@I3{5;< z=ZQtKp6PLH)!}mP&oKHz`!}gwk2c#PcK= zT^J*4sTv{$`17YoBNf~Q22T^oct(~zNymto0*R1%iM)wQ8Pqpz$wFrKzJheHx74IF z!gIe$gqBx+w8=CrHK@-8-$;o*CX$+o@}DiUXMWSJDf_mg!V%eEZGgPGT2shz%Q-(6Nr z%uj$HdVmy!NkKyo1+SSg_k7b_Tlh;MmKX}rzMLkPi)>Ne?J~Na%Y<$uz!J^bF-ckZ zh>fuTdFpc9d+o&=WmI)^)F%b$N4h(ABPU|{^WV{Oqvm89fQ`hQvVJhSqA|y00ipte z6$wyv9UBMNB)b<%2{oaN528QCJrO?0vC0Mu| zg_K1E!IJAT^OPrz{((UE_uYs6qhK%{^hzdURt`9%>i8 zG1O3^T1`6E*mZIi3%P-u)dV!FkHf8SR_@%DLaVe}h+Fi~P`-PABjg!6d`fIGsSu^w z&{saOS9q&bkd=2H5#avK)#9HKtv9zQt70U=OLqxaM^s=NI0MB0YHRTuUin$m6yp?W zZ+v6@@`z8Zd0VcL)_Oc)0L=gD57U29=N0nUOVv|`EC{+i`$xWUj7HdTOavl zkpK{8{ooZS@SMW?k`kD`=?$XbC}i5X$kxDB$(IY6N)|!dt?r(Jk7k<1 zF%seNs>0E7+b=xyIiM9HQx|rcJl;>^QAbrF{;J`QMgKT=yV4|$%^H%Xv7hmGG|$y#w^o0 zdRLqAX4yFyoN3Us+%{rE9us1w1*v8nmbi17$JXMPdM|{n_l!%Ez}0|>;(U{|gCRHmIt!bgaH4{-bS#<<_vw7%5` zzHenBfa*FH*Zc7aw@?`|Q4I-Jnwr-D%AW|SL1PQ@XcpX!%<_Z{5CBIFT4*g#7?zZY z#BmY8w_|fi`a`CF;Amn)!=RfSJ2N~yWV@AtkeF?Zh4jT5pyzFNXC2|@~he)4~q0)9ti!JV1E z*MfR{cp}0O<`@4!1uqd+Xat^mE|hhaw*WyvzQ2Q@nK2o0sMBwkNUJ{ct=&kqM}5l+1;r`sD8xDGm5J^!W8niv@smjU1GQ z;cw9KLbscDQ7V`)+-@PZ<>G;X`x0sRJZ1MBcBfDdS|A2_^`Rbi(+%GmLe;?jUbrH< z_p_V41)~NqHr_N$W*6Lm0uC5D-C!1AIvQb477*y~+&VL0o1tTP&^2a{C^JTnNXe{2 z+dRa8LcmEkpd?)qG@kR-nz#lr6y9M{cT}YE?&U9B=U1ruohmgVp?v2z`+H6cq)2vQ z*Mq8Rv=)5;+3>fhO9Tj_eYJ+^~kj{|{(> z>4Sgq6CG|3bLG18Cl#(hgd{F>qZ@@_2o^xr=Xh2=%T1!%6s@r8>dYBli#Kdw;`{^QY?OGN>yBaZ& z$nR<-J5SB$(xkpM6L5#4iEy#@IyMQJOS+TdsbL63U&Y)Ww-RM6lRSVyddgDJi;i@+q8CAGg<#hqFzb(UGF6!On1X%bKX;E1qoCq=g3gqFNc~@;6Dm28svzW!bkE>R2zR=1bG789GzQR)14NSSol zv^aO5DB9L5Ud4>q_n-$AWXCBxa`y({cqFyDef~yU*9!aflmWq!e__yPzq1;J?rmM2 z?ElJ|(zI;~q(Hd=5y-*b?kn@zMX%S-kW@@X$N=L+K2Z|VGQ-+Uk53XbjHiJlVF;savK!39pYRgLm9Ff6%fd{+Q57fCrbE zG+JOWc3!~#68?I}N^y=X5f2qAJDD-Mp}poU2)NQt-+m+1hDS>oWA<#pG?j&Z{{2w# zp7jac!rJtZBE&*DmQaB`sTN+~h$QzE$pPRfZh(ZyF)m+?EfA|r8949d&uqoQV{Et! z_Q~#$`mN-}{(E>6toK{viw|9odvupdsmSl|qV_AN`IvhWR=V-oGiMLb3`XJ*50Vax z1hx-aQIA`C&tf7Y#J$-~wg(kZ(4iFS}zhJ zT)8E6Ne~pb)DbI*s7vrjXgazXF$HOt>QnWMC&;y_Cj{Su;aN)K?WN#26}|7%?%~!P zD7lEoJ;hlrZW$##DZhxZW=eb$chS)VkHX#its~qv;Z6F`2TzSD{t2G+52&+tg#QHGWNy)t484YgTSb!G+(9D!Aq$_|GwrKJg|pA5$5t1J^BtM` zRnJSD9gPmNxn81O+-ttM-dU2_T~e4#oBsrSEBLRX|9|r!(aolw7YTO)RR^Tr%? zW@A1;?_8FnDgd7mmvm{+0Euzxn(CN-H+QDWlg_;RXbC$6#)gkJmT%7WfCvAFJOB?Q zPPJzRUj*`4j4jSIggn@M=$0F>L5K|Wl7d)G_q6r!eML~P85dl_hU6D5iohbX#nMu3 z>6%{2fY)!mbXXTa!Fqi%g(4y>LOg(i8?p}# z^Zb|LC9%<6H95&D^||Bi=|VFXN2tc8hcpHdb+Vk(&0)D#x0SCj6dBR3cj05Di=2e(L{G9H_t`E_v1C=OAL6-PRSlAnh*8>2 z&QC)Ye>WF|ZymSI@6m0~TCoLxIA%*mYZ;3r=&yOLtQO98t-7)Zb87tmz$cKi)6}8h zIgLA`b`y~dW|`U_+4pv9^c*7VVJhyMEW&F?=1|G76#(_jfeE5}Xe7xe+dBLeJSz1= z_mzdX8F1BtbD+vPcz@Cx&yu$Vc}N+WN-2>8QYj|<=X*4tOLLnZVJhTh>0w8$tVb@nk*0C~)bnWg_A z8GN#AkG=yw^=(eqFpScnE0?lL9#4*eV7obCqVJ(w*I*-BIrS-MxX)5=6WmkHotDB{ zW1tA{Ld6RNmI`#zCxh?CDll-t1kQej5JT19Mzz}S@y@jbUif*n%};N;8^o)k&Xfr- zmG7^8^FHI4pgp{@NZdG!Y#$LCm=ub7P=r0yx8_YvA)RX%mKDdKad-&r_T4&%%5jDF z4#E$9vNgDb{6rM$5V!TCV4Uj(+21@>w?|624@C#S0p4Fj#z&U}6oB^QdeTbrcsZmN z6+S^coY{gfOurGeSwU*P57i|@sr|?0hqL);#E!= z7`hIork?)nM1vD~<_JoX`wc=hs{7jMd%Q1wxJm1jUoY@!FUY-xYxDdh&)nvVwDYnE zGK2+4UAJa~z(Gcj^+O+_bhldH+^dhxE8Ay1Y5NY9H^oX2f+*u?wADqdrJU(bR_Wc& z^j0jfPWPn6K8VWMLyZ&*{I2LIQ zq0BI@Hh}Bz<-E;rEmav?rz-72lz&S+D)$CSP8q_-$?*|P{QeUsxYjGb*s5y$paIve zNh$ewq{v2*lOs-we}n4mFbpBBt{#Kdg*F1< zrsC&Uix6YTfKY_B19%*^s#^SK+#l=@E`zLCVhc(_JxPsPOil0hfrijUQw_nVogdN<_NP&u5U%TdV2{=n2DK%4EVKO?BC?Wu;PN@3SxmI%XU5 zex4X{Fke;7qH#EZ_eyEP=Y49W$kPJ&zRb+^6!MhY{?GUvbitGHNQ_4=SCarboZb(Wni2%WG^2*@#m^iEi1 z&oOTZ*)YyrHZeh^zrqfn6~1E&8@91)7Yz#|#l_KI)c@GEhXAQTbgM#%C~1y&+qnC0 ztInUNxYB7Tkxq%Z(xVj|CkonTWrwLnjz(H)}okbXePdJ4hPc3;AmSk)f@bXNl zA(hVr^G$&g3+7WE-ViruF5Xfcvo3`N@XFHK;%!a-pMHilnq;csWq94nVNO97CrlHi$woOy$Pyy>K+e zRd{)XhA>iDS3bbUC$H#vcfkjS8{}Ns_UC{$cyP(0#njYCUsRL%y`hY~fCc3e3r?V(l zAN#NWXckakjvU#a6Y92p=H6c~p2T@}9TCxBSnD!na4NAn0cJcQDV1BQ!f>+J@Fs4= z#ML6zoIF5Y_ZC^axDckPeN^7VN9aDEx`iI2O%E|OXRw*6W!A|h&~bH_mS8~p zvTp;|d{)WdS*r!nqtYsgZ4K+LwIW-|rAXMDW8VrpP-ERRh47#`6cCFS@LVT9{{mi~ z;K2%9-~!P8sF<>W`mlgP^9agHP5Fg}9L)15`<8ffK%~mN**j#}n-U{yWVMN$sy!$> zzikpKWDgJXn*_=Hy!`$VjzX@-b>a0S%#Yo78!lo2+@m>Js;}*GINHbP6ET9)iX`N~ zIPWwfF|r$0pJAA3q6j@5C=|X5XCCE18<;Juacp2wYUM>U~h& zNmvizB(FF3uIYt_RzsE~6tuK^J?E4pR5r;nw+m*PPvJ$XUT|V}cATuv84AQNoTF%L zXNsRKBe;DYrUcGVmsC}k0nd4LRcgT2I=863eN*r7fCQyv=?Yv9IyBSVw&p@pMZZ%r zyBX|TXhYAx(jj}flm4F+-%OXeT018NK{r?yI3BKiv>(?%Vc2U^}}NaNG}E8u0wE-m$SOpM=a1K8`cQz z-?+ZQLPmper|xI5;%6@WyvFyiV=e^aRzfqgUDmYhsNaz?4#ZZlKWBr(_(7N~p9Q3K za;tW__(y4A(_&0nmE*2L5B{(_vWgJJYd&AdgQUQ;y%Xa6z$^2!KD(E5ug^?^b2c*juiHvwlTlv4iQbz%74oc0YZ z?v)vlep7VA{zt7DgfSV^>8JdrTpuS#A>I1S29gV$dfTl~c;EUJ$m+XN`iulRe$6sn z)b|_rA|0|J{Mu9rjLK{swxrarEIu}P6WRh_PR5Kv%VpX4Bo?R}#yP~OjGv&;_fiiJ zmdH2aV^ktti{s*xejrfE-1YS+h)Z1w^lMDRxkGVv2V=3$qy8$nkGO-tItd?pzHi4) z=IN^V(|yOR*VwnO#<|}Y2O{+ENrulqE`WBm40;Szt;Zx8&Sska@YJr{hkL|rGc%}D@-5K|ICUu9k)pzBm2n&6%5+GN92mxmyw@C zcAavP={8rP6Xq?`=F0QDwACIk#Mb+RR~3rnC?KN=bDA3uxWzAyI?L++84DHQIet_Di-whNcY8^^w&Z-Mxh2tO0+PBg}TEHKSx~W zS!=(l??*y8f2>$%whKG+@$K8>)llf9O~X9lX_$KOgbl)}T)foQ-<@#%sQ*kx=EAQFD6;Y3Q#^$7`2VC~W%OcxxBy3hjxn>MY<>7{-8_9m#aU@z z89}fTu1fDI!yeB`gjTD+O^4!%sgezUZPCw)6-=takjgf&znC16T|e=a`U02QeZY%N=2q|g~Foh%QHE_6NSNP0ZV8 zHhp-iiJ%RTiP&CHUlF#y1pvqq97mTofcF*k=)k&o;cRoTt`~ze6IkFXmM}g=wGLoE&6zu?^CF_zHN|#kjLWsz_~maGhPjCek61;w&ILDvPcD zaaTwuon;5{fwfa!znu+KI^3IQLPlpi&3t3gf2+S`J|hK`H?dEgEB(z{=^@SPbXbma z7-loEtt@s&(L6ieo&CbPJPZ)KpMK^fyPv%L?i}un5e4!ayyyX=V>LG;)PzxJm>FPP zZYK0n@%1e;-}inI-csh4)0h!vQs|;9>BkDRdvX*6$E=$59U%*oLj2L}mDUXg!-i#E zfo>skXLj-OzK0NM%3jV&Y7MF3BJf+p%!@H1s;_xEWcir0bQg!Qd{o=LNBCRdf0fVO z11ifJNUBYKWJQf<=)bM1@aAJYA~Kh~xXuMlfCHg9%#`X>$5h6GJ;)Y0) z3Zi|&9$LI{#@aLbLR3a`!l4YH_>k;24^x$reapsedyl+rj$tjf5!zQR`1|38V^gno#4d8XGOsm1n=~TU)`Kl;*2wgH= ze9{1z8_nuG1fglDW2-lIN%u(@DFQBko`SHu?7TY2);a>^DZP!?`x-WpLN_UM5Pb7X z)98jr&O&2Dk>d>6+F9k@ac5ITHFN#7wM;AU1Imj$R^rOFmzKU(FbOZwc5|b{Ikn#v zX($L9nN#aEI6_kqN+pe8zn4`I16iFs8@OVrdQG>FX-19y&=Po73Oun3ZihrECFbIO zpDh#ukVB*x72?;a^m7|xswM8Atv~E!SxjPi_y!?FdW~yKcx7yi=I)#n{D>ak(v^n< zjCy1|lD{<#9p4LwGSw=Y&efsFE-%&#zMoI4paXRh#4pWvZy&Wfy?SZaVRR_c!R9cWi#%HL-G_}TTHSbv+22>Js4jJ8=sD2-Sb$7puF5+&S0B&xZr%Ia$He_f3t=K^a}n{$TzH zDo0boH9_*Yp>?=7Jz^G09Hx!59zbI`eyWIIhg0Wn*^cS@RmHZpU$hFIc{GT}ZM36b zT7>!k4qt!eg!ZWiK~-KDJ4=RQT-`OonCYHe*LScBKRRky zUZU{w8S}!Zv$Iy70ZwnFTZsqX^aBDuw2!z#*{~6xHaI#yP3hRcq0jKgHzag!CSCn5 zW+c8%@Hgz;%_8nUYJaruKA!b|NH+tq%LjFAR}+o6=9IR42kp)i0l?0bc$FKt6kfNc z$}Y2&(@%ZbX9XY*CoCu=3VPT8&L~Di8uLisqeVWDrL^$%fEw9}ERKsGr`YGKZCnZ0 zyv6iPDJCTwlkeOl?T%f-!r0oF2Nw%{jJEI#@?1j$UU7^LnVoFgIAWl-89S^f(ft&T z{?N#a=v<{nmd2;r$8(mn>((5UY__vOeFzGB!XWQ3ST75@w%^=_PVK>3kZxNx-L#pw8Wt}(r$TLh=I)TLZ|~&W z*WWMUU^U`2w&uoB(%pt_g+&`{vvJj2yD`WLO-LsmuiIq_#(5n`Q8<`VX6lY&BhU4e=nbHj=c?fydcMVk1n#% z%4g>d;POj1`#jG5lT{)*E58%Wy{PAMYx$xv7~zB~=yA-6Q2X;pJ^5YQ(es%x%(rtR z1k4tUOO{ieFafCKC}$?wMzOP9tf`5h2sw0)k0J6B618KV1iul^kNE8UL}#&)_aN*3Jd~-5r2L4m9&g!K>^gd#iYDg^46EFe!D{cF=0b z>L@fW09xMntpDNV#l5Xck^K6KL~f8&`g`?^iY5HihU$&6y<8pW0!7Uxde>GkwG_m|S(M7eGej??L@$B%6EgS$ zT?>8c{9;76Y32mP`HiRd4cZzX5{mRw@WN z3+~Uav}ZArstOsYH2Uf#SZeyAJIAwlytV~BYv==Xw9%mH&!R74izH3BD2hl@@CtgC zpVIth{Y5`sAc)iv)MNm64~I zuw%8dj>MVfV_y$Tm#qyW?=u3>oW=_oi9$9E*lEyomMT@m%*;WUAm6BBeqCW&L{wy- zgCar(V0}&52Nzv?Os**>#k5$#`rj!wnI`N&2}e@}lB);3@`fspAdGG@Qav$i7w#== zXX?f&B~k^KkjupfVpnS2nHf32u+f`shUtzL9#L3DM&tpfqJ2Q2M=d?5onJUzrSsyr%cFP_d6Sgqp!Zas+XUn)h!t`d*k*Z4QA=cj{UJwT^I?EeI|41 z4Ej#LxVNWryX+=&2a?t>+}4M0np;QKG^%peGt!0# z*~HlF@ADBG?wL1@D675vo&QWuimalff(*SsITd&%Z*}O>F2tT3n`L!@{;P|D8%!PPkzGiLESDz54bH+p z(&Tvn|3$U zi8I(;L_rGK8IL0THFqx*iH`N!wsAS_OhAL3t$f?PT8UHU$4hIVM=y^LY1F?PDpD11 z>7!soNzZR*OX6W}s3;{}5-=K(+@^app$Kp^#l&5O`V@5)zE1T-wOyWzFs-ZFKkaxa zD{xzDu0gp@zH+o5(P7iE0P-SZ;$+j-o#E=aADzZyAyS&f8u%`tYH3K zckis55^Ih2I6^VTAmpudg&b-GJmM#r%!q5dxp4&srm_ltio!E>#}`~-W_-_DSJfYC zA`4gb`SWnTJ7@@9#mjK>X>azfQeLHlv`Y=UQhOKU4I3n#h{TvqdY`%5naXDQk>QZ_ zaIT-*?nJcx=I2;*v1}^IxsMroSor4zbA&JS?i#@5GOLCv>v)p0f-(8nJNcdl9U5MT zn*|NP$2C(#HOiI73BPs&l1?8xaZkcXjiiO9q4BRXOhE|C0%9(QKfqzJxWLVGH9~}~ zXLq936O+V2o+Cw&L87-hCms{g9cy5ql@{$W=CN%hqGu*vW+szv;s;q?O1Di`nzqm5 z@+Xr`Qr58Sg48d8vH zU<3RghCDqpZ?IOi%z;Mcdg9UJr}e-nQUe?&`X&vT$EbQH;YIHpIAc12lCaEttD4t7 z>@yMIlwLXK@aKmTrnd^%nck8(r>hP$`^94ZSLVQuJB#TC2gw61c%l45p5Qz0>VYI6 zif%=H2y``{)wXrAw5k(3O(AVAHZg=am>5zoiH z=s44CDZ5+y_LL;r8{$_PP|}A6l^*5XtQwcMVui{Py&YS{(zkes#eG(IKa3S0Fun3c z3TrP0!t^fY_~(GrHc#JSXHlxP-$0q)`x0|@6E8854g97?bBn>BteI(m_G7pvspjtm!B<1ADj-z!_6hyhomXWI-f4-tCWrFUoE%Ptz4 z;g4L2v7kVDx^!iiymx?|Q9iG8#5N@5PGg%OcS|<6>6@=2j7u}bPtzNe z;x#Ax32zP4zRjXR*0u0^#Q$zL?3yJiyvVe-Y}6QffxviBe=&UO3((HX*`uePP7!f^ z@3|_yMMH9|SKx3rz3HWMTTYUuUXn~hGOukR(rg%9qYDA%Y0qu)OD9486_bv$lvhW| z&co?Xm+b1sW&a=eyv50-^OaQd9Jvf@B&=5Ya%^x|t->c~W7SAZa~w+!d!*Kd6tDAG zlxe(n4Z936Xs!-U)EIi5DK*DrxAz;=@aKIJ-}M4*gDRtXkCR?%Ypz=JR!8Nv2 zck1QcUcqn$%C%a?AoqvR?G7sMIf|U_dKjYO?@JAzFLEVJtp0EO94YA8kCgfIqFAGd zCIT1(dk!mqIs&f7aH=m;vB$@X2q=hz_VpuunnmLdf>qXo=GE-C;}MFTnqS~rICmmE zMv0@0Y2SvR3D_+nsi_MA2=^v<6A{YNl33xKQ4QtI-%)aL(V&n`%;?a^dNlo&H`)4Z zrTOwb4k6O({}2tg+oLT_ywj~#5zKdv3Z~T|o=YQbrhm5q5Ww4Z0Mh-&AA zUSe+rBBXFvuAPBok|_>nXA2MWx!EQ+`gh=ZXCGj%A+sPlW_5y2N+mYp7^9Almq+ue z1N(5JDX8FBC{+I=yY5nY0Q;o|_2bP*G1!v&9b%`wF`rmQ$_jtd#4!s~%iG%4f|uTS zx2H)I+cO3PM4zXx%o9D1%7IiIg48VaT51C9X!O4^QV2RR@f|O3*p#(R5f{%g+%=^z zY-7_j3aEHWm=@Ry9y?y^ck7tnZ1QRkKIn=F+KSs^4Lp?{?!4!)KZ8n&zRngG9r8~u zw8l-P62+5m?8HN8nv5l@>dt6X#ryT)T(8ie02Xh!dt$TI3P*I$1!kw@Q`iT34{_B;J6F{M;(7ns^3+pxZJ`>^_V=3bUe2B=FAy&iFY=YL%P`dHuX3x-MktTK5c&5cxM&9ht4HQ=mivf!PbS zto){BoGxa6dvO*7o0B^D`WvMJ&F2k&+{)>5rx-P^Hi@U`g8tWm^?1A@|E$4dtt3fHWo^| zz`S=P;nS4_x={kK;}zVRyBV=cT5jp(ec=&#etu+5-Qu9L)*7_>?lF(SYSVr7BH(x_ z3*Mtw@&JWwZ?l!a-tJDXTC@!;rh@@Y=IBrQwURrV_tq3GDiVdmh86d8pII}|Bo;#T z4%YTo@;2m$%my%da1M)&jUw?D7tOoPNT))PVv6{^D1SR%oihXCig-&ezZ){WP!liH z9B>hyZN5B%9i;N#7kTy%ta?)L?WaD^ms*<8iwV1La|CF^t|fZ*?lL?Pm%6IMG{9>- z4xN8$#ONa|(yhwTvc5HT|LLwC=KKP8bNYfv%Cme6sPN@E1i?ecO5ATD#?b>IVB9aw z@*nWl={O4fEkRl=GbaEFu+HG>*g7L8>b8^|RfQJVNl91};<1ArlU~GbqmSM0o@eX@ zBqSgEbIwlz2d=gC?BV&FXU3wro#ynDAca4L#EP$v+@nDg3)Y9&sPYG+G%?3r9M*^> zdh%ZY3*&GHICemZln~#}Z;{3Z4y(9!^{=8WwsXZU$NArS_52#1jM9ngn4r&u^I#xu zyC%7aM!!0g^UK>c9W6hS+}bIgg^`vfva*hvGm2@<17#cy8`Hlyttu8;xIUta2v42K z@;wF774H7q=v~ZnNG1e}<6&aV=f%x9a=y{!yBFCN8)aN?-L2*9c?mC)W0&zNtnGM= zV(ww5zN2yo$!wjQLIW$1VV+~{pNc#x?M*NDxnPWtUVKZB`{F=p$Km!ZQq0xYfOz2? zMB)$Wdh49@zLFVgD=de`G}n_JgK=4s?9KUVF}E>wjKpg}p+jVG$FFnDl(&}igO>gX zWnb^oC6gph_SV@My4b+4J}d<))*gB9nrcuJZ!9H~m%T=cz0BAyAi~3K3+szARB!qd z1hy#iX3V4!l5t61A5$(jCSjAQ3Tt}?w$}Hp- z6@$}O&ga^X*OC*a;uG|Y*Vapl^Ffvy0@))5v`Hi)ZSt0>THmVBQlXPUuC#)Z!**Qg zQyM5%w9h;p6S#G6yC)k{zP4La))b(BA|SO8_h6fq=@GIPQpj1ianYTpK>~K|AWlz^}<+ELiS<#DENB2hgIEHx6XVPl%}+ z(~?TT)S;=r{JB2*{uUJ1yUE>I^Pw}{$(%O#_ikYd?akpFU+tM$97yh2;fyg#{y2ES zdHv;waR#*5kD>Y#Bplo;wj_x=r`PJZ9F_?ho7*M!2vw+TR?z*j5)tl~+y*wI_=`pzR)q-0A~mUInR+LV+ptycP*b~(y9Eo;Nb zWdQ5R$eD}|5-%SIwBSVJ7boFB(f%5&alqLg1!|CHjU$PN{TH^=?b*~9rs;As_Rwl1 zle=*q)Gd=IQ-yOxL|!Q=CaE^~BPo?&TYH81B_!5kHxEeSslhLM10|%spZiFMB}9@k zzpjo=hXNy5q?IY-4c2ol-;iP1rQSDug${K2C#!0gm9z5{p;80`~eP*k5VtDzed zg344BzcqNK9cSt_IUgj~bMZ^K#GazdE5YDh09k2KMrSK({VN-nhHp?nT?3edCbrJ z-75$1A$J@Pj)SO6z9%iZLW3k26NJj+OpvhU`v9$An2)b6+OVY;`N;#LKdGW3DZVe6YJs zV|d4`ItA5{mt+**>)v_3QX=4*6ifcOJ=ZRSwEz`7{X-g2O#OsiYel0GPsM%4M}IQ# zyZ9-BLo6N$CZ!;myd>O&BW=)tus>}Jl1fnY0rg9(g>X<%)PUX21>p6Gp8Z}f#ak7w zOMPuJ*}Dx)7ORdq9cMWWELx`E@lQxj4LiA}(blP1E{m5EDbPXK#&cXdog`3|P|kxM;=j_gxn#<@4w5jV?VG0pfu0M#qSMSL0INFWt|O4WIFm zT2ho^J+8Jg9QqimnkCzD1st68r(w-0NwYUf$IKU}<6+x08@)~<$ft&K48SyU_*)WA}j;g5n(^+Yly=lvk4v7AK?62Zc!GC6wd5v)o# z1#Zja-BfD#Y3>bG(vT80`swAP$swZT#5#DTB%Um=1?_@Gv&(xi6R8qM^W(iK zl_Zk8BwLluWLY#so+md$kMDf?rip(zt8zqu6r`p@>_$el@e_yI+4}|vmF*ZaCJ#_U?k5Fm(T4xCy1t9Qqs9a2EVS<09Y!Oi z<}C1{^crAtSsuj7pVT)Yx?6(UtXO72zC+3Kb781gDqc@`E1rfk5)6lw%>O97ld-xN zaOR_%A786Dr2Gw$gaB@iZk!_q|> z(#t_8c%gx=IY(g3k=ubep6aRqn)F)kgVu$$#7NN3_-m-hJvd#%mcS$|>OyPr)zir) zYH~)Fap-;JSp2B`~9BAPX29d?(ljhb>1S-q9EM^*fzv9j?B#OydyjxRKx zMLHu;f@81KAcUNV{Ug^G_ugObyOd)1obW`7R!K-_+LGfMKM~?Q`zY^r6BV zPOUOloQ+xj{^%c&uLyu|Vy;&JbtDBegegRe(}Qj+A**>O{Ox{LRUbllSq&v!CZULa z72|afAlqlW@XNaHTp=~72&65K_D1DH66Ku}!eZEQii1)eVJZP)> zNgvd%|Emb2JXtz?w+q`^Mj3#^wQWT$*EtDlDKuIWesJp#XmNn{p8tOF=@m#%sbt}I zcr`pycSM&lvG<}6x+6%6EMI6rS%RC?0dyd8vwuZ$Iob>(gXSFo&JyoU(qxM{tV6S+ zLT~V8waepQ?m1Q5*GibKj#{9NF-z6|3d7-x8rHy#v;YeyZ)8r|;TM#?>X?l%FB<8> z;G%EJqTW2_#$zW7aq{4XmAO7pX`|}swcMTp8bAsqCMOx!=YpYGr2+h6rr!xLH$ic)yyBWJEzl*P zKTO|WAPQQf(x)_mWtU{`vIKok;XD=wvLOb;4fc@!>Im)Zn9a+mAzr7|A-)L7MyecX zj=0Zxp1o!VG|g9K>&$ErF0y_y<>B=qFCE!eQ~T~^=IrMPSADDgE@*bVadoPWyDhG) z2W`t~zrLRM{$(DF;Lp4@(^)ci81L1Gg$ukyVmae8N@v{Z5I~PO+~0S;^~tLH?{1bq z=G2Y5XN_bn;sJ}E0bT26sdW*?qggJr5Pk*~^JviGul4rH2vS0|>^_u_IHcUke0k8? zdxkvU=gltXZ2wFYTdh#I&;6|kaf6I#@IoN z_9+=8pP7CrQf9P~$AhoDw0YVEEZ(U)4MG6Gx=^+&|HY3#fMsDx;pzh~Wxn&3Up^v1gvxur^hrelGg5Ut|YF+}b|wa7sOf?;M;i?9eb zYISojX}jv>zcS|UH*(L~!l92gby`BJ+E0N(TTtsr5x@d(BwN&I0*fiSe$B2ydrs9= z-1E2g>dp|@AgWjy4FloRXy=bLO0rWOHC;>o(AgVbz2JB_@U@O(s2gX7?e(R?_EB2z zcN9lmXLjwEYw~XtE%_r@cfaDfkLI(zw2c7>Wdb$j!3Hxx{2f!RWtdZNW|dnv7G2I` zrsaq>7w*vlqZ`6qd9JCt5p)dOFp%9Jf2oBo6Fh` zQj$~CFtCDa>xBU6F5sEh9cH|4SX`)Ynh6dIw%iY_M{4Ej1G9F0JHw>i*Z9+p_gEV% zm+0ac(K=&uE&Y;fxvips=!N!EJlvXdHl^1`4LDnmhYXaBKkjNGTq>_PqfGE7eO&}+ zOESwf$99P*_N@LwrN zTv_b4l}X>yB0(gXDfS3$#S@?lo$C=CKxxOVjUBz=r{pmq=K#`|M>;=FL5y578sZiT#yuTCStgFs{!Vl^+QKjQ(WAt z<*26ujkhLHR`xJ1{>qe2&ev%U4OD0QvATIeE7yR*aw>4!(m`k<1!%e3S~D$&q+lgs z0-VaI3uv`$QxBG3;VGa;B*VdrS1Patt^Mt9?ymm1Z>1z{he&nXnYq-Sl(4Uu6!~MZ zfcmg$iZz!?u`OIO$}DglbruS%$KwNL6yGq78Ce&Dd6<;N`tAEkE%9G+ir%CK-RP7} zMCpwR;En#0?FKh3yhsjz#_+4-V0r+BS=$i6Jw0Q^CH*v$m<5`_L68+Hf~+FZzkq<~ z<`lsx!@ZU`Fk*of#1DfpCfFlSF1?&g;R{t_#WAPZdMay{-^kdYYSkKtpBS+xh_{&K z{@Ty|Exs00^nc_`eMFt3JgA12gJLwLw}o+ko;di}^I09i4|?l-NW=@Q;`M<=@7!_c z4|oLB38`g=uQxS22rBCosHY#|Y5cv?_k(@OAN%(U$@hDGg-Lo5*La_^to-7f24D$| zPMg(mRLd1;ESYc~-l1Om8m+op%U?BEjaEEr_&kMuKz!RA-OsWvCS&ueOb#lcvUt~KM{pzm=Uw7Un{-mkzM;*Az7>FWxqEs0Y59fs&twI zeCn>_UfnS0Bp%bfEid3530=i>Ul~`0PS54QWx*~$vQPy$feGVtRE>0WoAkjKgp?qs zSF1`mYRsR=6N@U9ToFBW>H4Ar$@E(Jg7cAVU`gar$W*>GJw!#nE#68Lj%-F@b2v$2 zRwJ(lM{RDI$@9sQA#db#d6P{(O@L!E@(;+>l-k=b?qkNXimq`gY(kHj zRE#nr&fYKUmuu_Mcy14F(Elku1ExZcN|1CDo%;A`@es>-?WK)zmbJt4xYrItQ*H15 z4FWswHOr{x$O22-fYmO{Vhfs>=ZZESZ-qHs$Cnazji{d#IEEevqPKnhA{|PUaaF3r zm&>Dy=2eojvji$V+EHGoEhMZER8dZmlIxi$CebxMW7GN1&ap~Kjc$U?l$Rm%M;=2D zvct`$7JS?^X`I|kxGx)EGEdi}`G;7?8J{gyRexPTU2rx@z_2?4=Fb_b(LHoc6y5jXbUDYTbVWh?g+7aHm!Vo^;FzJJ zb_j6a$n}<->Z1blrfh(h=@Q+dr$fi8@n1nQgd9Q(G)5? z*ueH{XPu@XGJ699;KKYF>N!KDZ5(ez7GBO1*G%*KZ$}N6+&XeGA}Xx z@#aX0%RhE2=xkVW(tIL?@JcTPr`8l^@mv3V6JLxAFWyD(n?e{&=N1_>E|tx^=jq<9 zY7VWouGhu46U@3MayYH#gzKB?)x&$fHUliNZ4SgnMQFg!ZSc0-vE&oLI@?rdV1GsI z_p479DSl@Mcu&$ANgK&h{Ma}&8s3MZbAh9Q3onVUymtm&Hx!~mqF>g45EbqR;7BzP z{06_MPmL{MJU?MmvpIjak-xLp{2s!pegK|x^N;?E%-SZ(X(%Lnf7yC z^f5|zo~~5YWraQCQ~?v(^*%leVX_YMJk=hjLkuUB7pLaBMN?W1ul1%wadta?CFLl-md zLXrgUC%#2nX@5=cEuWi{8km$D5AUI&2Q1~FUam*$u~4#GC)-r|P-j2ILyOBY>TtFa zSe9U!0v)G3&$BVNb+0Gqm*H0ALADf!Itu|jB=N_HzM9yR)90S!X3_!0cD=Pv?;ueI#zTtbZtH7UCk5tMph{C3!W-u&zN%>k21t(HK<~tDf3eJ!^$M! zP+B9hk4B2LWukS)Q3&1x)^LQI8EL0V+ow3a?KKVz$;nA}n-H2sOo97|8Fbam(&nai zS4E!-Aj-T}-?kpc38UMu^GGl$mVRoi*hj=0xJ<`NKPdMOTY$V-pMjwz*)|%vYgg(N zTB=IaO1pf;NKbJmwc(&HqVB}86EO(NqS$^zU~U4a2o%YR?zQ6V(P1#D9ubv3#m4o^ z3|M#(Jrt;`RZvBEm@<33DOgXquP1Bi61yp^15jx3004PP4nqg!X%3_2&JAc0I8oaS z($oZ`Pe~kEcbz1+7-@ztPSQ5YpjJwQfIgB0(>63k{Q{`s^U00x@)2&ktCU5WUpzah z%LntG>6)%cyoR0OM=8>IJcTJOn{8PVuU0fZC%f1_?LtWxTuVnIb^Z56T`u4b zwFN3&;sMma!8stGc71{1fe#LbJl8{ws>y_+7)o2F>OB>wC_x9|Abombf3Az10t`khzew;wP(yU|hlItEs`J27#xeogaw$p8R&GY9acpe=cxUSsGTbsk1u!>A!H3u@8Ly&j1wt>b*?1f*HfBK+6bYV-ddl?nkBd-6a zRXu2dIu`#4E~*8gom+;4Sxxjg&zi_@^qjS?fsp+6o9=f+>k{SF2k}85ih+cQ%3A3K zCo6I6&<>zPLTi_P@gMv{#>a4(xbNjTc&+6ne3%<~qbQQJARc?HZu+@Hee9;(LERV5 zP3uCrZZBadm28Bbps{oG9o`GDidPULlcI-#hAmTtH~uuFt~J+-GXkL1W%KY zQBKabdpuG>F99x`rxdG_%{8{o3LYDh@&kM-+dc-g$o5m>mas-S>FhNV+w--n{_+gx zDKM0oOVUavyKmwCV8*Ai%k}w}905=>*^7JYtHUqp*Ulmko;7NAqU4y75l!y`H@y#= zxbi>F$<(gX%G3vew6PV5{|A4Qu;k;4;iH6Ii;mmm8D24C(oInCEPKSiuus->#^pme z{cb#67%VG=)h=}f;sG5C?8j>>!yQ(G;85>17anaA)7QZ; z1D`-50tGaEE2^cyHa5ASs$4{pThlxTk3TQ)@TGq>n>x7hPf3?+=TwyzhCPQLjG|=F zoQSMmY_#ZB^Uy&&z4~$SR36c%8WccH5JyIzr(XPT!OI7shJ8hE%7Q|DJ#ORu>){e zSBP&~-#08x1dug`XR0%_BGhbgwi3Wfvew3Gpm@#(?j)|#CYGGk{uPC5mdxrm)J)kw zOLJAk)c^1O4|{J6e9ZPy!1M|0Sb?tehD7|Ng73ZOO#nHt7JK7(wXrCuO6ONFFf#V4 z*j;xZ>GI+{?6C1c5*p3(zy{wHR(7~(YpmNb=J6yN=qk?}3yqd@fdA;#Ox(8&Jg9Pq zd4hZJbsk6CIWsL#h4-Q-&%QWzn&cLmtQ|RJ!A(4_FLdwQDHtYt0^N;d^|q+PKhiSXx(xaLHCWB{M1-D!k=lxrN*v@9 zJ!B)}w4*rASty9hx}J-J3CtKs633w)VhA;?L@6z2xo$XXlr%J{DpzwE`^abs#j5a; z?70(r6RRp97N(^>q_asHajp@amDF{CKyfJ&eHwX>Ki8^5wNvV`yfg^+WuNTyVK(F5d zQ{1h!x+p4J#VSZ1(@iCuYet0Hm6C{8QbG17O_&7i|)mMDA6&Q_GUh<6o z$33mc$6)EqD=k<~gY-bmr_e?O)Ov^WsN+{yi5x^5eC-aG%11dOf~DQHa+&&EQfzDt z7%n9zCe9E1y=wOr>i&de=qLc3{^vq#C6RtrGhcIL(`YPI`?g8{fGnGVovcNo;jZbF zJj6zs+bK@4aa8Ogqk!Z%p2PYor1XU_KKiTCY2v@%YulGK(BCZinIE#nJ-NH4a&fRs zlTYP&1EQ-cRFCr zx3s2A4K`6_+Yh7lvNC~q*9>bhf=(f{^(B%dE9zp*_382euU-AJ2=QDu;ua^rSB5H2 zvHCUp9XS~Xm$KtA?`{oW?eTTF{D^e7v&oLQDZWG;26ZQ81q7AS z5-=?y7_C0H2h!sWclkXS%~a%V4vH?MbJv}-O*@=T@mIaXCOj93@Bc8>pYHRCKVphv z`;XEe(Wp2TUu1&@iT9_OjiWuWfrkgrqQROy14MQuDK}!^4oCUmUxB!U$$1xMJe^{9 z?7eFPnVA9q>=pYx%_uiCSl=>2=c-%vD}a9Qd?;s&?ZO`|%%AlO_@o2<4+^FF?ha}d z9!v(fVxM0jC%YYG=(&?~!rf;{QK^?c{@5baMRbJAFmEO4QSm5fWgUjbNp0qPcVP`O z!9~-;R@{JO=6}n&ez+({{<~!N9H=K-c8}$=rAcj^z#&k_u$8r({VM*p)PJrMDo7@( z61gAq^|C^1J15lV3VBnOrQ0H8IpmCnxp*-4Tf_iH5lPX#_sgfE57vJqn9u}*cXD>MyK8GoX4)u z!^_^?&lHHDhkp=vK5_rzCJK2B+L6qXmdFM&^r*z3NMhCukSu6+Bq2C}f@@7819P>| z``9uvLTKOpEQd6J9E>N=t`-+evm9~T44&i;`rW-?WA|h*#BZbl`NU%L@@9M_XM%Ej zOjA}eFWbYwp1#+C|IZ)LdPxiAYGFdHS^!9V9Bn*b0!9r9yL>wGPAlZFofTxl z0Ch$@p+eLvcV5R)KwRp)G%avd$rZY1M{)|X`c})cT_O=`q$#jy0nQP9qKQA8*F-}q zQ?yPB(kBcJ8@NYt)irOiBy4~+#Z&7l(JNYE>c1!9b*9-9`3u#S(M~3IT0ICX4bccwG;^sQe3=$jeZxr@Y$!@i@G+|+s!2TYxa`CoF#_Io zg#{_>8}W@4jReCP?3QBs%14%@IFfcOw#sd_x)KyP`Ko+A{LcN=4#6$j*3Y=~s1?EN ztqYV5?-Q$B6Ky@a-Fax{t9h)KjPh^#Q6EOd~N@j6MC!b{2Bb?hc#WbdpB*Y*g_ z@Z%MCLv~_n0Sb+$bFbB0-3hNKsW&FIOXJi8AyEP@$HUPo8@!wIfoJlKGdRCXkf2uC zv53WQjy(vXqFxB&ty8EdX_K}zpMxy9c~9}MieUwf6)>$K<3CZbrcv^$hJp&o3&PC6|J~4NQGX0AdvF4!2esx7O><^J1MU^t zUbPN{U?;Zk|J@M62)-`XlTg*EfR0OV*PX}9j=>kwj{(#Tv+d3msWJ0zc;Hixu|vQ_ zB0>62X6whTJQy1F?~C7x(^Ax8M)Z2sX)}^6oe!lf?eC(@^=ABt1*YTqXF=ich3+z| z&^`XSmJy4HiIii+nH?e2pj-cw@sX;z6-We5@|PDbLrpj(LriiGRkn1n{uvJEULhX$ zf>UV%%(CdDL8Ttb;_T+v7AW{gI5yBUpy|nr{p4UBN@qH<_{eveFhK?^jU27)OWfU{vAP5?M6}rr#uZz&=0F=CYw69%6^+I@e zA$;LO_BVegQsoz9XEMSxS72RqTY2;J7S4TscYam)u3vESxiI%1L@v$Q3%EKdz7d-o z(yPbRLe}5H)#6PpBDxb<->pi;KMM@zR7~~aKC_(#81v^S<_T&FI}~JYq`C_NiujB` zV<=&HR$(_Pb+(I}cY0JG_&e{kTp}Y}tcgvh1QdZRFU=6YB2dtHu7QZ56y3}t6X`kK zb1|pdNf;+x(Kmf32PJ!_4$FS4E<|68{dw`c|NIIQ|gLENQ5$t2A zpU!^o#KPoQ%u~FgCS5TZ$%rg4fNeSC>Z?2okpC6t-T!Zyu0iT}Ty^@D1hls5S0n11 zbbpy-`aQk>BejEQUC+QFP_wQ2lb%6wCa7xYe(LCZV$gx)I7-h!2IXc-K`gh$OD8Nd zQ={X3tvV4AVjI(D#g1wxN{Uw2L~m|dyRnmYoVgaYoqOusvmxTOYpvCipCJl<;wX?a zq}aad%8}Ura(f*!{h{`U9Swqg zPd>Kh?DgI>cHW^|Q*LWgEwCeD73m<02QhKka4om**QFeSiBac|Js90}}jS2-oAeqdP6RVSe6#>Q zQ%!?|F|%P&rhyfrERNU?oTKdfrCCo?k$wQEL`+WJ*<_whKasZLTx>w_e!P;5NOMjy zJ)Zfk+ux+k!|Te{ELVf|mtWUO`GG3Stqq>Yf2g%4p`s%7P)EMEz6afa z&0U?=;}uEb4s=YlNI7saXU;vsecDl>KF*+XSlCL^6o6qIS&U%g(R>3%u?_%VOD3%4 z4UUo;6LExww5e62wSmo4z@g;6OXIyWfv+f)UMN1h80xeA_*C5+l1_HHf9eSKHL~Xl z$n=N6+Y8wNBCS5rDQrRIu){q*z$*Tu8~LU?iEe+W`i07Nv1!%up*mh?l^SAg#Q3T> z+Mie~of?Y$S0}Gp`Ps6v0y2wH4wftBTR40ct|7zC!*c9l{+&|40q#biqX5ips{?YZ zB|Z1G4a*seq+%7rhuHD|NkbK%9R89bs5XI= z#LT2Q^%z?0K0;H!x@xNOPyZeho6_Vkgbr`o@p1QaZKWoOv7Ztg#~A@&p~iXaB7**VpRonn5w-6n51ZPl;H^E^;+!LZ z+{MJDLRwyC{ZBz71Ol+VsC*EJUoTmh43NfD;kO>LHIx#Nmb9p%TK)Q{*2S3SK-aGL zI+IZRT`SDJRXGpO?bzW7n|82ccHi@aQYva7^@^6q6YDEnC_Hh#%0)N|aGk``70-Y! z??hp`HR`34F1?m5{}+oFG5hBO(WUln?mH z!H#=>)OqN*$zAk#DmYTP&s93D^A3Yhs%As~y?p;ki0Lj6u*cu+JKGqR$fO{+;IEH< zRB2=+8!Z}+na&RaD;k7Rs1bzOeyYx{P2gJpQpXE5lqmLw5|;o6@Wsl<>)RWVd+g`l z8|^vZxRC?NQHC<-sRq@=qwNf~jIx8PUGRfXA?_n?6i63Ei!1A{8Ilj+KC!gZgQt8+ zQbNwWU;75RYX~BpK^3@_Xw4AEBPzA&4;tCE?!7&;v`osQZUlsd!EBE|PAvEVqHdQ-@C<03KZuX#TuQJz3macg_bypX00QQUMWJEyxTT{B0$jp zw@Js#mKMSKP&+(wEdBBx5LE3ql8>mvQ`c8M4K!Y6vbuE3#DkPhi z$BUP5C`iVbRXV%hsEg~DwGk@eIS`0qYkVjM>76f*eo5I=0K-=77c7K{kA+`lob>J;8KE9E;TnFM=Tye%jF&dO(Th|8d(VMl88D*~_n;k~aTFXY?PFsF zJ2j85lE}T;tVVV?90%KJA6FAz=)Zin)Q& zL({?xPhG(Q*l0W^HFD9UK0w0yy49VyXnpAf!XfKnW0`zzcSj5YF+>#jtlD~1>4=na znHcFTloB>|9md#_!>mi->?zUZ!>k?kaEY)*ks0Dd13`dv@(s$&;JsB{MAfTQWEMBqgJ79;^Xi~V+b#qa#a z4p?RcK8$pDdkbVez9rTpc4%=1pv)Fb@N~*)IFK$@_Wt2y{q25NKHV)PhNiHk`L3krcfVZAu91I)} zz^-)H>b6y&b5cM$lj$?)H|V1dDXs=B!a$v#8_@OUKjF5(C??;6JOXRA=eGL>#D9|G zeK61(u+tsZ&5bVr?4ht5wU>b|3EJQnSwf2`)5Qt`jw~%bn-3>q%$rQU1=h*ruD&ed@HMN{ewJF$&SQ71H6>mpZ<%w zR4}TFEDFwE7|BZsn38b}Nj5-xWGkSs&A#O90!XeJ)`x*I{kcwWZS3z9kD?OUSULG# z6_@)f0SE5lJq`tpz4Ee9RbT8v>#Vc%YAn#FmiEqy&Uyqxg82#y7%b_9q=J+nDI8kw zaIyit7{2GzMYPn4EE!K2ZHmA8{48cP`;Ze?E1s8!kfl4P3V+}ZCfQe*5KiMwp|CYD zPe3HHUMH?Pq=R~1F3GNa?qVU2?!vBuWic=pgu%1noqHX8#x;0KU%ine5E006ok9Fy zw~AJxVCz@nCC%+ez`G{)nqQG_j&>=6bx&&ld4|WCO zJQUn<9jNiI#EUg?b@<$smIfd>0`NALYt+}=#K z`zzcc<^Ma5%z(sQV4T`l<%D77g%<=`pth)3?bv-LdoiwM*=UftbTLMS9z6;!Q?-~+ z8UBYq2kCy%&B!A3{zqo73ldBc5Ww8QV)N*l<7%d3=caAIR*#=j_Gxv--V$ix2vBKR zxbInlTlTsI!Aok&Jl(|M+hTo;OiZnii6=@&f4cv4x=YsM2N#q%dfPJh9U zX-Bl<^xATKc=VVTbRz1NBmf^}0UWFolkP;_hBO*h)}F#3i9il;MfOu063ah@o*F_E zcVwA8ry@BkM-|XW;R{Kyu+dvl7Sn{BC<&^F{A{mfMw^>*%4S+J$8SXaMr;w$-Y7rj zgqY)ZaJ90ij{Z@<-bzvW4#smyryX=AoHWzL4)=eSfEug)-g9Ey#CeW`*Y-Yz<*>ka z>iUS2>TVm4>lSoFA^Sf|&DE@MDC!QT^FS-S874hf6aR>PsfFgZ7C6KF?Krx7fX*vxRe5-s}apDc6Za+tCxNtrfi@foxMlrQ)Sbdsv{@so{ zH2$7?Y{2W9($=(1WP6t}dcWuai-)Iih+G$~yyDmh>L_^!iTk|TAtO2Qzn z`va+Vww%UP#1q$Nh3%y!GKpduuaef0h%}P*4w0C}A7{pKVs8UXrkA$+(ppE{1u!Af zhI7sZ&Prb%JXQ01Up(p@-zW8aWU%W|(1&J$75dx~jB2tBONrGHWrokc4(!WaZA@gg z;cbn*`%)Jzb%6KSe2)+*bbGw1bjcdX%={K{=8ju=U;D64_GADrSn8Uw2$SEX&?hOI zIe&+A|0*0DFN@&sP!z_E*$u1vtIkXC`SKa;Qrs}V?@9Fb>`+z<*fOrwz@4%vtk#0u zoo4RCQikk%3%yAxL{yc5wmuW0rLvl?W=yt%Q9g$S5dweg+nDpno7qnXQ_62?n z9~%g$oG-PE!CLYiAY#(guQgv*@A*syxSZg+EVm_Gl`y{{t5ruP^CswINvX&KY?bs6 zJ7!qXycUCC6ZRq30sM2-dqT0XUq(Q^z%|gh_{JHpeN)oikJ(YZk!&vmoFmW=RE}k| zJNykq)t)g66yV$hOx^3+-H-g9@ceT$DV1~V>j+U)KTW*{vKNGz#5DS7*E_gk{+cAy z!_lS1f<+0$QkP{-i*{*;ND*BP{D#23QmNU9Y|mIGSg;aCLSi+u8|1e|tmOM#l2cPl zVLf}iK?4k*`aoQm_%IowW@>pp!HWx4)SY*KNjTN6A^san7Gts|_5@{;;%$6_e?21r zO&+iuGD7T=z8>vJaLv_p+s9sIh^~<`L_2$`F;!LmL>@w(T`UqhG|yUslZ~KYvrILW zCu5HL@H2s}{j1o8c&(Mns;zxsQE&Q{PG%=payWBAJ|`h1P5TgZrg@|ocd zCsstsuI8EJt=3)fo-1&cgDto8!~9L%3K=X!DnArg<$FlvU&uwxJ!m1 z?3z#j{zXko`sdhg7KEEw4-LA8K}A3V**jeNP9NLwg)q6-&`1$>8+iIsd-_KaE$on?SXw?YZdzHEOCL=%_U?0o*Ked?LhbL9`Dl_F`OY0QW0`9 zW|74=h3SC&u!m>D=`qA%UIK*YnvLk9o4_U&5u_hY3umYefP|)uqSLDcHHYClx#eYL zj9&l>4;#scNlo0a`n)V~cS$^0|ABxZgd9XT?=C;a=!u9W&6S#TEj9lNP!O&t?vjtM z$Np^??MJ8KLhi?b2c?7vYKA0T=5Xmb8`G~8Is(Ze`O>;4uZu(=r?Ltf+Lh3 zF28WK5lAk0+c!jmaUMh>w2;bDU)dic>?FK7ABd|@X{p43J|$R|b4wN4G!D?|`K&e_ zlg{i!VqtPFL1dD-H(AAHXLKEotstB%8gj`eZ~MWV>j<1}W5CCUmmL_U;?jWXI}Qvt~Wj!M$Py?JME5-pniXA(|BK4DLmwhBy?wzO22pc=u+SkaIM}DiQ`R|J}uOzr4 z<@PW$YN=>~-o*{XMZyJeE5(64LB2LHtMp;83K*LbX3k+dOHTjMT z`iMfvZSvHZRE&Z8C%I)KG_S)H9qL11{a4?`y3s<-s=|KPXOB${qQmVENN7g}!$p=}qvZN~*2?z%gm8%1;ph{4ZHc15Y-- z0j&`ldm)EmyYa*MzrT-joss9J4$PWoXU3Gd3!_Md!T(xWK>ff&Bu`9vRii1Wu4!gFBB*^fP(X_+8J_f z1u;G<2m~4_zUoMi+=?ujP4prPuw(+thJlYzH&v{SViF8Ak)+y)KE2C4y#vlakE8s> z{jB;hm}@Nq(b3Hd+%Zp+k+0+&`qTF2XG=>^VP|jYwHJ+V`$OE{_xd0d-U@B~B4Y~3 zujGXMnh)}E^f!REisUKtG|0Pj>>cVGc@9yLb%hH13Zkyu@O?drdIq-PUjHU}3s+ex z{AWzj`R~5~0N%=IBNAVc5+DAIsLtqs#;`&xMv*xD1Fu~(UC*vg8h(lM({8T!s6QlgcSz|AFy~)D}Zg-9Go}WO6A#!5c3DPOb zFJhAE;nd{U>K3dmd`oly*j6&eMw3#+vMjjF8IC^Y2}CLUmMc3Q!UCK0hza4^emT0% zbo<1eEDby&mhqgIkZqB4UT>`99wOFguQU7NXIZ8UZF}cR3&I3k<~A0UAw=4OljqEj zP}z8FXR-{JE@>@PX&y~)d=~)eLFeMYl}&2A%+IGirH`j1g5RE z7Jg`ddEOkh`v4EJiLIv0me8lPvk!{0Yyg-7En7xm;lOf@6^4b3$zv5g&u2J!AJu1z6}>-y@t6L@ z4)HuvNA%sz(gFUjE^Ov$y%dad$s`hzo;hf5G@*LR7AmS5$XDS21Z9^h`~ImaG4O%% z84dQXvnv_!l~Y|t7R*t%dt8}T|JQA~Uo6zRK7x5))q}P%BLp=f)?N{=F>d#7PEH3o zkTiS>fv4yqyeL?)y;LqO1Wz)N!E%@az^WSZq5ja*Ojc0d`DCi{R4&N=INy$R0}WL0 zxkzYMiwhr(@|3_BVrV@kw?=O`lgpL)&mhmpk{hKxfx?h+t|%=c-s@XXc4G3%dPfO08hBWg6A3)@vzJrD#|altpp*h5QZ% zJeh3lC#4ZMJS#RV66OD`JyhuoZ=b{91_ocaGmaBi0wUqKO&cp-XPDd236qtOBh<a?&Q`6eG)>YV;0bYa!!s`K`skS~z7i*vX9(o8}dC z-6L!^YF9vKl9!MOJq5brv?xSTzVX_>lqPSv4PLodGxugdR-zX51h=>np z3%8x*La0J(FD0P0pf37Z?jUy5f|&Gw>>$6zOe1dgYF@eXQ)0o5c)JNx9Jdf8ws0@P z3N$Knxc}7htomZdDo`sZ(}F2jl+-d_0x$Wyt-On!RL*)O@SzkCMA$BM03LC;6om(9 zE|b$Jyt__<_}zNBECt1dSukP<*qs5ZyVg}sUC55uQyi)`6;<5-e<^(^@&wbYg1Nzp|`5C)fBk#>! z`b71{zX@l*;(8oexDvrgI5jPiu^U5dd*;rCGp)2tgoE6&$gI{V+B`UV8~SuQO3#pk z%H$QI7Tv=Zlk&LE?oE>gGW>MGi!OZ)=$hfO)Wg`vE~dCdf$XRCjIk{kBUl@kE9|Gy zTk$GI>)q_=WmY&cjkN;kQucqaojRsG7a0%s@dKh;pJ-i`uS+Ra8I(PI=;3cTm z9113OtA8b2e;=C(KHIheOZub}7XL=#G9N1Z-xa;}znpd+!QRx8%T+_Z#+_Dl2k&;p1j|Nq2j(e{M%JS?FeXI>Tx2LP$EbiF( zew>)&09?CX4{Sn=hv?sYz9Et4tS28x*_V8$NY`-FQ=^RI6zCDYfez?5YpyDc5@quE zz@0AUrY>7Oksdw=Yo~BiubvK&e|H$@!@fB&{yv`Fyeu+xhUSFo8V49{4uq31cUD0% zm`+CE&iBg-J(+4tH6oWphK0=&PRSvT1_|Msicy8%_i4i6^qT3-1^l%hh0R>|1)>$- zvu!+5QHQ@IntA#4m=Cen9IiQk`W<84s@Ff9Kjcp$_dk7~HRknJB*aYu z(&kTTMG+4g>I{$A03+(7cOL;Z16dOuqGwKK#Bq)NFt0c#&D#zzHE4H6xC`L*u8uyJ z?kbekB`7$1S$@at`w~Y=;o(ELCQBTm>&WxE!$VwqFw3t%@y0l$LahkDZvy%M;BnAK zM*#hv7wj4gR!~(~T%ry4dwm<;@bqnQB2Hb-V#|_l8#)wy8XOdh|Hv=z5pMXoNp64o znPVpwcVGMR6!8+TZ*f26yl7_2udhy}&a9a^uX2EPEC}ugy0j}Am6dV{C<;rd<-HT{ z&iNuoo>r%-mv(k-B(OHi4iln5{o-7#xA5Ksk8Xrt)c-&3XvV(B~w#*JG z?Wsg=WLtGAOvT~^P$Zc*B)nmz5p|9{6s%@OL_nxFH19dR{Uw7y19^L-Yx2J)v6&x! zK}qXCv3=+fIipyuw|IxiWL^a2R#7yU=QI9ee7vI{jFU zR3{OR)wXr%ieBHs5)aS*kyk(!-zh49Uwcz~HM=CwhcabnVB+N@f(=fY_5OFt{bwv~ zfv=Sep2Ab(KrVL>y_Mv;@kt`qeCn^VzWY&-(Dey~qs>Z#OG#8k^iZH&*>`nT=rGeF z)bV9GIr9-FP2dhMBJgn1m89LB(Ey|9$m0v#bI5D5-whE`u#T5y|5iBCY#WcYrWPnV@&Z+pnlEr3{H*#&v1Zf@bzk)dQ%mts6^N`rL*KJ7%-u6u7DYTn*|Hf_xqX z7I>5yJMzkY85zvt`bJn7P6GhUs~kf14bru0`f+23y7^?J-*F!-Ny!OL*HQse?YA`L z12*Gy__St?-dxy@V;!)dh!ywv`$*1kibCQIQ%gmuDlF~{rLEQjv{{K4`;v=R?DZFEm^X+4 zAC!I?)I1o<$znyA>imL?N@rbCcmP~|(*{%ABFrpMCR)bkUxStx%KX zq$$tPv0%<5aY2uynE2nbzBE^wx`B#BMdWuS3Y-P<$#FQh)*&7MQ0^uj;;r3~LrOCG zuIQ}8hCk58*Eqdi4=O2t??EC0IiC|q2wwORRYB{*kLJII7@JU7p<^GO!G;R5oK$b7 zMNfN?!8Qss@8cl;5S4_t6lfdk!=5HhoIO8X`*2N_v>SN~^a&5jxM+Pd7N4wW>GEfW zBE@IU{p&U33@)N{M(I-WJxgFI2fa&NdoQRYm?}CSRjjHU3Ez9m)Ud7UJ!kF6C<^hot1<4NdXGH+GUW194|0uYa$^BL;iPT0CaSK9F$O3 zYpu_yg?-XgKG}obl7zgF_l_t#9sT{4$&3o94%o}}d^FlVM<_P6aSgFvuUwCg9KkqX z7_dkaQr|Rh0dJVN-K+?&sAizI8aMMwH5k`m<%pp0GItvnq1!%*&m}`{WQVc_6rhHm z?f8*E^!e$4lqW;rUnyHi3FJ0Ety}@H>2vaRLBMYL>Sd}2NCHAo&NKnAW=r1;!9b%< zFWe{?7OFljXUM9mDIT>XPgVA30E2^E<5UKW$pTh)9wi_u^^V?0@#6nh{^E$V&E@Ng zkQX@;G?l8VO+ZcY09_Mu%BvZV#bA6Ubm-$>g}BcQgYyUEl+8Eex5ra&F116QU021p z3C2&k#U!L#&5+Dm=#~wT_D}!ZRQ%es-lO1<>?Is{a7D$$+=s9q)so(eFYtMGKJd|jMQws^rY(3A7sK7ty;0CaAO+aSf-8N6Slvj z^&LPlmR${;O>Daw6(PBp{q?SW%NqyFM*E0RYrgW2b^yI)pw}v+eRRQAx5jfc~J;y~L^`)ZK)jxF6aa`|Xuj6n!Gm-4v+H+n1X?WUOvI%$H|ThPTV z>v!bk4A7C|j~}Klvvkqs@qpVG%6*mxA0#BAG|;K+Zc`Z;h$jiXDvE8)sY=TCT89GS~)6$sGgE0SuSR!xzZe&|b zl0BQ9)J~6dcv8w5%B=G)!aRIaiBy^&ACmwU)p2|yBJ6J-Fs|;Uc7$6~Kv_m&l}WL; zpbL*{@*;>m`#;M!E znm-q-L*Im3r&XnFS4#CZ!-YUlsw8bz`jsZ(-jA8T)T%W|cw;}mSU}IYN z^uO$}{}jAZO%X8UTmQ352jeRgqaFeECgFY858G;BqOuWslyIKlg*>l(?8PXB2YW-l>}-hJC%r^(zn`%R zAo=MvX4EMfD|DzG+@z*!-e1~}p-17}ytj9^vIn|=AavPOTK5yM-+z>D8+xuAeqQkI zb)MzJ$2Zr4R;0z91$77s=y^jq@ZaubdOik_Dw%{=XCWo0ASl~!u;}cfDqy5j8%X~-5iqB5O=8O?DRv#ph#|oWA=)*-PFV`=O$*bt`EoC~%Tin45 zw=4Zg*bef>MvKQQk{?!S3pMUzB>gI#YVW=H>vku&om`p_aG8il=(3hy1t0~z74_5gO6(! z{CLALuFkZ!jUU!GckNoa1=3*#d|k|dC$ECQrz_}GbAuV{iTa}Bbf#wivUjkMTM{d6 ziI}=|cDqsA19s@a1#-uiO{ZkHGE?^RnNo~6!wyp(_bH~6tG4ieZ2I^A!;*jx!A>_0 zMEjS}tFgT27{8V%*aaivoH4o!2S)4=CS%snpVh(^64XoD`*|`_J8F3C=$}UEm$@Qc zX`CP)c89e)xfmhI<$2OjWchUT+;0Yz_HUT=(>*iejcSb6%RKVxIlm)ilO;nPiAGRf zOpeaB7!M;Oq|1Uhp~QrdEH`0j^&P+O+PRyaBHG3kEZmhPjqUnm2rd(9O(KZ@#7V+$ z`HhYOk(WIqb7R>-&4Hnv&&?Oj&Jt_}XXYPhAOT+?BYTL}skovrs$8DTh7x_>iL||J zu1nEj%D4A&Q-nG`P{}Z;WsbQ)O>rLIUvtHQCf>&!@i+Phh+&V~7Zw2(sIvbFbG(Wl zp~)Pm$$N*XpI6t$VVMkE!Ba-@o>vd;WLW_By0TU{oNdm+OKO3+2f z|Fe>b1IgTmOyT+I4I`r`($g+*Os1@C(X-enRWF+&QUZAJSF+1%t+GN+xh@`Cfw0xV zqp)6$DAhQWuvdWqa$R<$wk0Y;haVvUt|sb(2F7pU<}G@`V@mbE)Uw?*o#EM2I^$Rs zxE?Ba8CV~Wd0Wx>7GBat^86qMbpy{)sdwA*+n$^@ke} z?h{R(1786>pC^X=PKD8~kn9Rl3QHNpNn~w4(=B zDzu2KH=%!jlg&)|oy#iR0?GTj3p~>?;!5ifT~gkxVYD^)--hC0RzP)0Iv|T{=i=RR zpj{!$OA&4iUy_F^0?8(0ux^^OqlHDo&vWBT?2v78y7O;@opf&}5;n*(TR?{I19;t) zq6t{7!eLK(|v4)9b0IT$X34%+f7SF?K{~Fr}IdrmhM6yRSXK3~MPVy+7J(CDr zw8YDcj^;Et-H02_2atUZN&)BeD>4QnG`FX+F2UWWN~dr7xOt`i*SiU{cj{@e8Vk2U z8XBb&8?he5DcXM}-i-(*#6kt&B4FZ*K&Q&^p48@0lzEVb7>VcPkqQBT+= z1xR68v2aqOMt!N&cToP?5ZFUY^ay$V1#xMmGG4pfj2PwM*WS+!El%?mk&6bGQuK4^ zut?lURUfuXg8z)eqCf4jZ@nJaW@*qL0i_|dmC`st#u;n%I{2>mB>p4d!&q38Bi_3F z)hvBHwJNgDL83o=-AOsMr`P;=@l?iCug&uKb8r}$0c|K5VjM$ZrfQAJCy9oqql;UM zj&3wU{Ez?LhMR2p(ws1|T zB(lAPtnugOdiXTNrGV0xhD5iz(*5_NC+jU=vfjs1G1x@d+%YUj?gq4H_8O^YgmY0C z^QE+vgV35pSUnj;r6HBdAVW>!h?+mVVMPHVR!)g9@V7Pf9SSn1%#Jsf>Vef6&_S$@h|N}*ce;9KTTAA(pe{*PhT=&J#jjztS1Oj*KU^8_`R#s(hT_^2R3x$MgGB_DFSj-d@0#*ZRor?CkuM@am{H66f zjh9>4?dRc0kN*)%Lfo3DUv^*Vpt45*mm>Ubr!26bQ@l65P7Xo2f+cQyyV7#$L0 z@$p?bNOnuC=PMzn!$FL$2GUMqCYG4j-ICOiM9mCkQloZ!NCDocKG;>^5 zQ#J8|Zr)J|N%dYQYYYP1fIWsqBooJ4?+PQ1&b9IDv^{TL`Poq`apB>#p-4oTg2iL-jcn4DWtro-eYAIe zn!lz+QCIi=gp4SJTbpTI!UWEWp}k-}d||`iVA9ajq#YYG;Hv=+p;iYBiEJ24peOGN zuc~eW9*#1;*1}usFPTH#+aE9hwwyzM69IYT{7DlQGFq8xLL*Rq3JZxeI@Tv zcYXZPj!=(ErQb2Mm2T;aY2KEKsBRl~D`237SUTN(Frb>~sp$pn3u1)EGWBsN19*?JH z86KdVr`~xcdc_ssB279`9fyxf;_q==i*@+_+>$(%A{8Irmd?>L9mAAF%5jV(<@LSa zneO_(&%gH}USm<>z^keT6-`8KAX`bS2bYf_oCxNsW5!1hLOeBGoA_1!Eg6@56}(o- z*E<%t)$PFj0H5S@Rj{;+=y5MJVAn*w7|XH5O^g9i3ZBjp)$P??uj+ET_Nuc{Lq$>q zhz<3vA{tWhd}?{LU3Ql$d|@--os&Wk#ME7?Qbo}hmaBQXsPN#Dx+w*A!T<*tPUM7v zJ=9HHlR2b2CJ?g1LG9;Xz;ND%5rR)G{Hi(ZH~Su^;`N>@Lt~Hk!3Z(y+Ad#}b|;4B zBuVM;*a8$g+D_UKejuk%)@7`O|2RgA)loG7%*pz$(@tzbGCZznQb-CEr$5}{h#YuJIGd~>o6{LN#dMJv3|$~V=zizJOFE#j7VuqGJJbW-BtS1B@;&$f#n#( z_K6c_C`x*_kOF0#-!R) zWdxW1p-0N(f~y1}SwL6%5ncGd3aVc_z18q1S*dtLZ5L&gsg`l$vH5?dqLj+KVS<7p z8Hvpij$wIqmjEx-Ez+ZDHmZH0CZJg=d`CK!SDduQ2n8Uowlv${I$E)By*M`7@#Ex_ zUKn6+iB6njcX-zHaLN208PwBMF9(&c!I#XK8cE+SY&XcTeYKR~j*W9LkW{|prP>); z!Y*pJ!vt9_m*pR<4;N|o60Ds|IPaXx5}ME)8PFS~^s|p2l;AFNkTgg3UB_YlTgR+1 zRv}*00winxMH!?5LfQ;qVqi?=O4cx~ksNQrw$r+dhoKt4hH#0cP3foHV`7v{|8;k7)muwwKc)&%5#z zz_TQ`%Zz!hGzccEzs;URNN`l0%qw$mj#1K!kX|JG15V_pw}l+dYO+|N<-YqhWxi(Q zwX-mFVG=biaU!{1^mHt6ZNvmLQyNA+zzjOn0?*OS`Hl?Ve5CjD6mMB5IHX1PZ42jY zU~RlRh?%#_l$-*+7Bfi#hd4`uAq!ARy!<0Up_C6d5b%`BeyfdfZ@4v9Z$4=MbRxpj z~b%Szj3-(bp_>G0z>8|M%lVghay@PmIPz%k0y;8{N%cCekU?UvkK-JLf>o+`O zRW_DHlX$AYUf-AWXg<=vdJcyZwpmNh*V3ZMp3KNrSqRm@@bBG@;GW<1kM$o#Zx;Xf z_?bj6hmG2Lb4wVSlpeC8i>{OTU-63ihgD*rBT5jkYiyl$aEXC`M42 zaTrZEAdUI*zru#&Sj6ksG!T7fit;a`d_Cg@{_(;Zm($8%`Vo=@C-TUH-{9iMPFJ(~ z{0cn1=ItD2_>*FYJ$le;Si9<7{5s3M7Jx9%L#EWC{;EVDWWtC&Oa2)-{v#q13M^f` zkSjI$QOV%)u#=?nT@F3FTW+WB$$BfSf15tbQL+T8OMylh(+WW|gRxP3JD^4iVEAhiYM>b`yug5PxxdV@nz#K9ZvqDlDax^;J%_B zM|64fml*3RsA!?Vk6V*t>2Y?e`4DG^mk^}A29mr--=C+xhi}l2-S$%Lwj#!36(=t= zn9TeoG>;0GG@$Q-GpVWwlc1ZKghpgtfVN>npTy4jsXXl0o98wc6Vn#!%B&jnO-X>FUGF0?c6T_3?H?Oaoqy-+m3DDGf9D zj}^M%O|vZQg4tP&a;Y;O4COKYqDRL64QNIGwupcaSbN3IG+j@g;q1h*Ur$cFmz@jC ztw4uf=$SM|tcP_Vj8L~R${aF;0+1=Bg$2xRBhE7Oz`lFasAwHnD^3=Xt>5Q9 zx&x0Hg6e!||2SQbseCj^QcR}%IcaN-Lyj2P!`sa8%xW88Ps++JxYYN$8dz zOz6*Vw2ZJgW(t5xt-U3`RO^cDp&xxW8gB!DJO@t#q#VYIHYo~61sz-JYeN_sX|tx^ zjievFZzY_C-;j#qdEwz)`&i@-|MYKzXtoJ?tYM7Al8>I7TVMNDpUT4pU1-F?@Rb1D zvgzOEAaM$((&GiiDmTZ$t9ehw7%tz33uPYt>S*KG9Ngze<}wj=7H&;xa3z! z7-7c1GoX?JzNh^yZ`MhjJ?+}!-guCXD%$IDds0d4rSu;g%CB?($(#QaYFD5#4bM$d zOLHu7#01AYK|Nlg-#hG+Y|}vPvMG{1_GiWn;~_B;qoS+`h0rt!yX4T7V!H!jNb3^P zo}2sa{N0sy)Q6++`hGPavA-(ZovYgQON8)+`Hb+39bT8`E95v$n|g1NptuXPzW{O4 zlF;M$phDqiC-QtU;Z6nUQd0?4qUbN~MamM+B_AT@&TQnD9WxbT37BNIa3DP?wxPicxqZl2e!kD)@5Hc0FRWFz zP(~1HEu*y$tUP%19qBVhT!kH6pavug=hnEC6*3ORQ-E53xEplKuaY7MtN5zWQztVt z3{ABVTHw{;>~rbqvh5)8kt$`M1mV2(A(5S3LR<7MdLt^3tgKItgZUXaj1#IEyMssU z>*d7cw5{Dbw6GMe-ngeGVnUHzc6%iN%y>x&!L-$#5;^PDaK!M&ded;c&iXZUJqLY_w-DJ?Ciay3JbvY&7u0IHei~5 zaQZM_Iy ztvFTqXAl!48-0t!WL~=D%l+1)$PwQ_rQ~);>e36IU+D3d*Wwy(t+iRA$^1 zsij9kFdFd~b-ouFM@)foH?|_;dTkO>0C3LO8cFQG{W^39z;=#BMEE^;H+@2Ubwpj3 z{qZLhQcT;C#w!>z6n4O^0Pd+qEx)@DPKh;W?1vK;UTaXlY#}D>+6%IRxhaim2}-h5 z;VK@&2!*$l6WPZg92DSmjZBn!ItjJC_-y}`X1u@M==H> zUn${Lf^xdI-7WcwIHg=q&DsP=9HB_cM&~1*$tfTt0X~UfY3X~eVn(VXPHgW8Yp21$ zSZ@+>uR&PCaHEyVY<>DX3zH6@M}cs)T!xDJ19MCjA5 zrsd_w8PTAmUwlWzXr(lqIN!Z4CJY`n0}ZCCE?G9@G`e-h-_i1KrH9;abE#t5pnWeSKCulYqB(h|oh0>w6 z1qd29b444MQWJ%ANyJC}{Rli4<$mlo(CiC&c%F{xgf&3n6grUz)L3H}&)MU(CC#dDJj+<-f0@b8ObUHKc>eX_T z)UU8lPD5m@D`6UJRTY(cjOI{hu@+faKTuP!1kqG+}qbb-(kzmylSyH}>E$3p4@=eJpR%YFDBLUSQ(wBPL+cxp~Oaoy(_RSj=t z9wS#k`#+H4z?e~pWpGUb7N2@Mga#vW>g}2e@4<};%*N|_*V9&{Q!JVrena3&jbhgZ z6p8X^(RFV+v~efOsR_4+jG2Koh!Hq{Vh5RjDNwMT9XU}u?VuSr*nrU@i4_~6m4;^X z6ifiM^qse}<8%L@!>c_Zm@oPQU)BY8L*2rs>85ekc&xrE4~;}9a6S=M8{n`S3k@j7 z;z+yZGCWxhRDvHPyW@Z|N$=q#*8;G+qql5W@b}anB7H%Lix>Sixr8eYcIn~Wt7<${ zn#}*n2~#PZ)7U8aR$@*PJ77G&-PdTl1BoK79EVixcyMzS$vB&Rk%B;Bdyzwfw0}_* z{7LI}hkqUkXjpeC>ujCmV-`eVn6G5_b8sk^yFZ}EP*^$yf372;1|WULZr&Df>w*dB z*Atj#rDi75c7yiRO?z*l>84gu&L6cr>21Y*3r)aq^MAI*c~>Jh_N};2z^>{Z`k~`w zme{}bF|u}ib~UG_$uXP)Ykjs_0DQJ+qP7@!OjU-HdR>_`gsAAzzB)Ay0Q40r;}nE* z3m~bKFRlB4uIR%%r$Z(sM{d1J*61H+iJf|}^#}-oNo5#hqEQ3HKV>r2-*6?z?a{z4YvpwEz|r~XR9fEEl?7oWuI98G{!+H zSsL-ZxH+iQq?8)4QZy&%%e?%_!+jMHsKL-Goh}@y`V)k=DH8FLnMoyY4sA>KEh$Fp zr=w+y*}kEZoDcnWs;yNw1r*z{J-E814Smx>leF)x)t?54Ou21u zlpGf@ZumYK`2M>8IiC3b{|0U_WFKK%C5e#McEuwi!PxaX!ppzVg~~P}3klJ5dmF-8 z6E4wR%F{9Og-Wc}y?I*NBkr^}o4hwGnkn3V2f_v3zC@zDjptwg2x{3H`hDNVR>Wn< zSnIb*xf?MQBbXIkSgt=^D$t+Y#>E zsdrbNeH(X40Vr!ajD|+n4(5lw{5d#+DX)$ZttMOj6o*Q0Vn6H(F_i*NLPB&hy)xDJ z|HoRM#v3bF;g#>GldQeu3j{4aU6?)PnEcv|2+8@XP06&hseCry5CTG(opGx|4^fea zh-)Y_ieh^;$}m@t6FJAa)lQf25TKzUa^S9Y@Rh}OGWNaR)qJU~*l1qwln@uLB?#3i z=)xci*V3C2IB?3q{5_?sQq97{7dfVyF4ofcf-#~85&n6sN~s7w7VYj+BIjDP@h7C@qQJ+fI5AT>4VdCqgH)EfrGaLopD z?s#kJ3QvfMNawo;W78D~FbbDX$-$rW|29fr+sXH@q|c7x3uXw`^0oZE;=V)p{!sKx zEei&$^F=0w(5&d6=nqYNxSCdH&v-xEx(Y8U)HjT)>`ac1&&0H&^p-^#$M*z|?z`UP zVWFF`^IBLq<#6S+xug{Z|3%QFbef)C{VhN5(0N+7TMNlWN@Lmw&}Rl}C1ur$!VoSw z`J2lgpgS2za!b)x=F(E1dgVoksqsp_=eB2jC_V%4O*=(t`>TMJ7_>(Ji9glk=cCKoGpLMUs!ZyZEsOkbxh=_{77kFwKO(_v z4v$~{tNpeJ$i~{ByAwg05BLA-DiP(mDdfcjnz1%tc?be0fPwha=*o3;t=&0Z=ok&af+o%>d7qepsHAgYv;Z8%{iUl;9DjCXc36tX90R*9&>AJKKvq)@w@P zP-W*+RRM*T?K%%aFOr6;J8z~yMN~xmr1|j3ki(Z-{P4gWAxD5wy=B~V<6R5?0ii@< z=43cGNC>|FOtPIp$`@#rZ6|&7>uERx+*(t4ux9M#HSPdtLtWR{F5JRUDUn@W@VzEj z+*cWA4n|Uy!V)=<^uX4AFSFFa3Q2&f`#|$jV#M+VI?M0kKVy~xQPiR`c|JsZ(ev<^ z&ZH!a`L;YlAlTDm$fuhA?&%M16>Lv2f;@NP;6vwm^|4xm;2mw zCLNN*qvcwXi0L?76u-&(Swx1~eOc9nI=Z2^YBj0v*(XLbr z>85*Z`}C<7dg;nohPb}6@wq0&yu?7PV8QF8Bau6*u-VH(Si>6!9m`Nz z@-yQGwhUyC@+|4V3oRJ(Aseg2?lTwV=Ii3CJZ1-R=8%%)KKYHQBa)oLJ%jOezPruo zE%mcKJkKpi<#JzDJ*V`RuMGBrWN{iL>{Dm<*F%bBZl6i(QMIuj>E$K^W*Kg zsg>n=ncBnHb6*B=o_6yr1L+efW^DLQzJO(DR-~B&+Xs`5Nn9yYDR$qsvaj=TblbRL z+~&2JBkSNh*jVFKF~Jy(j1N?ZNUpZy$CLd6RT@t#|Ig+}&yzN_QQDHGe*Xu^-L;WT z31)%$Dq8braCb#UoYTDW+l|2s_Ycg`a>PqdVjtX_>AB5MR(YK(a_mZpq@IbiH!5?V zL;-+9ZhJc26WYT>)%Irq+LN8AJIT&iWT*tuRpTQ@(${3F1kchd$pa(lb+yH3p<-f@ zX;LjK;gl*Z&&;pXO3;Gzy_NYgVjZq;4`gszM~w*5+>-uZQX0!kT1TCb0LcQ)9CrcK z)HuxM@6ej#t0))j#T842P^V=2VBqsH4FI94E$cU`%<`$^Zrk$R#pUh6ANu3Xr=gE zACvG_YkH;%H=PMjPf~KFxk9XHoYEA@LiY>Eq>U7%Hi>|FW<=T>@^LuhqiiQM#Gm7m zxf~U5=M5x!lS=mSkZ=VzN=PY)8U!`jtg4h~$f~>;{9+1(bDmma3k8}COJ|1!Wdu3m zm!mC>n0H9P3S*l@-fx__$+=I5px&VgKAsBRRP2^~p0~gzmL+>dM&$2Id)^1Cw%32S z7T#G}+z+8_Jr|dRCJXZyEuN#><4fQFa?NrFGRaeyrS_K$s)I&GK&DHlg?g;(-@x^9 zeGA2mg&i`gj}A!=rgx#Isg{`-vLNFj!Zl;yyW7P=(Po#QFzj;O zG;}q-iB+*Ev+()e0@Grm^F+!sUL(k-Y9M4tBQ-Eob1-Sm5O6yQON=iBs@(|gnl0Qt z(l73dCDe{ud>g}oK$`0mlLI|(QQ2`r9F23jIg!EFZ<6+sDHA^Z(u}bPmENN!7IB}T zC(31Ov-L|X4^aW%o3#UPVBe5N_9~<&PtV5Sus|yQQz(v?GDkefe%of9*GGZU%u?7u ziv?s-Ga|wi3DZy7mhsXr=#3t?o5!WA2eyWm_YVub4BUeH-F{2P<{ClLUP`#`FdS`wZ>$DbO`@73@p^4Y96>5$GU)o-x+HRsGT zHDi~B{P)65m*!b4pG}Y?eL4HF+02PrvPoliibJWrv>|~BuT=>m@{YUd21@6 zXERLAm*1A~wy&A0#hif8`+zsBr*`wN#BH5Iscc5S(!%9`6H*xTu836%aIM9Gtlz&j zcUmFEGx!ysU%rH0S-~49GP2tX{}pPsBfzm`N5$7XM*d02V8-OLTVD%LRmk@eAM@^^ z!OaD|m3awroTwI?NgqOm=!@g!I2zMW-I)FQp5Q^5+$>TSf(vjdqcU&EJTCDyN^M99VdRhMUxi;CN(b4U? zfxkJ4p*9}e0`?%%pA8D+-~}*$1jlKx(oa5>b|9Crwj~lKjSXB4PFLx}XO9#jfO$Fn z5SQ|NT&56N~RG(8z>*gqJ$cLM~0^!#XG>~ z$A_DmzJ zmxp$S5H#ropyrqkRd|5u(uWyv9Ib$O9Wn2gA&GK?SVM;|TatYMn$ykQEo(J%q^fsN zAlLjtGSrqZoJa!V=2e_|ZB-4&NLeiN^f>!PwgRl>`9!oVBF0Y}^iW@B5KxIg8dW4z zftIlIa1N!)uU&pSL7b{5t0pMCRZ?+e1PW(-cCUbSh+6=E(4CAt6tm4Ud4q4bZOFCg z)7*8KrRm4`OGC8NqFtAIocHF|m!dS5luYTVlS(O5ev|`xHe#FG}Y(fbJO5bzIVwLHr)b~Y8^8b zrvmTW5;5*=K0F{Iw}YrcogMXpc6aGY6SqD?ze!madk$6!@<{*j=c%s)2=HH@v=Ntb zA3=xWQTFIOIJqQe=RCr*8klx`Rd<$G)W}?lcXqn|QEHTf2cCU(Wr6bt#N_*xUv6Qg zxaY5JYYGJZJ#Qbvgc3wxUPh6Ln)>f#KBR;RKVs`Y?A{%hmer~fL|$2&rp|Mc23x|C zbtqfb?nyqvdGIZABTPtD=DOSV-I1=OsD6Te9dt!0!_2CN}v#7gd;r}a)YO(Sf4qsg?EAR9anK3zHG zk7i+{Zp$8lqh?2>Q0JoLH&ZBv6#c%q(cEZ(?iD!X21rB9%G^5SQ{1p;R1Yd5K8wgw zOd0ly5Y$nXA;-5)F7uf>_Qg9uBa5)$g))PKjOwC)6=FsEEGD}12j@J%t28-OdbUw{ z8cMZOxFC-jNfg%MLKPuY(!ZuYKXBK{ig3~^5_-a8-V|(=7Rl9-D0wHMWf={G-o5UF zD)k{4%Q`JzgL|Uq+6jBIXCx(Cw}kD`gA5yWY=L=4XVS5`%>^=0uyYSsXfgo93nXX? z_{E2iuEU1ic{}}PqvZN!U&QSSbQ_yK7ZA&iZfssZ*3@e6^m3HhgJ2I$jOpLC>Rvu4 zNcc{*e1>aFp<2=vvjHHl+n<*Tt;9d*IOAdv-OUjWN0Hn0&NJsE)LVA{7by=G<(%Y9!If?3&+{JG{ zUs3jbX&CCE<)Q6^upxtd1Q8v>EtmcUJZ3UqiVb~k!>!FBPhU%c#8H4yuleESevU+P zV|ZCAiS~GX0QDclW9PyHA#%81ThD7kivwm0Ona!?6CJt2}pJ@R&8$| z_lx#yV?^A~hJgxAl2fJJkg5K3uuZSkG4uI#e>;tfZDOVxQd5X@v!QDyY_w3`uOQ;q zSH&LdI??ZFO52v%Yka3&GrlZkAI|0V(!c&?JHYHr*V{wbr-jBLsB;PrW^adS9rZwj zDWLuCmTXV$02IJgL}q6cJpaKgHcgz4^vzMsxy9MDeJx09kv6%D9@TUwcCTukJaG{d zCDX5wT)o5^F7bPcCy=JiO@E*l@z<`X*5VBUIy?)s)Nmpt{h^T)Da%7r7I}6{v+*(S zS{s;`$2)pm8a!`?12FCdtfX)S9td){RV~1F&py+Op1=W!^>xvj6DMCw&h6g&cUeq9^Dc!PP6v7fY6Z6Bzb&+M%W*6?|PZ%A;|_Vhl8 zUgVo)awG@Qy(w4*Q8Lg!rogETWOMI}r&VeAgldu@6^<^T?*bo;Yl+IYFj3Pv z*~Wr*31MobY--Z1QYhp8jeKO--N z(u5~@`HA@zck5>~stFcAW=ZJp@X6|rqVaX_Z8wpo4$vp6PzL*mI0GB7jze*lTZk(1 z$y&zdIf8Y)ItMM^mWt~xHG zPh+<~M8tEJZU$BVzd&F-dj@cc`bTsN7!_M!I%hb=!rnLH|*BJmCoepBw3(m~r29Z(h;27`}-F}vOz5mH;xBn@!n zy3U6|Fw`owG+dd3iKMMC960Y|)y|s=UQjOKkx{O71spKGT2qgptQ;n?MDT|#)Qwm4 zwVk(QBN4W7;cKhq)tmOrQMcypIiXbWm<|~^(g!Izc<0PPsF_tg$`N#NrZMRs$! z(@l$xyCQ(ElY?!)_ROp?o|tWnd~(vV7!lnd`x6$d{9DO3_}(thU(-p6J-@f^U%yoe zhu`T&CzK%6ojSA{6}E|N+?b)O*SqqR*DiX0tiS?2fcx44?m-*e|B=20WQyI3A{l6F zZr34z)75@KO_xQxapSBVqKpwOw$|(%1sHUtTap&C;nkn;5LqP8O^}Y+)@xx&5PMSM| zziD0L9=-ok{^!h0JOpd{u>kxW!{o+Aibw-Zf<-SE+e;lm?|Ec%M7pRdtZ`ZN{r317G>DOd-5Sni0wX`4zH^}8o+qN|oO&>*i?9X1@B+C}~=X!O^1{J@3 zGc=#icjwa9g;9%R}0M5GE0{(ZDHX}Jn_17lPxys$>E&We zB%7%P^Xy;_!WE2+K(1HSEy@66L#|f-?f-PZj^{bs(XOYN7?D_N0_zaKNRI30oT+V` z{h2UE{EUw~7Mp%1Y5UrC6-s~ly)@e@qXu6#>!ot_rlqmHOXDyW$ZUahNi~ZR-1$hm z-$@*^X1IsCz}~DS17S3(6Xgy)gsv#P;W99N)g4V&jb)OD$C0H;u^qwRueLS%e_R1> z-eQgU9Dr#c-rGeU;Q;Z->ezn=EeLwitgIB2LJ#mSf6J(QFa$DX(di}Kv-7xODG%mC zvwqe*S7`(zoDcCVnVs=TtMs%ewY`^{{-97!1KUZT+pbgYh0>q6wlWYq5jX42Odi*y3=dAY(5JkH2 z>r6q@Y;3Mwwa5`+#xB}+XOXT7cEb(#%2$CURax`Vn8rO4sp$WiNn1~H18>D^5Og+=dsi;GElvrUeM*k z+bot|52U_GuI#283Ikn=3mc+4vdF`7&@+ zS02Aay646sqam5a(+tD16-W26noKf9?LiQI_nQL{-OCe5y#yKFkv$PI+L$BPqglXV z&?I;%5V#U~Dcr15TXI^a&!-K>5+D+sbBnw}Kfx2r-JUBHN-WYojr-qp3#nWI4m)my za2*9&Ga0a?FS_fJ9|Q4;TZWnxcvqb^2rloFQ*XTVEo|Zm3vi8FVDn4JY-0fzBrGix ztp^1M0h+Mi6DqAa8;c^^t)o&_f!CEO1A+oNR$n088Fg77kiLI${a0)lWGPZoKT#J3tG9Q@}v)+L@(3AzJV8~Ek>3vJ`<)jjjUvjGzk%Zpm*5s zgd519ecILBT`qT-bAJ-Y!!2uZk~y8r8#XhrAMit^u~^#QIYVowf$a6AESLDWwMwn^ zs*0Tx3f?1cIW&I9UYGlPn%QCi z%cCi2pIci^Hno_uAUk~~ijit=ZbI2i zyqi(1bQdcLd7&Fa$_o>nz(A2)v*8oKNN6dch}f(D^`>Uz4$dK%8gGWbLGZ&O27|Pb zgWg9}7OP7lRkTu-yN7k3S53STMw80eEMGhR1MOKsoQ5Ub493G28q)@lwef*sC1AfJ zTbz56*lT;ZUPx%tV>u}b8?jL%XrCIX-STW&KI7@w!?=f-%JUGpqI!FsAHyBfT&brE zI9Teh=w2XAk0cyhSOgL5ky{u0yakRsfrMr&2={3RvfOEr zr8}or7(NiQeRjJz`u+ccc7sl#|7=!5#G%8+IXn*gzMBo66+$}CnvvQDbFiJkxq6*I z;0FT;%0#m@tW;Uged?tM2m_@KktM1H4;b^Y^w;dUga2qEYqhFdFr{$|lRp^AQW8|0 zitj9L0bxS|1^wj;ocuIO(oqbtt?)1^LG15=hoKFf|I-$BDwiS>b)4J~A#5A8Zjs)a3!kQoGU(&`$+m@C&B%6eRp?)+EQ+`| zE{h(UM@><55D^hJD|!{xIqWf+2m&_#q`3Q%!7(l)}H$$JD^YVS83v9{IQo;IirzSXAu!TLJHd>5ObmK8TP3 zdkfc{ZiP7WhZR9~NmZgdy4JXPQu+Hj%m}?1v~}M!47VJ3ySL+Dq{to1hAR=)E|G=p z2EWr}LwP8B8$BC`wmvR;_`%?5=zI=BS~hCnqb{bpPAY ze)=G;UGSAbkN>WvL0yy;)0azQ3ba^qH=y0$9SqB2UHFlbtpt!JeDH49$)0@1aJ%JF zHTvZ_A%cyCqI%c3m(k1+BVlH^y*bgKmvTtnk<8naU&r%T)YjNMrwV*G`qsRu!yTvx zqAj0?#Q5;eFw(pul6YcH7Ulrfgq-?E;7zLqP25C$PzP168=TAAe9GWneotPrLg{u_ zu4CSj{1%D2ZGs*K4BRnMS6It2?1BuW`O+0RIqOc)oaPl_z(0TZXySnOirt_rgKg?m7Ezc6Ux`Bt=ukbeTp}OY&K88Ur^8%H4=3DrP5btVaO49Kq{G^J;&J zzK}WDJV(yvG)iU?W#2i`$l%~kryjlP!bB_%KINXCB$H%UZ61pCZ`kDl@Fsk}hniHE z`f^}7i@eoC9#_8&1F}*~2NV9tp6FHLaO)?P8O#r`Mf}mUpHt6-DhI6`YdzRp+8I>& zd53u#O^dbpYL7&L&Paq%)V&oz+vEr@?Vhdb}lAc&mq*S(_@=WIf{3Y%Vo6&#O zxrG3{AcF>&P$t@@){@ zv&0;fPAgpVjypv1G`g6E#|)XOyV}1MTGWLlH0B5J(r!Xt@gjQ(gHJtcJ2rX4l@C8ACupXxXRzRu0 ztx0OYN{a12g2^)^_vUR~YIY4RcrBSFZHrMWU#kFK`&i&oqG)9Ue!>CoAfm+s~N zzjTKo#@`PCtuXbf4RF3ODsxM{C09`EINX~+}) zUN5n3{T1i6NgwM{714i5WxWv?rs+N=on|hU93|`>u9}D%A{&^4$ONS=X$#>h$*oq^ zuReaU=@PaNr{miI4ErB1!{b-?5snGs?Z}=fvK~)oDNFe}cu;NdN6`dcENAOR%;uEk z&=@TGT+9Zuh2ksV< zkho-xk^A)eRO<`VIypvU$Q=pX9|W;PYb>{C$`|$~?5yO4G?^h^ z&ReMpyXjPsVqbsU1NlU2XsXl%fT{ab|5|k`;5xo$&bbfZgjDlw;mrA6XXw#EoRe?1 z>cjf{uAnl(se68xczx~MZ=ZsKO42guJiHe!^k-t|z3NSXbp#8ge#jKsiusD~!QQ~h zqLigmFKacp?kxJmQA1N8}e%geD0|F{t~Wm#=`ZH~aT`p0{6s05(MKKoZ5=9eJgEf5tmg z#bDD0rrf4)Y+u&oXD;}coo!9juLWhgrP$&PiE@09o1Y^hubXV=+nL6M(Az#%)qowR z7R^nGj^y1FfWQ8%mHLhst1ONHw{C*cDhQPhY9l;i=ojLLc>&H?54L81s=8O>Z24#?ntex&}3e^3t}F$(DN0Ee89KJSWBx_rW}LX;KWA4{=er^c;VIT;8n2kU zWO|(o_riWDFjPhIz*&COrp-vQVetM|_k5h^uoOhMrCqM^72ttt3w7i?q+P5zzDe~) zz~mqn6F$?e$a<6$+2(9rB=(S%97DXfUcirg8f*(_%^uaxBtuEtOMjl=3$_xNG#0Fn zmEMA4Q5q3@JYKlH+ry!4`Mz79AQo*%2BI*`$47|DjE+6J!7iXm{;Wc*rZb|`Y^x~S zZn|JM1R=h3H@HtQ=^9}J6$$RBI93?FxY}&DV$|{{T}~l6`GupUBP+*A$AnH%Rq+JU zM}GO$K!`!Zcs8s zj5Q_=<(p<%y&!B&B*I+BMU{}IL1S)R#0ruoPxTx4#6@-e-n62;3N{zxAi1F-k~hm} z=S(jT98}E{>oo_RO|&41eOMdu6hB z@wxty+ceeF_V8i@)VyoY98geDY4zPK`@tsFcm&SEC+9d_2P)Swq7&aFDsG;3#AR6Q zQ%`y#nh-(4#kB6Ro0dJ50(fl&g9GilKnxHZefBoli(wjU5+EBZRx+6_L88+=KLD|% zM;~UKTy&E8V3JsNJNy#q5nhrrf;v3pdG|n8>Q*0oCH4+-$-cAQ5ywksN~lXOafC!; zfKwdOl~8Y0<(bE6+_Ae@?80IoG)J%X+^$4@4uRmEDFop@Ek2x_UqLu&wlNXXEPuDT ziS?1ifxA_1lwecHnEQN_6ZWKdU$|BDq~D$VUc?G(R_AFS^IGw>N~;#UDx0c(xR|CG zah5aNU(LS3#d{$TGR;5TWtraFrQHzL1HpT=_eK6Q!cRNw#EuO{zRnNg9tHm8D> z`+dUvTWnL#et2r#KUKG4Ip(QZgBv~Ygu=QNxAq(?pYs`X-%Y8jI7lQ*6k1IVa^D#0 z1?+FBJ2Jd{^cbg>L(el2S`^FU0iFCuU#l%^!?Cz!h11G)Z6<9`4v1L^{b`!3gNapX z@>i@h7ogCAz{>5oNeRFf3@(~{v3CMj*QOAoCXT%`+t>_hkgL4sajFin2=xCru?Kh| zy_lpui&Z$TX@c}13Vz_uQ!UwC>nMT9zWyAzVyPOONi4Bai#Py16)Y(!UUY$Ec*!fS zTR0M<8|mS#HM!+6r=gJQT@@bJfpZY0W-m;ki7E1WXW~ZFl;U_8AxKp|?ZoG;IfD?M zwlg{J_X(Knq+LL`ukrD*({?~5^(%36s~@Q*e9C3JJTs_Re>7<_=$cBXkUAZLuz3H< zz@X+5fBM(k-}ELv3czKJ+{G40vXPFKOT5rv6{Wmz9~m|WA^?ib=5j`ncwU`%nB3rl zL`I~*Ei?(jnG+}W`zo*w`EPYn|X4-mLUqn;fdSb2ipeP_B59UoJ!`&M z>=%c^!lN)~Z3cJOu8|6qD6kO!lMnhRFK^B<*0Vj-GgH26vlLb1hH+zd-55o^u_>?a zw2wY{&b2Kda&TMe1FZjdgxxEY@CY+Mh9n~lAmpA5Yjd2cue~OGjT#6FtSu=imCkuo zH_MFgE>5(crdNR(9Yc(^#MEXP{Ha<0%xVZN=vu7UNoD1wRbqcl`_T{m_u00}k#<&e zYA;DGtvZ=LCBsxs+;ba1CH@bTjmdk7cv#_SQX`d37Gt?uxf&+eb7lqSKN=vAdqMH= zcsruIQq@m*rd&~r09<6AN5!Z=2a2Vc6n@If+s}zyV`)0Fsy$ckGX_TB&w3jg znpqX6mp2-M9$kjn;sNabz-!&b(vhYq%bxN!k8_c$1U)XSS9{S0$TdRih5!GdxftRe z;rD|CA`DRR&=yDJ+Hrk8!BlKMu(Z~$%mDuNOgDUL@cGgI4EQ+)yaZW2h^ z<>#VUE$sjcB63|R6^{VNvA(2xn=f|D-XaF+{~KKGdBp}if(fxwx}#=R@{94f71m3+ zU0wX8g_1}{G1aWG;1=*7C8VNlht*ivnflJ2E{=n$XKASGv31&tquXSMDS^|+vhtlY*06h0u z+A!`VYtfbjc8PzXOu`Vfk!|!I(@B>9K(zhOz|x$a1zFAOy|B#9{**L`dZ80b`Dn~5 zlb+0D=FpVGw{)J`>}v?-TL!0ewh!s2<$x5z?VIpVVt0aR>uYD_Qx?x5PYO{{xI=sT zg$Hw#<3NX(AJV3^JACa!h2wQ&Acsr-fzy+AzvaOt$yB{x#rC}XY8CuNgk_o4Q!5)u zLa_Z3RYX=6u#FaAG5$;TmaQHp_Vtcx<;soU3?QO31VaK6hx}6E_EuA&idrSq^StH{ z+~#i@I{NqPNugr7qXNd<+wg|OOH-Wt(pKj~6kFF2wGPi=kkK5R_(tLd+3kypGy*}$ z@7Xy?H8rBS!tv^*%h&O?9BDR=XiKTv2-%@tAgmyWpnP&PCH*Si$cr%6UDuRGv5dgC z&Cmuj+`)t*5dTpPS!p0r@{aQFMM?>WEZAE^%vb}Y7iYB6bV8jZ%3E{M6%8mS-?aP9 zS&`6H8v6L^`IHOEgG7!$Q>zO}qTQAr@_qur4oB9;;M?BC^`U)%EkZMLTDd9`Hr;gc zleK|@HpqmG4Bu;t7L(S1P{NsEqHv-}EXA))bw3&eUw1I5>wK3Q)>BAwXOG6@Fsa7x z*g{8n-G4SueUMrtqDgNj^=h8eBUA-Ad|hPshz)Y$_Z)D%;&~-fZ#c4CPpT^FY@bqR ztRM6l@T=y1R1W{YUaJBj-_{m`AVnHI9S!I*h)Yy2mV=WxiC(Q`z3#ZRiChpDXqhBe zSwfFXbW&Eg)_|9mE2h0%O~aU4{X+M(R@Lh%r@cn?Zk7^UdwA2E#H>%zhoh;t6v|zZ zri7Gc-mfkHPVfPl@A3g_eO|t!j+4D{37X1BkLFtTSqDA$HfC+OPjaO3=(@C@Y2>uL z@Y;buw4=ZoUXRK@0eIrR)}}u$R+y?g&QJ`%^`uR0yVHO;xiW0qy+fVpVBfNXUn)*E zgLQ`qk`gMXS+#>=Mp5h@#A+FY&+q+9D==8rg%Z2S+f)c{<)eCLgJyfFc@lcPVLc4HW0G#4Ff~p9 zQd6_BUH`G(-O})oN@4k)2+k`wu@?WAAe1YZisxQE+ZShdn)Sv@jZTyxLrKb4w){33 zA)u{n&PSCR@4~y?1)p%BqAohvEBD*IiuT~-7GviojV4h$WSIWkSGl^T*LDa1RTZti zo-zUb#&CuW$*P(HMaqV516#{$>z$C7lq;H2Wl6Qfa}`NZcF7H=Afw=PJY!JZ@%cU? ziYiu!JXNV5k6J z1B6XF>x%Hfa2@%VVibwliI9BI6IPn>Ml7WQf@Fh}rkkx~c)wM#RdpM5Dn(<@ZkWE0 z`@9OlD|BNKz%2Z)aAu9ACvj!S)!PdKp(-SMZCW)F{gKuNh?8QP&Wo+{_B{Y+yLD;X zu5S9TlLJv^)eI}A?|M%7fcUxrEYKcR7fZ34QiIxQw$mgc-5WEEmmDWCRN0&jY`KFr zNT$73to8Ma&K>|VYRj{d4G_M>0sUn=A+c_RYa%NUkC|FaVhqVxUvE_GS5v3yfP2Hfsm94 z52&Jy`ugIxmKlwnn)|}TQC(##TdfIO#*tcRV~2y6SQW+?{S|@vY0#syYH7AF{q<`> zD)$l8ilM<5NDjFI%MHhiW#mL%iC!@qAjKHga4Zd=r)%m!Y{ylD9~4i8Z{Mx?i43+na(ZXTfOr!mGa zrU&{*VJiYDmvoOd$4ugCyUBPx2eQxhLPCXJq@rXx0T)S2$T#(@pmWj{rvD@fNxrNG z#JE%3bCNa(NQ~Y={h`GXecYhyep!PSh1|4P3}byi+YA)Z7esw*YF)nGHf!c{PRlOw zp-#^uNn$0CqE(3Ks)cdXa(EO1v(!=01rcnh%=xdSxLbdmWhZzlo%y}td<->fTse~D zgw|5gA7sO0twuOUBMVl`S^=k6HMG79G&P|`N{AafDTUu`@& zb)pG`bkpX*l`+> zA{szS6x_H|`2}FL+VTlQ4UtoOS$6owan{>UkrmkZGbN%V&n3&1R;aKz0y`)AD*gwE_OOpMDbMA#id4Goe<8JUMrf8QWge%p#v?0%urM$a4j%lxQ0&O_9zM z09pz;>Y013-)JYd+(t8t6B|@k^S!`KU)({CAsmS6`*B#5-dQ{9Ru*MqHgev$&G~3- zz>%a~VZhY3I1#{vPLLbD8dDu6krOw7J};^!<~7QxwzVuAo7&k<3b$rUTe%X;)}^F@ z%hF93ME)D@;_u#eZdW+sXC+oc5%!ZUpH)}$b62jfy$(yRU*S}{k(Ae^GiKxY8R$e_ zDa(c)Q=eza0we`=omdNle1t;}NT)Zd<4hT2gN^h<35^0?Q;Mepog{onRkmmqPvSCWx+20a z=N53QJ#98oLGLPJ?`@#q6epr*Wvj!NW>Aqyc+y{Q$MM`z22-!6!`g*9EyHX&K>OyD zVQxT9yC4N|341OaBsAgZi9_X471sRVbt5(vA)4)5*je$b=LJrvGb%|b@OyqbT47n1 zYuMgBve7(!9UANXUyjyf^pR_zOiF+IK6WQ?mHZ2fX8F&jNSSS8U#YFA(#-A8%8op9KUmjcc_P#>-+ z8xsOGoJYKmm;D@I!;QhzJJ*k9A-@${;^VDcX$Jbl$F`ya|29vl6n37vAsSG<$bs)^ z!g#E*AmV}yqOcEv?8h5YU%X?bqjGenGwOOQ)kLgzj8 zyng@$^9O1HmDbN2YGrMld$|!_@Kox z4pFs>$EFM3=-ey>6-!-S+!U#lAU6{K?6#V6T{YZ*|7gfEYV(Bmf*L$Ed9NK-Y0x#> zIXx5nNF-dDO)um{SkcLfY9~N}^0(?WgvvFn8CaH(x2H8f`rEbHtg80hGnexW9yA~? z*v3l20HiB-upMBZsN;m|-inrEB3<}xHt_liZq0R$bw1CHgbxSu3zJ z+U^E?|3K{Los@&pe4CN|QPaA}KrpL)W=3{0WZ~2mf8tEt9gfmQh8WBBgy6tNEb)?{ zejU+38xo6<5+}ZZny>q?vTpZp0o}iK&tubEqhO9bbS^BNxO_A~ge3|0yk*tTy2sqC zxS+`73DQTdCYV;F#TIwGmB{>3reY0=nEL;?gTCLhxgma4QX;qwOH%+@mMYYumEh8Z z;(*GrQAv#G_|N@AM}pj|EmE@!^O@9ax!F%$?r0gl^m9}A=}HI{(vd;w);U>YIc7%G zesb0S8HnTXwHt3+&4rbu2j&)N@{yP^(!VtY@yq;b1CP7Pg79^B%5N;Ab@|(Asp(rZ}`^5PfqNxv1<&Nj}p+?zV zXwwo^;#B8wL!?6a+&;c-9T5O145>yZv{%o%#8}Ay0?v?C)zm-`YrY=m`z0WlI5qrs z#Mc7h8=Pky5vVkWq}W<#w4lw2Kc9*Yl9#+v+BmpkKGFG!F7G8O*Q#AxV9QsPM>V59 z+!KSOS$$iGp*=O+<)o%yr-eh;jA8bQPA?^FwIL-=0b@czGlpYPlAMOLO=?M|CjCoKv3pQ(5aKQ7oFkQoPbynl52hy^jXNG$_A1zRQ|Sr$Ul&}KihZEug#>f9GHIc zZo^#m=J~Zpw2d;PJ338(oH z6)E#MoO(97JKE&zke)uiT6#v6zjv^D1&jKhweMfo<;Auws*d ze3Q>ndDI;!!FHQl9v1c5`*``U&~XYUE|k&%+N{t2_c?L-5K6Z=eM?b}CTqYs8F`Yg z>P}1D_XRj!`Wt++he5vV?1S{~l&e;}v}lgTLMV%P;*{k9cDSp>TY=q9WQ2C|o!$ok zDip-8k&WH?0zRNURDb`cYPyIv2A2y9^uiPgv&DZi@TO^3FWo`BqFM0#(qM6~iZXLy zux*GWjjzlPs`dtYVm5bpf;nrFw8!x>&hGFN_#1McGb=g<@P_H@y=yitFoCGF<(QUF zeTdynWY-4yOKo=Q$^o?1fBR1Ai&DD}(s3!#)aL;)%3fH~0B}q$Nw7=c4`3&<(}#|m zzAR~Qc!{sBJG$_4))k`8SLK;(otTkd{M|t%RaC#s8W6!DGEW{UfJ}iJ-WXMXHaGM?*HK&4MXMTCF=(T8u;n=6`10q?i-X*6oa<&BlgR}9i>3I-j_((z4|B{v5=jVz2S0uEfwpGt8g@ zoo15kNiKPDy=P2~4od2_GkJZ6Y5O}qPOx#}JJw|Q0`(kWUc|*&Lk?}PRN3p{KQZ8j zep+_9mr=Fz2}QcvSd&13kr)an>jbf0B5&sxoU^rCbz4`Y1Cv}2ujhIpQu3u1^Ga}B z`q0%^9wWmB8A+%I<;t%$a)x10K!wJ8OenMrUZQ z15~bP%bnh5HI_VdnywKHI5722Nc)XPyJq*xvQ69@N>gihb;4z$hgB}YVN#hL6XHA_ z4B1_z$6%Fcwr@5ynb)uh|8E<_0p9G z)p3D`V}anfvaS%O47EXKtEI(s;45I*~+gEr{&b2IsHQ#8&Eo`LXl`L4<2)V z9=}xe6$Za$gxfP7keLi%6M+N`ufO7neSM9hNkVt`89x?p$FC{7xn`$8XlH~Lj;F!f zd+rwfP9>;6g{JwucHoSM(l~{#!a3HNqjT zeLY3l`6_SOv)CLI7>4K%cM2-%@@zwlfJ1|Aww%cPBk6eeshBZ~(I;@WCubLh{t`?Y zjpT>qFaZWt=HI<;0spH+mqy|TwN@p!mqZUaIZ1+5{?P7$c2fbmw0)*d&`wX0#g&9r|>m`roPGB>R9S#@i_#DytpKx-PP%dq6d`A^PV5W*j9vzSI~QQcX0Dk zD5YchTkQHGYf6-G>4b^$r%1+I##~_AXlXN)kCdD2FdojH1Wh3fra2`P@2y}Z6=FR7 zkl#L~F$o`k_$tS`|6Aa-YYOrv(r!q@Nz z*1uTN9DNcSPlIi;VRuAb&lQWWNZHM*N^YBL@76}>iQ=7IB15sU&Jk*E*6mxVVH-}m z-Y^8g~!XqNedUwT?mE88oRf4P* z>LsPq2zKQ2DTd?vk}Bp*l!X@7&hs`RxVGBg+KJBiBIQJZQAizigo0=xW($(mve=E23=o+hpWu>R# zF?~}HJ5O315G0H59AiUED6V86mnlpQv0++-g!VVe9hN)m8JhBRd`^o&m1qWbix4r~ zJGG$w5$M0l6>HlO+5wPWiQcbm{_k;0;%@DMZR&J?rx)(4*Hdtd=`3|1G}r2jb+9uN zR=xX$g|3*x-m9*E>9cn}b@?j#V)L#0?;6}^4pEDiGWdM&Q&gAgJJhZf^pCU%dwozt zn^qYV*){-~-?baDD${=F)F4k7N1cE$RO3gJl3}fCH2dKu<)dSn9S~)zSe5X+qlpiZqI~=sajjUx3q&*=%IotOb9k&$Oe+_*k|Yw zm*^UB9*l^znG$3VaQMr~R~Ephx}&9Rn+OAouJ7F!M&YLh9nMOaTjpNYN}~9h(DB(J zYFIOqH)-ymga4NZV^?L0Bi-*RX!*SW(R(tm+=`F@4J|91o4}>^s%)`GyTQ+v=EBQ( z7tCbkga$f8?QAcv48k32IlN>2Y_qg!HhQIJ4huxdV&Fd-Wxp(FI3lZJ1=1`7q7s_6 zPtFv(_W`@GCx056Q=ZvlBNZe?xmKas@|)Z=B&Pn*AlWcUrQpC*9p^)=^^vIIE1@f_txp>m$p`aGZZ z)cC>>udOBc_UNvR6(ZiVIMNgqOBrfUmB03nBR#&2Rqhrs|uqjHPqiAA4b4YaBhI67EER4nUKW79_{TV>`{EfN~~j%dAhq` z8ofDOtJ#jR5I`}0CSs^HLf42idwUNl;cT@?BY z5qS%KpE7`AGzr+beBgi9;;NS%`lcR4M4{0m^^0-jr2AjxF0G8rn}i<*O(JK5;Y*If zyp0ef?>n`fCvGX+bIhyt7$676P;*$(_V)SaRZlRk-m!!d)z#Rw7m2f}TDJEtkvftD zD^I0X`!?_QJH5{#_}(@SZ%W7>lX0+AcFE@9QkfCMf!P?EIi?=Y*^r~)O%sIsE+9o zBYl;j^Epm$NR&f+0%^vIT;Sx_V;|yF>o)jju5 z5?Vw#9|}7-EPlLY!x>r32lJMokN%?F9P$S^E^~hr zat!0!DEYa55xC0_e+Qc%(aOD=F%we{f@iJPoEbB(ZS?G1XI=Gh>|)Ynfyhkynd$lG zqHCmD=v4+b)OtVDnRacZ8xxz!r+h3lHGi{61`#gAf*pxbeS_R&0dg@I_{>(Rd1cS!$!n%?J zZ_uml7fD&cY)TS$?BRo zD;kQ9U#p~2rUue4%N$iBd9aJn6+yP8B_tX)`5TWo`5EYQyeN}3<|e2vIYKlisv#co z+-f0d*^ipY^E^QuGTV-_{7FCt#$PRIfkEccx&K>?X^Ao0FM*KkQ_hYmWkQ^&!H0s2 zmAY=bp4Y;rc9FL;>r_T)1N)8Co=v*dByaFONI6qy%Vr(l+e|_i7ZKF)8I##=t?h}N z+y+7|&qQ|ZmNf|YiOh2Jh~r<7yb-16GzgJb;RdTq1bhdle%htk(aUcE{jD7p7Y_!j4+zu4c2jpDOT`B7EexTLH^Z3Q3oT z8Ciw{T`JOjYYwm~n_BR$btDw_g?Lc%0T=*+>>XWaEej>9)eygPl(os~*RyHA!K?4$ zipgK1C+rb+e6>Nl+*`Fd0Dw824`Zhud{b0Ihu4n&1aHfkQZ_CJ?14kirL^aD;4M)p znZgETC$?j7KbCZWsthY_R}3qy;M{V6m>^c|zYiBWavO&jm_N7;gu(5UcC5dKVRO$0 zs_s~Ht7evpYP&gkGxilv`s;hbUA+|uefqZHf#|0?wN8f+LJ2*k)t2M(ON~S3{9?Ll z@~){>i3PadcaqHuT}4w2KNP$I$P=2$OF5wFA4J?ewUPEX5=tQWau>q7&IYg&a}Nom zNRmMsJzIA#!W&U9@YWr zcFB*knT{9Qd6xpN@@YW930?5&vUWv&1yQ+TPZ^*S2DGMf!G_@;4DrsGuCFmC(Fi}= zecf#@I&8m=Qv-?tA@zs{0VI_4mD07|m)bs}8-}2|DW`qK4##({qSnD)VQWMAlVZ)P z_2}(qS>`OO#NNo|D|-A`5+oZ7rIu23h_iVy3Q1K2esG9U$@D2Z8w@U=Z}$9{Cj{0 z6sle65GMz0xL(k7_j9xZe{eWDA8NI-H;ydbavwNgWFzZc;)SS)M$4^O9#O}0bNKIs zf&=n94dr&*Y)9;9TmaPG=b%4`<9J(5gZ16qsm)O`0@Pqv!@KD;GAK0V5ij1t3zubM z1&kAw5ba*{nn?DOW@lvyjf6AxZ96FJTPS-L?&XfyZ$kSGlvsY=bUCP^jbws(K*dp8 zj7ur_S8}VnF`Lk|9&{H!DBZ{h*X(<{n|afx8ILmM{F|(~{;@$65vAoRcE%)9e>vZ| zQcO;3nt%K_o%s?Z+@Ve53O{t5gqJTzGW}ZjTA**C4t^T_GT}YO?{@d4~(*1^ot&-J-^jGv`S#85IsjeNw$C=BlEe_8nZ) zd|@6SFGmXza-W}R zAiZ~t$j*-1-62j@WD00bZW_Cd6K;bzGjV-=+vz9GMZ1yEUIo;V^c%`Y2^YSDlU;K# zEs>=23^wE!{vXh;ejLzeLBiDL!@wvuxH ze;Dl<5y6l$3GGA|B6W5p|tWT@lXTjNJ73^&&K=UpcuUU~^xgr{3Zp$?b=Itu; z%t$atF;$0gEARs1-P~qb3$c&Ew*F?^uDnTjQ2j+=x|z#)kkNkW)Oy31tSQpGTT{}t z4?Aq9h@wShb4xR07}xD)fzSEjo}CZV`5;K=GmN}%eC-+4nc{yjho=~8o06`sU&4wJ z>eJvqT#c+bRSQ*3cJk?u0+ke4)22-)N~syoC2NycM3lr~)7Wb|6+aCBr^wu7l|Y_F zT{PP83o%~8Pt;8%1{f+~DRAR;PHEDBD>Av&JBs=C2`qMFhLX>3@h!Kd=Ngf9M|u!f z@}OP3d3^_ytsOq)2GA{~3`88mJ)crlGqp8=7a2Tp9S%G>foXFd^7 z3CGX*I(9Qbp=lIS6Wx0p0cg%u!wza*j@D^kI1las7CI_Wa^vr8@i=sPwj)nFWLqO%ryu*=}~C4=+p)fkUB9b9`48{+->)JoY;xB+l__!O@&>%+qfUfwhH>x z3~`xIQzf(v5@8&1viyjh>W1juA{@1PM@ek$+G zK$ypb!w^J%Bx3`~~{oDlkw(MVL;W2@}XzUTk^~nP72( zt_ZjhHK1qpwGRWQfK1fs3h3_J>&?NOwHnj~cL-8z4n_$1K=I;Z4S;Mq;5E(blqRmr zT7u=#9fW!nFl*MtyU{BHGqKMju0&b;Ml+0i+9~opN>@u7|Wal8ecu&&g+K>5mbzz(@tSu*Gg- zZg91ClHK0p8Ox-eL_}R|NfC2aTKDq)_53jp<2nmDUC801_Z}Z9`*Wcf)i@AyHLGdw z=%AgEkt3ck^rjknYrFT6ORry+4&_obO}9^^=n_=<41%XjmWLy{gdV&@xd7+vtagp= zgdbOvM_Ba~D8$q9G4F?TQTsf2U!D2k1|O;TBxs0U9q!u_EN z=UF%sQF1)lQY39>-Y?SB za6lDpz4}3v zM&EV2)SBxl`AOQo-q<;Q+VGztPo$A@PAscGd8i7*jr;W4B;%5#wCi^~;r}F~JJR*xEnW^epPie}IWH!0zd2Mi1nKFO5-&AN<IuDyE{bIyK(1gaT77*A5!QeqUIRRuy-=>k>d@D@qcRHh;5`yW=6UmQs6%a4M z9eg4T5|^U@=zQ1Xo%gUQ?E?3b&Dx)bv@6*WNNV zEOp37ucRP2eZ~t|qpB`0-PQGI?esj)hEF~j7T_#}`+Jl~D8@%&^9?5G`q4Atktc=; zJM~#H^a|`iLzgDDzw(?b_(jfIyVJ0Tpl2L2d7ldpJ5UkByp)gD-ZpW92g@o687OmE z)wb*GUlJ1%pn8VHeM7uZ9Q0~-tExHQRn%q8SeZ*E;x+g#fzFEgE2cX5$*sc;S8Mov zCZ?qjj0pjB?F)kPu+AGv#R7GDLMm6GSF_>^ri|1%-FbyM^d~;FMDhp9#tm(#D$`0^ zg(t}14RJh;dC98m>qJQdgjU9IxA8AfA^d zC~lOejy*#mdgUY8?Ca9h%4Y?a^7{*}MxnKA8&B~FqD&cEF;|-uV)g&PG$oQ zUDH-Dbtd#H`4{?g`Jsk_-Y7)hE#y(tPv@%Ick_KRmqbh0e{2w`dvG)ylganC6>!Uq2iR?OFWwh1O_ z7yI&YbT2HPDcm^M2R&&;>{*|GB7}O;Ff%t;)-KxwpC>WC{^2 zc7S23`*txL1EH(D$J>HOLdMP$-O?TR`DVYDKnU zzcgzWB4I0m+9KNEJK9_)9|J+%8~=7!LZlKnf<8mrDl6z@!yb$%kNazRqwzETTH9EbyIc3ey1cAUPLi9=B7msCn<_9b&N( z)GFZu9{6(g$)GztwP&kod;ky6V2~Y1=r^i8={jArd$bC79%+XSX=z3nc3)rGqrQM@ zTVs+5Mv#sF!C)+^D&D^mRf)VCcX{G|6y~1dZO9)P;R2cF$!TM!yTZ8L{B*1X&A( zOd^{W_sl9RXCPYgDcoNN@7^j-GqFwhKJDr7o7x?Fu@^ZZf~3@A7XxF%eyQzy6NrFU zSOir__|(geZPFnj?IZe1(Q?HLyAgCm{+aL)$s~U}o0vov?Qqa6o&mY?Br1i{`mJtx zw$SzT?|-&)7(h1->C8yOSc8pEvvqGblH}EqXI61QHAhgSB@d#dX-4;*HpMFo!8}G}hZY!fsf(|jP zanb(O4|RbrY%*nzRZK5zGUkksORsm>O~~RS6G_1UdA5QwmfSFm5AZ9)KFxd8TeHfG z(miHv(tsQnLdQ-%H(bG|-Qu-h8G;EH(y@>@{aO~>pang0tR_*Nl|DWom-OH*wP+8j zz#B>+?Xks?QrQ&`y$UshoGb;hl*_TeEi6e(8!22CNcLD#LGT^x{YS?$@pj=#Hg zN>0#3Hva88zTI|zhHc!7+@GWaWhdTwJh;z~vi_$`4xGq0CYQeb|NCg~WV&Kx3mtgM zyUIm$+ll<)2(HC3Cv5<2?hyhg4T9JLf+uY|7}q~obgtm=f4C}YX95WI({fd0O#5?r z*gYVr%l^cRIEd~)$RR@Aw>;iNEr=+Tuc`R>&s7bz!XxElxa7*V>90?8PRBJ44@dp& zM6Mhl4U5q8?`c!o(GsINEaZYm7DSbKPr=j=3Il3&FUD`)R{o}gA;co^C7O1nPJ&K9y4mlyu zgE~D&G6??PqF!L9waZ5o=K|p zF;kqwdsYb2AEy-j0#~m0W2=FbzR3FL6Xr7?K)leui`ZorrnfJn2wM_nY~)n*E8R3H z?7PyPp<4?L{q>vvjGdg)&aVP$3{~`pEbgl?r>a^WESgqe?=V47B1V}V->uqwPS z6UI`0PD?#Y5Cw;yYTWO4nsT9)MzyL2sB$u_rEp|skLgx+O-0W<1@3<3$BSCv@jtc7 zy73gXv16=#-^5Bi@jVr)=*`pq*acWWo zc;?N(E1^jY>ZJLa22xOD#P+}02FCxZT^JEr%F!y#rCz)s6xn5XlA;q|-^vt3Gg~>LE9?=LvbI z=Qd?D#u^+f>9!0*U{H~u)Vz%xfY3V?A$bvnS@U{-rOc7HcZTBOh^)Wj2IujPFNa@b zWe^bCa~LQ>W2V0bgdP0`^SPXlXrsIJ5$VumY)Oidou@rW;6}T(YYz6E(Q4;)kcJ=sa!#>j^gCK`EM~1y5M4-$GMcf%c(jbneDTgqYF(QXm)U^s8WyeDSp(fN zgD2E0urV-ik7;{Pjsw6?FikseSnzc*G%bBZ%$p8hyhp@e1vp7-FA{d>8xoNLG16HI z8n8)?a$_5ir}_vWr6sGzJA|$)9{?|st3;S8m)5yTY5X~wl}MCl>til{x`yQiQ4vUO zTf12Lon=t|)$cH|pE;lm{#%ClzGakrf7i3Kk@J}~Ye~?|0RerstV3-VZi21Y4gBL$ zv#Dwdl+M|)c5yQ2W73o6ya;nb&7M%P5$AiO)gx)F!CWRXuv>M$4evBGlXMT-wE3(X z-X_9^HO2uTphvWO9!_p+1d;Omy~y)7^4dLw2+1}^)5M)!vae(k2ghr);?-v7nhxGE zu)o@Eif*Bxp&WNp1|!fgsR>}ztH!hU1sD;W4jHO4Kwx6$JRD-qh5v1^rYDxUH0H%c zu&M$$>9cygg$yHd3d`HhFTq4dC;`+{cRs)3Pi=doA)4O2gJ(NJC+A8Xpr>0-cBvge z$#qk$^I8WTgufPZvVgPa(cPcSyynV&z;&pMlmtogccUS1w*KF+`_6UxBHn+?A>I_? zYnHyz;$y)JG7i=t#Qs#pWvGiddY=47e4|Bt7La~}G&XHBx#7}msZq^X)xQ%6N|Jj5 z=4IRB9CfJ>}s4k$TS*1K=osQ zrDj!ILuu5k1R;``!m?Kxw)Hg$q)p#p9P|<}UZxHMyQS*>Ud9}=58X$8P+5b!D^er~ zui&NKIaN0XaQ=vHZigaa+P zcGxjSEtOtdX;dfWUmNn{-llF{4%|;`$9x(Ckfqa#$1%e7U66#$tTByRPg}T&zC}Z( zTa(~3fmlH5Y1}S+D^L=M=&js{fS>3I-3b2Uk-ENOl(?*z`t1-mV0B`1hoAXA**^8h zuOAYMKIYp11IhZoVEd)VP9+zv=a33HL+qAxnNnUcKLOcF`CP$tO`=>jO`T^8qNA07 z?EPO@y+%4U>mD7-X^HUyc*n<{Nr6JFr8*_}H1eV#R#s5GTFsvKhQdUiW4eeyS_1;9OnLKx2oCU2N-seut$86)`)t=M^Lzvu~kX*90{v~+iM;vQ?WTC8*06puB-V7z9Dr?AjBwCZ}h|ZQlro%P8IiKuo2fVd3 zIrxre>sT#hLE?=SoAaxt{%UO&XE%+=|4emSIH}?~o_#$&*_c@0c{SCb0Njli3Wk>x z+h@>fi~WxzS2Wb*=A)#}Y)j!2K9vwF2Kk{bRz|FFt0V3U9d`Gcfo`Sb7G#P;DOy?O z0V=(Oz?h}Cn9@XD5jh5XwKXX^^>%&6 z%-hr;nOFDF)!^!u6<-fGi9ByGNU?a`m7ygOXQZDPg?qLN@};rg!`X;9M4Um`dj8q5L5(BM3O@4*dTCyuvO3oM>7EDBj0b0yrIs02$)U?Vq6$u)pHp@Hr? z2|Y`1`k^zxpN3&kLeYit7hSuSP=?lB@89aRYtFV#Mhb*#J&M;vag8Zr&LtvGkOpRS z%*}x7X(V{nsAT+_qY`8IrKr)ye)k0~S*pKUWe%Zv`_stb5`BC1$ zu45mAI-nEYu~csCS4>5$WQ#tl&L;OvC#Jj4k?kU3Q^mk?!NUU#wuFXoeaX&oz@RVR zOks8`7*%ns$bBqqrfUkG$ zpp3sAEss8^Jn16*nN508Nzcnm6tDL5v+Dm0{Ss{#uQ=6}PQQ7Zx>^$AiN{+wbfUMA z^{Xp6DO8pm{DEVFT0DYQlLKw+W%R#(M)KR1<=hTcK1_OHXZT~*kpBm1{6z!LkE8}n zzzrz{Vlzlu1%bu*jc7U&N14b4h6Q}hMJHm+%4}*iOR+fpvG*>hR4dZ`QQADbFR)u0 z^a~(AH=dcAU>?C;jW=FoyAZjKoh`9yi3gx0Yx2Pttqz#_kj-FL0q5xK(rz4t*{}x8^*< zaO06$81juhpX!<%qXINbV%+PNq^l}=Jn9qRI!nPryI0Z^IT$4DzNn%X8(Rt8M1!H{ z+I{w~-2nZ>vQ2NnDlhx6Lytz+uU5+5LK296JyvtD8u#cELhLk?HcMlCTdH`M=;h+s z)s;DUUA}4EY&pKW!|<$7PyxsE(}9Lg7xbAPl`U5ENbESd1DejG_ z{A8_*IH(IkfVGD8!!;Bh_sRZC$hZ(2w1tZkS1GpUKW6H9q-S^d!SwJ1ZFAc++k)mO zr-T?C^drLM+UUPg|fCpS%=D6t?f>NoiQ-)zdBE# z$%^?Pq9OPc;tZW`viG#tQ$K9E9o;>D^7JH-Hq({JABvs47lk^lrp*`6b+K{)0=r=`lQszK=ZFi{&03+knZ^mBbWGOi^$8!{_Z2%`rM1yMcW=Y0qP@)XIpt zex5e}*d2+zR5NXxgLJJ!yR#Upm4o=q{@ z+Fwgvjp(xM<{6i$FAJ*kMg%2vTJqeVT#x1;xP$Y@4}T>dVSW$h@%`1FKYBV{#+rZz z6wihLymI4WX$r7+i=i^D2g;JN9gT$1Z6e1{ttK-S_OUAh0XApfdGH(h0XfXSmo~Q$ zRcW+a7OhoO5CIq~0+cAU>zb=!W8c8ig8?A3MIO!Lr8nq?Mybc`R+#v>ULdWr5Dw&595JeO$G25CEN8@ zC#bEr|%0+jo}qcD+)#pt}V24F6!O0b&sENZ2EqoCz~4w_v2_ZCd&rj zC16sOi9$z`N`YGZS60>CHUn?p-08)BVKjOI5MRTuBV*|@s@Z7O_;Ow&UmG>RBjye+TC~eQ4Dw} zl0Q^CzI4w8@KXj9dJtQ_MWtN{a;WqogiQTWLmL`^eMpYDBtB2GTRG=%OA6u1T}SBG z4k@oOH7zRQo6mL2PC;6wbxUjc2U`$gcfPhJ406ZDiA1IOEs~KL$I~m_Y!ezf0J0}Lr^i8uyg$qz zf1yY8$aH#5mKB1A-eF5ho^*0S)UmQ`Z|6mFJ|?7i-&+8Zplk4O4OGXJ(7UbAGFLQWL_(=1FE5w&2F?U%oj2!RYi4zZu*W zF_IP=SlZl}s63bB-Zbn`wk{`j~nQFCUhMI|)@7c;B9Izb*A+lBd=Q@XTvq07;n(Pof z?WLoaEtq=W+nUZZbch4Nfg=TiNe@MID=GEsrghxBhh3r-1BmAn95E1CWJ%c}4qe{0 zFXQ@ILmXrF+i-xFrU6~WF$8*<#QAIGB%rJ-$~f2!?+ojA{*?&}Ec5cLam;+g*$^`3 z+Av=bE5$mp%4iFtq`qH~&lDL(l%~t;QeV|YkVP?)P7SU_8?~*nsXUfOU*jbz@kvch zoWkgb0Dv+Sb82hgciX=yEfUAYjUtm|eXsQLfFN3|%5IPmlFw9)Gm!YI z7``k61}s(H-*8lq%IT9zgfUNQU`l6VDQ#JKMz8*O5Muh*STnzQ13tB3MWh$%fEhRW z8<2e#f50j2WBc~#%mu@ll#GH~m>4QY-J^}1L_EymMWO^^+~E}>AL6lk5Tb5w%$D{1 zn^Shj?|uvlDGG0En})xzahW%Qf&+L2EP7?_6_npHkj*!vUvdTWU%B63l=e_e<>_S1 zf{iU>x(axgd4=o<1O}sAV7ca2`_zl=17h+t=!j=pfrqMT{0JyW*S)~nCJDSyfUO%| z*WG(<(iyc)vesh{TTe;`C2($_*~T(T{UW`LGv_%!^OKR6JaY7r$C%c2s*W`5pr=fV zVXHtSP#uWw;?SyN@mKalsRO=5^Ve^)aA_tXWdrj}b_RQoK;V`v8&Fua^&!HHQf_NT z!KouxBrIS+nQU*hr;9dLQw0yiyg#tdRGk-9Gj-*7j;p|C0r%2@X_;hV5r3avVF# zgxGL5C*j~N*NOi(y!N8090clVcGW7j^Fq+P%G`-FAuIFf0z&U&PNNL+}%S?N@nz0j&(FQ%G?*MKShs0^^>< zICGw~BB%O8E(uctK|nR(@3p+~skqIg`o%WrRqjrrw)hbeqKSoZ>pZat0>OBfc&;Qc z=^mUc)pG7I&dQGYQUe9$armRjzWs=c>?2pN8S5-MEyEjo1A2tt483z8$jhdO@$**c z1EFr(xuz4%br1G(Ct;1!mPiV;I2A=-EQ_s5yv~uFo3WlIZ>2N9pRHZm;<21e(Y*N3 z#Jh+gNKfX~i{zZS7a{XYOsp-sy=y&Wq#a)Dfu7hEsvf^Q5E)SP^GM=y`gz&|1#x?h zQQ+9#(UW)%hZVL3%-WZ1Y4_B$sEq_t<2+ibqhou9EHdIpjranO@d*Ujp9^Ab|1;q( z5{q8@jX{ZjV237KA4t~(l@G(}GP%v4>Z@Q_GyFDK%?guCxI+K=(a+)xI|Rzt8<$Ct zsKnj@A+1+^WMyR-toOTeaqL*m$p2qq8(H#kR^fq+(mZG_vc|3?uG!*)O2&;IkOMjx z)t+4|P2+IU=RCQy~p<@Z0r{-m8 zA35n8)ZG$ICsUSG*k$jT!3pt#qKEodZ;T{)E zt~3+D+F}gvHIy1fSf-Q~wKCQ5NcqVB78mLsAkdt5=|~F>z-hj!o(h04nLcBjbTj+1 zNhdm8_U0ZzcBmyG=1u{ds74l>HFIBrPv8buV{Igh(?tXPeaU=!yO0khJ^?N=UQVbSCo_%Qi5d}tM_TLC{h5gS zBr!N2y_6IRyLtBw2xTFJ?iaToY!|5@L8s+irhgai@4;9nwr{`_HU4#JPDO!of>KPO z1Mi3A&J};AA4ibIQ*nzS>AD_KTtv%04+tF1+M20WawAjaZuSRr2V{^K!4pqvF=o=E z=pE0$L!2k>wk|YcC)vrHySF$8i?P`Q=-EIn3Dk3qm&qdqf0hafRqnFG5AGH{EH63i zXs=u(V7Q9>#%Hf#=qW)cNT?cCKyA4Bb+`+qg1<2Ytn`c+n5Pz{SW>ouR>0%gHEO@+ z2>z(WS8aBg%@DMlCj`pG1HAj`fEB?b^Xw%wu|%J0rqRKFoN$3jj^0&wIbWl*<{$W) zhh#tzSe7AavjiLytCN8n!t*Z;?v!tmRqL^6oQ*P4w|OoxYrnHy5gnU04Val*D|fg! zYQCq06IPoH%FPZ+GG$j{4Ard7ad;BN{+A5&dBD%q#v{|F+9fZ=_CsbESBA!IfOKic zot!WO!5MP7GHVASS&}ItRs$zmA3J*AA~Ni2oV{4=$=B3%0YpxLk}8GX$_o9*VMpB= zRB2%)b@zC$g9lfdx7A#MN#8BNR~ODBJ0BXb^>U!#!yHFQhjP6|XaN zCSP(Agonw8)ciCfkj&W9t$x##Ugc22MsHXmbhPwmy!=Y38_48^sgc4Owk4U-32#8v zBL12Mo5f2Iam*rn<=Rp)z|aOhWDO;`lW9yjwLOKJG-kWl za=C&CFPCvF1a4t36f$xf)WWcw;qa@N2_~DHHdWSH=df0y6j|q=Z*K}z(7~?w+fK^# zEbuKUl$f|^+4x&!JSC4U0EQku=3k@?QRu$tNRBuzSvqurf-s}%=^L!L_v9mNS$3x7 zob*wwkB-1wHEaRwG=bkA;p*2EmoHuOT(YePR4pGc<==HHr8cRovV(QFO6tw)pl95z zI6qEb8Y*55JzqKFg-Ma{Gg-p_GCfe_G46H~OSnS=5O*V=)pkZbK|;^OE%0WITt9F% zpvq)Yy0hdxVSR95UQvkH9h$#f+Zgr}+jRgL@*vFp-dk}Z`9~S!97BWVLnP?2=s%4X z)(P_PzXjCaiz1X*#U{z_N8s2xS)*?dFGz3issSpn1_w-ViIk}WWE~FTRKVYN?)(h3 z0pVhG#(vAIS)d`*VB$XFi-NqaJgYUj>T%%o?qlDay4HGVnmZM=7|-1^81prnBqvU- zLfa{r7J0dlGEJ3o#t~wkF1!-erq}r}CdUp{;WUb(=v-2F_diib+n1pxFQTY zpwI1h21L#{^PR6VX&AzBo7WM7P~Q8Vf6YvHiZ$UbN=5$b2zjuVsE~gXN3ovK@_1x! zy)`|(n|OMpy)4Q9-nO0Qvs9E^GdpxKEXoqXrPB~(NVQ+a1r@+U7?kG^DkQJe0@<9T zG=ywv@Mtw>0SR_`i6_iW~NG3kr=N$7(?zgP|cl46uO)yVdMC1t0Y7SqEk#GtXT!6R10z|v3%Ij)1OWLi$^W8nYbtP1PC5a4$? zt&)sMBm8c84L$TRD%KjQfx@jy2u|-Pro27syv(RcIx!7_xA_$M>a=2d7fO!}q+wYT zZ*B?8qR;cntwd?<3ja#qF`i}@7{xkeL*|LrY#f3NxsFbXh%HJDg{FSdOG&!FFJ0J9 zRwJ-$!PJQ0fEqe2&h!m82vt9)+t2jW1knKPpn^dCB3{Hlwj zEd1HLlJ388C}jbqM;0^)&lN%M$7JTjYh&->G>k6WfwaH>9`berna;HbG5EZxzHA0E zmqZHzthL3_YR3~F8LuZ)Me8-itD(yE!946>&`NJPRgH^F}8yJ!$f7A+H2=pbK$kb2Q5>q<@j@OuW#?hQp_$ zL#YY8gE#p-O--bv>_B6k;eXhuYZp24gB(d=ODORhGKbo>6Y%28B|w9OU6((!2+V~e zTzp@r;Gyv+n*Ww5c6S^p=4xPf{D(W@bgzn}^%-3Z3yey#(o^iN!&g=${CaOnI+cJ_@B3nSA=jA`Yqid^NK;fQai zC~ek-XptM0X+aI8^aYZOpnY7Lf5~7hP-IZOE^htT6|z?vv$zoO!xjsm!1WV2iT_}< zCL}hzeeH+3>gIS#=hQ4ji5XivX@oVDd&l%Mo0;#?l;w;xw>f<_-XuQdY_S(={6!wu zU@D90hwp!JK7k{69Zw4h)tVaK$VWlK)?FFwxeNez5t>+$RxH zn=Sb^q82f4r~a~5%o*k)opFRppdMt{p+&)R3b>Tr<~Q%vwk%YcEX4}Xi$NxVn!v~y zK4-{}%0Vv0#`(wk=dVl)rzvdIM61-9{FT&}jMOf`dPvOjZTuMZJZ1P(K`qNUk9RO3 z2!lOc1y4?$L^`Scz?>WWVcyl8Rxv2Gf__Fh}&XjdS>LY!?>Q~y$ z3so&`svzI_!nK)byzf|KA!e(M&m1;U_8f^dx0TG4~$mLmt8v?+-RQ-Y62TIvmD`s9T zm|Cp-O3I}yK>y5NbBN_^6n+n!mm5Wq_}dUowUZnyYuVlH)!IPl61)6WRf1Jdwej5$ zIzi}egSVrt-O`q4eKNBqxi5S<_0ug7cIIXf+*0@}fMGor1@e^@^0`@iO!jPtW|v|p3=Q^}asW&!leLSD@QhfXktJw8D$>b`VphhG(+qS01~BN54|QWds_<@sv4Qk--0`QcPhA02zM)@ zvcY;MV0e5Qpx5K&BtF7tu_ed=#gN#{t=p&g+72MM@CDN;2)y61NM!pE{#Hv{Vyf34 z=FMIO=kAE;p=yQ!n6A)@NM`Y*fh zXFi8@u{;3b`)6vd_GZg?qg!YzC2QgSf1j@{N8=po&u1slzyzZ;|6S6hBe!bk3)1@* z#%(YC7a^0Zpw^ucW#AYP7zY#+#Pmkt^Vh>VSy)s1p^!lpl*P0zBM_ybbsOyDcDGp< zsC4r!rpbbEVV^@3fn+xKQspc1o!hU?@3N*O$pqOgOG}GEJr3}y5R;&0Q12lZKmkAW z4h2_%0cy-OdMtc}LU<~XV z>#Qb6!2)1oMR77GVXV{AEAL;Y(5?*kxGmhqej(#8NB$k~l(Q{qIvmaauw)gluI+^P8i8+F zEY05p#$of2>?1FOynH{uN`L-|qL~JTGRK%!C>%p~1u<(>7};2!V8S9VM$^!=rZx}q z(L8GxPm3B-Ie#*TL>tC(cl<=V$lPS0QW@e?5FPhH%AIev*b6B~Zcp=|QVS@2Io=Kklp z(T!L7U`+uprt9+w!s27&MqSo%u5}4Ypqq5!@G}h8C*8Ai$NMa>`pI<033CLY z@pCxyEQD}xkS5$78$aIotY9;$jv)-TLkdMEqbO6Lf7Jl{-cGP7A^DwT#C#bR;nNv35u z^ztO^OQ_2Fke^SU#=HIN9$9HS*c@IX{9jF@0D2P6yKv6+ z%Z`O08%wn#!yB{3O{TEwh*80u?4K9tx;RL;4Yt=0T(W2d>x40xI(C>j7_P;@neH!o zEl2AeqwwagE@ux??s)WP8@M>R&&LFC3tF|5`z^5y47#68n^!tM{#v|aRX|PFXK?h@ zR=zPtyxPr$DXOc|or%S@$9rY`@I=>|gm`2Dq!V6j!n{Q1PO_OT?pe-`h$zQD3D#v# z^1CB)a`P$e=tK)!s(|#&IPe$pEp`r_X}13u@bSWq!Zi^c} zpd(y3=*z#s09N5RPgaJAh{UqBNwlbMGrf{%EuJ#>rRr+-)|aZacYIT;^!||GrzFdj z+gih(YxG9lxZqA9AA-I3BNpOL;iRk7e5)j_e}|z!My{i?JMM(2->J018staSKldJ) z5Jyl6(my>`PwOb)trUII@njP?0wKa9z4;{giIDj@t9N+-_XKX1!^8VAEJk+GDpAAk z*&R5RuSBl6g96XSh;`a|oH%0E2s0a@;~wpZ4sXbU=o_i8_;_#so$d+x%AegTQu2e) zpe%*}V9EL2ZNrRuaqTl0m9VqNLZH>DjpQvF;>Y$!Y-3VvR@IM90b-Efrm!1inhMme zuKh%Sk~^Wy$WWnBU|wjYfn-H0sEkS6sb!J_!Wkk(0-cd&(RH&wHQODDMX(c>1;Drn z+iQQf+vfch3p!$edGM+V^wi|T&vv-t?f%^#t5=dkEM|acKe6{;ULlP(5yS9gO~_^E zo&|;LWwvkSjQs~_aH9r6_UrK*uaBNkLv5C?z7S(fo;8K&TqGUh^xBDS_C++gk(%#L zXw^A-uowQkJ!Z}n`6282e=hnx%}lMS;j3ssqc~BW)f7Hzq~;;5#kUE7zTl3g-64x) z*1A_b=;nR(whJyNkQJXp)USsLk<7H|o)p7`Py(yLAxjg|hYL_}W=;-W?^Qp*FCd37 zBvt@8Q-o{ke%imSql5RY-wEcWOr6o+d+qYd?I{KLMwMXiozKSvxgDSg<|UFzr*DjM zlc(x9hOb4aAx+YAn>IQvtELL#f#o~vmQvE4DL57B8q$f0<>PgT^=D);-GB^ zsLf^l@8z!yb88Szxy|#YR17fY4j2bO!ZMbSH4o!1UJu*TmN{+>^}FRu!QFkPyy)ZI z{K@KA=(5{$@BWo?OkC!P?}-7ClB~n#`fh9Mr8wv+u;fYMLzuhl3-ixce83aZ;o&9t zIX2E9-#y9Qn8QQLG?CtT{s^QZU0rTJS4pCXoWU0L9@3PEnMavqYE!!GMK-b3n_(eWbl9G%Ncy z5PsvsPw_%x>!jNt8E;ij_tz1`-E&|L%Ur-W{1aD&XbrFOk?H6H9W0@m-qaZ9kH}1N zXmRU&&t3Q3OGxXy$TVOp&yFE}kac!m8pDCRc-$u)vB1>gTm1H5CH6oLh)5N3-4SU< z*XOIzR}XaFjC)w#<6?y26-ATbH`HygIx*C+4IA`jDhC9YaR(pa+%Gc(?(5clc1Fa@8yRAdc64 z!s-|#oaIUAND?@B6G7#lMY9o>I*$m9MgM0qV}S;%|C&%nckRBhQW%`RjpE7ngRNj= zOeltdLuARJnm~Llt0^ixmp$o7U6YSK=b2^c>NT*3)U6u4JbQkY;%sak6~I8ui>Y8R zz!-z6huB<_$vs)NFsu9xq`>(b9J1_~YE`}ETidLam)m*#6$9zx3FdibD6&%iX(CxH zhXfoq3+Slg6r?t&NPZ%?rxe%^)$&=yR0!x@4l)CIomV{18cE<&`*4A2g=tl8FiF~8#}dj|0s)*OUuDw zokpcwbyeWq_~A8x@vf5)76%?kqO$a-&YIrKrS(~lK0?4lW)_xk!=c6vw9Hv>V^*k> z2r4&HQf+Gf7fG&ppH0@(JDj^+gPrFJ}d zjf=ydGL{ukC@*K6FK`uf1G6UO=Tqv34SDy|Oa0?pNPZEQizcWKyvm>QBS-6JF6s<` z61A>Tj{s&jgm=PZarvMC#h$QJODxfK^!ikl%l{dw6B|%3k(JIvH|+QW8^%x`37$WU z0)q!b+0R0e#Kswx$er^^IvK>X6sH4~W*-@Q@PEnqG|;e4?U$DX0QWcj=PuYdzSZYy z?sARni1Wo$zCAwx`Woh${xRF+4&leXlE@1hVHs9(&`siUA<($rjJKisA6gwa9c{$1 zEDuRgfhh^w1pxo)Lp31FFprhoI%xSGX@4n=%6%^>mp(3vlyKp+lkH6E7Ra0dF@O%u z4|{%VwCMTCJF-^_KFkE*hLzd0?!Ix=aEYF5jv>=9&wVXxzuxUTb^%*R0f+JJnj9Ar z;AVl$bDELj_zHeyEbAfji)hyFO@_SL%@Ea%LE#fl@_ya3Jf?5|n-b16i9hV_+nY&q z>}!}=sMZYVwcbIVl~6q9!(yt*kqlH4>cHYO|go)erw&Ubdv_fPq(m&jkAnR z=^m}!0p+=J{Ie*a1p(%*rpY|aw3XmB-)_hbvby#pA1T>fpH$TQOO_E;6VG!gBBJ0) zd`wj=tQF77th` zIbvYS_4@0;xoH#LfhYE`BakNrX6CRvIV(;f`a)&0mws7uBvi03S$LF6<-%@;r^krd zYh-Nqcmw_twX$F(KEU&vScS#yj$}~@n0n)+yKgdZk7ss=&2hAMP)=q~g|NHYB(6?^ zhFL9TIiCf%<%y67zfShD9Qi(ictT7lk8@moPXlg=KrHxYL8Sbh+R{7|@=Be(fJ++R zt!@h^{g_+KgEK+oSGmzI4+U=Q-+g%Ssi?#e5If*Rj$(^5SX#&?JnB1Ihl}x~LItgRAeu|3H6zLRnG-?Zea1y&r{eOlE+y{nM8+ zVw3s4+5538oq2g&9&z`Xz-ErQ#59~#r)6D}bb zof+fH#NwvZh)+Yw0Dm@OrCfwu43&uR`E!imtn(gMI_qTC-F;BbdJIhk7RQzok7Qbh z+KayfD*O-pz?jqpo?>z+s#hOP7GZ^P{)g(SCdiRZpV7K@qED99YqpI|N=P@JYyS{j zU~vb>BM>Tz#n6eiyQFOFbKY zM?$}Aof`Q6TxapDM(Q_m^5GFhd1@X~=PA!+c~euGxS?1u^w5K8L<<@5!1JrR6Gk3N zDU9|M&&BFn|nH-REdzwVpMa0DTp*+#lYiIY*QoKSS8+>tyAFt(yQ?6 zFtwg=$V&Y(pnX@+#i@Ul*Hf2?y_Y{Qrv*~fEn+>#d?p5+HvlJs_>e_Iyk5oz(m>*c z%0A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

A+v+s5EQ!ERVQR4VYYYEhOAm-gTP(l0{`@j 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 B1hoJF literal 0 HcmV?d00001 From da0acb20800999558b6302b2dea3e954a9c0ea26 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 26 Jan 2014 16:51:32 +0100 Subject: [PATCH 063/190] contrib: add per-workspace-layout.pl --- contrib/per-workspace-layout.pl | 55 +++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 contrib/per-workspace-layout.pl diff --git a/contrib/per-workspace-layout.pl b/contrib/per-workspace-layout.pl new file mode 100644 index 00000000..9304b6fd --- /dev/null +++ b/contrib/per-workspace-layout.pl @@ -0,0 +1,55 @@ +#!/usr/bin/env perl +# vim:ts=4:sw=4:expandtab +# © 2012 Michael Stapelberg +# Licensed under BSD license, see http://code.i3wm.org/i3/tree/LICENSE +# +# Append this line to your i3 config file: +# exec_always ~/per-workspace-layout.pl +# +# Then, change the %layouts hash like you want your workspaces to be set up. +# This script requires i3 >= v4.4 for the extended workspace event. + +use strict; +use warnings; +use AnyEvent; +use AnyEvent::I3; +use v5.10; + +my %layouts = ( + '4' => 'tabbed', + '5' => 'stacked', +); + +my $i3 = i3(); + +die "Could not connect to i3: $!" unless $i3->connect->recv(); + +die "Could not subscribe to the workspace event: $!" unless + $i3->subscribe({ + workspace => sub { + my ($msg) = @_; + return unless $msg->{change} eq 'focus'; + die "Your version of i3 is too old. You need >= v4.4" + unless exists($msg->{current}); + my $ws = $msg->{current}; + + # If the workspace already has children, don’t change the layout. + return unless scalar @{$ws->{nodes}} == 0; + + my $name = $ws->{name}; + my $con_id = $ws->{id}; + + return unless exists $layouts{$name}; + + $i3->command(qq|[con_id="$con_id"] layout | . $layouts{$name}); + }, + _error => sub { + my ($msg) = @_; + say "AnyEvent::I3 error: $msg"; + say "Exiting."; + exit 1; + }, + })->recv->{success}; + +# Run forever. +AnyEvent->condvar->recv From d24d8baeb5f92013887901d1df9063721b425ce7 Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Mon, 27 Jan 2014 22:45:01 -0500 Subject: [PATCH 064/190] Abstract binding configuration to bindings.[ch] Create files bindings.[ch] to contain functions for configuring, finding, and running bindings. Use the new function `configure_binding` for binding configuration. This function adds a binding from config parameters. Export the function `modifiers_from_str` from config_directives.h. This change is made in preparation for the new bindmouse functionality. --- include/all.h | 1 + include/bindings.h | 25 +++++++++++++ include/config_directives.h | 6 ++++ src/bindings.c | 71 +++++++++++++++++++++++++++++++++++++ src/config_directives.c | 55 +++++++--------------------- 5 files changed, 115 insertions(+), 43 deletions(-) create mode 100644 include/bindings.h create mode 100644 src/bindings.c diff --git a/include/all.h b/include/all.h index 9ba4c1d9..a355d3d2 100644 --- a/include/all.h +++ b/include/all.h @@ -79,6 +79,7 @@ #include "scratchpad.h" #include "commands.h" #include "commands_parser.h" +#include "bindings.h" #include "config_directives.h" #include "config_parser.h" #include "fake_outputs.h" diff --git a/include/bindings.h b/include/bindings.h new file mode 100644 index 00000000..49711a9f --- /dev/null +++ b/include/bindings.h @@ -0,0 +1,25 @@ +/* + * vim:ts=4:sw=4:expandtab + * + * i3 - an improved dynamic tiling window manager + * © 2009-2014 Michael Stapelberg and contributors (see also: LICENSE) + * + * bindings.h: Functions for configuring, finding, and running bindings. + * + */ +#pragma once + +/** + * The name of the default mode. + * + */ +const char *DEFAULT_BINDING_MODE; + +/** + * Adds a binding from config parameters given as strings and returns a + * pointer to the binding structure. Returns NULL if the input code could not + * be parsed. + * + */ +Binding *configure_binding(const char *bindtype, const char *modifiers, const char *input_code, + const char *release, const char *command, const char *mode); diff --git a/include/config_directives.h b/include/config_directives.h index e6b792c4..a95a6473 100644 --- a/include/config_directives.h +++ b/include/config_directives.h @@ -11,6 +11,12 @@ #include "config_parser.h" +/** + * A utility function to convert a string of modifiers to the corresponding bit + * mask. + */ +uint32_t modifiers_from_str(const char *str); + /** The beginning of the prototype for every cfg_ function. */ #define I3_CFG Match *current_match, struct ConfigResult *result diff --git a/src/bindings.c b/src/bindings.c new file mode 100644 index 00000000..511e8996 --- /dev/null +++ b/src/bindings.c @@ -0,0 +1,71 @@ +/* + * vim:ts=4:sw=4:expandtab + * + * i3 - an improved dynamic tiling window manager + * © 2009-2014 Michael Stapelberg and contributors (see also: LICENSE) + * + * bindings.c: Functions for configuring, finding and, running bindings. + */ +#include "all.h" + +/* + * The name of the default mode. + * + */ +const char *DEFAULT_BINDING_MODE = "default"; + +/* + * Returns the mode specified by `name` or creates a new mode and adds it to + * the list of modes. + * + */ +static struct Mode *mode_from_name(const char *name) { + struct Mode *mode; + + /* Try to find the mode in the list of modes and return it */ + SLIST_FOREACH(mode, &modes, modes) { + if (strcmp(mode->name, name) == 0) + return mode; + } + + /* If the mode was not found, create a new one */ + mode = scalloc(sizeof(struct Mode)); + mode->name = sstrdup(name); + mode->bindings = scalloc(sizeof(struct bindings_head)); + TAILQ_INIT(mode->bindings); + SLIST_INSERT_HEAD(&modes, mode, modes); + + return mode; +} + +/* + * Adds a binding from config parameters given as strings and returns a + * pointer to the binding structure. Returns NULL if the input code could not + * be parsed. + * + */ +Binding *configure_binding(const char *bindtype, const char *modifiers, const char *input_code, + const char *release, const char *command, const char *modename) { + Binding *new_binding = scalloc(sizeof(Binding)); + DLOG("bindtype %s, modifiers %s, input code %s, release %s\n", bindtype, modifiers, input_code, release); + new_binding->release = (release != NULL ? B_UPON_KEYRELEASE : B_UPON_KEYPRESS); + if (strcmp(bindtype, "bindsym") == 0) { + new_binding->symbol = sstrdup(input_code); + } else { + // TODO: strtol with proper error handling + new_binding->keycode = atoi(input_code); + if (new_binding->keycode == 0) { + ELOG("Could not parse \"%s\" as an input code, ignoring this binding.\n", input_code); + FREE(new_binding); + return NULL; + } + } + new_binding->mods = modifiers_from_str(modifiers); + new_binding->command = sstrdup(command); + new_binding->input_type = B_KEYBOARD; + + struct Mode *mode = mode_from_name(modename); + TAILQ_INSERT_TAIL(mode->bindings, new_binding, bindings); + + return new_binding; +} diff --git a/src/config_directives.c b/src/config_directives.c index 96d29ee0..f5a592f5 100644 --- a/src/config_directives.c +++ b/src/config_directives.c @@ -130,7 +130,11 @@ static bool eval_boolstr(const char *str) { strcasecmp(str, "active") == 0); } -static uint32_t modifiers_from_str(const char *str) { +/* + * A utility function to convert a string of modifiers to the corresponding bit + * mask. + */ +uint32_t modifiers_from_str(const char *str) { /* It might be better to use strtok() here, but the simpler strstr() should * do for now. */ uint32_t result = 0; @@ -167,24 +171,8 @@ CFGFUN(font, const char *font) { font_pattern = sstrdup(font); } -// TODO: refactor with mode_binding CFGFUN(binding, const char *bindtype, const char *modifiers, const char *key, const char *release, const char *command) { - Binding *new_binding = scalloc(sizeof(Binding)); - DLOG("bindtype %s, modifiers %s, key %s, release %s\n", bindtype, modifiers, key, release); - new_binding->release = (release != NULL ? B_UPON_KEYRELEASE : B_UPON_KEYPRESS); - if (strcmp(bindtype, "bindsym") == 0) { - new_binding->symbol = sstrdup(key); - } else { - // TODO: strtol with proper error handling - new_binding->keycode = atoi(key); - if (new_binding->keycode == 0) { - ELOG("Could not parse \"%s\" as a keycode, ignoring this binding.\n", key); - return; - } - } - new_binding->mods = modifiers_from_str(modifiers); - new_binding->command = sstrdup(command); - TAILQ_INSERT_TAIL(bindings, new_binding, bindings); + configure_binding(bindtype, modifiers, key, release, command, DEFAULT_BINDING_MODE); } @@ -192,39 +180,20 @@ CFGFUN(binding, const char *bindtype, const char *modifiers, const char *key, co * Mode handling ******************************************************************************/ -static struct bindings_head *current_bindings; +static char *current_mode; CFGFUN(mode_binding, const char *bindtype, const char *modifiers, const char *key, const char *release, const char *command) { - Binding *new_binding = scalloc(sizeof(Binding)); - DLOG("bindtype %s, modifiers %s, key %s, release %s\n", bindtype, modifiers, key, release); - new_binding->release = (release != NULL ? B_UPON_KEYRELEASE : B_UPON_KEYPRESS); - if (strcmp(bindtype, "bindsym") == 0) { - new_binding->symbol = sstrdup(key); - } else { - // TODO: strtol with proper error handling - new_binding->keycode = atoi(key); - if (new_binding->keycode == 0) { - ELOG("Could not parse \"%s\" as a keycode, ignoring this binding.\n", key); - return; - } - } - new_binding->mods = modifiers_from_str(modifiers); - new_binding->command = sstrdup(command); - TAILQ_INSERT_TAIL(current_bindings, new_binding, bindings); + configure_binding(bindtype, modifiers, key, release, command, current_mode); } CFGFUN(enter_mode, const char *modename) { - if (strcasecmp(modename, "default") == 0) { - ELOG("You cannot use the name \"default\" for your mode\n"); + if (strcasecmp(modename, DEFAULT_BINDING_MODE) == 0) { + ELOG("You cannot use the name %s for your mode\n", DEFAULT_BINDING_MODE); exit(1); } DLOG("\t now in mode %s\n", modename); - struct Mode *mode = scalloc(sizeof(struct Mode)); - mode->name = sstrdup(modename); - mode->bindings = scalloc(sizeof(struct bindings_head)); - TAILQ_INIT(mode->bindings); - current_bindings = mode->bindings; - SLIST_INSERT_HEAD(&modes, mode, modes); + FREE(current_mode); + current_mode = sstrdup(modename); } CFGFUN(exec, const char *exectype, const char *no_startup_id, const char *command) { From d51d2acc95cfed9a5c122171ed2079814393875b Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Thu, 30 Jan 2014 22:55:26 +0100 Subject: [PATCH 065/190] Revert "Do not create container pixmap when not needed" This reverts commit 6578976b6159437c16187cf8d1ea38aa9fec9fc8. fixes #1170 --- src/x.c | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/src/x.c b/src/x.c index a306356b..366cbe13 100644 --- a/src/x.c +++ b/src/x.c @@ -667,24 +667,9 @@ void x_push_node(Con *con) { /* As the pixmap only depends on the size and not on the position, it * is enough to check if width/height have changed. Also, we don’t * create a pixmap at all when the window is actually not visible - * (height == 0) or when it is not needed. */ - bool has_rect_changed = (state->rect.width != rect.width || state->rect.height != rect.height); - - /* The pixmap of a borderless container will not be used (except for - * the titlebar in a stack or tabs). It can only get in the way. (bug - * #1013). */ - bool is_pixmap_needed = (con->border_style != BS_NONE || - con->parent->layout == L_STACKED || - con->parent->layout == L_TABBED); - - /* Check if the container has an unneeded pixmap left over from - * previously having a border or titlebar. */ - if (!is_pixmap_needed && con->pixmap != XCB_NONE) { - xcb_free_pixmap(conn, con->pixmap); - con->pixmap = XCB_NONE; - } - - if (has_rect_changed && is_pixmap_needed) { + * (height == 0). */ + if ((state->rect.width != rect.width || + state->rect.height != rect.height)) { if (con->pixmap == 0) { con->pixmap = xcb_generate_id(conn); con->pm_gc = xcb_generate_id(conn); From f891a8a9afb9a2bde65514741d6dd06a04d2fd40 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 2 Feb 2014 11:22:42 +0100 Subject: [PATCH 066/190] i3bar: fix resource leak: statusline_ctx needs to be freed first In practice this is rarely noticeable, unless you very often switch screen resolutions, I think. fixes #1172 --- i3bar/src/xcb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i3bar/src/xcb.c b/i3bar/src/xcb.c index f3eaa547..928771d8 100644 --- a/i3bar/src/xcb.c +++ b/i3bar/src/xcb.c @@ -1395,8 +1395,8 @@ void realloc_sl_buffer(void) { mask |= XCB_GC_BACKGROUND; vals[0] = colors.bar_fg; - statusline_ctx = xcb_generate_id(xcb_connection); xcb_free_gc(xcb_connection, statusline_ctx); + statusline_ctx = xcb_generate_id(xcb_connection); xcb_void_cookie_t sl_ctx_cookie = xcb_create_gc_checked(xcb_connection, statusline_ctx, xcb_root, From d6b32971df0638b460cd303de5cc3ffb709281bb Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Tue, 4 Feb 2014 13:36:20 -0500 Subject: [PATCH 067/190] Really do not create con pixmap when not needed The pixmap of a borderless leaf container will not be used except for the titlebar in a stack or tabs. Make sure these containers do not (really) have a pixmap because it can only get in the way. fixes #1013 --- src/x.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/x.c b/src/x.c index 366cbe13..b3af85aa 100644 --- a/src/x.c +++ b/src/x.c @@ -667,9 +667,24 @@ void x_push_node(Con *con) { /* As the pixmap only depends on the size and not on the position, it * is enough to check if width/height have changed. Also, we don’t * create a pixmap at all when the window is actually not visible - * (height == 0). */ - if ((state->rect.width != rect.width || - state->rect.height != rect.height)) { + * (height == 0) or when it is not needed. */ + bool has_rect_changed = (state->rect.width != rect.width || state->rect.height != rect.height); + + /* The pixmap of a borderless leaf container will not be used except + * for the titlebar in a stack or tabs (issue #1013). */ + bool is_pixmap_needed = (con->border_style != BS_NONE || + !con_is_leaf(con) || + con->parent->layout == L_STACKED || + con->parent->layout == L_TABBED); + + /* Check if the container has an unneeded pixmap left over from + * previously having a border or titlebar. */ + if (!is_pixmap_needed && con->pixmap != XCB_NONE) { + xcb_free_pixmap(conn, con->pixmap); + con->pixmap = XCB_NONE; + } + + if (has_rect_changed && is_pixmap_needed) { if (con->pixmap == 0) { con->pixmap = xcb_generate_id(conn); con->pm_gc = xcb_generate_id(conn); From ba80f9600914571c0a11f27a291c7bb9a54be4bc Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Tue, 4 Feb 2014 10:52:52 -0500 Subject: [PATCH 068/190] Document the existence of a C ipc project Add a link to https://github.com/acrisci/i3-ipc which is a new ipc library in the design phase of development. When it is stable, it will provide bindings to many high-level scripting languages with GObject-introspection. This project aims to replace the unmaintained Python library and offer an ipc library in new languages such as Lua and JavaScript. --- docs/ipc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ipc b/docs/ipc index e4f1e80c..8d4d735e 100644 --- a/docs/ipc +++ b/docs/ipc @@ -761,7 +761,7 @@ know): C:: i3 includes a headerfile +i3/ipc.h+ which provides you all constants. - However, there is no library yet. + https://github.com/acrisci/i3-ipc (not yet ready for production use) Ruby:: http://github.com/badboy/i3-ipc Perl:: From 905440d6d1c6d2a872e3bbb0da4c963bedaf5708 Mon Sep 17 00:00:00 2001 From: Jonas Maaskola Date: Wed, 5 Feb 2014 17:29:42 +0100 Subject: [PATCH 069/190] Resize floating windows by right-clicking decoration --- src/click.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/click.c b/src/click.c index b6eb948c..33d5a4d7 100644 --- a/src/click.c +++ b/src/click.c @@ -237,9 +237,9 @@ static int route_click(Con *con, xcb_button_press_event_t *event, const bool mod return 1; } - /* 5: resize (floating) if this was a click on the left/right/bottom - * border. also try resizing (tiling) if it was a click on the top - * border, but continue if that does not work */ + /* 5: resize (floating) if this was a (left or right) click on the + * left/right/bottom border, or a right click on the decoration. + * also try resizing (tiling) if it was a click on the top */ if (mod_pressed && event->detail == 3) { DLOG("floating resize due to floatingmodifier\n"); floating_resize_window(floatingcon, proportional, event); @@ -253,6 +253,12 @@ static int route_click(Con *con, xcb_button_press_event_t *event, const bool mod goto done; } + if (dest == CLICK_DECORATION && event->detail == 3) { + DLOG("floating resize due to decoration right click\n"); + floating_resize_window(floatingcon, proportional, event); + return 1; + } + if (dest == CLICK_BORDER) { DLOG("floating resize due to border click\n"); floating_resize_window(floatingcon, proportional, event); From 0e27ff3cd04d45cceff625d19bd028d360b1ed04 Mon Sep 17 00:00:00 2001 From: Steve Jones Date: Sat, 1 Feb 2014 16:09:51 +0000 Subject: [PATCH 070/190] Set EWMH desktop properties on startup. Calls ewmh_update_current_desktop on startup to set the _NET_CURRENT_DESKTOP property. Without this change the property only gets set after the workspaces have been manipulated. Also exclude hidden workspaces (i.e. those starting with "__" from the workspace index. Adds tests for startup and workspace switching. --- src/ewmh.c | 3 ++ src/main.c | 3 ++ testcases/t/217-NET_CURRENT_DESKTOP.t | 75 +++++++++++++++++++++++++++ 3 files changed, 81 insertions(+) create mode 100644 testcases/t/217-NET_CURRENT_DESKTOP.t diff --git a/src/ewmh.c b/src/ewmh.c index 0298de3d..331df5dd 100644 --- a/src/ewmh.c +++ b/src/ewmh.c @@ -27,6 +27,9 @@ void ewmh_update_current_desktop(void) { TAILQ_FOREACH(output, &(croot->nodes_head), nodes) { Con *ws; TAILQ_FOREACH(ws, &(output_get_content(output)->nodes_head), nodes) { + if (STARTS_WITH(ws->name, "__")) + continue; + if (ws == focused_ws) { xcb_change_property(conn, XCB_PROP_MODE_REPLACE, root, A__NET_CURRENT_DESKTOP, XCB_ATOM_CARDINAL, 32, 1, &idx); diff --git a/src/main.c b/src/main.c index ec73955d..5ff9afe0 100644 --- a/src/main.c +++ b/src/main.c @@ -761,6 +761,9 @@ int main(int argc, char *argv[]) { x_set_i3_atoms(); ewmh_update_workarea(); + /* Set the _NET_CURRENT_DESKTOP property. */ + ewmh_update_current_desktop(); + struct ev_io *xcb_watcher = scalloc(sizeof(struct ev_io)); struct ev_io *xkb = scalloc(sizeof(struct ev_io)); xcb_check = scalloc(sizeof(struct ev_check)); diff --git a/testcases/t/217-NET_CURRENT_DESKTOP.t b/testcases/t/217-NET_CURRENT_DESKTOP.t new file mode 100644 index 00000000..9ea4bd17 --- /dev/null +++ b/testcases/t/217-NET_CURRENT_DESKTOP.t @@ -0,0 +1,75 @@ +#!perl +# vim:ts=4:sw=4:expandtab +# +# Please read the following documents before working on tests: +# • http://build.i3wm.org/docs/testsuite.html +# (or docs/testsuite) +# +# • http://build.i3wm.org/docs/lib-i3test.html +# (alternatively: perldoc ./testcases/lib/i3test.pm) +# +# • http://build.i3wm.org/docs/ipc.html +# (or docs/ipc) +# +# • http://onyxneon.com/books/modern_perl/modern_perl_a4.pdf +# (unless you are already familiar with Perl) +# +# Verifies the _NET_CURRENT_DESKTOP property correctly tracks the currently +# active workspace. Specifically checks that the property is 0 on startup with +# an empty config, tracks changes when switching workspaces and when +# workspaces are created and deleted. +# +# The property not being set on startup was last present in commit +# 6578976b6159437c16187cf8d1ea38aa9fec9fc8. + +use i3test i3_autostart => 0; +use X11::XCB qw(PROP_MODE_REPLACE); + +my $config = <get_root_window; +# Manually intern _NET_CURRENT_DESKTOP as $x->atom will not create atoms if +# they are not yet interned. +my $atom_cookie = $x->intern_atom(0, length("_NET_CURRENT_DESKTOP"), "_NET_CURRENT_DESKTOP"); +my $_NET_CURRENT_DESKTOP = $x->intern_atom_reply($atom_cookie->{sequence})->{atom}; +my $CARDINAL = $x->atom(name => 'CARDINAL')->id; + +$x->delete_property($root, $_NET_CURRENT_DESKTOP); + +$x->flush(); + +sub current_desktop_index { + # Returns the _NET_CURRENT_DESKTOP property from the root window. This is + # the 0 based index of the current desktop. + + my $cookie = $x->get_property(0, $root, $_NET_CURRENT_DESKTOP, + $CARDINAL, 0, 1); + my $reply = $x->get_property_reply($cookie->{sequence}); + + return undef if $reply->{value_len} != 1; + return undef if $reply->{format} != 32; + return undef if $reply->{type} != $CARDINAL; + + return unpack 'L', $reply->{value}; +} + +my $pid = launch_with_config($config); + +is(current_desktop_index, 0, "Starting on desktop 0"); +cmd 'workspace 1'; +is(current_desktop_index, 0, "Change from empty to empty"); +open_window; +cmd 'workspace 0'; +is(current_desktop_index, 0, "Open on 1 and view 0"); +open_window; +cmd 'workspace 1'; +is(current_desktop_index, 1, "Open on 0 and view 1"); +cmd 'workspace 2'; +is(current_desktop_index, 2, "Open and view empty"); + +exit_gracefully($pid); + +done_testing; From 1bd13ce5556cda157546592e97f851d54295bfa7 Mon Sep 17 00:00:00 2001 From: Jonas Maaskola Date: Fri, 7 Feb 2014 11:52:14 +0100 Subject: [PATCH 071/190] Doc update: title right click resizes floating windows This documentation update describes the change implemented in 905440d6d1c6d2a872e3bbb0da4c963bedaf5708 It avoids repetitive usage of the word 'also'. --- docs/userguide | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/userguide b/docs/userguide index 246233fc..f87cdd80 100644 --- a/docs/userguide +++ b/docs/userguide @@ -166,7 +166,8 @@ hint and are opened in floating mode by default. You can toggle floating mode for a window by pressing +$mod+Shift+Space+. By dragging the window’s titlebar with your mouse you can move the window around. By grabbing the borders and moving them you can resize the window. You -can also do that by using the <>. +can also do that by using the <>. Another way to resize +floating windows using the mouse is to right-click on the titlebar and drag. For resizing floating windows with your keyboard, see <>. From 6ae4ecb1deebf9f275e58010b8ead84f82f9f582 Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Fri, 7 Feb 2014 10:07:56 -0500 Subject: [PATCH 072/190] Bugfix: `tree_split` should not split floating cons Use the more robust test of `con_is_floating` for testing a container for being floating. fixes #1177 --- src/tree.c | 2 +- testcases/t/218-regress-floating-split.t | 35 ++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 testcases/t/218-regress-floating-split.t diff --git a/src/tree.c b/src/tree.c index 046d0b4c..48ab163d 100644 --- a/src/tree.c +++ b/src/tree.c @@ -387,7 +387,7 @@ void tree_close_con(kill_window_t kill_window) { * */ void tree_split(Con *con, orientation_t orientation) { - if (con->type == CT_FLOATING_CON) { + if (con_is_floating(con)) { DLOG("Floating containers can't be split.\n"); return; } diff --git a/testcases/t/218-regress-floating-split.t b/testcases/t/218-regress-floating-split.t new file mode 100644 index 00000000..d66adc14 --- /dev/null +++ b/testcases/t/218-regress-floating-split.t @@ -0,0 +1,35 @@ +#!perl +# vim:ts=4:sw=4:expandtab +# +# Please read the following documents before working on tests: +# • http://build.i3wm.org/docs/testsuite.html +# (or docs/testsuite) +# +# • http://build.i3wm.org/docs/lib-i3test.html +# (alternatively: perldoc ./testcases/lib/i3test.pm) +# +# • http://build.i3wm.org/docs/ipc.html +# (or docs/ipc) +# +# • http://onyxneon.com/books/modern_perl/modern_perl_a4.pdf +# (unless you are already familiar with Perl) +# +# Make sure floating containers really can't be split. +# Ticket: #1177 +# Bug still in: 4.7.2-81-g905440d +use i3test; + +my $ws = fresh_workspace; +my $window = open_floating_window; +cmd "layout stacked"; +cmd "splitv"; + +my $floating_con = get_ws($ws)->{floating_nodes}[0]->{nodes}[0]; + +is(@{$floating_con->{nodes}}, 0, 'floating con is still a leaf'); + +cmd 'floating disable'; + +does_i3_live; + +done_testing; From 22be7bc986f51e8dc798fcd5f6bb72e3ed87ba0c Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sat, 8 Feb 2014 21:03:26 +0100 Subject: [PATCH 073/190] fix warnings: unsigned check for >= 0 is always true --- src/xcursor.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/xcursor.c b/src/xcursor.c index dcbe2ad0..dbaf2e5b 100644 --- a/src/xcursor.c +++ b/src/xcursor.c @@ -61,11 +61,11 @@ void xcursor_set_root_cursor(int cursor_id) { } xcb_cursor_t xcursor_get_cursor(enum xcursor_cursor_t c) { - assert(c >= 0 && c < XCURSOR_CURSOR_MAX); + assert(c < XCURSOR_CURSOR_MAX); return cursors[c]; } int xcursor_get_xcb_cursor(enum xcursor_cursor_t c) { - assert(c >= 0 && c < XCURSOR_CURSOR_MAX); + assert(c < XCURSOR_CURSOR_MAX); return xcb_cursors[c]; } From 491274d8b3f0f683fb554d696f5c2bd205a0cfc9 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 9 Feb 2014 14:00:43 +0100 Subject: [PATCH 074/190] handle ButtonPress events with child != XCB_NONE (Thanks xeen) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The X11 protocol description states: The window the event is reported with respect to is called the event window. The event window is found by starting with the source window and looking up the hierarchy for the first window on which any client has selected interest in the event. For the case of urxvt with URxvt.internalBorder > 0, urxvt sets up a subwindow for its actual contents that is placed “in the middle” of the urxvt window. In terms of the X11 protocol, the source window is urxvt’s window, but urxvt does not select ButtonPress events for that. Therefore, X11 will go up in the hierarchy and deliver the event to i3 for i3’s window decoration, even though this was not actually a click on the decoration, but into the managed window. Therefore, we check whether child != XCB_NONE for clicks on window decorations and then handle them as a click inside the window. fixes #1176 --- src/click.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/click.c b/src/click.c index 33d5a4d7..22e70b9f 100644 --- a/src/click.c +++ b/src/click.c @@ -311,7 +311,9 @@ done: */ int handle_button_press(xcb_button_press_event_t *event) { Con *con; - DLOG("Button %d pressed on window 0x%08x\n", event->state, event->event); + DLOG("Button %d pressed on window 0x%08x (child 0x%08x) at (%d, %d) (root %d, %d)\n", + event->state, event->event, event->child, event->event_x, event->event_y, + event->root_x, event->root_y); last_timestamp = event->time; @@ -347,6 +349,11 @@ int handle_button_press(xcb_button_press_event_t *event) { return 0; } + if (event->child != XCB_NONE) { + DLOG("event->child not XCB_NONE, so this is an event which originated from a click into the application, but the application did not handle it.\n"); + return route_click(con, event, mod_pressed, CLICK_INSIDE); + } + /* Check if the click was on the decoration of a child */ Con *child; TAILQ_FOREACH(child, &(con->nodes_head), nodes) { From 62a4237ed0b620d6da84330309c94e7f8901f299 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Thu, 13 Feb 2014 21:05:42 +0100 Subject: [PATCH 075/190] t/130-close-empty-split: clean up old workspace MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This hopefully increases the reliability of the test. Empty containers created by “open” sometimes get spurious UnmapNotify events, and in at least one run, this test failed because of such an event. --- testcases/t/130-close-empty-split.t | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/testcases/t/130-close-empty-split.t b/testcases/t/130-close-empty-split.t index bcc83896..d1433088 100644 --- a/testcases/t/130-close-empty-split.t +++ b/testcases/t/130-close-empty-split.t @@ -53,6 +53,11 @@ cmd 'kill'; ($nodes, $focus) = get_ws_content($tmp); isnt($nodes->[0]->{id}, $split, 'split container closed'); +# clean up the remaining containers to ensure this workspace will be garbage +# collected. +cmd 'kill'; +cmd 'kill'; + ############################################################## # same thing but this time we are moving the cons away instead # of killing them From 759c26fc02be122dd1f72be3ea425c29a07de639 Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Wed, 12 Feb 2014 05:16:37 -0500 Subject: [PATCH 076/190] Improve drag_pointer error handling Log errors generated by failed pointer grabs and ungrab the pointer after failed keyboard grabs. --- src/floating.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/floating.c b/src/floating.c index 1c35c8d0..4180ba72 100644 --- a/src/floating.c +++ b/src/floating.c @@ -682,6 +682,8 @@ drag_result_t drag_pointer(Con *con, const xcb_button_press_event_t *event, xcb_ /* Grab the pointer */ xcb_grab_pointer_cookie_t cookie; xcb_grab_pointer_reply_t *reply; + xcb_generic_error_t *error; + cookie = xcb_grab_pointer(conn, false, /* get all pointer events specified by the following mask */ root, /* grab the root window */ @@ -692,8 +694,9 @@ drag_result_t drag_pointer(Con *con, const xcb_button_press_event_t *event, xcb_ xcursor, /* possibly display a special cursor */ XCB_CURRENT_TIME); - if ((reply = xcb_grab_pointer_reply(conn, cookie, NULL)) == NULL) { - ELOG("Could not grab pointer\n"); + if ((reply = xcb_grab_pointer_reply(conn, cookie, &error)) == NULL) { + ELOG("Could not grab pointer (error_code = %d)\n", error->error_code); + free(error); return DRAG_ABORT; } @@ -711,8 +714,10 @@ drag_result_t drag_pointer(Con *con, const xcb_button_press_event_t *event, xcb_ XCB_GRAB_MODE_ASYNC /* keyboard mode */ ); - if ((keyb_reply = xcb_grab_keyboard_reply(conn, keyb_cookie, NULL)) == NULL) { - ELOG("Could not grab keyboard\n"); + if ((keyb_reply = xcb_grab_keyboard_reply(conn, keyb_cookie, &error)) == NULL) { + ELOG("Could not grab keyboard (error_code = %d)\n", error->error_code); + free(error); + xcb_ungrab_pointer(conn, XCB_CURRENT_TIME); return DRAG_ABORT; } From 00909aa3b15857aba6894a9a244ece32094ca988 Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Thu, 13 Feb 2014 20:17:18 -0500 Subject: [PATCH 077/190] i3bar: Do not kill watcher on EOF Wait for the child process to exit on its own before freeing watcher-related resources. i3bar shows the last received status line until the process exits. Fixes a race condition where the termination signal was sometimes not received to display a meaningful error message. --- i3bar/src/child.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/i3bar/src/child.c b/i3bar/src/child.c index d19192f2..cfdf911c 100644 --- a/i3bar/src/child.c +++ b/i3bar/src/child.c @@ -266,6 +266,8 @@ static int stdin_end_array(void *context) { /* * Helper function to read stdin * + * Returns NULL on EOF. + * */ static unsigned char *get_buffer(ev_io *watcher, int *ret_buffer_len) { int fd = watcher->fd; @@ -285,9 +287,7 @@ static unsigned char *get_buffer(ev_io *watcher, int *ret_buffer_len) { exit(EXIT_FAILURE); } if (n == 0) { - /* end of file, kill the watcher */ ELOG("stdin: received EOF\n"); - cleanup(); *ret_buffer_len = -1; return NULL; } From 48ec79ca02e92886b6bde6770e80d0527d3c8042 Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Fri, 14 Feb 2014 18:38:01 -0500 Subject: [PATCH 078/190] Move grab_all_keys to bindings.[ch] Also add checks for binding input_type to filter bindings that are not keyboard bindings. --- include/bindings.h | 6 ++++++ include/config.h | 6 ------ src/bindings.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++ src/config.c | 43 ----------------------------------------- 4 files changed, 54 insertions(+), 49 deletions(-) diff --git a/include/bindings.h b/include/bindings.h index 49711a9f..3e7f34b5 100644 --- a/include/bindings.h +++ b/include/bindings.h @@ -23,3 +23,9 @@ const char *DEFAULT_BINDING_MODE; */ Binding *configure_binding(const char *bindtype, const char *modifiers, const char *input_code, const char *release, const char *command, const char *mode); + +/** + * Grab the bound keys (tell X to send us keypress events for those keycodes) + * + */ +void grab_all_keys(xcb_connection_t *conn, bool bind_mode_switch); diff --git a/include/config.h b/include/config.h index b6259993..65eecd8a 100644 --- a/include/config.h +++ b/include/config.h @@ -321,12 +321,6 @@ void translate_keysyms(void); */ void ungrab_all_keys(xcb_connection_t *conn); -/** - * Grab the bound keys (tell X to send us keypress events for those keycodes) - * - */ -void grab_all_keys(xcb_connection_t *conn, bool bind_mode_switch); - /** * Switches the key bindings to the given mode, if the mode exists * diff --git a/src/bindings.c b/src/bindings.c index 511e8996..c88a6773 100644 --- a/src/bindings.c +++ b/src/bindings.c @@ -69,3 +69,51 @@ Binding *configure_binding(const char *bindtype, const char *modifiers, const ch return new_binding; } + +static void grab_keycode_for_binding(xcb_connection_t *conn, Binding *bind, uint32_t keycode) { + if (bind->input_type != B_KEYBOARD) + return; + + DLOG("Grabbing %d with modifiers %d (with mod_mask_lock %d)\n", keycode, bind->mods, bind->mods | XCB_MOD_MASK_LOCK); + /* Grab the key in all combinations */ + #define GRAB_KEY(modifier) \ + do { \ + xcb_grab_key(conn, 0, root, modifier, keycode, \ + XCB_GRAB_MODE_SYNC, XCB_GRAB_MODE_ASYNC); \ + } while (0) + int mods = bind->mods; + if ((bind->mods & BIND_MODE_SWITCH) != 0) { + mods &= ~BIND_MODE_SWITCH; + if (mods == 0) + mods = XCB_MOD_MASK_ANY; + } + GRAB_KEY(mods); + GRAB_KEY(mods | xcb_numlock_mask); + GRAB_KEY(mods | XCB_MOD_MASK_LOCK); + GRAB_KEY(mods | xcb_numlock_mask | XCB_MOD_MASK_LOCK); +} + + +/* + * Grab the bound keys (tell X to send us keypress events for those keycodes) + * + */ +void grab_all_keys(xcb_connection_t *conn, bool bind_mode_switch) { + Binding *bind; + TAILQ_FOREACH(bind, bindings, bindings) { + if (bind->input_type != B_KEYBOARD || + (bind_mode_switch && (bind->mods & BIND_MODE_SWITCH) == 0) || + (!bind_mode_switch && (bind->mods & BIND_MODE_SWITCH) != 0)) + continue; + + /* The easy case: the user specified a keycode directly. */ + if (bind->keycode > 0) { + grab_keycode_for_binding(conn, bind, bind->keycode); + continue; + } + + xcb_keycode_t *walk = bind->translated_to; + for (uint32_t i = 0; i < bind->number_keycodes; i++) + grab_keycode_for_binding(conn, bind, *walk++); + } +} diff --git a/src/config.c b/src/config.c index 4ce45ad6..e8596c73 100644 --- a/src/config.c +++ b/src/config.c @@ -30,26 +30,6 @@ void ungrab_all_keys(xcb_connection_t *conn) { xcb_ungrab_key(conn, XCB_GRAB_ANY, root, XCB_BUTTON_MASK_ANY); } -static void grab_keycode_for_binding(xcb_connection_t *conn, Binding *bind, uint32_t keycode) { - DLOG("Grabbing %d with modifiers %d (with mod_mask_lock %d)\n", keycode, bind->mods, bind->mods | XCB_MOD_MASK_LOCK); - /* Grab the key in all combinations */ - #define GRAB_KEY(modifier) \ - do { \ - xcb_grab_key(conn, 0, root, modifier, keycode, \ - XCB_GRAB_MODE_SYNC, XCB_GRAB_MODE_ASYNC); \ - } while (0) - int mods = bind->mods; - if ((bind->mods & BIND_MODE_SWITCH) != 0) { - mods &= ~BIND_MODE_SWITCH; - if (mods == 0) - mods = XCB_MOD_MASK_ANY; - } - GRAB_KEY(mods); - GRAB_KEY(mods | xcb_numlock_mask); - GRAB_KEY(mods | XCB_MOD_MASK_LOCK); - GRAB_KEY(mods | xcb_numlock_mask | XCB_MOD_MASK_LOCK); -} - /* * Returns a pointer to the Binding with the specified modifiers and keycode * or NULL if no such binding exists. @@ -157,29 +137,6 @@ void translate_keysyms(void) { } } -/* - * Grab the bound keys (tell X to send us keypress events for those keycodes) - * - */ -void grab_all_keys(xcb_connection_t *conn, bool bind_mode_switch) { - Binding *bind; - TAILQ_FOREACH(bind, bindings, bindings) { - if ((bind_mode_switch && (bind->mods & BIND_MODE_SWITCH) == 0) || - (!bind_mode_switch && (bind->mods & BIND_MODE_SWITCH) != 0)) - continue; - - /* The easy case: the user specified a keycode directly. */ - if (bind->keycode > 0) { - grab_keycode_for_binding(conn, bind, bind->keycode); - continue; - } - - xcb_keycode_t *walk = bind->translated_to; - for (uint32_t i = 0; i < bind->number_keycodes; i++) - grab_keycode_for_binding(conn, bind, *walk++); - } -} - /* * Switches the key bindings to the given mode, if the mode exists * From cdbf62d0555c63cb471253b30071d9d4d18adf77 Mon Sep 17 00:00:00 2001 From: Alexander Berntsen Date: Sat, 15 Feb 2014 13:00:14 +0100 Subject: [PATCH 079/190] man/i3.man: Update font doc to reflect i3.config --- man/i3.man | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/man/i3.man b/man/i3.man index 4358463b..de8b60cf 100644 --- a/man/i3.man +++ b/man/i3.man @@ -175,7 +175,8 @@ You can specify a custom path using the -c option. ------------------------------------------------------------- # i3 config file (v4) -# font for window titles. ISO 10646 = Unicode +# font for window titles. also used by the bar (unless a different font is +# used in the bar {} block. ISO 10646 = Unicode font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 # use Mouse+Mod1 to drag floating windows to their wanted position From 07d583d7806dc87c92796fcc1c3cf0b887dd925b Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Tue, 25 Feb 2014 20:44:17 +0100 Subject: [PATCH 080/190] tests: sync_with_i3 before warping pointer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit To be honest, I’m not entirely sure where the race condition originates from, but when making sure that there are no pending events (which is what sync_with_i3 accomplishes) before warping the pointer, we have less flaky testsuite runs. closes #1189 --- testcases/t/132-move-workspace.t | 1 + testcases/t/156-fullscreen-focus.t | 2 ++ testcases/t/502-focus-output.t | 1 + testcases/t/503-workspace.t | 1 + testcases/t/505-scratchpad-resolution.t | 2 ++ testcases/t/506-focus-right.t | 2 ++ testcases/t/510-focus-across-outputs.t | 3 +++ 7 files changed, 12 insertions(+) diff --git a/testcases/t/132-move-workspace.t b/testcases/t/132-move-workspace.t index 6367488a..1e0a3478 100644 --- a/testcases/t/132-move-workspace.t +++ b/testcases/t/132-move-workspace.t @@ -22,6 +22,7 @@ my $i3 = i3(get_socket_path()); # We move the pointer out of our way to avoid a bug where the focus will # be set to the window under the cursor +sync_with_i3; $x->root->warp_pointer(0, 0); sync_with_i3; diff --git a/testcases/t/156-fullscreen-focus.t b/testcases/t/156-fullscreen-focus.t index 170c641d..b337de9a 100644 --- a/testcases/t/156-fullscreen-focus.t +++ b/testcases/t/156-fullscreen-focus.t @@ -126,6 +126,7 @@ is($nodes->[0]->{focused}, 1, 'fullscreen window focused'); cmd 'fullscreen'; # Focus screen 1 +sync_with_i3; $x->root->warp_pointer(1025, 0); sync_with_i3; @@ -134,6 +135,7 @@ cmd "workspace $tmp"; my $diff_ws = open_window; # Focus screen 0 +sync_with_i3; $x->root->warp_pointer(0, 0); sync_with_i3; diff --git a/testcases/t/502-focus-output.t b/testcases/t/502-focus-output.t index 8c1c36c5..cf297f0e 100644 --- a/testcases/t/502-focus-output.t +++ b/testcases/t/502-focus-output.t @@ -41,6 +41,7 @@ sub focused_output { return $output->{name}; } +sync_with_i3; $x->root->warp_pointer(0, 0); sync_with_i3; diff --git a/testcases/t/503-workspace.t b/testcases/t/503-workspace.t index c79643e3..7fe7f15b 100644 --- a/testcases/t/503-workspace.t +++ b/testcases/t/503-workspace.t @@ -31,6 +31,7 @@ my $pid = launch_with_config($config); # Setup workspaces so that they stay open (with an empty container). ################################################################################ +sync_with_i3; $x->root->warp_pointer(0, 0); sync_with_i3; diff --git a/testcases/t/505-scratchpad-resolution.t b/testcases/t/505-scratchpad-resolution.t index de13a544..2235e802 100644 --- a/testcases/t/505-scratchpad-resolution.t +++ b/testcases/t/505-scratchpad-resolution.t @@ -29,6 +29,7 @@ my $pid = launch_with_config($config); my $i3 = i3(get_socket_path()); +sync_with_i3; $x->root->warp_pointer(0, 0); sync_with_i3; @@ -76,6 +77,7 @@ verify_scratchpad_doesnt_move($second); # now on the right output (1024x768) ################################################################################ +sync_with_i3; $x->root->warp_pointer(683 + 10, 0); sync_with_i3; diff --git a/testcases/t/506-focus-right.t b/testcases/t/506-focus-right.t index 3f58b00c..aa0b9c9a 100644 --- a/testcases/t/506-focus-right.t +++ b/testcases/t/506-focus-right.t @@ -28,6 +28,7 @@ sub test_focus_left_right { my $i3 = i3(get_socket_path(0)); + sync_with_i3; $x->root->warp_pointer(0, 0); sync_with_i3; @@ -140,6 +141,7 @@ my $pid = launch_with_config($config); my $i3 = i3(get_socket_path(0)); +sync_with_i3; $x->root->warp_pointer(0, 0); sync_with_i3; diff --git a/testcases/t/510-focus-across-outputs.t b/testcases/t/510-focus-across-outputs.t index 2c6fd396..afa0ddef 100644 --- a/testcases/t/510-focus-across-outputs.t +++ b/testcases/t/510-focus-across-outputs.t @@ -38,6 +38,7 @@ my $third = open_window; cmd 'floating toggle'; # Focus screen 1 +sync_with_i3; $x->root->warp_pointer(1025, 0); sync_with_i3; my $s1_ws = fresh_workspace; @@ -45,6 +46,7 @@ my $s1_ws = fresh_workspace; my $fourth = open_window; # Focus screen 2 +sync_with_i3; $x->root->warp_pointer(0, 769); sync_with_i3; my $s2_ws = fresh_workspace; @@ -52,6 +54,7 @@ my $s2_ws = fresh_workspace; my $fifth = open_window; # Focus screen 3 +sync_with_i3; $x->root->warp_pointer(1025, 769); sync_with_i3; my $s3_ws = fresh_workspace; From 00ee86de79800d80cacc014b53b47585eacdb90b Mon Sep 17 00:00:00 2001 From: Marco Hunsicker Date: Sat, 22 Feb 2014 11:52:01 +0100 Subject: [PATCH 081/190] Send IPC window events for focus and title changes This patch fixes ticket #1168 to extend the window IPC event mechanism to send IPC events for window focus and title changes. The newly added window events use the same format as the already established "new" event. Specifically this patch: * Moves the ipc_send_window_event() function from src/manage.c into src/ipc.c and adds an argument for the change property of the event * Updates src/manage.c to use the new function signature. To ensure that the "new" event does not send the same event data as the "focus" event, setting focus now happens after the "new" event has been sent * Adds IPC focus event notification to src/x.c. To workaround a problem during window close when accessing the window name, a function has been added to query whether a window is actually attached to its parent. To avoid obsolete focus notification, a new field has been added to keep track of the focus without any interference by the click handling * Adds IPC title event notification to src/handlers.c. To avoid obsolete title notification, a function has been added to determine whether a window title has actually changed * Updates the IPC documentation to include the new events * Updates testcases/t/205-ipc-windows.t to include the "focus" event in order to ensure the correct event sequence * Adds two new unit tests, b/testcases/t/219-ipc-window-focus.t and b/testcases/t/220-ipc-window-title.t to ensure proper "focus" and "title" events --- docs/ipc | 17 +++--- include/ipc.h | 6 ++ src/handlers.c | 25 ++++++++ src/ipc.c | 29 +++++++++ src/manage.c | 44 ++++---------- src/x.c | 33 ++++++++++- testcases/t/205-ipc-windows.t | 18 +++++- testcases/t/219-ipc-window-focus.t | 94 ++++++++++++++++++++++++++++++ testcases/t/220-ipc-window-title.t | 57 ++++++++++++++++++ 9 files changed, 278 insertions(+), 45 deletions(-) create mode 100644 testcases/t/219-ipc-window-focus.t create mode 100644 testcases/t/220-ipc-window-title.t diff --git a/docs/ipc b/docs/ipc index 8d4d735e..7b05544b 100644 --- a/docs/ipc +++ b/docs/ipc @@ -1,7 +1,7 @@ IPC interface (interprocess communication) ========================================== Michael Stapelberg -October 2012 +February 2014 This document describes how to interface with i3 from a separate process. This is useful for example to remote-control i3 (to write test cases for example) or @@ -632,7 +632,8 @@ mode (2):: Sent whenever i3 changes its binding mode. window (3):: Sent when a client's window is successfully reparented (that is when i3 - has finished fitting it into a container). + has finished fitting it into a container), when a window received input + focus or when a window title has been updated. barconfig_update (4):: Sent when the hidden_state or mode field in the barconfig of any bar instance was updated. @@ -712,14 +713,14 @@ mode is simply named default. === window event This event consists of a single serialized map containing a property -+change (string)+ which currently can indicate only that a new window -has been successfully reparented (the value will be "new"). ++change (string)+ which indicates the type of the change ("focus", "new", +"title"). Additionally a +container (object)+ field will be present, which consists -of the window's parent container. Be aware that the container will hold -the initial name of the newly reparented window (e.g. if you run urxvt -with a shell that changes the title, you will still at this point get the -window title as "urxvt"). +of the window's parent container. Be aware that for the "new" event, the +container will hold the initial name of the newly reparented window (e.g. +if you run urxvt with a shell that changes the title, you will still at +this point get the window title as "urxvt"). *Example:* --------------------------- diff --git a/include/ipc.h b/include/ipc.h index cbbec8e4..2c25b4e9 100644 --- a/include/ipc.h +++ b/include/ipc.h @@ -87,3 +87,9 @@ void dump_node(yajl_gen gen, Con *con, bool inplace_restart); * respectively. */ void ipc_send_workspace_focus_event(Con *current, Con *old); + +/** + * For the window events we send, along the usual "change" field, + * also the window container, in "container". + */ +void ipc_send_window_event(const char *property, Con *con); diff --git a/src/handlers.c b/src/handlers.c index 312372a7..8c3bb486 100644 --- a/src/handlers.c +++ b/src/handlers.c @@ -528,6 +528,17 @@ static void handle_destroy_notify_event(xcb_destroy_notify_event_t *event) { handle_unmap_notify_event(&unmap); } +static bool window_name_changed(i3Window *window, char *old_name) { + if ((old_name == NULL) && (window->name == NULL)) + return false; + + /* Either the old or the new one is NULL, but not both. */ + if ((old_name == NULL) ^ (window->name == NULL)) + return true; + + return (strcmp(old_name, i3string_as_utf8(window->name)) != 0); +} + /* * Called when a window changes its title * @@ -538,10 +549,17 @@ static bool handle_windowname_change(void *data, xcb_connection_t *conn, uint8_t if ((con = con_by_window_id(window)) == NULL || con->window == NULL) return false; + char *old_name = (con->window->name != NULL ? sstrdup(i3string_as_utf8(con->window->name)) : NULL); + window_update_name(con->window, prop, false); x_push_changes(croot); + if (window_name_changed(con->window, old_name)) + ipc_send_window_event("title", con); + + FREE(old_name); + return true; } @@ -556,10 +574,17 @@ static bool handle_windowname_change_legacy(void *data, xcb_connection_t *conn, if ((con = con_by_window_id(window)) == NULL || con->window == NULL) return false; + char *old_name = (con->window->name != NULL ? sstrdup(i3string_as_utf8(con->window->name)) : NULL); + window_update_name_legacy(con->window, prop, false); x_push_changes(croot); + if (window_name_changed(con->window, old_name)) + ipc_send_window_event("title", con); + + FREE(old_name); + return true; } diff --git a/src/ipc.c b/src/ipc.c index f1e90190..74df77f2 100644 --- a/src/ipc.c +++ b/src/ipc.c @@ -1056,3 +1056,32 @@ void ipc_send_workspace_focus_event(Con *current, Con *old) { y(free); setlocale(LC_NUMERIC, ""); } + +/** + * For the window events we send, along the usual "change" field, + * also the window container, in "container". + */ +void ipc_send_window_event(const char *property, Con *con) { + DLOG("Issue IPC window %s event for X11 window 0x%08x\n", property, con->window->id); + + setlocale(LC_NUMERIC, "C"); + yajl_gen gen = ygenalloc(); + + y(map_open); + + ystr("change"); + ystr(property); + + ystr("container"); + dump_node(gen, con, false); + + y(map_close); + + const unsigned char *payload; + ylength length; + y(get_buf, &payload, &length); + + ipc_send_event("window", I3_IPC_EVENT_WINDOW, (const char *)payload); + y(free); + setlocale(LC_NUMERIC, ""); +} diff --git a/src/manage.c b/src/manage.c index d84ba1b2..ae14fe67 100644 --- a/src/manage.c +++ b/src/manage.c @@ -75,35 +75,6 @@ void restore_geometry(void) { xcb_aux_sync(conn); } -/* - * The following function sends a new window event, which consists - * of fields "change" and "container", the latter containing a dump - * of the window's container. - * - */ -static void ipc_send_window_new_event(Con *con) { - setlocale(LC_NUMERIC, "C"); - yajl_gen gen = ygenalloc(); - - y(map_open); - - ystr("change"); - ystr("new"); - - ystr("container"); - dump_node(gen, con, false); - - y(map_close); - - const unsigned char *payload; - ylength length; - y(get_buf, &payload, &length); - - ipc_send_event("window", I3_IPC_EVENT_WINDOW, (const char *)payload); - y(free); - setlocale(LC_NUMERIC, ""); -} - /* * Do some sanity checks and then reparent the window. * @@ -360,6 +331,8 @@ void manage_window(xcb_window_t window, xcb_get_window_attributes_cookie_t cooki FREE(state_reply); + bool set_focus = false; + if (fs == NULL) { DLOG("Not in fullscreen mode, focusing\n"); if (!cwindow->dock) { @@ -371,7 +344,7 @@ void manage_window(xcb_window_t window, xcb_get_window_attributes_cookie_t cooki if (workspace_is_visible(ws) && current_output == target_output) { if (!match || !match->restart_mode) { - con_focus(nc); + set_focus = true; } else DLOG("not focusing, matched with restart_mode == true\n"); } else DLOG("workspace not visible, not focusing\n"); } else DLOG("dock, not focusing\n"); @@ -421,7 +394,7 @@ void manage_window(xcb_window_t window, xcb_get_window_attributes_cookie_t cooki transient_win->transient_for != XCB_NONE) { if (transient_win->transient_for == fs->window->id) { LOG("This floating window belongs to the fullscreen window (popup_during_fullscreen == smart)\n"); - con_focus(nc); + set_focus = true; break; } Con *next_transient = con_by_window_id(transient_win->transient_for); @@ -500,7 +473,14 @@ void manage_window(xcb_window_t window, xcb_get_window_attributes_cookie_t cooki tree_render(); /* Send an event about window creation */ - ipc_send_window_new_event(nc); + ipc_send_window_event("new", nc); + + /* Defer setting focus after the 'new' event has been sent to ensure the + * proper window event sequence. */ + if (set_focus) { + con_focus(nc); + tree_render(); + } /* Windows might get managed with the urgency hint already set (Pidgin is * known to do that), so check for that and handle the hint accordingly. diff --git a/src/x.c b/src/x.c index b3af85aa..cd36a283 100644 --- a/src/x.c +++ b/src/x.c @@ -15,6 +15,11 @@ /* Stores the X11 window ID of the currently focused window */ xcb_window_t focused_id = XCB_NONE; +/* Because 'focused_id' might be reset to force input focus (after click to + * raise), we separately keep track of the X11 window ID to be able to always + * tell whether the focused window actually changed. */ +static xcb_window_t last_focused = XCB_NONE; + /* The bottom-to-top window stack of all windows which are managed by i3. * Used for x_get_window_stack(). */ static xcb_window_t *btt_stack; @@ -232,7 +237,7 @@ void x_con_kill(Con *con) { free(state); /* Invalidate focused_id to correctly focus new windows with the same ID */ - focused_id = XCB_NONE; + focused_id = last_focused = XCB_NONE; } /* @@ -848,6 +853,24 @@ static void x_push_node_unmaps(Con *con) { x_push_node_unmaps(current); } +/* + * Returns true if the given container is currently attached to its parent. + * + * TODO: Remove once #1185 has been fixed + */ +static bool is_con_attached(Con *con) { + if (con->parent == NULL) + return false; + + Con *current; + TAILQ_FOREACH(current, &(con->parent->nodes_head), nodes) { + if (current == con) + return true; + } + + return false; +} + /* * Pushes all changes (state of each node, see x_push_node() and the window * stack) to X11. @@ -972,6 +995,9 @@ void x_push_changes(Con *con) { send_take_focus(to_focus); set_focus = !focused->window->doesnt_accept_focus; DLOG("set_focus = %d\n", set_focus); + + if (!set_focus && to_focus != last_focused && is_con_attached(focused)) + ipc_send_window_event("focus", focused); } if (set_focus) { @@ -990,9 +1016,12 @@ void x_push_changes(Con *con) { } ewmh_update_active_window(to_focus); + + if (to_focus != XCB_NONE && to_focus != last_focused && focused->window != NULL && is_con_attached(focused)) + ipc_send_window_event("focus", focused); } - focused_id = to_focus; + focused_id = last_focused = to_focus; } } diff --git a/testcases/t/205-ipc-windows.t b/testcases/t/205-ipc-windows.t index aa679e20..22c11ce2 100644 --- a/testcases/t/205-ipc-windows.t +++ b/testcases/t/205-ipc-windows.t @@ -30,19 +30,31 @@ $i3->connect()->recv; # Events my $new = AnyEvent->condvar; +my $focus = AnyEvent->condvar; $i3->subscribe({ window => sub { my ($event) = @_; - $new->send($event->{change} eq 'new'); + if ($event->{change} eq 'new') { + $new->send($event); + } elsif ($event->{change} eq 'focus') { + $focus->send($event); + } } })->recv; open_window; my $t; -$t = AnyEvent->timer(after => 0.5, cb => sub { $new->send(0); }); +$t = AnyEvent->timer( + after => 0.5, + cb => sub { + $new->send(0); + $focus->send(0); + } +); -ok($new->recv, 'Window "new" event received'); +is($new->recv->{container}->{focused}, 0, 'Window "new" event received'); +is($focus->recv->{container}->{focused}, 1, 'Window "focus" event received'); } diff --git a/testcases/t/219-ipc-window-focus.t b/testcases/t/219-ipc-window-focus.t new file mode 100644 index 00000000..4bacd869 --- /dev/null +++ b/testcases/t/219-ipc-window-focus.t @@ -0,0 +1,94 @@ +#!perl +# vim:ts=4:sw=4:expandtab +# +# Please read the following documents before working on tests: +# • http://build.i3wm.org/docs/testsuite.html +# (or docs/testsuite) +# +# • http://build.i3wm.org/docs/lib-i3test.html +# (alternatively: perldoc ./testcases/lib/i3test.pm) +# +# • http://build.i3wm.org/docs/ipc.html +# (or docs/ipc) +# +# • http://onyxneon.com/books/modern_perl/modern_perl_a4.pdf +# (unless you are already familiar with Perl) + +use i3test; + +SKIP: { + + skip "AnyEvent::I3 too old (need >= 0.15)", 1 if $AnyEvent::I3::VERSION < 0.15; + +my $i3 = i3(get_socket_path()); +$i3->connect()->recv; + +################################ +# Window focus event +################################ + +cmd 'split h'; + +my $win0 = open_window; +my $win1 = open_window; +my $win2 = open_window; + +my $focus = AnyEvent->condvar; + +$i3->subscribe({ + window => sub { + my ($event) = @_; + $focus->send($event); + } +})->recv; + +my $t; +$t = AnyEvent->timer( + after => 0.5, + cb => sub { + $focus->send(0); + } +); + +# ensure the rightmost window contains input focus +$i3->command('[id="' . $win2->id . '"] focus')->recv; +is($x->input_focus, $win2->id, "Window 2 focused"); + +cmd 'focus left'; +my $event = $focus->recv; +is($event->{change}, 'focus', 'Focus event received'); +is($focus->recv->{container}->{name}, 'Window 1', 'Window 1 focused'); + +$focus = AnyEvent->condvar; +cmd 'focus left'; +$event = $focus->recv; +is($event->{change}, 'focus', 'Focus event received'); +is($event->{container}->{name}, 'Window 0', 'Window 0 focused'); + +$focus = AnyEvent->condvar; +cmd 'focus right'; +$event = $focus->recv; +is($event->{change}, 'focus', 'Focus event received'); +is($event->{container}->{name}, 'Window 1', 'Window 1 focused'); + +$focus = AnyEvent->condvar; +cmd 'focus right'; +$event = $focus->recv; +is($event->{change}, 'focus', 'Focus event received'); +is($event->{container}->{name}, 'Window 2', 'Window 2 focused'); + +$focus = AnyEvent->condvar; +cmd 'focus right'; +$event = $focus->recv; +is($event->{change}, 'focus', 'Focus event received'); +is($event->{container}->{name}, 'Window 0', 'Window 0 focused'); + +$focus = AnyEvent->condvar; +cmd 'focus left'; +$event = $focus->recv; +is($event->{change}, 'focus', 'Focus event received'); +is($event->{container}->{name}, 'Window 2', 'Window 2 focused'); + +} + +done_testing; diff --git a/testcases/t/220-ipc-window-title.t b/testcases/t/220-ipc-window-title.t new file mode 100644 index 00000000..4c93ab58 --- /dev/null +++ b/testcases/t/220-ipc-window-title.t @@ -0,0 +1,57 @@ +#!perl +# vim:ts=4:sw=4:expandtab +# +# Please read the following documents before working on tests: +# • http://build.i3wm.org/docs/testsuite.html +# (or docs/testsuite) +# +# • http://build.i3wm.org/docs/lib-i3test.html +# (alternatively: perldoc ./testcases/lib/i3test.pm) +# +# • http://build.i3wm.org/docs/ipc.html +# (or docs/ipc) +# +# • http://onyxneon.com/books/modern_perl/modern_perl_a4.pdf +# (unless you are already familiar with Perl) + +use i3test; + +SKIP: { + + skip "AnyEvent::I3 too old (need >= 0.15)", 1 if $AnyEvent::I3::VERSION < 0.15; + +my $i3 = i3(get_socket_path()); +$i3->connect()->recv; + +################################ +# Window title event +################################ + +my $window = open_window(name => 'Window 0'); + +my $title = AnyEvent->condvar; + +$i3->subscribe({ + window => sub { + my ($event) = @_; + $title->send($event); + } +})->recv; + +$window->name('New Window Title'); + +my $t; +$t = AnyEvent->timer( + after => 0.5, + cb => sub { + $title->send(0); + } +); + +my $event = $title->recv; +is($event->{change}, 'title', 'Window title change event received'); +is($event->{container}->{name}, 'New Window Title', 'Window title changed'); + +} + +done_testing; From 0f6c411f0649d69d2a9afa6ee5e824ce0c7af746 Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Sun, 23 Feb 2014 04:36:39 -0500 Subject: [PATCH 082/190] Fix current_workspace outputs reply member docs The current_workspace member of an ipc OUTPUTS reply is the name of the workspace as a string. --- docs/ipc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/ipc b/docs/ipc index 7b05544b..e548c074 100644 --- a/docs/ipc +++ b/docs/ipc @@ -227,9 +227,9 @@ name (string):: The name of this output (as seen in +xrandr(1)+). Encoded in UTF-8. active (boolean):: Whether this output is currently active (has a valid mode). -current_workspace (integer):: - The current workspace which is visible on this output. +null+ if the - output is not active. +current_workspace (string):: + The name of the current workspace that is visible on this output. +null+ if + the output is not active. rect (map):: The rectangle of this output (equals the rect of the output it is on), consists of x, y, width, height. @@ -240,7 +240,7 @@ rect (map):: { "name": "LVDS1", "active": true, - "current_workspace": 4, + "current_workspace": "4", "rect": { "x": 0, "y": 0, @@ -251,7 +251,7 @@ rect (map):: { "name": "VGA1", "active": true, - "current_workspace": 1, + "current_workspace": "1", "rect": { "x": 1280, "y": 0, From 3d6d0c134c0980e693d087a74a3b8de609776d4f Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Fri, 21 Feb 2014 19:10:21 -0500 Subject: [PATCH 083/190] Move keyboard binding accessor to bindings.[ch] Rename `get_binding` to `get_keyboard_binding` and ensure that this function only accesses bindings of type B_KEYBOARD. Other types of bindings (e.g. mouse bindings) will be accessed by a different function. --- include/bindings.h | 7 ++++++ include/config.h | 7 ------ src/bindings.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++ src/config.c | 58 ------------------------------------------- src/key_press.c | 4 +-- 5 files changed, 71 insertions(+), 67 deletions(-) diff --git a/include/bindings.h b/include/bindings.h index 3e7f34b5..bae31132 100644 --- a/include/bindings.h +++ b/include/bindings.h @@ -29,3 +29,10 @@ Binding *configure_binding(const char *bindtype, const char *modifiers, const ch * */ void grab_all_keys(xcb_connection_t *conn, bool bind_mode_switch); + +/** + * Returns a pointer to the keyboard Binding with the specified modifiers and + * keycode or NULL if no such binding exists. + * + */ +Binding *get_keyboard_binding(uint16_t modifiers, bool key_release, xcb_keycode_t keycode); diff --git a/include/config.h b/include/config.h index 65eecd8a..f307874d 100644 --- a/include/config.h +++ b/include/config.h @@ -333,13 +333,6 @@ void switch_mode(const char *new_mode); * */void update_barconfig(); -/** - * Returns a pointer to the Binding with the specified modifiers and keycode - * or NULL if no such binding exists. - * - */ -Binding *get_binding(uint16_t modifiers, bool key_release, xcb_keycode_t keycode); - /** * Kills the configerror i3-nagbar process, if any. * diff --git a/src/bindings.c b/src/bindings.c index c88a6773..9dd24ffa 100644 --- a/src/bindings.c +++ b/src/bindings.c @@ -117,3 +117,65 @@ void grab_all_keys(xcb_connection_t *conn, bool bind_mode_switch) { grab_keycode_for_binding(conn, bind, *walk++); } } + +/* + * Returns a pointer to the keyboard Binding with the specified modifiers and + * keycode or NULL if no such binding exists. + * + */ +Binding *get_keyboard_binding(uint16_t modifiers, bool key_release, xcb_keycode_t keycode) { + Binding *bind; + + if (!key_release) { + /* On a KeyPress event, we first reset all + * B_UPON_KEYRELEASE_IGNORE_MODS bindings back to B_UPON_KEYRELEASE */ + TAILQ_FOREACH(bind, bindings, bindings) { + if (bind->input_type != B_KEYBOARD) + continue; + if (bind->release == B_UPON_KEYRELEASE_IGNORE_MODS) + bind->release = B_UPON_KEYRELEASE; + } + } + + TAILQ_FOREACH(bind, bindings, bindings) { + /* First compare the modifiers (unless this is a + * B_UPON_KEYRELEASE_IGNORE_MODS binding and this is a KeyRelease + * event) */ + if (bind->input_type != B_KEYBOARD) + continue; + if (bind->mods != modifiers && + (bind->release != B_UPON_KEYRELEASE_IGNORE_MODS || + !key_release)) + continue; + + /* If a symbol was specified by the user, we need to look in + * the array of translated keycodes for the event’s keycode */ + if (bind->symbol != NULL) { + if (memmem(bind->translated_to, + bind->number_keycodes * sizeof(xcb_keycode_t), + &keycode, sizeof(xcb_keycode_t)) == NULL) + continue; + } else { + /* This case is easier: The user specified a keycode */ + if (bind->keycode != keycode) + continue; + } + + /* If this keybinding is a KeyRelease binding, it matches the key which + * the user pressed. We therefore mark it as + * B_UPON_KEYRELEASE_IGNORE_MODS for later, so that the user can + * release the modifiers before the actual key and the KeyRelease will + * still be matched. */ + if (bind->release == B_UPON_KEYRELEASE && !key_release) + bind->release = B_UPON_KEYRELEASE_IGNORE_MODS; + + /* Check if the binding is for a KeyPress or a KeyRelease event */ + if ((bind->release == B_UPON_KEYPRESS && key_release) || + (bind->release >= B_UPON_KEYRELEASE && !key_release)) + continue; + + break; + } + + return (bind == TAILQ_END(bindings) ? NULL : bind); +} diff --git a/src/config.c b/src/config.c index e8596c73..fb1f4984 100644 --- a/src/config.c +++ b/src/config.c @@ -30,64 +30,6 @@ void ungrab_all_keys(xcb_connection_t *conn) { xcb_ungrab_key(conn, XCB_GRAB_ANY, root, XCB_BUTTON_MASK_ANY); } -/* - * Returns a pointer to the Binding with the specified modifiers and keycode - * or NULL if no such binding exists. - * - */ -Binding *get_binding(uint16_t modifiers, bool key_release, xcb_keycode_t keycode) { - Binding *bind; - - if (!key_release) { - /* On a KeyPress event, we first reset all - * B_UPON_KEYRELEASE_IGNORE_MODS bindings back to B_UPON_KEYRELEASE */ - TAILQ_FOREACH(bind, bindings, bindings) { - if (bind->release == B_UPON_KEYRELEASE_IGNORE_MODS) - bind->release = B_UPON_KEYRELEASE; - } - } - - TAILQ_FOREACH(bind, bindings, bindings) { - /* First compare the modifiers (unless this is a - * B_UPON_KEYRELEASE_IGNORE_MODS binding and this is a KeyRelease - * event) */ - if (bind->mods != modifiers && - (bind->release != B_UPON_KEYRELEASE_IGNORE_MODS || - !key_release)) - continue; - - /* If a symbol was specified by the user, we need to look in - * the array of translated keycodes for the event’s keycode */ - if (bind->symbol != NULL) { - if (memmem(bind->translated_to, - bind->number_keycodes * sizeof(xcb_keycode_t), - &keycode, sizeof(xcb_keycode_t)) == NULL) - continue; - } else { - /* This case is easier: The user specified a keycode */ - if (bind->keycode != keycode) - continue; - } - - /* If this keybinding is a KeyRelease binding, it matches the key which - * the user pressed. We therefore mark it as - * B_UPON_KEYRELEASE_IGNORE_MODS for later, so that the user can - * release the modifiers before the actual key and the KeyRelease will - * still be matched. */ - if (bind->release == B_UPON_KEYRELEASE && !key_release) - bind->release = B_UPON_KEYRELEASE_IGNORE_MODS; - - /* Check if the binding is for a KeyPress or a KeyRelease event */ - if ((bind->release == B_UPON_KEYPRESS && key_release) || - (bind->release >= B_UPON_KEYRELEASE && !key_release)) - continue; - - break; - } - - return (bind == TAILQ_END(bindings) ? NULL : bind); -} - /* * Translates keysymbols to keycodes for all bindings which use keysyms. * diff --git a/src/key_press.c b/src/key_press.c index b8c8cd27..68e2fca2 100644 --- a/src/key_press.c +++ b/src/key_press.c @@ -84,7 +84,7 @@ void handle_key_press(xcb_key_press_event_t *event) { DLOG("(checked mode_switch, state %d)\n", state_filtered); /* Find the binding */ - Binding *bind = get_binding(state_filtered, key_release, event->detail); + Binding *bind = get_keyboard_binding(state_filtered, key_release, event->detail); /* No match? Then the user has Mode_switch enabled but does not have a * specific keybinding. Fall back to the default keybindings (without @@ -93,7 +93,7 @@ void handle_key_press(xcb_key_press_event_t *event) { if (bind == NULL) { state_filtered &= ~(BIND_MODE_SWITCH); DLOG("no match, new state_filtered = %d\n", state_filtered); - if ((bind = get_binding(state_filtered, key_release, event->detail)) == NULL) { + if ((bind = get_keyboard_binding(state_filtered, key_release, event->detail)) == NULL) { /* This is not a real error since we can have release and * non-release keybindings. On a KeyPress event for which there is * only a !release-binding, but no release-binding, the From d5cf494ba26d6dffde002907d620736e6c71adf7 Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Fri, 28 Feb 2014 13:45:22 -0500 Subject: [PATCH 084/190] Update ipc COMMAND reply documentation The COMMAND reply consists of a list of results for each command that was parsed. --- docs/ipc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/ipc b/docs/ipc index e548c074..2f3ea7e2 100644 --- a/docs/ipc +++ b/docs/ipc @@ -140,12 +140,13 @@ VERSION (7):: === COMMAND reply -The reply consists of a single serialized map. At the moment, the only -property is +success (bool)+, but this will be expanded in future versions. +The reply consists of a list of serialized maps for each command that was +parsed. Each has the property +success (bool)+ and may also include a +human-readable error message in the property +error (string)+. *Example:* ------------------- -{ "success": true } +[{ "success": true }] ------------------- === WORKSPACES reply From 8ed95ae58cb371a24214ec0474199f5551829cd6 Mon Sep 17 00:00:00 2001 From: Kernc Date: Sat, 15 Feb 2014 16:49:41 +0100 Subject: [PATCH 085/190] Improved detection of windows that want floating Windows that match the following criteria are floated by default: - dialog, utility, toolbar, or splash windows, - modal windows, or - windows that have specified equal minimum and maximum size. closes #1182 --- include/atoms.xmacro | 1 + include/xcb_compat.h | 3 +++ src/manage.c | 30 ++++++++++++++++++------------ 3 files changed, 22 insertions(+), 12 deletions(-) diff --git a/include/atoms.xmacro b/include/atoms.xmacro index e6e72e74..86c6e562 100644 --- a/include/atoms.xmacro +++ b/include/atoms.xmacro @@ -3,6 +3,7 @@ xmacro(_NET_SUPPORTING_WM_CHECK) xmacro(_NET_WM_NAME) xmacro(_NET_WM_STATE_FULLSCREEN) xmacro(_NET_WM_STATE_DEMANDS_ATTENTION) +xmacro(_NET_WM_STATE_MODAL) xmacro(_NET_WM_STATE) xmacro(_NET_WM_WINDOW_TYPE) xmacro(_NET_WM_WINDOW_TYPE_DOCK) diff --git a/include/xcb_compat.h b/include/xcb_compat.h index 88034565..89c2c457 100644 --- a/include/xcb_compat.h +++ b/include/xcb_compat.h @@ -19,9 +19,12 @@ #define XCB_ICCCM_WM_STATE_NORMAL XCB_WM_STATE_NORMAL #define XCB_ICCCM_WM_STATE_WITHDRAWN XCB_WM_STATE_WITHDRAWN #define xcb_icccm_get_wm_size_hints_from_reply xcb_get_wm_size_hints_from_reply +#define xcb_icccm_get_wm_size_hints_reply xcb_get_wm_size_hints_reply +#define xcb_icccm_get_wm_normal_hints xcb_get_wm_normal_hints #define xcb_icccm_get_wm_normal_hints_reply xcb_get_wm_normal_hints_reply #define xcb_icccm_get_wm_normal_hints_unchecked xcb_get_wm_normal_hints_unchecked #define XCB_ICCCM_SIZE_HINT_P_MIN_SIZE XCB_SIZE_HINT_P_MIN_SIZE +#define XCB_ICCCM_SIZE_HINT_P_MAX_SIZE XCB_SIZE_HINT_P_MAX_SIZE #define XCB_ICCCM_SIZE_HINT_P_RESIZE_INC XCB_SIZE_HINT_P_RESIZE_INC #define XCB_ICCCM_SIZE_HINT_BASE_SIZE XCB_SIZE_HINT_BASE_SIZE #define XCB_ICCCM_SIZE_HINT_P_ASPECT XCB_SIZE_HINT_P_ASPECT diff --git a/src/manage.c b/src/manage.c index ae14fe67..25d38797 100644 --- a/src/manage.c +++ b/src/manage.c @@ -90,7 +90,7 @@ void manage_window(xcb_window_t window, xcb_get_window_attributes_cookie_t cooki utf8_title_cookie, title_cookie, class_cookie, leader_cookie, transient_cookie, role_cookie, startup_id_cookie, wm_hints_cookie, - motif_wm_hints_cookie; + wm_normal_hints_cookie, motif_wm_hints_cookie; geomc = xcb_get_geometry(conn, d); @@ -160,8 +160,8 @@ void manage_window(xcb_window_t window, xcb_get_window_attributes_cookie_t cooki role_cookie = GET_PROPERTY(A_WM_WINDOW_ROLE, 128); startup_id_cookie = GET_PROPERTY(A__NET_STARTUP_ID, 512); wm_hints_cookie = xcb_icccm_get_wm_hints(conn, window); + wm_normal_hints_cookie = xcb_icccm_get_wm_normal_hints(conn, window); motif_wm_hints_cookie = GET_PROPERTY(A__MOTIF_WM_HINTS, 5 * sizeof(uint64_t)); - /* TODO: also get wm_normal_hints here. implement after we got rid of xcb-event */ DLOG("Managing window 0x%08x\n", window); @@ -197,6 +197,10 @@ void manage_window(xcb_window_t window, xcb_get_window_attributes_cookie_t cooki window_update_hints(cwindow, xcb_get_property_reply(conn, wm_hints_cookie, NULL), &urgency_hint); border_style_t motif_border_style = BS_NORMAL; window_update_motif_hints(cwindow, xcb_get_property_reply(conn, motif_wm_hints_cookie, NULL), &motif_border_style); + xcb_size_hints_t wm_size_hints; + xcb_icccm_get_wm_size_hints_reply(conn, wm_normal_hints_cookie, &wm_size_hints, NULL); + xcb_get_property_reply_t *type_reply = xcb_get_property_reply(conn, wm_type_cookie, NULL); + xcb_get_property_reply_t *state_reply = xcb_get_property_reply(conn, state_cookie, NULL); xcb_get_property_reply_t *startup_id_reply; startup_id_reply = xcb_get_property_reply(conn, startup_id_cookie, NULL); @@ -209,8 +213,7 @@ void manage_window(xcb_window_t window, xcb_get_window_attributes_cookie_t cooki /* Where to start searching for a container that swallows the new one? */ Con *search_at = croot; - xcb_get_property_reply_t *reply = xcb_get_property_reply(conn, wm_type_cookie, NULL); - if (xcb_reply_contains_atom(reply, A__NET_WM_WINDOW_TYPE_DOCK)) { + if (xcb_reply_contains_atom(type_reply, A__NET_WM_WINDOW_TYPE_DOCK)) { LOG("This window is of type dock\n"); Output *output = get_output_containing(geom->x, geom->y); if (output != NULL) { @@ -323,14 +326,11 @@ void manage_window(xcb_window_t window, xcb_get_window_attributes_cookie_t cooki if (fs == NULL) fs = con_get_fullscreen_con(croot, CF_GLOBAL); - xcb_get_property_reply_t *state_reply = xcb_get_property_reply(conn, state_cookie, NULL); if (xcb_reply_contains_atom(state_reply, A__NET_WM_STATE_FULLSCREEN)) { fs = NULL; con_toggle_fullscreen(nc, CF_OUTPUT); } - FREE(state_reply); - bool set_focus = false; if (fs == NULL) { @@ -365,15 +365,21 @@ void manage_window(xcb_window_t window, xcb_get_window_attributes_cookie_t cooki /* set floating if necessary */ bool want_floating = false; - if (xcb_reply_contains_atom(reply, A__NET_WM_WINDOW_TYPE_DIALOG) || - xcb_reply_contains_atom(reply, A__NET_WM_WINDOW_TYPE_UTILITY) || - xcb_reply_contains_atom(reply, A__NET_WM_WINDOW_TYPE_TOOLBAR) || - xcb_reply_contains_atom(reply, A__NET_WM_WINDOW_TYPE_SPLASH)) { + if (xcb_reply_contains_atom(type_reply, A__NET_WM_WINDOW_TYPE_DIALOG) || + xcb_reply_contains_atom(type_reply, A__NET_WM_WINDOW_TYPE_UTILITY) || + xcb_reply_contains_atom(type_reply, A__NET_WM_WINDOW_TYPE_TOOLBAR) || + xcb_reply_contains_atom(type_reply, A__NET_WM_WINDOW_TYPE_SPLASH) || + xcb_reply_contains_atom(state_reply, A__NET_WM_STATE_MODAL) || + (wm_size_hints.flags & XCB_ICCCM_SIZE_HINT_P_MAX_SIZE && + wm_size_hints.flags & XCB_ICCCM_SIZE_HINT_P_MIN_SIZE && + wm_size_hints.min_height == wm_size_hints.max_height && + wm_size_hints.min_width == wm_size_hints.max_width)) { LOG("This window is a dialog window, setting floating\n"); want_floating = true; } - FREE(reply); + FREE(state_reply); + FREE(type_reply); if (cwindow->transient_for != XCB_NONE || (cwindow->leader != XCB_NONE && From 0711f5ab4e7c5a9b2677f47c12c65e05caf17e65 Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Sat, 8 Mar 2014 08:18:56 -0500 Subject: [PATCH 086/190] Add test for floating types Add a test that verifies that windows with properties that indicate they should be floating are indeed opened floating. --- testcases/t/221-floating-type-hints.t | 119 ++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 testcases/t/221-floating-type-hints.t diff --git a/testcases/t/221-floating-type-hints.t b/testcases/t/221-floating-type-hints.t new file mode 100644 index 00000000..01c73a75 --- /dev/null +++ b/testcases/t/221-floating-type-hints.t @@ -0,0 +1,119 @@ +#!perl +# vim:ts=4:sw=4:expandtab +# +# Please read the following documents before working on tests: +# • http://build.i3wm.org/docs/testsuite.html +# (or docs/testsuite) +# +# • http://build.i3wm.org/docs/lib-i3test.html +# (alternatively: perldoc ./testcases/lib/i3test.pm) +# +# • http://build.i3wm.org/docs/ipc.html +# (or docs/ipc) +# +# • http://onyxneon.com/books/modern_perl/modern_perl_a4.pdf +# (unless you are already familiar with Perl) +# +# Verifies that windows with properties that indicate they should be floating +# are indeed opened floating. +# Ticket: #1182 +# Bug still in: 4.7.2-97-g84fc808 +use i3test; +use X11::XCB qw(PROP_MODE_REPLACE); + +sub open_with_type { + my $window_type = shift; + + my $window = open_window( + window_type => $x->atom(name => $window_type), + ); + return $window; +} + +sub open_with_state { + my $window_state = shift; + + my $window = open_window( + before_map => sub { + my ($window) = @_; + + my $atomname = $x->atom(name => '_NET_WM_STATE'); + my $atomtype = $x->atom(name => 'ATOM'); + $x->change_property( + PROP_MODE_REPLACE, + $window->id, + $atomname->id, + $atomtype->id, + 32, + 1, + pack('L1', $x->atom(name => $window_state)->id), + ); + }, + ); + + return $window; +} + +sub open_with_fixed_size { + # The type of the WM_NORMAL_HINTS property is WM_SIZE_HINTS + # http://tronche.com/gui/x/icccm/sec-4.html#s-4.1.2.3 + my $XCB_ICCCM_SIZE_HINT_P_MIN_SIZE = 0x32; + my $XCB_ICCCM_SIZE_HINT_P_MAX_SIZE = 0x16; + + my $flags = $XCB_ICCCM_SIZE_HINT_P_MIN_SIZE | $XCB_ICCCM_SIZE_HINT_P_MAX_SIZE; + + my $min_width = 55; + my $max_width = 55; + my $min_height = 77; + my $max_height = 77; + + my $pad = 0x00; + + my $window = open_window( + before_map => sub { + my ($window) = @_; + + my $atomname = $x->atom(name => 'WM_NORMAL_HINTS'); + my $atomtype = $x->atom(name => 'WM_SIZE_HINTS'); + $x->change_property( + PROP_MODE_REPLACE, + $window->id, + $atomname->id, + $atomtype->id, + 32, + 12, + pack('C5N8', $flags, $pad, $pad, $pad, $pad, 0, 0, 0, $min_width, $min_height, $max_width, $max_height), + ); + }, + ); + + return $window; +} + +my $ws = fresh_workspace; + +my $window = open_with_type '_NET_WM_WINDOW_TYPE_DIALOG'; +is(get_ws($ws)->{floating_nodes}[0]->{nodes}[0]->{window}, $window->id, 'Dialog window opened floating'); +$window->unmap; + +$window = open_with_type '_NET_WM_WINDOW_TYPE_UTILITY'; +is(get_ws($ws)->{floating_nodes}[0]->{nodes}[0]->{window}, $window->id, 'Utility window opened floating'); +$window->unmap; + +$window = open_with_type '_NET_WM_WINDOW_TYPE_TOOLBAR'; +is(get_ws($ws)->{floating_nodes}[0]->{nodes}[0]->{window}, $window->id, 'Toolbar window opened floating'); +$window->unmap; + +$window = open_with_type '_NET_WM_WINDOW_TYPE_SPLASH'; +is(get_ws($ws)->{floating_nodes}[0]->{nodes}[0]->{window}, $window->id, 'Splash window opened floating'); +$window->unmap; + +$window = open_with_state '_NET_WM_STATE_MODAL'; +is(get_ws($ws)->{floating_nodes}[0]->{nodes}[0]->{window}, $window->id, 'Modal window opened floating'); +$window->unmap; + +$window = open_with_fixed_size; +is(get_ws($ws)->{floating_nodes}[0]->{nodes}[0]->{window}, $window->id, 'Fixed size window opened floating'); +$window->unmap; + +done_testing; From 81271887e20957d3e1ef1e6f5c32b4a61dd034cf Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Mon, 10 Mar 2014 00:38:52 -0400 Subject: [PATCH 087/190] Set con window to NULL on tree_close Prevents invalid reads on the freed window struct. --- src/tree.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tree.c b/src/tree.c index 48ab163d..e3a54955 100644 --- a/src/tree.c +++ b/src/tree.c @@ -260,7 +260,7 @@ bool tree_close(Con *con, kill_window_t kill_window, bool dont_kill_parent, bool FREE(con->window->class_class); FREE(con->window->class_instance); i3string_free(con->window->name); - free(con->window); + FREE(con->window); } Con *ws = con_get_workspace(con); From 35eac121fc68ea02b60abea4f38a9dd5f1389795 Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Sun, 9 Mar 2014 21:33:26 -0400 Subject: [PATCH 088/190] Update ipc library list documentation Add a link to the new JavaScript, Python, and Lua ipc libraries. Add notice that the older Python libraries are not maintained. Sort the list alphabetically. --- docs/ipc | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/docs/ipc b/docs/ipc index 2f3ea7e2..7fb9f1a0 100644 --- a/docs/ipc +++ b/docs/ipc @@ -763,13 +763,19 @@ know): C:: i3 includes a headerfile +i3/ipc.h+ which provides you all constants. - https://github.com/acrisci/i3-ipc (not yet ready for production use) -Ruby:: - http://github.com/badboy/i3-ipc -Perl:: - https://metacpan.org/module/AnyEvent::I3 -Python:: - * https://github.com/whitelynx/i3ipc - * https://github.com/ziberna/i3-py (includes higher-level features) + + https://github.com/acrisci/i3ipc-glib Go:: * https://github.com/proxypoke/i3ipc +JavaScript:: + * https://github.com/acrisci/i3ipc-gjs +Lua:: + * https:/github.com/acrisci/i3ipc-lua +Perl:: + * https://metacpan.org/module/AnyEvent::I3 +Python:: + * https://github.com/acrisci/i3ipc-python + * https://github.com/whitelynx/i3ipc (not maintained) + * https://github.com/ziberna/i3-py (not maintained) +Ruby:: + http://github.com/badboy/i3-ipc From 192b67df18c5c677d2e24446a60a0555d122da66 Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Mon, 10 Mar 2014 04:29:44 -0400 Subject: [PATCH 089/190] Free window ran_assignments on tree_close --- src/tree.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/tree.c b/src/tree.c index e3a54955..80af5223 100644 --- a/src/tree.c +++ b/src/tree.c @@ -260,6 +260,7 @@ bool tree_close(Con *con, kill_window_t kill_window, bool dont_kill_parent, bool FREE(con->window->class_class); FREE(con->window->class_instance); i3string_free(con->window->name); + FREE(con->window->ran_assignments); FREE(con->window); } From 9b03be644f59facf113e4996f19484d25e0dee19 Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Mon, 10 Mar 2014 04:47:40 -0400 Subject: [PATCH 090/190] Add valgrind suppression file to testcases The suppression file makes valgrind output more readable by hiding reports of memory leaks for GObject-related initialization functions in Pango and Cairo. --- testcases/lib/SocketActivation.pm | 1 + testcases/valgrind.supp | 37 +++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 testcases/valgrind.supp diff --git a/testcases/lib/SocketActivation.pm b/testcases/lib/SocketActivation.pm index 228caaa6..d32f6051 100644 --- a/testcases/lib/SocketActivation.pm +++ b/testcases/lib/SocketActivation.pm @@ -110,6 +110,7 @@ sub activate_i3 { if ($args{valgrind}) { $i3cmd = qq|valgrind -v --log-file="$outdir/valgrind-for-$test.log" | . + qq|--suppressions="./valgrind.supp" | . qq|--leak-check=full --track-origins=yes --num-callers=20 | . qq|--tool=memcheck -- $i3cmd|; } diff --git a/testcases/valgrind.supp b/testcases/valgrind.supp new file mode 100644 index 00000000..150e3a63 --- /dev/null +++ b/testcases/valgrind.supp @@ -0,0 +1,37 @@ +# +# Valgrind suppression file for i3 testcases +# +# Format specification: +# http://valgrind.org/docs/manual/manual-core.html#manual-core.suppress +# + +# +# GLib +# +{ + Ignore fundamental GType registration + Memcheck:Leak + ... + fun:g_type_register_fundamental + ... +} + +{ + Ignore static GType registration + Memcheck:Leak + match-leak-kinds: possible + ... + fun:g_type_register_static + ... +} + +{ + Ignore GObject init function + Memcheck:Leak + match-leak-kinds: possible + ... + obj:/usr/lib/libgobject-2.0* + ... + fun:call_init.part.0 + ... +} From c5df093f5db1ccae70c900408d74a6d5b0ad2c97 Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Thu, 13 Mar 2014 08:02:07 -0400 Subject: [PATCH 091/190] Move translate_keysyms to bindings.[ch] Additionally add a check so the function only handles bindings of type B_KEYBOARD to prepare for the new bindmouse feature. --- include/bindings.h | 6 ++++++ include/config.h | 6 ------ src/bindings.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++ src/config.c | 49 --------------------------------------------- 4 files changed, 56 insertions(+), 55 deletions(-) diff --git a/include/bindings.h b/include/bindings.h index bae31132..26532024 100644 --- a/include/bindings.h +++ b/include/bindings.h @@ -36,3 +36,9 @@ void grab_all_keys(xcb_connection_t *conn, bool bind_mode_switch); * */ Binding *get_keyboard_binding(uint16_t modifiers, bool key_release, xcb_keycode_t keycode); + +/** + * Translates keysymbols to keycodes for all bindings which use keysyms. + * + */ +void translate_keysyms(void); diff --git a/include/config.h b/include/config.h index f307874d..0c3e25db 100644 --- a/include/config.h +++ b/include/config.h @@ -308,12 +308,6 @@ struct Barconfig { */ void load_configuration(xcb_connection_t *conn, const char *override_configfile, bool reload); -/** - * Translates keysymbols to keycodes for all bindings which use keysyms. - * - */ -void translate_keysyms(void); - /** * Ungrabs all keys, to be called before re-grabbing the keys because of a * mapping_notify event or a configuration file reload diff --git a/src/bindings.c b/src/bindings.c index 9dd24ffa..5dfe5472 100644 --- a/src/bindings.c +++ b/src/bindings.c @@ -179,3 +179,53 @@ Binding *get_keyboard_binding(uint16_t modifiers, bool key_release, xcb_keycode_ return (bind == TAILQ_END(bindings) ? NULL : bind); } + +/* + * Translates keysymbols to keycodes for all bindings which use keysyms. + * + */ +void translate_keysyms(void) { + Binding *bind; + xcb_keysym_t keysym; + int col; + xcb_keycode_t i, min_keycode, max_keycode; + + min_keycode = xcb_get_setup(conn)->min_keycode; + max_keycode = xcb_get_setup(conn)->max_keycode; + + TAILQ_FOREACH(bind, bindings, bindings) { + if (bind->input_type != B_KEYBOARD || bind->keycode > 0) + continue; + + /* We need to translate the symbol to a keycode */ + keysym = XStringToKeysym(bind->symbol); + if (keysym == NoSymbol) { + ELOG("Could not translate string to key symbol: \"%s\"\n", + bind->symbol); + continue; + } + + /* Base column we use for looking up key symbols. We always consider + * the base column and the corresponding shift column, so without + * mode_switch, we look in 0 and 1, with mode_switch we look in 2 and + * 3. */ + col = (bind->mods & BIND_MODE_SWITCH ? 2 : 0); + + FREE(bind->translated_to); + bind->number_keycodes = 0; + + for (i = min_keycode; i && i <= max_keycode; i++) { + if ((xcb_key_symbols_get_keysym(keysyms, i, col) != keysym) && + (xcb_key_symbols_get_keysym(keysyms, i, col+1) != keysym)) + continue; + bind->number_keycodes++; + bind->translated_to = srealloc(bind->translated_to, + (sizeof(xcb_keycode_t) * + bind->number_keycodes)); + bind->translated_to[bind->number_keycodes-1] = i; + } + + DLOG("Translated symbol \"%s\" to %d keycode\n", bind->symbol, + bind->number_keycodes); + } +} diff --git a/src/config.c b/src/config.c index fb1f4984..a8e66314 100644 --- a/src/config.c +++ b/src/config.c @@ -30,55 +30,6 @@ void ungrab_all_keys(xcb_connection_t *conn) { xcb_ungrab_key(conn, XCB_GRAB_ANY, root, XCB_BUTTON_MASK_ANY); } -/* - * Translates keysymbols to keycodes for all bindings which use keysyms. - * - */ -void translate_keysyms(void) { - Binding *bind; - xcb_keysym_t keysym; - int col; - xcb_keycode_t i, - min_keycode = xcb_get_setup(conn)->min_keycode, - max_keycode = xcb_get_setup(conn)->max_keycode; - - TAILQ_FOREACH(bind, bindings, bindings) { - if (bind->keycode > 0) - continue; - - /* We need to translate the symbol to a keycode */ - keysym = XStringToKeysym(bind->symbol); - if (keysym == NoSymbol) { - ELOG("Could not translate string to key symbol: \"%s\"\n", - bind->symbol); - continue; - } - - /* Base column we use for looking up key symbols. We always consider - * the base column and the corresponding shift column, so without - * mode_switch, we look in 0 and 1, with mode_switch we look in 2 and - * 3. */ - col = (bind->mods & BIND_MODE_SWITCH ? 2 : 0); - - FREE(bind->translated_to); - bind->number_keycodes = 0; - - for (i = min_keycode; i && i <= max_keycode; i++) { - if ((xcb_key_symbols_get_keysym(keysyms, i, col) != keysym) && - (xcb_key_symbols_get_keysym(keysyms, i, col+1) != keysym)) - continue; - bind->number_keycodes++; - bind->translated_to = srealloc(bind->translated_to, - (sizeof(xcb_keycode_t) * - bind->number_keycodes)); - bind->translated_to[bind->number_keycodes-1] = i; - } - - DLOG("Translated symbol \"%s\" to %d keycode\n", bind->symbol, - bind->number_keycodes); - } -} - /* * Switches the key bindings to the given mode, if the mode exists * From 1263d2c0e8b1c2bdbeff934c8cd008d97f1953ce Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Tue, 18 Mar 2014 23:07:01 -0400 Subject: [PATCH 092/190] Test 175: use BAIL_OUT instead of `die` BAIL_OUT produces a friendlier message explaining why the tests cannot continue on the command line. `die` produces a cryptic message that some test failed for some reason. --- testcases/t/175-startup-notification.t | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/testcases/t/175-startup-notification.t b/testcases/t/175-startup-notification.t index ee285ff7..a85320ea 100644 --- a/testcases/t/175-startup-notification.t +++ b/testcases/t/175-startup-notification.t @@ -84,7 +84,7 @@ is_num_children($first_ws, 0, 'no containers on this workspace yet'); # echo its $DESKTOP_STARTUP_ID. We (blockingly) read the variable into # $startup_id in the testcase. my $tmp = tmpnam(); -mkfifo($tmp, 0600) or die "Could not create FIFO in $tmp"; +mkfifo($tmp, 0600) or BAIL_OUT "Could not create FIFO in $tmp"; cmd qq|exec echo \$DESKTOP_STARTUP_ID >$tmp|; @@ -182,7 +182,7 @@ is_num_children($third_ws, 2, 'two containers on the third workspace'); # environment variable. ###################################################################### -mkfifo($tmp, 0600) or die "Could not create FIFO in $tmp"; +mkfifo($tmp, 0600) or BAIL_OUT "Could not create FIFO in $tmp"; cmd qq|exec --no-startup-id echo \$DESKTOP_STARTUP_ID >$tmp|; @@ -198,7 +198,7 @@ is($startup_id, '', 'startup_id empty'); # 4) same thing, but with double quotes in exec ###################################################################### -mkfifo($tmp, 0600) or die "Could not create FIFO in $tmp"; +mkfifo($tmp, 0600) or BAIL_OUT "Could not create FIFO in $tmp"; cmd qq|exec --no-startup-id "echo \$DESKTOP_STARTUP_ID >$tmp"|; From fe5103e8e11c93d7a4abeaf45d45a5d43d75745b Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Tue, 18 Mar 2014 22:38:01 -0400 Subject: [PATCH 093/190] Test 222: call exit_gracefully Not calling exit_gracefully causes some other test to fail during a complete_run sometimes. --- testcases/t/222-regress-dock-resize.t | 2 ++ 1 file changed, 2 insertions(+) diff --git a/testcases/t/222-regress-dock-resize.t b/testcases/t/222-regress-dock-resize.t index 0e80a6aa..b9f9a797 100644 --- a/testcases/t/222-regress-dock-resize.t +++ b/testcases/t/222-regress-dock-resize.t @@ -39,4 +39,6 @@ cmd('[class="special"] resize grow height 160 px or 16 ppt'); does_i3_live; +exit_gracefully($pid); + done_testing; From c0589ad5bec48e644465fef0ea5e40a586539954 Mon Sep 17 00:00:00 2001 From: jeroentbt Date: Mon, 17 Mar 2014 00:59:01 +0100 Subject: [PATCH 094/190] fix typo --- docs/userguide | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/userguide b/docs/userguide index f87cdd80..dd937fe2 100644 --- a/docs/userguide +++ b/docs/userguide @@ -204,7 +204,7 @@ orientation (horizontal, vertical or unspecified) and the orientation depends on the layout the container is in (vertical for splitv and stacking, horizontal for splith and tabbed). So, in our example with the workspace, the default layout of the workspace +Container+ is splith (most monitors are widescreen -nowadays). If you change the layout to splitv (+$mod+l+ in the default config) +nowadays). If you change the layout to splitv (+$mod+v+ in the default config) and *then* open two terminals, i3 will configure your windows like this: image::tree-shot2.png["shot2",title="Vertical Workspace Orientation"] From 85df107b0d04b1913af749b80fc8a2fa4989a538 Mon Sep 17 00:00:00 2001 From: jeroentbt Date: Mon, 17 Mar 2014 01:24:15 +0100 Subject: [PATCH 095/190] docs: fix typo --- docs/userguide | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/userguide b/docs/userguide index dd937fe2..d303b534 100644 --- a/docs/userguide +++ b/docs/userguide @@ -866,7 +866,7 @@ inferior Xinerama API explicitly and therefore don’t provide support for reconfiguring your screens on the fly (they are read only once on startup and that’s it). -For people who do cannot modify their +~/.xsession+ to add the +For people who cannot modify their +~/.xsession+ to add the +--force-xinerama+ commandline parameter, a configuration option is provided: *Syntax*: From 587273505c667b8955b207178c591755fdc9d5d5 Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Wed, 19 Mar 2014 04:34:42 -0400 Subject: [PATCH 096/190] Free match after criteria initialization This memory leak is associated with matching by a criteria that uses a regular expression. Without freeing a regex before calling match_init, it will definitely be lost. --- src/commands.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/commands.c b/src/commands.c index c0f1d187..f05d9758 100644 --- a/src/commands.c +++ b/src/commands.c @@ -257,6 +257,7 @@ void cmd_criteria_init(I3_CMD) { owindow *ow; DLOG("Initializing criteria, current_match = %p\n", current_match); + match_free(current_match); match_init(current_match); while (!TAILQ_EMPTY(&owindows)) { ow = TAILQ_FIRST(&owindows); From 0c3735fc2336bf56a061e9a3ff0438583d0790d3 Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Wed, 19 Mar 2014 04:56:34 -0400 Subject: [PATCH 097/190] Free owindow when no con_id match or window This memory leak is related to matching on con_id or matching when the container has a null window. In that case, windows that do not match would leak the owindow struct. --- src/commands.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/commands.c b/src/commands.c index f05d9758..0f4315c1 100644 --- a/src/commands.c +++ b/src/commands.c @@ -298,15 +298,16 @@ void cmd_criteria_match_windows(I3_CMD) { if (current_match->con_id == current->con) { DLOG("matches container!\n"); TAILQ_INSERT_TAIL(&owindows, current, owindows); + } else { + DLOG("doesnt match\n"); + free(current); } } else if (current_match->mark != NULL && current->con->mark != NULL && regex_matches(current_match->mark, current->con->mark)) { DLOG("match by mark\n"); TAILQ_INSERT_TAIL(&owindows, current, owindows); } else { - if (current->con->window == NULL) - continue; - if (match_matches_window(current_match, current->con->window)) { + if (current->con->window && match_matches_window(current_match, current->con->window)) { DLOG("matches window!\n"); TAILQ_INSERT_TAIL(&owindows, current, owindows); } else { From eb7537e53d5ebfd6369fa56c0714e927d94bcac0 Mon Sep 17 00:00:00 2001 From: Quentin Glidic Date: Thu, 13 Mar 2014 13:58:15 +0100 Subject: [PATCH 098/190] i3bar: Send mouse wheel events to child too Signed-off-by: Quentin Glidic --- i3bar/include/child.h | 6 ++++ i3bar/src/child.c | 8 +++++ i3bar/src/xcb.c | 75 ++++++++++++++++++++++--------------------- 3 files changed, 52 insertions(+), 37 deletions(-) diff --git a/i3bar/include/child.h b/i3bar/include/child.h index 49329269..72272b24 100644 --- a/i3bar/include/child.h +++ b/i3bar/include/child.h @@ -73,6 +73,12 @@ void stop_child(void); */ void cont_child(void); +/* + * Whether or not the child want click events + * + */ +bool child_want_click_events(void); + /* * Generates a click event, if enabled. * diff --git a/i3bar/src/child.c b/i3bar/src/child.c index cfdf911c..53aef2fa 100644 --- a/i3bar/src/child.c +++ b/i3bar/src/child.c @@ -624,3 +624,11 @@ void cont_child(void) { killpg(child.pid, child.cont_signal); } } + +/* + * Whether or not the child want click events + * + */ +bool child_want_click_events(void) { + return child.click_events; +} diff --git a/i3bar/src/xcb.c b/i3bar/src/xcb.c index 928771d8..5204d716 100644 --- a/i3bar/src/xcb.c +++ b/i3bar/src/xcb.c @@ -330,6 +330,39 @@ void handle_button(xcb_button_press_event_t *event) { DLOG("Got Button %d\n", event->detail); + if (child_want_click_events()) { + /* If the child asked for click events, + * check if a status block has been clicked. */ + + /* First calculate width of tray area */ + trayclient *trayclient; + int tray_width = 0; + TAILQ_FOREACH_REVERSE(trayclient, walk->trayclients, tc_head, tailq) { + if (!trayclient->mapped) + continue; + tray_width += (font.height + 2); + } + + int block_x = 0, last_block_x; + int offset = (walk->rect.w - (statusline_width + tray_width)) - 10; + + x = original_x - offset; + if (x >= 0) { + struct status_block *block; + + TAILQ_FOREACH(block, &statusline_head, blocks) { + last_block_x = block_x; + block_x += block->width + block->x_offset + block->x_append; + + if (x <= block_x && x >= last_block_x) { + send_block_clicked(event->detail, block->name, block->instance, event->root_x, event->root_y); + return; + } + } + } + x = original_x; + } + switch (event->detail) { case 4: /* Mouse wheel up. We select the previous ws, if any. @@ -351,7 +384,7 @@ void handle_button(xcb_button_press_event_t *event) { cur_ws = TAILQ_NEXT(cur_ws, tailq); break; - default: + case 1: /* Check if this event regards a workspace button */ TAILQ_FOREACH(cur_ws, walk->workspaces, tailq) { DLOG("x = %d\n", x); @@ -360,43 +393,11 @@ void handle_button(xcb_button_press_event_t *event) { } x -= cur_ws->name_width + 11; } - if (cur_ws == NULL) { - /* No workspace button was pressed. - * Check if a status block has been clicked. - * This of course only has an effect, - * if the child reported bidirectional protocol usage. */ - - /* First calculate width of tray area */ - trayclient *trayclient; - int tray_width = 0; - TAILQ_FOREACH_REVERSE(trayclient, walk->trayclients, tc_head, tailq) { - if (!trayclient->mapped) - continue; - tray_width += (font.height + 2); - } - - int block_x = 0, last_block_x; - int offset = (walk->rect.w - (statusline_width + tray_width)) - 10; - - x = original_x - offset; - if (x < 0) - return; - - struct status_block *block; - - TAILQ_FOREACH(block, &statusline_head, blocks) { - last_block_x = block_x; - block_x += block->width + block->x_offset + block->x_append; - - if (x <= block_x && x >= last_block_x) { - send_block_clicked(event->detail, block->name, block->instance, event->root_x, event->root_y); - return; - } - } - return; - } - if (event->detail != 1) + if (cur_ws == NULL) return; + break; + default: + return; } /* To properly handle workspace names with double quotes in them, we need From ae846378884eb759c78ff9bf4c0eda2f8830698f Mon Sep 17 00:00:00 2001 From: Arun Persaud Date: Sun, 23 Mar 2014 10:49:52 -0700 Subject: [PATCH 099/190] i3-nagbar.man: updated man page to include all options several options were not documented in the man page. --- man/i3-nagbar.man | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/man/i3-nagbar.man b/man/i3-nagbar.man index 3dd37bb7..9e6619fa 100644 --- a/man/i3-nagbar.man +++ b/man/i3-nagbar.man @@ -9,7 +9,29 @@ i3-nagbar - displays an error bar on top of your screen == SYNOPSIS -i3-nagbar -m 'message' -b 'label' 'action' +i3-nagbar [-m ] [-b