diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index a7d7327..43137c6 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -59,8 +59,10 @@
 it! Take a look at existing tests for inspiration. Run the full test suite on
 your branch before submitting a pull request.
 
-Make sure you include relevant updates or additions to documentation when
-creating or modifying features.
+Update the documentation when creating or modifying features. Test
+your documentation changes for clarity, concision, and correctness, as
+well as a clean docmuent build. See ``docs/README.md`` for more
+information on building the docs and how docs get released.
 
 Write clean code. Universally formatted code promotes ease of writing, reading,
 and maintenance. Always run `go fmt` before committing your changes. Most
diff --git a/api.go b/api.go
index 7b6825e..ad30833 100644
--- a/api.go
+++ b/api.go
@@ -349,7 +349,7 @@
 		return err
 	}
 	config := &Config{}
-	if err := json.NewDecoder(r.Body).Decode(config); err != nil {
+	if err := json.NewDecoder(r.Body).Decode(config); err != nil && err != io.EOF {
 		utils.Errorf("%s", err)
 	}
 	repo := r.Form.Get("repo")
diff --git a/api_test.go b/api_test.go
index bcf662e..fcb3bc8 100644
--- a/api_test.go
+++ b/api_test.go
@@ -5,6 +5,7 @@
 	"bufio"
 	"bytes"
 	"encoding/json"
+	"fmt"
 	"github.com/dotcloud/docker/utils"
 	"io"
 	"net"
@@ -12,6 +13,7 @@
 	"net/http/httptest"
 	"os"
 	"path"
+	"strings"
 	"testing"
 	"time"
 )
@@ -40,6 +42,25 @@
 	}
 }
 
+func TesthttpError(t *testing.T) {
+	r := httptest.NewRecorder()
+
+	httpError(r, fmt.Errorf("No such method"))
+	if r.Code != http.StatusNotFound {
+		t.Fatalf("Expected %d, got %d", http.StatusNotFound, r.Code)
+	}
+
+	httpError(r, fmt.Errorf("This accound hasn't been activated"))
+	if r.Code != http.StatusForbidden {
+		t.Fatalf("Expected %d, got %d", http.StatusForbidden, r.Code)
+	}
+
+	httpError(r, fmt.Errorf("Some error"))
+	if r.Code != http.StatusInternalServerError {
+		t.Fatalf("Expected %d, got %d", http.StatusInternalServerError, r.Code)
+	}
+}
+
 func TestGetVersion(t *testing.T) {
 	var err error
 	runtime := mkRuntime(t)
@@ -243,7 +264,11 @@
 		t.Fatalf("Error expected, received none")
 	}
 
-	httpError(r4, err)
+	if !strings.HasPrefix(err.Error(), "Bad parameter") {
+		t.Fatalf("Error should starts with \"Bad parameter\"")
+	}
+	http.Error(r4, err.Error(), http.StatusBadRequest)
+
 	if r4.Code != http.StatusBadRequest {
 		t.Fatalf("%d Bad Request expected, received %d\n", http.StatusBadRequest, r4.Code)
 	}
@@ -776,6 +801,8 @@
 		t.Fatal(err)
 	}
 
+	req.Header.Set("Content-Type", "application/json")
+
 	r := httptest.NewRecorder()
 	if err := postContainersStart(srv, APIVERSION, r, req, map[string]string{"name": container.ID}); err != nil {
 		t.Fatal(err)
diff --git a/buildfile.go b/buildfile.go
index 64f04b3..8231287 100644
--- a/buildfile.go
+++ b/buildfile.go
@@ -176,7 +176,7 @@
 func (b *buildFile) CmdCmd(args string) error {
 	var cmd []string
 	if err := json.Unmarshal([]byte(args), &cmd); err != nil {
-		utils.Errorf("Error unmarshalling: %s, setting cmd to /bin/sh -c", err)
+		utils.Debugf("Error unmarshalling: %s, setting cmd to /bin/sh -c", err)
 		cmd = []string{"/bin/sh", "-c", args}
 	}
 	if err := b.commit("", cmd, fmt.Sprintf("CMD %v", cmd)); err != nil {
diff --git a/commands_test.go b/commands_test.go
index 2da1f8e..aceb7a6 100644
--- a/commands_test.go
+++ b/commands_test.go
@@ -545,6 +545,7 @@
 
 // Expected behaviour: container gets deleted automatically after exit
 func TestRunAutoRemove(t *testing.T) {
+	t.Skip("Fixme. Skipping test for now, race condition")
 	stdout, stdoutPipe := io.Pipe()
 	cli := NewDockerCli(nil, stdoutPipe, ioutil.Discard, testDaemonProto, testDaemonAddr)
 	defer cleanup(globalRuntime)
diff --git a/container.go b/container.go
index 06250e7..7d85aef 100644
--- a/container.go
+++ b/container.go
@@ -568,9 +568,14 @@
 	})
 }
 
-func (container *Container) Start(hostConfig *HostConfig) error {
+func (container *Container) Start(hostConfig *HostConfig) (err error) {
 	container.State.Lock()
 	defer container.State.Unlock()
+	defer func() {
+		if err != nil {
+			container.cleanup()
+		}
+	}()
 
 	if hostConfig == nil { // in docker start of docker restart we want to reuse previous HostConfigFile
 		hostConfig, _ = container.ReadHostConfig()
@@ -808,7 +813,6 @@
 
 	container.cmd.SysProcAttr = &syscall.SysProcAttr{Setsid: true}
 
-	var err error
 	if container.Config.Tty {
 		err = container.startPty()
 	} else {
@@ -939,7 +943,7 @@
 }
 
 func (container *Container) releaseNetwork() {
-	if container.Config.NetworkDisabled {
+	if container.Config.NetworkDisabled || container.network == nil {
 		return
 	}
 	container.network.Release()
@@ -994,6 +998,28 @@
 	}
 
 	// Cleanup
+	container.cleanup()
+
+	// Re-create a brand new stdin pipe once the container exited
+	if container.Config.OpenStdin {
+		container.stdin, container.stdinPipe = io.Pipe()
+	}
+
+	// Release the lock
+	close(container.waitLock)
+
+	if err := container.ToDisk(); err != nil {
+		// FIXME: there is a race condition here which causes this to fail during the unit tests.
+		// If another goroutine was waiting for Wait() to return before removing the container's root
+		// from the filesystem... At this point it may already have done so.
+		// This is because State.setStopped() has already been called, and has caused Wait()
+		// to return.
+		// FIXME: why are we serializing running state to disk in the first place?
+		//log.Printf("%s: Failed to dump configuration to the disk: %s", container.ID, err)
+	}
+}
+
+func (container *Container) cleanup() {
 	container.releaseNetwork()
 	if container.Config.OpenStdin {
 		if err := container.stdin.Close(); err != nil {
@@ -1016,24 +1042,6 @@
 	if err := container.Unmount(); err != nil {
 		log.Printf("%v: Failed to umount filesystem: %v", container.ID, err)
 	}
-
-	// Re-create a brand new stdin pipe once the container exited
-	if container.Config.OpenStdin {
-		container.stdin, container.stdinPipe = io.Pipe()
-	}
-
-	// Release the lock
-	close(container.waitLock)
-
-	if err := container.ToDisk(); err != nil {
-		// FIXME: there is a race condition here which causes this to fail during the unit tests.
-		// If another goroutine was waiting for Wait() to return before removing the container's root
-		// from the filesystem... At this point it may already have done so.
-		// This is because State.setStopped() has already been called, and has caused Wait()
-		// to return.
-		// FIXME: why are we serializing running state to disk in the first place?
-		//log.Printf("%s: Failed to dump configuration to the disk: %s", container.ID, err)
-	}
 }
 
 func (container *Container) kill() error {
diff --git a/contrib/docker.bash b/contrib/completion/bash/docker
old mode 100644
new mode 100755
similarity index 100%
rename from contrib/docker.bash
rename to contrib/completion/bash/docker
diff --git a/contrib/completion/zsh/_docker b/contrib/completion/zsh/_docker
new file mode 100755
index 0000000..92acdb1
--- /dev/null
+++ b/contrib/completion/zsh/_docker
@@ -0,0 +1,242 @@
+#compdef docker 
+#
+# zsh completion for docker (http://docker.io)
+#
+# version:  0.2.2
+# author:   Felix Riedel
+# license:  BSD License
+# github:   https://github.com/felixr/docker-zsh-completion
+#
+
+__parse_docker_list() {
+    sed -e '/^ID/d' -e 's/[ ]\{2,\}/|/g' -e 's/ \([hdwm]\)\(inutes\|ays\|ours\|eeks\)/\1/' | awk ' BEGIN {FS="|"} { printf("%s:%7s, %s\n", $1, $4, $2)}'
+}
+
+__docker_stoppedcontainers() {
+    local expl
+    declare -a stoppedcontainers 
+    stoppedcontainers=(${(f)"$(docker ps -a | grep --color=never 'Exit' |  __parse_docker_list )"})
+    _describe -t containers-stopped "Stopped Containers" stoppedcontainers 
+}
+
+__docker_runningcontainers() {
+    local expl
+    declare -a containers 
+
+    containers=(${(f)"$(docker ps | __parse_docker_list)"})
+    _describe -t containers-active "Running Containers" containers 
+}
+
+__docker_containers () {
+    __docker_stoppedcontainers 
+    __docker_runningcontainers
+}
+
+__docker_images () {
+    local expl
+    declare -a images
+    images=(${(f)"$(docker images | awk '(NR > 1){printf("%s\\:%s\n", $1,$2)}')"})
+    images=($images ${(f)"$(docker images | awk '(NR > 1){printf("%s:%-15s in %s\n", $3,$2,$1)}')"})
+    _describe -t docker-images "Images" images
+}
+
+__docker_tags() {
+    local expl
+    declare -a tags
+    tags=(${(f)"$(docker images | awk '(NR>1){print $2}'| sort | uniq)"})
+    _describe -t docker-tags "tags" tags
+}
+
+__docker_search() {
+    # declare -a dockersearch
+    local cache_policy
+    zstyle -s ":completion:${curcontext}:" cache-policy cache_policy
+    if [[ -z "$cache_policy" ]]; then
+        zstyle ":completion:${curcontext}:" cache-policy __docker_caching_policy 
+    fi
+
+    local searchterm cachename
+    searchterm="${words[$CURRENT]%/}"
+    cachename=_docker-search-$searchterm
+
+    local expl
+    local -a result 
+    if ( [[ ${(P)+cachename} -eq 0 ]] || _cache_invalid ${cachename#_} ) \
+        && ! _retrieve_cache ${cachename#_}; then
+        _message "Searching for ${searchterm}..."
+        result=(${(f)"$(docker search ${searchterm} | awk '(NR>2){print $1}')"})
+        _store_cache ${cachename#_} result
+    fi 
+    _wanted dockersearch expl 'Available images' compadd -a result 
+}
+
+__docker_caching_policy()
+{
+  # oldp=( "$1"(Nmh+24) )     # 24 hour
+  oldp=( "$1"(Nmh+1) )     # 24 hour
+  (( $#oldp ))
+}
+
+
+__docker_repositories () {
+    local expl
+    declare -a repos
+    repos=(${(f)"$(docker images | sed -e '1d' -e 's/[ ].*//' | sort | uniq)"})
+    _describe -t docker-repos "Repositories" repos
+}
+
+__docker_commands () {
+    # local -a  _docker_subcommands
+    local cache_policy
+
+    zstyle -s ":completion:${curcontext}:" cache-policy cache_policy
+    if [[ -z "$cache_policy" ]]; then
+        zstyle ":completion:${curcontext}:" cache-policy __docker_caching_policy 
+    fi
+
+    if ( [[ ${+_docker_subcommands} -eq 0 ]] || _cache_invalid docker_subcommands) \
+        && ! _retrieve_cache docker_subcommands; 
+    then
+        _docker_subcommands=(${${(f)"$(_call_program commands 
+        docker 2>&1 | sed -e '1,6d' -e '/^[ ]*$/d' -e 's/[ ]*\([^ ]\+\)\s*\([^ ].*\)/\1:\2/' )"}})
+        _docker_subcommands=($_docker_subcommands 'help:Show help for a command') 
+        _store_cache docker_subcommands _docker_subcommands
+    fi
+    _describe -t docker-commands "docker command" _docker_subcommands
+}
+
+__docker_subcommand () {
+    local -a _command_args
+    case "$words[1]" in
+        (attach|wait)
+            _arguments ':containers:__docker_runningcontainers'
+            ;;
+        (build)
+            _arguments \
+                '-t=-:repository:__docker_repositories' \
+                ':path or URL:_directories'
+            ;;
+        (commit)
+            _arguments \
+                ':container:__docker_containers' \
+                ':repository:__docker_repositories' \
+                ':tag: '
+            ;;
+        (diff|export|logs)
+            _arguments '*:containers:__docker_containers'
+            ;;
+        (history)
+            _arguments '*:images:__docker_images'
+            ;;
+        (images)
+            _arguments \
+                '-a[Show all images]' \
+                ':repository:__docker_repositories'
+            ;;
+        (inspect)
+            _arguments '*:containers:__docker_containers'
+            ;;
+        (history)
+            _arguments ':images:__docker_images'
+            ;;
+        (insert)
+            _arguments '1:containers:__docker_containers' \
+                       '2:URL:(http:// file://)' \
+                       '3:file:_files'
+            ;;
+        (kill)
+            _arguments '*:containers:__docker_runningcontainers'
+            ;;
+        (port)
+            _arguments '1:containers:__docker_runningcontainers'
+            ;;
+        (start)
+            _arguments '*:containers:__docker_stoppedcontainers'
+            ;;
+        (rm)
+            _arguments '-v[Remove the volumes associated to the container]' \
+                '*:containers:__docker_stoppedcontainers'
+            ;;
+        (rmi)
+            _arguments '-v[Remove the volumes associated to the container]' \
+                '*:images:__docker_images'
+            ;;
+        (top)
+            _arguments '1:containers:__docker_runningcontainers'
+            ;;
+        (restart|stop)
+            _arguments '-t=-[Number of seconds to try to stop for before killing the container]:seconds to before killing:(1 5 10 30 60)' \
+                '*:containers:__docker_runningcontainers'
+            ;;
+        (top)
+            _arguments ':containers:__docker_runningcontainers'
+            ;;
+        (ps)
+            _arguments '-a[Show all containers. Only running containers are shown by default]' \
+                '-h[Show help]' \
+                '-beforeId=-[Show only container created before Id, include non-running one]:containers:__docker_containers' \
+            '-n=-[Show n last created containers, include non-running one]:n:(1 5 10 25 50)'
+            ;;
+        (tag)
+            _arguments \
+                '-f[force]'\
+                ':image:__docker_images'\
+                ':repository:__docker_repositories' \
+                ':tag:__docker_tags'
+            ;;
+        (run)
+            _arguments \
+                '-a=-[Attach to stdin, stdout or stderr]:toggle:(true false)' \
+                '-c=-[CPU shares (relative weight)]:CPU shares: ' \
+                '-d[Detached mode: leave the container running in the background]' \
+                '*-dns=[Set custom dns servers]:dns server: ' \
+                '*-e=[Set environment variables]:environment variable: ' \
+                '-entrypoint=-[Overwrite the default entrypoint of the image]:entry point: ' \
+                '-h=-[Container host name]:hostname:_hosts' \
+                '-i[Keep stdin open even if not attached]' \
+                '-m=-[Memory limit (in bytes)]:limit: ' \
+                '*-p=-[Expose a container''s port to the host]:port:_ports' \
+                '-t=-[Allocate a pseudo-tty]:toggle:(true false)' \
+                '-u=-[Username or UID]:user:_users' \
+                '*-v=-[Bind mount a volume (e.g. from the host: -v /host:/container, from docker: -v /container)]:volume: '\
+                '-volumes-from=-[Mount volumes from the specified container]:volume: ' \
+                '(-):images:__docker_images' \
+                '(-):command: _command_names -e' \
+                '*::arguments: _normal'
+                ;;
+        (pull|search)
+            _arguments ':name:__docker_search'
+            ;;
+        (help)
+            _arguments ':subcommand:__docker_commands'
+            ;;
+        (*)
+            _message 'Unknown sub command'
+    esac
+
+}
+
+_docker () {
+    local curcontext="$curcontext" state line
+    typeset -A opt_args
+
+    _arguments -C \
+      '-H=-[tcp://host:port to bind/connect to]:socket: ' \
+         '(-): :->command' \
+         '(-)*:: :->option-or-argument' 
+
+    if (( CURRENT == 1 )); then
+
+    fi
+    case $state in 
+        (command)
+            __docker_commands
+            ;;
+        (option-or-argument)
+            curcontext=${curcontext%:*:*}:docker-$words[1]:
+            __docker_subcommand 
+            ;;
+    esac
+}
+
+_docker "$@"
diff --git a/contrib/vim-syntax/LICENSE b/contrib/vim-syntax/LICENSE
new file mode 100644
index 0000000..e67cdab
--- /dev/null
+++ b/contrib/vim-syntax/LICENSE
@@ -0,0 +1,22 @@
+Copyright (c) 2013 Honza Pokorny
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. 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.
+
+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 OWNER 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/contrib/vim-syntax/README.md b/contrib/vim-syntax/README.md
new file mode 100644
index 0000000..b782466
--- /dev/null
+++ b/contrib/vim-syntax/README.md
@@ -0,0 +1,23 @@
+dockerfile.vim
+==============
+
+Syntax highlighting for Dockerfiles
+
+Installation
+------------
+
+Via pathogen, the usual way...
+
+Features
+--------
+
+The syntax highlighting includes:
+
+* The directives (e.g. `FROM`)
+* Strings
+* Comments
+
+License
+-------
+
+BSD, short and sweet
diff --git a/contrib/vim-syntax/doc/dockerfile.txt b/contrib/vim-syntax/doc/dockerfile.txt
new file mode 100644
index 0000000..37cc7be
--- /dev/null
+++ b/contrib/vim-syntax/doc/dockerfile.txt
@@ -0,0 +1,18 @@
+*dockerfile.txt*  Syntax highlighting for Dockerfiles
+
+Author: Honza Pokorny <http://honza.ca>
+License: BSD
+
+INSTALLATION                                                     *installation*
+
+Drop it on your Pathogen path and you're all set.
+
+FEATURES                                                             *features*
+
+The syntax highlighting includes:
+
+* The directives (e.g. FROM)
+* Strings
+* Comments
+
+ vim:tw=78:et:ft=help:norl:
diff --git a/contrib/vim-syntax/ftdetect/dockerfile.vim b/contrib/vim-syntax/ftdetect/dockerfile.vim
new file mode 100644
index 0000000..83281d3
--- /dev/null
+++ b/contrib/vim-syntax/ftdetect/dockerfile.vim
@@ -0,0 +1 @@
+au BufNewFile,BufRead Dockerfile set filetype=dockerfile
diff --git a/contrib/vim-syntax/syntax/dockerfile.vim b/contrib/vim-syntax/syntax/dockerfile.vim
new file mode 100644
index 0000000..90e0651
--- /dev/null
+++ b/contrib/vim-syntax/syntax/dockerfile.vim
@@ -0,0 +1,22 @@
+" dockerfile.vim - Syntax highlighting for Dockerfiles
+" Maintainer:   Honza Pokorny <http://honza.ca>
+" Version:      0.5
+
+
+if exists("b:current_syntax")
+    finish
+endif
+
+let b:current_syntax = "dockerfile"
+
+syntax case ignore
+
+syntax match dockerfileKeyword /\v^\s*(FROM|MAINTAINER|RUN|CMD|EXPOSE|ENV|ADD)\s/
+syntax match dockerfileKeyword /\v^\s*(ENTRYPOINT|VOLUME|USER|WORKDIR)\s/
+highlight link dockerfileKeyword Keyword
+
+syntax region dockerfileString start=/\v"/ skip=/\v\\./ end=/\v"/
+highlight link dockerfileString String
+
+syntax match dockerfileComment "\v^\s*#.*$"
+highlight link dockerfileComment Comment
diff --git a/docs/README.md b/docs/README.md
index d53b867..02572ee 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -1,38 +1,93 @@
 Docker Documentation
 ====================
 
-Documentation
--------------
-This is your definite place to contribute to the docker documentation. After each push to master the documentation
-is automatically generated and made available on [docs.docker.io](http://docs.docker.io)
+Overview
+--------
 
-Each of the .rst files under sources reflects a page on the documentation. 
+The source for Docker documentation is here under ``sources/`` in the
+form of .rst files. These files use
+[reStructuredText](http://docutils.sourceforge.net/rst.html)
+formatting with [Sphinx](http://sphinx-doc.org/) extensions for
+structure, cross-linking and indexing.
 
-Installation
-------------
+The HTML files are built and hosted on
+[readthedocs.org](https://readthedocs.org/projects/docker/), appearing
+via proxy on https://docs.docker.io. The HTML files update
+automatically after each change to the master or release branch of the
+[docker files on GitHub](https://github.com/dotcloud/docker) thanks to
+post-commit hooks. The "release" branch maps to the "latest"
+documentation and the "master" branch maps to the "master"
+documentation. 
 
-* Work in your own fork of the code, we accept pull requests.
+**Warning**: The "master" documentation may include features not yet
+part of any official docker release. "Master" docs should be used only
+for understanding bleeding-edge development and "latest" should be
+used for the latest official release.
+
+If you need to manually trigger a build of an existing branch, then
+you can do that through the [readthedocs
+interface](https://readthedocs.org/builds/docker/). If you would like
+to add new build targets, including new branches or tags, then you
+must contact one of the existing maintainers and get your
+readthedocs.org account added to the maintainers list, or just file an
+issue on GitHub describing the branch/tag and why it needs to be added
+to the docs, and one of the maintainers will add it for you.
+
+Getting Started
+---------------
+
+To edit and test the docs, you'll need to install the Sphinx tool and
+its dependencies. There are two main ways to install this tool:
+
+Native Installation
+...................
+
 * Install sphinx: `pip install sphinx`
-    * Mac OS X: `[sudo] pip-2.7 install sphinx`)
+    * Mac OS X: `[sudo] pip-2.7 install sphinx`
 * Install sphinx httpdomain contrib package: `pip install sphinxcontrib-httpdomain`
     * Mac OS X: `[sudo] pip-2.7 install sphinxcontrib-httpdomain`
 * If pip is not available you can probably install it using your favorite package manager as **python-pip**
 
+Alternative Installation: Docker Container
+..........................................
+
+If you're running ``docker`` on your development machine then you may
+find it easier and cleaner to use the Dockerfile. This installs Sphinx
+in a container, adds the local ``docs/`` directory and builds the HTML
+docs inside the container, even starting a simple HTTP server on port
+8000 so that you can connect and see your changes. Just run ``docker
+build .`` and run the resulting image. This is the equivalent to
+``make clean server`` since each container starts clean.
+
 Usage
 -----
-* Change the `.rst` files with your favorite editor to your liking.
-* Run `make docs` to clean up old files and generate new ones.
-* Your static website can now be found in the `_build` directory.
-* To preview what you have generated run `make server` and open http://localhost:8000/ in your favorite browser.
+* Follow the contribution guidelines (``../CONTRIBUTING.md``)
+* Work in your own fork of the code, we accept pull requests.
+* Change the ``.rst`` files with your favorite editor -- try to keep the
+  lines short and respect RST and Sphinx conventions. 
+* Run ``make clean docs`` to clean up old files and generate new ones,
+  or just ``make docs`` to update after small changes.
+* Your static website can now be found in the ``_build`` directory.
+* To preview what you have generated run ``make server`` and open
+  http://localhost:8000/ in your favorite browser.
+
+``make clean docs`` must complete without any warnings or errors.
 
 Working using GitHub's file editor
 ----------------------------------
-Alternatively, for small changes and typo's you might want to use GitHub's built in file editor. It allows
-you to preview your changes right online. Just be careful not to create many commits.
+
+Alternatively, for small changes and typos you might want to use
+GitHub's built in file editor. It allows you to preview your changes
+right online (though there can be some differences between GitHub
+markdown and Sphinx RST). Just be careful not to create many commits.
 
 Images
 ------
-When you need to add images, try to make them as small as possible (e.g. as gif).
+
+When you need to add images, try to make them as small as possible
+(e.g. as gif). Usually images should go in the same directory as the
+.rst file which references them, or in a subdirectory if one already
+exists.
 
 Notes
 -----
@@ -41,7 +96,7 @@
 
 Guides on using sphinx
 ----------------------
-* To make links to certain pages create a link target like so:
+* To make links to certain sections create a link target like so:
 
   ```
     .. _hello_world:
@@ -52,7 +107,10 @@
     This is.. (etc.)
   ```
 
-  The ``_hello_world:`` will make it possible to link to this position (page and marker) from all other pages.
+  The ``_hello_world:`` will make it possible to link to this position
+  (page and section heading) from all other pages. See the [Sphinx
+  docs](http://sphinx-doc.org/markup/inline.html#role-ref) for more
+  information and examples.
 
 * Notes, warnings and alarms
 
@@ -68,13 +126,17 @@
 
 * Code examples
 
-  Start without $, so it's easy to copy and paste.
+  * Start without $, so it's easy to copy and paste.
+  * Use "sudo" with docker to ensure that your command is runnable
+    even if they haven't [used the *docker*
+    group](http://docs.docker.io/en/latest/use/basics/#why-sudo).
 
 Manpages
 --------
 
-* To make the manpages, simply run 'make man'. Please note there is a bug in spinx 1.1.3 which makes this fail.
-Upgrade to the latest version of sphinx.
-* Then preview the manpage by running `man _build/man/docker.1`, where _build/man/docker.1 is the path to the generated
-manfile
-* The manpages are also autogenerated by our hosted readthedocs here: http://docs-docker.dotcloud.com/projects/docker/downloads/
+* To make the manpages, run ``make man``. Please note there is a bug
+  in spinx 1.1.3 which makes this fail.  Upgrade to the latest version
+  of Sphinx.
+* Then preview the manpage by running ``man _build/man/docker.1``,
+  where ``_build/man/docker.1`` is the path to the generated manfile
+
diff --git a/docs/sources/api/docker_remote_api.rst b/docs/sources/api/docker_remote_api.rst
index f410183..86cacd1 100644
--- a/docs/sources/api/docker_remote_api.rst
+++ b/docs/sources/api/docker_remote_api.rst
@@ -22,7 +22,6 @@
 - Since API version 1.2, the auth configuration is now handled client
   side, so the client has to send the authConfig as POST in
   /images/(name)/push
-- Known client libraries may be found in :ref:`remote_api_client_libs`
 
 2. Versions
 ===========
diff --git a/docs/sources/api/index.rst b/docs/sources/api/index.rst
index 0173691..d7345e8 100644
--- a/docs/sources/api/index.rst
+++ b/docs/sources/api/index.rst
@@ -14,5 +14,5 @@
   registry_api
   index_api
   docker_remote_api
-  remote_api_client_libraries
+
 
diff --git a/docs/sources/api/remote_api_client_libraries.rst b/docs/sources/api/remote_api_client_libraries.rst
index f391613..bd8610e 100644
--- a/docs/sources/api/remote_api_client_libraries.rst
+++ b/docs/sources/api/remote_api_client_libraries.rst
@@ -3,18 +3,14 @@
 :keywords: API, Docker, index, registry, REST, documentation, clients, Python, Ruby, Javascript, Erlang, Go
 
 
-.. _remote_api_client_libs:
-
 ==================================
 Docker Remote API Client Libraries
 ==================================
 
 These libraries have not been tested by the Docker Maintainers for
-compatibility with the :doc:`docker_remote_api`. Please file issues
-with the library owners.  If you find more library implementations,
-please list them in `Docker doc issues
-<https://github.com/dotcloud/docker/issues?direction=desc&labels=doc&sort=updated&state=open>`_
-or make a pull request, and we will add the libraries here.
+compatibility. Please file issues with the library owners.  If you
+find more library implementations, please list them in Docker doc bugs
+and we will add the libraries here.
 
 +----------------------+----------------+--------------------------------------------+
 | Language/Framework   | Name           | Repository                                 |
diff --git a/docs/sources/examples/hello_world.rst b/docs/sources/examples/hello_world.rst
index 54ebdac..647a34a 100644
--- a/docs/sources/examples/hello_world.rst
+++ b/docs/sources/examples/hello_world.rst
@@ -178,4 +178,4 @@
 * :ref:`running_ssh_service`
 * :ref:`running_couchdb_service`
 * :ref:`postgresql_service`
-* :ref:`mongodb_image`
+* :ref:`mongodb`
diff --git a/docs/sources/installation/archlinux.rst b/docs/sources/installation/archlinux.rst
index a593b28..a4de066 100644
--- a/docs/sources/installation/archlinux.rst
+++ b/docs/sources/installation/archlinux.rst
@@ -19,10 +19,6 @@
 Dependencies
 ------------
 
-.. versionchanged:: v0.7
-   This section may need to be updated since Docker no longer depends
-   on AUFS. Please see :ref:`kernel`.
-
 Docker depends on several packages which are specified as dependencies in
 either AUR package.
 
diff --git a/docs/sources/installation/gentoolinux.rst b/docs/sources/installation/gentoolinux.rst
index 374301e..c4f2d22 100644
--- a/docs/sources/installation/gentoolinux.rst
+++ b/docs/sources/installation/gentoolinux.rst
@@ -25,11 +25,6 @@
 Installation
 ^^^^^^^^^^^^
 
-.. versionchanged:: v0.7
-   This section may need to be updated since Docker no longer depends
-   on AUFS. Please see :ref:`kernel`.
-
-
 The package should properly pull in all the necessary dependencies and prompt
 for all necessary kernel options.  For the most straightforward installation
 experience, use ``sys-kernel/aufs-sources`` as your kernel sources.  If you
diff --git a/docs/sources/installation/kernel.rst b/docs/sources/installation/kernel.rst
index 6e22677..2959fa4 100644
--- a/docs/sources/installation/kernel.rst
+++ b/docs/sources/installation/kernel.rst
@@ -11,7 +11,7 @@
 
 - Linux version 3.8 or above.
 
-- `Device Mapper support <http://www.sourceware.org/dm/>`_.
+- `AUFS support <http://aufs.sourceforge.net/>`_.
 
 - Cgroups and namespaces must be enabled.
 
@@ -48,17 +48,15 @@
 See issue `#407 <https://github.com/dotcloud/docker/issues/407>`_ for details.
 
 
-Device Mapper support
----------------------
+AUFS support
+------------
 
-The `Device Mapper <http://www.sourceware.org/dm/>`_ replaces the
-previous Docker dependency on AUFS and has been in the kernel since
-2.6.9, so the device-mapper module is more broadly-supported across
-Linux distributions. Docker uses `thin-provisioning
-<https://github.com/mirrors/linux/blob/master/Documentation/device-mapper/thin-provisioning.txt>`_
-to provide a :ref:`unioning file system <ufs_def>`. If you'd like to
-check for the presence of the device-mapper module, please see the
-`LVM-HOWTO. <http://www.tldp.org/HOWTO/LVM-HOWTO/builddmmod.html>`_
+Docker currently relies on AUFS, an unioning filesystem.
+While AUFS is included in the kernels built by the Debian and Ubuntu
+distributions, is not part of the standard kernel. This means that if
+you decide to roll your own kernel, you will have to patch your
+kernel tree to add AUFS. The process is documented on
+`AUFS webpage <http://aufs.sourceforge.net/>`_.
 
 
 Cgroups and namespaces
@@ -71,7 +69,7 @@
 network namespace setup and teardown; those issues are not a risk if you
 run containers in a private environment, but can lead to denial-of-service
 attacks if you want to run untrusted code in your containers. For more details,
-see `LP#720095 <https://bugs.launchpad.net/ubuntu/+source/linux/+bug/720095>`_.
+see `[LP#720095 <https://bugs.launchpad.net/ubuntu/+source/linux/+bug/720095>`_.
 
 Kernels 2.6.38, and every version since 3.2, have been deployed successfully
 to run containerized production workloads. Feature-wise, there is no huge
diff --git a/docs/sources/installation/ubuntulinux.rst b/docs/sources/installation/ubuntulinux.rst
index 39a7b4f..e653f70 100644
--- a/docs/sources/installation/ubuntulinux.rst
+++ b/docs/sources/installation/ubuntulinux.rst
@@ -7,6 +7,11 @@
 Ubuntu Linux
 ============
 
+.. warning::
+
+   These instructions have changed for 0.6. If you are upgrading from
+   an earlier version, you will need to follow them again.
+
 .. include:: install_header.inc
 
 Right now, the officially supported distribution are:
@@ -14,10 +19,10 @@
 - :ref:`ubuntu_precise`
 - :ref:`ubuntu_raring`
 
-Docker has the following dependencies (read more in :ref:`kernel`):
+Docker has the following dependencies
 
-* Linux kernel 3.8 
-* Device-mapper module
+* Linux kernel 3.8 (read more about :ref:`kernel`)
+* AUFS file system support (we are working on BTRFS support as an alternative)
 
 Please read :ref:`ufw`, if you plan to use `UFW (Uncomplicated
 Firewall) <https://help.ubuntu.com/community/UFW>`_
@@ -37,12 +42,12 @@
 
 Due to a bug in LXC, docker works best on the 3.8 kernel. Precise
 comes with a 3.2 kernel, so we need to upgrade it. The kernel you'll
-install when following these steps comes with device-mapper built
-in. We also include the generic headers to enable packages that depend
-on them, like ZFS and the VirtualBox guest additions. If you didn't
-install the headers for your "precise" kernel, then you can skip these
-headers for the "raring" kernel. But it is safer to include them if
-you're not sure.
+install when following these steps comes with AUFS built in. We also
+include the generic headers to enable packages that depend on them,
+like ZFS and the VirtualBox guest additions. If you didn't install the
+headers for your "precise" kernel, then you can skip these headers for
+the "raring" kernel. But it is safer to include them if you're not
+sure.
 
 
 .. code-block:: bash
@@ -58,7 +63,8 @@
 Installation
 ------------
 
-.. versionchanged:: v0.6
+.. warning::
+
    These instructions have changed for 0.6. If you are upgrading from
    an earlier version, you will need to follow them again.
 
@@ -100,19 +106,13 @@
 Dependencies
 ------------
 
-.. versionchanged:: v0.7
-   Starting in 0.7 you no longer need to add support for AUFS.
-   We now use the device-mapper module instead, and this module
-   is included with kernels since kernel version 2.6
+**AUFS filesystem support**
 
-Ubuntu Raring already comes with the 3.8 kernel, so we don't need to
-install it. However, not all systems have AUFS filesystem support
-enabled, so if you're on a Docker version before 0.7, then we need to
-install it.
+Ubuntu Raring already comes with the 3.8 kernel, so we don't need to install it. However, not all systems
+have AUFS filesystem support enabled, so we need to install it.
 
 .. code-block:: bash
 
-   # Only required for versions before v0.7
    sudo apt-get update
    sudo apt-get install linux-image-extra-`uname -r`
 
@@ -122,9 +122,8 @@
 
 Docker is available as a Debian package, which makes installation easy.
 
-*Please note that these instructions have changed for 0.6. If you are
-upgrading from an earlier version, you will need to follow them
-again.*
+*Please note that these instructions have changed for 0.6. If you are upgrading from an earlier version, you will need
+to follow them again.*
 
 .. code-block:: bash
 
@@ -161,8 +160,8 @@
 Docker and UFW
 ^^^^^^^^^^^^^^
 
-Docker uses a bridge to manage container networking, and by default
-UFW drops all `forwarding`. A first step is to enable forwarding:
+Docker uses a bridge to manage containers networking, by default UFW
+drop all `forwarding`, a first step is to enable forwarding:
 
 .. code-block:: bash
 
@@ -180,3 +179,11 @@
    sudo ufw reload
 
 
+UFW's default set of rules denied all `incoming`, so if you want to be
+able to reach your containers from another host, you should allow
+incoming connections on the docker port (default 4243):
+
+.. code-block:: bash
+
+   sudo ufw allow 4243/tcp
+
diff --git a/docs/sources/terms/images/docker-filesystems-busyboxrw.png b/docs/sources/terms/images/docker-filesystems-busyboxrw.png
index d672083..ad41c94 100644
--- a/docs/sources/terms/images/docker-filesystems-busyboxrw.png
+++ b/docs/sources/terms/images/docker-filesystems-busyboxrw.png
Binary files differ
diff --git a/docs/sources/terms/images/docker-filesystems-debian.png b/docs/sources/terms/images/docker-filesystems-debian.png
index 70badfa..823a215 100644
--- a/docs/sources/terms/images/docker-filesystems-debian.png
+++ b/docs/sources/terms/images/docker-filesystems-debian.png
Binary files differ
diff --git a/docs/sources/terms/images/docker-filesystems-debianrw.png b/docs/sources/terms/images/docker-filesystems-debianrw.png
index c39cbd9..97c69a9 100644
--- a/docs/sources/terms/images/docker-filesystems-debianrw.png
+++ b/docs/sources/terms/images/docker-filesystems-debianrw.png
Binary files differ
diff --git a/docs/sources/terms/images/docker-filesystems-generic.png b/docs/sources/terms/images/docker-filesystems-generic.png
index a9f04e9..fb734b7 100644
--- a/docs/sources/terms/images/docker-filesystems-generic.png
+++ b/docs/sources/terms/images/docker-filesystems-generic.png
Binary files differ
diff --git a/docs/sources/terms/images/docker-filesystems-multilayer.png b/docs/sources/terms/images/docker-filesystems-multilayer.png
index fc6fc88..0b3ae19 100644
--- a/docs/sources/terms/images/docker-filesystems-multilayer.png
+++ b/docs/sources/terms/images/docker-filesystems-multilayer.png
Binary files differ
diff --git a/docs/sources/terms/images/docker-filesystems-multiroot.png b/docs/sources/terms/images/docker-filesystems-multiroot.png
index f68bd1b..5e86427 100644
--- a/docs/sources/terms/images/docker-filesystems-multiroot.png
+++ b/docs/sources/terms/images/docker-filesystems-multiroot.png
Binary files differ
diff --git a/docs/sources/terms/images/docker-filesystems.svg b/docs/sources/terms/images/docker-filesystems.svg
index 06d5ae8..d41aff2 100644
--- a/docs/sources/terms/images/docker-filesystems.svg
+++ b/docs/sources/terms/images/docker-filesystems.svg
@@ -9,15 +9,15 @@
    xmlns="http://www.w3.org/2000/svg"
    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   inkscape:version="0.48.2 r9819"
-   version="1.1"
-   id="svg2"
-   height="600"
-   width="800"
-   sodipodi:docname="docker-filesystems.svg"
-   inkscape:export-filename="/Users/arothfusz/src/metalivedev/docker/docs/sources/terms/images/docker-filesystems-debianrw.png"
+   inkscape:export-ydpi="90"
    inkscape:export-xdpi="90"
-   inkscape:export-ydpi="90">
+   inkscape:export-filename="/Users/arothfusz/src/metalivedev/docker/docs/sources/terms/images/docker-filesystems-multiroot.png"
+   sodipodi:docname="docker-filesystems.svg"
+   width="800"
+   height="600"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.2 r9819">
   <sodipodi:namedview
      id="base"
      pagecolor="#ffffff"
@@ -25,15 +25,15 @@
      borderopacity="1.0"
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
-     inkscape:zoom="1.3983333"
-     inkscape:cx="406.90609"
-     inkscape:cy="305.75331"
+     inkscape:zoom="0.82666667"
+     inkscape:cx="236.08871"
+     inkscape:cy="300"
      inkscape:document-units="px"
-     inkscape:current-layer="layer4"
+     inkscape:current-layer="layer2"
      showgrid="false"
      width="800px"
-     inkscape:window-width="1513"
-     inkscape:window-height="1057"
+     inkscape:window-width="1327"
+     inkscape:window-height="714"
      inkscape:window-x="686"
      inkscape:window-y="219"
      inkscape:window-maximized="0"
@@ -98,32 +98,6 @@
   </sodipodi:namedview>
   <defs
      id="defs4">
-    <marker
-       inkscape:stockid="DotS"
-       orient="auto"
-       refY="0.0"
-       refX="0.0"
-       id="DotS"
-       style="overflow:visible">
-      <path
-         id="path8167"
-         d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
-         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;marker-end:none"
-         transform="scale(0.2) translate(7.4, 1)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Send"
-       orient="auto"
-       refY="0.0"
-       refX="0.0"
-       id="Arrow1Send"
-       style="overflow:visible;">
-      <path
-         id="path8114"
-         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
-         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
-         transform="scale(0.2) rotate(180) translate(6,0)" />
-    </marker>
     <inkscape:perspective
        sodipodi:type="inkscape:persp3d"
        inkscape:vp_x="-406.34117 : 522.93291 : 1"
@@ -175,7 +149,7 @@
         <dc:format>image/svg+xml</dc:format>
         <dc:type
            rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
+        <dc:title />
       </cc:Work>
     </rdf:RDF>
   </metadata>
@@ -321,146 +295,69 @@
          inkscape:connector-curvature="0" />
     </g>
     <g
-       id="text5882"
-       style="font-size:40px;font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;text-align:start;line-height:100%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Futura;-inkscape-font-specification:Futura Medium"
-       transform="matrix(0.91165875,0,0,0.91165875,15.751943,37.18624)">
+       id="text3655"
+       style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+       transform="matrix(0.67123869,0,0,0.67123869,53.68199,126.56876)">
       <path
-         id="path6606"
-         d="m 140.73219,317.85782 c 0,0 -0.0873,5.55779 -0.0873,5.55779 -0.43141,-1.42414 -0.8212,-2.45406 -1.16959,-3.09096 -0.34195,-0.64508 -0.74791,-1.10195 -1.21764,-1.37091 -0.73495,-0.42077 -1.35274,-0.22179 -1.85425,0.59516 -0.50072,0.8157 -0.76397,2.04625 -0.79035,3.69288 -0.027,1.68388 0.18359,3.20381 0.63233,4.56135 0.45531,1.3634 1.05012,2.26362 1.78525,2.69967 0.46986,0.27871 0.88868,0.30856 1.25622,0.089 0.35613,-0.21432 0.7802,-0.7894 1.27246,-1.72611 0,0 -0.0868,5.52838 -0.0868,5.52838 -0.81383,0.40222 -1.61851,0.36385 -2.41401,-0.1133 -1.30744,-0.78421 -2.38182,-2.33577 -3.22555,-4.6516 -0.84074,-2.3204 -1.2385,-4.81309 -1.19538,-7.48315 0.0431,-2.66913 0.51891,-4.66899 1.42938,-6.00318 0.91312,-1.33803 2.01599,-1.64334 3.31108,-0.91052 0.83569,0.4729 1.6205,1.34754 2.35409,2.62548"
+         id="path3662"
+         d="m 132.8684,367.78607 c 0,0 0.71572,-54.35962 0.71572,-54.35962 0,0 2.66242,1.51122 2.66242,1.51122 0,0 -0.71153,54.62187 -0.71153,54.62187 0,0 -2.66661,-1.77347 -2.66661,-1.77347"
          inkscape:connector-curvature="0" />
       <path
-         id="path6608"
-         d="m 150.82647,340.96288 c -0.0131,0.87258 -0.0398,1.62863 -0.08,2.2681 -0.0343,0.65574 -0.0795,1.22195 -0.13563,1.69858 -0.16635,1.3031 -0.4689,2.32489 -0.90726,3.06494 -0.82564,1.43101 -1.932,1.71716 -3.31563,0.86419 -1.16285,-0.71687 -2.10629,-1.96199 -2.83232,-3.7338 -0.74705,-1.81878 -1.16014,-3.95285 -1.24083,-6.40479 0,0 2.00268,1.20784 2.00268,1.20784 0.0632,0.94707 0.17997,1.71862 0.35049,2.31467 0.39832,1.39237 0.99665,2.33265 1.79618,2.8202 1.4796,0.90224 2.25122,-0.55518 2.30914,-4.37435 0,0 0.039,-2.57027 0.039,-2.57027 -0.83169,1.24408 -1.7708,1.55059 -2.81606,0.92363 -1.18403,-0.71018 -2.1363,-2.18905 -2.85893,-4.43399 -0.72607,-2.26692 -1.06707,-4.76012 -1.02458,-7.48376 0.0413,-2.64808 0.42623,-4.69673 1.15596,-6.14902 0.78629,-1.53742 1.80238,-1.95542 3.05093,-1.24893 1.09844,0.62158 2.00193,2.00023 2.70881,4.13858 0,0 0.0315,-2.0745 0.0315,-2.0745 0,0 2.03744,1.15472 2.03744,1.15472 0,0 -0.27084,18.01795 -0.27084,18.01795 m -1.82524,-9.899 c 0.0271,-1.78724 -0.17989,-3.34746 -0.62034,-4.67924 -0.44532,-1.35802 -1.02683,-2.24176 -1.74376,-2.65223 -0.76277,-0.43668 -1.37235,-0.18699 -1.8298,0.74724 -0.41344,0.83211 -0.63299,2.08993 -0.65905,3.7745 -0.0257,1.65998 0.15163,3.13736 0.53239,4.43335 0.41543,1.41916 1.00715,2.35725 1.77622,2.81342 0.77111,0.4574 1.39129,0.22902 1.85949,-0.68705 0.43103,-0.82529 0.65946,-2.07564 0.68485,-3.74999"
+         id="path3664"
+         d="m 137.92667,371.15014 c 0,0 6.14809,-16.99741 6.14809,-16.99741 0,0 -5.19986,-22.51479 -5.19986,-22.51479 0,0 3.39897,2.02031 3.39897,2.02031 0,0 2.36954,10.8944 2.36954,10.8944 0.44814,2.07993 0.80843,3.81608 1.08051,5.20679 0.47284,-1.39022 0.90795,-2.61465 1.30519,-3.67276 0,0 2.89882,-7.87895 2.89882,-7.87895 0,0 3.37501,2.00607 3.37501,2.00607 0,0 -5.97372,15.60005 -5.97372,15.60005 0,0 5.92178,25.52797 5.92178,25.52797 0,0 -3.4783,-2.3133 -3.4783,-2.3133 0,0 -3.23409,-14.8189 -3.23409,-14.8189 0,0 -0.8528,-3.95585 -0.8528,-3.95585 0,0 -4.46772,13.08538 -4.46772,13.08538 0,0 -3.29142,-2.18901 -3.29142,-2.18901"
          inkscape:connector-curvature="0" />
       <path
-         id="path6610"
-         d="m 153.70796,324.42452 c 0,0 2.07042,1.17341 2.07042,1.17341 0,0 -0.0245,1.66019 -0.0245,1.66019 0.39413,-0.60992 0.74171,-0.98397 1.04259,-1.12171 0.30754,-0.14708 0.66877,-0.10336 1.08391,0.13153 0.55236,0.31258 1.12528,1.01078 1.71893,2.09589 0,0 -1.0196,3.40534 -1.0196,3.40534 -0.38912,-0.81646 -0.77267,-1.33268 -1.1507,-1.54932 -1.13735,-0.65174 -1.73043,0.7925 -1.78256,4.33201 0,0 -0.14218,9.6527 -0.14218,9.6527 0,0 -2.07191,-1.24083 -2.07191,-1.24083 0,0 0.27555,-18.53921 0.27555,-18.53921"
+         id="path3666"
+         d="m 166.82131,374.91047 c 0,0 2.93572,2.79373 2.93572,2.79373 -0.37761,4.62343 -1.24922,7.86985 -2.61073,9.73548 -1.34456,1.83887 -2.96947,2.11901 -4.86973,0.85217 -2.3637,-1.5758 -4.23108,-4.67579 -5.61088,-9.29124 -1.36166,-4.61024 -1.99867,-10.32878 -1.91636,-17.16995 0.0532,-4.42099 0.40174,-8.10179 1.04648,-11.0477 0.64585,-2.95094 1.59765,-4.88106 2.85839,-5.78928 1.27692,-0.93132 2.65738,-0.95975 4.14303,-0.0791 1.88674,1.11849 3.42575,3.18947 4.61182,6.21733 1.19146,3.01472 1.93755,6.74983 2.23475,11.20086 0,0 -2.92082,-0.72724 -2.92082,-0.72724 -0.24353,-2.97398 -0.70922,-5.3811 -1.39599,-7.22057 -0.67412,-1.8282 -1.50208,-3.03683 -2.48268,-3.62779 -1.47568,-0.88924 -2.68418,-0.33926 -3.629,1.6424 -0.94184,1.95024 -1.44412,5.64763 -1.50886,11.09862 -0.0657,5.53171 0.32577,9.83698 1.17652,12.92095 0.85352,3.09406 1.99526,5.11378 3.42833,6.05501 1.15583,0.75914 2.13411,0.54393 2.93293,-0.65009 0.80075,-1.19694 1.32691,-3.50191 1.57708,-6.91359"
          inkscape:connector-curvature="0" />
       <path
-         id="path6612"
-         d="m 160.27101,337.45789 c 0.0391,-2.70842 0.54498,-4.74049 1.51987,-6.09991 0.97778,-1.36344 2.15372,-1.65855 3.5304,-0.87956 1.38947,0.78627 2.56023,2.42413 3.50989,4.91738 0.94008,2.49467 1.39183,5.1616 1.35276,7.99504 -0.0395,2.86061 -0.56066,4.96949 -1.56131,6.32281 -1.0039,1.33239 -2.21202,1.57282 -3.62161,0.72734 -1.39028,-0.83389 -2.53635,-2.49756 -3.4408,-4.98756 -0.90174,-2.45583 -1.33071,-5.11919 -1.2892,-7.99554 m 2.16535,1.33944 c -0.0269,1.88171 0.19777,3.51537 0.67464,4.90251 0.4902,1.41007 1.15096,2.36244 1.98335,2.85618 0.84109,0.49891 1.5228,0.34654 2.04392,-0.45912 0.52192,-0.80691 0.79607,-2.13484 0.82183,-3.9825 0.0257,-1.84723 -0.20719,-3.46972 -0.69809,-4.86589 -0.49622,-1.41023 -1.16202,-2.35371 -1.99632,-2.83141 -0.8193,-0.46907 -1.48923,-0.29318 -2.01085,0.52575 -0.52082,0.81767 -0.79344,2.10208 -0.81848,3.85448"
+         id="path3668"
+         d="m 172.97661,394.46064 c 0,0 0.0905,-8.17492 0.0905,-8.17492 0,0 3.48861,2.27245 3.48861,2.27245 0,0 -0.0895,8.22327 -0.0895,8.22327 -0.0329,3.02363 -0.28765,5.30542 -0.76375,6.84314 -0.47577,1.56243 -1.21303,2.51325 -2.20987,2.85324 0,0 -0.81311,-3.65386 -0.81311,-3.65386 0.65091,-0.22881 1.13685,-0.89297 1.45702,-1.99285 0.32015,-1.07418 0.51068,-2.8142 0.57137,-5.21909 0,0 -1.73124,-1.15138 -1.73124,-1.15138"
          inkscape:connector-curvature="0" />
       <path
-         id="path6614"
-         d="m 174.85055,336.40707 c 0,0 -0.14891,11.02965 -0.14891,11.02965 -0.043,3.18616 0.56349,5.15225 1.82345,5.89961 1.26523,0.75049 1.92109,-0.47689 1.96361,-3.68352 0,0 0.14715,-11.10042 0.14715,-11.10042 0,0 2.25188,1.27625 2.25188,1.27625 0,0 -0.1474,11.24227 -0.1474,11.24227 -0.0204,1.55606 -0.13518,2.84223 -0.34422,3.85793 -0.20068,0.89949 -0.53701,1.61728 -1.00855,2.15311 -0.77732,0.85998 -1.74991,0.93856 -2.91578,0.23927 -1.15481,-0.69267 -2.09623,-1.91466 -2.82609,-3.66448 -0.44717,-1.07494 -0.75841,-2.16712 -0.93417,-3.27725 -0.17053,-1.00046 -0.24376,-2.37932 -0.21978,-4.13682 0,0 0.15125,-11.08673 0.15125,-11.08673 0,0 2.20756,1.25113 2.20756,1.25113"
+         id="path3670"
+         d="m 204.77784,410.06983 c -1.27022,1.55778 -2.48568,2.44071 -3.64678,2.65261 -1.1447,0.21934 -2.36657,-0.10529 -3.66459,-0.97064 -2.13127,-1.42084 -3.74779,-3.67649 -4.85717,-6.76514 -1.10483,-3.1041 -1.63719,-6.47275 -1.60031,-10.11391 0.0216,-2.13477 0.25062,-3.94364 0.6874,-5.42825 0.44957,-1.50612 1.02226,-2.57799 1.71876,-3.21526 0.71002,-0.63098 1.50367,-0.94896 2.38159,-0.95288 0.64759,0.017 1.6255,0.25355 2.93681,0.71095 2.68835,0.95136 4.68535,1.32634 5.97773,1.11825 0.0222,-1.02578 0.0346,-1.67832 0.0372,-1.95765 0.0289,-3.07178 -0.26872,-5.42898 -0.8919,-7.06976 -0.84101,-2.21749 -2.10184,-3.83086 -3.77761,-4.84085 -1.55688,-0.93829 -2.71034,-1.00947 -3.46489,-0.21839 -0.74047,0.76925 -1.30109,2.5996 -1.68287,5.49061 0,0 -3.16708,-2.94172 -3.16708,-2.94172 0.31864,-2.91383 0.81734,-5.11515 1.49696,-6.60484 0.6812,-1.51989 1.65517,-2.41342 2.92464,-2.67921 1.27473,-0.29431 2.75127,0.0544 4.43259,1.05105 1.67794,0.99472 3.04366,2.25211 4.09313,3.7721 1.05306,1.52531 1.82526,3.12483 2.31452,4.79681 0.49033,1.64692 0.82696,3.5698 1.00937,5.76792 0.10151,1.36012 0.13673,3.72492 0.1056,7.09479 0,0 -0.0935,10.11679 -0.0935,10.11679 -0.0653,7.05995 -0.0372,11.58025 0.0844,13.55797 0.13448,1.95911 0.40887,3.94126 0.8236,5.94773 0,0 -3.55349,-2.3633 -3.55349,-2.3633 -0.33594,-1.80359 -0.5439,-3.78856 -0.62416,-5.9558 m -0.12224,-17.05427 c -1.23154,0.34731 -3.06331,0.14247 -5.48491,-0.60924 -1.36335,-0.41924 -2.32581,-0.53009 -2.89103,-0.33412 -0.56424,0.19568 -1.00286,0.73389 -1.31639,1.61435 -0.31298,0.85222 -0.4758,1.92485 -0.48867,3.21853 -0.0197,1.98221 0.29058,3.84732 0.93197,5.59804 0.65498,1.76261 1.62279,3.0659 2.90625,3.90947 1.27641,0.83893 2.42209,0.96176 3.43544,0.36456 1.01669,-0.62694 1.7731,-1.89094 2.26739,-3.79238 0.3778,-1.47261 0.58252,-3.87376 0.61388,-7.20158 0,0 0.0261,-2.76763 0.0261,-2.76763"
          inkscape:connector-curvature="0" />
       <path
-         id="path6616"
-         d="m 185.65723,373.02651 c 0,0 -2.29305,-1.41345 -2.29305,-1.41345 0,0 0.38988,-30.15992 0.38988,-30.15992 0,0 2.29008,1.2979 2.29008,1.2979 0,0 -0.0272,2.12995 -0.0272,2.12995 0.92995,-1.26701 1.97448,-1.57442 3.13494,-0.91778 1.38588,0.78424 2.51926,2.43305 3.39754,4.94975 0.89517,2.51915 1.32518,5.30287 1.28785,8.34596 -0.0365,2.97631 -0.52463,5.1866 -1.46238,6.6271 -0.92815,1.42724 -2.07686,1.72823 -3.44344,0.90856 -1.17539,-0.70501 -2.21154,-2.25474 -3.10963,-4.64542 0,0 -0.16457,12.87735 -0.16457,12.87735 m 5.77736,-17.14782 c 0.0235,-1.89456 -0.22075,-3.58905 -0.73212,-5.08175 -0.51718,-1.50737 -1.17874,-2.49094 -1.98384,-2.95192 -0.85099,-0.48721 -1.54632,-0.30376 -2.0871,0.54835 -0.53995,0.85081 -0.82161,2.21398 -0.8456,4.09085 -0.0235,1.8371 0.21948,3.50705 0.72966,5.01163 0.50462,1.47645 1.18211,2.46768 2.03354,2.97271 0.80551,0.47781 1.47892,0.2782 2.01926,-0.6008 0.55503,-0.8722 0.84399,-2.20234 0.8662,-3.98907"
+         id="path3672"
+         d="m 226.91498,430.33317 c 0,0 0.056,-6.79135 0.056,-6.79135 -1.69979,4.12585 -3.95958,5.23997 -6.76691,3.36841 -1.23125,-0.82083 -2.37518,-2.1017 -3.4326,-3.84047 -1.04088,-1.72429 -1.81148,-3.52427 -2.31374,-5.40182 -0.48827,-1.89422 -0.82487,-4.02954 -1.01034,-6.40682 -0.12775,-1.59592 -0.17698,-4.02489 -0.14772,-7.28678 0,0 0.25063,-27.95019 0.25063,-27.95019 0,0 3.47921,2.068 3.47921,2.068 0,0 -0.22098,25.15376 -0.22098,25.15376 -0.0353,4.02044 0.0122,6.77614 0.14272,8.26649 0.20297,2.17003 0.65699,4.07445 1.36316,5.71471 0.70804,1.61546 1.59303,2.77268 2.65633,3.47053 1.06676,0.70016 2.07587,0.76801 3.02668,0.20066 0.95364,-0.59783 1.63329,-1.79901 2.03728,-3.60358 0.41794,-1.82668 0.64337,-4.71043 0.67595,-8.64861 0,0 0.20406,-24.67831 0.20406,-24.67831 0,0 3.62583,2.15515 3.62583,2.15515 0,0 -0.37466,46.37229 -0.37466,46.37229 0,0 -3.25092,-2.16207 -3.25092,-2.16207"
          inkscape:connector-curvature="0" />
       <path
-         id="path6618"
-         d="m 202.46252,355.50616 c 0,0 -2.02148,0.89514 -2.02148,0.89514 -0.29922,-1.41522 -0.68019,-2.25477 -1.14267,-2.51956 -0.22034,-0.12613 -0.41028,-0.0902 -0.56989,0.10775 -0.15938,0.18417 -0.24166,0.49511 -0.2469,0.93289 -0.009,0.76622 0.4431,1.79204 1.35891,3.08034 1.26537,1.79779 2.1171,3.27615 2.55169,4.43073 0.43524,1.15634 0.64426,2.49403 0.62654,4.01197 -0.0227,1.94615 -0.41602,3.35262 -1.17861,4.21763 -0.73862,0.80711 -1.61833,0.90353 -2.63781,0.29204 -1.73902,-1.04308 -2.94495,-3.41075 -3.62361,-7.09984 0,0 2.05404,-0.62372 2.05404,-0.62372 0.27175,1.12496 0.48061,1.86197 0.62642,2.21031 0.28474,0.69301 0.62973,1.15991 1.03516,1.40039 0.81243,0.48191 1.2279,0.008 1.24483,-1.42137 0.01,-0.82472 -0.29531,-1.77886 -0.91422,-2.8608 -0.23929,-0.37501 -0.47847,-0.74288 -0.71753,-1.1036 -0.23888,-0.36043 -0.48103,-0.72949 -0.72645,-1.10718 -0.68603,-1.0613 -1.16577,-2.00109 -1.44019,-2.82057 -0.34953,-1.04091 -0.51619,-2.21537 -0.50033,-3.52419 0.021,-1.73109 0.34475,-2.98724 0.97217,-3.7698 0.64272,-0.77593 1.41455,-0.9098 2.31657,-0.3994 1.33289,0.75425 2.31172,2.64351 2.93336,5.67084"
+         id="path3674"
+         d="m 236.84818,436.9394 c 0,0 0.31458,-40.68866 0.31458,-40.68866 0,0 -3.27066,-1.97443 -3.27066,-1.97443 0,0 0.0485,-6.13244 0.0485,-6.13244 0,0 3.26986,1.94357 3.26986,1.94357 0,0 0.0384,-4.9718 0.0384,-4.9718 0.0242,-3.13718 0.17313,-5.39171 0.44675,-6.76504 0.37445,-1.8466 1.0157,-3.14492 1.92523,-3.8952 0.92597,-0.77365 2.21207,-0.69593 3.86256,0.23811 1.06731,0.60412 2.24898,1.54093 3.54628,2.81271 0,0 -0.62418,6.66996 -0.62418,6.66996 -0.78934,-0.75385 -1.53564,-1.33338 -2.23919,-1.73932 -1.15067,-0.66373 -1.96603,-0.6152 -2.44858,0.14318 -0.48194,0.75751 -0.73333,2.55103 -0.75467,5.38196 0,0 -0.0327,4.33654 -0.0327,4.33654 0,0 4.35398,2.58795 4.35398,2.58795 0,0 -0.0456,6.23957 -0.0456,6.23957 0,0 -4.35509,-2.62908 -4.35509,-2.62908 0,0 -0.30843,40.92114 -0.30843,40.92114 0,0 -3.72704,-2.47872 -3.72704,-2.47872"
          inkscape:connector-curvature="0" />
       <path
-         id="path6620"
-         d="m 206.7322,368.8215 c 0,0 2.17482,2.92292 2.17482,2.92292 0,0 -3.25769,10.03818 -3.25769,10.03818 0,0 -1.63779,-2.31835 -1.63779,-2.31835 0,0 2.72066,-10.64275 2.72066,-10.64275"
+         id="path3676"
+         d="m 246.46465,429.05307 c 0,0 3.81968,1.1922 3.81968,1.1922 0.19276,3.35392 0.7721,6.20708 1.74012,8.56243 0.98544,2.37207 2.3721,4.14723 4.16469,5.32459 1.81668,1.19318 3.17579,1.3205 4.07171,0.37548 0.89826,-0.97786 1.35491,-2.50699 1.36833,-4.58524 0.012,-1.86394 -0.37148,-3.58214 -1.14903,-5.15206 -0.54183,-1.08052 -1.89103,-2.87259 -4.03793,-5.36553 -2.87017,-3.33767 -4.84719,-5.88768 -5.94667,-7.66691 -1.08128,-1.7942 -1.8993,-3.82568 -2.45597,-6.09572 -0.54119,-2.28674 -0.80303,-4.59245 -0.78627,-6.91984 0.0153,-2.11796 0.25669,-3.93345 0.72469,-5.44816 0.48302,-1.53765 1.12853,-2.66509 1.93745,-3.38209 0.60808,-0.56866 1.4316,-0.86027 2.47213,-0.87408 1.05827,-0.0353 2.19002,0.30354 3.396,1.01839 1.82428,1.08147 3.42677,2.57943 4.80442,4.49544 1.39816,1.9329 2.42778,4.04798 3.08549,6.34283 0.65928,2.26923 1.10658,5.05898 1.34104,8.36831 0,0 -3.93498,-1.30965 -3.93498,-1.30965 -0.1613,-2.60573 -0.66572,-4.86818 -1.51169,-6.78511 -0.82908,-1.90296 -2.01211,-3.31622 -3.54556,-4.24034 -1.80214,-1.08596 -3.08681,-1.24118 -3.85989,-0.47117 -0.77146,0.76845 -1.16235,1.97686 -1.17391,3.62665 -0.007,1.05006 0.14407,2.09235 0.45452,3.12753 0.31055,1.06635 0.80269,2.09487 1.47721,3.08626 0.38829,0.54294 1.53561,1.95069 3.44979,4.23261 2.78949,3.29205 4.7444,5.79841 5.85003,7.50277 1.12436,1.68881 2.00304,3.68747 2.63416,5.99522 0.63237,2.3125 0.94024,4.88426 0.92265,7.71231 -0.0173,2.76736 -0.43134,5.12235 -1.24099,7.06139 -0.79291,1.91427 -1.93089,3.05649 -3.41056,3.42835 -1.47342,0.33983 -3.12755,-0.1039 -4.95957,-1.32524 -3.01245,-2.00831 -5.28496,-4.82452 -6.83171,-8.44857 -1.52498,-3.59708 -2.47979,-8.05614 -2.86938,-13.38305"
          inkscape:connector-curvature="0" />
       <path
-         id="path6622"
-         d="m 219.42398,361.66906 c 0,0 2.57673,1.46036 2.57673,1.46036 0,0 -0.0201,1.91673 -0.0201,1.91673 0.91913,-1.14976 1.94712,-1.40461 3.08517,-0.76065 1.31212,0.7425 2.33071,2.0892 3.05315,4.04145 0.62517,1.66947 0.92345,3.98491 0.89383,6.94449 0,0 -0.12896,12.8786 -0.12896,12.8786 0,0 -2.63579,-1.57852 -2.63579,-1.57852 0,0 0.11901,-11.68793 0.11901,-11.68793 0.021,-2.06076 -0.11926,-3.57344 -0.42047,-4.53768 -0.29303,-0.97307 -0.83657,-1.68661 -1.62938,-2.14052 -0.85992,-0.4923 -1.47441,-0.3147 -1.8449,0.5312 -0.36236,0.8353 -0.55694,2.54574 -0.58402,5.13257 0,0 -0.10498,10.02852 -0.10498,10.02852 0,0 -2.57927,-1.54467 -2.57927,-1.54467 0,0 0.21995,-20.68395 0.21995,-20.68395"
+         id="path3678"
+         d="m 267.46509,458.46409 c 0,0 10.16276,-64.44628 10.16276,-64.44628 0,0 3.35985,1.90154 3.35985,1.90154 0,0 -10.22211,64.7453 -10.22211,64.7453 0,0 -3.3005,-2.20056 -3.3005,-2.20056"
          inkscape:connector-curvature="0" />
       <path
-         id="path6624"
-         d="m 241.04019,373.92004 c 0,0 2.7519,1.55964 2.7519,1.55964 0,0 -0.19485,21.48192 -0.19485,21.48192 0,0 -2.75486,-1.64983 -2.75486,-1.64983 0,0 0.0207,-2.24294 0.0207,-2.24294 -1.14067,1.23372 -2.35327,1.46311 -3.63673,0.69329 -1.61336,-0.96771 -2.93104,-2.82378 -3.95624,-5.56468 -1.0134,-2.77024 -1.50298,-5.76236 -1.47132,-8.98244 0.0311,-3.16101 0.57268,-5.49827 1.62704,-7.016 1.05738,-1.52205 2.37014,-1.84168 3.94157,-0.95249 1.36204,0.77074 2.57909,2.48663 3.64983,5.15233 0,0 0.0229,-2.4788 0.0229,-2.4788 m -6.51523,6.88348 c -0.0196,2.02998 0.26215,3.85849 0.84614,5.48754 0.60094,1.65624 1.36906,2.76273 2.30543,3.31815 1.00329,0.59513 1.82204,0.44851 2.45479,-0.44233 0.63421,-0.93629 0.96099,-2.40859 0.97953,-4.41531 0.0185,-2.0062 -0.27757,-3.84035 -0.88736,-5.50031 -0.60884,-1.62738 -1.4072,-2.72292 -2.39382,-3.28783 -0.92783,-0.5312 -1.70779,-0.33537 -2.34104,0.58521 -0.62437,0.93812 -0.94533,2.3559 -0.96367,4.25488"
+         id="path3680"
+         d="m 287.73074,470.77961 c 0,0 -3.98413,-2.64971 -3.98413,-2.64971 0,0 0.36657,-69.26132 0.36657,-69.26132 0,0 4.28286,2.431 4.28286,2.431 0,0 -0.12574,24.80354 -0.12574,24.80354 1.84841,-3.43804 4.20286,-4.3171 7.07399,-2.61515 1.5995,0.94822 3.11282,2.48894 4.53901,4.62548 1.44866,2.12297 2.63509,4.62828 3.55675,7.51533 0.94101,2.87289 1.67339,6.11301 2.19582,9.71903 0.52331,3.61258 0.77764,7.29172 0.76223,11.03361 -0.0367,8.8888 -1.19889,15.02735 -3.47692,18.39523 -2.26525,3.34891 -4.9514,3.97742 -8.04813,1.91293 -3.05429,-2.0362 -5.42013,-6.12345 -7.11007,-12.2502 0,0 -0.0322,6.34023 -0.0322,6.34023 m 0.0826,-25.6991 c -0.0308,6.05748 0.36263,10.70405 1.18198,13.94323 1.3439,5.31484 3.18967,8.7503 5.54452,10.29694 1.92772,1.26611 3.60983,0.72174 5.04245,-1.64447 1.43781,-2.407 2.17299,-6.89882 2.20167,-13.46572 0.0293,-6.72399 -0.63702,-12.10528 -1.99483,-16.13506 -1.33586,-4.00333 -2.96003,-6.57643 -4.86901,-7.72687 -1.91517,-1.15407 -3.57055,-0.50907 -4.97003,1.92406 -1.39445,2.39298 -2.10547,6.6592 -2.13675,12.80789"
          inkscape:connector-curvature="0" />
       <path
-         id="path6626"
-         d="m 247.28249,377.45786 c 0,0 2.79111,1.58186 2.79111,1.58186 0,0 -0.0173,2.0015 -0.0173,2.0015 0.54896,-0.70124 1.01679,-1.12175 1.40319,-1.26085 0.41199,-0.13991 0.92736,-0.035 1.5466,0.31541 1.38478,0.78361 2.47507,2.48167 3.2682,5.09697 0.91546,-1.64577 2.14323,-2.03484 3.68688,-1.16137 2.82364,1.59782 4.22073,5.4225 4.17382,11.46769 0,0 -0.10635,13.69844 -0.10635,13.69844 0,0 -2.92456,-1.75145 -2.92456,-1.75145 0,0 0.0975,-12.25817 0.0975,-12.25817 0.0168,-2.11284 -0.11722,-3.69057 -0.40182,-4.73289 -0.2928,-1.06127 -0.78133,-1.78748 -1.46479,-2.17881 -0.79285,-0.45392 -1.37569,-0.25984 -1.74962,0.58089 -0.36513,0.84484 -0.55712,2.42916 -0.57621,4.75404 0,0 -0.0931,11.32679 -0.0931,11.32679 0,0 -2.86491,-1.71574 -2.86491,-1.71574 0,0 0.10135,-12.06241 0.10135,-12.06241 0.0326,-3.88232 -0.5811,-6.18348 -1.83765,-6.90292 -0.79343,-0.45426 -1.37725,-0.25868 -1.75259,0.58536 -0.36667,0.84805 -0.55973,2.40692 -0.5794,4.67769 0,0 -0.0971,11.20768 -0.0971,11.20768 0,0 -2.79419,-1.67338 -2.79419,-1.67338 0,0 0.19107,-21.59633 0.19107,-21.59633"
+         id="path3682"
+         d="m 322.12463,485.58433 c 0,0 0.65936,8.40758 0.65936,8.40758 -1.33673,-0.35442 -2.52804,-0.88064 -3.57528,-1.5781 -1.70425,-1.13503 -3.01872,-2.52454 -3.94739,-4.16917 -0.92628,-1.6404 -1.57435,-3.40805 -1.9457,-5.30454 -0.37079,-1.92713 -0.54592,-5.5546 -0.52573,-10.88197 0,0 0.114,-30.08386 0.114,-30.08386 0,0 -3.36894,-2.03377 -3.36894,-2.03377 0,0 0.0272,-6.84805 0.0272,-6.84805 0,0 3.36786,2.00182 3.36786,2.00182 0,0 0.0489,-12.91135 0.0489,-12.91135 0,0 4.63253,-2.66881 4.63253,-2.66881 0,0 -0.065,18.3241 -0.065,18.3241 0,0 4.72675,2.80952 4.72675,2.80952 0,0 -0.023,6.96866 -0.023,6.96866 0,0 -4.72829,-2.85438 -4.72829,-2.85438 0,0 -0.10923,30.77205 -0.10923,30.77205 -0.009,2.54809 0.0632,4.23726 0.21665,5.06728 0.17091,0.8418 0.43796,1.59732 0.80137,2.26677 0.38115,0.6815 0.92028,1.25067 1.61806,1.70755 0.52419,0.34326 1.21588,0.67931 2.07599,1.00867"
          inkscape:connector-curvature="0" />
       <path
-         id="path6628"
-         d="m 279.65651,408.40996 c 0,0 -9.35262,-5.46708 -9.35262,-5.46708 0.0658,1.88322 0.39914,3.5481 1.00079,4.99605 0.60288,1.43532 1.3839,2.43821 2.34415,3.00779 0.74867,0.44409 1.3715,0.5038 1.86778,0.1781 0.48795,-0.33142 1.04752,-1.14891 1.67897,-2.45366 0,0 2.55498,3.97748 2.55498,3.97748 -0.40621,0.92857 -0.83351,1.67996 -1.28179,2.25436 -0.44769,0.55823 -0.92541,0.95765 -1.43302,1.1985 -0.50684,0.22504 -1.05235,0.28654 -1.63634,0.18485 -0.58306,-0.10154 -1.21336,-0.35566 -1.89062,-0.76188 -1.93548,-1.16091 -3.47356,-3.1605 -4.61915,-5.9959 -1.14136,-2.84047 -1.69708,-6.03236 -1.67022,-9.58212 0.0266,-3.51768 0.60754,-6.04329 1.74528,-7.58141 1.14969,-1.50706 2.66598,-1.73029 4.55393,-0.662 1.91602,1.08423 3.4311,3.00239 4.54025,5.75717 1.10404,2.74368 1.64484,5.98707 1.61956,9.72443 0,0 -0.0219,1.22533 -0.0219,1.22533 m -3.09311,-6.08665 c -0.40196,-3.01984 -1.40751,-4.98881 -3.01161,-5.90725 -0.36437,-0.2086 -0.70688,-0.30457 -1.02762,-0.28808 -0.32036,10e-4 -0.61454,0.10951 -0.88262,0.32487 -0.25895,0.205 -0.48296,0.50671 -0.67208,0.9051 -0.18905,0.39823 -0.33441,0.89057 -0.43613,1.47709 0,0 6.03006,3.48827 6.03006,3.48827"
+         id="path3684"
+         d="m 326.68371,496.68588 c 0,0 0.16352,-53.31935 0.16352,-53.31935 0,0 4.33405,2.57612 4.33405,2.57612 0,0 -0.0231,8.11168 -0.0231,8.11168 1.12479,-3.12783 2.15869,-5.02087 3.10122,-5.67423 0.96285,-0.64401 2.01732,-0.62746 3.16426,0.0524 1.66273,0.98571 3.35799,2.97819 5.08643,5.98483 0,0 -1.73463,7.50163 -1.73463,7.50163 -1.20956,-2.06252 -2.41678,-3.45673 -3.62177,-4.18598 -1.07402,-0.64988 -2.03784,-0.62407 -2.89238,0.075 -0.85268,0.66393 -1.46157,1.94671 -1.82782,3.84834 -0.54904,2.90043 -0.82874,6.26858 -0.83955,10.10792 0,0 -0.0793,28.13461 -0.0793,28.13461 0,0 -4.83103,-3.21295 -4.83103,-3.21295"
          inkscape:connector-curvature="0" />
       <path
-         id="path6630"
-         d="m 290.89618,406.10951 c 0,0 -2.60986,0.84507 -2.60986,0.84507 -0.39883,-1.64607 -0.89865,-2.6404 -1.49908,-2.98417 -0.28602,-0.16374 -0.53138,-0.13935 -0.73616,0.073 -0.20459,0.19661 -0.30843,0.54502 -0.31163,1.04533 -0.006,0.87567 0.58768,2.08933 1.78293,3.64497 1.65243,2.17083 2.76745,3.93987 3.33988,5.30109 0.57339,1.3636 0.85526,2.91459 0.84485,4.65146 -0.0134,2.22693 -0.51132,3.80158 -1.49202,4.72174 -0.94985,0.85582 -2.08785,0.8847 -3.41208,0.0904 -2.25746,-1.35404 -3.83527,-4.17302 -4.74203,-8.45342 0,0 2.64901,-0.5274 2.64901,-0.5274 0.36052,1.31152 0.63659,2.17366 0.82798,2.58546 0.37389,0.81887 0.82391,1.38461 1.35034,1.69686 1.05517,0.6259 1.589,0.12188 1.59915,-1.51318 0.006,-0.94315 -0.39683,-2.06297 -1.20658,-3.35724 -0.31265,-0.45076 -0.62507,-0.89328 -0.93724,-1.32757 -0.3119,-0.43388 -0.62807,-0.8779 -0.94849,-1.33201 -0.89555,-1.27548 -1.52325,-2.39318 -1.88454,-3.35478 -0.46008,-1.22133 -0.68496,-2.57895 -0.67514,-4.07396 0.013,-1.97731 0.421,-3.38511 1.2253,-4.22509 0.82431,-0.83127 1.82106,-0.91717 2.9918,-0.25471 1.73084,0.97944 3.01357,3.22759 3.84361,6.74814"
+         id="path3686"
+         d="m 346.63844,509.95707 c 0,0 0.0968,-47.55946 0.0968,-47.55946 0,0 -4.43131,-2.6751 -4.43131,-2.6751 0,0 0.0162,-7.15908 0.0162,-7.15908 0,0 4.42975,2.633 4.42975,2.633 0,0 0.0118,-5.80848 0.0118,-5.80848 0.007,-3.66486 0.19039,-6.28429 0.54899,-7.86025 0.49107,-2.11858 1.34725,-3.56796 2.57091,-4.34826 1.24623,-0.8062 2.9874,-0.57829 5.2303,0.69102 1.45137,0.82149 3.06136,2.04536 4.83196,3.67489 0,0 -0.79224,7.74699 -0.79224,7.74699 -1.07705,-0.96968 -2.09389,-1.73012 -3.05099,-2.28234 -1.56464,-0.90254 -2.66858,-0.93449 -3.31577,-0.0995 -0.64623,0.83385 -0.9719,2.90502 -0.97777,6.21534 0,0 -0.009,5.07119 -0.009,5.07119 0,0 5.92043,3.51903 5.92043,3.51903 0,0 -0.0107,7.30549 -0.0107,7.30549 0,0 -5.92257,-3.57534 -5.92257,-3.57534 0,0 -0.0849,47.87735 -0.0849,47.87735 0,0 -5.0619,-3.36649 -5.0619,-3.36649"
          inkscape:connector-curvature="0" />
       <path
-         id="path6632"
-         d="m 297.65906,442.06529 c 0,0 -3.20358,-1.97471 -3.20358,-1.97471 0,0 0.20811,-35.77949 0.20811,-35.77949 0,0 3.19718,1.812 3.19718,1.812 0,0 -0.0142,2.52779 -0.0142,2.52779 1.27959,-1.39527 2.73004,-1.63675 4.35368,-0.71802 1.94048,1.09806 3.53992,3.19592 4.79412,6.29791 1.27855,3.10878 1.91078,6.47749 1.89303,10.09851 -0.0174,3.54182 -0.67438,6.1143 -1.9679,7.71245 -1.27962,1.58277 -2.87888,1.79589 -4.7933,0.64761 -1.64534,-0.98688 -3.10516,-2.96019 -4.38135,-5.91477 0,0 -0.0858,15.29072 -0.0858,15.29072 m 7.85777,-19.67674 c 0.0115,-2.25271 -0.34836,-4.29981 -1.07845,-6.13877 -0.7381,-1.8565 -1.67131,-3.10657 -2.79825,-3.75181 -1.19059,-0.68165 -2.15647,-0.54701 -2.89952,0.40095 -0.74169,0.94624 -1.11828,2.53234 -1.13081,4.76009 -0.0123,2.18065 0.34427,4.19544 1.07079,6.04698 0.71872,1.81803 1.67298,3.08105 2.86454,3.78783 1.12784,0.66901 2.06441,0.51547 2.80811,-0.4635 0.76448,-0.96932 1.1527,-2.51718 1.16359,-4.64177"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path6634"
-         d="m 323.2836,420.53147 c 0,0 3.47131,1.96737 3.47131,1.96737 0,0 -0.0913,24.20953 -0.0913,24.20953 0,0 -3.47621,-2.08183 -3.47621,-2.08183 0,0 0.0101,-2.52677 0.0101,-2.52677 -1.42466,1.29952 -2.94623,1.46107 -4.5632,0.49121 -2.0315,-1.21851 -3.69729,-3.41306 -5.00188,-6.57948 -1.28946,-3.19719 -1.92379,-6.60219 -1.90669,-10.2229 0.0168,-3.55411 0.6789,-6.14271 1.98946,-7.77092 1.31476,-1.63341 2.9588,-1.89468 4.93677,-0.77545 1.71533,0.97067 3.25611,2.9957 4.62048,6.08088 0,0 0.0111,-2.79164 0.0111,-2.79164 m -8.13002,7.25454 c -0.0103,2.28371 0.35592,4.36415 1.09987,6.24394 0.76557,1.91218 1.73725,3.21882 2.91655,3.91833 1.26404,0.74979 2.29142,0.64933 3.08006,-0.30463 0.79033,-1.00527 1.19056,-2.63908 1.19956,-4.89951 0.009,-2.25977 -0.37624,-4.34987 -1.15431,-6.26753 -0.77646,-1.8804 -1.78697,-3.17567 -3.02974,-3.88724 -1.16829,-0.66888 -2.14556,-0.50772 -2.93343,0.4805 -0.77645,1.00843 -1.16894,2.57986 -1.17856,4.71614"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path6636"
-         d="m 343.1806,432.87546 c 0,0 -0.0207,7.59105 -0.0207,7.59105 -0.82209,-2.06753 -1.55806,-3.5828 -2.2085,-4.54818 -0.63859,-0.97439 -1.38872,-1.70786 -2.24976,-2.20087 -1.34618,-0.77073 -2.46323,-0.66272 -3.35327,0.32045 -0.88816,0.98111 -1.33524,2.59173 -1.34264,4.83391 -0.008,2.29306 0.41155,4.42679 1.25895,6.40429 0.86,1.98854 1.96259,3.38313 3.30976,4.18222 0.86167,0.51112 1.62477,0.66763 2.28865,0.46844 0.64349,-0.19527 1.40214,-0.86623 2.27653,-2.01442 0,0 -0.0206,7.55467 -0.0206,7.55467 -1.47401,0.32368 -2.94087,0.0461 -4.40046,-0.82938 -2.39574,-1.43698 -4.38377,-3.85601 -5.96995,-7.25233 -1.57902,-3.3978 -2.35945,-6.90733 -2.34662,-10.53875 0.0128,-3.62973 0.82463,-6.23223 2.44014,-7.81337 1.62183,-1.58731 3.61521,-1.71555 5.98635,-0.37384 1.53207,0.86696 2.98302,2.2714 4.35206,4.21611"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path6638"
-         d="m 361.38277,456.18302 c 0,0 -11.61841,-6.79154 -11.61841,-6.79154 0.0937,2.10935 0.5168,3.99418 1.27044,5.65627 0.75525,1.64844 1.72826,2.82675 2.92056,3.53398 0.92985,0.55156 1.70154,0.66407 2.31408,0.33617 0.60228,-0.33496 1.29017,-1.20853 2.06401,-2.62217 0,0 3.19414,4.63876 3.19414,4.63876 -0.49766,1.00943 -1.02257,1.81886 -1.57461,2.42855 -0.55134,0.59157 -1.14088,1.00311 -1.76844,1.23492 -0.6266,0.21415 -1.3021,0.24242 -2.02622,0.0853 -0.72285,-0.15689 -1.50505,-0.48791 -2.34622,-0.99245 -2.40289,-1.44126 -4.31837,-3.78974 -5.75319,-7.04227 -1.42904,-3.25657 -2.13636,-6.86223 -2.12627,-10.82528 0.01,-3.92704 0.71123,-6.70704 2.10712,-8.34548 1.4113,-1.60346 3.28493,-1.74728 5.62792,-0.42151 2.37927,1.34637 4.26874,3.59818 5.66153,6.75839 1.38693,3.14867 2.07913,6.8173 2.07261,10.99851 0,0 -0.019,1.36991 -0.019,1.36991 m -3.87464,-7.03474 c -0.51794,-3.40669 -1.77639,-5.68028 -3.76842,-6.82083 -0.45233,-0.25896 -0.87683,-0.39044 -1.27361,-0.39467 -0.39636,-0.0213 -0.7596,0.079 -1.08982,0.30074 -0.31897,0.21081 -0.59406,0.53216 -0.82535,0.96399 -0.23118,0.43165 -0.40773,0.97154 -0.52969,1.61975 0,0 7.48689,4.33102 7.48689,4.33102"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path6640"
-         d="m 375.33222,454.42534 c 0,0 -3.24135,0.75716 -3.24135,0.75716 -0.50708,-1.87388 -1.13523,-3.02442 -1.88397,-3.45311 -0.35661,-0.20414 -0.66139,-0.19456 -0.91447,0.0285 -0.25291,0.20547 -0.37962,0.58828 -0.38022,1.14856 -0.001,0.98062 0.74437,2.3836 2.24068,4.21417 2.06978,2.55457 3.46913,4.62025 4.19079,6.18906 0.72304,1.57188 1.0845,3.33245 1.08333,5.2798 -0.002,2.49684 -0.61084,4.22538 -1.82536,5.18303 -1.17621,0.88754 -2.59171,0.83341 -4.24376,-0.15749 -2.81466,-1.68825 -4.79321,-4.96501 -5.94752,-9.82659 0,0 3.28603,-0.39417 3.28603,-0.39417 0.4567,1.49615 0.80551,2.48269 1.04611,2.9584 0.47014,0.94553 1.03329,1.61321 1.68981,2.00263 1.31626,0.78076 1.97681,0.25583 1.97841,-1.5764 9e-4,-1.05686 -0.50748,-2.34215 -1.52312,-3.85296 -0.39175,-0.52835 -0.78309,-1.04739 -1.17404,-1.55713 -0.39058,-0.50922 -0.78648,-1.03004 -1.18769,-1.56244 -1.12117,-1.49473 -1.90829,-2.79267 -2.36339,-3.89608 -0.57945,-1.40133 -0.86772,-2.93798 -0.86551,-4.61137 0.003,-2.21318 0.50007,-3.7603 1.49317,-4.64338 1.01827,-0.87212 2.25607,-0.89716 3.71556,-0.0713 2.15876,1.22159 3.7697,3.83387 4.82651,7.84113"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path6642"
-         d="m 382.4733,472.39188 c 0,0 3.57821,4.20615 3.57821,4.20615 0,0 -5.09505,12.25901 -5.09505,12.25901 0,0 -2.69055,-3.32451 -2.69055,-3.32451 0,0 4.20739,-13.14065 4.20739,-13.14065"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path6644"
-         d="m 140.00428,341.66899 c 0,0 1.98726,1.21371 1.98726,1.21371 0,0 -0.49335,31.63684 -0.49335,31.63684 0,0 -1.98954,-1.3266 -1.98954,-1.3266 0,0 0.03,-1.90736 0.03,-1.90736 -0.80225,1.10306 -1.69144,1.32715 -2.66659,0.67603 -1.15652,-0.77223 -2.09838,-2.31317 -2.82752,-4.62013 -0.72071,-2.33341 -1.05811,-4.87017 -1.01379,-7.61462 0.0433,-2.68198 0.45371,-4.68023 1.23263,-5.99786 0.77527,-1.3368 1.73102,-1.64695 2.86928,-0.92583 0.99176,0.62833 1.86836,2.06186 2.62891,4.30398 0,0 0.24272,-15.43816 0.24272,-15.43816 m -4.99633,19.34403 c -0.0277,1.72908 0.16551,3.2789 0.58017,4.65088 0.42669,1.3943 0.97861,2.31597 1.65641,2.76401 0.72594,0.47988 1.32231,0.3336 1.78822,-0.44059 0.46715,-0.81268 0.7144,-2.07294 0.74123,-3.77964 0.0268,-1.70631 -0.17615,-3.25863 -0.60831,-4.65544 -0.43183,-1.36954 -1.00516,-2.28245 -1.71922,-2.73966 -0.67178,-0.4301 -1.24097,-0.2449 -1.70827,0.55397 -0.46108,0.81379 -0.70432,2.02891 -0.73023,3.64647"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path6646"
-         d="m 152.1579,373.24915 c 0,0 -6.32462,-4.12591 -6.32462,-4.12591 0.0306,1.54667 0.24537,2.90308 0.64471,4.07015 0.40014,1.15626 0.92482,1.94948 1.57467,2.37904 0.50644,0.33478 0.92997,0.35873 1.2702,0.0712 0.33453,-0.29185 0.7214,-0.98572 1.16076,-2.08239 0,0 1.70573,3.16264 1.70573,3.16264 -0.28298,0.77848 -0.57896,1.41254 -0.88792,1.90231 -0.30848,0.47658 -0.63623,0.82411 -0.98318,1.04274 -0.34637,0.20569 -0.7179,0.2787 -1.11446,0.21929 -0.39605,-0.0593 -0.82321,-0.24212 -1.28133,-0.54802 -1.31008,-0.87476 -2.34391,-2.45642 -3.10428,-4.74285 -0.75791,-2.2922 -1.11342,-4.89799 -1.06823,-7.82163 0.0448,-2.89745 0.4608,-4.99866 1.24949,-6.3068 0.79619,-1.28235 1.83223,-1.52102 3.11092,-0.71095 1.29646,0.82138 2.31265,2.34183 3.04575,4.5633 0.72927,2.21121 1.07181,4.85293 1.02605,7.9214 0,0 -0.0243,1.00652 -0.0243,1.00652 m -2.05577,-4.87681 c -0.25041,-2.46552 -0.91969,-4.04554 -2.00503,-4.74047 -0.24665,-0.1579 -0.47931,-0.22409 -0.69803,-0.19851 -0.21837,0.0129 -0.41975,0.113 -0.60417,0.30016 -0.17813,0.17832 -0.33319,0.43491 -0.46521,0.76974 -0.13196,0.33473 -0.23486,0.74527 -0.30871,1.23166 0,0 4.08115,2.63742 4.08115,2.63742"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path6648"
-         d="m 155.68268,365.07829 c 0,0 2.19041,12.03556 2.19041,12.03556 0,0 2.50679,-9.05551 2.50679,-9.05551 0,0 2.39127,1.5171 2.39127,1.5171 0,0 -5.05552,17.06458 -5.05552,17.06458 0,0 -4.35815,-23.03691 -4.35815,-23.03691 0,0 2.3252,1.47518 2.3252,1.47518"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path6650"
-         d="m 166.36109,371.85301 c 0,0 -0.26715,19.06666 -0.26715,19.06666 0,0 -2.15509,-1.43699 -2.15509,-1.43699 0,0 0.26879,-18.99589 0.26879,-18.99589 0,0 2.15345,1.36622 2.15345,1.36622 m -2.36584,-9.45257 c 0.0108,-0.76492 0.15673,-1.34165 0.43785,-1.73047 0.28135,-0.3891 0.61313,-0.46607 0.99556,-0.23045 0.38929,0.23991 0.71762,0.72434 0.98483,1.45361 0.26764,0.71701 0.396,1.47309 0.38488,2.26779 -0.0111,0.79482 -0.15836,1.38651 -0.44155,1.77477 -0.27655,0.39197 -0.60963,0.46583 -0.99903,0.22208 -0.38889,-0.24338 -0.71605,-0.72983 -0.98168,-1.45901 -0.26536,-0.72842 -0.39225,-1.49437 -0.38086,-2.29832"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path6652"
-         d="m 176.56016,379.16638 c 0,0 -0.0795,5.95169 -0.0795,5.95169 -0.4932,-1.57594 -0.93788,-2.72422 -1.33432,-3.44626 -0.38914,-0.73003 -0.85002,-1.26532 -1.38234,-1.60616 -0.83275,-0.53317 -1.53077,-0.38873 -2.09505,0.43118 -0.56335,0.81857 -0.85676,2.10833 -0.88093,3.87063 -0.0247,1.80217 0.21857,3.45533 0.73062,4.96131 0.51956,1.51318 1.19536,2.54562 2.02841,3.09628 0.5325,0.35201 1.00647,0.43138 1.42159,0.23746 0.40225,-0.18962 0.88018,-0.75857 1.43407,-1.70778 0,0 -0.0791,5.92076 -0.0791,5.92076 -0.91969,0.33906 -1.83038,0.20652 -2.73204,-0.39554 -1.48155,-0.98925 -2.70176,-2.77454 -3.66356,-5.35266 -0.95823,-2.58212 -1.41626,-5.2986 -1.37666,-8.15555 0.0396,-2.85588 0.57045,-4.94627 1.59495,-6.27502 1.02766,-1.33283 2.27368,-1.53769 3.74101,-0.6081 0.94706,0.60002 1.83813,1.62535 2.67279,3.07776"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path6654"
-         d="m 187.61772,396.3816 c 0,0 -7.11602,-4.64219 -7.11602,-4.64219 0.0394,1.64462 0.28493,3.09461 0.73698,4.35101 0.45296,1.24506 1.04456,2.10953 1.77557,2.59274 0.56977,0.37665 1.04545,0.41952 1.42659,0.12784 0.37474,-0.29649 0.80696,-1.01821 1.29684,-2.16605 0,0 1.92697,3.43249 1.92697,3.43249 -0.31539,0.81607 -0.64586,1.478 -0.99136,1.98594 -0.345,0.49391 -0.71206,0.8498 -1.10107,1.06783 -0.3884,0.20427 -0.80545,0.26645 -1.25104,0.18682 -0.44497,-0.0796 -0.92525,-0.29156 -1.44065,-0.63571 -1.47362,-0.98396 -2.63915,-2.70738 -3.4999,-5.16799 -0.85787,-2.46621 -1.26523,-5.24883 -1.22412,-8.35273 0.0407,-3.07604 0.50052,-5.29153 1.38106,-6.65002 0.88916,-1.331 2.0511,-1.54389 3.48916,-0.63284 1.45844,0.92399 2.60479,2.58022 3.43569,4.97077 0.82671,2.37989 1.2204,5.2023 1.17921,8.46292 0,0 -0.0239,1.06918 -0.0239,1.06918 m -2.32579,-5.26802 c -0.28944,-2.63077 -1.04632,-4.33686 -2.26728,-5.11863 -0.27743,-0.17761 -0.53885,-0.25719 -0.78429,-0.2387 -0.24508,0.005 -0.47079,0.10338 -0.67718,0.29491 -0.19935,0.18239 -0.37254,0.44885 -0.5196,0.79935 -0.147,0.35039 -0.26113,0.78249 -0.3424,1.29632 0,0 4.59075,2.96675 4.59075,2.96675"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path6656"
-         d="m 188.72253,393.84291 c 0,0 4.65008,3.00896 4.65008,3.00896 0,0 -0.0493,4.01621 -0.0493,4.01621 0,0 -4.6509,-3.03976 -4.6509,-3.03976 0,0 0.0501,-3.98541 0.0501,-3.98541"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path6658"
-         d="m 194.98418,390.01241 c 0,0 2.38336,1.51208 2.38336,1.51208 0,0 -0.0223,1.85395 -0.0223,1.85395 0.47236,-0.64064 0.8742,-1.02249 1.2053,-1.14499 0.35295,-0.12281 0.7934,-0.0171 1.32172,0.31756 1.18119,0.74835 2.10689,2.33833 2.77498,4.77229 0.78844,-1.50888 1.83882,-1.84926 3.15393,-1.01611 2.40446,1.52334 3.58213,5.08307 3.51928,10.67354 0,0 -0.14246,12.66683 -0.14246,12.66683 0,0 -2.48907,-1.65968 -2.48907,-1.65968 0,0 0.12932,-11.33864 0.12932,-11.33864 0.0223,-1.95448 -0.0862,-3.41623 -0.32523,-4.38496 -0.246,-0.9865 -0.6604,-1.66604 -1.24258,-2.03881 -0.67547,-0.43246 -1.17407,-0.26194 -1.49669,0.51038 -0.31512,0.77633 -0.48509,2.23983 -0.51011,4.39145 0,0 -0.12195,10.48199 -0.12195,10.48199 0,0 -2.44211,-1.62837 -2.44211,-1.62837 0,0 0.13166,-11.16634 0.13166,-11.16634 0.0424,-3.5942 -0.47379,-5.73473 -1.54571,-6.42107 -0.67701,-0.43345 -1.17721,-0.26165 -1.50149,0.51417 -0.31691,0.77974 -0.48789,2.22076 -0.51317,4.32394 0,0 -0.12475,10.3799 -0.12475,10.3799 0,0 -2.38549,-1.59061 -2.38549,-1.59061 0,0 0.24354,-20.0085 0.24354,-20.0085"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path6660"
-         d="m 220.67229,406.30977 c 0,0 2.59577,1.64683 2.59577,1.64683 0,0 -0.21691,20.94138 -0.21691,20.94138 0,0 -2.59835,-1.73254 -2.59835,-1.73254 0,0 0.023,-2.18666 0.023,-2.18666 -1.07897,1.15205 -2.22441,1.32134 -3.43538,0.51275 -1.52241,-1.01654 -2.76433,-2.88658 -3.72874,-5.60691 -0.95328,-2.74866 -1.41135,-5.69028 -1.37656,-8.83075 0.0342,-3.0829 0.54943,-5.33872 1.54792,-6.77135 1.00129,-1.43658 2.2419,-1.68824 3.72487,-0.74874 1.28522,0.81425 2.43195,2.54372 3.43893,5.19275 0,0 0.0254,-2.41676 0.0254,-2.41676 m -6.1639,6.41799 c -0.0216,1.97958 0.24179,3.77627 0.79099,5.39197 0.56513,1.64292 1.28898,2.75701 2.17252,3.34105 0.94662,0.62576 1.72003,0.51965 2.31889,-0.32072 0.60028,-0.88461 0.91108,-2.30584 0.93166,-4.26226 0.0205,-1.95592 -0.25622,-3.75833 -0.82947,-5.40517 -0.57245,-1.61511 -1.32472,-2.72014 -2.25566,-3.31621 -0.87552,-0.56055 -1.61254,-0.40511 -2.21212,0.4641 -0.59125,0.88677 -0.89661,2.25538 -0.91681,4.10724"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path6662"
-         d="m 228.86507,444.37687 c 0,0 -2.63556,-1.80388 -2.63556,-1.80388 0,0 0.33007,-32.52814 0.33007,-32.52814 0,0 2.63142,1.66946 2.63142,1.66946 0,0 -0.0229,2.29758 -0.0229,2.29758 1.06199,-1.25971 2.25943,-1.46948 3.59403,-0.62398 1.59434,1.01009 2.90256,2.9254 3.92147,5.74946 1.03857,2.82939 1.54379,5.89034 1.51292,9.17657 -0.0302,3.2142 -0.58245,5.54602 -1.65437,6.99134 -1.06073,1.43185 -2.37899,1.61939 -3.95143,0.56944 -1.35204,-0.90278 -2.54722,-2.70142 -3.58698,-5.39167 0,0 -0.13864,13.89382 -0.13864,13.89382 m 6.56523,-17.84101 c 0.0196,-2.04531 -0.2677,-3.90598 -0.8609,-5.57996 -0.59985,-1.69028 -1.36333,-2.83125 -2.28942,-3.42422 -0.97867,-0.62659 -1.7759,-0.51019 -2.39309,0.34676 -0.61616,0.85555 -0.93396,2.29493 -0.95418,4.31963 -0.0198,1.98183 0.26545,3.81475 0.85665,5.5009 0.58481,1.65531 1.36619,2.80715 2.34548,3.45448 0.92667,0.61257 1.69914,0.47721 2.31624,-0.40847 0.63406,-0.87667 0.96074,-2.28021 0.97922,-4.20912"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path6664"
-         d="m 243.63173,454.48373 c 0,0 -2.75506,-1.88567 -2.75506,-1.88567 0,0 0.30651,-33.27553 0.30651,-33.27553 0,0 2.75048,1.74499 2.75048,1.74499 0,0 -0.0212,2.35049 -0.0212,2.35049 1.10789,-1.27393 2.35861,-1.47168 3.754,-0.58767 1.66712,1.0562 3.03647,3.03485 4.10469,5.9396 1.08886,2.91072 1.62057,6.05093 1.59225,9.41402 -0.0277,3.2894 -0.60216,5.66794 -1.72078,7.13133 -1.10687,1.44968 -2.48425,1.62195 -4.12858,0.524 -1.41371,-0.94396 -2.66448,-2.80222 -3.75384,-5.57034 0,0 -0.12843,14.21478 -0.12843,14.21478 m 6.83844,-18.16 c 0.018,-2.09293 -0.28441,-4.00134 -0.9063,-5.72303 -0.62883,-1.73839 -1.42796,-2.91691 -2.39627,-3.53692 -1.02324,-0.65513 -1.85599,-0.54738 -2.49973,0.32068 -0.64265,0.86659 -0.97292,2.3348 -0.99166,4.40616 -0.0183,2.02752 0.2818,3.90713 0.90139,5.64107 0.61288,1.70236 1.43058,2.8925 2.45451,3.56933 0.96896,0.64053 1.77597,0.51339 2.41977,-0.38392 0.66156,-0.88788 1.00127,-2.31952 1.01829,-4.29337"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path6666"
-         d="m 267.86842,448.73368 c 0,0 -9.07705,-5.92148 -9.07705,-5.92148 0.0623,1.86772 0.38465,3.53392 0.96775,4.99999 0.58427,1.4536 1.34189,2.48884 2.2739,3.10492 0.72662,0.48033 1.33136,0.57335 1.81353,0.278 0.47409,-0.30144 1.01811,-1.08009 1.63231,-2.33704 0,0 2.47728,4.07571 2.47728,4.07571 -0.39517,0.89689 -0.81065,1.61729 -1.24637,2.16138 -0.43514,0.52815 -0.89931,0.8975 -1.39237,1.10826 -0.49231,0.19518 -1.02204,0.22639 -1.58901,0.094 -0.56607,-0.1322 -1.1779,-0.41799 -1.83522,-0.85689 -1.87857,-1.25436 -3.37064,-3.31736 -4.48087,-6.18645 -1.10618,-2.87402 -1.64327,-6.06407 -1.61422,-9.57662 0.0288,-3.48083 0.59516,-5.94921 1.70151,-7.40949 1.11787,-1.42883 2.59067,-1.56666 4.42321,-0.4057 1.85965,1.17819 3.32917,3.15974 4.40377,5.94699 1.06959,2.77587 1.5919,6.01542 1.56418,9.71291 0,0 -0.0223,1.21152 -0.0223,1.21152 m -2.99801,-6.19288 c -0.38774,-3.01092 -1.36248,-5.01476 -2.91938,-6.01162 -0.35366,-0.22642 -0.6862,-0.34022 -0.99769,-0.34139 -0.31111,-0.0164 -0.59689,0.0748 -0.85742,0.27326 -0.25166,0.18876 -0.46946,0.47515 -0.65346,0.85915 -0.18394,0.38385 -0.32552,0.86327 -0.42481,1.43829 0,0 5.85276,3.78231 5.85276,3.78231"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path6668"
-         d="m 271.20265,438.36784 c 0,0 3.00317,1.9053 3.00317,1.9053 0,0 -0.0143,2.01845 -0.0143,2.01845 0.56166,-0.65278 1.05916,-1.02883 1.49228,-1.12749 0.4427,-0.10856 0.96556,0.028 1.56898,0.41025 0.80312,0.50884 1.64124,1.4933 2.51467,2.95537 0,0 -1.43281,3.92017 -1.43281,3.92017 -0.57353,-1.08711 -1.135,-1.80624 -1.68452,-2.15838 -1.65244,-1.0588 -2.49103,0.56479 -2.52159,4.86884 0,0 -0.0834,11.73974 -0.0834,11.73974 0,0 -3.00677,-2.00488 -3.00677,-2.00488 0,0 0.1643,-22.52737 0.1643,-22.52737"
+         id="path3688"
+         d="m 359.60073,501.90418 c 0,0 5.20059,1.86777 5.20059,1.86777 0.29001,3.96114 1.10193,7.38322 2.43911,10.27061 1.36176,2.91073 3.2661,5.17238 5.72054,6.78444 2.48967,1.63519 4.34728,1.95881 5.56379,0.96109 1.21993,-1.0365 1.83154,-2.77869 1.83229,-5.22389 6.2e-4,-2.19296 -0.5384,-4.26389 -1.61481,-6.20909 -0.7497,-1.33918 -2.60804,-3.61528 -5.55946,-6.8122 -3.94075,-4.27425 -6.65395,-7.50944 -8.16465,-9.73106 -1.48522,-2.23573 -2.61386,-4.7171 -3.38893,-7.44614 -0.75395,-2.74593 -1.12852,-5.48045 -1.12491,-8.2074 0.003,-2.48146 0.31617,-4.58205 0.93929,-6.30404 0.64345,-1.7475 1.51123,-2.99566 2.60481,-3.74404 0.82208,-0.59757 1.93976,-0.84564 3.35554,-0.74295 1.44048,0.0796 2.98492,0.60687 4.63457,1.58472 2.49729,1.48044 4.69744,3.42626 6.59564,5.83924 1.92772,2.43694 3.35406,5.04673 4.27363,7.82559 0.92183,2.74989 1.55812,6.08842 1.90744,10.01415 0,0 -5.39591,-2.01583 -5.39591,-2.01583 -0.24253,-3.08522 -0.95109,-5.80694 -2.12313,-8.16184 -1.14834,-2.33544 -2.7751,-4.13563 -4.87465,-5.40091 -2.46541,-1.48565 -4.2164,-1.81727 -5.26239,-1.00324 -1.04343,0.8121 -1.56519,2.18465 -1.56724,4.11944 -10e-4,1.23148 0.21335,2.47259 0.64434,3.72428 0.43146,1.28852 1.10985,2.55443 2.03645,3.7988 0.53331,0.68393 2.10812,2.47474 4.73703,5.38635 3.83534,4.20888 6.52812,7.39657 8.05468,9.53851 1.55295,2.12718 2.77297,4.59004 3.65706,7.38727 0.88613,2.80397 1.33003,5.87348 1.33006,9.20426 -3e-5,3.25947 -0.54743,5.98195 -1.64026,8.16269 -1.06972,2.15296 -2.61798,3.35081 -4.63932,3.59644 -2.01164,0.20856 -4.27524,-0.52848 -6.78627,-2.2025 -4.12399,-2.74933 -7.24172,-6.34882 -9.37583,-10.80056 -2.10254,-4.4137 -3.43626,-9.76409 -4.0091,-16.05996"
          inkscape:connector-curvature="0" />
     </g>
-    <path
-       inkscape:connector-curvature="0"
-       id="path5888"
-       d="m 132.72634,378.57586 1.06487,-65.93906 252.2603,142.74417 0,96.58028 z"
-       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
   </g>
   <g
-     style="display:none"
+     style="display:inline"
      inkscape:groupmode="layer"
      id="layer9"
      inkscape:label="GenericRootfs">
@@ -656,7 +553,7 @@
     </g>
   </g>
   <g
-     style="display:inline"
+     style="display:none"
      inkscape:label="Debian"
      id="layer5"
      inkscape:groupmode="layer">
@@ -962,37 +859,6 @@
            id="path6350" />
       </g>
     </g>
-    <g
-       inkscape:groupmode="layer"
-       id="layer13"
-       inkscape:label="referenceparent"
-       style="display:none">
-      <g
-         style="display:inline"
-         id="g8920">
-        <path
-           sodipodi:nodetypes="cc"
-           inkscape:connector-curvature="0"
-           id="path7326"
-           d="m 534.63171,136.882 c 67.93802,-0.71514 15.01787,41.47795 15.01787,41.47795"
-           style="fill:none;stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#Arrow1Send)" />
-        <text
-           sodipodi:linespacing="75%"
-           id="text8726"
-           y="147.31824"
-           x="575.6853"
-           style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:75%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
-           xml:space="preserve"><tspan
-             y="147.31824"
-             x="575.6853"
-             id="tspan8728"
-             sodipodi:role="line">references</tspan><tspan
-             id="tspan8730"
-             y="168.31824"
-             x="575.6853"
-             sodipodi:role="line">parent</tspan></text>
-      </g>
-    </g>
     <text
        xml:space="preserve"
        style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
@@ -1387,7 +1253,7 @@
     </g>
   </g>
   <g
-     style="display:inline"
+     style="display:none"
      inkscape:label="busybox"
      id="layer4"
      inkscape:groupmode="layer">
diff --git a/docs/sources/use/builder.rst b/docs/sources/use/builder.rst
index a054812..7a356f8 100644
--- a/docs/sources/use/builder.rst
+++ b/docs/sources/use/builder.rst
@@ -54,8 +54,14 @@
 first instruction must be `FROM`** in order to specify the
 :ref:`base_image_def` from which you are building.
 
-Docker will ignore **comment lines** *beginning* with ``#``. A comment
-marker anywhere in the rest of the line will be treated as an argument.
+Docker will treat lines that *begin* with ``#`` as a comment. A ``#``
+marker anywhere else in the line will be treated as an argument. This
+allows statements like:
+
+::
+
+    # Comment
+    RUN echo 'we are running some # of cool things'
 
 3. Instructions
 ===============
diff --git a/hack/RELEASE-CHECKLIST.md b/hack/RELEASE-CHECKLIST.md
index 0adbdba..5f873c6 100644
--- a/hack/RELEASE-CHECKLIST.md
+++ b/hack/RELEASE-CHECKLIST.md
@@ -57,7 +57,13 @@
 
 FIXME
 
-### 5. Commit and create a pull request to the "release" branch
+### 5. Test the docs
+
+Make sure that your tree includes documentation for any modified or
+new features, syntax or semantic changes. Instructions for building
+the docs are in ``docs/README.md``
+
+### 6. Commit and create a pull request to the "release" branch
 
 ```bash
 git add CHANGELOG.md
@@ -65,9 +71,9 @@
 git push origin bump_$VERSION
 ```
 
-### 6. Get 2 other maintainers to validate the pull request
+### 7. Get 2 other maintainers to validate the pull request
 
-### 7. Merge the pull request and apply tags
+### 8. Merge the pull request and apply tags
 
 ```bash
 git checkout release
@@ -78,7 +84,13 @@
 git push --tags
 ```
 
-### 8. Publish binaries
+Merging the pull request to the release branch will automatically
+update the documentation on the "latest" revision of the docs. You
+should see the updated docs 5-10 minutes after the merge. The docs
+will appear on http://docs.docker.io/. For more information about
+documentation releases, see ``docs/README.md``
+
+### 9. Publish binaries
 
 To run this you will need access to the release credentials.
 Get them from [the infrastructure maintainers](
@@ -100,6 +112,6 @@
 switch to get.docker.io).
 
 
-### 9. Rejoice!
+### 10. Rejoice!
 
 Congratulations! You're done.
diff --git a/hack/infrastructure/docker-ci/report/Dockerfile b/hack/infrastructure/docker-ci/report/Dockerfile
new file mode 100644
index 0000000..32600c4
--- /dev/null
+++ b/hack/infrastructure/docker-ci/report/Dockerfile
@@ -0,0 +1,28 @@
+# VERSION:        0.22
+# DOCKER-VERSION  0.6.3
+# AUTHOR:         Daniel Mizyrycki <daniel@dotcloud.com>
+# DESCRIPTION:    Generate docker-ci daily report
+# COMMENTS:       The build process is initiated by deployment.py
+                  Report configuration is passed through ./credentials.json at
+#                 deployment time.
+# TO_BUILD:       docker build -t report .
+# TO_DEPLOY:      docker run report
+
+from ubuntu:12.04
+maintainer Daniel Mizyrycki <daniel@dotcloud.com>
+
+env PYTHONPATH /report
+
+
+# Add report dependencies
+run echo 'deb http://archive.ubuntu.com/ubuntu precise main universe' > \
+    /etc/apt/sources.list
+run apt-get update; apt-get install -y python2.7 python-pip ssh rsync
+
+# Set San Francisco timezone
+run echo "America/Los_Angeles" >/etc/timezone
+run dpkg-reconfigure --frontend noninteractive tzdata
+
+# Add report code and set default container command
+add . /report
+cmd "/report/report.py"
diff --git a/hack/infrastructure/docker-ci/report/deployment.py b/hack/infrastructure/docker-ci/report/deployment.py
new file mode 100755
index 0000000..d5efb4a
--- /dev/null
+++ b/hack/infrastructure/docker-ci/report/deployment.py
@@ -0,0 +1,130 @@
+#!/usr/bin/env python
+
+'''Deploy docker-ci report container on Digital Ocean.
+Usage:
+    export CONFIG_JSON='
+        { "DROPLET_NAME":        "Digital_Ocean_dropplet_name",
+          "DO_CLIENT_ID":        "Digital_Ocean_client_id",
+          "DO_API_KEY":          "Digital_Ocean_api_key",
+          "DOCKER_KEY_ID":       "Digital_Ocean_ssh_key_id",
+          "DOCKER_CI_KEY_PATH":  "docker-ci_private_key_path",
+          "DOCKER_CI_PUB":       "$(cat docker-ci_ssh_public_key.pub)",
+          "DOCKER_CI_ADDRESS"    "user@docker-ci_fqdn_server",
+          "SMTP_USER":           "SMTP_server_user",
+          "SMTP_PWD":            "SMTP_server_password",
+          "EMAIL_SENDER":        "Buildbot_mailing_sender",
+          "EMAIL_RCP":           "Buildbot_mailing_receipient" }'
+    python deployment.py
+'''
+
+import re, json, requests, base64
+from fabric import api
+from fabric.api import cd, run, put, sudo
+from os import environ as env
+from time import sleep
+from datetime import datetime
+
+# Populate environment variables
+CONFIG = json.loads(env['CONFIG_JSON'])
+for key in CONFIG:
+    env[key] = CONFIG[key]
+
+# Load DOCKER_CI_KEY
+env['DOCKER_CI_KEY'] = open(env['DOCKER_CI_KEY_PATH']).read()
+
+DROPLET_NAME = env.get('DROPLET_NAME','report')
+TIMEOUT = 120            # Seconds before timeout droplet creation
+IMAGE_ID = 894856        # Docker on Ubuntu 13.04
+REGION_ID = 4            # New York 2
+SIZE_ID = 66             # memory 512MB
+DO_IMAGE_USER = 'root'   # Image user on Digital Ocean
+API_URL = 'https://api.digitalocean.com/'
+
+
+class digital_ocean():
+
+    def __init__(self, key, client):
+        '''Set default API parameters'''
+        self.key = key
+        self.client = client
+        self.api_url = API_URL
+
+    def api(self, cmd_path, api_arg={}):
+        '''Make api call'''
+        api_arg.update({'api_key':self.key, 'client_id':self.client})
+        resp = requests.get(self.api_url + cmd_path, params=api_arg).text
+        resp = json.loads(resp)
+        if resp['status'] != 'OK':
+            raise Exception(resp['error_message'])
+        return resp
+
+    def droplet_data(self, name):
+        '''Get droplet data'''
+        data = self.api('droplets')
+        data = [droplet for droplet in data['droplets']
+            if droplet['name'] == name]
+        return data[0] if data else {}
+
+def json_fmt(data):
+    '''Format json output'''
+    return json.dumps(data, sort_keys = True, indent = 2)
+
+
+do = digital_ocean(env['DO_API_KEY'], env['DO_CLIENT_ID'])
+
+# Get DROPLET_NAME data
+data = do.droplet_data(DROPLET_NAME)
+
+# Stop processing if DROPLET_NAME exists on Digital Ocean
+if data:
+    print ('Droplet: {} already deployed. Not further processing.'
+        .format(DROPLET_NAME))
+    exit(1)
+
+# Create droplet
+do.api('droplets/new', {'name':DROPLET_NAME, 'region_id':REGION_ID,
+    'image_id':IMAGE_ID, 'size_id':SIZE_ID,
+    'ssh_key_ids':[env['DOCKER_KEY_ID']]})
+
+# Wait for droplet to be created.
+start_time = datetime.now()
+while (data.get('status','') != 'active' and (
+ datetime.now()-start_time).seconds < TIMEOUT):
+    data = do.droplet_data(DROPLET_NAME)
+    print data['status']
+    sleep(3)
+
+# Wait for the machine to boot
+sleep(15)
+
+# Get droplet IP
+ip = str(data['ip_address'])
+print 'droplet: {}    ip: {}'.format(DROPLET_NAME, ip)
+
+api.env.host_string = ip
+api.env.user = DO_IMAGE_USER
+api.env.key_filename = env['DOCKER_CI_KEY_PATH']
+
+# Correct timezone
+sudo('echo "America/Los_Angeles" >/etc/timezone')
+sudo('dpkg-reconfigure --frontend noninteractive tzdata')
+
+# Load JSON_CONFIG environment for Dockerfile
+CONFIG_JSON= base64.b64encode(
+    '{{"DOCKER_CI_PUB":     "{DOCKER_CI_PUB}",'
+    '  "DOCKER_CI_KEY":     "{DOCKER_CI_KEY}",'
+    '  "DOCKER_CI_ADDRESS": "{DOCKER_CI_ADDRESS}",'
+    '  "SMTP_USER":         "{SMTP_USER}",'
+    '  "SMTP_PWD":          "{SMTP_PWD}",'
+    '  "EMAIL_SENDER":      "{EMAIL_SENDER}",'
+    '  "EMAIL_RCP":         "{EMAIL_RCP}"}}'.format(**env))
+
+run('mkdir -p /data/report')
+put('./', '/data/report')
+with cd('/data/report'):
+    run('chmod 700 report.py')
+    run('echo "{}" > credentials.json'.format(CONFIG_JSON))
+    run('docker build -t report .')
+    run('rm credentials.json')
+    run("echo -e '30 09 * * * /usr/bin/docker run report\n' |"
+        " /usr/bin/crontab -")
diff --git a/hack/infrastructure/docker-ci/report/report.py b/hack/infrastructure/docker-ci/report/report.py
new file mode 100755
index 0000000..7018cab
--- /dev/null
+++ b/hack/infrastructure/docker-ci/report/report.py
@@ -0,0 +1,145 @@
+#!/usr/bin/python
+
+'''CONFIG_JSON is a json encoded string base64 environment variable. It is used
+to clone docker-ci database, generate docker-ci report and submit it by email.
+CONFIG_JSON data comes from the file /report/credentials.json inserted in this
+container by deployment.py:
+
+{ "DOCKER_CI_PUB":       "$(cat docker-ci_ssh_public_key.pub)",
+  "DOCKER_CI_KEY":       "$(cat docker-ci_ssh_private_key.key)",
+  "DOCKER_CI_ADDRESS":   "user@docker-ci_fqdn_server",
+  "SMTP_USER":           "SMTP_server_user",
+  "SMTP_PWD":            "SMTP_server_password",
+  "EMAIL_SENDER":        "Buildbot_mailing_sender",
+  "EMAIL_RCP":           "Buildbot_mailing_receipient" }  '''
+
+import os, re, json, sqlite3, datetime, base64
+import smtplib
+from datetime import timedelta
+from subprocess import call
+from os import environ as env
+
+TODAY = datetime.date.today()
+
+# Load credentials to the environment
+env['CONFIG_JSON'] = base64.b64decode(open('/report/credentials.json').read())
+
+# Remove SSH private key as it needs more processing
+CONFIG = json.loads(re.sub(r'("DOCKER_CI_KEY".+?"(.+?)",)','',
+    env['CONFIG_JSON'], flags=re.DOTALL))
+
+# Populate environment variables
+for key in CONFIG:
+    env[key] = CONFIG[key]
+
+# Load SSH private key
+env['DOCKER_CI_KEY'] = re.sub('^.+"DOCKER_CI_KEY".+?"(.+?)".+','\\1',
+    env['CONFIG_JSON'],flags=re.DOTALL)
+
+# Prevent rsync to validate host on first connection to docker-ci
+os.makedirs('/root/.ssh')
+open('/root/.ssh/id_rsa','w').write(env['DOCKER_CI_KEY'])
+os.chmod('/root/.ssh/id_rsa',0600)
+open('/root/.ssh/config','w').write('StrictHostKeyChecking no\n')
+
+
+# Sync buildbot database from docker-ci
+call('rsync {}:/data/buildbot/master/state.sqlite .'.format(
+    env['DOCKER_CI_ADDRESS']), shell=True)
+
+class SQL:
+    def __init__(self, database_name):
+        sql = sqlite3.connect(database_name)
+        # Use column names as keys for fetchall rows
+        sql.row_factory = sqlite3.Row
+        sql = sql.cursor()
+        self.sql = sql
+
+    def query(self,query_statement):
+        return self.sql.execute(query_statement).fetchall()
+
+sql = SQL("state.sqlite")
+
+
+class Report():
+
+    def __init__(self,period='',date=''):
+        self.data = []
+        self.period = 'date' if not period else period
+        self.date = str(TODAY) if not date else date
+        self.compute()
+
+    def compute(self):
+        '''Compute report'''
+        if self.period == 'week':
+            self.week_report(self.date)
+        else:
+            self.date_report(self.date)
+
+
+    def date_report(self,date):
+        '''Create a date test report'''
+        builds = []
+        # Get a queryset with all builds from date
+        rows = sql.query('SELECT * FROM builds JOIN buildrequests'
+            ' WHERE builds.brid=buildrequests.id and'
+            ' date(start_time, "unixepoch", "localtime") = "{0}"'
+            ' GROUP BY number'.format(date))
+        build_names = sorted(set([row['buildername'] for row in rows]))
+        # Create a report build line for a given build
+        for build_name in build_names:
+            tried = len([row['buildername']
+                for row in rows if row['buildername'] == build_name])
+            fail_tests = [row['buildername'] for row in rows if (
+                row['buildername'] == build_name and row['results'] != 0)]
+            fail = len(fail_tests)
+            fail_details = ''
+            fail_pct = int(100.0*fail/tried) if  tried != 0 else 100
+            builds.append({'name': build_name, 'tried': tried, 'fail': fail,
+                'fail_pct': fail_pct, 'fail_details':fail_details})
+        if builds:
+            self.data.append({'date': date, 'builds': builds})
+
+
+    def week_report(self,date):
+        '''Add the week's date test reports to report.data'''
+        date = datetime.datetime.strptime(date,'%Y-%m-%d').date()
+        last_monday = date - datetime.timedelta(days=date.weekday())
+        week_dates = [last_monday + timedelta(days=x) for x in range(7,-1,-1)]
+        for date in week_dates:
+            self.date_report(str(date))
+
+    def render_text(self):
+        '''Return rendered report in text format'''
+        retval = ''
+        fail_tests = {}
+        for builds in self.data:
+            retval += 'Test date: {0}\n'.format(builds['date'],retval)
+            table = ''
+            for build in builds['builds']:
+                table += ('Build {name:15}   Tried: {tried:4}   '
+                    ' Failures: {fail:4} ({fail_pct}%)\n'.format(**build))
+                if build['name'] in fail_tests:
+                    fail_tests[build['name']] += build['fail_details']
+                else:
+                    fail_tests[build['name']] = build['fail_details']
+            retval += '{0}\n'.format(table)
+            retval += '\n    Builds failing'
+            for fail_name in fail_tests:
+                retval += '\n' + fail_name + '\n'
+                for (fail_id,fail_url,rn_tests,nr_errors,log_errors,
+                 tracelog_errors) in fail_tests[fail_name]:
+                    retval += fail_url + '\n'
+            retval += '\n\n'
+        return retval
+
+
+# Send email
+smtp_from = env['EMAIL_SENDER']
+subject = '[docker-ci] Daily report for {}'.format(str(TODAY))
+msg = "From: {}\r\nTo: {}\r\nSubject: {}\r\n\r\n".format(
+    smtp_from, env['EMAIL_RCP'], subject)
+msg = msg + Report('week').render_text()
+server = smtplib.SMTP_SSL('smtp.mailgun.org')
+server.login(env['SMTP_USER'], env['SMTP_PWD'])
+server.sendmail(smtp_from, env['EMAIL_RCP'], msg)
diff --git a/hack/infrastructure/overview.md b/hack/infrastructure/overview.md
new file mode 100644
index 0000000..592c9b0
--- /dev/null
+++ b/hack/infrastructure/overview.md
@@ -0,0 +1,103 @@
+# Docker Server Overview
+This is an overview of the Docker infrastructure
+
+## Docker Git Repo
+The Docker source code lives on github.com under the dotCloud account.
+https://github.com/dotcloud/docker
+
+## DNS
+We are using dyn.com for our DNS server for the docker.io domain. 
+It is using the dotCloud account.
+
+### DNS Redirect
+We have a DNS redirect in dyn.com that will automatically redirect 
+docker.io to www.docker.io
+
+## email
+Email is sent via  dotCloud account on MailGun.com
+
+## CDN
+We are using a CDN in front of some of the docker.io domains to help improve
+proformance. The CDN is Cloudflare, using a Pro account. 
+
+*This is currently disabled due to an issue with slow performance during pull
+in some regions of the world.*
+
+### CDN Domains
+- www.docker.io
+- test.docker.io
+- registry-1.docker.io
+- debug.docker.io
+- cdn-registry-1.docker.io
+
+## edge-docker.dotcloud.com
+All of the Docker applications that live on dotCloud go through their own
+load balancer, and this is where SSL is terminated as well.
+
+## www.docker.io
+This is hosted under the docker account on dotCloud's PaaS. 
+
+### Source Code
+The source code for the website lives here:
+https://github.com/dotcloud/www.docker.io
+
+## Docker Registry
+The registry is where the image data is store.
+
+### URL:
+- registry-1.docker.io
+- cdn-registry-1.docker.io
+
+There are two urls, one is behind a CDN the other isn't this is because when
+you pull, you pull from the CDN url, to help with pull speeds. We don't push
+through the CDN as well, because it doesn't help us, so we bypass it.
+
+### Data Store:
+The data store for the registry is using Amazon S3 in a bucket under the docker
+aws account.
+
+### Source Code
+The source code for the registry lives here: https://github.com/dotcloud/docker-registry
+
+### Hosted:
+Hosted on the Docker account on dotCloud's PaaS
+
+## index.docker.io
+This is the docker index, it stores all of the meta information about the 
+docker images, but all data is stored in the registry.
+
+### Source Code:
+Not available
+
+### Hosted:
+Hosted on the Docker account on dotCloud's PaaS
+
+## blog.docker.io
+This is a wordpress based Docker blog.
+
+### URL:
+http://blog.docker.io
+
+### Source Code:
+https://github.com/dotcloud/blog.docker.io
+
+## docs.docker.io
+This is where all of the documentation for docker lives.
+
+### Hosted:
+This website is hosted on ReadTheDocs.org.
+
+### Updates
+These docs get automatically updated when the Docker repo on github has
+new commits. It does this via a webhook.
+
+### Proxy:
+This is a simple dotcloud app, with its main and only purpose to forward
+http (and https) requests to docker.readthedocs.org.
+
+https://github.com/dotcloud/docker-docs-dotcloud-proxy
+
+## get.docker.io
+This is the docker repository where we store images
+
+TODO: need more here. jerome?
diff --git a/network_proxy.go b/network_proxy.go
index 1bb8495..8654580 100644
--- a/network_proxy.go
+++ b/network_proxy.go
@@ -103,7 +103,11 @@
 	for {
 		client, err := proxy.listener.Accept()
 		if err != nil {
-			utils.Errorf("Stopping proxy on tcp/%v for tcp/%v (%v)", proxy.frontendAddr, proxy.backendAddr, err.Error())
+			if utils.IsClosedError(err) {
+				utils.Debugf("Stopping proxy on tcp/%v for tcp/%v (socket was closed)", proxy.frontendAddr, proxy.backendAddr)
+			} else {
+				utils.Errorf("Stopping proxy on tcp/%v for tcp/%v (%v)", proxy.frontendAddr, proxy.backendAddr, err.Error())
+			}
 			return
 		}
 		go proxy.clientLoop(client.(*net.TCPConn), quit)
@@ -205,7 +209,11 @@
 			// NOTE: Apparently ReadFrom doesn't return
 			// ECONNREFUSED like Read do (see comment in
 			// UDPProxy.replyLoop)
-			utils.Errorf("Stopping proxy on udp/%v for udp/%v (%v)", proxy.frontendAddr, proxy.backendAddr, err.Error())
+			if utils.IsClosedError(err) {
+				utils.Debugf("Stopping proxy on udp/%v for udp/%v (socket was closed)", proxy.frontendAddr, proxy.backendAddr)
+			} else {
+				utils.Errorf("Stopping proxy on udp/%v for udp/%v (%v)", proxy.frontendAddr, proxy.backendAddr, err.Error())
+			}
 			break
 		}
 
diff --git a/runtime_test.go b/runtime_test.go
index 93fabb2..1abbcc5 100644
--- a/runtime_test.go
+++ b/runtime_test.go
@@ -94,6 +94,13 @@
 		globalRuntime = runtime
 	}
 
+	// Cleanup any leftover container
+	for _, container := range globalRuntime.List() {
+		if err := globalRuntime.Destroy(container); err != nil {
+			log.Fatalf("Error destroying leftover container: %s", err)
+		}
+	}
+
 	// Create the "Server"
 	srv := &Server{
 		runtime:     globalRuntime,
diff --git a/term/term.go b/term/term.go
index 5929c2c..8c53a20 100644
--- a/term/term.go
+++ b/term/term.go
@@ -21,11 +21,19 @@
 func GetWinsize(fd uintptr) (*Winsize, error) {
 	ws := &Winsize{}
 	_, _, err := syscall.Syscall(syscall.SYS_IOCTL, fd, uintptr(syscall.TIOCGWINSZ), uintptr(unsafe.Pointer(ws)))
+	// Skipp errno = 0
+	if err == 0 {
+		return ws, nil
+	}
 	return ws, err
 }
 
 func SetWinsize(fd uintptr, ws *Winsize) error {
 	_, _, err := syscall.Syscall(syscall.SYS_IOCTL, fd, uintptr(syscall.TIOCSWINSZ), uintptr(unsafe.Pointer(ws)))
+	// Skipp errno = 0
+	if err == 0 {
+		return nil
+	}
 	return err
 }
 
diff --git a/utils/stdcopy.go b/utils/stdcopy.go
index 42dad73..3cb8ab0 100644
--- a/utils/stdcopy.go
+++ b/utils/stdcopy.go
@@ -37,8 +37,12 @@
 	return n - StdWriterPrefixLen, err
 }
 
-// NewStdWriter instanciate a new Writer based on the given type `t`.
-// the utils package contains the valid parametres for `t`:
+// NewStdWriter instanciates a new Writer.
+// Everything written to it will be encapsulated using a custom format,
+// and written to the underlying `w` stream.
+// This allows multiple write streams (e.g. stdout and stderr) to be muxed into a single connection.
+// `t` indicates the id of the stream to encapsulate.
+// It can be utils.Stdin, utils.Stdout, utils.Stderr.
 func NewStdWriter(w io.Writer, t StdType) *StdWriter {
 	if len(t) != StdWriterPrefixLen {
 		return nil
@@ -55,16 +59,14 @@
 
 // StdCopy is a modified version of io.Copy.
 //
-// StdCopy copies from src to dstout or dsterr until either EOF is reached
-// on src or an error occurs.  It returns the number of bytes
-// copied and the first error encountered while copying, if any.
+// StdCopy will demultiplex `src`, assuming that it contains two streams,
+// previously multiplexed together using a StdWriter instance.
+// As it reads from `src`, StdCopy will write to `dstout` and `dsterr`.
 //
-// A successful Copy returns err == nil, not err == EOF.
-// Because Copy is defined to read from src until EOF, it does
-// not treat an EOF from Read as an error to be reported.
+// StdCopy will read until it hits EOF on `src`. It will then return a nil error.
+// In other words: if `err` is non nil, it indicates a real underlying error.
 //
-// The source needs to be writter via StdWriter, dstout or dsterr is selected
-// based on the prefix added by StdWriter
+// `written` will hold the total number of bytes written to `dstout` and `dsterr`.
 func StdCopy(dstout, dsterr io.Writer, src io.Reader) (written int64, err error) {
 	var (
 		buf       = make([]byte, 32*1024+StdWriterPrefixLen+1)
diff --git a/utils/utils.go b/utils/utils.go
index c78e61d..b0327dd 100644
--- a/utils/utils.go
+++ b/utils/utils.go
@@ -1028,3 +1028,13 @@
 func (e *StatusError) Error() string {
 	return fmt.Sprintf("Status: %d", e.Status)
 }
+
+func IsClosedError(err error) bool {
+	/* This comparison is ugly, but unfortunately, net.go doesn't export errClosing.
+	 * See:
+	 * http://golang.org/src/pkg/net/net.go
+	 * https://code.google.com/p/go/issues/detail?id=4337
+	 * https://groups.google.com/forum/#!msg/golang-nuts/0_aaCvBmOcM/SptmDyX1XJMJ
+	 */
+	return strings.HasSuffix(err.Error(), "use of closed network connection")
+}
