From 67d76bdc68102df976177de351f65329d8683064 Mon Sep 17 00:00:00 2001 From: Chris Down Date: Thu, 2 Jul 2020 20:18:30 +0100 Subject: [PATCH 1/7] Do not allow focus to drift from fullscreen client via focusstack() It generally doesn't make much sense to allow focusstack() to navigate away from the selected fullscreen client, as you can't even see which client you're selecting behind it. I have had this up for a while on the wiki as a separate patch[0], but it seems reasonable to avoid this behaviour in dwm mainline, since I'm struggling to think of any reason to navigate away from a fullscreen client other than a mistake. 0: https://dwm.suckless.org/patches/alwaysfullscreen/ --- dwm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dwm.c b/dwm.c index 664c527..b0b3466 100644 --- a/dwm.c +++ b/dwm.c @@ -835,7 +835,7 @@ focusstack(const Arg *arg) { Client *c = NULL, *i; - if (!selmon->sel) + if (!selmon->sel || selmon->sel->isfullscreen) return; if (arg->i > 0) { for (c = selmon->sel->next; c && !ISVISIBLE(c); c = c->next); From 138b405f0c8aa24d8a040cc1a1cf6e3eb5a0ebc7 Mon Sep 17 00:00:00 2001 From: Quentin Rameau Date: Mon, 12 Jul 2021 23:44:16 +0200 Subject: [PATCH 2/7] Add a configuration option for fullscreen locking Some people are annoyed to have this new behaviour forced for some application which use fake fullscreen. --- config.def.h | 1 + dwm.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/config.def.h b/config.def.h index 1c0b587..a2ac963 100644 --- a/config.def.h +++ b/config.def.h @@ -35,6 +35,7 @@ static const Rule rules[] = { static const float mfact = 0.55; /* factor of master area size [0.05..0.95] */ static const int nmaster = 1; /* number of clients in master area */ static const int resizehints = 1; /* 1 means respect size hints in tiled resizals */ +static const int lockfullscreen = 1; /* 1 will force focus on the fullscreen window */ static const Layout layouts[] = { /* symbol arrange function */ diff --git a/dwm.c b/dwm.c index b0b3466..5e4d494 100644 --- a/dwm.c +++ b/dwm.c @@ -835,7 +835,7 @@ focusstack(const Arg *arg) { Client *c = NULL, *i; - if (!selmon->sel || selmon->sel->isfullscreen) + if (!selmon->sel || (selmon->sel->isfullscreen && lockfullscreen)) return; if (arg->i > 0) { for (c = selmon->sel->next; c && !ISVISIBLE(c); c = c->next); From 716233534b35f74dba5a46ade8f1a6f8cc72fea4 Mon Sep 17 00:00:00 2001 From: Miles Alan Date: Mon, 9 Aug 2021 18:24:14 +0200 Subject: [PATCH 3/7] Improve speed of drw_text when provided with large strings Calculates len & ew in drw_font_getexts loop by incrementing instead of decrementing; as such avoids proportional increase in time spent in loop based on provided strings size. --- drw.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drw.c b/drw.c index 4cdbcbe..9c39086 100644 --- a/drw.c +++ b/drw.c @@ -310,8 +310,11 @@ drw_text(Drw *drw, int x, int y, unsigned int w, unsigned int h, unsigned int lp if (utf8strlen) { drw_font_getexts(usedfont, utf8str, utf8strlen, &ew, NULL); /* shorten text if necessary */ - for (len = MIN(utf8strlen, sizeof(buf) - 1); len && ew > w; len--) - drw_font_getexts(usedfont, utf8str, len, &ew, NULL); + if (ew > w) + for (ew = 0, len = 0; ew < w - lpad * 2 && len < MIN(utf8strlen, sizeof(buf) - 1); len++) + drw_font_getexts(usedfont, utf8str, len, &ew, NULL); + else + len = MIN(utf8strlen, sizeof(buf) - 1); if (len) { memcpy(buf, utf8str, len); From a786211d6cb794fba0ea406d86002c7618998afc Mon Sep 17 00:00:00 2001 From: Hiltjo Posthuma Date: Fri, 20 Aug 2021 23:09:48 +0200 Subject: [PATCH 4/7] Revert "Improve speed of drw_text when provided with large strings" This reverts commit 716233534b35f74dba5a46ade8f1a6f8cc72fea4. It causes issues with truncation of characters when the text does not fit and so on. The patch should be reworked and properly tested. --- drw.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/drw.c b/drw.c index 9c39086..4cdbcbe 100644 --- a/drw.c +++ b/drw.c @@ -310,11 +310,8 @@ drw_text(Drw *drw, int x, int y, unsigned int w, unsigned int h, unsigned int lp if (utf8strlen) { drw_font_getexts(usedfont, utf8str, utf8strlen, &ew, NULL); /* shorten text if necessary */ - if (ew > w) - for (ew = 0, len = 0; ew < w - lpad * 2 && len < MIN(utf8strlen, sizeof(buf) - 1); len++) - drw_font_getexts(usedfont, utf8str, len, &ew, NULL); - else - len = MIN(utf8strlen, sizeof(buf) - 1); + for (len = MIN(utf8strlen, sizeof(buf) - 1); len && ew > w; len--) + drw_font_getexts(usedfont, utf8str, len, &ew, NULL); if (len) { memcpy(buf, utf8str, len); From 8657affa2a61e85ca8df76b62e43cb02897d1d80 Mon Sep 17 00:00:00 2001 From: Chris Down Date: Sat, 18 Dec 2021 16:58:23 +0000 Subject: [PATCH 5/7] drawbar: Don't expend effort drawing bar if it is occluded I noticed that a non-trivial amount of dwm's work on my machine was from drw_text, which seemed weird, because I have the bar disabled and we only use drw_text as part of bar drawing. Looking more closely, I realised that while we use m->showbar when updating the monitor bar margins, but don't skip actually drawing the bar if it is hidden. This patch skips drawing it entirely if that is the case. On my machine, this takes 10% of dwm's on-CPU time, primarily from restack() and focus(). When the bar is toggled on again, the X server will generate an Expose event, and we'll redraw the bar as normal as part of expose(). --- dwm.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dwm.c b/dwm.c index 5e4d494..a96f33c 100644 --- a/dwm.c +++ b/dwm.c @@ -702,6 +702,9 @@ drawbar(Monitor *m) unsigned int i, occ = 0, urg = 0; Client *c; + if (!m->showbar) + return; + /* draw status first so it can be overdrawn by tags later */ if (m == selmon) { /* status is only drawn on selected monitor */ drw_setscheme(drw, scheme[SchemeNorm]); From d39e2f3441fe18aba8d1a62c08918a411ec6f237 Mon Sep 17 00:00:00 2001 From: Hiltjo Posthuma Date: Fri, 7 Jan 2022 12:39:18 +0100 Subject: [PATCH 6/7] bump version to 6.3 --- config.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.mk b/config.mk index 7084c33..b6eb7e0 100644 --- a/config.mk +++ b/config.mk @@ -1,5 +1,5 @@ # dwm version -VERSION = 6.2 +VERSION = 6.3 # Customize below to fit your system From e1642ebe1379b4fcd2f52c1b013253ae14ae6ef0 Mon Sep 17 00:00:00 2001 From: Jef Roosens Date: Fri, 4 Mar 2022 21:49:21 +0100 Subject: [PATCH 7/7] Added PKGBUILD & CI pipeline for publishing --- .gitignore | 6 ++ .woodpecker.yml | 27 +++++++ PKGBUILD | 49 ++++++++++++ config.h | 197 ++++++++++++++++++++++++------------------------ config.mk | 2 +- drw.o | Bin 10672 -> 0 bytes dwm | Bin 67368 -> 0 bytes dwm.desktop | 7 ++ dwm.o | Bin 60904 -> 0 bytes util.o | Bin 2264 -> 0 bytes 10 files changed, 190 insertions(+), 98 deletions(-) create mode 100644 .woodpecker.yml create mode 100644 PKGBUILD delete mode 100644 drw.o delete mode 100755 dwm create mode 100644 dwm.desktop delete mode 100644 dwm.o delete mode 100644 util.o diff --git a/.gitignore b/.gitignore index c984e79..291b309 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,9 @@ *.o *.orig *.rej +dwm + +# makepkg stuff +*.pkg* +pkg/ +src/ diff --git a/.woodpecker.yml b/.woodpecker.yml new file mode 100644 index 0000000..8e4f11d --- /dev/null +++ b/.woodpecker.yml @@ -0,0 +1,27 @@ +branches: master + +when: + event: push + +pipeline: + build: + image: 'archlinux:latest' + commands: + # Update packages + - pacman -Syu --needed --noconfirm base-devel + # Create non-root user to perform build & switch to their home + - groupadd -g 1000 builder + - useradd -mg builder builder + - chown -R builder:builder "$PWD" + - "echo 'builder ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers" + - su builder + # Build the package + - MAKEFLAGS="-j$(nproc)" makepkg -s --noconfirm --needed + + publish: + image: 'archlinux:latest' + commands: + # Publish the package + - 'curl -s -XPOST -H "X-API-KEY: $API_KEY" -T "$(ls *.pkg*)" https://arch.r8r.be/publish' + secrets: + - api_key diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 0000000..7583e82 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,49 @@ +# Maintainer: Jef Roosens + +pkgname=jjr-dwm +pkgver=6.3 +pkgrel=1 +pkgdesc="Personal build of the Dynamic Window Manager." +arch=("x86_64") + +url="https://git.rustybever.be/Chewing_Bever/dwm" +license=("MIT") + +depends=("libx11" "libxinerama" "libxft" "freetype2" "jjr-st" "dmenu") +makedepends=("clang") +provides=("dwm") +conflicts=("dwm" "dwm-git") + +source=("config.def.h" "config.h" "config.mk" "drw.c" "drw.h" "dwm.1" "dwm.c" +"LICENSE" "Makefile" "transient.c" "util.c" "util.h" "dwm.desktop" "README") +sha256sums=('f662413dd3882e83a8d1bd6165abdf1c78f358a9100e875b0c6633d41f65f224' + '0fc893d4cbb2955411d047773a75269ef318d04ec2477624f01158dea539703b' + 'cda18f3700ed39dadbba983a36220320a88853d6858689b072fc0500b26b8fc8' + '85cc51a6a392a81d6073ff8d994200651cb8042b3bed93ce19e565ab752f8dae' + '137808b0e48f4acd8672678172edf16839ff0b4c13b7721deddb920a0d553fd7' + '216e0326791ac90a16549d39514d42cda0dfd5524df1ad511326a472cbd0f816' + 'fcb808784839c38457a4e2834de2ddf730ccfbe9ef3ee85b55df01169998358f' + 'b99adfc25cce6d62c1cc72a3105bb5d913a2faa40f172c14cfb204067f08c939' + 'f5c9137d07849db36942045df9be4f71727207cd90e7cc45aeffcf3c2469b9dc' + '54c37c558613ab3da856b19c4b4c0c56c224133a253bf5fa6557b489da545d7c' + 'dec870d0b5834c9008ff62f495710daf524cffdf12d0cf8ba4fadf5643623987' + '1196a7b6efbf4cb3f5c435fffd72e7647f977483845d5c78c1c48d9ab8b96819' + 'bc36426772e1471d6dd8c8aed91f288e16949e3463a9933fee6390ee0ccd3f81' + 'f0384e29e3f249fcd52a30c35c722fca50e9fabfdeb7725f4073e05170358d86') + +build() { + make +} + +package() { + local installopts='--mode 0644 -D --target-directory' + local shrdir="$pkgdir/usr/share" + local licdir="$shrdir/licenses/$pkgname" + local docdir="$shrdir/doc/$pkgname" + + make PREFIX=/usr DESTDIR="$pkgdir" install + + install $installopts "$licdir" "LICENSE" + install $installopts "$docdir" "README" + install $installopts "$pkgdir/usr/share/xsessions" "dwm.desktop" +} diff --git a/config.h b/config.h index 12b3902..47aff90 100644 --- a/config.h +++ b/config.h @@ -1,128 +1,131 @@ /* See LICENSE file for copyright and license details. */ /* appearance */ -static const unsigned int borderpx = 1; /* border pixel of windows */ -static const unsigned int snap = 32; /* snap pixel */ -static const int showbar = 1; /* 0 means no bar */ -static const int topbar = 1; /* 0 means bottom bar */ -static const char *fonts[] = { "monospace:size=10" }; -static const char dmenufont[] = "monospace:size=10"; -static const char col_gray1[] = "#222222"; -static const char col_gray2[] = "#444444"; -static const char col_gray3[] = "#bbbbbb"; -static const char col_gray4[] = "#eeeeee"; -static const char col_cyan[] = "#005577"; +static const unsigned int borderpx = 1; /* border pixel of windows */ +static const unsigned int snap = 32; /* snap pixel */ +static const int showbar = 1; /* 0 means no bar */ +static const int topbar = 1; /* 0 means bottom bar */ +static const char *fonts[] = {"monospace:size=10"}; +static const char dmenufont[] = "monospace:size=10"; +static const char col_gray1[] = "#222222"; +static const char col_gray2[] = "#444444"; +static const char col_gray3[] = "#bbbbbb"; +static const char col_gray4[] = "#eeeeee"; +static const char col_cyan[] = "#005577"; -static const unsigned int baralpha = 150; // Default is 0xd0 -static const unsigned int borderalpha = OPAQUE; // Max is 255 +static const unsigned int baralpha = 150; // Default is 0xd0 +static const unsigned int borderalpha = OPAQUE; // Max is 255 -static const char *colors[][3] = { - /* fg bg border */ - [SchemeNorm] = { col_gray3, col_gray1, col_gray2 }, - [SchemeSel] = { col_gray4, col_cyan, col_cyan }, +static const char *colors[][3] = { + /* fg bg border */ + [SchemeNorm] = {col_gray3, col_gray1, col_gray2}, + [SchemeSel] = {col_gray4, col_cyan, col_cyan}, }; -static const unsigned int alphas[][3] = { - /* fg bg border */ - [SchemeNorm] = { OPAQUE, baralpha, borderalpha }, - [SchemeSel] = { OPAQUE, baralpha, borderalpha }, +static const unsigned int alphas[][3] = { + /* fg bg border */ + [SchemeNorm] = {OPAQUE, baralpha, borderalpha}, + [SchemeSel] = {OPAQUE, baralpha, borderalpha}, }; /* tagging */ -static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" }; +static const char *tags[] = {"1", "2", "3", "4", "5", "6", "7", "8", "9"}; static const Rule rules[] = { - /* xprop(1): - * WM_CLASS(STRING) = instance, class - * WM_NAME(STRING) = title - */ - /* class instance title tags mask isfloating monitor */ - { "Gimp", NULL, NULL, 0, 1, -1 }, - { "Firefox", NULL, NULL, 1 << 8, 0, -1 }, + /* xprop(1): + * WM_CLASS(STRING) = instance, class + * WM_NAME(STRING) = title + */ + /* class instance title tags mask isfloating monitor */ + {"Gimp", NULL, NULL, 0, 1, -1}, + {"Firefox", NULL, NULL, 1 << 8, 0, -1}, }; /* layout(s) */ -static const float mfact = 0.55; /* factor of master area size [0.05..0.95] */ -static const int nmaster = 1; /* number of clients in master area */ -static const int resizehints = 1; /* 1 means respect size hints in tiled resizals */ +static const float mfact = 0.55; /* factor of master area size [0.05..0.95] */ +static const int nmaster = 1; /* number of clients in master area */ +static const int resizehints = + 1; /* 1 means respect size hints in tiled resizals */ +static const int lockfullscreen = + 1; /* 1 will force focus on the fullscreen window */ static const Layout layouts[] = { - /* symbol arrange function */ - { "[]=", tile }, /* first entry is default */ - { "><>", NULL }, /* no layout function means floating behavior */ - { "[M]", monocle }, + /* symbol arrange function */ + {"[]=", tile}, /* first entry is default */ + {"><>", NULL}, /* no layout function means floating behavior */ + {"[M]", monocle}, }; /* key definitions */ #define MODKEY Mod1Mask -#define TAGKEYS(KEY,TAG) \ - { MODKEY, KEY, view, {.ui = 1 << TAG} }, \ - { MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \ - { MODKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \ - { MODKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} }, +#define TAGKEYS(KEY, TAG) \ + {MODKEY, KEY, view, {.ui = 1 << TAG}}, \ + {MODKEY | ControlMask, KEY, toggleview, {.ui = 1 << TAG}}, \ + {MODKEY | ShiftMask, KEY, tag, {.ui = 1 << TAG}}, \ + {MODKEY | ControlMask | ShiftMask, KEY, toggletag, {.ui = 1 << TAG}}, /* helper for spawning shell commands in the pre dwm-5.0 fashion */ -#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } } +#define SHCMD(cmd) \ + { \ + .v = (const char *[]) { "/bin/sh", "-c", cmd, NULL } \ + } /* commands */ -static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */ -static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL }; -static const char *termcmd[] = { "st", NULL }; +static char dmenumon[2] = + "0"; /* component of dmenucmd, manipulated in spawn() */ +static const char *dmenucmd[] = { + "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, + "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL}; +static const char *termcmd[] = {"st", NULL}; - /* modifier key function argument */ +/* modifier key function argument */ static Key keys[] = { - { MODKEY , XK_d , spawn , {.v = dmenucmd } } , - { MODKEY , XK_Return , spawn , {.v = termcmd } } , - { MODKEY , XK_b , togglebar , {0} } , - { MODKEY , XK_j , focusstack , {.i = +1 } } , - { MODKEY , XK_k , focusstack , {.i = -1 } } , - /* { MODKEY , XK_i , incnmaster , {.i = +1 } } , */ - /* { MODKEY , XK_d , incnmaster , {.i = -1 } } , */ - { MODKEY , XK_h , setmfact , {.f = -0.05} } , - { MODKEY , XK_l , setmfact , {.f = +0.05} } , - /* { MODKEY , XK_Return , zoom , {0} } , */ - { MODKEY , XK_Tab , view , {0} } , - { MODKEY , XK_x , killclient , {0} } , - { MODKEY , XK_t , setlayout , {.v = &layouts[0]} } , - { MODKEY , XK_f , setlayout , {.v = &layouts[1]} } , - { MODKEY , XK_m , setlayout , {.v = &layouts[2]} } , - { MODKEY , XK_space , setlayout , {0} } , - { MODKEY|ShiftMask , XK_space , togglefloating , {0} } , - { MODKEY , XK_0 , view , {.ui = ~0 } } , - { MODKEY|ShiftMask , XK_0 , tag , {.ui = ~0 } } , - { MODKEY , XK_comma , focusmon , {.i = -1 } } , - { MODKEY , XK_period , focusmon , {.i = +1 } } , - { MODKEY|ShiftMask , XK_comma , tagmon , {.i = -1 } } , - { MODKEY|ShiftMask , XK_period , tagmon , {.i = +1 } } , - { MODKEY , XK_F2 , spawn , {.v = { "dmenu_optimus" , NULL }}} , - { MODKEY , XK_F3 , spawn , {.v = { "dmenu_kb_layout" , NULL }}} , - { MODKEY , XK_F4 , spawn , {.v = { "dmenu_audio_sinks" , NULL }}} , - { MODKEY|ShiftMask , XK_q , quit , {0} } , - TAGKEYS( XK_y , 0) - TAGKEYS( XK_u , 1) - TAGKEYS( XK_i , 2) - TAGKEYS( XK_o , 3) - TAGKEYS( XK_p , 4) - TAGKEYS( XK_6 , 5) - TAGKEYS( XK_7 , 6) - TAGKEYS( XK_8 , 7) - TAGKEYS( XK_9 , 8) -}; + {MODKEY, XK_d, spawn, {.v = dmenucmd}}, + {MODKEY, XK_Return, spawn, {.v = termcmd}}, + {MODKEY, XK_b, togglebar, {0}}, + {MODKEY, XK_j, focusstack, {.i = +1}}, + {MODKEY, XK_k, focusstack, {.i = -1}}, + /* { MODKEY , XK_i , incnmaster , {.i = +1 } } , */ + /* { MODKEY , XK_d , incnmaster , {.i = -1 } } , */ + {MODKEY, XK_h, setmfact, {.f = -0.05}}, + {MODKEY, XK_l, setmfact, {.f = +0.05}}, + /* { MODKEY , XK_Return , zoom , {0} } , */ + {MODKEY, XK_Tab, view, {0}}, + {MODKEY, XK_x, killclient, {0}}, + {MODKEY, XK_t, setlayout, {.v = &layouts[0]}}, + {MODKEY, XK_f, setlayout, {.v = &layouts[1]}}, + {MODKEY, XK_m, setlayout, {.v = &layouts[2]}}, + {MODKEY, XK_space, setlayout, {0}}, + {MODKEY | ShiftMask, XK_space, togglefloating, {0}}, + {MODKEY, XK_0, view, {.ui = ~0}}, + {MODKEY | ShiftMask, XK_0, tag, {.ui = ~0}}, + {MODKEY, XK_comma, focusmon, {.i = -1}}, + {MODKEY, XK_period, focusmon, {.i = +1}}, + {MODKEY | ShiftMask, XK_comma, tagmon, {.i = -1}}, + {MODKEY | ShiftMask, XK_period, tagmon, {.i = +1}}, + {MODKEY, XK_F2, spawn, {.v = {"dmenu_optimus", NULL}}}, + {MODKEY, XK_F3, spawn, {.v = {"dmenu_kb_layout", NULL}}}, + {MODKEY, XK_F4, spawn, {.v = {"dmenu_audio_sinks", NULL}}}, + {MODKEY | ShiftMask, XK_q, quit, {0}}, + TAGKEYS(XK_y, 0) TAGKEYS(XK_u, 1) TAGKEYS(XK_i, 2) TAGKEYS(XK_o, 3) + TAGKEYS(XK_p, 4) TAGKEYS(XK_6, 5) TAGKEYS(XK_7, 6) TAGKEYS(XK_8, 7) + TAGKEYS(XK_9, 8)}; /* button definitions */ -/* click can be ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */ +/* click can be ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, + * ClkClientWin, or ClkRootWin */ static Button buttons[] = { - /* click event mask button function argument */ - { ClkLtSymbol, 0, Button1, setlayout, {0} }, - { ClkLtSymbol, 0, Button3, setlayout, {.v = &layouts[2]} }, - { ClkWinTitle, 0, Button2, zoom, {0} }, - { ClkStatusText, 0, Button2, spawn, {.v = termcmd } }, - { ClkClientWin, MODKEY, Button1, movemouse, {0} }, - { ClkClientWin, MODKEY, Button2, togglefloating, {0} }, - { ClkClientWin, MODKEY, Button3, resizemouse, {0} }, - { ClkTagBar, 0, Button1, view, {0} }, - { ClkTagBar, 0, Button3, toggleview, {0} }, - { ClkTagBar, MODKEY, Button1, tag, {0} }, - { ClkTagBar, MODKEY, Button3, toggletag, {0} }, + /* click event mask button function argument + */ + {ClkLtSymbol, 0, Button1, setlayout, {0}}, + {ClkLtSymbol, 0, Button3, setlayout, {.v = &layouts[2]}}, + {ClkWinTitle, 0, Button2, zoom, {0}}, + {ClkStatusText, 0, Button2, spawn, {.v = termcmd}}, + {ClkClientWin, MODKEY, Button1, movemouse, {0}}, + {ClkClientWin, MODKEY, Button2, togglefloating, {0}}, + {ClkClientWin, MODKEY, Button3, resizemouse, {0}}, + {ClkTagBar, 0, Button1, view, {0}}, + {ClkTagBar, 0, Button3, toggleview, {0}}, + {ClkTagBar, MODKEY, Button1, tag, {0}}, + {ClkTagBar, MODKEY, Button3, toggletag, {0}}, }; - diff --git a/config.mk b/config.mk index 848aef9..c95968c 100644 --- a/config.mk +++ b/config.mk @@ -35,4 +35,4 @@ LDFLAGS = ${LIBS} #LDFLAGS = ${LIBS} # compiler and linker -CC = cc +CC = clang diff --git a/drw.o b/drw.o deleted file mode 100644 index a2bb4fdff7a4c4a2fdefce624600265762237e57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10672 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%0D3L z`$8R5kV>M&Kgr3OVWgK0&GNL{wwpYAF&eS~!BGkHa;AOcO51zJWM0VuGEF~dx^2he zX`t665q;bK#qKkvTRuADFx}E=O8xSTY3>)M+df}>%^A~-{bx)w_nkHs_kRWNft)rC z+ZVY3+3%We>s*|S><(nNBU}FjWjjs7+EHOpsZjh=I>f_Myh7Of)VUwi4v2pmDFeNo zLOT!#7TJ|qfSkIIY->neQ$9;vy1h=@N+;!*@>z;WqDQ+X?-f^$B^fwrv({p@W%CxaNFaL#P}#v*;ZZoC&thXaV_(5koDtbBIYiw<>amBspzI-`A8^aU z*4ofV(a0eTjsduBIyD;CQfwY$>@|HvV{cipG?y+q1nkZ2fe~Ve=9`$0sKyaE0#4C2 zRxBE+YZrs*Y1lAG6#ggHoRQN$`n~v_1 zPGbd)L|RUmny-Td2mF`;HmPACf>o&fI_f=4dL%P2OU`&q!=#AbCDvH8FyH&pJcl1o z=aH6=P0b&H6h%_k0gr3|$r|f`cRJERZmVwJ7({s%Pj;qt+m5+}h$-)VN7@@`5)P^v z2c5S!6!4e0K z&58h*I2*otS_Fc|IdvyVe%c#aiFuckcwUuwo)?)ZrNi+5qREX)3;c)ikhwA|oG%)@D?vvNPxD?I)& z%ScrhNb@BNBn2&Pc0WW0)9A2=u*LtRyP+NWDg{PP631HEoua(qO+_0bqp;acA|=4n zkGEAd;*2O}`y=r1Pf16>!IS^1AHrA;2Cm@62by4L(u{(FJ(^9GH8W#?$!~P9ab-_L zxmX>gzk`?Vkd8A!_9FqvBXtp+ocMtpHx>1p2!&E`JG1?`1Uti*Ba*q5MpeegQr_*f z>m17<_Zwzj((Bnaaf~h?2-3z*qM#)>4wJscS%&UR9MK)_(Dr^2!DG`ef>Rnqc(8v39`LFM-Fl!)ZJ!28vFT3- zm@n+jhmnnL7@4fCcMI*26K=5)OI0-RI#zUAIpnI{LUyrqA8r#o!WtR_($Bag0*5>v zyj8sLL?df{V^w4e9g?=9GhHnwf)g{^!y>glWdEWbX|SKfv5}>J4MVh6Q#D(-B-v74pUkdBdbDSrhetk_)Y(M9>RJq!XC6cwUBQw(CX)OV8j! z4-kI!m2*UQg~ws%W-qVsLasl8`_!26`{*IC_e^4(n>G!ErtHlm^3rfclnP0jp)B7z z(@e(skEd6IJgpU0!=bje#EApNg7l)QKDQ9vpV}GC43T6pb2Urse?ziB=Uu=_FTO`zVP8u) zoDYPv(M~v|`rk87vy?;a6C21!tpg+-WV;EYOF+{FM+uWL%O9?y1r6~w@-4NlP3?!k z@83!GP=a-vdgB=jEMDWnKxc77gaonpp&E|WoQFtPDSWf8bKk(hq)Quzu!oTjVW%Us zGl91a+U>`fD1@?~;(-^_rBw)MLc&%eTQgrJeG_msvVcQ)jCQ%!sstGFPr&hZj~|Kr z(!|5ycc$T1AS}Ivpkj%m7=2(yl@OXs&umMgVQvxG$*niGoY2PE)H{JB5Ll7r^UlXS zyj&_so0mAiirVg;!*MJS55>rV_lQY|pzijd6H}xLMDr8%p8?;STD zgN3Jhu>4q@aCQeGh$!msMFH9!9Kv>K56m@VZcB}|U%&?;R}1{v}>W?riIhC+xo8sw?lZ#)cPM(i5XG~srpw@7Im&e5?F{> zk!?^59_e~O9N8&(Sd|4zmEmYZDQfkAMEy^p7=E;wQ|o+~MZa@P9mS3r>RCU}DXuDn zmB=i(sOlocKZltj7HZH*#Fpgua^RE*XQx1RHw0qH(Q7jHet4GN0}pJ7$wt$d?wv4w z_ag@kkww&wov9anh43UOT!8guFJ-}VHDaxo{!9xRR`bY-Ssg42P9D@=GJ+VQ^;Yy| zi_SKFNQgQ#aIg57fk2TCJiPegDwfzEghVOr9g?IJa$;I{HZfZ^8sMgeUMmJG7Z@IT zt%@FkR#7zLL41rP(O43Wh%b_Cr^p;E>1MX(|A7{I`65<)jh?0HSTj^lj7iYy(hAo` zw4bZNy0P%!h4Am*W`3~}-9L|dFIiV50Ju+mhDFA5Y4DnwKLw`rP;i)7fOf2Xw+R>@ zx)<%Z4uiZA^Vr_F6KI3 z=uDNS9fV^vO|^}Y7g=-BH^E5cy&hX?JK&RxM!yn*cp<#G6skxAQ5^~}4VXSJqN-C1 ziQ_PH?4{8M$QKGqwBAy~wd?H#KOYgJWYz-Q4CAafvotu=w7JXBFc|e+G(#W8a*S$~UU?Vx?2mT_42Zl7AyPi0 z{j7`A1$yHJ-(|RNS=%mzN~ul4DO_xYeb9u?Dr|&=j+b6k<;4Y;3>G;;fp^&8P8+1p zPz<*0OjjVA=xaApI8bUiuXJKsd!Uars$3|M)aVH*n6FJAz(bwT>Drp~$L^Def^dQ%V z%uB{5W!UM(qWL?JJ!gBTN`HHURg{j-!TTAwr-4LVvjvizrdMv3mh49^bh{*sk|67b zSCzYHMDoJ-bX3j4ts~fa-V&G95Y9=Nbcrb5LkDbA^NZA2VORFqJ?4N>bYu%HJdp7F z_#?Iz<1a1)@Ct{1QWXF{Ee739XaFuTFce!Bg25xUHX(6{Gc1sz3tTI<7(fdxDflZo z(shRf2Dn6r6$}YDUbWDQDYOh^3?rSoc7Y+tO$sE7Ewm;IEf$uWB`^|M2Fjv?tI)y% zPmZwyBV~Svcz0^cL9vyp#-`oTI^YJ~cH4pF!(7cD2W}Q0r&c*OQ;*@?`;_C{55jh# zo29$c-qw94yi5gU`3})NOnjMC%xN8<)9to>uzWa4NmZmU$3vF#y|5dx6UVvlh3#qI zICa~FRw@Q%69dNVrvLQ|Vn&^kI+(#*$V%#7)ZzsZs23T(_&8P0i!ZN2;uKLSC9K^T zO~)&-qCAgL5y>TCiyOC4|j1879#p2iCBi=p%?fuWsQYz?KLE|!%u_{KpO^|>6@goGK8pcz@s)uORim1=FF&SLKrKZiW* z*_lI-VqMt8R1)nYK`QU@Zl^UGUQT8wFxo-Fe_~!@^7#s)&-3EF*t(;1jkt!y@;2TQ z(6et*${_;Q5v_ynnZ>m zDDsB(Cg63h&hHr7LV=A;G5Vy*n2hf7Kwwsizi1VGCoEa z&Rz@Yd-MY#k3Q0LYCFBI@tyDy`quI8SE38C*RI9srsr`NP-NJ;BFeNHg>p_^m-C^q z3DN^7LS?vnz}dpS z5?s<@EUwM)3UH7yy>bZO)yVBz_%i1eKBI2#?*xlGx?A>WQKS&G{KC2P4GPYj;SOC$ z3hu+#HDK4Tf`6yEb;-*cv-Y7nM5@&0vMpQ6+=W}v`%-nmUbDgpXbCnLrTv(En0uFL zwloE!hqag&TWP$&8Dnj>x6f0optP92&82N|3VH&r*=-9ja9ByY4L!R6ug~{W?T41# z3n}yxz4VcyG2c4q8N8#<-Z=NPK1UNIG$tu{7e;_skR&!3RXQ{R?@jy#*2eDJVgrryav7D9SJwqPEFoA;lI_6QR|4cU z1cv;w6k~KTOe2Phshn_RPlyEKKW-0$=t&4wAdzF;dsxI9AW#ob)gR|mMZZP#TJd(> zFzI!6Gbq}dOF3??;*`z`U)VtlxT*OG6joJZt6LHP8a~NSgTF_&JP^`hEZZWho{mC~ zvF-iE6w*et;IFJLibES}0FFs)BWJ1!>=Y%i^OL~T7TD>^DadE3YnUxxYeKo=nX|$L zm;tjoroq)=ojH&0>#(*hp&k_-sr(rI&m}mb!NJ!jK{ejy$i~7q#=%qU#F538IlRuJ z3nXLigw7`f`{Qxl%5LLa4*u4lFzw*A;aAj`3`N9)LLANj6C1MO<3$3*3koX2+~P*Mt)E zoj#0Mifn^NX#SAENZ-(DoxsWjyTqPL(B?gqN#}QQ7wQi+mSUvs3G|v7K7w<0arh2; z-IMP8qXAr_*+(fAi))!s`HY!^yDRwP=Kfh$y1&}H_=+>8;yiOC>5OUi_R}VFvKct8 zruJ5vZac7K0RHyx1!PGd`0{z?@M2Vin{(0r5#mTV_29mqPCa>EX$&q5@xr7y8Q}hAp1g;dy3w1Pcu49|NKG%W@bib2JJ_gAi54DzOmU4^hc2 z+fcIA&Z7n?gIX@y>w&{j`jT=G7hz)Tb6ApHsvMT3p==YekC%D#I+&E-kd(+yCS@3M zW`;l8&K8&g%=QB8;`BD4?F#y0i~if$=(_BbP<#3+ed<(b@+HbaGlZS=-N>VUGl-35 zDY6wpU%?+wRubBpd3rFl)r^pUo!Zc9?*<@!1BrMms1LYtjg6l3 z7YW~GoTVe9!z-<(+bmJPn(FF_hb(3k0Ix-=Z-+uB0(gBla~y;1#Yj|lXe2Xv^50la z<_$8#ok(Wjbb2j{(&?1W$)V%C#%aV|7(7O}Xl4vIH1c5Z3WUD@hUeW0FwZwEOpKEj z+IEZ?>|GwOshvX;V2}6dWR%VY-lEhpIEa%RzJ0klN|F!}Isla-c__JoSw;0q>8lhU zze z5XO$H$kKZ4x?rBS-BZ1Tq2ZyWvzGJ<_BZm{w(K?%2{(Drjl`{-hEjQv_F^jkz>Q*RCq zCS~aYFo|7Fnp(QiYUrAR`EdYic<8+Icqa6I}Cl1j-8fZ^^G|9;9D-zdYZX-!<)x#rer7Kko-6c zbF@$)dTnnD?Ws}%mcs};t-eSLyj<_ic$;gC{y7K>UPqPE&v+;Wcw1d*P%jNd{1$7+ z2CC1Nn<}4omt#;~+Gf0@H)ktA)@WLR5X4RX5iVumH|nLB@T15hOt^|4vXaimK@8oQ zcnj@gdJ9dC$ST<^j7x8!u}EVC;Y9iHG?cd;2|^rWhT2b)_=&jIdJGSd94zDs6eWfG zi#N?O7XyT$)*w+AvV~hn?c`5bPG*tJK;KQ3reMTHe4*Fa#vkYdmjT1$N#;NvksfEa zMXXkN=!kT^_gEtufp1q-NyC}bs2?uNyMZN2)HxeR53H|OK|D!p!o3ZQ`QBozpU+0t2N#Gt=AGp@gG2JRFyRIF)5S z0#Y=I=kVpiWJMb$5F;+Q`p)@lCG1TxXR+Fed zUPQ4ZzBC`Lya}y73L5T*p9>7|isPj3;bwV+cV=SS3s+#u_Pm_I?j0pIS?udkMl&0G z0uy2#jE5I9wkP1^vW2;Mrk0mLNPm%_J&R9m@<0aNKd{gb#zq5#$)`Q}n1_QD`b)nQ z@H7~8B+><3G#%%pjE!h1&MV~7&xKTx1<|nRvg4IUe4Lh?DMX$SAE)RJq$i`er`7)V z9JqozqWh;NvUm@^XAs>>my~zWn1D!dMhc0u!kV(x(`071kKb%YCW0v`q4WI$*RALi zI^QcWIGhf_q4NXaX`a8<)N&IjTr4}H1NMZkVO3H{L^$M0ldy`IO%Lh-%8KG@shAq> zw9dX2SG~G+EF{#IY1>WwepgzzxI7)N$DrwMXo450b~szBb)q-jsXOI}w%a~5t!{(q z61`b?T+@O_aneZ9i?|*Fa7!B#y<=?$R@|+wQdRVwNA1l@aIp9|Ma@JOg2U|)RvOvt z($~0njm&Tg(yh!mPi1tbb%xGcR$PtulWt|fKNVVjM@H0%4(ca0U^r1z@XCVzsRD?N zsV?w{s>v$1@G0DY6uqhCcNqJ!Ei%r^-KKQf)Qo*SJys5Bm+Pv>Hqkh@JCRL2hK1(9 z%M7_42ri4|%Zp_gBiPF%IlL!6Ze~qp4c}tGvvle`6td~rk7x)TSQzQe@!e7*oLEdB zVbGi88*XPm4DicHR+L8I{X1zIsNn_rW{#+T7^QeyUaG0(9pn`iu_yDU*V*hjifx zwRI4EZI)K+>AbiQk>wMCo0WNnsO`j5vA~Mvhz%Cp@(q(Fu!Z5@ezZFBo_uw$-T=a# zr*@)-@1~%Jjjxb!T{NLyb-O|5n}IzhUfb*Q|TvhVy?gNwZ*DlH*4IdlRY zrvT45%fe357FLLPXBYuZ^hSkfPiG8L#;Z(tA_;$=dJ6s_a-@AUPOz_Te~J0$N6%AM zas#rkzP#sUb~u4V>I4I#3kL{-Z71{M92oiIKsMjXF3eaQatz8jSa8~l;*W!O(~W3r z&l&x%Bxw|?FUHPNv9G^=pNio z;BbgQ2zv=SQD+GDzZm8HRrHwI@)=}JWH@wXhmT{ zu(xN7{?p0W{L6~)22Q~g=^-k}{2_X;{7LHFh(WsbFrhTMH-eeB9SY!0PK7aIoxjp3$q%FsdSdR7{>Pb(0YcrL!}C9dG5GP)vUbu>?+ zIywTW)MOkO^tmXe?DUPL(!WnD^K%$r=|+f0?Ov3bh2cpdRrb}{pV;~5^4_BI`h-;Y z5z3+teEERd_6e)^Pyk0=wQUZyu6E=}FS9YGe+kcSILH=$Ok-nkTn4_yjeX_h7(z#$ z!chAwF`q<0p58XhPSlq}QC)|__NnQC^%x&~6p^@}d*cf>{{$sni-vE}6D|kG(xiNO zEPEhkOA@ivehx)NdjWuqgIlrRanc$#eFin=l284$5+k(T8XU)q6A^XZ7Z^qFFc#W! z4Y-olA3#Y24jp$CS~U^stMU3%@6dfISToNB@ZDTQsSotT2qV*k@J4h$eqQ3;E+NSp zc_eYrGo%q=XiNS5Fxfxyp|)s$fs)qD=SaU3VsV!A&0F;T#X`_&)b4E4GrK~&62cSV zM*PB0eVJOq{8af%hy!6Gj zv~JmXm<|xiXF)u94>*0#c8dOV-A8aB%ue0cw?Z|17c6bR@Zt98;EW&AehB?Ac=;H4 z+oLb_id%SyaNz}1;qBJ3_u^}ccv;)zOv7v22OQhKAMDK74+4c&^m3$~cL}@UPzVRo zz7gIbdEcjfANqdq@+|lkVk-&4o3HXd-8yyxWVQCYQ!7b0fUiTR?L(0jdgMYG<;YYk z^5l%{ZNea8SDHbK*h)JyuHV=#oB&r}^+t*@Ga_@HLierm1?P6CnXxx*FL@-_2%Wde zx0)Jsc?P-G@JWu~sDO)Ya!GnkgvDYi4T!2f59A9M6qkfv!b9JmoPhCiR$B3INMIL( zm+>54rb|1U{yDH>>FDts?)p|)nI1)kv=VCvn)-`7uw5H~U(R!wjZ(~cTC2PTLvN4N z;NVsaU;5*o_hEwA@f(Y!@7^FCI&c6(9&9SV`g?>>tY+*CiW5#I(aH%;#8;Vw$7mnI zF{xPkA3OZ80Pn1D0A4xPPuS}NHw`o|syrC5idPJ!^Go3RDKP8&g6e2Tl};(in;4qw1wmg<~$ zu})L-J`9b}IBxlEyttVuOW$K&P2)xWLYJs~z3B;3Cs>YH193$T(bu%#x8ePMgpYsu zH7efZIV4PJQAye+_IwA1~Xr6*7$UBI@$3+q>b+b!%7 z@l94-<+3l4Afbg#%uT`*#r=^m*EZLHCyNZ28Am?=6!u3#GYprKcp`61N??Hp`%ihO z1((Pv6t4Rp);tUz1Oq7gb{`y08cR6k%U>;PBBQ$n_RYGm8_(#yXHniQU#8%#XHRQp zXe8lwh70l=xQIPj(0CT_N~H(K#qc^FNh*D$^Uu*&7b~o(2-^k}Z2Ok?apKDqg3K@pH%#M)ft|*JBk>99aEETM zLwCSs+rGRHzF*>!$BDzXjU?iWG;%7iWXz<2L5uvF4c@UhFHTF>ows!^?VmU;%htK9 z7v}kRl(EUu@zoTnMgA%mzIVH4B`J>osPEUiz$h>V{GK0rKb_G9N?U7fqRvfw+S-!15r1h7GU(34 z(6lr$Iy!juHVeu~X+Y5%J7D-opKW~zx&{#2D5N)^jYg+PqtIbwRQlD&xu{U;hM$7( zw93D)FLS&ExWJS4Gd3E7blYDcX8X^Hfx#IcE5DzF zZ@sghsiBb75%~T1GV-UvV;BGiO+-WU8%OkeNt&NOYGc2TPCq|zf$1Cm>2J{}!{|5D zA*BP&`StUw1^)kP0Uf?@?5nS@s~=`5FRQJs3s`FE$|@|Cb+rLYWqsWuOKsUA-)PIt zLmO`H6T|2)t8ehhoWx`a)LHyxfq<{R_VWBOf)(BoeYn~>SxST7S6*FN?W-8UmDknO z)yLFVR#Q_~UKa3KSSC}63sgaa>iPyKOBz?#S_mmGE63kOLBR8TtU*3BiCR;p)D)<% zuAPr+s;CVCuA#iFrfgn~@0Yz8jhY#_Ldl}vO`#8dEJ;b_e3|-x{@bLo(6Y)t*vIf` zZ|dqk-^8_dbyqA|G}=;zo~ZKGTb5MUR@5!AEGnxln-8+O!BSRJ?<=dg$5J1xtwkF+ z#$H(#D66rsejIJ7_uU=zq3Pvy6+ZjWieWOYl6^Sz^UY+c29&9>6u9$pd5_alRaRS3 zC6;yK)s zvU<{Kv;{p%eO2SLGz9(ry81vLS(-A$>ioW1OGR~qzozUSwf7sKV6dj*Vuy|3iVDYP zl@t_Cbx+FUrstPA!&@s_fGJbL{BF!a}T!kf$ z+(P%X9tH*#6nVXqrxv=LG6xDxa=_7Ic_0c3@mn1-rEsF+5@h7^uH1>2vXzW4@^}hz zr@CB|dNO2PN(yIqFUr(lB~G`)GdWLY&-J)nlL|{b?t((D*qK-2#D-SFPlh%_8*XF& z(ZdKb`)|35MZVf#Nu57XjUla23+I)i##h(-D(f1#4DJqYB$vsJ;_l?KI2*U9 zuC}hhUsmoL-B5k6&z?bUfaXKf;CJ{(srGqDdU|H&op*9WeC)#wna4idkdf@e4Y{3t z;))-^#?NgHn4mryJKVhbx`n=4t}Ga+!@#W%jA*DLHG1fhc_^`vX0@C_nOxVn-#O(pJYtOStvypZnosCq78$CbL zOr*_7|A6#Kq;Deq7t#-rwj<5Miw{SUK8W-@(pQl7!y2>+sRijt=^yu?9{7Me_QDQG`@I>BTKgh|iZmN3hoEXH(sV?YS0nvB(w#_$yaTrKw5+J1H?2p5{>i_QtlA+ zF~UAbJxHsN)*#)1bT!gz4@aYKBK-@}Zlu?J9E}=G9JdB(D$+AZ$08m53HlA`KBNJp z9^7)ZA>D!WO{D+%4E=~Sg0vsDjLaj^=rE*zMCwJFjyP^J(npYPK>9Wg4@Z&yh|>*s zCC82ZG8#=mx&&!D($A63Mmpdq>O*=bPDMWnijUj!*%ln~*+<^bpdGNDGcZ z52UXmHDAqf%a212Qu;FC>qyTb?Ls;X!JzX<7a}!dKDZImN=0fw*uEJlh3}t5x(4a& zWR6>fD~d*>&mvumbijG^J5npsZ;6Jf>7%=MDyM5S>#py2g`o{wAK?S>ZzE0zw-JN$ z3bY#K@NXpkH9Y}+FkU&MdAu=Yf~oHkLlZadx-qxhVZ8|`N6dKRiMtzzwOj)5$-+NB z{;dNxk+#j4rBU*z1+sE&=q+` zZ-QXVavIZ7VUE!P1>|amp(sT>Zb$ePuTf#}k$#ZF^a~}?qs-~(c=Ii}J=x%&1O9o$ zkIaXuJ*|llyPDebAk`b{l`xq#sHY~mJxftGgtBC3xjkOi9%}28N?tnUIjF4*m>p6< zzJ$CdP_CTvQ0MA|d}GRkWJBoaF{Xf>8Eq`GyTJQ4cvmRAYe+xEE*JH48nYATGkZ8R z_MkqrBw!82noGw+`Vck}SfU0C0ONsuk9z(=OwdWG2X@ff-$C|wpt2c#SO+*S?EqKb zslZ{en2vGvMZsUfWQ%sxdkb{Qrg||ZLJ0+A0CZ|9Z%i*RnsYmt-KcMmgZD1*-bcL5 zZWv(?CW1SZL>8!JLr%6{4Oj+ZUlG7R82do{Hsw;ACK%WCPS|T)-1 z0!zm;eF%FN*k6D_ZT6wHiGE)35n%L8^J6N6()!W~ycPIkgiofq!TK2MK!UH2F(q#| z=Ej>w!+4A+7?zCLip@#<vk3&8gKMhurfsi`T4#mgrfP3eeUI!4B8`Jhi+Z% z(dZyNlO00|v&h8E#)pviIr2X2$xC<>LxiWnmkNx0%_rd-vd}o|16VSYIKkMKka(j` z9U<~wPv2sF8vf$~lEv1|i|bB80cMqxO(a^Sd-fihzq3*9ZIlzJ+{HSuPbD;>6c8w* zmcpY2Y;7nr1U_mt^&e|fp3$FJqEnU)j^w@so+|jQ>+me=GtHR2$jFa3ddC}!#~Vvw zQHRm*HfA>%%`UmU63V=XGPF<0x}Xgq?3v!gu?ea!$Rhaz;1752jz-VoS(cB6Df{aL zV^c!Hr$!4(Lp#|wp|Q`S%nR_L7g8DIJeW{tOyP}|d5lk9!)Yz^gYP@={g(Lf8Hs<* zz^;JbT}?pDc*hPI(qkt}m~!cGcY^hGl*>XnK`FOJ-rG@YYZ9Bg%;#ZyZY~y(ip%*t zJjy0vbH4|2!it<<_%NtH)N3N#rp3l$r?Ir$Sd1B6^$UN2=C&8IuGtrjUQ4oA|4r^$ znPvm>BfmfLuU6*gFY3a&5$c7WOei!KPcoKbBIHn4di}=Y0%K{8O8&BTd9Ub%{C3FC zqx$h7osI%K1MEfu;M2j$V8aeWg5@V+A^#Tn>iYd)!W_o27_(_Cc<3B7Vn1Hi?-`TT zH0CV{cT*RedB!{iUNE3#@>uGr!GiJ?C{JG_74b|qA@2tY&}KlR-#~lFD)9UhJdMP2 zkI`I-x=Hu{Tin$^$yHS8n&}V|VI~tmNCZyW6>}oOI7rCGA7myonIxEmkeMXIkG}MD z_ssN8Pj}lt^TUR9AQ)kTlHH9l$cp2VjZs%cRw643Q6QiaH)0I&>|qVA8xT2&hZx1p zlKpPgcYC_uba^~y&)Ka*=2m_8R^6&wRky0%dtFQbeiaa8Ywter1Mm~V zN071(0sAU2YXi{-9a7dyz~v?YyCz%%e0Z`f@h4}TfpzQvK2b;9^jc(d%U>#vi!{3s?UHW(GNx$V*Y5S6)+K;D;;_a(_|=Z5t)7)ka2;mqZ1 za0le>|KX`qS5R(*HrNIH8Q@oy^VcuYnn!^>27VpRp##Fl__>Me&SH#zS#)GhzW|w~ zkg@v$>%)2)Tl=ifXj7kI2U=^k>@&{CIdm8D#H3uCXL)%osb6brZXJM>zZ|kZh3pj^ zBU@zOu{pA=v1L<*tE+!m+bj0oggigTx%m>wgTBQ&eqkNzD}A^VyjO9SZbRH88=KY> zzYqBNPoFx455Dk_rLn0S_yR{-FCbs>MUtZ|~gKHaznh2ICS^C151LwutCL%==+Y-I%& z8LtD{U4gEV?Bli8H5qH$QIE@ha_ZD`Qops*7Hi8+wB?&HrZ#5ESd+X5k@pDl4v9@C z*D8B9g0rtbX}wC&*t5KGO{!wGk3#$mJO`Nh4EMkorwKdA+I6Ve`Pc%Pxsb8@YRGIT zbKN{y1O6QF?HS`bsk>cgWZ$(4b?@-a6B!S8Anyj`wR3s3j0YHPM%$yy!P^7gXTf`d z?Yh(X`pLer`!wt8Wlj5%Z=ZGp%97_DZ^q|`uX2AirL4(y!}jwE^xiu3-fHye3ifm4 z+WK1EXQC*-8w=f+@%&{A;s!QAI}&fiG0Zxm5{Yo(?ldBFk`EjKI#30Z>#i61hbY%rI;@_eC(nutnPwxdu`< z09y_$4s0c`E@1136(sk((;8da?XCgS7^F?w+xM z0J!+S|Lf4w?KB?ka`gB2I$G#=^d!?Rg}=L8>=%7yq$)Cv{3?(MnZlmMpYN;m}A8}$&TZcZGh23L*Kiy%P zo`!Rk1WmswlwJ@@FASwSn8tR+g;qzfWZSUtGmhH%iD>QzE`6RO#?4mvccw?l7k?%} z`M-VrRMw_ttw+$g_yX1j32c^WB_CU88#b|i;?5+9&yave$yI^bupm2FmKq5UGNaCM z7H8~v0sNzHvtmZ^Jyf9eUQ9#a=wpNG|F2W7Jpirf>rCVSzF-69k!`Q`3m%`_bb^Xs zWBOxG{Qv#$#DUsXSk&t9PSW+HeWb&rTS#}1?k3$!x}Wqg=`qq1q|@7s4d;-~CtXC^ zNxGi2k93%H3+WEh-K2X-_mdtbJw|$hbh=$sah4>VPr8V-lXN|4AL%gZ7SbK0yGi$w z?k7D=dW`f0>GXECpL9OyBGOLM^`w2I!=zhCcaZKT-AlTk^f2i$(i5c9JE)&@KItOT zPSW+HeWb&rTS#}1?k3$!x}Wqg=`qq1q|=vDKk0nZMWmgi>q+}ahe@}P?jYSwx|ei6 z>0#1iq$fzHcTzv;e9}dvouunY`$&gLw~+22-A%febU*1~(qp72NT)BOe$x4*i%2_3 z*OT^<4wG&n-9fsWbT8?C(!-?3NKcSD?Qmv?T&xA8PQi+}V&{xkFe~^G!pfiEdZ2hc z`SL%Et_+GRef(x}pLKK^h&Wo+f8*bfPojLye-GDDl~TUeqsczRQtl+x@)vw^603}9 z{>8UdqAp%pzgI);6A9sK{@;Df<Od4JPl^-5onqTIP1Z|(%PxC8Z$A|JY|HUr5 zS;75gnBN@YYyWBan*Z6`oS^1czUEiH=2!iXgvQsddtEuo-xuQFAL4%}#Q!e&s{g~R z|C1XTA<^=6`>yuW`sw~u`8xlUujMOW?W=s<&njQ%pYm0IiS<$a>Q7X^@>Rd`Rlo98 zzw%YT@>Rd`Revg^U;LH?)vtWjuYA?7eATaf)vtWjuYA>SH>uF4?N?m&D_`|1U-c_r z^($ZXD_`|1Uun*^c2a*6)2d(js$co4U-_zE`Kn*}s$co4e^E$(G^Ahos$co4U-_zE z`Kn*}s$co4|IevU?cd6@wqNRd`Rlo98 zzw%YT@>Rd`RsXxGPxb49ulkj*`jxNxm9P4hulkj*`jvl(ev0a+kY~t$jn1JTja&wf|d|IB;w~)WAz5PAW17(H)S<1>w( zi%0Oa$;lf19>Irx1AA)8pILtXQpt^&vy47>sm9MXx<9JM-(+f?_ao*UbMRj)C0#rs zPfHHg!sp=SUoCvDIm&%$B{x!jN;HYe`a8}1hP#GIT;_WncFQ`hqGX)|T1)-{5B^r* z^`^l*61W2N8zh+rg3CpY5*9jwkDVQU=|%_WezKkTr-)zb*k%=R-Opeo*{~LW>+rPd zY}#iUae3z}dVjpp0XgCc&^j~M9JDVSCil~W#E*n<$tUHs$6NtdI%003{DVJpfa)Db zQsi%;ytH4!9r!2s{ls;;?j-&I@v}u3L58cye~-9*zX|M1_$T$>L%r(H_fr0bUPKVy zwyr1~@K&6})LhU_3`TwT8eRmG*87n_I&b3`q4Jm&^91( z^7n+wUrPKw;%KG~@?EXe=fRNtTH=OwfTytGTHw;&hlgC+e&>W}jPgfA<=l=3!BYM! zAzbVv_)(URgbi|Md>!8UM4xhLb<;V@-xunaVd7s8;Wq-8dd}d1Mf{6|&BWhET*jY- zJBXhoZohK^zMc5R1uKS|He9%e_zvQ?6aOdT^NJ3z-z6dXE#kNF05L)N$AOC-###R; z@uw)S?t7JU8kDPf-4O;(cQd5Wgcq-qT6>QI@av{5|FMean0&E=IF<)Au(V zc4i)M@rUC-af0J-aCDZ%=bDL-{b#bAjW;?uwU69EBK`79;=iQc3yJG{lXHp7RVG%R z?^En|K;SI`F7=7hKW{{PB)p&UCpWpYJ|0^}T;C(T#j(w5;t6rQ2at_HkE zS)cE3af0^S8AQczNqhAi(Z+JRiR<~~y~G3Jh1(pUexRSYK99MK@)_d#oYH3qshP+s>xmslM8laT!v zvz&iqIY`=YCGnla8;D;;d>`?1h+j|qzL0#s#Zf!fr-|}e%8yfC`cJ|b@loR1-p$1I z+^hJoliVzYEcFDm!N2Um?}FXVM1Qq%KE9Ji`ld(zfCoS7!GB}%2J_|~SMW!) z6R`29)h}~A_=O&P5%8#%SwWY2{xpZc8YudRH8X$f3q^!dhTJ>`7G zgMY_^KkdPPXl=E2fV3X8pCUimj}v{1#sP*vt(M z=p{Z2&prN(@k;Uz;I+p2dp!6G55C@mCp`F=#T(4WSWn$&-a`Cd`bi{h*ybr`rw8Bd z!5{SCPk8XBJ^0Un&#s?ij&MJwHvN^AZ!oiYaJRp`1@pM4oEcccYuW!i5B^TzqF2AG zQN8c8@(t!I>m71E8OuE7T<5|2S}Ej!DL@LG6-2bVh{WPVL>U7JTcyd8KG_UGa8aJi?PP7l7)gKzNQy&n9p zJor`*ezynzs>K`3Am^!mhr5sXtsEyfncMIr@g4L_danPer~DT^`0E~g77miN`fHvC zZ}H&o_uy+ic+!La7#mUP_oGK?0Fp6}{6{_br#<){5B`t`|Go$RHxK^22R~`?26I=) z51-!X#{V}s9^!28n}N?3JJ26u8(>4Tm1m-Yw0ZDrJot4Ue9(iBc<`+r{4*Z>eh*nKk@9-I;?zyiP67Z$v*4yloRvdX_m9~ zZdbr-EGOrY-{iq>^WfWAzP>lNzfXdWyFBt=^Wfk0;3n3ax&)V{C7a_W2#^Shv3`@v zq>2D=ZxsIGPCDEN*PAUCv$)hODG3r>Bo!YtndE4(XsFF9Wc0{t(c9cQ^`!xjM@v>5~ZP`F~;ppRg9C2rc=G9km`>Q zq!T8dPR25&oRpr(jhQ&Eb}J?&m{>j^%k*0)p3U^7`b)SDE1#6BxTv%+V(-vG zNk$rB`jf?cHe1XU^G2wvpcLt9-k*dK%8e+P_)shdYvhUpW;j(S#nL8T$`^3=ULqeG zK{G)|aG@AXWMJ5WN#}F1gy~I>r~s}T8_13fq!PAX)}Xjiuaxf>i#SCiLj$mq+D_{3 z(x@s7R7{$Yp_uedxrMyJ4u;PplEYFEitNkAar;>Y{U@?EmCBgGMo9{nN)LIb)|H=fDXZ(W6sh; z(1PpkOflQvpHBASHp8OazlWOfA~wW^`eJby%1Vgw22<&@_ERo4f?k%Z+~PyHMNcBO zTQaU;Fosw;m(S*!VTgi@wa|oOC$!$#vzRKPqj@13v^ovel+CF^K8BBdP@0&@mPUwu zVJ{Rcj^Y31E6ilRI7Yj;TFdNlvEft_J&zucS^^g0M&3}i1Y7aKz{y@?Ii-xdt z8HqJt>c)jsRqlht{7L5qVi@Ieon!&y4EI9D2Qg>GHK6ki21_jME}1LeBxf&@!zFTM z0CCiJsN8K*v=kX&D2-iOj$LMB@v#_244Dhdv3Fr|W3-oW)hzr{GN0^EVOHgX;!qGz zXESI?5G1lee>&S6O9zP}svE>gqsTv$ODBuC6SJkZM9>Fk7l@x23t-p$nCZ*oHqOAg zp&+P81>zQ~L@~Khol>!HaUv<#MfQ$iHX>=~52#I#N_zw6n~Y2JVP04{Skj7*f~3+Y zD+oH*;!?$6>FSOkKnh==1xuF`T;8$P1j|-ly`*hraCK*A7p`gSZd&)iiQXsg-T}ayDhM(z4 zWssf`dx53UAV-a$L04_Wp#0w>BdsE2d zaGPkcueEjA$`wo6gLmO`yUWEd6jF(5tf#MNwWP(@OjfRxOQ+;wQ#cwhLRs3??XxE6 zvY-&hsIirnrlT_o10P6^^=4!F#46|OOwTg7xvpe>I0^GCOBOe*S}it7FSnjJ2xK}3 z)~@I#cgbh9;^b(mSdH|+;_Xtyj_gQg6-En`$5I6~kyK1Z3K|~3{fwj%SW|k|WyIgE z$wIBx#9DL>osY9DN|TFUQNbK~-kR6dZ77z?glf@O?7-60Wp8j@hmmUvW0*-pAt`Bo zS*xoAOk`XeVuga(L3^H-Ee|U<9!$?rZ#O)$*0eh-sg;g=ShU!2#7S zPRF$fje)kSaqVdbZ#@lGbgv2~{Xq9BST>XFwwKTj_thFu!HTQVVTn{GfHzE_CGKX` z!b*G5s=?Tjxv+E;6)c#(T&WnZHi^vHY6Mxtl;z3Mp3RN5VOZft(xmttZ8_Hed^#EG z2ipL3V^!6MBg1vHZg5$HJNqul=Fwg|7%R;x%Iw;pGtCV#HB&GuwyUnUm|yH#IpR1S zf*?K`lW7@CW1CT(P5K^=A=#hLmNGD4Cl=?m*yLe@h2<0@6=iBAFk{-&I!p?+y2C0L zHz5(3>{wccP>i^aW$ilfbq0znS!=g#szEGYp?x*R)>6CGp_5n@D`KA-1TZa~sVI^y zf^-M|o7%XQ@NR8IObjfbSWqAXuTm|BzA0n_w{+W@yA|DzmqN8@PaAGY9kF$i#i{J` z#8ERV_BuW7vZAiSev7qVRb|8ttDM8Zh8JBDQh*UFQ$+N{S7Xh>{lTeXZi>@%GYmF` zS4n1uLxpr(cvg~@XfGo*o)5tiMiNoPf zHlqtGifd6Inc{;%d|)t;E08DkFEl+Ha1bcF8Ry+)mfO~d{fBas;<75(Q9~zbtCe(@ z(UuwFI?>04$wf}5rxcePt1hkwK26r`?kpmOu^~77x~y-so=O+I6@|8VF*S_w*^$KT zNOCE2%0p%L6=i-d9fh%r1?ypD0Z|u?{*}$N=~-bnac#00N7XV@>t+|(8ph$8Y(0Tn zu2*0WY@{t{f^CYl$t__^>`vV+VRqrD7~q_FTy(4nu;KgMib&(?JfRQevf!qj>9O6|Z9QEI=7JN|N!@8@?Haj49lZx{+V0N5vS_Pa zox7{(wDR0TlkMCq1KiC)ficY(3B_11Xff~TfX3`jB4?U$WJosmXG+bzrBpg`Nh(38 zZOMvD

9h*!&Ne=EPV=CWoas7h4WCMg<%^suBTs`D8jKf{f+TMbm6uUbFSR&9dDF zFKZ3loE+c=dmw?lnsPbZPTSZV8kbz60tMLW#D-FFQ~~F7`O|E*xsu_n3=V=rI48m$ z|LbrbN~ps>e12qu{?0?GJ})NQ%4%HbTk#LCY|Hue_aI6y6rqZs?->bsbRqNU_Xhf0Q;S`V2wp9e>#z4sDBXkS*b?xX+_qiw&#@@} z-@KssG_0Iof3Koc@2jBr6#IP$4E!duTz~yti_%8v90aYuwo~aKcyiZ-ruFwPO7*>5 zxc;_K{E^RQ#ip8HeDqVgH(wp$t(6m;dfTtTMlT-=s7xgR>%piZgq`tIV&zGg3McdRe3W zr$z2V1dqn;91u*uOUpeZsmcC!smZjK^As3(gj>$9zgrsp6Z0QIUa7w}Q-9wy&iv7` zVIhPNwSOo7{3oI^_B6l#4r=1tPNs$Vb$n{QbsW45u}b~=d#QtuxcmzoDgV{{N?#4- zFMo%&k6A(;rumef4Cg<@e2+PL1m6=>hG=C1@p@EV%F_1h`=28RD5wl3qohjSfc(<_ z76nK(e`xqvSrL&u5`>1j$l|Y1|G}tD+Pm+hOSRqVf2Db$D%uSDq+<{c%iyXAs#l@e Sh}6oz<8>#|6v_}vn*RYlA5wbfp2Yx~gGUTAAuya$6^tX0H5^;$(s>%^dVu2_q+C9YqGP+X`kow`~3cU z_a~Ec&Udf9*4k_Dz4mp^tgebr$O4zPH`&>jqd=yT;Ch2!rQza4g;5C8IsXnD^K!=heK zwfB_kSGV>3Hty}3b7hY|wa}kFHnqCO(Nevs6TIn@5-0g9>WZI>dfj;FJdn(V0(miS z>X^<0iR`RhAnN(}WpCCP7*y%%cJ5A`B;|ONTfTWcWef$H$@h%5zL!h8d+=A|cAZa| zD(zO)BDJG`c2D?smqgZlk`rE=LPWG~rt5tat?{Qs7M-7Wdic&K7M(xhqKfdH+eUl< zV3gdA9Fw^_N$y5mKz9{+A0*FNv-dNko17S1?R_5p-At&*V%@HDNWPMOx$C_f_ujfP zdPV=K1kNt)#yzPy17rvL`}-e1QfS@&?qq1N@}&n-&-On=g{-)BcCUViDyAw$&*UxcJn#-ljD~;B8({m+j7+E6>NJ zA`ef_?4DYGYV4tWit)d*eT}+~*IIeoUB5DqDtFGD{ylSg+|<6NxUQq6yB~C%Y-geC z=blaz@3k!(8%wOlK=Vx6nQ5d0r zMSv^Z?Xf}^i5y&O=&H5xAz`6=hL)E&OoOSdO+Cu=seL7blqu4hc)uroya|P@l2=!l z3;C$svBFW_x&lP{>qZgDH|hUFCqkUJZj6FSS?_lG?|N@|>mmvqjsG!k9bLS2g$klf zaA|^TzE;e8Fa5`V_4i9PJdnvl(GYnkxw2<7m^hs~Yop%o@FhE{I=f@xOS-jzvbw9_ z2d3$^SN_2b;h3+q^8Osn+7c^%Mn}ZTci)hY7}8APPk~jeYgB3JZahxy8kHY*KcI-P zySr}=yT+J5yCmjcR92PsQndX2)kpZ>r|ibOXR>;VUqi$MfA*wU)*rl=W983NEHOva z%V6C#x-<)J=K0F5(fQHvv=6g(Ma#ETg{M8I+XDm?5i9@u`f~eN(yJWVig%Z93CDM! zHdFv|%b!RLixt0ARlMWFaQ-?6PiV06sS2U8tkgw@G{B@IvM|Wbl$}POLs)ETc#>!O{OCDLSN-sGA9LSyt2-`iU z_uPN>_s>yvxpZgk4A-BkddX9y4{1jq@@wuxQlDnAuT8zw-}fRa$7r`pd7Q^oJ4W53 zX5;!d)Tgid1eMV1p+-E;Pf=C%rs6&YV}8{nf98a&Za-O4yd_%Pon8SQT>s%V zQ1v}okNzS$D|%UUX0#4Yb!O>1wQv9huD`lIoj1TW-}O~D-T!3z19;HBzRq{TYrhB% zQ8d`m<>`(wRi*Dh`WLD6(CBfw9IfQTczA5O@31PrrLYX`d=x2MRoY)wdcf^`CA{_} zJo-MV8};i7M-#6}QUChF2~j^$Sdz7KVqM{=<FtoGh#Z!yS`6~L=@)fK|bsvmQ`=g_6Xvg&_9O^x`$i0i|z!nur6 z4tc;q7Kww*AH+8ge9KiInJjj@5{0?0_g4BEXos>YfRS_kNrex>N{;UEW*`rJ=W=I9 zwP}=F-n23Szgp4O_nwO?_c|zC?}-e_?!<7{zj+Ny=W*)=_1z zvpc+YpJJqFl)9zwsHkf1$&5rAGeVvIC;L8h7hGSM`xw=#(pMB++3@7g4Sh~qwEv0f)Rs|wUc6j+$mH<2r#xxg+uq-kj-W`(|B{%;o&Gd$ z$263Ds2WD5DsWh}*WLF{wZ9Ussz31vJUV#}ExOvPs83(_kN*C+cRSUA^gll&k$MpC z*EG4_H&+67y_HRUk77)w3|Q6qPV(Z??p~jApHgM*BuAwkRkM_W+(LAhr+b?6S(Nvw zV-wrFS!Ld=B5&#>Z|d0ekt&O3BG*$->37g-`Cj$9eJ7^BcOU~r`=9K+5IuMLR)tlz z^}Q2Rf4LF&MC%?L1C3FSZ`wzrG%k0eDz7bE51d-^^%(nfwGe1aVbh{t#O6`GXn~<%Na-n+% z9?XW!7`jJjqOyO_$Dc$`dK(s=5r_MU#4y+$6NO2YEb1Mi-WJ8;@~b*q3P&ZXU>>$8 zu^F8_7FnN1Sv~?Wr);c2UZdf=w#*cBd7oBxO*k()qsrS8^WIRb>Sw$CxrMQu1gdCi zQsIbj=O+WhUe|l=QBu;#GPCk>3w3L>3R3HOHHM%ESZ_{Hdk->@|M5SmgVvewFD{GD zj(Xdob7IB4#aqf%rH^`l40rtkBGE$Tp(MFVEAu3ll|fvw5+V5d^bg3Pp)K~kGpDE4MVq1#)DAL& zpCaGu*Hrki4elu^D$vBW{vCM)`ZVEj{okxtmjP`uiDGEhyVfXMuFS(QHT7^kNS(x) zsfU~BCRynF`MB}#AWl@5yx0BT5bv0;23YCSl+XV*Ir`qk%1=B@_vu-+YY-tw2tAma1dc65-1InKEIJV;JvH{_KE_l2x;=S^e}|K zB?HmGy)NqgLmAEcJ-IBN{xU-?3hn%S*T*u!ldiXG&E9`ib?!|JquZymT(2rqHN3aY zRC6%YgFDy7LVjHdxiov(4}}NmZ)#9pP>{n3vj< z<)ujZ((VIQPF7+>X?N;|JSTi-x0jkndGg+yJx8yT&|F2;kkr0;gH?LCS zAEWLoYG$Z{f!8ZRML*U}U5`H5#l$Z!ksAyD?lc_>-G*F7iFc?#8iIYhOv6=HErRiataohI#Kj(T_j%ws`y1bzAW>S+9A&rG%P) z)UO`v|CUso+%-BYYg_rBZ#@B>M3u-j?F`V_93gE=mSva}uG7 zHE)edqD8%z?okHsBr8c@)LDavM7yu({kurG>;HB=E-@cM>7w#&`kuZ@VzwO2`pQvK zE>_0jCo%eoqQzj`&Z(7=eTs|z~Z;t)k%d#0~s|=MW3za z8}JJcDwVVsh;EL6m&y-Din4@()$Q-AQKBB=Vgtp$7F~CL;waa@o!GkNZX|J7ZyUx5 zdWk?4MAr%6<;)2GZbe<`?s(Ua)(odI85p@>Eg)XLBrkcY9`^Z1kDpnS+L8V7u9J3c z{AV(ZejhWaZuD_o*A?{da#KB#c==zGPowjowHUqF^%&({uS%4@f@L_xePG8%S0V4o zD(@rjC6sOS`M>#9PON;-@{;f`u@^8i@3GbW8LeVjdt$dv(!=&>+4kh{n0F>+A=a)D$@9I&ftpT21bDQaQDdO6A*N;_BQ~M%DoudlT9miBMFI@>UZ6>`Ra@L?4 z9&oqpIf?g@I0Muy^0ZZ`#lR@IjMka)(MAm;uEnST6PfVuUi4==m50~;)~WGcqheO$ z>+1e(dPK`fqDrn}H2d=E)W33*JKfZiuundztE3ON)@5|y8%6BD0 zSdyVNFx2zpKl(<=6Jq`m_quyhtIM3^7cp8}9ZCP4oHDj}s71`~y>fqle|-=7PPD=k z)Lz!=rt~jq{0^7<(%;ne%HAXvbX;FmOSki#1e(+hO=(Y!@|U*t?K7eMXpuWn&3uy>;Oi-H zd9(tKZ(`J?wUcO>a&vC#U{>N7w4Kz!?Bo&H-F%#^>Cm3)<-Kuo(98wigt@Goml&OT z{0bsV9EX>O-B@;c_(^}XZY zfmXEV-=DxXT1K#cr(&w-n3J)0h4Fa4@|oeYb}S$MVYq&3eqZi~;VZU$5YAV12U}A+ z7KP7xZpCQ)SClJ8Vk|#3zjrwVVdq>k$E*kY^)&05T9cl*2Q%kcCI0j=7~EpXU~1Xm zhA;IL587MIu#TqVV9#58s zqU}2W3l^8zsy)HM)Jki|GDZ3Dpky!Z?kO@|4lQa5-0ITx<*b+VkVa;EO-b*4{|+qZ7E_4OJMC<0h_7m(xP}7dUt!f$;HT7#!a#- zc^c@`pTVJ^RF9UE3;JA$mZS|@-}^#ue?N*{RZ!IlJx;wl<@-^c8u@&bp~n>09|K== z16nxNG2Ua=dQIR;wXw#28jeQ0>OloSdutdvV~&!sa;7}I=dQ-OF-oUKsYs*Op@%a? zYC`;h%!%`m*V3IB80aans+WU=@?5xpioO8EdM=EeJd%b%JN{SHT%D^8qvydG7Sp}~ z>TO=!{~yhPF-O-{)C*_6vSYdy!z*k`Dg)|h?1-h$2O2Lwl~ln*IC+Hb8&Hd?v7hUf ztKL32a-f6N(*#~_DWL9WQ2uCRaiYq0^2=C-EjlfEBAJdh0QE>P+_|4brDzkh_c{3R z)OBT9;kADNnEuu)m zdQ|l=Nvz+g*^<iynLeMGgY#W#nWK{uC9vfEDD|o7Y`DWdHCz1+Ie0Di zG@Rz*KJbeqbe`HER|(wm)_KXp(x<*f#M)1lR~G5{?v2!U4$AYub}TYY9texLsuM_j zK{my_&wLllgzMc?*3sNJiEWYDIED5KokG*gxE!sPap@GAT50UVa-yC*o$8jqo&-BZ z%xWht=AEv-$#CS^v`UKMFHV~2CiXvcWU4OqHKra`9e-jZh7714cdG&9>*>2*q}(d0 zy6ULyy*pN_mRsMHK2r@EwTZOA%*tN{rXK8HiQ}602aM^}&zsYGB>aI`*LN|n*qJEt zkMnOL1KspyKmM2RN_?qw*JY*so&wW9P^MSaFIwMwCN=>vD^r>E!~T?to8F*AZmK)q zue&9${Hes4(x+x2F&@&31||IfTKBl+zo*KPn1{*8M=Env?Q7Bxs`C%8rx(3|N_ZFk z`BfFJcR$hku};@hMU)V%abM7sg-R` zVswpvVfqscv*O;fv(fGKE<}^f9L_)!ziA&85!ZX8HD(qj{8ktb2Q#){0VwsT8s>#N zAHYNUhiPc9)~6nfg9q(DsHGofre}M4nn#mJ*6T7h>eWtvi7`*2A^lb0>Z?UGI9)Zp ziu-qw%ej;u-|_FF)g9&@*PTGt6a7!k$WiM(ac_73j?5+{O}%uLq5aZ=$Kq@9aej<< zAF-HHkUBUj@x|36QwN77PV6lK_vZv9Ip_%&G9!vfs(D|2cll|Q%o8u3z1eoYLkhyyz- z$rJs%Xw}SDOK{kRf~V1DPyhWTIHk*DUiu7WoO?=l74J$NjI2Hy=abG*i+=*$IKH$$ zh5{Ou?m%^-tl-FkYIC-@#MeZV_0`^AFbpU-EZq4G)O~G>(gV8KxX@;l?i^HNfknkF z8zq(*F{)OG;u^epp_ljkyYf|*RmLC9!+rX_KcTtka|o{21ILIC9Yeg87{sFacqhQF zPI}9y)TRPgvZxuz@&X;L5zjoeDBSrh;%3%93{lRd{;aZz%K!RPCnXOreMO7KvZ+3~ z$tMM_`b&TRh!?|azlJ2*T@Uh`$}Oh<^*U*!v?Fgl%k`IFW%-@NY241RYI|{!Ut5Um z_#F}K@{LVjq#VP~+n`F{pY+zf%R7KW4(GA8cOQnYPr~bHmobxO>*z?-KF@x=OonpqAKwi(^)CM5Tw%DAPFMKr^mJGi5iJR+ykNLojY81(+?Qe@RTr%~ zBg#=~>4fpp18UiXW7OyjHDC>$p3n)UK6IU*Gr(L4)@gW{i45+g0mo1yX=a{Tc$n_` zSHj4zBr4o4wPBW7hm5MlY0RCJ&wubFP@yNwdjFY87@TFge6Rh&lvadf@WjThQl}9+=(RfF@PnLu)NX=^jpiRgvvH zYo4s4X=)eur$&;)QmgB-lOy6h+Gv=G6F9Y(rf;Q$YCJ^e%I~Jq?aND_@iL(Uwfn^c zP8zSAr#Poipye3dTCo3vig=_uaml>I;pjN9(Ac}?W3D;_Z6lJrtkz!9cETbn;L|Mj!L3tJK=~vE6|NH~9eVzpNEPW2Dr*VFePk9Y7TIAys={k5jl5xi1 zykV*Kb=Q3-AeV2K?n^F8u={wKw@p23MzLukWjyh(7ytLmW1wFhe zzAM7tdouN8cJIX)M*N#`YUYHZ6yyJ9r13R#q_LJp8fCP0@m+HD)Ytx)JU`m0vV}Ry zptUvKcxgP+kD0JkH2F4Dn@D%s@qy2SHI=wCQfcjMv_YTI3_v^vKEP$*$jUF)jz9Qzgm1Mny z0YrW*>+fekwV3xo@l)OlTl!Bd{j~Vg)TbxjI8k?dSavM)A9cZ^3I|ZVXSya`8}l%z z7!{5c-iaiu4?`@J;VIKH-=)FGjx{i~+R{u${4VO5vHhlY z;XDlWWi(QcmeF@r%-es4-r(E4KQI)o>UOmEf&jvRjbG)NB}Ib48|(7?!H9el_CdgP!6Pj~WIjZTlW zVB%JfvGgmM^Ds&D_$%wvAN_%J=)nXGaj>a6MV)?~P6@fZa)IkVPE>s_VvVpK*2npNEFT~GH7Yk; zg>655g6?HZh;a&eh_6c-RIp+4Rayg?Sd)Gj;~%aYvwQc@w4M*4p2)Ll*=E*L>1RZ# zS2H~ljhP;Yo(?8-A3nALcUZ5%fd}KXfUEb{BAJC6?K-@T>p@-ZZTEA?Md&Y);6jeg zugt|At^4DmhPIV?xQl2YUr~$#K+FEPPz%GRB<^T5md;iS52`3>6S-huxek4=T7A3j zDP$FO3A23t)v`5Y^lDFi&#ku__grJD^=1lAJ;!BDRPn9$^a)(7Jw=dtd<_T#9=eGR zEU)91xKdC#j{6G>i!#f$J<~e(R)?$b-M2A?E)K{?P~Y8f48^THx!QND_Lrm2JCHa6 z2GT}@&hxANa|y%|7p%n)cgjf|v{mfBa}+2ucB1PM*T}7 z@AII}_;Npe|O;_<%845eoP7a!k}$Y*m}W)|oz?%vA># zq|sK?|GsvwiV_K^5Uc##RcYTC@h>Ur8ht#zFPES7NmbUCX!*_?N5=4F3QrSUf*qzQ zV?j=JA)50|D)4C5j%e0%Rpnc59EtCjROxyWEq|Oi;)^u;>Z!}bOU5K4`j`#QSRC{( zE6F-ozU%rUaxNP-cB7%ClIH^Pb2^$v_a>6%TWP@M`w=fjKX)n#NGQc>CaIfm;a zlPkG>V`=TWz)^!5Y(I5_x{kEM`W%X$cG0*7py59bmU?KfNAu}lJlWsR1*Qi1JZ4}4 zwAg}Hu@XFZJ`u-3^Xjg3>w(}9v{C?tsY+4J1Eac(SWlD~6;+ik?tv4DDqXc+P1U3A zyRkxrrD0X~FRw0Ftt)vrjaV`5`8xb5sHq;sz18#5-=keRZ7~+47{U#|4ck)f#s1o@Pw@4nr>*8~I|ApBzHbA(<)!Ned zTC6R7mj<-PgrbK|NvbS7`*(^tff^p+^8NNx4hN;e*hG&L++*wWbk6=%+=3$G-u znsejI#s$mUBBypZkwp#7EsYBaKJ(mhXFF#ucaj~@>MIc-kvV5BztVA5G_;daUx_Sh zjkL5bXlQASbR^r_TH6yNH9N>g&LXXCjmshnn>*TC8df==UDUcP(E$yUEej*_8jA?)tNPIZq1D8b<-=S$7|^!Ru!+RtC~Bj`jXi6Sp?M9MeC~Q zrY?GM)!Zr5D`(a^b1$i?n;WgHtG+Blsi4}KH8s;`)K$ea1rl8nomQ23(5y^KXfPL4 zm2Oq##e>P_PMH~x*H+G`s=6c-p_Q6jcX`bKPXn79tB%H}Pu1j=@#?Be>gL9)YwH|$ zI+Uo7O`RLVxzoAo>C}$1V0-nSZ^ltseA!vJv~gK-Zfjejd1M6a3te zT-e+?x1)L4k`AXsKvW#(%%#qmi*Q*sAD>0enH{)xEW(P<`OXECE^y{dyV9B3ytK`k z(%jy-sCA`N>YVM2cP2RJIOjU&Ib}|{v$S;620jH27;`aDV{epFSh}D)o!`+;9 zMC$r&yuzcs&%lxlBBdKp!Z=2>!OSW0SO_$H*ra;Fnmu^JFgt~ zuwsKPO0B%2!|}_kWci}h$}c&IvvKaq@vBDT1p1)$IsO_pFXllHQKWA~w0|4UDOL3S zATu&x*U2(8pX8bDf^CD$SX04F{hBglvPLf#a{jbi)!)0(eKUV?DyCyF+f{vy%79vE zk-bo|fa*e2)a=U-Eq->{5b0OsY1&kGwvmVx#}PrZ-f?jYNZWnN4i;`ow;BDvxWNrX zY&nEo9*YgsG1JbEtqi~?SomXk03OF0hSXG(%Y!+D>o59dDh|%>4^$j3xKtwZ5TJyCOFXm09NnCUENWe_k$^a+CK-xcNgOOilQVlPk{$yVw6G-X)qyR^&cJb0 zCKQih?lj><0NaD7G%r2mxG=qDDVf9B5R9Xn63%QCmj3=5r>ZM#8ceHj^)KUBu}U<} zOUJzr22;lAo1lXyoV2X+>Z9Bhr@Pk6NIcnsH-_$CtX zk=(bKzli@gLKFXcp%hhaXWgf0ubIR~o+30pXP`D9n zuyn?TNgj z&+Yn|E);1uauzE2BX_}C6;pbr}o>}zpK>n}2laq$If%BP$9EGPMQ*+KLtGL!4X2dRQLo7oWe zGM-}->Vs)|f~rJtmIrOEnac9L9`GJA1-)r24U9{>Wn-0U-Jt;_D#+EQ5S)6kp@QJl z`wbNYm#a-fJ2QFsh@7DK|CCw- zBwFz%bpD}H3X$|zTk(=#iC<#HQ^O=k;+w4aKRz9Q)QoRAG+s3rNk8I0=ucy*p@O7O z3>67X;urmg_@)0LJ`xZ=g7Khukxy$UW)S;H`k;78Kh{i)dr2?xoV6fg3F;zfSBC0{yxDgU5&kslN<@`K`SvH$P+e{KQt(b7)^rea6_AL#-a{J)6* zKP^Dr_BZgMt9gG)Ny$0qoOhmcN}~$SDf3luPMM&BbIRE&46*XAwH>E6T+ZrfYG`ky z%@${Vd+U-bT_^EROFLyFAnA3l6`TgAeEC{AIgu0;N&RX zeN2N)s6g0ezAxb`VNdhD%o!+edl*ysjE3@OfGPRZgN)xn*Xg1B+p?pff?IN`LXqso zk)eXA+d}!1pAO|sIUH~$?n8OeZN#7WOyIWp6-o=9E5Va&MaLE>ET(@h>b zM&da+lz)5n7*Y5AG4!pcq0Wm8rYI&*e&Y5nYvisx$VfBKyD^w+xGteWr%y zWzPyV%?Y*DhMFeh;SZsvc&M!|)D#WPTNY}n3AM%5efG?ep{5z3w#!0IRUn%ZYMK&i zTd2~^B&f|j9Ep&0nj*hyD3cdJoxQBv3AiUarn2X#vQX_imq5pPf&Qtu?59yhT&jFU zfFc~PPDrRSfF)Bo7lk%t=bV%!H3V$}v~i|Yb7t7!w(MBOrrEVL%LBS92hh+wMT!tb_wu7%D@fw3;sY zfU)!rI)q;O2R>h=_SQu{;5KS+w~+kQu!}=A*~>%qvCzB)p?b9FCdCU43&cnSQ&7EI z$-IsuUa&(ddwRw*T>L_UQ(Nvq1Kl>LHAj24fwT~x+c@n$N(;WXP@ha~Z(jCa zwYjtn9$-4PPzJgcY=fs6zbKPFd$MRA0k)6hn0L^ei0 zMK+GmO(hqPt{-DYQep>ZMiAzP^2s}`#q9*fPs#Lk%AX931qS@d)X=@z*)5@sV7>|7 zVlzJ7xW701DqvRuiyK(Znk=Ao23kYO*9_IKQC)k4^>~Byn~|w6Q;?U3U`)x3(R1j! zMrjXn+NESuRc5NMQob9`KKpa!Rpy53-B3-l(c4ErK7j|YxAQQmUG2kM&G* zBGb&u#OijklH;$V_}Qep>Sy34v!_A#SWr8m`tSg!Rc-kast+()UbM$W+%AsW&iT5X zeDopXG&K&PKJEUXaoQE&HD(n4A$-W=t3!BM7-d5qSAns9}RIXO2A zf)%8AT zRBVncK3S1D0lPRk;A98tlCljxGWR53N4Pwzwg>EZ#@lhFut;B=({LsF7x`J{p>!pD z1Z4z)n+s0F(O%hrMxq(XBYHXjOQB6)=mZ4NTxSdeQ$|O#fY`S94!rKVT1tf1|~}nDI@FOTNxxe6vM=F5^&1g#wPJ@eAqM z&wfkIdl6T~^m~|2^0gY{ZOSj%iGtwtEe*o=Fn>I#FkRszoqP48YHxH)XX1%|6Vr+Q zvl)ND!mq+J=~;cGW~Ao8xLwTnBF5GH7dY+h6aD!|X?iv9#qCPQmmaP0tM$dXnei7G z_ZZ*6_&jcKYMzR?dl}z(j3&I7>3<5G^0fw63K8`m<9()YK2`&2UW(f-jQ@%YM9o2g z|AF!U`huokqA$*$fD``+t`uB-QENn$-=n^$fiE+@m-&=2-pqIo+IbdAZyxiZckxjm ze?``<|Fp$XZ&<>;0V3?;^cup>2ox7tO#m;i0iS8pU$|N7Xtqx>qE2@ zM6Z*X{(LU*sXE#@gYmVDpTszQgOcR_m~rt-UtzqTaW%I?8Y%~(uTuj&ocCoumoff2 z<0~0&WPDac18Saz+g8S(W_+QJc2+W8!U~H1H#5G1aq&N0j1N0mGe|L?JAhMpIU_XC z#yG95QGX`^k1G5aHo`v06 zsZU&eoWC)BJJUBY{b!87%((PZA*fDrm!7H#8<_q?#-Cwa&9e~qU(Dz5(=?%)OW}4L z)0Y)#JgP5F8RM%MpU8M6;}0+{e&Axpzf`OV$20v5#xG@D&6yB)6>#*v^iPEdUl%cb zVywpB&=+Sp<1^3HfSR}9b~WQq@IeI`7x|1IV4SO?a}VRkoTd3($NYcH_y)$M9{w6Q zwQC7^e6yM9|H1TXzJa){j6X~REd(`p!1Wo%f58f>F+cDLj89MldK-%j3W0K#^+k}$1}dn!cSuSItxFIanHifWc-H~KAv&)0wGZbSN-0B!<=U= z`U{!7g0)b{!{t zbpW0Uz;6w}zaD_!6M+990RKe*{!O^Tq4a+=fd0t<{Eq?nivf6V0RCwJPF?9xdX5Od zj|;$y0`T(#@X7%E(g1vJ0Dg49&@MiMPrH307o!2c0|=U|>NRC$F0@Z$sU;sCrP06#wfcLVS%fgfeeo7BDs`qTLV z^vwZyM*zMm0QUm$Zv@~!4!|D`!2cM4(|+tw<Zr7PK@rEK9Z# z_l0e%oCSE%NTQLR^h+f=oQC%HhGmNtw4im_qUOa(95rokq&GmY(2f=Ad@49OlnG~X zW1_vaHPM!6cj&4WB$it9#f>mRCKDabf~5^@utr;=$ywgqk!)yj79`s{THBq4?F}oC zORMqB|U9u?>fA@fwuoMXMA%KZ&A6X)bJT*G1g866M(_=2qg8 zEiD}=5S-`LmR<@ec=?KxXkEOxrEwA7n3ABk!9X*90|@SxE^1f+Ln#U}-je2)7AdE; zh7~AfdWXn@rFf?c-Kb(&rZWa(kd@ooTieFL5FPrigiT0xLhiLa6U_+}G#@sGR4qZ7 za$Ivqdjrl2gBzJiabt+fLcQK5v8t`np~%Me#45In)*6M(`Y&&8M9HHBNK3$U(KT;r zYZA8N*Vhb`8uLjm)9=o4=%$Uqg?K$qd#i{-i8i)#%u&$ zqxO@$Yg?t*kyA9=_GC+=DqE>7D;ma?>Uu${su$ci4J~a=4XEXwoH^ljBu$(YPAnITpexI*Z!c;Q$zWR|LucngoNBmCHifn}|gd1&QY6jTt~u)v7k%;nYt- z+XrXml7(%oaS;+%Y7bdIt)Xp3Lvsh-&;;cYl`Rb&9WF$W%bbg5*@4Qo6kiO$ld6o3 ziMeQ&E1DO=*Al3lD&0^|qYxOwsh@@#FY*+7d8nkiI}M&qTcLhxV`A1c5(s4>KXb3} zOIq8PHneaoAC8LA%<_9__&(4DomXqMH>+LDPW%J0@!qP;I}9AI#9<0^XH zRb4A?I#w-pNS$e|3!4`;H@3qt!DngGsk zZD?PZ;ihRPE8nfj&HLKM_T^N%Fhv!;mdn+z*W$8)caOEMSO(e9;$pbvO5JCp3X%ex zcu{Nn61aQn3a9{4MfKab95_m_#1jSx%Gk=BlUv(Sy{YE5G$st&z!Y`xoj9Q9@1SwT6y$}fl`>GK63@aAB=ca@3Y{N`(bbE( zT&F&Y_OwFP9h5Ev3{+T1#UEv?1yxa%I%>#3%LK8mCD8;_g?mc>7q4Up_{nFH=K}YIJ>0{S4~l+o!;w8bx+79FUe*NuHZ( z3gtwPj|R0UhU%+TmlCC+fuc;do75c(mdYcy=vusNt0mLUbmcxIkJ@k4kt0})0$#S9 zGTed@L5KJ=^s?v_wWn%Wuz&_49jh>0TB=M#*|-EntsAW9h04udL3S%Vq<=*1$Iy_-cdCg9d)PK~FO7V?FLS=pQoZe{ax#&A`?BtnqB?`A35f z?KO!0FB^O)jo9Jc0Q@K_3<%5TC~l{8EF@ zdISHt!Kd56cN+Ajo)hT-fi7F{5j|@R{0Rf!!?>N_UW2~Jpg$Nu-*3=wHRwlUU6}$! zn{p>JE^_5u*BlF%b9irCxYTo6_oYC5zK)ON_r?Hx9@gO~5Ivn;5PDj7q(FK;iI3o4 z#=M_`=($%vI+HD&@=T$gapJQLAK`P2fj?p3cLng-ZsAgI-?nh^4~JuZOo8N@{7+`w z*8e<%eml~Lo>KzoXBhN54Eif9deQS*gWjy?uNnAGgU?3+eD37~p`yR!_oo5)V-_y@ zoXA`GWS_?jxo0yj{GUf0g{XxKA2$HM#KNUM*IBsK=j9eI{BN*usaI<){AsPGvmpTg zk%bHYKQM0BlXn8>3wR4#>~kN>J;%WB1Sa)orh$`;pD}%lg-iQww{fOlW#M9nH5R^? z>2GD6WIlzD=<~Gz`X5>N=gjARgU=rfKEJc*Mef4}{nG~hwgCEP4EjGB^zRw?69#?) zZ~cq?Uqu{+sTNMMDb!f_J`FqdjFWwy!AI;f*P<8xi)@_x>m>%CXAM3#2GDm}xRm?t z7A|tXW$@o+@ZV?9Q~&rKd?*|=aLSwT8Npk|gqeDV85ev0jPrG}g$tjvEnMswW8Ajq zMHapAzskae|8*8F_E~4}H|=nbMK9(4n1u`f-3FiMU<)bt_X6lYH|U===(Bk-+qT;X z3m3UZSvZ}WrSJs{7ki$>xNXnVEPAo$cncT1eZ|5>pSZz)7xWN2G+6Y)XSs!oo;O&y z@LzA?QZ9EgZs+S;7QN)_rxq^yJYeA>x7*;q%gEOU2L6nJAI3+Xq#T9+krpoek7bjL=PX3+oHpno)g{t1Jg z&en_Ew*u(*8T2OqgBHEi^W#T@DS~aE(-x!{m}94UdBc4 zZR}_IEPSs{?iBHXO48>ge1!iL12@N|a}3-pm&X|wxnhU%0xd{zk$VB-B===Q?zI8* zDTCguSGNYxf6buZYViMwft&h29l+;ZgZ>qR&shHc0_kts$7Njddp+BKx`m4!t~dB> zG5FtU;HI9B1@L*wpeG+A<@mBiA7g#qv~aQ!h4(F7^!(i5{}<2+|HJru6O!LMng1~s zF7+X1;5UKK6-Y-?Qk2&yNiH zJqG<2i(d43&ccPys|KIH8hooaDZRkL34f2A($X-vsb^$e`~v=(kw(qW=yH7kyqd_`GfKc|Cys?*{!=gZ={p zH}(G{fX~R2kr;u>{U&@q&!Z>I6AhefB>JCf;5op>Zl^O&wEGPF9D|20qu|zuCYS8Tj1>-e&N5(7;z1^!FI}^#=WZ15X+F`v(34gOAt( z(atX|T+GCobz?Bg-gHupoP~l{ks;vmGxixWql)ZC0|L#DPISTd_82*OS$~T!bMN@ z!VRP+K4yN8It>7V$dz)xCIG)S0KeVBC12mLaLLyX87F;A|L{|bUi`x*3m5*sw{YSA zh{69u$dLM=Ub1B5m-+?@!;AD)>>zxOXPopj{o&~rz1VGH0KPN;zdiup7=WKtJXlYW zTWaAlu5Pq&q5rjoOMZ7+crMr5=PZ1yR>OIfak9@R_=uhJPamwO@ITJL*Au-abIxL% z_X57~2jR5+620i6T^#3q` z-WjXZQSI@+4f-O+Z9Ss__*Dj7EZo^!t;!i{r`!N*z z{}$4SKKC1V+Q1(P;Iqx3?=k5A6hObnp#Pge|4{(_=LS8Mx#*cU4i5;FUsKO8<5J(m zKBEo#KBN&oV+{N;13%s3a|PF{QVS=YD3n>a$UWcSZ~E<+MK9$(-@-+1n}v(qn=M@A zu46nGx|!pU-x|2tzKYIL*~s`4;Xl*DpVnkfYXE+Sg$thtEnMvXl!XibHv;f?EL`~D zq_GN8?!sqU0DgG@-fH0F&%eX@z1G0VrqZrgGfvpE_=rBYTJ%5T`m@EtMbF(9zL({` zX7K-)!T)at{Y?fws#GTwJA8-b)>^piS1z=0(PxQ;OMcsJocUkRxNV1BVm6GEVg7{G!>S7rR|+;8gCDG+XB;11Da>|F;JJe&A9r zTMT*+cq8+9)4++(pBO)A@WG2fGJHa1nt*6cyf6U2nsI9Hr2lP{4gtTyrvmZWiI3=c zdjMWnuIa^Z$av!h3l}@w$vE*h`~7cQ^!qeh=Z6+9e12u{`M}Wg#Q^%h8T46(-G+Z< zu>Qh-6yu~P*V9{^Y$(<$(7e3coxb(|i27j}k{gy@l2>YvU3m5)R8hl|t2H+(*S`g*e9KTf^Ie_oRt(5zDM-AZ58~8Iv58!5dsUJNw{^jEb@HY%T zzclti%=*@U(g3|V{ycE<0B(*CTM7s8j}87jd{g7JZyWe{O|Hhn^iD^~FIOK$|1E?5 zVy371^Bn`9!8qCT_Xa+PaiagOfzM-{=!Y3{TNo$$&G?8u9R~hA17FEF@fmLLS#98X z27ar7k1+7BF-~%c*Is@mohcCheSAcp9}NP*(Gj8ERKf}U>zTU#6KFqan z(Pxo`OFda;;ahcfoDRlw@qC0~XZijPMc;(a&qnA3p2g=?4Le^o_|Q9XrM%>~Vkr7v zd<6f2L2vq#jRE|BYvD3KlJ5agH043YV?72v-5xm-{}7%saH8L!{_z!@Io-Z;^ zv|%G(uN(9xpR|Gh(BQK_fX~MUy~#&?84T$u`bP$z;oOfCPW0D9CkmsC{@v8`Xp4TY zCU?dd_y_(p^O9R^PP z$1wl91NeX6q8I)f4V?ODvCl6JocI?q{|5s2KWxzpe|n!N1uB>SgOBk4gMkzOvCMy0 z0RI;(df~sv!0$Kszh&UWe**L07r_5Ri(dGDZs6pDMSptVCk3f*lbC-V<8(3GSJF!;;&{zU&e=3l||bTRo)HTcl2 z_;Y$cC&pW8==Vns(2M@_4gTgj1HC7b0_EvWe8m3k z22MJOKfKn$h5tGWmweHCA}J6LQ|`SMz2xhs7QR)b#&?P>T=;JZ;J?G7m;U0p0Q@Bj z7rAK*7r7rYo@?cc-V;f|_77RZ2IInil!XibV;Lv@=Dhv{i~e)XHuGC&B3Jm2x9Ej` z+~7~|rk8TBx9EkB`8{INN%$-@_?Yw1W`hsuB~GN5kUWrL4Oc3#6Ba2;{k#4M4y{^efbL({^T)4h40B4IO!_-Php%e zQ=iKM=;s^sram_s^rk*vwQ$krhX$XWkS+Q8sX_ls1E=>vQXoB#G3>m>pr^UA@YxnX z|B8VhYw)4>K~f<8X1}xF;7@+Ofrt=3HSk~IS>z7qj)3^kJB=xG8tHft&Vu$>2}+xt=nK@K*yj%Vod8$CNAQSjj%-x@+zT z#ZKAH#E&#^dIyN)>jVQo-oVZG5|ExPnyoXQ>B(-Uo@E9fQ_q-zoBG59@XHO{)N?W8 zB$w7CME@3pp86=k69#VPOU6^S-PRiPrk=hbm(uLThk}fcNT2oiNI!Cq!DlPsyl?n@ zgAYv+818@Ez|D2tod!-a8hPJtmw}T$Pvb-3O$+~%hMf;BT=f5papG};VYd=q&mfuf zxs=a;lp8pu*@_Q^3JVwh^j=8{MEfQ_Vh4J!Bn9G4aiZsy22OFZZqj7nL@#zuSoo`m zqi{XrMEfNpU!FxTA{rV!yD#z)7yq-)-PTFLu~u;6z_?68<6VvT*qwm;C{FJ|#w=Xu5qmf`14l0eFpt zi{08Rd*4+Y`g~qT5<5u! zk^NS|CBHQmz0`*`3zy%s*${wlvT*r*qg?^`ehZg+a?rqO%l9Z^NEP82Qn=D-Hxy!<(eeJh!;h)d*S&=LJ zWxYah;a_9X3;#9?7ycV8T=;LYaN)np!iE2S3m5+RJdYDSg@1{K3;!Am7ydGD6+Xg$ zgGDd=H(9vw-(}&#f4_wb|9qbBh+N@cV&THS#=?bvn}rMi4Hho^H(9vw-(}&#f4_wb z|NJ~%e-F{$!i9g0g$w^S3m5(yEIgyXg$w^(7B2jyA0R!cJRKsnSo19b`XP^b$P9d?eq56C}UGT7i2CLcfmbn>3uk zZ)5yk3%`@`jTZh5#y45Gj1M+j__vt8+rnjkdWVI7kLh<=_`Qt3XyHF(e2<0S$9O&& z072{{zuy_LaQWT75(}5#|0}a_`Mp5b!sT~E=UKS?zUF!hm)|4YVBzxnh4)&x{660% z3zy$Vlye6ZO(u}vN!?@7KXWQs1^XLpC!v?$@65Mw`Tfy|N~L)-i9#k=_yzpzT6jA@ zUt!@=u5A`BSkY^1II67B0W*EafYF@3CEaRl(y!!R2>|6BaJNL;M{J7r!Cn zQsE>1%G@WSIQjkH5+2tHz5IUg^%gGeSN1hB^kY=@bUwG}<#&SfdE6!R;>SuXTz)6G z#=_-yf;U*W_!+5p!e8cbPh0dduiR(hGXIs0THzz}>w-L;Kfz_5TV~-h&#JR<`Q2X` z2MVA5lQrMX7QOuLuZ#nQUVis?zeV3(sQHZM@q^I6%(#rB1ef3UmGxV}#h=UgL~!|i z->nvZ8JE6l;WEDchlR`U`$mj)Es`Pg-!coov{>iMT$dwy>8C!o=;e2O%Zzm}qL+T~ z3JaHh^Lh)HetENnOF#Z63zvRB!u#!FH(94zW8tz6cAtgI`2P_LmwCjWEL_%k_F1_6 zUaxzEwx8%D{eF{$%X-Ca2EIZk)&IxghXWD~^PO>ct-8K8$z6M6OT#$z3kl=!gF6k* zxcPXs`ndL1dLZ&r{MN^~3=xoq_C&IcAw`79aq6w~HrU>p!4O$GwWjIyv-P3%I zUn01>l}Cq;)l=6{kwNs$rd##3p1=QhG#)7}H}}ju=gW+nb2mykY7+e)pw~}YmfX{I zEI!23P9Nd)d#J(~A!6LqZ7Dva*V*)71W7OJb`mA|munRw=-#&9i#*_y-z~G#%X0;8 zhO%GYLz-gE7xb0vM>1^t)dM5>hvfevfC!t}Z|Nt;iO3CKYjGV){`%)Nfy@(0KFPM_ zF9kM~{5`}NA@U#W-vpYWLpJ zq4YFIHN)MUzQ6==FY@Jj7qFqyZ{qZnH#5kyTz`m2N?&3U;r;{l>kD z;D6gWy@}Diq!YZGG24DSB>y3y)K|&3pbz6_sPap{t|>P0_=NItBtDW}>`MCBvMJ@B zh4dfmA>?2XM&t84eC+g8z3sXW$T_&0{yWZZxL?&zhvuJj8Y=zWZ|M|INkYEb_WQq= C4b}nx diff --git a/util.o b/util.o deleted file mode 100644 index 4607dbd27ccff1daf63334f1a4c614aad4f343e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2264 zcmbVNJxo(k6h5UW6-!%z0fR$_r=bbHv?NASl@uuO)ED_RB7?QGuc5Jjd3`l#OvH#o z(==glaByI7F>x@_(S$|^S4SsdG{FG}6AdQyocHd9o9FAoA-CVT-}%nH=iNUZPpFe^ zE*Eff!3Z4oI1BLN*r6XY-57L%7v`1fzVhV94pK_hkcO4&f)rD#s-&pZxHO}px47Og zqW(}^y6X?AQpq2BF0G;5A9^WmnD|QCH1Un}*2MQx!^98L7sRwuYd<@Hj)DUYL>fx% z3U;vfO{uR-do0kW)EA_HQjbgF&v7Z>K^n0)%)-I%=)l?~P-+**GX|CFHWlnK14<3O zwMXt|w9>N`#JI^unkMXaZgp~Mi`K?uXRX9%jfz*Pn-!VF(x+51mn){C08``R(cr+; zjhmrhBrFffR15Ud51Q-Y9Jp2ku6}QaX9EZAL+*?j0r*2W>I*z=yXMzEW)!7a|n@&-;;|>G3@z2TJIFggOK{ynGzzrQj@6dI_|211ot8tDWCNr-Kv0JF$ zTr1>GVGA&g2(+$FyxfAn*n%Hv!N*(h*IV#2$W#5iZgW48n{A2@ zl#R5e>yVgIr^iOs#PsCk{KP_HVRTHLNWlF}NzWFH465{;R)9>YVx*vi2}K>W)vN)U zbv&Vh^O3b-JBjUY)3Vn@qS21iT66v#k!W`PM~gP~KJ>Z%tHApOep}#aU$}l(;6?o} zfu}v@`h9`#5%>-|_-Irooh`2SGM>JRZZqeD=#!D28n?^L;XL0jkjoG9MsgX^&@Eiy zp04GRvZ1XSAg7Z?66ED_8Dzak9g;`n2*{~oKCcx}QYadljIYD_vXM;PLmg#nD~XJr z%xk=iBV!OV>67g@D25zaH(L*@XKA@l*pH3YDuzw8-|UI-uzXrea{0}s`$l#S8}arR zWzIG)Y02#LAaXS3QS&2g%ppY4`24(H9^>