From ef69c5dbd6c667e43b36e6ce74933dc9e06b614b Mon Sep 17 00:00:00 2001
From: Jonathan Slenders <jonathan@slenders.be>
Date: Sun, 8 Jul 2018 19:28:42 +0200
Subject: [PATCH 01/17] test/1

---
 .gitignore                      |  54 ++
 CHANGELOG                       | 144 +++++
 LICENSE                         |  27 +
 README.rst                      | 170 ++++++
 examples/example-config.conf    |  36 ++
 examples/true_color_test.py     |  18 +
 images/copy-mode.png            | Bin 0 -> 172385 bytes
 images/menu-true-color.png      | Bin 0 -> 53763 bytes
 images/multiple-clients.png     | Bin 0 -> 134215 bytes
 images/pymux.png                | Bin 0 -> 205809 bytes
 pymux/__init__.py               |   1 +
 pymux/__main__.py               |   8 +
 pymux/arrangement.py            | 737 +++++++++++++++++++++++++
 pymux/client/__init__.py        |   3 +
 pymux/client/base.py            |  22 +
 pymux/client/defaults.py        |  24 +
 pymux/client/posix.py           | 203 +++++++
 pymux/client/windows.py         |  15 +
 pymux/commands/__init__.py      |   0
 pymux/commands/aliases.py       |  48 ++
 pymux/commands/commands.py      | 659 ++++++++++++++++++++++
 pymux/commands/completer.py     | 185 +++++++
 pymux/commands/utils.py         |  15 +
 pymux/entry_points/__init__.py  |   0
 pymux/entry_points/run_pymux.py | 163 ++++++
 pymux/enums.py                  |  13 +
 pymux/filters.py                | 101 ++++
 pymux/format.py                 |  99 ++++
 pymux/key_bindings.py           | 259 +++++++++
 pymux/key_mappings.py           | 231 ++++++++
 pymux/layout.py                 | 943 ++++++++++++++++++++++++++++++++
 pymux/log.py                    |   9 +
 pymux/main.py                   | 655 ++++++++++++++++++++++
 pymux/options.py                | 201 +++++++
 pymux/rc.py                     |  83 +++
 pymux/server.py                 | 265 +++++++++
 pymux/style.py                  |  76 +++
 pymux/utils.py                  | 106 ++++
 setup.py                        |  33 ++
 39 files changed, 5606 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 CHANGELOG
 create mode 100644 LICENSE
 create mode 100644 README.rst
 create mode 100644 examples/example-config.conf
 create mode 100755 examples/true_color_test.py
 create mode 100644 images/copy-mode.png
 create mode 100644 images/menu-true-color.png
 create mode 100644 images/multiple-clients.png
 create mode 100644 images/pymux.png
 create mode 100644 pymux/__init__.py
 create mode 100644 pymux/__main__.py
 create mode 100644 pymux/arrangement.py
 create mode 100644 pymux/client/__init__.py
 create mode 100644 pymux/client/base.py
 create mode 100644 pymux/client/defaults.py
 create mode 100644 pymux/client/posix.py
 create mode 100644 pymux/client/windows.py
 create mode 100644 pymux/commands/__init__.py
 create mode 100644 pymux/commands/aliases.py
 create mode 100644 pymux/commands/commands.py
 create mode 100644 pymux/commands/completer.py
 create mode 100644 pymux/commands/utils.py
 create mode 100644 pymux/entry_points/__init__.py
 create mode 100644 pymux/entry_points/run_pymux.py
 create mode 100644 pymux/enums.py
 create mode 100644 pymux/filters.py
 create mode 100644 pymux/format.py
 create mode 100644 pymux/key_bindings.py
 create mode 100644 pymux/key_mappings.py
 create mode 100644 pymux/layout.py
 create mode 100644 pymux/log.py
 create mode 100644 pymux/main.py
 create mode 100644 pymux/options.py
 create mode 100644 pymux/rc.py
 create mode 100644 pymux/server.py
 create mode 100644 pymux/style.py
 create mode 100644 pymux/utils.py
 create mode 100644 setup.py

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..db4561e
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,54 @@
+# Byte-compiled / optimized / DLL files
+__pycache__/
+*.py[cod]
+
+# C extensions
+*.so
+
+# Distribution / packaging
+.Python
+env/
+build/
+develop-eggs/
+dist/
+downloads/
+eggs/
+lib/
+lib64/
+parts/
+sdist/
+var/
+*.egg-info/
+.installed.cfg
+*.egg
+
+# PyInstaller
+#  Usually these files are written by a python script from a template
+#  before PyInstaller builds the exe, so as to inject date/other infos into it.
+*.manifest
+*.spec
+
+# Installer logs
+pip-log.txt
+pip-delete-this-directory.txt
+
+# Unit test / coverage reports
+htmlcov/
+.tox/
+.coverage
+.cache
+nosetests.xml
+coverage.xml
+
+# Translations
+*.mo
+*.pot
+
+# Django stuff:
+*.log
+
+# Sphinx documentation
+docs/_build/
+
+# PyBuilder
+target/
diff --git a/CHANGELOG b/CHANGELOG
new file mode 100644
index 0000000..6cecd94
--- /dev/null
+++ b/CHANGELOG
@@ -0,0 +1,144 @@
+CHANGELOG
+=========
+
+0.13: 2016-10-16
+----------------
+
+New features:
+- Added status-interval option.
+- Support for ANSI colors only.
+  * Added --ansicolor option.
+  * Check PROMPT_TOOLKIT_ANSI_COLORS_ONLY environment variable.
+- Added pane-status option for hiding the pane status bar.
+  (Disabled by default.)
+- Expose shift+arrow keys for key bindings.
+
+Performance improvements:
+- Only do datetime formatting if the string actually contains a '%'
+  character.
+
+Fixes:
+- Catch OSError in os.tcgetpgrp.
+- Clean up sockets, also in case of a crash.
+- Fix in process.py: don't call remove_reader when master is None.
+
+
+0.12: 2016-08-03
+----------------
+
+Fixes:
+- Prompt_toolkit 1.0.4 compatibilty.
+- Python 2.6 compatibility.
+
+
+0.11: 2016-06-27
+----------------
+
+Fixes:
+- Fix for OS X El Capitan: LoadLibrary('libc.dylib') failed.
+- Compatibility with the latest prompt_toolkit.
+
+
+0.10: 2016-05-05
+----------------
+
+Upgrade to prompt_toolkit 1.0.0
+
+New features:
+- Added 'C-b PPage' key binding (like tmux).
+- Many performance improvements in the vt100 parser.
+
+Improvements/fixes:
+- Don't crash when decoding utf-8 input fails. (Sometimes it happens when using
+  the mouse in lxterminal.)
+- Cleanup CLI object when the client was detached. (The server would become
+  very slow if the CLI was not removed for a couple of times.)
+- Replace errors when decoding utf-8 input.
+- Fixes regarding multiwidth characters.
+- Bugfix: Don't use 'del' on a defaultdict, but use pop(..., None) instead, in
+  order to avoid key errors.
+- Handle decomposed unicode characters correctly.
+- Bugfix regarding the handling of 'clear'.
+- Fixes a bug where the cursor stays at the top.
+- Fix: The socket in the pymux client should be blocking.
+
+
+0.9: 2016-03-14
+---------------
+
+Upgrade to prompt_toolkit 0.60
+
+
+0.8: 2016-03-06
+---------------
+
+Upgrade to prompt_toolkit 0.59
+
+
+0.7: 2016-01-16
+---------------
+
+Fixes:
+- Fixed FreeBSD support.
+- Compatibility with the latest Pyte version.
+- Handle 'No such process' in os.kill.
+
+
+0.6: 2016-01-11
+---------------
+
+Fixes:
+- Fix module import of pyte==0.5.1
+- Use gettempdir() for sockets.
+- Disable bracketed paste when leaving client.
+- Keep dimensions when closing a pane.
+
+New features:
+- Display the process name on Mac OS X.
+- Exit scroll buffer when pressing enter.
+- Added synchronize-panes window option.
+
+
+0.5: 2016-01-05
+----------------
+
+Fixes:
+- Handle KeyError in screen.insert_lines.
+
+
+0.4: 2016-01-04
+----------------
+
+Fixes:
+- After closing a pane, go to the previous pane.
+- Write crash reports to a secure temp file.
+- Added 'ls' as alias for list-sessions.
+
+Better performance:
+- Using a coroutine for the vt100 parser. (Much faster.)
+- Give priority to panes that have the focus.
+- Never postpone the rendering in case of high CPU. (Fix in prompt_toolkit.)
+
+
+0.3: 2016-01-03
+----------------
+
+New features:
+- Take $SHELL into account.
+
+Fixes:
+- Python 2 encoding bug fixed.
+
+
+0.2: 2016-01-03
+----------------
+
+First published version of Pymux, using prompt_toolkit.
+
+
+0.1: 2014-02-19
+---------------
+
+Initial experimental version of Pymux, written using asyncio. (This one is
+discontinued in favour of the new version, that uses prompt_toolkit.)
+still available here: https://github.com/jonathanslenders/old-pymux
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..910b80a
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,27 @@
+Copyright (c) 2015, Jonathan Slenders
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+  list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice, this
+  list of conditions and the following disclaimer in the documentation and/or
+  other materials provided with the distribution.
+
+* Neither the name of the {organization} nor the names of its
+  contributors may be used to endorse or promote products derived from
+  this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/README.rst b/README.rst
new file mode 100644
index 0000000..7d71bd3
--- /dev/null
+++ b/README.rst
@@ -0,0 +1,170 @@
+Pymux
+=====
+
+*A terminal multiplexer (like tmux) in Python*
+
+::
+
+    pip install pymux
+
+.. image :: https://raw.githubusercontent.com/jonathanslenders/pymux/master/images/pymux.png
+
+
+Issues, questions, wishes, comments, feedback, remarks? Please create a GitHub
+issue, I appreciate it.
+
+
+Installation
+------------
+
+Simply install ``pymux`` using pip:
+
+::
+
+    pip install pymux
+
+Start it by typing ``pymux``.
+
+
+What does it do?
+----------------
+
+A terminal multiplexer makes it possible to run multiple applications in the
+same terminal. It does this by emulating a vt100 terminal for each application.
+There are serveral programs doing this. The most famous are `GNU Screen
+<https://www.gnu.org/software/screen/>`_ and `tmux <https://tmux.github.io/>`_.
+
+Pymux is written entirely in Python. It doesn't need any C extension. It runs
+on all Python versions from 2.6 until 3.5. It should work on OS X and Linux.
+
+
+Compared to tmux
+----------------
+
+To some extent, pymux is a clone of tmux. This means that all the default
+shortcuts are the same; the commands are the same or very similar, and even a
+simple configuration file could be the same. (There are some small
+incompatibilities.) However, we definitely don't intend to create a fully
+compatible clone. Right now, only a subset of the command options that tmux
+provides are supported.
+
+Pymux implements a few improvements over tmux:
+
+- There is a completion menu for the command line. (At the bottom of the screen.)
+- The command line has `fish-style <http://fishshell.com/>`_ suggestions.
+- Both Emacs and Vi key bindings for the command line and copy buffer are well
+  developed, thanks to all the effort we have put earlier in `prompt_toolkit
+  <https://github.com/jonathanslenders/python-prompt-toolkit>`_.
+- Search in the copy buffer is highlighted while searching.
+- Every pane has its own titlebar.
+- When several clients are attached to the same session, each client can watch
+  a different window. When clients are watching different windows, every client
+  uses the full terminal size.
+- Support for 24bit true color. (Disabled by default: not all terminals support
+  it. Use the ``--truecolor`` option at startup or during attach in order to
+  enable it.)
+- Support for unicode input and output. Pymux correctly understands utf-8
+  encoded double width characters. (Also for the titlebars.)
+
+About the performance:
+
+- Tmux is written in C, which is obviously faster than Python. This is
+  noticeable when applications generate a lot of output. Where tmux is able to
+  give fast real-time output for, for instance ``find /`` or ``yes``, pymux
+  will process the output slightly slower, and in this case render the output
+  only a few times per second to the terminal. Usually, this should not be an
+  issue. If it is, `Pypy <http://pypy.org/>`_ should provide a significant
+  speedup.
+
+The big advantage of using Python and `prompt_toolkit
+<https://github.com/jonathanslenders/python-prompt-toolkit>`_ is that the
+implementation of new features becomes very easy.
+
+
+More screenshots
+----------------
+
+24 bit color support and the autocompletion menu:
+
+.. image :: https://raw.githubusercontent.com/jonathanslenders/pymux/master/images/menu-true-color.png
+
+What happens if another client with a smaller screen size attaches:
+
+.. image :: https://raw.githubusercontent.com/jonathanslenders/pymux/master/images/multiple-clients.png
+
+When a pane enters copy mode, search results are highlighted:
+
+.. image :: https://raw.githubusercontent.com/jonathanslenders/pymux/master/images/copy-mode.png
+
+
+Why create a tmux clone?
+------------------------
+
+For several reasons. Having a terminal multiplexer in Python makes it easy to
+experiment and implement new features. While C is a good language, it's not as
+easy to develop as Python.
+
+Just like `pyvim <https://github.com/jonathanslenders/pyvim>`_ (A ``Vi`` clone
+in Python.), it started as another experiment. A project to challenge the
+design of prompt_toolkit. At this point, however, pymux should be stable and
+usable for daily work.
+
+The development resulted in many improvements in prompt_toolkit, especially
+performance improvements, but also some functionality improvements.
+
+Further, the development is especially interesting, because it touches so many
+different areas that are unknown to most Python developers. It also proves that
+Python is a good tool to create terminal applications.
+
+
+The roadmap
+-----------
+
+There is no official roadmap, the code is mostly written for the fun and of
+course, time is limited, but I use pymux professionally and I'm eager to
+implement new ideas.
+
+Some ideas:
+
+- Support for color schemes.
+- Support for extensions written in Python.
+- Better support for scripting. (Right now, it's already possible to run pymux
+  commands from inside the shell of a pane. E.g. ``pymux split-window``.
+  However, status codes and feedback aren't transferred yet.)
+- Improved mouse support. (Reporting of mouse movement.)
+- Parts of pymux could become a library, so that any prompt_toolkit application
+  can embed a vt100 terminal. (Imagine a terminal emulator embedded in `pyvim
+  <https://github.com/jonathanslenders/pyvim>`_.)
+- Maybe some cool widgets to traverse the windows and panes.
+- Better autocompletion.
+
+
+Configuring
+-----------
+
+Create a file ``~/.pymux.conf``, and populate it with commands, like you can
+enter at the command line. There is an `example config
+<https://github.com/jonathanslenders/pymux/blob/master/examples/example-config.conf>`_
+in the examples directory.
+
+
+What if it crashes?
+-------------------
+
+If for some reason pymux crashes, it will attempt to write a stack trace to a
+file with a name like ``/tmp/pymux.crash-*``. It is possible that the user
+interface freezes. Please create a GitHub issue with this stack trace.
+
+
+Special thanks
+--------------
+
+- `Pyte <https://github.com/selectel/pyte>`_, for providing a working vt100
+  parser. (This one is extended in order to support some xterm extensions.)
+- `docopt <http://docopt.org/>`_, for parsing the command line arguments.
+- `prompt_toolkit
+  <https://github.com/jonathanslenders/python-prompt-toolkit>`_, for the UI
+  toolkit.
+- `wcwidth <https://github.com/jquast/wcwidth>`_: for better unicode support
+  (support of double width characters).
+- `tmux <https://tmux.github.io/>`_, for the inspiration.
diff --git a/examples/example-config.conf b/examples/example-config.conf
new file mode 100644
index 0000000..c5fcb2c
--- /dev/null
+++ b/examples/example-config.conf
@@ -0,0 +1,36 @@
+# Example pymux configuration.
+# Copy to ~/.pymux.conf and modify.
+
+
+# Use Control-A as a prefix.
+set-option prefix C-a
+unbind C-b
+bind C-a send-prefix
+
+
+# Rename panes with <prefix>':
+bind-key "'" command-prompt -p '(rename-pane)' 'rename-pane "%%"'
+
+
+# Open 'htop' with <prefix>t
+bind-key t split-window -h htop
+
+
+# Use '|' and '-' for splitting panes.
+# (The double dash after '-' is required due to a bug in docopt.)
+bind-key "|" split-window -h
+bind-key "-" -- split-window -v
+
+
+# Use Vi key bindings instead of emacs. (For both the status bar and copy
+# mode.)
+set-option mode-keys vi
+set-option status-keys vi
+
+
+# Display the hostname on the left side of the status bar.
+set-option status-left '[#h:#S] '
+
+
+# Start numbering windows from 1.
+set-option base-index 1
diff --git a/examples/true_color_test.py b/examples/true_color_test.py
new file mode 100755
index 0000000..74d5c70
--- /dev/null
+++ b/examples/true_color_test.py
@@ -0,0 +1,18 @@
+#!/usr/bin/env python
+"""
+Run this script inside 'pymux' in order to discover whether or not in supports
+true 24bit color. It should display a rectangle with both red and green values
+changing between 0 and 80.
+"""
+from __future__ import unicode_literals, print_function
+
+i = 0
+for r in range(0, 80):
+    for g in range(0, 80):
+        b = 1
+        print('\x1b[0;48;2;%s;%s;%sm ' % (r, g, b), end='')
+        if i == 1000:
+            break
+
+    print('\x1b[0m   \n', end='')
+print('\x1b[0m\r\n')
diff --git a/images/copy-mode.png b/images/copy-mode.png
new file mode 100644
index 0000000000000000000000000000000000000000..56d9e94308e437465b5d557763a030a285cdc4cb
GIT binary patch
literal 172385
zcmb^YWmp_f^eqaLV8JE0h7csd-641g?(XjH7F>cmK?Vu#?hxGF-QC@1Zu2|;bIzCd
z%X^>uFxuTzRafo3_Fk*@gvrT>qaYF>LP0^HNc<2{fP#Wig@Sq?_W=$#f?LA+4|sz!
zkQ5hzg1r4@wH3qzM-c3Os5?SIq4vBz-zCzZ5&{R|og}11;WyqvLqXA1{;@;=4&ghA
zsyPYUT3Z|2I6(<J80$M38+~#$cQX4VE+H+a>W7L81@#F^LPSu>ZRupy)k{hF>EUub
zBXjUe{2Cz{y3j#eF4k9rb4&Gk?fLqW@{*F4q`LXKQy=VkPzil=Nlwl$>a0%+f8!@K
zKYa1K(a9fQStlj`Xo!e_KJ?V8ThW@3%Cev7xi_}LGS0W(^s}Qyce_6r|Bq52y3hx*
z|6WAWTDMKV6&J&R%Xppyx{;-emydJ%_Byu{AHx67MLn{IwTMaBx`iHPaN~{F*ia}B
z&@`wG$$u!5VO0KaTT7dl#WSo;c8zTZDhvwmSi^HRZi`qsSE$23w|)6PmrcGCl{d3%
zynK53sKhFK8(BQM`|eBS=l^@23z0n;e)UMS81>)jW!<-}s(HuN8+o_ca#-!!@S*45
z^Vvv<i9R_0`wn^_wD)L5%1%)2>{F#~+Nd`eZ7CgI_p+Jt+$lRbc8^V|ZrU_o8s9od
z|57~u`{+8`jFp<8%qjHk{(2Cu8nqiwBJrd;50Lwk#+%X`iKOxTX%B9KQI9VleXz95
z8G=p=!Gm9VgItUJB;;|{;_fAY$vePQzMWK4`Nj1awT!Ir(H?}GQSz?s=wA><1=CF}
ztlFP%i1KYDQBlOK8pIlg=zTFiutdpibAUcC1;!@TWWALUpt55xQ)ml(6hsI8h%>(7
zuGi?cjJvPUYt`jR;S2chTC#63sWZVo-}g=`MQ@dw4yEXO)mT6W_B!L~aS_N)I?tr^
zP$PY<nxj80oIg$^mw6l3d*$2Ba{8^jj<s%qbx1-Ef#;`xTZJVXs>w3D%{25|(+o)$
zOP<$E;*{xE?Ci=|R|DD|lp_R~coH)+vo((6J~&=&?}d#J!#~$p08<tUQI>X|HCv4w
z@!1<M{Kk7RL&NIM2ct<Y<F3ih@L1WsA0pGz+`X@TN0}c%+Npc?f-<kg8=!gai`kDh
zZoZ1rdim0Q^Fu;JSvkpi$#Z0p#x7zbe0*Ot&$7Wp#hah&=&ciayJbTBr4F=3Z)VOI
zS13a%g1bM=UN%(4OLwA3*mfK<8}{tk#r#fiEO3@z5D~|MEr6538;rGLzA=5)CH>oG
zLbyhPq*znC>>fnyPsX>OxtaZg`zW>OaiO10nap3PDWmYmGSCE~*NB40w|n#ukYGYq
z>bZGQHT7EVEFiP=0TjsM-q?lw5!v!)&TuEr*blrm5jZp+HIS{S;wQVAgm-%3p~8Zl
z#wFd)x!kLFV!U^7tRCcjF(2fVPwIC4n%TJ9h>ZR-s7j8R9A^%u=cbT@S#sE4i{pGf
z*7pKIZGysbKNi&M1o}46lPVSm*l@?Q#D9La<-JF5Sb=;&yy$a8n<S@*4G0o{xO<ky
z>)zr~HVx^-j-E#nkb<1@HXX+R#xt3>5nh&wkUMVLon-CC=HcbsyW)2E_?MEZT7Q@w
zOVk`&&HNkJzZnE_ycq_h+{u6CZSErw3$CAboYVcNpDFnN?3QpS$XWOAJF|QtPwITF
z8Cdm>8TCYprupYEGi=-19f!Tn@~H&3M%OLk-J<u8$Y`U9U+=#3iC&Ek-D1ryUb<@`
zk4qVRU)Ql(i|v0(KV9*8rGWCfz5Pkww)N9rijrUF0=qYlV&(4l?=WPv?d92H^%inc
zLo+N3MT!P3M}8>CpB6mO+P?w*BIJQ1iLpCxs|Dv6{Z|jBQe8NBq;R!rN_buyo7O8Y
ze}Df6t3v{dbQ^@qH@NB_oSgZ!Wu<rLhz9qb2CB{DFXM9)eA6koz|O2T#a~#)yk#jZ
z!=Y524oag8RaTCZWBnec2K0&qTzLT&$b|Vs`7Q1h9;xZnuRz|vYtq7*ibU(ugU`)d
zTXQcrQN$BiJ`vo)2cpObeEvY+)>{((hJa*{dqn9PpShV;j_o;eL|>AkJfY;Z`w^H2
zkHZ2l1QBg|!N_nZkSU$V2CKt!1EH0kN>zt7zA*GdrrWJ<qqdAq)27UnLfpe%OUT5_
zj@IdQ^Cjo$XaIBoex!_RgkV_aRe15gjz}?bl7;{phCdQcMljKBR}4Tq9J;O?MT23q
zI(Mck^&aJ|W|UCVRMOv-l}oe9A_%z>u7<t=pVWkfQ&@di8&;n`JSt1;*&?^@fgoUX
zUK}{1+nu4`CR+|oi<O1~O`48P*Q%;^kFe9!+*dH<!N?m=Gz@#k*p{3M3jP$7%BU>B
z6mM~|%_&_xDc(<(h$B9u;lRD86^B3`L(cc^;B`57JF(3&RP$;c)u19wkYqOM;WM{%
z8Ni7%Um(@T{@uMRcmEWr1vl|VlVs-SeeSq=Nww@-w6&kE-T0W@Mc>frOLVswq`j>Q
zCQZFYA1R=kW$<V<zAvA${ApBM%VnB4Awiin#Gus%?ncINrBELWi+D4b2i!yF>y;A8
zwR`}YO+&~H1}w3TlSrm7k|<noJKI&`z4=#(9bBv`stTyG$(7HQ29qB6ODvQZxTTKU
z*R=wUx8X>p7d@}87k$5@q2*NMCBWI_v^wp<06_Fb6GZhE#$*ynS~z@me}vt^CbE(5
z*E}CJo@4NlbT`JPjF0t(M`gM`TCen)<%SAIIg9R}oMHa3b3JJhlTA&XWJcn%hs~?Q
z5G`PbJFjDp5%OEoeY4INgDB$*d@A6u_V1NIxCO(#bK1|1r(i1R=yexJyw!3YT1$6W
zac0J$pqCDspcpx&;q|J&lo&biv7Nqr%ly7NK_<6z`*zErrCBLE$85rUC+gjseVR5}
z-%1hj`IYh9PnbEzU3DwRzrrJ$IeAQ`bq%go{a)jn_Q8X38$8$qg~k3!9~cUPSj+2H
z+$gncg1R}@%k<}JCDK`3unxb1p}M<zhnWJ!>Z#A|7Y2^fdJON^vE5Fx3v^Ao*9?%G
z>*JU1f6C^XY9KnJpp>fBWOD3}h~mcnswqke`kj3Fdzis!Zzl{U?bThi{ozS7f-H8y
zXQ1JIrHvzf_}F)4XF4YNSg#Iyq^B(Op>N;beW-$INbQ$~O#s2DIrZtGCShG}wlXw=
zhkn0vyS()kwEO#I5gWKg896hj_pSm@)xIkm4lpDYMJ4-t&!D^Hup=#<IKxre!vj<S
zs<gIjoSLnzQCt#AcJ8>BE^?^91z)cAkkGD|pELi>$t@pxF`vS#*8cf7l2|@r?tD=D
zhd#gat$CkJt$K~VNP@l)5S@@Ma(>mIfF?OFEf#1wO!F4Q#v0XuI$X$Fn-A&{R<!j}
zW_aVLx-_}qoEZ+S`dF!XJg4uF2<En-eak8>*af?<at8!M=|8}u&|6ahX1P%FvBz#E
z9kqEZD$q?Gjk8tFojjNz7=;Py&tgfLFst=?>QyLjcf!Gy0>S)RJ~bJ<n#Jpi*Mw1B
zu|fNmRSd=m7~Zw1BZhrpG4Mq<VxH71q54WzF3JU(4^TfgT>5)iSR9^1t>rxUxB__?
z#v92VNYHq5+Xwsr|1g;`GZs#Vo6B-D2CAW|vy17Za$4vori%H1EsKqF23{dAD^_@<
zXuD%s%q8&a;B(Vsd;g^eUB*z$lnugeh_Rq{MpMo_z8u#7%9e<Zd(Nt-St!CD7R*%2
zSAR_s^zN->aHju<X0Nv8x%K6lj(t%dTE%jwYwVX%j|d4QBqctxQG~5NUxh|TZm!tp
zK5Sf9P+MM9Q&s$W@&62GbpLJxK%7cXHZ`9(ThUw=xox{Duj}@`PQO8i5tz!(SP48@
z{j#It()t>UQ%Xwk#NKYnoWVVHS^e_YaR2Gk+~VfoflxcJ+q1ON{0x)BLKaRh0RYE)
zoh@Nu;X8E=knRh?S9~@nbX6TE5)i$5Bp0(hD*M|MeVI6nEM0BI2FZ$=GG@%xJ5kzO
zd!|dHNa6GF+Nox}Wh|gh5X;^ieCAH1>Fc{B$9`nP#r(Du9wyJc)s1j5TZ2beOGbQT
zZHvF%yF$4fWE@6sNhtST^(>42l*rv4@!#h1u$Vv?B6_6p)+;#Q_GgvyW;aUlpF<Bm
z!ZM%K{Bk<W&^BeG`NrE^UxImTn%U)ab$s5ju{l#~@byjnz@gRYTWwhR@UM$vm?=o4
z)_ZIopHU5&$`~Y-&E(a(QS#jrmtH;Ul1ehRxr+#6_}CVb41d-hH2ASEMpv$<xQ;ND
zvro5U-hBT`T@jDR-~-pP3zI9@Ac<DDH+?>HKZ&rM()HOU{K%SktOw%_O!i;g!sJYo
z-@ndWj>vH>I^+5KKbp+KK>_*62TGd!4LM(_Tm+xz0;(6k#92ZnAoDDi+3geHt59L(
z)a1*aH=m^brV~vVy&T!U-MN3easBwB=%y^kiWr_FSTdV4eK>h|Yv%0XMcv4!!*%tR
z>7mZxp6{QkX6`I2TRt9?%%*f1K-sa+ZWYmybAL;(F4n+m!*EsP1JdP@Sa3QmNdb!H
ztiJyZcULJHu;80F#W3PjxwFp|U$~BGpe5~vwmh;})MX0WoJBn^+*e`5DH{INIVdR_
zV^H>X<3haS!;39|*utk4#|(|+Xn|@C|L@NXe58!5w*-k!LB_@b7ILS`$t(ru5e-w2
z7zWlRX)PCFai@xO3R}WeF*mCRG`%Jtr6sH2rakBJx2oBMEEZV9FiG)Sk3xpE=%Z^)
z%w&2$Y{0yPYPalL?08NOP$-??42So%WLD_mJq*#gU#l3ti-zDWqm@(tQYjI<?l${z
z>n`v6p_E9Qw2V3&BAY8XX$A!gLL{je(R^E!sNQ|&k2^)(dkPa8pI<B;e6w<LJXQo~
z$IS&yLyxYvu019XY76+>Efr_=!A{p~5qR7&0~d^$?z<>S){D`Dm_A+3CH$nt<BlWX
zH-;0)Ih!LKams+C@Ms<*@~##Pd2y23hW7dvXZ~ME=8aT|CZ^E{C>Pc1^_^3ebLwwb
z$T6!mV>9g|wy)(T7tPycEz=pFBW_X4Xo=p4PdM-KCF}nLANkh!*bnZ*_ix^HGii1U
zVR<&F7Gt?DnSE%raq8QM$5DH`p+L@Q3A?wh(5WH^3FtCDz1abXnD}4+I9SZ%?SlV?
ziJtS@#`magFO{Z(-dELQ$EsSq`8z<+Ao(pe9T>lsb$qjWw`**D*)JfHLZmTKPxwzS
z>W9!|fe%f`)BDJT4N_O2bk?i6|I?ljkpM#Z|NWK@g-{*}L4XVJ!yp$!$H#XUx(y5o
zVR77(5)u~9L+kyTH)|pB^JkY{jOHjJS<he+R>nZ?JfD!2n^lYPh#1SfY<pDg0_!0o
zFkWpJEmtH3<-|BX3MG=_p8ZSxu-cfIj9-fu{FXdj$5#rqxuHv28mt;9bDT7T&~cMy
zntdRPs2MxAXZ;l!4zfwI8@wgxjLROIW~CIxP_l*ZTIZZxpQG=;&mI1dk;yMCJP16J
zkdgve)6wy99-8kN^yS|#pFe+|ICOI3B>|3orKRoJzjhwJV`gSPn6DspcXzj1ZB|}`
zvR6SuLn~0N(7}ro`}XbILW8YtgSQKJ_rCJu-MYJ#mK$Djx1<HcE`N0@tud1f^6^zW
zjWCL7NKh`WZPu|~h=onF>yoQB#ei5OqFl)G%B5*U{!9Zp^0Cv+S|g`V*`=v$mXQ2n
zsg5o>xwGy-Xk~RtJYWibQ_(wNHla?l&xn!fiy@=tRsBGS8W3!QtGC1z4QcXf&o=Da
z+J{+Gl|Vyt4E5EnyE-?Nd`Z+u&Uwy6i|#w6X9J@k+k7`urq0dI18EP`Ql5Wfwl4M5
ziauHC>9AaQ{>UO<MCIHo<046Id-nOj@3z~OpBEsnK10_-yJq~*UnnURw6ti6$p!`n
zK9P~VQ&wieLpCxsWpO@IlA=^>u&O974i657D=send)=!}$IF}UIK~B^JNd)fny$^`
z*5Kh{v!IMmCweG;-?tm`{0b+O8}S$AgX#Dmhosi3`_gkukfiWn@?`>jRIkgI!r5yS
zPhsjOM*OnD0Is^Q;8z^fS03!yT&E)BU-L!TZi4UO*A4`&W$?y+Zrj&2d3eJ}KbmMM
z2mf1_ZI~s7yTSWcAF#X&{VfnZ2fJ-<fGbs%Df@o6C-^UkE1!0zgM5nSkK0X)U~Tq@
ziIly(kJj3;3d-1^{t%T4>jwVWg7;Zw3DZm2>iZ@bL>NRVMVMFwBH$-4FA`FM3`muK
z`g_c3%z^Y2gg3*Q8&MZ_mS>YUm)Bm~i_H+H9;WFgu;in7E}S%*Fk^M&&146uV!=j=
z1<W5?-`|R_n~KWIDc?2@5z!UQTG+QNcPQjh|J>j_G6Qkn`b{2Ry73avVG|I9_Zn;t
z#F9^i^e=|==THNnpFT&kppD|Tv$F%G$4bC;-g<qoSVP6*dd7RWTwGdebU2mQ|AOqg
zw}8IobhO;SP*+!1s?$cGtXu?~97$n1S#3#PT3S+E%Y0-wGg_|3%+&Ve$M61=%;&LM
z))C^RgPq*{`>Wc#ex=xL(E)OStFiNIx!h2DlpyJr=w#6;9CIo3QE1v3s0`ze_PF1?
z=adsQo}`#z!SIG6Cocy+u!2jGuqj(aR9NWYM2gZs&Vv=_R4*|uMKp64)@1BN3;6Er
z)C2_!rZ?{zcZKN#(ILXj25>Cw+XjEMZr!{yKNgn^cP4f(qkT-nSpHmjHBD;9UlILU
za<5oj08`Qbn_^06FHourv+KR_UFm|bs1K}72;_@#WKA3sJ2|@9MI&!1#E!2>SV7__
z8Ov>TERRRf@1$svs!mZjM^grcJt*a+lg!r9u6O$a#;5fCLFAJm*v?v3(fQ+Z$NKmN
z61-xHBHjmP=a8Nrk*AwOVYQSF2p<U=7Z(>64i4N}iyt(6+@C+;DkXXC?V0K6MBiv$
zr@gzoyYX2}kSXKC^7APH`~Lx;+@Vvo%c+Kig$1`V+&?RJ7W1hu5n>Q*hL+W_dh2CQ
zuLrxVwg7lEO2Cui2O%Ugv$L^jY0F#T?K%~v12JTPw>`n9TGMWGX;AX>la#6aE-qG5
zRjo1T4QGEoH1k~k!}ZB~p^4vWeDaiNluAKaxp%Hi6Z-k@{BbI?F{0=F8HIp=z(sQ`
zx%k%g<3gkTwmD?WnLA@<ZVvA1(kXxR^70aygf}ITMs;do0grmR!`HW~yIZ}<fdT;V
zuZsCFnKZPtM*UI5boHx?hQguK(z%o9A3t_S5%av?@0*%Z;3YvrKtL#<XuR5moSK{{
z^J&1SK-E6&+5cWX+&vYrGJ0%rZ#)4T3v)o$e^gVk?(e5~4{OYg(qv^1A$;FEz_ami
z=WG*uU?^WW(purudzZ{V0Xl3jhSRy<VxyTn!aDP@eUVsYC>s>NX~I@}o~?n*>R2aT
zF4W?&jcy}FUWWYZD0V86I<03UG8UWiO^fEgd4SI>mhIeEn1FMaIb>pF^oByY6T6bs
zl(}Zdm(t?ebO2!Cm)NA7hT>8)h)p9Og)iEE(GY<dPJUHx)ZbaRl5M@ii-o6-K{cWy
zeI92lKd1cjMKhAP_IC#-<_bD5?RGpM6eI85aH@eiLcNXC9(PmvWvz&261$?{;G@Lg
zV~dEXT30$u1Sp<=4y4BnPDlnDAhN|ii_(u#nr2CPyYqF%b|SY~QA3-ez<e?lM5Rv~
zCcR}kV1y$q;#RuNjj#UMn;ov=7ZWe7tQ_u&`!NZ9?lb78QZ#k=J(i+-A*Ql2S0xxK
zAN?c7Acpo@-`Q@91abP(X^o14q9Q(<1y*EaB;fFWc88N|?6>=H1ghbY@xD7aFgG<d
zdEKwNva+)?+pIMHyMm7&4D8g?1MngtIr$?lZhy7$aA8pq84pj(v@sMBDtsEdwE=L}
zZ$AW;nBW5z(JPs{uI_j^HjP@F2b)esvV5*s_ALAOF9J@xPfScqR%@-PfGySIqYn-Z
zeP(8kW3!yAbh|WYf4$SZJ6)dFM=x${Y*en4daAtkUdXJhWVEofRB!j<Dp9R~(|dWi
z^aBHoZ{gGh6BF}&g*;XeaP{<+VJV-WpdcqvluScYPR{#)&hK7cUcWu!;^U#;VKgj{
zCedjwR2w7dR5XkR)@Sgs2Xd~Cn6MB;1~)fzcXf3QjNHKE6A%zos?ip-@?i%_D-qW-
zIf)sB?5?%Bex!lKkK5`J_QtPEQ`LtAQJMM(J6F-k?fu*Prtlncz0!Q`{!mgxP2lEq
zq+l`p;x03y0*w)7!cK2Brn!4tX!Vp6deccIAn#`9L9P#dB*%KHn~rd}`s4MEk>Hy4
zm(Xr8^^FQgC*PlDrF<Jt>P~ZZA___i_K@imQ^8wj@4l+}d|0eMs2XP6dY#9-Y&E`c
zHwWWm!aSN8>kNdRUsEMgy&hJ@Tk9{JQIkk4ZkK+G=?*NMFnKkbkc|7>@N&UBJnqgM
zOGIAE5{}dGf3N(S(*D&uZ5);wc??fPK4^#WqfjV|w*0NlU4qTO0uR~7a{7$fs4-@y
zpjwdQKVwIGqkRmIs1pe<6<&P={Tt96X_<_qpp4)!DKgH-IW?Ntud&GKZ0M0W=JJ&J
zrpU7)C6|r7e!n8-Pbrx5JkL!W^iJO${X7QDd~xeCGuHzX6TfRtR8#%7LK(}NCTHFK
zb>gU2yBIPsM((CXq7d@e<+*dJLRaAD&!1`?K77W;#xpZBa#~taii(OG;+h^F+$}Dr
zTNByBN-8SV`rU8<z_fYZ+sLa53qxaLV*{drw>Mv2US1j8aR0aM>qlxjy1eXczojJ&
z2S>-rLnl9cGV#Sz7XW{$85pQIIB??!v8WB1Q-4TE=mR*0g@q-ju0FWd=DGYrcH+=f
zSW=Q(RP?p-+`3AQHZVB2{;~B&fB)%1?ZkzLjg2iKF|o>Il;9W6tK-f9Mow<-<l)P^
z(cD3!;h`a!<>WG%0&;5VP{5AiPzVBh4G>0Dj-=9nNCDiI-=ZLtyu3UNEG(=EK~eEf
zbMvpju!-p}k4`Shdk&p$YBnz221Z8y>UQ|3m8k$4x<?y0p`oC?ixfFh#v0<NplM<{
zNa)$LciAZgR)$;rXwY<@8-^F)>;)DYruZfQweyAmqj$p`f%m4@h?N@!#5d17ZFOT@
zWTmSU-qs0GA6r%n%bo1rI7BGeeGSc2^CKJT+?0)5xc>>qmPY=gF$+(0|5yQEyeO;>
zx>Knv@~^(_hu-UtUsK}!k4`myiQZDHF%y^%aX7l^e1_K<&T`Sb*D(sO7sDXM7@rGR
z*2ugMphZ4q3lu%>Fq&>3C88cQRX@8*GM2*WGl|ykY-U(!^+htSGxn<T!Pu?aMLy=k
zf+|=ZEbm%H{&9}$rtRT{*5%(lz!gKIiwNx3I1<1+f5p5O=8ua?s$^AS%X(7k`q-t}
zO3zB4@Kk+w{x65+pt4WBh^7pQ7iXR)s`dQ3kXK0p$h?ZtR1FcCfDCQL+b_`>o_a|`
z1cLusB~nimfqhQjr($Y2&?{`m&c#)Gh`!vu)OSG>Y*_6?KbQv?v9C8jkli_R&-Y#;
zqN4U0F*`pPa<Z~wiORnpR)uQSVNh0977?k<jJ@72;V&+(Z$cwZ1c2%0#>v3Y5XgP~
z)S-w`nxo;E02%$gAG)Y~RO*A{{n=^+sX!)>4#+7fiTL>VwA6gU{P+>TwlbdqNm7?~
zv=*#F=N8RdS$TPk*XMgGGBUreE+N3asur#Ko%i#zg+t>0ED^P8RU1iUp*4RdBO{BM
zsR!)b`FO7Gpk}PLsjx8gjbLG61+LmqQBVXuJw0vf3{9tQi-%6{9$XepnhgvO1Ew7Y
zfMBf#9ewg~LW8*Njqb~Z$I|$<Qe_!jg*b($!8PWmHVMhSLbE$tD~JuJNr~Uc<mAcn
zgqBGc!&Isx#Dsl>!C=ez&`MK9$mu8Jpm(>-@Uwga9kOeNUxFp#CF@b)3x6Crh$7Zy
zJNw_Ndz5nD{#2F+_Lga)-swJRE*DJ%krz*7GqFk+oC`QT3(Ya!sY#&n#L=8umqhwd
z^%AC+hf$2DB@gW_D0lDbL1JI&NTLybi^*f5CJ|deh|p7kSj|{EF9!hQIxjn;Mkum*
z`$V$mr{rTQ-4M2gpW2GV-5w~pwfRaWZ#)!6b;-2$A(@y}nFAveZ*6Sg=z!s05*khT
z)Qgs9Ct(I$@9K+Cz~Xl!i!Z$`zr&7+#gzqT?J1&8OS@Kt5bLofd_5p4%ktje+%2yM
z@G>wK?h9wA+kGLP;jTFG{LF2N%Y~e3e#2*<ZLLXwOI`vJD5;8zs}JL)kz2eLB-ShL
z;!5DwaF=9$yllTP3y^R&B#+dw7zd+~%2-*^0t9lwiXC7|ze}F_pO_F}lIm+`+eu3*
zDoh9CDE|Ka8}sMS(9U2ym)pfBAl)oGl9G}Fj{aSJ;Q|Q2S@$*<y>F}3;HI6NhQ?0|
zi*G?eK|Q^_@(KzLTF#`rZk3{0CuUH^C8(tQQZh2AHVrMKucuOJl0Sc5xbeQVo}4W1
z;BbXN(Q`WThC&WEH73ldZ+Yk^Jagt$nPIxKT*Ux+R>UA4i$hl#tu*5(A7{&2x(+lp
z4Omda_BmI8#BbsGm*$IyPr+kS20(Tv)k>c+s!L+BQ2KZJ<H6N8rP5H!rxnDJBJi$s
zCtunC#FU$jOC^U&$)z|#tinGh2Yg`Jk9XRGe%2>%;qTW!&mY+-ev*J_(GWbDK)Pbx
zndo;2y`Wx+R8g_(zLLd8a?M*P|I&FZY#d_d#JWGa<Z4997CHLvDg(B~t~mqwm@Pq>
zM}>vc5M9?=i&pmopmcO5q9PJH1yTgcx3;AG1zV%x&|-jTwr-7YcV))>{&y{aUn*&_
zY+ie7X5mZ}G`V%61b&Lpm_LyP>b#t)hIrpWgw0`S{t@L>`*`mC!<tBec!S5<sol1-
zJCo+<=&SyWe*GWl;XI!w=)&U4@QDLC<h?y2MEy&B<P@eX(M5n8%8^;SElI3WrHuwJ
zpHkA(N9E+yS7frXKGfWbi-^F$wTI`R<KWEgIYf|)M>)B1WEds_%80>yx%LS_=Pt-Q
zfXJY|RFP{P6&{{bUS8f^O%fgQ^5S)Mef@Ub&Oj^{F0P`+QhM!}75hgLlC`~Ryu<FX
zTe1h!N42s!)Bq&`RPLaVkcJ~rYb$SGG^wnV6fy<|Mj2*{i;A-|+wANt)eHXBqgQ|H
zl20kSXPXWp64K#huK1@Pjt3LjF3>Xlf5N8zLzLb_r>U745x^Mr4$~H``V6Wn0dfHl
z$Sia|bwfk7yE`9~mCVJx421Y+4SB4EhW5A_F!(o>PV~>U{BOZdF(sn6MMMi)K)9ky
zei><|`7K^RZ~WYlccQ5~h%%1CM|U1HU*3B>lhwfP8)7c4bE8k+>SA3moK<*GW|NLh
zxpD9))OkF^O4VUK$rLW2hI#zmluPWBn!G$~mRSo`k#7n`#Lj_H`=IvRQPb3tf|AnI
zwuhY7?A^)C6oGGQc=J#8lhuhc7cCN8!h352r8#OMdU(KXZN@zwh2Dg+RQho$S<+Y;
zVNqzF<g*?X)9&Lt1;7rJvmr+blLlYvRcRlOuZzBwb^+mJ+||==QR^?Nj5W4Y5nWL)
zaA>{Qo0EX(%Z)YH4+L4neoSNi{&^n8pp?o!*YTy5uCgFJf0V%9kV&;gyaz}2r;5J^
z0XHc^(pWoKF#cb$AF*eW=NlT4rsP8!h)s@hH3!vGrnl@BL&FYk4sd+?^vL0AHd8ta
z$^kXZ`}r<5E=~vney!3dOOc`kbTw#KULbG)+%zsDLmEICoZmrY!ohmXsZlichgCp6
z4MY~Ev{CAC2QAABYj#2)Cjm5@_=JSOK_d&6a}j_V#Ky+rAqV5IeDUE%q5$Y<#r(3#
zCy}R0NAC|{n7Ul?XiB=W(@*+tZk)iCYP2|Ts6?TQRyOv@#J{et9Dp<)pWlm<J*}))
zp@c=*bSXVKIb_i)-xmTV;&v)rO{D@TNl#A?Isw7YA3r{*lwgyMu|GaO{>{sSO`=C7
z;l(SMc3<-MpXcQd4bZf7J6uvuATj$ld7yv3gy?|ty!<hdXe7{b`tiJ*Ylrr0zL75<
zq}7_P&e(;%y~22d+tv`fMKxKmx+BwfwJr8aI5OQ;a`?pxnzDb|P!5JcyC$x1N3XiC
z*Jaq}aRo7onH+c&ZdlK3QnP?#SaF<i7=jr&W{=5VqKhUf8DPYV5FD%901DIvHz(iG
z9p1+I!3%Mgu<MfD9AVUgkFdx?5l@tq%Kl+{M`fIixOStMJ<Ef&(egII2Rr&GC<{xo
z;b!t53ACN(>IwbI^ik7Np9cH+a#zIWG=2(yjGQBNY&Ko;)g1e5HJvXZZe;tfSZ^^*
zYyt_9A22}1@25^DUba;AXCUSSJs#U{XV1A!C!XD5K&Bmg&mEabE%{zP2?k4)Yys<M
z0)^iv;d#Yar$?2M&9KcI&>G0Q<WByn9WqpxBmV<G1@i}M8W&l7#`?(@*KC2<<h8#A
z>oYzu>H!)vyY(%LSC2SKpm4E*?DL&=>otVJ{z?+7XA43;@mt<K=HP8-)|hH=ZjvfN
z9Q>DQPcK_6(QM$qPt=+N5+NF4V!48%6z+P=Rc#t*=}vII^CWH0lZVx&<0L>f3z(^O
zEU(k~TALruiDrY1@j|731R)3Ng|7QbqrKs8&HhZ<<M|3xKoA5Zsa#R0+%gI_;>G4!
zU!)#DuYe=DcH^bP^zZBK1+0DQ^QTH*h!3E&YRn|2r2J4<S8ow;%R`G^4f(#|EMvM1
z{WE^Brzh;AJQi$pe|Nrg+S15+HNYFhqDj1kBu!=N4C|Vzs$#dc47Rqn7Xg{0<@RK`
zA$nm!Eng;sfU_@(t>#B4%P9Eu8E`7PcC`62&H2r%p|hFubk4Ihp4f)7m4DXw*H9Bj
zSo9CV>;VPOrui!`(Xp)_-4-MuFdJ0%BqjI)gwSJJOB6qoxa|J0((A_eO{^x0XPsF5
zX=ARbuH4P-)428%-8?^6iVZ>iMlqwknas6l$x$SRl5NDNrxl0K;wsSJE^)CGTR+9V
z`kuoQV8e#usR)~`=L*J-CHRGIvT^>D!Wxmd9cP~uT8Utmsw(R^XA^@o4NT8)FZ!M)
zF%sNyz+cswFkJ2@8-yRWd(n6z-f!L2X3)M&vt3^l;a(3H&F8*UX0D#vZ`-jkP`sWu
zkUA_jN;Z0}<Q>$4t1_lfcMj1&d24ek;@HmERsyvd0G(8?vd;6u05%EKKX=9bqX;-h
zerfUD5_zJMF<SKtvf^vak#zpb0X}rUy@jvXpWQuoX(FrFAOs}4te8)=!E;pd$*V!j
zn|)Sn4S&L0^v~dEV{w@KO}A>fnAD}roUCR47I7(b1FR9>@f8nQFnD_DvAEcvq%QkO
z$zLd7;%K>DF=qVOaJnF^vQJ|$J!KI^KE51V6^p{|w^YIO;+_JaFNf+>6ciO5240&J
zNy^Egd$f^6_Xn)n2%McB-g*FX07*1_+UQ&{Nt;geq!}Ri6QPQibhZr|8SIUuzR4Cq
z_I}vCebAlj#7!)gTQ%BK6;COh1IT-2nhgfbsg=v8r*Jg@jN<dS(CT{MD!2IkVHq8?
zsu9a2<K)C^SoU6NG6>}S2+%!!Mm#e!vjc~V`|@R5n2q{*QnSm4lVuRf3nXp=zS#wQ
zSA=yA6jR+{WLR_(EqTo8YBvS+5m4Fl2~QqrL}{K8-@$%;?Rpqp7gtcUBL7B#m)mq|
zsl=m_a5YnE+#2hPKZiGM?n8y8HS3{N;lFkyW_Uqtihsd+bisN!5z;h4uuPxpfsME(
z*^6aMWutM7pS?y&d<I8M(1s=)NSIKb(ZcUr@3>1Vh(po=mIt?NL9?GOujs4SOh&LR
zgb#23t*<Iq_Q8P)82jExK~&H$;jPHWKTAdG0PHbIKizQEEIH2qHEnt=x^L!p%<CPb
z9$DGE4*t~56hNjCfK!w0%txR0ySVGy3MvPzCgK58Yri>KDbcGRG11y3RyJ_Lg<(08
zt4nHJo^L#qLrZzqaE%T~Ffyx2Yg}50TULF#ZW~w6P%BPafLB}Fw3rRu;JMVEqNxyK
z02BJ9YL|4h0hKi+1usI3JT*1-WU1~r0<F|ZHO-q}_Y+kVx@k@PEwS^|*g8Q_4?i(O
zT}@v~6h1Oj$PrUWeR)BCkIdP8FRKz)>ivmJ`P1<~mQR)MvkXG*G6I>iYTUR-a;FkV
zr7m;aq~z&ys8nkC&XDf1P|m=ASD-y^`U{?b-1Iob*jk2=-Lzja9!MwvihI=w>`_mG
z-LIUiIXQXp6n{JipnA4t0Ab(ESz}5(KRzYHZO+NU&W-Uk|DK$dUn;7SMGFXofUL$%
z*YM$$%iPMU$HdZigMf%g3V=*N`v>l-M43K`<;u|qr(XSo{R<{bnMi@!l6U)y966HC
zO4wJCakgj_gQc=mffjydk)|KbHy;EM?o?bOd1no}4Hj!{Ke`lXqv`+~X$2yB>ThLj
zWId^WbBzW6+YB@fUj}(p9J?Z6{@=a9(f?JF@V|ER?B9<)Y=n28?oOu*&n)_`aWPp~
z9yeajH`MraQ*v1Z0a+9Kj?Jo!*qolr`J$^>x-8E$$=fdDi|s+uM)>ruf#R6U9>Y^G
z0}g|!;}|M0$+`XP?UQRuBRB(__tN-GeY!{{I=b$0cVUH!fzU_Wo6k|;G2-ax4~yq|
z2K`+5a_A^M!Vb`2y2drXW~fRoMTzV=%a+$t>YY<VVoAq-vo1L4nxQqWgZG8AuFlyZ
z>uunxS(^Sd*Lw{5{bSxDftpOIQl+bvL3zU}#H!llQw9SOb<FjqBS7Dls0qxEi3~+%
zb}uKWg>07dOzulTN=iyY1(Lu-eZ7737u9m>lrkTWt`|7YDfxhgww><SS9LH<A(g`V
zF{Jw|{BK}N?c<z>%Tfx`d6Gge7;80rPx=TfHlLj}?L2u8oVAyC8Y9#kNLv4PGs{Gy
z<&JgGMbC%GEW3;hY~OAwc4k=$<nP=Taq{Z;qYyVJDrXPw_E}A2%Qv6<1kfixrx*kJ
z18PCMUQN@sk3+LvlXjpQZNGN(TNQvJ6W-0$A+Ygl-?z}@$l(ru<^JlA8~yB6T>Q-?
z1lmzfuAyQ7;O>tV`-q^R8S5YR<r6#Z4=4!c_pLUp1n>7vS7rOu7&@M~Ika5aAa1+v
zQ047c%*-_*RWHluDO}sUTxM?@$nk}mCgmdHqA)-uU^W?;^qRk-V%m9TNy~_rnd9Pq
zz<;!C$m(0+-~Db!gbq_wZ_?+4w7t?VNA35Aw*y)ZXsWP7uV>xo65wHYwewWr2hx4U
z!(E0&r3nX<py}=H@+Ql$$LVL0^=JNWP{#OCYc-DX5aG!Rt0_gQ?`z70z)M=nGg!EX
zblnhK@Bck@b9`(+83IQA<*1{9Wd=zrxpOK)J3c;c+Ei`8#0JTTSP>*^I}4`;6t|qY
z|4QjW&e`^4_8R%3QlUOyyt0pk!{qUz^x0rKRQg2J%7B4Cou@+b_T{Yn`G?GSA3>s!
zo7A`Xv6dL=G)IjDe0~$mj@CnVNV{yRC}8Bw)o|B)n&(4Q(m+W^!;{x$vWU1ilgUje
zJxCUi{G$0TX%ULNL&GJhN+2KhyxSQsUQ~Z~P?B3RKHmW$pc$Uj-T!c3cP{TPAz9UK
zdek*0l`mpqz{miTIW$z-5ZuK8Z5)nDN|t9T(3PVYDtROgbjqK~(c%75!xfV04fl~G
z{^$BT@}|Q*p3rdF0@XQmhXxz8gp%T7u?pLEJcGL6r+!0z5E0{>qc5UsJr-%VT>p>?
zMbXkejL^%CTAYtCzGE|FI(D8}(3I6LGpkgb-TAcNDVefDm0595q(9n*%lL&NTpWiT
z-q0bu_yCu*)AfGD09>}8J^8P6K1pG1A{}>U9AvwbD-G}dcqLEU<_KpVOQv<zH=i)G
z_}=*E@u^qiSCFOnjnQESi<&DW$jjjxOYGiEr~0PLn7q+aK>#YVQO`_|bnG~7A&<Xh
zza9S3<PmYr?bH~@_wuWuSfrWq-Z&axpSa`x<<)wo{$VmGHtA0nMY67>goJt4$TK8k
zn4uhk(#Gt;?7If<)#32f_Vt=Hf`F@3@^)v(CRcZzwq3J6^brKcjTF<L6IGSh(V1*L
zALk#_?&z59IFIHZIPq=md3(AmQVssMnD=n1IJ5?HBj#l$znu2GJRrIxyCB=P;bC9T
zU^+q-hhAe`$JfY)O8s14S|*znv*Hp<wQ48z4YuN9=KJk&JZ>ks<RwK7m9Y@Vefv{3
z)ykXUakYjgLjFfP)Ld~?w1lw8u+7nVUH#$U#8S;yl<r{Ey}4xwx|)Ngyu5_6GBy{X
zDwF$^NV`tGKO0RFqtU>368DqC?|e05pgzxY-+^RZI#FfiOt&Lg1;w~j-a{fTz5kq3
zYJQbat<B{lMc%HK^WvknM}|&`zD1J2Ckz7%Uxe`YMtvIiAdLRjbYUZ^K$bFF%yEXr
zxg0GA5yozXTqwLr^6*k|fz4jq`s)=6a%$Vk>$yK|ypEHMHh8m0zx0dbjrgCK7#Nm2
zuaoPELZ!!LOhhzlA*2Ffsp-=+Bp_K>J+BH*1#(*Lvzn_bM8KJ%Rdqd*bhW&jI$j6E
zT5s>tag5hIJW<DaA3p#vQ`a#n3?IK}i^l+Yb<XtNvsY5yjqT4g>ANW!ao>;pX9<sT
zvYzMh-a93IpfWq))tl4ngF3X>)fNq;-%(azZ~Y!&`@L#+Uo@e##m{Q5E?^3rT3VqW
zPga`J3P^n$hxez8i!Ii?j<vy;L)Ti~yLnK&-~-)<t>Ip;i^+lrJpKgq-$B>;G6vu-
z(HC&k`uobg=Ubw$^qW(^84jF0H6keTrS*F*vaR_|84ptVt$%K;Gw?xJ@znzc2Ul?#
z^|GlEQ`=bZ1Z-HZ`E`G|xZq6Z%j`XNv=O+i8b-eaozL5BT$T7rxVhmuJKuV}&hEp&
zrtW0D73YlQZwxKnY7Q(m|5l$Kr(kAo)pQk+$BHWFo`NE&d;MCGO$klz*#naVXU$L!
z)T1)Bt7>IMNK_b$XdtH{$$A^iy}Ca>c=3xx;?3Elp7OYEUb+F}kaA3u7864z9onM<
z^Uz=u^9z}q<KsHVNL8@h)-Hx*XGah*mCjCm0>a{!Qd-A_B%l>=nQk=#h}B@T?l*tD
z8xYN}--)XWOHxr<yeB89zp<XI?LgM?G)jzxn;aK|-VaaeEu^ACDI9`)<mAaceCl#t
z;kve+w!1E`sVON{3-OoH_V!-h29d&jClKx2wr*G4OurY{kP{@+rGH78nsUg5EYoN?
zzE-GTuVP|;+}i#3HXkxMHb~`GgR6smbjzt+r$ioqogv6@Z7Ko1GmooGhqbJ)F}QnX
zL}JhJJ+&H<0-dKtCXh|`zHg_tny=Z~OCTwZISV#F!KD6eQa$Hdq7vYCmqWzJrMWY_
z!ru}G70|eD&&Z*o#t!b`$>WU~f1^Bk@JC`|Y&Wkdu8%)tY%(*s9sAtX`~x2K&Zt(N
zmeU?~rXP8)CP2+InPX3<)~+>fha7;7X#S9t&aSPE7{{fx@O;UgH>|3a5jl5ga(}3h
zy`1@o<~Ro98)N$99)HN;#tH#!J(}04gNXADfhA_>IwDGnE#4gTV}Il)a=zQZV-`ZE
z1?@G|VJ%+9#NY5PHk$m(6a|IhU)2$yZo(RJs4Fk!U>6a<`0OMV(R8rN+GB|hwQW%B
z1^bP64YHs$>hP|6OO6SK7TXYGcAF(37nh`tQ4%!GdMlv7Qbt1NGwYW?+oZCMVj6nB
zGmoVcVNi7XinUa#m&~v?WD^yso-)m=`9Htu77t%+rAYQXe|)vikgcg^{%=!*)yMsn
z?bL>9!D<h8UaOPm92_zcgN`M-8O%Q9`ZhB+HL$!7`<_jZwH7El&UD_Jd8%a+h?W~a
zuI_@zp);T=-lCxV&CiD+K|-pDTO*GwJ|f_<`wy&2fxN6~+0_t%JszD@Qq<Ua<MLB{
z(P#-x{}j#K(3Ez_qPD_sv274|i6h%`ID#El>FU+b!9YlQ1Z=|rI~)08VnqrS*X7^j
zp~fBUohq!*7*tD*#6Y(!=$@M)AaypsdzUXBlr?Sf;A?s3aGn5W<y>`ZZU4Tprxu6#
zv2m|>*zII+KQuht=w@J(E}xQ=&ha)e`D#IN91y~OXlNiZv^{a}Vq?E-mM;T!w=(^!
zuB&6)vi#ysPFNj{PYwn-xkbgrsL0ejin3W~4Let_ODI5n2-7pjR#8r^$JWNeeLm=h
z#QeaC8@#^k*m#fDQIK7Q5xq?OVdX6`rJ8<${rv%vnaO#mso$AjS}Jru?zhS1eh7)M
zvNB}^X@E+Jv9AvQz6?=_N(o9r+i8;STfT8MK`wh$LRdl3V{oY8$xXvVmWfTH@)l-d
z&`HI;35WfnDA?J9YiF=@+;5%XP!0fXnNycmLrCU~-N*HL)M4YTb5mivyqxMkKrKF)
z$5rrmKRn98aF0ECv(~!yzRC4%c{j56o+H#*#uTWZfoLg@dx-E<3ewT**2+KPL2RqT
z6Xhp?;kU2b?1k0gV~dSDri1uBp|^*JLn_PE$t-!9@FQkV01Mn@PY%(VS`*<ffeenU
z=}zol$>2LyU?cw6wiQ<SR@Rgq9u@-=b4qJ3sNnIIu4BJT@>O*#C+D;Ke%btC>KeJ+
z9@z8zGw;Zd;&}T2jV}o0VcrySdA5G}kn4Ns#0RyDohSuz#s|2(qa3>Jm`|b~v<4i=
zz#zx{V*LK9M{)eRFU|J({x#b5zfwq%h6k_C&-qgPRE&;SZes<I^jE}t@FCe5cpJJ=
z%LYn_7RQ03>@$Bm7pZ1NgcE%_TL1$t!|oW54PW`4Q(wC4+QxjxD_`3)d$h9?w|4T8
z5>}Awnn$GWniJtyzUS=uV|nGoW!qOaRUMzO|8e^Km4|};*?H1daD;8)@HTlz^*hU$
zOgGDUla2^)eX>P_&6m?^3?N&Qi2Bf1YRgluG`W%0clMcY%3sFQz_qx%u8F$b`ty{*
zXZD*1ICVC*x`c!TOe56KTwgJ?3Atnd39P87jJ!?UB5gdt7k@n4Ur39d!@i0sFi5>c
zX?!7Udf;q1q=OIgg@VHP3l)_M=RiqWS#D!v;K0BKV9RnRo)V~q8@BO$^}~T=dOz3D
zfwgsX1U>dXt);(OY}kCKa^SbFUZnoU?ca+j<)vlyTb(9jG7*@L*e%SX<0AwF6f$<o
zr$&dy!r~!ttJexWZjt#{07!TLy%9;7YJgQn*H97`2^M6_rr!o0ePF`}9^AAai48t;
z@9eDPFpgM#8nNQc<_0Q_08(|_I65g$7k5!7nmZY@Mt&N2jDUhbb|bF(ytI1HXqono
z=q-8~sbBP}n$>BHf$Y~LxIl1eqc?*m&Oeu?@xu@<sk~H4Mdc4xOA3f+fiZ}1OurDh
zRJ%qb?l3kfI0|_$&;;!K6*>IR4<h(H?;Qc>(W?vo=?UP{2YZcI+Oyo}F$Ssu9`79Q
zhdIkB1fY>IYG2PY1oP-O);#us;J@-);Nu&TZBuprSBw0=zJ0XogI6W8VF2wB<&2%h
zxdP-d5dCy$wK*fAwDV-Grec*D;HE1N$II#+`qTK6|A!){(>ULvoGjEuUtN7ehU1e6
zv%eW16UjaFpxwVcce$MKA6?<EV(@LT>QSG3Bg%9^iO5n>X7@?sZ{y%>+VieQFB6kg
z0j&{7$RDLX51MK@_fnXOcs5TXF}xCM#+S`*A0F~Gf|p8me*I6-ecT1LSaTTfCie7;
zZaX!rHJOlOC(cT7xmqP36U5>Oo0KM2@fnW&k<oU{N>Hz$GrrGFjwjHM&6RrV5|&@L
zG8Bm+<?HEVXSud#QAvgE<wEuDI@4+EAg0!TT~ym3lt+-Vl=jjl>N%oo)}I+&aT&^C
z<w-h64u?|gcScpvbMf&<a6|5Rbx66bmsyN}cYbW-<~!2~H}7w#(aCzk{o1+36FUxu
z><1H0_Mqmj<J&DeZUpu;9$MA)iC+|)4~-`92yd9ylELE|@A?Te&)`-yy01-t&vY!O
zjNQ`h$3<PZyzJ=YDa}r}mzBjnzD}P^7&0wr_T$I$HfaIyd%X?PZ8zQnC%S%mfwt-O
z<@5G&R~pspnQgS;cjUklryH$aNxl?7!>roVMi$jI4Y(QEY@El!rfDWFD#=NVhwNke
zj1xWa-+kp6RhO9YKA%30ZQ3CzM@)EL4Ox$WNk*$&V+pws7}K8`)~znes@{d_{r`mQ
znnN;Va9vlgp_sz(Mf&fJ9#SMqb!y5*Q=fw2eB7t4MSAivl4sHYR!N!RnoTqdSc;De
zzwQIY<fMEA{;C6lJy1Qv@p7b+vo#$SD!pA@Vq<oz0Vw8%vb>T)7Nj{_Q-enW{_Y?K
zWM0VZR>j}|!AScnyhiI;r+B8`(_^x85#R1E_KMRrv5^THIV*E&N+2@8r&BsEhQFug
zbc_EuT#T+fz}kxQh>vAUk=+}$C4pFtWt)OJ1N;9@x&HfM)BK1Ebbgq~7PwNjylf>4
z3<&M@R^qH}U&h1u@Bhp{N+&iHXk1*>n2pEv{7pOxM!}!RQ>W<^Bd)2yA3m|{GnhLr
ztm4s3Ec$=JV)f7x9<TQaAI+u(b=tkKB+t_YHH<zaw_dVQIFDK;O8)=HV!_YX!qJzL
zEAFi?4W?>OyQY8h^6dt9=M@wb2&k`bY8Ze-;noX$=(|{F&9_dc*+Y8PsvTtk7_dOc
z#*n}0$RDn<S=da^GtU^?q>7Emc^#8WToAK~((#M+J!DrN{5aS0*7QQPK83253)B3%
z8xkS=Q$OZ*Uu1rBb1;QuGOSK+@i#{Sa74B+Jg`D}#=Bmet|aq1j<Av)FA>fq9h>oJ
z`-~nt7vEDCQt;NiUa{+~)CQYp*BPx2^laK*(Ug=P7?72flz<9S(Xl>dsZ7?`isUlA
z(Qpc6eC8N&63^z*yVgs{8t`)yhy8P#*nqbm8gQoh)3B!npz-SraIBYinlZ*?CavVn
zAJ-A&n@}*b(Zr(1x34-N#^75Tdx;V8gMPXQaZW!`R#nvQ5^V2;>ILVCF;UR?xi?4&
zmiXazT<WfV{T~X->xj+~anuWFXKO9?pG|V3l9Nx(>P8P22P0&n^}idyC{|;JBA93L
zd&yL|1%DBL&j|1(J<_Sq!rX1=fPDhglZeFUg5Rd`%%U%nxYzUi<)dR|Dxe&BWNF#k
zf1P8bd41w50ImG*S^$$bkzs-?piytmiK`fpHeX72hzCsf$5yqxHXqBz3P{H?`ac5N
z0YiCvy1k+JWxv1+;C25)H#2><FaY&T;mPQ3>rxydWO9zo|8SuAmS2peafdx3;lk=P
z{QsbuH-($X2cXe}!F`~nme_4fZ-T{p2@7b&;5)=h#{+C`<-)_&wEU-EApEUOfcQp^
z@00WJ{5Dsls<GA8DY52)2za`Z;3~HX_`I+oedr$f^!%Cn^T1yFMzCafOPq<y-Z;hR
z3iI>`&M0e}iLu6g(x3Tqotood#BYBKy;p~^S4QbnMQ}vr=JfaO;n~H0F@4y*^5G}p
zCmBt>e;j#Ef4txXtvT|8;?w$DVb__h2L1_Tn9#mO!K<QL@kO&bg1!j6fwCLqyBDv}
z0cQcmjome~({KAZ<#N>2j5y#1OvaRmyuKsrQgfB*SzfjSwJkbiSTT*~mNY}FQl&s3
zkvMQT(go)c@z`Smm7T|xN%z-PMM7rNeMH>pdTV!MfmI?m?x|VL*{u@|9Ds6?qqB;B
z_y%m5-zEtSCXa7xEeTbOo);Z)83`g;(X17Y+Qp-Y3$n6)?b48|cU;0>-_6vfX|*~n
zzBJ38f6#GvW(^CIaPw%c@iP7*DEN-mW+rRoF+thKhku<O991T8_KA;=ST(t;YnT+b
zfGyhh4CPk>B5d$`;i{BII)S+K^e#yTeuj)U4=DVS*!)x^l>KkAGqap{*?<+F3-}>e
zo_A8>&#<}tle*7@bwjNer?$>`v!wZSMF~MjE8tnFdw#{+5X~^<Z+Y%eu;`eWJ+Z<q
zsh5*RQN#ig*OhjCty~znlhk~g0Ebj0|Hd6`quo_i{mrAm(#2)-M)zZ$?r`LNdC917
z+ElwX;dMutZKUzVzvNN-)n*qVOVj=<<=B<cq0bJ|tio`&4b-4&59^&YskBRkNP;=j
zfsJ>p<|~yqm(hvX8m9rijp1wP!fnlDGj|mf|8q-69b3X!h_IB3kH4`9EZG*_VbLNE
zl{?_tj^?QqJ;ma~9%#%1;oaY(ALvI5y@RLEN8dVx!s1syxX5GuJ^%BOPWM--mT*%P
z2V*5WVvs*HJlaQ0Or@0Q&VQTT;s-NT-mz+B8N|R!8Z1l*mg;=$%_1W|oGfF>;Bk&w
zqXTliFxOj+|A)D^j;rcT`$kbzL`p$ILR6$1q)SCWy1PrdyG1~xrKP2tO?OCc8tLxt
z*mS=4#+hg4nfX2E%zHlPJ)iTJAZzcn)}7ZkuIql~i%!m<efdKMlIh|xA(`-f4)X-#
z(WAG?QgfS|%|Gv4iChtK1$~XaIMUw_+wI@9rFi=2LDb`$pRS$8J=I5I&K7rf#qdzx
zN=VR!^TkUaoRX(pAZ8NBh>_{AnQ0I0B@ZaW2eF78Wosl#gGO6N#~tu>HOk6ce2({0
z`@J1lLafVHcRxu^b>zlZCkD$XJ6@RV)xG+tOjI4wIRopc+%Wsmu=q6Ed}e-F!4ttz
zzHBj_tX?c22-@{7AfzOUV=_40l|0UhXhSI;0x3Z+6X|F;xoq;@tJYgt(WPLBMPc)3
z%Z(+cuiGOWyxynO&=}s^&+d(<Uk!~9YpN_d!Oc^za;BZp(D1&8B$F<J4YLpG&IBsc
ze#AEoVz2ysG@|At%6;dF-Bw<B=l1qWlp2ndw#yNJHcotg=w6PrE1vkZLoY>qGb&4t
zsyDIb7qeNjRJPp8SZK3vv1LCdnPf~Owbw=JpfPP{W?qhybD`S>-TBF8K&CI(Gg2`m
zs$6D+zVJl%xZfE;=_O#aKaR|j@u$8(fBuq#blc&k#6mO^J>SaOnnKY<Hwjt0t0VW#
zHT$E_$n$n*6ivnN-XA2GR=buV^LsuCij4KSYR=kSHgxysh4nl;pQd}Y0=+YrSEjxH
zi*?AlUo{?*+Z!dUPQbuJmUy2_@(x3hY#kG>BEpI*Yj|=q^zpvhJVXb)BaOzJ5S4nC
z9>%!E@*?XaPMG?;@^aSN{c}qd-?HzC@ZppFxQzGf9{Tq0v56>Go&+AObeWFNjm<ry
zqCxqzoYPl6D-AI>_p!(%R(dLCNa^W`Db!k6=jZ6SxpyGYmEBd*4<Q9D=KhO8{Un`{
zlFBsdwV#tALCN-eS4F`p`E-hLt9_aXKNa$0|2Blu@VNJ72Wy29scPrB9E#gJd)qoY
z{d0~v1D-dlg>id@qGZR6O{&amTZ|_>%jcbZ`z;f(<igwf%AR#5*xoQtq<}hIZ^e?D
z3qzAU-$^{`K%}pegz<__LWN-JaG5|aJuS_e`iixl#pI^~ZXX8;b9h>sUS8giV`Yu5
zuB?D_85qapP3=y*I8HnsLwT<t;o-7-XokO<&NL4WL@_k-jz;or3p6F06m$bB6w5Fn
z*$ySemDbDnD)~gucgzKLR47qI4=4jn{6;$}6Fem#%{{~EQzn)09#63jI)^$$UX=di
zQ`PFh95E*K+&RV={yNi!Ul(+QsH<knTDfLQ^?Ef2-z3L4k2nVn7uP^dEnbw5ECIbv
zg1k-{zK9uIwGo4nXS+MGE~!gIn6oe^b>zutkB{bg=h{P<S6{kk&<hOO0|69p%aA+E
zgO=aR)VKEwjLB!q0sh**$8puA3?G?wbs7h7n9(vTa`lFAY2h7M*}#-|naEJW7ejXj
zf8vGEpAoX~+(-B??;lFL%iIE!KmXzQFvQi0l)T|H%RX*ZLIU}06#P1oNXsQW_jhO<
zcIRT*jO*(a&$w-$0?o$t^`D!CCl3Tr1HqYpA9}XD<zv0gX8{#{Kr_>OIOYvqNn61W
zytI88ljrJn2v1sEpf9$cejq1;{m!#YG^i>ev@xgMZmQO4GqimbVm&_^K%-Xb?a_U%
z#tE<dBaKW|S6Qrk;%<Lq`<;1}F3RLaidgaP)RvKa*HIBiwo5O0|9pUw43kZoFC6oD
zgk~KvemLABJG+z+{6q$+<&3RHQ$5(dp;;cv)=W#iou)r!l5lJ<m!9>iS9;gPiB?TM
zgxQd|%j_bxE#U{sN#l<Afh~9_C(K0f>s=B-ETvpg2qiY2_!8cu!V>qrY{r;5a}8dw
z^o#hU$TYkL#+vConm6U;6p@{nvwgiC?{rP5c~syXyWZj_8_(t8>BJ*i&rCv3-yk+R
z>0h0At<0-mRlmBt93CF$rIAVPbQvBe6iGGWqf6*@r>uHy3}huGX}Fz-JFTMER9K{F
zdpQqC-!8{8Mh*pO(_#iEGhT;l2dFAsL9G{=2Fvqo`jKa|5l6oMt%S7^BKa5!^9=5k
zje{c$dg~JLvl?G-BIIAIi8Dj%>UHR6cIlz+mokJiDk2wEMc{fB+s`@-O!mW)l@e-S
zyS(+^Bw+XK*s%Gxyf*m648GtluUe4%l!ukug$v>AdGK0lbT^~8fdKPb0~dlJ8+lv&
zO_O>iE$8*p($lY~1mbT$VjW7%R63u}udVPOepRvw1SvEVhsus44_n5kqd}yS7c}vr
z?zVx*jrnQl=z2>{pQz}$2ns$x)O_Yy;!7WF&U@%&rB&p1v*mo=oI!hfpJl0g942ra
z_eP&nz51jG?AmIx5VbnNBNe->4H+T_$OO3NwYAyd)qY>Hqw#&#md3INjYqMJdSiz1
zJg)l~#vhtObyq5Z&TYB0#yFC%LFNM|DHg0~3V=tj{IW7m5N$K!q5!*w%6R3(r1jE0
z|F=?hRb+xH4H+qOTxktQi{ys5?^}%W`1-a)WF8~A=@?3a9bDZ7NSZXXIh1J8<uOkR
zmI&$LDQECfx2a9Hi!_pw)1KlA?`(V}TlK<XTI$IcTD67*{b1qF_D`*iD2EvN0#gL)
zXJ-iyU-|kBrmS31iY6T)>ziJ1B8csdkGY~Ie92X|y%c5(Q!X;5y}CFerL!mE+no_v
z@=phw*$^SD_d@pUQ$OZP@AZ%73x|OUN%{w<&wH;CebWrUTH#pjPra$T)}L=v#PznV
zfyXbO&)lGK)MmWY3XL|-7iaRMuOL%fo3_#kh6DBs>}Q*KDs{naK?F(>lF9|U<^=^b
z@hA6vPj;79r&WyxDqoTa29c1a@A)Q2M92*c41D7&3_#zWEY_d2KQ^5eOBFndVKU38
zO4yBtti;%xvD>nHp3S<7ZedvAp%y=nhfn8cRQf8v_rnd^`}#74n>m-wn?=&obfvW4
zy*JR6H;%vi(6S`6EQ!lxksfnl{q3q2J@2$@>BsnrR3dR>cErajgE2p|LtX2S@RAPE
zNjaF~1YF$b7Y*VV3aj`Kz!g{wb}Tj(M5}|V{^%{$-i}xsHW0%@-&kQT4~#%TEQI{4
z>FoI|w=A3SbQ|_$aRS`Q#3=i4pMa=62tDs|I&LE3Tx#}i38Ot$mtp~>6)}8-2;1&l
z-j|4HZ|x4@r6}g%;PAoD9XVKzSFXJrfcY%m*)^s)?~@5A$mGnAk|3JIs(bmBF;x>$
zt8d0lO|-Vxrp`Hv13p~u<mKnD4RB0dI`?KW@1q!hbZwI6v@_LYzm}$Wn6)jmS%?EB
z#@mk{A183x&kc@i#-4ByCcS;<8Jd<xFg9+)ZcE|$>(|63Ud0^~6YBL_4JB1gt%D8k
z)X0N-ep@Aq-J`M?#CeYbeQxsap_1ul7daD{#17lCNTP8@Iim1;hK^kCtl$w)V<+<#
z5LU;Ze{{F{Yb>Db3^tZ;nSx;Y9y;@EPkhB5cR!xG5Bx+RtmZyED*eAe3QjbUNqrRo
z4Z52lTpuMRp~LBWNC}hAo{|0+RQS@wCCjus^^%@G$%Fos91QIHk48O>W~xbURO|g4
zz0O6U@Lh~b$_H1mSF=*g-X6WigR^}n3H`3+iTV6tT%?JPW0B;E2*+dUNX&fkaSW(n
z{=!b3kA+8WbJlesL%xV|<*)73c1MdB!`!8mV1-%P-kvOLoUDmGGzEPs8I-k#S8az3
z?aW!5#v32^S;WA~@U2g@-<&`Ov3HlE0MkO*%MS&9pE{TPaF%5iAVIF-;#R89n4Q^q
zS#rW7Y`wrX170XE@3(OP#4NL@Odwq*G&<T~1_u-K1Fa@8IyqtF!tDmuNL5?8us$ym
zLbn}Y$`xT*yBD3Bfz~;k(WWA9uhEF8>pTp32RUcyRQSOV^Q|FF(D6Gtg6H#Nil>%y
zI*(o^qQ9LF_d(YbDRIn?m_4}P-kD$P)B|uC=xA3rH@r7LlMeOZuaurUipc?H9P%Rc
zsSEudY*ELzohk8gk6&GK`whOv&S-S2XuS|*Fj<NMPwD-o*8ycN%jO94dL42tvo;L^
z2S=6IwWVOkV$!#rLw}0v=17tB6hS+S;3Rha8IT51nGh;0@8WVh@;=<p-COY2$P|E3
zSNFEBGp{nniVbCH)N@f?PH*{fIYr8j4oXv@Sa_h-E8e5b<&Tyb2PxEwb!ae$_=SNU
zuG$Hz#|V%d``V$FXrrQiM-Ib%s}UxHNvp73J>~+h<;}KJ&P}P@h)b6~da;KP(NE^Q
zU+<<?S;{^Ef%xx>@#nQ{PWT|^V9i%ek;!Iv*}2<SipHNVBfJZT04)LkfB?sdiY$`n
zbz{Cp%)E``<9;|ju{d#@CLKq%OMA)iSffMs(_ZJ?^;)S)z(LUxe#5^+`2p_`FZR#k
zA&%=ltA<hybTAxOQETf*eJ4%|oWbxVt#K%XKkP38{QIimyLyAmx#D<_0uA$qXtsz2
z-ROm27dD9&y}x(upD^;FBN*hP1t66tM+M9*xT@Qgi)~DNUT55=8B;zD=x>oYqAIPt
zyVr9`|AWDb$)f&<&dKQv0X!!r`VP<r)SWBfk*&tiIbIW2DZj3X>cWN1r@jx_a!gu#
zmSP!A>+kSYRc$#FT1RC)_%vTR+mhPL5?Ta4mo9Ma)LCD+kLqTITIRJIVmD-5)@oMI
zd%%KDB=OVCcL(4h5I?(KEgKBw61*Z30zp%jmVYA_A4^Z%o4HWQH+@=5?~Tch%M~2Q
zOlT%5h7AZF?%QhFCrK5|_O?y-qX)@%*ri8w6PoL<&Tpm(<U3d1cN#1?_$by85I*vN
zt<EexAr4?kwJK{gkcWZcz*c1f=z<n3?WJ0WfZ9YpV};Psjt<Jx2XD0IFX?+E5vh9e
zRoB%T620@=a4aCkS;HHT8WL5)B$dGmE77)%YU@m7UO>03(Y$<q^g2vdCR@4W!TBt9
z<ZXz{D0sD416}OJMldN0dwb#=N0L`jBxs>~^$QO-0ga9`?omfoPFrja{-y{Y+n=a=
zAQf<2-0~w9mv<sX1WpPPuHTF_CR3rK%TpgY8~-CD$CwWG^{tue2lW%)%Q5|b7?_U`
zcb{*e)Ss?i%FOn)cP~}pKKOA%t5*6!A{IU<6hN>851NM7nbX^Vqy5v~Z|SW`kG;@#
zcxOJA{3@bqLwemVY;A4rZ<?!0{y0BDKSVmQV)1qOD6x**q}HbsWH%ZK<ATQa`L67t
z6MLGY&^~PK<~HJo$mldzUGlkrB;iGvrBhaTDM<(i3D4zCM$O))%RPCjR5SDgEcbc-
zYR~{T7e350xpEJ;y6<sp7C7U_8^7N%k-@L0QcAx{x=Hq495XWQ-z;4*d*Ic$VE^7t
z4H-lL^0cD>IP7pFeF%Xpva=jH8M7PTlyid^8%|sx6vdT)w7>=P{6l~WG5?1?^RT{M
z*L}ztKz!2ElU=p6TwJQ0aPy&bBUOH7SW>j4;pWQFLH@PWw)a`p6TbDv2D;_jNWa&T
z=_#Icu1Mmx9tDHW8_%-p!*Qwmf><11?{4K0yBdp;RmMe!w5bHiBxeoLQ<5-af$c#=
zzr%?jNYL5_R#;Z%l+_0;lzOX6Ka0vD8&E;xhD2hKOIU%JVddzuw&etNaBwrQIhV8y
zn_Qjl>3k2Lr!2f+>x-WvJmgddtL+qbj$9EP;UXSt)^ID7&Vgx{VZS5>fEcQT5Adn?
zA+mVIzu)jRJs&Ya9M!Tp2@f?!17&XaO-3G{9L>sHx}33F;UnLDQRKw(uP;R%7A}vO
zE;I99%^SyZ>>Odc?7Mq#94|&M?2X7w^aU-?r4OYbKJ^MM$^|8Q7MRq?Xj0en4DFL@
zq+gSPhzfiG=H9&V;o^0`=H%?+>4?Jz;yS%xBTnkrcQ?~_-qvt1u3X~oaGLe+8|Zyv
zGHm}yIPGeAk`px35qF&M%D>eta5^yDMLd4WM5e)t+J0xoWWS0P4^=FV7o`v1lfC8w
zQ;sd7Oq!s3mz;F^r?epfZyZb#R!+bcW;9mHa-&=<b`AHaTyCeZwk#|xh;`uzWIi^~
z(_`3+e8TQ>x&Tl`5-yU8E77I)AkO6%eCw61vsV}5u}lec(-$Ce1&cHP*C4VNX~@px
z7HT|KmbS2$&ir{CE1kn8au9jn9J*mE@VJ^%{I5m@XNhkJ{WBG`_zBfa9;-o~fls!L
zgOW`@1z!_#C@fX(Ow|R1ho{;;1|18>3VH^(1!dM}oh)=3)gtDJ%K`lp^3u!=n$!R@
z__T@i<Zn&sFjB^hr%m^~beFN<yyslFe8_SvwkDjq(JMA?*?@=TK^nyQJa`Ll)@$ua
zf)rIUbkyp#!At|~aa|T-9``A=O_GHKfCc+j1N|<IIABGs*3@hN-vSKG25!AGNyksh
zRy^Xlt3v?sig(hMrDJuc?8;9C#;3!U2eL+DUN#GcCnZ_*8`QzB<?5A7y{k(2R`#wF
z4z~vb?s)l@+`OIVuyt_I9dN<=!Fq*Nel?3OMur6ma>gPj7Xm&Cat{G8kFT#6I?wT(
zZ8z1n(7*3nNa}2cOe*gksj-@=@pr8x<7gr^H>p^{R%ltFX3V=F(Ojv_nJ9>Wt&k!q
zji4h>sVwUH>KqfdCOFB#g4DWIM&*r(aj=z*ojxea$6o6}4u?D8ZD`LJjR`3!efUrT
z+Y=TQC3xwnZfiIjMLStuVsP;ZpCzX+!iae{BwR)Y%tq7cV-M4b+Q`6ev2_aYj4g|D
zYK$PUeGnQK5Dh7^8VtEyZOG-Y+Q<_yQ_7C8Ma>a}{xn`Q%@YZdMYv;rTzYH+HGK2r
z4*=<Xt^d>yW?z~rjAqc}#jVW6O&E#EJF9ZKDPjGIHQ@NN327Q1jz6^B&0X0lX=4F?
zH0RRTVy^La9BdkmbRH%|#yDt^cepv8x4(Y==D_~$&$5P^Gd$OLTO1+}9UaVL`R!~h
zLT|~S4ZyX3PUNY68UQ<irJHRkl$v0*<#~vaGBWz{`(kxoau^x0DOVaIGiOT91F%BE
z@GB`Kqh9i@8DA7cO*eRRkn4*!KN6$k8byX!LPxzD(wY6dBG}E(sDbxjzk<`@`YyRd
ze2U_SlUI{~1ycg3axhb3VL3XHJWt+c2LGhGb@W|=f@o&&w%^QS-5HDjhGAam`t{D2
z8qP#G+wni#{f(}uhzoNW8BwrZCzR0o%y+c$m0@)-Mo-@WE6MWk`cx?S#m{o${ALwU
zg9p?=NwI;V$8*^95(3ggbd-*0yx5HE>H%si{m+-8(fQxe;kvTi7ZGKfRt*SAiYgMq
z!2xW%Y!zX$e7ALa_!&95F9`R2-oNuK+G~jX+^9#xqF|vbUJ_fdlKl>fX`xNQFfcJY
zO{lAz{%Qys$sa9y6Gad5Ep`3YU`+4q_??n1EWV-<eE?iO#uT(714HUGS4o+O!#*Bl
zwnRY!^#BLgJt;eAZoNOS{HiFaJHAblZ+8_&U%!w`&zB0q;4^q8z<x!*%;Nx%OQSwn
z_-e8*vF3BXVVaX+xNklB@j6i>H6)mfkr7!^(gA$sYYK|bpu%GWK!2TmeXEnLvqeWx
zqO{D+#SIxHN5Fgm+I@8f;bXRx7DeUF-sf0e7NrtvN`x4PoxSU&5ImL@+SoV7Z}$)r
zSt;OwOjkDb1!7))o*}_VAXa9t_5MMb2z3D%z=md>?(D3_*bck2t{19Af=9kSM)I9a
z_swt6U%q@t$Wa=%O#SN2{meMl*N6Eq@{TKqfkHOQq{^)7P;Z#gyEYfZ;+14^D=RBj
z3yawTw3!)!OeWIl%En<6Kf~><Z)Y!qUwYjnUET)-+v%i$0Q7ghD7%7!z^?7pb~Zbi
z7=|0s)<_wa3Kv%t#9yz)g#Viw77*>Q;Iz30!5LZHLOIi?LrYg<IdaPN2hy9mBF}G>
zl#_>zuS>-f6uN*lwIwY5Mi&-EoPJv$TaMvKbN}TdpS$TYo+9$~${+t#Wl??CsQ2nx
z1b_ZrBEmiAu~eyFo&l8JjyO0TfVcZ+sKmlO<TN-j&S<*!0`z^$28%Q*K2zB9Y0kka
zS)?wTfw8d2NO@BiDJcYSH%-kXq=KZdxHxDRqDHz?Nro%C(<`$Hhs9i{o0TK!<|W8S
zIJ3I4QT74E$y!aPjIA>$sChx}leKmwFS4;P)fTSx>(D2R-qcP(=mVl%Lo_n^lcg96
zy-$$<gftn+Hvmhiqd}7r0tmZeF6RTopnOlJiP^8#PUNVtjmtVOy<dWD=Dl3J2xWm<
zeb_gNOo7a@MRNt53-s4gQd%v!u`X2;FozQIoh5k*bxEOYn%XOtvB6?4Ep&Ae{oOM?
zwIkN<Su1~0w%tAB+$K%4+MJ1f87$3=*0#mvpRG{ku6Q%3aD8}BCAu9=@93zquS)vT
ztc$z$dq;I98yMqLydIypVx@nURU&7xh2Jc5`MQ^Vn>;6Jn2HNf*J5}~NcfRO62qBq
z((8mwvKbTz&9D;%uVB!pJ{ME2y}}}&A$Eb3oo&?e0n#+1(Km!Kv)CN+X`oJ(-1vOx
zd&6t+mL36XM~q_=6TcZRV{~?%<Y8&E0d7B77qQ|K5)AwEjEX2BpfT?T67og>dWONN
z6IJ8c6mf!ri8QaiJmAB(Cms45G&Q+-raCCJIi-|Mr^^$-Hn1q)6P`xEb_#`-baZuP
z0&!=+3N-0AXmX|X(y0;MrL)JLj)@6B^jMoc8Ycbu-*8(>k$~Cj*^Z1Z#W;qic>PM*
z%42+i=Nc!l7?`WgSNDp5Z)a8r>?USP+=XamYKJ(hn>i)=GNTW~Li`LGdu0*Cw&eO!
z7CKid&GOXh(8D|QczrEudE-a4X*=!Ep@GkPS7`YL3XL|KY}n0FiN)QBKU=JLG<y4m
zJHhfDI=ZOiWzq(Xh1n}X`8)?O%;q-F0=`Wb;=8z9)g5c-o^^g~3-*XUGKuce3<Iy#
zAn@1d55^*|YZ4&g;E{aBSA%}tHrp5d?YX+&^iwE7s!#-VQn6CC;~joY0{-o}3tgfz
z6*H^2Szw72+xi4EF)$#nk2w*@cG!nQg_O&uUgYk^j|MXT?gcQ8Wixu~!xkSI*^^MC
zoHcArn6n{$sm+5Wy8J9q?PE{N%*Z1Qm#&=|!=v#B@41P7Op`}!R+Q}91B@zftxieG
z?5jHNbjoQYo%?)8TV!3?>2=0ztFVbz+|0o{1wh&h3wJ0fXYX4&K-)4pn-iLAU3)c8
zv3+xnD{E@7U2ed9P%Kd6&n;_io)%BM2TJ-cSg=^n)Cg$w5wqmBZvq<H6%oJC@;Vw$
z&|#Qv{<FNpGGuJ$qlrY@kx5fPszJVJ|A4a&olP;?I)C1JQIN@RG#r$oI~~rU9JPnP
zJZ2zV-l<se7t{?9)K%5qR?dyQS3SumM*x_$LspDLgRPX3MgarammG@2O0x2@*G@go
zaAil)YW4So|Ic3&>Gc+w{g3hH=sljnQ4-1~+x2HatGJ9xc;Ii&Nns=T=3oRmjcxuU
zJ&O<klM2uq+;Rlw<^`2iRU!trG+4}m5qtYY!Lg%aS-1sIy}cd3#9uGd0NRX2QaREU
zzBTMSNb{i~RXIu#oMpfh&&a#CBr`;L!5zIFUsEhUh4&=<m&flTlAbF5{b%qzO(dFX
z9Ub&q;+F#E2CE$v@&jib9r{2ao~loHNzM-!F=*%88R22}#$k+%?!cf0GYBt^xA{&#
zF2T3#Z{+;xxQgZmde(=hM(!YYyWnbdo4w<6>txLHxV^FXAvLeiB)Zq(krr8peX$i<
zPY@qq7@T+arLn;Y>YRM_iaU`qN59Ayr+eGA<d-<jXKIf=F2NKT@q=9V`_8~5Quw<N
z1fX18G&F;jOS#w-O-S;xsV8oI*_a&c_6Te)D#OmM&q*p*T``I3zmbwMXAbaDmm2Bb
zHNNQ2(Pv)o0dJpZ4ECOHYvbYvl#P?S67yFWygEJAXn&Jdq$nj(nDB!>SWJm%xbt3}
zAGZv*W>1;<zyV|S38JnwnqW>A%H{_k2^q_Gu#f=RHWfK<IDItYQ6QN$>iscgzSE%}
zVwP<5#6e~F>F=epHD$nH2D@TJ=Yo@OnXv?jSqH-5yuvV?O|F9B{uqV9fMV3ubu$P`
zo?wl0a2T4JQS&6t^6r8`j;}h23E2mf&(hM$&(U?TX)diur~BK@<3Y9F=F>TC9VC%<
zDdE<I!u97r!d9Bhjv9y4IU!}X5%(ld?UYaCVIKEoMjq2mT=BJ3(GRa^ne3xRD#A8;
zQpXAWuQbzsu*t5yq+);XT%(oBQN^v+i>u|a5KaGPRZ$~8wkU9Y0J;>aU|YdC@~B^z
zWlUjUMoG%J+m2x951?^?FA)Cao7*39L0@3u5wfT{`^4=qj3WcU$p=>sNC?|2Ek9tI
zm7Apk(4^3q4&Y<3vV}EH=duD|HsRo3>ES+Lv4}hL`_iIwD5iDdqe%6;)ZeVGtgA^Y
zW^CrK2Mdi%u1oY{4&A}Pl?=>6E2^wyA1oFy?B6u{cc}>N0pegrUsH+Ti{733d&6k@
zW<yt8-0owg_ZxnGjpuNwZ+8#R5X%%j;l)`F2PT#8+NsD7jlRru5GYFW0SNnT=CMg|
zmGu$+u*q<8j;P&KoiTW}@9ky%Cs01$g>3Ax$4I02_eM?Hz$dMa_geX~o*)YaW1rQ^
zX7<73HKn30Rj?iX>533ltJcY`aDt9(LJoU>O?r(+!#65JU)8Z$U>9XN?hOin5uEDm
zrNs#kixHogCR`vt%HaQrq$;7Q+vlD5CTFKR0_`M#abIyDYjM6kc%SFn^M2%XOlMaj
zA?r`&94r4bR?Pc<11nyvLM56nJ$kgS8&-Z64O>#zot9ENIIxk`v3VK|@@Y@rZ2!_@
z+Mmc`1O5hZGK2fT1$<z0v_>8=9<Gg4jS;<AoK0*QA+9Ky+pIF3sQen$!ymAH@jvNR
zKDvH|g*ZS34(PF(?7jesoI<{a&|(`JO(*%fAQQDhe!53PeM@V>B2c3I)QTbiiyNyu
zrKYaTzKepsJKND$Q!$Wc#V;6$FC-!|kHJq#nGI@ZJn_)NC7P(v?<(Kk8n2HL4BBAU
zpSU7c1v*BvP+doyu26?MHCP!wkmg1hz3ZUN#tS0bndxbonD8fHld-ZaT=iM4PL+ww
zPt;A98DPvRe34vIM8zU;=U(Ob;6z_S**-4vzU@z&Lfj;CUX|Cqll{SDEb(_9=C6zW
z9{R{T>l`TQ>>Cyz)04u}u(w|#jyE<%{25$<{G&RyYBCtMZX<xCqyD}Y`N)dWb^l*w
zD%w#FP*A3+K8MHdi<hOX?XOHhJAAhD>9eBZ6x~y1pH(5nbAv;GI(B&Y;EVDD496I^
z3-n@(T~;}&$Un2j+h&#Ca-oItll$Sj{{4^Ek3dr{cX5<Bo~5s%KoMt#l@62ASALY1
z#@)*9Zu^vQ!wmumOp=0%;*{#G(SS+@EHLXsMLfVxhR1x)f^fVw4J~Wg<Q~m6h=EZu
zMXeEP7&kV9Hls^u?t!eja$<oQ*FsL1E(<;OStR!P@_E9&6y2n8A`8vi`(A&QE)s9T
zRk~Bd4UKXea40)&_Vf=3!?zMBSmC3SB!S{3L8OB9RBChP*D}s5M5S+Cv-b(68VB_X
zHBh&9rU_H;p=J#1M)XfA4d!L!IvM{iYEcC&d+Bk5M@?Q(q(86-psPz<sn-8+APXc-
z>FWaP!Lm<%-7{9(#{i~A<mO9$l32`4I)R<xYVHq5CrPJPR~)+DE;DOrMQcaS6J==B
z#aCNZD4>3EtS>92-7E<-SXN5v*Fj`x-t4KDlZ)|$IN*Rx-KR4h?!j#aEiJFPd8U=?
znZkblM8Ib=mRfP`qyjp=1+E8lgxKMGVq$Qv=sX5z1v3*^%BKhrD6t=*-uIEDs*Q_m
zJ&Z|W+)XMeDlQI_fFBVgSNtdmM=xDrw&pkPj|x!eN@`dG8Wd3~!u2=B%S3?HIMQi;
za(06uhmS@qR|bd9^1|UEGV(%u@^ts9Armw>Da}cVU3VtlaQ~3%Gl+>RooSx{_L7mW
zMHq5Rp8EL*C#y#9=?HjlZ8fbokcl)z5$s}<f!9rUt6^R7z?#MHn)9TOTdcO*_8#dC
zUe0}06&ES66l?eub;AP0;YSngY%w5Y$7jjw``(CXI8dp*zDP_>U8*8pv`xTj{)&_|
zQdl-)@TV{yTC8``Hk8P8wm!gqo+oV(9*bb-HSMZNQ#@U>Q;``o#~x3Ni<ZPT*|aXp
zE>Z|jP~7|VL*vNgcdmO7Q<=e=|414Gc&}>cf53abDM^_{EEq3tDA?FSqLFGvV4uX#
zEDt_Rl<u}E!mfKZQ@;xD!rNu6#+f!0&@De0+{KDc?jo9`N>Pkm47zW4-;1vF_$RC=
z^eMA{&$^+WM&p171bsg58-HOg5CiEvU%4VtcvpN5un%|IK{$2b%M7~wgKZ`tUUVi^
z%OC15p9BP$#=(|HLA}MjYp%ug#Xk)qGopr!e7yR5e(~POaqDoapLc3zduL}xxku0c
zal4&9@QbO`*3|-rKTRZ(s)0J~>5X0I>}*IS?IgS125tlu_WcKljg3A~R{aUSkK*Da
zWX{;f$Icn<d(Vm8--Pc>b4m|pe!aX8Ud1s_020zTGSXIyKK>WrE;O4LVVIj|?aCBm
zCXO2|yyHXM2(5IsTs)71rvVU~l~YasLY$+_1tuu?2m*{DP*f!Zkq14m#q2ETb6i}o
z$IF3T_3M|ruxi@dsJA768g0|Zl7u4?h{aMAPqXAinkLIyTE~mjwu9WrylKfH1E-4=
z2xQ))%c&2$6zU}F!^NW^tbj*KDUvBE^uRl++gW8^JzGJ&GRJ)aL&@y<&rx6Yp28<p
zRe~8uH+H~(J>}zrglKg|5gSd_s?VQ2WBUq7yT0URWLF-KCq)Dbx)z#_gt~$aZD4H)
zB)Xy79HonHKmZdYqztIc-VTPoZ6oC^C#&6welpp5zvkvwOmf;ra1ta8g3mr(<BI)Y
zk71j2j;^hBMX*(&MMeV2uQgEIi;FYN{#5FsxCKYu!*ABhvN)o+^jd2sx>-c79(kz>
zxx_i*;2!Vg=vwFel44iH@uet(X6xbv6ztKR>&mBOzqp4RFj&82!E#Zh=H6n#*`C}e
zLGyOxWT=s(7_~51+y>8;vs5i3@(I177`A6O5Id?z2>}5o=HTu^T3MsG#o1?ye{tib
zAHu?;`+PL%bs(eI&mKO4zhrJGY=-v0`8rEkK!cn-bB^HmXCGL@8$PtGHx=gTHdoG=
z<@l<#bveljxWq`nxx3IAX<}Gr55ykjOFf={b><1+WWbMCc`luLy|2DJRdqnX#f4^X
zAN$CtOC|sH@9FF0iQkh-sTEF^p-=$>uYlf+_tphDMHx96mja}9628|C4S76!mrANn
z0A~ARQquhkdtT!rPS8qnL3-4ZEDjjSSu5)=HA~?@3{Q#|4M}-&`1x**{ec<WuqXL_
zupu5EzN}<J!fx}WuIV;1=U?Dr7?aH2e#SfIs>8P9R+$UAmmUv4$pAiv!H#$kerqE5
z^B*nzj!Oa59B23Q{2JP~x46&B;nzv$c#}Z)P>kEN2Mt7mge4n#=8{v#DsJXTLT_)D
zhzjJRPS0i`#w7xOvx<sQEW$MdX;qkgyxze%f1oiz_ZDw*NULxU3m%6nN96fTa60b+
zuqA@^*<`yKEh~cR%UzRbd>bwjFZs|-$0Cbep;t+rhnuaUt~IAzn3%!IgGNS!)ua&g
zXA~i}aJM1VyY#6lK+;QCZ}hynL2n~oy@W*5np6KBs9C$2N^B&;gl$h>MFEj`T^oF+
zMf0_>8|o9D8e!fO__T02-bpo|*4o-Ws^v1mw+M6*`a23-F88M+3gAsxJ?&sttFuoi
z#1W@4r|#|xIu*vawxb-?O7pKSlmK#GibA9sGm!TfV}GfrJBw%kGJFM<`kZj&B^lIl
z&jEJOuaqlI^)&LFRA28?N?8eiwj3|!HvGLqV*gFRD}}F7_7dm-lZo`LR`k`xMf$)e
zrHPG(1}{ey$C_O=AoHr6<g#_t+1nWLq;dm-)p-*c)7#alfQQueZ1`^d^{VMJl-qXA
z8-V12LYG_D>o3Idhntgg>boz}|Nr6Qqw@v~DW(t`F@Qg*4hI=-ncpsU4fGyA9`N??
zxR`x)fd&ZFWJsOHiamUMlD`}Jss#M3M&l_UsVOiJ^+7$;T>}hFfTz}A3%_(O@KGOR
zh$s0N1ig))c0<k~=mbIF%8AGSX;c=oc+Gw#q?^fzYX_er`#-Q1g9-TnRr^!g>v6zw
zNp8v~fWf+VM;`&}wd#0PtBwp)iEvFE|7F^Y?ZZQ@u62{GnBU=o!wE6P^X`mffNZwo
zCLCw1N9rfxOqP2OWa*E+-K@}BT)WSaNFMq-upU2`RBB!cPG|bDrlU#al^<z=rV50$
zZ*P99wAA%SCe8Z2uvTKHHJ(W-K2%PUYAc5z{yIzy>Vf{Itc(?a^4W~6Ze1A>OPgFn
zJ5n#kifF%DSp+gQKt?zB4-a3g_*TC1Y9?kiOLniT);EVQ6^^g|VeVu4H*+7ZX2W*E
zN#;RM3Tb!36(jKQrCB6tpyF}IgJZg&nEx>S#hkz^0R5NkZy-odAx}m0#@)>?KphHD
z6=szVC2cGV3$(JTy4Z3CmvE*b97uKP!i!%6@mPW*BAST5f=n)9QBjiXUv!+M7F|(h
zlj9|B%t83W2A!obt&fC+LK3vri?QK!ju_s}1FA?7&OmsluwyF%ui9%u9)Y^=2zf(M
zJ#UL;DA)1if`Z=-{~nL1-;4db9Z)dU@3ABjCz6X58D;9<-GErnmpUfq=d&XA&PJLv
z9m1GPluK7}dDlihd-hx*!)z978qNCUq?sKi_jQuSNn7G@>I;T)S3UxNRYCPd1x5wz
z<Y#EbttYStI=7fsvUZAv6<!E2mQ0v?0mO<-tJDXFTm9)D#US5yw#KUBy15(>;GRa1
zayP(u`7B@p&dxmtNl=<|z~_7Dzowz*0>o#4u=LM|gyH0)cbRdo>Y@fcX80eMA%o5N
zQw`^Nj=PALXNDUW_lAxEqss!f^Z+BE<l$F5m^)bb7F8DP5;uoSy3d|I6SYOp6o6#_
zAI^J6U;E1H>L0Tu<>e`&tCrw9vK869Ig)x`Q**_gdZz-K;?aE|@fs41+y&=}{LM$$
z9b@Ccj+9+$JQ?#O6`DM{4(y;Mws>HfTd<-o0BJvwd3mPbyQr?-f~1!FZ5K%T49`S^
zhW`y(Ij}*;l(HWlSuOuw9%@()Z~{Vx`LqammN^9g8SVYL<o>O-V-;)<`0o(tvLfzz
zaM>?z%jdVtB6kkJeNy}Ef2o|Uo7De9g!^M-Nza&GT1dY@**^i;w(kNx?8lFLaNGrI
z$NjF9_F`I<RRE<iX_QWh6FrO`&#NcuH*tk~HjxuWvR_xRA;?fY#e3w>o8Lb;m@t_g
z?FUS%)o{V`l4cYWBAR(isVb%8DE8hsBjXwf1&pXr(*Lm$?gkf0=XRsaUMu)YUukQr
zL>60mPB!p^mJ~wY{?sNE&S8J~x~IA68EoZ4VB3WN31CDx9X5Uy?<(Fc<S-{tudywy
zB)V-{9Bd-~3cC5$5xkCGy7+68ltYuMeGTmtCqvnZ3KQLHw*CAf)aR$g90jVQ5<p~A
zs;3GAjwrb0u>I%t-z|s0vX(5}e2)5z`!iV(K@{(GQStlSVNk|6Qw~#VGUUdci<sZj
zGixnqzzDt?KguZRZlhPLeeYHM4mgwk)nGW3*#B3u87G2|Bo3!5WzRyHjC&XE3+mB5
zDQJFKi7rS#LM7n*Hf)lD_eSqEPqkf!O(y!vkA4!(bZ7~EvF_+|bVBa#K%?-k;XfT*
z{ht6QVqhIm+*lp^e<G7bh>!}VJ`o`0Tb6>afcWwg3Dj&B(`0OHKrI>dHSe13N!&Jo
z*laj+HcVCabhN1AR9LOaP`UJx+t87ERg7+}{=4_klqa&iDgt#z>593-q4?Qoa&T+X
z@@5`?zRbZcPs8^giLLZ(<~B`D@rnf+UBFghb7B90gX07jHf-pB&3Pm?IRa*96CgMD
zb5@kMvhV4e-7e3Be-KbcyR&Ws_=|7@?gfKc8#%D}{yN$e7RWe9kb@omJSpLEv^aPZ
zMRP@r>t5HM-laHpzKH(lk^glev-PPIU>LfWD4FrN*Ys^w@&!N|9*_viEoNJRGz*vs
zCXpZLayX1daaE4%Ou)VgrgIFVMSW1C)Y}?X?LW%bBL$E%FjcS4{<yGWl*d-}KUKVf
zS58*BXXBG+w_oYF&ks7pm$A}3AN#687bR(AJv`2oZGxBqZ7I=Or9>dJ&oQW{&Y%Gn
z58dSryA>!YI6Y^tZL`^kXe32x%LNMx8@M58@+GcS-5RA3{j+Ye0Wu!$A_&Si^V{u<
z`9~Vk`#)(&`yFhs2Cb%+j#`l4yR^KF=o2tTMmXi;3%xoTyS#GsTkDS;6St~mbpB8U
zvUAb{a2XEE7>Cg7`9`F3hjA)6VBs7BIE|p>%KR+KwXmh-Pg{7Ugp@Co4<s*#-dGHL
z7UJ#yZ`nucxc|G^M^PBXOiaw6*mPT`NRV$07dXjSByh6Ih2HHPeQv4W4e-^`HMa|b
zG}C{sP?2)C?)|gK)w3Xkqxx@NN0nx{Ed=m7;4rSCgCojgLqqU-@40KGZ%zxWN7b@F
z{@-OIbtOS0d^Hpg68MCL*~X4NxT-)NK*{QLz{#vzZc9^VQW;#};V$?K7bG#B?yahI
z6a8QKXJ5(;B#nZK3Uq(+B=z7J$E0RrQGIyFk26Cw8nU<Cfb(;3e82I+0=Dtpb0F^4
zV<~ZC4YvU4SU{rxNLdxmRQ}WfNM%k7!P&}&SjW55WIW&uuNGO8WAZ^#xF!ERH>Tb~
zKG;*>KZC#UfB$bN>2JR!J_PjqJfQFaKOcb)Pt<GV7b>#2X%u?(=S!YZne{~G`Uw;A
z*vC#yajU5j8ck$9m(Nk^dIor)mmkuVYRnO-(r;C~wy8hzl*ZQNMQD2_6Tl4c96>;Z
z`j(Yp15-Q`n60L!IUoN>c1i#NS?@HFj^u}=ieQ`6)=pLJZR#t0FmKVK_|6OtbONcB
zPe2;px5Vk!NiNm4yUh!vvsid@A>rXzgP*!})=VIxLbp2=97|bKT(dWNy4xC#Vt)QL
zQFhulFsxP;`%#?Of@2fj2w76V)w3{lhSI%x=H#~v5{qt(2!J_yE1nQoCL<I3ERr19
zs8PVY5=k#^iMO$~`MqgNx|0+a2d3?q76ZteBO2+sF-G^iQ`W=C%TgNy{9eVyCDcoJ
zpo<<_X~OYbLV~Q`cP(&+{ByV|5%313{}5zCx1T+GhU%(+ulIR9d-d7x)mG2eW0t@4
z{M{59p}=#=Y>r(+ugJt>B%*iR0Lc%sDu5pi>+!(7x^T9FM0fBlkLzBJ5ZWwnu;h&9
z@XJSURJshe(PzC3HA(H+CFXuAng8o6d*#TBN)2X^brb}$hOXZQePp-pCRA+DNO&b%
zY$A68j;jcbjw2@$gg25_q>NhjvT6bt4*Q#})CiZge0S<3MD2Est=r(QDLtPu0{xw;
zx~k*wIncueQ`KXt_X}jT*k}=7g%yLge3xriayd>w^at04E|46AXL;-J7#!IzFbMCy
zpvk+>W-+5<GsOzy1r0BsJKA4qg&1%kTpil&FK@Cw3!%3v+B|hSQFx_DlP*w_v4Y2@
zsEE^h@dc#q9Kd$+LDKQ}C#h|ql=GvvA|g~qMn)~fV*<X%W^kL7OSwgcbn3ZS3~Nb?
zD-a4r8&uyZ<*vx(8`J;e)r`jT7=wf5m5FPD?$2I_kU%B+Icm|2%S3uB;gf`F2ndes
zRtrz-URC3cgG0HRz;ng$+F{Z+9CB;t$HGP`Q%r)>(x>(20c42h^@-MS4E}}S!5e$d
z3xZ0x5`ge0!R0MV)ce1C0YI`#TkULO-9=@TW5TNQ5seLR!zf6tp^arr2YKkgm)<-)
z+<KV^=7>6{FBssGz<<?!W=p0#J`NND7AVMKfJ?NTdG`fVL%)B2!RfH|D~5Sh<g&Jd
zxL0fT+N=A@G~+g0O~I7wjHM=*Od=(Lq4)7j#?&~Ja9FNAWQ@BBad&e`DI088zMZx{
zz`FJq4lS7z9_uZ3P}!YE^I6Av5Z{lA%-cA#Yh~2US!k~_Hx-<8*aTumkQR^p=+RFQ
z{p<H;=7GZm&g}OcOs}kv*4Ni7tDoX%0I~aNfIJ1DZt?C&!GlfIRviFxTj4D7!7dJ{
z;Pm=Wx7@?lP@|+^C|=Fv_bxO2;=qD|U_7#?({W<LZh!d(psKKv+oj+U)}LrmNm&`N
z;0Xz6pZx|#U72U7#X!Eke?UNqlgov@+1~ZE?TWcNS276A&T>8q*0OrHv-FF_aQCOU
zc5ak~S`<^7Q|k(1K!HpY7G@5zd^1{<r~w;4G2l^ozN$FO;IgAgbFup#(D|=#*XYxm
ztpo=pIib;C9w?#~R74*hzxzNV{nW*8dQ3HCzwAT!Sc;(T8$n&uB52r>yzZq=O4}Fg
zqE}@0LHD;vi*PwbLhHBOJ$~jAbk3jzEcaX{`mSp4_V)6u0?=WwB0))t%3B#06C<o(
z&&tX=GGX%RQ^wf%#P`q`QX0C)5AWUe{H4Y1h}Sy)%_fk5i)q$DK1WV4S<3RVg)-;9
z9PQr8^|d<~AGLLLc)uZ%$tOj{rAt@5bxKEF7Go1*Kcy(vG~b@5EQNMPnQ{GiV?~J7
z7UVur-l=mi%8Vj5S!Uz=KAKp)$~s6`_7j6guWfa$ppYC2xa-@!hHs50YCvph=^gp{
ztzA@4PcNn4u+nMsxz)a3Weo>P!0lx(81P<l*=uWSOKd7wtX>q<))2VOY&Mq0*o;^6
zM69jhC8YBr?3fqWZVrU{g=g+}ZP-m!yZP3f>|kAAyadNB*$to*F#P~<k<qDB>;bwX
zF#$Nu>)>PSbWfxgQpnz%_EY1s*oeDPh{E%}`h4>n3u4U=jw&tpi;wB4s07)A-@X8?
z^dLj-Sj}iM2ifI>_)}{R+JySSY|ea05~QNA^7eweUPW$DI+Zfh;B+4W&slmk1{4w!
zl5;e|FM{C}-0cHRcL@jx%wmb7X+KS!cDSC8<LVi#A~?m3C34x^10GH@PEBG9P6yMz
zojUD6e8y6xgOA!rIm@Wmj;|wgAMjcfQbrcTY8}@fVLTU<29EB8O_Hx}EtedFJ}`J6
zzSVmB6cO4tNRu!Gkz?|RkNCpLhD)GoA{J1!qXd6}yNwOu+M*4=&uUFi2^0FPto9u*
z>RSEvMI9R)`cfuehlGC%4sL83xEpe?LjlrQ>C@9QZEmjlLAso!9jM-`G(+iYy%gHi
zoMk8zCR<ok);Qi#H0Dxyd-E3*>R&xdGHgE;aHpC+Q`Oe@yls>8rr-n@23FP#FYh3g
zt|(gm@nU^{F<pHlVQjwH=vN_6r>51c9Bi=f)80NH!RJthKOg+U7HTqjlL5GrvGMUo
zPVo18@wiqdqUq014`)8$bSJ!AdUAX7J(U;WNS(j^<<CD62#l4lZpZeYzVUo3b$8}l
zV`SQ)X+3(-&t?qmLnW)v>ou=F_H;f;KcOcjWr^I`Js!NyS2`2*Twm$d>|WT7TJND}
zW)7g8wErF-e_(yZNg3nm<qKQQW=@gP{~i<G71hr5+CUFQ7u=huH=*HMhzD(f#>HmY
zw>p`>KU%}PY_tL}97BHdG?ehX2^@TaE0t{>5E&wfm=Nt#bUcI>t6-m8?#q+8`&vuq
zHQ6*?7$5>9;<?401=~zQC8a4MMedpmzb;e|2X|<16;*sBhFfie0YK1T-0Z+I^*Wp7
zL*`FC9@);MnQ4z}od`mn^WgB3d8PXn{I(c=_i2mwWM!>D#%4i*aGfJZXVUz-X%~;>
z)7@04d!tA6)dy44_;1p88~MhnX`kwn=w9Z^xzp-Eo;qpZ+*BB&kxL}vNZdB$J4$IP
zlBdy->z>{^4=p3@;M`p1&{aqw+oe>|K{ZZzOH2(i&ANONvY9bM_LZu4u%TC#Ul9cl
zqV-mbuuA#1n5%0O{C$*Elo*T_*vZ5ReRBhB{9q_K1m86EiGg-`B65VuOIB1{8^32$
zo+?e6$tH9X$5^UX8+SU?t#ftV5l-&PW5!xxF-ywD6&J||$uRD5-g-Dqaw+t}(Q}*2
zzQ1aa>wO~bqL2!HGw-vmc1dVJOxW$niFlRHRB3(L_t043BvT*ubtqRh+&(|f8aBeS
zuz;n%ihc2VmsVfCqS$%R_|4vHYNRqj*}0P{V>F|2p9YRzne4KgT<c-dVo#CuS6o~|
zU%K%V)6#(u;@U7Zr8Y1yh!V{~t-6{>8o8>UEJ>ejg!*n#@W_wb&D&g^v;OIHNr}y2
zl#kqWNpZ2T+d<k`@y8?LAi-3JHef+}MV@)+mRA(Q92#ETzfB9l9MzXEh&7e(w^P@g
z`i}2`+6W~^*Bi$`@ng69f$`wd7lRkS*UMMB$>ZMLxr620sY<5+Iv><eAN}fNT!*C&
zJ{lo{b>(|ltjZQ=rPZLqWiFBx>jL-6%BLpb+qvNw{y-5V4GT;5{pvY7Q(b<vJk7w&
zyxiD~r|dMGfc3sX9_fx@l_MLk?3eu*OtI79)dauFA=C%?yn(Z$afL)MYKf#9!Kyw`
z)_J}_Lde8+4>`UK(rPuOveAn?zZRslePXafCbgcc)fucVK5V3lS9;EXo&;%i5Mfw-
z-cIoNT<>tz(Gf{&Rm!tiBC*tPFoxNH#BKnb55>He`sDQfP~*r9A~_pzCx^=u%xcxl
z#y8Gexa?IIb89MopooCw;aJBiQ&LcxOr%PL-9eghkTdGJ;XU+%nbY&pm8r9U;-&1#
z!uyC1&=7w*<p!Ugjy6FX6p~$Ho~meI9`t8M54~xfpPNsW%T|b<9kIB3Ffz>--VbfS
zk<I9(D%X$!C-5cTAn{vS9%aOr;PT9DYHIN-`|nITY^A&lABnIzZW^D)HE_^my=O7(
zK3mT302Yh9t4jtdeBv9GORKeSG&ev(6^mm;V(X(~uXJ40<oT9A$#19k49q%>dX_?)
zthXGi{%;HiV#7TWSu4@P2TIBqe;J4{$lAyEL<<_LU+Xnnao4MbOpgsmT$!@a;%u*U
zPkXx}z7c3e%iho2iGTdyGM3E-a@M4-a;8XFrC_S5K=IU-`HH%`yZhAch;yFr?wvv&
zTejd}^f#uDUvnLAz=lCR!No<*fQIY(Y*-E0ihmdIV}MQ22yx0|@B5?39O<^AyL8Lc
z@N0Th`SmL9bVgA&vkf*ZoX)%bi1ly8zFnASvKp~%Y-|8U32eojqqMZ$PGM1G)Q~ft
zFL=`__z29L_lxr+NurL7KJ*+cml^>+f6Q_P$IXlC32P1yIl1j8m{7i<)c)CAZ_9S(
zxZ?_Ifb$5sshmsgmf2dlD_?(ylZE}FEb~XPuGiKwY$^&?`Zs01gao606WD}5Fr5{m
zx<gm#r1Eq4e9^aF>2+}i20pdjI(QCtvp)UcAYJ}Fh4bTefw3L4cy9dO6|`I<DaejZ
z47sGP?w$e;?GJJA7e^<BpQ?TJAB0xXq*|fm-@!R8OY0=1ru~6eNa)sEbG*i*1sxGa
zC3+pqAY2g)A&fOx%??*OzIq?!*6<x<y0%l(BcH7eiW=irf&PBTGrQgQ>yF#{WF{_x
zf<lzaGg?|2r}zjt)4DW<W0<h_jr;fI8}*i%1XV*NJ_=2I%4&!@Zui9%Z_8*V=1bL4
zn@dYPYLCmr^P>&J!IrkR(D?YgK`T%I_9ZikY}Ad|sWlZ}!KIG?$|o$V4Td^r+w|FA
zFXK6{YBl16*nJx`^_xz<7BcIR;NalY&fbtD#9)0bOpc6^AwZ-NkKpcY?}U%3;M$~*
zETh(h_>-aElg${Iz69T(k<hX5Tf^6wM*+HKIn~h=Be5|tAS>*<tidbqn}_!#k<hs6
z2XRt8wmQg2;bRDtB-mT)*FE+j`h6`3PS~wABJlLI=m--MA^0`k;fF1X3x7iLkgu}j
zg*g1aA^mg#;VMXzrRMK$ZVm;r<sKp3ZrDE~7*7XB#>T!;Mb>c;S>3_HB4r&>;C7A|
zQ*kD1Ydbg=Hrm<rS4m)Nt@neVBrfNnh)>e}@_IoJt;L`}R9=u_R&v_nEU6hv_Hffg
z*l^^WW3$5wKv&bzIH?tkx(nYu{6bJvNp>I4DMXdacQISc-XCY(+q2A+(4s~7vN6)u
zAjng%eu-#fAU+sbWk&sF<H5>>o0=LowTDK}R*dZ0P11}L6VgZ%M1=^)ts=syBy+VR
zPijta+!ye_g?26!ckW!5noWl}p+vQZWjYPEO;C1-<FoxL`65)*siDa$a~PIWLkL!g
z<#6f6AAAlEh*8&a>&$g@-h&VpQA<}>9Sn}gxVU{^=kjTk*?mu3PKKhoI+GN;ibDib
zwL43dOD#rYhjXJ$JT4S^Hj4EJR{8w=fVJ@ew_cMwWM<bMN$Y%wejHF-n{4L&`|5yq
z#UJY1#G_GR2zVf_Vza-XzrnXngV*$xtWB`=xG#5#b%o4lleCD=C88uHIFnzaE^F=c
z%}|dkfqQ7x^q1FAG`D>rbHea|@Kmqkr<n76Up$!E%x4zB4$~cb9l13|-KuDomk$)?
z`!ADg@HiH95rT<s!hNOtLAe~^Vs4oU1O#xNbg9Xt$c58<tuk14UmZ-{-~O30#QOO*
z2K&NhYkB{tK*`rjrxn6gI<<GH{Za*L&x%V*ii*me*B@yFItNlIieqWwZnM~6>3*q=
zXLq4b{)OILLW>`W5SgLp0s(mnGW1yz_37*aovvq(s3QGAcko7!PX+$0_5_nbv9Mdx
zhgF6`YB>j$Dx|UV{TB^uyHO#aP~?FbC)w37*sJ7(ed)G{0|Nf@cXlFrNf#K;!HJiu
zOZe9dwqYm-NibY`aI|&Tc~IPV5$voj8`&?U(&j`X`Aj}<4f(Ac@+bUfV)TA?<0DfM
z&e#d1qFzgFL5czj3g!01_iq~wv`$f38OU2{E7pa`X>NmxVZ^TNU$V0BK&YV9V8sm3
z)V&dRQP5-^9Ub#G3i&TDPxwI<-1(&+Y>sj9VKOQI)nKNU0@-geq_5uM5BIr{*lZs2
zn9o!TIk81Y7tEDhM-;tJwwWHIut@C$>1(FmWmVceI_94QV*@FxVl%Cu-RM#kfwQE_
z@1&EI_#uysM5U93%y+(TxNQ^tSrK;jF<8&mec;J!8HHX%%9RFY61+D49nsF)$4c{t
znVI&$y{)Y+jE#Y=+ha&_SD7!14s0kBn}AekZBE@IrR~f3wYsuWKQKpDK^I3IB+Sf8
zr7-0vuU2=ATQ-wJcPX?7F>q<8n=u-FgoTAQUZj`<sUNII8&Ocm!<gy*9fDNkB>GU6
zEF_vVM2`3QF{KNTbU1V#Y9wNR^Yhcc2v#rN`1xn(+;}!d;)1i9SH?O@92Nc-abF!4
zWw-W=N~nN{2nYzMNOw0#BQ4z>(%mI3-Cfen&>bQrE#2MS9dj1??)~olef!iu=ltP?
z*IWZL^UQkIy6<1z7CEZ5bku4sWW{zMo#9G?<AJ2)Yw6W||C&U_g%kueW2d3Y?3|W8
zh<t%RhrNe9Wuj<ot%x2tv~mXcpFdxK?7kG>PolO6^(ane{{<S<7hO7rS`R)rDR)V%
zlak?+I(3cC4h?ypyps?(JSzM?CT{H5JnvWGn1kbNZ`J}Slk~XMeQC+-Eqi_6Xo|)b
z50!fDv0WQD;c{CB7(I{+RNF)6=+-gT;k)qgY8WqYPP1ZRWwSb;bN#3%9|yg-z6Q|`
z2WKEZv6+jo7}58L7DiNt5NlGvzG-ztuTqe2<(6OhvL2n>OgJ3#4QG#qdDMVl(lV&_
zT~1fmLFETE!s7^9GHGK4sgX*bRVm5NL{8<%MMdZKhXduBZ+we_kwK*09b6{02wtAa
zWR=%Pv`$*Bna?nE^yP6kr(#OBQh!=P==X*0$O@Ym_=Kn+{N1N#oR*nB>vTF;-QRPy
zM{%$|gn8IbNV=(zQT^E%1&4)y4KY@bp;D3To+H!J>rTm}A6;D@dfa!tv(D$27E<n;
zboKRv*Ry+K*ZO#?J@w10avnaSF)uLj2jT`>MFsHo1Jpr3<96l9xZDx+{<I5CmX&o%
zB0)BwTPOf5%k$Gbe#MJ@Rp>T6Of4C@T!H-HM;%kWc5sewPS$gS#Gysa3kjfeusuFJ
zeQN@JP^{h<5?*TA<dQkHo-EN=V-I~WPo2`afO54NWte*IL}R+9`ug<_C<4ryvQVXM
z6v(1o*qm5~4f@*$2R*>9+txK0-qt2GCGqe>PfTANt1*{K)h-YxI7P5`Q!nkUiBwbJ
z#<MtLgK+R{acpf9liqn|vqL*@bDvAmMTI`NV4Fs@TYaFA5lKVWo%n)!wZ<;l$&%S)
znR(fwjL~2+tzgFW#2W=ijx@SvaaYr8XyR*Xh?;?F!B(dJ>bGt=V+6Cz7r1DxfN=Wy
zwc+~+mi6aLJ9@T;VZn>g1r70^A!>?>amMGrt_)O1F`ZX0wo2Z5DS=Y}gyMA}Ji6A_
zF{Kp6V?AA8XdwW8VMJyHOzEeJ&))l-1R<Ht)WCgVV~*X3dqt(%5R_Pe`0Ux)k3X%n
z!z_ZryMDE$q1EP+YHHElga;rr1TIpcM&|ZM$|+XE+GEh1K3LE+?a#jx&s+JdLI#AA
zlHb%i@qmk!f|5e9)Z_`H@z3or$|UZ<7CynDTIV?xS_A}V`65*j!u^1(cK|^rh$ITp
z>0mxqY+5pa>2POKw(Au5eKclV|3u{j(kOeQQPYRtYiJ4LxlVgrHpRrn6|c9SVlx@G
zf*iaFv^pgN{jLp3-!gaTKJ1vex+a(O?(%}>K;t!vg^k5ejci1HEnQvyW)Hq!pO3P0
zRg@LM!Ac+srf&$!R0ZMA_g==d&r?1+8k=!H+ay+w_d~`K(_MiBh)nuzGPpyks*YUl
zI`smvnBC}7-OhaM;=cx0GOqW(ZUI>7x2Cs#gXRb&(C$YM4a^6~A@ZZ~bF5P8jSdk!
z_4sG$-EumH>AC{*9c;wmSafDAlZy9UZ|?+p*HNp&v5mP5-_b&VbY7+y7CYCi$vc?h
zVyY8oC?}D`tAgdu`#V^$YJWnYAf~UfJTU;xIqNDP63U#+UIik>Xu$LgWeUg45~oos
zcz2G7Zn;OcOJ8O<sMYFtkL7VIQ=6gtPn*C${l2&#IT^lB)_+%3-@lN+hot5xvE|J-
z^G;rjh~XLNE}NPM4^8CC?hWQDsXWY=*J^2q=NIZ+T3l35hnIJ8c^DcQaag>eRG9H{
zwHu5V5R;W<I6GUlu(Knpnz=d(PmcvnYq>Rm<e2n&CRP)}-}&wAyf&L{@=7iePs8PQ
zb;<&wBpe(e0mzTo3=X#>ej6Jkj2H}uD0^xtX41NXQ6u2o7XraSRQ(cBq&l(G;=H`?
zz?oW7UfI&#j@8b6_B>of*@^9ZpSx{p>Zt;z!DRU}k=D*KIU_T|Ol<=#&w}KJTX^g~
z6vFRC6o^i+sL4qlLagMVvdzL{ju<NU7ZGWln|f`aa%s8vQ5hTfN6AHdUUUY#*FzuA
zA^B3?@~$73En3@fb+)%J@1A3j$50NYz{^HVs7Px>6NJ9R6BLMyNb(FWLhhFcX`gEq
z_`NUkY|`B%GLk^WpR!NIEq~Uzlit%a*74d!G;a@}EYI-jhj-4Rl#HjdyJS;RsrHMA
zP`!v+$ri_1R2vjE=dwBl)n8uTlRG)G*a<;U70DhRN1LW%mR6LISZTt2Gnu4|qEyLl
ztHZ&<S}nik1_lS_pCjgA|8A@b58%QPp`y-0l~Wao2`#E6ty;^brZkHxWylK3GAwmB
zH`UWCsW~)1$8Ukcv)k>pOiaXq?5_=Ra>BEi5rx&C1aS7u3IJ9U;Q52G!hd^7L_-nn
z>Uu!3f5%NYP=}mY>kidQo3F2{+t|%~0t=Djv@L7R2#Tih{&3)Hy?Zr(zmtIIj<=zI
z4qt`tW+SDrziK!H*B;NmkT!J$0QtcaXu<!1?0y3+k6}HR2;dd|4U2m$@*Rh^CL$`O
zZ#)gv=HhJ-9{DpGR|VKSCD!zlI}jw0J#;(kHr0$y?oLWGn{*jiDb$A{ps$Ysw&FLn
zU&Wo_oJ`{W6>RfV=l~?j;UNUj@9yYx*}@|F3k!=kj$6IP|9H<(WRZ%r-7IqVPsJu!
zGpfh<epooMA672O0mi(vx5vAnGD<_$L7R<@Y@?3R(VA()WhM;=aF@vHB^ufnk!DCA
z<>i@B!`DH8jk1482$L+A09%ptN6n%Hn45WOV?@r6Z*A7`z#TRC8-$AoXR0sCZ5W)j
zK?7amoNf$W-H#P8>~OA-46NBkEG~#NnkBVI0^aIVPG6;`ogvUJi1FCr0?$jZCo>pN
zeFe;kj!}ZW?iK*BpG>>IncttPF#G6rWouguXFk_4S}=~q@{KwLougtL+>aM~%{`76
zGzmL9CZMP^9BeRbnt!yiwpM1RMpJ+88y+7oPzmD>@BRw~9Ju%WeX2syV&oz|P&i9m
zC*I?kDJeY7P5U2<*OeWutSqc7zA2RpGMG;(I;&cnn7r;$xakF`(+KO7%WVhcD=bn6
zh{E~1-QmoSe98>w%1aCbI~1M1p3JdD)4a4ybW}&MwJT9CJ(<my8`Wpk5gkPm%Td=a
zv^FK*zkfdj2skcWRwR0QnMI1<Yvfg&cCZvkYI%OwNeh%K5;kJ0P5aABXp<GD%vf0Q
zENn3ZOEZLLKKN8IU&gf~Sge^n2phNP)5MX9D%}Hrp_<Y#(_&;9d<aQq`PfsH>>n!W
zKzT&^R1^^rfQp@&{>uQarm}S7v3+z{u)~+(d#awNZcfLeE^)y+J(wFYoVa|<taFcW
z9p=Ti_v`F8StwWUi%45N6;EJj>+X&KXYrAZ%Y!f6lF3?&5m}%b@$H{q?hHLfRs^U$
zf6Prul7<3g_>zi%z>8GIz;bs=;}s6hJuF;dHXjWh+02vyDWcn__*~a6FV4=+WFhh(
zi$=2iXnhoBrWqPmix?9Yb|JiO4`_{Yt!0cZCvL|hZ%9tx+F5daTw**bs$+<Rnlrur
zOzadxspVm>T8Z~YoMQ64*;H9F<uvc<6!9S(mT1IUd~(*5)Pa6E;2qfPorHcKM**AB
zP`(=Gix)5Q)EmhHn^n5Mg$h0v`qOs547;s6yPB_NaafTA`2|vBh<FPumSiu45S;7m
zjDRZh`|M~uZavC#%+#-u8I6V4?Oa_j-||(I8Vwn-g?sv2hGhK*0~-@_R`MBj^Q}th
zC>3`pqOs}q<{To)6oQ9pF3NR&JLm<k&+07V88fqTKwa(e=|Q<AU}3s?yMJ^Km1)M8
zmsOg71J45_IR8-t#mOciWANM0Gr3&hIiU><vy9ltSYQG7e*q}kX9jFBu>cKqY1c<b
zG0I9RO6VJ25hfeUVk?>H^AAOfH1bs$jgaHW5Mu>2)MBvFM7lvq^%?Z2E!*;&QIIA4
z^Rki>&Dn%#fwfBG0WQ!1qy}Sk)tx5B(K+%qF?exZpa47tPV+J#_0r@<m+S8Ho7LG_
z7{#Mjt7mv@-7N>nBW`T<h;N8<Y+^pSUGTUAeIUa38=v_@Ft^HuRf|GGBBbmnTpOP+
zYtVqNC9!9<N1@j87(<lZRb}CPa`I~1BkID0#4)qtL0P%=&))8~v5ss-OSh@s+L6Lf
z$zes?G<0<7AA!Kp0m2Qo8(VGfKl^M1K|Qe^=;fB-Z8wGs2m}Q?;B3B*&bUAKF(;%p
zMQAPeWX~odnyIta7;6NuYubFi7YsnkaZ*WJF2tS?-55nNiK`mHd&%Q>>~D)tgj}NM
z47g{^7#KgUwNS{BVP?C4l~^8MVlkt%UH7&)={T;=`(J>z@4F)|BL`EL7jeHN^TBnq
zIS!?Z8}ugyk9<S}7zS8j3z$*}D$XcLGcF|SI|9NRX36lw8>JcxD|=oU#)Ml;CM`gh
znA+pQ6d@vK^l7XsGM{ma7J$7hHBQUh8i`=lc1PrxwPGN>VnF(`R>Zcntbqv7RG&RP
z>CcWIe+s3lOAo*F^YROo&Qex$Q)zzkQ^g)CCV2mprWU3sSFoCZT%)D0{OL2QxeEmp
z?d>zEWQL3mvF|<A@OID8N!C@v?_rUnfnheoDZ7pS`%@+rUr^v4?&N-k8@`G|nwJM&
zJ;<tGy(S70RMdz-Ib{=*B_r)rRi%C<_C&usr2KM7xJV<_ge9aicDod(KA|kND7!s<
zHmNo-%=}AsZXE?9(MU4dk1rZ1tI?Z(VY5V{&<bM1OL*y*?XTOO%ryj4C9@y6?WfE%
zS;vA+GC*v;Zgd(f^Ww&m*w!O__iTgn{!2D-LafY4k;?o#$<zn6=Dm+f-rzi)Q?2sb
z>i}(wFS1Q6QFdnLFQ``<xPUVKlYxDoDjxkq3xKzO8jG8HzB3yN=%~A^>+Jr0pzq+R
zf5xfXMUaJT0d3(Ulg$^z>U?_tLBVsF%#p)K;eYn`FNS*gZO&Cj+AU<;7E}XNMt`8m
zVv*+errogBf<Ewc5BB03<I0zv@bpP-t<me(-7iuPzTQ(>Brl^VjfJEm8j$(c&mU{s
z1RBBgZoK?i#ucnMmV?UJ!#z*_hKSG$*}!a&IroKD#+0=cuK|<$NB}%~Dz#)>%`F4Y
zz>NN<fh+G|qtMt!<k^^gVm4OXFBc<7FNW#-lSYDL<Wwi!ci(n)*rwaTA!K`}L=#%C
z)FR3jYz?G6s((CL_Kbi44!6ERNLBU5I$mda;(0@KldBVIl`{?iB+DIJjj%_Yo6g*q
zRt!y$=DO42%AZU(B2y1Mwb`DG-PnlZh+jq%7884abb_i}^||Bj5dy271%9RRxGq5B
z%2wjJ4cNep#J=+5k&hJDZf|><G=za!Y9%_>+vWETrh3O><DIg9X0Y(3>Arx1Atx6t
z3W~vq;gAryrxoH3R%P8(FA)PVdWn`sw46>iL_p`lVtZ8^n*5(&T)-+-8fxn-3rk3h
zZNB6eXb+1IC+%U@@4JjyCce|Xj<Hp(Js<`sxOQ*uVwp`Dos7|TR+fK6CzjIhbsBz-
zmba!H!l%Rjg02EtQ1I7bvsPP{zHo7mv<|OUX_mO0z0#Ha{+Pe37Q%)0kSrdz1Q|z~
zU@M?^cQs53_pG{ug2aBbq6`&TBak^czIeVcP&|7b&~P4%Qw;+egb}+AP&*HU#F0iT
zVj`}0OiU8jvGLJzg-+2iDg7Bjp{#C8FNd4sg<>W4H+CTJ{D=(=r<yTu)#R}`?Z&`n
ziNgf~r7>~m4HF@*bpH(}7q)W&4eSFzX6kE9cwo+m^BrWH!ooKZisF%)!Wa+}%TuU{
zwdJ(}m|r6KyD}0kmtZ}EoJdl$^FG()Br7be?Bb91o?eX$TtPv>i_1$RSB>A5y~m;y
zHe0K~@PN3u7z>(Zc(d6|M***6Z=YCKcZ_|6u(gK5h!HZ3xQp5Wg@M}VDZ2-Fu#TLj
zZ<>E`2Z;7*u9j~1?n(RIow`2AUEcgMKO#=SX5sHRdyK90^!vbM2oV>RNpJ(-7Zs%`
zdCGwXS4`dM@2#!LY#x;`kMmV<pxCDuc84gv$&BI(YgI*$^Ks(#&jEK)c;m=eZXl5c
zb$43tdaa1qY-Fo=GAq5-my$wU&g%jA(F6vw?_;}Zu&@`yRkosQl#1^}Q`UebSiazR
zXQsxZUofGpTU7G@40sNUyZ8!<?ZxZ%<BeOhIl+|S9Jj9iS!bnY%fJwP2ZtJC=1J8G
zO$_9OinXQoo)HMK>#{g$6Dm5oml_s(zT7Fm-^u`s@}{JUqfsm<`15Y6!lFqpVk++2
zN;k(p_;LzF-sZdemVOg*^UoPGo`~(TrnooERWI9xyb!)g=f$x)KY*SeW5c6tb;fGA
z#F#&I7cnAhx*G`IUR(PSTrgk|=7Z1j6&OVfBL!gq)b5#F-+Dxe%;vuMVoiT-rolFm
zkeeb$$Ing{f&ue^mv@fh+f%&N)9%@PwOE(&IkPeTsyphvS*h$G+`#5!H41jHVJ@t!
zW!#$R>vu2L)E|NKshsP6S2deyXa~o3JmYPF%Rn-6i;7a2#k2kMy}aPkfwQ*}*s1>x
zd%rQK-~QjC-rt*=SW*)b5-<~sij+zYoWT~GX1W~{Ra#ESDv%UH{9El{%w40c8^uh>
z#jGISw{<r$rKqD(jFdm4+AAIf(9OV4p`TXs4VSKOO!I5~X+iy()EFzJnZuxPD~tId
z>r?E;T~$@p2x5MuIjKZAoko)<$TI<UkO4g=W`bNZO%G8xQ18_K9{}P>%?|#cj~Fwb
z=>>9)igC0T_?GK?jlAv(rRfH9AB1TQc3-aI09jAAb?Esa1h1{WvF>ni;T|)pOBQ22
z?fDxFA6t!W2M`qy+MyJT7aEMs_<+%3smnq?N~+47iUWg@*9Y)M-GB;7O}f@#-fhmU
zKF@C7yQ)Z~%;M19@fCWJHTKw)ZHxELMBgm}ibK7l%vj;o;iab6=CCVfKrVD(qS}~z
zZccq_Ak~d2{G`HWvJP5fLu;zsD6Z<l!3{maF=e+gm@h5@*M)%mUg#r{e4*AU84xL$
zntVDbb+Gp0MIDZcib?{raiR6?K2Eh%!RQF}58|wjb&yAO+~P+7h_{x$KA%$@=H>l;
zA<f<D_dNvBNlCBo%tx_*xO4MMOTUl^aeUMchaB({V_iI@suq-Xub6acKzEkAwJ)SE
zkFi=v;WPY4no@^S%rWi4K*^ch&4pgs$&iz!r>RlABdTzqG~aiDk8G)v(I8F>_4hAD
z9b5Bd46KdEG8D-|if5G68%Y*1F)_(B{jmAdMBB5nQZKJdr>5)|Bvy6y^wVVZ3(z{c
z&^tf4?{iKM-3ZaeZ)MK_sbOhj^Gn@)uz?g0&xcyTktzA6-IXFJIGE71H+O*f;lmqN
z_cM}hW|Ot*)5P5Q8gwu2jm`)k>ww16B6UaIF>329T0=?Zrf8K|4I=rN7$hK_ilIzE
zQ-omQcvaI~c)3xZxmnmz-Mr5#Ihg+_A=1)QEtt~GkxW_%a5^Lxt*TL=N!lFEAm^sI
z^;fcPUIn_1xcF7d$dg<tJfMgwR;?8r#)KzE1laK>gI^s#W*QW|$n|!1z@hR31Oo$}
z^RTm}wNSm@!->bX;=19+8U-U-B-*@O$|pR04ogdVXruhkty|@{vy^OCbhJwy6&_w)
zDCL#ic6gb5W(pRYw(EhuuN%kLJ{4Y2>o)*6?dY&XauNrlA7GCMM};56#3%rzAA!EE
zrgj9MuA{B9IoTL!C#Y*<L-9cJT=>QBuTPT&Y0j&xgr*Y+)UHv|E61f%GsB~jJPUey
zxU(w*3UHsoB{dzpgrWlI;A_3VEcpU#dNCtsE$yvZt8M<M(Ypb)Z)K2BoA`p?in=Q?
zZwbHm@0K`5A09D(t+U$;GvBILbxg6f3m9&RNC<t|xUywtXvpK_v`FXdD8B%}ZWosZ
z!($2NVyJC~W-TRUMX*J!Q{&H~Y5NJ(I-zM+H{a%Fd;ofxn^SXP-G%pSV8(aau-$VF
zDHVNbr<cB!(dhWdc;7)Mb8~e}cfW?u{Ggv2%9!OM!qranv#qvbl{4NRxxI@{HVKrA
z&H9NLmXbxM=nC0Uc>>V5^z?K>=o%maK>>0w96DbLFiClca{rWu!mnH{&a+);<M(;6
zL>`0ZX7?o(H0tY^iUZi<(zfr)<?b9z8R;Ig)0&+<hBpWMY|*WH#-PP=2j#9kB*N2#
z#DU)NfF=Nx!5c%hd}#y8%fu4sSI&8dlifoR=hr9Nqtwl%X17FO8v`Lr;eaKoGMR1x
zi0ARDcWJ|XJ#nj_8wq<qJIjR3U{9o%U&_E*9dzL>aH3Gzutxl8q+(fWA~K{=L795t
zEp%}5xCQ*s<(L&i`{wioU!iz*VeXa$kRlhizn)M~^yaOoEoPA`HU*(KZadJM+P_~^
z$f!Y0{gEq9?C%`W5*ITnvYKK*&~FK}k@x4ux`x=|UgNb3OK!7G{Ol|^P3^N?=|c}5
zA>4O?869psU{?ZKP-=9?26Cq~kN~;4J_;_S#VrI!waG>9tnqK=qb-e~v*vCb8GO}V
z<O;>;EMH1M(VDMNAOfV>fDr3T4TYc}py01=jc&uO5sY%}+iVH!Ly@#cA<dhr_V(6U
zDzPDANgTl%@{r}RUG|wq`_zMZlrAo{EWI9mZ~O}{0Q`UfUgVD7R#Q!8Dx$&F22ulF
zef=@SN8;^?RD0Vdoh{87wb;pRrxUux{G2iS1@>qxZuB8Ihomk|t1s>GITu?6<wUZm
zoY^P7F)%IV=!^sWb=}E?E>^F*L3@=NaIiuW63;fVux@U8ltFzcQysFm#<(@33Mh!e
z<MW-7aPXEES5}0_`*A-{)uf$4K&Qd#aPisW5g{NOU1;5qnhQb1M&bZ-_Kney12EqF
zK)?@K0H25Bqv-O0j6ndWW_Bo;XPcg(10<SstwL@cfPC7V%OVJ?=Fc%)_U(n*J#oKv
zjRfT@hI@4okbMs3@m))Y=a8_AR;DfV5$JYOfv>vK`Sb0u<J5X1o>(F)0J8W1%-2=@
zQbxiB5A5akdviKRQSnHx54f1d#>!U01L_mW5m4|JTUtp*j2KDVX9!kXd2W@Crv-nY
zyj~g10FiRnaDX1Q*&9*+hhkLlY$~j+t<z-Y$i>JAV2}JM&AgzYe_R+n-ja7K4+C)U
z2@Gubl|KE=UuULb>MhbQzxZ%&(>wH`vQhU$cD76<$=xPOcMVp_?qOo4ey9)OtQekG
zpitrM!#-kjM_eD!J_rl9*-JT>?`>&Gkt2_l?yA?$`?<Wb@)N*daff{zF^~(aFNdih
zhWEqVh?eW6@SteO9)S>&*8JUko*c6|eZQrSAf4-0?B!5=LPE*eI68yLkS~axEhV-o
z?;naCOhwXz-pxNLoNxFJNVZP!GC=>ju(1#(>H9BA)+s$saG8?Wt@+2Ekhl6G5z!qz
zyoG-@s9s)K+A=1e!o82k{=Gwd8icw{Ik9a;z6Cn_Z;Ec*SGzE08jc?pc6J?^OyrU`
zlUEyYgPs2?!;<5LRYt}BuMCUhBfaJ6kvAWfD1iH_HRKm(5Y~Ctm~RXQ1^{IW`vs%I
z?7PKpJL<;s6%ZE&bQXb3N7%zW9A^yDIkIW}^(#jxL^8`|-hO||A8WqXVDF~=rs9Sj
zCV|Q9C)n8zCNH{Voyj4uqeTb_gj`h9L)4oP{G|PhiYQx!f&mf*xxBtEHClBy94)J5
znqBg--k3dqG?zcDcwIlx8Io?9ah3JLIk3!{=cO(Hg*wl0>pzc{IX128Pt}xaVt|I^
z1c!w`r+BKN<gjAoVrP3<d_81$vXMCmO#j9J4NjqYWl{@%Xr|TZhh!&W=7CSCNQ;2{
zom$V!$au6Z4;i6a#Q5uc`lsgC2D?sj2w-fPCh>Ftj%>8j12QVdr10SCM#gUGh@4O5
zRj{%}KRg}j!9s6uZEfU7F1)ya#UmzMRvSdqqlM2|`4<N0WKT`%<$oi97MGS(P2%qf
zA=~R`c2!J1&+Ima$vFwUCMH-wkBH%vT5)2tH}C!x_za4v`r*v#NPWD$`Cq)i*D^5n
z3JkRNz;W3k08-nyI2JLnsG7POO*1q3chCWOFySREAlc_hvE32&e(;*#3!vPA<MjM0
z(f>Uo2|dQg#MAU=T~btvxU4kx+1MJ(wDQXyU;F*J){&7QQ1_RX(73ObN)*W-p9ibt
zT3H?BN^#9^3i!SQbyw2PYYIwAT1G}vo99~{ebXS13eYq%XK%hO%=eXKX>7QtGr5HH
zuh-N#G~CW<x0ex44S#vMe7O7`Y%wJz72h)&oIM7jBRULNkAxSsWEn`iNGB$y7Isz?
zcQ{qk)3t?NqP}XZcKeLU{UJiy4KA3CNk;SD1Ia}hlQO00YtvrK3P)C4d=(rVFPqP=
zadB;!Cdf@4yQ4}o06&;){C`a$9gXd7*N46Y)HdLb+$nEljrr~wqa6{V$Ulrx5moFT
z#>n5~q7HY}SXb9uLoZePR$jujx~u}0^R0TCR6|*CCLHt{SgH|pbaa4aJcAk7T=Ym(
zs>Jesf7q7UJ~@Nq&84NaHP6JvK#NzuKc5I{7LA8i-p;m{kmEU&)N#yoqWAV11@U%n
zbd+#@A>hNCX@%sS0}>rVq{9HzQ?&yk%m2VBiR4is{;9FvkWgL4z&-gx88tjZg6bm+
z{y_SRP5SFcyAaZU6?lJP*0vxd<xGU|5o{drz2cOAt$9`aSi0PbfAd!K<45tV>-yUY
zcXIhVY0Wy;W6bi4dOfG(p59*Vo+{k;n5F(XZ^Ot2dY0s-h)Mq`>xN`fAax~@9E(;;
zN>Hi1+Yd_$rwlrz&MLW5#|HDGPyyZu#4Y2-<OADh6o1s^ny*9{YOFT9HTVTOqglj1
zeP;OOsPxKMa`u~{9;T7=g!PrgLn1-#q2Rao@|Cu(;Y<VF28_#>KGJ#jnr<NNUICI-
zU>ME%Zj;7-ZUKB&jhB>aO%ZO7{AhH>Zlp&=^Es#y`KE-Zx=2Z30T%?I713MutiGP8
zOY!_1<?GjV_mbWC((9Q-G!!`_iJ1TbP9eD+j*!=!EfrYSHh20>+RbAMdq60rHS60q
zb+7yf>Qp}jlnjxqrdW8DY9DPAUDcH*RuJWs*joyR_*1ptPzg}bM*{2G4=78AhgYY6
zh(Ea<HmPdh$EDs`*qD?20dFS8xRE<bUZIMXnKs3!ln1PKOYcFALBz$iSot%D1n30r
z?I1t}&^p>)+ja>Dghr4u6foY=Im@ZBSh#c`(E-BzX^lBA#b|eV)jPEuH<*mIk@fIE
zABhrkpNNaGe8TZPms8tmvssC?<SRss+wb7N_q7wmHc8`b8F~m}!+=@~@jKXI<LWh^
zU{b5Q>2#X`<&e$ZNl2IwNAn-W^X5;kfXja+K7s?21<6V!kLD_5ZOIFmiv%ATPO>T{
zkkLw$9J!_zjD_WOw|7@)R+h^e^+q`^ivyZLWO->I1W*#Wqu4;GaPqV8EhQ%|;GBY<
z#sx<vCW?Z#4|Gd#JxS5Q@$q?QDgTk(kVlsR)5F8#{j+@9MQb&bot)C_VvO*kMSKJ^
zTG}!#@O%3EX@!-9YZc7Qs3cP|we<9qJ~ukx-Vzfsq8pPJJY4pW{U?#I7JaRygKzMT
z*p{3wcx0lWTP|blOJ149^hV&ZbSfrcmht*Co81`?Ac9y<oJ3Tt*4OjDxzuYr0N;E`
z3C;S(VI+g`(AQtd&X(5JZ;6<S6%Um(T$ybO>s>C%fc8(@FvooUu_GvVl$0ic3?(*q
zM&s<5_YXnd^3$v_F)@Cyh6nfRWb12qxMk_Ea2k*%Ulp-E{?OB2547V!15uhkAY7^G
zuVWKhzK!}FUOS;x>A1CT9?z4UPh#^@&5Rn>gg)c)7`~`v2~iQ9Wqtd)5w+kJ$cbRd
zT+ziQOAGSYOcC!%jK$;13yCLdGhX~kbnbLl)*KCw?se2k#FEMto4xVn;cSLrMgi8z
z;NzQzTbjoE9+8PCt4WQIpUf7~f2R9?sUP<ZTUX+9nhIjAag=XqX~%(X@tDlwT{SEx
zM|f&{z;(N7*04RoruqEJi~Ekh3dt|@b?0ynTS#&A0b*{(vX}HOy-_c0gNyOKJl?7w
z-SAf?BQcbth+Q)*f)|S7yR@(+&T2sI)G)5G?#wqw4*V&WXiY!5W)a4px<y$R3v1r4
z@$;v|n#BH#;M>}DC<?1$`xjqKuQY-zJQB7b_!Fw#3LRr}UKplqJ!h>z1}U8;&DhN%
z|2@k^&*jFr)Y16sj?2kq+Djm^sHC0#Tb{mi`#+bbJLU}p)>-quI@nI*xTcuNigs^D
zZKYlgTN;qoc9?!P8&B_EdUgyTX7CD!ooNISJ!(brX!xlg2KLk*&(_9*%;0{0{-GvQ
z<Kz}}(%;K5D)csTH?1C^8sD_M-gxy85E2PT1M|S1>qNb5+g#Q=#z#1o7aNw7t5og2
zS*JIDHSS;jNmpFT%ZXr<_U@y$ZD5ST#0`>$>A7N;0+G5=40Vn;T4Y3vFMag}j;w#l
zr(IUoH2OqtBLS~~ft+uWGj0jN24>~C2ChE@D?5AUe9d~!(UOy%eQ+^?_cx5^m)H{Q
zAuHZ#J`2-XX8Tm{`ACL$pgV#U$X)?Py8g>U&D%uDFFf2cL~V|Mit4Vmx75<)@tg=S
ztUjJ@42~3PoovuzMBW;8r8@rqLrVCDA!z=HmASNBr3S*`#IG`b_qYux+!seSIk+n-
zE8F|}qSc&#*kDh9Jd_;$;H~xuy}2Dj@7*~;so4*A^b0zm3nuL00xj|4zC!##<J%pi
z$*(>>aQo-bub>t*O(;#3e0Ov1MFHJ^ceXdf+j>=(jLbK;Jv`8~P<`4$0pw%gI$T<A
zY6B^sgh}Dasy`S?u>kt19YpqTjoE{rAJ0_;fB#;s+eP7{WZkrS;m<wUq=&0Ob<+iC
zpI7uoH749Pc2?T$L+$)YY`t9>iz818+kY+U*u*>%?h;DH7isAh%L|^2Arb+4s8vw{
z#xub=$;<>})@Q-H!asj8y~5(@g!-b!CcI_s7j;#Cc{XDxGdjC~qDgv3LFn80M~;t%
z2I{<@y+5N=_d@ZB?*+p3ob{-{hUI+bb8J^m1c2S)Ja*}&@}?^@68s+KxYECvja{wB
zj+t$+c}Fl8a%XygwApz!>kW!{FD`5zz#SJ_#cH<>Ik^3)en?)eZd0iKM+Sm*&D9|d
z`F<bm))|kV&3bmbef?0XbNE4XUZSGS!i(d&b;h!nU%(M6?xH$@?dS&s%Df`w6vu0-
zpE1+_4;Y9C0R0S5P<Q&H8CxxR>p-3wgxz^lOMjvHL1Whz2!NHVop4}qaJIF#^++6F
zpy8JSz`&*10k3g>_u2Q8JdHA-vj!M+`e`(f<<i)8m`JB`v~)}*0DQ<HA|`uO;F)+L
z!%CyN<9WUY<XPv#yOqvVH?6y*&4}IO-cBHY$9es4tc5}>DCvO)U$5&2D?p2Km~QU{
z_Ed<j=K;aNI(_CiN;kVE@F&}kz9c6Xnbc1xssJ_%k(bw=)~c-&<~92rF-k`IJs)Zk
zfBK)e4;O9*M#eO?Y5A!E#PvR4GQt4Xl+Wxkpl#anyP~0GO0RTRr>UZ)cKPTvGO_)s
zKY%UenWJT4`lCA;=3~<ffi*kCh}Y|<oYX5^_DDRR?kLXVr6Vqq!Y&?v!5)27QdXur
z=h-fHaU)Z#0aanIdB^CxU9j(aREl{IF2z!7=#8B~jyUa+-iAiSy%9(;xVUl{F8oLU
zb3dD6Y6-VrFey@XPuleJ#(L~u>Ma|K_UEeqNoNmTGXsL*nFhPZf?q^3s0MFMO-=JK
zWr^o)=HBTwxxj(xTVVQ2YLAK8{f!U)GP&Yf4lfSr%Umlt_~=eey|+BnwRPJB6gMbi
z#fWP;tMi+^&mHAn5)NDj#{TT<)4T2H1C54I&an0R9_Q}*xs$C9@CQ%U8sp!4dGY;1
zmOjlj{v4)#5BDf50?=hOPNz=(M|p~a^yc3eHWPQ6&1ZOv<Yl;XLt1t(2b|Tex6K)_
z#XZckSBElG47e^VU_X7L1zGJSZp->Nx3`ZAZ(~|c<7mtnlARku-A~`l?T!YA!lQf>
zJcXGAN!}|5?geAdfju}PBErI|7w3bpM7Wz+g)BD%gOxS}$nH+b*bHOgyMm7)<j|A#
zSgcljZnvQDa8!}32;k{E+Fio`JYURMZ8krOM^8n_C7QRNwW#yA_MdGWnKU#hPAZNA
z4m6vH-@Z4RJ|#a_kduV_-O=0xA}FL(4g^C>wbDvI&2{)e+u9}`8(X&~w9oVgF<{{s
z8KrdV-Gt@=JCNWM&r95Raj}xBDhftNBn6DC(};q4F0yO+9{`Op*Qb7yYxbszYYsAk
z9~dEYD{B>zKJgDNK=Z%z0RtM4dJx@RB`!L4R~62+f2yf5@c`r?nSOgl1>iOEPk2Dm
z&&_W6etGjS6`KLRdYyYeOL`TVLSN4ymSx|5s=8&WJK(e>5$o#k4U_p3t?re>tR+lf
zhDqXfjylC*I-b4~A2FW^Xu&_x0e4+ljDj1-j?9^_54}~}^9Bxb06+GCT3xs6-6#rj
z@XUm9F$2-=W=FNv^38TP_pOo<5;GH1Oofv1Ct!#$W){B%5MWaR!`<ewz{jmf;)vz)
zDA0;=RdMQK?pGK`o6BhObrTR1y(E(4iQ}4$x@*_tx$3@^8<qLfi9?rKqW_~w0Q(A{
z^qb1V!<y#`1*7~a^&fx|H>*cAiw@ic!v^mjKRy_@!zOswk69yeHJSI4FnoQI^wFl_
zCgD(Zu1n?yp@O}rDB`{EbF!!Wp$c=+>a838&|0$D&TK7Qb2k^<+HoN&l>!8_762u&
zRBBl|exBo#n1rGKMC*4WVt%}$-Qi=ia}4DZ3bDKrgQd?Arz(Z$8>~M^wM-fFnW!bX
z7Cu}DDD5Z8Z~1QcWG#(G@(^DTJvx1sJW?ztV}6z1-San6t_1|DfG>4_yDI%6K2;0I
z<^k1u0BAZBpc;GN<vVzoTvcH@EM10g_O~J6jk)!Fm&QQU>VVaal$9#YZ&u)oN76*W
z*ypdnGDhxRt=;ZOdh{^UAWyyCK$(Yj1}Nr%wLX@FD<?BsJH40txn?@UV%KmBIxB5M
z?v>eReCI!y{wroX-O{B{S;x!{@AMT~+1j4cw6v7{KOH?1$2}|`9(7_9a5=2wy^Mwj
z-f$kLgp^1^tiUCm{7Lb0U&U;A6t!`1tQR99it4+)kMKIm^5oIZDZwnAhiEw#R#uvm
zq1@KMRKfLnM5C^E&+Nplntiw_Ug+{@&%sen6KMC^+B@m>PY$HRJL}Ui!L6I>rrrni
z=D>stD<=_B^?))u{r<pGopp63L&dmbABWaG_)sh&Fq$uSWUI_<t|&e*ce^>%h=R~+
z5BiJ3L;%5S0r~mqmTgc_@bT&&6uuoO(l6W&Ie_32@=L;o=cuN>cBn{Hh)5#ES1=>Z
zFw*y49|(}ChS@^ej*bDzIj4FhG$UCQ&F|l|qU`O-4;Y@30+|RA?IEgvC?36We{~!2
zdzz{@?AxWGT<&|v>L`F)3H0*f1jQny)s)l6y;Y!t2h#ZaeW(T;1^{@zu`D^zi8zfO
z|8EWfQ;YZqOlDI7;JN?=&@(=M648q(rfe(k52T$2O!gpDFiiTV)i-c8mi?p;ZL0`&
zx*rt_5^L#3RR@)B4f8zjvfMFy*lFIesB7F`#-~twz3~K}DPNk*a&Ec>KC2X!8@Il{
zMt<~TUpG&5!Pv7I;kQ&&DRC1lfLW6=9#O4v!18$rz*rgwB=gBKEP8`J1AxOY7)e2X
zdBmi5b8=GR>ge5-G17jDIIEDM`g78qm4@NggHDy&VxE-mzVLrZ7@F3t7SikM)bv*}
z#KD4y_L2^hnIl&p$I%V?y8(?fOD{Iqv3w%dz8+nzfh#0+Yw!M^BMC*z5+(yVXtu0X
z1!eSgdpq&3VjUD98v~GWp<<PH0^`bNqs1KsJPOuF&{|X^cl@u=^qAR;q1b!2Zi5T#
zYk&kxR<=!qp)u<f&X&BT(_oX4K^wcP^Yj&;qR~8{IrBCfi_fFEicH&?hq8N|CSt~g
z%3cHamG%DJqu02v11e;+j&5p9XqP)A*Fa(XOX9e?v}$c8o&e+wZmiH+-Y7aj4W4Vb
zpTY&WQ}~5>mY1W|+wHfuvVWLXoNus1=88U|P98GAZ@g>x2f7R!Ol0oVl;r~l5<lRZ
z$3ZyUV<eYAwfb|AY$F1=mwOdTTzn!r%PSdK$4gK*)ap3f?IY`qd`<J2E6=3+3$L%J
z0?4Yt2r(bX6!$2+s{E%TA=UhGzARa#d2!YnK_^NU&A$NoXNJFld{brY^Y>nM+&co%
z1sy~DT>(wOwh|%qx=HqBrJB;$)p4cd5vzWXwaFZDWF;?hZs-*bu;q-p6$45dFhQAI
zPMQa=xJ-U(z9XRiWxnuyml2?+CZ?u@vChCR(ETtb5Cm8zXL&|w*LYu<3FA*U>0lNq
zGYzb-XWiFB-z4$)qU&YjkxyMPe?#R`3;`a?>xMBBTjvldCN9RvPOM3XX_X8HCbDQ}
z2BWc<FZptcH0DHugQY+L6PxRSj-UE{Ia3$#b{G=}j1?SU91g#L0FY2WGcd@}?kS=M
zKCzFZob2p=iPdJnaH7_PMQU}gq61tNh*x<zRWqKW;3NoNT52hKLN+;6_V3tuQx~Vp
z2@9vw>2kLZx9!+W&s&haRC59QGN7S4QDArfZ9CVM!wri+$Ty*&pakN5_0P4~OX>pv
z(hyIDBCUbn0^T$!vQ@pu@iNjf{{H^0ZT$WPfrx8xNbny|TY*L;^L>t{j<HvHq)ys3
z*G7*}0KQ07=oWO6eZM3(1oEKS#!hP!7nT1xD$cu!5?E9mTH20OY;I8o|4(Qjo!~xi
zhF|9+s*V_g5k;GsiK6!YL#CkMuRbBtQFVXvW~QjxBYLknt~=+P_j=<&UJ&^C60S5)
zDNYp0f+5yuy>rd1v$HG0k@KPO&z~*r-LQEcZk5-UCp#`n!}waJMnR47-k2UtTpWyy
z!6Oydafw|P7A4e-8_MWz>S)lykM7h19llg}kTY(R36oP8eygW@>cL9bRl=1xQhGO%
zdZy|)uKD@1jH9*rdw-oQ0rWcsa?m?Qg_L%A{h*?qOEFQp$SxZ4#e#-0w&^L^i}u=g
zR{+h@(b6imGZ~KA)zyz`nifuEDw3_ojfxJbS{<s`@%4p|o+DlV$Y$HfQCXa75H9jw
z?kL^tU35&YD3}y@4du9pyyL1D*tzhbhNWyn*^Rw@eGGH?ijh~OD4;X|j6*&n1VlmW
zP=sq5>)g9uxT#clg#Es0dqn4(K!$9_vMDPLu~sM3$|DJY^(0y%hk?CN>ULvWdc38<
z%B^?eIlWHn`r0~WrmvzfvPQslEYX>kj!tlJux-|KWB#6a!pV8})I=4xU0P0#(0Kn_
zxh40M94@)hy@V}Q^xZ$fKHqFk1khzEZ8<nC@)mC(Lk3{Z&P=T}WaJo}810_G`22S7
z?B3!G8{g|q&4sVBq|609JsTPyH;`;|8<lV4^Fvz8(AsZ)uEsx~_l{fNASBSozb5B#
zz~T7lHjp{WEWbG{NDuvN|GVH)=e&~{{>vWHz!t?!xgn=B=z%^!2?^(U<n!QnmwS-(
z>THzEMu746UHM0o2f7p4*Qlz0(p>)WP%iAdzam@~G<Z%f105W$tyUq%S>2gA1~e82
zG!n^N*U}ru`C(vE9H4c6lIVo*<!heJ_)y$1iM=Yn?|9T%$<S46Us?xWc&})89v>aE
z;@E~4v7a4w?mbEhtn*e?Coxj_gJ)Kj8Xnu7*qnCH@KAxU^n>3nnHI!hA@w)Jdk~hV
zM^8l><<a8TyOs!hHbCSG*sF?U*}znwBo;^Cous4}1Lja2Oj?Dz7ajM^fTu#pQ#geq
z#HSPI>$GS191^_RhYQ`=Mb0%gm)P<#VE8+Z^^(nd)a%f%Q-7#DDbstOrWwTEar3km
z-8zsEE#`n`Su1bc=-n~LlY{ftf)E6-zZJ-`bxI^<x^|jnW@bM1LI+o|rTJ-5wRV#e
zXN;GSgqD%EXH%29KV1u?63FczayF(<1lPusc1j9LzlqiPMs4T**XvaR0fG+>vyRfu
z6*FPVzyP&7>{mca5Hn-u@k{SsaY(LMu|D;A!N=!i)dMAA$I0XOEH1t}ul_FI=g(%%
zpV0tPK;hxxe~{d_GzY1?+u`ILf`YJBpG8tr(l)kYUaOW?mP*6P!}RKA!;m~hPw)8C
z`^d7YRPDEo0k)R%;Yf&qzWxw&7NykErn7r47_adv_SN$^HdiKzV%t(ni_Ur;n8Yd*
zh2;54XKK8;Ce?a3ncX_zkr~c2MkzW`I_Y{h)~A8+VWNgczmYjmX}@o2r8pA1XGMRV
zZrzJDX~tEWa@TggkibQ&W(z7r(7Cj<=T$2%PO+={<mqO|r1dAG@%O|zG#j^z4wnq=
zy;E@P#3+S3vlDf$#8MT4!G6_{EoR5=-WNUW+9ND895~u$GHB%2$`zkyJtA}ZbGt68
zk+i>mOM|IEd?uGwYcm-jJ$(wYMMjGD2h5G#F$M2$L(f?3BERsOF`F^A$T)Il3%jz;
zpFgEW{-j2ElHC_V-gcXcCT;B-rD&7(3vWc-6hDZ^VtboUh=~PVCEzV{rT&;Y#Q~=i
zMlcSeX5ZBOedrJ485`;X5U6P)0><@w%GcYG!$Rbj!AFmwuJq9DNi}j;UIag@^()-7
z!YRI-yJVV5k}DX!ZQX*>pwf|7^yKt+Y{!^=?2HHjT$*aE&OXmv*>Z>c1DZbEI?ait
zvW1_VAn6aNeb~Thta<K;#9p6X@gg!p3A4%nP=`B>&*C`|k#t0)%;$;k2ry`9q+0WR
z2n)jlM2BxU8{3Xj0)slH3!WJ(+={vJaDk-1#pJtvYuYUqB56_>YXiyUom!H63+o9f
zTB&=X*ZMNsEwMWu8}ESnqgTh9k3ob7X^`sujR`GY2&j6^X&K|)rVAv~WdFEbqpg?q
zDF6hbwN^nr5(35*lu)^#1+EROCC`~ZT3A}@Ez^+C*Bu(#E4P_^+N5&9*a$txfEmtq
z>BnccFSolDe0Xyk7N789=q<=*u|GIGK!E{Sa4*l7(7+g+amF!(Z+2c&B<LbAMwcT$
zhWg8R=}uKfh?lA#A6XsIM7***?@&9kKF(V%XmThH45Syob$Rgkz}(ZmRo|ujz<I4V
zDW7OOPlx8gom=}6Ee*{#z5`>JpLn7CRLGc^2FeWQ2%5l&dB2JRF{y_elm<)fOdozC
z2@s^MerDofEFLR8tPHMns9=!RUeaa*`!@)U)%_0Ja3X7LvD%g=oZjF0d}@=iu!vH?
z^iL_AYgJ`7?;jtJwL1l$kK61<fB}ZI9)HQsQg^;vB7BO7s8sLvX!>p<i!CL=E>*>{
zS`O-Lv)@s_k4((Pg-T3}FjhSOrMeo^O&r^}P*QHFMqI}ZG9%u*`O0Pb%4+!sGKC3c
ziFGOYDK<SleF7W<B@<&VTdrIW`j-oD{vt^5#5r-nxcBjJgn9c{^xyB5PFBT&knW1k
z;2rf)mJYj7ZSB{DzxEzVlgT<Ss$|bV%JhU|hk6adZfS^X8J_Afj5{dtWIMg4fIW0|
zQ+9(YnU98%R?GAPp6f>QIhbXmca%9$F_c3VuGD>Sbi6d<VSQ0`y1G?cFk-4)J+mDY
z9OQ8FnhDc^4mZD~L~7f3+hGh;lL-+0K7#M_D3U1lS}XS*sKaJnOue!4)T59T7SZYN
zFdQ>#0+fGUNQ}L?z;#t!1|30n)g9H@I@@1^gNqmb!z1T;3QMOze7do*v9Pz-@x{$m
zq_2~oY&DsSQ>kf*xmTCY#>Qqt!_!6SilgOwF3CnjYN7^dynI^Gg=6<Xn|jb{e<eH6
zN7VM#Ns|Cczs8#y*ZQZUm9k`?;0npQBa`FG@bzNJme-Uc#hW2($!`0oLs{(g(21`K
zxF}jXzu$M>pi}j?hqXyjBiEUkbAFvFXIYtZ#Kgo3glMjZPqT@nlV0!2m67J11Am~(
zKld1&?J8X1_Z|7RJSkbe<!G)>r<z+qtoOhGkY`kaDKMY{v2iDedJ>skroD=-4Q&#b
z*=65hx5%By4NT*Mw<h0XiX<A)T=-%S?i!=40klHg!oktu)sYk#-E6%GD{7y%8vY_Z
zBj&<j9ZI3GevQD|VAkTfcJ9x~fkA8F;?2}x^-LT_`q#Vqox`6(q|}_9oGcCwJ^?i-
zm<P@rK#5fNWUq4O*ZBB)j)wdT{M4V|(HfUa5n5ImG&H6{6<~%ubyzOqdQU|3MCZPw
zZxIb1BLGQOcmVQyHVVx>rsYo#eOn?RbK|o8C@jJ$wa_nA5v@slcd7$<dyt9d!${p9
z6qHO0?6|Pi<~i7?hmvapiT=Qw4LA>;Jc<Oo_tC;(UAkoP_^lXpYvmtZjy4^RjuBz*
zw+h#@$DnAE^g_hjvq9YL?Vm*rdUdDebMk<ul7_Ixp2m56XSJ;#4W{Aj%$TKy?K9z{
z=OgrAN3G@2hL~Y-ag((jK|tFOX$68+?dv@LA44Sq3`UC0ytbT287PzW=P+)4(+_C$
zM>@q4k80%&LF^r!<&Rg{?x&2RF?SEY8>EJ`b#~Ur6{e*<C~#L3=^1;A^ok=&ZJPPz
zwCl(Ft<p0VF4-g1wMdntG&T3h?|KZD8l4X_RN)$*$)w6@;SDRCJ*0yIStWA{%yhxy
z5GH>67S&(YQxw_YL{!m!<&zzg{oV{v)W8Bm;K|8J#ZWbeD+aD&+8Ot{*0cC?`tXF0
z;YvS6#L7A1Cqzqcu0|n2YIGPf$2kOG4j^)-+;qsrNI_2n#2_pz%p0hE;(74Je-2Q;
zIonqOmHo&=$*Bn7I|Z(DFsyoFdit-gk-V=2A}<G(@BM=e!H%~4UDK|1D=RB&8XA7e
z4)T{3QKKGMPe=LEChOTIn_ek4=0#B~q(RJ1p2(N@Y_Lhex$=8AH!Z03BfIi5`;n26
z$>fA20esN;<A>_2();iJj`8cgKIM0P7SUX+o@1Vx5|@~Gn{(nAcJqZ`Iz&^~gx?}n
zGr`tGK3x@85=GUB1(EM}S-Qab#*_TdJ5>L;))#-5I+ByEATCJtN~w6}NRRt5!Cy~%
zD-VbEZ>8<ub?om~27g29iMs!Sh?5<chFNIl_BrZ_VqK~s`@61g^5;dw&!c$Ec;4b<
zn1zQ&Qj_t$d45CumCGF!#ayHK#<u9hAm9WE{uy2eXe~6Jy8aQ(+_2}4B#_5y7i;Mm
zdPHViVK`yME2#$53R+oVgHC3|!tR?#C}v&VRHs#x$OZ;ROXG<N*Jm|M$28B#(ymt<
z0X)o}?!=&$<rhrO0RgwsQ*_pcX|IS(**i<BPUFT27Dh?xRe4r+WwC1&-!kULIkQ<F
z0p=RdU?wgcnqb!qvUqTqOeqi9aBz%$QCu}_UVFeyR5-Fb)j2tg7s=#{fdQP0I84I@
z2IrXBp$#AU8xzkh@>jh*!g>5beVg$FOi5cBmou($X2t`5Vyenept-4$mVrX#cwfcx
zrojb$a1b-ROYDBW%|7y0s0UA%;~jYPv|)QFy|$T#<@ah&N#jKgxbb{=cIya|yh0<x
z;#2{H?L$5jDEXtK;{^c$-!pvnRu4X6vdjey|IMUeQN2$CYe9&HKim3)C%HIabsljJ
zI(fPi{#{_plO@A2vp4MY8OlxXjgnsX@lR3Dd=!y4^BD%tEeb>o$~%QhXZ<n0V)c43
zrknXfM*;R2!v%5$JujM02Nr-(kQ<CJtG<6Uv~5kkh9OEsv8dJ2Dh(Os&*re(pA_=z
zH;+gO|F}IyNlP1E=FkOBkd*G5=T$*Eosxs!csM~<`HI_;j6g7$JZ7v_DD>6U;AgJ8
zmGX7EEulZ_7`ccWS)&oJr-dK~oRmBo%_}fM+cDy!f_ZVmgg|jBc5O#F=y(=V{NN*s
zHB9chu2ONK^pnsd#4zlw3>983pQnViN4#Q4qEvP%svhBP;d4j4a92*~__zeIJ)cOT
z@~QdI-%?ZKgUcu9bah4TW}S0$^U&(p3fyVkhKPirW#ynd&I(Z^lN5|>06hZ`zKl?t
z!1(z1aJXDNMnf~qvjw3cU0r>YwwYhEO+Tr#-8ZOUUN{<K=?-;y!c;?pln3t<->a;1
z|D&te?AsH)iuEHB3X1p4)F^0q70M?jgEJbZ(GH8%S}u&nc*gRS1+obV7bN1Kh`fmO
z$@Bl{BS`!dR_@-#Q)5XV(++W$F><Gdvhva=LY}&&AoRpQ-evMVUo?&>h(4S&C{>~-
zDwqv@jk}|Ca{I#V!Y(CW5(0Ha)9G;a$nbgu7?&Rtzi%v(2Susg!NEa~O$MX5IQa%g
zDOqcd1`tecp8|hSYGbrp56Z(|Zi^BeM1IS(tVym4OLBBwN~}oAj;|op?wuwhkcr@1
z<N`^B(o^1~Da4hZ2WS(nRoK(C1&83bGngY}*9SVXq^|=lD1;!Hb0fj`znNHCaG3O3
z;$)Vg$mZ_zilXX_D@}Ete^xR%&)ZoRXR57DQDJ=|buMurCD#}&#-aI4;>CTDE1YWm
zX{2~N5IpY`n@Q)_b?bdgHC+E>aGg58cyr>E5)|{fSMJnY55QJ($6*8e1x!jzfUVHl
zyD?9NFNlaZJT>p5CYLvsD+ZG3Pvv&56eh+?QW?)c+tr>;`akKCa^&d}Rv7<tZv+Af
zX!U0>Cs>^q6o(N(*L1;XE~Go+Sc%yScCY0XWlS6d`vx4?62qReoT@Y}m8jT|Y_{va
zJF529X-x2DW2jWpELE}$)(frzI#(=+%-I#h1Z5JTpJy#qxikVVH=-5Y>LR|uv9sdD
zDpP!rk%tadq+Siobps<VdbI1^v*<g~&>Okc5C{j(aAqpkle*y7oOtX8C?>eZ%ky+!
zGdd;m)nwGUi}LNpW!H~fqO#AD;-lNY@bHzE*|(+%;`SD*J$|}Lw3qLR*%7nL4&uGi
z^a8(VyJkS^@wJyXLZTaS0FFm(XX?n*Y<#ZH(coHZcbh$B3q1chGUIs4o8=pk0)>gq
z&%TscYV|sqW0cP&ws)x!GsblF_3QN`ShLis%+42H>*FpWw#q^AIbCFTGRC-}Q2Jlg
zjN$p7G?FD1B?|?H8WuMPcu2?s7QaJEJjtFEgQl{hbGm$nItuVspd?gnvP!o86#IE9
zGi@wGe(mhBrmmDLOm_30kYcL5_o<;k2DUs|d|U79vE<+^^AD!)1Z~z<YRpU=xZ^M?
zQzU%iN>-7!2k!bjs}s>^)9KB|=<28^MR^68U`Ul%Gda5njkN8j#%*=?HO^U>)@&0-
zDzuKytd%!kqq}-soi?ymxFe`A7xO46`2Avb0_K8;UqC|wbPhWc=xJwC)!^b_Gnz<c
zO8!n(=TBzkz5Z6UGwU9vgK+*U^CJO~WO5z`Nf+pjML|;%K9iJAiVj>(Vo5Z<dBf`^
z&;dS>9>w+Q41}4<BW;We6<AG9PnOyo^1hSAUjuU<7*3B@TmJ`VZvj+g)cp&CD5wZX
zw@6EOmkNlKbayu>-KYpiOB}kpk#3Og?(PQZI@H}q-}=X$JKs0s3=YG|XFq$d^{b_q
zK9<EyK}A^xIzo@@Qwse};}0+9JAEDK%!d1P=<ubFd2#WBt5k^3_ZNCdG$zTz-aBXC
zU-S12D0jo^Jx>k70U%r8aj_>6V$|+}(5Z+^xbi}*<~9{BKTSWy>5CU#+ipGGJEDRK
zWlm%5)GI_?woUU+=B7vSu8#afIfabKKs!vmS9kTz{_#k4p;XYRl82~y%Aj{by*_K)
zjQdz3`wpM_CsX@Z8bZ(BsNlZ!`u>uKPHgoq(@cn=u*q-CuE@4iB`Mf!L<XKpDy|25
zC`}*375F_d{*zsy_(j!q_>UhspZ;^f^4pzr5rObA2ExhbcFS0P=LfoD-}P3CXq`Vb
zL#+57?~jyBopk>jU-<P~h;yXW<%lDvr|jz2FB}j{@mT=<T4@q|!7W~kLCHD>g{M!5
zi6oW?zrfk=Ec(A_bsI8pMyro=HlsJ7=jiC`32GYPM-ilZiml1x_K4bvdc35nwrK$1
z5JAb@K1gUIl7)OVngc$8(P}lW#K=u327O!TTiXJ+pK(CbeRn^3or(8`4wPaKntLTG
z<|%=yT<!YW5r9g@tO_8%ru;*CVmA3x(c$Qbi6qo&_1Gxd+3rpsIIh_=p~3n<N|W`U
zds9lr4a1Rl{Q~f&JLcY#k&9|S?=f_mlumzSA~;XSkIuAyk(R4E{8XA@&_Lkcu=#bu
z6~=#$4dQ-=yQgyIvh3hOZZa9@%Z00-E~Hb)8YJ6Y7B<YvN&r2}a=MuPV^3*_FDUx8
z9r#U&r@l&SRIaYBN_V2}U%4)j720nPHxPoMT82wYde8PQP_sWIu8$qvnxjd_>6)6p
z&JJnLyFY14^7pG^k{iYiXn=Fv!IS#jq!YUhp-eZ^W@H@5%f&$6=+6+{Mb)f#j@{_L
z0V7O|$8C1iF8k?~UUtvTNiigsmtWIsRen9d@svKeZ+P^poF@6Cb6~zet4S_X$Hgku
zjCXze*-(-6%cnkRT^k4*OX>>Oo(3t|l1K+>ALjV9ssE`3c*(}-(c_oJd7y9fRzW46
z%&o}C`yvv>z3hO@t`^C3uBm4?d*=M2C(S<?GAR=gp`d!+D*+;=r0(x`wG<tNbn17w
zjGC(guUseC`#rR<%j>clGx<p}a|Jp(sr9Y(J^<VZB<HVesAD!!tz^+Uv%q>ja3;s_
z>?2pKc6ZYhATPG1U6r|HU(C{8>wsr3{QZbkLE$a$!xBJ~3%<C6mo1mwYq)&4;CkW^
zd<LI0pTgPG*;o`M!$7}JPe-B9B<ext8TgWk8jai^-N|N-Qiv;=w^0Un(8KEx4wN1s
z2YYo>N14T0R_G5dpZlY`JGb0?Hms%Pt)@lo^O?+aX4*fsqIT3$KyGeisL<Y^_o-A!
zB7diEf8Ex_2PY}%jKPY}xT_>DnG}a+M&CH}O}!2UHQ>NJW8=pRuoiqo54g7;*k-25
zU&Y794%4UP&iuUA7N}#}?!~_;F+c;o_0piQ*r(iO&6VGXyu7?vg39kz#E@K4H7$q%
zFw_Ik%PZsM3-=~dYai{or%#_=x?Ito6LX8Wy7D?!iZXS9^b@58W9;sHWroQ#+{R9F
z#JgHY;!Jt972F<bm{%8k8UWV(0&P-m2pFEQsXS*DJo|RmUSjl0G&Q(C9-nZeAS%(^
z{72>OuF)GzLb~E)?Rp|_O~z~o-QH{?E>5yvi=lR5!%P{PGnY{#umg`DaF?}b&PWG{
z@HfRKP75UbpM6o>+q9Gp-@>p^V`JlT3&I@78)&d9aO3qO#3@6yhtl1+7CdaYkB<Dg
zd3b(0-Xek#0f!bNss<i;;T={4Wp3-%`X4%%W+$QvajkXrEWRWLLdiA&rI6*-Bv_zX
z5fy8<QD!%(9YW&&YphL#68M&0zuU1YTKv8qNTY*3cZ8BQ@B*aF%i;aiFEQ~}AFpNh
z_lzVA5YHU1GFiZ=?_k0Sx1vYx$4NOCp)}&IwW7!$?=TSrw4{RbE7kwNL4C67AeoNW
zx7_5+W_NouAIXjEe6&Wv52KianfcdP`P%2mq@<*G$fuN4l%K%y4T4p`dDWcq<v!a1
zUl0%aq>lXj=;)BNx@Lj`jQRlzcSXr~C5mF|)*@tN<S%KY18^=^SDD)B&O~yiFP1_J
z3xju@W$QS>)FF#GoS7_zxB;f8R#pqDI-z2rxQ*kLUJdl7`UdM~qtrT(vpbeG9T^!F
z>~Eu4$;yxZc|G=4SNpH*#MHp#o2J6s#Emb_&pfM00KkcZJo_|>Powg8ie&bZ{;nTT
z%u4GirWKqvq)2W)my(uJC2ahHCWP1K8>|t_zs**7nk!)##ae$;&+W8C)M({V<NBM{
z0XF7$LWI_6>qm1rnz^4&S!Ds*V%w6_HFh1f%lOgKWOD0A$Nb)?La*;u3x8mHXSJ_%
zgNSNLT6p^|@{_~B!@_Mx_b9oO549T^TcjfsQXSPAAFSz87G?oiFP44v9RSH6uN}=h
z{m?-6J(ugJtu7Xj7-QHmCQhk+Z(LObc3cbp%{@yi010LH-JBdByJRoAvD<76Mn?#y
zOUr_w+Z#+06uP@#Sl1T}j3E2YbaKV64d~K4+MXETaT!y{maFb%FqyzEhNyNh!I+qi
zPIAA-U5dX=I))KgiU782o}ZUa=P;G9K(-pC38k)6G!*J7a##0-uB}BA*AI7WU`tTS
zIgLC%cg&N$9}&^{yvOfS0evKGRZ!rmUS&-T@H}oiP7D%~gS67#b&+>TD)Eh3;zETz
zj+0|mksImdB_;r!g550_NN7ty;eiLr@l-9|5tfXG>bj>%giZ(Tc8siXEa^gwch3&1
zlV1pZ0)t%6XdRfC!z5g?Wn_Rs4}~rE88I<2H2S4Zl%NbVGwsvbwapC`i7X{kI?tqI
zwh~-}8oPbe#A_$UvZ5V;XAU<fU0!~ZH?ntd0Ast=izEK#33w3~3Nhhytpi+;n(|DL
ze?fu^{NNd+AHci5uwrE``_YTs-PO19D|Pi1mV{<P^8Mim0S?uv_0GUpqTF5`#$a%y
z)Vmwc@HIc4Aak82^<#cq{C*&{sR2z@$tpFb(>3Y=iu_{YQblE<+0-vTAS#k?oz9)I
zeh@d*=%E305D~%gRbeqPiYv%-Yq>gMad91kLY`vYP(i6H{RcW9;=32CRsy;mT^gtx
z?rom;dfgUI@t9DHp}yd6nRhz^Lq=Hh^>}5KHjE4m`ny5}*W!H^M>p>g*+7Hwc5zFI
zKKZxJH&(q7Mdbob;l0JG?*L8oKteU+h|9<uarx@Tz;$|dcC{T1Y3ro6J)1#c)M=DY
ztvxO0+FUw&SVWOw$3f#AbBQ!FYo|%uX+vd4P8m@`D1+&APkK<1r@?UBJO9qNF^Lgq
zStQ(DIaMN9t2N;hv3-1id_`^lVvms|Zbnt@wj3a+Fgih@2^!~djb;m&2=aHK)I5|v
za^!wy<1+cB^BhMEMpv(-_g!ue;<-In*g>q>+J>MOyBaNo>^Z+orS<F=5q(Wdt5oXS
za+%^6Qi&{npty+m@k7<JHj7ix9o(050d@Tu-E4T=OT?feQQtm!Xn|y5e`e29v56IH
z7Mn3ANy@?~XAwJtVzH{)8&+{Lsc&r%l3(ST;tqy<f(j-pCFL`)?|7<}#JL?kx#aSw
zeLVu=9jdXN;=z<H>-PDLRhbU5Xxx#a{!tp~X&xS0oxE4{6r?O+$hb@qadA}7{$#{{
z?KBmzrDWKL-{le{79?>H^aV&OVEF=)ZH9Zta?3WwKZv_+=xMxte?6h9q0#u`?SNMu
zkGBeOs)p(?BLQbt2mQgK?@Xofc({(O1a0D5x0lhq05JeKq)57NyAC_GJ7?U&J=b@p
zCOn-~CJ}HvP|@zd+@o^DYyivyxp57zZvi5bIP0atumJ^BjVfR=$i+fUX0s~VA7E4+
z%(cT(wY2G?ne+~kNEEUcM%&fS&d!u{X7j`IdMu!0{+CxA#+?HKhQ`K6VC#WVG(kbh
z*5p?PQ*S%mIsIh>iHqZEN!d6kp?m0HYhxeC&l`dNSypDW@{L96e#ZjL1$^{*P>?v6
zfH)O}T<1j3rcdj}*a}`(>LWsy!^!AC63NEU_Vs)hGWL6vQ?(f`S*y;XygeO9)+d;J
zT*lClS5ZWaPwCxpMr1i?-zmHhbQL-IrCVWuvUB}$XG*XTw%_o2{gy&RyNa>4Ig>j}
zUGK$Fm~DvaxGm?MY2aU!PYNArOS%x*GXX0~DIJ3n!{D7e`?rZN3~h-@hng^ysd;}E
z;u;zwWJ6V3TMILo8Wqd?Kb&R@tTo?h6%d%)#+ivttRu%`xoLg6ji76;C-Lz>_q=Gj
z*FTXO&Ut@-^5aK`Aqm8nIVR8ZHw&mTY`&{|fxKMH*~UOQ13?wKi_O({`3zeEb_4Ed
zX-qj+X~|LUk`1mh*?3yDSi*Hnvg7v$o~k`gLi9!(r`_(X`Z>&R|I}J=|AeJ=Ak;U9
zdYoXX;o;%w>M^>}_(o?Lt{=aoCULS*I6ccVk^Zb~#kZnR%y`n6^yckb3{WFy3hELI
zx+c63xJI{Ij-27Qu@VO(?>Y7bH;h?<|B+5}5<DMJiz@UMp3;y30uRXaMU1Ih7X~WT
zHzQOWv^A;@G6wHas5V+?<}@wx65S#b`xE&tm^nC_hnux`=OgoYi9Z9fb7d71NNigc
z7K&Q7*LtzrvW)c@S$+*`*2z68{NH3O7sdZ6V_EZ=iJ`h>r=)}+ZR1x@+A=ug%S&II
zDV4ja@mj2=_mpk+70_c~MzAmsbq+VfubMoFe(*+#+5X76;$E-SIR94W!-wYid=|-8
zoLol)+F;N?iNAj@LIzoqZ>?!-R97R>P7(}6Es(uVK4JFjyN-R|pV38cNSURUB(;~R
z>Uq1P(!q!yn0qxE#!l{ym<Kh}oU?j{5}dOwkKo@{tx5o@G|&{2Ms(-w|E8Ld{%ezw
z^!2F7b9F+dwIZFs^(pMb(}+E?>+Y4JqN^Myef>X`E}0MLWKS#RIy!1ccqJ*rSrO=D
z+1;To`!8gt>$5&22bYL^Eez&(^28s=*&dM+e+_t~oMOu80f2jnT}`EJxWBp^?QQ#K
zXAZf$vNiU7K`1P2obJ}Qy>HFG`-~m>OvhB-j!jHt&3P7>2^E^wS>)T92}%&UO;DhG
zN#UJ7?_>nb#MTT?hNjv-WH#e|7U};FQsCOm8)|g0w!XIZIU>TF`PH9gN&BTS=WAYO
zNH!89hlEZS+kX|pSTf+e!6v9`6a>X$e&q}?ui;03<g2GWKTY`TH0h=8?AAT8uXD3_
zqc_um*u(!HWI|qU@jbT33ksp7u1az|d_wd&>KJ3<_$LOiKKIMgBL%B}%3~hW3cHMc
z)#kY4VaVZiVP$v^LvtUzIfJQ}zKd7<gA4h`56J6>|1DCLwwVrHQ+#k>vv)tt{#Nko
z3&{&MD=`W+mq%%550z{zw(*}4@dp9oUGSowt*q2}*XvfXDYI8Ok~aPya+$8K8<lad
ze^U)Xaxb5oO8;AD!{n1ZDMIq+n|gSUN?Vb#pBZDJs;0iQrV4dT1zOs!t=^b8iKAot
zNnW%}j9MSjk4ysbXzG)q+Br*xmaK^S@vq--0I#F?rEmY~&h+h-(>o838+StZ!;^q<
zqu-I`0PUvo;PKWYY3!`$8NKH?Yr2$u7EzgKpgQZ?w~Kx#v6Vor^4x_F@{UnC(^{dB
z22cog>pe<{s9S*+(zq3NU^vn8;qYn@AzSI#ZYZ$3ei1^;B_16eH5l16sOUjnnmSUr
zsWnG&I_LlfXX#na!mY_FF2IP;dH^#LlcUyqzw>g_-^HJJ!L3;OSO0TZq_LTKc#^qI
z&h*3XU_&6moJUVr(N<?j<Q-<uuD91>!0P6D{`Zi^?^4DRpp160k-gW~7)=I<!F9V3
zsCeE1L5AR!^Q(97d|S5uz{t*0K4e%|j~?w^pWp$X9W^OSjnuTTn2g<Nn_AI)wG!#0
zdkLvcOHJB9S56bn_rg?;)_v#8q<Dl|{u7ut`9CBmU;vmuX2;T&u1=Qa=Oz*u9x;Br
zSRpL(Ii6Vie4{+i>Y``Meb1O|ANMx}C0&*6o49&+!7KX*fsHyX#dMQcd|o@JYB==j
zn#KfX7YBBrHo5~XPW_`r*na_ek?Npbcd?f)yvZd#*p=b18wG}<sMQ<d^YZRM`*g}x
zA)OJ6-biTW5@IiNBtQzwo2tpW`cvp!Kuvr26G`Woqn~3I9APwQ($FO|y<V7<0)=3#
zb#5*Ql#i^SdaJNc8`Pnw9wp4k%7XD4IG%MeZw}Bv4A370h|Tmi_H5@&74-!V!1JF#
zp+-pDjP07M?<|Q>&nvN&nYZ;&;m#81dm&1+%W|IZ^1>eWlFqJ7im$pMxcd64wk0QP
zPlHYaSET<dc>#g)#z#jNLuo0Zdxs~zcpL`?dV8sxUXsM-n)z>n?ybAOw^f9;@M8@-
zgPW%(e2q&@Ot+y?C2(icpJV?{-Zp&;e7&F{+)~zGi=^U>7Sqk&0Jx>RkqbnHF;iar
zgEgbPe}?)l^-yb4j=zzY^h9}b4>I<vNZlNrTE_LOhteLBN<YDfX3$Ao+K+V>s9p0#
zPzR6l26NRptoK`Msa;y(>Ga2S#wqpEMoyNl=Re+lE^-;SZqAu<5?U%r5iWl+L`D21
zg%)t(Pr0l+N-xiBX!kZb&K#6d2Txu{2y$C=7*<@Tr+W*)t~J`?fWp;rF53o3=Rv5n
zR`&+ncA-W^idgX-jNI#9MUVcor`${qLs7b>y1xIyk=`C<!_t}`@uoAo80B%jp-)ZJ
zZXFX*CtbfWvB_LK2En2_)tI5(%g$1$CW{bfh?K1|s<-lsj@{lx7Q!<+M+2|colzyr
zhUeMmtemVj4;_;WI~@DW!K2r=f+@zY%0A_e-H{RX4%6jwIgrC1X}o97Pwj{4!6i+X
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
AQ~&?~

literal 0
HcmV?d00001

diff --git a/images/menu-true-color.png b/images/menu-true-color.png
new file mode 100644
index 0000000000000000000000000000000000000000..5ab943d92f4406c7edf20f5831f171e38e96fb3f
GIT binary patch
literal 53763
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
NFuyn-^!Y1~{{y%~G4cQa

literal 0
HcmV?d00001

diff --git a/images/multiple-clients.png b/images/multiple-clients.png
new file mode 100644
index 0000000000000000000000000000000000000000..958ee2cfdc908a85e3a4186b4d1bda45f6b2618b
GIT binary patch
literal 134215
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%0D$NO%5Gu=*nEahyfnvxtOb(>y_=j=49tMY}Plp
zd;5FChAdkz%NG+88f?8TvBVpVE`-g}z_-{stFLmAWTVGxScn!DK#)Po2a>83%~A<x
z=NM|Zf(BW&fV(bh#nuaz+?}2IR3`HRI^lGd!#E&cp04IX$d~la&(qH;vypm+oUgq#
zL0X+5b#@GlUF_D@u~yc%QJM<svmKqQY%Z60!T)yWTCZGT>=ErxnwEk8DR=y23C<z<
zY}c0aVvnyY7`EQHd-oji43WpaqQY*WHU@-)eh-kCKO8ql|7LSB=fwMm!Ec(dUP|0n
zx8B-5@L-B#?&`O*hor}+!cY2#Q(MkVIA?Ed$JuN*l=!1auZu&b$EVUKi9&jC%t}8Q
ze7a@D8Q#qao}t1~#{w$~gO6-}X(;p2?CWs){c&WR&^!NX0N8{%U2_GhN<Iz9%qyu=
zSo0C5(y_e#Wb42GJ%0?d{*#oO2=6J|eT(Ovc=&~=20rfsN#o-htiqnMGWETpcaTte
zo{y5#al$6UTVuqDU0JrG`z{o}{p!QO<uc>pH%QfRU(py!bvtF~)-+*0nv-viFRxAq
z*M#6>b4d*H%(<XDdn6>XK8Ob!yb3yZhbK=*^Gx@Q>*bO9Y{<PXzYeLtz@^(TfIaG4
zvWn~D?5+vtgR!)-TyA$s*xc+t<*+&?krXBGc<B~%PmWT=YX=8I<>_nS?XP2VgK3XH
zPm5Ff(K7by*95(b>b#s+!SBqz+oU%%xGb=r636iH^pPh?=ER6peX@YTmXphp&ZPz^
zi;Ugy2v^@MEIQls@ankdhj(A<YV>8u-jaaSO_=6S4^z`K)*EX29&yyzosz>jdgv95
z*g$!H_w&7}sVM~wvnGM{PM_1o0iUqjC+U9OnTbe(dCoWZ*rMhdu)T^FX(^urO2dGB
zUP>~7*ZVV_!O?dOG8bl?m$<BlD`U~8ZvzAYpubbL-I<8Fw7=dBvY87^YUjpLtNk?V
zFKti@*3M?8!}aiCQ(s5d6Ej>&br$Z|zqHoHQ@ul(cEL)Tlw01y;@>MWs`7F$3@vC0
zo8>rJ75jw>!Dw7t#+;V1=8YIDBuK9zLGpBYRX{rv8dibFC4~AW@s2O<iHfpmX+cgn
zabun6L34!GhovReSs%TzUG{osvdv0Yzk(8UPt|uJ4vhg)yUi~Pp2H|AVre*CbC5|y
z50p_J0>cM^O(<Xy@P!5lQO%`SRLfSns)@nxRJz+*^CDecSJiE{;!m_6?@Cnv^CPQs
z1`g4j^6|S8J)%Za<==vt`40TEq+IR>r_C|J7Z@%IF$o+oPI;d$;2q&Dvp;xG`#ttz
zQ8%_|F@LZhl4YkdCL@=Rp%SGM{r%jBg@?F2<P9!5zrrW`0JtyPzehB>Z=Yw_aPPuP
z{|JH9IkHAOVPXH_ZaRxA^$1gT19!{P-m(KkkXKa5srSUV?!Fy5kbHkn9P;j)ZV(bh
zA(g>kaeaz3GJGZNn-s{5P4?Q0aZbBZlU{b`XMm^N+c$at8Wcv5@K93njEN)tv!s(i
zfB8s>HPA2-5EQIop%>GW;`@C0nVZYh-X2L`O;Pw&Rz)E&F^J9Bj`Y-By?I4%m)-T^
z=QJ+`c$A8*`^nVQ<EmXOH39P=zNn#oe0~i7F~1-!C&yQs_<-m`6V#sQEraQYg$07W
zDc7d(fekYk_QYtY(>b=YqWc}BZl`Sbay|Dg>sf&_v1Y*v=5Tby;JwObeICzqk=q+9
zyt)=)9InK`!h+QCERL!Q!`Y-8j)z+kx_wRYzM@MJH#g*Gm+w#@7w^VNIRYl+9kp?@
z6M6jIGm&WR^I!~no((CWk2tlk&ZX9dxSKNJcNVr&Qv5*c&1C7?NNto%TAI>V35*k{
z-Nam;d0!pbpd&_R?RM+X_QE}Jz{0$}vVR`$?t;>H5Z~~t`d#!g|6xX5%1>Yr{<{FG
zTKWY%JgUx-FQ4n!CQ82$Za@<fkO=qA?TNS;-Z$xX=5$%w-RNyD-PWI!e}>ULysuR4
zfZ-B!NSgbuR)NH4A!$=-gCS6lAXQXWzL1B!R5B#m{q=X*=}d`1^hit<(?NN<D9w$}
z4+w$k+#ON5jU8IdLtMp~+Yil5+h48(v@J|fKPDNxyQsLp>*qFRb?TuWShc+{G9_VE
zqpE2e?n`y#Vl$n0orz|)*WJ^VJ4C{sa)TjSAi68F;zdmT#Qgck5^FmD);mZX|CF1x
zRq5_bg9%@h^~u)oxyqLxa>o3&x)irEBOJDC?3)9cB&7RKF?OiZWGKJd_@az`3EGq5
zXd9TPL`T;UG`A2c7t|?!2n}U~0edpj_4F_6H9B=ty+^BEahWzR26!mTo+7UeGyt{K
zS!?fTe9_RmxcI)yA!{2u5K@SgI{dq~mYV1jESW)&ih6f3n!(mcF)f4iH-H0=R!HP>
z?sK|a;7NzP4xm>`4GE*pSe`CHMb_bMC9c7hgv~$lJq&8$$$}m5hcG%oq^`az9vvRR
z6fENlzdhxUaUnHe>oW^4*t_==xrZ<hw`RPWIBXZxmHe6Nz;3>b->lU%OpiD?rIBSL
z3Cc+ZO`_N>78;A=6SsY@Wt@c{n63#dqbaoX?`>`!zRaJaxS1Wc50n4=O=PjMg+Gw)
z>W8DwLO^if=;8w1ml>W0?aU{%SG_;sf5v`KZ3*eT;pzDyOZf%q%P2<$8o2$$Q`Eon
zT1+qQ1b7<+xIsCP)Q@MbJy_icfbX_r%Qi#VDb1wIVU~v;D#4rOu%<oPa)=IZzvKo-
z?(sQ&7k+#S9*ct0F(Po)0@^lquCBZ+M0T~e3-rp4%s&-QfF+-EMc*FZFU06i&1Iq8
z5%pt1Uhh?4imzCIj>%*Kx(urRhb(v0xq0>egY&%!AD-J$VX?svw28xp%vpFQaqFzC
zEMh-ERRB$cr3}Z)!NyO?LLqaLYs=l7FhR12&{)Nfe!)#DF4@4ALsmMOjD};lB)joT
zi+rO$y!gOIZ+kkZppbf=!dr-w0D`>yxMNi<ON}YDUuhOyce~5dcd~J5BYQ-_dX&oF
zl9O?o6&LK@B+|}A`OP&aOspa021NM;Hx~7;sfFC!qVwvXOC;7d)Z%)Yd{jpWIPQ6)
ziu~q<V0=5P;#z#OA@h=TJVnAtUhCVJ&UE{a0d;5NlX#Nr0$I=LnX}b+c;-OHE*kz{
zc^5#tZ)tOV>g+0Zp(8!jtz7C(tBPVK@beezYabGUGNRlMwFCEG-+W%>u;xt#o=Kt9
z&H5E1vA5&-g9$f7+vQs??I#g`?Z^abunX39*+cKfpCrS;xWe1t5+KZ@yrO2n1!S&e
z2b_7`$ctjo1rErW<oY}hM03f13SUWi3_CCKVyF8ib<w7wXu0!5V?UR6J5zQfu!w&B
z72J(orhu^4K5Uq{=q8GY?Ljd77+x>rrVruC9R%jXjr{QcXaOw0PMCgGNmf9^UT7)f
z6B7_11-n0(vyky*HF<TjncDS2wE(S<?ljCy5SDZ6!0)aHXGPqx%X_%B^j#+T9be;d
zCI)t)slB<5$z&QU5yRWUD~3M&!#B9NVLGWqHF$NcMY7d4#^>U3{Gpad&+<vphPH|3
zQVu`37FdKS;bzmyRF_Dz;xa1+RWwMdtA*Gh8+pg~wAxPd?4YcfKS)qbg1iSgs)#LH
zF#RMUGw+rpg^n;vCRTqn2||QICz(4rL3g1~{ugC$85LLbY!4D81Of>Jx8UyX3GVJ1
z+}%Ba1cEdW+zIaP9^BpC-L-M%kl%Z6z4_0~hslQky;#ldbI+|)wQJYjRXDR|SnYW1
zajoe2O?o4j9hEq6v>~)F-Cl=#6<s1H?x#_MT=OIqFexW?E2hQv@HNdGSW<VL%5Dsc
zjAfEu=mh+L357Wo?_c_6$<q+^>zfVXT^roxTha>$v!tQy6e;7?(1^VTl|0%uDaU)Z
zY{uM322WvoS}6CU7N>vCH}blUB?32h5Cz)?T4E4WU(C3=Q5c^lK;K-ow)R;pRi;>J
zg~K7eYfANStn|aJM|zL5ZaoX5oEo;apFw!GTDcuxcKS9@Lj0uA7(ap&7gL2$_o;d9
z?g~62fi`HZzQ)G(x5gygEjk0WNFx^$`cNJZox;7MqCu8sniwmb()Va+;x{Y7!ZD?-
zEHH7JLM<Z$Xgv}KA2FCKp;NZUke2~J!tE)HLJ~&LU~SKXOiO4p-QOSRsDB@&iu8PJ
z^go?fs5D3vm|dRRv>Ma#B)fMZL&&&Y9~YkSP})4*xq-skA48r8y!>hWrez_8{`M>c
zfB46xj-a+S?+J~*P#4krwI_dbGoK<O&-+G~9d+@(-W{L_Poq!t1lM}k(VB-16XF$W
z_l>|;vPIJr7kmYIs$1n@Kz0Nf$aV#<rkY>#78A$B{>AXn^rXiyPvfOU)xy3)k3{>!
zw!QOl?)N)W?9%GWViJ2E_afwdRKXk>a>J-h2g?~$wkYg+MyI%*#2T0I0v`*!LzckR
zQ@ufL&Z*@x4zCmT`?<?>M-%hG^~4q_rCZD6KbJ4$dT_5THntR%Rm$v+#9xylEg#pm
zeT)v=`0~8vfIt6Rk)nxs4+V#>|5_!A3?&OH_^}|5>R?z72R9N7XC_E5K9lX<VCS5a
z%;=*U2Q1czhzOCJ-)r3m2is%m<+TI0a{KcU{DP`)w382kbSFHJ160k~a1R7B_XII>
z_Pk6%>lrT523yA))y-dtDj9?-fj;3dX(>tlWd<1g{1t*Alq(y{+E94Zp3<CV=kSS?
zGC0XyUY30Q>e>ag%aybD8=(lB-e*k)Hx&WXleX(;kT6lhALm$Ixlv=K3a-mbRv1o{
zG8G#_Q#i2RPQ)%he|tNuu^9Vn`={$L+oAK_%`W!!C^3cA-w;9HtnT~On)IHTj+kqv
zJM`@1nw+&mGd!;8DeOgtA2v{@*=(AN_jCgWSQrI3YVA0yD4jJmD$-BsBs|w?o34lv
zR<DjC{+hJYq@f^VQ=qyU+l21>v<uIY-+HOlyfHQ=bGz851%(&JztK+=2bO$$A=>Kf
ziUORU4cDQLPow7=Ut(B(S$`NRh3^{K-Q_iN=tz#z?C#4j6veUQ;@B}B+nJ~%Q%@?2
z-p}&Y_=Om}S$V7d?5n`6aJixAM$|?DPe};Z+-0_TA1%z?@493OVAN)T^v$>RyRC1E
zuo;n1{urb88J#9|&b{zOXe6IY#u0|{fre)r{dwKAlMC1P<Y&Q$OuY_;;tE0=Q8v4u
zhdv*gxWd}2^rx5AZO%puXqaM;MC)q#pI-OUb%+8H6)79%<F=8-pQ&Px4E0{ytIAHv
z+Ga{x*RO;kqg0O1S`Ce+G`hM*3nc~uXednmfwAk$!^5Hqv0p?@O3YP^XS#|BleR#4
zw$$Ld4r?ozfAFstk6Dk_6db|t_qdpyBWu~FF&~GzZ~bItT`(cS=1v9<cJkbI?p#hs
z5^JA#b;mBM0t&b18G7_Q7wW2jY;TF#fzcR?MjQec*V(U5SP=x{&i)w>dVMr&8J9}A
z4V+2nD~qVXMD6<zTde){@w)u(JQD3;Yy$?q?%YCNox)BHQ>fpD7l+~u^!%iV?)|r>
z`HDAHO}IpySMigBM$3iL9iB~hTbSN=qwmL$!~k>p(aV`7GnzHix6#u$OdePu@FRNN
zepF%W`8`V+)>BL~WqLhq5psWtCgSah+ZMHC2<kSi#aX|`av9%)I*-~|AcoP`hQ#xg
z6BqEO?4RZX%@S#QVpWVWwxls8sCz3pam^eJ3zPPqz*(oUi>Zs7cMJ9%@;Im=l6Wk?
zQ`m-#9|K-QbLjJHoQS3{NG9<W4n}wx$YUN-I#aSlMdt1CA}X2|x6ic1o%Y)GQubjP
z4D~^q+B4H6sAsOZKmq-f0Zn~CIYjS7apoNyPgzO_U;y04`ZwQ3qNsTB-f=^S-8e|Z
z_E2y=&1cT|hmfqM{n=mvCYYC(Z{ukDh0^lsWn)=cV2ZbvUqTSPr<+sDh+II+*BpCa
z>+}&5&eyYFa!t-(*4C*DxVpY#)WD<^@#l2(<b+Brdbl%6c-{U6;%zK-9>Kua`zJd6
zc13qmLl{NUUL@0YMGpL+UcOBcQ@Egl^0%t8mznPL;cl0N<%&}St;h+LyLx#+_9dk%
ze{4>Q6{LZ$s#@ev$-{4r5zgsp%Ah5M6yoL6<{w(-JS9BV^yT@pzhw5!`8y(AkPrWs
zy6p2*4b;nIu^Uw*Za>RF9_WKwp=wEyGzn252n#eOG(JZ#aVAr5j0Q`W7%A-#u-6Jo
z0Y^?{7za1p+K$?(iTonv^de=p-sF5m)4W~on;EekLB-F+;_k3+B$oyQ50z4O1)m2_
zb548TGMoZ*u9`R`M10IHtrL{XPi32O@mwn#-(8@5?jNv%T_Q{V{JIZSl7zoiH`oRj
z7Z3eH;*2|afd?zIA0K^uCSameN^}YDgo|3py8W1!9TYYSN|(7OSahO9Du-w#r0p4j
z5LG3PZV@%5GfPsbu)2*hLac#@bw-@PYN<bQs`FD{=u_tz5KuOJrL|h|>H9KT>s&{|
zJ=tYKbjA43#Xn@M<gb4=`Y<|j%!OF!OWaI04<z4(dj$3c?KK`{*`>RCuz{kzV5ZqG
z$$KW~ADmoiYwHAtHe0|MppdEzd~v^NT0K_J68{#x+U%2wW9Rr57WPR_teT?`Wfk*r
z)V@MW{Nv9jt0(2p>_8KYbQEW0V_|hxm2~@1xbN?$L(`>vwKJ0d9)a-sC0Wu=zHf31
zN63(;B9Xd%Vc?ZBJX=m9CV<#T8*lw`V!dICn@`ioUq0c<gsf>#F!8^+fd72K3blFS
zx%{t}n4hfxGGamZ&ASB5%fH*gJR0iCosCck<Gts}gmc>GC%FByZD}$?Xp-L0Vwo`C
z<6(y6YebIT;oDFqS2I$>4Y&Lml{~t&#dEo=X1cO?D0I))zC6xTcd<}Irw+Lj2eT_V
z{2n4L06@R~vo#La-QcU|%x&y>d3o_d647$<@;9NBzTRd{FMZ}-{ks+b77^r{?rb~M
zz2>8e=n)l{{6xX<y~5X@-GN=;V-EN@^DpyQur9Ol^mckL3RKH~zsU6;*)ik7A53ig
zdpd!A?Rm|4nVB&~VIS3oN!HyIX^eU+F78NuSNJV0&F`@a146&Pn1093m%?>ulO|;j
zdwEd&SDCa_{kn&kF<cRjI2T!zimN@fZ1etJJ-InPI8eXZ!kuy?s*K(lPH46d;-;NF
z#<2f=1XvTq_x6gPyt4GO9iJa+(i@M>j%7S(^H#*XQ#d1eKhJs}Mh*<u-@eEVmw!0h
zedz^O#L<wXNSlDTz1m=}Q)zlyb+b*8@}s1SJ~vGM<Q>6VC2(V{kb`21GC_b)HF-aQ
zMFa5WumlxAM_Q0#6bVT-XxmI`?+{$x-u}GXf?#*{7Gu0QTTLCSFuHIKYPY^ER_9<5
zlu|sk6ko01MLFaBC-Enr2&2g#jq+{TS@PK7)!rkO?^pL`l>d!88?I66r4b2zSDi(~
zrVkOfiV;*aU{B(zd=!al;bYMO36RgzwozV&RFj=``3>Bi-^U0F3CYUK_m-}aQ9Bhd
zM~{{<f&r3vt)~vjUBu4+;KiP~<q<?&&e?w^c1ofq5Tcw8#RyWB5Ekl)Ux4xSo^Zpx
z?moKqzA@ZyYh*(uu5)<cUBY@Yq^cy+85U(bO@8!Jz7Q8$Xns+9jRmX?qLeA}&3s=&
z<b1_<r?;8Ug?W@Z&2TIt2a5W_@22ObpZ#Il4HGkfRH^9?FV-~C%bVu#o2KWSJ<Ql|
zU4QMQHu64yaKxqJOhWW+`IVGpxpt;q*s{1d7?~{TbSnv;m(OBSfu$G%F~<hJ^`9J<
zsx&BNuprTSyOfEFdDtFX5XGDca@0WeH9m<m!(7_$pNHw&gC#$eJa@l5%oeFGI^UZM
z0$O|k#<zPsc25{cWxN?Ft#S2VMtL6);r@x|7V$$AxW6wU?PF~N>tMi8enN5@!R-YM
zDyrG|u6Q|l<R2J5K(Vihjnc0pt**|N=&B0F;C+Lg(8;ADF5$?1*Dc2F0bSi}j7f#!
z7wg+u8jMCt-uXaRR?1^ym2;^d8iysbw6Yz9Asld@i@h*^bm4sB-h|m>i)5b8S~^o1
zwYA2dXZ2rhBzb;B^WiSMyrv~27(JvpWNOleo6Ud3%37uh{m81UXdtE<rLi2BZ{yCa
zl;&1K0dDU1uf5H$dd^i_Bf-YU)5zlOA*>luxMpDknRW7bym!oa8vM3%$gRWY{^nCL
za$Olr_{-HSSfK-{?fa5Owu`6gc6<*NFxGT3zz$a~dts>Q`0e*pTXy%CE4!$YLrntH
z-k&aHEVCnXYN|Z0FCOD~*udIxU#^$4xblUGt2z)CX}7d@R&R}vCAYM(MgEFq&A@Gl
zhI+j?+VDj(PT(~*)FI?1{Vk<oMta1-QClI_<cq}jP%K8u#unP{q;<VnkDstne{)+F
z<*+{s%Xaj>;hyODGITlSXLNPj>MC-pKC+bek!0ee#eMHCi}!oHi0*)h?13T~7vs10
zu!t<4gAK7lvZ@lA+`h+fzlgz~T0)~^aVMptOA$$N@dKC5UJJXrfgY0J{07W-n#nd%
zkAObr6OwnOVTy|02j)btO&^LOv(}jelDEr5PKUE?M?qesM4m_*tOe_tTU`O-Pwhym
z-?rx;pY&y_Z|t6&9{APNe#Rxr6J$56&Q>me@?O;=jK`6>I;GlDZ7z)+dO+`tM=f>O
zmAySUHMdUQIxDt|Whs9};f{jAJMJr|FJ0!mR4HZ6clRk4J^Ad_*WUKen*(tAi;48e
ztJr8Ar)!x%gSpSyKlIW^S0xV(I_+IiIw9g}&a#pxu}MqmeHqj<5^5T%W0iRG8`f54
z)>kuc(6pjRDyEuYf4MFA#61kw(@(=fqABYeza>HLLG?&qA-4BND<hG)$_iWY<)pDO
zEQ7N?GSZSJ6Q-1oem$vGLQW2{siNWtl<T`y=l(#Cl*mgB%tKGMbVR<6#qbxKgTDWT
z+s?@X2@D#2{pm7Y5()JCU<l;L7w3h4vn~3=J#c({I?6@bP%@FkkO}jLPXtX$Qj2Hs
z<kZx}j!Uedz~}_x5#{=4>a!JM%SmEm{Wv7xpV5wi@s_NT+N*D&p=>CN7(*EpV>2bD
z@WSc8$+{W=Sg6rBn3{FGHUtmEIcy1A+f?gZc)6;J*7Aq8hEp3i4u)I4^fYkbGg%LI
zk)w*!qNB5E@Qr3lhy(`GmOCxH9%D%#>2B4D35y(`br_iI3!>W`BsDxzcCyxynadDN
z#)BeXU%w)aOPuEhrBLisR=$u&vcK4r{N$A$axlk2t`oftq$?mIPmP0uzx_K3<P<a;
z0of^Ah0fWh)3N?8E7zr9kgE}IW`={ko_&mw^)(xt3cru9s2S1j(`jGOa;bG&8yV4c
zF8~XMRx()yMf}PD0I%_sY{CZ8#>l1?@l!^rD|u@tN9&-Wo%VFmU|fHLh57#7$>Tz*
zNGz*FwhLWngVERt9<QcY*yyzVvvL8Y-h&T+_}m1$e%;baa4PAQUy)Yg8^ki}5+32;
z274ncXSef}+vt?IqH5(zGu0;MYmcZ4o+JO}wzeiDm|^88(ea|H{yO>?%nuRR1$!}x
z9o+5~-1x%MD<7I+u@l+gkkfElcXnrgcU<=c*axSkxYHRW-nQ!{oH1YDh1bW*r15^u
z7%GXs3BNs4nuJd6N@%pBt1U5*nY~838W*gTMs$xrePte-Qvb_fi#TF`rhMyHU~o;*
z!uRhFAjx|9sa6YHZ*}f$WM3wZ*Af}V840tyo#F^^CPR8he!rkFjZ{$_&UOwpca0JK
z6^M{+9uq?S;K^ZY%W%Fo7KF*fXDW+{*l7G_&UxRcUw;jQ$&A?ja^HAp@SXCbHb5m8
z<Cq~_x6qYa>&J0cWUNU<;Jhle@kgG6)m#S@>>1W6$<$g+;akbB$lq|epkYy-0q#e5
z7UAVUXu-RAF>45aC|1}-k`UxR=Lh;t*$R(djbc_Y<J%rAf-&H>f)3@fbxT`Y5=rwz
z_egrz_3GZ^+M3Km*WIh2=_*qeE2|>qiHq4QbPPrZVur%-TI(ww?vrT~&{O^wSbRv!
z%w^u@!ZLw;0rv24)6;p#Drvf$4^nZC5G+h&Wkm~yWEDdYl`B`)b14yC6XAyMrF_EW
zR{XAQZSdgpJi4&PiBRfGYKZ+-eu0^ckrEomMD08(=O3{h9Lk~3#^WOsl@UAfnr1R(
z3dpd%qgVyzS}UYp4HaQ@`j2yeens6RQoHFx(0gCQai$OICCKCreWl0RURLxzZ*Mtm
z+lIJpZas9C`Aqz~v$ehOSwkDBsESHTYb#dQoo&+6(iJjR=2gtw4=d2)$$AB~Qac)=
zL;T(>nmIUx<6?UxbkJaW=sjh_4tSZ=v@%jXmMx_>b=c^^e5=5Fzb*hqn+qQn`au+z
zmZo)nhi9X4K_PI2*-8}3CjeLjV2q((=NKDIB@<WHqSdBNm|fq@;j1>=!gm0kxvSfA
zS$VVjwMgqM+V9Itzy1w~05c47&_M?AH;CQ+kUPcmx^Tj=y`#hC_^(rzv{#UTKhySb
zCfiWs6{TN(G1*ftJ^WSvKd7wp<$-We*ldJA+&@${7|Rw3DYPMGI>!bEz_JBqB8G-i
zI$n*17VlJ~za54Zq!~LKk1gdto*4JHP4Xmd=cTXgW)(v^Tu4Mln-O?2k^h6S5=QB^
za|)j=#>FKnrkDaHCe|u;@hC`H?WnB1Vws%0Hw3e&+sVdEL}rRh(!2O|^IweS-=rKs
zS1IzXkZ+6$z^evW(=Sd=vUHZT@2<w4!%P;<{Y|>R9Zz!B(7?gn(<UX25+5<KY7n!Q
zwxUHZF9Rz6^co=s6HYFMJr@(1Zq@KF4)>o#49?IWgnz0JSO-O)ZkwEu=aY3cb!X&`
znMTC^P1hHWOAC+pO~?gh{$SK=S$Xx&9VT>oEXaV>lUeV=+qxnyle?gYNw|~ljZ2d}
z7Kpe^uHql%d{A})XGWAzh|$>%>fI9C*%i1+SNiv)Bk6FUJ3>TG-Ovw$-_9gS-0|=-
zcCU(x`E=>+Q?t6JwpMi_dfVg`GTi>Wl5(-6q$EVrB!_1x<c#6A-n_&yR0A;_c9~eI
zw8^I2uvtg`m6^c7Qn87@D6#0YO1$1?jTi-wsDyv)>%F&fFH1R0U#;}Y-efJdodhaC
z2G<snUvNxtRLZgHM9ru*R6pF<{o?oeAuIG|=rynIrE^TSD>0A)B;WC8qOMx_N*@*<
zEo~qO1Pz|*+0DYanKDb*+skZvkL?A=Ezj=H(zsHEXUQ?yWB}n^Jg%p=8((uUSqgc#
z7hPsMhQ^z8YnW8#)|kv<J_Ufrxnm~`jBgR*9XIdLs@kxF(~Ei)m6f$svM5+zu#-mx
z<1i#zH{S-NY&`}F60WQ??~9b1^e}3Bc;Q$#T{05kV|3PJ<6Dn9U%FkFRnamy1NV7a
zd#pxk6F_?beVDO)cQW-(VODeDC)7oG*pX+}aaSy1@&ptCU>sEy+9eD+gWNWc!@`;9
zAMiTsF0eVg(u_)SrgnZoAg{l+6bHc}y!k}SiskNp%Xc43`NYfl(k8~`@KFSo#H(o$
z^oQe$sMhVqH11E|viub40FrjUz1G<Qwsmv9Z4n)!oSj~CCGK(`wI+WCA86wsn<m>$
zQ%3T4DdYpxo!-=p6c3M)vr5JG(4#UgxH$zEI=?Z9ZJpF*@`J06lORf*-8C-|Z^7)L
z8jUd^7~Qvv;kw^}`+yr`hYNvDL*{Lz5NX%<nWGrSV8@@>QiF(%av}x#%+D^pxR>qe
zA_fOPeLj@=#r-RkuAf9EVMwB74J)%xZuhVC$r2Owz3w3=yU&0a)p04bN_~;0l;iJW
z=m%bbI0qw6ysAS72dl2yJowEE!=pYPZC{tQapGW%+O|p*`GClXU8ZxJ10O{@OYd;^
zBh3ECP0yZlQ<T!m!rRyla31Z?SEAF=A#Hj-yaT)7^eTOm?Bm7uWYm?iZLpUEH5gKM
z*o~cEzJu;gfGHtfgOPAUhr{V6X^}pzh{Y#&>?jHJRbZvwUcI!u&@+a?{)di+zaKa1
zjQ7z`Wy!@Kybs7bnsg6jN!L2ipCs@cz}zjy^<R2meoaB$Fv_ZzMvW&DXF%Ah2JLzs
zg2xjAQB=>CRIq63ozBKv3o33}D|F5}?T&>tKj_*z+UnaJm~*jdw*jJI<d&<*NqZZ8
zvvuwBUjUHQZ|blfsA*-5<-*MN<X1(toreUpQ~Kz*eOrKZl#dXY{ULjjB-fgoLcv8H
z$ze`$-=qi@7PXj)0@?dO2&QJe)eFzV2JEFj<ns*zE;n&8E)O%=+q0SJu>}7fec+6d
zR?y&+f=<hH%N6D{O&k&K6dRS#W_QSsW{JG&^7ZN~4o-j4?9ZPuQbT~~33`=JsH_2w
zxvFAE7n274v9t=Po5WNd-Z~@pe$FlVl38~ty?^GaJI^wmg#KtB9bGu~%QULjH(fd`
zCcDz@x&iI<c{ySBiT)seIP{#*z@6I?dj8dGFm1M3=evyVOJt}6iLH!^S5M>R?S<_+
zbGTw5W;m<Q)k2b*T#29c+9q<A$q2a?j1z0s-SjTJ0WxMfQ)hhivMRiU#RIz;)(f5+
z;IE<Z<3MzMFjAM?@?(y{l(g#&w-c+g>$~L+l;SZv6%jor(zE5%uAZ^=gdKOV_>`2C
zS6@2|+$?+h=>9zZNo}v*>3;-*&^rCMKYm<ASFSI*To?k0I#+{!0a4<2&NUFvU53|-
zGof<&$%M>#ETGou5X)@s>FHTtzg}u6zFIApv2k*$WAt(j|8-2S?Q(sgzQe(hD|yM5
zha2MkU5zRG1Z2x%hvPwEzg&Q>L<`7Au$V*Ydf|t7Aur*?aO<Y1#uO9Gad=V@FdfJy
z;?0u1H+R&b&5xH%Wo2|9FcW^H=kpPKIO#TE1cy-ixfY$y<Rr-^;u9<vV$h$@6l_lx
zY<BFco`hIghipuyRBrswyU0pQe=8mdc@uK`N4oYJ9_{3^J@>+In)M|_xNnEa*w)du
zv#aY)O4C#glY_%`dbaoY;)KER^%MMM;(_m#Z+l%9A`!z(9?AOh^)yk$MDiz<oOcFB
z0J9_SnChC$lcVzP_{wZkwEG;(7Y*N?PSaq}@zD#jBC&`&D8IjUP&C{_>RF5<$q!1O
z-(m(*qmE-ZHfYlxY8w5SyEq@^UwyZG<lLY{Fk_@Dw~6FfHs7*DtF()f+4Aa1u$D3E
zvE~~E+E?Z7N%a>*w5;)QOj&k2^0XjXy^s#Bwp!`|6G`2oOTO9JBI#$^va+JU$ZJrV
z@`)<Dk@G#CL=d0}S(fsIDIW7zM}JzrF3(@Xn=q>b&m|jMTdQOC-62Nf!Q{3Xv7g1o
zGUYQCaB4F#<TMmQ8yT&0edUYYBobX=Q++Wcb-Z!6T99(1d5r%Aes~P%A`(Og&44Om
zAyV?K7XMUXS|2h<o-mpJG%Jmkm6sO+nb1F*1HX4Cd#eAH8=?962r5&1NE0}bpww7M
ztR4j1Lw-~Owuk$&Qj*TphcGi4E+i0e3)1pw(Y9!^6;&SX{JAu_*w`&4ESxGGTP7}V
z+>hC($pf5fycGAC^zpYoi(|FnV+@Q6o$Uon7Fy$kMMU%g6*CITy8eDOdzZ6|N9LZ=
z=PYD|ZZ0)!6cD~i>(w4xIzTRKS$AHtQ0J;BC8+rM>fo4jEr+jf9No}DDuD(#Orm@9
z>EuHQiqUy2rL^=8pD4yt??o8kUn*xPbgc^)nxp;0N5A5F4PHa~^9q3T^z1G3tgSs$
zm?*Kw*+#ZxBF<+~(Xg4u?q4>~U)=3^Uf%tb<c&MSq>OrD-Fz)x*r@tIo0d)#_t>UF
zTrJVsxp~Q6aPCy027s}~H-IPbg#Q2&cl<W%lSk*dtuKVX>30^`%(Naa^B=XKwU<4X
zGxhduG%+cEVIKE5e_9Dyi6lI+)q`x>{%iK?-xUJR=RfH7f1|l3&s+ZwlJoG(_T>K(
zBYc=pG-t-)v`YlC4;k{<9*vEnCaAuWMqZMKapmajcKaXQexBI!{WljN3DMgdA9-!9
z-+)>Qj78rC-Ncx^qsWC76E#sgDxG;WatDl2WWpy$W^g?%&G8))Q+8L~aPyi;zxy`!
zXA@fM-p%zJgy8V>1hOQ^Qm$X!xJ9_p`?Bm+GqdA<|9pI;*HyG|zRULG?(R8YRv#mY
z2>ur~eWfy1FJe5esTC$}zR1DB#ZhMO{1!a?8fpWwrd!D$k<~kf3nds~ns}3`)v7`o
z?)U*Ykw$vUNjQ5<mmUKs=@+U9r;o@hY5j~4cU*7)#Z6V!MYcXOR&GIFo#A4EMmQ8(
zPV2vrzkM_ll<4uPiJKhRd^yUG7kCmLM40B4fMz5E`ZI`#y>5NS!UtWWbtM_N>U!ms
zCBloZo_{$bAbgT^1b6c;|K!|;i9--3Q85Gt<NP%YCFMBKKL<_WI0K*OcO});YkJBd
z9Xs<y+_$Y%Fa0`K_CNf{SD^=wukPb_MW(p^Ahnl2E89Dm-lTjJ1t`?D<%v8~+?I|T
z1jN%s9v_=Ct1n$ep3{xSI)wqd85H=-=r|C68FEnKsomY4YOo$<W@ZX@RBrSY4*>I~
z`)yS`_fs{POMFohYR(TT#b5Q-=FYZJhL%^b#RVm?M-lNDdB&`l8$FI!EXKA9_9cFF
z5to@tNS!Nyy2vv8Xt^!)(LB6oV1TGpOQq@hu<P|kU-(ULU*8k-MnG9aBYpVY<@)E^
zCT{EKMm`p?eqoiIlG4D{)M95JAI`tyStD#bl?!YZ8Y{l&$)6+#!^jD9j=MeEB3;ji
z8=;@ThlC3iTL<}rxvZxe(a~hZ)8PGoKN~IYdj3Nz980hS16YEDsRaeClG3?h3fgkI
zww%>epg^t&hUoVBMNw;=GqJKFzg}?U112t{nAUW3O|e`Fk&PNNjh;M~5y-A?^Abi9
zNQfC3A5c(xZdfGLN*$iP{ps@?iSNr#b<1$qgMk2#hY9EY_-kGY_i9Fveg|WneRPN7
zmP{{3WDnXbb&KrYC2$@H<ZmwY{5Rxe%-W;XxQPT{-e+McI-hlQ336|%M)Hl>9;Qp;
za1*9Rv!tFMNyZy(k^^ym1_?5totoE62?IiR+;OMN6GIe4GEnSra~ulIFDzj2m<jrx
z8j5*ttZ$z5wRUi`>#+mda9!x-#gjR>gT+$O7sg35Y`TXnN3Zziuu#6l&clPfYmY+<
zkdsMUStWP;&;C5~$Cupv3G5aC&Ii|@aK>=9=^?qq%Y&_`Gud6wasX0qN22IgAYppi
zyPCSUMfaM$J!=oCFQleGR7fKdn28AwDJ(>YN`D~~BatJk0@CNFXN#16IHgJ~0EW2Q
zTtL#poj3lT0@T;f{{pkDhkLh#b-rW<$Z@Qo{MhIKsTDZH9QI|IPLhE@FOb|?8BQg7
zs$N=K37f8Vxi<TgTV6mH;Qy`%SeNNdU~ST=3fk2Z2U#eQuL}zOm~y29Go8Dx&F<Zw
zNu^y=%1-SRLqc#w#nJ&olDE-4b`*qSpa%<je<Em)O^G!%7+}7#BRDRFxjQ-)ilBQN
zvJmWQfuk=BF&Ij|2UESNi%zQe(Ua((0it59dN~zQDm>RcFtFyIf<}Lv4wVWa28;wI
zp6IF+><J-(*_8{6*V|qq=m>uC-IYaJoX9vIr<X5{2O2cmo~Ytrp5STi-n^VL{QqRU
z{WW1;-Q4sMPXDs8J^aVv0S-8+jPTYL&YWTtD)&t-J^a0aXaI-8&b~2}Z{ee(Zeyk+
zgc#rUC0Hc#5%D;K!Lap%&ys4DUZq&kpORl-229mL2e_#!kV@5<x;A@X@ibf<DgtBB
zzF)WgWu|>j;3x_R2r0N|5G4HKZ5S5|5d_3K^OAS}cMPOWSSk!#K?l--Ww|yT5CK3d
zPDjxqXq;bF%FS+C>A`U^t47dfcRl!c0B!pBA$^Pp06p_o9+BaXj<foY@#KPD19?to
z(KLJic(%XBgWAjIaqus%u9?Y`yx-cnyHh??q;5v&>lh5wU2sGD6@I*g{SA)pqdsMA
zHb{O#^6rJ(^6VlrZus2F&W>*Q-poDX^A|Ls>>%IVi1`_`*MR=<<KISSq$;yTPmhM3
zscLl4Hu&}diUd4w-_6f7%OnlW&d#oG=M<bJD^dc-*F|>k+FH&2-p-L0;H5NmvK{M>
zmFV9&uA&d_^6-us4*mp|RO1kH#r?PnI>gf7yK+XISp>xJ7Ac3K$jE3pS(~_FwC|$C
z;YKW<L8bCwS@-mC*qF<yy2KsSUygyJW+k<SEwZ?1vP2*H%*Xc*Xv~;8fItMe?!Xq)
z4Z3SpR|N`c(gud)sm^AYaf`p#0H4B+w33wk2sqKh!(p$F2u_V@(PK*74)7fpB`k24
zh_}SGTwz^|_SX>V_PnYr=31KWDI}B5m6L{+cnm%{Bjvj1#{O6RUvdD!xnRegtzKKG
z*4_w7esSe+7{kqV7@%GTQoOa}m2?EG>Eg*9p2-|KiBi9!AIdbqkDB`0^OYqsO2Met
zZa%zuWm~=`Po;=fYEzM>=Y`=xgN9k?KlV*bR3g<=yRo7mQG0=FgpsvOjp<3*>5*0I
zX`k0rivB<A^n`=|mpXlZ*}+N$MA}mODeZ;^?pWwGTViuq4^Tw2s5|;Uio^C(WRQp*
z)|$V!ZeW1}h&iqn7YH<<JB+|n=UD2Z^BX8jPZnu<jGZD5r)#JH43h!0gMd5JNUpw}
z@5TB5zmnGtj0A1*Zwfs{9{teZJf%sg!eYO1a|K6NmzuNIa+xPkn8Wb~Avqb(Vz!}B
zZ5H@3)ry-0y$3$mI$mcyYdUTrAPzaG(*QUaZ6c=f%qo{hkDCsxld@eAfT#dWk{;HV
zaNni=zqinD9a%v&*H?UWnnq5Ijvmwtb>ouZ3ZsbjPl*!nAc%M`;*oD+VOaJ$+rB<L
zM(6Y67lDx-2XfT6O|eioxDy(we^nAV&p8P7i!CoHB6=jPduTS!T+1;ZcQqQWQl_LN
z3_x_uI9T#4E*_$ZgXTA!?DlaV52rWWUhYBMm^d$UyF{g=j6rK!aw<`gGBGhxQabr@
z;5JaH&zr^4<Yt~phS9sly5abAk6MGfIa**9EEG2nx7kjavZtC)rGr!)^Y@I5$pX#F
zXkY<-h{qTfYUCZ*IKQ}i&=r3$43zQVtb>hv-I=cTgREg(F8Jui?Tj>wn+oEbB@RCP
zhX%+V&QLr^KbZ9OaA0!R0i;LlT)FW)=}$-i*ESXx)UkZ%tkd(85z*6=m+<N4IBTR<
zgKt$YJ&r@4GKO{o8Dm@LsGXha7CDn7Gbd3IFd_BK&F9FIP|a9?U?MvwCuk=xESr39
zCOXonJ~99XrUn^D40F)5)Q=xO0{@&JV9*2~|47)sB%g{3<Tm-JBcnJMhH#UUl@8aG
z!rbQ=m^<!o;1JECFZBnUR5dmEoi0hh*?fF?X{P9@#&pD1wiQvk^z68`hT%VD0~-Bd
zBmQoPW@%K9l{o1WGPacSPxQ%W?gLrWTe67@Z>oFX`v5(&ETe_Z4ByWArNR5unY5U$
zh)PTA0|r+9Y&wrJ5ja$`C@sq?D~kpRQExlmk?l_A(Mg!(6^SYEelC(--dP#Ul;C(u
zQqB*?%A@UD;{PpsM+YXbwiTXGv0uLzzWjCa<P6S&W2+A4A^#N^f3$%%Gr+~sU5kCs
z&>61{290wR5gYC|sVXn^KB(G`5=N9hwX19g^;6sm1|c3oPa$#XQtN4s>^~JoPN;SB
zO-i>r55V2~7L%|AiE81Vhzg)<Mt2Hi*sato1fQV1{~Q$mzA)oGQ8@nhOD6wn64khd
zKuP(ssijjV+QHbiQ+=IZjCcOgD;LAt`7=?q&nv6WqpOt)Y4mTZL?pfUq&*))54grV
z{Mjo=fA@}}yz`p;Q@m+6$#||@FqSn<bhRa?WcYO?oL^l0d@72HcJl21!Ag<)_H;p4
zT|}2p{FZ()u9OW2Ijo~|&CdnK{>=l3h1zX#eLFvDI(6v^JuTLog3RIU0_sdJ6?c2p
zZ1?S@(K1%QZt*w&@(;L_L^CuYsY<+mSC|^OsEZV*MJH=qzH%;ej({DIU1p@v$wJn&
zv2_mJ!M}c^k4(m@ajp6y7ZOZA<pMLAa*fIM(>lqifcu0*XcwnKn1<Hru-(l$Ez_Bd
zSkx+^DV^P%137~{kr4aN;$f$_o0AcBsH6)nI7L1?7)-ZmdA!e*kg%Z6DbAX<ua_$v
zvDxmn1=G*J#VwC7E(rmbf-&y;L)Ozd++C`$?Z|m|?<pD_$`nCCL9=Gl33qz>7Suxk
zDfL&jm7AWPe>f`J^onlNIMV()Ki1Trs0|Gu6(&Ncg_5hyU?qFZV<$~^AM$KW_Y(iR
zi^nqmsxoELk!mgiTH7nmsw<5HcIA>7XEub)io9cMx(G_GS4Tzooeu>U6_<Mfy^B$~
z2_klN<WiBTQQfpW9Wtgzpz!K1!tbByKN8tm{px;jRr>}i2xMV?<#yFNQbmO}Dz*T1
zV}^naiJIQVJyV^HyKr9L`M|U3nQ7b2(=S<;uD`628tgSLa64wGY)`O<bBuB4!^84h
z<y<R@Rk9jP*vP67zo=*p?_bVa0cYaqHWBIN&D~&4TH~q3k3jI#h}0g?Vw4MJe#jGa
zO-&_?`(hTTHFrpo(%gfOT?<CTf#_A&B<}5Wjo}nuT5$MW?yo?_;aY`z5j8w6<(`KZ
z8y=@}Z;ByM<5uiv)Q>z^wVDWQPwkxJq5rJU=B{7~FM==+mH>-gZkaY_;}=+r-?P(`
zROw76Bis41v#baGPU$1xl#5%WNv*?+_GTJZr_mL6dgE-jI2D@mFU-(z<J$7In$ZlW
zVG{O;ChM6bLI;S-&)L5WGGy(M!OOpKwEQ_b+2cUdna_j2P&-oApqrtd-Km}Tnb5Qe
zE}UgI&3Rj(0)89*?~%x37u^mM1{U=Bpk3(e>XZa2r5?Gw-l6xAS8_a-lA&KzzC$Df
z1m$nD=SI?Blr~l`2)a9bWhOKg)L@zL)%Jyq4@PQhUDv6dAC6$Msi0?!#<L#ouXlry
z91}-Q3quyC13+cw&&Q~9%(WH2xp65onBhD<g+DoUfc;~hU1cOki75Vx0ycCQG!BTv
z=eXR`C5%yXZ;^|rA`*&ocS7|N9u`J-954`s_xE?L_5X)qvzG<7N@-<fqcpx%Mp@q5
zO#c6bmM2u>4w6%87_2kax39i*JTi}a7Q9ogT)c8y(PO~@rNYue{Z2c=9nT(zQEYA<
z-#p9r-BZn+ypU3mu#}*iBVHte6lG^*l33x-;O2m%FL_~60Gf@08&lrJoC5-mMYyY>
zC0`)b8H|g2+rqSF+{Y!{GiuK^eAb?Wp&MU+I>FQl^JAsT<p3xASemv{!59)&YmQs0
z#x{I@TBS5L6AqQc?}~a7Mm-F2erU5EM0(s2r4c<n-E;bznjGQv5wrwQ7}->cm8eQj
zNod_`BtyYF^U6`mT*_tt3JRRQB?&o0+SloLaS)mz=bK1_#|N~Sp>-+f*l0aGw38S1
zvz#HKbs>K1^txKb>7j+~HM8HREt3eMj?qg6&A6_}0itazyW-phRFzF8!?SyYUv7!o
zsYD5dNVOiOsEqDNI13SvtKV`+_qr9|4&DFyqVrRbuuU6PSag((Tnl;FT%vn=c!Br`
zj~%DEhRr-PrL>f+u2&N##2WLZ%5ERo?kjGM;L_=2_}pUI#KyNtn|6@1zl}8C3rSNQ
zqzXz^G{igolCK1L{6&IBvbF{fv4aE&Niq(ybLg_|+=kLksO(ErUau@KM)#@p{ho1s
zKY8*fTUU{1i(plcE>g^O3~?*XddQ=-wK#+EiFgQ#FjlEhs!g2d#i{<IdnL&0Ekqg`
zG3URE`tT8t07*^rAsNrgC?!cTM5T8LhA}5cHeFc-D8V@vLjGr1HNt+QxX;_5s``;W
zzeZJNE@UbVL1gi$V?E$|<@&6nI2l=XXYFXd&TIMH58sA(-(@?~83$eP0DJ~?=mXQz
z;#ntoYiXDkQv?BJBSLbsgPPNMPvpxNspgfftv1*rDTC=o=Qx98?;Vz>iFGfpXRN^Y
zG&o3i67)GtmInJzP8V;PuJ`+_pWOL?G88ncVW81@>d+f#vv#etiC{99Eb-~ZJ+<}!
zGwVlE8bj%lci^8jban~JmRB$$JzHzZ-DiK~3ayIssTQE8lJ@91FVv4^v0*9-jNd@a
z4njm;{@CJ~#3y1rT(&$c$-BrAJ@cYEcCoC!n+G$28-=dxlf&zG&A4#`#_rk#gXJjF
zr}57ow%eUKv|>B&&Ub=ME;woJWMDj!_y;Ubo!@RfC>MWi@3!{m+Z<aMVlrMvR9OE(
zQfFmg54PX+E_E7D1h8>6o{g4U&o3{DnoS!~3Sg`l-o(}=t0bE&ClWbz8s<wgD)Y$Q
zrv|^SetQY?nN}gb_o{x}nPMt(oF^`?SO4~Usg~`M1KFdVD29R}m-5pz$t1D9*!4%1
z&D2Tlu~fEga`~;a37vdriQX>xybH75d^-Em^N;XIo`PlG-U{_48TU2h4H%QBBoFm_
z9Q+HbrW*@CU2h+Jdlw;iG>6ucyz6$C;)$NOafx_YV(Tqa6ocAApYND)G}m&ec{*$F
zhtdl3Y%OL)qh6AEA^hz)uO2oH+>_)hnJ}QF%?|f8!1A(1DXA>ZrE^zO_1%|4&rY`q
zY-!$jc|MCwi<{8Va{xt|GKOWWC1b6Uo~HDmXsQ@o*JQwQjMTn)u{5n>hVyCS)pj0y
zz(FIVK|u#RFyXO><~_Wuz6C^MzqYv_12ysd_$u+!zxY=%!mdSK>Qg~G*^Ic2p%9^+
z@NW@QxQQ~ZAL5d*4_k=h74b1eWLA#0AdQ|<2EgVOkosknm32w86}u^l>6?w{G03SY
zN$Hxy00Y)^j`X1_MBUaVjNV#WitBnPf2&rrpitqk4aw(;1nNv`#AvAZ35dFSe&zRQ
zOH&0<jVUH}Tcj8Y03ucZhmK*p=vGW-=6j5aRQ<)}>1t4IIUF1uKvL-~Z$!9x4oT`9
z4}!Cer7~s#0b4JP5J22hfG_!kXLb9hEX(dn<3zHsHePNDZqi*rfNwyyBR`c_@*`Dx
zC%4dFd@lfpGnSkGU0%`bZs<;&VRG63EvL8qPu1-yYm9$NnqDqh8HM=pDab4Ry&2;>
zk!^ihS6zejjUGD5U7tqO7wXyB7H|}Az=LxaP={Q4Y%*$~t;6*VK88tB4uKI{1Nq)9
zejQ&dv9%_sC$ZM!*JRVeGn1W(o(iaNfeI`)?(^M>Ih6??_Tms2a&@Y><1Vd4TF&WD
zT5M$;)%)Bq$%xOWd#_%CJg-*3sr2^F?t#v+j9dWTvg$|GL*w=Jvcvi7g~xK|r4>1)
zoflor5pg~J#7sMlDB)r6-99<&v=S;SQU{ee*=kMRr{?GH1=i(E+c<vFQqjWpdE-Ma
z^f?UqIRV^v*_ZrqVT%!Bj2BRmuQrm;b46YGhT6`;xQq|o4{M==^Jjy#TWJn*rS)G?
z@YHoyJ#Le%^efXLmGu`}S~^Q%BkjpvN5z#Do`bg}<E@vb0nSwe>~jPT7wgFx=<1$#
z2#6`|O|6QH($^^I^^z-JZ8?jBb$$l%&*ar9qFQINZ+V-{*S~*n&qoQNBVB`|g!gWx
z>ver8spW|1h<f`*;;w$o&R&avqzessWQ*i34J-Urug?79t3Nh!Yagb=xb5Xwnq}TS
zw3UpNG$VNV+B(8pS6SF!*b<-4^WzdJ%{Shbx(|FlMQRdI9a4J-R~}~GJqJZrmS7Q&
z!qZnHRW^U;_f5`tuTb_6OZy)vzT`}<^@tnk@&|UmyBF4#c}a}|#p!h}*dor7U3902
zX5yow80CmURM06pOKCA8u-z#liaBntGaLwbY2$Hs)N&>$5!{@``zUi5CQ}tTyBM+d
zRF5aBrw^RC5!}+!Tj_R=*eYj#+UhrAh2RQUm2U`ZZv-5iN6NJMyS~RvHMQ?QK9=ng
zjaq+pFS^YVHnr8%Mpcd-!l0tUg3=l480oD)XrYIE6aG7{V`5F1tI+uPkKb=f>n7HO
zmbR`^cV|}L*NA^IG9rOhM{M=h;7XN-_4DOxKxPU&QYrnqG6e~z0-DA+Lp<M`Q&Kd~
z-w^x=TMvBS9HozXTQW=SfW+=z|0`c!pun0BF~*4Hwh0FM21Z;4X$!Vww!eVq?p6J%
zcdJR!UxhK7)Tza;-Pd(&-1n&kMLAlfURqn65^cqGMYLFmQ3l~3Ink2D=`5!MS-IC5
zab-$Qy7ju2tfgkxU7o-H{1}#hZ9U6`LoS`}{`b?UOkuirca3xsRc0fnoep>89hRq$
zu)Lg3dtDp6%R?6hH<uZKt(RCKr`O@`Ej4W5m}-?bFBHiocOrmDLhAzu#n>@ob3kt^
zJ_Y9~gO^;jf<hfil5wc;M&DUem(aoY7Vqiea2(iYTy81r@O3ir`7#Qc<9Ic<=UuAN
zE2^6)UPRetIvIr4EW9fbxzw}4`Lq>1*@zUf?BNdY9;++rnsj-L<+RF@?tG8lk3c8v
zNkaz7NLZ4BwcO*Fbw2{Z73pFK9>b6E3Q5NDOTFs3larHH14iB9dakIky#<%^)OvEN
zVuQY_Bv28A=Q_{-T3mQH;)aKZhah<<Gdoz`6+2_G*^KYmJ9~jmK}SdSw^>(ELdfte
z1zW3**@HKww-5H~)FF>*p)wk^X8$QF748NY$mDR_cS(m9tJOyO`0&>W3iV2V;D1BV
zgG%7Vbm`|lq~&$-jTZeUe3cH*!p0P+yc<58RSglZjk^`?IN?7Wu0&3ug}dn)-tr+x
z%TSwE#?7JbO*txqKiIFBK&5`a*Ibc0VR{|AJ-37DQq^WY%<lZq;P9;d>XL-W8duBH
zy}X+KXO~~YZ36BkEv-1U@)<{;!+MjAiu-EjS(n7t5RVvLN%mJJ><|y3L>>A3kd(4I
zesQz2;k@}7S3Ar6E%j2>yf=pr?9a50VD}?8X)~Fj<_>rPQiJ~TUZ-3QKAo)bIFnZ8
ziM)uC=&ZG)lAiHPLs<LGvBAoP@7jq>5Hh>aScz3mr&chTi+Z4xn&ae3Qe?Ov-;%H<
zTsNEyIKGNClSx&qQ}|t-rDR`tC+}v&$~EfDWP2xC$ILJ*m?_WbAd4&j%MxtT&0&|=
z#?b`_4`-Hk_|~I==X#;$Lj!aL9VjbD@;27>IqPDZvS67h8i$s`;yp0sPZn&9h~N=Z
zGWvjyVUya!f@{c_pZ$`V<&|co8usArm!20m)yU6+@mx_?R#G90M_FTHdO~jq+O1<W
zb8`yPYHEVFX;+fGnoHZmRnY|sHh;KvrhRTn4M%8gT$OSDOS2wnz_Hn8l51H@Rl{+@
zV731s0wX!;*3|8mE5`vTTj^oBK+{jyTNqW{THQl?{yCQ+rHHq&yMOL)VE|L+ySY!D
z)pQI^o<nM+92U>_?9qk?tYIk8-|_hRv8hR?kLp%UR_)dB>fE{jqr3u+5#57yxgGjS
zJ)Kxf(*3|mTt1`x0Jdsw!9;6h1-A$Mp@PQbBkzZ>09$B915pmp58`8j20u?ZPB?~Z
z&h077npME)V}uKIudp>9EQfvjGw>9J%I0j>^MTl3+<#&6j#sIUdEU&JO9VSPpI54E
zjy~FW<pcewX{q<rEqjIQTcr+-9100C=94(mr9)J^ciIF~%%0y@cSCz(-3O0Z^8*sc
zZ-;LYKM}9MAzCDguB1MKBf~pCWCLh1ux4j4=&3R?jBFi!1_kwWnI+lp52;sIE-V_-
zsj^@BlBVl%0O3wn!@T|vgC#3AW}I3uuKgv(t=o=WvX>dDchZav)mJSoo}s(74&_2N
zf>dnKmD}DXKTLLe;BYhG*C5C^`cz6hd9CNTTiq6Jn6Fl9#xrw^=ycOV177ZUpFi``
zmo`@SH(Lq)tz+4#H(~Ma8~hAD0U=L@DN^p~Jjd&8pJ|1XxbRu-eJAY7%{<b+SG(!5
zbvain$HtLZ@a$@?vGb?*NyvMeKJT=K%^Q09A4g8cV_{=RPOcACY;5Jkv7JiRkC%R{
zIQ}4UUow)t5>y-r=6!Ry-J9G>lbCZ=t6NWrSiw1YJ)5mEtYolZO-$naYNPV!M@*TD
zd{2Ia5d(C~4TFsp(mhQr9ey>-XI;I}(}$2|c}07l7F`q#$2;ojdqyQkk~`bs1VJ}P
zWARY3D?2FF$8nsa$a^KPT`tW?^{xgA>7G{*y6+4~zrBxf?c|R(TsCz$YHF_o99eEK
zD1%rPR9wH+<q3={apLD=L4g%2s*nh8i)O--Y?hu*(4M_tDR;zf_`$f+R#^S5nq;Tu
zUHXw7<=P4#PLeU9h!Zymye}Jd_N*-#UxxfCTNde+rtQ*H`79I@Y4P7&08f;FXa)Dj
zfDT1|#nHKKZWK6amp}z~V+9@i0;N($=OclmLt#;yPeL7;A>I=c#wc<VEW#lh$%Kv~
zq$$*@Z~xZF33yLD<C7LLL`4gV3hbqvw4M(fFe2k-zAD=m?daT{K2~^jdpTjZyrq75
z$l@fPn6wjTAvH6Y+Qz~CuwIVCmE7kEP2}l(vWYIyMIn<;ZZ#^GQ=7S&dm|v=Q+skF
z#(mLG&HJzpZx@2IF@2&rS+ul`v2ZGZQr!4+&dVDK|Nh8+M-HCA6E=XPG~T08L8Qo}
z5{oiFZ^X1RsVNm%LQe~!H1Uoy;o3iA%hh;JzkhN1IPw`1gf0~E0sYHOj&h+>=d$ya
z^R7O3+1>v92XS<zbhxiPm0t6SR~SK;4THPBk1v)xfABGGoEKl>V(w{beiZi;S?tbA
zm#EFXO>x=Sjl!W?5=rV1%~0{F(1nF}2>sMc^*eF2fE2&nqcfxCcE)j6#Hh%uMr-Zn
z$Ice@Qsi0X&{d7;dgS3|A<zNHKFDHS&SI^|^(5_F5D{Jsy<6%Xkp_oH&TuY|3*AA_
zm_GzwH`$h(bDPHPmDa@S+Lp}@t@6X&2XFjJnCdZ<F72@cZB|^3R`0RoO=}|FgUIzj
zk!4ZMcn&;%H*QFR3_j(lvObf_3a;I|YuKePsTSO7CSUsn6gP{Vx#Ky=59PAw!W7lL
zeNc?-%$9Hh?RdGhj9wEoyEs6vcVB!hqS{=}>X|-3(~RUKj94_Yqm5g>Y7UEVLn2s6
zd8z&=5$-+Z&Jb;AYj8WW9wTq~IoE8Ot+Pz>Et2=={gPrFl>676+@DPk^+Jq!cU*R5
zB|f6Y01ihRdQdbM&Cyss7m*(evEL{Yw1n)|*u%4NXNn7q%C5=fC(@<Mk2wLGX}e1o
z=P}!h*cHg8b*<vSl|DV+ovifeA1#=E59-LRl)bB3gSSC}arCB)XhE;ol0u+c%|b`o
z;DC|gb&GMwcZsYyG$u<@%2liZ{IuGe#k<;mk5$ZvJ8v01MwWRWqv5?C$vHurlCuMC
z#?-?1qt0Qf$a@~8AIFko^;4h@Tio)47NuXACs%iLx6j{2sUqhy>GN<OiDfr$$#~b!
zlsVNy+@mjz#6z3u2@a7U+QkJ_sk542{<#0p=MAqSFC6GH$rIc%`zx`w<#K*hJP}Lz
z^xE>SZ_Hq`f<8-jS<?@)sk;z*0URWf=8#a0KWhQ3qkhe}K?9OsE*R#=UuTP;RX+tJ
z@QZmjjNk>3Jdnq4n^aeLQnNB$D~XKMyRBxz+qe}Dnzfs;q|4Q^aOq_eg{C-Fdux4A
z%fER)b423-W&v~=H{C(7A+hzK#H#+)xfL=X={X=5N%_J|OEzM!B%X?XYBSa0;!EK>
z6D7~fM|Qj<5pLZ^opw!)Z}}P~<pHsItA*<pN#d(lii+`7&Z0CIB&w2`+0_&!QUURk
z9)8s-j+GzuEop!dGM!8t$vwtqR;;9xUC8*#PAW0`bY<HVpF_I~a(&m?Y$AG3AJr#r
z?uwa=o*o5PMP)_3WBT_P%c1HERYMb4>A&aaBepLNfv*y)+w+g#N~@GfD^OJ;t2aFn
z{s!-i{X0jL;q{~*x3ZJC?1T#CwZb5g;J#IdRPHW!eN@ILYEP$fe_N$jHaSXEvO{L+
zV&Zu+d{f1h6-xUi#fVd;dHrxVpgw==Rlo!e2ngQzwPDrO_W^uG7{S?-p}jZqn>q=*
zCh(?h@G=`|q~k<c3ws>klsEA>8NPB7z0J`a|KZxndL6I4^O~k+tROuk<&ttpBY;1(
zo$6}Ws4sE$mXTH*7t~^#vmSvV9>F5Z+oUK|!}MPYCf~ac)`(Y<iB}pY?5?T$_kJ54
zzOtVH;n{FS1}G)2Ki;u^IeDBaYJbZ-kC!=mWtTg=w=ld%w?y`$wvO`GQP$o$JKpOT
zcz*WY&i;NcQLsiIG>YaI=6@YI9i9n;b>hE41hFrPE}EN0^jAnttkZ>_`;53#vbulv
zWJ)ta+>!<Cu{f&5cI&?Fl3m*BCqu`dSKB^`$xcL;<VDPtO0Xx8nhskD2?cQOpuPed
zqgT%S?j*FSdLp9I$-uM14?}Z-Kf!aspg;3?xt@ID@CPw>h)ztsfk=>YKoEq0n_3YI
zB+%_7BH>j04&T6ePEUR6=Tz7>aCX<+gh_QudtLSREZCCKbo7HId3z>t!xa1$4N4+?
z#PW|gbSclYo5$P4;`-ZjGTna8ncB1g-kas6(Kp~NX~j;dIS78d2j7DKemOmrT>tt0
z4S^t+sGZRNMcP|HRo!*#;#eqBDoTe)Ntbj93P>Z}2uOG529)jwaTC(gCEXI6?%srS
z=cd`fUA*u6o%7v$&iRjf$Dc8DIFP+rd;Qj$@yut=ClKowD1cct?pT@r^&`L343%GS
z&GL>N>|J3C?vA=JH}NLa+<f;MsuTxIu#w$l+0BzTJlwud5-<|&!ONADv_!;=aDgd_
zlays9_pN?D3YFgO7i{iQeDFGs>Hb61!8&80e~Vbk0bYs5{f4{%7d<Ua_-H3?@@FrB
zQ(f{=uf>rYS8cnP6h(-=Ze+d^<?#+?vzO3y!Ml{N4ove!Y7+XVXCajWbaeFUzg%b)
zt!fUs&oJ_;Vp2ZJ?9J^~Z!A|?lQSvXoje|Tig)Kl+|22p41V4vTfpx<zzWo#>_nTi
z;4~!$YwKiGulz1BCA74(6Qq()W$4apK5l787t^r!l3wL15GpHWWAl;#OrbQ}=`fn8
zu|+t681Dd)mNDGCSU=;ydmFXM330>#*-_I-`ri0h$&S#0?4O+sVc_9OdurgN-{U_%
zT|3vCMHReR7IN6ay`3L)iH!^m30Y?Ld$Op{<uob}*s1b#M1ti40!J3J@!?bY!VtIT
zi{qn!L?QjDt>iNbU{|QudSLpAQh{1OZ=v<TTq;kjedv$3UZyj$pG(zBrnakV^Pr3d
zY>Bz~#jUNMxYyjao%qZg5nHA3ozd~Jh3t`vy1C<HYH1@J)P}~strCsG(Xol8-PQ4p
zQjIbJ!m#`dMkrAYJen6Oy(Y&5vZwWLOM{*lXSO`B>oP@EYuIexN;D6%?~_6r0U>hU
zx8R|Rh2i&~<-?x5AQ0Zu5%^};BQwk*^2iow&>(CnRZ#dbFiAc_EA)=^WWt_il*WSr
zpW=yuB~RWEs>&wyI%}v(nDRiYvRO@kzdqWv8m><M6TwbO!_WIvuIW+zy;lT~W5>*$
zUK_d?_eIL5+U|c=$b{w9h*{Af>h+%!6%&O7PE^zN-4{0SzQ}#TL&YY8RgRK`@#dB5
zxFkk)x*)%%OROjMMq4*pDmFB!Uz7L*M6}Yd1UC<=-F;_pZZ{OILc?Z+T#>jdVz7_B
z+wD!BF;#D<S!ZB*X3BmbfVzMFwOB(d;a4(&L)c!3^IOVUcg*FKOR^Sb?(dVno}YK8
zXY+VfRaERI$Vh)Pa}%aEzowR}$?wV(7T*a8-_L=CKY3AyBiE$lao3r}#RV6xkndU1
zwB38w^YpHW^B=PM<U8-mChOa4dcDcjXCMQ@C}QD#)YN)3tZ00$H$GqIm+PO1+}_7|
zrGd6xkJBqNLEU{2CyElj2e()caPeNfp&UFguUE+zO_P@g{a{M{GC5hbtJ`dKv;Ejx
zTqDKS*aQ{BL2PX0>q9`WV5`w!YC`wVV*01yV@1#oY8MOIPySrF+Dpt|<G?wKv%C~^
zNxxs?i;A{~v+<3vORVF<rj>itN-fBFlf(ITYf}j`hCZ$qd%1_73Z8xA(sd6y+7Ytt
zStk0%yCYn=H#wEZ>vhupYWJHPSt+ZwdgbRknqC^9EYQ&R<I9z1MM_ReV*77VDHlXV
zf*RsVA^jCa^}#A%S5J?%eE}Jl)#9q=p8oW#v)$TG)vszMu#DK)*vL`?90Re4KLL(J
zpxu?@>f(5HO1)fDd98{6`i=R7^`BX<rmnmfy6m6j?J`_QN|~`pyBEg!t_PQ!@Qj<L
z^B|?{4c~pOc*lz*Kew0Nci^RRo^gyM%-F$$dxrXj1iK<Cm<rAXqkewC<eICGsOOK#
z=*?#qXImQb=W)_;VM;o;b~e0*YuC6XO<3FMJR+Z#wL*WEey{$d8(m3B#qQ>v*J7eq
zeP_dn=Rl~Cz)Wtdjo%Xyhx$HRQ!w$B&G3*T+)y$L{lIo;`@?`pp$Y(Ez=TKPuu`n7
z!)@P6_mk_;DT{2cdD7v?WCniz*lP*Moe!jg5xzS2Tp_!B^=$6AC`CnP)S+ZsuWve%
zrrIcvs3_P&@?l|48UufX@1cO*oWdX#44<tlCwOCn0;F8(Z(3mW0?t@fv(qeu$Nz@6
zQDT2E`>4I+#5d6Yy>E{?bSWlc&XHknq|P|MvZkaY5L*!Go1o(nU+3vXgmM*gF<dC_
zHHVzwU#&m#$Txu0n4ozfN2GNiD-W)1PLm7gut9EWWy^{|#`%qE-a|@X|LzhjOt0VE
zx}v(@&rj3?yuiBQfX#WvsobCm&}wPIxk)OR9e5dM^$oszFfuUw!i1&yxA<V>M5Hod
zkfyZn&T?Q7n*1mk?0ravyFVQAbmrLoW&}<uRYgire_pKE>q`6BJ4)5n&M3HXp_M-{
zbP&0^2DTgcNTd-G>7jlxX1on|_CCG26q<9{nrBcu<A8c<1w}+uy@`AxqIFk6VWexa
zB0&O2Y+-8)IVIrM_C#TXt*duBWY!7>gQ3TC`3mo0c~9w+8@i(!h+{>aS2D3+V`HOI
zpE}n*_-(<7n2!)N+_?ygO-R7`Ge1~U__M&mNkF^y{au^QqrhP8y3<b;8tNrBtUam)
z4zcu1v@7eSON>RjyFoF_Yj`$S6*%yU<ht@x{Zci2L5o0xM3sDU*SF8WZPO$%@0%t&
z-wqK)uFZN?n6*jTOW<y8z}K~&KW0#o3fc15m&f9Sh6#7|MJ#UoggnJ1{Ec3ovKzZp
zB8Attu>^B)gPWJAZDWwFo`+aEle>DSByVse^t%3oss{P`TGgLVTUe#CB}N(09PD}t
zE?RqCg}ey`8?!vjUOpAo2n|{iAEu(KKX?!$*)=FEfk865kM7zZwM5*{Bdhk|2}*!{
zxT2;eY&G@`@Pc>b6&2B&e-}5|6QWV@rl@43t>WS23hwWxs#h2>MhG6h1oI=or{3>7
z-0QCiXP02jAA6jXY;P=oh=RPjB3==Ts1M%XkB_k9wy)byg!fK&Tb1AYfmA+}&2_M)
z<kY~SXR5qKh>?h_i4UZa?=7U^WCTSj`9oW?(@Ja8)BcFI@P?^l=h4Q_0cI1Y-Ne8^
z7OUEYY0j#aM44Y2J2_R_wr=qAvC7tsciYk2z;)rhtWo%=E^2E_Fr@t(h>j*}NPxVT
z$zN@){!b}9dGT~(7QIl#CwGoAl?^zuD0*621A9qA3V$jb91_>LL*PFFB~jw@``3bk
zn21+^#K~g%6;X1Loaj#I8AUcIPFRC8Wx)w7E<T@8CNQ^B35X*__VcY?0+i9QF+{JB
zj>VW8&a>Jy`PYHr;fuSuRjE}T{ZT+;r#wPpBGj3%;rUZi|A3a}X-6WBH&YEzDAp45
zDujnZP!P*cq$T{9!!sNl;;z`EBkgcaUa&&|_M_5;bdV_SEo}yIm6^3qID~|ljtEvS
z)SBP^0UO0`Seb2+Bd&jnHHFtlOJDqHWs~f?N1=79&W>c!n>i<v#}BqY<WsW_?HpCY
zCFF`t-=qdZixym1$0wOC5PwI)jv{u3U1eiRD$49e%TL@KBDO|v^SCYjKu4x~{-N2r
zsX8FE37N9c>%-o%{a9@SkL|J>qX#=)(>r@PSXcM-8S#gYwz&p1viXikLS1cx%*<a&
zNTf(v8TOB{YBsA;d2w}YpSgqBH1?Al4}9n>XaoKE#_l0JF{NufcIW>6GuE31Y#t~6
zgv(u?OW(x7$WNRWlWoaW^CBN?p2S&J?~ns+8lvLVHpPM7-&R%jWBcT<<0OGM&>IcZ
zlSS;HNY|g>hOedk*{QLwKE+lX(6Pu@Lb`T1q<9^?0LQU<sS*kTmz>PZ(J1b-tjTXh
z1?qJv_k_sqHk*|WHn{TxRpc3`Et%enHDaLL6cii`=Dw_g?7Gc>J-doFer`6oUDxw>
zU)5~;G1qLre+B)c$B(y5u12GI1N{7LE@QiT-M}wGdJyp2yv@*rXw)%(m-*HXE4`?r
z!du42M0Z@N)V%t3Jb>ftXBrr6w-Q!$_?m$YF&X+Kr))_3*H5L#*9g5k>}2R!dDCCp
zEu1M0nX>=$>4@f!$*U`e$>#4I;mGPs6oing*jsQCc_kh^+VYy|{OYG`zufte)a?)H
z9F(g{`<(?an_Bn)nNm`o*l$l?k?pxW+UyV1!<1u`7?^2I*-kw;KF-$Nd+&A}Dqa{}
zm+wUn8c?Oby&(u`{|c3bT_Wbwor}wH(7X<Z>SivRGuj;G>?G}~HyjFs5&s)Nka&k>
z{rGdX<tuLP&fJ33RA!jH+@HO*2@?UYWS)Cq@X7W0;a2a}gvSrPl<1pF1exn~O%qQX
z<S6Q)`c<pj1r|P5b1#h4G1hfyY-;B6PllHB$WHh-G6+jV(UA7^b96##o~v!IJ@(IM
zV>6Jw)&iuHZ9qQ}*!QM`X$vhat=s5i`@|n^2Eug=)OXO6_V&dv)jFF!pMdJ!YzVLt
zed1(o!yMD+wHz<s_KnE-9sCxO+uyy!w7=#*@JcI`Ez<h=&rWm5u<iu$oVd!#SsoMh
z;i8KfFs6|D%g)OKGvc|WhCSduys>vaqH9$)1GXG-x~8){*chq;vq4}8S`!$Erf31M
z?L7^|KSZi^@adAoHtB%5y$&UFvG@M|pb=jHjoivdbubpK_3bBbA+w5F8CLU9F*|#?
z^ocqkf;74O0S$ly4<7hA1eslrvqAehh74e=iM>D<3@FA<eddYj>Rm{p05niep6JY<
zKfi%-ndx=!)6J;6CWh7UB&9aBR8(ZaFiKu7k_EjqnRxTA#_GxEFA{0#tDen@`bdr;
zcTiVWRAiI$U=ymMpMGpvyXn+(>=~c{5ohYZKthdA7eYdomz^&vBpro06>g6jm5S7R
zF<*Am#rrjfFF-EIn;6jI9k4Jnfs#hv;_H9EiZ8wnN^~%*KcL<rlf!4M|A3IXFKqXj
z<D3f!ZJsSc$>Mhb6Z%c5xw}4xVHelDg8C4WkwR6Q<JZ`hl|(X-wY}w=o`R*GUFIL0
z3VG=d^hgCIB*3Zcbw11s>q{^gv!y5pV!ion!}bo9M(W*d;+jm!#Oc4!k_gLYha9Zv
zgH7bTbhELMhvIOF^rMqAsYYu(U3^7eg}nXYwbP-8H}PWYpF^6Esc*g};fVyQ*hNwQ
zM`rA6!Y5JmS33N6PV7Ue`mYokgoMJYTDRq{wiktSpY@$j?#QOlz0GwX=VtMq6Tp$r
zO(Hw^ZokYub&0K4q4o$9Gu^tlP0WzZX(tN|CN)(bAU#;0oy|-GH!`s2+uv_&E2>#$
z!2#S&t(dsHHCs%XK=Rk$`qbfM8?SFu(=AR5DpqpbhPm6i9}qt`8ulHM-I`9UdFaeV
zLW<g8kl3ytC58*u#AFXX=3i^G-2Rz%=Hi~F#5u#bvyo=JRq4=+i*Baenl=1CCYs}h
zoQV>of`LUtPlrqXdYAYA`lx;L1F$HyJH#2X7Aiz292{by9U3BE?-3im`YkeOqQzs&
zHecFnRIbMc9Wvt>{`uF7#l-&JL*(x{NB~f^d!J$Z;BEd`y8P>(d3m;UYuO_T+V)QB
zmX@tr^uS8!b3)Ouu--0h(qYnp-PXE8S@Y_4*KMak00M}0iEQVDFt)5=zq4u+r%dBC
zm3)@<Sz5;YA027|3a(BfnjvG72|sPZNrk%ldj(!=$7*pfB)0jgnW}*&zQ{%c%9FQm
z_wxU)eA?~ehF@*9h>s#|#15_8{xs`f2xI^_G*WL52@~_bwwYOg9ZIrMm&ol&sh$3t
zNS7ry7K0?V4MbCKTMZJi*NABtD1UYx*W`_b;&VoBLmu+DAv6Da=z%?2F*wsIN-DP8
zYurwC4I}iom7X|UDR8pdvobS7K~52hA1^KKu<Y9NU#m+Xv9tNkp!$fsi1HSIRaGdU
z7B2#gfZx0G%sN7eMIv@>lQr%DJ5}^c?RLdXiFK!G&dwB++>z;v3NX85l@Ogh)VGdd
zQPIP8hY0kpZb5IArEXB8NFKN6KYfnsL+Ue^3~<F!l0>ya&fg+FnNfaER4F(3J`~W?
zs>F1?C{%f8sLa7zSUDoc{cpeLzdD&NluYAYJ-L$s(EK=3?EI?1ts_H)M^|iTx;!<B
z0!HGs<)G0KM(Uqh9Py^?$zm`iusn`b?F!QF`r(kd5yfQO?~J(MyzvWQ{8OZOTuPd9
znmIC$$Z2Ajj|WF2s5&xr0a#~HaZ#dsF{eWcDnL_rL;|JyH4%cSpE{0A|3azrA7tMk
zMzY0=ek$jomqp#yJAz7Y&syWmj6-$JM&|7a0a)PH;}9zL0<^!*%k5vk{tp8HGLZkU
z4m&UZIas$p_<sUyKQqz5cOThO<#Q!YCPTbqavsamX+Ofk_~AToUx_YDu?B2F*PPd*
z{B{u&lP3^&Do#3kF;F0ag{QWuX~KTof!uC8uoOxEKP*KaSK^uN5+@dMZ_C645gD_b
z=_jz*#mE1wTx+N!oG>_|3Qy9ob#^#~)UDD=3T9FILxn?&&QeAu2P{<#LkjgJcV}u=
z&xE|1l8AQ`GYUvf4C%-9*`PI7@#Z8wV3Ch(&trK0GL*KWh<{;1ZYck=!LZo7eh11M
zHdh=5RHe6fT}$ut-}q!3^Y*NB;9%ri03M<I(qIIsXI>s*j-3@Rc*MpDJF{Ma`z22v
zKMv{Qu_MOzN$Cuf*V0<9Vz~WScK_V;z!8wOL?!5U#&%6`$J53!wZTNoDFo0fH2j43
zWKGo{aCGp-c9-K!<Kn(BD4)vBWnJ9N%l`2L-`ZNvs$qjLCyMp<DOV!_Ds%g^?|zVw
zp)r`yp_ai1&E!=h<{9D`<Q$AKy#)<`V*}b6SrVo3k9JYM^%@nZ5UEBG$cj`Ip#V_h
z;5>b0TgWD`ZP#|V8N6kiq4eJesCqHW*r=QW!i58i$dpoYSwaW1-_v}e@p)gPnYb_@
z7Lt~H{qEoSp^_{A`Z=Irz}!K>=iu;-yu6Y~`kT_*9arBPWzBmLrwmfI@L8+9Bh0A3
z!gMOI55tNI3LU_7f@eof&3jnCvb7~+F;y7@_6jT(1-zvT{?YS<Se^uq#G&e1NebX4
z0ZRcCb9&Tss8!<`H2Z>;x4Pz>OGdbq{)#c<!9kRgTit~K2L`%CGJjT&9u(J3ufJB*
zHdt2MrB!hLeAx9h3ni3@W7Je2Xx3oL>kkW<{0q=mka4mSng@mKyb5FRt=|5}jVHTl
zMylkemE{p8tH3vi=>Do{-x|QIoS)UPd7FfdYQJVoT~l>t30N5jypMVXw!5wgbakyS
zj%71d2V6$!)_Q(6Haxrai3=0+Ak6}|3!l&K(Y2@Ga3{Dm;YTEt@oje5-%i?yFY9x1
zoFr|^+rJK}h2#XJ{r#!>Ly!0CX_Bu~gsu$F#a@69*yeYQQJl-FUr^ZE`i{BkJ{kbg
zt@|$Vy$MEgByPix0^GLm*8_5V&db3XS+y^TXm6MO3@qE%#@V@bc2)*p`L^mYjXr>3
z(XX{^Ap9S;B7Nr{pLT029t~mr?L}_?P3~**@V^Z??xTRPK;>#5$MxJ#rqPNM>bfk)
z&g1err)whQ)OvYsg_%>sDmVYtRYPvLR}EA!zQZbDb^1J%CdDnD#B^g=9<1d~?*FqH
z;*Fb%O7UyAF#Y8zCx=}NgZ;{rr7llA3Kal2SK64_`WQvZU}Q7;Fz!RF)j>uusd9n=
z7oBU~iED$P&Sn2v=*{`{VFn*h<$_R~_G##dou7iA@q23&yDCrr4*Kems&*sRkG39o
zqzeM_d5#HVtZ*&9d*B+$CU+YzR#cTN=MMnHq$FwicKMy1f4Oe0q1!Wgo2wk0yw4wt
z22m2n7AH>}IHHj+@;%#Ra;UhuBSDCyUg4CXm>3;x_c%l<`8vyRdtpCnsW301%VIU3
zik`=VGT~<@%P$Q~sU~e1VZ8(EY1!h&15R36xH`Zo-HxR#%0j!xFtf~;VDj{1ytUU>
z)Y@KLIFeCissG{vgo*!okZV1)U}=%+PLiFs*t7f1vMBiukhUbdaVE_W({3l*O_dcD
z&HC#DkPAYy{_z7ud}gl&=X74jVK(u&x~)&uGLnD;sWE1g`-_7k8N`qHw+9`}H;iY}
zeW&*k?ap;0iZs4++=$!h_EjPd4FaFD+ADuECMq!u5V!i_Mb2$iY7Cj#JBzhJ283}{
z8kTC7Dq3Tk)Vh4-+MG~Kyo78o)p8BXwStkT448{+KeQKeMfGfP={w_E-f8>TY|iXu
zn-Qx)`DofOVZVC6f~udwQn<)aO%vX9AugyXFwr^IZCX@mlo-H7a|Oj&_*A53dBovK
z#mUNaFZQl3Wuj5TmTT~IR{JK5dV-ihApS4omVSQ8<E$WnapB)zHik;~6I`h`<IkQE
z|9Oq`6!)vxQg=|ydH8ZSbD}ggFw{d$y3F+r{2I!s4VTzM<>FkUbT5F50kI0m=|Bg$
zJ)QIGHGDXza4Ts|4=$+W6L9FW0Gt(!3P<d8ACHdW9~`j&0fB**R&l^)(BiWV&FH6&
z334P-;EuJ&sGALsh)|7jyx2zg-A6sMKOKb+s5=)rKhh|U<lGCXEsM#l=OtBiL_;Ag
zez|Dv68^(;g0EX`GjH;81?Ty$PSBWEgvi2IW2I;J$TW9fm#?f0jjH0JL|$}IawjWo
z@>-!TwB}S)3r^_@$_kI4elsVWo}<qbI^gR2&0c1mzgh3RpiA4S5tLht@Avxw<ip)r
z>%=hCggdf939a<HOOx3VC8H|o2sD~q|0bN#wQ0_Z@~SGlh?|v<Mh*Lq%XM9FlV#~?
z>i#Mb+?tcc-;;HFPtwT0n7k>%BvCKK^%D_RRt{6-;YyC*{QjMKqSSoA6CB5@3(875
zClKX<un=fV0~@S<v4ahOoeZVgPZes(&sc;C=B2fy@%*uNBV_Z_^72rHgsf3Ow6(dp
z`OWPz?DKZ_s(e4IRnxhKg45>`L%6I}{fQY0r-kH-+OEWH;1D1@@WqEGESei--s4h$
zORlkTDvH_otPQK3#>oT<pBsDfHiB<09TC=M#bIkQwzYkZWcAPwSTx(e_h&zEg0@E@
zYra+Y2Lh{ANl_Bw+Bo92NFyZIUW$Rmlq$1bA(wHm|FBu$hk5>{Vj|R!ocl}lR!WC{
z!Jqx_ToRY3&;4&8=tZbExDz#tF4Px4xb=(9nVs^3eCTz^5v`X5*QbTyaQ72tNVuYD
zh(z@Y75{Iy=&CDvC&<yuX_&}<u%wwH-#ptnDyi3@`uI(ClsR>HLX0LzYomJq_xyu^
z!z0olQDH;GL+cISaQSUGmjRQFOi7fvh4&SvOh{Dn!+HxKN0QsC)rC1(baZ(rAk8ng
z6sK0n_jBKC^h>*UsaFLjS*gs<9-*R3n%5Ti+PVJ(=znhzl6=VtKrqq@&ZYSJ0g-w*
zfMclXUWFbWN{Zh#x*6cXAeu?_wbDkzM9cJQN|71g>Ws<&(BBRcT``XErmb|{N1xS~
zdKhwOQLw5(XJ1ZixY>>PSmUbyNcQa-(HG<QWOv<UY&0UQw^{gG-BV@XV{|a<J@-V*
z7(5sIRV&MzD$h@Gxd>&6_QduK{w*reKkclcyvDwD5KihXw=G{g&j!5+zMCg&1Q;$%
zRL%&PL*2Ey$i=*`;OqFwt!sZl7XNw@-KrXaE2IY+2F4$o{*OF0eoxY4y8gD^{~u`=
zuT?7RUy)PTxc$*28aR53b?v`uv5d-V7VgUAX8tJo#`F=8SrowBlI-k`4-?Ccj2by2
zX@8`3#O_RPV<Pf_vH+mIqG25gtzG7uoBhnshYd{RjGTVyGh1zom!q9)dMahfQ*_~9
zo4D043#hJ}1etwJKB*~E)IV>+-ec4ey))5=E*g3r;K^F)E}yxd300;cu*|Q2t8aZ#
zO}JJf?J-eK_L5n{Lwl<&+8PM$j&U!6gJHFd*(~N+8A-Xd&kec`oGNmGw(tW#KfABD
zpij)-k!+F6M&cBRclz26C^nwGm^=F_k@b1~2c<ujS+xMgTBj}6-#OyPsaElD(Bv?(
zS)+miv*dC-K7Rc?n7Sv4pyhB&Tr|}@xu__N`MhA<A0E0rIdJaTP{(J*OCl<od^4IX
zkb0Gv-e4X?eEia?@#(1QbNP}jzO@TqN|x=!zU3XY-rODC(&M;NU(965Q%zl~<F-n@
zcb*Y)$f=+}O*Vq!5J?}ATr=flA|7qIx}Bp!ol1Y-1l3U#SmAq=#@Ql~Eu85hPDTbg
zpxfOkackoX`nqljY{4NtfxFM<wiCR>|1<79RQjLd&OvG#?>?UIQmH9umU$u9M<2dz
zngQu+PhvjL=$5Xlq;3#Cn`mkCI3X!#^)m+Q`oFDrQdjlB;W*xku6}DIal;knZ`9pS
zoIbeIYdcO#cTns03~0^mcdq6eqkQ6+Kp+nBh;*CHX3)r-xE5M>shO{c$^<>XHK!~c
zYzcPIVtE(NO<HL4XIv~0j1{*#R>3WmR*e>*EM;Skf_SHYtbWM<Kt#N<7~COou}Dx*
zQ+r=bI=k{74-d!)eJJRmQh}~%sRN*fUZs%6eZECjXaNM5wfOoVQLN@S+?@-Un+=Qn
z^ENnGisU9Qf553b-#nDKM?iElTv|}Q<hi$P2BF+*4Nwn+Gz9(m;mtYL4)3{FsM1<G
z6GKUJeD{wK8Ki5~l8+=q1Ngl4iK>S{7TX9EB-*Kf-V>NX7_X?IF}J9O+Q5f4TU!R=
z1yJKwP&CL)FU#vH<C=A03`t<HpQ#)r-Mynt%Tw*Q`Sl&<jqHwdefBX%_E9tSX15$L
zEhU_`<}!2rRIwy;;aQc>@@uZQMGL3<a+9FC&mU(6FKG&<HS*s$6hI1_{s_iPOfBq;
zK3^%h*)q;$?4#0O*DlOMoSQU!McWhzx;Nju_`VwtKO{my^Sji+b(pbu)vuO>kj9RY
z5g*nJ@$MidCXHdaD76Hs0?r6601e%Go)M>OgV}%ExflP1;YM{YGNmTqmZt%7mZrI&
zqfLVO<<Au_USN`#%MDb{`rj5*BDT64?*$M<j)w4AHH0rlvq@8zk5FX9#JHu6RhI#)
z%g27g9e=t9k4f{1(IB>N+y4SkfkxeimQv|Lg$3Z>ly>{!)}VrE?+W4~<kbev^w?Zf
z25F|ro?9i-o*QMzfQ;&-w&~8G`*hv*_0dO8L3byj=aMhzD*6wcZBKY*ceJ__gFeR=
zX{3t@1<GxI%Hb|T^}3B01Dc?%2dSXs=Xi{v|4xG|?`LD}H<CT+4y%eEN?Yr;Ynu4K
z-MDqEC6YDMVS8(3UI*;kmzxq6@gw$oCPx_VMmU56KUAvh)zx{xXov_<qJ=JXsfuWY
zW~RO>WlB&BHkIow9dLIu%bz!?RAV7DC+d@&CjfhTQTU%!JM~61z&Lqkn+x%u7#}}q
zSM51CIMkn6*IPffnzX2-CiAhVf&-)4VOFuQn{94SQ`<QA-q8`0uHv!JTtk=IUhgHg
z*X1RGK^sW`#>kjVa85HAg|>^!Z}AVgpmMr36!Bx5TT)3T-%<4uVv<~wfG|2LgQzH7
zK5x+Fewvc`_b@|N6?xT^0F6DLjtobNU<DnL2y)7lvo2-@)sNo&G|vs$C1Ma`HCYAJ
z6ct%CA5CY6T<)jae5`aM!42`_+iOe}a6c&(FcjFevN{xgsj*V%N_LOM;NlHHp%{Y3
z?vC7?o5KGc&0)Aja{|$Yb4J+CFVG6K%E5@EtH)eiBo!5oGtQ@l>kj=*KWU!_W1W+Z
znrIC`zqu|iTuy?b6JynEUs*98i^t?2PMH12+@Xi<9GA7@^!W8(p%CpXjvvF77In&2
zDeJTR@G(KU!aG;4i^;|Pj9Ctj@5n|QVLCUS)Ax{POVo`wC-f2pfgveJij?Ck&!kdt
zDR1*T+o*%XqdzB_MOmN_MwsywSZ|HORj$Gq;Ky2T>Rasx0-nBjVJo`*@YEasmrh!O
zR>S4dZab)i-10Pd5<$dwH|ig3M6`PXhCWZ7^5IAm6g7J<V2Y~Jm#4Lt^9i3DQaz9Z
zc84H?ez5vV=H=g+<!!3z^xvkMT5a7uh0=AWPjcb;)5vSD-tLv}TPLip-FH&FSQGNh
z%tPihO$!&Z3qWqUmx@$#`oNdiXGD5FA`L2SQ5_~}-Fb9YwT^j9^Ot0Ayokp^&GUG8
zB^;Kn%fzc+r{n3!WPih<i}jkEH|SsR6#&9M^i1}Z?Tv$>M{Z6=+b#O0NglUt5Z0<i
zYf$Tn5(<I*E;bt36~xshCTK+U2RP{H1aw-vDOeIc1Q$<H!_4&9eaGpxnB!6TBQU?{
z@P{s$vs32S4;5OCBhNSy(daZT3IDmzDmzBbV{`rUWSls(D|{@|X3TX4efp&~2utU3
zk9J8jbMuvDb1-j3RAGJ&P|jpli)OdyMv%7Ld$ZWLRV1BnSDS`os3fJ@fP&UF2f1AF
zewJP?nE$V2`u`cT4`&Oo3kR~EVj!RXv$xmUcoo2%WS_*BqZJ{Ug_NnZyt&pGc2X%{
z58<ZPUK-gvt*cpgsqK+QX=J`$_&Vw;)y_$6D6Kaix%1wvl{w#FXN+r(n#z!mXu?ZQ
z#3L!mgHZs>5pdKtk8G<qXJC4V-jucN?JN$R%{_UTOcOiL7VTdB4Oad;<mas;hb^F4
zm1R(=CZA8p6n7h)0>&Pwg5SH%r-oO|L3<^6^E{q+GJ*R#DOu~csCOv0);A#4Lv%Mt
z5frB&(aoRBQmaB|u__!nXB=d(#h6~3;q#0%)WIK^O2za^CpTbWXDuYH&=o4LYtPtz
zbl81q7Bc&_&k8msI$Ol6xqX{zZrT^X!jm;LNvxP^sda_yj_{cWTw`jAn;iPvg4^|5
zjLMfb^Q;g~01O8u2a+wtT&85H>kBs=>T)z6o%!rjY$D#kP!cFpo+VpiFQB_E=&>ZN
zc~mMIyjjd1Sy)^g&fYOIEdaOAnTyN!35htM_T0j8Fa9ZR?6bUa*tAg5d`FYn5jdnK
z^})tFLmFt65r)yz$gc9mkByJ>I0p7Rgzq@HgJeYAbfHLyxQ*F`Pw)#ok$>ea4v7t4
zxlSh)rQJhMVK`u;wM1J>CUs-rN4JlfKD>j^?#T?uUO^I*UDJ*)Nap-&j%k7>XYLha
zKD}=lN?|0Wi;Kr(9xGqNcd6&WDfaXiD^>*NLg<`pvVC$@#Okg9_B|H6HA?-;BPt`Q
zd6j|VL)cXWP9yEp0WymHxhGxg$rDj3i9?&bHyh2mLDMtnx8I+d^lO2`N(=SHGunCz
zk`mC)X-S(fhbS#%j3gGS!Zwel*3iLxlr=z2;L=_rh`=FD4$RTLKX)f8wDE#>*vSaF
zSp73oQ{U?vF@M9;u(#_@x;ppp`qA6zevI0V({{d>(Yp<(b^})tU>={0g@_QF^Nv%!
zF_MGp;4t5w#4D9QPFz|<*K=la&~;#d`G@YIa{Wa|6S3jr$B#GoK5>(IBGq$}0_GWR
z!a*0|0uH|DCliJ*X{CToBoQ*NtD_?fUJYw9PKC~zrV`MrUcJ42H$j(4)ANym#%5o0
z>QsRa*(AzzbL@H~#iPd|6x3<VAqm`M27r<@V}C>8AhjJ4V9kApob~L!Sm`!=PqRXs
zG3demNOs}-j-xiAYWmq{mwbzl$p1m+hSE-U`QDp+__37WRj3jolJ+AnuLHzJvQmzH
zQ-<0Z6q8jqPsGDl@0M7)Q<I_!JY7gD48BQ#MU*)~c=oRA=<`(^j5~jHG`+n!wuZUv
z`FPBE6ryjy-R*lm3uVjlb)JwI(=<SiS3Vf=6Jj)@5BRa)>=gBS)zLS&J0gq6zHFk*
zMWjkyG^b9+*T-LzLR?Mu44x+jlNcJ2xh5B`<a&%;qMu+%7#a*a^W(D4nhF$m2o8h>
z1`uu%U%f#r&42Pl5^3%5)hZu%{p?N;aKB4*=>;nj)cun#&q8bP*e^R>Wz5yskQ&X(
zwqU0!^aTVjU2(J8VBl(WGSv9Ay=Bd1uMJjDaQbZHp4Vc0Gtsx&HQ`FtZ3kJ>f3o|b
z!29CK?Efvv(Bfx#K)^$C@)nOOyFTV<3tW|=i!XBxU~0UQlC*>b8UY_CtI^RTPqnHq
zj6^CU#k$rh$sBOnj|v|@F8oSS%sI@>FTD5i_3Ox-)bCvdcshEs5k!E{%Fl8IYDX7u
zpu}bo1C45Jfc`?knN8ml&+utW&iw38Llu}L;1x2lu)EuVteXFH4Y&T2ZJ$w4Uq2#9
z;g3lqZE8x8KT%-MP!8W=xG<xYkbv})8r->4FJ#TM0r%2}uT~t%ZT7qyA<Ou=zReo1
zE8m$A5^n>Di6yI-Sr+j6_*<^WpD*_`ZqJTmM^b`ODfkaSuv<KJ7HUpwWveNBLL&UP
zIq~JT1R*;>Yo!xC!u|~}kk3~J=}m0Bvb;gTyIg+0gzm^M5=s2Z&4+svX+zceY>74J
z{__=Pjd8z4*marc77Dp)ZD5w3D82!8hb;jQ!r7>(aOZA*cvr1Cf!<o8ZvGoBZu&-M
z!<OIAq94AYG`MZ&E!5k`{JWiZ<Cl}Y<45)u>w={{u0<o9@+@WoW%cm3&fHoL{;`xJ
z8@Xoj9hq3pubH}q#+j!q7H^c?s!#to_0>EpLeFXv*F}jIxQL2mi=2pPXr(VL*U$oJ
z0KxXy;1Hx7Zh>k|2HVZEKy}6X(WcdXNh7qnV`X2>xSs6~89KHuc&*d^^=q-j34fiR
zcsOyErq*`N7BQ*hP3DN>zmpy7()ziyoG}L)_Ma(_jo}};Ib|CwXe+i>mu3)ef%*gh
zIP}g+S{Tk(H31I_U&so>UdKIOd57z~V{5YBkO+{``+wy+M}Ge<wmI%73-b^!0f&Xp
zoU;ka5)PVKCQ9q&_EHKpA~Xt}e)+Wg*c%-Hj$#0GFP8&D-~uQoD3fIzaWOfE)f@ii
z11Wg7%*&g0R!(D1Ks)a0>|NZn?MG`xTY^RNzs&7}j}5D-Vv_xi)g%lb6TWv@PQ@B`
zdW~Q$Zba65-1)2j^)~uEk@~-?6NR(6pOS(3F5jU=WO6bxjC@YJi*;i{c9)D3>CV<u
zCQ&{Cn}FwyA!*f!Q(^9msgj@k06j##F}=66zPj!Akbz^91U%8w=-Pc#aXj8Cb4Eed
zdz#GqanBU2<C?<^bz-O1$G5O+hR}uLG+<VS8M62wH#MN!=S#|!M1J=zo>3UWR7U<$
zY2Jo!vS?F4ZAS(7IfIewL3jD(Z>{d3>80?de}O4gD>0AVU0hgLYMMq0g#rIQ%J}-=
z6@8;--;N>}(b3W88{o&u69BAbv)jcuC!XKkkcwkDsGH#lgF>a{+HuX^e!ph%GlHQ5
z9E`OTZXhduXF`|nAo`;Io5zwPa-mV2+mS96D8hjzV`&i)uIP(ok{ZAVINuXbEpxgO
z17law_Jts!%1%gwboeu=EQKMVT;|IYl1OHh|1jL1{|U4}lRQ-ZqsbOomIUY+fXj%3
z`|Q5=n3;i8x2!+rhMbE@YazGxtJbqKMDbLEv5?Qh6Z4M(X68h^t!v-2+MO=Y27RJ2
z&n{Dwj~tFZ$o+2B_KG=i|1_Vfu3Q!`-bzL(i6`s{xikM9vZh4+F}1l!7^)uG^lbpq
zq(694Izz-3S5@0Evw;J@Yx087?0KHb*!hH(?EFXT3a;(@&;~s(%tL(dru_LS$O7cW
z!gP6+&&KSm?a0RWdeNmM$8nRN=k1?=2@8J-ZF0j%g)~OObEJ)qzdItWepge^=il-o
zp|YE_agx&12-l@GyyrHH%d|(kyTJ5fo=RUr0`~AivdA~=S2^pY+S}%}!vJONK?p8l
z@ZM?3*_I*yWiL+uT6?RP(b)G2{)<kZ_o8B8jB7JjPt#VCeMwm9^T$b6*3U(LX~)ce
z{=2|9w~01+-PCZ26;akbFLa&Kn@JOMKRVL;?T5R=@32Xpmx#)LZ0iVqOs5{@=xE7M
zsU3T~Wv#7+S?~azDZb*a{+;)EU+<ECij;k(A>x*J)VmjfcJJNh=SQNu6OJp<z4k`C
zh$LyT{s2T$4sC2!K?tMN`}h6KAO$YCJirsfAbIQX`4SbL5FcN9ozwTrdcq%<@$MZ^
z8c6$9(5pAqn3MDH4j9QNB}p`!(4XAEivOuK;(=r3#&G*MHQR8^!^KwO#v&qk`cy|3
zY&~oxwn0qx*tA3cdXy=Jh7Xwt|84c^I-0hk62X4KR?(M?9CW7LbArM&#c|8{-Qx^o
zk7u12;^NuIPwC8GXrf22FO%#zq;8G0pDJMB2Ofq0`BJG!(pZFUs}%$?If>!$<&M*u
zyx_th35QMmo&7Vi9GQgxjxDtYCjp_GGCwpf9o;QNF&Q3gE?LuD0GIF?=up@2*+amo
zW%NE-c&T`vQq31@^yQ;jk4{&Xm4U_v?Uqu54cQ32y2^x4C#S~k-DHHPf=34(`lUeD
zth%~-j<e{9pm_oo0JlnRhVLO0M9Gl1@&aVC@QBrs0X#&`!zI_lQXzXdBiB=}o97dr
z54U)Vvp>hh#g!ZOaMn8Q6f_OcOR4uMYuyg*QNQRrMb_HOm8bqJi*+nD3<~T#r?S12
z1-b?%By+(_iBl)VzkkQzRR4a3PHQSYd1n7=53<jLV!%XXXP3UR_0D@Ll~L0f6z0E<
znHkPsE3t(e4`n;%i=D1SbCS;RvVJqZN$D`w{cL+=Lhw+LIE39&!`-IUk<oRrn6@6F
zgL;V_8yT(99lVDCwClzuZl|LleaC(`rx!bhszW-_=w5tNGy^uCojN^f!xT#D`JKfD
zuC%|!H&RQ<opD@WoX0A~rzl9<YH2^+Ao<euX)&yI&o=W2zb^RX(0oBQ=dzARC<?O%
zI%z&NpnJkEDk(vz$aL<b2(kJ=G+<-(s3D%_M6icX9JjRT>?JLgX+fusrS7cV?=zx~
z!!Bc81s$E!;HW;$XH)x2)F->}0bNqB;MmbO*)vxU12_}H@Wlp5XR8srrdq?<96k>*
zZEEK;#KJzccPo2boa={^NEKHM9*&lmclGuz7TzGCq_cGgy#+Kb7d2}<HY{0UaMv64
z<})ab?UhUw-z;8CS6ix48)6>&8WvNYVgM`d`uv&Lc&%T%LZ@h$l{a|Ie4^a^RL5y&
zPRj1kngi|-x(ZI)WR1OQvZdAr0&QfsF2IL27kQl9#D3ln*pY&@GFvvDXL^hQSY)8=
z6YPP<{4j5?o)8)r0~J?M;jBB|UYavy=T1rNN;PiV+Cy|JsMx<yt*^HrN^x~}<+u!@
zlTydij1LS<(hWB@Qj}L~OOL?g^RSei(X%e6vVEuvxe|D&h&@7+O;ja~AF^i(dH{Lc
z@M~Pp>#t7&>Mv6L7%q1o0)?{QStJz6n*&0+n{Q{vgr&dN2mI{UtiG83>`_0ve+p(=
zcY3Xg+RjeKBR3ZAIqb!KNFdd$fec%*v2{Z&ld`KCu;~Zgmss4ai8}%|Xslx{bxzNT
znfN4gjv)t{WB!4T0;~kmXZQ^}mW_QHUEdfda2i(?Gz!B1T+fp(wm6-#GMGfZll>|F
zh@FrB_f`PVEQeU%zS+%ilS6G2fnlOn#j%*%^&4O32!_RDCi|d+tzD&5q9q~in|8;v
ziT#|}h><Ipu)`FKH@r&DwwnEE^G=oQkDosSd6*luoKqu=?Zzs&hRX+@%t5T577swB
zqz866rUeexQ@c93`?X{Cnm@6;$$kCA`8ZDcy9ZfR!pUM@H4*FOr2!{&M>J((wV`VZ
zvG(lACwGervb`(=hv)3qNSCk)cIeg4m31(TG_j?JSzzEYM9`@D&&T%;+Y(K}2?s6W
zspB4G*9U?HD(kae_@Jzsf9%x9PFhWN5A_0zSlyUN_0od==snx+bUrO3{Ys0_obJ+@
zyY;}@KBz5iPUAKG-~{g#)b;r{3|=SUdYr6kP^MAwcqQL(ewee2sNn+B@X9~+Y&pa4
zy|^eRe9eCqtGo7F8Ac2lWavAKeRQi2P_9yAXutpM3VQWEE~@~Y++5@9k}l<H`@oRJ
z`}fOtZ7YRZ?d=e`c?E6r+W`S}?jyQ1IbSoxd-hLkGj^y_zDaY?42j0m4G&8mAlRRg
zu7(epn2g)g=hGSM9^CmVeaF{zTr0}H`snrfi}N!m(sYINYaMjyd`%VCrr^yzXP+RO
z2$uR#$N84mRj(o_sKiY-=Dw<=q{$xJcMhly_Z71<J6`aKOAVWD&31U!M3qCV3exG&
zP1^$w*w3Hs4m}1<4%&`7GA=$e#saXl)cS#+J!0G^u5A>Tdkp{L0>n80DrSNXl21G$
zd!*75%1g5VnhO7Ppv8QUo&NCQgH4QA3YgCN*~k#*(+LejfpW}aj!$*I>xc9m!^PIt
ztJmclO}fg;%EZzVSp@}2B`Rt6QBg;)1sUj#=dbSpuJ04v@w|S{OKf7w=509_7q#-^
z8dfYa9!XCf!D}Ng4L|=syT8{&-mQ(vs{pPq0gT-;0oN(;Cu01MJ<eR|3x`D-^W7f|
zh8!ZuZNCa@lPxQ@<hU56_%fyrhNn-@A?T0aq$W<Fu|0jRbkp$A12VJjk$bAn$A!)1
zTzlq}hj0PbaN5Ox!ga>t2(~>^eKU{x{qCb9`y?%|_)=e_+wLkmzsaMhxu@Z-jmK*o
zqiY?9j)=5!>#Hh_>!n|`7IV>^zM8wsJ#s>yCI^K%V4d@1<z9V)WPI`cKn$|8zkeYs
z;ifMpLTFn-@4-v%YO0nNMs2sS6?zq0Yh>#BOfJQMz*VMH@yhC|*yn&i|M>vY-HJK#
zjU&!v=AFrHh*c<OVXNr~FR~YjHEypH*7f)i3tW|A<JMx0CuY?>2nq}g?0ld%R4Vs@
zo=0o#z-EBuRRhKPGLDSq0Oy+a4JPV6^f{L}<CHqzz(6M~7_Vb!_70WfDGwD#Sj|mJ
zL{k%Uc?wc0tU;|mu0NUYpyf9g!C;eha{kMHE<F8I(Pd=LVlem}TE9AGxg~sTzL<*6
z-q76;?(Gxqp+vSjb=Y2Cd)#nmtj<xX^T4+ta{hi*sGkm0d(@F*b`1o}p&G~y5zMcF
z=t_Anp8ox1`z4tE)jwZM^0uPy!57N@@v&h?=);ZC+!(219D=DY=LnqY<!Grl{!IaB
zK3!owq_v^VQg^-Z*4Q1U<ux3wvUFXZ@?`v4yIou$%AcjB)<|+6^(w1msbY4UKW~Bf
zFt@{cWXJy9H6sU#-5PEYUcVB^fm471sUWEX*+lZVfQF*FPFLx&0VO2ry`g&6yE-f%
z-oceTrf>W*#B)yHEK@Br(trI<lUdJ7YYUBN;cJGrN(4wCbzjA;#K|64>=i<6PxD-%
zOEaxC$dg%XZ%akJrcXjemrYx0y!N!>(cwv429_vRo3qe@^jD4Z4e)E1>M3chDk}#J
zv=#-O{>s(>^;(06FO-!lQ+<XyXYW0Hwzvl4BjSpVhoZlQdZYM@i5?8aGhW!>@DQaY
z5Z=ArKAsqT1B0nw8^)MzdvE78FQ3f`Br%g-f9-`NV!?{MHr#5pN5Yaui6sxE@LeX}
ziV1N}r^zJb*V^=zPsk@}_70JVZ#Wt-ckr`zq{)1MJ?UuTC*4D_W;-<=b{DZ06B3->
zXsir05w=k(X;s~Wy5sOr4$pxi%Hb?x-qxgt9J~-!PG|sORIn6)xir_}L-3RY1b~>V
ztVbrZ->=lwpU1`9%}0{=;`0o9dT2$E{=$0nl1CspKs>BW=z7pF;iJmOG_KN4_4K&E
z4uPzVGnXD)jUp%tZrO5iae;x%w2X{}i1U?|O0<X}lgzTRG6_o*X=<F^UB}avHUv1(
zFOH?lq_aD&;s)VxXms?m0u}RQ%jpVpaTgbS#G3UeKBp}P(eStHB(zl<_A9GB*rr!8
zH6K-7$AR*VmZ+0tCB#qSddNe6FSvc#G(G*-T@Xh$*FB6r5`AWlGk({G;T(VInl*e-
zHtq9vKgvrdJBCDec6DT%e#!5sOp3NE#_+=A%4ztUjzc`+y&t2DMMRcv6?&~iM8u@U
zc?J3_QuH-Deem1uSGjRN=DE=d+8PgA7#iA^mMga1K0e;s$yY)tW5BiA91HRCyb)0O
zVesM6*2$i+f#l;;4B|)4>r%|^10ylaRn`*$m4ScXmbD0=B;66w^d&Ix1Rn!6I3&as
z(O0Eb=adX#^IA)GX0uy<#Lv$U27#{>R^gV|=j_<|uCJS1A0`B#J%0R(g2G3;&WYV*
z@GWQ@KWn;i54yU<ev^m!*2ad#ezo3vY8(5llN0A&!>J$<XHwF8*<@b7JNGVtlP=XL
z%*@Oz`_uy8p04Pb1A<Ed?t95178VRvR#p`{9ZNt@u;EnJu-W^%x~|TkLSw4IovYkP
zKpV!5`4ULy&U?bMSS=Ru$5-0S&o1E?_3o!ua}Z~8_tV{q)0M0Qo#hbb#^t&_SzJP+
zUYE$cJi6<vJ=NsyEe}y+1|Hn#CfTCnvx5d0Nh9+IW)Mt#a^O<<sPV-)l1ornka*U1
zbZ&KU{9P<={BW(YIh&L5A0xXA%hXEb*?5G!wzcFHPaK;R!Hxl(Pg#p6E};0KPd0{r
zPk?5pK&<AHi>WXzRA^FqTf4Nt3jzu2iS5rmVbrkM`_sbT=)#KQcG|JN>SEiH>-WMt
z`p~Y~DJW*lEGs?lF?I}^b4Ju*w<MBZAd%OFMUGihEDl|i|EX;_6Z$i7PfeRUqbOX?
z76Q24jvkd8H#ILs2(_3OQ<a!cbU~g{%Y1Ju(R=5*RrrAa>WCdgyK7xEsQ?^&<n4{Z
zetmt7+>rA!f>%=N>$@GEEy<Nx&wE-m9LI}Q-2ti=ROIAe0!ZDyiIYJ>8{AKyl6eW;
zxntxG{rU6t@G#cFsN%r>Y12S<K|yQ)ndc+9ftUp08OW)2TU#58^_)kF>*|yS`YRmj
znGb9I35Q4o^M3O^?8D_4FT<|rtmEftsQW$4O`~dwX{;7V{BbHaw&>B(H%9$Q?TCSa
z7PAUA^Kt3BckiN<s4;vtHXf<6CcCr;`a6)zlZEClKK*N$K$8R8eOol*0vyv?tua3e
zc!a!$ni=z_PY;^ph1~h_$AYO~Uv&d_Sna<NaK#X*KP-C`{x}=h)7-qgS2P^3EKCRY
z&@EwQ!xurRl;cxIr+Kq3F7AVsa&Y^TDSZ^u8l;`zTy4d;GW|(v29)SyON-W27CLxX
zt3JA(rFgQHnOU|n6GbyTpHMWhNETCseI`r1gqp?>Zm-h+a%P=V$w+*R87Fw5#az9g
z*VWdG=;-LlrW+I}=asaWnAowepf{_57-C4AtlVr2dwb@bh`9;LEGa2Tz-6^fizCGi
zE*p@u0Q0Y+zJHh0*MC*0S>==`BP#kpv(jQ^f1#C_|J(1c53H9K7KA^4j(s=J&dxqn
zVUEY=gzN_2#=*z`@czAT!$7M)rr}UJwpzInBcJni2cE8n`Vvy}m&uoQeR2+tu+UJ9
zlO4F~nkU`Dg5EFliSRHYE>jFBw?8IGtUm9}HCVta!+7j<fRT*eDkd`)x*m}u+L&v2
zI5#(UayKd=0WT;hNY?m4B^D(ON6tsfhcX23)h1ZRk?vtvrQL^;PK7g~z=sS&ES#rd
zl{phK4f~c0=1sAkt+0FE;MPE_Hd=vUd`3(lt^Sc9rBMcs-M(&>xrQll?zmALn-DuO
zRYY0ro4)<(?)3en@_~eEtJ(d7eG{9Jsh4DA&#W2~#hIFjrPK+8Ncq(nG;7?sQmLu!
zUUMa6@j0<nzk4`$u|b1zafZv2@1PzD-1rB9uRcD2VfA?=TgI`{biPplXf`h|$0W#s
zCgpPD0n+r03^Pc$=JD`N9vwXxTbj!WSdc>*;!kmKe2R;)U0q#Kz=X1iDVPDw;wBiP
z|Kh{e_yRbF0dW)+=iBAX-*^ycI*{WR<As_7hbuiiE-YE&mG@9Fn)OQo2NWwz4+l0#
z0IKt|pll53M*X=pUbq&{XO*Md)L5Wh2c&pvV-gcLj*_7>4YRCn__SU0rX@Sgb*RtS
z1^tUtuf7-DQ^$g-G}H&*@xp&Qu;u>sj-7)2{{Hcgml@3}-nk_&)I+H$By=f1M(Vsh
zX|V_;?Qlb<I5rjfApmUIwoXl5OJ#da``P{TH?+pnzb^4v^?k1{H%5$YkY@*CLi0Vd
z$$SO|=WBV&986a{+D3Zhs#KIV5}#fwqGGSE94yrs54{S<!<|NFutL38Ec31Tw+z%}
z_q(|X4t{4e37^Z2u_Y7ZKUaXq=uPbu&4nW?KE??e65PDJ?U+kNWhFpxQn<;iXyiON
z7+IgK!_$RSgo1PU_3Kxl^jUa%EUT4mzvuxx4atR0!sw_Hu-SnNtpTk1Z8ka{2V@Mo
zjbFLuJ@PxUgzi1;D04-`6A~4gVGs%V_tP;mXOs>1Ttk2kv1S!Da9BY9Lt7ji<H`D|
zbIpTzyaf1(4BAmqm3A@IZD=iC&;wCr&3!h~LI|Vpp*uh5BfI@`2X2{25%AvbO;;th
z)JK)4D2<GeDMTx2_?27lHRR;WHg%Z9^56%yQ^V+(@%=oa)R$!442Ck@>Wv;$5)w3A
zp?w1b&YS1&cpY92!lAi7sH~2IFHtluF7#ROT~@N8F8eWZ#PeQnHLREhyiQ3{WfFf6
zc770)lPn`^DiX(LSXoi)?xD>uSWXcQIol(<ZZ?Kj>e14V1k`+BHy`i$3c9%_tAxf@
zZcJYT3_%iL2*_(<p%e)qD+0b8D|sB&pQz-I={@)|WI{<t7abcrO1Q&iHPd-@3Y&mx
z>OzHmP|H4dDF~h~D~=ba_mmmx@<DWHE@o;FS(ufKw6qI#d-3e{s|>6C5I<n0M)DJu
zTz*+hMgRQyQ$sb!1cQjnA4N~E5TE6Tm(K$zj%adc=Lak@!R`ICGQ*zrxdx)yI_C@n
zSU48+i1*m}XRGUd@dp#G^`h_5QRPT_r+q87b*q|MCJ;xbpZ7;wGOv>)$A#gK6Qb*%
z9RjE=Tb0P2??&G1uEs-~H|HjO_D<}Bf|UY-j2@fBF@ay65+e^j`CJ`fl~`80Uod79
znS<wBpxe}PtvoSXxLLNe{xRkJ!u<B;Urw}aTPT#3Z)sa97*;GgO<!jCMPNH0?G4c9
ztB!Qfr;a8OKbDf}qNh#EijXV!;556<^mxq1<LFZ%=ZxnM{6YzNzU^xBr7;*@&6R_k
z`!oj_!uF5^7Td+X<+ZhPqdpBgdwW)>B~fa2R#sG8TzjqKR?SL0w5z)tL`2D3MMUCn
z-=c)zF$*sJuimaRDypVQqloB>f`}v~C<?wvmYfj*MS`N_C?KHZ3_}>igd{;x36eze
zkOxMhfRbStl{gHDB$1qR+8TJ%_pN)*?m4^Lzh>ahy|=5YtE--;y4ts?wKWxdk}Ttj
zCzF%5J~8}=rluydsUA1gSWiI&Vhy~XVC`&qo5E8Pu7@DzO-@PCaBr$aCdfPw31ybk
z(_;jswkBF<613&ktMKq+-#mxZUh|n~40*b`o`{q5;NatnMCFtQ!N0V#9BtqGZctLP
zsG3691Li!-Euyck8|_6^QMY2&x9O&-)n0DPZs~JGQBRTR<-9#~>xGWIY3h_SZRIi9
z2R&re-*{r}o%(*~;kE#elR5Z^iU<E}jz0`uLP#HDh^ONLFeOa7eu+w!V2Lh5)C5yv
z{>v6?hZu{aGD$o#o{50Ss$Q7zL|nN>p`uKPbyt@$_)78HRleUHJ#979)EWAEyI(rb
z7vx`JmT)}H6+D^5roXy=F~iR<#NOUkdgNyAy~_aw+~UzMCv8igJf>!53TecKlJN1(
zU%M8QvJ)c-6Tm9JcyMGy8F}f<H)CV$_CPYXMI4nL8{7QGBHk+DmacBYqr)@|lFRzw
zTQx+Q@LIxhNTQqf-Hyfcdss{C+5wWaHL~*gCe*U8L~C-SNqqC-7!|lNHk4#Xtae5=
z!PmW^B^({V5@Tw@siCd?q}D9|{a9a_=;Z)PC$SH%V>e$!c*JWP2C@q{y}3LmXa2L7
zAzo}0hG2t*KTYrr7W^-6a9=DeEY6*4K`p7vB_P*1!=&c<S&^$65j%<=UGqkZW!bF6
zI3m@<Cg<vJ&mg_HCM<B_yo6NzB4RgWz%)N8HEw$~`4E2&8Po8rR?>Ph<;AKpTlMqm
z5Z`Ky6CBqm&@Z*3mhGMMk{18X#BD0#cz2z9z}p`CN}mhY{jRU8PJU{2@aPfkk~UEr
z?@xGk=FIYp3pd?%zK=LL+AdOU$&T=v*VMFpachMntG_aVu(32`BKoc22`PDlL+W4<
zz*9G0pZzp^#iWp<CAOV=;NRe>A1yJjXNy0rEDVm`O+CZr?4Ld(=+hh8y2adZoBwmB
z*6&L10(*N6gMxyr3lAUShup*~US1NfUSTEg+29M<Wn^S@x#=Kuu%2}Ls*6M-50H_8
zw69rOYKJ1dy}fBpoKUc^Aj9Lug_qS2A3F4XscUqh$L4UB9$MSH`;mYYoNE6tF;VVo
zo1it*8^KYso40NuHl{qFumGE&AiC8|`@OvpVsozE^Sl4p@W_ZL!pE$xo`3aQHFsP|
zp)!{g>~?<_EQzc}dd5gMDq}O;QjT;_A8;M&J*B+E6W5WOW&c&Ygt4#Kx%1V5D+d<_
zDp*AjL%nFuZd@20yn9oVSnM0Z_rCm!-oC?gOCvYV_QdC{wmn{!#i@Cc-)EeQ5cat7
zy5Qt<T3K(?g&adC(dgDDWdMOkRfq=sgI;#$K^+Zvu`;1(HzjRtIz2r--b!^i7w~b1
z2XlrR7<V{B-i?KoKT#GahtM7|Epy#Uh+Xw5xIz)xRaJ7}$q$Z>;+DEh>UXwR0-J}T
zKzH6oJ~_T($P}EQ+X9iL`cA8m*AYRAsYsfRRHGgD5U)EY@EQ2c!tZGu32m>?Imr;$
z_^kbmq*pK{v-O~8${O8rD}}h^tFz0}3c`YOg4=S;{t^*d8GIpP*OO<7jnUV6+Yk-)
z5~wc<PJHtb77}`ClN<UjIr&kT>~?Xdv_Y%|6nPP_A|vylz2TVkJvQD?{Td~xYN*{i
z1N!A0sSl%K1~R?!>keaHw*ng&-~9mwsT&>S%PF&L;XnFO&#}J7=_n>}>}2EO#*7rY
z+Ntv0C8pe!=TBqx?Ds$mh=-o1-r7TY0PLwDyO2XfZHTQ{uJ%t{h?+jV_zzf!ZE!!W
z4iOh3Hp9f-hwffZp=n4&L5S^FFcMt-FE>wYtbJ9!xqo@;daZSli1&HGX&24_^9D_b
zINsK6!-Gv$CdlTm4j)Fl;=E&aq1^v;Nl;|uc@m=iLM8$1wieF5`<lD<tw=x>xu|IK
zu|-*3HorV+e{f0^3EFRuR?0!AvP(_RZk4Z!ugks#m`*-nfQ_v+`pqmQiQqqhOEr^{
z!9Rh^)<^&@p?&GSq}P-gI!$-(51ITgiR7R1juJY+*7^qQ!of?sGEpGemHIH7i0A+_
zfOarEs*$@8<K9ql5yxaWN%$<XVD}e>V0f;cZ3#|zcj?&fOF!4|@Y1_sjNAtY-J2EZ
zzo{SvdDXt&m6x-?XXq0Bt=IWo;R3jtqhU^-vk$`}^P~~<P#EXYlS120N}|U^WL*H$
ztd(;iw=m+?Gs#xV^d0$Y1hy&CxGjuqVFiIkPl{!J=_X*o$RWF)By9TQTmX49*M&UY
zpu_wdqJMKZ|G3*6n!fXcb8X)p37ZI2m@sC|#9*DegyHUVVpcF`vs&f+AL3?H+XFs{
zF9Yc1|48lrDdYbgoyO`LHa7F!2BHzbE_A}vf|n`W7Mv=2VD$g~*jdtWarxxMAJN4F
z0@&l*)%7af@#Pe<vL^DE^+hI#l-9pozW2+xsjS>i4&j+5T0Xw(B;^(5F%?0uNdNo2
z;bJ%5zvz#fXxKubc{~3Ep#BcaG+O_7iN8Ne5cELYA`XAe`{5OC<g$Dp55&H^t%mmh
z%MScE2ITYb;I)4!Zp1G{1u_}6`CEP016h5_A5Aru%`Pmk3ng2i<AF>5)v&BZEp_xH
zr{)^Y&CegGA~d7$sH^|w?M>(3@#)i8synX-{_7I{t1)S<&sxP(yfOYuJ4?E2amML;
zv;a|Yi{<|>&Fg<dtpBv#);u||!8Xsq?}9d}2rmiF{I9g^j1{BzQN{(;-dTnKa@keS
z!-NPAIFm=^?$u_?sr$c{@Z%VwgnM*yJQ0Zf-={`8CbiD}>gGVxi8u4FeWA}jEO=gA
zO4nG!A4)OY$5-O7YyN6-a8Af$gAyw8mj7OXg#KNJQ)&DdJcibaye!(&HRz|PEJm7M
z(NC=k{pj6gHXzM|JXqG~P~slmO|&jKe~=z932Mkv+gPLc2RM{MOMADszNR$mmbzxN
z@k#k1AADM&l3wHow_@}MH#zC6s=9u?PDJYUgm0SK+68t7FOU%O5ZiE)#=GLdi3t@T
z$Q(Yb(UIWsc;WaHw6uzby~0u0?Q`d6?lit&e;KJGR=DQ3Gh;!*c2?36C+#uxqq9cw
z;((lA75UX#?ZR}|d0~lt^|-H3B_iAof8M7%;bj}i8%I30wL9N@bP{`lnp$IGW3N}k
zK3!1=d-EP4B|}4|?QJAw7!O4LSy|j0D}AMIBTZbnRb5?S56P+KiEh58rfVGzrG>ho
z6vm=<=MFjdYqJ*-5fG7+(bBdibP0DE!j4~ePusDtxlqkfDovIEfo()gOkIu<Y|y2l
z>kNvDVra1x+}Y?quWr?@KL_X8SmNTPq1IUaKmY~CtkDH09gLs6e(l-?^Lk@qjL_~G
zN`sSi{duG9%IPD;qz0z!%nT$UTg+R_m;>v@%g3jur$d;;V*$GOlBtz0L%r9n*mh#C
zMn8rM*!LCzVEQ>#&1NGK*xM~n0K5SyRE6ALe7-q3RBs$v8?_pmo<`Q;CdN^@sVb4J
zfRjTtyeOeD%2f4=H04p+lP9fZ6L^hE`H`DPSJ&3!(FrI3<=RsF>f1AJ{cO)L&$cVC
zs6fnCkF~^Y@YRJdsu3`eLY&RRlQbOau?^J^$)lt<$g;G#U=XC1yWc4&DgqR|Ehu^X
zQy#6B%>FF7la4f)B$ZqAcZ*3!mY77f!>-*U%^f=YQfmbz@?^X#GrQYEI$X=w9xr#`
z7)2I&Y`UW2l`8^w8g7H9pPrQ^b@uW!V3Y`iI84b#yCVll0o1q3y1usvVlxC5dIiPl
zm*?jP7jUvxZK(-1(#SqHbG@Q*a$<B#LIiN+KcW^V@ei?Y-p77f@Y>nhk;u9U?`t~Q
zZ4)iKv*b1UxCj9R#gyN4XExV$*)7ef$A<tu_gL|IPbqLRl;Ow|j_kyJ3=maEobOjw
zSEn2q8F5=4YCO+c5B$#gc+VF^s$xxgSktNY&P71`Jm`4VKg%=(1`<FGU_!`PVT#SN
zcqOuAQtszhmL^ggsW`D8J4CkJt}%O;T<WPEt*T7kaWOZ=aK<P@U#3KoRhDjq{-u!%
ziRMcUdj4mtKDHG|><`mSxGXYz6r&O|IisD(^O<J$pb}|xE0qQ$*q#!#H(QyO?nPK_
zz5gomX6qh=MC4Sd?W<&Sv$MBXXH69p3hVC*fy>j_(C|H&k501V;Ayrb=`UYA%!Nt;
zh^>ziwh?z8PM68v)wAJp(6b!0%RpY9HWAlN@Y_zQ+iZp-rAI~-FI~D6=R3c!;IUdi
zP7_Hgj_y-3-|+F8ODb%~d<6nT%*gQG)xT+*Zp;}3&^Ays|6v6d)CzDPSxYn{ssrHa
z3lwzaMl<ZvMVuE3X8U(|&9E^=<x8EXiZCUU1<zf7e)eY+WXW{uP)F10$ji$^k&oom
z)Z^4&;=fgRFVxbTINNl@8k3OxHlwU?NfWyH@zW>Vq@+}0so3*<h5On36Y{cG?`o)Q
z7@!gsj)v>j+vKG4#w^xiyoQ&?<;mr!XKBL?q%T~)Z*%`d)y+Q3Lm1ziGC91TJxRBV
zhVSgN$=s1TLP$|vxSu&*udPGxVvpkeF!>Q<U8{WW-n~$J@2MiE)r}1zjN?ANi5<}G
z|4?z5!lo7wF#rx8rKMSgrWl0YBMpD^rWq%@vtO<f>07cn->h5s^D^L>iy1t-YCIZO
z*WwZvM}do3B6iYqC{z?I&*M)5XnaWZ?b93_2OS(7-~rinzdbWSu0?a@6hEk`QNY;Z
zn`#0@T{c&p((G9VRTDy$&e{=-<pU_0iFk#~&StP>^d}(hUxbItd3hb2p60MG9pe}r
zf`V`+9^sLZRNc!@l~p8bh%`-ESzsWI!;gUgR<rd*#^sOK&29Tii>gIF1yGqos;2_X
z$=h;%7cXACs@mI`jN*^IkOM$ADMnf^r*d23AQejsK-T%X+^egrv3QM@^lb-5{$oEM
z*o|B}jG;Z3#+AdHqdV?dp?SJw9T(ugI?mP{xPoBMn|Zn1>@RCpc3@0_`fH`cj;EV3
z?+rpy$mDoZOW<~Ypq=@*Pie7)nsIj<R2cn!Ld*;)#D*vQ{QN+9teF;;mQo4}UrtUk
zZOjeThe`I;EjPa)9&TrwW~|-1I@d*W{J6ZASE)?VA6nhEr`2$J3kbTQxfvzivE*pA
z@PmiQJ-JWnUf|;Lgs5K^%!l_IDw)-ANI6*OHV=dCs84fq`L0VZ9RVN)d(n^T(4pI{
zvGk5EE<>wxLolX%*o&RCw6wN(=YpU4z(uwsB*+n&6@hbtf^8perlkM0+nx&(hviVL
z!Yk#BhK2@^Gt|Jd+`Gs5<qPIxYnI-1abNKljd*_&{^$^&t)=%wP*%U^OmCkw<XMWL
z-yxH(S{@J~MRX`0z2#;)<hn!VgQ8#wMNGYuo8=5E*;kR@S5Z$vxJIYWHEf&C8>EWj
zZMUt(I9&5pUmR@@O>EA@jgeqp38L;l#BTWKd(It)QZ$XY+%=b;0`}*{#i)`gj6rvq
z2P+uIJC>H>eLq~!zb=WJ`}l_FsXc9AjGYw~!nwKgZZ5Xrj-5Dh)yqpM)O>7=adU{3
zZ$AdBIa563K3%yZvpn5rRVgu0(9C;QsE`&Xy&?+eJcI1^K^DX?PHKBKBJ_h#ZM2M)
zm6gjx_Inx@me#5F{dKTHHeaTao(vbZ>+ua?5cs&gwKyhdy+yv_MRAOS=G~PrHkb+~
zCam6bV+v=|Me3j7Ir_jBQHGWEu)+)h3O={ub=7zWM&&w??e)QYt){E913o)jD_9*v
z=u?JF2AyqpUbV3>tdVTO!b>e5pk6-bwaMXOrCek?5;ZihM5nEu=j`luq^hW!S9-mq
zG<=BM(5uJgnR(gE^i!Wnizx`~SNm_S)L~wwop4~vq)ppI4B^+R(zElN2kFN?QOTy7
z*Wcx>D5MenCKewj>1Pi3?6S?|$+pzG3?04{XBWYrGzLVcNTF3FG<sA*lAf1~3ssco
zTsk;t_RV)i8vLwSFmBIZzkbqqXK<O|FtoL@)BKFNvL`jn05jjjwPUvUQ^RNROFd}e
zd;M%Capy-RE+zvYK{gS0lIGXGcCsIQ)~>yHfgx1laJXF2ek}HooK{EUnwih0kk`s|
zt&R!LS)kh!6Hh~`#zaD?4o);wsb0AV4U`RNBV<EGsh)3U%gD%Jl5`JAPrsTL%w^vy
z)QaOfEiL_Ux~~k+N<m4<!JS20<}o9Ko^e!h%TM0o42$+Z4fPIPGUXC!FlCEEHBYB5
z#@z}Qit|_NUY5b{YcKjO^9Uj6)yjQ7f8!3t=!IDDhXN?68IBZD-GBwYu~Bjj$X>mC
zGj^j=*BmE`%(}wepq;uTT*xwhV$x6y9!Yv|G1q0=4a_GLq(@D1scmj<Ld8P&-&?_<
zd>$YFtg_M%jqA_u%+%kg@R%{~%<aFuV|{lg0ua?KZB#`ADL>>Gyyn(xI-lUv1gjo%
zkZ7wjMz$!_TdB?o^v24s<u*U0>zMb;72|`rNSY)0tN@+@0|C1RaW6Snz;c?5@+2D;
z&=Q#4ByJO=mYc?tRP1IR8u-u2sWRt|Xl<S3xi4nxLAE~ja)_+^H}N0i`_=3=N?mI)
zZ?oy2*&v&6*ns<uci8sQt$^Ty{WZs!dXGCe<es$4tq^&}mBVluxbIFeI%Z}?U0sIw
z_;`j;rH!F9WAn}^kv-psK8d($MDMN|Ft1F(bJZHsRaHGQFfich=}Cl4SNi=}IU=5$
z_!Ze5kBN-DqNH@N%Se<Cjc0{~lKcC%0z*RXjJC#EZI-VuO{m<x`#boYkDffa=r*ni
zh%@2+jN=8H-s1daX;tEUDt77u-%ciga2h6VTZOlWKF0PQ-yI=(DB8@%)<Z-6g$43s
z^a~HMu_aY(sVkD8w6o1Xa<Fzlsr;wGWltb?AfSw1*b6y5N%NX_D+st_;E8BDWLJH*
z*KmFkM(oxv)w=C-rSjLkDP|GOwIS;wg*+eKy@wgoPTZ6k7>;{Th55~b8xv}OJ$=7=
zHnW0h*|`Q|z4U4G@sc%?yI+#XM0*|Mwl-L#y*|IYLWNwvXC7*lJVE%3f!q?;Nd~)}
z4?w^qC!Y&2_+2zLbkD3kP8V1(wEFRJ$?mTA$Sa-Cxh5t7n1vtM^X#?mIww#a5Gs^6
zg)p{3I*TY!Sm5By0!WHRZaoo18jJS1(ma38JlQ`wGBO8Vwz!*z{=;gyt{kJ1p=X4t
zFlGtYr#dETj(1n)n_Z%1w)XwNdSgxP@k~pPh`sk-?w{<hudSt~r?3C`cm@r$8p(%s
zYerZeq;@v@Q98%8<`Z_xtE(S!s*nDKB0;9x;ropdGl0B3u!=`ussk%3D_H}mSTj79
z<cT=-`dC`=M2>f?zP_M!J14D-pDjwgK&&L7ajZAP@3H}(ElMk^!*0CiY%MDx^VLP$
zjSsQN6;9lEZ07h7HqX%<BE;6v>t~}>Qzb+T$qck`1i~p)QBV?_O7{DBYt=Vsr|CZ&
z@VDTA*A;@3neKAg;6A{}F#bt!4k6HY9bN=;5QV3w7;xY~(dzHK-BgX!38v!#P`$>C
z^9KZNZqq3IF*H8m`}f=2biux7dwPH<JkH9>3iYgjEFawrdJ1N0KPjo0J9kB$UH+*8
zz{G2C#=09#w0?fF>&sK5RnN~}5%((mG5!cxu>v%D;)vMX=B->4>w*X4x$8oOZ|#(q
zB2juN9VYZqpiX3jCn`t#I#B|4yH;3%SMw;=<rE?H?NK`y7neqC_Rcfz^CD5wr$#%X
zT&zPjHy?P7#+|=oVIjPpbH(biy85$E-}u!`Gwp7mGP8P}n|VllR{A`O=yXmx53Z5G
zd9p>?gL`*YP~df4Zhr9Rml|>S@+{fPM(EGK#8jzWKD{SLwy&=CRpR~8e`3nR@-9j7
tX6qdFZB>%}`oe!gtZc1%^q=vwJNtCv*Na;ixY$XcDJ!Zg<jCKC@E`68-){f_

literal 0
HcmV?d00001

diff --git a/images/pymux.png b/images/pymux.png
new file mode 100644
index 0000000000000000000000000000000000000000..7e8d73a8960c58d963c57e7cbc875d821ed010d3
GIT binary patch
literal 205809
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
QA_0f0lBQzOL({ka2kp>A<NyEw

literal 0
HcmV?d00001

diff --git a/pymux/__init__.py b/pymux/__init__.py
new file mode 100644
index 0000000..baffc48
--- /dev/null
+++ b/pymux/__init__.py
@@ -0,0 +1 @@
+from __future__ import unicode_literals
diff --git a/pymux/__main__.py b/pymux/__main__.py
new file mode 100644
index 0000000..a95c19f
--- /dev/null
+++ b/pymux/__main__.py
@@ -0,0 +1,8 @@
+"""
+Make sure `python -m pymux` works.
+"""
+from __future__ import unicode_literals
+from .entry_points.run_pymux import run
+
+if __name__ == '__main__':
+    run()
diff --git a/pymux/arrangement.py b/pymux/arrangement.py
new file mode 100644
index 0000000..7c3ef58
--- /dev/null
+++ b/pymux/arrangement.py
@@ -0,0 +1,737 @@
+"""
+Arrangement of panes.
+
+Don't confuse with the prompt_toolkit VSplit/HSplit classes. This is a higher
+level abstraction of the Pymux window layout.
+
+An arrangement consists of a list of windows. And a window has a list of panes,
+arranged by ordering them in HSplit/VSplit instances.
+"""
+from __future__ import unicode_literals
+
+from ptterm import Terminal
+from prompt_toolkit.application.current import get_app, set_app
+from prompt_toolkit.buffer import Buffer
+
+import math
+import os
+import weakref
+import six
+
+__all__ = (
+    'LayoutTypes',
+    'Pane',
+    'HSplit',
+    'VSplit',
+    'Window',
+    'Arrangement',
+)
+
+
+class LayoutTypes:
+    # The values are in lowercase with dashes, because that is what users can
+    # use at the command line.
+    EVEN_HORIZONTAL = 'even-horizontal'
+    EVEN_VERTICAL = 'even-vertical'
+    MAIN_HORIZONTAL = 'main-horizontal'
+    MAIN_VERTICAL = 'main-vertical'
+    TILED = 'tiled'
+
+    _ALL = [EVEN_HORIZONTAL, EVEN_VERTICAL, MAIN_HORIZONTAL, MAIN_VERTICAL, TILED]
+
+
+class Pane(object):
+    """
+    One pane, containing one process and a search buffer for going into copy
+    mode or displaying the help.
+    """
+    _pane_counter = 1000  # Start at 1000, to be sure to not confuse this with pane indexes.
+
+    def __init__(self, terminal=None):
+        assert isinstance(terminal, Terminal)
+
+        self.terminal = terminal
+        self.chosen_name = None
+
+        # Displayed the clock instead of this pane content.
+        self.clock_mode = False
+
+        # Give unique ID.
+        Pane._pane_counter += 1
+        self.pane_id = Pane._pane_counter
+
+        # Prompt_toolkit buffer, for displaying scrollable text.
+        # (In copy mode, or help mode.)
+        # Note: Because the scroll_buffer can only contain text, we also use the
+        #       get_tokens_for_line, that returns the token list with color
+        #       information for each line.
+        self.scroll_buffer = Buffer(read_only=True)
+        self.copy_get_tokens_for_line = lambda lineno: []
+        self.display_scroll_buffer = False
+        self.scroll_buffer_title = ''
+
+    @property
+    def process(self):
+        return self.terminal.process
+
+    @property
+    def name(self):
+        """
+        The name for the window as displayed in the title bar and status bar.
+        """
+        # Name, explicitely set for the pane.
+        if self.chosen_name:
+            return self.chosen_name
+        else:
+            # Name from the process running inside the pane.
+            name = self.process.get_name()
+            if name:
+                return os.path.basename(name)
+
+        return ''
+
+    def enter_copy_mode(self):
+        """
+        Suspend the process, and copy the screen content to the `scroll_buffer`.
+        That way the user can search through the history and copy/paste.
+        """
+        self.terminal.enter_copy_mode()
+
+    def focus(self):
+        """
+        Focus this pane.
+        """
+        get_app().layout.focus(self.terminal)
+
+
+class _WeightsDictionary(weakref.WeakKeyDictionary):
+    """
+    Dictionary for the weights: weak keys, but defaults to 1.
+
+    (Weights are used to represent the proportion of pane sizes in
+    HSplit/VSplit lists.)
+
+    This dictionary maps the child (another HSplit/VSplit or Pane), to the
+    size. (Integer.)
+    """
+    def __getitem__(self, key):
+        try:
+            # (Don't use 'super' here. This is a classobj in Python2.)
+            return weakref.WeakKeyDictionary.__getitem__(self, key)
+        except KeyError:
+            return 1
+
+
+class _Split(list):
+    """
+    Base class for horizontal and vertical splits. (This is a higher level
+    split than prompt_toolkit.layout.HSplit.)
+    """
+    def __init__(self, *a, **kw):
+        list.__init__(self, *a, **kw)
+
+        # Mapping children to its weight.
+        self.weights = _WeightsDictionary()
+
+    def __hash__(self):
+        # Required in order to add HSplit/VSplit to the weights dict. "
+        return id(self)
+
+    def __repr__(self):
+        return '%s(%s)' % (self.__class__.__name__, list.__repr__(self))
+
+
+class HSplit(_Split):
+    """ Horizontal split. """
+
+
+class VSplit(_Split):
+    """ Horizontal split. """
+
+
+class Window(object):
+    """
+    Pymux window.
+    """
+    _window_counter = 1000  # Start here, to avoid confusion with window index.
+
+    def __init__(self, index=0):
+        self.index = index
+        self.root = HSplit()
+        self._active_pane = None
+        self._prev_active_pane = None
+        self.chosen_name = None
+        self.previous_selected_layout = None
+
+        #: When true, the current pane is zoomed in.
+        self.zoom = False
+
+        #: When True, send input to all panes simultaniously.
+        self.synchronize_panes = False
+
+        # Give unique ID.
+        Window._window_counter += 1
+        self.window_id = Window._window_counter
+
+    def invalidation_hash(self):
+        """
+        Return a hash (string) that can be used to determine when the layout
+        has to be rebuild.
+        """
+#        if not self.root:
+#            return '<empty-window>'
+
+        def _hash_for_split(split):
+            result = []
+            for item in split:
+                if isinstance(item, (VSplit, HSplit)):
+                    result.append(_hash_for_split(item))
+                elif isinstance(item, Pane):
+                    result.append('p%s' % item.pane_id)
+
+            if isinstance(split, HSplit):
+                return 'HSplit(%s)' % (','.join(result))
+            else:
+                return 'VSplit(%s)' % (','.join(result))
+
+        return '<window_id=%s,zoom=%s,children=%s>' % (
+            self.window_id, self.zoom, _hash_for_split(self.root))
+
+    @property
+    def active_pane(self):
+        """
+        The current active :class:`.Pane`.
+        """
+        return self._active_pane
+
+    @active_pane.setter
+    def active_pane(self, value):
+        assert isinstance(value, Pane)
+
+        # Remember previous active pane.
+        if self._active_pane:
+            self._prev_active_pane = weakref.ref(self._active_pane)
+
+        self.zoom = False
+        self._active_pane = value
+
+    @property
+    def previous_active_pane(self):
+        """
+        The previous active :class:`.Pane` or `None` if unknown.
+        """
+        p = self._prev_active_pane and self._prev_active_pane()
+
+        # Only return when this pane actually still exists in the current
+        # window.
+        if p and p in self.panes:
+            return p
+
+    @property
+    def name(self):
+        """
+        The name for this window as it should be displayed in the status bar.
+        """
+        # Name, explicitely set for the window.
+        if self.chosen_name:
+            return self.chosen_name
+        else:
+            pane = self.active_pane
+            if pane:
+                return pane.name
+
+        return ''
+
+    def add_pane(self, pane, vsplit=False):
+        """
+        Add another pane to this Window.
+        """
+        assert isinstance(pane, Pane)
+        assert isinstance(vsplit, bool)
+
+        split_cls = VSplit if vsplit else HSplit
+
+        if self.active_pane is None:
+            self.root.append(pane)
+        else:
+            parent = self._get_parent(self.active_pane)
+            same_direction = isinstance(parent, split_cls)
+
+            index = parent.index(self.active_pane)
+
+            if same_direction:
+                parent.insert(index + 1, pane)
+            else:
+                new_split = split_cls([self.active_pane, pane])
+                parent[index] = new_split
+
+                # Give the newly created split the same weight as the original
+                # pane that was at this position.
+                parent.weights[new_split] = parent.weights[self.active_pane]
+
+        self.active_pane = pane
+        self.zoom = False
+
+    def remove_pane(self, pane):
+        """
+        Remove pane from this Window.
+        """
+        assert isinstance(pane, Pane)
+
+        if pane in self.panes:
+            # When this pane was focused, switch to previous active or next in order.
+            if pane == self.active_pane:
+                if self.previous_active_pane:
+                    self.active_pane = self.previous_active_pane
+                else:
+                    self.focus_next()
+
+            # Remove from the parent. When the parent becomes empty, remove the
+            # parent itself recursively.
+            p = self._get_parent(pane)
+            p.remove(pane)
+
+            while len(p) == 0 and p != self.root:
+                p2 = self._get_parent(p)
+                p2.remove(p)
+                p = p2
+
+            # When the parent has only one item left, collapse into its parent.
+            while len(p) == 1 and p != self.root:
+                p2 = self._get_parent(p)
+                p2.weights[p[0]] = p2.weights[p]  # Keep dimensions.
+                i = p2.index(p)
+                p2[i] = p[0]
+                p = p2
+
+    @property
+    def panes(self):
+        " List with all panes from this Window. "
+        result = []
+
+        for s in self.splits:
+            for item in s:
+                if isinstance(item, Pane):
+                    result.append(item)
+
+        return result
+
+    @property
+    def splits(self):
+        " Return a list with all HSplit/VSplit instances. "
+        result = []
+
+        def collect(split):
+            result.append(split)
+
+            for item in split:
+                if isinstance(item, (HSplit, VSplit)):
+                    collect(item)
+
+        collect(self.root)
+        return result
+
+    def _get_parent(self, item):
+        " The HSplit/VSplit that contains the active pane. "
+        for s in self.splits:
+            if item in s:
+                return s
+
+    @property
+    def has_panes(self):
+        " True when this window contains at least one pane. "
+        return len(self.panes) > 0
+
+    @property
+    def active_process(self):
+        " Return `Process` that should receive user input. "
+        p = self.active_pane
+
+        if p is not None:
+            return p.process
+
+    def focus_next(self, count=1):
+        " Focus the next pane. "
+        panes = self.panes
+        if panes:
+            self.active_pane = panes[(panes.index(self.active_pane) + count) % len(panes)]
+        else:
+            self.active_pane = None  # No panes left.
+
+    def focus_previous(self):
+        " Focus the previous pane. "
+        self.focus_next(count=-1)
+
+    def rotate(self, count=1, with_pane_before_only=False, with_pane_after_only=False):
+        """
+        Rotate panes.
+        When `with_pane_before_only` or `with_pane_after_only` is True, only rotate
+        with the pane before/after the active pane.
+        """
+        # Create (split, index, pane, weight) tuples.
+        items = []
+        current_pane_index = None
+
+        for s in self.splits:
+            for index, item in enumerate(s):
+                if isinstance(item, Pane):
+                    items.append((s, index, item, s.weights[item]))
+                    if item == self.active_pane:
+                        current_pane_index = len(items) - 1
+
+        # Only before after? Reduce list of panes.
+        if with_pane_before_only:
+            items = items[current_pane_index - 1:current_pane_index + 1]
+
+        elif with_pane_after_only:
+            items = items[current_pane_index:current_pane_index + 2]
+
+        # Rotate positions.
+        for i, triple in enumerate(items):
+            split, index, pane, weight = triple
+
+            new_item = items[(i + count) % len(items)][2]
+
+            split[index] = new_item
+            split.weights[new_item] = weight
+
+    def select_layout(self, layout_type):
+        """
+        Select one of the predefined layouts.
+        """
+        assert layout_type in LayoutTypes._ALL
+
+        # When there is only one pane, always choose EVEN_HORIZONTAL,
+        # Otherwise, we create VSplit/HSplit instances with an empty list of
+        # children.
+        if len(self.panes) == 1:
+            layout_type = LayoutTypes.EVEN_HORIZONTAL
+
+        # even-horizontal.
+        if layout_type == LayoutTypes.EVEN_HORIZONTAL:
+            self.root = HSplit(self.panes)
+
+        # even-vertical.
+        elif layout_type == LayoutTypes.EVEN_VERTICAL:
+            self.root = VSplit(self.panes)
+
+        # main-horizontal.
+        elif layout_type == LayoutTypes.MAIN_HORIZONTAL:
+            self.root = HSplit([
+                self.active_pane,
+                VSplit([p for p in self.panes if p != self.active_pane])
+            ])
+
+        # main-vertical.
+        elif layout_type == LayoutTypes.MAIN_VERTICAL:
+            self.root = VSplit([
+                self.active_pane,
+                HSplit([p for p in self.panes if p != self.active_pane])
+            ])
+
+        # tiled.
+        elif layout_type == LayoutTypes.TILED:
+            panes = self.panes
+            column_count = math.ceil(len(panes) ** .5)
+
+            rows = HSplit()
+            current_row = VSplit()
+
+            for p in panes:
+                current_row.append(p)
+
+                if len(current_row) >= column_count:
+                    rows.append(current_row)
+                    current_row = VSplit()
+            if current_row:
+                rows.append(current_row)
+
+            self.root = rows
+
+        self.previous_selected_layout = layout_type
+
+    def select_next_layout(self, count=1):
+        """
+        Select next layout. (Cycle through predefined layouts.)
+        """
+        # List of all layouts. (When we have just two panes, only toggle
+        # between horizontal/vertical.)
+        if len(self.panes) == 2:
+            all_layouts = [LayoutTypes.EVEN_HORIZONTAL, LayoutTypes.EVEN_VERTICAL]
+        else:
+            all_layouts = LayoutTypes._ALL
+
+        # Get index of current layout.
+        layout = self.previous_selected_layout or LayoutTypes._ALL[-1]
+        try:
+            index = all_layouts.index(layout)
+        except ValueError:
+            index = 0
+
+        # Switch to new layout.
+        new_layout = all_layouts[(index + count) % len(all_layouts)]
+        self.select_layout(new_layout)
+
+    def select_previous_layout(self):
+        self.select_next_layout(count=-1)
+
+    def change_size_for_active_pane(self, up=0, right=0, down=0, left=0):
+        """
+        Increase the size of the current pane in any of the four directions.
+        """
+        child = self.active_pane
+        self.change_size_for_pane(child, up=up, right=right, down=down, left=left)
+
+    def change_size_for_pane(self, pane, up=0, right=0, down=0, left=0):
+        """
+        Increase the size of the current pane in any of the four directions.
+        Positive values indicate an increase, negative values a decrease.
+        """
+        assert isinstance(pane, Pane)
+
+        def find_split_and_child(split_cls, is_before):
+            " Find the split for which we will have to update the weights. "
+            child = pane
+            split = self._get_parent(child)
+
+            def found():
+                return isinstance(split, split_cls) and (
+                    not is_before or split.index(child) > 0) and (
+                        is_before or split.index(child) < len(split) - 1)
+
+            while split and not found():
+                child = split
+                split = self._get_parent(child)
+
+            return split, child  # split can be None!
+
+        def handle_side(split_cls, is_before, amount, trying_other_side=False):
+            " Increase weights on one side. (top/left/right/bottom). "
+            if amount:
+                split, child = find_split_and_child(split_cls, is_before)
+
+                if split:
+                    # Find neighbour.
+                    neighbour_index = split.index(child) + (-1 if is_before else 1)
+                    neighbour_child = split[neighbour_index]
+
+                    # Increase/decrease weights.
+                    split.weights[child] += amount
+                    split.weights[neighbour_child] -= amount
+
+                    # Ensure that all weights are at least one.
+                    for k, value in split.weights.items():
+                        if value < 1:
+                            split.weights[k] = 1
+
+                else:
+                    # When no split has been found where we can move in this
+                    # direction, try to move the other side instead using a
+                    # negative amount. This happens when we run "resize-pane -R 4"
+                    # inside the pane that is completely on the right. In that
+                    # case it's logical to move the left border to the right
+                    # instead.
+                    if not trying_other_side:
+                        handle_side(split_cls, not is_before, -amount,
+                                    trying_other_side=True)
+
+        handle_side(VSplit, True, left)
+        handle_side(VSplit, False, right)
+        handle_side(HSplit, True, up)
+        handle_side(HSplit, False, down)
+
+    def get_pane_index(self, pane):
+        " Return the index of the given pane. ValueError if not found. "
+        assert isinstance(pane, Pane)
+        return self.panes.index(pane)
+
+
+class Arrangement(object):
+    """
+    Arrangement class for one Pymux session.
+    This contains the list of windows and the layout of the panes for each
+    window. All the clients share the same Arrangement instance, but they can
+    have different windows active.
+    """
+    def __init__(self):
+        self.windows = []
+        self.base_index = 0
+
+        self._active_window_for_cli = weakref.WeakKeyDictionary()
+        self._prev_active_window_for_cli = weakref.WeakKeyDictionary()
+
+        # The active window of the last CLI. Used as default when a new session
+        # is attached.
+        self._last_active_window = None
+
+    def invalidation_hash(self):
+        """
+        When this changes, the layout needs to be rebuild.
+        """
+        if not self.windows:
+            return '<no-windows>'
+
+        w = self.get_active_window()
+        return w.invalidation_hash()
+
+    def get_active_window(self):
+        """
+        The current active :class:`.Window`.
+        """
+        app = get_app()
+
+        try:
+            return self._active_window_for_cli[app]
+        except KeyError:
+            self._active_window_for_cli[app] = self._last_active_window or self.windows[0]
+            return self.windows[0]
+
+    def set_active_window(self, window):
+        assert isinstance(window, Window)
+        app = get_app()
+
+        previous = self.get_active_window()
+        self._prev_active_window_for_cli[app] = previous
+        self._active_window_for_cli[app] = window
+        self._last_active_window = window
+
+    def set_active_window_from_pane_id(self, pane_id):
+        """
+        Make the window with this pane ID the active Window.
+        """
+        assert isinstance(pane_id, int)
+
+        for w in self.windows:
+            for p in w.panes:
+                if p.pane_id == pane_id:
+                    self.set_active_window(w)
+
+    def get_previous_active_window(self):
+        " The previous active Window or None if unknown. "
+        app = get_app()
+
+        try:
+            return self._prev_active_window_for_cli[app]
+        except KeyError:
+            return None
+
+    def get_window_by_index(self, index):
+        " Return the Window with this index or None if not found. "
+        for w in self.windows:
+            if w.index == index:
+                return w
+
+    def create_window(self, pane, name=None, set_active=True):
+        """
+        Create a new window that contains just this pane.
+
+        :param pane: The :class:`.Pane` instance to put in the new window.
+        :param name: If given, name for the new window.
+        :param set_active: When True, focus the new window.
+        """
+        assert isinstance(pane, Pane)
+        assert name is None or isinstance(name, six.text_type)
+
+        # Take the first available index.
+        taken_indexes = [w.index for w in self.windows]
+
+        index = self.base_index
+        while index in taken_indexes:
+            index += 1
+
+        # Create new window and add it.
+        w = Window(index)
+        w.add_pane(pane)
+        self.windows.append(w)
+
+        # Sort windows by index.
+        self.windows = sorted(self.windows, key=lambda w: w.index)
+
+        app = get_app(return_none=True)
+
+        if app is not None and set_active:
+            self.set_active_window(w)
+
+        if name is not None:
+            w.chosen_name = name
+
+        assert w.active_pane == pane
+        assert w._get_parent(pane)
+
+    def move_window(self, window, new_index):
+        """
+        Move window to a new index.
+        """
+        assert isinstance(window, Window)
+        assert isinstance(new_index, int)
+
+        window.index = new_index
+
+        # Sort windows by index.
+        self.windows = sorted(self.windows, key=lambda w: w.index)
+
+    def get_active_pane(self):
+        """
+        The current :class:`.Pane` from the current window.
+        """
+        w = self.get_active_window()
+        if w is not None:
+            return w.active_pane
+
+    def remove_pane(self, pane):
+        """
+        Remove a :class:`.Pane`. (Look in all windows.)
+        """
+        assert isinstance(pane, Pane)
+
+        for w in self.windows:
+            w.remove_pane(pane)
+
+            # No panes left in this window?
+            if not w.has_panes:
+                # Focus next.
+                for app, active_w in self._active_window_for_cli.items():
+                    if w == active_w:
+                        with set_app(app):
+                            self.focus_next_window()
+
+                self.windows.remove(w)
+
+    def focus_previous_window(self):
+        w = self.get_active_window()
+
+        self.set_active_window(self.windows[
+            (self.windows.index(w) - 1) % len(self.windows)])
+
+    def focus_next_window(self):
+        w = self.get_active_window()
+
+        self.set_active_window(self.windows[
+            (self.windows.index(w) + 1) % len(self.windows)])
+
+    def break_pane(self, set_active=True):
+        """
+        When the current window has multiple panes, remove the pane from this
+        window and put it in a new window.
+
+        :param set_active: When True, focus the new window.
+        """
+        w = self.get_active_window()
+
+        if len(w.panes) > 1:
+            pane = w.active_pane
+            self.get_active_window().remove_pane(pane)
+            self.create_window(pane, set_active=set_active)
+
+    def rotate_window(self, count=1):
+        " Rotate the panes in the active window. "
+        w = self.get_active_window()
+        w.rotate(count=count)
+
+    @property
+    def has_panes(self):
+        " True when any of the windows has a :class:`.Pane`. "
+        for w in self.windows:
+            if w.has_panes:
+                return True
+        return False
diff --git a/pymux/client/__init__.py b/pymux/client/__init__.py
new file mode 100644
index 0000000..dacbf9e
--- /dev/null
+++ b/pymux/client/__init__.py
@@ -0,0 +1,3 @@
+from __future__ import unicode_literals
+from .base import Client
+from .defaults import create_client, list_clients
diff --git a/pymux/client/base.py b/pymux/client/base.py
new file mode 100644
index 0000000..8443360
--- /dev/null
+++ b/pymux/client/base.py
@@ -0,0 +1,22 @@
+from __future__ import unicode_literals
+
+from prompt_toolkit.output import ColorDepth
+from abc import ABCMeta
+from six import with_metaclass
+
+
+__all__ = [
+    'Client',
+]
+
+
+class Client(with_metaclass(ABCMeta, object)):
+    def run_command(self, command, pane_id=None):
+        """
+        Ask the server to run this command.
+        """
+
+    def attach(self, detach_other_clients=False, color_depth=ColorDepth.DEPTH_8_BIT):
+        """
+        Attach client user interface.
+        """
diff --git a/pymux/client/defaults.py b/pymux/client/defaults.py
new file mode 100644
index 0000000..938c307
--- /dev/null
+++ b/pymux/client/defaults.py
@@ -0,0 +1,24 @@
+from __future__ import unicode_literals
+from prompt_toolkit.utils import is_windows
+__all__ = [
+    'create_client',
+    'list_clients',
+]
+
+
+def create_client(socket_name):
+    if is_windows():
+        from .windows import WindowsClient
+        return WindowsClient()
+    else:
+        from .posix import PosixClient
+        return PosixClient(socket_name)
+
+
+def list_clients():
+    if is_windows():
+        from .windows import list_clients
+        return list_clients()
+    else:
+        from .posix import list_clients
+        return list_clients()
diff --git a/pymux/client/posix.py b/pymux/client/posix.py
new file mode 100644
index 0000000..53b8662
--- /dev/null
+++ b/pymux/client/posix.py
@@ -0,0 +1,203 @@
+from __future__ import unicode_literals
+
+from prompt_toolkit.eventloop.select import select_fds
+from prompt_toolkit.input.posix_utils import PosixStdinReader
+from prompt_toolkit.input.vt100 import raw_mode, cooked_mode
+from prompt_toolkit.output.vt100 import _get_size, Vt100_Output
+from prompt_toolkit.output import ColorDepth
+
+from pymux.utils import nonblocking
+
+import getpass
+import glob
+import json
+import os
+import signal
+import socket
+import sys
+import tempfile
+from .base import Client
+
+INPUT_TIMEOUT = .5
+
+__all__ = (
+    'PosixClient',
+    'list_clients',
+)
+
+
+class PosixClient(Client):
+    def __init__(self, socket_name):
+        self.socket_name = socket_name
+        self._mode_context_managers = []
+
+        # Connect to socket.
+        self.socket = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
+        self.socket.connect(socket_name)
+        self.socket.setblocking(1)
+
+        # Input reader.
+        #     Some terminals, like lxterminal send non UTF-8 input sequences,
+        #     even when the input encoding is supposed to be UTF-8. This
+        #     happens in the case of mouse clicks in the right area of a wide
+        #     terminal. Apparently, these are some binary blobs in between the
+        #     UTF-8 input.)
+        #     We should not replace these, because this would break the
+        #     decoding otherwise. (Also don't pass errors='ignore', because
+        #     that doesn't work for parsing mouse input escape sequences, which
+        #     consist of a fixed number of bytes.)
+        self._stdin_reader = PosixStdinReader(sys.stdin.fileno(), errors='replace')
+
+    def run_command(self, command, pane_id=None):
+        """
+        Ask the server to run this command.
+
+        :param pane_id: Optional identifier of the current pane.
+        """
+        self._send_packet({
+            'cmd': 'run-command',
+            'data': command,
+            'pane_id': pane_id
+        })
+
+    def attach(self, detach_other_clients=False, color_depth=ColorDepth.DEPTH_8_BIT):
+        """
+        Attach client user interface.
+        """
+        assert isinstance(detach_other_clients, bool)
+
+        self._send_size()
+        self._send_packet({
+            'cmd': 'start-gui',
+            'detach-others': detach_other_clients,
+            'color-depth': color_depth,
+            'term': os.environ.get('TERM', ''),
+            'data': ''
+        })
+
+        with raw_mode(sys.stdin.fileno()):
+            data_buffer = b''
+
+            stdin_fd = sys.stdin.fileno()
+            socket_fd = self.socket.fileno()
+            current_timeout = INPUT_TIMEOUT  # Timeout, used to flush escape sequences.
+
+            try:
+                def winch_handler(signum, frame):
+                    self._send_size()
+
+                signal.signal(signal.SIGWINCH, winch_handler)
+                while True:
+                    r = select_fds([stdin_fd, socket_fd], current_timeout)
+
+                    if socket_fd in r:
+                        # Received packet from server.
+                        data = self.socket.recv(1024)
+
+                        if data == b'':
+                            # End of file. Connection closed.
+                            # Reset terminal
+                            o = Vt100_Output.from_pty(sys.stdout)
+                            o.quit_alternate_screen()
+                            o.disable_mouse_support()
+                            o.disable_bracketed_paste()
+                            o.reset_attributes()
+                            o.flush()
+                            return
+                        else:
+                            data_buffer += data
+
+                            while b'\0' in data_buffer:
+                                pos = data_buffer.index(b'\0')
+                                self._process(data_buffer[:pos])
+                                data_buffer = data_buffer[pos + 1:]
+
+                    elif stdin_fd in r:
+                        # Got user input.
+                        self._process_stdin()
+                        current_timeout = INPUT_TIMEOUT
+
+                    else:
+                        # Timeout. (Tell the server to flush the vt100 Escape.)
+                        self._send_packet({'cmd': 'flush-input'})
+                        current_timeout = None
+            finally:
+                signal.signal(signal.SIGWINCH, signal.SIG_IGN)
+
+    def _process(self, data_buffer):
+        """
+        Handle incoming packet from server.
+        """
+        packet = json.loads(data_buffer.decode('utf-8'))
+
+        if packet['cmd'] == 'out':
+            # Call os.write manually. In Python2.6, sys.stdout.write doesn't use UTF-8.
+            os.write(sys.stdout.fileno(), packet['data'].encode('utf-8'))
+
+        elif packet['cmd'] == 'suspend':
+            # Suspend client process to background.
+            if hasattr(signal, 'SIGTSTP'):
+                os.kill(os.getpid(), signal.SIGTSTP)
+
+        elif packet['cmd'] == 'mode':
+            # Set terminal to raw/cooked.
+            action = packet['data']
+
+            if action == 'raw':
+                cm = raw_mode(sys.stdin.fileno())
+                cm.__enter__()
+                self._mode_context_managers.append(cm)
+
+            elif action == 'cooked':
+                cm = cooked_mode(sys.stdin.fileno())
+                cm.__enter__()
+                self._mode_context_managers.append(cm)
+
+            elif action == 'restore' and self._mode_context_managers:
+                cm = self._mode_context_managers.pop()
+                cm.__exit__()
+
+    def _process_stdin(self):
+        """
+        Received data on stdin. Read and send to server.
+        """
+        with nonblocking(sys.stdin.fileno()):
+            data = self._stdin_reader.read()
+
+        # Send input in chunks of 4k.
+        step = 4056
+        for i in range(0, len(data), step):
+            self._send_packet({
+                'cmd': 'in',
+                'data': data[i:i + step],
+            })
+
+    def _send_packet(self, data):
+        " Send to server. "
+        data = json.dumps(data).encode('utf-8')
+
+        # Be sure that our socket is blocking, otherwise, the send() call could
+        # raise `BlockingIOError` if the buffer is full.
+        self.socket.setblocking(1)
+
+        self.socket.send(data + b'\0')
+
+    def _send_size(self):
+        " Report terminal size to server. "
+        rows, cols = _get_size(sys.stdout.fileno())
+        self._send_packet({
+            'cmd': 'size',
+            'data': [rows, cols]
+        })
+
+
+def list_clients():
+    """
+    List all the servers that are running.
+    """
+    p = '%s/pymux.sock.%s.*' % (tempfile.gettempdir(), getpass.getuser())
+    for path in glob.glob(p):
+        try:
+            yield PosixClient(path)
+        except socket.error:
+            pass
diff --git a/pymux/client/windows.py b/pymux/client/windows.py
new file mode 100644
index 0000000..5e0d733
--- /dev/null
+++ b/pymux/client/windows.py
@@ -0,0 +1,15 @@
+from __future__ import unicode_literals
+from .base import Client
+
+__all__ = [
+    'WindowsClient',
+    'list_clients',
+]
+
+class WindowsClient(Client):
+    # NOT YES IMPLEMENTED.
+    pass
+
+
+def list_clients():
+    return []
diff --git a/pymux/commands/__init__.py b/pymux/commands/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/pymux/commands/aliases.py b/pymux/commands/aliases.py
new file mode 100644
index 0000000..9984641
--- /dev/null
+++ b/pymux/commands/aliases.py
@@ -0,0 +1,48 @@
+"""
+Aliases for all commands.
+(On purpose kept compatible with tmux.)
+"""
+from __future__ import unicode_literals
+
+__all__ = (
+    'ALIASES',
+)
+
+
+ALIASES = {
+    'bind': 'bind-key',
+    'breakp': 'break-pane',
+    'clearhist': 'clear-history',
+    'confirm': 'confirm-before',
+    'detach': 'detach-client',
+    'display': 'display-message',
+    'displayp': 'display-panes',
+    'killp': 'kill-pane',
+    'killw': 'kill-window',
+    'last': 'last-window',
+    'lastp': 'last-pane',
+    'lextl': 'next-layout',
+    'lsk': 'list-keys',
+    'lsp': 'list-panes',
+    'movew': 'move-window',
+    'neww': 'new-window',
+    'next': 'next-window',
+    'pasteb': 'paste-buffer',
+    'prev': 'previous-window',
+    'prevl': 'previous-layout',
+    'rename': 'rename-session',
+    'renamew': 'rename-window',
+    'resizep': 'resize-pane',
+    'rotatew': 'rotate-window',
+    'selectl': 'select-layout',
+    'selectp': 'select-pane',
+    'selectw': 'select-window',
+    'send': 'send-keys',
+    'set': 'set-option',
+    'setw': 'set-window-option',
+    'source': 'source-file',
+    'splitw': 'split-window',
+    'suspendc': 'suspend-client',
+    'swapp': 'swap-pane',
+    'unbind': 'unbind-key',
+}
diff --git a/pymux/commands/commands.py b/pymux/commands/commands.py
new file mode 100644
index 0000000..5db40c2
--- /dev/null
+++ b/pymux/commands/commands.py
@@ -0,0 +1,659 @@
+from __future__ import unicode_literals
+import docopt
+import os
+import re
+import shlex
+import six
+
+from prompt_toolkit.application.current import get_app
+from prompt_toolkit.document import Document
+from prompt_toolkit.key_binding.vi_state import InputMode
+
+from pymux.arrangement import LayoutTypes
+from pymux.commands.aliases import ALIASES
+from pymux.commands.utils import wrap_argument
+from pymux.format import format_pymux_string
+from pymux.key_mappings import pymux_key_to_prompt_toolkit_key_sequence, prompt_toolkit_key_to_vt100_key
+from pymux.layout import focus_right, focus_left, focus_up, focus_down
+from pymux.log import logger
+from pymux.options import SetOptionError
+
+__all__ = (
+    'call_command_handler',
+    'get_documentation_for_command',
+    'get_option_flags_for_command',
+    'handle_command',
+    'has_command_handler',
+)
+
+COMMANDS_TO_HANDLERS = {}  # Global mapping of pymux commands to their handlers.
+COMMANDS_TO_HELP = {}
+COMMANDS_TO_OPTION_FLAGS = {}
+
+
+def has_command_handler(command):
+    return command in COMMANDS_TO_HANDLERS
+
+
+def get_documentation_for_command(command):
+    """ Return the help text for this command, or None if the command is not
+    known. """
+    if command in COMMANDS_TO_HELP:
+        return 'Usage: %s %s' % (command, COMMANDS_TO_HELP.get(command, ''))
+
+
+def get_option_flags_for_command(command):
+    " Return a list of options (-x flags) for this command. "
+    return COMMANDS_TO_OPTION_FLAGS.get(command, [])
+
+
+def handle_command(pymux, input_string):
+    """
+    Handle command.
+    """
+    assert isinstance(input_string, six.text_type)
+
+    input_string = input_string.strip()
+    logger.info('handle command: %s %s.', input_string, type(input_string))
+
+    if input_string and not input_string.startswith('#'):  # Ignore comments.
+        try:
+            if six.PY2:
+                # In Python2.6, shlex doesn't work with unicode input at all.
+                # In Python2.7, shlex tries to encode using ASCII.
+                parts = shlex.split(input_string.encode('utf-8'))
+                parts = [p.decode('utf-8') for p in parts]
+            else:
+                parts = shlex.split(input_string)
+        except ValueError as e:
+            # E.g. missing closing quote.
+            pymux.show_message('Invalid command %s: %s' % (input_string, e))
+        else:
+            call_command_handler(parts[0], pymux, parts[1:])
+
+
+def call_command_handler(command, pymux, arguments):
+    """
+    Execute command.
+
+    :param arguments: List of options.
+    """
+    assert isinstance(arguments, list)
+
+    # Resolve aliases.
+    command = ALIASES.get(command, command)
+
+    try:
+        handler = COMMANDS_TO_HANDLERS[command]
+    except KeyError:
+        pymux.show_message('Invalid command: %s' % (command,))
+    else:
+        try:
+            handler(pymux, arguments)
+        except CommandException as e:
+            pymux.show_message(e.message)
+
+
+def cmd(name, options=''):
+    """
+    Decorator for all commands.
+
+    Commands will receive (pymux, variables) as input.
+    Commands can raise CommandException.
+    """
+    # Validate options.
+    if options:
+        try:
+            docopt.docopt('Usage:\n    %s %s' % (name, options, ), [])
+        except SystemExit:
+            pass
+
+    def decorator(func):
+        def command_wrapper(pymux, arguments):
+            # Hack to make the 'bind-key' option work.
+            # (bind-key expects a variable number of arguments.)
+            if name == 'bind-key' and '--' not in arguments:
+                # Insert a double dash after the first non-option.
+                for i, p in enumerate(arguments):
+                    if not p.startswith('-'):
+                        arguments.insert(i + 1, '--')
+                        break
+
+            # Parse options.
+            try:
+                # Python 2 workaround: pass bytes to docopt.
+                # From the following, only the bytes version returns the right
+                # output in Python 2:
+                #   docopt.docopt('Usage:\n  app <params>...', [b'a', b'b'])
+                #   docopt.docopt('Usage:\n  app <params>...', [u'a', u'b'])
+                # https://github.com/docopt/docopt/issues/30
+                # (Not sure how reliable this is...)
+                if six.PY2:
+                    arguments = [a.encode('utf-8') for a in arguments]
+
+                received_options = docopt.docopt(
+                    'Usage:\n    %s %s' % (name, options),
+                    arguments,
+                    help=False)  # Don't interpret the '-h' option as help.
+
+                # Make sure that all the received options from docopt are
+                # unicode objects. (Docopt returns 'str' for Python2.)
+                for k, v in received_options.items():
+                    if isinstance(v, six.binary_type):
+                        received_options[k] = v.decode('utf-8')
+            except SystemExit:
+                raise CommandException('Usage: %s %s' % (name, options))
+
+            # Call handler.
+            func(pymux, received_options)
+
+            # Invalidate all clients, not just the current CLI.
+            pymux.invalidate()
+
+        COMMANDS_TO_HANDLERS[name] = command_wrapper
+        COMMANDS_TO_HELP[name] = options
+
+        # Get list of option flags.
+        flags = re.findall(r'-[a-zA-Z0-9]\b', options)
+        COMMANDS_TO_OPTION_FLAGS[name] = flags
+
+        return func
+    return decorator
+
+
+class CommandException(Exception):
+    " When raised from a command handler, this message will be shown. "
+    def __init__(self, message):
+        self.message = message
+
+#
+# The actual commands.
+#
+
+
+@cmd('break-pane', options='[-d]')
+def break_pane(pymux, variables):
+    dont_focus_window = variables['-d']
+
+    pymux.arrangement.break_pane(set_active=not dont_focus_window)
+    pymux.invalidate()
+
+
+@cmd('select-pane', options='(-L|-R|-U|-D|-t <pane-id>)')
+def select_pane(pymux, variables):
+
+    if variables['-t']:
+        pane_id = variables['<pane-id>']
+        w = pymux.arrangement.get_active_window()
+
+        if pane_id == ':.+':
+            w.focus_next()
+        elif pane_id == ':.-':
+            w.focus_previous()
+        else:
+            # Select pane by index.
+            try:
+                pane_id = int(pane_id[1:])
+                w.active_pane = w.panes[pane_id]
+            except (IndexError, ValueError):
+                raise CommandException('Invalid pane.')
+
+    else:
+        if variables['-L']: h = focus_left
+        if variables['-U']: h = focus_up
+        if variables['-D']: h = focus_down
+        if variables['-R']: h = focus_right
+
+        h(pymux)
+
+
+@cmd('select-window', options='(-t <target-window>)')
+def select_window(pymux, variables):
+    """
+    Select a window. E.g:  select-window -t :3
+    """
+    window_id = variables['<target-window>']
+
+    def invalid_window():
+        raise CommandException('Invalid window: %s' % window_id)
+
+    if window_id.startswith(':'):
+        try:
+            number = int(window_id[1:])
+        except ValueError:
+            invalid_window()
+        else:
+            w = pymux.arrangement.get_window_by_index(number)
+            if w:
+                pymux.arrangement.set_active_window(w)
+            else:
+                invalid_window()
+    else:
+        invalid_window()
+
+
+@cmd('move-window', options='(-t <dst-window>)')
+def move_window(pymux, variables):
+    """
+    Move window to a new index.
+    """
+    dst_window = variables['<dst-window>']
+    try:
+        new_index = int(dst_window)
+    except ValueError:
+        raise CommandException('Invalid window index: %r' % (dst_window, ))
+
+    # Check first whether the index was not yet taken.
+    if pymux.arrangement.get_window_by_index(new_index):
+        raise CommandException("Can't move window: index in use.")
+
+    # Save index.
+    w = pymux.arrangement.get_active_window()
+    pymux.arrangement.move_window(w, new_index)
+
+
+@cmd('rotate-window', options='[-D|-U]')
+def rotate_window(pymux, variables):
+    if variables['-D']:
+        pymux.arrangement.rotate_window(count=-1)
+    else:
+        pymux.arrangement.rotate_window()
+
+
+@cmd('swap-pane', options='(-D|-U)')
+def swap_pane(pymux, variables):
+    pymux.arrangement.get_active_window().rotate(with_pane_after_only=variables['-U'])
+
+
+@cmd('kill-pane')
+def kill_pane(pymux, variables):
+    pane = pymux.arrangement.get_active_pane()
+    pymux.kill_pane(pane)
+
+
+@cmd('kill-window')
+def kill_window(pymux, variables):
+    " Kill all panes in the current window. "
+    for pane in pymux.arrangement.get_active_window().panes:
+        pymux.kill_pane(pane)
+
+
+@cmd('suspend-client')
+def suspend_client(pymux, variables):
+    connection = pymux.get_connection()
+
+    if connection:
+        connection.suspend_client_to_background()
+
+
+@cmd('clock-mode')
+def clock_mode(pymux, variables):
+    pane = pymux.arrangement.get_active_pane()
+    if pane:
+        pane.clock_mode = not pane.clock_mode
+
+
+@cmd('last-pane')
+def last_pane(pymux, variables):
+    w = pymux.arrangement.get_active_window()
+    prev_active_pane = w.previous_active_pane
+
+    if prev_active_pane:
+        w.active_pane = prev_active_pane
+
+
+@cmd('next-layout')
+def next_layout(pymux, variables):
+    " Select next layout. "
+    pane = pymux.arrangement.get_active_window()
+    if pane:
+        pane.select_next_layout()
+
+
+@cmd('previous-layout')
+def previous_layout(pymux, variables):
+    " Select previous layout. "
+    pane = pymux.arrangement.get_active_window()
+    if pane:
+        pane.select_previous_layout()
+
+
+@cmd('new-window', options='[(-n <name>)] [(-c <start-directory>)] [<executable>]')
+def new_window(pymux, variables):
+    executable = variables['<executable>']
+    start_directory = variables['<start-directory>']
+    name = variables['<name>']
+
+    pymux.create_window(executable, start_directory=start_directory, name=name)
+
+
+@cmd('next-window')
+def next_window(pymux, variables):
+    " Focus the next window. "
+    pymux.arrangement.focus_next_window()
+
+
+@cmd('last-window')
+def _(pymux, variables):
+    " Go to previous active window. "
+    w = pymux.arrangement.get_previous_active_window()
+
+    if w:
+        pymux.arrangement.set_active_window(w)
+
+
+@cmd('previous-window')
+def previous_window(pymux, variables):
+    " Focus the previous window. "
+    pymux.arrangement.focus_previous_window()
+
+
+@cmd('select-layout', options='<layout-type>')
+def select_layout(pymux, variables):
+    layout_type = variables['<layout-type>']
+
+    if layout_type in LayoutTypes._ALL:
+        pymux.arrangement.get_active_window().select_layout(layout_type)
+    else:
+        raise CommandException('Invalid layout type.')
+
+
+@cmd('rename-window', options='<name>')
+def rename_window(pymux, variables):
+    """
+    Rename the active window.
+    """
+    pymux.arrangement.get_active_window().chosen_name = variables['<name>']
+
+
+@cmd('rename-pane', options='<name>')
+def rename_pane(pymux, variables):
+    """
+    Rename the active pane.
+    """
+    pymux.arrangement.get_active_pane().chosen_name = variables['<name>']
+
+
+@cmd('rename-session', options='<name>')
+def rename_session(pymux, variables):
+    """
+    Rename this session.
+    """
+    pymux.session_name = variables['<name>']
+
+
+@cmd('split-window', options='[-v|-h] [(-c <start-directory>)] [<executable>]')
+def split_window(pymux, variables):
+    """
+    Split horizontally or vertically.
+    """
+    executable = variables['<executable>']
+    start_directory = variables['<start-directory>']
+
+    # The tmux definition of horizontal is the opposite of prompt_toolkit.
+    pymux.add_process(executable, vsplit=variables['-h'],
+                      start_directory=start_directory)
+
+
+@cmd('resize-pane', options="[(-L <left>)] [(-U <up>)] [(-D <down>)] [(-R <right>)] [-Z]")
+def resize_pane(pymux, variables):
+    """
+    Resize/zoom the active pane.
+    """
+    try:
+        left = int(variables['<left>'] or 0)
+        right = int(variables['<right>'] or 0)
+        up = int(variables['<up>'] or 0)
+        down = int(variables['<down>'] or 0)
+    except ValueError:
+        raise CommandException('Expecting an integer.')
+
+    w = pymux.arrangement.get_active_window()
+
+    if w:
+        w.change_size_for_active_pane(up=up, right=right, down=down, left=left)
+
+        # Zoom in/out.
+        if variables['-Z']:
+            w.zoom = not w.zoom
+
+
+@cmd('detach-client')
+def detach_client(pymux, variables):
+    """
+    Detach client.
+    """
+    pymux.detach_client(get_app())
+
+
+@cmd('confirm-before', options='[(-p <message>)] <command>')
+def confirm_before(pymux, variables):
+    client_state = pymux.get_client_state()
+
+    client_state.confirm_text = variables['<message>'] or ''
+    client_state.confirm_command = variables['<command>']
+
+
+@cmd('command-prompt', options='[(-p <message>)] [(-I <default>)] [<command>]')
+def command_prompt(pymux, variables):
+    """
+    Enter command prompt.
+    """
+    client_state = pymux.get_client_state()
+
+    if variables['<command>']:
+        # When a 'command' has been given.
+        client_state.prompt_text = variables['<message>'] or '(%s)' % variables['<command>'].split()[0]
+        client_state.prompt_command = variables['<command>']
+
+        client_state.prompt_mode = True
+        client_state.prompt_buffer.reset(Document(
+            format_pymux_string(pymux, variables['<default>'] or '')))
+
+        get_app().layout.focus(client_state.prompt_buffer)
+    else:
+        # Show the ':' prompt.
+        client_state.prompt_text = ''
+        client_state.prompt_command = ''
+
+        get_app().layout.focus(client_state.command_buffer)
+
+    # Go to insert mode.
+    get_app().vi_state.input_mode = InputMode.INSERT
+
+
+@cmd('send-prefix')
+def send_prefix(pymux, variables):
+    """
+    Send prefix to active pane.
+    """
+    process = pymux.arrangement.get_active_pane().process
+
+    for k in pymux.key_bindings_manager.prefix:
+        vt100_data = prompt_toolkit_key_to_vt100_key(k)
+        process.write_input(vt100_data)
+
+
+@cmd('bind-key', options='[-n] <key> [--] <command> [<arguments>...]')
+def bind_key(pymux, variables):
+    """
+    Bind a key sequence.
+    -n: Not necessary to use the prefix.
+    """
+    key = variables['<key>']
+    command = variables['<command>']
+    arguments = variables['<arguments>']
+    needs_prefix = not variables['-n']
+
+    try:
+        pymux.key_bindings_manager.add_custom_binding(
+            key, command, arguments, needs_prefix=needs_prefix)
+    except ValueError:
+        raise CommandException('Invalid key: %r' % (key, ))
+
+
+@cmd('unbind-key', options='[-n] <key>')
+def unbind_key(pymux, variables):
+    """
+    Remove key binding.
+    """
+    key = variables['<key>']
+    needs_prefix = not variables['-n']
+
+    pymux.key_bindings_manager.remove_custom_binding(
+        key, needs_prefix=needs_prefix)
+
+
+@cmd('send-keys', options='<keys>...')
+def send_keys(pymux, variables):
+    """
+    Send key strokes to the active process.
+    """
+    pane = pymux.arrangement.get_active_pane()
+
+    if pane.display_scroll_buffer:
+        raise CommandException('Cannot send keys. Pane is in copy mode.')
+
+    for key in variables['<keys>']:
+        # Translate key from pymux key to prompt_toolkit key.
+        try:
+            keys_sequence = pymux_key_to_prompt_toolkit_key_sequence(key)
+        except ValueError:
+            raise CommandException('Invalid key: %r' % (key, ))
+
+        # Translate prompt_toolkit key to VT100 key.
+        for k in keys_sequence:
+            pane.process.write_key(k)
+
+
+@cmd('copy-mode', options='[-u]')
+def copy_mode(pymux, variables):
+    """
+    Enter copy mode.
+    """
+    go_up = variables['-u']  # Go in copy mode and page-up directly.
+    # TODO: handle '-u'
+
+    pane = pymux.arrangement.get_active_pane()
+    pane.enter_copy_mode()
+
+
+@cmd('paste-buffer')
+def paste_buffer(pymux, variables):
+    """
+    Paste clipboard content into buffer.
+    """
+    pane = pymux.arrangement.get_active_pane()
+    pane.process.write_input(get_app().clipboard.get_data().text, paste=True)
+
+
+@cmd('source-file', options='<filename>')
+def source_file(pymux, variables):
+    """
+    Source configuration file.
+    """
+    filename = os.path.expanduser(variables['<filename>'])
+    try:
+        with open(filename, 'rb') as f:
+            for line in f:
+                line = line.decode('utf-8')
+                handle_command(pymux, line)
+    except IOError as e:
+        raise CommandException('IOError: %s' % (e, ))
+
+
+@cmd('set-option', options='<option> <value>')
+def set_option(pymux, variables, window=False):
+    name = variables['<option>']
+    value = variables['<value>']
+
+    if window:
+        option = pymux.window_options.get(name)
+    else:
+        option = pymux.options.get(name)
+
+    if option:
+        try:
+            option.set_value(pymux, value)
+        except SetOptionError as e:
+            raise CommandException(e.message)
+    else:
+        raise CommandException('Invalid option: %s' % (name, ))
+
+@cmd('set-window-option', options='<option> <value>')
+def set_window_option(pymux, variables):
+    set_option(pymux, variables, window=True)
+
+
+@cmd('display-panes')
+def display_panes(pymux, variables):
+    " Display the pane numbers. "
+    pymux.display_pane_numbers = True
+
+
+@cmd('display-message', options='<message>')
+def display_message(pymux, variables):
+    " Display a message. "
+    message = variables['<message>']
+    client_state = pymux.get_client_state()
+    client_state.message = message
+
+
+@cmd('clear-history')
+def clear_history(pymux, variables):
+    " Clear scrollback buffer. "
+    pane = pymux.arrangement.get_active_pane()
+
+    if pane.display_scroll_buffer:
+        raise CommandException('Not available in copy mode')
+    else:
+        pane.process.screen.clear_history()
+
+
+@cmd('list-keys')
+def list_keys(pymux, variables):
+    """
+    Display all configured key bindings.
+    """
+    # Create help string.
+    result = []
+
+    for k, custom_binding in pymux.key_bindings_manager.custom_bindings.items():
+        needs_prefix, key = k
+
+        result.append('bind-key %3s %-10s %s %s' % (
+            ('-n' if needs_prefix else ''), key, custom_binding.command,
+            ' '.join(map(wrap_argument, custom_binding.arguments))))
+
+    result = '\n'.join(sorted(result))
+
+    # Display help in pane.
+    pymux.get_client_state().layout_manager.display_popup('list-keys', result)
+
+
+@cmd('list-panes')
+def list_panes(pymux, variables):
+    """
+    Display a list of all the panes.
+    """
+    w = pymux.arrangement.get_active_window()
+    active_pane = w.active_pane
+
+    result = []
+
+    for i, p in enumerate(w.panes):
+        process = p.process
+
+        result.append('%i: [%sx%s] [history %s/%s] %s\n' % (
+            i, process.sx, process.sy,
+            min(pymux.history_limit, process.screen.line_offset + process.sy),
+            pymux.history_limit,
+            ('(active)' if p == active_pane else '')))
+
+    # Display help in pane.
+    active_pane.display_text(''.join(result), title='list-panes')
+
+
+# Check whether all aliases point to real commands.
+for k in ALIASES.values():
+    assert k in COMMANDS_TO_HANDLERS
diff --git a/pymux/commands/completer.py b/pymux/commands/completer.py
new file mode 100644
index 0000000..6e2c018
--- /dev/null
+++ b/pymux/commands/completer.py
@@ -0,0 +1,185 @@
+from __future__ import unicode_literals
+
+from prompt_toolkit.completion import Completer, Completion, WordCompleter
+from prompt_toolkit.document import Document
+
+from .aliases import ALIASES
+from .commands import COMMANDS_TO_HANDLERS, get_option_flags_for_command
+from .utils import wrap_argument
+
+from pymux.arrangement import LayoutTypes
+from pymux.key_mappings import PYMUX_TO_PROMPT_TOOLKIT_KEYS
+
+from functools import partial
+
+
+__all__ = (
+    'create_command_completer',
+)
+
+
+def create_command_completer(pymux):
+    return ShlexCompleter(partial(get_completions_for_parts, pymux=pymux))
+
+
+class CommandCompleter(Completer):
+    """
+    Completer for command names.
+    """
+    def __init__(self):
+        # Completer for full command names.
+        self._command_completer = WordCompleter(
+            sorted(COMMANDS_TO_HANDLERS.keys()),
+            ignore_case=True, WORD=True, match_middle=True)
+
+        # Completer for aliases.
+        self._aliases_completer = WordCompleter(
+            sorted(ALIASES.keys()),
+            ignore_case=True, WORD=True, match_middle=True)
+
+    def get_completions(self, document, complete_event):
+        # First, complete on full command names.
+        found = False
+
+        for c in self._command_completer.get_completions(document, complete_event):
+            found = True
+            yield c
+
+        # When no matches are found, complete aliases instead.
+        # The completion however, inserts the full name.
+        if not found:
+            for c in self._aliases_completer.get_completions(document, complete_event):
+                full_name = ALIASES.get(c.display)
+
+                yield Completion(full_name,
+                                 start_position=c.start_position,
+                                 display='%s (%s)' % (c.display, full_name))
+
+
+_command_completer = CommandCompleter()
+_layout_type_completer = WordCompleter(sorted(LayoutTypes._ALL), WORD=True)
+_keys_completer = WordCompleter(sorted(PYMUX_TO_PROMPT_TOOLKIT_KEYS.keys()),
+                                ignore_case=True, WORD=True)
+
+
+def get_completions_for_parts(parts, last_part, complete_event, pymux):
+    completer = None
+
+    # Resolve aliases.
+    if len(parts) > 0:
+        parts = [ALIASES.get(parts[0], parts[0])] + parts[1:]
+
+    if len(parts) == 0:
+        # New command.
+        completer = _command_completer
+
+    elif len(parts) >= 1 and last_part.startswith('-'):
+        flags = get_option_flags_for_command(parts[0])
+        completer = WordCompleter(sorted(flags), WORD=True)
+
+    elif len(parts) == 1 and parts[0] in ('set-option', 'set-window-option'):
+        options = pymux.options if parts[0] == 'set-option' else pymux.window_options
+
+        completer = WordCompleter(sorted(options.keys()), sentence=True)
+
+    elif len(parts) == 2 and parts[0] in ('set-option', 'set-window-option'):
+        options = pymux.options if parts[0] == 'set-option' else pymux.window_options
+
+        option = options.get(parts[1])
+        if option:
+            completer = WordCompleter(sorted(option.get_all_values(pymux)), sentence=True)
+
+    elif len(parts) == 1 and parts[0] == 'select-layout':
+        completer = _layout_type_completer
+
+    elif len(parts) == 1 and parts[0] == 'send-keys':
+        completer = _keys_completer
+
+    elif parts[0] == 'bind-key':
+        if len(parts) == 1:
+            completer = _keys_completer
+
+        elif len(parts) == 2:
+            completer = _command_completer
+
+    # Recursive, for bind-key options.
+    if parts and parts[0] == 'bind-key' and len(parts) > 2:
+        for c in get_completions_for_parts(parts[2:], last_part, complete_event, pymux):
+            yield c
+
+    if completer:
+        for c in completer.get_completions(Document(last_part), complete_event):
+            yield c
+
+
+class ShlexCompleter(Completer):
+    """
+    Completer that can be used when the input is parsed with shlex.
+    """
+    def __init__(self, get_completions_for_parts):
+        assert callable(get_completions_for_parts)
+        self.get_completions_for_parts = get_completions_for_parts
+
+    def get_completions(self, document, complete_event):
+        text = document.text_before_cursor
+
+        parts, part_start_pos = self.parse(text)
+
+        for c in self.get_completions_for_parts(parts[:-1], parts[-1], complete_event):
+            yield Completion(wrap_argument(parts[-1][:c.start_position] + c.text),
+                             start_position=part_start_pos - len(document.text),
+                             display=c.display,
+                             display_meta=c.display_meta)
+
+    @classmethod
+    def parse(cls, text):
+        """
+        Parse the given text. Returns a tuple:
+        (list_of_parts, start_pos_of_the_last_part).
+        """
+        OUTSIDE, IN_DOUBLE, IN_SINGLE = 0, 1, 2
+
+        iterator = enumerate(text)
+        state = OUTSIDE
+        parts = []
+        current_part = ''
+        part_start_pos = 0
+
+        for i, c in iterator:  # XXX: correctly handle empty strings.
+            if state == OUTSIDE:
+                if c.isspace():
+                    # New part.
+                    if current_part:
+                        parts.append(current_part)
+                    part_start_pos = i + 1
+                    current_part = ''
+                elif c == '"':
+                    state = IN_DOUBLE
+                elif c == "'":
+                    state = IN_SINGLE
+                else:
+                    current_part += c
+
+            elif state == IN_SINGLE:
+                if c == "'":
+                    state = OUTSIDE
+                elif c == "\\":
+                    next(iterator)
+                    current_part += c
+                else:
+                    current_part += c
+
+            elif state == IN_DOUBLE:
+                if c == '"':
+                    state = OUTSIDE
+                elif c == "\\":
+                    next(iterator)
+                    current_part += c
+                else:
+                    current_part += c
+
+        parts.append(current_part)
+        return parts, part_start_pos
+
+
+# assert ShlexCompleter.parse('"hello" world') == (['hello', 'world'], 8)
diff --git a/pymux/commands/utils.py b/pymux/commands/utils.py
new file mode 100644
index 0000000..be4e736
--- /dev/null
+++ b/pymux/commands/utils.py
@@ -0,0 +1,15 @@
+from __future__ import unicode_literals
+
+__all__ = (
+    'wrap_argument',
+)
+
+
+def wrap_argument(text):
+    """
+    Wrap command argument in quotes and escape when this contains special characters.
+    """
+    if not any(x in text for x in [' ', '"', "'", '\\']):
+        return text
+    else:
+        return '"%s"' % (text.replace('\\', r'\\').replace('"', r'\"'), )
diff --git a/pymux/entry_points/__init__.py b/pymux/entry_points/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/pymux/entry_points/run_pymux.py b/pymux/entry_points/run_pymux.py
new file mode 100644
index 0000000..b881c0f
--- /dev/null
+++ b/pymux/entry_points/run_pymux.py
@@ -0,0 +1,163 @@
+#!/usr/bin/env python
+"""
+pymux: Pure Python terminal multiplexer.
+Usage:
+    pymux [(standalone|start-server|attach)] [-d]
+          [--truecolor] [--ansicolor] [(-S <socket>)] [(-f <file>)]
+          [(--log <logfile>)]
+          [--] [<command>]
+    pymux list-sessions
+    pymux -h | --help
+    pymux <command>
+
+Options:
+    standalone   : Run as a standalone process. (for debugging, detaching is
+                   not possible.
+    start-server : Run a server daemon that can be attached later on.
+    attach       : Attach to a running session.
+
+    -f           : Path to configuration file. By default: '~/.pymux.conf'.
+    -S           : Unix socket path.
+    -d           : Detach all other clients, when attaching.
+    --log        : Logfile.
+    --truecolor  : Render true color (24 bit) instead of 256 colors.
+                   (Each client can set this separately.)
+"""
+from __future__ import unicode_literals, absolute_import
+
+from prompt_toolkit.output import ColorDepth
+from pymux.main import Pymux
+from pymux.client import create_client, list_clients
+from pymux.utils import daemonize
+
+import docopt
+import getpass
+import logging
+import os
+import sys
+import tempfile
+
+__all__ = (
+    'run',
+)
+
+
+def run():
+    a = docopt.docopt(__doc__)
+    socket_name = a['<socket>'] or os.environ.get('PYMUX')
+    socket_name_from_env = not a['<socket>'] and os.environ.get('PYMUX')
+    filename = a['<file>']
+    command = a['<command>']
+    true_color = a['--truecolor']
+    ansi_colors_only = a['--ansicolor'] or \
+        bool(os.environ.get('PROMPT_TOOLKIT_ANSI_COLORS_ONLY', False))
+
+    # Parse pane_id from socket_name. It looks like "socket_name,pane_id".
+    if socket_name and ',' in socket_name:
+        socket_name, pane_id = socket_name.rsplit(',', 1)
+    else:
+        pane_id = None
+
+    # Color depth.
+    if ansi_colors_only:
+        color_depth = ColorDepth.DEPTH_4_BIT
+    elif true_color:
+        color_depth = ColorDepth.DEPTH_24_BIT
+    else:
+        color_depth = ColorDepth.DEPTH_8_BIT
+
+    # Expand socket name. (Make it possible to just accept numbers.)
+    if socket_name and socket_name.isdigit():
+        socket_name = '%s/pymux.sock.%s.%s' % (
+            tempfile.gettempdir(), getpass.getuser(), socket_name)
+
+    # Configuration filename.
+    default_config = os.path.abspath(os.path.expanduser('~/.pymux.conf'))
+    if not filename and os.path.exists(default_config):
+        filename = default_config
+
+    if filename:
+        filename = os.path.abspath(os.path.expanduser(filename))
+
+    # Create 'Pymux'.
+    mux = Pymux(source_file=filename, startup_command=command)
+
+    # Setup logging.
+    if a['<logfile>']:
+        logging.basicConfig(filename=a['<logfile>'], level=logging.DEBUG)
+
+    if a['standalone']:
+        mux.run_standalone(color_depth=color_depth)
+
+    elif a['list-sessions'] or a['<command>'] in ('ls', 'list-sessions'):
+        for c in list_clients():
+            print(c.socket_name)
+
+    elif a['start-server']:
+        if socket_name_from_env:
+            _socket_from_env_warning()
+            sys.exit(1)
+
+        # Log to stdout.
+        logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)
+
+        # Run server.
+        socket_name = mux.listen_on_socket()
+        try:
+            mux.run_server()
+        except KeyboardInterrupt:
+            sys.exit(1)
+
+    elif a['attach']:
+        if socket_name_from_env:
+            _socket_from_env_warning()
+            sys.exit(1)
+
+        detach_other_clients = a['-d']
+
+        if socket_name:
+            create_client(socket_name).attach(
+                detach_other_clients=detach_other_clients,
+                color_depth=color_depth)
+        else:
+            # Connect to the first server.
+            for c in list_clients():
+                c.attach(detach_other_clients=detach_other_clients,
+                         color_depth=color_depth)
+                break
+            else:  # Nobreak.
+                print('No pymux instance found.')
+                sys.exit(1)
+
+    elif a['<command>'] and socket_name:
+        create_client(socket_name).run_command(a['<command>'], pane_id)
+
+    elif not socket_name:
+        # Run client/server combination.
+        socket_name = mux.listen_on_socket(socket_name)
+        pid = daemonize()
+
+        if pid > 0:
+            # Create window. It is important that this happens in the daemon,
+            # because the parent of the process running inside should be this
+            # daemon. (Otherwise the `waitpid` call won't work.)
+            mux.run_server()
+        else:
+            create_client(socket_name).attach(color_depth=color_depth)
+
+    else:
+        if socket_name_from_env:
+            _socket_from_env_warning()
+            sys.exit(1)
+        else:
+            print('Invalid command.')
+            sys.exit(1)
+
+
+def _socket_from_env_warning():
+    print('Please be careful nesting pymux sessions.')
+    print('Unset PYMUX environment variable first.')
+
+
+if __name__ == '__main__':
+    run()
diff --git a/pymux/enums.py b/pymux/enums.py
new file mode 100644
index 0000000..ae1636a
--- /dev/null
+++ b/pymux/enums.py
@@ -0,0 +1,13 @@
+from __future__ import unicode_literals
+
+__all__ = (
+    'COMMAND',
+    'PROMPT',
+)
+
+
+#: Name of the command buffer.
+COMMAND = 'COMMAND'
+
+#: Name of the input for a "command-prompt" command.
+PROMPT = 'PROMPT'
diff --git a/pymux/filters.py b/pymux/filters.py
new file mode 100644
index 0000000..49f99bf
--- /dev/null
+++ b/pymux/filters.py
@@ -0,0 +1,101 @@
+from __future__ import unicode_literals
+from prompt_toolkit.filters import Filter
+
+__all__ = (
+    'HasPrefix',
+    'WaitsForConfirmation',
+    'InCommandMode',
+    'WaitsForPrompt',
+    'InScrollBuffer',
+    'InScrollBufferNotSearching',
+    'InScrollBufferSearching',
+)
+
+
+class HasPrefix(Filter):
+    """
+    When the prefix key (Usual C-b) has been pressed.
+    """
+    def __init__(self, pymux):
+        self.pymux = pymux
+
+    def __call__(self):
+        return self.pymux.get_client_state().has_prefix
+
+
+class WaitsForConfirmation(Filter):
+    """
+    Waiting for a yes/no key press.
+    """
+    def __init__(self, pymux):
+        self.pymux = pymux
+
+    def __call__(self):
+        return bool(self.pymux.get_client_state().confirm_command)
+
+
+class InCommandMode(Filter):
+    """
+    When ':' has been pressed.'
+    """
+    def __init__(self, pymux):
+        self.pymux = pymux
+
+    def __call__(self):
+        client_state = self.pymux.get_client_state()
+        return client_state.command_mode and not client_state.confirm_command
+
+
+class WaitsForPrompt(Filter):
+    """
+    Waiting for input for a "command-prompt" command.
+    """
+    def __init__(self, pymux):
+        self.pymux = pymux
+
+    def __call__(self):
+        client_state = self.pymux.get_client_state()
+        return bool(client_state.prompt_command) and not client_state.confirm_command
+
+
+def _confirm_or_prompt_or_command(pymux):
+    " True when we are waiting for a command, prompt or confirmation. "
+    client_state = pymux.get_client_state()
+    if client_state.confirm_text or client_state.prompt_command or client_state.command_mode:
+        return True
+
+
+class InScrollBuffer(Filter):
+    def __init__(self, pymux):
+        self.pymux = pymux
+
+    def __call__(self):
+        if _confirm_or_prompt_or_command(self.pymux):
+            return False
+
+        pane = self.pymux.arrangement.get_active_pane()
+        return pane.display_scroll_buffer
+
+
+class InScrollBufferNotSearching(Filter):
+    def __init__(self, pymux):
+        self.pymux = pymux
+
+    def __call__(self):
+        if _confirm_or_prompt_or_command(self.pymux):
+            return False
+
+        pane = self.pymux.arrangement.get_active_pane()
+        return pane.display_scroll_buffer and not pane.is_searching
+
+
+class InScrollBufferSearching(Filter):
+    def __init__(self, pymux):
+        self.pymux = pymux
+
+    def __call__(self):
+        if _confirm_or_prompt_or_command(self.pymux):
+            return False
+
+        pane = self.pymux.arrangement.get_active_pane()
+        return pane.display_scroll_buffer and pane.is_searching
diff --git a/pymux/format.py b/pymux/format.py
new file mode 100644
index 0000000..3f2cdad
--- /dev/null
+++ b/pymux/format.py
@@ -0,0 +1,99 @@
+"""
+Pymux string formatting.
+"""
+from __future__ import unicode_literals
+import datetime
+import socket
+import six
+
+__all__ = (
+    'format_pymux_string',
+)
+
+
+def format_pymux_string(pymux, string, window=None, pane=None):
+    """
+    Apply pymux sting formatting. (Similar to tmux.)
+    E.g.  #P is replaced by the index of the active pane.
+
+    We try to stay compatible with tmux, if possible.
+    One thing that we won't support (for now) is colors, because our styling
+    works different. (With a Style class.) On the other hand, in the future, we
+    could allow things like `#[token=Token.Title.PID]`. This gives a clean
+    separation of semantics and colors, making it easy to write different color
+    schemes.
+    """
+    arrangement = pymux.arrangement
+
+    if window is None:
+        window = arrangement.get_active_window()
+
+    if pane is None:
+        pane = window.active_pane
+
+    def id_of_pane():
+        return '%s' % (pane.pane_id, )
+
+    def index_of_pane():
+        try:
+            return '%s' % (window.get_pane_index(pane), )
+        except ValueError:
+            return '/'
+
+    def index_of_window():
+        return '%s' % (window.index, )
+
+    def name_of_window():
+        return window.name or '(noname)'
+
+    def window_flags():
+        z = 'Z' if window.zoom else ''
+
+        if window == arrangement.get_active_window():
+            return '*' + z
+        elif window == arrangement.get_previous_active_window():
+            return '-' + z
+        else:
+            return z + ' '
+
+    def name_of_session():
+        return pymux.session_name
+
+    def title_of_pane():
+        return pane.process.screen.title
+
+    def hostname():
+        return socket.gethostname()
+
+    def literal():
+        return '#'
+
+    format_table = {
+        '#D': id_of_pane,
+        '#F': window_flags,
+        '#I': index_of_window,
+        '#P': index_of_pane,
+        '#S': name_of_session,
+        '#T': title_of_pane,
+        '#W': name_of_window,
+        '#h': hostname,
+        '##': literal,
+    }
+
+    # Date/time formatting.
+    if '%' in string:
+        try:
+            if six.PY2:
+                string = datetime.datetime.now().strftime(
+                    string.encode('utf-8')).decode('utf-8')
+            else:
+                string = datetime.datetime.now().strftime(string)
+        except ValueError:  # strftime format ends with raw %
+            string = '<ValueError>'
+
+    # Apply '#' formatting.
+    for symbol, f in format_table.items():
+        if symbol in string:
+            string = string.replace(symbol, f())
+
+    return string
diff --git a/pymux/key_bindings.py b/pymux/key_bindings.py
new file mode 100644
index 0000000..ceda0c1
--- /dev/null
+++ b/pymux/key_bindings.py
@@ -0,0 +1,259 @@
+"""
+Key bindings.
+"""
+from __future__ import unicode_literals
+from prompt_toolkit.filters import has_focus, Condition, has_selection
+from prompt_toolkit.keys import Keys
+from prompt_toolkit.selection import SelectionType
+from prompt_toolkit.key_binding import KeyBindings, merge_key_bindings
+
+from .enums import COMMAND, PROMPT
+from .filters import WaitsForConfirmation, HasPrefix, InScrollBuffer, InScrollBufferNotSearching
+from .key_mappings import pymux_key_to_prompt_toolkit_key_sequence
+from .commands.commands import call_command_handler
+
+import six
+
+__all__ = (
+    'PymuxKeyBindings',
+)
+
+
+class PymuxKeyBindings(object):
+    """
+    Pymux key binding manager.
+    """
+    def __init__(self, pymux):
+        self.pymux = pymux
+
+        def get_search_state():
+            " Return the currently active SearchState. (The one for the focused pane.) "
+            return pymux.arrangement.get_active_pane().search_state
+
+        self.custom_key_bindings = KeyBindings()
+
+        self.key_bindings = merge_key_bindings([
+            self._load_builtins(),
+            self.custom_key_bindings,
+        ])
+
+        self._prefix = ('c-b', )
+        self._prefix_binding = None
+
+        # Load initial bindings.
+        self._load_prefix_binding()
+
+        # Custom user configured key bindings.
+        # { (needs_prefix, key) -> (command, handler) }
+        self.custom_bindings = {}
+
+    def _load_prefix_binding(self):
+        """
+        Load the prefix key binding.
+        """
+        pymux = self.pymux
+
+        # Remove previous binding.
+        if self._prefix_binding:
+            self.key_bindings.remove_binding(self._prefix_binding)
+
+        # Create new Python binding.
+        @self.custom_key_bindings.add(*self._prefix, filter=
+            ~(HasPrefix(pymux) | has_focus(COMMAND) | has_focus(PROMPT) | WaitsForConfirmation(pymux)))
+        def enter_prefix_handler(event):
+            " Enter prefix mode. "
+            pymux.get_client_state().has_prefix = True
+
+        self._prefix_binding = enter_prefix_handler
+
+    @property
+    def prefix(self):
+        " Get the prefix key. "
+        return self._prefix
+
+    @prefix.setter
+    def prefix(self, keys):
+        """
+        Set a new prefix key.
+        """
+        assert isinstance(keys, tuple)
+
+        self._prefix = keys
+        self._load_prefix_binding()
+
+    def _load_builtins(self):
+        """
+        Fill the Registry with the hard coded key bindings.
+        """
+        pymux = self.pymux
+        kb = KeyBindings()
+
+        # Create filters.
+        has_prefix = HasPrefix(pymux)
+        waits_for_confirmation = WaitsForConfirmation(pymux)
+        prompt_or_command_focus = has_focus(COMMAND) | has_focus(PROMPT)
+        display_pane_numbers = Condition(lambda: pymux.display_pane_numbers)
+        in_scroll_buffer_not_searching = InScrollBufferNotSearching(pymux)
+
+        @kb.add(Keys.Any, filter=has_prefix)
+        def _(event):
+            " Ignore unknown Ctrl-B prefixed key sequences. "
+            pymux.get_client_state().has_prefix = False
+
+        @kb.add('c-c', filter=prompt_or_command_focus & ~has_prefix)
+        @kb.add('c-g', filter=prompt_or_command_focus & ~has_prefix)
+#        @kb.add('backspace', filter=has_focus(COMMAND) & ~has_prefix &
+#                              Condition(lambda: cli.buffers[COMMAND].text == ''))
+        def _(event):
+            " Leave command mode. "
+            pymux.leave_command_mode(append_to_history=False)
+
+        @kb.add('y', filter=waits_for_confirmation)
+        @kb.add('Y', filter=waits_for_confirmation)
+        def _(event):
+            """
+            Confirm command.
+            """
+            client_state = pymux.get_client_state()
+
+            command = client_state.confirm_command
+            client_state.confirm_command = None
+            client_state.confirm_text = None
+
+            pymux.handle_command(command)
+
+        @kb.add('n', filter=waits_for_confirmation)
+        @kb.add('N', filter=waits_for_confirmation)
+        @kb.add('c-c' , filter=waits_for_confirmation)
+        def _(event):
+            """
+            Cancel command.
+            """
+            client_state = pymux.get_client_state()
+            client_state.confirm_command = None
+            client_state.confirm_text = None
+
+        @kb.add('c-c', filter=in_scroll_buffer_not_searching)
+        @kb.add('enter', filter=in_scroll_buffer_not_searching)
+        @kb.add('q', filter=in_scroll_buffer_not_searching)
+        def _(event):
+            " Exit scroll buffer. "
+            pane = pymux.arrangement.get_active_pane()
+            pane.exit_scroll_buffer()
+
+        @kb.add(' ', filter=in_scroll_buffer_not_searching)
+        def _(event):
+            " Enter selection mode when pressing space in copy mode. "
+            event.current_buffer.start_selection(selection_type=SelectionType.CHARACTERS)
+
+        @kb.add('enter', filter=in_scroll_buffer_not_searching & has_selection)
+        def _(event):
+            " Copy selection when pressing Enter. "
+            clipboard_data = event.current_buffer.copy_selection()
+            event.app.clipboard.set_data(clipboard_data)
+
+        @kb.add('v', filter=in_scroll_buffer_not_searching & has_selection)
+        def _(event):
+            " Toggle between selection types. "
+            types = [SelectionType.LINES, SelectionType.BLOCK, SelectionType.CHARACTERS]
+            selection_state = event.current_buffer.selection_state
+
+            try:
+                index = types.index(selection_state.type)
+            except ValueError:  # Not in list.
+                index = 0
+
+            selection_state.type = types[(index + 1) % len(types)]
+
+        @Condition
+        def popup_displayed():
+            return self.pymux.get_client_state().display_popup
+
+        @kb.add('q', filter=popup_displayed, eager=True)
+        def _(event):
+            " Quit pop-up dialog. "
+            self.pymux.get_client_state().display_popup = False
+
+        @kb.add(Keys.Any, eager=True, filter=display_pane_numbers)
+        def _(event):
+            " When the pane numbers are shown. Any key press should hide them. "
+            pymux.display_pane_numbers = False
+
+        @Condition
+        def clock_displayed():
+            " "
+            pane = pymux.arrangement.get_active_pane()
+            return pane.clock_mode
+
+        @kb.add(Keys.Any, eager=True, filter=clock_displayed)
+        def _(event):
+            " When the clock is displayed. Any key press should hide it. "
+            pane = pymux.arrangement.get_active_pane()
+            pane.clock_mode = False
+
+        return kb
+
+    def add_custom_binding(self, key_name, command, arguments, needs_prefix=False):
+        """
+        Add custom binding (for the "bind-key" command.)
+        Raises ValueError if the give `key_name` is an invalid name.
+
+        :param key_name: Pymux key name, for instance "C-a" or "M-x".
+        """
+        assert isinstance(key_name, six.text_type)
+        assert isinstance(command, six.text_type)
+        assert isinstance(arguments, list)
+
+        # Unbind previous key.
+        self.remove_custom_binding(key_name, needs_prefix=needs_prefix)
+
+        # Translate the pymux key name into a prompt_toolkit key sequence.
+        # (Can raise ValueError.)
+        keys_sequence = pymux_key_to_prompt_toolkit_key_sequence(key_name)
+
+        # Create handler and add to Registry.
+        if needs_prefix:
+            filter = HasPrefix(self.pymux)
+        else:
+            filter = ~HasPrefix(self.pymux)
+
+        filter = filter & ~(WaitsForConfirmation(self.pymux) |
+                            has_focus(COMMAND) | has_focus(PROMPT))
+
+        def key_handler(event):
+            " The actual key handler. "
+            call_command_handler(command, self.pymux, arguments)
+            self.pymux.get_client_state().has_prefix = False
+
+        self.custom_key_bindings.add(*keys_sequence, filter=filter)(key_handler)
+
+        # Store key in `custom_bindings` in order to be able to call
+        # "unbind-key" later on.
+        k = (needs_prefix, key_name)
+        self.custom_bindings[k] = CustomBinding(key_handler, command, arguments)
+
+    def remove_custom_binding(self, key_name, needs_prefix=False):
+        """
+        Remove custom key binding for a key.
+
+        :param key_name: Pymux key name, for instance "C-A".
+        """
+        k = (needs_prefix, key_name)
+
+        if k in self.custom_bindings:
+            self.custom_key_bindings.remove(self.custom_bindings[k].handler)
+            del self.custom_bindings[k]
+
+
+class CustomBinding(object):
+    """
+    Record for storing a single custom key binding.
+    """
+    def __init__(self, handler, command, arguments):
+        assert callable(handler)
+        assert isinstance(command, six.text_type)
+        assert isinstance(arguments, list)
+
+        self.handler = handler
+        self.command = command
+        self.arguments = arguments
diff --git a/pymux/key_mappings.py b/pymux/key_mappings.py
new file mode 100644
index 0000000..36ce5aa
--- /dev/null
+++ b/pymux/key_mappings.py
@@ -0,0 +1,231 @@
+"""
+Mapping between vt100 key sequences, the prompt_toolkit key constants and the
+Pymux namings. (Those namings are kept compatible with tmux.)
+"""
+from __future__ import unicode_literals
+from prompt_toolkit.keys import Keys
+from prompt_toolkit.input.vt100_parser import ANSI_SEQUENCES
+
+__all__ = (
+    'pymux_key_to_prompt_toolkit_key_sequence',
+    'prompt_toolkit_key_to_vt100_key',
+    'PYMUX_TO_PROMPT_TOOLKIT_KEYS',
+)
+
+
+def pymux_key_to_prompt_toolkit_key_sequence(key):
+    """
+    Turn a pymux description of a key. E.g.  "C-a" or "M-x" into a
+    prompt-toolkit key sequence.
+
+    Raises `ValueError` if the key is not known.
+    """
+    # Make the c- and m- prefixes case insensitive.
+    if key.lower().startswith('m-c-'):
+        key = 'M-C-' + key[4:]
+    elif key.lower().startswith('c-'):
+        key = 'C-' + key[2:]
+    elif key.lower().startswith('m-'):
+        key = 'M-' + key[2:]
+
+    # Lookup key.
+    try:
+        return PYMUX_TO_PROMPT_TOOLKIT_KEYS[key]
+    except KeyError:
+        if len(key) == 1:
+            return (key, )
+        else:
+            raise ValueError('Unknown key: %r' % (key, ))
+
+
+# Create a mapping from prompt_toolkit keys to their ANSI sequences.
+# TODO: This is not completely correct yet. It doesn't take
+#       cursor/application mode into account. Create new tables for this.
+_PROMPT_TOOLKIT_KEY_TO_VT100 = dict(
+    (key, vt100_data) for vt100_data, key in ANSI_SEQUENCES.items())
+
+
+def prompt_toolkit_key_to_vt100_key(key, application_mode=False):
+    """
+    Turn a prompt toolkit key. (E.g Keys.ControlB) into a Vt100 key sequence.
+    (E.g. \x1b[A.)
+    """
+    application_mode_keys = {
+        Keys.Up: '\x1bOA',
+        Keys.Left: '\x1bOD',
+        Keys.Right: '\x1bOC',
+        Keys.Down: '\x1bOB',
+    }
+
+    if key == Keys.ControlJ:
+        # Required for redis-cli. This can be removed when prompt_toolkit stops
+        # replacing \r by \n.
+        return '\r'
+
+    if key == '\n':
+        return '\r'
+
+    elif application_mode and key in application_mode_keys:
+        return application_mode_keys.get(key)
+    else:
+        return _PROMPT_TOOLKIT_KEY_TO_VT100.get(key, key)
+
+
+PYMUX_TO_PROMPT_TOOLKIT_KEYS = {
+    'Space': (' '),
+
+    'C-a': (Keys.ControlA, ),
+    'C-b': (Keys.ControlB, ),
+    'C-c': (Keys.ControlC, ),
+    'C-d': (Keys.ControlD, ),
+    'C-e': (Keys.ControlE, ),
+    'C-f': (Keys.ControlF, ),
+    'C-g': (Keys.ControlG, ),
+    'C-h': (Keys.ControlH, ),
+    'C-i': (Keys.ControlI, ),
+    'C-j': (Keys.ControlJ, ),
+    'C-k': (Keys.ControlK, ),
+    'C-l': (Keys.ControlL, ),
+    'C-m': (Keys.ControlM, ),
+    'C-n': (Keys.ControlN, ),
+    'C-o': (Keys.ControlO, ),
+    'C-p': (Keys.ControlP, ),
+    'C-q': (Keys.ControlQ, ),
+    'C-r': (Keys.ControlR, ),
+    'C-s': (Keys.ControlS, ),
+    'C-t': (Keys.ControlT, ),
+    'C-u': (Keys.ControlU, ),
+    'C-v': (Keys.ControlV, ),
+    'C-w': (Keys.ControlW, ),
+    'C-x': (Keys.ControlX, ),
+    'C-y': (Keys.ControlY, ),
+    'C-z': (Keys.ControlZ, ),
+
+    'C-Left': (Keys.ControlLeft, ),
+    'C-Right': (Keys.ControlRight, ),
+    'C-Up': (Keys.ControlUp, ),
+    'C-Down': (Keys.ControlDown, ),
+    'C-\\': (Keys.ControlBackslash, ),
+
+    'S-Left':  (Keys.ShiftLeft, ),
+    'S-Right': (Keys.ShiftRight, ),
+    'S-Up':    (Keys.ShiftUp, ),
+    'S-Down':  (Keys.ShiftDown, ),
+
+    'M-C-a': (Keys.Escape, Keys.ControlA, ),
+    'M-C-b': (Keys.Escape, Keys.ControlB, ),
+    'M-C-c': (Keys.Escape, Keys.ControlC, ),
+    'M-C-d': (Keys.Escape, Keys.ControlD, ),
+    'M-C-e': (Keys.Escape, Keys.ControlE, ),
+    'M-C-f': (Keys.Escape, Keys.ControlF, ),
+    'M-C-g': (Keys.Escape, Keys.ControlG, ),
+    'M-C-h': (Keys.Escape, Keys.ControlH, ),
+    'M-C-i': (Keys.Escape, Keys.ControlI, ),
+    'M-C-j': (Keys.Escape, Keys.ControlJ, ),
+    'M-C-k': (Keys.Escape, Keys.ControlK, ),
+    'M-C-l': (Keys.Escape, Keys.ControlL, ),
+    'M-C-m': (Keys.Escape, Keys.ControlM, ),
+    'M-C-n': (Keys.Escape, Keys.ControlN, ),
+    'M-C-o': (Keys.Escape, Keys.ControlO, ),
+    'M-C-p': (Keys.Escape, Keys.ControlP, ),
+    'M-C-q': (Keys.Escape, Keys.ControlQ, ),
+    'M-C-r': (Keys.Escape, Keys.ControlR, ),
+    'M-C-s': (Keys.Escape, Keys.ControlS, ),
+    'M-C-t': (Keys.Escape, Keys.ControlT, ),
+    'M-C-u': (Keys.Escape, Keys.ControlU, ),
+    'M-C-v': (Keys.Escape, Keys.ControlV, ),
+    'M-C-w': (Keys.Escape, Keys.ControlW, ),
+    'M-C-x': (Keys.Escape, Keys.ControlX, ),
+    'M-C-y': (Keys.Escape, Keys.ControlY, ),
+    'M-C-z': (Keys.Escape, Keys.ControlZ, ),
+
+    'M-C-Left': (Keys.Escape, Keys.ControlLeft, ),
+    'M-C-Right': (Keys.Escape, Keys.ControlRight, ),
+    'M-C-Up': (Keys.Escape, Keys.ControlUp, ),
+    'M-C-Down': (Keys.Escape, Keys.ControlDown, ),
+    'M-C-\\': (Keys.Escape, Keys.ControlBackslash, ),
+
+    'M-a': (Keys.Escape, 'a'),
+    'M-b': (Keys.Escape, 'b'),
+    'M-c': (Keys.Escape, 'c'),
+    'M-d': (Keys.Escape, 'd'),
+    'M-e': (Keys.Escape, 'e'),
+    'M-f': (Keys.Escape, 'f'),
+    'M-g': (Keys.Escape, 'g'),
+    'M-h': (Keys.Escape, 'h'),
+    'M-i': (Keys.Escape, 'i'),
+    'M-j': (Keys.Escape, 'j'),
+    'M-k': (Keys.Escape, 'k'),
+    'M-l': (Keys.Escape, 'l'),
+    'M-m': (Keys.Escape, 'm'),
+    'M-n': (Keys.Escape, 'n'),
+    'M-o': (Keys.Escape, 'o'),
+    'M-p': (Keys.Escape, 'p'),
+    'M-q': (Keys.Escape, 'q'),
+    'M-r': (Keys.Escape, 'r'),
+    'M-s': (Keys.Escape, 's'),
+    'M-t': (Keys.Escape, 't'),
+    'M-u': (Keys.Escape, 'u'),
+    'M-v': (Keys.Escape, 'v'),
+    'M-w': (Keys.Escape, 'w'),
+    'M-x': (Keys.Escape, 'x'),
+    'M-y': (Keys.Escape, 'y'),
+    'M-z': (Keys.Escape, 'z'),
+
+    'M-0': (Keys.Escape, '0'),
+    'M-1': (Keys.Escape, '1'),
+    'M-2': (Keys.Escape, '2'),
+    'M-3': (Keys.Escape, '3'),
+    'M-4': (Keys.Escape, '4'),
+    'M-5': (Keys.Escape, '5'),
+    'M-6': (Keys.Escape, '6'),
+    'M-7': (Keys.Escape, '7'),
+    'M-8': (Keys.Escape, '8'),
+    'M-9': (Keys.Escape, '9'),
+
+    'M-Up': (Keys.Escape, Keys.Up),
+    'M-Down': (Keys.Escape, Keys.Down, ),
+    'M-Left': (Keys.Escape, Keys.Left, ),
+    'M-Right': (Keys.Escape, Keys.Right, ),
+    'Left': (Keys.Left, ),
+    'Right': (Keys.Right, ),
+    'Up': (Keys.Up, ),
+    'Down': (Keys.Down, ),
+    'BSpace': (Keys.Backspace, ),
+    'BTab': (Keys.BackTab, ),
+    'DC': (Keys.Delete, ),
+    'IC': (Keys.Insert, ),
+    'End': (Keys.End, ),
+    'Enter': (Keys.ControlJ, ),
+    'Home': (Keys.Home, ),
+    'Escape': (Keys.Escape, ),
+    'Tab': (Keys.Tab, ),
+
+    'F1': (Keys.F1, ),
+    'F2': (Keys.F2, ),
+    'F3': (Keys.F3, ),
+    'F4': (Keys.F4, ),
+    'F5': (Keys.F5, ),
+    'F6': (Keys.F6, ),
+    'F7': (Keys.F7, ),
+    'F8': (Keys.F8, ),
+    'F9': (Keys.F9, ),
+    'F10': (Keys.F10, ),
+    'F11': (Keys.F11, ),
+    'F12': (Keys.F12, ),
+    'F13': (Keys.F13, ),
+    'F14': (Keys.F14, ),
+    'F15': (Keys.F15, ),
+    'F16': (Keys.F16, ),
+    'F17': (Keys.F17, ),
+    'F18': (Keys.F18, ),
+    'F19': (Keys.F19, ),
+    'F20': (Keys.F20, ),
+
+    'NPage': (Keys.PageDown, ),
+    'PageDown': (Keys.PageDown, ),
+    'PgDn': (Keys.PageDown, ),
+    'PPage': (Keys.PageUp, ),
+    'PageUp': (Keys.PageUp, ),
+    'PgUp': (Keys.PageUp, ),
+}
diff --git a/pymux/layout.py b/pymux/layout.py
new file mode 100644
index 0000000..6ec8fda
--- /dev/null
+++ b/pymux/layout.py
@@ -0,0 +1,943 @@
+# encoding: utf-8
+"""
+The layout engine. This builds the prompt_toolkit layout.
+"""
+from __future__ import unicode_literals
+
+from prompt_toolkit.application.current import get_app
+from prompt_toolkit.filters import Condition, has_focus
+from prompt_toolkit.formatted_text import FormattedText, HTML
+from prompt_toolkit.layout.containers import VSplit, HSplit, Window, FloatContainer, Float, ConditionalContainer, Container, WindowAlign, to_container
+from prompt_toolkit.layout.controls import BufferControl, FormattedTextControl
+from prompt_toolkit.layout.dimension import Dimension
+from prompt_toolkit.layout.dimension import Dimension as D
+from prompt_toolkit.layout.dimension import to_dimension, is_dimension
+from prompt_toolkit.layout.menus import CompletionsMenu
+from prompt_toolkit.layout.processors import BeforeInput, ShowArg, AppendAutoSuggestion, Processor, Transformation, HighlightSelectionProcessor
+from prompt_toolkit.layout.screen import Char
+from prompt_toolkit.mouse_events import MouseEventType
+from prompt_toolkit.widgets import FormattedTextToolbar, TextArea, Dialog, SearchToolbar
+
+from six.moves import range
+from functools import partial
+
+import pymux.arrangement as arrangement
+import datetime
+import weakref
+import six
+
+from .filters import WaitsForConfirmation
+from .format import format_pymux_string
+from .log import logger
+
+__all__ = (
+    'LayoutManager',
+)
+
+
+class Justify:
+    " Justify enum for the status bar. "
+    LEFT = 'left'
+    CENTER = 'center'
+    RIGHT = 'right'
+
+    _ALL = [LEFT, CENTER, RIGHT]
+
+
+class Z_INDEX:
+    HIGHLIGHTED_BORDER = 2
+    STATUS_BAR = 5
+    COMMAND_LINE = 6
+    MESSAGE_TOOLBAR = 7
+    WINDOW_TITLE_BAR = 8
+    POPUP = 9
+
+
+class Background(Container):
+    """
+    Generate the background of dots, which becomes visible when several clients
+    are attached and not all of them have the same size.
+
+    (This is implemented as a Container, rather than a UIControl wrapped in a
+    Window, because it can be done very effecient this way.)
+    """
+    def reset(self):
+        pass
+
+    def preferred_width(self, max_available_width):
+        return D()
+
+    def preferred_height(self, width, max_available_height):
+        return D()
+
+    def write_to_screen(self, screen, mouse_handlers, write_position,
+                        parent_style, erase_bg, z_index):
+        " Fill the whole area of write_position with dots. "
+        default_char = Char(' ', 'class:background')
+        dot = Char('.', 'class:background')
+
+        ypos = write_position.ypos
+        xpos = write_position.xpos
+
+        for y in range(ypos, ypos + write_position.height):
+            row = screen.data_buffer[y]
+
+            for x in range(xpos, xpos + write_position.width):
+                row[x] = dot if (x + y) % 3 == 0 else default_char
+
+    def get_children(self):
+        return []
+
+
+# Numbers for the clock and pane numbering.
+_numbers = list(zip(*[  # (Transpose x/y.)
+    ['#####', '    #', '#####', '#####', '#   #', '#####', '#####', '#####', '#####', '#####'],
+    ['#   #', '    #', '    #', '    #', '#   #', '#    ', '#    ', '    #', '#   #', '#   #'],
+    ['#   #', '    #', '#####', '#####', '#####', '#####', '#####', '    #', '#####', '#####'],
+    ['#   #', '    #', '#    ', '    #', '    #', '    #', '#   #', '    #', '#   #', '    #'],
+    ['#####', '    #', '#####', '#####', '    #', '#####', '#####', '    #', '#####', '#####'],
+]))
+
+
+def _draw_number(screen, x_offset, y_offset, number, style='class:clock',
+                 transparent=False):
+    " Write number at position. "
+    fg = Char(' ', 'class:clock')
+    bg = Char(' ', '')
+
+    for y, row in enumerate(_numbers[number]):
+        screen_row = screen.data_buffer[y + y_offset]
+        for x, n in enumerate(row):
+            if n == '#':
+                screen_row[x + x_offset] = fg
+            elif not transparent:
+                screen_row[x + x_offset] = bg
+
+
+class BigClock(Container):
+    """
+    Display a big clock.
+    """
+    WIDTH = 28
+    HEIGHT = 5
+
+    def __init__(self, on_click):
+        assert callable(on_click)
+        self.on_click = on_click
+
+    def reset(self):
+        pass
+
+    def write_to_screen(self, screen, mouse_handlers, write_position,
+                        parent_style, erase_bg, z_index):
+        xpos = write_position.xpos
+        ypos = write_position.ypos
+
+        # Erase background.
+        bg = Char(' ', '')
+
+        def draw_func():
+            for y in range(ypos, self.HEIGHT + ypos):
+                row = screen.data_buffer[y]
+                for x in range(xpos, xpos + self.WIDTH):
+                    row[x] = bg
+
+            # Display time.
+            now = datetime.datetime.now()
+            _draw_number(screen, xpos + 0, ypos, now.hour // 10)
+            _draw_number(screen, xpos + 6, ypos, now.hour % 10)
+            _draw_number(screen, xpos + 16, ypos, now.minute // 10)
+            _draw_number(screen, xpos + 23, ypos, now.minute % 10)
+
+            # Add a colon
+            screen.data_buffer[ypos + 1][xpos + 13] = Char(' ', 'class:clock')
+            screen.data_buffer[ypos + 3][xpos + 13] = Char(' ', 'class:clock')
+
+            screen.width = self.WIDTH
+            screen.height = self.HEIGHT
+
+            mouse_handlers.set_mouse_handler_for_range(
+                x_min=xpos,
+                x_max=xpos + write_position.width,
+                y_min=ypos,
+                y_max=ypos + write_position.height,
+                handler=self._mouse_handler)
+
+        screen.draw_with_z_index(z_index=z_index, draw_func=draw_func)
+
+    def _mouse_handler(self, cli, mouse_event):
+        " Click callback. "
+        if mouse_event.event_type == MouseEventType.MOUSE_UP:
+            self.on_click(cli)
+        else:
+            return NotImplemented
+
+    def preferred_width(self, max_available_width):
+        return D.exact(BigClock.WIDTH)
+
+    def preferred_height(self, width, max_available_height):
+        return D.exact(BigClock.HEIGHT)
+
+    def get_children(self):
+        return []
+
+
+class PaneNumber(Container):  # XXX: make FormattedTextControl
+    """
+    Number of panes, to be drawn in the middle of the pane.
+    """
+    WIDTH = 5
+    HEIGHT = 5
+
+    def __init__(self, pymux, arrangement_pane):
+        self.pymux = pymux
+        self.arrangement_pane = arrangement_pane
+
+    def reset(self):
+        pass
+
+    def _get_index(self):
+        window = self.pymux.arrangement.get_active_window()
+        try:
+            return window.get_pane_index(self.arrangement_pane)
+        except ValueError:
+            return 0
+
+    def preferred_width(self, max_available_width):
+        # Enough to display all the digits.
+        return Dimension.exact(6 * len('%s' % self._get_index()) - 1)
+
+    def preferred_height(self, width, max_available_height):
+        return Dimension.exact(self.HEIGHT)
+
+    def write_to_screen(self, screen, mouse_handlers, write_position,
+                        parent_style, erase_bg, z_index):
+        style = 'class:panenumber'
+
+        def draw_func():
+            for i, d in enumerate('%s' % (self._get_index(),)):
+                _draw_number(screen, write_position.xpos + i * 6, write_position.ypos,
+                             int(d), style=style, transparent=True)
+
+        screen.draw_with_z_index(z_index=z_index, draw_func=draw_func)
+
+    def get_children(self):
+        return []
+
+
+class MessageToolbar(FormattedTextToolbar):
+    """
+    Pop-up (at the bottom) for showing error/status messages.
+    """
+    def __init__(self, client_state):
+        def get_message():
+            # If there is a message to be shown for this client, show that.
+            if client_state.message:
+                return client_state.message
+            else:
+                return ''
+
+        def get_tokens():
+            message = get_message()
+            if message:
+                return FormattedText([
+                    ('class:message', message),
+                    ('[SetCursorPosition]', ''),
+                    ('class:message', ' '),
+                ])
+            else:
+                return ''
+
+        @Condition
+        def is_visible():
+            return bool(get_message())
+
+        super(MessageToolbar, self).__init__(get_tokens)
+
+
+class LayoutManager(object):
+    """
+    The main layout class, that contains the whole Pymux layout.
+    """
+    def __init__(self, pymux, client_state):
+        self.pymux = pymux
+        self.client_state = client_state
+
+        # Popup dialog for displaying keys, etc...
+        search_textarea = SearchToolbar()
+        self._popup_textarea = TextArea(scrollbar=True, read_only=True, search_field=search_textarea)
+        self.popup_dialog = Dialog(
+            title='Keys',
+            body=HSplit([
+                Window(FormattedTextControl(text=''), height=1),  # 1 line margin.
+                self._popup_textarea,
+                search_textarea,
+                Window(
+                    FormattedTextControl(
+                        text=HTML('Press [<b>q</b>] to quit or [<b>/</b>] for searching.')),
+                    align=WindowAlign.CENTER,
+                    height=1)
+                ])
+            )
+
+        self.layout = self._create_layout()
+
+        # Keep track of render information.
+        self.pane_write_positions = {}
+
+    def reset_write_positions(self):
+        """
+        Clear write positions right before rendering. (They are populated
+        during rendering).
+        """
+        self.pane_write_positions = {}
+
+    def display_popup(self, title, content):
+        """
+        Display a pop-up dialog.
+        """
+        assert isinstance(title, six.text_type)
+        assert isinstance(content, six.text_type)
+
+        self.popup_dialog.title = title
+        self._popup_textarea.text = content
+        self.client_state.display_popup = True
+        get_app().layout.focus(self._popup_textarea)
+
+    def _create_select_window_handler(self, window):
+        " Return a mouse handler that selects the given window when clicking. "
+        def handler(mouse_event):
+            if mouse_event.event_type == MouseEventType.MOUSE_DOWN:
+                self.pymux.arrangement.set_active_window(window)
+                self.pymux.invalidate()
+            else:
+                return NotImplemented  # Event not handled here.
+        return handler
+
+    def _get_status_tokens(self):
+        " The tokens for the status bar. "
+        result = []
+
+        # Display panes.
+        for i, w in enumerate(self.pymux.arrangement.windows):
+            if i > 0:
+                result.append(('', ' '))
+
+            if w == self.pymux.arrangement.get_active_window():
+                style = 'class:window.current'
+                format_str = self.pymux.window_status_current_format
+
+            else:
+                style = 'class:window'
+                format_str = self.pymux.window_status_format
+
+            result.append((
+                style,
+                format_pymux_string(self.pymux, format_str, window=w),
+                self._create_select_window_handler(w)))
+
+        return result
+
+    def _get_status_left_tokens(self):
+        return format_pymux_string(self.pymux, self.pymux.status_left)
+
+    def _get_status_right_tokens(self):
+        return format_pymux_string(self.pymux, self.pymux.status_right)
+
+    def _get_align(self):
+        if self.pymux.status_justify == Justify.RIGHT:
+            return WindowAlign.RIGHT
+        elif self.pymux.status_justify == Justify.CENTER:
+            return WindowAlign.CENTER
+        else:
+            return WindowAlign.LEFT
+
+    def _before_prompt_command_tokens(self):
+        return [('class:commandline.prompt', '%s ' % (self.client_state.prompt_text, ))]
+
+    def _create_layout(self):
+        """
+        Generate the main prompt_toolkit layout.
+        """
+        waits_for_confirmation = WaitsForConfirmation(self.pymux)
+
+        return FloatContainer(
+            content=HSplit([
+                # The main window.
+                FloatContainer(
+                    Background(),
+                    floats=[
+                        Float(width=lambda: self.pymux.get_window_size().columns,
+                              height=lambda: self.pymux.get_window_size().rows,
+                              content=DynamicBody(self.pymux))
+                    ]),
+                # Status bar.
+                ConditionalContainer(
+                    content=VSplit([
+                        # Left.
+                        Window(
+                            height=1,
+                            width=(lambda: D(max=self.pymux.status_left_length)),
+                            dont_extend_width=True,
+                            content=FormattedTextControl(self._get_status_left_tokens)),
+                        # List of windows in the middle.
+                        Window(
+                            height=1,
+                            char=' ',
+                            align=self._get_align,
+                            content=FormattedTextControl(self._get_status_tokens)),
+                        # Right.
+                        Window(
+                            height=1,
+                            width=(lambda: D(max=self.pymux.status_right_length)),
+                            dont_extend_width=True,
+                            align=WindowAlign.RIGHT,
+                            content=FormattedTextControl(self._get_status_right_tokens))
+                    ], z_index=Z_INDEX.STATUS_BAR, style='class:statusbar'),
+                    filter=Condition(lambda: self.pymux.enable_status),
+                )
+            ]),
+            floats=[
+                Float(bottom=1, left=0, z_index=Z_INDEX.MESSAGE_TOOLBAR,
+                      content=MessageToolbar(self.client_state)),
+                Float(left=0, right=0, bottom=0, content=HSplit([
+                    # Wait for confirmation toolbar.
+                    ConditionalContainer(
+                        content=Window(
+                            height=1,
+                            content=ConfirmationToolbar(self.pymux, self.client_state),
+                            z_index=Z_INDEX.COMMAND_LINE,
+                        ),
+                        filter=waits_for_confirmation,
+                    ),
+                    # ':' prompt toolbar.
+                    ConditionalContainer(
+                        content=Window(
+                            height=D(min=1),  # Can be more if the command is multiline.
+                            style='class:commandline',
+                            dont_extend_height=True,
+                            content=BufferControl(
+                                buffer=self.client_state.command_buffer,
+                                preview_search=True,
+                                input_processors=[
+                                    AppendAutoSuggestion(),
+                                    BeforeInput(':', style='class:commandline-prompt'),
+                                    ShowArg(),
+                                    HighlightSelectionProcessor(),
+                                ]),
+                            z_index=Z_INDEX.COMMAND_LINE,
+                        ),
+                        filter=has_focus(self.client_state.command_buffer),
+                    ),
+                    # Other command-prompt commands toolbar.
+                    ConditionalContainer(
+                        content=Window(
+                            height=1,
+                            style='class:commandline',
+                            content=BufferControl(
+                                buffer=self.client_state.prompt_buffer,
+                                input_processors=[
+                                    BeforeInput(self._before_prompt_command_tokens),
+                                    AppendAutoSuggestion(),
+                                    HighlightSelectionProcessor(),
+                                ]),
+                            z_index=Z_INDEX.COMMAND_LINE,
+                        ),
+                        filter=has_focus(self.client_state.prompt_buffer),
+                    ),
+                ])),
+                # Keys pop-up.
+                Float(
+                    content=ConditionalContainer(
+                        content=self.popup_dialog,
+                        filter=Condition(lambda: self.client_state.display_popup),
+                    ),
+                    left=3, right=3, top=5, bottom=5,
+                    z_index=Z_INDEX.POPUP,
+                ),
+                Float(xcursor=True, ycursor=True, content=CompletionsMenu(max_height=12)),
+            ]
+        )
+
+
+class ConfirmationToolbar(FormattedTextControl):
+    """
+    Window that displays the yes/no confirmation dialog.
+    """
+    def __init__(self, pymux, client_state):
+        def get_tokens():
+            return [
+                ('class:question', ' '),
+                ('class:question', format_pymux_string(
+                    pymux, client_state.confirm_text or '')),
+                ('class:question', ' '),
+                ('class:yesno', '  y/n'),
+                ('[SetCursorPosition]', ''),
+                ('class:yesno', '  '),
+            ]
+
+        super(ConfirmationToolbar, self).__init__(
+            get_tokens, style='class:confirmationtoolbar')
+
+
+class DynamicBody(Container):
+    """
+    The dynamic part, which is different for each CLI (for each client). It
+    depends on which window/pane is active.
+
+    This makes it possible to have just one main layout class, and
+    automatically rebuild the parts that change if the windows/panes
+    arrangement changes, without doing any synchronisation.
+    """
+    def __init__(self, pymux):
+        self.pymux = pymux
+        self._bodies_for_app = weakref.WeakKeyDictionary()  # Maps Application to (hash, Container)
+
+    def _get_body(self):
+        " Return the Container object for the current CLI. "
+        new_hash = self.pymux.arrangement.invalidation_hash()
+
+        # Return existing layout if nothing has changed to the arrangement.
+        app = get_app()
+
+        if app in self._bodies_for_app:
+            existing_hash, container = self._bodies_for_app[app]
+            if existing_hash == new_hash:
+                return container
+
+        # The layout changed. Build a new layout when the arrangement changed.
+        new_layout = self._build_layout()
+        self._bodies_for_app[app] = (new_hash, new_layout)
+        return new_layout
+
+    def _build_layout(self):
+        " Rebuild a new Container object and return that. "
+        logger.info('Rebuilding layout.')
+
+        if not self.pymux.arrangement.windows:
+            # No Pymux windows in the arrangement.
+            return Window()
+
+        active_window = self.pymux.arrangement.get_active_window()
+
+        # When zoomed, only show the current pane, otherwise show all of them.
+        if active_window.zoom:
+            return to_container(_create_container_for_process(
+                self.pymux, active_window, active_window.active_pane, zoom=True))
+        else:
+            window = self.pymux.arrangement.get_active_window()
+            return HSplit([
+                # Some spacing for the top status bar.
+                ConditionalContainer(
+                    content=Window(height=1),
+                    filter=Condition(lambda: self.pymux.enable_pane_status)),
+                # The actual content.
+                _create_split(self.pymux, window, window.root)
+            ])
+
+    def reset(self):
+        for invalidation_hash, body in self._bodies_for_app.values():
+            body.reset()
+
+    def preferred_width(self, max_available_width):
+        body = self._get_body()
+        return body.preferred_width(max_available_width)
+
+    def preferred_height(self, width, max_available_height):
+        body = self._get_body()
+        return body.preferred_height(width, max_available_height)
+
+    def write_to_screen(self, screen, mouse_handlers, write_position,
+                        parent_style, erase_bg, z_index):
+        body = self._get_body()
+        body.write_to_screen(screen, mouse_handlers, write_position,
+                             parent_style, erase_bg, z_index)
+
+    def get_children(self):
+        # (Required for prompt_toolkit.layout.utils.find_window_for_buffer_name.)
+        body = self._get_body()
+        return [body]
+
+
+class SizedBox(Container):
+    """
+    Container whith enforces a given width/height without taking the children
+    into account (even if no width/height is given).
+
+    :param content: `Container`.
+    :param report_write_position_callback: `None` or a callable for reporting
+        back the dimensions used while drawing.
+    """
+    def __init__(self, content, width=None, height=None,
+                 report_write_position_callback=None):
+        assert is_dimension(width)
+        assert is_dimension(height)
+        assert report_write_position_callback is None or callable(report_write_position_callback)
+
+        self.content = to_container(content)
+        self.width = width
+        self.height = height
+        self.report_write_position_callback = report_write_position_callback
+
+    def reset(self):
+        self.content.reset()
+
+    def preferred_width(self, max_available_width):
+        return to_dimension(self.width)
+
+    def preferred_height(self, width, max_available_height):
+        return to_dimension(self.height)
+
+    def write_to_screen(self, screen, mouse_handlers, write_position,
+                        parent_style, erase_bg, z_index):
+        # Report dimensions.
+        if self.report_write_position_callback:
+            self.report_write_position_callback(write_position)
+
+        self.content.write_to_screen(
+            screen, mouse_handlers, write_position, parent_style, erase_bg, z_index)
+
+    def get_children(self):
+        return [self.content]
+
+
+def _create_split(pymux, window, split):
+    """
+    Create a prompt_toolkit `Container` instance for the given pymux split.
+    """
+    assert isinstance(split, (arrangement.HSplit, arrangement.VSplit))
+    is_vsplit = isinstance(split, arrangement.VSplit)
+
+    def get_average_weight():
+        """ Calculate average weight of the children. Return 1 if none of
+        the children has a weight specified yet. """
+        weights = 0
+        count = 0
+
+        for i in split:
+            if i in split.weights:
+                weights += split.weights[i]
+                count += 1
+
+        if weights:
+            return max(1, weights // count)
+        else:
+            return 1
+
+    def report_write_position_callback(item, write_position):
+        """
+        When the layout is rendered, store the actial dimensions as
+        weights in the arrangement.VSplit/HSplit classes.
+
+        This is required because when a pane is resized with an increase of +1,
+        we want to be sure that this corresponds exactly with one row or
+        column. So, that updating weights corresponds exactly 1/1 to updating
+        the size of the panes.
+        """
+        if is_vsplit:
+            split.weights[item] = write_position.width
+        else:
+            split.weights[item] = write_position.height
+
+    def get_size(item):
+        return D(weight=split.weights.get(item) or average_weight)
+
+    content = []
+    average_weight = get_average_weight()
+
+    for i, item in enumerate(split):
+        # Create function for calculating dimensions for child.
+        width = height = None
+        if is_vsplit:
+            width = partial(get_size, item)
+        else:
+            height = partial(get_size, item)
+
+        # Create child.
+        if isinstance(item, (arrangement.VSplit, arrangement.HSplit)):
+            child = _create_split(pymux, window, item)
+        elif isinstance(item, arrangement.Pane):
+            child = _create_container_for_process(pymux, window, item)
+        else:
+            raise TypeError('Got %r' % (item,))
+
+        # Wrap child in `SizedBox` to enforce dimensions and sync back.
+        content.append(SizedBox(
+            child, width=width, height=height,
+            report_write_position_callback=partial(report_write_position_callback, item)))
+
+    # Create prompt_toolkit Container.
+    if is_vsplit:
+        return_cls = VSplit
+        padding_char = _border_vertical
+    else:
+        return_cls = HSplit
+        padding_char = _border_horizontal
+
+    return return_cls(content,
+            padding=1,
+            padding_char=padding_char)
+
+
+class _UseCopyTokenListProcessor(Processor):
+    """
+    In order to allow highlighting of the copy region, we use a preprocessed
+    list of (Token, text) tuples. This processor returns just that list for the
+    given pane.
+    """
+    def __init__(self, arrangement_pane):
+        self.arrangement_pane = arrangement_pane
+
+    def apply_transformation(self, document, lineno, source_to_display, tokens):
+        tokens = self.arrangement_pane.copy_get_tokens_for_line(lineno)
+        return Transformation(tokens[:])
+
+    def invalidation_hash(self, document):
+        return document.text
+
+
+def _create_container_for_process(pymux, window, arrangement_pane, zoom=False):
+    """
+    Create a `Container` with a titlebar for a process.
+    """
+    @Condition
+    def clock_is_visible():
+        return arrangement_pane.clock_mode
+
+    @Condition
+    def pane_numbers_are_visible():
+        return pymux.display_pane_numbers
+
+    terminal_is_focused = has_focus(arrangement_pane.terminal)
+
+    def get_terminal_style():
+        if terminal_is_focused():
+            result = 'class:terminal.focused'
+        else:
+            result = 'class:terminal'
+        return result
+
+    def get_titlebar_text_fragments():
+        result = []
+
+        if zoom:
+            result.append(('class:titlebar-zoom', ' Z '))
+
+        if arrangement_pane.process.is_terminated:
+            result.append(('class:terminated', ' Terminated '))
+
+        # Scroll buffer info.
+        if arrangement_pane.display_scroll_buffer:
+            result.append(('class:copymode', ' %s ' % arrangement_pane.scroll_buffer_title))
+
+            # Cursor position.
+            document = arrangement_pane.scroll_buffer.document
+            result.append(('class:copymode.position', ' %i,%i ' % (
+                document.cursor_position_row, document.cursor_position_col)))
+
+        if arrangement_pane.name:
+            result.append(('class:name', ' %s ' % arrangement_pane.name))
+            result.append(('', ' '))
+
+        return result + [
+            ('', format_pymux_string(pymux, ' #T ', pane=arrangement_pane))  # XXX: Make configurable.
+        ]
+
+    def get_pane_index():
+        try:
+            w = pymux.arrangement.get_active_window()
+            index = w.get_pane_index(arrangement_pane)
+        except ValueError:
+            index = '/'
+
+        return '%3s ' % index
+
+    def on_click():
+        " Click handler for the clock. When clicked, select this pane. "
+        arrangement_pane.clock_mode = False
+        pymux.arrangement.get_active_window().active_pane = arrangement_pane
+        pymux.invalidate()
+
+
+    return HighlightBordersIfActive(
+        window,
+        arrangement_pane,
+        get_terminal_style,
+        FloatContainer(
+            HSplit([
+                # The terminal.
+                TracePaneWritePosition(
+                    pymux, arrangement_pane,
+                    content=arrangement_pane.terminal),
+            ]),
+
+            #
+            floats=[
+                # The title bar.
+                Float(content=
+                    ConditionalContainer(
+                        content=VSplit([
+                                Window(
+                                    height=1,
+                                    content=FormattedTextControl(
+                                        get_titlebar_text_fragments)),
+                                Window(
+                                    height=1,
+                                    width=4,
+                                    content=FormattedTextControl(get_pane_index),
+                                    style='class:paneindex')
+                            ], style='class:titlebar'),
+                        filter=Condition(lambda: pymux.enable_pane_status)),
+                    left=0, right=0, top=-1, height=1, z_index=Z_INDEX.WINDOW_TITLE_BAR),
+
+                # The clock.
+                Float(
+                    content=ConditionalContainer(BigClock(on_click),
+                      filter=clock_is_visible)),
+
+                # Pane number.
+                Float(content=ConditionalContainer(
+                      content=PaneNumber(pymux, arrangement_pane),
+                      filter=pane_numbers_are_visible)),
+            ]
+        )
+    )
+
+
+class _ContainerProxy(Container):
+    def __init__(self, content):
+        self.content = content
+
+    def reset(self):
+        self.content.reset()
+
+    def preferred_width(self, max_available_width):
+        return self.content.preferred_width(max_available_width)
+
+    def preferred_height(self, width, max_available_height):
+        return self.content.preferred_height(width, max_available_height)
+
+    def write_to_screen(self, screen, mouse_handlers, write_position, parent_style, erase_bg, z_index):
+        self.content.write_to_screen(screen, mouse_handlers, write_position, parent_style, erase_bg, z_index)
+
+    def get_children(self):
+        return [self.content]
+
+
+_focused_border_titlebar = '┃'
+_focused_border_vertical = '┃'
+_focused_border_horizontal = '━'
+_focused_border_left_top = '┏'
+_focused_border_right_top = '┓'
+_focused_border_left_bottom = '┗'
+_focused_border_right_bottom = '┛'
+
+_border_vertical = '│'
+_border_horizontal = '─'
+_border_left_bottom = '└'
+_border_right_bottom = '┘'
+_border_left_top = '┌'
+_border_right_top = '┐'
+
+
+class HighlightBordersIfActive(object):
+    """
+    Put borders around this control if active.
+    """
+    def __init__(self, window, pane, style, content):
+        @Condition
+        def is_selected():
+            return window.active_pane == pane
+
+        def conditional_float(char, left=None, right=None, top=None,
+                              bottom=None, width=None, height=None):
+            return Float(
+                content=ConditionalContainer(
+                    Window(char=char, style='class:border'),
+                    filter=is_selected),
+                left=left, right=right, top=top, bottom=bottom, width=width, height=height,
+                z_index=Z_INDEX.HIGHLIGHTED_BORDER)
+
+        self.container = FloatContainer(
+            content,
+            style=style,
+            floats=[
+                # Sides.
+                conditional_float(_focused_border_vertical, left=-1, top=0, bottom=0, width=1),
+                conditional_float(_focused_border_vertical, right=-1, top=0, bottom=0, width=1),
+                conditional_float(_focused_border_horizontal, left=0, right=0, top=-1, height=1),
+                conditional_float(_focused_border_horizontal, left=0, right=0, bottom=-1, height=1),
+
+                # Corners.
+                conditional_float(_focused_border_left_top, left=-1, top=-1, width=1, height=1),
+                conditional_float(_focused_border_right_top, right=-1, top=-1, width=1, height=1),
+                conditional_float(_focused_border_left_bottom, left=-1, bottom=-1, width=1, height=1),
+                conditional_float(_focused_border_right_bottom, right=-1, bottom=-1, width=1, height=1),
+            ])
+
+    def __pt_container__(self):
+        return self.container
+
+
+class TracePaneWritePosition(_ContainerProxy):   # XXX: replace with SizedBox
+    " Trace the write position of this pane. "
+    def __init__(self, pymux, arrangement_pane, content):
+        content = to_container(content)
+        _ContainerProxy.__init__(self, content)
+
+        self.pymux = pymux
+        self.arrangement_pane = arrangement_pane
+
+    def write_to_screen(self, screen, mouse_handlers, write_position, parent_style, erase_bg, z_inedx):
+        _ContainerProxy.write_to_screen(self, screen, mouse_handlers, write_position, parent_style, erase_bg, z_inedx)
+        self.pymux.get_client_state().layout_manager.pane_write_positions[self.arrangement_pane] = write_position
+
+
+def focus_left(pymux):
+    " Move focus to the left. "
+    _move_focus(pymux,
+                lambda wp: wp.xpos - 2,  # 2 in order to skip over the border.
+                lambda wp: wp.ypos)
+
+
+def focus_right(pymux):
+    " Move focus to the right. "
+    _move_focus(pymux,
+                lambda wp: wp.xpos + wp.width + 1,
+                lambda wp: wp.ypos)
+
+
+def focus_down(pymux):
+    " Move focus down. "
+    _move_focus(pymux,
+                lambda wp: wp.xpos,
+                lambda wp: wp.ypos + wp.height + 2)
+        # 2 in order to skip over the border. Only required when the
+        # pane-status is not shown, but a border instead.
+
+
+def focus_up(pymux):
+    " Move focus up. "
+    _move_focus(pymux,
+                lambda wp: wp.xpos,
+                lambda wp: wp.ypos - 2)
+
+
+def _move_focus(pymux, get_x, get_y):
+    " Move focus of the active window. "
+    window = pymux.arrangement.get_active_window()
+
+    try:
+        write_pos = pymux.get_client_state().layout_manager.pane_write_positions[window.active_pane]
+    except KeyError:
+        pass
+    else:
+        x = get_x(write_pos)
+        y = get_y(write_pos)
+
+        # Look for the pane at this position.
+        for pane, wp in pymux.get_client_state().layout_manager.pane_write_positions.items():
+            if (wp.xpos <= x < wp.xpos + wp.width and
+                    wp.ypos <= y < wp.ypos + wp.height):
+                window.active_pane = pane
+                return
diff --git a/pymux/log.py b/pymux/log.py
new file mode 100644
index 0000000..a74926f
--- /dev/null
+++ b/pymux/log.py
@@ -0,0 +1,9 @@
+from __future__ import unicode_literals
+import logging
+
+__all__ = (
+    'logger',
+)
+
+
+logger = logging.getLogger(__package__)
diff --git a/pymux/main.py b/pymux/main.py
new file mode 100644
index 0000000..619a0dd
--- /dev/null
+++ b/pymux/main.py
@@ -0,0 +1,655 @@
+from __future__ import unicode_literals
+
+from prompt_toolkit.application import Application
+from prompt_toolkit.application.current import get_app, set_app
+from prompt_toolkit.auto_suggest import AutoSuggestFromHistory
+from prompt_toolkit.buffer import Buffer
+from prompt_toolkit.enums import EditingMode
+from prompt_toolkit.eventloop import Future
+from prompt_toolkit.eventloop import get_event_loop
+from prompt_toolkit.eventloop.context import context
+from prompt_toolkit.filters import Condition
+from prompt_toolkit.input.defaults import create_input
+from prompt_toolkit.key_binding.vi_state import InputMode
+from prompt_toolkit.layout.layout import Layout
+from prompt_toolkit.layout.screen import Size
+from prompt_toolkit.output.defaults import create_output
+
+from .style import ui_style
+from .arrangement import Arrangement, Pane, Window
+from .commands.commands import handle_command, call_command_handler
+from .commands.completer import create_command_completer
+from .enums import COMMAND, PROMPT
+from .key_bindings import PymuxKeyBindings
+from .layout import LayoutManager, Justify
+from .log import logger
+from .options import ALL_OPTIONS, ALL_WINDOW_OPTIONS
+from .rc import STARTUP_COMMANDS
+from .utils import get_default_shell
+from ptterm import Terminal
+
+import os
+import signal
+import six
+import sys
+import tempfile
+import threading
+import time
+import traceback
+import weakref
+
+__all__ = [
+    'Pymux',
+]
+
+
+class ClientState(object):
+    """
+    State information that is independent for each client.
+    """
+    def __init__(self, pymux, input, output, color_depth, connection):
+        self.pymux = pymux
+        self.input = input
+        self.output = output
+        self.color_depth = color_depth
+        self.connection = connection
+
+        #: True when the prefix key (Ctrl-B) has been pressed.
+        self.has_prefix = False
+
+        #: Error/info message.
+        self.message = None
+
+        # When a "confirm-before" command is running,
+        # Show this text in the command bar. When confirmed, execute
+        # confirm_command.
+        self.confirm_text = None
+        self.confirm_command = None
+
+        # When a "command-prompt" command is running.
+        self.prompt_text = None
+        self.prompt_command = None
+
+        # Popup.
+        self.display_popup = False
+
+        # Input buffers.
+        self.command_buffer = Buffer(
+            name=COMMAND,
+            accept_handler=self._handle_command,
+            auto_suggest=AutoSuggestFromHistory(),
+            multiline=False,
+            complete_while_typing=False,
+            completer=create_command_completer(pymux))
+
+        self.prompt_buffer = Buffer(
+            name=PROMPT,
+            accept_handler=self._handle_prompt_command,
+            multiline=False,
+            auto_suggest=AutoSuggestFromHistory())
+
+        # Layout.
+        self.layout_manager = LayoutManager(self.pymux, self)
+
+        self.app = self._create_app()
+
+        # Clear write positions right before rendering. (They are populated
+        # during rendering).
+        def before_render(_):
+            self.layout_manager.reset_write_positions()
+        self.app.before_render += before_render
+
+    @property
+    def command_mode(self):
+        return get_app().layout.has_focus(COMMAND)
+
+    def _handle_command(self, buffer):
+        " When text is accepted in the command line. "
+        text = buffer.text
+
+        # First leave command mode. We want to make sure that the working
+        # pane is focused again before executing the command handers.
+        self.pymux.leave_command_mode(append_to_history=True)
+
+        # Execute command.
+        self.pymux.handle_command(text)
+
+    def _handle_prompt_command(self, buffer):
+        " When a command-prompt command is accepted. "
+        text = buffer.text
+        prompt_command = self.prompt_command
+
+        # Leave command mode and handle command.
+        self.pymux.leave_command_mode(append_to_history=True)
+        self.pymux.handle_command(prompt_command.replace('%%', text))
+
+    def _create_app(self):
+        """
+        Create `Application` instance for this .
+        """
+        pymux = self.pymux
+
+        def on_focus_changed():
+            """ When the focus changes to a read/write buffer, make sure to go
+            to insert mode. This happens when the ViState was set to NAVIGATION
+            in the copy buffer. """
+            vi_state = app.vi_state
+
+            if app.current_buffer.read_only():
+                vi_state.input_mode = InputMode.NAVIGATION
+            else:
+                vi_state.input_mode = InputMode.INSERT
+
+        app = Application(
+            output=self.output,
+            input=self.input,
+            color_depth=self.color_depth,
+
+            layout=Layout(container=self.layout_manager.layout),
+            key_bindings=pymux.key_bindings_manager.key_bindings,
+            mouse_support=Condition(lambda: pymux.enable_mouse_support),
+            full_screen=True,
+            style=self.pymux.style,
+            on_invalidate=(lambda _: pymux.invalidate()))
+
+        # Synchronize the Vi state with the CLI object.
+        # (This is stored in the current class, but expected to be in the
+        # CommandLineInterface.)
+        def sync_vi_state(_):
+            VI = EditingMode.VI
+            EMACS = EditingMode.EMACS
+
+            if self.confirm_text or self.prompt_command or self.command_mode:
+                app.editing_mode = VI if pymux.status_keys_vi_mode else EMACS
+            else:
+                app.editing_mode = VI if pymux.mode_keys_vi_mode else EMACS
+
+        app.key_processor.before_key_press += sync_vi_state
+        app.key_processor.after_key_press += sync_vi_state
+        app.key_processor.after_key_press += self.sync_focus
+
+        # Set render postpone time. (.1 instead of 0).
+        # This small change ensures that if for a split second a process
+        # outputs a lot of information, we don't give the highest priority to
+        # rendering output. (Nobody reads that fast in real-time.)
+        app.max_render_postpone_time = .1  # Second.
+
+        # Hide message when a key has been pressed.
+        def key_pressed(_):
+            self.message = None
+        app.key_processor.before_key_press += key_pressed
+
+        # The following code needs to run with the application active.
+        # Especially, `create_window` needs to know what the current
+        # application is, in order to focus the new pane.
+        with set_app(app):
+            # Redraw all CLIs. (Adding a new client could mean that the others
+            # change size, so everything has to be redrawn.)
+            pymux.invalidate()
+
+            pymux.startup()
+
+        return app
+
+    def sync_focus(self, *_):
+        """
+        Focus the focused window from the pymux arrangement.
+        """
+        # Pop-up displayed?
+        if self.display_popup:
+            self.app.layout.focus(self.layout_manager.popup_dialog)
+            return
+
+        # Confirm.
+        if self.confirm_text:
+            return
+
+        # Custom prompt.
+        if self.prompt_command:
+            return # Focus prompt
+
+        # Command mode.
+        if self.command_mode:
+            return # Focus command
+
+        # No windows left, return. We will quit soon.
+        if not self.pymux.arrangement.windows:
+            return
+
+        pane = self.pymux.arrangement.get_active_pane()
+        self.app.layout.focus(pane.terminal)
+
+
+class Pymux(object):
+    """
+    The main Pymux application class.
+
+    Usage:
+
+        p = Pymux()
+        p.listen_on_socket()
+        p.run_server()
+
+    Or:
+
+        p = Pymux()
+        p.run_standalone()
+    """
+    def __init__(self, source_file=None, startup_command=None):
+        self._client_states = {}  # connection -> client_state
+
+        # Options
+        self.enable_mouse_support = True
+        self.enable_status = True
+        self.enable_pane_status = True#False
+        self.enable_bell = True
+        self.remain_on_exit = False
+        self.status_keys_vi_mode = False
+        self.mode_keys_vi_mode = False
+        self.history_limit = 2000
+        self.status_interval = 4
+        self.default_terminal = 'xterm-256color'
+        self.status_left = '[#S] '
+        self.status_left_length = 20
+        self.status_right = ' %H:%M %d-%b-%y '
+        self.status_right_length = 20
+        self.window_status_current_format = '#I:#W#F'
+        self.window_status_format = '#I:#W#F'
+        self.session_name = '0'
+        self.status_justify = Justify.LEFT
+        self.default_shell = get_default_shell()
+
+        self.options = ALL_OPTIONS
+        self.window_options = ALL_WINDOW_OPTIONS
+
+        # When no panes are available.
+        self.original_cwd = os.getcwd()
+
+        self.display_pane_numbers = False
+
+        #: List of clients.
+        self._runs_standalone = False
+        self.connections = []
+        self.done_f = Future()
+
+        self._startup_done = False
+        self.source_file = source_file
+        self.startup_command = startup_command
+
+        # Keep track of all the panes, by ID. (For quick lookup.)
+        self.panes_by_id = weakref.WeakValueDictionary()
+
+        # Socket information.
+        self.socket = None
+        self.socket_name = None
+
+        # Key bindings manager.
+        self.key_bindings_manager = PymuxKeyBindings(self)
+
+        self.arrangement = Arrangement()
+
+        self.style = ui_style
+
+    def _start_auto_refresh_thread(self):
+        """
+        Start the background thread that auto refreshes all clients according to
+        `self.status_interval`.
+        """
+        def run():
+            while True:
+                time.sleep(self.status_interval)
+                self.invalidate()
+
+        t = threading.Thread(target=run)
+        t.daemon = True
+        t.start()
+
+    @property
+    def apps(self):
+        return [c.app for c in self._client_states.values()]
+
+    def get_client_state(self):
+        " Return the active ClientState instance. "
+        app = get_app()
+        for client_state in self._client_states.values():
+            if client_state.app == app:
+                return client_state
+
+        raise ValueError
+
+    def get_connection(self):
+        " Return the active Connection instance. "
+        app = get_app()
+        for connection, client_state in self._client_states.items():
+            if client_state.app == app:
+                return connection
+
+        raise ValueError
+
+    def startup(self):
+        # Handle start-up comands.
+        # (Does initial key bindings.)
+        if not self._startup_done:
+            self._startup_done = True
+
+            # Execute default config.
+            for cmd in STARTUP_COMMANDS.splitlines():
+                self.handle_command(cmd)
+
+            # Source the given file.
+            if self.source_file:
+                call_command_handler('source-file', self, [self.source_file])
+
+            # Make sure that there is one window created.
+            self.create_window(command=self.startup_command)
+
+    def get_title(self):
+        """
+        The title to be displayed in the titlebar of the terminal.
+        """
+        w = self.arrangement.get_active_window()
+
+        if w and w.active_process:
+            title = w.active_process.screen.title
+        else:
+            title = ''
+
+        if title:
+            return '%s - Pymux' % (title, )
+        else:
+            return 'Pymux'
+
+    def get_window_size(self):
+        """
+        Get the size to be used for the DynamicBody.
+        This will be the smallest size of all clients.
+        """
+        def active_window_for_app(app):
+            with set_app(app):
+                return self.arrangement.get_active_window()
+
+        active_window = self.arrangement.get_active_window()
+
+        # Get sizes for connections watching the same window.
+        apps = [client_state.app for client_state in self._client_states.values()
+                if active_window_for_app(client_state.app) == active_window]
+        sizes = [app.output.get_size() for app in apps]
+
+        rows = [s.rows for s in sizes]
+        columns = [s.columns for s in sizes]
+
+        if rows and columns:
+            return Size(rows=min(rows) - (1 if self.enable_status else 0),
+                        columns=min(columns))
+        else:
+            return Size(rows=20, columns=80)
+
+    def _create_pane(self, window=None, command=None, start_directory=None):
+        """
+        Create a new :class:`pymux.arrangement.Pane` instance. (Don't put it in
+        a window yet.)
+
+        :param window: If a window is given, take the CWD of the current
+            process of that window as the start path for this pane.
+        :param command: If given, run this command instead of `self.default_shell`.
+        :param start_directory: If given, use this as the CWD.
+        """
+        assert window is None or isinstance(window, Window)
+        assert command is None or isinstance(command, six.text_type)
+        assert start_directory is None or isinstance(start_directory, six.text_type)
+
+        def done_callback():
+            " When the process finishes. "
+            if not self.remain_on_exit:
+                # Remove pane from layout.
+                self.arrangement.remove_pane(pane)
+
+                # No panes left? -> Quit.
+                if not self.arrangement.has_panes:
+                    self.stop()
+
+                # Make sure the right pane is focused for each client.
+                for client_state in self._client_states.values():
+                    client_state.sync_focus()
+
+            self.invalidate()
+
+        def bell():
+            " Sound bell on all clients. "
+            if self.enable_bell:
+                for c in self.apps:
+                    c.output.bell()
+
+        # Start directory.
+        if start_directory:
+            path = start_directory
+        elif window and window.active_process:
+            # When the path of the active process is known,
+            # start the new process at the same location.
+            path = window.active_process.get_cwd()
+        else:
+            path = None
+
+        def before_exec():
+            " Called in the process fork (in the child process). "
+            # Go to this directory.
+            try:
+                os.chdir(path or self.original_cwd)
+            except OSError:
+                pass  # No such file or directory.
+
+            # Set terminal variable. (We emulate xterm.)
+            os.environ['TERM'] = self.default_terminal
+
+            # Make sure to set the PYMUX environment variable.
+            if self.socket_name:
+                os.environ['PYMUX'] = '%s,%i' % (
+                    self.socket_name, pane.pane_id)
+
+        if command:
+            command = command.split()
+        else:
+            command = [self.default_shell]
+
+        # Create new pane and terminal.
+        terminal = Terminal(done_callback=done_callback, bell_func=bell,
+                            before_exec_func=before_exec)
+        pane = Pane(terminal)
+
+        # Keep track of panes. This is a WeakKeyDictionary, we only add, but
+        # don't remove.
+        self.panes_by_id[pane.pane_id] = pane
+
+        logger.info('Created process %r.', command)
+
+        return pane
+
+    def invalidate(self):
+        " Invalidate the UI for all clients. "
+        for app in self.apps:
+            app.invalidate()
+
+    def stop(self):
+        for app in self.apps:
+            app.exit()
+        self.done_f.set_result(None)
+
+    def create_window(self, command=None, start_directory=None, name=None):
+        """
+        Create a new :class:`pymux.arrangement.Window` in the arrangement.
+        """
+        assert command is None or isinstance(command, six.text_type)
+        assert start_directory is None or isinstance(start_directory, six.text_type)
+
+        pane = self._create_pane(None, command, start_directory=start_directory)
+
+        self.arrangement.create_window(pane, name=name)
+        pane.focus()
+        self.invalidate()
+
+    def add_process(self, command=None, vsplit=False, start_directory=None):
+        """
+        Add a new process to the current window. (vsplit/hsplit).
+        """
+        assert command is None or isinstance(command, six.text_type)
+        assert start_directory is None or isinstance(start_directory, six.text_type)
+
+        window = self.arrangement.get_active_window()
+
+        pane = self._create_pane(window, command, start_directory=start_directory)
+        window.add_pane(pane, vsplit=vsplit)
+        pane.focus()
+        self.invalidate()
+
+    def kill_pane(self, pane):
+        """
+        Kill the given pane, and remove it from the arrangement.
+        """
+        assert isinstance(pane, Pane)
+
+        # Send kill signal.
+        if not pane.process.is_terminated:
+            pane.process.kill()
+
+        # Remove from layout.
+        self.arrangement.remove_pane(pane)
+
+    def leave_command_mode(self, append_to_history=False):
+        """
+        Leave the command/prompt mode.
+        """
+        client_state = self.get_client_state()
+
+        client_state.command_buffer.reset(append_to_history=append_to_history)
+        client_state.prompt_buffer.reset(append_to_history=True)
+
+        client_state.prompt_command = ''
+        client_state.confirm_command = ''
+
+        client_state.app.layout.focus_previous()
+
+    def handle_command(self, command):
+        """
+        Handle command from the command line.
+        """
+        handle_command(self, command)
+
+    def show_message(self, message):
+        """
+        Set a warning message. This will be shown at the bottom until a key has
+        been pressed.
+
+        :param message: String.
+        """
+        self.get_client_state().message = message
+
+    def detach_client(self, app):
+        """
+        Detach the client that belongs to this CLI.
+        """
+        connection = self.get_connection()
+        if connection:
+            connection.detach_and_close()
+
+        # Redraw all clients -> Maybe their size has to change.
+        self.invalidate()
+
+    def listen_on_socket(self, socket_name=None):
+        """
+        Listen for clients on a Unix socket.
+        Returns the socket name.
+        """
+        from .server import bind_socket
+        if self.socket is None:
+            # Py2 uses 0027 and Py3 uses 0o027, but both know
+            # how to create the right value from the string '0027'.
+            old_umask = os.umask(int('0027', 8))
+            self.socket_name, self.socket = bind_socket(socket_name)
+            _ = os.umask(old_umask)
+            self.socket.listen(0)
+            get_event_loop().add_reader(self.socket.fileno(), self._socket_accept)
+
+        # Set session_name according to socket name.
+        if '.' in self.socket_name:
+            self.session_name = self.socket_name.rpartition('.')[-1]
+
+        logger.info('Listening on %r.' % self.socket_name)
+        return self.socket_name
+
+    def _socket_accept(self):
+        """
+        Accept connection from client.
+        """
+        logger.info('Client attached.')
+        from .server import ServerConnection
+
+        connection, client_address = self.socket.accept()
+        # Note: We don't have to put this socket in non blocking mode.
+        #       This can cause crashes when sending big packets on OS X.
+
+        # We have to create a new `context`, because this will be the scope for
+        # a new prompt_toolkit.Application to become active.
+        with context():
+            connection = ServerConnection(self, connection, client_address)
+            self.connections.append(connection)
+
+    def run_server(self):
+        # Ignore keyboard. (When people run "pymux server" and press Ctrl-C.)
+        # Pymux has to be terminated by termining all the processes running in
+        # its panes.
+        def handle_sigint(*a):
+            print('Ignoring keyboard interrupt.')
+
+        signal.signal(signal.SIGINT, handle_sigint)
+
+        # Start background threads.
+        self._start_auto_refresh_thread()
+
+        # Run eventloop.
+        try:
+            get_event_loop().run_until_complete(self.done_f)
+        except:
+            # When something bad happens, always dump the traceback.
+            # (Otherwise, when running as a daemon, and stdout/stderr are not
+            # available, it's hard to see what went wrong.)
+            fd, path = tempfile.mkstemp(prefix='pymux.crash-')
+            logger.fatal(
+                'Pymux has crashed, dumping traceback to {0}'.format(path))
+            os.write(fd, traceback.format_exc().encode('utf-8'))
+            os.close(fd)
+            raise
+
+        finally:
+            # Clean up socket.
+            os.remove(self.socket_name)
+
+    def run_standalone(self, color_depth):
+        """
+        Run pymux standalone, rather than using a client/server architecture.
+        This is mainly useful for debugging.
+        """
+        self._runs_standalone = True
+        self._start_auto_refresh_thread()
+
+        client_state = self.add_client(
+            input=create_input(),
+            output=create_output(stdout=sys.stdout),
+            color_depth=color_depth,
+            connection=None)
+
+        client_state.app.run()
+
+    def add_client(self, output, input, color_depth, connection):
+        client_state = ClientState(self,
+            connection=None,
+            input=input,
+            output=output,
+            color_depth=color_depth)
+
+        self._client_states[connection] = client_state
+
+        return client_state
+
+    def remove_client(self, connection):
+        if connection in self._client_states:
+            del self._client_states[connection]
diff --git a/pymux/options.py b/pymux/options.py
new file mode 100644
index 0000000..9cc6f40
--- /dev/null
+++ b/pymux/options.py
@@ -0,0 +1,201 @@
+"""
+All configurable options which can be changed through "set-option" commands.
+"""
+from __future__ import unicode_literals
+from abc import ABCMeta, abstractmethod
+import six
+
+from .key_mappings import PYMUX_TO_PROMPT_TOOLKIT_KEYS, pymux_key_to_prompt_toolkit_key_sequence
+from .utils import get_default_shell
+from .layout import Justify
+
+__all__ = (
+    'Option',
+    'SetOptionError',
+    'OnOffOption',
+    'ALL_OPTIONS',
+    'ALL_WINDOW_OPTIONS',
+)
+
+
+class Option(six.with_metaclass(ABCMeta, object)):
+    """
+    Base class for all options.
+    """
+    @abstractmethod
+    def get_all_values(self):
+        """
+        Return a list of strings, with all possible values. (For
+        autocompletion.)
+        """
+
+    @abstractmethod
+    def set_value(self, pymux, value):
+        " Set option. This can raise SetOptionError. "
+
+
+class SetOptionError(Exception):
+    """
+    Raised when setting an option fails.
+    """
+    def __init__(self, message):
+        self.message = message
+
+
+class OnOffOption(Option):
+    """
+    Boolean on/off option.
+    """
+    def __init__(self, attribute_name, window_option=False):
+        self.attribute_name = attribute_name
+        self.window_option = window_option
+
+    def get_all_values(self, pymux):
+        return ['on', 'off']
+
+    def set_value(self, pymux, value):
+        value = value.lower()
+
+        if value in ('on', 'off'):
+            if self.window_option:
+                w = pymux.arrangement.get_active_window()
+                setattr(w, self.attribute_name, (value == 'on'))
+            else:
+                setattr(pymux, self.attribute_name, (value == 'on'))
+        else:
+            raise SetOptionError('Expecting "yes" or "no".')
+
+
+class StringOption(Option):
+    """
+    String option, the attribute is set as a Pymux attribute.
+    """
+    def __init__(self, attribute_name, possible_values=None):
+        self.attribute_name = attribute_name
+        self.possible_values = possible_values or []
+
+    def get_all_values(self, pymux):
+        return sorted(set(
+            self.possible_values + [getattr(pymux, self.attribute_name)]
+        ))
+
+    def set_value(self, pymux, value):
+        setattr(pymux, self.attribute_name, value)
+
+
+class PositiveIntOption(Option):
+    """
+    Positive integer option, the attribute is set as a Pymux attribute.
+    """
+    def __init__(self, attribute_name, possible_values=None):
+        self.attribute_name = attribute_name
+        self.possible_values = ['%s' % i for i in (possible_values or [])]
+
+    def get_all_values(self, pymux):
+        return sorted(set(
+            self.possible_values +
+            ['%s' % getattr(pymux, self.attribute_name)]
+        ))
+
+    def set_value(self, pymux, value):
+        """
+        Take a string, and return an integer. Raise SetOptionError when the
+        given text does not parse to a positive integer.
+        """
+        try:
+            value = int(value)
+            if value < 0:
+                raise ValueError
+        except ValueError:
+            raise SetOptionError('Expecting an integer.')
+        else:
+            setattr(pymux, self.attribute_name, value)
+
+
+class KeyPrefixOption(Option):
+    def get_all_values(self, pymux):
+        return PYMUX_TO_PROMPT_TOOLKIT_KEYS.keys()
+
+    def set_value(self, pymux, value):
+        # Translate prefix to prompt_toolkit
+        try:
+            keys = pymux_key_to_prompt_toolkit_key_sequence(value)
+        except ValueError:
+            raise SetOptionError('Invalid key: %r' % (value, ))
+        else:
+            pymux.key_bindings_manager.prefix = keys
+
+
+class BaseIndexOption(Option):
+    " Base index for window numbering. "
+    def get_all_values(self, pymux):
+        return ['0', '1']
+
+    def set_value(self, pymux, value):
+        try:
+            value = int(value)
+        except ValueError:
+            raise SetOptionError('Expecting an integer.')
+        else:
+            pymux.arrangement.base_index = value
+
+
+class KeysOption(Option):
+    " Emacs or Vi mode. "
+    def __init__(self, attribute_name):
+        self.attribute_name = attribute_name
+
+    def get_all_values(self, pymux):
+        return ['emacs', 'vi']
+
+    def set_value(self, pymux, value):
+        if value in ('emacs', 'vi'):
+            setattr(pymux, self.attribute_name, value == 'vi')
+        else:
+            raise SetOptionError('Expecting "vi" or "emacs".')
+
+class JustifyOption(Option):
+    def __init__(self, attribute_name):
+        self.attribute_name = attribute_name
+
+    def get_all_values(self, pymux):
+        return Justify._ALL
+
+    def set_value(self, pymux, value):
+        if value in Justify._ALL:
+            setattr(pymux, self.attribute_name, value)
+        else:
+            raise SetOptionError('Invalid justify option.')
+
+
+ALL_OPTIONS = {
+    'base-index': BaseIndexOption(),
+    'bell': OnOffOption('enable_bell'),
+    'history-limit': PositiveIntOption(
+        'history_limit', [200, 500, 1000, 2000, 5000, 10000]),
+    'mouse': OnOffOption('enable_mouse_support'),
+    'prefix': KeyPrefixOption(),
+    'remain-on-exit': OnOffOption('remain_on_exit'),
+    'status': OnOffOption('enable_status'),
+    'pane-border-status': OnOffOption('enable_pane_status'),
+    'status-keys': KeysOption('status_keys_vi_mode'),
+    'mode-keys': KeysOption('mode_keys_vi_mode'),
+    'default-terminal': StringOption(
+        'default_terminal', ['xterm', 'xterm-256color', 'screen']),
+    'status-right': StringOption('status_right'),
+    'status-left': StringOption('status_left'),
+    'status-right-length': PositiveIntOption('status_right_length', [20]),
+    'status-left-length': PositiveIntOption('status_left_length', [20]),
+    'window-status-format': StringOption('window_status_format'),
+    'window-status-current-format': StringOption('window_status_current_format'),
+    'default-shell': StringOption(
+        'default_shell', [get_default_shell()]),
+    'status-justify': JustifyOption('status_justify'),
+    'status-interval': PositiveIntOption(
+        'status_interval', [1, 2, 4, 8, 16, 30, 60]),
+}
+
+
+ALL_WINDOW_OPTIONS = {
+    'synchronize-panes': OnOffOption('synchronize_panes', window_option=True),
+}
diff --git a/pymux/rc.py b/pymux/rc.py
new file mode 100644
index 0000000..e526b8d
--- /dev/null
+++ b/pymux/rc.py
@@ -0,0 +1,83 @@
+"""
+Initial configuration.
+"""
+from __future__ import unicode_literals
+
+__all__ = (
+    'STARTUP_COMMANDS'
+)
+
+STARTUP_COMMANDS = """
+bind-key '"' split-window -v
+bind-key % split-window -h
+bind-key c new-window
+bind-key Right select-pane -R
+bind-key Left select-pane -L
+bind-key Up select-pane -U
+bind-key Down select-pane -D
+bind-key C-l select-pane -R
+bind-key C-h select-pane -L
+bind-key C-j select-pane -D
+bind-key C-k select-pane -U
+bind-key ; last-pane
+bind-key ! break-pane
+bind-key d detach-client
+bind-key t clock-mode
+bind-key Space next-layout
+bind-key C-z suspend-client
+
+bind-key z resize-pane -Z
+bind-key k resize-pane -U 2
+bind-key j resize-pane -D 2
+bind-key h resize-pane -L 2
+bind-key l resize-pane -R 2
+bind-key q display-panes
+bind-key C-Up resize-pane -U 2
+bind-key C-Down resize-pane -D 2
+bind-key C-Left resize-pane -L 2
+bind-key C-Right resize-pane -R 2
+bind-key M-Up resize-pane -U 5
+bind-key M-Down resize-pane -D 5
+bind-key M-Left resize-pane -L 5
+bind-key M-Right resize-pane -R 5
+
+bind-key : command-prompt
+bind-key 0 select-window -t :0
+bind-key 1 select-window -t :1
+bind-key 2 select-window -t :2
+bind-key 3 select-window -t :3
+bind-key 4 select-window -t :4
+bind-key 5 select-window -t :5
+bind-key 6 select-window -t :6
+bind-key 7 select-window -t :7
+bind-key 8 select-window -t :8
+bind-key 9 select-window -t :9
+bind-key n next-window
+bind-key p previous-window
+bind-key o select-pane -t :.+
+bind-key { swap-pane -U
+bind-key } swap-pane -D
+bind-key x confirm-before -p "kill-pane #P?" kill-pane
+bind-key & confirm-before -p "kill-window #W?" kill-window
+bind-key C-o rotate-window
+bind-key M-o rotate-window -D
+bind-key C-b send-prefix
+bind-key . command-prompt "move-window -t '%%'"
+bind-key [ copy-mode
+bind-key ] paste-buffer
+bind-key ? list-keys
+bind-key PPage copy-mode -u
+
+# Layouts.
+bind-key M-1 select-layout even-horizontal
+bind-key M-2 select-layout even-vertical
+bind-key M-3 select-layout main-horizontal
+bind-key M-4 select-layout main-vertical
+bind-key M-5 select-layout tiled
+
+# Renaming stuff.
+bind-key , command-prompt -I #W "rename-window '%%'"
+#bind-key "'" command-prompt -I #W "rename-pane '%%'"
+bind-key "'" command-prompt -p index "select-window -t ':%%'"
+bind-key . command-prompt "move-window -t '%%'"
+"""
diff --git a/pymux/server.py b/pymux/server.py
new file mode 100644
index 0000000..af35cd2
--- /dev/null
+++ b/pymux/server.py
@@ -0,0 +1,265 @@
+from __future__ import unicode_literals
+import getpass
+import json
+import socket
+import tempfile
+
+from prompt_toolkit.eventloop import get_event_loop
+from prompt_toolkit.application.current import set_app
+from prompt_toolkit.input.vt100 import PipeInput
+from prompt_toolkit.input.vt100_parser import Vt100Parser
+from prompt_toolkit.layout.screen import Size
+from prompt_toolkit.output.vt100 import Vt100_Output
+
+from .log import logger
+
+__all__ = (
+    'ServerConnection',
+    'bind_socket',
+)
+
+
+class ServerConnection(object):
+    """
+    For each client that connects, we have one instance of this class.
+    """
+    def __init__(self, pymux, connection, client_address):
+        self.pymux = pymux
+        self.connection = connection
+        self.client_address = client_address
+        self.size = Size(rows=20, columns=80)
+        self._closed = False
+
+        self._recv_buffer = b''
+        self.client_state = None
+
+        def feed_key(key):
+            self.client_state.app.key_processor.feed(key)
+            self.client_state.app.key_processor.process_keys()
+
+        self._inputstream = Vt100Parser(feed_key)
+        self._pipeinput = _ClientInput(self._send_packet)
+
+        get_event_loop().add_reader(
+            connection.fileno(), self._recv)
+
+    def _recv(self):
+        """
+        Data received from the client.
+        (Parse it.)
+        """
+        # Read next chunk.
+        try:
+            data = self.connection.recv(1024)
+        except OSError as e:
+            # On OSX, when we try to create a new window by typing "pymux
+            # new-window" in a centain pane, very often we get the following
+            # error: "OSError: [Errno 9] Bad file descriptor."
+            # This doesn't seem very harmful, and we can just try again.
+            logger.warning('Got OSError while reading data from client: %s. '
+                           'Trying again.', e)
+            return
+
+        if data == b'':
+            # End of file. Close connection.
+            self.detach_and_close()
+        else:
+            # Receive and process packets.
+            self._recv_buffer += data
+
+            while b'\0' in self._recv_buffer:
+                # Zero indicates end of packet.
+                pos = self._recv_buffer.index(b'\0')
+                self._process(self._recv_buffer[:pos])
+                self._recv_buffer = self._recv_buffer[pos + 1:]
+
+    def _process(self, data):
+        """
+        Process packet received from client.
+        """
+        try:
+            packet = json.loads(data.decode('utf-8'))
+        except ValueError:
+            # So far, this never happened. But it would be good to have some
+            # protection.
+            logger.warning('Received invalid JSON from client. Ignoring.')
+            return
+
+        # Handle commands.
+        if packet['cmd'] == 'run-command':
+            self._run_command(packet)
+
+        # Handle stdin.
+        elif packet['cmd'] == 'in':
+            self._pipeinput.send_text(packet['data'])
+
+#        elif packet['cmd'] == 'flush-input':
+#            self._inputstream.flush()  # Flush escape key.  # XXX: I think we no longer need this.
+
+        # Set size. (The client reports the size.)
+        elif packet['cmd'] == 'size':
+            data = packet['data']
+            self.size = Size(rows=data[0], columns=data[1])
+            self.pymux.invalidate()
+
+        # Start GUI. (Create CommandLineInterface front-end for pymux.)
+        elif packet['cmd'] == 'start-gui':
+            detach_other_clients = bool(packet['detach-others'])
+            color_depth = packet['color-depth']
+            term = packet['term']
+
+            if detach_other_clients:
+                for c in self.pymux.connections:
+                    c.detach_and_close()
+
+            self._create_app(color_depth=color_depth, term=term)
+
+    def _send_packet(self, data):
+        """
+        Send packet to client.
+        """
+        try:
+            self.connection.send(json.dumps(data).encode('utf-8') + b'\0')
+        except socket.error:
+            if not self._closed:
+                self.detach_and_close()
+
+    def _run_command(self, packet):
+        """
+        Execute a run command from the client.
+        """
+        create_temp_cli = self.client_states is None
+
+        if create_temp_cli:
+            # If this client doesn't have a CLI. Create a Fake CLI where the
+            # window containing this pane, is the active one. (The CLI instance
+            # will be removed before the render function is called, so it doesn't
+            # hurt too much and makes the code easier.)
+            pane_id = int(packet['pane_id'])
+            self._create_app()
+            with set_app(self.client_state.app):
+                self.pymux.arrangement.set_active_window_from_pane_id(pane_id)
+
+        with set_app(self.client_state.app):
+            try:
+                self.pymux.handle_command(packet['data'])
+            finally:
+                self._close_connection()
+
+    def _create_app(self, color_depth, term='xterm'):
+        """
+        Create CommandLineInterface for this client.
+        Called when the client wants to attach the UI to the server.
+        """
+        output = Vt100_Output(_SocketStdout(self._send_packet),
+                              lambda: self.size,
+                              term=term,
+                              write_binary=False)
+
+        self.client_state = self.pymux.add_client(
+            input=self._pipeinput, output=output, connection=self, color_depth=color_depth)
+
+        future = self.client_state.app.run_async()
+
+        @future.add_done_callback
+        def done(_):
+            self._close_connection()
+
+    def _close_connection(self):
+        # This is important. If we would forget this, the server will
+        # render CLI output for clients that aren't connected anymore.
+        self.pymux.remove_client(self)
+        self.client_state = None
+        self._closed = True
+
+    def suspend_client_to_background(self):
+        """
+        Ask the client to suspend itself. (Like, when Ctrl-Z is pressed.)
+        """
+        self._send_packet({'cmd': 'suspend'})
+
+    def detach_and_close(self):
+        # Remove from Pymux.
+        self._close_connection()
+
+        # Remove from eventloop.
+        get_event_loop().remove_reader(self.connection.fileno())
+        self.connection.close()
+
+
+def bind_socket(socket_name=None):
+    """
+    Find a socket to listen on and return it.
+
+    Returns (socket_name, sock_obj)
+    """
+    s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
+
+    if socket_name:
+        s.bind(socket_name)
+        return socket_name, s
+    else:
+        i = 0
+        while True:
+            try:
+                socket_name = '%s/pymux.sock.%s.%i' % (
+                    tempfile.gettempdir(), getpass.getuser(), i)
+                s.bind(socket_name)
+                return socket_name, s
+            except (OSError, socket.error):
+                i += 1
+
+                # When 100 times failed, cancel server
+                if i == 100:
+                    logger.warning('100 times failed to listen on posix socket. '
+                                   'Please clean up old sockets.')
+                    raise
+
+
+class _SocketStdout(object):
+    """
+    Stdout-like object that writes everything through the unix socket to the
+    client.
+    """
+    def __init__(self, send_packet):
+        assert callable(send_packet)
+        self.send_packet = send_packet
+        self._buffer = []
+
+    def write(self, data):
+        self._buffer.append(data)
+
+    def flush(self):
+        data = {'cmd': 'out', 'data': ''.join(self._buffer)}
+        self.send_packet(data)
+        self._buffer = []
+
+
+class _ClientInput(PipeInput):
+    """
+    Input class that can be given to the CommandLineInterface.
+    We only need this for turning the client into raw_mode/cooked_mode.
+    """
+    def __init__(self, send_packet):
+        super(_ClientInput, self).__init__()
+        assert callable(send_packet)
+        self.send_packet = send_packet
+
+    # Implement raw/cooked mode by sending this to the attached client.
+
+    def raw_mode(self):
+        return self._create_context_manager('raw')
+
+    def cooked_mode(self):
+        return self._create_context_manager('cooked')
+
+    def _create_context_manager(self, mode):
+        " Create a context manager that sends 'mode' commands to the client. "
+        class mode_context_manager(object):
+            def __enter__(*a):
+                self.send_packet({'cmd': 'mode', 'data': mode})
+
+            def __exit__(*a):
+                self.send_packet({'cmd': 'mode', 'data': 'restore'})
+
+        return mode_context_manager()
diff --git a/pymux/style.py b/pymux/style.py
new file mode 100644
index 0000000..b39ddb9
--- /dev/null
+++ b/pymux/style.py
@@ -0,0 +1,76 @@
+"""
+The color scheme.
+"""
+from __future__ import unicode_literals
+from prompt_toolkit.styles import Style, Priority
+
+__all__ = (
+    'ui_style',
+)
+
+
+ui_style = Style.from_dict({
+    'border':                         '#888888',
+    'terminal.focused border':      'ansigreen bold',
+
+    #'terminal titleba':            'bg:#aaaaaa #dddddd ',
+    'terminal titlebar':            'bg:#888888 #ffffff',
+#    'terminal titlebar paneindex':  'bg:#888888 #000000',
+
+    'terminal.focused titlebar':   'bg:#448844 #ffffff',
+    'terminal.focused titlebar name':   'bg:#88aa44 #ffffff',
+    'terminal.focused titlebar paneindex':         'bg:#ff0000',
+
+#    'titlebar title':               '',
+#    'titlebar name':                '#ffffff noitalic',
+#    'focused-terminal titlebar name':       'bg:#88aa44',
+#    'titlebar.line':                '#444444',
+#    'titlebar.line focused':       '#448844 noinherit',
+#    'titlebar focused':            'bg:#5f875f #ffffff bold',
+#    'titlebar.title focused':      '',
+#    'titlebar.zoom':                'bg:#884400 #ffffff',
+#    'titlebar paneindex':           '',
+#    'titlebar.copymode':            'bg:#88aa88 #444444',
+#    'titlebar.copymode.position':   '',
+
+#    'focused-terminal titlebar.copymode':          'bg:#aaff44 #000000',
+#    'titlebar.copymode.position': '#888888',
+
+    'commandline':                  'bg:#4e4e4e #ffffff',
+    'commandline.command':          'bold',
+    'commandline.prompt':           'bold',
+    #'statusbar':                    'noreverse bg:#448844 #000000',
+    'statusbar':                    'noreverse bg:ansigreen #000000',
+    'statusbar window':             '#ffffff',
+    'statusbar window.current':     'bg:#44ff44 #000000',
+    'auto-suggestion':               'bg:#4e5e4e #88aa88',
+    'message':                      'bg:#bbee88 #222222',
+    'background':                   '#888888',
+    'clock':                        'bg:#88aa00',
+    'panenumber':                   'bg:#888888',
+    'panenumber focused':          'bg:#aa8800',
+    'terminated':                   'bg:#aa0000 #ffffff',
+
+    'confirmationtoolbar':          'bg:#880000 #ffffff',
+    'confirmationtoolbar question': '',
+    'confirmationtoolbar yesno':    'bg:#440000',
+
+    'copy-mode-cursor-position':   'bg:ansiyellow ansiblack',
+
+#    'search-toolbar':                       'bg:#88ff44 #444444',
+    'search-toolbar.prompt':                'bg:#88ff44 #444444',
+    'search-toolbar.text':                  'bg:#88ff44 #000000',
+#    'search-toolbar focused':              'bg:#aaff44 #444444',
+#    'search-toolbar.text focused':         'bold #000000',
+
+    'search-match':                  '#000000 bg:#88aa88',
+    'search-match.current':          '#000000 bg:#aaffaa underline',
+
+    # Pop-up dialog. Ignore built-in style.
+    'dialog':                        'noinherit',
+    'dialog.body':                   'noinherit',
+    'dialog frame':                  'noinherit',
+    'dialog.body text-area':         'noinherit',
+    'dialog.body text-area last-line': 'noinherit',
+
+}, priority=Priority.MOST_PRECISE)
diff --git a/pymux/utils.py b/pymux/utils.py
new file mode 100644
index 0000000..f201187
--- /dev/null
+++ b/pymux/utils.py
@@ -0,0 +1,106 @@
+"""
+Some utilities.
+"""
+from __future__ import unicode_literals
+from prompt_toolkit.utils import is_windows
+
+import os
+import sys
+
+__all__ = (
+    'daemonize',
+    'nonblocking',
+    'get_default_shell',
+)
+
+
+def daemonize(stdin='/dev/null', stdout='/dev/null', stderr='/dev/null'):
+    """
+    Double fork-trick. For starting a posix daemon.
+
+    This forks the current process into a daemon. The stdin, stdout, and stderr
+    arguments are file names that will be opened and be used to replace the
+    standard file descriptors in sys.stdin, sys.stdout, and sys.stderr. These
+    arguments are optional and default to /dev/null. Note that stderr is opened
+    unbuffered, so if it shares a file with stdout then interleaved output may
+    not appear in the order that you expect.
+
+    Thanks to:
+    http://code.activestate.com/recipes/66012-fork-a-daemon-process-on-unix/
+    """
+    # Do first fork.
+    try:
+        pid = os.fork()
+        if pid > 0:
+            os.waitpid(pid, 0)
+            return 0  # Return 0 from first parent.
+    except OSError as e:
+        sys.stderr.write("fork #1 failed: (%d) %s\n" % (e.errno, e.strerror))
+        sys.exit(1)
+
+    # Decouple from parent environment.
+    os.chdir("/")
+    os.umask(0)
+    os.setsid()
+
+    # Do second fork.
+    try:
+        pid = os.fork()
+        if pid > 0:
+            sys.exit(0)  # Exit second parent.
+    except OSError as e:
+        sys.stderr.write("fork #2 failed: (%d) %s\n" % (e.errno, e.strerror))
+        sys.exit(1)
+
+    # Now I am a daemon!
+
+    # Redirect standard file descriptors.
+
+        # NOTE: For debugging, you meight want to take these instead of /dev/null.
+    # so = open('/tmp/log2', 'ab+')
+    # se = open('/tmp/log2', 'ab+', 0)
+
+    si = open(stdin, 'rb')
+    so = open(stdout, 'ab+')
+    se = open(stderr, 'ab+', 0)
+    os.dup2(si.fileno(), sys.stdin.fileno())
+    os.dup2(so.fileno(), sys.stdout.fileno())
+    os.dup2(se.fileno(), sys.stderr.fileno())
+
+    # Return 1 from daemon.
+    return 1
+
+
+class nonblocking(object):
+    """
+    Make fd non blocking.
+    """
+    def __init__(self, fd):
+        self.fd = fd
+
+    def __enter__(self):
+        import fcntl
+        self.orig_fl = fcntl.fcntl(self.fd, fcntl.F_GETFL)
+        fcntl.fcntl(self.fd, fcntl.F_SETFL, self.orig_fl | os.O_NONBLOCK)
+
+    def __exit__(self, *args):
+        import fcntl
+        fcntl.fcntl(self.fd, fcntl.F_SETFL, self.orig_fl)
+
+
+def get_default_shell():
+    """
+    return the path to the default shell for the current user.
+    """
+    if is_windows():
+        return 'cmd.exe'
+    else:
+        import pwd
+        import getpass
+
+        if 'SHELL' in os.environ:
+            return os.environ['SHELL']
+        else:
+            username = getpass.getuser()
+            shell = pwd.getpwnam(username).pw_shell
+            return shell
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000..6cac906
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,33 @@
+#!/usr/bin/env python
+import os
+from setuptools import setup, find_packages
+
+
+long_description = open(
+    os.path.join(
+        os.path.dirname(__file__),
+        'README.rst'
+    )
+).read()
+
+
+setup(
+    name='pymux',
+    author='Jonathan Slenders',
+    version='0.13',
+    license='LICENSE',
+    url='https://github.com/jonathanslenders/',
+    description='Pure Python terminal multiplexer.',
+    long_description=long_description,
+    packages=find_packages('.'),
+    install_requires = [
+        'prompt_toolkit>=2.0.0,<2.1.0',
+        'six>=1.9.0',
+        'docopt>=0.6.2',
+    ],
+    entry_points={
+        'console_scripts': [
+            'pymux = pymux.entry_points.run_pymux:run',
+        ]
+    },
+)

From 189b3848f8d7ec3bde01dbecf6affcd26843e599 Mon Sep 17 00:00:00 2001
From: Jonathan Slenders <jonathan@slenders.be>
Date: Sun, 8 Jul 2018 19:29:30 +0200
Subject: [PATCH 02/17] server/client tests

---
 win-client-test.py | 185 ++++++++++++++++++++++++++++++++
 win-server-test.py | 258 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 443 insertions(+)
 create mode 100644 win-client-test.py
 create mode 100644 win-server-test.py

diff --git a/win-client-test.py b/win-client-test.py
new file mode 100644
index 0000000..70bc6f9
--- /dev/null
+++ b/win-client-test.py
@@ -0,0 +1,185 @@
+from ctypes.wintypes import DWORD, BOOL
+import ctypes
+#import win32
+from ctypes import windll
+from ptterm.backends.win32_pipes import OVERLAPPED
+from prompt_toolkit.eventloop import get_event_loop, ensure_future, From, Return
+
+BUFSIZE = 4096
+
+GENERIC_READ = 0x80000000
+GENERIC_WRITE = 0x40000000
+OPEN_EXISTING = 0x3
+
+def _create_event():
+    """
+    Create Win32 event.
+    """
+    event = windll.kernel32.CreateEventA(
+        None,  # Default security attributes.
+        BOOL(True),  # Manual reset event.
+        BOOL(True),  # Initial state = signaled.
+        None  # Unnamed event object.
+    )
+    if not event:
+        raise Exception('event creation failed.')
+    return event
+
+
+class PipeClient(object):
+    def __init__(self, pipe_name):
+        self.pipe_handle = windll.kernel32.CreateFileW(
+            pipe_name,
+            DWORD(GENERIC_READ | GENERIC_WRITE),
+            DWORD(0),  # No sharing.
+            None,  # Default security attributes.
+            DWORD(OPEN_EXISTING),  # dwCreationDisposition.
+            0,  # dwFlagsAndAttributes.
+            None  # hTemplateFile,
+        )
+
+        # TODO: handle errors.
+        print(self.pipe_handle)
+        #if self.pipe_handle != 
+
+#    def write_message(self, text):
+#        # Send a message to the pipe server.
+#        message = text.encode('utf-8')
+#        rc = DWORD()
+#
+#        fSuccess = windll.kernel32.WriteFile(
+#            self.pipe_handle,
+#            ctypes.create_string_buffer(message),
+#            len(message),
+#            ctypes.byref(rc),
+#            None)  # Not overlapped.
+#
+#        if not fSuccess:
+#            print('WriteFile failed.', win32api.GetLastError())
+#            return
+
+    def write_message(self, text):
+        """
+        Write data into the pipe.
+        """
+        overlapped = OVERLAPPED()
+        overlapped.hEvent = _create_event()
+        c_written = DWORD()
+
+        data = text.encode('utf-8')
+
+        success = windll.kernel32.WriteFile(
+            self.pipe_handle,
+            ctypes.create_string_buffer(data),
+            len(data),
+            ctypes.byref(c_written),
+            ctypes.byref(overlapped))
+
+        if success:
+            return
+
+        error_code = windll.kernel32.GetLastError()
+        if error_code == ERROR_IO_PENDING:
+            yield From(wait_for_event(overlapped.hEvent))
+
+            success = windll.kernel32.GetOverlappedResult(
+                self.pipe_handle,
+                ctypes.byref(overlapped),
+                ctypes.byref(c_written),
+                BOOL(False))
+
+            if not success:
+                error_code = windll.kernel32.GetLastError()
+                if error_code == ERROR_BROKEN_PIPE:
+                    print('Overlapped Write failed, broken pipe.')
+                    raise _BrokenPipeError
+                else:
+                    raise 'Writing overlapped IO failed.'
+
+        elif error_code == ERROR_BROKEN_PIPE:
+            print('Write failed, broken pipe.')
+            raise _BrokenPipeError
+
+
+#    def read_message(self):
+#        # Get response.
+#        buff = ctypes.create_string_buffer(BUFSIZE)
+#        c_read = DWORD()
+#
+#        print('call readfile')
+#        success = windll.kernel32.ReadFile( 
+#            self.pipe_handle,
+#            buff,
+#            DWORD(BUFSIZE),
+#            ctypes.byref(c_read),
+#            None)  # Not overlapped.
+#
+#        if success:
+#            buff[c_read.value] = b'\0'
+#            return buff.value.decode('utf-8', 'ignore')
+#        # TODO: handle ERROR_MORE_DATA
+
+    def read_message(self):
+        """
+        (coroutine)
+        Read data from this pipe.
+        """
+        overlapped = OVERLAPPED()
+        overlapped.hEvent = _create_event()
+
+        buff = ctypes.create_string_buffer(BUFSIZE + 1)
+        c_read = DWORD()
+        rc = DWORD()
+
+        success = windll.kernel32.ReadFile( 
+            self.pipe_handle,
+            buff,
+            DWORD(BUFSIZE),
+            ctypes.byref(c_read),
+            ctypes.byref(overlapped))
+
+        print('reading', success)
+        if success:
+            buff[c_read.value] = b'\0'
+            raise Return(buff.value.decode('utf-8', 'ignore'))
+
+        error_code = windll.kernel32.GetLastError()
+        if error_code == ERROR_IO_PENDING:
+            yield From(wait_for_event(overlapped.hEvent))
+
+            success = windll.kernel32.GetOverlappedResult(
+                self.pipe_handle,
+                ctypes.byref(overlapped),
+                ctypes.byref(c_read),
+                BOOL(False))
+
+            if success:
+                buff[c_read.value] = b'\0'
+                raise Return(buff.value.decode('utf-8', 'ignore'))
+
+            else:
+                error_code = windll.kernel32.GetLastError()
+                if error_code == ERROR_BROKEN_PIPE:
+                    print('Overlapped Read failed, broken pipe.')
+                    raise _BrokenPipeError
+                else:
+                    raise 'reading overlapped IO failed.'
+
+        elif error_code == ERROR_BROKEN_PIPE:
+            print('Read failed, broken pipe.')
+            raise _BrokenPipeError
+
+
+
+    def close():
+        win32.CloseHandle(self.pipe_handle)
+
+def main_coro():
+    pipe_name = r'\\.\pipe\pymux.sock.jonathan.9942'
+    pipe_client = PipeClient(pipe_name)
+    yield From(pipe_client.write_message('Hi there'))
+    result = yield From(pipe_client.read_message())
+    print('result', repr(result))
+
+
+get_event_loop().run_until_complete(ensure_future(main_coro()))
diff --git a/win-server-test.py b/win-server-test.py
new file mode 100644
index 0000000..050aeed
--- /dev/null
+++ b/win-server-test.py
@@ -0,0 +1,258 @@
+#import win32security
+from ctypes import windll
+from ctypes.wintypes import BOOL, DWORD, HANDLE
+from prompt_toolkit.eventloop import get_event_loop, ensure_future, From, Future, Return
+import ctypes
+import pywintypes
+import win32
+import win32api
+import win32con
+import win32file
+import win32pipe
+from ptterm.backends.win32_pipes import OVERLAPPED
+
+socket_name = r'\\.\pipe\pymux.sock.jonathan.9942'
+
+INSTANCES = 10
+BUFSIZE = 4096
+
+
+# CreateNamedPipeW flags.
+# See: https://docs.microsoft.com/en-us/windows/desktop/api/winbase/nf-winbase-createnamedpipea
+PIPE_ACCESS_DUPLEX = 0x00000003
+FILE_FLAG_OVERLAPPED = 0x40000000
+PIPE_TYPE_MESSAGE = 0x00000004
+PIPE_READMODE_MESSAGE = 0x00000002
+PIPE_WAIT = 0x00000000
+
+ERROR_IO_PENDING = 997
+ERROR_BROKEN_PIPE= 109
+ERROR_NO_DATA = 232
+
+CONNECTING_STATE = 0
+READING_STATE = 1
+WRITING_STATE = 2
+
+def _create_event():
+    """
+    Create Win32 event.
+    """
+    event = windll.kernel32.CreateEventA(
+        None,  # Default security attributes.
+        BOOL(True),  # Manual reset event.
+        BOOL(True),  # Initial state = signaled.
+        None  # Unnamed event object.
+    )
+    if not event:
+        raise Exception('event creation failed.')
+
+    return event
+
+
+class PipeInstance(object):
+    def __init__(self, pipe_name, instances=INSTANCES, buffsize=BUFSIZE, timeout=5000):
+        self.pipe_handle = windll.kernel32.CreateNamedPipeW(
+            pipe_name,  # Pipe name.
+            PIPE_ACCESS_DUPLEX | FILE_FLAG_OVERLAPPED,
+            PIPE_TYPE_MESSAGE | PIPE_READMODE_MESSAGE | PIPE_WAIT,
+            DWORD(instances), # Max instances. (TODO: increase).
+            DWORD(buffsize),  # Output buffer size.
+            DWORD(buffsize),  # Input buffer size.
+            DWORD(timeout),  # Client time-out.
+            None, # Default security attributes.
+        )
+
+        if not self.pipe_handle:
+            raise Exception('invalid pipe')
+
+    def handle_pipe(self):
+        """
+        Coroutine that handles this pipe.
+        """
+        while True:
+            yield From(self._handle_client())
+
+    def _handle_client(self):
+        """
+        Coroutine that connects to a single client and handles that.
+        """
+        while True:
+            try:
+                # Wait for connection.
+                yield From(self._connect_client())
+
+                while True:
+                    # Wait for input.
+                    data = yield From(self._read())
+
+                    # Wait for output.
+                    yield From(self._write('Received: ' + data))
+            except _BrokenPipeError:
+                # Disconnect and reconnect.
+                windll.kernel32.DisconnectNamedPipe(self.pipe_handle)
+
+
+    def _connect_client(self):
+        """
+        Wait for a client to connect to this pipe.
+        """
+        overlapped = OVERLAPPED()
+        overlapped.hEvent = _create_event()
+
+        while True:
+            success = windll.kernel32.ConnectNamedPipe(
+                self.pipe_handle,
+                ctypes.byref(overlapped))
+
+            if success:
+                return
+
+            last_error = win32api.GetLastError()
+            if last_error == ERROR_IO_PENDING:
+                yield From(wait_for_event(overlapped.hEvent))
+
+                # XXX: Call GetOverlappedResult.
+                return  # Connection succeeded.
+
+            else:
+                raise Exception('connect failed with error code' + str(last_error))
+
+    def _read(self):
+        """
+        Read data from this pipe.
+        """
+        overlapped = OVERLAPPED()
+        overlapped.hEvent = _create_event()
+
+        buff = ctypes.create_string_buffer(BUFSIZE + 1)
+        c_read = DWORD()
+        rc = DWORD()
+
+        success = windll.kernel32.ReadFile( 
+            self.pipe_handle,
+            buff,
+            DWORD(BUFSIZE),
+            ctypes.byref(c_read),
+            ctypes.byref(overlapped))
+
+        if success:
+            buff[c_read.value] = b'\0'
+            raise Return(buff.value.decode('utf-8', 'ignore'))
+
+        error_code = windll.kernel32.GetLastError()
+        if error_code == ERROR_IO_PENDING:
+            yield From(wait_for_event(overlapped.hEvent))
+
+            success = windll.kernel32.GetOverlappedResult(
+                self.pipe_handle,
+                ctypes.byref(overlapped),
+                ctypes.byref(c_read),
+                BOOL(False))
+
+            if success:
+                buff[c_read.value] = b'\0'
+                raise Return(buff.value.decode('utf-8', 'ignore'))
+
+            else:
+                error_code = windll.kernel32.GetLastError()
+                if error_code == ERROR_BROKEN_PIPE:
+                    print('Overlapped Read failed, broken pipe.')
+                    raise _BrokenPipeError
+                else:
+                    raise 'reading overlapped IO failed.'
+
+        elif error_code == ERROR_BROKEN_PIPE:
+            print('Read failed, broken pipe.')
+            raise _BrokenPipeError
+
+    def _write(self, text):
+        """
+        Write data into the pipe.
+        """
+        overlapped = OVERLAPPED()
+        overlapped.hEvent = _create_event()
+        c_written = DWORD()
+
+        data = text.encode('utf-8')
+
+        success = windll.kernel32.WriteFile(
+            self.pipe_handle,
+            ctypes.create_string_buffer(data),
+            len(data),
+            ctypes.byref(c_written),
+            ctypes.byref(overlapped))
+
+        if success:
+            return
+
+        error_code = windll.kernel32.GetLastError()
+        if error_code == ERROR_IO_PENDING:
+            yield From(wait_for_event(overlapped.hEvent))
+
+            success = windll.kernel32.GetOverlappedResult(
+                self.pipe_handle,
+                ctypes.byref(overlapped),
+                ctypes.byref(c_written),
+                BOOL(False))
+
+            if not success:
+                error_code = windll.kernel32.GetLastError()
+                if error_code == ERROR_BROKEN_PIPE:
+                    print('Overlapped Write failed, broken pipe.')
+                    raise _BrokenPipeError
+                else:
+                    raise 'Writing overlapped IO failed.'
+
+        elif error_code == ERROR_BROKEN_PIPE:
+            print('Write failed, broken pipe.')
+            raise _BrokenPipeError
+
+
+class _BrokenPipeError(Exception):
+    pass
+
+
+def disconnect_and_reconnect(pipe):
+    print('TODO')
+
+
+def wait_for_event(event):
+    """
+    Wraps a win32 event into a `Future` and wait for it.
+    """
+    f = Future()
+    def ready():
+        get_event_loop().remove_win32_handle(event)
+        f.set_result(None)
+    get_event_loop().add_win32_handle(event, ready)
+    return f
+
+
+
+def newmain():
+    pipes = [PipeInstance(socket_name) for i in range(INSTANCES)]
+
+    for p in pipes:
+        # Start pipe.
+        ensure_future(p.handle_pipe())
+
+    get_event_loop().run_forever()
+
+
+#def gather(*futures):
+#    result_f = Future()
+#    done = [0]
+#
+#    def done_cb(f):
+#        done[0] += 1
+#
+#        if done[0] == len(futures):
+#            result_f.set_result(None)
+#
+#    for f in futures:
+#        f.add_done_callback(done_cb)
+#
+#    return result_f
+
+
+newmain()

From 67843f167c25c3343cec86c387d81ed392b4312d Mon Sep 17 00:00:00 2001
From: Jonathan Slenders <jonathan@slenders.be>
Date: Sun, 8 Jul 2018 19:29:55 +0200
Subject: [PATCH 03/17] win32 experimental changes.

---
 pymux/client/defaults.py |   2 +-
 pymux/client/windows.py  | 163 ++++++++++++++++++++++++++++++++++++++-
 pymux/main.py            |  34 +++++++-
 pymux/server.py          |  96 +++++++++++++++++------
 4 files changed, 265 insertions(+), 30 deletions(-)

diff --git a/pymux/client/defaults.py b/pymux/client/defaults.py
index 938c307..929e874 100644
--- a/pymux/client/defaults.py
+++ b/pymux/client/defaults.py
@@ -9,7 +9,7 @@
 def create_client(socket_name):
     if is_windows():
         from .windows import WindowsClient
-        return WindowsClient()
+        return WindowsClient(socket_name)
     else:
         from .posix import PosixClient
         return PosixClient(socket_name)
diff --git a/pymux/client/windows.py b/pymux/client/windows.py
index 5e0d733..9b4a83d 100644
--- a/pymux/client/windows.py
+++ b/pymux/client/windows.py
@@ -1,5 +1,19 @@
 from __future__ import unicode_literals
 from .base import Client
+import win32file
+import win32con
+import win32security
+import os
+from prompt_toolkit.output import ColorDepth
+from prompt_toolkit.output.win32 import Win32Output
+from prompt_toolkit.eventloop import get_event_loop
+from prompt_toolkit.eventloop import Future
+from prompt_toolkit.input.win32 import Win32Input
+from prompt_toolkit.win32_types import STD_OUTPUT_HANDLE
+import json
+import sys
+from functools import partial
+from ctypes import windll
 
 __all__ = [
     'WindowsClient',
@@ -7,8 +21,153 @@
 ]
 
 class WindowsClient(Client):
-    # NOT YES IMPLEMENTED.
-    pass
+    def __init__(self, pipe_name):
+        self._input = Win32Input()
+        self._hconsole = windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE)
+        self._data_buffer = b''
+
+        print('Pipe name: ', repr(pipe_name))
+        try:
+            import win32pipe
+            #self.pipe = win32pipe.ConnectNamedPipe(pipe_name)
+            self.pipe = win32file.CreateFile(
+                pipe_name,  # Pipe name.
+                win32con.GENERIC_READ | win32con.GENERIC_WRITE,  # Read and write access.
+                1,  # 10 sharing.
+                win32security.SECURITY_ATTRIBUTES(),  # Default security attributes.
+                win32con.OPEN_EXISTING,  # Open existing pipe.
+                0, # win32con.FILE_FLAG_OVERLAPPED,
+                0)
+        except win32file.error as e:
+            print('Error:', e)
+            raise
+
+
+#        self._stdin_reader = 
+
+    def attach(self, detach_other_clients=False, color_depth=ColorDepth.DEPTH_8_BIT):
+        assert isinstance(detach_other_clients, bool)
+        future = Future()
+
+        self._send_size()
+        self._send_packet({
+            'cmd': 'start-gui',
+            'detach-others': detach_other_clients,
+            'color-depth': color_depth,
+            'term': os.environ.get('TERM', ''),
+            'data': ''
+        })
+
+        loop = get_event_loop()
+        loop.run_in_executor(self._start_reader_thread)
+#        loop.add_win32_handle(self.pipe.handle, self._received)
+
+        with self._input.attach(self._input_ready):
+            loop.run_until_complete(future)
+
+    def _start_reader_thread(self):
+        while True:
+            print('Reading pipe')
+#            num, data = win32file.ReadFile(self.pipe.handle, 2048)
+            num, data = win32file.ReadFile(self.pipe, 2048)
+            print('Received from pipe: ', repr(num), repr(data))
+
+            get_event_loop().call_from_executor(
+                partial(self._process_chunk, data))
+
+#    def _received(self):
+#        print('received something')
+#        num, data = win32file.ReadFile(self.pipe.handle, 1)
+#        print('Received', repr(num), repr(data))
+
+    def _process_chunk(self, data):
+        print('_process_chunk', repr(data))
+        data_buffer = self._data_buffer + data
+
+        while b'\0' in data_buffer:
+            pos = data_buffer.index(b'\0')
+            self._process(data_buffer[:pos])
+            data_buffer = data_buffer[pos + 1:]
+
+        self._data_buffer = data_buffer
+
+    def _process(self, data_buffer):
+        """
+        Handle incoming packet from server.
+        """
+        packet = json.loads(data_buffer.decode('utf-8'))
+        print('Processing packet: ', repr(packet))
+
+        if packet['cmd'] == 'out':
+            # Call os.write manually. In Python2.6, sys.stdout.write doesn't use UTF-8.
+            original_mode = DWORD(0)
+#            windll.kernel32.GetConsoleMode(self._hconsole, byref(original_mode))
+#
+#            windll.kernel32.SetConsoleMode(self._hconsole, DWORD(
+#                ENABLE_PROCESSED_INPUT | ENABLE_VIRTUAL_TERMINAL_PROCESSING))
+
+            try:
+                os.write(sys.stdout.fileno(), packet['data'].encode('utf-8'))
+            finally:
+                pass #windll.kernel32.SetConsoleMode(self._hconsole, original_mode)
+
+        elif packet['cmd'] == 'suspend':
+            # Suspend client process to background.
+            pass
+
+        elif packet['cmd'] == 'mode':
+            pass
+
+            # # Set terminal to raw/cooked.
+            # action = packet['data']
+
+            # if action == 'raw':
+            #     cm = raw_mode(sys.stdin.fileno())
+            #     cm.__enter__()
+            #     self._mode_context_managers.append(cm)
+
+            # elif action == 'cooked':
+            #     cm = cooked_mode(sys.stdin.fileno())
+            #     cm.__enter__()
+            #     self._mode_context_managers.append(cm)
+
+            # elif action == 'restore' and self._mode_context_managers:
+            #     cm = self._mode_context_managers.pop()
+            #     cm.__exit__()
+
+
+
+    def _input_ready(self):
+        print('Input ready')
+        keys = self._input.read_keys()
+        print('Received input', repr(keys))
+        if keys:
+            self._send_packet({
+                'cmd': 'in',
+                'data': ''.join(key_press.data for key_press in keys),
+            })
+        else:
+            print('sending nothing, no keys received')
+
+    def _send_packet(self, data):
+        " Send to server. "
+        data = json.dumps(data).encode('utf-8')
+
+        def in_thread():
+            print('Send packet: ', repr(data))
+            win32file.WriteFile(self.pipe, data + b'\0')
+            print('Send packet done')
+        get_event_loop().run_in_executor(in_thread)
+
+    def _send_size(self):
+        " Report terminal size to server. "
+        output = Win32Output(sys.stdout)
+        rows, cols = output.get_size()
+
+        self._send_packet({
+            'cmd': 'size',
+            'data': [rows, cols]
+        })
 
 
 def list_clients():
diff --git a/pymux/main.py b/pymux/main.py
index 619a0dd..2d4504a 100644
--- a/pymux/main.py
+++ b/pymux/main.py
@@ -566,16 +566,42 @@ def listen_on_socket(self, socket_name=None):
             old_umask = os.umask(int('0027', 8))
             self.socket_name, self.socket = bind_socket(socket_name)
             _ = os.umask(old_umask)
-            self.socket.listen(0)
-            get_event_loop().add_reader(self.socket.fileno(), self._socket_accept)
+#            self.socket.listen(0)
+#            get_event_loop().add_reader(self.socket.fileno(), self._socket_accept)
+            print(self.socket)
+            #print(dir(self.socket))
+            get_event_loop().add_win32_handle(self.socket.handle, self._win_socket_accept)
 
         # Set session_name according to socket name.
-        if '.' in self.socket_name:
-            self.session_name = self.socket_name.rpartition('.')[-1]
+#        if '.' in self.socket_name:
+#            self.session_name = self.socket_name.rpartition('.')[-1]
 
         logger.info('Listening on %r.' % self.socket_name)
         return self.socket_name
 
+    def _win_socket_accept(self):
+        import win32pipe
+        import pywintypes
+        from .server import ServerConnection
+
+        overlapped = pywintypes.OVERLAPPED()
+
+#        hr = win32pipe.ConnectNamedPipe(self.socket, None)#overlapped)
+        hr = win32pipe.ConnectNamedPipe(self.socket, overlapped)
+
+            # TODO: right after "ConnectNamedPipe", we should listen again.
+        print('ConnectNamedPipe hr=', hr)
+        print(overlapped)
+        print(dir(overlapped))
+        print(overlapped.hEvent)
+#        input('>')
+
+        with context():
+            #connection = ServerConnection(self, hr, hr)
+            #connection = ServerConnection(self, self.socket.handle, self.socket.handle)
+            connection = ServerConnection(self, self.socket)
+            self.connections.append(connection)
+
     def _socket_accept(self):
         """
         Accept connection from client.
diff --git a/pymux/server.py b/pymux/server.py
index af35cd2..1fa23a2 100644
--- a/pymux/server.py
+++ b/pymux/server.py
@@ -10,8 +10,10 @@
 from prompt_toolkit.input.vt100_parser import Vt100Parser
 from prompt_toolkit.layout.screen import Size
 from prompt_toolkit.output.vt100 import Vt100_Output
+from functools import partial
 
 from .log import logger
+import win32file
 
 __all__ = (
     'ServerConnection',
@@ -23,10 +25,13 @@ class ServerConnection(object):
     """
     For each client that connects, we have one instance of this class.
     """
-    def __init__(self, pymux, connection, client_address):
+    def __init__(self, pymux, socket):
         self.pymux = pymux
-        self.connection = connection
-        self.client_address = client_address
+
+        self.socket = socket
+        self.handle = socket.handle
+
+        self.connection = socket.handle
         self.size = Size(rows=20, columns=80)
         self._closed = False
 
@@ -40,26 +45,32 @@ def feed_key(key):
         self._inputstream = Vt100Parser(feed_key)
         self._pipeinput = _ClientInput(self._send_packet)
 
-        get_event_loop().add_reader(
-            connection.fileno(), self._recv)
+        print('add win32 handle', socket, socket.handle)
+#        if connection:  # XXX: not sure why we get '0' the first time.
+#            get_event_loop().add_win32_handle(connection, self._win_recv)
+
+        if socket.handle:  # XXX: not sure why we get '0' the first time.
+            get_event_loop().run_in_executor(self._start_reader_thread)
+
+    def _start_reader_thread(self):
+        while True:
+            print('Reading')
+            num, data = win32file.ReadFile(self.socket, 4096)
+            print('Received', repr(num), repr(data))
+
+            get_event_loop().call_from_executor(
+                partial(self._process_chunk, data))
 
-    def _recv(self):
+#    def _win_recv(self):
+#        print('win recv')
+#        data = win32file.ReadFile(self.connection, 4096)
+#        print('received', repr(data))
+
+    def _process_chunk(self, data):
         """
         Data received from the client.
         (Parse it.)
         """
-        # Read next chunk.
-        try:
-            data = self.connection.recv(1024)
-        except OSError as e:
-            # On OSX, when we try to create a new window by typing "pymux
-            # new-window" in a centain pane, very often we get the following
-            # error: "OSError: [Errno 9] Bad file descriptor."
-            # This doesn't seem very harmful, and we can just try again.
-            logger.warning('Got OSError while reading data from client: %s. '
-                           'Trying again.', e)
-            return
-
         if data == b'':
             # End of file. Close connection.
             self.detach_and_close()
@@ -85,6 +96,8 @@ def _process(self, data):
             logger.warning('Received invalid JSON from client. Ignoring.')
             return
 
+        print('Received packet: ', repr(packet))
+
         # Handle commands.
         if packet['cmd'] == 'run-command':
             self._run_command(packet)
@@ -112,17 +125,30 @@ def _process(self, data):
                 for c in self.pymux.connections:
                     c.detach_and_close()
 
+            print('Create app...')
             self._create_app(color_depth=color_depth, term=term)
 
     def _send_packet(self, data):
         """
         Send packet to client.
         """
-        try:
-            self.connection.send(json.dumps(data).encode('utf-8') + b'\0')
-        except socket.error:
-            if not self._closed:
-                self.detach_and_close()
+#        import time; time.sleep(2)
+        data = json.dumps(data).encode('utf-8') + b'\0'
+
+        def send():
+            try:
+                print('sending', repr(data))
+                win32file.WriteFile(self.socket, data)
+                print('Sent')
+                #self.connection.send(json.dumps(data).encode('utf-8') + b'\0')
+            except socket.error as e:
+                print('Error sending', e)
+                if not self._closed:
+                    self.detach_and_close()
+            except Exception as e:
+                print('Error sending', e)
+
+        get_event_loop().run_in_executor(send)
 
     def _run_command(self, packet):
         """
@@ -159,7 +185,9 @@ def _create_app(self, color_depth, term='xterm'):
         self.client_state = self.pymux.add_client(
             input=self._pipeinput, output=output, connection=self, color_depth=color_depth)
 
+        print('Start running app...')
         future = self.client_state.app.run_async()
+        print('Start running app got future...', future)
 
         @future.add_done_callback
         def done(_):
@@ -216,6 +244,28 @@ def bind_socket(socket_name=None):
                     raise
 
 
+def bind_socket(socket_name=None):  # XXX: windows
+    socket_name = r'\\.\pipe\pymux.sock.jonathan.42'
+
+    buffsize = 65536  # TODO: XXX make smaller.
+
+    import win32con
+    import win32pipe
+    import win32security
+    sa = win32security.SECURITY_ATTRIBUTES()
+    return socket_name, win32pipe.CreateNamedPipe(
+        socket_name,  # Pipe name.
+        win32con.PIPE_ACCESS_DUPLEX | win32con.FILE_FLAG_OVERLAPPED, #win32con.PIPE_ACCESS_OUTBOUND,  # Read/write access
+        win32con.PIPE_TYPE_BYTE | win32con.PIPE_READMODE_BYTE,
+        1, # Max instances. (TODO: increase).
+        buffsize,  # Output buffer size.
+        buffsize,  # Input buffer size.
+        0,  # Client time-out.
+        sa  # Security attributes.
+    )
+#########        1, 0, 0, 0, sa)
+
+
 class _SocketStdout(object):
     """
     Stdout-like object that writes everything through the unix socket to the

From 146acc9fbdb1d136da7eaa81aec605842501a8db Mon Sep 17 00:00:00 2001
From: Jonathan Slenders <jonathan@slenders.be>
Date: Thu, 12 Jul 2018 08:30:57 +0200
Subject: [PATCH 04/17] something is working. UI renders in client, but input
 doesnt work.

---
 pymux/client/windows.py |  98 +++++---------
 pymux/main.py           |  77 +++++------
 pymux/server.py         | 193 +++++++++++++--------------
 pymux/win32_client.py   | 195 +++++++++++++++++++++++++++
 pymux/win32_server.py   | 282 ++++++++++++++++++++++++++++++++++++++++
 5 files changed, 632 insertions(+), 213 deletions(-)
 create mode 100644 pymux/win32_client.py
 create mode 100644 pymux/win32_server.py

diff --git a/pymux/client/windows.py b/pymux/client/windows.py
index 9b4a83d..7112adc 100644
--- a/pymux/client/windows.py
+++ b/pymux/client/windows.py
@@ -4,46 +4,36 @@
 import win32con
 import win32security
 import os
+from ctypes import byref
+from ctypes.wintypes import DWORD
 from prompt_toolkit.output import ColorDepth
 from prompt_toolkit.output.win32 import Win32Output
 from prompt_toolkit.eventloop import get_event_loop
-from prompt_toolkit.eventloop import Future
+from prompt_toolkit.eventloop import Future, ensure_future, From
 from prompt_toolkit.input.win32 import Win32Input
 from prompt_toolkit.win32_types import STD_OUTPUT_HANDLE
 import json
 import sys
 from functools import partial
 from ctypes import windll
+from ..win32_client import PipeClient
 
 __all__ = [
     'WindowsClient',
     'list_clients',
 ]
 
+# See: https://msdn.microsoft.com/pl-pl/library/windows/desktop/ms686033(v=vs.85).aspx
+ENABLE_PROCESSED_INPUT = 0x0001
+ENABLE_VIRTUAL_TERMINAL_PROCESSING = 0x0004
+
 class WindowsClient(Client):
     def __init__(self, pipe_name):
         self._input = Win32Input()
         self._hconsole = windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE)
         self._data_buffer = b''
 
-        print('Pipe name: ', repr(pipe_name))
-        try:
-            import win32pipe
-            #self.pipe = win32pipe.ConnectNamedPipe(pipe_name)
-            self.pipe = win32file.CreateFile(
-                pipe_name,  # Pipe name.
-                win32con.GENERIC_READ | win32con.GENERIC_WRITE,  # Read and write access.
-                1,  # 10 sharing.
-                win32security.SECURITY_ATTRIBUTES(),  # Default security attributes.
-                win32con.OPEN_EXISTING,  # Open existing pipe.
-                0, # win32con.FILE_FLAG_OVERLAPPED,
-                0)
-        except win32file.error as e:
-            print('Error:', e)
-            raise
-
-
-#        self._stdin_reader = 
+        self.pipe = PipeClient(pipe_name)
 
     def attach(self, detach_other_clients=False, color_depth=ColorDepth.DEPTH_8_BIT):
         assert isinstance(detach_other_clients, bool)
@@ -58,58 +48,46 @@ def attach(self, detach_other_clients=False, color_depth=ColorDepth.DEPTH_8_BIT)
             'data': ''
         })
 
-        loop = get_event_loop()
-        loop.run_in_executor(self._start_reader_thread)
-#        loop.add_win32_handle(self.pipe.handle, self._received)
-
+        f = ensure_future(self._start_reader())
         with self._input.attach(self._input_ready):
-            loop.run_until_complete(future)
-
-    def _start_reader_thread(self):
-        while True:
-            print('Reading pipe')
-#            num, data = win32file.ReadFile(self.pipe.handle, 2048)
-            num, data = win32file.ReadFile(self.pipe, 2048)
-            print('Received from pipe: ', repr(num), repr(data))
-
-            get_event_loop().call_from_executor(
-                partial(self._process_chunk, data))
+            get_event_loop().run_until_complete(f)  # Run forever.
+        print('DONE' * 1000)
 
-#    def _received(self):
-#        print('received something')
-#        num, data = win32file.ReadFile(self.pipe.handle, 1)
-#        print('Received', repr(num), repr(data))
-
-    def _process_chunk(self, data):
-        print('_process_chunk', repr(data))
-        data_buffer = self._data_buffer + data
+#        loop = get_event_loop()
+#        loop.run_in_executor(self._start_reader_thread)
+#        loop.add_win32_handle(self.pipe.handle, self._received)
 
-        while b'\0' in data_buffer:
-            pos = data_buffer.index(b'\0')
-            self._process(data_buffer[:pos])
-            data_buffer = data_buffer[pos + 1:]
+#        with self._input.attach(self._input_ready):
+#            get_event_loop().run_until_complete(future)
 
-        self._data_buffer = data_buffer
+    def _start_reader(self):
+        """
+        Read from Win32 pipe.
+        """
+        while True:
+            message = yield From(self.pipe.read_message())
+#            print('Received from pipe: ', repr(message))
+            self._process(message)
 
     def _process(self, data_buffer):
         """
         Handle incoming packet from server.
         """
-        packet = json.loads(data_buffer.decode('utf-8'))
-        print('Processing packet: ', repr(packet))
+        packet = json.loads(data_buffer)
+#        print('Processing packet: ', repr(packet))
 
         if packet['cmd'] == 'out':
             # Call os.write manually. In Python2.6, sys.stdout.write doesn't use UTF-8.
             original_mode = DWORD(0)
-#            windll.kernel32.GetConsoleMode(self._hconsole, byref(original_mode))
-#
-#            windll.kernel32.SetConsoleMode(self._hconsole, DWORD(
-#                ENABLE_PROCESSED_INPUT | ENABLE_VIRTUAL_TERMINAL_PROCESSING))
+            windll.kernel32.GetConsoleMode(self._hconsole, byref(original_mode))
+
+            windll.kernel32.SetConsoleMode(self._hconsole, DWORD(
+                ENABLE_PROCESSED_INPUT | ENABLE_VIRTUAL_TERMINAL_PROCESSING))
 
             try:
                 os.write(sys.stdout.fileno(), packet['data'].encode('utf-8'))
             finally:
-                pass #windll.kernel32.SetConsoleMode(self._hconsole, original_mode)
+                windll.kernel32.SetConsoleMode(self._hconsole, original_mode)
 
         elif packet['cmd'] == 'suspend':
             # Suspend client process to background.
@@ -135,8 +113,6 @@ def _process(self, data_buffer):
             #     cm = self._mode_context_managers.pop()
             #     cm.__exit__()
 
-
-
     def _input_ready(self):
         print('Input ready')
         keys = self._input.read_keys()
@@ -151,13 +127,9 @@ def _input_ready(self):
 
     def _send_packet(self, data):
         " Send to server. "
-        data = json.dumps(data).encode('utf-8')
-
-        def in_thread():
-            print('Send packet: ', repr(data))
-            win32file.WriteFile(self.pipe, data + b'\0')
-            print('Send packet done')
-        get_event_loop().run_in_executor(in_thread)
+        print('sending packet', repr(data))
+        data = json.dumps(data)
+        ensure_future(self.pipe.write_message(data))
 
     def _send_size(self):
         " Report terminal size to server. "
diff --git a/pymux/main.py b/pymux/main.py
index 2d4504a..a3366f4 100644
--- a/pymux/main.py
+++ b/pymux/main.py
@@ -559,19 +559,22 @@ def listen_on_socket(self, socket_name=None):
         Listen for clients on a Unix socket.
         Returns the socket name.
         """
-        from .server import bind_socket
+        #from .server import bind_socket
+        from .server import bind_and_listen_on_socket
         if self.socket is None:
-            # Py2 uses 0027 and Py3 uses 0o027, but both know
-            # how to create the right value from the string '0027'.
-            old_umask = os.umask(int('0027', 8))
-            self.socket_name, self.socket = bind_socket(socket_name)
-            _ = os.umask(old_umask)
-#            self.socket.listen(0)
-#            get_event_loop().add_reader(self.socket.fileno(), self._socket_accept)
-            print(self.socket)
-            #print(dir(self.socket))
-            get_event_loop().add_win32_handle(self.socket.handle, self._win_socket_accept)
-
+            self.socket_name = bind_and_listen_on_socket(socket_name, self._socket_accept)
+
+#            # Py2 uses 0027 and Py3 uses 0o027, but both know
+#            # how to create the right value from the string '0027'.
+#            old_umask = os.umask(int('0027', 8))
+#            self.socket_name, self.socket = bind_socket(socket_name)
+#            _ = os.umask(old_umask)
+##            self.socket.listen(0)
+##            get_event_loop().add_reader(self.socket.fileno(), self._socket_accept)
+#            print(self.socket)
+#            #print(dir(self.socket))
+#            get_event_loop().add_win32_handle(self.socket.handle, self._win_socket_accept)
+#
         # Set session_name according to socket name.
 #        if '.' in self.socket_name:
 #            self.session_name = self.socket_name.rpartition('.')[-1]
@@ -579,45 +582,31 @@ def listen_on_socket(self, socket_name=None):
         logger.info('Listening on %r.' % self.socket_name)
         return self.socket_name
 
-    def _win_socket_accept(self):
-        import win32pipe
-        import pywintypes
+    def _socket_accept(self, pipe_connection):
         from .server import ServerConnection
 
-        overlapped = pywintypes.OVERLAPPED()
-
-#        hr = win32pipe.ConnectNamedPipe(self.socket, None)#overlapped)
-        hr = win32pipe.ConnectNamedPipe(self.socket, overlapped)
-
-            # TODO: right after "ConnectNamedPipe", we should listen again.
-        print('ConnectNamedPipe hr=', hr)
-        print(overlapped)
-        print(dir(overlapped))
-        print(overlapped.hEvent)
-#        input('>')
-
         with context():
             #connection = ServerConnection(self, hr, hr)
             #connection = ServerConnection(self, self.socket.handle, self.socket.handle)
-            connection = ServerConnection(self, self.socket)
+            connection = ServerConnection(self, pipe_connection)
             self.connections.append(connection)
 
-    def _socket_accept(self):
-        """
-        Accept connection from client.
-        """
-        logger.info('Client attached.')
-        from .server import ServerConnection
-
-        connection, client_address = self.socket.accept()
-        # Note: We don't have to put this socket in non blocking mode.
-        #       This can cause crashes when sending big packets on OS X.
-
-        # We have to create a new `context`, because this will be the scope for
-        # a new prompt_toolkit.Application to become active.
-        with context():
-            connection = ServerConnection(self, connection, client_address)
-            self.connections.append(connection)
+#    def _socket_accept(self):
+#        """
+#        Accept connection from client.
+#        """
+#        logger.info('Client attached.')
+#        from .server import ServerConnection
+#
+#        connection, client_address = self.socket.accept()
+#        # Note: We don't have to put this socket in non blocking mode.
+#        #       This can cause crashes when sending big packets on OS X.
+#
+#        # We have to create a new `context`, because this will be the scope for
+#        # a new prompt_toolkit.Application to become active.
+#        with context():
+#            connection = ServerConnection(self, connection, client_address)
+#            self.connections.append(connection)
 
     def run_server(self):
         # Ignore keyboard. (When people run "pymux server" and press Ctrl-C.)
diff --git a/pymux/server.py b/pymux/server.py
index 1fa23a2..afbf98d 100644
--- a/pymux/server.py
+++ b/pymux/server.py
@@ -4,7 +4,7 @@
 import socket
 import tempfile
 
-from prompt_toolkit.eventloop import get_event_loop
+from prompt_toolkit.eventloop import get_event_loop, ensure_future, From
 from prompt_toolkit.application.current import set_app
 from prompt_toolkit.input.vt100 import PipeInput
 from prompt_toolkit.input.vt100_parser import Vt100Parser
@@ -25,13 +25,11 @@ class ServerConnection(object):
     """
     For each client that connects, we have one instance of this class.
     """
-    def __init__(self, pymux, socket):
+    def __init__(self, pymux, pipe_connection):
         self.pymux = pymux
 
-        self.socket = socket
-        self.handle = socket.handle
+        self.pipe_connection = pipe_connection
 
-        self.connection = socket.handle
         self.size = Size(rows=20, columns=80)
         self._closed = False
 
@@ -45,51 +43,47 @@ def feed_key(key):
         self._inputstream = Vt100Parser(feed_key)
         self._pipeinput = _ClientInput(self._send_packet)
 
-        print('add win32 handle', socket, socket.handle)
-#        if connection:  # XXX: not sure why we get '0' the first time.
-#            get_event_loop().add_win32_handle(connection, self._win_recv)
+#        print('add win32 handle', pipe_connection)
+        ensure_future(self._start_reading())
 
-        if socket.handle:  # XXX: not sure why we get '0' the first time.
-            get_event_loop().run_in_executor(self._start_reader_thread)
-
-    def _start_reader_thread(self):
+    def _start_reading(self):
         while True:
-            print('Reading')
-            num, data = win32file.ReadFile(self.socket, 4096)
-            print('Received', repr(num), repr(data))
-
-            get_event_loop().call_from_executor(
-                partial(self._process_chunk, data))
-
-#    def _win_recv(self):
-#        print('win recv')
-#        data = win32file.ReadFile(self.connection, 4096)
-#        print('received', repr(data))
-
-    def _process_chunk(self, data):
-        """
-        Data received from the client.
-        (Parse it.)
-        """
-        if data == b'':
-            # End of file. Close connection.
-            self.detach_and_close()
-        else:
-            # Receive and process packets.
-            self._recv_buffer += data
-
-            while b'\0' in self._recv_buffer:
-                # Zero indicates end of packet.
-                pos = self._recv_buffer.index(b'\0')
-                self._process(self._recv_buffer[:pos])
-                self._recv_buffer = self._recv_buffer[pos + 1:]
-
+            print('start reading')
+            try:
+                print(self.pipe_connection)
+                print(self.pipe_connection.read)
+                data = yield From(self.pipe_connection.read())
+                print('received ', repr(data), type(data))
+                self._process(data)
+            except Exception as e:
+                import traceback; traceback.print_stack()
+                print('got exception ', e)
+
+#    def _process_chunk(self, data):
+#        """
+#        Data received from the client.
+#        (Parse it.)
+#        """
+#        if data == b'':
+#            # End of file. Close connection.
+#            self.detach_and_close()
+#        else:
+#            # Receive and process packets.
+#            self._recv_buffer += data
+#
+#            while b'\0' in self._recv_buffer:
+#                # Zero indicates end of packet.
+#                pos = self._recv_buffer.index(b'\0')
+#                self._process(self._recv_buffer[:pos])
+#                self._recv_buffer = self._recv_buffer[pos + 1:]
+#
     def _process(self, data):
         """
         Process packet received from client.
         """
         try:
-            packet = json.loads(data.decode('utf-8'))
+#            packet = json.loads(data.decode('utf-8'))
+            packet = json.loads(data)
         except ValueError:
             # So far, this never happened. But it would be good to have some
             # protection.
@@ -132,23 +126,14 @@ def _send_packet(self, data):
         """
         Send packet to client.
         """
-#        import time; time.sleep(2)
-        data = json.dumps(data).encode('utf-8') + b'\0'
+        data = json.dumps(data)
 
         def send():
             try:
-                print('sending', repr(data))
-                win32file.WriteFile(self.socket, data)
-                print('Sent')
-                #self.connection.send(json.dumps(data).encode('utf-8') + b'\0')
-            except socket.error as e:
-                print('Error sending', e)
-                if not self._closed:
-                    self.detach_and_close()
-            except Exception as e:
-                print('Error sending', e)
-
-        get_event_loop().run_in_executor(send)
+                yield From(self.pipe_connection.write(data))
+            except _BrokenPipeError:
+                pass # TODO
+        ensure_future(send())
 
     def _run_command(self, packet):
         """
@@ -200,6 +185,9 @@ def _close_connection(self):
         self.client_state = None
         self._closed = True
 
+        # Remove from eventloop.
+        self.pipe_connection.close()
+
     def suspend_client_to_background(self):
         """
         Ask the client to suspend itself. (Like, when Ctrl-Z is pressed.)
@@ -210,60 +198,53 @@ def detach_and_close(self):
         # Remove from Pymux.
         self._close_connection()
 
-        # Remove from eventloop.
-        get_event_loop().remove_reader(self.connection.fileno())
-        self.connection.close()
-
-
-def bind_socket(socket_name=None):
+ 
+# def bind_socket(socket_name=None):
+#     """
+#     Find a socket to listen on and return it.
+# 
+#     Returns (socket_name, sock_obj)
+#     """
+#     s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
+# 
+#     if socket_name:
+#         s.bind(socket_name)
+#         return socket_name, s
+#     else:
+#         i = 0
+#         while True:
+#             try:
+#                 socket_name = '%s/pymux.sock.%s.%i' % (
+#                     tempfile.gettempdir(), getpass.getuser(), i)
+#                 s.bind(socket_name)
+#                 return socket_name, s
+#             except (OSError, socket.error):
+#                 i += 1
+# 
+#                 # When 100 times failed, cancel server
+#                 if i == 100:
+#                     logger.warning('100 times failed to listen on posix socket. '
+#                                    'Please clean up old sockets.')
+#                     raise
+# 
+
+
+def bind_and_listen_on_socket(socket_name, accept_callback):
     """
-    Find a socket to listen on and return it.
-
-    Returns (socket_name, sock_obj)
     """
-    s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
-
-    if socket_name:
-        s.bind(socket_name)
-        return socket_name, s
-    else:
-        i = 0
-        while True:
-            try:
-                socket_name = '%s/pymux.sock.%s.%i' % (
-                    tempfile.gettempdir(), getpass.getuser(), i)
-                s.bind(socket_name)
-                return socket_name, s
-            except (OSError, socket.error):
-                i += 1
-
-                # When 100 times failed, cancel server
-                if i == 100:
-                    logger.warning('100 times failed to listen on posix socket. '
-                                   'Please clean up old sockets.')
-                    raise
+    socket_name = r'\\.\pipe\pymux.sock.jonathan.42'
+    INSTANCES = 10
+    from .win32_server import PipeInstance
+    from prompt_toolkit.eventloop import ensure_future
 
+    pipes = [PipeInstance(socket_name, pipe_connection_cb=accept_callback)
+             for i in range(INSTANCES)]
 
-def bind_socket(socket_name=None):  # XXX: windows
-    socket_name = r'\\.\pipe\pymux.sock.jonathan.42'
+    for p in pipes:
+        # Start pipe.
+        ensure_future(p.handle_pipe())
 
-    buffsize = 65536  # TODO: XXX make smaller.
-
-    import win32con
-    import win32pipe
-    import win32security
-    sa = win32security.SECURITY_ATTRIBUTES()
-    return socket_name, win32pipe.CreateNamedPipe(
-        socket_name,  # Pipe name.
-        win32con.PIPE_ACCESS_DUPLEX | win32con.FILE_FLAG_OVERLAPPED, #win32con.PIPE_ACCESS_OUTBOUND,  # Read/write access
-        win32con.PIPE_TYPE_BYTE | win32con.PIPE_READMODE_BYTE,
-        1, # Max instances. (TODO: increase).
-        buffsize,  # Output buffer size.
-        buffsize,  # Input buffer size.
-        0,  # Client time-out.
-        sa  # Security attributes.
-    )
-#########        1, 0, 0, 0, sa)
+    return socket_name
 
 
 class _SocketStdout(object):
diff --git a/pymux/win32_client.py b/pymux/win32_client.py
new file mode 100644
index 0000000..8390f36
--- /dev/null
+++ b/pymux/win32_client.py
@@ -0,0 +1,195 @@
+from ctypes.wintypes import DWORD, BOOL
+import ctypes
+#import win32
+from ctypes import windll
+from ptterm.backends.win32_pipes import OVERLAPPED
+from prompt_toolkit.eventloop import get_event_loop, ensure_future, From, Return
+
+BUFSIZE = 4096
+
+GENERIC_READ = 0x80000000
+GENERIC_WRITE = 0x40000000
+OPEN_EXISTING = 0x3
+
+ERROR_IO_PENDING = 997
+ERROR_BROKEN_PIPE= 109
+
+def _create_event():
+    """
+    Create Win32 event.
+    """
+    event = windll.kernel32.CreateEventA(
+        None,  # Default security attributes.
+        BOOL(True),  # Manual reset event.
+        BOOL(True),  # Initial state = signaled.
+        None  # Unnamed event object.
+    )
+    if not event:
+        raise Exception('event creation failed.')
+    return event
+
+
+class PipeClient(object):
+    def __init__(self, pipe_name):
+        self.pipe_handle = windll.kernel32.CreateFileW(
+            pipe_name,
+            DWORD(GENERIC_READ | GENERIC_WRITE),
+            DWORD(0),  # No sharing.
+            None,  # Default security attributes.
+            DWORD(OPEN_EXISTING),  # dwCreationDisposition.
+            0,  # dwFlagsAndAttributes.
+            None  # hTemplateFile,
+        )
+
+        # TODO: handle errors.
+        print('pipe handle', self.pipe_handle)
+        #if self.pipe_handle != 
+
+#    def write_message(self, text):
+#        # Send a message to the pipe server.
+#        message = text.encode('utf-8')
+#        rc = DWORD()
+#
+#        fSuccess = windll.kernel32.WriteFile(
+#            self.pipe_handle,
+#            ctypes.create_string_buffer(message),
+#            len(message),
+#            ctypes.byref(rc),
+#            None)  # Not overlapped.
+#
+#        if not fSuccess:
+#            print('WriteFile failed.', win32api.GetLastError())
+#            return
+
+    def write_message(self, text):
+        """
+        (coroutine)
+        Write data into the pipe.
+        """
+        print('PipeClient.write_message #0')
+        overlapped = OVERLAPPED()
+        overlapped.hEvent = _create_event()
+        c_written = DWORD()
+
+        data = text.encode('utf-8')
+        print('PipeClient.write_message #1')
+
+        success = windll.kernel32.WriteFile(
+            self.pipe_handle,
+            ctypes.create_string_buffer(data),
+            len(data),
+            ctypes.byref(c_written),
+            ctypes.byref(overlapped))
+
+        print('PipeClient.write_message #2', success)
+        if success:
+            return
+
+        error_code = windll.kernel32.GetLastError()
+        print('PipeClient.write_message #3', error_code)
+        if error_code == ERROR_IO_PENDING:
+            yield From(wait_for_event(overlapped.hEvent))
+
+            success = windll.kernel32.GetOverlappedResult(
+                self.pipe_handle,
+                ctypes.byref(overlapped),
+                ctypes.byref(c_written),
+                BOOL(False))
+
+            if not success:
+                error_code = windll.kernel32.GetLastError()
+                if error_code == ERROR_BROKEN_PIPE:
+                    print('Overlapped Write failed, broken pipe.')
+                    raise _BrokenPipeError
+                else:
+                    raise 'Writing overlapped IO failed.'
+
+        elif error_code == ERROR_BROKEN_PIPE:
+            print('Write failed, broken pipe.')
+            raise _BrokenPipeError
+
+
+#    def read_message(self):
+#        # Get response.
+#        buff = ctypes.create_string_buffer(BUFSIZE)
+#        c_read = DWORD()
+#
+#        print('call readfile')
+#        success = windll.kernel32.ReadFile( 
+#            self.pipe_handle,
+#            buff,
+#            DWORD(BUFSIZE),
+#            ctypes.byref(c_read),
+#            None)  # Not overlapped.
+#
+#        if success:
+#            buff[c_read.value] = b'\0'
+#            return buff.value.decode('utf-8', 'ignore')
+#        # TODO: handle ERROR_MORE_DATA
+
+    def read_message(self):
+        """
+        (coroutine)
+        Read data from this pipe.
+        """
+        overlapped = OVERLAPPED()
+        overlapped.hEvent = _create_event()
+
+        buff = ctypes.create_string_buffer(BUFSIZE + 1)
+        c_read = DWORD()
+        rc = DWORD()
+
+        success = windll.kernel32.ReadFile( 
+            self.pipe_handle,
+            buff,
+            DWORD(BUFSIZE),
+            ctypes.byref(c_read),
+            ctypes.byref(overlapped))
+
+        print('reading', success)
+        if success:
+            buff[c_read.value] = b'\0'
+            raise Return(buff.value.decode('utf-8', 'ignore'))
+
+        error_code = windll.kernel32.GetLastError()
+        print('err', error_code)
+        if error_code == ERROR_IO_PENDING:
+            yield From(wait_for_event(overlapped.hEvent))
+
+            success = windll.kernel32.GetOverlappedResult(
+                self.pipe_handle,
+                ctypes.byref(overlapped),
+                ctypes.byref(c_read),
+                BOOL(False))
+
+            if success:
+                buff[c_read.value] = b'\0'
+                print('received', buff.value)
+                raise Return(buff.value.decode('utf-8', 'ignore'))
+
+            else:
+                error_code = windll.kernel32.GetLastError()
+                if error_code == ERROR_BROKEN_PIPE:
+                    print('Overlapped Read failed, broken pipe.')
+                    raise _BrokenPipeError
+                else:
+                    raise 'reading overlapped IO failed.'
+
+        elif error_code == ERROR_BROKEN_PIPE:
+            print('Read failed, broken pipe.')
+            raise _BrokenPipeError
+
+
+
+    def close():
+        win32.CloseHandle(self.pipe_handle)
+
+#def main_coro():
+#    pipe_name = r'\\.\pipe\pymux.sock.jonathan.9942'
+#    pipe_client = PipeClient(pipe_name)
+#    yield From(pipe_client.write_message('Hi there'))
+#    result = yield From(pipe_client.read_message())
+#    print('result', repr(result))
+
+
+#get_event_loop().run_until_complete(ensure_future(main_coro()))
diff --git a/pymux/win32_server.py b/pymux/win32_server.py
new file mode 100644
index 0000000..646d78d
--- /dev/null
+++ b/pymux/win32_server.py
@@ -0,0 +1,282 @@
+#import win32security
+from ctypes import windll
+from ctypes.wintypes import BOOL, DWORD, HANDLE
+from prompt_toolkit.eventloop import get_event_loop, ensure_future, From, Future, Return
+import ctypes
+import pywintypes
+import win32
+import win32api
+import win32con
+import win32file
+import win32pipe
+from ptterm.backends.win32_pipes import OVERLAPPED
+
+socket_name = r'\\.\pipe\pymux.sock.jonathan.9942'
+
+INSTANCES = 10
+BUFSIZE = 4096
+
+
+# CreateNamedPipeW flags.
+# See: https://docs.microsoft.com/en-us/windows/desktop/api/winbase/nf-winbase-createnamedpipea
+PIPE_ACCESS_DUPLEX = 0x00000003
+FILE_FLAG_OVERLAPPED = 0x40000000
+PIPE_TYPE_MESSAGE = 0x00000004
+PIPE_READMODE_MESSAGE = 0x00000002
+PIPE_WAIT = 0x00000000
+
+ERROR_IO_PENDING = 997
+ERROR_BROKEN_PIPE= 109
+ERROR_NO_DATA = 232
+
+CONNECTING_STATE = 0
+READING_STATE = 1
+WRITING_STATE = 2
+
+
+class Win32PipeConnection(object):
+    def __init__(self, pipe_instance):
+        self.pipe_instance = pipe_instance
+        self.done_f = Future()
+
+    def read(self):
+        print('Win32PipeConnection.read #0')
+        if self.done_f.done():
+            raise _BrokenPipeError
+
+        try:
+            print('Win32PipeConnection.read #1')
+            result = yield From(self.pipe_instance.read())
+            print('Win32PipeConnection.read #2')
+            print('result=', type(result), repr(result))
+            raise Return(result)
+        except _BrokenPipeError:
+            self.done_f.set_result(None)
+            raise
+
+    def write(self, message):
+        if self.done_f.done():
+            raise _BrokenPipeError
+
+        try:
+            yield From(self.pipe_instance.write(message))
+        except _BrokenPipeError:
+            self.done_f.set_result(None)
+            raise
+
+    def close(self):
+        pass
+
+
+class PipeInstance(object):
+    def __init__(self, pipe_name, instances=INSTANCES, buffsize=BUFSIZE,
+                 timeout=5000, pipe_connection_cb=None):
+
+        self.pipe_handle = windll.kernel32.CreateNamedPipeW(
+            pipe_name,  # Pipe name.
+            PIPE_ACCESS_DUPLEX | FILE_FLAG_OVERLAPPED,
+            PIPE_TYPE_MESSAGE | PIPE_READMODE_MESSAGE | PIPE_WAIT,
+            DWORD(instances), # Max instances. (TODO: increase).
+            DWORD(buffsize),  # Output buffer size.
+            DWORD(buffsize),  # Input buffer size.
+            DWORD(timeout),  # Client time-out.
+            None, # Default security attributes.
+        )
+        self.pipe_connection_cb = pipe_connection_cb
+
+        if not self.pipe_handle:
+            raise Exception('invalid pipe')
+
+    def handle_pipe(self):
+        """
+        Coroutine that handles this pipe.
+        """
+        while True:
+            yield From(self._handle_client())
+
+    def _handle_client(self):
+        """
+        Coroutine that connects to a single client and handles that.
+        """
+        while True:
+#            try:
+                # Wait for connection.
+                print('wait for connection')
+                yield From(self._connect_client())
+                print('connected')
+
+                conn = Win32PipeConnection(self)
+                print('connected cb')
+                self.pipe_connection_cb(conn)
+                print('connected cb done, wait for done_f')
+
+                yield From(conn.done_f)
+                print('connected cb done, done_f done')
+
+#                while True:
+#                    # Wait for input.
+#                    data = yield From(self._read())
+#
+#                    # Wait for output.
+#                    yield From(self._write('Received: ' + data))
+#            except _BrokenPipeError:
+                # Disconnect and reconnect.
+                print('disconnect')
+                windll.kernel32.DisconnectNamedPipe(self.pipe_handle)
+
+    def _connect_client(self):
+        """
+        Wait for a client to connect to this pipe.
+        """
+        overlapped = OVERLAPPED()
+        overlapped.hEvent = _create_event()
+
+        while True:
+            success = windll.kernel32.ConnectNamedPipe(
+                self.pipe_handle,
+                ctypes.byref(overlapped))
+
+            if success:
+                return
+
+            last_error = win32api.GetLastError()
+            if last_error == ERROR_IO_PENDING:
+                yield From(wait_for_event(overlapped.hEvent))
+
+                # XXX: Call GetOverlappedResult.
+                return  # Connection succeeded.
+
+            else:
+                raise Exception('connect failed with error code' + str(last_error))
+
+    def read(self):
+        """
+        Read data from this pipe.
+        """
+        print('Pipe instance read #0')
+        overlapped = OVERLAPPED()
+        overlapped.hEvent = _create_event()
+
+        buff = ctypes.create_string_buffer(BUFSIZE + 1)
+        c_read = DWORD()
+        rc = DWORD()
+
+        print('Pipe instance read #1')
+        success = windll.kernel32.ReadFile( 
+            self.pipe_handle,
+            buff,
+            DWORD(BUFSIZE),
+            ctypes.byref(c_read),
+            ctypes.byref(overlapped))
+
+        print('Pipe instance read #2', success)
+        if success:
+            buff[c_read.value] = b'\0'
+            raise Return(buff.value.decode('utf-8', 'ignore'))
+
+        error_code = windll.kernel32.GetLastError()
+        print('Pipe instance read #3', error_code)
+        if error_code == ERROR_IO_PENDING:
+            print('Pipe instance read #4')
+            yield From(wait_for_event(overlapped.hEvent))
+            print('Pipe instance read #5')
+
+            success = windll.kernel32.GetOverlappedResult(
+                self.pipe_handle,
+                ctypes.byref(overlapped),
+                ctypes.byref(c_read),
+                BOOL(False))
+
+            print('Pipe instance read #6', success)
+            if success:
+                buff[c_read.value] = b'\0'
+                raise Return(buff.value.decode('utf-8', 'ignore'))
+
+            else:
+                error_code = windll.kernel32.GetLastError()
+                if error_code == ERROR_BROKEN_PIPE:
+                    print('Overlapped Read failed, broken pipe.')
+                    raise _BrokenPipeError
+                else:
+                    raise Exception('reading overlapped IO failed.')
+
+        elif error_code == ERROR_BROKEN_PIPE:
+            print('Read failed, broken pipe.')
+            raise _BrokenPipeError
+
+    def write(self, text):
+        """
+        Write data into the pipe.
+        """
+        overlapped = OVERLAPPED()
+        overlapped.hEvent = _create_event()
+        c_written = DWORD()
+
+        data = text.encode('utf-8')
+
+        success = windll.kernel32.WriteFile(
+            self.pipe_handle,
+            ctypes.create_string_buffer(data),
+            len(data),
+            ctypes.byref(c_written),
+            ctypes.byref(overlapped))
+
+        if success:
+            return
+
+        error_code = windll.kernel32.GetLastError()
+        if error_code == ERROR_IO_PENDING:
+            yield From(wait_for_event(overlapped.hEvent))
+
+            success = windll.kernel32.GetOverlappedResult(
+                self.pipe_handle,
+                ctypes.byref(overlapped),
+                ctypes.byref(c_written),
+                BOOL(False))
+
+            if not success:
+                error_code = windll.kernel32.GetLastError()
+                if error_code == ERROR_BROKEN_PIPE:
+                    print('Overlapped Write failed, broken pipe.')
+                    raise _BrokenPipeError
+                else:
+                    raise 'Writing overlapped IO failed.'
+
+        elif error_code == ERROR_BROKEN_PIPE:
+            print('Write failed, broken pipe.')
+            raise _BrokenPipeError
+
+
+class _BrokenPipeError(Exception):
+    pass
+
+
+def wait_for_event(event):
+    """
+    Wraps a win32 event into a `Future` and wait for it.
+    """
+    f = Future()
+    def ready():
+        get_event_loop().remove_win32_handle(event)
+        f.set_result(None)
+    get_event_loop().add_win32_handle(event, ready)
+    return f
+
+
+def _create_event():
+    """
+    Create Win32 event.
+    """
+    event = windll.kernel32.CreateEventA(
+        None,  # Default security attributes.
+        BOOL(True),  # Manual reset event.
+        BOOL(True),  # Initial state = signaled.
+        None  # Unnamed event object.
+    )
+    if not event:
+        raise Exception('event creation failed.')
+
+    return event
+
+
+# TODO: delete event?

From 53ab3bb6f49ab16e59c7dec4acb0fa59bfb39de8 Mon Sep 17 00:00:00 2001
From: Jonathan Slenders <jonathan@slenders.be>
Date: Thu, 12 Jul 2018 10:50:04 +0200
Subject: [PATCH 05/17] -

---
 pymux/win32_client.py |  36 +++++++++--
 pymux/win32_server.py | 146 +++++++++++++++++++++++-------------------
 win-client-test.py    |  27 +++++++-
 3 files changed, 134 insertions(+), 75 deletions(-)

diff --git a/pymux/win32_client.py b/pymux/win32_client.py
index 8390f36..4e8c34c 100644
--- a/pymux/win32_client.py
+++ b/pymux/win32_client.py
@@ -1,9 +1,9 @@
 from ctypes.wintypes import DWORD, BOOL
 import ctypes
 #import win32
-from ctypes import windll
+from ctypes import windll, byref
 from ptterm.backends.win32_pipes import OVERLAPPED
-from prompt_toolkit.eventloop import get_event_loop, ensure_future, From, Return
+from prompt_toolkit.eventloop import get_event_loop, ensure_future, From, Return, Future
 
 BUFSIZE = 4096
 
@@ -13,6 +13,10 @@
 
 ERROR_IO_PENDING = 997
 ERROR_BROKEN_PIPE= 109
+FILE_FLAG_OVERLAPPED = 0x40000000
+
+PIPE_READMODE_MESSAGE = 0x2
+FILE_WRITE_ATTRIBUTES = 0x100  # 256 
 
 def _create_event():
     """
@@ -33,17 +37,25 @@ class PipeClient(object):
     def __init__(self, pipe_name):
         self.pipe_handle = windll.kernel32.CreateFileW(
             pipe_name,
-            DWORD(GENERIC_READ | GENERIC_WRITE),
+            DWORD(GENERIC_READ | GENERIC_WRITE | FILE_WRITE_ATTRIBUTES),
             DWORD(0),  # No sharing.
             None,  # Default security attributes.
             DWORD(OPEN_EXISTING),  # dwCreationDisposition.
-            0,  # dwFlagsAndAttributes.
+            FILE_FLAG_OVERLAPPED,  # dwFlagsAndAttributes.
             None  # hTemplateFile,
         )
 
         # TODO: handle errors.
         print('pipe handle', self.pipe_handle)
-        #if self.pipe_handle != 
+        #if self.pipe_handle != INVALID_HANDLE_VALUE: ...             # TODO!!!
+
+        dwMode = DWORD(PIPE_READMODE_MESSAGE)
+        windll.kernel32.SetNamedPipeHandleState(
+            self.pipe_handle,
+            byref(dwMode),
+            None,
+            None)
+
 
 #    def write_message(self, text):
 #        # Send a message to the pipe server.
@@ -193,3 +205,17 @@ def close():
 
 
 #get_event_loop().run_until_complete(ensure_future(main_coro()))
+
+
+def wait_for_event(event):
+    """
+    Wraps a win32 event into a `Future` and wait for it.
+    """
+    f = Future()
+    def ready():
+        get_event_loop().remove_win32_handle(event)
+        f.set_result(None)
+    get_event_loop().add_win32_handle(event, ready)
+    return f
+
+
diff --git a/pymux/win32_server.py b/pymux/win32_server.py
index 646d78d..90cee05 100644
--- a/pymux/win32_server.py
+++ b/pymux/win32_server.py
@@ -24,6 +24,7 @@
 PIPE_TYPE_MESSAGE = 0x00000004
 PIPE_READMODE_MESSAGE = 0x00000002
 PIPE_WAIT = 0x00000000
+PIPE_NOWAIT = 0x00000001
 
 ERROR_IO_PENDING = 997
 ERROR_BROKEN_PIPE= 109
@@ -155,54 +156,60 @@ def read(self):
         """
         print('Pipe instance read #0')
         overlapped = OVERLAPPED()
-        overlapped.hEvent = _create_event()
+        ev = _create_event(True)  # XXX: not sure about the default event value here.
+        overlapped.hEvent = ev
+
+        try:
+            buff = ctypes.create_string_buffer(BUFSIZE + 1)
+            c_read = DWORD()
+            rc = DWORD()
 
-        buff = ctypes.create_string_buffer(BUFSIZE + 1)
-        c_read = DWORD()
-        rc = DWORD()
-
-        print('Pipe instance read #1')
-        success = windll.kernel32.ReadFile( 
-            self.pipe_handle,
-            buff,
-            DWORD(BUFSIZE),
-            ctypes.byref(c_read),
-            ctypes.byref(overlapped))
-
-        print('Pipe instance read #2', success)
-        if success:
-            buff[c_read.value] = b'\0'
-            raise Return(buff.value.decode('utf-8', 'ignore'))
-
-        error_code = windll.kernel32.GetLastError()
-        print('Pipe instance read #3', error_code)
-        if error_code == ERROR_IO_PENDING:
-            print('Pipe instance read #4')
-            yield From(wait_for_event(overlapped.hEvent))
-            print('Pipe instance read #5')
-
-            success = windll.kernel32.GetOverlappedResult(
+            print('Pipe instance read #1', self)
+            success = windll.kernel32.ReadFile( 
                 self.pipe_handle,
-                ctypes.byref(overlapped),
+                buff,
+                DWORD(BUFSIZE),
                 ctypes.byref(c_read),
-                BOOL(False))
+                ctypes.byref(overlapped))
 
-            print('Pipe instance read #6', success)
+            print('Pipe instance read #2', success)
             if success:
                 buff[c_read.value] = b'\0'
                 raise Return(buff.value.decode('utf-8', 'ignore'))
 
-            else:
-                error_code = windll.kernel32.GetLastError()
-                if error_code == ERROR_BROKEN_PIPE:
-                    print('Overlapped Read failed, broken pipe.')
-                    raise _BrokenPipeError
+            error_code = windll.kernel32.GetLastError()
+            print('Pipe instance read #3', error_code)
+            if error_code == ERROR_IO_PENDING:
+                print('Pipe instance read #4')
+                yield From(wait_for_event(ev))
+                print('Pipe instance read #5')
+
+                success = windll.kernel32.GetOverlappedResult(
+                    self.pipe_handle,
+                    ctypes.byref(overlapped),
+                    ctypes.byref(c_read),
+                    BOOL(False))
+
+                print('Pipe instance read #6', success)
+                if success:
+                    buff[c_read.value] = b'\0'
+                    raise Return(buff.value.decode('utf-8', 'ignore'))
+
                 else:
-                    raise Exception('reading overlapped IO failed.')
+                    error_code = windll.kernel32.GetLastError()
+                    if error_code == ERROR_BROKEN_PIPE:
+                        print('Overlapped Read failed, broken pipe.')
+                        raise _BrokenPipeError
+                    else:
+                        raise Exception('reading overlapped IO failed.')
 
-        elif error_code == ERROR_BROKEN_PIPE:
-            print('Read failed, broken pipe.')
-            raise _BrokenPipeError
+            elif error_code == ERROR_BROKEN_PIPE:
+                print('Read failed, broken pipe.')
+                raise _BrokenPipeError
+
+        finally:
+            # Release event.
+            windll.kernel32.CloseHandle(overlapped.hEvent)
 
     def write(self, text):
         """
@@ -212,39 +219,44 @@ def write(self, text):
         overlapped.hEvent = _create_event()
         c_written = DWORD()
 
-        data = text.encode('utf-8')
+        try:
+            data = text.encode('utf-8')
+
+            success = windll.kernel32.WriteFile(
+                self.pipe_handle,
+                ctypes.create_string_buffer(data),
+                len(data),
+                ctypes.byref(c_written),
+                ctypes.byref(overlapped))
 
-        success = windll.kernel32.WriteFile(
-            self.pipe_handle,
-            ctypes.create_string_buffer(data),
-            len(data),
-            ctypes.byref(c_written),
-            ctypes.byref(overlapped))
+            if success:
+                return
 
-        if success:
-            return
+            error_code = windll.kernel32.GetLastError()
+            if error_code == ERROR_IO_PENDING:
+                yield From(wait_for_event(overlapped.hEvent))
 
-        error_code = windll.kernel32.GetLastError()
-        if error_code == ERROR_IO_PENDING:
-            yield From(wait_for_event(overlapped.hEvent))
+                success = windll.kernel32.GetOverlappedResult(
+                    self.pipe_handle,
+                    ctypes.byref(overlapped),
+                    ctypes.byref(c_written),
+                    BOOL(False))
 
-            success = windll.kernel32.GetOverlappedResult(
-                self.pipe_handle,
-                ctypes.byref(overlapped),
-                ctypes.byref(c_written),
-                BOOL(False))
+                if not success:
+                    error_code = windll.kernel32.GetLastError()
+                    if error_code == ERROR_BROKEN_PIPE:
+                        print('Overlapped Write failed, broken pipe.')
+                        raise _BrokenPipeError
+                    else:
+                        raise 'Writing overlapped IO failed.'
 
-            if not success:
-                error_code = windll.kernel32.GetLastError()
-                if error_code == ERROR_BROKEN_PIPE:
-                    print('Overlapped Write failed, broken pipe.')
-                    raise _BrokenPipeError
-                else:
-                    raise 'Writing overlapped IO failed.'
+            elif error_code == ERROR_BROKEN_PIPE:
+                print('Write failed, broken pipe.')
+                raise _BrokenPipeError
 
-        elif error_code == ERROR_BROKEN_PIPE:
-            print('Write failed, broken pipe.')
-            raise _BrokenPipeError
+        finally:
+            # Release event.
+            windll.kernel32.CloseHandle(overlapped.hEvent)
 
 
 class _BrokenPipeError(Exception):
@@ -263,14 +275,14 @@ def ready():
     return f
 
 
-def _create_event():
+def _create_event(initial_state=True):
     """
     Create Win32 event.
     """
     event = windll.kernel32.CreateEventA(
         None,  # Default security attributes.
         BOOL(True),  # Manual reset event.
-        BOOL(True),  # Initial state = signaled.
+        BOOL(initial_state),  # Initial state = signaled.
         None  # Unnamed event object.
     )
     if not event:
diff --git a/win-client-test.py b/win-client-test.py
index 70bc6f9..f893e54 100644
--- a/win-client-test.py
+++ b/win-client-test.py
@@ -1,15 +1,16 @@
 from ctypes.wintypes import DWORD, BOOL
 import ctypes
 #import win32
-from ctypes import windll
+from ctypes import windll, byref
 from ptterm.backends.win32_pipes import OVERLAPPED
-from prompt_toolkit.eventloop import get_event_loop, ensure_future, From, Return
+from prompt_toolkit.eventloop import get_event_loop, ensure_future, From, Return, Future
 
 BUFSIZE = 4096
 
 GENERIC_READ = 0x80000000
 GENERIC_WRITE = 0x40000000
 OPEN_EXISTING = 0x3
+ERROR_IO_PENDING = 997
 
 def _create_event():
     """
@@ -25,6 +26,7 @@ def _create_event():
         raise Exception('event creation failed.')
     return event
 
+FILE_FLAG_OVERLAPPED = 0x40000000
 
 class PipeClient(object):
     def __init__(self, pipe_name):
@@ -34,7 +36,7 @@ def __init__(self, pipe_name):
             DWORD(0),  # No sharing.
             None,  # Default security attributes.
             DWORD(OPEN_EXISTING),  # dwCreationDisposition.
-            0,  # dwFlagsAndAttributes.
+            FILE_FLAG_OVERLAPPED,  # dwFlagsAndAttributes.
             None  # hTemplateFile,
         )
 
@@ -42,6 +44,14 @@ def __init__(self, pipe_name):
         print(self.pipe_handle)
         #if self.pipe_handle != 
 
+        PIPE_READMODE_MESSAGE = 0x2
+        dwMode = DWORD(PIPE_READMODE_MESSAGE)
+        windll.kernel32.SetNamedPipeHandleState(
+            self.pipe_handle,
+            byref(dwMode),
+            None,
+            None)
+
 #    def write_message(self, text):
 #        # Send a message to the pipe server.
 #        message = text.encode('utf-8')
@@ -181,5 +191,16 @@ def main_coro():
     result = yield From(pipe_client.read_message())
     print('result', repr(result))
 
+def wait_for_event(event):
+    """
+    Wraps a win32 event into a `Future` and wait for it.
+    """
+    f = Future()
+    def ready():
+        get_event_loop().remove_win32_handle(event)
+        f.set_result(None)
+    get_event_loop().add_win32_handle(event, ready)
+    return f
+
 
 get_event_loop().run_until_complete(ensure_future(main_coro()))

From 63ba47c70f03ce8b480ded2ee6a5df2025e71003 Mon Sep 17 00:00:00 2001
From: Jonathan Slenders <jonathan@slenders.be>
Date: Fri, 13 Jul 2018 15:18:17 +0200
Subject: [PATCH 06/17] -

---
 pymux/client/windows.py | 14 ++++++----
 pymux/server.py         |  9 ++++--
 pymux/win32_client.py   | 61 ++++++++++++++++++++++++++++++-----------
 win-server-test.py      |  2 ++
 4 files changed, 61 insertions(+), 25 deletions(-)

diff --git a/pymux/client/windows.py b/pymux/client/windows.py
index 7112adc..2ee3562 100644
--- a/pymux/client/windows.py
+++ b/pymux/client/windows.py
@@ -67,7 +67,9 @@ def _start_reader(self):
         while True:
             message = yield From(self.pipe.read_message())
 #            print('Received from pipe: ', repr(message))
-            self._process(message)
+#            print('start process')
+            self._process(message)   #XXX: uncomment!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+#            print('end process')
 
     def _process(self, data_buffer):
         """
@@ -114,20 +116,20 @@ def _process(self, data_buffer):
             #     cm.__exit__()
 
     def _input_ready(self):
-        print('Input ready')
+#        print('Input ready')
         keys = self._input.read_keys()
-        print('Received input', repr(keys))
+#        print('Received input', repr(keys))
         if keys:
             self._send_packet({
                 'cmd': 'in',
                 'data': ''.join(key_press.data for key_press in keys),
             })
-        else:
-            print('sending nothing, no keys received')
+#        else:
+#            print('sending nothing, no keys received')
 
     def _send_packet(self, data):
         " Send to server. "
-        print('sending packet', repr(data))
+#        print('sending packet', repr(data))
         data = json.dumps(data)
         ensure_future(self.pipe.write_message(data))
 
diff --git a/pymux/server.py b/pymux/server.py
index afbf98d..7c8c0c4 100644
--- a/pymux/server.py
+++ b/pymux/server.py
@@ -4,10 +4,10 @@
 import socket
 import tempfile
 
-from prompt_toolkit.eventloop import get_event_loop, ensure_future, From
 from prompt_toolkit.application.current import set_app
-from prompt_toolkit.input.vt100 import PipeInput
+from prompt_toolkit.eventloop import get_event_loop, ensure_future, From
 from prompt_toolkit.input.vt100_parser import Vt100Parser
+from prompt_toolkit.input.win32_pipe import Win32PipeInput
 from prompt_toolkit.layout.screen import Size
 from prompt_toolkit.output.vt100 import Vt100_Output
 from functools import partial
@@ -126,6 +126,7 @@ def _send_packet(self, data):
         """
         Send packet to client.
         """
+        print('send packet', data)
         data = json.dumps(data)
 
         def send():
@@ -176,6 +177,8 @@ def _create_app(self, color_depth, term='xterm'):
 
         @future.add_done_callback
         def done(_):
+            print('APP DONE.........')
+            print(future.result())
             self._close_connection()
 
     def _close_connection(self):
@@ -266,7 +269,7 @@ def flush(self):
         self._buffer = []
 
 
-class _ClientInput(PipeInput):
+class _ClientInput(Win32PipeInput):
     """
     Input class that can be given to the CommandLineInterface.
     We only need this for turning the client into raw_mode/cooked_mode.
diff --git a/pymux/win32_client.py b/pymux/win32_client.py
index 4e8c34c..d94f774 100644
--- a/pymux/win32_client.py
+++ b/pymux/win32_client.py
@@ -12,7 +12,8 @@
 OPEN_EXISTING = 0x3
 
 ERROR_IO_PENDING = 997
-ERROR_BROKEN_PIPE= 109
+ERROR_BROKEN_PIPE = 109
+ERROR_MORE_DATA = 234 
 FILE_FLAG_OVERLAPPED = 0x40000000
 
 PIPE_READMODE_MESSAGE = 0x2
@@ -46,7 +47,7 @@ def __init__(self, pipe_name):
         )
 
         # TODO: handle errors.
-        print('pipe handle', self.pipe_handle)
+#        print('pipe handle', self.pipe_handle)
         #if self.pipe_handle != INVALID_HANDLE_VALUE: ...             # TODO!!!
 
         dwMode = DWORD(PIPE_READMODE_MESSAGE)
@@ -78,13 +79,13 @@ def write_message(self, text):
         (coroutine)
         Write data into the pipe.
         """
-        print('PipeClient.write_message #0')
+#        print('PipeClient.write_message #0')
         overlapped = OVERLAPPED()
         overlapped.hEvent = _create_event()
         c_written = DWORD()
 
         data = text.encode('utf-8')
-        print('PipeClient.write_message #1')
+#        print('PipeClient.write_message #1')
 
         success = windll.kernel32.WriteFile(
             self.pipe_handle,
@@ -93,12 +94,12 @@ def write_message(self, text):
             ctypes.byref(c_written),
             ctypes.byref(overlapped))
 
-        print('PipeClient.write_message #2', success)
+#        print('PipeClient.write_message #2', success)
         if success:
             return
 
         error_code = windll.kernel32.GetLastError()
-        print('PipeClient.write_message #3', error_code)
+#        print('PipeClient.write_message #3', error_code)
         if error_code == ERROR_IO_PENDING:
             yield From(wait_for_event(overlapped.hEvent))
 
@@ -111,13 +112,13 @@ def write_message(self, text):
             if not success:
                 error_code = windll.kernel32.GetLastError()
                 if error_code == ERROR_BROKEN_PIPE:
-                    print('Overlapped Write failed, broken pipe.')
+#                    print('Overlapped Write failed, broken pipe.')
                     raise _BrokenPipeError
                 else:
                     raise 'Writing overlapped IO failed.'
 
         elif error_code == ERROR_BROKEN_PIPE:
-            print('Write failed, broken pipe.')
+#            print('Write failed, broken pipe.')
             raise _BrokenPipeError
 
 
@@ -140,17 +141,28 @@ def write_message(self, text):
 #        # TODO: handle ERROR_MORE_DATA
 
     def read_message(self):
+        """
+        (coroutine)
+        Read one single message from the pipe and return as text.
+        """
+        data = yield From(self._read_message_bytes())
+        raise Return(data.decode('utf-8', 'ignore'))
+
+    def _read_message_bytes(self):
         """
         (coroutine)
         Read data from this pipe.
         """
+#        print('PipeClient.read_message')
         overlapped = OVERLAPPED()
         overlapped.hEvent = _create_event()
 
+#        print('PipeClient.read_message #2')
         buff = ctypes.create_string_buffer(BUFSIZE + 1)
         c_read = DWORD()
         rc = DWORD()
 
+#        print('PipeClient.read_message #3')
         success = windll.kernel32.ReadFile( 
             self.pipe_handle,
             buff,
@@ -158,13 +170,13 @@ def read_message(self):
             ctypes.byref(c_read),
             ctypes.byref(overlapped))
 
-        print('reading', success)
+#        print('reading', success)
         if success:
             buff[c_read.value] = b'\0'
-            raise Return(buff.value.decode('utf-8', 'ignore'))
+            raise Return(buff.value)
 
         error_code = windll.kernel32.GetLastError()
-        print('err', error_code)
+#        print('err', error_code)
         if error_code == ERROR_IO_PENDING:
             yield From(wait_for_event(overlapped.hEvent))
 
@@ -176,21 +188,38 @@ def read_message(self):
 
             if success:
                 buff[c_read.value] = b'\0'
-                print('received', buff.value)
-                raise Return(buff.value.decode('utf-8', 'ignore'))
+#                print('received', buff.value)
+                raise Return(buff.value)
 
             else:
                 error_code = windll.kernel32.GetLastError()
                 if error_code == ERROR_BROKEN_PIPE:
-                    print('Overlapped Read failed, broken pipe.')
+#                    print('Overlapped Read failed, broken pipe.')
                     raise _BrokenPipeError
+                elif error_code == ERROR_MORE_DATA:
+#                    print('ERRRO_MORE_DATA')
+
+                    more_data = yield From(self._read_message_bytes())
+#                    if more_data is None:
+#                        more_data = ''  # XXX: why does this happen????
+                    raise Return(buff.value + more_data)
+                    pass  # XXX
+                # XXX: use utf8decoder...
+
                 else:
-                    raise 'reading overlapped IO failed.'
+                    raise Exception(
+                        'reading overlapped IO failed. error_code=%r' % error_code)
 
         elif error_code == ERROR_BROKEN_PIPE:
-            print('Read failed, broken pipe.')
+#            print('Read failed, broken pipe.')
             raise _BrokenPipeError
 
+        elif error_code == ERROR_MORE_DATA:
+            more_data = yield From(self._read_message_bytes())
+            raise Return(buff.value + more_data)
+
+        else:
+            raise Exception('Reading pipe failed, error_code=%s' % error_code)
 
 
     def close():
diff --git a/win-server-test.py b/win-server-test.py
index 050aeed..c0f1814 100644
--- a/win-server-test.py
+++ b/win-server-test.py
@@ -141,7 +141,9 @@ def _read(self):
 
         error_code = windll.kernel32.GetLastError()
         if error_code == ERROR_IO_PENDING:
+            print('wait for event')
             yield From(wait_for_event(overlapped.hEvent))
+            print('done wait for event')
 
             success = windll.kernel32.GetOverlappedResult(
                 self.pipe_handle,

From 440b7f0fa42fef159195adc52b4aa7dc75b9765f Mon Sep 17 00:00:00 2001
From: Jonathan Slenders <jonathan@slenders.be>
Date: Fri, 13 Jul 2018 15:30:15 +0200
Subject: [PATCH 07/17] -

---
 pymux/win32_client.py | 105 ++++++++----------------------------------
 1 file changed, 19 insertions(+), 86 deletions(-)

diff --git a/pymux/win32_client.py b/pymux/win32_client.py
index d94f774..ac03807 100644
--- a/pymux/win32_client.py
+++ b/pymux/win32_client.py
@@ -1,9 +1,8 @@
+from ctypes import windll, byref, create_string_buffer
 from ctypes.wintypes import DWORD, BOOL
-import ctypes
-#import win32
-from ctypes import windll, byref
-from ptterm.backends.win32_pipes import OVERLAPPED
 from prompt_toolkit.eventloop import get_event_loop, ensure_future, From, Return, Future
+from ptterm.backends.win32_pipes import OVERLAPPED
+import ctypes
 
 BUFSIZE = 4096
 
@@ -18,6 +17,8 @@
 
 PIPE_READMODE_MESSAGE = 0x2
 FILE_WRITE_ATTRIBUTES = 0x100  # 256 
+INVALID_HANDLE_VALUE = -1
+
 
 def _create_event():
     """
@@ -45,10 +46,8 @@ def __init__(self, pipe_name):
             FILE_FLAG_OVERLAPPED,  # dwFlagsAndAttributes.
             None  # hTemplateFile,
         )
-
-        # TODO: handle errors.
-#        print('pipe handle', self.pipe_handle)
-        #if self.pipe_handle != INVALID_HANDLE_VALUE: ...             # TODO!!!
+        if self.pipe_handle == INVALID_HANDLE_VALUE:
+            raise Exception('Invalid handle. Connecting to pipe %r failed.' % pipe_name)
 
         dwMode = DWORD(PIPE_READMODE_MESSAGE)
         windll.kernel32.SetNamedPipeHandleState(
@@ -57,89 +56,47 @@ def __init__(self, pipe_name):
             None,
             None)
 
-
-#    def write_message(self, text):
-#        # Send a message to the pipe server.
-#        message = text.encode('utf-8')
-#        rc = DWORD()
-#
-#        fSuccess = windll.kernel32.WriteFile(
-#            self.pipe_handle,
-#            ctypes.create_string_buffer(message),
-#            len(message),
-#            ctypes.byref(rc),
-#            None)  # Not overlapped.
-#
-#        if not fSuccess:
-#            print('WriteFile failed.', win32api.GetLastError())
-#            return
-
     def write_message(self, text):
         """
         (coroutine)
         Write data into the pipe.
         """
-#        print('PipeClient.write_message #0')
         overlapped = OVERLAPPED()
         overlapped.hEvent = _create_event()
         c_written = DWORD()
 
         data = text.encode('utf-8')
-#        print('PipeClient.write_message #1')
 
         success = windll.kernel32.WriteFile(
             self.pipe_handle,
-            ctypes.create_string_buffer(data),
+            create_string_buffer(data),
             len(data),
-            ctypes.byref(c_written),
-            ctypes.byref(overlapped))
+            byref(c_written),
+            byref(overlapped))
 
-#        print('PipeClient.write_message #2', success)
         if success:
             return
 
         error_code = windll.kernel32.GetLastError()
-#        print('PipeClient.write_message #3', error_code)
         if error_code == ERROR_IO_PENDING:
             yield From(wait_for_event(overlapped.hEvent))
 
             success = windll.kernel32.GetOverlappedResult(
                 self.pipe_handle,
-                ctypes.byref(overlapped),
-                ctypes.byref(c_written),
+                byref(overlapped),
+                byref(c_written),
                 BOOL(False))
 
             if not success:
                 error_code = windll.kernel32.GetLastError()
                 if error_code == ERROR_BROKEN_PIPE:
-#                    print('Overlapped Write failed, broken pipe.')
                     raise _BrokenPipeError
                 else:
                     raise 'Writing overlapped IO failed.'
 
         elif error_code == ERROR_BROKEN_PIPE:
-#            print('Write failed, broken pipe.')
             raise _BrokenPipeError
 
-
-#    def read_message(self):
-#        # Get response.
-#        buff = ctypes.create_string_buffer(BUFSIZE)
-#        c_read = DWORD()
-#
-#        print('call readfile')
-#        success = windll.kernel32.ReadFile( 
-#            self.pipe_handle,
-#            buff,
-#            DWORD(BUFSIZE),
-#            ctypes.byref(c_read),
-#            None)  # Not overlapped.
-#
-#        if success:
-#            buff[c_read.value] = b'\0'
-#            return buff.value.decode('utf-8', 'ignore')
-#        # TODO: handle ERROR_MORE_DATA
-
     def read_message(self):
         """
         (coroutine)
@@ -151,67 +108,54 @@ def read_message(self):
     def _read_message_bytes(self):
         """
         (coroutine)
-        Read data from this pipe.
+        Read message from this pipe. Return bytes.
         """
-#        print('PipeClient.read_message')
         overlapped = OVERLAPPED()
         overlapped.hEvent = _create_event()
 
-#        print('PipeClient.read_message #2')
-        buff = ctypes.create_string_buffer(BUFSIZE + 1)
+        buff = create_string_buffer(BUFSIZE + 1)
         c_read = DWORD()
         rc = DWORD()
 
-#        print('PipeClient.read_message #3')
         success = windll.kernel32.ReadFile( 
             self.pipe_handle,
             buff,
             DWORD(BUFSIZE),
-            ctypes.byref(c_read),
-            ctypes.byref(overlapped))
+            byref(c_read),
+            byref(overlapped))
 
-#        print('reading', success)
         if success:
             buff[c_read.value] = b'\0'
             raise Return(buff.value)
 
         error_code = windll.kernel32.GetLastError()
-#        print('err', error_code)
+
         if error_code == ERROR_IO_PENDING:
             yield From(wait_for_event(overlapped.hEvent))
 
             success = windll.kernel32.GetOverlappedResult(
                 self.pipe_handle,
-                ctypes.byref(overlapped),
-                ctypes.byref(c_read),
+                byref(overlapped),
+                byref(c_read),
                 BOOL(False))
 
             if success:
                 buff[c_read.value] = b'\0'
-#                print('received', buff.value)
                 raise Return(buff.value)
 
             else:
                 error_code = windll.kernel32.GetLastError()
                 if error_code == ERROR_BROKEN_PIPE:
-#                    print('Overlapped Read failed, broken pipe.')
                     raise _BrokenPipeError
                 elif error_code == ERROR_MORE_DATA:
-#                    print('ERRRO_MORE_DATA')
 
                     more_data = yield From(self._read_message_bytes())
-#                    if more_data is None:
-#                        more_data = ''  # XXX: why does this happen????
                     raise Return(buff.value + more_data)
-                    pass  # XXX
-                # XXX: use utf8decoder...
-
                 else:
                     raise Exception(
                         'reading overlapped IO failed. error_code=%r' % error_code)
 
         elif error_code == ERROR_BROKEN_PIPE:
-#            print('Read failed, broken pipe.')
             raise _BrokenPipeError
 
         elif error_code == ERROR_MORE_DATA:
@@ -221,20 +165,9 @@ def _read_message_bytes(self):
         else:
             raise Exception('Reading pipe failed, error_code=%s' % error_code)
 
-
     def close():
         win32.CloseHandle(self.pipe_handle)
 
-#def main_coro():
-#    pipe_name = r'\\.\pipe\pymux.sock.jonathan.9942'
-#    pipe_client = PipeClient(pipe_name)
-#    yield From(pipe_client.write_message('Hi there'))
-#    result = yield From(pipe_client.read_message())
-#    print('result', repr(result))
-
-
-#get_event_loop().run_until_complete(ensure_future(main_coro()))
-
 
 def wait_for_event(event):
     """

From 5f8f13767b11411c839a491a9c0957dcf32a79c3 Mon Sep 17 00:00:00 2001
From: Jonathan Slenders <jonathan@slenders.be>
Date: Fri, 13 Jul 2018 16:03:14 +0200
Subject: [PATCH 08/17] -

---
 pymux/win32.py        | 206 ++++++++++++++++++++++++++++++++++++++++++
 pymux/win32_client.py | 172 ++---------------------------------
 pymux/win32_server.py | 176 ++----------------------------------
 3 files changed, 224 insertions(+), 330 deletions(-)
 create mode 100644 pymux/win32.py

diff --git a/pymux/win32.py b/pymux/win32.py
new file mode 100644
index 0000000..8b24083
--- /dev/null
+++ b/pymux/win32.py
@@ -0,0 +1,206 @@
+"""
+Common Win32 pipe operations.
+"""
+from ctypes import windll, byref, create_string_buffer
+from ctypes.wintypes import DWORD, BOOL
+from prompt_toolkit.eventloop import get_event_loop, From, Return, Future
+from ptterm.backends.win32_pipes import OVERLAPPED
+
+__all__ = [
+    'read_message_from_pipe',
+    'read_message_bytes_from_pipe',
+    'write_message_to_pipe',
+    'write_message_bytes_to_pipe',
+    'wait_for_event',
+]
+
+BUFSIZE = 4096
+
+GENERIC_READ = 0x80000000
+GENERIC_WRITE = 0x40000000
+OPEN_EXISTING = 0x3
+
+ERROR_IO_PENDING = 997
+ERROR_BROKEN_PIPE = 109
+ERROR_MORE_DATA = 234 
+ERROR_NO_DATA = 232
+FILE_FLAG_OVERLAPPED = 0x40000000
+
+PIPE_READMODE_MESSAGE = 0x2
+FILE_WRITE_ATTRIBUTES = 0x100  # 256 
+INVALID_HANDLE_VALUE = -1
+
+
+def connect_to_pipe(pipe_name):
+    """
+    Connect to a new pipe in message mode.
+    """
+    pipe_handle = windll.kernel32.CreateFileW(
+        pipe_name,
+        DWORD(GENERIC_READ | GENERIC_WRITE | FILE_WRITE_ATTRIBUTES),
+        DWORD(0),  # No sharing.
+        None,  # Default security attributes.
+        DWORD(OPEN_EXISTING),  # dwCreationDisposition.
+        FILE_FLAG_OVERLAPPED,  # dwFlagsAndAttributes.
+        None  # hTemplateFile,
+    )
+    if pipe_handle == INVALID_HANDLE_VALUE:
+        raise Exception('Invalid handle. Connecting to pipe %r failed.' % pipe_name)
+
+    # Turn pipe into message mode.
+    dwMode = DWORD(PIPE_READMODE_MESSAGE)
+    windll.kernel32.SetNamedPipeHandleState(
+        pipe_handle,
+        byref(dwMode),
+        None,
+        None)
+
+    return pipe_handle
+
+
+def create_event():
+    """
+    Create Win32 event.
+    """
+    event = windll.kernel32.CreateEventA(
+        None,  # Default security attributes.
+        BOOL(True),  # Manual reset event.
+        BOOL(True),  # Initial state = signaled.
+        None  # Unnamed event object.
+    )
+    if not event:
+        raise Exception('event creation failed.')
+    return event
+
+
+def read_message_from_pipe(pipe_handle):
+    """
+    (coroutine)
+    Read message from this pipe. Return text.
+    """
+    data = yield From(read_message_bytes_from_pipe(pipe_handle))
+    assert isinstance(data, bytes)
+    raise Return(data.decode('utf-8', 'ignore'))
+
+
+def read_message_bytes_from_pipe(pipe_handle):
+    """
+    (coroutine)
+    Read message from this pipe. Return bytes.
+    """
+    overlapped = OVERLAPPED()
+    overlapped.hEvent = create_event()
+    
+    try:
+        buff = create_string_buffer(BUFSIZE + 1)
+        c_read = DWORD()
+        rc = DWORD()
+
+        success = windll.kernel32.ReadFile( 
+            pipe_handle,
+            buff,
+            DWORD(BUFSIZE),
+            byref(c_read),
+            byref(overlapped))
+
+        if success:
+            buff[c_read.value] = b'\0'
+            raise Return(buff.value)
+
+        error_code = windll.kernel32.GetLastError()
+
+        if error_code == ERROR_IO_PENDING:
+            yield From(wait_for_event(overlapped.hEvent))
+
+            success = windll.kernel32.GetOverlappedResult(
+                pipe_handle,
+                byref(overlapped),
+                byref(c_read),
+                BOOL(False))
+
+            if success:
+                buff[c_read.value] = b'\0'
+                raise Return(buff.value)
+
+            else:
+                error_code = windll.kernel32.GetLastError()
+                if error_code == ERROR_BROKEN_PIPE:
+                    print('Broken pipe')
+                    raise _BrokenPipeError
+
+                elif error_code == ERROR_MORE_DATA:
+                    more_data = yield From(read_message_bytes_from_pipe())
+                    raise Return(buff.value + more_data)
+                else:
+                    raise Exception(
+                        'reading overlapped IO failed. error_code=%r' % error_code)
+
+        elif error_code == ERROR_BROKEN_PIPE:
+            print('Broken pipe')
+            raise _BrokenPipeError
+
+        elif error_code == ERROR_MORE_DATA:
+            more_data = yield From(read_message_bytes_from_pipe())
+            raise Return(buff.value + more_data)
+
+        else:
+            raise Exception('Reading pipe failed, error_code=%s' % error_code)
+    finally:
+        windll.kernel32.CloseHandle(overlapped.hEvent)
+
+
+def write_message_to_pipe(pipe_handle, text):
+    data = text.encode('utf-8')
+    yield From(write_message_bytes_to_pipe(pipe_handle, data))
+
+
+def write_message_bytes_to_pipe(pipe_handle, data):
+    overlapped = OVERLAPPED()
+    overlapped.hEvent = create_event()
+    
+    try:
+        c_written = DWORD()
+
+        success = windll.kernel32.WriteFile(
+            pipe_handle,
+            create_string_buffer(data),
+            len(data),
+            byref(c_written),
+            byref(overlapped))
+
+        if success:
+            return
+
+        error_code = windll.kernel32.GetLastError()
+        if error_code == ERROR_IO_PENDING:
+            yield From(wait_for_event(overlapped.hEvent))
+
+            success = windll.kernel32.GetOverlappedResult(
+                pipe_handle,
+                byref(overlapped),
+                byref(c_written),
+                BOOL(False))
+
+            if not success:
+                error_code = windll.kernel32.GetLastError()
+                if error_code == ERROR_BROKEN_PIPE:
+                    raise _BrokenPipeError
+                else:
+                    raise Exception('Writing overlapped IO failed. error_code=%r' % error_code)
+
+        elif error_code == ERROR_BROKEN_PIPE:
+            raise _BrokenPipeError
+    finally:
+        windll.kernel32.CloseHandle(overlapped.hEvent)
+
+
+def wait_for_event(event):
+    """
+    Wraps a win32 event into a `Future` and wait for it.
+    """
+    f = Future()
+    def ready():
+        get_event_loop().remove_win32_handle(event)
+        f.set_result(None)
+    get_event_loop().add_win32_handle(event, ready)
+    return f
diff --git a/pymux/win32_client.py b/pymux/win32_client.py
index ac03807..1fcc6f0 100644
--- a/pymux/win32_client.py
+++ b/pymux/win32_client.py
@@ -1,183 +1,29 @@
-from ctypes import windll, byref, create_string_buffer
-from ctypes.wintypes import DWORD, BOOL
-from prompt_toolkit.eventloop import get_event_loop, ensure_future, From, Return, Future
-from ptterm.backends.win32_pipes import OVERLAPPED
-import ctypes
+from .win32 import read_message_from_pipe, wait_for_event, write_message_to_pipe, connect_to_pipe
+from prompt_toolkit.eventloop import From, Return
 
-BUFSIZE = 4096
-
-GENERIC_READ = 0x80000000
-GENERIC_WRITE = 0x40000000
-OPEN_EXISTING = 0x3
-
-ERROR_IO_PENDING = 997
-ERROR_BROKEN_PIPE = 109
-ERROR_MORE_DATA = 234 
-FILE_FLAG_OVERLAPPED = 0x40000000
-
-PIPE_READMODE_MESSAGE = 0x2
-FILE_WRITE_ATTRIBUTES = 0x100  # 256 
-INVALID_HANDLE_VALUE = -1
-
-
-def _create_event():
-    """
-    Create Win32 event.
-    """
-    event = windll.kernel32.CreateEventA(
-        None,  # Default security attributes.
-        BOOL(True),  # Manual reset event.
-        BOOL(True),  # Initial state = signaled.
-        None  # Unnamed event object.
-    )
-    if not event:
-        raise Exception('event creation failed.')
-    return event
+__all__ = [
+    'PipeClient',
+]
 
 
 class PipeClient(object):
     def __init__(self, pipe_name):
-        self.pipe_handle = windll.kernel32.CreateFileW(
-            pipe_name,
-            DWORD(GENERIC_READ | GENERIC_WRITE | FILE_WRITE_ATTRIBUTES),
-            DWORD(0),  # No sharing.
-            None,  # Default security attributes.
-            DWORD(OPEN_EXISTING),  # dwCreationDisposition.
-            FILE_FLAG_OVERLAPPED,  # dwFlagsAndAttributes.
-            None  # hTemplateFile,
-        )
-        if self.pipe_handle == INVALID_HANDLE_VALUE:
-            raise Exception('Invalid handle. Connecting to pipe %r failed.' % pipe_name)
-
-        dwMode = DWORD(PIPE_READMODE_MESSAGE)
-        windll.kernel32.SetNamedPipeHandleState(
-            self.pipe_handle,
-            byref(dwMode),
-            None,
-            None)
+        self.pipe_handle = connect_to_pipe(pipe_name)
 
     def write_message(self, text):
         """
         (coroutine)
         Write data into the pipe.
         """
-        overlapped = OVERLAPPED()
-        overlapped.hEvent = _create_event()
-        c_written = DWORD()
-
-        data = text.encode('utf-8')
-
-        success = windll.kernel32.WriteFile(
-            self.pipe_handle,
-            create_string_buffer(data),
-            len(data),
-            byref(c_written),
-            byref(overlapped))
-
-        if success:
-            return
-
-        error_code = windll.kernel32.GetLastError()
-        if error_code == ERROR_IO_PENDING:
-            yield From(wait_for_event(overlapped.hEvent))
-
-            success = windll.kernel32.GetOverlappedResult(
-                self.pipe_handle,
-                byref(overlapped),
-                byref(c_written),
-                BOOL(False))
-
-            if not success:
-                error_code = windll.kernel32.GetLastError()
-                if error_code == ERROR_BROKEN_PIPE:
-                    raise _BrokenPipeError
-                else:
-                    raise 'Writing overlapped IO failed.'
-
-        elif error_code == ERROR_BROKEN_PIPE:
-            raise _BrokenPipeError
+        yield From(write_message_to_pipe(self.pipe_handle, text))
 
     def read_message(self):
         """
         (coroutine)
         Read one single message from the pipe and return as text.
         """
-        data = yield From(self._read_message_bytes())
-        raise Return(data.decode('utf-8', 'ignore'))
-
-    def _read_message_bytes(self):
-        """
-        (coroutine)
-        Read message from this pipe. Return bytes.
-        """
-        overlapped = OVERLAPPED()
-        overlapped.hEvent = _create_event()
-
-        buff = create_string_buffer(BUFSIZE + 1)
-        c_read = DWORD()
-        rc = DWORD()
-
-        success = windll.kernel32.ReadFile( 
-            self.pipe_handle,
-            buff,
-            DWORD(BUFSIZE),
-            byref(c_read),
-            byref(overlapped))
-
-        if success:
-            buff[c_read.value] = b'\0'
-            raise Return(buff.value)
-
-        error_code = windll.kernel32.GetLastError()
-
-        if error_code == ERROR_IO_PENDING:
-            yield From(wait_for_event(overlapped.hEvent))
-
-            success = windll.kernel32.GetOverlappedResult(
-                self.pipe_handle,
-                byref(overlapped),
-                byref(c_read),
-                BOOL(False))
-
-            if success:
-                buff[c_read.value] = b'\0'
-                raise Return(buff.value)
-
-            else:
-                error_code = windll.kernel32.GetLastError()
-                if error_code == ERROR_BROKEN_PIPE:
-                    raise _BrokenPipeError
-                elif error_code == ERROR_MORE_DATA:
-
-                    more_data = yield From(self._read_message_bytes())
-                    raise Return(buff.value + more_data)
-                else:
-                    raise Exception(
-                        'reading overlapped IO failed. error_code=%r' % error_code)
-
-        elif error_code == ERROR_BROKEN_PIPE:
-            raise _BrokenPipeError
-
-        elif error_code == ERROR_MORE_DATA:
-            more_data = yield From(self._read_message_bytes())
-            raise Return(buff.value + more_data)
-
-        else:
-            raise Exception('Reading pipe failed, error_code=%s' % error_code)
+        message = yield From(read_message_from_pipe(self.pipe_handle))
+        raise Return(message)
 
     def close():
         win32.CloseHandle(self.pipe_handle)
-
-
-def wait_for_event(event):
-    """
-    Wraps a win32 event into a `Future` and wait for it.
-    """
-    f = Future()
-    def ready():
-        get_event_loop().remove_win32_handle(event)
-        f.set_result(None)
-    get_event_loop().add_win32_handle(event, ready)
-    return f
-
-
diff --git a/pymux/win32_server.py b/pymux/win32_server.py
index 90cee05..e7d7a56 100644
--- a/pymux/win32_server.py
+++ b/pymux/win32_server.py
@@ -1,22 +1,13 @@
-#import win32security
-from ctypes import windll
+from ctypes import windll, byref
 from ctypes.wintypes import BOOL, DWORD, HANDLE
 from prompt_toolkit.eventloop import get_event_loop, ensure_future, From, Future, Return
-import ctypes
-import pywintypes
-import win32
-import win32api
-import win32con
-import win32file
-import win32pipe
 from ptterm.backends.win32_pipes import OVERLAPPED
 
-socket_name = r'\\.\pipe\pymux.sock.jonathan.9942'
+from .win32 import wait_for_event, create_event, read_message_from_pipe, write_message_to_pipe
 
 INSTANCES = 10
 BUFSIZE = 4096
 
-
 # CreateNamedPipeW flags.
 # See: https://docs.microsoft.com/en-us/windows/desktop/api/winbase/nf-winbase-createnamedpipea
 PIPE_ACCESS_DUPLEX = 0x00000003
@@ -41,15 +32,11 @@ def __init__(self, pipe_instance):
         self.done_f = Future()
 
     def read(self):
-        print('Win32PipeConnection.read #0')
         if self.done_f.done():
             raise _BrokenPipeError
 
         try:
-            print('Win32PipeConnection.read #1')
-            result = yield From(self.pipe_instance.read())
-            print('Win32PipeConnection.read #2')
-            print('result=', type(result), repr(result))
+            result = yield From(read_message_from_pipe(self.pipe_instance.pipe_handle))
             raise Return(result)
         except _BrokenPipeError:
             self.done_f.set_result(None)
@@ -60,7 +47,7 @@ def write(self, message):
             raise _BrokenPipeError
 
         try:
-            yield From(self.pipe_instance.write(message))
+            yield From(write_message_to_pipe(self.pipe_instance.pipe_handle, message))
         except _BrokenPipeError:
             self.done_f.set_result(None)
             raise
@@ -100,7 +87,7 @@ def _handle_client(self):
         Coroutine that connects to a single client and handles that.
         """
         while True:
-#            try:
+            try:
                 # Wait for connection.
                 print('wait for connection')
                 yield From(self._connect_client())
@@ -114,13 +101,7 @@ def _handle_client(self):
                 yield From(conn.done_f)
                 print('connected cb done, done_f done')
 
-#                while True:
-#                    # Wait for input.
-#                    data = yield From(self._read())
-#
-#                    # Wait for output.
-#                    yield From(self._write('Received: ' + data))
-#            except _BrokenPipeError:
+            finally:
                 # Disconnect and reconnect.
                 print('disconnect')
                 windll.kernel32.DisconnectNamedPipe(self.pipe_handle)
@@ -130,17 +111,17 @@ def _connect_client(self):
         Wait for a client to connect to this pipe.
         """
         overlapped = OVERLAPPED()
-        overlapped.hEvent = _create_event()
+        overlapped.hEvent = create_event()
 
         while True:
             success = windll.kernel32.ConnectNamedPipe(
                 self.pipe_handle,
-                ctypes.byref(overlapped))
+                byref(overlapped))
 
             if success:
                 return
 
-            last_error = win32api.GetLastError()
+            last_error = windll.kernel32.GetLastError()
             if last_error == ERROR_IO_PENDING:
                 yield From(wait_for_event(overlapped.hEvent))
 
@@ -150,145 +131,6 @@ def _connect_client(self):
             else:
                 raise Exception('connect failed with error code' + str(last_error))
 
-    def read(self):
-        """
-        Read data from this pipe.
-        """
-        print('Pipe instance read #0')
-        overlapped = OVERLAPPED()
-        ev = _create_event(True)  # XXX: not sure about the default event value here.
-        overlapped.hEvent = ev
-
-        try:
-            buff = ctypes.create_string_buffer(BUFSIZE + 1)
-            c_read = DWORD()
-            rc = DWORD()
-
-            print('Pipe instance read #1', self)
-            success = windll.kernel32.ReadFile( 
-                self.pipe_handle,
-                buff,
-                DWORD(BUFSIZE),
-                ctypes.byref(c_read),
-                ctypes.byref(overlapped))
-
-            print('Pipe instance read #2', success)
-            if success:
-                buff[c_read.value] = b'\0'
-                raise Return(buff.value.decode('utf-8', 'ignore'))
-
-            error_code = windll.kernel32.GetLastError()
-            print('Pipe instance read #3', error_code)
-            if error_code == ERROR_IO_PENDING:
-                print('Pipe instance read #4')
-                yield From(wait_for_event(ev))
-                print('Pipe instance read #5')
-
-                success = windll.kernel32.GetOverlappedResult(
-                    self.pipe_handle,
-                    ctypes.byref(overlapped),
-                    ctypes.byref(c_read),
-                    BOOL(False))
-
-                print('Pipe instance read #6', success)
-                if success:
-                    buff[c_read.value] = b'\0'
-                    raise Return(buff.value.decode('utf-8', 'ignore'))
-
-                else:
-                    error_code = windll.kernel32.GetLastError()
-                    if error_code == ERROR_BROKEN_PIPE:
-                        print('Overlapped Read failed, broken pipe.')
-                        raise _BrokenPipeError
-                    else:
-                        raise Exception('reading overlapped IO failed.')
-
-            elif error_code == ERROR_BROKEN_PIPE:
-                print('Read failed, broken pipe.')
-                raise _BrokenPipeError
-
-        finally:
-            # Release event.
-            windll.kernel32.CloseHandle(overlapped.hEvent)
-
-    def write(self, text):
-        """
-        Write data into the pipe.
-        """
-        overlapped = OVERLAPPED()
-        overlapped.hEvent = _create_event()
-        c_written = DWORD()
-
-        try:
-            data = text.encode('utf-8')
-
-            success = windll.kernel32.WriteFile(
-                self.pipe_handle,
-                ctypes.create_string_buffer(data),
-                len(data),
-                ctypes.byref(c_written),
-                ctypes.byref(overlapped))
-
-            if success:
-                return
-
-            error_code = windll.kernel32.GetLastError()
-            if error_code == ERROR_IO_PENDING:
-                yield From(wait_for_event(overlapped.hEvent))
-
-                success = windll.kernel32.GetOverlappedResult(
-                    self.pipe_handle,
-                    ctypes.byref(overlapped),
-                    ctypes.byref(c_written),
-                    BOOL(False))
-
-                if not success:
-                    error_code = windll.kernel32.GetLastError()
-                    if error_code == ERROR_BROKEN_PIPE:
-                        print('Overlapped Write failed, broken pipe.')
-                        raise _BrokenPipeError
-                    else:
-                        raise 'Writing overlapped IO failed.'
-
-            elif error_code == ERROR_BROKEN_PIPE:
-                print('Write failed, broken pipe.')
-                raise _BrokenPipeError
-
-        finally:
-            # Release event.
-            windll.kernel32.CloseHandle(overlapped.hEvent)
-
 
 class _BrokenPipeError(Exception):
     pass
-
-
-def wait_for_event(event):
-    """
-    Wraps a win32 event into a `Future` and wait for it.
-    """
-    f = Future()
-    def ready():
-        get_event_loop().remove_win32_handle(event)
-        f.set_result(None)
-    get_event_loop().add_win32_handle(event, ready)
-    return f
-
-
-def _create_event(initial_state=True):
-    """
-    Create Win32 event.
-    """
-    event = windll.kernel32.CreateEventA(
-        None,  # Default security attributes.
-        BOOL(True),  # Manual reset event.
-        BOOL(initial_state),  # Initial state = signaled.
-        None  # Unnamed event object.
-    )
-    if not event:
-        raise Exception('event creation failed.')
-
-    return event
-
-
-# TODO: delete event?

From 17110735e77b1b1e265eaa21a38c241121480c71 Mon Sep 17 00:00:00 2001
From: Jonathan Slenders <jonathan@slenders.be>
Date: Fri, 13 Jul 2018 16:11:39 +0200
Subject: [PATCH 09/17] -

---
 pymux/server.py       | 18 ------------------
 pymux/win32.py        |  4 ++--
 pymux/win32_server.py | 11 +++++------
 3 files changed, 7 insertions(+), 26 deletions(-)

diff --git a/pymux/server.py b/pymux/server.py
index 7c8c0c4..5dafeb0 100644
--- a/pymux/server.py
+++ b/pymux/server.py
@@ -59,24 +59,6 @@ def _start_reading(self):
                 import traceback; traceback.print_stack()
                 print('got exception ', e)
 
-#    def _process_chunk(self, data):
-#        """
-#        Data received from the client.
-#        (Parse it.)
-#        """
-#        if data == b'':
-#            # End of file. Close connection.
-#            self.detach_and_close()
-#        else:
-#            # Receive and process packets.
-#            self._recv_buffer += data
-#
-#            while b'\0' in self._recv_buffer:
-#                # Zero indicates end of packet.
-#                pos = self._recv_buffer.index(b'\0')
-#                self._process(self._recv_buffer[:pos])
-#                self._recv_buffer = self._recv_buffer[pos + 1:]
-#
     def _process(self, data):
         """
         Process packet received from client.
diff --git a/pymux/win32.py b/pymux/win32.py
index 8b24083..c27273b 100644
--- a/pymux/win32.py
+++ b/pymux/win32.py
@@ -129,7 +129,7 @@ def read_message_bytes_from_pipe(pipe_handle):
                     raise _BrokenPipeError
 
                 elif error_code == ERROR_MORE_DATA:
-                    more_data = yield From(read_message_bytes_from_pipe())
+                    more_data = yield From(read_message_bytes_from_pipe(pipe_handle))
                     raise Return(buff.value + more_data)
                 else:
                     raise Exception(
@@ -140,7 +140,7 @@ def read_message_bytes_from_pipe(pipe_handle):
             raise _BrokenPipeError
 
         elif error_code == ERROR_MORE_DATA:
-            more_data = yield From(read_message_bytes_from_pipe())
+            more_data = yield From(read_message_bytes_from_pipe(pipe_handle))
             raise Return(buff.value + more_data)
 
         else:
diff --git a/pymux/win32_server.py b/pymux/win32_server.py
index e7d7a56..83d640e 100644
--- a/pymux/win32_server.py
+++ b/pymux/win32_server.py
@@ -4,6 +4,7 @@
 from ptterm.backends.win32_pipes import OVERLAPPED
 
 from .win32 import wait_for_event, create_event, read_message_from_pipe, write_message_to_pipe
+from .log import logger
 
 INSTANCES = 10
 BUFSIZE = 4096
@@ -89,21 +90,19 @@ def _handle_client(self):
         while True:
             try:
                 # Wait for connection.
-                print('wait for connection')
+                logger.info('Waiting for connection in pipe instance.')
                 yield From(self._connect_client())
-                print('connected')
+                logger.info('Connected in pipe instance')
 
                 conn = Win32PipeConnection(self)
-                print('connected cb')
                 self.pipe_connection_cb(conn)
-                print('connected cb done, wait for done_f')
 
                 yield From(conn.done_f)
-                print('connected cb done, done_f done')
+                logger.info('Pipe instance done.')
 
             finally:
                 # Disconnect and reconnect.
-                print('disconnect')
+                logger.info('Disconnecting pipe instance.')
                 windll.kernel32.DisconnectNamedPipe(self.pipe_handle)
 
     def _connect_client(self):

From 95426845ed685f0e997a00416e0f4a6c3f156815 Mon Sep 17 00:00:00 2001
From: Jonathan Slenders <jonathan@slenders.be>
Date: Fri, 13 Jul 2018 16:20:34 +0200
Subject: [PATCH 10/17] -

---
 pymux/client/windows.py | 43 ++++++++++++-----------------------------
 pymux/win32.py          |  1 -
 pymux/win32_client.py   |  5 +++--
 pymux/win32_server.py   |  4 ++--
 4 files changed, 17 insertions(+), 36 deletions(-)

diff --git a/pymux/client/windows.py b/pymux/client/windows.py
index 2ee3562..81fef75 100644
--- a/pymux/client/windows.py
+++ b/pymux/client/windows.py
@@ -1,22 +1,20 @@
 from __future__ import unicode_literals
-from .base import Client
-import win32file
-import win32con
-import win32security
-import os
+
 from ctypes import byref
+from ctypes import windll
 from ctypes.wintypes import DWORD
-from prompt_toolkit.output import ColorDepth
-from prompt_toolkit.output.win32 import Win32Output
+from prompt_toolkit.eventloop import ensure_future, From
 from prompt_toolkit.eventloop import get_event_loop
-from prompt_toolkit.eventloop import Future, ensure_future, From
 from prompt_toolkit.input.win32 import Win32Input
+from prompt_toolkit.output import ColorDepth
+from prompt_toolkit.output.win32 import Win32Output
 from prompt_toolkit.win32_types import STD_OUTPUT_HANDLE
 import json
+import os
 import sys
-from functools import partial
-from ctypes import windll
+
 from ..win32_client import PipeClient
+from .base import Client
 
 __all__ = [
     'WindowsClient',
@@ -27,6 +25,7 @@
 ENABLE_PROCESSED_INPUT = 0x0001
 ENABLE_VIRTUAL_TERMINAL_PROCESSING = 0x0004
 
+
 class WindowsClient(Client):
     def __init__(self, pipe_name):
         self._input = Win32Input()
@@ -37,8 +36,6 @@ def __init__(self, pipe_name):
 
     def attach(self, detach_other_clients=False, color_depth=ColorDepth.DEPTH_8_BIT):
         assert isinstance(detach_other_clients, bool)
-        future = Future()
-
         self._send_size()
         self._send_packet({
             'cmd': 'start-gui',
@@ -50,33 +47,22 @@ def attach(self, detach_other_clients=False, color_depth=ColorDepth.DEPTH_8_BIT)
 
         f = ensure_future(self._start_reader())
         with self._input.attach(self._input_ready):
+            # Run as long as we have a connection with the server.
             get_event_loop().run_until_complete(f)  # Run forever.
-        print('DONE' * 1000)
-
-#        loop = get_event_loop()
-#        loop.run_in_executor(self._start_reader_thread)
-#        loop.add_win32_handle(self.pipe.handle, self._received)
-
-#        with self._input.attach(self._input_ready):
-#            get_event_loop().run_until_complete(future)
 
     def _start_reader(self):
         """
-        Read from Win32 pipe.
+        Read messages from the Win32 pipe server and handle them.
         """
         while True:
             message = yield From(self.pipe.read_message())
-#            print('Received from pipe: ', repr(message))
-#            print('start process')
-            self._process(message)   #XXX: uncomment!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-#            print('end process')
+            self._process(message)
 
     def _process(self, data_buffer):
         """
         Handle incoming packet from server.
         """
         packet = json.loads(data_buffer)
-#        print('Processing packet: ', repr(packet))
 
         if packet['cmd'] == 'out':
             # Call os.write manually. In Python2.6, sys.stdout.write doesn't use UTF-8.
@@ -116,20 +102,15 @@ def _process(self, data_buffer):
             #     cm.__exit__()
 
     def _input_ready(self):
-#        print('Input ready')
         keys = self._input.read_keys()
-#        print('Received input', repr(keys))
         if keys:
             self._send_packet({
                 'cmd': 'in',
                 'data': ''.join(key_press.data for key_press in keys),
             })
-#        else:
-#            print('sending nothing, no keys received')
 
     def _send_packet(self, data):
         " Send to server. "
-#        print('sending packet', repr(data))
         data = json.dumps(data)
         ensure_future(self.pipe.write_message(data))
 
diff --git a/pymux/win32.py b/pymux/win32.py
index c27273b..7dd71fd 100644
--- a/pymux/win32.py
+++ b/pymux/win32.py
@@ -94,7 +94,6 @@ def read_message_bytes_from_pipe(pipe_handle):
     try:
         buff = create_string_buffer(BUFSIZE + 1)
         c_read = DWORD()
-        rc = DWORD()
 
         success = windll.kernel32.ReadFile( 
             pipe_handle,
diff --git a/pymux/win32_client.py b/pymux/win32_client.py
index 1fcc6f0..d7baa2a 100644
--- a/pymux/win32_client.py
+++ b/pymux/win32_client.py
@@ -1,3 +1,4 @@
+from ctypes import windll
 from .win32 import read_message_from_pipe, wait_for_event, write_message_to_pipe, connect_to_pipe
 from prompt_toolkit.eventloop import From, Return
 
@@ -25,5 +26,5 @@ def read_message(self):
         message = yield From(read_message_from_pipe(self.pipe_handle))
         raise Return(message)
 
-    def close():
-        win32.CloseHandle(self.pipe_handle)
+    def close(self):
+        windll.kernel32.CloseHandle(self.pipe_handle)
diff --git a/pymux/win32_server.py b/pymux/win32_server.py
index 83d640e..8fbcdb0 100644
--- a/pymux/win32_server.py
+++ b/pymux/win32_server.py
@@ -1,6 +1,6 @@
 from ctypes import windll, byref
-from ctypes.wintypes import BOOL, DWORD, HANDLE
-from prompt_toolkit.eventloop import get_event_loop, ensure_future, From, Future, Return
+from ctypes.wintypes import DWORD
+from prompt_toolkit.eventloop import From, Future, Return
 from ptterm.backends.win32_pipes import OVERLAPPED
 
 from .win32 import wait_for_event, create_event, read_message_from_pipe, write_message_to_pipe

From 00899155c96b4a738a049063c66bc3e53b3c4f5f Mon Sep 17 00:00:00 2001
From: Jonathan Slenders <jonathan@slenders.be>
Date: Sun, 15 Jul 2018 15:19:11 +0200
Subject: [PATCH 11/17] (works on linux again, but slow)

---
 pymux/client/windows.py           |   2 +-
 pymux/main.py                     |  56 +++--------
 pymux/pipes/__init__.py           |  23 +++++
 pymux/pipes/posix.py              | 159 ++++++++++++++++++++++++++++++
 pymux/{ => pipes}/win32.py        |   0
 pymux/{ => pipes}/win32_client.py |   2 +-
 pymux/{ => pipes}/win32_server.py |  24 ++++-
 pymux/server.py                   |  68 ++-----------
 8 files changed, 229 insertions(+), 105 deletions(-)
 create mode 100644 pymux/pipes/__init__.py
 create mode 100644 pymux/pipes/posix.py
 rename pymux/{ => pipes}/win32.py (100%)
 rename pymux/{ => pipes}/win32_client.py (88%)
 rename pymux/{ => pipes}/win32_server.py (88%)

diff --git a/pymux/client/windows.py b/pymux/client/windows.py
index 81fef75..4117cf9 100644
--- a/pymux/client/windows.py
+++ b/pymux/client/windows.py
@@ -13,7 +13,7 @@
 import os
 import sys
 
-from ..win32_client import PipeClient
+from ..pipes.win32_client import PipeClient
 from .base import Client
 
 __all__ = [
diff --git a/pymux/main.py b/pymux/main.py
index a3366f4..7442098 100644
--- a/pymux/main.py
+++ b/pymux/main.py
@@ -15,7 +15,6 @@
 from prompt_toolkit.layout.screen import Size
 from prompt_toolkit.output.defaults import create_output
 
-from .style import ui_style
 from .arrangement import Arrangement, Pane, Window
 from .commands.commands import handle_command, call_command_handler
 from .commands.completer import create_command_completer
@@ -24,7 +23,10 @@
 from .layout import LayoutManager, Justify
 from .log import logger
 from .options import ALL_OPTIONS, ALL_WINDOW_OPTIONS
+from .pipes import bind_and_listen_on_socket
 from .rc import STARTUP_COMMANDS
+from .server import ServerConnection
+from .style import ui_style
 from .utils import get_default_shell
 from ptterm import Terminal
 
@@ -559,22 +561,16 @@ def listen_on_socket(self, socket_name=None):
         Listen for clients on a Unix socket.
         Returns the socket name.
         """
-        #from .server import bind_socket
-        from .server import bind_and_listen_on_socket
-        if self.socket is None:
-            self.socket_name = bind_and_listen_on_socket(socket_name, self._socket_accept)
-
-#            # Py2 uses 0027 and Py3 uses 0o027, but both know
-#            # how to create the right value from the string '0027'.
-#            old_umask = os.umask(int('0027', 8))
-#            self.socket_name, self.socket = bind_socket(socket_name)
-#            _ = os.umask(old_umask)
-##            self.socket.listen(0)
-##            get_event_loop().add_reader(self.socket.fileno(), self._socket_accept)
-#            print(self.socket)
-#            #print(dir(self.socket))
-#            get_event_loop().add_win32_handle(self.socket.handle, self._win_socket_accept)
-#
+        def connection_cb(pipe_connection):
+            # We have to create a new `context`, because this will be the scope for
+            # a new prompt_toolkit.Application to become active.
+            with context():
+                connection = ServerConnection(self, pipe_connection)
+
+            self.connections.append(connection)
+
+        self.socket_name = bind_and_listen_on_socket(socket_name, connection_cb)
+
         # Set session_name according to socket name.
 #        if '.' in self.socket_name:
 #            self.session_name = self.socket_name.rpartition('.')[-1]
@@ -582,32 +578,6 @@ def listen_on_socket(self, socket_name=None):
         logger.info('Listening on %r.' % self.socket_name)
         return self.socket_name
 
-    def _socket_accept(self, pipe_connection):
-        from .server import ServerConnection
-
-        with context():
-            #connection = ServerConnection(self, hr, hr)
-            #connection = ServerConnection(self, self.socket.handle, self.socket.handle)
-            connection = ServerConnection(self, pipe_connection)
-            self.connections.append(connection)
-
-#    def _socket_accept(self):
-#        """
-#        Accept connection from client.
-#        """
-#        logger.info('Client attached.')
-#        from .server import ServerConnection
-#
-#        connection, client_address = self.socket.accept()
-#        # Note: We don't have to put this socket in non blocking mode.
-#        #       This can cause crashes when sending big packets on OS X.
-#
-#        # We have to create a new `context`, because this will be the scope for
-#        # a new prompt_toolkit.Application to become active.
-#        with context():
-#            connection = ServerConnection(self, connection, client_address)
-#            self.connections.append(connection)
-
     def run_server(self):
         # Ignore keyboard. (When people run "pymux server" and press Ctrl-C.)
         # Pymux has to be terminated by termining all the processes running in
diff --git a/pymux/pipes/__init__.py b/pymux/pipes/__init__.py
new file mode 100644
index 0000000..4d5c802
--- /dev/null
+++ b/pymux/pipes/__init__.py
@@ -0,0 +1,23 @@
+"""
+Platform specific (Windows+posix) implementations for inter process
+communication through pipes between the Pymux server and clients.
+"""
+from prompt_toolkit.utils import is_windows
+
+__all__ = [
+    'bind_and_listen_on_socket',
+]
+
+
+def bind_and_listen_on_socket(socket_name, accept_callback):
+    """
+    Return socket name.
+
+    :param accept_callback: Callback with a `ServerConnection`.
+    """
+    if is_windows():
+        from .win32server import bind_and_listen_on_win32_socket
+        return bind_and_listen_on_win32_socket(socket_name, accept_callback)
+    else:
+        from .posix import bind_and_listen_on_posix_socket
+        return bind_and_listen_on_posix_socket(socket_name, accept_callback)
diff --git a/pymux/pipes/posix.py b/pymux/pipes/posix.py
new file mode 100644
index 0000000..da5bfe9
--- /dev/null
+++ b/pymux/pipes/posix.py
@@ -0,0 +1,159 @@
+from prompt_toolkit.eventloop import From, Return, Future, get_event_loop
+import getpass
+import os
+import six
+import socket
+import tempfile
+from ..log import logger
+
+__all__ = [
+    'bind_and_listen_on_posix_socket',
+    'PosixSocketConnection',
+]
+
+
+def bind_and_listen_on_posix_socket(socket_name, accept_callback):
+    """
+    """
+    assert socket_name is None or isinstance(socket_name, six.text_type)
+    assert callable(accept_callback)
+
+    # Py2 uses 0027 and Py3 uses 0o027, but both know
+    # how to create the right value from the string '0027'.
+    old_umask = os.umask(int('0027', 8))
+
+    # Bind socket.
+    socket_name, socket = _bind_posix_socket(socket_name)
+
+    _ = os.umask(old_umask)
+
+    # Listen on socket.
+    socket.listen(0)
+
+    from .posix import PosixSocketConnection
+
+    def _accept_cb():
+        connection, client_address = socket.accept()
+        # Note: We don't have to put this socket in non blocking mode.
+        #       This can cause crashes when sending big packets on OS X.
+
+        posix_connection = PosixSocketConnection(connection)
+
+        accept_callback(posix_connection)
+
+    get_event_loop().add_reader(socket.fileno(), _accept_cb)
+
+    logger.info('Listening on %r.' % socket_name)
+    return socket_name
+
+
+def _bind_posix_socket(socket_name=None):
+    """
+    Find a socket to listen on and return it.
+
+    Returns (socket_name, sock_obj)
+    """
+    assert socket_name is None or isinstance(socket_name, six.text_type)
+
+    s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
+
+    if socket_name:
+        s.bind(socket_name)
+        return socket_name, s
+    else:
+        i = 0
+        while True:
+            try:
+                socket_name = '%s/pymux.sock.%s.%i' % (
+                    tempfile.gettempdir(), getpass.getuser(), i)
+                s.bind(socket_name)
+                return socket_name, s
+            except (OSError, socket.error):
+                i += 1
+
+                # When 100 times failed, cancel server
+                if i == 100:
+                    logger.warning('100 times failed to listen on posix socket. '
+                                   'Please clean up old sockets.')
+                    raise
+
+
+class PosixSocketConnection(object):
+    def __init__(self, socket):
+        self.socket = socket
+
+        self._recv_buffer = b''
+
+    def read(self):
+        """
+        Coroutine that reads the next packet.
+        """
+        while True:
+            self._recv_buffer += yield From(_read_chunk_from_socket(self.socket))
+
+            if b'\0' in self._recv_buffer:
+                # Zero indicates end of packet.
+                pos = self._recv_buffer.index(b'\0')
+
+                packet = self._recv_buffer[:pos]
+                self._recv_buffer = self._recv_buffer[pos + 1:]
+
+                raise Return(packet)
+
+
+    def write(self, message):
+        """
+        Coroutine that writes the next packet.
+        """
+        try:
+            self.socket.send(message.encode('utf-8') + b'\0')
+        except socket.error:
+            if not self._closed:
+                self.detach_and_close()
+
+        return Future.succeed(None)
+
+    def detach_and_close(self): # XXX
+        # Remove from Pymux.
+        self._close_connection()
+
+        # Remove from eventloop.
+        get_event_loop().remove_reader(self.socket.fileno())
+        self.socket.close()
+
+    def close(self):
+        pass # TODO
+
+
+def _read_chunk_from_socket(socket):
+    """
+    (coroutine)
+    Turn socket reading into coroutine.
+    """
+    fd = socket.fileno()
+    f = Future()
+
+    def read_callback():
+        get_event_loop().remove_reader(fd)
+
+        # Read next chunk.
+        try:
+            data = socket.recv(1024)
+        except OSError as e:
+            # On OSX, when we try to create a new window by typing "pymux
+            # new-window" in a centain pane, very often we get the following
+            # error: "OSError: [Errno 9] Bad file descriptor."
+            # This doesn't seem very harmful, and we can just try again.
+            logger.warning('Got OSError while reading data from client: %s. '
+                           'Trying again.', e)
+            f.set_result('')
+            return
+
+        if data:
+            f.set_result(data)
+        else:
+            f.set_exception(EOFError)  # XXX
+
+    get_event_loop().add_reader(fd, read_callback)
+
+    return f
diff --git a/pymux/win32.py b/pymux/pipes/win32.py
similarity index 100%
rename from pymux/win32.py
rename to pymux/pipes/win32.py
diff --git a/pymux/win32_client.py b/pymux/pipes/win32_client.py
similarity index 88%
rename from pymux/win32_client.py
rename to pymux/pipes/win32_client.py
index d7baa2a..8b55696 100644
--- a/pymux/win32_client.py
+++ b/pymux/pipes/win32_client.py
@@ -1,5 +1,5 @@
 from ctypes import windll
-from .win32 import read_message_from_pipe, wait_for_event, write_message_to_pipe, connect_to_pipe
+from .win32 import read_message_from_pipe, write_message_to_pipe, connect_to_pipe
 from prompt_toolkit.eventloop import From, Return
 
 __all__ = [
diff --git a/pymux/win32_server.py b/pymux/pipes/win32_server.py
similarity index 88%
rename from pymux/win32_server.py
rename to pymux/pipes/win32_server.py
index 8fbcdb0..5704aa4 100644
--- a/pymux/win32_server.py
+++ b/pymux/pipes/win32_server.py
@@ -1,11 +1,18 @@
 from ctypes import windll, byref
 from ctypes.wintypes import DWORD
-from prompt_toolkit.eventloop import From, Future, Return
+from prompt_toolkit.eventloop import From, Future, Return, ensure_future
 from ptterm.backends.win32_pipes import OVERLAPPED
 
 from .win32 import wait_for_event, create_event, read_message_from_pipe, write_message_to_pipe
 from .log import logger
 
+__all__ = [
+    'bind_and_listen_on_win32_socket',
+    'Win32PipeConnection',
+    'PipeInstance',
+]
+
+
 INSTANCES = 10
 BUFSIZE = 4096
 
@@ -27,6 +34,21 @@
 WRITING_STATE = 2
 
 
+def bind_and_listen_on_win32_socket(socket_name, accept_callback):
+    """
+    """
+    socket_name = r'\\.\pipe\pymux.sock.jonathan.42'
+
+    pipes = [PipeInstance(socket_name, pipe_connection_cb=accept_callback)
+             for i in range(INSTANCES)]
+
+    for p in pipes:
+        # Start pipe.
+        ensure_future(p.handle_pipe())
+
+    return socket_name
+
+
 class Win32PipeConnection(object):
     def __init__(self, pipe_instance):
         self.pipe_instance = pipe_instance
diff --git a/pymux/server.py b/pymux/server.py
index 5dafeb0..182b017 100644
--- a/pymux/server.py
+++ b/pymux/server.py
@@ -1,19 +1,20 @@
 from __future__ import unicode_literals
 import getpass
 import json
+import os
 import socket
 import tempfile
 
 from prompt_toolkit.application.current import set_app
 from prompt_toolkit.eventloop import get_event_loop, ensure_future, From
+from prompt_toolkit.eventloop.context import context
 from prompt_toolkit.input.vt100_parser import Vt100Parser
-from prompt_toolkit.input.win32_pipe import Win32PipeInput
 from prompt_toolkit.layout.screen import Size
 from prompt_toolkit.output.vt100 import Vt100_Output
+from prompt_toolkit.utils import is_windows
 from functools import partial
 
 from .log import logger
-import win32file
 
 __all__ = (
     'ServerConnection',
@@ -43,17 +44,12 @@ def feed_key(key):
         self._inputstream = Vt100Parser(feed_key)
         self._pipeinput = _ClientInput(self._send_packet)
 
-#        print('add win32 handle', pipe_connection)
         ensure_future(self._start_reading())
 
     def _start_reading(self):
         while True:
-            print('start reading')
             try:
-                print(self.pipe_connection)
-                print(self.pipe_connection.read)
                 data = yield From(self.pipe_connection.read())
-                print('received ', repr(data), type(data))
                 self._process(data)
             except Exception as e:
                 import traceback; traceback.print_stack()
@@ -64,7 +60,6 @@ def _process(self, data):
         Process packet received from client.
         """
         try:
-#            packet = json.loads(data.decode('utf-8'))
             packet = json.loads(data)
         except ValueError:
             # So far, this never happened. But it would be good to have some
@@ -72,8 +67,6 @@ def _process(self, data):
             logger.warning('Received invalid JSON from client. Ignoring.')
             return
 
-        print('Received packet: ', repr(packet))
-
         # Handle commands.
         if packet['cmd'] == 'run-command':
             self._run_command(packet)
@@ -108,7 +101,6 @@ def _send_packet(self, data):
         """
         Send packet to client.
         """
-        print('send packet', data)
         data = json.dumps(data)
 
         def send():
@@ -183,53 +175,6 @@ def detach_and_close(self):
         # Remove from Pymux.
         self._close_connection()
 
- 
-# def bind_socket(socket_name=None):
-#     """
-#     Find a socket to listen on and return it.
-# 
-#     Returns (socket_name, sock_obj)
-#     """
-#     s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
-# 
-#     if socket_name:
-#         s.bind(socket_name)
-#         return socket_name, s
-#     else:
-#         i = 0
-#         while True:
-#             try:
-#                 socket_name = '%s/pymux.sock.%s.%i' % (
-#                     tempfile.gettempdir(), getpass.getuser(), i)
-#                 s.bind(socket_name)
-#                 return socket_name, s
-#             except (OSError, socket.error):
-#                 i += 1
-# 
-#                 # When 100 times failed, cancel server
-#                 if i == 100:
-#                     logger.warning('100 times failed to listen on posix socket. '
-#                                    'Please clean up old sockets.')
-#                     raise
-# 
-
-
-def bind_and_listen_on_socket(socket_name, accept_callback):
-    """
-    """
-    socket_name = r'\\.\pipe\pymux.sock.jonathan.42'
-    INSTANCES = 10
-    from .win32_server import PipeInstance
-    from prompt_toolkit.eventloop import ensure_future
-
-    pipes = [PipeInstance(socket_name, pipe_connection_cb=accept_callback)
-             for i in range(INSTANCES)]
-
-    for p in pipes:
-        # Start pipe.
-        ensure_future(p.handle_pipe())
-
-    return socket_name
 
 
 class _SocketStdout(object):
@@ -251,7 +196,12 @@ def flush(self):
         self._buffer = []
 
 
-class _ClientInput(Win32PipeInput):
+if is_windows():
+    from prompt_toolkit.input.win32_pipe import Win32PipeInput as PipeInput
+else:
+    from prompt_toolkit.input.posix_pipe import PosixPipeInput as PipeInput
+
+class _ClientInput(PipeInput):
     """
     Input class that can be given to the CommandLineInterface.
     We only need this for turning the client into raw_mode/cooked_mode.

From 6e96afab5bd964c6f395facc369304b2f116616c Mon Sep 17 00:00:00 2001
From: Jonathan Slenders <jonathan@slenders.be>
Date: Sun, 15 Jul 2018 15:21:27 +0200
Subject: [PATCH 12/17] Works on Windows again.

---
 pymux/pipes/__init__.py     | 2 +-
 pymux/pipes/win32_server.py | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/pymux/pipes/__init__.py b/pymux/pipes/__init__.py
index 4d5c802..381d801 100644
--- a/pymux/pipes/__init__.py
+++ b/pymux/pipes/__init__.py
@@ -16,7 +16,7 @@ def bind_and_listen_on_socket(socket_name, accept_callback):
     :param accept_callback: Callback with a `ServerConnection`.
     """
     if is_windows():
-        from .win32server import bind_and_listen_on_win32_socket
+        from .win32_server import bind_and_listen_on_win32_socket
         return bind_and_listen_on_win32_socket(socket_name, accept_callback)
     else:
         from .posix import bind_and_listen_on_posix_socket
diff --git a/pymux/pipes/win32_server.py b/pymux/pipes/win32_server.py
index 5704aa4..8a7d6a5 100644
--- a/pymux/pipes/win32_server.py
+++ b/pymux/pipes/win32_server.py
@@ -4,7 +4,7 @@
 from ptterm.backends.win32_pipes import OVERLAPPED
 
 from .win32 import wait_for_event, create_event, read_message_from_pipe, write_message_to_pipe
-from .log import logger
+from ..log import logger
 
 __all__ = [
     'bind_and_listen_on_win32_socket',

From 1e5cddf442ddbcafd1a4559f492fe058b830f9ce Mon Sep 17 00:00:00 2001
From: Jonathan Slenders <jonathan@slenders.be>
Date: Sun, 15 Jul 2018 15:42:21 +0200
Subject: [PATCH 13/17] -

---
 pymux/client/windows.py     |  3 +--
 pymux/pipes/__init__.py     |  9 ++++++++-
 pymux/pipes/base.py         | 40 +++++++++++++++++++++++++++++++++++++
 pymux/pipes/posix.py        | 36 +++++++++++++++++----------------
 pymux/pipes/win32.py        |  3 ++-
 pymux/pipes/win32_client.py | 15 ++++++++++++--
 pymux/pipes/win32_server.py | 31 +++++++++++++++++++---------
 7 files changed, 105 insertions(+), 32 deletions(-)
 create mode 100644 pymux/pipes/base.py

diff --git a/pymux/client/windows.py b/pymux/client/windows.py
index 4117cf9..c22ab7d 100644
--- a/pymux/client/windows.py
+++ b/pymux/client/windows.py
@@ -1,7 +1,6 @@
 from __future__ import unicode_literals
 
-from ctypes import byref
-from ctypes import windll
+from ctypes import byref, windll
 from ctypes.wintypes import DWORD
 from prompt_toolkit.eventloop import ensure_future, From
 from prompt_toolkit.eventloop import get_event_loop
diff --git a/pymux/pipes/__init__.py b/pymux/pipes/__init__.py
index 381d801..23fd63f 100644
--- a/pymux/pipes/__init__.py
+++ b/pymux/pipes/__init__.py
@@ -2,10 +2,16 @@
 Platform specific (Windows+posix) implementations for inter process
 communication through pipes between the Pymux server and clients.
 """
+from __future__ import unicode_literals
 from prompt_toolkit.utils import is_windows
+from .base import PipeConnection, BrokenPipeError
 
 __all__ = [
     'bind_and_listen_on_socket',
+
+    # Base.
+    'PipeConnection',
+    'BrokenPipeError',
 ]
 
 
@@ -13,7 +19,8 @@ def bind_and_listen_on_socket(socket_name, accept_callback):
     """
     Return socket name.
 
-    :param accept_callback: Callback with a `ServerConnection`.
+    :param accept_callback: Callback is called with a `PipeConnection` as
+        argument.
     """
     if is_windows():
         from .win32_server import bind_and_listen_on_win32_socket
diff --git a/pymux/pipes/base.py b/pymux/pipes/base.py
new file mode 100644
index 0000000..233ed90
--- /dev/null
+++ b/pymux/pipes/base.py
@@ -0,0 +1,40 @@
+from __future__ import unicode_literals
+from abc import ABCMeta, abstractmethod
+from six import with_metaclass, text_type
+
+__all__ = [
+    'PipeConnection',
+    'BrokenPipeError',
+]
+
+
+class PipeConnection(with_metaclass(ABCMeta, object)):
+    """
+    A single active Win32 pipe connection on the server side.
+
+    - Win32PipeConnection
+    """
+    def read(self):
+        """
+        (coroutine)
+        Read a single message from the pipe. (Return as text.)
+
+        This can can BrokenPipeError.
+        """
+
+    def write(self, message):
+        """
+        (coroutine)
+        Write a single message into the pipe.
+
+        This can can BrokenPipeError.
+        """
+
+    def close(self):
+        """
+        Close connection.
+        """
+
+
+class BrokenPipeError(Exception):
+    " Raised when trying to write to or read from a broken pipe. "
diff --git a/pymux/pipes/posix.py b/pymux/pipes/posix.py
index da5bfe9..2f43442 100644
--- a/pymux/pipes/posix.py
+++ b/pymux/pipes/posix.py
@@ -1,10 +1,14 @@
-from prompt_toolkit.eventloop import From, Return, Future, get_event_loop
+from __future__ import unicode_literals
 import getpass
 import os
 import six
 import socket
 import tempfile
+
+from prompt_toolkit.eventloop import From, Return, Future, get_event_loop
+
 from ..log import logger
+from .base import PipeConnection, BrokenPipeError
 
 __all__ = [
     'bind_and_listen_on_posix_socket',
@@ -14,6 +18,8 @@
 
 def bind_and_listen_on_posix_socket(socket_name, accept_callback):
     """
+    :param accept_callback: Called with `PosixSocketConnection` when a new
+        connection is established.
     """
     assert socket_name is None or isinstance(socket_name, six.text_type)
     assert callable(accept_callback)
@@ -30,8 +36,6 @@ def bind_and_listen_on_posix_socket(socket_name, accept_callback):
     # Listen on socket.
     socket.listen(0)
 
-    from .posix import PosixSocketConnection
-
     def _accept_cb():
         connection, client_address = socket.accept()
         # Note: We don't have to put this socket in non blocking mode.
@@ -78,15 +82,18 @@ def _bind_posix_socket(socket_name=None):
                     raise
 
 
-class PosixSocketConnection(object):
+class PosixSocketConnection(PipeConnection):
+    """
+    A single active posix pipe connection on the server side.
+    """
     def __init__(self, socket):
         self.socket = socket
-
         self._recv_buffer = b''
 
     def read(self):
-        """
+        r"""
         Coroutine that reads the next packet.
+        (Packets are \0 separated.)
         """
         while True:
             self._recv_buffer += yield From(_read_chunk_from_socket(self.socket))
@@ -109,20 +116,15 @@ def write(self, message):
             self.socket.send(message.encode('utf-8') + b'\0')
         except socket.error:
             if not self._closed:
-                self.detach_and_close()
+                raise BrokenPipeError
 
         return Future.succeed(None)
 
-    def detach_and_close(self): # XXX
-        # Remove from Pymux.
-        self._close_connection()
-
-        # Remove from eventloop.
-        get_event_loop().remove_reader(self.socket.fileno())
-        self.socket.close()
-
     def close(self):
-        pass # TODO
+        """
+        Close connection.
+        """
+        self.socket.close()
 
 
 def _read_chunk_from_socket(socket):
@@ -152,7 +154,7 @@ def read_callback():
         if data:
             f.set_result(data)
         else:
-            f.set_exception(EOFError)  # XXX
+            f.set_exception(BrokenPipeError)
 
     get_event_loop().add_reader(fd, read_callback)
 
diff --git a/pymux/pipes/win32.py b/pymux/pipes/win32.py
index 7dd71fd..c727eca 100644
--- a/pymux/pipes/win32.py
+++ b/pymux/pipes/win32.py
@@ -1,6 +1,7 @@
 """
 Common Win32 pipe operations.
 """
+from __future__ import unicode_literals
 from ctypes import windll, byref, create_string_buffer
 from ctypes.wintypes import DWORD, BOOL
 from prompt_toolkit.eventloop import get_event_loop, From, Return, Future
@@ -20,8 +21,8 @@
 GENERIC_WRITE = 0x40000000
 OPEN_EXISTING = 0x3
 
-ERROR_IO_PENDING = 997
 ERROR_BROKEN_PIPE = 109
+ERROR_IO_PENDING = 997
 ERROR_MORE_DATA = 234 
 ERROR_NO_DATA = 232
 FILE_FLAG_OVERLAPPED = 0x40000000
diff --git a/pymux/pipes/win32_client.py b/pymux/pipes/win32_client.py
index 8b55696..e7692be 100644
--- a/pymux/pipes/win32_client.py
+++ b/pymux/pipes/win32_client.py
@@ -1,6 +1,8 @@
-from ctypes import windll
+from __future__ import unicode_literals
 from .win32 import read_message_from_pipe, write_message_to_pipe, connect_to_pipe
+from ctypes import windll
 from prompt_toolkit.eventloop import From, Return
+import six
 
 __all__ = [
     'PipeClient',
@@ -8,13 +10,19 @@
 
 
 class PipeClient(object):
+    r"""
+    Windows pipe client.
+
+    :param pipe_name: Name of the pipe. E.g. \\.\pipe\pipe_name
+    """
     def __init__(self, pipe_name):
+        assert isinstance(pipe_name, six.text_type)
         self.pipe_handle = connect_to_pipe(pipe_name)
 
     def write_message(self, text):
         """
         (coroutine)
-        Write data into the pipe.
+        Write message into the pipe.
         """
         yield From(write_message_to_pipe(self.pipe_handle, text))
 
@@ -27,4 +35,7 @@ def read_message(self):
         raise Return(message)
 
     def close(self):
+        """
+        Close the connection.
+        """
         windll.kernel32.CloseHandle(self.pipe_handle)
diff --git a/pymux/pipes/win32_server.py b/pymux/pipes/win32_server.py
index 8a7d6a5..92d259a 100644
--- a/pymux/pipes/win32_server.py
+++ b/pymux/pipes/win32_server.py
@@ -1,9 +1,11 @@
+from __future__ import unicode_literals
 from ctypes import windll, byref
 from ctypes.wintypes import DWORD
 from prompt_toolkit.eventloop import From, Future, Return, ensure_future
 from ptterm.backends.win32_pipes import OVERLAPPED
 
 from .win32 import wait_for_event, create_event, read_message_from_pipe, write_message_to_pipe
+from .base import PipeConnection, BrokenPipeError
 from ..log import logger
 
 __all__ = [
@@ -36,7 +38,10 @@
 
 def bind_and_listen_on_win32_socket(socket_name, accept_callback):
     """
+    :param accept_callback: Called with `Win32PipeConnection` when a new
+        connection is established.
     """
+    assert callable(accept_callback)
     socket_name = r'\\.\pipe\pymux.sock.jonathan.42'
 
     pipes = [PipeInstance(socket_name, pipe_connection_cb=accept_callback)
@@ -49,29 +54,41 @@ def bind_and_listen_on_win32_socket(socket_name, accept_callback):
     return socket_name
 
 
-class Win32PipeConnection(object):
+class Win32PipeConnection(PipeConnection):
+    """
+    A single active Win32 pipe connection on the server side.
+    """
     def __init__(self, pipe_instance):
+        assert isinstance(pipe_instance, PipeInstance)
         self.pipe_instance = pipe_instance
         self.done_f = Future()
 
     def read(self):
+        """
+        (coroutine)
+        Read a single message from the pipe. (Return as text.)
+        """
         if self.done_f.done():
-            raise _BrokenPipeError
+            raise BrokenPipeError
 
         try:
             result = yield From(read_message_from_pipe(self.pipe_instance.pipe_handle))
             raise Return(result)
-        except _BrokenPipeError:
+        except BrokenPipeError:
             self.done_f.set_result(None)
             raise
 
     def write(self, message):
+        """
+        (coroutine)
+        Write a single message into the pipe.
+        """
         if self.done_f.done():
-            raise _BrokenPipeError
+            raise BrokenPipeError
 
         try:
             yield From(write_message_to_pipe(self.pipe_instance.pipe_handle, message))
-        except _BrokenPipeError:
+        except BrokenPipeError:
             self.done_f.set_result(None)
             raise
 
@@ -151,7 +168,3 @@ def _connect_client(self):
 
             else:
                 raise Exception('connect failed with error code' + str(last_error))
-
-
-class _BrokenPipeError(Exception):
-    pass

From 88a813476f70817067acf27a8c7269ff61cea0f1 Mon Sep 17 00:00:00 2001
From: Jonathan Slenders <jonathan@slenders.be>
Date: Sun, 15 Jul 2018 16:10:06 +0200
Subject: [PATCH 14/17] -

---
 pymux/pipes/posix.py | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/pymux/pipes/posix.py b/pymux/pipes/posix.py
index 2f43442..58028f4 100644
--- a/pymux/pipes/posix.py
+++ b/pymux/pipes/posix.py
@@ -95,17 +95,17 @@ def read(self):
         Coroutine that reads the next packet.
         (Packets are \0 separated.)
         """
-        while True:
+        # Read until we have a \0 in our buffer.
+        while b'\0' not in self._recv_buffer:
             self._recv_buffer += yield From(_read_chunk_from_socket(self.socket))
 
-            if b'\0' in self._recv_buffer:
-                # Zero indicates end of packet.
-                pos = self._recv_buffer.index(b'\0')
+        # Split on the first separator.
+        pos = self._recv_buffer.index(b'\0')
 
-                packet = self._recv_buffer[:pos]
-                self._recv_buffer = self._recv_buffer[pos + 1:]
+        packet = self._recv_buffer[:pos]
+        self._recv_buffer = self._recv_buffer[pos + 1:]
 
-                raise Return(packet)
+        raise Return(packet)
 
 
     def write(self, message):

From 1d47dd4add3c059356b0575e27dd7b54f5fe3d74 Mon Sep 17 00:00:00 2001
From: Jonathan Slenders <jonathan@slenders.be>
Date: Sun, 15 Jul 2018 16:20:28 +0200
Subject: [PATCH 15/17] -

---
 pymux/server.py | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/pymux/server.py b/pymux/server.py
index 182b017..0f22706 100644
--- a/pymux/server.py
+++ b/pymux/server.py
@@ -15,6 +15,7 @@
 from functools import partial
 
 from .log import logger
+from .pipes import BrokenPipeError
 
 __all__ = (
     'ServerConnection',
@@ -51,9 +52,13 @@ def _start_reading(self):
             try:
                 data = yield From(self.pipe_connection.read())
                 self._process(data)
+            except BrokenPipeError:
+                self.detach_and_close()
+                break
+
             except Exception as e:
                 import traceback; traceback.print_stack()
-                print('got exception ', e)
+                print('got exception ', repr(e))
 
     def _process(self, data):
         """
@@ -101,13 +106,16 @@ def _send_packet(self, data):
         """
         Send packet to client.
         """
+        if self._closed:
+            return
+
         data = json.dumps(data)
 
         def send():
             try:
                 yield From(self.pipe_connection.write(data))
-            except _BrokenPipeError:
-                pass # TODO
+            except BrokenPipeError:
+                self.detach_and_close()
         ensure_future(send())
 
     def _run_command(self, packet):

From 1f5126e4aebe4ad31390419ef009beb57582a886 Mon Sep 17 00:00:00 2001
From: Jonathan Slenders <jonathan@slenders.be>
Date: Sun, 15 Jul 2018 16:46:45 +0200
Subject: [PATCH 16/17] -

---
 pymux/pipes/posix.py | 4 ++++
 pymux/server.py      | 3 ++-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/pymux/pipes/posix.py b/pymux/pipes/posix.py
index 58028f4..26c28a2 100644
--- a/pymux/pipes/posix.py
+++ b/pymux/pipes/posix.py
@@ -88,6 +88,7 @@ class PosixSocketConnection(PipeConnection):
     """
     def __init__(self, socket):
         self.socket = socket
+        self._fd = socket.fileno()
         self._recv_buffer = b''
 
     def read(self):
@@ -126,6 +127,9 @@ def close(self):
         """
         self.socket.close()
 
+        # Make sure to remove the reader from the event loop.
+        get_event_loop().remove_reader(self._fd)
+
 
 def _read_chunk_from_socket(socket):
     """
diff --git a/pymux/server.py b/pymux/server.py
index 0f22706..29c214a 100644
--- a/pymux/server.py
+++ b/pymux/server.py
@@ -6,7 +6,7 @@
 import tempfile
 
 from prompt_toolkit.application.current import set_app
-from prompt_toolkit.eventloop import get_event_loop, ensure_future, From
+from prompt_toolkit.eventloop import ensure_future, From
 from prompt_toolkit.eventloop.context import context
 from prompt_toolkit.input.vt100_parser import Vt100Parser
 from prompt_toolkit.layout.screen import Size
@@ -59,6 +59,7 @@ def _start_reading(self):
             except Exception as e:
                 import traceback; traceback.print_stack()
                 print('got exception ', repr(e))
+                break
 
     def _process(self, data):
         """

From 751d1bebbe0c285aaf16610d5359ee75a1e22adc Mon Sep 17 00:00:00 2001
From: Jonathan Slenders <jonathan@slenders.be>
Date: Sun, 15 Jul 2018 17:03:16 +0200
Subject: [PATCH 17/17] -

---
 pymux/main.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/pymux/main.py b/pymux/main.py
index 7442098..cef6385 100644
--- a/pymux/main.py
+++ b/pymux/main.py
@@ -317,7 +317,7 @@ def get_client_state(self):
             if client_state.app == app:
                 return client_state
 
-        raise ValueError
+        raise ValueError('Client state for app %r not found' % (app, ))
 
     def get_connection(self):
         " Return the active Connection instance. "
@@ -326,7 +326,7 @@ def get_connection(self):
             if client_state.app == app:
                 return connection
 
-        raise ValueError
+        raise ValueError('Connection for app %r not found' % (app, ))
 
     def startup(self):
         # Handle start-up comands.
@@ -468,6 +468,8 @@ def before_exec():
 
     def invalidate(self):
         " Invalidate the UI for all clients. "
+        logger.info('Invalidating %s applications', len(self.apps))
+
         for app in self.apps:
             app.invalidate()